專利名稱:存儲器系統、用于讀取儲存于存儲器單元中的數據的方法
技術領域:
本發明涉及存儲器系統,尤其涉及存儲器系統、用于讀取儲存于存儲器裝置的存儲器單元中的數據的方法。
背景技術:
快閃存儲器的非易失性(non-volatility)與于系統中的可重程序化性 (re-programmability)使其廣泛應用于電子產品中,尤其是應用于可攜式應用中。快閃存儲器單元的基本結構包括基板(substrate)上的控制柵、漏極擴散區 (drain diffusion region)以及源極擴散區。具有控制柵之下的浮動柵(FloatingGate, FG)的晶體管形成電子儲存裝置。溝道區(channel region)位于浮動柵之下并且隧道氧化絕緣層位于溝道與浮動柵之間。可在隧道氧化層上應用足夠高的電場以克服隧道氧化層的能量障壁(energy barrier) 0這樣,電子流經隧道氧化絕緣層以改變儲存于浮動柵中的電子數量。儲存于浮動柵中的電子數量決定一個單元的臨界(threshold)電壓(Vt)。儲存于浮動柵中的電子數量越大,臨界電壓Vt越高。一個單元的臨界電壓Vt用于代表一個單元儲存的數據。通常地,能夠在一個單元中儲存一個位數據的快閃存儲器稱為單層單元(Single Level Cell,SLC)。同時,能夠在一個單元中儲存不止一個位數據的快閃存儲器稱為多層單元(Multiple Level Cell, MLC)。MLC 的面積效率(areaefficiency)高,因此 MLC 技術受到很高關注。通過儲存2N個離散電平(discretelevel)的臨界電壓Vt,MLC能夠每個單元儲存N位數據,因此將單元的大小減小為1/N。MLC能夠每個單元儲存多位數據使其成為大容量儲存應用的最佳候選之一,因為大容量儲存應用通常需要更高的密度。
發明內容
有鑒于此,本發明提供存儲器系統、用于讀取儲存于存儲器裝置的存儲器單元中的數據的方法。一種存儲器系統,其特征在于,所述存儲器系統包括存儲器裝置,包括用于儲存數據的多個存儲器單元,其中所述多個存儲器單元包括第一存儲器單元;以及控制器,耦接于所述存儲器裝置,所述控制器用于存取所述存儲器裝置,其中當讀取儲存于所述第一存儲器單元中的數據時,所述控制器接收代表儲存于所述第一存儲器單元中的數據的內容的數字信號并檢測所述第一存儲器單元的電壓或電流的電平,以根據所述數字信號獲得所述第一存儲器單元中儲存的數據的內容。—種存儲器系統,其特征在于,所述存儲器系統包括存儲器裝置,包括用于儲存數據的多個存儲器單元,其特征在于,所述多個存儲器單元包括第一存儲器單元,并且當讀取儲存于所述第一存儲器單元中的數據時,所述存儲器裝置檢測將要讀取的所述第一存儲器單元的電壓或電流并且產生模擬已檢測信號以代表已檢測電壓或已檢測電流;以及控制器,包括轉換器,用于從所述存儲器裝置接收所述模擬已檢測信號并且將所述模擬已檢測信號轉換為數字信號;適應性電平檢測器,根據所述數字信號檢測將要讀取的所述第一存儲器單元的電壓或電流的電平以獲得所述第一存儲器單元中儲存的數據的內容;以及錯誤校正碼引擎,用于檢查獲得的內容中的錯誤,并且決定發生錯誤時校正獲得的內容中的錯誤。一種用于讀取儲存于存儲器裝置的存儲器單元中的數據的方法,其特征在于,所述用于讀取儲存于存儲器裝置的存儲器單元中的數據的方法包括測量用于將所述存儲器單元的位線電壓放電至參考電壓所需的時間以獲得測量結果;根據所述測量結果產生模擬已檢測信號以代表所述存儲器單元的已檢測電壓或已檢測電流;將所述模擬已檢測信號轉換為數字信號;以及根據所述數字信號檢測將要讀取的所述存儲器單元的電壓或電流的電平以獲得儲存于所述存儲器單元中的數據。本發明的效果之一在于能夠降低成本并且減少位錯誤率。以下為根據多個圖式對本發明的較佳實施例進行詳細描述,所屬技術領域技術人員閱讀后應可明確了解本發明的目的。
圖IA為SLC NAND快閃存儲器的兩個狀態的分布示意圖。圖IB為相關于SLC NAND快閃存儲器的控制電壓Ve的傳導晶體管電流Ids的電流電壓曲線示意圖。圖2A為MLC NAND快閃存儲器的四個狀態的分布示意圖。圖2B為相關于MLC NAND快閃存儲器的控制電壓Ve的傳導晶體管電流Ids的電流電壓IV曲線示意圖。圖3為根據本發明一個實施例的存儲器系統的示意圖。圖4為根據本發明一個實施例的NAND快閃存儲器的基本結構的示意圖。圖5A為用于映像MLC存儲器單元的位的方法的示意圖。圖5B為用于映像MLC存儲器單元的位的方法的示意圖。圖6為根據本發明一個實施例的葛萊碼映像規則的示意圖。圖7為根據本發明一個實施例的并行檢測電路的示意圖。圖8為根據本發明第一實施例的方塊示意圖。圖9為根據本發明第二實施例的方塊示意圖。圖10為根據本發明實施例的檢測電路的方塊示意圖。圖IlA為MLC NAND快閃存儲器的四個狀態的分布示意圖。圖IlB為相關于MLC NAND快閃存儲器的控制電壓的傳導晶體管電流Ids的IV曲線示意圖。圖12為根據本發明一個實施例的四個狀態的放電曲線示意圖。圖13為根據本發明一個實施例的四個狀態的計數值與閂鎖值的示意圖。圖14為根據本發明一個實施例的判斷臨界值表的示意圖。圖15為根據本發明一個實施例的用于適應性產生判斷臨界值的方法示意圖。圖16為根據本發明實施例的頁面數據的示意圖。圖17為根據本發明一個實施例的用于計算專用字符線的閂鎖值的分布的直方圖的示意圖。圖18為根據本發明一個實施例的用于將相同MLC存儲器單元的多個位交錯至不同ECC單元的方法的示意圖。圖19為根據本發明一個實施例的用于將相同MLC存儲器單元的多個位交錯至不同ECC單元的方法的示意圖。圖20A為將BCH碼應用于葛萊碼的編碼方塊示意圖。圖20B為將BCH碼應用于葛萊碼的解碼方塊示意圖。圖21A為根據本發明另一個實施例的將BCH碼應用于TCM的編碼方塊示意圖。圖2IB為將BCH碼應用于TCM的解碼方塊示意圖。圖22A為根據本發明另一個實施例應用LDPC碼的編碼方塊示意圖。圖22B為應用LDPC碼至軟性決定的解碼方塊示意圖。圖23為根據本發明另一個實施例存儲器裝置中檢測電路的示意圖。圖M為用于在存儲器裝置中讀取存儲器單元中儲存的數據方法流程示意圖。
具體實施例方式下面的實施例僅用來例舉本發明的實施態樣,以及闡釋本發明的技術特征,并非用來限制本發明的范疇。所屬技術領域技術人員可依據本發明的精神輕易完成的改變或均等性的安排均屬于本發明所主張的范圍,本發明的權利范圍應以權利要求為準。廣泛應用NAND快閃存儲器將數據儲存于記憶卡、USB裝置以及固態硬盤(Solid State Disk,SSD)中。快閃存儲器單元是具有浮動柵的晶體管。電子經由稱為熱電子注入 (hot-electron injection)的處理跳躍至浮動柵之上以程序化快閃存儲器單元(設置為邏輯0)。通過量子穿隧(quantum tunneling)將電子從浮動柵拉低以擦除快閃存儲器單元 (設置為邏輯1)。儲存于浮動柵中的電子數量形成單元晶體管的臨界電壓Vt的值,并且通過感測相關于不同臨界電壓Vt的晶體管電流Ids以檢測儲存的值。圖IA為SLC NAND快閃存儲器的兩個狀態(邏輯0與邏輯1)的分布示意圖。圖IB為相關于SLC NAND快閃存儲器的控制電壓Ve的傳導晶體管電流Ids的電流電壓(Current-Voltage,IV)曲線示意圖。同時,MLC NAND快閃存儲器利用多層每單元儲存不止一個位數據。當前,MLC NAND快閃存儲器裝置儲存四個邏輯狀態每單元,即2位信息每單元,因此降低了之前方法中每位的成本。 圖2A為MLC NAND快閃存儲器的四個狀態(邏輯00、邏輯01、邏輯10以及邏輯11)的分布示意圖。圖2B為相關于MLC NAND快閃存儲器的控制電壓Ve的傳導晶體管電流Ids的電流電壓IV曲線示意圖。圖3為根據本發明一個實施例的存儲器系統300的示意圖。存儲器系統300包括控制器301以及存儲器裝置302。存儲器裝置302可包括用于儲存數據的多個存儲器單元。 根據本發明的一個實施例,存儲器裝置302可為非易失儲存裝置,例如NAND快閃存儲器。控制器耦接于存儲器裝置302并且用于管理與存取存儲器裝置302。控制器302包括存儲器 313、適應性電平檢測器314、錯誤校正碼(Error Correcting Code, ECC)引擎315以及快閃界面316。快閃界面316控制存儲器裝置302的存取操作。適應性電平檢測器314根據從快閃界面316檢測的信號檢測儲存于存儲器裝置302中的數據。ECC引擎315用于為儲存于存儲器裝置302中的數據提供錯誤校正。
圖4為根據本發明一個實施例的NAND快閃存儲器的基本結構的示意圖。NAND快閃存儲器400可包括多個存儲器區塊(例如從區塊0至區塊40%)。每個存儲器區塊可包括具有多個字符線(word line)的多個NAND串行(string),其中字符線可例如從至 WL31。如圖4所示,每個NAND串行包括32個存儲器單元,32個存儲器單元以串聯方式耦接。每個區塊中具有相同位指數(index)的NAND串行耦接于相同的位線(例如位線0至位線32767,并且位線0至位線32767可以串行方式耦接)。圖5A與圖5B為用于映像MLC存儲器單元的位的兩種不同方法的示意圖。以2位 MLC存儲器單元為例,如圖5A所示,當讀取數據或將數據寫入MLC存儲器單元時,第一映像方法將多個位交錯(interleave)至不同的頁面。因此,同時僅能存取一個位。如圖5B所示,第二映像方法將MLC存儲器單元的所有位映像至相同的頁面,使得同時可以讀取或寫入MLC存儲器單元的多個位。也就是說,在一個存取操作中,可以同時存取MLC存儲器單元的多個位。通常常會采用第一映射方法。然而,利用第二映射方法同時存取MLC存儲器單元的多個位時會有很多優勢,優勢包括(1)提高存取處理量(throughput) ; (2)將溝道編碼應用至相同MLC存儲器單元的位的能力。圖6為根據本發明一個實施例的葛萊碼(Gray Code)映像規則的示意圖。當臨界電壓Vt中產生誤差時,直接映像的結果會導致2位誤差(10<->01)。然而,若利用葛萊碼映射,則葛萊碼映射的結果僅會導致1位誤差。因此,當利用葛萊碼映射時,可獲得額外的編碼增益而不產生其他的成本。然而,同時存取多個位存在一些挑戰。最重要的挑戰是讀取/寫入過程的復雜度。 舉例來說,有兩種方法用于讀取MLC存儲器單元的多個位,包括多次迭代檢測(multiple iteration detecting)方法以及并行檢測(parallel detecting)方法。多次迭代檢測方法利用相同的傳感放大器以在每次迭代中檢測一個位。通常地,傳感放大器耦接于每個位線以檢測存儲器單元的臨界電壓。4位MLC存儲器單元需要4次迭代。因此對存取處理量中的改進圖像很小。并行檢測方法利用并行耦接的傳感放大器與參考單元以在一次迭代中檢測所有位。因此對存取處理量中的改進圖像顯著。圖7為根據本發明一個實施例的并行檢測電路的示意圖。為了同時檢測兩個位, 可利用三個參考單元以提供三個不同參考電流/電壓,并且可利用三個比較器(未標示) 以將由I/V轉換器轉換的傳導電流(也可簡稱為電流)或臨界電壓與參考電流/電壓進行比較。然而,如圖7所示,并行檢測方法的缺點在于硬件成本與功率消耗增加。舉例來說, 當在MLC存儲器單元中儲存不止2位時(例如3位或4位每單元MLC存儲器單元,即MLC3X 或MLC4X),用于區分儲存位的參考電壓的數量顯著的提高了,導致硬件成本和功率消耗增加。另外,由于增加的位數量使得每個參考電壓電平之間的距離很窄,所以位錯誤率增加了。另外,因為需要更強大的容錯(error-tolerance)與誤差校正方法以降低程序化擾亂 (program disturb)、讀取擾亂以及鄰近存儲器單元干擾的圖像,因此非常需要一種新型的電壓/電流檢測方法與ECC結構以解決上述問題,尤其是當實施圖5B所示的多位存取技術時。根據本發明一個實施例,當讀取儲存于存儲器單元中的數據時,可將存儲器單元的已檢測臨界電壓或通過將柵極電壓應用于存儲器單元而傳導的電流從模擬轉換為數字, 以用數字格式代表。本發明實施例中,控制器可接收代表存儲器單元的已檢測電壓或傳導電流的數字信號。數字信號承載數字檢測結果用于進一步在數字域中解碼以及誤差校正, 以恢復儲存于存儲器單元中的數據的內容。下面詳細介紹電壓/電流檢測方法與ECC結構。根據本發明第一實施例,存儲器裝置與控制器之間有數字界面。可由存儲器裝置將模擬已檢測電壓或傳導電流轉換為數字信號,并且控制器接收數字信號中承載的數字檢測結果以及根據數字信號檢測存儲器單元的電壓電平或傳導電流電平以獲得數據的內容。圖8為根據本發明第一實施例的方塊示意圖。根據第一實施例,當讀取儲存于存儲器單元821中的數據時,存儲器裝置802可檢測存儲器單元821的臨界電壓或傳導電流Id并且產生模擬已檢測信號以代表已檢測電壓或傳導電流。請注意,可能有多個檢測存儲器單元的臨界電壓或傳導電流的不同實施方式。舉例來說,存儲器裝置802可直接檢測臨界電壓或應用柵極電壓以檢測存儲器單元821的傳導電流并且之后經由圖8所示電流至電壓 (Current to Voltage, I/V)轉換器822將已檢測電流轉換為相應的電壓。因此并不應限制本發明的范圍。如圖8所示,存儲器裝置802包括模擬至數字轉換器(Analog to Digital Converter, ADC)823, ADC 823將模擬已檢測信號轉換為數字信號。本發明實施例中,ADC 823利用8位代表數字轉換結果。然而,ADC結果可由不同數量的位來代表,本發明并非以此為限制。控制器801的適應性電平檢測器814根據數字信號檢測存儲器單元821的電壓電平或傳導電流電平,以獲得儲存于存儲器單元821中的數據的內容。當需要時,適應性電平檢測器814將獲得的內容與軟錯誤(soft error)傳遞至ECC引擎815用于校正獲得的內容中的錯誤,其中軟錯誤會在后面詳細描述。圖9為根據本發明第二實施例的方塊示意圖。根據本發明第二實施例,存儲器裝置與控制器之間有模擬界面。當讀取儲存于存儲器單元921中的數據時,存儲器裝置902 可檢測存儲器單元921的臨界電壓或傳導電流Id并且產生模擬與差動已檢測信號對ana_ ρ與ana_n以代表已檢測電壓或傳導電流。存儲器裝置902包括I/V轉換器922。控制器 901接收模擬與差動已檢測信號對ana_p與ana_n。控制器901包括ADC 916、適應性電平檢測器914以及ECC引擎915,其中ADC 916將模擬與差動已檢測信號對ana_p與ana_n 轉換為數字信號。接收數字信號后,適應性電平檢測器914根據數字信號檢測存儲器單元 921的電壓電平或傳導電流電平,以獲得儲存于存儲器單元921中的數據的內容,并且當需要時將獲得的內容與軟錯誤傳遞至ECC引擎915用于校正獲得的內容中的錯誤。圖10為根據本發明實施例的檢測電路的方塊示意圖。如圖10所示,檢測電路 100-1至100-n包括于存儲器裝置(例如存儲器裝置302或存儲器裝置802)中,用于檢測存儲器單元的電壓或傳導電流并且產生數字信號。本發明第一實施例中,檢測電路100-1 至100-n中的每一個耦接于位線(位線0至位線η)其中之一用于檢測存儲器單元的臨界電壓或傳導電流。存儲器裝置可進一步包括計數器104,計數器104耦接于檢測電路100-1 至100-n用于當控制器(例如控制器301或控制器801)開始讀取儲存于存儲器單元中的數據時計數一個值。根據本發明一個實施例,計數器104可為葛萊碼計數器以進一步減少每個已計數值的過渡邊界中產生的錯誤。每個檢測電路可包括閂鎖(latch)、比較器以及 I/V轉換器。I/V轉換器103-1至103-n將每個存儲器單元的傳導電流Id轉換為相應的已檢測電壓。比較器102-1至102-n將相應的存儲器單元的已檢測電壓與參考電壓Vemp進行比較。請注意,本發明其他實施例中,可省略I/V轉換器并且比較器可為電流比較器,并且電流比較器可直接將相應存儲器單元的傳導電流與參考電流進行比較,本發明并非以此為限制。閂鎖101-1至101-n分別耦接于計數器104以及比較器102-1至102-n,閂鎖101-1 至101-n接收相應比較器的比較結果作為閂鎖致能信號“en”,并且當比較結果顯示將要讀取的存儲器單元的電壓或傳導電流比參考電壓或參考電流小時,鎖住由計數器計數的值, 例如鎖住由計數器計數的電流值。根據本發明第一實施例,每個位線中的寄生電容的電荷由將被讀取的相應存儲器單元中的傳導晶體管電流Ids放電。通過測量用于將相應存儲器單元的位線電壓放電至參考電壓¥_所需的時間來達到傳導電流或電壓的檢測。若將相應存儲器單元的位線電壓放電至參考電壓V。mp所需的測量時間長,則意味著相應存儲器單元的臨界電壓高或傳導晶體管電流Ids小。圖IlA為MLC NAND快閃存儲器的四個狀態(邏輯00、邏輯01、邏輯10以及邏輯11)的分布示意圖。圖IlB為相關于MLC NAND快閃存儲器的控制電壓的傳導晶體管電流IdsWIV曲線示意圖。圖12為根據本發明一個實施例的四個狀態的放電曲線示意圖。在相同的柵極電壓Ve下,儲存數據11的存儲器單元傳導大的電流Ids (如第11圖所示)。因此,當在儲存四個不同狀態(邏輯00、邏輯01、邏輯10以及邏輯11)的存儲器單元中進行比較時,將儲存數據11的存儲器單元的位線電壓放電至參考電壓V。mp所需的時間τη_最短。圖13為根據本發明一個實施例的四個狀態的計數值與閂鎖值的示意圖。如前所述,當比較結果顯示將要讀取的存儲器單元的電壓或傳導電流比參考電壓或電流小時,每個檢測電路中的閂鎖鎖住由計數器計數的電流值。因此,通過區分閂鎖值可獲得相應存儲器單元中儲存的數據的內容(例如邏輯00、邏輯01、邏輯10以及邏輯11)。根據本發明第一實施例,檢測電路可輸出閂鎖值作為數字信號,并且適應性電平檢測器(例如適應性電平檢測器314或適應性電平檢測器814)。可根據數字信號檢測存儲器單元的電壓電平或傳導電流電平,以獲得存儲器單元中儲存的數據的內容。適應性電平檢測器可根據多個預設判斷臨界值(decision threshold)檢測存儲器單元的電壓電平或傳導電流電平。因為不同字符線的默認判斷臨界值可能不同,適應性電平檢測器可通過查找判斷臨界值表來補償字符線之間的不同,其中判斷臨界值表記錄相關于不同字符線的多個判斷臨界值。圖14為根據本發明一個實施例的判斷臨界值表的示意圖。判斷臨界值表可由存儲器單元的字符線號碼(或頁面號碼)進行索引。如圖14所示,判斷臨界值表包括32行,每行用于為相應的字符線儲存15個判斷臨界值(判斷臨界值VOO至判斷臨界值 V14)。此實施例中,每個存儲器單元儲存4位數據。因此,需要15個判斷臨界值以檢測每個存儲器單元的電壓電平或電流電平。請注意,這里的字符線與判斷臨界值的數量僅用來舉例,本發明并非以此為限制。根據本發明的一個實施例,判斷臨界值表可儲存于存儲器313中。另外,為了補償從每個存儲器單元到檢測點的位線長度中的不同,適應性電平檢測器也可查找儲存于存儲器313中的位線長度補償表。位線長度補償表記錄相關于不同位線的補償值。圖15為根據本發明一個實施例的用于適應性產生判斷臨界值的方法示意圖。適應性電平檢測器根據存儲器單元的區塊號碼與字符線號碼(或頁面號碼)分別查找位線長度補償表1501與判斷臨界值表1502,以獲得判斷臨界值與補償值。適應性電平檢測器進一步接收承載閂鎖值的數字信號并且根據判斷臨界值、補償值以及數字信號檢測存儲器單元的電壓電平或傳導
10電流電平。根據本發明的一個實施例,可通過檢測預設學習序列(learning sequence)來獲得判斷臨界值表與位線長度補償表。圖16為根據本發明實施例的頁面數據的示意圖。頁面數據包括具有16個4-位預設數據的學習序列。請注意,可重復學習序列多次以獲得更準確的判斷臨界值與補償值。另外,在ECC解碼與錯誤校正之后,也可根據存儲器中儲存的數據更新判斷臨界值表與位線長度補償表。根據本發明一個實施例,控制器可進一步產生直方圖用于計算不同字符線的數字信號的不同值的分布,并且根據直方圖動態地更新判斷臨界值表。圖17為根據本發明一個實施例的用于計算專用字符線的閂鎖值的分布的直方圖的示意圖。根據圖17所示的直方圖可獲得用于區分儲存于存儲器單元中的不同內容的判斷臨界值。另外,數字信號中承載的閂鎖值是獲得的內容的標準化概率也可通過直方圖獲得。舉例來說,如圖17所示,當閂鎖值是A時,閂鎖值A為邏輯1111的概率是50%,并且當閂鎖值是B時,閂鎖值B為邏輯 1111的概率是10%。適應性電平檢測器可將閂鎖值的概率作為軟錯誤提供至ECC引擎用于進一步的ECC解碼。為了在同時存取多個位時進一步提高ECC能力,提出一種新型的ECC結構。根據本發明的實施例,并非如圖5A所示將MLC存儲器單元的多個位交錯至不同的頁面,而是在相同的頁面中配置MLC存儲器單元的多個位以同時存取多個位。然而,為了進一步提高ECC 能力,將相同MLC存儲器單元的多個位交錯至不同ECC單元,其中不同ECC單元包括于ECC 引擎中(例如ECC引擎315、ECC引擎815或ECC引擎915)。圖18與圖19分別為根據本發明一個實施例的用于將相同MLC存儲器單元的多個位交錯至不同ECC單元的兩個方法的示意圖。實施例中每個MLC存儲器單元儲存4位數據。如圖18所示,當將如圖6所示葛萊碼映像應用于MLC存儲器單元的數據位Iv至b3
時,可通過將第一位k傳遞至第一 ECC單元0、將第二位ID1傳遞至第二 ECC單元1......等
等,來執行多個位交錯。同時,當未應用葛萊碼映像時,可如圖19所示通過將第一 MLC存儲器單元的第一位k、第二 MLC存儲器單元的第二位Id1、第三MLC存儲器單元的第三位ID2以及第四MLC存儲器單元的第四位b3傳遞至第一 ECC單元0、將第一 MLC存儲器單元的第二位、、第二 MLC存儲器單元的第三位Id2以及第三MLC存儲器單元的第四位b3以及第四MLC
存儲器單元的第一位k傳遞至第二 ECC單元1......等等,來執行多個位交錯。請注意,
這里利用4位MLC存儲器單元用于簡單描述交錯概念。所屬技術領域技術人員可依據本發明的精神輕易完成的改變或均等性的安排均屬于本發明所主張的范圍,本發明并非以此為限制。根據本發明的實施例,ECC引擎(例如ECC引擎315、ECC引擎815或ECC引擎915) 可應用多種不同編碼方案。圖20A為將博斯-查德胡里-霍昆格姆(Bose,Ray-Chaudhuri Hocquenghem, BCH)碼應用于葛萊碼的編碼方塊示意圖。圖20B為將BCH碼應用于葛萊碼的解碼方塊示意圖。本發明實施例中,ECC單元可為應用BCH編碼方案的BCH ECC單元。BCH 碼在1959年由霍昆格姆發明并在1960年由博斯和查德胡里獨立發明。BCH碼的主要優勢在于它們可經由稱為癥狀解碼(syndrome decoding)的很好的代數方法而解碼。根據本發明的實施例,如圖20A所示,數據由BCHECC單元進行BCH編碼并且葛萊碼用于二進制轉換后,將數據程序化至存儲器單元。當從存儲器裝置讀取數據時,執行反轉過程(reverse process),其中首先將數據二進制轉換為葛萊碼并且接碼BCH編碼。本發明一些實施例中,ECC引擎包括葛萊碼至二進制轉換器、二進制至葛萊碼轉換器以及多個BCH ECC單元。圖21A為根據本發明另一個實施例的將BCH碼應用于網格編碼調制(Trellis Coded Modulation, TCM)的編碼方塊示意圖。圖21B為將BCH碼應用于TCM的解碼方塊示意圖。網格編碼解調是由Gottfried togerboeck發明的應用于電信中的調制方案,而本發明的實施例中利用由安德魯維特比(Andrew Viterbi)發明的維特比解碼算法來解碼TCM。 根據本發明的實施例,如圖2IA所示,數據由BCH ECC單元BCH編碼之后,交錯數據、網格編碼調制數據并接著將數據程序化至存儲器單元。當從存儲器裝置讀取數據時,由適應性電平檢測器檢測的電平被輸出至維特比解碼器用于網格編碼解調。解調結果由BCH ECC單元進行解交錯并且BCH解碼。利用網格編碼調制的優勢在于,當MLC可識別電平的數量不是 2的整數冪時(例如19個電平而不是16個電平),網格編碼調制可以充分利用每個可識別MLC電平。本發明一些實施例中,ECC引擎包括網格編碼調制器、維特比解碼器以及多個 BCHECC 單元。圖22A為根據本發明另一個實施例應用低密度奇偶校驗碼(Low DensityParity Check code,LDPC code)的編碼方塊示意圖。圖22B為應用LDPC碼至軟性決定的解碼方塊示意圖。LDPC是應用于噪聲溝道上高效傳輸(例如IOGBase-T以太網絡)中的線性錯誤校正碼,并且LDPC允許噪聲上邊界接近理論最大值以保持期望的信息的小錯誤概率。根據本發明的實施例,如圖22A所示,將數據程序化至存儲器單元之前將數據進行LDPC編碼。當從存儲器裝置讀取數據時,將由適應性電平檢測器檢測的電平值以及相關于數字信號與判斷臨界值之間的不同的信息輸出至LDPC解碼器用于軟性決定。根據本發明一個實施例,其中信息可為閂鎖值(即數字結果)是適應性電平檢測器的一個檢測的電平或多個不同檢測的電平的概率或多個概率。當錯誤檢查結果指示已解碼數據中發生錯誤時,可利用概率將錯誤位校正至最可能的值。舉例來說,請參考圖17,當閂鎖值是B時,適應性電平檢測器可進一步決定閂鎖值B為邏輯1111的概率是10%以及閂鎖值B為邏輯1110的概率是5%。 可將閂鎖值的多個概率作為軟錯誤提供至LDPC解碼器用于軟性決定以明顯地提高錯誤校正的能力。當錯誤檢查結果決定錯誤發生時,LDPC解碼器可將檢測的電平校正至1111,因為與1110相比1111具有最高的概率。請參考圖9,根據本發明第二實施例,存儲器裝置902與控制器901之間可有模擬界面。控制器901從存儲器裝置902接收模擬與差動已檢測信號對ana_p與ana_n并且將模擬與差動已檢測信號對ana_p與ana_n轉換為數字信號。圖23為根據本發明另一個實施例存儲器裝置中檢測電路2301的示意圖。根據本發明第二實施例,檢測電路2301可為多對一采樣與保持(sampleand hold)加模擬切換。舉例來說,當存儲器裝置包括32768 個串行,檢測電路2301可為32768對一采樣與保持加模擬切換。多對一采樣與保持加模擬切換首先檢測將要讀取的存儲器單元的臨界電壓或傳導電流,并接著獲得已檢測電壓或電流。之后,將已檢測電壓或電流作為模擬與差動已檢測信號對輸出至控制
ο圖M為用于在存儲器裝置中讀取存儲器單元中儲存的數據方法流程示意圖。當讀取儲存于存儲器單元中的數據時,存儲器裝置首先檢測將要讀取的存儲器單元的電壓或傳導電流并產生模擬已檢測信號以代表已檢測電壓或已檢測傳導電流(步驟S2401)。根據本發明一個實施例,通過測量用于將將要讀取的存儲器單元的位線電壓放電至參考電壓所需的時間來檢測存儲器單元的電壓或傳導電流,并且可相應產生代表將要讀取的存儲器單元的已檢測電壓或傳導電流的模擬已檢測信號。接著,存儲器裝置或控制器將模擬已檢測信號轉換為數字信號(步驟S240》。接著,控制器根據數字信號檢測將要讀取的存儲器單元的電壓電平或傳導電流電平以獲得存儲器單元中儲存的數據的內容(步驟S24(X3)。最后,控制器檢查獲得的內容中的錯誤并且當決定產生錯誤時校正獲得的內容中的錯誤(步驟S2404)。根據本發明一個實施例,可根據存儲器單元的字符線數量獲得將要讀取的存儲器單元的多個判斷臨界值(多個判斷臨界值儲存于判斷臨界值表中),用于檢測將要讀取的存儲器單元的電壓電平或傳導電流電平。可進一步根據數字信號與判斷臨界值之間的不同獲得軟錯誤,其中軟錯誤指示數字信號是獲得的內容的概率。在錯誤校正步驟中,可根據之前所述的軟錯誤校正獲得的內容中的錯誤。 上述的實施例僅用來例舉本發明的實施態樣,以及闡釋本發明的技術特征,并非用來限制本發明的范疇。任何所屬技術領域技術人員可依據本發明的精神輕易完成的改變或均等性的安排均屬于本發明所主張的范圍,本發明的權利范圍應以權利要求為準。
權利要求
1.一種存儲器系統,其特征在于,所述存儲器系統包括存儲器裝置,包括用于儲存數據的多個存儲器單元,其中所述多個存儲器單元包括第一存儲器單元;以及控制器,耦接于所述存儲器裝置,所述控制器用于存取所述存儲器裝置,其中當讀取儲存于所述第一存儲器單元中的數據時,所述控制器接收代表儲存于所述第一存儲器單元中的數據的內容的數字信號并檢測所述第一存儲器單元的電壓或電流的電平,以根據所述數字信號獲得所述第一存儲器單元中儲存的數據的內容。
2.根據權利要求1所述的存儲器系統,其特征在于,所述存儲器裝置檢測將要讀取的所述第一存儲器單元的電壓或電流并且產生模擬已檢測信號以代表已檢測電壓或已檢測電流,并且所述存儲器裝置進一步包括轉換器,所述轉換器用于將所述模擬已檢測信號轉換為所述數字信號。
3.根據權利要求1所述的存儲器系統,其特征在于,所述存儲器裝置檢測將要讀取的所述第一存儲器單元的電壓或電流并且產生模擬與差動已檢測信號對以代表已檢測電壓或已檢測電流,并且所述控制器進一步包括轉換器,所述轉換器用于將所述模擬與差動已檢測信號對轉換為所述數字信號。
4.根據權利要求1所述的存儲器系統,其特征在于,所述存儲器裝置進一步包括多個位線,以串行方式耦接;多個檢測電路,每個檢測電路耦接于所述多個位線其中之一,并且所述多個檢測電路用于檢測所述多個存儲器單元的電壓或電流;以及計數器,耦接于所述多個檢測電路;其中每個檢測電路包括比較器,用于將將要讀取的所述第一存儲器單元的電壓或電流與參考電壓或參考電流進行比較;以及閂鎖,耦接于所述計數器以及所述比較器的輸出,用于接收所述比較器的比較結果并且根據所述比較結果鎖住由所述計數器計數的一值;其中從所述值得到所述數字信號。
5.根據權利要求1所述的存儲器系統,其特征在于,所述控制器包括適應性電平檢測器,用于檢測將要讀取的所述第一存儲器單元的電壓或電流的電平, 以根據所述數字信號獲得所述第一存儲器單元中儲存的數據的內容;以及錯誤校正碼引擎,用于檢查獲得的內容中的錯誤,并且決定發生錯誤時校正獲得的內容中的錯誤。
6.根據權利要求5所述的存儲器系統,其特征在于,所述存儲器裝置進一步包括多個存儲器區塊,每個存儲器區塊包括多個字符線,并且每個字符線耦接于所述多個存儲器單元,并且所述控制器進一步包括存儲器,用于儲存判斷臨界值表,所述判斷臨界值表記錄相關于不同字符線的多個判斷臨界值;其中所述適應性電平檢測器分別根據所述判斷臨界值表以及將要讀取的所述第一存儲器單元的字符線數量獲得所述多個判斷臨界值,并且根據所述多個判斷臨界值與所述數字信號檢測將要讀取的所述第一存儲器單元的電壓或電流的電平。
7.根據權利要求6所述的存儲器系統,其特征在于,所述適應性電平檢測器進一步根據所述數字信號與所述多個判斷臨界值之間的不同提供軟錯誤至所述錯誤校正碼引擎,其中所述軟錯誤指示所述數字信號是獲得的內容的概率。
8.根據權利要求1所述的存儲器系統,其特征在于,每個存儲器單元儲存不止一個位, 并且在讀取操作中同時存取相應于一個存儲器單元的多個位。
9.根據權利要求5所述的存儲器系統,其特征在于,所述錯誤校正碼引擎包括多個錯誤校正碼單元,并且每個存儲器單元儲存不止一個位,并且相應于一個存儲器單元的多個位與不同的錯誤校正碼單元交錯。
10.根據權利要求5所述的存儲器系統,其特征在于,所述錯誤校正碼引擎包括葛萊碼至二進制轉換器、二進制至葛萊碼轉換器以及多個博斯-查德胡里-霍昆格姆碼錯誤校正碼單元。
11.根據權利要求5所述的存儲器系統,其特征在于,所述錯誤校正碼引擎包括網格編碼調制器、維特比解碼器以及多個博斯-查德胡里-霍昆格姆碼錯誤校正碼單元。
12.根據權利要求6所述的存儲器系統,其特征在于,所述錯誤校正碼引擎包括低密度奇偶校驗碼編碼器以及低密度奇偶校驗碼解碼器,并且所述適應性電平檢測器進一步提供關于所述數字信號與所述多個判斷臨界值之間的不同的信息。
13.一種存儲器系統,其特征在于,所述存儲器系統包括存儲器裝置,包括用于儲存數據的多個存儲器單元,其特征在于,所述多個存儲器單元包括第一存儲器單元,并且當讀取儲存于所述第一存儲器單元中的數據時,所述存儲器裝置檢測將要讀取的所述第一存儲器單元的電壓或電流并且產生模擬已檢測信號以代表已檢測電壓或已檢測電流;以及控制器,包括轉換器,用于從所述存儲器裝置接收所述模擬已檢測信號并且將所述模擬已檢測信號轉換為數字信號;適應性電平檢測器,根據所述數字信號檢測將要讀取的所述第一存儲器單元的電壓或電流的電平以獲得所述第一存儲器單元中儲存的數據的內容;以及錯誤校正碼引擎,用于檢查獲得的內容中的錯誤,并且決定發生錯誤時校正獲得的內容中的錯誤。
14.根據權利要求13所述的存儲器系統,其特征在于,所述存儲器裝置包括多個存儲器區塊,每個存儲器區塊包括多個字符線,并且每個字符線耦接于所述多個存儲器單元,并且所述控制器進一步包括存儲器,用于儲存判斷臨界值表,所述判斷臨界值表記錄相關于不同字符線的多個判斷臨界值;其中所述適應性電平檢測器分別根據所述判斷臨界值表以及將要讀取的所述第一存儲器單元的字符線數量獲得所述多個判斷臨界值,并且根據所述多個判斷臨界值與所述數字信號檢測將要讀取的所述第一存儲器單元的電壓或電流的電平。
15.根據權利要求14所述的存儲器系統,其特征在于,所述適應性電平檢測器進一步根據所述數字信號與所述多個判斷臨界值之間的不同提供軟錯誤至所述錯誤校正碼引擎, 其中所述軟錯誤指示所述數字信號是獲得的內容的概率。
16.根據權利要求13所述的存儲器系統,其特征在于,每個存儲器單元儲存不止一個位,并且在讀取操作中同時存取相應于一個存儲器單元的多個位。
17.根據權利要求13所述的存儲器系統,其特征在于,所述錯誤校正碼引擎包括多個錯誤校正碼單元,并且每個存儲器單元儲存不止一個位,并且相應于一個存儲器單元的多個位與不同的錯誤校正碼單元交錯。
18.一種用于讀取儲存于存儲器裝置的存儲器單元中的數據的方法,其特征在于,所述用于讀取儲存于存儲器裝置的存儲器單元中的數據的方法包括測量用于將所述存儲器單元的位線電壓放電至參考電壓所需的時間以獲得測量結果;根據所述測量結果產生模擬已檢測信號以代表所述存儲器單元的已檢測電壓或已檢測電流;將所述模擬已檢測信號轉換為數字信號;以及根據所述數字信號檢測將要讀取的所述存儲器單元的電壓或電流的電平以獲得儲存于所述存儲器單元中的數據。
19.根據權利要求18所述的用于讀取儲存于存儲器裝置的存儲器單元中的數據的方法,其特征在于,測量所需時間的步驟進一步包括利用計數器計數一值;將所述存儲器單元的電壓與所述參考電壓進行比較以獲得比較結果;以及當所述比較結果顯示所述存儲器單元的電壓比所述參考電壓小時,鎖住所述值。
20.根據權利要求18所述的用于讀取儲存于存儲器裝置的存儲器單元中的數據的方法,其特征在于,所述用于讀取儲存于存儲器裝置的存儲器單元中的數據的方法進一步包括根據所述存儲器單元的字符線數量獲得所述存儲器單元的多個判斷臨界值,其中根據所述多個判斷臨界值與所述數字信號檢測所述存儲器單元的電壓或電流的電平;根據所述數字信號與所述多個判斷臨界值之間的不同提供軟錯誤,其中所述軟錯誤指示所述數字信號是獲得的內容的概率;以及檢查獲得的內容中的錯誤,并且當發生錯誤時根據所述軟錯誤校正獲得的內容中的錯誤。
全文摘要
一種存儲器系統、用于讀取儲存于存儲器單元中的數據的方法。其中,所述存儲器系統包括存儲器裝置,包括用于儲存數據的多個存儲器單元,其中所述多個存儲器單元包括第一存儲器單元;以及控制器,耦接于所述存儲器裝置,所述控制器用于存取所述存儲器裝置,其中當讀取儲存于所述第一存儲器單元中的數據時,所述控制器接收代表儲存于所述第一存儲器單元中的數據的內容的數字信號并檢測所述第一存儲器單元的電壓或電流的電平,以根據所述數字信號獲得所述第一存儲器單元中儲存的數據的內容。本發明的效果之一在于能夠降低成本并且減少位錯誤率。
文檔編號G11C7/06GK102254567SQ20101029019
公開日2011年11月23日 申請日期2010年9月25日 優先權日2010年5月21日
發明者陳宏慶 申請人:聯發科技股份有限公司