JP2023512246A - 可変の事前読み出し電圧レベルを使用した不揮発性メモリデバイスにおける書き込み動作の管理 - Google Patents
可変の事前読み出し電圧レベルを使用した不揮発性メモリデバイスにおける書き込み動作の管理 Download PDFInfo
- Publication number
- JP2023512246A JP2023512246A JP2022546340A JP2022546340A JP2023512246A JP 2023512246 A JP2023512246 A JP 2023512246A JP 2022546340 A JP2022546340 A JP 2022546340A JP 2022546340 A JP2022546340 A JP 2022546340A JP 2023512246 A JP2023512246 A JP 2023512246A
- Authority
- JP
- Japan
- Prior art keywords
- segment
- data
- memory device
- time interval
- write
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 claims abstract description 74
- 230000004044 response Effects 0.000 claims abstract description 6
- 230000015654 memory Effects 0.000 claims description 165
- 238000000034 method Methods 0.000 claims description 40
- 238000003860 storage Methods 0.000 claims description 29
- 230000008569 process Effects 0.000 description 17
- 238000007726 management method Methods 0.000 description 16
- 238000009826 distribution Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004242 micellar liquid chromatography Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000004809 thin layer chromatography Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2263—Write conditionally, e.g. only if new data and old data differ
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System (AREA)
Abstract
メモリデバイスと動作可能に結合された処理デバイスは、メモリデバイスのセグメント内に蓄積されるデータを識別する書き込みリクエストを受信するように構成される。処理デバイスは、セグメントに対する書き込み間(W2W)時間間隔を判定し、W2W時間間隔が第1のW2W時間間隔範囲内にあるか否かを判定し、第1のW2W時間間隔範囲は、第1の事前読み出し電圧レベルに対応する。セグメントに対するW2W時間間隔が第1のW2W間隔範囲内にあることに応答して、処理デバイスは、第1の事前読み出し電圧レベルを使用して、セグメント上で事前読み出し動作を実施する。処理デバイスは、セグメント内に蓄積されたデータの対応するビットとは異なるデータのビットを含む、セグメント内に蓄積されるデータのサブセットを識別する。処理デバイスは、データのサブセットをセグメント内に蓄積するために書き込み動作を更に実施する。
Description
本開示は、一般的に、メモリサブシステムに関し、より具体的には、可変の事前読み出し電圧レベルを使用した不揮発性メモリデバイスにおける書き込み動作の管理に関する。
メモリサブシステムは、データを蓄積する1つ以上のメモリデバイスを含み得る。メモリデバイスは、例えば、不揮発性メモリデバイス及び揮発性メモリデバイスであり得る。一般的に、ホストシステムは、メモリデバイスにデータを蓄積し、メモリデバイスからデータを取得するためにメモリサブシステムを利用し得る。
本開示は、以下で与えられる詳細な説明から、及び開示の様々な実施形態の添付の図面から、より完全に理解されるであろう。
本開示の態様は、メモリサブシステムのメモリデバイスにおけるデータの書き込み動作に先行する事前読み出し動作を実施する場合に、可変の事前読み出し電圧レベルを管理することに向けられている。メモリサブシステムは、ストレージデバイス、メモリモジュール、又はストレージデバイスとメモリモジュールとのハイブリッドであり得る。ストレージデバイス及びメモリモジュールの例は、図1に関連して以下に説明される。一般的に、ホストシステムは、データを蓄積する1つ以上のメモリデバイスを含むメモリサブシステムを利用し得る。ホストシステムは、メモリサブシステムに蓄積されるデータを提供し得、メモリサブシステムから取得されるデータをリクエストし得る。
メモリサブシステムは、ホストシステムからのデータを蓄積し得る複数のメモリデバイスを含み得る。メモリデバイスは、不揮発性メモリデバイスであり得る。不揮発性メモリデバイスは、1つ以上のダイのパッケージである。メモリデバイスは、スタック可能なクロスグリッドデータアクセスアレイと組み合わせて、バルク抵抗の変化に基づいてビットストレージを実施し得る不揮発性メモリのクロスポイントアレイである3次元クロスポイント(“3Dクロスポイント”)メモリデバイス等の不揮発性メモリデバイスであり得る。不揮発性メモリデバイスの別の例は、ネガティブand(NAND)メモリデバイスである。不揮発性メモリデバイスの他の例は、図1と併せて以下に説明される。パッケージ内のダイは、メモリサブシステムコントローラと通信するための1つ以上のチャネルに割り当てられ得る。各ダイは、1つ以上のプレーンで構成され得る。プレーンは、論理ユニット(LUN)にグループ化され得る。幾つかのタイプの不揮発性メモリデバイス(例えば、NANDメモリデバイス)の場合、各プレーンは、データを蓄積するためのメモリセルのグループである物理ブロックのセットで構成される。セルは、情報を蓄積する電子回路である。
不揮発性メモリ(NVM)デバイスは、それらの改善された読み出し/書き込み性能及び最小のレイテンシに起因して一般的に使用される。それらは、それらの読み出し/書き込みレイテンシの性能に起因して、メモリ及びストレージシステムでも非常にポピュラーである。あるタイプのNVMデバイスは、相変化メモリ(PCM)等のインプレースデータ置換を実施し、これは、消去動作を実施することなく既存のデータを新たなデータに置換することを可能にし得る。NVMデバイスの性能を向上させる1つの方法は、同じメモリユニット内に既に蓄積されているデータとは異なる新たなデータのサブセットのみを書き込むことである。メモリユニットに現在蓄積されているデータを判定するために、メモリサブシステムは、書き込み動作の前に事前読み出し動作を実施し得る。メモリサブシステムは、事前読み出し動作中に取得されたデータを、書き込み動作中に蓄積される新たなデータと比較し得る。それ故、事前読み出し動作の精度は、書き込み動作の精度及びメモリデバイス全体の信頼性にとって重要である。
読み出し動作と単に同様に、事前読み出し動作は、事前読み出し動作により得られるデータの誤り率に影響を及ぼし得る事前読み出し電圧レベルを使用して実施される。幾つかのタイプのメモリでは(すなわち、幾つかのタイプのストレージ媒体を用いるメモリサブシステムでは)、誤り率は時間の経過と共に変化し得る。特に、幾つかの不揮発性メモリは、時間の関数として移動する閾値電圧(Vt)分布を有する。所与の事前読み出しレベル(すなわち、事前読み出し動作の一部としてメモリセルに印加される電圧)において、Vt分布が移動する場合、幾つかの信頼性統計にも影響を与え得る。信頼性統計の一例は、生のビット誤り率(RBER)である。RBERは、メモリサブシステムのデータユニット内に蓄積されている全てのデータビットの数に対する誤りビットの数の比率として定義され得、データユニットはメモリサブシステム全体、メモリデバイスのダイ、コードワードのコレクション、メモリデバイスページのコレクション、メモリデバイスブロックのコレクション、又はメモリサブシステムの任意のその他の有意な部分であり得る。ある時点における任意のVt分布では、予想されるRBERを最小化する最適な事前読み出し電圧レベル(又は事前読み出しレベル範囲)が存在し得る。特に、Vt分布及びRBERは、データユニットがプログラムされてからの時間(すなわち、データがデータユニットに書き込まれてから経過する期間)の関数であり得る。RBERのこの時間変化する性質、及びメモリにおけるその他のノイズメカニズムに起因して、ある一定のシステム信頼性の目標を満たす誤り率を達成するには、単一の事前読み出し電圧レベルは十分ではないことがある。
従来、事前読み出し動作は、固定された事前読み出し電圧レベルを使用して実施される。例えば、データがデータユニットにプログラミングされるミリ秒以内でデータが読み出される場合、事前読み出し電圧レベルは適切なデータをもたらし得る。しかしながら、事前読み出し電圧レベルは更新されないため、データがデータユニット内にプログラミングされてから数分又は数時間後に事前読み出し動作が発生する場合、許容可能な読み出し結果をもたらさないことがある。この場合、従来の解決策は、メモリデバイスからデータを読み出し、それをメモリサブシステムのコントローラへ転送することである。コントローラは、事前読み出し動作により取得されたデータ内の誤りをデコード及び訂正するために誤り処理メカニズムをその後使用し得る。コントローラは、デコードされたデータを新たなデータとその後比較し得、異なるデータのビットを判定し得る。このアプローチは、事前読み出し動作に対して適用不可能な事前読み出し電圧レベルの使用に起因して、誤りを含み得るデータを訂正し得るが、このアプローチは、コントローラにより行われる追加の処理に起因して、メモリサブシステムコントローラに対するオーバーヘッドを導き得る。また、コントローラの帯域幅が更に消費され、コントローラのスループットの低下をもたらす、データをコントローラへ転送する余分なステップに起因して、メモリデバイスのレイテンシは増加し得る。
本開示の態様は、事前読み出し動作に対する可変の事前読み出し電圧レベルに基づいて、不揮発性メモリデバイス内のデータユニットに対する書き込み動作をサポートすることによって、上記の及びその他の欠陥に対処する。実装において、メモリデバイスのセグメント内に新たなデータを蓄積するための書き込みリクエストをメモリサブシステムが受信した場合、メモリサブシステムは、書き込み動作を実施する前に事前読み出し動作を実施し得る。メモリサブシステムは、セグメントに現在蓄積されているデータを取得し、現在蓄積されているデータと書き込みリクエストで受信したデータとを比較し、セグメント内に既に蓄積されたものとは異なるデータのビットのみをその後書き込むために、事前読み出し動作を実施し得る。セグメントは、メモリデバイスの1つ以上のデータユニットを指し得、各データユニットは、書き込み動作が実施され得る最小量のメモリを表し得る。
実装において、事前読み出し動作は、データがセグメント内に最後にプログラミング又は蓄積された時間に基づいて判定され得る事前読み出し電圧レベルを使用して実施され得る。この場合、メモリサブシステムは、セグメントに対する書き込み間時間間隔を判定し得、事前読み出し動作を実施する場合に使用される対応する事前読み出し電圧レベルを判定し得る。書き込み間時間間隔は、(例えば、セグメントと関連付けられたタイムスタンプを読み出すことにより)データがセグメントに最後に書き込まれた時間と、セグメントに対して書き込みリクエストが受信された時間との間の時間間隔を指し得る。
セグメントに対する書き込み間(W2W)時間間隔が判定された場合、メモリサブシステムは、W2W時間間隔が、メモリデバイスの対応する第1の事前読み出し電圧レベルを有するW2W時間間隔の第1の範囲内にあるか否かを判定することによって、事前読み出し電圧レベルを判定し得る。実装において、メモリデバイスは、W2W時間間隔の複数の範囲を有し得、各範囲は、対応する事前読み出し電圧レベルと関連付けられる。セグメントのW2W時間間隔がW2W時間間隔の第1の範囲内にある場合、事前読み出し動作を実施するために第1の事前読み出し電圧が使用され得る。
セグメントのW2W時間間隔に基づいて事前読み出し電圧レベルが判定された場合、メモリサブシステムは、セグメント内に現在蓄積されているデータを取得するために、判定された事前読み出し電圧を使用して事前読み出し動作を実施し得る。メモリサブシステムは、取得したデータを、セグメントに蓄積される書き込みリクエストで受信された新たなデータとその後比較し得る。メモリサブシステムは、セグメント内に現在蓄積されている既存のデータの対応するビットとは異なる新たなデータのビットをセグメント内に書き込むことにその後進み得る。
書き込み動作を実施する前に事前読み出し動作を実施する場合に可変の事前読み出し電圧レベルをサポートする本明細書に説明する技術は、NVMデバイスの全体的な性能の改善を可能にする。メモリセルの電圧分布が頻繁にシフトしているメモリデバイスでは、通過する事前読み出し電圧レベルは、データユニットがプログラムされた時間に基づいて大幅に変化し得る。それ故、データユニットがプログラムされてからの経過時間に基づいてデータユニットの事前読み出し動作に対する可変の事前読み出し電圧レベルを有することによって、事前読み出し動作の信頼性及び精度は、事前読み出し電圧レベルを頻繁に訂正するための時間のかかる読み出し誤り処理モジュールをトリガーする必要なしに大幅に向上し得る。また、このアプローチはメモリデバイス内に実装され得るため、誤り訂正メカニズムを実施するためにメモリサブシステムのコントローラへデータを転送する必要がない。データ転送ステップを排除することは、コントローラにより行われる処理の追加のオーバーヘッドを取り除くだけでなく、書き込み動作毎にコントローラとメモリデバイスとの間でデータをやり取りすることによりもたらされ得るコントローラの帯域幅の消費を低減する。それ故、データユニットの事前読み出し動作を実施する場合に、データユニットの最後のプログラム時間に基づいて、可変の事前読み出し電圧レベルをサポートする本明細書に説明する技術は、メモリサブシステムの全体的な性能を向上させる、不揮発性メモリデバイスにおける差分の書き込み動作の信頼性を改善しつつ、コントローラによる追加処理のオーバーヘッドを低減する。
図1は、本開示の幾つかの実施形態に従った、メモリサブシステム110を含む例示的なコンピューティングシステム100を説明する。メモリサブシステム110は、1つ以上の揮発性メモリデバイス(例えば、メモリデバイス140)、1つ以上の不揮発性メモリデバイス(例えば、メモリデバイス130)、又はそれらの組み合わせ等の媒体を含み得る。
メモリサブシステム110は、ストレージデバイス、メモリモジュール、又はストレージデバイスとメモリモジュールとのハイブリッドであり得る。ストレージデバイスの例は、ソリッドステートドライブ(SSD)、フラッシュドライブ、ユニバーサルシリアルバス(USB)フラッシュドライブ、組み込みマルチメディアコントローラ(eMMC)ドライブ、ユニバーサルフラッシュストレージ(UFS)ドライブ、セキュアデジタル(SD)カード、及びハードディスクドライブ(HDD)を含む。メモリモジュールの例は、デュアルインラインメモリモジュール(DIMM)、スモールアウトラインDIMM(SO-DIMM)、及び様々なタイプの不揮発性デュアルインラインメモリモジュール(NVDIMM)を含む。
コンピューティングシステム100は、デスクトップコンピュータ、ラップトップコンピュータ、ネットワークサーバ、モバイルデバイス、車両(例えば、航空機、ドローン、列車、自動車、又はその他の輸送手段)、モノのインターネット(IoT)対応デバイス、組み込みコンピュータ(例えば、車両、産業機器、又はネットワーク化された商用デバイス内に含まれるもの)、又はメモリ及び処理デバイスを含むそうしたコンピューティングデバイス等のコンピューティングデバイスであり得る。
コンピューティングシステム100は、1つ以上のメモリサブシステム110に結合されたホストシステム120を含み得る。幾つかの実施形態では、ホストシステム120は、異なるタイプのメモリサブシステム110に結合される。図1は、1つのメモリサブシステム110に結合されたホストシステム120の一例を説明する。本明細書で使用するとき、“に結合された”は、一般的に、電気、光学、磁気等の接続を含む、有線又は無線を問わない、間接的な通信接続又は(例えば、介入するコンポーネントなしの)直接的な通信接続であり得るコンポーネント間の接続を指す。
ホストシステム120は、プロセッサチップセットと、プロセッサチップセットにより実行されるソフトウェアスタックとを含み得る。プロセッサチップセットは、1つ以上のコア、1つ以上のキャッシュ、メモリコントローラ(例えば、NVDIMMコントローラ)、及びストレージプロトコルコントローラ(例えば、PCIeコントローラ、SATAコントローラ)を含み得る。ホストシステム120は、例えば、メモリサブシステム110にデータを書き込み、メモリサブシステム110からデータを読み出すために、メモリサブシステム110を使用する。
ホストシステム120は、物理ホストインターフェースを介してメモリサブシステム110に結合され得る。物理ホストインターフェースの例は、シリアルアドバンストテクノロジーアタッチメント(SATA)インターフェース、ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)インターフェース、ユニバーサルシリアルバス(USB)インターフェース、ファイバーチャネル、シリアルアタッチドSCSI(SAS)、ダブルデータレート(DDR)メモリバス、スモールコンピュータシステムインターフェース(SCSI)、デュアルインラインメモリモジュール(DIMM)インターフェース(例えば、ダブルデータレート(DDR)をサポートするDIMMソケットインターフェース)等を含むが、これらに限定されない。物理ホストインターフェースは、ホストシステム120とメモリサブシステム110との間でデータを送信するために使用され得る。ホストシステム120は、メモリサブシステム110がPCIeインターフェースによりホストシステム120と結合されている場合にコンポーネント(例えば、メモリデバイス130)にアクセスするためにNVMエクスプレス(NVMe)インターフェースを更に利用し得る。物理ホストインターフェースは、メモリサブシステム110とホストシステム120との間で制御、アドレス、データ、及びその他の信号を渡すためのインターフェースを提供し得る。図1は、例としてメモリサブシステム110を説明する。一般的に、ホストシステム120は、同じ通信接続、複数の別個の通信接続、及び/又は通信接続の組み合わせを介して複数のメモリサブシステムにアクセスし得る。
メモリデバイス130、140は、異なるタイプの不揮発性メモリデバイス及び/又は揮発性メモリデバイスの任意の組み合わせを含み得る。揮発性メモリデバイス(例えば、メモリデバイス140)は、ダイナミックランダムアクセスメモリ(DRAM)及び同期型ダイナミックランダムアクセスメモリ(SDRAM)等のランダムアクセスメモリ(RAM)であり得るが、これらに限定されない。
不揮発性メモリデバイス(例えば、メモリデバイス130)の幾つかの例は、3次元クロスポイント(“3Dクロスポイント”)メモリ等の、ネガティブand(NAND)タイプのフラッシュメモリ及びライトインプレースメモリを含む。3Dクロスポイントメモリデバイスは、スタック可能なクロスグリッドデータアクセスアレイと組み合わせて、バルク抵抗の変化に基づいてビットストレージを実施し得る不揮発性メモリセルのクロスポイントアレイである。また、多くのフラッシュベースのメモリとは対照的に、クロスポイント不揮発性メモリは、ライトインプレース動作を実施し得、不揮発性メモリセルは、不揮発性メモリセルを事前に消去せずにプログラミングされ得る、NANDタイプのフラッシュメモリは、例えば、2次元NAND(2D NAND)及び3次元NAND(3D NAND)を含む。
メモリデバイス130の各々は、メモリセルの1つ以上のアレイを含み得る。1つのタイプのメモリセル、例えば、シングルレベルセル(SLC)は、セル毎に1ビットを蓄積し得る。マルチレベルセル(MLC)、トリプルレベルセル(TLC)、及びクアッドレベルセル(QLC)等の他のタイプのメモリセルは、セル毎に複数のビットを蓄積し得る。幾つかの実施形態では、メモリデバイス130の各々は、SLC、MLC、TLC、QLC、又はそれらの任意の組み合わせ等のメモリセルの1つ以上のアレイを含み得る。幾つかの実施形態では、特定のメモリデバイスは、メモリセルのSLC部分、及びMLC部分、TLC部分、又はQLC部分を含み得る。メモリデバイス130のメモリセルは、データを蓄積するために使用されるメモリデバイスの論理ユニットを指し得るページとしてグループ化され得る。幾つかのタイプのメモリ(例えば、NAND)では、ページは、ブロックを形成するためにグループ化され得る。3Dクロスポイント等の幾つかのタイプのメモリでは、管理ユニット(MU)を形成するために、ダイ及びチャネルに渡ってページをグループ化し得る。
不揮発性メモリセルの3Dクロスポイントアレイ及びNANDタイプのフラッシュメモリ(例えば、2D NAND、3D NAND)等の不揮発性メモリコンポーネントが説明されているが、メモリデバイス130は、リードオンリーメモリ(ROM)、相変化メモリ(PCM)、自己選択メモリ、その他のカルコゲナイドベースのメモリ、強誘電体ランダムアクセスメモリ(FeRAM)、強誘電体トランジスタランダムアクセスメモリ(FeTRAM)、スピン転送トルク(STT)-MRAM、導電性ブリッジRAM(CBRAM)、抵抗変化型ランダムアクセスメモリ(RRAM)、酸化物ベースのRRAM(OxRAM)、ネガティブor(NOR)フラッシュメモリ、及び電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)等の任意のその他のタイプの不揮発性メモリに基づき得る。
メモリサブシステムコントローラ115(又は簡単にするためにコントローラ115)は、メモリデバイス130におけるデータの読み出し、データの書き込み、又はデータの消去等の動作及びその他のそうした動作を実施するために、メモリデバイス130と通信し得る。メモリサブシステムコントローラ115は、1つ以上の集積回路及び/若しくはディスクリートコンポーネント、バッファメモリ、又はそれらの組み合わせ等のハードウェアを含み得る。ハードウェアは、本明細書に説明する動作を実施するための専用の(すなわち、ハードコードされた)ロジックを備えたデジタル回路を含み得る。メモリサブシステムコントローラ115は、マイクロコントローラ、特殊用途の論理回路(例えば、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)等)、又はその他の適切なプロセッサであり得る。
メモリサブシステムコントローラ115は、ローカルメモリ119内に蓄積された命令を実行するように構成されたプロセッサ117(例えば、処理デバイス)を含み得る。説明する例では、メモリサブシステムコントローラ115のローカルメモリ119は、メモリサブシステム110とホストシステム120との間の通信の処理を含む、メモリサブシステム110の動作を制御する様々なプロセス、動作、論理フロー、及びルーチンを実施するための命令を蓄積するように構成された組み込みメモリを含む。
幾つかの実施形態では、ローカルメモリ119は、メモリポインタ、フェッチされたデータ等を蓄積するメモリレジスタを含み得る。ローカルメモリ119は、マイクロコードを蓄積するためのリードオンリーメモリ(ROM)をも含み得る。図1の例示的なメモリサブシステム110は、メモリサブシステムコントローラ115を含むものとして説明されているが、本開示の別の実施形態では、メモリサブシステム110は、メモリサブシステムコントローラ115を含まず、代わりに(例えば、外部ホストによって、又はメモリサブシステムとは別個のプロセッサ若しくはコントローラによって提供される)外部制御に依存し得る。
一般的に、メモリサブシステムコントローラ115は、ホストシステム120からコマンド又は動作を受信し得、該コマンド又は動作を、メモリデバイス130への所望のアクセスを達成するための命令又は適切なコマンドに変換し得る。メモリサブシステムコントローラ115は、ウェアレベリング動作、ガベージコレクション動作、誤り検出及び誤り訂正コード(ECC)動作、暗号化動作、キャッシング動作、並びにメモリデバイス130と関連付けられた論理アドレス(例えば、論理ブロックアドレス(LBA)、ネームスペース)と物理アドレス(例えば、物理MUアドレス、物理ブロックアドレス)との間のアドレス変換等のその他の動作を担当し得る。メモリサブシステムコントローラ115は、物理ホストインターフェースを介してホストシステム120と通信するためのホストインターフェース回路を更に含み得る。ホストインターフェース回路は、ホストシステムから受信したコマンドをメモリデバイス130にアクセスするためのコマンド命令に変換し得ると共に、メモリデバイス130と関連付けられた応答をホストシステム120に対する情報に変換し得る。
メモリサブシステム110はまた、図示されていない追加の回路又はコンポーネントを含み得る。幾つかの実施形態では、メモリサブシステム110は、キャッシュ又はバッファ(例えば、DRAM)と、メモリサブシステムコントローラ115からアドレスを受信し得、メモリデバイス130にアクセスするためにアドレスをデコードし得るアドレス回路(例えば、行デコーダ及び列デコーダ)とを含み得る。
幾つかの実施形態では、メモリデバイス130は、メモリデバイス130の1つ以上のメモリセル上で動作を実行するためにメモリサブシステムコントローラ115と連動して動作するローカルメディアコントローラ135を含む。外部コントローラ(例えば、メモリサブシステムコントローラ115)は、メモリデバイス130を外部で管理し得る(例えば、メモリデバイス130上でメディア管理動作を実施し得る)。幾つかの実施形態では、メモリデバイス130は、同じメモリデバイスパッケージ内のメディア管理のためにローカルコントローラ(例えば、ローカルコントローラ135)と組み合わされた生のメモリデバイスであるマネージドメモリデバイスである。マネージドメモリデバイスの例は、マネージドNAND(MNAND)デバイスである。
メモリサブシステム110は、事前読み出し動作のための可変の事前読み出し電圧レベルに基づいて、不揮発性メモリデバイス内のデータユニットに対する書き込み動作をサポートするために使用され得る事前読み出し動作管理コンポーネント113を含む。実装において、ある一定のデータをメモリデバイス130~140のセグメント内に蓄積するための書き込みリクエストをホストシステム120がメモリサブシステム110へ送信する場合、メモリサブシステム110は、リクエストされた書き込み動作を実行する前に事前読み出し動作を実施し得る。セグメントは、例えば、コードワードのコレクション又は管理ユニット等、メモリデバイスの任意の物理的又は論理的な部分であり得る。セグメントは、メモリデバイスの1つ以上のデータユニットを更に指し得、各データユニットは、書き込み動作が実施され得る最小量のメモリを表し得る。
幾つかの実装形態では、現在蓄積されているデータの対応するビットとは異なる新たなデータのビットを判定するために、蓄積されるリクエストされた新たなデータと現在のデータが比較され得るように、セグメント内に現在蓄積されているデータを取得するために事前読み出し動作が使用され得る。この場合、メモリサブシステム110は、セグメント内に現在蓄積されているデータとは異なるデータのビットのみを書き込み得る。セグメント内に既に蓄積されているものとは異なる新たなデータのビットを判定した後、メモリサブシステム110は、セグメント内に新たなデータの判定されたビットを蓄積するために、書き込み動作の実施に進み得る。
実装において、事前読み出し動作は、データがセグメント内に最後にプログラミング又は蓄積された時間に基づいて事前読み出し動作管理コンポーネント113により判定され得る特定の事前読み出し電圧レベルを使用して実施され得る。例えば、事前読み出し動作管理コンポーネント113は、セグメントに対する書き込み間時間間隔を判定し得、事前読み出し動作を実施する場合に使用される対応する事前読み出し電圧レベルを判定し得る。幾つかの実装では、書き込み間時間間隔は、データがセグメントに最後に書き込まれた時間と、セグメントに対して書き込みリクエストが受信された時間と間の時間間隔を指し得る。例えば、事前読み出し動作管理コンポーネント113は、セグメントに対するW2W時間間隔を判定するために、データがセグメント又はセグメントのグループに最後に書き込まれた時間を表すタイムスタンプ値を蓄積し得る。
セグメントに対する書き込み間(W2W)時間間隔が判定された場合、事前読み出し動作管理コンポーネント113は、該W2W時間間隔が、メモリデバイス130~140の対応する第1の事前読み出し電圧レベルを有するW2W時間間隔の第1の範囲内にあるか否かを判定することによって、事前読み出し電圧レベルを判定し得る。一実装では、メモリデバイス130は、W2W時間間隔の2つの範囲を有し得、各範囲は、対応する事前読み出し電圧レベルが読み出し動作に使用された場合に最小の誤り率をもたらす電圧分布を表す。この場合、セグメントのW2W時間間隔がW2W時間間隔の第1の範囲内にある場合、事前読み出し動作を実施するために第1の事前読み出し電圧が使用され得る。一方、セグメントのW2W時間間隔がW2W時間間隔の第2の範囲内にある場合、事前読み出し動作を実施するために第2の事前読み出し電圧が使用され得る。
セグメントのW2W時間間隔に基づいて事前読み出し電圧レベルが判定された場合、事前読み出し動作管理コンポーネント113は、セグメント内に現在蓄積されているデータを取得するために、判定された事前読み出し電圧を使用して事前読み出し動作を実施し得る。事前読み出し動作管理コンポーネント113は、取得されたデータを、セグメントに蓄積される書き込みリクエストで受信された新たなデータとその後比較し得る。幾つかの不揮発性メモリデバイス(例えば、3Dクロスポイントメモリデバイス)では、メモリのセグメントに現在蓄積されているものとは異なるデータのみが書き込まれ得るように、書き込み動作が実施され得る。一例では、事前読み出し動作管理コンポーネント113は、セグメント内に現在蓄積されているデータの各ビットを、セグメントに蓄積される新たなデータの対応するビットと比較し得、2つのビットが異なる場合、新たなデータの対応するビットは、異なるものとしてマーキングされ得る。2つのビットが同一である場合、新たなデータの対応するビットは、同一のものとしてマーキングされ得る。全てのビットが比較され、関連するものとしてマーキングされた場合、異なるものとしてマーキングされた新たなデータのビットのみがセグメントに書き込まれ得る。
図2は、本開示の幾つかの実施形態に従った、2つの事前読み出し電圧レベルに対する書き込み間(W2W)時間間隔の関数としてのビット誤り率(BER)を説明するグラフ200である。本明細書に説明するように、Vt分布は時間と共にシフトし得る。例えば、事前読み出しレベル1等の所与の事前読み出し電圧レベルでは、この事前読み出し電圧レベルを使用して事前読み出し動作が実施された場合に発生するビット誤り率は、Vt分布の固有の移動に起因して時間の関数として変化し得る。同様に、事前読み出しレベル2の対応するビット誤り率もまた時間の関数として変化し得る。これらの又はその他の状況では、Vt分布及びビット誤り率は、所与のデータユニットが最後にプログラミングされてから経過した時間を表すW2W時間間隔の関数であり得る。グラフ200は、2つの事前読み出し電圧レベルの各々が、メモリサブシステム仕様からの設計目標であり得るW2W範囲210及びW2W範囲220等の、W2W時間の異なる範囲に対応することを示している。他の実施形態では、任意のその他の数のW2W時間間隔の範囲及び関連する事前読み出し電圧レベルがあり得る。
グラフ200において、測定されたBERは、指定された事前読み出し電圧レベルを使用して実施された事前読み出し動作について表示されている。例えば、BER曲線212は、異なるW2W時間間隔のセグメント上で事前読み出しレベル1を使用して実施された事前読み出し動作に対して測定されたBERを表し、BER曲線222は、異なるW2W時間間隔のセグメント上で事前読み出しレベル2を使用して実施された事前読み出し動作に対して測定されたBERを表す。グラフ200から、事前読み出しレベル1を使用することは、W2W範囲210内にあるW2W時間間隔を有するメモリコンポーネントのセグメント上で実施された事前読み出し動作に対してより低いBERをもたらし、事前読み出しレベル2を使用することは、W2W範囲220内にあるW2W時間間隔を有するメモリデバイスのセグメント上で実施された事前読み出し動作に対してより低いBERをもたらすことを明らかにしている。説明する例では、W2W範囲210は、T1L(例えば、1ミリ秒)とT1R(例えば、1分)との間の時間間隔を含み得る。この場合、1ミリ秒から1分前の何処かでプログラミングされたセグメントは、事前読み出し動作を実施するために事前読み出し電圧レベル1を使用し得る。他方、W2W範囲220は、T2L(例えば、1秒)とT1R(例えば、10時間)との間の時間間隔を含み得る。この場合、1秒から10時間前の何処かでプログラミングされたセグメントは、事前読み出し動作を実施するために事前読み出し電圧レベル2を使用し得る。この例では、メモリサブシステム110は、各セグメントが10時間の最大W2W時間間隔を有し得るように、10時間毎にセグメントに対する書き込みリクエストをトリガーするように構成され得る。また、セグメントに対する所与のW2W時間間隔が両方のW2W範囲内にある時間である場合(例えば、W2W時間間隔が1秒より長く1分未満である場合)、何れの事前読み出し電圧レベルでも許容可能なBERが得られるため、メモリサブシステム110は、事前読み出し電圧レベル1又は事前読み出し電圧レベル2の何れかがセグメントの事前読み出し動作に使用され得ると判定し得る。例えば、許容可能なBERは、メモリデバイスの誤り制御符号化(ECC)能力の範囲内にある誤り率を指し得る。メモリサブシステム110は、セグメントに対する事前読み出し動作を実施するために、事前読み出し電圧レベル1又は事前読み出し電圧レベル2の何れかをその後使用し得る。
グラフ200はまた、単一の事前読み出しレベル(例えば、事前読み出し電圧レベル2)に対して、より低いW2W時間間隔(すなわち、W2W時間<T2L)及びより高いW2W時間間隔(すなわち、W2W時間>T2R)においてBERが増加することを説明している。一実装では、事前読み出し電圧レベル1は最低電圧であり、事前読み出し電圧レベル2は、事前読み出し電圧レベル1よりも高い電圧を有する。事前読み出し電圧レベル1及び事前読み出し電圧レベル2の値は、メモリデバイスの製造中に設定され得るが、随意に、メモリデバイスの寿命中に調整され得る。
図3は、本開示の幾つかの実施形態に従った、データがメモリデバイスのデータユニットに最後に書き込まれた日時に基づいてデータブロックに対するタイムスタンプを管理するプロセスを説明するブロック図300である。一実装では、メモリデバイス130は、データブロック310、350を含み得る。データブロックは、メモリデバイス130内のデータユニットのセットを指し得る。例えば、データブロックは、4000個のデータユニットを含むメモリの領域を表し得る。この例では、データユニットは、メモリの4000バイトのチャンクを表し得る。他の実装では、データユニットは、データを蓄積するために使用されるメモリデバイスのユニットを指し得、1つ以上のメモリページ、1つ以上のメモリセル、又は1つ以上のワード線を含み得る。各データユニットは、異なる時間にプログラミングされ得る。
データブロック310は、データユニット311、313を含み、データブロック350は、データユニット351、353を含む。メモリデバイス130は、データブロック310のデータユニット上で実施された最新の書き込み動作の時間を追跡するために使用され得るタイムスタンプ340を更に含み得る。メモリデバイス130はまた、データブロック350のデータユニット上で実施された最新の書き込み動作の時間を追跡するために使用され得るタイムスタンプ360を含み得る。
動作331において、処理ロジックは、データユニット311を識別する書き込みリクエストを受信し得る。書き込みリクエストは、データユニット311に書き込まれる新たなデータを含み得る。処理ロジックは、書き込み動作をその後実施し得、該データユニット311がデータブロック310と関連付けられ、タイムスタンプ340と関連付けられると判定し得る。動作332において、処理ロジックは、書き込み動作331がメモリデバイス130で受信された時間を指し示すようにタイムスタンプ340を更新し得る。したがって、データブロック310の任意のデータユニット上で事前読み出し動作が実施される準備がなされている場合、処理ロジックは、タイムスタンプ340に記録された時間から経過した時間としてデータユニットのW2W時間間隔を判定するために(例えば、W2W時間間隔=現在の時間-タイムスタンプ340に蓄積された時間)、タイムスタンプ340を読み出し得る。
動作333において、処理ロジックは、データユニット313を識別し、データユニット313に書き込まれる新たなデータを含む書き込みリクエストを受信し得る。処理ロジックは、書き込み動作をその後実施し得、データユニット313がデータブロック310と関連付けられていると判定し得る。動作332において実施されるステップと同様に、動作334における処理ロジックは、書き込み動作333がメモリデバイス130で受信された時間を指し示し、したがって、タイムスタンプ340がデータブロック310のデータユニット上で実施された最新の書き込み動作を反映し得ることを指し示すように、タイムスタンプ340を更新し得る。
動作335において、処理ロジックは、データブロック350のデータユニット351を識別する書き込みリクエストを受信し得る。書き込みリクエストは、データユニット351に書き込まれる新たなデータを含み得る。処理ロジックは、書き込み動作をその後実施し得、データユニット351がデータブロック350と関連付けられ、タイムスタンプ360と関連付けられていると判定し得る。動作336において、処理ロジックは、書き込み動作335がメモリデバイス130で受信された時間を指し示すようにタイムスタンプ360を更新し得る。したがって、データブロック350の任意のデータユニット上で事前読み出し動作が実施される準備がなされている場合、処理ロジックは、タイムスタンプ360に記録された時間から経過した時間としてデータユニットのW2W時間間隔を判定するために(例えば、W2W時間間隔=現在の時間-タイムスタンプ360に蓄積された時間)、タイムスタンプ360を読み出し得る。
動作337において、処理ロジックは、データユニット353を識別し、データユニット353に書き込まれる新たなデータを含む書き込みリクエストを受信し得る。処理ロジックは、書き込み動作をその後実施し得、データユニット353がデータブロック350と関連付けられていると判定し得る。動作335において実施されるステップと同様に、動作338における処理ロジックは、書き込み動作337がメモリデバイス130で受信された時間を指し示し、したがって、対応するデータブロック350のデータユニット上で実施された最新の書き込み動作をタイムスタンプ360が反映し得ることを指し示すように、タイムスタンプ360を更新し得る。実装において、データブロック310が消去された場合、処理ロジックは、データがデータブロック310上で現在プログラムされていないことを指し示し、したがって、データブロック310内のユニットに対するW2W時間間隔が最小値であるべきであることを指し示すデフォルト値にタイムスタンプ340の値をリセットし得る。同様に、データブロック350が消去された場合、処理ロジックは、データがデータブロック350上で現在プログラムされていないことを指し示すデフォルト値にタイムスタンプ360の値をリセットし得る。
図4は、本開示の幾つかの実施形態に従った、メモリサブシステムにおいて可変の事前読み出し電圧レベルを使用して事前読み出し動作を管理する例示的な方法のフロー図である。方法400は、ハードウェア(例えば、処理デバイス、回路、専用ロジック、プログラム可能なロジック、マイクロコード、デバイスのハードウェア、集積回路等)、ソフトウェア(例えば、処理デバイス上で実行する又は実行される命令)、又はそれらの組み合わせを含み得る処理ロジックによって実施され得る。幾つかの実施形態では、方法400は、図1の事前読み出し動作管理コンポーネント113によって実施される。特定のシーケンス又は順序で示されているが、特に指定がない限り、プロセスの順序は修正され得る。したがって、説明する実施形態は例としてのみ理解されるべきであり、説明するプロセスは異なる順序で実施され得、幾つかのプロセスは並行して実施され得る。また、様々な実施形態では、1つ以上のプロセスは省略され得る。したがって、あらゆる実施形態において全てのプロセスが必要とされるわけではない。他のプロセスフローが可能である。
動作410において、処理ロジックは、ホストシステムから書き込みリクエストを受信し、書き込みリクエストは、メモリデバイスのセグメント内に蓄積されるデータを識別する。実装では、処理ロジックは、本明細書でより詳細に説明するように、セグメントに現在蓄積されているデータとは異なる蓄積されるデータのサブセットを識別するために、書き込み動作を実行する前に事前読み出し動作を実行し得る。事前読み出し動作を実施するために、処理ロジックは、データがセグメントに最後に書き込まれた時間に対応する事前読み出し電圧レベルを判定し得る。
動作420において、処理ロジックは、セグメントに対する書き込み間(W2W)時間間隔を判定する。実装では、W2W時間間隔は、データがセグメントに最後に書き込まれた時間と、セグメントに対して書き込みリクエストが受信された時間との間の時間間隔を指し得る。一例では、データが最後に書き込まれた時間は、データがセグメントに最後に書き込まれた時間を表すメモリデバイスに蓄積されたタイムスタンプ値に従って判定され得る。他の実装では、W2W時間間隔は、データがデータユニットのグループ(例えば、データユニットと関連付けられたデータブロック)の任意のデータユニットに最後に書き込まれた時間と、データユニットに対して書き込みリクエストが最後に受信された時間との間の時間間隔を指し得る。実装では、メモリデバイスは複数のデータブロックを含み得、各データブロックは複数のデータユニットを含み得る。データブロック毎に、処理ロジックは、データがデータブロック内のデータユニットに最後に書き込まれた時間を表す対応するタイムスタンプ値を蓄積し得る。
動作430において、処理デバイスは、セグメントのW2W時間間隔が、対応する第1の事前読み出し電圧レベルを有するW2W時間間隔の第1の範囲内にあるか否かを判定することによって、事前読み出し電圧レベルを判定する。実装では、メモリデバイスは、W2W時間間隔の複数の範囲を有し得、各範囲は、上で詳細に説明したように、対応する事前読み出し電圧レベルが事前読み出し動作に使用された場合に最小誤り率をもたらす電圧分布を表す。
動作440において、セグメントのW2W時間間隔がW2W時間間隔の第1の範囲内にあると判定すると、処理ロジックは、上により詳細に説明したように、セグメント内に現在蓄積されているデータを取得するために事前読み出し動作を実施するために、W2W間隔の第1の範囲の第1の事前読み出し電圧を使用する。幾つかの実装では、処理ロジックは、事前読み出し動作中に読み出されたデータ内に存在し得る誤りを訂正するために、事前読み出し動作から取得されたデータを用いて誤り処理モジュールを実行し得る。例えば、誤り処理モジュールは、事前読み出し動作に対するより良い誤り率をもたらすために、誤り処理モジュールによって判定された異なる事前読み出し電圧レベルを使用して事前読み出し動作を再度実施し得る。処理ロジックは、誤り処理モジュールによって判定された事前読み出し電圧レベルを反映するように、W2W間隔の第1の範囲の事前読み出し電圧レベルをその後更新し得る。
動作450において、処理デバイスは、セグメントに蓄積される新たなデータのサブセットを識別し、該サブセットのみをセグメントに書き込む。データのサブセットは、セグメント内に現在蓄積されているデータとは異なる新たなデータの部分を表す。一例では、処理ロジックは、本明細書でより詳細に説明するように、セグメント内に現在蓄積されているデータの各ビットを、セグメントに蓄積される新たなデータの対応するビットと比較し得、セグメント内に現在蓄積されているデータの対応するビットとは異なる新たなデータのそれらのビットのみをセグメントに書き込む。
動作460において、処理ロジックは、本明細書でより詳細に説明するように、上で説明した比較に基づいて、セグメント内に現在蓄積されているデータとは異なる新たなデータのサブセットをセグメント内に蓄積するために書き込み動作を実施する。
図5は、本開示の幾つかの実施形態に従った、メモリサブシステムにおいて可変の事前読み出し電圧レベルを使用して事前読み出し動作を実施する例示的な方法のフロー図である。方法500は、ハードウェア(例えば、処理デバイス、回路、専用ロジック、プログラム可能なロジック、マイクロコード、デバイスのハードウェア、集積回路等)、ソフトウェア(例えば、処理デバイス上で実行する又は実行される命令)、又はそれらの組み合わせを含み得る処理ロジックによって実施され得る。幾つかの実施形態では、方法500は、図1の事前読み出し動作管理コンポーネント113によって実施される。特定のシーケンス又は順序で示されているが、特に指定がない限り、プロセスの順序は修正され得る。したがって、説明する実施形態は例としてのみ理解されるべきであり、説明するプロセスは異なる順序で実施され得、幾つかのプロセスは並行して実施され得る。また、様々な実施形態では、1つ以上のプロセスは省略され得る。したがって、あらゆる実施形態において全てのプロセスが必要とされるわけではない。他のプロセスフローが可能である。
動作510において、処理ロジックは、例えば、本明細書に詳細に説明するように、書き込み動作を実施する前にセグメントに蓄積されたデータを取得するために事前読み出し動作を実施するために、メモリデバイスのセグメントに対する書き込み間(W2W)時間間隔を判定する。実装では、W2W時間間隔は、事前読み出し動作を実施するために使用される事前読み出し電圧レベルを判定するために使用され得る。他の実装では、セグメント上で事前読み出し動作を実施するために、処理ロジックは、事前読み出し電圧レベル基準を満たす事前読み出し電圧レベルを判定し得る。事前読み出し電圧レベル基準は、セグメントのW2W時間間隔が事前読み出し電圧レベルと関連付けられたW2W間隔の範囲内にあるか否かであり得る。
動作515において、処理ロジックは、W2W間隔がW2W間隔の第1の範囲内にあるか否かを判定する。一実装では、メモリデバイスは、W2W間隔の複数の範囲を含み得、各範囲は、本明細書に詳細に説明するように、個別の事前読み出し電圧レベルに対応する。動作530において、W2W間隔がW2W間隔の第1の範囲内にあると処理ロジックが判定した場合、処理ロジックは、事前読み出し動作を実施するために、W2W間隔の第1の範囲の第1の事前読み出し電圧を使用し得る。処理ロジックは、上で詳細に説明したように、セグメントに現在蓄積されているデータを取得するために、第1の事前読み出し電圧レベルを使用して事前読み出し動作をその後実施する。
動作535において、セグメントのW2W間隔がW2W間隔の第1の範囲内にないと処理ロジックが判定した場合、処理ロジックは、メモリデバイスのW2W間隔の複数の範囲の内の次の範囲に進み得、動作540において、W2W間隔がW2W間隔の次の範囲内にあるか否かを判定し得る。動作550において、セグメントのW2W間隔がW2W間隔の次の範囲内にあると処理ロジックが判定した場合、処理ロジックは、上に詳細に説明したように、セグメントに現在蓄積されているデータを取得するために、W2W間隔の次の範囲の事前読み出し電圧レベルを使用して事前読み出し動作を実施し得る。
セグメントのW2W間隔がW2W間隔の次の範囲内にないと処理ロジックが判定した場合、処理ロジックは、動作535において、メモリデバイスのW2W間隔の複数の範囲の内のW2W間隔の次の(例えば、第3の)範囲に進み得る。処理ロジックは、セグメントのW2W間隔を含むW2W間隔の範囲が発見されるまで、W2W間隔の複数の範囲をループし続け得る。処理ロジックは、事前読み出し動作を実施するために、W2W間隔の発見された範囲の事前読み出し電圧を使用することにその後進み得る。
図6は、本明細書で論じる方法論の内の何れか1つ以上をマシンに実施させるための命令のセットがその中で実行され得るコンピュータシステム600の例示的なマシンを説明する。幾つかの実施形態では、コンピュータシステム600は、メモリサブシステム(例えば、図1のメモリサブシステム110)を含み、結合され、又は利用するホストシステム(例えば、図1のホストシステム120)に対応し得、又はコントローラの動作を実施するために(例えば、図1の事前読み出し動作管理コンポーネント113に対応する動作を実施するためにオペレーティングシステムを実行するために)使用され得る。代替の実施形態では、マシンは、LAN、イントラネット、エクストラネット、及び/又はインターネット内の他のマシンに接続(例えば、ネットワーク化)され得る。マシンは、クライアントサーバーネットワーク環境ではサーバー若しくはクライアントマシンの能力で、ピアツーピア(若しくは分散)ネットワーク環境ではピアマシンとして、又はクラウドコンピューティングインフラストラクチャ若しくは環境ではサーバー若しくはクライアントマシンとして動作し得る。
マシンは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、ウェブアプライアンス、サーバー、ネットワークルータ、スイッチ若しくはブリッジ、又は該マシンによって実行されるアクションを指定する命令のセット(シーケンシャル又はその他)を実行可能な任意のマシンであり得る。更に、単一のマシンが説明されているが、用語“マシン”はまた、本明細書で論じる方法論の内の何れか1つ以上を実施するための命令のセット(又は複数のセット)を個々に又は共同で実行するマシンの任意の集合を含むと解釈されるであろう。
例示的なコンピュータシステム600は、処理デバイス602、メインメモリ604(例えば、リードオンリーメモリ(ROM)、フラッシュメモリ、同期型DRAM(SDRAM)又はランバスDRAM(RDRAM)等のダイナミックランダムアクセスメモリ(DRAM)等)、静的メモリ606(例えば、フラッシュメモリ、静的ランダムアクセスメモリ(SRAM)等)、及びデータストレージシステム618を含み、それらは、バス630を介して相互に通信する。
処理デバイス602は、マイクロプロセッサ又は中央処理装置等の1つ以上の汎用処理デバイスを表す。より具体的には、処理デバイスは、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長期命令語(VLIW)マイクロプロセッサ、若しくはその他の命令セットを実装するプロセッサ、又は命令セットの組み合わせを実装するプロセッサであり得る。処理デバイス602はまた、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、又はネットワークプロセッサ等の1つ以上の専用処理デバイスであり得る。処理デバイス602は、本明細書で論じる動作及びステップを実施するための命令626を実行するように構成される。コンピュータシステム600は、ネットワーク620を介して通信するためのネットワークインターフェースデバイス608を更に含み得る。
データストレージシステム618は、本明細書に説明する方法論又は機能の内の何れか1つ以上を具体化する命令626又はソフトウェアの1つ以上のセットがその上に蓄積されるマシン可読ストレージ媒体624(コンピュータ可読媒体としても知られている)を含み得る。命令626はまた、コンピュータシステム600によるその実行中にメインメモリ604内及び/又は処理デバイス602内に完全に又は少なくとも部分的に常駐し得、メインメモリ604及び処理デバイス602はまた、マシン可読ストレージ媒体を構成する。マシン可読ストレージ媒体624、データストレージシステム618、及び/又はメインメモリ604は、図1のメモリサブシステム110に対応し得る。
一実施形態では、命令626は、図1の事前読み出し動作管理コンポーネント113に対応する機能を実装するための命令を含む。マシン可読ストレージ媒体624は、例示的な実施形態では単一の媒体であることが示されているが、用語“マシン可読ストレージ媒体”は、命令の1つ以上のセットを蓄積する単一の媒体又は複数の媒体を含むと解釈されるべきである。用語“マシン可読ストレージ媒体”はまた、マシンによる実行のための命令のセットを蓄積又は符号化可能であり、本開示の方法論の内の何れか1つ以上をマシンに実施させる任意の媒体を含むと解釈されるであろう。用語“マシン可読ストレージ媒体”は、非限定的に、固体メモリ、光学媒体、及び磁気媒体を含むと解釈されるであろう。
前述の詳細な説明の幾つかの部分は、コンピュータメモリ内のデータビットに対する動作のアルゴリズム及び記号表現に関して提示されている。これらのアルゴリズムの説明及び表現は、データ処理技術の当業者が、当技術分野の他の者にそれらの作業の内容を最も効果的に伝えるために使用される方法である。アルゴリズムは、ここにあり、一般的に、所望の結果につながる自己矛盾のない一連の動作であると考えられる。動作は、物理量の物理的な操作を必要とする動作である。通常、必ずしもそうとは限らないが、これらの量は、蓄積、結合、比較、及びその他の方法で操作可能な電気信号又は磁気信号の形式をとる。主に一般的な使用法の理由から、これらの信号をビット、値、要素、記号、文字、用語、又は数値等と称することが便利な場合がある。
しかしながら、これらの及び類似の用語の全ては、適切な物理量と関連付けられるべきであり、これらの量に適用される単なる便利なラベルであることに留意すべきである。本開示は、コンピュータシステムのレジスタ及びメモリ内の物理的(電子的)量として表されるデータを操作し、コンピュータシステムのメモリ若しくはレジスタ又はその他のそうした情報ストレージシステム内の物理量として同様に表される他のデータに変換するコンピュータシステム又は同様の電子コンピューティングデバイスのアクション及びプロセスを指し得る。
本開示はまた、本明細書の動作を実施するための装置に関する。この装置は、意図する目的のために特別に構築され得、又はコンピュータ内に蓄積されたコンピュータプログラムにより選択的に起動又は再構成される汎用コンピュータを含み得る。こうしたコンピュータプログラムは、非限定的に、コンピュータシステムバスに各々結合される、フロッピーディスク、光ディスク、CD-ROM、及び磁気光学ディスクを含む任意のタイプのディスク、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気若しくは光カード、又は電子命令の蓄積に適した任意のタイプの媒体等のコンピュータ可読ストレージ媒体内に蓄積され得る。
本明細書に提示されるアルゴリズム及び表示は、特定のコンピュータ又はその他の装置に本質的に関連しない。本明細書の教示に従ったプログラムで様々な汎用システムが使用され得、又は方法を実施するためのより特殊な装置を構築することが便利であることが証明され得る。様々なこれらのシステムの構造は、以下の説明に記載されるように現れるであろう。また、本開示は、何れの特定のプログラミング言語に言及して説明されていない。本明細書に説明するように、開示の教示を実装するために様々なプログラミング言語が使用され得ることは理解されるであろう。
本開示は、本開示に従ったプロセスを実施するようにコンピュータシステム(又はその他の電子デバイス)をプログラミングするために使用され得る、命令をその上に蓄積したマシン可読媒体を含み得るコンピュータプログラム製品又はソフトウェアとして提供され得る。マシン可読媒体は、マシン(例えば、コンピュータ)によって可読な形式で情報を蓄積するための任意のメカニズムを含む。幾つかの実施形態では、マシン可読(例えば、コンピュータ可読)媒体は、リードオンリーメモリ(“ROM”)、ランダムアクセスメモリ(“RAM”)、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリコンポーネント等のマシン(例えば、コンピュータ)可読ストレージ媒体を含む。
前述の明細書において、開示の実施形態は、それらの具体的で例示的な実施形態に言及して説明されている。以下の特許請求の範囲に記載されるように、開示の実施形態のより広い精神及び範囲から逸脱することなく、それらに様々な修正がなされ得ることは明らかであろう。明細書及び図面は、したがって、限定的な意味ではなく、例示的な意味でみなされるべきである。
Claims (20)
- メモリデバイスと、
前記メモリデバイスと動作可能に結合され、
ホストシステムから書き込みリクエストを受信することであって、前記書き込みリクエストは、前記メモリデバイスのセグメント内に蓄積されるデータを識別することと、
前記メモリデバイスの前記セグメントに対する書き込み間時間間隔を判定することと、
前記セグメントに対する前記書き込み間時間間隔が、前記メモリデバイスに対する複数の書き込み間時間間隔範囲の内の第1の書き込み間時間間隔範囲内にあるか否かを判定することであって、前記第1の書き込み間時間間隔範囲は、第1の事前読み出し電圧レベルに対応する第1の複数の書き込み間時間間隔を表すことと、
前記セグメントに対する前記書き込み間時間間隔が前記第1の書き込み間時間間隔範囲内にあることに応答して、前記セグメント内に現在蓄積されているデータを判定するために前記第1の事前読み出し電圧レベルを使用して前記メモリデバイスの前記セグメント上で事前読み出し動作を実施することと、
前記メモリデバイスの前記セグメント内に蓄積される前記書き込みリクエストで識別された前記データのサブセットを識別することであって、前記データの前記サブセットは、前記セグメント内に現在蓄積され、前記事前読み出し動作中に読み出された前記データの対応するビットとは異なるデータのビットを表すことと、
前記データの前記サブセットを前記メモリデバイスの前記セグメント内に蓄積するために書き込み動作を実施すること
を含む動作を実施する処理デバイスと
を含むシステム。 - 前記メモリデバイスの前記セグメントに対する前記書き込み間時間間隔を判定することは、
前記メモリデバイスの前記セグメント内の前記データと関連付けられたタイムスタンプを読み出すことであって、前記タイムスタンプは、データが前記セグメント内に最後に書き込まれた時間を指し示すことと、
前記タイムスタンプからの経過時間として前記書き込み間時間間隔を判定すること
を含む、請求項1に記載のシステム。 - 前記メモリデバイスの前記セグメントは、複数のデータユニットを含み、データユニットは、書き込み動作が実施される最小量のメモリを含む、請求項1に記載のシステム。
- 前記セグメントに対する前記書き込み間時間間隔は、前記セグメントの前記複数のデータユニットの内のデータユニットと関連付けられたタイムスタンプに基づいて判定され、前記データユニットは、前記複数のデータユニットの内の最近書き込まれたデータユニットである、請求項3に記載のシステム。
- 前記処理デバイスは、
前記セグメントに対する前記書き込み間時間間隔が前記第1の書き込み間時間間隔範囲内にないことに応答して、第2の書き込み間時間間隔範囲と関連付けられた第2の事前読み出し電圧レベルを使用して、前記メモリデバイスの前記セグメント上で前記事前読み出し動作を実施することであって、前記第2の書き込み間時間間隔範囲は、前記第2の事前読み出し電圧レベルに対応する第2の複数の書き込み間時間間隔を表すこと
を含む動作を更に実施する、請求項1に記載のシステム。 - 前記第1の事前読み出し電圧レベルは、前記メモリデバイスと関連付けられた複数の事前読み出し電圧レベルの内の最も低い事前読み出し電圧レベルである、請求項1に記載のシステム。
- 前記メモリデバイスの前記セグメントに蓄積される前記データの前記サブセットを識別することは、
前記セグメント内に現在蓄積され、前記事前読み出し動作中に読み出された前記データのビットの第1のセットを、前記メモリデバイスの前記セグメント内に蓄積される前記書き込みリクエストで識別された前記データのビットの第2のセットと比較することと、
前記セグメントに蓄積される前記データの前記サブセットとして、ビットの前記第1のセットの対応するビットと一致しないビットの前記第2のセットのビットをマーキングすること
を含む、請求項1に記載のシステム。 - ホストシステムから書き込みリクエストを受信することであって、前記書き込みリクエストは、メモリデバイスのセグメント内に蓄積されるデータを識別することと、
前記メモリデバイスの前記セグメントに対する書き込み間時間間隔を判定することと、
前記セグメントに対する前記書き込み間時間間隔が、前記メモリデバイスに対する複数の書き込み間時間間隔範囲の内の第1の書き込み間時間間隔範囲内にあるか否かを判定することであって、前記第1の時間間隔範囲は、第1の事前読み出し電圧レベルに対応する第1の複数の書き込み間時間間隔を表すことと、
前記セグメントに対する前記書き込み間時間間隔が前記第1の書き込み間時間間隔範囲内にあることに応答して、前記セグメント内に現在蓄積されているデータを判定するために前記第1の事前読み出し電圧レベルを使用して前記メモリデバイスの前記セグメント上で事前読み出し動作を実施することと、
前記メモリデバイスの前記セグメント内に蓄積される前記書き込みリクエストで識別された前記データのサブセットを識別することであって、前記データの前記サブセットは、前記セグメント内に現在蓄積され、前記事前読み出し動作中に読み出された前記データの対応するビットとは異なるデータのビットを表すことと、
前記データの前記サブセットを前記メモリデバイスの前記セグメント内に蓄積するために書き込み動作を実施すること
を含む方法。 - 前記メモリデバイスの前記セグメントに対する前記書き込み間時間間隔を判定することは、
前記メモリデバイスの前記セグメント内の前記データと関連付けられたタイムスタンプを読み出すことであって、前記タイムスタンプは、データが前記セグメント内に最後に書き込まれた時間を指し示すことと、
前記タイムスタンプからの経過時間として前記書き込み間時間間隔を判定すること
を更に含む、請求項8に記載の方法。 - 前記メモリデバイスの前記セグメントは、複数のデータユニットを含み、データユニットは、書き込み動作が実施される最小量のメモリを含む、請求項8に記載の方法。
- 前記セグメントに対する前記書き込み間時間間隔は、前記セグメントの前記複数のデータユニットの内のデータユニットと関連付けられたタイムスタンプに基づいて判定され、前記データユニットは、前記複数のデータユニットの内の最近書き込まれたデータユニットである、請求項10に記載の方法。
- 前記セグメントに対する前記書き込み間時間間隔が前記第1の書き込み間時間間隔範囲内にないことに応答して、第2の書き込み間時間間隔範囲と関連付けられた第2の事前読み出し電圧レベルを使用して、前記メモリデバイスの前記セグメント上で前記事前読み出し動作を実施することであって、前記第2の書き込み間時間間隔範囲は、前記第2の事前読み出し電圧レベルに対応する第2の複数の書き込み間時間間隔を表すこと
を更に含む、請求項8に記載の方法。 - 前記第1の事前読み出し電圧レベルは、前記メモリデバイスと関連付けられた複数の事前読み出し電圧レベルの内の最も低い事前読み出し電圧レベルである、請求項8に記載の方法。
- 前記メモリデバイスの前記セグメントに蓄積される前記データの前記サブセットを識別することは、
前記セグメント内に現在蓄積され、前記事前読み出し動作中に読み出された前記データのビットの第1のセットを、前記メモリデバイスの前記セグメント内に蓄積される前記書き込みリクエストで識別された前記データのビットの第2のセットと比較することと、
前記セグメントに蓄積される前記データの前記サブセットとして、ビットの前記第1のセットの対応するビットと一致しないビットの前記第2のセットのビットをマーキングすること
を更に含む、請求項8に記載の方法。 - メモリデバイスのセグメント内に蓄積された第1のデータを識別するために、第1の事前読み出し電圧レベルを使用して前記メモリデバイスの前記セグメント上で事前読み出し動作を実施することとであって、前記事前読み出し電圧レベルは、事前読み出し電圧レベル基準を満たすことと、
前記第1のデータとは異なる第2のデータの少なくとも一部分を識別するために、前記メモリデバイスの前記セグメント内に蓄積され、前記事前読み出し動作中に読み出された前記第1のデータを、前記メモリデバイスの前記セグメント上で実施される書き込み動作と関連付けられた前記第2のデータと比較することと、
前記書き込み動作と関連付けられた前記第2のデータの前記少なくとも一部分を前記メモリデバイスの前記セグメントに書き込むこと
を、処理デバイスによって実行される場合に、前記処理デバイスにさせる命令を含む非一時的コンピュータ可読ストレージ媒体。 - 前記事前読み出し電圧レベル基準は、前記メモリデバイスの前記セグメントに対する書き込み間時間間隔に関係し、前記事前読み出し電圧レベルが前記事前読み出し電圧レベル基準を満たすと判定することは、前記セグメントに対する前記書き込み間時間間隔が、前記メモリデバイスに対する複数の書き込み間隔範囲の内の第1の書き込み間隔範囲内にあると判定することを含み、前記第1の書き込み間間隔範囲は、前記第1の事前読み出し電圧レベルに対応する第1の複数の書き込み間時間間隔を表す、請求項15に記載の非一時的コンピュータ可読ストレージ媒体。
- 前記メモリデバイスの前記セグメントに対する前記書き込み間時間間隔を判定するために、前記処理デバイスは、
前記メモリデバイスの前記セグメント内の前記データと関連付けられたタイムスタンプを読み出すことであって、前記タイムスタンプは、データが前記セグメント内に最後に書き込まれた時間を指し示すことと、
前記タイムスタンプからの経過時間として前記書き込み間時間間隔を判定すること
を更に行う、請求項16に記載の非一時的コンピュータ可読ストレージ媒体。 - 前記メモリデバイスの前記セグメントは、複数のデータユニットを含み、データユニットは、書き込み動作が実施される最小量のメモリを含む、請求項15に記載の非一時的コンピュータ可読ストレージ媒体。
- 前記第1の書き込み間時間間隔範囲は、前記第2の書き込み間時間間隔範囲と重複する、請求項15に記載の非一時的コンピュータ可読ストレージ媒体。
- 前記メモリデバイスの前記セグメントに蓄積される前記データの前記サブセットを識別するために、前記処理デバイスは、
前記セグメント内に現在蓄積され、前記事前読み出し動作中に読み出された前記データのビットの第1のセットを、前記メモリデバイスの前記セグメント内に蓄積される前記書き込みリクエストで識別された前記データのビットの第2のセットと比較することと、
前記セグメントに蓄積される前記データの前記サブセットとして、ビットの前記第1のセットの対応するビットと一致しないビットの前記第2のセットのビットをマーキングすること
を更に行う、請求項17に記載の非一時的コンピュータ可読ストレージ媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/777,766 US11199999B2 (en) | 2020-01-30 | 2020-01-30 | Management of write operations in a non-volatile memory device using a variable pre-read voltage level |
US16/777,766 | 2020-01-30 | ||
PCT/US2021/015889 WO2021155275A1 (en) | 2020-01-30 | 2021-01-29 | Management of write operations in a non-volatile memory device using a variable pre-read voltage level |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023512246A true JP2023512246A (ja) | 2023-03-24 |
Family
ID=77062045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022546340A Pending JP2023512246A (ja) | 2020-01-30 | 2021-01-29 | 可変の事前読み出し電圧レベルを使用した不揮発性メモリデバイスにおける書き込み動作の管理 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11199999B2 (ja) |
JP (1) | JP2023512246A (ja) |
KR (1) | KR20220129626A (ja) |
CN (1) | CN115428083A (ja) |
DE (1) | DE112021000776T5 (ja) |
WO (1) | WO2021155275A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI696074B (zh) * | 2019-01-24 | 2020-06-11 | 慧榮科技股份有限公司 | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |
CN113496719B (zh) * | 2020-04-08 | 2023-06-23 | 长鑫存储技术有限公司 | 半导体存储器的训练方法及相关设备 |
DE112020007189T5 (de) | 2020-05-13 | 2023-04-20 | Micron Technology, Inc. | Zählerbasierte verfahren und systeme zum zugreifen auf speicherzellen |
US11367484B1 (en) * | 2021-01-21 | 2022-06-21 | Micron Technology, Inc. | Multi-step pre-read for write operations in memory devices |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013225368A (ja) * | 2012-03-23 | 2013-10-31 | Sony Corp | 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法 |
JP2015219913A (ja) * | 2014-05-13 | 2015-12-07 | 三星電子株式会社Samsung Electronics Co.,Ltd. | ストレージ装置と、その動作方法、及びそのアクセス方法 |
JP2019149219A (ja) * | 2018-02-28 | 2019-09-05 | 東芝メモリ株式会社 | メモリシステム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8171380B2 (en) | 2006-10-10 | 2012-05-01 | Marvell World Trade Ltd. | Adaptive systems and methods for storing and retrieving data to and from memory cells |
EP2800097B1 (en) * | 2012-01-12 | 2018-03-21 | Sony Corporation | Storage control device, storage device, information processing system, and processing methods therefor |
US9384831B2 (en) | 2014-05-29 | 2016-07-05 | Intel Corporation | Cross-point memory single-selection write technique |
US10446210B2 (en) | 2016-09-27 | 2019-10-15 | Spin Memory, Inc. | Memory instruction pipeline with a pre-read stage for a write operation for reducing power consumption in a memory device that uses dynamic redundancy registers |
KR102648785B1 (ko) | 2017-01-11 | 2024-03-19 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그 동작 방법 |
US10026486B1 (en) | 2017-03-06 | 2018-07-17 | Sandisk Technologies Llc | First read countermeasures in memory |
TWI623878B (zh) * | 2017-07-07 | 2018-05-11 | 大心電子(英屬維京群島)股份有限公司 | 資料讀取方法以及儲存控制器 |
KR102671736B1 (ko) * | 2019-05-31 | 2024-06-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
-
2020
- 2020-01-30 US US16/777,766 patent/US11199999B2/en active Active
-
2021
- 2021-01-29 WO PCT/US2021/015889 patent/WO2021155275A1/en active Application Filing
- 2021-01-29 JP JP2022546340A patent/JP2023512246A/ja active Pending
- 2021-01-29 KR KR1020227029126A patent/KR20220129626A/ko unknown
- 2021-01-29 CN CN202180015410.1A patent/CN115428083A/zh not_active Withdrawn
- 2021-01-29 DE DE112021000776.9T patent/DE112021000776T5/de active Pending
- 2021-10-20 US US17/506,246 patent/US11620085B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013225368A (ja) * | 2012-03-23 | 2013-10-31 | Sony Corp | 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法 |
JP2015219913A (ja) * | 2014-05-13 | 2015-12-07 | 三星電子株式会社Samsung Electronics Co.,Ltd. | ストレージ装置と、その動作方法、及びそのアクセス方法 |
JP2019149219A (ja) * | 2018-02-28 | 2019-09-05 | 東芝メモリ株式会社 | メモリシステム |
Also Published As
Publication number | Publication date |
---|---|
KR20220129626A (ko) | 2022-09-23 |
US20220035572A1 (en) | 2022-02-03 |
US11199999B2 (en) | 2021-12-14 |
DE112021000776T5 (de) | 2022-12-01 |
US11620085B2 (en) | 2023-04-04 |
WO2021155275A1 (en) | 2021-08-05 |
US20210240385A1 (en) | 2021-08-05 |
CN115428083A (zh) | 2022-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11640262B2 (en) | Implementing variable number of bits per cell on storage devices | |
US11404124B2 (en) | Voltage bin boundary calibration at memory device power up | |
JP2022551344A (ja) | 先行読み出しおよび読み出し閾値電圧の最適化 | |
JP2023512246A (ja) | 可変の事前読み出し電圧レベルを使用した不揮発性メモリデバイスにおける書き込み動作の管理 | |
US11676664B2 (en) | Voltage bin selection for blocks of a memory device after power up of the memory device | |
US11934268B2 (en) | Memory sub-system using partial superblocks | |
US11853556B2 (en) | Combining sets of memory blocks in a memory device | |
US11675509B2 (en) | Multiple open block families supporting multiple cursors of a memory device | |
CN113555058A (zh) | 存储器装置中使用嵌入式伺服单元的读取电平校准 | |
US11983067B2 (en) | Adjustment of code rate as function of memory endurance state metric | |
US11587627B2 (en) | Determining voltage offsets for memory read operations | |
US11726671B2 (en) | Memory access mode selection | |
US11675529B2 (en) | Threshold voltage determination for calibrating voltage bins of a memory device | |
US20240231695A1 (en) | Managing retention latency for memory devices of vehicle systems | |
US20240232013A1 (en) | Adjustment of code rate as function of memory endurance state metric | |
US20220293184A1 (en) | Temperature-dependent operations in a memory device | |
CN115132255A (zh) | 使用存储电荷损失裕度检查进行开放块管理 | |
CN117769741A (zh) | 针对按需擦除的写入性能优化 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220826 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230905 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20240402 |