JP2020017134A - 記憶装置及び記憶制御方法 - Google Patents
記憶装置及び記憶制御方法 Download PDFInfo
- Publication number
- JP2020017134A JP2020017134A JP2018140503A JP2018140503A JP2020017134A JP 2020017134 A JP2020017134 A JP 2020017134A JP 2018140503 A JP2018140503 A JP 2018140503A JP 2018140503 A JP2018140503 A JP 2018140503A JP 2020017134 A JP2020017134 A JP 2020017134A
- Authority
- JP
- Japan
- Prior art keywords
- cluster
- logical block
- physical
- block
- data
- 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.)
- Granted
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/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- 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
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- 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
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
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)
- Detection And Correction Of Errors (AREA)
- Memory System (AREA)
Abstract
Description
本発明の目的は、訂正不能なリードエラーが生じてもGC元論理ブロックを確保することができ、ガベージコレクションを実行することができる記憶装置及び記憶制御方法を提供することである。
複数の物理ブロックを有し、各物理ブロックは複数のクラスタを有し、物理ブロック単位でデータが消去され、クラスタ単位でデータがリード又はライトされる不揮発性メモリと、
外部装置により指定される論理アドレスと、前記論理アドレスに対応する前記不揮発性メモリの物理アドレスとの関係を記憶する第1テーブルと、
前記不揮発性メモリの複数の物理ブロックが割り当てられる論理ブロックと、前記複数の物理ブロックとの関係を記憶する第2テーブルと、
ガベージコレクション元論理ブロックの全ての有効クラスタからリードしたデータをガベージコレクション先論理ブロックに移動し、前記ガベージコレクション元論理ブロックの全てのデータを消去し、前記第1テーブルを更新するコントローラと、を具備する。
CPU34は、ホストI/F32、NAND I/F36、RAM I/F38を制御するように構成されたプロセッサである。CPU34は、図示しないROM等に格納されている制御プログラム(ファームウェア)を実行することによって様々な処理を行う。このCPU34は、上述のFTL処理に加え、ホスト10からの様々なコマンドを処理するためのコマンド処理等を実行することができる。CPU34の動作は、CPU34によって実行される上述のファームウェアによって制御される。なお、FTL処理およびコマンド処理の一部または全部は、コントローラ22内の専用ハードウェアによって実行しても良い。
コントローラ22(リード制御部42、ライト制御部44、GC制御部46を含む)は、ブロック102で、ガベージコレクションの開始タイミングになったか否かを判定する。コントローラ22は、ホスト10からガベージコレクション命令を受信したか否かに基づいてガベージコレクションの開始タイミングになったか否かを判定することができる。また、コントローラ22はブロックの状態を管理しているので、コントローラ22は、有効クラスタと無効クラスタが混在する物理ブロックが増えたことを検出することによっても、ガベージコレクションの開始タイミングになったか否かを判定できる。コントローラ22は、ガベージコレクションの開始タイミングになったことを判定するまで、ブロック102の判定を繰り返す。
コントローラ22は、リードしたデータは訂正不能なリードエラーを含まないとブロック106で判定した場合、ブロック110で、疑似物理クラスタは有効クラスタであるか否か判定する。この判定は、上述したように、疑似物理クラスタの冗長部の論理クラスタアドレスがLUT56の何処を指しているかに基づいて行われる。
なお、図4は、ブロック128の後、処理が終了する例を示したが、ブロック102の判定処理を定期的に実行し、ガベージコレクションの開始タイミングになると、図4の処理が割り込みとして実行されても良い。
以下、具体的な状況毎のガベージコレクションの動作例を説明する。
図10(b)に示すように、ガベージコレクションの途中でGC元論理ブロックBL0の疑似物理クラスタからリードしたデータが訂正不能である場合、リードデータをGC先論理ブロックBL3に移動することができない。
図12、図13は、消去済み論理ブロックを予め用意することなく、GC先論理ブロックの枯渇を防ぐことができるガベージコレクションの動作を示す。図12(a)に示すように、GC元論理ブロックBL0の有効クラスタからリードしたデータがGC先論理ブロックBL3に移動される。
Claims (12)
- 複数の物理ブロックを有し、各物理ブロックは複数のクラスタを有し、物理ブロック単位でデータが消去され、クラスタ単位でデータがリード又はライトされる不揮発性メモリと、
外部装置により指定される論理アドレスと、前記論理アドレスに対応する前記不揮発性メモリの物理アドレスとの関係を記憶する第1テーブルと、
前記不揮発性メモリの複数の物理ブロックが割り当てられる論理ブロックと、前記複数の物理ブロックとの関係を記憶する第2テーブルと、
ガベージコレクション元論理ブロックの全ての有効クラスタからリードしたデータをガベージコレクション先論理ブロックに移動し、前記ガベージコレクション元論理ブロックの全てのデータを消去し、前記第1テーブルを更新するコントローラと、を具備し、
前記コントローラは、前記ガベージコレクション元論理ブロックのクラスタからリードしたデータが訂正不能な場合、新論理ブロックを作成し、前記ガベージコレクション元論理ブロックに割り当てられていた複数の物理ブロックの全てのデータを消去し、データが消去された前記複数の物理ブロックを前記新論理ブロックに割り当て、前記ガベージコレクション元論理ブロックに実質的に物理ブロックが割り当てられないように前記第2テーブルを更新する記憶装置。 - 前記コントローラは、前記ガベージコレクション元論理ブロックに存在し得ない物理ブロックを割り当てることにより、前記ガベージコレクション元論理ブロックに実質的に物理ブロックが割り当てられないように前記第2テーブルを更新する請求項1記載の記憶装置。
- 前記論理ブロックには複数の疑似物理クラスタが割り当てられ、
前記複数の疑似物理クラスタの中の1つの疑似物理クラスタはユーザデータと論理クラスタアドレスを格納し、
前記論理クラスタアドレスは前記1つの疑似物理クラスタに対応する論理アドレスを示し、
前記第1テーブルは、前記論理クラスタアドレスに対応する疑似物理クラスタアドレスを格納し、
前記疑似物理クラスタアドレスは、前記1つの疑似物理クラスタが含まれる前記複数の論理ブロックを特定する情報と、特定された前記論理ブロック内の前記1つの疑似物理クラスタの相対位置を示す情報を含む請求項1記載の記憶装置。 - 前記コントローラは、前記ガベージコレクション元論理ブロックの有効疑似物理クラスタからリードしたデータを前記ガベージコレクション先論理ブロックの疑似物理クラスタに移動し、前記第1テーブルの前記有効疑似物理クラスタに対応する論理アドレスに対応する前記疑似物理クラスタアドレスを前記ガベージコレクション先論理ブロックの前記疑似物理クラスタのアドレスに変更する請求項3記載の記憶装置。
- 前記第1テーブル内の第1疑似物理クラスタアドレスにより指定される第1疑似物理クラスタが格納する第1論理クラスタアドレスに対応する第2疑似物理クラスタアドレスが前記第1疑似物理クラスタアドレスと等しい場合、前記第1疑似物理クラスタは有効疑似物理クラスタであり、
第2疑似物理クラスタアドレスが前記第1疑似物理クラスタアドレスと等しくない場合、前記第1疑似物理クラスタは無効疑似物理クラスタである請求項3記載の記憶装置。 - 前記コントローラは、前記第2テーブルを更新後、前記外部装置から、リードしたデータが訂正不能な前記ガベージコレクション元論理ブロックの前記クラスタに関するリードコマンドを受けると、リードエラーを示す情報を前記外部装置へ返信する請求項1記載の記憶装置。
- 複数の物理ブロックを有し、各物理ブロックは複数のクラスタを有し、物理ブロック単位でデータが消去され、クラスタ単位でデータがリード又はライトされる不揮発性メモリと、
外部装置により指定される論理アドレスと、前記論理アドレスに対応する前記不揮発性メモリの物理アドレスとの関係を記憶する第1テーブルと、
前記不揮発性メモリの複数の物理ブロックが割り当てられる論理ブロックと、前記複数の物理ブロックとの関係を記憶する第2テーブルと、
ガベージコレクション元論理ブロックの全ての有効クラスタからリードしたデータをガベージコレクション先論理ブロックに移動し、前記ガベージコレクション元論理ブロックの全てのデータを消去し、前記第1テーブルを更新するコントローラと、を具備する記憶装置の記憶制御方法であって、
前記ガベージコレクション元論理ブロックのクラスタからリードしたデータが訂正不能な場合、前記コントローラにより、新論理ブロックを作成し、前記ガベージコレクション元論理ブロックに割り当てられていた複数の物理ブロックの全てのデータを消去し、データが消去された前記複数の物理ブロックを前記新論理ブロックに割り当て、前記ガベージコレクション元論理ブロックに実質的に物理ブロックが割り当てられないように前記第2テーブルを更新する記憶制御方法。 - 前記コントローラにより、前記ガベージコレクション元論理ブロックに存在し得ない物理ブロックを割り当てることにより、前記ガベージコレクション元論理ブロックに実質的に物理ブロックが割り当てられないように前記第2テーブルを更新する請求項7記載の記憶制御方法。
- 前記論理ブロックには複数の疑似物理クラスタが割り当てられ、
前記複数の疑似物理クラスタの中の1つの疑似物理クラスタはユーザデータと論理クラスタアドレスを格納し、
前記論理クラスタアドレスは前記1つの疑似物理クラスタに対応する論理アドレスを示し、
前記第1テーブルは、前記論理クラスタアドレスに対応する疑似物理クラスタアドレスを格納し、
前記疑似物理クラスタアドレスは、前記1つの疑似物理クラスタが含まれる前記複数の論理ブロックを特定する情報と、特定された前記論理ブロック内の前記1つの疑似物理クラスタの相対位置を示す情報を含む請求項7記載の記憶制御方法。 - 前記コントローラにより、前記ガベージコレクション元論理ブロックの有効疑似物理クラスタからリードしたデータを前記ガベージコレクション先論理ブロックの疑似物理クラスタに移動し、前記第1テーブルの前記有効疑似物理クラスタに対応する論理アドレスに対応する前記疑似物理クラスタアドレスを前記ガベージコレクション先論理ブロックの前記疑似物理クラスタのアドレスに変更する請求項9記載の記憶制御方法。
- 前記第1テーブル内の第1疑似物理クラスタアドレスにより指定される第1疑似物理クラスタが格納する第1論理クラスタアドレスに対応する第2疑似物理クラスタアドレスが前記第1疑似物理クラスタアドレスと等しい場合、前記第1疑似物理クラスタは有効疑似物理クラスタであり、
第2疑似物理クラスタアドレスが前記第1疑似物理クラスタアドレスと等しくない場合、前記第1疑似物理クラスタは無効疑似物理クラスタである請求項9記載の記憶制御方法。 - 前記コントローラにより、前記第2テーブルを更新後、前記外部装置から、リードしたデータが訂正不能な前記ガベージコレクション元論理ブロックの前記クラスタに関するリードコマンドを受けると、リードエラーを示す情報を前記外部装置へ返信する請求項7記載の記憶制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018140503A JP7042716B2 (ja) | 2018-07-26 | 2018-07-26 | 記憶装置及び記憶制御方法 |
US16/284,253 US10754771B2 (en) | 2018-07-26 | 2019-02-25 | Storage device and storage control method |
US16/935,001 US11366751B2 (en) | 2018-07-26 | 2020-07-21 | Storage device and storage control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018140503A JP7042716B2 (ja) | 2018-07-26 | 2018-07-26 | 記憶装置及び記憶制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020017134A true JP2020017134A (ja) | 2020-01-30 |
JP7042716B2 JP7042716B2 (ja) | 2022-03-28 |
Family
ID=69178393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018140503A Active JP7042716B2 (ja) | 2018-07-26 | 2018-07-26 | 記憶装置及び記憶制御方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US10754771B2 (ja) |
JP (1) | JP7042716B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11580016B2 (en) * | 2019-08-30 | 2023-02-14 | Micron Technology, Inc. | Adjustable garbage collection suspension interval |
US11809314B2 (en) * | 2021-11-21 | 2023-11-07 | Silicon Motion, Inc. | Method and apparatus for performing access control of memory device with aid of multi-stage garbage collection management |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110238629A1 (en) * | 2010-03-23 | 2011-09-29 | Apple Inc. | Uncorrectable error handling schemes for non-volatile memories |
JP2011197945A (ja) * | 2010-03-18 | 2011-10-06 | Toshiba Corp | コントローラ、データ記憶装置、及びプログラム |
JP2013137771A (ja) * | 2011-12-12 | 2013-07-11 | Apple Inc | データ利用についてのマウント時間の調停 |
JP2013200741A (ja) * | 2012-03-26 | 2013-10-03 | Toshiba Corp | 半導体記憶装置、その制御方法及び情報処理装置 |
JP2013200722A (ja) * | 2012-03-26 | 2013-10-03 | Toshiba Corp | 半導体記憶装置の論理ブロックの構築方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8799747B2 (en) * | 2010-06-03 | 2014-08-05 | Seagate Technology Llc | Data hardening to compensate for loss of data retention characteristics in a non-volatile memory |
US8661193B1 (en) * | 2010-10-29 | 2014-02-25 | Western Digital Technologies, Inc. | Disk drive with partial sector management |
JP2013174975A (ja) | 2012-02-23 | 2013-09-05 | Toshiba Corp | メモリシステムとそのデータ書き込み方法 |
US8924832B1 (en) * | 2012-06-26 | 2014-12-30 | Western Digital Technologies, Inc. | Efficient error handling mechanisms in data storage systems |
US9136873B2 (en) * | 2013-03-11 | 2015-09-15 | Intel Corporation | Reduced uncorrectable memory errors |
US20150046772A1 (en) * | 2013-08-06 | 2015-02-12 | Sandisk Technologies Inc. | Method and device for error correcting code (ecc) error handling |
US9519577B2 (en) * | 2013-09-03 | 2016-12-13 | Sandisk Technologies Llc | Method and system for migrating data between flash memory devices |
US9389973B2 (en) * | 2014-05-30 | 2016-07-12 | Oracle International Corporation | Memory error propagation for faster error recovery |
JP6313242B2 (ja) | 2014-10-30 | 2018-04-18 | 東芝メモリ株式会社 | メモリシステム及びプログラム |
US11334478B2 (en) | 2014-10-30 | 2022-05-17 | Kioxia Corporation | Memory system and nonvolatile memory medium in which program is stored to optimize operating life |
US10268400B2 (en) * | 2015-09-03 | 2019-04-23 | Sandisk Technologies Llc | System and method for file detection and usage during compaction |
US20180121348A1 (en) * | 2016-10-31 | 2018-05-03 | Microsoft Technology Licensing, Llc | Automatic Garbage Collection for Distributed Storage |
US10802911B2 (en) * | 2017-08-16 | 2020-10-13 | Western Digital Technologies, Inc. | Non-volatile storage with wear-adjusted failure prediction |
US11513951B2 (en) * | 2019-07-31 | 2022-11-29 | EMC IP Holding Company, LLC | System and method for improving write performance for log structured storage systems |
-
2018
- 2018-07-26 JP JP2018140503A patent/JP7042716B2/ja active Active
-
2019
- 2019-02-25 US US16/284,253 patent/US10754771B2/en active Active
-
2020
- 2020-07-21 US US16/935,001 patent/US11366751B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011197945A (ja) * | 2010-03-18 | 2011-10-06 | Toshiba Corp | コントローラ、データ記憶装置、及びプログラム |
US20110238629A1 (en) * | 2010-03-23 | 2011-09-29 | Apple Inc. | Uncorrectable error handling schemes for non-volatile memories |
JP2013137771A (ja) * | 2011-12-12 | 2013-07-11 | Apple Inc | データ利用についてのマウント時間の調停 |
JP2013200741A (ja) * | 2012-03-26 | 2013-10-03 | Toshiba Corp | 半導体記憶装置、その制御方法及び情報処理装置 |
JP2013200722A (ja) * | 2012-03-26 | 2013-10-03 | Toshiba Corp | 半導体記憶装置の論理ブロックの構築方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200349070A1 (en) | 2020-11-05 |
JP7042716B2 (ja) | 2022-03-28 |
US10754771B2 (en) | 2020-08-25 |
US20200034290A1 (en) | 2020-01-30 |
US11366751B2 (en) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11301373B2 (en) | Reconstruction of address mapping in a host of a storage system | |
CN109144888B (zh) | 存储器系统 | |
US9507711B1 (en) | Hierarchical FTL mapping optimized for workload | |
US10452532B2 (en) | Directed sanitization of memory | |
US8904090B2 (en) | Non-volatile memory device, devices having the same, and method of operating the same | |
JP2023524014A (ja) | 順次的にプログラムするメモリサブシステムにおいて非同期電力損失をハンドリングすること | |
US20150347291A1 (en) | Flash memory based storage system and operating method | |
TWI474324B (zh) | 平均讀寫記憶元件的方法及記憶體系統 | |
US8694748B2 (en) | Data merging method for non-volatile memory module, and memory controller and memory storage device using the same | |
US9619380B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
KR20220005111A (ko) | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 | |
CN112445733A (zh) | 存储器系统、存储器控制器以及操作方法 | |
CN113035262A (zh) | 存储器子系统中奇偶校验数据的管理 | |
CN113031856A (zh) | 存储器子系统中的断电数据保护 | |
CN114579475A (zh) | 电子系统及其操作方法 | |
CN114639415A (zh) | 后台存储器扫描块选择 | |
US11366751B2 (en) | Storage device and storage control method | |
CN112534415B (zh) | 非易失性存储器中的数据有效性跟踪 | |
US9792068B2 (en) | Memory system and method of controlling nonvolatile memory | |
KR20200084901A (ko) | 오프셋에 기반한 로직 블록 매핑 | |
KR20230160620A (ko) | 메모리 시스템에서 데이터를 복구하는 장치 및 방법 | |
US11645003B2 (en) | Memory system generating parity data based on written data and control method | |
US11914471B1 (en) | Block failure protection for zone memory system | |
US20240004566A1 (en) | Memory system for managing namespace using write pointer and write count, memory controller, and method for operating memory system | |
CN113253917A (zh) | 用于存储器子系统的媒体管理的多状态炼狱 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180830 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210318 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220127 |
|
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: 20220215 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220315 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7042716 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |