專利名稱:采用糾錯(cuò)碼的數(shù)據(jù)處理方法和采用該方法的設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及把視頻數(shù)據(jù)、聲頻數(shù)據(jù)或者計(jì)算機(jī)數(shù)據(jù)記錄到媒體(例如光盤或磁盤)上的或者再現(xiàn)媒體上記錄的數(shù)據(jù)時(shí)使用的一種有效的糾錯(cuò)碼生成方法。
本發(fā)明還涉及發(fā)送或接收視頻數(shù)據(jù)等時(shí)的一種有效糾錯(cuò)碼生成方法。
本發(fā)明還涉及采用該糾錯(cuò)碼生成方法的記錄設(shè)備、再現(xiàn)設(shè)備和接收設(shè)備。
本發(fā)明的特征尤其在于一種在實(shí)現(xiàn)糾錯(cuò)過程中使用緩沖存儲(chǔ)器的糾錯(cuò)方法。
背景技術(shù):
當(dāng)把視頻數(shù)據(jù)、聲頻數(shù)據(jù)、計(jì)算機(jī)數(shù)據(jù)等記錄在光盤或磁盤上時(shí),對數(shù)據(jù)塊添加糾錯(cuò)碼。在該糾錯(cuò)碼添加過程中,數(shù)據(jù)塊暫時(shí)存儲(chǔ)在存儲(chǔ)器中并生成用于該數(shù)據(jù)塊的各行和各列的糾錯(cuò)碼。
添加到行中的糾錯(cuò)碼通常稱為內(nèi)奇偶校驗(yàn)并簡寫為PI。添加到列中的糾錯(cuò)碼通常稱為外奇偶校驗(yàn)并簡寫為PO。
在糾錯(cuò)碼添加過程中,當(dāng)生成糾錯(cuò)碼之前數(shù)據(jù)塊暫時(shí)存儲(chǔ)在存儲(chǔ)器中時(shí),可能會(huì)破壞該存儲(chǔ)器上該數(shù)據(jù)的一部分(或者可能出現(xiàn)差錯(cuò))??梢园堰@種破壞歸因于該存儲(chǔ)器的數(shù)據(jù)模式或安裝狀態(tài)。另外,外部突發(fā)噪聲可能具有負(fù)面效應(yīng)。
此刻出現(xiàn)的錯(cuò)誤稱為存儲(chǔ)錯(cuò)誤。
在這樣的情況下,對已出現(xiàn)存儲(chǔ)錯(cuò)誤的數(shù)據(jù)塊(以下稱為變更的數(shù)據(jù)塊)生成糾錯(cuò)碼。對該變更的數(shù)據(jù)塊添加該糾錯(cuò)碼并把結(jié)果塊記錄到記錄媒體上。
當(dāng)從該記錄媒體重現(xiàn)數(shù)據(jù)時(shí),糾錯(cuò)電路利用該糾錯(cuò)碼對該變更的數(shù)據(jù)塊進(jìn)行糾錯(cuò)處理。即,其正確地再現(xiàn)該變更的數(shù)據(jù)塊。這意味著包含著存儲(chǔ)錯(cuò)誤的數(shù)據(jù)塊又被正確地再現(xiàn)。然而對于原始數(shù)據(jù),存儲(chǔ)錯(cuò)誤是不需要的。
因此,在已出現(xiàn)存儲(chǔ)錯(cuò)誤時(shí),不可能正確地恢復(fù)原始數(shù)據(jù)。
發(fā)明內(nèi)容
從而,本發(fā)明的目的是提供一種采用糾錯(cuò)碼并且即使在存儲(chǔ)器上已出現(xiàn)數(shù)據(jù)錯(cuò)誤(存儲(chǔ)錯(cuò)誤)時(shí)仍能恢復(fù)原始數(shù)據(jù)的數(shù)據(jù)處理方法,并且提供采用該方法的記錄系統(tǒng)或再現(xiàn)系統(tǒng)部件和采用該方法的發(fā)送系統(tǒng)和接收系統(tǒng)。
下面是依據(jù)本發(fā)明的糾錯(cuò)碼處理方法的基本概念。
本發(fā)明的特征在于該發(fā)送或記錄系統(tǒng)為具有矩陣結(jié)構(gòu)的數(shù)據(jù)塊中的每行生成糾錯(cuò)碼PI并且把該糾錯(cuò)碼PI和該數(shù)據(jù)塊都存儲(chǔ)在存儲(chǔ)器中,當(dāng)從該存儲(chǔ)器讀取添加著該糾錯(cuò)碼PI的該數(shù)據(jù)塊時(shí),根據(jù)該糾錯(cuò)碼PI對數(shù)據(jù)塊的各行進(jìn)行糾錯(cuò)處理。
此外,本發(fā)明特征在于,當(dāng)從存儲(chǔ)器讀取該利用糾錯(cuò)碼PI進(jìn)行了糾錯(cuò)處理的矩陣結(jié)構(gòu)式數(shù)據(jù)塊時(shí),該接收或再現(xiàn)系統(tǒng)再次利用該糾錯(cuò)碼PI對數(shù)據(jù)塊的各行進(jìn)行糾錯(cuò)處理。
具體地,當(dāng)在一存儲(chǔ)器(第一存儲(chǔ)器)中存儲(chǔ)數(shù)據(jù)時(shí),本發(fā)明在生成糾錯(cuò)碼PI之前使用一個(gè)分立的第二存儲(chǔ)器(一個(gè)帶有不損害數(shù)據(jù)的結(jié)構(gòu)的存儲(chǔ)器,例如SRAM)并且把結(jié)果數(shù)據(jù)以及該數(shù)據(jù)都寫入到第一存儲(chǔ)器。
接著,在第一存儲(chǔ)器中存儲(chǔ)K段的數(shù)據(jù)和PI后,生成用于該數(shù)據(jù)和PI的糾錯(cuò)碼PO并添加給它們。當(dāng)從第一存儲(chǔ)器讀數(shù)據(jù)時(shí),每次取出PI系列時(shí)進(jìn)行PI校正處理。這使得即使在第一存儲(chǔ)器上對數(shù)據(jù)產(chǎn)生損害(或發(fā)生存儲(chǔ)錯(cuò)誤)下也能按其原始狀態(tài)恢復(fù)數(shù)據(jù)。
在再現(xiàn)數(shù)據(jù)時(shí),把再現(xiàn)數(shù)據(jù)暫時(shí)地存儲(chǔ)在存儲(chǔ)器中并且進(jìn)行PI和PO糾錯(cuò)處理。在這些糾錯(cuò)處理后發(fā)送該存儲(chǔ)器上的數(shù)據(jù)時(shí),再次對從第一存儲(chǔ)器讀出的數(shù)據(jù)進(jìn)行PI校正處理。這使得即使在該存儲(chǔ)器上對數(shù)據(jù)產(chǎn)生損害(或發(fā)生存儲(chǔ)錯(cuò)誤)下也能按其原始狀態(tài)恢復(fù)數(shù)據(jù)。
此外,本發(fā)明的一個(gè)目的是提供一種數(shù)據(jù)處理設(shè)備,該設(shè)備通過改進(jìn)使用存儲(chǔ)器的方法能正確地恢復(fù)原始數(shù)據(jù)(甚至存儲(chǔ)器上出現(xiàn)數(shù)據(jù)錯(cuò)誤時(shí))并且能保證操作的可靠性。
具體地,本發(fā)明的特征在于該發(fā)送或記錄系統(tǒng)為具有矩陣結(jié)構(gòu)的數(shù)據(jù)塊中的每行生成糾錯(cuò)碼PI并把該糾錯(cuò)碼PI和該數(shù)據(jù)塊都存儲(chǔ)在存儲(chǔ)器中,當(dāng)從該存儲(chǔ)器讀取添加著該糾錯(cuò)碼的該數(shù)據(jù)塊時(shí),根據(jù)該糾錯(cuò)碼PI對數(shù)據(jù)塊的各行進(jìn)行糾錯(cuò)處理。
接著,當(dāng)在利用該糾錯(cuò)碼PI進(jìn)行糾錯(cuò)處理的過程中感測到不可能校正的差錯(cuò)時(shí),改變其中曾存儲(chǔ)過相關(guān)行或數(shù)據(jù)塊的存儲(chǔ)器區(qū)段,從而避免發(fā)生存儲(chǔ)錯(cuò)誤,另外,出現(xiàn)存儲(chǔ)錯(cuò)誤的區(qū)域被查明并且以后不再使用。
圖1是一個(gè)說明圖,示出獲得DVD中的物理段的數(shù)據(jù)處理過程;圖2是一個(gè)說明圖,示出DVD中數(shù)據(jù)段的配置;圖3是用來生成雜亂數(shù)據(jù)的反饋移位寄存器的說明圖;圖4是示出ECC塊的說明圖;圖5是示出記錄段的說明圖;圖6是一個(gè)說明圖,示出其中插入糾錯(cuò)碼PO的ECC塊;圖7是一個(gè)方塊圖,用于幫助說明常規(guī)記錄和再現(xiàn)部件的記錄系統(tǒng)中的糾錯(cuò)碼生成方法;圖8是一個(gè)方塊圖,用于幫助說明常規(guī)記錄和再現(xiàn)部件的再現(xiàn)系統(tǒng)中的糾錯(cuò)碼生成方法;圖9幫助說明常規(guī)記錄和再現(xiàn)部件中出現(xiàn)DRAM存儲(chǔ)錯(cuò)誤時(shí)的糾錯(cuò)碼;圖10是一種記錄系統(tǒng)的方塊圖,用于幫助說明依據(jù)本發(fā)明的糾錯(cuò)碼生成方法的一實(shí)施例;圖11是一個(gè)說明圖,示出通過依據(jù)本發(fā)明的糾錯(cuò)碼生成方法得到的ECC塊的數(shù)據(jù)結(jié)構(gòu);圖12是一種再現(xiàn)系統(tǒng)的方塊圖,用于幫助說明對通過依據(jù)本發(fā)明的糾錯(cuò)碼生成方法得到的ECC塊中的錯(cuò)誤進(jìn)行校正的實(shí)施例方法;圖13是一種記錄系統(tǒng)的方塊圖,用于幫助說明依據(jù)本發(fā)明的糾錯(cuò)碼生成方法的另一實(shí)施例;圖14是一種記錄系統(tǒng)的方塊圖,用于幫助說明依據(jù)本發(fā)明的糾錯(cuò)碼生成方法的又一實(shí)施例;圖15是一種再現(xiàn)系統(tǒng)的方塊圖,用于幫助說明對通過依據(jù)本發(fā)明的糾錯(cuò)生成方法得到的ECC塊中的錯(cuò)誤進(jìn)行校正的另一實(shí)施例方法;圖16是一種記錄和再現(xiàn)系統(tǒng)的方塊圖,用于幫助說明一個(gè)采用依據(jù)本發(fā)明的糾錯(cuò)碼生成方法和利用糾錯(cuò)碼校正錯(cuò)誤的糾錯(cuò)方法的實(shí)施例;圖17是一種記錄和再現(xiàn)系統(tǒng)的方塊圖,用于幫助說明另一個(gè)依據(jù)本發(fā)明的糾錯(cuò)碼生成方法的實(shí)施例;圖18A和18B是說明圖,示出當(dāng)通過依據(jù)本發(fā)明的糾錯(cuò)碼生成方法處理數(shù)據(jù)時(shí)的一包含著存儲(chǔ)錯(cuò)誤的ECC塊的數(shù)據(jù)串例子和緩沖存儲(chǔ)器的存儲(chǔ)變換例子;以及圖19是一個(gè)說明圖,示出另一個(gè)通過依據(jù)本發(fā)明的糾錯(cuò)碼生成方法處理包含著存儲(chǔ)錯(cuò)誤的ECC塊的例子。
具體實(shí)施例方式
以下參照各
本發(fā)明的各種實(shí)施例。
現(xiàn)利用DVD(數(shù)字通用盤)通過參照圖1至圖8說明數(shù)據(jù)記錄和再現(xiàn)部件中的糾錯(cuò)碼添加電路和糾錯(cuò)電路的配置。
首先參照圖1至圖6說明DVD上被記錄數(shù)據(jù)的結(jié)構(gòu)。
圖1示出為了得到DVD中的物理段的數(shù)據(jù)處理順序。根據(jù)信號(hào)處理的階段各個(gè)段被稱為“數(shù)據(jù)段”、“記錄段”或“物理段”。如圖2中所示,一個(gè)數(shù)據(jù)段包括2048字節(jié)的主數(shù)據(jù),4字節(jié)的標(biāo)識(shí)數(shù)據(jù)(ID),2字節(jié)的ID錯(cuò)誤檢測碼(IED),(用于檢測ID中的錯(cuò)誤的代碼)。6字節(jié)的版權(quán)管理信息(CPR-MAI)以及4字節(jié)的錯(cuò)誤檢測信號(hào)(EDC),(用于檢測該數(shù)據(jù)段中的錯(cuò)誤的信號(hào))。添加ID、IDE、CPR-MAI和EDC的步驟是圖1中的步驟A1至步驟A3。在步驟A1,對主數(shù)據(jù)添加ID。在步驟A2,進(jìn)而添加IED。另外,在步驟A3,添加CPR-MAI。
接著,計(jì)算用于主數(shù)據(jù)的EDC。對該主數(shù)據(jù)添加該EDC。然后,對該數(shù)據(jù)段中的主數(shù)據(jù)(含有2048個(gè)字節(jié))添加雜亂數(shù)據(jù)(步驟A4、A5、A6)。之后,把該雜亂數(shù)據(jù)后面的16個(gè)數(shù)據(jù)段裝配在一起。對該16個(gè)數(shù)據(jù)段生成并添加交叉Reed-Solomon糾錯(cuò)碼(步驟A6)。記錄段即添加了ECC的段是對其添加糾錯(cuò)碼PI和糾錯(cuò)碼PO的數(shù)據(jù)段(步驟A7)。物理段是被進(jìn)行過8/16改進(jìn)的段,從而記錄段中每隔91字節(jié)的間隔對頭部添加一個(gè)同步碼(SYNC碼)(步驟A8)。
現(xiàn)利用圖2說明DVD數(shù)據(jù)段的結(jié)構(gòu)。
含有2064字節(jié)的數(shù)據(jù)段(其中包括2048字節(jié)長的主數(shù)據(jù))由172字節(jié)×12行構(gòu)成。即,一個(gè)數(shù)據(jù)段包括2048字節(jié)的主數(shù)據(jù),4字節(jié)的標(biāo)識(shí)數(shù)據(jù)(ID),2字節(jié)的ID錯(cuò)誤檢測碼(IED),6字節(jié)的版權(quán)管理信息(CPR-MAI)以及4字節(jié)的錯(cuò)誤檢測碼(EDC)。
圖3示出一個(gè)反饋移位寄存器,其產(chǎn)生用于在步驟A4雜亂主數(shù)據(jù)(含有2048個(gè)字節(jié))的雜亂數(shù)據(jù)Sk。例如,該數(shù)據(jù)段的一部分ID充當(dāng)產(chǎn)生雜亂數(shù)據(jù)Sk的初始值。雜亂數(shù)據(jù)Sk用于對該數(shù)據(jù)段的主數(shù)據(jù)(2048字節(jié))進(jìn)行雜亂。從而,雜亂后的主數(shù)據(jù)Dk是Sk(k=0到2047)和Dk的“異”運(yùn)算結(jié)果。
現(xiàn)利用圖4說明ECC塊的結(jié)構(gòu)。
形成一數(shù)據(jù)塊以具有172列×192行,即16個(gè)各含有172字節(jié)×12行的數(shù)據(jù)段的集合。對該172列×192行生成并添加Reed-Solomon糾錯(cuò)碼。首先,對172個(gè)列中的每個(gè)列生成并添加16字節(jié)的糾錯(cuò)碼PO。該P(yáng)O序列中的每一列含有192字節(jié)+16字節(jié),即208字節(jié)。接著對包含著糾錯(cuò)碼PO行的208個(gè)行中的每一行生成并添加10字節(jié)的糾錯(cuò)碼PI。該已添加糾錯(cuò)碼PI和PO的182列×208行形成一個(gè)ECC塊。即使顛倒生成PO和PI的次序,仍得到相同的代碼模式。
ECC塊縱向上的一列稱為一個(gè)PO系列,而橫向上的一行稱為一個(gè)PI系列。一個(gè)PO系列含有192字節(jié)+16字節(jié),即208字節(jié)。在一個(gè)PO系列中可以校正長達(dá)8字節(jié)的錯(cuò)誤,一個(gè)PI系列含有172字節(jié)+10字節(jié),即182字節(jié)。在一個(gè)PI系列中,可以校正多達(dá)5字節(jié)的錯(cuò)誤。
接著,參照圖5和6說明記錄段的結(jié)構(gòu)。
在由208行×182列組成的ECC塊中,由糾錯(cuò)碼PO構(gòu)成的16行一行一行地分立。按192行數(shù)據(jù)段中每12行的間隔一個(gè)一個(gè)地插入這些分立的行,從而產(chǎn)生圖6中示出的重新排列形式。這稱為PO的行插入。這樣,行插入之后的ECC塊是由16組13行×182字節(jié)(=添加了PI后的數(shù)據(jù)(12行)+PO(一行))組成的。
如圖5中所示,一個(gè)記錄段是由添加了PI后的數(shù)據(jù)(12行)+PO(一行),即(13行×182字節(jié))構(gòu)成的,如圖6中所示,行插入之后的ECC塊是由16個(gè)記錄段組成的。
一個(gè)物理段是這樣的,在13行×182字節(jié)的記錄段(2366字節(jié))中,從行0開始,在每行中按91字節(jié)的間隔對頭部添加一個(gè)同步(SYNC)碼并且一行一行地實(shí)施調(diào)制。通過向91字節(jié)的數(shù)據(jù)的頭部添加該SYNC碼而得到的稱為一個(gè)SYNC幀。這樣,一個(gè)物理段由16組×2SYNC幀組成。
現(xiàn)參照圖7和8說明數(shù)據(jù)記錄部件中的糾錯(cuò)碼添加電路。
在圖7中,順序地把從主機(jī)發(fā)送的用戶數(shù)據(jù)存儲(chǔ)到緩沖存儲(chǔ)器201中。當(dāng)從該緩沖存儲(chǔ)器201讀出時(shí),由段信息添加裝置202、EDC生成和添加裝置203以及雜亂裝置204處理該被存儲(chǔ)的用戶數(shù)據(jù)。按2048字節(jié)主數(shù)據(jù)的間隔實(shí)施該處理,從而把這些數(shù)據(jù)轉(zhuǎn)換到一個(gè)數(shù)據(jù)段中。
段信息添加裝置202對主數(shù)據(jù)添加4字節(jié)的標(biāo)識(shí)數(shù)據(jù)(ID),2字節(jié)的ID錯(cuò)誤檢測碼(IED)和6字節(jié)的版權(quán)管理信息(CPR-MAI)。EDC生成和添加裝置為總共2060字節(jié)的數(shù)據(jù)生成并添加4字節(jié)的錯(cuò)誤檢測碼(EDC),從而生成總共含有2064字節(jié)的數(shù)據(jù)段。雜亂裝置204混雜數(shù)據(jù)段中的主數(shù)據(jù)。
順序地把雜亂后的數(shù)據(jù)段存儲(chǔ)到ECC存儲(chǔ)器205中。在該ECC存儲(chǔ)器205中,形成172列×192行的數(shù)據(jù)塊,即16個(gè)172字節(jié)×12行的數(shù)據(jù)段的集合。PI生成和添加裝置206以及PO生成和添加裝置207對該172列×192行的數(shù)據(jù)塊生成并且添加糾錯(cuò)碼,從而生成一個(gè)ECC塊。
如前面所說明,該ECC塊受到行插入并且然后發(fā)送到調(diào)制/同步添加裝置208。調(diào)制/同步添加裝置208在該輸入的行插入后的ECC塊中把8位的輸入數(shù)據(jù)轉(zhuǎn)換成16位的碼字。即,實(shí)現(xiàn)8/16調(diào)制。然后,按輸入數(shù)據(jù)每91字節(jié)的間隔對頭部添加一個(gè)SYNC碼,從而形成一個(gè)物理段。把所形成的物理段作為記錄數(shù)據(jù)發(fā)送并且記錄在媒體上。
現(xiàn)在說明糾錯(cuò)碼的作用。
包括著錯(cuò)誤檢測和校正裝置的數(shù)據(jù)再現(xiàn)系統(tǒng)再現(xiàn)記錄數(shù)據(jù)。當(dāng)再現(xiàn)過程中再現(xiàn)的物理段里的數(shù)據(jù)出現(xiàn)錯(cuò)誤時(shí),該錯(cuò)誤檢測和校正裝置利用糾錯(cuò)碼校正含有錯(cuò)誤的ECC塊中的錯(cuò)誤。該錯(cuò)誤檢測和校正裝置可以在其校正能力范圍內(nèi)不帶任何錯(cuò)誤地恢復(fù)原始EEC塊。
現(xiàn)參照圖8說明數(shù)據(jù)再現(xiàn)側(cè)上的糾錯(cuò)碼生成方法。在由同步分離/解調(diào)裝置221把從記錄媒體讀出的回放數(shù)據(jù)與同步碼分離后,解調(diào)8/16調(diào)制數(shù)據(jù),以提取記錄段,由于因盤的缺陷、記錄或再現(xiàn)記錄數(shù)據(jù)過程中的噪聲、抖動(dòng)、串音等出現(xiàn)錯(cuò)誤(回放信號(hào)錯(cuò)誤),回放數(shù)據(jù)含有錯(cuò)誤。
順序地把讀出的記錄段存儲(chǔ)到ECC存儲(chǔ)器205中,從而構(gòu)建由16個(gè)記錄段組成的帶有182列×192行的ECC塊進(jìn)行錯(cuò)誤校正,從而校正回放信號(hào)中的校正錯(cuò)誤。
PI校正裝置223對ECC塊的每行計(jì)算錯(cuò)誤模式檢測值出錯(cuò)位組。若檢測出錯(cuò)誤,它進(jìn)行錯(cuò)誤校正。在無錯(cuò)誤下回現(xiàn)原始數(shù)據(jù)時(shí),出錯(cuò)位組的值為0。當(dāng)在記錄或發(fā)送信號(hào)過程中出現(xiàn)錯(cuò)誤時(shí),出錯(cuò)位組取由錯(cuò)誤位置和錯(cuò)誤模式確定的值,其中該錯(cuò)誤位置指示出現(xiàn)錯(cuò)誤的位置而該錯(cuò)誤模式表示該錯(cuò)誤的狀態(tài)。
PO校正裝置222從存儲(chǔ)器205讀出該P(yáng)O系列中的208字節(jié)的數(shù)據(jù)并對數(shù)據(jù)執(zhí)行特定運(yùn)算。當(dāng)作為該運(yùn)算的結(jié)果出錯(cuò)位組不為0時(shí),PO校正裝置222對該P(yáng)O系列進(jìn)行錯(cuò)誤校正。在該錯(cuò)誤校正處理中,16字節(jié)的糾錯(cuò)碼PO能校正該系列中多達(dá)8字節(jié)的錯(cuò)誤。當(dāng)要校正的數(shù)據(jù)受到錯(cuò)誤校正從而恢復(fù)生成糾錯(cuò)碼時(shí)刻的數(shù)據(jù)時(shí),出錯(cuò)位組取等于O的值。對ECC塊的全部182個(gè)列執(zhí)行上述操作。
當(dāng)一個(gè)PO系列中出現(xiàn)8字節(jié)或更長的錯(cuò)誤時(shí),PO校正裝置222不能校正錯(cuò)誤。然而,在這種情況下,因?yàn)镻I校正裝置223可以校正PI系列中多達(dá)5字節(jié)的錯(cuò)誤,若對該182列進(jìn)行PO校正時(shí)一個(gè)PI系列中包含的錯(cuò)誤的長度為5字節(jié)或更短,可以校正這些錯(cuò)誤。
另外,重復(fù)進(jìn)行PO校正和PI校正有可能校正一次PO校正和一次PI校正不能校正的錯(cuò)誤。當(dāng)所有的出錯(cuò)位組都具有為0的值時(shí),結(jié)束ECC塊的校正。
校正錯(cuò)誤后的ECC塊被發(fā)送到取消雜亂裝置224。取消雜亂裝置224向雜亂數(shù)據(jù)段中2048字節(jié)長的主數(shù)據(jù)添加雜亂數(shù)據(jù)(或者用雜亂數(shù)據(jù)對主數(shù)據(jù)進(jìn)行“異”運(yùn)算)來取消主數(shù)據(jù)的雜亂并把結(jié)果數(shù)據(jù)存儲(chǔ)在緩沖存儲(chǔ)器201中。
EDC錯(cuò)誤檢測裝置225根據(jù)數(shù)據(jù)段中包含的4字節(jié)錯(cuò)誤檢測碼(EDC)檢測數(shù)據(jù)段中的錯(cuò)誤。當(dāng)檢測出錯(cuò)誤時(shí),再次重現(xiàn)該數(shù)據(jù)段。按順序地把緩沖存儲(chǔ)器201中存儲(chǔ)的數(shù)據(jù)段發(fā)送到主機(jī)。
價(jià)格低容量大的DRAM(動(dòng)態(tài)RAM)充當(dāng)緩沖存儲(chǔ)器205、201。由于DRAM的結(jié)構(gòu),取決于該存儲(chǔ)器的數(shù)據(jù)模式或安裝狀態(tài),可能發(fā)生破壞該存儲(chǔ)器上數(shù)據(jù)(或出現(xiàn)存儲(chǔ)錯(cuò)誤)。在存儲(chǔ)器上的部分?jǐn)?shù)據(jù)已被破壞(或已出現(xiàn)存儲(chǔ)錯(cuò)誤)并且已改變該數(shù)據(jù)塊的情況下,當(dāng)生成并添加糾錯(cuò)碼PI、PO時(shí),糾錯(cuò)碼PI、PO變成用于因存儲(chǔ)錯(cuò)誤而改變的數(shù)據(jù)的正確糾錯(cuò)碼。當(dāng)把帶有為該改變過的數(shù)據(jù)生成的糾錯(cuò)碼的ECC塊作為ECC塊存儲(chǔ)并接著再現(xiàn)時(shí),即使在再現(xiàn)后進(jìn)行糾錯(cuò)處理,所再現(xiàn)的是該改變過的數(shù)據(jù)。
現(xiàn)參照圖9說明一個(gè)其中大小為172字節(jié)×192行的數(shù)據(jù)塊36的一部分出現(xiàn)存儲(chǔ)錯(cuò)誤并從而改變該數(shù)據(jù)塊的情況。
首先,PO生成和添加裝置9為172列的每一列生成并添加PO。但是,用于列31的糾錯(cuò)碼PO33(16字節(jié))是在因存儲(chǔ)錯(cuò)誤32而發(fā)生改變的數(shù)據(jù)的基礎(chǔ)上生成的。
接著,PI生成和添加電路8為包含著糾錯(cuò)碼PO的208行的每一行生成并添加PI。為行34生成的糾錯(cuò)碼PI36(10字節(jié))是在因存儲(chǔ)錯(cuò)誤32而改變的數(shù)據(jù)的基礎(chǔ)上生成的。
另外,為16行的糾錯(cuò)碼PO生成的糾錯(cuò)碼PI37是在包含著根據(jù)因存儲(chǔ)錯(cuò)誤32而改變的數(shù)據(jù)生成的糾錯(cuò)碼PO33的數(shù)據(jù)的基礎(chǔ)上生成的。
結(jié)果,對因存儲(chǔ)錯(cuò)誤32而改變的數(shù)據(jù)塊添加適當(dāng)?shù)募m錯(cuò)碼。此刻,所有用于包含著錯(cuò)誤32的208個(gè)行的PI系列的以及用于182個(gè)列的PO系列的錯(cuò)誤模式檢測值出錯(cuò)位組的值都取0,其結(jié)果是不認(rèn)為該ECC塊具有錯(cuò)誤。然而,實(shí)際上,該ECC塊中的原始數(shù)據(jù)已被存儲(chǔ)錯(cuò)誤32改變。
這里,將討論把基于改變過的數(shù)據(jù)塊建立的ECC塊記錄到記錄媒體上并接著從該媒體再現(xiàn)該塊下的回放數(shù)據(jù)。
利用糾錯(cuò)碼對回放數(shù)據(jù)進(jìn)行糾錯(cuò)處理。這里,在校正能力的范圍內(nèi)校正再現(xiàn)數(shù)據(jù)中出現(xiàn)的錯(cuò)誤,從而恢復(fù)回放數(shù)據(jù)。然而,不能校正記錄之前所包含的存儲(chǔ)錯(cuò)誤。也就是說,即使利用糾錯(cuò)碼PO33校正PO系列中的錯(cuò)誤,從而再現(xiàn)包含著存儲(chǔ)錯(cuò)誤32的數(shù)據(jù)并正確地完成錯(cuò)誤校正,但這不可能恢復(fù)原始的用戶數(shù)據(jù)。
如果存儲(chǔ)錯(cuò)誤出現(xiàn)在再現(xiàn)側(cè)的緩沖存儲(chǔ)器中的數(shù)據(jù)里,有可能把該含有存儲(chǔ)錯(cuò)誤的數(shù)據(jù)發(fā)送到主機(jī)。
(本發(fā)明的發(fā)明點(diǎn))如上面所描述,當(dāng)存儲(chǔ)器上的數(shù)據(jù)被破壞時(shí)(或出現(xiàn)錯(cuò)誤時(shí)),即使基于因存儲(chǔ)錯(cuò)誤而改變的數(shù)據(jù)生成糾錯(cuò)碼并且在再現(xiàn)操作中讀出該數(shù)據(jù)和進(jìn)行糾錯(cuò)處理以把該數(shù)據(jù)記錄到記錄媒體上,盡管恢復(fù)被錯(cuò)誤改變了的數(shù)據(jù),但不可能正確地恢復(fù)原始數(shù)據(jù)。
當(dāng)存儲(chǔ)器上的受到錯(cuò)誤校正的數(shù)據(jù)被破壞(或出現(xiàn)錯(cuò)誤)時(shí),有可能把有錯(cuò)的數(shù)據(jù)發(fā)送到主機(jī)。
為了防止存儲(chǔ)器上的數(shù)據(jù)被破壞(或出現(xiàn)錯(cuò)誤),必須用帶有防止數(shù)據(jù)受到破壞的結(jié)構(gòu)的存儲(chǔ)器,例如S-RAM等,實(shí)現(xiàn)用來存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器。但是,這種結(jié)構(gòu)在價(jià)格上是不受歡迎的。
從而,本發(fā)明的一個(gè)目的是提供一種在存儲(chǔ)器上出現(xiàn)錯(cuò)誤的情況下仍能不丟失原始數(shù)據(jù)地生成糾錯(cuò)碼的方法和設(shè)備,以及提供使用該方法和該設(shè)備的記錄設(shè)備、再現(xiàn)設(shè)備、發(fā)送設(shè)備和接收設(shè)備。
(本發(fā)明的基本概念)
依據(jù)本發(fā)明的糾錯(cuò)碼生成系統(tǒng)包括段存儲(chǔ)器(例如由SRAM構(gòu)成),用于生成并添加PI的PI生成和添加裝置,用于存儲(chǔ)添加了PI的數(shù)據(jù)的緩沖存儲(chǔ)器,用于生成并添加PO的PO生成和添加裝置,行存儲(chǔ)器(例如由SRAM構(gòu)成),用于實(shí)現(xiàn)PI校正的PI校正裝置以及用于實(shí)現(xiàn)PO校正的PO校正裝置。該系統(tǒng)利用該段存儲(chǔ)器對數(shù)據(jù)添加糾錯(cuò)碼PI,把添加了PI后的數(shù)據(jù)存儲(chǔ)在該緩沖存儲(chǔ)器中,在發(fā)送該添加了PI的數(shù)據(jù)或把它記錄在記錄媒體之前利用該行存儲(chǔ)器進(jìn)行PI校正,從而能夠修正存儲(chǔ)錯(cuò)誤。
在再現(xiàn)側(cè)的上述處理中,在把數(shù)據(jù)發(fā)送到主機(jī)之前再次進(jìn)行該P(yáng)I校正,這使得能夠校正存儲(chǔ)錯(cuò)誤。
此外,依據(jù)本發(fā)明的一種糾錯(cuò)碼生成系統(tǒng)包括段存儲(chǔ)器,PI生成和添加裝置,緩沖存儲(chǔ)器,PO生成和添加裝置,PI校正裝置以及PO校正裝置。該系統(tǒng)利用該段存儲(chǔ)器對數(shù)據(jù)添加糾錯(cuò)碼PI以生成數(shù)據(jù)塊(添加了PI的數(shù)據(jù)),把該添加了PI的數(shù)據(jù)存儲(chǔ)在緩沖存儲(chǔ)器中,在發(fā)送該添加了PI的數(shù)據(jù)或把它記錄在記錄媒體上之前利用該緩沖存儲(chǔ)器進(jìn)行PI校正,從而能夠校正存儲(chǔ)錯(cuò)誤。
另外,依據(jù)本發(fā)明的一種糾錯(cuò)碼生成系統(tǒng)包括PI生成和添加裝置,緩沖存儲(chǔ)器,PO生成和添加裝置,行存儲(chǔ)器,PI校正裝置以及PO校正裝置。該系統(tǒng)利用要存儲(chǔ)到該緩沖存儲(chǔ)器的數(shù)據(jù)生成糾錯(cuò)碼PI,生成對該數(shù)據(jù)添加糾錯(cuò)碼PI的數(shù)據(jù)塊(添加了PI的數(shù)據(jù)),在該緩沖存儲(chǔ)器中存儲(chǔ)該塊,在從該緩沖存儲(chǔ)器發(fā)送或記錄該添加了PI的數(shù)據(jù)之前利用該行存儲(chǔ)器進(jìn)行PI校正,從而能夠校正存儲(chǔ)錯(cuò)誤。
并且,依據(jù)本發(fā)明的一種糾錯(cuò)碼生成系統(tǒng)包括段存儲(chǔ)器,PI生成和添加裝置,PO生成和添加裝置,PI校正裝置以及PO校正裝置。該系統(tǒng)利用該段存儲(chǔ)器對數(shù)據(jù)添加糾錯(cuò)碼PI以便生成數(shù)據(jù)塊(添加了PI的數(shù)據(jù)),在該緩沖存儲(chǔ)器中存儲(chǔ)該添加了PI的數(shù)據(jù),從該緩沖存儲(chǔ)器發(fā)送或記錄添加了PI的數(shù)據(jù),接著在再現(xiàn)側(cè)于把數(shù)據(jù)發(fā)送到主計(jì)算機(jī)之前對該添加了PI的數(shù)據(jù)進(jìn)行PI校正,從而能夠校正存儲(chǔ)錯(cuò)誤。
以下,通過參照附圖利用各具體實(shí)施例說明本發(fā)明的特征。
現(xiàn)參照圖10說明依據(jù)本發(fā)明的第一實(shí)施例的數(shù)據(jù)記錄設(shè)備中的糾錯(cuò)碼添加電路,在段存儲(chǔ)器1中順序地存儲(chǔ)從主機(jī)發(fā)送的用戶數(shù)據(jù)(主數(shù)據(jù))。此刻,段信息添加裝置5對2048字節(jié)的主數(shù)據(jù)添加4字節(jié)的標(biāo)識(shí)數(shù)據(jù)(ID),2字節(jié)的ID錯(cuò)誤檢測碼(IED)以及6字節(jié)的版權(quán)管理信息(CPR-MAI)。EDC生成和添加裝置6對包含著ID、IED、CPR-MAI總共為2060字節(jié)的數(shù)據(jù)生成4字節(jié)的錯(cuò)誤檢測碼并對該2060字節(jié)的數(shù)據(jù)添加該錯(cuò)誤檢測碼。雜亂裝置7對2048字節(jié)長的主數(shù)據(jù)添加雜亂數(shù)據(jù)(或者對主數(shù)據(jù)和雜亂數(shù)據(jù)進(jìn)行“異”運(yùn)算),從而生成雜亂后的數(shù)據(jù)段。
PI生成和添加裝置8為段存儲(chǔ)器1中存儲(chǔ)的雜亂后的數(shù)據(jù)段(或數(shù)據(jù)塊)中的每行(172字節(jié))生成糾錯(cuò)碼PI(10字節(jié))并對該行添加該P(yáng)I,從而生成182字節(jié)×12行的添加了PI的數(shù)據(jù)段(數(shù)據(jù)塊)。
段存儲(chǔ)器1具有存儲(chǔ)添加了PI的數(shù)據(jù)段(182字節(jié)×12行)的容量并且例如由SRAM(靜態(tài)RAM)。SRAM具有很少使存儲(chǔ)的數(shù)據(jù)出現(xiàn)錯(cuò)誤的結(jié)構(gòu),這確保利用段存儲(chǔ)器1生成的糾錯(cuò)碼PI是為不帶有任何錯(cuò)誤的用戶數(shù)據(jù)生成的正確的碼。
在緩沖存儲(chǔ)器2中順序地存儲(chǔ)來自段存儲(chǔ)器1的添加了PI的數(shù)據(jù)(或稱為具有182字節(jié)×12行的數(shù)據(jù)塊)。在該緩沖存儲(chǔ)器2中,16個(gè)182字節(jié)×12行的數(shù)據(jù)段(添加了PI的數(shù)據(jù))匯集在一起以便構(gòu)182字節(jié)×192行的聚合的添加了PI的數(shù)據(jù)(或者聚合數(shù)據(jù)塊)。
此時(shí),PO生成和添加裝置9為緩沖存儲(chǔ)器2中存儲(chǔ)的聚合數(shù)據(jù)塊(182字節(jié)×192行)中的每列(192字節(jié))生成糾錯(cuò)碼PO(16字節(jié))并把該P(yáng)O添加到該列上。從而,為緩沖存儲(chǔ)器2中存儲(chǔ)的聚合數(shù)據(jù)塊構(gòu)建已經(jīng)添加了糾錯(cuò)碼PI、PO的ECC塊。
緩沖存儲(chǔ)器工具有足夠的保持多個(gè)ECC塊的容量,以確保在記錄在記錄媒體之前存儲(chǔ)從主計(jì)算機(jī)發(fā)送的數(shù)據(jù)的功能,它例如由DRAM構(gòu)成。取決于DRAM的數(shù)據(jù)模式或安裝狀態(tài),該存儲(chǔ)器上的數(shù)據(jù)可能發(fā)生破壞或者出現(xiàn)存儲(chǔ)錯(cuò)誤。然而,如后面說明那樣,依據(jù)本發(fā)明的數(shù)據(jù)處理方法除去這些存儲(chǔ)錯(cuò)誤。
一行一行地(以182字節(jié)為單位)讀出緩沖存儲(chǔ)器2中的ECC塊并存儲(chǔ)在行存儲(chǔ)器3中,PI校正裝置10利用行存儲(chǔ)器3進(jìn)行PI校正,以校正存儲(chǔ)錯(cuò)誤,這恢復(fù)原始數(shù)據(jù)(或正確的ECC塊)。行存儲(chǔ)器3例如由SRAM構(gòu)成并具有存儲(chǔ)PI系列的一行(182字節(jié))的容量。
順序地把從行存儲(chǔ)器3輸出的行數(shù)據(jù)發(fā)送到調(diào)制/同步添加裝置4,后者進(jìn)行8/16調(diào)制和同步碼添加并把結(jié)果數(shù)據(jù)作為記錄數(shù)據(jù)輸出到記錄媒體。
圖11示出在從緩沖存儲(chǔ)器2輸出的ECC塊中的一部分?jǐn)?shù)據(jù)出現(xiàn)錯(cuò)誤(例如前面提到的存儲(chǔ)錯(cuò)誤或由外部噪聲引起的錯(cuò)誤42)的情況。
在本發(fā)明中,在把數(shù)據(jù)存儲(chǔ)到緩沖存儲(chǔ)器中之前利用數(shù)據(jù)存儲(chǔ)器1生成糾錯(cuò)碼PI。從而,對于包括著行45的所有192個(gè)行,糾錯(cuò)碼PI都是在原始數(shù)據(jù)的基礎(chǔ)上生成的糾錯(cuò)碼。即,糾錯(cuò)碼PI是用于不帶有錯(cuò)誤42的數(shù)據(jù)的糾錯(cuò)碼。
另一方面,PO生成和添加裝置9和緩沖存儲(chǔ)器2一起基于每列(192字節(jié))中的數(shù)據(jù)生成糾錯(cuò)碼PO。從而,用于列41的糾錯(cuò)碼PO44(16字節(jié))是基于包含著存儲(chǔ)錯(cuò)誤42的數(shù)據(jù)而生成的糾錯(cuò)碼。
乘積碼(Product code)是區(qū)域48(用圓圈標(biāo)志)中的用于糾錯(cuò)碼的糾錯(cuò)碼,不論首先生成并添加碼PI再接著生成并添加碼PO還是首先生成并添加碼PO再接著生成并添加碼PI,會(huì)得到相同的碼模式。
此時(shí),糾錯(cuò)碼PI是出現(xiàn)錯(cuò)誤之前對原始數(shù)據(jù)添加的正確糾錯(cuò)碼。這樣,對糾錯(cuò)碼PI塊生成并添加糾錯(cuò)碼PO是用于原始數(shù)據(jù)的正確糾錯(cuò)碼。另外,添加到圖11中示出的172列中除列41之外的其它列(717)的糾錯(cuò)碼PO是正確的糾錯(cuò)碼。
當(dāng)從緩沖存儲(chǔ)器2順序地讀這樣的ECC塊并在行存儲(chǔ)器3進(jìn)行PI校正時(shí),行45中的錯(cuò)誤42容易地受到PI校正。即,恢復(fù)數(shù)據(jù)正確的行45。另外,為含有錯(cuò)誤42的數(shù)據(jù)生成PO系列中的每一行也受到PI校正,從而恢復(fù)正確的PO系列。即,行46受到PI校正,從而校正字節(jié)43。類似地,其它行(用三角符號(hào)標(biāo)志)也受到PI校正,從而生成正確的PO系列。
在上面的處理中,在行存儲(chǔ)器3對ECC塊中的所有的行進(jìn)行PI校正。PI校正不受限于是這樣的并且可以只對用矩形符號(hào)標(biāo)記的位置處的各行進(jìn)行以便縮短處理時(shí)間。這是因?yàn)槿绻搱D中矩形符號(hào)位置處的PO系列是正確的糾錯(cuò)碼,可以晚些時(shí)候輕易地校正存儲(chǔ)錯(cuò)誤42。
在上面的解釋中,使用了一個(gè)未在聚合數(shù)據(jù)塊中逐行地分布PO塊的ECC塊。然而,在實(shí)際的ECC塊中,如圖1和6說明的那樣,糾錯(cuò)碼PO逐行地分布在聚合數(shù)據(jù)塊中。
圖12示出再現(xiàn)裝置,用于對通過上面的處理(圖10的電路所實(shí)現(xiàn)的處理)得到的和從記錄媒體再現(xiàn)的ECC塊進(jìn)行糾錯(cuò)處理。
光學(xué)頭從記錄媒體讀出的回放數(shù)據(jù)被引入到同步分離/解調(diào)裝置11。同步分離/解調(diào)裝置11從回放數(shù)據(jù)檢測同步并對受到8/16調(diào)制的數(shù)據(jù)解調(diào),從而產(chǎn)生記錄段。由于因盤中的缺陷或者因把數(shù)據(jù)記錄到記錄媒體中的或從記錄媒體再現(xiàn)數(shù)據(jù)中的噪聲在數(shù)據(jù)中出現(xiàn)錯(cuò)誤,記錄段中的數(shù)據(jù)中可能包含錯(cuò)誤。
讀出的記錄段順序地存儲(chǔ)在緩沖存儲(chǔ)器2中并把16個(gè)記錄段匯集在一起,從而在緩沖存儲(chǔ)器2中形成182列×208行的ECC塊。PO校正裝置14和PI校正裝置10使182列×208行的ECC塊受到錯(cuò)誤校正。
此時(shí),實(shí)際上在進(jìn)行PO校正前先對PO塊進(jìn)行PI校正處理。這是因?yàn)?,如果在PO塊中出現(xiàn)存儲(chǔ)錯(cuò)誤,PI校正能夠恢復(fù)正確的糾錯(cuò)碼PO。
按數(shù)據(jù)發(fā)送的順序從緩沖存儲(chǔ)器2一行一行地(以182字節(jié)為單位)讀出校正過錯(cuò)誤的ECC塊并存儲(chǔ)在段存儲(chǔ)器1中。PI校正裝置10利用段存儲(chǔ)器1對每行中的172字節(jié)進(jìn)行PI校正。這是因?yàn)椋?dāng)在緩沖存儲(chǔ)器2中進(jìn)行PO校正時(shí)出現(xiàn)存儲(chǔ)錯(cuò)誤,對于校正這樣的錯(cuò)誤PI校正是有效的。
接著,取消雜亂裝置對雜亂數(shù)據(jù)段中的主數(shù)據(jù)(2048字節(jié))和雜亂數(shù)據(jù)乘以雜亂數(shù)據(jù)(或?qū)@二個(gè)數(shù)據(jù)進(jìn)行“異”運(yùn)算),從而生成雜亂之前的數(shù)據(jù)段,接著,EDC錯(cuò)誤檢測裝置12利用該數(shù)據(jù)段中包含的4字節(jié)錯(cuò)誤檢測碼(EDC)檢測該數(shù)據(jù)段中的錯(cuò)誤。若檢測出該數(shù)據(jù)段中不存在錯(cuò)誤,把該數(shù)據(jù)段發(fā)送到主機(jī)。
在上面的說明中,當(dāng)數(shù)據(jù)從緩沖存儲(chǔ)器2存儲(chǔ)到段存儲(chǔ)器1中時(shí),PI校正裝置10進(jìn)行PI校正。替代地,可以僅在利用EDC檢測出錯(cuò)誤時(shí)進(jìn)行PI校正。
另外,在每行的錯(cuò)誤模式的檢測值出錯(cuò)位組中,可能只計(jì)算一部分的出錯(cuò)位組以檢測錯(cuò)誤,僅當(dāng)判斷出存在錯(cuò)誤時(shí)進(jìn)行PI校正。即,在利用糾錯(cuò)碼PI的糾錯(cuò)處理中,僅計(jì)算從糾錯(cuò)碼PI得到的錯(cuò)誤模式檢測值(P字節(jié))中的一部分(R字節(jié),R<P)并進(jìn)行出錯(cuò)檢測。僅當(dāng)判斷出存在錯(cuò)誤時(shí)才進(jìn)行錯(cuò)誤校正。
圖13示出本發(fā)明的另一實(shí)施例。
該實(shí)施例是通過去掉圖10的實(shí)施例中的行存儲(chǔ)器3得到的。在圖13的實(shí)施例中,PI校正裝置10利用緩沖存儲(chǔ)器2進(jìn)行PI校正。由于其余配置和圖10的實(shí)施例相同,省略說明。當(dāng)出現(xiàn)存儲(chǔ)錯(cuò)誤時(shí),由PO生成和添加裝置9生成的糾錯(cuò)碼PO變成基于含有存儲(chǔ)錯(cuò)誤的數(shù)據(jù)而生成的糾錯(cuò)碼。對糾錯(cuò)碼PO的所有行進(jìn)行PI校正能把基于含有存儲(chǔ)錯(cuò)誤的數(shù)據(jù)生成的糾錯(cuò)碼恢復(fù)成基于原始數(shù)據(jù)生成的糾錯(cuò)碼PO。
在該實(shí)施例中,由于PI校正后的ECC塊存在于緩沖存儲(chǔ)器2里,存在著它包含著存儲(chǔ)錯(cuò)誤的可能。然而,糾錯(cuò)碼PO被恢復(fù)成基于原始數(shù)據(jù)生成的糾錯(cuò)碼。這樣,即使ECC塊含有錯(cuò)誤,通過PO校正會(huì)校正該錯(cuò)誤。
圖14示出本發(fā)明的又一實(shí)施例。
段信息添加裝置15把來自主計(jì)算機(jī)的用戶數(shù)據(jù)按2048字節(jié)主數(shù)據(jù)為單位轉(zhuǎn)換成一個(gè)數(shù)據(jù)段。段信息添加裝置15對主數(shù)據(jù)添加4字節(jié)的標(biāo)識(shí)數(shù)據(jù)(ID),2字節(jié)的ID錯(cuò)誤檢測碼(IED)以及6字節(jié)的版權(quán)管理信息(CPR-MAI)。EDC生成和添加裝置16對總共為2060字節(jié)的數(shù)據(jù)生成并添加4字節(jié)的錯(cuò)誤檢測碼(EDC),從而生成總共含有2064字節(jié)的數(shù)據(jù)段。雜亂裝置17雜亂該數(shù)據(jù)段中的主數(shù)據(jù)。
順序地把雜亂后的數(shù)據(jù)段存儲(chǔ)到緩沖存儲(chǔ)器2中。在緩沖存儲(chǔ)器2中,把16個(gè)172字節(jié)×12行的數(shù)據(jù)段匯集到一起以形成172列×192行的數(shù)據(jù)塊。
PI生成和添加裝置18從雜亂裝置17接收數(shù)據(jù)段,接著為每行數(shù)據(jù)(172字節(jié))生成10字節(jié)的糾錯(cuò)碼PI,并把PI提供給緩沖存儲(chǔ)器2。從而在緩沖存儲(chǔ)器2中構(gòu)建182字節(jié)×192行的添加加了PI的塊。此刻的糾錯(cuò)碼是基于原始數(shù)據(jù)生成的糾錯(cuò)碼,由于其余部分和前面說明的實(shí)施例相同,省略掉說明。
圖15是和該糾錯(cuò)碼生成電路對應(yīng)的錯(cuò)誤校正電路。
除了把緩沖存儲(chǔ)器2的輸出給行存儲(chǔ)器3之外,該實(shí)施例幾乎和圖12的實(shí)施例相同。PI校正裝置10利用緩沖存儲(chǔ)器2對至少包含PO的行進(jìn)行錯(cuò)誤校正,以便糾錯(cuò)碼PO變?yōu)檎_的糾錯(cuò)碼。接著,PO校正裝置10進(jìn)行PO校正處理。PO校正處理后的數(shù)據(jù)按發(fā)送次序提供給行存儲(chǔ)器3。PI校正裝置10利用行存儲(chǔ)器3進(jìn)行PI校正。這使得即使PO校正期間在緩沖存儲(chǔ)器中出現(xiàn)存儲(chǔ)錯(cuò)誤仍可在行存儲(chǔ)器3上校正存儲(chǔ)錯(cuò)誤。
通過取消雜亂裝置取消從行存儲(chǔ)器3輸?shù)臄?shù)據(jù)的雜亂,從而產(chǎn)生數(shù)據(jù)段。通過EDC錯(cuò)誤檢測裝置12該數(shù)據(jù)段受到錯(cuò)誤檢測。
圖16示出本發(fā)明的再一個(gè)實(shí)施例。
該實(shí)施例是通過利用圖13的實(shí)施例中緩沖存儲(chǔ)器2省去PI校正裝置10得到的。其余部分和圖13的實(shí)施例相同。在該實(shí)施例中,當(dāng)再現(xiàn)系統(tǒng)對緩沖存儲(chǔ)器2中構(gòu)建的ECC塊進(jìn)行錯(cuò)誤校正時(shí),在PO校正之前PI校正裝置10進(jìn)行PI校正。
如上面所說明,本發(fā)明有效于一種信號(hào)發(fā)送/記錄和再現(xiàn)設(shè)備,即使存儲(chǔ)器上發(fā)生錯(cuò)誤其仍能不丟失原始數(shù)據(jù)地進(jìn)行糾錯(cuò)碼生成處理。另外,本發(fā)明有效地應(yīng)用于低價(jià)格的能在不丟失原始數(shù)據(jù)下把數(shù)據(jù)記錄到記錄媒體上的信號(hào)發(fā)送/記錄和再現(xiàn)設(shè)備,其通過簡化對有故障存儲(chǔ)器的檢查允許發(fā)生更多的存儲(chǔ)錯(cuò)誤來替代提高合格率。本發(fā)明還應(yīng)用于數(shù)據(jù)通信領(lǐng)域中發(fā)送/接收系統(tǒng)的各種設(shè)備。它們包括無線電部件,例如蜂窩電話、計(jì)算機(jī)之間的發(fā)送/接收終端和電視發(fā)射機(jī)/接收機(jī)。在記錄和再現(xiàn)系統(tǒng)中,本發(fā)明可用于DVD機(jī)、CD機(jī)以及其它采用通信功能的存儲(chǔ)設(shè)備等等。
如前面已說明那樣,依據(jù)本發(fā)明,有可能提供一種采用糾錯(cuò)碼的甚至當(dāng)出現(xiàn)數(shù)據(jù)錯(cuò)誤(存儲(chǔ)錯(cuò)誤)時(shí)仍能恢復(fù)原始數(shù)據(jù)的數(shù)據(jù)處理方法,并提供采用該方法的記錄或再現(xiàn)系統(tǒng)設(shè)備和采用該方法的發(fā)送和接收系統(tǒng)。
本發(fā)明不受限于上述各實(shí)施例。以下說明本發(fā)明的其它實(shí)施例。
在圖17中,通過段信息添加裝置15把來自主計(jì)算機(jī)的用戶數(shù)據(jù)按2048字節(jié)為單位轉(zhuǎn)換成數(shù)據(jù)段。
段信息添加裝置15對主數(shù)據(jù)(含2048字節(jié))添加4字節(jié)的標(biāo)識(shí)數(shù)據(jù)(ID)、二字節(jié)的ID錯(cuò)誤檢測碼(IED)和6字節(jié)的版權(quán)管理信息(CPR-MAI)。EDC生成和添加裝置16包含著ID、IED和CPR-MAI總共2060字節(jié)的數(shù)據(jù)生成4字節(jié)的糾錯(cuò)碼,從而生成總共含2064字節(jié)的數(shù)據(jù)段。雜亂裝置17對主數(shù)據(jù)(2048字節(jié))添加雜亂數(shù)據(jù)(或者對主數(shù)據(jù)和雜亂數(shù)據(jù)進(jìn)行“異”運(yùn)算),從而對主數(shù)據(jù)進(jìn)行雜亂。
PI生成和添加裝置8對雜亂后的數(shù)據(jù)段(或數(shù)據(jù)塊,172字×12行=2064字節(jié))的每一行(172字節(jié))生成糾錯(cuò)碼PI(10字節(jié))。接著,通過存儲(chǔ)器控制裝置20順序地把生成的糾錯(cuò)碼PI存儲(chǔ)在緩沖存儲(chǔ)器2中。通過該存儲(chǔ)器控制裝置20還順序地把對應(yīng)的172字節(jié)×12行的數(shù)據(jù)存儲(chǔ)到緩沖存儲(chǔ)器2中,從而生成182字節(jié)×12行的添加了PI的數(shù)據(jù)(數(shù)據(jù)塊)。繼續(xù)這樣的數(shù)據(jù)處理,以在緩沖存儲(chǔ)器2中構(gòu)建16個(gè)添加了糾錯(cuò)碼PI的數(shù)據(jù)塊。即,在緩沖存儲(chǔ)器2中,16個(gè)182字節(jié)×12行的數(shù)據(jù)段(添加了PI的數(shù)據(jù))匯集在一起,以構(gòu)建182字節(jié)×192行的聚合的添加了PI的數(shù)據(jù)(或聚合數(shù)據(jù)塊)。
上面的處理中生成的糾錯(cuò)碼PI是基于原始數(shù)據(jù)生成的正確的糾錯(cuò)碼。
PO生成和添加裝置9為緩沖存儲(chǔ)器2中存儲(chǔ)的聚合數(shù)據(jù)塊(182字節(jié)×192行)的每一列(192字節(jié))生成糾錯(cuò)碼PO(16字節(jié))。從而,為緩沖存儲(chǔ)器2中存儲(chǔ)的聚合數(shù)據(jù)塊構(gòu)建添加了糾錯(cuò)碼PI和PO的ECC塊。
緩沖存儲(chǔ)器2具有足夠的保持多個(gè)ECC塊的容量,以確保在記錄到記錄媒體上之前存儲(chǔ)從主計(jì)算機(jī)發(fā)送的數(shù)據(jù)的功能,它例如由DRAM構(gòu)成。取決于該存儲(chǔ)器的數(shù)據(jù)模式或安裝狀態(tài),該存儲(chǔ)器上的數(shù)據(jù)可能發(fā)生破壞或者出現(xiàn)存儲(chǔ)錯(cuò)誤。當(dāng)在該狀態(tài)下生成糾錯(cuò)碼PO時(shí),該糾錯(cuò)碼PO變成基于含有存儲(chǔ)錯(cuò)誤的數(shù)據(jù)而生成的糾錯(cuò)碼。
一行一行地讀出緩沖存儲(chǔ)器2中的ECC塊(以182字節(jié)為單位)并存入行存儲(chǔ)器3。PI校正裝置10利用行存儲(chǔ)器3進(jìn)行PI校正,從而校正存儲(chǔ)錯(cuò)誤,這恢復(fù)原始數(shù)據(jù)(或正確的ECC塊)。行存儲(chǔ)器3例如由SRAM(靜態(tài)RAM)構(gòu)成并具有存儲(chǔ)PI系列的一行(182字節(jié))的容量。
順序地把從行存儲(chǔ)器3輸出的行數(shù)據(jù)發(fā)送到調(diào)制/同步添加裝置4,裝置4進(jìn)行8/16調(diào)制和同步碼添加并把結(jié)果數(shù)據(jù)作為記錄數(shù)據(jù)輸出到記錄媒體。
這里,再次參照圖11說明上面的該實(shí)施例的作用。
圖11示出從緩沖存儲(chǔ)器2輸?shù)腅CC塊中的一部分?jǐn)?shù)據(jù)出現(xiàn)錯(cuò)誤(例如前面提供的存儲(chǔ)錯(cuò)誤或者外部噪聲造成的錯(cuò)誤42)的情況。
在本發(fā)明中,在把數(shù)據(jù)存儲(chǔ)到緩沖存儲(chǔ)器2中之前利用數(shù)據(jù)存儲(chǔ)器1生成糾錯(cuò)碼PI。從而,對于包括著行45的所有192個(gè)行,糾錯(cuò)碼PI都是在原始數(shù)據(jù)的基礎(chǔ)上生成的糾錯(cuò)碼。即,糾錯(cuò)碼PI是用于不帶有錯(cuò)誤42的數(shù)據(jù)的糾錯(cuò)碼。
另一方面,PO生成和添加裝置9和緩沖存儲(chǔ)器2一起基于每列(192字節(jié))中的數(shù)據(jù)生成糾錯(cuò)碼PO。從而,用于列41的糾錯(cuò)碼PO44(16字節(jié))是基本包含著存儲(chǔ)錯(cuò)誤42的數(shù)據(jù)而生成的糾錯(cuò)碼。
乘積碼是區(qū)域48中的用于糾錯(cuò)碼的糾錯(cuò)碼,不論首先生成并添加碼PI再接著生成并添加碼PO還是首先生成并添加碼PO再接著生成并添加碼PI,會(huì)得到相同的碼模式。
此時(shí),糾錯(cuò)碼PI是出現(xiàn)錯(cuò)誤之前對原始數(shù)據(jù)添加的正確糾錯(cuò)碼。這樣,對糾錯(cuò)碼PI塊生成并添加的糾錯(cuò)碼PO是用于原始數(shù)據(jù)的正確糾錯(cuò)碼。另外,添加到圖11中示出的172列中除列41之外的其它列(171)的糾錯(cuò)碼PO是正確的糾錯(cuò)碼。
當(dāng)從緩沖存儲(chǔ)器2順序地讀這樣的ECC塊并在行存儲(chǔ)器3進(jìn)行PI校正時(shí),行45中的錯(cuò)誤42容易地受到PI校正。即,恢復(fù)數(shù)據(jù)正確的行45。另外,為含有錯(cuò)誤42的數(shù)據(jù)生成的PO系列中的每一行也受到PI校正,從而恢復(fù)正確的PO系列。即,行46受到PI校正,從而校正字節(jié)43。類似地,其它行(用三角符號(hào)標(biāo)志)也受到PI校正,從而生成正確的PO系列。
在上面的處理中,利用行存儲(chǔ)器3對ECC塊中的所有的行進(jìn)行PI校正。PI校正不受限于是這樣的并且可以只對用矩形符號(hào)標(biāo)記的位置處的各行進(jìn)行以便縮短處理時(shí)間。這是因?yàn)槿绻搱D中矩形符號(hào)位置處的PO系列是正確的糾錯(cuò)碼,可以晚些時(shí)候輕易地校正存儲(chǔ)錯(cuò)誤42。
在上面的解釋中,使用了一個(gè)未在聚合數(shù)據(jù)塊中逐行地分布PO塊的ECC塊。然而,在實(shí)際的ECC塊中,如圖1和6說明的那樣,糾錯(cuò)碼PO逐行地分布在聚合數(shù)據(jù)塊中。即,糾錯(cuò)碼PO是按為12行的聚合數(shù)據(jù)塊存在一行糾錯(cuò)碼PO的方式分布的。
后面說明圖17的再現(xiàn)系統(tǒng)。
現(xiàn)說明存儲(chǔ)器控制裝置20的功能。存儲(chǔ)器控制裝置20接收從PI生成和添加裝置8、同步分離/解調(diào)裝置11、PO生成和添加裝置9、PO校正裝置9、PI校正裝置10以及行存儲(chǔ)器3存儲(chǔ)或讀數(shù)據(jù)的請求。根據(jù)請求,存儲(chǔ)器控制裝置20把數(shù)據(jù)寫入緩沖存儲(chǔ)器2或從緩沖存儲(chǔ)器2讀出數(shù)據(jù)。在這種情況下,存儲(chǔ)器控制裝置20控制數(shù)據(jù)存儲(chǔ)位置,從而不使用緩沖存儲(chǔ)器2的有缺陷的存儲(chǔ)區(qū)。
假定PI校正裝置10請求存儲(chǔ)器控制裝置20讀數(shù)據(jù)并把一行數(shù)據(jù)存儲(chǔ)到行存儲(chǔ)器3中。接著,還假定PI校正裝置10對行存儲(chǔ)器3中的數(shù)據(jù)進(jìn)行錯(cuò)誤校正。此刻,若檢測出錯(cuò)誤,PI校正裝置把有關(guān)錯(cuò)誤的位置的信息發(fā)送到存儲(chǔ)器控制裝置20。
存儲(chǔ)器控制裝置20在出錯(cuò)地址寄存器21中存儲(chǔ)該處存儲(chǔ)過含有錯(cuò)誤的數(shù)據(jù)的地址。在出錯(cuò)地址寄存器21中,當(dāng)同一地址出現(xiàn)多次錯(cuò)誤時(shí),還記錄該錯(cuò)誤發(fā)生的次數(shù)。例如,當(dāng)同一地址處二次出現(xiàn)存儲(chǔ)錯(cuò)誤時(shí),存儲(chǔ)器控制裝置20把該地址判斷為一個(gè)有缺陷的地址。接著,存儲(chǔ)器控制裝置20在有缺陷地址寄存器22中登記有缺陷地址的信息。在有缺陷地址寄存器22中登記有缺陷地址信息的準(zhǔn)則可以是三次重復(fù)或者更多次的重復(fù)。
有缺陷地址寄存器22中登記的有缺陷地址信息由數(shù)據(jù)寫地址和讀地址控制部分23查閱,后者防止使用有缺陷的地址。
例如,假定當(dāng)從地址A開始存儲(chǔ)圖18A的ECC塊中的數(shù)據(jù)列(BO,O)至(B207,181)時(shí),地址(A+J)已在該有缺陷地址寄存器中登記。則跳過地址(A+J)把(BO,J)存儲(chǔ)在地址(A+J+1)處。此刻,可以把(BO,J)存儲(chǔ)在一預(yù)先準(zhǔn)備的替代區(qū)中。另外,不僅可以按字節(jié)也可以按行管理有缺陷的存儲(chǔ)區(qū)。
下面說明PI校正失敗(或不可能進(jìn)行)時(shí)的數(shù)據(jù)再現(xiàn)。
當(dāng)一個(gè)行中出現(xiàn)6個(gè)或更多的存儲(chǔ)錯(cuò)誤時(shí),不可能實(shí)現(xiàn)PI校正。當(dāng)一個(gè)ECC塊中的數(shù)據(jù)發(fā)生6個(gè)或更多的存儲(chǔ)錯(cuò)誤時(shí),PO(16行)的PI校正會(huì)失敗。
當(dāng)檢測出PI校正處理中錯(cuò)誤數(shù)量超過可校正的錯(cuò)誤數(shù)量時(shí),改變正使用的存儲(chǔ)區(qū)并且重新進(jìn)行處理。在重新處理中,請求主計(jì)算機(jī)再次發(fā)送數(shù)據(jù)。接著,通過存儲(chǔ)器控制裝置20把添加了糾錯(cuò)碼的數(shù)據(jù)存儲(chǔ)在緩沖存儲(chǔ)器20中。在此情況下,該正使用存儲(chǔ)區(qū)是替代出現(xiàn)了錯(cuò)誤的錯(cuò)誤區(qū)或者一個(gè)和該錯(cuò)誤區(qū)不同的空白區(qū)。
當(dāng)存儲(chǔ)糾錯(cuò)碼PO的區(qū)域中每行的錯(cuò)誤數(shù)量超過可校正錯(cuò)誤數(shù)量時(shí),通過下面的方法重新進(jìn)行處理。
在進(jìn)行重新處理中,存儲(chǔ)在緩沖存儲(chǔ)器2中第一存儲(chǔ)區(qū)里的192行×182字節(jié)的聚合數(shù)據(jù)塊(含有糾錯(cuò)碼PI)被移到緩沖存儲(chǔ)器2中的第二存儲(chǔ)區(qū)中。在每行受到PI校正處理后,利用緩沖存儲(chǔ)器2中的第二存儲(chǔ)區(qū)再次進(jìn)行PO生成和添加處理。在該情況下,可以在系統(tǒng)內(nèi)部完成重新處理,不必請求主計(jì)算機(jī)再次發(fā)送數(shù)據(jù)。
圖19幫助說明緩沖存儲(chǔ)器2上數(shù)據(jù)的移動(dòng)。
數(shù)據(jù)移動(dòng)裝置24把從AO開始存儲(chǔ)的ECC塊(n)移動(dòng)到以地址A3作為其開頭的空白區(qū)。在該情況中,被移動(dòng)的數(shù)據(jù)包含地址AO區(qū)中含有的存儲(chǔ)錯(cuò)誤。在每行上進(jìn)行PI校正造成校正這些存儲(chǔ)錯(cuò)誤。利用受過PI校正處理的數(shù)據(jù)進(jìn)行PO生成和添加處理。
現(xiàn)利用圖17說明數(shù)據(jù)再現(xiàn)中的操作。
光學(xué)頭從記錄媒體讀出的回放數(shù)據(jù)被引入到同步分離/解調(diào)裝置11。同步分離/解調(diào)裝置11從回放數(shù)據(jù)檢測同步并對受到8/16調(diào)制的數(shù)據(jù)解調(diào),從而產(chǎn)生記錄段。由于因盤中的缺陷或者因把數(shù)據(jù)記錄到記錄媒體中的或從記錄媒體再現(xiàn)數(shù)據(jù)中的噪聲在數(shù)據(jù)中出現(xiàn)錯(cuò)誤,記錄段中的數(shù)據(jù)中可能包含錯(cuò)誤。
通過存儲(chǔ)裝置20把讀出的記錄段順序地存儲(chǔ)在緩沖存儲(chǔ)器2中并把16個(gè)記錄段匯集在一起,從而在緩沖存儲(chǔ)器2中形成182列×208行的ECC塊。PO校正裝置14和PI校正裝置10使182列×208行的ECC塊受到錯(cuò)誤校正。
按數(shù)據(jù)發(fā)送的順序從緩沖存儲(chǔ)器2一行一行地(以172字節(jié)為單位)讀校正過錯(cuò)誤的ECC塊并存儲(chǔ)在行存儲(chǔ)器3中。PI校正裝置10利用行存儲(chǔ)器3對每行中的172字節(jié)進(jìn)行校正。結(jié)果是,即使在緩沖存儲(chǔ)器2中的雜亂后的數(shù)據(jù)段中出現(xiàn)存儲(chǔ)錯(cuò)誤,會(huì)通過該P(yáng)I校正校正錯(cuò)誤。
接著,取消雜亂裝置對雜亂后的數(shù)據(jù)段中的主數(shù)據(jù)(2048字節(jié))和雜亂數(shù)據(jù)乘以雜亂數(shù)據(jù)(或?qū)@二個(gè)數(shù)據(jù)進(jìn)行“異”運(yùn)算),從而生成雜亂之前的數(shù)據(jù)段。接著,EDC錯(cuò)誤檢測裝置12利用該數(shù)據(jù)段中包含的4字節(jié)錯(cuò)誤檢測碼(EDC)檢測該數(shù)據(jù)段中的錯(cuò)誤。若檢測出該數(shù)據(jù)段中不存在錯(cuò)誤,把該數(shù)據(jù)段發(fā)送到主機(jī)。
如上面所說明,本發(fā)明可用于一種信號(hào)發(fā)送/記錄和再現(xiàn)設(shè)備,即使存儲(chǔ)器上發(fā)生錯(cuò)誤其仍能不丟失原始數(shù)據(jù)地進(jìn)行到錯(cuò)碼生成處理。另外,本發(fā)明有效地應(yīng)用于低價(jià)格的能在不丟失原始數(shù)據(jù)下把數(shù)據(jù)記錄到記錄媒體上的信號(hào)發(fā)送/記錄和再現(xiàn)設(shè)備,其通過對有故障存儲(chǔ)器的檢查允許發(fā)生更多的存儲(chǔ)錯(cuò)誤來替代提高合格率。本發(fā)明還應(yīng)用于數(shù)字通信領(lǐng)域中發(fā)送/接收系統(tǒng)的各種設(shè)備。它們包括無線電部件,例如蜂窩電話、計(jì)算機(jī)之間的發(fā)送/接收終端和電視發(fā)射機(jī)/接收機(jī)。在記錄和再現(xiàn)系統(tǒng)中,本發(fā)明有效于DVD機(jī)、CD機(jī)以及其它采用通信功能的存儲(chǔ)設(shè)備等等。
如前面已說明那樣,依據(jù)本發(fā)明,有可能提供一種采用糾錯(cuò)碼的甚至當(dāng)出現(xiàn)數(shù)據(jù)錯(cuò)誤(存儲(chǔ)錯(cuò)誤)時(shí)仍能恢復(fù)原始數(shù)據(jù)的數(shù)據(jù)處理方法,并提供采用該方法的記錄或再現(xiàn)系統(tǒng)以及采用該方法的發(fā)送和接收系統(tǒng)。
權(quán)利要求
1.一種采用糾錯(cuò)碼的數(shù)據(jù)處理方法,其特征在于包括下述步驟通過利用一個(gè)第一存儲(chǔ)器(1)為M行×N列的由(M×N)字節(jié)組成的數(shù)據(jù)塊中的每行生成P字節(jié)的糾錯(cuò)碼PI并對該行添加該糾錯(cuò)碼PI;在一個(gè)第二存儲(chǔ)器(2)中匯集K個(gè)M行×(N+P)列的由(M×(N+P))字節(jié)組成的添加了糾錯(cuò)碼PI的數(shù)據(jù)塊以生成含有(K×(M×(N+P)))字節(jié)的聚合數(shù)據(jù)塊;通過利用所述第二存儲(chǔ)器為所述聚合數(shù)據(jù)塊中的每列生成S字節(jié)的糾錯(cuò)碼PO并對該列添加該糾錯(cuò)碼PO以生成糾錯(cuò)乘積碼塊(ECC塊);在從所述第二存儲(chǔ)器讀出所述ECC塊并發(fā)送該ECC塊之前利用添加到各行的糾錯(cuò)碼PI進(jìn)行錯(cuò)誤校正處理(3,10);以及按行的次序順序地發(fā)送經(jīng)過了所述糾錯(cuò)處理的ECC塊或者把該ECC塊記錄在記錄媒體上。
2.一種采用糾錯(cuò)碼的數(shù)據(jù)處理方法,其特征在于包括下述步驟通過利用一個(gè)第一存儲(chǔ)器(1)為M行×N列的由(M×N)字節(jié)組成的數(shù)據(jù)塊中的每行生成P字節(jié)的糾錯(cuò)碼PI并對該行添加該糾錯(cuò)碼PI;在一個(gè)第二存儲(chǔ)器(2)中匯集K個(gè)M行×(N+P)列的由(M×(N+P))字節(jié)組成的添加了糾錯(cuò)碼PI的數(shù)據(jù)塊以生成含有(K×(M×(N+P)))字節(jié)的聚合數(shù)據(jù)塊;通過利用所述第二存儲(chǔ)器(2)為所述聚合數(shù)據(jù)塊中的每列生成(S=K×Q)字節(jié)的糾錯(cuò)碼PO并對該列添加該糾錯(cuò)碼PO;以Q字節(jié)為單位把所述糾錯(cuò)碼PO分布到K個(gè)添加了糾錯(cuò)碼PI的數(shù)據(jù)塊中以使每個(gè)塊構(gòu)建成一個(gè)由數(shù)據(jù)和糾錯(cuò)碼組成的并包含固定的(M+Q)×(N+P)字節(jié)量的糾錯(cuò)乘積碼塊(ECC塊);在從所述第二存儲(chǔ)器讀出所述ECC塊并發(fā)送該ECC塊之前利用添加到各行的糾錯(cuò)碼PI進(jìn)行錯(cuò)誤校正處理(3,10);以及按行的次序順序地發(fā)送經(jīng)過了所述糾錯(cuò)處理的ECC塊或者把該ECC塊記錄在記錄媒體上。
3.一種采用糾錯(cuò)碼的數(shù)據(jù)處理方法,其特征在于包括下述步驟當(dāng)對M行×N列中(M×N)字節(jié)組成的數(shù)據(jù)塊中的每行生成并添加糾錯(cuò)碼PI時(shí),包含著第一過程和第二過程,其中第一過程從主計(jì)算機(jī)按行(含有N字節(jié))地接收數(shù)據(jù)并順序地在第二存儲(chǔ)器(2)中存儲(chǔ)所發(fā)送的N字節(jié)數(shù)據(jù),第二過程并行于第一過程基于所述發(fā)送的N字節(jié)數(shù)據(jù)為每個(gè)所述行生成P字節(jié)的糾錯(cuò)碼、順序地把生成的P字節(jié)的糾錯(cuò)碼PI存儲(chǔ)到所述第二存儲(chǔ)器中并在M行×(N+P)列中生成由(M×(N+P))字節(jié)組成的添加了糾錯(cuò)碼PI的數(shù)據(jù)塊;在第二存儲(chǔ)器(2)中匯集K個(gè)M行×(N+P)列中的由(M×(N+P))字節(jié)組成的添加了糾錯(cuò)碼PI的數(shù)據(jù)塊以生成含有(K×(M×(N+P)))字節(jié)的聚合數(shù)據(jù)塊;通過利用所述第二存儲(chǔ)器(2)為所述聚合數(shù)據(jù)塊中的每列生成S字節(jié)的糾錯(cuò)碼PO并對該列添加該糾錯(cuò)碼PO以生成糾錯(cuò)乘積碼塊(ECC塊);在從所述第二存儲(chǔ)器(2)讀出所述ECC塊并發(fā)送該ECC塊之前利用添加到各行的糾錯(cuò)碼PI進(jìn)行錯(cuò)誤校正處理(3,10);以及按行的次序順序地發(fā)送經(jīng)過了所述糾錯(cuò)處理的ECC塊或者把該ECC塊記錄在記錄媒體上。
4.根據(jù)權(quán)利要求1、2或3的數(shù)據(jù)處理方法,其特征在于,當(dāng)基于所述糾錯(cuò)碼PI在所述ECC塊進(jìn)行錯(cuò)誤校正處理時(shí),僅使糾錯(cuò)碼PO的各行進(jìn)行錯(cuò)誤校正處理。
5.依據(jù)權(quán)利要求1、2或3的數(shù)據(jù)處理方法,其特征在于從所述第二存儲(chǔ)器(2)中順序地讀出所述ECC塊的每行并存儲(chǔ)在一個(gè)第三存儲(chǔ)器(3)中,當(dāng)基于糾錯(cuò)碼PI對所述第三存儲(chǔ)器中存儲(chǔ)的單位塊進(jìn)行錯(cuò)誤校正處理時(shí),對所述第三存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)塊里的每一行或?qū)m錯(cuò)碼PO的行進(jìn)行錯(cuò)誤校正處理,以及按行的次序順序地發(fā)送經(jīng)過了所述錯(cuò)誤校正處理的單位塊或把該單位塊記錄到記錄媒體上。
6.一種采用糾錯(cuò)碼的數(shù)據(jù)處理方法,其特征在于包括下述步驟當(dāng)發(fā)送或從記錄媒體讀出并且接收含有(K×M×(N+P))字節(jié)的添加了糾錯(cuò)碼PI的聚合數(shù)據(jù)塊以及含有(S×(N+P))字節(jié)的糾錯(cuò)碼PO塊時(shí),其中,對匯集著K個(gè)由M行×N列中的(M×N)字節(jié)構(gòu)成的從而包含(K×(M×N))字節(jié)的聚合數(shù)據(jù)塊的每行添加P字節(jié)的糾錯(cuò)碼PI,而所述糾錯(cuò)碼PO塊為對所述包含著糾錯(cuò)碼PI塊的聚合數(shù)據(jù)塊的每列生成S字節(jié)的糾錯(cuò)碼PO,通過利用一個(gè)第二存儲(chǔ)器(2)基于所述糾錯(cuò)碼PI和PO對所述聚合數(shù)據(jù)塊中的錯(cuò)誤數(shù)據(jù)字節(jié)進(jìn)行第一錯(cuò)誤校正處理;以及通過利用第一存儲(chǔ)器(1)基于所述糾錯(cuò)碼PI對受過所述第一錯(cuò)誤校正處理的數(shù)據(jù)進(jìn)行行錯(cuò)誤校正處理。
7.一種采用糾錯(cuò)碼的數(shù)據(jù)處理方法,其特征在于包括下述步驟當(dāng)發(fā)送或從記錄媒體讀出并接收糾錯(cuò)乘積碼塊(ECC塊)時(shí),其中所述ECC塊是這樣構(gòu)成的對M行×N列中的由(M×N)字節(jié)組成的數(shù)據(jù)塊中的每行生成并添加P字節(jié)的糾錯(cuò)碼PI;把K個(gè)M行×(N+P)列中的由(M×(N+P))字節(jié)組成的添加了糾錯(cuò)碼PI的數(shù)據(jù)塊匯集在一起以生成含有(K×(M×(N+P)))字節(jié)的聚合數(shù)據(jù)塊;對所述聚合數(shù)據(jù)塊的每列生成并添加(S=K×Q)字節(jié)的糾錯(cuò)碼PO;并以Q字節(jié)為單位把所述糾錯(cuò)碼PO分布到K個(gè)添加了糾錯(cuò)碼PI的數(shù)據(jù)塊從而使每個(gè)數(shù)據(jù)塊由數(shù)據(jù)和糾錯(cuò)碼組成并包含固定的(M+Q)×(N+P)字節(jié)數(shù)量,利用一個(gè)第二存儲(chǔ)器(2)基于所述糾錯(cuò)碼PI和PO對所述數(shù)據(jù)塊中的錯(cuò)誤數(shù)據(jù)字節(jié)進(jìn)行錯(cuò)誤校正處理,并且然后通過使用一個(gè)第一存儲(chǔ)器(1)基于所述糾錯(cuò)碼PI對經(jīng)過了所述第一錯(cuò)誤校正處理的數(shù)據(jù)進(jìn)行行錯(cuò)誤校正處理。
8.依據(jù)權(quán)利要求6或7的數(shù)據(jù)處理方法,其特征在于,僅當(dāng)從所述第二存儲(chǔ)器(2)讀出數(shù)據(jù)的過程中從添加到所述數(shù)據(jù)塊的錯(cuò)誤檢測碼(EDC)判斷出在所述數(shù)據(jù)塊中存在錯(cuò)誤時(shí)才利用所述第一存儲(chǔ)器(1)進(jìn)行錯(cuò)誤校正處理。
9.一種采用糾錯(cuò)碼的數(shù)據(jù)處理方法,其特征在于包括下述步驟通過利用一個(gè)第一存儲(chǔ)器(1)為M行×N列中的由(M×N)字節(jié)組成的數(shù)據(jù)塊中的每行生成P字節(jié)的糾錯(cuò)碼PI并對該行添加該糾錯(cuò)碼PI以形成一個(gè)數(shù)據(jù)塊;在一個(gè)第二存儲(chǔ)器(2)中匯集K個(gè)M行×(N+P)列中的由(M×(N+P))字節(jié)組成的所述添加了糾錯(cuò)碼PI的數(shù)據(jù)塊以生成一個(gè)含有(K×(M×(N+P)))字節(jié)的聚合數(shù)據(jù)塊并且利用所述第二存儲(chǔ)器為所述聚合數(shù)據(jù)塊中的每列生成S字節(jié)的糾錯(cuò)碼并對該列添加該糾錯(cuò)碼PO以生成一個(gè)糾錯(cuò)乘積碼塊(ECC塊);在從所述第二存儲(chǔ)器讀出并發(fā)送該ECC塊之前利用添加到所述ECC塊的每行的糾錯(cuò)碼PI進(jìn)行錯(cuò)誤校正處理,按行的次序順序地發(fā)送經(jīng)受過所述糾錯(cuò)處理的ECC塊或者把該ECC塊記錄在記錄媒體上;當(dāng)發(fā)送或從記錄媒體讀出并且接收該經(jīng)受過所述錯(cuò)誤校正處理的ECC塊時(shí),通過利用所述第二存儲(chǔ)器(2)基于所述糾錯(cuò)碼PI和PO對所述數(shù)據(jù)塊中的錯(cuò)誤數(shù)據(jù)字節(jié)進(jìn)行第一錯(cuò)誤校正處理;以及通過利用第一存儲(chǔ)器(1)基于所述糾錯(cuò)碼PI對受過所述第一錯(cuò)誤校正處理的數(shù)據(jù)進(jìn)行錯(cuò)誤校正處理。
10.一種采用糾錯(cuò)碼的數(shù)據(jù)處理方法,其特征在于包括下述步驟通過利用一個(gè)第一存儲(chǔ)器(1)為M行×N列中的由(M×N)字節(jié)組成的數(shù)據(jù)塊中的每行生成P字節(jié)的糾錯(cuò)碼PI并對該行添加該糾錯(cuò)碼PI以形成一個(gè)數(shù)據(jù)塊;在一個(gè)第二存儲(chǔ)器(2)中匯集K個(gè)M行×(N+P)列中的由(M×(N+P))字節(jié)組成的所述添加了糾錯(cuò)碼PI數(shù)據(jù)塊以生成一個(gè)含有(K×(M×(N+P)))字節(jié)的聚合數(shù)據(jù)塊并且通過利用所述第二存儲(chǔ)器(2)為所述聚合數(shù)據(jù)塊中的每列生成(S=K×Q)字節(jié)的糾錯(cuò)碼PO并對該列添加該糾錯(cuò)碼PO;以Q字節(jié)為單位把所述糾錯(cuò)碼PO分布到K個(gè)添加了糾錯(cuò)碼PI的數(shù)據(jù)塊從而以每個(gè)數(shù)據(jù)塊含有由數(shù)據(jù)塊和糾錯(cuò)碼組成的固定(M+Q)×(N+P)字節(jié)量的方式構(gòu)建一個(gè)糾錯(cuò)乘積碼塊(ECC塊);在從所述第二存儲(chǔ)器讀出并發(fā)送該ECC塊之前利用添加到所述ECC塊的每行的糾錯(cuò)碼PI進(jìn)行錯(cuò)誤校正處理;按行的次序順序地發(fā)送經(jīng)受過所述糾錯(cuò)處理的ECC塊或者把該ECC塊記錄在記錄媒體上;當(dāng)發(fā)送或從記錄媒體讀出并且接收該經(jīng)受過所述錯(cuò)誤校正處理的ECC塊時(shí),通過利用所述第二存儲(chǔ)器(2)基于所述糾錯(cuò)碼PI和PO對所述數(shù)據(jù)塊中的錯(cuò)誤數(shù)據(jù)字節(jié)進(jìn)行第一錯(cuò)誤校正處理;以及通過利用第一存儲(chǔ)器(1)基于所述糾錯(cuò)碼PI對經(jīng)受過所述第一錯(cuò)誤校正處理的數(shù)據(jù)進(jìn)行行錯(cuò)誤校正處理。
11.依據(jù)權(quán)利要求9或10的處理方法,其特征在于,在通過利用所述第二存儲(chǔ)器(2)基于所述糾錯(cuò)碼PI和PO對所述數(shù)據(jù)塊中的錯(cuò)誤數(shù)據(jù)字節(jié)進(jìn)行第一錯(cuò)誤校正處理之前,通過利用所述第二存儲(chǔ)器(2)基于糾錯(cuò)碼PI對包含記錄中的存儲(chǔ)錯(cuò)誤的錯(cuò)誤數(shù)據(jù)字節(jié)進(jìn)行錯(cuò)誤校正處理。
12.依據(jù)權(quán)利要求1、2、3、6、7、9和10中任一權(quán)利要求的數(shù)據(jù)處理方法,其特征在于所述第一存儲(chǔ)器(1)是SRAM(靜態(tài)RAM)。
13.依據(jù)權(quán)利要求1、2、3、6、7、9和10中任一權(quán)利要求的數(shù)據(jù)處理方法,其特征在于,利用所述糾錯(cuò)碼PI進(jìn)行的錯(cuò)誤校正處理通過僅計(jì)算從P字節(jié)糾錯(cuò)碼PI得到的模式檢測值(P字節(jié))中的一部分(R字節(jié),R<P)檢測錯(cuò)誤,僅當(dāng)判斷存在錯(cuò)誤時(shí),才進(jìn)行校正處理。
14.一種數(shù)據(jù)處理設(shè)備,其在發(fā)送添加了糾錯(cuò)碼的數(shù)據(jù)時(shí)或者在記錄媒體上記錄該添加了糾錯(cuò)碼的數(shù)據(jù)時(shí)利用依據(jù)權(quán)利要求1、2或3中任一權(quán)利要求的數(shù)據(jù)處理方法獲得該添加了糾錯(cuò)碼的數(shù)據(jù)。
15.一種數(shù)據(jù)處理設(shè)備,其在發(fā)送添加了糾錯(cuò)碼的數(shù)據(jù)或從記錄媒體讀該添加了糾錯(cuò)碼的數(shù)據(jù)并且接收時(shí)利用依據(jù)權(quán)利要求6或7的數(shù)據(jù)處理方法獲得糾錯(cuò)后的輸出數(shù)據(jù)。
16.一種數(shù)據(jù)處理設(shè)備,其在發(fā)送添加了糾錯(cuò)碼的數(shù)據(jù)或在記錄媒體上記錄該添加了糾錯(cuò)碼的數(shù)據(jù)時(shí)或者發(fā)送添加了糾錯(cuò)碼的數(shù)據(jù)或從記錄媒體讀該添加了糾錯(cuò)碼的數(shù)據(jù)并且接收時(shí),利用依據(jù)權(quán)利要求9或10的數(shù)據(jù)處理方法獲得該添加了糾錯(cuò)碼的數(shù)據(jù)或糾錯(cuò)后的輸出數(shù)據(jù)。
17.一種采用糾錯(cuò)碼的數(shù)據(jù)處理設(shè)備,其特征在于包括裝置(8),用于通過利用一個(gè)第一存儲(chǔ)器(1)為M行×N列中的由(M×N)字節(jié)組成的數(shù)據(jù)塊中的每行生成P字節(jié)的糾錯(cuò)碼PI并對該行添加該糾錯(cuò)碼PI;裝置(2),用于在一個(gè)第二存儲(chǔ)器中匯集K個(gè)M行×(N+P)列中的由(M×(N+P))字節(jié)組成的添加了糾錯(cuò)碼PI的數(shù)據(jù)塊以生成含有(K×(M×(N+P)))字節(jié)的聚合數(shù)據(jù)塊;裝置(9),用于通過利用所述第二存儲(chǔ)器為所述聚合數(shù)據(jù)塊中的每列生成S字節(jié)的糾錯(cuò)碼PO并對該列添加該糾錯(cuò)碼PO以生成糾錯(cuò)乘積碼塊(ECC塊);裝置(2,10),用于在從所述第二存儲(chǔ)器讀出所述ECC塊并發(fā)送該ECC塊之前利用添加到各行的糾錯(cuò)碼PI進(jìn)行錯(cuò)誤校正處理;以及裝置(4),用于按行的次序順序地發(fā)送經(jīng)過了所述糾錯(cuò)處理的ECC塊或者把該ECC塊記錄在記錄媒體上。
18.一種采用糾錯(cuò)碼的數(shù)據(jù)處理設(shè)備,其特征在于包括裝置(8),用于通過利用一個(gè)第一存儲(chǔ)器(1)為M行×N列中的由(M×N)字節(jié)組成的數(shù)據(jù)塊中的每行生成P字節(jié)的糾錯(cuò)碼PI并對該行添加該糾錯(cuò)碼PI;裝置(2),用于在一個(gè)第二存儲(chǔ)器中匯集K個(gè)M行×(N+P)列中的由(M×(N+P))字節(jié)組成的添加了糾錯(cuò)碼PI的數(shù)據(jù)塊以生成含有(K×(M×(N+P)))字節(jié)的聚合數(shù)據(jù)塊;裝置(2,9),用于通過利用所述第二存儲(chǔ)器為所述聚合數(shù)據(jù)塊中的每列生成(S=K×Q)字節(jié)的糾錯(cuò)碼PO并對該列添加該糾錯(cuò)碼PO;裝置(2,9),用于以Q字節(jié)為單位把所述糾錯(cuò)碼PO分布到K個(gè)添加了糾錯(cuò)碼PI的數(shù)據(jù)塊中以使每個(gè)數(shù)據(jù)塊構(gòu)建成一個(gè)由數(shù)據(jù)和糾錯(cuò)碼組成的并包含固定的(M+Q)×(N+P)字節(jié)量的糾錯(cuò)乘積碼塊(ECC塊);裝置(3,10),用于在從所述第二存儲(chǔ)器讀出所述ECC塊并發(fā)送該ECC塊之前利用添加到各行的糾錯(cuò)碼PI進(jìn)行錯(cuò)誤校正處理;以及裝置(4),用于按行的次序順序地發(fā)送經(jīng)受過所述糾錯(cuò)處理的ECC塊或者把該ECC塊記錄在記錄媒體上。
19.一種采用糾錯(cuò)碼的數(shù)據(jù)處理設(shè)備,其特征在于包括當(dāng)對M行×N列中(M×N)字節(jié)組成的數(shù)據(jù)塊中的每行生成并添加糾錯(cuò)碼PI時(shí),裝置(2,18),用于包含著第一過程和第二過程,其中第一過程從一個(gè)主計(jì)算機(jī)按行(含有N字節(jié))地接收數(shù)據(jù)并順序地在第二存儲(chǔ)器中存儲(chǔ)所發(fā)送的N字節(jié)數(shù)據(jù),第二過程并行于第一過程基于所述發(fā)送的N字節(jié)數(shù)據(jù)為每個(gè)所述行生成P字節(jié)的糾錯(cuò)碼PI、順序地把生成的P字節(jié)的糾錯(cuò)碼PI存儲(chǔ)到所述第二存儲(chǔ)器中并在M行×(N+P)列中生成由(M×(N+P))字節(jié)組成的添加了糾錯(cuò)碼PI的數(shù)據(jù)塊;裝置(2),用于在一個(gè)第二存儲(chǔ)器中匯集K個(gè)M行×(N+P)列中的由(M×(N+P))字節(jié)組成的添加了糾錯(cuò)碼PI的數(shù)據(jù)塊以生成含有(K×(M×(N+P)))字節(jié)的聚合數(shù)據(jù)塊;裝置(9),用于通過利用所述第二存儲(chǔ)器為所述聚合數(shù)據(jù)塊中的每列生成S字節(jié)的糾錯(cuò)碼PO并對該列添加該糾錯(cuò)碼PO以生成糾錯(cuò)乘積碼塊(ECC塊);裝置(3,10),用于在從所述第二存儲(chǔ)器讀出所述ECC塊并發(fā)送該ECC塊之前利用添加到各行的糾錯(cuò)碼PI進(jìn)行錯(cuò)誤校正處理;以及裝置(4),用于按行的次序順序地發(fā)送經(jīng)受過所述糾錯(cuò)處理的ECC塊或者把該ECC塊記錄在記錄媒體上。
20.依據(jù)權(quán)利要求17、18或19的數(shù)據(jù)處理設(shè)備,其特征在于,當(dāng)基于所述糾錯(cuò)碼PI在所述ECC塊進(jìn)行錯(cuò)誤校正處理時(shí),僅使糾錯(cuò)碼PO的各行受到錯(cuò)誤校正處理。
21.依據(jù)權(quán)利要求17、18或19的數(shù)據(jù)處理設(shè)備,其特征在于還包括裝置(3),用于從所述第二存儲(chǔ)器中順序地讀出所述ECC塊的每行并存儲(chǔ)在一個(gè)第三存儲(chǔ)器中,裝置(10),用于當(dāng)基于糾錯(cuò)碼PI對所述第三存儲(chǔ)器中存儲(chǔ)的單位塊進(jìn)行錯(cuò)誤校正處理時(shí),對所述第三存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)塊里的每一行或?qū)m錯(cuò)碼PO的行進(jìn)行錯(cuò)誤校正處理,以及裝置(4),用于按行的次序順序地發(fā)送經(jīng)過了所述錯(cuò)誤校正處理的單位塊或把該單位塊記錄到記錄媒體上。
22.一種采用糾錯(cuò)碼的數(shù)據(jù)處理設(shè)備,其特征在于包括當(dāng)發(fā)送或從記錄媒體讀出并且接收含有(K×M×(N+P))字節(jié)的添加了糾錯(cuò)碼PI的聚合數(shù)據(jù)塊以及含有(S×(N+P))字節(jié)的糾錯(cuò)碼PO塊時(shí),其中,對匯集著K個(gè)由M行×N列中的(M×N)字節(jié)構(gòu)成的從而包含(K×(M×N))字節(jié)的聚合數(shù)據(jù)塊的每行添加P字節(jié)的糾錯(cuò)碼PI,而所述糾錯(cuò)碼PO塊為對所述聚合數(shù)據(jù)塊的以及所述添加了糾錯(cuò)碼PI的塊的每列生成S字節(jié)的糾錯(cuò)碼PO,裝置(2,10,14),用于通過利用一個(gè)第二存儲(chǔ)器基于所述糾錯(cuò)碼PI和PO對所述聚合數(shù)據(jù)塊中的錯(cuò)誤數(shù)據(jù)字節(jié)進(jìn)行第一錯(cuò)誤校正處理;以及裝置(3,10),用于通過利用一個(gè)第一存儲(chǔ)器基于所述糾錯(cuò)碼PI對經(jīng)過了所述第一錯(cuò)誤校正處理的數(shù)據(jù)進(jìn)行行錯(cuò)誤校正處理。
23.一種采用糾錯(cuò)碼的數(shù)據(jù)處理設(shè)備,其特征在于包括當(dāng)發(fā)送或從記錄媒體讀出并接收糾錯(cuò)乘積碼塊(ECC塊)時(shí),其中所述ECC塊是這樣構(gòu)成的對M行×N列中的由(M×N)字節(jié)組成的數(shù)據(jù)塊中的每行生成并添加P字節(jié)的糾錯(cuò)碼PI;把K個(gè)M行×(N+P)列中的由(M×(N+P))字節(jié)組成的添加了糾錯(cuò)碼PI的數(shù)據(jù)塊匯集在一起以生成含有(K×(M×(N+P)))字節(jié)的聚合數(shù)據(jù)塊;對所述聚合數(shù)據(jù)塊的每列生成并添加(S=K×Q)字節(jié)的糾錯(cuò)碼PO;并以Q字節(jié)為單位把所述糾錯(cuò)碼PO分布到K個(gè)添加了糾錯(cuò)碼PI的數(shù)據(jù)塊從而使每個(gè)數(shù)據(jù)塊由數(shù)據(jù)和糾錯(cuò)碼組成并包含固定的(M+Q)×(N+P)字節(jié)數(shù)量,裝置(2,14),用于利用一個(gè)第二存儲(chǔ)器基于所述糾錯(cuò)碼PI和PO對所述數(shù)據(jù)塊中的錯(cuò)誤數(shù)據(jù)字節(jié)進(jìn)行錯(cuò)誤校正處理,及裝置(1,10),用于通過使用第一存儲(chǔ)器基于所述糾錯(cuò)碼PI對受過所述第一錯(cuò)誤校正處理的數(shù)據(jù)進(jìn)行行錯(cuò)誤校正處理。
24.依據(jù)權(quán)利要求22或23的數(shù)據(jù)處理設(shè)備,其特征在于,僅當(dāng)從所述第二存儲(chǔ)器讀數(shù)據(jù)的過程中從添加到所述數(shù)據(jù)塊的錯(cuò)誤檢測碼(EDC)判斷出在所述數(shù)據(jù)塊中存在錯(cuò)誤時(shí)才利用所述第一存儲(chǔ)器進(jìn)行錯(cuò)誤校正處理。
25.一種采用糾錯(cuò)碼的數(shù)據(jù)處理設(shè)備,其特征在于包括裝置(1,8),用于通過利用第一存儲(chǔ)器為M行×N列中的由(M×N)字節(jié)組成的數(shù)據(jù)塊中的每行生成P字節(jié)的糾錯(cuò)碼PI并對該行添加該糾錯(cuò)碼PI以形成一個(gè)數(shù)據(jù)塊;裝置(2,9),用于在第二存儲(chǔ)器中匯集K個(gè)M行×(N+P)列中的由(M×(N+P))字節(jié)組成的所述添加了糾錯(cuò)碼PI的數(shù)據(jù)塊以生成一個(gè)含有(K×(M×(N+P)))字節(jié)的聚合數(shù)據(jù)塊并且利用所述第二存儲(chǔ)器為所述聚合數(shù)據(jù)塊中的每列生成S字節(jié)的糾錯(cuò)碼并對該列添加該糾錯(cuò)碼PO以生成一個(gè)糾錯(cuò)乘積碼塊(ECC塊);裝置(3,10),用于在從所述第二存儲(chǔ)器讀出并發(fā)送該ECC塊之前利用添加到所述ECC塊的每行的糾錯(cuò)碼PI進(jìn)行錯(cuò)誤校正處理,裝置(4),用于按行的次序順序地發(fā)送經(jīng)過了所述糾錯(cuò)處理的ECC塊或者把該ECC塊記錄在記錄媒體上;裝置(2,14),用于當(dāng)發(fā)送或從記錄媒體讀出并且接收該受過所述錯(cuò)誤校正處理的ECC塊時(shí),通過利用所述第二存儲(chǔ)器基于所述糾錯(cuò)碼PI和PO對所述數(shù)據(jù)塊中的錯(cuò)誤數(shù)據(jù)字節(jié)進(jìn)行第一錯(cuò)誤校正處理;以及裝置(1,10),用于通過利用第一存儲(chǔ)器基于所述糾錯(cuò)碼PI對經(jīng)過了所述第一錯(cuò)誤校正處理的數(shù)據(jù)進(jìn)行錯(cuò)誤校正處理。
26.一種采用糾錯(cuò)碼的數(shù)據(jù)處理設(shè)備,其特征在于包括裝置(1,8),用于通過利用第一存儲(chǔ)器為M行×N列中的由(M×N)字節(jié)組成的數(shù)據(jù)塊中的每行生成P字節(jié)的糾錯(cuò)碼PI并對該行添加該糾錯(cuò)碼PI以形成一個(gè)數(shù)據(jù)塊;裝置(2),用于在第二存儲(chǔ)器中匯集K個(gè)M行×(N+P)列中的由(M×(N+P))字節(jié)組成的所述添加了糾錯(cuò)碼PI數(shù)據(jù)塊以生成一個(gè)含有(K×(M×(N+P)))字節(jié)的聚合數(shù)據(jù)塊;裝置(2,9),用于通過利用所述第二存儲(chǔ)器為所述聚合數(shù)據(jù)塊中的每列生成(S=K×Q)字節(jié)的糾錯(cuò)碼PO并對該列添加該糾錯(cuò)碼PO;裝置(2),用于以Q字節(jié)為單位把所述糾錯(cuò)碼PO分布到K個(gè)添加了糾錯(cuò)碼PI的數(shù)據(jù)塊從而以每個(gè)數(shù)據(jù)塊含有由數(shù)據(jù)塊和糾錯(cuò)碼組成的固定(M+Q)×(N+P)字節(jié)量的方式構(gòu)建一個(gè)糾錯(cuò)乘積碼塊(ECC塊);裝置(2,10),用于在從所述第二存儲(chǔ)器讀出并發(fā)送該ECC塊之前利用添加到所述ECC塊的每行的糾錯(cuò)碼PI進(jìn)行錯(cuò)誤校正處理;裝置(4),用于按行的次序順序地發(fā)送經(jīng)過了所述糾錯(cuò)處理的ECC塊或者把該ECC塊記錄在記錄媒體上;裝置(2,10,14),用于當(dāng)發(fā)送或從記錄媒體讀出并且接收該經(jīng)過了所述錯(cuò)誤校正處理的ECC塊時(shí),通過利用所述第二存儲(chǔ)器基于所述糾錯(cuò)碼PI和PO對所述數(shù)據(jù)塊中的錯(cuò)誤數(shù)據(jù)字節(jié)進(jìn)行第一錯(cuò)誤校正處理;以及裝置(3,10),用于通過利用第一存儲(chǔ)器基于所述糾錯(cuò)碼PI對經(jīng)過了所述第一錯(cuò)誤校正處理的數(shù)據(jù)進(jìn)行行錯(cuò)誤校正處理。
27.依據(jù)權(quán)利要求25或26的處理方法,其特征在于還包括,在通過利用所述第二存儲(chǔ)器(2)基于所述糾錯(cuò)碼PI和PO對所述數(shù)據(jù)塊中的錯(cuò)誤數(shù)據(jù)字節(jié)進(jìn)行第一錯(cuò)誤校正處理之前,通過利用所述第二存儲(chǔ)器基于糾錯(cuò)碼PI對包含記錄中的存儲(chǔ)錯(cuò)誤的錯(cuò)誤數(shù)據(jù)字節(jié)進(jìn)行錯(cuò)誤校正處理的裝置。
28.依據(jù)權(quán)利要求17、18、19、22、23、25或26中任一權(quán)利要求的數(shù)據(jù)處理設(shè)備,其特征在于所述第一存儲(chǔ)器是SRAM(靜態(tài)RAM)。
29.依據(jù)權(quán)利要求17、18、19、22、23、25或26中任一權(quán)利要求的數(shù)據(jù)處理設(shè)備,其特征在于,利用所述糾錯(cuò)碼PI進(jìn)行的錯(cuò)誤校正處理通過僅計(jì)算從P字節(jié)糾錯(cuò)碼PI得到的模式檢測值(P字節(jié))中的一部分(R字節(jié),R<P)檢測錯(cuò)誤,僅當(dāng)判斷存在錯(cuò)誤時(shí),才進(jìn)行校正處理。
30.一種數(shù)據(jù)處理設(shè)備,特征在于包括裝置(1,2,8),用于為數(shù)據(jù)塊的每行生成糾錯(cuò)碼PI并把糾錯(cuò)碼PI和所述數(shù)據(jù)塊都存儲(chǔ)在一個(gè)存儲(chǔ)器里;以及裝置(2,3,10),用于當(dāng)在發(fā)送或記錄系統(tǒng)中從所述存儲(chǔ)器讀出添加了糾錯(cuò)碼的數(shù)據(jù)塊時(shí)基于所述糾錯(cuò)碼PI對該數(shù)據(jù)塊的各行進(jìn)行錯(cuò)誤校正處理。
31.一種數(shù)據(jù)處理設(shè)備,其包括裝置(2,10,3),用于當(dāng)從存儲(chǔ)器讀出利用糾錯(cuò)碼PI進(jìn)行了錯(cuò)誤校正處理的聚合數(shù)據(jù)塊時(shí)再次利用所述糾錯(cuò)碼PI對該聚合數(shù)據(jù)塊的各行進(jìn)行錯(cuò)誤校正處理。
32.一種采用糾錯(cuò)碼的數(shù)據(jù)處理設(shè)備,其特征在于包括PI生成和添加裝置(8),用于對多行(每行含有N字節(jié))數(shù)據(jù)中的每行生成糾錯(cuò)碼PI(含有P字節(jié)),并對該行添加該糾錯(cuò)碼PI;一個(gè)緩沖存儲(chǔ)器(2),用于存儲(chǔ)通過所述PI生成和添加裝置得到的每行包含N+P字節(jié)的添加了糾錯(cuò)碼PI的數(shù)據(jù);PI錯(cuò)誤校正裝置(10),用于在從所述緩沖存儲(chǔ)器讀出所述數(shù)據(jù)并發(fā)送該數(shù)據(jù)之前利用對每行添加的糾錯(cuò)碼PI校正各行中的錯(cuò)誤;以及存儲(chǔ)器控制裝置(20),當(dāng)該P(yáng)I錯(cuò)誤校正裝置進(jìn)行完錯(cuò)誤校正時(shí),其記住有關(guān)所述緩沖存儲(chǔ)器中的在其中存儲(chǔ)檢測出錯(cuò)誤的數(shù)據(jù)的存儲(chǔ)區(qū)的信息并且用另一個(gè)存儲(chǔ)區(qū)代替所述緩沖存儲(chǔ)器中的其中存儲(chǔ)了反復(fù)地被檢測出錯(cuò)誤的數(shù)據(jù)的存儲(chǔ)區(qū)。
33.一種采用糾錯(cuò)碼的數(shù)據(jù)處理設(shè)備,其特征在于包括PI生成和添加裝置(8),用于對從一個(gè)主計(jì)算機(jī)發(fā)送的多行(每行含有N字節(jié))數(shù)據(jù)中每行生成糾錯(cuò)碼PI(含有P字節(jié)),并對該行添加該糾錯(cuò)碼PI;一個(gè)緩沖存儲(chǔ)器(2),用于存儲(chǔ)通過所述PI生成和添加裝置得到的每行包含N+P字節(jié)的添加了糾錯(cuò)碼PI的數(shù)據(jù);PO生成和添加裝置(9),用于匯集K個(gè)M行×(N+P)列中的由(M×(N+P))字節(jié)組成的添加了糾錯(cuò)碼PI的數(shù)據(jù)塊以生成含有(K×(M×(N+P)))字節(jié)的聚合數(shù)據(jù)塊,并且用于為所述聚合數(shù)據(jù)塊中的每列生成S字節(jié)的糾錯(cuò)碼PO并對該列添加該糾錯(cuò)碼以生成糾錯(cuò)乘積碼塊(ECC塊);PI錯(cuò)誤校正裝置(3,10),用于在從所述緩沖存儲(chǔ)器讀出所述數(shù)據(jù)并發(fā)送該數(shù)據(jù)之前利用對每行添加的糾錯(cuò)碼PI校正各行中的錯(cuò)誤;以及控制裝置(20),用于在該P(yáng)I錯(cuò)誤校正裝置進(jìn)行錯(cuò)誤校正中檢測出超過可校正的錯(cuò)誤數(shù)量的情況下在添加所述糾錯(cuò)碼PI之前再次從所述主計(jì)算機(jī)請求該數(shù)據(jù)并使該數(shù)據(jù)變成添加了糾錯(cuò)碼PI的數(shù)據(jù),并且當(dāng)在所述緩沖存儲(chǔ)器中存儲(chǔ)添加了糾錯(cuò)碼PI的數(shù)據(jù)時(shí)指定一個(gè)不同于上次在其中存儲(chǔ)所述數(shù)據(jù)的第一存儲(chǔ)區(qū)的第二存儲(chǔ)區(qū)。
34.一種采用糾錯(cuò)碼的數(shù)據(jù)處理設(shè)備,其特征在于包括PI生成和添加裝置(8),用于對多行(每行含有N字節(jié))數(shù)據(jù)中的每行生成糾錯(cuò)碼(含有P字節(jié)),并對該行添加該糾錯(cuò)碼PI;一個(gè)緩沖存儲(chǔ)器(2),用于存儲(chǔ)通過所述PI生成和添加裝置得到的每行包含N+P字節(jié)的添加了糾錯(cuò)碼PI的數(shù)據(jù);PO生成和添加裝置(9),用于匯集K個(gè)M行×(N+P)列中的由(M×(N+P))字節(jié)組成的添加了糾錯(cuò)碼PI的數(shù)據(jù)塊以生成含有(K×(M×(N+P)))字節(jié)的聚合數(shù)據(jù)塊,并且用于為所述聚合數(shù)據(jù)塊中的每列生成S字節(jié)的糾錯(cuò)碼PO并對該列添加該糾錯(cuò)碼以生成糾錯(cuò)乘積碼塊(ECC塊);PI錯(cuò)誤校正裝置(3,10),用于在從所述緩沖存儲(chǔ)器讀出所述數(shù)據(jù)并發(fā)送該數(shù)據(jù)之前利用對每行添加的糾錯(cuò)碼PI校正各行中的錯(cuò)誤;以及控制裝置(20),用于當(dāng)該P(yáng)I錯(cuò)誤校正裝置校正其中存在所述糾錯(cuò)碼PO的行中的錯(cuò)誤時(shí)檢測出超過可校正的錯(cuò)誤數(shù)量的情況下把所述緩沖存儲(chǔ)器里的第一區(qū)中存儲(chǔ)的包含(K×(M×(N+P)))字節(jié)的所述聚合數(shù)據(jù)塊移到所述緩沖存儲(chǔ)器里的第二區(qū),并且通過所述PO生成和添加裝置為所述第二區(qū)中的包含(K×(M×(N+P)))字節(jié)的所述聚合數(shù)據(jù)塊的每列生成S字節(jié)的糾錯(cuò)碼并對該列添加該糾錯(cuò)碼PO。
35.一種采用糾錯(cuò)碼的數(shù)據(jù)處理設(shè)備,其特征在于包括當(dāng)從發(fā)送裝置或記錄媒體接收包含(K×M×(N+P))字節(jié)的添加了糾錯(cuò)碼PI的聚合數(shù)據(jù)塊以及包含(S×(N+P))字節(jié)的糾錯(cuò)碼PO塊時(shí),其中對匯集著K個(gè)由M行×N列中的(M×N)字節(jié)構(gòu)成的從而包含(K×(M×N))字節(jié)的每行添加P字節(jié)的糾錯(cuò)碼PI,而所述糾錯(cuò)碼塊PO為對所述聚合數(shù)據(jù)塊以及所述糾錯(cuò)碼PI添加塊的每列生成S字節(jié)的糾錯(cuò)碼,第一裝置(2,9,14),用于通過利用一個(gè)緩沖存儲(chǔ)器基于所述糾錯(cuò)碼PI和PO對所述聚合數(shù)據(jù)塊中的錯(cuò)誤數(shù)據(jù)字節(jié)進(jìn)行第一錯(cuò)誤校正處理;第二裝置(10,3),用于通過利用一個(gè)容量小于所述緩沖存儲(chǔ)器的小存儲(chǔ)器基于所述糾錯(cuò)碼PI對受到所述第一錯(cuò)誤校正處理的數(shù)據(jù)中的各行進(jìn)行第二錯(cuò)誤校正處理;以及存儲(chǔ)器控制裝置(20),當(dāng)?shù)诙b置在PI系列中進(jìn)行錯(cuò)誤校正時(shí),用于記住有關(guān)所述緩沖存儲(chǔ)器中的在其中存儲(chǔ)檢測出錯(cuò)誤的數(shù)據(jù)的存儲(chǔ)區(qū)的信息并且用于用另一個(gè)存儲(chǔ)區(qū)代替所述緩沖存儲(chǔ)器中的其中存儲(chǔ)反復(fù)地檢測出錯(cuò)誤的數(shù)據(jù)的存儲(chǔ)區(qū)。
36.一種采用糾錯(cuò)碼的數(shù)據(jù)處理設(shè)備,其特征在于包括當(dāng)從發(fā)送裝置或記錄媒體接收糾錯(cuò)乘積碼塊(ECC塊)時(shí),其中所述ECC塊是這樣構(gòu)成的對M行×N列中的由(M×N)字節(jié)組成的數(shù)據(jù)塊中的每行生成并添加P字節(jié)的糾錯(cuò)碼PI;把K個(gè)M行×(N+P)列中的由(M×(N+P))字節(jié)組成的添加了糾錯(cuò)碼PI的數(shù)據(jù)塊匯集在一起以生成含有(K×(M×(N+P)))字節(jié)的聚合數(shù)據(jù)塊;對所述聚合數(shù)據(jù)塊的每列生成并添加(S=K×Q)字節(jié)的糾錯(cuò)碼PO;并以Q字節(jié)為單位把所述糾錯(cuò)碼分布到K個(gè)添加了糾錯(cuò)碼PI的數(shù)據(jù)塊從而使每個(gè)塊由數(shù)據(jù)和糾錯(cuò)碼組成并包含固定的(M+Q)×(N+P)字節(jié)數(shù)量,第一裝置(2,9,14),用于通過利用一個(gè)緩沖存儲(chǔ)器基于所述糾錯(cuò)碼PI和PO對所述數(shù)據(jù)塊中的錯(cuò)誤數(shù)據(jù)字節(jié)進(jìn)行第一錯(cuò)誤校正處理;第二裝置(10,3),用于通過利用一個(gè)容量小于所述緩沖存儲(chǔ)器的小存儲(chǔ)器基于所述糾錯(cuò)碼PI對受到所述第一錯(cuò)誤校正處理的數(shù)據(jù)中的各行進(jìn)行第二錯(cuò)誤校正處理;以及控制裝置(20),用于在第二裝置進(jìn)行PI校正中檢測出超過可校正的錯(cuò)誤數(shù)量的情況下對所述發(fā)送裝置或記錄媒體再次請求添加了所述糾錯(cuò)碼PI的數(shù)據(jù),并且當(dāng)在所述緩沖存儲(chǔ)器中存儲(chǔ)該數(shù)據(jù)時(shí)指定一個(gè)不同于上次在其中存儲(chǔ)所述數(shù)據(jù)的第一存儲(chǔ)區(qū)的第二存儲(chǔ)區(qū)。
全文摘要
本發(fā)明提供一種采用糾錯(cuò)碼的數(shù)據(jù)處理方法和采用該方法的設(shè)備。其中,當(dāng)為存儲(chǔ)器(2)中存儲(chǔ)的數(shù)據(jù)生成并添加糾錯(cuò)碼時(shí),即使該存儲(chǔ)器(2)上的數(shù)據(jù)中出現(xiàn)錯(cuò)誤,仍可消除該錯(cuò)誤的負(fù)面影響。在本發(fā)明中,當(dāng)在存儲(chǔ)器(2)中存儲(chǔ)數(shù)據(jù)時(shí),事先利用另一個(gè)存儲(chǔ)器(1),例如SRAM,生成糾錯(cuò)碼PI。把糾錯(cuò)碼PI和數(shù)據(jù)一起寫入到存儲(chǔ)器(2)中。當(dāng)存儲(chǔ)16個(gè)區(qū)段的數(shù)據(jù)和PI后,為數(shù)據(jù)和PI生成并添加糾錯(cuò)碼PO。當(dāng)從存儲(chǔ)器(2)讀出該數(shù)據(jù)時(shí),每次讀出一個(gè)PI系列進(jìn)行一次PI校正處理。這使得即使在存儲(chǔ)器(2)上該數(shù)據(jù)被破壞(或出現(xiàn)錯(cuò)誤)時(shí)仍有可能恢復(fù)原始數(shù)據(jù)。
文檔編號(hào)H03M13/29GK1359103SQ01143559
公開日2002年7月17日 申請日期2001年12月12日 優(yōu)先權(quán)日2000年12月12日
發(fā)明者小竹晃一, 石澤良之, 小島正 申請人:株式會(huì)社東芝