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 PDF

Info

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
Application number
JP2023080743A
Other languages
Japanese (ja)
Inventor
ナタラジャン シャンカー
Natarajan Shankar
ガネサン ラムカーシック
Ganesan Ramkarthik
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2023106490A publication Critical patent/JP2023106490A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel 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

To provide an apparatus, computing system, program and computer-readable storage medium for speeding up the performance of storage devices composed of memory chips having high-density but slow cells.SOLUTION: A solid state drive (SSD) as a storage device has a controller and a plurality of FLASH memory chips, the plurality of FLASH memory chips comprising three-dimensional stacks of multi-bit storage cells, the multi-bit storage cells having a plurality of storage density modes. The controller programs the multi-bit storage cells in a low-density storage mode up to a storage capacity threshold of the storage device of at least 25%, and programs the multi-bit storage cells in a high-density storage mode once the storage capacity threshold is reached.SELECTED DRAWING: Figure 4

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.

マルチビットフラッシュストレージセルをプログラミングするためのパターンをSSD記憶容量利用率の関数として示す。Figure 2 shows patterns for programming multi-bit flash storage cells as a function of SSD storage capacity utilization. マルチビットフラッシュストレージセルをプログラミングするためのパターンをSSD記憶容量利用率の関数として示す。Figure 2 shows patterns for programming multi-bit flash storage cells as a function of SSD storage capacity utilization. マルチビットフラッシュストレージセルをプログラミングするためのパターンをSSD記憶容量利用率の関数として示す。Figure 2 shows patterns for programming multi-bit flash storage cells as a function of SSD storage capacity utilization. マルチビットフラッシュストレージセルをプログラミングするためのパターンをSSD記憶容量利用率の関数として示す。Figure 2 shows patterns for programming multi-bit flash storage cells as a function of SSD storage capacity utilization. マルチビットフラッシュストレージセルをプログラミングするためのパターンをSSD記憶容量利用率の関数として示す。Figure 2 shows patterns for programming multi-bit flash storage cells as a function of SSD storage capacity utilization. マルチビットフラッシュストレージセルをプログラミングするためのパターンをSSD記憶容量利用率の関数として示す。Figure 2 shows patterns for programming multi-bit flash storage cells as a function of SSD storage capacity utilization. マルチビットフラッシュストレージセルをプログラミングするためのパターンをSSD記憶容量利用率の関数として示す。Figure 2 shows patterns for programming multi-bit flash storage cells as a function of SSD storage capacity utilization.

MLCモードからQLCモードへの電荷転送を示す。Figure 2 shows charge transfer from MLC mode to QLC mode.

図1aから図1gの書き込みパターンを実装できるSSDを示す。FIG. 1 shows an SSD capable of implementing the write pattern of FIGS. 1a-1g. FIG.

図3のSSDにより実行される方法を示す。Figure 4 shows a method performed by the SSD of Figure 3;

コンピューティングシステムを示す。A computing system is shown.

フラッシュメモリデバイスの構造は、半導体基板の上で鉛直に延在する、互いに積み重ねられた多数の別個のストレージセルを各々が含む列のアレイから構成されるストレージセルの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 first page number 101 has been programmed into the device. Here, an SSD includes a controller that manages a mapping table (also called an address translation table) that maps logical addresses to physical addresses. When the host sends a block of data to be written to the SSD, it also appends the block address to this data. This block address is called a logical block address (LBU). The SSD then writes this block of data to the SSD and associates in a mapping table the LBU of this data with the physical location within the SSD where the pages of data for this block are stored. These specific physical locations are designated by physical block addresses (PBA) that uniquely identify one or more die, side, block, wordline and page resources within the SSD in which the page is stored.

図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 side 0 of die 1 with BA=0 and WL=0. After being written, the SSD may write pages L and U to BA=0 and WL=1 on side 0 of die 1, for example. In this particular embodiment, again, only half of the potential storage capacity along a particular wordline is programmed. Thus, there are a myriad of different sequences of storage block and word line combinations that can be used to define a particular programming pattern as a new page being written to the SSD. For ease of discussion, the remainder of this description will primarily refer only to the embodiment in which the page write pattern is shown in FIGS. 1b-1f.

図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 301 that may operate consistent with the teachings provided above. As can be seen in FIG. 3, SSDs contain many storage cells 302 that can store more than one bit. Additionally, most or all of the storage cells in SSDs can operate in both MLC and QLC modes. Which one of these modes a particular one of these cells will operate in depends on the storage capacity utilization of the SSD (e.g., at 50% or less of full capacity utilization, all cells operate in MLC mode, and between 50% and 100% capacity utilization, some cells operate in MLC mode, while other cells operate in QLC mode, and at 100% capacity utilization, all cells operate in QLC mode).

SSDは、コントローラ306を含む。コントローラ306は、どのセルがMLCモードで動作するか、およびどのセルがQLCモードで動作するかの決定を担う。詳細に上述される一実施形態によれば、最初のプログラミングパスが、MLCモードで動作する全てのセルに適用され、次に、2番目のパスが、QLCモードで動作する全てのセルに適用される。容量利用率情報および/またはどのセルがどのモード311で動作しているかを特定する情報は、例えば、コントローラ306内で結合および/または統合されたメモリ領域および/またはレジスタ領域310において維持される。一実施形態において、そのような情報は、セルのセットがそれらの動作のMLCモード/QLCモードに関して共通のグループとして同一に扱われる各物理アドレスまたは何らかの粒度(例えば、ブロックID)について、MLCビット/QLCビットまたは類似のデジタル記録で表される。 The SSD includes controller 306 . Controller 306 is responsible for determining which cells operate in MLC mode and which cells operate in QLC mode. According to one embodiment described in detail above, a first programming pass is applied to all cells operating in MLC mode and then a second pass is applied to all cells operating in QLC mode. be. Capacity utilization information and/or information identifying which cells are operating in which mode 311 is maintained, for example, in memory and/or register areas 310 combined and/or integrated within controller 306 . In one embodiment, such information is provided for each physical address or some granularity (e.g. block ID) where a set of cells are treated identically as a common group with respect to their MLC mode/QLC mode of operation. Represented by QLC bits or similar digital record.

従って、そのような粒度がブロックレベルである場合、各ブロックは、情報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 information 311, further specifying for the MLC when each of these blocks is first programmed. Above 50% capacity utilization, when the SSD starts converting from MLC cells to QLC cells, the information 311 is changed to indicate the QLC mode with each MLC block newly overwritten with the QLC mode. . By the time 100% capacity utilization is reached, the information 311 of all blocks should indicate QLC mode. Information 311 may also specify which blocks are actually written. This allows the controller 306 to determine the percentage of capacity utilization. Moreover, as described above, information 311 may be used to enhance wear leveling algorithms executed by controller 306 . Specifically, the wear leveling algorithm executed by controller 306 may swap hot blocks from QLC blocks to MLC blocks, and cold blocks from MLC blocks to QLC blocks.

コントローラ306は、電荷ポンピング回路307にも結合される。電荷ポンピング回路307は、QLCモードおよびMLCモードについて異なる電荷ポンピング信号シーケンスを生成するように設計されている。ここで、コントローラ306は、書き込まれているセルにはどの動作モードが適切であるかについてのSSDの容量利用率に基づくコントローラの決定に従って任意の特定のプログラミングシーケンスにどの信号(MLCまたはQLC)を適用すべきかを電荷ポンピング回路307に通知する。 Controller 306 is also coupled to charge pumping circuitry 307 . Charge-pumping circuit 307 is designed to generate different charge-pumping signal sequences for QLC and MLC modes. Here, the controller 306 applies which signal (MLC or QLC) to any particular programming sequence according to the controller's determination based on the capacity utilization of the SSD as to which operating mode is appropriate for the cell being written. Tells the charge pumping circuit 307 whether to apply.

コントローラは、専用ハードワイヤード論理回路(例えば、ハードワイヤード特定用途向け集積回路(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 controller 306 is designed to execute program code, the program code is stored in local memory (eg, the same memory in which information 311 is maintained) and executed by the controller therefrom. be done. I/O interface 312 is coupled to controller 306 and may be any industry standard peripheral or storage interface (e.g., Peripheral Component Interconnect (PCIe), Advanced Technology Attachment/Integrated Drive Electronics (ATA/IDE), Universal Serial Bus (USB)). , IEEE 1394 (“Firewire”), etc.).

これは、他の実施形態が、本明細書において提供される教示を、たとえそれらが上述の特定の実施形態からいく分逸脱していたとしても利用し得る旨を認識することに関連する。特に、他の実施形態は、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 controller 306 described above may be partially or wholly integrated into the host system.

図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 basic computing system 500 includes a central processing unit 501 (which may, for example, include multiple general-purpose processing cores 515_1 through 515_X) and a main memory controller 517 located on a multi-core processor or application processor. , system memory 502, display 503 (e.g., touch screen, flat panel), local wired point-to-point link (e.g., USB interface 504), and various network I/O functions 505 (Ethernet interface). and/or cellular modem subsystem), a wireless local area network (e.g., WiFi) interface 506, a wireless point-to-point link (e.g., Bluetooth®) interface 507, a global positioning system interface 508, It may include various sensors 509_1 through 509_Y, one or more cameras 510, a battery 511, a power management control unit 512, a speaker and microphone 513, and an audio coder/decoder 514.

アプリケーションプロセッサまたはマルチコアプロセッサ550は、そのCPU501内の1または複数の汎用処理コア515と、1または複数のグラフィック処理ユニット516と、メモリ管理機能517(例えば、メモリコントローラ)と、I/O制御機能518とを含み得る。汎用処理コア515は典型的には、コンピューティングシステムのオペレーティングシステムおよびアプリケーションソフトウェアの動作を実行する。グラフィック処理ユニット516は典型的には、例えば、ディスプレイ503に表示されるグラフィック情報を生成するグラフィック集約機能 を実行する。メモリ制御機能517は、システムメモリ502とインターフェースして、システムメモリ502との間でデータの書き込み/読み出しを行う。電力管理制御ユニット512は概して、システム500の電力消費を制御する。 Application processor or multi-core processor 550 includes one or more general-purpose processing cores 515, one or more graphics processing units 516, memory management functions 517 (e.g., memory controllers), and I/O control functions 518 within its CPU 501. and General-purpose processing core 515 typically executes the operations of the computing system's operating system and application software. Graphics processing unit 516 typically performs graphics intensive functions that generate graphical information to be displayed on display 503, for example. Memory control function 517 interfaces with system memory 502 to write data to and read data from system memory 502 . Power management control unit 512 generally controls power consumption of system 500 .

タッチスクリーンディスプレイ503、通信インターフェース504-707、GPSインターフェース508、センサ509、カメラ510およびスピーカ/マイクコーデック513、514の各々は、必要に応じて統合型周辺デバイス(例えば、1または複数のカメラ510)も含むコンピューティングシステム全体に対する様々な形式のI/O(入力および/または出力)として見られ得る。実装に応じて、これらのI/Oコンポーネントのうちの様々なものが、アプリケーションプロセッサ/マルチコアプロセッサ550上で統合され得るか、またはダイの外またはアプリケーションプロセッサ/マルチコアプロセッサ550のパッケージの外に配置され得る。 Each of the touch screen display 503, communication interfaces 504-707, GPS interface 508, sensor 509, camera 510 and speaker/microphone codecs 513, 514 may optionally be integrated peripheral devices (eg, one or more cameras 510). It can be seen as various forms of I/O (input and/or output) to the overall computing system, including Depending on the implementation, various of these I/O components may be integrated on the application processor/multicore processor 550 or located off-die or out of the application processor/multicore processor 550 package. obtain.

コンピューティングシステムは、システムの大容量ストレージコンポーネントであり得る不揮発性ストレージ520も含む。ここで、例えば、大容量ストレージは、上記で詳細に説明されるように、SSDの容量利用率に応じてそのマルチビットストレージセルが異なる記憶密度でプログラミングされるフラッシュメモリチップから構成される1または複数のSSDから構成され得る。 The computing system also includes non-volatile storage 520, which can be a mass storage component of the system. Here, for example, mass storage consists of flash memory chips whose multi-bit storage cells are programmed with different storage densities depending on the capacity utilization of the SSD, as explained in detail above. It can consist of multiple SSDs.

本発明の実施形態は、上記の様々な処理を含み得る。これらの処理は、機械実行可能命令において具現化され得る。この命令は、汎用プロセッサまたは特定用途向けプロセッサに特定の処理を実行させるために用いられ得る。代替的に、これらの処理は、処理を実行するためのハードワイヤード論理回路またはプログラマブル論理回路(例えば、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 1.
[Item 3]
the high density storage mode is quad level cell (QLC),
A device according to item 2.
[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 1.
[Item 6]
the high density storage mode is QLC;
A device according to item 1.
[Item 7]
the storage device is a solid state drive,
A device according to item 1.
[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.
前記低密度記憶モードはマルチレベルセル(MLC)モードである、
請求項1に記載の装置。
the low density storage mode is a multi-level cell (MLC) mode;
A device according to claim 1 .
前記高密度記憶モードはクワッドレベルセル(QLC)モードである、
請求項2に記載の装置。
the high density storage mode is a quad level cell (QLC) mode;
3. Apparatus according to claim 2.
前記記憶容量閾値は少なくとも25%である、
請求項3に記載の装置。
the storage capacity threshold is at least 25%;
4. Apparatus according to claim 3.
前記記憶容量閾値は25%以上75%以下の範囲内である、
請求項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.
前記高密度記憶モードはQLCモードである、
請求項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.
前記低密度記憶モードはマルチレベルセル(MLC)モードである、
請求項8に記載の装置。
the low density storage mode is a multi-level cell (MLC) mode;
9. Apparatus according to claim 8.
前記高密度記憶モードはクワッドレベルセル(QLC)モードである、
請求項9に記載の装置。
the high density storage mode is a quad level cell (QLC) mode;
10. Apparatus according to claim 9.
前記記憶容量閾値は少なくとも25%である、
請求項10に記載の装置。
the storage capacity threshold is at least 25%;
11. Apparatus according to claim 10.
前記記憶容量閾値は25%以上75%以下の範囲内である、
請求項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.
前記高密度記憶モードはQLCモードである、
請求項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.
前記低密度記憶モードはマルチレベルセル(MLC)モードである、
請求項15に記載のコンピューティングシステム。
the low density storage mode is a multi-level cell (MLC) mode;
16. A computing system according to claim 15.
前記高密度記憶モードはクワッドレベルセル(QLC)モードである、
請求項16に記載のコンピューティングシステム。
the high density storage mode is a quad level cell (QLC) mode;
17. A computing system according to claim 16.
前記記憶容量閾値は少なくとも25%である、
請求項17に記載のコンピューティングシステム。
the storage capacity threshold is at least 25%;
18. A computing system according to claim 17.
前記記憶容量閾値は25%以上75%以下の範囲内である、
請求項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.
請求項20に記載のプログラムを記憶するコンピュータ可読ストレージ媒体。 A computer-readable storage medium storing the program according to claim 20.
JP2023080743A 2017-12-28 2023-05-16 Storage device having programmed cell storage density modes that are function of storage device capacity utilization Pending JP2023106490A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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