TWI486963B - 錯誤檢查及校正方法以及錯誤檢查及校正電路 - Google Patents

錯誤檢查及校正方法以及錯誤檢查及校正電路 Download PDF

Info

Publication number
TWI486963B
TWI486963B TW101141606A TW101141606A TWI486963B TW I486963 B TWI486963 B TW I486963B TW 101141606 A TW101141606 A TW 101141606A TW 101141606 A TW101141606 A TW 101141606A TW I486963 B TWI486963 B TW I486963B
Authority
TW
Taiwan
Prior art keywords
packet
data packet
correction code
specific
data
Prior art date
Application number
TW101141606A
Other languages
English (en)
Other versions
TW201419298A (zh
Inventor
Kuo Hua Yuan
chao nan Chen
Original Assignee
Jmicron Technology Corp
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 Jmicron Technology Corp filed Critical Jmicron Technology Corp
Priority to TW101141606A priority Critical patent/TWI486963B/zh
Priority to US13/792,185 priority patent/US9059745B2/en
Publication of TW201419298A publication Critical patent/TW201419298A/zh
Application granted granted Critical
Publication of TWI486963B publication Critical patent/TWI486963B/zh

Links

Classifications

    • 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
    • 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/27Coding, 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 using interleaving techniques
    • 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
    • H03M13/2909Product codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

錯誤檢查及校正方法以及錯誤檢查及校正電路
本發明所揭露之實施例係相關於錯誤更正碼,尤指一種應用於一多通道系統的錯誤檢查及校正方法以及相關錯誤檢查及校正電路。
錯誤校正碼(Error Correcting Code,ECC)是一種習知的除錯技術,可應用在記憶體上,例如反及閘快閃記憶體(NAND flash)中,該除錯技術係用來檢查傳送到記憶體的資料是否正確。系統會在傳送數據資料時,舉例來說,為8位元資料加入額外的1位元同位碼(parity code)來作為校正碼。當數據出現錯誤時,錯誤檢查及校正碼便能自行更正錯誤,或要求系統重新傳送資料。這樣可確保系統正常運作而不會因資料錯誤而導致當機。因為多了一道除錯步驟,因此錯誤檢查及校正記憶體(ECC memory)運行速度會比非錯誤檢查及校正記憶體稍慢。另外由於錯誤檢查及校正記憶體加入了校正碼(例如同位碼),故其運作位元長度變較長,例如72位元而非傳統的64位元。這類記憶體多應用於高階電腦如伺服器上。
傳統上,在寫入資料至多通道的記憶體時,各通道會分別產生各自的校正碼,相對地,在從多通道記憶體中讀取出資料時,各通道亦會分別依據各通道相對應的校正碼來進行各自通道的錯誤檢查及校正程序。然而在實際的操作中,在某一通道中出現大量錯誤位元 的情況下,其他通道可能完全沒有出現錯誤位元或是僅出現少量的錯誤位元,此一不平衡的狀況代表習知的技術中尚有利用的空間可以徹底地發揮記憶體中的錯誤檢查及校正碼的效能,因此,需要一種創新的錯誤檢查及校正碼設計來充分發揮記憶體中的錯誤檢查及校正碼的效能。
本發明的目的之一在於提供一種應用於一多通道系統的錯誤檢查及校正方法以及相關錯誤檢查及校正電路來改善上述問題。
根據本發明之第一實施例,揭露一種應用於一多通道系統的錯誤檢查及校正方法。該方法包含有:對一第一通道的一第一資料封包以及一第二通道的一第二資料封包分別進行錯誤檢查及校正編碼,並分別產生一第一水平校正碼以及一第二水平校正碼;對一第一混合資料封包以及一第二混合資料封包分別進行錯誤檢查及校正編碼,並分別產生一第一垂直校正碼以及一第二垂直校正碼,其中該第一混合資料封包至少包含該第一資料封包之一部分的封包資料與該第二資料封包之一部分的封包資料,以及該第二混合資料封包至少包含該第一資料封包之一部分的封包資料與該第二資料封包之一部分的封包資料;以及將該第一資料封包、該第一水平校正碼以及該第一垂直校正碼組合成該第一通道之一第一編碼資料封包,以及將該第二資料封包、該第二水平校正碼以及該第二垂直校正碼組合成該第二通道之一第二編碼資料封包。
根據本發明之第二實施例,揭露一種應用於一多通道系統的錯誤檢查及校正方法。該方法包含有:自一第一通道讀取一第一編碼資料封包,其中該第一編碼資料封包包含一第一資料封包、一第一水平校正碼以及一第一垂直校正碼;自一第二通道讀取一第二編碼資料封包,其中該第二編碼資料封包包含一第二資料封包、一第二水平校正碼以及一第二垂直校正碼;分別根據該第一水平校正碼以及該第二水平校正碼來對該第一資料封包以及該第二資料封包進行錯誤檢查及校正解碼,並產生一第一水平解碼資料封包以及一第二水平解碼資料封包;以及分別根據該第一垂直校正碼以及該第二垂直校正碼來對一第一混合資料封包以及一第二混合資料封包進行錯誤檢查及校正解碼,其中該第一混合資料封包至少包含該第一水平解碼資料封包之一部分的封包資料與該第二水平解碼資料封包之一部分的封包資料,以及該第二混合資料封包至少包含該第一水平解碼資料封包之一部分的封包資料與該第二水平解碼資料封包之一部分的封包資料。
根據本發明之第三實施例,揭露一種應用於一多通道系統的錯誤檢查及校正電路。該電路包含有一第一校正碼編碼器、一第二校正碼編碼器以及一封包產生器。其中該第一校正碼編碼器係用來對一第一通道的一第一資料封包以及一第二通道的一第二資料封包分別進行錯誤檢查及校正編碼,並分別產生一第一水平校正碼以及一第二水平校正碼。該第二校正碼編碼器係用來對一第一混合資料封包 以及一第二混合資料封包分別進行錯誤檢查及校正編碼,並分別產生一第一垂直校正碼以及一第二垂直校正碼,其中該第一混合資料封包至少包含該第一資料封包之一部分的封包資料與該第二資料封包之一部分的封包資料,以及該第二混合資料封包至少包含該第一資料封包之一部分的封包資料與該第二資料封包之一部分的封包資料。該封包產生器係用來將該第一資料封包、該第一水平校正碼以及該第一垂直校正碼組合成該第一通道之一第一編碼資料封包,以及將該第二資料封包、該第二水平校正碼以及該第二垂直校正碼組合成該第二通道之一第二編碼資料封包。
根據本發明之第四實施例,揭露一種應用於一多通道系統的錯誤檢查及校正電路。該電路包含有一第一封包剖析器、一第二封包剖析器、一第一校正碼解碼器以及一第二校正碼解碼器。其中該第一封包剖析器係用來自一第一通道讀取一第一編碼資料封包,其中該第一編碼資料封包包含一第一資料封包、一第一水平校正碼以及一第一垂直校正碼。該第二封包剖析器係用來自一第二通道讀取一第二編碼資料封包,其中該第二編碼資料封包包含一第二資料封包、一第二水平校正碼以及一第二垂直校正碼。該第一校正碼解碼器係用來分別根據該第一水平校正碼以及該第二水平校正碼來對該第一資料封包以及該第二資料封包進行錯誤檢查及校正解碼,並產生一第一水平解碼資料封包以及一第二水平解碼資料封包。該第二校正碼解碼器係用來分別根據該第一垂直校正碼以及該第二垂直校正碼來對一第一混合資料封包以及一第二混合資料封包進行錯誤檢查及 校正解碼,其中該第一混合資料封包至少包含該第一水平解碼資料封包之一部分的封包資料與該第二水平解碼資料封包之一部分的封包資料,以及該第二混合資料封包至少包含該第一水平解碼資料封包之一部分的封包資料與該第二水平解碼資料封包之一部分的封包資料。
由於多通道記憶體之間的獨立特性,藉由本發明的水平以及垂直錯誤碼的疊代(iteration)更正運算,可以大大的增加錯誤更正的成功率。
在說明書及後續的申請專利範圍當中使用了某些詞彙來指稱特定的元件。所屬領域中具有通常知識者應可理解,製造商可能會用不同的名詞來稱呼同樣的元件。本說明書及後續的申請專利範圍並不以名稱的差異來作為區分元件的方式,而是以元件在功能上的差異來作為區分的準則。在通篇說明書及後續的請求項當中所提及的「包含」係為一開放式的用語,故應解釋成「包含但不限定於」。另外,「耦接」一詞在此係包含任何直接及間接的電氣連接手段。因此,若文中描述一第一裝置耦接於一第二裝置,則代表該第一裝置可直接電氣連接於該第二裝置,或透過其他裝置或連接手段間接地電氣連接至該第二裝置。
在現有的多通道記憶體存取系統中,為了解決資料錯誤的問題, 舉例來說,會搭配適合的錯誤校正碼(Error Correcting Code,ECC)架構以在傳輸時偵測並校正錯誤的資料,換句話說,在接收端藉由已編碼資料的檢查以偵測並校正傳輸錯誤。錯誤校正碼使用電子方法檢查儲存在記憶體中的資料是否一致。通常有錯誤檢查及校正功能的記憶體主要用於高階個人電腦、伺服器或工作站,以避免日益增加的單位元(single-bit)記憶體錯誤所導致的系統當機問題。然而,由於各通道所遭遇的干擾以及所分別對應的記憶體單元各不相同,在讀取資料時錯誤位元往往不會同時出現在所有的通道的資料封包中,因此,本發明所揭露之實施例對於此現象加以利用,並藉由增加水平校正碼(即習知的錯誤檢查及校正方式)之外的垂直校正碼來提升錯誤檢查及校正功能的除錯能力,詳細說明如下。
請參考第1圖,第1圖為本發明錯誤檢查及校正方法之一示範性實施例的流程圖。倘若大體上可達到相同的結果,並不需要一定遵照第1圖所示之流程中的步驟順序來進行,且第1圖所示之步驟不一定要連續進行,亦即其他步驟亦可插入其中,此外,第1圖中的某些步驟亦可根據不同實施例或設計需求省略之。該方法包含有以下步驟:步驟100:對一第一通道的一第一資料封包以及一第二通道的一第二資料封包分別進行錯誤檢查及校正編碼,並分別產生一第一水平校正碼以及一第二水平校正碼;步驟102:對一第一混合資料封包以及一第二混合資料封包分別進 行錯誤檢查及校正編碼,並分別產生一第一垂直校正碼以及一第二垂直校正碼;步驟104:將該第一資料封包、該第一水平校正碼以及該第一垂直校正碼組合成該第一通道之一第一編碼資料封包,以及將該第二資料封包、該第二水平校正碼以及該第二垂直校正碼組合成該第二通道之一第二編碼資料封包;步驟106:自一第一通道讀取一第一編碼資料封包,其中該第一編碼資料封包包含一第一資料封包、一第一水平校正碼以及一第一垂直校正碼;步驟108:自一第二通道讀取一第二編碼資料封包,其中該第二編碼資料封包包含一第二資料封包、一第二水平校正碼以及一第二垂直校正碼;以及步驟110:分別根據該第一水平校正碼、該第二水平校正碼、該第一垂直校正碼以及該第二垂直校正碼來進行錯誤檢查及校正解碼。
請注意,本發明第1圖的實施例所示之步驟100~步驟104係寫入資料至一多通道記憶體(例如快閃記憶體)的多通道資料寫入流程120,而步驟106~步驟110係從該多通道記憶體讀取該些資料的多通道資料讀取流程130。關於多通道資料寫入流程120,請一併參考第7圖,第7圖為本發明多通道錯誤檢查及校正電路700的一示範性實施例的示意圖。本實施例中,多通道錯誤檢查及校正電路700係用來寫入資料至具有至少一第一通道以及一第二通道的一多通道 記憶體,應注意的是,在不影響本發明技術揭露之下,係以兩個通道的資料寫入操作來說明本發明所揭示的多通道錯誤檢查及校正機制,實際上,本發明所揭示的多通道錯誤檢查及校正機制可應用於N個通道的資料寫入操作,其中N≧2。多通道錯誤檢查及校正電路700包含有一第一封包分割電路702、一第二封包分割電路704、一第一混合封包產生電路706、一第二混合封包產生電路708、一第一校正碼編碼器710、一第二校正碼編碼器712以及一封包產生器714。首先,如步驟100所示,第一校正碼編碼器710會對該第一通道的一第一資料封包Dch0 以及該第二通道的一第二資料封包Dch1 分別進行錯誤檢查及校正編碼(例如同位碼(parity code)編碼),並分別產生一第一水平校正碼PARITY_Hch0 以及一第二水平校正碼PARITY_Hch1 。請參考第2圖,第2圖為分別產生兩通道資料封包的水平校正碼的一示範性實施例的示意圖,其中第一資料封包200即為上述之第一資料封包Dch0 ,第二資料封包204即為上述之第二資料封包Dch1 ,第一水平校正碼202即為上述之第一水平校正碼PARITY_Hch0 ,而第二水平校正碼206即為上述之第二水平校正碼PARITY_Hch1
接下來,請同時參考第3圖,第3圖為分別產生兩通道資料封包的垂直校正碼的一示範性實施例的示意圖,在此示範性實施例中,第一封包分割電路702以及第二封包分割電路704會先對該第一通道的第一資料封包Dch0 以及該第二通道的第二資料封包Dch1 分別進行平均分割的程序,也就是說,第一封包分割電路702可依據設計 上的考量/需求將該第一通道的第一資料封包Dch0 平均分割為複數個特定封包區段(例如一第一特定封包區段以及一第三特定封包區段),換句話說,該第一特定封包區段以及該第三特定封包區段可構成該第一通道的第一資料封包Dch0 ;同樣地,第二封包分割電路702可依據設計上的考量/需求來將該第二通道的第二資料封包Dch1 平均分割為複數個特定封包區段(例如一第二特定封包區段以及一第四特定封包區段),換句話說,該第二特定封包區段以及該第四特定封包區段可構成該第二通道的第二資料封包Dch1 。應注意的是,於第一資料封包Dch0 中,該第一特定封包區段係不同於該第三特定封包區段,也就是該第一特定封包區段以及該第三特定封包區段之中的位元並沒有重複,同樣地,該第二特定封包區段係不同於該第四特定封包區段,也就是該第二特定封包區段以及該第四特定封包區段之中的位元並沒有重複。然而,本發明的封包分割以及混合方法並不侷限兩通道或是上述平均分割為兩段特定封包區段的方法,實務上任何通道數目的多通道記憶體系統以及任何能夠達到混合多通道資料封包的機制都可被採用。
接著,再利用第7圖中的第一混合封包產生電路706來選取該第一資料封包之該第一特定封包區段與該第二資料封包之該第二特定封包區段,並且與第一水平校正碼PARITY_Hch0 來組合成為一第一混合資料封包DRch0 (亦即第3圖所示之第一混合資料封包300),相同地,利用第7圖中的第二混合封包產生電路708來選取該第一資料封包之該第三特定封包區段與該第二資料封包之該第四特定封包 區段,並且與第二水平校正碼PARITY_Hch1 來組合成為一第二混合資料封包DRch1 (亦即第3圖所示之第一混合資料封包304)。如此一來,第二校正碼編碼器712便可對第一混合資料封包DRch0 以及第二混合資料封包DRch1 分別進行錯誤檢查及校正編碼(例如同位碼編碼),並分別產生一第一垂直校正碼PARITY_Hch0 以及一第二垂直校正碼PARITY_Hch0 (亦即步驟102),也就是第3圖中的第一垂直校正碼302以及第二垂直校正碼306。而在步驟104中,也就是多通道資料寫入流程120的最後步驟中,使用一封包產生器714來將第一資料封包Dch0 、第一水平校正碼PARITY_Hch0 以及第一垂直校正碼PARITY_Vch0 組合成該第一通道之一第一編碼資料封包Pch0 ,以及將第二資料封包Dch1 、第二水平校正碼PARITY_Hch1 以及第二垂直校正碼PARITY_Vch1 組合成該第二通道之一第二編碼資料封包Pch1 ,如第3圖所示。
請注意,上述平均分割為兩段特定封包區段的方法,以及將第一水平校正碼PARITY_Hch0 與第二水平校正碼PARITY_Hch1 分別配置於第一混合資料封包DRch0 與第二混合資料封包DRch1 之中僅作為範例說明,而非本發明的限制,舉例來說,也可以將第一水平校正碼PARITY_Hch0 平均分割之後,分別配置於第一混合資料封包DRch0 與第二混合資料封包DRch1 之中,以及將第二水平校正碼PARITY_Hch1 平均分割之後,分別配置於第一混合資料封包DRch0 與第二混合資料封包DRch1 之中。又例如,在第一混合資料封包DRch0 與第二混合資料封包DRch1 之中,完全不加入第一水平校正碼 PARITY_Hch0 與第二水平校正碼PARITY_Hch1 。舉凡任何不違反本發明之精神的混合資料封包的配置以及產生方式,皆屬於本發明的範疇。請參考第4圖,第4圖為分別產生兩通道資料封包的垂直校正碼的另一實施例的示意圖。在此實施例中,產生一第一水平校正碼202以及一第二水平校正碼206的方式和習知的作法相同,故在此便不贅述。本實施例的特點係該第一通道的第一資料封包Dch0 以及該第二通道的第二資料封包Dch1 分別被平均分割為2*K等份(K≧2),舉例來說,K=2,因此可將該第一通道的第一資料封包Dch0 平均分割為一第一特定封包區段、一第三特定封包區段、一第五特定封包區段以及一第七特定封包區段,換句話說,該第一特定封包區段、該第三特定封包區段、該第五特定封包區段以及該第七特定封包區段可構成該第一通道的第一資料封包Dch0 ,同樣地,可將該第二通道的第二資料封包Dch1 平均分割為一第二特定封包區段、一第四特定封包區段、一第六特定封包區段以及一第八特定封包區段,換句話說,該第二特定封包區段、該第四特定封包區段、該第六特定封包區段以及該第八特定封包區段可構成該第二通道的第二資料封包Dch1 。應注意的是,於第一資料封包Dch0 中,該第一特定封包區段、該第三特定封包區段、該第五特定封包區段以及該第七特定封包區段之中的位元並沒有重複,同樣地,該第一特定封包區段、該第三特定封包區段、該第五特定封包區段以及該第七特定封包區段之中的位元並沒有重複。
接著,第一混合封包產生電路706選取該第一資料封包之該第一 特定封包區段與該第五特定封包區段、以及該第二資料封包之該第二特定封包區段與該第六特定封包區段以及第一水平校正碼202來組合成為一第一混合資料封包400,相同地,第二混合封包產生電路708選取該第一資料封包之該第三特定封包區段與該第七特定封包區段、以及該第二資料封包之該第四特定封包區段與該第八特定封包區段以及第二水平校正碼206來組合成為一第二混合資料封包404。最後,第二校正碼編碼器712對該第一混合資料封包以及該第二混合資料封包分別進行錯誤檢查及校正編碼(例如同位碼編碼),並分別產生一第一垂直校正碼402以及一第二垂直校正碼406。此一設計上的變化亦理應屬於本發明的範疇。
請一併參考第5圖、第6A圖、第6B圖、第6C圖以及第6D圖,第5圖為分別產生四通道資料封包的水平校正碼的實施例的示意圖。在此實施例中,第一通道的第一資料封包500的第一水平校正碼502、第二通道的第二資料封包504的第二水平校正碼506、第三通道的第三資料封包508的第三水平校正碼510以及第四通道的第四資料封包512的第四水平校正碼514的產生方式和習知的作法相同,故在此便不贅述。第6A圖、第6B圖、第6C圖以及第6D圖為分別產生四通道資料封包的垂直校正碼的實施例的示意圖。在此實施例中,該第一通道的第一資料封包、該第二通道的第二資料封包、該第三通道的第三資料封包以及該第四通道的第四資料封包分別被平均分割為四等份,因此,第7圖所示之多通道錯誤檢查及校正電路700可經由適當修改而具有四個封包分割電路來分別處理該 第一通道~該第四通道之資料封包的封包分割操作,其中該第一通道的第一資料封包會被平均分割為一第一特定封包區段、一第五特定封包區段、一第九特定封包區段以及一第十三特定封包區段,換句話說,該第一特定封包區段、該第五特定封包區段、該第九特定封包區段以及該第十三特定封包區段可構成該第一通道的第一資料封包;該第二通道的第二資料封包會被平均分割為一第二特定封包區段、一第六特定封包區段、一第十特定封包區段以及一第十四特定封包區段,換句話說,該第二特定封包區段、該第六特定封包區段、該第十特定封包區段以及該第十四特定封包區段可構成該第二通道的第二資料封包;該第三通道的第三資料封包會被平均分割為一第三特定封包區段、一第七特定封包區段、一第十一特定封包區段以及一第十五特定封包區段,換句話說,該第三特定封包區段、該第七特定封包區段、該第十一特定封包區段以及該第十五特定封包區段可構成該第三通道的第三資料封包;以及該第四通道的第四資料封包會被平均分割為一第四特定封包區段、一第八特定封包區段、一第十二特定封包區段以及一第十六特定封包區段,換句話說,該第四特定封包區段、該第八特定封包區段、該第十二特定封包區段以及該第十六特定封包區段可構成該第四通道的第四資料封包。
同樣地,第7圖所示之多通道錯誤檢查及校正電路700可經由適當修改而具有四個混合封包產生電路來分別處理該第一通道~該第四通道之特定封包區段以及水平校正碼的封包混合操作,以分別產生第6A圖中的第一混合資料封包600、第6B圖中的第二混合資料 封包604、第6C圖中的第三混合資料封包608與第6D圖中的第四混合資料封包612。明確來說,會選取該第一資料封包之該第一特定封包區段、該第二資料封包之該第二特定封包區段、該第三資料封包之該第三特定封包區段、該第四資料封包之該第四特定封包區段以及第一水平校正碼502來組合成為第一混合資料封包600;選取該第一資料封包之該第五特定封包區段、該第二資料封包之該第六特定封包區段、該第三資料封包之該第七特定封包區段、該第四資料封包之該第八特定封包區段以及第二水平校正碼506來組合成為第二混合資料封包604;選取該第一資料封包之該第九特定封包區段、該第二資料封包之該第十特定封包區段、該第三資料封包之該第十一特定封包區段、該第四資料封包之該第十二特定封包區段以及第三水平校正碼510來組合成為第三混合資料封包608;以及選取該第一資料封包之該第十三特定封包區段、該第二資料封包之該第十四特定封包區段、該第三資料封包之該第十五特定封包區段、該第四資料封包之該第十六特定封包區段以及第四水平校正碼514來組合成為第四混合資料封包612。最後,第二校正碼編碼器712對該第一混合資料封包、該第二混合資料封包、該第三混合資料封包以及該第四混合資料封包分別進行錯誤檢查及校正編碼(例如同位碼編碼),並分別產生一第一垂直校正碼602、一第二垂直校正碼606、一第三垂直校正碼610以及一第四垂直校正碼614。最後,封包產生器714便根據將第一垂直校正碼602、第二垂直校正碼606、第三垂直校正碼610以及第四垂直校正碼614分別加入至第一通道的第一資料封包500與第一水平校正碼502、第二通道的第二 資料封包504與第二水平校正碼506、第三通道的第三資料封包508與第三水平校正碼510以及第四通道的第四資料封包512與第四水平校正碼514,而得到各個通道的編碼資料封包,如第6A圖、第6B圖、第6C圖以及第6D圖所示。此一設計上的變化亦理應屬於本發明的範疇。
由第3圖與第6A圖、第6B圖、第6C圖以及第6D圖可知,無論多通道錯誤檢查及校正電路是以幾個通道為單位來進行封包分割與封包混合,所採用的操作原理都是相同的,例如,不論通道的個數為2(第3圖)或4(第6A圖、第6B圖、第6C圖以及第6D圖),任一混合資料封包都會包含分別得自於不同通道之資料封包中一部分的封包資料,並針對該混合資料封包進行錯誤檢查及校正編碼而產生一垂直校正碼,最後,該垂直校正碼會與某一通道之一資料封包與一水平校正碼相結合而構成一編碼資料封包。換言之,第3圖所示之兩個通道的封包分割與封包混合可視為基本操作態樣,而第6A圖、第6B圖、第6C圖以及第6D圖所示之兩個以上的通道的封包分割與封包混合則可視為第3圖所示之基本操作態樣的擴展。
關於第1圖所示之資料讀取流程130,請同時參考第8圖,第8圖為本發明多通道錯誤檢查及校正電路800的一示範性實施例的示意圖。本實施例中,多通道錯誤檢查及校正電路800係用來從具有至少一第一通道以及一第二通道的一多通道記憶體記憶體(例如快閃記憶體)讀取資料(例如由多通道錯誤檢查及校正電路700寫入至 記憶體的編碼資料封包Pch0 以及Pch1 )。應注意的是,在不影響本發明技術揭露之下,係以兩個通道的資料讀取操作來說明本發明所揭示的多通道錯誤檢查及校正機制,實際上,本發明所揭示的多通道錯誤檢查及校正機制可應用於N個通道的資料讀取操作,其中N≧2。多通道錯誤檢查及校正電路800包含有一第一封包剖析器802、一第二封包剖析器804、一第一封包分割電路806、一第二封包分割電路808、一第一混合封包產生電路810、一第二混合封包產生電路812、一第一校正碼解碼器814、一第二校正碼解碼器以及一封包還原器818,請注意,第8圖所示之多通道錯誤檢查及校正電路800係用以搭配第7圖中所示之多通道錯誤檢查及校正電路700,換言之,多通道錯誤檢查及校正電路800所採用之兩通道資料封包的垂直校正碼解碼方法係對應於第4圖所示之兩通道資料封包的垂直校正碼產生方法。
首先,如步驟106所示,於透過一第一通道所讀取之一第一編碼資料封包Pch0 ’輸入至多通道錯誤檢查及校正電路800之後,藉由第一封包剖析器802來將第一編碼資料封包Pch0 ’中的一第一資料封包Dch0 ’、一第一水平校正碼PARITY_Hch0 ’以及一第一垂直校正碼PARITY_Vch0 ’剖析出來。同樣地,如步驟108所示,於透過一第二通道所讀取之一第二編碼資料封包Pch1 ’輸入至多通道錯誤檢查及校正電路800之後,藉由第二封包剖析器804來將第二編碼資料封包Pch1 ’中的一第二資料封包Dch1 ’、一第二水平校正碼PARITY_Hch1 ’以及一第二垂直校正碼PARITY_Vch1 ’剖析出來。請注意,相較於第 7圖中原始寫入記憶體的第一編碼資料封包Pch0 以及第一編碼資料封包Pch1 ,第8圖中讀取出的第一編碼資料封包Pch0 ’以及第一編碼資料封包Pch1 ’可能會因為通道中雜訊的干擾或是記憶體本身的損毀,而存在有錯誤位元的狀況,因此,相較於第7圖中之第一資料封包Dch0 、第二資料封包Dch1 、第一水平校正碼PARITY_Hch0 、第一垂直校正碼PARITY_Vch0 、第二水平校正碼PARITY_Hch1 以及第二垂直校正碼PARITY_Vch1 ,第8圖之第一資料封包Dch0 ’、第二資料封包Dch1 ’、第一水平校正碼PARITY_Hch0 ’、第一垂直校正碼PARITY_Vch0 ’、第二水平校正碼PARITY_Hch1 ’以及第二垂直校正碼PARITY_Vch1 ’便可能存在有錯誤位元,這也就是需要錯誤檢查及校正電路的原因。
關於步驟110,可藉由第一校正碼解碼器814來分別根據第一水平校正碼PARITY_Hch0 ’以及第二水平校正碼PARITY_Hch1 ’來對第一資料封包Dch0 ’以及第二資料封包Dch1 ’進行錯誤檢查及校正解碼,並產生一第一水平解碼資料封包以及一第二水平解碼資料封包。當水平錯誤更正程序完成之後,若所有通道的資料封包中已不存在有任何錯誤位元,也就是所有錯誤位元已被檢查並且更正,表示資料讀取流程130已經完成,然而,倘若尚有錯誤位元無法被更正,則需要繼續進行後續的垂直錯誤更正程序。透過第一封包分割電路806、第二封包分割電路808、第一混合封包產生電路810以及第二混合封包產生電路812來依據第3圖的資料封包分割與混合的方式,來將該第一水平解碼資料封包以及該第二水平解碼資料封包 重新組合為一第一混合資料封包DRch0 ’以及一第二混合資料封包DRch1 ’,關於分割與混合的方式請參考上述關於第3圖的說明,在此為求簡單明瞭便不多作贅述。同樣地,接著藉由第二校正碼解碼器816來分別根據第一垂直校正碼PARITY_Vch0 ’以及第二垂直校正碼PARITY_Vch1 ’來對第一混合資料封包DRch0 ’以及第二混合資料封包DRch1 ’進行錯誤檢查及校正解碼,並產生一第一垂直解碼資料封包以及一第二垂直解碼資料封包。最後,利用封包還原器818來將該第一垂直解碼資料封包以及該第二垂直解碼資料封包還原成和第一資料封包Dch0 ’以及第二資料封包Dch1 ’的排列型式相同的第一資料封包Dch0 ”以及第二資料封包Dch1 ”(由於經過了垂直錯誤更正程序,故第一資料封包Dch0 ’和第一資料封包Dch0 ”可能會不相同,同樣地,第一資料封包Dch1 ’和第一資料封包Dch1 ”也可能會不相同)。
當垂直錯誤更正程序完成之後,若所有通道的資料封包中已不存在有任何錯誤位元,也就是所有錯誤位元已被檢查並且更正,表示資料讀取流程130已經完成,然而,倘若尚有錯誤位元無法被更正,也就是第一資料封包Dch0 ”不等於第一資料封包Dch0 ,或是第二資料封包Dch1 ”不等於第二資料封包Dch1 ,則需要將第一資料封包Dch0 ”以及第二資料封包Dch1 ’重新送進第一校正碼解碼器814中進行再一次的水平錯誤更正程序(第一資料封包Dch0 ”以及第二資料封包Dch1 ’至第一校正碼解碼器814的路徑未顯示於圖中),甚至是重複進行上述的垂直錯誤更正程序,然而,無論重複次數的多少, 皆屬於本發明的權利範圍。
此外,本發明的封包分割以及混合方法並不侷限兩通道或是上述平均分割為兩段特定封包區段的方法,實務上任何通道數目的多通道記憶體系統以及任何能夠達到混合多通道資料封包的機制都可被多通道錯誤檢查及校正電路800所採用,另外,熟習此技藝者在閱讀過上述說明後,應可針對資料的讀取而輕易地設計出相對應於第4圖以及第6A圖、第6B圖、第6C圖以及第6D圖的錯誤檢查及校正電路,故在此便不針對第4圖以及第6A圖、第6B圖、第6C圖以及第6D圖的實施例多作贅述。
由於多通道記憶體之間的獨立特性,藉由水平以及垂直的疊代(iteration)更正運算,可以大大的增加錯誤更正的成功率,舉例來說,若相對應的水平以及垂直校正碼分別可更正40個位元,而所接收到的第一通道的第一編碼資料封包Pch0 ’中共計有50個錯誤位元,其中30個位於第一特定封包區段的範圍內,另外20個位於第三特定封包區段的範圍內,而所接收到的第二通道的第二編碼資料封包Pch1 ’中共計有15個錯誤位元,其中5個位於第二特定封包區段的範圍內,另外10個位於第四特定封包區段的範圍內,在傳統的讀取電路中,亦即沒有垂直錯誤更正程序的狀況之下,由於第一編碼資料封包Pch0 ’以及第二編碼資料封包Pch1 ’中的錯誤位元數目皆超過校正碼可更正的位元數目(即40個錯誤位元),因此第一編碼資料封包Pch0 ’以及第二編碼資料封包Pch1 ’都將因為無法被更正而被捨棄,然 而,本實施例中透過資料封包分割與混合的方式來將該第一水平解碼資料封包以及該第二水平解碼資料封包重新組合為一第一混合資料封包DRch0 ’以及一第二混合資料封包DRch1 ’,其中混合資料封包DRch0 ’中的錯誤位元為35個(第一特定封包區段中的30個錯誤位元加上第二特定封包區段中的5個錯誤位元),以及第二混合資料封包DRch1 ’中的錯誤位元為30個(第三特定封包區段中的20個錯誤位元加上第四特定封包區段中的10個錯誤位元),皆小於40個錯誤位元的上限,如此一來,後續的垂直校正碼程序便可順利地更正所有的錯誤位元。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100~110‧‧‧步驟
120‧‧‧多通道資料寫入流程
130‧‧‧多通道資料讀取流程
200、500‧‧‧第一資料封包
202、502‧‧‧第一水平校正碼
204、504‧‧‧第二資料封包
206、506‧‧‧第二水平校正碼
300、400、600‧‧‧第一混合資料封包
302、402、602‧‧‧第一垂直校正碼
304、404、604‧‧‧第二混合資料封包
306、406、606‧‧‧第二垂直校正碼
508‧‧‧第三資料封包
510‧‧‧第三水平校正碼
512‧‧‧第四資料封包
514‧‧‧第四水平校正碼
608‧‧‧第三混合資料封包
610‧‧‧第三垂直校正碼
612‧‧‧第四混合資料封包
614‧‧‧第四垂直校正碼
700、800‧‧‧多通道錯誤檢查及校正電路
702、806‧‧‧第一封包分割電路
704、808‧‧‧第二封包分割電路
706、810‧‧‧第一混合封包產生電路
708、812‧‧‧第二混合封包產生電路
710、814‧‧‧第一校正碼編碼器
712、816‧‧‧第二校正碼編碼器
714‧‧‧封包產生器
802‧‧‧第一封包剖析器
804‧‧‧第二封包剖析器
818‧‧‧封包還原器
第1圖為本發明錯誤檢查及校正方法之一示範性實施例的流程圖。
第2圖為分別產生兩通道資料封包的水平校正碼的一示範性實施例的示意圖。
第3圖為分別產生兩通道資料封包的垂直校正碼的一示範性實施例的示意圖。
第4圖為分別產生兩通道資料封包的垂直校正碼的另一實施例的示意圖。
第5圖為分別產生四通道資料封包的水平校正碼的實施例的示意圖。
第6A圖為分別產生四通道資料封包的垂直校正碼的實施例的示意圖。
第6B圖為分別產生四通道資料封包的垂直校正碼的實施例的示意圖。
第6C圖為分別產生四通道資料封包的垂直校正碼的實施例的示意圖。
第6D圖為分別產生四通道資料封包的垂直校正碼的實施例的示意圖。
第7圖為本發明針對資料寫入之多通道錯誤檢查及校正電路的一示範性實施例的示意圖。
第8圖為本發明針對資料讀取之多通道錯誤檢查及校正電路的一示範性實施例的示意圖。
100~110‧‧‧步驟
120‧‧‧多通道資料寫入流程
130‧‧‧多通道資料讀取流程

Claims (18)

  1. 一種應用於一多通道系統的錯誤檢查及校正方法,包含有:對一第一通道的一第一資料封包以及一第二通道的一第二資料封包分別進行錯誤檢查及校正編碼,並分別產生一第一水平校正碼以及一第二水平校正碼;對一第一混合資料封包以及一第二混合資料封包分別進行錯誤檢查及校正編碼,並分別產生一第一垂直校正碼以及一第二垂直校正碼,其中該第一混合資料封包至少包含該第一資料封包之一部分的封包資料與該第二資料封包之一部分的封包資料,以及該第二混合資料封包至少包含該第一資料封包之一部分的封包資料與該第二資料封包之一部分的封包資料;以及將該第一資料封包、該第一水平校正碼以及該第一垂直校正碼組合成該第一通道之一第一編碼資料封包,以及將該第二資料封包、該第二水平校正碼以及該第二垂直校正碼組合成該第二通道之一第二編碼資料封包。
  2. 如申請專利範圍第1項所述之錯誤檢查及校正方法,其中該多通道系統係一記憶體存取系統。
  3. 如申請專利範圍第1項所述之錯誤檢查及校正方法,其中該第一混合資料封包另包含有該第一水平校正碼,以及該第二混合資料封包另包含有該第二水平校正碼。
  4. 如申請專利範圍第1項所述之錯誤檢查及校正方法,另包含有:將該第一資料封包平均分割為複數個封包區段;將該第二資料封包平均分割為複數個封包區段;選取該第一資料封包之該複數個封包區段中之至少一第一特定封包區段與該第二資料封包之該複數個封包區段中之至少一第二特定封包區段,來作為該第一混合資料封包之至少一部份;以及選取該第一資料封包之該複數個封包區段中之至少一第三特定封包區段與該第二資料封包之該複數個封包區段中之至少一第四特定封包區段,來作為該第二混合資料封包之至少一部份;其中於該第一資料封包中,每一第一特定封包區段係不同於每一第三特定封包區段;以及於該第二資料封包中,每一第二特定封包區段係不同於每一第四特定封包區段。
  5. 如申請專利範圍第4項所述之錯誤檢查及校正方法,其中該至少一第一特定封包區段係包含有該第一資料封包之該複數個封包區段中不連續的複數個第一特定封包區段;該至少一第二特定封包區段係包含有該第二資料封包之該複數個封包區段中不連續的複數個第二特定封包區段;該至少一第三特定封包區段係包含有該第一資料封包之該複數個封包區段中不連續的複數個第三特定封包區段;以及該至少一第四特定封包區段係包含有該第二 資料封包之該複數個封包區段中不連續的複數個第四特定封包區段。
  6. 一種應用於一多通道系統的錯誤檢查及校正方法,包含有:自一第一通道讀取一第一編碼資料封包,其中該第一編碼資料封包包含一第一資料封包、一第一水平校正碼以及一第一垂直校正碼;自一第二通道讀取一第二編碼資料封包,其中該第二編碼資料封包包含一第二資料封包、一第二水平校正碼以及一第二垂直校正碼;分別根據該第一水平校正碼以及該第二水平校正碼來對該第一資料封包以及該第二資料封包進行錯誤檢查及校正解碼,並產生一第一水平解碼資料封包以及一第二水平解碼資料封包;以及分別根據該第一垂直校正碼以及該第二垂直校正碼來對一第一混合資料封包以及一第二混合資料封包進行錯誤檢查及校正解碼,其中該第一混合資料封包至少包含該第一水平解碼資料封包之一部分的封包資料與該第二水平解碼資料封包之一部分的封包資料,以及該第二混合資料封包至少包含該第一水平解碼資料封包之一部分的封包資料與該第二水平解碼資料封包之一部分的封包資料。
  7. 如申請專利範圍第6項所述之錯誤檢查及校正方法,另包含: 於分別根據該第一垂直校正碼以及該第二垂直校正碼來對該第一混合資料封包以及該第二混合資料封包進行錯誤檢查及校正解碼之後,分別根據該第一水平校正碼以及該第二水平校正碼來進行錯誤檢查及校正解碼。
  8. 如申請專利範圍第6項所述之錯誤檢查及校正方法,其中該多通道系統係一記憶體存取系統。
  9. 如申請專利範圍第6項所述之錯誤檢查及校正方法,其中該第一混合資料封包另包含有該第一水平校正碼,以及該第二混合資料封包另包含有該第二水平校正碼。
  10. 如申請專利範圍第6項所述之錯誤檢查及校正方法,另包含有:將該第一水平解碼資料封包平均分割為複數個封包區段;將該第二水平解碼資料封包平均分割為複數個封包區段;選取該第一水平解碼資料封包之該複數個封包區段中之至少一第一特定封包區段與該第二水平解碼資料封包之該複數個封包區段中之至少一第二特定封包區段,來作為該第一混合資料封包之至少一部份;以及選取該第一水平解碼資料封包之該複數個封包區段中之至少一第三特定封包區段與該第二水平解碼資料封包之該複數個封包區段中之至少一第四特定封包區段,來作為該第二混合資料封包之至少一部份; 其中於該第一水平解碼資料封包中,每一第一特定封包區段係不同於每一第三特定封包區段;以及於該第二水平解碼資料封包中,每一第二特定封包區段係不同於每一第四特定封包區段。
  11. 如申請專利範圍第10項所述之錯誤檢查及校正方法,其中該至少一第一特定封包區段係包含有該第一水平解碼資料封包之該複數個封包區段中不連續的複數個第一特定封包區段;該至少一第二特定封包區段係包含有該第二水平解碼資料封包之該複數個封包區段中不連續的複數個第二特定封包區段;該至少一第三特定封包區段係包含有該第一水平解碼資料封包之該複數個封包區段中不連續的複數個第三特定封包區段;以及該至少一第四特定封包區段係包含有該第二水平解碼資料封包之該複數個封包區段中不連續的複數個第四特定封包區段。
  12. 一種應用於一多通道系統的錯誤檢查及校正電路,包含有:一第一校正碼編碼器,用來對一第一通道的一第一資料封包以及一第二通道的一第二資料封包分別進行錯誤檢查及校正編碼,並分別產生一第一水平校正碼以及一第二水平校正碼;一第二校正碼編碼器,用來對一第一混合資料封包以及一第二混合資料封包分別進行錯誤檢查及校正編碼,並分別產生一第一垂直校正碼以及一第二垂直校正碼,其中該第一混 合資料封包至少包含該第一資料封包之一部分的封包資料與該第二資料封包之一部分的封包資料,以及該第二混合資料封包至少包含該第一資料封包之一部分的封包資料與該第二資料封包之一部分的封包資料;以及一封包產生器,用來將該第一資料封包、該第一水平校正碼以及該第一垂直校正碼組合成該第一通道之一第一編碼資料封包,以及將該第二資料封包、該第二水平校正碼以及該第二垂直校正碼組合成該第二通道之一第二編碼資料封包。
  13. 如申請專利範圍第12項所述之錯誤檢查及校正電路,另包含有:一第一封包分割電路,用來將該第一資料封包平均分割為複數個封包區段;一第二封包分割電路,用來將該第二資料封包平均分割為複數個封包區段;一第一混合封包產生電路,用來選取該第一資料封包之該複數個封包區段中之至少一第一特定封包區段與該第二資料封包之該複數個封包區段中之至少一第二特定封包區段,來作為該第一混合資料封包之至少一部份;以及一第二混合封包產生電路,用來選取該第一資料封包之該複數個封包區段中之至少一第三特定封包區段與該第二資料封包之該複數個封包區段中之至少一第四特定封包區段,來作為該第二混合資料封包之至少一部份; 其中於該第一資料封包中,每一第一特定封包區段係不同於每一第三特定封包區段;以及於該第二資料封包中,每一第二特定封包區段係不同於每一第四特定封包區段。
  14. 如申請專利範圍第13項所述之錯誤檢查及校正電路,其中該至少一第一特定封包區段係包含有該第一資料封包之該複數個封包區段中不連續的複數個第一特定封包區段;該至少一第二特定封包區段係包含有該第二資料封包之該複數個封包區段中不連續的複數個第二特定封包區段;該至少一第三特定封包區段係包含有該第一資料封包之該複數個封包區段中不連續的複數個第三特定封包區段;以及該至少一第四特定封包區段係包含有該第二資料封包之該複數個封包區段中不連續的複數個第四特定封包區段。
  15. 一種應用於一多通道系統的錯誤檢查及校正電路,包含有:一第一封包剖析器,用來自一第一通道讀取一第一編碼資料封包,其中該第一編碼資料封包包含一第一資料封包、一第一水平校正碼以及一第一垂直校正碼;一第二封包剖析器,用來自一第二通道讀取一第二編碼資料封包,其中該第二編碼資料封包包含一第二資料封包、一第二水平校正碼以及一第二垂直校正碼;一第一校正碼解碼器,用來分別根據該第一水平校正碼以及該第二水平校正碼來對該第一資料封包以及該第二資料封 包進行錯誤檢查及校正解碼,並產生一第一水平解碼資料封包以及一第二水平解碼資料封包;以及一第二校正碼解碼器,用來分別根據該第一垂直校正碼以及該第二垂直校正碼來對一第一混合資料封包以及一第二混合資料封包進行錯誤檢查及校正解碼,其中該第一混合資料封包至少包含該第一水平解碼資料封包之一部分的封包資料與該第二水平解碼資料封包之一部分的封包資料,以及該第二混合資料封包至少包含該第一水平解碼資料封包之一部分的封包資料與該第二水平解碼資料封包之一部分的封包資料。
  16. 如申請專利範圍第15項所述之錯誤檢查及校正電路,其中於分別根據該第一垂直校正碼以及該第二垂直校正碼來對該第一混合資料封包以及該第二混合資料封包進行錯誤檢查及校正解碼之後,該第一校正碼解碼器會分別根據該第一水平校正碼以及該第二水平校正碼來進行錯誤檢查及校正解碼。
  17. 如申請專利範圍第15項所述之錯誤檢查及校正電路,另包含有:一第一封包分割電路,用來將該第一水平解碼資料封包平均分割為複數個封包區段;一第二封包分割電路,用來將該第二水平解碼資料封包平均分割為複數個封包區段;一第一混合封包產生電路,用來選取該第一水平解碼資料封包 之該複數個封包區段中之至少一第一特定封包區段與該第二水平解碼資料封包之該複數個封包區段中之至少一第二特定封包區段,來作為該第一混合資料封包之至少一部份;以及一第二混合封包產生電路,用來選取該第一水平解碼資料封包之該複數個封包區段中之至少一第三特定封包區段與該第二水平解碼資料封包之該複數個封包區段中之至少一第四特定封包區段,來作為該第二混合資料封包之至少一部份;其中於該第一水平解碼資料封包中,每一第一特定封包區段係不同於每一第三特定封包區段;以及於該第二水平解碼資料封包中,每一第二特定封包區段係不同於每一第四特定封包區段。
  18. 如申請專利範圍第17項所述之錯誤檢查及校正電路,其中該至少一第一特定封包區段係包含有該第一水平解碼資料封包之該複數個封包區段中不連續的複數個第一特定封包區段;該至少一第二特定封包區段係包含有該第二水平解碼資料封包之該複數個封包區段中不連續的複數個第二特定封包區段;該至少一第三特定封包區段係包含有該第一水平解碼資料封包之該複數個封包區段中不連續的複數個第三特定封包區段;以及該至少一第四特定封包區段係包含有該第二水平解碼資料封包之該複數個封包區段中不連續的複數個第四特定封包區段。
TW101141606A 2012-11-08 2012-11-08 錯誤檢查及校正方法以及錯誤檢查及校正電路 TWI486963B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW101141606A TWI486963B (zh) 2012-11-08 2012-11-08 錯誤檢查及校正方法以及錯誤檢查及校正電路
US13/792,185 US9059745B2 (en) 2012-11-08 2013-03-10 Error checking and correction method applied in a multi-channel system and related circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101141606A TWI486963B (zh) 2012-11-08 2012-11-08 錯誤檢查及校正方法以及錯誤檢查及校正電路

Publications (2)

Publication Number Publication Date
TW201419298A TW201419298A (zh) 2014-05-16
TWI486963B true TWI486963B (zh) 2015-06-01

Family

ID=50623530

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101141606A TWI486963B (zh) 2012-11-08 2012-11-08 錯誤檢查及校正方法以及錯誤檢查及校正電路

Country Status (2)

Country Link
US (1) US9059745B2 (zh)
TW (1) TWI486963B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457160B (zh) * 2019-07-02 2023-11-17 深圳市金泰克半导体有限公司 一种纠错方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050149819A1 (en) * 2003-12-15 2005-07-07 Daewoo Electronics Corporation Three-dimensional error correction method
US20060256615A1 (en) * 2005-05-10 2006-11-16 Larson Thane M Horizontal and vertical error correction coding (ECC) system and method
US20090024902A1 (en) * 2007-06-04 2009-01-22 Samsung Electronics Co., Ltd. Multi-channel error correction coder architecture using embedded memory
US20090063934A1 (en) * 2007-08-28 2009-03-05 Samsung Electronics Co., Ltd. Multi-channel memory system including error correction decoder architecture with efficient area utilization
CN102543209A (zh) * 2010-12-31 2012-07-04 深圳市朗科科技股份有限公司 多通道闪存控制器的纠错装置、方法及多通道闪存控制器
CN102541678A (zh) * 2011-12-30 2012-07-04 中国人民解放军国防科学技术大学 多通道与非型快闪并行存储控制器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10019353B2 (en) * 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050149819A1 (en) * 2003-12-15 2005-07-07 Daewoo Electronics Corporation Three-dimensional error correction method
US20060256615A1 (en) * 2005-05-10 2006-11-16 Larson Thane M Horizontal and vertical error correction coding (ECC) system and method
US20090024902A1 (en) * 2007-06-04 2009-01-22 Samsung Electronics Co., Ltd. Multi-channel error correction coder architecture using embedded memory
US20090063934A1 (en) * 2007-08-28 2009-03-05 Samsung Electronics Co., Ltd. Multi-channel memory system including error correction decoder architecture with efficient area utilization
CN102543209A (zh) * 2010-12-31 2012-07-04 深圳市朗科科技股份有限公司 多通道闪存控制器的纠错装置、方法及多通道闪存控制器
CN102541678A (zh) * 2011-12-30 2012-07-04 中国人民解放军国防科学技术大学 多通道与非型快闪并行存储控制器

Also Published As

Publication number Publication date
US9059745B2 (en) 2015-06-16
US20140129897A1 (en) 2014-05-08
TW201419298A (zh) 2014-05-16

Similar Documents

Publication Publication Date Title
US20180351574A1 (en) Memory controller and method of data bus inversion using an error detection correction code
KR102267860B1 (ko) 결함 탐지를 가진 오류 정정 하드웨어
JP4648255B2 (ja) 情報処理装置および情報処理方法
US8266495B2 (en) Systems and methods for performing concatenated error correction
JP2008299855A (ja) エンベデッドメモリを利用したマルチチャンネルエラー訂正コーダを備えたメモリシステム及びその方法
CN111143107B (zh) 一种fpga单粒子反转校验电路和方法
TW201416849A (zh) 錯誤檢查及校正方法以及相關錯誤檢查及校正電路
US10382060B2 (en) On-line self-checking hamming encoder, decoder and associated method
US11003529B2 (en) Encoding method and memory storage apparatus using the same
JP2013137708A (ja) メモリコントローラ、データ記憶装置およびメモリ制御方法
US10514980B2 (en) Encoding method and memory storage apparatus using the same
US10191801B2 (en) Error correction code management of write-once memory codes
TWI566096B (zh) 資料儲存系統與其相關方法
US9584159B1 (en) Interleaved encoding
TWI486963B (zh) 錯誤檢查及校正方法以及錯誤檢查及校正電路
US20150169397A1 (en) Extension of product codes with applications to tape and parallel channels
KR101543081B1 (ko) 고착 고장을 갖는 메모리 셀을 수용하기 위한 리던던트 비트의 인코딩 및 디코딩
US9417957B2 (en) Method of detecting bit errors, an electronic circuit for detecting bit errors, and a data storage device
CN112133362B (zh) 存储器存储装置及其存储器测试方法
US11689219B1 (en) Method and system for error correction in memory devices using irregular error correction code components
JP4829376B2 (ja) 情報処理装置および情報処理方法
WO2023023732A1 (en) Modified staircase forward error correction coding
JP2010140132A (ja) メモリシステム及びメモリコントローラ
CN115987304A (zh) 一种针对数据屏蔽的纠错方法、装置及存储介质
KR20190078733A (ko) 디스플레이장치 및 그 제어방법