TW202236291A - 用於改良記憶體之錯誤更正碼操作之方法及系統 - Google Patents

用於改良記憶體之錯誤更正碼操作之方法及系統 Download PDF

Info

Publication number
TW202236291A
TW202236291A TW111107518A TW111107518A TW202236291A TW 202236291 A TW202236291 A TW 202236291A TW 111107518 A TW111107518 A TW 111107518A TW 111107518 A TW111107518 A TW 111107518A TW 202236291 A TW202236291 A TW 202236291A
Authority
TW
Taiwan
Prior art keywords
memory
ecc
array
cells
correction capability
Prior art date
Application number
TW111107518A
Other languages
English (en)
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 TW202236291A publication Critical patent/TW202236291A/zh

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/1201Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
    • 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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56008Error analysis, representation of errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本發明係關於一種用於操作一記憶體胞元陣列之方法,該方法包括以下步驟:將使用者資料儲存於該記憶體陣列之複數個記憶體胞元中;將與該使用者資料相關聯之同位資料儲存於該記憶體陣列之同位胞元中,其中所使用同位胞元之一數目基於該等記憶體胞元之一狀態來選擇且與一選定錯誤更正碼(ECC)更正能力有關;及對該複數個記憶體胞元執行一ECC操作,該ECC更正能力基於所使用同位胞元之該選定數目。本文中亦揭示相關記憶體裝置及系統。

Description

用於改良記憶體之錯誤更正碼操作之方法及系統
本發明大體上係關於一記憶體胞元陣列之管理及操作,且更特定言之係關於用於改良具有ECC保護之記憶體之效能之方法及系統。
記憶體裝置用於許多電子系統中,諸如行動電話、個人數位助理、膝上型電腦、數位相機及類似者。各種類型之記憶體用於記憶體裝置中,包含隨機存取記憶體(RAM)、唯讀記憶體(ROM)、動態RAM (DRAM)、同步動態RAM (SDRAM)、鐵電RAM (FeRAM)、磁性RAM (MRAM)、電阻式RAM (RRAM)、快閃記憶體、相變記憶體(PCM)等等。記憶體裝置可為揮發性的或非揮發性的。非揮發性記憶體在電力關斷時留存其等內容,使其等成為記憶體裝置中用於儲存欲在一系統重新啟動之後擷取之資訊的良好選擇。特定言之,非揮發性記憶體胞元可甚至在不存在一外部電源之情況下維持其等儲存邏輯狀態達延長時段。
藉由程式化一記憶體裝置之不同狀態而儲存資訊。舉例而言,二進位裝置具有兩個狀態,其等通常藉由一邏輯「1」或一邏輯「0」表示。在其他系統中,可儲存多於兩個狀態。為存取所儲存之資訊,記憶體裝置之一組件可讀取或感測儲存狀態。為儲存資訊,記憶體裝置之一組件可寫入或程式化邏輯狀態。
改良記憶體裝置可包含增加記憶體胞元密度、增加讀取/寫入速度、增加可靠性、增加資料保留、減少製造成本、縮放至小於傳統裝置以及減少功率消耗。
歸因於諸如存取數目、製程品質、環境因素及類似者的各種因素,記憶體胞元在其等壽命週期期間具有不同物理及電特性。錯誤更正碼(ECC)通常根據記憶體裝置之胞元之一定義狀態(例如,胞元之壽命終止可靠性)進行校準,且因此通常以其最高更正功率使用。因此,通常存在一過度功率消耗。因此,可期望在記憶體裝置之整個壽命期間改良功率消耗效能。
本發明係關於一種用於操作一記憶體胞元陣列之方法,且該方法可包括:將使用者資料儲存於該記憶體陣列之複數個記憶體胞元中;將與該使用者資料相關聯之同位資料儲存於該記憶體陣列之同位胞元中,其中所使用同位胞元之一數目基於該等記憶體胞元之一狀態來選擇且與一選定錯誤更正碼(ECC)更正能力有關;及基於所使用同位胞元之該選定數目,對該複數個記憶體胞元執行一ECC操作。
本發明亦係關於一種記憶體裝置。該記憶體裝置可包括:一陣列,其包含複數個記憶體胞元;及一控制器,其經組態以:將使用者資料儲存於該複數個記憶體胞元中;定義用於儲存同位資料之同位胞元之一最大數目,同位胞元之該最大數目對應於一最大錯誤更正碼(ECC)更正能力;基於該等記憶體胞元之一狀態,選擇對應於一選定ECC更正能力之待用於儲存該同位資料之同位胞元之一數目,所使用同位胞元之數目包括在對應於一最小ECC更正能力之一最小數目與該最大數目之間;且基於該等記憶體胞元之該狀態之變動而改變所使用同位胞元之該數目。
本發明亦係關於一種記憶體裝置。該記憶體裝置可包括:一陣列,其包含複數個記憶體胞元;及該陣列之一操作單元,其中該操作單元經組態以:將使用者資料儲存於該記憶體陣列之複數個記憶體胞元中;將與該使用者資料相關聯之同位資料儲存於該記憶體陣列之同位胞元中,其中所使用同位胞元之一數目基於該複數個記憶體胞元之一狀態來選擇且與一對應錯誤更正碼(ECC)更正能力有關;且基於所使用同位胞元之該選定數目,對該複數個記憶體胞元執行一ECC操作。
本發明亦係關於一種用於選擇儲存於一記憶體胞元陣列中之一碼字之一錯誤更正碼(ECC)保護等級之方法,且該方法可包括:將編碼使用者資料儲存於複數個記憶體胞元中;每當發生一事件時使與該記憶體陣列之至少一個部分相關聯之一計數器之一值累加;基於該計數器之該值,選擇與碼字相關聯之數個同位胞元,選定同位胞元之數目與一對應ECC更正能力有關;及將同位資料儲存於該等選定同位胞元中。
參考該等圖式,本文中將揭示記憶體胞元之一改良操作之方法及系統。
在以下詳細描述中,闡述許多具體細節來提供對所主張標的之一透徹理解。然而,熟習此項技術者將瞭解,可在無此等具體細節之情況下實踐所主張標的。在其他例項中,尚未詳細描述一般技術者將已知之方法、設備及/或系統以免混淆所主張標的。
非揮發性記憶體在電力關斷時留存其等內容,使其等成為用於儲存在一系統重新啟動之後擷取之資訊的良好選擇。一快閃記憶體係一種類型之非揮發性記憶體,其留存所儲存資訊且其特徵在於一極快存取時間。此外,其可以區塊而非一次一個位元組進行擦除。記憶體之各可擦除區塊包括配置成列及行之一矩陣的複數個非揮發性記憶體胞元。各胞元耦合至一存取線及/或一資料線。藉由操縱存取線及資料線上之電壓而程式化及擦除胞元。存取電路系統可區分一記憶體胞元之不同邏輯狀態。舉例而言,就一記憶體讀取而言,存取電路系統將具有一特定量值及極性之一電壓脈衝施加至存取線,此導致專用感測電路系統可偵測之一電回應。偵測電回應可包含(舉例而言)偵測以下一或多者:跨陣列之一給定記憶體胞元之端子之一電壓降(例如,一臨限電壓)、通過給定記憶體胞元之電流及給定記憶體胞元之一臨限事件。
在本發明中,術語「耦合」可涉及直接或間接地實體、電及/或通信連接之元件,且在本文中可與術語「連接」互換使用。實體耦合可包含直接接觸。電耦合包含允許組件之間之電流動及/或傳訊之一介面或互連。通信耦合包含使組件能夠交換資料之連接,包含有線及無線連接。
圖1係根據本發明之一例示性實施例之包括一記憶體裝置100之一系統1000之一示意性高階方塊圖,此記憶體裝置100經程式化以執行下文揭示之ECC技術。
記憶體裝置100可為(例如)一固態磁碟(SSD)且可包含一記憶體區段101、一控制器102及一主機介面103。記憶體區段101不限於一特定架構且可包含不同類型之記憶體。
控制器102可經由複數個通道耦合至主機介面103及記憶體區段101且可用於在記憶體區段101與一主機110之間傳送資料。主機介面103可呈一標準化介面之形式。舉例而言,當記憶體裝置100用於一運算系統中之資料儲存時,主機介面103可為一串列進階附接技術(SATA)、周邊組件互連高速(PCIe)或一通用串列匯流排(USB)以及其他連接器及介面。一般而言,主機介面103可提供用於在記憶體裝置100與主機110之間傳遞控制、位址、資料及其他信號之一介面。
控制器102可包含一嵌入式韌體且經調適以在內部管理及控制記憶體區段101之操作。控制器102可與記憶體區段101通信以控制資料讀取、寫入及擦除操作以及其他操作。舉例而言,控制器102可包含用於控制對記憶體區段101之存取及/或用於促進主機110與該記憶體區段101之間之資料傳送的呈硬體及/或韌體(例如,一或多個積體電路)及/或軟體形式之數個組件。
因此,記憶體控制器102表示舉例而言回應於主機110 (其通常可為非揮發性記憶體之一外部管理系統)之命令而起作用之裝置之控制邏輯。如下文中將揭示,在一項實施例中,即使本發明不受限於一特定架構,記憶體控制器102亦可實施於主機110中,特定言之,實施為一主機處理器110’之部分。
如關於圖1揭示,記憶體控制器102可透過輸入/輸出IO接收使用者資料。多條信號線耦合記憶體控制器102與記憶體區段101。舉例而言,此等信號線可包含時脈、命令/位址及寫入資料(DQ)、讀取DQ及零或更多條其他信號線。因此,記憶體控制器102可經由適合匯流排可操作地耦合至記憶體區段101。
記憶體裝置100亦可包括其他組件(未展示),諸如耦合至控制器102之處理器單元、天線、與主機裝置110之進一步連接構件及類似者。在任何情況中,本發明不受限於記憶體裝置100之一特定組態。
此外,控制器102亦可包含與其之其他單元可操作地耦合之其自身的記憶體區段(未展示)。在任何情況中,本發明不受限於控制器102之一特定組態。
記憶體裝置100可為經組態以耦合至主機裝置110之一可攜帶裝置。然而,在圖式中未展示之其他實施例中,記憶體裝置100亦可嵌入一或多個主機裝置內。主機110可為舉例而言一個人電腦、一平板電腦、一智慧型電話、一伺服器或類似者。主機110可包含一系統主機板及/或背板且可包含數個記憶體存取裝置(例如,數個處理器)。
在一實施例中,控制器102包含一錯誤更正碼(ECC)單元104 (亦被稱為ECC引擎),其經組態以根據下文中描述之技術操作。
根據本發明之實施例,ECC單元104可包含偵測及更正數個位元錯誤之錯誤更正電路系統。ECC單元104不限於電路系統(例如,硬體)實施方案。例如,可在硬體、韌體及/或軟體中實施ECC單元104。
可藉由諸如一特定應用積體電路(ASIC)之離散組件或藉由反映由控制器102內之電路系統提供之功能性之組件具體實施ECC單元104,該電路系統不一定具有與控制器102之其他部分分離之一離散實體形式。儘管繪示為控制器102內之組件,然ECC單元104可在控制器102外部或可具有定位於控制器102內之數個組件及定位於控制器102外部之數個組件,其中本發明不受限於一特定硬體架構。在數個實施例中,ECC單元104可包含單獨編碼及解碼組件。一般而言,記憶體裝置100因此包括一操作單元,其係耦合至控制器102之一ECC引擎。
換言之,可如下文揭示般程式化之ECC單元104之錯誤偵測/更正電路系統可包含硬體邏輯以實施一ECC以偵測發生於從記憶體區段101讀取之資料中之錯誤。在一項實施例中,錯誤偵測/更正電路系統亦更正錯誤(直至基於所實施ECC碼之一特定錯誤率)。
記憶體裝置100之記憶體區段101可為包含一記憶體胞元陣列之一快閃記憶體,舉例而言,一NAND記憶體、NOR記憶體、AND記憶體及類似者。額外地或替代地,記憶體區段101可包括位元可變記憶體胞元;舉例而言,相變記憶體(PCM)、鐵電記憶體(FeRAM)、磁性記憶體(MRAM)、基於硫屬化物之自選擇記憶體(SSM)等。在本發明之實施例中可採用任何種類之記憶體。舉例而言,本發明適用於非揮發性及揮發性記憶體之任一者或兩者。
一般而言,記憶體區段101可包括一記憶體胞元陣列101’。非揮發性記憶體可包括複數個區塊,各區塊在本文中用元件符號101’’指示且包括定義數目個頁面。為了簡單起見,圖1之實例中僅展示四個區塊101’’。
記憶體區段101表示記憶體裝置100之記憶體資源。在一項實施例中,記憶體胞元陣列101’經管理為經由字線(列)及位元線(一列內之個別位元)控制來存取之資料列。記憶體胞元陣列101’可經組織為單獨通道、階級及記憶體庫,一般而言,組織成複數個部分,如先前揭示。通道係至記憶體區段內之儲存位置之獨立控制路徑。階級係指跨多個記憶體裝置之共同位置(例如,不同裝置內之相同列位址)。記憶體庫係指一記憶體裝置內之記憶體位置之陣列。在一項實施例中,將記憶體庫分成子記憶體庫及用於子記憶體庫之共用電路系統(例如,驅動器、信號線、控制邏輯)之至少一部分。將瞭解,記憶體位置之通道、階級、記憶體庫、或其他組織、及組織之組合可與實體資源重疊。舉例而言,相同實體記憶體位置可作為一特定記憶體庫(其亦可屬於一階級)經由一特定通道存取。因此,將以一包含性而非排他性方式理解記憶體資源之組織。
換言之,根據本發明之一實施例,記憶體胞元陣列100’可被細分成複數個部分,諸如一頁面、一單一區塊、一區塊群組或甚至全部區塊(即,全部胞元),本發明不限於此。因此,記憶體胞元可被分組(例如)成包含數個實體頁面之數個區塊。數個區塊可包含於記憶體胞元之一平面中且一陣列可包含數個平面。
實施例不限於一特定類型之記憶體陣列或陣列架構且本發明之技術可應用於若干記憶體技術(例如,平面、交叉點、3D等)。
記憶體區段101亦可包括可操作地耦合至記憶體胞元陣列101’之一電路部分105。
在一項實施例中,電路部分105包含存取電路系統及感測電路系統以偵測一或多個記憶體胞元對一施加讀取電壓之電回應。在一項實施例中,感測電路系統包含感測放大器。圖1繪示嵌入於記憶體區段101中之電路部分105;然而,其他實施例可包含與記憶體區段101分離之存取電路系統及/或感測電路系統。舉例而言,存取電路系統及感測電路系統可包含於諸如記憶體控制器102之一記憶體控制器中。
此外,記憶體裝置100可包括經組態以考量記憶體胞元陣列101’之記憶體胞元之狀態且用於判定一觸發事件以啟動ECC單元104的一計數單元106。
更特定言之,計數單元106可包括一第一計數器106’及一第二計數器106’’。第一計數器106’可經組態以考量記憶體胞元陣列101’ (或其部分)之使用壽命,如下文中將揭示。舉例而言,根據下文揭示之實施例,第一計數器106’可易於對存取數目,或再新事件之數目,或電力開啟事件之數目,或其等之一組合進行計數。根據下文揭示之實施例,第二計數器106’’可經組態以對藉由ECC單元104偵測之錯誤數目進行計數。
在圖1之實例中,即使其他架構係可能的且計數單元106亦可在控制器102外部並連接至控制器102,計數單元106被描繪為整合至控制器102中。
此外,記憶體裝置100 (特定言之,記憶體區段101之記憶體胞元陣列101’)可包括易於儲存操作資訊以舉例而言用於管理根據下文中揭示之實施例之記憶體陣列之一非揮發性區107。
在實施例中,記憶體裝置100亦可包括一感測單元108,該感測單元包括可操作地耦合至記憶體區段101且視需要耦合至控制器102之一或多個感測器。感測單元108可經組態以偵測記憶體胞元陣列101’或其之一部分之一狀態(例如,溫度)。
通常,記憶體裝置100之特定架構可根據需求及/或環境變化而不限制本發明之範疇。
主機110及記憶體裝置100可形成一系統1000。如之前提及,主機裝置110係根據本文中描述之任何實施例之一運算裝置,且可為一膝上型電腦、一桌上型電腦、一伺服器、一遊戲或娛樂控制系統、一掃描器、複印機、印表機、路由或交換裝置、嵌入式運算裝置、或其他電子裝置(諸如一智慧型電話)。主機110通常可為管理記憶體區段101之一系統,該記憶體區段可嵌入該系統中或通常藉由該系統管理。因此,可藉由一外部控制器(即,嵌入主機110之處理器110’中之控制器,如先前揭示)管理記憶體裝置100,使得ECC單元亦可包含於該外部控制器中。在此情況中,可能不存在記憶體裝置之控制器且記憶體裝置100 (其可嵌入主機110中)將所需資訊傳達至外部控制器。
在一項實施例中,系統1000包含耦合至處理器110’的一介面1010,其可表示需要較高頻寬連接之系統組件及/或圖形介面組件之一較高速度介面或一高輸送量介面。圖形介面介接至圖形組件以向系統1000之一使用者提供一視覺顯示。在一項實施例中,圖形介面基於儲存於記憶體裝置中之資料或基於由處理器執行之操作或兩者來產生一顯示。
系統亦可包括通信耦合至主機或記憶體裝置(舉例而言)以與其他系統連接的網絡介面1020及/或經耦合以將電力提供至該系統的一電池。
根據本發明,ECC單元104可經組態以對儲存於記憶體區段101中之一碼字執行具有一特定錯誤更正能力之一ECC操作(錯誤之偵測及/或更正),其中碼字包含特定數目個同位位元,如下文中將揭示。
圖2繪示一例示性使用者資料型樣圖201。使用者資料型樣圖201包含使用者資料210a及經編碼使用者資料215a。在記憶體胞元陣列之程式化階段中執行之編碼程序220a可將使用者資料210a (U1、…、Um)轉換成經編碼使用者資料215a (E1、…、En)。經編碼使用者資料215a可儲存於一組記憶體胞元中,其可為舉例而言圖1之記憶體區段101之記憶體胞元。經編碼使用者資料215a之各方塊可對應於可展現一邏輯狀態1或一邏輯狀態0之一記憶體胞元。在本發明之實施例中,在編碼程序220a期間,可將數個同位位元添加至使用者資料210a。經編碼使用者資料215a中之位元數目可大於使用者資料210a中之位元數目(例如,若添加一些位元(例如,同位位元),則n大於m)。在已準確讀取經編碼使用者資料215a之後,程序225可將經編碼使用者資料215a轉換回至使用者資料210a。
在一實施例中,待讀取之複數個經編碼位元表示一碼字(CW)。碼字可經程式化以包含在讀取階段期間使用之各種資訊。為保持一流暢及簡單描述,在下文中,將僅參考ECC相關資訊。應理解,額外位元可不包含嚴格的ECC相關資訊。實例可包含加密位元、加擾位元、平衡或準平衡碼之位元(例如,以達成一給定邏輯狀態中之位元之一預定義百分比,或在其之一百分比範圍內,諸如50%的1或0)及/或其他用途額外位元。
如先前提及,在將數位資料儲存於非揮發性記憶體(諸如圖1之記憶體胞元陣列101’)中時,以一解碼器可識別並更正錯誤的方式對資料進行編碼,即,藉由添加數個同位位元而對資料串進行編碼。在將重建原始資料時,解碼器檢驗經編碼訊息以針對任何錯誤進行檢查。在某些實施例中,使用者資料位元之一區塊經編碼成為n個位元之一區塊(即,碼字CW),如圖2中展示。然而,各種編碼方案係可能的。
在記憶體陣列之使用壽命期間,與儲存於記憶體胞元中之資料相關聯之位元錯誤率(BER)基於諸如(舉例而言)對記憶體胞元之存取數目、程序品質、環境(空間、電力供應電壓、操作及儲存溫度等)及類似者之數個因素而演變。對於一些技術,BER通常在晶粒壽命開始時較佳且在壽命結束前最差,而對於一些其他技術,與在晶粒之壽命開始及結束前相比,BER可在一些週期之後較佳。
本發明提供定製BER之演變且在BER為低時啓用一較低ECC保護且在BER較高時增加該保護的系統及方法。換言之,本發明提供根據一記憶體陣列之胞元之狀態精確地定義待應用於該等胞元之ECC更正能力(或ECC保護等級)的技術。在本發明之背景內容中,一胞元之「狀態」意謂其操作條件或通常其健康狀況。如上文提及,一記憶體胞元或複數個記憶體胞元之狀態通常可取決於數個當前及過去參數。本發明之原理可應用於若干種類型之揮發性或非揮發性記憶體,其展示其等記憶體胞元之一時變狀態。
在編碼方案之基礎上,產生一碼字(程序220a),從而操縱使用者資料位元且添加數個同位位元,所添加同位位元之數目取決於ECC更正能力(待偵測及更正之潛在錯誤愈多,必需的同位位元愈多)。ECC單元104可根據選定ECC保護等級產生碼字。根據本發明,ECC保護等級及額外同位位元(其等本質上係關聯的)之數目可在操作中變化。基於解碼方案,(例如)憑藉圖1之ECC單元104從使用者及同位資料之經編碼集合產生一ECC校正子。ECC校正子取決於錯誤之存在及位置而改變。當偵測到錯誤時,ECC單元104能夠取決於且根據實施之更正能力更正該等錯誤。在一些情況中,可報告一不可更正錯誤之存在(例如,其之位置未知)。
因此,所使用同位位元之數目及ECC更正能力本質上相互關聯。在將資料程式化至記憶體中時,可選擇所要ECC保護等級(更正能力)且分配對應數目個同位位元用於儲存同位資訊。在回讀時,根據ECC方案存取且解碼碼字(包含在編碼階段期間使用之使用者資料及同位位元)。具有一給定最大更正能力之一ECC引擎(舉例而言,在硬體中實施)可以各自需要對應數目個同位位元之不同更正能力操作。舉例而言,在編碼或解碼中可分別針對一更低或更高ECC保護等級而考量更少或更多同位位元;對應地,消耗一更小或更高功率。
現參考圖3,根據本發明之一實施例,可根據記憶體陣列之胞元之狀態選擇ECC保護等級。換言之,ECC保護適用於記憶體胞元健康狀況且僅在必要時(即,在胞元之狀態需要其時)增加。
如先前展示,在將使用者資料(即,一碼字之有效負載內容)儲存於記憶體陣列之複數個記憶體胞元中時,同位資料亦儲存於與使用者資料相關聯之記憶體陣列之同位胞元中。基於複數個記憶體胞元之狀態選擇所使用同位胞元之數目,此選定數目與ECC保護等級(例如,所要或選定ECC更正能力)有關。接著,基於選定數目個同位胞元(即,基於所儲存同位位元,其可根據胞元健康狀況而變化)執行ECC操作。
更特定言之,在一經定義最大數目與一最小數目之間選擇所使用同位胞元且未使用同位胞元之數目係最大經定義數目與同位胞元之使用數目之間之差,其中根據一實施例,未寫入亦未感測未使用同位胞元(其等適於儲存對應於較高ECC更正能力之同位資料)。
如圖3中展示,一碼字可包括對應於有效負載(因此,包含編碼使用者資料)之一第一碼字部分301及對應於同位資料之一第二碼字部分302。應注意,此一區分可為任意的;事實上,一編碼程序(諸如圖2中之程序220a)可將使用者資料及同位資料組合及混合,使得應將碼字作為一個整體來考量。
當需要一最小保護時,可僅使用減少數目個同位胞元,如在碼字300a中,其中僅使用指示為P1之胞元來儲存同位位元(例如,僅儲存計算對應於ECC1之校正子S1之數個位元,其中在一些實例中,ECC1可為具有1位元之更正能力之一錯誤更正碼)。
當ECC保護已增加時,可使用增加數目個胞元,如在碼字300b中,其中儲存增加數目個同位位元(P1及P3)以計算校正子S1及S3 (例如,對應於ECC2,其中在一些實例中,ECC2可為具有2個位元之更正能力之一錯誤更正碼)。
當保護已處於一最大等級時,所使用同位胞元之數目已進一步增加,如在碼字300c中,其中儲存增加數目個同位位元(P1、P3及P5)以計算校正子S1、S3及S5 (例如,對應於ECC3,其中在一些實例中,ECC3可為具有3個位元之更正能力之一錯誤更正碼)。觀察到,碼字部分302之一單一區塊不必對應於一單一胞元且亦可對應於一胞元群組,例如,其通常表示針對一對應ECC保護等級計算校正子之位元數目。應理解,雖然圖3中描繪三個保護等級(例如,ECC1、ECC2及ECC3),但可設想任何數目。舉例而言,具有較高(例如,N>3)錯誤更正能力之實施例及/或以根本無ECC保護為特徵之實施例(例如,並未出於錯誤更正其之目的而將同位位元添加至碼字)係可能的。
因此,將ECC保護等級降低至所需最小值對應於減少所使用同位胞元之數目。
本發明提供定製BER之演變且在BER為低時啓用一較低ECC保護且在BER較高時增加該保護的系統及方法。根據方法之實施例,使用者資料經儲存於記憶體陣列之複數個記憶體胞元中,與使用者資料相關聯之同位資料經儲存於記憶體陣列之同位胞元中,且所使用同位胞元之數目基於記憶體胞元之一狀態而選擇且與一選定錯誤更正碼(ECC)更正能力有關。具有一經定義最大錯誤更正能力(硬體或軟體受限)之ECC引擎可操作至對應於同位胞元之所使用數目之一不佳錯誤更正能力。換言之,每當需要一較低(或較高) ECC保護等級時,選擇對應數目個同位胞元且將其用於儲存同位資訊,及/或反之亦然。在裝置之使用壽命期間可動態地改變ECC更正能力;對應地,自適應地改變所使用同位胞元之數目以便允許ECC引擎以所要位準工作。方法亦包括基於選定數目個所使用同位胞元,對複數個記憶體胞元執行一ECC操作(具有對應錯誤保護等級)。
作為一實例,在一些情況中,在陣列之壽命開始時,可使用ECC1,且在壽命結束時,可使用ECC3 (且因此可使用增加數目個同位胞元)。然而,不同情況亦係可能的,包含在壽命開始時需要一最大ECC保護等級且在一些週期之後(例如,在老化之後或一般而言在使用記憶體胞元之後)可降低ECC保護等級的情況。
未感測亦未寫入未使用同位胞元(例如,圖3之碼字部分302之交叉方塊),從而導致一降低功率消耗。換言之,僅寫入及/或感測經選擇以儲存同位資料之胞元,而未寫入亦未感測適於儲存同位資料且對應於較高ECC更正能力(且當前未使用)之進一步記憶體胞元。
在ECC保護等級降低之情況下,因此使用較少胞元。因此,所得錯誤概率較低,此係因為未使用胞元未參與碼字錯誤率(CWER)。此外,未使用胞元在較長時間內保持新鮮,且在一段時間後使用時將不太符合CWER。
因此,本發明之ECC技術規定,在使用一較低ECC保護等級時,僅寫入或感測必要胞元。作為一非限制性實例,對於128個使用者資料位元,ECC1需要8個同位位元(提供偵測並更正128+8個位元中之1個錯誤的能力),ECC2需要16個同位位元(提供偵測並更正128+16個位元中之2個錯誤的能力),ECC3需要24個同位位元(提供偵測並更正128+24個位元中之3個錯誤的能力)。使用ECC1而非ECC3避免管理10.5%的胞元。所使用胞元數目的減少對應於一降低功率消耗,此係因為僅啓用必要ECC電路系統,當需要一較低ECC保護時,該電路系統需要較少功率。
如參考圖1觀察,ECC電路系統可整合於記憶體裝置之控制器中,該控制器經適當地程式化以執行本發明之ECC技術。
此外,記憶體胞元陣列之不同部分可具有一不同狀態及/或可展現不同缺陷密度。根據本發明之一實施例,陣列之記憶體胞元可被分組成複數個部分,各部分基於其記憶體胞元之狀態而被指派一特定ECC保護等級。因此,取決於特定境況,不同部分可具有不同ECC保護等級以及一相同保護等級。因此,陣列之一「部分」係具有相同ECC保護等級之一記憶體胞元群組。以此方式,陣列可被分成其中ECC更正能力同調但可不同於另一部分之ECC更正能力的部分。
根據一實施例,一記憶體部分可對應於一內部細分,如同一記憶體庫群組、一記憶體庫、一區段或記憶體之任何其他適合內部細分。此外,記憶體部分亦可對應於一規範/主機細分,如同一緩衝區、一頁面,即,高級細分。在一實施例中,整個記憶體陣列在ECC更正能力方面可為同調的。
換言之,一部分可對應於一碼字、一記憶體庫、一記憶體庫群組、陣列之一區段、整個陣列、或甚至一緩衝區、一頁面之一者,且本發明不受胞元分組方式限制。
將陣列細分成可能具有不同ECC保護等級之若干部分更適合真實記憶體裝置。
圖4A及圖4B係展示根據本發明之實施例之功率消耗(在Y軸上)相對於時間(在X軸上)之曲線圖。應注意,儘管在X軸上表示時間,然本文中揭示之概念不限於功率消耗隨時間之演變,且實情係,其等適用於可潛在地影響記憶體胞元之位元錯誤率之任何因素(例如,循環、耐久性、老化、曝露於高/低溫、硬/軟故障機制、電壓漂移等;因此,時間僅為許多可能實例且應對應地廣義解釋圖)。特定言之,在一實例中,功率消耗之時間增加可對應於缺陷密度之增加。圖4A展示ECC保護等級可在記憶體陣列之壽命期間變化;明確言之,圖4A係其中起始保護等級為低(例如,ECC1,對應於一低功率消耗)之陣列之一部分之一實例,此保護等級基於缺陷密度(例如,位元錯誤率)之增加而隨時間增加。取決於所採用之記憶體之特定技術,保護等級隨時間降低之情境(圖式中未展示)亦係可能的。圖4A之線401’表示以所使用同位胞元(例如,在ECC3之情況下之P1、P3及P5,如圖3中描繪)及因此消耗功率計之先前技術平均成本,其始終處於一最大位準,而根據本發明,平均功率成本可顯著降低,此係因為在很長一段時間內,ECC保護等級並不處於最大位準(例如,當使用ECC1及/或ECC2時,分別僅需要P1或僅需要P1及P3同位胞元)。圖4B表示將陣列劃分成多個獨立部分之一情況。與圖4A中一樣,圖4B之線401’’表示以所使用同位胞元(例如,在ECC3之情況下之P1、P3及P5,如圖3中描繪)及因此消耗功率計之先前技術平均成本,其始終處於一最大位準。在圖4B之情況中,各階狀部402’’對應於增加其ECC保護等級之一單個部分,且平線區403’’表示一例示性初始條件,其中所有部分在持續時間內具有最小保護等級(例如,ECC1,僅需要P1同位胞元,即使最初未實施ECC之情境係可能的,其中根本不需要同位胞元)。在此實施例中,與現有技術線401’’相比,高粒度確保較佳效能,如藉由線404’’表示,其係平均功率成本。因此,當增加粒度時,較小階狀部(對應於較小部分)係可能的,從而導致益處增加。
圖4A及圖4B係展示起始ECC保護等級為低且接著隨著缺陷密度增加而隨時間增加之情況之實例。應注意,為改良圖形表示,缺陷密度或BER在圖4A及圖4B中被描繪為隨時間線性增加之函數(例如,具有正斜率之一線)。此並非典型情況且應理解,可考量任何BER變動輪廓,無論線性或非線性。根據本發明,基於BER之一變動(例如,在有必要這樣做的任何時間)改變或調整ECC保護等級或更正能力,因此確保ECC引擎在任何情境下之最佳使用。替代地或額外地,取決於技術,起始ECC保護等級可在一給定時刻(諸如在壽命開始時)較高(例如,ECC3),且其可隨時間降低(例如,至ECC2及/或ECC1),使得該等曲線圖亦可具有一降低趨勢。
在任何情況中,根據本發明,記憶體經組態使得ECC更正能力基於其時變狀態隨著記憶體胞元陣列之壽命而變化(根據特定技術提高或降低),其在功率消耗方面具有許多益處。
根據一實施例,將與選定ECC更正能力有關之資料資訊儲存於記憶體陣列之一或多個專用非揮發性區中。換言之,陣列包括經調適以儲存與選定ECC更正能力(特定言之,陣列之各部分之選定ECC保護等級)有關之資料資訊之一非揮發性區。舉例而言,參考圖1,專用於儲存該資訊之非揮發性區可為記憶體區段101之非揮發性區107。
更特定言之,在將陣列細分成複數個部分時,將與各部分之選定ECC更正能力有關之各自資料資訊儲存於非揮發性區(其可為一單個區或亦可細分成陣列之多個區)中。
在一實施例中,接著,將此資料資訊儲存於一查找表中,其中陣列之各部分與其各自選定ECC更正能力相關聯。因此,關於各部分之ECC保護等級之資訊可在含有所有記憶體部分及其等當前ECC保護等級之資訊之一查找表中傳送,其簡化此資訊之讀取。
在一實施例中,碼字本身可包括指示其當前ECC保護等級之資訊,從而導致一極端粒度。以此方式,任何特定碼字可用與其相關聯且與該碼字之選定ECC更正能力有關之額外資訊位元進行編碼。在此實施例中,需要陣列之更多空間來儲存關於各碼字之ECC保護等級之資訊,但增加功率效益。
因此,管理各個部分中之碼字之不同編碼之若干方式係可能的,接著,將與各部分之ECC保護等級有關之資訊儲存於陣列中。
圖5係根據本發明之表示用於操作一記憶體胞元陣列之一方法500之步驟之流程圖。可藉由硬體邏輯及電路系統執行所描述程序。舉例而言,以下程序被描述為由存取電路系統、感測電路系統及ECC電路系統執行,如本文中揭示。然而,其他實施例可包含適於執行程序之不同電路系統組態。
本發明之方法係一種用於改良具有ECC保護之記憶體胞元之操作之方法。存取電路系統將資料寫入至複數個記憶體胞元。舉例而言,存取電路系統將邏輯0及邏輯1寫入至複數個記憶體胞元,諸如圖1之記憶體區段101中之記憶體胞元。在一項實施例中,存取電路系統可藉由施加具有一負極性之程式化脈衝而寫入邏輯0且藉由施加具有一正極性之程式化脈衝而寫入邏輯1。亦可採用相反慣例。取決於技術,可將不同程式化脈衝施加至記憶體胞元。在將資料寫入至複數個記憶體胞元之後,存取電路系統可讀取複數個記憶體胞元且ECC電路系統可驗證錯誤之存在並更正該等錯誤。
更特定言之,在步驟510,將使用者資料儲存於一記憶體陣列之複數個記憶體胞元中,例如,儲存於一碼字中。
在步驟520,基於複數個記憶體胞元之一狀態選擇待使用同位胞元之數目,此數目與一選定ECC更正能力有關。一ECC引擎可以一不同更正能力(例如,不同錯誤保護等級)操作,且保護等級之各者需要對應數目個同位位元,舉例而言,如上文參考圖3說明。
在步驟530,將同位資料儲存於選定數目個同位胞元中。同位資料可與使用者資料相關聯且可基於相關選定ECC更正能力進行運算。
最後,在步驟540,基於所使用同位胞元之選定數目,對複數個記憶體胞元執行一ECC操作(驗證/更正)。可使用選定ECC更正能力來執行ECC操作,例如,在一程式操作期間對對應數目個同位資料進行編碼,或存取適當數目個同位位元且將其等饋送至ECC引擎以在一讀取操作期間運用選定ECC更正能力對碼字進行解碼。
為判定陣列(或其之一部分)之狀態,且因此為判定應何時(及如何)改變ECC保護等級,可實施若干技術或準則。
根據一實施例,可由一計數單元(諸如圖1之例示性記憶體裝置100之計數單元106)提供觸發事件。更特定言之,如參考圖1之實例揭示,記憶體裝置100包括第一計數器106’,其可經組態以考量記憶體胞元之使用壽命。第一計數器106’在本文中亦被稱為週期計數器且經組態以對陣列之部分之特定事件之發生進行計數。
在一實施例中,第一計數器106’經組態以對對記憶體胞元之存取數目進行計數。然而,本發明不限於對對記憶體胞元之存取進行計數,且第一計數器106’亦可經組態以對其他事件(諸如再新事件之數目或電力開啟事件之數目或其等之一組合)進行計數。在任何情況中,在此實施例中,基於第一計數器106’之值選擇待用於定義適當ECC更正能力之同位胞元之數目(及因此所儲存同位位元之適當數目)。
第一計數器106’可為考量記憶體胞元之經過使用壽命之一非揮發性計數器,此資訊即使在其之一關斷事件之後亦被維持在記憶體中。
圖6A及圖6B係用於基於第一計數器106’之值(即,基於此使用壽命計數器)選擇ECC保護等級之流程圖600a及600b。如先前提及,一使用壽命事件可為對一部分之胞元之存取,以及許多其他事件。更特定言之,圖6A表示其中ECC保護等級在陣列之壽命期間增加之一情況600a,而圖6B表示其中ECC保護等級在陣列之壽命期間減少之一情況600b (例如,在一些週期之後展示較佳效能之記憶體技術的情況下)。換言之,ECC保護等級可取決於對一特定技術之預期(其可映射於儲存於記憶體陣列中之一專用查找表中)增加或減少。在一些情況(未展示)中,一混合解決方案亦係可能的。
更特定言之,方法600a可包括:初始化計數器(步驟610);在各使用壽命事件使計數器累加(步驟620);比較第一計數器之值與一預設臨限值(步驟630a);及在其不等於亦不大於此臨限值時,從步驟620繼續,而在其等於或大於此臨限值時,檢查保護等級是否係最大值(步驟640a),且若保護等級並非最大值,則增加保護等級(步驟650a),而若保護等級已處於其最大等級,則停止(步驟660)。
類似地,方法600b可包括:初始化計數器(步驟610);在各使用壽命事件使計數器累加(步驟620);比較第一計數器之值與一預設臨限值(步驟630b);及在其不等於亦不大於此臨限值時,從步驟620繼續,而在其等於或大於此臨限值時,檢查保護等級是否係最小值(步驟640b),且若保護等級並非最小值,則降低保護等級(步驟650a),而若保護等級已處於其最小等級,則停止(步驟660)。
換言之,當表示使用或流逝使用壽命之一計數器滿足一臨限值時,ECC保護等級改變(例如,增加或減少),如圖6A及圖6B中展示。因此,在此實施例中,第一計數器易於指示記憶體胞元之狀態(更特定言之,各個部分之記憶體胞元之狀態,使得可針對對應不同部分實施不同計數器)。舉例而言,一特定計數器與一特定部分相關聯以基於各自記憶體胞元之特定使用來觸發應用於各自部分之特定ECC更正能力之一變動。用以選擇ECC保護等級之此技術在本文中亦被稱為基於使用壽命之技術。
根據本發明之另一實施例,記憶體裝置亦包括一第二計數器,諸如(舉例而言)圖1之第二計數器106’’,其經組態以對藉由ECC偵測之錯誤數目進行計數,使得EEC保護等級決策基於此錯誤位元頻率計數器。
如在第一計數器106’ (即,舉例而言用於對存取數目進行計數之非揮發性計數器)之情況中,在一些實例中,第二計數器106’’亦可為一非揮發性計數器。
更特定言之,在此實施例中,基於一經計數錯誤頻率(其作為第一計數器106’及第二計數器160’’值之比率獲取)來選擇用於定義適當ECC更正能力之同位位元之數目。
圖7係表示基於經計數錯誤頻率選擇ECC保護等級之流程圖700。
特定言之,每當藉由當前實施ECC偵測到一錯誤時,使第二計數器106’’之值累加。此外,每當一使用壽命事件(例如,存取)藉由第一計數器106’計數時(即,每當第一計數器106’累加時),計算第一計數器之值與第二計數器之值之間之比率,從而產生錯誤頻率。接著,比較此比率與一預設臨限值。
舉例而言,取決於具體採用之記憶體技術,當錯誤頻率大於臨限值時,ECC等級保護增加,而當錯誤頻率小於臨限值時,ECC等級保護降低,或反之亦然。
換言之,可基於計數錯誤頻率(其作為第一計數器及第二計數器之內容之比率獲取)來選擇用於定義ECC保護等級之同位胞元之數目,第二計數器用於對藉由當前ECC偵測之錯誤數目進行計數。因此,在此實施例中,錯誤頻率指示記憶體胞元之狀態。用以選擇ECC保護等級之此技術在本文中亦被稱為基於缺陷率之技術,且其不僅受錯誤頻率偵測之限制,且可如下文展示般使用缺陷率之其他量測。
在一實施例中,取決於在一相同碼字中偵測到之錯誤數目(例如,1個、2個或3個),計數錯誤頻率可被指派一不同權重。
如先前提及,根據本發明,不同部分基於其等狀態而被獨立地指派一適當ECC保護等級。因此,根據一實施例,各部分可包括用於定義其狀態之一或多個計數器(例如,第一計數器及第二計數器)。以此方式,不同計數器與陣列之不同各自部分相關聯,各計數器表示各自部分之一各自累積值(諸如存取數目、錯誤數目等),如上文揭示。因此,在各自累積值等於或超過(或在其他實施例中,低於)一臨限值之情況下,對一或多個部分執行ECC保護等級變動,如參考圖6A至圖6B及圖7所見。
亦可藉由主機或藉由內部感測器更新計數器以便對陣列時間壽命進行計數,如下文將揭示。
在任何情況中,本發明不受用以判定可何時改變ECC保護等級之一特定準則之限制,且許多其他技術係可能的。
在一些實施例中,可基於一存取操作期間之一錯誤計數來選擇一較高保護等級。舉例而言,偵測到一個額外錯誤(例如,關於先前偵測到之錯誤數目)可觸發待應用之ECC保護等級之增加。在一實務實例中,若在存取一碼字時尚未偵測到錯誤,則一ECC1保護等級係適當的(例如,一個錯誤之一ECC更正能力);當第一次偵測到一錯誤時,可增加ECC保護等級以在後續存取操作中提供ECC2更正能力(對應地啟動額外同位胞元,如上文參考圖3至圖7說明)。類似地,當偵測到一第二錯誤時,ECC保護等級進一步增加(舉例而言)至一ECC3更正能力。
根據一實施例,可在排序期間(例如)經由用於評估程序品質之一測試機定義陣列之記憶體胞元之初始狀態。在此情況中,首先憑藉測試機測試記憶體陣列之至少一個部分之品質;在測試操作之後,基於所執行之品質測試將待用於定義所需ECC更正能力之適當數目個同位位元指派給陣列之各部分。換言之,可使用測試評估以為各部分指派一適當起始保護等級。
圖8示意性地展示經受一測試操作之一記憶體陣列之單獨部分(描繪四個單獨部分)。四個單獨部分可獨立地經測試且在測試之後被指派一不同起始ECC保護等級。以此方式,在測試(排序)期間,可取決於晶粒之物理特性(例如,矽品質)分配重設ECC等級保護。舉例而言,部分(0,0)可被指派一起始ECC保護等級Lv1 0 (其可對應於一最小ECC更正能力,舉例而言,ECC1);部分(0,y)可被指派一起始ECC保護等級Lv1 1 (其可對應於一中間ECC更正能力,舉例而言,ECC2);部分(x,0)可被指派一起始ECC保護等級Lv1 0 (例如,ECC1);且部分(x,y)可被指派一起始ECC保護等級Lv1 3 (其可對應於一最大ECC更正能力,舉例而言,ECC4)。其他部分(未展示)可被指派各自起始ECC保護等級。接著,在晶粒壽命期間,可指派並改變ECC更正能力,舉例而言如上文參考圖6A至圖6B及圖7展示。
替代地或額外地,根據本發明之其他實施例,藉由使用者選擇待用於定義ECC更正能力之同位胞元之數目。
亦可基於耦合至記憶體陣列之感測器(諸如包含於感測單元108中之感測器)之信號選擇ECC保護等級。換言之,仍參考圖1,記憶體裝置包括感測單元108中之一或多個感測器,其等耦合至記憶體區段101及控制器102。因此,控制器102可經組態以基於來自感測單元108之信號來選擇待用於定義ECC更正能力之同位胞元之數目。
此外,根據另一實施例,基於感測放大器裕度量測來選擇適合用於定義ECC更正能力之同位胞元之數目。換言之,控制器可經組態以藉由使用感測放大器(諸如圖1之電路部分105之感測放大器)來選擇保護等級。
在此實施例中,基於多參考感測之保護等級決策確保在裕度變得過小時精確建立。可採用此方法來代替錯誤頻率偵測。在此情況中,圖7之流程圖實質上相同,但ECC保護等級之重設值可為無ECC而非ECC1。事實上,由於感測放大器可預測裕度損失,故可降低平均ECC保護等級。
如先前提及,記憶體裝置可整合一專用硬體(例如,整合於圖1之ECC單元104中)以將ECC保護等級適當地指派給陣列之各部分。
綜上所述,取決於特定境況,改變ECC保護等級係基於若干觸發事件,諸如內部感測器、條件、偵測器、特殊市場、程序品質、計數器。例如,特殊市場(諸如汽車、航天等)可能需要一較高ECC保護。
因此,ECC單元經程式化以確保在簡單性與缺陷率匹配之間進行權衡。圖9A及圖9B展示經實施ECC選擇演算法之成本相對於陣列之胞元之老化之示意性例示性曲線圖。應注意,儘管在X軸上表示老化,然此處揭示之概念不限於成本演變相對於老化,且實情係,其等適用於可潛在地影響記憶體胞元之位元錯誤率之任何因素(例如,流逝時間、循環、耐久性、曝露於高/低溫、硬/軟故障機制、電壓漂移等;因此,老化僅為許多可能實例之一者且應對應地廣義解釋圖)。如圖4A及圖4B所見,假設即使可能發生不同情境,缺陷密度(及因此所需ECC更正功率)亦隨著老化而增加。
更特定言之,參考圖9A,線901’表示胞元之一估計缺陷率趨勢(基於隨著老化增加之一線性缺陷率或其他參數),而階狀部902’表示以藉由使用一基於使用壽命之技術來選擇ECC保護等級(例如,藉由對存取數目進行計數,如圖6A及圖6B中通常描繪)所獲取之佔用面積計之成本趨勢。因此,此一演算法基於一估計缺陷率趨勢(例如,可藉由定義用於切換ECC保護等級之數目存取或通常使用壽命事件之一臨限值來獲取估計缺陷率趨勢)。另一方面,線903’表示記憶體之實際缺陷率趨勢且線904’表示一ECC技術之成本,其基於一實際量測而不僅基於其估計(例如,基於錯誤頻率及/或感測放大器裕度量測或類似者)。因此,若用於選擇ECC保護等級之技術係基於缺陷率,則最佳化操作,其較佳地適應實際趨勢。
參考圖9B,線901’’、902’’、903’’及904’’分別對應於圖9A之線901’、902’、903’及904’。然而,在此情況中,在曲線圖部分905’’,實際缺陷率趨勢甚至比估計線性案例預期的更差,使得一基於使用壽命之技術將產生記憶體之一錯誤操作,而一基於缺陷率之技術能夠依以成本計之較佳平均效能遵循實際缺陷率趨勢。
換言之,因此,若用於程式化控制器且決定適當等級之演算法係基於缺陷率且缺陷率趨勢比預期更佳,則最佳化ECC保護等級。事實上,減少以面積/功率/時間計之平均成本,如圖9A中展示。此外,若缺陷率比預期更差,則ECC保護等級可過低,如圖9B中展示,使得一適應性演算法(例如,基於錯誤頻率、感測放大器裕度量測等之一技術)將ECC保護等級最佳化至實際缺陷率且改良可靠性。因此,一適當保護等級演算法減少平均成本且改良可靠性。
取決於特定應用,可選取用以選擇待使用同位胞元之數目之一些或甚至全部所揭示準則之一混合物。舉例而言,運用裕度量測之感測亦可與錯誤頻率量測相關聯。
總之,本發明藉由考量陣列之特性之演變,而非強制使用最大保護(即,而非使ECC基於壽命終止可靠性,其始終使用最高ECC保護等級且使用專用於同位之全部記憶體胞元)來提供複數個記憶體胞元之一可選擇ECC更正能力。有利地,降低ECC保護等級(例如,在BER對應較低時)允許減少與同位相關聯之所使用記憶體胞元之數目且因此降低功率消耗。
因此,ECC更正能力基於其時變狀態在陣列之使用壽命內可變,使得ECC保護適應記憶體胞元健康狀況。根據本發明之實施例,ECC保護等級適應獨立管理之陣列之特定部分之保護需求。部分尺寸可從ECC碼字至晶粒有所不同。事實上,一部分可對應於如同一記憶體庫群組、一記憶體庫、一區段或任何其他內部細分的一內部細分,或可對應於如同一緩衝區、一頁面之一規範/主機細分,或可對應於其他有益尺寸。在任何情況中,部分愈小,以功率消耗計之益處愈高。
可感測/寫入或未感測/寫入未使用胞元。更特定言之,根據本發明,未感測亦未寫入未使用胞元,因此降低功率消耗。所得錯誤概率自動降低,此係因為該等未使用胞元未參與碼字錯誤率(CWER)。未使用胞元在較長時間內保持新鮮,比其他胞元降級更少且在使用時符合CWER之一程度降低。當接著使用該等先前未使用胞元時,其等維持一較高可靠性及一較低BER。
因此,ECC保護等級僅在必要時增加,且可關斷對應ECC硬體。
用於切換ECC保護等級之觸發事件可為若干個且不限於一特定技術,其可隨著記憶體技術改變。
根據一例示性實施例,一種用於操作一記憶體胞元陣列之方法包括以下步驟:將使用者資料儲存於記憶體陣列之複數個記憶體胞元中;將與使用者資料相關聯之同位資料儲存於記憶體陣列之同位胞元中,其中所使用同位胞元之數目基於複數個記憶體胞元之一狀態來選擇且與一對應選定ECC更正能力有關;及對複數個記憶體胞元執行一ECC操作。在一些實例中,在一經義最小數目與一經定義最大數目之間選擇所使用同位胞元之數目。此ECC操作之ECC更正能力可基於所使用同位胞元之選定數目或反之亦然,例如,所使用同位胞元之選定數目可基於ECC更正能力。
根據一實施例,本發明亦係關於一種用於選擇儲存於一記憶體胞元陣列中之一碼字之ECC保護等級之方法,該方法包括:將經編碼使用者資料儲存於記憶體陣列之複數個記憶體胞元中;每當發生一事件時使與記憶體陣列之至少一個部分相關聯之一計數器之一值累加;基於計數器之值,選擇與(例如,儲存於記憶體陣列之一部分中之)碼字相關聯之數個同位胞元,選定同位胞元之數目與一對應ECC更正能力有關;及將同位資料儲存於選定同位胞元中。本發明之全部特徵亦可應用於此例示性方法。
若未明確指示,則方法步驟不一定按照所揭示序列。
本發明亦係關於一種記憶體裝置,其包括包含複數個記憶體胞元之一陣列及一控制器,該控制器經組態以:將使用者資料儲存於記憶體陣列之複數個記憶體胞元中;定義用於儲存同位資料之同位胞元之最大數目,同位胞元之最大數目對應於一ECC更正能力(或更正功率或保護等級);舉例而言基於儲存使用者資料之記憶體胞元(例如,儲存一碼字之有效負載之胞元)之一當前狀態在最大數目個同位胞元中選擇實際上用於儲存同位資料之同位胞元之數目;且根據陣列之記憶體胞元之狀態之一變動改變所使用同位胞元之數目。所選擇及使用同位胞元之數目可對應於一選定ECC更正能力,且反之亦然。所使用同位胞元之數目包括在對應於一最小ECC更正能力之一最小數目與最大數目之間。藉由可使用對應數目個選定同位胞元在若干保護等級模式之一者中操作之一ECC引擎提供可變ECC更正能力。
本發明亦揭示一種記憶體裝置,其包括包含複數個記憶體胞元之一陣列及該陣列之一操作單元,其中該操作單元經組態以:將使用者資料儲存於記憶體陣列之複數個記憶體胞元中;將與使用者資料相關聯之同位資料儲存於記憶體陣列之同位胞元中,其中所使用同位胞元之數目舉例而言基於複數個記憶體胞元之一狀態來選擇且與一對應ECC更正能力(或更正功率或保護等級)有關,且對複數個記憶體胞元執行一ECC操作,ECC更正能力係基於所使用同位胞元之選定數目。
上文揭示之全部特徵亦可應用於此等例示性記憶體裝置。
亦揭示一種包括一主機裝置及如上文之一記憶體裝置之相關系統,該系統包括(舉例而言)通信耦合至該記憶體裝置或主機之一顯示器、通信耦合至該記憶體裝置或主機之一網路介面及經耦合以向該系統提供電力之一電池之任一者。
在先前詳細描述中,參考形成其之一部分之隨附圖式,且其中藉由圖解展示特定實例。在圖式中,相同元件符號貫穿若干視圖描述實質上類似組件。可利用其他實例,且可在不脫離本發明之範疇之情況下作出結構、邏輯及/或電變化。另外,如將瞭解,圖中提供之元件之比例及相對尺度意欲繪示本發明之實施例且不應被視為限制意義。
如本文中使用,「一」、「一個」或「數個」某物可係指此等事物之一或多者。「複數個」某物意指兩個或更多個。如本文中使用,術語「耦合」可包含無中介元件之電耦合、直接耦合及/或直接連接(例如,藉由直接實體接觸)或具有中介元件之間接耦合及/或連接。術語耦合可進一步包含彼此協作或相互作用(例如,如呈一因果關係)的兩個或更多個元件。
儘管本文中已繪示且描述特定實例,然一般技術者將瞭解,經計算以達成相同結果之一配置可取代所展示之特定實施例。本發明意欲涵蓋本發明之一或多項實施例之調適或變動。應瞭解,已依一闡釋性方式而非一限制性方式進行上文描述。應參考隨附發明申請專利範圍以及此等發明申請專利範圍所授權之等效物之全範圍來判定本發明之一或多個實例之範疇。
100:記憶體裝置 101:記憶體區段 101’:記憶體胞元陣列 101’’:區塊 102:控制器 103:主機介面 104:錯誤更正碼(ECC)單元 105:電路部分 106:計數單元 106’:第一計數器 106’’:第二計數器 107:非揮發性區 108:感測單元 110:主機 110’:主機處理器 201:使用者資料型樣圖 210a:使用者資料 215a:經編碼使用者資料 220a:編碼程序 225:程序 300a:碼字 300b:碼字 300c:碼字 301:第一碼字部分 302:第二碼字部分 401’:線 401’’:線 402’’:階狀部 403’’:平線區 404’’:線 500:方法 510:步驟 520:步驟 530:步驟 540:步驟 600a:流程圖/方法 600b:流程圖/方法 610:步驟 620:步驟 630a:步驟 630b:步驟 640a:步驟 640b:步驟 650a:步驟 660:步驟 700:流程圖 901’:線 901’’:線 902’:階狀部 902’’:線 903’:線 903’’:線 904’:線 904’’:線 905’’:曲線圖部分 1000:系統 1010:介面 1020:網絡介面 CW:碼字
圖1係包括可根據本發明操作之一記憶體裝置之一系統之一示意性方塊圖;
圖2係根據本發明之實施例編碼之使用者資料型樣之一實例;
圖3展示根據本發明之實施例之選擇一碼字中之數個同位胞元之實例;
圖4A及圖4B係展示作為根據本發明之技術之結果之功率消耗相對於時間之曲線圖;
圖5係根據本發明之一實施例之一方法之步驟之一流程圖;
圖6A及圖6B係表示根據不同記憶體技術之基於一使用壽命計數器選擇一ECC保護等級之技術之流程圖;
圖7係表示基於一經計數錯誤頻率選擇ECC保護等級之一技術之一流程圖;
圖8示意性地展示經受一測試操作之一記憶體陣列之單獨部分;及
圖9A及圖9B係表示一經實施ECC保護等級選擇技術之成本相對於陣列之胞元之老化的示意性例示性曲線圖。
300a:碼字
300b:碼字
300c:碼字
301:第一碼字部分
302:第二碼字部分

Claims (27)

  1. 一種用於操作一記憶體胞元陣列之方法,該方法包括: 將使用者資料儲存於該記憶體陣列之複數個記憶體胞元中; 將與該使用者資料相關聯之同位資料儲存於該記憶體陣列之同位胞元中,其中所使用同位胞元之一數目基於該等記憶體胞元之一狀態來選擇且與一選定錯誤更正碼(ECC)更正能力有關;及 基於所使用同位胞元之該選定數目,對該複數個記憶體胞元執行一ECC操作。
  2. 如請求項1之方法,其包括將與該選定ECC更正能力有關之資料資訊儲存於該記憶體陣列之至少一個專用非揮發性區中。
  3. 如請求項1之方法,其包括將該陣列之該等記憶體胞元分組成複數個部分,該複數個部分之各部分基於其之該等記憶體胞元之該狀態而被指派一特定ECC更正能力。
  4. 如請求項3之方法,其中該複數個部分之一部分對應於一碼字、一記憶體庫、一記憶體庫群組、該陣列之一區段、整個陣列、一緩衝區、一頁面之一者。
  5. 如請求項3之方法,其包括儲存與該複數個部分之各部分之該選定ECC更正能力有關之各自資料資訊,該方法進一步包括將該資料資訊儲存於一查找表中,其中在該查找表中,該陣列之各部分與其各自選定ECC更正能力相關聯。
  6. 如請求項1之方法,其中一碼字用與其相關聯且與該碼字之該選定ECC更正能力有關之額外資訊位元進行編碼。
  7. 如請求項1之方法,其包括基於該等記憶體胞元之該狀態之一變動來改變該選定ECC更正能力。
  8. 如請求項1之方法,其中基於用於對對該等記憶體胞元之存取之一數目或再新事件之一數目或電力開啟事件之一數目或其等之一組合之至少一者進行計數之一第一計數器之一值來選擇待用於定義該選定ECC更正能力之同位胞元之該數目,該第一計數器之該值指示該等記憶體胞元之該狀態。
  9. 如請求項1之方法,其中基於一計數錯誤頻率來選擇待用於定義該選定ECC更正能力之同位胞元之該數目。
  10. 如請求項1之方法,其包括: 憑藉一測試機測試該記憶體陣列之至少一個部分之品質;及 基於所執行品質測試將待用於定義該選定ECC更正能力之適當數目個同位胞元指派給該至少一個部分。
  11. 如請求項1之方法,其中由使用者或基於耦合至該記憶體陣列之感測器之信號來選擇待用於定義該ECC更正能力之同位胞元之該數目。
  12. 如請求項1之方法,其中基於感測放大器裕度量測來選擇待用於定義該選定ECC更正能力之同位胞元之該數目。
  13. 如請求項1之方法,其包括僅寫入及/或感測用於儲存該使用者資料之該等記憶體胞元及用於儲存該同位資料之該等選定同位胞元,其中在一最大數目與一最小數目之間選擇該等所使用同位胞元且未使用同位胞元之一數目係該最大數目與所使用同位胞元之該數目之間之一差,且其中未寫入亦未感測該等未使用同位胞元。
  14. 一種記憶體裝置,其包括: 一陣列,其包含複數個記憶體胞元;及 一控制器,其經組態以: 將使用者資料儲存於該複數個記憶體胞元中; 定義用於儲存同位資料之同位胞元之一最大數目,同位胞元之該最大數目對應於一最大錯誤更正碼(ECC)更正能力; 基於該等記憶體胞元之一狀態,選擇對應於一選定ECC更正能力之待用於儲存該同位資料之同位胞元之一數目,所使用同位胞元之數目包括在對應於一最小ECC更正能力之一最小數目與該最大數目之間;且 基於該等記憶體胞元之該狀態之一變動來改變所使用同位胞元之該數目。
  15. 如請求項14之記憶體裝置,其中將該陣列劃分成複數個部分,該複數個部分之各部分基於該部分之該等記憶體胞元之一特定狀態而被指派一特定選定ECC更正能力。
  16. 如請求項15之記憶體裝置,其中該複數個部分之一部分對應於一碼字、一記憶體庫、一記憶體庫群組、該陣列之一區段、整個陣列、一緩衝區、一頁面之一者。
  17. 如請求項14之記憶體裝置,其中該陣列包括經調適以儲存與該選定ECC更正能力有關之資料資訊之至少一個區。
  18. 如請求項14之記憶體裝置,其中該控制器包括耦合至該控制器之一ECC引擎。
  19. 如請求項15之記憶體裝置,其中該控制器經組態以針對該複數個部分之各部分將與該各自特定選定ECC更正能力有關之各自資料資訊儲存於該陣列中,該控制器進一步經組態以將該資料資訊儲存於一查找表中,其中在該查找表中,該陣列之各部分與其各自特定選定ECC更正能力相關聯。
  20. 如請求項14之記憶體裝置,其包括經組態以對對該等記憶體胞元之存取之一數目或再新事件之一數目或電力開啟事件之一數目或其等之一組合之至少一者進行計數之一第一計數器,其中待用於定義一ECC更正能力之同位胞元之數目基於該第一計數器之一值來選擇。
  21. 如請求項14之記憶體裝置,其包括經組態以對所偵測錯誤之一數目進行計數之一第二計數器,所使用同位胞元之該數目基於一計數錯誤頻率來選擇。
  22. 如請求項14之記憶體裝置,其包括: 一感測單元,其耦合至該記憶體陣列,其中該控制器經組態以基於該感測單元之信號來選擇所使用同位胞元之該數目;及 感測放大器,其中該控制器經組態以基於感測放大器裕度量測來選擇所使用同位胞元之該數目。
  23. 如請求項14之記憶體裝置,其中該控制器經組態以僅寫入及/或感測用於儲存該使用者資料之該等記憶體胞元及該等所使用同位胞元,其中未寫入亦未感測未使用同位胞元。
  24. 如請求項14之記憶體裝置,其中一碼字包括與其相關聯且與該碼字之該選定ECC更正能力有關之各自額外資訊位元。
  25. 如請求項15之記憶體裝置,其中不同計數器與該陣列之不同各自部分相關聯,各計數器表示該各自部分之一各自累積值,該控制器經組態以基於比較該各自部分之該各自累積值與一臨限值而對一或多個部分選擇性地執行該ECC更正能力變動。
  26. 一種記憶體裝置,其包括: 一陣列,其包含複數個記憶體胞元;及 該陣列之一操作單元, 其中該操作單元經組態以: 將使用者資料儲存於該記憶體陣列之複數個記憶體胞元中; 將與該使用者資料相關聯之同位資料儲存於該記憶體陣列之同位胞元中,其中所使用同位胞元之一數目基於該複數個記憶體胞元之一狀態來選擇且與一對應錯誤更正碼(ECC)更正能力有關;且 基於所使用同位胞元之該選定數目,對該複數個記憶體胞元執行一ECC操作。
  27. 一種用於選擇儲存於一記憶體胞元陣列中之一碼字之一錯誤更正碼(ECC)保護等級之方法,該方法包括: 將經編碼使用者資料儲存於複數個記憶體胞元中; 每當發生一事件時,使與該記憶體陣列之至少一個部分相關聯之一計數器之一值累加; 基於該計數器之該值,選擇與碼字相關聯之數個同位胞元,選定同位胞元之數目與一對應ECC更正能力有關;及 將同位資料儲存於該等選定同位胞元中。
TW111107518A 2021-03-02 2022-03-02 用於改良記憶體之錯誤更正碼操作之方法及系統 TW202236291A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/IB2021/020008 WO2022185088A1 (en) 2021-03-02 2021-03-02 Methods and systems for improving ecc operation of memories
WOPCT/IB2021/020008 2021-03-02

Publications (1)

Publication Number Publication Date
TW202236291A true TW202236291A (zh) 2022-09-16

Family

ID=83154781

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111107518A TW202236291A (zh) 2021-03-02 2022-03-02 用於改良記憶體之錯誤更正碼操作之方法及系統

Country Status (4)

Country Link
US (1) US20240194284A1 (zh)
CN (1) CN116868270A (zh)
TW (1) TW202236291A (zh)
WO (1) WO2022185088A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023047149A1 (en) * 2021-09-23 2023-03-30 Micron Technology, Inc. Improved ecc configuration in memories
US12039176B2 (en) 2022-09-26 2024-07-16 Micron Technology, Inc. Providing multiple error correction code protection levels in memory

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010076835A1 (en) * 2008-12-31 2010-07-08 Christophe Laurent Error correction code for unidirectional memory
KR20130027138A (ko) * 2011-09-07 2013-03-15 삼성전자주식회사 에러 정정 방법 및 이를 이용하는 메모리 장치
US10067823B2 (en) * 2014-12-04 2018-09-04 Western Digital Technologies, Inc. Systems and methods for adaptive error corrective code mechanisms
US9984771B2 (en) * 2016-01-11 2018-05-29 Sandisk Technologies Llc Multi-level raid-type encoding with random correction capability
DE102017212767B4 (de) * 2017-07-25 2019-05-09 Hyperstone Gmbh Verfahren und Vorrichtung zur Steigerung der Zuverlässigkeit eines nicht-flüchtigen Speichers

Also Published As

Publication number Publication date
CN116868270A (zh) 2023-10-10
WO2022185088A1 (en) 2022-09-09
US20240194284A1 (en) 2024-06-13
WO2022185088A8 (en) 2023-11-09

Similar Documents

Publication Publication Date Title
US11334413B2 (en) Estimating an error rate associated with memory
US20220130482A1 (en) Global-local Read Calibration
TW202236291A (zh) 用於改良記憶體之錯誤更正碼操作之方法及系統
US10747660B2 (en) Method and system for forming and using memory superblocks based on performance grades
US11810627B2 (en) Selective read disturb sampling
TW202240389A (zh) 具有改良的錯誤更正碼(ecc)架構之記憶體裝置
US20170018315A1 (en) Test system and test method
WO2023028347A1 (en) Monitoring memory device health according to data storage metrics
CN114446379A (zh) 基于各种定时容限参数设定的性能度量来对存储器装置进行评级
TW202240594A (zh) 用於管理具有動態錯誤更正碼保護之記憶體的方法及系統
US20230230645A1 (en) Media management operations based on health characteristics of memory cells
US20240211347A1 (en) Improved ecc configuration in memories
US20230122275A1 (en) Voltage calibration scans to reduce memory device overhead
US20190332322A1 (en) Memory system including resistive variable memory device and operating method thereof
US20240221857A1 (en) Methods and systems for reducing ecc power consumption
US12039176B2 (en) Providing multiple error correction code protection levels in memory
TWI842137B (zh) 記憶體中之錯誤更正碼功率消耗優化
US20240111431A1 (en) Adaptive super block wear leveling
US11742053B2 (en) Managing execution of a scrub operation in view of an operating characteristic of a memory subsystem
US20240062834A1 (en) Adaptive integrity scan in a memory sub-system
US20240061589A1 (en) Code rate as function of logical saturation
TW202329148A (zh) 記憶體中之錯誤更正碼功率消耗優化