JP2019121350A - ストレージデバイスの容量利用率の関数であるプログラミング済みセル記憶密度モードを有するストレージデバイス - Google Patents

ストレージデバイスの容量利用率の関数であるプログラミング済みセル記憶密度モードを有するストレージデバイス Download PDF

Info

Publication number
JP2019121350A
JP2019121350A JP2018190060A JP2018190060A JP2019121350A JP 2019121350 A JP2019121350 A JP 2019121350A JP 2018190060 A JP2018190060 A JP 2018190060A JP 2018190060 A JP2018190060 A JP 2018190060A JP 2019121350 A JP2019121350 A JP 2019121350A
Authority
JP
Japan
Prior art keywords
storage
cell
mode
cells
ssd
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
JP2018190060A
Other languages
English (en)
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 JP2019121350A publication Critical patent/JP2019121350A/ja
Priority to JP2023080743A priority Critical patent/JP2023106490A/ja
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
    • 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/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
    • 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)
  • Semiconductor Memories (AREA)
  • Non-Volatile Memory (AREA)
  • Memory System (AREA)

Abstract

【課題】高密度であるが低速なセルを有するメモリチップから構成されるストレージデバイスの性能を高速化するための装置を提供する。【解決手段】ストレージデバイスであるソリッドステートドライブ(SSD)は、コントローラと複数のフラッシュメモリチップを有する。複数のフラッシュメモリチップは、マルチビットストレージセルの3次元スタックを含み、マルチビットストレージセルは、複数の記憶密度モードを有する。コントローラは、少なくとも25%というストレージデバイスの記憶容量閾値までマルチビットストレージセルを低密度記憶モードにプログラミングし、ひとたび記憶容量閾値に到達すると、マルチビットストレージセルを高密度記憶モードにプログラミングする。【選択図】図4

Description

本発明は概して、ストレージデバイスの容量利用率の関数であるプログラミング済みセル記憶密度モードを有するストレージデバイスに関する。
コンピューティングシステムがますます強力になり、それらの記憶装置は成長し続ける必要がある。この動向に応じて、大容量ストレージ半導体チップの製造業者が、ストレージセル1個に1ビット超を記憶するための手法を開発中である。残念ながら、そのようなセルは、それらのバイナリストレージセルの先行品と比較してより低速なプログラミング時間を示し得る。それ故、大容量ストレージデバイスの製造業者は、より高密度であるが低速なセルを有するメモリチップから構成されるストレージデバイスの性能を高速化するための新しい技術を開発している。
以下の図面と併せた以下の詳細な説明から、本発明のより良い理解が得られ得る。
マルチビットフラッシュストレージセルをプログラミングするためのパターンをSSD記憶容量利用率の関数として示す。 マルチビットフラッシュストレージセルをプログラミングするためのパターンをSSD記憶容量利用率の関数として示す。 マルチビットフラッシュストレージセルをプログラミングするためのパターンをSSD記憶容量利用率の関数として示す。 マルチビットフラッシュストレージセルをプログラミングするためのパターンをSSD記憶容量利用率の関数として示す。 マルチビットフラッシュストレージセルをプログラミングするためのパターンをSSD記憶容量利用率の関数として示す。 マルチビットフラッシュストレージセルをプログラミングするためのパターンをSSD記憶容量利用率の関数として示す。 マルチビットフラッシュストレージセルをプログラミングするためのパターンをSSD記憶容量利用率の関数として示す。
MLCモードからQLCモードへの電荷転送を示す。
図1aから図1gの書き込みパターンを実装できるSSDを示す。
図3のSSDにより実行される方法を示す。
コンピューティングシステムを示す。
フラッシュメモリデバイスの構造は、半導体基板の上で鉛直に延在する、互いに積み重ねられた多数の別個のストレージセルを各々が含む列のアレイから構成されるストレージセルの3次元配置と理解され得る。記憶ブロックが多数のそのような列に対応する。記憶セルブロック内のストレージセルの特定のいくつかにアクセスすべく、ワードラインワイヤ構造(「ワードライン」)が、記憶セルブロックの異なる列内の同じ鉛直方向に位置するストレージセルに結合される。
例えば、記憶ブロックの列の各々が8つのストレージセルの鉛直型積層体から構成されている場合、8つの異なるワードラインが、8つの異なる記憶レベルの記憶ブロックの列におけるそれぞれのセルにアクセスするために用いられ得る(例えば、第1ワードラインがその列の各々における最も低いセルに結合され得、2番目のワードラインがその列の各々における2番目に最も低いセルに結合され得る等である)。ストレージセルの各々が1ビット超記憶し得るフラッシュメモリの場合、単一のワードラインを通じて、情報の複数のページにアクセスし得る。ここで、大容量ストレージデバイスは従来、各々が複数のページから構成されるデータのブロックにおいてアクセス(読み出し/書き込み)がなされてきた。ストレージセル1個当たり1ビット超を記憶し得るフラッシュメモリデバイスは典型的には、ページが記憶されている記憶ブロック内の単一のワードラインをアクティブ化することにより、異なるページにアクセスできる。
記憶ブロックは概して、ストレージセルが消去され得る(同じブロックのセルが共に消去される)最小単位であり、ページは概して、セルが書き込まれ得るか、または「プログラミング」され得る最小単位である。従って、例えば、多数のページを書き込むようホストがSSDにコマンドした場合、単一のワードラインをアクティブ化することにより、それらのページの複数が、同じ記憶ブロック内でプログラミングされ得る。書き込みコマンドを完全に実行すべくアクティブ化されるワードラインの数は、何ページがその書き込みに関連しているか、およびワードライン1本当たり何ページがアクセス可能であるかに依存する。単一のフラッシュメモリチップも典型的には、複数の面から構成される。各面は、チップ内の固有の記憶ブロックセットを含む。
上述のように、異なるフラッシュメモリ技術は概して、ストレージセル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の論理状態が記憶され得る)。
しかしながら、セル1個当たりの記憶密度およびセル1個当たりのアクセス時間に関して、トレードオフが存在する。すなわち、概して、ストレージセルがより多くのビットを記憶するほど、情報をセルに書き込むために必要な時間の量は長くなる。ここで、より多くのビットを記憶するストレージセルは、より少ないビットを記憶するストレージセルより厳しい電荷記憶許容値を有するものと理解され得る。すなわち、より多くのビットを記憶するセルは、記憶し得る異なる論理状態間の差を示すより少量の電荷を有するのに対し、より少ないビットを記憶するセルは、そのセルが記憶し得る論理状態間差を示すより大量の電荷を有する。
フラッシュセルは、電荷でポンピングすることによりプログラミングまたは消去される。呼び出し1回当たりでより少ないビットを記憶するセルは、それらの記憶された電荷状態間でセル1個当たりより多くのビットを記憶するセルよりも大きい差を有し、より「粗粒度の」ポンピング処理を用いる。このポンピング処理は、セル1個当たりより多くのビットを記憶する、より「細粒度の」ポンピング処理を用いるセルよりも少ないポンピングサイクルでより大きい電荷増加を適用する。このポンピング処理は、より多くのポンピングサイクルでより少ない電荷増加(少なくとも最大ポンピング電荷量)を適用する。より少ないビットを記憶するセルに関連するポンピングサイクルがより少ないと、そのようなセルは、より多いビットを記憶するセルと比較して平均でより少ないプログラムアクセス時間を示すことになる。
従って、次世代フラッシュの製造技術はセル1個当たりの記憶容量に関する性能の向上をもたらすが、同時に、性能がセル1個当たりの平均プログラム時間に関して減少する。
このトレードオフに対処すべく、ソリッドステートドライブ(SSD)などのフラッシュベースのストレージデバイスは、それらの基礎となる製造技術が記憶できるものより1個当たり少ないビットを記憶するセルから構成される記憶バッファを実装している。例えば、QLCフラッシュメモリチップから構成されるSSDは、SLCモードまたはMLCモードで動作するのにQLCセルの何割かを用いる。低密度モードで動作するセルは、新たに入力されたデータが書き込まれるキャッシュのようなバッファとして、SSDにより用いられる。密度はより低いがより高速なセルから構成されるバッファに新しい入力データを書き込むことにより、SSDの未処理のプログラムアクセス時間は、より高速であることが認められる。
しかしながら、そのようなバッファの実装に関する問題が存在する。1番目の問題は、バックグラウンド処理としてコンテンツを高密度セルにライトバックすることにより、バッファのコンテンツが絶えず「クリアされて」いなければならないことである。ここで、概して、SSDバッファは、SSDの全記憶容量の1パーセントまたは2パーセント超のみを占める。バッファのコンテンツが高密度セルに規則的にライトバックされない場合、バッファは、一杯になり、SSDへの次の書き込み用に利用可能ではなくなる。残念ながら、バックグラウンド処理自体が、新しい書き込みコマンドのバッファをブロックし得る(新しい書き込みコマンドが到着した時にバッファがクリアされている場合、その書き込みコマンドは、バッファがクリアされるか、またはバックグラウンド処理が中断され得るまで待機しなければならない)。加えて、バックグラウンド処理によりSSDの動作の全体的な複雑さが増し、例えば、電力消費、コストおよび/または故障メカニズムが増すことになる。
図1aから図1fは、デバイスの高密度ストレージセルのはるかに大きい割合を用いる改善されたSSD設計の低密度モードでの動作を示す。加えて、これらのセルは、デバイスの標準的なストレージセルより動作が多く、上述のデバイスのバッファより動作が少ない。結果として、高度の管理を要するバックグラウンド処理の継続的な実行に関して直前に説明された課題は減少するはずである。
図1aに示されるように、SSDは、各々がN個の記憶ブロックから構成される複数のフラッシュメモリチップから構成されるものとして見え得る。簡単にするために、図1aの例示的なアーキテクチャは、SSD内に2つのフラッシュメモリチップ(ダイ_0およびダイ_1)のみが存在すると仮定している。しかしながら、当業者であれば、本明細書において説明される例示的なデバイスの教示を、2つより多くのフラッシュメモリチップを含む他のデバイスに容易に適用できよう。これらのメモリデバイスは両方とも、4つの面(面_0から面_3)から構成される。各面は、N個の記憶ブロックを含む(従って、メモリデバイス1個当たりに4×N個の記憶ブロックが存在する)。各記憶ブロックはM本のワードラインを含み、各ワードラインは、その最高密度QLCモードで動作する場合、4つの異なるページ(下(L)、上(U)、予備(X)およびトップ(T))へのアクセスをサポートする。図1aは、例えば、デバイスが初めて用いられ、いかなるランダム顧客データもまだ記憶されていない時の初期状態を示す。
図1bは、最初のページ数101がデバイスにプログラミングされた後のSSDの状態を示す。ここで、SSDは、論理アドレスを物理アドレスにマッピングするマッピングテーブル(アドレス変換テーブルとも称される)を管理するコントローラを含む。SSDに書き込まれるデータのブロックをホストが送信する場合、ホストは、このデータにブロックアドレスも付加する。このブロックアドレスは、論理ブロックアドレス(LBU)と称される。次に、SDDは、このデータブロックをSSDに書き込み、マッピングテーブル内で、このデータのLBUを、このブロックのデータのページが記憶されているSSD内の物理位置に関連付ける。これらの特定の物理位置は、ページが記憶されているSSD内の1または複数のダイ、面、ブロック、ワードラインおよびページリソースを一意に特定する物理ブロックアドレス(PBA)で指定される。
図1bから分かるように、例示的なSSDは、異なる面および異なるメモリチップにわたる同じ記憶ブロックおよびワードライン(WL)位置に入力ページを順次プログラミングし、これにより、消費された記憶量が、図1bにおける同じブロック位置およびワードライン位置にわたって左から右へと横に拡張していることが認められる。異なるSSD実装は異なる書き込みパターンを使用し得る。例えば、別のアプローチにおいて、SSDは、異なるブロックおよびワードラインにわたる同じダイおよび面リソースにわたって、入力ページを順次書き込み得る(この場合、消費された記憶容量は、同じダイ内で同じ面に沿って上から下へと鉛直に拡張することが認められるであろう)。
図1bから分かるように、これら最初の数ページのプログラミングは、基礎となる製造技術が最高密度としてサポートするもの(QLC)よりも少ないセル1つ当たり記憶容量(MLC)で動作しているセルへの書き込みを含む。低密度のMLCモードで動作するセルにページを書き込むことにより、最高密度のQLCモードで動作するセルのみにページが書き込まれるアプローチと比較して、SSDのプログラムアクセス時間性能が向上する。すなわち、上述のように、低記憶容量のセルは、書き込みアクセス時間が高密度セルより少ない。
加えて、記憶密度 がより低いことが原因で、ワードライン1本当たりのページ容量の半分のみが消費される。すなわち、例えば、セル1個当たり2ビットのみが記憶されるMLCモードで動作するセルを用いると、ワードライン1本当たり2ページのみが記憶され得る。以下でさらにより詳細に説明されるように、ページの記憶容量の未使用の半分は、SSDのストレージセルの全容量の閾値量が消費された場合に消費され得、その結果として、これらのセルを低密度MLCモードから高密度QLCモードに切り替える正当な理由となり得る。
ワードライン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ページがプログラミングされ得る。
再びであるが、同じ面およびダイの異なるブロックおよびワードラインにわたってデータが順次書き込まれる書き込みパターンを用いる代替的な実装では、ページLおよびUがダイ1の面0のBA=0およびWL=0に書き込まれた後、SSDは、例えば、ダイ1の面0のBA=0およびWL=1にページLおよびUを書き込み得る。この特定の実施形態では、再びであるが、特定のワードラインに沿った記憶潜在的な記憶容量の半分のみがプログラミングされる。従って、無数の異なる記憶ブロックおよびワードラインの組み合わせのシーケンスが存在し、これらは、特定のプログラミングパターンを、SSDに書き込まれている新しいページとして定義するために用いられ得る。議論を容易にするために、本説明の残りでは主に、ページ書き込みパターンが図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%の低下をもたらしている。しかしながら、ストレージセルがより低い密度の記憶モードで動作したことが原因で、これらのページのプログラミングをより少ない時間で行うことができている。
図1dは、組み合わされたデータの量がSSDの最大容量のうちの50%の容量に対応する追加のページ数が前述の書き込みパターンに従ってSSDにプログラミングされた後のSSDの別のさらなる状態を示す。ここで、再びであるが、書き込まれたセルは、SSDの書き込みアクセス時間がSSDの記憶容量の利用率50%まで改善された低密度モードで動作している。伝統的なSSDバッファが典型的にはSSDのストレージセルの1%または2%を用いるに過ぎないという本説明の出だしでの議論を振り返り、本明細書において説明される改善されたアプローチは、SSDが、SSDのストレージセルの50%を消費したバッファから構成されている「かのように」SSD性能を示すはずであることに留意されたい。
重要なことには、そのような大きい有効バッファを用いると、バッファのサイズが小さいことに起因して、利用可能な領域を生成するためにバッファから情報を絶えず読み出している、コストが高く高度の管理を要するバックグラウンド処理を実装する必要はほとんど/全くない。むしろ、改善されたアプローチの有効バッファは、SSDの記憶容量の50%である初期容量を有する。そのような大きい有効バッファを用いると、少なくとも初めのうちは、データを有効バッファから連続して読み出す必要はなく、むしろ、プログラミングされたデータは、標準的なセル記憶使用量モデルに従って単に所定の位置に留まり得る。
図1eから図1fは、SSDがさらに多くのページをSSDにプログラミングした後の図1dの状態から先へと継続する書き込みパターンを示す。ここで、SSDの記憶容量の50%が消費されたがストレージセルの100%がそれらの最大記憶容量の50%で使用されている図1dの状態の後、セルは、より多くのページの記憶を受け入れるべく、MLCモードからそれらの完全なQLCモードに切り替えられる必要がある。
それ故、図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プログラミング処理を導入したことに起因する何らかの低下を経験する。
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として最高位ビットから最下位ビットまで表すページに関して編成される。
様々な実施形態において、書き込みパターンの2番目のパスをQLC密度で書き込む場合にMLCからQLCへの電荷の再分配を適切に実行すべく、当初は1番目のパスがMLCモードである間中あるセルに記憶されていたビットのペアが、そのセルから読み出され、次に、そのセルに書き込まれるべき新しいデータと組み合わされる。次に、組み合わされた4ビット(元の2ビットおよび新しい2ビット)は、そのセルにプログラミングされる。
図1fおよび図1gは、追加の記憶されたページ数に関して図1cおよび図1dとそれぞれ同等である以下の状態を示す。図1fおよび図1gから分かるように、SSDにおけるセルは、2番目のパスがセル当たり最大記憶密度モードである間中、継続的に上書きされ、これにより、各セルの記憶容量が、2つの追加のページXおよびTの各々から追加の2ビットだけ拡張される。従って、図1gのSSDの状態の時点で、SSDの全記憶容量に到達している。
様々な実施形態において、SSDのウェアレベリング機能により維持される情報は、高密度かつ低速なセルへの切り替えの結果としてのSSDに対する認められた性能ヒットを最小化するために用いられ得る。ここで、当該技術分野において公知であるように、スより高い頻度で書き込まれるストレージセルは、より低い頻度で書き込まれるセルよりも速く消耗する。
故に、SSDのコントローラは、ウェアレベリングを実行して、情報のうち頻繁にアクセスされる「ホット」ブロックを、まれにアクセスされたに過ぎない「よりコールドな」ブロックに再マッピングする。ここで、コントローラは、SSDの物理アドレスのアクセスレート(および/または総アクセス数)をモニタリングし、これらの物理アドレスをホストにより提供される元のLBUにマッピングした内部マップを維持する。モニタリングされたレートおよび/またはカウントに基づいて、コントローラは、いつ特定のブロックが「ホット」とみなされてそれらの関連データのスワッピングが必要になったかを決定するとともに、いつ特定のブロックが「コールド」とみなされてデータのホットブロックを受け取り得るかを決定する。伝統的なウェアレベリングアプローチにおいて、よりコールドなブロックの情報も、ホットブロックにスワッピングされ得る。
ひとたび高密度セル記憶モードの利用が始まると認められる、プログラミング性能の低下の影響を減らすべく、ウェアレベリング機能により維持されるホットブロックデータおよびコールドブロックデータも、MLCモードで動作しているセルにおけるホットページを維持するために、また、QLCモードで動作しているストレージセルにおけるコールドページを維持するために用いられ得る。ここで、例えば、図1eはSSDを示す。SSDのストレージセルのうちのかなりの割合がMLCモードで動作しており、SSDのストレージセルのうちのかなりの割合がWLCモードで動作している。従って、低速QLCセル内に十分な数のホットブロックが存在し得、高速MLCセル内に十分な数のコールドブロックが存在し得る。コントローラにより維持されるウェアレベリングデータは、ホットブロックが高速MLCセルへと動かされ、コールドブロックが低速QLCセルへと動かされるようにこれらのページの位置をインテリジェントにスワップするために用いられ得る。
容量利用率が50%またはそれより低く落ち込むと、SSDは完全にMLCモードで動作する状態に戻り得ることに留意されたい。
図3は、上記で提供される教示と一致して動作し得るSSD301の実施形態を示す。図3において認められるように、SSDは、1ビットより多くを記憶できる多くのストレージセル302を含む。加えて、SSDのストレージセルのほとんどまたは全ては、MLCモードおよびQLCモードの両方で動作可能である。これらのセルの特定の1つがこれらのモードのうちのどの1つで動作するかは、SSDの記憶容量利用率に依存する(例えば、全容量利用率の50%またはそれ未満では、全てのセルがMLCモードで動作し、容量利用率50%から100%の間では、いくつかのセルがMLCモードで動作し、一方、他のセルがQLCモードで動作し、容量利用率100%では、全てのセルがQLCモードで動作する)。
SSDは、コントローラ306を含む。コントローラ306は、どのセルがMLCモードで動作するか、およびどのセルがQLCモードで動作するかの決定を担う。詳細に上述される一実施形態によれば、最初のプログラミングパスが、MLCモードで動作する全てのセルに適用され、次に、2番目のパスが、QLCモードで動作する全てのセルに適用される。容量利用率情報および/またはどのセルがどのモード311で動作しているかを特定する情報は、例えば、コントローラ306内で結合および/または統合されたメモリ領域および/またはレジスタ領域310において維持される。一実施形態において、そのような情報は、セルのセットがそれらの動作のMLCモード/QLCモードに関して共通のグループとして同一に扱われる各物理アドレスまたは何らかの粒度(例えば、ブロックID)について、MLCビット/QLCビットまたは類似のデジタル記録で表される。
従って、そのような粒度がブロックレベルである場合、各ブロックは、情報311において特定され、これらのブロックの各々が初めてプログラミングされる時点をMLCについてさらに指定する。上50%超の容量利用率では、SSDがMLCセルからQLCセルへの変換を始めた場合、情報311は、QLCモードをQLCモードで新たに上書きされた各MLCブロックと共に示すように変更される。容量利用率100%に到達する時までに、全てのブロックの情報311がQLCモードを示すはずである。情報311は、どのブロックが実際に書き込まれるかも指定し得る。これにより、コントローラ306は、容量利用率の割合を決定し得る。その上、上述のように、情報311は、コントローラ306により実行されるウェアレベリングアルゴリズムを強化するために用いられ得る。具体的には、コントローラ306により実行されるウェアレベリングアルゴリズムは、ホットブロックをQLCブロックからMLCブロックへとスワップし得、コールドブロックをMLCブロックからQLCブロックへとスワップし得る。
コントローラ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(「ファイヤワイヤ」)等)との互換性を有し得る。
これは、他の実施形態が、本明細書において提供される教示を、たとえそれらが上述の特定の実施形態からいく分逸脱していたとしても利用し得る旨を認識することに関連する。特に、他の実施形態は、SSDの動作により新しいプログラミングがMLCモードからQLCモードに変わるSSD容量利用率の割合を変更し得る。例えば、一実施形態において、容量が50%(または25%から50%の間の任意の容量)ではなく25%に到達した時に、セルの書き込みがQLCモードで始まる。この場合、例えば、図1dの状態に到達する前に、QLCモードでのプログラミングが開始される。また、様々な実施形態は、ユーザ/ホストに、どの容量利用率でQLCモードへの切り替えが始まるかを設定するようにさせ得る。例えば、SSDは、25%、30%、33%、40%および50%、または25%以上50%以下の間の任意の容量利用率という設定可能なオプションをサポートし得る。おそらく、25%未満の容量利用率も、QLCモードへの切り替えをトリガするために用いられ得る。
これは、MLCの低密度モードおよびQLCの高密度モードが例示的なものに過ぎず、他の実施形態が異なる低密度モードおよび/または異なる高密度モードを有し得る旨を認識することにも関する。例えば、一実施形態において、低密度がTLCであり、高密度がQLCである。この実施形態において、高密度モードへの切り替えは、容量利用率が例えば75%(全てのセルがセル1個当たり3ビットでプログラミングされた時)またはそれ未満に到達した時に生じ得ることに留意されたい。別の実施形態において、低密度がSLCであり、高密度がQLCである。この実施形態において、高密度モードへの切り替えは、容量利用率が25%に到達した時(全てのセルがセル1個当たり1ビットでプログラミングされた時)に生じ得ることに留意されたい。以前のTLC/QLC SSDは、より少ないが高速の有効バッファを有するSLC/QLC SSDよりも多いが低速の有効バッファを有していた。従って、高密度モードへの切り替えが生じる場合の正確な割合は、利用される特定の低密度モードおよび高密度モードの機能でもあり得る。
本明細書における教示は、図3に関連して上述された特定のSSD以外のシステムにも適用され得る。例えば、上述のコントローラ306の機能は、部分的に、または全体的にホストシステムに統合され得る。
図4は上述の方法を示す。方法は、複数のフラッシュメモリチップのマルチビットストレージセルを低密度記憶モードにプログラミングする段階(401)を含む。方法は、複数のフラッシュメモリチップの記憶容量の少なくとも25%がプログラミングされた後に、複数のフラッシュメモリチップのマルチビットストレージセルを高密度記憶モードにプログラミングする段階(402)も含む。
図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とを含み得る。
アプリケーションプロセッサまたはマルチコアプロセッサ550は、そのCPU501内の1または複数の汎用処理コア515と、1または複数のグラフィック処理ユニット516と、メモリ管理機能517(例えば、メモリコントローラ)と、I/O制御機能518とを含み得る。汎用処理コア515は典型的には、コンピューティングシステムのオペレーティングシステムおよびアプリケーションソフトウェアの動作を実行する。グラフィック処理ユニット516は典型的には、例えば、ディスプレイ503に表示されるグラフィック情報を生成するグラフィック集約機能 を実行する。メモリ制御機能517は、システムメモリ502とインターフェースして、システムメモリ502との間でデータの書き込み/読み出しを行う。電力管理制御ユニット512は概して、システム500の電力消費を制御する。
タッチスクリーンディスプレイ503、通信インターフェース504−707、GPSインターフェース508、センサ509、カメラ510およびスピーカ/マイクコーデック513、514の各々全ては、必要に応じて統合型周辺デバイス(例えば、1または複数のカメラ510)も含むコンピューティングシステム全体に対する様々な形式のI/O(入力および/または出力)として見られ得る。実装に応じて、これらのI/Oコンポーネントのうちの様々なものが、アプリケーションプロセッサ/マルチコアプロセッサ550上で統合され得るか、またはダイの外またはアプリケーションプロセッサ/マルチコアプロセッサ550のパッケージの外に配置され得る。
コンピューティングシステムは、システムの大容量ストレージコンポーネントであり得る不揮発性ストレージ520も含む。ここで、例えば、大容量ストレージは、上記で詳細に説明されるように、SSDの容量利用率に応じてそのマルチビットストレージセルが異なる記憶密度でプログラミングされるフラッシュメモリチップから構成される1または複数のSSDから構成され得る。
本発明の実施形態は、上記の様々な処理を含み得る。これらの処理は、機械実行可能命令において具現化され得る。この命令は、汎用プロセッサまたは特定用途向けプロセッサに特定の処理を実行させるために用いられ得る。代替的に、これらの処理は、処理を実行するためのハードワイヤード論理回路またはプログラマブル論理回路(例えば、FPGA、PLD)を含む特定ハードウェアコンポーネント/カスタムハードウェアコンポーネントにより、またはプログラミングされたコンピュータコンポーネントおよびカスタムハードウェアコンポーネントの任意の組み合わせにより実行され得る。
本発明の要素は、機械実行可能命令を記憶するための機械可読媒体としても提供され得る。機械可読媒体は、限定はされないが、フロッピー(登録商標)ディスケット、光ディスク、CD−ROM、磁気光ディスク、フラッシュメモリ、ROM、RAM、EPROM、EEPROM、磁気カードもしくは光カード、伝播媒体、または電子命令を記憶するのに適した他のタイプの媒体/機械可読媒体を含み得る。例えば、本発明は、通信リンク(例えば、モデム接続またはネットワーク接続)を介して搬送波または他の伝播媒体に具現化されるデータ信号を用いて、リモートコンピュータ(例えば、サーバ)から要求しているコンピュータ(例えば、クライアント)に転送され得るコンピュータプログラムとしてダウンロードされ得る。
上述の明細書において、本発明は、その特定の例示的な実施形態を参照して説明されている。しかしながら、添付の特許請求の範囲に記載される本発明のより広い趣旨および範囲から逸脱することなく、様々な修正および変更がなされ得ることは明らかであろう。よって、本明細書および図面は、限定的な意味ではなく、例示的な意味で解釈されるべきである。
[項目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%がプログラミングされた後に、上記複数のフラッシュメモリチップの上記マルチビットストレージセルを高密度記憶モードにプログラミングする手順と
を含む方法を上記ストレージデバイスに実行させる記憶されたプログラムコード
を備える製造品。
しかしながら、セル1個当たりの記憶密度およびセル1個当たりのアクセス時間に関して、トレードオフが存在する。すなわち、概して、ストレージセルがより多くのビットを記憶するほど、情報をセルに書き込むために必要な時間の量は長くなる。ここで、より多くのビットを記憶するストレージセルは、より少ないビットを記憶するストレージセルより厳しい電荷記憶許容値を有するものと理解され得る。すなわち、より多くのビットを記憶するセルは、そのセルが記憶し得る異なる論理状態間の差を示すより少量の電荷を有するのに対し、より少ないビットを記憶するセルは、そのセルが記憶し得る論理状態間差を示すより大量の電荷を有する。
図1bは、最初のページ数101がデバイスにプログラミングされた後のSSDの状態を示す。ここで、SSDは、論理アドレスを物理アドレスにマッピングするマッピングテーブル(アドレス変換テーブルとも称される)を管理するコントローラを含む。SSDに書き込まれるデータのブロックをホストが送信する場合、ホストは、このデータにブロックアドレスも付加する。このブロックアドレスは、論理ブロックアドレス(LBU)と称される。次に、SDは、このデータブロックをSSDに書き込み、マッピングテーブル内で、このデータのLBUを、このブロックのデータのページが記憶されているSSD内の物理位置に関連付ける。これらの特定の物理位置は、ページが記憶されているSSD内の1または複数のダイ、面、ブロック、ワードラインおよびページリソースを一意に特定する物理ブロックアドレス(PBA)で指定される。
再びであるが、同じ面およびダイの異なるブロックおよびワードラインにわたってデータが順次書き込まれる書き込みパターンを用いる代替的な実装では、ページLおよびUがダイ1の面0のBA=0およびWL=0に書き込まれた後、SSDは、例えば、ダイ1の面0のBA=0およびWL=1にページLおよびUを書き込み得る。この特定の実施形態では、再びであるが、特定のワードラインに沿った潜在的な記憶容量の半分のみがプログラミングされる。従って、無数の異なる記憶ブロックおよびワードラインの組み合わせのシーケンスが存在し、これらは、特定のプログラミングパターンを、SSDに書き込まれている新しいページとして定義するために用いられ得る。議論を容易にするために、本説明の残りでは主に、ページ書き込みパターンが図1bから図1fに示される実施形態のみに言及する。
ひとたび高密度セル記憶モードの利用が始まると認められる、プログラミング性能の低下の影響を減らすべく、ウェアレベリング機能により維持されるホットブロックデータおよびコールドブロックデータも、MLCモードで動作しているセルにおけるホットページを維持するために、また、QLCモードで動作しているストレージセルにおけるコールドページを維持するために用いられ得る。ここで、例えば、図1eはSSDを示す。SSDのストレージセルのうちのかなりの割合がMLCモードで動作しており、SSDのストレージセルのうちのかなりの割合がLCモードで動作している。従って、低速QLCセル内に十分な数のホットブロックが存在し得、高速MLCセル内に十分な数のコールドブロックが存在し得る。コントローラにより維持されるウェアレベリングデータは、ホットブロックが高速MLCセルへと動かされ、コールドブロックが低速QLCセルへと動かされるようにこれらのページの位置をインテリジェントにスワップするために用いられ得る。
タッチスクリーンディスプレイ503、通信インターフェース504−707、GPSインターフェース508、センサ509、カメラ510およびスピーカ/マイクコーデック513、514の各々は、必要に応じて統合型周辺デバイス(例えば、1または複数のカメラ510)も含むコンピューティングシステム全体に対する様々な形式のI/O(入力および/または出力)として見られ得る。実装に応じて、これらのI/Oコンポーネントのうちの様々なものが、アプリケーションプロセッサ/マルチコアプロセッサ550上で統合され得るか、またはダイの外またはアプリケーションプロセッサ/マルチコアプロセッサ550のパッケージの外に配置され得る。

Claims (20)

  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%がプログラミングされた後に、前記複数のフラッシュメモリチップの前記マルチビットストレージセルを高密度記憶モードにプログラミングする手順と
    を含む方法を前記ストレージデバイスに実行させる記憶されたプログラムコード
    を備える製造品。
JP2018190060A 2017-12-28 2018-10-05 ストレージデバイスの容量利用率の関数であるプログラミング済みセル記憶密度モードを有するストレージデバイス Pending JP2019121350A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023080743A JP2023106490A (ja) 2017-12-28 2023-05-16 ストレージデバイスの容量利用率の関数であるプログラミング済みセル記憶密度モードを有するストレージデバイス

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/857,530 2017-12-28
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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023080743A Division JP2023106490A (ja) 2017-12-28 2023-05-16 ストレージデバイスの容量利用率の関数であるプログラミング済みセル記憶密度モードを有するストレージデバイス

Publications (1)

Publication Number Publication Date
JP2019121350A true JP2019121350A (ja) 2019-07-22

Family

ID=65037974

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2018190060A Pending JP2019121350A (ja) 2017-12-28 2018-10-05 ストレージデバイスの容量利用率の関数であるプログラミング済みセル記憶密度モードを有するストレージデバイス
JP2023080743A Pending JP2023106490A (ja) 2017-12-28 2023-05-16 ストレージデバイスの容量利用率の関数であるプログラミング済みセル記憶密度モードを有するストレージデバイス

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023080743A Pending JP2023106490A (ja) 2017-12-28 2023-05-16 ストレージデバイスの容量利用率の関数であるプログラミング済みセル記憶密度モードを有するストレージデバイス

Country Status (5)

Country Link
US (1) US20190034105A1 (ja)
JP (2) JP2019121350A (ja)
KR (1) KR20190080733A (ja)
CN (1) CN110058800A (ja)
DE (1) DE102018130164A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11914896B2 (en) 2020-08-06 2024-02-27 Kioxia Corporation Memory system and write control method

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190099570A (ko) * 2018-02-19 2019-08-28 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
JP2022537520A (ja) * 2019-06-14 2022-08-26 華為技術有限公司 ハードディスク制御方法及び関連デバイス
US11188261B2 (en) * 2019-11-18 2021-11-30 International Business Machines Corporation Memory controllers for solid-state storage devices
TWI802140B (zh) * 2019-11-21 2023-05-11 日商鎧俠股份有限公司 記憶體系統
TWI738390B (zh) * 2020-06-19 2021-09-01 群聯電子股份有限公司 資料保護方法、記憶體儲存裝置及記憶體控制電路單元
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 (zh) * 2021-12-31 2022-09-09 北京得瑞领新科技有限公司 Nand芯片中写入块的读取方法、存储介质及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009090731A1 (ja) * 2008-01-16 2009-07-23 Fujitsu Limited 半導体記憶装置、制御装置、制御方法
US20090259797A1 (en) * 2008-04-10 2009-10-15 Sandisk Il Ltd. Method, apparatus and computer readable medium for storing data on a flash device using multiple writing modes
US20100122016A1 (en) * 2008-11-12 2010-05-13 Micron Technology Dynamic slc/mlc blocks allocations for non-volatile memory
US20130238833A1 (en) * 2012-03-08 2013-09-12 Apple Inc. Heuristics for programming data in a non-volatile memory
JP2014035786A (ja) * 2012-08-08 2014-02-24 Samsung Electronics Co Ltd 不揮発性メモリ装置とプログラミング方法
US20160179376A1 (en) * 2014-12-23 2016-06-23 Intel Corporation Method and apparatus for improving read performance of a solid state drive

Family Cites Families (3)

* 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
US8060719B2 (en) * 2008-05-28 2011-11-15 Micron Technology, Inc. Hybrid memory management
KR102579920B1 (ko) * 2015-12-17 2023-09-18 삼성전자주식회사 씨오피 구조를 갖는 메모리 장치 및 이를 포함하는 메모리 패키지

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009090731A1 (ja) * 2008-01-16 2009-07-23 Fujitsu Limited 半導体記憶装置、制御装置、制御方法
US20100265768A1 (en) * 2008-01-16 2010-10-21 Fujitsu Limited Semiconductor storage apparatus, control apparatus and control method
US20090259797A1 (en) * 2008-04-10 2009-10-15 Sandisk Il Ltd. Method, apparatus and computer readable medium for storing data on a flash device using multiple writing modes
US20100122016A1 (en) * 2008-11-12 2010-05-13 Micron Technology Dynamic slc/mlc blocks allocations for non-volatile memory
US20130238833A1 (en) * 2012-03-08 2013-09-12 Apple Inc. Heuristics for programming data in a non-volatile memory
JP2014035786A (ja) * 2012-08-08 2014-02-24 Samsung Electronics Co Ltd 不揮発性メモリ装置とプログラミング方法
US20160179376A1 (en) * 2014-12-23 2016-06-23 Intel Corporation Method and apparatus for improving read performance of a solid state drive
WO2016105780A1 (en) * 2014-12-23 2016-06-30 Intel Corporation Method and apparatus for improving read performance of a solid state drive

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11914896B2 (en) 2020-08-06 2024-02-27 Kioxia Corporation Memory system and write control method

Also Published As

Publication number Publication date
JP2023106490A (ja) 2023-08-01
KR20190080733A (ko) 2019-07-08
US20190034105A1 (en) 2019-01-31
CN110058800A (zh) 2019-07-26
DE102018130164A1 (de) 2019-07-04

Similar Documents

Publication Publication Date Title
JP2019121350A (ja) ストレージデバイスの容量利用率の関数であるプログラミング済みセル記憶密度モードを有するストレージデバイス
US11797433B2 (en) Zoned namespace with zone grouping
KR102500661B1 (ko) 다중 레벨 셀 모드 비휘발성 메모리를 위한 비용 최적화된 단일 레벨 셀 모드 비휘발성 메모리
TW201621912A (zh) 用於組態和控制非揮發性快取記憶體的系統及方法
US8417879B2 (en) Method for suppressing errors, and associated memory device and controller thereof
US10541009B2 (en) Write data mask for power reduction
US10389380B2 (en) Efficient data path architecture for flash devices configured to perform multi-pass programming
US11741011B2 (en) Memory card with volatile and non volatile memory space having multiple usage model configurations
US20190034330A1 (en) Mass storage device with dynamic single level cell (slc) buffer specific program and/or erase settings
TW201911052A (zh) 磨損平整
US10430108B2 (en) Concurrent copying of first and second subsets of pages from media such as SLC NAND to media such as QLC or MLC NAND for completion of copying of data
US20190146926A1 (en) Storage device and operating method of storage device
US11157202B2 (en) Memory management utilizing buffer reset commands
US20200183592A1 (en) Storage device and method of operating the same
US11892928B2 (en) Delayed thermal throttling and associated data routing techniques
US11403011B1 (en) Host memory buffer allocation management
KR20220085708A (ko) 고체 상태 드라이브 내의 영구적 메모리 내의 논리 대 물리 어드레스 인디렉션 테이블
US11281405B2 (en) Controlled die asymmetry during MLC operations for optimal system pipeline
US10606488B2 (en) Selective data flush in a storage device
EP3772682A1 (en) Method and apparatus to improve write bandwidth of a block-based multi-level cell non-volatile memory
US20210334039A1 (en) Method for accessing flash memory module and associated flash memory controller and electronic device
TW201941208A (zh) 記憶體管理方法與儲存控制器
EP4020220A1 (en) Utilizing nand buffer for dram-less multilevel cell programming
US20220308787A1 (en) Switch based bga extension
US20200117390A1 (en) Data storage device and operating method thereof

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210728

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220426

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220725

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220922

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221013

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230117