TW201443904A - 以保持漂移歷史為基礎之非揮發性記憶體讀取臨限最佳化 - Google Patents

以保持漂移歷史為基礎之非揮發性記憶體讀取臨限最佳化 Download PDF

Info

Publication number
TW201443904A
TW201443904A TW103104317A TW103104317A TW201443904A TW 201443904 A TW201443904 A TW 201443904A TW 103104317 A TW103104317 A TW 103104317A TW 103104317 A TW103104317 A TW 103104317A TW 201443904 A TW201443904 A TW 201443904A
Authority
TW
Taiwan
Prior art keywords
read
threshold
voltage
drift
nvm
Prior art date
Application number
TW103104317A
Other languages
English (en)
Other versions
TWI591644B (zh
Inventor
Earl T Cohen
Hao Zhong
Original Assignee
Lsi Corp
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 Lsi Corp filed Critical Lsi Corp
Publication of TW201443904A publication Critical patent/TW201443904A/zh
Application granted granted Critical
Publication of TWI591644B publication Critical patent/TWI591644B/zh

Links

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
    • 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
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/0084Arrangements for measuring currents or voltages or for indicating presence or sign thereof measuring voltage only
    • 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
    • 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/26Sensing or reading circuits; Data output circuits
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • 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
    • 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/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/14Dummy cell management; Sense reference voltage generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一種固態磁碟(SSD)控制器動態地調整一非揮發性記憶體(NVM)中之讀取臨限以減小歸因於裝置臨限電壓分佈移位之錯誤,因此改良一儲存子系統(諸如一SSD)之效能、可靠性及/或成本。一保持漂移時脈將一或多個NVM晶粒上之一或多個參考頁(或ECC單元或區塊)用作隨時間/溫度變化之讀取臨限參考,且將該等值之一函數用作(隨時間/溫度變化之)漂移之一量度。在某一初始時間,程式化該一或多個參考頁且針對該一或多個參考頁之各者量測一初始讀取臨限。在一些實施例中,在以下之一或多者之間平均化讀取臨限值:相同晶粒上之所有參考頁;及一I/O裝置中之相同一或多個晶粒中之所有參考頁。

Description

以保持漂移歷史為基礎之非揮發性記憶體讀取臨限最佳化 [相關申請案之交叉參考]
在隨附申請資料表、請求書或傳送信(視需要,若有)中作出本申請案之權利主張。在本申請案之類型允許的範圍內,本申請案出於所有目的以引用方式併入下列申請案,所有該等申請案在進行本發明時與本申請案共同擁有:於2012年5月4日申請之第一發明人為Earl T COHEN且標題為ZERO-ONE BALANCE MANAGEMENT IN A SOLID-STATE DISK CONTROLLER之美國非臨時申請案(檔案號為SF-11-02且序號為13/464,433);及於2013年2月10日申請之第一發明人為Earl T COHEN且標題為RETENTION-DRIFT-HISTORY-BASED NON-VOLATILE MEMORY READ THRESHOLD OPTIMIZATION之美國臨時申請案(檔案號SF-11-19且序號61/762,955)。
需要非揮發性儲存技術之進展以提供效能、效率及使用效用之改良。
除非明確識別為公開或眾所周知,否則本文提及之技術及概念(包含為了內容脈絡、定義或比較目的)不應被解釋為認同先前公開已 知此等技術及概念或認同此等技術及概念係先前技術之部分。本文引用之包含專利、專利申請案及公開案之所有參考文獻(若有)無論是否具體併入皆係針對所有目的以引用方式全部併入本文。
現在將描述如由固態磁碟(SSD)控制器使用之快閃記憶體之各種態樣以部分建立一技術背景且部分建立用於說明書之其餘部分中的命名前提。可藉由SSD控制器自非揮發性記憶體(NVM)讀取之資料之最小大小係受包含錯誤校正(諸如一低密度同位檢查(LDPC)程式碼)保護之一「讀取單位」。在一些內容脈絡中,讀取單位被稱作「碼字」。在一些實施例中,各讀取單位含有大約4K至大約32K個位元的使用者資料外加錯誤校正附加項。依據該SSD控制器之命令,(例如,經由NVM記憶體胞之一或多個部分之一陣列存取)自NVM記憶體胞讀取該等位元,取決於如下文論述之技術,每個記憶體胞可擁有一或多個位元。在一些實施例中,為安全原因,一SSD控制器在將資料寫入至NVM之前加密該資料。在一些實施例中,鑑於對長字串之經同等程式化之記憶體胞之電路設計限制,一SSD控制器在將資料寫入至NVM之前擾亂該資料。
經個別考量,各記憶體胞具有對應於該記憶體胞之一裝置臨限電壓且進一步對應於儲存於該記憶體胞中之邏輯位元值之一特定儲存(程式化)電荷。雖然在理想狀況下NVM中的所有記憶體胞針對所儲存之邏輯位元值將具有相同的裝置臨限電壓,但是實務上由於多種原因,該等裝置臨限電壓跨該等記憶體胞在沿裝置臨限電壓軸之類似於一高斯(Gaussian)形狀之概率分佈(例如,「裝置臨限電壓分佈」)係不同的。
因此,經總體考量,跨(諸如一讀取單位之)大量記憶體胞,存在的裝置臨限電壓分佈(例如,高斯概率曲線)與每個記憶體胞存在的狀態一樣多(每個記憶體胞之每個儲存位元具有兩個狀態)。即,對於每 個儲存記憶體胞之N個位元,存在2**N個狀態及相同數目個裝置臨限電壓分佈。通常,NVM中之讀取電路需要(2**N)-1個不同讀取臨限值(讀取電壓參考VREAD1至VREAD(N-1))以區分該2**N個狀態。
繼續上文,對於單位階記憶體胞(SLC)快閃記憶體,N=1。因此,SLC記憶體之每個儲存記憶體胞儲存一位元,具有兩個裝置臨限電壓分佈(一分佈係0且另一分佈係1),且需要一單個讀取臨限、讀取電壓參考VREAD1。從較低裝置臨限電壓至較高裝置臨限電壓,該兩個裝置臨限電壓分佈被視為E(擦除)狀態及D1(第一資料)狀態。雖然係任何的,但是一共同映射(寫碼)用以將邏輯1指派給E狀態且將邏輯0指派給D1狀態。因此,對「0」及「1」之參考係用於分別解碼D1狀態及E狀態之代理(proxy)參考。
進一步繼續上文,對於多位階記憶體胞(MLC)快閃記憶體,N>1。因此,MLC記憶體之每個記憶體胞儲存一個以上位元,具有兩個以上裝置臨限電壓分佈,且需要多個不同讀取臨限以區分該等分佈。例如,一4LC記憶體(例如,快閃記憶體)之每個記憶體胞儲存2個位元,具有四個裝置臨限電壓分佈,且通常需要三個讀取臨限(讀取電壓參考VREAD1、VREAD2及VREAD3)。從較低裝置臨限電壓至較高裝置臨限電壓,該四個裝置臨限電壓分佈被視為E(擦除)、D1(Data1)、D2(Data2)及D3(Data3)狀態。雖然係任何的,但是該四個裝置臨限電壓分佈之各者亦係根據一特定二進位序列(諸如一格雷碼(Gray code)序列)加以映射(定址)。因此,對11、10、00及01狀態之一或多者之參考係用於分別解碼E、D1、D2及D3狀態之代理參考。
關於用於一MLC之狀態之位址映射,各可被視為具有一最高有效位元(MSB)及一最低有效位元(LSB)(及對於每記憶體胞兩個以上位元,其等之間之有效位元)。雖然存在MLC NVM程式化其等記憶體胞之各種方式,但是以下途徑係常見的。一初始程式化遍次(電荷分佈 之一操縱)建立LSB,例如寫入「下部頁」。這係以與寫入一SLC之方式相同之方式(例如,建立E狀態裝置臨限電壓分佈及一第二狀態裝置臨限電壓分佈之一電荷操縱)而鬆散地進行。取決於所使用之二進位序列,該第二狀態裝置臨限電壓分佈類似於D1狀態裝置臨限電壓分佈,類似於D2狀態裝置臨限電壓分佈或介於D1狀態裝置臨限電壓分佈與D2狀態裝置臨限電壓分佈之間。對於MLC,如MLC之位階數目要求,一或多個額外程式化遍次進一步(在數目、沿裝置臨限電壓軸之位置及形狀方面)操縱裝置臨限電壓分佈。更特定言之,一或多個後續程式化操作寫入「中間頁」(若有,針對每個記憶體胞兩個以上位元),且一最終程式化操作建立MSB,例如寫入「上部頁」。例如在一4LC(每個記憶體胞MLC 2個位元)中,藉由一第二程式化遍次將該第一程式化遍次之E分佈及第二分佈分別分叉至E分佈與D1分佈及D2分佈與D3分佈中。
裝置臨限電壓分佈藉由一或多個因數(諸如讀取干擾、寫入干擾及保持損失)修改而偏離其等初始/標稱分佈。更特定言之,隨時間、溫度及與使用相關之其他因數變化,各裝置臨限電壓分佈之位置可相對於裝置臨限電壓軸移動。此等變化增大使用用於先前基於標稱裝置臨限電壓分佈建立之讀取臨限之一讀取參考電壓值執行之讀取錯誤之可能性。在一些SLC實施例中,當在自NVM讀取的讀取單位中遇到硬決策不可校正錯誤時,執行一系列重試操作以恢復讀取單位。重試操作包含控制器以讀取臨限VREAD1之不同電壓值(諸如由經由來自SSD控制器之一I/O命令寫入之一暫存器設定判定)重讀讀取單位。藉由在讀取臨限VREAD1之不同設定下讀取,在裝置臨限電壓軸之不同點處取樣讀取單位以嘗試定位可校正(硬決策)之讀取單位之一樣本。
NVM廠商建議之一演算法係向上緩慢掃掠SLC讀取臨限(使讀取參考電壓VREAD1從其標稱值增大)以嘗試尋找可校正之讀取單位之一 樣本。若此程序失敗,則在另一方向上掃掠讀取臨限(使讀取參考電壓VREAD1從其標稱值減小)。若兩個掃掠失敗,則讀取單位係不可(藉由硬決策解碼)校正。線性掃掠讀取臨限(其在不同的各自讀取參考電壓設定下可能具有16至64個步驟)需要讀取單位之許多耗時樣本(各具有伴隨恢復時間延時)。即使當不常需要此一搜尋且因此此一搜尋對平均延時並無重大影響時,對於具有嚴格最大延遲要求之應用(包含一些資料庫應用),此一耗時搜尋仍係不可接受的。
本發明可以許多方式實施,包含如實施為處理程序、製品、設備、系統、組合物及諸如電腦可讀儲存媒體之電腦可讀媒體(例如,諸如磁碟之光學及/或磁性大容量儲存裝置中之媒體或具有諸如快閃儲存器之非揮發性儲存器之積體電路)或電腦網路,其中經由光學或電子通信鏈路發送程式指令。在本說明書中,此等實施方案或本發明可採取之任何其他形式可被稱作技術。【實施方式】提供本發明之一或多項實施例之闡述,該一或多項實施例能夠改良在上文識別領域中之效能、效率及使用效用。【實施方式】包含<引言>段落,以促進更快理解【實施方式】之剩餘部分。<引言>包含根據本文描述之概念之系統、方法、製品及電腦可讀媒體之一或多者之例示性實施例。如結論中更詳細地論述,本發明涵蓋所發佈申請專利範圍之範疇內之所有可能修改及變動。
在一些實施例及/或使用案例中,諸如經由如下文所述前瞻性地管理讀取臨限之保持漂移追蹤(亦稱保持漂移時脈)技術獨立於不可校正(例如,硬決策解碼)錯誤之偵測調整讀取臨限。在一些內容脈絡中,讀取臨限之獨立調整能夠避免原本將在無獨立調整的情況下發生之不可校正錯誤。在各種實施例中,一NVM之一讀取臨限調整在以下任何一或多個情形下判定:在NVM之製造時、在NVM之初始使用 (例如,第一次SSD開機)時、在一或多個時間(例如,週期性地、不定期地或隨機地)、回應於高於一臨限之一位元錯誤率及回應於滿足一條件(例如,超過目標BER或超過「0」/「1」平衡之目標不均等)。
在各種實施例中,按群組管理NVM之區塊且至少部分讀取所管理群組之一特定者之區塊之一取樣之各者。若至少一些部分讀取樣本區塊滿足條件,則針對特定管理群組之所有區塊調整讀取臨限。在各種實施例中,調整係經由一保持漂移時脈(保持漂移追蹤)技術。
一保持漂移時脈將一或多個NVM晶粒上之一或多個參考頁(或ECC單元或區塊)用作隨時間/溫度變化之讀取臨限參考,且將該等值之一函數用作(隨時間/溫度變化之)漂移之一量度。在某一初始時間,程式化一或多個參考頁(連同相同區塊中之其他頁,使得此等頁表現如同其他頁)且針對一或多個參考頁之各者量測一初始讀取臨限。在一些實施例中,在以下一或多者之間平均化讀取臨限值:相同晶粒上之所有參考頁;及一I/O裝置中之相同一或多個晶粒中之所有參考頁。
100‧‧‧固態磁碟控制器
101‧‧‧固態磁碟
102‧‧‧主機
103‧‧‧(選用)交換機/網狀結構/中間控制器
104‧‧‧中間介面
105‧‧‧作業系統
106‧‧‧韌體(FW)
107‧‧‧驅動程式
107D‧‧‧虛線箭頭(主機軟體←→輸入/輸出裝置通信)
109‧‧‧應用程式
109D‧‧‧虛線箭頭(應用程式←→經由驅動程式進行輸入/輸出裝置通信)
109V‧‧‧虛線箭頭(應用程式←→經由虛擬函式進行輸入/輸出裝置通信)
110‧‧‧外部介面
111‧‧‧主機介面
112C‧‧‧(選用)卡式記憶體
113‧‧‧標籤追蹤
114‧‧‧多裝置管理軟體
115‧‧‧主機軟體
116‧‧‧輸入/輸出卡
117‧‧‧輸入/輸出&儲存裝置/資源
118‧‧‧伺服器
119‧‧‧區域網路/廣域網路
121‧‧‧資料處理
123‧‧‧引擎
131‧‧‧緩衝器
133‧‧‧直接記憶體存取
135‧‧‧錯誤校正碼-X
137‧‧‧記憶體
141‧‧‧映射
143‧‧‧表
151‧‧‧回收器
161‧‧‧錯誤校正碼
171‧‧‧中央處理單元
172‧‧‧中央處理單元核心
173‧‧‧命令管理
175‧‧‧緩衝器管理
177‧‧‧轉譯管理
179‧‧‧連貫性管理
180‧‧‧記憶體介面
181‧‧‧裝置管理
182‧‧‧識別碼管理
190‧‧‧裝置介面
191‧‧‧裝置介面邏輯
192‧‧‧快閃裝置
193‧‧‧排程
194‧‧‧快閃晶粒
199‧‧‧非揮發性記憶體
210‧‧‧單位階記憶體胞讀取臨限
215‧‧‧單位階記憶體胞經調整讀取臨限
220‧‧‧單位階記憶體胞標稱最負臨限狀態
225‧‧‧單位階記憶體胞經調整最負臨限狀態
230‧‧‧單位階記憶體胞標稱最正臨限狀態
235‧‧‧單位階記憶體胞經調整最正臨限狀態
240‧‧‧多位階記憶體胞標稱第一讀取臨限
242‧‧‧多位階記憶體胞標稱第二讀取臨限
244‧‧‧多位階記憶體胞標稱第三讀取臨限
250‧‧‧多位階記憶體胞標稱最負臨限狀態
251‧‧‧多位階記憶體胞經調整最負臨限狀態
260‧‧‧多位階記憶體胞標稱次最負臨限狀態
261‧‧‧多位階記憶體胞經調整次最負臨限狀態
265‧‧‧多位階記憶體胞經調整第一讀取臨限
270‧‧‧多位階記憶體胞標稱次最負臨限狀態
271‧‧‧多位階記憶體胞經調整次最負臨限狀態
275‧‧‧多位階記憶體胞經調整第二讀取臨限
280‧‧‧多位階記憶體胞標稱最正臨限狀態
281‧‧‧多位階記憶體胞經調整最正臨限狀態
285‧‧‧多位階記憶體胞經調整第三讀取臨限
306‧‧‧寫入資料
310‧‧‧擾亂器
311‧‧‧經擾亂之寫入資料
320‧‧‧錯誤校正碼編碼器
321‧‧‧經錯誤校正碼編碼之寫入資料
332‧‧‧非揮發性記憶體陣列
334‧‧‧可程式化讀取電壓電路
336‧‧‧控制/狀態暫存器
338‧‧‧輸入/輸出
340‧‧‧不平衡偵測器
341‧‧‧不平衡
351‧‧‧讀取資料
359‧‧‧未經校正&擾亂(原始)讀取資料
360‧‧‧錯誤校正碼解碼器
361‧‧‧經校正讀取資料
362‧‧‧不可校正讀取
370‧‧‧解擾亂器
371‧‧‧未經擾亂之讀取資料
380‧‧‧平衡恢復邏輯
410‧‧‧擾亂資料
420‧‧‧錯誤校正碼編碼
430‧‧‧寫入非揮發性記憶體
440‧‧‧讀取非揮發性記憶體
450‧‧‧資料恢復
460‧‧‧不可校正錯誤評估
470‧‧‧不均等判定
480‧‧‧讀取臨限調整
501‧‧‧寫入參考記憶體胞
502‧‧‧判定實際新最佳讀取臨限
503‧‧‧初始化保持漂移歷史
510‧‧‧將當前讀取臨限初始化為預設操作讀取臨限
520‧‧‧用當前讀取臨限讀取
530‧‧‧更新當前讀取臨限
540‧‧‧次要保持漂移更新
541‧‧‧用當前讀取臨限讀取隨機區塊
542‧‧‧滿足條件?
543‧‧‧用樣本讀取臨限讀取
544‧‧‧估計新裝置臨限電壓分佈
545‧‧‧計算新操作讀取臨限
546‧‧‧用新操作讀取臨限更新當前讀取臨限
550‧‧‧決策:計時器(T1)期滿?
551‧‧‧決策:計時器(T2)期滿?
552‧‧‧開始保持漂移更新
553‧‧‧選擇保持漂移預測器/方案
554‧‧‧讀取保持漂移歷史
555‧‧‧基於保持漂移歷史預測新最佳讀取臨限
556‧‧‧結束次要保持漂移更新
560‧‧‧執行主要保持漂移更新
561‧‧‧開始主要保持漂移更新
562‧‧‧審查保持漂移歷史
563‧‧‧決策:紀元應結束?
564‧‧‧寫入參考記憶體胞
565‧‧‧在保持漂移歷史中標注新紀元
566‧‧‧判定實際新最佳讀取臨限
567‧‧‧更新保持漂移歷史
568‧‧‧結束主要保持漂移更新
570‧‧‧實施紀元
590‧‧‧保持漂移追蹤(亦稱保持漂移時脈)
600‧‧‧多位階記憶體胞舊最負臨限狀態
601‧‧‧多位階記憶體胞舊次最負臨限狀態
602‧‧‧多位階記憶體胞舊次最正臨限狀態
603‧‧‧多位階記憶體胞舊最正臨限狀態
610‧‧‧多位階記憶體胞舊第一讀取臨限
611‧‧‧多位階記憶體胞舊第二讀取臨限
612‧‧‧多位階記憶體胞舊第三讀取臨限
620‧‧‧多位階記憶體胞新最負臨限狀態
621‧‧‧多位階記憶體胞新次最負臨限狀態
622‧‧‧多位階記憶體胞新次最正臨限狀態
623‧‧‧多位階記憶體胞新最正臨限狀態
630‧‧‧最低有效位元取樣讀取臨限之第一集合之第一者
631‧‧‧最低有效位元取樣讀取臨限之第一集合之第二者
632‧‧‧最低有效位元取樣讀取臨限之第一集合之第三者
640‧‧‧最低有效位元取樣讀取臨限之第二集合之第一者
641‧‧‧最低有效位元取樣讀取臨限之第二集合之第二者
642‧‧‧最低有效位元取樣讀取臨限之第二集合之第三者
650‧‧‧多位階記憶體胞新第一讀取臨限
651‧‧‧多位階記憶體胞新第二讀取臨限
652‧‧‧多位階記憶體胞新第三讀取臨限
圖1A圖解說明一固態磁碟(SSD)之一實施例之選定細節,該固態磁碟包含實施用於管理非揮發性記憶體(NVM)元件(例如,快閃記憶體)之讀取臨限最佳化之一SSD控制器。
圖1B圖解說明包含圖1A之SSD之一或多個例項之系統之各種實施例之選定細節。
圖2A至圖2D圖解說明與「0」/「1」平衡恢復有關之例示性裝置臨限電壓分佈。圖2A及圖2B係SLC特定,其等分別圖解說明在一第一時間及一稍後第二時間之裝置臨限電壓分佈。圖2C及圖2D係MLC特定,其等分別圖解說明一第一時間及一稍後第二時間之裝置臨限電壓分佈。
圖3圖解說明圖1A之SSD之一例項之一系統實施例之選定細節,其提供關於「0」/「1」平衡管理及保持漂移追蹤之特定細節。
圖4圖解說明圖1A、圖1B及圖3之SSD之一實施例之選定控制流程細節,其提供關於寫入相關操作(動作410至430)及讀取相關操作(動作440至480)之特定細節。
圖5A圖解說明經由保持漂移追蹤判定(例如,一SSD之)一NVM之最佳化讀取臨限之一實施例之選定細節之一流程圖。
圖5B及圖5C分別圖解說明一NVM之一管理群組中之裝置臨限電壓之一次要保持漂移更新540及一主要保持漂移更新560之實施例之選定細節之流程圖。
圖6A至圖6C在概念上圖解說明一4LC記憶體中之裝置臨限電壓分佈。
下文提供本發明之一或多個實施例之詳細描述以及圖解說明本發明之選定細節之附圖。結合實施例描述本發明。應將本文中之實施例理解為僅係例示性,本發明明確不限於或受限於本文中之任何或所有實施例,且本發明涵蓋數種替代、修改及等效物。為避免闡釋單調無趣,可將多種字詞標記(包含但不限於:第一、最後、某些、各種、進一步、其他、特定、選擇、一些及值得注意的)應用於實施例之單獨集合;如本文中使用,此等標記明確不欲傳達品質或任何形式之偏好或偏見,而是僅方便區分該等單獨集合。所揭示程序之一些操作之順序在本發明之範疇內係可變更的。在多個實施例用以描述處理程序、方法及/或程式指令特徵之變動的任何情況下,預期根據預定準則或動態判定之準則執行分別對應於該多個實施例之複數項實施例之複數個操作模式之一者之靜態及/或動態選擇之其他實施例。在下列描述中陳述許多具體細節以提供對本發明之透徹理解。針對實例目 的而提供該等細節且可在無一些或所有該等細節的情況下根據申請專利範圍實踐本發明。為清楚起見,未詳細描述與本發明有關的技術領域中已知之技術材料以免不必要地模糊本發明。
引言
包含此<引言>以僅促進更快速地理解【實施方式】;本發明並不限於<引言>(若有,則包含明確實例)中所呈現之概念,因為任何<引言>段落必定係整個主題之縮影且並不意謂係詳盡或限制性描述。例如,隨後的<引言>僅對某些實施例提供受限於空間及組織之概述資訊。存在貫穿說明書之其餘部分論述之許多其他實施例,包含申請專利範圍最終將針對之實施例。
縮略詞
此處定義之各種速記縮寫(例如,縮略詞)中之至少一些速記縮寫指代本文所使用的某些元件。
追蹤及恢復「0」/「1」平衡
下文對追蹤及管理「0」及「1」之計數及用於區分「0」及「1」狀態之讀取臨限之移位之初始論述直接適用於SLC記憶體且(如所述,在細微變動之情況下)適用於MLC記憶體之下部頁。更一般而言,關於MLC記憶體,在下文單獨段落中詳述追蹤及管理上部頁之計數及多個讀取臨限(例如,讀取電壓參考VREAD1、VREAD2及VREAD3)之移位之擴展。
在一些實施方案中,針對自一SLC NVM讀取之各讀取單位(或自一NVM晶粒一次傳送之各讀取單位群組)獲得「0」計數及「1」計數。若讀取單位部分歸因於裝置臨限電壓分佈偏離其等(初始)標稱分佈之移位而不可校正(例如,在硬決策解碼之內容脈絡中),則「0」計數及/或「1」計數能夠判定移動(設定)一讀取臨限之一方向及/或一量值,以追蹤裝置臨限電壓分佈之移位且恢復「0」/「1」平衡。經調整讀取臨限係SLC記憶體之讀取電壓參考VREAD1及MLC記憶體之下部頁之讀取電壓參考VREAD2。舉例而言,在將邏輯一指派給擦除狀態且用「0」及「1」之已知統計上相等(50-50百分比,亦稱50/50百分比或簡稱為50/50)分佈寫入之一SLC中,若當前「0」/「1」計數指示一佔優勢,則將VREAD1移位得較低;且若當前「0」/「1」計數指示零 佔優勢,則將VREAD1移位得較高。(針對MLC記憶體之下部頁,用VREAD2取代上述實例中之VREAD1)。讀取臨限被改變(移位)之一量值視情況由「0」(或「1」)之數目的百分比判定。量值係基於以下一或多者:在一或多個樣本中觀察到的「0」及/或「1」之數目;該一或多個樣本之一讀取臨限增量;對對應於兩個分佈之峰值之間之一中點之預測裝置臨限電壓分佈之瞭解;程式化/擦除計數(磨損);讀取干擾計數;保持時間;及其他類似因數。
尋找讀取平衡點
在進一步實施例中,使用似二進位搜尋操作(在適當讀取電壓參考之各自值下反覆取樣相同讀取單位)以尋找一讀取臨限「讀取平衡點」。此係在裝置臨限電壓軸上鄰近裝置臨限電壓分佈之間的點,其導致原始資料(錯誤校正前)統計狀態分佈,在讀取時,該等原始資料統計狀態分佈在統計錯誤容限內匹配於所寫入之統計狀態分佈或其理想化模型。
對於SLC記憶體及隨機擾亂(諸如源自加密),讀取平衡點係其中(自NVM讀取之原始資料之)「0」/「1」平衡最均勻(接近相同)之讀取臨限(讀取電壓參考VREAD1)。在此等條件下,兩個狀態分佈具有50-50平衡。即,所讀取狀態之50%係「0」且所讀取狀態之50%係「1」。(在前述中,針對MLC記憶體之下部頁用VREAD2取代VREAD1)。
在一些實施例中,讀取平衡點對應於以下一或多者:兩個電壓分佈之間之一中心點、兩個電壓分佈之間之一最小值、讀取資料中之「0」/「1」平衡最接近50-50之一點及根據在兩個其他點處發現之「0」/「1」平衡之內插判定之一點。在具有對稱鄰近裝置臨限電壓分佈之實施例中,讀取平衡點對應於鄰近裝置臨限電壓分佈之間之一中心點。
尋找所要讀取平衡點且將讀取臨限設定為所要讀取平衡點減小 尋找嘗試硬決策解碼之一最佳點所需之讀取次數。在又進一步實施例中,若在尋找讀取臨限讀取平衡點之前尋找一「足夠好」讀取臨限,則以二進位搜尋在各讀取臨限取樣點(SLC記憶體之VREAD1之各值或MLC記憶體之下部頁之VREAD2之各值)處嘗試硬決策解碼。通常在尋找到足夠好的讀取臨限時截斷搜尋,惟如下文論述關於可能針對軟決策解碼目的在所判定之讀取平衡點周圍採取額外取樣除外。在各種實施例中,「足夠好」讀取臨限導致成功地硬決策解碼原始讀取資料。在一些實施例中,至少部分(基於)如上文關於讀取臨限變化之量值詳述之各種因數判定二進位搜尋中之搜尋步驟之量值(讀取臨限增量)。
MCL考量
在MLC記憶體中,管理多個讀取臨限。在一些實施例中,此藉由以下各者執行:假定多個裝置臨限電壓分佈之均勻位移;及基於針對第一讀取臨限(VREAD1)基於下部頁之讀取資料「0」/「1」平衡作出之決策改變所有其他讀取臨限。
對於4LC NVM,理論上存在25-25-25-25之11/10/00/01平衡(與50-50之「0」/「1」平衡相比)。但是,鑑於通常經由單獨陣列存取使用三個讀取電壓參考而讀取4LC,不存在直接提供此平衡之單個操作,該三個讀取電壓參考係:用於下部頁之VREAD2及用於上部頁之VREAD1及VREAD3。因此,吾人可評估兩個各自「0」/「1」平衡:對於下部頁,介於D1狀態與D2狀態之間,且對於上部頁,介於E狀態與D1狀態之間結合在D2狀態與D3狀態之間。或者,吾人可執行三個單獨類下部頁陣列存取,將單個下部頁讀取臨限設定至在VREAD1、VREAD2及VREAD3之各者附近之值。
舉例而言,在一些4LC NVM實施例中,至少對於儲存在記憶體胞中之兩個位元之一者而言,讀取電壓參考VREAD1、VREAD2及VREAD3可需要移位。類似於SLC情況運作,儲存在記憶體胞中之兩個位元之 一者需要在一第一讀取臨限(在此MLC實例中,VREAD2)下進行一單個陣列存取。確定另一位元需要兩個額外讀取臨限(VREAD1及VREAD3及實際上在內部藉由NVM執行之兩個相關聯之各自額外陣列存取)。
根據各種實施例,另一位元之兩個讀取臨限(VREAD1及VREAD3)一致地移動達一相同及/或一不同量(假定兩個狀態之漂移類似);或另一位元之兩個讀取臨限獨立地移動(以額外讀取操作為代價)。後一選項需要瞭解記憶體胞中之類SLC位元(LSB)之狀態,此係因為類SLC位元之狀態判定兩個讀取臨限(VREAD1及VREAD3)中用於確定對應的另一位元(MSB)之讀取臨限。
在一些4LC實施例中,針對E分佈與D1分佈及D2分佈與D3分佈之同時混合評估一組合「上部頁」讀取資料「0」/「1」平衡。基於讀取之組合「0」/「1」平衡與寫入之組合「0」/「1」平衡之不均等,且鑑於位元意義反轉(對於從E移動至D1,1至0且對於從D2移動至D3,0至1),對應兩個讀取臨限(VREAD1及VREAD3)在相反方向上一致地移動。此經進行使得混合之各分量之「0」/「1」平衡「在相同方向上」移動(例如,移動不衝突)。
在一些4LC實施例中,藉由對上部頁之「0」/「1」平衡之各自評估同時針對讀取單位之各位元使用各自LSB而單獨判定兩個上部頁讀取臨限(VREAD1及VREAD3)之移動。當LSB=1時,移動方向與LSB=0情況之移動方向相反。例如,藉由基於下部頁讀取資料之對應位元選擇性修改上部頁讀取資料之各位元、將上部頁讀取資料之位元之意義自數值轉換為方向值(其中例如,0表示較高裝置臨限電壓且1表示較低裝置臨限電壓)來計算上部頁不均等,而非計算上部頁讀取資料中的「0」計數與「1」計數之間之不均等。在一些實施例中,上部頁讀取資料之位元與下部頁讀取資料之對應位元之XNOR執行轉換。
自軟決策樣本移除偏置
在一些實施例中,自NVM獲得軟決策資訊以執行基於軟決策之解碼。藉由在標稱(未調整)讀取臨限周圍之多種讀取臨限取樣點(對於SLC,VREAD1之值)處讀取一讀取單位(或自一NVM晶粒一次傳送之各讀取單位群組)以獲得讀取單位之資料之多個樣本,因此建立讀取單位之各位元之值之一軟決策可能性而獲得軟決策資訊。樣本之間距至少部分取決於所使用之NVM之特定性質,諸如其標稱電荷狀態間隔。
但是,除非在其周圍取得樣本之標稱讀取臨限係一讀取臨限讀取平衡點(如上所述),否則偏置軟決策資訊。若當前讀取臨限並非臨限讀取平衡點,則在一方向或另一方向上偏置所有軟決策資訊。以下文係針對此進行調整並獲得未偏置(或至少較少偏置)之軟決策資訊的兩個例示性技術:
1.由於易於識別如在讀取臨限取樣點之各者處取樣之讀取單位之「0」/「1」平衡,故易於判定讀取臨限讀取平衡點(根據實施例,諸如藉由使用線性內插)。計算對應於所判定之讀取臨限讀取平衡點與(舊的未調整之)標稱讀取臨限之間之差值之一偏移。藉由相對於先前取樣軟決策資訊之電壓施加偏移(其中截斷大於1.0或小於0.0之值),使先前判定之軟決策資訊能夠被適當地「重新居中」且仍被使用。此途徑無需額外讀取,但針對一些資料產生不同量之精確度/準確度。
2.由於易於識別如在讀取臨限取樣點之各者處取樣之讀取單位之「0」/「1」平衡,故在收集所有所需樣本後易於判定最接近讀取臨限讀取平衡點之讀取臨限取樣點。最接近的讀取臨限讀取平衡點係其中「0」/「1」平衡最靠近所寫入之「0」/「1」平衡之讀取臨限取樣點。對於SLC加密(或擾亂)情況,其係最接近具有50-50平衡之讀取臨限取樣點。由於所有樣本標稱上具有彼此相等的間距,故選取最接近樣本作為一新標稱讀取臨限,且視情況收集額外軟決策資訊樣本(假 定新標稱讀取臨限與舊標稱讀取臨限不同)。或者,首先進行二進位搜尋以尋找臨限讀取平衡點,其中二進位搜尋之精確度限於軟決策資訊之所要精確度所需之一最精細取樣粒度。軟決策資訊之所要精確度具有在新標稱讀取臨限周圍之一相關聯樣本窗。除非舊的標稱讀取臨限落在所要精確度樣本窗之外,否則進行二進位搜尋作為獲得軟決策資訊所需之多個讀取之部分無需額外讀取。
在目前為止描述之SLC加密實施例中,上述技術已集中於尋找產生最接近50-50之一讀取資料「0」/「1」平衡之一較佳讀取臨限。對於其中裝置臨限電壓分佈具有大致相同對稱形狀且實質上不重疊之情況,此較佳讀取臨限亦將對應於組合之裝置臨限電壓分佈之最小值。
從裝置臨限電壓分佈上之已知點內插之讀取臨限
在一些實施例中,尋找較佳讀取臨限之另一途徑係代替性地尋找兩個點(在每一鄰近裝置臨限電壓分佈上有一個點)且藉由內插判定此兩個點之間之中點。例如,在各裝置臨限電壓分佈之峰值處取樣應產生讀取資料「0」/「1」(或「1」/「0」,視哪個峰值而定)之75/25平衡。一旦識別兩個峰值,便將在裝置臨限電壓軸上之兩個點之間之所計算中點用於設定一新讀取臨限。
若先驗已知裝置臨限電壓分佈不均勻(例如,諸如藉由具有一長尾部而在一側或另一側上不對稱地偏置),則在一些實施例中,將該資訊用於解析峰值之位置且藉由一稍微更複雜的內插而定位中心(例如,不僅僅係中點)。諸如保持時間及/或磨損之因數可影響裝置臨限電壓分佈之對稱性且在一些實施例中加以考量。在一些實施例中,亦使用多個取樣點以揭示裝置臨限電壓分佈之形狀。
在裝置臨限電壓調整之範圍有限之一些實施例中,可能無法尋找到真實峰值。特定言之,即使E狀態之電壓分佈延伸至負裝置臨限電壓中,一些快閃裝置仍無法使裝置臨限電壓移動小於0V。對裝置 臨限電壓分佈之瞭解仍允許經由內插判定中點。例如,若在0V下,讀取資料「0」/「1」平衡係60/40,則觀察到大約10%的過量零且在0V右側之E分佈區域係大約10%。在一些實施例之第一途徑中,尋找D1分佈之峰值,且基於對E分佈之大致形狀之瞭解內插中點。在一些實施例之第二途徑中,尋找讀取資料「0」/「1」平衡係40/60之D1分佈之點(與0V量測相反的點)。接著使用60/40觀察與40/60觀察之間之所計算中點以設定新的較佳讀取臨限。可使用對兩個裝置臨限電壓分佈之額外瞭解及/或量測以更大精確度判定所計算的中點。
在一些實施例中,所內插之點皆在與讀取平衡點相同之側上。例如,已知一第一讀取臨限取樣點X產生75/25讀取資料「0」/「1」平衡且一第二讀取臨限取樣點Y產生62.5/37.5讀取資料「0」/「1」平衡,讀取平衡點將接近Y+/-(X-Y),其中「+」對「-」取決於Y是否小於X。讀取平衡點之方向係對應於移動讀取資料「0」/「1」平衡使之更接近50/50之方向。在給定實例中,該方向係在從X朝向Y之方向上。對裝置臨限電壓分佈之瞭解將產生一更準確內插而非所指示的簡單線性內插。
保持漂移追蹤
在各種實施例及/或使用案例中,一NVM中之裝置臨限電壓分佈隨時間移位且引起一讀取錯誤(例如,在硬決策解碼時)。當裝置臨限電壓分佈移位時,先前低於(或高於)一特定讀取臨限之值落在特定讀取臨限以上(或以下)且引起一位元錯誤。例如,先前儲存為D1分佈(且被視為在D1分佈中)之一值被判定為在D2分佈中,因此導致一位元錯誤。少量位元錯誤係可校正的;但是足夠數目個位元錯誤引起一不可校正(例如,硬決策解碼)錯誤。在一些實施方案及/或使用案例中,經由讀取臨限之前瞻性調整,諸如經由獨立於不可校正錯誤偵測調整讀取臨限之保持漂移追蹤,可避免原本將發生之一不可校正(例如, 硬決策解碼)錯誤。
例示性實施例
作為【實施方式】之引言的總結,接下來係提供對根據本文中描述之概念之多種實施例類型的額外描述之例示性實施例之集合,其包含至少一些被明確列舉為「EC」(例示性組合)之例示性實施例;此等實例並不意欲為互斥性、詳盡性或限制性;且本發明並不限於此等例示性實施例,而是涵蓋所發佈申請專利範圍及其等效物之範疇內之所有可能的修改及變動。
EC1)一種方法,其包括:根據程式化一非揮發性記憶體之複數個頁群組之一特定者,記錄截至該程式化時間之一電壓漂移參考時戳之一取樣值;及根據繼該程式化之後讀取該特定頁群組之一些或所有頁,至少部分基於該電壓漂移參考時戳之該記錄取樣值及截至該讀取時間之該電壓漂移參考時戳之取樣值而判定該讀取之一電壓臨限。
EC2)如EC1之方法,其中該電壓漂移參考時戳之該等取樣值係根據該非揮發性記憶體之一參考位置之一電壓臨限。
EC3)如EC1之方法,其進一步包括:在該電壓漂移參考時戳之該記錄取樣值與截至該讀取時間之該電壓漂移參考時戳之該取樣值相差小於一指定差值時,將一預設電壓臨限用作該讀取之該電壓臨限。
EC4)如EC1之方法,其進一步包括:週期性地取樣該非揮發性記憶體之一參考位置以判定該參考位置之一當前電壓臨限;及其中該週期性取樣至少部分判定該電壓漂移參考時戳之該等取樣值。
EC5)如EC4之方法,其中該參考位置係該非揮發性記憶體之一頁。
EC6)如EC4之方法,其中該參考位置係該特定頁群組之該等頁之一者。
EC7)如EC4之方法,其中該參考位置係在該非揮發性記憶體之與該特定頁群組之該等頁之至少一者相同之一區塊中。
EC8)如EC4之方法,其中該電壓漂移參考時戳之該等取樣值之各者包括一各自世代數及一各自臨限部分,該世代數根據一主世代數且該臨限部分根據截至該相關聯週期性取樣之該參考位置之該當前電壓臨限。
EC9)如EC7之方法,其進一步包括當該參考位置之該當前電壓臨限超過一界限時,更新該參考位置且累加該主世代數。
EC10)一種方法,其包括:作為一正常(非系統參考)區塊寫入之部分,用正常資料頁及一或多個系統參考頁寫入一區塊;作為一後台系統任務及預期自該區塊之正常頁讀取,至少部分基於該一或多個系統參考頁之系統讀取週期性地判定該區塊之一最佳讀取臨限電壓;及使用該區塊之該預定最佳讀取臨限電壓執行該預期正常頁讀取之一正常頁讀取。
EC11)一種方法,其包括:寫入至少組織成頁群組之非揮發性記憶體之複數個頁,寫入之該複數個頁包括正常(非系統參考)頁及一或多個系統參考頁以至少部分用於追蹤讀取臨限電壓移位;根據一第一時序及第一最佳化準則,針對該等系統參考頁之各者,重複地判定一最佳參考頁讀取臨限電壓;根據一第二時序及第二最佳化準則,針對各群組,至少依據最近判定之參考頁讀取臨限電壓重複地判定一最佳參考群組讀取臨限電 壓;及針對待按需讀取之正常頁之至少一正常頁,使用一按需讀取臨限電壓讀取該至少一正常頁,該按需讀取臨限電壓至少部分基於待讀取之該頁所對應之群組而從該等最近判定之最佳參考群組讀取臨限電壓動態地選擇。
EC12)如EC11之方法,其進一步包括:偵測該等最佳參考頁讀取臨限電壓之一者超出容限且重新程式化對應於該所偵測之超出容限最佳參考頁讀取臨限電壓之該系統參考頁。
EC13)如EC11之方法,其進一步包括:根據一第三時序,針對各系統參考頁,重複地評估該所判定之最佳參考頁讀取臨限電壓是否已過度移位(大於一可程式化/可組態值),且基於該評估,重新程式化該系統參考頁並累加一各自參考頁世代計數;及儲存編碼為一儲存表示中之一第一欄位之至少一些該等所判定之讀取臨限電壓,該儲存表示進一步包括編碼與該第一欄位相關聯之參考頁世代計數之一第二欄位。
EC14)如EC11之方法,其中該按需讀取臨限電壓相對於在最後寫入待讀取之該頁時使用之臨限電壓而移位。
EC15)如EC11之方法,其中將至少一些該等所判定之讀取臨限電壓儲存為複數個經編碼位元。
EC16)如EC11之方法,其中使用一映射將至少一些該等所判定之讀取臨限電壓儲存為複數個經編碼位元,以在與值之快速移位相關聯之讀取臨限電壓操作之至少一些區域中提供更大解析度之表示。
EC17)如EC11之方法,其中儲存編碼為一儲存表示中之一第一欄位之至少一些該等所判定之讀取臨限電壓,該儲存表示進一步包括識 別與該第一欄位相關聯之一參考頁世代之一第二欄位。
EC18)如EC17之方法,其中該參考頁世代欄位在一連串不同參考頁之間進行區分。
EC19)如EC17之方法,其中該參考頁世代欄位在相同參考頁之一連串重新程式化之間進行區分。
EC20)如EC17之方法,其中該第一欄位及該第二欄位分別包括儲存表示之最低有效位元及最高有效位元。
EC21)如EC11之方法,其中該等系統參考頁包括ECC單元及ECC區塊之至少一者。
EC22)如EC11之方法,其中該第一時序與該第二時序相同。
EC23)如EC11之方法,其中該第一時序與該第二時序不同。
EC24)如EC11之方法,其中根據該讀取臨限電壓移位已進入操作之一較不線性區域之一判定修改該第一時序及該第二時序之至少一者。
EC25)如EC11之方法,其中該第一時序及該第二時序之至少一者包括適應性時序以嘗試與該等讀取臨限電壓之一者之一變化速率成比例地取樣。
EC26)如EC11之方法,其中該第一時序及該第二時序之至少一者包括至少部分基於一天一次、一周一次或一月一次之一選定標稱時間間隔之時序。
EC27)如EC11之方法,其中該第一時序及該第二時序之至少一者包括至少部分基於非揮發性記憶體之類型、該等讀取臨限電壓之一者之一變化速率之一歷史、溫度及經過時間之一或多者之時序。
EC28)如EC11之方法,其中該第一時序及該第二時序之至少一者包括至少部分基於電力開啟事件、重設事件及喚醒事件之一或多者之時序。
EC29)如EC11之方法,其中該讀取得益於該最佳參考群組讀取臨限電壓之該先前判定而不招致與該先前判定相關聯之一延時。
EC30)如EC11之方法,其中按需讀取之該頁係以下之一選定者:a)除該等系統參考頁外之一系統頁;b)一非系統頁;及c)一使用者頁。
EC31)如EC11之方法,其中該等系統參考頁駐留在該非揮發性記憶體之一或多個晶粒上。
EC32)如EC11之方法,其中該按需讀取臨限電壓係該非揮發性記憶體之一相同晶粒上之所有參考頁之一平均值。
EC33)如EC11之方法,其中該按需讀取臨限電壓係該非揮發性記憶體之一或多個晶粒上之所有參考頁之一平均值。
EC34)如EC11之方法,其中該非揮發性記憶體包括在一I/O裝置之一或多個晶粒上。
EC35)如EC34之方法,其中該I/O裝置係一儲存裝置。
EC36)如EC34之方法,其中該I/O裝置係一固態磁碟(SSD)。
EC37)如EC34之方法,其中該按需讀取臨限電壓係一晶粒平均值。
EC38)如EC34之方法,其中該按需讀取臨限電壓係一I/O裝置平均值。
EC39)如EC11之方法,其中該所判定之最佳參考頁讀取臨限電壓係最小化讀取錯誤之一讀取臨限電壓。
EC40)如EC11之方法,其中該所判定之最佳參考頁讀取臨限電壓係最佳地產生程式化中所使用之一分佈(實現該分佈之一預定/可程式化/可組態錯誤界限內之結果匹配)之一讀取臨限電壓。
EC41)如EC11之方法,其中該程式化使用加密且該所判定之最佳參考頁讀取臨限電壓係產生0及1之一50-50平衡分佈之一讀取臨限電 壓。
EC42)如EC11之方法,其中該群組係一R區塊。
EC43)如EC11之方法,其中該讀取補償讀取臨限電壓移位,該等讀取臨限電壓移位係保持時間及保持溫度之至少一或多者之一函數。
EC44)一種方法,其包括:記錄與程式化一非揮發性記憶體之複數個頁群組之一特定者相關聯之一電壓漂移參考時戳之一取樣值;及至少部分基於該電壓漂移參考時戳之該所記錄取樣值及與所程式化之該特定頁群組之至少一些頁之一讀取相關聯之該電壓漂移參考時戳之一取樣值而判定該讀取之一電壓臨限。
EC45)如EC44之方法,其中該電壓漂移參考時戳之該等取樣值係根據該非揮發性記憶體之一或多個參考位置之一電壓臨限。
EC46)如EC44之方法,其進一步包括,繼該電壓漂移參考時戳之該所記錄取樣值與截至該讀取之一時間之該電壓漂移參考時戳之該取樣值相差小於一指定差值之後,使用一預設電壓臨限作為該讀取之該電壓臨限。
EC47)如EC44之方法,其進一步包括:週期性地取樣該非揮發性記憶體之一參考位置以判定該參考位置之一當前電壓臨限;及其中該週期性取樣至少部分判定該電壓漂移參考時戳之該等取樣值。
EC48)如EC47之方法,其中該參考位置係該非揮發性記憶體之一頁。
EC49)如EC47之方法,其中該參考位置係該特定頁群組之該等頁之一者。
EC50)如EC47之方法,其中該參考位置係在該非揮發性記憶體之 與該特定頁群組之該等頁之至少一者相同之一區塊中。
EC51)如EC47之方法,其中該電壓漂移參考時戳之至少一些該等取樣值分別包括一各自世代數及一各自臨限部分,其中該世代數係根據一主世代數,且該臨限部分係根據截至該相關聯週期性取樣之該參考位置之該當前電壓臨限。
EC52)如EC51之方法,其進一步包括:繼該參考位置之該當前電壓臨限超過一界限之後,更新該參考位置且累加該主世代數。
EC53)如EC44之方法,其中該電壓漂移參考時戳之該所記錄取樣值係該程式化之一時間且與該讀取相關聯之該電壓漂移參考時戳之該取樣值係該讀取之一時間。
EC54)如EC45之方法,其中至少一些該等電壓漂移參考時戳分別包括包括該等參考位置之一電壓漂移參考之一或多個最佳讀取臨限電壓之一判定集合。
EC55)如EC54之方法,其中該非揮發性記憶體包括SLC記憶體且該判定集合包括該一或多個最佳讀取臨限電壓之一單個最佳讀取臨限電壓。
EC56)如EC54之方法,其中該非揮發性記憶體包括MLC記憶體且該判定集合包括該一或多個最佳讀取臨限電壓之複數個最佳讀取臨限電壓。
EC57)如EC54之方法,其進一步包括:將至少一些該等電壓漂移參考時戳與各自時間表示相關聯。
EC58)如EC57之方法,其中該等各自時間表示係根據一系統事件之一偏移計數器。
EC59)如EC57之方法,其中該等各自時間表示係根據自一實際時鐘導出之一值。
EC60)一種設備,其包括: 用於記錄與程式化一非揮發性記憶體之複數個頁群組之一特定者相關聯之一電壓漂移參考時戳之一取樣值之構件;及用於至少部分基於該電壓漂移參考時戳之該記錄取樣值及與經程式化之該特定頁群組之至少一些頁之一讀取相關聯之該電壓漂移參考時戳之一取樣值而判定該讀取之一電壓臨限之構件。
EC61)如EC60之設備,其中該電壓漂移參考時戳之該等取樣值係根據該非揮發性記憶體之一參考位置之一電壓臨限。
EC62)如EC60之設備,其進一步包括:用於繼該電壓漂移參考時戳之該記錄取樣值與截至該讀取時間之該電壓漂移參考時戳之該取樣值相差小於一指定差值之後使用一預設電壓臨限作為該讀取之該電壓臨限之構件。
EC63)如EC60之設備,其進一步包括:用於週期性地取樣該非揮發性記憶體之一參考位置以判定該參考位置之一當前電壓臨限之構件;及其中該週期性取樣至少部分判定該電壓漂移參考時戳之該等取樣值。
EC64)如EC63之設備,其中該參考位置係該非揮發性記憶體之一頁。
EC65)如EC63之設備,其中該參考位置係該特定頁群組之該等頁之一者。
EC66)如EC63之設備,其中該參考位置係在該非揮發性記憶體之與該特定頁群組之該等頁之至少一者相同之一區塊中。
EC67)如EC63之設備,其中該電壓漂移參考時戳之至少一些該等取樣值分別包括一各自世代數及一各自臨限部分,其中該世代數係根據一主世代數,且該臨限部分係根據截至該相關聯週期性取樣之該參考位置之該當前電壓臨限。
EC68)如EC67之設備,其進一步包括:用於繼該參考位置之該當前電壓臨限超過一界限之後更新該參考位置且累加該主世代數之構件。
EC69)一種其中儲存有一指令集之非暫時性有形電腦可讀媒體,該等指令在藉由一處理元件執行時引起該處理元件執行包括以下各者之操作:記錄與程式化一非揮發性記憶體之複數個頁群組之一特定者相關聯之一電壓漂移參考時戳之一取樣值;及至少部分基於該電壓漂移參考時戳之該記錄取樣值及與經程式化之該特定頁群組之至少一些頁之一讀取相關聯之該電壓漂移參考時戳之一取樣值而判定該讀取之一電壓臨限。
EC70)如EC69之電腦可讀媒體,其中該電壓漂移參考時戳之該等取樣值係根據該非揮發性記憶體之一參考位置之一電壓臨限。
EC71)如EC69之電腦可讀媒體,該等操作進一步包括:繼該電壓漂移參考時戳之該記錄取樣值與截至該讀取時間之該電壓漂移參考時戳之該取樣值相差小於一指定差值之後,使用一預設電壓臨限作為該讀取之該電壓臨限。
EC72)如EC69之電腦可讀媒體,該等操作進一步包括:週期性地取樣該非揮發性記憶體之一參考位置以判定該參考位置之一當前電壓臨限;及其中該週期性取樣至少部分判定該電壓漂移參考時戳之該等取樣值。
EC73)如EC72之電腦可讀媒體,其中該參考位置係該非揮發性記憶體之一頁。
EC74)如EC72之電腦可讀媒體,其中該參考位置係該特定頁群組之該等頁之一者。
EC75)如EC72之電腦可讀媒體,其中該參考位置係在該非揮發性記憶體之與該特定頁群組之該等頁之至少一者相同之一區塊中。
EC76)如EC72之電腦可讀媒體,其中該電壓漂移參考時戳之至少一些該等取樣值分別包括一各自世代數及一各自臨限部分,其中該世代數係根據一主世代數,且該臨限部分係根據截至該相關聯週期性取樣之該參考位置之該當前電壓臨限。
EC77)如EC76之電腦可讀媒體,該等操作進一步包括:繼該參考位置之該當前電壓臨限超過一界限之後,更新該參考位置且累加該主世代數。
系統
在一些實施例中,諸如SSD之I/O裝置包含一SSD控制器。SSD控制器充當SSD之主機介面與NVM之間之一橋接器,且執行經由SSD之一主機介面自一計算主機發送之一主機協定之命令。該等命令之至少一些命令引導SSD分別使用自計算主機發送及發送至計算主機之資料寫入並讀取NVM。在進一步實施例中,啟用SSD控制器以使用一映射以在主機協定之LBA與NVM中之實體儲存位址之間進行轉譯。在進一步實施例中,映射之至少一部分係用於I/O裝置之私用儲存(計算主機不可見)。例如,由I/O裝置使用不可由計算主機存取之LBA之一部分以管理對日誌、統計資料或其他私用資料之存取。
在一些實施例中,存取NVM中變化大小之配量的壓縮資料在一些使用案例中提供改良之儲存效率。例如,一SSD控制器自一計算主機接收(未經壓縮之)資料(例如,與一磁碟寫入命令相關),壓縮該資料,且將經壓縮之資料儲存至快閃記憶體中。回應於來自計算主機之一後續請求(例如,與一磁碟讀取命令相關),SSD控制器自快閃記憶體讀取經壓縮之資料,解壓縮該經壓縮之資料,且將經解壓縮之資料提供至計算主機。根據變化大小之配量將經壓縮之資料儲存在快閃記 憶體中,配量大小歸因於(例如)關於各種資料之壓縮演算法、操作模式及壓縮效率而變化。SSD控制器部分藉由查閱所包含之映射表而解壓縮資料以判定(若干)標頭儲存於快閃記憶體中何處。SSD控制器剖析自快閃記憶體獲得之標頭以判定適當(經壓縮之)資料儲存於快閃記憶體中何處。SSD控制器解壓縮來自快閃記憶體之適當資料以產生經解壓縮之資料以提供至計算主機。在本申請案中,解壓縮(uncompress)(及其變體)與解除壓縮(decompress)(及其變體)同義。
在各種實施例中,一SSD控制器包含用於與一計算主機介接之一主機介面、用於與諸如快閃記憶體之NVM介接之一介面及用於控制該等介面並執行(及/或控制該執行之各種態樣)壓縮及解壓縮以及較低階錯誤校正、較高階錯誤校正及使用獨立矽元件進行之動態較高階冗餘模式管理之電路。
根據各種實施例,一些主機介面可與以下一或多者相容:USB介面標準、CF介面標準、MMC介面標準、eMMC介面標準、Thunderbolt介面標準、UFS介面標準、SD介面標準、記憶棒介面標準、xD圖像卡介面標準、IDE介面標準、SATA介面標準、SCSI介面標準、SAS介面標準及PCIe介面標準。根據各種實施例,計算主機係以下各者之全部或任何部分:電腦、工作站電腦、伺服器電腦、儲存伺服器、SAN、NAS裝置、DAS裝置、儲存器具、PC、膝上型電腦、筆記型電腦、小筆電電腦、平板裝置或電腦、超輕薄筆記型電腦、電子閱讀裝置(諸如電子閱讀器)、PDA、導航系統、(手持式)GPS裝置、汽車控制系統、汽車媒體控制系統或電腦、印表機、影印機或傳真機或一體式裝置、POS裝置、收銀機、媒體播放器、電視機、媒體記錄器、DVR、數位相機、蜂巢式手機、無線電話手機及電子遊戲機。在一些實施例中,一介接主機(諸如SAS/SATA橋接器)操作為一計算主機及/或一計算主機之一橋接器。
在各種實施例中,SSD控制器包含一或多個處理器。該等處理器執行韌體以控制及/或執行SSD控制器之操作。SSD控制器與計算主機通信以發送及接收命令及/或狀態以及資料。計算主機執行作業系統、驅動程式及應用程式之一或多者。藉由計算主機與SSD控制器進行的通信視情況及/或選擇性地經由驅動程式及/或應用程式而進行。在第一實例中,至SSD控制器之所有通信係經由驅動程式進行,且應用程式將較高階命令提供至驅動程式,該驅動程式將該等命令轉譯為用於SSD控制器之特定命令。在第二實例中,驅動程式實施旁路模式且應用程式經啟用以經由驅動程式將特定命令發送至SSD控制器。在第三實例中,PCIe SSD控制器支援一或多個虛擬函式(VF),從而使應用程式(一旦經組態)能夠旁通驅動程式直接與SSD控制器通信。
根據各種實施例,一些SSD可與由磁性及/或光學非揮發性儲存器(諸如HDD、CD磁碟機及DVD磁碟機)使用之外觀尺寸、電介面及/或協定相容。在各種實施例中,SSD使用零或多個同位碼、零或多個RS碼、零或多個BCH碼、零或多個維特比(Viterbi)碼或其他格狀碼(trellis code)及零或多個LDPC碼之各種組合。
圖1A圖解說明SSD 101之選定細節,SSD 101包含(例如,經由「0」/「1」平衡管理及/或保持漂移追蹤技術)實施用於管理非揮發性記憶體(NVM)元件(例如,快閃記憶體)之讀取臨限最佳化之SSD控制器100。SSD控制器100經由一或多個外部介面110通信地耦合至一主機(諸如圖1B之主機102)。根據各種實施例,外部介面110係以下一或多者:SATA介面;SAS介面;PCIe介面;光纖通道介面;乙太網路介面(諸如百億位元(Gigabit)乙太網路);任何前述介面之非標準版本;自訂介面;或用以將儲存及/或通信及/或計算裝置互連之任何其他類型之介面。例如,在一些實施例中,SSD控制器100包含SATA介面及PCIe介面。
SSD控制器100經由一或多個裝置介面190進一步通信地耦合至包含一或多個儲存裝置(諸如,快閃裝置192之一者或多者)之NVM 199。根據各種實施例,裝置介面190係以下一或多者:非同步介面;同步介面;單資料速率(SDR)介面;雙倍資料速率(DDR)介面;DRAM相容之DDR或DDR2同步介面;ONFI相容介面,諸如ONFI 2.2或ONFI 3.0相容介面;雙態觸變模式相容之快閃介面;任何前述介面之非標準版本;自訂介面;或用以連接至儲存裝置之任何其他類型之介面。
在一些實施例中,各快閃裝置192具有一或多個個別快閃晶粒194。根據快閃裝置192之一特定者之類型,該特定快閃裝置192中之複數個快閃晶粒194可視情況及/或選擇性地並行存取。快閃裝置192僅表示經啟用以通信地耦合至SSD控制器100之一種類型的儲存裝置。在各種實施例中,可利用任何類型的儲存裝置,諸如SLC NAND快閃記憶體、MLC NAND快閃記憶體、NOR快閃記憶體、利用基於多晶矽或氮化矽技術之電荷儲存記憶體胞之快閃記憶體、基於二維或三維技術之快閃記憶體、唯讀記憶體、靜態隨機存取記憶體、動態隨機存取記憶體、鐵磁性記憶體、相變記憶體、賽道記憶體、ReRAM或任何其他類型的記憶體裝置或儲存媒體。
根據各種實施例,將裝置介面190組織為:一或多個匯流排,每個匯流排具有快閃裝置192之一或多者;一或多個匯流排群組,每個匯流排具有快閃裝置192之一或多者,其中一群組中之匯流排大體上經並行存取;或快閃裝置192之一或多者至裝置介面190上之任何其他組織。
在圖1A中繼續,SSD控制器100具有一或多個模組,諸如主機介面111、資料處理121、緩衝器131、映射141、回收器151、ECC 161、裝置介面邏輯191及CPU 171。圖1A中圖解說明之特定模組及互連僅 僅表示一實施例,且設想一些或全部該等模組以及未圖解說明之額外模組之許多配置及互連。在第一實例中,在一些實施例中,存在兩個或兩個以上主機介面111以提供雙埠。在第二實例中,在一些實施例中,資料處理121及/或ECC 161與緩衝器131組合。在第三實例中,在一些實施例中,主機介面111直接耦合至緩衝器131,且資料處理121視情況及/或選擇性地操作儲存於緩衝器131中之資料。在第四實例中,在一些實施例中,裝置介面邏輯191直接耦合至緩衝器131,且ECC 161視情況及/或選擇性地操作儲存於緩衝器131中之資料。
主機介面111經由外部介面110發送及接收命令及/或資料,且在一些實施例中,經由標籤追蹤113追蹤個別命令之進展。例如,該等命令包含指定待讀取之一位址(諸如LBA)及資料量(諸如LBA配量(例如,磁區)之數目)之讀取命令;作為回應,SSD提供讀取狀態及/或讀取資料。另舉例而言,該等命令包含指定待寫入之位址(諸如LBA)及資料量(諸如LBA配量(例如,磁區)之數目)之寫入命令;作為回應,SSD提供寫入狀態及/或請求寫入資料且視情況隨後提供寫入狀態。再舉例而言,該等命令包含指定不再需要被分配之一或多個位址(諸如一或多個LBA)之解除分配命令(例如,修整(trim)命令);作為回應,SSD相應地修改映射且視情況提供解除分配狀態。在一些內容脈絡中,ATA相容TRIM命令係一例示性解除分配命令。再舉例而言,該等命令包含超級電容器測試命令或資料強化成功查詢;作為回應,SSD提供適當狀態。在一些實施例中,主機介面111可與一SATA協定相容,且利用NCQ命令,使主機介面111能夠具有至多32個待決命令,其中各待決命令具有表示為自0至31之數字之一獨有標籤。在一些實施例中,啟用標籤追蹤113以使用於經由外部介面110接收之一命令之一外部標籤與用以在藉由SSD控制器100處理期間追蹤命令之一內部標籤相關聯。
根據各種實施例,實現以下情形之一或多者:資料處理121視情況及/或選擇性地處理在緩衝器131與外部介面110之間發送之一些或所有資料;及資料處理121視情況及/或選擇性地處理儲存於緩衝器131中之資料。在一些實施例中,資料處理121使用一或多個引擎123以執行以下一或多者:格式化;重新格式化;轉碼;及任何其他資料處理及/或操縱任務。
緩衝器131儲存自裝置介面190發送至外部介面110之資料及自外部介面110發送至裝置介面190之資料。在一些實施例中,緩衝器131額外地儲存由SSD控制器100使用以管理快閃裝置192之一或多者之系統資料,諸如一些或所有映射表。在各種實施例中,緩衝器131具有以下一或多者:用於暫時儲存資料之記憶體137;用以控制資料移動至緩衝器131及/或自緩衝器131移動資料之DMA 133;及用以提供較高階錯誤校正及/或冗餘功能之ECC-X 135;及其他資料移動及/或操縱功能。較高階冗餘功能之實例係類似RAID之能力,其中冗餘處於快閃記憶體裝置層級(例如,快閃裝置192之多者)及/或快閃晶粒層級(例如,快閃晶粒194)而非處於磁碟層級。
根據各種實施例,實現以下情形之一或多者:ECC 161視情況及/或選擇性地處理在緩衝器131與裝置介面190之間發送之一些或所有資料;及ECC 161視情況及/或選擇性地處理儲存於緩衝器131中之資料。在一些實施例中,ECC 161用以(諸如)根據一或多種ECC技術提供較低階錯誤校正及/或冗餘功能。在一些實施例,ECC 161實施以下一或多者:CRC碼;漢明碼;RS碼;BCH碼;LDPC碼;維特比碼;格狀碼;硬決策碼;軟決策碼;基於抹除之碼;任何錯誤偵測及/或校正碼;及前述碼之任何組合。在一些實施例中,ECC 161包含一或多個解碼器(諸如,LDPC解碼器)。
裝置介面邏輯191經由裝置介面190控制快閃裝置192之例項。啟 用裝置介面邏輯191以根據快閃裝置192之協定發送資料至快閃裝置192之例項/自快閃裝置192之例項發送資料。裝置介面邏輯191包含用以經由裝置介面190選擇性地循序控制快閃裝置192之例項之排程193。例如,在一些實施例中,啟用排程193以將對快閃裝置192之例項之操作排入佇列,且當快閃裝置192(或快閃晶粒194)之例項之個別例項可用時,選擇性地將該等操作發送至快閃裝置192(或快閃晶粒194)之例項之個別例項。
映射141使用將外部資料位址映射至NVM 199中之位置的表143而在用於外部介面110上之資料定址與用於裝置介面190上之資料定址之間轉換。例如,在一些實施例中,映射141經由藉由表143提供之映射將用於外部介面110上之LBA轉換為以一或多個快閃晶粒194為目標之區塊及/或頁位址。對於自磁碟機製造或解除分配以來從未被寫入之LBA,映射指向在讀取LBA之情況下傳回之預設值。例如,當處理一解除分配命令時,該映射經修改使得對應於經解除分配之LBA之項目指向預設值之一者。在各種實施例中,存在各種預設值,各預設值具有一對應指標。該複數個預設值能夠將一些經解除分配之LBA(諸如在第一範圍中)讀取為一預設值,而將其他經解除分配之LBA(諸如在第二範圍中)讀取為另一預設值。在各種實施例中,藉由快閃記憶體、硬體、韌體、命令及/或原始引數及/或參數、可程式化暫存器或其等之各種組合而定義該等預設值。
在一些實施例中,映射141使用表143以執行及/或查找用於外部介面110上之位址與用於裝置介面190上之資料定址之間的轉譯。根據各種實施例,表143係以下一或多者:單階映射;雙階映射;多階映射;映射快取;壓縮之映射;自一位址空間至另一位址空間之任何類型的映射;及前述各者之任何組合。根據各種實施例,表143包含以下一或多者:靜態隨機存取記憶體;動態隨機存取記憶體;NVM(諸 如快閃記憶體);快取記憶體;晶片上記憶體;晶片外記憶體;及前述各者之任何組合。
在一些實施例中,回收器151執行記憶體回收(garbage collection)。例如,在一些實施例中,快閃裝置192之例項含有必須在區塊可重新寫入之前抹除之區塊。啟用回收器151以(諸如)藉由掃描由映射141維持之映射而判定快閃裝置192之例項之哪些部分正在使用中(例如,經分配而非解除分配),且藉由抹除快閃裝置192之例項之未使用(例如,解除分配)部分而使其可用於寫入。在進一步實施例中,啟用該回收器151以移動儲存於快閃裝置192之例項內之資料以使快閃裝置192之例項之較大連續部分可用於寫入。
在一些實施例中,選擇性地及/或動態地組態、管理及/或使用快閃裝置192之例項,以具有用於儲存不同類型及/或性質之資料之一或多個帶(band)。可動態地改變帶之數目、配置、大小及類型。例如,將來自計算主機之資料寫入至熱(作用)帶,而將來自回收器151之資料寫入至冷(較少作用)帶。在一些使用案例中,若計算主機寫入一長循序串流,則熱帶之大小增長,而若計算主機進行隨機寫入或很少寫入,則冷帶之大小增長。
CPU 171控制SSD控制器100之各個部分。CPU 171包含CPU核心172。根據各種實施例,CPU核心172係一或多個單核心或多核心處理器。在一些實施例中,CPU核心172中之個別處理器核心係多執行緒式。CPU核心172包含指令及/或資料快取區及/或記憶體。例如,指令記憶體含有使CPU核心172能夠執行程式(例如,軟體(有時稱作韌體))以控制SSD控制器100之指令。在一些實施例中,由CPU核心172執行之一些或所有韌體儲存在快閃裝置192之例項(如圖解說明為(例如)圖1B中之NVM 199之韌體106)上。
在各種實施例中,CPU 171進一步包含:命令管理173,其用以 在經由外部介面110接收之命令在進行中時追蹤並控制該等命令;緩衝器管理175,其用以控制緩衝器131之分配及使用;轉譯管理177,其用以控制映射141;連貫性管理179,其用以控制資料定址之一致性且避免(諸如)外部資料存取與回收資料存取之間的衝突;裝置管理181,其用以控制裝置介面邏輯191;識別碼管理182,其用以控制識別資訊之修改及通信;及視情況其他管理單元。根據各種實施例,由CPU 171執行之管理功能中無一者、任一者或全部係藉由硬體、軟體(諸如,在CPU核心172上或在經由外部介面110連接之主機上執行之韌體)或其任何組合而控制及/或管理。
在一些實施例中,啟用CPU 171以執行其他管理任務,諸如以下一或多者:蒐集及/或報告效能統計資料;實施SMART;控制電源定序(power sequencing)、控制及/或監控及/或調整功率消耗;回應於電源故障;控制及/或監控及/或調整時脈速率;及其他管理任務。
各種實施例包含一計算主機快閃記憶體控制器,其類似於SSD控制器100且(諸如)可經由主機介面111及/或外部介面110之調適而與各種計算主機之操作相容。各種計算主機包含以下之一或任何組合:電腦、工作站電腦、伺服器電腦、儲存伺服器、SAN、NAS裝置、DAS裝置、儲存器具、PC、膝上型電腦、筆記型電腦、小筆電電腦、平板裝置或電腦、超輕薄筆記型電腦、電子閱讀裝置(諸如電子閱讀器)、PDA、導航系統、(手持式)GPS裝置、汽車控制系統、汽車媒體控制系統或電腦、印表機、影印機或傳真機或一體式裝置、POS裝置、收銀機、媒體播放器、電視機、媒體記錄器、DVR、數位相機、蜂巢式手機、無線電話手機及電子遊戲機。
在各種實施例中,在單個IC、多晶粒IC之單個晶粒、多晶粒IC之複數個晶粒或複數個IC上實施SSD控制器(或計算主機快閃記憶體控制器)之全部或任何部分。例如,在與SSD控制器100之其他元件相 同之晶粒上實施緩衝器131。另舉例而言,在不同於SSD控制器100之其他元件之晶粒上實施緩衝器131。
圖1B圖解說明包含圖1A之SSD之一或多個例項之系統之各種實施例之選定細節。SSD 101包含經由裝置介面190耦合至NVM 199之SSD控制器100。圖1B圖解說明各種類別的實施例:直接耦合至主機之單個SSD;分別經由各自外部介面直接耦合至主機之複數個SSD;及經由各種互連元件間接地耦合至主機之一或多個SSD。
作為直接耦合至主機之單個SSD之例示性實施例,SSD 101之例項經由外部介面110直接耦合至主機102(例如,省略、旁通或直通交換機/網狀結構/中間控制器103)。作為各經由各自外部介面直接耦合至主機之複數個SSD之例示性實施例,SSD 101之複數個例項之各者分別經由外部介面110之各自例項直接耦合至主機102(例如,省略、旁通或直通交換機/網狀結構/中間控制器103)。作為經由各種互連元件間接地耦合至主機之一或多個SSD之例示性實施例,SSD 101之一或多個例項之各者分別間接地耦合至主機102。各間接耦合係經由耦合至交換機/網狀結構/中間控制器103之外部介面110之各自例項及耦合至主機102之中間介面104。
包含交換機/網狀結構/中間控制器103之一些實施例亦包含經由記憶體介面180耦合且可藉由SSD存取之卡式記憶體112C。在各種實施例中,SSD、交換機/網狀結構/中間控制器及/或卡式記憶體之一或多者包含於一實體可識別模組、卡或可***元件(例如,I/O卡116)上。在一些實施例中,SSD 101(或其變動)對應於耦合至操作為主機102之一起始器之SAS磁碟機或SATA磁碟機。
啟用主機102以執行主機軟體115之各種元件,諸如OS 105、驅動程式107、應用程式109及多裝置管理軟體114之各種組合。虛線箭頭107D表示主機軟體←→I/O裝置通信,例如往返於SSD 101之例項之一 或多者發送/接收資料,以及往返於OS 105(經由驅動程式107)、驅動程式107及應用程式109(經由驅動程式107或直接作為VF)之任一或多者發送/接收資料。
OS 105包含驅動程式(概念上藉由驅動程式107圖解說明)及/或經啟用以與該驅動程式一起操作以用於與SSD介接。各種版本的Windows(例如,95、98、ME、NT、XP、2000、Server、Vista及7)、各種版本的Linux(例如,Red Hat、Debian及Ubuntu)及各種版本的MacOS(例如,8、9及X)係OS 105之實例。在各種實施例中,驅動程式係可與標準介面及/或協定(諸如,SATA、AHCI或快速NVM)一起操作之標準及/或泛型(generic)驅動程式(有時稱作「現成套裝」(shrink-wrapped)或「預安裝」),或視情況經客製化及/或特定於廠商以能夠使用特定於SSD 101之命令。一些磁碟機及/或驅動程式具有直通模式以經由最佳化NAND存取(有時稱作ONA)或直接NAND存取(有時稱作DNA)技術啟用應用程式層級程式(諸如,應用程式109)而將命令直接傳遞至SSD 101,從而即使使用一泛型驅動程式亦使一客製化應用程式能夠使用特定於SSD 101之命令。ONA技術包含以下一或多者:使用非標準修改程式(modifier)(提示);使用廠商特定命令;傳遞非標準統計資料(諸如,根據壓縮率之實際NVM使用);及其他技術。DNA技術包含以下一或多者:使用提供對NVM之未經映射讀取、寫入及/或抹除存取之非標準命令或廠商特定命令;使用提供更直接存取NVM之非標準或廠商特定命令(諸如,藉由旁通I/O裝置原本進行的資料格式化);及其他技術。驅動程式之實例係無ONA或DNA支援之驅動程式、啟用ONA之驅動程式、啟用DNA之驅動程式及啟用ONA/DNA之驅動程式。驅動程式之進一步實例係:廠商提供、廠商開發及/或廠商增強型驅動程式;及用戶端提供、用戶端開發及/或用戶端增強型驅動程式。
應用程式層級程式之實例係無ONA或DNA支援之應用程式、啟用ONA之應用程式、啟用DNA之應用程式及啟用ONA/DNA之應用程式。虛線箭頭109D表示應用程式←→I/O裝置通信(例如,經由驅動程式旁通或經由用於應用程式之VF旁通),例如啟用ONA之應用程式及啟用ONA之驅動程式在無使用OS作為媒介之應用程式的情況下與SSD通信。虛線箭頭109V表示應用程式←→I/O裝置通信(例如,經由用於應用程式之VF旁通),例如啟用DNA之應用程式及啟用DNA之驅動程式(諸如)在無使用OS或驅動程式作為媒介之應用程式的情況下與SSD通信。
在一些實施例中,NVM 199之一或多個部分係用於韌體儲存,例如韌體106。韌體儲存包含一或多個韌體影像(或其部分)。例如,韌體影像具有(例如)藉由SSD控制器100之CPU核心172執行之韌體之一或多個影像。另舉例而言,韌體影像具有(例如)在韌體執行期間由CPU核心參考之常數、參數值及NVM裝置資訊之一或多個影像。韌體之影像對應於(例如)當前韌體影像及零或多個先前(相對於韌體更新)韌體影像。在各種實施例中,韌體提供泛型、標準、ONA及或DNA操作模式。在一些實施例中,經由視情況由驅動程式傳遞及/或提供之密鑰或各種軟體技術而啟用韌體操作模式之一或多者(例如,「解鎖」一或多個API)。
在缺少交換機/網狀結構/中間控制器之一些實施例中,SSD經由外部介面110直接耦合至主機。在各種實施例中,SSD控制器100經由其他控制器(諸如RAID控制器)之一或多個中間層級耦合至主機。在一些實施例中,SSD 101(或其變動)對應於SAS磁碟機或SATA磁碟機,且交換機/網狀結構/中間控制器103對應於繼而耦合至起始器之擴展器,或替代地交換機/網狀結構/中間控制器103對應於經由擴展器間接地耦合至起始器之橋接器。在一些實施例中,交換機/網狀結構/中間 控制器103包含一或多個PCIe交換機及/或網狀結構。
在各種實施例(諸如其中主機102係計算主機(例如,電腦、工作站電腦、伺服器電腦、儲存伺服器、SAN、NAS裝置、DAS裝置、儲存器具、PC、膝上型電腦、筆記型電腦及/或小筆電電腦)之一些實施例)中,視情況啟用計算主機以(例如,經由選用I/O及儲存裝置/資源117及選用LAN/WAN 119)與一或多個本端及/或遠端伺服器(例如,選用伺服器118)通信。例如,該通信實現(例如)對SSD 101元件之任何一或多者的本端及/或遠端存取、管理及/或使用。在一些實施例中,該通信係全部或部分經由乙太網路進行。在一些實施例中,該通信係全部或部分經由光纖通道進行。在各種實施例中,LAN/WAN 119表示一或多個區域網路及/或廣域網路,諸如伺服器群中之網路、耦合伺服器群之網路、都會區域網路及網際網路之任何一或多者。
在各種實施例中,與一或多個NVM組合之SSD控制器及/或計算主機快閃記憶體控制器實施為非揮發性儲存組件,諸如USB儲存組件、CF儲存組件、MMC儲存組件、eMMC儲存組件、霹靂儲存組件、UFS儲存組件、SD儲存組件、記憶棒儲存組件及xD圖像卡儲存組件。
在各種實施例中,SSD控制器(或計算主機快閃記憶體控制器)之全部或任何部分或其功能實施於控制器待耦合之主機(例如,圖1B之主機102)中。在各種實施例中,SSD控制器(或計算主機快閃記憶體控制器)之全部或任何部分或其功能經由硬體(例如,邏輯電路)、軟體及/或韌體(例如,驅動程式軟體或SSD控制韌體)或其等之任何組合實施。例如,ECC單元(諸如,類似於圖1A之ECC 161及/或ECC-X 135)之功能性或與其相關聯之功能性部分經由主機上之軟體實施且部分經由SSD控制器中之韌體與硬體之組合實施。另舉例而言,回收器單元(諸如,類似於圖1A之回收器151)之功能性或與其相關聯之功能性部 分經由主機上之軟體實施且部分經由計算主機快閃記憶體控制器中之硬體實施。
在各種實施例及/或使用案例中,根據邏輯切片及/或區段針對NVM裝置(例如,一或多個快閃晶粒及/或快閃晶片)執行一或多個管理功能。管理功能包含以下之任一者或多者:讀取、回收、擦除、程式化/寫入及其他管理功能。邏輯切片及/或區段有時被稱作R區塊。
一R區塊係例示為跨例如一快閃記憶體之各種晶粒(例如,所有晶粒,所有晶粒不包含完全或部分出現故障之晶粒)及/或晶粒之一或多個選定子集)之一邏輯切片或區段。例如,在具有R個快閃晶粒(各快閃晶粒具有N個區塊)之一快閃記憶體中,總體而言,各R區塊係來自快閃晶粒之各者之第i個區塊,總計N個R區塊。另舉例而言,若R個快閃晶粒之一者出現故障,則R區塊係除故障快閃晶粒外來自快閃晶粒之各者之第i個區塊,總計N-1個R區塊。另舉例而言,在具有個R快閃晶粒(各具有N個區塊)之一快閃記憶體中,各R區塊係來自快閃晶粒之各者之第i個及第(i+1)個區塊,總計N/2個R區塊。再舉例而言,在具有複數個雙平面裝置之一快閃記憶體中,各R區塊係來自雙平面裝置之各者之第i個偶數區塊及第i個奇數區塊。最後舉例而言,在具有R個快閃晶粒(各具有N個區塊)之一快閃記憶體中,各R區塊係來自快閃晶粒之各者之第i個至第(i+k-1)個區塊,總計N/k個R區塊。
在成對或以其他相關聯群組將區塊視為形成R區塊之部分之各種實施例中,亦將來自區塊之一相關聯群組之各區塊之各自頁視為至少用於寫入之一單元,從而形成一較大多區塊頁。例如,繼續上述雙平面實例,將偶數區塊之一特定偶數區塊之一第一頁及奇數區塊之一相關聯奇數區塊之一第一頁視為用於寫入之一單元,且視情況及/或選擇性地視為用於讀取之一單元。類似地,將特定偶數區塊之一第二頁及相關聯奇數區塊之一第二頁視為一單元。根據各種實施例,如本文 中使用之NVM之頁指代以下一或多者:NVM之單一頁;NVM之一多區塊頁;視情況及/或選擇性地視為用於讀取之一或多個個別頁之用於寫入之NVM之一多區塊頁;及NVM之頁之任何其他分組或關聯。
預期作為R區塊以用於管理之快閃晶粒區塊之其他配置,包含虛擬區塊位址與實體區塊位址之間之映射以確保R區塊具有來自各晶粒之一區塊,即使一些區塊不可操作亦如此。在各種實施例中,將各快閃晶粒中之N個區塊之一些區塊用作備用區塊,使得虛擬區塊位址與實體區塊位址之間之映射具有備用(以其他方式未使用)區塊以替代R區塊中之區塊之有缺陷區塊。
「0」/「1」平衡恢復
圖2A至圖2D圖解說明與「「0」/「1」」平衡恢復相關之裝置臨限電壓分佈。為此論述之目的,各山狀凸塊係表示NVM之讀取單位大小的部分之一各自狀態之一裝置臨限電壓概率分佈之一獨立類高斯曲線之一抽象概念。繪製裝置臨限電壓軸使得正電壓朝向右側增大。刻意地未提供一絕對標度且未識別參考點,使得該等曲線更普遍適用於一更大NVM群體。圖2A及圖2B係SLC特定,而圖2C及圖2D係MLC特定。
在圖2A中,表示一初始時間(例如,當寫入對應資料時),最左分佈220表示邏輯一且最右分佈230表示邏輯零。取決於技術,最左分佈可駐留(至少主要駐留)在負電壓。讀取臨限210理想地位於該兩個分佈之間。
除了如由本文中之實施例鏈結以外,獨立於此等裝置臨限電壓分佈,在一些實施例中,在具體瞭解所儲存之「0」及「1」之統計分佈的情況下寫入NVM。更特定言之,在一些實施例中,使用各種加密及/或擾亂技術,使得「0」及「1」之統計分佈係50-50百分比(50%的零及50%的一)。當使用標稱讀取臨限(針對圖2A之情況,其經理想 定位)讀取SLC時,觀察到的「0」及「1」之讀取資料統計分佈同樣係50-50百分比。50-50百分比之統計分佈並不意謂任一資料樣本將具有零位元及一位元之確切均勻平衡,而是對於許多樣本之一平均值產生收斂於50-50百分比的零位元及一位元之比率,其中隨著樣本數目增加,概率界限愈加緊密。一類比係當多次投擲硬幣時正面與反面之一分佈,從而產生具有近似n/4之一方差之一高斯分佈,其中n係硬幣投擲次數。例如,若在一讀取單位中存在具有零位元與一位元之50-50百分比統計分佈之18,432個位元,則零位元(或一位元)之數目之方差係大約4,608且標準差係大約68。在標準差為68的情況下,將預期小於一百萬分之一之讀取單位樣本具有偏離9,216之平均值大於340(5個標準差)之零位元之數目。
在圖2B中,表示一稍後時間,標稱讀取臨限210係如圖2A中且兩個裝置臨限電壓分佈225及235相對於圖2A中之其等較早各自分佈220及230移位。為了舉例說明之目的,將兩個分佈展示為皆已均勻移位至左側(朝向更負的電壓)。應瞭解,更一般而言,使兩個分佈能夠獨立於彼此且在正方向或負方向上移動。
鑑於圖2B,當使用標稱讀取臨限210再次讀取SLC時,可預測直接自NVM讀取(例如,在任何錯誤校正之前)之「0」及「1」之所觀察之統計分佈將並非50-50百分比。更特定言之,對於給定之概念實例,預期過量的錯誤一,此係因為讀取臨限係使得一些零將被錯誤地讀取為一。
實務上,使推理方向顛倒。即,在實務上,通常未知或直接可知裝置臨限電壓分佈之此等移位。在一些實施例中,代替性地使用對自NVM讀取之「0」及「1」(相對於已知儲存的「0」及「1」之分佈)之觀察以推斷裝置臨限電壓分佈移位之存在。此外,在此等實施例中,根據需要至少部分基於所觀察之不均等(如本文中別處所詳述)調 整讀取臨限以讀取臨限215,直至恢復「0」/「1」平衡。
類似地,圖2C表示具有初始裝置臨限電壓分佈之一初始時間(諸如,當寫入對應資料時),而2D表示具有對應稍後裝置臨限電壓分佈之一稍後時間。更具體言之,對於分別表示11、10、00及10狀態之選定格雷碼(Gray code)映射,使(圖2D之)裝置臨限電壓分佈251、261、271及281相對於(圖2C之)其等較早各自裝置臨限電壓分佈250、260、270及280移位。亦展示三個標稱(初始)讀取臨限:VREAD1 240、VREAD2 242及VREAD3 244。再次為了實例之目的,在圖2D中,將四個分佈展示為皆均勻地移位至左側(朝向更負電壓移位)。應瞭解,更一般而言,四個分佈經啟用以獨立於彼此且在正方向或負方向上移動。
在一些實施例中,使用各種擾亂技術,使得四個狀態之統計分佈係25-25-25-25百分比(各狀態為25百分比)。當使用標稱讀取臨限(對於圖2C之情況經理想定位)讀取MLC時,在一些實施例中,四個狀態之統計分佈可經組態以同樣為25-25-25-25百分比。(如別處論述,「0」及「1」可直接由控制器觀察,但根據需要可推斷所有四個狀態)。在一些實施例中,使用對自NVM讀取之不均等(自預期25-25-25-25百分比之偏差)(相對於已知儲存的狀態分佈)之觀察以推斷裝置臨限電壓分佈位移之存在。接著如圖2D中所示般調整讀取臨限(如本文中別處所詳述)使之變為VREAD1 265、VREAD2 275及VREAD3 285。在一些實施例中,針對下部頁讀取(調整VREAD2 275)及上部頁讀取(調整VREAD1 265及/或VREAD3 285)單獨執行讀取臨限調整。
用於「0」/「1」平衡恢復之功能
圖3提供圖1A及圖1B之SSD 101、SSD控制器100及NVM 199之替代視圖,重新繪製選定邏輯區塊邊界以強調特定功能。在頂層之SSD 101以外部介面110、SSD控制器100、NVM 199及裝置介面190為特徵。
外部介面110耦合至一主機,諸如圖1B之主機102,且支援諸如SATA之一高階儲存協定,包含來源於主機之儲存器相關命令及寫入資料以及來源於控制器之讀取資料,且在圖1A之上文論述中加以詳述。如圖1A之上文論述中詳述般,裝置介面190支援低階NVM I/O異動。NVM 199以NVM陣列332、可程式化讀取電壓電路334、控制/狀態暫存器336及I/O 338為特徵。SSD控制器100以主機介面111、擾亂器310、ECC編碼器320、裝置介面邏輯191、不平衡偵測器340、緩衝器131、ECC解碼器360、解擾亂器370及平衡恢復邏輯380為特徵。主機介面111如先前論述般經由外部介面110與主機耦合,提供寫入資料306至擾亂器310且自緩衝器131接收讀取資料351。
寫入路徑及功能性如下。擾亂器310對寫入資料306操作以產生至ECC編碼器320之經擾亂寫入資料311。擾亂器310以一可逆方式擾亂寫入資料306且使得經擾亂寫入資料311具有所儲存的一已知統計狀態分佈。包含經擾亂資料之一區塊之一實例係含有經擾亂寫入資料311之一區塊。例如,包含經擾亂資料之一SLC區塊含有相等數目個「0」及「1」值,且包含經擾亂資料之一4LC區塊含有相等數目個「00」、「01」、「10」及「11」狀態。在一些實施例中,擾亂器310諸如經由將資料隨機化為一加密副產物之一AES編碼器執行加密。在一些實施例中,擾亂器310使用一線性回饋移位暫存器(LFSR)以隨機化該資料(但不具備任何資料安全意圖)。ECC編碼器320處理經擾亂寫入資料311以添加額外ECC位元,從而導致經ECC編碼之寫入資料321,將該經ECC編碼之寫入資料321提供至裝置介面191以經由裝置介面190儲存至NVM 199中。
基本讀取路徑及功能性如下。經由裝置介面190自NVM 199接收包含未經校正且經擾亂之(原始)讀取資料359之NVM頁。繼續關於圖3,各讀取單位標稱地包含藉由擾亂器301擾亂之資料以及由ECC編碼 器320產生之額外ECC位元,但通常由於NVM儲存及擷取操作而被非刻意地變更。經由緩衝器131提供該等讀取單位至ECC解碼器360。ECC解碼器360處理該等讀取單位,善用所包含的額外ECC位元以大體上校正自首先ECC編碼該資料起的任何時間點出現的任何錯誤,從而導致提供至解擾亂器370之經校正讀取資料361。解擾亂器370對經校正之讀取資料361操作,從而撤除藉由擾亂器310執行之擾亂,導致未經擾亂之讀取資料371,其經由緩衝器131作為讀取資料351提供至主機介面111。
讀取路徑及功能性進一步包含不平衡偵測器340及平衡恢復邏輯360。不平衡偵測器340監測自NVM接收之原始讀取資料359且至少暫時維持關於狀態之統計分佈之資料。平衡恢復邏輯380經由裝置介面邏輯191及NVM I/O 338與NVM控制/狀態暫存器336互動以經由NVM可程式化讀取電壓電路334選擇性地調整NVM讀取臨限(用於讀取NVM陣列332)。NVM讀取臨限之一實例係圖5A及圖5B中提及之當前讀取臨限。在一些實施例中,NVM讀取臨限被寫入至控制/狀態暫存器336且組態可程式化讀取電壓電路334。基於以下各者調整讀取臨限:a)由ECC解碼器360偵測之不可校正讀取362;及b)由不平衡偵測器340偵測之不平衡341(在狀態統計中)。在SLC及MLC實施例兩者中,讀取單位係二進位資料。在SLC情況中(或當將MLC當作SLC操作時),可直接量測「0」及「1」之不均等。在一些實施例中,基於對如何將資料儲存在NVM中之瞭解而推斷MLC之兩個以上狀態之不均等。
圖3圖解說明在主機操作為寫入至NVM 199且自NVM 199讀取之資料之源及儲集器(sink)之內容脈絡中「0」/「1」平衡恢復之功能。在各種實施例中(諸如藉由圖1A及圖1B圖解說明),一或多個其他代理程式(agent)操作為寫入至NVM 199且自NVM 199讀取之資料之源及儲 集器。該等其他代理程式之一實例係圖1A之回收器151,該回收器151將資料自NVM 199中之一位置移動至另一位置,如本文別處所述。
在各種實施例中,至少部分使用(圖1A之)資料處理121及ECC 161之一或多者實施與擾亂器310、ECC編碼器320、ECC解碼器360及解擾亂器370之任何一或多者相關聯之功能性之任何或所有部分。
「0」/「1」平衡恢復之控制流程
圖4圖解說明圖1A、圖1B及圖3之SSD之一實施例之選定控制流程細節,提供關於寫入相關操作及讀取相關操作之特定細節。寫入操作開始於動作410且繼續至430。雖然未明確繪製一返回路徑,但是後續寫入操作重新開始於動作410。類似地,讀取操作開始於動作440,繼續至460且有條件地繼續至480。雖然未明確繪製一返回路徑,但是後續讀取操作重新開始於動作440。假定至少一初始寫入先於對相同位置之一讀取。否則,除人為情況(諸如在測試中)外,針對相同或大致不同位置,通常根據應用需要規定獨立地調用讀取操作及寫入操作。但是,在試探實例中,在概念上緊接於最後寫入操作430之後繼續對相同位置之第一讀取操作440。
更詳細考量寫入相關操作,通常首先在動作410中諸如經由加密或使用LFSR擾亂待寫入至NVM之原始資料。除採用更多特定性的情況外,如本文中使用之術語「擾亂」指代待經由任何操縱或選擇寫入(其導致儲存在NVM中之各種狀態之間之已知統計分佈)之原始資料之操縱。擾亂方法包含加密及LFSR技術。(亦見圖3之擾亂器310)。在一些加密實施例中,擾亂係根據AES加密規範之至少一版本。在一些LFSR實施例中,擾亂係根據LFSR之至少一選擇。在一些實施例中,經由一或多個測試型樣之選擇更直接地判定擾亂,從而在寫入至NVM時提供狀態之一選取統計分佈(無需使用加密或LFSR處理)。
LFSR係一硬體移位暫存器,其具有自移位暫存器之選定分接頭之一線性函數產生一輸入位元之一組合邏輯回饋網路或其之一軟體模型。LFSR產生一確定性偽隨機序列。至少在概念上,LFSR產生之偽隨機序列係以2為模加至原始資料以提供經擾亂資料。
隨後,接下來視情況ECC編碼經擾亂資料,如動作420中所繪示。(亦參見圖3之ECC編碼器320)。ECC編碼提供冗餘資訊,其在面對當使用NVM時因多種原因而出現之錯誤時(經由錯誤校正)促進資料恢復。此等錯誤更普遍且因此在較小幾何形狀、較多使用、較長使用年限、較大溫度偏離額定值及使用MLC記憶體之一或多者的情況下,ECC編碼更可取。
接著,將經擾亂及視情況經ECC編碼之資料寫入至NVM,如動作430中所示(最後寫入相關操作)。由於擾亂而已知正寫入之狀態之分佈。在使用SLC記憶體及AES加密之情況中,零-一分佈已知為50-50(即,50%的零及50%的一)。在使用4LC(4位階MLC)記憶體及AES加密之情況中,在寫入下部頁及上部頁兩者之後之分佈已知為25-25-25-25(即,在四個狀態之各者中為25%)。
在一些實施例中,將至少一參考區域專用於使用如上文論述之一或多個測試型樣。在一些實施例中,參考區域之位置經選擇以最小化(或相反地,最大化)各種NVM寫入/讀取假影對測試型樣的影響。在一些實施例中,參考區域係一參考頁,且其位置經選取為寫入一區塊中之最後頁,以最小化寫入干擾對寫入資料之影響。由於影響電壓分佈之某一現象係隨時間及/或溫度變動,故參考區域充當對「0」/「1」不均等之此等影響之一已知量度。
更詳細考量讀取相關操作,在動作440中開始,自NVM讀取一或多個讀取單位且擷取狀態之分佈。在一些實施例中,直接判定「0」計數及「1」計數之各者。接下來,在動作450中,嘗試恢復原始資 料。無論在寫入前執行何種資料操縱操作,此皆執行該等資料操縱操作之逆操作。視情況在寫入之前添加ECC編碼,且因此讀取單位接下來視情況經歷ECC解碼。(亦參見圖3之ECC解碼器360)。在每個讀取單位基礎上,若ECC解碼成功,則接下來視需要執行解擾亂。例如,在寫入之前使用AES加密的情況下,執行AES解密。或,在使用LFSR產生之偽隨機序列的情況下,相同序列係以2為模加至來自讀取單位之經ECC解碼資料。
在原始資料可恢復(無錯誤或針對可經由ECC解碼校正之錯誤)時,讀取相關操作早早結束。參見自決策460之「否」路徑。但是,亦對任何讀取單位之不可校正错误執行動作470及480。參見自決策460之「是」路徑。在動作470中,評估狀態分佈之不均等。(亦參見圖3之不平衡偵測器340)。在一些實施例中,所判定之不均等係「0」計數與「1」計數之間之判定差值。在各種實施例中,即使少於所有讀取單位具有不可校正(例如,硬決策解碼)錯誤,亦對所有讀取單位計算經判定之不均等。
接下來,在動作480中,至少部分基於經判定不均等之量值判定至少一讀取臨限之一調整值(亦稱一臨限移位)。在一些實施例中,若經判定不均等之量值低於一預定容限,則不調整該讀取臨限。在一些實施例中,採用多因數「校正演算法」以判定經調整讀取臨限,經判定不均等之量值僅係多因數「校正演算法」之一因數。
在一些實施例中,校正演算法採取用於選擇讀取臨限之一替換值之一查找表之形式。經判定不均等之量值係查找表中之索引之至少部分之基礎。在一些實施例中,基於所使用之NVM之特定廠商預特性化(加權)查找表。在一些實施例中,索引具有額外分量,包含以下一或多者:程式化/擦除循環、使用年限、保持時間(自最後寫入起之時間)、溫度及可能關於NVM之裝置臨限電壓分佈之漂移或干擾之任 何其他因數。(亦參見圖3之平衡恢復邏輯380)。
此處且貫穿【實施方式】,應記住,在常用快閃記憶體微架構中,操作粒度係不同的;例如,讀取單位係用於讀取之最小大小,頁係用於寫入(例如,程式化)之最小大小且區塊係用於擦除之最小大小。各區塊包含對應複數個頁,且各頁包含對應複數個讀取單位。在各種實施例中,一SSD控制器依對應於以下各者之任何一或多者之配量自一或多個快閃記憶體讀取及/或寫入至一或多個快閃記憶體:一或多個讀取單位、一或多個頁及一或多個區塊。
在一些實施例中,基於一整頁評估不均等。在一些實施例中,基於一讀取單位評估不均等。相對於與在最近寫入中寫入相同之(頁或讀取單位)位置執行結合一不可校正(例如,硬決策解碼)錯誤對一讀取執行之不均等評估,該最近寫入包含該相同位置。
經由保持漂移歷史之監測之最佳讀取臨限之預測
由圖4所表示之實施例回應於一不可校正(例如,硬決策解碼)錯誤調整至少一讀取臨限。由圖5A、圖5B、圖5C及圖6所表示之實施例回應於以下任何一或多者調整至少一讀取臨限:製造特性化、初始用途、計時器(例如,週期性、不定期或隨機)、高於一臨限之一位元錯誤率及一不可校正(例如,硬決策解碼)錯誤。在NVM之區塊按群組管理之內容脈絡中操作由圖5A、圖5B、圖5C及圖6所表示之各種實施例,且針對一特定群組之所有區塊之至少一讀取臨限之調整係基於該特定群組之區塊之取樣之部分讀取。例如,若至少一些部分讀取滿足一條件,則針對特定管理群組之所有區塊調整讀取臨限。在各種實施例中,調整係經由一保持漂移時脈(保持漂移追蹤)技術。在一些實施例中,結合由圖5A、圖5B、圖5C及圖6所表示之技術使用由圖4所表示之技術。
圖5A圖解說明(例如,一SSD之)一NVM之讀取臨限最佳化之一實 施例之選定細節之一流程圖。在各種實施例中,NVM具備由NVM之製造商指定且由該製造商保證正確發揮功能之預設操作讀取臨限。根據當前讀取臨限執行讀取NVM之一讀取單位。最初,在動作510中,將當前讀取臨限設定為預設操作讀取臨限。在一些實施例中,將預設操作讀取臨限寫入至控制/狀態暫存器336且組態圖3之可程式化讀取電壓電路334。
在動作520中,根據當前讀取臨限執行NVM之讀取。在概念上,並行於動作520之讀取,控制器亦執行與保持漂移追蹤590相關聯之各種活動,其等共同具有預測最佳讀取臨限電壓之目標,使得硬讀取錯誤相對罕見。在一些實施例及/或使用案例中,保持漂移追蹤能夠減小或避免硬(ECC不可校正)讀取錯誤。經由寫入參考記憶體胞501、判定實際新最佳讀取臨限502及初始化保持漂移歷史503初始化保持漂移追蹤。在動作530中,接著啟用保持漂移追蹤以用新操作讀取臨限更新當前讀取臨限,新操作讀取臨限經最佳化以改良效能、功率消耗及可靠性之一或多者。應注意,雖然在一些實施例中,動作520在保持漂移歷史於動作503中初始化之前實施資料讀取,但是在一些實施例中,動作530經啟用以在動作520中首次讀取資料之前發生。
保持漂移追蹤590之總體功能性亦被稱作「保持漂移時脈」,其以一時脈產生器提供用於導出時序信號之參考或標準之大致類似方式充當隨時間及溫度變化之讀取臨限電壓(Vth)之標準或參考(以及隨時間及溫度變化之保持漂移之一量度)。為了促進此類比,一電壓漂移參考之一(SLC記憶體)或多個(MLC記憶體)最佳讀取臨限電壓之各判定集合在本文中被稱作一「時戳」,如在保持漂移歷史中之各對應項目。在一些實施例中,保持漂移歷史中之時戳項目亦將包含一時間表示(諸如對一系統事件之一偏移計數器或自一實際時鐘導出之一值),但更一般而言,在一些實施例中,保持漂移歷史中之時戳項目將不包 含一時間表示。
如下文詳述,至少部分根據如由保持漂移歷史判定之保持漂移量在動作530中更新當前讀取臨限。在一些實施例中,按時間週期性地(諸如一小時一次)執行當前讀取臨限之更新。例如,如下文更詳細描述,在一些實施例中,根據一或多個計時器T1 550及計時器T2 551,經由次要保持漂移更新540執行當前讀取臨限之更新。在一些實施例中,按讀取次數週期性地(諸如每100K次讀取一次)執行當前讀取臨限之更新。更新包括鑑於保持漂移歷史(例如,如繼動作566之後由動作567更新且在下文中更詳細描述之參考時戳之編譯/記錄)評估(例如,在下文更詳細描述之動作555中,在一些實施例中藉由簡單比較)一區域(諸如一R區塊)之一新參考時戳(例如,在下文更詳細描述之動作566中判定)。在一些實施例中,每當程式化對應區域時,記錄一新區域特定參考時戳。在一些實施例中,每當(出於任何原因)記錄區域之一新參考時戳時,(例如,在動作530中及根據動作555)調整區域之當前讀取臨限。
在動作501中寫入之參考記憶體胞(亦稱電壓漂移參考)係根據一預定準則選取之記憶體胞集合且根據實施例在圖1A之快閃晶粒194之一或多者上包含一或多個頁、一或多個區塊或一或多個其他晶粒部分。在一些實施例中,將至少兩頁用於參考記憶體胞以考量記憶體胞間干擾(ICI)。在一些實施例中,參考頁被程式化為具有經啟用以匹配正常使用(非參考記憶體胞)資料之一統計分佈之一型樣。在一些實施例中,統計分佈係隨機的。在一些實施例中,針對SLC(或下部頁)資料及MLC(或上部頁)資料維持單獨參考頁以考量對下部頁及上部頁預期之不同漂移。在一些實施例中,為了考量晶粒內之區塊至區塊變動及/或晶粒至晶粒變動,將不同位置及/或不同晶粒處之多個區塊用於參考記憶體胞(參考記憶體胞刻意地如此分佈)且使用平均化以減輕變 動。根據一實施例,為了使參考記憶體胞之P/E循環或磨損保持總體上相對接近驅動之平均P/E循環或磨損,諸如在特定時間週期(例如,3個月)之後及/或在特定數目個(例如,200個)全域P/E循環之後,根據預定準則,使參考記憶體胞與正常使用(非參考)記憶體胞之至少一其他對應集合「輪換」(交替)。
根據本文中別處論述之一預定方法(諸如零-一平衡/不均等)之一經驗評估執行在動作502中(且亦如在動作566中執行)之實際新最佳讀取臨限(亦稱電壓漂移參考時戳取樣)之判定。所判定之實際最佳讀取臨限(亦稱經取樣時戳)可出於多種原因(包含初始程式化期間之記憶體胞間干擾、裝置之P/E循環、讀取干擾及歸因於經過時間及溫度偏離額定值之保持漂移)而與預期/標稱程式化讀取臨限值不同。一旦判定實際新最佳讀取臨限,其等即被記錄為一保持漂移歷史中之一第一項目。(換言之,電壓漂移參考之經取樣時戳被記錄在保持漂移歷史中)。每個項目所儲存之讀取臨限數目係非揮發性記憶體之位階數目之一函數。例如,根據實施例,僅存在針對SLC記憶體儲存之一讀取臨限,而存在針對4LC記憶體儲存之3個讀取臨限。保持漂移歷史被不同地稱作一(保持漂移歷史)日誌、儲存器、緩衝器或快取區(儲存在一(保持漂移歷史)日誌、儲存器、緩衝器或快取區中)。根據實施例,將圖1A之緩衝器131之一部分及/或圖1A之快閃晶粒194之一或多者之一部分用於儲存及/或更新保持漂移歷史。如將所見,使用保持漂移歷史使讀取臨限能夠自動補償時間及溫度,包含諸如電力關閉時間、儲存溫度等之因數。
在一些實施例中,新操作讀取臨限被寫入至控制/狀態暫存器336且組態圖3之可程式化讀取電壓電路334。在各種實施例中,根據當前讀取臨限執行後續讀取,該等當前讀取臨限已藉由保持漂移追蹤之動作530更新至新操作讀取臨限。保持漂移追蹤被描述為在概念上與讀 取並行操作,此係因為至少在一些實施例中,執行在動作520中的NVM之讀取,使得防止在動作590中的NVM之讀取或寫入與在動作520中的NVM之讀取同時執行。例如,按比在動作590中的NVM之讀取或寫入高的優先權執行在動作520中的NVM之讀取。對於另一實例,以背景方式(諸如在NVM另外閒置時)執行在動作590中的NVM之讀取。
在各種實施例中,SSD週期性地重新評估當前讀取臨限。在決策550及決策551中,一第一計時器(T1)及一第二計時器(T2)分別追蹤自執行最後次要保持漂移更新及主要保持漂移更新起所經過的時間。當T1計時器期滿(但T2計時器未期滿)時,執行一次要保持漂移更新。當T2計時器期滿時,執行主要保持漂移更新560,接著執行次要保持漂移更新540。在各種實施例中,計時器可透過軟體、韌體及硬體之任何一或多者組態。在一些實施例中,第一計時器(T1)被組態至六至二十四小時,而第二計時器(T2)被組態至一或多週。
在一些實施例中,組合次要保持漂移更新及主要保持漂移更新且僅使用第一計時器(T1)。更特定言之,在此等僅採用第一計時器實施例中,在藉由決策550得出「是」結果時,控制直接流動至動作560中。第一計時器(T1)經組態(例如)以每天失效一次、每週失效一次或每月失效一次。更一般而言,根據實施例,根據以下一或多者選取判定實際新最佳讀取臨限之頻率:NVM之類型及其特性;讀取臨限之變化速率之歷史;諸如來自一溫度感測器之溫度;諸如來自裝置操作之執行循環之經過時間;每次電力開啟判定一次;每次重設判定一次;每次從休眠中喚醒判定一次;及其他因數。在一些實施例中,在判定在已寫入一區塊之一預定時間間隔內尚未讀取該區塊時,在讀取該區塊之前強制執行一次要保持漂移更新及/或主要保持漂移更新。
圖5B及圖5C分別圖解說明次要保持漂移更新540及主要保持漂移 更新560之實施例之選定細節之流程圖、保持漂移追蹤500之組件。在圖5B中,次要保持漂移更新540包含選用選擇保持漂移預測器/方案553、讀取保持漂移歷史554及基於保持漂移歷史預測新的最佳讀取臨限555。在此一次要保持漂移更新中,基於對現有保持漂移歷史資料之操作,使用根據實施例之一或多個預測器(方案或演算法)判定新的最佳讀取臨限電壓之預測值,但避免與一主要保持漂移更新相關聯之更耗時經驗評估(涉及對一或多個測試讀取臨限電壓之改變或其測試)。
根據實施例,保持漂移預測器/方案可固定、可程式化至複數個預測器/方案中之一特定預測器/方案或根據預定準則動態選擇。一第一預測器方案包含一對一函數,其中正常使用(非參考)記憶體胞被預測為表現與參考記憶體胞相同。一第二預測器方案包含一基於時間之函數,其中鑑於保持漂移歷史及自最後寫入參考記憶體胞起之經過時間而修改自參考記憶體胞獲得之讀取臨限值。一第三預測器方案包含一補償函數,其中鑑於考量正常使用記憶體胞與參考記憶體胞之間之差異(包含時間及/或磨損相依之差異)之特性化資料而修改自參考記憶體胞獲得之讀取臨限值。作為一特定實例,一補償預測器經啟用以基於正常使用記憶體胞展現與參考記憶體胞不同之一保持漂移之一判定進行補償。在一些實施例中,參考記憶體胞與正常使用記憶體胞之間之變動隨時間及/或磨損變化而更明顯,及/或漂移具有一更線性區域及一較不線性區域,且補償預測器相應地針對所有此等案例進行補償。預測器方案通常亦可組合。即,一單個預測器模組經啟用以執行一或多個預測器方案。根據實施例,由預測器施加之補償包含具有一時間變數之一線性函數、無時間變數之一線性函數、一unity函數、具有一時間變數之一非線性函數及無時間變數之一非線性函數。在具有分佈式參考記憶體胞之一些實施例中,(該等)預測器額外執行分佈式 參考記憶體胞區塊之間之平均化。
在圖5C中,主要保持漂移更新560包含選用實施紀元(epoch)570、判定實際新最佳讀取臨限566及更新保持漂移歷史567。根據一預定方法(通常使用相同於上文論述之動作502中所使用之方法)執行在動作566中的實際新最佳讀取臨限之判定。一旦判定實際新最佳讀取臨限,即可在動作567中將其等附加至保持漂移歷史。
在一些實施例中,在足夠時間之後及/或結合足夠熱暴露,判定參考記憶體胞中之讀取臨限是否已漂移超過所要(基於隨實施例變化之準則)且是否應重設(重新初始化;即重寫)。例如,在一些NVM類型中,讀取臨限漂移係使得用於量測參考讀取臨限位準之頁在經過某一時間量及/或溫度偏離額定值之後可(諸如藉由所有電荷漂移離開)變為不可用。在一些實施例中,參考記憶體胞僅在適度漂移量(例如,0.3V)之後重新初始化以繼續大致在電壓漂移(相對於時間及/或溫度)之一相對線性區域中取樣參考記憶體胞,及以避免在一相對更非線性漂移(相對於時間及/或溫度)區域中取樣參考記憶體胞。
此一參考記憶體胞重設事件被視為定義一新世代或紀元。選用實施紀元570包含審查保持漂移歷史562,其後係「紀元應結束?」決策563,其使控制流程分叉。在「否(繼續當前紀元)」時,控制流程直接進行至動作566(先前描述)。否則,在「是(開始新紀元)」決策時,在進行至動作566之前實施寫入參考記憶體胞動作564及在保持漂移歷史中標注新紀元動作565。藉由標注新紀元(諸如藉由累加保持漂移歷史之一紀元計數欄位),在紀元變化之前之保持漂移歷史繼續貢獻有用資料點(且提供一更完整歷史視角),至少例如使一預測器能夠在評定保持漂移之當前變化速率時進行一更準確「曲線擬合」。
在一些實施例中,紀元之實施方案係經由一紀元(世代)數(在最高有效位元中)及當前參考讀取臨限位準(在最低有效位元中)之級聯。 在進一步實施例中,(諸如用一映射表)映射參考讀取臨限位準以(基於隨時間/溫度變化之漂移之本質/速率之特性化瞭解)線性化保持漂移。紀元數使一連串參考頁能被使用及/或使(該等)相同頁能被重新程式化(以使其等返回至接近初始讀取臨限值,亦稱第V個0)。此使參考漂移時脈能夠具有一任意範圍,以及最佳及/或選擇性地僅使用讀取臨限漂移之一更線性區域。
當程式化每一新區塊(或在一些實施例中,每一新R區塊)時,新區塊被指派藉由參考漂移追蹤預測之(若干)當前讀取臨限值。(在其中跨R區塊等量化寫入資料之各種實施例中,一R區塊中之所有區塊通常與參考漂移時脈同時寫入且與在每個區塊基礎上執行參考漂移追蹤相比,在每個R區塊基礎上執行參考漂移追蹤消耗較少空間)。
作為另一預測器實例,在一些實施例中,當稍後讀取一區塊(或一R區塊)中之一頁時,至少部分依據(在最後寫入區塊時)區塊之時戳及參考漂移時脈之一當前時戳(新取樣)(例如,其等之間之差值及/或其他因數)判定讀取之一經更新標稱/當前讀取臨限值。(在一些實施例中,在判定經過「時間」係短時,將一標稱讀取臨限值用於讀取且不存在讀取臨限調整)。以此方式,藉由使用參考漂移追蹤(參考漂移時脈)針對時間/溫度漂移適當地補償標稱讀取臨限。
保持漂移追蹤藉由在裝置臨限電壓分佈移位(例如,歸因於老化及/或熱暴露)時調整當前讀取臨限而減小一經管理區塊群組中之讀取錯誤之數目。減小錯誤之數目改良效能,減小功率消耗及/或改良一NVM之壽命。在一些實施例中,當一SSD、一SSD中所使用之NVM之任何部分或在任何內容脈絡中使用之NVM之任何部分閒置時,全部及/或遞增地執行保持漂移追蹤以減小對除保持漂移追蹤外之操作之影響(例如,從一主機存取、再循環及/或映射管理)。
一旦已計算新操作讀取臨限,便在動作530中針對代表性區塊中 之讀取單位,將當前讀取臨限更新至新操作讀取臨限。在一些實施例中,亦將用於經管理區塊群組內之其他(例如,除代表性區塊外之)區塊之當前讀取臨限更新至經計算之新操作讀取臨限。在各種實施例中,選擇多個代表性區塊以作為一集合經由保持漂移追蹤處理且針對該集合平均化新操作讀取臨限以減小一經管理區塊群組內之區塊至區塊變動。
在各種實施例中,藉由一SSD控制器(諸如圖1A之SSD控制器100)或其元件執行及/或管理圖5A、圖5B及圖5C中圖解說明之一或多個操作(或其部分)。例如,在一些實施例中,藉由憑藉圖1A之CPU核心172執行之韌體實施及/或管理圖5A、圖5B及圖5C中圖解說明之一或多個操作。在各種實施例中,藉由圖3中圖解說明之任何一或多個元件執行及/或管理圖5A、圖5B及圖5C中圖解說明之一或多個操作(或其部分)。例如,在一些實施例中,至少部分經由圖3之平衡恢復邏輯380執行實際新最佳讀取臨限之判定(例如,如由動作566之一些實施例所執行)。
圖6A至圖6C在概念上圖解說明在一4LC記憶體中之裝置臨限電壓分佈。為此論述之目的,如圖2A至圖2D中,各山狀凸塊係表示NVM之讀取單位大小的部分之一各自狀態之一裝置臨限電壓概率分佈之一獨立類高斯曲線之一抽象概念。繪製裝置臨限電壓軸使得正電壓朝向右側增大。刻意地未提供一絕對標度且未識別參考點,使得該等曲線更普遍適用於一更大NVM群體。圖6A在概念上圖解說明每個記憶體胞儲存兩個位元之一4LC記憶體。存在四個裝置臨限電壓分佈(E 600、D1 601、D2 602、及D3 603),以及描繪對應於不同狀態之裝置臨限電壓分佈之三個當前讀取臨限(VOLD1 610、VOLD2 611及VOLD3 612)。
圖6B在概念上圖解說明具有移位之裝置臨限電壓分佈之一4LC。 存在四個新裝置臨限電壓分佈(E' 620、D1' 621、D2' 622及D3' 623)。注意三個當前讀取臨限不再整齊地分離新裝置臨限電壓分佈。例如,D2' 622之一些部分位於VOLD3 612右側且將被錯誤地識別。
圖6C在概念上圖解說明具有移位之裝置臨限電壓分佈之一4LC中之新操作讀取臨限。藉由保持漂移追蹤計算新操作讀取臨限VNEW1 650、VNEW2 651及VNEW3 652。注意,與當前讀取臨限(VOLD1、VOLD2及VOLD3)相比,新操作讀取臨限(VNEW1、VNEW2及VNEW3)整齊地分離新裝置臨限電壓分佈,因此減小一位元錯誤及/或一不可校正(例如,硬決策解碼)錯誤之可能性。在各種實施例中,圖6C在概念上圖解說明來自更新當前讀取臨限530之新操作讀取臨限。
例示性實施技術
在一些實施例中,藉由可與由一電腦系統進行的處理相容之一規範指定由使用讀取臨限最佳化之一SSD執行之操作之全部或部分之各種組合,該SSD具有(例如)快閃記憶體、計算主機快閃記憶體控制器及/或SSD控制器(諸如圖1A之SSD控制器100)以及以下各者之部分:處理器、微處理器、單晶片系統、特定應用積體電路、硬體加速器或提供前述操作之全部或部分之其他電路。該規格係根據各種描述,諸如硬體描述語言、電路描述、接線對照表描述、遮罩描述或佈局描述。例示性描述包含:Verilog、VHDL、SPICE、SPICE變體(諸如PSpice)、IBIS、LEF、DEF、GDS-II、OASIS或其他描述。在各種實施例中,處理包含解譯、編譯、模擬及合成之任何組合以產生、驗證或指定適用於包含在一或多個積體電路上之邏輯及/或電路。根據各種實施例,各積體電路可根據多種技術設計及/或製造。該等技術包含一可程式化技術(諸如,場或遮罩可程式化閘陣列積體電路)、半客製化技術(諸如完全或部分基於記憶體胞之積體電路)及一全客製化技術(諸如,實質上專用之一積體電路)、其等之任何組合或可與積體 電路之設計及/或製造相容之任何其他技術。
在一些實施例中,藉由執行及/或解譯一或多個程式指令、藉由解譯及/或編譯一或多個源語言/描述性語言陳述式或藉由執行憑藉編譯、轉譯及/或解譯程式設計及/或描述性語言陳述式中表達之資訊產生之二進位指令來執行如其中儲存有一指令集之一電腦可讀媒體描述之操作之全部或部分之任何組合。該等陳述式可與任何標準程式設計或描述性語言(諸如C、C++、Fortran、Pascal、Ada、Java、VBscript及Shell)相容。程式指令、語言陳述式或二進位指令之一或多者視情況儲存在一或多個電腦可讀儲存媒體元件上。在各種實施例中,將該等程式指令之一些、全部或各種部分實現為一或多個函式、常式、副常式、內嵌常式、程序、巨集或其部分。
結論
僅為了便於製備文字及圖式而在描述中作出某些選擇,且除非存在相反之指示,否則該等選擇本質上不應解釋為傳達關於所述實施例之結構或操作之額外資訊。該等選擇之實例包含:用於圖編號之指定符之特定組織或指派及用以識別並參考該等實施例之特徵及元件之元件識別符(例如,插圖編號或數字指定符)之特定組織或指派。
字詞「包括」及「包含」具體旨在解釋為描述開端式(非限制性)範疇之邏輯集合之抽象概念且除非後續明確接著字詞「在…內」,否則並不意謂傳達實際含有。
雖然已為描述及理解清楚起見而相當詳細地描述前述實施例,但是本發明並不限於所提供的細節。本發明存在許多實施例。所揭示實施例係例示性且非限制性。
應瞭解,構造、配置及使用之許多變動可能與描述一致,且在所發佈專利之申請專利範圍之範疇內。例如,互連及功能單元位元寬度、時脈速度及所使用的技術類型可根據各種實施例在各組件區塊中 變化。賦予互連及邏輯之名稱僅係例示性,且不應解釋為限制所述概念。流程圖及流程圖程序、動作及功能元件之順序及配置可根據各種實施例而變化。又,除非具體相反地陳述,否則所指定的值範圍、所使用的最大值及最小值或其他特定規格(諸如,快閃記憶體技術類型;及暫存器及緩衝器中之項目或級之數目)僅僅係所述實施例之所指定的值範圍、所使用的最大值及最小值或其他特定規格,預期其等追蹤實施技術之改良及改變,且不應解釋為限制。
可採用此項技術者已知的功能上等效的技術來代替描述成實施各種組件、子系統、操作、函式、常式、副常式、內嵌常式、程序、巨集或其部分之技術。亦瞭解,依據實施例依據更快處理(促進先前在硬體中之功能遷移至軟體中)及更高整合密度(促進先前在軟體中之功能遷移至硬體中)之實施例相依設計限制及技術趨勢,可在硬體(例如,一般專用電路)或軟體(例如,經由程式化控制器或處理器之某種方式)中選擇性地實現實施例之許多功能態樣。各種實施例中之特定變動包含(但不限於):分區之差異;不同外觀尺寸及組態;不同作業系統及其他系統軟體的使用;不同介面標準、網路協定或通信鏈路的使用;及在根據特定應用之獨特工程及業務限制實施本文中描述之概念時將預望到的其他變動。
已就遠超出所述實施例之許多態樣之最小實施所需的細節及環境內容脈絡描述該等實施例。一般技術者應認知,在不變更剩餘元件之間的基本協作之情況下,一些實施例省略所揭示組件或特徵。因此,應瞭解,實施所述實施例之各種態樣無需許多所揭示細節。在可區分剩餘元件與先前技術之範圍內,所省略的組件及特徵並不限制本文所述之概念。
所有此等設計變動在藉由所述實施例傳達之教示內並無實質上的變化。亦應瞭解,本文所述之實施例廣泛適用於其他計算及網路連 接應用,且並不限於所述實施例之特定應用或產業。因此,本發明應解釋為包含所發佈專利之申請專利範圍之範疇內涵蓋之所有可能修改及變動。
501‧‧‧寫入參考記憶體胞
502‧‧‧判定實際新最佳讀取臨限
503‧‧‧初始化保持漂移歷史
510‧‧‧將當前讀取臨限初始化為預設操作讀取臨限
520‧‧‧用當前讀取臨限讀取
530‧‧‧更新當前讀取臨限
540‧‧‧次要保持漂移更新
550‧‧‧決策:計時器(T1)期滿?
551‧‧‧決策:計時器(T2)期滿?
560‧‧‧執行主要保持漂移更新
590‧‧‧保持漂移追蹤(亦稱保持漂移時脈)

Claims (15)

  1. 一種方法,其包括:記錄與程式化一非揮發性記憶體之複數個頁群組之一特定者相關聯之一電壓漂移參考時戳之一取樣值;及至少部分基於該電壓漂移參考時戳之該所記錄取樣值及與所程式化之該特定頁群組之至少一些頁之一讀取相關聯之該電壓漂移參考時戳之一取樣值而判定該讀取之一電壓臨限。
  2. 如請求項1之方法,其進一步包括:繼該電壓漂移參考時戳之該所記錄取樣值與截至該讀取之一時間之該電壓漂移參考時戳之該取樣值相差小於一指定差值之後,使用一預設電壓臨限作為該讀取之該電壓臨限。
  3. 如請求項1之方法,其進一步包括:週期性地取樣該非揮發性記憶體之一參考位置以判定該參考位置之一當前電壓臨限;及其中該週期性取樣至少部分判定該電壓漂移參考時戳之該等取樣值。
  4. 如請求項3之方法,其中該電壓漂移參考時戳之至少一些該等取樣值分別包括一各自世代數及一各自臨限部分,其中該世代數係根據一主世代數,且該臨限部分係根據截至該相關聯週期性取樣之該參考位置之該當前電壓臨限。
  5. 如請求項4之方法,其進一步包括:繼該參考位置之該當前電壓臨限超過一界限之後,更新該參考位置且累加該主世代數。
  6. 一種設備,其包括:用於記錄與程式化一非揮發性記憶體之複數個頁群組之一特定者相關聯之一電壓漂移參考時戳之一取樣值之構件;及 用於至少部分基於該電壓漂移參考時戳之該記錄取樣值及與經程式化之該特定頁群組之至少一些頁之一讀取相關聯之該電壓漂移參考時戳之一取樣值而判定該讀取之一電壓臨限之構件。
  7. 如請求項6之設備,其進一步包括:用於繼該電壓漂移參考時戳之該記錄取樣值與截至該讀取時間之該電壓漂移參考時戳之該取樣值相差小於一指定差值之後使用一預設電壓臨限作為該讀取之該電壓臨限之構件。
  8. 如請求項6之設備,其進一步包括:用於週期性地取樣該非揮發性記憶體之一參考位置以判定該參考位置之一當前電壓臨限之構件;及其中該週期性取樣至少部分判定該電壓漂移參考時戳之該等取樣值。
  9. 如請求項8之設備,其中該電壓漂移參考時戳之至少一些該等取樣值分別包括一各自世代數及一各自臨限部分,其中該世代數係根據一主世代數,且該臨限部分係根據截至該相關聯週期性取樣之該參考位置之該當前電壓臨限。
  10. 如請求項9之設備,其進一步包括:用於繼該參考位置之該當前電壓臨限超過一界限之後更新該參考位置且累加該主世代數之構件。
  11. 一種其中儲存有一指令集之非暫時性有形電腦可讀媒體,該等指令在藉由一處理元件執行時引起該處理元件執行包括以下各者之操作:記錄與程式化一非揮發性記憶體之複數個頁群組之一特定者相關聯之一電壓漂移參考時戳之一取樣值;及至少部分基於該電壓漂移參考時戳之該記錄取樣值及與經程 式化之該特定頁群組之至少一些頁之一讀取相關聯之該電壓漂移參考時戳之一取樣值而判定該讀取之一電壓臨限。
  12. 如請求項11之電腦可讀媒體,該等操作進一步包括:繼該電壓漂移參考時戳之該記錄取樣值與截至該讀取時間之該電壓漂移參考時戳之該取樣值相差小於一指定差值之後,使用一預設電壓臨限作為該讀取之該電壓臨限。
  13. 如請求項11之電腦可讀媒體,該等操作進一步包括:週期性地取樣該非揮發性記憶體之一參考位置以判定該參考位置之一當前電壓臨限;及其中該週期性取樣至少部分判定該電壓漂移參考時戳之該等取樣值。
  14. 如請求項13之電腦可讀媒體,其中該電壓漂移參考時戳之至少一些該等取樣值分別包括一各自世代數及一各自臨限部分,其中該世代數係根據一主世代數,且該臨限部分係根據截至該相關聯週期性取樣之該參考位置之該當前電壓臨限。
  15. 如請求項14之電腦可讀媒體,該等操作進一步包括:繼該參考位置之該當前電壓臨限超過一界限之後,更新該參考位置且累加該主世代數。
TW103104317A 2013-02-10 2014-02-10 以保持漂移歷史為基礎之非揮發性記憶體讀取臨限最佳化 TWI591644B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201361762955P 2013-02-10 2013-02-10

Publications (2)

Publication Number Publication Date
TW201443904A true TW201443904A (zh) 2014-11-16
TWI591644B TWI591644B (zh) 2017-07-11

Family

ID=50064496

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103104317A TWI591644B (zh) 2013-02-10 2014-02-10 以保持漂移歷史為基礎之非揮發性記憶體讀取臨限最佳化

Country Status (6)

Country Link
US (3) US9645177B2 (zh)
EP (1) EP2765578A1 (zh)
JP (1) JP6336767B2 (zh)
KR (1) KR102201697B1 (zh)
CN (3) CN111445942B (zh)
TW (1) TWI591644B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI644209B (zh) * 2016-11-08 2018-12-11 美商美光科技公司 記憶體管理
US10430085B2 (en) 2016-11-08 2019-10-01 Micron Technology, Inc. Memory operations on data
TWI782659B (zh) * 2021-02-04 2022-11-01 慧榮科技股份有限公司 記憶體控制器以及伺服器
TWI824430B (zh) * 2021-04-02 2023-12-01 美商美光科技公司 基於讀取記憶體單元期間所獲得之單元統計數據識別記憶體單元之程式化模式

Families Citing this family (280)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732426B2 (en) 2010-09-15 2014-05-20 Pure Storage, Inc. Scheduling of reactive I/O operations in a storage environment
US11275509B1 (en) 2010-09-15 2022-03-15 Pure Storage, Inc. Intelligently sizing high latency I/O requests in a storage environment
US8589625B2 (en) 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of reconstructive I/O read operations in a storage environment
US12008266B2 (en) 2010-09-15 2024-06-11 Pure Storage, Inc. Efficient read by reconstruction
US8589655B2 (en) 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of I/O in an SSD environment
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US8468318B2 (en) 2010-09-15 2013-06-18 Pure Storage Inc. Scheduling of I/O writes in a storage environment
US9244769B2 (en) 2010-09-28 2016-01-26 Pure Storage, Inc. Offset protection data in a RAID array
US8775868B2 (en) 2010-09-28 2014-07-08 Pure Storage, Inc. Adaptive RAID for an SSD environment
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US11636031B2 (en) 2011-08-11 2023-04-25 Pure Storage, Inc. Optimized inline deduplication
US8719540B1 (en) 2012-03-15 2014-05-06 Pure Storage, Inc. Fractal layout of data blocks across multiple devices
US11032259B1 (en) 2012-09-26 2021-06-08 Pure Storage, Inc. Data protection in a storage system
US8745415B2 (en) 2012-09-26 2014-06-03 Pure Storage, Inc. Multi-drive cooperation to generate an encryption key
US10623386B1 (en) 2012-09-26 2020-04-14 Pure Storage, Inc. Secret sharing data protection in a storage system
US11733908B2 (en) 2013-01-10 2023-08-22 Pure Storage, Inc. Delaying deletion of a dataset
US9589008B2 (en) 2013-01-10 2017-03-07 Pure Storage, Inc. Deduplication of volume regions
US10908835B1 (en) 2013-01-10 2021-02-02 Pure Storage, Inc. Reversing deletion of a virtual machine
US11768623B2 (en) 2013-01-10 2023-09-26 Pure Storage, Inc. Optimizing generalized transfers between storage systems
US9165668B1 (en) 2013-07-29 2015-10-20 Western Digital Technologies, Inc. Data retention monitoring using temperature history in solid state drives
KR102120823B1 (ko) * 2013-08-14 2020-06-09 삼성전자주식회사 비휘발성 메모리 장치의 독출 시퀀스 제어 방법 및 이를 수행하는 메모리 시스템
US10263770B2 (en) 2013-11-06 2019-04-16 Pure Storage, Inc. Data protection in a storage system using external secrets
US11128448B1 (en) 2013-11-06 2021-09-21 Pure Storage, Inc. Quorum-aware secret sharing
US10365858B2 (en) 2013-11-06 2019-07-30 Pure Storage, Inc. Thin provisioning in a storage device
US10276247B2 (en) 2013-12-20 2019-04-30 Seagate Technology Llc Read retry operations with estimation of written data based on syndrome weights
US9818488B2 (en) * 2015-10-30 2017-11-14 Seagate Technology Llc Read threshold voltage adaptation using bit error rates based on decoded data
US9208086B1 (en) 2014-01-09 2015-12-08 Pure Storage, Inc. Using frequency domain to prioritize storage of metadata in a cache
CN104916330B (zh) * 2014-03-10 2019-04-12 东芝存储器株式会社 存储装置、存储器控制器及存储器控制方法
US10656864B2 (en) 2014-03-20 2020-05-19 Pure Storage, Inc. Data replication within a flash storage array
TWI492234B (zh) 2014-04-21 2015-07-11 Silicon Motion Inc 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與記憶體系統
KR102198855B1 (ko) * 2014-04-24 2021-01-05 삼성전자 주식회사 메모리 시스템 및 상기 메모리 시스템의 동작 방법
KR102210964B1 (ko) * 2014-05-13 2021-02-03 삼성전자주식회사 스토리지 장치, 스토리지 장치의 동작 방법, 그리고 스토리지 장치를 액세스하는 액세스 방법
KR102211865B1 (ko) * 2014-05-20 2021-02-04 삼성전자주식회사 불휘발성 메모리 시스템 및 메모리 컨트롤러의 동작 방법
US9779268B1 (en) 2014-06-03 2017-10-03 Pure Storage, Inc. Utilizing a non-repeating identifier to encrypt data
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US9218407B1 (en) 2014-06-25 2015-12-22 Pure Storage, Inc. Replication and intermediate read-write state for mediums
US10496556B1 (en) 2014-06-25 2019-12-03 Pure Storage, Inc. Dynamic data protection within a flash storage system
US10296469B1 (en) 2014-07-24 2019-05-21 Pure Storage, Inc. Access control in a flash storage system
US9558069B2 (en) 2014-08-07 2017-01-31 Pure Storage, Inc. Failure mapping in a storage array
US9495255B2 (en) * 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US9864761B1 (en) * 2014-08-08 2018-01-09 Pure Storage, Inc. Read optimization operations in a storage system
US10430079B2 (en) 2014-09-08 2019-10-01 Pure Storage, Inc. Adjusting storage capacity in a computing system
US10164841B2 (en) 2014-10-02 2018-12-25 Pure Storage, Inc. Cloud assist for storage systems
US9489132B2 (en) 2014-10-07 2016-11-08 Pure Storage, Inc. Utilizing unmapped and unknown states in a replicated storage system
US10430282B2 (en) 2014-10-07 2019-10-01 Pure Storage, Inc. Optimizing replication by distinguishing user and system write activity
KR102287760B1 (ko) 2014-10-29 2021-08-09 삼성전자주식회사 메모리 시스템 및 상기 메모리 시스템의 동작 방법
KR102252378B1 (ko) 2014-10-29 2021-05-14 삼성전자주식회사 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
KR102263046B1 (ko) * 2014-10-29 2021-06-09 삼성전자주식회사 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
US9727485B1 (en) 2014-11-24 2017-08-08 Pure Storage, Inc. Metadata rewrite and flatten optimization
US9773007B1 (en) 2014-12-01 2017-09-26 Pure Storage, Inc. Performance improvements in a storage system
US9588842B1 (en) 2014-12-11 2017-03-07 Pure Storage, Inc. Drive rebuild
US9552248B2 (en) 2014-12-11 2017-01-24 Pure Storage, Inc. Cloud alert to replica
US9864769B2 (en) 2014-12-12 2018-01-09 Pure Storage, Inc. Storing data utilizing repeating pattern detection
KR102282947B1 (ko) 2014-12-15 2021-07-30 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US10545987B2 (en) 2014-12-19 2020-01-28 Pure Storage, Inc. Replication to the cloud
US11947968B2 (en) 2015-01-21 2024-04-02 Pure Storage, Inc. Efficient use of zone in a storage device
US10296354B1 (en) 2015-01-21 2019-05-21 Pure Storage, Inc. Optimized boot operations within a flash storage array
US9710165B1 (en) 2015-02-18 2017-07-18 Pure Storage, Inc. Identifying volume candidates for space reclamation
CN105989352B (zh) * 2015-03-06 2019-08-20 华为技术有限公司 图像识别加速器、终端设备及图像识别方法
US10082985B2 (en) 2015-03-27 2018-09-25 Pure Storage, Inc. Data striping across storage nodes that are assigned to multiple logical arrays
US9773563B2 (en) * 2015-03-27 2017-09-26 Toshiba Memory Corporation Memory controller, memory control method, and coefficient decision method
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
CN106155812A (zh) 2015-04-28 2016-11-23 阿里巴巴集团控股有限公司 一种对虚拟主机的资源管理的方法、装置、***及电子设备
US10140149B1 (en) 2015-05-19 2018-11-27 Pure Storage, Inc. Transactional commits with hardware assists in remote memory
US9547441B1 (en) 2015-06-23 2017-01-17 Pure Storage, Inc. Exposing a geometry of a storage device
US10310740B2 (en) 2015-06-23 2019-06-04 Pure Storage, Inc. Aligning memory access operations to a geometry of a storage device
US9589394B2 (en) * 2015-07-16 2017-03-07 GM Global Technology Operations LLC Determining the source of a ground offset in a controller area network
KR102321478B1 (ko) * 2015-07-30 2021-11-04 삼성전자주식회사 리텐션에 의한 데이터 손실을 방지하는 데이터 처리 시스템의 작동 방법
US9484098B1 (en) * 2015-08-05 2016-11-01 Sandisk Technologies Llc Smart reread in nonvolatile memory
KR102309841B1 (ko) 2015-08-24 2021-10-12 삼성전자주식회사 표면 실장 기술의 적용에 따른 메모리 셀의 문턱 전압 산포 변화 복구 기능을 갖는 데이터 스토리지 및 그것의 동작 방법
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US11269884B2 (en) 2015-09-04 2022-03-08 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
KR102347182B1 (ko) * 2015-09-04 2022-01-04 삼성전자주식회사 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
KR20170028825A (ko) 2015-09-04 2017-03-14 퓨어 스토리지, 아이앤씨. 압축된 인덱스들을 사용한 해시 테이블들에서의 메모리 효율적인 스토리지 및 탐색
US11120884B2 (en) 2015-09-30 2021-09-14 Sunrise Memory Corporation Implementing logic function and generating analog signals using NOR memory strings
US9842651B2 (en) 2015-11-25 2017-12-12 Sunrise Memory Corporation Three-dimensional vertical NOR flash thin film transistor strings
US9892800B2 (en) 2015-09-30 2018-02-13 Sunrise Memory Corporation Multi-gate NOR flash thin-film transistor strings arranged in stacked horizontal active strips with vertical control gates
US10121553B2 (en) 2015-09-30 2018-11-06 Sunrise Memory Corporation Capacitive-coupled non-volatile thin-film transistor NOR strings in three-dimensional arrays
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US10347343B2 (en) * 2015-10-30 2019-07-09 Seagate Technology Llc Adaptive read threshold voltage tracking with separate characterization on each side of voltage distribution about distribution mean
KR102359979B1 (ko) 2015-11-16 2022-02-08 삼성전자주식회사 솔리드 스테이트 드라이브 장치 및 이를 포함하는 저장 시스템
CN106816179B (zh) 2015-11-30 2020-12-25 华为技术有限公司 一种闪存纠错方法和装置
WO2017127104A1 (en) * 2016-01-22 2017-07-27 Hewlett Packard Enterprise Development Lp Inject delay to simulate latency
JP6545631B2 (ja) 2016-03-02 2019-07-17 東芝メモリ株式会社 不揮発性半導体記憶装置
US10204043B2 (en) 2016-03-08 2019-02-12 Toshiba Memory Corporation Memory controller, method of controlling nonvolatile memory and memory system
US9721657B1 (en) 2016-04-02 2017-08-01 Intel Corporation Managing threshold voltage shift in nonvolatile memory
US10452297B1 (en) 2016-05-02 2019-10-22 Pure Storage, Inc. Generating and optimizing summary index levels in a deduplication storage system
US10133503B1 (en) 2016-05-02 2018-11-20 Pure Storage, Inc. Selecting a deduplication process based on a difference between performance metrics
CN107452421B (zh) * 2016-05-31 2020-06-16 建兴储存科技(广州)有限公司 固态储存装置及其状态预测方法
KR102589259B1 (ko) 2016-06-20 2023-10-12 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10290358B2 (en) 2016-07-08 2019-05-14 Seagate Technology Llc Independent read threshold voltage tracking for multiple dependent read threshold voltages using syndrome weights
US10180868B2 (en) 2016-07-08 2019-01-15 Seagate Technology Llc Adaptive read threshold voltage tracking with bit error rate estimation based on non-linear syndrome weight mapping
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US10283215B2 (en) * 2016-07-28 2019-05-07 Ip Gem Group, Llc Nonvolatile memory system with background reference positioning and local reference positioning
CN106293539A (zh) * 2016-08-18 2017-01-04 华为技术有限公司 一种闪存设备的访问方法、装置和***
JP6659494B2 (ja) 2016-08-19 2020-03-04 キオクシア株式会社 半導体記憶装置及びメモリシステム
JP2018037123A (ja) * 2016-08-29 2018-03-08 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
KR20180027710A (ko) 2016-09-06 2018-03-15 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치의 액세스 방법
US9691492B1 (en) * 2016-09-29 2017-06-27 Intel Corporation Determination of demarcation voltage for managing drift in non-volatile memory devices
US10162523B2 (en) 2016-10-04 2018-12-25 Pure Storage, Inc. Migrating data between volumes using virtual copy operation
US10545861B2 (en) 2016-10-04 2020-01-28 Pure Storage, Inc. Distributed integrated high-speed solid-state non-volatile random-access memory
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US10191662B2 (en) 2016-10-04 2019-01-29 Pure Storage, Inc. Dynamic allocation of segments in a flash storage system
US10481798B2 (en) 2016-10-28 2019-11-19 Pure Storage, Inc. Efficient flash management for multiple controllers
US10185505B1 (en) 2016-10-28 2019-01-22 Pure Storage, Inc. Reading a portion of data to replicate a volume based on sequence numbers
US10359942B2 (en) 2016-10-31 2019-07-23 Pure Storage, Inc. Deduplication aware scalable content placement
KR20180070974A (ko) 2016-12-19 2018-06-27 삼성전자주식회사 비휘발성 메모리의 리드 동작 방법, 비휘발성 메모리를 포함하는 메모리 시스템 및 이의 동작 방법
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
US10452290B2 (en) 2016-12-19 2019-10-22 Pure Storage, Inc. Block consolidation in a direct-mapped flash storage system
US10338983B2 (en) 2016-12-30 2019-07-02 EMC IP Holding Company LLC Method and system for online program/erase count estimation
US11069418B1 (en) 2016-12-30 2021-07-20 EMC IP Holding Company LLC Method and system for offline program/erase count estimation
US10289550B1 (en) 2016-12-30 2019-05-14 EMC IP Holding Company LLC Method and system for dynamic write-back cache sizing in solid state memory storage
KR20180082927A (ko) 2017-01-11 2018-07-19 에스케이하이닉스 주식회사 메모리장치의 에러정정장치 및 에러정정방법과, 에러정정장치를 포함하는 메모리 컨트롤러
US11093146B2 (en) 2017-01-12 2021-08-17 Pure Storage, Inc. Automatic load rebalancing of a write group
CN108461107B (zh) * 2017-02-21 2021-09-28 北京忆恒创源科技股份有限公司 读阈值跟踪方法与装置
JP6785168B2 (ja) 2017-02-28 2020-11-18 キオクシア株式会社 メモリシステム
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US10381090B2 (en) 2017-03-31 2019-08-13 Samsung Electronics Co., Ltd. Operation method of nonvolatile memory device and storage device
US10229749B2 (en) 2017-03-31 2019-03-12 Samsung Electronics Co., Ltd. Nonvolatile memory storage system
US20180300083A1 (en) * 2017-04-12 2018-10-18 Hewlett Packard Enterprise Development Lp Write-ahead logging through a plurality of logging buffers using nvm
US10469103B1 (en) 2017-04-19 2019-11-05 Seagate Technology Llc Adaptive read retry optimization
US11403019B2 (en) 2017-04-21 2022-08-02 Pure Storage, Inc. Deduplication-aware per-tenant encryption
US10503586B2 (en) * 2017-04-26 2019-12-10 Sandisk Technologies Llc Dynamic read based on read statistics
US10944671B2 (en) 2017-04-27 2021-03-09 Pure Storage, Inc. Efficient data forwarding in a networked device
US10290331B1 (en) * 2017-04-28 2019-05-14 EMC IP Holding Company LLC Method and system for modulating read operations to support error correction in solid state memory
US10403366B1 (en) 2017-04-28 2019-09-03 EMC IP Holding Company LLC Method and system for adapting solid state memory write parameters to satisfy performance goals based on degree of read errors
KR20200015743A (ko) 2017-06-20 2020-02-12 선라이즈 메모리 코포레이션 3차원 nor 메모리 어레이 아키텍처 및 그의 제조 방법
US10692874B2 (en) 2017-06-20 2020-06-23 Sunrise Memory Corporation 3-dimensional NOR string arrays in segmented stacks
US10608008B2 (en) 2017-06-20 2020-03-31 Sunrise Memory Corporation 3-dimensional nor strings with segmented shared source regions
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US10976936B2 (en) 2017-08-23 2021-04-13 Micron Technology, Inc. Sensing operations in memory
US10403372B2 (en) * 2017-08-29 2019-09-03 SK Hynix Inc. Memory system with adaptive read-threshold scheme and method of operating such memory system
US10347344B2 (en) * 2017-08-29 2019-07-09 Micron Technology, Inc. Read voltage calibration based on host IO operations
US10831935B2 (en) 2017-08-31 2020-11-10 Pure Storage, Inc. Encryption management with host-side data reduction
US10446197B2 (en) 2017-08-31 2019-10-15 Micron Technology, Inc. Optimized scan interval
US10714195B2 (en) 2017-08-31 2020-07-14 SK Hynix Inc. Read disturb detection and recovery with adaptive thresholding for 3-D NAND storage
US10062441B1 (en) * 2017-08-31 2018-08-28 Micron Technology, Inc. Determining data states of memory cells
US10269422B2 (en) * 2017-09-08 2019-04-23 Cnex Labs, Inc. Storage system with data reliability mechanism and method of operation thereof
TWI628660B (zh) * 2017-09-19 2018-07-01 群聯電子股份有限公司 解碼方法、記憶體控制電路單元以及記憶體儲存裝置
US10776202B1 (en) 2017-09-22 2020-09-15 Pure Storage, Inc. Drive, blade, or data shard decommission via RAID geometry shrinkage
US10789211B1 (en) 2017-10-04 2020-09-29 Pure Storage, Inc. Feature-based deduplication
KR102349382B1 (ko) * 2017-10-11 2022-01-12 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US10884919B2 (en) 2017-10-31 2021-01-05 Pure Storage, Inc. Memory management in a storage system
US10755793B2 (en) 2017-10-31 2020-08-25 Micron Technology, Inc. SLC page read
US10558518B2 (en) 2017-11-13 2020-02-11 International Business Machines Corporation Dynamic adjustments within memory systems
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
CN109840047A (zh) 2017-11-27 2019-06-04 华为技术有限公司 一种降低读延时的方法及装置
KR102113212B1 (ko) * 2017-11-28 2020-05-20 성균관대학교산학협력단 플래시 메모리 시스템 및 그 제어 방법
US11010233B1 (en) 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
US11144638B1 (en) 2018-01-18 2021-10-12 Pure Storage, Inc. Method for storage system detection and alerting on potential malicious action
US10970395B1 (en) 2018-01-18 2021-04-06 Pure Storage, Inc Security threat monitoring for a storage system
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US10475812B2 (en) 2018-02-02 2019-11-12 Sunrise Memory Corporation Three-dimensional vertical NOR flash thin-film transistor strings
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11494109B1 (en) 2018-02-22 2022-11-08 Pure Storage, Inc. Erase block trimming for heterogenous flash memory storage devices
KR102440379B1 (ko) * 2018-02-26 2022-09-06 에스케이하이닉스 주식회사 전자 장치, 비 일시적 컴퓨터 판독 가능 저장 매체, 및 전자 장치를 제어하는 방법
KR102402668B1 (ko) * 2018-02-26 2022-05-26 삼성전자주식회사 비휘발성 메모리 장치, 그것의 동작 방법 및 그것을 포함하는 저장 장치
US11264094B2 (en) * 2018-03-05 2022-03-01 Intel Corporation Memory cell including multi-level sensing
US10446246B2 (en) * 2018-03-14 2019-10-15 Silicon Storage Technology, Inc. Method and apparatus for data refresh for analog non-volatile memory in deep learning neural network
JP2019164865A (ja) 2018-03-20 2019-09-26 東芝メモリ株式会社 メモリシステム
KR102684106B1 (ko) * 2018-03-21 2024-07-12 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
TWI661427B (zh) * 2018-04-02 2019-06-01 大陸商深圳大心電子科技有限公司 記憶體管理方法以及儲存控制器
US11934322B1 (en) 2018-04-05 2024-03-19 Pure Storage, Inc. Multiple encryption keys on storage drives
KR20190122422A (ko) * 2018-04-20 2019-10-30 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
US11995336B2 (en) 2018-04-25 2024-05-28 Pure Storage, Inc. Bucket views
US10678433B1 (en) 2018-04-27 2020-06-09 Pure Storage, Inc. Resource-preserving system upgrade
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US10678436B1 (en) 2018-05-29 2020-06-09 Pure Storage, Inc. Using a PID controller to opportunistically compress more data during garbage collection
US11436023B2 (en) 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
CN108845765B (zh) * 2018-05-31 2021-06-29 郑州云海信息技术有限公司 一种nand数据读取方法、***、设备及存储介质
US10776046B1 (en) 2018-06-08 2020-09-15 Pure Storage, Inc. Optimized non-uniform memory access
US11281577B1 (en) 2018-06-19 2022-03-22 Pure Storage, Inc. Garbage collection tuning for low drive wear
US11869586B2 (en) 2018-07-11 2024-01-09 Pure Storage, Inc. Increased data protection by recovering data from partially-failed solid-state devices
TWI695386B (zh) * 2018-07-17 2020-06-01 旺宏電子股份有限公司 半導體電路及其操作方法
CN110751974A (zh) * 2018-07-23 2020-02-04 爱思开海力士有限公司 存储器***和用于优化读取阈值的方法
CN110851072B (zh) * 2018-08-21 2023-06-02 建兴储存科技(广州)有限公司 使用状态预测方法的固态储存装置
US11194759B2 (en) 2018-09-06 2021-12-07 Pure Storage, Inc. Optimizing local data relocation operations of a storage device of a storage system
US11133076B2 (en) 2018-09-06 2021-09-28 Pure Storage, Inc. Efficient relocation of data between storage devices of a storage system
US10846216B2 (en) 2018-10-25 2020-11-24 Pure Storage, Inc. Scalable garbage collection
US11113409B2 (en) 2018-10-26 2021-09-07 Pure Storage, Inc. Efficient rekey in a transparent decrypting storage array
US10866763B2 (en) * 2018-10-30 2020-12-15 Western Digital Technologies, Inc. Dynamic read based on read statistics
KR102599123B1 (ko) 2018-11-14 2023-11-06 삼성전자주식회사 인공 신경망 모델에 기초하여 읽기 레벨들을 추론하는 스토리지 장치 및 인공 신경망 모델의 학습 방법
CN109542356B (zh) * 2018-11-30 2021-12-31 中国人民解放军国防科技大学 面向容错的nvm持久化过程冗余信息的压缩方法和装置
CN109558263B (zh) * 2018-12-03 2021-10-29 郑州云海信息技术有限公司 一种固态硬盘数据读取错误的处理方法及相关装置
WO2020118301A1 (en) 2018-12-07 2020-06-11 Sunrise Memory Corporation Methods for forming multi-layer vertical nor-type memory string arrays
US10698636B1 (en) * 2018-12-10 2020-06-30 Micron Technology, Inc. Trigger margin based dynamic program step characteristic adjustment
US11367488B2 (en) 2018-12-11 2022-06-21 SK Hynix Inc. Memory system and method for read operation based on grouping of word lines
US11158369B2 (en) * 2018-12-26 2021-10-26 Western Digital Technologies, Inc. On-chip non-volatile memory (NVM) search
CN109710951B (zh) * 2018-12-27 2023-10-17 北京百度网讯科技有限公司 基于翻译历史的辅助翻译方法、装置、设备及存储介质
US11194473B1 (en) 2019-01-23 2021-12-07 Pure Storage, Inc. Programming frequently read data to low latency portions of a solid-state storage array
CN111489776B (zh) * 2019-01-28 2022-04-22 深圳大心电子科技有限公司 数据读取方法、存储控制器与存储装置
CN109887537B (zh) * 2019-01-29 2021-04-06 华中科技大学 一种阈值电压漂移感知的ldpc码译码方法
JP2022519537A (ja) 2019-02-11 2022-03-24 サンライズ メモリー コーポレイション 垂直型薄膜トランジスタ、及び、垂直型薄膜トランジスタの、3次元メモリアレイのためのビット線コネクタとしての応用メモリ回路方法
US11150844B2 (en) 2019-02-21 2021-10-19 Micron Technology, Inc. Reflow endurance improvements in triple-level cell NAND flash
US11588633B1 (en) 2019-03-15 2023-02-21 Pure Storage, Inc. Decommissioning keys in a decryption storage system
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11775189B2 (en) 2019-04-03 2023-10-03 Pure Storage, Inc. Segment level heterogeneity
US11397674B1 (en) 2019-04-03 2022-07-26 Pure Storage, Inc. Optimizing garbage collection across heterogeneous flash devices
US10990480B1 (en) 2019-04-05 2021-04-27 Pure Storage, Inc. Performance of RAID rebuild operations by a storage group controller of a storage system
TWI690929B (zh) * 2019-04-11 2020-04-11 點序科技股份有限公司 記憶體裝置及其讀取參考電壓的調整方法
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
EP3891614B1 (en) * 2019-04-30 2023-06-21 Yangtze Memory Technologies Co., Ltd. Electronic apparatus and method of managing read levels of flash memory
TWI685846B (zh) * 2019-05-30 2020-02-21 華邦電子股份有限公司 非揮發性記憶裝置及其抹除操作方法
CN110108234B (zh) * 2019-06-03 2024-06-07 呜啦啦(广州)科技有限公司 电流式双向弯曲传感器驱动装置及自动归零初始化方法
US11487665B2 (en) 2019-06-05 2022-11-01 Pure Storage, Inc. Tiered caching of data in a storage system
KR20200143107A (ko) 2019-06-14 2020-12-23 삼성전자주식회사 스토리지 장치의 구동 방법 및 이를 수행하는 스토리지 장치
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US10929046B2 (en) 2019-07-09 2021-02-23 Pure Storage, Inc. Identifying and relocating hot data to a cache determined with read velocity based on a threshold stored at a storage device
US10990475B2 (en) * 2019-07-10 2021-04-27 Micron Technology, Inc. Read level edge find operations in a memory sub-system
US11422751B2 (en) 2019-07-18 2022-08-23 Pure Storage, Inc. Creating a virtual storage system
US11086713B1 (en) 2019-07-23 2021-08-10 Pure Storage, Inc. Optimized end-to-end integrity storage system
US11010095B2 (en) * 2019-07-25 2021-05-18 Western Digital Technologies, Inc. Dynamic and adaptive data read request scheduling
CN110797068A (zh) * 2019-08-06 2020-02-14 广州妙存科技有限公司 一种快速寻找nand闪存最佳重读电压的方法
US11321619B2 (en) 2019-08-14 2022-05-03 International Business Machines Corporation State dependent calibration of qubit measurements
KR20210024912A (ko) * 2019-08-26 2021-03-08 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US10908845B1 (en) * 2019-08-27 2021-02-02 Micron Technology, Inc. Managing threshold voltage drift based on a temperature-dependent slope of the threshold voltage drift of a memory sub-system
US11963321B2 (en) 2019-09-11 2024-04-16 Pure Storage, Inc. Low profile latching mechanism
CN110808079A (zh) * 2019-10-10 2020-02-18 鸿秦(北京)科技有限公司 一种新式延缓磨损延长固态硬盘使用寿命的方法
US11403043B2 (en) 2019-10-15 2022-08-02 Pure Storage, Inc. Efficient data compression by grouping similar data within a data segment
US10957407B1 (en) * 2019-10-30 2021-03-23 International Business Machines Corporation Calculating corrective read voltage offsets in non-volatile random access memory
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring
US11645162B2 (en) 2019-11-22 2023-05-09 Pure Storage, Inc. Recovery point determination for data restoration in a storage system
US11755751B2 (en) 2019-11-22 2023-09-12 Pure Storage, Inc. Modify access restrictions in response to a possible attack against data stored by a storage system
US11720714B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Inter-I/O relationship based detection of a security threat to a storage system
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets for a storage system
US11657155B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system
US11520907B1 (en) 2019-11-22 2022-12-06 Pure Storage, Inc. Storage system snapshot retention based on encrypted data
US11500788B2 (en) 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
US11341236B2 (en) 2019-11-22 2022-05-24 Pure Storage, Inc. Traffic-based detection of a security threat to a storage system
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US11941116B2 (en) 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
US11625481B2 (en) 2019-11-22 2023-04-11 Pure Storage, Inc. Selective throttling of operations potentially related to a security threat to a storage system
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for a storage system
WO2021127218A1 (en) 2019-12-19 2021-06-24 Sunrise Memory Corporation Process for preparing a channel region of a thin-film transistor
JP2021111427A (ja) * 2020-01-15 2021-08-02 キオクシア株式会社 記憶装置及びその制御方法
US11243711B2 (en) 2020-02-05 2022-02-08 Micron Technology, Inc. Controlling firmware storage density based on temperature detection
US11144452B2 (en) * 2020-02-05 2021-10-12 Micron Technology, Inc. Temperature-based data storage processing
US11675500B2 (en) 2020-02-07 2023-06-13 Sunrise Memory Corporation High capacity memory circuit with low effective latency
US11507301B2 (en) 2020-02-24 2022-11-22 Sunrise Memory Corporation Memory module implementing memory centric architecture
US11508693B2 (en) 2020-02-24 2022-11-22 Sunrise Memory Corporation High capacity memory module including wafer-section memory circuit
US11217319B2 (en) 2020-02-28 2022-01-04 SK Hynix Inc. Read threshold optimization systems and methods by multi-dimensional search
US11170853B2 (en) * 2020-03-04 2021-11-09 Micron Technology, Inc. Modified write voltage for memory devices
US11705496B2 (en) 2020-04-08 2023-07-18 Sunrise Memory Corporation Charge-trapping layer with optimized number of charge-trapping sites for fast program and erase of a memory cell in a 3-dimensional NOR memory string array
CN115485776A (zh) 2020-05-13 2022-12-16 美光科技公司 用于存取存储器单元的基于计数器的方法和***
CN111814110B (zh) * 2020-05-22 2024-05-10 广东建科创新技术研究院有限公司 一种桥梁健康监测数据控制图分析方法
JP6887044B1 (ja) * 2020-05-22 2021-06-16 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および読出し方法
JP6895002B1 (ja) * 2020-05-27 2021-06-30 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および読出し方法
US11314427B2 (en) 2020-08-21 2022-04-26 Micron Technology, Inc. Memory device with enhanced data reliability capabilities
US11430528B2 (en) * 2020-08-25 2022-08-30 Micron Technology, Inc. Determining a read voltage based on a change in a read window
US11508446B2 (en) * 2020-09-23 2022-11-22 Silicon Motion, Inc. Method for accessing flash memory module and associated flash memory controller and electronic device
US11709621B2 (en) * 2020-10-09 2023-07-25 Western Digital Technologies Inc. Read threshold management and calibration
US11842777B2 (en) 2020-11-17 2023-12-12 Sunrise Memory Corporation Methods for reducing disturb errors by refreshing data alongside programming or erase operations
US11848056B2 (en) 2020-12-08 2023-12-19 Sunrise Memory Corporation Quasi-volatile memory with enhanced sense amplifier operation
WO2022134712A1 (zh) * 2020-12-23 2022-06-30 深圳大普微电子科技有限公司 一种阈值电压的管理方法、读取闪存数据的方法
CN112614529B (zh) * 2021-01-04 2021-09-24 长江存储科技有限责任公司 三维存储器及其控制方法
KR20220103228A (ko) 2021-01-14 2022-07-22 삼성전자주식회사 메모리 컨트롤러, 메모리 장치, 및 저장 장치
US11626168B2 (en) * 2021-03-10 2023-04-11 Samsung Electronics Co.. Ltd. De-noising using multiple threshold-expert machine learning models
KR20220129377A (ko) * 2021-03-16 2022-09-23 에스케이하이닉스 주식회사 반도체 메모리 장치를 제어하는 컨트롤러 및 그 동작 방법
KR20220133372A (ko) * 2021-03-24 2022-10-05 삼성전자주식회사 직접 메모리 액세스의 카운트 값을 사용하는 스토리지 컨트롤러의 동작 방법, 스토리지 컨트롤러를 포함하는 스토리지 장치, 및 스토리지 장치의 동작 방법
US11664073B2 (en) 2021-04-02 2023-05-30 Micron Technology, Inc. Adaptively programming memory cells in different modes to optimize performance
US11615854B2 (en) 2021-04-02 2023-03-28 Micron Technology, Inc. Identify the programming mode of memory cells during reading of the memory cells
CN112988453A (zh) * 2021-04-08 2021-06-18 中国科学院微电子研究所 用于闪存的数据恢复方法
KR20220140052A (ko) * 2021-04-08 2022-10-18 삼성전자주식회사 히스토리 테이블을 사용하는 스토리지 컨트롤러의 동작 방법, 및 스토리지 컨트롤러를 포함하는 스토리지 장치
US11462292B1 (en) * 2021-04-12 2022-10-04 Samsung Electronics Co., Ltd. Error correction circuit of semiconductor memory device and semiconductor memory device including the same
US11462279B1 (en) 2021-05-13 2022-10-04 Western Digital Technologies, Inc. Modified distribution of memory device states
CN113325040B (zh) * 2021-05-28 2022-05-13 中国农业大学 一种感存算一体化微纳电子器件及其制备方法
US20230015697A1 (en) * 2021-07-13 2023-01-19 Citrix Systems, Inc. Application programming interface (api) authorization
TW202310429A (zh) 2021-07-16 2023-03-01 美商日升存儲公司 薄膜鐵電電晶體的三維記憶體串陣列
CN113672178B (zh) * 2021-10-25 2022-03-18 珠海妙存科技有限公司 nand flash重读定位方法
CN114441845B (zh) * 2021-12-17 2024-07-02 嬴彻星创智能科技(上海)有限公司 电压漂移监控方法及装置
CN114546267B (zh) * 2022-02-14 2022-11-18 深圳源创存储科技有限公司 一种基于大数据计算的固态硬盘及固态硬盘***
US20230342244A1 (en) * 2022-04-20 2023-10-26 Western Digital Technologies, Inc. Read Look Ahead Optimization According To NVMe Dataset Management Hints
WO2023221021A1 (en) * 2022-05-19 2023-11-23 Yangtze Advanced Memory Industrial Innovation Center Co., Ltd. Memory system, memory device, and method for read reference voltage management
US20240061606A1 (en) * 2022-08-16 2024-02-22 Yangtze Memory Technologies Co., Ltd. Read retry method for enhancing read performance and stability of 3d nand memory
JP7495635B2 (ja) 2022-10-12 2024-06-05 東芝情報システム株式会社 デバッグ装置及びデバッグ用プログラム
CN115565587B (zh) * 2022-10-14 2023-05-09 北京得瑞领新科技有限公司 快速搜索阈值电压的方法、装置、存储介质及ssd设备
US11983422B1 (en) * 2023-03-08 2024-05-14 Dell Products L.P. PSLC-scan-based storage device initialization system
CN117111717B (zh) * 2023-10-24 2024-07-05 荣耀终端有限公司 一种闪存控制方法、电子设备和存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5827946A (en) * 1997-04-30 1998-10-27 Hewlett-Packard Company Method for sample identification using a locked retention time database
US6538922B1 (en) * 2000-09-27 2003-03-25 Sandisk Corporation Writable tracking cells
US6691053B2 (en) * 2001-11-30 2004-02-10 Agilent Technologies, Inc. Method of matching retention times among multiple chromatographic system
US7257025B2 (en) * 2004-12-09 2007-08-14 Saifun Semiconductors Ltd Method for reading non-volatile memory cells
US7289348B2 (en) * 2005-11-10 2007-10-30 Sandisk Corporation Reverse coupling effect with timing information
KR101470621B1 (ko) * 2006-09-27 2014-12-05 샌디스크 테크놀로지스, 인코포레이티드 셀 모집단 분포 보조 판독 마지닝을 갖는 메모리
US7941590B2 (en) * 2006-11-06 2011-05-10 Marvell World Trade Ltd. Adaptive read and write systems and methods for memory cells
KR100891005B1 (ko) * 2007-06-28 2009-03-31 삼성전자주식회사 고온 스트레스로 인한 읽기 마진의 감소를 보상하기 위한플래시 메모리 장치 및 그것의 읽기 전압 조정 방법
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
US7787307B2 (en) * 2008-12-08 2010-08-31 Micron Technology, Inc. Memory cell shift estimation method and apparatus
US8159881B2 (en) 2009-06-03 2012-04-17 Marvell World Trade Ltd. Reference voltage optimization for flash memory
JP5349256B2 (ja) * 2009-11-06 2013-11-20 株式会社東芝 メモリシステム
US8819503B2 (en) * 2010-07-02 2014-08-26 Stec, Inc. Apparatus and method for determining an operating condition of a memory cell based on cycle information
US8467249B2 (en) 2010-07-06 2013-06-18 Densbits Technologies Ltd. Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8649212B2 (en) * 2010-09-24 2014-02-11 Intel Corporation Method, apparatus and system to determine access information for a phase change memory
US8467237B2 (en) * 2010-10-15 2013-06-18 Micron Technology, Inc. Read distribution management for phase change memory
US8248856B2 (en) * 2010-10-20 2012-08-21 Seagate Technology Llc Predictive read channel configuration
CN102592672A (zh) * 2011-01-06 2012-07-18 上海华虹集成电路有限责任公司 Flash EEPROM动态参考源电路结构
JP2012195036A (ja) * 2011-03-17 2012-10-11 Toshiba Corp 不揮発性半導体記憶装置
US8645773B2 (en) * 2011-06-30 2014-02-04 Seagate Technology Llc Estimating temporal degradation of non-volatile solid-state memory

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI644209B (zh) * 2016-11-08 2018-12-11 美商美光科技公司 記憶體管理
US10261876B2 (en) 2016-11-08 2019-04-16 Micron Technology, Inc. Memory management
US10430085B2 (en) 2016-11-08 2019-10-01 Micron Technology, Inc. Memory operations on data
US10956290B2 (en) 2016-11-08 2021-03-23 Micron Technology, Inc. Memory management
US11209986B2 (en) 2016-11-08 2021-12-28 Micron Technology, Inc. Memory operations on data
US11550678B2 (en) 2016-11-08 2023-01-10 Micron Technology, Inc. Memory management
US11886710B2 (en) 2016-11-08 2024-01-30 Micron Technology, Inc. Memory operations on data
TWI782659B (zh) * 2021-02-04 2022-11-01 慧榮科技股份有限公司 記憶體控制器以及伺服器
TWI824430B (zh) * 2021-04-02 2023-12-01 美商美光科技公司 基於讀取記憶體單元期間所獲得之單元統計數據識別記憶體單元之程式化模式

Also Published As

Publication number Publication date
TWI591644B (zh) 2017-07-11
US20170206979A1 (en) 2017-07-20
US10734087B2 (en) 2020-08-04
JP6336767B2 (ja) 2018-06-06
US20200013471A1 (en) 2020-01-09
CN111445942B (zh) 2024-03-08
KR102201697B1 (ko) 2021-01-11
CN111445942A (zh) 2020-07-24
JP2014154169A (ja) 2014-08-25
CN111445941A (zh) 2020-07-24
KR20140101690A (ko) 2014-08-20
US10460818B2 (en) 2019-10-29
EP2765578A1 (en) 2014-08-13
CN103985415A (zh) 2014-08-13
US9645177B2 (en) 2017-05-09
CN103985415B (zh) 2020-04-14
US20140229131A1 (en) 2014-08-14

Similar Documents

Publication Publication Date Title
TWI591644B (zh) 以保持漂移歷史為基礎之非揮發性記憶體讀取臨限最佳化
TWI612524B (zh) 控制一記憶體裝置之方法、用於耦合至一外部非揮發性記憶體之裝置及非暫時性電腦可讀媒體
TWI584285B (zh) 用於快閃記憶體通道之快速追蹤
US10388385B2 (en) Reduction or elimination of a latency penalty associated with adjusting read thresholds for non-volatile memory
JP6452278B2 (ja) 不揮発性メモリの耐久性平準化のためのセル損傷の測定
TWI534828B (zh) 非揮發性記憶體之以單一讀取爲基礎的軟決定解碼

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees