JP2008077782A - 記憶データ処理装置、記憶装置、記憶データ処理プログラム - Google Patents

記憶データ処理装置、記憶装置、記憶データ処理プログラム Download PDF

Info

Publication number
JP2008077782A
JP2008077782A JP2006256751A JP2006256751A JP2008077782A JP 2008077782 A JP2008077782 A JP 2008077782A JP 2006256751 A JP2006256751 A JP 2006256751A JP 2006256751 A JP2006256751 A JP 2006256751A JP 2008077782 A JP2008077782 A JP 2008077782A
Authority
JP
Japan
Prior art keywords
data
calculation
block
sector
redundant
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2006256751A
Other languages
English (en)
Inventor
Tadashi Yoshida
紀 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006256751A priority Critical patent/JP2008077782A/ja
Priority to US11/650,725 priority patent/US20080091971A1/en
Publication of JP2008077782A publication Critical patent/JP2008077782A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1803Error detection or correction; Testing, e.g. of drop-outs by redundancy in data representation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1883Methods for assignment of alternate areas for defective areas
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • G11B2020/183Testing wherein at least one additional attempt is made to read or write the data when a first attempt is unsuccessful
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】上位装置への応答時間の増加を抑えつつ、エラーリカバリ能力を向上させる記憶装置、記憶データ処理装置、記憶データ処理プログラムを提供する。
【解決手段】所定のデータ長の第1ブロックを単位としてデータが配置され、且つ複数の第1ブロックで構成される第2ブロックを単位として第1ブロックが配置され、且つ第2ブロックに対応して第1ブロック長を持つ第3ブロックが配置される記憶媒体に対して少なくとも書き込み処理を行う記憶装置において、更新対象として指定された第2ブロック中の全ての第1ブロックのデータについてビット位置毎の演算を行い、該演算の結果を演算データとして出力する演算部と、演算部により出力された演算データを、更新対象に対応付けられた第3ブロックへ書き込む書き込み部とを備えた。
【選択図】図1

Description

本発明は、読み出しエラーのリカバリを行う記憶装置、それに用いられる記憶データ処理装置、記憶データ処理プログラムに関するものである。
近年、ハードディスク装置(HDD:Hard Disk Drive)の記録容量は増加の傾向にあり、一つのハードディスク装置で200GB以上の容量を保有するようになってきている。これに伴い、一つのセクタが読み出しエラーとなった場合の被害は大きくなっている。特にハードディスク装置内のデータ管理に関するディレクトリ情報が記録されている箇所に該当するセクタが一つ読み出しエラーとなった場合などにおいては、被害を受けるデータが更に膨大になる。また、この深刻度は容量が増すほど増える。
従来、このようなハードディスク装置固有の障害を避ける手段として、ハードディスク装置をアレイとして構築するシステムが用意されている。このシステムにおいては、読み出しエラーになったドライブが存在しても、冗長度を高めるために配置されている他のハードディスク装置のデータを使ってリカバリする。ハードディスク装置単体でのエラーへの耐久性を高める方法としては、ECC(Error Correcting Code)をセクタ内の情報に付加する方式がとられている。ここで、ディスク媒体上の各セクタは、SB(syncbyte)、DATA、ECCで構成されている。
ここで、或るセクタで読み出しエラーが発生した場合を想定する。このとき、ハードディスク装置内のデータバッファには、読み出しを開始した時点のセクタのデータから読み出しエラーが起きたセクタの手前のセクタまでのデータが保持されている。そして、読み出しエラーが起きたセクタのデータ読み出しがリトライでも成功しない場合、ハードディスク装置は、有効なデータをデータバッファに取り込めないために上位装置におくることができず、最終的にデータのリカバリ処理に失敗すると、上位装置に対して読み出しエラーを通知し、終了していた。
なお、本発明の関連ある従来技術として、トラックサイズ分のバッファを用意し、トラック単位でのデータチェック処理を行うファイル制御装置がある(例えば、特許文献1参照)。また、セクタ毎にLDC(Long Distance Code)のパリティを付加し、所定のセクタ数毎にパリティセクタデータを付加し、所定のセクタ毎にパリティセクタデータを算出し、再生時にLDCのパリティによる訂正が不能となった場合にパリティセクタデータを用いて訂正を行うデータ記録方法がある(例えば、特許文献2参照)。
特開平5−35416号公報 特開平8−124318号公報
ECCによる訂正能力そのものは緩やかに向上してきてはいるが、新しいデータ訂正方式などは採用されておらず、近年は同じ技術が用いられ続けている。しかしながら、ハードディスク装置単体の記録容量が増加する傾向にある中で、従来のECCによるデータ訂正能力では、相対的にデータ喪失の危険が増してきていると言える。
また、上述したように従来のハードディスク装置において、ECCで訂正できない場合に、エラーを上位装置に対して通知し、終了する、という仕組みはディスク装置の誕生以来ほとんど変わってない。
また、特許文献1のような技術は、書き込み処理を行うたびにトラック分のデータを読み出さなければならず、コマンドの処理時間が約2倍に増加し、性能が低下するため、現実的に使用することは困難である。また、特許文献2のような技術は、上位装置から書き込みデータを受領したときに冗長データを用意しなければならず、性能が低下するため、現実的に使用することは困難である。
本発明は上述した問題点を解決するためになされたものであり、エラーリカバリ能力を向上させる記憶装置、それに用いられる記憶データ処理装置、記憶データ処理プログラムを提供することを目的とする。
上述した課題を解決するため、本発明は、所定のデータ長の第1ブロックを単位としてデータが配置され、且つ複数の前記第1ブロックで構成される第2ブロックを単位として前記第1ブロックが配置され、且つ前記第2ブロックに対応して前記第1ブロック長を持つ第3ブロックが配置される記憶媒体に対して少なくとも書き込み処理を行う記憶装置に用いられる記憶データ処理装置において、更新対象として指定された第2ブロック中の全ての第1ブロックのデータについてビット位置毎の演算を行い、該演算の結果を演算データとして出力する演算部と、前記演算部により出力された演算データを、前記更新対象に対応付けられた第3ブロックへ書き込む書き込み部とを備えたものである。
また、本発明に係る記憶データ処理装置において、前記演算部は、前記演算データを初期化し、前記更新対象中の各々の第1ブロックのデータを順次、前記演算の入力データとし、該入力データと前記演算データについてビット位置毎の演算を行い、該演算の結果を新たな演算データとして記憶し、該演算と該記憶を全ての前記入力データについて繰り返し、前記演算データを出力することを特徴とする。
また、本発明に係る記憶データ処理装置において、更に、読み出し対象として指定された第1ブロックからデータを読み出し、該データの読み出しに失敗した場合、前記読み出しに失敗した第1ブロックをエラーブロックとし、前記読み出し対象を含む第2ブロック中の該エラーブロック以外の全ての第1ブロックのデータである正常データを読み出し、該第2ブロックに対応する第3ブロックのデータである冗長データを読み出す読み出し部を備え、前記演算部は更に、前記正常データと前記冗長データについてビット位置毎の演算を行い、該演算の結果を前記エラーブロックのデータとすることを特徴とする。
また、本発明に係る記憶データ処理装置において、前記演算部は、前記演算データを初期化し、各々の前記正常データと前記冗長データを順次、前記演算の入力データとし、該入力データと前記演算データについてビット位置毎の演算を行い、該演算の結果を新たな演算データとして記憶し、該演算と該記憶を全ての前記入力データについて繰り返し、前記演算データを出力することを特徴とする。
また、本発明に係る記憶データ処理装置において、前記演算部による演算は、順次演算を行う順序を変えても演算結果が変わらない演算であることを特徴とする。
また、本発明に係る記憶データ処理装置において、前記演算部による演算は、排他的論理和であることを特徴とする。
また、本発明に係る記憶データ処理装置において、前記第1ブロックは、少なくとも1つのセクタであり、前記第3ブロックは、前記第1ブロック長を持ち、前記演算データは、前記第1ブロック長を持つことを特徴とする。
また、本発明に係る記憶データ処理装置において、前記記憶媒体において、第2ブロックは、連続したアドレスを持つセクタで構成されることを特徴とする。
また、本発明に係る記憶データ処理装置において、前記記憶媒体において、連続したアドレスを持つセクタは、所定の規則に基づいて複数の前記第2ブロックに配置されることを特徴とする。
また、本発明に係る記憶データ処理装置において、前記演算部は、外部装置からのデータ読み出し指示またはデータ書き込み指示による処理を行っていないときに、前記更新対象に対する前記演算を行うことを特徴とする。
また、本発明に係る記憶データ処理装置において、前記読み出し部は更に、前記エラーブロックの交代処理を行うことを特徴とする。
また、本発明に係る記憶データ処理装置において、前記読み出し部は、外部装置からデータ読み出し指示を受けた場合、該データ読み出し指示の対象を前記読み出し対象として指定し、前記正常データと前記演算部により得られた前記エラーブロックのデータとを前記外部装置へ出力することを特徴とする。
また、本発明に係る記憶データ処理装置において、前記読み出し部は、外部装置から検査指示を受けた場合、前記記録媒体における所定の範囲を読み出し対象として指定することを特徴とする。
また、本発明に係る記憶データ処理装置において、前記読み出し部は、所定の期間が経過した場合、前記記録媒体における所定の範囲を読み出し対象として指定することを特徴とする。
また、本発明に係る記憶データ処理装置において、前記第3ブロックは、前記記憶媒体において対応する前記第2ブロックの直後に配置されることを特徴とする。
また、本発明に係る記憶データ処理装置において、前記第3ブロックは、前記記憶媒体において連続して配置されることを特徴とする。
また、本発明に係る記憶データ処理装置において、前記第2ブロックに含まれる前記第1ブロックの数は、一定でないことを特徴とする。
また、本発明に係る記憶データ処理装置において、前記第2ブロックは、前記記憶媒体におけるユーザ領域の一部であることを特徴とする。
また、本発明は、記憶装置における記憶データ処理をコンピュータに実行させる記憶データ処理プログラムであって、所定のデータ長の第1ブロックを単位としてデータが配置され、且つ複数の前記第1ブロックで構成される第2ブロックを単位として前記第1ブロックが配置され、且つ前記第2ブロックに対応して前記第1ブロック長を持つ第3ブロックが配置される記憶媒体において、更新対象として指定された第2ブロック中の全ての第1ブロックのデータを用いてビット位置毎の演算を行い、該演算の結果を演算データとして出力する演算ステップと、前記演算ステップにより出力された演算データを、前記更新対象に対応付けられた第3ブロックへ書き込む書き込みステップとをコンピュータに実行させるものである。
また、本発明は、所定のデータ長の第1ブロックを単位としてデータが配置され、且つ複数の前記第1ブロックで構成される第2ブロックを単位として前記第1ブロックが配置され、且つ前記第2ブロックに対応して前記第1ブロック長を持つ第3ブロックが配置される記憶媒体に対して少なくとも書き込み処理を行う記憶装置において、更新対象として指定された第2ブロック中の全ての第1ブロックのデータについてビット位置毎の演算を行い、該演算の結果を演算データとして出力する演算部と、前記演算部により出力された演算データを、前記更新対象に対応付けられた第3ブロックへ書き込む書き込み部とを備えたものである。
本発明によれば、エラーリカバリ能力を向上させて、高密度記録化に伴うデータ信頼性が高い記憶装置、それに用いられる記憶データ処理装置、記憶データ処理プログラムを提供することができる。
以下、本発明の実施の形態について図面を参照しつつ説明する。
実施の形態1.
本実施の形態においては、本発明の記憶データ処理装置及び記憶装置をハードディスク装置に適用した例について説明する。
まず、本実施の形態に係るハードディスク装置の構成について説明する。
図1は、本実施の形態に係るハードディスク装置の構成の一例を示すブロック図である。
次に、従来のハードディスク装置について説明する。このハードディスク装置は、外部と接続するためのホストIF(Interface)を制御するホストIF制御部2、データバッファ制御部3、データバッファ4、フォーマット制御部5、リードチャネル6、ヘッドIC(Integrated Circuit)7、ハードディスク装置の制御用のMPU(Micro Processing Unit)8、制御用のデータおよび制御用プログラムを格納するメモリ9、制御用プログラムを格納する不揮発性メモリ(FROM)10、スピンドルモータ(SPM)やヴォイスコイルモータ(VCM)の動作を制御するサーボ制御部11、ヘッドアクチュエータを実際に動かすVCM12、ディスクを回転させるSPM13、Read/Write用のヘッド14、ディスク媒体15、内部のコモンバス16、冗長演算部21を備える。
また、ハードディスク装置は、ホストIF制御部2に接続されるホストIFを介して、PC(Personal Computer)等の上位装置(外部装置)に接続される。ホストIF制御部2、データバッファ制御部3、データバッファ4、フォーマット制御部5、リードチャネル6、ヘッドIC7、MPU8、メモリ9、不揮発性メモリ10、サーボ制御部11は、コモンバス16により接続されている。
ハードディスク装置から上位装置へのデータの読み出しにおいて、上位装置からの読み出し命令に従って、データはディスク媒体15から読み出され、ヘッド14、およびヘッドIC7を経由してリードチャネル6に送られる。さらに、そのデータは、フォーマット制御部5を経由してECC計算が行われ、エラーの起きなかったデータだけが、データバッファ制御部3を経由してデータバッファ4にいったん保持される。そして、再びデータバッファ制御部3およびホストIF制御部2を経由して上位装置に送られる。
また、上位装置からハードディスク装置へのデータの書き込みにおいて、上位装置から書き込み命令として送られたデータは、ホストIF制御部2を経由し、データバッファ制御部3を経由して、いったんデータバッファ4に取り込まれる。さらに、そのデータは、書き込みを実施するのに適当なタイミングで、再びデータバッファ制御部3を経由し、フォーマット制御部5、リードチャネル6、ヘッドIC7を経由してディスク媒体15に書き込まれる。
図2は、本実施の形態に係る冗長演算部の構成の一例を示すブロック図である。冗長演算部21は、演算結果メモリ31、XOR(Exclusive OR:排他的論理和)演算部32を備える。演算結果メモリ31は、セクタサイズの容量を持ち、1セクタ分の演算結果データ(演算データ)を保持する。外部からの1セクタ分の入力データと演算結果メモリ31に保持された1セクタ分の演算結果データは、XOR演算部32によりビット位置毎のXOR演算が行われる。この演算結果は、新たな演算結果データとして演算結果メモリ31に保持される。また、MPU8は、演算結果メモリ31に保持された演算結果データを、コモンバス16を介して読み出し、冗長セクタデータとすることができる。
次に、ディスク媒体15上のユーザ領域におけるセクタ配置について説明する。
図3は、本実施の形態に係るディスク媒体上のユーザ領域におけるセクタ配置の一例を示す配置図である。この図は、通常のユーザデータが書き込まれる通常セクタと冗長セクタデータが書き込まれる冗長セクタの配置を示す。また、この図における1つの要素は、1つのセクタを表す。また、この図は、区分を区分番号で表し、通常セクタをLBA(Logical Block Address)で表し、冗長セクタを対応する区分番号で表す。ここでは、連続するm個のLBAを持つ通常セクタが1つの区分とされ、この図において1つの区分は1つの行で表されている。また、ユーザ領域全体は、n個の区分に分けられている。また、区分毎に、その区分のユーザデータに基づく冗長セクタデータを書き込むための1つの冗長セクタが挿入される。つまり、j番目の区分LBA(ji)〜LBA((j+1)i−1)を持つユーザデータに対して1つの冗長セクタデータ(j)が生成され、挿入される(i=0,1,…m−1)(j=0,1,…n−1)。
次に、本実施の形態に係るハードディスク装置の動作について説明する。
まず、ディスク媒体15に書き込まれているユーザデータから冗長セクタデータを生成し、冗長セクタデータの書き込みを行う冗長セクタデータ更新処理について説明する。
冗長セクタデータ更新処理は、上位装置からの更新指示を受けた場合、または、上位装置からのアクセスがない期間(MPU8の空き時間)が閾値を超えた場合に実行される。図4は、本実施の形態に係る冗長セクタデータ更新処理の動作の一例を示すフローチャートである。まず、MPU8は、ユーザ領域の全てを更新範囲として設定する(S12)。次に、MPU8は、更新範囲において区分毎に冗長セクタデータ生成処理を行い(S13)、生成した1つの冗長セクタデータをディスク媒体15に書き込む単一冗長セクタデータ書き込み処理を行う(S14)。次に、MPU8は、更新範囲の全ての区分の冗長セクタデータを更新したか否かの判断を行い、全てを更新していない場合(S17,N)、処理S13へ戻り、全てを更新した場合(S17,Y)、このフローは終了する。
次に、処理S13の冗長セクタデータ生成処理について説明する。
冗長セクタデータ生成処理は、対象の区分のユーザデータを読み出し、冗長演算部21によりユーザデータから冗長セクタデータを生成する処理である。図5は、本実施の形態に係る冗長セクタデータ生成処理の動作の一例を示すフローチャートである。まず、MPU8は、対象の区分の先頭LBA及び最終LBA、処理対象セクタ数、セクタ配置をフォーマット制御部5に設定する(S21)。セクタ配置は、冗長セクタデータの生成に用いる通常セクタの配置を示し、読み出す通常セクタの順序を指定するものである。ここでは、上述したように対象の区分内の通常セクタは連続して配置されており、MPU8は、連続する通常セクタを読み出すようにセクタ配置を指定する。次に、MPU8は、冗長演算部21の演算結果メモリ31を初期化(0クリア)する(S22)。次に、MPU8は、フォーマット制御部5を起動し、対象のユーザデータを読み出させ、冗長演算部21へ入力させる(S23)。次に、MPU8は、動作が終了したか否かの判断を行い、動作が終了していない場合(S24,N)、処理S24へ戻り、動作が終了した場合(S24,Y)、このフローは終了する。
次に、冗長セクタデータ生成処理中の冗長演算部21の動作について説明する。まず、演算結果メモリ31における1セクタ分のデータは全て0に初期化されるため、最初のユーザデータである入力データは、そのまま演算結果データとして演算結果メモリ31に保持される。その後のユーザデータと演算結果データは、ビット位置毎にXOR演算され、演算結果データとして演算結果メモリ31に上書きされていく。冗長セクタデータ生成処理が終了した時点で、演算結果メモリ31に保持された演算結果データが、冗長セクタデータとなる。
また、最終LBAを含む区分である最終区分は、他の区分より通常セクタの数が少ない場合があるが、冗長セクタデータ生成処理において、区分内の全てのユーザデータが入力データとして入力されれば通常セクタの数に関わらず、冗長セクタデータを得ることができる。
次に、単一冗長セクタデータ書き込み処理について説明する。
図6は、本実施の形態に係る単一冗長セクタデータ書き込み処理の動作の一例を示すフローチャートである。まず、MPU8は、演算結果メモリ31に保持された冗長セクタデータをデータバッファ4へコピーする(S31)。次に、MPU8は、通常のデータバッファ4内のユーザデータをディスク媒体15に書き込む処理と同様、データバッファ4内の冗長セクタデータをディスク媒体15に書き込み(S32)、このフローは終了する。
従来のユーザデータの書き込みと同様にして、データバッファ4からディスク媒体15へ書き込む経路を、冗長セクタデータの書き込みに利用することにより、従来のハードディスク装置に本発明を適用することによるハードウェア規模の増加を少なくすることができる。また、第2冗長セクタデータ更新処理においても、全ての冗長セクタデータを一旦データバッファ4にコピーすることにより、全ての冗長セクタデータを連続して書き込むことができる。
上述したように、冗長セクタデータの更新は、上位装置からのコマンド(書き込みや読み出しなど)の受領をしていないタイミングで行うことが望ましい。ハードディスク装置において読み出し不可能なエラーセクタが発生するケースは稀であるため、上位装置からのコマンド受領タイミングまたはその直後などに冗長セクタデータの更新を行う必要性は無い。冗長セクタデータの更新の頻度が高いと、処理のオーバヘッドが増加することにより、ハードディスク装置の性能が低下してしまうためである。
次に、ユーザデータ読み出し処理、ディスク媒体走査処理について説明する。
MPU8が上位装置から読み出し命令を受け、対象となる通常セクタの全てが正常に読み出された場合、冗長セクタデータに関する処理は必要とされず、対象のユーザデータを上位装置に送るだけでよい。一方、ユーザデータ読み出し処理において、リカバリできないセクタであるエラーセクタがあった場合、エラーセクタに書き込まれているデータであるエラーセクタデータを復元するエラーセクタデータ復元処理を行う。
また、MPU8が上位装置からディスク媒体走査命令を受けた場合、MPU8は、ディスク媒体15上のユーザ領域における全てのセクタをユーザデータ読み出し処理と同様にして読み出し、エラーセクタの検出を行うディスク媒体走査処理を行う。このディスク媒体走査処理により、エラーセクタがあった場合、ユーザデータ読み出し処理と同様、エラーセクタデータ復元処理を行う。
また、所定の期間毎に、MPU8は、ディスク媒体15上のユーザ領域における全てのセクタをユーザデータ読み出し処理と同様にして読み出すディスク媒体走査処理を行う。このディスク媒体走査処理により、エラーセクタがあった場合、ユーザデータ読み出し処理と同様、エラーセクタデータ復元処理を行う。
次に、エラーセクタデータ復元処理について説明する。
図7は、本実施の形態に係るエラーセクタデータ復元処理の動作の一例を示すフローチャートである。まず、MPU8は、演算結果メモリ31を初期化し(S44)、上述したセクタ配置に従って、ディスク媒体15からエラーセクタが所属する区分内の通常セクタを読み出し、読み出し可能な(エラーセクタデータ以外の)ユーザデータを冗長演算部21へ入力する(S45)。次に、MPU8は、その区分に対応する冗長セクタデータをディスク媒体15から読み出し、冗長演算部21へ入力する(S46)。このとき、冗長演算部21の動作により、演算結果メモリ31における演算結果データは、エラーセクタのデータが復元されたものである復元データとなる。次に、MPU8は、演算結果メモリ31から復元データを読み出し、上位装置に送る(S47)。次に、MPU8は、エラーセクタの代わりに他の空きセクタを割り当てる交代(リアサイン)処理を行い(S48)、このフローは終了する。
上述したように、対象とする区分内のエラーセクタデータ以外のユーザデータと冗長セクタデータとに対してXOR演算を行うことにより、エラーセクタデータを復元することができる。また、XOR演算部32は、入力データであるセクタの順序を変えても演算結果データが変わらないことから、ある区分について全ての通常セクタのユーザデータをいかなるセクタ順で入力しても、最終的な演算結果データとして冗長セクタデータを得ることができ、エラーセクタが存在数する区分についてエラーセクタデータ以外のユーザデータと冗長セクタデータとをいかなるセクタ順で入力しても、最終的な演算結果データとしてエラーセクタデータを得ることができる。また、最後の区分のように他の区分よりも通常セクタの数が少ない区分であっても、全ての通常セクタのユーザデータを用いることにより他の区分と同様に冗長セクタデータ生成処理とエラーセクタデータ復元処理を行うことができる。
なお、本実施の形態においては、冗長セクタデータ生成処理とエラーセクタデータ復元処理のためにXOR演算部32を用いたが、入力データとする複数のセクタの順番を変えても演算結果が変わらない演算であれば、他の演算を用いても良い。また、本実施の形態においては、入力データと演算結果データをセクタ単位としたが、バイト単位、ワード単位など、他のデータ長を単位としても良い。
本実施の形態によれば、読み出しエラーが発生した場合であっても、エラーセクタのデータを復元することができるため、ディスク装置の信頼性が飛躍的に高まる。また、上位装置からの指示または空き時間に従って、冗長データセクタの更新を行うことにより、上位装置への応答時間の増加を抑えることができる。
実施の形態2.
本実施の形態においては、複数の冗長セクタデータをまとめて書き込むハードディスク装置について説明する。
本実施の形態に係るハードディスク装置の構成は、実施の形態1と同様である。
次に、ディスク媒体15上のユーザ領域におけるセクタ配置について説明する。
図8は、本実施の形態に係るディスク媒体上のユーザ領域のセクタ配置の一例を示す配置図である。この場合、実施の形態1に示した全ての通常セクタの後に、全ての冗長セクタが連続して配置される。
次に、本実施の形態に係るハードディスク装置の動作について説明する。
実施の形態1と比較すると、本実施の形態には冗長セクタデータ更新処理が異なる。図9は、本実施の形態に係る冗長セクタデータ更新処理の動作の一例を示すフローチャートである。この図において、図4と同一符号は図4に示された対象と同一又は相当物を示しており、ここでの説明を省略する。処理S13の後、MPU8は、生成されたそれぞれの冗長セクタデータが重ならないように、演算結果メモリ31に保持された冗長セクタデータを一旦データバッファ4に格納する(S15)。次に、MPU8は、更新範囲の全ての冗長セクタデータをデータバッファ4上に格納したか否かの判断を行う(S18)。生成していない場合(S18,N)、処理S13へ戻り、生成した場合(S18,Y)、MPU8は、データバッファ4上の全ての冗長セクタデータを一括してディスク媒体15へ書き込み(S19)、このフローは終了する。
本実施の形態によれば、複数の冗長セクタデータを連続して書き込むことができるため、冗長セクタデータの書き込み時間を短縮することができる。
実施の形態3.
本実施の形態においては、1つの区分にエラーセクタが2セクタ連続した場合であってもエラーセクタのデータを復元することができるハードディスク装置について説明する。
本実施の形態に係るハードディスク装置の構成は、実施の形態1と同様である。
次に、ディスク媒体15上のユーザ領域におけるセクタ配置について説明する。
図10は、本実施の形態に係るディスク媒体上のユーザ領域におけるセクタ配置の一例を示す配置図である。この図は、通常セクタと冗長セクタの配置を示す。また、この図は、区分を区分番号で表し、通常セクタをそのセクタに割り当てられたLBAで表し、冗長セクタを対応する区分番号で表す。ここでは、連続する2m個のLBAを持つユーザデータが2つの区分に交互に配置され、区分毎に1つの冗長セクタが挿入される。
例えば、連続するm個のLBA(0)〜LBA(m−1)を持つ通常セクタのうち偶数のLBA(0),LBA(2),…LBA(m−2)を持つm個の通常セクタと、次に連続するm個のLBA(m)〜LBA(2m−1)を持つ通常セクタのうち奇数のLBA(m+1),LBA(m+3),…LBA(2m−1)を交互に配置し、1行目として示した区分0とし、この区分0内のm個の通常セクタから得られる冗長セクタ0をこの区分の後に挿入する。同様に、LBA(m)〜LBA(2m−1)を持つ通常セクタのうち偶数のLBA(m),LBA(m+2),…LBA(2m−2)を持つm個の通常セクタと、LBA(0)〜LBA(m−1)を持つ通常セクタのうち奇数のLBA(1),LBA(3),…LBA(m−1)を交互に配置し、2行目として示した区分1とし、この区分1内のm個の通常セクタから得られる冗長セクタ1を挿入する。
つまり、1行目の区分0には、通常セクタLBA(0),LBA(m+1),LBA(2,LBA(m+3),…LBA(m−2),LBA(2m−1)と冗長セクタ0が配置され、2行目の区分1には、通常セクタLBA(m),LBA(1),LBA(m+2),LBA(3),…LBA(2m−2),LBA(m−1)と冗長セクタ1が配置される。
次に、本実施の形態に係るハードディスク装置の動作について説明する。
冗長セクタデータ更新処理は、実施の形態1と同様である。
実施の形態1と比較すると、処理S22におけるセクタ配置の指定が異なる。ここで、MPU8は、セクタ配置として、上述したように2つの区分に交互に配置された通常セクタの順序を指定する。
このセクタ配置を用いることにより、実施の形態1と同様の冗長セクタデータ生成処理やエラーセクタデータ復元処理を行うことができ、必要な通常セクタが読み出される。
本実施の形態によれば、エラーセクタが2セクタ連続する場合であっても、2つの区分に1つずつエラーセクタが存在することになり、区分毎にエラーセクタデータ復元処理を行うことにより、2セクタ連続するエラーセクタを復元することができる。
実施の形態4.
本実施の形態においては、1つの区分にエラーセクタが2セクタ連続した場合であってもエラーセクタのデータを復元することができ、かつ処理時間を短縮することができるハードディスク装置について説明する。
本実施の形態に係るハードディスク装置の構成は、実施の形態1と同様であるが、冗長演算部21において、演算結果メモリ31は、2セクタ分の容量を持ち、XOR演算部32は、外部からの2セクタ分の入力データと演算結果メモリ31に保持された2セクタ分の演算結果データに対して、ビット位置毎のXOR演算を行う。
次に、ディスク媒体15上のユーザ領域におけるセクタ配置について説明する。
本実施の形態におけるセクタ配置は、実施の形態3と同様である。例えば、図11に示すように、1行目の区分0には、LBA(0),LBA(m+1),LBA(2),LBA(m+3),…LBA(m−2),LBA(2m−1)と冗長セクタデータ0が配置され、2行目の区分1には、LBA(m),LBA(1),LBA(m+2),LBA(3),…LBA(2m−2),LBA(m−1)と冗長セクタデータ1が配置される。
本実施の形態に係る冗長セクタデータ生成処理及びエラーセクタデータ復元処理において、MPU8は、セクタ配置に従って、2セクタずつ読み出し、冗長演算部21は、2セクタずつのXOR演算を行う。この例においては、LBA(0),LBA(1)の2セクタが一度に読み出され、冗長演算部21の入力データとなる。その後、LBA(2),LBA(3)の2セクタ,…LBA(m−2),LBA(m−1)の2セクタがそれぞれ読み出され、冗長演算部21の入力データとなる。最終的に演算結果データ31には、2セクタ分の冗長セクタデータまたはエラーセクタデータが出来上がる。
本実施の形態によれば、エラーセクタが2セクタ連続する場合であっても、2つの区分に1つずつエラーセクタが存在することになり、区分毎にエラーセクタデータ復元処理を行うことにより、2セクタ連続するエラーセクタを復元することができる。更に、2セクタ分の演算結果メモリ31と2セクタ分のXOR演算部32を用いることにより、冗長セクタデータ生成処理及びエラーセクタデータ復元処理に要する時間は、実施の形態3と比較しておよそ1/2に短縮することができる。
なお、本実施の形態において、演算結果メモリ31とXOR演算部32のデータ長を2セクタ分としたが、他のデータ長としても良い。また、本実施の形態においては、連続するLBAを持つ通常セクタを2つの区分に交互に配置するとしたが、連続するLBAを持つ通常セクタを複数の区分に所定の規則で配置しても良い。
実施の形態5.
本実施の形態においては、データバッファやMPUの負荷を軽減するハードディスク装置について説明する。
まず、本実施の形態に係るハードディスク装置の構成について説明する。
図11は、本実施の形態に係るハードディスク装置の構成の一例を示すブロック図である。この図において、図1と同一符号は図1に示された対象と同一又は相当物を示しており、ここでの説明を省略する。この図は、図1と比較すると、新たに冗長演算部21からフォーマット制御部5への経路を備える。
次に、本実施の形態に係るハードディスク装置の動作について説明する。
冗長セクタデータ更新処理は、実施の形態1と同様であるが、単一セクタデータ書き込み処理が異なる。その他の動作は、実施の形態1と同様である。
図12は、本実施の形態に係る単一冗長セクタデータ書き込み処理の動作の一例を示すフローチャートである。まず、MPU8は、冗長演算部21から直接ディスク媒体15へ演算結果メモリ31のデータを書き込めるように、フォーマット制御部5に対してデータの経路の設定を行う(S33)。次に、MPU8は、データバッファ4内のユーザデータをディスク媒体15に書き込む手順と同様にして、演算結果メモリ31内の冗長セクタデータをディスク媒体15に書き込み(S34)、このフローは終了する。
実施の形態1と比較すると、冗長演算部21における演算結果メモリ31に保持された冗長セクタデータが、フォーマット制御部5を介して直接ディスク媒体15に書き込まれることにより、データバッファ4やMPU8(ファームウェア)の負荷を削減することができる。
実施の形態6.
本実施の形態においては、ユーザ領域の一部の範囲に冗長セクタを付加するハードディスク装置について説明する。
ここで、ユーザ領域のうち冗長セクタを付加する通常セクタの集合を復元対象範囲とし、この復元対象範囲内の通常セクタが区分に分けられる。従って、復元対象範囲の通常セクタにエラーセクタがあった場合のみ、エラーセクタデータ復元処理が行われる。
まず、本実施の形態に係るハードディスク装置の構成は、実施の形態1と同様である。
次に、本実施の形態に係るハードディスク装置の動作について説明する。
まず、復元対象範囲が設定されている場合の電源投入時の処理である復元対象範囲識別処理について説明する。
図13は、本実施の形態に係る復元対象範囲識別処理の動作の一例を示すフローチャートである。まず、MPU8は、SPM13の起動を行う(S81)。次に、MPU8は、システム領域からハードディスク装置制御に必要な制御情報を読み出し(S82)、読み出した制御情報に基づいてハードディスク装置の設定を行う(S83)。次に、MPU8は、システム領域から復元対象範囲の先頭LBA及び最終LBAを読み出し(S84)、読み出した情報に基づいて復元対象範囲の設定を行い(S85)、このフローは終了する。
上述した復元対象範囲の設定により、冗長セクタデータ更新処理における更新範囲は、復元対象範囲に設定される。その他の動作は、実施の形態1と同様である。
本実施の形態によれば、復元の必要な通常セクタに対してだけ冗長セクタを付加することにより、ハードディスク装置内のメモリ9やディスク媒体15上のシステム領域などのリソースの消費を抑えることができる。
実施の形態7.
本実施の形態においては、区分毎にそのサイズを変えることができるハードディスク装置について説明する。
上述した実施の形態において、区分のサイズである区分サイズは、一定であるとしたが、本実施の形態においては、例えば、アクセス頻度の高い領域は、区分サイズを小さくし、アクセス頻度の低い領域は、区分サイズを大きくするなど、区分サイズを設定することができる。
まず、本実施の形態に係るハードディスク装置の構成は、実施の形態1と同様である。
次に、本実施の形態に係るハードディスク装置の動作について説明する。
次に、復元対象範囲が設定されている場合の電源投入時の処理である復元対象範囲識別処理について説明する。
まず、区分サイズが設定されている場合の電源投入時処理である区分サイズ識別処理について説明する。図14は、本実施の形態に係る区分サイズ識別処理の動作の一例を示すフローチャートである。まず、処理S81,S82,S83は、実施の形態6と同様である。次に、MPU8は、システム領域から区分サイズを含む区分情報を読み出し(S86)、読み出した情報に基づいて各区分の区分サイズなどの設定を行い(S87)、このフローは終了する。
ここで、ディスク媒体15上のシステム領域に保存される区分情報について説明する。図15は、本実施の形態に係る区分情報の一例を示す表である。区分情報は、区分毎に、区分開始LBA、冗長セクタデータの有無、区分サイズを持つ。この例の場合、LBA(0x00000000)〜LBA(0x0000ffff)の領域は、区分サイズが0x0800セクタずつとなる区分に割り当てられ、各区分には冗長セクタが割り当てられる。また、LBA(0x00010000)〜LBA(0x0001ffff)の領域は、区分サイズが0x10000セクタずつとなる区分に割り当てられ、各区分には冗長セクタが割り当てられる。また、LBA(0x00020000)〜最終セクタの領域は、区分や冗長セクタが割り当てられない。
上述した復元対象範囲の設定により、冗長セクタデータ更新処理における更新範囲は、冗長セクタデータがある領域に設定される。その他の動作は、実施の形態1と同様である。
このような区分情報をシステム領域に保持しておくことにより、ハードディスク装置の用途毎、あるいはハードディスク装置のユーザ毎に区分や冗長セクタの割り当てを変更することができる。また、更新の多いユーザ領域、即ちエラーセクタの発生する確率の高い領域の冗長セクタデータの割合を多くすることにより、ハードディスク装置のリソースを効率的に使用することができるとともに、データを復元できる可能性が大幅に増大し、ハードディスク装置の信頼性を大幅に高めることができる。
なお、第1ブロックは、実施の形態における通常セクタに対応する。また、第2ブロックは、実施の形態における区分に対応する。また、第3ブロックは、実施の形態における冗長セクタに対応する。また、記憶媒体は、実施の形態におけるディスク媒体に対応する。また、更新対象は、実施の形態における更新範囲に対応する。また、演算データは、実施の形態における演算結果データに対応する。また、演算部は、実施の形態における冗長演算部に対応する。また、書き込み部及び読み出し部は、実施の形態におけるMPU、データバッファ、バッファ制御部、フォーマット制御部に対応する。また、演算ステップは、実施の形態における処理S13に対応する。また、書き込みステップは、実施の形態における処理S14または処理S19に対応する。
更に、記憶データ処理装置を構成するコンピュータにおいて上述した各ステップを実行させるプログラムを、記憶データ処理プログラムとして提供することができる。上述したプログラムは、コンピュータにより読取り可能な記録媒体に記憶させることによって、記憶データ処理装置を構成するコンピュータに実行させることが可能となる。ここで、上記コンピュータにより読取り可能な記録媒体としては、ROM(Read Only Memory)やRAM(Random Access Memory)等のコンピュータに内部実装される内部記憶装置、CD(Compact Disc)−ROMやフレキシブルディスク、DVD(Digital Versatile Disk)ディスク、光磁気ディスク、IC(Integrated Circuit)カード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
また、本実施の形態に係るMPU8及び冗長演算部21は、記憶装置に容易に適用することができ、記憶装置の性能をより高めることができる。ここで、記憶装置には、例えば磁気ディスク装置、光ディスク装置、光磁気ディスク装置等が含まれ得る。
(付記1) 所定のデータ長の第1ブロックを単位としてデータが配置され、且つ複数の前記第1ブロックで構成される第2ブロックを単位として前記第1ブロックが配置され、且つ前記第2ブロックに対応して前記第1ブロック長を持つ第3ブロックが配置される記憶媒体に対して少なくとも書き込み処理を行う記憶装置に用いられる記憶データ処理装置において、
更新対象として指定された第2ブロック中の全ての第1ブロックのデータについてビット位置毎の演算を行い、該演算の結果を演算データとして出力する演算部と、
前記演算部により出力された演算データを、前記更新対象に対応付けられた第3ブロックへ書き込む書き込み部と
を備える記憶データ処理装置。
(付記2) 付記1に記載の記憶データ処理装置において、
前記演算部は、前記演算データを初期化し、前記更新対象中の各々の第1ブロックのデータを順次、前記演算の入力データとし、該入力データと前記演算データについてビット位置毎の演算を行い、該演算の結果を新たな演算データとして記憶し、該演算と該記憶を全ての前記入力データについて繰り返し、前記演算データを出力することを特徴とする記憶データ処理装置。
(付記3) 付記1または付記2に記載の記憶データ処理装置において、
更に、読み出し対象として指定された第1ブロックからデータを読み出し、該データの読み出しに失敗した場合、前記読み出しに失敗した第1ブロックをエラーブロックとし、前記読み出し対象を含む第2ブロック中の該エラーブロック以外の全ての第1ブロックのデータである正常データを読み出し、該第2ブロックに対応する第3ブロックのデータである冗長データを読み出す読み出し部を備え、
前記演算部は更に、前記正常データと前記冗長データについてビット位置毎の演算を行い、該演算の結果を前記エラーブロックのデータとすることを特徴とする記憶データ処理装置。
(付記4) 付記3に記載の記憶データ処理装置において、
前記演算部は、前記演算データを初期化し、各々の前記正常データと前記冗長データを順次、前記演算の入力データとし、該入力データと前記演算データについてビット位置毎の演算を行い、該演算の結果を新たな演算データとして記憶し、該演算と該記憶を全ての前記入力データについて繰り返し、前記演算データを出力することを特徴とする記憶データ処理装置。
(付記5) 付記1乃至付記4のいずれかに記載の記憶データ処理装置において、
前記演算部による演算は、順次演算を行う順序を変えても演算結果が変わらない演算であることを特徴とする記憶データ処理装置。
(付記6) 付記5に記載の記憶データ処理装置において、
前記演算部による演算は、排他的論理和であることを特徴とする記憶データ処理装置。
(付記7) 付記1乃至付記6のいずれかに記載の記憶データ処理装置において、
前記第1ブロックは、少なくとも1つのセクタであり、前記第3ブロックは、前記第1ブロック長を持ち、前記演算データは、前記第1ブロック長を持つことを特徴とする記憶データ処理装置。
(付記8) 付記7に記載の記憶データ処理装置において、
前記記憶媒体において、第2ブロックは、連続したアドレスを持つセクタで構成されることを特徴とする記憶データ処理装置。
(付記9) 付記7に記載の記憶データ処理装置において、
前記記憶媒体において、連続したアドレスを持つセクタは、所定の規則に基づいて複数の前記第2ブロックに配置されることを特徴とする記憶データ処理装置。
(付記10) 付記1乃至付記9のいずれかに記載の記憶データ処理装置において、
前記演算部は、外部装置からのデータ読み出し指示またはデータ書き込み指示による処理を行っていないときに、前記更新対象に対する前記演算を行うことを特徴とする記憶データ処理装置。
(付記11) 付記3乃至付記10のいずれかに記載の記憶データ処理装置において、
前記読み出し部は更に、前記エラーブロックの交代処理を行うことを特徴とする記憶データ処理装置。
(付記12) 付記3乃至付記11のいずれかに記載の記憶データ処理装置において、
前記読み出し部は、外部装置からデータ読み出し指示を受けた場合、該データ読み出し指示の対象を前記読み出し対象として指定し、前記正常データと前記演算部により得られた前記エラーブロックのデータとを前記外部装置へ出力することを特徴とする記憶データ処理装置。
(付記13) 付記3乃至付記12のいずれかに記載の記憶データ処理装置において、
前記読み出し部は、外部装置から検査指示を受けた場合、前記記録媒体における所定の範囲を読み出し対象として指定することを特徴とする記憶データ処理装置。
(付記14) 付記3乃至付記12のいずれかに記載の記憶データ処理装置において、
前記読み出し部は、所定の期間が経過した場合、前記記録媒体における所定の範囲を読み出し対象として指定することを特徴とする記憶データ処理装置。
(付記15) 記憶装置における記憶データ処理をコンピュータに実行させる記憶データ処理プログラムであって、
所定のデータ長の第1ブロックを単位としてデータが配置され、且つ複数の前記第1ブロックで構成される第2ブロックを単位として前記第1ブロックが配置され、且つ前記第2ブロックに対応して前記第1ブロック長を持つ第3ブロックが配置される記憶媒体において、更新対象として指定された第2ブロック中の全ての第1ブロックのデータを用いてビット位置毎の演算を行い、該演算の結果を演算データとして出力する演算ステップと、
前記演算ステップにより出力された演算データを、前記更新対象に対応付けられた第3ブロックへ書き込む書き込みステップと
をコンピュータに実行させる記憶データ処理プログラム。
(付記16) 所定のデータ長の第1ブロックを単位としてデータが配置され、且つ複数の前記第1ブロックで構成される第2ブロックを単位として前記第1ブロックが配置され、且つ前記第2ブロックに対応して前記第1ブロック長を持つ第3ブロックが配置される記憶媒体に対して少なくとも書き込み処理を行う記憶装置において、
更新対象として指定された第2ブロック中の全ての第1ブロックのデータについてビット位置毎の演算を行い、該演算の結果を演算データとして出力する演算部と、
前記演算部により出力された演算データを、前記更新対象に対応付けられた第3ブロックへ書き込む書き込み部と
を備える記憶装置。
(付記17) 付記16に記載の記憶装置において、
前記演算部は、前記演算データを初期化し、前記更新対象中の各々の第1ブロックのデータを順次、前記演算の入力データとし、該入力データと前記演算データについてビット位置毎の演算を行い、該演算の結果を新たな演算データとして記憶し、該演算と該記憶を全ての前記入力データについて繰り返し、前記演算データを出力することを特徴とする記憶装置。
(付記18) 付記16または付記17に記載の記憶装置において、
更に、読み出し対象として指定された第1ブロックからデータを読み出し、該データの読み出しに失敗した場合、前記読み出しに失敗した第1ブロックをエラーブロックとし、前記読み出し対象を含む第2ブロック中の該エラーブロック以外の全ての第1ブロックのデータである正常データを読み出し、該第2ブロックに対応する第3ブロックのデータである冗長データを読み出す読み出し部を備え、
前記演算部は更に、前記正常データと前記冗長データについてビット位置毎の演算を行い、該演算の結果を前記エラーブロックのデータとすることを特徴とする記憶装置。
(付記19) 付記18に記載の記憶装置において、
前記演算部は、前記演算データを初期化し、各々の前記正常データと前記冗長データを順次、前記演算の入力データとし、該入力データと前記演算データについてビット位置毎の演算を行い、該演算の結果を新たな演算データとして記憶し、該演算と該記憶を全ての前記入力データについて繰り返し、前記演算データを出力することを特徴とする記憶装置。
(付記20) 付記16乃至付記19のいずれかに記載の記憶装置において、
前記演算部による演算は、順次演算を行う順序を変えても演算結果が変わらない演算であることを特徴とする記憶装置。
実施の形態1に係るハードディスク装置の構成の一例を示すブロック図である。 実施の形態1に係る冗長演算部の構成の一例を示すブロック図である。 実施の形態1に係るディスク媒体上のユーザ領域におけるセクタ配置の一例を示す配置図である。 実施の形態1に係る冗長セクタデータ更新処理の動作の一例を示すフローチャートである。 実施の形態1に係る冗長セクタデータ生成処理の動作の一例を示すフローチャートである。 実施の形態1に係る単一冗長セクタデータ書き込み処理の動作の一例を示すフローチャートである。 実施の形態1に係るエラーセクタデータ復元処理の動作の一例を示すフローチャートである。 実施の形態2に係るディスク媒体上のユーザ領域のセクタ配置の一例を示す配置図である。 実施の形態2に係る冗長セクタデータ更新処理の動作の一例を示すフローチャートである。 実施の形態3に係るディスク媒体上のユーザ領域におけるセクタ配置の一例を示す配置図である。 実施の形態5に係るハードディスク装置の構成の一例を示すブロック図である。 実施の形態5に係る単一冗長セクタデータ書き込み処理の動作の一例を示すフローチャートである。 実施の形態6に係る復元対象範囲識別処理の動作の一例を示すフローチャートである。 実施の形態7に係る区分サイズ識別処理の動作の一例を示すフローチャートである。 実施の形態7に係る区分情報の一例を示す表である。
符号の説明
2 ホストIF制御部、3 データバッファ制御部、4 データバッファ、5 フォーマット制御部、6 リードチャネル、7 ヘッドIC、8 MPU、9 メモリ、10 不揮発性メモリ、11 サーボ制御部、12 VCM、13 SPM、14 ヘッド、15 ディスク媒体、16 コモンバス、21 冗長演算部、31 演算結果メモリ、32 XOR演算部。

Claims (6)

  1. 所定のデータ長の第1ブロックを単位としてデータが配置され、且つ複数の前記第1ブロックで構成される第2ブロックを単位として前記第1ブロックが配置され、且つ前記第2ブロックに対応して前記第1ブロック長を持つ第3ブロックが配置される記憶媒体に対して少なくとも書き込み処理を行う記憶装置に用いられる記憶データ処理装置において、
    更新対象として指定された第2ブロック中の全ての第1ブロックのデータについてビット位置毎の演算を行い、該演算の結果を演算データとして出力する演算部と、
    前記演算部により出力された演算データを、前記更新対象に対応付けられた第3ブロックへ書き込む書き込み部と
    を備える記憶データ処理装置。
  2. 請求項1に記載の記憶データ処理装置において、
    前記演算部は、前記演算データを初期化し、前記更新対象中の各々の第1ブロックのデータを順次、前記演算の入力データとし、該入力データと前記演算データについてビット位置毎の演算を行い、該演算の結果を新たな演算データとして記憶し、該演算と該記憶を全ての前記入力データについて繰り返し、前記演算データを出力することを特徴とする記憶データ処理装置。
  3. 請求項1または請求項2に記載の記憶データ処理装置において、
    更に、読み出し対象として指定された第1ブロックからデータを読み出し、該データの読み出しに失敗した場合、前記読み出しに失敗した第1ブロックをエラーブロックとし、前記読み出し対象を含む第2ブロック中の該エラーブロック以外の全ての第1ブロックのデータである正常データを読み出し、該第2ブロックに対応する第3ブロックのデータである冗長データを読み出す読み出し部を備え、
    前記演算部は更に、前記正常データと前記冗長データについてビット位置毎の演算を行い、該演算の結果を前記エラーブロックのデータとすることを特徴とする記憶データ処理装置。
  4. 請求項3に記載の記憶データ処理装置において、
    前記演算部は、前記演算データを初期化し、各々の前記正常データと前記冗長データを順次、前記演算の入力データとし、該入力データと前記演算データについてビット位置毎の演算を行い、該演算の結果を新たな演算データとして記憶し、該演算と該記憶を全ての前記入力データについて繰り返し、前記演算データを出力することを特徴とする記憶データ処理装置。
  5. 記憶装置における記憶データ処理をコンピュータに実行させる記憶データ処理プログラムにおいて、
    所定のデータ長の第1ブロックを単位としてデータが配置され、且つ複数の前記第1ブロックで構成される第2ブロックを単位として前記第1ブロックが配置され、且つ前記第2ブロックに対応して前記第1ブロック長を持つ第3ブロックが配置される記憶媒体において、更新対象として指定された第2ブロック中の全ての第1ブロックのデータを用いてビット位置毎の演算を行い、該演算の結果を演算データとして出力する演算ステップと、
    前記演算ステップにより出力された演算データを、前記更新対象に対応付けられた第3ブロックへ書き込む書き込みステップと
    をコンピュータに実行させる記憶データ処理プログラム。
  6. 所定のデータ長の第1ブロックを単位としてデータが配置され、且つ複数の前記第1ブロックで構成される第2ブロックを単位として前記第1ブロックが配置され、且つ前記第2ブロックに対応して前記第1ブロック長を持つ第3ブロックが配置される記憶媒体に対して少なくとも書き込み処理を行う記憶装置において、
    更新対象として指定された第2ブロック中の全ての第1ブロックのデータについてビット位置毎の演算を行い、該演算の結果を演算データとして出力する演算部と、
    前記演算部により出力された演算データを、前記更新対象に対応付けられた第3ブロックへ書き込む書き込み部と
    を備える記憶装置。
JP2006256751A 2006-09-22 2006-09-22 記憶データ処理装置、記憶装置、記憶データ処理プログラム Pending JP2008077782A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006256751A JP2008077782A (ja) 2006-09-22 2006-09-22 記憶データ処理装置、記憶装置、記憶データ処理プログラム
US11/650,725 US20080091971A1 (en) 2006-09-22 2007-01-08 Stored data processing apparatus, storage apparatus, and stored data processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006256751A JP2008077782A (ja) 2006-09-22 2006-09-22 記憶データ処理装置、記憶装置、記憶データ処理プログラム

Publications (1)

Publication Number Publication Date
JP2008077782A true JP2008077782A (ja) 2008-04-03

Family

ID=39304407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006256751A Pending JP2008077782A (ja) 2006-09-22 2006-09-22 記憶データ処理装置、記憶装置、記憶データ処理プログラム

Country Status (2)

Country Link
US (1) US20080091971A1 (ja)
JP (1) JP2008077782A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010033481A (ja) * 2008-07-31 2010-02-12 Fujitsu Ltd 仮想化スイッチおよびコンピュータシステム
JP2010061756A (ja) * 2008-09-05 2010-03-18 Toshiba Storage Device Corp 記憶データ処理装置、記憶装置、記憶データ処理プログラム及び方法
US8589725B2 (en) 2010-04-23 2013-11-19 Kabushiki Kaisha Toshiba Disk storage apparatus and method for recovering data

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307261B2 (en) * 2009-05-04 2012-11-06 National Tsing Hua University Non-volatile memory management method
US8902653B2 (en) 2011-08-12 2014-12-02 Micron Technology, Inc. Memory devices and configuration methods for a memory device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07211016A (ja) * 1994-01-11 1995-08-11 Hitachi Ltd ディスク記憶装置およびそのデータ記録方法
JPH0945013A (ja) * 1995-07-31 1997-02-14 Matsushita Electric Ind Co Ltd マルチメディアディスクレコーダ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07211016A (ja) * 1994-01-11 1995-08-11 Hitachi Ltd ディスク記憶装置およびそのデータ記録方法
JPH0945013A (ja) * 1995-07-31 1997-02-14 Matsushita Electric Ind Co Ltd マルチメディアディスクレコーダ

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010033481A (ja) * 2008-07-31 2010-02-12 Fujitsu Ltd 仮想化スイッチおよびコンピュータシステム
JP2010061756A (ja) * 2008-09-05 2010-03-18 Toshiba Storage Device Corp 記憶データ処理装置、記憶装置、記憶データ処理プログラム及び方法
US8589725B2 (en) 2010-04-23 2013-11-19 Kabushiki Kaisha Toshiba Disk storage apparatus and method for recovering data

Also Published As

Publication number Publication date
US20080091971A1 (en) 2008-04-17

Similar Documents

Publication Publication Date Title
US7702954B2 (en) Data storage apparatus having error recovery capability
TW201719416A (zh) 資料儲存裝置及其資料維護方法
JPH0773602A (ja) 光ディスク装置
US7627725B2 (en) Stored data processing apparatus, storage apparatus, and stored data processing program
US7487388B2 (en) Method of recovering reallocation sectors in data storage system and disc drive using the same
JP2008077782A (ja) 記憶データ処理装置、記憶装置、記憶データ処理プログラム
US20100058145A1 (en) Storage device and method of controlling storage device
JP4460596B2 (ja) ディスク管理方法、ディスク管理装置およびストレージシステム
US20100064198A1 (en) Stored data processing apparatus, storage apparatus, medium storing stored data processing program, and stored data processing method
US8589725B2 (en) Disk storage apparatus and method for recovering data
CN110310674B (zh) 盘装置以及数据管理方法
KR20110039416A (ko) 인터럽트된 기록 복구를 위한 데이터 저장 방법, 장치 및 시스템
US20110205654A1 (en) Control apparatus, nonvolatile storage apparatus and data initialization method
JP2006003971A (ja) 冗長化ドライブ群並びにこれを用いた書込み方法及び読出し方法
JP2007179085A (ja) ディスク装置、ディスク書込データ選択方法およびディスク書込データ選択プログラム
WO2021145406A1 (ja) 磁気記憶装置
JP2005242708A (ja) ファイル修復方法、およびファイル記録装置
JP2008299978A (ja) ディスク・ドライブ装置及びディスクからのデータ再生方法
JP2005004733A (ja) ストレージ・システムにおいて書込みエラーを検出するための配置構成および方法
JP2856054B2 (ja) ディスクアレイ装置
JP2021022324A (ja) 記憶制御装置および記憶制御プログラム
JP5380556B2 (ja) ディスク記憶装置及びデータ復元方法
US20100153669A1 (en) Storage device and storage device control method
JP2004206291A (ja) データ記憶装置及びデータ記憶方法
JPH07211016A (ja) ディスク記憶装置およびそのデータ記録方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090605

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20091022

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101124