JP2018206378A - 書き換え可能なインプレースメモリを有するデータ記憶装置 - Google Patents

書き換え可能なインプレースメモリを有するデータ記憶装置 Download PDF

Info

Publication number
JP2018206378A
JP2018206378A JP2018102220A JP2018102220A JP2018206378A JP 2018206378 A JP2018206378 A JP 2018206378A JP 2018102220 A JP2018102220 A JP 2018102220A JP 2018102220 A JP2018102220 A JP 2018102220A JP 2018206378 A JP2018206378 A JP 2018206378A
Authority
JP
Japan
Prior art keywords
memory
data
selection module
volatile memory
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
Application number
JP2018102220A
Other languages
English (en)
Other versions
JP2018206378A5 (ja
Inventor
ティモシー・カネパ
Canepa Timothy
マーク・イシュ
Ix Mark
デビッド・エス・エブセン
S Ebsen David
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.)
Seagate Technology LLC
Original Assignee
Seagate Technology 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 Seagate Technology LLC filed Critical Seagate Technology LLC
Publication of JP2018206378A publication Critical patent/JP2018206378A/ja
Publication of JP2018206378A5 publication Critical patent/JP2018206378A5/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/785Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes
    • G11C29/789Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes using non-volatile cells or latches
    • 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
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • 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
    • 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/211Optical disk storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/102Compression or decompression of data before storage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2272Latency related aspects
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/18Bit line organisation; Bit line lay-out
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/14Word line organisation; Word line lay-out
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mram Or Spin Memory Techniques (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Semiconductor Memories (AREA)
  • Hall/Mr Elements (AREA)
  • Read Only Memory (AREA)

Abstract

【課題】書き換え可能なインプレースメモリを有するデータ記憶装置を提供する。
【解決手段】データ記憶装置220は、少なくともバッファメモリ228、選択モジュール234、及び不揮発性メモリ232を有する。バッファメモリ及び不揮発性メモリは、異なる種類のメモリからなってもよく、不揮発性メモリは、1つ又は複数の書き換え可能なインプレースメモリセルを有する。バッファメモリ及び不揮発性メモリは、それぞれ、再書き込み可能なインプレースメモリセルの整定時間が満了するまで、選択モジュールによって指示される保留データ要求に関連するデータを記憶することができる。
【選択図】図5B

Description

様々な実施形態によるデータ記憶装置は、バッファメモリ、選択モジュール、及び不揮発性メモリを有する。バッファメモリ及び不揮発性メモリは、異なる種類のメモリからなり、不揮発性メモリは、1つ又は複数の書き換え可能なインプレースメモリセルを有する。バッファメモリ及び不揮発性メモリは、それぞれ、再書き込み可能なインプレースメモリセルの整定時間が満了するまで、選択モジュールによって指示される保留データ要求に関連するデータを記憶する。
様々な実施形態が実践されてもよい例示のデータ記憶システムのブロック表示である。 図1のデータ記憶システムで使用されてもよい例示のデータ記憶装置の部分を表す。 図1のデータ記憶システムで使用されてもよい例示のデータ記憶装置の部分を表す。 図1のデータ記憶システムで利用されてもよい例示のメモリセルの部分を表す。 図1のデータ記憶システムで利用されてもよい例示のメモリセルの部分を表す。 図1のデータ記憶システムで利用されてもよい例示のメモリセルの部分を表す。 図1のデータ記憶システムと関連する例示の動作データをプロットする。 様々な実施形態に従って動作させられる例示のデータ記憶装置の部分を表す。 様々な実施形態に従って動作させられる例示のデータ記憶装置の部分を表す。 いくつかの実施形態に従って配列された例示のデータ記憶装置の部分のブロック表示を示す。 様々な実施形態に従って構成された例示のデータ記憶装置の部分のブロック表示である。 図1のデータ記憶システムに使用されてもよい例示のデータ記憶装置の一部分のブロック表示である。 いくつかの実施形態に従って配列された例示のデータ記憶装置の一部分のブロック表示を表す。 様々な実施形態に従って形成された例示のリソグラフィアセンブリの一部分を表す。 様々な実施形態に従って形成された例示のリソグラフィアセンブリの一部分を表す。 様々な実施形態に従って形成された例示のリソグラフィアセンブリの一部分を表す。 様々な実施形態に従って形成された例示のリソグラフィアセンブリの一部分を表す。 いくつかの実施形態に従って、図1のデータ記憶システムによって実行される例示のインプレースメモリ利用ルーチンのフローチャートである。
生成され、転送され、及び記憶されるデータ量の増加とともに、データ記憶の速度、コスト、サイズ、及び寿命に重きが置かれてきた。回転磁気媒体を使用するハードディスクドライブ(HDD)は、長期間、データを確実に記憶し得るけれども、比較的大きい物理サイズ及び遅いデータアクセス速度が、多くのコンピュータでのHDDの採用を妨げてきた。NANDフラッシュメモリを使用するソリッドステートドライブは、HDDよりも、より高速のデータアクセス速度及びより小さい物理サイズを提供するけれども、高いコスト及び低い寿命を提供する場合がある。
フラッシュメモリの比較的短い寿命は、データアクセス待ち時間(latency)を減少させるために反復してデータを書き込み、移動させ、及び削除するデータ管理構造及びスキームによって悪化させられてきた。フラッシュメモリが、ビット又はバイトアドレス指定可能でなく、その代わりに単にページ/セクタアドレス指定可能であるという事実が、メモリの短い寿命を与え、そして、複雑なデータ管理、及びビット/バイトアドレス指定可能である揮発性メモリに比して比較的長いデータアクセス時間をもたらす。しかし、データを保持するための電力を常に有する揮発性メモリの必要が、データ記憶装置内のこれらのタイプのメモリの潜在的な適用性を制限する。
したがって、様々な実施形態は、フラッシュメモリよりも高速なデータアクセス速度、HDDよりも小さい物理サイズ、及び不揮発性データ保持を享受する書き換え可能なインプレースメモリを利用するデータ記憶構造及び動作を概して目的とする。比較的高速のデータアクセス速度を有する不揮発性メモリにデータを記憶する能力は、データ保持、読み出し、及び書き込みを最適化し得る多様なデータ管理構造及びスキームを可能にする。一方、書き換え可能なインプレースメモリの比較的小さい物理サイズは、データ記憶装置がスマートフォン及びタブレットコンピュータ等の最近のコンピュータに実装されるのに十分なほど小さく、同時に大規模なデータ容量センタに利用されるのに十分なほどロバストであることを可能にする。
図1は、本開示の様々な実施形態が実践されてもよい例示のデータ記憶システム100を示す。システム100は、有線及び/又は無線ネットワークを介して任意の数のデータ記憶装置102を任意の数のホスト104に接続してもよい。1つ又は複数のネットワークコントローラ106が、ハードウェア又はソフトウェアベースであってもよく、そして、様々な接続されたデータ記憶装置102へのデータ要求処理及び分配を提供してもよい。複数のデータ記憶装置102が、異なるデータ容量、動作パラメータ、及びデータアクセス速度を有する類似又は非類似のタイプのメモリであってもよいことに留意されたい。
いくつかの実施形態では、システム100の少なくとも1つのデータ記憶装置102が、マイクロプロセッサ又はプログラマブルコントローラ等のローカルプロセッサ108を有し、このローカルプロセッサは、スタティックランダムアクセスメモリ(SRAM)等のオンチップバッファ110、ダイナミックランダムアクセスメモリ(DRAM)等のオフチップバッファ112、及び、不揮発性メモリアレイ114に接続されている。図1の非限定実施形態は、図式的に部分的に表されているNANDフラッシュメモリを備える不揮発性メモリアレイ114を配列し、このNANDフラッシュメモリは、第1のワード線(WL1)及び第2のワード線(WL2)並びに第1のソース線(SL1)及び第2のソース線(SL2)とともに動作して第1のフラッシュセル116、第2のフラッシュセル118、第3のフラッシュセル120、及び第4のフラッシュセル122に記憶されたデータを書き込み及び読み出す第1のビット線(BL1)及び第2のビット線(BL2)を有する。
それぞれのビット線は、メモリアレイ114の最小分解能であるメモリの第1のページ124及び第2のページ126に対応することに留意されたい。すなわち、フラッシュメモリの構成は、フラッシュセルがインプレースで個々に書き換え可能であることを防止し、その代わりにページ毎ベースで書き換え可能である。かかる低いデータ分解能は、ある数の書き込み/書き換えサイクル後にフラッシュメモリが消耗するという事実とともに、ビットアドレス指定可能であり、同時に個々にアクセス可能で個々に書き換え可能でインプレースにあるセルを有するメモリと比較して多数の性能ボトルネック及び動作非効率に対応する。それゆえに、様々な実施形態は、ビットアドレス指定可能で書き換え可能なインプレースメモリを分散型ネットワークデータ記憶システム100の部分であってもよいデータ記憶装置102に実装することを目的とする。
図2A及び図2Bは、様々な実施形態に従う、データ記憶装置において利用されてもよい例示のメモリアレイ140の部分を表す。メモリアレイ140は、3次元アレイの一部分として、Z軸に沿って鉛直方向に積層された複数の独立したメモリセル142を有する。メモリセル142の単一のダイが利用され得ることが考えられるが、かかる構成は、データ容量を減少させて、全ての利用可能な空間を利用することができない。それゆえに、様々な実施形態は、それぞれX−Y平面にあるメモリセル142の複数のダイを鉛直方向に積層する。鉛直方向に積層されたセル142は、必ずしも図2Aに示すように鉛直方向に整列されている必要はない。
NANDフラッシュメモリ及び別のソリッドステートデータ記憶セルによって、トランジスタ又は別の独立した選択構成要素が、それぞれのセルに組み込まれることにより、価値ある領域を占有し、余分の電力を消費し、データアクセス動作に待ち時間を付加する。メモリアレイ140のそれぞれのメモリセル142は、トランジスタ又は別の物理的に独立した選択構成要素を伴わずに構成され、その代わりに、抵抗ユニット146に接触する選択層144を有する。選択層144は、予定された時間に抵抗ユニット146に電気が流れることを防止し、別の予定された時間に抵抗ユニット146に電気が流れることを可能にする単一の材料、又は異なる材料の層状構造であってもよい。非限定の例として、選択層144は、金属−絶縁体転移(MIT)材料、オボニック閾値スイッチ(OTS)、又は別の電圧調整構造であってもよい。
トランジスタ又は別の選択構成要素の包含は、図1に示すように、それぞれの選択構成要素を活性化させるソース線に対応する。選択層144に好ましいなんらかの選択構成要素の排除は、鉛直方向に積層されたメモリセル142が、ビット線(BL)が1つ又は複数のセル142にアクセスするようにワード線(WL)とともに動作する交差点相互接続構成によって個々にアクセス可能であるようにする。線148によって示すように、ビット線とワード線との間の誘導電位差は、単一のメモリセル142を通る電流を誘導する。単一のビットを選択する能力、したがってビットアドレス指定可能であることは、メモリアレイ140がメモリセル142に偶然にアクセスする懸念を伴わずにセルを高密度に実装することを可能にする。
メモリセル142の構成は、読み出し及び/又は書き込み動作中に選択されない物理的に隣接したセル142の妨害の低いリスクに対応する比較的低い電力消費を提供することに留意されたい。図2Bの上面図は、メモリセル142が、単一のダイに沿って分類されたビット及びワード線に対して設置されてもよい態様を示す。鉛直方向に積層されたメモリセル142の間のビット線を利用することによって、制御相互接続の全体数が低減されてもよく、それにより、より高密度に実装されたメモリアレイ140を提供する。
図3A〜図3Cは、メモリアレイ140に利用されることができる例示の不揮発性抵抗ユニットの線図をそれぞれ示す。図3Aは、アモルファス166(低抵抗状態)とクリスタリン(高抵抗状態)との間の移行に対する電流に反応するカルコゲナイドガラス材料164で抵抗領域162を占める相変化タイプ抵抗ユニット160を表す。ポリクリスタリンとアモルファスとの間の切り替えは、確実に効率的に反復されてもよい。しかし、書き込み/切り替え電流は、相変化抵抗ユニット160に対して比較的高くてもよい。
図3Bは、フィラメントタイプ抵抗ユニット170を表し、この抵抗ユニットにおいて、抵抗領域162は、1つ又は複数の導電性フィラメント172が領域162を通る書き込み電流の流れによって誘導されるまで高電気抵抗率を有する材料を備える。フィラメントの形成は、単純で効率的であり得るが、しかし、フィラメントは、誘電材料174内に植え込まれて高低の比抵抗状態の間のマージンを低減してもよいことが意図される。
相変化160の導電性経路及びフィラメント170タイプユニットの形成は、いくつかのデータ記憶配列において効率的であってもよいが、必ずしも全てのメモリアレイにおいてではない。したがって、抵抗ユニットは、相対的な磁性配向を介して異なる抵抗状態を作成してもよい。図3Cの磁気タイプ抵抗ユニット180は、誘電スペーサ層182が磁気自由層184と磁気基準層186との間に配設される態様を表す。基準層186は、固定磁化188に設定され、一方、自由層184は、固定磁化188に対して異なる抵抗状態をユニット180に提供する、複数の異なる磁性配向190に設定されてもよい。抵抗ユニット180は、スピントルク配列等に、自由磁化188の切り替えをより効率的にするように機能する追加のスピン分極層を有してもよいことが考えられる。
メモリアレイに様々なタイプの抵抗ユニットを利用する能力は、データ記憶装置がデータ記憶装置の動作及びデータ記憶能力をカスタマイズすることを可能にする。非限定的な例として、メモリアレイは、異なるダイに異なるタイプの抵抗ユニットを使用してもよく、それにより、動作状態及びデータ記憶パラメータについての選択的多様性を提供してもよい。メモリアレイの抵抗ユニットのタイプ又は多様性に関係なく、メモリセルは、書き込み動作が読み出し動作と異なる時間を完了に要するという非対称アクセスから不利を招くことがある。すなわち、選択層144について、トランジスタ又はダイオード等の独立した選択構成要素の置換が、非対称アクセスをもたらすことがある。かかる非対称アクセスは、データ記憶装置において、大量のデータ書き込み及び読み出しが、前の読み出し又は書き込み動作が完了したか否かについての関心又は評価なしに実行され得るという問題を含む場合がある。
相変化タイプ抵抗ユニット160を使用するメモリアレイについて、書き込みアクセスは、読み出しよりもかなり多い時間を要する、例えば、読み出しに対して7マイクロ秒の待ち時間及び書き込みに対して10+マイクロ秒の待ち時間を完了に要する場合があることに留意されたい。読み出し/書き込み非対称性がより大きい、例えば、書き込み動作を完了するのが、読み出し動作の2倍であるか又は1オーダー大きい場合があることが考えられる。これらの問題は、揮発性メモリ、HDD記憶装置、又はNANDフラッシュ記憶装置では対処されない興味深いデータ管理状況もたらした。
図4は、様々な実施形態に従う、非対称のメモリセルを使用するメモリアレイに関連する、時間に対する電圧の例示の動作データをプロットする。メモリアレイのメモリセルの構成は、異なる読み出し(VREAD)及び書き込み(VWRITE)閾値電圧に対応することにより、それぞれメモリセルの抵抗状態及び関連するバイナリ状態にアクセス又は修正する。
読み出し及び書き込み閾値電圧の両方を下回る第1の電圧202が、1つ又は複数のメモリセルによって受信される場合には、それぞれのメモリセルの選択層は、電圧がセルを通過することを防止し、それにより、偶然の抵抗変動がデータアクセス動作を劣化させることを防止する。電圧204/206が読み出し閾値電圧よりも大きいとき、メモリセルの選択層は、電圧がセルを通過することを可能にする。抵抗ユニットの抵抗状態を変える程十分に大きくない電圧204に対して、現在の抵抗状態は、直交方向を向いたビット線とワード線とを通る信号を介して読み出されることになる。
メモリセルを通る書き込み電圧206の通過は、抵抗ユニットの抵抗状態を変えることになる。しかし、書き込み電圧が抵抗ユニットを通過した後に、メモリセルが読み出し電圧210によってアクセスされ得る抵抗状態に設定されるための整定時間208が存在する。図4に示すように、整定時間208は、メモリセルの読み出し/書き込み非対称性が直接の原因である。このように、メモリアレイ140と関連する比較的大きいデータ容量及び短い読み出し待ち時間は、セルが書き込まれる各瞬間にそれぞれのメモリセルについて比較的長い整定時間の間、監視して考慮することをデータ記憶装置に要求する書き込み非対称性によって劣化させられる場合がある。
したがって、様々な実施形態が、非対称の読み出し/書き込み動作から損害を受ける図2の不揮発性、ビットアドレス指定可能、書き換え可能なインプレースメモリの使用を最適化する構成及び方法を目的とする。図5A及び図5Bは、図2のメモリアレイを有するデータ記憶装置220に対する例示の書き込み及び読み出し動作のブロック表示をそれぞれ示す。書き込み動作は、図5Aに示されており、ウェハチップ222におけるSRAMバッファ110及び/又はオフチップ222にあるDRAMバッファ112へと流れる書き込み要求のデータから始まる。書き込みデータは、次いで、ファームウェア、ソフトウェア、又はハードウェア動作を実行するローカルコントローラによって指示されるように、順に圧縮224されて暗号化226される。
圧縮されて暗号化された書き込みデータは、複数のページ及び/又はセクタのデータからなってもよい記憶装置(MU)230のような書き込みキャッシュ228においてコンパイルされる。MU230のコンパイルは、ページアクセス可能なフラッシュメモリとは対照的に、個々のビットがアクセス可能であることに起因して、書き換え可能なインプレース不揮発性メモリに必要とされないことに留意されたい。書き込みデータがマップユニット230に組織化されるか否かに関係なく、書き込みキャッシュ228は、データが、メモリ232の少なくとも一部分が図2の非対称のメモリセル142を有するところの不揮発性メモリ(NV MEMORY)232に書き込まれるまで、一時的に書き込みデータを記憶してもよい。
不揮発性メモリ232の非対称セルに書き込まれるデータによって、読み出し動作は、整定時間208後まで、不揮発性メモリ232からのデータに確実にアクセスすることができない。そのため、読み出し動作は、いくつかの実施形態では、図5Bに示すように、データを書き込みキャッシュ228又は不揮発性メモリ232のいずれかから取り出すためのデータ記憶装置の選択モジュール234を含む。書き込みキャッシュ228は、不揮発性メモリ232ではないDRAM又はNANDフラッシュ等の異なるタイプのメモリであり、そして、読み出し動作は、ホストに送信される前に復号及び解凍を含むことになることに留意されたい。それゆえに、選択モジュール234は、複数の様々なタイプのメモリをインテリジェントに管理することにより、セル142の整定時間に起因して延長された書き込み待ち時間から損害を受けることなく、図2の不揮発性メモリセル142の高速読み出し速度を活用する。
限定又は必須ではないけれども、選択モジュール234は、様々なインテリジェントな評価を行うことにより、1つ又は複数のホストからのデータアクセスの満足度を最適化してもよい。図6は、図2のメモリアレイ140を使用する例示のデータ記憶装置240の一部分のブロック表示である。選択モジュール234は、少なくともタイマ242、アクティビティ記録244、センサ246、及び予測回路248へのアクセスを有することにより、サービスされるべき書き込み又は読み出し要求についての最適宛先及び条件を評価する。
ホストから書き込み又は読み出し要求を受け取った後の任意のときに、選択モジュール234は、単一のデータ記憶装置だけでなくデータ記憶システム全体の現在の状態を査定してもよい。任意のタイプ及び数の入力が、選択モジュール234によって並行して及び/又は順に評価されてもよいけれども、いくつかの実施形態は、特に、保留書き込み要求と関連するデータの容量、サイズ、及びバッファ特徴であってもよい、書き込み待ち行列(queue)内の保留書き込みの状態を受信する。選択モジュール234は、システム性能計量値、例えば、電力消費、平均データアクセス待ち時間、及びビット誤り率を更に受信してもよい。
データのバージョンとともに保留書き込みの指定された書き込み位置は、選択モジュール234への保留データ書き込みに関する略歴を提供する。任意の数及びタイプの環境条件が、ポーリングされ及び/又はセンサ246によって検出されることにより、なんらかの潜在的に逆のデータアクセス状況を識別してもよい。例えば、温度センサ246が使用されて、リモートホストから受信されたポーリングされた環境温度と比較してデータ記憶装置内部の温度を検証してもよい。湿度、振動、及び気流等の別の環境条件が、また、ポーリングされて及び/又は感知されて、データ記憶装置及びシステムのより包括的な状態を提供してもよい。
選択モジュール234は、サービスするデータアクセス要求に関連する実行及びシステム条件を記録してもよい。以前にサービスされたデータアクセス要求に付随する情報の収集は、選択モジュール234がよりインテリジェントにシステム条件に反応し、率先的に活動を開始するのを可能にすることにより、将来のデータアクセス要求のサービスを最適化する。つまり、選択モジュール234は、記録244からのデータとともに現在の装置/システム条件をとることにより、保留読み出し及び書き込み要求のサービスを最適化し得る反応的及び率先的な活動をインテリジェントに識別してもよい。その結果、選択モジュール234は、揮発性バッファと不揮発性メモリとの間で反応的及び率先的にデータを動かしても、書き込み位置を変更しても、及び読み出し位置を変えてもよい。
データ記憶装置及びシステムの動作状態を評価及び決定して、保留データアクセス要求にサービスするための活動をインテリジェントに実行する能力は、データ記憶装置が可能な限り速く、変化する条件及びサービス要求に適合することを可能にする。非対称の書き換え可能なインプレースメモリに関して、選択モジュール234は、整定時間内にデータに対するローリスクの読み出し要求があるときに不揮発性メモリにインテリジェントに書き込むことと、バッファ/キャッシュメモリにデータを保持して読み出し要求にサービスすることと、データを異なるバッファ/キャッシュ位置まで動かして最短の読み出し待ち時間を提供することと、を行ってもよい。
保留データ要求のサービスを最適化するために反応的及び率先的に活動を実行する選択モジュール234によっては、有効データの現在の位置が、ロバストマッピングスキームなしで識別するのが難しい場合がある。論理ブロックアドレス(LBA)を物理ブロックアドレス(PBA)にマッピングするだけでなく、LBAをLBAにマッピングすることは、特にオンチップSRAMバッファにいて、処理及びデータ容量に関して費用がかかる場合がある。マッピングは、整定時間の間にデータに対する読み出し要求にサービスするために、2つの異なる位置にデータを冗長に保持することによって更に複雑になる場合がある。したがって、いくつかの実施形態は、LBAからPBAへの及びLBAからLBAへのマッピング動作のための記憶位置及び処理時間を示すために選択モジュール234を利用する。
図7は、図2のメモリアレイ140を使用するデータ記憶装置に実装されてもよい例示のマッピングスキーム250のブロック表示を示す。データ記憶装置における複数の異なるタイプのメモリの存在は、選択モジュール234が複数の異なるデータマップを生成して、それぞれのタイプのメモリの容量及び現在の状態を最適化することを可能にする。
図7に示す非限定的な例では、選択モジュール234は、揮発性DRAM、SRAM、又は不揮発性フラッシュメモリ等の第1のタイプのメモリ254に第1のレベルマップ252を作成してもよい。第1のレベルマップ252は、いくつかの実施形態では、12エントリのグラニュールにポインティングするエントリを含む、少なくとも1つのLBAからPBAまでのブートマップを備えている。第1のレベルマップ252は、概して、LBAからPBAまでの転移が第1のレベルマップ252よりも大きい分解能を具備させられるところの第2のレベルマップ256の論理又は物理位置にコントローラを向けてもよい。つまり、第2のレベルマップ256は、ホスト提供されるデータセクタを保持する第1のグラニュールにポインティングするローカルエントリを備えてもよい。第1のレベルマップ252及び第2のレベルマップ256の結果として、データ読み出し、書き込み、及び更新は、効率的に取り扱われてもよい。
選択モジュール234は、シャドウデータの一次的な位置についての情報を含む第1のタイプのメモリ254に独立したシャドウマップ258を作成してもよい。シャドウデータは、データが恒久的に不揮発性メモリに常駐するまでの短い期間の間、冗長に記憶されるデータであることが理解される。シャドウマップ258は、識別されている1つ又は複数のデータのバージョンによって、単純であっても又は複雑化されてもよい。例えば、データの連続したバージョンは、シャドウ258、第1のレベル252、及び第2のレベル256によって追跡されて、最新バージョンのデータがデータに対する読み出し要求によって取り出されることを保証してもよい。シャドウ258及びレベルマップ252/256は、共通の又は異なるコントローラによって、並行して書き込まれ、読み出され、及び更新されてもよいことに留意されたい。
シャドウ258及びレベルマップ252/256によって追跡されているデータは、ビットアドレス指定可能な書き換え可能なインプレースメモリ262である主要データストア260に最終的に書き込まれる。示すように、主要データストア260及び第2のレベルマップ256は、不揮発性の書き換え可能なインプレースメモリ262にそれぞれ記憶される。しかし、任意の数及びタイプのメモリがそれぞれのマップ252/256/258のために利用されてもよいので、かかる構成は必須又は限定ではない。例えば、第1のレベルマップ252は、シリアルNORフラッシュに記憶されてもよく、シャドウマップ258は、クラスターSRAMに記憶されてもよく、そして、第2のレベルマップ256は、DDR DRAMに記憶されてもよい。少なくとも2つの異なるタイプのメモリ254/262の使用は、選択モジュール234がデータ読み出し及び書き込み要求のサービスを最も効率的に可能にするメモリで、様々なマップ252/256/258をインテリジェントに生成及び維持することを可能にする。
選択モジュール234は、分類されたマップ252/256/258のサイズ、目的、及びメモリ位置を変更して、システム及び装置条件を変えることに対応してもよいことが考えられる。選択モジュール234は、仮想化を介してメモリ及び/又はマップを更に変更してもよい。つまり、選択モジュール234は、共通メモリ254/256にあるにもかかわらず、ソフトウェア/ファームウェアで独立して動作する仮想マシンを作成してもよい。かかる仮想化能力は、選択モジュール234が検出された及び/又は予測されたシステム及び装置条件にリアルタイムで適合することを可能にして、データ読み出し及び書き込み待ち時間を最適化する。
図8は、様々な実施形態に従う、メモリの仮想化を利用する例示のデータ記憶装置270の一部分のブロック表示を示す。1つ又は複数の異なる書き込みキャッシュ272は、アレイ140等のビットアドレス指定可能な書き換え可能なインプレースメモリを備える不揮発性メモリ274にフィードしてもよい。データ記憶装置270は、複数の独立した不揮発性メモリ274からなってもよいけれども、いくつかの実施形態は、異なるメモリ階層に論理的に分離された、仮想化された記憶装置として特徴付けられてもよい単一の不揮発性メモリ274を含む。
メモリ274は、少なくとも1つのレベルマップ252/256によって、そして潜在的にシャドウマップ258によってマッピングされる任意の数の階層に仮想化されてもよい。必須又は限定的ではないけれども、図8に示す仮想化された記憶スキームは、本来、階層的であり、そして、第1のPBA範囲に割り当てられる第1の階層276、第2のPBA範囲に割り当てられる第2の階層278、第3のPBA範囲に割り当てられる第3の階層280、及び第4のPBA範囲に割り当てられる第4の階層282を有する。それぞれの階層276/278/280/282の重複しない範囲は、代替として、LBAに割り当てられてもよい。
中実の矢印が示すように、データは、選択モジュール及び/又はローカルコントローラによって指示されるような任意の仮想化された階層の間で流れてもよい。例えば、データは、アクティビティを更新する量に基づいてそれぞれの階層276/278/280/282を通って連続して動いてもよく、その結果、最も少なくアクセスされたデータが第4の階層282に常駐し、一方、最も頻繁に更新されたデータが第1の階層276に常駐することになる。別の非限定的な例として、データを別の潜在的に連続しない階層まで動かす前に、最初に第1の階層276にデータを置くことにより、データサイズ、セキュリティ、及び/又はホストオリジンに基づく等、より効率的な記憶及び取り出しを可能にすることが挙げられる。
不揮発性メモリ274の書き換え可能なインプレースメモリは、それぞれの階層276/278/280/282の適合可能な仮想化を可能にすることが理解され得る。つまり、共通のページの選択されないデータを記憶する必要なく特定のビット、バイト、及びセクタにデータを書き込む能力は、仮想化された階層が、選択モジュール234によって決定されたシステム及び装置ニーズに基づいて、展開サイズ、割り当てられたコンテンツ、及び実体を有することを可能にする。そのため、図8の仮想化されたスキームは、選択モジュール234によって時間経過とともになんらかの態様で変更され、それにより、データ記憶システム及びデバイスのリアルタイムの条件に対してデータ記憶を最適化してもよい。
不揮発性メモリ274の部分の仮想化は、選択モジュール234の能力によって補足されて、予測されるデータ記憶アクティビティ及び/又は動作事象を満足させるように率先的な活動を行う。図9は、様々な実施形態に従って動作させられる予測回路248を有する選択モジュール234を利用する例示のデータ記憶装置290の一部分のブロック表示を表す。予測回路248は、現在及び過去のデータ記憶動作だけでなく、かかる動作中の環境条件に付随する多様な情報を検出及び/又はポーリングしてもよい。予測回路248は、選択モジュール234の1つ又は複数のリアルタイムセンサ246を利用して、1つ又は複数の異なる環境条件、例えば装置動作温度、環境温度、及び電力消費を検出してもよいことに留意されたい。
図9に示すように、1つ又は複数のパラメータの並列した及び/又は順の入力によって、予測回路248は、選択モジュール234によって指示されるように対応させられてもよい将来事象の発生を予測してもよい。例えば、選択モジュール234は、データ、例えばデータサイズ、位置、及びセキュリティを修正して、予測された事象を適合させてもよい。別の非限定的な例では、選択モジュール234は、不揮発性メモリ以外の1つ又は複数の位置へのシャドウデータの冗長な書き込みを指示してもよく、それにより、不揮発性メモリがそれの整定時間内にある間に効率的なデータ読み出しを提供してもよい。
網羅的ではないけれども、予測回路248は、書き込み待ち行列の現在の状態、例えば待ち行列でのそれぞれの保留書き込み要求の量及びサイズについての情報を受信してもよい。予測回路248は、また、書き込み待ち時間、読み出し待ち時間、及びエラー率のような、任意の数のシステム/デバイス性能計量値をポーリング又は決定してもよい。保留中又は書き込まれるデータのバージョンは、予測回路248によって評価されて、データが更新されている頻度を確立してもよい。保留中及び以前に完了されたデータ書き込みの割り当てられた書き込み位置が予測回路248によって利用されて、不揮発性メモリにおいて消耗レベリング動作を実行してもよい。
1つ又は複数の環境条件が、予測回路248によってリアルタイムで感知される及び/又はポーリングされることにより、将来のデータ記憶アクティビティを示すであろうトレンド及び状況を決定してもよい。SRAM又はNORフラッシュ等の1つ又は複数のシャドウバッファのスペースの利用可能性は、将来の保留書き込み要求を取り扱うためのシステムの容量を示すとともに、バッファの性能を予測回路248に結び付けてもよい。予測回路248は、1つ又は複数のアルゴリズム292及び前のデータ記憶アクティビティの少なくとも1つの記録294を利用して、事象及び読み出し及び書き込み要求のサービス提供を最適化してもよい適合する活動を予測してもよい。
記録294は、以前に記録された及び外部でモデル化された両方の事象、活動、及びシステム条件からなることが考えられる。記録された情報は、予測された事象の精度及び率先的にとられた活動の効果を決定する際に、選択モジュール234にとって有用である場合がある。かかる自己査定は、アルゴリズム292を更新するために使用されて、予測された事象の精度を改善してもよい。前に予測された事象の精度を決定することによって、予測モジュール248は、予測された活動が生じるリスク、及び/又は対応する活動がシステム性能を最適化する可能性を査定してもよい。かかる能力は、予測モジュール248が選択モジュール234によって確立された閾値に対して動作することを可能にすることにより、事象が起こる95%の信頼性、又は率先的な活動がシステム性能を増大させる90%の可能性等のシステム性能を増大させる見込みがより少ない予測された事象及び率先的な活動を無視する。
予測された事象及び率先的な活動よりも可能性が小さいものを無視する能力を用いて、選択モジュール234は、異なるアルゴリズム292及び/又は記録294等によって、多数の異なるシナリオを並行して及び順に生成してもよい。非限定的な例として、予測回路248は、モデル化された記録だけ、リアルタイムのシステム条件だけ、及びモデル化された情報とリアルタイム情報との組合せに基づいて、事象を予測すること、及び修正活動を対応させることを課されてもよい。したがって、予測回路248及び選択モジュール234は、システム条件を査定することにより、データ記憶装置への現在及び将来のデータアクセス要求のサービスを改善する高い可能性を有する反応的及び率先的な活動を生成してもよい。
図10A〜図10Dは、時間経過とともに選択モジュール234のインテリジェントな動作から生じる例示の動作スキームをそれぞれ示す。図10Aは、保留書き込み要求302がステップ304で不揮発性メモリに、及びステップ306で少なくとも1つの書き込みバッファに並行して書き込まれるというスキーム300を表す。ステップ308の実際の又は予測された事象は、選択モジュール234を起動させて、ステップ312でタイマが満了するまでステップ310でバッファからデータを読み出してもよい。言い換えると、冗長なデータ書き込みは、不揮発性メモリがそれ自体の整定時間にある間にステップ310でバッファから、続いてステップ314で不揮発性メモリからのデータの読み出しを可能にする。
スキーム300では、ステップ308の事象は、おそらくデバイス温度、又は不揮発性メモリの整定時間の間にデータ読み出しを必要とする別の動作条件のために平均整定時間よりも長くてもよい。例えば、多重レベル不揮発性メモリセルの書き込み、又はホストがステップ308で最近書き込まれたデータを要求することになるという予想された可能性が、選択モジュール234に一時バッファからのデータ取り出しを指示するよう促してもよい。ステップ312のタイマは、不揮発性メモリの整定時間のためのものであってもよく、又は、遅延が存在しなかった場合よりもより効率的にデータアクセス要求にサービスするように選択モジュール234によって決定される指定された遅延時間のためのものであってもよいことが考えられる。
図10Bは、ステップ302の書き込み要求及び不揮発性メモリ及びバッファの両方へのデータ書き込みがスキーム300と同じである例示のスキーム320を表す。しかし、実際の又は予測された事象は起こらず、その代わりに、ステップ322でデータがフラッシュメモリに書き込まれ、続いて、ステップ312でタイマが満了するまでステップ324でメモリから読み出され、次いで、ステップ314でデータが不揮発性メモリから読み出される。ステップ322及び324でのフラッシュメモリの利用は、部分的に又は全体的に書き込みバッファを空にしてもよく、それにより、より高速の書き込みバッファが別の保留システムアクティビティにサービスすることを可能にしてもよい。
図10Cのスキーム330は、ステップ332での実際の又は予測された事象が、データ記憶装置への保留書き込み要求の受信後に生じてもよい態様を示す。事象は、選択モジュール234を起動させて、不揮発性メモリへのデータ書き込みを控えさせることと、その代わりにステップ306で書き込みバッファにだけ書き込むことと、ステップ310でバッファからの読み出すことと、ステップ304で不揮発性メモリにデータを書き込むことと、を行ってもよい。最初にバッファに、次いで不揮発性メモリにデータを書き込むことによって、システムリソースが、例えば、高いデータ読み出しアクセスの時間中により効率的に使用されてもよい。ステップ312でのタイマの満了によって表されるような不揮発性メモリの整定時間の終結において、データは、ステップ314で不揮発性メモリから読み出される。
いくつかの実施形態は、データ記憶装置/システムへの電力の予定外の損失又は低減を予測し、それにより、選択モジュールを起動させて全てのデータを揮発性バッファから不揮発性メモリまで送信する。別の実施形態は、全てのデータを書き換え可能なインプレース不揮発性メモリに送信することによって、デバイス/システムのシャットダウン等の電力の予定された低減に反応する。不揮発性メモリの整定時間は、シャットダウンの間、考慮される必要がないので、選択モジュールは、損害を伴わずに不揮発性メモリに大量のデータをダンプしてもよい。
書き換え可能なインプレースメモリの比較的高速の読み出し時間は、1つ又は複数のブートマップを不揮発性メモリに記憶することによって予定されたシャットダウンの間にインテリジェントに使用されてもよい。選択モジュール234は、現在及び最近のシステムアクティビティに基づいて新たなブートマップを生成してもよく、ブートマップが不揮発性メモリだけからロードされ、続いてブートマップが、更新がより効率的に実行される別のメモリに動かされるというほとんどインスタントンのブートプロセスを提供することに留意されたい。既存の又は新たに生成されたブートデータ、例えばセキュリティ情報、レベルマップ、及びファームウェアを送信することによって、データ記憶装置/システムは、電力初期化の時間から1秒未満で新たなデータアクセス要求を受信する準備ができる。
図10Dを参照すると、スキーム340は、ステップ304で不揮発性メモリに及びステップ306でバッファに、並行して及び冗長に書き込むことによって、ステップ302からの書き込み要求を処理する。不揮発性メモリへの書き込みが整定する間に、ステップ310は、ステップ312で選択モジュール234タイマが満了するまで、バッファからのなんらかの読み出しにサービスする。ステップ342で予測された又は経験された事象は、不揮発性メモリへのデータ書き込みが整定したにもかかわらず、選択モジュール234を起動させて、不揮発性メモリからの代わりにバッファからのデータ読み出し要求にサービスし続ける。ステップ342での事象は、限定されないが、不揮発性メモリからのデータ読み出しを抑制又は劣化させ得る任意の動作条件、例えばエラー、高い装置/システム処理アクティビティ、又はチャネル利用可能性であってもよい。
選択モジュール234は、メモリセルの整定時間の間、上書き状態を取り扱ってもよいことが考えられる。かかる状態において、「Dirty」及び「WritelnProgress」フラグが、キャッシュエントリに付加される。必須又は限定ではないけれども、Dirtyフラグは、キャッシュ内のデータが未だ不揮発性メモリに書き込まれていないことを示し、そして、WritelnProgressフラグは、キャッシュ内のデータが不揮発性メモリに書き込まれたが、クールダウン期間が完了していないことを示す。その結果、選択モジュール234は、データが現在、整定段階にあるか否かをインテリジェントに査定してもよく、それにより、冗長な動作を減少させ、システム性能を増大させる。
図10A〜図10Dの例示のスキームによって、選択モジュール234は、予測された及び/又は実際の事象に適合するために様々な活動を行うことにより、データアクセス要求のサービスを最適化してもよいことが理解され得る。かかるインテリジェントな適合は、データアクセスの量に関係なく、選択モジュールが広いデータアクセスバンド幅及び短いデータアクセス待ち時間を維持することを可能にする。インテリジェントな適合は、選択モジュールがデータ記憶位置、マッピングスキーム、及びシャドウデータの書き込みを変更するのを更に可能にすることにより、データ優先順位及びセキュリティの変化に対応し、それにより、非常に重要なデータを不揮発性データにより速く送信してもよい。
図11は、図1〜図10Dの様々な実施形態によって実行されてもよい例示のインプレースメモリ利用ルーチン350のフローチャートである。1つ又は複数のデータ記憶装置が、ステップ352で選択モジュール、バッファメモリ、及び書き換え可能なインプレース不揮発性メモリからなるそれぞれのデータ記憶装置によって活性化させられてもよい。データ記憶装置は、データ記憶システムの分散型ネットワークの一部分として、任意の時間の間、動作してもよい。少なくとも1つのデータ記憶装置が、ステップ354でホストからの1つ又は複数のデータ書き込み要求を受け取ると、選択モジュールは、ステップ356で、保留データ要求と関連するデータを少なくとも1つのバッファメモリ及び不揮発性メモリに書き込んでもよい。
ステップ356での書き込みデータのプログラミングは、バッファ及び不揮発性メモリに並行して又は順になされてもよい。しかし、データが不揮発性メモリに書き込まれると、選択モジュールは、タイマを開始させることにより、メモリセルが整定を終えて、読み出し要求にサービスすることが利用可能になるときを決定する。いくつかの実施形態では、ステップ356は、例えば、データ宛先の物理位置付近の高いデバイス温度及び/又はアクティビティに応じて、既存のデフォルト整定時間と異なる整定時間を予測することを含む。
ステップ356での不揮発性メモリへのデータ書き込みの間及びその後の任意のときに、決定358は、選択モジュールによってそのデータについての読み出し要求を配置してもよい。つまり、読み出し要求が選択モジュールによって受信され、同時に不揮発性メモリがそれ自体の整定時間内にある場合、ステップ360は、バッファに記憶されたデータからの読み出し要求にサービスし始める。ステップ360によってサービスされる任意の読み出し要求の終結において、又は読み出し要求が決定358から受信されない場合、決定362は、選択モジュールタイマが満了したか否かについて評価し始める。
終了した選択モジュールタイマは、ステップ364が不揮発性メモリからの読み出し要求にサービスすることを可能にし、同時に活性タイマはバッファ位置が任意の読み出し要求に対して使用されるステップ360に戻る。ステップ及び決定354〜364は、データ読み出し及び書き込み要求を取り扱うために任意の回数だけ周期的に再訪されてもよいことに留意されたい。データがステップ354で書き込まれた後の任意のときに、ステップ366は、不揮発性メモリ内の実際の又は仮想化された階層の間でデータを動かしてもよい。かかるデータ転送は必要とされない。最後の不揮発性のメモリ位置は、続いてステップ368でマッピングされて、不揮発性メモリに記憶された最新バージョンのデータへの任意の読み出し動作を指示する。ステップ368でのデータのマッピングは、それぞれのバッファからの、及びバッファへのデータアクセスを指示するシャドウマップからのデータの除去、又は予定された除去に対応してもよいことに留意されたい。
本開示の様々な実施形態によって、不揮発性の書き換え可能なインプレースメモリは、データアクセス要求のサービスを最適化するために使用されてもよい。しかし、書き換え可能なインプレースメモリと関連する非対称の書き込み時間に起因して、選択モジュールは、現在及び記録されたシステムアクティビティをインテリジェントに評価することにより、不揮発性メモリで整定するデータに対する読み出し要求のサービスを可能にする。選択モジュールは、反応的及び率先的な活動が行われることを可能にすることにより、実際の及び予測された事象に応じてシステム性能を維持及び最適化する。その結果、データ記憶システムは、より少ないデータ読み出し待ち時間、減少したブート時間、及びシステム条件の変更に適合する高度な仮想化スキームを享受してもよい。

Claims (20)

  1. バッファメモリ、選択モジュール、及び不揮発性メモリを有するデータ記憶装置を備える装置であって、前記バッファメモリ並びに不揮発性メモリは異なるタイプのメモリを備え、前記不揮発性メモリは書き換え可能なインプレースメモリセルを備え、前記バッファメモリ並びに不揮発性メモリは、それぞれ、前記書き換え可能なインプレースメモリセルの整定時間が満了するまで、前記選択モジュールによって指示される保留データ要求に関連するデータを記憶する、装置。
  2. 前記データ記憶装置は、複数のビットアドレス指定可能なメモリセルを有する、請求項1に記載の装置。
  3. 前記複数のビットアドレス指定可能なメモリセルの各メモリセルは、ビット線とワード線との間に配置される、請求項2に記載の装置。
  4. 各ビット線は、各ワード線に直交するように配向される、請求項3に記載の装置。
  5. 前記複数のビットアドレス指定可能なメモリセルの第1のグループは、前記複数のビットアドレス指定可能なメモリセルの第2のグループの上に鉛直方向に積層される、請求項2に記載の装置。
  6. 前記複数のビットアドレス指定可能なメモリセルの各メモリセルは、抵抗ユニットと接触する選択層を含む、請求項2に記載の装置。
  7. 前記複数のビットアドレス指定可能なメモリセルのどのメモリセルもトランジスタに取り付けられていない、請求項2に記載の装置。
  8. 前記バッファメモリは揮発性である請求項1に記載の装置。
  9. 方法であって、
    バッファメモリ、選択モジュール、及び不揮発性メモリを有するデータ記憶装置を活性化することであって、前記バッファメモリ並びに不揮発性メモリは異なるタイプのメモリを備え、前記不揮発性メモリは書き換え可能なインプレースメモリセルを備える、ことと、
    書き込み要求をリモートホストから受信することであって、前記書き込み要求は、前記書き込み要求に関連する書き込みデータを有する、ことと、
    前記選択モジュールによって指示されるように、前記書き込みデータを前記バッファメモリ並びに不揮発性メモリに同時に書き込むことと、
    前記バッファメモリからデータを取り出すことによって前記書き込みデータに対する最初の読み出し要求をサービスすることと、
    前記選択モジュールのタイマがアクティブである間、前記不揮発性メモリから前記書き込みデータを読み出すことを遅延させることであって、前記タイマは前記不揮発性メモリの整定時間に対応する、ことと、
    前記タイマが満了した後に前記不揮発性メモリからデータを取り出すことによって、前記書き込みデータに対する2回目の読み出し要求をサービスすることと、
    を含む、方法。
  10. 前記不揮発性メモリは、前記整定時間中に不安定である、請求項9に記載の方法。
  11. 前記整定時間は、前記選択モジュールの予測回路によって予測される、請求項9に記載の方法。
  12. 前記予測される整定時間は、デフォルト整定時間とは異なる、請求項11に記載の方法。
  13. 前記予測される整定時間は、前記データ記憶装置の高温に適応する、請求項11に記載の方法。
  14. 前記選択モジュールは、前記書き込みデータが書き込まれるメモリセルに物理的に近接する前記不揮発性メモリの少なくとも1つのメモリセルへのアクセスを制限する、請求項9に記載の方法。
  15. 方法であって、
    バッファメモリ、選択モジュール、及び不揮発性メモリを有するデータ記憶装置を活性化することであって、前記バッファメモリ並びに不揮発性メモリは異なるタイプのメモリを備え、前記不揮発性メモリは書き換え可能なインプレースメモリセルを備える、ことと、
    書き込み要求をリモートホストから受信することであって、前記書き込み要求は、前記書き込み要求に関連する書き込みデータを有する、ことと、
    前記選択モジュールによって指示されるように、前記書き込みデータを前記バッファメモリ並びに不揮発性メモリに同時に書き込むことと、
    前記バッファメモリからデータを取り出すことによって前記書き込みデータに対する最初の読み出し要求をサービスすることと、
    前記選択モジュールのタイマがアクティブである間に前記書き込みデータを前記不揮発性メモリから読み出すことを遅延させることと、
    前記タイマが満了した後に前記不揮発性メモリからデータを取り出すことによって、前記書き込みデータに対する2回目の読み出し要求をサービスすることと、
    前記タイマの満了に応答して、前記バッファメモリから前記書き込みデータを削除することと、
    を含む、方法。
  16. 前記選択モジュールは、前記タイマがアクティブである間、前記不揮発性メモリに書き込むことなく、前記バッファメモリ内の前記書き込みデータに更新を書き込む、請求項15に記載の方法。
  17. 前記選択モジュールは、前記バッファメモリ内の前記書き込みデータにフラグを立てることによって、データが現在書き込まれているかどうかを評価する、請求項15に記載の方法。
  18. 前記選択モジュールは、前記書き込みデータを第1のレベルマップ及び第2のレベルマップにマッピングする、請求項15に記載の方法。
  19. 前記第1のレベルマップは前記バッファメモリに常駐し、前記第2のレベルマップは前記不揮発性メモリに常駐する、請求項18に記載の方法。
  20. 前記選択モジュールは、前記バッファメモリに記憶されたシャドウマップを生成する、請求項18に記載の方法。
JP2018102220A 2017-05-30 2018-05-29 書き換え可能なインプレースメモリを有するデータ記憶装置 Pending JP2018206378A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/608,100 2017-05-30
US15/608,100 US10090067B1 (en) 2017-05-30 2017-05-30 Data storage device with rewritable in-place memory

Publications (2)

Publication Number Publication Date
JP2018206378A true JP2018206378A (ja) 2018-12-27
JP2018206378A5 JP2018206378A5 (ja) 2019-05-16

Family

ID=63638648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018102220A Pending JP2018206378A (ja) 2017-05-30 2018-05-29 書き換え可能なインプレースメモリを有するデータ記憶装置

Country Status (5)

Country Link
US (2) US10090067B1 (ja)
JP (1) JP2018206378A (ja)
KR (1) KR102095438B1 (ja)
CN (1) CN108986859B (ja)
TW (1) TWI673722B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11048633B2 (en) * 2016-09-27 2021-06-29 Spin Memory, Inc. Determining an inactive memory bank during an idle memory cycle to prevent error cache overflow
US10090067B1 (en) * 2017-05-30 2018-10-02 Seagate Technology Llc Data storage device with rewritable in-place memory
US10684964B1 (en) * 2018-08-01 2020-06-16 Lightbits Labs Ltd. System and method for reducing read latency in storage devices
KR102460808B1 (ko) 2018-10-31 2022-10-31 주식회사 엘지에너지솔루션 전해액 이온 농도 측정부를 포함하는 전지셀 및 이를 이용한 전해액 농도 측정 방법
US11475102B2 (en) * 2019-02-21 2022-10-18 Samsung Electronics Co., Ltd. Adaptive matrix multiplication accelerator for machine learning and deep learning applications
CN111078146B (zh) * 2019-12-13 2023-11-14 合肥兆芯电子有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438670B1 (en) 1998-10-02 2002-08-20 International Business Machines Corporation Memory controller with programmable delay counter for tuning performance based on timing parameter of controlled memory storage device
US6374323B1 (en) 1998-11-16 2002-04-16 Infineon Technologies Ag Computer memory conflict avoidance using page registers
US6317349B1 (en) * 1999-04-16 2001-11-13 Sandisk Corporation Non-volatile content addressable memory
JP2003151285A (ja) * 2001-11-08 2003-05-23 Fujitsu Ltd 半導体メモリ
US6868473B2 (en) * 2002-10-30 2005-03-15 Scientific-Atlanta, Inc. Non-volatile memory access control
US6795338B2 (en) 2002-12-13 2004-09-21 Intel Corporation Memory having access devices using phase change material such as chalcogenide
JP3795875B2 (ja) 2003-05-22 2006-07-12 東芝マイクロエレクトロニクス株式会社 磁気ランダムアクセスメモリ及びそのデータ読み出し方法
US7835170B2 (en) 2005-05-09 2010-11-16 Nantero, Inc. Memory elements and cross point switches and arrays of same using nonvolatile nanotube blocks
US7502896B2 (en) * 2005-06-07 2009-03-10 Stmicroelectronics Pvt. Ltd. System and method for maintaining the integrity of data transfers in shared memory configurations
JP2009123725A (ja) * 2007-11-12 2009-06-04 Hitachi Ltd 不揮発性半導体記憶装置
JP2009211233A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
KR20090109345A (ko) * 2008-04-15 2009-10-20 삼성전자주식회사 저항체를 이용한 비휘발성 메모리 장치, 이를 포함하는메모리 시스템
US20090271564A1 (en) * 2008-04-25 2009-10-29 Hitachi, Ltd. Storage system
US8225031B2 (en) 2008-10-30 2012-07-17 Hewlett-Packard Development Company, L.P. Memory module including environmental optimization
US8144506B2 (en) 2009-06-23 2012-03-27 Micron Technology, Inc. Cross-point memory devices, electronic systems including cross-point memory devices and methods of accessing a plurality of memory cells in a cross-point memory array
US20110122675A1 (en) * 2009-11-25 2011-05-26 Ward Parkinson Programmable Resistance Memory
US8233345B2 (en) * 2010-09-08 2012-07-31 International Business Machines Corporation Phase change memory cycle timer and method
JP2012203936A (ja) 2011-03-24 2012-10-22 Toshiba Corp 半導体記憶装置
BR112014013390A2 (pt) * 2011-12-20 2017-06-13 Intel Corp redução de potência parcial dinâmica de cache de lado de memória em hierarquia de memória de 2 níveis
US9043530B1 (en) * 2012-04-09 2015-05-26 Netapp, Inc. Data storage within hybrid storage aggregate
US8675423B2 (en) 2012-05-07 2014-03-18 Micron Technology, Inc. Apparatuses and methods including supply current in memory
US9245926B2 (en) 2012-05-07 2016-01-26 Micron Technology, Inc. Apparatuses and methods including memory access in cross point memory
JP5820830B2 (ja) * 2013-01-31 2015-11-24 京セラドキュメントソリューションズ株式会社 記憶制御装置、電子機器、記憶制御プログラム、および記憶制御方法
US9076530B2 (en) * 2013-02-07 2015-07-07 Seagate Technology Llc Non-volatile write buffer data retention pending scheduled verification
US20140310488A1 (en) * 2013-04-11 2014-10-16 Transparent Io, Inc. Logical Unit Management using Differencing
US9842128B2 (en) * 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations
US9368564B2 (en) 2014-03-28 2016-06-14 Qualcomm Incorporated 3D pillar inductor
KR102248279B1 (ko) * 2014-06-13 2021-05-07 삼성전자주식회사 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 스토리지 장치, 그리고 불휘발성 메모리 및 메모리 컨트롤러 사이의 통신을 중개하는 리타이밍 회로의 동작 방법
US10825529B2 (en) * 2014-08-08 2020-11-03 Macronix International Co., Ltd. Low latency memory erase suspend operation
US9431121B2 (en) * 2014-10-24 2016-08-30 Micron Technology, Inc. Read voltage adjustment
US20160232112A1 (en) * 2015-02-06 2016-08-11 Futurewei Technologies, Inc. Unified Memory Bus and Method to Operate the Unified Memory Bus
US20160259732A1 (en) 2015-03-04 2016-09-08 Cavium, Inc. Managing reuse information for memory pages
US9601193B1 (en) 2015-09-14 2017-03-21 Intel Corporation Cross point memory control
CN105761756A (zh) * 2016-02-01 2016-07-13 天固科技(杭州)有限公司 一种利用高性能非挥发固态存储器提高海量固态硬盘性能及可靠性的方案
US10090067B1 (en) * 2017-05-30 2018-10-02 Seagate Technology Llc Data storage device with rewritable in-place memory

Also Published As

Publication number Publication date
US10559376B2 (en) 2020-02-11
US10090067B1 (en) 2018-10-02
KR20180131467A (ko) 2018-12-10
CN108986859B (zh) 2022-04-19
TWI673722B (zh) 2019-10-01
US20190096506A1 (en) 2019-03-28
CN108986859A (zh) 2018-12-11
TW201905914A (zh) 2019-02-01
KR102095438B1 (ko) 2020-03-31

Similar Documents

Publication Publication Date Title
KR102580577B1 (ko) 솔리드 스테이트 드라이브들 내의 zns들
US11416161B2 (en) Zone formation for zoned namespaces
US10559376B2 (en) Data storage device with rewriteable in-place memory
KR102533072B1 (ko) 블록의 상태에 따라 사용 여부를 결정하는 메모리 시스템 및 메모리 시스템의 동작 방법
US11204705B2 (en) Retention-aware data tiering algorithm for hybrid storage arrays
EP3338195B1 (en) Caching sensing device data in data storage device
US11537305B1 (en) Dissimilar write prioritization in ZNS devices
CN114730282A (zh) Zns奇偶校验交换到dram
US11449431B2 (en) Data storage device with rewritable in-place memory
KR102138767B1 (ko) 제자리에 다시쓰기 가능한 메모리를 갖는 데이터 저장 디바이스
US11537293B2 (en) Wear leveling methods for zoned namespace solid state drive
CN114730250A (zh) 根据存储设备中的分区对读取命令加权
JP6752843B2 (ja) 書き換え可能なインプレースメモリを有するデータ記憶装置
US20220391115A1 (en) Dissimilar Write Prioritization in ZNS Devices
WO2023101719A1 (en) Full die recovery in zns ssd
CN114830077A (zh) 一种数据存储方法及存储装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190402

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200303

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20201006