TWI808573B - 基於實體裝置參數的非揮發性記憶體裝置程式設計參數的產生 - Google Patents

基於實體裝置參數的非揮發性記憶體裝置程式設計參數的產生 Download PDF

Info

Publication number
TWI808573B
TWI808573B TW110147482A TW110147482A TWI808573B TW I808573 B TWI808573 B TW I808573B TW 110147482 A TW110147482 A TW 110147482A TW 110147482 A TW110147482 A TW 110147482A TW I808573 B TWI808573 B TW I808573B
Authority
TW
Taiwan
Prior art keywords
programming
parameters
blocks
row
nand flash
Prior art date
Application number
TW110147482A
Other languages
English (en)
Other versions
TW202244933A (zh
Inventor
阿維 史戴納
哈南 威恩蓋頓
康彥 倉澤
尼爾 巴克斯頓
Original Assignee
日商鎧俠股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日商鎧俠股份有限公司 filed Critical 日商鎧俠股份有限公司
Publication of TW202244933A publication Critical patent/TW202244933A/zh
Application granted granted Critical
Publication of TWI808573B publication Critical patent/TWI808573B/zh

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/1202Word line control
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/06Acceleration testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Semiconductor Memories (AREA)

Abstract

本文描述的各種實施涉及用於程式設計資料的系統及方法,包括決定對應到程式命令的目標列及使用該目標列的目標實體裝置參數及對應到該實體裝置參數的經最佳化的程式設計參數,為該目標列設置基於列的程式設計參數。

Description

基於實體裝置參數的非揮發性記憶體裝置程式設計參數的產生
本揭露大致關於用於產生被使用以對在非揮發性記憶體裝置上的資料進行程式設計的程式設計參數的系統及方法。
程式設計數位訊號處理(Digital Signal Processing;DSP)是一種處理,控制器(例如,在其上實現的韌體)控制NAND程式設計參數,其被使用以對在NAND快閃記憶體裝置上的資料進行程式設計。於一個範例中,傳統程式設計DSP可被使用以獲得高可靠性(以寫入效能為代價),舉例來說,藉由修改NAND參數以減少程式設計之後的位元誤差率(Bit-Error Rate;BER)、藉由使用更精確的程式設計,例如,藉由使用較小的電壓階躍,諸如(但不限於)逐步增加脈衝程式設計(Incremental Step Pulse Programming;ISPP)等等。這種可靠性中的改善是以程式設計速度及寫入效能為代價來獲得的。由於被使用於高週期數,程式設計DSP典型地在控制器上實現。
在一些安排中,用於對具有非揮發性記憶體的儲存裝置上的資料進行程式設計的方法包括決定對應到程式命令的目標列及使用該目標列的目標實體裝置參數及對應到該實體裝置參數的經最佳化的程式設計參數,為該目標列設置基於列的程式設計參數。
在一些安排中,用以決定基於列的或基於WL的經最佳化的程式設計參數的訓練方法包括基於使用程式設計參數對複數個NAND快閃記憶體裝置的複數個區塊進行程式設計,為該複數個NAND快閃記憶體裝置的該複數個區塊的複數個列的每一列決定至少一個結果參數;及基於該至少一個結果參數來修改該複數個列的一或多個列的程式設計參數。
本文所揭露的安排有關系統、方法、及非暫態電腦可讀取媒體,用以藉由允許非揮發性記憶體裝置的控制器控制非揮發性記憶體儲存器(例如,NAND快閃記憶體裝置)的程式設計流程來為非揮發性記憶體裝置(例如,NAND快閃裝置)提供改良的耐久性、平均寫入效能、可靠性(在所有應力條件下)、及裝置壽命。在一些安排中,應用了作為目標記憶體列或字元線(WL)的特定修剪參數的適應性,其中這種適應性是基於多個非揮發性記憶體裝置的訓練。在一些安排中,程式設計DSP演算法在在控制器(例如,NAND記憶體控制器)硬體及/或韌體上實現。在一些安排中,程式設計DSP演算法是在主機軟體上實現的。程式設計DSP演算法適合於低複雜度的處理。
為了幫助說明本實現,第1圖顯示根據一些實現的系統的方塊圖,該系統包括耦接到主機101的非揮發性儲存裝置100。在一些範例中,主機101可以是藉由使用者操作的使用者裝置。主機101可以包括作業系統(OS),它被組構以提供檔案系統及使用該檔案系統的應用程式。檔案系統透過適當的有線或無線通訊鏈結或網路來與非揮發性儲存裝置100(例如,非揮發性儲存裝置100的控制器110)進行通訊,以管理在非揮發性儲存裝置100中的資料的儲存。在這方面,主機101的檔案系統使用對通訊鏈結或網路適合的介面向非揮發性儲存裝置100發送資料及接收資料。
在一些範例中,非揮發性儲存裝置100位於資料中心(為簡潔起見並未顯示)。資料中心可以包括一或多個平台,每個平台支援一或多個儲存裝置(諸如(但不限於)非揮發性儲存裝置100)。在一些實現中,在平台內的儲存裝置連接到機架頂端(Top of Rack;TOR)交換器,且可以經由TOR交換器或另一個適合的平台內通訊機制來進行相互通訊。在一些實現中,至少一個路由器可以經由適合的網路結構來促進在不同的平台、機架、或機櫃中的非揮發性儲存裝置之間的通訊。非揮發性儲存裝置100的範例包括(但不限於)固態硬碟(solid state drive;SSD)、非揮發性雙行記憶體模組(non-volatile dual in-line memory module;NVDIMM)、通用快閃儲存器(Universal Flash Storage;UFS)、安全數位(Secure Digital;SD)裝置等。於其他範例中,非揮發性儲存裝置100可以在資料中心以外的情況下操作性地耦接到主機101。
非揮發性儲存裝置100至少包括控制器110及記憶體陣列120。為了簡潔起見,未顯示非揮發性儲存裝置100的其他組件。記憶體陣列120包括NAND快閃記憶體裝置130a-130n。每個NAND快閃記憶體裝置130a-130n包括一或多個單獨的NAND快閃晶粒,它們是能夠在沒有電源的情況下保留資料的非揮發性記憶體(NVM)。因此,NAND快閃記憶體裝置130a-130n是指在快閃記憶體裝置100內的多個NAND快閃記憶體裝置或晶粒。每個NAND快閃記憶體裝置130a-130n包括一或多個晶粒,每個晶粒具有一或多個平面。每個平面具有多個區塊,且每個區塊具有多個分頁。
在一些安排中,每個NAND快閃記憶體裝置130a-130n是三維NAND快閃記憶體裝置,它包括一或多個區塊,每個區塊具有多層。每層包括多個實體列。申請人認識到,在同一層上的列之間有著行為的相關性與相似性。三維NAND快閃記憶體裝置的不同層的列之間的行為比三維NAND快閃記憶體裝置的相同層的列之間的行為變化更明顯。
如本文所使用,WL是屬於三維NAND快閃記憶體裝置的相同實體層的一組實體列,在一些範例中,它具有多個實體層。WL的列可以彼此相鄰。在一些範例中,WL用於指NAND快閃記憶體裝置的一組列,其中這些列可能不會彼此相鄰及/或不在相同實體層中。每個WL的程式設計參數被最佳化意味著所有屬於給定WL的列都將使用相同的參數。
雖然NAND快閃記憶體裝置130a-130n被顯示為記憶體陣列120的範例,但是用於實現記憶體陣列120的非揮發性記憶體技術的其他範例包括(但不限於),(電池支援的)動態隨機存取記憶體(Dynamic Random Access Memory;DRAM)、磁性隨機存取記憶體(Magnetic Random Access Memory;MRAM)、相變記憶體(Phase Change Memory;PCM)、鐵電RAM(Ferro-Electric RAM;FeRAM)等。本文所述的ECC結構同樣可以在使用這種記憶體技術及其他適合的記憶體技術的記憶體系統上實現。
控制器110的範例包括(但不限於),SSD控制器(例如,客戶SSD控制器、資料中心SSD控制器、企業SSD控制器等)、UFS控制器、或SD控制器等。
控制器110可以結合在複數個NAND快閃記憶體裝置130a-130n中的原始資料儲存,使得那些NAND快閃記憶體裝置130a-130n在邏輯上作為單一的儲存單元來運作。控制器110可以包括處理器、微控制器、緩衝器、錯誤校正系統、資料加密系統、快閃轉譯層(Flash Translation Layer;FTL)及快閃介面模組。這種功能可以在硬體、軟體、及韌體或其任何組合中實現。在一些安排中,控制器110的軟體/韌體可以儲存在記憶體陣列120或在任何其他適合的電腦可讀取儲存媒體中。
控制器110包括適合的處理及記憶體能力,用於執行本文所述的功能、以及其他功能。如上所述,控制器110管理NAND快閃記憶體裝置130a-130n的各種特徵,包括(但不限於),I/O處置、讀取、寫入/程式設計、抹除、監視、記錄、錯誤處置、垃圾收集、磨損平衡、邏輯到實體位址映射、資料保護(加密/解密、循環冗餘檢查(Cyclic Redundancy Check;CRC))、錯誤校正編碼(Error Correction Coding;ECC)、資料擾亂(scrambling)等。因此,控制器110為NAND快閃記憶體裝置130a-130n提供可視性。
控制器110還包括控制器記憶體112。控制器記憶體112是一個與控制器110本地相連或操作性耦接的記憶體裝置。例如,控制器記憶體112可以是位於控制器110的晶片上的晶片上非揮發性記憶體或揮發性記憶體。在一些實現中,控制器記憶體112可以使用控制器110外部的記憶體裝置來實現。例如,控制器記憶體112可以是位於控制器110的晶片以外的非揮發性記憶體或揮發性記憶體。在一些實現中,控制器記憶體112可以使用控制器110的內部及外部的記憶體裝置來實現(例如,控制器110的晶片上及晶片外)。
在一些安排中,在NAND快閃記憶體裝置130a-130n已被製造之後及在NAND快閃記憶體裝置130a-130n被安裝在非揮發性儲存裝置100內之前(例如,在NAND快閃記憶體裝置130a-130n被連接到非揮發性儲存裝置100的其他組件(諸如控制器110)之前),NAND快閃記憶體裝置130a-130n可以操作性地耦接到測試電路102,該測試電路被組構以執行本文所揭露的程式設計DSP參數的訓練。在非揮發性儲存裝置100(帶有記憶體陣列120首次通電之前,使用第三方測試電路102來進行訓練被稱為離線訓練。本文所述的訓練方法是針對NAND快閃記憶體裝置130a-130n的少數區塊來進行的,使得在那些區塊上運行P/E週期不會明顯減少NAND快閃記憶體裝置130a-130n的所有區塊的壽命時間。於其他範例中,這種訓練是針對代表NAND快閃記憶體裝置130a-130n的犧牲性NAND快閃記憶體裝置來進行的,諸如從與NAND快閃記憶體裝置130a-130n相同的晶圓上切割的NAND快閃記憶體裝置。於此範例中,由於類似的行為,使用犧牲性NAND快閃記憶體裝置所決定的表同樣適用於NAND快閃記憶體裝置130a-130n。鑑於P/E週期是在包括在非揮發性儲存裝置100中的NAND快閃記憶體裝置130a-130n以外的裝置上運行。因此,執行離線訓練允許在非揮發性儲存裝置100通電使用之前對記憶體陣列120進行最佳化,從而節約通電時間及NAND快閃記憶體裝置130a-130n的壽命時間。
測試電路102可以包括適合的處理能力(例如,處理器、記憶體等),以執行本文所述的功能。此外,測試電路102包括測試資料記憶體104,其經組構以儲存在本文所述的訓練方法期間所產生的資料以及訓練方法的輸出(例如,映射到實體裝置參數的程式設計參數的表,諸如(但不限於)列位址、區塊位址、週期數等)。測試電路102可以使用任何適合的機制將表傳輸到控制器記憶體112。
在其他安排中,本文所述的訓練方法可以藉由測試電路102或控制器110在非揮發性儲存裝置100首次通電期間或之後被線上執行。在訓練方法藉由控制器110來執行的範例中,在訓練方法期間產生的資料及映射到實體裝置參數的程式設計參數的表可以被直接儲存在控制器記憶體112中。
在一些範例中,在三BPC非揮發性儲存裝置(例如,快閃記憶體裝置、NAND裝置等)中,臨界值電壓分布包括三BPC快閃記憶體裝置或NAND裝置的八個(例如,0-7)可能的電壓臨界值分布的疊加,也被稱為三層胞元(Three Level Cells;TLC)。一個胞元可能的電壓臨界值(Voltage Threshold;VT)分布有八瓣(lobes),對應到藉由胞元的電荷狀態所代表的三個位元的八個不同的位元組合。最大有效位元(Most Significant Bit;MSB)分頁讀取使用第一參考電壓(或讀取臨界值),以將瓣分成MSB是0的瓣及MSB是1的瓣。中心有效位元(Center Significant Bit;CSB)分頁讀取使用第二參考電壓。最小有效位元(Least Significant Bit;LSB)分頁讀取使用第三參考電壓。
在一些範例中,四層胞元(Quad Level Cell;QLC)中的四個BPC的程式設計使用16個電荷位準來儲存每個胞元的資訊。QLC使用的程式設計電路比TLC的更精確。在這方面,QLC裝置(其具有更精確的程式設計電路)具有比TLC裝置或單層胞元(Single Level Cell;SLC)裝置更長的程式設計時間。程式設計時間用tProg表示,且代表NAND裝置因其內部程式設計電路被啟動以對新的資料進行程式設計的時間。在多個區塊及列上所測量的平均tProg決定了NAND裝置的寫入效能。本文揭露的安排提供程式設計DSP解決方案,以改善QLC的程式效能(例如,藉由改善QLC tProg),而不減少可實現的可靠性。
程式設計DSP是控制器110(例如,在其上實現的韌體)控制NAND程式設計參數的一種處理。於一個範例中,傳統程式設計DSP可被使用以獲得高可靠性(以寫入效能為代價),舉例來說,藉由修改NAND參數以減少程式設計之後的位元誤差率(Bit-Error Rate;BER)、藉由使用更精確的程式設計,例如,藉由使用較小的電壓階躍,諸如(但不限於)逐步增加脈衝程式設計(Incremental Step Pulse Programming;ISPP)等等。這種可靠性中的改善是以程式設計速度及寫入效能為代價來獲得的。由於被使用於高週期數,程式設計DSP典型地在控制器110上實現。
在另一個範例中,傳統的程式設計DSP可被使用以藉由為每個NAND快閃記憶體裝置130a-130n分別調整NAND參數來獲得高寫入效能(高速程式設計)。在程式設計期間,控制器110可以為每個NAND快閃記憶體裝置130a-130n設置NAND參數。這樣的程式設計DSP包括在壽命開始時(在裝置首次使用之前)及/或在循環的區塊上對每個NAND快閃記憶體裝置130a-130n的訓練處理。這樣的訓練處理是生產過程中的負荷(overhead),且在一些情形中,會影響新的NAND快閃記憶體裝置的初始啟動效能。
在一個傳統的程式設計DSP中,控制器110為NAND快閃記憶體裝置的每個週期範圍估計新的參數。每個週期範圍可以包括,舉例來說,200個程式設計/抹除(P/E)週期。在每個週期範圍中,都有一個測試區塊用來檢查不同的程式設計參數候選者。這些參數是使用程式時間改善估計器計算出來的,並藉由測量程式設計後的BER來評估。BER的測量是藉由對先前經程式設計的資料進行讀取,這意味著評估參數需要程式設計及讀取的處理。鑑於每個NAND快閃記憶體裝置都要執行這樣的處理,控制器110最適合執行這些處理。此外,接受新的參數的基準是基於所測量的tProg及最大的分頁BER值。這樣的基準限制了程式設計DSP的堅固性。
本文所述的安排有關在足夠大的一組NAND快閃記憶體裝置130a-130n上執行程式設計DSP參數的訓練,以決定最適合的程式設計參數的共同集,該共同集可以作為NAND快閃記憶體裝置130a-130n的實體裝置參數的函數而變化。實體裝置參數的範例包括裝置(但不限於)、列號、區塊號、週期數等。在一些實現中,訓練的輸出包括程式設計參數表,它映射到記憶體陣列120的所有NAND快閃記憶體裝置130a-130n的實體裝置參數。使用該表,控制器110可以使用實體裝置參數來決定程式參數的值。在一些範例中,該表被儲存在控制器記憶體112中。因此,控制器110可以使用該表為藉由控制器110所管理的所有NAND快閃記憶體裝置130a-130n設置程式設計參數,而不必在決定那些程式設計參數作為共同實體裝置參數的函數之外為每個NAND快閃記憶體裝置130a-130n調整任何的程式設計參數。
在一些實現中,可以在足夠多的NAND快閃記憶體裝置130a-130n上進行程式設計DSP的訓練,以決定最適合的程式設計參數的共同集,這些參數作為NAND快閃記憶體裝置130a-130n的實體裝置參數的函數而變化。這允許控制器110為附接到控制器110的每個NAND快閃記憶體裝置130a-130n設置足夠的程式設計參數而不需要調整負荷。
第2圖是流程圖,根據一些安排,圖示範例訓練方法200。參照第1-2圖,訓練方法200允許測試電路102產生參數表。訓練方法200可以是離線訓練方法或線上訓練方法。雖然測試電路102被描述為執行訓練方法200(線上或離線),但控制器110也可以執行訓練方法200(線上)。參數表映射了在程式設計參數及實體裝置參數之間對應關係,諸如(但不限於),列(藉由列位址/ID/編號來界定)、WL(藉由WL位址/ID/編號或列位址/ID/編號的範圍來界定)等。通常,方法200將N個NAND快閃記憶體裝置的寫入效能最佳化到目標平均程式設計時間(tProg DSP)。在一些預期有較高的寫入效能的範例中,tProg DSP比內定的tProg短。此N個NAND快閃記憶體裝置可以是所有的NAND快閃記憶體裝置130a-130n、一些但不是所有的NAND快閃記憶體裝置130a-130n、或具有類似於NAND快閃記憶體裝置130a-130n行為的犧牲性NAND快閃記憶體裝置。在N個NAND快閃記憶體裝置對應到一些但不是所有的NAND快閃記憶體裝置130a-130n或犧牲性NAND快閃記憶體裝置的範例中,N個NAND快閃記憶體裝置構成足夠大群組的NAND快閃記憶體裝置,在此基礎上可以決定程式設計參數的最適合的共同集,其中這種程式設計參數可以應用於所有的NAND快閃記憶體裝置130a-130n。
在210,測試電路102將N個NAND快閃記憶體裝置中的每個M區塊預設為不同的週期數。在一些範例中,M小於每個NAND快閃記憶體裝置的區塊總數。每個M區塊都是藉由區塊位址來識別。在一些範例中,M區塊(也可以稱為M測試區塊)可以在每個NAND快閃記憶體裝置的所有的區塊的集合內隨機選擇。於其他範例中,M區塊可以根據其他適合的方法(例如,第4圖中描述的方法)來選擇。因此,N個NAND快閃記憶體裝置中的每個可以具有不同的M區塊(包括M區塊的位址的不同的M區塊位址列表),用以將寫入效能最佳化。所有的M區塊都在共同區塊集內。
不同的週期數可以基於在NAND快閃記憶體裝置不能寫入任何新的資料或進行程式設計之前該NAND快閃記憶體裝置可以承受的最大P/E週期數(最大週期數)來決定。在區塊上寫入資料(藉由在其上的分頁寫入)及抹除在區塊上的資料成構成一個P/E週期。最大週期數可以依據規格(指定的裝置耐久性),且對於不同的非揮發性儲存裝置100的不同應用可能是不同的。在一些實現中,不同的週期數的數量也是M。
在非揮發性儲存裝置100是SSD的一個範例應用中,藉由NAND快閃記憶體裝置支援的最大的週期數是10,000個P/E週期。在此應用中,例如,可以將每個NAND快閃記憶體裝置的50個區塊的取樣集(M=50)預設為不同的週期數200、400、600、…、10,000個P/E週期,以獲得一組有代表性的程式干擾應力條件。程式干擾應力條件是經由不同的週期數來達成的,其中高程式干擾對應大編號的P/E週期。週期數以「上升階梯(rising staircase)」的方式增加,以決定在特定應用中使用的特定裝置的最大的週期數的點。
在非揮發性儲存裝置100是UFS的一個範例應用中,藉由NAND快閃記憶體裝置支援的最大的週期數是3,000個P/E週期。在此應用中,例如,可以將每個NAND快閃記憶體裝置的50個區塊(M=50)預設為不同的週期數60、120、180、…、3,000個P/E週期,以獲得一組有代表性的程式干擾應力條件。
對N個NAND快閃記憶體裝置中的每個M區塊進行預設,是指將每個M區塊循環到不同的週期數之一。
在220,測試電路102基於內定的程式設計參數來決定N個NAND快閃記憶體裝置的M區塊的結果參數,其中結果參數包括基於WL的結果參數。舉例來說,控制器110使用內定的程式設計參數並使用隨機參考資料來對所有N個NAND快閃記憶體裝置的所有M區塊的所有列及WL進行程式設計。內定的程式設計參數的範例包括(但不限於):經程式設計的胞元的內定的初始電壓位準V start、內定的脈衝電壓階躍V step、內定的偏置電壓V bias、內定的最大脈衝數(NPP)、及在ISPP中使用的其他內定參數、等。然後,使用內定的電壓臨界值來讀取隨機參考資料。
典型地,程式設計操作包括多個小電荷注入步驟的處理。藉由對經程式設計的列施加電壓脈衝V pulse,從V start開始,及將所有其他電晶體的閘極電壓設置為V bias,可以將電荷注入到記憶體胞元。在施加V pulse之後,經程式設計的胞元被讀取及與所期望的程式設計電壓進行比較。因應於決定達到了所期望的程式設計電壓,程式設計結束。另一方面,因應於決定未達到所期望的程式設計電壓,額外的脈衝被提供,直到達到期望的程式設計電壓或直到達到NPP。在NPP已被使用之後且仍有胞元沒有通過驗證測試(例如,那些胞元沒有被程式設計到期望的程式設計電壓)的情形中,可以宣佈程式錯誤(或失敗)。ISPP包括每增加一個V pulse位準,就增加一個V step
基於程式設計及讀取,結果參數被測量及儲存。舉例來說,測試電路102決定及在測試資料記憶體104中儲存所有的N個NAND快閃記憶體裝置的所有的M區塊的平均tProg及所有的N個NAND快閃記憶體裝置的所有的M區塊的平均分頁BER。
此外,測試電路102決定及在控制器記憶體112中儲存每個WL的分頁BER相對於所有的M區塊及N個NAND快閃記憶體裝置的平均分頁BER的標準差(STD),其中這種STD被稱為STD(WL)。換句話說,STD(WL)是指作為WL的函數的分頁BER的標準差,與所有的M區塊及N個NAND快閃記憶體裝置的平均分頁BER相比較來測量。舉例來說,測試電路102可以測量每個WL的分頁BER及計算分頁BER的STD,作為單獨列或WL(多個列)的函數,以及與所有的N個NAND快閃記憶體裝置的所有的M區塊的平均(mean)分頁BER相比,以決定STD(WL)。
再者,測試電路102決定及在控制器記憶體112中儲存所有的N個NAND快閃記憶體裝置的所有的M區塊的每個WL的最大BER,稱為BER MAX(WL)及所有的N個NAND快閃記憶體裝置的所有的M區塊的每個WL的平均BER,稱為BER AVG(WL)。
因此,結果參數包括(但不限於):平均tProg、平均分頁BER、STD(WL)、BER MAX(WL)、及BER AVG(WL)。基於WL的結果參數包括每個WL的STD(WL)、BER MAX(WL)、及BER AVG(WL)。
在一些安排中,測試電路102決定及在控制器記憶體112中儲存分頁BER分布的較高階的矩,作為NAND快閃記憶體裝置的實體裝置參數(例如,列、WL等)的函數。舉例來說,隨機變數x的n階矩 μ n被定義為: 其中E[x]是隨機變數 x的期望值。可以使用以下方式來決定矩為2的隨機變數STD(WL): WL指的是作為WL函數的BER分布。較高的矩,諸如以下表示式(3)中的 、及以下表示式(4)中的 也可以用來決定STD(WL): ;及
與220相對應的初始特性條件是內定的條件的基線,作為到目標平均程式設計時間(tProg DSP)的最佳化處理的起點。
在230,測試電路102修改內定的程式設計參數,使得平均tProg變成(變得更接近)tProg DSP及設置STD臨界值目標(STD TH)。如圖所示,230包括被迭代執行的區塊240-270。
在240,目前的程式設計參數被設置。先前的程式設計參數(在先前的迭代中的目前的程式設計參數)被修改成為目前的程式設計參數。
在250,測試電路102在目前的程式設計參數上決定N個NAND快閃記憶體裝置的M區塊的結果參數,其中結果參數包括更新的基於WL的結果參數。舉例來說,控制器110使用目前的程式設計參數並使用隨機參考資料來對所有N個NAND快閃記憶體裝置的所有M區塊的所有列及WL進行程式設計。目前的程式設計參數的範例包括(但不限於):V start、V step、V bias、NPP、及ISPP中使用的其他參數或其他程式修剪參數等。然後,使用內定的電壓臨界值來讀取隨機參考資料。基於程式設計及讀取,更新的結果參數藉由測試電路102來測量並儲存在控制器記憶體112中。這樣更新的結果參數包括(但不限於):平均tProg、平均分頁BER、STD(WL)、BER MAX(WL)、及BER AVG(WL)。更新的基於WL的結果參數包括每個WL的STD(WL)、BER MAX(WL)、及BER AVG(WL)。
在260,測試電路102決定更新的基於WL的結果參數中的一或多個是否跨越臨界值。
在一些範例中,測試電路102決定所有的N個NAND快閃記憶體裝置的所有的M區塊的任何WL的STD(WL)是否大於預先決定的臨界值STD TH。 因應決定所有的N個NAND快閃記憶體裝置的所有的M區塊的至少一個WL的STD(WL)大於STD TH(260:YES),方法200進行到270。另一方面,因應決定不存在具有大於STD TH(260:NO)的STD(WL)的WL,鑑於目前的程式設計參數已經最佳化,處理200結束。
在一些範例中,測試電路102決定所有的N個NAND快閃記憶體裝置的所有的M區塊的任何WL的BER MAX(WL)是否大於預先決定的臨界值MAX TH。 因應決定所有的N個NAND快閃記憶體裝置的所有的M區塊的至少一個WL的BER MAX(WL)大於MAX TH(260:YES),方法200進行到270。另一方面,因應決定不存在具有大於MAX TH(260:NO)的BER MAX(WL)的WL,鑑於目前的程式設計參數已經最佳化,處理200結束。
在一些範例中,測試電路102決定所有的N個NAND快閃記憶體裝置的所有的M區塊的任何WL的BER AVG(WL)是否大於預先決定的臨界值AVG TH。 因應決定所有的N個NAND快閃記憶體裝置的所有的M區塊的至少一個WL的BER AVG(WL)大於AVG TH(260:YES),方法200進行到270。另一方面,因應決定不存在具有大於AVG TH(260:NO)的BER AVG(WL)的WL,鑑於目前的程式設計參數已經最佳化,處理200結束。
在一些範例中,STD(WL)、BER MAX(WL)、或BER AVG(WL)之其中之一被使用作為在260評估的基於WL的結果參數。在其他範例中,STD(WL)、BER MAX(WL)、或BER AVG(WL)中的兩個或多個被使用作為在260評估的基於WL的結果參數。
在270,測試電路102修改目前的程式設計參數。在目前的迭代中的經修改的目前的程式設計參數被設置為在下個迭代(例如,在240)中的目前的程式設計參數。
在260將STD(WL)使用作為更新的基於WL的結果參數的範例中,測試電路102可以修改目前的程式設計參數,以:在具有STD(WL)大於STD TH的每個WL上增加tProg(例如,藉由減少V start或改變其他程式設計DSP修剪參數);以及在具有STD(WL)小於或等於STD TH的每個WL上減少tProg(例如,藉由增加V start或改變其他程式設計DSP修剪參數)。在一些實現中,修剪參數可以使用NAND內部可組構的暫存器(這些暫存器控制著程式/讀取邏輯)來進行存取。在一些實現中,這些暫存器是使用向控制器110發出的特定特徵集命令來設置的。舉例來說,在包括以逐漸增加的電壓位準來產生脈衝的程式設計處理中,第一脈衝的電壓位準被稱為V start,而下個脈衝的增量步驟被稱為V step。增加V start參數的值使得更多胞元對第一脈衝做出反應,且程式設計處理可能會更快地成功,但是要以犧牲程式設計準確性為代價(藉由程式設計之後在記憶體中所讀取的BER來評估)。同樣地,增加/減少V step參數的值可以使程式設計準確性更粗糙/精細,同時使程式設計處理更快/慢地進行。其他DSP修剪參數的範例包括(但不限於)程式設計電壓脈衝寬度、脈衝形狀、脈衝上升時間、脈衝下降時間、及脈衝間延遲時間。減少V start允許更高準確性的程式設計,從而減少了STD(WL)。另一方面,增加V start允許較低準確性的程式設計,從而增加了STD(WL)。在一些WL上增加tProg且在其他WL上減少tProg,使WL的STD(WL)相等,同時在M個經程式設計的區塊上維持相同的平均tProg DSP
在260將BER MAX(WL)使用作為更新的基於WL的結果參數的範例中,測試電路102可以修改目前的程式設計參數,以:在具有BER MAX(WL)大於MAX TH的每個WL上增加tProg(例如,藉由減少V start或改變其他程式設計DSP修剪參數);以及在具有BER MAX(WL)小於或等於MAX TH的每個WL上減少tProg(例如,藉由增加V start或改變其他程式設計DSP修剪參數)。減少V start允許更高準確性的程式設計,從而減少了BER MAX(WL)。另一方面,增加V start允許較低準確性的程式設計,從而增加了BER MAX(WL)。在一些WL上增加tProg且在其他WL上減少tProg,使WL的BER MAX(WL)相等,同時在M個經程式設計的區塊上維持相同的平均tProg DSP
在260將BER AVG使用作為更新的基於WL的結果參數的範例中,測試電路102可以修改目前的程式設計參數,以:在具有BER AVG大於AVG TH的每個WL上增加tProg(例如,藉由減少V start或改變其他程式設計DSP修剪參數);以及在具有BER AVG小於或等於AVG TH的每個WL上減少tProg(例如,藉由增加V start或改變其他程式設計DSP修剪參數)。減少V start允許更高準確性的程式設計,從而減少了BER AVG。另一方面,增加V start允許較低準確性的程式設計,從而增加了BER AVG。在一些WL上增加tProg且在其他WL上減少tProg,使WL的BER AVG相等,同時在M個經程式設計的區塊上維持相同的平均tProg DSP
在方法200結束時的輸出(例如,在260:NO)是作為列或WL的一組目前的程式設計參數(例如,V start、V step、V bias、NPP、及在ISPP中所使用的其他參數或其他程式修剪參數)。每一列或WL都有自己的一組使用方法200來決定的程式設計參數。這種輸出可以是所描述的參數表的形式。在一些實現中,控制器110從使用列或WL編號來索引的列依賴(row-dependent)程式設計參數的表中列或WL的選擇程式設計參數。實體裝置參數包括,對於每一列或WL,列或WL的位址/ID/編號或每一列或WL的列位址/ID/編號的範圍。實體裝置參數還可以包括,對於每一列或WL,該列或WL所在區塊的區塊位址/ID/編號、以及該列或WL所在區塊的週期數(在預設期間)。每一列或WL的程式設計參數是偵測到260:NO的迭代期間的目前的程式設計參數,其中這種程式設計參數被映射到每一列或WL的實體裝置參數。
方法200允許使用預設的僅程式設計干擾的區塊來對列集(row-sets)(WL)進行迭代的計算,且可以在多個NAND快閃記憶體裝置上並行運行。方法200的輸出被控制器120用來在tProg DSP目標下提供高效能程式設計,同時由於訓練演算法驗證了BER分布條件而保證了可靠性。
雖然方法200是針對WL來描述的,WL是一組列,但是方法200同樣可以以列為單位來執行,例如,WL只包括一列而不是多列。舉例來說,可以不在220決定基於WL的結果參數,而是基於列的結果參數來決定。在這方面,方法200的程式設計參數的結果集是特定於WL(多列)或特定於單一列。
第3圖是流程圖,根據一些安排,圖示範例訓練方法300。參照第1-3圖,訓練方法300允許測試電路102產生參數表。訓練方法300可以是離線訓練方法或線上訓練方法。雖然測試電路102被描述為執行訓練方法300 (線上或離線),但控制器110也可以執行訓練方法300(線上)。通常,方法300將N個NAND快閃記憶體裝置的寫入效能最佳化到tProg DSP。此N個NAND快閃記憶體裝置可以是所有的NAND快閃記憶體裝置130a-130n、一些但不是所有的NAND快閃記憶體裝置130a-130n、或具有類似於NAND快閃記憶體裝置130a-130n行為的犧牲性NAND快閃記憶體裝置。在N個NAND快閃記憶體裝置對應到一些但不是所有的NAND快閃記憶體裝置130a-130n或犧牲性NAND快閃記憶體裝置的範例中,N個NAND快閃記憶體裝置構成足夠大群組的NAND快閃記憶體裝置,在此基礎上可以決定程式設計參數的最適合的共同集,其中這種程式設計參數可以應用於所有的NAND快閃記憶體裝置130a-130n。方法300可以適用於所述的特定NAND分布。
在310,測試電路102基於使用目前的程式設計參數對N個NAND快閃記憶體裝置中每個M區塊進行程式設計來決定基於WL的結果參數。舉例來說,控制器110使用目前的程式設計參數並使用隨機參考資料來對所有N個NAND快閃記憶體裝置的所有M區塊的所有列及WL進行程式設計。目前的程式設計參數的範例包括(但不限於):V start、V step、V bias、NPP、及ISPP中使用的其他參數或其他程式修剪參數等。然後,使用內定的電壓臨界值來讀取隨機參考資料。
基於程式設計及讀取,結果參數被測量及儲存。舉例來說,測試電路102決定及在測試資料記憶體104中儲存所有的N個NAND快閃記憶體裝置的所有的M區塊的平均tProg及所有的N個NAND快閃記憶體裝置的所有的M區塊的平均分頁BER。
此外,測試電路102決定及在控制器記憶體112中儲存所有的N個NAND快閃記憶體裝置的所有的M區塊的每個WL的最大BER,稱為BER MAX(WL)。
再者,測試電路102決定及在控制器記憶體112中儲存作為WL(稱為 WL)的函數的BER分布的複數個矩(從1階到K階),稱為: 。 測試電路102可以使用包含複數個矩的最佳化評分函數來決定最佳化評分,例如: , 其中 是最佳化評分函數中第 i階矩的權重,且 S是最佳化評分。因此,最佳化評分函數是矩函數的權重的和。
因此,基於WL的結果參數包括BER MAX(WL)或 S中的至少一個。
在320,測試電路102決定基於WL的結果參數中的一或多個是否跨越臨界值。
在一些範例中,測試電路102決定所有的N個NAND快閃記憶體裝置的所有的M區塊的任何WL的最佳化評分S(例如,矩的權重和)是否大於評分臨界值UTH: 。 因應決定所有的N個NAND快閃記憶體裝置的所有的M區塊的至少一個WL的S大於UTH(320:YES),方法300進行到330。另一方面,因應決定不存在具有大於MAX TH(320:NO)的 S的WL,鑑於目前的程式設計參數已經最佳化,處理300結束。
在一些範例中,測試電路102決定所有的N個NAND快閃記憶體裝置的所有的M區塊的任何WL的BER MAX(WL)是否大於預先決定的臨界值MAX TH,舉例來說,按表示式(6)。因應決定所有的N個NAND快閃記憶體裝置的所有的M區塊的至少一個WL的BER MAX(WL)大於MAX TH(320:YES),方法300進行到330。另一方面,因應決定不存在具有大於MAX TH(320:NO)的BER MAX(WL)的WL,鑑於目前的程式設計參數已經最佳化,處理200結束。
在330,測試電路102修改目前的程式設計參數。在目前的迭代中的經修改的目前的程式設計參數被設置為在下個迭代(例如,對於310)中的目前的程式設計參數。
在320將 S使用作為基於WL的結果參數的範例中,測試電路102可以修改目前的程式設計參數,以:在具有 S大於UTH的每個WL上增加tProg(例如,藉由減少V start或改變其他程式設計DSP修剪參數);以及在具有 S小於或等於UTH的每個WL上減少tProg(例如,藉由增加V start或改變其他程式設計DSP修剪參數)。減少V start允許更高準確性的程式設計,從而減少了 S。另一方面,增加V start允許較低準確性的程式設計,從而增加了 S。在一些WL上增加tProg且在其他WL上減少tProg,使WL的 S相等,同時在M個經程式設計的區塊上維持相同的平均tProg DSP
在320將BER MAX(WL)使用作為基於WL的結果參數的範例中,測試電路102可以修改目前的程式設計參數,以:在具有BER MAX(WL)大於MAX TH的每個WL上增加tProg(例如,藉由減少V start或改變其他程式設計DSP修剪參數);以及在具有BER MAX(WL)小於或等於MAX TH的每個WL上減少tProg(例如,藉由增加V start或改變其他程式設計DSP修剪參數)。如上所述,減少V start允許更高準確性的程式設計,從而減少了BER MAX(WL)。另一方面,增加V start允許較低準確性的程式設計,從而增加了BER MAX(WL)。在一些WL上增加tProg且在其他WL上減少tProg,使WL的BER MAX(WL)相等,同時在M個經程式設計的區塊上維持相同的平均tProg DSP
在方法300結束時的輸出(例如,在320:NO)是作為WL的一組目前的程式設計參數(例如,V start、V step、V bias、NPP、及在ISPP中所使用的其他參數或其他程式修剪參數)。每個WL都有自己的一組使用方法300來決定的程式設計參數。這種輸出可以是所描述的參數表的形式。實體裝置參數包括,對於每個WL,WL的位址/ID/編號或每個WL的列位址/ID/編號的範圍。實體裝置參數還可以包括,對於每個WL,WL所在的區塊位址/ID/區塊的編號。每個WL的程式設計參數是偵測到320:NO的迭代期間的目前的程式設計參數,其中這種程式設計參數被映射到WL位址/ID/編號或每個WL的列位址/ID/編號的範圍。
第4圖是流程圖,根據一些安排,圖示範例訓練方法400。參照第1-4圖,訓練方法400允許測試電路102產生參數表並結合了方法200。在方法400中,N個NAND快閃記憶體裝置的所有的區塊被劃分成多個區塊集,每個區塊集包括複數個區塊。每個區塊集包括具有類似的tProg及BER分布的區塊,而不同的區塊集的區塊具有更明顯的tProg及BER分布。在這方面,在相同的區塊集內的區塊的程式設計參數比不同的區塊集中的區塊的程式設計參數的值更相似。方法200是針對每個區塊集來執行的,使得在每個區塊集中的複數個區塊對應到方法200中的M區塊。
在410,測試電路102決定N個NAND快閃記憶體裝置的所有的區塊的tProg及BER特性。舉例來說,控制器110使用內定的程式設計參數並使用隨機參考資料來對所有N個NAND快閃記憶體裝置的所有區塊的所有列及WL進行程式設計。內定的程式設計參數的範例包括(但不限於):內定的V start、內定的V step、內定的V bias、內定的NPP、及ISPP中使用的其他內定的參數等。然後,使用內定的電壓臨界值來讀取隨機參考資料。基於程式設計及讀取,N個NAND快閃記憶體裝置的所有的區塊的tProg及BER特性被決定。舉例來說,N個NAND快閃記憶體裝置的所有的區塊的tProg及BER都是基於程式設計及讀取來測量的。
在420,測試電路102決定區塊集,每個區塊集包括具有共同tProg及BER特性的區塊。舉例來說,測試電路102將N個NAND快閃記憶體裝置的所有的區塊分成多個不同的區塊集或群組。區塊集的數量被稱為Sb。
在一些範例中,所有的區塊根據它們的tProg來分等級,並根據不同的tProg範圍而劃分成Sb區塊集,使得第一區塊集包括具有在最低tProg範圍內的tProg的區塊、第二區塊集包括具有在第二低tProg範圍(且高於最低tProg範圍)內的tProg的區塊、第三區塊集包括具有在第三低tProg範圍(且高於最低及第二低tProg範圍)內的tProg的區塊、…、及Sb th區塊集包括具有在最高tProg範圍內的tProg的區塊。
在一些範例中,所有的區塊根據它們的BER來分等級,並根據不同的BER範圍而劃分成Sb區塊集,使得第一區塊集包括具有在最低BER範圍內的BER的區塊、第二區塊集包括具有在第二低BER範圍(且高於最低BER範圍)內的BER的區塊、第三區塊集包括具有在第三低BER範圍(且高於最低及第二低BER範圍)內的BER的區塊、…、及Sb th區塊集包括具有在最高BER範圍內的tProg的區塊。
在一些範例中,基於每個區塊的BER及每個區塊的tProg的組合,對N個NAND快閃記憶體裝置的所有的區塊的每個區塊計算出評分。舉例來說,評分可以是每個區塊的BER及每個區塊的tProg的權重和,或者是每個區塊的BER及每個區塊的tProg作為輸入的另一個適合函數的結果。所有的區塊根據它們的評分來分等級,並根據不同的評分範圍而劃分成Sb區塊集,使得第一區塊集包括具有在最低評分範圍內的區塊、第二區塊集包括具有在第二低評分範圍(且高於最低評分範圍)內的區塊、第三區塊集包括具有在第三低評分範圍(且高於最低及第二低評分範圍)內的區塊、…、及Sb th區塊集包括具有在最高評分範圍內的tProg的區塊。
對於Sb區塊集的每個區塊集,都要執行430-450。舉例來說,在430,測試電路102對目前的區塊集執行方法200,目前的區塊集的區塊是方法200的M區塊。方法200在260:NO結束,其中作為WL的函數的調整後的程式設計參數被產生(例如,做為表)。在440,測試電路102決定目前的區塊集是否是最後的區塊集。因應決定目前的區塊集是最後的區塊集(440:YES),方法400結束,且Sb區塊集的每個區塊集的調整後的程式設計參數已經產生。另一方面,因應決定目前的區塊集不是最後的區塊集(440:YES),在450,下一個區塊集被設置為目前的區塊集,且方法400返回430。
將區塊劃分成不同的區塊集,可以更有效地決定所有的N個NAND快閃記憶體裝置的程式設計參數的更精確的特性。除了本文所述的每個區塊的tProg及BER特性以外,還可以基於NAND快閃記憶體裝置的晶粒內的實體位置來產生區塊集,這些實體位置與BER及tProg分布相關聯。
第5圖是流程圖,根據一些安排,圖示範例訓練方法500。參照第1-5圖,訓練方法500允許測試電路102產生參數表並結合了方法300。在方法500中,N個NAND快閃記憶體裝置的所有的區塊被劃分成多個區塊集,如關於第4圖的描述。方法300是針對每個區塊集來執行的,使得在每個區塊集中的複數個區塊對應到方法300中的M區塊。
在410,測試電路102決定N個NAND快閃記憶體裝置的所有的區塊的tProg及BER特性,如關於第4圖的描述。在420,測試電路102決定區塊集,每個區塊集包括具有共同tProg及BER特性的區塊,如關於第4圖的描述。
對於Sb區塊集的每個區塊集,都要執行510、440、及450。舉例來說,在510,測試電路102對目前的區塊集執行方法300,目前的區塊集的區塊是方法300的M區塊。方法300在320:NO結束,其中作為WL的函數的調整後的程式設計參數被產生(例如,做為表)。在440,測試電路102決定目前的區塊集是否是最後的區塊集。因應決定目前的區塊集是最後的區塊集(440:YES),方法500結束,且Sb區塊集的每個區塊集的調整後的程式設計參數已經產生。另一方面,因應決定目前的區塊集不是最後的區塊集(440:YES),在450,下一個區塊集被設置為目前的區塊集,且方法500返回510。
在一些實現中,可以獲得讀取操作的電壓臨界值(取代使用內定的電壓讀取臨界值),以將NAND讀取錯誤最小化。在這方面,知道實體參數(例如列、字元線、區塊位址、P/E週期數等)的臨界值追蹤估計器可用於程式設計DSP。因此,本文所述的決定WL或列的程式設計參數的方法可以結合臨界值追蹤估計器。在一些範例中,可以從本文所述的方法中單獨訓練具有每一列集的臨界值追蹤演算法的讀取DSP,從而改善臨界值估計的準確性。
於其他範例中,對每一列集的臨界值追蹤演算法的讀取DSP可以與程式設計DSP選擇列集或其他參數共同訓練。亦即,對於決定程式設計參數在給定的WL中被更新的每一次迭代,讀取DSP估計準確性也是使用在該迭代中更新的程式設計參數來計算的。
第6圖是流程圖,根據一些安排,圖示範例訓練方法600。參照第1-6圖,方法200、300、400、及500是方法600的具體實現。方法600可以藉由測試電路102來執行,以便為多個NAND快閃記憶體裝置(例如,N個NAND快閃記憶體裝置)的每個WL或每一列產生經最佳化的程式設計參數。在一些範例中,每個WL包括複數個NAND快閃記憶體裝置之一的相同的實體層中的一組實體列。於其他範例中,每個WL只是指一群組的列。
在610,測試電路102基於使用程式設計參數對複數個NAND快閃記憶體裝置的複數個區塊進行程式設計,為複數個NAND快閃記憶體裝置的複數個區塊上的每一列或複數個WL的每個WL來決定至少一個結果參數。至少一個結果參數包括每個WL或每一列的分頁BER的STD。每個WL或列的分頁BER的STD是使用每個WL或列的BER分布的矩來決定的。在一些範例中,矩可以大於2。至少一個結果參數包括每個WL或每一列的平均BER。至少一個結果參數包括每個WL或每一列的最大BER。至少一個結果參數包括每個WL或每一列的評分,該評分是使用每個WL或每一列的分頁BER分布的複數個矩來決定的。
在620,測試電路102基於至少一個結果參數,修改複數個WL的一或多個WL或一或多個列的程式設計參數。在一些範例中,程式設計參數包括V start、V step、V bias、或NPP的至少一個。在一些範例中,基於至少一個結果參數來修改複數個WL的一或多個WL或一或多個列的程式設計參數,包括決定一或多個WL中的每一個或一或多個列的至少一個結果參數之一跨越臨界值,以及作為回應,修改一或多個WL或一或多個列中的每一個的程式設計參數。
在一些範例中,方法600還包括,基於使用經修改的程式設計參數對複數個NAND快閃記憶體裝置的複數個區塊進行程式設計,來決定複數個NAND快閃記憶體裝置的複數個區塊上的複數個WL的每一個WL或每一列的至少一個結果參數。在一些範例中,方法600還包括,決定複數個WL中的任何一個或列的任何一個的至少一個結果參數的其中一個沒有跨越臨界值;及作為回應,決定複數個WL或每一列中的每一個的程式設計參數是經最佳化的程式設計參數。在一些範例中,修改一或多個WL中的每一個或一或多個列中的每一個的程式設計參數包括藉由修改一或多個WL中的每一個或一或多個列中的每一個的程式設計參數來調整一或多個WL中的每一個或一或多個列中的每一個的tProg。
在630,測試電路102基於至少一個結果參數,經由修改複數個WL中的一或多個WL或一或多個列的程式設計參數,來產生對應到實體裝置參數的經最佳化的程式設計參數。實體裝置參數至少包括複數個WL中每一個的位址或一或多個列的每一列的位址。
在一些範例中,方法600還包括將複數個區塊預設為不同的週期數。至少一個結果參數是在複數個區塊被預設之後決定的。
在一些範例中,複數個區塊的數量小於複數個NAND快閃記憶體裝置上的區塊的總數。在一些範例中,複數個區塊可以從複數個NAND快閃記憶體裝置上的所有的區塊中隨機選擇。在一些範例中,複數個NAND快閃記憶體裝置上的所有區塊基於程式設計時間或錯誤特性中的一或多個被劃分成複數個區塊集,使得在複數個區塊集中的每一個內的區塊對應到複數個區塊(參考610)。
因此,本文所述的方法涉及用於獲得不同列集的適應性修剪參數(經最佳化的程式設計參數)的訓練處理。訓練處理包括在不同的耐久性及應力條件下(例如,不同的週期數)測試多個NAND快閃記憶體裝置,以:從多個裝置上的tProg及每個分頁測量的BER定義列集(WL);計算每一列集的測量評分(表示可能的參數修改);更新每個列集的程式設計DSP修剪參數;及重複以上處理,直到達成效能目標且在所有的列集上獲得類似的評分。
在一些範例中,最佳化的評分是分頁BER的STD,為在多個NAND快閃記憶體裝置上測量的WL的函數。在一些範例中,評分最佳化可被執行,使用分頁BER分布的較高階的矩,作為NAND快閃記憶體裝置的實體裝置參數(例如,列、WL等)的函數。
如上所述,本文所述的方法減少了每列或WL的BER標準差,以達成可靠性,且允許在高平均BER下操作,同時控制低峰-平均(low peak-to-average)BER分布。在相同的應力條件,高寫入效能可以被達成,並改善可靠性。
這些方法包括最佳化程式設計參數作為其他實體裝置參數的函數,諸如區塊位址、P/E週期數等。這意味著本文所述的方法可以針對具有共同實體裝置特性的區塊集來實現,且可以為具有不同的列集的每個區塊集獲得程式設計參數集。此外,本文所述的方法可以分別應用於不同的週期範圍。
第7圖是流程圖,根據一些安排,圖示使用經訓練的程式設計參數對資料進行程式設計的範例方法700。參照第1-7圖,方法700藉由控制器110來執行。如上所述,在測試電路102使用方法200、300、400、500、或600中的一或多個來決定經最佳化的程式設計參數之後,測試電路102可以使用任何適合的機制來將程式設計參數作為WL或列的函數(例如,以表的形式)傳輸到控制器記憶體112。控制器110可以使用這種程式設計參數來對資料進行程式設計。方法700很簡單,在每個NAND快閃記憶體裝置的調整方面引入了不明顯的負荷。
在710,控制器110決定對應到程式命令的目標列。控制器110可以接收來自主機101的程式命令,且將對應到命令的邏輯位址(經由FTL)轉譯成包括列位址/ID/編號及區塊位址/ID/編號的實體位址。
在720,控制器110使用目標列的實體裝置參數及對應到該實體裝置參數的經最佳化的程式設計參數,為目標列設置程式設計參數。舉例來說,控制器110在儲存在控制器記憶體112中的參數表中查找實體裝置參數(例如,列位址/ID/編號、區塊位址/ID/編號、及週期數(如果有的話)),並決定映射到實體裝置參數的一組經最佳化的程式設計參數(例如,V start、V step、V bias、NPP、及在ISPP中使用的其他參數或其他程式修剪參數)。
在730,控制器110啟動了程式命令。因應為藉由列位址/ID/編號及區塊位址/ID/編號所識別的列/區塊來設置的程式設計參數,控制器110啟動程式命令且將對應到藉由列位址/ID/編號及區塊位址/ID/編號所識別的列/區塊上的程式命令的資料進行程式設計。
提供先前的描述是為了使所屬技術領域中具有通常知識者能夠實現本文所述的各種態樣。對這些態樣的各種修改對於所屬技術領域中具有通常知識者而言是顯而易見的,這裡定義的通用原則也可以應用到其他態樣。因此,申請專利範圍不打算侷限於本文所顯示的態樣,而是給予與申請專利範圍語言一致的全部範疇,其中提及單數的元件並不意味著「一個且只有一個(one and only one)」,除非特別說明,而是「一或多個(one or more)」。除非特別說明,否則用語「一些(some)」是指一或多個。所屬技術領域中具有通常知識者已知的或後來才知道的與前面整個描述的各種態樣的元件的所有結構及功能上的等效都明確地藉由參考而併入本文,並打算包含在申請專利範圍中。再者,在此所揭露的所有技術並非要貢獻予大眾,無論此揭露是否明確地記載於申請專利範圍中。除非該元件明確地使用「用以...之手段(means for)」的用語,否則任何申請專利範圍元件都不會被解釋為手段功能用語(means plus function)。
可以理解的是,所揭露的處理中的步驟的具體順序或層次是說明性方法的一個範例。根據設計偏好,可以理解的是,在保持先前描述的範疇內,可以重新安排處理中的步驟的具體順序或層次。隨附的方法請求項以取樣順序呈現各種步驟的元件,並不意味著侷限所呈現的具體順序或層次。
先前對所揭露的實現的描述是為了使所屬技術領域中具有通常知識者能夠製造或使用所揭露的標的。對這些實現的各種修改對於所屬技術領域中具有通常知識者而言是顯而易見的,這裡定義的通用原則也可以應用到其他實現,而不會偏離先前的描述的精神或範疇。因此,先前的描述並不打算侷限於本文所顯示的實現,而是要賦予與本文揭露的原則及新穎特徵相一致的最廣泛範疇。
所說明的及描述的各種範例僅作為範例來提供,以說明申請專利範圍的各種特徵。然而,就任何給定的範例所顯示和描述的特徵不一定侷限於相關聯的範例,可以使用或與其他顯示和描述的範例相結合。再者,申請專利範圍不打算受任何一個範例的限制。
上述方法描述及處理流程圖僅作為說明性範例提供,並不意味著要求或暗示各種範例的步驟必須按照所提出的順序來執行。所屬技術領域中具有通常知識者可以理解,上述範例中的步驟可以按照任何順序來執行。諸如「此後(thereafter)」、「然後(then)」、「下一個(next)」等用字並不是為了限制步驟的順序;這些用字指示用來引導讀者對方法的描述。再者,任何提及單數的請求項元件,舉例來說,使用冠詞「一(a, an)」或「該(the)」都不能解釋為將該元件限制在單數。
與本文所揭露的範例有關的各種說明性邏輯區塊、模組、電路、及演算法步驟可以作為電子硬體、電腦軟體、或兩者的組合來實現。為了清楚地說明硬體及軟體的這種可交換性,上文已對各種說明性組件、區塊、模組、電路、及步驟的功能性進行了一般性描述。無論此功能性被實現為硬體或軟體係基於整個系統上的特定應用及設計限制。所屬技術領域中具有通常知識者可以為每個特定的應用以不同的方式實現所描述的功能,但這種實現決定不應該被解釋為導致偏離本揭露的範疇。
用於實現與本文所揭露的範例有關的各種說明性邏輯、邏輯區塊、模組、及電路的硬體可以用通用處理器、DSP、ASIC、FPGA或其他可程式化邏輯裝置、離散閘極或電晶體邏輯、離散硬體組件、或其任何組合來實現或執行本文所述的功能。通用處理器可以是微處理器,但在另一種情況下,該處理器可以是任何傳統處理器、控制器、微控制器、或狀態機。處理器也可以被實現為計算裝置的組合,例如,DSP及微處理器的組合、複數個微處理器、一或多個微處理器與DSP核心相結合、或任何其他此種組態。替代地,一些步驟或方法可以藉由特定於給定功能的電路來執行。
在一些例示的範例中,所述的功能可以在硬體、軟體、韌體、或其任何組合中實現。如果以軟體實現,這些功能可以作為一或多個指令或碼被儲存在非暫態電腦可讀取的儲存媒體或非暫態處理器可讀取的儲存媒體上。本文揭露的方法或演算法的步驟可以體現在處理器可執行的軟體模組中,其可以駐留在非暫態電腦可讀取的或處理器可讀取的儲存媒體上。非暫態電腦可讀取的或處理器可讀取的儲存媒體可以是可藉由電腦或處理器存取的任何儲存媒體。藉由範例但不限於此,這種非暫態電腦可讀取的或處理器可讀取的儲存媒體可以包括RAM、ROM、EEPROM、快閃記憶體、CD-ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存器、或可以被使用於以指令或資料結構的形式來儲存期望的程式碼且可以藉由電腦來存取的任何其他媒體。如此處所使用之碟片(disk及disc)包括壓縮光碟(CD)、雷射磁碟、光碟、數位多功能光碟(DVD)、軟碟及藍光碟,其中碟片(disk)通常以磁性方式複製資料,而碟片(disc)通常以雷射方式複製資料。上述的組合也包括在非暫態電腦可讀取的及處理器可讀取的媒體的範疇內。此外,方法或演算法的操作可以作為一個或任何組合或一組碼及/或指令駐留在非暫態處理器可讀取的儲存媒體及/或電考可讀取的儲存媒體上,可以將其納入電腦程式產品內。
前面對所揭露的範例的描述是為了使所屬技術領域中具有通常知識者能夠製造或使用本揭露的內容。對這些範例的各種修改對於所屬技術領域中具有通常知識者而言是顯而易見的,這裡定義的通用原則也可以應用到一些範例,而不會偏離本揭露的精神或範疇。因此,本揭露並不打算侷限於本文所顯示的範例,而是要賦予與以下申請專利範圍及本文揭露的原則及新穎特徵相一致的最廣泛範疇。
100:非揮發性儲存裝置 101:主機 102:測試電路 104:測試資料記憶體 110:控制器 112:控制器記憶體 120:記憶體陣列 130a:NAND快閃記憶體裝置 130b:NAND快閃記憶體裝置 130n:NAND快閃記憶體裝置 200:訓練方法 210:步驟 220:步驟 230:步驟 240:步驟 250:步驟 260:步驟 270:步驟 300:訓練方法 310:步驟 320:步驟 330:步驟 400:訓練方法 410:步驟 420:步驟 430:步驟 440:步驟 450:步驟 500:訓練方法 510:步驟 600:訓練方法 610:步驟 620:步驟 630:步驟 700:訓練方法 710:步驟 720:步驟 730:步驟
[第1圖]顯示根據一些實現的系統的方塊圖,該系統包括耦接到主機的非揮發性儲存裝置。
[第2圖]是流程圖,根據一些安排,圖示範例訓練方法。
[第3圖]是流程圖,根據一些安排,圖示範例訓練方法。
[第4圖]是流程圖,根據一些安排,圖示範例訓練方法。
[第5圖]是流程圖,根據一些安排,圖示範例訓練方法。
[第6圖]是流程圖,根據一些安排,圖示範例訓練方法。
[第7圖]是流程圖,根據一些安排,圖示使用經訓練的程式設計參數對資料進行程式設計的範例方法。
100:非揮發性儲存裝置
101:主機
102:測試電路
104:測試資料記憶體
110:控制器
112:控制器記憶體
120:記憶體陣列
130a:NAND快閃記憶體裝置
130b:NAND快閃記憶體裝置
130n:NAND快閃記憶體裝置

Claims (20)

  1. 一種在儲存裝置中操作的方法,該方法包含:決定對應到程式命令的目標列;使用該目標列的目標實體裝置參數及對應到該實體裝置參數的經最佳化的程式設計參數,為該目標列設置基於列的程式設計參數;及使用該基於列的程式設計參數啟動對該目標列的程式設計操作,其中,針對第一目標列,使用該基於列的程式設計參數的第一組啟動該程式設計操作,並且其中,針對不同的第二目標列,使用不同於該基於列的程式設計參數的該第一組的該基於列的程式設計參數的第二組啟動該程式設計操作。
  2. 如請求項1之方法,更包含:基於使用程式設計參數對複數個NAND快閃記憶體裝置的複數個區塊進行程式設計,為該複數個NAND快閃記憶體裝置的該複數個區塊的複數個列的每一列決定至少一個結果參數;及基於該至少一個結果參數,為該複數個列的一或多個列修改該程式設計參數。
  3. 如請求項2之方法,更包含經由基於該至少一個結果參數來為該複數個列的該一或多個列修改該程式設計參數,產生映射到實體裝置參數的該經最佳化的程式設計參數。
  4. 如請求項3之方法,其中該實體裝置參數包含該複數個列中的每一個的位址。
  5. 如請求項2之方法,其中該程式設計參數包含經程式設計的胞元Vstart的初始電壓位準、脈衝電壓階躍Vstep、偏置電壓Vbias、最大脈衝數(NPP)、程式設計電壓脈衝寬度、脈衝形狀、脈衝上升時間、脈衝下降時間、或脈衝間延遲時間中的至少一個。
  6. 如請求項2之方法,其中該至少一個結果參數包含每一列的分頁位元錯誤率(BER)的標準差。
  7. 如請求項6之方法,其中每一列的分頁BER的該標準差是使用每一列的BER分布的矩來決定的,該矩大於2。
  8. 如請求項2之方法,其中該至少一個結果參數包含每一列的平均位元錯誤率(BER)。
  9. 如請求項2之方法,其中該至少一個結果參數包含每一列的最大位元錯誤率(BER)。
  10. 如請求項2之方法,其中該至少一個結果參數包含每一列的評分,該評分是使用每一列的分頁位元錯誤率(BER)分布的複數個矩來決定的。
  11. 如請求項2之方法,其中基於該至少一個結果參數來為該複數個列的一或多個列修改該程式設計參數包含:決定該一或多個列中的每一個的至少一個結果參數中的一個跨越了臨界值;及 作為回應,為該一或多個列中的每一個修改該程式設計參數。
  12. 如請求項11之方法,更包含基於複數個NAND快閃記憶體裝置的複數個區塊被使用該經修改的程式設計參數進行程式設計,來決定該複數個NAND快閃記憶體裝置的該複數個區塊上的複數個列的每一列的該至少一個結果參數。
  13. 如請求項11之方法,更包含:決定該複數個列中的任何一個的至少一個結果參數中的一個沒有跨越臨界值;及作為回應,決定該複數個列中的每一個的程式設計參數是經最佳化的程式設計參數。
  14. 如請求項11之方法,其中為該一或多個列中的每一個修改該程式設計參數包含藉由為該一或多個列中的每一個修改該程式設計參數來為該一或多個列中的每一個調整程式時間tProg。
  15. 如請求項2之方法,更包含將該複數個區塊預設為不同的週期數,其中該至少一個結果參數是在該複數個區塊被預設之後決定的。
  16. 如請求項2之方法,其中該複數個區塊的數量小於該複數個NAND快閃記憶體裝置上的區塊的總數。
  17. 如請求項16之方法,其中該複數個區塊是從該複數個NAND快閃記憶體裝置上的所有區塊中隨機 選擇的。
  18. 如請求項16之方法,其中該複數個NAND快閃記憶體裝置上的所有區塊基於程式設計時間或錯誤特性中的一或多個被劃分成複數個區塊集,而在該複數個區塊集中的每一個內的區塊對應到該複數個區塊。
  19. 一種儲存裝置,包含:非揮發性記憶體;控制器,經組構以:決定對應到程式命令的目標列;及使用該目標列的目標實體裝置參數及對應到該實體裝置參數的經最佳化的程式設計參數,為該目標列設置基於列的程式設計參數;及使用該基於列的程式設計參數啟動對該目標列的程式設計操作,其中,針對第一目標列,使用該基於列的程式設計參數的第一組啟動該程式設計操作,並且其中,針對不同的第二目標列,使用不同於該基於列的程式設計參數的該第一組的該基於列的程式設計參數的第二組啟動該程式設計操作。
  20. 一種非暫態處理器可讀取媒體,包含處理器可讀取指令,使得當由處理器執行時,會使該處理器:決定對應到程式命令的目標列;使用該目標列的目標實體裝置參數及對應到該實體裝置參數的經最佳化的程式設計參數,為該目標列設置基於 列的程式設計參數;及使用該基於列的程式設計參數啟動對該目標列的程式設計操作,其中,針對第一目標列,使用該基於列的程式設計參數的第一組啟動該程式設計操作,並且其中,針對不同的第二目標列,使用不同於該基於列的程式設計參數的該第一組的該基於列的程式設計參數的第二組啟動該程式設計操作。
TW110147482A 2020-12-22 2021-12-17 基於實體裝置參數的非揮發性記憶體裝置程式設計參數的產生 TWI808573B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/131,509 2020-12-22
US17/131,509 US11923025B2 (en) 2020-12-22 2020-12-22 Generation of programming parameters for non-volatile memory device based on physical device parameters

Publications (2)

Publication Number Publication Date
TW202244933A TW202244933A (zh) 2022-11-16
TWI808573B true TWI808573B (zh) 2023-07-11

Family

ID=82022480

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110147482A TWI808573B (zh) 2020-12-22 2021-12-17 基於實體裝置參數的非揮發性記憶體裝置程式設計參數的產生

Country Status (3)

Country Link
US (1) US11923025B2 (zh)
CN (1) CN114664362A (zh)
TW (1) TWI808573B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11557362B2 (en) * 2021-04-27 2023-01-17 Micron Technology, Inc. Optimizing memory access operation parameters
US11615008B2 (en) * 2021-06-17 2023-03-28 Micron Technology, Inc. Temperature and inter-pulse delay factors for media management operations at a memory device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8891303B1 (en) * 2014-05-30 2014-11-18 Sandisk Technologies Inc. Method and system for dynamic word line based configuration of a three-dimensional memory device
US8995197B1 (en) * 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US20150325298A1 (en) * 2014-05-08 2015-11-12 Sandisk Technologies Inc. Memory access techniques for a memory having a three-dimensional memory configuration
TWI707362B (zh) * 2019-08-12 2020-10-11 力晶積成電子製造股份有限公司 資料寫入方法和儲存控制器

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5506810A (en) * 1994-08-16 1996-04-09 Cirrus Logic, Inc. Dual bank memory and systems using the same
US8694715B2 (en) * 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
US7876616B2 (en) * 2007-11-12 2011-01-25 Cadence Design Systems, Inc. System and method for wear leveling utilizing a relative wear counter
US8345477B1 (en) * 2009-07-29 2013-01-01 Marvell International Ltd. Non-volatile memory devices having uniform error distributions among pages
US9082466B2 (en) * 2013-07-23 2015-07-14 Micron Technology, Inc. Apparatuses and methods for adjusting deactivation voltages
US9240238B2 (en) * 2013-09-20 2016-01-19 Sandisk Technologies Inc. Back gate operation with elevated threshold voltage
KR102221752B1 (ko) * 2014-03-20 2021-03-02 삼성전자주식회사 메모리 장치의 프로그램 방법 및 이를 포함하는 데이터 독출 방법
US9437318B2 (en) * 2014-10-24 2016-09-06 Sandisk Technologies Llc Adaptive program pulse duration based on temperature
KR102263046B1 (ko) * 2014-10-29 2021-06-09 삼성전자주식회사 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
US9720754B2 (en) * 2014-11-20 2017-08-01 Western Digital Technologies, Inc. Read level grouping for increased flash performance
US9564233B1 (en) * 2016-03-04 2017-02-07 Sandisk Technologies Llc Open block source bias adjustment for an incompletely programmed block of a nonvolatile storage device
US10643730B1 (en) * 2018-02-26 2020-05-05 Toshiba Memory Corporation Adapting flash memory programming parameters for high endurance and steady performance
KR102634700B1 (ko) * 2018-08-14 2024-02-13 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 이의 동작 방법
US10852953B2 (en) * 2018-10-25 2020-12-01 Micron Technology, Inc. Dynamic temperature compensation in a memory component
US10970160B2 (en) * 2018-12-10 2021-04-06 Micron Technology, Inc. Bit error rate based dynamic program step characteristic adjustment
US11056199B2 (en) * 2019-10-30 2021-07-06 International Business Machines Corporation Updating corrective read voltage offsets in non-volatile random access memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8995197B1 (en) * 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US20150325298A1 (en) * 2014-05-08 2015-11-12 Sandisk Technologies Inc. Memory access techniques for a memory having a three-dimensional memory configuration
US8891303B1 (en) * 2014-05-30 2014-11-18 Sandisk Technologies Inc. Method and system for dynamic word line based configuration of a three-dimensional memory device
TWI707362B (zh) * 2019-08-12 2020-10-11 力晶積成電子製造股份有限公司 資料寫入方法和儲存控制器

Also Published As

Publication number Publication date
US20220199183A1 (en) 2022-06-23
US11923025B2 (en) 2024-03-05
TW202244933A (zh) 2022-11-16
CN114664362A (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
US10811091B2 (en) Adaptive processing for read threshold voltage calibration
TWI808573B (zh) 基於實體裝置參數的非揮發性記憶體裝置程式設計參數的產生
CN111919254B (zh) 基于存储器系统的温度调整编程操作的参数
US11714580B2 (en) Dynamic background scan optimization in a memory sub-system
CN108628552B (zh) 一种改善Flash磨损寿命的方法、控制装置及存储系统
CN108269603B (zh) 用于闪速存储器器件的连续自适应校准
US12009034B2 (en) Classification of error rate of data retrieved from memory cells
JP2014044791A (ja) 不揮発性メモリのための適応的エラー訂正
US11600354B2 (en) Determination of state metrics of memory sub-systems following power events
US11847317B2 (en) Managing bin placement for block families of a memory device based on trigger metric valves
US11842061B2 (en) Open block family duration limited by temperature variation
US11955194B2 (en) Tracking and refreshing state metrics in memory sub-systems
US11922041B2 (en) Threshold voltage bin calibration at memory device power up
US20240347084A1 (en) Determining read voltage offset in memory devices
US11437108B1 (en) Voltage bin calibration based on a temporary voltage shift offset
US11740959B2 (en) Dynamic voltage setting optimization during lifetime of a memory device
CN108074612B (zh) 记忆装置、记忆单元及其控制方法
US20230325273A1 (en) Managing error-handling flows in memory devices
US11837307B2 (en) Managing error-handling flows in memory devices
CN112447223B (zh) 基于系统特性执行刷新操作
US20240161838A1 (en) Media management scanning with unified criteria to alleviate fast and latent read disturb
US11941293B2 (en) Operation method of storage controller using history table, and storage device including the storage controller
US20220310168A1 (en) Operating method of storage controller using count value of direct memory access, storage device including storage controller, and operating method of storage device
US11762589B2 (en) Dynamic read-level thresholds in memory systems
CN112365908B (zh) 温度辅助的nand闪存管理