TWI482169B - 後端記憶體系統介面之動態最佳化 - Google Patents

後端記憶體系統介面之動態最佳化 Download PDF

Info

Publication number
TWI482169B
TWI482169B TW100124825A TW100124825A TWI482169B TW I482169 B TWI482169 B TW I482169B TW 100124825 A TW100124825 A TW 100124825A TW 100124825 A TW100124825 A TW 100124825A TW I482169 B TWI482169 B TW I482169B
Authority
TW
Taiwan
Prior art keywords
memory
circuit
controller
data
memory system
Prior art date
Application number
TW100124825A
Other languages
English (en)
Other versions
TW201225100A (en
Inventor
Chun Sing Jackson Chung
Steven Shisan Cheng
Eran Erez
Original Assignee
Sandisk Technologies Inc
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
Priority claimed from US12/835,292 external-priority patent/US8464135B2/en
Priority claimed from US13/087,640 external-priority patent/US9069688B2/en
Application filed by Sandisk Technologies Inc filed Critical Sandisk Technologies Inc
Publication of TW201225100A publication Critical patent/TW201225100A/zh
Application granted granted Critical
Publication of TWI482169B publication Critical patent/TWI482169B/zh

Links

Classifications

    • 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
    • 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
    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/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/10Programming or data input circuits
    • 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/022Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
    • 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
    • G11C2029/0411Online error correction
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)

Description

後端記憶體系統介面之動態最佳化
本申請案係關於諸如半導體快閃記憶體等可再程式化非揮發性記憶體系統之操作,且更特定而言係關於該記憶體系統之控制器與記憶體電路之間的內部介面。
最近,具有非揮發性電荷儲存能力之固態記憶體,尤其係作為一小形狀因數卡封裝之EEPROM及快閃EEPROM形式之固態記憶體,已成為各種行動及手持裝置、特別係資訊用具及消費型電子產品中之優選儲存裝置。不同於同樣為固態記憶體之RAM(隨機存取記憶體),快閃記憶體係非揮發性,且即使在關斷電源之後亦保持其所儲存資料。此外,不同於ROM(唯讀記憶體),快閃記憶體類似於一磁碟儲存裝置係可重寫的。儘管成本較高,然而快閃記憶體卻正越來越多地用於大容量儲存應用中。基於旋轉磁性媒體之習用大容量儲存裝置(諸如硬碟機及軟磁碟)不適合於行動及手持環境。此乃因磁碟機往往較為笨重,易於發生機械故障,且具有高延時及高電力要求。此等不期望之屬性使得基於磁碟之儲存裝置不適用於大多數行動及可攜式應用。另一方面,快閃記憶體(嵌入式及呈一可抽換卡之形式兩者)因其小大小、低電力消耗、高速度及高可靠性特徵而理想地適用於行動及手持環境。
快閃EEPROM類似於EEPROM(電可抹除及可程式化唯讀記憶體),此乃因其係可被抹除的且使新資料寫入或「程式化」至其記憶體胞中之一非揮發性記憶體。兩者皆在一場效應電晶體結構中利用一浮動(未連接之)導電閘極,該浮動導電閘極定位於一半導體基板中之一通道區上方、源極與汲極區之間。接著,在該浮動閘極上方提供一控制閘極。該電晶體之臨限電壓特性受到該浮動閘極上所保持之電荷量之控制。亦即,對於浮動閘極上之一給定電荷位準,存在在「接通」電晶體以准許其源極區與汲極區之間導電之前必須施加至控制閘極之一對應電壓(臨限值)。特定而言,諸如快閃EEPROM之快閃記憶體允許同時抹除若干個完整的記憶體胞區塊。
浮動閘極可保持一電荷範圍,且因此可被程式化至一臨限電壓窗內之任一臨限電壓位準。該臨限電壓窗之大小由裝置之最小臨限位準及最大臨限位準來定界,而裝置之最小臨限位準及最大臨限位準又對應於可程式化至該浮動閘極上之電荷範圍。臨限窗一般取決於記憶體裝置之特性、操作條件及歷史。原則上,該窗內之每一不同可解析之臨限電壓位準範圍皆可用於指定該胞之一明確記憶體狀態。
充當一記憶體胞之電晶體通常藉由兩種機制中之一者程式化至一「經程式化」狀態。在「熱電子注入」中,施加至汲極之一高電壓跨越基板通道區使電子加速。同時,施加至控制閘極之一高電壓將熱電子穿過一薄閘極介電質拉動至達浮動閘極上。在「穿隧注入」中,相對於基板向控制閘極施加一高電壓。以此方式,將電子自基板拉至中間浮動閘極。儘管歷史上係使用術語「程式化」來闡述藉由將電子注入至記憶體胞之一經最初抹除電荷儲存單元以更改記憶體狀態而向一記憶體寫入,但其現已與更常見術語諸如「寫入」或「記錄」互換使用。
可藉由若干種機制抹除記憶體裝置。對於EEPROM,可藉由相對於控制閘極向基板施加一高電壓以便誘使浮動閘極中之電子穿過一薄氧化物穿隧至基板通道區(亦即,傅勒-諾德翰穿隧(Fowler-Nordheim tunneling))來電抹除一記憶體單元。通常,可逐位元組地抹除EEPROM。對於快閃EEPROM,記憶體係可一次電抹除其全部或每一次電抹除一或多個最小可抹除區塊,其中一最小可抹除區塊可由一或多個區段組成且每一區段可儲存512個位元組或512個位元組以上之資料。
記憶體裝置通常包含可安裝在一卡上之一或多個記憶體晶片。每一記憶體晶片皆包含由周邊電路(諸如,解碼器以及抹除、寫入及讀取電路)所支援之一記憶體單元陣列。更複雜之記憶體裝置亦帶有一控制器,該控制器執行智慧及較高階記憶體操作及介接。
存在現今正使用之諸多商業上成功之非揮發性固態記憶體裝置。此等記憶體裝置可係快閃EEPROM或可採用其他類型之非揮發性記憶體胞。在第5,070,032號、第5,095,344號、第5,315,541號、第5,343,063號及第5,661,053號、第5,313,421號及第6,222,762號美國專利中給出快閃記憶體及系統以及其製造方法之實例。特定而言,具有NAND串結構之快閃記憶體裝置闡述於第5,570,315號、第5,903,495號、第6,046,935號美國專利中。此外,亦由具有用於儲存電荷之一電介質層之記憶體胞製造非揮發性記憶體裝置。其使用一介電層代替先前所闡述之導電浮動閘極元件。利用介電儲存元件之此等記憶體裝置已由Eitan等人闡述,「NROM:A Novel Localized Trapping,2-Bit Nonvolatile Memory Cell」(IEEE Electron Device Letters,第21卷,第11號,2000年11月,第543-545頁)。一ONO介電層延伸跨越源極擴散區與汲極擴散區之間的通道。用於一個資料位元之電荷局部化於毗鄰汲極之介電層中,而用於另一資料位元之電荷則局部化於毗鄰源極之介電層中。舉例而言,第5,768,192及6,011,725號美國專利揭示具有夾在兩個二氧化矽層之間的一陷獲介電質之一非揮發性記憶體胞。多狀態資料儲存係藉由分離地讀取介電質內在空間上分離之電荷儲存區之二進位狀態來實施。
為改良讀取及程式化效能,平行讀取或程式化一陣列中之多個電荷儲存元件或記憶體電晶體。因此,一起讀取或程式化一記憶體元件「頁」。在現有記憶體架構中,一列通常含有數個交錯頁或其可構成一個頁。將一起讀取或程式化一頁之所有記憶體元件。
在快閃記憶體系統中,抹除操作可花費比讀取及程式化操作長一數量級的時間。因此,期望具有實質大小之抹除區塊。以此方式,在一大記憶體胞聚集體上分攤抹除時間。
快閃記憶體之性質意味著資料必須寫入至一經抹除之記憶體位置。若欲更新來自一主機之某一邏輯位址之資料,則一種方式係將該更新資料重寫於相同實體記憶體位置中。亦即,不改變邏輯至實體位址映射。然而,此將意味著含有彼實體位置之整個抹除區塊將首先被抹除且然後用更新之資料覆寫。此更新方法係低效的,乃因其需要抹除及寫入一整個抹除區塊,尤其係在欲更新之資料僅佔據抹除區塊之一小部分之情形下。其亦將導致對記憶體區塊之一較高頻率之抹除再循環,鑒於此類型之記憶體裝置之有限耐久性此係不期望的。
將透過主機系統、記憶體系統及其他電子系統之外部介面傳送之資料定址且映射至一快閃記憶體系統之實體位置中。通常,由系統產生或接收之資料檔案之位址係映射至根據邏輯資料區塊(下文稱為「LBA介面」)針對系統建立之一連續邏輯位址空間之不同範圍中。該位址空間之廣度通常充足以覆蓋該系統能夠處置之全位址範圍。在一個實例中,磁碟機透過此一邏輯位址空間與電腦或其他主機系統通信。此位址空間具有足以定址磁碟機之整個資料儲存容量之一廣度。
存在藉由減少電力消耗以及增加裝置速度來改良記憶體裝置之效能之一不斷努力。如上文所提及,非揮發性記憶體裝置通常由彼此經由一匯流排結構連接之一控制器電路及一或多個記憶體晶片形成。控制器/記憶體裝置介面之設定(諸如所用的電壓值及頻率)通常係根據所預期之最差情形情境來設定以具有足夠之安全限度以避免裝置故障。因此,在大多數情形中,介面係以小於最佳條件操作。由於此介面可係裝置效能之一限制因子,因而存在改良此介面之設計之空間。
根據本發明之一一般態樣,呈現操作一非揮發性記憶體系統之一方法。該非揮發性記憶體系統包括:具有一記憶體介面之一控制器電路;具有一非揮發性記憶體胞陣列及一控制器介面之一記憶體電路;及連接至該控制器電路之該記憶體介面及該記憶體電路之該控制器介面用於其之間的資料及命令之傳送之一匯流排結構。該記憶體系統可容許來自當進行以下操作時之一第一非零累積錯誤量:將自該控制器傳送資料以寫入至該記憶體陣列直至隨後自該記憶體陣列讀回之後在該控制器處接收到該資料為止。該方法包括該控制器將該第一錯誤量之一第一非零部分分配給經由該匯流排結構在該控制器電路與該記憶體電路之間的資料之傳送,將該第一錯誤量之剩餘分配給在該記憶體電路上對該資料之寫入、儲存及讀取。該控制器電路設定該控制器電路與該記憶體電路之間操作之傳送特性以最多允許該第一部分之錯誤。
在其他態樣中,呈現操作包括一記憶體電路及一控制器電路之一非揮發性記憶體系統之方法。該控制器電路藉由針對連接該控制器與該記憶體電路之一匯流排結構針對一或多個操作參數中之每一者之複數個值中之每一者執行來執行一傳輸錯誤校準。此處理程序包括將一已知資料型樣之一資料集經由該控制器上之傳輸電路自該控制器傳送至該匯流排結構及經由該記憶體電路上之接收電路自該匯流排結構接收該資料集。將所接收之該資料集儲存於該記憶體電路上之緩衝記憶體中且然後經由該記憶體電路上之傳輸電路將儲存於該記憶體電路上之緩衝記憶體中而未寫入至該陣列中之該資料集傳送至該匯流排結構。經由該控制器上之接收電路自該匯流排結構接收該資料集且對所接收之該資料集與該已知型樣執行一比較。基於該比較針對所用的一或多個操作參數判定與該傳輸處理程序相關聯之錯誤量。隨後操作該記憶體系統以在該控制器電路與該記憶體電路之間的該資料傳輸中允許一第一非零錯誤量,其中該控制器電路根據基於該所判定之相關聯錯誤量之該傳輸錯誤校準處理程序選擇該等操作參數之值。
根據本發明之另一一般態樣,一非揮發性記憶體系統具有:一控制器電路,其包括一記憶體介面及邏輯電路;及一記憶體電路,其包括一非揮發性記憶體胞陣列、一控制器介面及邏輯電路。該記憶體系統亦包括連接至該控制器電路之該記憶體介面及該記憶體電路之該控制器介面用於在該控制器與該記憶體電路之間的資料及命令之傳送之一匯流排結構。一回饋處理電路在資料在該控制器與該記憶體電路之間的一傳送期間連接至該控制器與該記憶體電路中之接收者之邏輯電路用於接收關於作為傳送之一結果而發生的錯誤量之資訊,且連接至該記憶體介面及該控制器介面中之一者或兩者以回應於該錯誤量而調整其之間的傳送之特性。
在另一其他態樣中,呈現操作包括一非揮發性記憶體電路及一控制器電路之一非揮發性記憶體系統之方法。在該控制器電路及該記憶體電路中之一第一者上之邏輯電路中根據一資料集產生一第一散列值。藉由該控制器電路及該記憶體電路中之第一者上之一介面將該資料集及該第一散列值傳輸至一匯流排結構,且藉由該控制器電路及該記憶體電路中之第二者上之一介面自該匯流排結構接收該資料集及該第一散列值。然後在該控制器電路及該記憶體電路中之第二者上之邏輯電路中根據所接收之該資料集產生一第二散列值,且然後在該控制器電路及該記憶體電路中之第二者上將所接收之該第一散列值與該第二散列值進行比較。基於該控制器電路及該記憶體電路中之第二者上之邏輯電路對所接收之該第一散列值與第二散列值之比較,該系統判定是否更改該控制器電路與該記憶體電路之間的資料傳送之特性。
本發明之各種態樣、優點、特徵及實施例包括於下文對本發明實例性實例之說明中,該說明應結合隨附圖式一起理解。本文中所提及之所有專利、專利申請案、論文、其他公開案、文獻及諸如此類皆出於各種目的特此以全文引用的方式併入本文中。在對所併入之公開案、文獻或諸如此類中之任一者與本申請案之間存在術語之定義或用法之任何不一致或衝突之情形下,應以本申請案之定義或用法為準。
記憶體系統
圖1至圖7提供其中可實施或圖解說明本發明之各種態樣之實例性記憶體系統。
圖8至圖10圖解說明用於實施本發明之各種態樣之較佳記憶體及區塊架構。
圖11至圖13圖解說明在控制器與該(或該等)記憶體電路之間的一適應性內部介面之使用。
圖1示意性地圖解說明適合於實施本發明之一記憶體系統之主硬體組件。記憶體系統90通常透過一主機介面與一主機80一起操作。該記憶體系統通常呈一記憶體卡或一嵌入式記憶體系統之形式。記憶體系統90包括一記憶體200,記憶體200之操作由一控制器100控制。記憶體200包含分佈於一或多個積體電路晶片上之一或多個非揮發性記憶體胞陣列。控制器100包括一介面110、一處理器120、一可選共處理器121、ROM 122(唯讀記憶體)、RAM 130(隨機存取記憶體)且視情形包括可程式化非揮發性記憶體124。介面110具有將該控制器介接至一主機之一個組件及將該控制器介接至記憶體200之另一組件。儲存於非揮發性ROM 122及/或可選非揮發性記憶體124中之韌體為處理器120提供實施控制器100之功能之碼。處理器120或可選共處理器121可處理錯誤校正碼。在一替代實施例中,控制器100由一狀態機(未展示)實施。在又另一實施例中,控制器100實施於主機內。
實體記憶體結構
圖2示意性地圖解說明一非揮發性記憶體胞。記憶體胞10可由具有一電荷儲存單元20(諸如,一浮動閘極或一介電層)之一場效應電晶體實施。記憶體胞10亦包括一源極14、一汲極16及一控制閘極30。
存在現今正使用之諸多商業上成功之非揮發性固態記憶體裝置。此等記憶體裝置可採用不同類型之記憶體胞,每一類型之記憶體胞皆具有一或多個電荷儲存元件。
典型非揮發性記憶體胞包括EEPROM及快閃EEPROM。在第5,595,924號美國專利中給出EEPROM記憶胞及其製造方法之實例。在第5,070,032號、第5,095,344號、第5,315,541號、第5,343,063號、第5,661,053號、第5,313,421號及第6,222,762號美國專利中給出快閃EEPROM記憶胞、EEPROM記憶胞在記憶體系統中之使用及其製造方法之實例。特定而言,在第5,570,315號、第5,903,495號、第6,046,935號美國專利中闡述具有NAND記憶胞結構之記憶體裝置之實例。此外,利用電介質儲存元件之記憶體裝置之實例已由Eitan等人闡述:「NROM:A Novel Localized Trapping,2-Bit Nonvolatile Memory Cell」(IEEE Electron Device Letters,第21卷,第11期,2000年11月,第543-545頁)且在第5,768,192號及第6,011,725號美國專利中予以闡述。
實際上,通常藉由在將一參考電壓施加至控制閘極時感測跨越一記憶胞之源極電極與汲極電極的導電電流來讀取該記憶胞之記憶體狀態。因此,對於一記憶胞之浮動閘極上之每一給定電荷,皆可偵測到相對於一固定參考控制閘極電壓之一對應導電電流。類似地,可程式化至浮動閘極上之電荷之範圍定義一對應臨限電壓窗或一對應導電電流窗。
另一選擇係,替代偵測一所分割電流窗當中之導電電流,可在控制閘極處為一測試中給定記憶體狀態設定臨限電壓且偵測該導電電流低於還是高於一臨限電流。在一個實施方案中,相對於一臨限電流偵測導電電流係藉由檢驗導電電流正透過位元線之電容放電之速率來達成。
圖3圖解說明針對浮動閘極可在任何一個時間選擇性地儲存之四個不同電荷Q1至Q4的源極-汲極電流ID 與控制閘極電壓VCG 之間的關係。該四條實體ID 對VCG 曲線表示可在一記憶體單元之一浮動閘極上程式化之四種可能電荷位準,其分別對應於四種可能記憶體狀態。作為一實例,一記憶胞群體之臨限電壓窗可介於自0.5 V至3.5 V之範圍內。可藉由將該臨限窗分割成每一區0.5 V之間隔的五個區來分界分別表示一個經抹除狀態及六個經程式化狀態之七個可能的記憶體狀態「0」、「1」、「2」、「3」、「4」、「5」、「6」。舉例而言,若如所展示使用2 μA之一參考電流IREF,則藉助Q1程式化之記憶胞可視為處於一記憶體狀態「1」中,乃因其曲線與IREF 在由VCG =0.5 V及1.0 V分界的臨限窗之區中相交。類似地,Q4係處於一記憶體狀態「5」中。
如自以上說明可看出,使一記憶體胞儲存之狀態越多,其臨限窗劃分得越精細。舉例而言,一記憶體裝置可具有若干個記憶體胞,該等記憶體胞具有介於-1.5 V至5 V範圍內之一臨限窗。此提供6.5 V之最大寬度。若該記憶體胞欲儲存16個狀態,則每一狀態在臨限窗中可佔據自200 mV至300 mV。此將需要更高之程式化及讀取操作精確度,以能夠達成所需解析度。
圖4A示意性地圖解說明組織成一NAND串之一記憶體胞串。一NAND串50包含一系列由其源極及汲極菊鏈連接之記憶體電晶體M1、M2、…、Mn(例如,n=4、8、16或更高)。一對選擇電晶體S1、S2分別經由該NAND串之源極端子54及汲極端子56控制該記憶體電晶體鏈至外部之連接。在一記憶體陣列中,當源極選擇電晶體S1接通時,該源極端子耦合至一源極線(參見圖4B)。類似地,當汲極選擇電晶體S2接通時,該NAND串之汲極端子耦合至該記憶體陣列之一位元線。該鏈中之每一記憶體電晶體10充當一記憶體胞。其具有一電荷儲存元件20以儲存一給定電荷量以便表示一既定記憶體狀態。每一記憶體電晶體之一控制閘極30允許對讀取及寫入操作進行控制。如在圖4B中將看出,NAND串之一列之對應記憶體電晶體之控制閘極30全部連接至相同字線。類似地,選擇電晶體S1、S2中之每一者之一控制閘極32分別經由其源極端子54及汲極端子56提供對該NAND串之控制存取。同樣地,NAND串之一列之對應選擇電晶體之控制閘極32全部連接至相同選擇線。
當在程式化期間讀取或驗證一NAND串內之一經定址記憶體電晶體10時,給其控制閘極30供應一適當電壓。同時,藉由在NAND串50中之剩餘未經定址記憶體電晶體之控制閘極上施加充足電壓來完全接通該等未經定址記憶體電晶體。以此方式,有效地自個別記憶體電晶體之源極至該NAND串之源極端子54形成一導電路徑,且同樣地自個別記憶體電晶體之汲極至該記憶胞之汲極端子56形成一導電路徑。第5,570,315、5,903,495、6,046,935號美國專利中闡述具有此等NAND串結構之記憶體裝置。
圖4B圖解說明由諸如圖4A中所示之NAND串50構成之一NAND記憶體胞陣列210之一實例。沿NAND串之每一行,一位元線(諸如,位元線36)耦合至每一NAND串之汲極端子56。沿NAND串之每一庫,一源極線(諸如,源極線34)耦合至每一NAND串之源極端子54。此外,沿NAND串之一庫中之一記憶體胞列之控制閘極連接至一字線(諸如,字線42)。沿NAND串之一庫中之一選擇電晶體列之控制閘極連接至一選擇線(諸如,選擇線44)。可藉由NAND串之一庫之字線及選擇線上之適當電壓來定址NAND串之該庫中之一整個記憶體胞列。當正讀取一NAND串內之一記憶體電晶體時,該串中之剩餘記憶體電晶體經由其相關聯之字線硬接通,以使得流經該串之電流基本上取決於儲存於正讀取之記憶胞中所儲存之電荷位準。
圖5圖解說明正被平行感測或程式化之組織成(舉例而言)NAND組態的一記憶體胞頁。圖5基本上展示圖4B之記憶體陣列210中之NAND串50之一庫,其中每一NAND串之細節係如圖4A中所明確展示。一「頁」(諸如,頁60)係使能夠平行感測或程式化之一記憶體胞群組。此藉由一對應頁之感測放大器212達成。所感測之結果係鎖存於一對應組之鎖存器214中。每一感測放大器可經由一位元線耦合至一NAND串。該頁係藉由共同連接至一字線42的該頁之該等記憶胞之控制閘極啟用且每一記憶胞可由一可經由一位元線36存取之感測放大器存取。作為一實例,當分別感測或程式化該記憶胞頁60時,一感測電壓或一程式化電壓分別施加至共同字線WL3,連同施加適當電壓於位元線上。
記憶體之實體組織
快閃記憶體與其他類型記憶體之間的一個重要差異係一記憶胞必須自經抹除狀態程式化。亦即,浮動閘極必須首先放空電荷。接著程式化將一所期望量之電荷添加回至浮動閘極。其不支援自浮動移除電荷之一部分以自一經程式化程度較高的狀態變為一經程式化程度較低的狀態。此意味著更新資料無法覆寫現有資料且必須寫入至一先前未經寫入之位置。
此外,抹除係自浮動閘極放空所有電荷且通常要花費可觀的時間。出於彼原因,逐記憶胞或甚至逐頁抹除將係麻煩的且極慢。實際上,記憶體胞陣列係劃分成大數目個記憶體胞區塊。如對於快閃EEPROM系統所常見,區塊係抹除單元。亦即,每一區塊含有一起抹除之最小數目個記憶體胞。儘管將欲平行抹除之大數目個記憶胞聚集成一區塊將改良抹除效能,但一大大小區塊亦需要處理較大數目個更新及過時資料。就在區塊被抹除之前,需要一廢棄項目收集以挽救該區塊中之非過時資料。
每一區塊通常係劃分成若干個頁。一頁係一程式化或讀取單元。在一項實施例中,可將個別頁劃分成若干個段,且該等段可含有作為一基本程式化操作一次寫入之最少數目個記憶胞。一或多個資料頁通常係儲存於一個記憶體胞列中。一頁可儲存一或多個區段。一區段包括使用者資料及附加項資料。跨越多個陣列分佈之多個區塊及頁亦可作為元區塊及元頁一起操作。若其分佈於多個晶片上,則其可作為元區塊及元頁一起操作。
多位階記憶胞(「MLC」)記憶體分割之實例
已結合圖3闡述了其中記憶體胞各自儲存多個資料位元之一非揮發性記憶體。一特定實例係由一場效應電晶體陣列形成之一記憶體,每一場效應電晶體在其通道區與其控制閘極之間具有一電荷儲存層。該電荷儲存層或單元可儲存一電荷範圍,從而產生每一場效應電晶體之一臨限電壓範圍。可能臨限電壓之範圍橫跨一臨限窗。當將該臨限窗分割成多個臨限電壓子範圍或區域時,每一可解析區域用於表示一記憶體胞之一不同記憶體狀態。該多個記憶體狀態可藉由一或多個二進位位元進行寫碼。舉例而言,分割成四個區域之一記憶體胞可支援可被寫碼為2位元資料之四個狀態。類似地,分割成八個區域之一記憶體胞可支援可被寫碼為3位元資料之八個記憶體狀態等等。
所有位元、全序列MLC程式化
圖6(0)至圖6(2)圖解說明程式化4個狀態之記憶體胞群體之一實例。圖6(0)圖解說明可程式化為分別表示記憶體狀態「0」、「1」、「2」及「3」之四個不同臨限電壓分佈之記憶體胞群體。圖6(1)圖解說明一經抹除記憶體之初始「經抹除」臨限電壓分佈。圖6(2)圖解說明在該等記憶體胞中之諸多記憶體胞已經程式化之後的記憶體之一實例。本質上,一記憶胞最初具有一「經抹除」臨限電壓且程式化將把其移動至一較高值,進入由驗證位準vV1 、vV2 及vV3 分界之三個區域中之一者中。以此方式,每一記憶體胞可被程式化為三個經程式化狀態「1」、「2」及「3」中之一者或保持未經程式化而處於「經抹除」狀態中。隨著記憶體程式化程度提高,如圖6(1)中所展示之「經抹除」狀態之初始分佈將變得較窄且該經抹除狀態由「0」狀態來表示。
具有一下部位元及一上部位元之2位元碼可用於表示四個記憶體狀態中之每一者。舉例而言,「0」、「1」、「2」及「3」狀態分別由「11」、「01」、「00」及「10」來表示。可藉由以「全序列」模式進行感測而自記憶體讀取2位元資料,在該「全序列」模式中,藉由分別以三個子遍相對於讀取分界臨限值rV1 、rV2 及rV3 進行感測而一起感測兩個位元。
逐位元MLC程式化及讀取
圖7A至圖7E圖解說明用一給定2位元碼編碼之4狀態記憶體之程式化及讀取。圖7A圖解說明當每一記憶體胞使用2位元碼儲存兩個資料位元時4狀態記憶體陣列之臨限電壓分佈。美國專利第7,057,939號中已揭示此一2位元碼。
圖7B圖解說明使用2位元碼之2遍程式化方案中之下部頁程式化(下部位元)。容錯LM新碼本質上避免任一上部頁程式化轉變穿過任何中間狀態。因此,第一遍下部頁程式化如藉由將「未經程式化」記憶體狀態「0」程式化至由(x,0)指定之「中間」狀態所表示使邏輯狀態(上部位元,下部位元)=(1,1)轉變至某一中間狀態(x,0),其中一經程式化臨限電壓大於DA 但小於DC
圖7C圖解說明使用2位元碼之2遍程式化方案中之上部頁程式化(上部位元)。在將上部頁位元程式化至「0」之第二遍中,若下部頁位元處於「1」,則如藉由將「未經程式化」記憶體狀態「0」程式化至「1」所表示將邏輯狀態(1,1)轉變至(0,1)。若下部頁位元處於「0」,則藉由自「中間」狀態程式化至「3」而獲得邏輯狀態(0,0)。類似地,若上部頁欲保持處於「1」,而下部頁已程式化至「0」,則如藉由將「中間」狀態程式化至「2」所表示其將需要自「中間」狀態至(1,0)之一轉變。
圖7D圖解說明辨別用2位元碼編碼之4狀態記憶體之下部位元所需之讀取操作。首先執行一讀取B操作以判定是否可讀取LM旗標。若可讀取,則上部頁已程式化且讀取B操作將正確地產生下部頁資料。另一方面,若上部頁尚未程式化,則將藉由一讀取A操作讀取下部頁資料。
圖7E圖解說明辨別用2位元碼編碼之4狀態記憶體之上部位元所需之讀取操作。如自該圖顯而易見,上部頁讀取將需要分別相對於分界臨限電壓DA 、DB 及DC 之讀取A、讀取B及讀取C之3遍讀取。
在針對一2位元記憶體之逐位元方案中,一實體記憶體胞頁將儲存兩個邏輯資料頁,即對應於下部位元之一下部資料頁及對應於上部位元之一上部資料頁。
二進位及MLC記憶體分割
圖6及圖7圖解說明2位元(亦稱作「D2」)記憶體之實例。如可看出,一D2記憶體使其臨限範圍或窗分割成指定4狀態之4個區。類似地,在D3中,每一記憶胞儲存3個位元(下部、中部及上部位元)且存在8個區。在D4中,存在4個位元及16個區等等。隨著記憶體之有限臨限窗被分割成更多區,程式化及讀取之解析度將有必要變得更精細。隨著記憶體胞經組態以儲存更多位元而出現兩個問題。
首先,當必須更準確地程式化或讀取一記憶胞之臨限值時程式化或讀取將較慢。實際上,在實務中,(程式化及讀取時所需的)感測時間往往隨分割位準之數目之平方而增加。
其次,快閃記憶體隨著其使用老化而具有一耐久性問題。當重複地程式化及抹除一記憶胞時,電荷藉由穿隧跨越一電介質而穿梭地進出浮動閘極20(參見圖2)。每一次,某些電荷可被陷獲於介電質中且將修改該記憶胞之臨限值。實際上,隨著使用,臨限窗將逐漸地變窄。因此,MLC記憶體通常經設計而在容量、效能及可靠性之間具有折衷。
相反,將看出,對於二進位記憶體,記憶體之臨限窗僅分割成兩個區。此將允許一最大誤差限度。因此,在消減儲存容量的同時進行二進位分割將提供最大效能及可靠性。
結合圖7闡述之多遍逐位元程式化及讀取技術提供MLC與二進位分割之間的一平滑轉變。在此情形下,若僅以下部位元程式化記憶體,則其實際上係一經二進位分割之記憶體。儘管此方法並不完全最佳化臨限窗之範圍(如在一單階記憶胞(「SLC」)記憶體之情形中一般),但其具有使用與MLC記憶體之下部位元之操作相同之分界或感測位準之優點。如稍後將闡述,此方法允許「徵用」一MLC記憶體以用作二進位記憶體,或反之亦然。應理解MLC記憶體往往具有更嚴格之使用規範。
二進位記憶體及部分頁程式化
程式化至一個記憶體胞之電荷儲存元件中之電荷產生一電場,其擾亂一相鄰記憶體胞之電場。此將影響相鄰記憶體胞(其本質上係具有一電荷儲存元件之一場效應電晶體)之特性。特定而言,當感測時,記憶體胞將看似具有高於在其受擾亂程度較低時之一臨限位準(或經程式化程度更高)。
一般而言,若一記憶體胞在一第一現場環境下經程式化驗證且稍後因相鄰記憶胞隨後以不同電荷程式化而在一不同現場環境下被再次讀取,則讀取準確度可因相鄰浮動閘極之間的耦合而受到影響,此稱為「Yupin效應」。隨著半導體記憶體之整合度越來越高,由於記憶體胞之間的所儲存電荷所致的電場之擾亂(Yupin效應)將因記憶胞間間距縮減而變得更加可觀。
以上結合圖7闡述之逐位元MLC程式化技術經設計以最小化來自沿相同字線之記憶胞之程式化干擾。如自圖7B可看出,在兩個程式化遍中之一第一遍中,該等記憶胞之臨限值移動至沿臨限窗向上的幾乎中途處。該第一遍之效應被最後一遍超過。在該最後一遍中,臨限值僅移動全程的四分之一。換言之,對於D2而言,相鄰記憶胞當中的電荷差異限制為其最大值的四分之一。對於D3,在三遍之情形下,最後一遍將電荷差異限制為其最大值的八分之一。
然而,逐位元多遍程式化技術將被部分頁程式化所連累。一頁係通常沿一列或字線之一記憶體胞群組,其作為一單元而一起程式化。有可能在多個程式遍上個別地程式化一頁之非重疊部分。然而,由於並非該頁之所有記憶胞在最後一遍中一起被程式化,因此其可在該頁完成程式化之後在記憶胞當中的經程式化電荷中形成大差異。因此,部分頁程式化將導致更多程式化干擾且將需要一較大感測準確度限度。
在記憶體係組態為二進位記憶體之情形下,操作之限度寬於MLC之限度。在較佳實施例中,二進位記憶體經組態以支援部分頁程式化,在部分頁程式化中一頁之非重疊部分可在對該頁之多個程式化遍中之一者中被個別地程式化。可藉由以一大大小頁進行操作來改良程式化及讀取效能。然而,當頁大小遠遠大於主機之寫入單元(通常為512位元組區段)時,其使用將係低效的。以比一頁更精細之細度進行操作允許此一頁之更高效使用。
已給出介於二進位與MLC之間的實例。應理解,一般而言,在具有第一數目個位階之一第一記憶體與具有多於該第一記憶體之第二數目個位階之一第二記憶體之間應用相同原理。
輯及實體區塊結構
圖8圖解說明由一記憶體管理器管理之記憶體,其中該記憶體管理器係駐存於控制器中之一軟體組件。記憶體200係組織成若干個區塊,每一記憶胞區塊係一最小抹除單元。端視實施方案,記憶體系統可以藉由一區塊聚集體形成為「元區塊」且亦形成為「區塊」之更大抹除單元來操作。為方便起見,本說明將一抹除單元稱為一元區塊,不過應理解某些系統以藉由一元區塊聚集體形成之諸如一「巨區塊」之更大抹除單元來操作。
主機80在於一檔案系統或作業系統下運行一應用程式時存取記憶體200。通常,主機系統以邏輯區段為單元定址資料,其中(舉例而言)每一區段可含有512個位元組之資料。此外,通常主機以邏輯叢集為單元對記憶體系統進行讀取或寫入,每一邏輯叢集由一或多個邏輯區段組成。在某些主機系統中,可存在一可選主機側記憶體管理器以在主機處執行較低階記憶體管理。在大多數情形中,在讀取或寫入操作期間,主機80本質上發出一命令至記憶體系統90以讀取或寫入含有具有連續位址之一串資料邏輯區段之一段。
一記憶體側管理器300實施於記憶體系統90之控制器100中以管理對快閃記憶體200之元區塊中的主機邏輯區段之資料之儲存及擷取。記憶體管理器包含一前端系統310及一後端系統320。前端系統310包括一主機介面312。後端系統320包括用於管理對元區塊之抹除、讀取及寫入操作之若干個軟體模組。記憶體管理器亦維持快閃記憶體200及控制器RAM 130中與其操作相關聯之系統控制資料及目錄資料。
圖9圖解說明後端系統之軟體模組。後端系統主要包含兩個功能模組:一媒體管理層330及一資料流與定序層340。
媒體管理層330負責一快閃記憶體元區塊結構內之邏輯資料儲存之組織。稍後將在關於「媒體管理層」的章節中提供更多細節。
資料流與定序層340負責一前端系統與一快閃記憶體之間的資料區段之定序及傳送。此層包括一命令定序器342、一低階定序器344及一快閃控制層346。稍後將在關於「低階系統規格」的章節中提供更多細節。
記憶體管理器300較佳地實施於控制器100中。其將自主機接收之邏輯位址轉譯成記憶體陣列內實際儲存資料之實體位址,且接著記錄此等位址轉譯。
圖10A(i)至圖10A(iii)示意性地圖解說明一邏輯群組與一元區塊之間的映射。實體記憶體之元區塊具有用於儲存一邏輯群組之N個資料邏輯區段之N個實體區段。圖10A(i)展示來自一邏輯群組LGi 之資料,其中邏輯區段呈連續邏輯次序0、1、...、N-1 。圖10A(ii)展示以相同邏輯次序儲存於元區塊中之相同資料。當元區塊以此方式儲存時其稱作「順序的」。一般而言,元區塊可具有以一不同次序儲存之資料,在此情形中元區塊稱作「無序的」或「混亂的」。
在一邏輯群組之最下部位址與其所映射至的元區塊之最下部位址之間可存在一偏移。在此情形中,邏輯區段位址環繞為在元區塊內自底部向後至邏輯群組之頂部的一迴圈。舉例而言,在圖10A(iii)中,元區塊於其第一位置中以邏輯區段k 之資料開始儲存。當到達最後一個邏輯區段N-1 時,其環繞至區段0 且最終於其最後一個實體區段中儲存與邏輯區段k-1 相關聯之資料。在較佳實施例中,使用一頁標籤來識別任一偏移,諸如識別儲存於該元區塊之第一實體區段中之資料之開始邏輯區段位址。當兩個區塊不同僅相差一頁標籤時,該兩個區塊將被視為以類似次序儲存其邏輯區段。
圖10B示意性地圖解說明邏輯群組與元區塊之間的映射。每一邏輯群組380映射至一唯一元區塊370,其中資料當前正被更新之小數目個邏輯群組除外。在一邏輯群組經更新之後,便可將其映射至一不同元區塊。映射資訊維持在一邏輯對實體目錄集中,稍後將更詳細地闡述該映射資訊。
適應性控制器-記憶體介面
本章節呈現一回饋機制及處理單元之使用,該回饋機制及處理單元監視記憶體系統之內部控制器-記憶體介面之傳送完整性且可相應地調整介面設定。此允許系統最佳化介面效能。舉例而言,可能夠減少系統之電力或使介面之匯流排時脈加速,此(由於此通常可係一內部效能瓶頸,因而)如在記憶體系統外部(亦即,自主機)所見允許增加效能。在傳輸錯誤之情形中,在介面完整性回饋及(端視實施例)其他感測器或參數之幫助下,回饋處理單元可決定是調整介面設定、執行一傳輸重試還是忽略該錯誤。以下論述亦係在使用圖4A、圖4B及圖5中所展示的一NAND型記憶體陣列架構之一記憶體卡之背景中給出,但易於延伸至其他架構之類似內部介面、其他形式之記憶體及非卡式用途,諸如嵌入式系統、SSD等等。
雖然以下論述可基於各種實例性實施例以提供具體實例,但此處之技術及結構一般可完全適用於具有一控制器及可獨立操作之多個庫之記憶體系統,其中該等庫包括係快閃記憶體或其他種類之一定量之非揮發性記憶體,該非揮發性記憶體可用來儲存控制器可用以管理記憶體系統之系統資料。除上文所引用的已提及記憶體系統外,此等記憶體系統還可包括以下編號的美國專利、專利申請案及申請案中所呈現之各種記憶體系統:7,480,766、US-2005-0154819-A1、US-2007-0061581-A1、US-2007-0061597-A1、US-2007-0113030-A1、US-2008-0155178-A1、US-2008-0155228-A1、US-2008-0155176-A1、US-2008-0155177-A1、US-2008-0155227-A1、US-2008-0155175-A1、12/348,819、12/348,825、12/348,891、12/348,895、12/348,899、12/642,584、12/642,611、US 12/642,649、12/642,728、12/642,740及61/142,620。
在論述實例性實施例之前,本章節將以進一步考量有待解決之問題開始。控制器-記憶體裝置介面係用於在一控制器(100,圖1)與一或多個NAND(在該實例性實施例中)裝置(200,圖1)之間傳送資料。(注意,本論述係關於記憶體系統90上之控制器100與快閃記憶體200之間的內部介面,而介面110係控制器用於與記憶體系統外部通信之主機介面。)已開發不同之NAND介面模式來增加折衷速度、電力消耗之介面效能等等。由於此介面經常係一效能瓶頸,因而將此等介面推動至最大化系統效能之限度。為避免資料錯誤,介面設定(諸如,電壓、頻率、驅動強度及轉換速率控制)係針對最差情形情境(極端溫度、極端負載電容、極端電壓等等)設定。因此,裝置通常經設計而具有最差情形安全限度,此轉譯為典型條件中之最大限度。在此等典型條件中,可將介面設定最佳化為較高之介面效能而不連累產品可靠性。若沒有諸如下文中所呈現之一機制,則記憶體裝置將繼續以最差情形效能設定來操作。
舉例而言,針對一個16位元正常模式在33 MHz之標稱匯流排頻率與加速之40 MHz、與超級加速之50 MHz及與特級加速之60 MHz之叢集資料傳送時間之間的一簡單比較分別產生約17%、33%及45%之顯著延時減少。此展示於表1中,其中該等行係頻率、對應週期(tcyc )、傳送2142位元組資料之時間及相對於在33 MHz下之速度比。
在先前技術中,通常針對一給定產品將快閃介面效能設定為一固定效能。該設計由此計入最差情形設計。在某些產品中,快閃介面係針對一「接近於最差情形」設計,從而允許一定之介面效能最佳化,但係冒著一定之較低裝置良率或增加之資料錯誤之危險。
此章節呈現一回饋機制及處理單元,該回饋機制及處理單元監視介面傳送完整性且相應地調整介面設定以最佳化介面效能。在傳輸錯誤之情形中,該回饋處理單元(在介面完整性回饋及可能之其他感測器或參數之幫助下)可決定是調整介面設定、執行一傳輸重試還是忽略該錯誤。在無傳輸錯誤之情形中,該回饋處理單元可決定使介面設定保持原樣還是修改介面設定以增加介面效能。因此,可以使得該回饋處理單元可獲得不同等級之資訊(諸如二進位通過/未通過指示、一通過/未通過加錯誤編號或一通過/未通過加錯誤編號加錯誤位置)之方式設計該介面完整性回饋機制。
根據該實施例,該回饋機制可利用現有裝置基礎結構或藉由專用機制(諸如散列值引擎)來進一步最佳化。此專用機制可實施於硬體、軟體或此等之一組合中。亦可由具有校正傳輸錯誤能力之一錯誤校正引擎來補充該散列值引擎。此方法將允許該介面應付一定程度之位元錯誤速率,同時仍達到最佳效能。傳輸校正能力係有價值的,乃因在先前技術中針對NAND位元故障之ECC之設計僅考量記憶體本身上之錯誤,而不考量當在控制器與記憶體裝置之間傳送資料時可能發生之介面錯誤。傳輸錯誤之可能性隨著一介面效能上升而上升。使舊有ECC處理介面錯誤使舊有ECC能力在效能及不可恢復錯誤之概率方面降級。設計一專用介面錯誤校正引擎可允許具有一「劃分及規則」,從而使舊有ECC僅集中於NAND產生之錯誤。(可在以下編號之美國專利、專利公開案及專利申請案中找到關於ECC之額外背景細節:2009/0094482、7,502,254、2007/0268745、2007/0283081、7,310,347、7,493,457、7,426,623、2007/0220197、2007/0065119、2007/0061502、2007/0091677、2007/0180346、2008/0181000、2007/0260808、2005/0213393、6,510,488、7,058,818、2008/0244338、2008/0244367、2008/0250300及2008/0104312。)
圖11係展示此一回饋機制之一方塊圖,但係基於一典型先前技術現有NAND/控制器基礎結構。此將幫助進一步圖解說明所涉及之某些概念以及提供一適應性介面之一替代實施例。在圖11中,為簡化本論述,僅明確地展示與本論述相關之元件而抑制其他元件。在控制器100上,係ASIC核心411、ECC電路413、一輸出緩衝器415、一輸入緩衝器425、傳輸電路417及接收電路427。雖然在此處展示為分離的,但在實際實施方案中可不係如此:輸入緩衝器與輸出緩衝器可係重疊部分或係同一個;傳輸及接收電路係共用元件或甚至係同一個;ECC電路可實施為ASIC核心中之軟體及等等。在記憶體側200上,所展示的元件係讀取電路431及傳送電路441(其同樣可係部分地或完全重疊)、一輸入資料緩衝器433及一輸出資料緩衝器443(其可類似地係一單個緩衝器)及NAND核心435。控制器100與該記憶體電路然後藉由匯流排結構401連接。
一旦在控制器100處接收到一主機資料集,該主機資料集之一典型流動係自ASIC核心411至輸出資料緩衝器415、穿經傳輸電路417且至匯流排結構401上。在記憶體200上,該資料係藉由接收電路431自該匯流排傳送至輸入資料緩衝器433中且然後寫入NAND核心435中。隨後,當主機想要存取該資料時,將該資料自NAND核心435讀出至輸出資料緩衝器443、藉由傳輸電路441傳送至匯流排結構401,且然後藉由接收電路427自該匯流排讀取進該控制器之輸入資料緩衝器425中。記憶體系統通常使用錯誤校正碼(ECC)來偵測及校正可進入該資料之錯誤,其中該控制器產生與該資料一起傳輸且寫入至該NAND核心中且然後與該資料一起讀取回之對應ECC。ECC引擎413然後可以利用該資料及其對應之ECC,從而允許在將該資料傳遞至主機之前根據需要檢查並校正該資料。
雖然可使用ECC來校正資料錯誤,但其僅可校正一有限數量之錯誤,其中該量係一設計選擇。在此等能力內,ECC引擎413可針對在環程旅行期間所累積之任一錯誤進行校正,包括傳輸錯誤以及與NAND核心435自身相關聯之錯誤(諸如寫入錯誤、讀取錯誤及在儲存時之資料之干擾及其他降級);然而,ECC之選擇通常僅基於對與NAND核心435相關之錯誤之考量。在某些配置中,諸如關於上文針對ECC所引用的某些參考中所揭示之「強ECC」,該碼係基於記憶體之性質及如何將該等資料狀態映射至該記憶體中。控制器與記憶體之間的傳輸大部分被忽略且被視為未添加錯誤。因此,需要相應地設定該介面,從而導致根據最差、接近最差之情形設定該等參數,如上文所闡述。
一第一實施例集係基於圖11之元件來供應用於最佳化該等介面特性之回饋。在一環程旅行上,將一資料集連同對應ECC自該控制器發送至該記憶體且發送回至該控制器,此與上文所闡述的在標準寫入之後的一讀取甚是相同,只是並不將該資料(及對應ECC)實際寫入該記憶體核心中。在將一寫入傳送自控制器100發出至記憶體電路200之後,該控制器可使用緩衝鎖存器433及443來讀取回該資料。此係藉由路徑437來表示,雖然若輸入緩衝器與輸出緩衝器係同一緩衝器,將不存在一實際傳送。由於此環程旅行移除與陣列435本身相關聯之任一錯誤,因而此將傳輸之影響隔離,且允許ECC引擎413判定該記憶體介面之完整性。然後可修改該等介面參數且可重新發出該處理程序。如此可最佳化寫入及讀取介面參數兩者。
圖12係圖解說明另一實施例集之一方塊圖,但其中回饋機制使用一散列值引擎及專用於該介面之可選資料校正引擎。圖12並未提及控制器及記憶體晶片,而是以傳輸器側520及接收器側530上之電路之措辭呈現,乃因如下文進一步所闡述,此等中之任一者可係控制器且另一者可係記憶體,此取決於其係一讀取處理程序還是寫入處理程序,且兩側無需對稱。
傳輸器側520將同樣包括一寫入資料緩衝器521及傳輸介面電路529。現在其亦將包括一散列值產生器525及一多工器527。在一傳送處理程序中,欲寫入之資料(523)自寫入緩衝器520傳送出至散列值產生器525及MUX 527。散列值產生器525對應地根據該資料產生一散列值,然後將該散列值傳遞至MUX 527上。該多工器然後將後跟其散列值之資料供應至傳輸介面電路529且然後供應至匯流排結構550上。
該接收器側同樣包括接收器介面電路及一讀取資料緩衝器535,加上某些額外元件。在讀取介面電路532自匯流排550取得該資料及對應散列值之後,去多工電路533將該散列值與該資料分離,將該所讀取之資料發送至緩衝器535且亦發送至一接收器側散列值產生器539,接收器側散列值產生器539同樣根據該資料集產生一散列值。然後在比較電路541中將該接收器側所產生之散列值與該所接收之散列值進行比較。端視該實施例,比較之結果可僅判定此等值是否匹配或進一步判定由於該傳送處理程序所致的錯誤量。在某些實施例中亦可包括一資料校正引擎537以校正介面錯誤而不必執行一資料重新傳輸。在該實例性實施例中,該等散列值產生器(及在接收器側上之可選資料校正引擎)與用於NAND核心錯誤之ECC分離,雖然在電路中可存在某些重疊部分;且實際上兩者可實施於該控制器之同一邏輯電路上但係藉由不同韌體碼來實施。(雖然針對此論述係視為分離的,但在下文所闡述之一更一般性實施例中該兩個錯誤偵測/校正部分可係互動式。)通常,將基於正發送之資訊之全部(使用者資料、對應ECC、標頭資訊等)產生散列值,但在替代實施例中,可根據藉由(例如)自各附加項剝離之僅一部分且僅使用用於產生散列值之使用者資料本身來產生散列值。
圖12亦包括經連接以接收散列值比較電路541之輸出之回饋處理單元560。然後在561處分析此回饋,端視實施例,其可考量溫度、供應電壓位準及NAND核心之處理相關品質中之一者或多者。在563處,然後可使用此回饋結果來調整該傳輸處理程序且對應地連接至傳輸介面電路529及讀取介面電路531中之一者或兩者。對於一寫入操作(其中該控制器係傳輸器側),在將一寫入傳送自該控制器發出至該記憶體裝置之後,該回饋處理單元可僅讀取回對該等所產生之散列值之比較,且藉由彼操作判定寫入方向記憶體介面完整性。基於此,可修改介面寫入參數且若期望可重新發出該處理程序。對稱地,可對其中記憶體係傳輸器側之讀取方向採用同一操作。
圖13係展示經由匯流排介面傳輸資料及所產生之散列值之一實例之一圖示。如在頂部所展示,將對應散列值自動附加至該資料,以便當一裝置以此模式操作時此等將一起傳輸。在展示於底部處之第二選項中,傳輸資料有效負載,該接收側請求對應之散列值,然後產生並傳輸該對應散列值。資料有效負載可具有預界定長度或具有隨機長度。若資料有效負載長度係預界定的,則散列值可如在第一選項中附加至該資料,或應請求而發送。若資料有效負載長度係隨機的,則可在發出一特定命令之後發送該散列值。
對於關於圖12所闡述之技術及對應電路,一定數目個變化形式係可能的。關於散列值引擎及散列值,該散列值引擎可係同位碼(循環冗餘檢查,或CRC)、ECC等等。舉例而言,可使用將傳回通過/失敗之一個「二進位」實施例,該實施例可係基於錯誤位元計數(CRC)而建置且具有實施一低閘計數之益處。另一選擇係,一「軟」實施例可返回一錯誤位元計數(EBC)及(視情形)故障位元之位置,且可係基於諸如BCH或索羅門碼等ECC碼來建置,從而提供更多資訊來幫助系統做出正確決定。散列值引擎可視情形亦具有校正介面故障之一補充特徵,舉例而言,類似於校正來自記憶體核心之經翻轉位元,如圖12之資料校正引擎537所呈現。基於來自該傳送之回饋,該系統可重複該傳送。可基於二進位傳送狀態或基於一軟體傳送狀態決定傳送重試。此外,可基於傳送狀態與NAND位元翻轉數目之一組合來決定傳送重試;舉例而言,若該介面引入了N個錯誤且該NAND引入了M個錯誤,且該控制器錯誤校正能力係P,且P>N+M,則該系統可決定不重新傳輸。
該系統亦可以各種不同方式組態。該組態可係對稱的,其中在控制器側及記憶體側處之散列值引擎係相同的或不對稱的。在一不對稱組態中,對於不同傳輸方向使用不同組態;舉例而言,可針對讀取傳輸設定一較快機制而針對寫入傳輸設計一較可靠機制。而且,應注意,即使介面係對稱地組態,由於可在資料之初始寫入與隨後讀取之間的間隔期間改變該等設定,因而其可關於一給定資料集不對稱地作用。
回饋處理單元530可不同地位於控制器100上、記憶體200上或兩者上或分佈於兩者之間。其亦可形成於一單獨電路上。在諸多應用中,將回饋處理單元實施於控制器上將係最實際的,乃因控制器電路經常包括更高級之處理能力且亦由於記憶體系統經常由多個記憶體晶片形成,但此處所提供之技術並不如此限制。在此等變化形式中之任一者中,檢查資料傳送狀態階段係回饋處理單元之職責。
進一步考量其中回饋處理單元位於控制器側上之一實例:在讀取方向上,在控制器讀取該資料及散列值之後,此等將穿經該回饋機制且該控制器將判定該通過/未通過狀態且可相應地調整(或不調整)介面設定。由於控制器已讀取資料及散列值,因而判定狀態不再進一步需要來自該快閃記憶體側之資訊,乃因可在控制器之邏輯中進行此操作。在寫入方向上,將資料有效負載及對應散列值發送至記憶體側且控制器然後可以數個不同方式操作:自記憶體側讀取通過/未通過狀態;讀回該散列值且判定通過/未通過;自該記憶體讀回錯誤位元計數(EBC);自NAND讀回EBC及錯誤位置;或自記憶體側讀取通過/未通過狀態及經校正之位元數目。
回饋處理單元可決定修改介面設定。舉例而言,可修改以下介面設定:驅動強度、匯流排頻率或其他時序參數;介面電壓、介面模式(例如,自一正常/習用模式切換至一雙態觸變模式)等等。然後可以一適應性回饋方式修改此等介面設定。由於諸如處理程序變化、供應電壓位準及溫度等因子影響介面錯誤之概度,因而此等因子亦可被包括而作為圖12上回饋分析561之輸入。
匯流排頻率及其他參數設定可係基於早先傳輸,其中亦可以不同方式設定標稱參數設定。舉例而言,可使用具有用於不同匯流排電容/NAND組態之不同值之一查找表(LUT)。此一查找表(LUT)亦可具有針對不同操作處理程序參數、供應電壓位準、溫度等等之不同值。處理程序參數、供應電壓位準及溫度在一函數(公式)中可係一變量,而非如在一LUT中係預界定的。
可在背景中操作介面設定最佳化任務。亦可使用諸如供應電壓或溫度改變等特殊事件來觸發一介面設定訓練任務。介面訓練任務亦可使用跨越而未寫入至NAND核心之一已知模式,諸如上文關於圖11及路徑437所闡述。介面設定亦可係不同的且係基於讀取方向及寫入方向或基於不同資料保持要求。
先前論述主要將記憶體系統視為具有一控制器及一單個記憶體裝置電路。更一般而言,該系統可包括可使用各種匯流排拓撲連接至控制器(及回饋處理單元,若係一單獨電路)之數個記憶體晶片。舉例而言,所有記憶體晶片可共用一單個系統匯流排;或每一記憶體電路可具有其自己的控制器-記憶體匯流排;或可使用各種混合配置。然後,可將不同介面設定應用於此複數個NAND裝置(例如,若介接數個裝置,則此可平行地進行)。亦可基於正被存取之特定NAND裝置而使用不同介面設定,乃因介面品質可係特定NAND裝置之負載及/或胞/區塊品質之一函數)。此外,在一給定記憶體裝置內,亦可將不同介面設定應用於NAND核心內之區塊,乃因介面品質可係特定區塊之品質之一函數。
可在於2010年7月13日提出申請之美國專利申請案第12/835,292號中找到前述章節之技術之更多細節。
後端記憶體系統介面之動態最佳化
本章節將進一步考量記憶體系統之控制器-記憶體(或「後端」)介面且呈現用於動態地最佳化適於高速記憶體系統(包括具有多個記憶體資料匯流排之記憶體系統)之後端讀取及寫入效能之某些方法。如上文所論述,一記憶體系統通常經設計而具有一定容錯量;且雖然此錯誤可發生於控制器-記憶體傳輸處理程序及實際在記憶體上之儲存處理程序兩者中,但傳統上,ECC處理程序僅考量此等情形中之後者且通常後端介面經最佳化以消除或至少侭量最小化傳輸通道錯誤。但是,在諸多情形中,由儲存處理程序產生之資料錯誤(包括讀取及寫入錯誤)可遠遠低於系統之ECC能力。舉例而言,雖然一經大量循環裝置可需要完全可用資料校正,但一未用過之裝置可具有相對少之錯誤,從而使系統具有額外之錯誤校正能力。此章節呈現記憶體系統藉以將此錯誤校正容量之一非零部分內部地分配給傳輸通道之方法。此允許介面以(舉例而言)較高速度或較低電路操作,即使此將可能導致傳輸路徑錯誤。當記憶體部分需要一較高錯誤校正量時,可自動調整分配。在補充態樣中,系統可校準傳輸路徑以針對不同操作參數判定所形成之傳輸錯誤之量且然後基於所允許的量選擇參數。
進一步考量控制器與記憶體部分之間的後端介面,一典型記憶體系統係由一記憶體控制器及一記憶體裝置(諸如一NAND快閃記憶體模組)組成。後端介面係記憶體與其控制器之間的資料匯流排。該介面通常係以兩種方式中之一者建立。在第一種方式中,若控制器與記憶體裝置係離散組件,則該後端介面係藉由將此等組件安裝於其上之印刷電路板(PCB)上之導電跡線來建立。在第二種方式中,控制器與記憶體可係囊封於一單個封裝中,諸如系統級封裝(SIP)或多晶片封裝(MCP)。在此第二情形中,藉由封裝基板建立後端介面。
如在先前章節中所論述,記憶體系統中之總體位元錯誤率(BER)可歸因於兩個主要因子:記憶體裝置(諸如NAND快閃記憶體)中之資料保持可靠性;及後端介面之缺陷,此可造成傳輸錯誤。則在記憶體系統中可採用錯誤校正碼(ECC)來解決此總體BER。圖14示意性地圖解說明一記憶體系統中之位元錯誤之成因。
如在圖14中所展示,總體位元錯誤率BER 605之主要根源中之一者。將由於所儲存資料之資料降級(源於電荷洩漏、干擾等等)所致的此錯誤以及在讀取及寫入處理程序中所引入之任一錯誤之影響展示為NAND保持601。傳統上,資料校正僅用於計及此因子,當讀取資料時會觀察到此因子。在603處展示由於通道缺陷所致的錯誤且該錯誤影響資料讀取及寫入兩者,但同樣將在讀取時觀察到影響。通道影響錯誤之根源可包括符號間干擾(ISI)、同一資料匯流排(匯流排內)串擾、匯流排間串擾(關於多資料匯流排設計)、印刷電路板(PCB)雜訊、矽晶粒雜訊、封裝雜訊等等。另一方面,ECC 607可校正多達一定程度之錯誤之錯誤。
隨著控制器與記憶體之間的資料傳送速率增加,後端介面變得對由於603(諸如同一資料匯流排內之信號當中的串擾(記憶體資料匯流排內串擾)及符號間干擾(ISI))所致的信號完整性相關問題更敏感。另外,記憶體拓撲(其中控制器可同時存取多個記憶體裝置(多記憶體資料匯流排設計))之引入使後端介面遭受同時切換雜訊及資料匯流排當中之串擾(記憶體資料匯流排間串擾)。除匯流排速度之外,諸如資料匯流排之電壓振幅及溫度(PCB跡線之環境溫度及系統級封裝(SIP)或多晶片封裝(MCP)之接面溫度)等因子亦可影響後端介面之信號完整性。因此,後端介面之固有缺陷成為判定高速記憶體系統之總體系統效能之一瓶頸。記憶體裝置之引腳電容隨著記憶體晶粒之數目而增加。用多個記憶體晶粒建構之高容量記憶體裝置在其資料輸入/輸出(I/O)上展現高電容,此進一步降級資料匯流排結構之邊緣速率及信號完整性。
關於信號跡線之信號完整性相關問題可藉由增加信號跡線彼此分開之間距以最小化串擾來最小化;但此方法受PCB或基板上之可用區域限制。亦可藉由選擇具有低介電常數及低消耗因數(損耗因數)之PCB材料來減少該等問題;但此等PCB材料比典型材料較昂貴。因而,雖然存在藉助降低匯流排速度或另外地使操作匯流排參數降級之輸出來減少此錯誤之若干方法,但此等方法存在缺點。
本章節呈現用於解決後端介面中之此等信號完整性問題且亦計及在控制器與記憶體裝置當中的處理程序變化之一動態最佳化技術。除處理程序變化外,記憶體系統操作所處之電壓設定及溫度可變化。一靜態解決方案不計及處理程序、電壓及溫度之變化,且因此可非係最佳方法。
本章節使用一偽回送方式來動態地最佳化記憶體系統(包括具有多個記憶體資料匯流排之彼等記憶體系統)之後端效能。可使用與先前章節中所闡述之機制類似之該等種類之機制或藉由使用預定資料型樣來進行此操作。該實例性實施例將使用一偽隨機位元型樣(PRBS)。動態最佳化資料匯流排設定可幫助最大化控制器與記憶體裝置之間的資料傳輸之可靠性。此可允許記憶體系統區分傳輸錯誤與記憶體裝置上造成之錯誤。此等態樣對於配備有高速後端記憶體介面及多個記憶體資料匯流排之產品尤其有利。
PCB或封裝基板上之導電跡線具有有限頻寬,此造成符號間干擾(ISI)。ISI之效應取決於邊緣速率(上升時間及下降時間)、資料速率及資料型樣。在數位通信中,有時使用偽隨機位元型樣(PRBS)型樣來探索一資料鏈路之最差情形ISI影響,乃因此型樣富含頻率分量。一PRBS型樣係一重複型樣,其具有類似於一隨機序列之性質且用於量測在電子資料鏈路中所傳輸資料之抖動及眼圖波罩。PRBS通常表示為2X -1 PRBS或PRBS-X,其中冪(X)指示形成該型樣所用的移位暫存器長度。每一2X -1 PRBS含有X數目個位元(1個除外)之每一可能組合。期望實際使用最長PRBS型樣,乃因其對信號鏈路施加最大壓力且提供一較佳隨機資料表示。
雖然該實例性實施例使用一偽隨機位元型樣,但亦可使用其他型樣,只要該系統知曉所用的資料集之型樣即可,以便可將此與在回送處理程序結束時回來的資料進行比較。該實例性實施例使用PRBS型樣,乃因其類隨機特性可最大化信號鏈路之ISI影響。除PRBS型樣之外,在本發明中可利用其他類型之資料型樣,且每一個別型樣可產生一不同結果。
可將一PRBS型樣應用於平行後端介面中之每一信號鏈路。雖然理想上將無限地重複該型樣在記憶體系統中實際上係不可行的,但此不應係一重要缺點,只要藉由使用一短型樣可將該型樣重複足夠數目次即可。舉例而言,若一NAND快閃記憶體之頁大小係16 kB,則在一8位元資料匯流排之每一信號鏈路上,可將127b型樣長度之一PRBS-7型樣完整地重複129次。剩餘位元(16384b-127b×129=1b)構成PRBS-7之一不完整複本。此不完整PRBS型樣最終不應造成一有意義事物,乃因大多數傳輸鏈路效應係以129個完整之PRBS型樣循環來計及。
圖15可用於圖解說明在後端介面中一偽回送方法之操作。在圖15中,左手側係一流程,而右手側示意性地圖解說明對應控制器-記憶體互動。在701處,控制器關斷其資料攪碼及錯誤校正編碼(ECC)能力,其中在右手側,此係藉由將此等元件「X」出去來表示。因此,所有經傳送而出入於控制器之資料皆係以其原始格式而未經任何攪碼或校正。在703處,控制器將一命令發送至記憶體裝置,告訴它將欲接收之資料儲存並保持在其資料鎖存暫存器中而不將其傳送至記憶體單元。亦即,不將此資料集程式化至記憶體胞中。在705處,控制器在該資料匯流排結構中之每一信號鏈路上將一已知資料型樣(此處係一獨立PRBS-7型樣)發送至記憶體裝置。記憶體裝置將該資料保持於資料鎖存暫存器中,直至其滿為止。
在707處,控制器將一命令發送至記憶體裝置,告訴它將儲存於其資料鎖存暫存器中之資料不斷地發送回來,直至控制器指示其停止為止。亦即,在該資料鎖存暫存器已在每一鏈路上倒出所有16 kb之資料之後,其將再次開始發送回同一資料。因此,PRBS-7型樣在資料匯流排之每一信號鏈路上重複。該實例性實施例使用PRBS型樣傳送之連續操作之原因係由一信號鏈路引入之位元錯誤係一概率性事件。跨越一鏈路傳送之資料量越大,傳輸位元錯誤率(BER)作為對固有鏈路效能之一靜態量測越準確且越具代表性。在709處,控制器接收資料匯流排之每一信號鏈路上之該重複PRBS-7型樣(或其他所用資料型樣)。
在711處,該控制器比較該所接收資料與所發送資料型樣(此處係標準PRBS-7型樣)且將任何錯誤作為傳輸BER進行報告。該控制器然後將停止發送PRBS-7型樣(713)且退出偽回送模式(715)之一命令發送至記憶體裝置。
圖16對應於圖15之方塊圖705,其中控制器將資料型樣發送至記憶體裝置,其中圖17對應於方塊709。在此兩個圖中,展示一匯流排結構811之一個特定實例,其中頂部處展示數個命令及控制信號線,且在下部展示一定數目個資料線。此處,CLE=命令鎖存啟用,ALE=位址鎖存啟用,RE=讀取啟用,WE=寫入啟用,DQS=資料選通,且存在八個輸入/輸出線(IO0-IO7)。出於此論述之目的而簡化了此等盒圖,其中在記憶體控制器801上僅展示一ECC方塊805及一PRBS產生器803且在記憶體裝置831上僅呈現資料暫存器REG 833,而未明確展示其他元件(包括在831上之非揮發性記憶體陣列)。在圖16中,當控制器801正發送資料型樣跨越至記憶體裝置831時,將斷定寫入啟用信號及資料選通且每一信號線將載送該資料型樣。此處,每一IO線載送一獨立型樣。此處,此等係PRBS之所有個別複本,但可具有不同時序,如該圖中之其相對偏斜所指示。在記憶體831上,該資料型樣然後如接收地儲存於暫存器833中。在圖17中,該資料然後自暫存器833跨越匯流排結構811發送回至控制器801,因而現在斷定讀取啟用信號及資料選通。一旦該資料型樣完成了環程旅行(未寫入至非揮發性記憶體中)且回到控制器801上,就可將其對照其原始形式進行檢察並察看發生了多少損毀。雖然匯流排結構811係具有多個信號線之一平行匯流排介面,但此僅係一特定實例,可將其他匯流排結構用於傳輸通道,諸如串列資料配置。
藉由相對於電力消耗(電力消耗與資料匯流排電壓直接相關)之資料傳送速率(匯流排操作頻率)來表徵一記憶體系統之效能。藉由使資料匯流排之電壓振幅(由驅動資料匯流排之裝置之I/O判定)及資料傳送速率變化,可形成如一什穆圖(shmoo plot)之一個三維表示,其中傳送速率係沿x軸繪製,資料匯流排電壓沿y軸,且傳輸BER沿z軸。此處,資料傳送速率可係指在寫入操作(如在圖15之705中,當將資料自控制器電路傳送至記憶體電路時)或讀取操作(如在709中,當將資料自記憶體傳送至控制器時)期間所施加之資料傳送速率。呈現於此一什穆圖中之資料可係在各種輸出驅動阻抗(驅動強度)及溫度下量測以覆蓋最差情形、典型情形、及最好情形情境。作為一結果,針對一給定量之可允許傳輸錯誤,可在此資料匯流排電壓、輸出驅動阻抗、轉換速率、線路電容、傳送速率、溫度及電力消耗之一給定參數組合下判定最佳操作點。在圖18中展示什穆圖之一實例。
圖18係展示在一系統記憶體之一特定實例之一固定輸出驅動阻抗、轉換速率、線路電容及溫度下傳輸BER對資料匯流排電壓及資料傳送速率之一什穆圖之一實例。資料匯流排電壓係在垂直軸上之VDD ,而傳送速率在水平軸上。傳輸BER之量藉由該曲線圖上之色彩表示,其中答案在圖右側。在此黑與白表示中,極低與極高錯誤量之表示看似相同,但在該主圖中,較低錯誤區在顏色淺之劃分區左邊,而較高錯誤區在右邊。基於此類資料,針對所允許之傳輸資料之量,可選擇操作參數之一組合,其中,與往常一樣,此經常將涉及一折衷。舉例而言,若所期望之可允許BER量係10-5 ,若最大速度係主要考量,則VDD 應採用約3.1-3.2 V,從而允許約170-180 Mb/s之一傳送速率。若電力消耗係一較重要的考量,則可使用一較低VDD 值,例如2.8 V,由此針對約相同之傳送BER將允許約150 Mb/s之一傳送速率。若基於(舉例而言)記憶體已循環多少次或ECC指示BER之組合成因正接近系統之最大能力,則給分配給傳輸通道之BER重寫分配一不同值,然後控制器可基於此資料調整匯流排系統之操作參數。
因此,在藉由捕獲在各種輸出驅動阻抗、轉換速率、線路電容、溫度等等下呈現於什穆圖中之資料來校準該系統之後,該記憶體系統可根據各種情形操作。舉例而言,已知一期望傳輸BER,則記憶體系統查找並選擇最佳資料匯流排電壓、資料傳送速率、輸出驅動阻抗及轉換速率。(可將來自該校準處理程序之此資料保存於非揮發性記憶體中或控制器電路中之記憶體空間(RAM)中。)舉例而言,其可選擇形成該所期望之傳輸BER之最低資料匯流排電壓、最高資料傳送速率及最低輸出驅動阻抗。在另一實例中,已知資料匯流排電壓、資料傳送速率、輸出驅動阻抗、轉換速率、線路電容及溫度之一特定組合,記憶體系統知曉其可預期什麼傳輸BER。另一選擇係,記憶體系統可選擇平衡所有因子-資料匯流排電壓、資料傳送速率、輸出驅動強度及傳輸BER之一操作條件。
由於控制器中與記憶體裝置中之I/O緩衝器之設計可不同,因而可分別判定記憶體系統之最佳讀取效能及寫入效能。除由使記憶體系統設計不同所產生之差別外,同一裝置之個別實例由於處理程序變化以及操作條件之差別而亦將存在差別。為計及裝置老化、操作條件之改變等等,亦可重複校準處理程序。舉例而言,可在運送裝置之前在測試時執行一初始校準,且然後該控制器可週期性地或回應於諸如裝置循環、錯誤結果、操作條件之顯著改變等等之一事件而重新校準系統。因此,除改變分配給傳輸通道之總錯誤之比例之外,針對一給定分配之對應操作參數可動態地改變。
如上文所提及,可在讀取處理程序及寫入處理程序兩者期間最佳化效能。回到圖15,對於在記憶體讀取期間之效能最佳化,在705處,系統減慢正寫入至記憶體裝置之資料鎖存暫存器中之資料型樣之傳送速率以最大化該資料型樣之傳送之完整性。舉例而言,在10 MHz傳送速率下,填滿16 kb之資料鎖存暫存器將花費1.6 ms。在709及711下,系統量測在讀取操作期間所招致之傳輸BER,其中記憶體裝置之I/O係驅動器,且該控制器係接收器。什穆圖資料然後展示記憶體裝置之I/O電壓與讀取頻率之間的關係。
對於在記憶體寫入期間之效能最佳化,在705處,系統使正寫入至記憶體裝置之資料鎖存暫存器中之資料型樣之電壓及傳送速率變化。在709處,系統然後將減慢資料自記憶體裝置至控制器之傳送速率以防止由信號鏈路注入額外位元錯誤。所量測之傳輸BER由此係在705中在寫入操作期間所招致之BER。因此,什穆圖資料將表示控制器之I/O電壓與寫入頻率之間的關係。
目前為止,此處所呈現之各種態樣皆係在其中在一控制器電路與一單個記憶體電路之間僅有一單個匯流排之一背景中呈現。然而,一記憶體系統可包括具有各種匯流排拓撲之多個裝置;且當存在多個匯流排時,此等匯流排之間的互動可導致額外錯誤源。此處之技術可提供使後端介面中之一資料匯流排內之信號鏈路中之每一者偏斜至一特定解析度之能力,舉例而言,100 ps。此偏斜能力可由控制器或記憶體裝置引入於驅動器或接收器中。將偏斜引入於資料匯流排中允許系統補償PCB或封裝基板中之信號跡線之長度不匹配。引入偏斜可減少後端介面中之近端與遠端串擾之影響,且因此降低傳輸BER。涉及到兩種類型之串擾:記憶體資料匯流排內串擾;及記憶體資料匯流排間串擾。此串擾造成資料匯流排中之抖動。一典型記憶體系統使用驅動器所發送之時脈來取樣同時在平行資料匯流排中之每一個別信號。因此,資料匯流排中每一信號之抖動之增加將造成傳輸BER之一增加。藉由使跨越多個記憶體資料匯流排之資料偏斜以便使其不彼此對準,可減少記憶體資料匯流排間之串擾。
圖19係圖解說明其匯流排結構使用多個記憶體資料匯流排之一記憶體系統中之此串擾之一方塊圖。該記憶體系統包括控制器901及藉由個別匯流排911-1、911-2、911-3、911-4連接至該控制器之多個(此處係四個)記憶體裝置931-1、931-2、932-3、934-4。對於匯流排911中之每一者,其將具有一或多個IO線,如IO1至IOX所詳細展示。與以前一樣,此等個別匯流排可使用於傳送資料之平行地、串列地或以此等中之一組合操作之IO線之數目變化。此類多匯流排配置經常實施於SSD型裝置中(參見,舉例而言,美國專利7,376,034、美國專利7,765,339或Park等人之論文「A High Performance Controller for NAND Flash-based Solid State Disk(NSSD)」(三星,2006年非揮發性半導體研討會,IEEE,NVSMW 2006,第21卷,17頁至20頁,2006年2月12日至16日))以改良效能,但亦可發現於某些記憶體卡及其他記憶體系統之設計中。除一給定匯流排之IO線之間的該類記憶體資料匯流排內串擾之外,現在將亦存在不同匯流排上之記憶體資料匯流排間之串擾信號。當與上文所闡述之PRBS型樣及偽回送模式之使用組合時,給出資料匯流排電壓、傳送速率、溫度、輸出驅動阻抗、轉換速率、線路電容及電力消耗之一特定組合,可判定產生最少串擾且因此產生最低傳輸BER之最佳偏斜。
此處所呈現之各種態樣提供在存在各種信號完整性問題下最佳化後端介面效能之一低成本解決方案。藉由將「未使用」的ECC能力動態地分配給傳送處理程序,可如所闡述地改良效能。如上文所提及,某些記憶體系統使用探索多狀態記憶體裝置之性質之一種類型之「強」ECC,在此情形中,經傳送用於傳輸通道之錯誤校正能力可不按1比1之方式傳送。亦應注意,雖然記憶體系統併入ECC來補償資料錯誤,但對命令通常不存在相同規定,且記憶體裝置經常將不接受已損毀命令,因而雖然在資料傳輸中故意允許錯誤,但對命令將並非將係此情形。因此,雖然藉由此等機制可針對資料允許一較高傳送速率,但可併入一較慢、較安全之傳送速率(或其他參數)之設定以便針對控制信號不招致錯誤。
結論
出於圖解說明及闡述之目的,已呈現對本發明之前述詳細說明。本文不意欲具有排他性或將本發明限制於所揭示之精確形式。根據上文之教示內容也可作出諸多種修改及變化形式。所闡述實施例經選擇以最佳地解釋本發明之原理及其實際應用,藉此使熟習此項技術者能夠在各種實施例中且以適合於所構想特定用途之各種修改形式來最佳地利用本發明。本發明之範疇意欲由本文所隨附之申請專利範圍來界定。
10...記憶體胞
14...源極
16...汲極
20...電荷儲存單元
30...控制閘極
32...控制閘極
34...源極線
36...位元線
42...字線
44...選擇線
50...NAND串
54...汲極端子
56...源極端子
60...頁
80...主機
90...記憶體系統
100...控制器
110...介面
120...處理器
121...可選共處理器
122...唯讀記憶體
124...可程式化非揮發性記憶體
130...隨機存取記憶體
200...記憶體
210...記憶體陣列
212...感測放大器
214...鎖存器
300...記憶體管理器
310...前端系統
312...主機介面
320...後端系統
330...媒體管理層
340...資料流與定序層
342...命令定序器
344...低階定序器
346...快閃控制層
370...元區塊
380...邏輯群組
401...匯流排結構
411...專用積體電路核心
413...錯誤校正碼電路
415...輸出緩衝器
417...傳輸電路
425...輸入緩衝器
427...接收電路
431...接收電路
433...輸入資料緩衝器
435...NAND核心
441...傳送電路
443...輸出資料緩衝器
520...傳輸器側
521...寫入資料緩衝器
525...散列值產生器
527...多工器
529...傳輸介面電路
530...接收器側
531...讀取介面電路
533...去多工電路
539...接收器側散列值產生器
541...比較電路
550...匯流排結構
560...回饋處理單元
561...回饋分析
801...記憶體控制器
803...偽隨機位元型樣產生器
805...錯誤校正碼
811...匯流排結構
831...記憶體裝置
833...暫存器
901...控制器
911-1...匯流排
911-2...匯流排
911-3...匯流排
911-4...匯流排
931-1...記憶體裝置
931-2...記憶體裝置
931-3...記憶體裝置
931-4...記憶體裝置
ALE...位址鎖存啟用
BL...位元線
CLE...命令鎖存啟用
DQS...資料選通
IO...輸入/輸出
LG...邏輯群組
M1...記憶體
M2...記憶體
MB...元區塊
Mn...記憶體
RE...讀取啟用
S1...選擇電晶體
S2...選擇電晶體
WE...寫入啟用
WL...字線
圖1示意性地圖解說明適合於實施本發明之一記憶體系統之主硬體組件。
圖2示意性地圖解說明一非揮發性記憶體胞。
圖3圖解說明針對浮動閘極可在任何一個時間選擇性地儲存之四個不同電荷Q1至Q4的源極-汲極電流ID 與控制閘極電壓VCG 之間的關係。
圖4A示意性地圖解說明組織成一NAND串之一記憶體胞串。
圖4B圖解說明由諸如圖4A中所示之NAND串50構成之一NAND記憶體胞陣列210之一實例。
圖5圖解說明平行感測或程式化之組織為(舉例而言)NAND組態之一記憶體胞頁。
圖6(0)至圖6(2)圖解說明程式化一4狀態記憶體胞群體之一實例。
圖7A至圖7E圖解說明用一給定2位元碼編碼之4狀態記憶體之程式化及讀取。
圖8圖解說明由一記憶體管理器管理之記憶體,其中該記憶體管理器係駐存於控制器中之一軟體組件。
圖9圖解說明後端系統之軟體模組。
圖10A(i)至圖10A(iii)示意性地圖解說明一邏輯群組與一元區塊之間的映射。圖10B示意性地圖解說明邏輯群組與元區塊之間的映射。
圖11係展示用於基於一現有基礎結構判定介面完整性之一回饋機制之一方塊圖。
圖12係圖解說明其中該回饋機制使用一散列值引擎來判定介面完整性之實施例之一方塊圖。
圖13係展示經由匯流排介面傳輸資料及所產生之散列值之一實例之一圖示。
圖14示意性地圖解說明一記憶體系統中之位元錯誤之成因。
圖15可用於圖解說明在後端介面中一偽回送方法之操作。
圖16及圖17分別對應於圖15之方塊705及709。
圖18係展示傳輸BER對資料匯流排電壓及資料傳送速率之一什穆圖之一實例。
圖19係圖解說明其匯流排結構使用多個記憶體資料匯流排之一記憶體系統中之此串擾之一方塊圖。
(無元件符號說明)

Claims (46)

  1. 一種非揮發性記憶體系統,其包含:一控制器電路,其包括一記憶體介面及邏輯電路;一記憶體電路,其包括一非揮發性記憶體胞陣列、一控制器介面及邏輯電路;一匯流排結構,其連接至該控制器電路之該記憶體介面及該記憶體電路之該控制器介面,以用於其之間的資料及命令之傳送;及一回饋處理電路,其在該控制器與該記憶體電路之間的一資料傳送期間連接至該控制器與該記憶體電路中之接收者之該邏輯電路以接收關於因該傳送而發生之錯誤量之資訊,且連接至該記憶體介面及該控制器介面中之一者或兩者以回應於該錯誤量而調整其之間的該傳送之特性。
  2. 如請求項1之非揮發性記憶體系統,其中該資料傳送係自該控制器電路至該記憶體電路。
  3. 如請求項1之非揮發性記憶體系統,其中該資料傳送係自該記憶體電路至該控制器電路。
  4. 如請求項1之非揮發性記憶體系統,其中該控制器及該記憶體電路中之每一者之該邏輯電路包括一散列值(hash vlaue)產生器,其中在自該記憶體電路及該控制器中之第一者至其中之第二者之傳送處理程序中,該第一者經由該匯流排結構傳輸一資料集及藉由第一者之邏輯電路自該資料集所 產生之一第一散列值,且該第二者自該匯流排結構接收該資料集及該第一散列值且藉由該第二者之邏輯電路自該所接收之資料集產生來自該資料集之一第二散列值,且其中該記憶體電路及該控制器中之該第二者之該邏輯電路進一步包括比較電路,該比較電路經連接以接收所接收之該第一散列值及該第二散列值且執行其之一比較,該錯誤量係基於該比較之結果。
  5. 如請求項4之非揮發性記憶體系統,其中在該記憶體電路上與在該控制器上用於產生該等各別散列值之該等電路係等效的。
  6. 如請求項4之非揮發性記憶體系統,其中在該記憶體電路上與該控制器上用於產生該等各別散列值之該等電路係不等效的。
  7. 如請求項1之非揮發性記憶體系統,其中該比較判定該第一散列值與該第二散列值是否相等,且回應於判定該第一值與該第二值不相等,該記憶體電路及該控制器中之該第二者之該邏輯電路進一步量化該錯誤量。
  8. 如請求項1之非揮發性記憶體系統,其中該回饋處理電路係形成於與該控制器相同之積體電路上。
  9. 如請求項1之非揮發性記憶體系統,其中該回饋處理電路係形成於與該記憶體電路相同之積體電路上。
  10. 如請求項1之非揮發性記憶體系統,其中該回饋處理電路係形成於與該控制器及該記憶體電路兩者分離之一積 體電路上。
  11. 如請求項1之非揮發性記憶體系統,其中該記憶體電路係由複數個積體電路形成,每一積體電路包括一非揮發性記憶體胞陣列、一控制器介面及邏輯電路。
  12. 如請求項11之非揮發性記憶體系統,其中該記憶體電路之每一積體電路藉由一不同匯流排連接至該控制器。
  13. 如請求項11之非揮發性記憶體系統,其中該記憶體電路之積體電路中之一或多者藉由一共用匯流排連接至該控制器。
  14. 如請求項11之非揮發性記憶體系統,其中該控制器與該記憶體電路之該等積體電路中之複數者之間的傳送之特性係可獨立調整的。
  15. 如請求項1之非揮發性記憶體系統,其中該記憶體系統為一記憶卡。
  16. 如請求項1之非揮發性記憶體系統,其中該記憶體系統為一嵌入式記憶體系統。
  17. 如請求項1之非揮發性記憶體系統,其中該記憶體系統為一SSD。
  18. 一種操作一非揮發性記憶體系統之方法,該非揮發性記憶體系統包括一控制器電路及一非揮發性記憶體電路,該方法包含:在該控制器電路及該記憶體電路中之一第一者上之邏輯電路中自一資料集產生一第一散列值;經由該控制器電路及該記憶體電路中之該第一者上之 一介面將該資料集及該第一散列值傳輸至一匯流排結構;經由該控制器電路及該記憶體電路中之第二者上之一介面自該匯流排結構接收該資料集及該第一散列值;在該控制器電路及該記憶體電路中之該第二者上之邏輯電路中自所接收之該資料集產生一第二散列值;在該控制器電路及該記憶體電路中之該第二者上比較所接收之該第一散列值與該第二散列值;及基於該控制器電路及該記憶體電路中之該第二者上之該邏輯電路對所接收之該第一散列值與該第二散列值之該比較,藉由該非揮發性記憶體系統上之回饋處理電路判定是否更改該控制器電路與該記憶體電路之間的該資料傳送之特性。
  19. 如請求項18之方法,其中該控制器電路及該記憶體電路中之該第一者係該控制器電路。
  20. 如請求項18之方法,其中該控制器電路及該記憶體電路中之該第一者係該記憶體電路。
  21. 如請求項18之方法,其中在該記憶體電路上與該控制器上用於產生該等各別散列值之該等邏輯電路係等效的。
  22. 如請求項18之方法,其中在該記憶體電路上與該控制器上用於產生該等各別散列值之該等邏輯電路係不等效的。
  23. 如請求項18之方法,其中該控制器電路與該記憶體電路之間的該資料傳送之該等特性包括傳送資料之一頻率。
  24. 如請求項18之方法,其中該控制器電路與該記憶體電路之間的該資料傳送之該等特性包括該匯流排結構之一時脈頻率。
  25. 如請求項18之方法,其中該控制器電路與該記憶體電路之間的該資料傳送之該等特性包括在該傳送中所使用之一轉換速率。
  26. 如請求項18之方法,其中該控制器電路與該記憶體電路之間的該資料傳送之該等特性包括傳送資料之一介面電壓。
  27. 如請求項18之方法,其中該控制器電路與該記憶體電路之間的該資料傳送之該等特性包括傳送資料之一驅動強度。
  28. 如請求項18之方法,其中該等散列值係基於一循環冗餘檢查而建置。
  29. 如請求項18之方法,其中該等散列值係基於一錯誤校正碼而建置。
  30. 如請求項18之方法,其中在經由該控制器電路及該記憶體電路中之該第一者上之該介面傳輸該資料集及該第一散列值之前,將該資料傳送之該等特性設定為基於該記憶體系統之該匯流排結構及該記憶體電路之該等特性而自一查找表判定之一初始值集。
  31. 如請求項18之方法,其中在經由該控制器電路及該記憶體電路中之該第一者上之該介面傳輸該資料集及該第一散列值之前,將該資料傳送之該等特性設定為基於一或 多個參數而自一查找表判定之一初始值集。
  32. 如請求項18之方法,其中在經由該控制器電路及該記憶體電路中之該第一者上之該介面傳輸該資料集及該第一散列值之前,將該資料傳送之該等特性設定為自該控制器電路與該記憶體電路之間的一先前資料傳輸之品質而判定之一初始值集。
  33. 如請求項31之方法,其中該一或多個參數包括一供應電壓位準。
  34. 如請求項31之方法,其中該一或多個參數包括一溫度。
  35. 如請求項31之方法,其中該一或多個參數包括該控制器電路及該記憶體電路中之一或兩者之處理值。
  36. 如請求項18之方法,該第一散列值之該產生及傳輸係回應於來自該控制器電路及該記憶體電路中之一者之一請求。
  37. 如請求項18之方法,其進一步包含:回應於該判定,更改該控制器電路與該記憶體電路之間的該資料傳送之該等特性,其中該更改係關於自該控制器電路至該記憶體電路之傳送及自該記憶體電路至該控制器電路之傳送對稱地完成。
  38. 如請求項18之方法,其進一步包含:回應於該判定,更改該控制器電路與該記憶體電路之間的該資料傳送之該等特性,其中該更改係關於自該控制器電路至該記憶體電路之傳送及自該記憶體電路至該控制器電路之傳送不對稱地完成。
  39. 如請求項18之方法,其中該記憶體系統為一記憶卡。
  40. 如請求項18之方法,其中該記憶體系統為一嵌入式記憶體系統。
  41. 如請求項18之方法,其中該記憶體系統為一SSD。
  42. 一種操作一非揮發性記憶體系統之方法,該非揮發性記憶體系統具有一控制器電路及包括一非揮發性記憶體胞陣列之一記憶體電路,該方法包含:經由該控制器上之傳輸電路將一資料集自該控制器上之緩衝記憶體傳送至將該控制器連接至該記憶體電路之一匯流排結構;經由該記憶體電路上之接收電路自該匯流排結構接收該資料集;將所接收之該資料集儲存於該記憶體電路上之緩衝記憶體中;經由該記憶體電路上之傳輸電路將儲存於該記憶體電路上之緩衝記憶體中而未被寫入至該陣列中之該資料集傳送至該匯流排結構;經由該控制器上之接收電路自該匯流排結構接收該資料集;隨後將所接收之該資料集儲存於該控制器上之緩衝記憶體中;及隨後基於所接收並儲存於該控制器上之該緩衝記憶體中之該資料集之錯誤量,藉由記憶體系統調整該控制器電路與該記憶體電路之間的該資料傳送之特性。
  43. 如請求項42之方法,其中藉由該控制器上之ECC電路判定該錯誤量。
  44. 如請求項42之方法,其中該記憶體系統為一記憶卡。
  45. 如請求項42之方法,其中該記憶體系統為一嵌入式記憶體系統。
  46. 如請求項42之方法,其中該記憶體系統為一SSD。
TW100124825A 2010-07-13 2011-07-13 後端記憶體系統介面之動態最佳化 TWI482169B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/835,292 US8464135B2 (en) 2010-07-13 2010-07-13 Adaptive flash interface
US13/087,640 US9069688B2 (en) 2011-04-15 2011-04-15 Dynamic optimization of back-end memory system interface

Publications (2)

Publication Number Publication Date
TW201225100A TW201225100A (en) 2012-06-16
TWI482169B true TWI482169B (zh) 2015-04-21

Family

ID=45469774

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100124825A TWI482169B (zh) 2010-07-13 2011-07-13 後端記憶體系統介面之動態最佳化

Country Status (4)

Country Link
KR (1) KR101719395B1 (zh)
CN (1) CN107093464A (zh)
TW (1) TWI482169B (zh)
WO (1) WO2012009318A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI796748B (zh) * 2020-08-05 2023-03-21 美商蘋果公司 使用替代結果之記憶體子系統校準

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9343165B2 (en) * 2012-12-31 2016-05-17 Sandisk Technologies Inc. Dynamic drive strength optimization
US10014070B2 (en) 2013-01-14 2018-07-03 Micron Technology, Inc. Data path integrity verification in memory devices
TWI498893B (zh) * 2013-10-31 2015-09-01 Innostor Technology Corp MLC memory write method in multiple environments
TWI524179B (zh) 2014-04-22 2016-03-01 新唐科技股份有限公司 儲存單元控制器及其控制方法、以及儲存裝置
US9747048B2 (en) * 2014-06-02 2017-08-29 Micron Technology, Inc. Systems and methods for packing data in a scalable memory system protocol
TWI727960B (zh) * 2015-07-21 2021-05-21 美商愛德斯托科技公司 具形成於位元線下共用導體之具可程式阻抗元件記憶體裝置
US10430085B2 (en) 2016-11-08 2019-10-01 Micron Technology, Inc. Memory operations on data
US10261876B2 (en) * 2016-11-08 2019-04-16 Micron Technology, Inc. Memory management
CN117215824A (zh) * 2017-09-28 2023-12-12 北京忆芯科技有限公司 基于机器学习的读出数据错误处理
US11119700B2 (en) 2019-03-11 2021-09-14 Micron Technology, Inc. Receive-side crosstalk cancelation
TWI737262B (zh) * 2020-04-16 2021-08-21 晶豪科技股份有限公司 用於非揮發性記憶體裝置的錯誤更正的控制驗證操作的方法及非揮發性記憶體裝置
KR20220019944A (ko) * 2020-08-11 2022-02-18 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
JP7383831B2 (ja) * 2020-09-23 2023-11-20 キオクシア株式会社 半導体記憶装置及びメモリシステム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050162948A1 (en) * 2004-01-28 2005-07-28 Travis Swanson Providing memory test patterns for DLL calibration
US20060059392A1 (en) * 2004-09-10 2006-03-16 Kizer Jade M Method and apparatus for estimating random jitter (RJ) and deterministic jitter (DJ) from bit error rate (BER)
US20070136623A1 (en) * 2004-09-10 2007-06-14 Rambus Inc. Memory controller and method for operating a memory controller having an integrated bit error rate circuit
US20070168770A1 (en) * 2002-08-07 2007-07-19 Nong Fan System and method for determining on-chip bit error rate (BER) in a communication system
US20100005219A1 (en) * 2008-07-01 2010-01-07 International Business Machines Corporation 276-pin buffered memory module with enhanced memory system interconnect and features
US20100005375A1 (en) * 2008-07-01 2010-01-07 International Business Machines Corporation Cyclical redundancy code for use in a high-speed serial link

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5095344A (en) 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US5070032A (en) 1989-03-15 1991-12-03 Sundisk Corporation Method of making dense flash eeprom semiconductor memory structures
US5343063A (en) 1990-12-18 1994-08-30 Sundisk Corporation Dense vertical programmable read only memory cell structure and processes for making them
US5313421A (en) 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5315541A (en) 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5661053A (en) 1994-05-25 1997-08-26 Sandisk Corporation Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5768192A (en) 1996-07-23 1998-06-16 Saifun Semiconductors, Ltd. Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping
US6768165B1 (en) 1997-08-01 2004-07-27 Saifun Semiconductors Ltd. Two bit non-volatile electrically erasable and programmable semiconductor memory cell utilizing asymmetrical charge trapping
US6510488B2 (en) 2001-02-05 2003-01-21 M-Systems Flash Disk Pioneers Ltd. Method for fast wake-up of a flash memory system
WO2004015740A2 (en) 2002-08-08 2004-02-19 M-Systems Flash Disk Pioneers Ltd. Integrated circuit for digital rights management
US8001325B2 (en) 2004-01-09 2011-08-16 Sandisk Corporation Memory card that supports file system interoperability
US20050213393A1 (en) 2004-03-14 2005-09-29 M-Systems Flash Disk Pioneers, Ltd. States encoding in multi-bit flash cells for optimizing error rate
US7310347B2 (en) 2004-03-14 2007-12-18 Sandisk, Il Ltd. States encoding in multi-bit flash cells
US7057939B2 (en) 2004-04-23 2006-06-06 Sandisk Corporation Non-volatile memory and control with improved partial page program capability
US7493457B2 (en) 2004-11-08 2009-02-17 Sandisk Il. Ltd States encoding in multi-bit flash cells for optimizing error rate
US7426623B2 (en) 2005-01-14 2008-09-16 Sandisk Il Ltd System and method for configuring flash memory partitions as super-units
US8341371B2 (en) 2005-01-31 2012-12-25 Sandisk Il Ltd Method of managing copy operations in flash memories
US7480766B2 (en) 2005-08-03 2009-01-20 Sandisk Corporation Interfacing systems operating through a logical address space and on a direct data file basis
US7913004B2 (en) 2005-09-06 2011-03-22 Sandisk Il Ltd Portable selective memory data exchange device
US7752382B2 (en) 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method
US7934049B2 (en) 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
US7644347B2 (en) * 2005-09-30 2010-01-05 Intel Corporation Silent data corruption mitigation using error correction code with embedded signaling fault detection
US20070086244A1 (en) 2005-10-17 2007-04-19 Msystems Ltd. Data restoration in case of page-programming failure
US7954037B2 (en) 2005-10-25 2011-05-31 Sandisk Il Ltd Method for recovering from errors in flash memory
US7624239B2 (en) 2005-11-14 2009-11-24 Sandisk Corporation Methods for the management of erase operations in non-volatile memories
US7376034B2 (en) 2005-12-15 2008-05-20 Stec, Inc. Parallel data storage system
US8020060B2 (en) 2006-01-18 2011-09-13 Sandisk Il Ltd Method of arranging data in a multi-level cell memory device
US7502254B2 (en) 2006-04-11 2009-03-10 Sandisk Il Ltd Method for generating soft bits in flash memories
US8330878B2 (en) 2006-05-08 2012-12-11 Sandisk Il Ltd. Remotely controllable media distribution device
US20070271495A1 (en) * 2006-05-18 2007-11-22 Ian Shaeffer System to detect and identify errors in control information, read data and/or write data
US7583545B2 (en) 2006-05-21 2009-09-01 Sandisk Il Ltd Method of storing data in a multi-bit-cell flash memory
US7711890B2 (en) 2006-06-06 2010-05-04 Sandisk Il Ltd Cache control in a non-volatile memory device
US7765339B2 (en) 2006-10-27 2010-07-27 Stec, Inc. Distributed addressing in solid-state storage
US20080112255A1 (en) * 2006-11-15 2008-05-15 Aaron John Nygren Training of signal transfer channels between memory controller and memory device
US7739444B2 (en) 2006-12-26 2010-06-15 Sandisk Corporation System using a direct data file system with a continuous logical address space interface
US20080155175A1 (en) 2006-12-26 2008-06-26 Sinclair Alan W Host System That Manages a LBA Interface With Flash Memory
US8209461B2 (en) 2006-12-26 2012-06-26 Sandisk Technologies Inc. Configuration of host LBA interface with flash memory
US8046522B2 (en) 2006-12-26 2011-10-25 SanDisk Technologies, Inc. Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks
US8166267B2 (en) 2006-12-26 2012-04-24 Sandisk Technologies Inc. Managing a LBA interface in a direct data file memory system
US7917686B2 (en) 2006-12-26 2011-03-29 Sandisk Corporation Host system with direct data file interface configurability
US7660166B2 (en) 2007-01-31 2010-02-09 Sandisk Il Ltd. Method of improving programming precision in flash memory
US7904793B2 (en) 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US7975209B2 (en) 2007-03-31 2011-07-05 Sandisk Technologies Inc. Non-volatile memory with guided simulated annealing error correction control
US7966550B2 (en) 2007-03-31 2011-06-21 Sandisk Technologies Inc. Soft bit data transmission for error correction control in non-volatile memory
CN101162449B (zh) * 2007-10-08 2010-06-02 福州瑞芯微电子有限公司 Nand flash控制器及其与nand flash芯片的数据交互方法
US8392779B2 (en) * 2008-04-25 2013-03-05 Qimonda Ag Interface voltage adjustment based on error detection

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070168770A1 (en) * 2002-08-07 2007-07-19 Nong Fan System and method for determining on-chip bit error rate (BER) in a communication system
US20050162948A1 (en) * 2004-01-28 2005-07-28 Travis Swanson Providing memory test patterns for DLL calibration
US20060059392A1 (en) * 2004-09-10 2006-03-16 Kizer Jade M Method and apparatus for estimating random jitter (RJ) and deterministic jitter (DJ) from bit error rate (BER)
US20070136623A1 (en) * 2004-09-10 2007-06-14 Rambus Inc. Memory controller and method for operating a memory controller having an integrated bit error rate circuit
US20100005219A1 (en) * 2008-07-01 2010-01-07 International Business Machines Corporation 276-pin buffered memory module with enhanced memory system interconnect and features
US20100005375A1 (en) * 2008-07-01 2010-01-07 International Business Machines Corporation Cyclical redundancy code for use in a high-speed serial link

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI796748B (zh) * 2020-08-05 2023-03-21 美商蘋果公司 使用替代結果之記憶體子系統校準
US11776597B2 (en) 2020-08-05 2023-10-03 Apple Inc. Memory subsystem calibration using substitute results

Also Published As

Publication number Publication date
TW201225100A (en) 2012-06-16
CN107093464A (zh) 2017-08-25
WO2012009318A1 (en) 2012-01-19
KR101719395B1 (ko) 2017-03-23
KR20130139848A (ko) 2013-12-23
CN103098029A (zh) 2013-05-08

Similar Documents

Publication Publication Date Title
TWI482169B (zh) 後端記憶體系統介面之動態最佳化
US9069688B2 (en) Dynamic optimization of back-end memory system interface
US9384128B2 (en) Multi-level redundancy code for non-volatile memory controller
US10896123B2 (en) Enhancing the effectiveness of read scan performance and reliability for non-volatile memory
US8464135B2 (en) Adaptive flash interface
US10102920B2 (en) Memory system with a weighted read retry table
US10090044B2 (en) System and method for burst programming directly to MLC memory
US10007573B2 (en) Preferred state encoding in non-volatile memories
US20200226022A1 (en) Memory system
US8386861B2 (en) Non-volatile memory and method with post-write read and adaptive re-write to manage errors
US8423866B2 (en) Non-volatile memory and method with post-write read and adaptive re-write to manage errors
KR101040961B1 (ko) 온-칩 비휘발성 메모리 기록 캐쉬를 사용하기 위한 시스템및 방법
KR101807346B1 (ko) 비휘발성 메모리에 비트 스캔 회로 및 방법
CN103827971A (zh) 具有使用多页的组合验证的加速的写入后读取的非易失性存储器和方法
JP2009503726A (ja) 状況依存メモリ性能
KR20100093739A (ko) 비휘발성 메모리 장치의 읽기 방법
US9496041B2 (en) Memory programming method, memory control circuit unit and memory storage device
CN112542201B (zh) 存储设备及操作该存储设备的方法
US10803954B2 (en) Memory system
TW202240594A (zh) 用於管理具有動態錯誤更正碼保護之記憶體的方法及系統
US9312013B1 (en) Configuration method of erase operation, memory controlling circuit unit and memory storage device
CN112562772B (zh) 自适应低密度奇偶校验硬解码器
EP4405952A1 (en) Improved ecc configuration in memories
CN103098029B (zh) 后台存储器系统接口的动态优化

Legal Events

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