JP2021043580A - メモリシステムおよびガベッジコレクション制御方法 - Google Patents
メモリシステムおよびガベッジコレクション制御方法 Download PDFInfo
- Publication number
- JP2021043580A JP2021043580A JP2019163806A JP2019163806A JP2021043580A JP 2021043580 A JP2021043580 A JP 2021043580A JP 2019163806 A JP2019163806 A JP 2019163806A JP 2019163806 A JP2019163806 A JP 2019163806A JP 2021043580 A JP2021043580 A JP 2021043580A
- Authority
- JP
- Japan
- Prior art keywords
- block
- blocks
- data
- garbage collection
- processing 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 39
- 238000012545 processing Methods 0.000 claims abstract description 79
- 238000012937 correction Methods 0.000 claims description 67
- 230000008569 process Effects 0.000 claims description 34
- 230000004044 response Effects 0.000 claims description 7
- 230000001174 ascending effect Effects 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 5
- 238000007726 management method Methods 0.000 description 32
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000011084 recovery Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005056 compaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000725 suspension 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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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/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
-
- 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/7209—Validity control, e.g. using flags, time stamps or sequence numbers
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)
- Memory System (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
Claims (19)
- 複数のブロックを含む不揮発性メモリと、
前記不揮発性メモリへのデータの書き込みまたは前記不揮発性メモリからのデータの読み出しを制御するコントローラとを具備し、
前記コントローラは、
N個(Nは2以上の自然数)のブロック中の有効なデータをN個未満のブロックに移動させて1以上のフリーブロックを作成する第1処理を実行する第1処理部と、
M個(Mは1以上の自然数)のブロック中のリフレッシュを必要とするデータを含む有効なデータをM個以下のブロックに移動させる第2処理を実行する第2処理部と、
を具備するメモリシステム。 - 前記第1処理部と前記第2処理部とは並列動作可能であり、有効なデータの移動元のブロックまたは移動先のブロックとして同一のブロックが前記第1処理と前記第2処理との双方に重複して選択されないように、有効なデータの移動元のブロックの候補および移動先のブロックの候補が前記第1処理部と前記第2処理部とで独立して管理される請求項1に記載のメモリシステム。
- 前記第1処理部は、前記第1処理の実行周期を、ホスト装置からの要求に応じたデータの書き込みと、前記第1処理のためのデータの書き込みと、の実行比率で調整する請求項1または2に記載のメモリシステム。
- 前記第1処理部は、有効なデータの全体に占める割合が小さいブロックを、有効なデータの移動元のブロックの候補として選択する請求項1〜3のいずれか1項に記載のメモリシステム。
- 前記第2処理部は、ホスト装置からの要求に応じたデータの書き込みとは独立して、前記リフレッシュを必要とするデータが存在するブロックの数に基づき、前記第2処理の実行周期を調整する請求項1に記載のメモリシステム。
- 前記第2処理部は、ホスト装置からの要求に応じたデータの書き込みとは独立して、前記リフレッシュを必要とするエラーの重度又は前記リフレッシュを必要とするブロック量に基づき、前記第2処理の実行周期を調整する請求項1に記載のメモリシステム。
- 前記第2処理部は、一定期間を超えて利用されていない有効なデータが存在するブロックまたは前記リフレッシュが必要となったブロックを、有効なデータの移動元のブロックの候補として選択する請求項1〜6のいずれか1項に記載のメモリシステム。
- 前記第1処理の実行中、条件が満たされた場合、前記第1処理を中断させ、有効なデータの移動元のブロックとして選択されているブロックを前記第2処理の候補へ切り替える制御部をさらに具備する請求項1〜7のいずれか1項に記載のメモリシステム。
- 前記不揮発性メモリは、複数の不揮発性メモリチップを含み、
前記条件は、前記不揮発性メモリにおいて不揮発性メモリチップ単位で使用不可となる事象が発生することを含む請求項8に記載のメモリシステム。 - 前記条件は、フリーブロック数が一定未満であることを含む請求項8に記載のメモリシステム。
- 前記第2処理部は、前記切り替えられたブロック及び候補として選択済みのブロックのうち、誤り訂正が必要なデータを含むブロックの中から、前記誤り訂正が必要なデータのデータ誤りの重度順に、前記第2処理の対象のブロックを選択するように管理する請求項8に記載のメモリシステム。
- 前記第2処理部は、前記切り替えられたブロック及び候補として選択済みのブロックのうち、有効なデータを含むブロックの中から、前記有効なデータの全体に占める割合が小さい順に、前記第2処理の対象のブロックを選択するように管理する請求項8に記載のメモリシステム。
- 前記第1処理部は第3処理部及び第4処理部を含み、前記第3処理部は、第1周期で前記第1処理を実行し、前記第4処理部は、前記第1周期よりも長い第2周期で前記第1処理を実行し、
前記第3処理部が前記第1周期で前記第1処理の実行中、条件が満たされた場合、当該第1処理を中断させ、有効なデータの移動元のブロックとして選択されているブロックを、前記第4処理部が前記第2周期で実行する前記第1処理の候補へ振り替える制御部をさらに具備する請求項1〜7のいずれか1項に記載のメモリシステム。 - 前記制御部は、前記第2処理の候補であるリフレッシュを必要とするデータが存在するブロックの数が閾値以上存在し、かつ、前記第1処理の候補とすべき有効なデータの全体に占める割合が閾値よりも小さいブロックが存在しない場合、前記リフレッシュを必要とするデータが存在するブロックを、前記第2処理の候補から前記第1処理の候補へ切り替える請求項8または13に記載のメモリシステム。
- 前記制御部は、フリーブロック数が一定未満であり、かつ、前記第1処理の候補とすべき有効なデータの全体に占める割合が閾値よりも小さいブロックが存在しない場合、前記第2処理の候補であるリフレッシュを必要とするデータが存在するブロックを、前記第2処理の候補から前記第1処理の候補へ切り替える請求項8または13に記載のメモリシステム。
- 前記不揮発性メモリは、複数の不揮発性メモリチップを含み、
前記制御部は、不揮発性メモリチップ単位で使用不可となる事象の発生に伴って有効なデータのリフレッシュが必要となったブロックを、前記第2処理の候補から前記第1処理の候補へ切り替える対象から除外する請求項15に記載のメモリシステム。 - 前記第1処理部は、前記第2処理の候補となり得る誤り訂正が必要なデータを含むブロックの中からデータ誤りの重度が低い順に前記第1処理の対象のブロックとして選択する請求項14〜16のいずれか1項に記載のメモリシステム。
- 前記第1処理部は、前記第2処理の候補となり得るブロックの中から有効なデータの全体に占める割合が小さい順に前記第1処理の対象のブロックとして選択する請求項14〜16のいずれか1項に記載のメモリシステム。
- 複数のブロックを含む不揮発性メモリを有するメモリシステムのガベッジコレクション制御方法であって、
N個(Nは2以上の自然数)のブロック中の有効なデータをN個未満のブロックに移動させて1以上のフリーブロックを作成する第1処理を実行することと、
M個(Mは1以上の自然数)のブロック中のリフレッシュを必要とするデータを含む有効なデータをM個以下のブロックに移動させる第2処理を実行することと、
を具備するガベッジコレクション制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019163806A JP7321851B2 (ja) | 2019-09-09 | 2019-09-09 | メモリシステムおよびガベッジコレクション制御方法 |
US16/787,133 US11182287B2 (en) | 2019-09-09 | 2020-02-11 | Memory system and garbage collection control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019163806A JP7321851B2 (ja) | 2019-09-09 | 2019-09-09 | メモリシステムおよびガベッジコレクション制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021043580A true JP2021043580A (ja) | 2021-03-18 |
JP7321851B2 JP7321851B2 (ja) | 2023-08-07 |
Family
ID=74849470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019163806A Active JP7321851B2 (ja) | 2019-09-09 | 2019-09-09 | メモリシステムおよびガベッジコレクション制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11182287B2 (ja) |
JP (1) | JP7321851B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI790383B (zh) * | 2019-06-19 | 2023-01-21 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
US11556420B2 (en) * | 2021-04-06 | 2023-01-17 | Macronix International Co., Ltd. | Managing error correction coding in memory systems |
EP4123969A1 (en) * | 2021-07-19 | 2023-01-25 | Ratier-Figeac SAS | Rescheduling mechanism for asynchronous devices |
KR20230023477A (ko) * | 2021-08-10 | 2023-02-17 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그 동작 방법 |
US20240069735A1 (en) * | 2022-08-29 | 2024-02-29 | Micron Technology, Inc. | Memory block erase protocol |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008123406A1 (ja) * | 2007-03-28 | 2008-10-16 | Nodc Incorporated | データ駆動型処理装置及びその順序合流制御装置 |
JP2013541743A (ja) * | 2011-02-02 | 2013-11-14 | 株式会社日立製作所 | ストレージシステムおよびそのデータ制御方法 |
JP2018160194A (ja) * | 2017-03-23 | 2018-10-11 | 東芝メモリ株式会社 | メモリシステムおよび方法 |
JP2019049949A (ja) * | 2017-09-12 | 2019-03-28 | 東芝メモリ株式会社 | ストレージデバイス |
JP2019049928A (ja) * | 2017-09-12 | 2019-03-28 | 日立オートモティブシステムズ株式会社 | 電子制御装置及び電子制御装置の制御方法 |
JP2019106174A (ja) * | 2017-12-14 | 2019-06-27 | インテル・コーポレーション | 記憶デバイスにおけるシステムタイムスタンプを用いたバックグラウンドデータ・リフレッシュ |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120028581A (ko) * | 2010-09-15 | 2012-03-23 | 삼성전자주식회사 | 비휘발성 메모리 장치, 이의 동작 방법, 및 이를 포함하는 장치들 |
JP2016122227A (ja) | 2014-12-24 | 2016-07-07 | 株式会社東芝 | メモリシステムおよび情報処理システム |
US10254969B2 (en) | 2016-05-13 | 2019-04-09 | Seagate Technology Llc | Data refresh in flash memory |
US10579471B2 (en) * | 2017-03-02 | 2020-03-03 | Toshiba Memory Corporation | Storage device and error correction method for storage device |
-
2019
- 2019-09-09 JP JP2019163806A patent/JP7321851B2/ja active Active
-
2020
- 2020-02-11 US US16/787,133 patent/US11182287B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008123406A1 (ja) * | 2007-03-28 | 2008-10-16 | Nodc Incorporated | データ駆動型処理装置及びその順序合流制御装置 |
JP2013541743A (ja) * | 2011-02-02 | 2013-11-14 | 株式会社日立製作所 | ストレージシステムおよびそのデータ制御方法 |
JP2018160194A (ja) * | 2017-03-23 | 2018-10-11 | 東芝メモリ株式会社 | メモリシステムおよび方法 |
JP2019049949A (ja) * | 2017-09-12 | 2019-03-28 | 東芝メモリ株式会社 | ストレージデバイス |
JP2019049928A (ja) * | 2017-09-12 | 2019-03-28 | 日立オートモティブシステムズ株式会社 | 電子制御装置及び電子制御装置の制御方法 |
JP2019106174A (ja) * | 2017-12-14 | 2019-06-27 | インテル・コーポレーション | 記憶デバイスにおけるシステムタイムスタンプを用いたバックグラウンドデータ・リフレッシュ |
Also Published As
Publication number | Publication date |
---|---|
JP7321851B2 (ja) | 2023-08-07 |
US11182287B2 (en) | 2021-11-23 |
US20210073118A1 (en) | 2021-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7321851B2 (ja) | メモリシステムおよびガベッジコレクション制御方法 | |
US11693463B2 (en) | Memory system and controller | |
US8463986B2 (en) | Memory system and method of controlling memory system | |
CN102713866B (zh) | 减少基于闪存的存储系统中的存取争用 | |
US10884630B2 (en) | Storage system | |
JP4844639B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP5010505B2 (ja) | メモリシステム | |
US20100161885A1 (en) | Semiconductor storage device and storage controlling method | |
US10599345B2 (en) | Memory device that writes data into a block based on time passage since erasure of data from the block | |
JP4930555B2 (ja) | 制御装置、制御方法およびストレージシステム | |
US20140075099A1 (en) | Control method and memory system of non-volatile semiconductor memory | |
US20200110662A1 (en) | Error-handling method, associated data storage device and controller thereof | |
JP2013016147A (ja) | メモリコントローラ及び不揮発性記憶装置 | |
JP2011070365A (ja) | メモリシステム | |
JP2023044518A (ja) | メモリシステムおよび方法 | |
JP2011186555A (ja) | メモリ管理装置及び方法 | |
JP2019086974A (ja) | ストレージシステム及びその制御方法 | |
JP2013069047A (ja) | メモリシステム | |
TWI718516B (zh) | 用於快閃記憶體中保護已抹除區塊的寫入管理機制 | |
US20220405008A1 (en) | Memory system and refresh control method | |
JP2013196155A (ja) | メモリシステム | |
JP6260395B2 (ja) | メモリコントローラ、メモリシステム及びメモリ制御方法 | |
TWI771854B (zh) | 用於快閃記憶體中保護已抹除區塊的寫入管理機制 | |
WO2023084729A1 (ja) | メモリコントローラおよびフラッシュメモリシステム | |
JP2021068129A (ja) | メモリコントローラ及びフラッシュメモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220309 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230131 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230131 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230403 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230418 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230614 |
|
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: 20230627 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230726 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7321851 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |