TWI533304B - 用於儲存資料於具有跨頁區段、多頁編碼及每頁編碼之多位準單元快閃記憶體器件中之方法及裝置 - Google Patents
用於儲存資料於具有跨頁區段、多頁編碼及每頁編碼之多位準單元快閃記憶體器件中之方法及裝置 Download PDFInfo
- Publication number
- TWI533304B TWI533304B TW098107915A TW98107915A TWI533304B TW I533304 B TWI533304 B TW I533304B TW 098107915 A TW098107915 A TW 098107915A TW 98107915 A TW98107915 A TW 98107915A TW I533304 B TWI533304 B TW I533304B
- Authority
- TW
- Taiwan
- Prior art keywords
- pages
- flash memory
- memory device
- level cell
- page
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1072—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
Description
本發明一般係關於多位準單元快閃記憶體器件,且更特定言之係關於用於編碼與存取此類多位準單元器件的技術。
本申請案主張2008年3月11日申請的美國臨時申請案第61/068,934號之權利,其係以引用方式併入本文中。
若干記憶體器件(例如,快閃記憶體器件)使用類比記憶體單元來儲存資料。每一記憶體單元儲存一類比值,亦稱為一儲存值,例如一電荷或電壓。該儲存值代表儲存於該單元中的資訊。在快閃記憶體器件中,(例如)每一類比記憶體單元通常儲存一特定電壓。針對每一單元的可能類比值之範圍通常係分成臨限區域,每一區域對應於一或多個資料位元值。資料係藉由寫入對應於所需一或多個位元之一標稱類比值來寫入至一類比記憶體單元。
單位準單元(SLC)快閃記憶體器件(例如)儲存每記憶體單元一個位元(或兩個可能記憶體狀態)。另一方面,多位準單元(MLC)快閃記憶體器件儲存每記憶體單元兩個或兩個以上之位元(即,每一單元具有四個或四個以上之可程式化狀態)。在一多位準單元快閃記憶體器件中,偵測電流或電壓的數量,而非僅係一電流或電壓的存在或不存在。在一多位準單元器件中,採用至少三個臨限位準來定義四個或四個以上之不同臨限狀態。因而,一個別單元之操作範圍係分成增加的狀態數並且每一狀態之範圍係小於針對一單位準單元器件的狀態之範圍。因而,一多位準單元器件中任何單一位元的可靠性係低於一單位準單元器件。
現有快閃記憶體器件採用頁層級存取技術,從而一頁係可以係寫入至快閃記憶體器件或自快閃記憶體器伴讀取的最小單元。頁一般係彼此獨立地寫入與讀取。此外,現有快閃記憶體通常使用相同的碼與碼率來編碼(與解碼)所有頁。作業系統通常採用資料區段,其由(例如)512個位元組的使用者資訊構成。一般而言,使用者資料長度係區段大小的倍數。使用一典型快閃記憶體組態,一頁包含八個區段之使用者資訊。因而,使用頁層級存取技術,該快閃控制器組合八個區段之資訊以將每一頁寫入至該快閃記憶體器件。每次自該快閃記憶體器件讀取一區段時,包含所需區段之一整頁係讀取。
針對多位準單元(MLC)快閃記憶體器件需要改良的多位準編碼與讀取/寫入存取技術以實現(例如)更低的錯誤率或改良儲存容量。針對多位準單元快閃記憶體器件進一步需要改良的讀取/寫入存取技術,其允許在該快閃記憶體器件中橫跨複數個頁儲存一單一區段。亦需要改良的讀取/寫入存取技術,其提供每一頁中的區段數以及用於編碼與解碼的碼及/或碼率的每頁控制。針對多位準碼之一更詳細論述,(例如)參見U. Wachsmann等人的「多位準碼:理論概念與實際設計規則(Multilevel Codes:Theoretical Concepts and Practical Design Rules)」(IEEE Trans. on Information Theory,第45卷,第5號,1361-91,1999年),其係以引用方式併入本文中。
一般而言,提供用於儲存資料於具有跨頁區段、多頁編碼及每頁編碼之多位準單元快閃記憶體器件中之方法及裝置。依據本發明之各種態樣,資料係儲存於具有複數個單元的多位準單元快閃記憶體器件中,其中該多位準單元快閃記憶體器件之每一單元能夠儲存複數個位元,其中該複數個位元之每一者係來自一不同頁。一揭示的資料儲存方法包含以下步驟:累積複數個該等頁;將該複數個頁編碼為一單一區塊;以及儲存該單一區塊於該多位準單元快閃記憶體器件中。此外,可解碼該經儲存單一區塊以提供該複數個該等頁。
另一儲存方法包含以下步驟:決定待在該多位準單元快閃記憶體器件中寫入的一當前頁之一頁層級;決定相關聯於該經決定頁層級的一碼與一碼率之至少一者;使用該經決定至少一碼與碼率來編碼當前頁;以及儲存該經編碼當前頁於該多位準單元快閃記憶體器件中。可在該多位準單元快閃記憶體器件中讀取一頁並使用相關聯於該經識別頁的至少一碼與碼率來解碼該頁。
另一儲存方法包含以下步驟:決定待在該多位準單元快閃記憶體器件中寫入的一當前頁之一頁層級;決定相關聯於該經決定頁層級的每頁之區段數;累積該經決定區段數;編碼該等經累積區段;以及儲存該等經累積區段於該多位準單元快閃記憶體器件中。在接收一請求以讀取至少一區段之後,可旋即識別具有該經請求區段的多位準單元快閃記憶體器件中之一或多個頁;並可使用一頁層級、一多頁及一字線層級存取方案之一或多者來讀取該經識別一或多個頁。可使用相關聯於該經識別一或多個頁的一碼與一碼率之至少一者來解碼該讀取的經識別一或多個頁,並使用一記憶體映射來從該經解碼一或多個頁獲得該經請求區段。
另一儲存方法包含以下步驟:儲存一第一組邏輯頁,其中在該第一組邏輯頁中的每一邏輯頁之一經編碼大小係少於該複數個實體頁之一大小;以及儲存一第二組邏輯頁,其中在該第二組邏輯頁中的每一邏輯頁之一經編碼大小係大於該複數個實體頁之一大小且其中該第二組邏輯頁之至少一部分係儲存於該第一組邏輯頁之一溢出區域中。
依據本發明之另一態樣,揭示一多位準單元快閃記憶體器件,其包含:複數個單元,其中該多位準單元快閃記憶體器件之每一單元能夠儲存複數個位元,其中該複數個位元之每一者係來自一不同頁;以及複數個字線,其各包含複數個該等頁,其中該複數個頁之每一者能夠具有一相關聯碼率使得該複數個頁之每一者之一未經編碼長度係實質上類似的並且該複數個頁之每一者之一經編碼長度係不同的。
本發明之另一態樣提供一多位準單元快閃記憶體器件,其包含:複數個單元,其中該多位準單元快閃記憶體器件之每一單元能夠儲存複數個位元,其中該複數個位元之每一者係來自一不同頁;以及複數個字線,其各包含複數個該等頁,其中該複數個頁之每一者能夠具有一相關聯碼率使得該複數個頁之每一者之一未經編碼長度係不同的並且該複數個頁之每一者之一經編碼長度係實質上類似的。
本發明之另一態樣提供一多位準單元快閃記憶體器件,其包含:複數個單元,其中該多位準單元快閃記憶體器件之每一單元能夠儲存複數個位元,其中該複數個位元之每一者係來自一不同頁;以及複數個字線,其各包含複數個該等頁,其中至少一個區段能夠跨越該複數個頁。
參考以下詳細說明及圖式,將獲得本發明之更全面的瞭解以及本發明之進一步的特徵與優點。
本發明提供針對多位準單元(MLC)快閃記憶體器件之多位準編碼與讀取/寫入存取技術。如本文中所使用,一多位準單元快閃記憶體包含一記憶體,其中每一記憶體單元儲存兩個或兩個以上之位元。通常,儲存於一快閃單元中的多個位元屬於不同頁。圖1係解說依據本發明之一快閃記憶體控制器100與一快閃記憶體器件120之間的交互作用之示意方塊圖。如圖1所示,依據本發明之態樣,使用者資料可以係寫入至一快閃記憶體130中並自快閃記憶體130讀取,下文論述。如圖1所示,一輸入位元流係藉由一資料管理區塊110來處理,其實行資料彙總、分割或可能諸如交錯之其他任務。該經分割資料接著係藉由一編碼器140編碼以(例如)新增冗餘位元。在本發明之所有具體實施例中,可使用系統與無系統碼兩者。
該經編碼資料接著係藉由一映射器150來處理,其將該經編碼位元流或該等經編碼位元流映射至經程式化電壓位準用於程式化該快閃記憶體130。資料係自該快閃記憶體130讀取並藉由一解映射器160處理,其將該等經讀取電壓位準解映射至一或多個位元流,其係藉由解碼器170解碼。一般而言,該編碼器140與映射器150將使用者資料流轉譯成狀態流或電壓位準流,其應係程式化至該快閃記憶體130之單元中。同樣,該解映射器160與解碼器170將自該快閃記憶體130讀取的單元狀態流或電壓位準流轉譯成儲存於該快閃記憶體130中之使用者資料流。該資料管理區塊110可於該編碼器140之輸出或於該解映射器160之輸出對該經編碼資料流施加額外的資料分割、交錯或其他任務。
下文結合圖4與圖13進一步論述依據本發明的編碼與解碼資料之技術。下文結合(例如)圖5與6進一步論述針對該快閃控制器100之適合技術。可將該快閃記憶體130體現為一多位準單元快閃記憶體,例如一多位準NAND快閃記憶體或多位準相變記憶體。一般而言,如下文結合圖3所進一步論述,該快閃記憶體130包括至少一快閃記憶體陣列以及讀取與寫入電路。
在一多位準單元快閃記憶體中,通常採用一臨限偵測器來將相關聯於一特定單元的電壓值轉譯至一預定義記憶體狀態。圖2解說基於以引用方式併入本文中的美國專利第6,522,580號之教導的圖1之範例性多位準單元快閃記憶體130之範例性臨限電壓分佈。在圖2所示之範例性具體實施例中,每一儲存單元採用四個可能資料狀態來儲存兩個位元之資料於每一記憶體單元中。圖2解說四個峰值210至213,每一峰值對應於一狀態。在一多位準單元快閃記憶體器件中,該臨限電壓分佈圖表200之不同峰值210至213係用於儲存兩個位元於該單元中。
該臨限電壓分佈圖表200之峰值210至213係分別以二進制值11、01、00及10予以標記。因而,當一單元處於一第一狀態210時,其代表針對下位元之一「1」與針對上位元之一「1」(此一般係該單元之初始未經程式化或經抹除狀態)。同樣,當一單元處於該第二狀態211時,其代表針對下位元之一「1」與針對上位元之一「0」。當一單元處於該第三狀態212時,其代表針對下位元之一「0」與針對上位元之一「0」。最後,當一單元處於該第四狀態213時,其代表針對下位元之一「0」與針對上位元之一「1」。
臨限電壓分佈210代表處於一經抹除狀態(「11」資料狀態)的陣列內之單元的臨限位準VT
之一分佈,負臨限電壓位準低於0伏特。分別儲存「01」與「00」使用者資料的記憶體單元之臨限電壓分佈211與212係顯示分別在0與1伏特之間與在1與2伏特之間。臨限電壓分佈213顯示已程式化至該「10」資料狀態的單元之分佈,一臨限電壓位準係設定於該讀取傳遞電壓之2與4.5伏特之間。
如下文所進一步論述,儲存於一單一記憶體單元中的兩個位元之每一者係來自一不同頁。換言之,儲存於每一記憶體單元中的二個位元之每一位元承載一不同頁位址。當輸入一下頁位址時存取圖2所示之右側位元。當輸入一上頁位址時存取左側位元。
圖3解說一多位準單元(MLC)快閃記憶體器件300。如圖3所示,該多位準單元快閃記憶體器件300儲存每快閃記憶體單元ci
兩個或兩個以上之位元。圖3解說針對一區塊之快閃記憶體陣列架構,其中每一範例性單元通常對應於儲存三個位元之一浮動閘極電晶體。該範例性記憶體陣列300由m個字線與n個位元線組成。一般而言,在多頁單元快閃記憶體中,每一頁係該區段大小之一倍數,並且在該單一單元內之位元屬於不同頁。在圖3之範例中,針對每一單元的三個位元對應於三個不同頁,並且每一字線儲存三個頁。在以下論述中,頁0、1及2係稱為下頁層級、中頁層級及上頁層級。此外,該快閃記憶體器件300中之每一頁(例如頁310)通常包含固定區段數,例如8個區段。依據本發明之一態樣,每一頁可以係該區段大小之一非整數倍數。
依據本發明之一態樣,可以不同碼率或不同類型之碼(或兩者)來視需要地編碼一字線中之每一頁。例如,可採用低密度同位檢查碼(LDPC)、玻色-喬德霍裏-赫奎能(Bose-Chaudhuri-Hocquenghem)(BCH)及李德所羅門(Reed Solomon)(RS)碼。在一具體實施例中,可針對需要改良的可靠性之頁來採用更強有力的碼或更低的碼率。例如更高的頁數可能具有一更高的錯誤可能性。因而,可以改良此等頁的效能之一碼或碼率(或兩者)來編碼此等頁。可將更強有力的錯誤校正碼(例如更低速率碼與LDPC碼)用於相關聯於一更高錯誤率之更高頁,並可將不太強有力的錯誤校正碼(例如更高速率碼與代數碼)用於相關聯於一更低錯誤率之更低頁。
因而,本發明允許該多位準單元快閃記憶體器件300之一字線內的每一頁之編碼參數係唯一地建立。例如,本發明之一具體實施例允許(i)每頁之區段數、用以分割及/或編碼該頁的(ii)碼及/或(iii)碼率之每頁控制。
如下文結合圖4所進一步論述,可藉由該編碼器140使用具有高達j個唯一碼及/或碼率之一獨立編碼方案來視需要地編碼每一字線中的j個資料頁(其中j係該快閃記憶體300中每字線之頁數)。例如,在圖4所示之具體實施例中,每一頁可視需要地採用一唯一碼與碼率。
下文結合圖5論述的本發明之另一態樣支援一聯合編碼方案,從而可藉由該編碼器140以一單一碼與碼率來編碼每一字線中之j個資料頁。
依據本發明之另一態樣,可在一頁層級、多頁層級或字線層級的基礎上來存取該多頁單元快閃記憶體300。如前所示,現有快閃記憶體器件採用頁層級存取技術,從而一頁係可以係寫入至快閃記憶體器件或自快閃記憶體器件讀取的最小單元。此外,本發明允許:(i)多頁層級存取技術,從而可採用多個頁作為用於寫入至該快閃記憶體器件或自該快閃記憶體器件讀取的最小單元;以及(ii)字線層級存取技術,其中一字線係用於讀取與寫入資料之最小資料單元。以此方式,本發明藉由允許橫跨頁邊界編碼碼字來提供更大的靈活性與效率。此外,本發明允許採用改良的編碼與解碼方案,例如一起編碼多個頁的LPDC編碼技術。
如下文所進一步論述,該資料管理區塊110基於是否採用一頁層級、多頁層級存取方案或字線層級存取方案來累積來自該輸入位元流之資料。雖然在多頁層級存取方案或字線層級存取方案中可針對多個頁或整個字線來實行資料管理與編碼,但可藉由使用已知技術將頁循序寫入至該快閃記憶體來實體地寫入此等多個頁或字線。
圖4解說依據本發明之一態樣的圖3之多頁單元快閃記憶體300之一範例性編碼器400。如前所示,可獨立地編碼該範例性快閃記憶體130中之每一頁。如圖4所示,三個不同的編碼器420-1至420-3係用於一範例性字線中的三個範例性頁。該三個編碼器420-1至420-3在編碼類型(例如,LDPC、BCH及RS)或碼率或兩者方面可不同。如上所示,可以比中頁層級與上頁層級高的碼率來編碼一下頁層級(或反之亦然)。在一變化案中,可根本不編碼具有充分可靠性的一些頁層級。如圖4所示,在下文進一步論述的資料分割310之後,一單元內之每一位元在係儲存於該快閃記憶體300之適當單元中之前係藉由一分離的編碼器420-1至420-3編碼。
依據本發明之另一態樣,可以一不同類型之解碼器(例如LDPC、BCH、RS、硬式決策或軟式決策解碼器)來解碼一字線中之每一頁。例如,可使用一硬式決策解碼器來解碼相關聯於一更低錯誤率的一字線內之頁,而可使用一軟式決策解碼器來解碼相關聯於一更高錯誤率的頁。
在另一變化案中,當該等解碼器實施反覆解碼時,針對每一頁的解碼器可實施一不同迭代數。例如,可使用一更大迭代數來解碼相關聯於一更高錯誤率的一字線內之頁,而可使用比更高錯誤率頁少的迭代數來解碼相關聯於一更低錯誤率的頁。此外,如下文結合圖13所進一步論述,本發明之另一態樣解碼一字線內的多個頁,其中(例如)針對一頁的解碼器將一決策饋送至另一頁之解碼器以改良總體錯誤率。
圖5係說明併入本發明之特徵的一字線層級存取方案的一寫入程序500之一範例性實施方案的流程圖。如圖5所示,該範例性字線層級寫入程序500最初在步驟510期間收集j乘k個區段,其中j係該快閃記憶體300中每字線之頁數而k係每頁之區段數。應注意,在步驟510期間,一或多個頁可能需要(例如)在該資料管理區塊110中緩衝,直至三個完全的資料頁可用(針對圖3之範例性每單元3位元具體實施例)。然後,在步驟520期間該字線層級寫入程序500將j個資料頁編碼成一經編碼區塊。在步驟530期間視需要地將該經編碼區塊分割成j個頁。接著在步驟540期間在該快閃記憶體300中程式化該j個頁。
應注意,在本發明之各種具體實施例中,可以一單一碼與碼率來聯合編碼該j個資料頁,或使用高達j個碼與碼率(針對每一頁使用一唯一碼與碼率)來獨立地編碼該j個資料頁。進一步應注意,在一聯合編碼方案中,通常在步驟520之編碼之後實行步驟530期間的分割,如圖5所示,而針對一獨立編碼方案,一般在步驟520之編碼之前將資料分割成頁。
圖6係說明併入本發明之特徵的一字線層級存取方案的一讀取程序600之一範例性實施方案的流程圖。如圖6所示,該範例性字線層級讀取程序600最初在步驟610期間接收一請求以讀取至少一區段。然後,該字線層級讀取程序600在步驟620期間使用已知映射技術識別具有該經請求區段之字線。該字線層級讀取程序600在步驟630期間(例如)藉由連續讀取儲存於該字線中的所有頁來讀取該經識別字線,並在步驟640期間解碼自該字線讀取的資料區塊以獲得高達j個頁。應注意,在本發明之各種具體實施例中,可基於在步驟520期間資料係如何寫入至該快閃記憶體來以一單一碼與碼率或高達j個碼與碼率(針對每一頁使用一唯一碼與碼率)來解碼自該字線讀取的資料區塊。最後,該字線層級讀取程序600在步驟650期間使用在該寫入程序500期間建立的記憶體映射來從該等經解碼頁獲得該經請求區段。
如前所示,本發明之一態樣允許一字線內之每一頁係以針對每一頁之不同碼及/或碼率來獨立地編碼與解碼。在一變化案中,可以一不同碼率來編碼一字線內之每一頁。圖7解說併入本發明之特徵的一可變碼率編碼方案700,其中一字線內之每一頁係以一不同碼率編碼至相同長度。如圖7之範例性實施方案所示,下頁711與中頁712係使用相同碼率編碼並包含相同數量的使用者資料720與同位位元730。該上頁713係以相對於頁711、712更低的碼率來編碼,因而編碼更少的使用者資料720並使更大數目之同位位元730可用。例如,經編碼下頁711與中頁712可包含7個區段,而經編碼上頁713可包含6個區段。下文結合圖8至11來進一步論述用以支援圖7之可變碼率編碼方案700的適合寫入與讀取程序。
因而,本發明允許選擇碼率以使得一字線中之頁具有相同的經編碼長度,但具有不同未經編碼長度。如下文中所論述,該控制器100可在可用於程式化的快閃記憶體中基於一頁之使用者資料大小並基於頁類型(即,碼率與每頁之區段數)來分割該經接收資料流。可選擇該頁位置以在格式效率、讀取及寫入速度方面最大化系統效能。
圖8與9解說當每一頁包含一整數區段數時用於分別寫入與讀取該快閃記憶體130的可變碼率程序。圖10與11解說當一或多個頁可包含一非整數區段數並且一給定區段可跨越一個以上之頁時用於分別寫入與讀取該快閃記憶體130的可變碼率程序。
圖8係說明當每一頁包含一整數區段數時用於寫入該快閃記憶體130的一可變碼率寫入程序800之一範例性實施方案的流程圖。一般而言,該寫入程序800採用一頁層級存取方案與新穎技術以用於基於係編碼的頁類型(即,頁層級)來分割使用者資料。此外,該寫入程序800亦採用相關聯於該經識別頁類型的適當碼率。例如,在一範例性實施方案中,一字線之下頁與中頁可包含八個使用者資料區段,而上頁可包含七個使用者資料區段。因而,若正在程式化下頁或中頁,則應累積八個使用者資料區段,而若正在程式化上頁,則應累積七個使用者資料區段。
如圖8所示,該寫入程序800最初在步驟810期間決定係寫入的當前頁之頁層級並在步驟820期間針對該經決定頁層級來決定每頁之區段數與碼及/或碼率。該寫入程序800在步驟830期間累積針對當前頁層級的經決定區段數。在步驟840期間使用針對當前頁之碼與碼率來編碼該經累積資料,並在步驟850期間將該頁寫入至該快閃記憶體300。
圖9係說明當每一頁包含一整數區段數時用於讀取該快閃記憶體130的一可變碼率讀取程序900之一範例性實施方案的流程圖。一般而言,該讀取程序900採用一頁層級存取方案。如圖9所示,該範例性可變碼率頁層級讀取程序900最初在步驟910期間接收一請求以讀取至少一區段。然後,該可變碼率頁層級讀取程序900在步驟920期間識別具有該經請求區段之頁。該可變碼率頁層級讀取程序900在步驟930期間讀取該經識別頁,並接著在步驟940期間使用適合於當前頁層級的碼及/或碼率來解碼該頁。在步驟950期間使用該記憶體映射來從該經解碼頁獲得該經請求區段。
如前所示,圖10與11解說當一或多個頁可包含一非整數區段數並且一給定區段可跨越一個以上之頁時用於分別寫入與讀取該快閃記憶體130的可變碼率程序。
在其中一區段可跨越多個頁(例如,其中每一頁具有一非整數區段數)之一實施方案中,應採用多頁層級存取技術或字線層級存取技術來實施該可變碼率方案。圖10係說明當每一頁包含一非整數區段數並且一給定區段可跨越一個以上之頁時用於寫入該快閃記憶體130的一可變碼率寫入程序1000之一範例性實施方案的流程圖。一般而言,該寫入程序1000採用一多頁層級存取方案或字線層級存取方案與新穎技術以用於基於係編碼的頁類型(即,頁層級)來分割使用者資料。此外,該寫入程序1000亦採用相關聯於該經識別頁類型的適當碼率。如圖10所示,該寫入程序1000最初在步驟1010期間識別係寫入的當前頁之頁層級並在步驟1020期間決定針對該經決定頁層級的每頁之區段數與碼及/或碼率。同樣應注意,每頁之區段數可以係一非整數數目。該寫入程序1000在步驟1030期間累積針對當前頁層級的整個及部分區段的經決定數目。接著,該寫入程序1000在步驟1040期間針對下一頁來緩衝剩餘區段之分數部分(若有)。例如,可在該資料管理區塊110中實行該緩衝。在步驟1050期間使用針對當前頁層級之碼率來編碼該經累積資料,並在步驟1060期間視情況使用一多頁層級存取方案或字線層級存取方案來將該經編碼資料寫入至該快閃記憶體300。一般而言,在一多頁存取方案中,在步驟1060之前重複步驟1010至1050直至已編碼多個頁。接著,(例如)循序使用已知技術來將此等經編碼頁寫入至該快閃記憶體。在一字線層級存取方案中,在步驟1060之前重複步驟1010至1050直至已編碼一字線內之所有頁。接著,(例如)藉由使用已知技術循序寫入該字線內之所有頁來將該全部字線寫入至該快閃記憶體。
圖11係說明當一或多個頁可包含一非整數區段數並且一給定區段可跨越一個以上之頁時用於讀取該快閃記憶體130的一可變碼率程序1100之一範例性實施方案的流程圖。一般而言,該讀取程序1100採用一多頁層級存取方案或字線層級存取方案。如圖11所示,該範例性可變碼率讀取程序1100最初在步驟1110期間接收一請求以讀取至少一區段。接著,該可變碼率讀取程序1100在步驟1120期間識別具有該經請求區段的一或多個頁。
在步驟1130期間實行一測試以決定該區段是否跨越一單一頁或多個頁。若在步驟1130期間決定該區段跨越一單一頁,則在步驟1140期間使用頁層級存取技術來讀取該頁。然而,若在步驟1130期間決定該區段跨越多個頁,則在步驟1150期間使用多頁層級存取技術或字線層級存取技術來讀取該等頁。一般而言,在一多頁存取方案中,讀取多個頁,而在一字線層級存取方案中,讀取一完全字線。可藉由自該快閃記憶體循序讀取頁來讀取多個頁或一完全字線。
然後,該可變碼率讀取程序1100在步驟1160期間使用適合於此等頁層級的碼及/或碼率來解碼經讀取頁。最後,該可變碼率讀取程序1100在步驟1170期間使用該記憶體映射來從經解碼頁獲得該經請求區段。
在本發明之另一具體實施例中,頁可橫跨實體頁邊界溢出。在此情況下,用於資料分割與編碼目的之邏輯頁係自儲存於一字線中的實體頁區分,如圖3所示。可使用(例如)圖4所示之編碼方案來編碼邏輯頁。一般而言,一字線中的邏輯頁可具有相同的未經編碼長度(即,相同數量之使用者資料),但具有不同經編碼長度。例如,一可變碼率實施方案可引起不同長度的邏輯頁,在該情況下一些邏輯頁自一字線中之一頁溢出至該字線中之另一頁。以此方式,本發明建議使用一字線中的單元(稱為溢出單元)之一部分來儲存跨過實體頁邊界的邏輯資料部分。如下文中所論述,可與一字線中的其他單元同時或在已程式化擬合於一實體頁中的其他邏輯頁之後程式化該等溢出單元。在一實施方案中,可使用溢出單元1120來儲存針對上頁2之額外同位位元。
圖12解說具有規則單元1210與溢出單元1220之一多頁單元字線1200。在圖12之範例性具體實施例中,下邏輯頁0與中邏輯頁1具有相同的經編碼長度,而上邏輯頁2溢出至該等實體頁0與1中。在一實施方案中,首先可將邏輯頁0與1程式化至該字線1200之規則單元1210中而不程式化該等溢出單元1220。接著,邏輯頁2係程式化至該等規則單元1210之上頁中,並程式化至該等溢出單元1220之所有頁中。例如,可以與一習知快閃記憶體類似的方式來將下頁0、中頁1及上頁2程式化至規則單元1210中。當該上頁係程式化時,該等溢出單元1220之下位元、中位元及上位元亦係程式化(例如,直接在實行規則單元之上頁程式化之後)。
在另一實施方案中,採用多頁層級存取技術或字線層級存取技術來以與上面所論述的圖5類似之一方式一次程式化包括規則部分與溢出部分的整個實體頁。例如,該資料管理單元110可收集多個區段並將經彙總資料分割成j個邏輯頁。接著,可使用高達j個編碼器來編碼該j個邏輯頁。接著,該資料管理單元110將經編碼資料分割成j個實體頁,其接著係寫入至碟片中,其中可一次寫入該實體頁之規則區段與溢出區段兩者。在本發明之另一具體實施例中,邏輯頁與實體頁之數目可以係不同的:該資料管理單元可在資料收集之後將該等區段分割成j個邏輯頁,並在編碼之後將經編碼資料分割成j’個實體頁。
可(例如)使用頁層級存取技術來彼此獨立地程式化與讀取不溢出的邏輯頁。當溢出的邏輯頁係程式化或讀取時,必須使用多頁層級存取技術或字線層級存取技術來存取至少兩個實體頁,如上面結合圖4與5所論述。
在進一步變化案中,可藉由最初僅讀取不具有該等溢出單元的實體頁(即,圖12之範例中的實體頁2)來讀取溢出頁。若如(例如)藉由一循環冗餘檢查(CRC)碼或同位檢查碼所決定一解碼錯誤發生,則亦可讀取該等溢出單元1220。在一解碼錯誤的情況下之另一選項係亦讀出其他實體頁(即,圖12中之實體頁0與1)以獲得具有該等溢出單元的完全邏輯頁用於解碼。替代地,若此等頁之前已讀出並儲存於一緩衝器中,則可自一緩衝器讀取其他實體頁(即,圖12中之實體頁0與1)。在一解碼錯誤的情況下之另一選項係讀出該完全字線1200以獲得具有溢出單元1220之完全邏輯頁。
圖13係併入本發明之特徵的一多級解碼器1300之示意方塊圖。如圖13所示,在一多級解碼器1300中,分量碼係藉由對應解碼器1310-0至1310-2來連續解碼。針對一範例性多級解碼器1300之一更詳細論述,(例如)參見U. Wachsmann等人的「多位準碼:理論概念與實際設計規則(Multilevel Codes:Theoretical Concepts and Practical Design Rules)」(IEEE Trans. on Information Theory,第45卷,第5號,1361-91,1999年),其係以引用方式併入本文中。
依據本發明,該多級解碼器1300解碼一字線內的多個頁,其中(例如)針對一頁之解碼器(例如,解碼器1310-0)饋送一決策至另一頁之解碼器(例如,解碼器1310-1),以改良總體錯誤率。在圖13中,y係來自該解映射器之輸出,而分別係於針對頁0、1及2的解碼器之輸出的經解碼位元。在一替代實施方案中,針對一頁之解碼器可將對數概度比(LLR)或軟資訊饋送至針對另一頁之解碼器。
在本發明之另一態樣中,首先可不解碼其他頁或獨立於其他頁來解碼一頁。若一解碼錯誤發生,如(例如)藉由一未通過的同位檢查所示,則可讀取來自該字線之其他頁以實行多級解碼,如圖13所示。
可顯示若處於每一位元位準的編碼器速率係與各別位元位準通道之容量匹配,則多位準編碼與多級解碼可接近向農(Shannon)容量。如前所示,本發明允許針對需要改良的可靠性之頁採用更強有力的碼或更低的碼率。因而,若該選定碼率與該位元位準通道之容量實質上匹配,則該儲存容量可接近向農容量。
雖然本文中的若干流程圖說明一範例性步驟序列,但該序列可以係改變亦係本發明之一具體實施例。該演算法之各種置換係考慮為本發明之替代具體實施例。雖然如熟習此項技術者所明白已相對於一軟體程式中之處理步驟說明本發明之範例性具體實施例,但可如一軟體程式中之處理步驟、以藉由電路元件或狀態機之硬體或軟體與硬體兩者之組合來在數位域中實施各種功能。此類軟體可用於(例如)一數位信號處理器、特定應用積體電路、微控制器或通用電腦中。可在實施於一積體電路內的電路內體現此類硬體與軟體。
因而,可按用於實施該些方法之方法及裝置的形式來體現本發明之功能。可按程式碼的形式來體現本發明之一或多個態樣,例如無論是否儲存於一儲存媒體中,載入至一機器中及/或藉由一機器執行,或透過某一傳輸媒體發射,其中當該程式碼係載入至一諸如電腦之機器中並藉其執行時,該機器成為一用於實行本發明之裝置。當在一通用處理器上實施時,該程式碼段與該處理器組合以提供一類似於特定邏輯電路操作之一器件。亦可在一積體電路、一數位信號處理器、一微處理器及一微控制器之一或多者中實施本發明。
如此係技術中所熟知的,可將本文中論述之方法及裝置分散為一製造物品,其本身包含其上體現電腦可讀取碼構件的電腦可讀取媒體。該電腦可讀取程式碼構件可操作以結合電腦系統實施全部或一些該等步驟,以實行本文中論述的方法或建立裝置。該電腦可讀取媒體可以係一可記錄媒體(例如,軟碟、硬碟機、光碟、記憶卡、半導體器件、晶片、特定應用積體電路(ASIC))或可以係一傳輸媒體(例如,包含光纖之網路、全球資訊網、電纜、或使用分時多重近接、分碼多重近接之無線通道、或其他射頻通道)。可儲存適合於與電腦系統一起使用之資訊的任何熟知或開發之媒體均可使用。該電腦可讀取碼構件係用於允許一電腦讀取指令及資料的任何機構,例如磁性媒體上之磁性變更或光碟之表面上之高度變更。
本文中說明的電腦系統及伺服器各包含一記憶體,其將組態相關聯的處理器以實施本文中揭示的方法、步驟及功能。該等記憶體可以係分散式或局部的,並且該等處理器可以係分散式或單一的。可將該等記憶體實施為電性、磁性或光學記憶體或此等記憶體或其他類型的儲存器件之任何組合。此外,術語「記憶體」應足夠廣義地解釋為包含能夠自藉由一相關聯的處理器所存取之可定址空間中的一位址讀取或係寫入至該位址的任何資訊。使用此定義,網路上的資訊仍在記憶體內,因為相關聯的處理器可自網路擷取該資訊。
應明白,本文中顯示及說明的具體實施例及變化案僅解說本發明之原理,並且熟習此項技術者可實施各種修改而不脫離本發明之範疇及精神。
100...快閃記憶體控制器/快閃控制器
110...資料管理區塊/資料管理單元
130...快閃記憶體
140...編碼器
150...映射器
160...解映射器
170...解碼器
300...多位準單元(MLC)快閃記憶體器件/記憶體陣列/多頁單元快閃記憶體
310...頁/資料分割
400...編碼器
420-1...編碼器
420-2...編碼器
420-3...編碼器
700...可變碼率編碼方案
711...下頁
712...中頁
713...上頁
720...使用者資料
730...同位位元
1200...多頁單元字線
1210...規則單元
1220...溢出單元
1300...多級解碼器
1310-0...解碼器
1310-1...解碼器
圖1係解說依據本發明之一快閃記憶體控制器與一快閃記憶體器件之間的交互作用之示意方塊圖;
圖2解說針對圖1之範例性多位準單元快閃記憶體的範例性臨限電壓分佈;
圖3解說一多位準單元(MLC)快閃記憶體器件;
圖4解說依據本發明之一態樣的圖3之多頁單元快閃記憶體之一範例性編碼器;
圖5係說明併入本發明之特徵的一字線層級存取方案的一寫入程序之一範例性實施方案的流程圖;
圖6係說明併入本發明之特徵的一字線層級存取方案的一讀取程序之一範例性實施方案的流程圖;
圖7解說併入本發明之特徵的一可變碼率編碼方案,其中一字線內之每一頁係以一不同碼率編碼至相同長度;
圖8係說明當每一頁包含一整數區段數時用於寫入該快閃記憶體130的一可變碼率寫入程序之一範例性實施方案的流程圖;
圖9係說明當每一頁包含一整數區段數時用於讀取該快閃記憶體130的一可變碼率讀取程序之一範例性實施方案的流程圖;
圖10係說明當每一頁包含一非整數區段數並且一給定區段可跨越一個以上之頁時用於寫入該快閃記憶體的一可變碼率寫入程序之一範例性實施方案的流程圖;
圖11係說明當一或多個頁可包含一非整數區段數並且一給定區段可跨越一個以上之頁時用於讀取該快閃記憶體的一可變碼率程序之一範例性實施方案的流程圖;
圖12解說具有規則單元與溢出單元之一多頁單元字線;以及
圖13係併入本發明之特徵的一多級解碼器之示意方塊圖。
100...快閃記憶體控制器/快閃控制器
110...資料管理區塊/資料管理單元
130...快閃記憶體
140...編碼器
150...映射器
160...解映射器
170...解碼器
Claims (37)
- 一種用於儲存資料於具有複數個單元(cells)之一多位準(multi-level)單元快閃記憶體器件中的方法,其中該多位準單元快閃記憶體器件之每一單元能夠儲存複數個位元,其中該複數個位元之每一者係來自一不同頁,該方法包含:累積複數個該等頁;將該複數個頁編碼,其中使用至少二個不同的碼來編碼該複數個頁;以及儲存該等經編碼的頁於該多位準單元快閃記憶體器件中。
- 如請求項1之方法,其進一步包含將該等經儲存之經編碼的頁解碼之步驟。
- 如請求項2之方法,其中該將該等經儲存之經編碼的頁解碼之步驟提供該複數個該等頁且該方法進一步包含從該經解碼之複數個頁獲得一經請求之區段的步驟。
- 如請求項1之方法,其中該複數個頁對應該多位準單元快閃記憶體器件中之一單一字線。
- 如請求項1之方法,其中該複數個頁係用於讀取與寫入該多位準單元快閃記憶體器件之最小資料單元。
- 如請求項1之方法,其中至少一區段跨越複數個頁。
- 如請求項1之方法,其中編碼該複數個頁之步驟使用一單一碼及一單一碼率來編碼該複數個頁。
- 如請求項1之方法,其中編碼該複數個頁之步驟使用複 數個碼及複數個碼率之一或多者來編碼該複數個頁。
- 如請求項1之方法,其中編碼該複數個頁之步驟使用一獨特碼及一獨特碼率之一或多者來編碼該複數個頁。
- 如請求項1之方法,其中累積該複數個該等頁進一步包含累積j乘k個區段,其中j係該多位準單元快閃記憶體器件中每字線之頁數而k係每頁之該區段數。
- 如請求項1之方法,進一步包含將該等經編碼的頁分割成複數個頁之步驟,且其中該儲存步驟包含將該複數個頁之每一者儲存於該多位準單元快閃記憶體器件中之步驟。
- 如請求項1之方法,其進一步包含使用一不同類型解碼器來將該複數個經編碼的頁解碼之步驟。
- 如請求項12之方法,其進一步包含使用一第一數目之迭代來解碼該複數個經編碼的頁之一或多者以及使用一不同數目之迭代來解碼該複數個經編碼的頁之一或多其他者之步驟。
- 如請求項13之方法,其中一第一類型解碼器包含一硬式決策解碼器且一第二類型解碼器包含一軟式決策解碼器。
- 如請求項14之方法,其中使用該第一類型解碼器來解碼具有一第一錯誤率之該複數個頁的一或多者,且使用該第二類型解碼器來解碼具有比該第一錯誤率較高的一較高解碼率之該複數個頁的一或多其他者。
- 如請求項1之方法,其中該累積步驟進一步包含累積用 於該複數個頁之至少二者的一不同數目的區塊。
- 如請求項1之方法,其中該累積步驟進一步包含累積用於該複數個頁之至少一者的一非整數數目的區塊。
- 如請求項1之方法,其中該多位準單元快閃記憶體器件進一步包含複數個字線,該複數個字線各包含複數個實體頁與複數個單元,其中該多位準單元快閃記憶體器件之每一單元能夠儲存複數個位元,其中該複數個位元之每一者係來自一不同邏輯頁,其中該等邏輯頁之每一者包含複數個使用者資料區段,該方法進一步經特徵化以:儲存一第一組邏輯頁,其中在該第一組邏輯頁中的每一邏輯頁之一經編碼尺寸係少於該複數個實體頁之一尺寸;以及儲存一第二組邏輯頁,其中在該第二組邏輯頁中的每一邏輯頁之一經編碼尺寸係大於該複數個實體頁之一尺寸且其中該第二組邏輯頁之至少一部分係儲存於一溢出區域中。
- 如請求項1之方法,其中該多位準單元快閃記憶體器件進一步經特徵化於:複數個字線,其各包含複數個該等頁,其中該複數個頁之每一者具有一相關聯碼率,使得該複數個頁之每一者之一未經編碼長度係實質上類似的並且該複數個頁之每一者之一經編碼長度係不同的。
- 如請求項1之方法,其中該多位準單元快閃記憶體器件 進一步經特徵化於:複數個字線,其各包含複數個該等頁,其中該複數個頁之每一者具有一相關聯碼率,使得該複數個頁之每一者之一未經編碼長度係不同的並且該複數個頁之每一者之一經編碼長度係實質上類似的。
- 如請求項1之方法,其中該多位準單元快閃記憶體器件進一步經特徵化於:複數個字線,其各包含複數個該等頁,其中至少一區段跨越該複數個頁。
- 一種多位準單元快閃記憶體器件,其包含:複數個單元,其中該多位準單元快閃記憶體器件之每一單元能夠儲存複數個位元,其中該複數個位元之每一者係來自一不同頁;以及複數個字線,其各包含複數個該等頁,其中使用至少二個不同的碼來編碼該複數個頁,且其中儲存該等經編碼的頁於該多位準單元快閃記憶體器件中。
- 如請求項22之多位準單元快閃記憶體器件,其中該複數個頁對應該多位準單元快閃記憶體器件中之一單一字線。
- 如請求項22之多位準單元快閃記憶體器件,其中該複數個頁係用於讀取與寫入該多位準單元快閃記憶體器件之最小資料單元。
- 如請求項22之多位準單元快閃記憶體器件,其中至少一區段跨越複數個頁。
- 如請求項22之多位準單元快閃記憶體器件,其中使用一單一碼及一單一碼率來編碼該複數個頁。
- 如請求項22之多位準單元快閃記憶體器件,其中使用複數個碼及複數個碼率之一或多者來編碼該複數個頁。
- 如請求項22之多位準單元快閃記憶體器件,其中使用一獨特碼及一獨特碼率之一或多者來編碼該複數個頁。
- 如請求項22之多位準單元快閃記憶體器件,將該等經編碼的頁分割成複數個頁,且其中將該複數個頁之每一者儲存於該多位準單元快閃記憶體器件中。
- 如請求項22之多位準單元快閃記憶體器件,其中使用一不同類型解碼器來將該複數個經編碼的頁解碼。
- 如請求項30之多位準單元快閃記憶體器件,其中使用一第一類型解碼器來解碼具有一第一錯誤率之該複數個頁的一或多者,且使用一第二類型解碼器來解碼具有比該第一錯誤率較高的一較高解碼率之該複數個頁的一或多其他者。
- 如請求項31之多位準單元快閃記憶體器件,其中該第一類型解碼器包含一硬式決策解碼器且該第二類型解碼器包含一軟式決策解碼器。
- 如請求項22之多位準單元快閃記憶體器件,其中使用一第一數目之迭代來解碼該複數個經編碼的頁之一或多者以及使用一不同數目之迭代來解碼該複數個經編碼的頁之一或多其他者。
- 如請求項22之多位準單元快閃記憶體器件,其中該多位 準單元快閃記憶體器件進一步包含複數個字線,該複數個字線各包含複數個實體頁與複數個單元,其中該多位準單元快閃記憶體器件之每一單元能夠儲存複數個位元,其中該複數個位元之每一者係來自一不同邏輯頁,其中該等邏輯頁之每一者包含複數個使用者資料區段,該多位準單元快閃記憶體器件進一步經特徵化以:儲存一第一組邏輯頁,其中在該第一組邏輯頁中的每一邏輯頁之一經編碼尺寸係少於該複數個實體頁之一尺寸;以及儲存一第二組邏輯頁,其中在該第二組邏輯頁中的每一邏輯頁之一經編碼尺寸係大於該複數個實體頁之一尺寸且其中該第二組邏輯頁之至少一部分係儲存於一溢出區域中。
- 如請求項22之多位準單元快閃記憶體器件,其中該多位準單元快閃記憶體器件進一步經特徵化於:複數個字線,其各包含複數個該等頁,其中該複數個頁之每一者具有一相關聯碼率,使得該複數個頁之每一者之一未經編碼長度係實質上類似的並且該複數個頁之每一者之一經編碼長度係不同的。
- 如請求項22之多位準單元快閃記憶體器件,其中該多位準單元快閃記憶體器件進一步經特徵化於:複數個字線,其各包含複數個該等頁,其中該複數個頁之每一者具有一相關聯碼率,使得該複數個頁之每一者之一未經編碼長度係不同的並且該複數個頁之每一者 之一經編碼長度係實質上類似的。
- 如請求項22之多位準單元快閃記憶體器件,其中該多位準單元快閃記憶體器件進一步經特徵化於:複數個字線,其各包含複數個該等頁,其中至少一區段跨越該複數個頁。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US6893408P | 2008-03-11 | 2008-03-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200951961A TW200951961A (en) | 2009-12-16 |
TWI533304B true TWI533304B (zh) | 2016-05-11 |
Family
ID=40749883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098107915A TWI533304B (zh) | 2008-03-11 | 2009-03-11 | 用於儲存資料於具有跨頁區段、多頁編碼及每頁編碼之多位準單元快閃記憶體器件中之方法及裝置 |
Country Status (8)
Country | Link |
---|---|
US (4) | US8724381B2 (zh) |
EP (4) | EP2266036B9 (zh) |
JP (3) | JP2011522301A (zh) |
KR (1) | KR20100139010A (zh) |
CN (1) | CN101999116B (zh) |
IL (1) | IL208028A0 (zh) |
TW (1) | TWI533304B (zh) |
WO (1) | WO2009114618A2 (zh) |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100104623A (ko) * | 2009-03-18 | 2010-09-29 | 삼성전자주식회사 | 데이터 처리 시스템 및 그것의 부호율 제어 스킴 |
KR101616100B1 (ko) * | 2009-09-25 | 2016-04-28 | 삼성전자주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US8935595B2 (en) | 2010-03-12 | 2015-01-13 | Lsi Corporation | LDPC erasure decoding for flash memories |
US8504885B2 (en) | 2010-03-31 | 2013-08-06 | Lsi Corporation | Methods and apparatus for approximating a probability density function or distribution for a received value in communication or storage systems |
US8775913B2 (en) | 2010-03-31 | 2014-07-08 | Lsi Corporation | Methods and apparatus for computing soft data or log likelihood ratios for received values in communication or storage systems |
US8429500B2 (en) | 2010-03-31 | 2013-04-23 | Lsi Corporation | Methods and apparatus for computing a probability value of a received value in communication or storage systems |
US8406051B2 (en) | 2010-05-17 | 2013-03-26 | Seagate Technology Llc | Iterative demodulation and decoding for multi-page memory architecture |
US8254167B2 (en) | 2010-05-17 | 2012-08-28 | Seagate Technologies Llc | Joint encoding of logical pages in multi-page memory architecture |
US9251873B1 (en) | 2010-05-20 | 2016-02-02 | Kandou Labs, S.A. | Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communications |
US8417877B2 (en) | 2010-08-31 | 2013-04-09 | Micron Technology, Inc | Stripe-based non-volatile multilevel memory operation |
KR101686590B1 (ko) * | 2010-09-20 | 2016-12-14 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 워드 라인 인터리빙 방법 |
KR101636785B1 (ko) | 2010-12-01 | 2016-07-06 | 엘에스아이 코포레이션 | 독립 실리콘 소자들을 갖는 동적 상위 레벨 리던던시 모드 관리 |
US9727414B2 (en) | 2010-12-01 | 2017-08-08 | Seagate Technology Llc | Fractional redundant array of silicon independent elements |
US8719663B2 (en) | 2010-12-12 | 2014-05-06 | Lsi Corporation | Cross-decoding for non-volatile storage |
US9275720B2 (en) * | 2010-12-30 | 2016-03-01 | Kandou Labs, S.A. | Differential vector storage for dynamic random access memory |
US8656101B2 (en) | 2011-01-18 | 2014-02-18 | Lsi Corporation | Higher-level redundancy information computation |
US8825945B2 (en) | 2011-01-31 | 2014-09-02 | Marvell World Trade Ltd. | Mapping different portions of data to different pages of multi-level non-volatile memory |
JP2012174088A (ja) * | 2011-02-23 | 2012-09-10 | Hitachi Ltd | メモリ制御装置 |
US10063262B2 (en) | 2011-02-28 | 2018-08-28 | Inphi Corporation | Non-concatenated FEC codes for ultra-high speed optical transport networks |
US9086999B2 (en) * | 2011-07-05 | 2015-07-21 | International Business Machines Corporation | Data encryption management |
US8880977B2 (en) | 2011-07-22 | 2014-11-04 | Sandisk Technologies Inc. | Systems and methods of storing data |
US8995196B2 (en) * | 2011-08-15 | 2015-03-31 | Skymedi Corporation | Method of sorting a multi-bit per cell non-volatile memory and a multi-mode configuration method |
WO2013051062A1 (en) * | 2011-10-05 | 2013-04-11 | Hitachi, Ltd. | Storage system and storage method |
KR20130070927A (ko) * | 2011-12-20 | 2013-06-28 | 에스케이하이닉스 주식회사 | 불휘발성 메모리 장치 및 그 동작 방법 |
US8954825B2 (en) * | 2012-03-06 | 2015-02-10 | Micron Technology, Inc. | Apparatuses and methods including error correction code organization |
US9026887B2 (en) * | 2012-03-15 | 2015-05-05 | Micron Technology, Inc. | Physical page, logical page, and codeword correspondence |
US8856611B2 (en) | 2012-08-04 | 2014-10-07 | Lsi Corporation | Soft-decision compensation for flash channel variation |
US9135106B2 (en) * | 2012-05-22 | 2015-09-15 | Hgst Technologies Santa Ana, Inc. | Read level adjustment using soft information |
US8924820B2 (en) * | 2012-07-27 | 2014-12-30 | Kabushiki Kaisha Toshiba | Memory controller, semiconductor memory system, and memory control method |
US8856431B2 (en) | 2012-08-02 | 2014-10-07 | Lsi Corporation | Mixed granularity higher-level redundancy for non-volatile memory |
US9239754B2 (en) | 2012-08-04 | 2016-01-19 | Seagate Technology Llc | Single read based soft-decision decoding of non-volatile memory |
CN102867046B (zh) * | 2012-09-06 | 2016-08-03 | 记忆科技(深圳)有限公司 | 基于固态硬盘的数据库优化方法及系统 |
US8984369B2 (en) * | 2012-11-21 | 2015-03-17 | Micron Technology, Inc. | Shaping codes for memory |
US8656255B1 (en) * | 2013-03-15 | 2014-02-18 | Avalanche Technology, Inc. | Method for reducing effective raw bit error rate in multi-level cell NAND flash memory |
US9047882B2 (en) * | 2013-08-30 | 2015-06-02 | Lsi Corporation | Systems and methods for multi-level encoding and decoding |
KR102204394B1 (ko) | 2013-10-14 | 2021-01-19 | 삼성전자주식회사 | 메모리 시스템에서의 코딩 방법 및 디코딩 방법 |
GB201322075D0 (en) | 2013-12-13 | 2014-01-29 | Ibm | Device for selecting a level for at least one read voltage |
EP3111607B1 (en) | 2014-02-28 | 2020-04-08 | Kandou Labs SA | Clock-embedded vector signaling codes |
JP6262063B2 (ja) * | 2014-03-18 | 2018-01-17 | 東芝メモリ株式会社 | 不揮発性メモリおよび書き込み方法 |
KR102247087B1 (ko) * | 2014-07-08 | 2021-05-03 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
TWI550615B (zh) * | 2014-08-28 | 2016-09-21 | 群聯電子股份有限公司 | 資料存取方法、記憶體儲存裝置及記憶體控制電路單元 |
CN105468292B (zh) * | 2014-09-05 | 2019-04-23 | 群联电子股份有限公司 | 数据存取方法、存储器储存装置及存储器控制电路单元 |
US9563373B2 (en) | 2014-10-21 | 2017-02-07 | International Business Machines Corporation | Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management |
US10365859B2 (en) | 2014-10-21 | 2019-07-30 | International Business Machines Corporation | Storage array management employing a merged background management process |
US9536600B2 (en) | 2014-10-22 | 2017-01-03 | International Business Machines Corporation | Simultaneous multi-page commands for non-volatile memories |
US9830087B2 (en) * | 2014-11-13 | 2017-11-28 | Micron Technology, Inc. | Memory wear leveling |
US9990279B2 (en) | 2014-12-23 | 2018-06-05 | International Business Machines Corporation | Page-level health equalization |
US10339048B2 (en) | 2014-12-23 | 2019-07-02 | International Business Machines Corporation | Endurance enhancement scheme using memory re-evaluation |
US9613664B2 (en) * | 2015-01-20 | 2017-04-04 | Samsung Electronics Co., Ltd. | Method of operating memory device including multi-level memory cells |
CN104810056A (zh) * | 2015-03-05 | 2015-07-29 | 华南理工大学 | 一种基于自适应ldpc码的nand闪存差错控制器 |
US9727416B2 (en) * | 2015-07-01 | 2017-08-08 | Xilinx, Inc. | Variable code rate solid-state drive |
KR20170004693A (ko) * | 2015-07-03 | 2017-01-11 | 에스케이하이닉스 주식회사 | 메모리 장치의 컨트롤러 및 그 동작 방법 |
US9577854B1 (en) * | 2015-08-20 | 2017-02-21 | Micron Technology, Inc. | Apparatuses and methods for asymmetric bi-directional signaling incorporating multi-level encoding |
US10192614B2 (en) | 2015-10-30 | 2019-01-29 | Seagate Technology Llc | Adaptive read threshold voltage tracking with gap estimation between default read threshold voltages |
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 |
US9940034B2 (en) | 2016-01-25 | 2018-04-10 | International Business Machines Corporation | Reducing read access latency by straddling pages across non-volatile memory channels |
US10198313B2 (en) * | 2016-03-11 | 2019-02-05 | Western Digital Technologies, Inc. | Redundancy of error correction encoded data in a storage system |
JP6538741B2 (ja) * | 2017-03-09 | 2019-07-03 | 株式会社東芝 | 管理装置、情報処理装置および管理方法 |
US10164817B2 (en) | 2017-03-21 | 2018-12-25 | Micron Technology, Inc. | Methods and apparatuses for signal translation in a buffered memory |
TWI634556B (zh) * | 2017-10-12 | 2018-09-01 | 群聯電子股份有限公司 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
US10558522B2 (en) | 2017-10-20 | 2020-02-11 | Western Digital Technologies, Inc. | Dynamic multi-stage decoding |
CN109697134B (zh) * | 2017-10-20 | 2022-10-21 | 群联电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
US10467177B2 (en) | 2017-12-08 | 2019-11-05 | Kandou Labs, S.A. | High speed memory interface |
US10460814B2 (en) * | 2017-12-12 | 2019-10-29 | Western Digital Technologies, Inc. | Non-volatile memory and method for power efficient read or verify using lockout control |
US10637511B2 (en) * | 2017-12-18 | 2020-04-28 | Western Digital Technologies, Inc | Dynamic multi-stage decoding |
CN108564983A (zh) * | 2018-04-10 | 2018-09-21 | 南京扬贺扬微电子科技有限公司 | 一种用于nand flash的ldpc测试平台 |
CN111176582A (zh) * | 2019-12-31 | 2020-05-19 | 北京百度网讯科技有限公司 | 矩阵存储方法、矩阵访问方法、装置和电子设备 |
US11424766B1 (en) | 2020-01-31 | 2022-08-23 | Marvell Asia Pte Ltd. | Method and device for energy-efficient decoders |
CN117321934A (zh) * | 2021-07-04 | 2023-12-29 | 迈凌有限公司 | 具有2阶fec保护的pmd到tc-mac接口 |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6335878B1 (en) * | 1998-07-28 | 2002-01-01 | Hitachi, Ltd. | Non-volatile multi-level semiconductor flash memory device and method of driving same |
JPH11283396A (ja) * | 1998-03-27 | 1999-10-15 | Sony Corp | メモリ装置 |
JPH11283398A (ja) | 1998-03-30 | 1999-10-15 | Matsushita Electric Ind Co Ltd | 半導体回路装置 |
JP3308915B2 (ja) * | 1998-11-11 | 2002-07-29 | エヌイーシーマイクロシステム株式会社 | 不良救済用メモリセル及びそれを用いた記憶装置 |
US6134141A (en) * | 1998-12-31 | 2000-10-17 | Sandisk Corporation | Dynamic write process for high bandwidth multi-bit-per-cell and analog/multi-level non-volatile memories |
US6684289B1 (en) * | 2000-11-22 | 2004-01-27 | Sandisk Corporation | Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory |
US6522580B2 (en) * | 2001-06-27 | 2003-02-18 | Sandisk Corporation | Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states |
US6866909B2 (en) | 2002-09-04 | 2005-03-15 | General Electric Company | Limited play data storage media and method for limiting access to data thereon |
US6781877B2 (en) | 2002-09-06 | 2004-08-24 | Sandisk Corporation | Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells |
US7073100B2 (en) | 2002-11-11 | 2006-07-04 | International Business Machines Corporation | Method for testing embedded DRAM arrays |
JP2005078721A (ja) * | 2003-09-01 | 2005-03-24 | Nippon Telegr & Teleph Corp <Ntt> | 誤り訂正方法およびメモリ回路 |
EP1776699A1 (en) | 2004-08-02 | 2007-04-25 | Koninklijke Philips Electronics N.V. | Data storage and replay apparatus |
US7386655B2 (en) | 2004-12-16 | 2008-06-10 | Sandisk Corporation | Non-volatile memory and method with improved indexing for scratch pad and update blocks |
US7315916B2 (en) | 2004-12-16 | 2008-01-01 | Sandisk Corporation | Scratch pad block |
KR100590388B1 (ko) * | 2005-03-10 | 2006-06-19 | 주식회사 하이닉스반도체 | 멀티-플레인 타입 플래쉬 메모리 장치와, 그 프로그램 동작및 리드 동작 제어 방법 |
US7681109B2 (en) * | 2005-10-13 | 2010-03-16 | Ramot At Tel Aviv University Ltd. | Method of error correction in MBC flash memory |
US7349264B2 (en) * | 2005-12-28 | 2008-03-25 | Sandisk Corporation | Alternate sensing techniques for non-volatile memories |
US7388781B2 (en) * | 2006-03-06 | 2008-06-17 | Sandisk Il Ltd. | Multi-bit-per-cell flash memory device with non-bijective mapping |
TWM304711U (en) * | 2006-04-26 | 2007-01-11 | Genesys Logic Inc | Flash memory data access reliability enhancing device |
KR101375955B1 (ko) * | 2006-05-12 | 2014-03-18 | 애플 인크. | 메모리 디바이스 내의 왜곡 추정 및 상쇄 |
US8239735B2 (en) * | 2006-05-12 | 2012-08-07 | Apple Inc. | Memory Device with adaptive capacity |
US20070300130A1 (en) * | 2006-05-17 | 2007-12-27 | Sandisk Corporation | Method of Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices |
JP2007334413A (ja) * | 2006-06-12 | 2007-12-27 | Sony Corp | 記憶装置 |
US7355892B2 (en) * | 2006-06-30 | 2008-04-08 | Sandisk Corporation | Partial page fail bit detection in flash memory devices |
US7304893B1 (en) * | 2006-06-30 | 2007-12-04 | Sandisk Corporation | Method of partial page fail bit detection in flash memory devices |
KR100758301B1 (ko) * | 2006-08-04 | 2007-09-12 | 삼성전자주식회사 | 메모리 카드 및 그것의 데이터 저장 방법 |
CN100504814C (zh) * | 2007-01-17 | 2009-06-24 | 忆正存储技术(深圳)有限公司 | 闪存的区块管理方法 |
US7460398B1 (en) * | 2007-06-19 | 2008-12-02 | Micron Technology, Inc. | Programming a memory with varying bits per cell |
US8259497B2 (en) * | 2007-08-06 | 2012-09-04 | Apple Inc. | Programming schemes for multi-level analog memory cells |
WO2009072103A2 (en) * | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells |
US8179719B1 (en) * | 2008-03-10 | 2012-05-15 | Marvell International Ltd. | Systems and methods for improving error distributions in multi-level cell memory systems |
US8054684B2 (en) * | 2009-12-18 | 2011-11-08 | Sandisk Technologies Inc. | Non-volatile memory and method with atomic program sequence and write abort detection |
US8369156B2 (en) * | 2010-07-13 | 2013-02-05 | Sandisk Technologies Inc. | Fast random access to non-volatile storage |
US8472280B2 (en) * | 2010-12-21 | 2013-06-25 | Sandisk Technologies Inc. | Alternate page by page programming scheme |
US8750042B2 (en) * | 2011-07-28 | 2014-06-10 | Sandisk Technologies Inc. | Combined simultaneous sensing of multiple wordlines in a post-write read (PWR) and detection of NAND failures |
US9171627B2 (en) * | 2012-04-11 | 2015-10-27 | Aplus Flash Technology, Inc. | Non-boosting program inhibit scheme in NAND design |
US8793556B1 (en) * | 2012-05-22 | 2014-07-29 | Pmc-Sierra, Inc. | Systems and methods for reclaiming flash blocks of a flash drive |
KR102048765B1 (ko) * | 2013-01-15 | 2020-01-22 | 삼성전자주식회사 | 메모리 시스템의 동작 방법 및 메모리 시스템 |
US9013920B2 (en) * | 2013-04-03 | 2015-04-21 | Western Digital Technologies, Inc. | Systems and methods of write precompensation to extend life of a solid-state memory |
US8996838B1 (en) * | 2014-05-08 | 2015-03-31 | Sandisk Technologies Inc. | Structure variation detection for a memory having a three-dimensional memory configuration |
-
2009
- 2009-03-11 US US12/920,407 patent/US8724381B2/en active Active
- 2009-03-11 CN CN200980112686.0A patent/CN101999116B/zh not_active Expired - Fee Related
- 2009-03-11 EP EP09720856.5A patent/EP2266036B9/en not_active Not-in-force
- 2009-03-11 EP EP13154453.8A patent/EP2592551A3/en not_active Withdrawn
- 2009-03-11 EP EP13154455.3A patent/EP2592553B1/en not_active Not-in-force
- 2009-03-11 JP JP2010550838A patent/JP2011522301A/ja active Pending
- 2009-03-11 TW TW098107915A patent/TWI533304B/zh not_active IP Right Cessation
- 2009-03-11 EP EP13154454.6A patent/EP2592552B1/en not_active Not-in-force
- 2009-03-11 WO PCT/US2009/036810 patent/WO2009114618A2/en active Application Filing
- 2009-03-11 KR KR1020107022580A patent/KR20100139010A/ko active Search and Examination
-
2010
- 2010-09-07 IL IL208028A patent/IL208028A0/en unknown
-
2013
- 2013-11-12 US US14/077,519 patent/US9007828B2/en not_active Expired - Fee Related
- 2013-11-12 US US14/077,474 patent/US9135999B2/en not_active Expired - Fee Related
- 2013-11-12 US US14/077,489 patent/US9058879B2/en not_active Expired - Fee Related
-
2014
- 2014-04-25 JP JP2014091070A patent/JP5944941B2/ja not_active Expired - Fee Related
-
2015
- 2015-11-24 JP JP2015228589A patent/JP2016042380A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2014135097A (ja) | 2014-07-24 |
TW200951961A (en) | 2009-12-16 |
EP2592553A2 (en) | 2013-05-15 |
US9058879B2 (en) | 2015-06-16 |
US9135999B2 (en) | 2015-09-15 |
CN101999116A (zh) | 2011-03-30 |
US9007828B2 (en) | 2015-04-14 |
EP2592551A3 (en) | 2013-08-28 |
EP2592552A2 (en) | 2013-05-15 |
JP5944941B2 (ja) | 2016-07-05 |
WO2009114618A3 (en) | 2009-11-26 |
CN101999116B (zh) | 2015-05-13 |
US20140126287A1 (en) | 2014-05-08 |
EP2592552A3 (en) | 2013-08-28 |
KR20100139010A (ko) | 2010-12-31 |
EP2592553A3 (en) | 2013-08-28 |
EP2266036A2 (en) | 2010-12-29 |
WO2009114618A2 (en) | 2009-09-17 |
US20110090734A1 (en) | 2011-04-21 |
JP2011522301A (ja) | 2011-07-28 |
EP2266036B9 (en) | 2016-05-18 |
US20140126288A1 (en) | 2014-05-08 |
JP2016042380A (ja) | 2016-03-31 |
US20140126289A1 (en) | 2014-05-08 |
EP2592551A2 (en) | 2013-05-15 |
IL208028A0 (en) | 2010-12-30 |
US8724381B2 (en) | 2014-05-13 |
EP2592552B1 (en) | 2015-11-25 |
EP2266036B1 (en) | 2015-11-25 |
EP2592553B1 (en) | 2015-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI533304B (zh) | 用於儲存資料於具有跨頁區段、多頁編碼及每頁編碼之多位準單元快閃記憶體器件中之方法及裝置 | |
US11087836B2 (en) | Multi-state programming for memory devices | |
US8797795B2 (en) | Methods and apparatus for intercell interference mitigation using modulation coding | |
US8327246B2 (en) | Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith | |
US8176234B2 (en) | Multi-write coding of non-volatile memories | |
JP5183625B2 (ja) | 適応能力を有するメモリ素子 | |
US20160350179A1 (en) | Decoding method, memory storage device and memory control circuit unit | |
WO2009095902A2 (en) | Systems and methods for handling immediate data errors in flash memory | |
CN106297883B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
KR102628009B1 (ko) | 부분 페이지 압축을 위한 메모리 시스템 | |
CN109872764B (zh) | 一种多级存储单元闪存的ecc多码率编解码系统及方法 | |
TWI514404B (zh) | 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與系統 | |
KR101996136B1 (ko) | 빠른 판독 다중 레벨 3d nand가 수명 용량 향상시키는 것을 가능하게 하는 데이터 매핑 | |
KR101419335B1 (ko) | 멀티 레벨 셀 플래시 메모리의 페이지 단위 클러스터링 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |