JP4910064B2 - 記憶制御装置、記憶装置、及びデータ移動制御方法 - Google Patents
記憶制御装置、記憶装置、及びデータ移動制御方法 Download PDFInfo
- Publication number
- JP4910064B2 JP4910064B2 JP2010194040A JP2010194040A JP4910064B2 JP 4910064 B2 JP4910064 B2 JP 4910064B2 JP 2010194040 A JP2010194040 A JP 2010194040A JP 2010194040 A JP2010194040 A JP 2010194040A JP 4910064 B2 JP4910064 B2 JP 4910064B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- wear leveling
- compaction
- identification information
- unit
- 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.)
- Active
Links
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/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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
後述する実施形態は、NAND型フラッシュメモリを、記憶装置として備えた情報処理装置を例について説明する。後述する実施形態における各機能ブロックは、ハードウェアおよびソフトウェアのいずれか、またはこれらの組み合わせで実現できるものとする。
上述した実施形態では、割り当てリスト402から供給されるブロックIDは、消去回数が多いものから順に供給されていた。しかしながら、このような供給に制限するものではなく、ソート条件が異なる割り当てリストを複数備え、必要に応じて供給するブロックIDを切り替えても良い。本変形例では、フリーブロック管理部が複数の割り当てリストを備える例について説明する。なお、他の構成は上記の実施形態と同様の構成を備えているものとして説明を省略する。
101 記憶装置
102 CPU
103 メインメモリ
104 メモリコントローラ
105 アドレスバス
106 データバス
110 NAND型フラッシュメモリ
111 NANDコントローラ
201 NANDインタフェース
202 制御部
203 ウェアレベリング判定部
204 ウェアレベリング対象ブロック決定部
205 移動先ブロック予約登録部
206 移動元ブロック予約登録部
207 ブロック管理部
208 コンパクション部
211 アクティブブロック管理部
212、1001 フリーブロック管理部
213 ブロック状態計測部
214 ブロック管理テーブル制御部
221 ウェアレベリング用ブロック保持部
222 コンパクション用ブロックID保持部
223 対象ブロック移動制御部
231 ID重複抑止部
Claims (7)
- データ消去の単位となるブロックを複数個含んでいる記憶手段内で、データが格納されたブロック毎に、前回消去された時期を示す消去時期情報及び当該ブロックの消去された回数を示す消去回数情報のいずれか1つ以上を含むブロック状態情報を記憶する状態記憶手段と、
前記状態記憶手段に記憶された前記ブロック状態情報に基づいて、ウェアレベリングが必要なブロックがあるか否かを判定する判定手段と、
前記判定部で前記ウェアレベリングが必要と判定された前記ブロックを識別するブロック識別情報を保持するウェアレベリングブロック保持手段と、
前記記憶手段の複数のブロックに格納されたデータを移動させて、前記複数のブロック以外のブロックにまとめるコンパクションを行うと共に、前記ウェアレベリングブロック保持手段が前記ブロック識別情報を保持している場合に当該ブロック識別情報で識別されるブロックに格納されたデータを移動させるブロック移動制御手段と、
前記ブロック移動制御手段によるコンパクションの移動元となるブロックを識別するブロック識別情報を保持するコンパクションブロック保持手段と、
前記ウェアレベリングブロック保持手段及び前記コンパクションブロック保持手段のいずれか一方が保持している前記ブロック識別情報を、他方で保持することを抑止する抑止手段と、を備え、
前記ブロック移動制御手段は、前記ウェアレベリングブロック保持手段により保持された前記ブロック識別情報で識別されるブロックに格納されたデータを移動させるほか、さらに、前記コンパクションとして、前記コンパクションブロック保持手段により保持される前記ブロック識別情報で識別されるブロックに格納されたデータを移動させて、前記複数のブロック以外のブロックにまとめる、
記憶制御装置。 - 前記記憶手段内で、データが書き込まれていない前記ブロックのうち、ウェアレベリング又はコンパクションで移動先となるブロックを識別するブロック識別情報を保持する移動先保持手段を、さらに備え、
前記ブロック移動制御手段は、さらに、前記移動先保持部が保持する前記ブロック識別情報で識別されるブロックを移動先として、データを移動させること、
を特徴とする請求項1に記載の記憶制御装置。 - 前記移動先保持手段は、前記ブロック識別情報に、当該ブロックの消去された回数を示す消去回数情報を対応付けて保持し、消去された回数が高いブロックを識別する前記ブロック識別情報から順に、前記ブロック移動制御手段に供給し、
前記ブロック移動制御手段は、前記ウェアレベリングブロック保持手段が前記ブロック識別情報を保持している場合、当該ブロック識別情報で識別されるブロックに格納されたデータを、前記移動先保持手段から供給される前記ブロック識別情報で識別されるブロックに移動させる制御を、コンパクションより優先して行うこと、
を特徴とする請求項2に記載の記憶制御装置。 - 前記判定部で前記ウェアレベリングが必要と判定された場合に、前記移動先保持手段で保持される前記消去回数情報で消去回数が高いブロックから順に、前記ブロック移動制御手段によるデータの移動先として予約登録を行う登録手段を、さらに備え、
前記ブロック移動制御手段は、さらに、前記登録手段で予約登録されたブロックを、前記ウェアレベリングブロック保持手段で保持される前記ブロック識別情報で識別されるブロックに格納されたデータの移動先として用いること、
を特徴とする請求項3に記載の記憶制御装置。 - データ消去の単位となるブロックを複数個含んでいる記憶手段と、
前記記憶手段内で、データが格納されたブロック毎に、前回消去された時期を示す消去時期情報及び当該ブロックの消去された回数を示す消去回数情報のいずれか1つ以上を含むブロック状態情報を記憶する状態記憶手段と、
前記状態記憶手段に記憶された前記ブロック状態情報に基づいて、前記ウェアレベリングが必要なブロックがあるか否かを判定する判定手段と、
前記判定部で前記ウェアレベリングが必要と判定された前記ブロックを識別するブロック識別情報を保持するウェアレベリングブロック保持手段と、
前記記憶手段の複数のブロックに格納されたデータを移動させて、前記複数のブロック以外のブロックにまとめるコンパクションを行うと共に、前記ウェアレベリングブロック保持手段が前記ブロック識別情報を保持している場合に当該ブロック識別情報で識別されるブロックに格納されたデータを移動させるブロック移動制御手段と、
前記ブロック移動制御手段によるコンパクションの移動元となるブロックを識別するブロック識別情報を保持するコンパクションブロック保持手段と、
前記ウェアレベリングブロック保持手段及び前記コンパクションブロック保持手段のいずれか一方が保持している前記ブロック識別情報を、他方で保持することを抑止する抑止手段と、を備え、
前記ブロック移動制御手段は、前記ウェアレベリングブロック保持手段により保持された前記ブロック識別情報で識別されるブロックに格納されたデータを移動させるほか、さらに、前記コンパクションとして、前記コンパクションブロック保持手段により保持される前記ブロック識別情報で識別されるブロックに格納されたデータを移動させて、前記複数のブロック以外のブロックにまとめる、
記憶装置。 - 記憶装置で実行されるデータ移動制御方法であって、
前記記憶装置は、データ消去の単位となるブロックを複数個含んでいる記憶手段内で、データが格納されたブロック毎に、前回消去された時期を示す消去時期情報及び当該ブロックの消去された回数を示す消去回数情報のいずれか1つ以上を含むブロック状態情報を記憶する状態記憶手段を備え、
前記記憶装置の判定手段が、前記状態記憶手段に記憶された前記ブロック状態情報に基づいて、前記ウェアレベリングが必要なブロックがあるか否かを判定する判定ステップと、
前記記憶装置のウェアレベリングブロック保持手段が、前記判定部で前記ウェアレベリングが必要と判定された前記ブロックを識別するブロック識別情報を保持するウェアレベリングブロック保持ステップと、
前記記憶装置のブロック移動制御手段が、前記記憶手段の複数のブロックに格納されたデータを移動させて、前記複数のブロック以外のブロックにまとめるコンパクションを行うと共に、前記ウェアレベリングブロック保持手段が前記ブロック識別情報を保持している場合に当該ブロック識別情報で識別されるブロックに格納されたデータを移動させるブロック移動制御ステップと、
前記記憶装置のコンパクションブロック保持手段が、前記ブロック移動制御ステップによるコンパクションの移動元となるブロックを識別するブロック識別情報を保持するコンパクションブロック保持ステップと、
前記記憶装置の抑止手段が、前記ウェアレベリングブロック保持手段及び前記コンパクションブロック保持手段のいずれか一方が保持している前記ブロック識別情報を、他方で保持することを抑止する抑止ステップと、を有し、
前記ブロック移動制御ステップは、前記ウェアレベリングブロック保持手段により保持された前記ブロック識別情報で識別されるブロックに格納されたデータを移動させるほか、さらに、前記コンパクションとして、前記コンパクションブロック保持手段により保持される前記ブロック識別情報で識別されるブロックに格納されたデータを移動させて、前記複数のブロック以外のブロックにまとめる、
データ移動制御方法。 - 前記記憶装置の移動先保持手段は、前記記憶手段内で、データが書き込まれていない前記ブロックのうち、ウェアレベリング又はコンパクションで移動先となるブロックを識別するブロック識別情報を保持する移動先保持ステップを、さらに有し、
前記ブロック移動制御ステップは、さらに、前記移動先保持部が保持する前記ブロック識別情報で識別されるブロックを移動先として、データを移動させること、
を特徴とする請求項6に記載のデータ移動制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010194040A JP4910064B2 (ja) | 2010-08-31 | 2010-08-31 | 記憶制御装置、記憶装置、及びデータ移動制御方法 |
US13/154,203 US8583859B2 (en) | 2010-08-31 | 2011-06-06 | Storage controller for wear-leveling and compaction and method of controlling thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010194040A JP4910064B2 (ja) | 2010-08-31 | 2010-08-31 | 記憶制御装置、記憶装置、及びデータ移動制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012053553A JP2012053553A (ja) | 2012-03-15 |
JP4910064B2 true JP4910064B2 (ja) | 2012-04-04 |
Family
ID=45698665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010194040A Active JP4910064B2 (ja) | 2010-08-31 | 2010-08-31 | 記憶制御装置、記憶装置、及びデータ移動制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8583859B2 (ja) |
JP (1) | JP4910064B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9384124B2 (en) * | 2012-07-20 | 2016-07-05 | Kabushiki Kaisha Toshiba | Data storage device, memory control method, and electronic device with data storage device |
JP6017032B2 (ja) * | 2013-06-13 | 2016-10-26 | 株式会社日立製作所 | ストレージシステム及びストレージ制御方法 |
CN103927128B (zh) * | 2013-07-11 | 2017-03-01 | 威盛电子股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
WO2015083225A1 (ja) * | 2013-12-02 | 2015-06-11 | 富士通株式会社 | 情報処理装置、ストレージ、及びアクセス制御方法 |
KR102393323B1 (ko) | 2015-08-24 | 2022-05-03 | 삼성전자주식회사 | 재사용 주기를 이용하여 사용자 데이터를 쓰기 위한 워드라인을 결정하는 저장 장치의 동작 방법 |
KR102456104B1 (ko) | 2015-08-24 | 2022-10-19 | 삼성전자주식회사 | 데이터 신뢰성에 따라 동작 조건을 변경하는 저장 장치의 동작 방법 |
KR102333746B1 (ko) * | 2015-09-02 | 2021-12-01 | 삼성전자주식회사 | 재사용 주기에 따라 마모도를 관리하는 저장 장치의 동작 방법 |
US10636459B2 (en) * | 2018-05-30 | 2020-04-28 | Micron Technology, Inc. | Wear leveling |
US20210019051A1 (en) * | 2019-07-15 | 2021-01-21 | Micron Technology, Inc. | Hardware based accelerator for memory sub-system operations |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5341339A (en) | 1992-10-30 | 1994-08-23 | Intel Corporation | Method for wear leveling in a flash EEPROM memory |
JPH113287A (ja) * | 1997-06-12 | 1999-01-06 | Hitachi Ltd | 記憶装置およびそれに用いられる記憶領域管理方法 |
JP2002032256A (ja) | 2000-07-19 | 2002-01-31 | Matsushita Electric Ind Co Ltd | 端末装置 |
JP3812933B2 (ja) | 2001-04-19 | 2006-08-23 | シャープ株式会社 | ファイルシステムおよびその制御方法 |
JP4485231B2 (ja) * | 2004-03-24 | 2010-06-16 | 京セラ株式会社 | 電子機器 |
US7315917B2 (en) | 2005-01-20 | 2008-01-01 | Sandisk Corporation | Scheduling of housekeeping operations in flash memory systems |
US20060161724A1 (en) | 2005-01-20 | 2006-07-20 | Bennett Alan D | Scheduling of housekeeping operations in flash memory systems |
WO2010076829A1 (en) * | 2008-12-30 | 2010-07-08 | Massimo Iaculo | Wear leveling for erasable memories |
US9405670B2 (en) * | 2011-06-09 | 2016-08-02 | Tsinghua University | Wear leveling method and apparatus |
-
2010
- 2010-08-31 JP JP2010194040A patent/JP4910064B2/ja active Active
-
2011
- 2011-06-06 US US13/154,203 patent/US8583859B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20120054418A1 (en) | 2012-03-01 |
US8583859B2 (en) | 2013-11-12 |
JP2012053553A (ja) | 2012-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4910064B2 (ja) | 記憶制御装置、記憶装置、及びデータ移動制御方法 | |
KR100849221B1 (ko) | 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치 | |
KR101067457B1 (ko) | 메모리 시스템 | |
KR101038167B1 (ko) | 프로세서로부터 메모리로의 액세스를 관리하는 메모리 관리 장치를 포함하는 정보 처리 장치 및 메모리 관리 방법 | |
JP5687648B2 (ja) | 半導体記憶装置およびプログラム | |
KR100974954B1 (ko) | 플래시 메모리를 이용한 저장장치에서의 읽기 웨어 레벨링방법 | |
JP5066241B2 (ja) | メモリシステム | |
JP6266019B2 (ja) | データストレージシステム向けの優先度に基づくガベージコレクション | |
US9251055B2 (en) | Memory system and control method of memory system | |
US9218277B2 (en) | Wear leveling | |
US10310766B2 (en) | Memory system and data relocating method | |
EP3588259A1 (en) | Garbage collection method for storage media, storage medium, and program product | |
Agarwal et al. | A closed-form expression for write amplification in nand flash | |
JP2012203443A (ja) | メモリシステムおよびメモリシステムの制御方法 | |
KR20120012375A (ko) | 메모리 관리 장치, 정보 처리 장치 및 메모리 관리 방법 | |
JP2015001908A (ja) | 情報処理装置、制御回路、制御プログラム、および制御方法 | |
JP2009237668A (ja) | フラッシュメモリを用いた記憶装置 | |
JP2011070346A (ja) | メモリシステム | |
US20130246716A1 (en) | Memory system and data writing method | |
US9361201B2 (en) | Memory system and memory controller | |
JP2012033001A (ja) | 情報処理装置および情報処理方法 | |
JP2011022933A (ja) | メモリ管理装置を含む情報処理装置及びメモリ管理方法 | |
JP6102515B2 (ja) | 情報処理装置、制御回路、制御プログラム、および制御方法 | |
JP2015001909A (ja) | 情報処理装置、制御回路、制御プログラム、および制御方法 | |
KR100941382B1 (ko) | 플래시 메모리와 연동되는 페이지 버퍼 관리 장치 및 방법,그리고 플래시 메모리의 페이지 교체 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20111220 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120116 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150120 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4910064 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: 20150120 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 |