TW201923602A - 先佔式閒置時間讀取掃描 - Google Patents
先佔式閒置時間讀取掃描 Download PDFInfo
- Publication number
- TW201923602A TW201923602A TW107134717A TW107134717A TW201923602A TW 201923602 A TW201923602 A TW 201923602A TW 107134717 A TW107134717 A TW 107134717A TW 107134717 A TW107134717 A TW 107134717A TW 201923602 A TW201923602 A TW 201923602A
- Authority
- TW
- Taiwan
- Prior art keywords
- read
- memory
- scan operation
- memory array
- response
- Prior art date
Links
Classifications
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
- G06F11/106—Correcting systematically all correctable errors, i.e. scrubbing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output 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/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
-
- 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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- 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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- 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/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/06—Sense amplifiers; Associated circuits, e.g. timing or triggering 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/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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- 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
- G11C2029/0409—Online test
-
- 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/2254—Calibration
-
- 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/2272—Latency related aspects
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5644—Multilevel memory comprising counting devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Semiconductor Memories (AREA)
Abstract
本發明揭示用於在一基於快閃之儲存系統中起始及控制先佔式閒置時間讀取掃描之裝置及技術。在一實例中,一記憶體裝置包含:一NAND記憶體陣列;及一記憶體控制器,其用以排程並起始該記憶體陣列之多個位置中之讀取掃描,其中此等讀取掃描係在該記憶體裝置之一閒置(背景)狀態期間先佔地觸發,因此縮減在該記憶體裝置之一作用中(前景)狀態中之讀取及寫入操作期間之主機延時。在一實例中,最佳化技術包含:排程一讀取掃描操作;監測主機IO操作之一作用中或閒置狀態;及在該讀取掃描操作經排程發生之前,在進入一閒置狀態時先佔地起始該讀取掃描操作。在進一步實例中,該讀取掃描可基於基於時間之排程、基於頻率之條件或觸發該讀取掃描之事件驅動條件而先佔地發生。
Description
記憶體裝置通常係提供為電腦或其他電子裝置中之內部半導體積體電路。存在數個不同類型之記憶體,包含揮發性記憶體及非揮發性記憶體。
揮發性記憶體需要電力來維持其資料,且包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)或同步動態隨機存取記憶體(SDRAM)等。
非揮發性記憶體可在未供電時留存所儲存資料,且包含快閃記憶體、唯讀記憶體(ROM)、電可擦除可程式化ROM (EEPROM)、靜態RAM (SRAM)、可擦除可程式化ROM (EPROM)、電阻可變記憶體(諸如相變隨機存取記憶體(PCRAM))、電阻性隨機存取記憶體(RRAM)、磁阻性隨機存取記憶體(MRAM)或3D XPoint™記憶體等。
快閃記憶體係作為非揮發性記憶體用於廣泛範圍之電子應用。快閃記憶體裝置通常包含容許高記憶體密度、高可靠性及低電力消耗之單電晶體、浮動閘極或電荷捕獲記憶體胞元之一或多個群組。
兩種常見類型之快閃記憶體陣列架構包含以各者之基本記憶體胞元組態配置成之邏輯形式命名之NAND及NOR架構。記憶體陣列之記憶體胞元通常配置成一矩陣。在一實例中,陣列之一列中之各浮動閘極記憶體胞元之閘極耦合至一存取線(例如,一字線)。在一NOR架構中,陣列之一行中之各記憶體胞元之汲極耦合至一資料線(例如,一位元線)。在一NAND架構中,陣列之一串中之各記憶體胞元之汲極串聯、源極至汲極耦合在一起,耦合於一源極線與一位元線之間。
NOR架構半導體記憶體陣列及NAND架構半導體記憶體陣列兩者係透過藉由選擇耦合至特定記憶體胞元之閘極之字線而啟動特定記憶體胞元之解碼器存取。在一NOR架構半導體記憶體陣列中,一旦經啟動,選定記憶體胞元便可將其等資料值放置於位元線上,從而取決於程式化一特定胞元之狀態而引起不同電流流動。在一NAND架構半導體記憶體陣列中,一高偏壓電壓經施加至一汲極側選擇閘極(SGD)線。耦合至各群組之未選定記憶體胞元之閘極之字線係以一指定通過電壓(例如,Vpass)驅動以將各群組之該等未選定記憶體胞元作為傳遞電晶體操作(例如,以不受其等儲存之資料值限制之一方式傳遞電流)。電流接著透過僅藉由各群組之選定記憶體胞元限制之各串聯耦合群組而自源極線流動至位元線,以將選定記憶體胞元之經電流編碼資料值放置於位元線上。
一NOR或NAND架構半導體記憶體陣列中之各快閃記憶體胞元可經個別或共同地程式化至一個或數個程式化狀態。例如,一單位階胞元(SLC)可表示兩個程式化狀態(例如,1或0)之一者(表示一個資料位元)。
然而,快閃記憶體胞元亦可表示兩個以上程式化狀態之一者,從而容許在不增加記憶體胞元之數目之情況下製造較高密度記憶體,因為各胞元可表示一個以上二進位數字(例如,一個以上位元)。此等胞元可被稱為多狀態記憶體胞元、多數字胞元或多位階胞元(MLC)。在某些實例中,MLC可係指每胞元可儲存兩個資料位元(例如,四個程式化狀態之一者)之一記憶體胞元,三位階胞元(TLC)可係指每胞元可儲存三個資料位元(例如,八個程式化狀態之一者)之一記憶體胞元,且四位階胞元(QLC)可每胞元儲存四個資料位元。MLC在本文中以其更廣泛背景內容使用以可指代每胞元可儲存一個以上資料位元(即,可表示兩個以上程式化狀態)之任何記憶體胞元。
傳統記憶體陣列係配置於一半導體基板之一表面上之二維(2D)結構。為針對一給定區域增加記憶體容量並降低成本,已減小個別記憶體胞元之大小。然而,對於減小個別記憶體胞元之大小及因此2D記憶體陣列之記憶體密度存在一技術限制。作為回應,正開發三維(3D)記憶體結構(諸如3D NAND架構半導體記憶體裝置)以進一步增加記憶體密度及降低記憶體成本。
此等3D NAND裝置通常包含串聯(例如,汲極至源極)耦合於接近一源極之一或多個源極側選擇閘極(SGS)與接近一位元線之一或多個汲極側選擇閘極(SGD)之間的儲存胞元串。在一實例中,該等SGS或SGD可包含一或多個場效電晶體(FET)或金屬氧化物半導體(MOS)結構裝置等。在一些實例中,該等串將垂直延伸通過含有各自字線之多個垂直間隔層。一半導體結構(例如,一多晶矽結構)可鄰近一串儲存胞元延伸以形成用於該串之該等儲存胞元之一通道。在一垂直串之實例中,該多晶矽結構可呈一垂直延伸柱之形式。在一些實例中,該串可經「折疊」,且因此相對於一U形柱配置。在其他實例中,多個垂直結構可堆疊於彼此之上以形成儲存胞元串之堆疊陣列。
記憶體陣列或裝置可組合在一起以形成一記憶體系統之一一儲存磁碟區,諸如一固態磁碟機(SSD)、一通用快閃儲存(UFS™)裝置、一多媒體卡(MMC)固態儲存裝置、一嵌入式MMC裝置(eMMC™)等。一SSD尤其可用作在例如效能、大小、重量、耐久性、操作溫度範圍及電力消耗方面具有優於具有移動零件之傳統硬碟機之優點之一電腦之主儲存裝置。例如,SSD可具有與磁碟機相關聯之縮減之搜尋時間、延時或其他延遲(例如,機電延遲等)。SSD使用非揮發性記憶體胞元(諸如快閃記憶體胞元)以消除內部電池供應要求,從而容許磁碟機更通用及緊緻。
一SSD可包含數個記憶體裝置(包含數個晶粒或邏輯單元(例如,邏輯單元號或LUN)),且可包含執行操作該等記憶體裝置或與外部系統介接所需之邏輯功能之一或多個處理器或其他控制器。此等SSD可包含一或多個快閃記憶體晶粒,包含數個記憶體陣列及其上之周邊電路系統。該等快閃記憶體陣列可包含組織成數個實體頁之數個記憶體胞元區塊。在許多實例中,SSD亦將包含DRAM或SRAM (或其他形式之記憶體晶粒或其他記憶體結構)。SSD可自一主機接收與記憶體操作相關聯之命令,該等記憶體操作諸如在記憶體裝置與主機之間傳送資料(例如,使用者資料及相關聯完整性資料,諸如錯誤資料及位址資料等)之讀取或寫入操作,或自記憶體裝置擦除資料之擦除操作。
在基於NAND快閃之儲存系統中,成功地執行讀取操作所需之讀取電壓臨限值(Vt)係持續經受偏移。此等偏移可歸因於NAND快閃上之熟知應力(諸如讀取干擾、資料留存、交叉溫度效應以及其他條件)而發生。此外,一記憶體陣列內之不同NAND區塊可經歷引發變化量之電荷損失或電荷增益之變化量之應力;同樣地,一記憶體陣列之不同NAND區塊常常在不同溫度下寫入及讀取。因此,NAND Vt與一儲存系統實際使用之讀取電壓之間的一失配在許多案例中發生,且用於讀取電壓校準之技術係藉由NAND儲存系統用於根據NAND Vt調整讀取電壓。
用於追蹤NAND健康及對應Vt變化之現有方法包含追蹤一原始位元錯誤率(RBER)趨勢,諸如自藉由一讀取掃描讀取NAND區塊中之頁而判定之一RBER趨勢。執行讀取掃描之目的係提供即時NAND RBER回饋,使得系統可最佳校準NAND讀取電壓以最小化錯誤處置觸發率,或起始先佔式行動以緩解由NAND區塊中之各種應力因素引發之資料完整性風險。然而,執行讀取掃描常常對儲存系統強加一效能額外耗用,且增加主機命令延時。
本文中所論述之系統、程序及組態係關於用於在一NAND記憶體裝置中觸發及執行先佔式閒置時間讀取掃描之最佳化技術。明確言之,揭示使用基於窗之準則來代替絕對準則以在主機讀取/寫入驅動活動之閒置狀態期間可應用時先佔地觸發讀取掃描之例示性技術。在此等閒置狀態期間執行讀取掃描可減小讀取掃描對主機讀取/寫入效能之影響。此外,揭示使基於窗之觸發準則能夠回應於時間觸發、基於頻率之觸發或基於事件之觸發而使用之例示性技術。又進一步,先佔式讀取掃描觸發可用於為一記憶體系統提供在閒置狀態期間在背景中執行額外維護任務之機會,因此減輕在前景中進行此等維護任務之主機IO效能影響。
電子裝置(諸如行動電子裝置(例如,智慧型電話、平板電腦等)、用於汽車應用中之電子裝置(例如,汽車感測器、控制單元、駕駛輔助系統、乘客安全或舒適系統等),及網際網路連接設備或裝置(例如,物聯網(IoT)裝置等))尤其取決於電子裝置之類型、使用環境、效能預期等以及其他方面而具有變化儲存需求。
電子裝置可分成若干主要組件:一處理器(例如,一中央處理單元(CPU)或其他主處理器);記憶體(例如,一或多個揮發性或非揮發性隨機存取記憶體(RAM)記憶體裝置,諸如動態RAM (DRAM)、行動或低功率雙倍資料速率同步DRAM (DDR SDRAM)等);及一儲存裝置(例如,非揮發性記憶體(NVM)裝置,諸如快閃記憶體、唯讀記憶體(ROM)、一SSD、一MMC或其他記憶卡結構或總成等)。在某些實例中,電子裝置可包含一使用者介面(例如,一顯示器、觸控螢幕、鍵盤、一或多個按鈕等)、一圖形處理單元(GPU)、一電力管理電路、一基頻處理器或一或多個收發器電路等。
圖1繪示包含經組態以經由一通信介面通信之一主機裝置105及一記憶體裝置110之一環境100的一實例。主機裝置105或記憶體裝置110可包含於各種產品150(諸如物聯網(IoT)裝置(例如,一冰箱或其他設備、感測器、馬達或致動器、行動通信裝置、汽車、無人機等))中以支援產品150之處理、通信或控制,產品150。
記憶體裝置110包含一記憶體控制器115及(例如)包含數個個別記憶體晶粒(例如,三維(3D) NAND晶粒之一堆疊)之一記憶體陣列120。在3D架構半導體記憶體技術中,垂直結構經堆疊,從而增加階層、實體頁之數目且相應地增加一記憶體裝置(例如,一儲存裝置)之密度。在一實例中,記憶體裝置110可為一離散記憶體或主機裝置105之儲存裝置組件。在其他實例中,記憶體裝置110可為與主機裝置105之一或多個其他組件堆疊或以其他方式一起包含之一積體電路之一部分(例如,一系統單晶片(SOC)等)。
一或多個通信介面可用於在記憶體裝置110與主機裝置105之一或多個其他組件之間傳送資料,諸如一串列進階附接技術(SATA)介面、一周邊組件快速互連(PCIe)介面、一通用串列匯流排(USB)介面、一通用快閃儲存(UFS)介面、一eMMC™介面,或一或多個其他連接器或介面。主機裝置105可包含一主機系統、一電子裝置、一處理器、一記憶卡讀取器,或在記憶體裝置110外部之一或多個其他電子裝置。在一些實例中,主機105可為具有參考圖8之機器800所論述之組件之某部分或全部之一機器。
記憶體控制器115可自主機105接收指令,且可與記憶體陣列通信(諸如)以傳送(例如,寫入或擦除)資料至記憶體陣列之記憶體胞元、平面、子區塊、區塊或頁之一或多者或自記憶體陣列之記憶體胞元、平面、子區塊、區塊或頁之一或多者傳送(例如,讀取)資料。記憶體控制器115可尤其包含電路系統或韌體(包含一或多個組件或積體電路)。例如,記憶體控制器115可包含經組態以控制跨記憶體陣列120之存取及提供主機105與記憶體裝置110之間的一轉譯層之一或多個記憶體控制單元、電路或組件。記憶體控制器115可包含一或多個輸入/輸出(I/O)電路、線或介面以傳送資料至記憶體陣列120或自記憶體陣列120傳送資料。記憶體控制器115可包含一記憶體管理器125及一陣列控制器135。
記憶體管理器125可尤其包含電路系統或韌體,諸如與各種記憶體管理功能相關聯之數個組件或積體電路。出於本發明描述之目的,例示性記憶體操作及管理功能將在NAND記憶體之背景內容中描述。熟習此項技術者將認知,其他形式之非揮發性記憶體可具有類似記憶體操作或管理功能。此等NAND管理功能包含損耗平衡(例如,廢棄項目收集或回收)、錯誤偵測或校正、區塊引退(retirement),或一或多個其他記憶體管理功能。記憶體管理器125可將主機命令(例如,自一主機接收之命令)剖析或格式化成裝置命令(例如,與一記憶體陣列之操作相關聯之命令等),或產生用於陣列控制器135或記憶體裝置110之一或多個其他組件之裝置命令(例如,以完成各種記憶體管理功能)。
記憶體管理器125可包含經組態以維持與記憶體裝置110之一或多個組件相關聯之各種資訊(例如,與耦合至記憶體控制器115之一記憶體陣列或一或多個記憶體胞元相關聯之各種資訊)之一組管理表130。例如,管理表130可包含關於耦合至記憶體控制器115之記憶體胞元之一或多個區塊之區塊年限、區塊擦除計數、錯誤歷史或一或多個錯誤計數(例如,一寫入操作錯誤計數、一讀取位元錯誤計數、一讀取操作錯誤計數、一擦除錯誤計數等)之資訊。在某些實例中,若錯誤計數之一或多者之經偵測錯誤之數目高於一臨限值,則位元錯誤可被稱為一不可校正位元錯誤。管理表130尤其可維持可校正或不可校正位元錯誤之一計數。
陣列控制器135可尤其包含經組態以控制與將資料寫入至耦合至記憶體控制器115之記憶體裝置110之一或多個記憶體胞元、自該一或多個記憶體胞元讀取資料或擦除該一或多個記憶體胞元相關聯之記憶體操作之電路系統或組件。該等記憶體操作可基於(例如)自主機105接收或在內部藉由記憶體管理器125產生(例如,與損耗平衡、錯誤偵測或校正等相關聯)之主機命令。
陣列控制器135可包含一錯誤校正碼(ECC)組件140,ECC組件140可尤其包含經組態以偵測或校正與將資料寫入至耦合至記憶體控制器115之記憶體裝置110之一或多個記憶體胞元或自該一或多個記憶體胞元讀取資料相關聯之錯誤的一ECC引擎或其他電路系統。記憶體控制器115可經組態以主動地偵測與資料之各種操作或儲存相關聯之錯誤發生(例如,位元錯誤、操作錯誤等)及自該等錯誤發生恢復,同時維持在主機105與記憶體裝置110之間傳送之資料之完整性,或維持經儲存資料之完整性(例如,使用冗餘RAID儲存等),且可移除(例如,引退)失效記憶體資源(例如,記憶體胞元、記憶體陣列、頁、區塊等)以防止未來錯誤。
記憶體陣列120可包含配置成(例如)數個裝置、平面、子區塊、區塊或頁之若干記憶體胞元。作為一實例,一48 GB TLC NAND記憶體裝置可包含每頁18,592個資料位元組(B) (16,384 + 2208個位元組)、每區塊1536頁、每平面548個區塊及每裝置4個或4個以上平面。作為另一實例,一32 GB MLC記憶體裝置(每胞元儲存兩個資料位元(即,4個可程式化狀態))可包含每頁18,592個資料位元組(B) (16,384 + 2208個位元組)、每區塊1024頁、每平面548個區塊及每裝置4個平面,但具有一對應TLC記憶體裝置之一半所需寫入時間及兩倍程式化/擦除(P/E)循環。其他實例可包含其他數目或配置。在一些實例中,一記憶體裝置或其之一部分可選擇性地在SLC模式或在一所要MLC模式(諸如TLC、QLC等)中操作。
在操作中,資料通常以頁寫入至NAND記憶體裝置110或自NAND記憶體裝置110讀取,且以區塊擦除。然而,一或多個記憶體操作(例如,讀取、寫入、擦除等)可視需要對較大或較小群組之記憶體胞元執行。一NAND記憶體裝置110之資料傳送大小通常被稱為一頁,而一主機之資料傳送大小通常被稱為一區段。
儘管一資料頁可包含使用者資料(例如,包含數個資料區段之一資料酬載)及其對應後設資料之數個位元組,然該頁之大小通常僅係指用於儲存該使用者資料之位元組之數目。作為一實例,具有4 KB之一頁大小之一資料頁可包含4 KB之使用者資料(例如,呈現512 B之一區段大小之8個區段)以及對應於該使用者資料之數個位元組(例如,32 B、54 B、224 B等)之後設資料,諸如完整性資料(例如,錯誤偵測或校正碼資料)、位址資料(例如,邏輯位址資料等)或與使用者資料相關聯之其他後設資料。
不同類型之記憶體胞元或記憶體陣列120可提供不同頁大小,或可需要與其相關聯之不同量之後設資料。例如,不同記憶體裝置類型可具有不同位元錯誤率,此可導致確保該頁資料之完整性所需之不同量之後設資料(例如,具有一較高位元錯誤率之一記憶體裝置與具有一較低位元錯誤率之一記憶體裝置相比可需要更多位元組之錯誤校正碼資料)。作為一實例,一多位階胞元(MLC) NAND快閃裝置可具有高於一對應單位階胞元(SLC) NAND快閃裝置之一位元錯誤率。因而,與對應SLC裝置相比,MLC裝置可需要更多後設資料位元組用於錯誤資料。
圖2繪示包含組織成區塊(例如,區塊A 201A、區塊B 201B等)及子區塊(例如,子區塊A0
201A0
、子區塊An
201An
、子區塊B0
201B0
、子區塊Bn
201Bn
等)之數串記憶體胞元(例如,第一至第三A0
記憶體串205A0
至207A0
、第一至第三An
記憶體串205An
至207An
、第一至第三B0
記憶體串205B0
至207B0
、第一至第三Bn
記憶體串205Bn
至207Bn
等)之一3D NAND架構半導體記憶體陣列200之一例示性示意圖。記憶體陣列200表示通常將在一記憶體裝置之一區塊、裝置或其他單元中找到之較大數目個類似結構之一部分。
各記憶體胞元串包含沿著Z方向、源極至汲極堆疊於一源極線(SRC) 235或一源極側選擇閘極(SGS) (例如,第一至第三A0
SGS 231A0
至233A0
、第一至第三An
SGS 231An
至233An
、第一至第三B0
SGS 231B0
至233B0
、第一至第三Bn
SGS 231Bn
-233Bn
,等)與一汲極側選擇閘極(SGD) (例如,第一至第三A0
SGD 226A0
至228A0
、第一至第三An
SGD 226An
至228An
、第一至第三B0
SGD 226B0
至228B0
、第一至第三Bn
SGD 226Bn
至228Bn
等)之間的電荷儲存電晶體(例如,浮動閘極電晶體、電荷捕獲結構等)之數個階層。3D記憶體陣列中之各串記憶體胞元可沿著X方向配置為資料線(例如,位元線(BL) BL0至BL2 220至222),且沿著Y方向配置為實體頁。
在一實體頁內,各階層表示一記憶體胞元列,且各記憶體胞元串表示一行。一子區塊可表示一或多個實體頁。一區塊可包含數個子區塊(或實體頁) (例如,128個、256個、384個等)。儘管本文中繪示為具有兩個區塊,各區塊具有兩個子區塊,各子區塊具有一單一實體頁,各實體頁具有三串記憶體胞元,且各串具有記憶體胞元之8個階層,然在其他實例中,記憶體陣列200可包含更多或更少區塊、子區塊、實體頁、記憶體胞元串、記憶體胞元或階層。例如,各串記憶體胞元可視需要包含更多或更少階層(例如,16個、32個、64個、128個等),以及在電荷儲存電晶體(例如,選擇閘、資料線等)上方或下方之一或多個額外半導體材料階層。作為一實例,一48 GB TLC NAND記憶體裝置可包含每頁18,592個資料位元組(B) (16,384 + 2208個位元組)、每區塊1536頁、每平面548個區塊及每裝置4個或4個以上平面。
記憶體陣列200中之各記憶體胞元包含耦合至(例如,電連接至或以其他方式可操作地連接至)一存取線(例如,字線(WL) WL00
至WL70
210A至217A、WL01
至WL71
210B至217B等)之一控制閘極(CG),該存取線視需要共同耦合跨一特定階層或一階層之一部分之控制閘極(CG)。3D記憶體陣列中之特定階層及相應地一串中之特定記憶體胞元可使用各自存取線存取或控制。選擇閘極群組可使用各種選擇線存取。例如,第一至第三A0
SGD 226A0
至228A0
可使用一A0
SGD線SGDA0
225A0
存取,第一至第三An
SGD 226An
至228An
可使用一An
SGD線SGDAn
225An
存取,第一至第三B0
SGD 226B0
至228B0
可使用一B0
SGD線SGDB0
225B0
存取,且第一至第三Bn
SGD 226Bn
至228Bn
可使用一Bn
SGD線SGDBn
225Bn
存取。第一至第三A0
SGS 231A0
至233A0
及第一至第三An
SGS 231An
至233An
可使用一閘極選擇線SGS0
230A存取,且第一至第三B0
SGS 231B0
至233B0
及第一至第三Bn
SGS 231Bn
至233Bn
可使用一閘極選擇線SGS1
230B存取。
在一實例中,記憶體陣列200可包含經組態以耦合該陣列之一各自階層之各記憶體胞元之控制閘極(CG)或選擇閘極(或CG或選擇閘極之一部分)之數個半導體材料(例如,多晶矽等)層級。陣列中之特定記憶體胞元串可使用位元線(BL)及選擇閘極等之一組合存取、選擇或控制,且在該等特定串中之一或多個階層處之特定記憶體胞元可使用一或多個存取線(例如,字線)存取、選擇或控制。
圖3繪示包含配置成串(例如,第一至第三串305至307)及階層(例如,繪示為各自字線(WL) WL0至WL7 310至317、一汲極側選擇閘極(SGD)線325、一源極側選擇閘極(SGS)線330等)之一個二維陣列之複數個記憶體胞元302及感測放大器或裝置360之一NAND架構半導體記憶體陣列300之一部分的一例示性示意圖。例如,記憶體陣列300可繪示諸如圖2中所繪示之一3D NAND架構半導體記憶體裝置之記憶體胞元之一個實體頁之一部分的一例示性示意圖。
各記憶體胞元串使用一各自源極側選擇閘極(SGS) (例如,第一至第三SGS 331至333)耦合至一源極線(SRC) 335,且使用一各自汲極側選擇閘極(SGD) (例如,第一至第三SGD 326至328)耦合至一各自資料線(例如,第一至第三位元線(BL) BL0至BL2 320至322)。儘管在圖3之實例中經繪示具有8個階層(例如,使用字線(WL) WL0至WL7 310至317)及三個資料線(BL0至BL2 320至322),然其他實例可視需要包含具有更多或更少階層或資料線之記憶體胞元串。
在一NAND架構半導體記憶體陣列(諸如例示性記憶體陣列300)中,一選定記憶體胞元302之狀態可藉由感測與含有該選定記憶體胞元之一特定資料線相關聯之一電流或電壓變動而存取。記憶體陣列300可(例如,藉由一控制電路、一或多個處理器、數位邏輯等)使用一或多個驅動程式存取。在一實例中,一或多個驅動程式可藉由取決於需要對一特定記憶體胞元或記憶體胞元集合執行之操作之類型驅動一特定電位至一或多個資料線(例如,位元線BL0至BL2)、存取線(例如,字線WL0至WL7)或選擇閘極而啟動該特定記憶體胞元或記憶體胞元集合。
為將資料程式化或寫入至一記憶體胞元,可將一程式化電壓(Vpgm) (例如,一或多個程式化脈衝等)施加至選定字線(例如,WL4)且因此施加至耦合至該等選定字線之各記憶體胞元之一控制閘極(例如,耦合至WL4之記憶體胞元之第一至第三控制閘極(CG) 341至343)。程式化脈衝可(例如)以15 V或接近15 V開始,且在某些實例中可在各程式化脈衝施加期間增加量值。在程式電壓施加至選定字線時,一電位(諸如一接地電位(例如,Vss))可施加至經標定用於程式化之記憶體胞元之資料線(例如,位元線)及基板(及因此源極與汲極之間的通道),從而導致自該等通道至標定記憶體胞元之浮動閘極之電荷轉移(例如,直接注入或福勒-諾德漢(FN)穿隧等)。
相比而言,一通過電壓(Vpass)可施加至具有未經標定用於程式化之記憶體胞元之一或多個字線,或一禁止電壓(例如,Vcc)可施加至具有未經標定用於程式化之記憶體胞元之資料線(例如,位元線) (例如)以禁止電荷自通道轉移至此等非標定記憶體胞元之浮動閘極。該通過電壓可(例如)取決於經施加通過電壓對經標定用於程式化之一字線之近接性而改變。該禁止電壓可包含相對於一接地電位(例如,Vss)之一供應電壓(Vcc),諸如來自一外部源或供應器(例如,一電池、一AC至DC轉換器等)之一電壓。
作為一實例,若將一程式化電壓(例如,15 V或更大)施加至一特定字線(諸如WL4),則可將10 V之一通過電壓施加至一或多個其他字線(諸如WL3、WL5等)以禁止程式化非標定記憶體胞元,或留存儲存於未經標定用於程式化之此等記憶體胞元上之值。在一經施加程式化電壓與非標定記憶體胞元之間的距離增加時,抑制程式化非標定記憶體胞元所需之通過電壓可減小。例如,在將15 V之一程式化電壓施加至WL4之情況下,可將10 V之一通過電壓施加至WL3及WL5,可將8 V之一通過電壓施加至WL2及WL6,可將7 V之一通過電壓施加至WL1及WL7等。在其他實例中,通過電壓或字線之數目等可更高或更低,或更多或更少。
耦合至資料線(例如,第一、第二或第三位元線(BL0至BL2) 320至322)之一或多者之感測放大器360可藉由感測一特定資料線上之一電壓或電流而偵測各自資料線中之各記憶體胞元之狀態。
在施加一或多個程式化脈衝(例如,Vpgm)之間,可執行一驗證操作以判定一選定記憶體胞元是否已達到其預期程式化狀態。若該選定記憶體胞元已達到其預期程式化狀態,則其可被禁止進一步程式化。若該選定記憶體胞元尚未達到其預期程式化狀態,則可施加額外程式化脈衝。若選定記憶體胞元在特定數目個(例如,最大數目)程式化脈衝之後未達到其預期程式化狀態,則選定記憶體胞元或與此選定記憶體胞元相關聯之一串、區塊或頁可經標記為有缺陷。
為擦除一記憶體胞元或一群組之記憶體胞元(例如,通常以區塊或子區塊執行擦除),可將一擦除電壓(Vers) (例如,通常為Vpgm)施加至經標定用於擦除之記憶體胞元之基板(及因此源極與汲極之間的通道) (例如,使用一或多個位元線、選擇閘極等),而使標定記憶體胞元之字線保持於一電位(諸如一接地電位(例如,Vss)),從而導致自標定記憶體胞元之浮動閘極至通道之電荷轉移(例如,直接注入或福勒-諾德漢(FN)穿隧等)。
圖4繪示包含具有複數個記憶體胞元404之一記憶體陣列402及用以提供與記憶體陣列402之通信或對記憶體陣列402執行一或多個記憶體操作之一或多個電路或組件之一記憶體裝置400的一例示性方塊圖。記憶體裝置400可包含一列解碼器412、一行解碼器414、感測放大器420、一頁緩衝器422、一選擇器424、一輸入/輸出(I/O)電路426及一記憶體控制單元430。
記憶體陣列402之記憶體胞元404可配置成區塊(諸如第一區塊402A及第二區塊402B)。各區塊可包含子區塊。例如,第一區塊402A可包含第一子區塊402A0
及第二子區塊402An
,且第二區塊402B可包含第一子區塊402B0
及第二子區塊402Bn
。各子區塊可包含數個實體頁,各頁包含數個記憶體胞元404。儘管本文中繪示為具有兩個區塊,各區塊具有兩個子區塊,且各子區塊具有數個記憶體胞元404,然在其他實例中,記憶體陣列402可包含更多或更少區塊、子區塊、記憶體胞元等。在其他實例中,記憶體胞元404可配置成數個列、行、頁、子區塊、區塊等,且使用(例如)存取線406、第一資料線410或一或多個選擇閘極、源極線等存取。
記憶體控制單元430可根據在控制線432上接收之一或多個信號或指令(例如,包含指示一所要操作(例如,寫入、讀取、擦除等)之一或多個時脈信號或控制信號)或在一或多個位址線416上接收之位址信號(A0至AX)來控制記憶體裝置400之記憶體操作。在記憶體裝置400外部之一或多個裝置可控制控制線432上之控制信號之值或位址線416上之位址信號。在記憶體裝置400外部之裝置之實例可包含(但不限於)圖4中未繪示之一主機、一記憶體控制器、一處理器或一或多個電路或組件。
記憶體裝置400可使用存取線406及第一資料線410以將資料傳送(例如,寫入或擦除)至記憶體胞元404之一或多者或自記憶體胞元404之一或多者傳送(例如,讀取)資料。列解碼器412及行解碼器414可自位址線416接收及解碼位址信號(A0至AX),可判定應存取之記憶體胞元404,且可提供信號至諸如上文所描述之存取線406 (例如,複數個字線(WL0至WLm)之一或多者)或第一資料線410 (例如,複數個位元線(BL0至BLn)之一或多者)之一或多者。
記憶體裝置400可包含經組態以使用第一資料線410判定記憶體胞元404上之資料之值(例如,讀取)或判定寫入至記憶體胞元404之資料之值之感測電路系統(諸如感測放大器420)。例如,在記憶體胞元404之一選定串中,感測放大器420之一或多者可回應於在記憶體陣列402中流動通過該選定串至資料線410之一讀取電流而讀取選定記憶體胞元404中之一邏輯位準。
在記憶體裝置400外部之一或多個裝置可使用I/O線(DQ0至DQN) 408、位址線416 (A0至AX)或控制線432與記憶體裝置400通信。輸入/輸出(I/O)電路426可使用I/O線408根據(例如)控制線432及位址線416將資料值傳送於記憶體裝置400中或從記憶體裝置400傳送出資料值(諸如傳送於頁緩衝器422或記憶體陣列402中或從頁緩衝器422或記憶體陣列402傳送出)。頁緩衝器422可在將自記憶體裝置400外部之一或多個裝置接收之資料程式化至記憶體陣列402之相關部分中之前儲存該資料,或可在將自記憶體陣列402讀取之資料傳輸至記憶體裝置400外部之一或多個裝置之前儲存該資料。
行解碼器414可接收位址信號(A0至AX)並將其等解碼成一或多個行選擇信號(CSEL1至CSELn)。選擇器424 (例如,一選擇電路)可接收該等行選擇信號(CSEL1至CSELn)且選擇頁緩衝器422中之表示將自記憶體胞元404讀取或程式化至記憶體胞元404中之資料之值之資料。選定資料可使用第二資料線418在頁緩衝器422與I/O電路426之間傳送。
記憶體控制單元430可自一外部源或供應器(例如,一內部或外部電池、一AC至DC轉換器等)接收正及負供應信號,諸如一供應電壓(Vcc) 434及一負供應電壓(Vss) 436 (例如,一接地電位)。在某些實例中,記憶體控制單元430可包含在內部提供正或負供應信號之一調節器428。
以下技術及組態提供針對讀取掃描最佳化之態樣在一NAND記憶體裝置內實施之技術,包含排程、觸發及控制此等讀取掃描操作。本文中所論述之技術及組態可特定應用於一基於3D NAND快閃之儲存系統,諸如體現上文所論述之3D NAND架構特徵之一系統。然而,將明白,所揭示之讀取掃描最佳化技術及組態亦可應用於其他形式之NAND快閃裝置(包含其中NAND快閃裝置之組件以其他外觀尺寸或配置應用)。
在基於NAND快閃之儲存系統中,一NAND記憶體陣列包含經歷不同量之電荷損失及電荷增益之各種區塊,及在不同溫度下程式化(寫入)之各種區塊。因此,用以讀取記憶體陣列之任何特定區塊或區域之Vt可自記憶體陣列之另一區塊或另一區域改變。此外,用於記憶體之一特定區塊或區域之Vt歸因於應力而持續經受偏移,且因此Vt可在任一方向上偏移。
讀取干擾係在一NAND快閃裝置上發生之影響Vt之一應力之一實例。在一主機或應用程式自快閃裝置擷取特定資料時,若該主機利用資料之一特別高讀取速率或讀取密集型應用程式(取決於資料如何分散於快閃裝置內),則讀取干擾應力可增大。例如,若一邏輯區塊位址(LBA)映射至一NAND區塊之一特定實體位置,則由於該區塊內之偏壓條件,在未選定字線上可引發引起記憶體胞元之Vt偏移之應力。
交叉溫度效應係在一NAND快閃裝置上發生之影響Vt之一應力之另一實例。交叉溫度效應引起NAND區塊中之胞元Vt由於寫入時間與讀取時間之間的一溫度差而向右或向左偏移。例如,在將資料寫入至一NAND快閃裝置(例如,一SSD磁碟機,或SD/MMC卡)時,讀取該資料所需之Vt係基於在寫入該資料時之環境溫度。然而,因為資料可保持駐留於快閃裝置上達長時間段,所以快閃裝置不太可能在相同溫度下讀取。
用於讀取一區塊之一讀取電壓與用於一特定區塊之Vt之間的一失配將導致資料錯誤。資料錯誤之一個表示(不良位元計數)可在一NAND儲存系統中作為一「原始位元錯誤率」(RBER)量測。因此,RBER提供讀取電壓與Vt之間的失配之一函數。因此,在許多現有基於NAND快閃之儲存系統之操作中,RBER提供一量測以判定讀取電壓是否不正確,且是否應進行電壓校準。
如藉由RBER之一趨勢或量測指示之NAND健康可藉由自NAND記憶體陣列之各種區塊讀取頁進行追蹤。用於讀取頁之此技術通常被稱為一「讀取掃描」,且涉及跨NAND區塊在不同讀取電壓下讀取一組隨機或經判定之經取樣頁或字線。在現有記憶體裝置中,一讀取掃描可自同步事件以一常規節奏觸發以追蹤時間相依應力效應(諸如資料留存);或一讀取掃描可基於區塊使用或來自非同步事件之主機工作負載型樣而觸發(諸如在讀取干擾之情況下)。
讀取掃描之主要目的係提供即時NAND RBER回饋,使得記憶體裝置判定何時校準NAND讀取電壓以最小化錯誤處置觸發率,或何時起始先佔式行動以緩解由NAND區塊中之各種應力因素引發之資料完整性風險。藉由現有形式之讀取掃描程序,在不同讀取電壓下取樣RBER影響主機效能且增加命令延時。因此,藉由現有形式之讀取掃描程序使用之取樣通常以一足夠慢速率執行使得不會影響主機效能。
本文中論述用以藉由與經排程條件(諸如基於時間窗、基於頻率或基於事件之條件)協調以在主機IO閒置時間期間先佔地觸發讀取掃描而改良系統效能之技術及組態。此為一記憶體系統提供基於經排程條件之絕對觸發減少前景中之主機IO爭用且因此在基準工作負載及典型使用者工作負載下改良效能及縮減主機操作之延時之機會。
本文中所論述之技術包含使用基於窗之準則代替絕對準則以在記憶體裝置活動之閒置週期中先佔地觸發讀取掃描。特定言之,行動裝置及消費性SSD中所使用之記憶體裝置通常經歷藉由容許記憶體系統韌體執行背景任務(諸如讀取掃描)之頻繁主機閒置時間特性化之一叢發性工作負載。本文中所論述之讀取掃描管理技術容許記憶體裝置韌體在主機閒置事件期間有效地執行讀取掃描並減小對主機效能之影響。
在本文中所論述之實例中,基於窗之準則可應用於時間觸發、頻域觸發或基於事件之觸發以容許回應於記憶體裝置之同步及非同步事件之部署。當滿足基於窗之觸發準則時,記憶體裝置在下一主機閒置狀態期間起始對經取樣NAND區塊之讀取掃描作為一背景任務。讀取掃描接著可具有在原本將發生啟動讀取掃描之一經排程條件之前以一先佔方式在發生閒置狀態之後完成之一機會。
此先佔式讀取掃描為記憶體裝置提供在主機閒置時間期間在背景中執行資料完整性特定維護任務之一機會,藉此緩解在前景中運行之主機IO效能影響。因此,可最小化在前景中之主機IO存取與讀取掃描之間的衝突或爭用。又因此,記憶體裝置可利用經識別之主機閒置時間以按一最佳化或優先化方式進行讀取掃描及其他背景任務,以針對行動裝置及消費性SSD之典型使用提供改良之主機IO效能及延時。此方法與一些行動裝置及消費性SSD中發現之各種低功率要求互補,該等低功率要求通常會對記憶體裝置強加趨於限制背景閒置時間之可用性之積極的電力管理策略。
本文中所論述之技術亦可用於有效地隱藏由背景主機閒置時間中之讀取掃描所引起之延時。該等技術亦有助於最小化與前景中之主機IO之讀取掃描相關衝突,藉此改良效能並縮減用於記憶體裝置讀取/寫入操作之延時額外耗用。此外,該等技術提供用於基準工作負載之更佳效能及延時一致性,以及用於運用頻繁主機閒置時間特性化之典型使用者工作負載之最佳化。自以下例示性組態及實施方案將明白此等及其他技術優點。
圖5提供包含適於實施本文中所論述之讀取掃描最佳化技術之具有含控制模組542之一記憶體控制器540之一記憶體裝置510 (例如,一SSD儲存裝置、一SD/MMC卡等)之一例示性系統500的一方塊圖。在一實例中,控制模組542之功能性可實施於記憶體控制器540之一韌體中之各自模組中。然而,將理解,控制器540可利用各種形式之軟體、韌體及硬體以實施控制模組542及本文中所論述之其他技術。
如所展示,記憶體裝置510包含具有多個晶粒(晶粒1至N)之一NAND記憶體陣列530,其中各晶粒包含一或多個區塊(區塊1至N)。該一或多個區塊之各者可包含進一步劃分之部分,諸如每區塊一或多個字線(未展示);且該一或多個字線之各者可取決於該字線之記憶體胞元經組態以儲存之資料狀態之數目而進一步包括每字線一或多頁(未展示)。
在一實例中,記憶體陣列530之記憶體胞元之區塊包含以下至少一者之群組:單位階胞元(SLC) NAND記憶體胞元、多層胞元(MLC) NAND記憶體胞元、三層胞元(TLC) NAND記憶體胞元或四層胞元(QLC) NAND記憶體胞元。又,在一實例中,記憶體陣列530係配置成三維(3D) NAND晶粒之一堆疊,使得擁有一各自區塊之多個區塊之各自群組係藉由3D NAND晶粒之堆疊中之一各自晶粒提供之一區塊群組之一成員。為簡潔起見,在圖5中未繪示記憶體陣列530之此等組態及進一步詳細組件。然而,記憶體陣列530可併入有此等或上文參考3D NAND架構裝置或其他形式之NAND儲存裝置之特徵所描述之特徵之任一者。
記憶體裝置510經展示為經由一控制器540可操作地耦合至一主機520。控制器540經調適以接收及處理主機IO命令525 (諸如讀取操作、寫入操作、擦除操作及類似者)以讀取、寫入、擦除及管理儲存於記憶體裝置530內之資料。為簡潔起見,亦未描繪記憶體裝置510之各種其他組件(諸如一記憶體管理器,及其他電路系統或操作組件)及控制器540之各種其他組件。
控制器540經描繪為包含一記憶體544 (例如,揮發性記憶體)、處理電路系統546 (例如,一微處理器)及一儲存媒體548 (例如,非揮發性記憶體),用於執行指令(例如,由儲存媒體548所擁有、載入至記憶體544中及藉由處理電路系統546執行之指令)以實施控制模組542以用於管理及使用記憶體陣列530。藉由控制模組542提供之功能性可包含(但不限於):IO操作監測550 (例如,監測源自於主機命令之讀取及寫入IO操作);主機操作處理555 (例如,用以解譯及處理主機IO命令525,及發出進一步命令至記憶體陣列530以執行各自讀取、寫入、擦除或其他主機起始之操作);讀取掃描控制560 (例如,用以控制記憶體陣列530上之各自讀取掃描操作585之時序、準則、條件及參數);讀取電壓控制570 (例如,用以建立、設定及利用一讀取電壓位準以讀取記憶體陣列530之一特定部分);讀取位準校準580 (例如,用以操作一校準程序以識別記憶體陣列530之一或若干特定部分之一新讀取電壓位準;及錯誤偵測處理590 (例如,用以識別及校正來自讀取操作中所獲得之資料之錯誤,識別用於一特定讀取操作或操作集合之一或多個RBER等)。
在一實例中,主機操作處理555係用於解譯及處理主機IO命令525 (例如,讀取及寫入命令)並起始控制器540及記憶體陣列530中之隨附命令以完成主機IO命令525。此外,回應於主機IO命令525及IO操作監測550及錯誤偵測處理590,主機操作處理555可協調讀取掃描控制560之時序、條件及參數。
在一實例中,IO操作監測555操作以追蹤藉由主機IO命令起始之對記憶體陣列之讀取及寫入。IO操作監測555亦操作以追蹤隨附IO操作及狀態,諸如一主機IO作用中或非作用狀態(例如,其中一作用中狀態對應於控制器540及記憶體陣列530主動地執行自主機520起始之讀取或寫入IO操作之狀態,且其中一非作用狀態對應於未執行自主機520起始之此等IO操作)。IO操作監測550亦可結合判定用於如本文中所論述之讀取掃描控制560之參數而監測伴隨自主機520起始之IO操作發生之電壓位準及讀取錯誤率之態樣。
在一實例中,讀取掃描控制560操作以諸如基於IO條件(例如,藉由IO操作監測555指示)或錯誤條件(例如,藉由錯誤偵測處理590指示)識別記憶體陣列530及控制器540中用於排程及進行一讀取掃描操作585之參數。讀取掃描控制560進一步定義一或多個經排程條件及一或多個觸發窗以用於排程讀取掃描操作585及在該(等)觸發窗期間先佔地啟動讀取掃描操作585。讀取掃描控制560進一步操作以透過如下文參考圖6A及圖6B所繪示及論述之同步或非同步事件處理基於此等或其他參數起始及執行讀取掃描操作585。
在一實例中,讀取電壓控制570係用於建立、改變及提供用於讀取記憶體之一特定區域(諸如記憶體陣列530中之一各自區塊)之一電壓值。例如,讀取電壓控制570可實施各種正或負位移以讀取各自記憶體胞元及包含該等各自記憶體胞元之記憶體位置(例如,頁、區塊、晶粒)。
在一實例中,讀取位準校準580係用於建立(例如,改變、更新、重設等)藉由讀取電壓控制570實施之讀取電壓之值。讀取位準校準580可透過對記憶體陣列530執行之多個取樣命令而實施,諸如在變化電壓下發出至記憶體陣列之多個區域之取樣命令(其等嘗試判定最佳化至該等區域之Vt之一讀取電壓)。讀取位準校準580可結合主機操作處理555、讀取掃描控制560或錯誤偵測處理590之特徵而操作。例如,主機操作處理555可基於對用於取樣之記憶體位置之IO讀取操作來識別該等位置;又例如,讀取掃描控制560可回應於各種讀取掃描之一增加RBER趨勢而觸發讀取位準校準580之執行;又例如,錯誤偵測處理590可回應於錯誤之特定條件或讀取資料(例如,在自一區塊讀取之資料中)之一錯誤率超過一特定臨限值而觸發讀取位準校準580。
在一實例中,錯誤偵測處理590可偵測用於記憶體陣列之一記憶體胞元、一胞元群組或較大區域(例如,來自一區塊、區塊群組、晶粒、晶粒群組等之平均值或樣本)之可恢復錯誤條件(例如,一RBER值或一RBER趨勢)、一不可恢復錯誤條件或其他量測或錯誤條件。又在一實例中,錯誤偵測處理590可操作以經由讀取掃描控制560觸發一讀取掃描之一事件或條件,或憑藉讀取位準校準580觸發或排程一校準操作。
如本文中所論述,讀取掃描控制560可涉及以下態樣:排程並協調在一經排程條件下或回應於該經排程條件(例如,在一經判定時間,回應於一特定事件或發生)發生之一讀取掃描操作585;識別一觸發窗以先佔地觸發該讀取掃描操作;及在該觸發窗中之一閒置狀態期間在該經排程條件之前先佔地起始讀取掃描操作。當經觸發時,讀取掃描操作可包含執行記憶體陣列530之複數個區塊之經取樣頁或字線之集合之讀取;讀取掃描操作亦可運用記憶體陣列530之複數個區塊當中之不同讀取電壓執行此等讀取。在一實例中,讀取掃描控制560操作以自記憶體陣列530內隨機選擇複數個區塊(例如,藉由隨機取樣);在另一實例中,讀取掃描控制560操作以基於以下各者選擇特定複數個區塊:存取之頻率或新近度、資料留存之年限,或在一特定位置(諸如基於如藉由IO操作監測550追蹤之讀取操作之位置)處之讀取操作之一錯誤率(例如,RBER)。
此外,在一讀取掃描中藉由讀取掃描控制560執行之取樣及讀取操作可容許諸如來自以下各者之一規範(例如,一經判定設定或計算)之組態:經取樣之資料(例如,對應於一頁、區塊、區塊群組、晶粒之資料)之一大小;經取樣之頁之總數;一區塊內之經取樣之頁數;是否對特定胞元、頁、區塊、晶粒或特定類型之此等胞元、頁、區塊、晶粒取樣;及類似者。同樣地,在一讀取掃描中藉由讀取掃描控制560執行之取樣可根據特定基準、使用者型樣、讀取存取型樣或其他特性調整以匹配儲存裝置之真實世界實際或預期用途。
除了本文中所論述之技術之外,亦可藉由控制器540中之控制操作542實施維護操作之其他態樣。此等操作可包含對記憶體陣列530執行之廢棄項目收集或回收、損耗平衡、區塊管理及其他形式之背景活動。此等背景活動可在藉由IO操作監測550偵測之一閒置狀態期間(諸如緊接在一讀取掃描操作之後或與該讀取掃描操作同時)觸發。
圖6A繪示實施用於一記憶體裝置中之先佔式閒置時間讀取掃描操作之基於時間之條件觸發之一例示性讀取掃描觸發準則的一時間線案例600A。明確言之,時間線案例600A繪示自t0
至t
發生之一事件時間線620A,如與繪示自主機IO發生之讀取及寫入操作之一IO操作時間線610相比。
如所展示,事件時間線620A包含基於同步活動之用於一讀取掃描操作之各種經排程觸發,包含經排程條件X
(在時間X
發生)及經排程條件Y
(在時間Y
發生)。例如,可依每Y
-X
分鐘(例如,每n
秒、分鐘、小時、天等)發生之一規則間隔排程一讀取掃描操作。在時間線案例600A之描繪中,事件時間線620A可操作以確保一各自讀取掃描操作不遲於經排程時間X及經排程時間Y開始,此意謂各自讀取掃描操作可在一觸發窗內早於時間X及時間Y開始。
相比而言,IO操作時間線610包含不太可能根據一經定義排程發生之主機IO活動之叢發。如所展示,除了其中未進行IO操作之時間週期(藉由空白區指定)之外,IO操作時間線610亦包含數個IO操作(藉由各自「X」字母指定)。其中未進行IO操作之時間週期包含指示主機IO操作之一閒置狀態之週期640A、640B、640C。將理解,週期640A、640B、640C及時間線610、620A出於闡釋性目的具有一簡化表示,此係因為出於簡潔目的在時間線案例600A中未繪示其他記憶體裝置操作。
事件時間線620A進一步描繪用於指定執行讀取掃描操作之一先佔式時間週期之各自先佔地觸發窗630A、630B。明確言之,觸發窗630A開始於時間X
-t
且繼續直至時間X
;觸發窗630B開始於時間Y
-t
且繼續直至時間Y
。記憶體裝置可監測主機IO操作之一各自閒置狀態,其中該閒置狀態用於在觸發窗630A、630B內發生之閒置狀態內起始及進行讀取掃描操作。
時間線案例600A提供基於一時間間隔或其他時間預排程之先佔式同步化讀取掃描之一實施方案。例如,當利用同步化讀取掃描時,用於一讀取掃描之一絕對觸發限制可設定至每N
個時間單位(例如,秒、分鐘、小時或天),且用於較低觸發限制之基於窗之準則係N
-t
個時間單位,其中t
可為一可組態參數。在此案例中,若主機IO閒置,則可在背景中每N
-t
個時間單位觸發一先佔式讀取掃描;否則,在前景中按N
個時間單位觸發該先佔式讀取掃描。相比而言,運用一基於絕對觸發之方法,讀取掃描僅在X時觸發(甚至在主機IO處於作用中時)。
作為一第一實例,在觸發窗630A (開始於時間X
-t
)內,主機IO活動繼續直至第一閒置週期640A。回應於主機IO變成閒置且記憶體裝置進入一對應閒置狀態,一先佔式讀取掃描操作可開始。明確言之,原本經排程以在時間X
發生(最初經排程條件)之讀取掃描操作現將在第一閒置週期640A期間開始。倘若先佔式讀取掃描操作因為主機IO活動發生而無法在背景中在第一閒置週期640A內完成,則先佔式讀取掃描操作可延遲或可繼續。在一實例中,先佔式讀取掃描操作可暫停直至在時間X
繼續。在另一實例中,先佔式讀取掃描操作可在主機IO活動繼續時以低於主機IO操作之一先佔式繼續,但接著在時間X
經優先化以確保讀取掃描完成。
作為一第二實例,在觸發窗630B (開始於時間Y
-t
)內,主機IO活動繼續直至第二閒置週期640B。回應於主機IO變成閒置且記憶體裝置進入一對應閒置狀態,另一先佔式讀取掃描操作可開始。明確言之,原本經排程以在時間Y
發生之此讀取掃描操作現將在第二閒置週期640B期間開始。類似於上文實例,倘若先佔式讀取掃描操作無法在第二閒置週期640B內完成(例如,因為主機IO活動發生),則先佔式讀取掃描操作可延遲或可繼續。在一進一步實例中,當藉由主機IO活動中斷時,先佔式讀取掃描操作可延遲直至另一主機閒置時間發生(例如,在第三閒置週期640C);在另一實例中,先佔式讀取掃描操作可延遲不超過時間Y
。
圖6B繪示實施用於一記憶體裝置中之先佔式閒置時間讀取掃描操作之基於事件之條件觸發之一例示性讀取掃描觸發準則的一時間線案例600B。以類似於時間線案例600A之一方式,時間線案例600B繪示自t0
至t
發生之一事件時間線620B,如與繪示自主機IO發生之讀取及寫入操作之一IO操作時間線610相比。然而,事件時間線620B包含由事件或發生觸發(例如,非同步活動)而非由預定時間引起之經排程條件。
如所展示,事件時間線620B包含基於非同步活動之一讀取掃描操作之各種經排程觸發,包含經排程條件X (由於一特定事件或發生而發生)及經排程條件Y (由於一特定事件或發生而發生)。例如,一讀取掃描操作可經排程以在錯誤(例如,在一區塊中之錯誤處置觸發事件)之一頻率超過一特定比率或量時、在一事件計數超過一經判定臨限值時或在偵測(例如,記憶體陣列、記憶體控制器,或記憶體控制器之一韌體中之一或多個模組之)一特定屬性時發生。在時間線案例600B之操作中,事件時間線620B可操作以確保一各自讀取掃描操作不遲於經排程條件X及經排程條件Y而開始,此意謂該讀取掃描操作可在一觸發窗內早於經排程事件X及經排程事件Y開始。
又相比而言,IO操作時間線610包含不太可能根據一經定義排程發生之主機IO活動之叢發。如所展示,IO操作時間線610包含數個IO操作及其中未進行IO操作之時間週期(週期640A、640B、640C)。事件時間線620B進一步描繪事件之非同步性質,及用於指定執行讀取掃描操作之一先佔式時間週期之不同大小之觸發窗650A、650B。明確言之,觸發窗650A以事件X'之發生開始且繼續至事件X之發生;觸發窗650B以事件Y'之發生開始且繼續至事件Y之發生。應注意,歸因於在記憶體裝置及主機IO中發生之事件之非同步性質,觸發窗650A小於觸發窗650B。然而,記憶體裝置可繼續監測用於在觸發窗650A、650B內執行讀取掃描操作之一各自閒置狀態。
時間線案例600B提供用於定址讀取干擾之先佔式非同步讀取掃描之一實施方案,諸如其中一觸發事件係基於一區塊讀取計數臨限值。例如,可針對觸發窗設定一基於窗之讀取計數臨限值準則,使得一旦滿足針對該臨限值之一下限(事件X'),儲存裝置便可排程讀取掃描以在主機IO遇見一閒置事件時(在事件X之前)先佔地發生。此外,在一進一步實例中,窗觸發準則可回應於特定事件觸發(諸如錯誤處置之程度(例如,在一錯誤處置流程中之步驟數目))而調變。基於恢復錯誤所需之錯誤處置流程中之步驟數目或錯誤處置觸發率,系統可調變基於時間或基於區塊使用情況之讀取掃描準則以適於變化之媒體特性。
作為一第一實例,在觸發窗650A (以事件X'之發生開始)內,主機IO活動繼續直至第一閒置週期640A。回應於主機IO變成閒置且記憶體裝置進入一對應閒置狀態,先佔式讀取掃描操作可開始。明確言之,原本經排程以在事件X之發生時(或之後)發生之讀取掃描操作現將在第一閒置週期640A期間開始。倘若讀取掃描操作因為主機IO活動發生而無法在背景中在第一閒置週期640A內完成,則讀取掃描操作可延遲或可繼續(例如,如上文參考時間線案例600A所論述)。
作為一第二實例,在觸發窗650B (以事件Y'之發生開始)內,主機IO活動繼續直至第二閒置週期640B。回應於主機IO變成閒置且記憶體裝置進入一對應閒置狀態,另一先佔式讀取掃描操作可開始。明確言之,原本經排程以在事件Y之發生時或之後發生之此讀取掃描操作現將在第二閒置週期640B期間開始。應注意,歸因於事件之非同步性質,觸發窗650B經指示為具有與觸發窗650A不同之大小。因此,如所展示,一額外主機閒置週期(第三閒置週期640C)可在觸發窗650B內發生。第三閒置週期640C可用於啟動額外背景操作以完成讀取掃描操作,或執行額外經排程及協調之閒置時間任務。
與圖6A及圖6B中所繪示之技術相比,習知方法通常利用時間、頻率或其他度量之一單一、絕對準則以觸發一讀取掃描操作。因此,習知方法未經最佳化以在背景主機閒置時間期間執行讀取掃描且可導致與主機IO之較高衝突率。特定言之,讀取掃描觸發通常在前景中發生,此引起一儲存裝置多工化讀取掃描操作以及主機IO訊務,因此影響兩種類型之操作之效能。衝突亦導致服務主機IO命令之延時增加。此等問題係用本文中所論述之方法解決,該等方法提供靈活性及最佳化以先佔地排程及啟動讀取掃描,且在適當情況下延遲及協調此等讀取掃描。
圖7繪示適於在一記憶體裝置中執行先佔式閒置時間讀取掃描操作之一組例示性操作的一流程圖700。在一實例中,流程圖700之操作可藉由一儲存裝置之一控制器(例如,控制器115、540)透過軟體、韌體或經組態硬體中之經執行操作之一組合來實施。然而,以下技術之一些或所有態樣可藉由其他組件(例如,如藉由一主機起始)結合其他命令、控制項及編制形式而實施。
在一實例中,流程圖700之操作可在一記憶體裝置中實施,該記憶體裝置包括具有多個記憶體胞元區塊之群組之一NAND記憶體陣列,及可操作地耦合至該記憶體陣列之一記憶體控制器,其中該記憶體控制器經調適(例如,經組態、配置、程式化)以執行各自操作。在另一實例中,流程圖700之操作可在藉由一記憶體控制器或在該記憶體控制器上(或運用該記憶體控制器之模組)執行之一方法中實施,該記憶體控制器控制一NAND記憶體陣列,該記憶體陣列具有多個記憶體胞元區塊之群組。在一實例中,流程圖700之操作可在一裝置可讀儲存媒體中實施,該裝置可讀儲存媒體提供指令以在經執行時(例如,在藉由一記憶體裝置之一控制器執行時)執行各自操作。
流程圖700經展示為以識別一記憶體裝置中用於排程一讀取掃描操作之條件開始(操作710)。此等條件可包含:建立用於一讀取掃描之一經排程時間條件(例如,使得必須每n
個時間間隔執行或嘗試一讀取掃描);建立一經排程頻率或評估條件(例如,使得必須回應於n
次讀取發生或回應於一錯誤率超過m
而執行一讀取掃描);或建立一基於事件之條件(例如,使得必須回應於特定經偵測條件(諸如記憶體裝置內之事件或屬性)執行一讀取掃描)。
讀取掃描排程之定義伴隨著用於一先佔式讀取掃描操作之一觸發窗之定義(操作720)。例如,一觸發窗之定義可基於經排程事件之一變動、記憶體裝置中之條件或一基於時間之窗,此在經排程條件之前。結合觸發窗之定義,一讀取掃描操作經排程以在經排程條件發生之後發生(操作730),此與經定義觸發窗之結束協調。經排程條件可為基於時間、頻率或事件,如本文中之非同步及同步實例中所論述。
如本文中所論述,讀取掃描操作可經定義以藉由在記憶體陣列之多個位置處執行讀取而取樣該多個位置處之資料。在進一步實例中,讀取掃描操作可包含追蹤錯誤率、錯誤率趨勢及基於多個位置當中之讀取掃描之結果之其他條件。例如,讀取掃描操作可包含執行記憶體陣列之複數個區塊之經取樣頁或字線之集合之讀取,使得運用該複數個區塊當中之不同讀取電壓執行該等讀取。在又進一步實例中,自NAND記憶體陣列內隨機選擇該複數個區塊。
流程圖700繼續運用記憶體裝置監測主機IO操作之操作狀態(操作740)。在一實例中,此可包含監測記憶體裝置之操作狀態以識別對應於自一主機起始之操作之執行之一作用中狀態,或對應於不存在自該主機起始之操作之一閒置狀態。基於此監測,可在經排程條件之前在經定義觸發窗內識別及偵測主機IO操作之一閒置狀態(操作750)。
回應於記憶體裝置在觸發窗期間進入閒置狀態之操作狀態,可先佔地起始讀取掃描操作(操作760)。因此,在觸發窗內之主機IO操作之閒置狀態期間,讀取掃描操作可在經排程條件之前先佔地發生。
流程圖700以一選用條件繼續以暫停未完成之一讀取掃描操作(操作770)。一讀取掃描操作之暫停可在經排程條件之前(諸如在閒置狀態轉變成主機IO操作之一作用中狀態時)在一觸發窗內發生。藉由此選用條件,流程圖700繼續等待識別主機IO操作之閒置狀態(操作750),及在觸發窗內閒置狀態發生之後起始讀取掃描操作(操作760)。
流程圖700以完成讀取掃描操作且執行(若干)任何額外操作(諸如基於讀取掃描之讀取電壓校準)而結束(操作780)。若在(若干)閒置狀態期間因經排程事件而未完成讀取掃描操作(例如,如藉由操作770暫停),則讀取掃描操作可在經排程條件發生之後完成。
最後,在其中記憶體裝置保持於一閒置狀態中之一選用實例中,可在記憶體裝置上起始額外維護任務(諸如廢棄項目收集或回收、損耗平衡、區塊引退及類似者) (操作790)。明確言之,先佔式讀取掃描可為藉由記憶體裝置在主機閒置狀態期間執行之若干背景任務之一者。在另一實例中,記憶體裝置之一背景模組控管該等維護任務之先佔式及排程態樣。例如,讀取掃描可在主機閒置時間期間基於觸發窗先佔地觸發,但並不一定採用高於藉由該背景模組管理之其他背景任務之一先佔式。因此,可藉由背景模組執行協調及排程以容許維護任務在讀取掃描操作之前、之後、之同時進行或與讀取掃描操作互補。
回應於記憶體陣列在觸發窗期間未進入閒置狀態之操作狀態,可起始讀取掃描操作以不遲於經排程事件而發生。例如,考量其中一第二讀取掃描操作經排程以在一第二經排程條件發生之後進行之一案例。該第二讀取掃描可回應於記憶體在該第二經排程條件之前未進入閒置狀態之操作狀態而起始,使得第二讀取掃描操作回應於第二經排程條件(例如,未進行先佔式排程)而起始以發生。因此,若先佔式排程不成功或不能用作一觸發窗內之一背景操作,則讀取掃描操作可仍在前景內起始。
將理解,上文所論述之此等及其他例示性實施方案係提供為實例,且可伴隨其他時間及操作最佳化以最小化閒置時間之效率及使用。此外,用於取樣及觸發電壓校準之技術可經修改以與使用現有讀取掃描觸發、條件及操作整合,以提供如相較於習知讀取掃描觸發技術之一最小或甚至零影響。
圖8繪示其上可執行本文中所論述之技術(例如,方法論)之任一或多者之一例示性機器800的一方塊圖。在替代性實施例中,機器800可作為一獨立裝置操作或可連接(例如,網路連接)至其他機器。在一網路連接部署中,機器800可作為一主從式網路環境中之一伺服器機器或一用戶端機器或兩者而操作。在一實例中,機器800可充當一同級間(P2P) (或其他分散式)網路環境中之一同級機器。機器800可為一個人電腦(PC)、一平板電腦PC、一機上盒(STB)、一個人數位助理(PDA)、一行動電話、一網路設備、一IoT裝置、汽車系統,或能夠(循序或以其他方式)執行指定由該機器所採取之行動之指令之任何機器。此外,雖然僅繪示一單個機器,但術語「機器」亦應被視為包含個別或聯合執行一(或多個)指令集以執行本文中所論述之方法論之任一或多者(諸如雲端運算、軟體即服務(SaaS)、其他電腦叢集組態)之機器之任何集合。
如本文中所描述,實例可包含邏輯、組件、裝置、封裝或機構,或可藉由邏輯、組件、裝置、封裝或機構操作。電路系統係在包含硬體(例如,簡單電路、閘、邏輯等)之有形實體中實施之一電路集合(例如,一組電路)。電路系統成員資格可隨著時間及基礎硬體可變性而靈活。電路系統包含在操作時可單獨或組合地執行特定任務之成員。在一實例中,電路系統之硬體可經恆定地設計以實行一特定操作(例如,硬接線)。在一實例中,電路系統之硬體可包含可變連接之實體組件(例如,執行單元、電晶體、簡單電路等),包含實體上經修改(例如,不變質量之粒子磁性、電、可移動放置等)以編碼該特定操作之指令之一電腦可讀媒體。在連接實體組件中,硬體構成之基礎電性質(例如)自絕緣體改變至導體或反之亦然。指令使參與硬體(例如,執行單元或一負載機構)能夠經由可變連接產生硬體中之電路系統之成員以在操作中實行特定任務之部分。因此,當裝置操作時,電腦可讀媒體通信地耦合至電路系統之其他組件。在一實例中,實體組件之任一者可用於一個以上電路系統之一個以上成員中。例如,在操作下,執行單元可在一時間點用於一第一電路系統之一第一電路中且在一不同時間由第一電路系統中之一第二電路或由一第二電路系統中之一第三電路重用。
機器(例如,電腦系統) 800 (例如,主機裝置105、記憶體裝置110等)可包含一硬體處理器802 (例如,一中央處理單元(CPU)、一圖形處理單元(GPU)、一硬體處理器核心或其等之任何組合,諸如記憶體控制器115等)、一主記憶體804及一靜態記憶體806,其等中之一些或全部可經由一互連(例如,匯流排) 808彼此通信。機器800可進一步包含一顯示單元810、一文數字輸入裝置812 (例如,一鍵盤)及一使用者介面(UI)導覽裝置814 (例如,一滑鼠)。在一實例中,顯示單元810、輸入裝置812及UI導覽裝置814可為一觸控螢幕顯示器。機器800可另外包含一儲存裝置(例如,磁碟機單元) 821、一信號產生裝置818 (例如,一揚聲器)、一網路介面裝置820及一或多個感測器816 (諸如一全球定位系統(GPS)感測器、指南針、加速度計或其他感測器)。機器800可包含一輸出控制器828,諸如用以通信或控制一或多個周邊裝置(例如,一印表機、讀卡器等)之一串列(例如,通用串列匯流排(USB))、並列、或其他有線或無線(例如,紅外線(IR)、近場通信(NFC)等)連接。
儲存裝置821可包含其上儲存體現本文中所描述之技術或功能之任一或多者或由本文中所描述之技術或功能之任一或多者利用之一或多組資料結構或指令824 (例如,軟體)之一機器可讀媒體822。指令824亦可完全或至少部分駐留於主記憶體804內、靜態記憶體806內或在該等指令由機器800執行期間駐留於硬體處理器802內。在一實例中,硬體處理器802、主記憶體804、靜態記憶體806或儲存裝置821之一者或任何組合可構成機器可讀媒體822。
雖然機器可讀媒體822係繪示為一單個媒體,但術語「機器可讀媒體」可包含經組態以儲存一或多個指令824之一單個媒體或多個媒體(例如,一集中式或分散式資料庫或相關聯快取區及伺服器)。
術語「機器可讀媒體」可包含能夠儲存、編碼或攜載藉由機器800執行之指令且引起機器800執行本發明之技術之任一或多者,或能夠儲存、編碼或攜載藉由此等指令使用或與此等指令相關聯之資料結構的任何媒體。非限制性機器可讀媒體實例可包含固態記憶體以及光學及磁性媒體。在一實例中,一集結型(massed)機器可讀媒體包括具有含不變(例如,靜止)質量之複數個粒子之一機器可讀媒體。因此,集結型機器可讀媒體並非係暫時性傳播信號。集結型機器可讀媒體之特定實例可包含:非揮發性記憶體,諸如半導體記憶體裝置(例如,電可程式化唯讀記憶體(EPROM)、電可擦除可程式化唯讀記憶體(EEPROM))及快閃記憶體裝置;磁碟,諸如內部硬碟及可抽換式磁碟;磁光碟;及CD-ROM及DVD-ROM磁碟。
指令824 (例如,軟體、程式、一作業系統(OS)等)或其他資料經儲存於儲存裝置821上,可藉由記憶體804存取以供處理器802使用。記憶體804 (例如,DRAM)通常係快速但揮發性的,且因此不同於儲存裝置821 (例如,一SSD)之一儲存類型,儲存裝置821適於長期儲存(包含在一「關閉」狀態時)。由一使用者或機器800使用之指令824或資料通常載入於記憶體804中以供處理器802使用。當記憶體804已滿時,可分配來自儲存裝置821之虛擬空間以補充記憶體804;然而,因為儲存裝置821通常慢於記憶體804,且寫入速度通常係讀取速度的至少1/2,所以使用虛擬記憶體會歸因於儲存裝置延時而大幅降低使用者體驗(相比於記憶體804,例如,DRAM)。此外,將儲存裝置821用於虛擬記憶體可大幅地縮減儲存裝置821之可用使用期限。
相比於虛擬記憶體,虛擬記憶體壓縮(例如,Linux®核心特徵「ZRAM」)使用記憶體之部分作為經壓縮區塊儲存器以避免分頁至儲存裝置821。分頁在經壓縮區塊中發生直至必須將此資料寫入至儲存裝置821。虛擬記憶體壓縮增加記憶體804之可用大小,同時減少儲存裝置821上之損耗。
經最佳化用於行動電子裝置或行動儲存器之儲存裝置通常包含MMC固態儲存裝置(例如,微型安全數位(microSD™)卡等)。MMC裝置包含具有一主機裝置之數個平行介面(例如,一8位元平行介面),且通常為可自該主機裝置卸除及分離之組件。相比而言,eMMC™裝置經附接至一電路板且被視為主機裝置之一組件,該組件具有匹敵基於串列ATA™ (串列AT (進階技術)附接,或SATA)之SSD裝置之讀取速度。然而,對於行動裝置效能之需求持續增加,諸如完全啟用虛擬或擴增實境裝置,利用增加之網路速度等。回應於此需求,儲存裝置已自並列通信介面轉換至串列通信介面。通用快閃儲存(UFS)裝置(包含控制器及韌體)使用具有專用讀取/寫入路徑之一低電壓差動傳訊(LVDS)串列介面與一主機裝置通信,從而進一步提高更大讀取/寫入速度。
指令824可進一步透過通信網路826使用一傳輸媒體經由利用數個傳送協定之任一者(例如,訊框中繼、網際網路協定(IP)、傳輸控制協定(TCP)、使用者資料塊協定(UDP)、超文字傳送協定(HTTP)等)的網路介面器件820加以傳輸或接收。例示性通信網路可包含一區域網路(LAN)、一廣域網路(WAN)、一封包資料網路(例如,網際網路)、行動電話網路(例如,蜂巢式網路)、簡易老式電話(POTS)網路及無線資料網路(例如,電氣及電子工程師協會(IEEE) 802.11系列標準(稱為Wi-Fi®)、IEEE 802.16系列標準(稱為WiMax®)、IEEE 802.15.4系列標準、同級間(P2P)網路,等等)。在一實例中,網路介面裝置820可包含一或多個實體插孔(例如,乙太網路、同軸或電話插孔)或一或多個天線以連接至通信網路826。在一實例中,網路介面器件820可包含複數個天線以使用單輸入多輸出(SIMO)、多輸入多輸出(MIMO)或多輸入單輸出(MISO)技術之至少一者進行無線通信。術語「傳輸媒體」應被視為包含能夠儲存、編碼或攜載由機器600執行之指令之任何無形媒體,且包含促進此軟體之通信之數位或類比通信信號或其他無形媒體。
上文實施方式包含對形成實施方式之一部分之隨附圖式之參考。圖式藉由圖解之方式展示可實踐本發明之特定實施例。此等實施例在本文中亦稱為「實例」。此等實例可包含除所展示或所描述元件之外之元件。然而,本發明人亦預期其中僅提供彼等所展示或所描述元件之實例。此外,本發明人亦預期使用關於一特定實例(或其之一或多個態樣)或關於本文中所展示或所描述之其他實例(或其之一或多個態樣)所展示或所描述之彼等元件之任何組合或排列之實例(或其之一或多個態樣)。
在本文件中,在專利文件中常使用術語「一(a或an)」來包含一個或一個以上,其獨立於「至少一個」或「一或多個」之任何其他例項或使用。在本文件中,使用術語「或」係指一非排他性「或」,使得「A或B」包含「A但非B」、「B但非A」及「A及B」,除非另有指示。在隨附發明申請專利範圍中,術語「包含」及「其中(in which)」用作各自術語「包括」及「其中(wherein)」之普通英語等效形式。又,在以下發明申請專利範圍中,術語「包含」及「包括」係開放式的,亦即,在一請求項中除列於此一術語之後的彼等元件之外亦包含若干元件之一系統、裝置、物件、或程序仍被視為在彼請求項之範疇內。此外,在以下發明申請專利範圍中,術語「第一」、「第二」及「第三」等僅用作標籤,並不旨在對其對象強加數字要求。
在各項實例中,本文中所描述之組件、控制器、處理器、單元、引擎或表可尤其包含儲存於一實體裝置上之實體電路系統或韌體。如本文中所使用,「處理器」意謂任何類型之運算電路,諸如(但不限於)一微處理器、一微控制器、一圖形處理器、一數位信號處理器(DSP),或任何其他類型之處理器或處理電路(包含一處理器群組或多核心裝置)。
如此文件中所使用之術語「水平」係定義為平行於一基板之習知平面或表面之一平面(諸如下伏於一晶圓或晶粒之平面),而無關於該基板在任何時間點之實際定向。術語「垂直」係指垂直於如上文所定義之水平之一方向。介詞(諸如「在…上」、「在…上方」及「在…下方」)係相對於習知平面或表面定義為在基板之頂部或經暴露表面上,而無關於基板之定向;而「在...上」旨在表明一個結構相對於該結構位於其「上」之另一結構之一直接接觸(在沒有明確相反指示之情況下);術語「在...上方」及「在...下方」明確地旨在識別結構(或層、特徵等)之一相對放置,其明確地包含但不限於經識別結構之間之直接接觸,除非明確識別。類似地,術語「在...上方」及「在...下方」不限於水平定向,由於若在某個時間點係在所論述之結構之一最外部分,則一結構可在一參考結構「上方」,即使此結構相對於參考結構而垂直地延伸,而不是在一水平定向上延伸。
術語「晶圓」及「基板」在本文中通常用於係指其上形成積體電路之任何結構,且亦係指在積體電路製造之各個階段期間之此等結構。因此,以下詳細描述不應被視為一限制意義,且各項實施例之範疇僅藉由隨附發明申請專利範圍以及此等發明申請專利範圍所授權之等效物之全範疇而定義。
根據本發明及本文中所描述之各項實施例包含利用記憶體胞元之一垂直結構(例如,NAND記憶體胞元串)之記憶體。如本文中所使用,方向性形容詞將被視為相對於其上形成記憶體胞元之一基板之一表面(即,一垂直結構將被視為延伸遠離基板表面,垂直結構之一底端將被視為最靠近基板表面之端部且該垂直結構之一頂端將被視為最遠離基板表面之端部)。
如本文中所使用,方向性形容詞(諸如水平、垂直、法向、平行、垂直等)可係指相對定向,且除非另有說明,否則並不旨在要求嚴格遵守特定幾何性質。例如,如本文中所使用,一垂直結構不需要嚴格地垂直於一基板之一表面,但可代替性地大體上垂直於該基板之該表面,且可與該基板之該表面形成一銳角(例如,在60度與120度之間等)。
在本文中所描述之一些實施例中,不同摻雜組態可應用於一源極側選擇閘極(SGS)、一控制閘極(CG)及一汲極側選擇閘極(SGD),其等之各者在此實例中可由多晶矽形成或至少包含多晶矽,結果使得此等階層(例如,多晶矽等)可在曝露至一蝕刻溶液時具有不同蝕刻率。例如,在一3D半導體裝置中形成一單體柱之一程序中,SGS及CG可形成凹部,而SGD可保持較少凹入或甚至未凹入。此等摻雜組態可因此藉由使用一蝕刻溶液(例如,氫氧化四甲基銨(TMCH))實現選擇性蝕刻至該3D半導體裝置中之相異階層(例如,SGS、CG及SGD)中。
如本文中所使用,操作一記憶體胞元包含自該記憶體胞元讀取、寫入至該記憶體胞元或擦除該記憶體胞元。將一記憶體胞元放置於一預期狀態中之操作在本文中被稱為「程式化」,且可包含寫入至該記憶體胞元或自該記憶體胞元擦除兩者(例如,該記憶體胞元可經程式化至一經擦除狀態)。
根據本發明之一或多項實施例,定位於一記憶體裝置內部或外部之一記憶體控制器(例如,一處理器、控制器、韌體等)能夠判定(例如,選擇、設定、調整、運算、改變、清除、通信、調適、導出、定義、利用、修改、應用等)損耗循環之數量或一損耗狀態(例如,記錄損耗循環、計數記憶體裝置之操作(在其等發生時)、追蹤其起始之記憶體裝置之操作、評估對應於一損耗狀態之記憶體裝置特性等)。
根據本發明之一或多項實施例,一記憶體存取裝置可經組態以藉由各記憶體操作提供損耗循環資訊至記憶體裝置。記憶體裝置控制電路系統(例如,控制邏輯)可經程式化以補償對應於損耗循環資訊之記憶體裝置效能變化。記憶體裝置可接收損耗循環資訊且回應於損耗循環資訊判定一或多個操作參數(例如,一值、特性)。
將理解,當一元件被稱為在另一元件「上」、「連接至」另一元件或與另一元件「耦合」時,其可直接在該另一元件上、連接至該另一元件或與該另一元件耦合或可存在中介元件。相比而言,當一元件被稱為「直接在另一元件上」、「直接連接至」另一元件或「直接與另一元件耦合」時,不存在中介元件或層。除非另有指示,否則若兩個元件在圖式中展示為用一線連接其等,則該兩個元件可耦合或直接耦合。
本文中所描述之方法實例可至少部分經機器或電腦實施。一些實例可包含用可操作以組態一電子裝置以執行如上文實例中所描述之方法之指令編碼之一電腦可讀媒體或機器可讀媒體。此等方法之一實施方案可包含程式碼,諸如微碼、組合語言碼、一高階語言碼或類似者。此程式碼可包含用於執行各種方法之電腦可讀指令。該程式碼可形成電腦程式產品之部分。此外,程式碼可有形地儲存於一或多個揮發性或非揮發性有形電腦可讀媒體上(諸如在執行期間或在其他時間)。此等有形電腦可讀媒體之實例可包含(但不限於):硬碟、可卸除式磁碟、可卸除式光學磁碟(例如,光碟及數位視訊磁碟)、卡式磁帶、記憶體卡或記憶棒、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、固態磁碟機(SSD)、通用快閃儲存(UFS)裝置、嵌入式MMC (eMMC)裝置及類似者。
根據上文所描述及以下實例及發明申請專利範圍中所指定之結構及技術建議當前描述之實施例之額外實例。
實例1係一種記憶體裝置,其包括:一NAND記憶體陣列;及一記憶體控制器,其可操作地耦合至該記憶體陣列,該記憶體控制器用以執行包括以下各者之操作:排程對該記憶體陣列之一讀取掃描操作以在一經排程條件之後發生,其中該讀取掃描操作係用以藉由在該記憶體陣列之多個位置處執行讀取而取樣該多個位置處之資料;監測該記憶體陣列之一操作狀態,該記憶體陣列之該操作狀態包含對應於執行自一主機起始之操作之一作用中狀態,及對應於不存在自該主機起始之操作之一閒置狀態;及回應於該記憶體陣列進入該閒置狀態之操作狀態而起始該讀取掃描操作,其中該讀取掃描操作經起始以在該經排程條件之前先佔地發生。
在實例2中,實例1之標的包含,該讀取掃描操作執行該記憶體陣列之複數個區塊之經取樣頁或字線之集合之讀取,其中運用該複數個區塊當中之不同讀取電壓執行該等讀取。
在實例3中,實例2之標的包含,該複數個區塊係自該NAND記憶體陣列內隨機選擇。
在實例4中,實例1至3之標的包含:排程對該記憶體陣列之一第二讀取掃描操作以在一第二經排程條件之後進行;及回應於該記憶體陣列在該第二經排程條件之前未進入一閒置狀態之操作狀態而起始該第二讀取掃描操作,其中該第二讀取掃描操作經起始以在該第二經排程條件之後發生。
在實例5中,實例1至4之標的包含,該經排程條件係自一經排程時間間隔判定之一時間,其中該讀取掃描操作之該起始在該經排程條件之前一預定時間週期期間進入該閒置狀態之後先佔地發生。
在實例6中,實例1至5之標的包含,該經排程條件係一基於頻率之條件,其中該讀取掃描操作之該排程係回應於一區塊中之錯誤處置觸發事件之一頻率超過一經判定臨限值而執行。
在實例7中,實例1至6之標的包含,該經排程條件係一預定事件,其中該讀取掃描操作之該排程係回應於在該記憶體控制器內發生該預定事件或回應於自該記憶體陣列、該記憶體控制器或該記憶體控制器之一韌體中之一或多個模組之一屬性識別該預定事件而執行。
在實例8中,實例7之標的包含,在該記憶體控制器內發生之該預定事件對應於一區塊讀取計數超過一經判定區塊讀取計數臨限值。
在實例9中,實例1至8之標的包含,回應於該記憶體陣列進入該閒置狀態之該操作狀態而起始一損耗平衡操作,其中該損耗平衡操作經起始以在完成該讀取掃描操作之後發生。
在實例10中,實例1至9之標的包含,回應於起始該讀取掃描操作以在該經排程條件之前先佔地發生:回應於該記憶體陣列在該經排程條件之前進入該作用中狀態之操作狀態而停止該讀取掃描操作;及回應於重新進入該閒置狀態或回應於該經排程條件之發生,繼續該讀取掃描操作。
在實例11中,實例1至10之標的包含,自該主機起始之該等操作包含讀取操作或寫入操作,其中該等操作進一步包括:回應於該經排程條件發生在該讀取掃描操作之一先佔地完成之前,使該讀取掃描操作優先於自該主機起始之操作。
在實例12中,實例1至11之標的包含,回應於藉由該讀取掃描操作自該記憶體陣列之該多個位置當中進行之讀取獲得之資料,起始該記憶體陣列之至少一部分之讀取電壓校準。
在實例13中,實例12之標的包含,該讀取掃描操作執行使用該記憶體陣列中之該多個位置當中之多個讀取電壓自該多個位置取樣一原始位元錯誤率(RBER),其中該讀取電壓校準係回應於該RBER超過一預定臨限值而執行。
在實例14中,實例1至13之標的包含,該記憶體陣列包含以下之至少一者:單位階胞元(SLC) NAND記憶體胞元、多層胞元(MLC) NAND記憶體胞元、三層胞元(TLC) NAND記憶體胞元或四層胞元(QLC) NAND記憶體胞元。
在實例15中,實例1至14之標的包含,該記憶體陣列配置成三維(3D) NAND晶粒之一堆疊。
實例16係一種用於在一記憶體裝置中執行先佔式讀取掃描之方法,該方法包括藉由一記憶體控制器對該記憶體裝置之一NAND記憶體陣列執行之複數個操作,其中該等操作包括:排程對該記憶體陣列之一讀取掃描操作以在一經排程條件之後進行,其中該讀取掃描操作係用以藉由在該記憶體陣列之多個位置處執行讀取而取樣該多個位置處之資料,且其中運用該多個位置當中之不同讀取電壓執行該等讀取;監測該記憶體陣列之一操作狀態,該記憶體陣列之該操作狀態包含對應於執行自一主機起始之操作之一作用中狀態,及對應於不存在自該主機起始之操作之一閒置狀態;及回應於該記憶體陣列進入該閒置狀態之操作狀態而起始該讀取掃描操作,其中該讀取掃描操作經起始以在該經排程條件之前先佔地發生。
在實例17中,實例16之標的包含,該讀取掃描操作執行該記憶體陣列之複數個區塊之經取樣頁或字線之集合之讀取,其中運用該複數個區塊當中之不同讀取電壓執行讀取。
在實例18中,實例17之標的包含,該複數個區塊係自該NAND記憶體陣列內隨機選擇.
在實例19中,實例16至18之標的包含:排程對該記憶體陣列之一第二讀取掃描操作以在一第二經排程條件之後進行;及回應於該記憶體陣列在該第二經排程條件之前未進入一閒置狀態之操作狀態而起始該第二讀取掃描操作,其中該第二讀取掃描操作經起始以在該第二經排程條件之後發生。
在實例20中,實例16至19之標的包含,該經排程條件係自一經排程時間間隔判定之一時間,其中該讀取掃描操作之該起始在該經排程條件之前一預定時間週期期間進入該閒置狀態之後先佔地發生。
在實例21中,實例16至20之標的包含,該經排程條件係一基於頻率之條件,其中該讀取掃描操作之該排程係回應於一區塊中之錯誤處置觸發事件之一頻率超過一經判定臨限值而執行。
在實例22中,實例16至21之標的包含,該經排程條件係一預定事件,其中該讀取掃描操作之該排程係回應於在該記憶體控制器內發生該預定事件或回應於自該記憶體陣列、該記憶體控制器或該記憶體控制器之一韌體中之一或多個模組之一屬性識別該預定事件而執行。
在實例23中,實例22之標的包含,在該記憶體控制器內發生之該預定事件對應於一區塊讀取計數超過一經判定區塊讀取計數臨限值。
在實例24中,實例16至23之標的包含:回應於該記憶體陣列進入該閒置狀態之該操作狀態而起始一損耗平衡操作,其中該損耗平衡操作經起始以在完成該讀取掃描操作之後發生。
在實例25中,回應於起始該讀取掃描操作以在該經排程條件之前先佔地發生,實例16至24之標的包含:回應於該記憶體陣列在該經排程條件之前進入該作用中狀態之操作狀態而停止該讀取掃描操作;及回應於重新進入該閒置狀態或回應於該經排程條件之發生,繼續該讀取掃描操作。
在實例26中,實例16至25之標的包含,自該主機起始之該等操作包含讀取操作或寫入操作,其中該等操作進一步包括:回應於該經排程條件發生在該讀取掃描操作之一先佔地完成之前,使該讀取掃描操作優先於自該主機起始之操作。
在實例27中,實例16至26之標的包含,回應於藉由該讀取掃描操作自該記憶體陣列之該多個位置當中進行之該等讀取獲得之資料,起始該記憶體陣列之至少一部分之讀取電壓校準。
在實例28中,實例27之標的包含,該讀取掃描操作執行使用該記憶體陣列中之該多個位置當中之多個讀取電壓自該多個位置取樣一原始位元錯誤率(RBER),其中該讀取電壓校準係回應於該RBER超過一預定臨限值而執行。
在實例29中,實例16至28之標的包含,其中該記憶體陣列包含以下之至少一者:單位階胞元(SLC) NAND記憶體胞元、多層胞元(MLC) NAND記憶體胞元、三層胞元(TLC) NAND記憶體胞元或四層胞元(QLC) NAND記憶體胞元。
在實例30中,實例16至29之標的包含,其中該記憶體陣列配置成三維(3D) NAND晶粒之一堆疊。
實例31係一種裝置可讀儲存媒體,其提供在藉由一記憶體裝置之一控制器執行時對該記憶體裝置之一NAND記憶體陣列執行先佔式讀取掃描之指令,其中該等指令引起該控制器執行如實例1至30之技術之任一者之操作。
實例32係一種包括用於執行實例1至30之方法或技術之任一者之各自構件之設備。
實例33係一種執行實例1至30中任一者之操作之系統、設備或裝置。
實例34係一種體現用以執行或實施實例1至30中任一者之操作之指令之有形機器可讀媒體。
實例35係一種用以執行實例1至30中任一者之操作之方法。
上文描述旨在係闡釋性而非限制性。舉例而言,上文所述之實例(或其之一或多個態樣)可彼此組合使用。在檢視上文描述後,諸如一般技術者可使用其他實施例。主張瞭解其並非用於解釋或限制發明申請專利範圍之範疇或含義。再者,在上文實施方式中,各種特徵可集合在一起以簡化本發明。此不應被解譯為期望一未主張之揭示特徵係任何請求項之關鍵。實情係,本發明標的可能在於少於一特定揭示實施例之全部特徵。因此,下文發明申請專利範圍在此併入實施方式中,其中各請求項自身作為一單獨實施例,且預期此等實施例可以各種組合或排列彼此組合。應參考隨附發明申請專利範圍連同此等發申請專利範圍所授權之等效物之全範圍來判定實施例之範疇。
100‧‧‧環境
105‧‧‧主機裝置/主機
110‧‧‧記憶體裝置/NAND記憶體裝置
115‧‧‧記憶體控制器/控制器
120‧‧‧記憶體陣列
125‧‧‧記憶體管理器
130‧‧‧管理表
135‧‧‧陣列控制器
140‧‧‧錯誤校正碼(ECC)組件
150‧‧‧產品
200‧‧‧三維(3D) NAND架構半導體記憶體陣列/記憶體陣列
201A‧‧‧區塊A
201A0‧‧‧子區塊A0
201An‧‧‧子區塊An
201B‧‧‧區塊B
201B0‧‧‧子區塊B0
201Bn‧‧‧子區塊Bn
205A0‧‧‧第一A0記憶體串
205An‧‧‧第一An記憶體串
205B0‧‧‧第一B0記憶體串
205Bn‧‧‧第一Bn記憶體串
206A0‧‧‧第二A0記憶體串
206An‧‧‧第二An記憶體串
206B0‧‧‧第二B0記憶體串
206Bn‧‧‧第二Bn記憶體串
207A0‧‧‧第三A0記憶體串
207An‧‧‧第三An記憶體串
207B0‧‧‧第三B0記憶體串
207Bn‧‧‧第三Bn記憶體串
210A至217A‧‧‧字線(WL)
210B至217B‧‧‧字線
220‧‧‧位元線
221‧‧‧位元線
222‧‧‧位元線
225A0‧‧‧A0汲極側選擇閘極(SGD)線
225An‧‧‧An汲極側選擇閘極(SGD)線
225B0‧‧‧B0汲極側選擇閘極(SGD)線
225Bn‧‧‧Bn汲極側選擇閘極(SGD)線
226A0‧‧‧第一A0汲極側選擇閘極(SGD)
226An‧‧‧第一An汲極側選擇閘極(SGD)
226B0‧‧‧第一B0汲極側選擇閘極(SGD)
226Bn‧‧‧第一Bn汲極側選擇閘極(SGD)
227A0‧‧‧第二A0汲極側選擇閘極(SGD)
227An‧‧‧第二An汲極側選擇閘極(SGD)
227B0‧‧‧第二B0汲極側選擇閘極(SGD)
227Bn‧‧‧第二Bn汲極側選擇閘極(SGD)
228A0‧‧‧第三A0汲極側選擇閘極(SGD)
228An‧‧‧第三An汲極側選擇閘極(SGD)
228B0‧‧‧第三B0汲極側選擇閘極(SGD)
228Bn‧‧‧第三Bn汲極側選擇閘極(SGD)
230A‧‧‧閘極選擇線SGS0
230B‧‧‧閘極選擇線SGS1
231A0‧‧‧第一A0源極側選擇閘極(SGS)
231An‧‧‧第一An源極側選擇閘極(SGS)
231B0‧‧‧第一B0源極側選擇閘極(SGS)
231Bn‧‧‧第一Bn源極側選擇閘極(SGS)
232A0‧‧‧第二A0源極側選擇閘極(SGS)
232An‧‧‧第二An源極側選擇閘極(SGS)
232B0‧‧‧第二B0源極側選擇閘極(SGS)
232Bn‧‧‧第二Bn源極側選擇閘極(SGS)
233A0‧‧‧第三A0源極側選擇閘極(SGS)
233An‧‧‧第三An源極側選擇閘極(SGS)
233B0‧‧‧第三B0源極側選擇閘極(SGS)
233Bn‧‧‧第三Bn源極側選擇閘極(SGS)
235‧‧‧源極線(SRC)
300‧‧‧NAND架構半導體記憶體陣列/記憶體陣列
302‧‧‧記憶體胞元
305‧‧‧第一串
306‧‧‧第二串
307‧‧‧第三串
310至317‧‧‧字線
320‧‧‧第一位元線
321‧‧‧第二位元線
322‧‧‧第三位元線
325‧‧‧汲極側選擇閘極(SGD)線
326‧‧‧第一汲極側選擇閘極(SGD)
327‧‧‧第二汲極側選擇閘極(SGD)
328‧‧‧第三汲極側選擇閘極(SGD)
330‧‧‧源極側選擇閘極(SGS)
331‧‧‧第一源極側選擇閘極(SGS)
332‧‧‧第二源極側選擇閘極(SGS)
333‧‧‧第三源極側選擇閘極(SGS)
335‧‧‧源極線(SRC)
341‧‧‧第一控制閘極(CG)
342‧‧‧第二控制閘極(CG)
343‧‧‧第三控制閘極(CG)
360‧‧‧感測放大器或裝置
400‧‧‧記憶體裝置
402‧‧‧記憶體陣列
402A‧‧‧第一區塊
402A0‧‧‧第一子區塊
402An‧‧‧第二子區塊
402B‧‧‧第二區塊
402B0‧‧‧第一子區塊
402Bn‧‧‧第二子區塊
404‧‧‧記憶體胞元
406‧‧‧存取線
408‧‧‧輸入/輸出(I/O)線
410‧‧‧第一資料線
412‧‧‧列解碼器
414‧‧‧行解碼器
416‧‧‧位址線
418‧‧‧第二資料線
420‧‧‧感測放大器
422‧‧‧頁緩衝器
424‧‧‧選擇器
426‧‧‧輸入/輸出(I/O)電路
428‧‧‧調節器
430‧‧‧記憶體控制單元
432‧‧‧控制線
434‧‧‧供應電壓
436‧‧‧負供應電壓
500‧‧‧系統
510‧‧‧記憶體裝置
520‧‧‧主機
525‧‧‧主機IO命令
530‧‧‧NAND記憶體陣列
540‧‧‧記憶體控制器/控制器
542‧‧‧控制模組/控制操作
544‧‧‧記憶體
546‧‧‧處理電路系統
548‧‧‧儲存媒體
550‧‧‧IO操作監測
555‧‧‧主機操作處理
560‧‧‧讀取掃描控制
570‧‧‧讀取電壓控制
580‧‧‧讀取級校準
585‧‧‧讀取掃描操作
590‧‧‧錯誤偵測處理
600A‧‧‧時間線案例
600B‧‧‧時間線案例
610‧‧‧IO操作時間線/時間線
620A‧‧‧事件時間線
620B‧‧‧事件時間線/時間線
630A‧‧‧先佔地觸發窗/觸發窗
630B‧‧‧先佔地觸發窗/觸發窗
640A‧‧‧時間段/第一閒置時間段
640B‧‧‧時間段/第二閒置時間段
640C‧‧‧時間段/第三閒置時間段
650A‧‧‧觸發窗
650B‧‧‧觸發窗
700‧‧‧流程圖
710‧‧‧操作
720‧‧‧操作
730‧‧‧操作
740‧‧‧操作
750‧‧‧操作
760‧‧‧操作
770‧‧‧操作
780‧‧‧操作
790‧‧‧操作
800‧‧‧機器
802‧‧‧硬體處理器/處理器
804‧‧‧主記憶體/記憶體
806‧‧‧靜態記憶體
808‧‧‧互連
810‧‧‧顯示單元
812‧‧‧文數字輸入裝置/輸入裝置
814‧‧‧使用者介面(UI)導覽裝置
816‧‧‧感測器
818‧‧‧信號產生裝置
820‧‧‧網路介面裝置
821‧‧‧儲存裝置
822‧‧‧機器可讀媒體
824‧‧‧資料結構或指令
826‧‧‧通信網路
828‧‧‧輸出控制器
A0至AX‧‧‧位址信號
BL0至BLn‧‧‧位元線
CSEL1至CSELn‧‧‧行選擇信號
DQ0至DQN‧‧‧輸入/輸出(I/O)線
Vcc‧‧‧供應電壓
Vss‧‧‧接地電位
WL0至WLm‧‧‧字線
在不一定按比例繪製之圖式中,相同數字可描述不同視圖中之類似組件。具有不同字母後綴之相同數字可表示類似組件之不同例項。該等圖式通常藉由實例而非藉由限制繪示本文件中所論述之各項實施例。
圖1繪示包含一記憶體裝置之一環境之一實例。
圖2至圖3繪示一3D NAND架構半導體記憶體陣列之一實例之示意圖。
圖4繪示一記憶體模組之一例示性方塊圖。
圖5繪示包含適於實施先佔式閒置時間讀取掃描操作之一記憶體裝置之一例示性系統的一方塊圖。
圖6A繪示實施用於一記憶體裝置中之先佔式閒置時間讀取掃描操作之基於時間之條件觸發之一例示性讀取掃描觸發準則的一時間線。
圖6B繪示實施用於一記憶體裝置中之先佔式閒置時間讀取掃描操作之基於事件之條件觸發之一例示性讀取掃描觸發準則的一時間線。
圖7繪示適於在一記憶體裝置中執行先佔式閒置時間讀取掃描操作之一組例示性操作的一流程圖。
圖8係繪示其上可實施一或多項實施例之一機器之一實例的一方塊圖。
Claims (31)
- 一種記憶體裝置,其包括: 一NAND記憶體陣列;及 一記憶體控制器,其可操作地耦合至該記憶體陣列,該記憶體控制器用以執行包括以下各者之操作: 排程對該記憶體陣列之一讀取掃描操作以在一經排程條件之後發生,其中該讀取掃描操作係用以藉由在該記憶體陣列之多個位置處執行讀取而取樣該多個位置處之資料; 監測該記憶體陣列之一操作狀態,該記憶體陣列之該操作狀態包含對應於執行自一主機起始之操作之一作用中狀態,及對應於不存在自該主機起始之操作之一閒置狀態;及 回應於該記憶體陣列進入該閒置狀態之該操作狀態而起始該讀取掃描操作,其中該讀取掃描操作經起始以在該經排程條件之前先佔地發生。
- 如請求項1之記憶體裝置,其中該讀取掃描操作包含執行該記憶體陣列之複數個區塊之經取樣頁或字線之集合之讀取,且其中運用該複數個區塊當中之不同讀取電壓執行該等讀取。
- 如請求項2之記憶體裝置,其中該複數個區塊係自該NAND記憶體陣列內隨機選擇。
- 如請求項1之記憶體裝置,該等操作進一步包括: 排程對該記憶體陣列之一第二讀取掃描操作以在一第二經排程條件之後進行;及 回應於該記憶體陣列在該第二經排程條件之前未進入一閒置狀態之該操作狀態而起始該第二讀取掃描操作,其中該第二讀取掃描操作經起始以在該第二經排程條件之後發生。
- 如請求項1之記憶體裝置,其中該經排程條件係自一經排程時間間隔判定之一時間,且其中該讀取掃描操作之該起始在該經排程條件之前一預定時間週期期間進入該閒置狀態之後先佔地發生。
- 如請求項1之記憶體裝置,其中該經排程條件係一基於頻率之條件,且其中該讀取掃描操作之該排程係回應於一區塊中之錯誤處置觸發事件之一頻率超過一經判定臨限值而執行。
- 如請求項1之記憶體裝置,其中該經排程條件係一預定事件,且其中該讀取掃描操作之該排程係回應於在該記憶體控制器內發生該預定事件或回應於自該記憶體陣列、該記憶體控制器或該記憶體控制器之一韌體中之一或多個模組之一屬性識別該預定事件而執行。
- 如請求項7之記憶體裝置,其中在該記憶體控制器內發生之該預定事件對應於一區塊讀取計數超過一經判定區塊讀取計數臨限值。
- 如請求項1之記憶體裝置,該等操作進一步包括: 回應於該記憶體陣列進入該閒置狀態之該操作狀態而起始一損耗平衡操作,其中該損耗平衡操作經起始以在完成該讀取掃描操作之後發生。
- 如請求項1之記憶體裝置,其中回應於起始該讀取掃描操作以在該經排程條件之前先佔地發生,該等操作進一步包括: 回應於該記憶體陣列在該經排程條件之前進入該作用中狀態之該操作狀態而停止該讀取掃描操作;及 回應於重新進入該閒置狀態或回應於該經排程條件之發生,繼續該讀取掃描操作。
- 如請求項1之記憶體裝置,其中自該主機起始之該等操作包含讀取操作或寫入操作,其中該等操作進一步包括: 回應於該經排程條件發生在該讀取掃描操作之一先佔地完成之前,使該讀取掃描操作優先於自該主機起始之操作。
- 如請求項1之記憶體裝置,該等操作進一步包括: 回應於藉由該讀取掃描操作自該記憶體陣列之該多個位置當中進行之該等讀取獲得之資料,起始該記憶體陣列之至少一部分之讀取電壓校準。
- 如請求項12之記憶體裝置,其中該讀取掃描操作執行使用該記憶體陣列中之該多個位置當中之多個讀取電壓自該多個位置取樣一原始位元錯誤率(RBER),且其中該讀取電壓校準係回應於該RBER超過一預定臨限值而執行。
- 如請求項1之記憶體裝置,其中該記憶體陣列包含以下之至少一者:單位階胞元(SLC) NAND記憶體胞元、多層胞元(MLC) NAND記憶體胞元、三層胞元(TLC) NAND記憶體胞元或四層胞元(QLC) NAND記憶體胞元。
- 如請求項1之記憶體裝置,其中該記憶體陣列配置成三維(3D) NAND晶粒之一堆疊。
- 一種用於在一記憶體裝置中執行先佔式讀取掃描之方法,該方法包括藉由一記憶體控制器對該記憶體裝置之一NAND記憶體陣列執行之複數個操作,其中該等操作包括: 排程對該記憶體陣列之一讀取掃描操作以在一經排程條件之後進行,其中該讀取掃描操作係用以藉由在該記憶體陣列之多個位置處執行讀取而取樣該多個位置處之資料,且其中運用該多個位置當中之不同讀取電壓執行該等讀取; 監測該記憶體陣列之一操作狀態,該記憶體陣列之該操作狀態包含對應於執行自一主機起始之操作之一作用中狀態,及對應於不存在自該主機起始之操作之一閒置狀態;及 回應於該記憶體陣列進入該閒置狀態之該操作狀態而起始該讀取掃描操作,其中該讀取掃描操作經起始以在該經排程條件之前先佔地發生。
- 如請求項16之方法,其中該讀取掃描操作包含執行該記憶體陣列之複數個區塊之經取樣頁或字線之集合之讀取,且其中該複數個區塊係自該NAND記憶體陣列內隨機選擇。
- 如請求項16之方法,其中該經排程條件係自一經排程時間間隔判定之一時間,且其中該讀取掃描操作之該起始在該經排程條件之前一預定時間週期期間進入該閒置狀態之後先佔地發生。
- 如請求項16之方法,其中該讀取掃描操作之該排程係回應於以下各者而執行:一區塊中之錯誤處置觸發事件之一頻率超過一經判定臨限值;在該記憶體控制器內發生一事件;或自該記憶體陣列、該記憶體控制器或該記憶體控制器之一韌體中之一或多個模組之一屬性識別一事件。
- 如請求項16之方法,其中回應於起始該讀取掃描操作以在該經排程條件之前先佔地發生,該等操作進一步包括: 回應於該記憶體陣列在該經排程條件之前進入該作用中狀態之該操作狀態而停止該讀取掃描操作;及 回應於重新進入該閒置狀態或回應於該經排程條件之發生,繼續該讀取掃描操作。
- 如請求項16之方法,其中自該主機起始之該等操作包含讀取操作或寫入操作,其中該等操作進一步包括: 回應於該經排程條件發生在該讀取掃描操作之一先佔地完成之前,使該讀取掃描操作優先於自該主機起始之操作。
- 如請求項16之方法,該等操作進一步包括: 回應於藉由該讀取掃描操作自該記憶體陣列之該多個位置當中進行之該等讀取獲得之資料,起始該記憶體陣列之至少一部分之讀取電壓校準。
- 如請求項22之方法,其中該讀取掃描操作執行使用該記憶體陣列中之該多個位置當中之多個讀取電壓自該多個位置取樣一原始位元錯誤率(RBER),且其中該讀取電壓校準係回應於該RBER超過一預定臨限值而執行。
- 一種裝置可讀儲存媒體,其提供在藉由一記憶體裝置之一記憶體控制器執行時對該記憶體裝置之一NAND記憶體陣列執行先佔式讀取掃描之指令,其中該等指令引起該控制器執行包括以下各者之操作: 排程對該記憶體陣列之一讀取掃描操作以在一經排程條件下進行,其中該讀取掃描操作係用以藉由在該記憶體陣列之多個位置處執行讀取而取樣該多個位置處之資料,且其中運用該多個位置當中之不同讀取電壓執行該等讀取; 監測該記憶體陣列之一操作狀態,該記憶體陣列之該操作狀態包含對應於執行自一主機起始之操作之一作用中狀態,及對應於不存在自該主機起始之操作之一閒置狀態;及 回應於該記憶體陣列進入該閒置狀態之該操作狀態而起始該讀取掃描操作,其中該讀取掃描操作經起始以在該經排程條件之前先佔地發生。
- 如請求項24之裝置可讀儲存媒體,其中該讀取掃描操作包含執行該記憶體陣列之複數個區塊之經取樣頁或字線之集合之讀取,且其中該複數個區塊係自該記憶體陣列內隨機選擇。
- 如請求項24之裝置可讀儲存媒體,其中該經排程條件係自一經排程時間間隔判定之一時間,且其中該讀取掃描操作之該起始在該經排程條件之前一預定時間週期期間進入該閒置狀態之後先佔地發生。
- 如請求項24之裝置可讀儲存媒體,其中該讀取掃描操作之該排程係回應於以下各者而執行:一區塊中之錯誤處置觸發事件之一頻率超過一經判定臨限值;在該記憶體控制器內發生一事件;或自該記憶體陣列、該記憶體控制器或該記憶體控制器之一韌體中之一或多個模組之一屬性識別一事件。
- 如請求項24之裝置可讀儲存媒體,其中回應於起始該讀取掃描操作以在該經排程條件之前先佔地發生,該等操作進一步包括: 回應於該記憶體陣列在該經排程條件之前進入該作用中狀態之該操作狀態而停止該讀取掃描操作;及 回應於重新進入該閒置狀態或回應於該經排程條件之發生,繼續該讀取掃描操作。
- 如請求項24之裝置可讀儲存媒體,其中自該主機起始之該等操作包含讀取操作或寫入操作,其中該等操作進一步包括: 回應於該經排程條件發生在該讀取掃描操作之一先佔地完成之前,使該讀取掃描操作優先於自該主機起始之操作。
- 如請求項29之裝置可讀儲存媒體,該等操作進一步包括: 回應於藉由該讀取掃描操作自該記憶體陣列之該多個位置當中進行之該等讀取獲得之資料,起始該記憶體陣列之至少一部分之讀取電壓校準。
- 如請求項30之裝置可讀儲存媒體,其中該讀取掃描操作執行使用該記憶體陣列中之該多個位置當中之多個讀取電壓自該多個位置取樣一原始位元錯誤率(RBER),且其中該讀取電壓校準係回應於該RBER超過一預定臨限值而執行。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/104945 WO2019061480A1 (en) | 2017-09-30 | 2017-09-30 | PRE-EVEN READING SCANS IN PERIOD OF INACTIVITY |
??PCT/CN2017/104945 | 2017-09-30 | ||
WOPCT/CN2017/104945 | 2017-09-30 | ||
US15/571,232 US10283205B2 (en) | 2017-09-30 | 2017-09-30 | Preemptive idle time read scans |
US15/571,232 | 2017-11-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201923602A true TW201923602A (zh) | 2019-06-16 |
TWI696077B TWI696077B (zh) | 2020-06-11 |
Family
ID=65896198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107134717A TWI696077B (zh) | 2017-09-30 | 2018-10-01 | 記憶體裝置,裝置可讀儲存媒體及用於執行先佔式閒置時間讀取掃描之方法 |
Country Status (6)
Country | Link |
---|---|
US (3) | US10283205B2 (zh) |
EP (1) | EP3688599A4 (zh) |
KR (1) | KR20200067848A (zh) |
CN (1) | CN111433754B (zh) |
TW (1) | TWI696077B (zh) |
WO (1) | WO2019061480A1 (zh) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US12008266B2 (en) | 2010-09-15 | 2024-06-11 | Pure Storage, Inc. | Efficient read by reconstruction |
US12039165B2 (en) | 2016-10-04 | 2024-07-16 | Pure Storage, Inc. | Utilizing allocation shares to improve parallelism in a zoned drive storage system |
US10756816B1 (en) | 2016-10-04 | 2020-08-25 | Pure Storage, Inc. | Optimized fibre channel and non-volatile memory express access |
US10452480B2 (en) | 2017-05-25 | 2019-10-22 | Micron Technology, Inc. | Memory device with dynamic processing level calibration |
US10140040B1 (en) | 2017-05-25 | 2018-11-27 | Micron Technology, Inc. | Memory device with dynamic program-verify voltage calibration |
US11947814B2 (en) | 2017-06-11 | 2024-04-02 | Pure Storage, Inc. | Optimizing resiliency group formation stability |
CN111433754B (zh) | 2017-09-30 | 2024-03-29 | 美光科技公司 | 先占式闲置时间读取扫描 |
US11520514B2 (en) | 2018-09-06 | 2022-12-06 | Pure Storage, Inc. | Optimized relocation of data based on data characteristics |
US12032848B2 (en) | 2021-06-21 | 2024-07-09 | Pure Storage, Inc. | Intelligent block allocation in a heterogeneous storage system |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
CN109840047A (zh) * | 2017-11-27 | 2019-06-04 | 华为技术有限公司 | 一种降低读延时的方法及装置 |
US20190171481A1 (en) * | 2017-12-06 | 2019-06-06 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Performing maintenance tasks on composed systems during workload execution |
US12001688B2 (en) | 2019-04-29 | 2024-06-04 | Pure Storage, Inc. | Utilizing data views to optimize secure data access in a storage system |
US10566063B2 (en) | 2018-05-16 | 2020-02-18 | Micron Technology, Inc. | Memory system with dynamic calibration using a trim management mechanism |
US10664194B2 (en) | 2018-05-16 | 2020-05-26 | Micron Technology, Inc. | Memory system with dynamic calibration using a variable adjustment mechanism |
US10990466B2 (en) | 2018-06-20 | 2021-04-27 | Micron Technology, Inc. | Memory sub-system with dynamic calibration using component-based function(s) |
US11188416B2 (en) | 2018-07-12 | 2021-11-30 | Micron Technology, Inc. | Enhanced block management for a memory sub-system |
US11113129B2 (en) | 2018-07-13 | 2021-09-07 | Micron Technology, Inc. | Real time block failure analysis for a memory sub-system |
US11500570B2 (en) | 2018-09-06 | 2022-11-15 | Pure Storage, Inc. | Efficient relocation of data utilizing different programming modes |
US10936246B2 (en) | 2018-10-10 | 2021-03-02 | Micron Technology, Inc. | Dynamic background scan optimization in a memory sub-system |
US10811091B2 (en) * | 2018-10-12 | 2020-10-20 | Western Digital Technologies, Inc. | Adaptive processing for read threshold voltage calibration |
US10553289B1 (en) | 2018-10-16 | 2020-02-04 | Micron Technology, Inc. | Apparatus and methods for determining an expected data age of memory cells |
US10629280B1 (en) | 2018-10-16 | 2020-04-21 | Micron Technology, Inc. | Methods for determining an expected data age of memory cells |
US11086705B2 (en) * | 2019-03-18 | 2021-08-10 | International Business Machines Corporation | Managing the reliability of pages in non-volatile random access memory |
US11714572B2 (en) | 2019-06-19 | 2023-08-01 | Pure Storage, Inc. | Optimized data resiliency in a modular storage system |
US11017864B2 (en) * | 2019-06-26 | 2021-05-25 | Seagate Technology Llc | Preemptive mitigation of cross-temperature effects in a non-volatile memory (NVM) |
US11614890B2 (en) * | 2019-07-30 | 2023-03-28 | Micron Technology, Inc. | Handling of host-initiated requests in memory sub-systems |
US12001684B2 (en) | 2019-12-12 | 2024-06-04 | Pure Storage, Inc. | Optimizing dynamic power loss protection adjustment in a storage system |
US11450392B2 (en) | 2019-12-17 | 2022-09-20 | Micron Technology, Inc. | Selective read disturb sampling |
TWI730600B (zh) * | 2020-01-21 | 2021-06-11 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 |
US11385984B2 (en) | 2020-02-24 | 2022-07-12 | Western Digital Technologies, Inc. | Variable read scan for solid-state storage device quality of service |
US11507297B2 (en) | 2020-04-15 | 2022-11-22 | Pure Storage, Inc. | Efficient management of optimal read levels for flash storage systems |
US11474986B2 (en) | 2020-04-24 | 2022-10-18 | Pure Storage, Inc. | Utilizing machine learning to streamline telemetry processing of storage media |
US11416338B2 (en) | 2020-04-24 | 2022-08-16 | Pure Storage, Inc. | Resiliency scheme to enhance storage performance |
US11768763B2 (en) | 2020-07-08 | 2023-09-26 | Pure Storage, Inc. | Flash secure erase |
US11681448B2 (en) | 2020-09-08 | 2023-06-20 | Pure Storage, Inc. | Multiple device IDs in a multi-fabric module storage system |
US11513974B2 (en) | 2020-09-08 | 2022-11-29 | Pure Storage, Inc. | Using nonce to control erasure of data blocks of a multi-controller storage system |
US11487455B2 (en) | 2020-12-17 | 2022-11-01 | Pure Storage, Inc. | Dynamic block allocation to optimize storage system performance |
US11222704B1 (en) * | 2020-12-17 | 2022-01-11 | Micron Technology, Inc. | Power state aware scan frequency |
US11393548B2 (en) * | 2020-12-18 | 2022-07-19 | Micron Technology, Inc. | Workload adaptive scans for memory sub-systems |
US11630593B2 (en) | 2021-03-12 | 2023-04-18 | Pure Storage, Inc. | Inline flash memory qualification in a storage system |
US12099742B2 (en) | 2021-03-15 | 2024-09-24 | Pure Storage, Inc. | Utilizing programming page size granularity to optimize data segment storage in a storage system |
US12067290B2 (en) * | 2021-08-31 | 2024-08-20 | Micron Technology, Inc. | On-die cross-temperature management for a memory device |
JP7178465B1 (ja) | 2021-08-31 | 2022-11-25 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
US11832410B2 (en) | 2021-09-14 | 2023-11-28 | Pure Storage, Inc. | Mechanical energy absorbing bracket apparatus |
CN114281247B (zh) * | 2021-11-29 | 2022-10-14 | 深圳三地一芯电子有限责任公司 | 一种基于混合介质的flash带宽分配方法及装置 |
US11994723B2 (en) | 2021-12-30 | 2024-05-28 | Pure Storage, Inc. | Ribbon cable alignment apparatus |
CN114360628B (zh) * | 2022-03-07 | 2022-08-16 | 阿里巴巴(中国)有限公司 | 闪存的检测方法以及装置 |
US20230393922A1 (en) * | 2022-06-02 | 2023-12-07 | Micron Technology, Inc. | Error handling |
US12105967B2 (en) * | 2022-08-24 | 2024-10-01 | Micron Technology, Inc. | Two-tier defect scan management |
CN116909495B (zh) * | 2023-09-14 | 2023-12-15 | 合肥康芯威存储技术有限公司 | 一种存储装置及其控制方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7206230B2 (en) | 2005-04-01 | 2007-04-17 | Sandisk Corporation | Use of data latches in cache operations of non-volatile memories |
US7701797B2 (en) * | 2006-05-15 | 2010-04-20 | Apple Inc. | Two levels of voltage regulation supplied for logic and data programming voltage of a memory device |
US7730293B2 (en) * | 2006-10-26 | 2010-06-01 | Hewlett-Packard Development Company, L.P. | Hard disk drive self-test system and method |
US7957187B2 (en) * | 2008-05-09 | 2011-06-07 | Sandisk Corporation | Dynamic and adaptive optimization of read compare levels based on memory cell threshold voltage distribution |
US20090327581A1 (en) * | 2008-06-30 | 2009-12-31 | Coulson Richard L | Nand memory |
US8122294B2 (en) * | 2008-11-03 | 2012-02-21 | Lenovo (Singapore) Pte. Ltd. | Apparatus, system, and method for rapid grading of computer storage operating condition |
US8700840B2 (en) * | 2009-01-05 | 2014-04-15 | SanDisk Technologies, Inc. | Nonvolatile memory with write cache having flush/eviction methods |
CN101699413B (zh) | 2009-10-30 | 2011-12-07 | 成都市华为赛门铁克科技有限公司 | 硬盘数据读写控制方法和装置 |
US8589655B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of I/O in an SSD environment |
JP2012133642A (ja) | 2010-12-22 | 2012-07-12 | Sony Corp | メモリ装置、メモリ制御方法、およびプログラム |
US9176800B2 (en) * | 2011-08-31 | 2015-11-03 | Micron Technology, Inc. | Memory refresh methods and apparatuses |
US9298603B2 (en) * | 2011-09-09 | 2016-03-29 | OCZ Storage Solutions Inc. | NAND flash-based storage device and methods of using |
US20130343131A1 (en) | 2012-06-26 | 2013-12-26 | Lsi Corporation | Fast tracking for flash channels |
US8971111B2 (en) * | 2013-05-23 | 2015-03-03 | Seagate Technology Llc | Threshold voltage calibration using reference pattern detection |
TWI521513B (zh) * | 2013-06-28 | 2016-02-11 | 群聯電子股份有限公司 | 讀取電壓設定方法、控制電路與記憶體儲存裝置 |
US9478292B2 (en) | 2013-10-27 | 2016-10-25 | Sandisk Technologies Llc | Read operation for a non-volatile memory |
US9620202B2 (en) | 2013-11-01 | 2017-04-11 | Seagate Technology Llc | Reduction or elimination of a latency penalty associated with adjusting read thresholds for non-volatile memory |
US9230689B2 (en) | 2014-03-17 | 2016-01-05 | Sandisk Technologies Inc. | Finding read disturbs on non-volatile memories |
US10078546B2 (en) | 2014-10-24 | 2018-09-18 | Micron Technology, Inc. | Temperature related error management |
CN111433754B (zh) | 2017-09-30 | 2024-03-29 | 美光科技公司 | 先占式闲置时间读取扫描 |
-
2017
- 2017-09-30 CN CN201780096675.2A patent/CN111433754B/zh active Active
- 2017-09-30 EP EP17926383.5A patent/EP3688599A4/en not_active Withdrawn
- 2017-09-30 KR KR1020207011916A patent/KR20200067848A/ko active IP Right Grant
- 2017-09-30 WO PCT/CN2017/104945 patent/WO2019061480A1/en unknown
- 2017-09-30 US US15/571,232 patent/US10283205B2/en active Active
-
2018
- 2018-10-01 TW TW107134717A patent/TWI696077B/zh active
-
2019
- 2019-04-11 US US16/381,682 patent/US10818361B2/en active Active
-
2020
- 2020-09-28 US US17/035,149 patent/US11250918B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN111433754A (zh) | 2020-07-17 |
US10283205B2 (en) | 2019-05-07 |
KR20200067848A (ko) | 2020-06-12 |
WO2019061480A1 (en) | 2019-04-04 |
TWI696077B (zh) | 2020-06-11 |
CN111433754B (zh) | 2024-03-29 |
US10818361B2 (en) | 2020-10-27 |
EP3688599A4 (en) | 2021-07-28 |
US20190237146A1 (en) | 2019-08-01 |
EP3688599A1 (en) | 2020-08-05 |
US20210027846A1 (en) | 2021-01-28 |
US11250918B2 (en) | 2022-02-15 |
US20190103164A1 (en) | 2019-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI696077B (zh) | 記憶體裝置,裝置可讀儲存媒體及用於執行先佔式閒置時間讀取掃描之方法 | |
TWI685746B (zh) | 單級晶胞快取管理 | |
US10824527B2 (en) | Flash memory block retirement policy | |
CN111226192B (zh) | 受管理的多个裸片存储器qos | |
EP3676843B1 (en) | Nand temperature data management | |
US10685731B2 (en) | Erase page check | |
US10891072B2 (en) | NAND flash thermal alerting | |
US11756638B2 (en) | End of life performance throttling to prevent data loss | |
WO2020006447A1 (en) | Temperature sensitive nand programming | |
US20190130983A1 (en) | Slc page read | |
KR20200036051A (ko) | 데이터 무결성 향상을 위한 nand 셀 인코딩 | |
US10424382B2 (en) | Increased NAND performance under high thermal conditions | |
US20240354005A1 (en) | Managed non-volatile memory device with data verification |