JP4738536B1 - 不揮発性メモリのコントローラ及び不揮発性メモリの制御方法 - Google Patents
不揮発性メモリのコントローラ及び不揮発性メモリの制御方法 Download PDFInfo
- Publication number
- JP4738536B1 JP4738536B1 JP2010019223A JP2010019223A JP4738536B1 JP 4738536 B1 JP4738536 B1 JP 4738536B1 JP 2010019223 A JP2010019223 A JP 2010019223A JP 2010019223 A JP2010019223 A JP 2010019223A JP 4738536 B1 JP4738536 B1 JP 4738536B1
- Authority
- JP
- Japan
- Prior art keywords
- data
- page
- management table
- written
- valid
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims abstract description 116
- 238000000034 method Methods 0.000 title claims description 22
- 238000005056 compaction Methods 0.000 claims abstract description 57
- 238000010586 diagram Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
【解決手段】不揮発性メモリのコントローラ(1)であって、不揮発性メモリへのデータ書き込み時にデータ書き込みに伴い無効にすべきページが属するブロックの有効ページ数をカウントする手段(5)と、前記カウント手段によりカウントされた有効ページ数が所定数以下の場合、前記ブロックをコンパクション処理の対象とする追加手段(61)とを具備するコントローラ。
【選択図】図1
Description
Claims (10)
- 不揮発性メモリのコントローラであって、
不揮発性メモリへのデータ書き込み時にデータ書き込みに伴い無効にすべきページが属するブロックの有効ページ数をカウントするカウント手段と、
前記カウント手段によりカウントされた有効ページ数が所定数以下の場合、前記ブロックをコンパクション処理の対象とする追加手段と、
を具備するコントローラ。 - ページ毎に不揮発性メモリのデータの有効、無効を管理する有効ページ管理テーブルをさらに具備し、
前記カウント手段はデータ書き込み時に、ライト対象の論理ブロックアドレスに対応して今回書き込みが行われたページを有効とし、該ライト対象の論理ブロックアドレスに対応して以前に書き込みが行われたページを無効とし、前記有効ページ管理テーブルを更新する請求項1記載のコントローラ。 - 前記追加手段は、前記所定数を記憶するレジスタを具備する請求項1記載のコントローラ。
- 前記追加手段によりコンパクション処理の対象とされるブロックを記憶するコンパクション候補管理テーブルをさらに具備し、前記コンパクション候補管理テーブルはハードウェアおよびファームウェアの双方からアクセス可能である請求項1記載のコントローラ。
- 不揮発性メモリのコントローラであって、
一定バイトからなるページ毎に不揮発性メモリのデータの有効、無効を管理する有効ページ管理テーブルと、
所定ページからなるブロック毎にコンパクション処理の候補を管理するコンパクション候補管理テーブルと、
ライト対象の論理ブロックアドレスを物理ブロックアドレスに変換して不揮発性メモリへデータを書き込む手段と、
前記不揮発性メモリへのデータ書き込みが終了すると、前記有効ページ管理テーブルを更新する更新手段と、
前記更新された有効ページ管理テーブルに基づいて、前記ライト対象の論理ブロックアドレスに対応し以前にデータが書き込まれた旧物理ブロックの有効ページ数をカウントする手段と、
カウントした前記有効ページ数が所定数以下の場合、前記旧物理ブロックのアドレスをコンパクション候補管理テーブルに追加する手段と、
を具備するコントローラ。 - 前記更新手段は前記ライト対象の論理ブロックアドレスから変換され今回書き込みが行われた物理ブロックを有効とし、前記ライト対象の論理ブロックアドレスから変換され以前に書き込みが行われた物理ブロックを無効とする請求項5に記載のコントローラ。
- カウントした前記有効ページ数と比較する前記所定数を記憶するレジスタをさらに具備する請求項5記載のコントローラ。
- 前記コンパクション候補管理テーブルはハードウェアおよびファームウェアの双方からアクセス可能である請求項5記載のコントローラ。
- 不揮発性メモリの制御方法であって、
ライト対象の論理ブロックアドレスを物理ブロックアドレスに変換して不揮発性メモリへデータを書き込むことと、
前記不揮発性メモリへのデータ書き込みが終了すると、一定バイトからなるページ毎に不揮発性メモリのデータの有効、無効を管理する有効ページ管理テーブルを更新することと、
前記更新された有効ページ管理テーブルに基づいて、前記ライト対象の論理ブロックアドレスに対応し以前にデータが書き込まれた旧物理ブロックの有効ページ数をカウントすることと、
カウントした前記有効ページ数が所定数以下の場合、前記旧物理ブロックのアドレスを、所定ページからなるブロック毎にコンパクション処理の候補を管理するコンパクション候補管理テーブルに追加することと、
を具備する制御方法。 - 前記更新することは前記ライト対象の論理ブロックアドレスから変換され今回書き込みが行われた物理ブロックを有効とし、前記ライト対象の論理ブロックアドレスから変換され以前に書き込みが行われた物理ブロックを無効とする請求項9に記載の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010019223A JP4738536B1 (ja) | 2010-01-29 | 2010-01-29 | 不揮発性メモリのコントローラ及び不揮発性メモリの制御方法 |
US13/011,761 US8171254B2 (en) | 2010-01-29 | 2011-01-21 | Memory controller and memory control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010019223A JP4738536B1 (ja) | 2010-01-29 | 2010-01-29 | 不揮発性メモリのコントローラ及び不揮発性メモリの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP4738536B1 true JP4738536B1 (ja) | 2011-08-03 |
JP2011159044A JP2011159044A (ja) | 2011-08-18 |
Family
ID=44342653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010019223A Expired - Fee Related JP4738536B1 (ja) | 2010-01-29 | 2010-01-29 | 不揮発性メモリのコントローラ及び不揮発性メモリの制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8171254B2 (ja) |
JP (1) | JP4738536B1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10296455B2 (en) | 2017-03-23 | 2019-05-21 | Toshiba Memory Corporation | Memory system and control method of nonvolatile memory |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4802284B2 (ja) * | 2010-01-29 | 2011-10-26 | 株式会社東芝 | 半導体記憶装置及びその制御方法 |
US8407449B1 (en) | 2010-02-26 | 2013-03-26 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table |
US8725931B1 (en) | 2010-03-26 | 2014-05-13 | Western Digital Technologies, Inc. | System and method for managing the execution of memory commands in a solid-state memory |
US8782327B1 (en) | 2010-05-11 | 2014-07-15 | Western Digital Technologies, Inc. | System and method for managing execution of internal commands and host commands in a solid-state memory |
US9026716B2 (en) * | 2010-05-12 | 2015-05-05 | Western Digital Technologies, Inc. | System and method for managing garbage collection in solid-state memory |
US9021192B1 (en) | 2010-09-21 | 2015-04-28 | Western Digital Technologies, Inc. | System and method for enhancing processing of memory access requests |
US9164886B1 (en) | 2010-09-21 | 2015-10-20 | Western Digital Technologies, Inc. | System and method for multistage processing in a memory storage subsystem |
US20140013031A1 (en) * | 2012-07-09 | 2014-01-09 | Yoko Masuo | Data storage apparatus, memory control method, and electronic apparatus having a data storage apparatus |
US20140032820A1 (en) * | 2012-07-25 | 2014-01-30 | Akinori Harasawa | Data storage apparatus, memory control method and electronic device with data storage apparatus |
US8898548B1 (en) | 2012-08-24 | 2014-11-25 | Western Digital Technologies, Inc. | Methods, data storage devices and systems having variable size ECC page size |
US9268682B2 (en) | 2012-10-05 | 2016-02-23 | Skyera, Llc | Methods, devices and systems for physical-to-logical mapping in solid state drives |
US9507523B1 (en) | 2012-10-12 | 2016-11-29 | Western Digital Technologies, Inc. | Methods, devices and systems for variable size logical page management in a solid state drive |
US9489296B1 (en) | 2012-10-17 | 2016-11-08 | Western Digital Technologies, Inc. | Methods, devices and systems for hardware-based garbage collection in solid state drives |
JP6008325B2 (ja) * | 2013-05-17 | 2016-10-19 | 学校法人 中央大学 | データ記憶システムおよびその制御方法 |
JP2015001909A (ja) * | 2013-06-17 | 2015-01-05 | 富士通株式会社 | 情報処理装置、制御回路、制御プログラム、および制御方法 |
US9304906B2 (en) | 2013-09-10 | 2016-04-05 | Kabushiki Kaisha Toshiba | Memory system, controller and control method of memory |
US9354955B1 (en) | 2014-03-19 | 2016-05-31 | Western Digital Technologies, Inc. | Partial garbage collection for fast error handling and optimized garbage collection for the invisible band |
US9798657B2 (en) | 2014-10-15 | 2017-10-24 | Samsung Electronics Co., Ltd. | Data storage device including nonvolatile memory device and operating method thereof |
KR102391678B1 (ko) | 2015-01-22 | 2022-04-29 | 삼성전자주식회사 | 저장 장치 및 그것의 서스테인드 상태 가속 방법 |
KR102671760B1 (ko) * | 2016-12-27 | 2024-06-05 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작 방법 |
US10409692B1 (en) * | 2017-07-14 | 2019-09-10 | EMC IP Holding Company LLC | Garbage collection: timestamp entries and remove reference counts |
US11237744B2 (en) * | 2018-12-28 | 2022-02-01 | Verizon Media Inc. | Method and system for configuring a write amplification factor of a storage engine based on a compaction value associated with a data file |
KR20220048864A (ko) * | 2020-10-13 | 2022-04-20 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06175917A (ja) | 1992-12-02 | 1994-06-24 | Hitachi Ltd | フラッシュメモリ |
JPH0736759A (ja) | 1993-07-15 | 1995-02-07 | Hitachi Ltd | 半導体ファイルシステム |
JP2003058417A (ja) * | 2001-08-21 | 2003-02-28 | Matsushita Electric Ind Co Ltd | 記憶装置 |
JP4017178B2 (ja) | 2003-02-28 | 2007-12-05 | スパンション エルエルシー | フラッシュメモリ及びメモリ制御方法 |
JPWO2005029311A1 (ja) * | 2003-09-18 | 2006-11-30 | 松下電器産業株式会社 | 半導体メモリカード、半導体メモリ制御装置及び半導体メモリ制御方法 |
US7173852B2 (en) * | 2003-10-03 | 2007-02-06 | Sandisk Corporation | Corrected data storage and handling methods |
WO2007019217A1 (en) | 2005-08-03 | 2007-02-15 | Sandisk Corporation | Nonvolatile memory with block management |
US7552271B2 (en) | 2005-08-03 | 2009-06-23 | Sandisk Corporation | Nonvolatile memory with block management |
JP4547028B2 (ja) * | 2005-08-03 | 2010-09-22 | サンディスク コーポレイション | ブロック管理を伴う不揮発性メモリ |
JP2008146253A (ja) * | 2006-12-07 | 2008-06-26 | Sony Corp | 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法 |
JP5224706B2 (ja) | 2007-03-23 | 2013-07-03 | キヤノン株式会社 | 記憶装置及び記憶装置の制御方法 |
EP2225643B1 (en) * | 2007-12-28 | 2020-05-06 | Toshiba Memory Corporation | Semiconductor storage device |
-
2010
- 2010-01-29 JP JP2010019223A patent/JP4738536B1/ja not_active Expired - Fee Related
-
2011
- 2011-01-21 US US13/011,761 patent/US8171254B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10296455B2 (en) | 2017-03-23 | 2019-05-21 | Toshiba Memory Corporation | Memory system and control method of nonvolatile memory |
Also Published As
Publication number | Publication date |
---|---|
US20110191566A1 (en) | 2011-08-04 |
JP2011159044A (ja) | 2011-08-18 |
US8171254B2 (en) | 2012-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4738536B1 (ja) | 不揮発性メモリのコントローラ及び不揮発性メモリの制御方法 | |
US20230152969A1 (en) | Memory system and method of controlling memory system | |
US10949092B2 (en) | Memory system with block rearrangement to secure a free block based on read valid first and second data | |
US9026734B2 (en) | Memory system and data deleting method | |
US9213635B2 (en) | Memory system | |
US8176237B2 (en) | Solid state drive with input buffer | |
JP4643667B2 (ja) | メモリシステム | |
KR101067457B1 (ko) | 메모리 시스템 | |
US20120030413A1 (en) | Memory management device, information processing device, and memory management method | |
US8825946B2 (en) | Memory system and data writing method | |
US20130212319A1 (en) | Memory system and method of controlling memory system | |
WO2012081731A1 (en) | Semiconductor storage device | |
US12099735B2 (en) | Memory system | |
US20110191529A1 (en) | Semiconductor storage device and method of controlling semiconductor storage device | |
JP4592774B2 (ja) | メモリシステム | |
US9329994B2 (en) | Memory system | |
JP2010176702A (ja) | メモリシステム | |
KR101353967B1 (ko) | 환형 구조의 비휘발성 메모리 캐쉬에 데이터를 읽고 쓰기 위한 데이터 처리 방법 | |
KR101373613B1 (ko) | 환형 구조의 비휘발성 메모리 캐쉬를 포함하는 하이브리드 스토리지 장치 | |
JP2011227930A (ja) | 半導体記憶装置及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110307 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110307 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20110307 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20110323 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110405 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110426 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4738536 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140513 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |