TW201606780A - 用於非揮發性儲存器之低測試記憶體堆疊 - Google Patents
用於非揮發性儲存器之低測試記憶體堆疊 Download PDFInfo
- Publication number
- TW201606780A TW201606780A TW104119308A TW104119308A TW201606780A TW 201606780 A TW201606780 A TW 201606780A TW 104119308 A TW104119308 A TW 104119308A TW 104119308 A TW104119308 A TW 104119308A TW 201606780 A TW201606780 A TW 201606780A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- volatile memory
- module
- dies
- nvm
- Prior art date
Links
Classifications
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- 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/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- 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/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
- G11C29/765—Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
-
- 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
-
- 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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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/7209—Validity control, e.g. using flags, time stamps or sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本文中描述之各項實施例包含用於封裝非揮發性記憶體之系統、方法及/或裝置。在一態樣中,該方法包含根據對應於一組非揮發性記憶體晶粒之預定義準則及預定義統計晶粒效能資訊,自該組非揮發性記憶體晶粒選擇預定義晶粒級及子晶粒級測試已被推遲直至封裝之後為止的複數個非揮發性記憶體晶粒。該方法進一步包含將該選定的複數個非揮發性記憶體晶粒封裝至一記憶體裝置中。在該封裝之後,該方法進一步包含對該記憶體裝置中之該複數個非揮發性記憶體晶粒執行一組測試,以識別該記憶體裝置中之該非揮發性記憶體晶粒內滿足預定義有效性準則之各自記憶體單元,其中已執行之該組測試包含該等推遲的預定義晶粒級及子晶粒級測試。
Description
所揭示實施例大體上係關於記憶體系統,且特定言之係關於用於非揮發性儲存器之低測試記憶體堆疊,且亦係關於一記憶體裝置中之實體至實體位址再映射。
包含快閃記憶體之半導體記憶體裝置通常利用記憶體胞以儲存資料作為一電值,諸如一電荷或電壓。一快閃記憶體胞例如包含一單一電晶體,該電晶體具有用於儲存表示一資料值之一電荷之一浮動閘極。快閃記憶體係可經電抹除及再程式化之一非揮發性資料記憶體裝置。更一般地,與需要電力來維持儲存資訊之揮發性記憶體相比,非揮發性記憶體(例如,快閃記憶體以及使用多種技術之任一技術實施之其他類型的非揮發性記憶體)即使未被供電亦留存儲存資訊。
習知製造工作流程利用大量測試以生產高品質記憶體裝置及/或記憶體組件(例如,記憶體裝置之組件)。此測試通常表示生產成本之一大部分。此外,即使在一記憶體裝置到達消費者之前,大量測試亦可使該記憶體裝置產生大量損耗。例如,快閃記憶體裝置通常具有被表達為在快閃記憶體變得不可靠之前可執行之程式化/抹除(P/E)循環之次數之一可行壽命。習知製造工作流程中執行之某些測試需要對快閃記憶體執行極多次P/E循環,藉此減短其可為消費者所用的剩餘壽命。
隨附申請專利範圍之範疇內之系統、方法及裝置之各個實施方案各自具有若干態樣,該若干態樣之單一者不單獨作為本文中描述之屬性。在不限制隨附申請專利範圍之範疇的情況下,在考慮本揭示內容之後且尤其在考慮標題為「實施方式」之章節之後,吾人將瞭解各個實施方案之態樣如何用於基於一非揮發性記憶體模組內之記憶體單元之特性再映射該非揮發性記憶體模組中之實體位址。在各個實施方案中,非揮發性記憶體模組係一儲存系統中之一組件及/或在一儲存控制器外部且與該儲存控制器耦合。
在一態樣中,選擇複數個非揮發性記憶體晶粒且在執行某些晶粒級及子晶粒級測試之前將其封裝至一記憶體裝置中。在封裝之後,對記憶體裝置中之複數個非揮發性記憶體晶粒執行一組測試,以識別記憶體裝置中之非揮發性記憶體晶粒內滿足預定義有效性準則之各自記憶體單元。因此,緩解非揮發性記憶體裝置之測試及封裝的成本,如下文更詳細地解釋。
100‧‧‧資料儲存系統
101‧‧‧資料連接
102‧‧‧非揮發性記憶體(NVM)模組
102'‧‧‧非揮發性記憶體(NVM)模組
102-1‧‧‧非揮發性記憶體(NVM)模組
102-2‧‧‧非揮發性記憶體(NVM)模組
102-j‧‧‧非揮發性記憶體(NVM)模組
102-m‧‧‧非揮發性記憶體(NVM)模組
104‧‧‧非揮發性記憶體(NVM)模組控制器
104'‧‧‧非揮發性記憶體(NVM)模組控制器
104-1‧‧‧非揮發性記憶體(NVM)模組控制器
104-2‧‧‧非揮發性記憶體(NVM)模組控制器
104-j‧‧‧非揮發性記憶體(NVM)模組控制器
104-m‧‧‧非揮發性記憶體(NVM)模組控制器
106-1‧‧‧記憶體通道
106-k‧‧‧記憶體通道
108-1‧‧‧再映射表
108-m‧‧‧再映射表
110‧‧‧電腦系統
111‧‧‧控制線
120‧‧‧儲存控制器
122‧‧‧主機介面
124‧‧‧轉譯控制器
130‧‧‧非揮發性記憶體(NVM)控制器
130-1‧‧‧非揮發性記憶體(NVM)控制器
130-k‧‧‧非揮發性記憶體(NVM)控制器
140-1‧‧‧非揮發性記憶體(NVM)晶粒
140-2‧‧‧非揮發性記憶體(NVM)晶粒
140-3‧‧‧非揮發性記憶體(NVM)晶粒
140-n‧‧‧非揮發性記憶體(NVM)晶粒
142-1‧‧‧非揮發性記憶體(NVM)晶粒
142-2‧‧‧非揮發性記憶體(NVM)晶粒
142-3‧‧‧非揮發性記憶體(NVM)晶粒
142-g‧‧‧非揮發性記憶體(NVM)晶粒
152-1‧‧‧晶粒平面
152-2‧‧‧晶粒平面
154-1‧‧‧記憶體元件
154-2‧‧‧記憶體元件
154-3‧‧‧記憶體元件
158‧‧‧資料儲存環境
202‧‧‧非揮發性記憶體(NVM)控制模組
206‧‧‧記憶體
208‧‧‧通信匯流排
210‧‧‧輸入/輸出(I/O)接收模組
212‧‧‧轉譯模組
214‧‧‧資料讀取模組
216‧‧‧資料寫入模組
218‧‧‧資料抹除模組
220‧‧‧轉譯表
222‧‧‧處理單元(CPU)
224‧‧‧選用額外模組
242‧‧‧非揮發性記憶體(NVM)模組控制程式/非揮發性記憶體(NVM)模組控制模組
246‧‧‧記憶體
248‧‧‧通信匯流排
250‧‧‧輸入/輸出(I/O)接收模組
252‧‧‧選用轉譯模組
254‧‧‧資料讀取模組
256‧‧‧資料寫入模組
258‧‧‧資料抹除模組
260‧‧‧轉譯表
262‧‧‧處理單元(CPU)
302-0‧‧‧晶粒
302-1‧‧‧晶粒
302-2‧‧‧晶粒
302-3‧‧‧晶粒
302-4‧‧‧晶粒
304-0‧‧‧晶粒平面
304-1‧‧‧晶粒平面
306-1‧‧‧不良區域
306-2‧‧‧不良區域
306-3‧‧‧不良區域
308-0‧‧‧第一位址信號
308-1‧‧‧第一位址信號
308-2‧‧‧第一位址信號
308-3‧‧‧第一位址信號
308-4‧‧‧第一位址信號
310-0‧‧‧第二位址信號
310-1‧‧‧第二位址信號
310-2‧‧‧第二位址信號
310-3‧‧‧第二位址信號
310-4‧‧‧第二位址信號
312-0‧‧‧預留晶粒平面
312-1‧‧‧預留晶粒平面
402-0‧‧‧晶粒
402-1‧‧‧晶粒
402-2‧‧‧晶粒
402-3‧‧‧晶粒
402-4‧‧‧晶粒
404-0‧‧‧晶粒
404-1‧‧‧晶粒
404-2‧‧‧晶粒
404-3‧‧‧晶粒
404-4‧‧‧晶粒
500‧‧‧晶圓
600‧‧‧方法
602‧‧‧步驟
604‧‧‧步驟
606‧‧‧步驟
608‧‧‧步驟
610‧‧‧步驟
612‧‧‧步驟
614‧‧‧步驟
616‧‧‧步驟
618‧‧‧步驟
620‧‧‧步驟
622‧‧‧步驟
624‧‧‧步驟
626‧‧‧步驟
628‧‧‧步驟
630‧‧‧步驟
632‧‧‧步驟
634‧‧‧步驟
636‧‧‧步驟
638‧‧‧步驟
640‧‧‧步驟
642‧‧‧步驟
644‧‧‧步驟
700‧‧‧方法
702‧‧‧步驟
704‧‧‧步驟
706‧‧‧步驟
708‧‧‧步驟
710‧‧‧步驟
712‧‧‧步驟
714‧‧‧步驟
716‧‧‧步驟
718‧‧‧步驟
720‧‧‧步驟
722‧‧‧步驟
724‧‧‧步驟
726‧‧‧步驟
728‧‧‧步驟
730‧‧‧步驟
732‧‧‧步驟
734‧‧‧步驟
可藉由參考各個實施方案之特徵進行一更特定描述,使得可更詳細地瞭解本揭示內容,其中一些實施方案在隨附圖式中加以圖解說明。然而,隨附圖式僅僅圖解說明本揭示內容之更相關特徵且因此不應被認為限制之意,因為該描述可承認其他有效特徵。
圖1A係根據一些實施例之圖解說明一資料儲存環境之一實施方案之一方塊圖。
圖1B係根據一些實施例之圖解說明一資料儲存系統之一實施方案之一方塊圖。
圖2A係根據一些實施例之圖解說明一例示性儲存控制器之一方塊圖。
圖2B係根據一些實施例之圖解說明一例示性非揮發性記憶體模組之一方塊圖。
圖3A至圖3B分別圖解說明根據一些實施例之不具有及具有不良記憶體單元之再映射之一記憶體模組之操作。
圖4A至圖4B分別圖解說明根據一些實施例之不具有及具有不良記憶體單元之實體至實體再映射之RAID帶化。
圖5圖解說明根據一些實施例之用於使用統計晶粒資訊封裝至一記憶體模組中之記憶體晶粒之選擇。
圖6A至圖6C圖解說明根據一些實施例之用於實體至實體位址再映射之一方法之一流程圖表示。
圖7A至圖7B圖解說明根據一些實施例之用於在執行至少某項測試之前封裝非揮發性記憶體之一方法之一流程圖表示。
根據慣例,圖式中圖解說明之各個特徵可能不一定按比例繪製。因此,為了清楚起見,各個特徵之尺寸可經任意擴大或減小。此外,一些圖式可不一定描繪一給定系統、方法或裝置之所有組件。最後,相似元件符號可用於標示貫穿說明書及圖式中的相似特徵。
無關於一儲存系統中使用何種類型的記憶體元件(例如,一記憶體晶粒內之個別記憶體胞)或如何組態此等記憶體元件(例如,一2D組態、一3D組態),記憶體元件有時候出於各種原因而出現故障。用於此等記憶體元件之製程具有一定的良率,意謂一些製造中(as-manufactured)的記憶體元件有可能從一開始就「已經不良」。其他記憶體元件在製造中受到嚴重折損。在習知程序中,執行大量測試以在將記憶體晶粒併入至一較大記憶體裝置(例如,記憶體模組102,圖1A)中之前將記憶體晶粒(例如,非揮發性記憶體(NVM)晶粒140,圖1A)分格為不同等級(例如,基於此記憶體晶粒內之工作或功能性記憶
體元件之部分)。例如,在製造中受到嚴重折損之記憶體元件通常未能通過一所謂的「老化」測試,造成記憶體晶粒之部分(例如,頁面、區塊、晶粒平面)不可用。一旦記憶體晶粒併入至一儲存系統中,記憶體晶粒之此等部分通常被忽略。當一記憶體晶粒包含極多個不可用部分時,結果係記憶體晶粒之一等級較低。低等級記憶體晶粒有時候封裝在一起以產生較便宜的所謂「剩餘」記憶體裝置。
但是此大量測試給生產高等級記憶體裝置(例如,使用高等級記憶體晶粒製造之記憶體裝置)增加了大量成本。此成本通常並未因剩餘等級的記憶體裝置(例如,高等級記憶體模組)的出售而得到補償。例如,在一些境況中,測試成本高達生產高等級記憶體裝置的成本之32%。相比之下,剩餘等級的記憶體裝置之出售之收益通常係生產高等級的記憶體裝置之成本之一極小部分(例如,4%的數量級)。因此,在一些境況中,高等級的記憶體裝置之生產本質上補助剩餘等級的記憶體裝置之生產,這增加了消費者使用高等級的記憶體裝置之成本。
此外,記憶體元件在此大量測試期間經歷極多次程式化/抹除(P/E)循環。對於具有一有限壽命之P/E循環之記憶體類型(例如,快閃記憶體),其壽命之實質部分可僅僅在生產測試期間擴大。
本文中描述之各個實施方案包含如下系統、方法及/或裝置,其減小記憶體裝置在封裝至一記憶體模組中之前經歷之測試量,因此降低成本且保持記憶體元件之壽命。因此,本文中描述之一些實施方案提供推遲某些晶粒級及子晶粒級測試直至非揮發性記憶體晶粒被封裝至一記憶體裝置中之後為止。
更具體言之,一些實施例包含一種封裝非揮發性記憶體之方法。在一些實施例中,該方法包含根據對應於一組非揮發性記憶體晶粒之預定義準則及預定義統計晶粒效能資訊,自該組非揮發性記憶體晶粒選擇預定義晶粒級及子晶粒級測試被推遲直至封裝之後為止的複
數個非揮發性記憶體晶粒。該方法進一步包含將該選定的複數個非揮發性記憶體晶粒封裝至一記憶體裝置中。該方法仍進一步包含在該封裝之後,對該記憶體裝置中之該複數個非揮發性記憶體晶粒執行一組測試,以識別該記憶體裝置中之該非揮發性記憶體晶粒內滿足預定義有效性準則之各自記憶體單元。已執行之該組測試包含該等推遲的預定義晶粒級及子晶粒級測試。
在一些實施例中,該選擇包含根據該複數個非揮發性記憶體晶粒之晶圓位置選擇該複數個非揮發性記憶體晶粒。在一些實施例中,該選擇包含根據該複數個非揮發性記憶體晶粒之晶圓位置及對應於該等晶圓位置之統計晶粒效能資訊選擇該複數個非揮發性記憶體晶粒。
在一些實施例中,該方法進一步包含推遲至少直至該選定的複數個非揮發性記憶體晶粒被封裝至該記憶體裝置中,或完全放棄以下測試之至少一者之執行:一晶圓分類測試、一記憶體組件測試、一已知良好晶粒測試及一老化測試。
在一些實施例中,該選擇包含根據該預定義統計晶粒效能資訊,選擇多個晶粒以過度提供該記憶體裝置以在一預定義統計容限內確保該記憶體裝置中最小量之可程式化/可抹除記憶體。
在一些實施例中,該方法進一步包含在將該複數個非揮發性記憶體晶粒封裝至該記憶體裝置中之後,判定該記憶體裝置中之可程式化/可抹除記憶體的量。
在一些實施例中,該方法進一步包含在將該複數個非揮發性記憶體晶粒封裝至該記憶體裝置中之後,在該記憶體裝置之初始化期間,執行一初始化程序,該初始化程序包含判定該複數個非揮發性記憶體晶粒之一或多個記憶體單元之一有效性狀態。該有效性狀態係一有效狀態或一無效狀態之一者。該方法仍進一步包含使用實體至實體位址再映射以將定址於具有一無效狀態之一各自記憶體單元之一讀/
寫請求重導向至具有一有效狀態之一記憶體單元。
在一些實施例中,判定該一或多個記憶體單元之一有效性狀態包含判定該一或多個記憶體單元之一有效性度量及比較該有效性度量與一預定義臨限值以判定該一或多個記憶體單元之該有效性狀態。在一些實施例中,該有效性度量係初始化期間該一或多個記憶體單元之一位元錯誤率(BER)。
在一些實施例中,該方法進一步包含根據考量初始化期間判定之該有效性度量之一損耗均衡演算法寫入至該複數個非揮發性記憶體晶粒。
在一些實施例中,該組非揮發性記憶體晶粒包括快閃記憶體。
在一些實施例中,在該封裝之前對該複數個非揮發性記憶體晶粒之記憶體單元執行之程式化/抹除(P/E)循環之中值次數小於50次P/E循環。
在另一態樣中,一些實施例包含一種再映射一非揮發性記憶體模組中之不良記憶體單元(有時候稱作「記憶體單元」)之實體位址之方法。在一些實施例中,非揮發性記憶體模組包含非揮發性記憶體之複數個實體晶粒。每一實體晶粒包含一或多個記憶體單元,且每一記憶體單元可由一各自第一位址定址。該各自第一位址之至少一部分係對應於記憶體單元之一實體位置之一實體位址部分。
該方法包含針對非揮發性記憶體之複數個實體晶粒中之兩個或兩個以上記憶體單元之一序列之每一記憶體單元(有時候稱作一各自記憶體單元),判定記憶體單元之一有效性狀態。有效性狀態係一有效狀態及一無效狀態之一者。根據記憶體單元之有效性狀態係無效狀態之一判定,該方法包含將指派給記憶體單元之一第二位址儲存在一表中。第二位址之至少一部分係對應於與記憶體單元相異之一第二記憶體單元之一實體位置之一實體位址部分。根據記憶體單元之有效性
狀態係有效狀態之一判定,該方法包含放棄對應於記憶體單元之第二位址之指派。
在一些實施例中,每一記憶體單元係一預定義連續記憶體單元。
在一些實施例中,該表儲存用於複數個實體晶粒中之每一記憶體單元之項目。針對一各自記憶體單元,放棄對應於該各自記憶體單元之一第二位址之指派包含作為該表中之一預設位址指派維持用於該各自記憶體單元之各自第一位址。
在一些實施例中,該表儲存用於複數個實體晶粒之每一記憶體單元之項目,且針對非揮發性記憶體之複數個實體晶粒中之兩個或兩個以上記憶體單元之序列之每一記憶體單元,放棄對應於記憶體單元之一第二位址之指派包含作為該表中之一預設位址指派維持用於記憶體單元之各自第一位址。
在一些實施例中,該表係一稀疏表,其儲存僅用於具有一無效狀態之記憶體單元之各自第二位址。
在一些實施例中,該方法進一步包含:(1)接收定址於對應於一各自記憶體單元(有時候稱作一第一記憶體單元)之一各自第一位址之一讀/寫命令,(2)存取該表,及(3)判定該表是否包含指派給各自記憶體單元之一各自第二位址。根據該表包含指派給各自記憶體單元之一各自第二位址之一判定,該方法進一步包含將讀/寫命令引導至各自第二位址。根據該表不包含指派給各自記憶體單元之一各自第二位址之一判定,該方法進一步包含將讀/寫命令引導至各自第一位址。
在一些實施例中,記憶體單元包括部分頁面、頁面、區塊及晶粒平面之一者。
在一些實施例中,非揮發性記憶體之複數個實體晶粒包括快閃記憶體之複數個晶粒。
在一些實施例中,非揮發性記憶體模組經組態以同時執行N個並行讀/寫操作,其中N係大於2之一整數。針對被判定為處於無效狀態之每一各自記憶體單元,各自第二位址係保持非揮發性記憶體模組執行N個並行讀/寫操作之能力之一位址。
在一些實施例中,針對一各自記憶體單元,有效性狀態係基於各自記憶體單元之製造中特性。
在一些實施例中,每一各自記憶體單元包括複數個子記憶體單元,且判定一各自記憶體單元之一有效性狀態包含判定複數個子記憶體單元中之預定義數目個子記憶體單元是否可寫入。
在一些實施例中,對與複數個實體晶粒封裝在一起之一特定應用積體電路(ASIC)執行該方法。在一些實施例中,複數個實體晶粒與ASIC堆疊在一起以形成三維(3D)封裝的非揮發性記憶體模組。
在一些實施例中,非揮發性記憶體模組包括一或多個三維(3D)記憶體裝置及與該一或多個3D記憶體裝置中之記憶體元件之操作相關聯之電路。在一些實施例中,該電路及該一或多個3D記憶體裝置之一各自3D記憶體裝置中之一或多個記憶體元件係在相同基板上。
在一些實施例中,該方法進一步包含針對一各自記憶體單元,根據各自記憶體單元之有效性狀態係無效狀態之一判定:(1)執行一資料恢復操作以恢復寫入至各自記憶體單元之資料,及(2)將已恢復的資料寫入至第二記憶體單元。
在一些實施例中,該方法進一步包含:(1)指定複數個實體晶粒之一或多個記憶體單元作為預留記憶體單元,及(2)在指定為預留記憶體單元之一或多個記憶體單元中指派每一第二位址。
在一些實施例中,該方法進一步包含:(1)判定是否滿足一或多個再映射準則,及(2)根據滿足該一或多個再映射準則之一判定,觸發判定兩個或兩個以上記憶體單元之序列之一或多個各自記憶體單元
之一有效性狀態之操作的執行。
在一些實施例中,判定是否滿足一或多個再映射準則包含判定自從先前判定兩個或兩個以上記憶體單元之序列之一或多個各自記憶體單元之一有效性狀態起是否經過一預定義時間週期。
在一些實施例中,判定是否滿足一或多個再映射準則包含判定一位元錯誤率是否已超過一預定位元錯誤率臨限值。
在另一態樣中,一些實施方案提供一非揮發性記憶體模組。非揮發性記憶體模組包含根據本文中提供之方法之任一者選擇、封裝及測試之複數個非揮發性記憶體晶粒。
在另一態樣中,一些實施方案提供一儲存系統。儲存系統包含用於操作地將該儲存系統與一主機系統耦合之一介面,及根據本文中提供之方法之任一者選擇、封裝及測試之複數個非揮發性記憶體晶粒。
本文中描述數種細節以提供對隨附圖式中圖解說明之例示性實施方案之一完整理解。然而,一些實施例可在無許多特定細節的情況下加以實踐,且申請專利範圍的範疇僅受申請專利範圍中具體敘述之特徵及態樣限制。此外,並未以詳盡細節描述熟習的方法、組件及電路以免不必要地混淆本文中描述之實施方案之更多相關態樣。
如本文中使用,術語「記憶體裝置」應被解釋為意謂包含記憶體之任何電子裝置。例如,具有記憶體元件及至少一電極之一處理晶圓(稱作一「晶粒」)之一部分係一記憶體裝置。具有一儲存控制器及複數個插件式(例如,DIMM)記憶體模組之一企業級儲存系統亦係一記憶體裝置。每一記憶體模組亦係一記憶體裝置。更特定言之,一「儲存系統」或「資料儲存系統」係包含記憶體及一儲存控制器之一記憶體裝置。一「記憶體模組」係包含記憶體及封裝及視需要支援電路(例如,形成一資料匯流排之電極)之一記憶體裝置。在一些實施例
中,記憶體模組與一儲存控制器(如下文描述)分離且經組態以耦合至該儲存控制器,且因此間接地(例如,藉助於儲存控制器)耦合至一主機電腦。儘管視需要不包含一儲存控制器,但是在一些實施例中,一記憶體模組包含執行習知地由一儲存控制器(例如,如下文描述,部分邏輯至實體位址映射)執行之一些任務之一電路(例如,一特定應用積體電路)。一記憶體模組可包含其他記憶體模組作為組件或子系統。例如,一DIMM記憶體模組可包含複數個記憶體晶片(例如,8個記憶體晶片)。記憶體晶片(例如,積體電路晶片,有時候稱作「微晶片」)亦應被視為記憶體模組,前提係其等包含記憶體及封裝。術語「組件」用於意謂一組成部分。例如,一記憶體組件係一記憶體裝置之一組成部分。
圖1A係根據一些實施例之圖解說明一資料儲存環境158之一實施方案之一方塊圖。圖1A不旨在限制,而是旨在圖解說明根據一些實施例之本文中使用之術語之一階層式分類法。參考圖1A描述之許多組件在此文件中的其他處例如參考圖1B或參考以上半導體記憶體之描述更詳細地描述。因此,資料儲存環境158包含發佈主機命令(例如,讀/寫/抹除命令)之電腦系統110(有時候稱作一「主機」)及資料儲存系統100。資料儲存系統100包含儲存控制器120及一或多個非揮發性記憶體(NVM)晶粒140。
在一些實施例中,儲存控制器120與一或多個NVM晶粒140封裝在一起,在該情況中,該組合有時候稱作一儲存系統。替代地,在一些實施例中,一或多個NVM晶粒140被封裝至一或多個NVM模組102中且與儲存控制器120分離。
在一些實施例中,每一NVM晶粒140包含一或多個晶粒平面152,各晶粒平面具有其自身的電路(例如,感測放大器等等)以支援記憶體操作(例如,讀/寫/抹除程序,其等係來自電腦系統110之主機
命令之結果或係將資料自一記憶體位置遷移至另一位置之內部程序之結果)。晶粒平面152因此包括用於實行主機命令之電路(圖1A中未展示)以及記憶體元件154(例如,記憶體元件154-1至154-3)。在一些實施例中,記憶體元件被組織至頁面(例如,2212個8位元位元組之一頁面,其中每一位元係儲存在一個別記憶體元件154中之一值)中。在一些實施例中,一頁面對應於一晶粒平面上之一字線(或一字線之一部分)。在一些實施例中,頁面被組織至區塊(例如,一區塊係64個頁面)中,且每個晶粒平面存在固定數目的區塊(例如,8224個區塊)。在一些實施例中,記憶體元件154係經組態以根據一預定義或指定儲存密度儲存資料之快閃記憶體元件,該預定義或指定儲存密度諸如X3(即,每個記憶體胞3個位元)、X2(即,每個記憶體胞2個位元)或X1(即,每個記憶體胞1個位元)。
圖1B係根據一些實施例之圖解說明一資料儲存系統100之一實施方案之一方塊圖。雖然圖解說明了一些例示性特徵,但是為了簡潔起見且以免混淆本文中揭示之例示性實施方案之更相關態樣,並未圖解說明各種其他特徵。因此,作為一非限制實例,結合一電腦系統110使用資料儲存系統100。資料儲存系統100包含儲存控制器120,該儲存控制器120包含主機介面122、轉譯控制器124、一或多個非揮發性記憶體(NVM)控制器130(例如,NVM控制器130-1至NVM控制器130-k),及非揮發性記憶體(NVM)模組102((例如,NVM模組102-1至NVM模組102-m)。在一些實施例中,儲存控制器120包含執行多項任務之額外模組(未展示)。例如,在一些實施例中,儲存控制器120包含用於持久管理、獨立冗餘驅動陣列(RAID)管理、壓縮、錯誤校正編碼/解碼、加密及/或損耗均衡之模組以及額外模組。
非揮發性記憶體模組102經由一或多個記憶體通道106(例如,記憶體通道106-1至106-k)與儲存控制器120耦合。例如,如圖1B中描
繪,每一各自通道106支援一或多個NVM模組102且與一各自NVM控制器130(有時候稱作一記憶體通道控制器)耦合。在一些實施例中,每一各自記憶體通道106包含一或多個資料匯流排(例如,8個資料匯流排)。
非揮發性記憶體模組102包含一或多個NVM晶粒140/142。非揮發性記憶體模組102亦包含具有再映射表108之NVM模組控制器104。再映射表108將用於記憶體單元(例如,記憶體之部分或片段,諸如頁面、區塊、晶粒平面、記憶體庫或晶粒)之實體至實體位址映射儲存在NVM晶粒140/142內,如下文更詳細地描述。
電腦系統110透過資料連接101與儲存控制器120耦合。然而,在一些實施例中,電腦系統110包含儲存控制器120作為一組件及/或子系統。同樣地,在一些實施例中,電腦系統110包含NVM模組102作為組件或子系統。電腦系統110可為任何適當的運算裝置,諸如一個人電腦、一工作站、一電腦伺服器或任何其他運算裝置。電腦系統110有時候稱作一主機或主機系統。在一些實施例中,電腦系統110包含一或多個處理器、一或多種類型的記憶體,視需要包含一顯示器及/或其他使用者介面組件,諸如一鍵盤、一觸控螢幕顯示器、一滑鼠、一觸控板、一數位相機及/或用於新增功能之任何數目的增補裝置。進一步言之,在一些實施例中,電腦系統110將控制線111上之一或多個主機命令(例如,讀取命令及/或寫入命令)發送至儲存控制器120。在一些實施例中,電腦系統110係一伺服器系統,諸如一資料中心中之一伺服器系統,且不具有一顯示器及其他使用者介面組件。
在一些實施例中,儲存控制器120(例如,經由一單一通道106)與一單一NVM模組102耦合,而在其他實施例中,儲存控制器120(例如,經由一或多個記憶體通道106)與複數個NVM模組102耦合。在圖1B中未展示之一些實施例中,儲存控制器120包含NVM模組102作為
組件或子系統,在該情況中,儲存控制器120更一般地稱作一儲存系統。
在各項實施例中,NVM晶粒140/142包含NAND類型的快閃記憶體或NOR類型的快閃記憶體。更一般地,NVM晶粒140/142包含此文件中描述之以本文中描述之任何配置進行配置之任何類型的非揮發性半導體記憶體裝置。進一步言之,在一些實施例中,NVM控制器130係固態磁碟機(SSD)控制器。然而,根據多種實施方案之態樣可包含一或多種其他類型的儲存媒體。在一些實施例中,NVM模組102係或包含雙列直插記憶體模組(DIMM)裝置。在一些實施例中,NVM模組102可與DIMM記憶體插槽相容。例如,在一些實施例中,NVM模組102可與240個接腳的DIMM記憶體插槽相容。在其他實施例中,NVM模組102係或包含覆晶模組,該等覆晶模組由焊料凸塊與通道106電耦合。在一些實施例中,NVM模組102可與根據一DDR3介面規範之發信號相容。在一些實施例中,NVM模組102可與根據串列高級技術附件(SATA)介面規範之發信號相容,而在又其他實施例中,NVM模組102可與根據串列高級SCSI(SAS)介面規範之發信號相容。
在一些實施例中,NVM控制器130之每一NVM控制器包含一或多個處理單元(有時候稱作CPU或處理器或微處理器或微控制器),該一或多個處理單元經組態以執行一或多個程式中(例如,NVM控制模組202中,圖2A)之指令。耦合NVM控制器130與NVM模組102之通道106係連接件,其等通常除了傳達資料以外亦傳達命令且視需要傳達後設資料、錯誤校正資訊及/或除儲存在NVM晶粒140/142中之資料值及讀取自NVM晶粒140/142之資料值以外的其他資訊。因此,在一些實施例中,通道106係或包含一或多個資料匯流排(例如,8個資料匯流排)。
在一些實施例中,儲存裝置120經組態用於適用於諸如雲端運算
之應用之企業儲存,或用於快取儲存(或待儲存)在副儲存器(諸如硬碟機)中之資料。在一些其他實施例中,儲存裝置120經組態用於相對較小規模的應用,諸如對個人、膝上型及平板電腦之個人快閃磁碟或硬碟更換。雖然快閃記憶體裝置及快閃控制器在此處用作一實例,但是在一些實施例中,儲存裝置120包含其他非揮發性記憶體裝置及對應的非揮發性儲存控制器。
在一些實施例中,轉譯控制器124(例如,經由控制線111藉助於主機介面124)自電腦系統110接收主機命令(例如,讀/寫/抹除命令)。主機命令包含一或多個邏輯區塊位址(LBA),該一或多個邏輯區塊位址指定(例如,在一邏輯位址空間中)可為主機命令所用之記憶體。在一些實施例中,轉譯控制器124藉由將LBA映射至一實體位址空間中之實體位址(例如,藉由執行轉譯表212中之一實體位址查找或指派,圖2)來管理主機命令。在一些實施例中,轉譯控制器124將實體位址傳達至適當的NVM控制器130,這促進主機命令(例如,執行資料讀取、資料寫入及/或區塊抹除命令)之執行。
替代地,在一些實施例中,轉譯控制器124藉由將LBA映射至部分實體位址來管理主機命令。在一些實施方案中,一部分實體位址包含對應於一各自NVM模組102或其之一子組之一實體位址部分,諸如各自NVM模組102上之一晶粒平面(例如,部分實體位址係或包含各自NVM模組102或其子組之一實體位址)。轉譯控制器124將部分實體位址及LBA傳達至適當的NVM控制器130(圖1B),NVM控制器130經由通道106將部分實體位址及LBA(例如,必要時連同資料及其他資訊一起)路由至適當的NVM模組102。NVM模組102之NVM模組控制器104接收記憶體操作命令(包含部分實體位址及LBA)、判定一個(或多個)對應晶粒,且將記憶體操作命令轉發至該(該等)晶粒。在一些境況中,例如,此包含將每一部分實體位址映射至一實體位址(例如,一
全實體位址),該實體位址指定NVM晶粒140/142內適用於主機命令之記憶體之一實體位置。
在任一情況中,在一些實施例中,當NVM模組控制器104判定一實體位址時,NVM模組控制器104進一步判定再映射表108是否包含對應於實體位址之一項目。此一項目指示一實體-實體位址再映射被指派用於實體位址,意謂NVM模組控制器104(例如,由NVM控制器130)將針對實體位址之主機指定記憶體操作重導向至NVM晶粒140/142內之一第二實體位址。
為達成此等目的,在一些實施例中,NVM模組控制器104之每一NVM模組控制器包含一或多個處理單元(有時候稱作CPU或處理器或微處理器或微控制器),該一或多個處理單元經組態以執行儲存在記憶體中(例如,有時候亦稱作NVM模組控制模組242之NVM模組控制程式242中,圖2B)之一或多個程式中之指令。在一些實施例中,NVM模組控制器104的處理單元及記憶體被整合為與一或多個NVM晶粒140/142封裝在一起之一特定應用積體電路(ASIC)之部分。在一些實施例中,NVM模組控制模組242至少部分在一或多個狀態機中實施,狀態機的功能受韌體模組(例如,資料讀取模組254、資料寫入模組256及資料抹除模組258)控制。
資料儲存系統100可包含各種額外特徵,為了簡潔起見且以免混淆本文中揭示之例示性實施方案之更相關特徵,並未圖解說明該等各種額外特徵,且特徵之一不同配置可能係可行的。
圖2A係根據一些實施例之圖解說明一例示性儲存控制器120之一方塊圖。儲存控制器120通常包含記憶體206、用於執行儲存在記憶體206中之模組、程式及/或指令且藉此執行處理操作之一或多個處理單元(CPU)222,及用於互連此等組件之一或多個通信匯流排208。通信匯流排208視需要包含互連且控制系統組件之間之通信之電路(有時候
稱作一晶片集)。儲存控制器120係由通信匯流排208耦合至電腦系統110及NVM模組102。記憶體206包含高速隨機存取記憶體,諸如DRAM、SRAM、DDR RAM或其他隨機存取固態記憶體裝置,且可包含非揮發性記憶體,諸如一或多個磁碟儲存系統、光碟儲存系統、快閃記憶體裝置或其他非揮發性固態儲存系統。記憶體206視需要包含經定位遠距於CPU 222之一或多個儲存系統。記憶體206或替代地記憶體206內之非揮發性記憶體裝置包括一非暫時性電腦可讀儲存媒體。在一些實施例中,記憶體206或記憶體206之電腦可讀儲存媒體儲存以下程式、模組及資料結構或其之一子組:‧輸入/輸出(I/O)接收模組210,其自電腦系統110接收主機命令(例如,讀/寫/抹除命令)及/或資料;‧轉譯模組212,其藉由將邏輯區塊位址映射至一實體位址空間中之實體位址或部分實體位址(例如,NVM模組級、晶片級、記憶體庫級或晶粒級實體位址)來管理主機命令(此等邏輯至實體映射視需要儲存在轉譯表220中);‧非揮發性記憶體(NVM)控制模組202,其用於促進主機命令(例如,讀/寫/抹除命令),該NVM控制模組202視需要包含:‧資料讀取模組214,其用於與一或多個NVM模組102相互作用且自一或多個NVM模組102讀取資料;‧資料寫入模組216,其用於與一或多個NVM模組102相互作用且將資料寫入至一或多個NVM模組102;‧資料抹除模組218,其用於與一或多個NVM模組102中之一或多個區塊相互作用且抹除來自該一或多個區塊之資料;及‧選用之額外模組224,其執行持久管理、RAID管理、壓縮、錯誤校正編碼/解碼、加密、損耗均衡、碎片收集及其他任務。
上文識別之元件之每一者可儲存在先前提及的記憶體裝置之一
或多者中,且對應於用於執行上文描述之一功能之一指令集。上文識別的模組或程式(即,指令集)無需被實施為單獨軟體程式、程序或模組,且因此此等模組之各個子組可在各項實施例中經組合或以其他方式重新配置。在一些實施例中,記憶體206可儲存上文識別之模組及資料結構之一子組。此外,記憶體206可儲存上文未描述之額外模組及資料結構。在一些實施例中,儲存在記憶體206中之程式、模組及資料結構或記憶體206之電腦可讀儲存媒體提供用於實施下文參考圖6A至圖6C及/或圖7A至圖7B描述之方法之任一者之指令。
雖然圖2A展示根據一些實施例之儲存控制器120,但是圖2A旨在用作可存在於儲存控制器120中之各個特徵之一功能描述的程度大於用作本文中描述之實施例之一結構示意圖。實際上且如熟習此項技術者認知,單獨展示之物品可經組合且一些物品可被分離。
圖2B係根據一些實施例之圖解說明一例示性非揮發性記憶體(NVM)模組102之一方塊圖。非揮發性記憶體模組102通常包含記憶體246、用於執行儲存在記憶體246中之模組、程式及/指令且藉此執行處理操作之一或多個處理單元(CPU)262,及用於互連此等組件之一或多個通信匯流排248。通信匯流排248視需要包含互連且控制系統組件之間之通信之電路(有時候稱作一晶片集)。非揮發性記憶體(NVM)模組102係由通信匯流排248(例如,其視需要包含通道106及其等資料匯流排)耦合至NVM控制器130及NVM晶粒140。記憶體246包含高速隨機存取記憶體,諸如DRAM、SRAM、DDR RAM或其他隨機存取固態記憶體裝置,且可包含非揮發性記憶體,諸如一或多個磁碟儲存系統、光碟儲存系統、快閃記憶體裝置或其他非揮發性固態儲存系統。記憶體246視需要包含與NVM控制器130及/或儲存控制器120及/或其他NVM模組102共用之一或多個儲存裝置。替代地,記憶體246及/或儲存在其上之指令、程式、模組及/或資料結構包括韌體。在一
些實施例中,NVM模組102係或包含一特定應用積體電路(ASIC),其包含CPU 262及/或記憶體246。記憶體246或替代地記憶體246內之非揮發性記憶體裝置包括一非暫時性電腦可讀儲存媒體。
應注意,在一些實施例中,由NVM模組102接收之記憶體操作命令指定實體位址,因為對應主機命令指定實體位址,或因為儲存控制器120已經將所接收之主機命令中之邏輯位址映射至實體位址。在一些實施例中,由NVM模組102處接收之一記憶體操作命令指定之實體位址係一部分實體位址,其並未完全指定記憶體操作所針對的實體位置,在該情況中所接收之記憶體操作命令亦包含一邏輯位址。在後一實例中,由NVM模組102接收之記憶體操作命令中之兩個位址(部分實體位址及邏輯位址)係由NVM模組102處理以產生一實體位址。
在一些實施例中,記憶體246或記憶體246之電腦可讀儲存媒體儲存以下程式、模組及資料結構或其之一子組:‧輸入/輸出(I/O)接收模組250,其自NVM控制器130或儲存控制器120接收各自記憶體操作命令(例如,讀/寫/抹除命令,有時候稱作主機命令)及/或資料之至少一部分。在一些實施例中,記憶體操作命令包含部分實體位址(例如,用於NVM模組102之一NVM模組級實體位址、一晶粒平面級實體位址或一區塊級實體位址)及一邏輯區塊位址(例如,自電腦系統110傳達);‧一選用之轉譯模組252,其藉由以下項管理主機命令:(1)將所接收的實體位址(接收自儲存控制器120且視需要接收自轉譯控制器124)映射至實體位址;或(2)將邏輯區塊位址及部分實體位址(兩者皆接收自儲存控制器120)映射至一實體位址空間中之實體位址(例如,區塊級或頁面級實體位址)。此等實體至實體映射視需要儲存在轉譯表260中。在將一記憶體操作命令的實體或部分實體位址映射至實體位址之後,轉譯模組252判定實體位址是否已將再映射指派儲存在再
映射表108中,且若是,則根據再映射指派(例如,一不同實體位址之一指派)處理主機命令;及‧一非揮發性記憶體(VNM)模組控制程式242(有時候亦稱作NVM模組控制模組242),其用於促進各自主機命令(例如,讀/寫/抹除命令)之至少部分,該NVM模組控制程式242視需要包含:‧資料讀取模組254,其用於與一或多個NVM晶粒140相互作用且自一或多個NVM晶粒140讀取資料;‧資料寫入模組256,其用於與一或多個NVM晶粒140相互作用且將資料寫入至一或多個NVM晶粒140;‧資料抹除模組258,其用於與一或多個NVM晶粒140中之一或多個區塊相互作用且抹除來自該一或多個區塊之資料。
上文識別的元件之每一者可儲存在先前提及的記憶體裝置之一或多者中,且對應於用於執行上文描述之一功能之一指令集。上文識別的模組或程式(即,指令集)無需被實施為單獨軟體程式、程序或模組,且因此此等模組之各個子組可在各項實施例中經組合或以其他方式重新配置。在一些實施例中,記憶體246可儲存上文識別之模組及資料結構之一子組。此外,記憶體246可儲存上文未描述之額外模組及資料結構。在一些實施例中,儲存在記憶體246中之程式、模組及資料結構或記憶體246之電腦可讀儲存媒體提供用於實施下文參考圖6A至圖6C及/或圖7A至圖7B描述之方法之任一者之指令。
圖3A至圖3B分別圖解說明根據一些實施例之不具有及具有不良記憶體單元之再映射之記憶體模組102之操作。
圖3A圖解說明根據一些實施例之不具有不良記憶體單元之再映射之記憶體模組102之操作。在此實例中,記憶體模組102經展示具有5個晶粒302(例如,晶粒302-0至晶粒302-4),然而熟習此項技術者將明白,記憶體模組102可經建構具有更多或更少晶粒,這取決於境
況。在一些實施例中,每一晶粒302包含兩個晶粒平面304(例如,晶粒平面304-0及304-1;為了視覺清晰起見,未標記圖3A中之剩餘晶粒平面)。如本文中使用,術語晶粒平面係指具有其自身(例如,專用)電路之一晶粒上之記憶體之一部分,該電路用於執行記憶體操作(例如,每一晶粒平面具有其自身的感測放大器等等)。以此方式,記憶體模組102可對不同晶粒平面並行地執行記憶體操作。此外,熟習此項技術者將瞭解,在一些實施例中,每一晶粒302可具有多於或少於兩個晶粒平面304。在一些境況中,晶粒平面304包含無法被可靠寫入其等及/或自其等讀取之不良區域306(例如,不良區域306-1、306-2及306-3)。在圖3A至圖3B中,不良區域被圖解說明為晶粒平面內之黑帶。取決於境況,不良區域可包含一單一字線或一群組(例如,複數個)字線。在各種境況中,不良區域在製造中可完全不可用,可經製造具有缺陷使得其等未能通過一老化測試,可具有一不可接受的高位元錯誤率(BER),及/或具有此等問題之一組合。此外,在一些實施例中,不良區域係晶粒平面之子單元(例如,不良區域係記憶體區塊或記憶體之字線或甚至記憶體之頁面)。
因為晶粒平面304-0大部分由不良區域組成,所以在圖3A中所示之實例中,晶粒平面304-0被指定為一不良晶粒平面,或一不良記憶體單元。下文參考方法600描述關於一不良記憶體單元之構成者之更特定準則。
在此實例中,無論何時接收到需要將資料寫入至NVM模組102上之記憶體、自該記憶體讀取資料或自該記憶體抹除資料之一主機命令,NVM控制器130皆將第一位址信號308(例如,實體位址信號)發送至NVM模組102。第一位址信號足以完全指定適當的晶粒平面且啟動一對應第二位址信號310(例如,一實體位址信號)。例如,第一位址信號308-0之啟動指示記憶體模組經由第二實體位址信號310-0啟動
晶粒平面304-0。
在圖3A中所示之實例中,第一位址信號308經「硬接線」(例如,永久地或不變地路由)至第二位址信號310。例如,當啟動第一位址信號308-0時,啟動第二位址信號310-0;當啟動第一位址信號308-1時,啟動第二位址信號310-1;以此類推。一種處置第一位址信號308-0造成一不良晶粒平面304-0之事實之方式係例如藉由自可用實體位址之集區(自其等指派邏輯位址)移除晶粒平面304-0的實體位址來省略晶粒平面。然而,若晶粒平面304-0係一RAID帶之部分,則省略晶粒平面304-0使RAID帶更小,這係不利的。例如,若一儲存控制器經組態以立刻並行寫入至整個RAID帶,則省略該RAID帶內之一晶粒平面減小寫入RAID帶所消耗的時間中發生之寫入操作量(藉助於減小寫入RAID帶時執行之寫入操作之次數)。圖3A中橫跨第一位址信號308-0及第二位址信號310-0之粗線指示一記憶體操作之路由。
相比之下,圖3B圖解說明一NVM模組102',其類似於圖3A之NVM模組102,除了NVM模組102'之NVM控制器104'並未將第一位址信號308「硬接線」至第二位址信號310以外。相反地,當NVM模組102'接收對應於晶粒平面304-0之一第一位址信號308-0時,NVM模組102'(且更具體言之,NVM控制器104')判定再映射表108是否包含指派給晶粒平面304-0之一第二位址。因為晶粒平面304-0在此實例中係一不良晶粒平面,所以再映射表108包含對應於一預留晶粒平面312之一第二位址指派。具體言之,在此實例中,再映射表108儲存一實體至實體再映射,其指示包含一全位址之至少多個最高有效位元(MSB)之一第二實體位址指定晶粒平面304-0再映射至預留晶粒平面312-0。因此,由第一位址信號308-0針對晶粒平面304-0之一記憶體操作重導向至預留晶粒平面312-0。圖3A中橫跨第一位址信號308-0及第二位址信號310-4之粗線指示記憶體操作之路由。橫跨第二位址信號310-0之虛
線指示若未執行實體至實體位址再映射,則將如何路由記憶體操作。
此外,在圖3B中,晶粒302根據一些實施例過度提供,且第一位址信號308少於第二位址信號310。亦應注意,在一些實施例中,第一位址信號308共用一共同匯流排,實體位址(例如,具有一晶粒選擇及晶粒平面選擇部分)作為資料在該共同匯流排上傳達,而第二位址信號310各者係使用用於啟動一特定晶粒平面之對應組的實體電路傳達(例如,藉由啟動對應於晶粒平面304-0之一晶粒選擇線及一晶粒平面選擇線傳達第二位址信號310-0)。
圖4A至圖4B圖解說明根據一些實施例之不具有及具有不良記憶體單元之實體至實體再映射之RAID帶化。為了視覺清晰起見,在此實例中,對晶粒級執行實體至實體再映射,但是應明白,可對一不同大小的記憶體單元(例如,晶粒平面級,如參考圖3A至圖3B解釋)替代地執行實體至實體再映射。
在圖4A中,展示複數個NVM模組102,包含NVM模組102-1、102-2至102-j。一儲存控制器(未展示)經組態以使用來自每一NVM模組102之一單一晶粒以建構一RAID帶。例如,一RAID帶在圖4A中以灰色展示,其包括來自NVM模組102-1之晶粒302-0;來自NVM模組102-2之晶粒402-0;及來自NVM模組102-j之晶粒404-0。若j大於3,則將包含自NVM模組102-2至102-j-1之額外晶粒。儲存控制器經組態以並行寫入RAID帶,意謂同時對晶粒302-0、402-0及404-0執行寫入操作。然而,在此實例中,晶粒302-0係一不良晶粒平面,且出於該原因而被省略(亦未被寫入)。此有效地減小RAID帶之大小,且減小寫入RAID帶所消耗的時間中發生之寫入操作之次數(因為在不具有晶粒302-0作為RAID帶之一可行部分之情況下執行更少操作)。
應瞭解,一RAID帶在此處僅僅用作一實例。參考圖4A至圖4B描述之功能同樣可適用於其中資料被並行寫入至複數個記憶體單元之任
何情形。
圖4B類似於圖4A,除了不良晶粒302-0已再映射至晶粒302-4以外,其中該兩個晶粒係在相同NVM模組中,因此維持RAID帶之大小且最佳化對RAID帶執行之並行記憶體操作(例如,讀/寫程序)之效率。
圖4A至圖4B亦圖解說明其中以一3D組態封裝複數個晶粒之例示性實施例。在一實例中,NVM模組102係DIMM模組或覆晶模組,其等各者在垂直堆疊在一NVM模組控制器104之頂部上之薄基板上具有複數個晶粒,NVM模組控制器104可為製造在其自身基板上之一特定應用積體電路(ASIC)。
圖5圖解說明根據一些實施例之用於使用統計晶粒資訊對封裝至一記憶體模組(例如,NVM模組102,圖1B)中之晶粒之選擇。特定言之,在一些境況中,自已製造於一晶圓500上之一組非揮發性記憶體晶粒選擇複數個晶粒302(例如,晶粒302-0至晶粒302-4)封裝至一記憶體模組(例如,NVM模組102-1,圖4B)中。在一些境況中,根據對應於該組非揮發性記憶體晶粒之預定義準則及預定義統計晶粒效能資訊,已推遲對該組非揮發性記憶體晶粒之預定義晶粒級及子晶粒級測試直至封裝之後。例如,雖然已推遲對製造於晶圓500上之特定晶粒之預定義測試,但是可已知來自經歷相同處理之先前晶圓(例如,測試晶圓,參見參考圖7A至圖7B描述之方法700之描述)之可靠度資料。作為一實例(藉助於晶圓500圖解說明),考慮一製程,該製程取決於晶粒在晶圓上的位置(例如,相對於晶圓中心之徑向晶圓位置)產生晶粒可靠度之統計差。在所示實例中,經製造朝向晶圓500之中心之晶粒具有不良可靠度(例如,具有近似70%可用記憶體),製造於晶圓500之一中間徑向環內之晶粒具有適度的可靠度(例如,具有近似90%可用記憶體),而製造於晶圓500之一外部徑向環內之晶粒具有優
越的可靠度(例如,具有近似95%可用記憶體)。可使用此統計資訊連同一記憶體模組內之晶粒之過度提供以選擇晶粒302,諸如在一預定義統計容限(例如,2-西格瑪(大約95.45%)、3-西格瑪(大約99.7%)或3.5-西格瑪(大約99.95%))內保證記憶體模組內之可用記憶體的數量。
圖6A至圖6C圖解說明根據一些實施例之用於實體至實體位址再映射之方法600之一流程圖表示。至少在一些實施例中,方法600係由一非揮發性記憶體(NVM)模組(例如,NVM模組102,圖1B)執行。替代地,方法600係由一儲存控制器(例如,儲存控制器120,圖1B)執行。在一些實施例中,方法600受指令支配,該等指令儲存在一非暫時性電腦可讀儲存媒體中且係由一記憶體模組之一或多個處理器(例如,記憶體模組102之一或多個處理器262,圖2B)及/或一儲存控制器之一或多個處理器(例如,儲存控制器120之一或多個處理器222,圖2A)執行。在各個實施方案中,該方法之一些操作可經組合及/或可自圖中所示之次序改變一些操作之次序。此外,在一些實施方案中,單獨圖式(例如,圖7A至圖7B)中所示及/或結合單獨方法(例如,方法700)論述之操作可經組合以形成其他方法,且相同圖式中所示及/或結合相同方法論述之操作可被分離為不同方法。
無論如何,方法600係在包含非揮發性記憶體之複數個實體晶粒(例如,封裝至一記憶體模組中,諸如記憶體模組102,圖1B)之一記憶體裝置(例如,資料儲存系統100,圖1B)處執行。在一些實施例中,複數個實體晶粒分成各可由一各自第一位址定址之記憶體單元(例如,記憶體之部分或片段,諸如晶粒平面、區塊、頁面及字線)。
在一些實施例中,非揮發性記憶體之複數個實體晶粒係複數個快閃記憶體晶粒。在一些實施例中,該複數個快閃記憶體晶粒包含NAND類型的快閃記憶體或NOR類型的快閃記憶體。在其他實施例中,非揮發性記憶體之複數個實體晶粒包括一或多種其他類型的非揮
發性記憶體(例如,電阻式RAM(ReRAM))。在一些實施例中,儲存系統包括一或多個記憶體模組(例如,NVM模組102,圖1A至圖1B),且記憶體模組包括非揮發性記憶體之一或多個實體晶粒。例如,在一些實施方案中,儲存系統包含:組織在平行記憶體通道(例如,通道106,圖1B)中之數十或數百記憶體模組,諸如每個記憶體通道組織有4、8、16、32或64個記憶體模組;以及8、16、32或64個平行記憶體通道。在一些實施例中,儲存系統係一單一快閃「隨身碟」或固態磁碟機(SSD)。
為了便於解釋,方法600被描述為由一記憶體模組執行,但是情況並非必需如此。
對於非揮發性記憶體之複數個實體晶粒中之兩個或兩個以上記憶體單元之一序列之每一各自記憶體單元,記憶體模組判定(602)各自記憶體單元之一有效性狀態。有效性狀態係一有效狀態及一無效狀態之一者。在一些實施例中,每一記憶體單元係一預定義連續記憶體單元(例如,每一記憶體單元係具有一預定義大小之實體記憶體之一連續部分或片段)。
在一些實施例中,對於一各自記憶體單元,有效性狀態係基於(604)各自記憶體單元之製造中特性。例如,製程期間引入之各種缺陷可造成個別記憶體元件、字線或記憶體之較大區域在製造中不可用。製造期間引入之其他缺陷可造成個別記憶體元件(或記憶體之較大區域)在製造中嚴重折損,意謂個別記憶體元件有可能在極少次數的P/E循環(例如,10次程式化/抹除循環)之後變得不可用。此等情況兩者-特徵在於在製造中不可用之記憶體及特徵在於在製造中嚴重折損之記憶體-屬於「製造中特性」之含義。
用於一記憶體單元之一無效狀態指示記憶體單元係「不良的」,在各種境況中這意謂記憶體單元不可用、無法被寫入、無法自其讀
取,或記憶體單元之一位元錯誤率(BER)高於某一臨限值。替代地,在一些實施例中,每一各自記憶體單元包括(606)複數個子記憶體單元。判定一各自記憶體單元之一有效性狀態包含判定複數個子記憶體單元中是否有預定義數目(或百分比或部分)的子記憶體單元可寫入。例如,在一些實施例中,記憶體單元係晶粒平面(或區塊),且子單元係頁面,且對於每一晶粒平面(或區塊),記憶體模組判定是否有大於或小於90%(例如,一預定義百分比)的頁面可寫入。若一晶粒平面(或區塊)中大於90%的頁面可寫入,則記憶體模組判定該晶粒平面(或區塊)之有效性狀態係有效狀態,且若否,則判定有效性狀態係無效狀態。作為另一實例,在一些實施例中,每一晶粒平面包含8224個區塊,各區塊由64個頁面構成。在此實例中,記憶體模組針對每一區塊,判定是否有至少58個頁面可寫入,且若是,則判定區塊之有效性狀態係有效狀態,且若否,則判定有效性狀態係無效狀態。在一些實施例中,記憶體模組藉由將測試資料寫入至子單元以及一緩衝區(例如,揮發性記憶體中)、自子單元讀取資料且執行讀取資料與緩衝區中之資料之一比較來達成此判定。當一記憶體單元具有係無效狀態之一有效性狀態時,記憶體單元被視為一「不良」記憶體單元或一「無效」記憶體單元。相反地,當一記憶體單元具有係有效狀態之一有效性狀態時,記憶體單元被視為一「良好」記憶體單元或一「有效」記憶體單元。
在一些實施例中,判定有效性狀態包括例如在驅動初始化期間或包含記憶體模組之驅動之正常操作期間自記憶體模組(例如,儲存控制器120,圖1B)外部之一儲存控制器接收資訊。作為一實例,儲存控制器執行各項編碼/解碼任務,透過該等任務判定一位元錯誤率(BER)。在一些實施例中,儲存控制器在驅動初始化期間或正常操作期間將BER傳達至記憶體模組,使得記憶體模組可判定記憶體模組上
之記憶體單元之各自有效性狀態。
根據各自記憶體單元之有效性狀態係無效狀態之一判定:記憶體模組將指派給各自記憶體單元之一第二位址儲存(608)在一表(有時候稱作一「再映射」表)中。第二位址之至少一部分係對應於與各自記憶體單元相異之一第二記憶體單元之一實體位置之一實體位址部分。在一些實施例中,指派每一第二位址包含指派一實體位址空間中之一全實體位址之預定數目的最高有效位元(MSB)。在一實例中,記憶體模組經組態以依32位元實體位址操作。在此實例中,一32位元實體位址之四個最高有效位可對應於一晶粒位址。剩餘的28位元(例如,剩餘的最低有效位元)可用於指示區塊及頁面位址。記憶體模組在判定一特定晶粒係一「不良」晶粒之後藉由將不良晶粒之四個最高有效位元及一良好晶粒中之四個最高有效位元儲存在表中將不良晶粒而再映射至該良好晶粒。進一步言之,當記憶體模組以一實體位址接收一記憶體操作命令時,在此實例中,記憶體模組比較記憶體操作命令之四個最高有效位元與表中之項目。若發現一項目,則記憶體模組使用經再映射「良好」晶粒之四個最高有效位元來代替記憶體操作命令中之四個最高有效位元以執行所接收之記憶體操作命令。
在一些實施例中,表儲存在非揮發性記憶體中(例如,複數個非揮發性記憶體晶粒上)。在一些實施例中,表儲存在揮發性記憶體(例如,動態隨機存取記憶體,亦稱為「DRAM」)中。
在一些實施例中,記憶體模組指定(610)或預留複數個實體晶粒之一或多個記憶體單元作為預留記憶體單元(例如,預留晶粒平面312-0及312-1,圖3B)。記憶體模組自指定為預留記憶體單元之一或多個記憶體單元之間指派(612)每一第二位址。在一些實施例中,方法600係在記憶體模組之產品壽命開始時之一初始化程序期間執行。在此等實施例中,因而在組裝記憶體模組時指定預留記憶體單元。在
一些實施例中,方法600係在記憶體模組之整個產品壽命中重複地執行,如下文更詳細地描述。在此等實施例中,固定數目的記憶體單元可在組裝裝置時被指定為「預留」記憶體,或替代地,先前「未預留」記憶體單元可藉由轉移其中儲存在別處之資料且將對應於最近預留的記憶體單元之第二位址之一清單維持為可用於再映射之一位址而改變為如所需的預留記憶體單元。
在一些實施例中,儲存一或多個無效記憶體單元(例如,「不良」記憶體單元)之各自第二位址之指派藉由將無效記憶體單元再映射至有效記憶體單元(例如,而非僅僅藉由不讀取或不寫入真實資料至不良記憶體單元來省略該等不良記憶體單元)預留對有效記憶體單元執行之多次同時並行讀/寫操作。此增加記憶體操作之效率,在一些境況中,效率可以讀/寫操作的次數除以執行該等讀/寫操作所需之一時間之比率來量測。因為並行執行該等記憶體操作所需之時間在省略不良記憶體單元(例如,不寫入或不讀取)時仍然不會太短,所以省略不良記憶體單元減小效率之分子,而將不良記憶體單元再映射至良好記憶體單元將分子維持為固定。
更具體言之,在一些實施例中,記憶體模組經組態以(614)同時執行N個並行讀/寫操作,其中N係大於2之一整數。對於被判定處於無效狀態之每一各自記憶體單元,各自第二位址係保持非揮發性記憶體模組執行N個並行讀/寫操作之能力之一位址。在一些實施例中,此係藉由對並行操作受記憶體模組支援之相同記憶體單元執行再映射而達成。例如,當記憶體模組經組態以對單獨晶粒平面並行地執行主機命令(或其等部分)時,在一些實施例中,亦對晶粒平面級執行再映射。即,在一些實施例中,表(例如,再映射表108,圖2B)中之經指派第二位址係晶粒平面位址,其等包含足以指定記憶體之一晶粒平面之多個最高有效位元(MSB)。此係有利的,因為在此等實施例中,再
映射例如藉由將兩個區塊再映射至相同晶粒平面而不會干擾並行程序,其中兩個區塊可原本已藉助於在不同晶粒平面上而並行寫入。
作為一實例,在一些實施例中,採用冗餘獨立驅動陣列(RAID)方案,其中複數個實體晶粒被分割為RAID帶(例如,每一記憶體單元被指派給至少一RAID帶)且一儲存控制器經組態以對一給定RAID帶內之每一記憶體單元同時執行並行寫入操作(即,RAID帶係以一單一並行操作寫入)。在一些實施例中,對一RAID帶中之每一記憶體單元執行方法600,使得RAID帶內之不良記憶體單元再映射至有效記憶體單元,再映射的方式係保持記憶體模組並行寫入整個RAID帶之能力。因此,RAID帶保持「完整」。在一些實施例中,一RAID帶包含來自一記憶體模組中之每一晶粒之一單一頁面、區塊或晶粒平面。替代地,在與複數個記憶體模組通信之一儲存控制器處執行方法600,且一RAID帶包含來自跨複數個模組之每一記憶體模組之一單一頁面、區塊、晶粒平面或晶粒。
替代地,在一些實施例中,以高於晶粒平面之一粒度(例如,在較小記憶體單元上)執行再映射。例如,在一些實施例中,記憶體模組經組態以並行地對不同晶粒平面執行記憶體操作,且對區塊級執行再映射(例如,表(例如,再映射表108,圖2B)中之經指派第二位址係區塊位址,該等區塊位址包含足以指定一記憶體區塊之多個最高有效位元(MSB))。此係有利的,因為較高粒度意謂潛在浪費更少記憶體(例如,藉由不浪費一原本不良記憶體單元中之剩餘良好的記憶體子單元)。
在一些實施例中,表係(616)儲存僅用於具有一無效狀態之記憶體單元之各自第二位址之一稀疏表。作為一實例,當記憶體模組判定一記憶體單元無效時,記憶體模組在表中產生一新項目。當記憶體模組接收指定一特定位址之一記憶體操作命令時,記憶體模組存取該表
且判定該表中是否存在對應於該位址之一項目。若未發現項目,則記憶體模組使用用於記憶體操作命令之位址,且若發現一項目,則記憶體模組使用用於記憶體操作命令之項目中之經指派第二位址。
下文參考操作編號618至622描述當發現一記憶體單元無效時視需要執行之各種操作。
在一些實施例中,針對一各自記憶體單元,根據各自記憶體單元之有效性狀態係無效狀態之一判定(618):記憶體模組執行(620)一資料恢復操作以恢復寫入至各自記憶體單元之資料。例如,在一些實施例中,記憶體模組包含具有兩個晶片平面(例如,一第一晶粒平面及一第二晶粒平面)之複數個晶粒(例如,8個晶粒)。作為一實例,記憶體模組將經組態以針對資料恢復利用包括來自記憶體模組中之晶粒之每一者之一晶粒平面之一RAID帶。當發現一晶粒平面無效時,記憶體模組將執行一RAID恢復以恢復儲存在無效晶粒上之資料。記憶體模組接著(622)將所恢復之資料寫入至第二記憶體單元。當在記憶體模組之整個壽命中定期地執行方法600(參見操作640至644)時,此等實施例尤其有用,且一無效記憶體單元有可能在其上具有有用資料(例如,一使用者的資料)。
下文參考參考數字622至624描述當發現一記憶體單元有效時視需要執行之各種操作。
根據各自記憶體單元之有效性狀態係有效狀態之一判定:記憶體模組放棄(624)對應於記憶體單元之第二位址之指派。該表儲存用於複數個實體晶粒中之每一記憶體單元之項目。在一些實施例中,針對一各自記憶體單元,放棄對應於各自記憶體單元之一第二位址之指派包含維持(626)用於各自記憶體單元之各自第一位址作為該表中之一預設位址指派。例如,在執行方法600之前(例如,在生產記憶體模組時之一初始化程序期間),產生該表且該表填充有對記憶體模組中
之每個記憶體單元之第二位址指派,所有該等第二位址指派最初與作為一預設之每一各自第一位址相同。當發現一記憶體單元無效時,將記憶體單元的位址再映射至預留記憶體中之一可用位址。但是當發現一記憶體單元有效時,跳過此步驟,從而使對應的第一位址作為預設第二位址。
在一些實施例中,記憶體模組接收(628)定址於對應於一各自記憶體單元之一各自第一位址之一讀/寫命令(例如,一主機命令)。在一些實施例中(例如,當該表係一稀疏表時,如參考操作616描述),記憶體模組存取(630)該表且判定(632)該表是否包含指派給各自記憶體單元之一各自第二位址。例如,在一些實施例中,存取該表包含自非揮發性記憶體讀取該表。替代地,例如當由一儲存控制器而非一記憶體模組執行方法600時,在一些實施例中,存取該表包含自揮發性記憶體(例如,DRAM)讀取該表。在一些實施例中,判定該表是否包含指派給各自記憶體單元之一各自第二位址包含針對對應於各自記憶體單元之一表項目,例如藉由使用記憶體單元的第一位址之一雜湊值搜尋該表。
在一些實施例中,根據該表包含指派給各自記憶體單元之一各自第二位址之一判定,記憶體模組將讀/寫命令引導至(634)各自第二位址。相反地,根據該表不包含指派給各自記憶體單元之一各自第二位址之一判定,記憶體模組(636)將讀/寫命令引導至各自第一位址。因此,一不良(即,無效)記憶體單元被再映射至一良好(即,有效)記憶體單元。
根據各項實施例,可在多個時間執行方法600。例如,可在預定時間(諸如僅在驅動初始化期間或每天或每月或每年)執行方法600。替代地,可僅當滿足某些條件時執行方法600。仍然替代地,可連續執行方法600之某些態樣(例如,操作)。作為一實例,在一些實施例
中,記憶體模組連續監測記憶體模組內之記憶體單元之一位元錯誤率(BER),且當其等BER高於一預定義臨限值(例如,一預定義BER臨限值)時再映射記憶體單元。
更一般地,在一些實施例中,記憶體模組判定(638)是否滿足一或多個再映射準則。根據滿足一或多個再映射準則之一判定,記憶體模組觸發(640)判定兩個或兩個以上記憶體單元之序列之一或多個各自記憶體單元之一有效性狀態之操作之執行。在一些實施例中,觸發判定一或多個各自記憶體單元之一有效性狀態之操作之執行包含觸發方法600中之操作之任一者之執行。如上文提及,在一些實施例中,判定是否滿足一或多個再映射準則包含(642)判定自先前判定兩個或兩個以上記憶體單元之序列之一或多個各自記憶體單元之一有效性狀態起是否經過一預定時間週期。替代地或除此之外,判定(644)是否滿足一或多個再映射準則包含判定一位元錯誤率是否超過一預定義位元錯誤率臨限值。
圖7A至圖7B圖解說明根據一些實施例之用於將非揮發性記憶體封裝至一記憶體裝置中之方法700之一流程圖表示。簡而言之,在一些實施例中,方法700用於封裝低測試記憶體晶粒(例如,某些習知測試被推遲之記憶體晶粒)。因此,方法700有時候用於減小與高等級記憶體裝置之生產相關聯之測試成本。如本文中使用,術語「記憶體裝置」用於意謂包含記憶體之任何電子裝置(例如,一封裝裝置)。例如,記憶體模組102(圖1A至圖1B)被視為記憶體裝置。資料儲存系統100(圖1A至圖1B)亦係一記憶體裝置之一實例,如具有一儲存控制器(例如,儲存控制器120,圖1A至圖1B)及記憶體(例如,NVM晶粒140/142,圖1A至圖1B)之一儲存系統般。
此外,在一些實施方案中,單獨圖式(例如,圖6A至圖6C)中所示及/或結合單獨方法(例如,方法600)論述之操作可經組合以形成其
他方法,且相同圖式中所示及/或結合相同方法論述之操作可被分離為不同方法。
為此,方法700包含(702)根據對應於一組非揮發性記憶體晶粒之預定義準則及預定義統計晶粒效能資訊,自該組非揮發性記憶體晶粒選擇推遲預定義晶粒級及子晶粒級測試直至封裝之後為止之複數個非揮發性記憶體(NVM)晶粒(例如,NVM晶粒140/142,圖1B)。在一些實施例中,方法700包含推遲或完全放棄一或多次晶圓級測試。例如在一些實施例中,方法700包含推遲(704)至少直至選定複數個非揮發性記憶體晶粒被封裝至一記憶體裝置中為止,或完全放棄以下測試之至少一者之執行:一晶圓分類(WS)測試(一晶圓級測試之一實例)、一記憶體組件(MC)測試(其通常係一子晶粒級測試之一實例)、一已知良好晶粒(KGD)測試(一晶粒級測試之一實例)及一老化測試(其可以多種組態執行)。在一些境況中,晶粒級測試包含晶粒分類(有時候稱作電子晶粒分類)測試。在一些境況中,子晶粒級測試包含電路探針(CP)測試,其等係使用稱作一晶圓探測器或替代地一探測站之一裝置而進行。在一些實施例中,方法700包含推遲由一特定測試設備(例如,一晶圓探測器)執行之每一測試。
如本文中使用,術語「老化測試」用於意謂其中在將(例如,一記憶體晶粒或記憶體裝置中之)記憶體投入服務之前(例如,封裝之前及/或由一消費者使用之前)執行記憶體之一程序。老化測試通常係由於一些記憶體裝置之高的初始故障率(例如,歸因於一所謂的「故障率曲線」,其中缺陷或嚴重折損的記憶體組件在其等產品壽命早期便出現故障)而執行。一老化測試之執行旨在識別及/或移除首次出現故障的記憶體。就此意義而言,一記憶體晶粒可藉由放棄其被封裝至一記憶體裝置中而自生產中「移除」,或其可藉由自可指派給邏輯位址之實體位址之一清單移除其實體位址而自一記憶體裝置內之服務移
除。
不幸的是,某些類型的記憶體係以可被表達為例如可行程式化/抹除(P/E)循環之次數之一有限壽命為特徵,在有限壽命之後記憶體變得不可靠(例如,無法精確地寫入及/或自其讀取)。例如,在一些實施例中,該組非揮發性記憶體晶粒包括(706)快閃記憶體。如上文提及,一快閃記憶體胞(即,快閃記憶體元件)包含具有一浮動閘極之一電晶體,該浮動閘極用於儲存表示資料值之一電荷。隨著時間變化,重複程式化及抹除一快閃記憶體胞將減小由浮動閘極儲存之電荷量,因此難以區分由快閃記憶體胞保存之資料值。取決於快閃記憶體之特定本質,快閃記憶體胞在變得不可靠之前可經歷例如50、100、200或300次程式化/抹除(P/E)循環。老化測試之無差別本質可在記憶體組件投入服務之前耗盡一記憶體組件壽命之一實質部分。例如,一些老化測試在測試期間對每一記憶體胞執行多達50次程式化/抹除(P/E)循環。
在一些實施例中,快閃記憶體晶粒包含NAND類型的快閃記憶體或NOR類型的快閃記憶體。在其他實施例中,該組非揮發性記憶體晶粒包括一或多種其他類型的非揮發性記憶體(例如,電阻式RAM(ReRAM))。
在一些境況中,來自經歷相同處理之先前晶圓之可靠度資料係已知的。例如,如圖5中所示,一製程取決於一晶粒在一晶圓上的位置(例如,晶粒相對於晶圓中心之徑向位置)造成晶粒可靠度之統計差。因此,在一些實施例中,該選擇包含(708)根據複數個非揮發性記憶體晶粒之晶圓位置(例如,徑向晶圓位置)選擇複數個非揮發性記憶體晶粒。更具體言之,在一些實施例中,該選擇包含(710)根據複數個非揮發性記憶體晶粒之晶圓位置及對應於晶圓位置之統計晶粒效能資訊選擇複數個非揮發性記憶體晶粒。
為此,在一些實施例中,方法700包含對複數個測試晶圓(例如,諸如10、100或1000個晶圓之多個晶圓)執行某些測試以判定(例如,量測)對應於晶圓位置之統計晶粒效能資訊且建立選擇操作702期間使用之預定義準則(例如,在執行選擇操作702之前對測試晶圓執行測試)。在一些實施例中,對測試晶圓執行之測試包含被推遲直至封裝之後為止(參見操作702)之測試。在一些實施例中,方法700進一步包括一調試程序,該調試程序包含對複數個測試晶圓執行測試。
因為半導體產業之許多態樣運行一預定義研發循環(例如,兩年循環使得希望每隔兩年出現一次「下一代產品」),故資本設備(包含測試設備)通常快速地變得過時。測試設備變得過時之一原因係產量不足:即,雖然前幾代的測試設備能夠以一適當精度及精確度級執行測試,但是測試設備將不能夠在提供一工業級產量時以此精度及精確度操作。藉由對測試晶圓執行此等測試而非在裝置生產期間執行此等測試,此等測試可被賦予大量時間。因此,緩解關於產量之問題。換言之,通常將在生產期間獲得之晶圓、晶粒及/或子晶粒資訊之聚集移位至一預生產階段(例如,一生產過程之一調試階段期間),這允許對不需要經常更換之一較低產量測試設備執行測試。
在一些實施例中,該選擇包含(712)根據預定義統計晶粒效能資訊選擇多個晶粒以過度提供記憶體裝置以在一預定義統計容限內保證記憶體裝置中最小量之可程式化/可抹除記憶體。例如,當預定義統計容限係99.5%且裝置中之可程式化可抹除記憶體之最小量係10千兆位元組時,在一些實施例中,選擇多個晶粒使得經封裝記憶體裝置之至少99.5%(參見操作714)包含至少10千兆位元組的可程式化/可抹除記憶體。在一些實施例中,預定義統計容限可表達為包含最小量的可程式化/可抹除記憶體之所生產的記憶體裝置之一百分比。例如,在各項實施例中,預定義統計容限係1-西格瑪(即,百分比係大約68%)、
2-西格瑪(即,百分比係大約95%)或3-西格瑪(即,百分比係大約99.7%)。
在一些實施例中,經封裝記憶體裝置根據預定義統計容限進行定價。因此,簡而言之,方法700之一些實施例提供其中放棄記憶體裝置之大量測試來代替對測試晶圓執行之統計測試之一方式。為此,在一些實施例中,高等級記憶體裝置係經過度提供之裝置,使得可程式化/可抹除記憶體之最小量被保證在高於剩餘等級裝置之一統計容限內。換言之,記憶體裝置係基於其過度提供程度進行分格,而非經由大量測試進行分格。
例如,一高等級10千兆位元組記憶體裝置可經過度提供,諸如以提供具有10個可程式化/可抹除千兆位元組之一99.5%保證,而一剩餘等級10千兆位元組記憶體裝置可僅經過度提供,諸如以提供具有10個可程式化/可抹除千兆位元組之一68%保證。此可藉由過度提供高等級記憶體裝置達大於剩餘等級記憶體裝置之一程度(例如,藉由給一高等級記憶體裝置新增一或多個額外晶粒)或替代地藉由(針對高等級記憶體裝置)選擇具有指示更可靠效能之預定義統計晶粒效能資訊之記憶體晶粒(或此等方法之一組合)而達成。雖然為了便於解釋而已使用一10千兆位元組記憶體裝置之一實例,但是應明白,方法7000同樣適用於具有多於或少於10千兆位元組之記憶體裝置。在一些境況中,方法700用於生產企業儲存記憶體裝置,在該情況中,可程式化/可抹除記憶體之最小級別可遠大於10千兆位元組。
方法700進一步包含(714)將選定的複數個非揮發性記憶體晶粒封裝至一記憶體裝置中。在一些實施例中,選定的複數個非揮發性記憶體晶粒係複數個快閃記憶體晶粒。在一些實施例中,複數個快閃記憶體晶粒包含NAND類型的快閃記憶體及/或NOR類型的快閃記憶體。在其他實施例中,選定的複數個非揮發性記憶體晶粒包括一或多種其他
類型的非揮發性記憶體(例如,電阻式RAM(ReRAM))。在一些實施例中,選定的複數個非揮發性記憶體晶粒被封裝至一記憶體模組(例如,NVM模組102,圖1A至圖1B)中。在一些實施例中,選定的複數個非揮發性記憶體晶粒被封裝至包含一儲存控制器(例如,儲存控制器與非揮發性記憶體之複數個實體晶粒配置在一起)之一記憶體裝置中。如上文提及,術語「記憶體裝置」用於意謂包含記憶體之任何電子裝置(例如,封裝裝置)。
在一些實施例中,在封裝之前對複數個非揮發性記憶體晶粒之記憶體單元執行之程式化/抹除(P/E)循環之中值次數小於一預定義數目。例如,在各項實施例中,記憶體單元(例如,關於其定義程式化/抹除(P/E)循環之中值次數)係部分頁面、字線、頁面、區塊、晶粒平面或晶粒。在一些實施例中,記憶體單元係最小可程式化記憶體單元(例如,通常一頁面)。在一些實施例中,記憶體單元係最小可抹除記憶體單元(例如,通常一區塊)。在一些實施例中,記憶體單元可由一部分實體位址之一實體部分定址(例如,參見關於部分實體位址之進一步細節之方法600之描述)。
在一些實施例中,在封裝之前對複數個非揮發性記憶體晶粒之記憶體單元執行之程式化/抹除(P/E)循環之中值次數係(716)小於50次P/E循環。但是在一些實施例中,程式化/抹除(P/E)循環之中值次數係零、5或10次P/E循環。替代地,在一些實施例中,程式化/抹除(P/E)循環之中值次數係100或任何其他整數。無論如何,出於上文論述之原因,在一些境況中,方法700之一目標係在記憶體裝置投入服務之前限制對記憶體單元執行之程式化/抹除(P/E)循環之次數。
方法700進一步包含在該封裝之後,(718)對記憶體裝置中之複數個非揮發性記憶體晶粒執行一組測試,以識別記憶體裝置中之非揮發性記憶體晶粒內滿足預定義有效性準則之各自記憶體單元。所執行之
該組測試包含經推遲之預定義晶粒級及子晶粒級測試。為了建構目的,經推遲之預定義晶粒級及子晶粒級測試應被解釋為包含在根據操作718對複數個非揮發性記憶體晶粒執行之該組測試中。例如,若一習知程序包含測試A、B及C,且根據方法700,封裝之前不執行A、B及C中之任何一者,且根據操作718,封裝之後僅執行A及B,則推遲測試應被視為A及B。
在一些實施例中,方法700包含在將複數個非揮發性記憶體晶粒封裝至記憶體裝置之後,判定(720)記憶體裝置中之可程式化/可抹除記憶體的量目(有時候稱作儲存容量)。在一些實施例中,判定記憶體裝置中之可程式化/可抹除記憶體的量包括將測試資料寫入至每一記憶體單元(或複數個記憶體單元)且將該測試資料寫入至(例如,DRAM中之)一緩衝區,接著自每一記憶體單元讀取測試資料且比較該測試資料與緩衝區中之測試資料。在一些實施例中,判定該比較是否滿足每一記憶體單元(或複數個記憶體單元)之預定義重現準則。例如,在一些境況中,預定義重現準則包含讀取自一記憶體單元之測試資料係100%可回收,包含藉由使用錯誤校正碼及/或其他資料恢復方法。可程式化/可抹除記憶體資料的量包括每一記憶體單元中滿足預定義重現準則之可程式化/可抹除記憶體之量的總和。在一些實施例中,判定記憶體裝置中之可程式化/可抹除記憶體之量包含針對每一記憶體單元(或複數個記憶體單元)判定一位元錯誤率(例如,基於解碼來自記憶體單元之碼字時校正之位元數目)且比較位元錯誤率(BER)與一預定義BER臨限值。在一些實施例中,根據一各自記憶體單元之位元錯誤率高於預定義BER臨限值之一判定,方法700包含忽視大量可程式化/可抹除記憶體中之記憶體單元。且在一些實施例中,根據一各自記憶體單元之位元錯誤率低於預定義BER臨限值之一判定,方法700包含該量之可程式化/可抹除記憶體中之記憶體單元。
在一些實施例中,方法700包含在將複數個非揮發性記憶體晶粒封裝至記憶體裝置中之後,在記憶體裝置之初始化期間,執行(724)一初始化程序,該初始化程序包含:判定該複數個非揮發性記憶體晶粒之一或多個記憶體單元之一有效性狀態,該有效性狀態係一有效狀態或一無效狀態之一者;及使用(732)實體至實體位址再映射以將定址於具有一無效狀態之一各自記憶體單元之一讀/寫請求重導向至具有一有效狀態之一記憶體單元。在一些實施例中,判定該複數個非揮發性記憶體晶粒之一或多個記憶體單元之一有效性狀態包含判定(726)該一或多個記憶體單元之一有效性度量,及比較(730)有效性度量與一預定義臨限值(例如,上文論述之預定義BER臨限值)以判定該一或多個記憶體單元之有效性狀態。在一些實施例中,有效性度量係(728)初始化期間該一或多個記憶體單元之一位元錯誤率(BER)。操作724至732之每一操作可具有參考方法600描述之性質之任一者,或包含參考方法600描述之程序及/或方法之任一者,在一些實施例中,方法600係實體至實體位址再映射之一更詳細方法。
在一些實施例中,方法700包含(734)根據考量初始化期間判定之有效性度量之一損耗均衡演算法寫入至該複數個非揮發性記憶體晶粒。例如,方法700視需要包含以與各自記憶體單元的位元錯誤率成反比例之一頻率寫入至一各自記憶體單元。
半導體記憶體裝置包含揮發性記憶體裝置(諸如動態隨機存取記憶體(「DRAM」)或靜態隨機存取記憶體(「SRAM」)裝置)、非揮發性記憶體裝置(諸如電阻式隨機存取記憶體(「ReRAM」)、電可抹除可程式化唯讀記憶體(「EEPROM」)、快閃記憶體(其亦可被視為EEPROM之一子組)、鐵電隨機存取記憶體(「FRAM」)及磁阻隨機存取記憶體(「MRAM」))及能夠儲存資訊之其他半導體元件。每一類型的記憶體裝置可具有不同組態。例如,快閃記憶體裝置可以一NAND
或一NOR組態進行組態。
記憶體裝置可由任何組合之被動及/或主動元件形成。藉助於非限制實例,被動半導體記憶體元件包含ReRAM裝置元件,在一些實施例中該等元件包含一電阻率切換儲存元件(諸如一反熔絲、相變材料等等)且視需要包含一引導元件,諸如二極體等等。進一步藉助於非限制實例,主動半導體記憶體元件包含EEPROM及快閃記憶體裝置元件,在一些實施例中,該等元件包含含有一電荷儲存區域(諸如一浮動閘極、導電粒子)或一電荷儲存介電材料之元件。
多個記憶體元件可經組態使得其等經串聯連接或使得每一元件可個別地存取。藉助於非限制實例,一NAND組態(NAND記憶體)中之快閃記憶體裝置通常含有串聯連接之記憶體元件。一NAND記憶體陣列可經組態使得該陣列係由多個記憶體串組成,其中一串係由共用一單一位元線且存取為一群組之多個記憶體元件組成。替代地,記憶體元件可經組態使得每一元件可個別存取(例如,一NOR記憶體陣列)。NAND及NOR記憶體組態係例示性的,且記憶體元件可以其他方式組態。
位於一基板內及/或一基板上方之半導體記憶體元件可以兩種或三種尺寸配置,諸如二維記憶體結構或三維記憶體結構。
在二維記憶體結構中,半導體記憶體元件配置在一單一平面中或以一單一記憶體裝置級配置。通常,在二維記憶體結構中,記憶體元件配置在一平面中(例如,一x-z方向平面中),該平面實質上平行於支撐記憶體元件之一基板之一主表面延伸。基板可為上方或其中形成記憶體元件之層之一晶圓,或其可為在形成記憶體元件之後附接至記憶體元件之一載體基板。作為一非限制實例,基板可包含一半導體,諸如矽。
記憶體元件可以單一記憶體裝置級配置在一有序陣列中,諸如
複數個列及/或行中。然而,記憶體元件可以非規則或非正交組態排成陣列。記憶體元件可各具有兩個或兩個以上電極或接觸線,諸如位元線及字線。
三維記憶體陣列經配置使得記憶體元件佔據多個平面或多個記憶體裝置級,藉此形成三維結構(例如,在x、y及z方向上,其中y方向係實質上垂直,且x及z方向係實質上平行於基板之主表面)。
作為一非限制實例,三維記憶體結構可垂直配置為多個二維記憶體裝置級之一堆疊。作為另一非限制實例,三維記憶體陣列可配置為多個垂直行(例如,行實質上垂直於基板之主表面(即,在y方向上)延伸),其中每一行在其中具有多個記憶體元件。行可以二維組態配置(例如,配置在一x-z平面中),從而產生元件在多個垂直堆疊之記憶體平面上之記憶體元件之三維配置。三維記憶體元件之其他組態亦可構成三維記憶體陣列。
藉由非限制實例,在三維NAND記憶體陣列中,記憶體元件可耦合在一起以在一單一水平(例如,x-z)記憶體裝置級內形成一NAND串。替代地,記憶體元件可耦合在一起以形成橫跨多個水平記憶體裝置級之一垂直NAND串。可設想其他三維組態,其中一些NAND串含有一單一記憶體級中之記憶體元件,而其他串含有可橫越多個記憶體級之記憶體元件。三維記憶體陣列亦可以一NOR組態及一ReRAM組態設計。
通常,在一單石三維記憶體陣列中,在一單一基板上形成一或多個記憶體裝置級。視需要,單石三維記憶體陣列亦可具有至少部分在單一基板內之一或多個記憶體層。作為一非限制實例,基板可包含一半導體,諸如矽。在一單石三維陣列中,構成陣列之每一記憶體裝置級之層通常形成於陣列之下伏記憶體裝置級之層上。然而,一單石三維記憶體陣列之相鄰記憶體裝置級之層可在記憶體裝置級之間共用
或在記憶體裝置級之間具有介入層。
再者,二維陣列可經單獨形成且接著封裝在一起以形成具有多層記憶體之一非單石記憶體裝置。例如,非單石堆疊記憶體可藉由在單獨基板上形成記憶體級且接著將記憶體級堆疊在彼此頂部而構成。基板可在堆疊之前薄化或自記憶體裝置級移除,但是由於記憶體裝置級最初形成於單獨基板上方,故所得記憶體陣列並非單石三維記憶體陣列。進一步言之,多個二維記憶體陣列或三維記憶體陣列(單石或非單石)可形成於單獨晶片上且接著封裝在一起以形成一堆疊晶片記憶體裝置。
記憶體元件之操作及與記憶體元件之通信通常需要相關聯之電路。作為非限制實例,記憶體裝置可具有用於控制及驅動記憶體元件以完成諸如程式化及讀取之功能之電路。此相關聯之電路可在與記憶體元件相同之基板上及/或一單獨基板上。例如,用於記憶體讀-寫操作之一控制器可位於一單獨控制器晶片上及/或與記憶體元件相同之基板上。
術語「三維記憶體裝置」(或3D記憶體裝置)在本文中經定義以意謂具有記憶體元件之多個記憶體層或多個級(有時候稱作多個記憶體裝置級)之一記憶體裝置,其包含以下項之任一者:具有一單石或非單石3D記憶體陣列之一記憶體裝置,其之一些非限制實例在上文已加以描述;或兩個或兩個以上2D及/或3D記憶體裝置,其等封裝在一起以形成一堆疊晶片記憶體裝置,其之一些非限制實例在上文已加以描述。
熟習此項技術者將認知,本發明不限於所描述之二維及三維例示性結構,而是涵蓋如本文中描述且為熟習此項技術者所瞭解之本發明之精神及範疇內之所有相關記憶體結構。
應瞭解,雖然術語「第一」、「第二」等等可在本文中用於描述
各種元件,但是此等元件不應受限於此等術語。此等術語僅用於區分一元件與另一元件。例如一第一NVM控制器可稱作一第二NVM控制器,且類似地,一第二NVM控制器可稱作一第一NVM控制器,而不改變描述之含義,前提係所有出現的「第一NVM控制器」經一致改名且所有出現的「第二NVM控制器」經一致改名。第一NVM控制器及第二NVM控制器皆係NVM控制器,但是其等並非相同NVM控制器。
本文中使用之術語僅出於描述特定實施例之目的且不旨在限制申請專利範圍。如在該等實施例及申請專利範圍中所用,除非本文中另有明確指示,否則單數形式「一(a、an)」及「該」亦旨在包含複數形式。亦將瞭解,本文中所用之術語「及/或」係指及涵蓋一或多個相關列出項之任何及所有可能的組合。應進一步瞭解,當在此說明書中使用術語「包括(comprises及/或comprising)」時,指定存在所陳述之特徵、整數、步驟、操作、元件及/組件,但不排除一或多個其他特徵、整數、步驟、操作、元件、組件及/或其等群組之存在或新增。
如本文所使用,取決於上下文,術語「若」可被解釋為意謂「當判定一所陳述先決條件為真時(when或upon)」或「回應於判定一所陳述先決條件為真」或「根據一所陳述先決條件為真之一判定」或「回應於偵測一所陳述先決條件為真」。類似地,取決於上下文,片語「若判定[一所陳述先決條件為真]」或「若[一所陳述先決條件為真]」或「當[一所陳述先決條件為真]時」可被解釋為意謂「當判定一所陳述先決條件為真時」或「回應於判定一所陳述先決條件為真」或「根據一所陳述先決條件為真之一判定」或「當偵測到一所陳述先決條件為真時」或「回應於偵測一所陳述先決條件為真」。
為了解釋目的,已參考特定實施例而描述前述描述。然而,上
文闡釋性論述不旨在具窮舉性或使申請專利範圍限於所揭示之精確形式。鑑於以上教示之諸多修改及變動係可行的。選取及描述該等實施例以最佳地解釋操作原理及實際應用,以藉此使得其他人熟習此項技術。
100‧‧‧資料儲存系統
102-1‧‧‧非揮發性記憶體(NVM)模組
102-m‧‧‧非揮發性記憶體(NVM)模組
104-1‧‧‧非揮發性記憶體(NVM)模組控制器
104-m‧‧‧非揮發性記憶體(NVM)模組控制器
106-1‧‧‧記憶體通道
106-k‧‧‧記憶體通道
108-1‧‧‧再映射表
108-m‧‧‧再映射表
110‧‧‧電腦系統
111‧‧‧控制線
120‧‧‧儲存控制器
122‧‧‧主機介面
124‧‧‧轉譯控制器
130-1‧‧‧非揮發性記憶體(NVM)控制器
130-k‧‧‧非揮發性記憶體(NVM)控制器
140-1‧‧‧非揮發性記憶體(NVM)晶粒
140-2‧‧‧非揮發性記憶體(NVM)晶粒
140-3‧‧‧非揮發性記憶體(NVM)晶粒
140-n‧‧‧非揮發性記憶體(NVM)晶粒
142-1‧‧‧非揮發性記憶體(NVM)晶粒
142-2‧‧‧非揮發性記憶體(NVM)晶粒
142-3‧‧‧非揮發性記憶體(NVM)晶粒
142-g‧‧‧非揮發性記憶體(NVM)晶粒
Claims (15)
- 一種用於封裝非揮發性記憶體之方法,其包括:根據對應於一組非揮發性記憶體晶粒之預定義準則及預定義統計晶粒效能資訊,自該組非揮發性記憶體晶粒選擇預定義晶粒級及子晶粒級測試已被推遲直至封裝之後為止的複數個非揮發性記憶體晶粒;將該選定的複數個非揮發性記憶體晶粒封裝至一記憶體裝置中;及在該封裝之後,對該記憶體裝置中之該複數個非揮發性記憶體晶粒執行一組測試,以識別該記憶體裝置中之該非揮發性記憶體晶粒內滿足預定義有效性準則之各自記憶體單元,其中已執行之該組測試包含該等推遲的預定義晶粒級及子晶粒級測試。
- 如請求項1之方法,其中該選擇包含:根據該複數個非揮發性記憶體晶粒之晶圓位置選擇該複數個非揮發性記憶體晶粒。
- 如請求項1之方法,其中該選擇包含:根據該複數個非揮發性記憶體晶粒之晶圓位置及對應於該等晶圓位置之統計晶粒效能資訊選擇該複數個非揮發性記憶體晶粒。
- 如請求項3之方法,其中該組非揮發性記憶體晶粒包括快閃記憶體。
- 如請求項1至4中任一項之方法,其中在該封裝之前對該複數個非揮發性記憶體晶粒之記憶體單元執行之程式化/抹除(P/E)循環之中值次數小於50次P/E循環。
- 如請求項1至4中任一項之方法,其進一步包含:推遲至少直至該選定的複數個非揮發性記憶體晶粒被封裝至 該記憶體裝置中為止,或完全放棄以下測試之至少一者之執行:一晶圓分類測試、一記憶體組件測試、一已知良好晶粒測試及一老化測試。
- 如請求項1至4中任一項之方法,其中該選擇包含:根據該預定義統計晶粒效能資訊,選擇多個晶粒以過度提供該記憶體裝置以在一預定義統計容限內確保該記憶體裝置中最小量之可程式化/可抹除記憶體。
- 如請求項1至4中任一項之方法,其進一步包含:在將該複數個非揮發性記憶體晶粒封裝至該記憶體裝置中之後,判定該記憶體裝置中之可程式化/可抹除記憶體的量。
- 如請求項1至4中任一項之方法,其進一步包含:在將該複數個非揮發性記憶體晶粒封裝至該記憶體裝置中之後,在該記憶體裝置之初始化期間,執行一初始化程序,該初始化程序包含判定該複數個非揮發性記憶體晶粒之一或多個記憶體單元之一有效性狀態,該有效性狀態係一有效狀態或一無效狀態之一者;及使用實體至實體位址再映射以將定址於具有一無效狀態之一各自記憶體單元之一讀/寫請求重導向至具有一有效狀態之一記憶體單元。
- 如請求項9之方法,其中判定該一或多個記憶體單元之一有效性狀態包含:判定該一或多個記憶體單元之一有效性度量;及比較該有效性度量與一預定義臨限值以判定該一或多個記憶體單元之該有效性狀態。
- 如請求項10之方法,其中該有效性度量係初始化期間該一或多個記憶體單元之一位元錯誤率(BER)。
- 如請求項9之方法,其進一步包含:根據考量初始化期間判定之該有效性度量之一損耗均衡演算法寫入至該複數個非揮發性記憶體晶粒。
- 一種非揮發性記憶體封裝系統,其包括:選擇構件,其用於根據對應於一組非揮發性記憶體晶粒之預定義準則及預定義統計晶粒效能資訊,自該組非揮發性記憶體晶粒選擇預定義晶粒級及子晶粒級測試已被推遲直至封裝之後為止的複數個非揮發性記憶體晶粒;封裝構件,其用於將該選定的複數個非揮發性記憶體晶粒封裝至一記憶體裝置中;及執行構件,其用於在該封裝之後對該記憶體裝置中之該複數個非揮發性記憶體晶粒執行一組測試,以識別該記憶體裝置中之該非揮發性記憶體晶粒內滿足預定義有效性準則之各自記憶體單元,其中已執行之該組測試包含該等推遲的預定義晶粒級及子晶粒級測試。
- 如請求項13之非揮發性記憶體封裝系統,其經進一步組態以根據請求項1至4中任一項之方法操作。
- 一種儲存系統,其包括:一介面,其用於操作地將該儲存系統與一主機系統耦合;及複數個非揮發性記憶體晶粒,其等係根據請求項1至4中任一項進行選擇、封裝及測試。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462012918P | 2014-06-16 | 2014-06-16 | |
US62/012,918 | 2014-06-16 | ||
US14/311,143 | 2014-06-20 | ||
US14/311,143 US8976609B1 (en) | 2014-06-16 | 2014-06-20 | Low-test memory stack for non-volatile storage |
US201462020307P | 2014-07-02 | 2014-07-02 | |
US62/020,307 | 2014-07-02 | ||
US14/597,169 | 2015-01-14 | ||
US14/597,169 US9653184B2 (en) | 2014-06-16 | 2015-01-14 | Non-volatile memory module with physical-to-physical address remapping |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201606780A true TW201606780A (zh) | 2016-02-16 |
TWI662550B TWI662550B (zh) | 2019-06-11 |
Family
ID=54836710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104119308A TWI662550B (zh) | 2014-06-16 | 2015-06-15 | 用於非揮發性儲存器之低測試記憶體堆疊 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9653184B2 (zh) |
KR (2) | KR101935289B1 (zh) |
CN (2) | CN106716544B (zh) |
TW (1) | TWI662550B (zh) |
WO (2) | WO2015195328A1 (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US10642505B1 (en) | 2013-01-28 | 2020-05-05 | Radian Memory Systems, Inc. | Techniques for data migration based on per-data metrics and memory degradation |
US10445229B1 (en) | 2013-01-28 | 2019-10-15 | Radian Memory Systems, Inc. | Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies |
US9542118B1 (en) | 2014-09-09 | 2017-01-10 | Radian Memory Systems, Inc. | Expositive flash memory control |
US10552085B1 (en) * | 2014-09-09 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for directed data migration |
US20160210241A1 (en) * | 2015-01-21 | 2016-07-21 | HGST Netherlands B.V. | Reducing a size of a logical to physical data address translation table |
US10552058B1 (en) | 2015-07-17 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for delegating data processing to a cooperative memory controller |
JP6158265B2 (ja) * | 2015-09-16 | 2017-07-05 | 株式会社東芝 | キャッシュメモリシステム |
US9672091B2 (en) * | 2015-11-10 | 2017-06-06 | Samsung Electronics Co., Ltd. | Storage device and debugging method thereof |
JP6609199B2 (ja) * | 2016-03-01 | 2019-11-20 | ルネサスエレクトロニクス株式会社 | 組込み機器 |
US10558525B2 (en) * | 2016-06-30 | 2020-02-11 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method of correcting errors in a memory array and a system for implementing the same |
KR102554496B1 (ko) * | 2016-07-14 | 2023-07-13 | 에스케이하이닉스 주식회사 | 복수개의 메모리 모듈을 포함하는 데이터 처리 시스템 |
JP6709180B2 (ja) * | 2017-02-28 | 2020-06-10 | キオクシア株式会社 | メモリシステムおよび制御方法 |
KR102409760B1 (ko) * | 2017-03-17 | 2022-06-17 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
US10216685B1 (en) | 2017-07-19 | 2019-02-26 | Agiga Tech Inc. | Memory modules with nonvolatile storage and rapid, sustained transfer rates |
TWI733964B (zh) * | 2017-12-13 | 2021-07-21 | 英業達股份有限公司 | 記憶體整體測試之系統及其方法 |
KR102540964B1 (ko) | 2018-02-12 | 2023-06-07 | 삼성전자주식회사 | 입출력 장치의 활용도 및 성능을 조절하는 메모리 컨트롤러, 애플리케이션 프로세서 및 메모리 컨트롤러의 동작 |
KR102080865B1 (ko) * | 2018-02-12 | 2020-02-24 | 세메스 주식회사 | 다이 본딩 방법 |
TWI677875B (zh) * | 2018-07-20 | 2019-11-21 | 衡宇科技股份有限公司 | 偵測固態儲存裝置儲存狀態的方法 |
US10795828B2 (en) * | 2018-08-10 | 2020-10-06 | Micron Technology, Inc. | Data validity tracking in a non-volatile memory |
US11099779B2 (en) | 2018-09-24 | 2021-08-24 | Micron Technology, Inc. | Addressing in memory with a read identification (RID) number |
US20200272424A1 (en) * | 2019-02-21 | 2020-08-27 | Research & Business Foundation Sungkyunkwan University | Methods and apparatuses for cacheline conscious extendible hashing |
KR20210017912A (ko) * | 2019-08-09 | 2021-02-17 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
DE102021103853A1 (de) | 2020-05-28 | 2021-12-02 | Taiwan Semiconductor Manufacturing Co., Ltd. | Speicherarray-testverfahren und -system |
US11340982B1 (en) * | 2020-11-02 | 2022-05-24 | Micron Technology, Inc. | Memory block defect detection and management |
US11487446B2 (en) | 2020-12-03 | 2022-11-01 | Western Digital Technologies, Inc. | Overhead reduction in data transfer protocol for NAND memory |
US11656274B2 (en) * | 2021-02-15 | 2023-05-23 | Kla Corporation | Systems and methods for evaluating the reliability of semiconductor die packages |
US11733893B2 (en) * | 2021-07-28 | 2023-08-22 | International Business Machines Corporation | Management of flash storage media |
US20230058232A1 (en) * | 2021-08-19 | 2023-02-23 | Micron Technology, Inc. | Partition command queues for a memory device |
Family Cites Families (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5254482A (en) * | 1990-04-16 | 1993-10-19 | National Semiconductor Corporation | Ferroelectric capacitor test structure for chip die |
US5295255A (en) * | 1991-02-22 | 1994-03-15 | Electronic Professional Services, Inc. | Method and apparatus for programming a solid state processor with overleaved array memory modules |
JPH06203595A (ja) * | 1991-08-30 | 1994-07-22 | Texas Instr Inc <Ti> | ユニバーサル・モジューラ・メモリ |
TW261687B (zh) | 1991-11-26 | 1995-11-01 | Hitachi Seisakusyo Kk | |
JP3078946B2 (ja) | 1993-03-11 | 2000-08-21 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 一括消去型不揮発性メモリの管理方法及び半導体ディスク装置 |
KR970008188B1 (ko) | 1993-04-08 | 1997-05-21 | 가부시끼가이샤 히다찌세이사꾸쇼 | 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치 |
GB2291991A (en) | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Disk drive emulation with a block-erasable memory |
JP3197815B2 (ja) | 1996-04-15 | 2001-08-13 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 半導体メモリ装置及びその制御方法 |
US5930504A (en) | 1996-07-22 | 1999-07-27 | Intel Corporation | Dynamic nonvolatile memory update in a computer system |
DE69724575T2 (de) * | 1996-11-25 | 2004-06-24 | Texas Instruments Inc., Dallas | Integrierte Schaltung |
CN1331079C (zh) | 1998-09-30 | 2007-08-08 | 凯登丝设计系统公司 | 基于块的设计方法 |
US6233184B1 (en) * | 1998-11-13 | 2001-05-15 | International Business Machines Corporation | Structures for wafer level test and burn-in |
US6412080B1 (en) | 1999-02-23 | 2002-06-25 | Microsoft Corporation | Lightweight persistent storage system for flash memory devices |
US7690031B2 (en) | 2000-01-06 | 2010-03-30 | Super Talent Electronics, Inc. | Managing bad blocks in flash memory for electronic data flash card |
US8266367B2 (en) | 2003-12-02 | 2012-09-11 | Super Talent Electronics, Inc. | Multi-level striping and truncation channel-equalization for flash-memory system |
US8341332B2 (en) | 2003-12-02 | 2012-12-25 | Super Talent Electronics, Inc. | Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices |
US6854070B2 (en) | 2000-01-25 | 2005-02-08 | Hewlett-Packard Development Company, L.P. | Hot-upgrade/hot-add memory |
JP3555859B2 (ja) * | 2000-03-27 | 2004-08-18 | 広島日本電気株式会社 | 半導体生産システム及び半導体装置の生産方法 |
KR100372248B1 (ko) * | 2000-08-03 | 2003-02-17 | 삼성전자주식회사 | 메모리 셀 구제 장치 및 방법 |
AU2001296891A1 (en) * | 2000-09-22 | 2002-04-02 | Don Mccord | Method and system for wafer and device-level testing of an integrated circuit |
US6948026B2 (en) | 2001-08-24 | 2005-09-20 | Micron Technology, Inc. | Erase block management |
US6901499B2 (en) | 2002-02-27 | 2005-05-31 | Microsoft Corp. | System and method for tracking data stored in a flash memory device |
US20030163633A1 (en) | 2002-02-27 | 2003-08-28 | Aasheim Jered Donald | System and method for achieving uniform wear levels in a flash memory device |
WO2004001605A1 (en) | 2002-06-19 | 2003-12-31 | Tokyo Electron Device Limited | Memory device, memory managing method and program |
CA2461446A1 (en) | 2002-08-29 | 2004-03-11 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory apparatus and method for writing data into the flash memory device |
EP1556861B1 (en) | 2002-10-30 | 2008-03-12 | Matsushita Electric Industrial Co., Ltd. | Recording method and recording apparatus |
CA2414632A1 (en) | 2002-12-18 | 2004-06-18 | Logicvision, Inc. | Method and circuit for collecting memory failure information |
US7330927B1 (en) | 2003-05-07 | 2008-02-12 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Apparatus and methodology for a pointer manager |
ITMI20031126A1 (it) | 2003-06-05 | 2004-12-06 | St Microelectronics Srl | Dispositivo di memoria di massa basato su una memoria |
US6906961B2 (en) | 2003-06-24 | 2005-06-14 | Micron Technology, Inc. | Erase block data splitting |
US20050038792A1 (en) | 2003-08-14 | 2005-02-17 | Johnson Ted C. | Apparatus and method for operating circular files |
US8112574B2 (en) | 2004-02-26 | 2012-02-07 | Super Talent Electronics, Inc. | Swappable sets of partial-mapping tables in a flash-memory system with a command queue for combining flash writes |
US7139864B2 (en) | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
JP4445299B2 (ja) * | 2004-03-18 | 2010-04-07 | 富士通株式会社 | 不揮発性メモリ評価方法 |
US8607016B2 (en) | 2004-07-21 | 2013-12-10 | Sandisk Technologies Inc. | FAT analysis for optimized sequential cluster management |
US20070276973A1 (en) | 2004-09-30 | 2007-11-29 | Intel Corporation | Managing queues |
US7266650B2 (en) | 2004-11-12 | 2007-09-04 | International Business Machines Corporation | Method, apparatus, and computer program product for implementing enhanced circular queue using loop counts |
US7464243B2 (en) | 2004-12-21 | 2008-12-09 | Cisco Technology, Inc. | Method and apparatus for arbitrarily initializing a portion of memory |
US7284168B2 (en) * | 2005-01-26 | 2007-10-16 | Hewlett-Packard Development Company, L.P. | Method and system for testing RAM redundant integrated circuits |
JP2006209861A (ja) * | 2005-01-27 | 2006-08-10 | Matsushita Electric Ind Co Ltd | 半導体集積回路およびそのテスト手法 |
US7277986B2 (en) | 2005-03-30 | 2007-10-02 | Emc Corporation | Sector-edge cache |
US7509474B2 (en) | 2005-06-08 | 2009-03-24 | Micron Technology, Inc. | Robust index storage for non-volatile memory |
US7797479B2 (en) | 2005-06-30 | 2010-09-14 | Intel Corporation | Technique to write to a non-volatile memory |
US7669003B2 (en) | 2005-08-03 | 2010-02-23 | Sandisk Corporation | Reprogrammable non-volatile memory systems with indexing of directly stored data files |
US7609561B2 (en) * | 2006-01-18 | 2009-10-27 | Apple Inc. | Disabling faulty flash memory dies |
US7549021B2 (en) | 2006-02-22 | 2009-06-16 | Seagate Technology Llc | Enhanced data integrity using parallel volatile and non-volatile transfer buffers |
US7750660B2 (en) | 2006-03-30 | 2010-07-06 | Qualcomm Incorporated | Integrated circuit with improved test capability via reduced pin count |
JP2007272635A (ja) | 2006-03-31 | 2007-10-18 | Toshiba Corp | メモリシステム及びコントローラ |
JP4487978B2 (ja) * | 2006-06-28 | 2010-06-23 | セイコーエプソン株式会社 | 半導体記憶装置管理システム、プログラム、半導体記憶装置の管理方法 |
US20080046630A1 (en) | 2006-08-21 | 2008-02-21 | Sandisk Il Ltd. | NAND flash memory controller exporting a logical sector-based interface |
US7562203B2 (en) | 2006-09-27 | 2009-07-14 | Network Appliance, Inc. | Storage defragmentation based on modified physical address and unmodified logical address |
WO2008057557A2 (en) | 2006-11-06 | 2008-05-15 | Rambus Inc. | Memory system supporting nonvolatile physical memory |
US8316206B2 (en) | 2007-02-12 | 2012-11-20 | Marvell World Trade Ltd. | Pilot placement for non-volatile memory |
US20080133832A1 (en) | 2006-12-01 | 2008-06-05 | Dilip Bhavnani | Flash drive-radio combination |
EP2092530B1 (en) | 2006-12-07 | 2012-10-31 | Nxp B.V. | Method and device for reconfiguration of reliability data in flash eeprom storage pages |
US8122319B2 (en) | 2007-01-24 | 2012-02-21 | Charles I. Peddle | Page-based failure management for flash memory |
US8639863B1 (en) * | 2007-08-30 | 2014-01-28 | Virident Systems, Inc. | Memory apparatus for replaceable non-volatile memory |
US8200932B2 (en) * | 2007-10-19 | 2012-06-12 | Virident Systems Inc. | Managing memory systems containing components with asymmetric characteristics |
US8656083B2 (en) | 2007-12-21 | 2014-02-18 | Spansion Llc | Frequency distributed flash memory allocation based on free page tables |
JP2009282678A (ja) | 2008-05-21 | 2009-12-03 | Hitachi Ltd | フラッシュメモリモジュール及びストレージシステム |
US20100017650A1 (en) | 2008-07-19 | 2010-01-21 | Nanostar Corporation, U.S.A | Non-volatile memory data storage system with reliability management |
US7941591B2 (en) | 2008-07-28 | 2011-05-10 | CacheIQ, Inc. | Flash DIMM in a standalone cache appliance system and methodology |
US8381032B2 (en) | 2008-08-06 | 2013-02-19 | O'shantel Software L.L.C. | System-directed checkpointing implementation using a hypervisor layer |
US8086783B2 (en) | 2009-02-23 | 2011-12-27 | International Business Machines Corporation | High availability memory system |
KR101600539B1 (ko) * | 2009-04-07 | 2016-03-08 | 삼성전자주식회사 | 불휘발성 메모리 장치의 프로그램 방법 |
US8438453B2 (en) | 2009-05-06 | 2013-05-07 | Apple Inc. | Low latency read operation for managed non-volatile memory |
KR101606453B1 (ko) * | 2009-05-13 | 2016-04-01 | 삼성전자주식회사 | 비휘발성 데이터 저장 장치의 읽기 및 쓰기 성능 향상 방법 |
US8190873B2 (en) | 2009-05-13 | 2012-05-29 | Dell Products L.P. | System and method for optimizing performance of an information handling system component |
KR20100125099A (ko) * | 2009-05-20 | 2010-11-30 | 삼성전자주식회사 | 반도체 장치 |
US20110035540A1 (en) | 2009-08-10 | 2011-02-10 | Adtron, Inc. | Flash blade system architecture and method |
US9189385B2 (en) | 2010-03-22 | 2015-11-17 | Seagate Technology Llc | Scalable data structures for control and management of non-volatile storage |
US8495435B2 (en) * | 2010-09-22 | 2013-07-23 | Intel Corporation | Dynamic physical memory replacement through address swapping |
JP5221699B2 (ja) * | 2011-03-23 | 2013-06-26 | 株式会社東芝 | 半導体記憶装置 |
CN102737724B (zh) * | 2011-04-07 | 2016-04-06 | 北京大家玩科技有限公司 | 非易失性随机访问存储器测试方法 |
US8918595B2 (en) | 2011-04-28 | 2014-12-23 | Seagate Technology Llc | Enforcing system intentions during memory scheduling |
US8949568B2 (en) | 2011-05-24 | 2015-02-03 | Agency For Science, Technology And Research | Memory storage device, and a related zone-based block management and mapping method |
US9076528B2 (en) | 2011-05-31 | 2015-07-07 | Micron Technology, Inc. | Apparatus including memory management control circuitry and related methods for allocation of a write block cluster |
KR20130044657A (ko) * | 2011-10-24 | 2013-05-03 | 삼성전자주식회사 | 파일 시스템 및 그 제어 방법 |
US10359949B2 (en) | 2011-10-31 | 2019-07-23 | Apple Inc. | Systems and methods for obtaining and using nonvolatile memory health information |
US20140059278A1 (en) | 2011-11-14 | 2014-02-27 | Lsi Corporation | Storage device firmware and manufacturing software |
US9081663B2 (en) | 2011-11-18 | 2015-07-14 | Stec, Inc. | Optimized garbage collection algorithm to improve solid state drive reliability |
US9230635B1 (en) * | 2012-03-06 | 2016-01-05 | Inphi Corporation | Memory parametric improvements |
US9218281B2 (en) | 2012-05-04 | 2015-12-22 | Seagate Technology Llc | Maintaining ordering via a multi-level map of a solid-state media |
US20140052899A1 (en) | 2012-08-18 | 2014-02-20 | Yen Chih Nan | Memory address translation method for flash storage system |
US8976609B1 (en) | 2014-06-16 | 2015-03-10 | Sandisk Enterprise Ip Llc | Low-test memory stack for non-volatile storage |
US9959203B2 (en) | 2014-06-23 | 2018-05-01 | Google Llc | Managing storage devices |
-
2015
- 2015-01-14 US US14/597,169 patent/US9653184B2/en active Active
- 2015-06-03 KR KR1020177000912A patent/KR101935289B1/ko active IP Right Grant
- 2015-06-03 WO PCT/US2015/033909 patent/WO2015195328A1/en active Application Filing
- 2015-06-03 CN CN201580028472.0A patent/CN106716544B/zh not_active Expired - Fee Related
- 2015-06-04 WO PCT/US2015/034212 patent/WO2015195351A1/en active Application Filing
- 2015-06-04 KR KR1020177000914A patent/KR101990708B1/ko active IP Right Grant
- 2015-06-04 CN CN201580031149.9A patent/CN106463181B/zh active Active
- 2015-06-15 TW TW104119308A patent/TWI662550B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN106463181A (zh) | 2017-02-22 |
CN106716544B (zh) | 2020-08-04 |
KR20170018908A (ko) | 2017-02-20 |
KR101990708B1 (ko) | 2019-06-18 |
CN106463181B (zh) | 2019-12-17 |
KR101935289B1 (ko) | 2019-01-04 |
US20150364218A1 (en) | 2015-12-17 |
KR20170020851A (ko) | 2017-02-24 |
TWI662550B (zh) | 2019-06-11 |
WO2015195351A1 (en) | 2015-12-23 |
CN106716544A (zh) | 2017-05-24 |
WO2015195328A1 (en) | 2015-12-23 |
US9653184B2 (en) | 2017-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI662550B (zh) | 用於非揮發性儲存器之低測試記憶體堆疊 | |
US8976609B1 (en) | Low-test memory stack for non-volatile storage | |
US9645765B2 (en) | Reading and writing data at multiple, individual non-volatile memory portions in response to data transfer sent to single relative memory address | |
TWI756297B (zh) | 記憶體系統及其操作方法 | |
US9070481B1 (en) | Internal current measurement for age measurements | |
US9645744B2 (en) | Suspending and resuming non-volatile memory operations | |
US11069425B2 (en) | Multi-level memory repurposing technology to process a request to modify a configuration of a persistent storage media | |
US9093160B1 (en) | Methods and systems for staggered memory operations | |
US20170371559A1 (en) | Systems and Methods for Optimizing Media Read Times | |
US9626312B2 (en) | Storage region mapping for a data storage device | |
US20160018998A1 (en) | Methods and Systems for Scalable Reliability Management of Non-Volatile Memory Modules | |
US20160232088A1 (en) | Garbage Collection in Storage System with Distributed Processors | |
US20160019160A1 (en) | Methods and Systems for Scalable and Distributed Address Mapping Using Non-Volatile Memory Modules | |
US9613715B2 (en) | Low-test memory stack for non-volatile storage | |
US20180173464A1 (en) | Method and system for input-output throttling to improve quality of service in a solid state drive | |
US9244858B1 (en) | System and method of separating read intensive addresses from non-read intensive addresses | |
US9606882B2 (en) | Methods and systems for die failure testing | |
US9652415B2 (en) | Atomic non-volatile memory data transfer | |
US20180189154A1 (en) | Techniques for Non-Volatile Memory Page Retirement | |
US9236142B2 (en) | System method and apparatus for screening a memory system | |
CN108804338B (zh) | 数据存储装置及其操作方法 | |
US20230377674A1 (en) | Component overprovisioning in layered devices | |
US20230153001A1 (en) | Nonvolatile Memory Device And Operation Method Thereof | |
CN112530481A (zh) | 包括存储器控制器和电源管理电路的装置及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |