TW201909184A - 具有可原地重寫之記憶體的資料儲存裝置 - Google Patents
具有可原地重寫之記憶體的資料儲存裝置 Download PDFInfo
- Publication number
- TW201909184A TW201909184A TW107118379A TW107118379A TW201909184A TW 201909184 A TW201909184 A TW 201909184A TW 107118379 A TW107118379 A TW 107118379A TW 107118379 A TW107118379 A TW 107118379A TW 201909184 A TW201909184 A TW 201909184A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- memory
- volatile memory
- selection module
- data storage
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 210
- 238000013500 data storage Methods 0.000 title claims abstract description 84
- 239000000872 buffer Substances 0.000 claims description 37
- 238000013507 mapping Methods 0.000 claims description 34
- 238000000034 method Methods 0.000 claims description 17
- 238000011065 in-situ storage Methods 0.000 claims description 16
- 230000008859 change Effects 0.000 claims description 13
- 230000007613 environmental effect Effects 0.000 claims description 5
- 238000013519 translation Methods 0.000 claims description 2
- 238000013506 data mapping Methods 0.000 claims 5
- 230000000977 initiatory effect Effects 0.000 claims 2
- 230000001568 sexual effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 12
- 239000000463 material Substances 0.000 description 11
- 230000000694 effects Effects 0.000 description 10
- 230000009471 action Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 6
- 230000005415 magnetization Effects 0.000 description 5
- 238000013523 data management Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000004043 responsiveness Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000006641 stabilisation Effects 0.000 description 3
- 238000011105 stabilization Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 239000003989 dielectric material Substances 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 125000006850 spacer group Chemical group 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 229910052798 chalcogen Inorganic materials 0.000 description 1
- 239000005387 chalcogenide glass Substances 0.000 description 1
- 150000001787 chalcogens Chemical class 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 238000001459 lithography Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009885 systemic effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory 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/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/785—Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes
- G11C29/789—Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes using non-volatile cells or latches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/0656—Data buffering arrangements
-
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/005—Digital 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
-
- 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/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
- G11C11/1659—Cell access
-
- 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/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
- G11C11/1675—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/003—Cell access
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- 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/08—Address circuits; Decoders; Word-line control 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/10—Programming or 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/24—Bit-line control circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/102—Compression or decompression of data before storage
-
- 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/2245—Memory devices with an internal cache buffer
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2213/00—Indexing scheme relating to G11C13/00 for features not covered by this group
- G11C2213/70—Resistive array aspects
- G11C2213/71—Three dimensional array
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2213/00—Indexing scheme relating to G11C13/00 for features not covered by this group
- G11C2213/70—Resistive array aspects
- G11C2213/77—Array wherein the memory element being directly connected to the bit lines and word lines without any access device being used
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/18—Bit line organisation; Bit line lay-out
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/14—Word line organisation; Word line lay-out
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Semiconductor Memories (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一資料儲存裝置可由經連接至一選擇模組之一非揮發性記憶體組成。該非揮發性記憶體可具有一可原地重寫之記憶體單元,該可原地重寫之記憶體單元具有一讀取-寫入非對稱性。該選擇模組可將該非揮發性記憶體之一部分專用於一資料映射,該資料映射可係自含的,連同由該選擇模組反應性且主動地變更。
Description
根據各種實施例,資料儲存裝置可由經連接至一選擇模組之一非揮發性記憶體組成。該非揮發性記憶體具有一可原地重寫之記憶體單元,該可原地重寫之記憶體單元具有一讀取-寫入非對稱性。該選擇模組將該非揮發性記憶體之一部分專用於一資料映射。
100‧‧‧資料儲存系統/系統
102‧‧‧資料儲存裝置
104‧‧‧主機
106‧‧‧網路控制器
108‧‧‧本地處理器
110‧‧‧緩衝器
112‧‧‧緩衝器
114‧‧‧記憶體陣列
116‧‧‧第一快閃單元
118‧‧‧第二快閃單元
120‧‧‧第三快閃單元
122‧‧‧第四快閃單元
124‧‧‧第一頁面
126‧‧‧第二頁面
140‧‧‧記憶體陣列
142‧‧‧記憶體單元/單元
144‧‧‧選擇層
146‧‧‧電阻元件
148‧‧‧線
160‧‧‧電阻元件
162‧‧‧電阻區域/區域
164‧‧‧硫屬玻璃材料
166‧‧‧非晶
170‧‧‧長絲類型電阻元件/長絲
172‧‧‧導電長絲
174‧‧‧介電材料
180‧‧‧電阻元件/元件
182‧‧‧介電間隔物層
184‧‧‧自由層
186‧‧‧參考層
188‧‧‧固定磁化強度/自由磁化強度
190‧‧‧磁性定向
202‧‧‧電壓
204‧‧‧電壓
206‧‧‧電壓
208‧‧‧安定時間
210‧‧‧讀取電壓
220‧‧‧資料儲存裝置
222‧‧‧晶片
224‧‧‧壓縮
226‧‧‧加密
228‧‧‧寫入快取
230‧‧‧記憶體元件/映射元件
232‧‧‧非揮發性記憶體/記憶體
234‧‧‧選擇模組
240‧‧‧資料儲存裝置
242‧‧‧計時器
244‧‧‧日誌
246‧‧‧感測器
248‧‧‧預測電路
250‧‧‧映射方案
252‧‧‧第一級映射/第一級/級映射/映射
254‧‧‧記憶體
256‧‧‧第二級映射/第二級/級映射/映射
258‧‧‧影子映射/影子/映射
260‧‧‧主資料儲存
262‧‧‧非揮發性可原地重寫之記憶體/記憶體
270‧‧‧資料儲存裝置
272‧‧‧寫入快取
274‧‧‧非揮發性記憶體/記憶體
276‧‧‧第一層/層
278‧‧‧第二層/層
280‧‧‧第三層/層
282‧‧‧第四層/層
290‧‧‧資料儲存裝置
292‧‧‧演算法
294‧‧‧日誌
300‧‧‧方案
302‧‧‧待決寫入請求/步驟
304‧‧‧步驟
306‧‧‧步驟
308‧‧‧步驟
310‧‧‧步驟
312‧‧‧步驟
314‧‧‧步驟
320‧‧‧方案
322‧‧‧步驟
324‧‧‧步驟
330‧‧‧方案
332‧‧‧步驟
340‧‧‧方案
342‧‧‧步驟
350‧‧‧原地記憶體利用常式
352‧‧‧步驟
354‧‧‧步驟
356‧‧‧步驟
358‧‧‧決策
360‧‧‧步驟
362‧‧‧決策
364‧‧‧步驟
366‧‧‧步驟
368‧‧‧步驟
BL1,BL2‧‧‧位元線
SL1,SL2‧‧‧源線
MU 1,MU2,MU N‧‧‧記憶體元件
VWRITE,VREAD‧‧‧臨限電壓
WL1,WL2‧‧‧字線
圖1展示可在其中實行各種實施例之一實例資料儲存系統的方塊圖。
圖2A及圖2B分別表示可用於圖1之資料儲存系統中之一實例資料儲存裝置的部分。
圖3A至圖3C分別描繪可用於圖1之資料儲存系統中之實例記憶體單元的部分。
圖4繪出與圖1之資料儲存系統相關聯的實例操作資料。
圖5A及圖5B分別顯示根據各種實施例操作之一實例資料儲存裝置的部分。
圖6繪示根據一些實施例配置之一實例資料儲存裝置的部分之方塊圖。
圖7係根據各類實施例組態之一實例資料儲存裝置的部分之方塊圖。
圖8展示可用於圖1之資料儲存系統中之一實例資料儲存裝置的一部分之方塊圖。
圖9描繪根據一些實施例配置之一實例資料儲存裝置的一部分之方塊圖。
圖10A至圖10D分別表示根據各類實施例形成之一實例微影總成的一部分。
圖11係根據一些實施例之使用圖1的資料儲存系統執行之一實例原地記憶體利用常式的流程圖。
隨著經產生、傳輸、及儲存之資料量的增加,資料儲存的速度、成本、大小、及壽命變得有壓力。雖然使用旋轉磁性媒體的硬碟機(HDD)能夠可靠地長期儲存資料,但相對較大的實體大小及緩慢的資料存取速度卻妨礙在許多運算裝置中採用HDD。使用NAND快閃記憶體的固態硬碟可提供更快的資料存取速度及較小的實體大小,但相較於HDD具有高成本及低壽命。
由於重複地寫入、移動、及刪除資料以致力於減小資料存取潛時之資料管理結構及方案而使快閃記憶體之相對較短的壽命更形惡化。快閃記憶體並非可以位元或位元組定址而是僅可以頁面/磁區 定址的事實使記憶體的短壽命情況更複雜,且與可以位元/位元組定址的揮發性記憶體相比,導致複雜的資料管理及相對較長的資料存取時間。然而,要求揮發性記憶體連續具有保存資料的電力限制此等類型的記憶體在一資料儲存裝置中的潛在適用性。
因此,各種實施例大致上係關於資料儲存結構及操作,該等資料儲存結構及操作利用可原地重寫之記憶體,該可原地重寫之記憶體享有比快閃記憶體更快的資料存取速度、比HDD更小的實體大小、及非揮發性資料保存。在具有相對較快的資料存取速度之非揮發性記憶體中之儲存資料的能力容許可最佳化資料保存、讀取、及寫入之多種不同的資料管理結構及方案。同時,可原地重寫之記憶體之相對較小的實體大小允許一資料儲存裝置足夠小,以在諸如智慧型手機及平板電腦的現代運算裝置中實現,同時足夠強健以在大型資料容量中心中使用。
圖1展示可在其中實行本揭露之各類實施例的一實例資料儲存系統100。系統100可經由一有線及/或無線網路將任何數目的資料儲存裝置102連接至任何數目的主機104。一或多個網路控制器106可基於硬體或軟體,並向各種經連接的資料儲存裝置102提供資料請求處理及分配。須注意多個資料儲存裝置102可係類似類型或不同類型的記憶體,其等具有不同的資料容量、操作參數、及資料存取速度。
在一些實施例中,系統100的至少一資料儲存裝置102具有一本地處理器108(諸如一微處理器或可程式化控制器),其經 連接至一晶片上緩衝器110(諸如靜態隨機存取記憶體(SRAM))、及一晶片外緩衝器112(諸如動態隨機存取記憶體(DRAM))、及一非揮發性記憶體陣列114。圖1的非限制性實施例配置包含NAND快閃記憶體之非揮發性記憶體陣列114,其係示意地部分顯示為具有第一(BL1)位元線及第二(BL2)位元線,該等位元線與第一字線(WL1)及第二字線(WL2)以及第一源線(SL1)及第二源線(SL2)共同操作,以寫入及讀取儲存在第一快閃單元116、第二快閃單元118、第三快閃單元120、及第四快閃單元122中的資料。
須注意各別的位元線對應於記憶體的第一頁面124及第二頁面126,其等係記憶體陣列114之最小解析度。也就是,快閃記憶體的構造預防快閃單元可個別地原地重寫,取而代之的係可以一逐頁基礎重寫。與具有可以位元定址同時可個別存取並可個別原地重寫之單元的記憶體相比,此類低資料解析度連同快閃記憶體在多次寫入/重寫循環後磨損的事實對應了眾多性能瓶頸及操作無效率。因此,各種實施例係關於將可以位元定址且可原地重寫之記憶體實現成一資料儲存裝置102,該資料儲存裝置可係一分散式網路資料儲存系統100的部分。
圖2A及圖2B表示根據各種實施例之可用於一資料儲存裝置中之一實例記憶體陣列140的部分。記憶體陣列140具有沿著Z軸經垂直堆疊的複數個分開的記憶體單元142,其作為一三維陣列的部分。雖然預期可利用記憶體單元142的單一晶粒,但此類組態使資料容量變小,且未能利用所有的可用空間。因此,各種實施例垂直 堆疊各自常駐在X-Y平面中之記憶體單元142的多個晶粒。然而,經垂直堆疊的單元142不一定需要以圖2A中所示的方式經垂直對準。
在NAND快閃記憶體及其他固態資料儲存單元的情況下,一電晶體或其他分開的選擇組件係併入各單元中,該電晶體或其他分開的選擇組件佔據寶貴空間、消耗額外功率、且為增加資料存取操作之潛時。記憶體陣列140的各記憶體單元142係經構造為不具有一電晶體或其他實體上分開的選擇組件,且替代地具有接觸一電阻元件146的一選擇層144。選擇層144可係單一材料或不同材料的一層壓體,其在預定時間處預防至電阻元件146之電流,並允許在其他預定時間處之至電阻元件146的電流。作為一非限制性實例,選擇層144可係一金屬絕緣體變遷(MIT)材料、一雙向定限開關(OTS)、或其他調壓結構。
如圖1所示,一電晶體或其他選擇組件的納入對應於啟動各別選擇組件的源線。有利於選擇層144之任何選擇組件的排除允許經垂直堆疊的記憶體單元142可藉由一交叉點互連組態個別存取,其中位元線(BL)與字線(WL)操作以存取一或多個單元142。如線148所繪示,在位元線與字線之間的一感應電位差誘發通過單一記憶體單元142的電流。選擇單一位元從而可以位元定址的能力允許記憶體陣列140密集地封裝單元,而不用擔心無意地存取記憶體單元142。
須注意記憶體單元142的構造提供相對較低的功率消耗,其對應於未經選擇及實體上相鄰的單元142在讀取及/或寫入操作期間之干擾的低風險。圖2B的俯視圖表達記憶體單元142如何能夠 相對於沿著單一晶粒之各類位元線及字線而經定位。藉由利用經垂直堆疊的記憶體單元142之間的位元線,可減少控制互連的總體數目,其提供經更密集封裝的記憶體陣列140。
圖3A至圖3C分別表達能夠用於記憶體陣列140中之實例非揮發性電阻元件的線圖。圖3A表示一相變類型電阻元件160,其佔據具有一硫屬玻璃材料164之一電阻區域162,該硫屬玻璃材料與電流起反應以在一非晶166低電阻率狀態與一結晶高電阻率狀態之間變遷。多晶狀態與非晶狀態之間的切換能夠可靠而有效率地循環。然而,對於相變電阻元件160而言,寫入/切換電流可相對較高。
圖3B表示一長絲類型電阻元件170,其中電阻區域162包含具有一高電阻率的一材料,直到藉由一寫入電流流過區域162而誘發一或多個導電長絲172。長絲的形成可係簡單而有效率的,但預期(多個)長絲可變得根深於介電材料174中,並減少高電阻率狀態與低電阻率狀態之間的差距。
在一些資料儲存配置,但不一定是所有的記憶體陣列中,在相變160及長絲170類型的元件中形成導電路徑可係有效率的。因此,一電阻元件可經由相對磁性定向來產生不同的電阻狀態。圖3C的磁性類型電阻元件180顯示一介電間隔物層182係如何設置在一磁性自由層184與一磁性參考層186之間。參考層186經設定為一固定磁化強度188,而自由層184可經設定為多個不同的磁性定向190,其等相對於固定磁化強度188為元件180提供不同的電阻狀 態。預期電阻元件180可具有額外的自旋極化層(諸如在一自旋扭矩配置中),其作用以使自由磁化強度188的切換更有效率。
在一記憶體陣列中利用不同類型的電阻元件的能力允許一資料儲存裝置定制一資料儲存裝置的操作及資料儲存能力。作為一非限制性實例,一記憶體陣列可在不同晶粒中使用不同類型的電阻元件,其可提供操作狀態及資料儲存參數之可選擇的多樣性。不管一記憶體陣列中之電阻元件的類型或多樣性為何,一記憶體單元可苦於非對稱存取,其中完成一寫入操作所耗費的時間量不同於一讀取操作。也就是,用於選擇層144之一分開的選擇組件(諸如一電晶體或二極體)的置換可導致非對稱存取。此類非對稱存取在資料儲存裝置中可係有問題的,其中大量的資料寫入及讀取可在不關注或評估一先前的讀取或寫入操作是否已完成的情況下實施。
對使用相變類型電阻元件160的記憶體陣列而言,須注意一寫入存取可比一讀取耗費更多時間完成(例如,針對一讀取係7微秒的潛時,而針對一寫入則係10+微秒的潛時)。預期讀取/寫入非對稱性甚至可更大(例如,與一讀取操作相比,欲完成一寫入操作要耗費雙倍或甚至多出一個數量級的時間)。此等問題已引發有趣的資料管理情況,該等情況在揮發性記憶體、HDD儲存、或NAND快閃記憶體中並未解決。
圖4描繪根據各種實施例之與使用非對稱記憶體單元之一記憶體陣列相關聯之電壓對時間的實例運算資料。一記憶體陣列之記憶體單元的構造對應於一不同的讀取(VREAD)臨限電壓及寫入(VWRITE) 臨限電壓,以分別存取或修改一記憶體單元的電阻狀態及相關聯的二進位狀態。
在一第一電壓202係由一或多個低於讀取臨限電壓及寫入臨限電壓的記憶體單元接收的情況下,則各記憶體單元的選擇層將預防電壓通過單元,其預防無意的電阻變化劣化資料存取操作。當電壓204/206大於讀取臨限電壓時,一記憶體單元的選擇層允許電壓通過單元。對不夠大以改變電阻元件之電阻狀態的電壓204而言,現行的電阻狀態將通過經正交定向的位元線及字線經由信號讀取。
寫入電壓206通過記憶體單元的通道將改變電阻元件的電阻狀態。然而,在寫入電壓通過電阻元件後存在一安定時間208,以用於將記憶體單元設定為可以一讀取電壓210存取的一電阻狀態。安定時間208直接對一記憶體單元的讀取/寫入非對稱性負責,如圖4所繪示。因此,可藉由寫入非對稱性來使與記憶體陣列140相關聯之相對較高的資料容量及快速讀取潛時下降,其要求資料儲存裝置在寫入單元的每一種情況下針對各記憶體單元監控及考慮相對較長的安定時間。
因此,各類實施例係關於最佳化使用苦於非對稱讀取/寫入操作之圖2的非揮發性、可以位元定址、可原地重寫之記憶體的結構及方法。圖5A及圖5B分別表達至具有圖2之記憶體陣列的資料儲存裝置220之實例寫入操作及讀取操作的方塊圖。一寫入操作係顯示在圖5A中,並始於流向一晶圓晶片222上之一SRAM緩衝器110及/或經定位於晶片外222之一DRAM緩衝器112的一寫入請求的資 料。接著依執行韌體、軟體、或硬體操作之一本地控制器所引導而循序壓縮224及加密226寫入資料。
經壓縮及加密的寫入資料係在一寫入快取228中編譯為可由多個資料頁面及/或磁區組成的記憶體元件(MU)230。須注意對比於可以頁面存取的快閃記憶體,對可原地重寫之非揮發性記憶體而言,由於可存取個別位元而不需要對MU 230進行編譯。不管是否將寫入資料組織成映射元件230,寫入快取228可暫時地儲存寫入資料,直到將資料寫入非揮發性記憶體(NV記憶體)232,其中記憶體232的至少一部分具有圖2的非對稱記憶體單元142。
在將資料寫入非揮發性記憶體232之非對稱單元的情況下,一讀取操作無法可靠地自非揮發性記憶體232存取資料,直到安定時間208過後。因此,在一些實施例中,一讀取操作涉及一資料儲存裝置的一選擇模組234,以自寫入快取228或非揮發性記憶體232擷取資料,如圖5B所示。須注意寫入快取228係與非揮發性記憶體232不同類型之一記憶體(諸如DRAM或NAND快閃),且在發送至一主機之前,一讀取操作將涉及解密及解壓縮。因此,選擇模組234以智慧方式管理多個不同類型的記憶體,以在不遭受歸因於單元142的安定時間之延長的寫入潛時的情況下利用圖2的非揮發性記憶體單元142的快速讀取速度。
雖然非限制性或必需的,選擇模組234仍可實施各種智慧評估,以最佳化對來自一或多個主機之資料存取的滿意度。圖6係使用圖2的記憶體陣列140之一實例資料儲存裝置240的一部分的方 塊圖。選擇模組234對至少一計時器242、活動日誌244、感測器246、及預測電路248具有存取權,以評估欲服務之一寫入請求或讀取請求的最佳目的地及狀態。
在接收來自一主機之一寫入請求或讀取請求之後的任何時間,選擇模組234可評定單一資料儲存裝置以及總體資料儲存系統的當前狀態。儘管選擇模組234可同時及/或循序地評估任何類型及數目的輸入,但一些實施例特定地接收一寫入佇列中之待決寫入的狀態,其可係與待決寫入請求相關聯之資料的量、大小、及緩衝特性。選擇模組234可進一步接收系統性能量度(諸如功率消耗、平均資料存取潛時、及位元誤差率)。
待決寫入的標定寫入位置連同資料版本提供關於至選擇模組234之待決資料寫入的傳記資訊。可對任何數目及類型的環境狀態進行輪詢及/或以感測器246偵測,以識別任何潛在的不利資料存取情況。例如,與接收自一遠端主機的一輪詢環境溫度相比,溫度感測器246可用以驗證一資料儲存裝置內部的溫度。亦可輪詢及/或感測其他環境狀態(諸如溼度、振動、及氣流),以提供資料儲存裝置及系統之更全面的狀態。
選擇模組234可記錄與服務資料存取請求相關聯的執行及系統狀態。收集關於先前服務的資料存取請求的資訊允許選擇模組234以更智慧的方式對系統狀態作出反應,並主動發起行動以最佳化對未來資料存取請求的服務。也就是,選擇模組234可採用當前的裝置/系統狀態連同來自日誌244的資料,以智慧方式識別可最佳化待決 讀取請求及寫入請求之服務的反應性及主動行動。結果,選擇模組234可反應性且主動地在揮發性緩衝器及非揮發性記憶體之間移動資料、變更寫入位置、及改變讀取位置。
評估及判定資料儲存裝置及系統的操作狀態以便以智慧方式執行行動以服務待決資料存取請求的能力允許資料儲存裝置盡可能快速地對不斷變化的狀態及服務請求作出調適。就非對稱可原地重寫之記憶體而言,選擇模組234可在安定時間內針對資料的一讀取請求存在較低風險時以智慧方式寫入非揮發性記憶體、在一緩衝/快取記憶體中保存資料以服務讀取請求、以及將資料移動至不同的緩衝/快取位置以提供最低的讀取潛時。
在選擇模組234反應性且主動地實施行動以最佳化對未決資料請求之服務的情況下,有效資料的當前位置在無強健映射方案的情況下可係難以分辨的。然而,邏輯區塊位址(LBA)至實體區塊位址(PBA)以及LBA至LBA的映射在處理及資料容量方面可係昂貴的,在晶片上SRAM緩衝器中特別是如此。映射可由於資料在兩個不同位置中的冗餘保存而進一步複雜化,以便在安定時間期間服務針對資料的讀取請求。因此,一些實施例利用選擇模組234來針對LBA至PBA及LBA至LBA映射操作來標定儲存位置及處理時間。
圖7繪示可在使用圖2的記憶體陣列140之一資料儲存裝置中實施之一實例映射方案250的方塊圖。多個不同類型的記憶體在一資料儲存裝置中的存在允許選擇模組234產生多個不同的資料映射以最佳化各別類型之記憶體的能力及當前狀態。
在圖7所示的非限制性實例中,選擇模組234可在第一類型的記憶體254(諸如揮發性DRAM、SRAM、或非揮發性快閃記憶體)中創建第一級映射252。在一些實施例中,第一級映射252包含至少一LBA至PBA啟動映射,其含有指向12個條目之顆粒的條目。第一級映射252大致上可將一控制器引導至第二級映射256的邏輯或實體位置,其中LBA至PBA平移以大於第一級映射252的解析度內含於其中。也就是,第二級映射256可包含指向佔有一由主機提供之資料磁區的第一顆粒的本地條目。由於第一級映射252及第二級映射256,可以有效率的方式處理資料讀取、寫入、及更新。
選擇模組234可在含有關於影子資料之臨時位置的資訊之第一類型的記憶體254中創建分開的影子映射258。應理解影子資料係短時間冗餘儲存的資料,直到資料永久地常駐在非揮發性記憶體中為止。影子映射258可係簡單或複雜的,其中一或多個版本的資料係經識別。例如,可藉由影子258、第一級252、及第二級256來追蹤資料的後繼版本,以確保最新版本的資料藉由針對資料之一讀取請求所擷取。須注意影子映射258及級映射252/256可藉由一共用或相異的控制器來並行地寫入、讀取、及更新。
由影子映射258及級映射252/256所追蹤的資料最終係寫入主資料儲存260,該主資料儲存係一可以位元定址的可原地重寫之記憶體262。如所示,主資料儲存260及第二級映射256係各自儲存在非揮發性可原地重寫之記憶體262中。然而,此類組態不是必需的或限制性的,因為任何數目及類型的記憶體均可用於各別映射 252/256/258。例如,第一級映射252可儲存在串列NOR快閃中、影子映射258經儲存在叢集SRAM中、且第二級映射256經儲存在DDR DRAM中。使用至少兩個不同類型的記憶體254/262允許選擇模組234以智慧方式在記憶體中產生及維持各種映射252/256/258,其等最有效率地容許對資料讀取請求及寫入請求的服務。
預期選擇模組234可變更各類映射252/256/258的大小、目的、及記憶體位置,以適應變化的系統及裝置狀態。選擇模組234可經由虛擬化而進一步變更記憶體及/或映射。也就是,儘管位於共用的記憶體254/256中,選擇模組234可創建在軟體/韌體中獨立操作的虛擬機。此類虛擬化能力允許選擇模組234對所偵測及/或預測的系統及裝置狀態即時作出調適以最佳化資料讀取潛時及寫入潛時。
圖8繪示根據各種實施例之使用記憶體虛擬化之一實例資料儲存裝置270的一部分的方塊圖。一或多個不同的寫入快取272可饋送至非揮發性記憶體274中,該非揮發性記憶體包含可以位元定址的可原地重寫之記憶體(諸如陣列140)。雖然資料儲存裝置270可由多個分開的非揮發性記憶體274組成,但一些實施例含有在邏輯上分開成不同記憶體層的單一非揮發性記憶體274,其可特徵化為虛擬化儲存。
記憶體274可經虛擬化成任何數目的層,其等係藉由至少一級映射252/256且潛在地由影子映射258來映射。儘管非必需或限制性的,圖8所示的虛擬化儲存方案本質上係階層式的,並具有分派給一第一PBA範圍的第一層276、分派給一第二PBA範圍的第二 層278、分派給一第三PBA範圍的第三層280、及分派給一第四PBA範圍的第四層282。各別層276/278/280/282的非重疊範圍可替代地分派給LBA。
如由實線箭頭所示,資料可依一選擇模組及/或本地控制器所引導而在任何虛擬化層之間流動。例如,資料可取決於更新活動的量而連續地移動穿過各別層276/278/280/282,其導致最少存取的資料常駐在第四層282中,而最頻繁更新的資料則常駐在第一層276中。另一非限制性實例涉及在將資料移動至其他層(可能是非連續的層)之前起始地將資料放置在第一層276中,以容許更有效率的儲存及擷取(例如基於資料大小、安全性、及/或主機來源)。
可了解到非揮發性記憶體274的可原地重寫之記憶體容許各別層276/278/280/282的可適性虛擬化。也就是,將資料寫入一特定位元、位元組、及磁區而無需儲存一共用頁面之未經選擇的資料的能力允許虛擬化層基於由選擇模組234所判定的系統及裝置需求而具有開展的大小、經分派的內容、及存在。因此,圖8的虛擬化方案可隨時間藉由選擇模組234以任何方式變更,以針對資料儲存系統及裝置之即時狀態最佳化資料儲存。
非揮發性記憶體274之部分的虛擬化係藉由選擇模組234的能力來補足,以採取主動行動來滿足預報的資料儲存活動及/或操作事件。圖9描繪使用選擇模組234之一實例資料儲存裝置290的一部分的方塊圖,該選擇模組具有根據各種實施例進行操作的預測電路248。預測電路248可偵測及/或輪詢關於當前及過去的資料儲存操 作以及此類操作期間之環境狀態之各種不同的資訊。須注意預測電路248可利用選擇模組234的一或多個即時感測器246,以偵測一或多個不同的環境狀態(諸如裝置操作溫度、環境溫度、及功率消耗)。
如圖9所示,隨著一或多個參數的並行及/或循序輸入,預測電路248可依選擇模組234所引導而預報可經適應之未來事件的發生。例如,選擇模組234可修改資料(諸如資料大小、位置、及安全性)以適應一預測事件。在另一非限制性情況下,選擇模組234可將影子資料的冗餘寫入引導至除了非揮發性記憶體以外的一或多個位置,其可在非揮發性記憶體處於其安定時間內的同時提供有效率的資料讀取。
儘管並非詳盡無遺,但預測電路248可接收關於一寫入佇列的當前狀態的資訊(諸如佇列中之各別待決寫入請求的量及大小)。預測電路248亦可輪詢或判定任何數目的系統/裝置性能度量(如寫入潛時、讀取潛時、及誤差率)。待決或經寫入的資料的版本可藉由預測電路248來評估以確立資料多頻繁被更新。預測電路248可利用待決的及先前完成的資料寫入之經分派的寫入位置以在非揮發性記憶體中執行磨損調平操作。
一或多個環境狀態可藉由預測電路248來即時感測及/或輪詢,以判定可能指示未來資料儲存活動的趨勢及情況。在一或多個影子緩衝器(諸如SRAM或NOR快閃)中的空間可用性可向預測電路248識別(多個)緩衝器的性能連同指示系統處理未來的待決寫入請求的容量。預測電路248可使用一或多個演算法292及先前資料 儲存活動的至少一日誌294,以預報可最佳化讀取請求及寫入請求之服務的事件及適應行動。
預期日誌294由先前所記錄的及外部建模的事件、行動、及系統狀態兩者組成。所記錄的資訊在選擇模組234判定預測事件的準確性及主動採取行動的效力中可係有用的。此類自我評定可用以更新(多個)演算法292以改善預測事件的準確性。藉由判定先前預測事件的準確性,預測模組248可評定一預測行動將發生的風險及/或適應行動將最佳化系統性能的概率。此類能力容許預測模組248就由選擇模組234所確立的臨限操作,以忽略不太可能提高系統性能的預測事件及主動行動,例如一有95%的信心一事件將發生或有90%的概率一主動行動將提高系統性能。
在有忽略小於預期的預測事件及主動行動之能力的情況下,選擇模組234可(例如使用不同的演算法292及/或日誌294)並行及循序地產生眾多不同的情境。作為一非限制性實例,可基於單獨的建模日誌、單獨的即時系統狀態、及建模與即時資訊的一組合而以預測事件及對應的校正行動派給預測電路248任務。因此,預測電路248及選擇模組234可評定系統狀態以產生反應性及主動行動,該等行動具有高概率能改善當前及未來的至一資料儲存裝置之資料存取請求的服務。
圖10A至圖10D分別表達得自選擇模組234隨時間的智慧操作之實例操作方案。圖10A顯示方案300,其中一待決寫入請求302係並行地寫入步驟304中之非揮發性記憶體及步驟306中之至 少一寫入緩衝器。步驟308中之一實際或預測事件可觸發選擇模組234在步驟310中自緩衝器讀取資料,直到一計時器在步驟312中到期。換言之,資料的冗餘寫入容許在非揮發性記憶體處於其安定時間的同時於步驟310中自緩衝器讀取資料,且隨後在步驟314中自非揮發性記憶體讀取資料。
在方案300中,步驟308的事件可比平均安定時間長,或許係歸因於裝置溫度或在非揮發性記憶體的安定時間期間要求讀取資料的其他操作狀態。例如,寫入一多階非揮發性記憶體單元或預測一主機將在步驟308中請求最近寫入之資料的可能性可提示選擇模組234自一臨時緩衝器引導資料擷取。預期步驟312的計時器可用於非揮發性記憶體的安定時間或用於由選擇模組234所判定之一標定延遲時間,以相較於延遲不存在的情況,而更有效率地服務資料存取請求。
圖10B表示實例方案320,其中步驟302的寫入請求及資料至非揮發性記憶體及緩衝器兩者的寫入係與方案300相同。然而,無實際或預測事件發生,且替代地將資料寫入步驟322中的一快閃記憶體,隨後在步驟324中自記憶體讀取,直到步驟312中的計時器到期,接著在步驟314中自非揮發性記憶體讀取資料。步驟322及324中之快閃記憶體的利用可部分地或完全地清空寫入緩衝器,其可允許以更快的寫入緩衝器服務其他待決的系統活動。
圖10C的方案330顯示在接收至一資料儲存裝置之一待決寫入請求之後,步驟332中的一實際或預測事件可發生的方式。 事件可觸發選擇模組234放棄將資料寫入非揮發性記憶體,且替代地僅寫入步驟306中的寫入緩衝器,並在步驟304將資料寫入非揮發性記憶體的同時在步驟310中自緩衝器讀取。藉由首先將資料寫入緩衝器,接著再寫入非揮發性記憶體,可例如在高速資料讀取存取時間期間更有效率地使用系統資源。在非揮發性記憶體的安定時間結束時,如步驟312中之計時器到期所表示的,在步驟314中自非揮發性記憶體讀取資料。
一些實施例預測至資料儲存裝置/系統之非排定的功率損耗或減少,其觸發選擇模組將所有資料自一揮發性緩衝器發送至非揮發性記憶體。其他實施例藉由將所有資料發送至可原地重寫之非揮發性記憶體來回應一排定的功率減少(諸如裝置/系統的關機)。由於不需要在關機期間將非揮發性記憶體的安定時間列入考慮,選擇模組可在無損的情況下將大量資料傾印(dump)至非揮發性記憶體。
藉由將一或多個啟動映射儲存至非揮發性記憶體,在一排定的關機期間可以智慧方式使用可原地重寫之記憶體之相對較快速的讀取時間。須注意選擇模組234可基於當前及最近的系統活動產生一新的啟動映射以提供一幾乎立即開啟的啟動程序,其中啟動映射完全自非揮發性記憶體加載,且後續將啟動映射移動至在其中更有效率地實行更新的其他記憶體。藉由發送現行或新近產生的啟動資料(諸如安全性資訊、級映射、及韌體),一資料儲存裝置/系統可準備就緒以在供電初始化時間的不到1秒內接收新的資料存取請求。
轉向圖10D,方案340藉由並行且冗餘地寫入步驟304中的非揮發性記憶體及步驟306中的一緩衝器來處理來自步驟302的寫入請求。在至非揮發性記憶體的寫入安定的同時,步驟310服務來自緩衝器的任何讀取,直到選擇模組234的計時器在步驟312中到期。步驟342中之一預測或遭遇事件觸發選擇模組234以繼續服務來自緩衝器而非來自非揮發性記憶體的資料讀取請求,雖然至非揮發性記憶體的資料寫入已安定。步驟342中的事件不受限制,但可係可抑制或降低自非揮發性記憶體之資料讀取的任何操作狀態(諸如誤差)、高裝置/系統處理活動、或通道可用性。
通過圖10A至圖10D的實例方案,可理解選擇模組234可採取各種行動來調適一預測及/或實際事件以最佳化對資料存取請求的服務。此類智慧調適允許選擇模組不論資料存取量為何而維持高資料存取帶寬及低資料存取潛時。智慧調適進一步允許選擇模組變更資料儲存位置、映射方案、及影子資料的寫入,以適應資料優先權及安全性的變化,其可更快地將高度重要的資料發送至非揮發性記憶體。
圖11係可由圖1至圖10D之各類實施例實行的一實例原地記憶體利用常式350的流程圖。可在步驟352中啟動一或多個資料儲存裝置,其中各資料儲存裝置由一選擇模組、緩衝記憶體、及一可原地重寫之非揮發性記憶體組成。資料儲存裝置可在一資料儲存系統中作為一分散式網路的部分持續運行任何時間量。當至少一資料儲存裝置在步驟354中接收來自一主機的一或多個資料寫入請求時,選 擇模組可在步驟356中將與待決資料請求相關聯的資料寫入至少一緩衝記憶體及非揮發性記憶體。
步驟356中的寫入資料的程式化可並行或循序地完成至緩衝器及非揮發性記憶體。然而,當將資料寫入非揮發性記憶體時,選擇模組開始一計時器以判定記憶體單元將在何時完成安定並可用於服務一讀取請求。在一些實施例中,步驟356涉及例如回應於資料目的地之實體位置的高裝置溫度及/或活動而預測與一預先存在的預設安定時間不同的一安定時間。
在步驟356中,在將資料寫入非揮發性記憶體期間及之後的任何時間,決策358可使用選擇模組指派用於該資料的讀取請求。也就是,若選擇模組在非揮發性記憶體處於其安定時間的同時接收一讀取請求,則步驟360繼續以服務來自儲存在緩衝器中之資料的讀取請求。在步驟360所服務的任何讀取請求結束時或者若無接收自決策358的讀取請求之事件中,則決策362繼續以評估選擇模組計時器是否已到期。
過期的選擇模組計時器允許步驟364服務來自非揮發性記憶體之一讀取請求,而一作用中的計時器繼續返回至緩衝器位置在其中用於任何讀取請求的步驟360。須注意步驟及決策354至364以任何次數循環再訪,以處理資料讀取請求及寫入請求。在步驟354中寫入資料之後的任何時間,步驟366可在非揮發性記憶體內於實際層或虛擬化層之間移動資料。然而,此類資料傳輸並非必需。隨後在步驟368中映射最終的非揮發性記憶體位置,以將任何讀取操作引導至 儲存在非揮發性記憶體中之最新版本的資料。須注意步驟368中的資料映射可對應於來自各緩衝器及來自將資料存取引導至緩衝器的影子映射之資料的移除或排定移除。
通過本揭露的各種實施例,可利用一非揮發性可原地重寫之記憶體來最佳化對資料存取請求的服務。然而,歸因於與可原地重寫之記憶體相關聯的非對稱寫入時間,一選擇模組以智慧方式評估當前及經記錄的系統活動以允許服務針對在非揮發性記憶體中安定下來之資料的讀取請求。選擇模組容許採取反應性及主動行動,以回應於實際事件及預報事件而維持並最佳化系統性能。結果,資料儲存系統可享有較少的資料讀取潛時、減小的啟動時間、以及對變化的系統狀態作出調適的複雜虛擬化方案。
Claims (20)
- 一種設備,其包含一資料儲存裝置,該資料儲存裝置由經連接至一選擇模組之一非揮發性記憶體組成,該非揮發性記憶體包含一可原地重寫之記憶體單元,該可原地重寫之記憶體單元具有一讀取-寫入非對稱性,該選擇模組將該非揮發性記憶體之一部分專用於一資料映射。
- 如請求項1之設備,其中該可原地重寫之記憶體單元係可以位元定址且包含接觸一電阻元件之一選擇層。
- 如請求項2之設備,其中該電阻元件接觸一位元線,且該選擇層接觸一字線,該位元線經定向為正交於該字線。
- 如請求項1之設備,其中該資料映射係留駐於少於該非揮發性記憶體之所有者上。
- 如請求項1之設備,其中該資料映射包含儲存在該非揮發性記憶體中之資料之邏輯區塊位址(LBA)至實體區塊位址(PBA)之平移。
- 如請求項1之設備,其中該非揮發性記憶體具有一微秒或更少之一讀取潛時。
- 如請求項1之設備,其中該非揮發性記憶體包含垂直堆疊之多個晶粒,各晶粒包含複數個可原地重寫之記憶體單元。
- 如請求項1之設備,其中在一資料寫入之後,該可原地重寫之記憶體之該讀取-寫入非對稱性對應於一安定時間。
- 一種方法,其包含: 啟動一資料儲存裝置,該資料儲存裝置由經連接至一選擇模組之一非揮發性記憶體組成,該非揮發性記憶體包含一可原地重寫之記憶體單元,該可原地重寫之記憶體單元具有一讀取-寫入非對稱性;及以該選擇模組將該非揮發性記憶體之一部分專用於一資料映射。
- 如請求項9之方法,其中該資料映射係藉由該選擇模組原地更新。
- 如請求項9之方法,其中該選擇模組服務對資料之一讀取請求,該資料係藉由自該資料儲存裝置之一緩衝記憶體載入一影子副本來在該可原地重寫之記憶體單元之一安定時間內寫入。
- 如請求項9之方法,其中該資料映射係自含在該非揮發性記憶體內。
- 如請求項9之方法,其中該資料映射代表儲存在該非揮發性記憶體中之資料。
- 如請求項9之方法,其中該選擇模組維持一影子映射在該資料儲存裝置之一緩衝記憶體中,該緩衝記憶體係單獨且不同於該非揮發性記憶體。
- 一種方法,其包含:啟動一資料儲存裝置,該資料儲存裝置由經連接至一選擇模組之一非揮發性記憶體組成,該非揮發性記憶體包含一可原地重寫之記憶體單元,該可原地重寫之記憶體單元具有一讀取-寫入非對稱性;以該選擇模組將該非揮發性記憶體之一部分專用於一資料映射; 以該選擇模組預測一事件;及變更該資料映射以對經預測之該事件調適及維持該資料儲存裝置之一性能量度。
- 如請求項15之方法,其中該選擇模組更新該資料映射以對經預測之該事件調適。
- 如請求項15之方法,其中經預測之該事件係環境條件之一變化。
- 如請求項15之方法,其中該性能量度係資料讀取潛時。
- 如請求項18之方法,其中該選擇模組藉由將該資料映射之一部分複製至一揮發性緩衝記憶體來變更該資料映射。
- 如請求項18之方法,其中該選擇模組藉由創建包含一第一級映射及第二級映射之一映射階層來變更該資料映射,該第一級映射經儲存在與該第二級映射不同之一記憶體中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/607,784 US10147501B1 (en) | 2017-05-30 | 2017-05-30 | Data storage device with rewriteable in-place memory |
US15/607,784 | 2017-05-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201909184A true TW201909184A (zh) | 2019-03-01 |
Family
ID=64451761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107118379A TW201909184A (zh) | 2017-05-30 | 2018-05-30 | 具有可原地重寫之記憶體的資料儲存裝置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10147501B1 (zh) |
JP (1) | JP2018206379A (zh) |
KR (1) | KR102138767B1 (zh) |
CN (1) | CN108986863A (zh) |
TW (1) | TW201909184A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10831657B2 (en) * | 2017-09-21 | 2020-11-10 | Western Digital Technologies, Inc. | Debug data recovery after PLI event |
US11126362B2 (en) * | 2018-03-14 | 2021-09-21 | International Business Machines Corporation | Migrating storage data |
Family Cites Families (29)
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 |
US6424556B1 (en) * | 2000-12-28 | 2002-07-23 | Virage Logic Corp. | System and method for increasing performance in a compilable read-only memory (ROM) |
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 |
EP1835508B1 (en) * | 2006-03-16 | 2012-01-18 | Samsung Electronics Co., Ltd. | Pram and associated operation method and system |
US7774556B2 (en) * | 2006-11-04 | 2010-08-10 | Virident Systems Inc. | Asymmetric memory migration in hybrid main memory |
KR101437397B1 (ko) * | 2007-10-31 | 2014-09-05 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 관리 방법 및 맵핑 테이블업데이트 방법 |
KR20090109345A (ko) * | 2008-04-15 | 2009-10-20 | 삼성전자주식회사 | 저항체를 이용한 비휘발성 메모리 장치, 이를 포함하는메모리 시스템 |
US8225031B2 (en) | 2008-10-30 | 2012-07-17 | Hewlett-Packard Development Company, L.P. | Memory module including environmental optimization |
US8250282B2 (en) * | 2009-05-14 | 2012-08-21 | Micron Technology, Inc. | PCM memories for storage bus interfaces |
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 |
WO2012129191A2 (en) * | 2011-03-18 | 2012-09-27 | Fusion-Io, Inc. | Logical interfaces for contextual storage |
JP2012203936A (ja) | 2011-03-24 | 2012-10-22 | Toshiba Corp | 半導体記憶装置 |
KR101915073B1 (ko) | 2011-12-20 | 2018-11-06 | 인텔 코포레이션 | 2-레벨 메모리 계층구조에서 메모리측 캐쉬의 동적인 부분적 전원 차단 |
US9274937B2 (en) * | 2011-12-22 | 2016-03-01 | Longitude Enterprise Flash S.A.R.L. | Systems, methods, and interfaces for vector input/output operations |
US9043530B1 (en) * | 2012-04-09 | 2015-05-26 | Netapp, Inc. | Data storage within hybrid storage aggregate |
US9245926B2 (en) | 2012-05-07 | 2016-01-26 | Micron Technology, Inc. | Apparatuses and methods including memory access in cross point memory |
US8675423B2 (en) | 2012-05-07 | 2014-03-18 | Micron Technology, Inc. | Apparatuses and methods including supply current in memory |
US9076530B2 (en) * | 2013-02-07 | 2015-07-07 | Seagate Technology Llc | Non-volatile write buffer data retention pending scheduled verification |
US9135164B2 (en) * | 2013-03-15 | 2015-09-15 | Virident Systems Inc. | Synchronous mirroring in non-volatile memory systems |
CN104216837A (zh) * | 2013-05-31 | 2014-12-17 | 华为技术有限公司 | 一种内存系统、内存访问请求的处理方法和计算机系统 |
US9530490B2 (en) * | 2014-10-27 | 2016-12-27 | Sandisk Technologies Llc | Compaction process for a data storage device |
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 |
US9940039B2 (en) * | 2015-05-21 | 2018-04-10 | Western Digital Technologies, Inc. | Method and data storage device with enhanced data retention |
US9601193B1 (en) | 2015-09-14 | 2017-03-21 | Intel Corporation | Cross point memory control |
US20170097771A1 (en) * | 2015-10-01 | 2017-04-06 | Netapp, Inc. | Transaction log layout for efficient reclamation and recovery |
-
2017
- 2017-05-30 US US15/607,784 patent/US10147501B1/en active Active
-
2018
- 2018-05-29 JP JP2018102258A patent/JP2018206379A/ja active Pending
- 2018-05-30 KR KR1020180061885A patent/KR102138767B1/ko active IP Right Grant
- 2018-05-30 TW TW107118379A patent/TW201909184A/zh unknown
- 2018-05-30 CN CN201810539340.XA patent/CN108986863A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20180131469A (ko) | 2018-12-10 |
US10147501B1 (en) | 2018-12-04 |
CN108986863A (zh) | 2018-12-11 |
KR102138767B1 (ko) | 2020-07-28 |
US20180350447A1 (en) | 2018-12-06 |
JP2018206379A (ja) | 2018-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI673722B (zh) | 具有可原地重寫之記憶體的資料儲存裝置 | |
KR102533072B1 (ko) | 블록의 상태에 따라 사용 여부를 결정하는 메모리 시스템 및 메모리 시스템의 동작 방법 | |
US20170351452A1 (en) | Dynamic host memory buffer allocation | |
US20200409589A1 (en) | Zone Formation for Zoned Namespaces | |
US10459635B2 (en) | Window based mapping | |
US11449431B2 (en) | Data storage device with rewritable in-place memory | |
CN114730282A (zh) | Zns奇偶校验交换到dram | |
KR20230142795A (ko) | Zns 디바이스들에서의 상이한 기입 우선순위화 | |
CN114730250A (zh) | 根据存储设备中的分区对读取命令加权 | |
US20100030947A1 (en) | High-speed solid state storage system | |
EP4053704B1 (en) | Storage controller redirecting write operation and operating method thereof | |
TW201909184A (zh) | 具有可原地重寫之記憶體的資料儲存裝置 | |
US20230061979A1 (en) | Solution For Super Device Imbalance In ZNS SSD | |
US20220261160A1 (en) | Wear Leveling Methods For Zoned Namespace Solid State Drive | |
KR101070511B1 (ko) | Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법 | |
TWI684861B (zh) | 用於資料儲存的設備及方法 | |
WO2023101719A1 (en) | Full die recovery in zns ssd | |
CN114730605A (zh) | 用于存储设备的加权读取命令和开放块定时器 | |
US20180349036A1 (en) | Data Storage Map with Custom Map Attribute | |
US11899590B2 (en) | Intelligent cache with read destructive memory cells | |
KR20160006989A (ko) | 데이터 저장 장치 및 그것을 포함하는 데이터 처리 시스템 |