TWI409821B - 解碼方法、編碼方法及啟動控制系統 - Google Patents

解碼方法、編碼方法及啟動控制系統 Download PDF

Info

Publication number
TWI409821B
TWI409821B TW098133138A TW98133138A TWI409821B TW I409821 B TWI409821 B TW I409821B TW 098133138 A TW098133138 A TW 098133138A TW 98133138 A TW98133138 A TW 98133138A TW I409821 B TWI409821 B TW I409821B
Authority
TW
Taiwan
Prior art keywords
error correction
correction code
data
gate
decoding
Prior art date
Application number
TW098133138A
Other languages
English (en)
Other versions
TW201035983A (en
Inventor
Chin Huo Chu
Horng Yi Chang
Jia Horng Shieh
Original Assignee
Mediatek Inc
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
Application filed by Mediatek Inc filed Critical Mediatek Inc
Publication of TW201035983A publication Critical patent/TW201035983A/zh
Application granted granted Critical
Publication of TWI409821B publication Critical patent/TWI409821B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

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

解碼方法、編碼方法及啟動控制系統
本發明係有關於一種從反及閘快閃記憶體(NAND Flash)啟動之解碼/編碼方法及相關系統,且特別有關於用於讀取先前作為反及閘啟動資訊(NAND booting information)複本(duplicate)寫入反及閘快閃記憶體之資料並對所述讀取資料執行投票策略(voting scheme)以獲取反及閘啟動資訊的解碼方法、編碼方法及啟動控制系統。
反及閘快閃記憶體有諸多優點,例如高吞吐量(high throughout)、擦除時間短(fast erasing time)及每位元組之成本較基於反或閘架構之快閃記憶體(NOR architecture-based Flash memory)低很多,因此,其逐漸成為需要大儲存容量以儲存操作系統(Operation System,OS)圖像與多媒體對象(如MP3檔案)之個人數位助理(Personal Digital Assistant,PDA)及移動手機平台的理想解決方案。反及閘快閃記憶體係為非就地執行(non-Execution in Place,non-XIP)型記憶體,因此於從反及閘快閃記憶體啟動之前,必須將代碼映射(shadow)至就地執行(Execution in Place,XIP)型記憶體,例如隨機存取記憶體(Random Access Memory,RAM)。
反及閘快閃記憶體陣列(array)係分為一連串之區塊(block),而所述區塊係為反及閘快閃記憶體裝置中之最小可擦除單元。例如,一個2G位元組之反及閘快閃記憶體裝置,分為2048個區塊,每個區塊有64個頁面,每個頁面為2112位元組,其中包含2048位元組資料區域與64位元組備份(spare)區域。備份區域通常用於錯誤更正碼(error correction code,ECC)以確保資料完整性、耗損平均(wear-leveling)及其他軟體開銷(overhead)功能。請參考第1A及1B圖,其分別係依據先前技術於同一頁面中儲存資料與備份資訊的兩個傳統實施例(implementation)之示意圖,第1A圖係第一實施例之示意圖,2112位元組之頁面包含四個528位元組之單元,且每一單元包含512位元組之資料區域及與之直接相鄰的16位元組之備份區域。第1B圖係第二實施例之示意圖,所示之資料與備份資訊係分開儲存。四個512位元組之資料區域(資料區域1-4)首先被儲存,其各自對應之16位元組之備份區域(備份區域1-4)則依序儲存於其後的頁面末端。
另外,當前之反及閘快閃記憶體製造包含一種每個細胞(cell)只可儲存一位元資料之傳統單階細胞(single-level cell,SLC)製程,以及一種每個細胞最少可儲存兩位元資料之多階細胞(multi-level cell,MLC)製程。相對於單階細胞製程而言,多階細胞製程具有明顯之密度(density)優勢,但於速度及可靠性上存在不足。單階細胞反及閘快閃記憶體係利用簡單漢明碼(Hamming code)以更正單一位元錯誤。然而,從單階細胞反及閘快閃記憶體至多階細胞反及閘快閃記憶體,ECC位元數(bit number)逐步增大,其使得從反及閘快閃記憶體啟動之複雜性也增大。
當系統不能確定反及閘快閃記憶體係為何種類型時,系統將依據反及閘啟動資訊之設置,例如頁面大小、地址週期、匯流排介面、ECC位元數等,從反及閘快閃記憶體之區塊0的啟動頁面開始讀取所述反及閘快閃記憶體。若所述使用的設置不正確且ECC檢查失敗,系統將繼續嘗試反及閘啟動資訊之另一設置,直至成功從反及閘快閃記憶體啟動。對於頁面大小為4K位元組之反及閘快閃記憶體而言,其ECC位元數之迭代(iteration)包含4、6、8、10及12位元。亦即,不包含嘗試其他諸如頁面大小、地址週期之設置,系統最多需嘗試五次以成功從反及閘快閃記憶體啟動。
另一方面,於啟動頁面中,反及閘啟動資訊需佔用大約50位元組。請再次參考第1A及1B圖,若反及閘快閃記憶體使用第1A圖所示之第一實施,系統只能於讀取一個512位元組之資料區域之後才可檢查備份區域中之對應奇偶校驗(parity);或者,若反及閘快閃記憶體使用第1B圖所示之第二實施,系統只能於讀取完四個512位元組之資料區域之後才可檢查備份區域中之對應奇偶校驗,其將耗費很長時間。
綜上所述,於傳統之啟動方法中,系統需嘗試反及閘啟動資訊之大量設置以尋求合適之設置。此外,即便反及閘啟動資訊僅佔用資料區域之一小部份,系統仍需讀取全部之資料區域與備份區域後才可以執行ECC檢查。
為增強相關裝置之錯誤更正能力與啟動效能,特提供以下技術方案:本發明實施例提供一種解碼方法,用於從包含啟動頁面之反及閘快閃記憶體啟動,所述啟動頁面用於儲存多個反及閘啟動資訊及多個藉由錯誤更正碼位元數產生之對應之奇偶校驗,所述解碼方法包含:讀取啟動頁面以獲取多個配置資料及多個錯誤更正碼資料;以及對所述多個配置資料及所述多個錯誤更正碼資料執行投票策略及錯誤更正碼解碼程序,以獲取所述反及閘啟動資訊。
本發明實施例另提供一種編碼方法,用於反及閘快閃記憶體,所述編碼方法包含:依據預定錯誤更正碼能力編碼反及閘啟動資訊,以產生預定錯誤更正碼位元數對應之奇偶校驗;複製所述反及閘啟動資訊及所述奇偶校驗,以產生多個反及閘啟動資訊及多個奇偶校驗;以及將所述多個反及閘啟動資訊及所述多個奇偶校驗寫入所述反及閘快閃記憶體之啟動頁面。
本發明實施例提供一種啟動控制系統,用於從包含啟動頁面之反及閘快閃記憶體啟動,所述啟動頁面儲存多個反及閘啟動資訊及多個奇偶校驗,每一奇偶校驗對應於所述反及閘啟動資訊及預定錯誤更正碼位元數,所述啟動控制系統包含:反及閘快閃記憶體控制器,耦接至所述反及閘快閃記憶體,用於讀取所述啟動頁面以獲取多個配置資料及多個錯誤更正碼資料;以及處理單元,耦接至所述反及閘快閃記憶體控制器,用於對所述多個配置資料及所述多個錯誤更正碼資料執行投票策略,並控制錯誤更正碼引擎以對所述多個配置資料及所述多個錯誤更正碼資料執行錯誤更正碼解碼程序,以獲取所述反及閘啟動資訊。
以上所述的解碼方法、編碼方法及其啟動控制系統,能夠藉由利用投票策略、處理單元及啟動控制設備增強相關裝置之錯誤更正能力與啟動效能。
於說明書及後續的申請專利範圍當中使用了某些詞彙來指稱特定的元件。所屬領域中具有通常知識者應可理解,硬體製造商可能會用不同的名詞來稱呼同樣的元件。本說明書及後續的申請專利範圍並不以名稱的差異來作為區分元件的方式,而是以元件於功能上的差異來作為區分的準則。於通篇說明書及後續的請求項當中所提及的「包含」係為一開放式的用語,故應解釋成「包含但不限定於」。另外,「耦接」一詞於此係包含任何直接及間接的電氣連接手段。因此,若文中描述一第一裝置耦接於一第二裝置,則代表該第一裝置可直接電氣連接於該第二裝置,或透過其他裝置或連接手段間接地電氣連接至該第二裝置。
本發明欲為利用反及閘快閃記憶體並希望從其啟動之系統提供一種解碼方法20。舉例而言,所述系統可係為利用反及閘快閃記憶體以獲取大儲存容量之移動手機平台、可攜式電子裝置、電腦、多媒體平台或電子裝置。
請注意,反及閘快閃記憶體之反及閘啟動資訊,例如頁面大小、地址週期、匯流排介面及ECC位元數,係依本發明另一實施例中編碼方法60(稍後將作說明)進行編碼並寫入反及閘快閃記憶體。於執行編碼方法60之後,反及閘快閃記憶體之啟動頁面將儲存多個反及閘啟動資訊及多個奇偶校驗,每一奇偶校驗皆對應於所述反及閘啟動資訊及ECC位元數,所述ECC位元數包含4、6、8、10及12位元等。於一實施例中,需使用最大ECC位元數以確保所有類型之ECC可被解碼。換言之,啟動頁面儲存反及閘啟動資訊與對應奇偶校驗之複本。
請參考第2圖,第2圖係依本發明實施例之解碼方法20的流程圖。所述解碼方法20包含以下步驟:
步驟200:開始。
步驟202:讀取反及閘快閃記憶體之啟動頁面,以獲取N個配置資料(configuration data)及N個ECC資料,N>1。
步驟204:將所述N個配置資料及所述N個ECC資料寫入記憶體單元。
步驟206:對所述N個配置資料及所述N個ECC資料執行投票策略及ECC解碼程序,以獲取反及閘啟動資訊。
步驟208:結束。
啟動頁面通常位於區塊0。於解碼方法20中,系統首先讀取啟動頁面以獲取配置資料及ECC資料。配置資料係為帶有於執行資料傳送中產生之位元錯誤之反及閘啟動資訊,而ECC資料則係為帶有於執行資料傳送中產生之位元錯誤之奇偶校驗。然後,系統將N個配置資料及N個ECC資料寫入系統中之記憶體單元。由於反及閘快閃記憶體係為非就地執行型記憶體,因此,所述記憶體單元可係為RAM。應注意,於本發明另一實施例中,由於系統亦可藉由給定地址來讀取啟動頁面,並可執行後續步驟而無需儲存N個配置資料及N個ECC資料至記憶體單元,因此,步驟204亦可省略。
最後,系統對N個配置資料及N個ECC資料執行投票策略及ECC解碼程序,以獲取反及閘啟動資訊。投票策略較佳地係為最大得票數的策略(majority voting scheme)。依據解碼方法20,當從反及閘快閃記憶體啟動時,系統無需花費太多時間以嘗試ECC位元數之迭代。並且,系統可以不同方式執行步驟206。簡言之,系統可先執行最大得票數的策略,後執行ECC解碼程序,或先執行ECC解碼程序。
請參考第3、4、5圖,所述圖示分別係為依本發明實施例之不同解碼方法30、40、50的流程圖。所述解碼方法30包含以下步驟:
步驟300:開始。
步驟302:讀取反及閘快閃記憶體之啟動頁面,以獲取N個配置資料及N個ECC資料,N>1。
步驟304:將所述N個配置資料及所述N個ECC資料寫入記憶體單元。
步驟306:對所述N個配置資料執行投票策略,以決定得勝配置資料(winning configuration data)。
步驟308:依據所述N個ECC資料之每一者,對得勝配置資料執行ECC解碼程序,以產生解碼結果。
步驟310:決定解碼結果是否成功。若是,則反及閘啟動資訊已獲取;若否,返回至執行步驟308。
步驟312:結束。
解碼方法30中之步驟306至310可類似於解碼方法20中之步驟206而執行。於解碼方法30中,系統藉由最大得票數的策略,從N個配置資料中決定一個得勝配置資料,所述得勝配置資料係最可能成為反及閘啟動資訊之資料。然後,系統嘗試使用每一ECC資料來解碼得勝配置資料,並相應地產生所述的解碼結果。若解碼結果成功,則表明所使用的ECC資料恰好為所述得勝配置資料之奇偶校驗,且可更正所述得勝配置資料以獲取反及閘啟動資訊;若所述解碼結果不成功,則表明所使用的ECC資料不是所述得勝配置資料之奇偶校驗。系統必須根據另一個未使用之ECC資料,再次執行ECC解碼程序,直至獲取反及閘啟動資訊。
另外,解碼方法40包含以下步驟:
步驟400:開始。
步驟402:讀取反及閘快閃記憶體之啟動頁面,以獲取N個配置資料及N個ECC資料,N>1。
步驟404:將所述N個配置資料及所述N個ECC資料寫入記憶體單元。
步驟406:對所述N個配置資料執行投票策略,以決定得勝配置資料。
步驟408:對所述N個ECC資料執行投票策略,以決定得勝ECC資料。
步驟410:依據得勝ECC資料對得勝配置資料執行ECC解碼程序,以獲取反及閘啟動資訊。
步驟412:結束。
解碼方法40中之步驟406至410可類似於解碼方法20中之步驟206而執行。於解碼方法40中,系統分別對N個配置資料及N個ECC資料執行最大得票數的策略,然後依據得勝ECC資料對得勝配置資料執行ECC解碼程序。由於所述得勝配置資料最可能成為反及閘啟動資訊,且所述得勝ECC資料最可能成為對應之奇偶校驗,因此,系統可相應地獲取反及閘啟動資訊。
另外,解碼方法50包含以下步驟:
步驟500:開始。
步驟502:讀取反及閘快閃記憶體之啟動頁面,以獲取N個配置資料及N個ECC資料,N>1。
步驟504:將所述N個配置資料及所述N個ECC資料寫入記憶體單元。
步驟506:依據所述N個ECC資料中之一對應的ECC資料,對所述N個配置資料中之每一者執行ECC解碼程序,以產生N個解碼結果。
步驟508:對所述N個解碼結果執行投票策略,以決定得勝解碼結果作為反及閘啟動資訊。
步驟510:結束。
解碼方法50中之步驟506至508可類似於解碼方法20中之步驟206而執行。所述解碼方法50與解碼方法30及40之最大區別在於:於解碼方法50中,系統首先執行ECC解碼程序,然後執行最大得票數的策略。於對每一配置資料執行ECC解碼程序並產生N個解碼結果之後,系統對所述N個解碼結果執行最大得票數的策略並決定得勝解碼結果作為反及閘啟動資訊。
利用編碼方法60,系統最佳化多階細胞反及閘快閃記憶體之ECC位元數,而多階細胞反及閘快閃記憶體所需之ECC位元數低於ECC之最大能力(capability)。利用解碼方法20及其他實施例以獲取由編碼方法60編碼之反及閘啟動資訊,系統可因最大得票數的策略而節省嘗試ECC位元數之迭代的時間,並得到高的錯誤更正能力。另一方面,當系統藉由解碼方法20、30、40及50獲取有效之反及閘啟動資訊失敗時,則表明除ECC位元數外,系統可能使用了錯誤之啟動資訊,例如頁面大小與地址週期之設置。此時,系統改變頁面大小或者地址週期之設置,並嘗試獲取有效之反及閘啟動資訊。
於執行解碼方法20、30、40及50中讀取啟動頁面之步驟之前,系統必須禁能用於啟動頁面之ECC策略,以確保最大得票數的策略及ECC編碼程序可被成功執行。並且,對於多階細胞反及閘快閃記憶體而言,奇偶校驗通常係藉由BCH(Bose-Chaudhuri-Hocquenghem)演算法來實作。
所述編碼方法60將描述如下。請參考第6圖,第6圖係依本發明實施例之編碼方法60的流程圖。編碼方法60係用於產生與反及閘啟動資訊對應之奇偶校驗並將反及閘啟動資訊寫入反及閘快閃記憶體。所述編碼方法60包含以下步驟:
步驟600:開始。
步驟602:依據預定(predetermined)ECC能力編碼反及閘啟動資訊,以產生與預定ECC位元數對應之奇偶校驗。
步驟604:複製反及閘啟動資訊及奇偶校驗,以產生N個反及閘啟動資訊及N個奇偶校驗,N>1。
步驟606:將所述N個反及閘啟動資訊及所述N個奇偶校驗寫入反及閘快閃記憶體之啟動頁面。
步驟608:結束。
首先,依據預定ECC能力,例如ECC之最大能力,系統編碼反及閘啟動資訊以產生與預定ECC位元數對應之奇偶校驗,所述預定ECC位元數具有依ECC之最大能力的最大數值。因此,反及閘啟動資訊可藉由ECC之最大能力而得到保護。接著,系統複製反及閘啟動資訊及奇偶校驗,以產生N個反及閘啟動資訊及N個奇偶校驗,然後將所述N個反及閘啟動資訊及所述N個奇偶校驗寫入反及閘快閃記憶體之啟動頁面。於本實施例之步驟606中,每一反及閘啟動資訊之後依序緊跟有其對應之奇偶校驗。但於另一實施例中,奇偶校驗可保存於反及閘啟動資訊之前的所需位置。所述複本之數量取決於所述頁面之大小。
請進一步參考第7A及7B圖。第7A圖係傳統ECC奇偶校驗之分配方式的示意圖,而第7B圖係依編碼方法60之ECC奇偶校驗之分配方式的示意圖。如第7A圖所示,系統讀取完一個512位元組之資料區域後,才可檢查儲存於備份區域中之對應的奇偶校驗(圖中斜線區)。與之相較,於第7B圖中,系統將N個反及閘啟動資訊及N個奇偶校驗(圖中斜線區)寫入反及閘快閃記憶體,並依據解碼方法20執行最大得票數的策略,從而可增強錯誤更正能力。
藉由所述驗證,本發明之所述實施例即使於超過30個百分比之反及閘啟動資訊損壞時仍可防止錯誤。因此,本發明之所述實施例可提供高的錯誤更正能力。另外,本發明之所述實施例可最佳化多階細胞反及閘快閃記憶體之ECC位元數,而多階細胞反及閘快閃記憶體所需之ECC位元數低於ECC之最大能力。
所述解碼方法20、30、40及50係用於獲取反及閘啟動資訊,且每一者皆可用於完整之啟動程序。請參考第8圖,第8圖係依本發明實施例之啟動方法80的流程圖。所述啟動方法80包含以下步驟:
步驟800:開始。
步驟802:設置頁面大小及地址週期以存取反及閘快閃記憶體。
步驟804:執行解碼方法20以獲取反及閘啟動資訊。
步驟806:檢查反及閘啟動資訊之有效性。若反及閘啟動資訊係有效,執行步驟808;否則,返回至執行步驟802以改變頁面大小及地址週期之設置。
步驟808:設置反及閘啟動資訊至反及閘快閃記憶體控制器。
步驟810:將載入程序(loader)從反及閘快閃記憶體讀取至記憶體單元。
步驟812:於記憶體單元上執行載入程序,以從反及閘快閃記憶體啟動。
步驟814:結束。
於啟動方法80中,反及閘快閃記憶體儲存藉由編碼方法60產生之資料。首先,系統設置頁面大小及地址週期以存取反及閘快閃記憶體,且執行解碼方法20以獲取反及閘啟動資訊。應注意,解碼方法20亦可由解碼方法30、40或50替代。所述解碼方法之詳細操作已於上文描述,此處不另贅述。當反及閘啟動資訊被獲取之後,系統檢查反及閘啟動資訊是否有效。系統將執行步驟802、804及806之循環直至反及閘啟動資訊有效。然後,系統設置有效之反及閘啟動資訊至反及閘快閃記憶體控制器,並將載入程序從反及閘快閃記憶體中讀取至記憶體單元(例如RAM),從而系統可於記憶體單元上執行載入程序,並最終從反及閘快閃記憶體啟動。
此外,解碼方法20、30、40及50以及啟動方法80之任一者皆可於啟動控制系統90中實施。請參考第9圖,第9圖係依本發明實施例之啟動控制系統90的示意圖。啟動控制系統90用於從反及閘快閃記憶體910中啟動,所述反及閘快閃記憶體910中包含儲存有編碼方法60產生之反及閘啟動資訊的啟動頁面。所述啟動控制系統90包含處理單元900、記憶體單元902、反及閘快閃記憶體控制器904及ECC引擎(engine)906,且啟動控制系統90之所述單元係經由匯流排908通訊。
所述啟動控制系統90實施了解碼方法20與啟動方法80。處理單元900被用於執行以下步驟:設置頁面大小及地址週期,以存取反及閘快閃記憶體(步驟802);對N個配置資料及N個ECC資料執行投票策略(步驟206);檢查反及閘啟動資訊之有效性(步驟806);當所述反及閘啟動資訊結果無效時,改變頁面大小及地址週期之設置(亦即,當所述結果無效時返回至步驟802);設置有效之反及閘啟動資訊至反及閘快閃記憶體控制器904(步驟808),以及於記憶體單元902上執行載入程序,用於從反及閘快閃記憶體910啟動(步驟812)。所述記憶體單元902係為就地執行型記憶體,例如RAM,其耦接至處理單元900及反及閘快閃記憶體控制器904,並用於儲存所述N個配置資料及所述N個ECC資料。於本發明另一實施例中,記憶體單元902可獨立於ECC引擎906,而當ECC引擎906具有足夠之內部緩衝器來儲存反及閘啟動資訊時,記憶體單元902亦可實作於ECC引擎906中。
反及閘快閃記憶體控制器904耦接至處理單元900、記憶體單元902及反及閘快閃記憶體910,用於獲取N個配置資料及N個ECC資料(步驟202),將N個配置資料及N個ECC資料寫入記憶體單元902(步驟204),以及將載入程序從反及閘快閃記憶體910讀取至記憶體單元902(步驟810)。ECC引擎906耦接至處理單元900、記憶體單元902及反及閘快閃記憶體控制器904,用於執行ECC解碼程序以獲取反及閘啟動資訊(步驟206)。
簡言之,反及閘快閃記憶體控制器904控制對反及閘快閃記憶體910之讀/寫動作。處理單元900及ECC引擎906聯合運作以執行投票策略及ECC解碼程序,直至獲取有效之反及閘啟動資訊。最後,啟動控制系統90之全部單元聯合運作以從反及閘快閃記憶體910啟動。關於啟動控制系統90之不同實施例,請參考解碼方法20、30、40及50,所述解碼方法描述了處理單元900及ECC引擎906之不同操作。
總之,依本發明實施例,所述解碼方法可藉由投票策略而提升錯誤更正能力,而所述編碼方法可最佳化ECC位元數,因此所述啟動方法及啟動控制裝置可藉由利用所述解碼方法及編碼方法來提升從反及閘快閃記憶體啟動之效能。
以上所述僅為本發明之較佳實施例,舉凡熟悉本案之人士援依本發明之精神所做之等效變化與修飾,皆應涵蓋於後附之申請專利範圍內。
20、30、40、50‧‧‧解碼方法
60‧‧‧編碼方法
200~208、300~312、400~412、500~510、600~608‧‧‧步驟
80‧‧‧啟動方法
800~814‧‧‧步驟
90‧‧‧啟動控制系統
900‧‧‧處理單元
902‧‧‧記憶體單元
904‧‧‧反及閘快閃記憶體控制器
906‧‧‧ECC引擎
908‧‧‧匯流排
910‧‧‧反及閘快閃記憶體
第1A及1B圖分別係依先前技術於同一頁面儲存資料與備份資訊之兩種傳統實施例的示意圖。
第2~5圖係依本發明實施例之不同解碼方法的流程圖。
第6圖係依本發明實施例之編碼程序的流程圖。
第7A圖係傳統ECC奇偶校驗之分配方式的示意圖。
第7B圖係依第6圖所示編碼程序之ECC奇偶校驗之分配方式的示意圖。
第8圖係依本發明實施例之啟動程序的流程圖。
第9圖係依本發明實施例之啟動控制系統的示意圖。
20...解碼方法
200~208...步驟

Claims (18)

  1. 一種解碼方法,用於從包含一啟動頁面之一反及閘快閃記憶體啟動,該啟動頁面用於儲存多個反及閘啟動資訊及多個對應奇偶校驗,每一奇偶校驗係藉由一預定錯誤更正碼位元數而產生,該解碼方法包含:讀取該啟動頁面,以獲取多個配置資料及多個錯誤更正碼資料;以及對該多個配置資料及該多個錯誤更正碼資料執行一投票策略及一錯誤更正碼解碼程序,以獲取該反及閘啟動資訊。
  2. 如申請專利範圍第1項所述之解碼方法,更包含:於該讀取該啟動頁面之步驟之前,禁能用於該啟動頁面之一錯誤更正碼策略。
  3. 如申請專利範圍第1項所述之解碼方法,更包含:於該讀取該啟動頁面之步驟之後,將該多個配置資料及該多個錯誤更正碼資料寫入一記憶體單元。
  4. 如申請專利範圍第1項所述之解碼方法,其中該投票策略係為一最大得票數的策略。
  5. 如申請專利範圍第1項所述之解碼方法,其中該對該多個配置資料及該多個錯誤更正碼資料執行該投票策略及該錯誤更正碼解碼程 序,以獲取該反及閘啟動資訊之步驟包含:對該多個配置資料執行該投票策略,以決定一得勝配置資料;以及依據該多個錯誤更正碼資料之每一者對該得勝配置資料執行該錯誤更正碼解碼程序,直至取得該反及閘啟動資訊。
  6. 如申請專利範圍第1項所述之解碼方法,其中該對該多個配置資料及該多個錯誤更正碼資料執行該投票策略及該錯誤更正碼解碼程序,以獲取該反及閘啟動資訊之步驟包含:對該多個配置資料執行該投票策略,以決定一得勝配置資料;對該多個錯誤更正碼資料執行該投票策略,以決定一得勝錯誤更正碼資料;以及依據該得勝錯誤更正碼資料對該得勝配置資料執行該錯誤更正碼解碼程序,以獲取該反及閘啟動資訊。
  7. 如申請專利範圍第1項所述之解碼方法,其中該對該多個反及閘啟動資訊及該多個錯誤更正碼資料執行該投票策略及該錯誤更正解碼程序,以獲取該反及閘啟動資訊之步驟包含:依據該多個錯誤更正碼資料中一對應的錯誤更正碼資料,對該多個配置資料之每一者執行該錯誤更正碼解碼程序,以產生多個解碼結果;以及對該多個解碼結果執行該投票策略,以決定一得勝解碼結果作為該反及閘啟動資訊。
  8. 一種編碼方法,用於一反及閘快閃記憶體,該編碼方法包含: 依據一預定錯誤更正碼能力編碼一反及閘啟動資訊,以產生一預定錯誤更正碼位元數對應之一奇偶校驗;複製該反及閘啟動資訊及該奇偶校驗,以產生多個反及閘啟動資訊及多個奇偶校驗;以及將該多個反及閘啟動資訊及該多個奇偶校驗寫入該反及閘快閃記憶體之一啟動頁面。
  9. 一種啟動控制系統,用於從包含一啟動頁面之一反及閘快閃記憶體啟動,該啟動頁面儲存多個反及閘啟動資訊及多個奇偶校驗,每一奇偶校驗皆對應於該反及閘啟動資訊及一預定錯誤更正碼位元數,該啟動控制系統包含:一反及閘快閃記憶體控制器,耦接至該反及閘快閃記憶體,用於讀取該啟動頁面以獲取多個配置資料及多個錯誤更正碼資料;以及一處理單元,耦接至該反及閘快閃記憶體控制器,用於對該多個配置資料及該多個錯誤更正碼資料執行一投票策略,並控制一錯誤更正碼引擎以對該多個配置資料及該多個錯誤更正碼資料執行一錯誤更正碼解碼程序,以獲取該反及閘啟動資訊。
  10. 如申請專利範圍第9項所述之啟動控制系統,其中於該反及閘快閃記憶體控制器讀取該啟動頁面之前,該處理單元更禁能用於該啟動頁面之該錯誤更正碼引擎。
  11. 如申請專利範圍第9項所述之啟動控制系統,更包含:一記憶體單元,耦接至該處理單元與該反及閘快閃記憶體控制器, 用於儲存該多個配置資料及該多個錯誤更正碼資料。
  12. 如申請專利範圍第11項所述之啟動控制系統,其中該記憶體單元獨立於該錯誤更正碼引擎。
  13. 如申請專利範圍第11項所述之啟動控制系統,其中該記憶體單元實作於該錯誤更正碼引擎中。
  14. 如申請專利範圍第11項所述之啟動控制系統,其中於讀取該啟動頁面之後,該反及閘快閃記憶體控制器更將該多個配置資料及該多個錯誤更正碼資料寫入該記憶體單元。
  15. 如申請專利範圍第9項所述之啟動控制系統,其中該投票策略係為一最大得票數的策略。
  16. 如申請專利範圍第9項所述之啟動控制系統,其中於該處理單元對該多個配置資料執行該投票策略以決定一得勝配置資料之後,依據該多個錯誤更正碼資料之每一者,該錯誤更正碼引擎對該得勝配置資料執行該錯誤更正碼解碼處理,直至取得該反及閘啟動資訊。
  17. 如申請專利範圍第9項所述之啟動控制系統,其中於該處理單元對該多個配置資料執行該投票策略以決定一得勝配置資料,且對該多個錯誤更正碼資料執行該投票策略以決定一得勝錯誤更正碼資料之後,依據該得勝錯誤更正碼資料,該錯誤更正碼引擎對該得勝配置資料 執行該錯誤更正碼解碼程序,直至取得該反及閘啟動資訊。
  18. 如申請專利範圍第9項所述之啟動控制系統,其中於該錯誤更正碼引擎單元依據該多個錯誤更正碼資料之一對應錯誤更正碼資料,對該多個配置資料之每一者執行該錯誤更正碼解碼程序以產生多個解碼結果之後,該處理單元對該多個解碼結果執行該投票策略,以決定一得勝解碼結果作為該反及閘啟動資訊。
TW098133138A 2009-03-26 2009-09-30 解碼方法、編碼方法及啟動控制系統 TWI409821B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/411,403 US8175012B2 (en) 2009-03-26 2009-03-26 Decoding/encoding method for booting from a NAND flash and system thereof

Publications (2)

Publication Number Publication Date
TW201035983A TW201035983A (en) 2010-10-01
TWI409821B true TWI409821B (zh) 2013-09-21

Family

ID=42772480

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098133138A TWI409821B (zh) 2009-03-26 2009-09-30 解碼方法、編碼方法及啟動控制系統

Country Status (3)

Country Link
US (1) US8175012B2 (zh)
CN (1) CN101848000B (zh)
TW (1) TWI409821B (zh)

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009187199A (ja) * 2008-02-05 2009-08-20 Panasonic Corp 情報処理システム及び情報処理方法
US8555050B2 (en) * 2010-07-15 2013-10-08 Broadcom Corporation Apparatus and method thereof for reliable booting from NAND flash memory
US8589730B2 (en) * 2010-08-31 2013-11-19 Apple Inc. Handling errors during device bootup from a non-volatile memory
TW201246075A (en) * 2011-05-06 2012-11-16 Asmedia Technology Inc Flash device and associated booting method
US8880977B2 (en) * 2011-07-22 2014-11-04 Sandisk Technologies Inc. Systems and methods of storing data
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US9459955B2 (en) * 2012-05-24 2016-10-04 Sandisk Technologies Llc System and method to scramble data based on a scramble key
TWI520148B (zh) * 2012-07-05 2016-02-01 慧榮科技股份有限公司 記憶體裝置和記憶體控制方法
CN103455454B (zh) * 2013-09-02 2016-09-07 华为技术有限公司 一种控制存储器启动的方法和装置
US11960371B2 (en) 2014-06-04 2024-04-16 Pure Storage, Inc. Message persistence in a zoned system
US9367243B1 (en) 2014-06-04 2016-06-14 Pure Storage, Inc. Scalable non-uniform storage sizes
US11652884B2 (en) 2014-06-04 2023-05-16 Pure Storage, Inc. Customized hash algorithms
US9003144B1 (en) 2014-06-04 2015-04-07 Pure Storage, Inc. Mechanism for persisting messages in a storage system
US11068363B1 (en) 2014-06-04 2021-07-20 Pure Storage, Inc. Proactively rebuilding data in a storage cluster
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US10574754B1 (en) 2014-06-04 2020-02-25 Pure Storage, Inc. Multi-chassis array with multi-level load balancing
US9836234B2 (en) 2014-06-04 2017-12-05 Pure Storage, Inc. Storage cluster
US8868825B1 (en) 2014-07-02 2014-10-21 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US9021297B1 (en) 2014-07-02 2015-04-28 Pure Storage, Inc. Redundant, fault-tolerant, distributed remote procedure call cache in a storage system
US11886308B2 (en) 2014-07-02 2024-01-30 Pure Storage, Inc. Dual class of service for unified file and object messaging
US11604598B2 (en) 2014-07-02 2023-03-14 Pure Storage, Inc. Storage cluster with zoned drives
US9836245B2 (en) 2014-07-02 2017-12-05 Pure Storage, Inc. Non-volatile RAM and flash memory in a non-volatile solid-state storage
US9747229B1 (en) 2014-07-03 2017-08-29 Pure Storage, Inc. Self-describing data format for DMA in a non-volatile solid-state storage
US9811677B2 (en) 2014-07-03 2017-11-07 Pure Storage, Inc. Secure data replication in a storage grid
US10853311B1 (en) 2014-07-03 2020-12-01 Pure Storage, Inc. Administration through files in a storage system
US10983859B2 (en) 2014-08-07 2021-04-20 Pure Storage, Inc. Adjustable error correction based on memory health in a storage unit
US9483346B2 (en) 2014-08-07 2016-11-01 Pure Storage, Inc. Data rebuild on feedback from a queue in a non-volatile solid-state storage
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US9082512B1 (en) 2014-08-07 2015-07-14 Pure Storage, Inc. Die-level monitoring in a storage cluster
US10079711B1 (en) 2014-08-20 2018-09-18 Pure Storage, Inc. Virtual file server with preserved MAC address
CN104932952A (zh) * 2015-03-05 2015-09-23 华南理工大学 一种nand闪存的差错控制码结构及其差错码控制方法
US9940234B2 (en) 2015-03-26 2018-04-10 Pure Storage, Inc. Aggressive data deduplication using lazy garbage collection
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US9672125B2 (en) 2015-04-10 2017-06-06 Pure Storage, Inc. Ability to partition an array into two or more logical arrays with independently running software
US10846275B2 (en) 2015-06-26 2020-11-24 Pure Storage, Inc. Key management in a storage device
US10983732B2 (en) 2015-07-13 2021-04-20 Pure Storage, Inc. Method and system for accessing a file
US10108355B2 (en) 2015-09-01 2018-10-23 Pure Storage, Inc. Erase block state detection
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US10762069B2 (en) 2015-09-30 2020-09-01 Pure Storage, Inc. Mechanism for a system where data and metadata are located closely together
US10853266B2 (en) 2015-09-30 2020-12-01 Pure Storage, Inc. Hardware assisted data lookup methods
US9768953B2 (en) 2015-09-30 2017-09-19 Pure Storage, Inc. Resharing of a split secret
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US10007457B2 (en) 2015-12-22 2018-06-26 Pure Storage, Inc. Distributed transactions with token-associated execution
US10261690B1 (en) 2016-05-03 2019-04-16 Pure Storage, Inc. Systems and methods for operating a storage system
US11861188B2 (en) 2016-07-19 2024-01-02 Pure Storage, Inc. System having modular accelerators
KR20180009558A (ko) * 2016-07-19 2018-01-29 삼성전자주식회사 저밀도-패리티 체크 코드를 이용하는 디코더 및 이를 포함하는 메모리 컨트롤러
US9672905B1 (en) 2016-07-22 2017-06-06 Pure Storage, Inc. Optimize data protection layouts based on distributed flash wear leveling
US10768819B2 (en) 2016-07-22 2020-09-08 Pure Storage, Inc. Hardware support for non-disruptive upgrades
US11604690B2 (en) 2016-07-24 2023-03-14 Pure Storage, Inc. Online failure span determination
US11734169B2 (en) 2016-07-26 2023-08-22 Pure Storage, Inc. Optimizing spool and memory space management
US11797212B2 (en) 2016-07-26 2023-10-24 Pure Storage, Inc. Data migration for zoned drives
US11886334B2 (en) 2016-07-26 2024-01-30 Pure Storage, Inc. Optimizing spool and memory space management
US10366004B2 (en) 2016-07-26 2019-07-30 Pure Storage, Inc. Storage system with elective garbage collection to reduce flash contention
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US11422719B2 (en) 2016-09-15 2022-08-23 Pure Storage, Inc. Distributed file deletion and truncation
US9747039B1 (en) 2016-10-04 2017-08-29 Pure Storage, Inc. Reservations over multiple paths on NVMe over fabrics
US10481798B2 (en) 2016-10-28 2019-11-19 Pure Storage, Inc. Efficient flash management for multiple controllers
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US11955187B2 (en) 2017-01-13 2024-04-09 Pure Storage, Inc. Refresh of differing capacity NAND
WO2018132219A1 (en) * 2017-01-13 2018-07-19 Everspin Technologies, Inc. Preprogrammed data recovery
US9747158B1 (en) 2017-01-13 2017-08-29 Pure Storage, Inc. Intelligent refresh of 3D NAND
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US11016667B1 (en) 2017-04-05 2021-05-25 Pure Storage, Inc. Efficient mapping for LUNs in storage memory with holes in address space
US10388392B2 (en) * 2017-04-08 2019-08-20 Texas Instruments Incorporated Safe execution in place (XIP) from flash memory
US10516645B1 (en) 2017-04-27 2019-12-24 Pure Storage, Inc. Address resolution broadcasting in a networked device
US10141050B1 (en) 2017-04-27 2018-11-27 Pure Storage, Inc. Page writes for triple level cell flash memory
US11782625B2 (en) 2017-06-11 2023-10-10 Pure Storage, Inc. Heterogeneity supportive resiliency groups
US10425473B1 (en) 2017-07-03 2019-09-24 Pure Storage, Inc. Stateful connection reset in a storage cluster with a stateless load balancer
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US10496330B1 (en) 2017-10-31 2019-12-03 Pure Storage, Inc. Using flash storage devices with different sized erase blocks
US11288374B2 (en) * 2017-10-31 2022-03-29 Mitsubishi Heavy Industries Machinery Systems. Ltd. Information processing device, method for controlling information processing device, and program
US10545687B1 (en) 2017-10-31 2020-01-28 Pure Storage, Inc. Data rebuild when changing erase block sizes during drive replacement
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
TWI665678B (zh) * 2017-11-27 2019-07-11 慧榮科技股份有限公司 編碼器及相關的編碼方法與快閃記憶體控制器
TWI643201B (zh) * 2017-11-27 2018-12-01 慧榮科技股份有限公司 編碼器及相關的編碼方法與快閃記憶體控制器
US11494260B2 (en) 2017-12-18 2022-11-08 Etron Technology, Inc. Memory with an error correction function and related memory system
US10976948B1 (en) 2018-01-31 2021-04-13 Pure Storage, Inc. Cluster expansion mechanism
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US11868309B2 (en) 2018-09-06 2024-01-09 Pure Storage, Inc. Queue management for data relocation
US11354058B2 (en) 2018-09-06 2022-06-07 Pure Storage, Inc. Local relocation of data stored at a storage device of a storage system
US10976947B2 (en) 2018-10-26 2021-04-13 Pure Storage, Inc. Dynamically selecting segment heights in a heterogeneous RAID group
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US11893126B2 (en) 2019-10-14 2024-02-06 Pure Storage, Inc. Data deletion for a multi-tenant environment
US11416144B2 (en) 2019-12-12 2022-08-16 Pure Storage, Inc. Dynamic use of segment or zone power loss protection in a flash device
US11847331B2 (en) 2019-12-12 2023-12-19 Pure Storage, Inc. Budgeting open blocks of a storage unit based on power loss prevention
US11704192B2 (en) 2019-12-12 2023-07-18 Pure Storage, Inc. Budgeting open blocks based on power loss protection
US11474986B2 (en) 2020-04-24 2022-10-18 Pure Storage, Inc. Utilizing machine learning to streamline telemetry processing of storage media
US11487455B2 (en) 2020-12-17 2022-11-01 Pure Storage, Inc. Dynamic block allocation to optimize storage system performance
US11614880B2 (en) 2020-12-31 2023-03-28 Pure Storage, Inc. Storage system with selectable write paths
US11847324B2 (en) 2020-12-31 2023-12-19 Pure Storage, Inc. Optimizing resiliency groups for data regions of a storage system
US11507597B2 (en) 2021-03-31 2022-11-22 Pure Storage, Inc. Data replication to meet a recovery point objective
US11960608B2 (en) * 2021-04-29 2024-04-16 Infineon Technologies Ag Fast secure booting method and system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050268077A1 (en) * 2004-05-11 2005-12-01 Peter Kuan Memory system for an electronic device and the method for controlling the same
US7061804B2 (en) * 2004-11-18 2006-06-13 Qualcomm Incorporated Robust and high-speed memory access with adaptive interface timing
US20060279984A1 (en) * 2005-06-02 2006-12-14 Kabushiki Kaisha Toshiba Semiconductor integrated circuit device
US7234052B2 (en) * 2002-03-08 2007-06-19 Samsung Electronics Co., Ltd System boot using NAND flash memory and method thereof
US20070174602A1 (en) * 2006-01-23 2007-07-26 Rom-Shen Kao Method of system booting with a direct memory access in a new memory architecture
US20070226548A1 (en) * 2006-03-23 2007-09-27 Ming-Shiang Lai System for booting from a non-xip memory utilizing a boot engine that does not have ecc capabilities during booting
US20090049364A1 (en) * 2007-08-16 2009-02-19 Samsung Electronics Co., Ltd. Nonvolatile memory device, system, and method providing fast program and read operations

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4534498B2 (ja) * 2004-01-28 2010-09-01 ソニー株式会社 半導体装置およびその起動処理方法
US7610433B2 (en) * 2004-02-05 2009-10-27 Research In Motion Limited Memory controller interface
KR100909902B1 (ko) * 2007-04-27 2009-07-30 삼성전자주식회사 플래쉬 메모리 장치 및 플래쉬 메모리 시스템
JP2010027163A (ja) * 2008-07-22 2010-02-04 Toshiba Corp 半導体メモリコントローラ、および半導体メモリシステム、および半導体メモリシステムの記録再生方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7234052B2 (en) * 2002-03-08 2007-06-19 Samsung Electronics Co., Ltd System boot using NAND flash memory and method thereof
US20050268077A1 (en) * 2004-05-11 2005-12-01 Peter Kuan Memory system for an electronic device and the method for controlling the same
US7061804B2 (en) * 2004-11-18 2006-06-13 Qualcomm Incorporated Robust and high-speed memory access with adaptive interface timing
US20060279984A1 (en) * 2005-06-02 2006-12-14 Kabushiki Kaisha Toshiba Semiconductor integrated circuit device
US20070174602A1 (en) * 2006-01-23 2007-07-26 Rom-Shen Kao Method of system booting with a direct memory access in a new memory architecture
US20070226548A1 (en) * 2006-03-23 2007-09-27 Ming-Shiang Lai System for booting from a non-xip memory utilizing a boot engine that does not have ecc capabilities during booting
US20090049364A1 (en) * 2007-08-16 2009-02-19 Samsung Electronics Co., Ltd. Nonvolatile memory device, system, and method providing fast program and read operations

Also Published As

Publication number Publication date
US8175012B2 (en) 2012-05-08
CN101848000A (zh) 2010-09-29
TW201035983A (en) 2010-10-01
US20100251074A1 (en) 2010-09-30
CN101848000B (zh) 2013-03-13

Similar Documents

Publication Publication Date Title
TWI409821B (zh) 解碼方法、編碼方法及啟動控制系統
US9110832B2 (en) Object oriented memory in solid state devices
US9124300B2 (en) Error correction coding in non-volatile memory
US9817749B2 (en) Apparatus and method of offloading processing from a data storage device to a host device
US20150046771A1 (en) Operating method of error correction code decoder and memory controller including the error correction code decoder
US8341491B2 (en) System and method for providing data integrity in a non-volatile memory system
WO2014164134A2 (en) Detecting effect of corrupting event on preloaded data in non-volatile memory
WO2013096158A1 (en) Using ecc encoding to verify an ecc decode operation
US20150046772A1 (en) Method and device for error correcting code (ecc) error handling
TW202009942A (zh) 資料存取方法、記憶體控制電路單元與記憶體儲存裝置
TW201926023A (zh) 資料存取方法、記憶體控制電路單元以及記憶體儲存裝置
US11868202B2 (en) Granular error reporting on multi-pass programming of non-volatile memory
CN112214347A (zh) 产生用于存储器子系统中的数据修改期间的错误检测的错误校验数据
TWI529530B (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
CN112214346A (zh) 用于存储器子系统中的数据修改期间的错误检测的方法及装置
US20200186171A1 (en) Data writing method, memory controlling circuit unit and memory storage device
CN111580741B (zh) 数据写入方法、存储器控制电路单元与存储器存储装置
CN113724774A (zh) 解码方法、存储器存储装置及存储器控制电路单元
TW202125259A (zh) 資料讀取方法、儲存控制器與儲存裝置
US11853613B2 (en) Encoding control method, memory storage device and memory control circuit unit
TWI681393B (zh) 解碼方法、記憶體控制電路單元以及記憶體儲存裝置
TWI834149B (zh) 表格管理方法、記憶體儲存裝置及記憶體控制電路單元
TW202324433A (zh) 記憶體控制器與資料處理方法
CN117785545A (zh) 解码方法、存储器存储装置及存储器控制电路单元
CN113360429A (zh) 数据重建方法、存储器存储装置及存储器控制电路单元

Legal Events

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