專利名稱:閃存中的倒序頁寫入的制作方法
技術領域:
在此描述的是寫和讀閃存的方法以及被這樣讀和寫的閃存器件和系統。
背景技術:
諸如NAND閃存的閃存被構造為存儲器單元的矩形陣列。這些單元被安排在正交 的位線和字線中。通過將足夠的電荷注入到單元的浮置柵極中以將單元的閾值電壓置于 閾值電壓的范圍內來向每個單元寫入一位或多位數據,其中該閾值電壓的范圍表示該位或 那些位的值。通過比較閃存單元的閾值電壓與參考電壓來讀閃存單元,其中這些參考電壓 標記各閾值電壓范圍之間的邊界。在NAND閃存的情況下,一次一個完整字線地寫和讀各單 元。字線20進一步被分組為塊,使得一次一整塊地擦除各單元。一個給定塊的字線順序地被寫。在一塊的第一字線被寫之后,寫該塊的隨后字線 可能干擾先前被寫的字線,因為將電荷注入一條字線的各單元的浮置柵極中還可能影響到 相鄰字線的單元中的電場,由此可能將附近的先前被寫的字線的各單元的閾值電壓增加到 改變由先前被寫的附近的字線的各閾值電壓所表示的各位值的點。在連續(xù)地被寫的閃存單 元之間的這種耦合稱為Yupin效應。已知兩種常用的方法來減輕^pin效應。第一方法是無論何時讀一塊中的除了 最后被寫的字線以外的字線時,首先還讀該塊中的在目標字線被寫之后被寫的一條或多條 字線,根據如被讀的其他字線的單元的閾值電壓來調整要用于讀目標字線的參考電壓,并 使用調整的參考電壓來讀目標字線。該方法的缺點是,其通過要求讀取兩條或更多條字線 以便正確地讀目標字線而減慢了對目標字線的讀。第二方法是通過將稍微小于足夠的電荷 注入到單元的浮置柵極中以將單元的閾值電壓升高到期望的電平來寫一塊中的除了最后 的字線以外的各字線。然后,對于每條目標字線,在可能干擾對目標字線的寫的其他字線已 這樣被寫之后,更多電荷被注入到其閾值電壓由于與其他字線的寫相關的干擾而還沒升高 到其期望值的目標字線的各單元中,以將這些閾值電壓升高到其期望值。該方法的缺點是 其減慢了各字線的寫。實質上,該塊中除了最后的字線以外的所有字線都必須被寫兩次。
發(fā)明內容
在此提供了存儲數據的方法,該數據被組織在根據邏輯頁地址順序而排序的多個 頁中,該方法包括(a)提供包括塊的存儲器,所述塊包括按字線寫順序連續(xù)被寫的多條字 線;(b)接收所述多頁數據;以及(c)將所述多頁寫入到所述多條字線,被連續(xù)地寫入的各 頁的邏輯頁地址順序為使得被寫入到所述字線中的任意一條的每頁具有比被寫入到任意 隨后被寫的字線的任意頁更高的邏輯頁地址,而不管這些頁按何順序被接收。在此還提供了存儲數據的方法,該數據被組織在根據邏輯頁地址順序而排序的多 個頁中,該方法包括(a)接收所述多頁數據;以及(b)將各頁數據發(fā)送到包括塊的存儲器, 所述塊包括按字線寫順序連續(xù)被寫的多條字線,所述各頁按發(fā)送順序被發(fā)送,使得被寫入 到所述字線中的任意一條的每頁具有比被寫入到任意隨后被寫的字線的任意頁更高的邏輯頁地址,而不管這些頁按何順序被接收。在此還提供了存儲器器件控制器,其可操作以(a)接收多個頁以存儲在存儲器 塊中,所述存儲器塊包括按字線寫順序連續(xù)被寫的多條字線,這些頁根據邏輯頁地址順序 被排序;以及(b)按發(fā)送順序將各頁發(fā)送到存儲器塊,使得被寫入到所述字線中的任意一 條的每頁具有比被寫入到任意隨后被寫的字線的任意頁更高的邏輯頁地址,而不管這些頁 按何順序被接收。在此還提供了一種系統,包括(a)非易失性存儲器,其中存儲了存儲器器件的驅 動器,該存儲器器件包括存儲器塊和寫電路,所述存儲器塊包括多條字線,所述寫電路可操 作以按字線寫順序連續(xù)地寫字線,所述驅動器包括(i)用于接收多頁數據以存儲在存儲 器器件中的代碼,這些頁根據邏輯頁地址順序被排序;以及(ii)用于按照發(fā)送順序將各頁 發(fā)送到所述寫電路、使得被寫入到所述字線中的任意一條的每頁具有比被寫入到任意隨后 被寫的字線的任意頁更高的邏輯頁地址、而不管這些頁按何順序被接收的代碼;以及(b) 處理器,用于執(zhí)行所述代碼。在此還提供了計算機可讀存儲介質,具有嵌入在其上的計算機可讀代碼,所述計 算機可讀代碼是用于存儲器器件的驅動器代碼,該存儲器器件包括存儲器塊,具有多條字 線;寫電路,用于按字線寫順序連續(xù)地寫字線;以及讀電路,用于從所選字線讀,所述計算 機可讀代碼包括(a)用于接收多頁數據以存儲在存儲器器件中的程序代碼,這些頁根據 邏輯頁地址順序被排序;以及(b)用于按照發(fā)送順序將各頁發(fā)送到所述寫電路、使得被寫 入到所述字線中的任意一條的每頁具有比被寫入到任意隨后被寫的字線的任意頁更高的 邏輯頁地址、而不管這些頁按何順序被接收的程序代碼。在此還提供了存儲數據的方法,該數據被組織在根據邏輯頁地址順序而排序的多 個頁中,該方法包括(a)提供包括塊的存儲器,所述塊包括按字線寫順序連續(xù)被寫的多條 字線;(b)接收所述多頁數據;以及(C)將所述多頁寫入到所述多條字線,使得對于任意一 對被寫的字線,在該對中在寫順序中較早的字線已經被寫入了具有比被寫入到該對中在寫 順序中較晚的字線的至少一頁更高的邏輯頁地址的頁,而不管這些頁按何順序被接收。在此還提供了存儲數據的方法,該數據被組織在根據邏輯頁地址順序而排序的多 個頁中,該方法包括(a)接收所述多頁數據;以及(b)將各頁數據發(fā)送到包括塊的存儲器, 所述塊包括按字線寫順序連續(xù)被寫的多條字線,所述各頁按發(fā)送順序被發(fā)送,使得由于將 所述多頁寫入到所述多條字線,對于任意一對被寫的字線,在該對中在寫順序中較早的字 線已經被寫入了具有比被寫入到該對中在寫順序中較晚的字線的至少一頁更高的邏輯頁 地址的頁,而不管這些頁按何順序被接收。在此還提供了存儲器器件控制器,其可操作以(a)接收多個頁以存儲在存儲器 塊中,所述存儲器塊包括按字線寫順序連續(xù)被寫的多條字線,這些頁根據邏輯頁地址順序 被排序;以及(b)按發(fā)送順序將各頁發(fā)送到存儲器,使得由于將所述多頁寫入到所述多條 字線,對于任意一對被寫的字線,在該對中在寫順序中較早的字線已經被寫入了具有比被 寫入到該對中在寫順序中較晚的字線的至少一頁更高的邏輯頁地址的頁,而不管這些頁按 何順序被接收。在此還提供了一種系統,包括(a)非易失性存儲器,其中存儲了存儲器器件的驅 動器,該存儲器器件包括存儲器塊和寫電路,所述存儲器塊包括多條字線,所述寫電路可操作以按字線寫順序連續(xù)地寫字線,所述驅動器包括(i)用于接收多頁數據以存儲在存儲 器器件中的代碼,這些頁根據邏輯頁地址順序被排序;以及(ii)用于按照發(fā)送順序將各頁 發(fā)送到所述寫電路、使得由于將所述多頁寫入到所述多條字線、對于任意一對被寫的字線、 在該對中在寫順序中較早的字線已經被寫入了具有比被寫入到該對中在寫順序中較晚的 字線的至少一頁更高的邏輯頁地址的頁、而不管這些頁按何順序被接收的代碼;以及(b) 處理器,用于執(zhí)行所述代碼。在此還提供了計算機可讀存儲介質,具有嵌入在其上的計算機可讀代碼,所述計 算機可讀代碼是用于存儲器器件的驅動器代碼,該存儲器器件包括存儲器塊,具有多條字 線;寫電路,用于按字線寫順序連續(xù)地寫字線;以及讀電路,用于從所選字線讀,所述計算 機可讀代碼包括(a)用于接收多頁數據以存儲在存儲器器件中的程序代碼,這些頁根據 邏輯頁地址順序被排序;以及(b)用于按照發(fā)送順序將各頁發(fā)送到所述寫電路、使得由于 將所述多頁寫入到所述多條字線、對于任意一對被寫的字線、在該對中在寫順序中較早的 字線已經被寫入了具有比被寫入到該對中在寫順序中較晚的字線的至少一頁更高的邏輯 頁地址的頁、而不管這些頁按何順序被接收的程序代碼。在此給出了用于存儲數據的方法和相關器件,該數據被組織在根據邏輯頁地址順 序而排序的多個頁中。這些頁根據邏輯頁地址順序被排序每頁具有與其相關的用作該頁 的邏輯頁地址的各個唯一號碼,使得具有最低頁地址的頁按照該順序是第一頁,具有倒數 第二低頁地址的頁按照該順序是第二頁,等等。注意,根據邏輯頁地址的對頁的排序與這些 頁被接收以存儲的順序無關。在存儲這些頁數據的第一方法中,提供包括塊的存儲器。所述塊包括按字線寫順 序連續(xù)被寫的多條字線。接收所述多頁數據。所述多頁被寫入到所述多條字線,被連續(xù)地寫 入的各頁的邏輯頁地址順序為使得被寫入到所述字線中的任意一條的每頁具有比被寫入 到任意隨后被寫的字線的任意頁更高的邏輯頁地址,而不管這些頁按何順序被接收。注意, 對寫順序的此限制以及在此處給出的其他方法中的類似限制僅適用于該塊中,而不適用于 例如包括多于一個塊的存儲器的情況下的各塊之間或之中。在第一方法的一些實施例中,根據存儲在字線中的頁的邏輯頁地址順序順序地讀 兩條或更多條字線,使得與字線寫順序相反地讀字線。在已經讀了所述兩條或更多條字線 中的第一條后,根據從就在該字線之前被讀的字線所讀取的數據來讀隨后被讀的每條字 線。在這些實施例的一些中,就在“隨后被讀”的字線之前被讀的字線是根據字線寫順序的 “隨后被讀”的字線的緊挨的后一條(successor)。在第一方法的一些實施例中,在將各數據頁寫到各字線之前,緩存各數據頁。在這 些實施例的一些中,緩存足夠數量的數據頁以填充該塊的所有字線。在存儲數據頁的第二方法中,接收各頁然后將其發(fā)送到包括塊的存儲器。所述塊 包括按字線寫順序連續(xù)被寫的多條字線。這些頁按發(fā)送順序被發(fā)送到存儲器,使得被寫入 到所述字線中的任意一條的每頁具有比被寫入到任意隨后被寫的字線的任意頁更高的邏 輯頁地址,而不管這些頁按何順序被接收。第一存儲器器件控制器接收各頁用于存儲在存儲器塊中,所述存儲器塊包括按字 線寫順序連續(xù)被寫的多條字線。所述控制器將所這些按發(fā)送順序發(fā)送到存儲器塊,使得被 寫入到所述字線中的任意一條的每頁具有比被寫入到任意隨后被寫的字線的任意頁更高的邏輯頁地址,而不管這些頁按何順序被接收。第一存儲器器件包括所述第一存儲器器件控制器、所述存儲器塊和用于按字線寫 順序連續(xù)地寫字線的寫電路。第一存儲器器件的一些實施例還包括讀電路,用于從所選字線讀。這些實施例的 一些還包括緩沖器,讀電路存儲所選字線的數據;以及還有讀校正電路,用于根據緩沖器 中所存儲的數據來調整隨后被讀的字線的讀。通常,隨后選擇的字線是根據字線寫順序的 從其讀取了緩沖器中的數據的字線的緊挨的前一條(predecessor)。在包括讀電路的第一存儲器器件的一些實施例中,控制器還選擇要由讀電路連續(xù) 讀的兩條或更多條字線??刂破鹘邮沼伤鲎x電路讀取的數據。在從第一條所選字線讀之 后,對于每條隨后選擇的字線,所述控制器根據從在從該隨后選擇的字線讀之前緊挨著被 讀過的所選字線讀取的數據,來讀取該隨后選擇的字線的數據。在這些實施例的一些中,就 在“隨后被讀”的字線之前被讀的字線是根據字線寫順序的該“隨后被讀”的字線的緊挨的 后一條。第一存儲器器件的一些實施例還包括緩存,用于在將各數據頁寫到各字線之前, 存儲各數據頁。在第一存儲器器件控制器的一些實施例中,所述控制器還選擇要被連續(xù)讀取的兩 條或更多條字線。在從第一條所選字線讀之后,對于每條隨后選擇的字線,所述控制器根據 從在從該隨后選擇的字線讀之前緊挨著被讀過的所選字線讀取的數據,來讀取該隨后選擇 的字線的數據。在這些實施例的一些中,就在“隨后被讀”的字線之前被讀的字線是根據字 線寫順序的該“隨后被讀”的字線的緊挨的后一條。第一系統包括非易失性存儲器和處理器。在非易失性存儲器中存儲了用于存儲器 器件的驅動器,該存儲器器件包括存儲器塊和寫電路。所述存儲器塊包括多條字線。所述 寫電路按字線寫順序連續(xù)地寫字線。所述驅動器包括用于接收多頁數據以存儲在存儲器器 件中的代碼。所述驅動器還包括用于按照發(fā)送順序將各頁發(fā)送到所述寫電路、使得被寫入 到所述字線中的任意一條的每頁具有比被寫入到任意隨后被寫的字線的任意頁更高的邏 輯頁地址、而不管這些頁按何順序被接收的代碼。所述處理器執(zhí)行所述代碼。通常,第一系統還包括存儲器器件。在第一系統的一些這樣的實施例中,存儲器器 件還包括讀電路,用于從所選字線讀。然后驅動器還包括用于選擇要由所述讀電路讀取的 兩條或更多條字線的代碼;用于接收所述讀電路讀取的數據的代碼;以及用于在第一所選 字線的讀取后、對于每條隨后選擇的字線、根據從就在讀取該“隨后選擇”的字線之前被讀 的所選字線讀取的數據、讀取該隨后選擇的字線的數據的代碼。在這些實施例的一些中,就 在“隨后被讀”的字線之前被讀的字線是根據字線寫順序的該“隨后被讀”的字線的緊挨的 后一條。第一計算機可讀存儲介質具有嵌入在其上的計算機可讀代碼。該計算機可讀代碼 是第一存儲器器件的驅動器代碼。在存儲數據頁的第三方法中,提供包括塊的存儲器。所述塊包括按字線寫順序連 續(xù)被寫的多條字線。接收所述多頁數據。所述多頁被寫入到所述多條字線,使得對于任意 一對被寫的字線,在該對中在寫順序中較早的字線已經被寫入了具有比被寫入到該對中在 寫順序中較晚的字線的至少一頁更高的邏輯頁地址的頁,而不管這些頁按何順序被接收。
在存儲數據頁的第四方法中,接收各頁然后將其發(fā)送到包括塊的存儲器。所述塊 包括按字線寫順序連續(xù)被寫的多條字線。這些頁按發(fā)送順序被發(fā)送到存儲器,使得由于將 所述多頁寫入到所述多條字線,對于任意一對被寫的字線,在該對中在寫順序中較早的字 線已經被寫入了具有比被寫入到該對中在寫順序中較晚的字線的至少一頁更高的邏輯頁 地址的頁,而不管這些頁按何順序被接收。第二存儲器器件控制器接收各頁用于存儲在存儲器塊中,所述存儲器塊包括按字 線寫順序連續(xù)被寫的多條字線。所述控制器將所這些按發(fā)送順序發(fā)送到存儲器塊,使得由 于將所述多頁寫入到所述多條字線,對于任意一對被寫的字線,在該對中在寫順序中較早 的字線已經被寫入了具有比被寫入到該對中在寫順序中較晚的字線的至少一頁更高的邏 輯頁地址的頁,而不管這些頁按何順序被接收。第二系統包括非易失性存儲器和處理器。在非易失性存儲器中存儲了用于存儲器 器件的驅動器,該存儲器器件包括存儲器塊和寫電路。所述存儲器塊包括多條字線。所述 寫電路按字線寫順序連續(xù)地寫字線。所述驅動器包括用于接收多頁數據以存儲在存儲器器 件中的代碼。所述驅動器還包括用于按照發(fā)送順序將各頁發(fā)送到所述寫電路、使得由于將 所述多頁寫入到所述多條字線、對于任意一對被寫的字線、在該對中在寫順序中較早的字 線已經被寫入了具有比被寫入到該對中在寫順序中較晚的字線的至少一頁更高的邏輯頁 地址的頁、而不管這些頁按何順序被接收的程序代碼。所述處理器執(zhí)行所述代碼。第二計算機可讀存儲介質具有嵌入在其上的計算機可讀代碼。該計算機可讀代碼 是第二存儲器器件的驅動器代碼。存儲器器件的一個實施例包括存儲器塊和控制器,該存儲器塊包括多條字線。該 多條字線按照字線寫順序被連續(xù)地寫入。所述控制器控制數據在存儲器塊中的存儲。所述 控制器接收多頁以存儲在存儲器塊中。這些頁根據邏輯頁地址順序被排序。所述控制器按 照發(fā)送順序將各頁發(fā)送到存儲器塊,使得被寫入到所述字線中的任意一條的每頁具有比被 寫入到任意隨后被寫的字線的任意頁更高的邏輯頁地址、而不管這些頁按何順序被接收。存儲數據的方法的一個實施例包括提供包括塊的存儲器,該數據被組織在根據邏 輯頁地址順序而排序的多個頁中,其中所述塊包括按字線寫順序被連續(xù)地寫的多條字線。 所述方法還包括接收所述多頁數據;以及將所述多頁寫入到所述多條字線,被連續(xù)地寫入 的各頁的邏輯頁地址順序為使得被寫入到所述字線中的任意一條的每頁具有比被寫入到 任意隨后被寫的字線的任意頁更高的邏輯頁地址,而不管這些頁按何順序被接收。
參考附圖僅通過例子在此描述本發(fā)明,附圖中圖1是閃存器件的方框圖;圖2圖示圖1的閃存器件的存儲器單元陣列的示例結構;圖3A和3B圖示Yupin效應;圖4示出在緩存和通用塊之間將圖1的閃存器件的存儲器單元陣列的塊分區(qū)的一 種方式;圖5和圖6是圖1的一部分的放大圖;以及圖7是數據存儲系統的局部高級框圖。
具體實施例方式參考附圖和隨附的描述將更好地理解根據本發(fā)明的閃存器件的原理和操作?,F在參考附圖,圖1是閃存器件的方框圖。包括排列在矩陣中的多個存儲器單元 M的存儲器單元陣列1由列控制電路2、行控制電路3、c源極控制電路4和C-P-阱控制電 路5控制。列控制電路2連接到存儲器單元陣列1的位線(BL),用于讀取存儲在存儲器單 元(M)中的數據,用于在寫操作期間確定存儲器單元(M)的狀態(tài),以及用于控制位線(BL) 的電勢電平以支持(promote)寫或禁止寫。行控制電路3連接到字線(WL)以選擇各字線 (WL)之一,施加讀取電壓,施加與由列控制電路2控制的位線電勢電平組合的寫入電壓,以 及施加與P型區(qū)的電壓耦合的擦除電壓,其中各存儲器單元(M)形成在該ρ型區(qū)上。c源極 控制電路4控制與存儲器單元(M)連接的公共源極線。C-P-阱控制電路5控制C-P-阱電 壓。存儲在存儲器單元(M)中的數據被列控制電路2讀出,并經由I/O線和數據輸入 /輸出緩沖器6而輸出到外部I/O線。要存儲在存儲器單元中的編程數據經由外部I/O線 輸入到數據輸入/輸出緩沖器6,并被轉移到列控制電路2。外部I/O線連接到控制器20。用于控制閃存器件的命令數據被輸入到與外部控制線連接的命令接口,這些外部 控制線與控制器20連接。命令數據通知閃存請求了什么操作。輸入命令被轉移到狀態(tài)機 8,該狀態(tài)機8控制列控制電路2、行控制電路3、c源極控制電路4、c-p-阱控制電路5和數 據輸入/輸出緩沖器6。狀態(tài)機8可以輸出諸如READY(就緒)/BUSY(忙)或者PASS(通 過)/FAIL(失敗)的閃存的狀態(tài)數據。控制器20與或可與諸如個人計算機、數碼相機、個人數字助理的主機系統連接。 主機發(fā)起諸如向或從存儲器陣列1存儲或讀取數據的命令并分別提供或接收這樣的數據。 控制器20將這樣的命令轉換成可以被命令電路7翻譯并執(zhí)行的命令信號??刂破?0還通 常包含用于向或從存儲器陣列寫入或讀取的用戶數據的緩沖存儲器。通常的緩沖存儲器包 括一個集成電路芯片21以及一個或多個集成電路芯片22,該集成電路芯片21包括控制器 20,該一個或多個集成電路芯片22每個包含存儲器陣列和相關控制、輸入/輸出和狀態(tài)機 電路。當然,趨勢是將這樣的器件的存儲器陣列和控制電路一起集成在一個或多個集成電 路芯片上。存儲器器件可以被嵌入為主機系統的一部分,或者可以被包括在可移除地可插 入主機系統的配合槽中的存儲卡中。這樣的卡可以包括整個存儲器器件,或者,控制器和存 儲器陣列與相關的外圍電路可以被提供在分離的卡中。圖2圖示了存儲器單元陣列1的示例結構。將NAND快閃EEPROM作為例子描述。 在一個具體例子中,存儲器單元(M)被分區(qū)為IOM個塊。存儲在每塊中的數據同時被擦 除。因此塊是同時可被擦除的多個單元的最小單位。在此例子中,在每塊中,存在被劃分成 偶數列和奇數列的8512列。位線也被劃分成偶數位線(BLe)和奇數位線(BLo)。在每個 柵極處與字線(WL0到WL3)連接的四個存儲器單元串聯連接以形成NAND單元單位(NAND cellimit)。NAND單元單位的一端經由其柵極耦接到第一選擇柵極線(S⑶)的第一選擇晶 體管⑶而連接到相應位線(BL),另一端經由其柵極耦接到第二選擇柵極線(SGS)的第二 選擇晶體管( 而連接到c源極。盡管為了簡化示出四個浮置柵極晶體管被包括在每個單 元單位中,但是實踐中使用更多數量的晶體管,比如8、16或甚至32個。
在此例子中,在用戶數據讀取或寫操作期間,4256個單元(M)同時被選擇。所選的 單元(M)具有相同的字線(WL),例如WL2,以及相同種類的位線(BL),例如偶數位線BLeO到 BLe4255。因此,可以每單元一位地同時讀取或寫入532字節(jié)(每字節(jié)8位)的數據。同時 讀取或寫入的這532字節(jié)的數據形成邏輯頁。因此,一塊可以存儲至少八頁。在多級單元 (multi-levelcell)的情況下,使得每個存儲器單元存儲兩位數據,每塊存儲16頁。圖3A圖示了對于存儲單個位(single bit)的單元的Yupin效應。傳統上表示 “1”位的各單元在其擦除狀態(tài)中的閾值電壓按分布110而統計地分布。通過注入足夠的電 荷到單元的浮置柵極中以將單元的閾值電壓升高到值Vtl以上,“0”位被寫入該單元。因為 注入過程是隨機的,因此按分布130,存儲“0”位的單元的閾值電壓也統計地分布。為了讀 單元,將該單元的閾值電壓與參考電壓Vk相比較。如果單元的閾值電壓超過Vk,則認為該 單元存儲“0 ”位。否則,認為該單元存儲“ 1”位?,F在假設圖2的塊的第一字線mi)已經被寫。寫第二字線WLl的各單元也增加字 線Wi)的一些單元的閾值電壓。字線Wi)的一個單元的主要干擾是由于共享相同位線BL的 字線WLl的單元如果字線WLl的該單元未被寫,則相同位線BL上的字線mi)的該單元的 閾值電壓未增加,但是寫字線WLI的單元趨向于也增加共享相同位線BL的字線mi)的單元 的閾值電壓。與字線WLl的被寫的單元共享相同位線BL的字線mi)的單元的閾值電壓分 布向上漂移了量Δ,而到漂移后的閾值電壓分布120和140。用“0”位寫過的字線mi)的 單元仍具有在Vtl以上的閾值電壓,因此仍被正確地讀為存儲“0”位;但是,假設要存儲“1” 位的字線Wi)的一小部分未被寫的單元的閾值電壓已經漂移到vR以上,因此被不正確地讀 為存儲“0”位??梢岳斫?,在每單元存儲多于一位的單元、使得相關閾值電壓分布比在圖 3A所示的每單元單個位中的更窄并擠在一起的情況下,由Yupin效應引起甚至更多的讀誤 差。圖;3B圖示了對于每單元存儲兩位的單元的Yupin效應。傳統上表示位對(bit pair) “11”的單元在其擦除狀態(tài)中的閾值電壓按分布112統計地分布。通過將足夠的電荷 注入到單元的浮置柵極中以將單元的閾值電壓升高到相應閾值電壓值以上來將不同的位 對(“10”、“00”或“01”)寫入該單元V1Q用于位對“10”,Vcitl用于位對“00”和Vtll用于位 對“01”。在圖:3B給出的例子中,ViciCVciciCVci1,但是也可以用其他約定。因為注入過程是 隨機的,因此存儲不同于“ U”的位對的單元的閾值電壓也是統計地分布存儲位對“ 10”的 單元的閾值電壓按分布122而分布,存儲位對“00”的單元的閾值電壓按分布132而分布, 以及存儲位對“01”的單元的閾值電壓按分布142而分布。為了讀單元,將該單元的閾值電 壓與10參考電壓VK1(1、Veoo和Vkci1相比較。如果該單元的閾值電壓在Vkci1以上,則認為該單 元存儲位對“01”。如果該單元的閾值電壓在閾值電壓間隔(V·,VeoJ中,則認為該單元存 儲位對“00”。如果該單元的閾值電壓處于閾值電壓間隔(VKCI1,Veoo]中,則認為該單元存儲 位對“ 10”。否則認為該單元存儲位對“ 11 ”?,F在假設圖2的塊的第一字線mi)已經被寫。寫第二字線WLl的單元還增加字線 WLO的一些單元的閾值電壓。字線mi)的單元的主要干擾是由于共享相同位線BL的字線 WLl的單元如果字線WLl的該單元未被寫,則相同位線BL上的字線Wi)的該單元的閾值 電壓未增加,但是寫字線WLl的單元趨向于也增加共享相同位線BL的字線Wi)的單元的閾 值電壓。與字線WLi的被寫的單元共享相同位線BL的字線mi)的單元的閾值電壓分布向上漂移了量Δ,而到漂移后的閾值電壓分布114、124、134和144。用位對“01”寫過的字線 WLO的單元仍具有在Vki1以上的閾值電壓,因此仍被正確地讀為存儲“01”位;但是,假設要 存儲位對“11”、“10”和“00”的字線Wi)的一小部分單元的閾值電壓已經分別移動到VK1Q、 以上,因此被不正確地讀。為了簡化圖示,所有四個閾值電壓分布被圖示為漂移 了相同的漂移量△。實踐中,可以存在多達十六個不同的△,對應于相同位線上的相鄰單 元的十六個不同的位對組合。如上所述,存在兩種已知的減輕Yupin效應的一般方法。在第一方法中,在讀字線Wi)之前,讀字線WLl。如果字線WLl的單元的閾值電壓 大于Vtl,則將適當的值△添加到有關參考電壓以提供調整的參考電壓,用于讀與字線WLl 的單元共享位線BL的字線mi)的單元。在如圖;3B所示的僅與每單元多位的情況相關的第二方法中,當字線Wi)和WLl被 寫時,要存儲不同于“11”的位對的字線Wi)的單元的閾值電壓僅升高到相應中間電平以 上不同于Vltl的Vlltl、不同于Vcitl Wvicitl,以及不同于Vtll WV1010然后,要存儲不同于“11”的 位對的字線WLl的單元的閾值電壓僅升高到V11(1、V100或V皿以上,而不是V1(1、V00或V11以 上。然后要存儲不同于“11”的位對并且還未在第二寫步驟中由于Yupin效應而升高到期 望的最終閾值電壓值ν1(ι、νΜ或Vtll以上的字線mi)的單元的閾值電壓被如此升高。類似地, 對要存儲不同于“11”的位對的字線WLl的單元的寫的完成被推遲直到要存儲不同于“11” 的位對的字線WL2的單元的閾值電壓升高到適當的中間閾值電壓值以上之后。該方法減輕 了 ^pin效應對要存儲不同于“11”的位對的單元的影響,但是沒有減輕^pin效應對將仍 保持在其擦除狀態(tài)中以表示位對“11”的單元的影響。還如上所述,第一方法的問題是為了正確地讀字線,必須讀(至少)兩條字線,這 (至少)使讀字線所需的時間加倍。但是,在閃存的主機按連續(xù)邏輯順序向一塊寫入各頁 然后按相同的連續(xù)邏輯順序讀取各頁的典型情況下,可以通過以相反的順序寫相應字線來 減輕Yupin效應具有最低邏輯地址的頁(如主機所見的塊中的第一頁)被存儲在最高編 號(最后被寫入)的字線中,并且具有最高邏輯地址的頁(如主機所見的塊的最后頁)被 存儲在最低編號(首先要被寫入)的字線中。當主機發(fā)送要被存儲在塊中的連續(xù)頁時(從 低邏輯頁地址到較高邏輯頁地址進行),各頁最終按物理塊中的相反的物理順序邏輯頁 號越高,相應字線編號越低。為了簡化,在以下例子中,假設每個字線寫入一頁。擴展到如圖2所示的每個字線 兩頁的情況或者每字線多于兩頁是簡單明了的。以下是當主機從最初到最后順序地請求一塊中的所有頁時的事件的序列。相比于 用于校正Yupin效應的已知方法,效率的改進是明顯的。1.主機請求頁0。2.從塊的最后字線讀取頁0數據。最后字線不經受明顯的耦合效應,因為在最后 的字線被寫過之后,沒有寫其他字線。因此,不需要應用校正。3.頁0數據被發(fā)送到主機,并還被保持用于將來使用。4.主機請求頁1。5.使用根據頁0的數據的校正從塊的倒數第二(next-to-last)字線讀取頁1數 據。
6.頁1數據被發(fā)送到主機并還被保持用于將來使用。可以丟棄頁0數據。7.主機請求頁2。8.使用根據頁1的數據的校正,從塊的倒數第三字線讀取頁2數據。9.頁2數據被發(fā)送到主機并還被保持用于將來使用??梢詠G棄頁1數據。等等。上述方案的有效性是在根據各頁的主機的邏輯排序從最后到第一地寫入各頁的 條件下的。如公知的,多級閃存器件要求(mandate)寫順序是從第一(最低地址)字線到 最后字線。因此,這種減輕Yupin效應的方法不具有普遍適用性,因為當閃存器件接收到要 存儲在塊中的第一頁時,該器件不能像使該方法可適用所要求的那樣將該頁存儲在該塊的 最后物理字線中。不過,該方法完全適用于使用自緩存方案的閃存系統。在這樣的系統中,到來的數 據首先被存儲在臨時緩沖器中,并在稍后的階段被轉移到其目標位置。圖4示出了將存儲 器單元陣列1的各塊分組以使用這些塊中的一些作為這種臨時緩沖器的一種方式。在圖4 中,塊0到塊9是其中到來的數據被臨時存儲到的緩存塊,并且塊10到1023是用于長期存 儲的通用塊。通常,數據每單元一位地被存儲在10個緩存塊0到9中,因為每單元寫入一 位比每單元寫入幾位快得多。然后,在后臺(in background),數據被轉移到長期存儲塊,用 于更緊致的存儲。而且,通常,緩存塊的角色不是靜態(tài)的,而是在各塊之間動態(tài)地移動,為了 磨損均勻。數據的轉移通常在已經知道目標塊的所有內容時進行內容位于緩沖器中或者 器件內的不同永久位置中(對于自從上次更新未被重寫過的頁)。因此,數據移動過程可以 從最低字線到最高字線填充目標塊,而同時確保數據最終按照對使得新方法可適用來說關 鍵的倒序方案。再次參考圖1,使用控制器20以及可選地還使用命令電路7實現該新方法。以下 是兩個示例的替換構造。A.新方法由控制器20和命令電路7協作地實現。每當命令電路7接收到讀取請 求時,命令電路7將所取回的數據保持在內部臨時緩沖器中。當請求下一頁時,如果下一頁 被存儲作為在低于與內部緩沖器中的數據對應的字線的一個字線的字線中(即就在與內 部緩沖器中的數據對應的字線之前緊挨著被寫的字線中),則命令電路7根據所保持的數 據,按在第一已知方法中調整參考閾值電壓值的方式來調整這些參考閾值電壓值。如果下 一所請求的頁未被存儲在作為低于與內部緩沖器中的數據對應的字線的一個字線的字線 中,則控制器20回復到(revert to)第一已知方法。為了使本實施例有用,控制器20必須 協作并發(fā)出(當主機順序地讀時)從最高地址到最低地址存取字線的讀命令,這在自緩存 系統中是容易進行的。注意,不需要針對寫入而修改芯片上的電路22:寫順序的反向由控 制器20進行,并且芯片上的電路22僅從最低字線到最高字線向一塊的字線寫入數據。圖 5是圖1的一部分的放大圖,示出命令電路7包括讀電路72,用于讀所選字線;緩沖器74, 用于臨時存儲有讀電路72讀取的數據;以及讀校正電路,用于根據存儲在緩沖器74中的數 據來調整由讀電路72使用的參考閾值電壓值。B.在控制器20中整個實現該新方法,并且不針對寫或讀而修改芯片上的電路22。 反向的寫和在讀時的校正兩者由控制器20執(zhí)行。寫與實施例“A”中的相同。為了讀,控制 器20發(fā)送讀命令以按倒序讀各頁。從各單元讀取的數據被發(fā)送到控制器20,并且不在電 路芯片22中保存拷貝。控制器20將誤差校正應用于數據,并將數據發(fā)送到主機。控制器20將數據保持在臨時緩沖器中用于支持下一頁讀取的誤差校正,以用于下一頁讀取將從向 下的下一字線讀取的情況。如果下一頁確實是從向下的下一字線讀取的,則控制器20的誤 差校正機制使用先前頁的數據來增強其誤差校正能力。將這樣的增強直接應用于使用諸如 LDPC算法或者Turbo算法的概率誤差校正解碼算法來工作的誤差校正模塊中。先前頁的 數據由控制器20使用以調整誤差校正解碼處理開始時的初始概率。關于期望的耦合效應 的信息的可用性提供了關于期望的誤差的信息,并且可能顯著改善誤差校正處理。不僅解 碼器收斂得更快,具有隨附的功率和性能益處,而且可校正的誤差情景的范圍擴大。換句話 說,一旦耦合數據可用并被使用,在對從電路芯片22接收的數據進行盲操作時不可由概率 誤差校正解碼算法校正的頁中的誤差分布的某些情景就變得可校正。再換句話說,通過與 新方法結合地實現,極大地改進了可由給定的誤差校正模塊矯正的平均單元誤差率。圖6是圖1的放大圖,示出控制器20包括兩個緩沖器202和204,用于存儲從 連續(xù)讀的字線讀的頁;以及誤差校正模塊206,用于如果先前讀取的頁是從就在最近讀取 的頁的字線之后緊挨著被寫的字線讀取的,則根據先前讀取的頁的數據來校正最近讀取的 頁。還可以以軟件形式在模擬控制器20的數據存儲系統中實現構造B。圖7是這種數 據存儲系統200的局部高級框圖。數據存儲系統200包括處理器210和四個存儲器器件、 RAM 220、引導(boot)ROM 230、海量存儲器件(硬盤)240和閃存器件270,其都經由公共總 線280通信。閃存器件240包括閃存沈0,其與在圖1的電路芯片22上制造的圖1所示的 閃存器件的一部分基本一致,但是缺少其自己的控制器。而是,處理器210通過執(zhí)行存儲在 海量存儲器件MO中的驅動器代碼(driver code) 290來模擬控制器20。驅動器代碼四0 實現標準閃存控制,并且還實現構造B的方法,用于寫和讀數據。驅動器代碼290通常被包 括在系統200的操作系統代碼中,但是也可以是獨立的代碼。閃存器件240還包括總線接 口 250,以使處理器210能夠與閃存260通信。海量存儲器件240是承載用于以軟件形式實現構造B的計算機可讀驅動器代碼的 計算機可讀存儲介質的例子。這種計算機可讀存儲介質的其他例子包括諸如光盤的只讀存 儲裝置。需要按照嚴格的最后到第一的邏輯頁順序來寫入各頁。以下是根據圖IBB的編碼 將具有邏輯地址0-7的八個頁寫到每單元存儲兩位的四條字線的單元的閃存塊的例子。各 頁的最重排序根據下表
字線最高有效位最低有效位WLO頁6頁7WLl頁4頁5WL2頁2頁3WL3頁1頁1
如果各頁按嚴格的最后到第一的邏輯順序被寫入,則例如將通過把要存儲“0”位 的單元編程到“10”閾值電壓范圍同時跳過要存儲邏輯頁7的“1”位的單元,使得這些單元 保持在“11”閾值電壓范圍中來將邏輯頁7首先寫到札0。然后邏輯頁6將如下被寫到Wi) 跳過要存儲邏輯頁7的“1”和邏輯頁6的“1”的單元,與要存儲邏輯頁7的“0”和邏輯頁6 的“1”的單元一樣。要存儲邏輯頁7的“0”和邏輯頁6的“0”的單元從“10”閾值電壓范 圍升高到“00”閾值電壓范圍。要存儲邏輯頁7的“1”和邏輯頁6的“0”的單元從“11”閾 值電壓范圍升高到“01”閾值電壓范圍。然后邏輯頁5和4將類似地被寫到WLl。然后邏輯 頁3和2將類似地被寫到WL2。最后,邏輯頁1和0將類似地被寫到WL3。但是不是必需按照嚴格的最后到第一的邏輯順序寫入各頁。以下寫順序也是合適 的 將邏輯頁7寫到mi)的最低有效位。然后將邏輯頁5寫到WLl的最低有效位。然后將邏輯頁6寫到Wi)的最高有效位。然后將邏輯頁3寫到WL2的最低有效位。然后將邏輯頁4寫到WLl的最高有效位。然后將邏輯頁1寫到WL3的最低有效位。然后將邏輯頁2寫到WL2的最高有效位。最后將邏輯頁0寫到WL3的最高有效位。已經描述的在閃存中寫和讀數據的方法和使用該方法的器件和系統的有限數量 的實施例。將認識到,可以做出對各方法、器件和系統的許多變更、修改和其他應用。
權利要求
1.一種存儲數據的方法,該數據被組織在根據邏輯頁地址順序而排序的多個頁中,所 述方法包括提供包括塊的存儲器,所述塊包括按字線寫順序連續(xù)被寫的多條字線; 接收所述多頁數據;以及將所述多頁寫入到所述多條字線,被連續(xù)地寫入的各頁的邏輯頁地址順序為使得被寫 入到所述字線中的任意一條的每頁具有比被寫入到任意隨后被寫的字線的任意頁更高的 邏輯頁地址,而不管這些頁按何順序被接收。
2.如權利要求1的方法,還包括順序地從至少兩條字線,根據存儲在其中的頁的邏輯頁地址順序來讀;以及 對于在讀所述至少兩條字線的第一條之后被讀的所述至少兩條字線中的每條字線,根 據從至少兩條字線中的在該每條字線之前緊挨著被讀的字線中讀取的數據來讀取所述每 條字線的數據。
3.如權利要求2的方法,其中在所述每條字線之前緊挨著被讀的字線是根據字線寫順 序的所述每條字線的緊挨的后一條。
4.如權利要求1、2或3所述的方法,還包括 在將各頁寫到各字線之前,緩存各頁數據。
5.如權利要求4的方法,其中緩存足夠數量的頁的數據以填充所述塊的所有字線。
6.一種存儲器器件,包括存儲器塊,包括多條字線,所述多條字線按字線寫順序連續(xù)被寫;以及 控制器,其控制所述存儲器塊中的數據的存儲,所述控制器接收多頁以存儲在所述存 儲器塊中,這些頁根據邏輯頁地址順序被排序,所述控制器按發(fā)送順序將這些頁發(fā)送到所 述存儲器塊,使得被寫入到所述字線中的任意一條的每頁具有比被寫到任意隨后被寫的字 線的任意頁更高的邏輯頁地址,而不管這些頁按何順序被接收。
7.如權利要求6的存儲器器件,還包括與所述多條字線和所述控制器通信的寫電路,所述寫電路按字線寫順序連續(xù)地寫這些字線。
8.如權利要求7的存儲器器件,還包括 用于從所選字線讀的讀電路。
9.如權利要求8的存儲器器件,還包括緩沖器,所述讀電路將所選字線的數據存儲在所述緩沖器中;以及 讀校正電路,用于根據存儲在所述緩沖器中的數據來調整所述讀電路從隨后選擇的字 線的讀。
10.如權利要求9的存儲器器件,其中如果根據字線寫順序,隨后選擇的字線是緩沖 器中的數據被讀的字線的緊挨的前一條,則所述讀校正電路調整從所述隨后選擇的字線的讀。
11.如權利要求8的存儲器器件,其中所述存儲器器件控制器選擇要由所述讀電路連 續(xù)地讀的至少兩條字線,接收由所述讀電路讀取的數據,并在從第一選擇的字線讀后,根據 從在從每條隨后選擇的字線讀之前緊挨著被讀過的所選字線讀取的數據,通過從每條隨后選擇的字線讀取數據來從每條隨后選擇的字線讀。
12.如權利要求11的存儲器器件,其中在每條隨后選擇的字線之前緊挨著被讀過的所 選字線是根據字線寫順序的所述每條隨后選擇的字線的緊挨的后一條。
13.如權利要求7的存儲器器件,還包括緩存器,用于在將各頁寫到各字線之前存儲這些頁數據。
14.如權利要求6的存儲器器件,其中所述存儲器器件控制器選擇要被連續(xù)地讀的至 少兩條字線,接收由此讀取的數據,并在從第一選擇的字線讀后,根據從在從每條隨后選擇 的字線讀之前緊挨著被讀過的所選字線讀取的數據,通過從每條隨后選擇的字線讀取數據 來從每條隨后選擇的字線讀。
15.如權利要求14的存儲器器件,其中在每條隨后選擇的字線之前緊挨著被讀過的所 選字線是根據字線寫順序的每條隨后選擇的字線的緊挨的前一條。
全文摘要
為了在其字線按字線寫順序連續(xù)被寫的存儲器塊中存儲通過邏輯頁地址排序的多個數據頁,各頁被寫入到字線使得被寫入到字線中的任意一條的每頁具有比被寫到隨后被寫的字線的任意頁更高的邏輯頁地址,而不管各頁按何順序被接收用于寫?;蛘?,各頁被寫到這些字線,使得對于每對被寫的字線,在該對中在寫順序中較早的字線已經被寫入了具有比被寫入到該對中的另一字線的至少一頁更高的邏輯頁地址的頁。
文檔編號G11C16/10GK102067237SQ200980122793
公開日2011年5月18日 申請日期2009年6月15日 優(yōu)先權日2008年6月16日
發(fā)明者梅納赫姆·拉瑟 申請人:桑迪士克以色列有限公司