TW201735550A - 用於執行內建式自我測試的獨立磁碟冗餘陣列解碼系統 - Google Patents

用於執行內建式自我測試的獨立磁碟冗餘陣列解碼系統 Download PDF

Info

Publication number
TW201735550A
TW201735550A TW106100009A TW106100009A TW201735550A TW 201735550 A TW201735550 A TW 201735550A TW 106100009 A TW106100009 A TW 106100009A TW 106100009 A TW106100009 A TW 106100009A TW 201735550 A TW201735550 A TW 201735550A
Authority
TW
Taiwan
Prior art keywords
codeword
decoder
parity data
syndrome
redundant array
Prior art date
Application number
TW106100009A
Other languages
English (en)
Other versions
TWI627834B (zh
Inventor
汪宇倫
Original Assignee
慧榮科技股份有限公司
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 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Publication of TW201735550A publication Critical patent/TW201735550A/zh
Application granted granted Critical
Publication of TWI627834B publication Critical patent/TWI627834B/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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/27Built-in tests
    • 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/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • 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

Abstract

用於執行內建式自我測試的獨立磁碟冗餘陣列解碼系統,包含有一錯誤插入區塊,用以將錯誤插入至一第一里德索羅門(Reed-Solomon,RS)碼字以及一第二RS碼字;一獨立磁碟冗餘陣列解碼器包含有一儲存器用以儲存該第一碼字的一校正子、一第一RS解碼器以及一第二RS解碼器用以分別儲存該第一RS碼字以及該第二RS碼字,以及分別根據該第一RS碼字的該奇偶資料以及該第二RS碼字的該奇偶資料來對該第一RS碼字以及該第二RS碼字進行解碼,以產生該第一RS碼字的一更新後校正子以及該第二RS碼字的一更新後校正子。

Description

用於執行內建式自我測試的獨立磁碟冗餘陣列解碼系統
本發明涉及一種錯誤更正碼(error correcting code,ECC)技術,尤其涉及一種具有降低的帶寬(bandwidth)的獨立磁碟冗餘陣列(Redundant Array of Independent Disks,RAID)錯誤更正碼。
快閃記憶體是一種高效能、低功耗且非揮發性的儲存裝置,基於這些特性,快閃記憶體已被廣泛地應用於行動裝置。快閃記憶體的一項缺點是,隨著使用時間的增加,儲存單元會逐漸地衰退,這意味著資料準位(例如0或1)的正確性也會因而降低。在某些情況下,因資料準位不正確而衍生的錯誤無法被更正,造成儲存單元變得無法使用。
錯誤更正碼技術係藉由找出關聯於資料準位的錯誤並且將其更正來延長儲存單元的使用壽命。舉例來說,低密度奇偶校驗(low-density parity check,LDPC)解碼即為錯誤更正碼的一例,這是一種比較強力的錯誤更正碼技術。然而,即使是低密度奇偶校驗碼仍有一定機率會在特定的原始錯誤位元率(Raw Error Bit rate)下失敗。為了避免無法透過低密度奇偶校驗編碼來找出有效碼字的情況,一些輔助性的錯誤更正碼解決方案已被提出,以偵測/更正無法單獨被低密度奇偶校驗所解決的錯誤,其中一個方案是採用編碼獨立磁碟冗餘陣列校驗(encoding RAID check)。
獨立磁碟冗餘陣列(RAID)係為一種虛擬架構,其係將多種磁碟元件合併於單一邏輯單元。有效字元可藉由以下方式來還原:藉由將程式碼分割至多個磁碟、將單一磁碟中的程式碼鏡像(mirroring)到另一磁碟中,以及取得利用奇偶性符元等。RAID level 6使用里德索羅門(Reed-Solomon,RS)碼,每一碼係由2位元組(2-byte)的符元(symbol)組成。資料係以雙分佈式奇偶校驗(double distributed parity)的方式來寫入到多個磁碟,亦即,兩個奇偶校驗區塊會被發散到所有的成員磁碟(member disk)。當低密度奇偶校驗解碼器無法還原有效碼字時,獨立磁碟冗餘陣列的奇偶資料可使用為輔助性的錯誤更正碼。
資料會透過分成多個區塊(chunk)以及加入里德索羅門碼來進行獨立磁碟冗餘陣列編碼,接著,獨立磁碟冗餘陣列資料(亦即經過獨立磁碟冗餘陣列編碼後的資料)會被輸入至低密度奇偶校驗編碼器並且儲存於快閃記憶體,以便輸出至低密度奇偶校驗解碼器。在進行低密度奇偶校驗解碼之後,若一碼字失敗(亦即低密度奇偶校驗錯誤更正碼不足以還原正確的資料),獨立磁碟冗餘陣列資料解碼係藉由對RAID引擎輸入無效(non-valid)碼字、以及輸入獨立磁碟冗餘陣列資料奇偶資料以產生一校正子(syndrome)來執行。在執行一定次數的迭代後,該校正子應可滿足矩陣方程式,亦即校正子為零。而在此時,原始資料可藉由更新後的校正子來還原。
上述作法的缺點在於,獨立磁碟冗餘陣列資料引擎必須儲存全部的碼字,且在每次迭代中必須輸入64位元的奇偶資料(對應於四個RS符元)至獨立磁碟冗餘陣列解碼器,因而佔用極大的帶寬。
本發明的目的之一在於提供內建自測試(Built in Self-Test,BIST)功能,以降低獨立磁碟冗餘陣列資料解碼引擎在帶寬以及儲存空間上的需求。
本發明的一實施例提供了一種用於執行內建式自我測試(Built in Self-Test,BIST)的獨立磁碟冗餘陣列(Redundant Array of Independent Disks,RAID)解碼系統,包含有一錯誤插入區塊(Error Insertion Block)以及一獨立磁碟冗餘陣列解碼器。該錯誤插入區塊用以將錯誤插入至一第一里德索羅門(Reed-Solomon,RS)碼字(Codeword)以及一第二RS碼字。該獨立磁碟冗餘陣列解碼器包含有一儲存器、一第一RS解碼器以及一第二RS解碼器。該儲存器用以儲存該第一碼字的一校正子(syndrome)、該第二個碼字的一校正子、該第一RS碼字的奇偶資料(parity data),以及該第二RS碼字的奇偶資料。該第一RS解碼器以及該第二RS解碼器用以分別儲存該第一RS碼字以及該第二RS碼字,以及分別根據該第一RS碼字的該奇偶資料以及該第二RS碼字的該奇偶資料來對該第一RS碼字以及該第二RS碼字進行解碼,以產生該第一RS碼字的一更新後校正子以及該第二RS碼字的一更新後校正子。其中當該第一RS碼字的該更新後校正子以及該第二RS碼字的該更新後校正子皆為零時,該第一RS碼字的該更新後校正子以及該第二RS碼字的該更新後校正子係用來分別對該第一RS碼字以及該第二RS碼字進行錯誤校正。
根據本發明的另一實施例,第二RS碼字係為該第一RS碼字的鏡像(mirror),以使該第一RS碼字的奇偶資料相同於該第二RS碼字的奇偶資料;以及該儲存器儲存該第一RS碼字以及該第二RS碼字其中一者的奇偶資料,並且儲存具有錯誤的該第一RS碼字以及該第二RS碼字中的一者。該多工器透過對儲存在該儲存器中的該奇偶資料進行鏡像,來分別將該第一RS碼字的奇偶資料以及該第二個碼字的奇偶資料輸入至該第一RS解碼器以及該第二RS解碼器。
本發明包含兩種實施例來提供實用的內建自測試(Built-In Self-Test,BIST)功能,相較相關技術,本發明使用較小的帶寬來進行獨立磁碟冗餘陣列(Redundant Array of Independent Disks,RAID)資料解碼。
根據前述之相關技術,在進行獨立磁碟冗餘陣列編碼的過程中,資料係被分割為多個區塊並且使用里德索羅門(Reed-Solomon,RS)碼來加入獨立磁碟冗餘陣列奇偶性。請參考第1圖,第1圖係為根據相關技術的獨立磁碟冗餘陣列編碼系統100的示意圖。獨立磁碟冗餘陣列編碼系統100係由隨機數字產生器110以及獨立磁碟冗餘陣列編碼器150所組成。在RAID level 6中,用來進行編碼的頻帶具有4個RS符元的寬度,其中每一RS符元係為二字元組的資料(2 bytes data),因此每一區塊係用64元資料來編碼。隨機數字產生器110產生了32位元的分割資料(striped data),所述分割資料接著會被鏡像而建立四個RS符元(即64位元),所述64位元資料接著會被輸入至獨立磁碟冗餘陣列編碼器150以產生奇偶資料。由於所述64位元資料是藉由對原始的32位元資料進行鏡像(mirror)來產生,奇偶資料也可藉由鏡像來產生。
藉由判斷錯誤更正是否有正確地進行,內建自測試(Built-In Self-Test,BIST)功能可使系統校正其解碼引擎。在一標準的內建自測試中,會刻意將錯誤插入由隨機數字產生器產生的資料。在進行解碼後,合成(resultant)資料可經過校驗來判斷在已得知錯誤的正確位置以及數值的情況下,無錯誤的(error-free)碼字是否可以被還原。
在相關技術的內建自測試中,具有錯誤的碼字會被輸入至並且儲存於獨立磁碟冗餘陣列解碼器中。奇偶資料從外部輸入至獨立磁碟冗餘陣列解碼引擎,以產生並且更新所述碼字的校正子(syndrome),而這些校正子之後可用來更正資料。獨立磁碟冗餘陣列解碼引擎因此必須儲存更正後的碼字以及帶有錯誤的原始碼字,本實施例的目標在於降低內建自測試所需的帶寬以及所需的儲存空間。
第2圖係為根據本發明的第一實施例的獨立磁碟冗餘陣列解碼系統200的示意圖,獨立磁碟冗餘陣列解碼系統200包含隨機數字產生器210、錯誤插入區塊220、種子庫(SEED pool)230,以及獨立磁碟冗餘陣列解碼器250。獨立磁碟冗餘陣列解碼器250包含四個里德索羅門解碼引擎241~244(標注為RSDEC)以及一儲存器245。當隨機數字產生器210產生資料時,錯誤會被刻意地插入錯誤插入區塊220中。帶有錯誤的碼字會被輸入至獨立磁碟冗餘陣列解碼器250中,並且也會被輸入至種子庫230中,其中種子庫230儲存辨識該碼字的每一區塊的資料值,使得帶有錯誤的碼字可於之後被還原。隨機數字產生器220會如同相關技術產生32位元資料,但本發明並不會對資料進行鏡像,因此總共只有隨機數字產生器210所產生的32位元資料(即兩個里德索羅門碼字的資料)會被輸入至獨立磁碟冗餘陣列解碼器250。
如上所述,僅有一半的資料被輸入至獨立磁碟冗餘陣列解碼器250,故RS解碼引擎241~244中只有一半的RS解碼引擎需要被使用,而本實施例使用RS解碼引擎241、242來解碼資料。此外,由於儲存器245僅需要儲存對應於兩個碼字的校正子,用來解碼所述碼字的奇偶資料可儲存於儲存器245的剩餘空間。值得注意的是,相較於相關技術,本發明只需要一半的奇偶資料,因為本發明沒有進行資料鏡像。
參考第3圖,第3圖係為第2圖所示的獨立磁碟冗餘陣列解碼系統中的獨立磁碟冗餘陣列解碼器的示意圖。如第3圖所示,帶有錯誤的碼字會先被輸入至獨立磁碟冗餘陣列解碼器250中的兩個里德索羅門解碼引擎241、242,而里德索羅門解碼引擎241、242會輸出至儲存器245以分別更新對應每一個碼字的校正子。在第二次迭代中,上述校正子以及兩個碼字的奇偶資料會被輸入至RS解碼引擎241、242,以產生更新後的校正子,其中多工器247係用來進行對於輸入資料或奇偶資料的選取。以此類推,奇偶資料以及更新後校正子會以迭代的方式重複輸入一定次數,直到校正子等於零,此時可進行結果校驗(result check)操作。
第4圖係為第2圖所示的獨立磁碟冗餘陣列解碼系統執行一結果校驗操作的示意圖。種子庫230係控制隨機數字產生器210輸出對應於兩個碼字的32位元資料,以對帶有錯誤的原始碼字進行還原。獨立磁碟冗餘陣列解碼器250會輸出該兩個碼字的最終更新後校正子以及所有的帶有錯誤的原始碼字,且所述最終更新後校正子會被傳送至結果校驗區塊260,其中所述最終更新後校正子係用來校正碼字。由於已得知錯誤的值與位置,故可判斷出獨立磁碟冗餘陣列解碼系統200是否已經能夠對原始的碼字進行還原。
除了以上實施例,本發明還提供一第二實施例來進一步降低帶寬以及簡化解碼程序。
第5圖係為根據本發明的第二實施例的獨立磁碟冗餘陣列解碼系統500的示意圖,獨立磁碟冗餘陣列解碼系統500包含隨機數字產生器510、錯誤插入區塊520以及獨立磁碟冗餘陣列解碼器550。獨立磁碟冗餘陣列解碼器550包含四個RS解碼引擎541~544(標注為RSDEC),以及一儲存器545。在本實施例中,隨機數字產生器510只輸出16位元,再透過鏡像的方式產生32位元資料,即兩個碼字。上述兩個碼字會輸入至錯誤插入區塊520,接著,合成(resultant)資料會輸入至獨立磁碟冗餘陣列解碼器550,而不會輸入至一種子庫。由於32位元資料只具有一個對應的RS符元(奇偶資料),因此在本實施例中只需要使用到第一實施例一半的儲存空間,而剩餘的空間係直接儲存上述帶有錯誤的兩個碼字中的一者。請注意,由於兩個碼字係為相同,上述儲存的碼字既等同於輸入至解碼引擎541的第一個碼字輸入,也等同於輸入至解碼引擎542的第二個碼字輸入。
關於解碼程序請參見第6圖,第6圖係為第5圖所示的獨立磁碟冗餘陣列解碼系統中的獨立磁碟冗餘陣列解碼器的示意圖。在第一次迭代中,輸入資料(即帶有錯誤的碼字)係輸入至RS解碼引擎541、542,以產生所述碼字的校正子,其中若兩個RS解碼引擎皆操作正確,所述碼字的校正子會彼此相同。奇偶資料會在下一次迭代中直接地透過多工器547來輸入至RS解碼器541、542,但奇偶資料在被輸入之前會先被鏡像(mirrored)。此外,所述校正子會跟著被更新,其中若兩個RS解碼器皆正常運作,則校正子應為相同。當更新後的校正子等於零時,這表示錯誤可被更正,且最終的更新後校正子係用以對所述碼字進行錯誤更正碼操作。
在本實施例中,獨立磁碟冗餘陣列解碼器550儲存了更正後的碼字以及帶有錯誤的原始碼字,因此這些的數值都可直接地輸出至結果校驗區塊260,以確認所有錯誤都已找出並且已更正。
本發明提供針對獨立磁碟冗餘陣列解碼器的功能內建自測試的兩個實施例如上,相較於相關技術,本發明實施例使用更小的帶寬,且不需要外接儲存器。   以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100‧‧‧獨立磁碟冗餘陣列編碼系統
110‧‧‧隨機數字產生器
150‧‧‧獨立磁碟冗餘陣列編碼器
200‧‧‧獨立磁碟冗餘陣列解碼系統
210‧‧‧隨機數字產生器
220‧‧‧錯誤插入區塊
230‧‧‧種子庫
241~244‧‧‧里德索羅門解碼引擎
245‧‧‧儲存器
250‧‧‧獨立磁碟冗餘陣列解碼器
260‧‧‧結果校驗區塊
500‧‧‧獨立磁碟冗餘陣列解碼系統
510‧‧‧隨機數字產生器
520‧‧‧錯誤插入區塊
541~544‧‧‧解碼引擎
545‧‧‧儲存器
547‧‧‧多工器
550‧‧‧獨立磁碟冗餘陣列解碼器
第1圖係為根據相關技術的RAID編碼系統的示意圖。 第2圖係為根據本發明的第一實施例的RAID解碼系統的示意圖。 第3圖係為第2圖所示的RAID解碼系統的獨立磁碟冗餘陣列解碼器中示意圖。 第4圖係為第2圖所示的RAID解碼系統執行一結果校驗操作的示意圖。 第5圖係為根據本發明的第二實施例的RAID解碼系統的示意圖。 第6圖係為第5圖所示的RAID解碼系統中的獨立磁碟冗餘陣列解碼器的示意圖。
200‧‧‧獨立磁碟冗餘陣列解碼系統
210‧‧‧隨機數字產生器
220‧‧‧錯誤插入區塊
230‧‧‧種子庫
241~244‧‧‧里德索羅門解碼引擎
245‧‧‧儲存器
250‧‧‧獨立磁碟冗餘陣列解碼器

Claims (7)

  1. 一種用於執行內建式自我測試(Built in Self-Test,BIST)的獨立磁碟冗餘陣列(Redundant Array of Independent Disks,RAID)解碼系統,包含有: 一錯誤插入區塊(Error Insertion Block),用以將錯誤插入至一第一里德索羅門(Reed-Solomon,RS)碼字(Codeword)以及一第二RS碼字;以及 一獨立磁碟冗餘陣列解碼器,包含有: 一儲存器,用以儲存該第一碼字的一校正子(syndrome)、該第二個碼字的一校正子、該第一RS碼字的奇偶資料(parity data),以及該第二RS碼字的奇偶資料;以及 一第一RS解碼器以及一第二RS解碼器,用以分別儲存該第一RS碼字以及該第二RS碼字,以及分別根據該第一RS碼字的該奇偶資料以及該第二RS碼字的該奇偶資料來對該第一RS碼字以及該第二RS碼字進行解碼,以產生該第一RS碼字的一更新後校正子以及該第二RS碼字的一更新後校正子; 其中當該第一RS碼字的該更新後校正子以及該第二RS碼字的該更新後校正子皆為零時,該第一RS碼字的該更新後校正子以及該第二RS碼字的該更新後校正子係用來分別對該第一RS碼字以及該第二RS碼字進行錯誤校正。
  2. 如請求項1所述之獨立磁碟冗餘陣列解碼系統,另包含有: 一多工器(Multiplexer,MUX),耦接於該儲存器、該第一RS解碼器以及該第二RS解碼器之間,該多工器用以在一第一次迭代中分別將該第一RS碼字以及該第二RS碼字輸入至該第一RS解碼器以及該第二RS解碼器,以及在後續的迭代中分別將該第一RS碼字的該奇偶資料以及該第二RS碼字的該奇偶資料輸入至該第一RS解碼器以及該第二RS解碼器,以分別更新該第一RS碼字的該校正子以及該第二RS碼字的該校正子。
  3. 如請求項1所述之獨立磁碟冗餘陣列解碼系統,另包含有: 一隨機數字產生器(Random Number Generator),用以產生資料至該錯誤插入區塊;以及 一種子庫(SEED pool),耦接於該錯誤插入區塊與該隨機數字產生器之間,該種子庫用以儲存對應於具有錯誤插入其中的該第一RS碼字以及該第二RS碼字的多個值,並且於該第一RS碼字的該更新後校正子以及該第二RS碼字的該更新後校正子皆為零時,使用該多個值來控制該隨機數字產生器產生具有錯誤插入其中的該第一RS碼字以及該第二RS碼字。
  4. 如請求項3所述之獨立磁碟冗餘陣列解碼系統,另包含有: 一結果校驗區塊,耦接於該隨機數字產生器以及該獨立磁碟冗餘陣列解碼器,該結果校驗區塊用以接收具有錯誤插入其中的該第一RS碼字與該第二RS碼字以及更正錯誤後的該第一RS碼字以及該第二RS碼字,並且判斷資料的正確性。
  5. 如請求項2所述之獨立磁碟冗餘陣列解碼系統,其中該第二RS碼字係為該第一RS碼字的鏡像(mirror),使得該第一RS碼字的該奇偶資料相同於該第二RS碼字的該奇偶資料;以及該儲存器儲存該第一RS碼字以及該第二RS碼字其中之一的奇偶資料,並且儲存具有錯誤的該第一RS碼字以及該第二RS碼字中的其中之一。
  6. 如請求項5所述之獨立磁碟冗餘陣列解碼系統,其中該多工器透過對儲存在該儲存器中的該奇偶資料進行鏡像,來分別將該第一RS碼字的該奇偶資料以及該第二個碼字的該奇偶資料輸入至該第一RS解碼器以及該第二RS解碼器。
  7. 如請求項5所述之獨立磁碟冗餘陣列解碼系統,另包含有: 一結果校驗區塊,耦接於該獨立磁碟冗餘陣列解碼器,該結果校驗區塊用以接收具有錯誤插入其中的該第一RS碼字以及該第二RS碼字的其中之一以及更正錯誤後的該第一RS碼字以及該第二RS碼字,並且判斷資料的正確性。
TW106100009A 2016-03-18 2017-01-03 用於執行內建式自我測試的獨立磁碟冗餘陣列解碼系統 TWI627834B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/073,665 2016-03-18
US15/073,665 US9899104B2 (en) 2016-03-18 2016-03-18 Raid decoding architecture with reduced bandwidth

Publications (2)

Publication Number Publication Date
TW201735550A true TW201735550A (zh) 2017-10-01
TWI627834B TWI627834B (zh) 2018-06-21

Family

ID=59855972

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106100009A TWI627834B (zh) 2016-03-18 2017-01-03 用於執行內建式自我測試的獨立磁碟冗餘陣列解碼系統

Country Status (3)

Country Link
US (2) US9899104B2 (zh)
CN (2) CN112346903B (zh)
TW (1) TWI627834B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI625735B (zh) * 2017-11-01 2018-06-01 大心電子股份有限公司 記憶體管理方法以及儲存控制器

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10387254B2 (en) * 2017-10-12 2019-08-20 Samsung Electronics Co, Ltd. Bose-chaudhuri-hocquenchem (BCH) encoding and decoding tailored for redundant array of inexpensive disks (RAID)
US11121806B2 (en) * 2018-09-07 2021-09-14 Qualcomm Incorporated Decoding performance

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19725581C2 (de) 1997-06-17 2000-06-08 Siemens Ag Verfahren zur Funktionsüberprüfung von Speicherzellen eines integrierten Speichers
KR100265949B1 (ko) * 1997-12-19 2000-09-15 강상훈 리드-솔로몬 디코더의 N+α개 피포 설계 방법
US7571372B1 (en) * 2005-06-23 2009-08-04 Marvell International Ltd. Methods and algorithms for joint channel-code decoding of linear block codes
US7930586B1 (en) * 2008-02-07 2011-04-19 At&T Intellectual Property Ii, L.P. Error rate reduction for memory arrays
CN101309086A (zh) * 2008-06-27 2008-11-19 东南大学 里德-所罗门码级联反馈系统卷积码的系统的译码方法
KR101623119B1 (ko) * 2010-02-01 2016-05-20 삼성전자주식회사 솔리드 스테이트 드라이브의 에러 제어 방법
US20110258520A1 (en) * 2010-04-16 2011-10-20 Segura Theresa L Locating and correcting corrupt data or syndrome blocks
US8522122B2 (en) * 2011-01-29 2013-08-27 International Business Machines Corporation Correcting memory device and memory channel failures in the presence of known memory device failures
US8914687B2 (en) * 2011-04-15 2014-12-16 Advanced Micro Devices, Inc. Providing test coverage of integrated ECC logic en embedded memory
US8954825B2 (en) * 2012-03-06 2015-02-10 Micron Technology, Inc. Apparatuses and methods including error correction code organization
WO2014003599A1 (en) * 2012-06-29 2014-01-03 Ems Corparation Redundant disc encoding via erasure decoding
KR101255265B1 (ko) * 2012-08-13 2013-04-15 주식회사 유니테스트 솔리드 스테이트 드라이브 테스터에서 에러 발생장치
CN104052576B (zh) * 2014-06-07 2017-05-10 华中科技大学 一种云存储下基于纠错码的数据恢复方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI625735B (zh) * 2017-11-01 2018-06-01 大心電子股份有限公司 記憶體管理方法以及儲存控制器

Also Published As

Publication number Publication date
CN107402860A (zh) 2017-11-28
TWI627834B (zh) 2018-06-21
CN107402860B (zh) 2020-11-06
US20180122494A1 (en) 2018-05-03
US20170271029A1 (en) 2017-09-21
CN112346903B (zh) 2023-08-08
US9899104B2 (en) 2018-02-20
CN112346903A (zh) 2021-02-09

Similar Documents

Publication Publication Date Title
US9673840B2 (en) Turbo product codes for NAND flash
US11740960B2 (en) Detection and correction of data bit errors using error correction codes
US8091010B2 (en) Error correction circuit and method for reducing miscorrection probability and semiconductor memory device including the circuit
US9396062B1 (en) Group based codes for multi-dimensional recording (MDR)
US8166370B1 (en) Efficient RAID ECC controller for RAID systems
US9912355B2 (en) Distributed concatenated error correction
US8635508B2 (en) Systems and methods for performing concatenated error correction
US8806295B2 (en) Mis-correction and no-correction rates for error control
US10447301B2 (en) Optimal LDPC bit flip decision
TWI627834B (zh) 用於執行內建式自我測試的獨立磁碟冗餘陣列解碼系統
US20200083907A1 (en) Methods and apparatus to determine and apply polarity-based error correction code
US20160139988A1 (en) Memory unit
WO2016122515A1 (en) Erasure multi-checksum error correction code
US10649841B2 (en) Supporting multiple page lengths with unique error correction coding via galois field dimension folding
TWI664637B (zh) 編碼方法和使用此方法的記憶體儲存裝置
US20160147598A1 (en) Operating a memory unit
KR20210001927A (ko) 국부성을 사용한 일반화된 연접 에러 정정 코딩 방법
US11042440B2 (en) Data checksums without storage overhead
JP2020046823A (ja) メモリシステム
CN113168882B (zh) 一种编码方法、译码方法以及存储控制器
TWI551058B (zh) 最小-總和演算法之低密度奇偶校驗碼解碼器及其解碼方法
TW201921245A (zh) 用於支持錯誤更正碼的裝置及其測試方法
JP2023032889A (ja) 半導体装置