(57)【特許請求の範囲】
【請求項１】
記憶装置と、ホストから受信した指示によって該記憶装置を制御するストレージ制御装置を備えるストレージシステムであって、
前記記憶装置が、
データを記憶する記憶媒体と、
前記記憶媒体の物理位置を表す物理アドレスと、前記物理アドレスを論理的に表す論理アドレスとを変換するためのアドレス変換情報を格納するシステム領域と、
前記システム領域から読み出された前記アドレス変換情報が書き込まれるメモリと、
書き込み指示を受信したとき、前記メモリに書き込まれた前記アドレス変換情報を参照して前記書き込み指示に含まれる論理アドレスを物理アドレスに変換し、該物理アドレスが表す位置に前記書き込み指示に含まれる論理アドレスとデータとを書き込む書き込み制御部と、
読み込み指示を受信したとき、前記メモリに書き込まれた前記アドレス変換情報を参照して前記読み込み指示に含まれる論理アドレスを物理アドレスに変換し、該物理アドレスが表す位置のデータを読み込む読み込み制御部とを有し、
前記ストレージ制御装置が、
前記ホストから書き込み指示を受け取ったとき、前記ホストからの書き込み指示に含まれる論理アドレスを含む読み込み指示を前記記憶装置へ送るデータ読み込み指示手段と、
前記データ読み込み指示手段からの読み込み指示に基づき、前記記憶装置が読み取った該当位置のデータに論理アドレスが含まれている場合に、前記ホストから受け取った書き込み指示に含まれる論理アドレスと前記読み取ったデータに含まれた論理アドレスとが異なるとき、前記システム領域から前記アドレス変換情報を読み出し、読み出した前記アドレス変換情報を前記メモリに書き込むアドレス変換情報訂正手段とを有する
ことを特徴とするストレージシステム。
【請求項２】
前記データ読み込み指示手段は、前記ホストから読み込み指示を受け取ったとき、前記ホストからの読み込み指示に含まれる論理アドレスを含む読み込み指示を前記記憶装置へ送り、
前記アドレス変換情報訂正手段は、前記データ読み込み指示からの読み込み指示に基づき、前記記憶装置が読み取った該当位置のデータに論理アドレスが含まれている場合に、前記ホストから受け取った読み込み指示に含まれる論理アドレスと前記読み取ったデータに含まれた論理アドレスとが異なるとき、前記システム領域から前記アドレス変換情報を読み出し、読み出した前記アドレス変換情報を前記メモリに書き込む
ことを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記アドレス変換情報訂正手段による処理の後に、前記ホストから受信した前記書き込み指示または前記読み込み指示を前記記憶装置に指示する記録再生指示手段を有することを特徴とする請求項１または２に記載のストレージシステム。
【請求項４】
前記ストレージシステムは複数の記憶装置を有し、
前記複数の記憶装置の全部又は一部によりＲＡＩＤ構成されている請求項１乃至３いずれか１項に記載のストレージシステム。
【請求項５】
前記アドレス変換情報が前記アドレス変換情報訂正手段により、前記システム領域から前記アドレス変換情報を読み出し、読み出した前記アドレス変換情報を前記メモリに書き込んだ再書き込み状態を表す変換情報再書き込みフラグを有することを特徴とする請求項１乃至４のいずれか１項に記載のストレージシステム。
【請求項６】
データを記憶する記憶媒体と、
前記記憶媒体の物理位置を表す物理アドレスと、前記物理アドレスを論理的に表す論理アドレスとを対応付けたアドレス変換情報を格納するシステム領域と、
前記システム領域から読み出された前記アドレス変換情報が書き込まれるメモリと、
書き込み指示を受信したとき、前記メモリに書き込まれた前記アドレス変換情報を参照して前記書き込み指示に含まれる論理アドレスを物理アドレスに変換し、該物理アドレスが表す位置に前記書き込み指示に含まれる論理アドレスとデータとを書き込む書き込み制御部と、
読み込み指示を受信したとき、前記メモリに書き込まれた前記アドレス変換情報を参照して前記読み込み指示に含まれる論理アドレスを物理アドレスに変換し、該物理アドレスが表す位置のデータを読み込む読み込み制御部とを有する記憶装置に接続可能なストレージ制御装置であって、
前記ホストから書き込み指示または読み込み指示を受け取ったとき、前記ホストからの書き込み指示または読み込み指示に含まれる論理アドレスを含む読み込み指示を前記記憶装置へ送るデータ読み込み指示手段と、
前記読み込み指示手段からの読み込み指示に基づき、前記記憶装置が読み取った該当位置のデータに論理アドレスが含まれている場合に、前記ホストから受け取った書き込み指示または前記読み込み指示に含まれる論理アドレスと前記データに付加された論理アドレスとが異なるとき、前記システム領域から前記アドレス変換情報を読み出し、読み出した前記アドレス変換情報を前記メモリに書き込むアドレス変換情報訂正手段とを有する
ことを特徴とするストレージ制御装置。
【請求項７】
記憶媒体の記憶領域の物理位置を表す物理アドレスと、アドレス変換情報を用いて変換され、前記物理位置を表す論理アドレスとを有し、データを記録再生するストレージ制御装置を制御するアクセス方法において、
書き込みデータを受信した際に、書き込み位置を示す書き込み論理アドレス値を前記書き込みデータに付加する論理アドレス付加ステップと、
前記書き込み論理アドレス値を変換情報によって変換し、媒体上の物理位置を特定し、当該位置に記憶された論理アドレス値を読み込む読み込みステップと、
読み込まれた論理アドレス値と、前記書き込み論理アドレス値とを比較する論理アドレス比較ステップと、
前記書き込みデータと、該書き込みデータを書き込む記憶領域を表す論理アドレスとを前記記憶媒体に書き込む、書き込みステップと、
前記論理アドレス比較ステップで、前記書き込まれた論理アドレス値と、前記書き込み論理アドレス値とが異なると判定した場合、前記変換情報をメモリに再読み込みを行う変換情報再読込みステップと
を有することを特徴とするアクセス方法。
【請求項８】
前記書き込み位置のデータの記憶状態を判定するデータ有無判定ステップを有することを特徴とする請求項７に記載のアクセス方法。
【請求項９】
変換情報の再読込み状態を表す変換情報再読込みフラグを設定するステップを有することを特徴とする請求項７または８に記載のアクセス方法。
【請求項１０】
記憶媒体の記憶領域の物理位置を表す物理アドレスと、アドレス変換情報を用いて変換され、前記物理位置を表す論理アドレスとを有し、データを記録再生するストレージ制御装置を制御するアクセス方法において、
記憶媒体の記憶領域の物理位置を示す物理アドレスと前記物理を表す論理アドレスとのアドレス変換を行い、データの記録再生を行う記憶装置を制御するアクセス方法において、
書き込み位置を示す書き込み論理アドレス値を設定する論理アドレス設定ステップと、
設定された論理アドレス値を変換情報によって変換し、媒体の物理位置を特定し、当該位置に記憶された論理アドレス値を読み込む読み込みステップと、
読み込まれた論理アドレス値と、前記設定された論理アドレス値とを比較する論理アドレス比較ステップと、
前記論理アドレス比較ステップで、前記書き込まれた論理アドレス値と、前記書き込み論理アドレス値とが異なると判定した場合、前記変換情報をメモリに再読込みを行う変換情報再読込みステップと
有することを特徴とする請求項７乃至９いずれか１項に記載のアクセス方法。
【請求項１１】
記憶媒体の記憶領域の物理位置を表す物理アドレスと、アドレス変換情報を用いて変換され、前記物理位置を表す論理アドレスとを有し、データを記録再生するストレージ制御装置を制御するアクセス方法において、
記憶媒体の物理位置を示す物理アドレスと前記物理を表す論理アドレスとのアドレス変換を行い、データの記録再生を行う記憶装置を制御するアクセス方法において、定期的に行うアクセス方法であって、
欠陥登録時に負の値を書き込む欠陥登録ステップと、
書き込み位置を示す書き込み論理アドレス値を設定する論理アドレス設定ステップと、
設定された論理アドレス値を変換情報によって変換し、媒体上の物理位置を特定し、当該位置に記憶された論理アドレス値を読み込む読み込みステップと、
読み込まれた論理アドレス値と、前記設定された論理アドレス値とを比較する論理アドレス比較ステップと、
前記論理アドレス比較ステップで、前記書き込まれた論理アドレス値と、前記書き込み論理アドレス値とが異なると判定した場合、前記変換情報をメモリに再読み込みを行う変換情報再読込みステップと
を有することを特徴とする請求項７乃至１０いずれか１項記載のアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ（Ｉｎｄｅｐｅｎｄｅｎｔ）  Ｄｉｓｋｓ）装置等のストレージ制御装置において、論理アドレスと物理アドレスとを変換し記録再生を行うストレージ制御装置、ストレージシステム、及びアクセス方法に関する。
【背景技術】
【０００２】
ＲＡＩＤ装置等のストレージ制御装置は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の記憶装置を有する。ＲＡＩＤ装置では、データを複数の記憶装置に分散して記憶させるため、ストレージ制御装置が、ホストから命令を受けると、該当するデータを記憶してある記憶装置にアクセスする。ＲＡＩＤ装置を構成するストレージ制御装置及びＨＤＤ等の記憶媒体は冗長性を持ったシステムを構築する。また、記憶装置に故障など異常が発生した場合は、シリアルポートやＬＡＮを通じて状態を監視ソフト等に通知する。
【０００３】
図１にＨＤＤの構成を示した。ストレージ制御装置のＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２がホストからの命令を受け、ヘッド３をＨＤＤ１内の記憶媒体であるディスク４のデータ領域に移動することによりデータの読み書きを行う。ディスク４は、同心円上に複数のシリンダ５、複数のヘッド３を有し、シリンダ５内には、複数のセクタ６を有する構造になっている。記憶領域の位置は、ヘッド３、シリンダ５、セクタ６位置による物理アドレスによって特定される。これに対して、ホストは記憶領域を指定するために、仮想的に位置を表す論理アドレスを用いる。ディスクの特殊領域であるシステムエリア７には、論理アドレスと物理アドレスとを変換するための変換論理である論理アドレス物理アドレス変換情報と媒体欠陥情報が格納される。アドレス変換情報及び媒体欠陥情報については後ほど説明する。ＨＤＤ１では、電源投入時に、このアドレス変換情報と媒体欠陥情報を読み出してメモリ８に書き込む。メモリ８に書き込まれたアドレス変換情報と媒体欠陥情報を参照して、論理アドレスから物理アドレスへ変換する。このように、指示された記憶領域の物理アドレスを特定すると、ＭＰＵ２内の制御部が、ボイスコイルモータ９を駆動させ、ヘッドアクチュエータ１０を移動させて、当該シリンダ位置にヘッドを移動させる。ＨＤＤ制御部が、ヘッドを当該シリンダに移動させ、当該セクタが回転してくるのを待ち、ヘッドセレクタにより選択されたヘッドにより読み書きを行う。ホストから受信したデータは当該物理位置に書き込まれる。読み出されたデータはストレージ制御装置を介し、ホストに伝えられる。
【０００４】
ここで、アドレス変換情報について、説明する。アドレス変換情報は、ホストから指示される最初のブロックから何番目のブロックであるかを表す値で、例えば０から最大値まで連続的に配置されている論理アドレスに、媒体上の物理位置を表す物理アドレスを対応付けたものである。ＨＤＤの種類が異なれば、シリンダ、ヘッド、セクタの数が異なる。また、ＨＤＤでは、記憶媒体上に欠陥が存在し、当該箇所を使用不可とする場合は、当該箇所は交代領域に割り振られ、欠陥位置を使用しないという処理を行う。ＨＤＤのメモリは、欠陥位置を示す欠陥位置情報テーブルを格納する。欠陥位置情報テーブルとアドレス変換情報を参照することにより、欠陥位置を飛ばしてデータを読み書きできる。
【０００５】
従来、記憶媒体のデータにアクセスするときに、ホストから指示された論理アドレスと、実際に読み書きした物理アドレスが異なってしまった場合は、データ化けが起きたり、望まないデータの上書きが起きたりと、信頼性が損なわれるという問題があった。ヘッドセレクタが故障した場合など、ホストからの論理アドレスを変換した物理アドレスのヘッドを選択できず、誤ったヘッドを選択し続けてしまうことなどが起こる。
【０００６】
従来のアドレス誤変換の主な要因は、ヘッドセレクタの物理故障など、継続する故障が主要因を占めていた。
【０００７】
そこで、ホストから指示されたデータ位置から実際に読み書きするデータ位置へ、正常に変換されていなかった場合に誤変換を検出する方法がとられている。従来の検出方法は、ユーザデータの書き込み時において、１ブロック内にユーザデータと共に論理アドレスを示す論理アドレス値を付加して書き込む。そして、読み込み時には、付加された論理アドレス値と、読み込み時にホストから指示されたアドレス値とを比較する。一致した場合に、読み込んだユーザデータは正しい位置のデータであると判断する。ここで、一致しなかった場合は、誤った位置のデータであると判断し、ＨＤＤがホストまたはストレージ制御装置に対し異常を報告する。これによってＲＡＩＤ装置の冗長データを使用して補間できるため、継続する誤変換について上述の技術で解決できた。また、誤変換が継続する場合は、書き込み時及び読み込み時ともに誤った位置に読み書きすることとなる。新たにユーザデータと、論理アドレス値とを書き込むことにより、次回読み込み時に論理アドレス値を比較しても正常と判断される。当該領域に書き込まれたユーザデータも正しいものであるため、問題は起こらない。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平９−２２３３６６号公報
【特許文献２】特開２００６−７２４３５号公報
【特許文献３】特開２００３−２２８９２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
近年、アドレス誤変換の主な要因となっているのが、ＨＤＤ内のメモリのソフトエラーである。ソフトエラーとは、メモリに書き込まれた欠陥位置情報が破壊される現象である。近年のストレージ制御装置において、メモリであるＲＡＭ（ＲＡＮＤＯＭ  ＡＣＣＥＳＳ  ＭＥＭＯＲＹ）は高容量を実現するために、高密度化され、微細構造となっている。そのため、α線や中性子線などの影響でＢｉｔ反転するソフトエラーが起こる確率が高くなっている。
【００１０】
メモリに書き込まれた欠陥位置を示す数値がソフトエラーによりＢｉｔ反転して誤変換を起こす。例えば、０から５番目のセクタに欠陥があることを表す「０１００」の３桁目がＢｉｔ反転を起こすと、「００００」がメモリに格納されることとなる。つまり、０から１番目のセクタに欠陥があると示し、本来、欠陥位置としてアクセスしない記憶領域にアクセスしてしまう。この状態を異常状態とする。
【００１１】
さらに、ソフトエラーはハードウェアの物理的な破壊ではないため、再起動等により電源が投入されると、ディスク上のシステムエリアから欠陥位置情報を読み出し、メモリに再書き込みする。この再書き込みにより、正しい欠陥位置情報が書き込まれる。この状態を正常状態とする。
【００１２】
このように、ソフトエラーが発生すると、正常状態から異常状態へ、異常状態から正常状態へと状態が遷移する。この状態が遷移する間に書き込みが行われると、ＨＤＤからホストまたはストレージ制御装置へのエラーの報告がされず、実際には正しくない記憶領域にデータが書き込まれたままになったり、書き込んではいけない記憶領域に書き込みを行ってしまったりする。
【００１３】
従来の技術では、状態が「正常」から「異常」そして「正常」への３つの状態へ遷移した場合、ユーザデータとともに書き込まれた論理アドレス値とホストから指示された論理アドレス値とを比較しても、同じアドレス値が書き込まれている場合が発生し、ＨＤＤがエラーを報告しない。本来の位置ではない位置のデータにアクセスしても、当該データを異常と判断せず、ホストまたはストレージ制御装置へデータを送信する。ホストからの命令に沿ったデータを得ることができない。
【００１４】
本発明は、論理アドレスと物理アドレス変換部分の継続的な異常や、ソフトエラーの様な一時的な異常によるデータの位置誤算出を検出するものである。
【課題を解決するための手段】
【００１５】
本件開示のストレージシステムは、記憶装置が、データを記憶する記憶媒体と、記憶媒体の物理位置を表す物理アドレスと、物理アドレスを論理的に表す論理アドレスとを変換するためのアドレス変換情報を格納するシステム領域と、システム領域から読み出されたアドレス変換情報が書き込まれるメモリと、書き込み指示を受信したとき、メモリに書き込まれたアドレス変換情報を参照して書き込み指示に含まれる論理アドレスを物理アドレスに変換し、該物理アドレスが表す位置に書き込み指示に含まれる論理アドレスとデータとを書き込む書き込み制御部と、読み込み指示を受信したとき、メモリに書き込まれたアドレス変換情報を参照して読み込み指示に含まれる論理アドレスを物理アドレスに変換し、該物理アドレスが表す位置のデータを読み込む読み込み制御部とを有し、ストレージ制御装置が、ホストから書き込み指示を受け取ったとき、ホストからの書き込み指示に含まれる論理アドレスを含む読み込み指示を記憶装置へ送るデータ読み込み指示手段と、データ読み込み指示手段からの読み込み指示に基づき、記憶装置が読み取った該当位置のデータに論理アドレスが含まれている場合に、ホストから受け取った書き込み指示に含まれる論理アドレスと読み取ったデータに含まれた論理アドレスとが異なるとき、システム領域からアドレス変換情報を読み出し、読み出したアドレス変換情報をメモリに書き込むアドレス変換情報訂正手段とを有する。
【発明の効果】
【００１６】
以上のように、本件開示のストレージ制御装置によれば、論理アドレスと物理アドレスとの誤変換によるデータの異常を防ぐことができて信頼性を保てる。
【００１７】
以上のように、本件開示のストレージシステムによれば、論理アドレスと物理アドレスとの誤変換によるデータの異常を防ぐことができて信頼性を保てる。
【００１８】
以上のように、本件開示のアクセス方法によれば、論理アドレスと物理アドレスとの誤変換によるデータの異常を防ぐことができて信頼性を保てる。
【図面の簡単な説明】
【００１９】
【図１】ＨＤＤの構成図である。
【図２】ストレージ制御装置を用いたストレージシステムのハードウェア構成図である。
【図３】ストレージ制御装置であるＲＡＩＤ装置のファームウェア構成図である。
【図４】論理アドレスと物理アドレスとの変換情報関係図である。
【図５】論理変換による論理アドレスと物理アドレスの対応を表した図である。
【図６】ＬＢＡ値を付加した場合の正常から異常状態への遷移図である。
【図７】異常状態で書き込みした場合のデータの状態図である。
【図８】ＨＤＤの電源の再投入等によりシステムエリアからメモリにアドレス変換情報の再書き込みが起こった場合のデータの状態図である。
【図９】ストレージ制御装置における書き込み処理のフローチャートである。
【図１０】パトロール処理のフローチャートである。
【図１１】欠陥位置を特定したパトロール処理のフローチャートである。
【発明を実施するための形態】
【００２０】
以下に添付図面を参照して、ストレージ制御装置、ストレージシステム及び記憶再生方法の実施例を詳細に説明する。
【００２１】
図２に、本ストレージシステムのハードウェア構成図を表す。ストレージ制御装置であるＲＡＩＤ装置１２は、ホスト１１からの命令を受けるチャネルインターフェース１３と、データの記録再生を行う複数のＨＤＤ１と、ＨＤＤ１の制御を行うコントローラモジュール１５とを有する。図１，２に示したように、ＨＤＤ１は、データを記憶する記憶媒体であるディスク４を有する。システム領域７はディスク４の物理位置を表す物理アドレスと、物理アドレスを論理的に表す論理アドレスとを変換するためのアドレス変換情報を格納する。メモリには、システム領域７から読み出されたアドレス変換情報が書き込まれる。ＨＤＤ１が、ストレージ制御装置から書き込み指示を受信したとき、前記メモリに書き込まれた前記アドレス変換情報を参照して書き込み指示に含まれる論理アドレスを物理アドレスに変換し、該物理アドレスが表す位置に書き込み指示に含まれる論理アドレスとデータとを書き込む書き込み制御部を有する。また、読み込み指示を受信したとき、メモリに書き込まれたアドレス変換情報を参照して読み込み指示に含まれる論理アドレスを物理アドレスに変換し、該物理アドレスが表す位置のデータを読み込む読み込み制御部とを有する。
【００２２】
コントロールモジュール１５は、命令を受け取った時に演算処理を行うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１６と、プログラムなどを格納するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１７と、一時記憶領域として、管理テーブルなどのデータを展開するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１８と、ＨＤＤ１４と接続するＨＤＤインターフェース１９とを有する。
【００２３】
図３に、ＲＡＩＤ装置のファームウェア構成図を表す。ストレージ制御装置であるＲＡＩＤ装置１２は、ホスト１１から命令を受けるチャネル制御部２０と、ＨＤＤ１に対する記録再生を制御する記録再生制御部２１と、キャッシュメモリを制御するキャッシュ制御部２２と、ＨＤＤインターフェース１９を制御するデバイス制御部２３とを有する。記録再生制御部２１は、データの書き込みを制御する書き込み指示部２４と、データの読み込みを制御する読み込み指示部２５とを有する。書き込み指示部２４は、論理アドレス値であるＬＢＡ値をユーザデータに付加するＬＢＡ値付加制御部２６を有し、読み込み指示部２５は、読み込んだＬＢＡ値と書き込むユーザデータに付加したＬＢＡ値とを比較するアドレス変換情報訂正手段２７と、読み込んだユーザデータに付加されたＬＢＡ値をユーザデータと分離するユーザデータＬＢＡ値分離部２８とを有する。
【００２４】
読み込み指示部２５は、ホストから書き込み指示を受け取ったとき、ホストからの書き込み指示に含まれる論理アドレスを含む読み込み指示を記憶装置へ送る。アドレス変換情報訂正手段は、データ読み込み指示手段からの読み込み指示に基づき、記憶装置が読み取った該当位置のデータに論理アドレスが含まれている場合に、ホストから受け取った書き込み指示に含まれる論理アドレスと読み取ったデータに含まれた論理アドレスとが異なるとき、システム領域からアドレス変換情報を読み出し、読み出したアドレス変換情報をメモリに書き込む。
【００２５】
また、データ読み込み指示部２５は、ホストから読み込み指示を受け取ったとき、ホストからの読み込み指示に含まれる論理アドレスを含む読み込み指示を記憶装置へ送る。アドレス変換情報訂正手段は、データ読み込み指示からの読み込み指示に基づき、記憶装置が読み取った該当位置のデータに論理アドレスが含まれている場合に、ホストから受け取った読み込み指示に含まれる論理アドレスと読み取ったデータに含まれた論理アドレスとが異なるとき、システム領域からアドレス変換情報を読み出し、読み出したアドレス変換情報をメモリに書き込む。
【００２６】
ここで、ＲＡＩＤ装置について説明する。ＲＡＩＤ装置は、ＲＡＩＤ０からＲＡＩＤ６の７種類のレベルがあり、各ＲＡＩＤレベルを組み合わせて信頼性と速度を両立させる。ＲＡＩＤ  １は複数台のハードディスクに、同時に同じ内容を書き込む。これをミラーリングと呼ぶ。  ＲＡＩＤ  １は最もシンプルなＲＡＩＤであり、耐障害性の高いＲＡＩＤである。  また、ＲＡＩＤの最大の弱点であるコントローラの故障にも対応しやすい。  ＲＡＩＤ  １には最低２ドライブが必要である。一台が故障した際に、もう一方も同時に故障する可能性は低く、システムは稼動し続けることが出来る。
【００２７】
ＲＡＩＤ  ５は複数のハードディスクに誤り訂正符号データと共に分散させて記録することで、ＲＡＩＤ  ３、ＲＡＩＤ  ４のボトルネックを回避している。最低３ドライブが必要である。ＲＡＩＤ１やＲＡＩＤ１＋０に比べて使用効率に優れている。またＲＡＩＤ０のように複数のディスクに分散しているため読み出し性能が優れている。一方で書き込む場合にはパリティを作成しなおすために、ディスクからの読み出しとパリティ演算が必要となる。
【００２８】
続いて、本件ストレージ制御装置において、データを記録再生する際に行う論理アドレスと物理アドレスとの変換について説明する。変換情報はＨＤＤなどの記憶装置によって多種多様である。
【００２９】
本実施の形態では以下の様な例で説明する。論理アドレスと物理アドレスとの変換情報は、上述のように個々のＨＤＤで異なるため、各々、ＨＤＤの特殊媒体領域であるシステムエリア７に格納する。記録再生制御部が、この変換情報を用いて物理アドレスと論理アドレスとの対応付けを行い記録再生を制御する。表１にシステムエリア内に格納されているＬＢＡからＣＨＳへの変換情報を表す。
【００３０】
【表１】
0005381519.tif 000002
【００３１】
表１に、セクタ、ヘッド、シリンダ、各々の最大数と、欠陥箇所の物理位置を表す。論理アドレスから物理アドレスへの変換情報では、セクタは０からＭａｘセクタ値の９まで１０個で、ヘッドは０からＭａｘヘッド値３までの４本、シリンダは０からＭａｘシリンダ値の９９までの１００本あることにより、１０セクタ、４ヘッド、１００シリンダで、ＨＤＤの物理記憶領域としては４０００ブロック保有しているものとする。また、媒体欠陥としては３個まで許容するものとして、３個の欠陥領域（欠陥１〜３）を記憶する領域を確保している。さらに、表１の欠陥１には“Ｃ：０，Ｈ：０，Ｓ：４”が記憶されており、シリンダが０、ヘッドが０、セクタが４の物理位置所が媒体欠陥であることを表す。欠陥２及び３のＣ，Ｈ，Ｓには物理的に存在しない負の“−１”を格納することにより未使用であることを表す。表１の場合、媒体欠陥は１個で、最終物理位置は予備（予備１、予備２）で使用されないことになる。即ち論理的には常に有効容量をＬＢＡ０〜ＬＢＡ３９９６の３９９７ブロックとすることにより、ディスク媒体の物理的欠陥が０個のものから３個のものまでを、ＲＡＩＤ装置には同一仕様で３９９７ブロックの容量のディスク媒体を有するＨＤＤとしている。これら、論理アドレス物理アドレス変換の関係を図示すると図４のようになる。
【００３２】
図４は、論理アドレスと物理アドレスとの変換情報の関係図である。既にある欠陥として、欠陥１が“Ｃ：０，Ｈ：０，Ｓ：４”に対応して記録されている。上述のように、論理アドレス値であるＬＢＡと、シリンダを表すＣと、ヘッドを表すＨと、セクタを表すＳとで対応付けられた関係を表している。
【００３３】
ここで、本発明が解決するメモリのソフトエラーによる異常について説明する。図４のような、論理アドレス物理アドレス変換であるときに、上述したソフトエラーによりメモリ上の１Ｂｉｔのデータが反転する。例として図４に論理変換による論理アドレスと物理アドレスの対応を表す。欠陥位置は、上段の正常状態で表している“Ｃ：０，Ｈ：０，Ｓ：４”である。ソフトエラーによって“Ｃ：０，Ｈ：０，Ｓ：４“のＳ：４（Ｂｉｔ表現で“０１００”）がＳ：０（Ｂｉｔ表現で“００００”）となる。下段の異常状態が表すように、ＬＢＡ０〜３が表す物理位置が変わってしまう。このため、ＬＢＡ０を読み込んだ場合、正常では物理位置Ｃ：０，Ｈ：０，Ｓ：０に格納されているユーザデータ（Ｕ０）を読み込むはずが、異常状態では、物理位置が“Ｃ：０，Ｈ：０，Ｓ：１”に格納されているユーザデータ（Ｕ１）を読み込んでしまう。
【００３４】
本件との比較として、比較例を用いて説明する。図７に、ＬＢＡ値を付加した場合の正常から異常状態への遷移を示した。ＬＢＡ値を付加することによって、異常検出が可能となる。すなわち、ユーザデータ（Ｕｘ）に付加したＬＢＡ値と、変換前のＬＢＡ値を比較することで、読み込み時に、ＬＢＡ０からＬＢＡ３で、異常を検出する。
【００３５】
さらに、図７に表すように、異常状態で書き込みした場合は、本来とは異なった場所に書き込んでしまうが、異常状態が継続した状態で読み込んだ場合にも同様に異なった位置より読み込む為、矛盾が生じない。
【００３６】
しかし、ＬＢＡ値を付加するだけでは、図８に表すように、異常状態で書き込みした状態において、問題が生じる。ＨＤＤの電源の再投入等によりシステムエリアからメモリにアドレス変換情報の再書き込みが起こると、変換情報が正常状態に状態が変化してしまう。この場合ＬＢＡ１〜３は変換前のＬＢＡとユーザデータに付加されたＬＢＡに不一致があるため異常を検出できる。しかしＬＢＡ０の位置、即ち“Ｃ：０，Ｈ：０，Ｓ：０”の位置では、変換前のＬＢＡも“０”で、ユーザデータに付加したＬＢＡ値も“０”で一致しているため、異常を検出できない。
【００３７】
また、“Ｃ：０，Ｈ：０，Ｓ：４”は媒体上の欠陥位置である。これは、１００回に１回書き込めないことがある、１０００回に１回書き込めないことがある等任意に定義付けられている欠陥である。全く書き込めないとは限らず、欠陥部分においてもおよそ８割の確率で読み込みができる見込みである。
【００３８】
しかし、“Ｃ：０，Ｈ：０，Ｓ：０”位置のユーザデータは古く異なるものである。そこで、本件では、ＬＢＡ値を付加することに加えて、書き込み時に書き込むべきユーザデータに付加されたＬＢＡ値と、媒体上の書き込み位置に記憶されたユーザデータに付加されたＬＢＡ値とを比較し、読み出した論理アドレス付加データの論理アドレス値と、ホストから命令されたアクセスの対象を示す論理アドレス値とが異なるかを判定する。これによって、異常状態から正常状態へ遷移したときの位置誤算出を検出できる。
【００３９】
図９に、本件のストレージ制御装置における書き込み処理のフローチャートを表す。ホストからの命令を受け、ＲＡＩＤ装置がＨＤＤへの書き込み処理を行う場合（Ｓ１００）、ＲＡＩＤ装置内のチャネル制御部がホストからユーザデータの書き込み指示を受け取る（Ｓ１０１）。次に、ＬＢＡ値付加制御部が、ホストから受け取ったユーザデータにＬＢＡ値を付加する（Ｓ１０２）。このＬＢＡ値は書き込みを行うユーザデータを書き込むべき記憶媒体上の位置を表すものである（書き込みＬＢＡ値）。読込み制御部によって書き込み位置にユーザデータが書き込まれているか判定を行う（Ｓ１０３）。
【００４０】
データ有無判定によって、データが書き込まれていると判定した場合（Ｓ１０３Ｙｅｓ）、読み込み制御部によって書き込み位置に記憶されているＬＢＡ値を読み込む（Ｓ１０４）。このＬＢＡ値は既に書き込まれたユーザデータに付加されたＬＢＡ値である。そして、アドレス変換情報訂正手段が、読込んだＬＢＡ値と、書き込もうとするユーザデータに付加されたＬＢＡ値とを比較する（Ｓ１０５）。
【００４１】
ＬＢＡ値の比較によって、ＬＢＡ値が同一であると判定した場合（Ｓ１０５Ｙｅｓ）、デバイス制御部が、ＨＤＤ内のＲＡＭに書き込まれている論理アドレス物理アドレス変換情報を、ディスク媒体上のシステムエリアから再読込みを行い、変換情報再読み込みフラグを「０」に設定する（Ｓ１０６）。変換情報再読み込みフラグはコントローラモジュール内のＲＡＭまたは、ＨＤＤ内のＲＡＭに格納しておく。変換情報については、ＨＤＤ内のＲＡＭでなく、コントローラモジュールのＲＡＭに格納されても良い。そして、書き込み制御部により、ユーザデータと付加されたＬＢＡ値を書き込み（Ｓ１０７）、書き込み処理を終了する（Ｓ１０８）。
【００４２】
また、データ有無判定によって、データが書き込まれていないと判定した場合（Ｓ１０３Ｎｏ）、付加された書き込みＬＢＡ値と比較するＬＢＡ値が存在しないので、そのまま書き込みを行い（Ｓ１０７）、書き込み処理を終了する（Ｓ１０８）。ユーザデータが存在しなくとも、既にディスク媒体上の記憶領域にＬＢＡ値が格納されている場合は、データ有無判定の際に、データが書き込まれていると判定する。
【００４３】
一方、ＬＢＡ値の比較によって、ＬＢＡ値が同一でないと判定した場合（Ｓ１０５Ｎｏ）、変換情報再読み込みフラグが「１」であるか判定する（Ｓ１０９）。変換情報再読み込みフラグが「１」でない場合（Ｓ１０９Ｎｏ）、ディスク媒体上のシステムエリアに格納された変換情報をＲＡＭに読込む（Ｓ１１０）。そして、変換情報再読み込みフラグを「１」に設定し、書き込み位置のデータ有無判定（Ｓ１０３）を行う。
【００４４】
変換情報再読み込みフラグが「１」である場合（Ｓ１０９Ｙｅｓ）、そのままエラー終了とする（Ｓ１１２）。変換情報再読み込みフラグが「１」であるということは、変換情報再読込みが行われた上で、ＬＢＡ値を比較したが、一致しなかったということである。つまり、継続的な異常の可能性があるので、ホストにエラーを報告する。
【００４５】
本ストレージ制御装置によれば、書き込み前に書き込もうとする位置に異常が無いかを確認することで異常を見つけることができる。
【００４６】
次に、本ストレージ制御装置の第２の実施例について説明する。
【００４７】
ＬＢＡの比較判定を、第１の実施例とは異なるタイミングで行う。ストレージ制御装置は、所定のタイミングで、媒体の当該物理位置に書き込まれているＬＢＡ値を確認する。所定のタイミングとは、ホストからＨＤＤへアクセスする命令が無いときや、電源投入時などのタイミングであると良い。ホストから書き込み、読み込み指示されたタイミング以外で、定期的にパトロール処理を行うことにより、書き込み及び読み込み時にかかる負荷が低減される。
【００４８】
ユーザデータに付加されたＬＢＡ値を確認し、メモリのソフトエラーなどによる一時的なアドレス変換の異常を検出した場合には、ＬＢＡからＣＨＳへの変換情報をシステムエリアから読み込み、ＲＡＭに格納する。これによって、ストレージシステムは、正常な変換情報を用いてアドレス変換できる。
【００４９】
図１０は、パトロール処理のフローチャートである。パトロール処理（Ｓ１１３）は、定期的に処理を行う。記録再生制御部が、パトロールするＬＢＡ値を決定する（Ｓ１１４）。そして、チャネル制御部は、ホストからのＨＤＤへのアクセス指示がでているか判断を行う（Ｓ１１５）。ホストからのアクセス指示が無い場合（Ｓ１１５Ｎｏ）、記録再生制御部は、デバイス制御部を介して、ＨＤＤのＲＡＭに格納された変換情報テーブルを用いて、パトロール用ＬＢＡ値を媒体上の物理位置を表すＣＨＳ情報へ変換し、媒体上の位置を特定する（Ｓ１１６）。そして、当該位置に記憶されているＬＢＡ値（被読み込みＬＢＡ値）を読み込む（Ｓ１１７）。
【００５０】
ここで、アドレス変換情報訂正手段は、パトロール用に設定したＬＢＡ値と被読み込みＬＢＡ値が一致しているか判定を行う（Ｓ１１８）。パトロール用ＬＢＡ値と被読み込みＬＢＡ値とが異なる場合（Ｓ１１８Ｎｏ）、変換情報再読み込みフラグが「１」に設定されているか確認する（Ｓ１１９）。変換情報再読み込みフラグが「１」でない場合（Ｓ１１９Ｎｏ）、システムエリアＳＡに格納された変換情報をＨＤＤ上のＲＡＭに読み込む（Ｓ１２０）。そして、変換情報再読み込みフラグを「１」に設定し、再びホストからのアクセス指示の有無を判定するステップに戻る（Ｓ１１４）。また、変換情報再読み込みフラグが「１」であった場合、ホストにエラーを報告してエラー終了とする（Ｓ１２２）。
【００５１】
一方、パトロール用ＬＢＡ値と被読み込みＬＢＡ値とが同じであった場合（Ｓ１１８Ｙｅｓ）、異常なしと判断され、次回パトロール用にＬＢＡ値を１増やして次の位置を表すＬＢＡ値を設定する（Ｓ１２３）。設定した後、変換情報再読み込みフラグを０に設定（Ｓ１２４）し、終了（Ｓ１２５）し、次回のパトロールまで待機する。
【００５２】
パトロール処理開始時にホストからのＨＤＤへのアクセス指示が出ている場合（Ｓ１１５Ｙｅｓ）、今回はパトロール処理を行わず、終了する（Ｓ１２５）。所定時間後、再度ＬＢＡ値をパトロールすることで、異常を検出する。
【００５３】
次に、欠陥位置を特定した上でのパトロール処理を説明する。欠陥登録時に付加するＬＢＡ値として、使用しない値である“−１”等の値を書き込んでおき、電源投入時やアクセスが無いときに欠陥とされる位置に書き込まれたＬＢＡ値を読み込み、“−１”であることを確認する。欠陥位置から読み込んだＬＢＡ値が“１”などの媒体上に実際に存在する位置を示した場合、ソフトエラー等の一時的な異常による位置誤算出が起こったため、誤った位置に書き込みが行われたと判断される。欠陥部分はユーザまたは製造者により任意に設定されるものであるが、欠陥部分と登録された記憶領域は８割の確率で読み込み可能であるため、ＬＢＡ値の書き込み及び読み込みを行う。
【００５４】
図１１は、欠陥位置を特定したパトロール処理（Ｓ１２６）のフローチャートである。本ストレージ制御装置では、欠陥位置と定めた媒体上のブロックに“−１”という媒体上に存在しない値を書き込んでおく。もし、欠陥部分に付加されたＬＢＡ値に実在するＬＢＡ値があった場合には、書き込み時に変換異常を起こし、本来書き込み対象ではない場所に書き込まれたことを表す。
【００５５】
読み込み制御部により、ＨＤＤのＲＡＭに展開された変換情報から欠陥位置情報を読み込む（Ｓ１２７）。変換情報から読み込んだ欠陥位置情報に基づき、媒体上のＬＢＡ値を読み込み、ＲＡＭ上に記憶する（Ｓ１２８）。該ＬＢＡ値（欠陥位置ＬＢＡ）が“−１”であるか判定する（Ｓ１２９）。欠陥位置ＬＢＡが“−１”の場合（Ｓ１２９Ｎｏ）、変換情報再読み込みフラグが「１」であるか判定する（Ｓ１３０）。変換情報再読み込みフラグが「１」で無かった場合（Ｓ１３０Ｎｏ）、システムエリアに格納された変換情報を再読込みに、ＲＡＭに書き込む（Ｓ１３１）。そして、変換情報再読み込みフラグを「１」に設定し（Ｓ１３２）、再びＨＤＤのＲＡＭに展開された変換情報から欠陥位置情報を読み込むステップを行う（Ｓ１２７）。
【００５６】
また、変換情報再読み込みフラグが「１」の場合（Ｓ１３０Ｙｅｓ）、ホストにエラーを報告し終了する（Ｓ１３３）。
【００５７】
一方、欠陥位置ＬＢＡ値が“−１”の場合（Ｓ１２９Ｙｅｓ）、欠陥位置ＬＢＡに１を加算し（Ｓ１３４）、終了する（Ｓ１３５）。終了後は所定時間経過後に、全ＬＢＡ値を判定するまでパトロール処理を繰り返す。
【００５８】
また、ＬＢＡ値をユーザデータ部に付加するのではなく、サーボ位置情報部分に付加してもよい。書き込み時及び読み込み時においてもサーボ情報は必ず読み込むため、サーボ位置情報部分に付加することで、リアルタイムにＬＢＡ値の比較が可能であり、高効率化を実現できる。さらに、欠陥登録を行う場合にはサーボ情報に付加するＬＢＡ値も更新するものであるが、欠陥登録時及び初期化以外に、ＬＢＡからＣＨＳへの変換情報が変わることは無いので、当該場合のみ更新する為、書き込み時にユーザデータにＬＢＡ値を必ず付加する方式より処理時間を短縮できる。
【００５９】
他の実施例として、ホストからのアクセスが無い場合に定期的にシステムエリアに記憶されている変換情報と、メモリに書き込まれた変換情報とを比較してもよい。システムエリアに記憶されている変換情報と、メモリに書き込まれた変換情報を比較し、のデータの食い違いを判定する。比較において、違いが確認された場合には、メモリに書き込まれた変換情報をシステムエリアの変換情報を用いてメモリ上の変換情報を更新する。本ストレージ制御装置によれば、変換情報自体を比較するため、書き込み及び読み込み処理への負荷がかからない。
【符号の説明】
【００６０】
１．ＨＤＤ
２．ＭＰＵ
３．ヘッド
４．ディスク媒体
５．シリンダ
６．セクタ
７．システムエリア
８．メモリ
９．ボイスコイルモータ
１０．ヘッドアクチュエータ
１１．ホスト
１２．ＲＡＩＤ装置
１３．チャネルインターフェース
１５．コントローラモジュール
１６．ＣＰＵ
１７．ＲＯＭ
１８．ＲＡＭ
１９．ＨＤＤインターフェース
２０．チャネル制御部
２１．記録再生制御部
２２．キャッシュ制御部
２３．デバイス制御部
２４．書き込み指示部
２５．読み込み指示部
２６．ＬＢＡ値付加制御部
２７．アドレス変換情報訂正手段
２８．ユーザデータＬＢＡ分離部
【図１】
0005381519.tif 000003
【図２】
0005381519.tif 000004
【図３】
0005381519.tif 000005
【図４】
0005381519.tif 000006
【図５】
0005381519.tif 000007
【図６】
0005381519.tif 000008
【図７】
0005381519.tif 000009
【図８】
0005381519.tif 000010
【図９】
0005381519.tif 000011
【図１０】
0005381519.tif 000012
【図１１】
0005381519.tif 000013