TWI397076B - 非揮發性儲存器中利用以多重讀取為基礎之可靠度計量的解碼資料方法及系統 - Google Patents
非揮發性儲存器中利用以多重讀取為基礎之可靠度計量的解碼資料方法及系統 Download PDFInfo
- Publication number
- TWI397076B TWI397076B TW97110831A TW97110831A TWI397076B TW I397076 B TWI397076 B TW I397076B TW 97110831 A TW97110831 A TW 97110831A TW 97110831 A TW97110831 A TW 97110831A TW I397076 B TWI397076 B TW I397076B
- Authority
- TW
- Taiwan
- Prior art keywords
- storage element
- read
- state
- reliability
- volatile storage
- Prior art date
Links
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1068—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 sector programmable memories, e.g. flash disk
-
- 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- 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/26—Sensing or reading circuits; Data output circuits
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Error Detection And Correction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明係關於非揮發性記憶體。
本申請案係關於同在申請中的共同讓渡之以下申請案:於2007年3月29日申請之名為"用於在使用以多重讀取為基礎之可靠度計量的非揮發性儲存器中解碼資料之方法(Method for Decoding Data in Non-Volatile Storage Using Reliability Metrics Based On Multiple Reads)"(檔案號碼SAND-1223US0)之美國專利申請案第11/693,649號(於2011年3月8日獲准美國專利第7,904,793號);於2007年3月29日申請之名為"利用以多重讀取為基礎之可靠度計量來解碼資料之非揮發性儲存器(Non-Volatile Storage With Decoding of Data Using Reliability Metrics Based On Multiple Reads)"(檔案號碼SAND-1223US1)之美國專利申請案第11/693,672號(現已放棄);於2007年3月29日申請之名為"用於利用預調節波形及經修改可靠度計量來讀取非揮發性儲存器之方法(Method For Reading Non-Volatile Storage Using Pre-Conditioning Waveforms And Modified Reliability Metrics)"(檔案號碼SAND-1224US0)之美國專利申請案第11/693,663號(於2010年9月14日獲准美國專利第7,797,480號);及於2007年3月29日申請之名為"利用預調節波形及經修改可靠度計量來讀取之非揮發性儲存器(Non-Volatile Storage With Reading Using Pre-Conditioning Waveforms and Modified Reliability Metrics)"(檔案號碼SAND-1224US1)之美國專利申請案第11/693,668號(已放棄),其中之每一者以引用之方式併入本文中。
半導體記憶體對於在各種電子設備中之使用已變得愈加風行。舉例而言,非揮發性半導體記憶體用於蜂巢式電話、數位相機、個人數位助理、行動計算設備、非行動計算設備及其他設備中。在最風行之非揮發性半導體記憶體
當中有電可抹除可程式化唯讀記憶體(EEPROM)及快閃記憶體。在快閃記憶體(亦為EEPROM類型)的情況下,與傳統之全特徵化EEPROM對比,可在一個步驟中抹除整個記憶體陣列之內容或記憶體之一部分之內容。
傳統EEPROM及快閃記憶體均利用浮動閘極,浮動閘極定位於半導體基板中之通道區域上方且與通道區域絕緣。浮動閘極定位於源極區域與汲極區域之間。控制閘極提供於浮動閘極之上且與浮動閘極絕緣。經如此形成之電晶體的臨限電壓(VTH
)受保留於浮動閘極上之電荷量控制。亦即,在開啟電晶體以允許在其源極與汲極之間進行傳導之前必須施加至控制閘極的最小電壓量受浮動閘極上之電荷位準控制。
一些EEPROM及快閃記憶體設備具有用於儲存兩個電荷範圍之浮動閘極,且因此,記憶體元件可在兩個狀態(例如,經抹除狀態與經程式化狀態)之間進行程式化/抹除。此快閃記憶體設備有時被稱為二元快閃記憶體設備,因為每一記憶體元件均可儲存一個資料位元。
多狀態(亦被稱作多級)快閃記憶體設備係藉由識別多個相異的容許/有效經程式化臨限電壓範圍來實施。每一相異臨限電壓範圍對應於記憶體設備中所編碼之資料位元集合之預定值。舉例而言,當每一記憶體元件可置放在對應於四個相異臨限電壓範圍之四個離散電荷帶中之一者中時,該元件可儲存兩個資料位元。
通常,在程式操作期間施加至控制閘極之程式電壓VPGM
作為在量值方面隨著時間而增加之脈衝系列而被施加。在一可能方法中,脈衝之量值隨著每一連續脈衝而增加一預定步長,例如,0.2-0.4 V。可將VPGM
施加至快閃記憶體元件之控制閘極。在程式脈衝之間的週期中,進行驗證操作。亦即,在連續程式化脈衝之間讀取經並行地程式化之元件群中之每一元件的程式化位準,以判定其是等於還是大於該元件經程式化至之驗證位準。對於多狀態快閃記憶體元件陣列而言,可針對元件之每一狀態來執行驗證步驟,以判定該元件是否已達到其資料關聯驗證位準。舉例而言,能夠在四個狀態中儲存資料之多狀態記憶體元件可能需要針對三個比較點來執行驗證操作。
此外,當程式化EEPROM或快閃記憶體設備(諸如,NAND串中之NAND快閃記憶體設備)時,通常將VPGM
施加至控制閘極且使位元線接地,從而導致將來自單元或記憶體元件(例如,儲存元件)之通道的電子注入至浮動閘極中。當電子累積於浮動閘極中時,浮動閘極變得帶負電,且記憶體元件之臨限電壓上升,使得認為記憶體元件處於經程式化狀態。可在名為"Source Side Self Boosting Technique For Non-Volatile Memory"之美國專利6,859,397及2005年2月3日公布的名為"Detecting Over Programmed Memory"之美國專利申請案公開案2005/0024939中找到關於此程式化之更多資訊;其全部內容均以引用的方式併入本文中。
一旦已程式化非揮發性儲存元件,則重要的係,可以高
可靠度來讀回其程式化狀態。然而,經感測程式化狀態歸因於截獲位點(trap site)雜訊及其他因素而有時可不同於預期程式化狀態。或許,最重要的雜訊源為1/f雜訊(包括隨機電報信號雜訊),其為電子截獲及去截獲至位於穿隧氧化物或其他地方之截獲位點中的結果。
本發明藉由提供一種用於利用多重讀取操作來解碼儲存於非揮發性儲存器中之資料的方法來處理以上及其他問題。
在一實施例中,一種用於解碼非揮發性儲存器中之資料的方法包括對至少一非揮發性儲存元件執行多重感測操作,及利用迭代機率性解碼來判定至少一非揮發性儲存元件之程式化狀態,其中迭代機率性解碼利用以多重感測操作為基礎之可靠度計量。舉例而言,可靠度計量可包括對數概似比。
該方法可進一步包括以多重感測操作為基礎來判定用於迭代機率性解碼中之初始可靠度計量集合。或,迭代機率性解碼可最初利用以第一感測操作為基礎之第一可靠度計量來迭代。第一可靠度計量經調整以在機率性解碼進一步迭代時獲得經調整可靠度計量。接著以後續感測操作為基礎而在機率性解碼進一步迭代時進一步調整經調整可靠度計量。
在另一實施例中,一種用於解碼非揮發性儲存器中之資料的方法包括對至少一非揮發性儲存元件執行第一感測操
作、以第一感測操作為基礎來提供第一碼字、利用以第一碼字為基礎之第一可靠度計量集合而針對第一碼字來執行解碼過程,及在解碼過程不滿足第一條件的情況下對至少一非揮發性儲存元件執行第二感測操作且以第二感測操作為基礎來調整解碼過程。舉例而言,第一條件可包括在給定時間週期內或在給定數目之迭代內收斂或滿足給定數目之同位檢查的解碼過程。
在另一實施例中,一種用於解碼非揮發性儲存器中之資料的方法包括對至少一非揮發性儲存元件執行第一感測操作、以第一感測操作為基礎來提供表示至少一非揮發性儲存元件之經感測程式化狀態的第一資料,及利用以第一資料為基礎之機率計量來開始用於第一資料之迭代解碼過程。該方法進一步包括對至少一非揮發性儲存元件執行第二感測操作、以第二感測操作為基礎來提供表示至少一非揮發性儲存元件之經感測程式化狀態的第二資料,及藉由以第二資料為基礎來調整機率計量之最近利用的值而繼續迭代解碼過程。
在另一實施例中,一種用於解碼非揮發性儲存器中之資料的方法包括對至少一非揮發性儲存元件執行第一感測操作、以第一感測操作為基礎來提供表示至少一非揮發性儲存元件之經感測程式化狀態的第一資料、利用以第一資料為基礎之機率計量來開始用於第一資料之迭代解碼過程,及提供指示迭代解碼過程之進度的計量。若計量指示進度不令人滿意,則該方法進一步包括以第二感測操作為基礎
來提供表示至少一非揮發性儲存元件之經感測程式化狀態的第二資料,及利用以第一資料及第二資料為基礎之機率計量來重新開始迭代解碼過程。
在另一實施例中,一種用於操作非揮發性儲存器之方法包括對非揮發性儲存元件集合執行複數個感測操作、以感測操作為基礎來提供可靠度計量集合,及儲存可靠度計量集合以供迭代機率性解碼過程用於以至少第一及第二後續感測操作為基礎來判定非揮發性儲存元件集合中之至少一非揮發性儲存元件的程式化狀態。
本發明提供一種用於利用多重讀取操作來解碼儲存於非揮發性儲存器中之資料的方法。
適用於實施本發明之記憶體系統之一實例利用NAND快閃記憶體結構,其包括在兩個選擇閘極之間串聯地配置多個電晶體。串聯之電晶體及選擇閘極被稱為NAND串。圖1為展示一NAND串之俯視圖。圖2為其等效電路。圖1及圖2中所描繪之NAND串包括串聯且夾於第一選擇閘極120與第二選擇閘極122之間的四個電晶體100、102、104及106。
選擇閘極120閘控至位元線126之NAND串連接。選擇閘極122閘控至源極線128之NAND串連接。藉由將適當電壓施加至控制閘極120CG來控制選擇閘極120。藉由將適當電壓施加至控制閘極122CG來控制選擇閘極122。電晶體100、102、104及106中之每一者具有控制閘極及浮動閘極。電晶體100包括控制閘極100CG及浮動閘極100FG。電
晶體102包括控制閘極102CG及浮動閘極102FG。電晶體104包括控制閘極104CG及浮動閘極104FG。電晶體106包括控制閘極106CG及浮動閘極106FG。控制閘極100CG連接至字線WL3,控制閘極102CG連接至字線WL2,控制閘極104CG連接至字線WL1,且控制閘極106CG連接至字線WL0。控制閘極亦經提供為字線之部分。在一實施例中,電晶體100、102、104及106各自為儲存元件,亦被稱為記憶體單元。在其他實施例中,儲存元件可包括多個電晶體,或可不同於圖1及圖2中所描繪之儲存元件。選擇閘極120連接至選擇線SGD(汲極選擇閘極)。選擇閘極122連接至選擇線SGS(源極選擇閘極)。
圖3為描繪三個NAND串之電路圖。利用NAND結構之快閃記憶體系統的典型架構將包括若干NAND串。舉例而言,在具有較多NAND串之記憶體陣列中展示三個NAND串320、340及360。NAND串中之每一者包括兩個選擇閘極及四個儲存元件。雖然為了簡單起見而說明四個儲存元件,但現代NAND串可具有(例如)高達32或64個儲存元件。
舉例而言,NAND串320包括選擇閘極322及327以及儲存元件323-326,NAND串340包括選擇閘極342及347以及儲存元件343-346,NAND串360包括選擇閘極362及367以及儲存元件363-366。每一NAND串藉由其選擇閘極(例如,選擇閘極327、347或367)而連接至源極線。選擇線SGS用於控制源極側選擇閘極。各種NAND串320、340及360藉由
選擇閘極322、342、362等等中之選擇電晶體而連接至各別位元線321、341及361。此等選擇電晶體受汲極選擇線SGD控制。在其他實施例中,選擇線未必需要共同地在NAND串當中;亦即,可為不同NAND串提供不同選擇線。字線WL3連接至用於儲存元件323、343及363之控制閘極。字線WL2連接至用於儲存元件324、344及364之控制閘極。字線WL1連接至用於儲存元件325、345及365之控制閘極。字線WL0連接至用於儲存元件326、346及366之控制閘極。可看出,每一位元線及各別NAND串包含儲存元件陣列或集合之行。字線(WL3、WL2、WL1及WL0)包含陣列或集合之列。每一字線連接列中之每一儲存元件的控制閘極。或,控制閘極可由字線自身提供。舉例而言,字線WL2提供用於儲存元件324、344及364之控制閘極。實務上,在一字線上可存在數千個儲存元件。
每一儲存元件可儲存資料。舉例而言,當儲存一個數位資料位元時,將儲存元件之可能臨限電壓(VTH
)之範圍分成兩個範圍,其經指派邏輯資料"1"及"0"。在NAND型快閃記憶體之一實例中,VTH
在抹除儲存元件之後為負,且經界定為邏輯"1"。程式操作之後的VTH
為正,且經界定為邏輯"0"。當VTH
為負且試圖讀取時,儲存元件將開啟以指示邏輯"1"被儲存。當VTH
為正且試圖讀取操作時,儲存元件將不開啟,此指示邏輯"0"被儲存。儲存元件亦可儲存多個資訊位準,例如,多個數位資料位元。在此狀況下,將VTH
值之範圍分成資料位準之數目。舉例而言,若儲存
四個資訊位準,則將存在經指派給資料值"11"、"10"、"01"及"00"的四個VTH
範圍。在NAND型記憶體之一實例中,抹除操作之後的VTH
為負,且經界定為"11"。正VTH
值用於狀態"10"、"01"及"00"。經程式化至儲存元件中之資料與元件之臨限電壓範圍之間的特定關係視用於儲存元件之資料編碼機制而定。舉例而言,美國專利第6,222,762號及美國專利申請案公開案2004/0255090(兩者之全部內容均以引用的方式併入本文中)描述用於多狀態快閃儲存元件之各種資料編碼機制。
NAND型快閃記憶體及其操作之相關實例提供於美國專利第5,386,422號、第5,522,580號、第5,570,315號、第5,774,397號、第6,046,935號、第6,456,528號及第6,522,580號中,其中之每一者均以引用的方式併入本文中。
當程式化快閃儲存元件時,將程式電壓施加至儲存元件之控制閘極,且使與儲存元件相關聯之位元線接地。將來自通道之電子注入至浮動閘極中。當電子累積於浮動閘極中時,浮動閘極變得帶負電,且儲存元件之VTH
上升。為了將程式電壓施加至經程式化之儲存元件的控制閘極,將彼程式電壓施加於適當字線上。如上文所論述,NAND串中之每一者之一個儲存元件共用相同字線。舉例而言,當程式化圖3之儲存元件324時,亦將程式電壓施加至儲存元件344及364之控制閘極。
圖4描繪用於非揮發性儲存器之資料編碼及解碼的系
統。可以減輕雜訊效應之方式來編碼及解碼儲存於非揮發性儲存器中之資料。或許,最重要的雜訊源為1/f雜訊(包括隨機電報信號雜訊),其為電子截獲及去截獲至位於穿隧氧化物或其他地方之截獲位點中的結果。雜訊並非全然為進入截獲位點中之通道電子之損失的結果,因為其係歸因於以下事實:帶電截獲位點中之電子/電洞藉由帶電截獲位點在其附近施加於通道之區域上的電場來影響通道中之其他電子的流動。此外,通道之在單一截獲位點之影響下的區域將在儲存元件被按比例縮小時形成通道之較大部分。
許多有雜訊儲存元件經受單一截獲位點,且此結論係以其當前值之二元性質為基礎,亦即,儲存元件在截獲被佔用的情況下具有一當前/VTH
值且在截獲未被佔用的情況下具有另一相異的當前/VTH
值。因此,當儲存元件在等效於讀取條件之DC條件下被偏壓時,許多儲存元件展現當前值之雙峰式分布,其中兩個窄分布具有大體上彼此分離之峰值。然而,一些儲存元件經受多於單一有雜訊截獲位點。此外,並非每一截獲位點均可引起有雜訊行為,因為可能存在讀取條件期間一貫地為空或一貫地被佔用之截獲位點。又,與某一電極容易通信且結果在單一整合時間(例如,讀取週期)期間進行為空與被佔用之間的大量轉變之截獲位點將表明少許雜訊或無雜訊,因為其平均效應對於任何整合時間/量測操作而言或多或少為相同的。此可藉由平均化概念或更精確地藉由中央極限定理來解釋。
又,截獲位點之佔用機率可藉由截獲位點使其自身所浸入之電場來調變。另外,對讀取操作更有害的彼等截獲位點為具有較長佔用/不佔用壽命的截獲位點。可將此等截獲位點想作干擾記憶體之正常操作的寄生記憶體設備。寫入/抹除循環可且確實產生額外截獲位點,且導致更多雜訊。
結果,讀取操作可受儲存元件中之雜訊影響。儘管錯誤校正編碼及解碼機制可處理由雜訊及其他因素所引起的一些錯誤,但可藉由執行如本文所解釋之多重讀取操作來達成額外優勢。在圖4之編碼/解碼系統中描繪一實例方法,其包括編碼器402、非揮發性儲存器404、LLR(對數概似比)表406及解碼器408。編碼器402接收儲存於非揮發性儲存器404中之資訊位元,亦被稱為使用者資料。資訊位元由矩陣i=[1 0]表示。編碼器402實施錯誤校正編碼過程,其中將同位位元添加至資訊位元以提供由矩陣或碼字v=[1 0 1 0]所表示之資料,此指示兩個同位位元已附加至資料位元。此為導致高同位位元附加項成本之簡化實例。實務上,可利用具有較低附加項之碼。舉例而言,可利用低密度同位檢查(LDPC)碼,亦被稱為界洛格(Gallager)碼。通常將此等碼施加至多個碼字,其跨越許多儲存元件而被編碼,使得同位位元分布於儲存元件當中。關於LDPC之其他資訊可在D. MacKay之Information Theory, Inference and Learning Algorithms(Cambridge University Press 2003,第47章)中找到。可藉由將非揮發性儲存元件程式化至程式化狀態(例如,X=6,其對應於v(見圖9a))來將資料位元映
射至邏輯頁且儲存於非揮發性儲存器404中。在四位元資料矩陣v的情況下,可利用16個程式化狀態。
隨後,當需要擷取所儲存資料時,讀取非揮發性儲存器。然而,歸因於如所提及之雜訊,讀取狀態有時可被弄錯。在一實例方法中,第一讀取Y1得到由碼字y1=[1 0 1 1]所表示之程式化狀態7,且第二讀取Y2得到由碼字y2=[1 0 1 0]所表示之程式化狀態6。在一可能實施例中,利用迭代機率性解碼過程,其實施對應於編碼器402處之錯誤校正編碼的錯誤校正解碼。關於迭代機率性解碼之其他細節可在上文所提及之D. MacKay本文中找到。迭代機率性解碼試圖藉由將初始機率計量指派給碼字中之每一位元來解碼碼字。機率計量指示每一位元之可靠度,亦即,位元不被弄錯的可能性多大。在一方法中,機率計量為自LLR表406所獲得之對數概似比(LLR)。LLR值為可靠度之量測,吾人利用其而知道自儲存元件所讀取之各種二元位元的值。
用於位元之LLR係由給出,其中P(v=0│Y)為位元在給定讀取狀態為Y之條件下為0的機率,且P(v=1│Y)為位元在給定讀取狀態為Y之條件下為1的機率。因此,以錯誤校正碼之一或多個同位檢查為基礎,LLR>0指示位元更可能為0而非1,而LLR<0指示位元更可能為1而非0。另外,較大量值指示較大機率或可靠度。因此,具有LLR=20之位元比具有LLR=10之位元更可能為0,且具有LLR=-20之位元比具有LLR=-10之位元更可能為1。
LLR=0指示位元同樣可能為0或1。
可為碼字Y1中之四個位元位置中之每一者提供LLR表406,使得可將LLR分別指派給y1之每一位元1、0、1及1。另外,LLR表可說明多重讀取結果,使得當位元值在不同碼字中為一致時利用具有較大量值之LLR。因此,與僅執行一讀取操作的情況相比,可將具有較大量值之LLR指派給y1中之第一位元。為了說明,y2中之第一位元為1,其與y1中之第一位元一致。同樣地,當位元值在不同碼字中為不一致時利用具有較小量值之LLR。舉例而言,y2中之第四位元為0,其與y1中之第四位元不一致。因此,與僅執行一讀取操作的情況相比,可將具有較小量值之LLR指派給y1中之第四位元。由於自額外讀取操作獲得更多資訊,所以可改良解碼過程,(例如)使得其收斂得更快或在其可能另外在僅進行一讀取操作的情況下不收斂的狀況下收斂。在另一方法中,除非解碼過程(例如)在給定時間量或給定數目之迭代內未成功地收斂,否則不執行第二讀取操作或其他額外讀取操作。
解碼器408接收碼字y1及初始LLR。如下文另外進一步所解釋(亦見圖12及圖13),解碼器408在連續迭代中迭代,其中其判定是否已滿足錯誤編碼過程之同位檢查。若最初滿足所有同位檢查,則解碼過程已收斂且碼字未被弄錯。若尚未滿足一或多個同位檢查,則解碼器將藉由調整與同位檢查不一致之位元中之一或多者的LLR來執行錯誤校正,且接著重新施加同位檢查以判定其是否已被滿足。舉
例而言,可調整LLR之量值及/或極性。若仍不滿足所述之同位檢查,則可在另一迭代中再次調整LLR。調整LLR可導致在一些而非所有狀況下翻轉位元(例如,自0至1或自1至0)。一旦已滿足所述之同位檢查,則在可應用的情況下將下一同位檢查施加至碼字。該過程繼續以試圖滿足所有同位檢查。因此,完成y1之解碼過程以獲得經解碼資訊及同位位元v以及經解碼資訊位元i。
注意,在所論述之實例中,在來自一或多個後續讀取操作之輔助的情況下解碼來自第一讀取操作之碼字y1。然而,其他方法係可能的。舉例而言,可在來自一或多個先前讀取操作之輔助的情況下解碼來自給定讀取操作之碼字。或,可採取三個讀取操作,其判定兩個一致結果(例如,均為讀取狀態Y1)及一個不一致結果(例如,狀態Y2),且可在來自不一致結果之輔助的情況下解碼用於一致結果之碼字。可相應地設定LLR表。
在另一選項中,在無來自不一致結果之輔助的情況下直接解碼用於一致結果之碼字。
因此所論述之實例包括執行兩個或兩個以上讀取以便減輕雜訊效應,及組合此等讀取之結果以修改關於每一儲存元件之狀態的LLR數。當ECC解碼器之迭代過程花費過多時間來達到收斂時,可執行另一讀取操作。在執行額外讀取時,解碼可繼續或可被暫停。或,可自動地執行額外讀取而不管解碼之進度。在第二讀取操作完成之後,可以第二讀取操作為基礎來更新來自第一讀取操作之LLR標誌量
值。在一方法中,可自不同讀取操作添加或另外組合LLR值。舉例而言,針對第一讀取操作及第二讀取操作之給定位元來考慮LLR值為10及-10之有雜訊儲存元件。此表將讀取狀態作為輸入來接收且針對碼字中之每一位元來輸出表示讀取狀態之LLR值。在獲得此等兩個矛盾結果之後,為(例如)0之LLR可用於解碼。解碼引擎將此位元設定為高或低,以便達成收斂。
執行兩個以上讀取操作亦為可能的。一方法係添加或採取來自所有讀取之LLR結果的平均值或平均數。舉例而言,LLR值對於第一、第二及第三讀取操作之給定位元可分別為20、10及-10,在此狀況下,平均值為6.6。此為便利之簡化方法。其他方法可考慮以下事實:為20之LLR與為10之LLR相比指示給定結果之多於兩倍的機率,使得(例如)為10與20之LLR經組合至與10相比更靠近於20的LLR。
另一方法以機率密度函數f1(u│X)及f2(v)為基礎來建構LLR值,如下文進一步所描述。
又,在第二讀取操作之結果已變得可用時,迭代過程可能已推進,且許多LLR值可能已被更新以試圖收斂。第二讀取之結果可因此與當前可用之第一讀取的即時經迭代結果或與第一讀取之原始結果組合,或可利用混合方法。
另外,若讀取操作中之每一者產生相同結果,則對於給定位元,吾人可為位元指派較高量值LLR。此峰值LLR(LLRpeak)可能稍微高於可自僅單讀取(LLRsingle)所獲得之LLR。若讀取系列得到不同結果,則可產生較低最
終LLR。聚集讀取系列之一方法係採取單讀取LLR之平均值且使其乘以正規化因子(諸如,LLRpeak/LLRsingle),使得最終LLR=多重讀取之經平均化LLR×│LLRpeak/LLRsingle∣。
在實際實施例中,以第一讀取結果為基礎之用於收斂的迭代可在獲得第二讀取結果之前開始。一旦獲得第二讀取結果及(一般而言)所有後續讀取結果,則用於將後續讀取結果併入至迭代過程中之一策略係假設自儲存元件所讀取之所有原始結果仍可用。在此狀況下,吾人可簡單地中斷當前迭代且重新以如上文所計算之最終LLR而開始。用於聚集LLR值之另一策略係利用當前經迭代LLR值來組合重新獲取之讀取結果。此可(例如)藉由相對於先前結果而用1/(n-1)來加權第n個讀取結果以使得所有讀取結果經同樣加權而完成。
可藉由當前迭代進行得有多好來判定哪一策略更適當。
可藉由一品質計量來量測迭代之"良好性",諸如,迭代解碼過程是否在給定時間週期及/或給定數目之迭代內接近收斂,及/或已滿足特定數目之同位檢查。另外,計量可在解碼期間用於即時適應性決策過程,例如,藉由選擇繼續當前解碼過程,而不執行額外讀取,在以額外讀取為基礎來調整最近利用之LLR時繼續解碼,或以額外讀取為基礎而利用新的初始LLR來重新開始解碼。
可(例如)藉由獲得非揮發性儲存元件集合之經程式化狀態之機率密度函數來開發LLR或其他機率性計量,如下。
圖5a為用於針對非揮發性儲存元件集合來獲得第一機率密度函數f1之過程的流程圖。步驟500包括將隨機資料程式化至M個儲存元件之集合中之所有儲存元件。亦即,假設儲存元件為具有n個級或程式化狀態之多級儲存元件,在程式化之後,儲存元件中之約M/n個經程式化至第一狀態,M/n個經程式化至第二狀態,等等。舉例而言,在一可能方法中,n=16個狀態,其中每一狀態由四位元碼字表示。在步驟502處,將表示第k個程式化狀態之索引k初始化為零。步驟506包括針對經寫入至狀態k之每一儲存元件來進行VTH
之N個重複量測,其中N為諸如100之大數目。
此等為在測試環境中在與在儲存設備之生產利用期間所利用之精確度相比為更高精確度上所進行的量測。
步驟508包括藉由平均化用於每一儲存元件之N個量測而針對每一儲存元件來獲得無雜訊VTH
。無雜訊VTH
指代本質上無在讀取操作期間特定地招致之雜訊的臨限電壓。此導致儲存元件集合上的約M/n個無雜訊VTH
值。舉例而言,圖6a描繪電壓臨限值讀數之分布。對於(例如)狀態0而言,直方圖600展示落入用於實例第一儲存元件之VTH
之不同範圍或桶形之讀數的數目。直方圖602係針對用於實例第二儲存元件之狀態1,且直方圖604係針對用於實例第三儲存元件之狀態15。未描繪用於中間狀態之直方圖。圖6b描繪無雜訊電壓臨限值讀數。舉例而言,VTH-NF0
、VTH-NF1
、…、VTH-NF15
分別表示用於實例第一、第二及第三儲存元件之狀態0、1、…、15之無雜訊電壓臨限值讀數。注意,亦可
平均化原始VTH
讀數來代替利用圖6a之直方圖。另外,可利用除了平均化以外之統計技術。
步驟510(圖5a)包括利用來自每一儲存元件之無雜訊VTH
來建構無雜訊VTH
跨越集合中經程式化至狀態k之所有儲存元件之分布的直方圖。舉例而言,圖6c描繪無雜訊電壓臨限值讀數(例如,沒有讀取雜訊之讀數)之分布。可能仍存在其他雜訊。對於(例如)用於實例第一儲存元件之狀態0而言,直方圖650展示落入VTH
之不同範圍或桶形之讀數的數目。直方圖652係針對用於實例第二儲存元件之狀態1,且直方圖654係針對用於實例第三儲存元件之狀態15。未描繪用於中間狀態之直方圖。此等直方圖為指示M個儲存元件單元中之多少個具有在指定範圍內之VTH
的條形圖。步驟512包括正規化及曲線擬合直方圖以獲得f1(u│X=狀態k),其為指示在儲存元件經程式化至狀態k時儲存元件將具有VTH
=u之機率的機率密度函數(pdf)。舉例而言,在k=0的情況下,函數f1(u│X=0)為在吾人隨機地自記憶體晶片選擇儲存元件的情況下(其中儲存元件已被程式化(寫入)至狀態0)其無雜訊VTH
將為u的機率。正規化直方圖(例如,直方圖650、650、…654中之一者)可包括以M除條形圖之高度,使得用於給定狀態之每一條形之高度的總和為一。
在步驟514處,儲存結果,例如,包括界定函數f1(u│X=狀態k)之資料。若將在決策步驟516處分析下一狀態,則在步驟504處遞增狀態索引,且處理再次在步驟506-514處
進行。針對所有記憶體狀態來重複此處理。該過程結束於步驟518處,此時,已獲得pdf f1(u│X=0)、f1(u│X=1)、f1(u│X=2)、f1(u∣X=3)、…f1(u│X=n),其中n+1為狀態之數目。圖6d描繪用於非揮發性儲存元件集合之不同狀態之電壓臨限值的機率分布。此處,描繪針對f1(u│X=0)之實例分布660、針對f1(u│X=0)之實例分布662、…及針對f1(u│X=15)之實例分布664,其中存在16個狀態。未描繪用於中間狀態之分布。
圖5b為用於針對非揮發性儲存元件集合來獲得第二機率密度函數f2之過程的流程圖。步驟520、522及526對應於圖5a之步驟500、502及506。另外,可相對於圖5a之對應步驟而重複此等步驟,或來自圖5a之步驟500、502及506之結果可用於在圖5b之步驟528處開始。步驟528包括自每一量測中減去無雜訊VTH
以獲得經移位量測。舉例而言,圖7a描繪自無雜訊VTH
之此等經移位量測或偏差的直方圖。步驟530包括建構經移位量測跨越經程式化至狀態k之所有儲存元件之分布的直方圖。圖7b描繪此直方圖之實例。步驟532包括正規化及曲線擬合直方圖以獲得函數f2(v),其為指示在儲存元件經程式化至狀態k時儲存元件將具有與無雜訊VTH
偏差v之讀取VTH
之機率的pdf。函數f2(v)為在吾人隨機地自記憶體晶片選擇儲存元件且進行單一量測的情況下所得VTH
為與"真"或"無雜訊"VTH
相距距離"v"的機率。圖7c至圖7e描繪用於不同狀態之f2(v)的實例。具體言之,圖7c描繪用於狀態0之電壓臨限值偏差之
機率分布,圖7d描繪用於狀態1之電壓臨限值偏差之機率分布,且圖7e描繪用於狀態15之電壓臨限值偏差之機率分布。注意,該等圖指示該等分布有可能稍微不同。f1之分布可類似地不同。
在步驟534處,儲存結果,例如,包括界定函數f2(v)之資料。若將在決策步驟536處分析下一狀態,則在步驟524處遞增狀態索引,且處理再次在步驟526-534處進行。針對所有記憶體狀態來重複此處理。該過程結束於步驟538處,此時,已獲得用於所有狀態之pdf f2(v)。
注意,pdf可在無雜訊VTH
分布可改變時隨著記憶體設備之壽命/循環而變化。可用於獲得pdf之VTH
之量測可在不同設備壽命時執行及經平均化,(例如)以獲得pdf及所得LLR(其表示平均設備壽命)。
圖8為用於自非揮發性儲存元件獲得用於解碼讀取資料之對數概似比(LLR)之過程的流程圖。在步驟800處,以f1(u)及f2(v)為基礎,吾人計算條件機率P(Y1
,Y2
│X)。此為以下情況的機率:在經寫入至儲存元件時給定彼狀態X的情況下,第一讀取得到Y1
、第二讀取得到Y2
,等等。該機率可在存在兩個讀取操作時以形式P(Y1
,Y2
│X)來表達,或在存在N個讀取操作時通常以形式P(Y1
,Y2
,…, YN
│X)來表達。可在測試環境中針對量測來判定機率。在步驟810處,以此等機率及貝斯(Bayes)規則為基礎,吾人在存在兩個讀取操作時計算P(X│Y1,Y2),或在存在N個讀取操作時通常計算P(X│Y1,Y2,Y3,Y4…YN
)。P(X│Y1,Y2)為以下情況
的機率:在給定第一讀取結果Y1及第二讀取結果Y2的情況下,經程式化狀態為X。步驟820包括在給定N個讀取之所有可能y值的情況下計算每一位元之LLR,且步驟830包括將結果儲存於(例如)一或多個表中。亦即,LLR經指派給用於表示經程式化狀態之每一碼字中的每一位元。在記憶體設備之操作期間,所提供之表可用於在一可能方法中在給定多重讀取操作之結果的情況下尋找用於解碼之初始LLR數。
注意,此處所概述之技術假設讀取雜訊與"無雜訊"VTH
之間的獨立性。該技術可經擴展以涵蓋讀取雜訊值與"無雜訊"VTH
不獨立的狀況。此本質上涉及自實驗資料建構接合pdf f(u,v1
,v2
,…vn
)。
圖9a描繪為非揮發性儲存元件之不同經程式化狀態提供多位元碼字的表。如先前所提及,可藉由碼字來表示儲存元件之每一程式化狀態。舉例而言,在16個狀態的情況下,可利用四位元碼字。另外,將LLR或其他可靠度計量與指示位元未被弄錯之機率的每一位元相關聯(較高量值LLR指示位元未被弄錯之較高機率)。圖9a描繪在經程式化狀態0至15之下的行中之位元值或碼字。將位元位置描繪為頂部、較高、上部及下部。下部位元為最高有效位元且頂部位元為最低有效位元。因此,用於狀態0之碼字為1111,用於狀態1之碼字為1110,等等。如圖9b所指示,將LLR與每一位元相關聯。
圖9b描繪以第一讀取結果為基礎而為碼字之每一位元提
供LLR之初始值的表。LLR由值M1、M2及M3表示,其中M1<M2<M3。如先前所提及,正LLR指示0位元,負LLR指示1位元,且較大量值指示較大可靠度或正確性機率。舉例而言,對於處於狀態0至5之下部位元而言,LLR=-M3,其指示此等位元具有為1之高機率。此可被直觀地看出,因為讀取狀態Y1遠離於經程式化狀態(例如,若干狀態遠)的機率較小。因此,用於狀態5之下部位元之LLR為-M3(較高正確性機率),因為讀取狀態可能必須自經程式化狀態(例如,狀態8(其中下部位元為0,而非1))離開三個狀態。然而,用於狀態6之下部位元之LLR為-M2(中間正確性機率),因為讀取狀態可能必須針對待弄錯之位元離開兩個狀態。類似地,用於狀態7之下部位元之LLR為-M1(較低正確性機率),因為讀取狀態可能必須針對待弄錯之位元離開僅一個狀態。類似推理適用於其他位元位置。舉例而言,用於頂部位元之LLR指示相對較低之正確性機率,因為僅一個狀態之錯誤可能導致位元為不正確的。
圖9c描繪以第二讀取結果為基礎而為碼字之每一位元提供對由解碼器所利用之LLR之當前值之調整的表。當執行第二或其他額外讀取操作時,可調整LLR值。在一可能方法中,在已開始解碼第一讀取結果之後,對當前由解碼器所利用之LLR值進行調整。如結合(例如)圖12及圖13進一步所解釋,迭代機率性解碼涉及將錯誤校正碼之同位檢查施加至讀取碼字。若同位檢查失敗,則解碼器在朝向滿足同位檢查的方向上調整LLR值。可在連續迭代中重複此過
程。有時,調整結束於不正確位元被翻轉且同位檢查被滿足時。在此狀況下,在可應用的情況下執行下一同位檢查。因此,在進行解碼時,可對LLR之當前(最近利用之)值進行調整。
通常,若第二讀取值與第一讀取值一致,則基於每一位元,可在量值方面增加當前LLR以指示位元具有較大可靠度。舉例而言,若第一讀取為Y1=狀態7(碼字1011)且第二讀取為Y2=狀態6(碼字1010),則可針對頂部位元來調整LLR以指示位元為1之較大機率。注意,以第一讀取為基礎(圖9b),用於位元之初始LLR為-M1,但解碼過程可能已將此值改變至另一負或甚至正值。在此實施例中,將調整施加至當前值。舉例而言,LLR當前可為-M2,在此狀況下,可能將其調整至在量值方面大於M2之負值。或,LLR當前可為+4,在此狀況下,可能將其調整至+1。
注意,可以不同方式來表達調整,例如,藉由加上或減去常數,或藉由函數。不需要利用表。舉例而言,可以LLR之量值為基礎來進行調整。可能沒有必要利用較高量值來調整LLR,或可在此狀況下進行相對較小調整。相反地,可在LLR具有較小量值時進行相對較大調整。通常,調整可以諸如以下各項之因素為基礎:解碼過程有多麼接近於收斂(例如,以迭代之數目及/或所滿足之同位檢查之數目為基礎)、LLR之當前值及/或第二或其他額外讀取狀態。亦可執行不同調整之測試以判定令人滿意的調整。所利用之指定調整可適合於特定記憶體設備實施例。
圖10a至圖10d描繪以第一讀取結果及第二讀取結果為基礎而為碼字之每一位元提供LLR之初始值的表。在一方法中,可以多重讀取操作之結果為基礎來設定用於解碼過程中之LLR之初始值。可針對碼字之每一位元位置來提供單獨的表。舉例而言,圖10a、圖10b、圖10c及圖10d分別為頂部位元、較高位元、上部位元及下部位元提供LLR值。舉例而言,可以兩個讀取結果Y1及Y2為基礎來讀取每一表。在讀取每一表之後,將用於每一位元之初始LLR提供至解碼過程。注意,表在利用三個或三個以上讀取操作的情況下可具有三個或三個以上維度。
圖11a為用於解碼表示非揮發性儲存元件之狀態之碼字之過程的流程圖,其中以第一讀取操作及第二讀取操作為基礎來獲得初始機率計量。步驟1100包括開始第一讀取操作。讀取操作可包括感測儲存元件之VTH
是高於還是低於許多比較點(步驟1102)。比較點中之一些可導致硬位元(hard bit),例如,用於分離程式化狀態之VTH
範圍之比較點,且比較點中之一些可導致軟位元(soft bit),例如,用於平分程式化狀態之VTH
範圍之比較點。在一方法中,讀取操作可利用第一比較點集合,接著利用平分第一集合之第二比較點集合。
每一比較點判定可被視為感測操作,此總體上可為讀取操作。實務上,可在讀取操作期間讀取許多儲存元件。舉例而言,可在許多儲存元件之上施加錯誤校正編碼,在此狀況下,自彼等儲存元件獲得讀取結果以用於解碼中。以
感測為基礎,判定儲存元件之程式化狀態(步驟1104),且以程式化狀態為基礎來指派碼字(步驟1106)。舉例而言,可在存在16個狀態時利用圖9a之碼字或位元指派。在步驟1108處開始第二讀取操作,諸如,藉由再次感測儲存元件之VTH
是高於還是低於比較點(步驟1110)。以感測為基礎,再次判定儲存元件之程式化狀態(步驟1112)。
步驟1114包括將初始機率計量指派給碼字中之每一位元,其中計量以第一讀取結果及第二讀取結果為基礎來指示位元之可靠度。舉例而言,此步驟可涉及讀取圖10a至圖10d之表以獲得LLR,但亦可利用其他機率性計量。步驟1116包括利用初始機率計量來執行迭代解碼,及在連續迭代中調整機率計量。在步驟1116之迭代之後,若在決策步驟1118處解碼收斂(例如,滿足錯誤校正碼之所有同位檢查),則將經解碼碼字儲存為最終讀取結果(步驟1120)。
注意,可在同位檢查擴展於碼字之上的同時解碼與錯誤校正過程相關聯之碼字。或者,單一碼字有可能在一或多個同位檢查涉及僅彼碼字時由自身解碼。若解碼未收斂,則(例如)在步驟1122處宣告錯誤或可執行額外讀取操作。
圖11b為用於解碼表示非揮發性儲存元件之狀態之碼字之過程的流程圖,其中以第一讀取操作為基礎來獲得初始機率計量,接著以第二讀取操作為基礎來進一步調整經調整機率計量。如所論述,在一實施例中,可臨時地暫停解碼過程,使得以一或多個額外讀取結果為基礎來進一步調整相對於初始LLR值而經調整之當前LLR值。步驟1130、
1132、1134及1136分別對應於圖11a之步驟1100、1102、1104及1106。步驟1138包括將初始機率計量指派給碼字中之每一位元,其中計量以第一讀取結果為基礎來指示位元之可靠度。舉例而言,此步驟可涉及讀取圖9b之表以獲得LLR,但亦可利用其他機率性計量。步驟1140包括利用初始機率計量來執行迭代解碼,及在連續迭代中調整機率計量。若在決策步驟1142處解碼在給定時間週期(例如,流逝時間)及/或給定數目之迭代內收斂,則將經解碼碼字儲存為最終讀取結果(步驟1144)。若解碼(諸如)藉由滿足指定數目之同位檢查而朝向收斂前進,則解碼繼續。適當軟體、硬體及/或韌體可提供於解碼器中以加強此供應。
若解碼不收斂或朝向收斂前進,則調整解碼。在步驟1146處儲存機率計量之當前值,且在步驟1148處開始第二讀取操作。步驟1150及1152分別對應於步驟1132及1134。步驟1154包括以第二讀取為基礎來調整機率計量之當前值。舉例而言,此可包括施加由圖9c之表所描繪之LLR調整。在步驟1156處,迭代解碼利用可在後續迭代中經進一步調整之機率計量之經調整值而繼續。解碼過程歸因於由第二讀取所提供之資訊而得以改良。舉例而言,解碼過程與僅利用來自單讀取之結果的情況相比可收斂得更快,或解碼過程可在單讀取狀況可能不會收斂的情況下收斂。在決策步驟1158處,再次檢查解碼狀態,類似於決策步驟1142之檢查。若在步驟1158處解碼在給定時間週期(例如,流逝時間)及/或給定數目之迭代內收斂,則將經解碼
碼字儲存為最終讀取結果(步驟1160)。注意,用於在步驟1158中朝向收斂之前進的計量可比步驟1142處更不嚴格。若解碼(諸如)藉由滿足指定數目之同位檢查而朝向收斂前進,則解碼繼續。若解碼不滿足第二條件,則可宣告錯誤或可執行額外讀取操作(步驟1162),且彼讀取操作之結果用於再次調整解碼過程。
注意,代替回應於解碼不滿足特定條件而開始額外讀取操作,有可能在解碼過程已以第一讀取操作為基礎而開始之後自動地執行額外讀取操作。在此狀況下,可在第二讀取操作已完成時暫停解碼過程以更新LLR,而不管解碼是否滿足特定條件,或在必要的情況下,可儲存第二操作之結果以供在解碼過程中後續利用。
圖11c為用於解碼表示非揮發性儲存元件之狀態之碼字之過程的流程圖,其中以第一讀取操作為基礎來獲得初始機率計量,接著以第一讀取操作及第二讀取操作為基礎來獲得新的初始機率計量。在此方法中,解碼本質上在其不滿足特定條件時以自第一讀取所獲得之初始LLR為基礎而自開始重新開始。然而,新的初始LLR係以第一讀取操作及第二讀取操作或其他額外讀取操作為基礎。步驟1170、1172、1174、1176、1178、1180、1182及1184分別對應於圖11b之步驟1130、1132、1134、1136、1138、1140、1142及1144。在步驟1186處,當在決策步驟1182處解碼不滿足第一條件時,可宣告錯誤或可執行額外讀取。若將利用第二讀取操作(步驟1188),則在步驟1190處廢除由解碼
器所利用之機率計量(例如,LLR)之當前值。步驟1192及1194分別對應於圖11b之步驟1150及1152。在步驟1196處,將新的初始機率計量指派給碼字(例如,在步驟1176中所指派之碼字)中之每一位元。此等新的機率計量以第一及第二讀取操作為基礎來指示位元之可靠度。
圖12描繪稀疏同位檢查矩陣。如先前所提及,儲存元件儲存表示資訊位元及同位位元之資料,其中根據錯誤校正編碼過程來提供同位位元。此過程涉及將同位位元添加至資訊位元。在一可能方法中,利用低密度同位檢查(LDPC)碼。實務上,通常將此等碼施加至跨越許多儲存元件而被編碼之多個碼字。LDPC碼為所需的,因為其招致相對較低之附加項成本。此外,LDPC碼在迭代訊息傳遞解碼演算法下展現接近向農(Shannon)極限之效能。然而,此僅為實例實施例,因為可利用任何類型之錯誤校正碼。舉例而言,可利用其他線性塊碼。
LDPC碼為由稀疏同位檢查矩陣所特徵化之線性塊碼,例如,如由矩陣H 1200所描繪。矩陣包括K個資訊位元及M個同位位元,且碼長度為N=K+M。另外,同位位元經界定成使得滿足M個同位檢查方程式,其中矩陣之每一列表示同位檢查方程式。詳言之,矩陣之列係藉由檢查節點cn1至cn10來識別且行係藉由變數v1至v13來識別,其指示儲存於儲存元件中之資料(例如,碼字位元)。此資料包括資訊位元i及同位位元p,以如下方程式為基礎:,
其中H為稀疏同位檢查矩陣,為資料矩陣,為資訊位元矩陣,且p為同位位元矩陣。在一方法中,可自不同碼字之不同位元位置採取資訊位元。可藉由求解以上方程式來判定資料矩陣v。另外,若矩陣H為下三角形,則此可利用高斯(Gaussian)消除程序來有效地完成。
圖13描繪對應於圖12之稀疏同位檢查矩陣的稀疏偶圖。圖1300更詳細地指示LDPC碼如何工作。可變節點v1至v13表示碼字位元,且檢查節點cn1至cn10表示對位元之同位檢查約束。
在解碼期間,解碼器試圖滿足同位檢查。在此實例中,存在如由檢查節點cn1至cn10所指示之十個同位檢查。cn1處之第一同位檢查判定是否v2v4v11v13=0,其中表示互斥或(XOR)邏輯運算。此檢查在v2、v4、v11及v13中存在偶數數目之"1"位元的情況下得以滿足。此檢查藉由圖1300中自節點v2、v4、v11及v13之箭頭指向節點cn1的事實來表示。cn2處之第二同位檢查判定是否v1v7v12=0,其在存在奇數數目之"1"位元的情況下得以滿足。cn3處之第三同位檢查判定是否v3v5v6v9v10=0,其在存在奇數數目之"1"位元的情況下得以滿足。類似地,cn4處之第四同位檢查判定是否v2v8v11=0,cn5處之第五同位檢查判定是否v4v7v12=0,cn6處之第六同位檢查判定是否
v1v5v6v9=0,cn7處之第七同位檢查判定是否v2v8v10v13=0,cn8處之第八同位檢查判定是否v4v7v11v12=0,cn9處之第九同位檢查判定是否v1v3v5v13=0,且cn10處之第十同位檢查判定是否v7v8v9v10=0。
用於LDPC之解碼過程為被稱為迭代訊息傳遞解碼之迭代機率性解碼過程。迭代涉及連續地橫過檢查節點及以每一同位檢查為基礎來更新所涉及之位元之LLR值。在一方法中,試圖滿足cn1之第一同位檢查。一旦滿足彼同位檢查,則試圖滿足cn2之第一同位檢查,等等。在必要的情況下,以熟習此項技術者已知之方式而針對每一迭代來調整LLR值。此迭代演算法為置信傳播(belief propagation)之形式。
儲存元件之經感測程式化狀態可以儲存元件之歷史為基礎而在不同讀取操作內變化。舉例而言,儲存元件之狀態將有時在兩個讀取操作之間改變,且改變狀態之儲存元件之數目可視控制閘極電壓之歷史而定。讀取狀態將改變之傾向係以多種因素為基礎,包括用於每一狀態之VTH
寬度、狀態之間的間隔、截獲位點雜訊及其他因素。
因此,可能有用的係在執行兩個或兩個以上感測操作時有意地產生不同短期歷史。在一方法中,在相同電壓位準下或在相鄰電壓位準下利用不同短期歷史。舉例而言,恰好在第一讀取操作之前,可使選定字線接地。為了使第二
讀取操作之短期歷史不同,吾人可恰好在第二讀取操作之開始之前將(例如)以讀取通過電壓(read pass voltage)(例如,VREAD
=5.5 V)之形式的預調節波形施加至選定字線。VREAD
為在讀取選定字線上之儲存元件時通常施加至未選定字線的電壓。然而,此為許多可能實施例當中之一實例。舉例而言,除了預調節波形之結束與感測整合時間之開始之間的時間間隔以外,振幅、持續時間及形狀均為可(例如)利用字線及所注意之其他線之RC時間常數來最佳化的參數。
就一些有雜訊儲存元件之VTH
視施加至其各種端子(諸如,控制閘極及C-P井)之偏壓的短期歷史而定而言,不同短期歷史應增加有雜訊行為,且此增加將幫助吾人識別更多可疑位元。此額外資訊應藉由識別有雜訊儲存元件且確認關於特定位元之值的不定性來改良迭代解碼過程。此無知確認可用於幫助將解碼過程之注意力集中於需要更多注意力之更麻煩的位元。簡而言之,較好的係知道吾人不知道一些位元之值而非假裝吾人知道。
預調節波形在感測操作之前的利用允許讀取操作之歷史更接近地類似於在程式化期間所執行之驗證操作,因為驗證操作之短期歷史包括程式(VPGM
)脈衝。圖24中描繪振幅在(例如)13-20 V之間變化之實例VPGM
脈衝。預調節波形之振幅無需與程式脈衝之振幅一樣高,但其可仍重複儲存元件在驗證操作作為程式化操作之一部分而被執行時所經受之短期歷史。因此,程式脈衝在驗證操作之前對儲存元件
之效應由預調節脈衝在讀取操作之前對儲存元件之效應部分地複製。對於額外讀取操作僅在必要時(例如,當以一讀取操作為基礎之解碼過程未收斂時)被執行之實施例而言,在一可能方法中,第一讀取可在感測操作之前利用預調節波形。
另外,用於解碼過程中之機率計量(諸如,LLR)可說明預調節波形之效應。因此,指派給位元之初始LLR可以關聯儲存元件之歷史為基礎而變化。舉例而言,若碼字中之相同位元值係自具有及無預調節波形之讀取操作被獲得,則用於位元之LLR之量值與位元值係自均無預調節波形或甚至均具有預調節波形之讀取操作被獲得的情況相比應更高以指示位元之值的更確信量測。
詳言之,預調節波形可影響各種程式化狀態之機率分布函數(pdf)。此效應藉由比較具有及無預調節波形之儲存元件集合之VTH
分布的pdf而可量測。通常,在利用預調節波形的情況下,可以用於特定技術之儲存元件之行為為基礎來提供用於自多重讀取聚集LLR結果的數學方法。舉例而言,若讀取中之每一者得到相同結果,則吾人可針對碼字之位元來指派表示狀態之高量值LLR。此峰值LLR(LLRpeak)可能高於用於僅單讀取(LLRsingle)之LLR。另一方面,若讀取系列得到不同結果,則可能產生較低最終LLR。聚集讀取系列之一方法係採取單讀取LLR之平均值,且接著使平均值乘以正規化因子(諸如,LLRpeak/LLRsingle)。
下文之實例描繪在讀取操作之感測操作之前發生的一或多個預調節脈衝,但一般而言,可利用任何預調節波形。另外,可將預調節波形施加至儲存元件之端子(例如,控制閘極、源極及/或汲極),及/或至形成有儲存元件之基板。舉例而言,可將第一預調節波形經由形成有非揮發性儲存元件之基板之本體而施加至非揮發性儲存元件,且可將第二預調節波形施加至儲存元件之控制閘極、源極及汲極。或,可將第二預調節波形經由本體而施加至非揮發性儲存元件,且將第一預調節波形施加至儲存元件之控制閘極、源極及/或汲極。另外,可在一讀取操作期間或在不同讀取操作期間施加具有不同特徵之預調節波形。
此外,預調節波形可用於單讀取方法以及多重讀取方法中。另外,可在利用任何類型之錯誤校正解碼或無需錯誤校正解碼的情況下利用預調節波形。
圖14a為解釋讀取/驗證操作期間特定波形之行為的時序圖,其中在關聯讀取脈衝之前將預調節波形施加至選定字線。此及其他時序圖中之波形未必按比例。
如所提及,可將預調節波形施加至儲存元件作為讀取操作之一部分。此可涉及(例如)在將感測電壓施加至字線以用於比較儲存元件之VTH
與比較點之前經由關聯選定字線而將預調節波形(諸如,脈衝)施加至經讀取之儲存元件的控制閘極。此外,可恰好在任何讀取之前或恰好在讀取操作中之一些之前施加預調節波形。可將其與各種位準之軟讀取組合。亦可在相同電壓位準下將其與多重讀取組合。
一般而言,在讀取及驗證操作期間,將選定字線或其他控制線連接至電壓,其位準經指定用於每一讀取及驗證操作,以便判定有關儲存元件之臨限電壓是否已達到此位準。在施加字線電壓之後,量測儲存元件之傳導電流以判定儲存元件是否開啟。若傳導電流經量測為大於特定值,則假設儲存元件開啟且施加至字線之電壓大於儲存元件之臨限電壓。若傳導電流未經量測為大於特定值,則假設儲存元件未開啟且施加至字線之電壓不大於儲存元件之臨限電壓。
存在用以在讀取或驗證操作期間量測儲存元件之傳導電流的許多方式。在一實例中,儲存元件之傳導電流係藉由其允許(或未能允許)包括儲存元件之NAND串使位元線放電的速率來量測。在一時間週期之後量測位元線上之電荷以查看其是否已放電。在另一實施例中,選定儲存元件之傳導允許電流在位元線上流動或不流動,此係藉由感測放大器中之電容器是否歸因於電流流動而充電來量測。論述兩個實例。
詳言之,波形1400描繪汲極側選擇閘極電壓(SGD),波形1402描繪未選定字線電壓,波形1404描繪(為讀取/驗證所選定之字線之)選定字線電壓,波形1410描繪源極側選擇閘極(SGS)電壓(選項1),波形1412描繪SGS電壓(選項2),波形1414描繪(為讀取/驗證所選定之位元線之)選定位元線(BL)電壓(選項1),波形1418描繪選定BL電壓(選項2),且波形1419描繪源極電壓。另外,時間點t0-t4在水平
方向上擴展。
注意,存在所描繪之SGS及選定BL的兩個版本。選項1描繪用於藉由判定位元線是否已放電來量測儲存元件之傳導電流之儲存元件陣列的讀取/驗證操作。選項2描繪用於藉由儲存元件使感測放大器中之專用電容器放電之速率來量測儲存元件之傳導電流之儲存元件陣列的讀取/驗證操作。
首先,將關於選項1來論述藉由判定位元線是否已放電來量測儲存元件之傳導電流時所涉及之感測電路及儲存元件陣列的行為。
在t0之前,電壓在近似0 V之穩定狀態電壓Vss下開始。
在t0與t1之間,在讀取脈衝1408之前將預調節波形1406施加至選定字線。注意,在另一方法中,預調節波形可與感測操作(讀取脈衝1408)重疊。在t2,SGD及SGS(選項2)分別上升至VSGD
及VSGS
(例如,3.5 V)。未選定字線上升至VREAD
(例如,6 V),其因為使未選定儲存元件開啟且充當通過閘極(pass gate)而充當過激勵電壓。預調節波形1406可具有與(例如)大於VCGR
之VREAD
相當之振幅。VREAD
通常為可被施加而不引起干擾之最高電壓。選定字線對於讀取操作而言上升至VCGR
(控制閘極讀取電壓)或對於驗證操作而言上升至驗證位準。將t2與t4之間的選定字線上之波形視為在感測操作期間所利用之讀取脈衝1408。在一方法中,將選定BL(選項1)預充電至近似0.7V。
可接著在下一讀取或驗證位準下重複圖14a中所描繪之
過程,其中施加不同VCGR
以感測與選定字線相關聯之儲存元件之VTH
是高於還是低於對應比較點。在一方法中,在每一感測操作之前提供預調節脈衝。
在t3,NAND串可控制位元線。亦在t3,藉由使SGS(選項1)上升至VSGS
來開啟源極側選擇閘極。此提供用以耗散位元線上之電荷的路徑。若為讀取所選定之儲存元件之VTH
大於VCGR
或施加至選定字線之驗證位準,則選定儲存元件將不開啟且位元線將不放電,如由線1415所描繪。若為讀取所選定之儲存元件之臨限電壓低於VCGR
或低於施加至選定字線之驗證位準,則為讀取所選定之儲存元件將開啟(傳導)且位元線電壓將耗散,如由曲線1416所描繪。在時間t3之後且在時間t4之前的某一點(如由特定實施例所判定),感測放大器將判定位元線是否已耗散足夠量。在t3與t4之間,感測放大器量測經評估之BL電壓。在時間t4,所描繪之波形將降低至Vss(或用於待用或恢復之另一值)。
緊接著關於選項2所論述的係感測電路及儲存元件陣列之行為,其藉由儲存元件使感測放大器中之專用電容器放電之速率來量測儲存元件之傳導電流。如前所述,在t0與t1之間施加預調節波形1406。在時間t2,SGD上升至VSGD
,未選定字線上升至VREAD
,且選定字線對於讀取操作而言上升至VCGR
或對於驗證操作而言上升至驗證位準。
在此狀況下,感測放大器使位元線電壓保持恆定而不管NAND串正在進行什麼活動,因此,感測放大器利用"箝位"至彼電壓之位元線來量測電流流動。在t2之後且在t4之前
的某一點(如由特定實施例所判定),感測放大器將判定感測放大器中之電容器是否已耗散足夠量。在t4,所描繪之波形將降低至Vss(或用於待用或恢復之另一值)。注意,在其他實施例中,可改變波形中之一些之時序。
圖14b為解釋讀取/驗證操作期間特定波形之行為的時序圖,其中在關聯讀取脈衝之前將一或多個預調節波形施加至選定字線。此處,描繪組成讀取操作之一部分的三個感測操作。舉例而言,在16個狀態的情況下,可能存在15個感測操作。波形1420、1422、1424、1435、1436、1437、1438及1439分別表示在三個感測操作內圖14a之波形1400、1402、1104、1410、1412、1414、1418及1419。波形1432類似於波形1424,但僅在組成讀取操作之讀取脈衝系列中之第一讀取脈衝1427之前包括預調節波形1426。在波形1424中,分別在與不同VTH
比較點相關聯之讀取脈衝1427、1429及1431之前將預調節波形1426、1428及1430施加至選定字線。讀取脈衝振幅在每一感測操作中增加,例如,自VCGR-1
至VCGR-2
至VCGR-3
,等等。預調節波形之振幅對於每一感測操作可相同或可(例如)隨著關聯讀取脈衝之振幅而變化。關於波形1432,注意,通常,可在讀取操作中之一或多個選定讀取脈衝之前提供預調節波形。此外,可隨機地選擇具有關聯預調節波形之讀取脈衝。
圖14c為描繪不同預調節波形之時序圖。如所提及,預調節波形可具有多種特徵。波形1404(亦在圖14a中論述)包括基線預調節波形1406作為在讀取脈衝1408之前所提供的
脈衝。注意,波形1406及脈衝1408展示對於不同記憶體設備將變化之上升時間及衰變時間。在一選項中,波形1440包括預調節波形1441作為與脈衝1406相比具有較長持續時間之脈衝。波形1442包括與脈衝1406相比更接近於讀取脈衝1408之預調節波形1443。爭論中之時間週期自預調節波形之結束擴展至讀取脈衝之開始。波形1444包括預調節波形1445作為與脈衝1406相比具有較低振幅之脈衝。波形1446包括與脈衝1406相比具有不同形狀之預調節波形1447。此處,利用振盪波形。雖然此波形不複製程式化脈衝,且甚至包括負電壓,但其仍可有用於(例如)導致截獲位點活動。亦可利用包括斜坡、台階等等之其他波形。亦有可能在讀取脈衝之前提供多個預調節波形。
圖14d為解釋讀取/驗證操作期間特定波形之行為的時序圖,其中在關聯讀取脈衝之前將預調節波形經由選定位元線而施加至選定儲存元件之汲極。通常,代替經由選定字線而將電壓波形施加至儲存元件之控制閘極,可將電壓波形施加至或經由本體偏壓(body bias)而將電壓波形施加至任何其他端子(諸如,源極或汲極)。在此方法中,經由與NAND鏈相關聯之位元線而存取汲極端子。如由波形1450所描繪,藉由在t0與t1之間上升VSGD
來打開汲極側選擇閘極,此時,將預調節波形1456或1460施加(分別為波形1454及1458)至位元線。可恰好在t0之前直至恰好在t1之後打開汲極側選擇閘極以包絡預調節波形1460。讀取脈衝1408出現在t2與t4之間,如先前所論述。亦在讀取脈衝期
間在t2與t4之間打開汲極側選擇閘極。注意,亦可在t0與t4之間連續地使汲極側選擇閘極保持打開。
圖14e為解釋讀取/驗證操作期間特定波形之行為的時序圖,其中在關聯讀取脈衝之前將預調節波形經由源極線而施加至選定儲存元件之源極。在此方法中,經由與NAND鏈相關聯之源極線而存取源極端子。如由波形1462或1464所描繪,藉由在t0與t1之間上升VSGS
來打開源極側選擇閘極,此時,將波形1466中之預調節波形1468施加至源極線。可恰好在t0之前直至恰好在t1之後打開源極側選擇閘極以包絡預調節波形1468。讀取脈衝1408出現在t2與t4之間,如先前所論述。亦在讀取脈衝期間在t2與t4之間打開源極側選擇閘極。注意,亦可在t0與t4之間連續地使源極側選擇閘極保持打開。
圖14f為解釋讀取/驗證操作期間特定波形之行為的時序圖,其中在關聯讀取脈衝之前將預調節波形經由本體偏壓而施加至選定儲存元件。在此方法中,利用本體偏壓電壓VB
來偏壓形成有儲存元件之基板。舉例而言,可利用VB
<0來偏壓基板之p井以使控制閘極增加至本體電壓。如由波形1470所描繪,可在t0與t1之間將預調節波形1472施加至本體。讀取脈衝1408出現在t2與t4之間,如先前所論述。
圖14g為用於對儲存元件執行讀取操作之過程之流程圖,其中在關聯讀取脈衝之前將預調節波形施加至儲存元件。讀取操作始於步驟1474。在步驟1475處將表示經程式
化狀態之索引k初始化為零。在步驟1476處施加預調節波形且在步驟1477處施加讀取脈衝。步驟1478包括感測VTH
是高於還是低於讀取比較點。若在決策步驟1479處存在下一比較點,則在步驟1480處遞增索引,且重複步驟1476-1478。若不存在其他比較點,則讀取操作已完成且在步驟1481處儲存結果。
圖14h為用於對儲存元件執行讀取操作之過程之流程圖,其中在讀取脈衝系列之前將預調節波形施加至儲存元件。讀取操作始於步驟1482。在步驟1483處將表示經程式化狀態之索引k初始化為零。在步驟1484處施加預調節波形且在步驟1485處施加讀取脈衝。步驟1486包括感測VTH
是高於還是低於讀取比較點。若在決策步驟1487處存在下一比較點,則在步驟1488處遞增索引,且重複步驟1485及1486。若不存在其他比較點,則讀取操作已完成且在步驟1489處儲存結果。在此狀況下,預調節脈衝未再次用於讀取操作。
圖14i為用於利用預調節波形來獲得可靠度計量以供在解碼中後續利用之過程的流程圖。亦見圖5a、圖5b及圖8。步驟1490包括將隨機資料程式化至儲存元件,且步驟1491將索引k初始化至狀態0。步驟1492包括針對寫入至狀態k之每一儲存元件來執行VTH
之量測,有時利用預調節波形且有時無需預調節波形,及/或利用不同波形特徵(例如,振幅、持續時間及時序)。以此方式,儲存元件中之電子經影響以進入及退出截獲位點,(例如)以提供更精確
的VTH
分布。步驟1493包括以量測為基礎而針對狀態k來獲得可靠度計量(例如,LLR),且步驟1494包括儲存結果。若在決策步驟1495處存在下一狀態,則在步驟1496處遞增k,且重複步驟1492及1493。若不存在下一狀態,則過程在步驟1497處結束。
因此,預調節波形可在針對非揮發性儲存器來開發可靠度計量時用於測試環境中及/或在讀取非揮發性儲存器時用於生產環境中。在一方法中,類似於結合圖9b至圖10d所論述之表的表可在利用及不利用預調節脈衝的情況下及/或在利用不同預調節脈衝的情況下得以開發。如先前所論述,接著在讀取非揮發性儲存器時在生產環境期間存取此等表。
圖15說明NAND儲存元件(諸如,圖1及圖2所示之儲存元件)陣列1500的實例。沿每一行,位元線1506耦合至NAND串1550之汲極選擇閘極之汲極端子1526。沿NAND串之每一列,源極線1504可連接NAND串之源極選擇閘極之所有源極端子1528。NAND串及儲存元件形成於p井1505上,其在一些實施例中可接收本體偏壓VB
。作為記憶體系統之一部分之NAND架構陣列及其操作之實例在美國專利第5,570,315號、第5,774,397號及第6,046,935號中被找到。
將儲存元件陣列劃分為大量儲存元件區塊。如對於快閃EEPROM系統而言為共同的,區塊為抹除單位。亦即,每一區塊含有經一起抹除的最小數目之儲存元件。通常將每一區塊劃分為許多頁。頁為程式化單位。在一實施例中,
可將個別頁劃分為若干片段,且該等片段可含有作為基本程式化操作而經一次寫入的最少數目之儲存元件。通常將一或多個資料頁儲存於一儲存元件列中。一頁可儲存一或多個區段。區段包括使用者資料及附加項資料。附加項資料通常包括已自區段之使用者資料所計算的錯誤校正碼(ECC)。控制器(下文所描述)之一部分在資料經程式化至陣列中時計算ECC,且在自陣列讀取資料時亦對其進行檢查。或者,將ECC及/或其他附加項資料儲存於不同於與其有關之使用者資料的頁或甚至區塊中。
使用者資料之區段通常為512個位元組,此對應於磁碟驅動器中之區段的大小。附加項資料通常為額外的16至20個位元組。大量頁形成一區塊,自8個頁(例如)至32、64、128或更多頁的任何數量。在一些實施例中,一NAND串列包含一區塊。
在一實施例中,藉由將形成有NAND串及儲存元件之p井1505上升至抹除電壓(例如,20 V)持續足夠的時間週期且在源極線及位元線浮動時使選定區塊之字線接地來抹除記憶體儲存元件。歸因於電容耦合,未選定字線、位元線、選擇線及共同源極(c-source)亦上升至抹除電壓之顯著部分。因此,當浮動閘極之電子通常藉由Fowler-Nordheim穿隧機制而發射至基板側時,將強電場施加至選定儲存元件之隧道氧化物層,且將選定儲存元件之資料抹除。當電子自浮動閘極轉移至p井區域時,選定儲存元件之臨限電壓降低。可對整個記憶體陣列、單獨區塊或另一儲存元件
單位執行抹除。
圖16為利用單列/行解碼器及讀取/寫入電路之非揮發性記憶體系統的方塊圖。該圖說明根據本發明之一實施例之記憶體設備1696,其具有用於並行地讀取及程式化儲存元件頁之讀取/寫入電路。記憶體設備1696可包括一或多個記憶體晶粒1698。記憶體晶粒1698包括儲存元件二維陣列1500、控制電路1610,及讀取/寫入電路1665。在一些實施例中,儲存元件陣列可為三維的。記憶體陣列1500可由字線經由列解碼器1630而存取且可由位元線經由行解碼器1660而存取。讀取/寫入電路1665包括多個感測區塊1600且允許並行地讀取或程式化儲存元件頁。通常,控制器1650包括於與一或多個記憶體晶粒1698相同的記憶體設備1696(例如,抽取式儲存卡)中。控制器1650可包括本文所論述之ECC解碼能力。命令及資料經由線1620而在主機與控制器1650之間轉移,且經由線1618而在控制器與一或多個記憶體晶粒1698之間轉移。
控制電路1610與讀取/寫入電路1665協作以對記憶體陣列1500執行記憶體操作。控制電路1610包括狀態機1612、晶片上位址解碼器1614、增壓控制器(boost control)1615及功率控制模組1616。狀態機1612提供記憶體操作之晶片級控制。晶片上位址解碼器1614將由主機或記憶體控制器所利用之位址之間的位址介面提供至由解碼器1630及1660所利用之硬體位址。增壓控制器1615可用於設定增壓模式,包括判定用於起始源極側及汲極側增壓之時序,如本
文所論述。功率控制模組1616控制在記憶體操作期間供應至字線及位元線之功率及電壓。
在一些實施例中,可組合圖16之一些組件。在各種設計中,可將組件中除了儲存元件陣列1500以外之一或多個組件(單獨或組合)視為管理電路。舉例而言,一或多個管理電路可包括控制電路1610、狀態機1612、解碼器1614/1660、功率控制器1616、感測區塊1600、讀取/寫入電路1665、控制器1650等等中之任一者或組合。
圖17為利用雙列/行解碼器及讀取/寫入電路之非揮發性記憶體系統的方塊圖。此處,提供圖16所示之記憶體設備1696之另一配置。在陣列之相反側上以對稱方式來實施由各種周邊電路對記憶體陣列1500之存取,使得每一側上之存取線及電路的密度減小一半。因此,將列解碼器分為列解碼器1630A及1630B,且將行解碼器分為行解碼器1660A及1660B。類似地,將讀取/寫入電路分為自陣列1500之底部連接至位元線的讀取/寫入電路1665A及自陣列1500之頂部連接至位元線的讀取/寫入電路1665B。以此方式,讀取/寫入模組之密度本質上減小一半。如上文針對圖16之設備所描述,圖17之設備亦可包括控制器。
圖18為描繪感測區塊之一實施例的方塊圖。個別感測區塊1600經分割成核心部分(被稱為感測模組1680),及共同部分1690。在一實施例中,將存在用於每一位元線之單獨感測模組1680及用於多個感測模組1680之集合的一共同部分1690。在一實例中,一感測區塊將包括一個共同部分
1690及八個感測模組1680。群中之感測模組中之每一者將經由資料匯流排1672而與關聯共同部分通信。關於其他細節,參考2006年6月29日公開的名為"Non-Volatile Memory and Method with Shared Processing for an Aggregateof Sense Amplifiers"之美國專利申請案公開案第2006/0140007號,且其全文以引用的方式併入本文中。
感測模組1680包含感測電路1670,感測電路1670判定所連接之位元線中之傳導電流是高於還是低於預定臨限位準。感測模組1680亦包括位元線鎖存器1682,位元線鎖存器1682用於設定所連接之位元線上之電壓條件。舉例而言,鎖存於位元線鎖存器1682中之預定狀態將導致所連接之位元線被拉至指定程式禁止之狀態(例如,Vdd
)。
共同部分1690包含處理器1692、資料鎖存器集合1694及耦合於資料鎖存器集合1694與資料匯流排1620之間的I/O介面1696。處理器1692執行計算。舉例而言,其功能中之一者係判定儲存於經感測儲存元件中之資料,且將經判定資料儲存於資料鎖存器集合中。資料鎖存器集合1694用於在讀取操作期間儲存由處理器1692所判定之資料位元。其亦用於在程式操作期間儲存自資料匯流排1620所輸入之資料位元。所輸入之資料位元表示意欲經程式化至記憶體中之寫入資料。I/O介面1696提供資料鎖存器1694與資料匯流排1620之間的介面。
在讀取或感測期間,系統之操作處於狀態機1612之控制下,狀態機1612控制不同控制閘極電壓至經定址儲存元件
之供應。由於其經由對應於由記憶體所支援之各種記憶體狀態的各種預定控制閘極電壓而步進,所以感測模組1680可在此等電壓中之一者下跳脫且輸出將經由匯流排1672而自感測模組1680提供至處理器1692。此時,處理器1692藉由考慮感測模組之跳脫事件及關於經由輸入線1693而自狀態機所施加之控制閘極電壓的資訊來判定所得記憶體狀態。其接著計算用於記憶體狀態之二元編碼(碼字)且將所得資料位元儲存至資料鎖存器1694中。在核心部分之另一實施例中,位元線鎖存器1682提供雙重用途,均作為用於鎖存感測模組1680之輸出的鎖存器且亦作為如上文所描述之位元線鎖存器。
據預期,一些實施例將包括多個處理器1692。在一實施例中,每一處理器1692將包括輸出線(未描繪),使得輸出線中之每一者經線或(wired-OR)在一起。在一些實施例中,輸出線在連接至線或線之前被反轉。此組態使得能夠在程式驗證過程期間快速判定程式化過程何時已完成,因為接收線或之狀態機可判定經程式化之所有位元何時已達到所要位準。舉例而言,當每一位元已達到其所要位準時,用於彼位元之邏輯0將被發送至線或線(或資料1被反轉)。當所有位元輸出資料0(經反轉之資料1)時,則狀態機知道終止程式化過程。因為每一處理器與八個感測模組通信,所以狀態機需要讀取線或線八次,或將邏輯添加至處理器1692以累積關聯位元線之結果,使得狀態機僅需要讀取線或線一次。類似地,藉由正確地選擇邏輯位準,全域
狀態機可偵測第一位元何時改變其狀態其相應地改變演算法。
在程式化或驗證期間,將待程式化之資料自資料匯流排1620儲存於資料鎖存器集合1694中。在狀態機之控制下的程式操作包含施加至經定址儲存元件之控制閘極的程式化電壓脈衝系列。每一程式化脈衝之後為讀回(驗證)以判定儲存元件是否已被程式化至所要記憶體狀態。處理器1692相對於所要記憶體狀態而監視所讀回之記憶體狀態。當兩者達成一致時,處理器1692設定位元線鎖存器1682,以便使位元線被拉至指定程式禁止之狀態。此禁止耦合至位元線之儲存元件進一步程式化,即使程式化脈衝出現在其控制閘極上時亦係如此。在其他實施例中,在驗證過程期間,處理器最初載入位元線鎖存器1682,且感測電路將其設定為禁止值。
資料鎖存器堆疊1694含有對應於感測模組之資料鎖存器堆疊。在一實施例中,每一感測模組1680存在三個資料鎖存器。在一些實施例(但並非所需要的)中,將資料鎖存器實施為移位暫存器,使得儲存於其中之並行資料轉換成用於資料匯流排1620之串行資料,且反之亦然。在較佳實施例中,對應於具有m個儲存元件之讀取/寫入區塊的所有資料鎖存器可聯接於一起以形成區塊移位暫存器,使得可藉由串行轉移來輸入或輸出資料區塊。詳言之,具有r個讀取/寫入模組之組經調適成使得其資料鎖存器集合中之每一者依次將資料移入或移出資料匯流排,如同其為用於整
個讀取/寫入區塊之移位暫存器之一部分一般。
關於非揮發性儲存設備之各種實施例之結構及/或操作的額外資訊可在以下各案中被找到:(1)2004年3月25日公開之美國專利申請案公開案第2004/0057287號,"Non-Volatile Memory And Method With Reduced Source Line Bias Errors";(2)2004年6月10日公開之美國專利申請案公開案第2004/0109357號,"Non-Volatile Memory And Method with Improved Sensing";(3)2004年12月16日提出申請之名為"Improved Memory Sensing Circuit And Method For Low Voltage Operation"之美國專利申請案第11/015,199號;(4)2005年4月5日提出申請之名為"Compensating for Coupling During Read Operations of Non-Volatile Memory"之美國專利申請案11/099,133;及(5)2005年13月28日提出申請之名為"Reference Sense Amplifier For Non-Volatile Memory"之美國專利申請案第11/321,953號。所有五個緊接上文所列出之專利文獻的全部內容均以引用的方式併入本文中。
圖19說明記憶體陣列至用於全位元線記憶體架構或用於奇偶記憶體架構之區塊之組織的實例。描述記憶體陣列1500之例示性結構。作為一實例,描述經分割成1,024個區塊之NAND快閃EEPROM。儲存於每一區塊中之資料可經同時抹除。在一實施例中,區塊為經同時抹除之最小儲存元件單位。在此實例中,在每一區塊中存在對應於位元線BL0、BL1、…BL8511之8,512個行。在被稱為全位元線
(ABL)架構(架構1910)之一實施例中,可在讀取及程式操作期間同時選擇區塊之所有位元線。可同時程式化沿共同字線且連接至任一位元線之儲存元件。
在所提供之實例中,64個儲存元件及兩個虛設儲存元件串聯連接以形成NAND串。存在64個資料字線及2個虛設字線WL-d0及WL-d1,其中每一NAND串包括64個資料儲存元件及2個虛設儲存元件。在其他實施例中,NAND串可具有多於或少於64個資料儲存元件及2個虛設儲存元件。資料記憶體單元可儲存使用者或系統資料。虛設記憶體單元通常不用於儲存使用者或系統資料。
NAND串之一端子經由汲極選擇閘極(連接至選擇閘極汲極線SGD)而連接至對應位元線,且另一端子經由源極選擇閘極(連接至選擇閘極源極線SGS)而連接至共同源極。
在被稱為奇偶架構(架構1900)之一實施例中,將位元線劃分為偶數位元線(BLe)及奇數位元線(BLo)。在此狀況下,沿共同字線且連接至奇數位元線之儲存元件在一時間經程式化,而沿共同字線且連接至偶數位元線之儲存元件在另一時間經程式化。可將資料程式化至不同區塊中,且同時自不同區塊讀取資料。在此實例中,在每一區塊中存在經劃分為偶數行及奇數行的8,512個行。
在讀取及程式化操作之一組態期間,同時選擇4,256個儲存元件。所選定之儲存元件具有同一字線及同一種位元線(例如,偶數或奇數)。因此,可同時讀取或程式化形成邏輯頁之532個資料位元組,且記憶體之一個區塊可儲存
至少八個邏輯頁(四個字線,每一者具有奇數頁及偶數頁)。對於多狀態儲存元件而言,當每一儲存元件儲存兩個資料位元(其中此等兩個位元中之每一者儲存於不同頁中)時,一個區塊儲存十六個邏輯頁。亦可利用其他大小的區塊及頁。
對於ABL或奇偶架構而言,可藉由將p井上升至抹除電壓(例如,20 V)且使選定區塊之字線接地來抹除儲存元件。源極及位元線係浮動的。可對整個記憶體陣列、單獨區塊或作為記憶體設備之一部分的另一儲存元件單位執行抹除。電子自儲存元件之浮動閘極轉移至p井區域,使得儲存元件之VTH
變為負。
在讀取及驗證操作中,選擇閘極(SGD及SGS)連接至在2.5至4.5 V之範圍內的電壓,且未選定字線(例如,在WL2為選定字線時的WL0、WL1及WL3)上升至讀取通過電壓VREAD
(通常為在4.5至6V之範圍內的電壓)以使電晶體作為通過閘極而操作。選定字線WL2連接至電壓,其位準經指定用於每一讀取及驗證操作,以便判定有關儲存元件之VTH
是高於還是低於此位準。舉例而言,在用於二級儲存元件之讀取操作中,可使選定字線WL2接地,使得偵測VTH
是否高於0 V。在用於二級儲存元件之驗證操作中,將選定字線WL2連接至(例如)0.8 V,使得驗證VTH
是否已達到至少0.8 V。源極及p井處於0 V。選定位元線(假設為偶數位元線(BLe))被預充電至(例如)0.7 V之位準。若VTH
高於字線上之讀取或驗證位準,則與所關注儲存元件相關聯
之位元線(BLe)的電位位準由於非導電儲存元件而維持高位準。另一方面,若VTH
低於讀取或驗證位準,則因為導電儲存元件使位元線放電,所以有關位元線(BLe)之電位位準降低至低位準(例如,小於0.5 V)。儲存元件之狀態可藉此由連接至位元線之電壓比較器感測放大器偵測。
上文所描述之抹除、讀取及驗證操作係根據此項技術中已知之技術來執行。因此,所解釋之細節中的許多細節可由熟習此項技術者改變。亦可利用此項技術中已知之其他抹除、讀取及驗證技術。
圖20描繪實例臨限電壓分布集合。為每一儲存元件儲存兩個資料位元之狀況提供用於儲存元件陣列之實例VTH
分布。提供用於經抹除儲存元件之第一臨限電壓分布E。亦描繪用於經程式化儲存元件之三種臨限電壓分布A、B及C。在一實施例中,E分布中之臨限電壓為負,且A、B及C分布中之臨限電壓為正。注意,此簡化實例指代四個狀態。然而,可利用額外狀態(例如,16、32、64或更多)。
每一相異臨限電壓範圍對應於資料位元集合之預定值。經程式化至儲存元件中之資料與儲存元件之臨限電壓位準之間的特定關係視用於儲存元件之資料編碼機制而定。舉例而言,美國專利第6,222,762號及2004年12月16日公開之美國專利申請案公開案第2004/0255090號(其全部內容均以引用的方式併入本文中)描述用於多狀態快閃儲存元件之各種資料編碼機制。在一實施例中,利用格雷(Gray)碼指派而將資料值指派給臨限電壓範圍,使得若浮動閘極之臨
限電壓錯誤地移至其相鄰實體狀態,則僅一個位元將受到影響。一實例將"11"指派給臨限電壓範圍E(狀態E),將"10"指派給臨限電壓範圍A(狀態A),將"00"指派給臨限電壓範圍B(狀態B),且將"01"指派給臨限電壓範圍C(狀態C)。然而,在其他實施例中,不利用格雷碼。儘管展示四個狀態,但本發明亦可與包括彼等包括多於或少於四個狀態之結構的其他多狀態結構一起利用。
亦提供三個讀取參考電壓Vra、Vrb及Vrc以用於自儲存元件讀取資料。藉由測試給定儲存元件之臨限電壓是高於還是低於Vra、Vrb及Vrc,系統可判定儲存元件所處之狀態(例如,程式化條件)。在四個狀態的情況下,利用三個讀取參考電壓或比較點。在16個狀態的情況下,利用15個比較點,等等。此等為在先前所論述之步驟1102、1110、1132、1150、1172、1192、1478及1486處所參考之類型的比較點。
另外,提供三個驗證參考電壓Vva、Vvb及Vvc。額外驗證點可用於儲存指示額外程式化狀態之資料的儲存元件。
當將儲存元件程式化至狀態A時,系統將測試彼等儲存元件是否具有大於或等於Vva之臨限電壓。當將儲存元件程式化至狀態B時,系統將測試儲存元件是否具有大於或等於Vvb之臨限電壓。當將儲存元件程式化至狀態C時,系統將判定儲存元件是否具有其大於或等於Vvc之臨限電壓。
在被稱為全序列程式化之一實施例中,可將儲存元件直
接自抹除狀態E程式化至經程式化狀態A、B或C中之任一者。舉例而言,可首先抹除待程式化之儲存元件群體,使得群體中之所有儲存元件均處於經抹除狀態E。諸如由圖24之控制閘極電壓序列所描繪之程式化脈衝系列將接著用於將儲存元件直接程式化至狀態A、B或C中。在將一些儲存元件自狀態E程式化至狀態A時,將其他儲存元件自狀態E程式化至狀態B及/或自狀態E程式化至狀態C。當在WLn上自狀態E程式化至狀態C時,使在WLn-1下至鄰近浮動閘極之寄生耦合量最大化,因為與在自狀態E程式化至狀態A或自狀態E程式化至狀態B時的電壓改變相比,在WLn下浮動閘極上之電荷量改變最大。當自狀態E程式化至狀態B時,至鄰近浮動閘極之耦合量減小,但仍顯著。
當自狀態E程式化至狀態A時,耦合量甚至進一步減小。
因此,為隨後讀取WLn-1之每一狀態所需要的校正量將視WLn上之鄰近儲存元件之狀態而變化。亦可將所展示之過程擴展至額外狀態。
圖21說明程式化多狀態儲存元件之雙進程(two-pass)技術的實例,多狀態儲存元件儲存用於兩個不同頁之資料:下部頁及上部頁。描繪四個狀態:狀態E(11)、狀態A(10)、狀態B(00)及狀態C(01)。亦可將所展示之過程擴展至額外狀態。對於狀態E而言,兩個頁均儲存"1"。對於狀態A而言,下部頁儲存"0"且上部頁儲存"1"。對於狀態B而言,兩個頁均儲存"0"。對於狀態C而言,下部頁儲存"1"且上部頁儲存"0"。注意,儘管已將特定位元型樣指派給
狀態中之每一者,但亦可指派不同位元型樣。
在第一程式化進程中,儲存元件之臨限電壓位準係根據待程式化至下部邏輯頁中之位元來設定。若彼位元為邏輯"1",則臨限電壓不改變,因為其由於早先已得以抹除而處於適當狀態。然而,若待程式化之位元為邏輯"0",則如箭頭2100所示,儲存元件之臨限位準增加至處於狀態A。彼結束第一程式化進程。
在第二程式化進程中,儲存元件之臨限電壓位準係根據經程式化至上部邏輯頁中之位元來設定。若上部邏輯頁位元將儲存邏輯"1",則不發生程式化,因為視下部頁位元之程式化而定,儲存元件處於狀態E或A中之一者,其均載運上部頁位元"1"。若上部頁位元將為邏輯"0",則臨限電壓移位。若第一進程導致儲存元件保持於經抹除狀態E,則在第二階段中,如由箭頭2120所描繪,儲存元件經程式化,使得臨限電壓增加至處於狀態C內。若儲存元件已由於第一程式化進程而經程式化至狀態A中,則儲存元件在第二進程中經進一步程式化,使得,如由箭頭2110所描繪,臨限電壓增加至處於狀態B內。第二進程之結果係將儲存元件程式化至所指定之狀態中以儲存用於上部頁之邏輯"0",而無需改變用於下部頁之資料。在圖20及圖21中,至鄰近字線上之浮動閘極的耦合量視最終狀態而定。
在一實施例中,若足夠資料經寫入以填滿整頁,則可設置系統以執行全序列寫入。若對於全頁而言未寫入足夠資料,則程式化過程可程式化利用所接收之資料而程式化的
下部頁。當接收到後續資料時,系統將接著程式化上部頁。在又一實施例中,系統可在程式化下部頁之模式中開始寫入,且若隨後接收到足夠資料以填滿整個字線(或字線之大部分)之儲存元件,則系統可轉換至全序列程式化模式。2006年6月15日公開的名為"Pipelined Programming of Non-Volatile Memories Using Early Data"之美國專利申請案公開案第2006/0126390號中揭示此實施例之更多細節,該案之全部內容以引用的方式併入本文中。
圖22a至圖22c揭示用於程式化非揮發性記憶體之另一過程,其藉由對於任一特定儲存元件而在針對先前頁來寫入至鄰近儲存元件之後相對於特定頁而寫入至彼特定儲存元件來減少浮動閘極至浮動閘極耦合效應。在一實例實施例中,非揮發性儲存元件利用四個資料狀態而在每一儲存元件上儲存兩個資料位元。亦可將所展示之過程擴展至額外狀態。舉例而言,假設狀態E為經抹除狀態且狀態A、B及C為經程式化狀態。狀態E儲存資料11。狀態A儲存資料01。狀態B儲存資料10。狀態C儲存資料00。因為兩個位元均在鄰近狀態A與B之間改變,所以此為非格雷編碼之實例。亦可利用資料至實體資料狀態之其他編碼。每一儲存元件儲存兩個資料頁。出於參考之目的,此等資料頁將被稱為上部頁及下部頁;然而,其可被給定其他標記。參考狀態A,上部頁儲存位元0且下部頁儲存位元1。參考狀態B,上部頁儲存位元1且下部頁儲存位元0。參考狀態C,兩個頁均儲存位元資料0。
程式化過程為二步驟過程。在第一步驟中,程式化下部頁。若下部頁將保持資料1,則儲存元件狀態保持於狀態E。若資料將經程式化至0,則儲存元件之電壓臨限值上升,使得儲存元件經程式化至狀態B'。圖22a因此展示儲存元件自狀態E至狀態B'之程式化。狀態B'為中間狀態B;因此,驗證點被描繪為Vvb',其低於Vvb。
在一實施例中,在將儲存元件自狀態E程式化至狀態B'之後,其在NAND串中之相鄰儲存元件(WLn+1)接著將相對於其下部頁而經程式化。舉例而言,參看圖2,在程式化儲存元件106之下部頁之後,可能程式化儲存元件104之下部頁。在程式化儲存元件104之後,浮動閘極至浮動閘極耦合效應將在儲存元件104使臨限電壓自狀態E上升至狀態B'的情況下上升儲存元件106之視臨限電壓(apparent threshold voltage)。此將具有使針對狀態B'之臨限電壓分布加寬至經描繪為圖22b之臨限電壓分布2250之臨限電壓分布的效應。臨限電壓分布之此視加寬(apparent widening)將在程式化上部頁時得以矯正。
圖22c描繪程式化上部頁之過程。若儲存元件處於經抹除狀態E且上部頁將保持於1,則儲存元件將保持於狀態E中。若儲存元件處於狀態E且其上部頁資料將經程式化為0,則儲存元件之臨限電壓將上升,使得儲存元件處於狀態A。若儲存元件在中間臨限電壓分布2250中且上部頁資料將保持於1,則儲存元件將經程式化至最終狀態B。若儲存元件在中間臨限電壓分布2250中且上部頁資料將變成資
料0,則儲存元件之臨限電壓將上升,使得儲存元件處於狀態C。由圖22a至圖22c所描繪之過程減小了浮動閘極至浮動閘極耦合效應,因為僅相鄰儲存元件之上部頁程式化將對給定儲存元件之視臨限電壓有影響。替代狀態編碼之實例係在上部頁資料為1時自分布2250移動至狀態C,且在上部頁資料為0時移動至狀態B。
儘管圖22a至圖22c提供關於四個資料狀態及兩個資料頁之實例,但所教示之概念可應用於具有多於或少於四個狀態及不同於兩頁之其他實施例。
圖23為描述用於程式化非揮發性記憶體之方法之一實施例的流程圖。在一實施例中,在程式化之前抹除(以區塊或其他單位)儲存元件。在步驟2300中,由控制器發布"資料載入"命令且由控制電路1610接收輸入。在步驟2305中,將指定頁位址之位址資料自控制器或主機輸入至解碼器1614。在步驟2310中,將用於經定址頁之程式資料頁輸入至資料緩衝器以供程式化。將彼資料鎖存於適當鎖存器集合中。在步驟2315中,由控制器將"程式"命令發布至狀態機1612。
由"程式"命令觸發,將利用圖24中施加至適當選定字線之脈衝串2400之台階狀程式脈衝來將在步驟2310中所鎖存之資料程式化至由狀態機1612所控制之選定儲存元件中。在步驟2320中,將程式電壓VPGM
初始化至開始脈衝(例如,12 V或其他值),且將由狀態機1612所維持之程式計數器(PC)初始化為0。在步驟2330中,將第一VPGM
脈衝施
加至選定字線以開始程式化與選定字線相關聯之儲存元件。若邏輯"0"儲存於特定資料鎖存器中而指示應程式化對應儲存元件,則使對應位元線接地。另一方面,若邏輯"1"儲存於特定鎖存器中而指示對應儲存元件應保持於其當前資料狀態中,則將對應位元線連接至Vdd
以禁止程式化。
在步驟2335中,驗證選定儲存元件之狀態。若偵測到選定儲存元件之目標臨限電壓已達到適當位準,則將儲存於對應資料鎖存器中之資料改變至邏輯"1"。若偵測到臨限電壓尚未達到適當位準,則不改變儲存於對應資料鎖存器中之資料。以此方式,在對應資料鎖存器中儲存有邏輯"1"之位元線無需經程式化。當所有資料鎖存器均儲存邏輯"1"時,狀態機(經由上文所描述之線或型機制)知道所有選定儲存元件已被程式化。在決策步驟2340中,進行關於是否所有資料鎖存器均儲存邏輯"1"的檢查。若所有資料鎖存器均儲存邏輯"1",則程式化過程完成且成功,因為所有選定儲存元件均經程式化及驗證。在步驟2345中報告"PASS"(通過)狀態。
若在步驟2340中判定並非所有資料鎖存器均儲存邏輯"1",則程式化過程繼續。在決策步驟2350中,對照程式極限值PCmax而檢查程式計數器PC。程式極限值之一實例為20;然而,亦可利用其他數目。若程式計數器PC不小於PCmax,則程式過程已失敗,且在步驟2355中報告"FAIL"(失敗)狀態。若程式計數器PC小於PCmax,則將
VPGM
增加步長,且在步驟2360中遞增程式計數器PC。過程接著返回至步驟2330以施加下一VPGM
脈衝。
圖24描繪在程式化期間施加至非揮發性儲存元件之控制閘極之實例脈衝串2400。脈衝串2400包括施加至經選定用於程式化之字線的程式脈衝系列2405、2410、2415、2420、2425、2430、2435、2440、2445、2450、…。在一實施例中,程式化脈衝具有電壓VPGM
,其以12 V開始且增加增量(例如,0.5 V),以用於每一連續程式化脈衝,直至達到20 V之最大值。在程式脈衝之間的係驗證脈衝。舉例而言,驗證脈衝集合2406包括三個驗證脈衝。在一些實施例中,可存在用於資料經程式化至之每一狀態(例如,狀態A、B及C)之驗證脈衝。在其他實施例中,可存在更多或更少驗證脈衝。每一集合中之驗證脈衝可具有為(例如)Vva、Vvb及Vvc(圖21)或Vvb'(圖22a)之振幅。
如所提及,施加至字線以實施增壓模式之電壓在程式化發生時(例如,在程式脈衝之前及期間)被施加。實務上,可將增壓模式之增壓電壓稍微在每一程式脈衝之前起始且在每一程式脈衝之後移除。另一方面,在(例如)出現在程式脈衝之間的驗證過程期間,不施加增壓電壓。實情為,將通常小於增壓電壓之讀取電壓施加至未選定字線。讀取電壓具有足以在將當前經程式化之儲存元件之臨限電壓與驗證位準比較時使NAND串中先前經程式化之儲存元件維持開啟的振幅。
已為了說明及描述之目的而呈現本發明之前述詳細描
述。其不意欲為詳盡的或將本發明限於所揭示之精確形式。按照上述教示,許多修改及變化為可能的。選擇所描述實施例,以便最好地解釋本發明之原理及其實際應用,以藉此使得熟習此項技術者能夠最好地將本發明用於各種實施例中且在適合於所預期之特定用途之各種修改的情況下最好地利用本發明。意欲藉由此處附加之申請專利範圍來界定本發明之範疇。
100‧‧‧電晶體
100CG‧‧‧控制閘極
100FG‧‧‧浮動閘極
102‧‧‧電晶體
102CG‧‧‧控制閘極
102FG‧‧‧浮動閘極
104‧‧‧電晶體
104CG‧‧‧控制閘極
104FG‧‧‧浮動閘極
106‧‧‧電晶體
106CG‧‧‧控制閘極
106FG‧‧‧浮動閘極
120‧‧‧第一選擇閘極
120CG‧‧‧控制閘極
122‧‧‧第二選擇閘極
122CG‧‧‧控制閘極
126‧‧‧位元線
128‧‧‧源極線
320‧‧‧NAND串
321‧‧‧位元線
322‧‧‧選擇閘極
323‧‧‧儲存元件
324‧‧‧儲存元件
325‧‧‧儲存元件
326‧‧‧儲存元件
327‧‧‧選擇閘極
340‧‧‧NAND串
341‧‧‧位元線
342‧‧‧選擇閘極
343‧‧‧儲存元件
344‧‧‧儲存元件
345‧‧‧儲存元件
346‧‧‧儲存元件
347‧‧‧選擇閘極
360‧‧‧NAND串
361‧‧‧位元線
362‧‧‧選擇閘極
363‧‧‧儲存元件
364‧‧‧儲存元件
365‧‧‧儲存元件
366‧‧‧儲存元件
367‧‧‧選擇閘極
402‧‧‧編碼器
404‧‧‧非揮發性儲存器
406‧‧‧LLR(對數概似比)表
408‧‧‧解碼器
600‧‧‧直方圖
602‧‧‧直方圖
604‧‧‧直方圖
650‧‧‧直方圖
652‧‧‧直方圖
654‧‧‧直方圖
660‧‧‧實例分布
662‧‧‧實例分布
664‧‧‧實例分布
1200‧‧‧矩陣
1300‧‧‧稀疏偶圖
1400‧‧‧波形
1402‧‧‧波形
1404‧‧‧波形
1406‧‧‧預調節波形
1408‧‧‧讀取脈衝
1410‧‧‧波形
1412‧‧‧波形
1414‧‧‧波形
1415‧‧‧線
1416‧‧‧曲線
1418‧‧‧波形
1419‧‧‧波形
1420‧‧‧波形
1422‧‧‧波形
1424‧‧‧波形
1426‧‧‧預調節波形
1427‧‧‧讀取脈衝
1428‧‧‧預調節波形
1429‧‧‧讀取脈衝
1430‧‧‧預調節波形
1431‧‧‧讀取脈衝
1432‧‧‧波形
1435‧‧‧波形
1436‧‧‧波形
1437‧‧‧波形
1438‧‧‧波形
1439‧‧‧波形
1440‧‧‧波形
1441‧‧‧預調節波形
1442‧‧‧波形
1443‧‧‧預調節波形
1444‧‧‧波形
1445‧‧‧預調節波形
1446‧‧‧波形
1447‧‧‧預調節波形
1450‧‧‧波形
1454‧‧‧波形
1456‧‧‧預調節波形
1458‧‧‧波形
1460‧‧‧預調節波形
1462‧‧‧波形
1464‧‧‧波形
1466‧‧‧波形
1468‧‧‧預調節波形
1470‧‧‧波形
1472‧‧‧預調節波形
1500‧‧‧陣列
1504‧‧‧源極線
1505‧‧‧p井
1506‧‧‧位元線
1526‧‧‧汲極端子
1528‧‧‧源極端子
1550‧‧‧NAND串
1600‧‧‧感測區塊
1610‧‧‧控制電路
1612‧‧‧狀態機
1614‧‧‧晶片上位址解碼器
1615‧‧‧增壓控制器
1616‧‧‧功率控制模組
1618‧‧‧線
1620‧‧‧線
1630‧‧‧列解碼器
1630A‧‧‧列解碼器
1630B‧‧‧列解碼器
1650‧‧‧控制器
1660‧‧‧行解碼器
1660A‧‧‧行解碼器
1660B‧‧‧行解碼器
1665‧‧‧讀取/寫入電路
1665A‧‧‧讀取/寫入電路
1665B‧‧‧讀取/寫入電路
1670‧‧‧感測電路
1672‧‧‧匯流排
1680‧‧‧感測模組
1682‧‧‧位元線鎖存器
1690‧‧‧共同部分
1692‧‧‧處理器
1693‧‧‧輸入線
1694‧‧‧資料鎖存器
1696‧‧‧記憶體設備/I/O介面
1698‧‧‧記憶體晶粒
1900‧‧‧架構
1910‧‧‧架構
2100‧‧‧箭頭
2110‧‧‧箭頭
2120‧‧‧箭頭
2400‧‧‧脈衝串
SGD‧‧‧選擇線
SGS‧‧‧選擇線
WL0‧‧‧字線
WL1‧‧‧字線
WL2‧‧‧字線
WL3‧‧‧字線
圖1為NANE串之俯視圖。
圖2為圖1之NAND串之等效電路圖。
圖3為NAND快閃儲存元件陣列的方塊圖。
圖4描繪用於非揮發性儲存器之資料編碼及解碼的系統。
圖5a為用於針對非揮發性儲存元件集合來獲得第一機率密度函數f1之過程的流程圖。
圖5b為用於針對非揮發性儲存元件集合來獲得第二機率密度函數f2之過程的流程圖。
圖6a描繪電壓臨限值讀數之分布。
圖6b描繪無雜訊電壓臨限值讀數。
圖6c描繪無雜訊電壓臨限值讀數之分布。
圖6d描繪非揮發性儲存元件集合之不同狀態之電壓臨限值的機率分布。
圖7a描繪非揮發性儲存元件之實例狀態之電壓臨限值偏差的分布。
圖7b描繪非揮發性儲存元件集合之實例狀態之電壓臨限值偏差的分布。
圖7c描繪非揮發性儲存元件集合之狀態0之電壓臨限值偏差的機率分布。
圖7d描繪非揮發性儲存元件集合之狀態1之電壓臨限值偏差的機率分布。
圖7e描繪非揮發性儲存元件集合之狀態15之電壓臨限值偏差的機率分布。
圖8為用於自非揮發性儲存元件獲得用於解碼讀取資料之對數概似比(LLR)之過程的流程圖。
圖9a描繪為非揮發性儲存元件之不同經程式化狀態提供多位元碼字的表。
圖9b描繪以第一讀取結果為基礎而為碼字之每一位元提供LLR之初始值的表。
圖9c描繪以第二讀取結果為基礎而為碼字之每一位元提供對由解碼器所利用之LLR之當前值之調整的表。
圖10a至圖10d描繪以第一讀取結果及第二讀取結果為基礎而為碼字之每一位元提供LLR之初始值的表。
圖11a為用於解碼表示非揮發性儲存元件之狀態之碼字之過程的流程圖,其中以第一讀取操作及第二讀取操作為基礎來獲得初始機率計量。
圖11b為用於解碼表示非揮發性儲存元件之狀態之碼字之過程的流程圖,其中以第一讀取操作為基礎來獲得初始機率計量,接著以第二讀取操作為基礎來進一步調整經調
整機率計量。
圖11c為用於解碼表示非揮發性儲存元件之狀態之碼字之過程的流程圖,其中以第一讀取操作為基礎來獲得初始機率計量,接著以第一讀取操作及第二讀取操作為基礎來獲得新的初始機率計量。
圖12描繪稀疏同位檢查矩陣。
圖13描繪對應於圖12之稀疏同位檢查矩陣的稀疏偶圖。
圖14a為解釋讀取/驗證操作期間特定波形之行為的時序圖,其中在關聯讀取脈衝之前將預調節波形施加至選定字線。
圖14b為解釋讀取/驗證操作期間特定波形之行為的時序圖,其中在關聯讀取脈衝之前將一或多個預調節波形施加至選定字線。
圖14c為描繪不同預調節波形之時序圖。
圖14d為解釋讀取/驗證操作期間特定波形之行為的時序圖,其中在關聯讀取脈衝之前將預調節波形經由選定位元線而施加至選定儲存元件之汲極。
圖14e為解釋讀取/驗證操作期間特定波形之行為的時序圖,其中在關聯讀取脈衝之前將預調節波形經由源極線而施加至選定儲存元件之源極。
圖14f為解釋讀取/驗證操作期間特定波形之行為的時序圖,其中在關聯讀取脈衝之前將預調節波形經由本體偏壓而施加至選定儲存元件。
圖14g為用於對儲存元件執行讀取操作之過程之流程
圖,其中在關聯讀取脈衝之前將預調節波形施加至儲存元件。
圖14h為用於對儲存元件執行讀取操作之過程之流程圖,其中在讀取脈衝系列之前將預調節波形施加至儲存元件。
圖14i為用於利用預調節波形來獲得可靠度計量以供在解碼中後續利用之過程的流程圖。
圖15為NAND快閃儲存元件陣列的方塊圖。
圖16為利用單列/行解碼器及讀取/寫入電路之非揮發性記憶體系統的方塊圖。
圖17為利用雙列/行解碼器及讀取/寫入電路之非揮發性記憶體系統的方塊圖。
圖18為描繪感測區塊之一實施例的方塊圖。
圖19說明記憶體陣列至用於全位元線記憶體架構或用於奇偶記憶體架構之區塊之組織的實例。
圖20描繪實例臨限電壓分布集合。
圖21描繪實例臨限電壓分布集合。
圖22a至圖22c展示各種臨限電壓分布且描述用於程式化非揮發性記憶體之過程。
圖23為描述用於程式化非揮發性記憶體之過程之一實施例的流程圖。
圖24描繪在程式化期間施加至非揮發性儲存元件之控制閘極之實例脈衝串。
(無元件符號說明)
Claims (16)
- 一種用於解碼非揮發性儲存器中之資料的方法,其包含:對至少一非揮發性儲存元件執行多重感測操作,該等多重感測操作包括一第一感測操作及至少一後續感測操作;利用迭代機率性解碼來判定該至少一非揮發性儲存元件之一程式化狀態,該迭代機率性解碼利用以該等多重感測操作為基礎之可靠度計量,其中該迭代機率性解碼最初利用以該第一感測操作而非該至少一後續感測操作為基礎之第一可靠度計量來迭代;調整該等第一可靠度計量以在該迭代機率性解碼迭代時獲得經調整可靠度計量;及以該至少一後續感測操作為基礎,在該迭代機率性解碼進一步迭代時,調整該等經調整可靠度計量。
- 如請求項1之方法,其中該等可靠度計量包含對數概似比。
- 如請求項1之方法,其中該等感測操作包含讀取操作。
- 如請求項1之方法,其進一步包含:對於該等多重感測操作中之每一者而言,提供表示該至少一非揮發性儲存元件之一經感測程式化狀態的位元,該等可靠度計量經提供用於該等位元中之每一者。
- 如請求項4之方法,其進一步包含:讀取一交叉參考經感測程式化狀態及位元與可靠度計 量之表。
- 如請求項1之方法,其中該迭代機率性解碼試圖滿足一錯誤校正碼之同位檢查。
- 如請求項6之方法,其中該錯誤校正碼包含一低密度同位檢查碼,該低密度同位檢查碼被施加於包括該至少一非揮發性儲存元件之一非揮發性儲存元件集合之上。
- 如請求項1之方法,其進一步包含:以該等多重感測操作為基礎來判定用以在該迭代機率性解碼中利用之一初始可靠度計量集合。
- 如請求項1之方法,其中當該至少一後續感測操作之一經感測程式化狀態與該第一感測操作之一經感測程式化狀態一致時,該等經調整可靠度計量經調整以指示一較高可靠度。
- 如請求項1之方法,其中當該至少一後續感測操作之一經感測程式化狀態與該第一感測操作之一經感測程式化狀態不一致時,該等經調整可靠度計量經調整以指示一較低可靠度。
- 如請求項1之方法,其進一步包含:利用以該第一感測操作及該至少一後續感測操作為基礎之機率計量來重新開始該迭代機率性解碼過程。
- 如請求項1之方法,其進一步包含:以對一非揮發性儲存元件集合所執行之複數個感測操作為基礎而針對複數個程式化狀態中之每一者來獲得該至少一非揮發性儲存元件之電壓臨限值概況; 以該等電壓臨限值概況為基礎來提供一可靠度計量集合;及自該可靠度計量集合存取用於該迭代機率性解碼中之該等可靠度計量。
- 如請求項12之方法,其中該提供該可靠度計量集合包含:以該複數個感測操作為基礎來判定一條件機率函數f1(u|X),其中u指示一經感測臨限電壓,且X表示該複數個程式化狀態中之一經程式化狀態;及以該複數個感測操作為基礎而針對每一程式化狀態來判定一機率函數f2(v),其中v指示一經感測臨限電壓自無讀取雜訊之一臨限電壓的一偏差。
- 一種非揮發性儲存系統,其包含:一非揮發性儲存元件集合;及與該非揮發性儲存元件集合通信之一或多個控制電路,該一或多個控制電路:對至少一非揮發性儲存元件執行多重感測操作,該等多重感測操作包括一第一感測操作及至少一後續感測操作;利用迭代機率性解碼來判定該至少一非揮發性儲存元件之一程式化狀態,該迭代機率性解碼利用以該等多重感測操作為基礎之可靠度計量,其中該迭代機率性解碼最初利用以該第一感測操作而非該至少一後續感測操作為基礎之第一可靠度計量來迭代;調整該等第一可靠度計量以在該迭代機率性解碼迭代時獲得經調整可靠度計量;及以該至少一後續感測 操作為基礎,在該迭代機率性解碼進一步迭代時,調整該等經調整可靠度計量。
- 如請求項14之非揮發性儲存系統,其中:該迭代機率性解碼試圖滿足一錯誤校正碼之同位檢查;且該錯誤校正碼包含一低密度同位檢查碼,該低密度同位檢查碼被施加於包括該至少一非揮發性儲存元件之該非揮發性儲存元件集合之上。
- 如請求項14之非揮發性儲存系統,其中:當該至少一後續感測操作之一經感測程式化狀態與該第一感測操作之一經感測程式化狀態一致時,該等經調整可靠度計量被調整以指示一較高可靠度;且當該至少一後續感測操作之一經感測程式化狀態與該第一感測操作之一經感測程式化狀態不一致時,該等經調整可靠度計量被調整以指示一較低可靠度。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US69367207A | 2007-03-29 | 2007-03-29 | |
| US11/693,649 US7904793B2 (en) | 2007-03-29 | 2007-03-29 | Method for decoding data in non-volatile storage using reliability metrics based on multiple reads |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW200905688A TW200905688A (en) | 2009-02-01 |
| TWI397076B true TWI397076B (zh) | 2013-05-21 |
Family
ID=39522384
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW97110831A TWI397076B (zh) | 2007-03-29 | 2008-03-26 | 非揮發性儲存器中利用以多重讀取為基礎之可靠度計量的解碼資料方法及系統 |
Country Status (2)
| Country | Link |
|---|---|
| TW (1) | TWI397076B (zh) |
| WO (1) | WO2008121553A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI717171B (zh) * | 2019-12-26 | 2021-01-21 | 大陸商深圳大心電子科技有限公司 | 資料讀取方法、儲存控制器與儲存裝置 |
Families Citing this family (84)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8621137B2 (en) | 2007-12-27 | 2013-12-31 | Sandisk Enterprise Ip Llc | Metadata rebuild in a flash memory controller following a loss of power |
| US8429468B2 (en) | 2010-01-27 | 2013-04-23 | Sandisk Technologies Inc. | System and method to correct data errors using a stored count of bit values |
| US8365041B2 (en) | 2010-03-17 | 2013-01-29 | Sandisk Enterprise Ip Llc | MLC self-raid flash data protection scheme |
| TWI455132B (zh) * | 2010-06-23 | 2014-10-01 | Phison Electronics Corp | 資料讀取方法、控制電路與記憶體控制器 |
| US9009574B2 (en) * | 2011-06-07 | 2015-04-14 | Marvell World Trade Ltd. | Identification and mitigation of hard errors in memory systems |
| US8910020B2 (en) | 2011-06-19 | 2014-12-09 | Sandisk Enterprise Ip Llc | Intelligent bit recovery for flash memory |
| US8909982B2 (en) | 2011-06-19 | 2014-12-09 | Sandisk Enterprise Ip Llc | System and method for detecting copyback programming problems |
| US8793543B2 (en) | 2011-11-07 | 2014-07-29 | Sandisk Enterprise Ip Llc | Adaptive read comparison signal generation for memory systems |
| US8954822B2 (en) | 2011-11-18 | 2015-02-10 | Sandisk Enterprise Ip Llc | Data encoder and decoder using memory-specific parity-check matrix |
| US8924815B2 (en) | 2011-11-18 | 2014-12-30 | Sandisk Enterprise Ip Llc | Systems, methods and devices for decoding codewords having multiple parity segments |
| US9048876B2 (en) | 2011-11-18 | 2015-06-02 | Sandisk Enterprise Ip Llc | Systems, methods and devices for multi-tiered error correction |
| DE112012006014B4 (de) * | 2012-03-12 | 2020-02-13 | Intel Corporation | Verteilte Codewortteile |
| CN104205235B (zh) * | 2012-03-29 | 2017-08-08 | 英特尔公司 | 用于处理从非易失性存储器阵列检索的状态置信度数据的方法和设备 |
| US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
| US9501398B2 (en) | 2012-12-26 | 2016-11-22 | Sandisk Technologies Llc | Persistent storage device with NVRAM for staging writes |
| US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
| US9239751B1 (en) | 2012-12-27 | 2016-01-19 | Sandisk Enterprise Ip Llc | Compressing data from multiple reads for error control management in memory systems |
| US9003264B1 (en) | 2012-12-31 | 2015-04-07 | Sandisk Enterprise Ip Llc | Systems, methods, and devices for multi-dimensional flash RAID data protection |
| US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
| US9214965B2 (en) | 2013-02-20 | 2015-12-15 | Sandisk Enterprise Ip Llc | Method and system for improving data integrity in non-volatile storage |
| US9329928B2 (en) | 2013-02-20 | 2016-05-03 | Sandisk Enterprise IP LLC. | Bandwidth optimization in a non-volatile memory system |
| US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
| US9236886B1 (en) | 2013-03-15 | 2016-01-12 | Sandisk Enterprise Ip Llc | Universal and reconfigurable QC-LDPC encoder |
| US9136877B1 (en) | 2013-03-15 | 2015-09-15 | Sandisk Enterprise Ip Llc | Syndrome layered decoding for LDPC codes |
| US9367246B2 (en) | 2013-03-15 | 2016-06-14 | Sandisk Technologies Inc. | Performance optimization of data transfer for soft information generation |
| US9092350B1 (en) | 2013-03-15 | 2015-07-28 | Sandisk Enterprise Ip Llc | Detection and handling of unbalanced errors in interleaved codewords |
| US9244763B1 (en) | 2013-03-15 | 2016-01-26 | Sandisk Enterprise Ip Llc | System and method for updating a reading threshold voltage based on symbol transition information |
| US9009576B1 (en) | 2013-03-15 | 2015-04-14 | Sandisk Enterprise Ip Llc | Adaptive LLR based on syndrome weight |
| US10049037B2 (en) | 2013-04-05 | 2018-08-14 | Sandisk Enterprise Ip Llc | Data management in a storage system |
| US9170941B2 (en) | 2013-04-05 | 2015-10-27 | Sandisk Enterprises IP LLC | Data hardening in a storage system |
| US9159437B2 (en) | 2013-06-11 | 2015-10-13 | Sandisk Enterprise IP LLC. | Device and method for resolving an LM flag issue |
| US9384126B1 (en) | 2013-07-25 | 2016-07-05 | Sandisk Technologies Inc. | Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems |
| US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
| US9043517B1 (en) | 2013-07-25 | 2015-05-26 | Sandisk Enterprise Ip Llc | Multipass programming in buffers implemented in non-volatile data storage systems |
| US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
| US9361221B1 (en) | 2013-08-26 | 2016-06-07 | Sandisk Technologies Inc. | Write amplification reduction through reliable writes during garbage collection |
| US9442670B2 (en) | 2013-09-03 | 2016-09-13 | Sandisk Technologies Llc | Method and system for rebalancing data stored in flash memory devices |
| US9519577B2 (en) | 2013-09-03 | 2016-12-13 | Sandisk Technologies Llc | Method and system for migrating data between flash memory devices |
| US9158349B2 (en) | 2013-10-04 | 2015-10-13 | Sandisk Enterprise Ip Llc | System and method for heat dissipation |
| US9323637B2 (en) | 2013-10-07 | 2016-04-26 | Sandisk Enterprise Ip Llc | Power sequencing and data hardening architecture |
| US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
| US9298608B2 (en) | 2013-10-18 | 2016-03-29 | Sandisk Enterprise Ip Llc | Biasing for wear leveling in storage systems |
| US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
| US9263156B2 (en) | 2013-11-07 | 2016-02-16 | Sandisk Enterprise Ip Llc | System and method for adjusting trip points within a storage device |
| US9244785B2 (en) | 2013-11-13 | 2016-01-26 | Sandisk Enterprise Ip Llc | Simulated power failure and data hardening |
| US9152555B2 (en) | 2013-11-15 | 2015-10-06 | Sandisk Enterprise IP LLC. | Data management with modular erase in a data storage system |
| US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
| US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
| US9280429B2 (en) | 2013-11-27 | 2016-03-08 | Sandisk Enterprise Ip Llc | Power fail latching based on monitoring multiple power supply voltages in a storage device |
| US9122636B2 (en) | 2013-11-27 | 2015-09-01 | Sandisk Enterprise Ip Llc | Hard power fail architecture |
| US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
| GB2520708A (en) | 2013-11-28 | 2015-06-03 | Ibm | Multi-stage codeword detector |
| US9250676B2 (en) | 2013-11-29 | 2016-02-02 | Sandisk Enterprise Ip Llc | Power failure architecture and verification |
| US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
| US9092370B2 (en) | 2013-12-03 | 2015-07-28 | Sandisk Enterprise Ip Llc | Power failure tolerant cryptographic erase |
| US9235245B2 (en) | 2013-12-04 | 2016-01-12 | Sandisk Enterprise Ip Llc | Startup performance and power isolation |
| US9129665B2 (en) | 2013-12-17 | 2015-09-08 | Sandisk Enterprise Ip Llc | Dynamic brownout adjustment in a storage device |
| US9549457B2 (en) | 2014-02-12 | 2017-01-17 | Sandisk Technologies Llc | System and method for redirecting airflow across an electronic assembly |
| US9497889B2 (en) | 2014-02-27 | 2016-11-15 | Sandisk Technologies Llc | Heat dissipation for substrate assemblies |
| US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
| US9348377B2 (en) | 2014-03-14 | 2016-05-24 | Sandisk Enterprise Ip Llc | Thermal isolation techniques |
| US9519319B2 (en) | 2014-03-14 | 2016-12-13 | Sandisk Technologies Llc | Self-supporting thermal tube structure for electronic assemblies |
| US9485851B2 (en) | 2014-03-14 | 2016-11-01 | Sandisk Technologies Llc | Thermal tube assembly structures |
| US9390814B2 (en) | 2014-03-19 | 2016-07-12 | Sandisk Technologies Llc | Fault detection and prediction for data storage elements |
| US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
| US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
| US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
| US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
| US9390021B2 (en) | 2014-03-31 | 2016-07-12 | Sandisk Technologies Llc | Efficient cache utilization in a tiered data structure |
| US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
| US9645749B2 (en) | 2014-05-30 | 2017-05-09 | Sandisk Technologies Llc | Method and system for recharacterizing the storage density of a memory device or a portion thereof |
| US8891303B1 (en) | 2014-05-30 | 2014-11-18 | Sandisk Technologies Inc. | Method and system for dynamic word line based configuration of a three-dimensional memory device |
| US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
| US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
| US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
| US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
| US9070481B1 (en) | 2014-05-30 | 2015-06-30 | Sandisk Technologies Inc. | Internal current measurement for age measurements |
| US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
| US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
| US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
| US9093160B1 (en) | 2014-05-30 | 2015-07-28 | Sandisk Technologies Inc. | Methods and systems for staggered memory operations |
| US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
| US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
| US10908996B2 (en) | 2019-02-22 | 2021-02-02 | Intel Corporation | Distribution of a codeword across individual storage units to reduce the bit error rate |
Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6456528B1 (en) * | 2001-09-17 | 2002-09-24 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
| 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 |
| US20030112901A1 (en) * | 2001-11-29 | 2003-06-19 | Gupta Alok Kumar | Method and apparatus for determining the log-likelihood ratio with precoding |
| US20040005865A1 (en) * | 2002-07-03 | 2004-01-08 | Mustafa Eroz | Method and system for decoding low density parity check (LDPC) codes |
| WO2004112040A2 (en) * | 2003-06-17 | 2004-12-23 | M-Systems Flash Disk Pioneers Ltd. | Methods of increasing the reliability of a flash memory |
| US6999366B2 (en) * | 2003-12-03 | 2006-02-14 | Hewlett-Packard Development Company, Lp. | Magnetic memory including a sense result category between logic states |
| US7012835B2 (en) * | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
| US7046568B2 (en) * | 2002-09-24 | 2006-05-16 | Sandisk Corporation | Memory sensing circuit and method for low voltage operation |
| US20060158947A1 (en) * | 2002-09-24 | 2006-07-20 | Chan Siu L | Reference sense amplifier for non-volatile memory |
| US7196928B2 (en) * | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6279133B1 (en) * | 1997-12-31 | 2001-08-21 | Kawasaki Steel Corporation | Method and apparatus for significantly improving the reliability of multilevel memory architecture |
| JP2001266498A (ja) * | 2000-03-23 | 2001-09-28 | Sony Corp | データ再生装置及びデータ再生方法、並びに、データ記録再生装置及びデータ記録再生方法 |
| TWI353521B (en) * | 2006-09-28 | 2011-12-01 | Sandisk Corp | Soft-input soft-output decoder for nonvolatile mem |
-
2008
- 2008-03-18 WO PCT/US2008/057380 patent/WO2008121553A1/en not_active Ceased
- 2008-03-26 TW TW97110831A patent/TWI397076B/zh not_active IP Right Cessation
Patent Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
| US6456528B1 (en) * | 2001-09-17 | 2002-09-24 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
| US20030112901A1 (en) * | 2001-11-29 | 2003-06-19 | Gupta Alok Kumar | Method and apparatus for determining the log-likelihood ratio with precoding |
| US20040005865A1 (en) * | 2002-07-03 | 2004-01-08 | Mustafa Eroz | Method and system for decoding low density parity check (LDPC) codes |
| US7046568B2 (en) * | 2002-09-24 | 2006-05-16 | Sandisk Corporation | Memory sensing circuit and method for low voltage operation |
| US20060158947A1 (en) * | 2002-09-24 | 2006-07-20 | Chan Siu L | Reference sense amplifier for non-volatile memory |
| WO2004112040A2 (en) * | 2003-06-17 | 2004-12-23 | M-Systems Flash Disk Pioneers Ltd. | Methods of increasing the reliability of a flash memory |
| US7012835B2 (en) * | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
| US6999366B2 (en) * | 2003-12-03 | 2006-02-14 | Hewlett-Packard Development Company, Lp. | Magnetic memory including a sense result category between logic states |
| US7196928B2 (en) * | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI717171B (zh) * | 2019-12-26 | 2021-01-21 | 大陸商深圳大心電子科技有限公司 | 資料讀取方法、儲存控制器與儲存裝置 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2008121553A1 (en) | 2008-10-09 |
| TW200905688A (en) | 2009-02-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI397076B (zh) | 非揮發性儲存器中利用以多重讀取為基礎之可靠度計量的解碼資料方法及系統 | |
| US7904793B2 (en) | Method for decoding data in non-volatile storage using reliability metrics based on multiple reads | |
| US7797480B2 (en) | Method for reading non-volatile storage using pre-conditioning waveforms and modified reliability metrics | |
| CN102893337B (zh) | 具有基于邻近存储元件的状态信息的温度补偿的非易失性存储装置 | |
| US7975209B2 (en) | Non-volatile memory with guided simulated annealing error correction control | |
| US7971127B2 (en) | Guided simulated annealing in non-volatile memory error correction control | |
| TWI494933B (zh) | 藉由偵測自然臨限電壓分佈以預測記憶體中之程式干擾 | |
| US7966550B2 (en) | Soft bit data transmission for error correction control in non-volatile memory | |
| CN104126205B (zh) | 用于减轻同时多状态感测引起的变化的存储器及其方法 | |
| TWI391940B (zh) | 具有錯誤修正控制之軟位元資料傳輸之非揮發性記憶體系統及其讀取方法 | |
| CN103765519A (zh) | 用于非易失性存储的读取通过电压的智能移位 | |
| CN101589437B (zh) | 用于验证编程的分段位扫描 | |
| JP2011522351A (ja) | 不揮発性記憶装置の消去確認処理 | |
| WO2014120943A1 (en) | Adaptive initial program voltage for non-volatile memory |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |