国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      使用多個門限讀取存儲單元的方法

      文檔序號:6781315閱讀:263來源:國知局

      專利名稱::使用多個門限讀取存儲單元的方法使用多個門限讀取存儲單元的方法相關申請的交叉引用本申請要求下列專利申請的權益2006年10月30日提交的美國臨時專利申請60/863,506、2006年11月28日提交的美國臨時專利申請60/867,399、2007年2月8日提交的美國臨時專利申請60/888,828、2007年2月11日提交的美國臨時專利申請60/889,277、2007年3月4日提交的美國臨時專利申請60/892,869、2007年3月13日提交的美國臨時專利申請60/894,456、2007年5月12曰提交的美國臨時專利申請60/917,653、2007年7月20日提交的美國臨時專利申請60/950,884和2007年7月22日提交的美國臨時專利申請60/951,215,各項專利申請的公開內容在此以援引的方式納入本說明書。發(fā)明領域本發(fā)明總體涉及存儲器件,具體涉及從一些存儲單元中讀取數據的方法和系統(tǒng)。
      背景技術
      :幾種類型的存儲器件,如閃速存儲器,使用模擬存儲單元陣列存儲數據。每個模擬存儲單元存儲一個模擬值的量(如電荷或電壓),如電荷或電壓,它們代表存儲在單元中的信息。例如,在閃速存儲器中,每個模擬存儲單元存放一定量的電荷。可能的模擬值的范圍通常被分成多個區(qū),每個區(qū)對應一個或多個數據比特值。通過寫入一個對應于所需比特的標稱模擬值而將數據寫入模擬存儲單元??杀淮鎯υ谀M存儲單元中的可能比特值也稱為該單元的存儲狀態(tài)。一些通常也被稱為單層單元(SLC)器件的存儲器件,在每個存儲單元中存儲l比特信息,即存儲單元均可被編程以承擔兩種可能的存儲狀態(tài)。通常被稱為多層單元(MLC)器件的更高密度的器件,在每個存儲單元中存儲兩個或多個比特信息,即可被編程以承擔兩種以上可能的存儲狀態(tài)。閃速存儲器,例如如2003年4月在proceedingsofthe(volume91,number4)第489-502頁由Bez等人發(fā)表的"IntroductiontoFlashMemory,,中所述,該文獻在此處以援引方式全部納入本文。例如,在紐約州紐約市舉辦的1996年的國際電子器件大會(IEDM)的學報.(Proceedingofthe1996IEEEInternationalElectronDevicesMeeting)的第169-172頁上由Eitan等人發(fā)表的"MultilevelFlashCellsandtheirTrade-Offs,,,描述了多層閃速存儲單元和器件,該文獻在此以援引方式全部納入本文。該文對比了幾類多層閃速存儲單元,如共地型、DINOR、AND、NOR和NAND存儲單元。在1999年9月21日-24日在日本東京舉辦的固態(tài)器件與材料國際會議(SSDM)的學報的(Proceedingsofthe1999InternationalConferenceonSolidStateDevicesandMaterials)第522-524頁上由Eitan等人發(fā)表的"CanNROM,a2-bit,TrappingStorageNVMCell,GiveaRealChallengetoFloatingGateCells,,描述了另一種模擬存儲設備,稱為氮化物只讀存儲器(NROM),該文獻在此以援引方式全部納入本文。在2002年2月3日~7日在美國加州舊金山市舉辦的IEEE國際固體電路技術會議(ISSCC2002)的學報(Proceedingsofthe2002IEEEInternationalSolid-StateCircuitsConference)^/帛100-101$由Maayan等人發(fā)表的"A512MbNROMFlashDataStorageMemorywith8MB/sDataRate"中,描述了NROM單元,其在此處以援引方式全部納入本文。模擬存儲單元的其它范例類型有浮置柵極(FG)單元,鐵電RAM(FRAM)單元,磁RAM(MRAM)單元,電荷捕獲閃速存儲(CTF)和相變RAM(PRAM,也稱為相變存儲器-PCM)單元。例如,在2004年5月16~19日在塞爾維亞和黑山(SerbiaandMontenegro)的Nis舉辦的第24屆微電子國際學會(MIEL)(Proceedingsofthe24thinternationalConferenceonMicroelectronics)的學才艮第一巻的第377-484頁上由Kim和Koh發(fā)表的"FutureMemoryTechnologyincludingEmergingNewMemories,,中,描述了FRAM、MRAM和PRAM單元,其在此處以援引方式全部納入本文。從模擬存儲單元讀出的模擬值有時失真。失真可能有多種原因,如來自相鄰存儲單元的電場耦合、陣列中其它存儲單元的訪問操作產生的擾動噪聲,以及器件老化引起的門限電壓漂移。一些常見的失真8機理,在如上文所引Bez等人的文中描述。在2002年5月的IEEE電子器件快報(IEEEElectronDeviceLetters)(23:5)第264-266頁上發(fā)表的"EffectsofFloatingGateInterferenceonNANDFlashMemoryCellOperation"中,Lee等人還描述了失真效應,其在此處以援引方式全部納入本文。從模擬存儲單元讀取數據常包括把存儲在單元中的模擬值與一個或多個門限或參考電平進行對比。已知本
      技術領域
      幾種確定適當門限值的方法。例如U.S.Patent5,657,332描述了從固態(tài)存儲系統(tǒng)中的硬錯誤得以恢復的方法,該專利的公開內容在此以引用的方式納入本說明書。硬錯誤可能產生于其門限電壓從其預期電平漂移而引起讀取錯誤的單元處發(fā)生。存儲系統(tǒng)包括存儲單元陣列,每個單元都能讓其門限電壓被編程或擦除到預期電平。對眾多單元組中的每一個都提供檢錯方案,用于識別其中的讀取錯誤。在每一次對包含讀取錯誤的個別單元組進行讀取操作之前,調整讀取參考電平,每一次該讀取參考電平都從正常讀取的參考電平偏置一個預定步長,直至錯誤檢查裝置不再指示讀取錯誤。各存儲單元的與讀取錯誤關聯(lián)的漂移門限電壓被重新寫為其預期電平。U.S.Patent7,023,735描述了讀取閃速存儲單元的方法,其不僅比較閃速存儲單元的門限電壓和整體參考電壓,還比較門限電壓和部分參考電壓,該專利公開的內容在此以引用的方式納入本說明書。美國專利申請/^開2007/0091677,描述了從一個或多個閃速存儲單元中讀取數據和從讀取錯誤中恢復的方法、器件和計算機可讀碼,該申請乂>開的內容在此以引用的方式納入本說明書。一些實施方案中,錯誤檢查和校正模塊糾錯失敗時,就使用一個或多個修正參考電壓對閃速存儲單元重新讀取至少一次,直到能夠實施成功糾錯。一些實施方案中,成功糾錯后,即處理后續(xù)的讀請求,而期間不用將數據重新寫入到閃速存儲單元。U.S.Patent6,963,505描述了確定參考電壓的方法、電路和系統(tǒng),該專利公開的內容在此以引用的方式納入本說明書。在一些實施方案中,建立了一組操作參考單元用于對非易失性存儲(NVM)塊或陣列中的單元的操作中。NVM塊或陣列中的至少一個單元子組可以4吏用兩組或多組測試參考單元中的每一組來讀取,其中每一組測試參考單元可以產生或提供至少稍微偏離于每一個其它測試參考單元組的參考電壓。對于用于讀取NVM塊的至少一個子組的每一組測試參考單元,可以計算或者確定讀誤差率??梢赃x擇與相對低的讀取誤差率相關的一組測試參考單元作為用于操作NVM塊或陣列中的所述單元子組之外的其它單元的操作參考單元組。U.S.Patent7,196,928和美國專利申請^>開2006/0221692,2007/0103986,2007/0109845及2007/0109849中描述了幾種讀存儲單元的方法,其中考慮了相鄰的存儲單元的編程狀態(tài),各專利申請公開的內容在此以引用的方式納入本說明書。在從存儲單元中讀取數據時,一些已知的方法使用與所存儲數據的品質相關的信息。例如U.S.Patent6,751,766描述了幾種方法用于估計存儲系統(tǒng)中存儲的數據的品質,并根據估計的品質操作存儲系統(tǒng),該專利公開的內容在此以引用的方式納入本說明書。數據品質有時在讀取操作過程中被加以估計。隨后通過使用糾錯碼(ECC),可以利用品質指示更加有效地檢查和重構數據。或者,可以構造數據品質統(tǒng)計量,以及可以以一種修正方式關聯(lián)數字化數據值,以防止數據損壞。
      發(fā)明內容本發(fā)明的實施方案提供了一種操作存儲器的方法,包括通過將選自標稱值集的各個模擬輸入值寫入存儲器的模擬存儲單元,把數據存儲在存儲器的模擬存儲單元中,所述數據以糾錯碼(ECC)編碼;通過執(zhí)行多次讀取操作讀取存儲的數據,所述讀取操作將所述模擬存儲單元的模擬輸出值和各個不同的讀取門限相比較,從而為每個模擬存儲單元生成多個比較結果,其中,至少有兩個讀取門限被置于標稱值集內的一對彼此相鄰的標稱值之間;根據多個比較結果計算軟度量;和使用軟度量解碼ECC,從而提取被存儲在模擬存儲單元中的數據。在一些實施方案中,每個模擬存儲單元存儲該數據的一個或多個比特,并且每個軟度量對應于其中的一個比特。在一個實施方案中,至少一些模擬存儲單元中的每個模擬存儲單元存儲該數據的兩個或多個比特,其中讀取數據包括,對于所述至少一些模擬存儲單元中的每個模擬存儲單元,分別在兩個或多個解碼階段,讀取兩個或多個數據比特,且其中計算軟度量包括,根據在先于第一解碼階段的第二解碼階段讀取的第二比特值,修改在第一解碼階段讀取的第一比特的軟度量。修改軟度量可包括根據第二比特的值對第一比特的軟度量進行條件反轉。在另一實施方案中,該方法包括進行一次初始嘗試使用初始讀取門限集解碼ECC,使初始集中不超過一個讀取門限被置于每對彼此相鄰的標稱值之間,一旦初始嘗試失敗,將模擬輸出值和多個讀取門限進行比較。在又一實施方案中,每個比較結果都具有第一和第二可能值中的一個,并且其中計算軟度量包括確定分別具有第一和第二可能值的比較結果所對應的第一和第二計數,以及根據所述第一和第二計數計算軟度量。在又一實施方案中,所述方法還包括一旦解碼ECC失敗,增添一個或多個另加的讀取門限到所述多個讀取門限,根據另加的讀取門限重新計算軟度量,并使用重新計算的軟度量解碼ECC。增添另加的門限包括漸進地增加多個讀取門限直至滿足預定的條件。在一公開的實施方案中,從第一組模擬存儲單元中讀取數據進一步包括估計由第二組模擬存儲單元對第一組所造成的干擾和消除所估計的干擾。消除所估計的干擾包括根據所估計的干擾對第一組所關聯(lián)的軟度量進行修改。在一些實施方案中,該方法包括,一旦第一組內的ECC解碼失敗,選擇是否執(zhí)行下列之一重新讀取第二組中的數據,從而重新估計和消除干擾;通過讀取第三組存儲單元中的數據重新估計干擾;和增添一個或多個另加的讀取門限,-使用另加的讀取門限重新讀取第一組中的數據。在一個實施方案中,計算軟度量包括將軟度量標準化以使不依賴于讀取門限的數量。執(zhí)行多次讀取操作可包括設置以彼此不同的非均ii勻間隔間隔開的讀取門限。本發(fā)明另外還提供了一種數據存儲設備,包括一個接口,其可操作地與包含眾多模擬存儲單元的存儲器進行通信;和一個存儲器信號處理器(MSP)器件,其與該接口相連并被結合,用以通過將選自標稱值集的各個模擬輸入值寫入模擬存儲單元,把數據存儲在模擬存儲單元中,所述數據以糾錯碼(ECC)編碼;用以通過執(zhí)行多次讀取操作讀取所存儲的數據,所述讀取操作將所述模擬存儲單元的模擬輸出值和各個不同的讀取門限相比較,從而對每個模擬存儲單元生成多個比較結果,其中,至少有兩個讀取門限被置于標稱值集內的一對彼此相鄰的標稱值之間;用以根據多個比較結果計算軟度量;和使用軟度量解碼ECC,從而提取被存儲在模擬存儲單元中的數據。本發(fā)明的實施方案還提供了一種數據存儲設備,包括一個存儲器件,包括多個模擬存儲單元,其被配置以存儲數據,所述數據被以糾錯碼(ECC)編碼且作為選自標稱值集的各模擬輸入值而被寫入模擬存儲單元;以及讀取電路,該電路被結合以通過執(zhí)行多次讀取操作讀取所存儲的數據,所述讀取操作將所述模擬存儲單元的模擬輸出值和各個不同的讀取門限相比較,從而對每個模擬存儲單元生成多個比較結果,其中,至少有兩個讀取門限被置于標稱值集內的一對彼此相鄰的標稱值之間;用以根據多個比較結果計算軟度量;和使用軟度量解碼ECC,以及輸出計算出的軟度量;和一個存儲器信號處理器(MSP)器件,其連接到存儲器件并被結合用于接收讀取電路所計算出來的軟度量,以及使用軟度量解碼ECC。根據本發(fā)明的一個實施方案,還提供了一種操作存儲器的方法,包括通過將各模擬輸入值寫入存儲器的模擬存儲單元,把數據存儲在存儲器的模擬存儲單元中,所述數據以糾錯碼(ECC)編碼;通過執(zhí)行多次讀取操作讀取存儲的數據,所述讀取操作將所述模擬存儲單元的模擬輸出值和讀取門限集相比較,從而為每個模擬存儲單元生成多個比較結果;根據多個比較結果計算軟度量;和使用軟度量解碼ECC,從而提取被存儲在模擬存儲單元中的數據;以及一旦未能成功提取數據,通過增添一個或多個新的讀取門限到讀取門限集來擴展該集,根據擴展的讀取門限集,更新多個比較結果,重新計算軟軟度量,并重新解碼ECC,從而提取數據。在一個實施方案中,擴展讀取門限集包括根據模擬存儲單元的輸出模擬值選擇一個或多個新的讀取門限。選擇一個或多個新的讀取門限包括確定至少一個選自如下屬性組的屬性,所述屬性組由所述多個新的讀取門限和所述新的讀取門限的值組成。本發(fā)明將以其下列包含附圖的實施方案的詳細說明更加完全地被附圖簡要說明圖1示意性地示出了一種根據本發(fā)明一個實施方案的用于存儲器信號處理的系統(tǒng)的框圖;圖2是一根據本發(fā)明一個實施方案的存儲單元陣列的示意圖;圖3是根據本發(fā)明一個實施方案的單層單元(SLC)中的讀取門限的示意圖;圖4是根據本發(fā)明一個實施方案的多層單元(MLC)中的讀取門限的示意圖;圖5是根據本發(fā)明一個實施方案的從模擬存儲單元讀取數據的方法的流程示意圖;圖6是根據本發(fā)明一個實施方案的計算軟度量的方法的流程示意圖;圖7是根據本發(fā)明一個實施方案的計算軟度量的電路的示意框圖;圖8是根據本發(fā)明另一個實施方案的從模擬存儲單元讀取數據方法的流程示意圖;圖9是根據本發(fā)明又一個實施方案的從模擬存儲單元讀取數據的過程的示意圖;圖10是根據本發(fā)明再一個實施方案的從模擬存儲單元讀取數據的方法的流程示意圖;和圖11是根據本發(fā)明替代實施方案的存儲器信號處理系統(tǒng)的示意框圖;具體實施方式概述本發(fā)明實施方案提供改進的用于從模擬存儲單元,如閃速存儲單元中,讀取數據的方法和系統(tǒng)。在本文下述一些實施方案中,存儲器信號處理器(MSP)把以糾錯碼(ECC)編碼的數據存儲在模擬存儲單元陣列中。MSP通過把各自的模擬值寫入模擬存儲單元,來存儲經編碼的數據。模擬值選自一組標稱模擬值(nominalanalogvalue)集,這些標稱模擬值代表數據。MSP通過執(zhí)行多個讀取操作從模擬存儲單元中讀取數據,讀取操作將寫入存儲單元的模擬值與多個讀取門限進行比較。讀取門限被設定為至少有兩個讀取門限置于一對相鄰的標稱值之間。所述多個門限比較為每個模擬存儲單元生成多個比較結果。MSP根據多個比較結果計算軟度量。軟度量提供與讀取自存儲單元的值或存儲單元中的單個比特的值相關的可信度或確定度的量化測量。MSP使用軟度量對ECC解碼。在一些實施方案中,MSP以迭代方式增加讀取門限的個數,直至實現(xiàn)成功解碼。一些已知的讀取方法在任一給定時間使用單個門限以區(qū)分相鄰的存儲狀態(tài)。不同于這些已知方法,此處描述的方法和系統(tǒng)使用多個門限執(zhí)行多個讀取操作,所述多個門限位于相鄰存儲狀態(tài)間。通常,多個門限位于相鄰標稱值之間的邊界區(qū)域,以使多個比較結果傳遞和這些區(qū)域內的模擬值統(tǒng)計分布相關的有價值信息。從而,基于此信息的軟度量使ECC解碼過程中能夠糾正更多的讀取錯誤,并提供改進的整體錯誤概率。一些已知的讀取方法為了改善解碼性能而修改門限值。不同于這些已知方法,本發(fā)明所描述的方法和系統(tǒng)不修改門限值,而是增添新的門跟到已有集合中,通過提高軟度量的精確度來增進解碼性能。本發(fā)明公開的方法和系統(tǒng)實現(xiàn)的增強的解碼性能提高了數據存儲的可靠性、存儲密度和存儲器件的數據保持時間,使給定性能級別的存儲器件成本和復雜度降低。系統(tǒng)描述圖1示意性地示出了一種根據本發(fā)明一個實施方案的用于存儲器信號處理的系統(tǒng)20的框圖;系統(tǒng)20可用于各種主機系統(tǒng)和器件中,如計算器、移動電話或其它通訊終端、可移除式存儲模塊(U盤("disk-on-key")器件)、數碼相機、音樂及其它媒體播放器、和/或任何其它存儲與取出數據的系統(tǒng)或器件。.系統(tǒng)20包含一個存儲器件24,其將數據存儲在存儲單元陣列28中。存儲陣列包含多個模擬存儲單元32。在本發(fā)明專利申請的語境和權利要求中,術語"模擬存儲單元,,(analogmemorycell)用來描述任何保存一個物理參數的連續(xù)模擬值(如電壓或電荷)的存儲單元。陣列28可包含任何類型的模擬存儲單元,例如NAND、NOR和CTF型閃速存儲單元,PCM、NROM、FRAM、MRAM和DRAM單元。存儲在單元中的電荷電位,和/或單元中寫入與讀出的模擬電壓或電流,在本文中總稱為模擬值。通過對單元編程使承擔各自的存儲狀態(tài),系統(tǒng)20把數據存儲在模擬存儲單元中。存儲狀態(tài)選自一有限的可能狀態(tài)集,并且每個狀態(tài)對應一定的標稱模擬值。例如,通過把四種可能的標稱模擬值之一寫入該單元,2比特每單元的多層單元可,皮編程而承擔四種可能的存儲狀態(tài)之一。要存儲在存儲器件24中的數據被提供給該器件并緩存在數據緩沖器36中。然后借助于讀寫(R/W)單元40,該數據被轉化成模擬電壓并被寫入存儲單元32中,讀寫單元40的功能在下文具體說明。當從陣列28讀出數據時,讀寫單元40將電荷,并由此而將存儲單元32的^f莫擬電壓,轉換成具有1比特或多比特分辨率的數字采樣(sample)。采樣緩存在緩沖器36中。存儲器件24的操作和定時由控制邏輯單元48管理。15存儲器信號處理器(MSP)52執(zhí)行存儲器件24中的數據的存入和取出。存儲器信號處理器(MSP)52包含一個信號處理單元60,其處理寫入存儲器件24中的和從該存儲器件中讀出的數據。單元60使用糾錯碼(ECC)對要寫入存儲單元的數據進行編碼,對取出的數據進行ECC解碼。特別地,MSP52通過把讀取自存儲單元的值與多個讀取門限進行比較,從存儲單元32中讀出數據。單元60所使用的ECC解碼方案基于軟度量,軟度量是根據多個門限比較結果計算得到的。讀取數據和計算軟度量的范例方法在下文具體說明。許多已知的ECC解碼方案能接受已編碼比特或符號的軟度量作為輸入。例如,單元60可以采用分塊碼,如Bose-Chaudhuri-Hocquenghem(BCH)碼、低密度奇偶校驗(LDPC)碼或Reed-Solomon(RS)碼、格碼、turbo碼或其它任何適用的能運作在軟度量上的ECC和解碼方案。本文所描述的方法和系統(tǒng)不限于分塊碼,而是也能與巻積碼連用。MSP52包含數據緩沖器72,其被單元60用于存儲數據和與存儲器件24接口。MSP52也包含輸入/輸出(I/0)緩沖器56,其形成MSP與主機系統(tǒng)間的接口。控制器76管理MSP52的操作和定時。信號處理單元60和控制器76可以以硬件實現(xiàn)。或者,單元60和/或控制器76可包含運行適用軟件的微處理器,或者軟件和硬件要素的組合。圖1的配置為一種范例系統(tǒng)配置,其僅為概念清晰之用。也可采用任何其它適用的配置。為清楚起見,非理解本發(fā)明原理所必需的元件,如各種接口、尋址電路、定時和時序電路、以及調試電路,都從附圖中略去。在圖l所示示例性系統(tǒng)配置中,存儲器件24和MSP52以兩個獨立的集成電路(IC)實現(xiàn)。然而,在替代實施方案中,存儲器件和MSP可以集成在單個多芯片封裝(MCP)或系統(tǒng)級芯片(SoC)中的分離的半導體棵片(die)上。又或者,部分或全部MSP電路可駐留于存儲陣列28所在的同一棵片中。下文圖11描述了這種范例配置。又或者,MSP52的部分或全部功能以軟件實現(xiàn),并由主機系統(tǒng)的處理器或其它部件執(zhí)行。在一些實施方式中,單個MSP52可以連接到多個存儲器件24。系統(tǒng)20的某些實施方案的附加構造方面如前面引用的美國臨時專利申請60/867,399中所述。在通常的寫操作中,從主機接受要被寫入存儲器件24的數據,并將該數據緩存在I/O緩沖器56中。此數據,通過數據緩沖器72,傳送到存儲器件24。這些數據可在被傳送到存儲器件進行編程之前被MSP52預處理。例如,單元60可以使用ECC對數據編碼,可以增加供內部使用的某些數據,和/或可以使數據混雜(scramble)。在器件24中數據臨時存儲在緩沖器36中。讀寫(R/W)單元40將數據轉換為標稱模擬值并把這些標稱值寫入陣列28的適當單元32中。在通常的讀取操作中,讀/寫(R/W)單元40從適當的存儲單元32中讀出模擬值并將它們轉化為軟數字采樣。該采樣緩存在緩沖器36中并傳送給MSP52的緩沖器72。在一些實施方案中,MSP52的單元60將這些采樣轉換為數據比特。如前所述,可能的模擬值范圍分為兩個或多個區(qū),每個區(qū)代表一個或多個數據比特的一定組合。下文還將更具體說明,通過把這些存儲單元的模擬值與多個讀取門限集進行比較來讀取存儲單元。對每個單元,MSP根據多個比較結果計算出一個軟度量。軟度量被MSP在解碼ECC時使用。編碼數據通過輸入/輸出(I/0)緩沖器56傳送到主機系統(tǒng)。存儲陣列結構圖2是本發(fā)明一種實施方案的存儲單元陣列28的示意圖;盡管圖2涉及連接到特殊陣列配置中的閃速存儲單元,本發(fā)明的原理同樣適用于其它類型的存儲單元和其它陣列配置。一些范例單元類型和陣列配置如前文背景部分所引的文獻中所述。陣列28的存儲單元32被配置在具有多個行和多個列的柵格中。每個單元32包含一個浮置柵極金屬氧化物半導體(MOS)晶體管??梢酝ㄟ^給晶體管柵極、源極和漏極加適當電壓電平,把一定量的電荷(電子或空穴)存儲在一個特定單元中。存儲在單元中的值可以通過測量該單元的門限電壓讀出,門限電壓被限定為,為使晶體管導通而需要加載到晶體管柵極上的最小電壓。讀取門限電壓指示存儲在該單元中的電荷。在圖2的范例配置中,每行晶體管的柵極由字線(wordline)80連接。每列晶體管的源極由位線84連接。在一些實施方案中,如在一些NOR單元器件中,源極直接與位線相連。在替代實施方案中,如在一些NAND單元器件中,位線連接到浮置柵極單元串(string)。通常,讀寫(R/W)單元40通過加栽變化的電壓電平到一特定單元32的柵極(即加載到該單元連接其上的字線上)和檢查該單元的漏極電流是否超出一定門限(即晶體管是否導通)來讀取該特定單元的門限電壓。單元40常加栽一序列不同的電壓值到該單元連接至其上的字線上,并確定使漏極電流超出門限的最小柵極電壓值。通常,單元40同時讀一組單元,也稱為一頁。或者,讀/寫(R/W)單元可以使用其它任何技術或電路來對陣列28的存儲單元32進行讀取和向其中寫入值。存儲單元陣列通常分為多頁,即多個其中多個存儲單元被同時編程和讀取的組。在一些實施方案中,每頁包含陣列的一整行。在替代實施方案中,每行(字線)可分為兩頁或多頁。例如,在一些單層單元(SLC)器件中每行分為兩頁,一頁包含奇序單元,另一頁包含偶序單元。通常但不必需,一個2比特每單元存儲器件通常每行有四頁,3比特每單元存儲器件每行有六頁,4比特每單元存儲器件每行有八頁。這些單元的擦除通常在包含多個頁的塊中進行。通常的存儲器件可以包含幾千個擦除塊。在通常的2比特每單元MLC器件中,每個擦除塊具有32條字線的數量級,其包含幾千個單元。每條字線通常分為四頁(奇/偶序單元,單元的最低/最高有效位)?;蛘撸部刹捎闷渌鼔K尺寸和配置。3比特每單元器件通常每個擦除塊有192頁,4比特每單元器件通常每個塊有256頁。一些存儲器件包含兩個或多個獨立的存儲單元陣列(常稱為面(plane))。由于每個面在連續(xù)的寫操作之間有一個"忙碌"時段,為增進編程速度,可以交替地將數據寫入不同的面。存儲單元失真機理存儲在存儲單元32中的模擬值(如門限電壓)可能含有各種類型的失真,其由陣列28中不同的失真機理引起。例如,陣列中相鄰單元間的電交叉耦合可能改變一個特定單元的門限電壓。又例如,電荷可能隨時間從單元中泄漏。作為此老化效應的后果,單元的門限電壓可能隨時間從初始寫入值發(fā)生漂移。另一類的失真,通常稱為擾動噪聲,是由對陣列中某些單元的存儲訪問操作(例如讀,寫或擦除操作)引起的,所述對陣列中某些單元的存儲訪問操作導致其它單元中意外的電荷改變。另外一個例子,通過一種被稱為背景圖案相關(BackPatternDependency)(BPD)效應,一個特定單元的源極-漏極電流可能受相鄰單元的電荷的影響,例如受同一NAND單元串中的其它單元的電荷的影響。存儲單元32中的失真使存儲器件的性能退化,例如使在重構數據時的錯誤概率、可達到的存儲容量和/或可達到的數據保持時間方面。MLC器件中的性能下降尤其嚴重,在該MLC器件中,表示數據的不同電壓電平之間的差相對要小。使用多個門限讀取存儲單元本發(fā)明實施方案,通過使用多個讀取門限,提供了改進的用于從陣列28的模擬存儲單元32中讀取數據的方法和系統(tǒng)。此處所描述的方法對SLC器件(如下面圖3所示)和MLC器件(如下面圖4所示)都適用。圖3是示意性地示出了根據本發(fā)明一種實施方案的在單層單元(SLC)器件中的讀取門限的示意圖;圖中顯示一組(例如一頁)模擬存儲單元中的兩個門限電壓統(tǒng)計分布。對于一特定頁,該圖代表了存儲在該頁存儲單元中的門限電壓的分布圖。在圖3示例中,每個存儲單元可4皮編程至兩個可能標稱電平中的一個,即每個單元存儲單個數據比特。由于單元間的各種失真變化和各種損壞機理,從存儲單元中讀取的實際門限電壓可能相對標稱電平有統(tǒng)計上的變化。此示例中,曲線90A顯示被編程為存儲值"1"的單元的門限電壓分布。曲線90B顯示^皮編程為存儲值,,O,,的單元的門限電壓分布。如圖可見,曲線90A和90B有重疊。這即是說,存在一種這樣的可能性,被編程為某一比特值的存儲單元將被錯誤地解釋為被編程至其它比特值。用來區(qū)分'T'和"O"的讀取門限的位置對這一錯誤概率有相當的影響。在本發(fā)明一些實施方案中,MSP52通過組合在借助于多個讀取門限下獲得的信息來重構存儲在存儲單元中的數據,來減小錯誤概率。圖3顯示五個門限,標記為Tl到T5。在一些實施方案中,MSP52運用每一個門限去讀每個存儲單元。每個讀取操作產生一個比較結果,即產生一個該讀取門限電壓是大于還是小于操作中使用的門限的指示。在圖3的范例實施方案中,MSP應用門限T1…T5對每個存儲單元讀五次,以生成5個相應的比較結果。MSP可按任意適當順序遍歷這些不同的門限。例如,MSP可以從位于所需區(qū)域的中間位置的門限開始,并通過增添初始門限任一邊上的門限而逐漸由此點移開。下面進一步描述逐漸增加門限個數的示例性迭代方法。對于每一個正被讀取的存儲單元,MSP使用多個比較結果計算出一個軟度量。軟度量指示與從讀取自存儲單元的值相關聯(lián)的可信度或確定度量值。在一些實施方案中,軟度量指示了讀取值與某數據值相對應的可能性(例如,一個非常低的軟度量值可以指示讀取值與,T,相對應的高確定度,一個非常高的軟度量值指示讀取值可能代表"O",中間的度量值指示較低的可信度)。在其它實施方案中,度量值指示讀取值的可靠性,不指示特定比特值(例如,低度量值代表低可信度,高度量值代表高可信度)。在本發(fā)明專利申請語境和權利要求中,術語"軟度量"是指任何類型的傳遞了單個比特以上信息,即兩個以上可能值,的定量測量。例如,軟度量可包含一個用2比特或多比特表示的定點或浮點數值。另一種軟度量示例類型,有時被稱為"擦除,,,分配給每個存儲單元三個可能值——"0","1"或"不確定"中的一個。又或者,可以采用4壬4可其它適用形式的軟度量。注意,當每個單元存儲多個數據比特時,軟度量值可被計算出并分配給每一單個的比特。例如,在一個4層MLC中,為最低有效位(LSB)計算一個度量值,為最高有效位(MSB)計算另一個度量值。應用于SLC和MLC兩者的度量計算方法的具體示例將在下面進一步說明。MSP52可采用任何適用的、基于多個比較結果來計算軟度量值的方法。在一些實施方案中,MSP可以使用一種與比較結果的不同組合相關聯(lián)的度量值的表。例如,下表可與圖3中的五個門限的配置連用。<table>tableseeoriginaldocumentpage21</column></row><table>上表提供了32個軟度量值,記為M1...M32,其對應門限T1…T5的5個比較結果的32個可能組合。按照圖3的記法,比較結果"0"表示讀取值高于使用的門限,比較結果"l"表示讀取值低于此門限。通常,M1和M32指示高可信度,因為這些度量值對應的狀態(tài)為采用5個門限的讀取操作生成相同的比較結果。比較結果的其它組合將通常被分配以指示較低可信度的度量。一些比較結果集可能被認為不一致或自相矛盾。例如,假定T1<T2<T3<T4<T5,門限T1...T5生成的5個比較結果分別記為C1…C5。盡管T4〉T3,但是某存儲單元的結果集'1,1,1,0,1'卻指示模擬值大于T4小于T3,所以結果集不一致。這樣的結果集可能這樣引起的,例如當該單元在至少一次讀取操作中具有高的讀取噪聲時。另一方面,諸如'1,1,1,1,0',,l,l,l,O,O',或'1,0,0,0,0',的結果集是一致的。通過給不一致的比較結果集分配不同的軟度量值,MSP可以以不同的方式處理不一致的比較結果集。例如,MSP可以視不一致的結果集為不確定,并向ECC解碼過程標記它們?yōu)椴脸;蛘?,MSP可無^L或者另行嘗試解決一些不一致。例如,假定T3的比較結果"0"是由讀取噪聲引起時,MSP可以將,1,1,0,1,1,'類似地看做'1,1,1,1,1'集。作為使用表的替代,MSP52可估計一個基于多個比較結果的函數,并生成相應的軟度量值。例如,MSP可以估計每個存儲單元中單獨的比特的對數似然比(LogLikelihoodRatios)(LLRs),其定義為<formula>formulaseeoriginaldocumentpage22</formula>其中,JV7表示所討論的存儲單元中存儲的特定數據比特,r表示從該單元中讀取的模擬值。采用LLR作為提供給ECC解碼過程的度量,如2007年5月10日提交的PCT專利申請PCT/IL2007/000580,名為"CombinedDistortionEstimationandErrorCorrectionCodingForMemoryDevices"的文中所述,其公開的內容在此以引用的方式納入本說明。為計算LLR,MSP可為每個存儲單元保留兩個值(l)被發(fā)現(xiàn)為低于單元的模擬值的最大讀取門限,記為Va,(2)被發(fā)現(xiàn)為高于單元的模擬值的最小讀取門限,記為Vb。單元的LLR可近似表示為<formula>formulaseeoriginaldocumentpage22</formula>其中,T1表示'T'為其數據比特的最接近的分布的中心模擬值,TO表示以"O"為其數據比特的最接近的分布的中心值。r的分布假定為方差是cr2的高斯分布。隨著存儲單元在增加的讀取門限個數下^皮讀取,MSP更新k和k。在每一階段,單元的實際模擬值已知在區(qū)間[Va,Vbl中。隨著門限個數的增加,區(qū)間縮小,不確定性變小,估計的LLR變得更精確。又或者,MSP52可采用任何其他適用的基于多個比較結果而計算軟度量值的方法或才幾制。解碼ECC時MSP使用軟度量。在通常應用中,存儲在一組存儲單元(例如一個存儲頁)中的數據,形成單個碼字。在對某一個ECC碼字解碼時,MSP的信號處理單元60使用該組存儲單元的軟度量值。結果,被認為具有高可信度級別的存儲單元在ECC解碼過程中被賦予更高權值,亦或反之。圖4是根據本發(fā)明一種實施方案在多層單元(MLC)器件中的讀取門限的示意圖;在圖4的示例中,每個存儲單元可被編程至四個可能標稱電平中的一個,因此每個單元存儲2比特數據。曲線94凡..940分別顯示被編程至存儲"ll","01","00"和"10"數據的存儲單元的門限電壓分布。在本例中,MSP52使用5個門限集去讀存儲單元。每個門限集包含三個門限,其通常位于各對相鄰分布曲線間的三個邊界區(qū)域內。門限集列表如下<table>tableseeoriginaldocumentpage23</column></row><table>在一些實施方案中,MSP524吏用15個門限的每一個去讀取單元的門限電壓,并基于15個比較結果計算出軟度量。MSP可采用任何類型的軟度量和任何基于多個比較結果的計算度量值的方法。如上所述,MSP使用軟度量作為對ECC解碼過程的輸入。在替代實施方案中,在兩個階段中讀取存儲單元,對應于單元中存儲的兩個比特。例如,在圖4的配置中,讀/寫(R/W)單元使用五個門限T21、T22、T23、T24和T25,即曲線94B和94C之間的位于電壓軸中部的門限,執(zhí)行第一組比較。MSP根據使用這5個門限獲得的5個比較結果計算出第一個軟度量。注意到位于門限T21…T25之上的兩個標稱電平都有一個最低有效位值"O",位于門限T21…T25之下的兩個標稱電平都有一個最低有效位值"l"。因此,第一軟度量對應于最低有效位(LSB)。一旦LSB解碼,讀/寫(R/W)單元立即執(zhí)行第二組比較。在第二階段,讀/寫(R/W)單元根據LSB的解碼值,使用門限T11…T15或T31...T35。如果LSB被確定為"1",即讀取值被確定為位于電壓范圍的較低部分,在第二階段中將使用門限T11…T15對MSB解碼。如果LSB被解碼為"0",就使用門限T31...T35對MSB解碼。MSP根據第二比較階段獲得的5個比較結果計算第二個度量,其對應最高有效位MSB。類似的多階段比較過程可在存儲更高比特數目的多層單元中執(zhí)行。例如,在8層(3比特每單元)單元中,MSP和讀寫(R/W)單元可能執(zhí)行三步比較法來解碼每個比特。除第一階段外,每階段中門限的選用通常都取決于之前比特的解碼值。在替代的多階段讀取方法中,每個比特的讀取都不依賴于其他比特。例如,參考圖4,可使用門限T21...T25讀LSB。MSB的讀取是通過隨后使用門限T11…T15和T31...T35來讀取該單元。如果比較結果指示模擬值介于T11...T15和T31...T35之間,則確定該比特為"0"。另一方面,如果比較結果指示模擬值大于131...135或小于T11...T15,則確定該比特為'T'。在本例中,關于門限121...125的比較結果,其用于讀取LSB,但不用于讀取MSB。類似的過程可用于其它類型MLC,如每單元存儲3比特的8層單元。圖3和圖4所示的門限配置為示例配置,僅出于概念的明晰目的而選擇了它們。在替代實施方案中,系統(tǒng)20可以采用任意所需數目的標稱電平、任意其他從比特值到標稱電平的映射方式、以及任意所需數目的門限集。盡管圖3和圖4顯示了以恒定增量間隔開的門限,此處所描述的方法和系統(tǒng)也可用于不均勻間隔的門限。在多層單元(MLC)器件中,電壓區(qū)與電壓區(qū)之間的門限間隔可以變4匕。例如,圖4中,門限T11…T15的間隔可能不同于門限T21.,.T25。也可使用不同的門限間隔,例如當不同的模擬值分布具有不同的形狀或其彼此間的間隔不同時。MSP可改變門限間隔,或者選取要使用的門限,例如根據對模擬值分布的估計。圖5是示意性示出根據本發(fā)明一個實施方案的用于從模擬存儲單元32讀取數據的方法的流程圖;對某一個存儲單元,本方法始于系統(tǒng)20在讀取步驟100使用多個門限分別執(zhí)行多個讀取操作。多個讀取操作生成各自的多個比較結果,即生成多個關于該單元的門限電壓是小于還是大于這些不同門限的指示。在度量計算步驟104,MSP52根據多個比較結果計算出該存儲單元的一個軟度量。MSP通常對一組存儲單元重復上述步驟100和104的過程,這一組存儲單元的數據形成單個ECC碼字。在通常操作中,讀/寫(R/W)單元40使用特定門限值對存儲器件的一整頁單元同時讀取。一旦這些存儲某個碼字的單元的軟度量計算出來,MSP就在解碼步驟108使用這些度量解碼該碼字。MSP在數據提取步驟112提取解碼數據。解碼數據通常被輸出給主機系統(tǒng)。本發(fā)明描述的多門限讀取方法也可視為一種有效的在使用較少的讀取操作次數下獲取精確的關于所存儲的模擬值的信息的方法。理論上,如過存儲在存儲單元中的確切的模擬值已為MSP所知,(例如,釆用高分辨率模-數轉換),則該信息可用來提取關于所存儲的數據的概率測量。然而,諸如閃速存儲器的模擬存儲器件的基本讀取操作通常包含比較操作,其把存儲在單元中的模擬值與單個門限進行比較。為了以給定分辨率獲得模擬值,可對整個可能的電壓范圍以所需的分辨率搜索或掃描。例如,如果可能模擬值的范圍是0-4V,所需的分辨率是10mV,則將需要400次讀取操作。然而,實際中,很多有用的統(tǒng)計信息可通過執(zhí)行次數少得多的讀取操作來獲得,例如通過把一個區(qū)間中的讀取門限設在各分布之間的中點附近。因此,此處描述的方法和系統(tǒng)在使用次數較少的讀取操作下,提供了一種有效的考察此類模擬值的統(tǒng)計的方法。在很多實例中,在存儲單元上執(zhí)行很多次讀取操作是一項高強度計算任務,其復雜化了和減慢了數據取出過程。并且,ECC通常強到足以用于成功解碼絕大多數碼字,甚至在使用單個門限集來讀取存儲單元時。因此,在一些實施方案中,MSP初始使用單個門限集讀取存儲單元。只有當ECC解碼過程失敗時,MSP才會使用此處描述的多門限方法回復讀取與某一碼字對應的存儲單元??傻厥褂蒙厦鎴D3-5的方法,其中逐漸增加所用門限的個數。例如,MSP可嘗試使用基于兩個門限集的軟度量重構數據。如果數據不能被重構(即如果ECC失敗),則MSP可使用第三個門限集重新讀取該存儲單元。迭代可一直持續(xù)到ECC解碼成功,或者直到達到一個預定的最大門限集個數。注意在迭代過程的每一階段,MSP基于其當前可用的多個比較結果計算軟度量。在一些情況下,MSP可使用諸如度量值等的信息,所述度量值為之前迭代中計算而得的。迭代過程能夠使計算次數逐漸增加,僅可增加至為實現(xiàn)成功解碼而所需的次數?;趯τ嬎憬Y果的計數的軟度量在一些實施方案中,MSP根據落在門限任一邊上的計算結果的數目來計算軟度量值。(在后面的描述中,比較結果"O"表示讀取值高于門限,亦或反之。然而,這個約定僅為方便起見,也可采用相反的約定。)考慮前面圖3的SLC范例實施方案。在此實施方案中,在五個比較結果中,如果比較結果"0"的個數遠高于結果"1"的個數,則可能的是,該單元被編程為"0"。類似地,如果比較結果'T,的個數遠高于結果"0"的個數,則這個被編程的比特可能為"1"。類似的邏輯也可用于多階段比較過程中解碼MLC單獨的比特的每一個階段中,如前面圖4所述。圖6是本發(fā)明一種實施方案的計算軟度量的流程示意圖;此方法的描述指向SLC應用并參考前面圖3。然而,這樣選擇僅為簡化解釋之用。該方法也可類似地用于MLC。此方法始于在門限限定步驟116,MSP限定多個門限。通常但不必需的是,門限被限定在電壓分布之間的邊界區(qū)域。圖3中,五個門限被限定在曲線卯A與卯B重疊的區(qū)域。例如,假定曲線90A和卯B之間的中點為1伏,門限可以20mv分辨率來表示,則可以以20mV間隔來限定門限集,以覆蓋電壓范圍1V士40mV。在讀取步驟120,MSP使用多個門限讀取存儲單元。在計數步驟124,MSP對落在門限任一邊的比較結果的數目進行計數。換言之,MSP從總的門限比較的數目中,確定比較結果"0"的個數和/或結果"l"的個數。在度量計算步驟128,MSP基于對比較結果的計數計算與單元(或單元中的單獨的比特)相關的軟度量。例如,假定有前面圖3的五個門限的配置和4比特的度量值,MSP可以根據下表計算軟度量<table>tableseeoriginaldocumentpage26</column></row><table>50"0000"=0上表中,如果所有五個計算結果都是"l",存儲的數據極有可能是"1",因此賦予最大度量值"llll"。另一極端,如果所有五個計算結果都是"o",存儲的比特可能是"o",因此賦予最小度量值"oooo"。如果一些比較結果是"0",另一些是"l",度量值就被設置為中間值,其隨總數中結果"l,,的個數的增加而單調增大?;蛘?,可以采用其它任何適用的基于比較結果的計數而確定軟度量值的方法。度量計算可以通過查詢一張表而實現(xiàn),該表存放度量值并通過所述比較結果的計數來索引,也可以通過評估一基于該比較結果的計數的函數來實現(xiàn),或使用任何其它適用機制來實現(xiàn)。MLC度量計算的硬件實現(xiàn)范例如前面所注意的,計算多層單元中各比特的軟度量時,門限的選擇取決于先前解碼的比特值。并且,先前解碼的比特值可能在某些情況下影響度量值自身。例如考慮上面圖4的4層單元的配置。當在一個兩階段的方法中從這種單元讀取數據時,通過確定單元讀取值落在門限T21...T25左邊還是落在右邊首先解碼LSB。注意在圖4的示例中,位于這些門限之下的兩個標稱電平有值為'T'的LSB,位于這些門限之上的兩個標稱電平有值為"0"的LSB。第二解碼階段(解碼MSB)依賴第一階段的結果。當LSB為"0"時,對MSB的解碼包含確定讀取值是可能屬于曲線94C還是屬于曲線94D。當LSB為,T,時,對MSB的解碼包含確定讀取值是可能屬于曲線94A還是屬于曲線94B。然而,注意當比較曲線94A和94B時(即當LSB^'r,時),高門限電壓對應MSB」'0",低門限電壓對應MSB="1"。當比較曲線94C和94D時(即當LSB^,0"時),情況就相反,高門限電壓對應MSB="1",低門限電壓對應MSB="0"。在這種情形下,依賴比較結果的計數的軟度量值有時應當被反轉,從而維持高度量值對應數據"O"這一常規(guī)。決定是否反轉度量值取決于前一比特值。同等地,也可以反轉當前讀取的比特的值而不反轉度量值。僅當先前值等于'T'時才對一個值進行反轉的條件操作可以通過在當前和先前比特值之間執(zhí)行異或(XOR)操作而實現(xiàn)。圖7是本發(fā)明一種實施方案的用于多層單元軟度量計算的示例電路的示意框圖;盡管后續(xù)描述涉及硬件或固件實施方式,類似的機制可以以軟件、或軟件與石更件的組合來實現(xiàn)。圖7的電路計算一組4層單元的LSB和MSB的軟度量,假定LSB代表某一存儲頁,MSB代表另一頁。LSB頁首先被讀取,并被稱為前一頁。MSB接著被讀取,并被稱為當前頁。根據前一頁的比特值,當前頁的度量的計算過程進行條件反轉(XOR)操作。此電路包含XOR電路134,其在當前頁硬比特決定(hardbitdecision)的字節(jié)130(MSB)和從前一頁的先前解碼的數據比特的字節(jié)132(LSB)之間執(zhí)行按位異或(XOR)操作。這樣,對特定單元,當之前解碼的LSB為'T'時,當前讀取的MSB就^皮反轉。加法器136累加異或(XOR)操作的結果。加法器的輸出被累積作為MSB的軟度量140。向量138存放不同單元的MSB的累積度量。相同電路也可用于計算LSB的軟度量,其不取決于任何先前值。為了計算LSB軟度量,以0填充字節(jié)132,從而使異或(XOR)操作被繞過,字節(jié)130不變地被提供給加法器。圖7的電路涉及4層2比特每單元MLC。然而,類似電路可被用于計算其它類型多層單元的軟度量,如計算8層3比特每單元MLC的軟度量。在替代實施方案中,對多層單元的單獨的比特的軟度量的計算可以獨立于其它不同的比特。在這樣的時候當讀取某一比特值時,先前的比特讀取值不可獲得的情況下,這些方法可能特別有利。參見上面圖4的2比特每單元例子,MSB軟度量可在不知道LSB的情況下計算。如前面所述,如果模擬值落在門限T11...T15和T31…T35之間,則MSB值可假定為"0",否則為'T'。為了對這種讀取過程計算軟度量,MSP可將門限分組成一些逐漸向內移入MSB-"0"的區(qū)域的對。MSP使用不同的門限對,對落在MSB="0"間隔以內和/或以外的比較結果進行計數。在本例中,MSP形成了(T14,T35),(T12,T33),(Tll,T31),(T13,T32)和(T15,T34)等對。對每一對,MSP執(zhí)行兩次讀取操作并檢查讀取值是否落在門限之間的間隔內或者間隔之外。MSP對其中模擬值落在兩個門限之間(指示MSB="0")的門限對的數目和/或其中模擬值落在兩個門限之間的間隔之外的(指示MSB^T')門限對的數目進行計數。MSP根據計數來計算軟度量。類似方法可用于8層3比特每單元MLC。例如假定一個8層MLC器件,其8個電平表示為LL.丄8,并分別映射到三連比特(bittriplet)'iii','oir,'ooi','ioi','ioo','ooo','oio',,iio'。msp可獨立于其它比特計算這種單元的MSB(三連比特中的最左邊一個比特)的軟度量一一通過使用4個多門限集進行比較。每個門限集都位于具有不同MSB值的相鄰電平之間。在本例中,一個集合位于電平Ll和L2之間,另一集合位于L3和L4之間,第三集合位于L5和L6之間,第四集合位于L7和L8之間。四個門限集將模擬值軸分為5個間隔,記為11…15,這樣每個間隔中MSB具有相同值。使用此劃分,當讀自該單元的讀取模擬值落在間隔I2或14以內時,MSP確定MSB為"0",如果模擬值落在間隔II、13或15以內,MSP確定MSB為'T'。為計算MSB的軟度量,MSP形成4個門限組,每組包含來自每個集的一個門限。從一組移動到另一組,每個門限都以MSB值從"l"到"0"轉變的方向移動。對每個門限組,MSP執(zhí)4亍四次讀取才喿作,檢查讀取值是落在相應于"1"的間隔內還是落在相應于"0"的間隔內。MSP對模擬值落在相應于MSB」'0"的間隔內的門限組的數目,和/或模擬值落在相應于MSB」T'的間隔內的門限組的數目進行計數。MSP根據計數來計算軟度量。通常但不必需的是,基于對一給定類型的比較結果的計數的軟度量假定讀取門限圍繞分布之間的中點對稱地分布。逐漸增加門限數量上述的比較和度量計算操作既花費時間又消耗計算資源,且隨門限數量的增大而更甚。因此,僅使用為成功重構數據而所需的數量的門限有時是有利的。在一些實施方案中,MSP首先嘗試使用相對少量的門限來計算軟度量和解碼數據,僅在需要時才增加門限的個數。例如,起初MSP可首先嘗試使用一個其中只有單個門限位于每對相鄰標稱值(存儲狀態(tài))之間的初始讀取門限集來解碼ECC。在一些實施方案中,一旦初始解碼嘗試失敗,MSP就轉向多個門限解碼。圖8是根據本發(fā)明另一種實施方案的通過逐漸增加門限數目而從模擬存儲單元讀取數據的范例方法的流程示意圖。起初,假定MSP嘗試過使用在借助一定數量的門限下獲得的軟度量來解碼存儲在一組存儲單元中的一個特定碼字,且ECC解碼已失敗。所述度量被假定是基于比較結果的計數,如前面所述。此方法始于在門限增添步驟142,MSP增加一個或多個另加的門限到所使用的門限的集中,使用增加的門限讀取存儲單元組。在計數更新步驟144,MSP更新比較結果的計數(即,總數中"0"和/或"l"的個數)。更新后的計數反映了先前門限以及新增門限的比較結果。在度量更新步驟146,MSP然后根據比較結果的更新的累積計數計算軟度量。在一些情況下,MSP可在每個迭代處都重新計算度量?;蛘?,MSP可存儲來自先前迭代的度量值和/或比較結果計數,并更新它們以考慮新增的比較結果。通常,在一給定的迭代處計算的軟度量可取決于當前比較結果計數、先前計數和先前的度量值。在度量計算步驟146,MSP根據比較結果的累積計數計算軟度量。任何適用的度量計算方法都可采用,比如前面所述的范例方法。在ECC解碼步驟148,MSP嘗試使用軟度量解碼碼字。在ECC檢查步驟150,MSP檢查ECC解碼是否成功。如果成功,在數據提取步驟152,MSP提取并輸出數據,該方法終止。另一方面,如果ECC解碼失敗,該方法循環(huán)回到前面的門限增添步驟142。MSP增加一個或多個另加的門限到門限集,并根據擴展的集計算軟度量,并再次嘗試解碼ECC。圖8的方法使MSP能夠使用僅僅所需的門限個數來成功解碼ECC。當失真不嚴重時,使用少量門限可以對大部分碼字解碼,從而提高整體和平均的讀取速度。除了持續(xù)迭代直到成功解碼之外,或者作為持續(xù)迭代直到成功解碼的替代,MSP可估計其它任何適用的條件,當條件滿足時停止迭代過程。例如,MSP可能持續(xù)增添門限,直到達到最大門限數目或者達到最大迭代次數。在一些實施方案中,ECC解碼過程可能包含一個迭代過程。迭代解碼過程通常用于解碼諸如LDPC和turbo碼的碼。在一些實施方案中,迭代解碼過程被提供了逐漸改良的度量,其基于逐漸增多的讀取門限的數量。換言之,迭代解碼過程使用基于特定的初始門限個數的度量開始解碼。迭代解碼過程的后續(xù)迭代則被提供了基于增加的讀取門限的數量的度量,直到迭代解碼過程收斂到一個有效碼字。補充或者替代圖8方法中的ECC的使用,MSP可能采用檢錯碼,比如循環(huán)冗余校驗碼(CRC)或檢驗和。在這種實施方案中,MSP迭代地增加讀取門限直到檢錯碼檢查到沒有錯誤。這樣,在本發(fā)明專利申請的語境和權利要求中,術語"ECC"也用來指不同類型的檢錯碼。在一些實施方案中,盡管數據是用ECC編碼的,MSP也可使用檢錯碼確定何時停止增添門限。這種方案可能是有利的,例如,當ECC不再提供一可靠的關于解碼是成功還是失敗的指示時。MSP可使用各種方法和標準來選擇每次迭代增添幾個門限個數,以及以何次序。例如,門限可能一次增加兩個,從初始門限位置往兩個方向逐漸移開。換言之,假定MSP初始嘗試使用一個標記為T的門限,門限之間以規(guī)則的間隔△間隔開,最初4次迭代中的門限集為{TsT+A,.《T,TH"A,T4T風T,{T,T+A,T-A,T+2A,T-2^T+3A,T-3A}{T,T+A,T-厶,T+2A,T-2人T+3A,T-3A,T+4A,T-4A}度量標準化和干擾消除當計算基于變化數量的門限的軟度量時,如前面圖8中的方法,度量值的可能范圍可隨使用的門限的個數而變化。例如,當軟度量包含比較結果計數時,基于三個門限的度量值將在[0…31范圍內,而基于五個門限的度量值將在[0…5范圍內。此效應通常不是理想的。換言之,通常理想的是提供度量給ECC解碼器,其使用相同動態(tài)范圍來量化可信度或確定度,不管度量所基于的門限比較的個數。在一些實施方案中,MSP根據門限的個數對讀取自存儲單元的軟值標準化。例如,MSP可對值采用位擴充來達到某一固定比特數,例如5比特。例如,位擴充的值(ExtendedValue)可能定為如下歸-iV^0<,H其中K"/表示輸入軟值,7V表示用于估計Ktf/的門限個數。MflxFfl/表示位擴充軟值的最大值,例如,31對應5比特表示?;蛘?,MSP可能釆用任何其它適用的數據縮放機制。在一些實施方案中,MSP有存儲單元中的失真度或干擾度方面的信息。可以利用各種方法來估計存儲單元中的干擾程度。范例方法如前面引用的PCT專利申請PCT/IL2007/000580,以及如2007年5月10日提交的PCT專利申請PCT/IL2007/000576名為"DistortionEstimationandCancellationinMemoryDevices,",以及2007年8月27日提交的PCT專利申請PCT/IL2007/001059,名為"EstimationofNon-LinearDistortioninMemoryDevices,"文中所述,其公開的內容在此以引用的方式納入本說明書。當MSP可獲得干擾估計時,MSP可在將這些軟值提供給ECC解碼器之前,將干擾的效應增加到軟值上,或者根據估計的干擾對軟值進行修改。圖9是本發(fā)明另一種實施方案的從模擬存儲單元讀取數據的過程的示意圖,其包括數據縮放和干擾消除;盡管圖9的配置用于演示干擾消除和縮放兩者,每一項機制的實現(xiàn)都可在有或沒有另一項的情況下實現(xiàn)。在圖9的過程中,縮放模塊154接收從存儲單元讀取的(例如,前面圖7的異或電路134的輸出)經過條件反轉的軟值。模塊154也接收35x紐nrfe,函e='2迭代次數和/或當前被使用的門限的個數的指示。模塊154可對輸入軟值應用比特擴充或其它縮放??s放量取決于輸入迭代次數。縮放的軟值被提供給干擾消除模塊156,其也接收對各存儲單元中的干擾程度的估計。模塊156減去或消除從相應軟值估計的干擾,產生經過適當縮放并包含程度減少的干擾的軟值。這些軟值被提供給度量計算模塊158,其計算軟度量并將它們提供給ECC解碼器。門限比較和干擾估計的折中以增加的門限對單元重新讀取和估計來自相鄰存儲單元的干擾,這兩個操作,一方面改善了讀取性能,另一方面耗費時間和計算量。在一些實施方案中,MSP可能組合兩個操作并在其間折中。例如,MSP可能在每次迭代時確定哪種操作更可取是通過使用另外的門限來重新讀取當前頁來增強解碼精確度,還是通過讀取(或重新讀取)一組干擾單元來增強干擾估計。圖10是根據本發(fā)明又一種實施方案的從模擬存儲單元讀取數據的方法的示意流程圖,其包括在進行重新讀取和進行干擾估計進行折中。此方法始于在讀取步驟160,MSP讀取一頁存儲單元。在此過程的每次循環(huán),MSP可選擇要么(l)使用另加的門限重新讀取需要的頁,要么(2)讀一頁干擾單元。MSP在確定每次循環(huán)要采取兩種操作中的哪一種時可以應用各種策略或試探法。MSP可在不同的循環(huán)中讀取不同的干擾單元組。例如,MSP可交替兩種操作,從而每兩次循環(huán)增加一個門限,且每兩次循環(huán)估計干擾?;蛘?,MSP可基于估計的失真程度來選擇要采取哪種操作。例如,如果最近的干擾估計指示干擾電平低,MSP可優(yōu)先增加門限比較,并完善在較大間隔下的干擾估計。又或者,這決定可取決于被讀取頁的類型。例如,奇序和偶序頁可能遭遇不同的干擾程度,MSP可對不同頁類型采用不同的判決邏輯。位于一個塊中最后一條字線上的頁也可能在遭遇不同的干擾程度,以及可以被不同地處理。由于干擾可能與頁面被寫入的順序有關,不同的折中可應用于一條字線里的頁碼更高的頁和頁碼更低的頁。在一些情況下,所需頁中的存儲單元之間可能引起相互干擾。如此,受干擾的單元組和產生干擾的單元組有時可能重疊。在干擾消除步驟162,基于更新的信息,MSP從讀取的軟值中減去干擾估計,并在度量計算步驟164計算軟度量。然后在解碼步驟166,MSP解碼ECC,并在成功檢查步驟168處,檢查ECC解碼是否成功。如果ECC解碼成功,在成功終止步驟170,該方法終止,并且MSP通常提取和輸出數據。否則,在迭代次數檢查步驟172,MSP檢查迭代(循環(huán))次數是否超過預定最大數。如果超出迭代最大次數,在錯誤終止步驟174,該方法在未成功讀取數據下終止。否則,方法循環(huán)回到前面的讀取步驟160,MSP重又確定是否增加另一門限或在下一循環(huán)中完善干擾估計。前面圖8和10的迭代方法中,MSP可以——根據從單元讀取的值或這些值所代表的數據一一選擇在某一特定迭代時要增加的新門限的個數。例如,當MSP檢測到嚴重的ECC失敗或意外高干擾程度時,它可決定增加大量門限。MSP也可根據所讀取的值或所讀取的數據來確定新門限的值(即位置)。例如,響應于ECC的失敗而被增加的新門限的值可不同于響應高干擾電平時所增加的門限的值。在存儲器件內部執(zhí)行多次讀取操作當使用上述方法和系統(tǒng)時,與多個門限關聯(lián)的多個比較結果通常從存儲器件24傳送到MSP52。相應的,存儲器件與MSP之間的通訊帶寬變得驚人,特別是當使用了大量門限集和/或當每單元的標稱電平的數目很大時。在一些實際情況中,MSP和存儲器件之間的接口上的通訊帶寬可能成為決定系統(tǒng)20的存儲訪問速度的限制因素。當單一MSP52與多個存儲器件24連接時這一影響變得尤為嚴重。在本發(fā)明替代實施方案中,一些重新讀取功能是在存儲器件內部實現(xiàn)的,從而減小存儲器件與MSP之間的通訊帶寬。圖11是根據本發(fā)明替代實施方案的用于存儲器信號處理的系統(tǒng)200的示意框圖;在圖11的范例實施方案中,多個存儲器件204通過一條外部總線212連接到一個MSP208。每個存儲器件204包含一個存儲單元陣列216和一個讀/寫(R/W)單元220,其分別類似于前面圖1的陣列28和讀/寫(R/W)單元220。與圖1所示的實施方案不同,每個存儲器件204包含一個門限設置和度量計算單元224,也簡稱為"度量計算單元"。單元224通過內部總線228連接到讀/寫(R/W)單元220。當存儲器件接收到從一組存儲單元(例如,一頁)中取出數據的請求時,單元MA控制讀/寫(R/W)單元220用諸如前述的任何方法來設置適當的門限值和讀取該存儲單元。讀/寫(R/W)單元執(zhí)行多次比較操作并發(fā)送相應比較結果給單元224。單元224根據比較結果計算軟度量,通過外部總線212發(fā)送度量值到MSP208。MSP208包含一個ECC解碼器232。該ECC解碼器接收被發(fā)送自存儲器件204的單元224的軟度量并基于該度量解碼ECC。MSP通常輸出解碼數據給主機系統(tǒng)。當MSP208控制多個存儲器件204,一單個ECC解碼器可解碼從所有存儲器件發(fā)送的數據?;蛘?,可使用多個ECC解碼器。當使用圖11的配置時,相比前面圖1的配置,由于單獨的比較結果不傳送到MSP,MSP與存儲器件之間的通訊帶寬顯著減小。相反,單元224發(fā)送軟度量值,對于每個讀取存儲單元,其通常包括一單個的值。傳送多個比較結果所需的高通訊帶寬被限于內部總線228,即存儲器件內部。這類高通訊帶寬在存儲器件內部實現(xiàn)比在獨立器件之間實現(xiàn)簡單許多。并且,內部總線的通訊僅包含由特定存儲器件產生的通訊,與被MSP控制的存儲器件的數量無關。讀/寫(R/W)單元220和度量計算單元224之間的功能劃分是一種范例劃分,其僅為概念清晰之目的。在替代實施方案中,讀、門限比較、門限設置和度量計算功能可按需以其它任何方式劃分。這樣,讀/寫(R/W)單元220、內部總線228和度量計算單元224也可以總體^L為一個讀取電路,其讀取模擬存儲單元并產生軟度量。如前所述,軟度量計算有時要考慮讀取存儲單元中的干擾的估計和消除。在一些實施方案中,干擾估計和消除功能也可通過存儲器件204內部的讀取電路實現(xiàn),例如,通過單元224。在這些實施方案中,單元224發(fā)送其中已考慮了干擾的軟度量給MSP。實現(xiàn)存儲器件內部信號處理功能的一些方面在前面引用的美國臨時專利申請60/917,653中得以描述。盡管此描述的實施方案主要解決從固態(tài)存儲器中取出數據,本發(fā)明的原理也可用于在硬盤驅動器(HDD)和其它數據存儲媒體和器件中存儲和取出數據。因此前述的實施方案在此以示例方式引用,并且本發(fā)明不限于本文前面特別展示和描述的內容。相反,本發(fā)明的范圍包括前述各種特征的組合和子組合,以及本領域技術人員從前述說明中領會的各種更改和變化,這些都沒有被現(xiàn)有技術公開。權利要求1.一種操作存儲器的方法,包括通過將選自標稱值集的各個模擬輸入值寫入存儲器的模擬存儲單元,把數據存儲在存儲器的模擬存儲單元中,所述數據以糾錯碼(ECC)編碼;通過執(zhí)行多次讀取操作讀取存儲的數據,所述讀取操作將所述模擬存儲單元的模擬輸出值和各個不同的讀取門限相比較,從而為每個模擬存儲單元生成多個比較結果,其中,至少有兩個讀取門限被置于標稱值集內的一對彼此相鄰的標稱值之間;根據多個比較結果計算軟度量;和使用軟度量解碼ECC,從而提取被存儲在模擬存儲單元中的數據。2.如權利要求1所述的方法,其中每個模擬存儲單元存儲該數據的一個或多個比特,并且每個軟度量對應于其中的一個比特。3.如權利要求2所述的方法,至少一些模擬存儲單元中的每個模擬存儲單元存儲該數據的兩個或多個比特,其中讀取數據包括,對于所述至少一些模擬存儲單元中的每個模擬存儲單元,分別在兩個或多個解碼階段,讀取兩個或多個數據比特,且其中計算軟度量包括,根據在先于第一解碼階段的第二解碼階段讀取的第二比特值,修改在第一解碼階段讀取的第一比特的軟度量。4.如權利要求3所述的方法,其中修改軟度量包括根據第二比特的值對第一比特的軟度量進行條件反轉。5.如纟又利要求1所述的方法,還包括進4于一次初始嘗試4吏用初始讀取門限集解碼ECC,使初始集中不超過一個讀取門限被置于每對彼此相鄰的標稱值之間,一旦初始嘗試失敗,將模擬輸出值和多個讀取門限進行比較。6.如權利要求1-5之一所述的方法,其中每個比較結果都具有第一和第二可能值中的一個,并且其中計算軟度量包括確定分別具有第一和第二可能值的比較結果所對應的第一和第二計數,以及根據所述第一和第二計數計算軟度量。7.如權利要求1-5之一所述的方法,包含,一旦解碼ECC失敗,增添一個或多個另加的讀取門限到所述多個讀取門限,根據另加的讀取門限重新計算軟度量,并使用重新計算的軟度量解碼ECC。8.如權利要求7所述的方法,其中增添另加的門限包括漸進地增加多個讀取門限直至滿足預定的條件。9.如權利要求1-5之一所述的方法,其中從第一組模擬存儲羊元中讀取數據進一步包括估計由第二組模擬存儲單元對第一組所造成的干擾和消除所估計的干擾。10.如權利要求9所述的方法,其中消除所估計的干擾包括根據所估計的干擾對第一組所關聯(lián)的軟度量進行修改。11.如權利要求9所述的方法,包括,一旦第一組內的ECC解碼失敗,選擇是否執(zhí)行下列之一重新讀取第二組中的數據,從而重新估計和消除干擾;通過讀取第三組存儲單元中的數據重新估計干擾;和增添一個或多個另加的讀取門限,4吏用另加的讀取門限重新讀取第一組中的數據。12.如權利要求1-5之一所述的方法,其中計算軟度量包括將軟度量標準化以使不依賴于讀取門限的數量。13.如權利要求1-5之一所述的方法,其中執(zhí)行多次讀取操作包括設置以彼此不同的非均勻間隔間隔開的讀取門限。14.一種數據存儲設備,包括一個接口,其可操作地與包含眾多模擬存儲單元的存儲器進行通信;和一個存儲器信號處理器(MSP)器件,其與該接口相連并被結合,用以通過將選自標稱值集的各個模擬輸入值寫入模擬存儲單元,把數據存儲在模擬存儲單元中,所述數據以糾錯碼(ECC)編碼;用以通過執(zhí)行多次讀取操作讀取所存儲的數據,所述讀取操作將所述模擬存儲單元的模擬輸出值和各個不同的讀取門限相比較,以對每個模擬存儲單元生成多個比較結果,其中,至少有兩個讀取門限被置于標稱值集內的一對彼此相鄰的標稱值之間;用以根據多個比較結果計算軟度量;和使用軟度量解碼ECC,從而提取被存儲在模擬存儲單元中的數據。15.如權利要求14所述的設備,其中每個模擬存儲單元存儲該數據的一個或多個比特,并且其中每個軟度量對應其中一個比特。16.如權利要求15所述的設備,其中至少一些模擬存儲單元中的每個模擬存儲單元存儲該數據的兩個或多個比特,其中MSP被結合,用以分別在兩個或多個解碼階段,讀取兩個或多個數據比特;以及用以根據在先于第一解碼階段的第二解碼階段讀取的第二比特值,修改在第一解碼階段讀取的第一比特的軟度量。17.如權利要求16所述的設備,其中MSP被結合以根據第二比特的值對第一比特的軟度量進行條件反轉。18.如權利要求14所述的設備,其中MSP被結合,用以進行一次初始嘗試使用初始讀取門限集解碼ECC,使初始集中不超過一個讀取門限被置于每對彼此相鄰的標稱值之間,以及用以一旦初始嘗試失敗,將模擬輸出值和多個讀取門限進行比較。19.如權利要求14-18之一所述的設備,其中每個比較結果都具有第一和第二可能值中的一個,并且其中計算軟度量包括確定分別具有第一和第二可能值的比較結果所對應的第一和第二計數,以及根據所迷第一和第二計數計算軟度量。20.如權利要求14-18之一所述的設備,其中,一旦解碼ECC失敗,所述MSP^皮結合,用以增添一個或多個另加的讀取門限到所述多個讀取門限;用以根據另加的讀取門限重新計算軟度量,以及使用重新計算的軟度量解碼ECC。21.如權利要求20所述的設備,其中MSP被結合以漸進地增加多個讀取門限直至滿足預定的條件。22.如權利要求14-18之一所述的設備,其中MSP被結合以估計由第二組模擬存儲單元對第一組所造成的干擾和消除所估計的干擾。23.如權利要求22所述的設備,其中MSP被結合以根據所估計的干擾對第一組所關聯(lián)的軟度量進行修改。24.如權利要求22所述的設備,其中,一旦第一組內的ECC解碼失敗,選擇是否執(zhí)行下列之一重新讀取第二組中的數據,從而重新估計和消除干擾;通過讀取第三組存儲單元中的數據重新估計干擾;和增添一個或多個另加的讀取門限,使用另加的讀取門限重新讀取第一組中的數據。25.如權利要求14-18之一所述的設備,其中MSP被結合用于標準化軟度量使其不依賴于讀取門限的數量。26.如權利要求14-18之一所述的設備,其中MSP被結合用于設置以彼此不同的非均勻間隔間隔開的讀取門限。27.—種數據存儲設備,包括一個存儲器件,包括多個模擬存儲單元,其被配置以存儲數據,所述數據被以糾錯碼(ECC)編碼且作為選自標稱值集的各模擬輸入值而被寫入模擬存儲單元;以及讀取電路,該電路被結合以通過執(zhí)行多次讀取操作讀取所存儲的數據,所述讀取操作將所述模擬存儲單元的模擬輸出值和各個不同的讀取門限相比較,以對每個模擬存儲單元生成多個比較結果,其中,至少有兩個讀取門限被置于標稱值集內的一對彼此相鄰的標稱值之間;用以根據多個比較結果計算軟度量;和使用軟度量解碼ECC,以及輸出計算出的軟度量;和一個存儲器信號處理器(MSP)器件,其連接到存儲器件并被結合用于接收讀取電路所計算出來的軟度量,以及使用軟度量解碼ECC。28.—種操作存儲器的方法,包括通過將各模擬輸入值寫入存儲器的模擬存儲單元,把數據存儲在存儲器的模擬存儲單元中,所述數據以糾錯碼(ECC)編碼;通過執(zhí)行多次讀取操作讀取存儲的數據,所述讀取操作將所述模擬存儲單元的模擬輸出值和讀取門限集相比較,從而為每個模擬存儲單元生成多個比較結果;根據多個比較結果計算軟度量;和使用軟度量解碼ECC,從而提取被存儲在模擬存儲單元中的數據;以及一旦未能成功提取數據,通過增添一個或多個新的讀取門限到讀取門限集來擴展該集,根據擴展的讀取門限集,更新多個比較結果,重新計算軟軟度量,并重新解碼ECC,從而提取數據。29.如權利要求28所述的方法,其中擴展讀取門限集包括根據模擬存儲單元的輸出模擬值選擇一個或多個新的讀取門限。30.如權利要求29所述的方法,其中選擇一個或多個新的讀取門限包括確定至少一個選自如下屬性組的屬性,所述屬性組由所述多個新的讀取門限和所述新的讀取門限的值組成。全文摘要一種操作存儲器(28)的方法,包括通過將選自標稱值集的各個模擬輸入值寫入存儲器的模擬存儲單元(32),把數據存儲在存儲器的模擬存儲單元中,所述數據以糾錯碼(ECC)編碼。通過執(zhí)行多次讀取操作讀取存儲的數據,所述讀取操作將所述模擬存儲單元的模擬輸出值和各個不同的讀取門限相比較,從而為每個模擬存儲單元生成多個比較結果,其中,至少有兩個讀取門限被置于標稱值集內的一對彼此相鄰的標稱值之間。根據多個比較結果計算軟度量。使用軟度量解碼ECC,從而提取被存儲在模擬存儲單元中的數據。文檔編號G11C16/04GK101601094SQ200780040493公開日2009年12月9日申請日期2007年10月30日優(yōu)先權日2006年10月30日發(fā)明者D·索科洛夫,N·薩莫,O·沙爾維申請人:愛諾彼得技術有限責任公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1