JP7841151B2 - データ記憶デバイス及び読み出し閾値を予測するために複数のモデルを使用するための方法 - Google Patents

データ記憶デバイス及び読み出し閾値を予測するために複数のモデルを使用するための方法

Info

Publication number
JP7841151B2
JP7841151B2 JP2025067282A JP2025067282A JP7841151B2 JP 7841151 B2 JP7841151 B2 JP 7841151B2 JP 2025067282 A JP2025067282 A JP 2025067282A JP 2025067282 A JP2025067282 A JP 2025067282A JP 7841151 B2 JP7841151 B2 JP 7841151B2
Authority
JP
Japan
Prior art keywords
memory
data storage
storage device
different models
conditions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2025067282A
Other languages
English (en)
Other versions
JP2026015182A (ja
Inventor
アブラハム デイビッド
シャロン エラン
バザルスキー アレクサンダー
ナボン アリエル
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.)
SanDisk Technologies LLC
Original Assignee
SanDisk Technologies LLC
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 SanDisk Technologies LLC filed Critical SanDisk Technologies LLC
Publication of JP2026015182A publication Critical patent/JP2026015182A/ja
Application granted granted Critical
Publication of JP7841151B2 publication Critical patent/JP7841151B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Description

NANDプロセスの縮小及び三次元積層によってもたらされる主な課題のうちの1つは、プロセスの均一性を維持することである。加えて、データ記憶デバイスは、広範囲の動作条件(異なるプログラム/消去サイクル、保持時間、及び温度など)をサポートする必要があり得、これは、異なる動作条件にわたるメモリダイ、ブロック、及びページ間の変動性の増加につながり得る。これらの変動に起因して、いくつかのデータ記憶デバイス内のメモリページを読み出すために使用される読み出し閾値(read threshold、RT)は、固定されず、特に、あまり成熟していないメモリノードに関して、物理的場所及び動作条件の関数として有意に変化することができる。
一実施形態のデータ記憶デバイスのブロック図である。 一実施形態の記憶モジュールを例解するブロック図である。 一実施形態の階層記憶システムを例解するブロック図である。 一実施形態による、図1Aに例解されるデータ記憶デバイスのコントローラの構成要素を例解するブロック図である。 一実施形態による、図1Aに例解されるデータ記憶デバイスの構成要素を例解するブロック図である。 一実施形態のホスト及びデータ記憶デバイスのブロック図である。 デフォルトとして多条件モデルを使用する一実施形態の方法のフローチャートである。 寿命初期モデルで開始し、書き込み/消去サイクルで進行する一実施形態の方法のフローチャートである。 一実施形態のシグマ対失敗ビットカウント(failed bit count、FBC)のグラフである。
以下の実施形態は、概して、読み出し閾値を予測するために複数のモデルを使用するためのデータ記憶デバイス及び方法に関する。一実施形態では、メモリ及び1つ以上のプロセッサを備えるデータ記憶デバイスが提供される。1つ以上のプロセッサは、個々に又は組み合わせて、複数の条件下で訓練されたモデルを使用して、読み出し閾値を生成し、読み出し閾値を使用することから生じるパラメータを追跡して、メモリを読み出し、パラメータの値が閾値を超えることに応じて、データ記憶デバイスの現在の条件と同様の条件下で訓練された異なるモデルを使用して、新しい読み出し閾値を生成し、新たな読み出し閾値を使用して、メモリを読み出すように構成されている。
別の実施形態では、メモリを備えるデータ記憶デバイスにおいて実行される方法が提供される。本方法は、第1の条件下で訓練されたモデルを使用して、第1の読み出し閾値を生成することと、プログラム/消去サイクルの数を追跡することと、データ記憶デバイスの現在の条件についての閾値を超えるプログラム/消去サイクルの数に応じて、異なる条件下で訓練された異なるモデルを選択して、異なる読み出し閾値を生成することと、異なる読み出し閾値を使用して、メモリを読み出すことと、を含む。
更に別の実施形態では、データ記憶デバイスが提供され、メモリと、複数の条件で訓練されたモデルを使用して、読み出し閾値を生成し、閾値を超えるビット誤り率又は読み出しレイテンシ値に応じて、データ記憶デバイスの現在の条件と同様の条件下で訓練された異なるモデルを使用して、新しい読み出し閾値を生成し、新たな読み出し閾値を使用して、メモリを読み出すための手段と、を備える。
他の実施形態も可能であり、実施形態の各々は、単独で又は組み合わせて一緒に使用することができる。したがって、様々な実施形態が、ここで添付の図面を参照して説明される。
実施形態
以下の実施形態は、データ記憶デバイス(data storage device、DSD)に関する。本明細書で使用される場合、「データ記憶デバイス」は、データを記憶する不揮発性デバイスを指す。DSDの例としては、ハードディスクドライブ(hard disk drive、HDD)、ソリッドステートドライブ(solid state drive、SSD)、テープドライブ、ハイブリッドドライブなどが挙げられるが、これらに限定されない。例示的なDSDの詳細は、以下に提供される。
これらの実施形態の態様を実装する際に使用するために好適なデータ記憶デバイスの例が、図1A~図1Cに示される。これらは例にすぎず、他の実装形態が使用され得ることに留意されたい。図1Aは、一実施形態によるデータ記憶デバイス100を例解するブロック図である。図1Aを参照すると、この例におけるデータ記憶デバイス100は、1つ以上の不揮発性メモリダイ104から構成され得る不揮発性メモリと結合されたコントローラ102を含む。本明細書で使用される際、ダイという用語は、単一の半導体基板上に形成される、不揮発性メモリセルと、それらの不揮発性メモリセルの物理的動作を管理するための関連回路との集合を指す。コントローラ102は、ホストシステムとインターフェース接続し、読み出し、プログラム、及び消去動作のためのコマンドシーケンスを不揮発性メモリダイ104に送信する。また、本明細書で使用される際、「と通信する」又は「と結合される」という語句は、直接的に通信する/結合される、又は1つ以上の構成要素を通して間接的に通信する/結合されることを意味することができ、これは、本明細書において図示又は説明される場合又はされない場合がある。通信/結合は、有線又は無線であり得る。
コントローラ102(不揮発性メモリコントローラ(例えば、フラッシュ、抵抗変化型ランダムアクセスメモリ(resistive random-access memory、ReRAM)、相変化メモリ(phase-change memory、PCM)、又は磁気抵抗ランダムアクセスメモリ(magnetoresistive random-access memory、MRAM)コントローラ)であり得る)は、本明細書において説明され、フローチャートに例解される機能を含むが、これらに限定されない、ある機能を実行するように構成された1つ以上の構成要素を個々に又は組み合わせて含むことができる。例えば、図2Aに示されるように、コントローラ102は、コントローラ102の内部及び/又はコントローラ102の外部の1つ以上の非一時的メモリ139(例えば、ランダムアクセスメモリ(random access memory、RAM)116又は読み出し専用メモリ(read-only memory、ROM)118)に記憶されたコンピュータ可読プログラムコードを実行することによって、本明細書において説明され、フローチャートに例解される機能などであるが、これらに限定されない機能を実行するように個々に又は組み合わせて構成された1つ以上のプロセッサ138を備えることができる。別の例として、1つ以上の構成要素は、限定はしないが、論理ゲート、スイッチ、特定用途向け集積回路(application specific integrated circuit、ASIC)、プログラマブル論理コントローラ、及び組み込みマイクロコントローラなどの回路を含むことができる。
1つの例示的な実施形態では、不揮発性メモリコントローラ102は、不揮発性メモリに記憶されたデータを管理し、任意の好適なオペレーティングシステムを有するコンピュータ又は電子デバイスなどのホストと通信するデバイスである。不揮発性メモリコントローラ102は、本明細書で説明する特定の機能に加えて、様々な機能を有することができる。例えば、不揮発性メモリコントローラは、メモリが適切に動作していることを確実にするために不揮発性メモリをフォーマットし、不良の不揮発性メモリセルをマップアウトし、将来の故障セルの代わりとなる予備セルを割り当てることができる。スペアセルのいくつかの部分は、不揮発性メモリコントローラを動作させ、他の特徴を実装するためのファームウェア(及び/又はハウスキーピング及び追跡のために使用される他のメタデータ)を保持するために使用され得る。動作中、ホストは、不揮発性メモリからデータを読み出すか、又は不揮発性メモリにデータを書き込む必要があるとき、不揮発性メモリコントローラと通信することができる。ホストが、データが読み出される/書き込まれる論理アドレスを提供する場合、不揮発性メモリコントローラは、ホストから受信した論理アドレスを不揮発性メモリ内の物理アドレスに変換することができる。不揮発性メモリコントローラはまた、限定されるものではないが、ウェアレベリング(そうでなければ繰り返し書き込まれるメモリの特定のブロックを摩耗させることを回避するために書き込みを分散させる)及びガーベジコレクション(ブロックが満杯になった後、データの有効なページのみを新しいブロックに移動させ、そのため、満杯のブロックを消去して再利用することができる)などの様々なメモリ管理機能を実行することができる。
不揮発性メモリダイ104は、抵抗変化型ランダムアクセスメモリ(ReRAM)、磁気抵抗ランダムアクセスメモリ(MRAM)、相変化メモリ(PCM)、NANDフラッシュメモリセル、及び/又はNORフラッシュメモリセルを含む任意の好適な不揮発性記憶媒体を含み得る。メモリセルは、ソリッドステート(例えば、フラッシュ)メモリセルの形態を採ることができ、1回プログラム可能、数回プログラム可能、又は多数回プログラム可能であり得る。メモリセルはまた、シングルレベルセル(single-level cell、SLC)、マルチレベルセル(multiple-level cell、MLC)(例えば、デュアルレベルセル、トリプルレベルセル(triple-level cell、TLC)、クワッドレベルセル(quad-level cell、QLC)など)とすることができるか、又は現在知られているか若しくは後に開発される他のメモリセルレベル技術を使用することができる。また、メモリセルは、二次元又は三次元の方法で製造することができる。
コントローラ102と不揮発性メモリダイ104との間のインターフェースは、トグルモード200、400、又は800などの任意の好適なフラッシュインターフェースであり得る。一実施形態では、データ記憶デバイス100は、セキュアデジタル(secure digital、SD)又はマイクロセキュアデジタル(マイクロSD)カードなどのカードベースのシステムであり得る。別の実施形態では、データ記憶デバイス100は、埋め込みデータ記憶デバイスの一部であり得る。
図1Aに例解される例では、データ記憶デバイス100(本明細書では記憶モジュールと称されることもある)は、コントローラ102と不揮発性メモリダイ104との間に単一のチャネルを含むが、本明細書において説明される主題は、単一のメモリチャネルを有することに限定されない。例えば、いくつかのアーキテクチャ(図1B及び図1Cに示されるものなど)では、コントローラの能力に応じて、2つ、4つ、8つ以上のメモリチャネルがコントローラとメモリデバイスとの間に存在し得る。本明細書において説明される実施形態のうちのいずれかでは、単一のチャネルが図面に示されている場合であっても、コントローラとメモリダイとの間に2つ以上のチャネルが存在し得る。
図1Bは、複数の不揮発性データ記憶デバイス100を含む記憶モジュール200を例解する。したがって、記憶モジュール200は、ホストと、複数のデータ記憶デバイス100を含むデータ記憶デバイス204とインターフェース接続する記憶コントローラ202を含み得る。記憶コントローラ202とデータ記憶デバイス100との間のインターフェースは、シリアルアドバンストテクノロジアタッチメント(serial advanced technology attachment、SATA)、ペリフェラル構成要素インターコネクトエクスプレス(peripheral component interconnect express、PCIe)インターフェース、ダブルデータレート(double-data-rate、DDR)インターフェース、又はシリアルアタッチドスモールスケールコンピュートインターフェース(serial attached small scale compute interface、SAS/SCSI)などのバスインターフェースであり得る。記憶モジュール200は、一実施形態では、ソリッドステートドライブ(SSD)、又はサーバPC又はラップトップコンピュータ及びタブレットコンピュータなどのポータブルコンピューティングデバイスに見られるような不揮発性デュアルインラインメモリモジュール(non-volatile dual in-line memory module、NVDIMM)であり得る。
図1Cは、階層記憶システムを例解するブロック図である。階層記憶システム250は、複数の記憶コントローラ202を含み、その各々は、それぞれのデータ記憶デバイス204を制御する。ホストシステム252は、バスインターフェースを介して記憶システム250内のメモリにアクセスし得る。一実施形態では、バスインターフェースは、不揮発性メモリエクスプレス(Non-Volatile Memory Express、NVMe)又はファイバチャネルオーバーイーサネット(Fibre Channel over Ethernet、FCoE)インターフェースであり得る。一実施形態では、図1Cに例解されるシステムは、データセンタ又は大容量記憶が必要とされる他の場所で見られるような、複数のホストコンピュータによってアクセス可能であるラックマウント可能な大容量記憶システムであり得る。
再び図2Aを参照すると、この例におけるコントローラ102はまた、ホストとインターフェース接続するフロントエンドモジュール108と、1つ以上の不揮発性メモリダイ104とインターフェース接続するバックエンドモジュール110と、限定はしないが、RAM 116内のバッファを管理し、コントローラ102の内部バスアービトレーションを制御するバッファマネージャ/バスコントローラモジュールなどの様々な他の構成要素又はモジュールと、を含む。モジュールは、上で考察されるように、1つ以上のプロセッサ又は構成要素を含むことができる。ROM 118は、システムブートコードを記憶することができる。図2Aでは、コントローラ102とは別個に位置するとして例解されているが、他の実施形態では、RAM 116及びROM 118のうちの一方又は両方がコントローラ102内に位置し得る。更に他の実施形態では、RAM 116及びROM 118の一部は、コントローラ102内及びコントローラ102外の両方に位置し得る。
フロントエンドモジュール108は、ホスト又は次のレベルの記憶コントローラとの電気的インターフェースを提供するホストインターフェース120及び物理層インターフェース(physical layer interface、PHY)122を含む。ホストインターフェース120のタイプの選択は、使用されているメモリのタイプに依存し得る。ホストインターフェース120の例としては、SATA、SATA Express、シリアル接続小型コンピュータシステムインターフェース(serially attached small computer system interface、SAS)、ファイバチャネル、ユニバーサルシリアルバス(universal serial bus、USB)、PCIe、及びNVMeが挙げられるが、これらに限定されない。ホストインターフェース120は、典型的には、データ、制御信号、及びタイミング信号のための転送を容易にする。
バックエンドモジュール110は、ホストから受信されたデータバイトを符号化し、不揮発性メモリから読み出されたデータバイトを復号及び誤り訂正する誤り訂正符号(error correction code、ECC)エンジン124を含む。コマンドシーケンサ126は、不揮発性メモリダイ104に送信される、プログラム及び消去コマンドシーケンスなどのコマンドシーケンスを生成する。RAID(Redundant Array of Independent Drive、独立したドライブの冗長アレイ)モジュール128は、RAIDパリティの生成及び障害データの回復を管理する。RAIDパリティは、メモリデバイス104に書き込まれているデータのための追加のレベルの完全性保護として使用され得る。場合によっては、RAIDモジュール128は、ECCエンジン124の一部であり得る。メモリインターフェース130は、不揮発性メモリダイ104にコマンドシーケンスを提供し、不揮発性メモリダイ104からステータス情報を受信する。一実施形態では、メモリインターフェース130は、トグルモード200、400、又は800インターフェースなどのダブルデータレート(DDR)インターフェースであり得る。この例におけるコントローラ102はまた、メディア管理層137と、バックエンドモジュール110の全体的な動作を制御するフラッシュ制御層132と、を備える。
データ記憶デバイス100はまた、外部電気インターフェース、外部RAM、抵抗器、コンデンサ、又はコントローラ102とインターフェース接続し得る他の構成要素などの他のディスクリート構成要素140を含む。代替の実施形態では、物理層インターフェース122、RAIDモジュール128、メディア管理層138、及びバッファ管理/バスコントローラのうちの1つ以上は、コントローラ102に必要ではない任意選択的な構成要素である。
図2Bは、不揮発性メモリダイ104の構成要素をより詳細に例解するブロック図である。不揮発性メモリダイ104は、周辺回路141及び不揮発性メモリアレイ142を含む。不揮発性メモリアレイ142は、データを記憶するために使用される不揮発性メモリセルを含む。不揮発性メモリセルは、二次元及び/又は三次元構成のReRAM、MRAM、PCM、NANDフラッシュメモリセル及び/又はNORフラッシュメモリセルを含む任意の好適な不揮発性メモリセルであり得る。不揮発性メモリダイ104は、データ及びアドレスデコーダ148、150をキャッシュするデータキャッシュ156を更に含む。この例における周辺回路141は、コントローラ102にステータス情報を提供するステートマシン152を含む。周辺回路141はまた、個々に又は組み合わせて、本明細書において説明され、フローチャートに例解される機能を含むが、それらに限定されない、ある機能を実行するように構成される、1つ以上の構成要素を備えることができる。例えば、図2Bに示されるように、メモリダイ104は、1つ以上の非一時的メモリ169に記憶された、メモリアレイ142に記憶された、又はメモリダイ104の外部に記憶されたコンピュータ可読プログラムコードを実行するように個々に又は組み合わせて構成された1つ以上のプロセッサ168を備えることができる。別の例として、1つ以上の構成要素は、限定はしないが、論理ゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラマブル論理コントローラ、及び組み込みマイクロコントローラなどの回路を含むことができる。
コントローラ102内の1つ以上のプロセッサ138(又は、より一般的には、構成要素)及びメモリダイ104内の1つ以上のプロセッサ168(又は、より一般的には、構成要素)に加えて、又はその代わりに、データ記憶デバイス100は、1つ以上のプロセッサ(又は、より一般的には、構成要素)の別のセットを備えることができる。一般に、データ記憶デバイス100内の1つ以上のプロセッサ(又は、より一般的には、構成要素)は、それらがどこに位置していても、またどれだけ多くが存在していても、個々に又は組み合わせて、本明細書で説明され、フローチャートに例解される機能を含むが、これらに限定されない、様々な機能を実行するように構成され得る。例えば、1つ以上のプロセッサ(又は構成要素)は、コントローラ102、メモリデバイス104、及び/又はデータ記憶デバイス100内の他の場所にあることができる。また、異なる機能は、異なるプロセッサ(又は構成要素)又はプロセッサ(又は構成要素)の組み合わせを使用して実行することができる。更に、機能を実行するための手段は、1つ以上の構成要素(例えば、上で説明されるプロセッサ又は他の構成要素)を備えるコントローラを用いて実装され得る。
再び図2Aに戻ると、フラッシュ制御層132(本明細書ではフラッシュ変換層(flash translation layer、FTL)と称される)は、フラッシュエラーを処理し、ホストとインターフェース接続する。特に、ファームウェア内のアルゴリズムであり得るFTLは、メモリ管理の内部を担当し、ホストからの書き込みをメモリ104への書き込みに変換する。FTLは、メモリ104が限られた耐久性を有し得、複数のページのみに書き込まれ得、及び/又はブロックとして消去されない限り書き込まれ得ないため、必要とされ得る。FTLは、ホストには見えない可能性があるメモリ104のこれらの潜在的な制限を理解する。したがって、FTLは、ホストからの書き込みをメモリ104への書き込みに変換することを試みる。
FTLは、論理-物理アドレス(logical-to-physical address、L2P)マップ(本明細書ではテーブル又はデータ構造と称されることもある)と、割り振られたキャッシュメモリと、を含み得る。このようにして、FTLは、ホストからの論理ブロックアドレス(「logical block address、LBA」)をメモリ104内の物理アドレスに変換する。FTLは、限定はしないが、(突然の電力損失の場合にFTLのデータ構造が回復され得るように)電源オフ回復、及び(メモリブロックにわたる摩耗が、故障のより大きな可能性をもたらすことになるあるブロックの過度の摩耗を防止するために均一であるように)ウェアレベリングなどの他の特徴を含むことができる。
再び図面を参照すると、図3は、一実施形態のホスト300及びデータ記憶デバイス100のブロック図である。ホスト300は、コンピュータ、携帯電話、タブレット、ウェアラブルデバイス、デジタルビデオレコーダ、監視システムなどを含むが、それらに限定されない、任意の好適な形態を採ることができる。本実施形態におけるホスト300(ここでは、コンピューティングデバイス)は、1つ以上のプロセッサ330と、1つ以上のメモリ340と、を備える。一実施形態では、1つ以上のメモリ340に記憶されたコンピュータ可読プログラムコードは、ホスト300によって実行されるものとして本明細書で説明される動作を実行するように1つ以上のプロセッサ330を構成する。したがって、ホスト300によって実行されるアクションは、本明細書では、ホスト300上で実行されるアプリケーション(コンピュータ可読プログラムコード)によって実行されると称されることがある。例えば、ホスト300は、データ記憶デバイスのメモリ104に記憶するために、データ記憶デバイス100にデータ(例えば、最初にホストのメモリ340に記憶された)を送信するように構成することができる。
上で言及されるように、NANDプロセスの縮小及び三次元積層によってもたらされる主な課題のうちの1つは、プロセスの均一性を維持することである。加えて、データ記憶デバイスは、広範囲の動作条件(異なるプログラム/消去サイクル、保持時間、及び温度など)をサポートする必要があり得、これは、異なる動作条件にわたるメモリダイ、ブロック、及びページ間の変動性の増加につながり得る。これらの変動に起因して、いくつかのデータ記憶デバイス内のメモリページを読み出すために使用される読み出し閾値(RT)は、固定されず、特に、あまり成熟していない新しいメモリノードに関して、物理的場所及び動作条件の関数として有意に変化することができる。
不正確な読み出し閾値を用いた読み出しは、より高いビット誤り率(bit error rate、BER)につながることがあり、これは、復号失敗に起因して性能及びサービス品質(quality of service、QoS)を劣化させることがあり、これは、性能における遅延及びしゃっくりを引き起こすことがある高レイテンシ回復フローを呼び出すことを必要とすることがある。最適な読み出し閾値を維持するという課題は、サービス品質要件が非常に厳しいエンタープライズメモリシステムにとって、並びに動作条件の必要とされる範囲が広く、条件変化(例えば、温度)の頻度が高くなり得るモバイル、モノのインターネット(internet of things、IoT)、及び自動車メモリシステムにとって、特に重要であり得る。この問題は、新しい、あまり成熟していないメモリノードへの移行中には更に困難である。
BER推定スキャン(BER estimation scan、BES)及び谷探索(valley search、VS)など、読み出し閾値較正のための現在の解決策は、特定のワード線の読み出し閾値を最適化することを目的とした高レイテンシ動作であり、これは、データの復号に失敗した場合のまれな読み出し回復フローには良好であるが、頻繁な読み出し閾値変更の場合の頻繁な動作には好適ではない場合がある。したがって、この問題に対処するために、フラッシュメモリシステムは、ホストが読み出しコマンドを発行するときに適切な読み出し閾値が使用されることを確実にするために、メンテナンスプロセスを介してバックグラウンドで読み出し閾値の変化を追跡しようとする読み出し閾値管理スキームを実装することができる。
1つのアプローチは、同じ条件を共有するブロックのグループごとに読み出し閾値を追跡することである。より具体的には、ほぼ同じ時間及び温度で書き込まれるブロックは、時間及び温度(time and temperature、TT)グループにグループ化される。読み出し閾値は、各時間-温度グループに対して追跡され、通常、グループ内のブロックからのいくつかの代表的なワード線で取得される。ホストが読み出し動作を実行するとき、読み出しブロックに対応する時間-温度グループに関連付けられた読み出し閾値が使用され、特定の読み出しワード線による読み出し閾値への追加の適応が、事前に較正されたワード線ゾーニングテーブルに基づいて実行される。
いくつかの読み出し閾値管理スキームは、頻繁に変化する条件及びメモリページ間の高い変動の下で、読み出し閾値を適切に追跡しない場合がある。この問題に対処するための様々な解決策が可能である。例えば、参照により本明細書に組み込まれる、2022年6月13日に出願された米国特許出願第17/838,481号は、時間及び温度グループ情報、温度情報、ビット誤り率(BER)情報、プログラム消去カウント(program-erase count、PEC)情報、及び物理ページ位置を含む様々な利用可能な情報から最適な読み出し閾値を推論するためのシステム及び方法を具体的に含む、機械学習(machine learning、ML)予測モデルを適用する読み出し閾値較正方法を説明している。
別の例として、参照により本明細書に組み込まれる、2022年8月30日に出願された米国特許出願第17/899,073号、2023年7月11日に出願された同第18/220,363号、及び2023年9月5日に出願された同第18/242,061号は、読み出し閾値のより高速かつより正確な取得のための推論エンジンの実装形態を可能にする方法を説明している。そこに説明されている一実施形態では、バイナリツリーモデルを使用して、関連する補正データのサブセットのみを効率的に記憶する。更に、閾値較正を実行するためにメモリから直接読み出す必要はなく、したがって、BES/VSベースの較正よりもはるかに高速である。バイナリツリーの独特の構造は、高速かつ低面積及び低電力の解決策を可能にする。
更に、参照により本明細書に組み込まれる、2024年5月8日に出願された米国特許出願第18/658,074号は、ハードウェア実装形態を説明している。ハードウェア実装形態は、実装された予測モデルの複雑さに厳しい制限を課す可能性がある。したがって、上記の特許出願の参考文献において説明されているように、対称ツリーの効率的な予測モデルベースの集合を使用することができる。しかしながら、対称予測ツリーモデルは、入力特徴の複雑な非線形関数を記述することが可能であり得るが、離散的(非連続的)であるという固有の欠点を有し得る。ランダムフォレストモデルのこの特性は、有限数の潜在的な出力値のみを有するため、予測精度を制限する可能性がある。モデル性能に対するこの制限の影響は、ハードウェア要件がより厳しくなるにつれて増大し得る。
上で説明されるように、読み出し閾値選択は、機械学習技術に非常に好適であり得る複雑なタスクであり得る。したがって、人工知能ベースの読み出し閾値(artificial intelligence-based read threshold、ART)モードを使用して、レガシー読み出し閾値スキームを置き換えることができる。ARTの一実装形態は、複数の異なるタイプのモデルからリアルタイムで高精度かつ最小のレイテンシで推論することができるマルチモデル推論エンジンである。他の部分的な実装形態は、このアプローチのファームウェア派生物を含むことができる。
読み出し閾値を提供する予測モジュールを構築するための現在のアプローチは、1ロードモデルを含む。読み出し閾値の予測のためにARTモジュールを実装するハードウェアでのRAM割り当ては制限され得るため、全ての指定された条件及び要件をサポートするためのRAM空間の固有の不足がある。更に、最適な読み出しレベルを提供するようにARTモデルを訓練するために収集されたデータセットは、異なる条件に対してその表現を折衷する方法で特徴空間をサンプリングすることができる。例えば、1つのアプローチは、データ記憶デバイス100の異なる条件(例えば、寿命初期(beginning of life、BOL)、寿命中期(middle of life、MOL)、及び寿命末期(end of life、EOL))からデータベースを収集することを含むことができる。生成されたモデルは、これらの条件の間の折衷点であり得る(例えば、限定されたモデルRAMサイズ、並びにデータセットへの限定された焦点に起因する)。更に、全ての異なる動作点に対して読み出し閾値を一度に最適化することが望ましい場合がある。しかしながら、最適化された動作点のための明確な基準がないことがある(すなわち、同じ閾値が、頻繁な低ビット誤り率(BER)の場合(例えば、0~2シグマ)、並びにまれな高BERの場合(例えば、4~5シグマ)の両方に適合することができる)。
したがって、読み出し閾値予測モデルは、割り当てられた揮発性メモリ(例えば、RAM)サイズによって、並びに様々なデバイス条件及び要件をカバーすると想定される多様なデータセットによって制限され得る。ある条件の読み出し閾値を最適化すること、及び/又はセル集団のある部分(低/中央値/高シグマ)を最適化することを目的としたモデルの性能は、従来のアプローチにおける折衷型オールインワンモデルによって達成される性能を改善することができる。更に、モデルのために割り当てられたRAMサイズを増加させることなく、その結果、専用ハードウェアモジュールのサイズ及びコストを増加させることなく、この目標を達成する方法を見つける必要がある。すなわち、割り当てられたRAMサイズ及びコストバジェットを超えることなく、各々が特定のユースケース、条件、及び要件に焦点を合わせることができる、異なる読み出し閾値予測モデルを使用することを可能にすることが有益であり得る。
一実施形態では、専用RAM容量を増加させることなく、特定の条件及び/又は要件に対して最良の性能を提供するように適合された可撓性読み出し閾値予測のためのマルチモデルシステムが提供される。この実施形態では、かかる予測モデルの複数のフレーバーが(例えば、データ記憶デバイス100のメモリ104に、又はホストメモリバッファ(host memory buffer、HMB)などのホストメモリに)記憶され、データ記憶デバイス100のコントローラ102は、現在の条件及び要件に最も適切なモデルを選択する。選択は、現在の条件と同様の条件(すなわち、特徴範囲/値)の下で訓練されたモデルに従うことができる。
1つの例示的な実装形態では、読み出し閾値に対する複数の予測モデルが記憶され、各モデルは、異なる条件/動作点に対して最適化される。現在の状況に応じて最適なモデルを使用することができる。また、現在の条件/動作点に最も類似したモデルタイプを、最も適切なモデルに置き換えるための予備段階として使用することができる。(同様の条件は、所与のモデルが訓練された条件よりも現在の条件に近い条件を指すことができる。)追加の最適化を使用することができる。例えば、ホストメモリバッファ(HMB)は、かかる読み出し閾値モデルのロードを加速するために選択的に使用することができる。また、現在のBERレベル及び/又はファームウェア要件に従って、(例えば、復号が失敗した場合の「ヒロイクス(heroics)」復号ステップとして)異なるサイズのモデルを使用することができる。更に、BER結果の改善が見られるまで、異なるモデルの機会主義的な試行を使用することができる。この特徴は、事前定義されたBER閾値及び/又は復号レイテンシを超える場合に適用することができる。別の例では、ある期間の経過後に、コントローラ102は、モデルを機会主義的に置き換えて、より良好な閾値を達成することができるかどうかを確認しようとすることができる。
以下の段落は、例示的な実施形態を例解する。この例では、コントローラ102は、記憶されている特定条件集中モデルのうちの1つを選択する。かかる集中モデルは、例えば、以下の基準のうちの1つ以上に従うことができる:P/Eカウント→BOL/MOL/EOL集中モデル、タイムプールインデックスごとのモデル、読み出し/書き込み典型的温度ごとのモデル(例えば、異なるサーバファームは、様々な要件及び制限に起因して異なるベース温度で動作し得る)、及びシグマ領域ごとのモデル(例えば、頻繁に非常に低いBERの場合(例えば、0シグマ~50%の場合)のための1つのモデル、中BERの場合(例えば、2シグマ~2%の場合)のための別のモデル、まれな高BERイベント(例えば、4シグマ~0.003%以下のサンプル)のための別のモデル、及び信頼性モデルに対する性能モデル(例えば、第1のモデルは、全てのメインストリーム読み出しに使用され、一方、第2のモデルは、読み出しエラー処理(read error handling、REH)の第1のステップに使用される)。
再び図面を参照すると、図4及び図5は、これらの実施形態の2つの例示的な実装形態の方法のフローチャート400、500である。最初に図4を参照すると、図4は、デフォルトとして多条件モデルを使用するためのフローチャート400である。図4に示されるように、コントローラ102は、一般的な(例えば、多目的)モデルから開始し(410)、性能を追跡する(420)。デフォルトの多目的モデルは、例えば、データ保持の有無にかかわらず、BOL/MOL/EOLなどを含む複数の条件/データセットにわたって訓練することができる。モデルは、例えば、中間のBER範囲(例えば、シグマプロットにおける2つのシグマポイント)で最良の結果を提供するように調整することができる。これは、全ての条件及び動作点の折衷である「オールインモデル」と考えることができる。性能は、事前定義された期間において追跡することができる。次いで、コントローラ102は、平均ビット誤り率(BER)が閾値(threshold、TH)よりも大きいかどうかを判定する(430)。(代替の実施形態では、BERを追跡する代わりに、又はそれに加えて、平均/最大レイテンシ(又は最適でない読み出し閾値を示す別の条件)を追跡することができる。)平均BERが閾値よりも大きくない場合、本方法は420にループバックする。しかしながら、平均BERが閾値よりも大きい場合、コントローラ102は、現在の条件に類似する条件の下で訓練されたモデル(例えば、最も類似するモデル)を識別する(440)。次いで、コントローラ102は、メモリ(ここでは、ホストメモリバッファであるが、データ記憶デバイス100のメモリ104のような異なるメモリを使用することもできる)からその他のモデルをフェッチする(450)。新しいモデルの使用は、BERを減少させるはずである。
ここで図5のフローチャート500を参照すると、この方法は、寿命初期(BOL)モデルから開始し(510)、書き込み/消去(write/erase、W/E)サイクルをカウントする(520)。コントローラ102は、W/Eサイクルの数が現在の条件閾値(TH)よりも大きいかどうかを判定する(530)。そうである場合、コントローラ102は、メモリから次の条件モデルをフェッチする(540)。モデルは、事前定義された順序(例えば、BOL、次いでMOL、次いでEOL)で更新することができる。
現在の条件/動作点に最も類似するモデルタイプの識別は、任意の好適な方法で行うことができる。例えば、コントローラ102は、各モデルについて、典型的な特徴数/範囲をヘッダとして(例えば、専用バッファ内に)保持し、現在の関連する特徴と全ての任意選択的なモデルのヘッダとの間の類似性スコアを計算することができる。次いで、コントローラ102は、最も高い類似性スコアを有するモデルを選択することができる。関連する特徴は、読み出し温度、P/Eサイクル、DR量子化、及び他の物理的条件を含むことができるが、これらに限定されない。例えば、類似性スコアは、プログラム/消去サイクルの数及び/又は読み出し温度(例えば、係数1(現在のPE-Cycle-Model-iのPE-Cycle)+係数2(現在のRead-Temp-Model-iのRead-temp))に基づき得る。
コントローラ102はまた、機会主義的に複数のモデルを適用しようとし、現在のデータ(及び条件)について最も低いBERを生成するものを選択することができる。このオプションは、モデルのためのメタデータを保持することを必要としないが、オーバーヘッドを有し得る(したがって、ヒロイクス復号モードとして、又はアイドル時間に、又は低ワークロードの期間中にのみ適用され得る)。
コントローラ102は、事前定義された期間にわたって複数のサンプルにわたって上記の2つの段落で説明した方法によって生成されたスコアを平均し、それが経過したときに最良のモデルを選択することができる。
図6は、モデルが特定の条件データセット(ここでは、EOL)に対して計算された場合の予測された読み出し閾値のBERシグマプロット分布対予測モデルが一般的な条件データセット(BOL、MOL、EOLを含む)に対して調整された予測のグラフである。この図は、最適なBESベースの読み出し閾値、参照、及び12個のツリーの2つのARTモデルを示す。このグラフから分かるように、ARTは、機械学習されていない参照よりも優れており、現在の条件に対して専用モデルを使用することは、包括的モデルに対して優れた結果を提供する。
これらの実施形態に関連するいくつかの利点がある。例えば、読み出し閾値の専用予測モデルを使用することは、ハードウェア、コスト、及び計算リソース(例えば、ファームウェアオーバーヘッド)を拡大することなく、低減されたBERを生成する改善された閾値を提供することができる。より良好な読み出し閾値は、改善されたスループット、サービス品質、及び電力消費(例えば、より短い復号持続時間)に変換することができ、これは、ほとんどの製品ライン記憶デバイス動作にとって非常に重要であり得、エンドユーザ要件にとって重要であり得る。
最後に、上で言及されるように、任意の好適なタイプのメモリを使用することができる。半導体メモリデバイスは、ダイナミックランダムアクセスメモリ(「dynamic random access memory、DRAM」)又はスタティックランダムアクセスメモリ(「static random access memory、SRAM」)デバイスなどの揮発性メモリデバイス、抵抗変化型ランダムアクセスメモリ(「ReRAM」)、電気的消去可能プログラマブル読み出し専用メモリ(「electrically erasable programmable read only memory、EEPROM」)、フラッシュメモリ(EEPROMのサブセットとみなすこともできる)、強誘電体ランダムアクセスメモリ(「ferroelectric random access memory、FRAM」)、及び磁気抵抗ランダムアクセスメモリ(「MRAM」)などの不揮発性メモリデバイス、並びに情報を記憶することが可能な他の半導体要素を含む。各タイプのメモリデバイスは、異なる構成を有し得る。例えば、フラッシュメモリデバイスは、NAND又はNOR構成で構成され得る。
メモリデバイスは、任意の組み合わせで、受動要素及び/又は能動要素から形成することができる。非限定的な例として、受動半導体メモリ要素は、ReRAMデバイス要素を含み、ReRAMデバイス要素は、いくつかの実施形態では、アンチヒューズ、相変化材料などの抵抗率スイッチング記憶要素、及び任意選択的にダイオードなどのステアリング要素を含む。更に、非限定的な例として、能動半導体メモリ要素は、EEPROM及びフラッシュメモリデバイス要素を含み、いくつかの実施形態では、フローティングゲート、導電性ナノ粒子、又は電荷蓄積誘電体材料などの電荷蓄積領域を含む要素を含む。
複数のメモリ要素は、それらが直列に接続されるように、又は各要素が個々にアクセス可能であるように構成され得る。非限定的な例として、NAND構成のフラッシュメモリデバイス(NANDメモリ)は、典型的には、直列に接続されたメモリ要素を含む。NANDメモリアレイは、アレイがメモリの複数のストリングから構成されるように構成され得、ストリングは、単一のビット線を共有し、グループとしてアクセスされる複数のメモリ要素から構成される。代替的に、メモリ要素は、各要素が個々にアクセス可能であるように構成され得る(例えば、NORメモリアレイ)。NAND及びNORメモリ構成は例であり、メモリ要素は他の方法で構成され得る。
基板内及び/又は基板上に位置する半導体メモリ要素は、二次元メモリ構造又は三次元メモリ構造など、二次元又は三次元に配置され得る。
二次元メモリ構造では、半導体メモリ要素は、単一の平面又は単一のメモリデバイスレベルに配置される。典型的には、二次元メモリ構造では、メモリ要素は、メモリ要素を支持する基板の主面に実質的に平行に延在する平面(例えば、x-z方向平面)に配置される。基板は、その上に又はその中にメモリ要素の層が形成されるウェハであり得るか、又は、メモリ要素が形成された後にメモリ要素に取り付けられるキャリア基板であり得る。非限定的な例として、基板は、シリコンなどの半導体を含み得る。
メモリ要素は、単一のメモリデバイスレベルにおいて、複数の行及び/又は列などの順序付けられたアレイで配置され得る。しかしながら、メモリ要素は、不規則又は非直交構成で配列され得る。メモリ要素は各々、ビット線及びワード線などの2つ以上の電極又はコンタクト線を有し得る。
三次元メモリアレイは、メモリ要素が複数の平面又は複数のメモリデバイスレベルを占有するように配置され、それにより、三次元(すなわち、x、y及びz方向、ここで、y方向は基板の主表面に対して実質的に垂直であり、x及びz方向は基板の主表面に対して実質的に平行である)の構造を形成する。
非限定的な例として、三次元メモリ構造は、複数の二次元メモリデバイスレベルのスタックとして垂直に配置され得る。別の非限定的な例として、三次元メモリアレイは、各列が各列内に複数のメモリ要素を有する複数の垂直列(例えば、基板の主面に対して実質的に垂直に、すなわち、y方向に延在する列)として配置され得る。列は、二次元構成、例えば、x-z平面に配置され得、複数の垂直に積み重ねられたメモリ平面上に要素を有するメモリ要素の三次元配置をもたらす。三次元のメモリ要素の他の構成も、三次元メモリアレイを構成することができる。
非限定的な例として、三次元NANDメモリアレイでは、メモリ要素は、単一の水平(例えば、x-z)メモリデバイスレベル内でNANDストリングを形成するために一緒に結合され得る。代替的に、メモリ要素は、複数の水平メモリデバイスレベルにわたって横断する垂直NANDストリングを形成するために一緒に結合され得る。いくつかのNANDストリングが単一のメモリレベル内にメモリ要素を含み、他のストリングが複数のメモリレベルにまたがるメモリ要素を含む、他の三次元構成を想定することができる。三次元メモリアレイはまた、NOR構成及びReRAM構成で設計され得る。
典型的には、モノリシック三次元メモリアレイでは、1つ以上のメモリデバイスレベルが単一の基板の上方に形成される。任意選択的に、モノリシック三次元メモリアレイはまた、少なくとも部分的に単一の基板内に1つ以上のメモリ層を有し得る。非限定的な例として、基板は、シリコンなどの半導体を含み得る。モノリシック三次元アレイでは、アレイの各メモリデバイスレベルを構成する層は、典型的には、アレイの下にあるメモリデバイスレベルの層上に形成される。しかしながら、モノリシック三次元メモリアレイの隣接するメモリデバイスレベルの層は、共有され得るか、又はメモリデバイスレベル間に介在層を有し得る。
この場合も、二次元アレイは、別個に形成され得、次いで、一緒にパッケージングされて、複数のメモリ層を有する非モノリシックメモリデバイスを形成し得る。例えば、非モノリシック積層メモリは、別個の基板上にメモリレベルを形成し、次いで、メモリレベルを互いの上に積層することによって構築することができる。基板は、積層前にメモリデバイスレベルから薄化又は除去され得るが、メモリデバイスレベルは最初に別個の基板上に形成されるため、結果として得られるメモリアレイは、モノリシック三次元メモリアレイではない。更に、複数の二次元メモリアレイ又は三次元メモリアレイ(モノリシック又は非モノリシック)は、別個のチップ上に形成され、次いで、一緒にパッケージングされて、積層チップメモリデバイスを形成し得る。
関連回路は、典型的には、メモリ要素の動作及びメモリ要素との通信のために必要とされる。非限定的な例として、メモリデバイスは、プログラミング及び読み出しなどの機能を達成するために、メモリ要素を制御及び駆動するために使用される回路を有し得る。この関連回路は、メモリ要素と同じ基板上及び/又は別個の基板上にあり得る。例えば、メモリ読み出し-書き込み動作のためのコントローラは、別個のコントローラチップ上及び/又はメモリ要素と同じ基板上に位置し得る。
当業者は、本発明が、説明された二次元及び三次元構造に限定されず、本明細書において説明され、当業者によって理解されるように、本発明の趣旨及び範囲内の全ての関連メモリ構造を網羅することを認識するであろう。
上述の詳細な説明は、本発明の定義としてではなく、本発明が採ることができる選択された形態の例解として理解されることが意図される。特許請求される本発明の範囲を定義することが意図されるのは、全ての均等物を含む以下の特許請求の範囲のみである。最後に、本明細書において説明される実施形態のうちのいずれかの任意の態様は、単独で、又は互いに組み合わせて使用することができることに留意されたい。

Claims (15)

  1. データ記憶デバイスであって、
    メモリと、
    1つ以上のプロセッサと、を備え、前記1つ以上のプロセッサは、個々に又は組み合わせて、
    複数の条件で訓練されたモデルを使用して、読み出し閾値を生成し、
    前記読み出し閾値を使用することから生じるパラメータを追跡して、前記メモリを読み出し、
    前記パラメータの値が閾値を超えることに応じて、
    前記データ記憶デバイスの現在の条件と類似する条件下で訓練された異なるモデルを使用して、新しい読み出し閾値を生成し、
    前記新たな読み出し閾値を使用して、前記メモリを読み出すように構成されており、
    前記異なるモデルは、複数の異なるモデルの中で最も高い条件類似性スコアを有するために、前記複数の異なるモデルから選択され、前記複数の異なるモデルの各々は、異なる条件下で訓練され、
    前記1つ以上のプロセッサは、個々に又は組み合わせて、
    ある期間にわたって前記複数の異なるモデルのそれぞれにおいて生成された条件類似性スコアを平均し、
    前記複数の異なるモデルのそれぞれの平均した条件類似性スコアに基づいて前記ある期間の経過後に前記最も高い条件類似性スコアを有する前記異なるモデルを選択して使用する、ように更に構成されている、データ記憶デバイス。
  2. 記パラメータは、ビット誤り率を含む、請求項1に記載のデータ記憶デバイス。
  3. 記パラメータは、プログラムレイテンシ、電力消費、失敗ビットカウント、シンドローム重み値、及び/又は高復号モードのアクティブ化を含む、請求項1に記載のデータ記憶デバイス。
  4. 前記複数の異なるモデルは、前記データ記憶デバイスの前記メモリに記憶される、請求項に記載のデータ記憶デバイス。
  5. 前記複数の異なるモデルは、ホスト内のホストメモリバッファに記憶される、請求項に記載のデータ記憶デバイス。
  6. 前記条件類似性スコアは、読み出し温度に基づく、請求項に記載のデータ記憶デバイス。
  7. 前記条件類似性スコアは、プログラム/消去サイクルの数及び/又は読み出し温度に基づく、請求項に記載のデータ記憶デバイス。
  8. 前記条件類似性スコアは、データ保持量子化に基づく、請求項に記載のデータ記憶デバイス。
  9. 前記複数の条件は、寿命初期条件、寿命中期条件、寿命末期条件のうちの少なくとも2つを含む、請求項1に記載のデータ記憶デバイス。
  10. 前記1つ以上のプロセッサは、個々に又は組み合わせて、前記パラメータの異なる値に対して異なるサイズのモデルを使用するように、及び/又は高いビット誤り率、高い失敗ビットカウント、及び/又はプログラム-消去サイクル値の以前の指示に従ってモデルのサイズを増加させるように更に構成されている、請求項1に記載のデータ記憶デバイス。
  11. 前記1つ以上のプロセッサは、個々に又は組み合わせて、前記パラメータの前記値が前記閾値を超えなくなるまで、前記異なるモデルを使用するように更に構成されている、請求項1に記載のデータ記憶デバイス。
  12. 前記メモリは、三次元メモリを含む、請求項1に記載のデータ記憶デバイス。
  13. 方法であって、メモリを備えるデータ記憶デバイスにおいて、
    複数の条件で訓練されたモデルを使用して、読み出し閾値を生成することと、
    前記読み出し閾値を使用することから生じるパラメータを追跡して、前記メモリを読み出すことと、
    前記パラメータの値が閾値を超えることに応じて、
    前記データ記憶デバイスの現在の条件と類似する条件下で訓練された異なるモデルを使用して、新しい読み出し閾値を生成することと、
    前記新たな読み出し閾値を使用して、前記メモリを読み出すことと、を含み、
    前記異なるモデルは、複数の異なるモデルの中で最も高い条件類似性スコアを有するために、前記複数の異なるモデルから選択され、前記複数の異なるモデルの各々は、異なる条件下で訓練され、
    前記データ記憶デバイスの現在の条件と類似する条件下で訓練された異なるモデルを使用することは、
    ある期間にわたって前記複数の異なるモデルのそれぞれにおいて生成された条件類似性スコアを平均し、
    前記複数の異なるモデルのそれぞれの平均した条件類似性スコアに基づいて前記ある期間の経過後に前記最も高い条件類似性スコアを有する前記異なるモデルを選択して使用する、ことを含む、方法。
  14. 前記メモリは、三次元メモリを含む、請求項13に記載の方法。
  15. データ記憶デバイスであって、
    メモリと、
    複数の条件で訓練されたモデルを使用して、読み出し閾値を生成し、
    閾値を超えるビット誤り率又は読み出しレイテンシ値に応じて、前記データ記憶デバイスの現在の条件と類似する条件下で訓練された異なるモデルを使用して、新しい読み出し閾値を生成し、
    前記新たな読み出し閾値を使用して、前記メモリを読み出すための手段と、を備え
    前記異なるモデルは、複数の異なるモデルの中で最も高い条件類似性スコアを有するために、前記複数の異なるモデルから選択され、前記複数の異なるモデルの各々は、異なる条件下で訓練され、
    前記手段は、
    ある期間にわたって前記複数の異なるモデルのそれぞれにおいて生成された条件類似性スコアを平均し、
    前記複数の異なるモデルのそれぞれの平均した条件類似性スコアに基づいて前記ある期間の経過後に前記最も高い条件類似性スコアを有する前記異なるモデルを選択して使用する、ように更に構成されている、データ記憶デバイス。
JP2025067282A 2024-07-19 2025-04-16 データ記憶デバイス及び読み出し閾値を予測するために複数のモデルを使用するための方法 Active JP7841151B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US18/777,942 US12493427B1 (en) 2024-07-19 2024-07-19 Data storage device and method for using multiple models for predicting a read threshold
US18/777,942 2024-07-19

Publications (2)

Publication Number Publication Date
JP2026015182A JP2026015182A (ja) 2026-01-29
JP7841151B2 true JP7841151B2 (ja) 2026-04-06

Family

ID=97961844

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2025067282A Active JP7841151B2 (ja) 2024-07-19 2025-04-16 データ記憶デバイス及び読み出し閾値を予測するために複数のモデルを使用するための方法

Country Status (4)

Country Link
US (1) US12493427B1 (ja)
JP (1) JP7841151B2 (ja)
KR (1) KR20260013125A (ja)
CN (1) CN121364816A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021149995A (ja) 2020-03-23 2021-09-27 キオクシア株式会社 メモリシステム
US20220253749A1 (en) 2021-02-05 2022-08-11 Samsung Electronics Co., Ltd. Methods of predicting reliability information of storage devices and methods of operating storage devices
WO2023196317A1 (en) 2022-04-06 2023-10-12 Western Digital Technologies, Inc. Read threshold calibration for cross-temperature long, sequential reads

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154157A (en) 1998-11-25 2000-11-28 Sandisk Corporation Non-linear mapping of threshold voltages for analog/multi-level memory
US7876671B2 (en) 2007-03-13 2011-01-25 Xyratex Technology Limited Electronics apparatus, a management device for an electronics apparatus and a method of managing an electronics apparatus
US9141475B2 (en) 2008-11-23 2015-09-22 Sandisk Technologies Methods for tag-grouping of blocks in storage devices
US7995387B2 (en) 2009-01-30 2011-08-09 Sandisk Il Ltd. System and method to read data subject to a disturb condition
US8374026B2 (en) 2009-01-30 2013-02-12 Sandisk Il Ltd. System and method of reading data using a reliability measure
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
EP2633409A4 (en) 2010-10-27 2014-07-23 Lsi Corp ADAPTIVE ECC TECHNIQUES FOR FLASH MEMORY AND BASED ON DATA STORAGE
US8782495B2 (en) 2010-12-23 2014-07-15 Sandisk Il Ltd Non-volatile memory and methods with asymmetric soft read points around hard read points
US8792281B2 (en) 2012-08-21 2014-07-29 Apple Inc. Read threshold estimation in analog memory cells using simultaneous multi-voltage sense
US9070479B2 (en) 2013-01-21 2015-06-30 Sandisk Technologies Inc. Systems and methods of updating read voltages
US9728263B2 (en) 2013-05-31 2017-08-08 Sandisk Technologies Llc Method and device for iteratively updating read voltages
US10475523B2 (en) 2013-05-31 2019-11-12 Western Digital Technologies, Inc. Updating read voltages triggered by the rate of temperature change
US9697905B2 (en) 2013-05-31 2017-07-04 Sandisk Technologies Llc Updating read voltages using syndrome weight comparisons
US9620202B2 (en) 2013-11-01 2017-04-11 Seagate Technology Llc Reduction or elimination of a latency penalty associated with adjusting read thresholds for non-volatile memory
US9916237B2 (en) * 2014-12-12 2018-03-13 Sandisk Technologies Llc Model based configuration parameter management
US9431120B1 (en) 2015-03-23 2016-08-30 Sandisk Technologies, Llc Memory die and method for efficient use of data latches in serving mixed traffic loads
WO2017052665A1 (en) 2015-09-26 2017-03-30 Intel Corporation In-band margin probing on an operational interconnect
US10095412B2 (en) 2015-11-12 2018-10-09 Sandisk Technologies Llc Memory system and method for improving write performance in a multi-die environment
US9996281B2 (en) 2016-03-04 2018-06-12 Western Digital Technologies, Inc. Temperature variation compensation
US10564900B2 (en) 2016-03-04 2020-02-18 Western Digital Technologies, Inc. Temperature variation compensation
US10180868B2 (en) * 2016-07-08 2019-01-15 Seagate Technology Llc Adaptive read threshold voltage tracking with bit error rate estimation based on non-linear syndrome weight mapping
US10565123B2 (en) 2017-04-10 2020-02-18 Western Digital Technologies, Inc. Hybrid logical to physical address translation for non-volatile storage devices with integrated compute module
US10418097B2 (en) 2017-11-27 2019-09-17 Western Digital Technologies, Inc. Non-volatile storage system with read calibration
US10535383B2 (en) 2018-02-28 2020-01-14 Sandisk Technologies Llc Throughput performance for cross temperature handling scenarios
US10379739B1 (en) * 2018-03-23 2019-08-13 Western Digital Technologies, Inc. Data storage device read threshold adjustment according to environmental parameters
US10636488B2 (en) 2018-06-05 2020-04-28 Western Digital Technologies, Inc. Multi-sensing scan for cross-temperature mitigation
US11068544B2 (en) * 2018-07-31 2021-07-20 Marvell Asia Pte, Ltd. Systems and methods for generating metadata describing unstructured data objects at the storage edge
US11244732B2 (en) 2018-09-28 2022-02-08 Western Digital Technologies, Inc. Single page read level tracking by bit error rate analysis
US10811091B2 (en) 2018-10-12 2020-10-20 Western Digital Technologies, Inc. Adaptive processing for read threshold voltage calibration
US10896123B2 (en) 2018-12-13 2021-01-19 Western Digital Technologies, Inc. Enhancing the effectiveness of read scan performance and reliability for non-volatile memory
US10930365B2 (en) 2019-02-21 2021-02-23 Intel Corporation Artificial intelligence based monitoring of solid state drives and dual in-line memory modules
US11080152B2 (en) 2019-05-15 2021-08-03 Western Digital Technologies, Inc. Optimized neural network data organization
US11003383B2 (en) 2019-07-17 2021-05-11 Micron Technology, Inc. Estimation of read level thresholds using a data structure
US11150825B2 (en) 2019-12-05 2021-10-19 Microsoft Technology Licensing, Llc Adaptive spare block usage in solid state drives
US11386972B2 (en) 2020-01-30 2022-07-12 Macronix International Co., Ltd. Determining read voltages for memory systems with machine learning
US11081474B1 (en) 2020-04-29 2021-08-03 Sandisk Technologies Llc Dynamic resource management in circuit bound array architecture
US10991444B1 (en) 2020-05-28 2021-04-27 Western Digital Technologies, Inc. Tiered read reference calibration
US11960989B2 (en) 2020-07-24 2024-04-16 SK Hynix Inc. Read threshold estimation systems and methods using deep learning
US12175363B2 (en) * 2020-07-27 2024-12-24 Microchip Technology Inc. Regression neural network for identifying threshold voltages to be used in reads of flash memory devices
US11430531B2 (en) 2020-09-08 2022-08-30 Western Digital Technologies, Inc. Read integration time calibration for non-volatile storage
US11537326B2 (en) 2020-09-10 2022-12-27 Western Digital Technologies, Inc. Relocation flow using CbA technology
US20220121985A1 (en) 2020-10-20 2022-04-21 Western Digital Technologies, Inc. Machine Learning Supplemented Storage Device Calibration
US20220121387A1 (en) 2020-10-21 2022-04-21 Korea Advanced Institute Of Science And Technology Method for estimating read reference voltages for flash storage using neural network and apparatus therefor
KR20220114409A (ko) 2021-02-08 2022-08-17 삼성전자주식회사 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템 및 비휘발성 메모리 장치의 동작 방법
US12283328B2 (en) * 2022-06-13 2025-04-22 SanDisk Technologies, Inc. Storage system and method for inference of read thresholds based on memory parameters and conditions
US12451187B2 (en) 2023-08-29 2025-10-21 SanDisk Technologies, Inc. Data storage device and method for inferring a read threshold using a time tag determination
US20250118376A1 (en) 2023-10-09 2025-04-10 Western Digital Technologies, Inc. Read in multi-tier non-volatile memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021149995A (ja) 2020-03-23 2021-09-27 キオクシア株式会社 メモリシステム
US20220253749A1 (en) 2021-02-05 2022-08-11 Samsung Electronics Co., Ltd. Methods of predicting reliability information of storage devices and methods of operating storage devices
WO2023196317A1 (en) 2022-04-06 2023-10-12 Western Digital Technologies, Inc. Read threshold calibration for cross-temperature long, sequential reads

Also Published As

Publication number Publication date
JP2026015182A (ja) 2026-01-29
CN121364816A (zh) 2026-01-20
US12493427B1 (en) 2025-12-09
KR20260013125A (ko) 2026-01-27

Similar Documents

Publication Publication Date Title
US12283328B2 (en) Storage system and method for inference of read thresholds based on memory parameters and conditions
US12067268B2 (en) Data storage device and method for dynamic prediction of random read with low memory consumption
CN118215905A (zh) 用于主机缓冲区管理的数据存储设备和方法
JP7841151B2 (ja) データ記憶デバイス及び読み出し閾値を予測するために複数のモデルを使用するための方法
US20230281122A1 (en) Data Storage Device and Method for Host-Determined Proactive Block Clearance
JP7830740B2 (ja) 読み出し閾値較正のために予測モデルを組み合わせるためのデータ記憶デバイス及び方法
JP7802989B1 (ja) データ記憶デバイス及び読み出し閾値を推論するためにモジュラーモデルを使用するための方法
US11983442B2 (en) Data storage device and method for multi-level conditional prediction of future random read commands
JP7784072B2 (ja) データ記憶デバイス及び読み出し閾値電圧を生成するための方法
JP7830741B1 (ja) 動的ビット誤り率推定スキャン(bes)のためのデータ記憶デバイス及び方法
US20250348225A1 (en) Data Storage Device and Method for Predictive Read Threshold Calibration
US12487751B2 (en) Data storage device and method for handling lifetime read disturb
US12379878B1 (en) Data storage device and method for storing selected data in relatively-lower data retention pages of a quad-level cell memory
US12566692B2 (en) Data storage device and method for data processing optimization for computational storage
US12242751B2 (en) Data storage device and method for host-assisted efficient handling of multiple versions of data
US12293085B2 (en) Data storage device and method for improving asynchronous independent plane read (AIPR) utilization
US12573441B2 (en) Data storage device and method for optimized refresh
US11880256B2 (en) Data storage device and method for energy feedback and report generation
US11494101B2 (en) Storage system and method for time-duration-based efficient block management and memory access
US20250377824A1 (en) Data Storage Device and Method for Classifying a Set of Continuous Wordlines as an Outlier Band in an Open Block
US20250328487A1 (en) Data Storage Device and Method for Increasing Random Input-Output Operations Per Second (IOPS)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20250418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20251202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20260202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20260224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260325

R150 Certificate of patent or registration of utility model

Ref document number: 7841151

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150