JP7486534B2 - ストレージ・システムにおけるブロック・プール・サイズの適合 - Google Patents
ストレージ・システムにおけるブロック・プール・サイズの適合 Download PDFInfo
- Publication number
- JP7486534B2 JP7486534B2 JP2021577198A JP2021577198A JP7486534B2 JP 7486534 B2 JP7486534 B2 JP 7486534B2 JP 2021577198 A JP2021577198 A JP 2021577198A JP 2021577198 A JP2021577198 A JP 2021577198A JP 7486534 B2 JP7486534 B2 JP 7486534B2
- Authority
- JP
- Japan
- Prior art keywords
- blocks
- pool
- rtu
- rtu queue
- processor
- 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
- 238000003860 storage Methods 0.000 title claims description 120
- 238000000034 method Methods 0.000 claims description 128
- 230000004044 response Effects 0.000 claims description 46
- 238000013459 approach Methods 0.000 description 48
- 230000008569 process Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 34
- 238000013500 data storage Methods 0.000 description 29
- 238000012545 processing Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 15
- 238000002955 isolation Methods 0.000 description 8
- 230000003321 amplification Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 230000003247 decreasing effect Effects 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 7
- 238000003199 nucleic acid amplification method Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/0643—Management of files
-
- 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/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- 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/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)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Description
本記載のSSDメモリ・コントローラの文脈におけるガベージ・コレクションは、将来の使用のために再請求されるべきデータのブロックを識別して、その中のまだ有効なすべてのページを再配置するプロセスを含んでもよい。さらに、特定のコントローラ、もしくはそれぞれのガベージ・コレクションの動作単位、またはその両方に依存して、再請求もしくは再配置またはその両方のための論理消去ブロック(LEB:logical erase blocks)が識別されてもよい。通常は1つのLEBが1つのブロック・ストライプに対応するが、代替的な実施は固定数のブロック・ストライプまたは単一のブロックがLEBを構築することも考えてもよい。
本状況において、データの「書込みヒート」とは、データが更新される(例、新たなデータが再書込みされる)速度(例、頻度)を示す。「ホット」とみなされるメモリ・ブロックは頻繁な更新速度を有する傾向があり、一方で「コールド」とみなされるメモリ・ブロックはホット・ブロックよりも遅い更新速度を有する。
書込み割り当ては、書込み動作のデータを開いたLEBのフリーの位置に配置することを含む。LEBのすべてのページが書込まれるとすぐにLEBは閉じられて、占有LEBを保持するプールに配置される。通常、占有プール内のLEBはガベージ・コレクションに対して適格となる。開いたLEBの数は通常限られており、閉じられた任意のLEBは、即時またはいくらかの遅延の後に、1つ以上の消去されたブロックをLEBに関連付けることによって開かれた新鮮なLEBで置換されてもよい。
ここで図4を見ると、概念図400は「プレーン0」から「プレーンM」とラベル付けされたM+1の集約プレーンのセットを含む。集約プレーンは、異なるチャネルにおいて同じプレーン・インデックスを有するすべての物理プレーンからなる。なお、本明細書において集約プレーンは単にプレーンとも呼ばれる。
なおも図4を参照すると、集約プレーン0の分解図に示されたページの各ブロックは、キャッシュ・アーキテクチャにおいて実現されるときに1つのチャネルからの独自のブロックを構成してもよい。同様に、各チャネルはブロック・ストライプを形成する単一の個別ブロックを与える。たとえば概念図400を見ると、チャネル0からのブロック10はその中にすべてのページ(ページ0からページN)を含み、一方でチャネル4からのブロック41はその中のすべてのページに対応し、他も同様である。
Claims (20)
- ストレージ・システムにおけるブロック・プール・サイズを適合させるためのコンピュータ実施方法であって、
第1の即時使用可能な(RTU)キューに含まれるブロックの数が前記第1のRTUキューの第1閾値より高い第1の範囲内であるかどうかを判定することと、
前記第1のRTUキューに含まれる前記ブロックの数が前記第1のRTUキューの前記第1の範囲内であると判定したことに応答して、第2のRTUキューに含まれるブロックの数が前記第2のRTUキューの第2閾値より高い第2の範囲内であるかどうかを判定することと、
前記第2のRTUキューに含まれる前記ブロックの数が前記第2のRTUキューの前記第2の範囲内にないと判定したことに応答して、前記第1のRTUキューに対応する第1のプールの前記ブロックの1つからの有効データを再配置することと、
前記第1のプールの前記ブロックを消去することと、
前記第1のプールからの前記ブロックを第2のプールに対応する前記第2のRTUキューに移動することと
を含み、
前記第1のプールの前記ブロックは単一レベル・セル(SLC)モードで構成され、
前記第2のプールの前記ブロックはセル当り複数ビット・モードで構成される、
コンピュータ実施方法。 - 前記第1のプールからの前記ブロックを前記第2のプールに対応する前記第2のRTUキューに移動することは、
前記ブロックをSLCモードからセル当り複数ビット・モードに再構成することと、
前記再構成されたブロックを、自身の読取り閾値電圧シフト値の再較正のためにマークすることと
を含む、請求項1に記載のコンピュータ実施方法。 - 前記ストレージ・システムが経験している現在の入力/出力(I/O)ワークロードが第3閾値より低い第3の範囲内であるかどうかを判定することと、
前記ストレージ・システムが経験している前記現在のI/Oワークロードが前記第3の範囲内にないと判定したことに応答して、前記第1のプールからの前記ブロックを前記第2のプールに対応する前記第2のRTUキューに移動することと
を含む、請求項1に記載のコンピュータ実施方法。 - セル当り複数ビット・モードで構成された前記第2のプールの前記ブロックは、クワッド・レベル・セル(QLC)モードで構成される、請求項1に記載のコンピュータ実施方法。
- 前記第1のRTUキューに含まれる前記ブロックの数が前記第1の範囲内にないと判定したことに応答して、前記第1のプールの前記ブロックの1つを選択することと、
前記選択されたブロックからの有効データを再配置することと、
前記選択されたブロックを消去することと、
前記選択されたブロックを前記第1のプールに対応する前記第1のRTUキューに配置することと
を含む、請求項1に記載のコンピュータ実施方法。 - 前記選択されたブロックを前記第1のプールに対応する前記第1のRTUキューに配置することは、
前記選択されたブロックを自身の読取り閾値電圧シフト値の再較正のためにマークすることを含む、請求項5に記載のコンピュータ実施方法。 - 前記第2のRTUキューに含まれるブロックの数が前記第2のRTUキューの第1閾値より高い第1の範囲内であるかどうかを判定することと、
前記第2のRTUキューに含まれる前記ブロックの数が前記第2のRTUキューの前記第1の範囲内であると判定したことに応答して、前記第1のRTUキューに含まれるブロックの数が前記第1のRTUキューの第2閾値より高い第2の範囲内であるかどうかを判定することと、
前記第1のRTUキューに含まれる前記ブロックの数が前記第1のRTUキューの前記第2の範囲内にないと判定したことに応答して、前記第2のプールの前記ブロックの1つからの有効データを再配置することと、
前記第2のプールの前記ブロックを消去することと、
前記第2のプールからの前記ブロックを前記第1のプールに対応する前記第1のRTUキューに移動することと
を含む、請求項1に記載のコンピュータ実施方法。 - 前記第2のプールからの前記ブロックを前記第1のプールに対応する前記第1のRTUキューに移動することは、
前記ブロックをセル当り複数ビット・モードからSLCモードに再構成することと、
前記再構成されたブロックを、自身の閾値電圧シフト値の再較正のためにマークすることと
を含む、請求項7に記載のコンピュータ実施方法。 - 実行されるプログラム命令を有するコンピュータ可読記憶媒体であって、前記プログラム命令はプロセッサによって可読もしくは実行可能またはその両方であり、前記プロセッサに
前記プロセッサによって、第1の即時使用可能な(RTU)キューに含まれるブロックの数が前記第1のRTUキューの第1閾値より高い第1の範囲内であるかどうかを判定することと、
前記第1のRTUキューに含まれる前記ブロックの数が前記第1のRTUキューの前記第1の範囲内であると判定したことに応答して、前記プロセッサによって、第2のRTUキューに含まれるブロックの数が前記第2のRTUキューの第2閾値より高い第2の範囲内であるかどうかを判定することと、
前記第2のRTUキューに含まれる前記ブロックの数が前記第2のRTUキューの前記第2の範囲内にないと判定したことに応答して、前記プロセッサによって、前記第1のRTUキューに対応する第1のプールの前記ブロックの1つからの有効データを再配置することと、
前記プロセッサによって、前記第1のプールの前記ブロックを消去することと、
前記プロセッサによって、前記第1のプールからの前記ブロックを第2のプールに対応する前記第2のRTUキューに移動することと
を実行させ、
前記第1のプールの前記ブロックは単一レベル・セル(SLC)モードで構成され、
前記第2のプールの前記ブロックはセル当り複数ビット・モードで構成される、
コンピュータ可読記憶媒体。 - 前記第1のプールからの前記ブロックを前記第2のプールに対応する前記第2のRTUキューに移動することは、
前記ブロックをSLCモードからセル当り複数ビット・モードに再構成することと、
前記再構成されたブロックを、自身の閾値電圧シフト値の再較正のためにマークすることと
を含む、請求項9に記載のコンピュータ可読記憶媒体。 - 前記プログラム命令は前記プロセッサによって可読もしくは実行可能またはその両方であり、前記プロセッサに
前記プロセッサによって、ストレージ・システムが経験している現在の入力/出力(I/O)ワークロードが第3閾値より低い第3の範囲内であるかどうかを判定することと、
前記ストレージ・システムが経験している前記現在のI/Oワークロードが前記第3の範囲内にないと判定したことに応答して、前記プロセッサによって、前記第1のプールからの前記ブロックを前記第2のプールに対応する前記第2のRTUキューに移動することと
を実行させる、請求項9に記載のコンピュータ可読記憶媒体。 - セル当り複数ビット・モードで構成された前記第2のプールの前記ブロックは、クワッド・レベル・セル(QLC)モードで構成される、請求項9に記載のコンピュータ可読記憶媒体。
- 前記プログラム命令は前記プロセッサによって可読もしくは実行可能またはその両方であり、前記プロセッサに
前記第1のRTUキューに含まれる前記ブロックの数が前記第1のRTUキューの前記第1の範囲内にないと判定したことに応答して、前記プロセッサによって、前記第1のプールの前記ブロックの1つを選択することと、
前記プロセッサによって、前記選択されたブロックからの有効データを再配置することと、
前記プロセッサによって、前記選択されたブロックを消去することと、
前記プロセッサによって、前記選択されたブロックを前記第1のプールに対応する前記第1のRTUキューに配置することと
を実行させる、請求項9に記載のコンピュータ可読記憶媒体。 - 前記選択されたブロックを前記第1のプールに対応する前記第1のRTUキューに配置することは、
再構成された選択されたブロックを、自身の閾値電圧シフト値の再較正のためにマークすることを含む、請求項13に記載のコンピュータ可読記憶媒体。 - 前記プログラム命令は前記プロセッサによって可読もしくは実行可能またはその両方であり、前記プロセッサに
前記プロセッサによって、前記第2のRTUキューに含まれるブロックの数が前記第2のRTUキューの第1閾値より高い第1の範囲内であるかどうかを判定することと、
前記第2のRTUキューに含まれる前記ブロックの数が前記第2のRTUキューの前記第1の範囲内であると判定したことに応答して、前記プロセッサによって、前記第1のRTUキューに含まれるブロックの数が前記第1のRTUキューの第2閾値より高い第2の範囲内であるかどうかを判定することと、
前記第1のRTUキューに含まれる前記ブロックの数が前記第1のRTUキューの前記第2の範囲内にないと判定したことに応答して、前記プロセッサによって、前記第2のプールの前記ブロックの1つからの有効データを再配置することと、
前記プロセッサによって、前記第2のプールの前記ブロックを消去することと、
前記プロセッサによって、前記第2のプールからの前記ブロックを前記第1のプールに対応する前記第1のRTUキューに移動することと
を実行させる、請求項9に記載のコンピュータ可読記憶媒体。 - 前記第2のプールからの前記ブロックを前記第1のプールに対応する前記第1のRTUキューに移動することは、
前記プロセッサによって、前記ブロックをセル当り複数ビット・モードからSLCモードに再構成することと、
前記プロセッサによって、前記再構成されたブロックを、自身の閾値電圧シフト値の再較正のためにマークすることと
を含む、請求項15に記載のコンピュータ可読記憶媒体。 - データを記憶するように構成された複数の不揮発性ランダム・アクセス・メモリ(NVRAM)ブロックと、
プロセッサと、前記プロセッサに統合されるか、もしくは前記プロセッサによって実行可能であるか、またはその両方であるロジックと
を含むシステムであって、前記ロジックは、
前記プロセッサによって、第1の即時使用可能な(RTU)キューに含まれるブロックの数が前記第1のRTUキューの第1閾値より高い第1の範囲内であるかどうかを判定することと、
前記第1のRTUキューに含まれる前記ブロックの数が前記第1のRTUキューの前記第1の範囲内であると判定したことに応答して、前記プロセッサによって、第2のRTUキューに含まれるブロックの数が前記第2のRTUキューの第2閾値より高い第2の範囲内であるかどうかを判定することと、
前記第2のRTUキューに含まれる前記ブロックの数が前記第2のRTUキューの前記第2の範囲内にないと判定したことに応答して、前記プロセッサによって、前記第1のRTUキューに対応する第1のプールの前記ブロックの1つからの有効データを再配置することと、
前記プロセッサによって、前記第1のプールの前記ブロックを消去することと、
前記プロセッサによって、前記第1のプールからの前記ブロックを第2のプールに対応する前記第2のRTUキューに移動することと
を行うように構成され、
前記第1のプールの前記ブロックは単一レベル・セル(SLC)モードで構成され、
前記第2のプールの前記ブロックはセル当り複数ビット・モードで構成される、
システム。 - 前記第1のプールからの前記ブロックを前記第2のプールに対応する前記第2のRTUキューに移動することは、
前記ブロックをSLCモードからセル当り複数ビット・モードに再構成することと、
前記再構成されたブロックを、前記再構成されたブロックに対する閾値電圧シフト値の再較正のためにマークすることと
を含む、請求項17に記載のシステム。 - 前記ロジックは、
前記プロセッサによって、ストレージ・システムが経験している現在の入力/出力(I/O)ワークロードが第3閾値より低い第3の範囲内であるかどうかを判定することと、
前記ストレージ・システムが経験している前記現在のI/Oワークロードが前記第3の範囲内にないと判定したことに応答して、前記プロセッサによって、前記第1のプールからの前記ブロックを前記第2のプールに対応する前記第2のRTUキューに移動することと
を行うように構成される、請求項17に記載のシステム。 - 前記ロジックは、
前記プロセッサによって、前記第2のRTUキューに含まれるブロックの数が前記第2のRTUキューの第1閾値より高い第1の範囲内であるかどうかを判定することと、
前記第2のRTUキューに含まれる前記ブロックの数が前記第2のRTUキューの前記第1の範囲内であると判定したことに応答して、前記プロセッサによって、前記第1のRTUキューに含まれるブロックの数が前記第1のRTUキューの第2閾値より高い第2の範囲内であるかどうかを判定することと、
前記第1のRTUキューに含まれる前記ブロックの数が前記第1のRTUキューの前記第2の範囲内にないと判定したことに応答して、前記プロセッサによって、前記第2のプールの前記ブロックの1つからの有効データを再配置することと、
前記プロセッサによって、前記第2のプールの前記ブロックを消去することと、
前記プロセッサによって、前記第2のプールからの前記ブロックを前記第1のプールに対応する前記第1のRTUキューに移動することと
を行うように構成される、請求項17に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/459,393 | 2019-07-01 | ||
US16/459,393 US11182089B2 (en) | 2019-07-01 | 2019-07-01 | Adapting memory block pool sizes using hybrid controllers |
PCT/IB2020/055904 WO2021001724A1 (en) | 2019-07-01 | 2020-06-23 | Adapting block pool sizes in a storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022539133A JP2022539133A (ja) | 2022-09-07 |
JP7486534B2 true JP7486534B2 (ja) | 2024-05-17 |
Family
ID=74065734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021577198A Active JP7486534B2 (ja) | 2019-07-01 | 2020-06-23 | ストレージ・システムにおけるブロック・プール・サイズの適合 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11182089B2 (ja) |
JP (1) | JP7486534B2 (ja) |
CN (1) | CN114096952A (ja) |
DE (1) | DE112020003185T5 (ja) |
GB (1) | GB2598878B (ja) |
WO (1) | WO2021001724A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11442809B1 (en) * | 2019-07-17 | 2022-09-13 | Marvell Asia Pte, Ltd. | Double-parity raid enabling recovery of two failed data units |
US11119672B2 (en) * | 2019-08-06 | 2021-09-14 | Intel Corporation | Dynamic single level cell memory controller |
US11656792B2 (en) * | 2021-06-29 | 2023-05-23 | International Business Machines Corporation | Mirroring data in write caches of a controller of a non-volatile memory |
US11797199B2 (en) * | 2021-07-06 | 2023-10-24 | International Business Machines Corporation | Balancing utilization of memory pools of physical blocks of differing storage densities |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009086849A (ja) | 2007-09-28 | 2009-04-23 | Toshiba Corp | 半導体記憶装置 |
JP2013025821A (ja) | 2011-07-22 | 2013-02-04 | Fusion-Io Inc | ソリッドステート記憶媒体に関する設定パラメーターを判定するための装置、システム、及び方法 |
JP2015088121A (ja) | 2013-11-01 | 2015-05-07 | 株式会社東芝 | メモリシステムおよび方法 |
US20170003880A1 (en) | 2015-06-30 | 2017-01-05 | International Business Machines Corporation | Wear leveling of a memory array |
JP2019057193A (ja) | 2017-09-22 | 2019-04-11 | 東芝メモリ株式会社 | メモリシステム |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7330956B1 (en) * | 2002-04-16 | 2008-02-12 | Emc Corporation | Bucket based memory allocation |
US7610468B2 (en) * | 2006-10-26 | 2009-10-27 | Hewlett-Packard Development Company, L.P. | Modified buddy system memory allocation |
US7865658B2 (en) | 2007-12-31 | 2011-01-04 | Sandisk Il Ltd. | Method and system for balancing host write operations and cache flushing |
US8407400B2 (en) | 2008-11-12 | 2013-03-26 | Micron Technology, Inc. | Dynamic SLC/MLC blocks allocations for non-volatile memory |
US8040744B2 (en) | 2009-01-05 | 2011-10-18 | Sandisk Technologies Inc. | Spare block management of non-volatile memories |
US8312219B2 (en) | 2009-03-02 | 2012-11-13 | International Business Machines Corporation | Hybrid caching techniques and garbage collection using hybrid caching techniques |
US7948798B1 (en) | 2009-07-22 | 2011-05-24 | Marvell International Ltd. | Mixed multi-level cell and single level cell storage device |
US9021177B2 (en) * | 2010-04-29 | 2015-04-28 | Densbits Technologies Ltd. | System and method for allocating and using spare blocks in a flash memory |
US8694754B2 (en) | 2011-09-09 | 2014-04-08 | Ocz Technology Group, Inc. | Non-volatile memory-based mass storage devices and methods for writing data thereto |
US8943261B2 (en) | 2011-10-28 | 2015-01-27 | International Business Machines Corporation | Efficient memory management in software caches |
US9176862B2 (en) | 2011-12-29 | 2015-11-03 | Sandisk Technologies Inc. | SLC-MLC wear balancing |
US9965199B2 (en) * | 2013-08-22 | 2018-05-08 | Sandisk Technologies Llc | Smart dynamic wear balancing between memory pools |
US9558107B2 (en) | 2013-12-24 | 2017-01-31 | International Business Machines Corporation | Extending useful life of a non-volatile memory by health grading |
US10452280B2 (en) * | 2014-10-03 | 2019-10-22 | International Business Machines Corporation | Hybrid storage system employing reconfigurable memory |
WO2016069031A1 (en) | 2014-11-01 | 2016-05-06 | Hewlett Packard Enterprise Development Lp | Managing a storage pool |
US10254981B2 (en) * | 2016-12-12 | 2019-04-09 | International Business Machines Corporation | Adaptive health grading for a non-volatile memory |
JP2018120439A (ja) * | 2017-01-25 | 2018-08-02 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
US10545685B2 (en) | 2017-08-30 | 2020-01-28 | Micron Technology, Inc. | SLC cache management |
US20200042223A1 (en) * | 2018-08-02 | 2020-02-06 | Alibaba Group Holding Limited | System and method for facilitating a high-density storage device with improved performance and endurance |
-
2019
- 2019-07-01 US US16/459,393 patent/US11182089B2/en active Active
-
2020
- 2020-06-23 DE DE112020003185.3T patent/DE112020003185T5/de active Pending
- 2020-06-23 CN CN202080048805.7A patent/CN114096952A/zh active Pending
- 2020-06-23 JP JP2021577198A patent/JP7486534B2/ja active Active
- 2020-06-23 GB GB2200305.7A patent/GB2598878B/en active Active
- 2020-06-23 WO PCT/IB2020/055904 patent/WO2021001724A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009086849A (ja) | 2007-09-28 | 2009-04-23 | Toshiba Corp | 半導体記憶装置 |
JP2013025821A (ja) | 2011-07-22 | 2013-02-04 | Fusion-Io Inc | ソリッドステート記憶媒体に関する設定パラメーターを判定するための装置、システム、及び方法 |
JP2015088121A (ja) | 2013-11-01 | 2015-05-07 | 株式会社東芝 | メモリシステムおよび方法 |
US20170003880A1 (en) | 2015-06-30 | 2017-01-05 | International Business Machines Corporation | Wear leveling of a memory array |
JP2019057193A (ja) | 2017-09-22 | 2019-04-11 | 東芝メモリ株式会社 | メモリシステム |
Also Published As
Publication number | Publication date |
---|---|
US20210004158A1 (en) | 2021-01-07 |
GB2598878A (en) | 2022-03-16 |
US11182089B2 (en) | 2021-11-23 |
DE112020003185T5 (de) | 2022-05-19 |
WO2021001724A1 (en) | 2021-01-07 |
JP2022539133A (ja) | 2022-09-07 |
GB2598878B (en) | 2022-08-03 |
CN114096952A (zh) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7448569B2 (ja) | データ・ストレージ・システムにおけるブロック・モード・トグリング | |
US11138124B2 (en) | Migrating data between block pools in a storage system | |
US11762569B2 (en) | Workload based relief valve activation for hybrid controller architectures | |
JP7486534B2 (ja) | ストレージ・システムにおけるブロック・プール・サイズの適合 | |
US20200192735A1 (en) | Selectively performing multi-plane read operations in non-volatile memory | |
US10613784B2 (en) | Adaptive assignment of open logical erase blocks to data streams | |
US11157379B2 (en) | Managing blocks of memory based on block health using hybrid controllers | |
CN112447245A (zh) | 非易失性随机存取存储器中的混合读取电压校准 | |
US11056199B2 (en) | Updating corrective read voltage offsets in non-volatile random access memory | |
US11360903B2 (en) | Data placement in write cache architecture supporting read heat data separation | |
US11086565B2 (en) | Reducing effects of read array operations of read apparent voltage | |
US20170093440A1 (en) | Data packing for compression-enabled storage systems | |
US11036427B2 (en) | Using content addressable memory to perform read-modify-write operations in non-volatile random access memory (NVRAM) | |
US11126360B2 (en) | Dynamically adjusting block mode pool sizes | |
US11151053B2 (en) | Increasing data read and/or write heat tracking resolution in storage devices having cache architecture | |
US11036415B2 (en) | Managing memory block calibration based on priority levels | |
CN112346658B (zh) | 在具有高速缓存体系结构的存储设备中提高数据热量跟踪分辨率 | |
US11816046B2 (en) | Increased read performance for implementations having multiple interface links | |
JP7513356B2 (ja) | 不揮発性メモリにおける摩耗を意識したブロック・モード変換 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220512 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221121 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240116 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240409 |
|
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: 20240423 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240507 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7486534 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |