JP2010146625A - 記憶装置および記憶装置制御方法 - Google Patents

記憶装置および記憶装置制御方法 Download PDF

Info

Publication number
JP2010146625A
JP2010146625A JP2008321558A JP2008321558A JP2010146625A JP 2010146625 A JP2010146625 A JP 2010146625A JP 2008321558 A JP2008321558 A JP 2008321558A JP 2008321558 A JP2008321558 A JP 2008321558A JP 2010146625 A JP2010146625 A JP 2010146625A
Authority
JP
Japan
Prior art keywords
data
sector
normal
redundant
stored
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
JP2008321558A
Other languages
English (en)
Inventor
Tadashi Yoshida
紀 吉田
Shigetomo Yanagi
茂知 柳
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.)
Toshiba Storage Device Corp
Original Assignee
Toshiba Storage Device Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Storage Device Corp filed Critical Toshiba Storage Device Corp
Priority to JP2008321558A priority Critical patent/JP2010146625A/ja
Priority to US12/637,674 priority patent/US20100153669A1/en
Publication of JP2010146625A publication Critical patent/JP2010146625A/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/1816Testing
    • G11B2020/1823Testing wherein a flag is set when errors are detected or qualified
    • 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

Abstract

【課題】メモリ資源を用いずに冗長セクタデータの有効性を判定することができる記憶装置および記憶装置制御方法を提供すること。
【解決手段】ユーザデータが記憶される複数のセクタ毎にかかるセクタに記憶されているデータを復旧するためのデータを記憶する冗長セクタを設けるとともに、各セクタに冗長セクタに記憶されているデータが有効であるか否かを示す情報である識別用コードを記憶させ、かかる識別用コードに基づいて、冗長セクタに記憶されているデータを用いてデータ復旧処理を行うことができるか否かを判定する。
【選択図】 図1−1

Description

本発明は、記憶装置および記憶装置制御方法に関する。
近年、磁気ディスク装置等の記憶装置の記憶容量は増加傾向にある。例えば、近年の磁気ディスク装置には、1[TB(テラバイト)]以上の記録容量を有するものもある。一般に、このような記憶装置は、記憶媒体の記録密度を向上させることにより大容量化を実現している。すなわち、大容量の記憶装置は、データの読み書き単位であるセクタに多くのデータを記録する。
このような大容量の記憶装置を用いると、データの読み出しエラーが発生した場合に被害を受けるデータが膨大になる。具体的には、上述したように、大容量の記憶装置は、1個のセクタに多くのデータを書き込むため、1個のセクタが読み出しエラーになった場合に、多くのデータを読み出せなくなる。特に、データを管理するディレクトリ情報等が記録されているセクタが読み出しエラーになった場合、記憶装置は、より多くのデータを読み出せなくなる。
そこで、近年では、読み出しエラーになったデータを復旧することができる記憶装置が提案されている(特許文献1〜4を参照)。例えば、特許文献1には、複数のセクタ毎に、かかるセクタに記憶されているデータの排他的論理和の計算結果を所定のセクタ(以下、「冗長セクタ」という)に記憶する磁気ディスク装置が開示されている。かかる磁気ディスク装置は、所定のセクタからデータを読み出せなかった場合に、冗長セクタに記憶されているデータを用いて、読み出しエラーになったデータを復旧する。
なお、以下では、冗長セクタに記憶されているエラー訂正用のデータを「冗長セクタデータ」と呼ぶこととする。また、ユーザデータ等が記憶される冗長セクタ以外のセクタを「通常セクタ」と呼ぶこととし、通常セクタに記憶されているデータを「通常セクタデータ」と呼ぶこととする。また、複数の通常セクタと、かかる複数の通常セクタに記憶されている通常セクタデータに基づいて生成された冗長セクタデータを記憶する冗長セクタとの組合せを「データ区分」と呼ぶこととする。
ところで、特許文献1に開示されている磁気ディスク装置は、冗長セクタデータが有効であるか否かを示す情報を所定のメモリ上に保持する。具体的に説明すると、特許文献1に開示されている磁気ディスク装置は、所定のデータ区分に属する一部の通常セクタデータを更新する場合、冗長セクタデータを更新しない。これは、一部の通常セクタデータを更新するたびに冗長セクタデータを更新する処理は、処理性能が低下してしまい現実的ではないからである。
ただし、通常セクタデータを更新したにも関わらず、冗長セクタデータを更新しない場合、磁気ディスク装置は、かかる冗長セクタデータを用いてデータ復旧処理を行うことができない。そこで、特許文献1に開示されている磁気ディスク装置は、各冗長セクタに対応付けて、冗長セクタデータを用いて通常セクタデータを復旧することが可能か否かを示す有効無効情報をメモリ上に保持する。
特開2008−77458号公報 特開平5−19979号公報 特開平5−35416号公報 特開平7−44326号公報
しかしながら、上記特許文献1に記載の磁気ディスク装置には、多くのメモリ資源を用いるという問題があった。特に、近年の磁気ディスク装置は、記憶媒体の記録密度向上に伴って冗長セクタの数も増大するので、上述した有効無効情報を保持するには多くのメモリ資源を用いるという問題があった。
例えば、1[TB]の容量を有する磁気ディスク装置の場合、記録媒体上のトラック数は、100万トラック程度になる。このため、1トラック毎に冗長セクタを設けると、100万個の有効無効情報が必要になり、多くのメモリ資源を用いることになる。
このように、有効無効情報を保持する磁気ディスク装置は、処理性能を低下させずにデータ復旧処理を行うことができる反面、多くのメモリ資源を用いるというデメリットを有していた。
なお、上述した問題は、磁気ディスク装置についてのみ発生する問題ではなく、例えば、光磁気ディスク装置、光ディスク装置、メモリディスク装置等の他の記憶装置にも発生する問題である。
開示の技術は、上述した従来技術による問題点を解消するためになされたものであり、メモリ資源を用いずに冗長セクタデータの有効性を判定することができる記憶装置および記憶装置制御方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本願に開示する記憶装置は、データが記憶されるセクタである通常セクタと、複数の通常セクタ毎に該通常セクタに記憶されているデータを復旧するためのデータが記憶されるセクタである冗長セクタとを有する記憶媒体と、前記複数の通常セクタと該複数の通常セクタに対応する冗長セクタとの組合せであるデータ区分に属する通常セクタにデータを書き込む場合に、該データ区分に属する冗長セクタに記憶されている冗長セクタデータが無効であることを示す情報である無効情報を、データ書き込み先の通常セクタに記憶させるように制御する制御部とを備えたことを要件とする。
なお、本願に開示する記憶装置の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも、他の態様として有効である。
本願に開示した記憶装置によれば、メモリ資源を用いずに冗長セクタデータの有効性を判定することができるという効果を奏する。
以下に、本願に開示する記憶装置および記憶装置制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例により本願に開示する記憶装置および記憶装置制御方法が限定されるものではない。例えば、以下の実施例では、本願に開示する記憶装置を磁気ディスク装置に適用する場合を例に挙げて説明するが、本願に開示する記憶装置は、光磁気ディスク装置、光ディスク装置、メモリディスク装置等の記憶装置にも適用することができる。
まず、実施例1に係る磁気ディスク装置100の概要について説明する。実施例1に係る磁気ディスク装置100の磁気記録媒体は、複数の通常セクタ毎に、通常セクタデータを復旧するためのデータを記憶する冗長セクタを有する。そして、磁気ディスク装置100は、それぞれの通常セクタに、冗長セクタデータが有効であるか否かを示す情報を記憶させる。なお、以下では、冗長セクタが有効であるか否かを示す情報を「識別用コード」と呼び、識別用コードが記憶される領域を「識別用領域」と呼ぶこととする。
具体的には、磁気ディスク装置100は、所定のデータ区分に対して、冗長セクタデータを更新せずに、通常セクタデータを更新する場合、かかる通常セクタの識別用領域に、冗長セクタデータが無効であることを示す識別用データを記憶させる。このような更新処理は、所定のデータ区分に属する一部の通常セクタを更新する場合に発生し得る。これは、上述したように、データ区分に属する一部の通常セクタデータを更新するたびに冗長セクタデータを更新すると、磁気ディスク装置100の処理性能が低下してしまうからである。
一方、磁気ディスク装置100は、所定のデータ区分に対して、冗長セクタデータと通常セクタデータとを更新する場合、かかる通常セクタの識別用領域に、冗長セクタデータが有効であることを示す識別用データを記憶させる。このような更新処理は、所定のデータ区分に属する全ての通常セクタを更新する場合に発生し得る。
上述した磁気ディスク装置100の概要について、図1−1および図1−2を用いて具体的に説明する。図1−1および図1−2は、実施例1に係る磁気ディスク装置の概要を説明するための図である。
図1−1および図1−2には、実施例1に係る磁気ディスク装置100が有する磁気記憶媒体111上の1個のデータ区分を示す。図1−1において、符号「K」〜「L−1」が示す矩形はそれぞれ通常セクタを示しており、符号「D1」が示す矩形は冗長セクタを示している。なお、符号「K」〜「L−1」、「D1」は、磁気記憶媒体111にアクセスする単位に付与されるLBA(Logical Block Address)を示すものとする。
また、図1−1に示すように、磁気記憶媒体111は、それぞれの通常セクタK〜L−1に、識別用領域KD〜LD−1を有する。磁気ディスク装置100は、かかる識別用領域KD〜LD−1に、冗長セクタD1に記憶されている冗長セクタデータが有効であるか否かを示す識別用コードを記憶させる。なお、本明細書では、識別用コード「M」は冗長セクタデータが有効であることを示し、識別用コード「N」は冗長セクタデータが無効であることを示すものとする。
これにより、磁気ディスク装置100は、識別用領域KD〜LD−1に記憶されている識別用コードを用いて、冗長セクタデータが有効であるか否かを判定することができる。例えば、図1−1の上段に示した状態において、磁気ディスク装置100は、通常セクタK+2からデータを読み出せなかったものとする。かかる場合、磁気ディスク装置100は、通常セクタK〜L−1の識別用領域KD〜LD−1に記憶されている識別用コードが全て「M」であるので、冗長セクタD1に記憶されている冗長セクタデータが有効であると判定することができる。そして、磁気ディスク装置100は、通常セクタK、K+1、K+3〜L−1に記憶されている通常セクタデータと、冗長セクタD1に記憶されている冗長セクタデータとの排他的論理和を計算することにより、通常セクタK+2に記憶されているデータを復旧することができる。
ここで、図1−1の上段に示した状態において、磁気ディスク装置100は、冗長セクタデータを更新せずに、通常セクタK+1に記憶されている通常セクタデータを更新するものとする。かかる場合、磁気ディスク装置100は、図1−1の下段に斜線を付して示したように、通常セクタK+1の識別用領域KD+1に、冗長セクタD1に記憶されている冗長セクタデータが無効であることを示す識別用コード「N」を記憶させる。
図1−1の下段に示した状態において、磁気ディスク装置100は、通常セクタK+2からデータを読み出せなかったものとする。かかる場合、磁気ディスク装置100は、通常セクタK〜L−1の識別用領域KD〜LD−1に記憶されている識別用コードに「M」が含まれるので、冗長セクタデータが無効であると判定することができる。このような場合、磁気ディスク装置100は、上述したような排他的論理和を計算することなく、読み出しエラーになったことを上位装置等に通知する。
このように、磁気ディスク装置100は、冗長セクタデータが有効であるか否かを示す情報を通常セクタに記憶させるので、メモリ資源を用いずに冗長セクタデータの有効性を判定することができる。
続いて、磁気ディスク装置100による冗長セクタデータ更新処理について説明する。磁気ディスク装置100は、所定のタイミングになった場合に、冗長セクタデータ更新処理を行う。なお、ここで言う「所定のタイミング」とは、例えば、磁気記憶媒体111へアクセスを行わないタイミング等を示す。
具体的には、磁気ディスク装置100は、所定のタイミングになった場合に、磁気記憶媒体111からデータ区分毎に通常セクタデータを読み出す。そして、磁気ディスク装置100は、読み出した通常セクタデータ内の識別用領域に、冗長セクタデータが無効であることを示す識別用コードが記憶されているか否かを判定する。そして、磁気ディスク装置100は、識別用領域に冗長セクタデータが無効であることを示す識別用コードが記憶されている場合、読み出した通常セクタデータを用いて冗長セクタデータを生成し、生成した冗長セクタデータを冗長セクタに記憶させる。
かかる冗長セクタデータ更新処理について図1−2を用いて具体的に説明する。図1−2の上段には、図1−1の下段に示した状態と同様の状態のデータ区分を示す。すなわち、図1−2の上段に示したデータ区分は、通常セクタK+1の識別用領域KD+1に、識別用コード「N」が記憶されている。
このような状態において、磁気ディスク装置100は、所定のタイミングになった場合に、通常セクタK〜L−1から通常セクタデータを読み出す。そして、磁気ディスク装置100は、識別用領域KD+1に識別用コード「N」が記憶されているため、読み出した通常セクタデータを用いて冗長セクタデータを生成する。そして、磁気ディスク装置100は、図1−2の上段に斜線を付して示したように、冗長セクタD1に記憶されている冗長セクタデータを、生成した冗長セクタデータに更新する。
続いて、磁気ディスク装置100は、図1−2の下段に斜線を付して示したように、識別用領域KD+1に記憶されている識別用コードを「N」から「M」に更新する。これにより、磁気ディスク装置100は、冗長セクタD1に記憶されている冗長セクタデータが有効であると判定することができる。
なお、一般的に、パーソナルコンピュータ(PC)等の上位装置は、動作中のほんのわずかな時間しか磁気ディスク装置100にアクセスしない。つまり、磁気ディスク装置100は、ほとんどの時間を上位装置からのコマンド待ち状態に費やす。したがって、図1−1の下段に示した例のように冗長セクタデータが無効になった場合であっても、磁気ディスク装置100は、即座に冗長セクタデータを有効な状態にすることができる。
このように、実施例1に係る磁気ディスク装置100は、冗長セクタデータが有効であるか否かを示す識別用コードを磁気記憶媒体111上の通常セクタに記憶させる。これにより、磁気ディスク装置100は、メモリ資源を用いずに冗長セクタデータの有効性を判定することができ、通常セクタデータを復旧することができる。その結果、磁気ディスク装置100は、磁気ディスクの信頼性を高めることができる。
次に、実施例1に係る磁気ディスク装置100と上位装置との関係について説明する。図2は、実施例1に係る磁気ディスク装置100と上位装置10との関係を示す図である。図2に示すように、磁気ディスク装置100は、パーソナルコンピュータ等の上位装置10とホストインタフェース(以下、「ホストIF」という)11を介して接続される。
次に、実施例1に係る磁気ディスク装置100の構成について説明する。図3は、実施例1に係る磁気ディスク装置100の構成を示す図である。図3に示すように、磁気ディスク装置100は、ホストIF11と、磁気記憶媒体111と、ヘッド112と、ボイスコイルモータ(以下、「VCM」という)113と、スピンドルモータ(以下、「SPM」という)114と、ヘッドIC(Integrated Circuit)115と、共有バス116と、ホストIF制御部120と、バッファ制御部130と、バッファメモリ131と、冗長生成部132と、識別コード部133と、フォーマット制御部140と、リードチャネル150と、MPU(Micro Processing Unit)160と、メモリ170と、不揮発メモリ180と、サーボ制御部190とを有する。
ホストIF11は、図2に示したように、磁気ディスク装置100と上位装置10とを接続するためのインタフェースである。磁気記憶媒体111は、金属またはガラス製などの円盤(ディスク)状の基板に磁性膜が形成されており、データを記憶する。上述したように、実施例1における磁気記憶媒体111は、複数の通常セクタ毎に冗長セクタを有する。
ここで、図4に、実施例1における磁気記憶媒体111に配置されるセクタの一例を示す。図4では、1行毎に1個のデータ区分を示している。例えば、図4に示した1行目は、通常セクタJ〜K−1と、通常セクタJ〜K−1の冗長セクタとの組合せにより形成されるデータ区分を示している。また、例えば、図4に示した2行目は、通常セクタK〜L−1と、通常セクタK〜L−1の冗長セクタとの組合せにより形成されるデータ区分を示している。
磁気記憶媒体111は、図4に示したような各データ区分を、同一のトラック上に有したり、異なるデータ区分に有したりする。例えば、磁気記憶媒体111は、図4に示した1〜4行目のデータ区分を同一のトラック上に有する。また、例えば、磁気記憶媒体111は、図4に示した各データ区分を異なるトラック上に有したり、図4に示した1、2行目のデータ区分を所定のトラックA上に有し、図4に示した3、4行目のデータ区分を所定のトラックB上に有したりする。また、例えば、磁気記憶媒体111は、1個のトラックに、1個のデータ区分を有する。
また、磁気記憶媒体111は、通常セクタ毎に、識別用領域を有する。ここで、図5に、実施例1における磁気記憶媒体111が有する通常セクタの構成例を示す。図5に示すように、磁気記憶媒体111の通常セクタは、PLL(Phase Locked Loop)パタンと、SB(sync byte)と、識別用領域と、ユーザデータと、CRC(Cyclic Redundancy Check)と、ECC(Error Correcting Code)との領域に分けられる。
PLLパタンは、磁気ディスク装置100におけるクロック信号を同期させるための信号が読み出される領域である。SBは、ユーザデータの開始を示す信号が読み出される領域である。識別用領域は、識別用コードが記憶される領域である。かかる識別用領域のサイズは、例えば、1[byte(バイト)]である。ユーザデータは、ユーザデータが記憶される領域である。CRCは、データの整合性を検証するためのデータが記憶される領域である。ECCは、通常セクタデータに含まれるエラーを訂正するためのECC情報が記憶される領域である。
このように、実施例1における磁気記憶媒体111は、通常セクタに識別用領域を有する。これにより、磁気ディスク装置100は、識別用領域に記憶されている識別用データに基づいて、かかる通常セクタが属するデータ区分の冗長セクタデータが有効であるか否かを判定することができる。
なお、図5に示した通常セクタの構成は一例であって、通常セクタは、図5に示した順番に各領域を有しなくてもよい。例えば、通常セクタは、通常セクタの先頭に識別用領域を設けてもよいし、通常セクタの後尾に識別用領域を設けてもよい。
図3の説明に戻って、ヘッド112は、磁気記憶媒体111の回転によって生じる揚力によって、磁気記憶媒体111の表面からわずかに浮いた状態を維持してデータの読み書きを実行する。なお、図3に示したヘッド112は、データを読み出すためのリードヘッドと、データを書き込むためのライトヘッドとを示すものとする。
VCM113は、サーボ制御部190によって駆動されるヘッド駆動機構であり、アームを磁気記憶媒体111上で回動させる。SPM114は、サーボ制御部190によって駆動される機構であり、磁気記憶媒体111を回転させる。
ヘッドIC115は、図示しないプリアンプを備えており、データの読み出し時に、ヘッド112によって読み出されたデータ信号を前置増幅する。共有バス116は、磁気ディスク装置100内の各処理部を接続し、処理部間における種々の情報の受け渡しを行う。
ホストIF制御部120は、ホストIF11を介して上位装置10に接続され、上位装置10との間の通信を制御する。バッファ制御部130は、バッファメモリ131を制御する。バッファメモリ131は、上位装置10と磁気ディスク装置100との間でやり取りされる情報などを一時的に記憶する。
冗長生成部132は、冗長セクタデータを生成する。ここで、図6に、冗長生成部132の構成例を示す。図6に示すように、冗長生成部132は、データメモリ132aと、XOR(Exclusive OR)演算部132bとを有する。データメモリ132aは、1セクタ分のデータを記憶する記憶容量を有し、後述するXOR演算部132bによって演算された演算結果データを記憶する。XOR演算部132bは、バッファ制御部130から入力される1セクタ分の通常セクタデータと、データメモリ132aに記憶されている演算結果データとのXOR演算をビット位置毎に行う。そして、XOR演算部132bは、新たな演算結果データをデータメモリ132aに記憶させる。
識別コード部133は、通常セクタの識別用領域に設定する識別用コードを記憶し、例えば、レジスタである。なお、後述するMPU160によって、識別コード部133に識別用コードが記憶される。かかるMPU160による処理は後述する。
フォーマット制御部140は、上位装置10と磁気ディスク装置100との間で転送されるデータのエラーチェックなどを行う。例えば、フォーマット制御部140は、データ読み出し時に、リードチャネル150からデータを受け付け、必要に応じてかかるデータのエラー訂正を行い、バッファ制御部130へ出力する。
また、例えば、フォーマット制御部140は、データ書き込み時に、ホストIF制御部120を介して上位装置10からデータを受け付け、かかるデータに、識別用コードや、エラー訂正コード(ECC情報)等を追加して、リードチャネル150へ出力する。このとき、フォーマット制御部140は、識別コード部133から識別用コードを取得して、取得した識別用コードをデータに追加する。
リードチャネル150は、上位装置10と磁気ディスク装置100との間で転送されるデータをAD変換したり、変調および復調したりする。例えば、リードチャネル150は、データの読み出し時に、ヘッドIC115から出力されるデータ信号を増幅し、AD変換および復調などの所定の処理を施す。また、例えば、リードチャネル150は、データの書き込み時に、フォーマット制御部140から入力されたデータをコード変調したりする。
MPU160は、ファームウェアプログラムにより磁気ディスク装置100の主制御を行う。すなわち、MPU160は、上位装置10からのコマンドを解読して各処理部を制御し、磁気記憶媒体111のデータの読み書きを統括制御する。なお、MPU160は、MCU(Micro Controller Unit)やCPU(Central Processing Unit)であってもよい。
ここで、実施例1におけるMPU160における処理について具体的に説明する。MPU160は、上位装置10からデータを受け付けた場合に、かかるデータが所定のデータ区分に属する一部の通常セクタに書き込まれるか否かを判定する。
そして、MPU160は、一部の通常セクタにデータが書き込まれると判定した場合、識別コード部133に、冗長セクタデータが無効であることを示す識別用コード(図1−1および図1−2に示した例では「N」)を記憶させる。
一方、MPU160は、所定のデータ区分に属する全ての通常セクタにデータが書き込まれると判定した場合、識別コード部133に、冗長セクタデータが有効であることを示す識別用コード(図1−1および図1−2に示した例では「M」)を記憶させる。
メモリ170および不揮発メモリ180は、MPU160において動作する所定の制御プログラム(ファームウェアプログラム)や種々の制御用のデータを格納する。サーボ制御部190は、MPU160から入力される指示に従って、VCM113およびSPM114を駆動する。
次に、実施例1に係る磁気ディスク装置100によるデータ書込処理の手順について説明する。図7は、実施例1に係る磁気ディスク装置100によるデータ書込処理手順を示すフローチャートである。
図7に示すように、磁気ディスク装置100のMPU160は、上位装置10からデータの書き込み命令を受け付けた場合に(ステップS101肯定)、データが書き込まれるデータ区分の範囲を特定する(ステップS102)。ここでは、データが書き込まれるデータ区分の範囲がデータ区分P〜P+Nであるものとする。また、磁気ディスク装置100は、データ区分P、P+1、・・・、P+Nの順に、データ書き込み処理を行うものとする。
続いて、MPU160は、データ区分P+i(iは0〜Nのいずれかの値)に書き込まれるデータが、データ区分P+iに属する一部の通常セクタに書き込まれるか否かを判定する。
MPU160は、データ区分P+iに属する一部の通常セクタにデータが書き込まれると判定した場合(ステップS103肯定)、識別コード部133に、冗長セクタデータが無効であることを示す識別用コードを設定する(ステップS104)。
上位装置10から入力されたデータは、ホストIF制御部120と、バッファ制御部130とを経由して、バッファメモリ131に格納される。続いて、書き込み処理を実行するタイミングになった場合に、バッファメモリ131に格納されたデータは、バッファ制御部130を経由して、フォーマット制御部140へ出力される。
フォーマット制御部140は、入力されたデータに、SBや、エラー訂正コード等を追加する。このとき、フォーマット制御部140は、入力されたデータの識別用領域に、識別コード部133に記憶されている識別用コードを設定する。そして、フォーマット制御部140は、識別用コード等を追加したデータをリードチャネル150へ出力する。
そして、ヘッド112は、フォーマット制御部140から出力されるデータを、リードチャネル150と、ヘッドIC115とを経由して受け付け、受け付けたデータを磁気記憶媒体111に書き込む(ステップS105)。
一方、データ区分P+iに属する全ての通常セクタにデータが書き込まれると判定した場合(ステップS103否定)、MPU160は、識別コード部133に、冗長セクタデータが有効であることを示す識別用コードを設定する(ステップS106)。
上位装置10から入力されたデータは、ホストIF制御部120と、バッファ制御部130とを経由して、バッファメモリ131に格納され、書き込み処理を実行するタイミングになった場合に、バッファ制御部130を経由して、フォーマット制御部140へ出力される。
また、バッファメモリ131に格納されたデータは、バッファ制御部130を経由して、冗長生成部132へ出力される。冗長生成部132は、入力されたデータを用いて冗長セクタデータを生成する(ステップS107)。そして、MPU160は、冗長生成部132から出力される冗長セクタデータが上位装置10から入力されたデータに続いて書き込まれるように、フォーマット制御部140を制御する。
フォーマット制御部140は、上位装置10から入力されたデータに、SBや、エラー訂正コード等を追加するとともに、識別コード部133に記憶されている識別用コードを設定する。そして、フォーマット制御部140は、識別用コード等を追加したデータをリードチャネル150へ出力する。その後、フォーマット制御部140は、冗長生成部132から出力される冗長セクタデータをリードチャネル150へ出力する。
そして、ヘッド112は、フォーマット制御部140から出力されるデータおよび冗長セクタデータを、リードチャネル150と、ヘッドIC115とを経由して受け付け、受け付けたデータおよび冗長セクタデータを磁気記憶媒体111に書き込む(ステップS108)。
磁気ディスク装置100は、上位装置から入力された全てのデータを磁気記憶媒体111へ書き込む処理が終了した場合に(ステップS109肯定)、処理を終了する。言い換えれば、磁気ディスク装置100は、上記ステップS102において特定した全てのデータ区分に対してデータの書き込み処理を行った場合に、処理を終了する。一方、磁気ディスク装置100は、上位装置から入力された全てのデータを磁気記憶媒体111へ書き込む処理が終了していない場合(ステップS109否定)、上述した処理手順(ステップS103〜S108)を繰り返し行う。
次に、実施例1に係る磁気ディスク装置100による冗長セクタデータ更新処理の手順について説明する。図8は、実施例1に係る磁気ディスク装置100による冗長セクタデータ更新処理手順を示すフローチャートである。
図8に示すように、磁気ディスク装置100のMPU160は、冗長セクタデータを更新するタイミングになった場合に(ステップS201肯定)、磁気記憶媒体111からデータ区分毎にデータを読み出すように制御する。なお、ここで言う「冗長セクタデータを更新するタイミング」とは、上述したように、例えば、磁気記憶媒体111へアクセスを行わないタイミング等を示す。
MPU160によって読み出し制御がなされた場合に、ヘッド112は、磁気記憶媒体111から所定のデータ区分のデータを読み出す(ステップS202)。ヘッド112によって読み出されたデータは、ヘッドIC115と、リードチャネル150とを経由して、フォーマット制御部140へ出力される。
フォーマット制御部140は、入力されたデータのうち、識別用領域に記憶されている識別用コードを識別コード部133に記憶させる。また、フォーマット制御部140は、入力されたデータを、バッファ制御部130へ出力する。バッファ制御部130は、入力されたデータをバッファメモリ131に格納するとともに冗長生成部132へ出力する。冗長生成部132は、バッファ制御部130から入力されたデータを用いて、冗長セクタデータを生成する(ステップS203)。
続いて、MPU160は、識別コード部133に、冗長セクタデータが無効であることを示す識別用コード(図1−1および図1−2に示した例では「N」)が記憶されているか否かを判定する。識別コード部133に、冗長セクタデータが無効であることを示す識別用コードが記憶されている場合(ステップS204肯定)、MPU160は、冗長生成部132によって生成された冗長セクタデータを磁気記憶媒体111へ書き込むように制御する。
MPU160によって冗長セクタデータを書き込む旨の制御がなされた場合、ヘッド112は、冗長生成部132から出力される冗長セクタデータを、フォーマット制御部140と、リードチャネル150と、ヘッドIC115とを経由して受け付けて、磁気記憶媒体111へ書き込む(ステップS205)。
続いて、MPU160は、データを読み出したデータ区分に属する通常セクタの識別用コードを、冗長セクタデータが有効であることを示す情報に更新するように制御する。MPU160によって識別用コードを更新する旨の制御がなされた場合、ヘッド112は、識別用コードに記憶されている情報を、冗長セクタデータが有効であることを示す情報に更新する(ステップS206)。
磁気ディスク装置100は、磁気記憶媒体111にデータが記憶されている全てのデータ区分についてデータの読み出し処理が終了した場合に(ステップS207肯定)、処理を終了する。一方、磁気ディスク装置100は、磁気記憶媒体111にデータが記憶されている全てのデータ区分についてデータの読み出し処理が終了していない場合に(ステップS207否定)、上述した処理手順(ステップS202〜S206)を繰り返し行う。
上述してきたように、実施例1に係る磁気ディスク装置100は、冗長セクタデータが有効であるか否かを示す識別用コードを磁気記憶媒体111に記憶させる。これにより、磁気ディスク装置100は、メモリ資源を用いずに冗長セクタデータの有効性を判定することができる。
ところで、上記実施例1において説明した磁気ディスク装置100は、上述した実施例1以外にも、種々の異なる形態にて実施されてよい。そこで、実施例2では、上記磁気ディスク装置100に含まれる他の実施例を説明する。
[識別用領域]
上記実施例1では、通常セクタ毎に識別用領域を設ける例を示したが、磁気記憶媒体111は、通常セクタ毎に識別用領域を有しなくてもよい。例えば、磁気記憶媒体111は、データ区分に属する複数の通常セクタのうち、特定の通常セクタのみに識別用領域を有してもよい。かかる場合、磁気ディスク装置100は、特定の通常セクタに記憶されている識別用データを用いて、冗長セクタデータが有効であるか否かを判断する。
また、例えば、磁気記憶媒体111は、冗長セクタに識別用領域を有してもよい。かかる場合、磁気ディスク装置100は、冗長セクタに記憶されている識別用データを用いて、冗長セクタデータが有効であるか否かを判断する。このように、特定の通常セクタや冗長セクタのみに識別用領域を設けることで、磁気記憶媒体111にユーザデータを記憶できる容量を増大させることができる。
[システム構成]
また、上記磁気ディスク装置100にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現されてもよい。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)データが記憶されるセクタである通常セクタと、複数の通常セクタ毎に該通常セクタに記憶されているデータを復旧するためのデータが記憶されるセクタである冗長セクタとを有する記憶媒体と、
前記複数の通常セクタと該複数の通常セクタに対応する冗長セクタとの組合せであるデータ区分に属する通常セクタにデータを書き込む場合に、該データ区分に属する冗長セクタに記憶されている冗長セクタデータが無効であることを示す情報である無効情報を、データ書き込み先の通常セクタに記憶させるように制御する制御部と
を備えたことを特徴とする記憶装置。
(付記2)前記制御部は、データ区分内の全ての通常セクタにデータを書き込んだ場合に、該データ区分に属する通常セクタに記憶されているデータに基づいて冗長セクタデータを再生成して、再生成した冗長セクタデータを該データ区分に属する冗長セクタに記憶させるとともに、冗長セクタデータが有効であることを示す情報である有効情報を、データ書き込み先の通常セクタに記憶させるように制御することを特徴とする付記1に記載の記憶装置。
(付記3)前記制御部は、
前記記憶媒体からデータを読み出す場合に、無効情報が記憶されている通常セクタが存在するか否かを判定する判定部と、
前記判定部によって無効情報が記憶されている通常セクタが存在すると判定された場合に、該通常セクタが属するデータ区分の冗長セクタデータを再生成して、該データ区分に属する冗長セクタの冗長セクタデータを、再生成した冗長セクタデータに更新するともに、該冗長セクタと同一のデータ区分に属する通常セクタに有効情報を記憶させる更新部と
を有することを特徴とする付記1または2に記載の記憶装置。
(付記4)データが記憶されるセクタである通常セクタと、複数の通常セクタ毎に該通常セクタに記憶されているデータを復旧するためのデータが記憶されるセクタである冗長セクタとを有する記憶媒体にアクセスする記憶装置を制御する記憶装置制御方法であって、
前記記憶装置が、
前記複数の通常セクタと該複数の通常セクタに対応する冗長セクタとの組合せであるデータ区分に属する通常セクタにデータを書き込む場合に、該データ区分に属する冗長セクタに記憶されている冗長セクタデータが無効であることを示す情報である無効情報を、データ書き込み先の通常セクタに記憶させるように制御する制御工程
を含んだことを特徴とする記憶装置制御方法。
(付記5)前記制御工程は、データ区分内の全ての通常セクタにデータを書き込んだ場合に、該データ区分に属する通常セクタに記憶されているデータに基づいて冗長セクタデータを再生成して、再生成した冗長セクタデータを該データ区分に属する冗長セクタに記憶させるとともに、冗長セクタデータが有効であることを示す情報である有効情報を、データ書き込み先の通常セクタに記憶させるように制御することを特徴とする付記4に記載の記憶装置制御方法。
(付記6)前記制御工程は、
前記記憶媒体からデータを読み出す場合に、無効情報が記憶されている通常セクタが存在するか否かを判定する判定工程と、
前記判定工程によって無効情報が記憶されている通常セクタが存在すると判定された場合に、該通常セクタが属するデータ区分の冗長セクタデータを再生成して、該データ区分に属する冗長セクタの冗長セクタデータを、再生成した冗長セクタデータに更新するともに、該冗長セクタと同一のデータ区分に属する通常セクタに有効情報を記憶させる更新工程と
を含んだことを特徴とする付記4または5に記載の記憶装置制御方法。
実施例1に係る磁気ディスク装置の概要を説明するための図である。 実施例1に係る磁気ディスク装置の概要を説明するための図である。 実施例1に係る磁気ディスク装置と上位装置との関係を示す図である。 実施例1に係る磁気ディスク装置の構成を示す図である。 実施例1における磁気記憶媒体に配置されるセクタの一例を示す図である。 実施例1における磁気記憶媒体が有する通常セクタの構成例を示す図である。 冗長生成部の構成例を示す図である。 実施例1に係る磁気ディスク装置によるデータ書込処理手順を示すフローチャートである。 実施例1に係る磁気ディスク装置による冗長セクタデータ更新処理手順を示すフローチャートである。
符号の説明
10 上位装置
11 ホストIF
100 磁気ディスク装置
111 磁気記憶媒体
112 ヘッド
113 VCM
114 SPM
115 ヘッドIC
116 共有バス
120 ホストIF制御部
130 バッファ制御部
131 バッファメモリ
132 冗長生成部
132a データメモリ
132b XOR演算部
133 識別コード部
140 フォーマット制御部
150 リードチャネル
160 MPU
170 メモリ
180 不揮発メモリ
190 サーボ制御部

Claims (4)

  1. データが記憶されるセクタである通常セクタと、複数の通常セクタ毎に該通常セクタに記憶されているデータを復旧するためのデータが記憶されるセクタである冗長セクタとを有する記憶媒体と、
    前記複数の通常セクタと該複数の通常セクタに対応する冗長セクタとの組合せであるデータ区分に属する通常セクタにデータを書き込む場合に、該データ区分に属する冗長セクタに記憶されている冗長セクタデータが無効であることを示す情報である無効情報を、データ書き込み先の通常セクタに記憶させるように制御する制御部と
    を備えたことを特徴とする記憶装置。
  2. 前記制御部は、データ区分内の全ての通常セクタにデータを書き込んだ場合に、該データ区分に属する通常セクタに記憶されているデータに基づいて冗長セクタデータを再生成して、再生成した冗長セクタデータを該データ区分に属する冗長セクタに記憶させるとともに、冗長セクタデータが有効であることを示す情報である有効情報を、データ書き込み先の通常セクタに記憶させるように制御することを特徴とする請求項1に記載の記憶装置。
  3. 前記制御部は、
    前記記憶媒体からデータを読み出す場合に、無効情報が記憶されている通常セクタが存在するか否かを判定する判定部と、
    前記判定部によって無効情報が記憶されている通常セクタが存在すると判定された場合に、該通常セクタが属するデータ区分の冗長セクタデータを再生成して、該データ区分に属する冗長セクタの冗長セクタデータを、再生成した冗長セクタデータに更新するともに、該冗長セクタと同一のデータ区分に属する通常セクタに有効情報を記憶させる更新部と
    を有することを特徴とする請求項1または2に記載の記憶装置。
  4. データが記憶されるセクタである通常セクタと、複数の通常セクタ毎に該通常セクタに記憶されているデータを復旧するためのデータが記憶されるセクタである冗長セクタとを有する記憶媒体にアクセスする記憶装置による記憶装置制御方法であって、
    前記記憶装置が、
    前記複数の通常セクタと該複数の通常セクタに対応する冗長セクタとの組合せであるデータ区分に属する通常セクタにデータを書き込む場合に、該データ区分に属する冗長セクタに記憶されている冗長セクタデータが無効であることを示す情報である無効情報を、データ書き込み先の通常セクタに記憶させるように制御する制御工程
    を含んだことを特徴とする記憶装置制御方法。
JP2008321558A 2008-12-17 2008-12-17 記憶装置および記憶装置制御方法 Pending JP2010146625A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008321558A JP2010146625A (ja) 2008-12-17 2008-12-17 記憶装置および記憶装置制御方法
US12/637,674 US20100153669A1 (en) 2008-12-17 2009-12-14 Storage device and storage device control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008321558A JP2010146625A (ja) 2008-12-17 2008-12-17 記憶装置および記憶装置制御方法

Publications (1)

Publication Number Publication Date
JP2010146625A true JP2010146625A (ja) 2010-07-01

Family

ID=42241963

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008321558A Pending JP2010146625A (ja) 2008-12-17 2008-12-17 記憶装置および記憶装置制御方法

Country Status (2)

Country Link
US (1) US20100153669A1 (ja)
JP (1) JP2010146625A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106960675B (zh) 2016-01-08 2019-07-05 株式会社东芝 磁盘装置及写入处理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11143649A (ja) * 1997-11-04 1999-05-28 Fujitsu Ltd ディスクアレイ装置
JP2000510273A (ja) * 1997-02-24 2000-08-08 データー・ゼネラル・コーポレーション ディスク・アレイにおいてパリティ保全性を維持するための妥当性検査システム
JP2008077458A (ja) * 2006-09-22 2008-04-03 Fujitsu Ltd 記憶データ処理装置、記憶装置、記憶データ処理プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000510273A (ja) * 1997-02-24 2000-08-08 データー・ゼネラル・コーポレーション ディスク・アレイにおいてパリティ保全性を維持するための妥当性検査システム
JPH11143649A (ja) * 1997-11-04 1999-05-28 Fujitsu Ltd ディスクアレイ装置
JP2008077458A (ja) * 2006-09-22 2008-04-03 Fujitsu Ltd 記憶データ処理装置、記憶装置、記憶データ処理プログラム

Also Published As

Publication number Publication date
US20100153669A1 (en) 2010-06-17

Similar Documents

Publication Publication Date Title
JP4635038B2 (ja) 磁気記録装置、暗号化方法、および暗号化用プログラム
US7702954B2 (en) Data storage apparatus having error recovery capability
JP4922433B2 (ja) 磁気ディスク装置及びデータブロックの書き換え方法
JP2007200537A (ja) ハイブリッドディスクドライブおよびハイブリッドディスクドライブのデータ制御方法
JP2009266333A (ja) データ記憶装置及び隣接トラック書き直し処理方法。
US20100232048A1 (en) Disk storage device
JP2013157068A (ja) データ記憶制御装置、データ記憶装置、及びデータ記憶方法
US20100058145A1 (en) Storage device and method of controlling storage device
US7627725B2 (en) Stored data processing apparatus, storage apparatus, and stored data processing program
JP2012032962A (ja) バッファ管理装置、同装置を備えた記憶装置、及びバッファ管理方法
JP2007184046A (ja) 回転円板形記憶装置および記録方法
US20080091971A1 (en) Stored data processing apparatus, storage apparatus, and stored data processing program
US9299387B2 (en) Magnetic disk apparatus, controller and data processing method
JPH11282765A (ja) フラッシュメモリを使用した外部記憶装置
JP2007148965A (ja) フラッシュディスク装置のエラーブロック管理方法及び装置
JP2010146625A (ja) 記憶装置および記憶装置制御方法
US20110205654A1 (en) Control apparatus, nonvolatile storage apparatus and data initialization method
JP2010287128A (ja) コントローラ、記憶媒体、及び情報制御方法
JP2011233186A (ja) ディスク記憶装置及びデータ復元方法
JP2007179085A (ja) ディスク装置、ディスク書込データ選択方法およびディスク書込データ選択プログラム
US20100064198A1 (en) Stored data processing apparatus, storage apparatus, medium storing stored data processing program, and stored data processing method
CN110310674B (zh) 盘装置以及数据管理方法
US9190107B2 (en) Information recording device and information recording method
JP2009134807A (ja) 磁気ディスク装置、磁気ディスク制御装置、磁気ディスク制御方法
JP3022688B2 (ja) 補助記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101221

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110419