本實(shí)施方式通常涉及一種存儲(chǔ)控制器、存儲(chǔ)裝置以及數(shù)據(jù)寫入方法。
背景技術(shù):
以往,有時(shí)在寫入于磁盤的數(shù)據(jù)包含0或1的連續(xù)模式(patten)、0101…這種反復(fù)模式。在該情況下,在再現(xiàn)時(shí)難以取得同步或信號(hào)質(zhì)量會(huì)下降而難以再現(xiàn)原記錄數(shù)據(jù)。
因此,近年來,提出了一種技術(shù),即在記錄于磁盤時(shí)使用RLL碼、MTR碼這種調(diào)制碼,限制連續(xù)模式的長(zhǎng)度(行程長(zhǎng)度(run length))、反復(fù)模式的次數(shù)(磁化反轉(zhuǎn)次數(shù))。
然而,在使用調(diào)制碼進(jìn)行編碼的情況下,有時(shí)冗余度增加而格式化效率會(huì)下降。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的實(shí)施方式提供一種能夠抑制格式化效率下降的存儲(chǔ)控制器、存儲(chǔ)裝置以及數(shù)據(jù)寫入方法。
實(shí)施方式的存儲(chǔ)控制器具備控制部和接口??刂撇吭谧鳛橐獙懭氲酱疟P的數(shù)據(jù)而輸入的寫入數(shù)據(jù)包含具有預(yù)定模式的第一模式的位串的情況下,使該位串中的任意的一個(gè)以上的位值反轉(zhuǎn)。寫入數(shù)據(jù)包含用于數(shù)據(jù)糾錯(cuò)的冗余碼。接口輸出由上述控制部反轉(zhuǎn)該位值而得到的寫入數(shù)據(jù)。
附圖說明
圖1是表示實(shí)施方式的磁盤裝置的硬件結(jié)構(gòu)的圖。
圖2是例示實(shí)施方式的磁盤裝置中的寫入時(shí)利用的結(jié)構(gòu)的圖。
圖3是例示實(shí)施方式的加工設(shè)定存儲(chǔ)部的表結(jié)構(gòu)的圖。
圖4是例示實(shí)施方式的通知設(shè)定存儲(chǔ)部的表結(jié)構(gòu)的圖。
圖5是例示實(shí)施方式的磁盤裝置中的讀取時(shí)利用的結(jié)構(gòu)的圖。
圖6是表示實(shí)施方式的磁盤裝置中的寫入處理的過程的流程圖。
圖7是表示實(shí)施方式的磁盤裝置中的讀出處理的過程的流程圖。
具體實(shí)施方式
以下,參照附圖詳細(xì)說明實(shí)施方式所涉及的存儲(chǔ)控制器、存儲(chǔ)裝置以及數(shù)據(jù)寫入方法。此外,本發(fā)明并不限定于本實(shí)施方式。
(第一實(shí)施方式)
圖1是表示本實(shí)施方式的磁盤裝置1的硬件結(jié)構(gòu)的圖。磁盤裝置1具備盤件(enclosure)1a和電路基板1b。
盤件1a具備殼體11、磁盤12、主軸13、SPM(主軸馬達(dá))14、磁頭15、滑塊16、懸架17、致動(dòng)臂18、VCM(音圈馬達(dá))19以及頭IC(integrated chip:集成芯片)20。另外,電路基板1b具備馬達(dá)驅(qū)動(dòng)器IC 21和作為存儲(chǔ)控制器的一例的SoC(system-on-a-chip:系統(tǒng)級(jí)芯片)22。此外,在圖1中,為了使說明簡(jiǎn)單,頭IC 20配置于殼體11外部,但是,實(shí)際上頭IC20配置于致動(dòng)臂18的預(yù)定部位。
磁盤12為記錄各種信息的圓盤狀記錄介質(zhì),構(gòu)成為能夠以PMR(perpendicular magnetic recording)方式(垂直磁記錄方式)進(jìn)行寫入。磁盤12具有記錄層,該記錄層在與磁盤12的介質(zhì)面大致垂直的方向上具有磁各向異性。而且,磁記錄層的磁性體通過由磁頭15施加的磁場(chǎng),在相對(duì)于磁盤12表面(介質(zhì)面)大致向垂直的方向上被磁化。另外,磁盤12的磁記錄層使用常溫下具有高矯頑力的記錄層。
磁盤12經(jīng)由主軸13以可旋轉(zhuǎn)的方式固定于殼體11。SPM 14通過使主軸具有旋轉(zhuǎn)力,使磁盤12間接地旋轉(zhuǎn)。
磁頭15構(gòu)成為對(duì)磁盤12進(jìn)行信號(hào)和/或數(shù)據(jù)的讀寫。磁頭15設(shè)置于 接受因磁盤12的旋轉(zhuǎn)而產(chǎn)生的氣流而浮在磁盤12上的滑塊16的長(zhǎng)度方向的端部?;瑝K16經(jīng)由允許該浮起的懸架17與致動(dòng)臂18相連接。致動(dòng)臂18通過VCM 19而在沿著磁盤12的記錄面的方向上滑動(dòng)。由此,磁頭15能夠?qū)Υ疟P12的任意處進(jìn)行信號(hào)和/或數(shù)據(jù)的讀寫。
頭IC 20與磁頭15和SoC 22電連接。頭IC 20對(duì)使用磁頭15從磁盤12讀取的信號(hào)和/或數(shù)據(jù)進(jìn)行放大,并輸出到SoC 22。另外,頭IC 20將基于從SoC 22輸出的信號(hào)和/或數(shù)據(jù)的電流輸出到磁頭15。
馬達(dá)驅(qū)動(dòng)器IC 21與SPM 14、VCM 19、SoC 22相連接。馬達(dá)驅(qū)動(dòng)器IC 21根據(jù)來自SoC 22的控制信號(hào)控制SPM 14和VCM 19,控制磁頭15相對(duì)于磁盤12的定位。
SoC 22具備CPU(central processing unit:中央處理單元)121、RAM(random access memory:隨機(jī)存取存儲(chǔ)器)122、ROM(read only memory:只讀存儲(chǔ)器)123、RWC(read write channel:讀寫通道)124以及HDC(hard disc controller:硬盤控制器)125。此外,在本實(shí)施方式中,說明了將RAM 122和ROM 123設(shè)置于SoC 22內(nèi)部的示例,但是也可以將RAM 122和ROM 123中任一個(gè)或兩者設(shè)置于SoC 22外部。
CPU 121與馬達(dá)驅(qū)動(dòng)器IC 21、RAM 122、ROM 123、RWC 124以及HDC 125相連接。CPU 121執(zhí)行用于進(jìn)行各種設(shè)定、寫入、讀出指示等的固件程序。CPU 121控制磁盤裝置1各部的動(dòng)作。具體地說,CPU 121依次讀出存儲(chǔ)在ROM 123中的固件程序、各種應(yīng)用程序并執(zhí)行,由此控制磁盤裝置1各部的動(dòng)作。
ROM 123為不供給電源也保持存儲(chǔ)的非易失性存儲(chǔ)器,例如設(shè)為快閃存儲(chǔ)器等。而且,ROM 123存儲(chǔ)固件程序和/或各種應(yīng)用程序、這些程序執(zhí)行所需的各種數(shù)據(jù)。
RAM 122作為磁盤裝置1的主存儲(chǔ)器,提供CPU 121執(zhí)行固件程序和/或應(yīng)用程序時(shí)的作業(yè)區(qū)域。
RWC 124與CPU 121、HDC 125以及頭IC 20相連接。RWC 124對(duì)從HDC 125輸出的數(shù)據(jù)實(shí)施預(yù)定的信號(hào)處理,并將其輸出到頭IC 20。另 外,RWC 124將CPU 121所生成的測(cè)試信號(hào)向頭IC 20輸出。另外,RWC124生成寫入選通(gate)信號(hào)并輸出到頭IC 20。另外,RWC 124對(duì)從頭IC 20輸出的信號(hào)、數(shù)據(jù)實(shí)施預(yù)定的信號(hào)處理,并將其輸出到HDC 125和/或CPU 121。
HDC 125與CPU 121、RWC 124以及未圖示的主機(jī)相連接。HDC 125構(gòu)成與主機(jī)的接口,將從主機(jī)接收到的數(shù)據(jù)輸出到RWC 124,另外,將從RWC 124接收到的數(shù)據(jù)向主機(jī)輸出。
本實(shí)施方式的磁盤裝置1在將寫入數(shù)據(jù)寫入于磁盤12時(shí),在該寫入數(shù)據(jù)包含0或1的連續(xù)模式、0101這種反復(fù)模式的情況下,使該模式內(nèi)的一部分位反轉(zhuǎn)。由此,抑制行程長(zhǎng)度(RUN-LENGTH)變長(zhǎng),同時(shí)控制磁化反轉(zhuǎn)次數(shù)。
另外,以往,作為進(jìn)行編碼以使得連續(xù)的0成為一定數(shù)量以下的磁記錄調(diào)制方式,提出了RLL編碼(Run-Length Limited coding:行程長(zhǎng)度受限編碼)方式、MTR(Maximum Transition Run:最大轉(zhuǎn)換行程)編碼方式。然而,在這種以往方法中,寫入數(shù)據(jù)會(huì)增加冗余部,因此格式化效率會(huì)下降。因此,在本實(shí)施方式中,提出在抑制冗余部增加的同時(shí)抑制0或1的連續(xù)模式、0101這種反復(fù)模式的方法。
圖2是例示本實(shí)施方式的磁盤裝置1中的寫入時(shí)利用的結(jié)構(gòu)的圖。如圖2所示,在寫入數(shù)據(jù)時(shí),至少使用CPU 121、ROM 123、HDC 125以及RWC 124。
HDC 125具備DRAM 211、用戶數(shù)據(jù)序列加工部212、數(shù)據(jù)選擇器213以及存儲(chǔ)部215。
DRAM 211暫時(shí)存儲(chǔ)從主計(jì)算機(jī)發(fā)送來的數(shù)據(jù)序列(以下,稱為用戶數(shù)據(jù)序列)。本實(shí)施方式的DRAM 211暫時(shí)存儲(chǔ)從主計(jì)算機(jī)發(fā)送來的數(shù)據(jù)序列,由此能夠?qū)崿F(xiàn)向磁盤12的寫入的重試。
用戶數(shù)據(jù)序列加工部212對(duì)用戶數(shù)據(jù)序列進(jìn)行加工處理。例如在寫入時(shí)發(fā)生了錯(cuò)誤、因而進(jìn)行重試時(shí),用戶數(shù)據(jù)序列加工部212從DRAM 211讀出用戶數(shù)據(jù)序列,對(duì)該用戶數(shù)據(jù)序列進(jìn)行加工處理。通過該加工處理, 在重試時(shí)的寫入中對(duì)錯(cuò)誤進(jìn)行抑制。
數(shù)據(jù)選擇器213按照來自CPU 121的指示,選擇輸出到RWC 124的ECC編碼部227的用戶數(shù)據(jù)序列。例如,數(shù)據(jù)選擇器213在進(jìn)行寫入重試的情況下,選擇從用戶數(shù)據(jù)序列加工部212輸出的用戶數(shù)據(jù)序列。在除此以外的情況下,換言之在通常情況下,數(shù)據(jù)選擇器213選擇從DRAM 211讀出的用戶數(shù)據(jù)序列。
存儲(chǔ)部215具備日志存儲(chǔ)部127。本實(shí)施方式的存儲(chǔ)部215可以由F/F(觸發(fā)器(flip-flop))構(gòu)成,也可以使用可讀寫的存儲(chǔ)介質(zhì)。
日志存儲(chǔ)部127按照來自CPU 121的指示,存儲(chǔ)基于檢測(cè)通知等的日志。例如存儲(chǔ)寫入數(shù)據(jù)序列中的模式檢測(cè)的有無、和/或檢測(cè)該模式時(shí)的設(shè)定等。
RWC 124具備第1模式檢測(cè)部221_1、第2模式檢測(cè)部221_2、…、第n模式檢測(cè)部221_N、第1檢測(cè)用與(AND)電路224_1、第2檢測(cè)用與電路224_2、…、第N檢測(cè)用與電路224_N、第1通知用與(AND)電路222_1、第二通知用與電路222_2、…、第N通知用與電路222_N、第1模式通知選擇器223_1、第2模式通知選擇器223_2、…、第N模式通知選擇器223_N、寫入序列加工部225、ECC編碼部227以及接口部226。此外,將N設(shè)為表示本實(shí)施方式中要加工的模式的數(shù)量的數(shù)值。
在本實(shí)施方式中,作為進(jìn)行各種處理的結(jié)構(gòu),具有包含第1模式檢測(cè)部221_1、第2模式檢測(cè)部221_2、…、第n模式檢測(cè)部221_N、第1檢測(cè)用與電路224_1、第1檢測(cè)用與電路224_2、…、第N檢測(cè)用與電路224_N、第1通知用與電路222_1、第2通知用與電路222_2、…、第N通知用與電路222_N、第1模式通知選擇器223_1、第2模式通知選擇器223_2、…、第N模式通知選擇器223_N、寫入序列加工部225、ECC編碼部227的控制部250。并且,本實(shí)施方式具有接口部226,該接口部226用于輸出控制部250所生成的信息和/或?qū)⑿畔⑤斎氲娇刂撇?50。
ECC編碼部227將用戶數(shù)據(jù)序列變換為用于在讀出時(shí)進(jìn)行糾錯(cuò)的碼字(code word)。本實(shí)施方式為作為糾錯(cuò)碼使用低密度奇偶校驗(yàn)碼 (low-density parity-check code)的示例,但是也可以使用其它方法。在本實(shí)施方式中,將從ECC編碼部227輸出的數(shù)據(jù)序列稱為寫數(shù)據(jù)序列。
在一般錯(cuò)誤檢測(cè)校正中,對(duì)k單位長(zhǎng)度(k位)的碼字附加冗余碼(m位),變換為k+m單位長(zhǎng)度的碼字。而且,能夠使用該冗余性進(jìn)行糾錯(cuò)。
本實(shí)施方式的寫數(shù)據(jù)序列也通過由ECC編碼部227進(jìn)行的向碼字的變換處理而包含冗余部,因此能夠進(jìn)行錯(cuò)誤檢測(cè)校正。
第1模式檢測(cè)部221_1、第2模式檢測(cè)部221_2、…以及第N模式檢測(cè)部221_N檢測(cè)寫數(shù)據(jù)序列是否包含按每個(gè)檢測(cè)部而預(yù)先確定的位串的模式。
例如,第1模式檢測(cè)部221_1作為預(yù)先確定的位串而檢測(cè)‘0’的連續(xù)模式。作為其它例,第2模式檢測(cè)部221_2作為預(yù)先確定的位串而檢測(cè)‘1’的連續(xù)模式。作為其它例,第N模式檢測(cè)部221_N作為預(yù)先確定的位串而檢測(cè)0101…這種反復(fù)模式。這樣,在本實(shí)施方式中,按每個(gè)模式檢測(cè)部而預(yù)先設(shè)定成為檢測(cè)對(duì)象的位串。
例如,第1模式檢測(cè)部221_1和第2模式檢測(cè)部221_2按每16位而檢測(cè)是否為連續(xù)模式。作為其它例,第N模式檢測(cè)部221_N每10位而檢測(cè)是否為反復(fù)模式。這樣,各模式檢測(cè)部對(duì)與成為檢測(cè)對(duì)象的模式相應(yīng)的每個(gè)位串進(jìn)行檢測(cè)。
而且,第1模式檢測(cè)部221_1輸出表示檢測(cè)結(jié)果的第1模式檢測(cè)信號(hào)。例如,第1模式檢測(cè)部221_1在判斷為包含連續(xù)模式的情況下,輸出第1模式檢測(cè)信號(hào)‘1’。第1模式檢測(cè)部221_1在判斷為不含連續(xù)模式的情況下,輸出第一模式檢測(cè)信號(hào)‘0’。將第1模式檢測(cè)信號(hào)輸出到第1通知用與電路222_1和第1檢測(cè)用與電路224_1。
同樣地,第2模式檢測(cè)部221_2作為連續(xù)模式的判斷結(jié)果,輸出‘0’或‘1’所示的第2模式檢測(cè)信號(hào)。將第2模式檢測(cè)信號(hào)輸出到第2通知用與電路222_2和第2檢測(cè)用與電路224_2。
第n模式檢測(cè)部221_N也作為反復(fù)模式的判斷結(jié)果,輸出‘0’或‘1’所示的第N模式檢測(cè)信號(hào)。將第N模式檢測(cè)信號(hào)輸出到第N通知用與電 路222_N和第N檢測(cè)用與電路224_N。此外,作為其它模式檢測(cè)部也進(jìn)行同樣處理而省略說明。
將第1檢測(cè)用與(AND)電路224_1設(shè)為取得第1模式檢測(cè)信號(hào)和第1模式加工使能信號(hào)的與的電路。第1模式加工使能信號(hào)設(shè)為從CPU 121輸出的信號(hào)。該第1模式加工使能信號(hào)表示是否對(duì)第1模式檢測(cè)部221_1檢測(cè)出的模式的位串進(jìn)行加工。第1模式加工使能信號(hào)在進(jìn)行位串加工的情況下設(shè)定為‘1’,在不進(jìn)行位串加工的情況下設(shè)定為‘0’。在本實(shí)施方式中,說明從CPU 121直接輸出模式加工使能信號(hào)(例如第1模式加工使能信號(hào))的示例,但是并不限定于從CPU 121直接輸出的方法,例如也可以經(jīng)由RWC 124內(nèi)部的(未圖示的)寄存器來輸出。
而且,第1檢測(cè)用與電路224_1在第1模式檢測(cè)信號(hào)‘1’和第1模式加工使能信號(hào)‘1’的情況下,輸出包含表示要加工的意思的‘1’的第1加工指示信號(hào)。第1檢測(cè)用與電路224_1在第1模式檢測(cè)信號(hào)和第1模式加工使能信號(hào)為除此以外的組合的情況下,輸出包含表示不加工的意思的‘0’的第1加工指示信號(hào)。
另外,作為第2檢測(cè)用與電路224_2、…以及第N檢測(cè)用與電路224_N進(jìn)行與第1檢測(cè)用與電路224_1同樣的處理而省略說明。此外,第2檢測(cè)用與電路224_2輸出第2加工指示信號(hào),第N檢測(cè)用與電路224_N輸出第N加工指示信號(hào)。
寫入序列加工部225按照第1檢測(cè)用與電路224_1~第N檢測(cè)用與電路224_N的加工指示信號(hào),對(duì)從ECC編碼部227輸入的寫數(shù)據(jù)序列內(nèi)包含的位串進(jìn)行加工處理。
本實(shí)施方式的寫入序列加工部225在按照加工指示信號(hào)識(shí)別出包含預(yù)先確定的模式的位串的情況下,使該位串中的任一位反轉(zhuǎn)。另外,也可以使反轉(zhuǎn)的位的位置根據(jù)檢測(cè)出的每個(gè)模式不同而不同。另外,寫入序列加工部225將包含反轉(zhuǎn)的位的寫入數(shù)據(jù)輸出到頭IC 20。此外,在本實(shí)施方式中,進(jìn)行1位反轉(zhuǎn),但是也可以使多個(gè)位反轉(zhuǎn)。
例如,寫入序列加工部225在被輸入第1加工指示信號(hào)‘1’的情況下, 使寫數(shù)據(jù)序列內(nèi)包含的(第1模式檢測(cè)部221_1檢測(cè)出的)‘0’的連續(xù)模式的位串中的任一位反轉(zhuǎn)為‘1’。在本實(shí)施方式中,設(shè)為預(yù)先確定了該位串(16位)中的要反轉(zhuǎn)的位的位置。
通過寫入序列加工部225的加工處理,使‘0’或‘1’的連續(xù)模式的位串、0101…這種反復(fù)模式的位串內(nèi)包含的位反轉(zhuǎn)。由此,抑制寫入數(shù)據(jù)序列內(nèi)包含的連續(xù)模式和/或反復(fù)模式。
也就是說,以往,在從磁盤讀出數(shù)據(jù)時(shí),在記錄數(shù)據(jù)包含0或1的連續(xù)模式、0101…這種反復(fù)模式的情況下,在再現(xiàn)時(shí)難以取得同步或信號(hào)質(zhì)量會(huì)變差,從而難以再現(xiàn)原記錄數(shù)據(jù)。因此,在記錄于磁盤時(shí),根據(jù)RLL碼、MTR碼這種調(diào)制碼,限制連續(xù)模式的長(zhǎng)度(行程長(zhǎng)度RUN-LENGTH)和/或反復(fù)模式的次數(shù)(磁化反轉(zhuǎn)次數(shù))。然而,當(dāng)根據(jù)調(diào)制碼進(jìn)行編碼時(shí),冗余部增加而格式化效率會(huì)下降。因此,在本實(shí)施方式中,在寫入數(shù)據(jù)序列包含連續(xù)模式和/或反復(fù)模式的情況下,進(jìn)行使位反轉(zhuǎn)的加工處理。
使寫數(shù)據(jù)序列的位反轉(zhuǎn)意味著包含了位錯(cuò)誤。然而,本實(shí)施方式的寫數(shù)據(jù)序列包含用于實(shí)現(xiàn)錯(cuò)誤檢測(cè)校正的冗余性(冗余部)。因此,在讀出該數(shù)據(jù)時(shí),能夠進(jìn)行錯(cuò)誤檢測(cè)校正。
接口部226在其與頭IC 20之間進(jìn)行信息的發(fā)送接收。例如,接口部226將由寫入序列加工部225加工過的(換言之,位值反轉(zhuǎn)的)寫數(shù)據(jù)序列輸出到頭IC 20的寫入部251。
在本實(shí)施方式中,也可以進(jìn)行位反轉(zhuǎn)以外的處理。例如在各模式檢測(cè)部(第1模式檢測(cè)部221_1、第2模式檢測(cè)部221_2、…、第n模式檢測(cè)部221_N)檢測(cè)到連續(xù)模式和反復(fù)模式中的任一個(gè)以上而將模式通知給CPU 121的情況下,CPU 121也可以使寫入工作停止。
之后的處理依賴于磁盤裝置1。例如在ECC碼的冗余部分檢測(cè)出反復(fù)模式的情況下,在用戶數(shù)據(jù)序列加工部212包含能夠任意地重寫于用戶數(shù)據(jù)序列的位區(qū)域的情況下,將任意的值寫入于該位區(qū)域。使用寫入后的用戶數(shù)據(jù)序列再次進(jìn)行ECC編碼,能夠抑制寫數(shù)據(jù)序列包含反復(fù)模式。
頭IC 251具備寫入部251。寫入部251進(jìn)行將所輸入的寫數(shù)據(jù)序列寫 入于磁盤12的控制。另外,寫入部251在進(jìn)行寫入控制之后,將寫入完成通知輸出到各通知用與(AND)電路(第1通知用與電路222_1、第2通知用與電路222_2、…以及第N通知用與電路222_N)。
第1通知用與電路222_1設(shè)為取寫入完成通知和第1模式檢測(cè)信號(hào)的與(AND)的電路。寫入完成通知設(shè)為經(jīng)由接口部226從寫入部251輸出的信號(hào)。寫入完成通知表示寫數(shù)據(jù)序列是否正常寫入到了磁盤12。寫入完成通知在正常寫入的情況下設(shè)定為‘1’,在寫入發(fā)生異常的情況下設(shè)定為‘0’。
而且,第1通知用與電路222_1在第1模式檢測(cè)信號(hào)‘1’和寫入完成通知‘1’的情況下,輸出寫入完成通知‘1’。寫入完成通知‘1’表示與檢測(cè)出的連續(xù)模式有關(guān)的寫數(shù)據(jù)序列的寫入完成這一情況。
另外,第2通知用與電路222_2、…以及第N通知用與電路222_N進(jìn)行與第1通知用與電路222_1同樣的處理而省略說明。
第1模式通知選擇器223_1按照來自CPU 121的指示,選擇信號(hào)‘0’、第1模式檢測(cè)信號(hào)以及寫入完成通知中任一個(gè)。而且,第1模式通知選擇器223_1將所選擇的信號(hào)或通知作為第1模式檢測(cè)通知而進(jìn)行輸出。
在選擇出信號(hào)‘0’的情況下,意味著CPU 121不需要與第1模式檢測(cè)部221_1相關(guān)聯(lián)的信息。在選擇第一模式檢測(cè)信號(hào)的情況下,意味著CPU121在第1模式檢測(cè)部221_1檢測(cè)出模式的情況下接收通知。在選擇寫入完成通知的情況下,意味著CPU 121接收與第一模式檢測(cè)部221_1檢測(cè)出的模式相關(guān)聯(lián)的寫數(shù)據(jù)序列的寫入完成通知。
另外,第2模式通知選擇器223_2、…以及第N模式通知選擇器223_N進(jìn)行與第1模式通知選擇器223_1同樣的處理而省略說明。在本實(shí)施方式中,說明了第1模式通知選擇器223_1~第N模式通知選擇器223_N按照來自CPU 121的指示進(jìn)行選擇的示例。然而,第1模式通知選擇器223_1~第N模式通知選擇器223_N并不限定于按直接來自CPU 121的指示,例如,也可以經(jīng)由RWC 124內(nèi)部的(未圖示的)寄存器而被進(jìn)行指示。
ROM 123存儲(chǔ)加工設(shè)定存儲(chǔ)部231和通知設(shè)定存儲(chǔ)部232,作為CPU 121用于進(jìn)行處理的各種數(shù)據(jù)。
加工設(shè)定存儲(chǔ)部231存儲(chǔ)表示是否按每個(gè)模式進(jìn)行加工的設(shè)定信息。圖3是例示本實(shí)施方式的加工設(shè)定存儲(chǔ)部231的表結(jié)構(gòu)的圖。加工設(shè)定存儲(chǔ)部231所存儲(chǔ)的設(shè)定信息設(shè)為與輸出到檢測(cè)用與電路的模式使能信號(hào)有關(guān)的設(shè)定。在圖3示出的示例中,加工設(shè)定存儲(chǔ)部231使“模式”和“值”相關(guān)聯(lián)地進(jìn)行存儲(chǔ)。
模式保持與模式使能信號(hào)的輸出目的地有關(guān)的信息。例如在模式為“第1模式”的情況下,表示輸出目的地為第1檢測(cè)用與電路224_1。
值設(shè)定為‘1’或‘0’。在本實(shí)施方式中,在值為‘1’的情況下,CPU121輸出表示進(jìn)行加工處理的信號(hào)。在值為‘0’的情況下,CPU 121輸出表示不進(jìn)行加工處理的信號(hào)。
通知設(shè)定存儲(chǔ)部232存儲(chǔ)表示在每次檢測(cè)出模式時(shí)是否通知給CPU121的設(shè)定信息。圖4是例示本實(shí)施方式的通知設(shè)定存儲(chǔ)部232的表結(jié)構(gòu)的圖。在圖4示出的示例中,通知設(shè)定存儲(chǔ)部232使“選擇器”和“值”相關(guān)聯(lián)地進(jìn)行存儲(chǔ)。
“選擇器”表示設(shè)定目的地選擇器。在選擇器為“第1模式通知”的情況下,將在檢測(cè)出第1模式的情況下進(jìn)行通知的第1模式通知選擇器223_1設(shè)為設(shè)定目的地。
值設(shè)為‘0’、‘1’或‘2’。在本實(shí)施方式中,在值為‘0’的情況下,在選擇器中設(shè)定為將信號(hào)‘0’通知給CPU 121。在值為‘1’的情況下,在選擇器中設(shè)定為將模式檢測(cè)通知(檢測(cè)出模式這一情況)通知給CPU121。在值為‘2’的情況下,在選擇器中設(shè)定為將寫入完成通知通知給CPU121。
例如在選擇器為“第1模式通知”且值為“1”的情況下,CPU 121進(jìn)行對(duì)第1模式通知選擇器223_1輸出模式檢測(cè)通知的指示。
CPU 121通過執(zhí)行存儲(chǔ)在ROM 123中的程序,實(shí)現(xiàn)輸出部241、重試控制部242以及日志更新部243。
輸出部241根據(jù)加工設(shè)定存儲(chǔ)部231,輸出表示是否按每個(gè)檢測(cè)用與 電路(第1檢測(cè)用與電路224_1、第2檢測(cè)用與電路224_2、…以及第N檢測(cè)用與電路224_N)進(jìn)行加工處理的模式加工使能信號(hào)。由此,能夠設(shè)定是否按每個(gè)模式進(jìn)行加工處理。
另外,輸出部241根據(jù)通知設(shè)定存儲(chǔ)部232,輸出表示按每個(gè)模式通知選擇器(第1模式通知選擇器223_1、第2模式通知選擇器223_2以及第N模式通知選擇器223_N)通知給CPU 121的信息種類的信號(hào)。由此,能夠設(shè)定按每個(gè)模式通知的內(nèi)容。
重試控制部242控制寫入重試。本實(shí)施方式的重試控制部242根據(jù)來自模式通知選擇器(第1模式通知選擇器223_1、第2模式通知選擇器223_2以及第N模式通知選擇器223_N)的模式檢測(cè)通知來進(jìn)行重試控制。
例如,本實(shí)施方式的重試控制部242根據(jù)模式檢測(cè)通知,在盡管從寫數(shù)據(jù)序列檢測(cè)出預(yù)先確定的模式的位串也沒有進(jìn)行用于對(duì)該模式進(jìn)行加工處理的設(shè)定的情況下,進(jìn)行該重試控制。作為更詳細(xì)的示例,重試控制部242在從第N模式通知選擇器223_N接收到第N模式的檢測(cè)通知‘1’,并且,加工設(shè)定存儲(chǔ)部231中與第N模式對(duì)應(yīng)的值為‘0’(不進(jìn)行加工處理)的情況下,進(jìn)行重試控制。
而且,本實(shí)施方式的重試控制部242對(duì)用戶數(shù)據(jù)序列加工部212指示進(jìn)行加工處理的意思。并且,重試控制部242對(duì)數(shù)據(jù)選擇器213指示選擇從用戶數(shù)據(jù)序列加工部212輸出的用戶數(shù)據(jù)序列。
而且,用戶數(shù)據(jù)序列加工部212按照該指示對(duì)從DRAM 211讀出的用戶數(shù)據(jù)序列進(jìn)行加工處理。作為加工處理,設(shè)為用戶數(shù)據(jù)序列中的用戶數(shù)據(jù)序列內(nèi)包含的能夠任意地重寫的位區(qū)域(例如先頭等)的任意位的反轉(zhuǎn)等。這樣,通過使用戶數(shù)據(jù)序列的位反轉(zhuǎn),能夠抑制由ECC編碼部227變換后的寫數(shù)據(jù)序列與連續(xù)模式、反復(fù)模式等的模式一致。
日志更新部243按照CPU 121所接收的通知,更新存儲(chǔ)在日志存儲(chǔ)部127中的日志。由此,能夠?qū)懭胗诖疟P12的寫數(shù)據(jù)序列中的加工處理后的寫數(shù)據(jù)序列等進(jìn)行確定。
圖5是例示本實(shí)施方式的磁盤裝置1中的讀取時(shí)利用的結(jié)構(gòu)的圖。如 圖5所示,在讀取數(shù)據(jù)時(shí),至少使用CPU 121、ROM 123、HDC 125以及RWC 124。
頭IC 20具備讀出部501。讀出部501在具有讀出指示的情況下,從磁盤20讀出介質(zhì)數(shù)據(jù)序列,將該介質(zhì)數(shù)據(jù)序列輸出到RWC 124內(nèi)的信號(hào)處理部124。
RWC 124具備第1模式檢測(cè)部511_1、第2模式檢測(cè)部511_2、…、第N模式檢測(cè)部511_N、第1檢測(cè)用與電路512_1、第2檢測(cè)用與電路512_2、…、第N檢測(cè)用與電路512_N、讀出序列加工部513、數(shù)據(jù)選擇器514、信號(hào)處理部515以及ECC解碼部521。
信號(hào)處理部515對(duì)從讀出部501接收的介質(zhì)數(shù)據(jù)序列進(jìn)行A/D變換、均衡、維特比等波形處理,將波形處理后的數(shù)據(jù)序列作為讀數(shù)據(jù)序列而進(jìn)行輸出。之后,在ECC解碼部521中進(jìn)行糾錯(cuò)。在該糾錯(cuò)中,在寫入時(shí)反轉(zhuǎn)的位部分被糾錯(cuò)為反轉(zhuǎn)前數(shù)據(jù)。
數(shù)據(jù)選擇器514按照來自CPU 121的指示,選擇輸出到ECC解碼部521的讀數(shù)據(jù)序列。
例如,數(shù)據(jù)選擇器514按照來自CPU 121的指示,選擇從讀出部501輸出的讀數(shù)據(jù)序列。
而且,在ECC解碼部521解碼失敗的情況下,數(shù)據(jù)選擇器514按照來自CPU 121的指示,選擇從讀出序列加工部513輸出的讀數(shù)據(jù)序列。
這樣,本實(shí)施方式的數(shù)據(jù)選擇器514通常選擇從信號(hào)處理部515輸出的讀數(shù)據(jù)序列,在解碼失敗的情況下,能夠選擇加工處理后的讀數(shù)據(jù)序列。此外,本實(shí)施方式并不限定于這種選擇方式,例如也可以使用選擇從通常進(jìn)行加工處理的讀數(shù)據(jù)序列等其它方法。說明了本實(shí)施方式的數(shù)據(jù)選擇器514按照來自CPU 121的指示進(jìn)行選擇的示例。然而,數(shù)據(jù)選擇器514并不限定于按直接來自CPU 121的指示,例如也可以經(jīng)由RWC 124內(nèi)部的(未圖示的)寄存器而被進(jìn)行指示。
ECC解碼部521對(duì)所輸入的讀數(shù)據(jù)序列進(jìn)行糾錯(cuò),將作為糾錯(cuò)結(jié)果的用戶數(shù)據(jù)序列輸出到HDC 125。在本實(shí)施方式中,作為糾錯(cuò)碼使用低密度 奇偶校驗(yàn)碼(low-densityparity-checkcode),但是也可以使用其它方法。此外,在本實(shí)施方式中,說明將ECC解碼部521設(shè)置于RWC 124內(nèi)的示例,但是也可以設(shè)置于HDC內(nèi)部。
ECC解碼部521在對(duì)從信號(hào)處理部515輸出的讀數(shù)據(jù)序列進(jìn)行由ECC解碼進(jìn)行的錯(cuò)誤檢測(cè)校正之后,將校正過的用戶數(shù)據(jù)序列輸出到主計(jì)算機(jī)。ECC解碼部521不具有在寫入序列加工部233進(jìn)行加工處理時(shí)反轉(zhuǎn)了的位的位置信息。然而,如果在糾錯(cuò)能力內(nèi),則ECC解碼部521能夠校正由寫入序列加工部233反轉(zhuǎn)的位。這樣,ECC解碼部521在糾錯(cuò)能力內(nèi)能夠校正在寫入時(shí)反轉(zhuǎn)的位以及在實(shí)際讀出時(shí)實(shí)際由噪聲等導(dǎo)致成為錯(cuò)誤的位。
在本實(shí)施方式的ECC解碼部521糾錯(cuò)失敗的情況下,將該狀況輸出到CPU 121。而且,CPU 121對(duì)數(shù)據(jù)選擇器514進(jìn)行指示,選擇從讀出序列加工部513輸出的讀數(shù)據(jù)序列。
也就是說,當(dāng)通過圖2示出的結(jié)構(gòu)校正在寫入時(shí)進(jìn)行的位的反轉(zhuǎn)時(shí),讀數(shù)據(jù)序列內(nèi)包含的錯(cuò)誤數(shù)減少。由此,使用了讀數(shù)據(jù)序列內(nèi)包含的冗余性的糾錯(cuò)能力提高。換言之,即使在讀數(shù)據(jù)序列的糾錯(cuò)失敗的情況下,在校正在寫入時(shí)反轉(zhuǎn)的位之后再次進(jìn)行糾錯(cuò)時(shí),則也有可能成功。因此,在本實(shí)施方式中,在糾錯(cuò)失敗的情況下,讀出序列加工部513能夠進(jìn)行與檢測(cè)出的模式相應(yīng)的加工處理。
因此,ECC解碼部521在讀數(shù)據(jù)序列的糾錯(cuò)失敗的情況下,再次讀出相同讀數(shù)據(jù)序列。另外,ECC解碼部521將ECC可靠度信息輸出到讀出序列加工部513和信號(hào)處理部515。
而且,信號(hào)處理部515在根據(jù)ECC可靠度信息校正介質(zhì)數(shù)據(jù)序列之后,作為讀數(shù)據(jù)序列而進(jìn)行輸出。另外,信號(hào)處理部515將讀出可靠度信息輸出到讀出序列加工部513。
另外,將讀數(shù)據(jù)序列輸出到讀出序列加工部513、第1模式檢測(cè)部511_1、第2模式檢測(cè)部511_2、…以及第N模式檢測(cè)部511_N。
第1模式檢測(cè)部511_1、第2模式檢測(cè)部511_2、…以及第N模式檢 測(cè)部511_N檢測(cè)讀數(shù)據(jù)序列是否包含按每個(gè)模式檢測(cè)部而預(yù)先確定的位串的模式。也就是說,模式檢測(cè)部(第1模式檢測(cè)部511_1、第2模式檢測(cè)部511_2、…以及第N模式檢測(cè)部511_N)從讀數(shù)據(jù)序列中檢測(cè)從寫入于磁盤12時(shí)根據(jù)寫數(shù)據(jù)序列而檢測(cè)出的模式的位串進(jìn)行了預(yù)先確定的位的反轉(zhuǎn)的位串。
例如,第1模式檢測(cè)部511_1檢測(cè)‘0’的連續(xù)模式的位串中的僅預(yù)先確定的位置的位為‘1’的位串。此外,預(yù)先確定的位置設(shè)為寫入序列加工部225進(jìn)行了反轉(zhuǎn)的位的位置。
而且,第1模式檢測(cè)部511_1輸出表示檢測(cè)結(jié)果的第1模式檢測(cè)信號(hào)。例如,在判斷為包含上述模式的情況下,第1模式檢測(cè)部221_1輸出第1模式檢測(cè)信號(hào)‘1’。在判斷為不包含上述模式的情況下,第1模式檢測(cè)部221_1輸出第1模式檢測(cè)信號(hào)‘0’。
作為其它例,第2模式檢測(cè)部511_2作為預(yù)先確定的位串,檢測(cè)‘1’的連續(xù)模式的位串中的僅預(yù)先確定的位置的位為‘0’的位串。作為其它例,第N模式檢測(cè)部221_N作為預(yù)定位串,檢測(cè)0101…這種反復(fù)模式中的預(yù)先確定的位置的位反轉(zhuǎn)了的位串。這樣,各模式檢測(cè)部檢測(cè)寫入時(shí)由寫入序列加工部225進(jìn)行了加工處理的位串。
另外,各模式檢測(cè)部也與第1模式檢測(cè)部511_1同樣地,輸出表示檢測(cè)結(jié)果的模式檢測(cè)信號(hào)。
第1檢測(cè)用與電路512_1設(shè)為取得第1模式檢測(cè)信號(hào)和第1模式加工使能信號(hào)的與的電路。第1模式加工使能信號(hào)設(shè)為與圖2的輸出部241所輸出的第1模式加工使能信號(hào)相同。也就是說,圖5的第1模式加工使能信號(hào)表示是否為在寫入時(shí)進(jìn)行了加工處理的模式。在本實(shí)施方式中,說明模式加工使能信號(hào)(例如,第1模式加工使能信號(hào)~第N模式加工使能信號(hào))從CPU 121直接輸出的示例,但是并不限定于從CPU 121直接輸出的方法,例如也可以經(jīng)由RWC 124內(nèi)部的(未圖示的)寄存器而被輸出。
第1檢測(cè)用與電路512_1在第1模式檢測(cè)信號(hào)‘1’和第1模式加工使能信號(hào)‘1‘的情況下,輸出包含表示要加工的意思的‘1’的第1加工指 示信號(hào)。第1檢測(cè)用與電路224_1在第1模式檢測(cè)信號(hào)和第1模式加工使能信號(hào)為除此以外的組合的情況下,輸出包含表示不加工的意思的‘0’的第一加工指示信號(hào)。
另外,第2檢測(cè)用與電路512_2、…以及第N檢測(cè)用與電路512_N進(jìn)行與第1檢測(cè)用與電路512_1同樣的處理而省略說明。此外,第2檢測(cè)用與電路512_2輸出第2加工指示信號(hào),第N檢測(cè)用與電路512_N輸出第N加工指示信號(hào)。
讀出序列加工部513按照第1檢測(cè)用與電路224_1~第N檢測(cè)用與電路224_N的加工指示信號(hào),對(duì)從信號(hào)處理部515輸入的讀數(shù)據(jù)序列內(nèi)包含的位串進(jìn)行加工處理。在本實(shí)施方式中,設(shè)為預(yù)先決定了按檢測(cè)出的每個(gè)模式執(zhí)行的加工處理。
例如,寫入序列加工部225在被輸入第1加工指示信號(hào)‘1’的情況下,對(duì)讀數(shù)據(jù)序列內(nèi)包含的‘0’的連續(xù)模式的位串中的僅預(yù)先確定的位置反轉(zhuǎn)為‘1’的位串,將該位置的位反轉(zhuǎn)為‘0’。
通過寫入序列加工部225進(jìn)行加工處理,校正在寫入時(shí)反轉(zhuǎn)的位。由此,寫入序列加工部225作為讀數(shù)據(jù)序列,輸出‘0’或‘1’的連續(xù)模式的位串、0101…這種反復(fù)模式的位串。
另外,寫入序列加工部225在確定反轉(zhuǎn)哪一位時(shí),也可以使用存儲(chǔ)在日志存儲(chǔ)部127中的日志、ECC可靠度信息、讀出可靠度信息。由此,寫入序列加工部225能夠提高位的反轉(zhuǎn)精度。
而且,將寫入序列加工部225所輸出的、加工過的讀數(shù)據(jù)序列被輸出到ECC解碼部521。而且,在ECC解碼521糾錯(cuò)成功的情況下,將校正過的用戶數(shù)據(jù)序列輸出到主計(jì)算機(jī)。
接著,說明本實(shí)施方式的磁盤裝置1中的寫入處理。圖6是表示本實(shí)施方式的磁盤裝置1中的上述處理的過程的流程圖。
HDC 125在DRAM 211中暫時(shí)存儲(chǔ)從主計(jì)算機(jī)輸入的用戶數(shù)據(jù)序列(S601)。此外,設(shè)為數(shù)據(jù)選擇器213選擇DRAM 211側(cè)。
ECC編碼部227從DRAM 211讀出用戶數(shù)據(jù)序列,將用戶數(shù)據(jù)序列 變換為用于進(jìn)行錯(cuò)誤檢測(cè)校正的碼字(S602)。將變換后的碼稱為寫數(shù)據(jù)序列。
各模式檢測(cè)部從寫數(shù)據(jù)序列檢測(cè)是否包含預(yù)定的模式的位串(S603)。在所有模式檢測(cè)部判斷為不含預(yù)定模式的位串的情況下(S603:“否”),過渡到S611。
另一方面,在各模式檢測(cè)部(第1模式檢測(cè)部221_1、第2模式檢測(cè)部221_2、…、第n模式檢測(cè)部221_N)從寫數(shù)據(jù)序列判斷為包含預(yù)定模式的位串的情況下(S603:“是”),判斷通知用與電路和模式通知用選擇器是否應(yīng)該將檢測(cè)出的模式通知給CPU 121(S604)。在判斷為不應(yīng)該通知的情況下(S604:“否”),過渡到S606。另一方面,在判斷為應(yīng)該通知的情況下(S604:“是”),通知用與電路和模式通知用選擇器將模式檢測(cè)信號(hào)通知給CPU 121(S605)。
CPU 121根據(jù)被通知的模式檢測(cè)信號(hào),判斷是否為應(yīng)該使寫入停止的模式(S606)。在判斷為應(yīng)該使寫入停止的模式的情況下(S606:“是”),停止該寫數(shù)據(jù)序列的寫入處理。然后,用戶數(shù)據(jù)序列加工部212按照來自CPU 121的指示,從DRAM 211讀出用戶數(shù)據(jù)序列(S607),對(duì)該用戶數(shù)據(jù)進(jìn)行加工處理(S608)。之后,從S602恢復(fù)再次開始處理。
CPU 121在根據(jù)被通知的模式檢測(cè)信號(hào)判斷為并非應(yīng)該使寫入停止的模式的情況下(S606:“否”),根據(jù)需要,進(jìn)行以下等處理:將該通知的模式檢測(cè)信號(hào)作為日志而存儲(chǔ)到日志存儲(chǔ)部127。
檢測(cè)用與電路(第1通知用與電路222_1、第2通知用與電路222_2、…、第N通知用與電路222_N)根據(jù)來自CPU 121的每個(gè)模式的加工處理的有無和模式檢測(cè)信號(hào),輸出模式加工使能信號(hào)。
寫入序列加工部233根據(jù)模式加工使能信號(hào),判斷從ECC編碼部227接收到的用戶數(shù)據(jù)序列是否包含應(yīng)該進(jìn)行位反轉(zhuǎn)的模式(S609)。在本實(shí)施方式中,在第1模式加工使能信號(hào)、第2模式加工使能信號(hào)、…以及第N模式加工使能信號(hào)中的任意的一個(gè)以上為‘1’的情況下,判斷為應(yīng)該進(jìn)行位反轉(zhuǎn)。
在寫入序列加工部233判斷為沒有包含應(yīng)該進(jìn)行位反轉(zhuǎn)的模式的情況下(S609:“否”),過渡到S611。另一方面,在寫入序列加工部233判斷為包含應(yīng)該進(jìn)行位反轉(zhuǎn)的模式的情況下(S609:“是”),進(jìn)行位反轉(zhuǎn)(S610)。此外,設(shè)為反轉(zhuǎn)的位的位置根據(jù)檢測(cè)出的模式不同而不同。
寫入部251將從寫入序列加工部233輸出的寫數(shù)據(jù)序列寫入到磁盤12(S611)。然后,在寫入部251寫入了寫數(shù)據(jù)序列的情況下,輸出寫入完成通知。
然后,模式通知用選擇器判斷是否應(yīng)該將寫入完成通知通知給CPU(612)。在判斷為不要通知的情況下(S612:“否”),結(jié)束處理。另一方面,在判斷為應(yīng)該通知的情況下(S612:“是”),模式通知用選擇器將寫入完成通知通知給CPU 121(S613)。
在本實(shí)施方式中,通過進(jìn)行上述處理,能夠?qū)⑿U恕?’或‘1’的連續(xù)模式和/或‘010101’等反復(fù)模式而得到的寫數(shù)據(jù)序列寫入到磁盤12。
接著,說明本實(shí)施方式的磁盤裝置1中的讀出處理。圖7是表示本實(shí)施方式的磁盤裝置1中的上述處理的過程的流程圖。
讀出部501將來自磁盤12的介質(zhì)數(shù)據(jù)序列作為讀數(shù)據(jù)序列而進(jìn)行輸出(S701)。CPU 121判斷是否對(duì)讀數(shù)據(jù)序列實(shí)施模式檢測(cè)(S702)。CPU 121根據(jù)判斷結(jié)果設(shè)定選擇器514。
并且,在CPU 121判斷為不實(shí)施模式檢測(cè)的情況下(S702:“否”),ECC解碼部521對(duì)經(jīng)由數(shù)據(jù)選擇器514輸入的讀數(shù)據(jù)序列進(jìn)行錯(cuò)誤檢測(cè)校正(S705)。
另一方面,在CPU 121判斷為實(shí)施模式檢測(cè)的情況下(S702:“是”),各模式檢測(cè)部檢測(cè)讀數(shù)據(jù)序列是否包含預(yù)先確定的模式的位串(S703)。
各模式檢測(cè)部將是否包含模式的位串作為模式檢測(cè)信號(hào)而進(jìn)行輸出。檢測(cè)用與電路取模式檢測(cè)信號(hào)和來自CPU 121的模式加工使能信號(hào)的與。然后,檢測(cè)用與電路將取與的結(jié)果通知給讀出序列加工部513。
讀出序列加工部513按照來自檢測(cè)用與電路的通知,對(duì)讀數(shù)據(jù)序列進(jìn)行加工處理(S704)。在數(shù)據(jù)選擇器514選擇讀出序列加工部513的讀數(shù) 據(jù)序列的情況下,ECC解碼部521對(duì)從讀出序列加工部513輸出的讀數(shù)據(jù)序列進(jìn)行錯(cuò)誤檢測(cè)校正(S705)。
然后,ECC解碼部521判斷是否完成糾錯(cuò)(S706)。在判斷為完成糾錯(cuò)的情況下(S706:“是”),作為用戶數(shù)據(jù)序列輸出到主計(jì)算機(jī)(S707)。
另一方面,在ECC解碼部521判斷為沒有完成糾錯(cuò)的情況下(S706:“否”),將該狀況通知給CPU 121。然后,CPU 121判斷是否重新進(jìn)行讀數(shù)據(jù)序列的加工處理(S708)。在判斷為不重新進(jìn)行的情況下(S708:“否”),對(duì)主計(jì)算機(jī)輸出錯(cuò)誤通知(S709),結(jié)束處理。
在CPU 121判斷為重新進(jìn)行讀數(shù)據(jù)序列的加工處理的情況下(S708:“是”),檢測(cè)從信號(hào)處理部515輸出的讀數(shù)據(jù)序列是否包含預(yù)先確定的模式的位串(S703)。之后,還進(jìn)行S704以后的處理。
在上述實(shí)施方式中,為了限制行程長(zhǎng)度和/或磁化反轉(zhuǎn)次數(shù),具備模式檢測(cè)部,該模式檢測(cè)部檢測(cè)ECC編碼后的寫數(shù)據(jù)序列是否包含預(yù)先確定的模式的位串。模式檢測(cè)部檢測(cè)作為預(yù)先確定的模式的位串而行程長(zhǎng)度和/或連續(xù)磁化反轉(zhuǎn)次數(shù)是否為預(yù)先確定的長(zhǎng)度以下。在大于預(yù)先確定的長(zhǎng)度的情況下,使該位串中的1位反轉(zhuǎn)。由此,能夠?qū)⑿谐涕L(zhǎng)度和/或連續(xù)磁化反轉(zhuǎn)次數(shù)限制為預(yù)定長(zhǎng)度以下。因而,能夠抑制讀出時(shí)的異常。
在上述實(shí)施方式中,如上所述,通過使位串中的位反轉(zhuǎn),能夠抑制RLL編碼(Run-Length Limited coding)方式、MTR(Maximum Transition Run)編碼方式的利用,因此能夠抑制寫數(shù)據(jù)序列的冗余性(冗長(zhǎng)性)。由此,能夠抑制格式化效率下降。
在本實(shí)施方式中,能夠根據(jù)模式使所執(zhí)行的加工處理不同。由此,能夠?qū)崿F(xiàn)與模式的重要度相應(yīng)的加工處理和/或日志記錄等。
說明了本發(fā)明的幾個(gè)實(shí)施方式,但是這些實(shí)施方式僅作為示例而提出,并不意圖限定發(fā)明的范圍。能夠以其它各種方式實(shí)施這些新實(shí)施方式,在不脫離發(fā)明的宗旨的范圍內(nèi),能夠進(jìn)行各種省略、替換、變更。這些實(shí)施方式、其變形包含在發(fā)明的范圍、宗旨中,同時(shí)包含在與權(quán)利要求書所記載的發(fā)明等同的范圍中。
本申請(qǐng)享有以美國(guó)臨時(shí)專利申請(qǐng)62/202386號(hào)(申請(qǐng)日:2015年8月7日)為基礎(chǔ)申請(qǐng)的優(yōu)先權(quán)。本申請(qǐng)通過參照該基礎(chǔ)申請(qǐng),包含基礎(chǔ)申請(qǐng)的所有內(nèi)容。