專利名稱:用于糾錯(cuò)的裝置、方法和程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于糾正從磁帶等記錄介質(zhì)讀出的數(shù)據(jù)的錯(cuò)誤,更詳細(xì)的說(shuō) 涉及用于利用積碼塊來(lái)糾正數(shù)據(jù)的錯(cuò)誤的裝置等。
背景技術(shù):
在對(duì)記錄介質(zhì)進(jìn)行數(shù)據(jù)的寫(xiě)入或讀出的數(shù)據(jù)記錄再現(xiàn)裝置中, 一般進(jìn)行 錯(cuò)誤的檢測(cè)和糾正,以便不會(huì)由于數(shù)據(jù)的錯(cuò)誤而產(chǎn)生重大的故障。特別是近 年來(lái),從提高數(shù)據(jù)的可靠性或數(shù)據(jù)記錄的高密度化的觀點(diǎn)出發(fā),廣泛進(jìn)行基 于積碼的糾錯(cuò)。積碼可以定義為通過(guò)將用戶數(shù)據(jù)配置為行列狀,在行方向以及列方向上配置奇偶校驗(yàn)碼來(lái)構(gòu)成的行列狀的碼。而且,通常積碼由行方向的Cl碼和列 方向的C2碼構(gòu)成,在C1碼中包含作為用于糾正該錯(cuò)誤的奇偶校驗(yàn)(parity ) 碼的Cl奇偶校驗(yàn),在C2碼中包含作為用于糾正該錯(cuò)誤的奇偶校驗(yàn)碼的C2 奇偶校驗(yàn)。在這樣的積碼中,實(shí)際的糾錯(cuò)按照基于C1奇偶校驗(yàn)的C1碼的糾通過(guò)這樣的糾正方法,由于在C1糾正中不能糾正的行可以在C2糾正中通過(guò)消失糾正來(lái)糾正,所以可以糾正較多的錯(cuò)誤。而且,作為這樣的積碼的糾正方法,以往提出了多種方法(例如,參照專利文獻(xiàn)l, 2)。專利文獻(xiàn)l:特開(kāi)平11-203615號(hào)公報(bào)(第5-7頁(yè),第2圖) 專利文獻(xiàn)2:特開(kāi)平11-203797號(hào)公報(bào)(第8、 9頁(yè),第2圖)發(fā)明內(nèi)容發(fā)明要解決的問(wèn)題然而,近年來(lái),由于數(shù)據(jù)記錄再現(xiàn)裝置的大容量化,隨機(jī)誤差的發(fā)生率 有上升的傾向。對(duì)于這樣的隨機(jī)誤差的發(fā)生率的上升,在積碼中一般通過(guò)選 擇更高的Cl糾正能力來(lái)對(duì)應(yīng)。但是,在能夠發(fā)生的誤差中,不僅有這樣的隨機(jī)誤差,而且還有因?yàn)橛涗浗橘|(zhì)上的傷或磁頭(head)不良等引起的連續(xù)產(chǎn)生的連續(xù)誤差(burst error ), 在僅考慮隨機(jī)誤差而選擇了高CI糾正能力的情況下,還存在對(duì)于超過(guò)檢測(cè)能 力的長(zhǎng)度的連續(xù)誤差,誤糾正的概率上升的問(wèn)題。
以LTO (線性》茲帶開(kāi)放Linear Tape-Open)磁帶驅(qū)動(dòng)中的糾錯(cuò)方法為例 說(shuō)明該問(wèn)題。而且,LTO是IBM、惠普(匕- 一k 7卜—'7力一 卜、、)、希捷 ('〉一y4卜r夕乂 口,- (現(xiàn)力歹夕厶))三個(gè)公司共同商定的磁帶格式。
一般的,糾錯(cuò)碼對(duì)于最小代碼間距dmin ,可以糾正滿足dmin^2t+d+1的 關(guān)系的t字節(jié)的錯(cuò)誤,并且一企測(cè)t+d字節(jié)的錯(cuò)誤。
因此,在以往的LTC磁帶驅(qū)動(dòng)的糾錯(cuò)方法中,首先,設(shè)Cl碼的最小代 碼間距dmir=7,為了提高檢測(cè)能力采用了 t = 2 (可以糾正2字節(jié)的錯(cuò)誤), 并且d-2 (能夠檢測(cè)4字節(jié)的錯(cuò)誤)的分配。于是, 一邊檢測(cè)3字節(jié)以上的 錯(cuò)誤, 一邊對(duì)于不能糾正的Cl碼用C2碼進(jìn)行消失糾正。然而,對(duì)于C1碼,為了提高糾正能力設(shè)t-3 (可以糾正3字節(jié)的錯(cuò)誤) 時(shí),d-0(可以檢測(cè)3字節(jié)的錯(cuò)誤)。即,與能夠糾正2字節(jié)的錯(cuò)誤的情況相 比,雖然糾錯(cuò)能力提高,但是錯(cuò)誤檢測(cè)能力降低。其結(jié)果,誤糾正概率上升。 該誤糾正概率的上升對(duì)于消耗C2碼的糾正能力的連續(xù)誤差成為問(wèn)題。即, Cl碼的誤糾正概率的上升傳播到C2碼,并且C2碼的誤糾正概率也上升。 在C2碼中產(chǎn)生了誤糾正的情況下,由于數(shù)據(jù)被發(fā)送到主機(jī)(host)而未識(shí)別 是誤糾正的情況,所以產(chǎn)生故障。因?yàn)楸仨毐苊庥捎谡`糾正而產(chǎn)生故障的概 率的上升,所以原樣選擇3字節(jié)糾正在實(shí)用上存在問(wèn)題。
這里,如果對(duì)專利文獻(xiàn)l、 2的發(fā)明進(jìn)行考察,則它們中的任何一個(gè)都是 以磁頭從磁道脫落的問(wèn)題為對(duì)象,通過(guò)用兩個(gè)磁頭讀取磁帶上的同一 Cl碼并 比較它們,例如通過(guò)采用可糾正的一個(gè),降低誤糾正概率。即,沒(méi)有對(duì)提高 了隨機(jī)誤差的糾正能力時(shí)的連續(xù)誤差的誤糾正概率的上升提出任何解決對(duì) 策。結(jié)果,在專利文獻(xiàn)l、 2中,存在不能降低對(duì)于這樣的連續(xù)誤差的誤糾正 概率的問(wèn)題。
本發(fā)明是為解決上述的技術(shù)問(wèn)題而完成的,其目的是,對(duì)于隨機(jī)誤差即 使選擇高糾正能力,對(duì)于超過(guò)檢測(cè)能力的長(zhǎng)度的連續(xù)誤差的誤糾正的概率也 不上升。
解決課題的手段基于有關(guān)的目的,在本發(fā)明中,參照對(duì)于成對(duì)的兩個(gè)字節(jié)列的第一糾正 的結(jié)果的兩者,根據(jù)該糾正的程度進(jìn)行第二糾正。即,本發(fā)明的第一裝置, 用于糾正包含第一方向的第一字節(jié)列和第二方向的第二字節(jié)列的積碼塊中的錯(cuò)誤,其中包括第一解碼器,糾正第一字節(jié)列中的偶數(shù)號(hào)的字節(jié)構(gòu)成的第一部分列、和第 一字節(jié)列中的奇數(shù)號(hào)的字節(jié)構(gòu)成的第二部分列的各個(gè)部分列中的錯(cuò)誤;以及第二解碼器,根據(jù)第一部分列中的糾正的第一程度和第二部 分列中的糾正的第二程度的組合,糾正第二字節(jié)列。而且,本發(fā)明也可以作為參照對(duì)于構(gòu)成碼列的多個(gè)部分列的第一糾正的 結(jié)果,并且根據(jù)該糾正的程度的組合進(jìn)行第二糾正的裝置。這時(shí),本發(fā)明的 第二裝置用于糾正包含第一方向的第一碼列和第二方向的第二碼列的積碼塊 中的錯(cuò)誤,其中包括第一解碼器,糾正構(gòu)成第一碼列的多個(gè)部分列的每一 個(gè)中的錯(cuò)誤;以及第二解碼器,根據(jù)多個(gè)部分列的糾正程度的組合來(lái)糾正第 二碼列。而且,本發(fā)明也可以作為參照對(duì)于構(gòu)成碼列的多個(gè)部分列的糾正的結(jié)果, 根據(jù)該糾正的程度的組合判斷是否已誤糾正的方法。這時(shí),本發(fā)明的方法是 用于識(shí)別包含第一方向的第一碼列和第二方向的第二碼列的積碼塊中的錯(cuò)誤 的方法,該方法包括對(duì)構(gòu)成第一碼列的多個(gè)部分列的每一個(gè)中的錯(cuò)誤進(jìn)行 糾正的步驟;存儲(chǔ)多個(gè)部分列中的糾正程度的步驟;以及在對(duì)多個(gè)部分列中 的一個(gè)部分列存儲(chǔ)的糾正程度為規(guī)定的水平以上的情況下,通過(guò)參照對(duì)多個(gè) 部分列中的其它部分列存儲(chǔ)的糾正程度,判斷第一碼列是否已被誤糾正的步 驟。這里,也可以對(duì)判斷為已誤糾正的行進(jìn)行消失糾正。即,也可以構(gòu)成為 還包含在判斷出第一碼列已被誤糾正的情況下,將該第一碼列的位置設(shè)為消 失位置后,糾正第二碼列的步驟。另一方面,本發(fā)明也可以作為使計(jì)算機(jī)實(shí)現(xiàn)規(guī)定的功能的程序。這時(shí), 本發(fā)明的程序使計(jì)算機(jī)識(shí)別包含第 一方向的第 一碼列和第二方向的第二碼列 的積碼塊中的錯(cuò)誤,該程序使計(jì)算機(jī)執(zhí)行對(duì)構(gòu)成第一碼列的多個(gè)部分列的 每一個(gè)中的錯(cuò)誤進(jìn)行糾正的處理;以及在多個(gè)部分列中的一個(gè)部分列的糾正 程度為規(guī)定的水平以上的情況下,通過(guò)參照多個(gè)部分列中的其它部分列的糾 正程度,判斷第一碼列是否已被誤糾正的處理。發(fā)明效果按照本發(fā)明,即使對(duì)隨機(jī)誤差選擇高糾正能力,也可以不使對(duì)于超出檢 測(cè)能力的長(zhǎng)度的連續(xù)誤差的誤糾正的概率上升。
圖1是表示應(yīng)用了本發(fā)明的實(shí)施方式的磁帶驅(qū)動(dòng)器的整體結(jié)構(gòu)的方框圖。圖2是用于說(shuō)明從本發(fā)明的實(shí)施方式的磁帶讀出數(shù)據(jù)的樣子的圖。圖4是表示本發(fā)明的實(shí)施方式中的Cl糾正動(dòng)作的流程圖。 圖5是用于對(duì)本發(fā)明的實(shí)施方式的子數(shù)據(jù)組附加標(biāo)記進(jìn)行說(shuō)明的圖。 圖6是表示本發(fā)明的實(shí)施方式的C1糾正的結(jié)果和是否用C2糾正進(jìn)行消 失糾正的對(duì)應(yīng)的圖。圖7是表示本發(fā)明的實(shí)施方式的C2糾正的動(dòng)作的流程圖。圖8是表示對(duì)于連續(xù)誤差的誤糾正概率通過(guò)本實(shí)施方式被降低的曲線圖。圖9是表示通過(guò)本實(shí)施方式隨機(jī)誤差不能糾正發(fā)生的概率不被影響的曲線圖。標(biāo)號(hào)說(shuō)明10…磁帶驅(qū)動(dòng)器、11…磁帶盤、12…磁帶盤、13…磁帶、14…磁頭、15…讀 取通道、16…SRAM緩沖器、17…Cl解碼器、18…DRAM緩沖器、19…SRAM 緩沖器、20…C2解碼器、21…主機(jī)I/F具體實(shí)施方式
以下,參照附圖,詳細(xì)地說(shuō)明實(shí)施本發(fā)明的最佳實(shí)施方式(以下,稱為"實(shí) 施方式")。圖l是表示應(yīng)用本實(shí)施方式的磁帶驅(qū)動(dòng)器10的結(jié)構(gòu)的圖。該磁帶驅(qū)動(dòng)器 10由以下部件構(gòu)成巻繞在;茲帶盤11和12上的一才艮石茲帶13;石茲頭14;讀 取通道15; SRAM緩沖器16; Cl解碼器17; DRAM緩沖器18; SRAM緩 沖器19; C2解碼器20;以及主機(jī)I/F (接口 ) 21。磁帶盤11和12被未圖示的電動(dòng)機(jī)驅(qū)動(dòng),可以使架設(shè)在它們之間的磁帶 13相對(duì)于;茲頭14相3十移動(dòng)。磁頭14是進(jìn)行對(duì)磁帶13的數(shù)據(jù)寫(xiě)入和來(lái)自磁帶13的數(shù)據(jù)讀出的機(jī)構(gòu)。而且,為了作圖的方便,僅圖示一個(gè)磁頭14,但是在例如是LTO第1代/第2代時(shí),則由8個(gè)寫(xiě)入》茲頭和8個(gè)讀出磁頭構(gòu)成。讀取通道15將》茲頭14讀取的數(shù)據(jù)送到SRAM緩沖器16。 SRAM緩沖器16是暫時(shí)存儲(chǔ)被送來(lái)的數(shù)據(jù)的緩沖存儲(chǔ)器。Cl解碼器17對(duì)存儲(chǔ)在SRAM緩沖器16中的數(shù)據(jù)進(jìn)行C1糾正。DRAM緩沖器18是將從SRAM緩沖器16傳送的數(shù)據(jù)作為后述的子數(shù)據(jù)組進(jìn)行存儲(chǔ)的存儲(chǔ)緩沖器。SRAM緩沖器19是為了取出被存儲(chǔ)在DRAM緩沖器18中的一部分?jǐn)?shù)據(jù)進(jìn)行C2糾正而暫時(shí)存儲(chǔ)的緩沖存儲(chǔ)器。C2解碼器20對(duì)SRAM緩沖器19中存儲(chǔ)的數(shù)據(jù)進(jìn)行C2糾正。主機(jī)I/F21將完成了 Cl糾正、C2糾正的數(shù)據(jù)對(duì)主機(jī)機(jī)器發(fā)送。接著,對(duì)本實(shí)施方式的^^帶驅(qū)動(dòng)器IO的動(dòng)作進(jìn)行說(shuō)明。首先,對(duì)從^磁帶13讀取數(shù)據(jù),將其存儲(chǔ)到DRAM緩沖器18為止的處理的流程進(jìn)行說(shuō)明。圖2表示LTO的第2代/第1代的磁帶格式。在該格式中,在磁帶上,在與磁頭0~7對(duì)應(yīng)的磁軌0~7中記錄CQ (Codeword Quad) 0 ~ 7,這構(gòu)成CQ組0。同樣,還記錄有CQ組1 ~ 63。這些CQ0-7被分別分為前半部分和后半部分。然后,CQi的前半部分 成為子數(shù)據(jù)組2i的第1行,CQi的后半部分成為子數(shù)據(jù)組(2i + 1 )的第1行 (i = 0, 1,, 7)。重復(fù)該處理,直至CQ組63。即,通過(guò)將從CQ組n得 到的規(guī)定的數(shù)據(jù)設(shè)為子數(shù)據(jù)組的第n行,形成64行構(gòu)成的16個(gè)子數(shù)據(jù)組。 這里,參照?qǐng)D3說(shuō)明子數(shù)據(jù)組的結(jié)構(gòu)。在LTO磁帶驅(qū)動(dòng)器中,糾錯(cuò)以子數(shù)據(jù)組為單位來(lái)進(jìn)行。即,這時(shí)的糾錯(cuò) 碼是行方向的Cl碼和列方向的C2碼構(gòu)成的積碼。而且,作為與LTO格式有 關(guān)的特征,舉出以下這一點(diǎn),即在C1碼中有偶數(shù)號(hào)的字節(jié)構(gòu)成的碼(以下稱為"偶數(shù)cr,)、和奇數(shù)號(hào)的字節(jié)構(gòu)成的碼(以下稱為"奇數(shù)cr,)這兩個(gè)。具體來(lái)說(shuō),子數(shù)據(jù)組在行方向上有480字節(jié),所以被分為240字節(jié)的偶 數(shù)C1和奇數(shù)C1。而且,在各C1碼中包含C1奇偶校驗(yàn)。Cl奇偶校驗(yàn)由于 在偶數(shù)C1和奇數(shù)C1中為12字節(jié),所以各奇偶校驗(yàn)為6字節(jié)。即,對(duì)于偶 數(shù)Cl,通過(guò)偶數(shù)號(hào)的字節(jié)構(gòu)成的Cl奇偶校驗(yàn)6字節(jié)進(jìn)行Cl糾正,對(duì)于奇數(shù)Cl,通過(guò)奇數(shù)號(hào)的字節(jié)構(gòu)成的Cl奇偶校驗(yàn)6字節(jié)進(jìn)行C1糾正。另一方面,子l丈據(jù)組在列方向上為64字節(jié),所以C2碼為64字節(jié)。而 且,在C2碼中包含IO字節(jié)的C2奇偶校驗(yàn)。接著,參照?qǐng)D4,對(duì)C1糾正的動(dòng)作進(jìn)行詳細(xì)的說(shuō)明。而且,這里,對(duì)圖 2的CQ0 ~ 7的例如前半部分的處理進(jìn)行說(shuō)明。首先,磁頭14在8磁道同時(shí)讀取8行的數(shù)據(jù),讀取通道15將該數(shù)據(jù)存 儲(chǔ)在SRAM緩沖器16中(步驟101 )。由此,開(kāi)始由Cl解碼器17進(jìn)行的Cl糾正的處理。在LTO的情況下,如上所述,由于在C1碼中有偶數(shù)C1和奇數(shù)Cl,所 以從8行的數(shù)據(jù)得到16個(gè)C1碼。因此,C1解碼器17計(jì)算這16個(gè)C1碼的 校驗(yàn)子(syndrome )(步驟102 )。接著,Cl解碼器17從Cl碼的校驗(yàn)子計(jì)算錯(cuò)誤位置和值,并且糾正被 存儲(chǔ)在SRAM緩沖器16中的Cl碼(步驟103)。然后,通過(guò)該糾正,判斷 是否C1碼的某些字節(jié)已被糾正(步驟104)。其結(jié)果,在未被糾正的情況下或者在1 -2字節(jié)被糾正的情況下("0-2 字節(jié)糾正,,的情況),原樣進(jìn)入步驟107。另一方面,在3字節(jié)已被糾正的情況 下("3字節(jié)糾正,,的情況),對(duì)該C1碼附加3字節(jié)糾正標(biāo)記(步驟105)。而 且,在不能糾正的情況下("不能糾正,,的情況),對(duì)該C1碼附加不能糾正標(biāo) 記(步驟106)。之后,Cl解碼器17判斷是否已處理了偶數(shù)Cl和奇數(shù)Cl的對(duì)(pair)(步 驟107),如果未處理,則重復(fù)步驟103 - 106的處理。由此,對(duì)于各個(gè)偶數(shù) Cl、奇數(shù)Cl,在成為了 3字節(jié)糾正或者不能糾正的情況下,附加表示該情況 的標(biāo)i己。參照?qǐng)D5說(shuō)明對(duì)這樣的子數(shù)據(jù)組的標(biāo)記的附加。如圖所示,在子數(shù)據(jù)組 中,設(shè)置有可以對(duì)每行附加四個(gè)標(biāo)記的存儲(chǔ)區(qū)域。這四個(gè)標(biāo)記,是偶數(shù)Cl 的不能糾正標(biāo)記和3字節(jié)糾正標(biāo)記、奇數(shù)C1的不能糾正標(biāo)記和3字節(jié)糾正標(biāo)記。這些標(biāo)記構(gòu)成為例如初始值為"o",在附加有關(guān)的標(biāo)記時(shí)值為"r。其次,再次返回圖4繼續(xù)說(shuō)明Cl糾正的動(dòng)作。在步驟107中,判斷為 已處理了偶數(shù)C1和奇數(shù)C1的對(duì)時(shí),將該處理后的一行的數(shù)據(jù)從SRAM緩沖 器16傳送到DRAM緩沖器18 (步驟108 )。然后,最后判斷在SRAM緩沖器16中是否已沒(méi)有未處理的Cl碼(步驟109)。其結(jié)果,如果有未處理的C1碼,則返回步驟103。另一方面,如果沒(méi) 有未處理的C1碼,則結(jié)束處理。而且,該圖4的動(dòng)作如上所述,設(shè)為對(duì)圖2的CQ0-7的前半部分的處 理,同樣的處理對(duì)CQO ~ 7的后半部分以及CQ組1 ~ 63進(jìn)行。由此,在DRAM 緩沖器18中進(jìn)行C1糾正,并且根據(jù)需要存儲(chǔ)被附加了標(biāo)記的子數(shù)據(jù)組。在以上的糾正中,在每行,對(duì)于偶數(shù)C1、奇數(shù)C1分別進(jìn)行糾正。然后, 偶數(shù)C1的糾正結(jié)果和奇數(shù)C1的糾正結(jié)果作為對(duì)連續(xù)誤差的糾正結(jié)果如果是 發(fā)生率高的組合時(shí),即使例如設(shè)為是可糾正,也判斷為誤糾正,并且在此后 敘述的C2糾正中進(jìn)行消失糾正。由此,可以降低對(duì)于連續(xù)誤差的誤糾正概率。在圖6中表示本實(shí)施方式的C1糾正的結(jié)果和在C2糾正中是否進(jìn)行消失 糾正的3于應(yīng)信息。當(dāng)然,如果偶數(shù)C1和奇數(shù)C1的任意一個(gè)都為不能糾正,則在C2糾正 中進(jìn)行消失糾正。此外,在本實(shí)施方式中,在偶數(shù)C1和奇數(shù)C1的其中一個(gè) 是3字節(jié)糾正的情況下,根據(jù)另 一 個(gè)的糾正結(jié)果來(lái)決定是否在C 2糾正中進(jìn)行 消失糾正。具體來(lái)說(shuō),考慮到在另一個(gè)是不能糾正或者3字節(jié)糾正的情況下,3字 節(jié)糾正為誤糾正的可能性高,在C2糾正中進(jìn)行消失糾正(施加斜線的部分)。 相反,如果同樣是3字節(jié)糾正,另一個(gè)是0-2字節(jié)糾正時(shí),考慮到是誤糾正 的可能性低,所以采用基于3字節(jié)糾正的糾正結(jié)果來(lái)進(jìn)行以后的處理。而且,雖然不是對(duì)應(yīng)信息中包含的內(nèi)容,但是作為參考在圖6的右欄外 表示了對(duì)于連續(xù)誤差的C1糾正結(jié)果的每個(gè)組合的發(fā)生率。即,本實(shí)施方式在 Cl糾正的結(jié)果的組合中,對(duì)于發(fā)生率為1%以上的情況,在C2糾正中進(jìn)行 消失糾正。以下,參照?qǐng)D7對(duì)這樣的C2糾正的動(dòng)作進(jìn)行說(shuō)明。首先,將圖5所示的子數(shù)據(jù)組的標(biāo)記部分從DRAM緩沖器18傳送到 SRAM緩沖器19 (步驟201)。由此,C2解碼器20存儲(chǔ)被附加了不能糾正標(biāo) 記的Cl碼的位置(消失位置)(步驟202 )。而且,存儲(chǔ)包含有被附加了 3字 節(jié)糾正標(biāo)記的Cl碼、和被附加了不能糾正或者3字節(jié)糾正標(biāo)記的Cl碼的行 的位置(消失位置)(步驟203 )。接著,將子數(shù)據(jù)組的數(shù)據(jù)部分從DRAM緩沖器18傳送到SRAM緩沖器 19(步驟204)。由于SRAM緩沖器19與DRAM緩沖器18相比容量少,所以子數(shù)據(jù)組的數(shù)據(jù)部分被分為幾列而傳送到SRAM緩沖器19, C2解碼器20 對(duì)存儲(chǔ)在SRAM緩沖器19中的某幾列的每一列進(jìn)行步驟205 ~ 209的處理。即,首先,C2解碼器20計(jì)算C2碼的校驗(yàn)子(步驟205 )。而且,在步 驟202或者203中判斷在是否存儲(chǔ)了消失位置(步驟206 )。其結(jié)果,在判斷出已存儲(chǔ)了消失位置的情況下,根據(jù)消失位置和校驗(yàn)子 計(jì)算錯(cuò)誤位置和值,并且糾正SRAM緩沖器19中存儲(chǔ)的C2碼(步驟207)。 更詳細(xì)地說(shuō),從消失位置求消失位置多項(xiàng)式,根據(jù)該消失位置多項(xiàng)式和校驗(yàn) 子計(jì)算錯(cuò)誤位置和值,并糾正C2碼。另一方面,在判斷為未存儲(chǔ)消失位置的 情況下,根據(jù)校驗(yàn)子計(jì)算錯(cuò)誤位置和值,并且糾正存儲(chǔ)在SRAM緩沖器19 中的C2碼(步驟208)。即,在消失位置存在的情況下,進(jìn)行不僅隨機(jī)誤差而且連續(xù)誤差也進(jìn)入 視野的糾錯(cuò),在沒(méi)有消失位置的情況下,進(jìn)行僅隨機(jī)誤差進(jìn)入視野的糾錯(cuò)。 而且,雖然未圖示,但是,這里在判斷為不能糾正的情況下,不進(jìn)行糾正而 對(duì)磁帶驅(qū)動(dòng)器10的未圖示的控制單元報(bào)告錯(cuò)誤。之后,在控制單元的控制下, 磁帶驅(qū)動(dòng)器IO進(jìn)行錯(cuò)誤恢復(fù)處理,如果不能恢復(fù),則對(duì)主機(jī)機(jī)器報(bào)告錯(cuò)誤。接著,C2解碼器20判斷在SRAM緩沖器19內(nèi)是否已沒(méi)有未處理的C2 碼(步驟209)。其結(jié)果,如果有未處理的C2碼,則返回步驟205。另一方面, 如果沒(méi)有未處理的C2碼,則將處理完的C2碼從SRAM緩沖器19寫(xiě)回至 DRAM緩沖器18 (步驟210)。然后,判斷在DRAM緩沖器18內(nèi)是否還有未處理的C2碼(步驟211)。 其結(jié)果,如果還有未處理的C2碼,則返回步驟204。另一方面,如果沒(méi)有未 處理的C2碼,則結(jié)束處理。然后,最后,DRAM緩沖器18內(nèi)的數(shù)據(jù)經(jīng)由主機(jī)I/F21被發(fā)送到主機(jī)機(jī)器。通過(guò)以上處理,本實(shí)施方式的動(dòng)作結(jié)束。而且,在本實(shí)施方式中,設(shè)為對(duì)行方向的Cl碼進(jìn)行C1糾正,然后對(duì)列 方向的C2碼進(jìn)行C2糾正,但是不限于這樣的結(jié)構(gòu)。即,作為第一糾正的對(duì) 象的碼列、和作為第二糾正對(duì)象的碼列不一定是行方向、列方向,任何方向 都可以。而且,在本實(shí)施方式中,由于以最小代碼間距dmin-7為前提,所以作 為糾正結(jié)果,考慮"0-2字節(jié)糾正"、"3字節(jié)糾正"、"不能糾正",進(jìn)行了按照?qǐng)D6所示的對(duì)應(yīng)關(guān)系的動(dòng)作,但是不限于此。即,在對(duì)于成對(duì)的碼列的糾正 的程度為規(guī)定水平以上或者不能糾正的情況下,可以將規(guī)定水平以上的糾正 作為誤糾正來(lái)處理。進(jìn)而,在本實(shí)施方式中,將一個(gè)碼列按照偶數(shù)號(hào)、奇數(shù)號(hào)的基準(zhǔn)分為兩 個(gè)部分,分別對(duì)它們進(jìn)行了第一糾正。但是,不一定需要按照偶數(shù)號(hào)和奇數(shù) 號(hào)的基準(zhǔn)分為兩個(gè)部分列,而且,部分列的數(shù)量也不限于兩個(gè)。即,也可以 是以下結(jié)構(gòu),即將一個(gè)碼列分為多個(gè)部分列,分別對(duì)這些多個(gè)部分列進(jìn)行第 一糾正,根據(jù)該糾正的結(jié)果的組合進(jìn)行第二糾正。如上所述,在本實(shí)施方式中,通過(guò)參照成對(duì)的兩個(gè)Cl糾正的結(jié)果,判斷是否為誤糾正。然后,對(duì)該判斷結(jié)果中為誤糾正的行,在C2糾正中進(jìn)行消失糾正。由此,即使對(duì)隨機(jī)誤差選擇高糾正能力,也可以不使對(duì)于連續(xù)誤差 的誤糾正的概率上升。接著,利用曲線說(shuō)明本發(fā)明的效果。圖8是表示連續(xù)誤差的發(fā)生率和C2糾正中的誤糾正概率的關(guān)系的曲線圖。在圖8(a)中,表示采用了以往的方式的情況。由該曲線可知,與在 Cl糾正中進(jìn)行2字節(jié)糾正的情況相比,進(jìn)行3字節(jié)糾正時(shí)在C2糾正中產(chǎn)生 誤糾正的概率高。另一方面,在圖8(b)中,表示采用了本發(fā)明的方式的情況??芍?Cl糾正中進(jìn)行3字節(jié)糾正時(shí)的誤糾正概率與進(jìn)行2字節(jié)糾正時(shí)的無(wú)糾正概率 相比稍微上升,但是它們基本相等。而且,圖9是表示隨機(jī)誤差發(fā)生率和不能糾正的發(fā)生率的關(guān)系的曲線圖。在圖9(a)中,表示與進(jìn)行了 2字節(jié)糾正的情況相比,進(jìn)行了3字節(jié)糾 正時(shí),降低了不能糾正發(fā)生的概率。另一方面,在圖9(b)中,表示即使如本發(fā)明那樣在一定條件下對(duì)3字 節(jié)糾正進(jìn)行了消失糾正,對(duì)于隨機(jī)誤差的不能糾正的發(fā)生率的降低效果也相 同。
權(quán)利要求
1、一種裝置,用于糾正包含第一方向的第一字節(jié)列和第二方向的第二字節(jié)列的積碼塊中的錯(cuò)誤,其中包括第一解碼器,糾正所述第一字節(jié)列中的偶數(shù)號(hào)的字節(jié)構(gòu)成的第一部分列、和所述第一字節(jié)列中的奇數(shù)號(hào)的字節(jié)構(gòu)成的第二部分列的各個(gè)部分列中的錯(cuò)誤;以及第二解碼器,根據(jù)所述第一部分列中的糾正的第一程度和所述第二部分列中的糾正的第二程度的組合,糾正所述第二字節(jié)列。
2、 如權(quán)利要求l所述的裝置,在所述第一程度和所述第二程度中, 一個(gè)在規(guī)定的水平以上,另一個(gè)不 能糾正的情況下,所述第二解碼器在將所述第一字節(jié)列的位置設(shè)為消失位置 后,糾正所述第二字節(jié)列。
3、 如權(quán)利要求2所述的裝置,所述第一字節(jié)列的最小代碼間距為7,所述規(guī)定的水平為3字節(jié)糾正。
4、 如權(quán)利要求1所述的裝置,在所述第一程度和所述第二程度中, 一個(gè)在第一水平以上,另一個(gè)在第 二水平以上的情況下,所述第二解碼器在將所述第一字節(jié)列的位置設(shè)為消失 位置后,糾正所述第二字節(jié)列。
5、 如權(quán)利要求4所述的裝置,所述第一字節(jié)列的最小代碼間距為7,所述第一水平和所述第二水平的 任意一個(gè)都為3字節(jié)糾正。
6、 如權(quán)利要求l所述的裝置,還包括 ^f茲頭,讀出被記錄在帶介質(zhì)上的數(shù)據(jù);以及讀取通道,通過(guò)將由所述磁頭讀出的數(shù)據(jù)配置在存儲(chǔ)器上的規(guī)定的位置, 生成所述積碼塊。
7、 一種裝置,用于糾正包含第一方向的第一碼列和第二方向的第二碼列 的積碼塊中的錯(cuò)誤,其中包括第一解碼器,糾正構(gòu)成所述第一碼列的多個(gè)部分列的每一個(gè)中的錯(cuò)誤;以及第二解碼器,根據(jù)所述多個(gè)部分列的糾正程度的組合來(lái)糾正所述第二碼列。
8、 如權(quán)利要求7所述的裝置,在所述多個(gè)部分列中的一個(gè)部分列的糾正程度為規(guī)定的水平以上時(shí),如 果其它部分列的糾正程度為不能糾正,則所述第二解碼器在將所述第 一碼列 的位置設(shè)為消失位置后,糾正所述第二碼列。
9、 如權(quán)利要求7所述的裝置,在所述多個(gè)部分列中的一個(gè)部分列的糾正程度為規(guī)定的水平以上時(shí),如 果其它部分列的糾正程度也為該水平以上,則所述第二解碼器在將所述第一 碼列的位置設(shè)為消失位置后,糾正所述第二碼列。
10、 如權(quán)利要求7所述的裝置,所述多個(gè)部分列的每一個(gè)通過(guò)收集被分散在所述第 一碼列中的片斷而構(gòu)成。
11、 一種方法,用于識(shí)別包含第一方向的第一碼列和第二方向的第二碼 列的積碼塊中的誤糾正,該方法包括對(duì)構(gòu)成所述第一碼列的多個(gè)部分列的每一個(gè)中的錯(cuò)誤進(jìn)行 糾正的步驟;存儲(chǔ)所述多個(gè)部分列中的糾正程度的步驟;以及在對(duì)所述多個(gè)部分列中的一個(gè)部分列存儲(chǔ)的糾正程度為規(guī)定的水平以上 的情況下,通過(guò)參照對(duì)所述多個(gè)部分列中的其它部分列存儲(chǔ)的糾正程度,判 斷所述第一碼列是否已被誤糾正的步驟。
12、 如權(quán)利要求11所述的方法,在所述判斷的步驟中,在對(duì)所述其它部分列存儲(chǔ)的糾正程度為不能糾正 的情況下,判斷為所述第一碼列已被誤糾正。
13、 如權(quán)利要求11所述的方法,在所述判斷的步驟中,在對(duì)所述其它部分列存儲(chǔ)的糾正程度為所述規(guī)定 的水平以上的情況下,判斷為所述第一碼列已被誤糾正。
14、 如;f又利要求11所述的方法,所述多個(gè)部分列的每一個(gè)通過(guò)收集被分散在所述第一碼列中的片斷而構(gòu)成。
15、 如權(quán)利要求11所述的方法,還包括在判斷為所述第一碼列已被誤糾正的情況下,在將該第一碼列的位置設(shè) 為消失位置后,糾正所述第二碼列的步驟。
16、 一種程序,使計(jì)算機(jī)識(shí)別包含第一方向的第一碼列和第二方向的第 二碼列的積碼塊中的錯(cuò)誤,該程序使計(jì)算機(jī)執(zhí)行對(duì)構(gòu)成所述第 一碼列的多個(gè)部分列的每一個(gè)中的錯(cuò)誤進(jìn)行糾正的處理;以及在所述多個(gè)部分列中的一個(gè)部分列的糾正程度為規(guī)定的水平以上的情況 下,通過(guò)參照所述多個(gè)部分列中的其它部分列的糾正程度,判斷所述第一碼 列是否已被誤糾正的處理。
17、 如權(quán)利要求16所述的程序,在所述判斷的處理中,在所述其它部分列的糾正程度為不能糾正的情況 下,判斷為所述第一碼列已被誤糾正。
18、 如權(quán)利要求16所述的程序,在所述判斷的處理中,在所述其它部分列的糾正程度為所述規(guī)定的水平 以上的情況下,判斷為所述第一碼列已被誤糾正。
19、 如權(quán)利要求16所述的程序,所述多個(gè)部分列的每一個(gè)通過(guò)收集被分散在所述第一碼列中的片斷而構(gòu)成。
20、 如權(quán)利要求16所述的程序,還使計(jì)算機(jī)執(zhí)行 在判斷為所述第一碼列已被誤糾正的情況下,在將該第一碼列的位置設(shè)為消失位置后,糾正所述第二碼列的處理。
全文摘要
本發(fā)明即使對(duì)隨機(jī)誤差選擇高糾正能力,也不會(huì)使對(duì)于超過(guò)檢測(cè)能力的長(zhǎng)度的連續(xù)誤差的誤糾正的概率上升。本發(fā)明提供用于對(duì)行方向的C1碼和列方向的C2碼構(gòu)成的積碼塊的錯(cuò)誤進(jìn)行糾正的裝置。首先,C1解碼器對(duì)C1碼中的偶數(shù)號(hào)的字節(jié)構(gòu)成的偶數(shù)C1、和C1碼中的奇數(shù)號(hào)的字節(jié)構(gòu)成的奇數(shù)C1的每一個(gè)進(jìn)行C1糾正。例如,在設(shè)C1碼的最小代碼間距為7時(shí),C1糾正被進(jìn)行直至3字節(jié)。接著,C2解碼器在對(duì)于偶數(shù)C1和奇數(shù)C1的C1糾正的結(jié)果的任意一個(gè)為不能糾正的情況下,在一個(gè)為3字節(jié)糾正而另一個(gè)為不能糾正或者3字節(jié)糾正的情況下,在C2糾正中進(jìn)行消失糾正。
文檔編號(hào)G11B20/18GK101228583SQ20068001647
公開(kāi)日2008年7月23日 申請(qǐng)日期2006年6月8日 優(yōu)先權(quán)日2005年6月10日
發(fā)明者田中啟介 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司