JP2023106490A - Storage device having programmed cell storage density modes that are function of storage device capacity utilization - Google Patents
Storage device having programmed cell storage density modes that are function of storage device capacity utilization Download PDFInfo
- Publication number
- JP2023106490A JP2023106490A JP2023080743A JP2023080743A JP2023106490A JP 2023106490 A JP2023106490 A JP 2023106490A JP 2023080743 A JP2023080743 A JP 2023080743A JP 2023080743 A JP2023080743 A JP 2023080743A JP 2023106490 A JP2023106490 A JP 2023106490A
- Authority
- JP
- Japan
- Prior art keywords
- storage
- mode
- bit
- data
- cell
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 194
- 210000004027 cell Anatomy 0.000 claims abstract description 128
- 210000000352 storage cell Anatomy 0.000 claims abstract description 76
- 239000007787 solid Substances 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 10
- 230000002093 peripheral effect Effects 0.000 claims description 7
- 239000000872 buffer Substances 0.000 description 22
- 238000000034 method Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 13
- 238000005086 pumping Methods 0.000 description 13
- 238000013459 approach Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000473391 Archosargus rhomboidalis Species 0.000 description 1
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design 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
- 239000000758 substrate Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
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)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
- Non-Volatile Memory (AREA)
- Semiconductor Memories (AREA)
Abstract
Description
本発明は概して、ストレージデバイスの容量利用率の関数であるプログラミング済みセル記憶密度モードを有するストレージデバイスに関する。 The present invention relates generally to storage devices having programmed cell storage density modes that are a function of capacity utilization of the storage device.
コンピューティングシステムがますます強力になり、それらの記憶装置は成長し続ける必要がある。この動向に応じて、大容量ストレージ半導体チップの製造業者が、ストレージセル1個に1ビット超を記憶するための手法を開発中である。残念ながら、そのようなセルは、それらのバイナリストレージセルの先行品と比較してより低速なプログラミング時間を示し得る。それ故、大容量ストレージデバイスの製造業者は、より高密度であるが低速なセルを有するメモリチップから構成されるストレージデバイスの性能を高速化するための新しい技術を開発している。 As computing systems become more powerful, their storage must continue to grow. In response to this trend, manufacturers of mass storage semiconductor chips are developing techniques for storing more than one bit per storage cell. Unfortunately, such cells may exhibit slower programming times compared to their binary storage cell predecessors. Therefore, manufacturers of mass storage devices are developing new techniques to speed up the performance of storage devices constructed from memory chips with denser but slower cells.
以下の図面と併せた以下の詳細な説明から、本発明のより良い理解が得られ得る。 A better understanding of the invention can be obtained from the following detailed description in conjunction with the following drawings.
フラッシュメモリデバイスの構造は、半導体基板の上で鉛直に延在する、互いに積み重ねられた多数の別個のストレージセルを各々が含む列のアレイから構成されるストレージセルの3次元配置と理解され得る。記憶ブロックが多数のそのような列に対応する。記憶セルブロック内のストレージセルの特定のいくつかにアクセスすべく、ワードラインワイヤ構造(「ワードライン」)が、記憶セルブロックの異なる列内の同じ鉛直方向に位置するストレージセルに結合される。 The structure of a flash memory device can be understood as a three-dimensional arrangement of storage cells extending vertically over a semiconductor substrate and consisting of an array of columns, each column containing a number of individual storage cells stacked on top of each other. A storage block corresponds to a number of such columns. To access a particular number of storage cells within a block of storage cells, word line wire structures ("word lines") are coupled to the same vertically located storage cells within different columns of the block of storage cells.
例えば、記憶ブロックの列の各々が8つのストレージセルの鉛直型積層体から構成されている場合、8つの異なるワードラインが、8つの異なる記憶レベルの記憶ブロックの列におけるそれぞれのセルにアクセスするために用いられ得る(例えば、第1ワードラインがその列の各々における最も低いセルに結合され得、2番目のワードラインがその列の各々における2番目に最も低いセルに結合され得る等である)。ストレージセルの各々が1ビット超記憶し得るフラッシュメモリの場合、単一のワードラインを通じて、情報の複数のページにアクセスし得る。ここで、大容量ストレージデバイスは従来、各々が複数のページから構成されるデータのブロックにおいてアクセス(読み出し/書き込み)がなされてきた。ストレージセル1個当たり1ビット超を記憶し得るフラッシュメモリデバイスは典型的には、ページが記憶されている記憶ブロック内の単一のワードラインをアクティブ化することにより、異なるページにアクセスできる。 For example, if each column of storage blocks consists of a vertical stack of eight storage cells, then eight different word lines would access each cell in the column of storage blocks at eight different storage levels. (e.g., the first word line may be coupled to the lowest cell in each of its columns, the second word line may be coupled to the second lowest cell in each of its columns, etc.) . In the case of flash memory, where each storage cell can store more than one bit, multiple pages of information can be accessed through a single word line. Here, mass storage devices are traditionally accessed (read/write) in blocks of data, each consisting of multiple pages. Flash memory devices that can store more than one bit per storage cell typically can access different pages by activating a single word line within the storage block in which the pages are stored.
記憶ブロックは概して、ストレージセルが消去され得る(同じブロックのセルが共に消去される)最小単位であり、ページは概して、セルが書き込まれ得るか、または「プログラミング」され得る最小単位である。従って、例えば、多数のページを書き込むようホストがSSDにコマンドした場合、単一のワードラインをアクティブ化することにより、それらのページの複数が、同じ記憶ブロック内でプログラミングされ得る。書き込みコマンドを完全に実行すべくアクティブ化されるワードラインの数は、何ページがその書き込みに関連しているか、およびワードライン1本当たり何ページがアクセス可能であるかに依存する。単一のフラッシュメモリチップも典型的には、複数の面から構成される。各面は、チップ内の固有の記憶ブロックセットを含む。 A storage block is generally the smallest unit in which storage cells can be erased (cells in the same block are erased together), and a page is generally the smallest unit in which cells can be written or "programmed." So, for example, if the host commands the SSD to write a number of pages, multiple of those pages can be programmed within the same storage block by activating a single word line. The number of wordlines activated to fully execute a write command depends on how many pages are associated with the write and how many pages are accessible per wordline. A single flash memory chip is also typically composed of multiple sides. Each plane contains a unique set of storage blocks within the chip.
上述のように、異なるフラッシュメモリ技術は概して、ストレージセル1個当たり何ビットが記憶され得るかにより特徴付けられる。具体的には、単一レベルセル(SLC)はセル1個当たり1ビットを記憶し、複数レベルセル(MLC)はセル1個当たり2ビットを記憶し、三進レベルセル(TLC)はセル1個当たり3ビットを記憶し、クワッドレベルセル(QLC)はセル1個当たり4ビットを記憶する。SLCセルのみがセル1個当たり2つの論理状態(「1」または「0」)を記憶できるのに対し、異なるタイプの「マルチビット」ストレージセルとして特徴付けられ得るMLCセルタイプ、TLCセルタイプおよびQLCセルタイプの各々は、フラッシュデバイスの記憶容量を大幅に拡張する。なぜなら、単一のセルに2つより多くのデジタル状態が記憶され得るからである(例えば、MLCセル1個に4つのデジタル状態が記憶され得、TLCセル1個に8つのデジタル状態が記憶され得、QLCセル1個に16の論理状態が記憶され得る)。 As mentioned above, different flash memory technologies are generally characterized by how many bits can be stored per storage cell. Specifically, single-level cells (SLC) store one bit per cell, multi-level cells (MLC) store two bits per cell, and ternary-level cells (TLC) store one bit per cell. Stores 3 bits per cell, and Quad Level Cells (QLC) store 4 bits per cell. While only SLC cells can store two logic states (“1” or “0”) per cell, MLC cell types, TLC cell types and Each of the QLC cell types greatly expands the storage capacity of flash devices. This is because more than two digital states can be stored in a single cell (e.g. four digital states can be stored in one MLC cell and eight digital states can be stored in one TLC cell). 16 logic states can be stored in one QLC cell).
しかしながら、セル1個当たりの記憶密度およびセル1個当たりのアクセス時間に関して、トレードオフが存在する。すなわち、概して、ストレージセルがより多くのビットを記憶するほど、情報をセルに書き込むために必要な時間の量は長くなる。ここで、より多くのビットを記憶するストレージセルは、より少ないビットを記憶するストレージセルより厳しい電荷記憶許容値を有するものと理解され得る。すなわち、より多くのビットを記憶するセルは、そのセルが記憶し得る異なる論理状態間の差を示すより少量の電荷を有するのに対し、より少ないビットを記憶するセルは、そのセルが記憶し得る論理状態間差を示すより大量の電荷を有する。 However, there is a trade-off in terms of storage density per cell and access time per cell. That is, in general, the more bits a storage cell stores, the longer the amount of time required to write information to the cell. Here, storage cells that store more bits can be understood to have tighter charge storage tolerances than storage cells that store fewer bits. That is, cells that store more bits have a smaller amount of charge that indicates the difference between the different logic states that the cell can store, while cells that store fewer bits store more bits than the cells store. It has a larger amount of charge that indicates the difference between logic states obtained.
フラッシュセルは、電荷でポンピングすることによりプログラミングまたは消去される。呼び出し1回当たりでより少ないビットを記憶するセルは、それらの記憶された電荷状態間でセル1個当たりより多くのビットを記憶するセルよりも大きい差を有し、より「粗粒度の」ポンピング処理を用いる。このポンピング処理は、セル1個当たりより多くのビットを記憶する、より「細粒度の」ポンピング処理を用いるセルよりも少ないポンピングサイクルでより大きい電荷増加を適用する。このポンピング処理は、より多くのポンピングサイクルでより少ない電荷増加(少なくとも最大ポンピング電荷量)を適用する。より少ないビットを記憶するセルに関連するポンピングサイクルがより少ないと、そのようなセルは、より多いビットを記憶するセルと比較して平均でより少ないプログラムアクセス時間を示すことになる。 Flash cells are programmed or erased by pumping them with charge. Cells that store fewer bits per invocation have a larger difference between their stored charge states than cells that store more bits per cell, resulting in more "coarse-grained" pumping. Use processing. This pumping process applies a greater charge boost in fewer pumping cycles than cells using a more "fine-grained" pumping process that stores more bits per cell. This pumping process applies less charge increments (at least the maximum amount of pumping charge) in more pumping cycles. With fewer pumping cycles associated with cells storing fewer bits, such cells will exhibit lower program access times on average compared to cells storing more bits.
従って、次世代フラッシュの製造技術はセル1個当たりの記憶容量に関する性能の向上をもたらすが、同時に、性能がセル1個当たりの平均プログラム時間に関して減少する。 Therefore, next-generation flash fabrication technologies will provide improved performance in terms of storage capacity per cell, but at the same time performance will decrease in terms of average program time per cell.
このトレードオフに対処すべく、ソリッドステートドライブ(SSD)などのフラッシュベースのストレージデバイスは、それらの基礎となる製造技術が記憶できるものより1個当たり少ないビットを記憶するセルから構成される記憶バッファを実装している。例えば、QLCフラッシュメモリチップから構成されるSSDは、SLCモードまたはMLCモードで動作するのにQLCセルの何割かを用いる。低密度モードで動作するセルは、新たに入力されたデータが書き込まれるキャッシュのようなバッファとして、SSDにより用いられる。密度はより低いがより高速なセルから構成されるバッファに新しい入力データを書き込むことにより、SSDの未処理のプログラムアクセス時間は、より高速であることが認められる。 To address this trade-off, flash-based storage devices such as solid-state drives (SSDs) have storage buffers composed of cells that store fewer bits per cell than their underlying manufacturing technology can store. is implemented. For example, SSDs constructed from QLC flash memory chips use a percentage of QLC cells to operate in SLC or MLC mode. Cells operating in low density mode are used by SSDs as cache-like buffers into which newly input data is written. By writing new input data to a buffer composed of lower density but faster cells, the raw program access time of the SSD is observed to be faster.
しかしながら、そのようなバッファの実装に関する問題が存在する。1番目の問題は、バックグラウンド処理としてコンテンツを高密度セルにライトバックすることにより、バッファのコンテンツが絶えず「クリアされて」いなければならないことである。ここで、概して、SSDバッファは、SSDの全記憶容量の1パーセントまたは2パーセント超のみを占める。バッファのコンテンツが高密度セルに規則的にライトバックされない場合、バッファは、一杯になり、SSDへの次の書き込み用に利用可能ではなくなる。残念ながら、バックグラウンド処理自体が、新しい書き込みコマンドのバッファをブロックし得る(新しい書き込みコマンドが到着した時にバッファがクリアされている場合、その書き込みコマンドは、バッファがクリアされるか、またはバックグラウンド処理が中断され得るまで待機しなければならない)。加えて、バックグラウンド処理によりSSDの動作の全体的な複雑さが増し、例えば、電力消費、コストおよび/または故障メカニズムが増すことになる。 However, there are problems with implementing such buffers. The first problem is that the contents of the buffer must be constantly "cleared" by writing back the contents to the high density cells as a background process. Here, in general, SSD buffers occupy only more than 1 or 2 percent of the total storage capacity of the SSD. If the contents of the buffer are not written back to the high density cells regularly, the buffer will fill up and become unavailable for subsequent writes to the SSD. Unfortunately, the background process itself can block the buffer for new write commands (if the buffer is cleared when the new write command arrives, the write command will either clear the buffer or the background process can be interrupted). In addition, background processing increases the overall complexity of SSD operation, resulting in increased power consumption, cost and/or failure mechanisms, for example.
図1aから図1fは、デバイスの高密度ストレージセルのはるかに大きい割合を用いる改善されたSSD設計の低密度モードでの動作を示す。加えて、これらのセルは、デバイスの標準的なストレージセルより動作が多く、上述のデバイスのバッファより動作が少ない。結果として、高度の管理を要するバックグラウンド処理の継続的な実行に関して直前に説明された課題は減少するはずである。 Figures 1a through 1f show operation in low density mode of the improved SSD design using a much larger percentage of the high density storage cells of the device. In addition, these cells operate more than the device's standard storage cells and less than the device's buffers described above. As a result, the problems just described with respect to continuously running highly managed background processes should be reduced.
図1aに示されるように、SSDは、各々がN個の記憶ブロックから構成される複数のフラッシュメモリチップから構成されるものとして見え得る。簡単にするために、図1aの例示的なアーキテクチャは、SSD内に2つのフラッシュメモリチップ(ダイ_0およびダイ_1)のみが存在すると仮定している。しかしながら、当業者であれば、本明細書において説明される例示的なデバイスの教示を、2つより多くのフラッシュメモリチップを含む他のデバイスに容易に適用できよう。これらのメモリデバイスは両方とも、4つの面(面_0から面_3)から構成される。各面は、N個の記憶ブロックを含む(従って、メモリデバイス1個当たりに4×N個の記憶ブロックが存在する)。各記憶ブロックはM本のワードラインを含み、各ワードラインは、その最高密度QLCモードで動作する場合、4つの異なるページ(下(L)、上(U)、予備(X)およびトップ(T))へのアクセスをサポートする。図1aは、例えば、デバイスが初めて用いられ、いかなるランダム顧客データもまだ記憶されていない時の初期状態を示す。 As shown in FIG. 1a, an SSD can be viewed as being composed of multiple flash memory chips, each composed of N storage blocks. For simplicity, the exemplary architecture of FIG. 1a assumes that there are only two flash memory chips (die_0 and die_1) in the SSD. However, one skilled in the art could readily apply the teachings of the exemplary devices described herein to other devices containing more than two flash memory chips. Both of these memory devices consist of four planes (plane_0 to plane_3). Each plane contains N storage blocks (so there are 4×N storage blocks per memory device). Each storage block contains M word lines and each word line, when operated in its highest density QLC mode, has four different pages (bottom (L), top (U), spare (X) and top (T)). )) to support access. FIG. 1a, for example, shows the initial state when the device is being used for the first time and no random customer data has yet been stored.
図1bは、最初のページ数101がデバイスにプログラミングされた後のSSDの状態を示す。ここで、SSDは、論理アドレスを物理アドレスにマッピングするマッピングテーブル(アドレス変換テーブルとも称される)を管理するコントローラを含む。SSDに書き込まれるデータのブロックをホストが送信する場合、ホストは、このデータにブロックアドレスも付加する。このブロックアドレスは、論理ブロックアドレス(LBU)と称される。次に、SSDは、このデータブロックをSSDに書き込み、マッピングテーブル内で、このデータのLBUを、このブロックのデータのページが記憶されているSSD内の物理位置に関連付ける。これらの特定の物理位置は、ページが記憶されているSSD内の1または複数のダイ、面、ブロック、ワードラインおよびページリソースを一意に特定する物理ブロックアドレス(PBA)で指定される。
FIG. 1b shows the state of the SSD after the
図1bから分かるように、例示的なSSDは、異なる面および異なるメモリチップにわたる同じ記憶ブロックおよびワードライン(WL)位置に入力ページを順次プログラミングし、これにより、消費された記憶量が、図1bにおける同じブロック位置およびワードライン位置にわたって左から右へと横に拡張していることが認められる。異なるSSD実装は異なる書き込みパターンを使用し得る。例えば、別のアプローチにおいて、SSDは、異なるブロックおよびワードラインにわたる同じダイおよび面リソースにわたって、入力ページを順次書き込み得る(この場合、消費された記憶容量は、同じダイ内で同じ面に沿って上から下へと鉛直に拡張することが認められるであろう)。 As can be seen from FIG. 1b, the exemplary SSD sequentially programs input pages to the same storage block and wordline (WL) locations across different sides and different memory chips, which causes the amount of memory consumed to be , extending laterally from left to right over the same block and wordline locations in . Different SSD implementations may use different write patterns. For example, in another approach, the SSD may write input pages sequentially across the same die and plane resources across different blocks and word lines (in which case the consumed storage capacity is increased along the same plane within the same die). It will be appreciated that it extends vertically from the bottom to the bottom).
図1bから分かるように、これら最初の数ページのプログラミングは、基礎となる製造技術が最高密度としてサポートするもの(QLC)よりも少ないセル1つ当たり記憶容量(MLC)で動作しているセルへの書き込みを含む。低密度のMLCモードで動作するセルにページを書き込むことにより、最高密度のQLCモードで動作するセルのみにページが書き込まれるアプローチと比較して、SSDのプログラムアクセス時間性能が向上する。すなわち、上述のように、低記憶容量のセルは、書き込みアクセス時間が高密度セルより少ない。 As can be seen from Fig. 1b, programming these first few pages leads to cells operating at less memory capacity per cell (MLC) than what the underlying manufacturing technology supports as the highest density (QLC). including the writing of Writing pages to cells operating in low-density MLC mode improves the program access time performance of SSDs compared to approaches in which pages are written only to cells operating in highest-density QLC mode. That is, as noted above, low storage capacity cells have less write access time than high density cells.
加えて、記憶密度 がより低いことが原因で、ワードライン1本当たりのページ容量の半分のみが消費される。すなわち、例えば、セル1個当たり2ビットのみが記憶されるMLCモードで動作するセルを用いると、ワードライン1本当たり2ページのみが記憶され得る。以下でさらにより詳細に説明されるように、ページの記憶容量の未使用の半分は、SSDのストレージセルの全容量の閾値量が消費された場合に消費され得、その結果として、これらのセルを低密度MLCモードから高密度QLCモードに切り替える正当な理由となり得る。 In addition, due to the lower storage density, only half the page capacity is consumed per wordline. That is, for example, with cells operating in MLC mode where only two bits are stored per cell, only two pages can be stored per word line. As will be explained in further detail below, the unused half of a page's storage capacity can be consumed when a threshold amount of the total capacity of the SSD's storage cells is consumed, resulting in these cells may be a justification for switching from low-density MLC mode to high-density QLC mode.
ワードライン1本の潜在的なページ記憶の半分のみへの書き込みのパターンが、ブロックアドレス0(BA=0)およびワードラインアドレス0(WL=0)の2ページ(LおよびU)のみが複数の面およびダイにわたって書き込まれているという点で、図1bから直接的に見てとれる。ここで、SSDへのページの初期プログラミング101中に記憶ブロックの潜在的な容量の50%が未使用なので、4ページの情報を書き込むためには(たとえ、4ページの情報がQLCモードで単一のブロックの単一のワードラインに記憶され得るとしても)2つのブロックが必要である。すなわち、セルが低密度モード(セルモード当たり2ビット)で動作しているので、各ブロックは、ワードライン1本当たり2ページのみを記憶できる。それ故、2番目のブロックおよびワードラインの組み合わせは、3番目のページおよび4番目のページを記憶する必要がある。これに対し、セルが高密度モード(セルモード当たり4ビット)で動作していた場合には、ブロックおよびワードラインの組み合わせ1つ当たり4ページがプログラミングされ得る。 The pattern of writes to only half of the potential page stores on one word line is that only two pages (L and U) at block address 0 (BA=0) and word line address 0 (WL=0) are multiple. It can be seen directly from FIG. 1b in that it is written across the face and die. Now, in order to write 4 pages of information (even if 4 pages of information are two blocks are required, even though they can be stored in a single word line of blocks of . That is, each block can only store two pages per word line since the cells are operating in low density mode (two bits per cell mode). Therefore, the second block and wordline combination is required to store the third and fourth pages. In contrast, if the cell were operating in high density mode (4 bits per cell mode), four pages per block and word line combination could be programmed.
再びであるが、同じ面およびダイの異なるブロックおよびワードラインにわたってデータが順次書き込まれる書き込みパターンを用いる代替的な実装では、ページLおよびUがダイ1の面0のBA=0およびWL=0に書き込まれた後、SSDは、例えば、ダイ1の面0のBA=0およびWL=1にページLおよびUを書き込み得る。この特定の実施形態では、再びであるが、特定のワードラインに沿った潜在的な記憶容量の半分のみがプログラミングされる。従って、無数の異なる記憶ブロックおよびワードラインの組み合わせのシーケンスが存在し、これらは、特定のプログラミングパターンを、SSDに書き込まれている新しいページとして定義するために用いられ得る。議論を容易にするために、本説明の残りでは主に、ページ書き込みパターンが図1bから図1fに示される実施形態のみに言及する。
Again, in an alternative implementation using a write pattern in which data is written sequentially across different blocks and word lines of the same side and die, pages L and U are on
図1cは、追加の新しいページが低密度モードでSSDにプログラミングされた後のSSDのさらなる状態を示す。ここで、図1cから理解され得るように、BA=0およびWL=0でのLページ位置およびUページ位置の全てが、SSD内の両方のダイの全ての面にわたって、より低いセル当たり記憶密度で書き込まれている。従って、SSDにわたる位置BA=0およびWL=0における全てのセルが低密度モードで書き込まれているので、そのようなセルは、それらの現在のモードの最大容量(ワードライン1本当たり2ページ)となっているが、それらの潜在的な最大容量(ワードライン1本当たり4ページ)とはなっていない。すなわち、図1cから分かるように、ページ位置XおよびTには、これらの同じ記憶ブロック、面およびダイにわたって何も書き込まれておらず、このことが、これらのブロックの潜在的な最大記憶容量の利用率の50%の低下をもたらしている。しかしながら、ストレージセルがより低い密度の記憶モードで動作したことが原因で、これらのページのプログラミングをより少ない時間で行うことができている。 FIG. 1c shows the further state of the SSD after an additional new page has been programmed into the SSD in low density mode. Here, as can be seen from FIG. 1c, all of the L and U page locations at BA=0 and WL=0 yield lower storage densities per cell across all sides of both dies in the SSD. is written in Therefore, since all cells at locations BA=0 and WL=0 across the SSD have been written in low density mode, such cells have the maximum capacity of their current mode (2 pages per wordline). but not their maximum potential capacity (4 pages per word line). That is, as can be seen from FIG. 1c, page locations X and T have nothing written across these same storage blocks, sides and dies, which limits the potential maximum storage capacity of these blocks. resulting in a 50% drop in utilization. However, programming of these pages can be done in less time due to the storage cells operating in a lower density storage mode.
図1dは、組み合わされたデータの量がSSDの最大容量のうちの50%の容量に対応する追加のページ数が前述の書き込みパターンに従ってSSDにプログラミングされた後のSSDの別のさらなる状態を示す。ここで、再びであるが、書き込まれたセルは、SSDの書き込みアクセス時間がSSDの記憶容量の利用率50%まで改善された低密度モードで動作している。伝統的なSSDバッファが典型的にはSSDのストレージセルの1%または2%を用いるに過ぎないという本説明の出だしでの議論を振り返り、本明細書において説明される改善されたアプローチは、SSDが、SSDのストレージセルの50%を消費したバッファから構成されている「かのように」SSD性能を示すはずであることに留意されたい。 FIG. 1d shows another further state of the SSD after an additional number of pages, whose combined amount of data corresponds to a capacity of 50% of the SSD's maximum capacity, have been programmed into the SSD according to the aforementioned write pattern. . Here again, the written cells are operating in a low density mode where the SSD write access time is improved to 50% utilization of the SSD's storage capacity. Reflecting on the discussion at the beginning of this description that traditional SSD buffers typically only use 1% or 2% of an SSD's storage cells, the improved approach described herein should show SSD performance "as if" it consisted of buffers that consumed 50% of the SSD's storage cells.
重要なことには、そのような大きい有効バッファを用いると、バッファのサイズが小さいことに起因して、利用可能な領域を生成するためにバッファから情報を絶えず読み出している、コストが高く高度の管理を要するバックグラウンド処理を実装する必要はほとんど/全くない。むしろ、改善されたアプローチの有効バッファは、SSDの記憶容量の50%である初期容量を有する。そのような大きい有効バッファを用いると、少なくとも初めのうちは、データを有効バッファから連続して読み出す必要はなく、むしろ、プログラミングされたデータは、標準的なセル記憶使用量モデルに従って単に所定の位置に留まり得る。 Importantly, with such a large effective buffer, due to the small size of the buffer, constantly reading information from the buffer to generate available space is costly and expensive. There is little/no need to implement background processes that require administration. Rather, the effective buffer of the improved approach has an initial capacity that is 50% of the SSD's storage capacity. With such a large valid buffer, at least initially, data need not be read continuously from the valid buffer; rather, programmed data is simply stored in place according to the standard cell storage usage model. can stay in
図1eから図1fは、SSDがさらに多くのページをSSDにプログラミングした後の図1dの状態から先へと継続する書き込みパターンを示す。ここで、SSDの記憶容量の50%が消費されたがストレージセルの100%がそれらの最大記憶容量の50%で使用されている図1dの状態の後、セルは、より多くのページの記憶を受け入れるべく、MLCモードからそれらの完全なQLCモードに切り替えられる必要がある。 Figures 1e to 1f show the write pattern continuing from the state of Figure 1d onwards after the SSD has programmed more pages to the SSD. Now, after the situation in Fig. 1d, where 50% of the SSD's storage capacity has been consumed but 100% of the storage cells are being used at 50% of their maximum storage capacity, the cells can store more pages of storage. must be switched from MLC modes to their full QLC mode to accommodate .
それ故、図1eにおいて認められるように、書き込みパターンは、2番目のパスについて、しかし、MLC密度モードではなくQLC密度モードで反復する。それ故、さらに2ページ分の記憶容量が、SSDの異なる面およびダイにわたる全てのBA=0およびWL=0の位置に沿って利用可能である。具体的には、図1eは、SSDの異なる面およびダイにわたるBA=0およびWL=0の位置のページ位置XおよびTにおけるデータで消費されているこれらの位置のそれまでに未使用の容量を示す。最大セル密度モードでのページの書き込みにより、QLCモードに関連する書き込み時間が長くなることが原因で、SSDの性能が、最初のセル利用率50%と比較して低速化し得る。上記の別の手法では、SSDは、MLCのようなSSDの容量利用率の最初の50%への高速化を示す。(図1dから図1eに)SSDの記憶容量の最初の50%が利用された後、SSDの性能は、低速のQLCプログラミング処理を導入したことに起因する何らかの低下を経験する。 Therefore, as seen in FIG. 1e, the writing pattern repeats for the second pass, but in the QLC density mode rather than the MLC density mode. Therefore, two additional pages of storage capacity are available along all BA=0 and WL=0 locations across different sides and dies of the SSD. Specifically, FIG. 1e shows the previously unused capacity of these locations being consumed by data in page locations X and T of locations with BA=0 and WL=0 across different sides and dies of the SSD. show. Writing a page in maximum cell density mode can slow down SSD performance compared to the initial 50% cell utilization due to the longer write times associated with QLC mode. In another approach above, SSDs show a speedup to the first 50% of the capacity utilization of SSDs like MLC. After the first 50% of the SSD's storage capacity has been utilized (FIGS. 1d to 1e), the SSD's performance experiences some degradation due to the introduction of the slow QLC programming process.
1つのアプローチによれば、MLCデータをQLCデータと共に記憶するセルをプログラミングすべく、元のMLCモードでの電荷分布は、図2において提供される電荷分布転送図に従って、QLCモードに変換される。ここで、分かるように、セル1個当たりに記憶された2ビットは、4ビットQLCモードで2つの最下位ビットに変換される。図2を図1aから図1fと比較すると、LページおよびUページが新しいQLCモードで記憶された4つのビットの最下位ビットを占有しているのに対し、新たに書き込まれたページのうちのXページおよびTページは、QLCモードで記憶された4ビットのうちの2つの最高位ビットを占有している。一実施形態において、セル1個当たり4つの記憶されたビットが、それらがT、X、U、Lとして最高位ビットから最下位ビットまで表すページに関して編成される。 According to one approach, to program cells that store MLC data together with QLC data, the charge distribution in the original MLC mode is converted to QLC mode according to the charge distribution transfer diagram provided in FIG. Here, as can be seen, the 2 bits stored per cell are converted to the 2 least significant bits in 4-bit QLC mode. Comparing FIG. 2 with FIGS. 1a to 1f, the L and U pages occupy the least significant bits of the four bits stored in the new QLC mode, whereas of the newly written pages X and T pages occupy the two most significant bits of the four bits stored in QLC mode. In one embodiment, the four stored bits per cell are organized in terms of pages where they are represented as T, X, U, L from most significant bit to least significant bit.
様々な実施形態において、書き込みパターンの2番目のパスをQLC密度で書き込む場合にMLCからQLCへの電荷の再分配を適切に実行すべく、当初は1番目のパスがMLCモードである間中あるセルに記憶されていたビットのペアが、そのセルから読み出され、次に、そのセルに書き込まれるべき新しいデータと組み合わされる。次に、組み合わされた4ビット(元の2ビットおよび新しい2ビット)は、そのセルにプログラミングされる。 In various embodiments, to properly perform charge redistribution from MLC to QLC when the second pass of the write pattern is written at QLC density, initially during the first pass is in MLC mode. A pair of bits that were stored in a cell are read from that cell and then combined with the new data to be written to that cell. The combined 4 bits (the original 2 bits and the new 2 bits) are then programmed into the cell.
図1fおよび図1gは、追加の記憶されたページ数に関して図1cおよび図1dとそれぞれ同等である以下の状態を示す。図1fおよび図1gから分かるように、SSDにおけるセルは、2番目のパスがセル当たり最大記憶密度モードである間中、継続的に上書きされ、これにより、各セルの記憶容量が、2つの追加のページXおよびTの各々から追加の2ビットだけ拡張される。従って、図1gのSSDの状態の時点で、SSDの全記憶容量に到達している。 Figures 1f and 1g show the following conditions which are equivalent to Figures 1c and 1d respectively with respect to the number of additional stored pages. As can be seen from FIGS. 1f and 1g, the cells in the SSD are continuously overwritten during the second pass in maximum storage density mode per cell, which increases the storage capacity of each cell by two additional are extended by an additional 2 bits from each of pages X and T of . Therefore, at the time of the state of the SSD in FIG. 1g, the full storage capacity of the SSD has been reached.
様々な実施形態において、SSDのウェアレベリング機能により維持される情報は、高密度かつ低速なセルへの切り替えの結果としてのSSDに対する認められた性能ヒットを最小化するために用いられ得る。ここで、当該技術分野において公知であるように、スより高い頻度で書き込まれるストレージセルは、より低い頻度で書き込まれるセルよりも速く消耗する。 In various embodiments, the information maintained by the SSD's wear leveling function can be used to minimize the perceived performance hit to the SSD as a result of switching to denser and slower cells. Here, as is known in the art, storage cells that are written more frequently wear out faster than cells that are written less frequently.
故に、SSDのコントローラは、ウェアレベリングを実行して、情報のうち頻繁にアクセスされる「ホット」ブロックを、まれにアクセスされたに過ぎない「よりコールドな」ブロックに再マッピングする。ここで、コントローラは、SSDの物理アドレスのアクセスレート(および/または総アクセス数)をモニタリングし、これらの物理アドレスをホストにより提供される元のLBUにマッピングした内部マップを維持する。モニタリングされたレートおよび/またはカウントに基づいて、コントローラは、いつ特定のブロックが「ホット」とみなされてそれらの関連データのスワッピングが必要になったかを決定するとともに、いつ特定のブロックが「コールド」とみなされてデータのホットブロックを受け取り得るかを決定する。伝統的なウェアレベリングアプローチにおいて、よりコールドなブロックの情報も、ホットブロックにスワッピングされ得る。 Thus, the SSD's controller performs wear leveling to remap frequently accessed "hot" blocks of information to infrequently accessed "colder" blocks. Here, the controller monitors the access rate (and/or total number of accesses) of the physical addresses of the SSD and maintains an internal map mapping these physical addresses to the original LBUs provided by the host. Based on the monitored rates and/or counts, the controller can determine when certain blocks are considered "hot" and require swapping of their associated data, and when certain blocks are "cold." ” to determine if a hot block of data can be received. In the traditional wear leveling approach, information in colder blocks may also be swapped to hot blocks.
ひとたび高密度セル記憶モードの利用が始まると認められる、プログラミング性能の低下の影響を減らすべく、ウェアレベリング機能により維持されるホットブロックデータおよびコールドブロックデータも、MLCモードで動作しているセルにおけるホットページを維持するために、また、QLCモードで動作しているストレージセルにおけるコールドページを維持するために用いられ得る。ここで、例えば、図1eはSSDを示す。SSDのストレージセルのうちのかなりの割合がMLCモードで動作しており、SSDのストレージセルのうちのかなりの割合がQLCモードで動作している。従って、低速QLCセル内に十分な数のホットブロックが存在し得、高速MLCセル内に十分な数のコールドブロックが存在し得る。コントローラにより維持されるウェアレベリングデータは、ホットブロックが高速MLCセルへと動かされ、コールドブロックが低速QLCセルへと動かされるようにこれらのページの位置をインテリジェントにスワップするために用いられ得る。 The hot and cold block data maintained by the wear leveling feature is also used to reduce the impact of degraded programming performance once utilization of the high density cell storage mode begins. It can be used to maintain pages and to maintain cold pages in storage cells operating in QLC mode. Here, for example, FIG. 1e shows an SSD. A significant percentage of SSD storage cells operate in MLC mode and a significant percentage of SSD storage cells operate in QLC mode. Therefore, there may be a sufficient number of hot blocks in slow QLC cells and a sufficient number of cold blocks in fast MLC cells. Wear leveling data maintained by the controller can be used to intelligently swap the positions of these pages such that hot blocks are moved to fast MLC cells and cold blocks are moved to slow QLC cells.
容量利用率が50%またはそれより低く落ち込むと、SSDは完全にMLCモードで動作する状態に戻り得ることに留意されたい。 Note that when capacity utilization drops below 50%, the SSD may return to operating entirely in MLC mode.
図3は、上記で提供される教示と一致して動作し得るSSD301の実施形態を示す。図3において認められるように、SSDは、1ビットより多くを記憶できる多くのストレージセル302を含む。加えて、SSDのストレージセルのほとんどまたは全ては、MLCモードおよびQLCモードの両方で動作可能である。これらのセルの特定の1つがこれらのモードのうちのどの1つで動作するかは、SSDの記憶容量利用率に依存する(例えば、全容量利用率の50%またはそれ未満では、全てのセルがMLCモードで動作し、容量利用率50%から100%の間では、いくつかのセルがMLCモードで動作し、一方、他のセルがQLCモードで動作し、容量利用率100%では、全てのセルがQLCモードで動作する)。
FIG. 3 illustrates an embodiment of
SSDは、コントローラ306を含む。コントローラ306は、どのセルがMLCモードで動作するか、およびどのセルがQLCモードで動作するかの決定を担う。詳細に上述される一実施形態によれば、最初のプログラミングパスが、MLCモードで動作する全てのセルに適用され、次に、2番目のパスが、QLCモードで動作する全てのセルに適用される。容量利用率情報および/またはどのセルがどのモード311で動作しているかを特定する情報は、例えば、コントローラ306内で結合および/または統合されたメモリ領域および/またはレジスタ領域310において維持される。一実施形態において、そのような情報は、セルのセットがそれらの動作のMLCモード/QLCモードに関して共通のグループとして同一に扱われる各物理アドレスまたは何らかの粒度(例えば、ブロックID)について、MLCビット/QLCビットまたは類似のデジタル記録で表される。
The SSD includes
従って、そのような粒度がブロックレベルである場合、各ブロックは、情報311において特定され、これらのブロックの各々が初めてプログラミングされる時点をMLCについてさらに指定する。上50%超の容量利用率では、SSDがMLCセルからQLCセルへの変換を始めた場合、情報311は、QLCモードをQLCモードで新たに上書きされた各MLCブロックと共に示すように変更される。容量利用率100%に到達する時までに、全てのブロックの情報311がQLCモードを示すはずである。情報311は、どのブロックが実際に書き込まれるかも指定し得る。これにより、コントローラ306は、容量利用率の割合を決定し得る。その上、上述のように、情報311は、コントローラ306により実行されるウェアレベリングアルゴリズムを強化するために用いられ得る。具体的には、コントローラ306により実行されるウェアレベリングアルゴリズムは、ホットブロックをQLCブロックからMLCブロックへとスワップし得、コールドブロックをMLCブロックからQLCブロックへとスワップし得る。
Thus, if such granularity is at the block level, each block is identified in
コントローラ306は、電荷ポンピング回路307にも結合される。電荷ポンピング回路307は、QLCモードおよびMLCモードについて異なる電荷ポンピング信号シーケンスを生成するように設計されている。ここで、コントローラ306は、書き込まれているセルにはどの動作モードが適切であるかについてのSSDの容量利用率に基づくコントローラの決定に従って任意の特定のプログラミングシーケンスにどの信号(MLCまたはQLC)を適用すべきかを電荷ポンピング回路307に通知する。
コントローラは、専用ハードワイヤード論理回路(例えば、ハードワイヤード特定用途向け集積回路(ASIC)ステートマシンおよびサポート回路)、プログラマブル論理回路(例えば、フィールドプログラマブルゲートアレイ(FPGA))、プログラマブル論理デバイス(PLD)、プログラムコードを実行するように設計された論理回路(例えば、エンベデッドプロセッサ、エンベデッドコントローラ等)またはこれらの任意の組み合わせとして実装され得る。コントローラ306の少なくともいくつかの部分がプログラムコードを実行するように設計される実施形態において、プログラムコードは、ローカルメモリ(例えば、情報311が維持される同じメモリ)に記憶され、そこからコントローラにより実行される。I/Oインターフェース312が、コントローラ306に結合され、業界標準の周辺インターフェースまたはストレージインターフェース(例えば、周辺コンポーネントインターコネクト(PCIe)、ATA/IDE(Advanced Technology Attachment/Integrated Drive Electronics)、ユニバーサルシリアルバス(USB)、IEEE1394(「ファイヤワイヤ」)等)との互換性を有し得る。
Controllers may include dedicated hardwired logic circuits (e.g., hardwired application-specific integrated circuit (ASIC) state machines and support circuits), programmable logic circuits (e.g., field programmable gate arrays (FPGAs)), programmable logic devices (PLDs), It may be implemented as logic circuitry (eg, an embedded processor, embedded controller, etc.) designed to execute program code, or any combination thereof. In embodiments in which at least some portion of
これは、他の実施形態が、本明細書において提供される教示を、たとえそれらが上述の特定の実施形態からいく分逸脱していたとしても利用し得る旨を認識することに関連する。特に、他の実施形態は、SSDの動作により新しいプログラミングがMLCモードからQLCモードに変わるSSD容量利用率の割合を変更し得る。例えば、一実施形態において、容量が50%(または25%から50%の間の任意の容量)ではなく25%に到達した時に、セルの書き込みがQLCモードで始まる。この場合、例えば、図1dの状態に到達する前に、QLCモードでのプログラミングが開始される。また、様々な実施形態は、ユーザ/ホストに、どの容量利用率でQLCモードへの切り替えが始まるかを設定するようにさせ得る。例えば、SSDは、25%、30%、33%、40%および50%、または25%以上50%以下の間の任意の容量利用率という設定可能なオプションをサポートし得る。おそらく、25%未満の容量利用率も、QLCモードへの切り替えをトリガするために用いられ得る。 This is related to recognizing that other embodiments may utilize the teachings provided herein, even if they deviate somewhat from the specific embodiments described above. In particular, other embodiments may change the percentage of SSD capacity utilization at which new programming changes from MLC mode to QLC mode due to SSD operation. For example, in one embodiment, cell writing begins in QLC mode when capacity reaches 25% instead of 50% (or any capacity between 25% and 50%). In this case, for example, programming in QLC mode is started before reaching the state of FIG. 1d. Various embodiments may also allow the user/host to configure at what capacity utilization the switch to QLC mode will begin. For example, SSDs may support configurable options of 25%, 30%, 33%, 40% and 50%, or any capacity utilization between 25% and 50%. Possibly less than 25% capacity utilization can also be used to trigger switching to QLC mode.
これは、MLCの低密度モードおよびQLCの高密度モードが例示的なものに過ぎず、他の実施形態が異なる低密度モードおよび/または異なる高密度モードを有し得る旨を認識することにも関する。例えば、一実施形態において、低密度がTLCであり、高密度がQLCである。この実施形態において、高密度モードへの切り替えは、容量利用率が例えば75%(全てのセルがセル1個当たり3ビットでプログラミングされた時)またはそれ未満に到達した時に生じ得ることに留意されたい。別の実施形態において、低密度がSLCであり、高密度がQLCである。この実施形態において、高密度モードへの切り替えは、容量利用率が25%に到達した時(全てのセルがセル1個当たり1ビットでプログラミングされた時)に生じ得ることに留意されたい。以前のTLC/QLC SSDは、より少ないが高速の有効バッファを有するSLC/QLC SSDよりも多いが低速の有効バッファを有していた。従って、高密度モードへの切り替えが生じる場合の正確な割合は、利用される特定の低密度モードおよび高密度モードの機能でもあり得る。 It is also recognized that the MLC low density mode and QLC high density mode are exemplary only, and that other embodiments may have different low density modes and/or different high density modes. related. For example, in one embodiment, the low density is TLC and the high density is QLC. Note that in this embodiment, switching to high density mode may occur when capacity utilization reaches, for example, 75% (when all cells are programmed at 3 bits per cell) or less. sea bream. In another embodiment, the low density is SLC and the high density is QLC. Note that in this embodiment, switching to high density mode can occur when capacity utilization reaches 25% (when all cells are programmed with 1 bit per cell). Previous TLC/QLC SSDs had more but slower effective buffers than SLC/QLC SSDs which had less but faster effective buffers. Therefore, the exact rate at which switching to high density mode occurs may also be a function of the particular low and high density modes utilized.
本明細書における教示は、図3に関連して上述された特定のSSD以外のシステムにも適用され得る。例えば、上述のコントローラ306の機能は、部分的に、または全体的にホストシステムに統合され得る。
The teachings herein may also be applied to systems other than the specific SSD described above in connection with FIG. For example, the functions of
図4は上述の方法を示す。方法は、複数のフラッシュメモリチップのマルチビットストレージセルを低密度記憶モードにプログラミングする段階(401)を含む。方法は、複数のフラッシュメモリチップの記憶容量の少なくとも25%がプログラミングされた後に、複数のフラッシュメモリチップのマルチビットストレージセルを高密度記憶モードにプログラミングする段階(402)も含む。 FIG. 4 illustrates the method described above. The method includes programming (401) multi-bit storage cells of a plurality of flash memory chips to a low density storage mode. The method also includes programming (402) multi-bit storage cells of the plurality of flash memory chips to a high density storage mode after at least 25% of the storage capacity of the plurality of flash memory chips has been programmed.
図5は、コンピューティングシステム500(例えば、スマートフォン、タブレット型コンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、サーバコンピュータ等)の例示的な図を提供する。図5において認められるように、ベーシックコンピューティングシステム500は、(例えば、複数の汎用処理コア515_1から515_Xを含み得る)中央処理装置501と、マルチコアプロセッサまたはアプリケーションプロセッサ上に配置されたメインメモリコントローラ517と、システムメモリ502と、ディスプレイ503(例えば、タッチスクリーン、フラットパネル)と、ローカル有線ポイントツーポイントリンク(例えば、USBインターフェース504)と、様々なネットワークI/O機能505(Ethernet(登録商標)インターフェースおよび/またはセルラーモデムサブシステムなど)と、無線ローカルエリアネットワーク(例えば、WiFi)インターフェース506と、無線ポイントツーポイントリンク(例えば、Bluetooth(登録商標))インターフェース507と、全地球測位システムインターフェース508と、様々なセンサ509_1から509_Yと、1または複数のカメラ510と、バッテリ511と、電力管理制御ユニット512と、スピーカおよびマイク513とオーディオコーダ/デコーダ514とを含み得る。
FIG. 5 provides an exemplary diagram of a computing system 500 (eg, smart phone, tablet computer, laptop computer, desktop computer, server computer, etc.). As seen in FIG. 5, a
アプリケーションプロセッサまたはマルチコアプロセッサ550は、そのCPU501内の1または複数の汎用処理コア515と、1または複数のグラフィック処理ユニット516と、メモリ管理機能517(例えば、メモリコントローラ)と、I/O制御機能518とを含み得る。汎用処理コア515は典型的には、コンピューティングシステムのオペレーティングシステムおよびアプリケーションソフトウェアの動作を実行する。グラフィック処理ユニット516は典型的には、例えば、ディスプレイ503に表示されるグラフィック情報を生成するグラフィック集約機能 を実行する。メモリ制御機能517は、システムメモリ502とインターフェースして、システムメモリ502との間でデータの書き込み/読み出しを行う。電力管理制御ユニット512は概して、システム500の電力消費を制御する。
Application processor or
タッチスクリーンディスプレイ503、通信インターフェース504-707、GPSインターフェース508、センサ509、カメラ510およびスピーカ/マイクコーデック513、514の各々は、必要に応じて統合型周辺デバイス(例えば、1または複数のカメラ510)も含むコンピューティングシステム全体に対する様々な形式のI/O(入力および/または出力)として見られ得る。実装に応じて、これらのI/Oコンポーネントのうちの様々なものが、アプリケーションプロセッサ/マルチコアプロセッサ550上で統合され得るか、またはダイの外またはアプリケーションプロセッサ/マルチコアプロセッサ550のパッケージの外に配置され得る。
Each of the
コンピューティングシステムは、システムの大容量ストレージコンポーネントであり得る不揮発性ストレージ520も含む。ここで、例えば、大容量ストレージは、上記で詳細に説明されるように、SSDの容量利用率に応じてそのマルチビットストレージセルが異なる記憶密度でプログラミングされるフラッシュメモリチップから構成される1または複数のSSDから構成され得る。
The computing system also includes
本発明の実施形態は、上記の様々な処理を含み得る。これらの処理は、機械実行可能命令において具現化され得る。この命令は、汎用プロセッサまたは特定用途向けプロセッサに特定の処理を実行させるために用いられ得る。代替的に、これらの処理は、処理を実行するためのハードワイヤード論理回路またはプログラマブル論理回路(例えば、FPGA、PLD)を含む特定ハードウェアコンポーネント/カスタムハードウェアコンポーネントにより、またはプログラミングされたコンピュータコンポーネントおよびカスタムハードウェアコンポーネントの任意の組み合わせにより実行され得る。 Embodiments of the invention may include various processes described above. These processes may be embodied in machine-executable instructions. The instructions may be used to cause a general purpose or special purpose processor to perform specific processing. Alternatively, these processes may be performed by specific/custom hardware components including hardwired or programmable logic circuits (e.g., FPGAs, PLDs) to perform the processes, or by programmed computer components and It can be implemented by any combination of custom hardware components.
本発明の要素は、機械実行可能命令を記憶するための機械可読媒体としても提供され得る。機械可読媒体は、限定はされないが、フロッピー(登録商標)ディスケット、光ディスク、CD-ROM、磁気光ディスク、フラッシュメモリ、ROM、RAM、EPROM、EEPROM、磁気カードもしくは光カード、伝播媒体、または電子命令を記憶するのに適した他のタイプの媒体/機械可読媒体を含み得る。例えば、本発明は、通信リンク(例えば、モデム接続またはネットワーク接続)を介して搬送波または他の伝播媒体に具現化されるデータ信号を用いて、リモートコンピュータ(例えば、サーバ)から要求しているコンピュータ(例えば、クライアント)に転送され得るコンピュータプログラムとしてダウンロードされ得る。 Elements of the present invention may also be provided as a machine-readable medium for storing machine-executable instructions. Machine-readable media include, but are not limited to, floppy diskettes, optical disks, CD-ROMs, magneto-optical disks, flash memory, ROM, RAM, EPROM, EEPROM, magnetic or optical cards, transmission media, or electronic instructions. Other types of media/machine-readable media suitable for storage may be included. For example, the present invention enables a computer requesting data from a remote computer (e.g., a server) using data signals embodied in carrier waves or other propagation media over a communications link (e.g., a modem or network connection). It can be downloaded as a computer program that can be transferred to (eg, a client).
上述の明細書において、本発明は、その特定の例示的な実施形態を参照して説明されている。しかしながら、添付の特許請求の範囲に記載される本発明のより広い趣旨および範囲から逸脱することなく、様々な修正および変更がなされ得ることは明らかであろう。よって、本明細書および図面は、限定的な意味ではなく、例示的な意味で解釈されるべきである。 In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes can be made without departing from the broader spirit and scope of the invention as set forth in the appended claims. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
[項目1]
ストレージデバイスを備え、
上記ストレージデバイスは、コントローラと、複数のフラッシュメモリチップとを有し、
上記複数のフラッシュメモリチップは、マルチビットストレージセルの3次元スタックを含み、
上記マルチビットストレージセルは、複数の記憶密度モードを有し、
上記コントローラは、少なくとも25%という上記ストレージデバイスの記憶容量閾値まで上記セルを低密度記憶モードにプログラミングし、ひとたび上記容量閾値に到達すると、上記セルを高密度モードにプログラミングする、
装置。
[項目2]
上記低密度記憶モードはマルチレベルセル(MLC)である、
項目1に記載の装置。
[項目3]
上記高密度記憶モードはクワッドレベルセル(QLC)である、
項目2に記載の装置。
[項目4]
上記記憶容量閾値は50%である、
項目3に記載の装置。
[項目5]
上記記憶容量閾値は25%以上75%以下の範囲内である、
項目1に記載の装置。
[項目6]
上記高密度記憶モードはQLCである、
項目1に記載の装置。
[項目7]
上記ストレージデバイスはソリッドステートドライブである、
項目1に記載の装置。
[項目8]
複数のフラッシュメモリチップのプログラミングレベルを決定するコントローラを備え、
上記複数のフラッシュメモリチップは、マルチビットストレージセルの3次元スタックを含み、
上記マルチビットストレージセルは、複数の記憶密度モードを有し、
上記コントローラは、少なくとも25%という上記フラッシュメモリチップの記憶容量閾値まで上記セルを低密度記憶モードにプログラミングし、ひとたび上記容量閾値に到達すると、上記セルを高密度記憶モードにプログラミングする、
装置。
[項目9]
上記低密度記憶モードはマルチレベルセル(MLC)である、
項目8に記載の装置。
[項目10]
上記高密度記憶モードはクワッドレベルセル(QLC)である、
項目9に記載の装置。
[項目11]
上記記憶容量閾値は50%である、
項目10に記載の装置。
[項目12]
上記記憶容量閾値は25%以上75%以下の範囲内である、
項目8に記載の装置。
[項目13]
上記高密度記憶モードはQLCである、
項目8に記載の装置。
[項目14]
上記ストレージデバイスはソリッドステートドライブである、
項目8に記載の装置。
[項目15]
複数の処理コアと、
メインメモリと、
上記複数の処理コアと上記メインメモリとの間に結合されたメモリコントローラと、
周辺ハブコントローラと、
上記周辺ハブコントローラに結合されたソリッドステートドライブと
を備え、
上記ソリッドステートドライブは、コントローラと、複数のフラッシュメモリチップとを有し、
上記複数のフラッシュメモリチップは、マルチビットストレージセルの3次元スタックを含み、
上記マルチビットストレージセルは、複数の記憶密度モードを有し、
上記コントローラは、少なくとも25%という上記ストレージデバイスの記憶容量閾値まで上記セルを低密度記憶モードにプログラミングし、ひとたび上記容量閾値に到達すると、上記セルを高密度記憶モードにプログラミングする、
コンピューティングシステム。
[項目16]
上記低密度記憶モードはマルチレベルセル(MLC)である、
項目15に記載のコンピューティングシステム。
[項目17]
上記高密度記憶モードはクワッドレベルセル(QLC)である、
項目16に記載のコンピューティングシステム。
[項目18]
上記記憶容量閾値は50%である、
項目17に記載のコンピューティングシステム。
[項目19]
上記記憶容量閾値は25%以上75%以下の範囲内である、
項目15に記載のコンピューティングシステム。
[項目20]
複数のフラッシュメモリチップを有するストレージデバイスのコントローラにより処理された場合、
上記複数のフラッシュメモリチップのマルチビットストレージセルを低密度記憶モードにプログラミングする手順と、
上記複数のフラッシュメモリチップの上記記憶容量の少なくとも25%がプログラミングされた後に、上記複数のフラッシュメモリチップの上記マルチビットストレージセルを高密度記憶モードにプログラミングする手順と
を含む方法を上記ストレージデバイスに実行させる記憶されたプログラムコード
を備える製造品。
[Item 1]
with a storage device,
The storage device has a controller and a plurality of flash memory chips,
the plurality of flash memory chips including a three-dimensional stack of multi-bit storage cells;
The multi-bit storage cell has multiple storage density modes,
the controller programs the cells to a low density storage mode up to a storage capacity threshold of the storage device of at least 25%, and once the capacity threshold is reached, programs the cells to a high density mode;
Device.
[Item 2]
the low density storage mode is a multi-level cell (MLC),
A device according to
[Item 3]
the high density storage mode is quad level cell (QLC),
A device according to
[Item 4]
the storage capacity threshold is 50%;
A device according to item 3.
[Item 5]
The storage capacity threshold is in the range of 25% or more and 75% or less,
A device according to
[Item 6]
the high density storage mode is QLC;
A device according to
[Item 7]
the storage device is a solid state drive,
A device according to
[Item 8]
with a controller that determines the programming level of multiple flash memory chips,
the plurality of flash memory chips including a three-dimensional stack of multi-bit storage cells;
The multi-bit storage cell has multiple storage density modes,
the controller programs the cells to a low density storage mode up to a storage capacity threshold of the flash memory chip of at least 25%, and once the capacity threshold is reached, programs the cells to a high density storage mode;
Device.
[Item 9]
the low density storage mode is a multi-level cell (MLC),
9. Apparatus according to item 8.
[Item 10]
the high density storage mode is quad level cell (QLC),
10. Apparatus according to item 9.
[Item 11]
the storage capacity threshold is 50%;
11. Apparatus according to item 10.
[Item 12]
The storage capacity threshold is in the range of 25% or more and 75% or less,
9. Apparatus according to item 8.
[Item 13]
the high density storage mode is QLC;
9. Apparatus according to item 8.
[Item 14]
the storage device is a solid state drive,
9. Apparatus according to item 8.
[Item 15]
a plurality of processing cores;
main memory and
a memory controller coupled between the plurality of processing cores and the main memory;
a peripheral hub controller;
a solid state drive coupled to the peripheral hub controller;
The solid state drive has a controller and a plurality of flash memory chips,
the plurality of flash memory chips including a three-dimensional stack of multi-bit storage cells;
The multi-bit storage cell has multiple storage density modes,
the controller programs the cells to a low density storage mode up to a storage capacity threshold of the storage device of at least 25%, and once the capacity threshold is reached, programs the cells to a high density storage mode;
computing system.
[Item 16]
the low density storage mode is a multi-level cell (MLC),
16. A computing system according to item 15.
[Item 17]
the high density storage mode is quad level cell (QLC),
17. A computing system according to item 16.
[Item 18]
the storage capacity threshold is 50%;
18. A computing system according to item 17.
[Item 19]
The storage capacity threshold is in the range of 25% or more and 75% or less,
16. A computing system according to item 15.
[Item 20]
When processed by the controller of a storage device with multiple flash memory chips,
programming multi-bit storage cells of said plurality of flash memory chips to a low density storage mode;
programming the multi-bit storage cells of the plurality of flash memory chips to a high density storage mode after at least 25% of the storage capacity of the plurality of flash memory chips has been programmed. An article of manufacture that contains stored program code for execution.
Claims (21)
前記ストレージデバイスは、コントローラと、複数のフラッシュメモリチップとを有し、
前記複数のフラッシュメモリチップは、マルチビットストレージセルの3次元スタックを含み、
前記マルチビットストレージセルは、複数の記憶密度モードを有し、
前記コントローラは、少なくとも、
前記複数の記憶密度モードからの低密度記憶モードで、第1のマルチビットストレージセルに第1のデータを書き込み、
前記第1のデータを書き込むことに応じて、前記ストレージデバイスの記憶容量が記憶容量閾値に達したことを決定し、
前記低密度記憶モードで格納された第2のデータが低い頻繁でアクセスされていることを決定し、 前記ストレージデバイスの前記記憶容量が前記記憶容量閾値に達したことの決定に応じて、かつ、前記低密度記憶モードで格納された前記第2のデータが低い頻度でアクセスされていることの決定に応じて、前記複数の記憶密度モードからの高密度記憶モードで、前記第1のマルチビットストレージセルに前記第1のデータと第2のデータとを含むビットの組み合わせを書き込む
ように構成され、
前記高密度記憶モードで前記第1のマルチビットストレージセルに前記ビットの組み合わせを書き込むことは、
第2のマルチビットストレージセルから、前記低密度記憶モードで格納された前記第2のデータを読み出すことと、
前記第1のデータと前記第2のデータとを含む前記ビットの組み合わせを生成することと、
前記第1のマルチビットストレージセルに、前記高密度記憶モードで前記ビットの組み合わせを書き込むことと、を含む、
装置。 with a storage device,
The storage device has a controller and a plurality of flash memory chips,
the plurality of flash memory chips including a three-dimensional stack of multi-bit storage cells;
the multi-bit storage cell has a plurality of storage density modes;
The controller at least:
writing first data to a first multi-bit storage cell in a low density storage mode from the plurality of storage density modes;
determining that the storage capacity of the storage device has reached a storage capacity threshold in response to writing the first data;
determining that second data stored in the low-density storage mode is being accessed with low frequency; in response to determining that the storage capacity of the storage device has reached the storage capacity threshold; and the first multi-bit storage in a high density storage mode from the plurality of storage density modes in response to determining that the second data stored in the low density storage mode is accessed infrequently; configured to write a combination of bits including the first data and the second data into a cell;
Writing the bit combination to the first multi-bit storage cell in the high density storage mode comprises:
reading the second data stored in the low density storage mode from a second multi-bit storage cell;
generating the bit combination including the first data and the second data;
writing the combination of bits in the high density storage mode to the first multi-bit storage cell;
Device.
請求項1に記載の装置。 the low density storage mode is a multi-level cell (MLC) mode;
A device according to claim 1 .
請求項2に記載の装置。 the high density storage mode is a quad level cell (QLC) mode;
3. Apparatus according to claim 2.
請求項3に記載の装置。 the storage capacity threshold is at least 25%;
4. Apparatus according to claim 3.
請求項1から3のいずれか一項に記載の装置。 The storage capacity threshold is in the range of 25% or more and 75% or less,
4. Apparatus according to any one of claims 1-3.
請求項1に記載の装置。 the high density storage mode is a QLC mode;
A device according to claim 1 .
請求項1から6のいずれか一項に記載の装置。 the storage device is a solid state drive;
7. Apparatus according to any one of claims 1-6.
複数のフラッシュメモリチップの書き込みレベルを少なくとも決定するように構成されたコントローラを備え、
前記複数のフラッシュメモリチップは、マルチビットストレージセルの3次元スタックを含み、
前記マルチビットストレージセルは、複数の記憶密度モードを有し、
前記コントローラは、少なくとも、
前記複数の記憶密度モードからの低密度記憶モードで、第1のマルチビットストレージセルに第1のデータを書き込み、
前記第1のデータを書き込むことに応じて、前記装置の記憶容量が記憶容量閾値に達したことを決定し、
前記低密度記憶モードで格納された第2のデータが低い頻繁でアクセスされていることを決定し、
前記装置の前記記憶容量が前記記憶容量閾値に達したことの決定に応じて、かつ、前記低密度記憶モードで格納された前記第2のデータが低い頻度でアクセスされていることの決定に応じて、前記複数の記憶密度モードからの高密度記憶モードで、前記第1のマルチビットストレージセルに前記第1のデータと第2のデータとを含むビットの組み合わせを書き込む
ように構成され、
前記高密度記憶モードで前記第1のマルチビットストレージセルに前記ビットの組み合わせを書き込むことは、
第2のマルチビットストレージセルから、前記低密度記憶モードで格納された前記第2のデータを読み出すことと、
前記第1のデータと前記第2のデータとを含む前記ビットの組み合わせを生成することと、
前記第1のマルチビットストレージセルに、前記高密度記憶モードで前記ビットの組み合わせを書き込むことと、を含む、
装置。 a device,
a controller configured to at least determine a write level of a plurality of flash memory chips;
the plurality of flash memory chips including a three-dimensional stack of multi-bit storage cells;
the multi-bit storage cell has a plurality of storage density modes;
The controller at least:
writing first data to a first multi-bit storage cell in a low density storage mode from the plurality of storage density modes;
determining that the storage capacity of the device has reached a storage capacity threshold in response to writing the first data;
determining that second data stored in the low density storage mode is being accessed infrequently;
in response to determining that the storage capacity of the device has reached the storage capacity threshold and in response to determining that the second data stored in the low density storage mode is accessed infrequently. write a combination of bits including the first data and the second data to the first multi-bit storage cell in a high density storage mode from the plurality of storage density modes;
Writing the bit combination to the first multi-bit storage cell in the high density storage mode comprises:
reading the second data stored in the low density storage mode from a second multi-bit storage cell;
generating the bit combination including the first data and the second data;
writing the combination of bits in the high density storage mode to the first multi-bit storage cell;
Device.
請求項8に記載の装置。 the low density storage mode is a multi-level cell (MLC) mode;
9. Apparatus according to claim 8.
請求項9に記載の装置。 the high density storage mode is a quad level cell (QLC) mode;
10. Apparatus according to claim 9.
請求項10に記載の装置。 the storage capacity threshold is at least 25%;
11. Apparatus according to claim 10.
請求項8から10のいずれか一項に記載の装置。 The storage capacity threshold is in the range of 25% or more and 75% or less,
11. Apparatus according to any one of claims 8-10.
請求項8に記載の装置。 the high density storage mode is a QLC mode;
9. Apparatus according to claim 8.
請求項8から13のいずれか一項に記載の装置。 the device is a solid state drive;
14. Apparatus according to any one of claims 8-13.
メインメモリと、
前記複数の処理コアと前記メインメモリとの間に結合されたメモリコントローラと、
周辺ハブコントローラと、
前記周辺ハブコントローラに結合されたソリッドステートドライブと
を備え、
前記ソリッドステートドライブは、コントローラと、複数のフラッシュメモリチップとを有し、
前記複数のフラッシュメモリチップは、マルチビットストレージセルの3次元スタックを含み、
前記マルチビットストレージセルは、複数の記憶密度モードを有し、
前記コントローラは、少なくとも、
前記複数の記憶密度モードからの低密度記憶モードで、第1のマルチビットストレージセルに第1のデータを書き込み、
前記第1のデータを書き込むことに応じて、前記ソリッドステートドライブの記憶容量が記憶容量閾値に達したことを決定し、
前記低密度記憶モードで格納された第2のデータが低い頻繁でアクセスされていることを決定し、
前記ソリッドステートドライブの前記記憶容量が前記記憶容量閾値に達したことの決定に応じて、かつ、前記低密度記憶モードで格納された前記第2のデータが低い頻度でアクセスされていることの決定に応じて、前記複数の記憶密度モードからの高密度記憶モードで、前記第1のマルチビットストレージセルに前記第1のデータと第2のデータとを含むビットの組み合わせを書き込む
ように構成され、
前記高密度記憶モードで前記第1のマルチビットストレージセルに前記ビットの組み合わせを書き込むことは、
第2のマルチビットストレージセルから、前記低密度記憶モードで格納された前記第2のデータを読み出すことと、
前記第1のデータと前記第2のデータとを含む前記ビットの組み合わせを生成することと、
前記第1のマルチビットストレージセルに、前記高密度記憶モードで前記ビットの組み合わせを書き込むことと、を含む、
コンピューティングシステム。 a plurality of processing cores;
main memory and
a memory controller coupled between the plurality of processing cores and the main memory;
a peripheral hub controller;
a solid state drive coupled to the peripheral hub controller;
The solid state drive has a controller and a plurality of flash memory chips,
the plurality of flash memory chips including a three-dimensional stack of multi-bit storage cells;
the multi-bit storage cell has a plurality of storage density modes;
The controller at least:
writing first data to a first multi-bit storage cell in a low density storage mode from the plurality of storage density modes;
determining that a storage capacity of the solid state drive has reached a storage capacity threshold in response to writing the first data;
determining that second data stored in the low density storage mode is being accessed infrequently;
responsive to determining that the storage capacity of the solid state drive has reached the storage capacity threshold and determining that the second data stored in the low density storage mode is accessed infrequently. writing a bit combination including the first data and the second data to the first multi-bit storage cell in a high density storage mode from the plurality of storage density modes according to;
Writing the bit combination to the first multi-bit storage cell in the high density storage mode comprises:
reading the second data stored in the low density storage mode from a second multi-bit storage cell;
generating the bit combination including the first data and the second data;
writing the combination of bits in the high density storage mode to the first multi-bit storage cell;
computing system.
請求項15に記載のコンピューティングシステム。 the low density storage mode is a multi-level cell (MLC) mode;
16. A computing system according to claim 15.
請求項16に記載のコンピューティングシステム。 the high density storage mode is a quad level cell (QLC) mode;
17. A computing system according to claim 16.
請求項17に記載のコンピューティングシステム。 the storage capacity threshold is at least 25%;
18. A computing system according to claim 17.
請求項15から17のいずれか一項に記載のコンピューティングシステム。 The storage capacity threshold is in the range of 25% or more and 75% or less,
A computing system according to any one of claims 15-17.
複数の記憶密度モードからの低密度記憶モードで、第1のマルチビットストレージセルに第1のデータを書き込むことと、
前記第1のデータを書き込むことに応じて、前記ストレージデバイスの記憶容量が記憶容量閾値に達したことを決定することと、
前記低密度記憶モードで格納された第2のデータが低い頻繁でアクセスされていることを決定することと、
前記ストレージデバイスの前記記憶容量が前記記憶容量閾値に達したことの決定に応じて、かつ、前記低密度記憶モードで格納された前記第2のデータが低い頻度でアクセスされていることの決定に応じて、前記複数の記憶密度モードからの高密度記憶モードで、前記第1のマルチビットストレージセルに前記第1のデータと第2のデータとを含むビットの組み合わせを書き込むことと
を含む方法を前記ストレージデバイスに実行させ、
前記高密度記憶モードで前記第1のマルチビットストレージセルに前記ビットの組み合わせを書き込むことは、
第2のマルチビットストレージセルから、前記低密度記憶モードで格納された前記第2のデータを読み出すことと、
前記第1のデータと前記第2のデータからの少なくとも1つのビットとを含む前記ビットの組み合わせを生成することと、
前記第1のマルチビットストレージセルに、前記高密度記憶モードで前記ビットの組み合わせを書き込むことと
を含む、
プログラム。 When processed by the controller of a storage device with multiple flash memory chips,
writing first data to a first multi-bit storage cell in a low density storage mode from a plurality of storage density modes;
determining that a storage capacity of the storage device has reached a storage capacity threshold in response to writing the first data;
determining that second data stored in the low density storage mode is being accessed infrequently;
in response to determining that the storage capacity of the storage device has reached the storage capacity threshold and in determining that the second data stored in the low density storage mode is accessed infrequently. accordingly, writing a combination of bits including the first data and the second data to the first multi-bit storage cell in a high density storage mode from the plurality of storage density modes. causing the storage device to execute
Writing the bit combination to the first multi-bit storage cell in the high density storage mode comprises:
reading the second data stored in the low density storage mode from a second multi-bit storage cell;
generating the bit combination including at least one bit from the first data and the second data;
writing the combination of bits in the high density storage mode to the first multi-bit storage cell;
program.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/857,530 US20190034105A1 (en) | 2017-12-28 | 2017-12-28 | Storage device having programmed cell storage density modes that are a function of storage device capacity utilization |
US15/857,530 | 2017-12-28 | ||
JP2018190060A JP2019121350A (en) | 2017-12-28 | 2018-10-05 | Storage device having programmed cell storage density modes that are function of storage device capacity utilization |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018190060A Division JP2019121350A (en) | 2017-12-28 | 2018-10-05 | Storage device having programmed cell storage density modes that are function of storage device capacity utilization |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023106490A true JP2023106490A (en) | 2023-08-01 |
Family
ID=65037974
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018190060A Pending JP2019121350A (en) | 2017-12-28 | 2018-10-05 | Storage device having programmed cell storage density modes that are function of storage device capacity utilization |
JP2023080743A Pending JP2023106490A (en) | 2017-12-28 | 2023-05-16 | Storage device having programmed cell storage density modes that are function of storage device capacity utilization |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018190060A Pending JP2019121350A (en) | 2017-12-28 | 2018-10-05 | Storage device having programmed cell storage density modes that are function of storage device capacity utilization |
Country Status (5)
Country | Link |
---|---|
US (1) | US20190034105A1 (en) |
JP (2) | JP2019121350A (en) |
KR (1) | KR20190080733A (en) |
CN (1) | CN110058800A (en) |
DE (1) | DE102018130164A1 (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190099570A (en) * | 2018-02-19 | 2019-08-28 | 에스케이하이닉스 주식회사 | Data storage device and operating method thereof |
JP2022537520A (en) * | 2019-06-14 | 2022-08-26 | 華為技術有限公司 | Hard disk control method and related device |
US11188261B2 (en) * | 2019-11-18 | 2021-11-30 | International Business Machines Corporation | Memory controllers for solid-state storage devices |
TWI752569B (en) * | 2019-11-21 | 2022-01-11 | 日商鎧俠股份有限公司 | memory system |
TWI738390B (en) * | 2020-06-19 | 2021-09-01 | 群聯電子股份有限公司 | Data protection method, memory storage device and memory control circuit unit |
JP2022030146A (en) | 2020-08-06 | 2022-02-18 | キオクシア株式会社 | Memory system and write control method |
JP7566676B2 (en) | 2021-03-22 | 2024-10-15 | キオクシア株式会社 | MEMORY SYSTEM AND INFORMATION PROCESSING SYSTEM |
US11610625B2 (en) | 2021-06-16 | 2023-03-21 | Sandisk Technologies Llc | Hetero-plane data storage structures for non-volatile memory |
US11922011B2 (en) * | 2021-09-01 | 2024-03-05 | Micron Technology, Inc. | Virtual management unit scheme for two-pass programming in a memory sub-system |
CN114530178B (en) * | 2021-12-31 | 2022-09-09 | 北京得瑞领新科技有限公司 | Method for reading write block in NAND chip, storage medium and device |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050289294A1 (en) * | 2004-06-29 | 2005-12-29 | Micron Technology, Inc. | DRAM with half and full density operation |
CN101911207B (en) * | 2008-01-16 | 2014-05-07 | 富士通株式会社 | Semiconductor storage device, controlling apparatus and controlling method |
US8341331B2 (en) * | 2008-04-10 | 2012-12-25 | Sandisk Il Ltd. | Method, apparatus and computer readable medium for storing data on a flash device using multiple writing modes |
US8060719B2 (en) * | 2008-05-28 | 2011-11-15 | Micron Technology, Inc. | Hybrid memory management |
US8407400B2 (en) * | 2008-11-12 | 2013-03-26 | Micron Technology, Inc. | Dynamic SLC/MLC blocks allocations for non-volatile memory |
US8935459B2 (en) * | 2012-03-08 | 2015-01-13 | Apple Inc. | Heuristics for programming data in a non-volatile memory |
KR102024850B1 (en) * | 2012-08-08 | 2019-11-05 | 삼성전자주식회사 | Memory system including three dimensional nonvolatile memory device and programming method thereof |
US9778848B2 (en) * | 2014-12-23 | 2017-10-03 | Intel Corporation | Method and apparatus for improving read performance of a solid state drive |
KR102579920B1 (en) * | 2015-12-17 | 2023-09-18 | 삼성전자주식회사 | Memory device having cop structure and memory package including the same |
-
2017
- 2017-12-28 US US15/857,530 patent/US20190034105A1/en not_active Abandoned
-
2018
- 2018-10-05 JP JP2018190060A patent/JP2019121350A/en active Pending
- 2018-11-27 KR KR1020180148718A patent/KR20190080733A/en not_active Application Discontinuation
- 2018-11-28 DE DE102018130164.2A patent/DE102018130164A1/en active Pending
- 2018-11-28 CN CN201811433157.8A patent/CN110058800A/en active Pending
-
2023
- 2023-05-16 JP JP2023080743A patent/JP2023106490A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20190034105A1 (en) | 2019-01-31 |
JP2019121350A (en) | 2019-07-22 |
KR20190080733A (en) | 2019-07-08 |
CN110058800A (en) | 2019-07-26 |
DE102018130164A1 (en) | 2019-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2023106490A (en) | Storage device having programmed cell storage density modes that are function of storage device capacity utilization | |
US11880602B2 (en) | Data writing method and storage device | |
JP5728672B2 (en) | Hybrid memory management | |
CN111752857B (en) | Memory controller and method of operating the same | |
KR102704776B1 (en) | Controller and operation method thereof | |
US11003361B2 (en) | Wear leveling | |
TW201621912A (en) | System and method for configuring and controlling non-volatile cache | |
TW201917576A (en) | Memory system and method of operating the same | |
US20200218653A1 (en) | Controller, data storage device, and operating method thereof | |
KR20170101199A (en) | Tier mode for access operations to 3d memory | |
CN112506421B (en) | Memory controller and method of operating the same | |
CN115203086A (en) | Host memory buffer allocation management | |
US12045476B2 (en) | Storage devices, storage controllers, and operating methods of storage controllers | |
KR102713986B1 (en) | Controller, memory system and operating method thereof | |
TW201941208A (en) | Memory management method and storage controller | |
US11194512B2 (en) | Data storage device which selectively performs a cache read or a normal read operation depending on work load and operating method thereof | |
US10203886B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus for writing data from buffer memory and moving valid data | |
CN108427650B (en) | Memory system and operating method thereof | |
CN111506515A (en) | Memory controller and operating method thereof | |
US11675528B2 (en) | Switch based BGA extension | |
US11133060B2 (en) | Data storage device and operating method thereof | |
CN114664361A (en) | DRAM-less multi-level cell programming with NAND buffers | |
US20230281122A1 (en) | Data Storage Device and Method for Host-Determined Proactive Block Clearance | |
US20220382673A1 (en) | Storage device and method of operating the same | |
US20200117390A1 (en) | Data storage device and operating method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230518 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240528 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240828 |