TWI360125B - Flash memory device, system and method with random - Google Patents

Flash memory device, system and method with random Download PDF

Info

Publication number
TWI360125B
TWI360125B TW096148250A TW96148250A TWI360125B TW I360125 B TWI360125 B TW I360125B TW 096148250 A TW096148250 A TW 096148250A TW 96148250 A TW96148250 A TW 96148250A TW I360125 B TWI360125 B TW I360125B
Authority
TW
Taiwan
Prior art keywords
data
randomized
memory
original
volatile memory
Prior art date
Application number
TW096148250A
Other languages
English (en)
Other versions
TW200845012A (en
Inventor
Eran Sharon
Idan Alrod
Original Assignee
Sandisk Il Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/808,905 external-priority patent/US8370561B2/en
Application filed by Sandisk Il Ltd filed Critical Sandisk Il Ltd
Publication of TW200845012A publication Critical patent/TW200845012A/zh
Application granted granted Critical
Publication of TWI360125B publication Critical patent/TWI360125B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Description

1360125 九、發明說明: 【發明所屬之技術領域】 本發明一般係關於快閃記憶體儲存系統。明確地說, 發明係關於一快閃記憶體系統,其中該快閃記憶體能詞: 對每記憶體單元儲存多個位元,且其中特定干擾效應係最 【先前技術】 元 快閃記憶體裝置已為人所知許多年。通常,一快閃記憶 體内之每-單元儲存—位元之資訊。傳統上,健存—位: 之方式一直係藉由支援該單元的兩個狀態:一狀態表示— 邏輯而另—狀態表示—邏輯"1"。在—快閃記㈣= 中3玄兩個狀態係藉由在該單元的通道(連接該單元的電 晶體之源極與汲極元件的區域)之上具有一浮動閘極與針 對儲存於此浮動閘㈣之電荷量具彳兩個有效狀態來實 施。通常,一狀態係在該浮動閘極中具有零電荷並係該單 在係抹除之後的初始未寫入狀態(常係定義以表示"丨"狀 態)而另一狀態係在該年動閘極中具有一定負電荷量(常係 疋義以表不"0”狀態)。在該閘極中具有負電荷引起該單元 的電晶體之臨界電壓(即必須施加至該電晶體的控制閘極 以便引起該電晶體導電的電壓)增加。現可藉由檢查該單 元的臨界電壓來讀取儲存的位元-若該臨界電壓處於較高 狀態則忒位元值係”〇”而若該臨界電壓處於較低狀態則該 位元值係"1"。實際上,不需要精確地讀取該單元的臨界 電壓-唯一需要的係正確識別該單元當前位於該兩個狀態 127455.doc 之何狀態。出於該目的,足以針對處於該兩個狀態之間的 中間之一參考電壓值進行一比較,並因而決定該單元的臨 界電壓是否低於或高於此參考值。 圖1A以圖形方式顯示此如何工作。明確地說,圖1A顯 不眾夕單元之臨界電壓的分佈。因為一快閃裝置中的單元 在其特徵與性能上不完全相同(例如,由於雜質濃度的較 小變更或由於矽結構中的缺陷所致),對所有單元應用相 同程式化操作並不引起該等單元全部精確地具有相同的臨 界電壓。(應注意,出於歷史原因,冑資料寫入至一快閃 記憶體通常稱為"程式化,,該快閃記憶體。此處可交換地使 用術D。寫入與程式化"。)而該臨界電壓係以類似於圖 1A所不之方式來分佈。儲存—”r值的單元通常具有一負 臨界電壓,以使得大多數單元具有接近藉由圖以之左峰值 顯示之值的臨界電壓’纟中某些更小數目的單元具有較低 或較高臨界電壓。同樣’儲存一 "〇,,值的單元通常具有一 正臨界電壓,以使得大多數單元具有接近藉由訊之右峰 值顯示之值的臨界電壓,其中某些更小數目的單S具有較 低或較高臨界電壓。 近年來,一種新的快聞奘日士 + 但I』「穴π衮置已出現在市場上,其使用傳 統上稱為"多層單元”或符 及簡稱MLC的技術。(此術語係誤 導,因為先前類型的快閃單元亦具有一個以上層:其具有 兩個層,如上所i。因&,此處該兩種快閃單元稱為"單 一位元單元,,(SBC)與"多位 旱70 (MBC)。)由MBC快閃帶 來的改良係每一單元中兩個位元
卿伍70的儲存。(原則上,MBC I27455.doc ^60125 還包括每單元兩侗L , 調二位元情況:的館存。為簡化說明,此處強 元兩個 …、而’應明白本發明同樣適用於支援每單 :兩個以上位元的快閃記憶體裝置。為使一單一單元儲
個位X的貧訊,該單元必須能夠處於四個不同狀態之 。因為該單元的"狀態"係藉由其臨界電屢來表 顯然-職單元應支援針對其臨界·之四個不同的有效 &圍。圖1B顯示針對-典型MBC單元之臨界電壓分佈。如 所預期,圖1B具有四個峰值,各對應該等狀態之―者。至 於SBC情況,各狀態實際上係臨界電壓之範圍而非一單一 臨界電壓。當讀取該單元的内容時,唯-必須保證的係該
ΌΌ A 早7L的臨界電壓所處的範圍係正確識別。對於一mbc快閃 裝置之一先前技術範例,參見頒給Harari的美國專利第 5,434,825 號。 §將一 MBC單元中的兩個位元編碼為四個狀態之一者 時,常見的係使圖1B中最左狀態(通常具有一負臨界電壓) 表示兩個單元皆具有"1"值的情況。(在下面的說明中,使 用以下標記-單元的兩個位元係稱為"下位元"與"上位元"。該 等位元之一確切值係寫成["上位元” ”下位元”]的形式,其 中下位元在右側。故下位元為"〇"而上位元為”丨,,的情況係 寫為"10"。應明白’此術語與標記的選擇係任意的,並可 使用其他名稱與編碼。)使用此標記,最左狀態表示”丨丨I,的 情況。其他三個狀態係解說為按以下從左至右的順序指派 "10"、"00"、"01"。可參見頒給Chen的美國專利第 6,522,580號中如上所述使用此編碼之一 MBC NAND快閃裝 127455.doc 置之-實施方案的範例,其專利如在本文中完整提出而出 於所有目的以引用方式併入本文中。特定言之,參見㈤ 的專利的圖8。然而,應注意本發明並不取決於此狀態之 才曰派並可使用其他排序。當讀取一 Μ%單元的内容時, 必/頁正確識別該單凡的臨界電壓所處之範圍;只是在此情 況中此點不能總是藉由與—參考電壓相比較來實現,並且 數個比較可能係必要的。例如,在圖1Β所解說的情況中, 讀取下位7L之-方式係首先比較該單元的臨界電壓與一參 考比較電壓Κ並接著根據該比較的結果來比較該單元的臨 界電£與零參考比較電壓或一參考比較電壓V”讀取下 元之另方式係無條件地比較該單元的臨界電壓與該零 參考電壓及G兩者。在任一情況中,皆需要兩個比較。 MBC裝置提供一較大的成本優點使用一類似大小的單 70單元儲存兩個位元而非一位元。然而’使用MBC快 閃亦存在某些缺點-MBC記憶體的平均讀取與寫入時間比 似記憶體的平均讀取與寫入時間長,從而導致較低的效 能。而且,MBC的可靠性低於SBC。此可容易地明白· MBC中臨界電壓範圍之間的差比sbc中小得多。因而, SBC中由於兩個狀態之間的較大間隙而可能未注意的臨界 電壓中之一干擾(例如引起一臨界電壓漂移的儲存電荷之 茂漏、來自對相鄰單元之操作的干涉等)可能引起一匿 單元從-狀態移至另一狀態’從而導致一錯誤位元。最終 結,係MBC單元在資料保留時間或裝置對許多寫入/抹除 循裒之耐久f生方面的較低品質規格。目而,使用Μ%單元 127455.doc
ZD 與SBC單元兩者存在優點, 選擇可根據應用的要求而不 同0 雖然以上說明係關於浮動閘極快閃記憶體單元,但存在 的快閃記憶體技術。例如,在腦職閃記憶體 技術中,不存在導電浮動 # # ,但作為替代存在一絕緣層 =電何。本發明同樣適用於所有快閃記憶體類型,儘管 此處的說明係在浮動閘極技術之背景下給出。 快閃記憶體裝置中存在數個 ^ ^ ^ 6 錯誤源。如上所述,一此類 二電子自一記憶體單元之閉極的线漏,其可能將該單 Π:始寫入狀態偏移至另-不正確狀態,從而導致在讀 兀錯误。本發明主要係關於通常 稱為%式干擾,,或簡稱為”pD” 在該快閃裝置"堵存資…:來源。不同於導致 ’、較長時間週期内錯誤之緩慢累 類型效應,該PD效應導致緊隨資料係 之皁兀中的錯誤之立即出現。 #直 該pD效心丨起未預期進行寫 始最左狀皞務s宜甘 升,心地從其初 臨界嶋以使…、狀態。(此處的說明採取输製該 與⑺。此示較低值的慣例’亦用於圖Μ 發明之p #意的實施且不應係視為以任何方式限制本 " &可〇 )參考圖⑺之每單元二位元的範例,發現處 於對應”11”位一 祀1 J發現處 左狀雜的單-Γ 對應該單元的抹除狀態)之最 態的”10,,,從保持於此類狀態的單元處於緊鄰最左狀 -位元不正確而Γ來自儲存於此類單元中的兩個位元之 確。在某些情況下,尤其係在每單元館存兩個 127455.doc 1360125 以上位元並具有四個以上狀態的單元中,PD效應可能結果 不僅係作為從最左狀態至其緊鄰狀態之一移動,並還係作 為從最左狀態至更遠狀態的移動,且還係作為從非最左狀 I之狀態至其右側之另一狀態的移動(即具有一更高的 臨界電壓)。然而,上面首先說明的從最左狀態移至其緊 鄰相鄰狀態的情況係最常見的並將在此處用於所有範例與 說明而不限制本發明之方法的一般性。 藉由作為說明PD效應之原因的背景,與Chen的專利之 圖1相同的圖2係一典型先前技術快閃記憶體裝置的方塊 圖。藉由一行控制電路2、一列控制電路3、一 c源極控制 電路4及一 c_p井控制電路5來控制一記憶體單元陣列ι,其 包括配置成一矩陣的複數個記憶體單元M ^將行控制電路 2連接至記憶體單元陣列}之位元線(BL)用以讀取儲存於記 憶體單元(M)中之資料,在程式操作期間決定記憶體單元 (M)之狀態以及用以控制位元線(BL)之電壓位準,以促進 程式化或禁止程式化。將列控制電路3連接至字線(WL)以 選擇字線(WL)之一者,施加讀取電壓,施加與藉由行控 制電路2控制的位元線電壓位準組合之程式化電壓,以及 施加與其上形成s己憶體單元(M)的p型區域之電壓耦合的抹 除電壓。一c源極控制電路4控制一連接至該等記憶體單元 (M)之共用源極線。c_p井控制電路5控制e_p井電壓。通 吊’在一 NAND快閃裝置巾,藉由__字線控制之單元對應 該裝置之一或兩個頁,並且該等字線係組織成區塊,其中 每一區塊通常包括若干字線,其係2之適度冪,例如 127455.doc 丄湖125 NAND,^^ ^ ^ ^ ^. 1單:一區塊係-财仙快閃裝置的最小單元, 其早70可以係—起抹除。 早凡 來::=:!記憶體單元(M)中的資料係藉由行控制電路2 Γ 等記憶料元中的程式資㈣經由
”電路2至資料輸入/輸出緩衝器6,並傳輸至該行 電路2°該等外部1/0線係連接至-控制器2〇。 人用於控制該快閃記憶體裝置之命令資料係輸人至一命令 ^面’其係連接至與控制請連接的外部控制I該命令 資枓通知該快閃記憶體何種操作係請求。將輸入命令傳輸 至狀態機8,其控制行控制電路2、列控制電路h源極控 制電路4、c - p井控制電路5及資料輸入/輸出緩衝器6。狀態 機8可輸出該快閃記憶體之狀態資料,例如準備/忙碌或通 過/失敗。 控制器20係連接或可連接一主機***,例如個人電腦、 數位相機、個人數位助理。其係主機起始命令,例如將資 料儲存至記憶體陣列i或從記憶體陣列1讀取資料,並分別 提供或接收此類資料。控制器20將此類命令轉換成命令信 號’其可藉由命令電路7來解譯與執行。控制器2〇通常還 包含用於寫入至記憶體陣列1或從記憶體陣列丨讀取的使用 者資料之緩衝器記憶體。一典型記憶體系統包括一積體電 路晶片21 (其包括控制器2 〇)及各包含一記憶體陣列及相關 聯控制、輸入/輸出及狀態機電路的一或多個積體電路晶 127455.doc •13- 1360125 片22。當然,趨勢係將一系統之記憶體陣列與控制器電路 一起整合在一或多個積體電路晶片上。該記憶體系統可以 係作為該主機系統之部分來援入或可包括於一記憶卡中, 該記憶卡可以可移除方式***主機系統之配合插座令。此 一卡可包括整個記憶體系統,或可將具有相關聯周邊電路 的控制器與記憶體陣列提供於分離的卡中。 當檢視在程式化一頁時施加至一NAND快閃裝置之單元
的電壓時可容易地明白PD效應的原因。當程式化一頁單元 時,一才目對較高的電壓係施加至連接至該頁之I元之控制 閘極的字線。決定—特定單元臨界錢是否係由於此控制 閘極電麼而增加的係施加至連接至該單元之位元線的電 壓。不使用資料寫入之一單元(即,保持抹除狀態,其表 示全一狀態)使m線連接至―相對較高的㈣位準, 其最小化橫跨該單元的電壓差。要寫人之—單元使其位元 線連接至低電壓,從而引起橫跨該單元之—較大電壓差並
導致該單元的臨界《係增加,目而使料元在_之電 壓軸上向右移動並引起該單元的狀態改變。 然而,儘管不欲進杆耷 _ 士分 仃冩入之早兀比欲進行寫入之單元具 有橫跨其之一更低電壓差, _ .^ 仁不進仃寫入的單元仍具有橫 垮其的某一電壓差。 右要進仃寫入的頁具有寫入至高臨界 電壓(例如至最右狀態)的某此 认雨矿 年7^則杈跨非程式化單元 的電壓差變得更高。此係因為 pe ^ ^ 該頁之所有單元之所有控制 閉極獲付施加至其的相同電壓, 古 塾並且要達到的臨界電壓越 间,S亥電壓越高。因此 更两控制閘極(即字線)電壓施 127455.doc -14- 加至某些單元的需要導致該等非程式化單元處之更高電壓 差。儘管該等單元係以不受此類預期電壓差影響的目標進 行叹彳,但在實際NAND快閃裝置中此類電壓差對該等單 元施加應力並可能導致某些單元改變其狀態,即使此並非 預期亦非所需。 總結以上說明,PD係當程式化一頁之單元時某些預期 保持於最左抹除狀態的單元結果處於另—狀態從而導致在 4取该些單元時之位元錯誤的效應。 可t驗上與統計上測量PD效應,並且可應用錯誤校正 ,案之形式的對策來處理其。快閃裝置製造商意識到此可 .曰誤來源’並且其在向其客戶建議客戶應使用的錯誤校 位準時將其考慮在内。故當一每單元二位元Μ%快閃裝 置之製造商建議-4位SECC方案(意味著應保護每川個位 疋組的使用者資料免受高達四個位元錯誤的發生)時其 可使此建議基於-採取儲存於該裝置中之—隨機資料圖案 的、·先4刀析及基於在此類情況下—pD類型錯誤將發生的機 率。顯然’其他錯誤來源與類型亦係考慮在此類計算之 内。 不幸的係’典型實際使用者資料並非隨機的。對實際使 用者槽案之測量顯示該等單元之各種可能狀態不具有相等 的發生機率。因為該等單亓的畀 _ 早兀> 的最左狀態係未進行寫入之單 元的預設值,故此狀態係是相敏 〜係敢頻繁的。此容易明白-未初始 化或非用於一檔案内之—記情 &隐體Q奴極頻繁地對應處 除狀態的單元。 127455.doc 因此’在實際應用中,PD錯誤的問0§ μμ甘 同电 耵問嘁比基於隨機資料 圖案統計計算所預期的更嚴重。相 料 丁权夕的早7L將處於枯 除狀態,其係最易受PD錯誤影響的狀鲅, 、 . 態並因此比藉由隨 機資料分佈模型所預測的更多的PD錯誤會實際發生。 應注意,即使吾人將PD效應強調為取決於儲存於—快 閃記憶體中之使用者資料的錯誤來源,仍存在其他此類錯 誤來源。例如,背圖案(ΒΡ)現象(其係具有不同電阻的不 同位元線BL之結果)亦係資料相依的。一位元線之電阻取 決於沿該位元線儲存於該等單元中的資料,即一位元線之 電阻取決於沿該位元線的單元之實際狀態或電壓位準。不 同的位元線電阻導致不同的位元線電流。此可引起在兩個 不同位元線中的兩個單元之讀取期間的不同的電壓位準感 測’即使此等兩個單元係程式化至精確相同的電壓位準 (即該兩個單元完全具有相同的臨界電壓)。因此,此類兩 個單元的錯誤機率係不同並係使用者資料相依的。 顯然’此一快閃區塊或頁錯誤率與儲存於該快閃記憶體 中的使用者資料之間的相依性並不合需要。特定r最壞情 況」使用者資料圖案可比其他具有高得多的錯誤率。此使 其難以估計保護儲存的資料所需的ECC要求。此外,如上 所述’由於諸如PD之現象所致,實際非隨機使用者資料傾 向於比隨機資料遭受更高的錯誤率。 因而,存在廣泛認知的需要並會係高度有利的係具有在 較少受由於諸如PD或BP之現象所致之資料相依錯誤影響 方面比先前技術之快閃記憶體裝置更可靠的快閃記憶體裝 127455.doc -16· 置。 定義 一隨機序列係不具有可辨別圖案或規則性之序列。該序 =疋件不可由知道該序列之其他元件來預測。因此,此 處’隨機化"係定義為辦‘ _ 我马增加一鬲度非隨機位元序列之隨機性 的操作。換言之,p推丨丨杜 例1王 進仃隨機化"之序列的位元更為不可 由屬於隨機化之前的 ’序列之位元的該序列之其他位元而容 預d應'/主意,因為本發明之隨機化程序係決定性 的,此等程序的輸出序列係可預測的而因此並非真實隨機 的而僅係偽隨機”,就輸出序列的圖案或規則性比輸入序 列的圖案或規職難以㈣且較佳的係更難㈣別而言。 因此’隨附申請專利範圍中所述之"隨機化"序列係偽隨機 序列而非真隨機序列。 隨機化之一特定情況係"擾亂"。擾亂係一輸入位元序列 至一輸出位it序列之-可逆轉換,使得該輸出位元序列之 各位元係該輸入位元序列及一輔助位元序列之數個位元的 函數。 隨機化的反轉係”解隨機化%擾亂的反轉係”解擾亂,,。 p隨機化,,係針對記憶體單元之狀態集來類似地定義。若 在該等單元係程式化至第一狀態集時藉由該等單元表示之 2元序列比在該等單元係程式化至第二狀態集時藉由該等 單凡表示之位元序列更隨機,則記憶體單元的第一狀態集 相對於相同記憶體單元的第二狀態集係”隨機化"。較佳的 '、 各種5己憶體早元狀態以大致相等的數目出現於記憶體 J27455.doc 17 1360125 單元狀態之一"隨機化"集中。 一"非隨機"位元序列係具有可辨別圖案及/或規則性的位 元序列。一"非隨機”記憶體單元狀態集係具有可辨別圖案 及/或規則性及/或具有該等單元狀態上之—非均勻感應分 佈的單元狀態集。 【發明内容】
依據本發明’提供一用於儲存資料的裝置,其包括··⑷ =非揮發性記憶體;以及⑻該非揮發性記憶體之—控制 器/、可操作α . (1)隨機化要儲存於該記憶體中之原始資 料同時保存該原始資料的大小,從而提供隨機化資料, (π)將該隨機化資料儲存於該記憶體中,以及㈣回應藉由 該裝置外部之"'實體的針對㈣始資料之-請求:⑷從 該記憶體裸取該隨機化資料,以及⑻解隨機化該願取的 隨機化資料,從而提供盥 一这原始資枓實質上相同的擷取資 :,以及⑹將該類取資料輸出至該實體而不鑑 體。
‘供-用於儲存資料的褒置,其包括 1憶體’其包括··⑴_非 ⑻電路,其可操作以··⑷隨機化要二早$陣列’以及 ψ ^ ^ ^ )隧機化要儲存於該記憶體單元 化眘祖原始貝科的大小,從而提供隨機 一部八Λ 碼化資枓儲存於該記憶體單元之至少 σ刀中,(C)從該記憶體 化資料,以及⑼解隨機: 一部分操取該隨機 μ b ;解隨機化該擷取的隨機化資料,你& & 供與該原始資料實皙化育科,攸而提 霄質上相同的擷取資料;以及(b)—控制 127455.doc -18- 1360125 ^ 其可操作以.(i)回岸來白·番ait 馬求自該裝置外部之一實體的針對 該原始資料之一請求,來將兮掘眘 术肘这擷取貝枓輪出至該實體而不 鍟別該實體。
依據本發明’提供一用於儲存資料的系統,其包括:⑷ -第-非揮發性記憶體;(b) 一第二非揮發性記憶體,其中 儲存一針對該第—非揮發性記憶體之驅動程式,該驅動程 式包括:⑴用於隨機化要儲存於該第—非揮發性記憶體中 之原始資料同時保存該原始資料的大小之碼,從而提供隨 機化資料,(ii)用於將該隨機化資料儲存於該第一非揮發 性記憶體中之碼,以及㈣用於回應針對該原始資料的— 請求之碼’其係藉由:㈧從該第一非揮發性記憶體擷取 該隨機化資料’⑼解隨機化該操取的隨機化資料’從而 提供與該原始資料實質上相同的操取資料,以及(c)輸出 該操取資料而不鑑別該請求;以及⑷—處理器,其用於執 行5玄驅動程式的碼。
依據本發明,提供一其上嵌入電腦可讀取碼的電腦可讀 取儲存媒體,該電腦可讀取碼係針對—記憶體裝置的驅動 程式碼’該電腦可讀取碼包括:(a)用於隨機化要儲存於該 記憶體裝置之記憶體中之原始資料同時保存該原始資料的 大小之程式碼,從而提供隨機化資料;㈨用於將該隨機化 資料儲存於該記憶體中之程式碼;以及⑷用於回應針對該 原始資料的-請求之程式碼’其係藉由:⑴從該記憶體擷 取該隨機化資料,(ii)解隨機化該擷取的隨機化資料,從 而提供與該原始資料實質上相同的擷取資料,以及(丨…輸 127455.doc 19 1360125 出該擷取資料而不鑑別該請求。 依據本發明’提供一用於儲存資料的裂置,其包括:⑷ 一非揮發性記憶體,其具有足夠數目的記憶體單元來藉由 Γ等記㈣單元㈣化至料記憶體單元之—對應狀態 集來儲存原始資料;以及(b)該非揮發性記憶體之一控制 =-可操作以·⑴將該原始資料映射至相對於該對應狀 t集係隨機化的所有該等記憶體單元之—狀態集中,⑼ i己隐體將該等圮憶體單元程式化至該隨機化的狀態 =以及㈣回應藉由該裝置外部之一實體的針對該原始 1之-請求:⑷讀取該等記憶體單元,從而提供掏取 奴機化資料,(B)解隨機化該擷取的隨機化資料,從而 提供與該原始資料實質上相同的摘取資料,以及(c)將該 擷取資料輸出至該實體而不鑑別該實體。 —依據本發明’提供-用於儲存資料的裝置,其包括:⑷ 大°己隐體’其包括:⑴足夠數目的記憶體單元來藉由將該 等記憶體單元程式化至該等記憶體單元之一對應狀態集來 :存原始資料,以及(ii)電路,其可操作以:⑷將該原始 資料映射至相對於該對應狀態集係隨機化的所有該等記憶 f皁元之—狀態集中,(B)將該等記憶體單元程式化至該 k機化的狀態集’(c)讀取該等記憶體單元,從而提供擷 取的隨機化資'料’以&⑼解隨機化該擷取的隨機化資 料,從而提供與該原始資料實質上相同的掘取資料;以及 (b)-控制器’其可操作以回應來自該裝置外部之一實體的 針對該原始資料之一請求來將該掘取資料輸出至該實體而 127455.doc 1360125 不鑑別該實體。 依據本發明,提供-用於儲存資料的系統,其包括:⑷ 一第一非揮發性記憶體,其具有足夠數目 藉由將該等記憶體單元程式化至該等記憶體單元之= 狀態集來儲存原始資料;以及(b)一第二非揮發性記憶體, 其中儲存針對該第-_發性記憶體之__驅動程式,該驅
動程式包括=⑴用於將該原始f料映射至相對於該對應狀 痛集係隨機化的所有該等記憶體單元之一狀態集中之碼, (i υ用於指示該第-非揮發性記憶體將該等記憶體單元程 式化至該隨機化的狀態集之碼,以及(iii)用於回應針對該 原始資料的-請求之碼,其係藉自:⑷指示該第一非揮 發性記憶體裝置來讀取該等記憶體單元,從而提供掏取的 隨機化資料,(B)解隨機化該掘取的隨機化資料,從而提 供與該原始資料實質上相同的擷取資料,以及⑹輸出唁
線取資料而不鑑別該請求;以及⑷—處理器,纟用於騎 該驅動程式的碼。 依據本發明’提供—其上嵌人電腦可讀取碼的電腦可诗 取儲存媒體’該電腦可讀取碼係針對—記憶體裝置的驅動 程式碼,該記憶體裝置包括^夠數目的記憶體單元來藉由 將該等記憶體單元程式化至該等記憶體單元之_對應狀緣 集來儲存原始資料,該電腦可讀取竭包括: 始資料映射至相對於該對應狀態集係隨機化的所 憶體單元之-狀態集中之程式碼;(b)用於指示該記情體裝 置將該等記憶體單it程式化至該隨機化的狀態集之程^ 127455.doc -21- 1360125 碼’以及_於回應針對該原始資料的__請求之程式碼, 其係藉由:⑴指示該記憶體裳置來讀取該等記憶體單元, 從而提供操取的隨機化資料,⑴)解隨機化該操取的隨機 化資料,從而提供與該原始資料實質上相同的擷取資料, 以及(iii)輸出該擷取資料而不鑑別該請求。 依據本發明,提供一儲存資料的方法,其包括以下步 ㉟:⑷隨機化原始資料同時保存該原始資料的大小,從而 提供隨機化資料;(b)將該隨機化資料儲存於一非揮發性記 憶體中;以及⑷回應針對該原始資料之__請求:⑴從該記 憶體擷取該隨機化資料,⑴)解隨機化該擷取的隨機化資 料’從而提供與該原始資料實質上相同的擷取資料,以及 (叫將該擷取資料輸出至該請求係從其接收的實體而不鑑 別該實體。 依據本發明,提供-儲存資料的方法,其包括以下步 驟:⑷提供足夠數目的記憶體單元來藉由將該等記憶體單 馨讀式化至該等記憶體單元之—對應狀態集來儲存原始資 料;(b)將該原始資料映射至相對於該對應狀態集係隨機化 的所有該等記憶體單元之一狀態集中;⑷將該等記憶體單 ' %程式化至該隨機化的狀態集;以及W回應針對該原始資 ' 肖之-請求:⑴讀取料記憶體單元,從而提㈣取的隨 機化資料’(ii)解隨機化該擷取的隨機化資料從而提供 與該原始資料實質上相同的操取資料,以及⑼)將該掏取 資料輸出至該請求係從其接收的實體而不鑑別該實體。 本發明之範疇包括用於儲存資料的兩個基本裝置與一基 127455.doc •22· 1360125 本系統。 該第-基本裝置包括—非揮發性記憶體與—控制器。該 控制器隨機化要儲存於該記憶體中的原始資料,同時保存 該原始資料的大小’從而提供隨機化資料。該控制器將該 隨機化資料儲存於該記憶體中。回應來自該裝置外部之」 實體(例如該裝置之一主機)的針對該原始資料之一請求, 該控制II從m憶體擷取該隨機化㈣並解隨機化該 的隨機化資料,從而提供與該原始資料實f上相同的梅取 資料。極佳的係該擷取資料與該原始資料嚴格相同,但由 於(例如)在讀取該資料中未藉由錯誤校正解碼校正的錯 誤,此不能在所有情況中受到保證。該擷取資料係輸出至 該實體而不鑑別該實體。 該原始資料的大小係保存將本發明之裝置與壓縮要儲存 於其記憶體中之資料的類似先前技術裝置區分開。資料壓 縮可以係視為至少部分隨機化之形式,但資料壓縮藉由其 特有本質減低受到壓縮之資料的大小。不鑑別請求該原始 資料的實體將本發明之裝置與類似先前技術裝置區分開, 類似先前技術裝置加密從而至少部分隨機化要儲存於其記 憶體中之資料但要求某一形式之鑑別(例如顯示密碼或例 如顯示原始用於加密的密鑰)來以解密形式接收從其記憶 體讀取之資料。 該第二基本裝置包括一記憶體與一控制器。該記憶體包 括一非揮發性記憶體單元陣列與電路,該電路執行該第一 基本裝置之控制器的隨機化、儲存、操取及解隨機化功 127455.doc -23· 1360125 能:該控制器執行藉由該第一基本裝置之控制器執行的掏 取資料之無鑑別輸出。 較佳的係,任一控制器在隨機化之前將錯誤校正編碼施 加至。亥原始資料並在輸出該擷取資料之前將錯誤校正解碼 A至該掏取貝料。或者,該第一裝置之控制器在儲存該 隨機化資料之前將錯誤校正編碼施加至該隨機㈣料並在 解隨機化之前將錯誤校正解碼施加至該操取的隨機化資 r s . a誤校正編碼可以係系統編碼,其中將錯誤校正位 元附加至該編竭資料以產生一碼字,或係非系統編媽,其 中編碼的資料不可以碼字來辨別。 較佳的係、1¾隨機化包括將該原始資料(模數2)與一固 定隨機位元序列或與一偽隨機位元序列相加,而該解隨機 化包括將該棟取的隨機化資料(模數2)與該隨機位元序列或 t該偽隨機位4列相加。在本發明之某些具體實施例 ,该偽隨機位元序列個定的。在本發明之其他具體實 :中,該偽隨機位元序列係藉由該第一裝置之控 暫存器,其種係固定的或係來自其中健;^回授移位 、干儲存e亥隨機化資料的 …己隐體係刀割的早疋之中的單元之單元號碼的函數。例 如,若該記憶體係-㈣記憶體,則該等單元可 閃記憶體之區塊或係該快閃記憶體之頁。 〃 I、 或者,該隨機化包括擾亂該原始 解擾亂該揭取的隨機化資料。例如,在^解隨機化包括 電路包括-用於執行該擾亂的擾垃Χ 一裝置中’該 亂器區塊與-用於執行該 127455.doc •24· 1360125 解擾亂的解擾亂器區塊。最佳的係,使用共用一共同種的 個別線性回授移位暫存器來進行擾亂與解擾亂。在本發明 之某些具體實施例中,該種係固定的。在本發明之其他具 體實施例中,該種係來自其中儲存該隨機化資料的該記憶 體係分割的單元之中的單元之單元號碼的函數。例如,若 該S己憶體係一快閃記憶體,則該等單元可以係該快閃記憶 體之區塊或係該快閃記憶體之頁。 本發明之一基本系統包括一第一非揮發性記憶體、一第 二非揮發性記憶體及一處理器。在該第二非揮發性記憶體 中儲存一驅動程式,其包括藉由該處理器執行以模擬本發 月之第裝置之控制器的碼。在本發明之一系統的背景 下,請求該原始資料的實體通常係一使用者應用程式,其 在式系統上運行並執行藉由該驅動程式支援並用於程式化 與讀取該第一非揮發性記憶體的命令。 諸如線性回授移位暫#器的本發明之各種具體實施例之 功能組件可以硬體、勤體、軟體或其組合來實施。 本發明之範_作為—方法還包括藉由用於儲存資料的本 發明之裝置與系統使用的方法。本發明之範還包括一電 腦可讀取儲存媒體,其上係嵌人針對本發明之系統之驅動 程式的電腦可讀取碼。 伙另冑點來看,本發明之方法係在要程式化至該等記 憶體單S之對應狀態集的足夠數目之記憶體單it中儲存原 始貝料的方法。例可程式化512個SBC快閃單元或 個四狀態MBC快閃單元以儲存5 12個位元之資料。將該原 127455.doc -25· 始資料映射至相對於對應狀態集係、隨機化的所有該等單元 (在广範例中係全部512個SBC單元或全部256個單元) 之狀L集中。接著’該等記憶體單元係程式化至隨機化的 狀態集而非原始的對應狀態集。該兩個集中的狀態數目相 同區分來自此觀點的本發明之方法與類似的先前技術方 /、中 > 料係以壓縮形式储存於比以未壓縮形式儲存相 同資料所需的更少的記憶體單元卜如下所述將該原始 貢料映射至隨機化的記憶體單元狀態集中的較佳方法係藉 由隨機化該原始資料。 較佳的係’各種記憶體單元狀態在隨機化的狀態集中以 實質上相同的數目發生。 【實施方式】 本發明之裝置係一每單元多位元的快閃記憶體儲存裝 置,其消除或減低儲存於該快閃中之使用者資料與該原始 快閃錯誤率(在ECC解碼之前)之間的相依性。此係藉由將 該等使用者資料位元轉換成接著係程式化至該快閃記憶體 中之-偽隨機位元序列來完成。因此,引起高區塊或頁錯 ,率的問題(”最壞情況·,)位元圖案的機率變得可以忽略^ 4乎係減低至零。優點係明顯的:1}該快閃記憶體的可靠 陡並非藉由極難決定的特定最壞情況使用纟資料圖案來驅 動。2)在此類最壞情況使用者資料圖案較為頻繁的實際情 況中快閃記憶體之可靠性改良。3)該等ECC要求變得= 易評估。4)要求更低的ECC冗餘並且該快閃記憶體成本= 率(在每資訊位元之單元方面)改良。此原因係吾人不需要 I27455.doc •26· 1360125 處理具有幾乎為零之發生機率的最壞情況錯誤率。吾人僅 需要處理假定隨機位元序列係程式化至該快閃記憶體中的 快閃記憶體之預期錯誤率。 用於對抗尤其係藉由該PD效應引起的資料相依錯誤之 一方法係在2007年5月3曰申請的美國專利申請案 797,379中呈現。該方法係基於改變從位元至電壓位準 的映射,以使得該抹除狀態係以另一狀態切換。應注意, 此可無需改變藉由該快閃記憶體使用之實際映射而加以實 施1而可使該快閃記憶體之控制器在程式化之冑人為翻轉 特定位元並接著在讀取之後旋即再次翻轉該些位元◊例 如,翻轉所有該等位元會導致最初應儲存要程式化至全〇 的狀態之全i的狀態(即抹除狀態)的單元之程式化。此方法 的缺點係其一般不解決資料相依錯誤之問題。其僅處理抹 除狀態中之PD錯誤的極特定情況。此外,即使對於此特定 情況’所建議解決方式仍非最佳,因為以一替代狀態切換 輯除狀態使該替代狀態易受PD錯誤影響。例如,考量先 其中吾人翻轉所有該等位元以使得全1與全0的狀 ,係切換。接著’若該使用者資料包含較大的〇序列,則 该程式化的頁仍將遭受許多PD相關錯誤。 本發明之方法以—更為一船的 .a§ , Μ &的方式來解決資料相依錯誤 的問喊。列舉所有問題資料圖案 極為困難(並且很可 此不可仃)的任務,因為此一列 體中之I^ J牛要求發生於該快閃記憶 體中之各種實體現象的完整瞭解與產生資料之使用者應用 魟式的完整統計特徵化以便決〜 貝针圖案係比其他資料 127455.doc -27- 1360125 圖案更為頻繁地儲存。因此,代替處理相對於諸如之一 特定現象係問題的特定資料圖案,本發明之方法藉由確保 寫入至該快閃記憶體的位元序列係偽隨機的來將任何圖荦 之機率減低至幾乎為零。 回茶 在本發明之某些具體實施例中,依據此項技術中已知的 數個方法之一者’使用-隨機產生器區塊(以硬體、勃體 或軟體實施)來完成令耸^由田| _处 者資料位元至一爲隨機位元 ’的轉換。該轉換需要係可逆的。使用—解隨機產生器 區塊來完成該逆轉換。該轉換可在咖編碼之前在該等使 用者資料位元上完成(如圖3A所示)或在咖編碼之後在該 等編碼的使用者位元上完成(如圖3B所示卜在該第一情況 中,可藉由在該位元序列上執行該逆轉換來恢復該等使用 者貢料位元’該位元序列係在使用一咖解碼器解碼該位 凡序列之後從該快閃記憶體讀取(如圖3A所示)。在該第二 情況卜該逆轉換係直接在從該快閃記憶體讀取之位 列上執订。接著,使用一Ecc解碼器來解碼所得位元序列 以便恢復該等使用者資料位元(如圖3B所示)。 依據本發明之一具體實施例,該隨機化係藉由將使用者 資科位兀模數2與-固定隨機位元序列或與一固定偽隨機 序列相加來執4。所得隨機化位元序列似a編碼(若 需要)並接著係程式化至該快閃記憶體中。在讀取該快閃 =憶體之後’|即經由—咖解碼來解碼該讀取位元序列 (右需要)。該等使用者資料位元係藉由將該位元序列模數2 與已知固㈣機或偽隨機位元序列相加來解隨機化該解碼 127455.doc -28- 1360125 的無錯誤位元序列而恢復。圖4顯示依據此 隨機產生器與解隨機產生器區塊之範例。 依據本發明之另一具體實施例,該隨
% r現横1化係藉由將ECC 編碼的使用者資料位元模數2與一固定隨換a _ — U疋隨機位凡序列或與 一固定偽隨機位元序列相加來執行。接篓 T接者,所得隨機化位 元序列係程式化至該快閃記憶體中。在螬 ^ 任°賈取该快閃記憶體
之後,旋即藉由將該讀取位元序列模數2與已知固定隨機 或偽隨機位元序列相加來解隨機化該讀取位元序列。接 著,該等使用者資料位元係藉由Ecc解碼該解隨機化位元 序列來恢€。圖4亦顯示依據此具體實施例的隨機產生器 與解隨機產生器區塊之範例。 依據本發明之另-具體實施例’該隨機化係藉由將使用 者資料位元模數2與一偽隨機位元序列相加來執行。例如 使用-線性回授移位暫存器來產线朗機位元序列。如 此項技術中已知,為獲得··較佳"隨機性,依據一足夠大的
具體實施例的 有限,卜高氏(㈤。is)場)之—f多項式來構建該回授移位 暫存器(S. Golomb,移位暫存器序列,Α_ park卩⑽, 美國加心guna HiUs,年)。所得隨機化位元序列係 =CC編碼(若.需要)並接著係程式化至該快閃記憶體中。在 讀取該快閃記憶m即使用—ECC解碼來解碼該讀 取位7C序列(若需要)。該等使用者資料位元係藉由將該位 疋序列模數2與在程式化期間使用的相同偽隨機位元序列 :加來解隨機化該解碼的無錯誤位元序列而恢復。例如, 田將-回授移位暫存器用於該偽隨機位元序列之產生時, 127455.doc -29· 相同的位元序列係在藉ώβ 精由將相同的種用於該回授移位暫存 器之初始化(即藉由使用相同的位元序列初始化該回授移 位暫存器)來程式化與讀取期間而獲得。
據本發明之s具體實施例,該隨機化係藉由將ECC 編碼的使用者資料位元模數2與—偽隨機位元序列相加來 執行。接著’該隨機化位元相係程式化至該快閃中。在 讀:該快閃記憶體之後’旋即藉由將該位元序列模數2與 在程式化期間使用的相同偽隨機位元序列相加來解隨機化 該靖取位7C序列。接著,該等使用者資料位元係藉由該解 隨機化位το序列之ECC解碼來恢復。圖5亦顯示依據此具 體實施例的隨機產生器與解隨機產生器區塊之範例。 存在各種選項用於決定用於該偽隨機位元序列產生器之 初始化的種。例如,該種可以係怪定的。或者,該種可以 係儲存資料的快閃記憶體之區塊或頁之單元號碼的函數。 圖5顯示依據此具體實施例的隨機產纟器與解隨機產生器 區塊之範例。 當該種係單元號碼之函數時必須小心,因為在儲存資料 的單元之號碼改變的過程期間大多數快閃記憶體裝置執行 廢料收集"。廢料收集之一常見形式係由以下事實激發, 即旦一快閃頁已程式化,便必須在重新程式化之前抹除 該頁,並且抹除係一次一區塊而非一次一頁地完成。一快 閃區塊(其頁已全部係程式化)通常包含具有當前資料之某 些頁及具有已藉由最近程式化的資料取代之資料的其他 頁。為恢復此區塊用於進一步程式化,當前資料頁係複製 127455.doc -30· 1360125 到一不同區塊並且該舊區塊係抹除。新區塊具有與舊區塊 不同的區塊號碼。通常,當前資料係複製到的頁具有與當 别資料係從其複製的頁具有不同的頁號碼。為使用於初始 化該回授暫存器的種針對程式化與讀取係相同的,必須將 與此類廢料收集相關聯的單元號碼之改變考慮在内。 確保相同種係用於程式化與讀取兩者之一方式係始終解 隨機化要移至-新頁或移至-新區塊的資料及當將該資料 寫入至忒新頁或該新區塊時重新隨機化該資料(可能使用 不同的種)。確保相同種係用於程式化與讀取兩者之另 方式係始終將資料移至—新頁或移至—新區塊以使得產 生'種的單70號竭之函數針對舊單元號碼與新單元號碼產 才同的種。例如’若將函數"頁號碼模數8"用於產生該 。^廢料收集應始終將一頁之資料複製到一新頁,其 頁號碼在二進制標記上具有與舊頁之頁號碼相同的最後三 =疋。確保相同種係、用於程式化與讀取兩者之另-方式 係連同該資料一起 起儲存该種。例如,一 NAND快閃記憶體 之各頁通常包括用於儲 理資訊之一其立儲存資枓之一主要部分與用於儲存管 组.5”伽Β理部分。此一頁的典型大小係528個位元 、’ 12個位元組用於儲在杳社二, 理資訊 於储存資枓而16個位元組用於儲存管 資料:偽隨於隨機化儲存於一頁之主要部分中之 替代情況了庙種係儲存於該頁之管理部分中。在此 以保證該種係:元從該隨機化程序排除, 碩取以用於解隨機化。 快閃檔案系統"之-快閃記憶體裝置中,可將 127455.doc •31 - 1360125 邏輯頁位址用作用於產生偽隨機序列的種。一快閃檔案系 統提供一快閃記憶體裝置上的資料儲存與操縱之系統,'其 ^許該裝置模擬H —快閃檔案系統致能應用程式或 操作系統不使用實體位址而係使用邏輯位址(有時稱為虛 擬位址)來與一快閃記憶體裝置交互作用。該軟體應用程 式與該實體記憶體系統之間的中間軟體層提供邏輯位址與 實體位址之間的映射。實施邏輯至實體位址映射的某些系 統在頒給Ban的US 5,404,485、頒給Ban的美國專利 5,937’425及頒給Lasser的美國專利6,591,33〇中進行說明, 所有三個專利如在本文中完整提出而出於所有目的以引用 方式併入本文中。因為該快閃記憶體系統的主機使一特定 邏輯位址與一特定資料塊相關聯,故保證此一邏輯位址 (已係用以產生一用於初始化該回授暫存器以程式化該資 料的種)可用於產生用於初始化該回授暫存器以讀取該資 料的相同種。 依據本發明之另一具體實施例,隨機化係藉由使該等使 用者資料位元通過一擾亂器區塊來執行。可使用一線性回 授移位暫存器來實施該擾亂器。如此項技術中已知,為獲 知較佳"隨機性,依據某一足夠大的有限場(一高氏場)之 一質多項式來構建該回授移位暫存器(S (3〇l〇mb,如上)。 該線性回授移位暫存器係使用一預定義種來初始化。該種 可以係恆定的或儲存該資料的快閃記憶體之頁或區塊之單 元號碼的函數,或當讀取該資料時已知的任何其他參數。 於該擾亂器之輸出處的所得偽隨機位元序列係ECC編碼(若 127455.doc -32- 1360125 需要)並接著係程式化至該快閃記憶體中。在讀取該快閃 記憶體之後’㈣使用-ECC解碼來解碼該讀取位元序列 (若需要)》接著’該等使用者f料位元係藉由使用以與在 程式化期_於該擾亂n區塊的種相同的種初始化之一解 擾乳器區塊來解隨機化該解碼的無錯誤位元序列而恢復。 當藉由基於一多項式構建之一線性回授移位暫存器來實施 該擾亂器區塊時,該解擾亂器區塊較佳的係實施為表示逆 多項式的線性移位暫存器。圖6顯示依據此具體實施例的 隨機產生器與解隨機產生器區塊之範例。 依據本發明之另一具體實施例,隨機化係藉由使該等 ECC編碼的使用者資料位元通過一擾亂器區塊來執行。實 施該擾亂器之-方式係❹—線性回授移位暫存器,其係 使用預疋義種初始化。於該擾亂器之輸出處的所得偽隨 機位7L序列係冑式化至該快閃記憶體中。纟讀取該快閃記 憶體之後,旋即使用以與在程式化期間用於該擾亂器區塊 的種相同的種初始化之一解擾亂器區塊來解隨機化該讀取 位元序列。虽藉由基於一多項式構建之一線性回授移位暫 存器來實施該擾亂器區塊時,該解擾亂器區塊較佳的係實 施為表示逆多項式的線性移位暫存器。接著,該等使用者 資料位元係藉由該解隨機化位元序列之ECC解碼來恢復。 圖6還顯不依據此具體實施例的隨機產生器與解隨機產生 器區塊之範例。關於基於單元號碼之種與廢料收集之交互 作用的考里與基於一線性回授移位暫存器之隨機產生器區 塊的情況相同,如上所述。 127455.doc •33- 1360125 應注意,擾亂與解擾亂之第—方法(其中擾亂係在ecc 編碼之前執行而解擾礼係在Ecc解碼之後執行)優於第二方 法(其中擾亂係在ECC編碼之後執行而解擾亂係在ECC解碼 之前執行)。此係因為若由一快閃記憶體讀取之位元序列 包含錯誤,則此等錯誤會係藉由該解擾亂傳播,從而導致 該解擾亂序财增加數目之錯誤並因此若該Ecc解碼跟隨 該解擾亂料致針對該ECC解碼之—更為目難的錯誤校正 工作。 除此處提及的實施方案以外,還存在各種其他隨機化與 解隨機化區塊的實施方案。在以上範例中,隨機化係逐個 位元串列地執行。或者平行化該隨機化,以使得該等隨機 產生器/解隨機產生器區塊同時輸出數個位元。在所有情 況下,藉由該隨機化區塊產生的偽隨機位元序列具有與輸 入至该隨機化區塊的原始位元序列一樣多的位元。此係本 發明之-態樣’其區分本發明與先前技術之壓縮,該先前 技術之壓縮亦在一特定程度上隨機化該輸入資料但亦輸出 比該輸入資料少的位元。 應注意,以上將一轉換施加至該等資料位元的方法假定 該快閃記憶體係程式化。當一快閃頁係抹除時,該頁的所 有單疋係設定為最左狀態或電壓位準(如圖丨八與ib所解說) 並且假定所有單元皆包含該固定的全1的資料圖案。此可 倉b引起與實際係程式化至該全i的位元序列但依據本發明 :示某-其他資料位元序列之頁的混淆。然而,此可藉由 倉b夠區分尚未寫入之頁與係寫入之頁的使用該快閃記憶體 127455.doc •34- 丄:)0U丄 丄:)0U丄
裝置的應用程式來處理。此易 扣易於執行並係在快閃管理系統 之先前技術中為人熟知,例如租 U如藉由在一頁之管理部分中分 配總是寫為該頁程式化操作之邻八 打4分的一或多個旗標單元, 並因而若發現處於最左狀態,則指示-未寫人頁。故發現 未係寫人之頁係、依據該標準先前技術邏輯來解譯,而發現 係寫入之頁係依據本發明之方法來解譯。 應注意,在除US 1 1/797,379之外別處的先前技術中還說 明-轉換階段的概念,纟中要儲存於一儲存裝置中的邏輯 位兀值係轉譯成屬於實際儲存之值的實體值。在頒給 匕⑽的美國專利申請公開案第2〇〇5/〇213393號中教導此 概必•然巾’不僅LaSser的,393之轉譯係針對一與本發明 的几王不同的目的而執行,Lasser的,393之轉譯還缺 吏本發月之轉譯有用的特定特徵。用於本發明的轉譯之 類里的本質特徵係一單元的所有狀態變得同樣可能發生, 而^儲存於該單^中的使用者資料無關,以使得該等錯誤 變仔與貧料無關。在L_r的|393中,轉譯的目的係使錯 誤分佈均勻而非消除資料相依性。實際上,La而的‘393 中顯不的所有轉譯範例都不實現本發明之目的。
Gonzalez等人在美國專利第6,684,289號中還教導當寫入 與讀取—快閃記憶體時邏輯位元值與實體位it值之間的映 射其係為了避免資料之靜態圖案的重複程式化(參見第6 欄第28至47行)。不僅G〇nzalez等人的,289與最小化諸如所 儲存位7L之PD錯誤的資料相依錯誤之機率無關,G〇nzaiez 等人的‘289還施加一時間變化轉換以使得相同的邏輯資料 127455.doc -35- 值係於不同的時間轉換成不同的實體狀態,因為否則不會 實現避免靜態資料圖案的重複程式化的目標。另一方面, 本發明不具有該轉換為時間相依的要求(即使其可以係時 間相依的,假定存在一方式來確保在讀取時可藉由一對應 逆轉換來恢復該原始資料卜 還應注意,雖然以上快閃記憶體單元之操作的說明假定 儲存N個位元之一單元精確具有2n個可能的不同狀態(藉由 其臨界電壓之不同範圍來表示)及一抹除操作將該單元帶 至亦表示該等2N個資料值之一者的最左(最低電壓)狀態, 但存在情況並非如此的快閃記憶體裝置。在此類裝置中, 該抹除的狀態不同於所有資料狀態。明確地說,該抹除的 狀態具有多於該等資料狀態之任一者的負臨界電壓。在此 類裝置中’無論何時將資料寫入該單元中,即使該資料係 全一值,該單元仍係程式化(即,其臨界電壓係增加)以達 到對應該資料值之狀態。換言之,該抹除的狀態不同於該 全一狀態,其與先前提到的裝置不同。即使以上本發明之 說明係在該第一類型之裝置的背景下給出,本發明同樣還 適用於該第二類型之裝置。 可藉由軟體或藉由硬體來實施本發明之方法。更明確地 說,可藉由執行軟體碼或藉由電路(例如反相器閘極)來實 施程式化期間的資料之隨機化與讀取期間的資料之解隨機 化。若隨機化與解隨機化係藉由軟體來實施,則其可藉由 寫入或讀取資料(例如,在支援該儲存裝置之軟體裝置驅 動程式内)的主機電腦上執行的軟體來實施或其可藉由與 127455.doc •36· 1360125 該主機電腦交互作用並控制該記憶體媒體的記憶體控制器 (例如圖2之控制器20)内執行的勒體來實施。若隨機化與解 隨機化係藉由硬體來實施,則其可在該記憶體控制器中或 該記憶體媒體内(例如在圖2之命令電路7中)加以實施。無 論該記憶體控制器與該記憶體媒體是否係兩個分離晶粒或 駐留於一共同晶粒上,此都適用。以上組態與變更全部處 於本發明之範疇内。
因而,除解說一典型先前技術快閃記憶體裝置以外,圖 2還解說本發明之一快閃記憶體裝置的兩種具體實施例。 在第一種具體實施例(如圖3B在隨機化之前執行ECC編碼 並在隨機化之後執行ECC解碼)中,控制器2〇執行ecc編碼 與解碼而命令電路7執行隨機化與解隨機化。在第二種具 體實施例(以圖3A所示之順序或以圖3續示之順序執^ ECC編碼/解碼與隨機化/解隨機化)中,控制器執行
編碼/解碼與隨機化/解隨機化兩者。在兩種具體實施例 中’控制器20在從該快閃記憶體裝置之主機接收一讀取命 令之後旋即將該讀取資料輸出至該主機而不要求該主機鑑 別其本身。換言之,不要求該主機向控制器2〇證明該主機 係經授權以接收該讀取資料以便控制請將該讀取資料傳 送至該主機。 圖7與8係包括第二種伊p 陰辦壯 ^ 裡陕閃5己憶體裝置具體實施例的兩個 系統40與60的高階方塊圖。在系 閛隹糸統40中,一主機電腦42將 讀取與寫入指令傳送至本 . 枣發明之一快閃記憶體裝置52。快 閃記憶體裝置52使用一快閃护制哭# 、 ]控制器44來藉由執行快閃管理 127455.doc -37· 1360125 取驅動程式碼用於實施本發明之一電腦可讀取健存媒體的 範例。此類電腦可讀取儲存媒體的其他範例包括承載此碼 的唯讀記憶體,例如CD » 處於本發明之範疇内的係組態本發明之一裝置或系統 (例如圖2、7及8之裝置與圖9之系統)以要求僅請求儲存於 該裝置或系統之快閃記憶體中的特定資料之接收之一實體 的鑑別。例如,快閃控制器44或64係視需要地經组離以允 許裝置52或72之使用者在一私有分割區與-公用分割區之 間分割快閃記憶體50或70。對儲存於該私有分割區令之資 料的存取要求鑑別,例如顯示密碼。對儲存於該公用分判 區中之資料的存取不要求鏗別。或者,快閃控制器料或以 係經組態以支援來自-特權使用者之一命令,其在一安全 ^其中對儲存於快閃記憶體5〇或7〇中之資料的存取要 別)與—開放模式(其中射W快閃記憶體5〇或70中 之資料的存取不要求鑑別)之間切換裝置52或72。本發明 關於無需鑑別之存取的唯一 之操作模式之一者必須允二=發明之-裝置或系統 並士… /頁允許至少某些儲存資料的讀取而不 要求明求該資料的實體鑑別其本身。 雖然已相對於有限數目 應明白可對本發明二的二難實施例來說明本發明’但 【圖式簡單4】以更、修^其他應用。 二文:已參考附圖且僅以範例方式說明本發明,其中: 佈解說以1位元模式程式化之快閃翠元的臨界電麼分 127455.doc -39- 丄360125 圖1B解說以2位元模式程式化之快閃單元的臨界電壓分 佈; 圖2係一快閃記憶體裝置的方塊圖; 圖3A與3B係依據本發明之隨機化/解隨機化與ECC編碼/ 解碼的示意方塊圖; 圖4解說使用一固定隨機位元序列的範例性隨機產生器 與解隨機產生器區塊; 圖5解說使用藉由一線性回授移位暫存器產生之一偽隨 機位元序列的範例性隨機產生器與解隨機產生器區塊; 圖6解說範例性擾亂器與解擾亂器區塊; 圖7至9係本發明之系統的高階方塊圖。 【主要元件符號說明】 1 記憶體單元陣列 2 行控制電路 3 列控制電路 4 c源極控制電路 5 c-p井控制電路 6 資料輸入/輸出緩衝器 7 命令電路 8 狀態機 20 控制器 21 積體電路晶片 22 積體電路晶片 40 系統 127455.doc -40- 1360125 42 主機電腦 44 46 48 49 50
52 60 62 快閃控制器 快閃管理軟體 隨機化模組 ECC模組 快閃記憶體 快閃記憶體裝置 系統 主機電腦
64 66 68 69 70 72 80 82 快閃控制器 快閃管理軟體 隨機化硬體 ECC模組 快閃記憶體 快閃記憶體裝置 糸統 處理器 84 86 88 90 92 93 94 RAM 開機ROM 大量儲存裝置(硬碟) 快閃記憶體驅動程式碼 隨機化模組 ECC模組 快閃記憶體裝置 127455.doc •41 · 1360125 96 匯流排 100 主機
127455.doc -42-

Claims (1)

  1. 第096148250號專利申請案 十、申請專利範圍: 中文申請專利範圍替換本(Ϊ。。年9月% 1.,種用於儲存資料的裝置,該裝置包含: 一非揮發性記憶體;以及 一控制器,其可操作以: 將錯誤校正編碼施加至斥奸資料_ ^ 原始貝料而產生編碼原始 貢料, 隨機化要儲存於該非揮發性記憶體中的該編碼原始 貧料,而提供隨機化編碼資料; 將°亥隨機化編碼資料健存於該非揮發性記憶體中; 以及 藉由4裝置外部之—實體,喊針對該原始資料之 一請求: 從該非揮發性記憶體操取該隨機化編碼資料; 解隨機化該隨機化編碼資料’而提供編碼資料; 解碼該編碼資料,而提供對應於該原始資料的資 料;以及 將該資料輸出至該實體; 其中該控制器係可操作以藉由將該編碼原始資料(模數 2)與口定隨機位元序列相加來將該編碼原始資料隨機 化;且 中省控制器係可操作以藉由將該隨機化編碼資料(模 麩2)與该固定隨機位元序列相加來將該隨機化編碼資料 解隨機化。 2.如靖求項1之裝置,其中該非揮發性記憶體係一快閃記 127455-1000907.doc 1300125 憶體。 3. —種用於儲存資料的裝置,該裝置包含: 一非揮發性記憶體,其包括: 非揮發性記憶體元件;以及 電路’其可操作以: 隨機化要儲存於該非揮發性記憶體元件 資料同時保存該原妗資料的,, 資料; 原始貝枓的一大小,而提供隨機化 而提供編碼原 將錯誤校正編碼施加至原始資料 始資料; 於該非揮發性記憶體 回應針對該原始資料 將該編碼隨機化資料儲存 中;以及 藉由該裝置外部之一實體, 之一請求: Λ非揮發性5己憶體擷取該編碼隨機化資料 以及 錯誤枚正解碼施加至該擷取編碼隨機化資 料’而提供解碼隨機化資料;以及 將該解碼隨機化資料解隨機化,而提供 該原始資料的資料; α、 .4電路係可操作以藉由將該原始資料(模數2)4 偽:機位tl序列相加來將該原始資料隨機化; 、中該電路係可操作以使用一 S性回授移位暫存I 產生該偽隨機位 例m 7G序列’其中該非揮發性記憶體係j 127455-1000907.doc 1360125 * , » ’每-該單元具有—個別單元號瑪,其中 ^ ^ ^ . 特早兀,且其中該線性回 故移位暫存器之—種俜 -函數,1 種係料別^號瑪之 2、= :電路係可操作以藉由將該解碼隨機化資料(模數 隨機位元序列相加來將該解碼隨機化資料解隨 機化。 4. 5. 6. 奢长項3之裝置,其中該非揮發性記憶體係快閃記憶 體且其甲該等單元係該等快閃記憶體之頁。 一種用於儲存資料的系統,該系統包含: 一第一非揮發性記憶體; 一第二非揮發性記憶體,其儲存用於該第一非揮發性 »己隐體的一驅動程式,該驅動程式包括: 用於隨機化要儲存於該第一非揮發性記憶體中的原 始資料同時保存該原始資料的一大小之碼,而提供隨 機化資料,其中該用於隨機化該原始資料之碼包括用 於將該原始資料(模數2)與一固定隨機位元序列相加之 碼; 用於將錯誤校正編碼施加至該隨機化資料之竭,而 提供編碼隨機化資料; 用於將該編碼隨機化資料儲存於該第一非揮發性吃 憶體中之碼;以及 127455-1000907.doc 用於回應針對該原始資料的一請求之碼,其係藉 由: 從該第一非揮發性記憶體擷取該隨機化資料; 將錯誤校正解碼施加至該擷取的編碼隨機化資 料,而提供解碼隨機化資料; 解隨機化該解碼隨機化資料,而提供與對應於該 原=資料的資料,其中該用於解隨機化該解碼隨機 化資料之碼包括用於將該解碼隨機化資料(模數2)與 一固定隨機位元序列相加之碼;以及 /、 -處理器’其用於執行該驅動程式之該碼。 •:種電腦可讀取儲存媒體,其上嵌人電腦可讀取碼,該 :腦可讀取碼係用於一記憶體裝置的驅動程式碼,其中 备由一處理器執行時,該電腦可讀取碼致使該處理器 以: 隨機化要儲存於該記憶體裝置之—記憶體中的原始資 料同時保存該原始資料的一大小,包括將該原始資料(模 數2)與-偽隨機位元序列相加,該偽隨機位元序列係使 用-線性回授移位暫存器而產生,而提供隨機化資料, 其中該記憶體係分割成單元’每一該單元具有一個別單 元號碼’其中該記憶體包括$單元之—特定單元,且直 中該線性喊移位暫存器之-㈣該特定單元之該個別 單元號碼之一函數; 將錯誤校正編碼施加至該隨機化資料,而提供編碼隨 機化資料; 127455-1000907.doc 將該編碼隨機化資料儲存於該記憶體中;以及 回應針對該原始資料的一請求’其係藉由: 從該記憶體擷取該編碼隨機化資料; 將錯誤杈正解碼施加至該擷取的編碼隨機化資料, 而提供解碼隨機化資料; 藉由將該解碼隨機化資料(模數2)與該偽隨機位元序 列相加來解隨機化該解碼隨機化資料,而提供對應於 該原始資料的資料;以及 輸出該擷取資料。 8. 9. 10 月长項7之电月匈可讀取儲存媒體,其中該記憶體係快 閃記憶體且其中該等單元係該等快閃記憶體之區塊。 月求項7之電腦可續取儲存媒體,其中該記憶體係快 閃記憶體且其中該等單元係該等快閃記憶體之頁。 一種儲存資料的方法,其包含: 將使用者資料隨機化,而 機化包括使用一種,其係一
    係分割成複數個單元, 碼; ^供隨機化資料,其中該隨 非揮發性記憶體之一第一單 數’其中該非揮發性記憶體 一該單元具有一對應單元號 性記憶體之該 將該種與該隨機化資料儲存於該非揮發 第一單元中; 單元將該隨機化資料及 第二單元,並儲存該隨 從該非揮發性記憶體之該第一 s亥種移動該非揮發性記憶體至一 機化資料及該種於該第二單元; 127455-1000907.doc 1360125 在儲存該隨機化資料及該種於該第二單元之後,回應 於針對該使用者資料之一請求,將儲存於該第二單元的 該隨機化資料解隨機化,其中該解隨機化係使用儲存於 該第二單元的種。 u.如請求項ίο之方法,其進一步包含: 在該使用者資料之該隨機化之前將錯誤校正編碼施加 至該使用者資料;以及 在將該隨機化資料解隨機化以回應於針對該使用者資 料之该请求之後,施加錯誤校正解碼。 12.如請求項10之方法,其進一步包含: 在5亥將該隨機化資料儲存於該非揮發性記憶體中之前 將錯誤校正編碼施加至該隨機化資料;以及 在將該隨機化資料解隨機化以回應於針對該使用者資 料之該請求之前,施加錯誤校正解碼。 如明求項10之方法,其中該隨機化係藉由將該使用者資 料《數2)與-偽隨機位元序列相加來纽,該偽隨機位 二序歹Η系使用$種而產生’且其中該解隨機化係藉由將 .該棟取的隨機化資料(模數2)與該偽隨機位元序列相 實現。 其中該產生係使用一線性回授移位 14.如請求項13之方法 暫存器來實現^ 15. 如清求項1〇之方法 憶體且其中該等單 16. 如請求項1〇之方法 一快閃記 一快閃記 ’其中該非揮發性記憶體係 疋係該快閃記憶體之區塊。 ’其中該非揮發性記憶體係 127455-1000907.doc 1360125 * . *· 憶體且其中該等單元係該快閃記憶體之頁。 17· 一種儲存資料的方法,該方法包含 將使用者資料隨機化,而提 捉供隨機化使用者資料,ι 中該隨機化包括使用一種值, 算函m… 該種值係根據-種計 异函數而计算,該種計算函數係取決於一第一頁號碼, 其中該第-頁號碼與一非揮發性 聯; ϋ u體之一弟一頁相關 儲存該隨機化使用者資料於該第一頁以及 從該非揮發性記憶體之該第一頁移動該隨機化使用者 資料至該非揮發性記憶體之—第二頁,並料該隨機化 使用者貧料於該第二頁,其中該第二頁具有_相關聯第 二頁號碼,且其中該第二頁號碼代替該第—頁號碼的一 替代至該種计算函數不改變該種值。 18·如叫求項17之方法,其中隨機化使用該種值包括將該使 用者貝料(模數2)與一偽隨機位元序列相加,該偽隨機位 元序列係使用該種值而產生。 19.如清求項18之方法,其進一步包含在將該隨機化使用者 資料移動至該第二頁之後,將該隨機化使用者資料解隨 機化,其中該隨機化使用者資料之該解隨機化包括將該 隨機化使用者資料(模數2)與該偽隨機位元序列相加。 20·如請求項17之方法,其進一步包含在將該隨機化使用者 資料移動至該第二頁之後,回應於針對該使用者資料之 一請求,將儲存於該第二頁的該隨機化使用者資料解隨 機化’其中該解隨機化使用該種值。 127455-1000907.doc 21 22. 如》月求項17之方法,其中該使用者資料具有冑料位元之 第號碼,且該隨機化使用者資料具有隨機化資料位 元之該第一號碼。 —種用於儲存資料的裝置,該裝置包含: 一非揮發性記憶體;以及 一控制器’其可操作以: 隨機化原始資料同時保存該原始資料的一大小,而 提供隨機化資料; 將錯誤校正編碼施加至該隨機化資料,而產生編碼 隨機化資料; 將該編碼隨機化資料儲存於該非揮發性記憶體中; 以及 藉由該裝置外部之一實體,回應針對該原始資料之 一請求: 從該非揮發性記憶體擷取該編碼隨機化資料; 解碼该編碼隨機化資料,而提供解碼隨機化資 料; 解隨機化該解碼隨機化資料,而提供對應於該原 始資料的資料; 其中該控制器係可操作以藉由將該原始資料(模數2)與 /固疋隨機位元序列相加來將該原始資料隨機化;且 其中該控制器係可操作以藉由將該解碼隨機化資料(模 數2)與3亥固疋隨機位元序列相加來將該解碼隨機化資料 解隨機化。 127455-1000907.doc 23. -種用於儲存資料的裝置,該裝置包含: -非揮發性記憶體,其包括: 非揮發性記憶體元件;以及 電路,其可操作以: 而提供編碼原: 將錯誤校正編碼施加至原始資料, 始資料; 而提供隨機化編碼資 隨機化該編碼原始資料 料; 將該隨機化編碼資料儲存於特定非揮發 元件中;以及 藉由該裝置外部之-實體,回應針對該原始資料 之一請求: 從該特定非揮發性記憶體元件擷取該隨機化編 碼資料;以及 將該隨機化編碼資料解隨機化,而提供編碼資 料; 將錯誤校正解碼施加至該編碼資料,而提供對 應於該原始資料的資料;以及 其中該電路係可操作以藉由將該編碼原始資料(模數2) 與一偽隨機位元序列相加來將該編碼原始資料隨機化; 其中該電路係可操作以使用一線性回授移位暫存器來 產生該偽隨機位元序列,其中該非揮發性記憶體係分割 成單元,每一該單元具有一個別單元號碼,其中該非揮 發性記憶體包括該單元之一特定單元,且其中該線性回 127455-1000907.doc 1360125 授移位暫存器之一種係該特定單元之該個別單元號碼之 一函數;且 其中該電路係可操作以藉由將該隨機化編碼資料(模數 2)與該偽隨機位元序列相加來將該隨機化編碼資料解隨 機化。 24. 如請求項23之袭置,其進一步包含一控制器,該控制器 係可操作以回應針對該原始資料之該請求,而將該資料 輸出至該實體而不鏗別該實體。 25. 如請求項23之裝置,其中該非揮發性記憶體係快閃記憶 體且其中該等單元係該等快閃記憶體之區塊。 26. 如請求項23之裝置,其中該非揮發性記憶體係快閃記憶 體且其t該等單元係該等快閃記憶體之頁。 27. —種用於儲存資料的系統,該系統包含: 一第一非揮發性記憶體; -第二非揮發性記憶體,其料用於該第-非揮發性 記憶體的一驅動程式,該驅動程式包括·· 用於將錯誤校正編碼施加至該原始資料之碼,而提 供編碼原始資料; 用於隨機化該編碼原始資料之碼,而提供隨機化編 碼貧料,其中該用於隨機化該原始資料之碼包括心 將該原始資料(模數2)與一固定隨機位元序列相加之 —非揮發性記 用於將該隨機化編碼資料儲存於該第 憶體中之碼;以及 127455-1000907.doc •10· 丄 . % 用於回應針對該原始資料的一請求之碼,其係藉 由: 從該第一非揮發性記憶體擷取該隨機化編碼資 料; 解隨機化該隨機化編碼資料,而提供編碼資料, 其中該用於解隨機化該隨機化編碼資料之碼包括用 於將該隨機化編碼資料(模數2)與一固定隨機位元序 列相加之碼; 將錯誤板正解碼施加至該編碼資料,而提供資 料’其十該資料係對應於該原始資料;以及 一處理盗,其用於執行該驅動程式之該碼。 種電腦可5貝取儲存媒體,其上喪入電腦可讀取碼,該 電腦可讀取碼包括用於一記憶體裝置的驅動程式碼,其 中田由-處理器執行時’該電腦可讀取碼致使該處理器 以: J 28. 等a誤校正、·扁崎靶加至原始資料,而提供編碼原始資 料; ' 隨機化要儲存於該記憶體裝置之一記憶體中的編碼原 始貝料’隨機化包括將該原始資料(模數2)與一偽隨機位 兀序列相加’該偽隨機位元序列係使用—線性回授移位 /產生而提供隨機化編碼資料,其中該記憶體 係分割成單元,每_兮II -曰士 β 母 D玄早兀具有一個別早元號碼,其中 該§己憶體包括該單元之—裤 # ^ 将疋早兀,且其中該線性回授 移位暫存器之一種传兮枝 „ — 係該特疋早兀之該個別單元號碼之一 127455-1000907.doc -11 - 1360125 函數; 將該隨機化編碼資料儲存於該記憶體中;以及 回應針對該原始資料的一請求,其係藉由: 從該記憶體擷取該隨機化編碼資料; 藉由將該隨機化編碼資料(模數2)與該偽隨機位元序 列相加來解隨機化該隨機化編碼資料,而提供編碼資 料資料; 將錯誤校正解碼施加至該編瑪資料,而提供對應於 該原始資料的資料;以及 輸出該擷取資料。 29. 30. 如請求項28之電腦可讀取儲存媒體,其中該記憶體係快 閃记憶體且其中該等單元係該等快閃記憶體之區塊。 如請求項28之電腦可讀取儲存媒體,其中該記憶體係快 閃§己憶體且其中該等單元係該等快閃記憶體之頁。 127455-1000907.doc 12· 1360125 第096148250號專利申請案 中文圖式替換頁(100年9月|)沒 十一、圖式
    νι m ο
    eiΗ A- ιίι-δφ镏 127455-fig-1000907.doc 1360125
    127455-fig.doc 2- Γ360125
    圖3A
    圖3B 127455-fig.doc 1360125
    "原始" 位元序列 隨機j tn 1生器 ΓΛ J —00110100010091111101010101100110101001001 已知固定隨機位元序列 偽隨機 位元存列
    π原始" 位元序列 解隨;i η 趣產生器 > ...... —0011010001Ρ001111101010101100110101001001 已知固定隨機位元序列 偽隨機 位元序列 圖4 127455-fig.doc -4- 1360125
    圖5 127455-fig.doc 1360125
    圖6 127455-fig.doc 1360125 • ^ 第096148250號專利申請案 中文圖式替換頁(1〇〇年9月jg 40
    快閃控制器翌 快閃管理軟體 46 隨機化模組 ECC模組 48 49 快閃記憶體裝置K 圖7 快閃記憶體迎 127455-fig-1000907.doc 1360125 « u 第096148250號專利申請案 中文圖式替換頁(100年9月% 60
    主機電腦段 快閃控制器Μ 快閃管理軟體 66 隨機化硬體 ECC硬體 68 69 快閃記憶體裝置Ζ2 快閃記憶體ZQ 127455-fig-1000907.doc
    1360125 第096148250號專利申請案 中文圖式替換頁(1〇〇年9月fg 礞 00 _ 96
    09, Η §|哞逛ΟΝΥ σδ%'ΜΓβ祺«珑 5UUH
    127455-flg-1000907.doc -9-
TW096148250A 2006-12-24 2007-12-17 Flash memory device, system and method with random TWI360125B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US87182006P 2006-12-24 2006-12-24
US11/808,906 US8127200B2 (en) 2006-12-24 2007-06-13 Flash memory device and system with randomizing for suppressing errors
US11/808,905 US8370561B2 (en) 2006-12-24 2007-06-13 Randomizing for suppressing errors in a flash memory

Publications (2)

Publication Number Publication Date
TW200845012A TW200845012A (en) 2008-11-16
TWI360125B true TWI360125B (en) 2012-03-11

Family

ID=39542527

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096148250A TWI360125B (en) 2006-12-24 2007-12-17 Flash memory device, system and method with random

Country Status (2)

Country Link
US (1) US8127200B2 (zh)
TW (1) TWI360125B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10956259B2 (en) 2019-01-18 2021-03-23 Winbond Electronics Corp. Error correction code memory device and codeword accessing method thereof

Families Citing this family (147)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631245B2 (en) 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US8291295B2 (en) * 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
CN103280239B (zh) 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
WO2007132457A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US20080046641A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US20080046630A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7924648B2 (en) * 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US7813067B1 (en) 2007-02-14 2010-10-12 Marvell International Ltd. Accumulator for non-return to zero (NRZ) linear feedback shift register (LFSR) in controller for disk drive
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US7876621B2 (en) * 2007-04-23 2011-01-25 Sandisk Il Ltd. Adaptive dynamic reading of flash memories
US8429493B2 (en) 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US8000141B1 (en) * 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8270246B2 (en) 2007-11-13 2012-09-18 Apple Inc. Optimized selection of memory chips in multi-chips memory devices
US7945825B2 (en) * 2007-11-25 2011-05-17 Spansion Isreal, Ltd Recovery while programming non-volatile memory (NVM)
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
JP5019611B2 (ja) * 2007-12-27 2012-09-05 株式会社東芝 メモリシステム
US8301912B2 (en) 2007-12-31 2012-10-30 Sandisk Technologies Inc. System, method and memory device providing data scrambling compatible with on-chip copy operation
TWI404076B (zh) * 2008-01-07 2013-08-01 Powerchip Technology Corp 記憶體裝置以及資料讀取方法
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
DE102008008646A1 (de) * 2008-02-11 2009-08-13 Robert Bosch Gmbh CNC-Steuerung und Verfahren zur Datenübertragung
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US20090282267A1 (en) * 2008-05-09 2009-11-12 Ori Stern Partial scrambling to reduce correlation
US8458563B2 (en) * 2008-06-23 2013-06-04 Ramot At Tel Aviv University Ltd. Reading a flash memory by joint decoding and cell voltage distribution tracking
US8464131B2 (en) * 2008-06-23 2013-06-11 Ramot At Tel Aviv University Ltd. Reading a flash memory by constrained decoding
US8154918B2 (en) * 2008-06-30 2012-04-10 Sandisk Il Ltd. Method for page- and block based scrambling in non-volatile memory
TWI370969B (en) 2008-07-09 2012-08-21 Phison Electronics Corp Data accessing method, and storage system and controller using the same
US9772936B2 (en) * 2008-07-10 2017-09-26 Micron Technology, Inc. Data collection and compression in a solid state storage device
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US8230158B2 (en) * 2008-08-12 2012-07-24 Micron Technology, Inc. Memory devices and methods of storing data on a memory device
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8145855B2 (en) 2008-09-12 2012-03-27 Sandisk Technologies Inc. Built in on-chip data scrambler for non-volatile memory
US8429330B2 (en) * 2008-09-12 2013-04-23 Sandisk Technologies Inc. Method for scrambling data in which scrambling data and scrambled data are stored in corresponding non-volatile memory locations
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
EP2335245B1 (en) * 2008-09-28 2015-01-07 Ramot at Tel-Aviv University Ltd. Method and system for adaptive coding in flash memories
US8671327B2 (en) 2008-09-28 2014-03-11 Sandisk Technologies Inc. Method and system for adaptive coding in flash memories
KR101554159B1 (ko) * 2008-10-08 2015-09-21 삼성전자주식회사 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8316201B2 (en) * 2008-12-18 2012-11-20 Sandisk Il Ltd. Methods for executing a command to write data from a source location to a destination location in a memory device
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
TWI404067B (zh) * 2009-02-27 2013-08-01 Macronix Int Co Ltd 記憶體裝置及其操作方法
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8589700B2 (en) 2009-03-04 2013-11-19 Apple Inc. Data whitening for writing and reading data to and from a non-volatile memory
KR101504338B1 (ko) 2009-03-04 2015-03-23 삼성전자주식회사 불휘발성 메모리 장치의 동작 방법
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
KR20100111990A (ko) * 2009-04-08 2010-10-18 삼성전자주식회사 플래시 메모리 장치 및 그것의 데이터 랜덤화 방법
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
KR20100124087A (ko) * 2009-05-18 2010-11-26 삼성전자주식회사 메모리 컨트롤러, 그것을 포함하는 메모리 시스템 그리고 그것의 동작 방법
TWI415130B (zh) * 2009-06-02 2013-11-11 Silicon Motion Inc 快閃記憶體之控制器以及於快閃記憶體存取資料的方法
US8935589B2 (en) * 2009-06-02 2015-01-13 Silicon Motion, Inc. Controller and data access method for flash memories
US20120174187A1 (en) * 2009-07-09 2012-07-05 Georgia Tech Research Corporation Systems and methods for providing physical layer security
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
TWI435328B (zh) * 2009-07-20 2014-04-21 Silicon Motion Inc 針對一快閃記憶體的控制器所存取之資料來進行資料型樣管理之方法以及相關之記憶裝置及其控制器
KR101824227B1 (ko) * 2009-08-07 2018-02-05 삼성전자주식회사 메모리 시스템 및 그것의 프로그램 방법
US20110040924A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code
US20110041005A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System
US20110041039A1 (en) * 2009-08-11 2011-02-17 Eliyahou Harari Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device
US7961520B2 (en) * 2009-08-18 2011-06-14 Seagate Technology Llc Encoding and decoding to reduce switching of flash memory transistors
CN102034542B (zh) * 2009-09-25 2014-12-03 慧荣科技股份有限公司 数据型样管理的方法以及相关的记忆装置及其控制器
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8443263B2 (en) * 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
US8595411B2 (en) 2009-12-30 2013-11-26 Sandisk Technologies Inc. Method and controller for performing a sequence of commands
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
TWI438778B (zh) 2010-03-25 2014-05-21 Silicon Motion Inc 用來抑制資料錯誤之方法以及相關之記憶裝置及其控制器
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
CN102455948B (zh) * 2010-10-15 2014-09-10 慧荣科技股份有限公司 用来进行数据整形的方法以及相关的记忆装置及其控制器
US8402349B2 (en) 2010-12-06 2013-03-19 Apple Inc. Two dimensional data randomization for a memory
KR101678915B1 (ko) * 2010-12-27 2016-11-23 삼성전자주식회사 플래시 메모리 장치, 그것의 데이터 랜덤화 방법, 및 그것을 포함하는 메모리 시스템
US8819328B2 (en) 2010-12-30 2014-08-26 Sandisk Technologies Inc. Controller and method for performing background operations
WO2012117263A1 (en) * 2011-03-02 2012-09-07 Sandisk Il Ltd. Method of data storage in non-volatile memory
KR20120122573A (ko) * 2011-04-29 2012-11-07 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그의 동작 방법
US8694719B2 (en) 2011-06-24 2014-04-08 Sandisk Technologies Inc. Controller, storage device, and method for power throttling memory operations
TWI467590B (zh) * 2011-07-11 2015-01-01 Phison Electronics Corp 資料處理方法、記憶體控制器及記憶體儲存裝置
US8666068B2 (en) 2011-10-20 2014-03-04 Sandisk Technologies Inc. Method for scrambling shaped data
KR101811298B1 (ko) * 2011-12-28 2017-12-27 삼성전자주식회사 랜덤마이져로 씨드를 제공하는 씨드 컨트롤러 및 그것을 포함한 메모리 컨트롤러
US8839073B2 (en) * 2012-05-04 2014-09-16 Lsi Corporation Zero-one balance management in a solid-state disk controller
US8730724B2 (en) 2012-08-07 2014-05-20 Sandisk Technologies Inc. Common line current for program level determination in flash memory
US8737125B2 (en) 2012-08-07 2014-05-27 Sandisk Technologies Inc. Aggregating data latches for program level determination
KR101944793B1 (ko) 2012-09-04 2019-02-08 삼성전자주식회사 플래시 메모리를 포함하는 플래시 메모리 시스템 및 그것의 비정상 워드 라인 검출 방법
US20140115234A1 (en) * 2012-10-24 2014-04-24 Samsung Electronics Co., Ltd. Memory system comprising nonvolatile memory device and related method of operation
KR102125376B1 (ko) 2013-07-01 2020-06-23 삼성전자주식회사 저장 장치 및 그것의 쓰기 방법
TWI533311B (zh) * 2013-07-17 2016-05-11 慧榮科技股份有限公司 快閃記憶體裝置及其運作方法
US9177663B2 (en) 2013-07-18 2015-11-03 Sandisk Technologies Inc. Dynamic regulation of memory array source line
US20150143070A1 (en) * 2013-11-19 2015-05-21 Samsung Electronics Co., Ltd. Nonvolatile storage and operating methods of computing devices including the nonvolatile storage
US9129701B2 (en) 2013-12-19 2015-09-08 Sandisk Technologies Inc. Asymmetric state detection for non-volatile storage
US9368224B2 (en) 2014-02-07 2016-06-14 SanDisk Technologies, Inc. Self-adjusting regulation current for memory array source line
KR102244617B1 (ko) 2014-03-13 2021-04-26 삼성전자 주식회사 논리 정보와 물리 정보를 이용하여 데이터를 처리할 수 있는 장치와 방법
US9576624B2 (en) 2014-06-30 2017-02-21 Seagate Technology Llc Multi-dimentional data randomization
GB2530043A (en) * 2014-09-10 2016-03-16 Ibm Device and method for storing data in a plurality of multi-level cell memory chips
KR102200108B1 (ko) 2014-10-10 2021-01-08 삼성전자주식회사 비휘발성 메모리 장치 및 그 동작 방법
JP5940704B1 (ja) * 2015-03-26 2016-06-29 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
CN106250050B (zh) 2015-06-10 2021-02-05 恩智浦美国有限公司 用于数据传输中的实时空白页检测的方法和装置
US9524794B1 (en) 2015-08-10 2016-12-20 Sandisk Technologies Llc Constrained data shaping
US10417122B2 (en) 2015-09-30 2019-09-17 Seagate Technology Llc Data randomization using memory block access counts
US9934090B2 (en) * 2015-12-22 2018-04-03 Intel Corporation Apparatus and method for enforcement of reserved bits
US9971644B2 (en) * 2015-12-24 2018-05-15 Intel Corporation Serial I/O functional tester
JP6181218B2 (ja) 2016-02-09 2017-08-16 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
KR102511459B1 (ko) 2016-03-17 2023-03-17 삼성전자주식회사 비휘발성 메모리 장치 및 그 동작 방법
KR102636039B1 (ko) 2016-05-12 2024-02-14 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 읽기 방법 및 카피백 방법
US9928126B1 (en) 2017-06-01 2018-03-27 Apple Inc. Recovery from cross-temperature read failures by programming neighbor word lines
CN111357203A (zh) 2017-06-26 2020-06-30 斯蒂芬·泰琳 用于将大数据变换成较小的表示的***和方法
CN109213436B (zh) 2017-06-30 2021-08-24 慧荣科技股份有限公司 降低快闪储存介面中传收数据错误方法及装置
US10848263B2 (en) 2017-06-30 2020-11-24 Silicon Motion, Inc. Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same
US10630424B2 (en) 2017-06-30 2020-04-21 Silicon Motion, Inc. Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same
US10637509B2 (en) 2017-06-30 2020-04-28 Silicon Motion, Inc. Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same
TWI645298B (zh) 2017-06-30 2018-12-21 慧榮科技股份有限公司 降低快閃儲存介面中傳收資料錯誤方法以及使用該方法的裝置
US10319444B2 (en) 2017-10-30 2019-06-11 International Business Machines Corporation Memory data randomizer
CN108052279B (zh) * 2017-11-23 2020-06-19 深圳市江波龙电子股份有限公司 一种提升闪存性能的方法、装置、设备及存储介质
US10635400B2 (en) 2017-12-12 2020-04-28 Western Digital Technologies, Inc. Seed generation
US10698839B2 (en) * 2017-12-12 2020-06-30 Western Digital Technologies, Inc. Seed scrambling
US10970165B2 (en) 2018-05-03 2021-04-06 SK Hynix Inc. Encoder and decoder for memory system and method thereof
US20210303715A1 (en) * 2020-03-25 2021-09-30 SK Hynix Inc. Data scrambler for memory systems and method thereof
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1797379A (en) * 1928-06-04 1931-03-24 Lewis D Spaulding Rotary bunching and conveyer machine
US5268870A (en) 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US4993029A (en) * 1989-03-13 1991-02-12 International Business Machines Corporation Method and apparatus for randomizing data in a direct access storage device
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5712863A (en) * 1996-02-09 1998-01-27 Overland Data Inc Randomizing encoder for digital data storage
US5937425A (en) 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
US6279133B1 (en) 1997-12-31 2001-08-21 Kawasaki Steel Corporation Method and apparatus for significantly improving the reliability of multilevel memory architecture
DE19982502T1 (de) 1998-01-08 2000-11-30 Seagate Technology Vorrichtung, System und Verfahren einer physischen Blockadressen-Wiederherstellung für zyklische Fehlerkorrektur-Codes
EP1130600A1 (en) 2000-03-01 2001-09-05 Hewlett-Packard Company, A Delaware Corporation Data balancing scheme in solid state storage devices
US7155015B2 (en) 2000-08-08 2006-12-26 Hitachi, Ltd. Optical disk apparatus and data randomizing method using for optical disk apparatus
US6684289B1 (en) 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
US20020093356A1 (en) 2000-11-30 2002-07-18 Williams Thomas W. Intelligent test vector formatting to reduce test vector size and allow encryption thereof for integrated circuit testing
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
CN1311354C (zh) 2001-04-24 2007-04-18 皇家菲利浦电子有限公司 用于闪速存储器允许可更改位的***和存储数据的方法
US6591330B2 (en) 2001-06-18 2003-07-08 M-Systems Flash Disk Pioneers Ltd. System and method for flexible flash file
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
US20030135798A1 (en) 2001-12-13 2003-07-17 Yukari Katayama Optical disk device and data randomizing method for optical disk device
KR100683179B1 (ko) * 2003-11-03 2007-02-15 삼성전자주식회사 듀얼 스트림용 디지털 방송 송/수신 시스템의 강건한에러정정 부호화/복호화 장치 및 그의 방법
US7509556B2 (en) * 2003-11-20 2009-03-24 Seagate Technology Llc Method and apparatus for combining output of different type interleavers based on an input data sequence to obtain a combined output
US20050213393A1 (en) 2004-03-14 2005-09-29 M-Systems Flash Disk Pioneers, Ltd. States encoding in multi-bit flash cells for optimizing error rate
US7305574B2 (en) 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
CN1838323A (zh) 2005-01-19 2006-09-27 赛芬半导体有限公司 可预防固定模式编程的方法
US20060227974A1 (en) 2005-03-30 2006-10-12 Attila Haraszti Encryption and decryption method
US7916866B2 (en) 2006-05-19 2011-03-29 Mediatek, Inc. Apparatus for descrambling a data retrieved from an optical storage medium, and method therefor
US7716415B2 (en) 2006-08-01 2010-05-11 Sandisk Il Ltd. Method of avoiding errors in flash memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10956259B2 (en) 2019-01-18 2021-03-23 Winbond Electronics Corp. Error correction code memory device and codeword accessing method thereof

Also Published As

Publication number Publication date
US20080151618A1 (en) 2008-06-26
TW200845012A (en) 2008-11-16
US8127200B2 (en) 2012-02-28

Similar Documents

Publication Publication Date Title
TWI360125B (en) Flash memory device, system and method with random
US8370561B2 (en) Randomizing for suppressing errors in a flash memory
US20200042223A1 (en) System and method for facilitating a high-density storage device with improved performance and endurance
USRE45697E1 (en) System, method and memory device providing data scrambling compatible with on-chip copy operation
US9037782B2 (en) Method of programming memory cells and reading data, memory controller and memory storage apparatus using the same
TWI390534B (zh) 藉由使用替代轉換在快閃記憶體中避免錯誤
JP4429685B2 (ja) 不揮発性メモリシステム内のエラー訂正コードのためのハイブリッド実装
KR101482242B1 (ko) 플래쉬 메모리에 액세스하는 방법 및 연관된 플래쉬 메모리 제어기
KR101449673B1 (ko) 에러 억제를 위해 랜더마이징하는 플래시 메모리 디바이스, 시스템 및 방법
KR101300821B1 (ko) 비휘발성 메모리의 데이터 손실을 방지하기 위한 장치 및방법
US8996933B2 (en) Memory management method, controller, and storage system
CN107957959B (zh) 具有文件级安全擦除的存储器***及其操作方法
KR20090080032A (ko) 저장 장치들에 대한 보안을 제공하는 방법 및 시스템
US20130212368A1 (en) Data protecting method, memory controller and memory storage device
CN112997139B (zh) 存储器子***中的数据擦除
US20130080787A1 (en) Memory storage apparatus, memory controller and password verification method
JP6994136B1 (ja) メモリにおける単調カウンタ
KR20150094543A (ko) 플래시 메모리에 데이터를 기록하는 방법 및 관련 메모리 장치 및 플래시 메모리
US11651707B2 (en) Method and apparatus for encrypting and decrypting user data
US20170228299A1 (en) Data Recovery in Three Dimensional Non-Volatile Memory Array After Word Line Short
KR20190035269A (ko) 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 불휘발성 메모리 장치를 포함하는 데이터 저장 장치
US11211119B1 (en) QLC programming method with staging of fine data
US10083742B2 (en) Method and apparatus for programming non-volatile memory using a multi-cell storage cell group to provide error location information for retention errors
CN106980464B (zh) 利用过采样读取的***最优化方法
JP2020052181A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees