(57)【要約】  記録媒体上の欠陥領域の発生によるアクセス性能の低下を抑制する。  情報処理装置（１）は、記録媒体（４）の論理アドレス（ＬＢＡｈ）へのアクセス指示を受け、論理アドレス（ＬＢＡｈ）に対応する記録媒体（４）の物理アドレス（ＬＢＡｄ）へのアクセス制御をおこなう。管理部２は、記録媒体（４）上の論理アドレスと、所定数の交代領域をスキップした記録媒体（４）上の物理アドレスとの対応関係を管理する。制御部（３）は、受け付けた論理アドレスに対応付けられている物理アドレスを特定し、特定した物理アドレスによって記録媒体（４）へのアクセス制御をおこなう。情報処理装置（１）は、物理アドレスが示す領域に欠陥が発生した際に、欠陥を生じた物理アドレスに対応付けられていた論理アドレスの割り付けの交代先を、欠陥を示す物理アドレスに隣接する交代領域とする。
2013175622.tif 000002
【特許請求の範囲】
【請求項１】
連続する複数の論理アドレスのそれぞれに対して、記録媒体上の位置を示す物理アドレスが所定間隔で割り付けられるように、論理アドレスと物理アドレスとの対応関係を管理し、前記記録媒体で欠陥領域が発生すると、前記欠陥領域を示す物理アドレスに割り付けられた論理アドレスを特定し、特定された論理アドレスに割り付ける物理アドレスを、前記欠陥領域を示す物理アドレスに隣接する前記間隔内の物理アドレスにシフトする管理部と、
論理アドレスの指定を受けると、前記対応関係にもとづいて、指定された論理アドレスに割り付けられた物理アドレスが示す領域へのアクセスを制御する制御部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記管理部は、前記欠陥領域を示す物理アドレスに割り付けられた論理アドレスを不良論理アドレスとして保持し、
前記制御部は、指定された論理アドレスが前記不良論理アドレスである場合に、前記物理アドレスのシフト量にもとづいて、指定された論理アドレスに割り付けられた物理アドレスを算出することを特徴とする請求の範囲第１項記載の情報処理装置。
【請求項３】
前記制御部は、前記所定間隔を設定する設定値にもとづいて、指定された論理アドレスに割り付けられた物理アドレスを算出することを特徴とする請求の範囲第１項記載の情報処理装置。
【請求項４】
前記管理部は、前記間隔内の物理アドレスの数に応じて前記物理アドレスのシフトを繰り返し実行可能であることを特徴とする請求の範囲第１項記載の情報処理装置。
【請求項５】
前記管理部は、前記物理アドレスのシフト回数を保持し、
前記制御部は、指定された論理アドレスが不良論理アドレスである場合に、前記物理アドレスのシフト回数にもとづいて、指定された論理アドレスに割り付けられた物理アドレスを算出することを特徴とする請求の範囲第４項記載の情報処理装置。
【請求項６】
前記管理部は、１つの前記間隔内にある物理アドレスを、前記欠陥領域と交代する交代領域となる物理アドレスとして、前記間隔の一方の側にある物理アドレスと対応関係を有する１つの前記論理アドレスに予約することを特徴とする請求の範囲第１項記載の情報処理装置。
【請求項７】
コンピュータに、
連続する複数の論理アドレスのそれぞれに対して、記録媒体上の位置を示す物理アドレスが所定間隔で割り付けられるように、論理アドレスと物理アドレスとの対応関係を管理し、前記記録媒体で欠陥領域が発生すると、前記欠陥領域を示す物理アドレスに割り付けられた論理アドレスを特定し、特定された論理アドレスに割り付ける物理アドレスを、前記欠陥領域を示す物理アドレスに隣接する前記間隔内の物理アドレスにシフトし、
論理アドレスの指定を受けると、前記対応関係にもとづいて、指定された論理アドレスに割り付けられた物理アドレスが示す領域へのアクセスを制御する、
処理を実行させることを特徴とする情報処理プログラム。
【請求項８】
前記欠陥領域を示す物理アドレスに割り付けられた論理アドレスを不良論理アドレスとして保持し、
指定された論理アドレスが前記不良論理アドレスである場合に、前記物理アドレスのシフト量にもとづいて、指定された論理アドレスに割り付けられた物理アドレスを算出することを特徴とする請求の範囲第７項記載の情報処理プログラム。
【請求項９】
前記所定間隔を設定する設定値にもとづいて、指定された論理アドレスに割り付けられた物理アドレスを算出することを特徴とする請求の範囲第７項記載の情報処理プログラム。
【請求項１０】
前記間隔内の物理アドレスの数に応じて前記物理アドレスのシフトを繰り返し実行可能であることを特徴とする請求の範囲第７項記載の情報処理プログラム。
【請求項１１】
前記物理アドレスのシフト回数を保持し、
指定された論理アドレスが不良論理アドレスである場合に、前記物理アドレスのシフト回数にもとづいて、指定された論理アドレスに割り付けられた物理アドレスを算出することを特徴とする請求の範囲第１０項記載の情報処理プログラム。
【請求項１２】
１つの前記間隔内にある物理アドレスを、前記欠陥領域と交代する交代領域となる物理アドレスとして、前記間隔の一方の側にある物理アドレスと対応関係を有する１つの前記論理アドレスに予約することを特徴とする請求の範囲第７項記載の情報処理プログラム。
【請求項１３】
コンピュータが、
連続する複数の論理アドレスのそれぞれに対して、記録媒体上の位置を示す物理アドレスが所定間隔で割り付けられるように、論理アドレスと物理アドレスとの対応関係を管理し、前記記録媒体で欠陥領域が発生すると、前記欠陥領域を示す物理アドレスに割り付けられた論理アドレスを特定し、特定された論理アドレスに割り付ける物理アドレスを、前記欠陥領域を示す物理アドレスに隣接する前記間隔内の物理アドレスにシフトし、
論理アドレスの指定を受けると、前記対応関係にもとづいて、指定された論理アドレスに割り付けられた物理アドレスが示す領域へのアクセスを制御する、
ことを特徴とするアクセス制御方法。
【請求項１４】
前記欠陥領域を示す物理アドレスに割り付けられた論理アドレスを不良論理アドレスとして保持し、
指定された論理アドレスが前記不良論理アドレスである場合に、前記物理アドレスのシフト量にもとづいて、指定された論理アドレスに割り付けられた物理アドレスを算出することを特徴とする請求の範囲第１３項記載のアクセス制御方法。
【請求項１５】
前記所定間隔を設定する設定値にもとづいて、指定された論理アドレスに割り付けられた物理アドレスを算出することを特徴とする請求の範囲第１３項記載のアクセス制御方法。
【請求項１６】
前記間隔内の物理アドレスの数に応じて前記物理アドレスのシフトを繰り返し実行可能であることを特徴とする請求の範囲第１３項記載のアクセス制御方法。
【請求項１７】
前記物理アドレスのシフト回数を保持し、
指定された論理アドレスが不良論理アドレスである場合に、前記物理アドレスのシフト回数にもとづいて、指定された論理アドレスに割り付けられた物理アドレスを算出することを特徴とする請求の範囲第１６項記載のアクセス制御方法。
【請求項１８】
１つの前記間隔内にある物理アドレスを、前記欠陥領域と交代する交代領域となる物理アドレスとして、前記間隔の一方の側にある物理アドレスと対応関係を有する１つの前記論理アドレスに予約することを特徴とする請求の範囲第１３項記載のアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理プログラム、およびアクセス制御方法に関する。
【背景技術】
【０００２】
高速かつ大容量のストレージデバイスとして磁気ディスク装置が広く用いられている。磁気ディスク装置は、論理ブロックアドレス（ＬＢＡ：Logical Block Address）をシーケンシャルにセクタに割り付け、ＬＢＡによりセクタを特定してデータの記録再生をおこなう。【０００３】
また、磁気ディスク装置では、後発的に欠陥セクタを発生することがある。磁気ディスク装置は、欠陥セクタの発生を検出すると、欠陥セクタからあらかじめ確保してある代替領域にあるセクタにＬＢＡの割り付け先を変更する。このようなＬＢＡの割り付け先の変更は、後発的欠陥セクタの使用を防止してデータ保持の信頼性の向上に寄与する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−３０１７２１号公報
【特許文献２】特開２００４−１０３１２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、代替領域は欠陥セクタから離れた位置に存在するため、欠陥セクタから代替領域のセクタにＬＢＡの割り付けを変更した場合、ＬＢＡに割り付けられるセクタの連続性が失われる。この場合、シーケンシャルアクセスが不可能になり、記録媒体へのアクセス性能が低下するという問題がある。【０００６】
１つの側面では、本発明は、記録媒体上の欠陥領域の発生によるアクセス性能の低下を抑制することが可能な情報処理装置、情報処理プログラム、およびアクセス制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、以下に示すような、情報処理装置が提供される。情報処理装置は、管理部と、制御部と、を備える。管理部は、記録媒体上の論理アドレスと、所定数の交代領域をスキップした記録媒体上の物理アドレスとの対応関係を管理する。制御部は、論理アドレスへのアクセス指示を受け付けて、対応関係にもとづいて物理アドレスへのアクセスを制御する。【０００８】
また、上記目的を達成するために、以下に示すような処理をコンピュータに実行させる情報処理プログラム、および以下に示すような処理をコンピュータがおこなうアクセス制御方法が提供される。コンピュータは、記録媒体上の論理アドレスと、所定数の交代領域をスキップした記録媒体上の物理アドレスとの対応関係を管理し、論理アドレスへのアクセス指示を受け付けて、対応関係にもとづいて物理アドレスへのアクセスを制御する。
【発明の効果】
【０００９】
１態様によれば、情報処理装置、情報処理プログラム、およびアクセス制御方法において、物理アドレスの欠陥による論理アドレスの割り付け先の変更の際に、シーケンシャルアクセスの連続性を保持できる。【００１０】
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態の情報処理装置の構成例および処理例を示す図である。
【図２】第２の実施形態の情報処理装置のハードウェア構成例を示す図である。
【図３】第２の実施形態の情報処理装置の構成例を示す図である。
【図４】第２の実施形態のＬＢＡ変換管理処理のフローチャートである。
【図５】第２の実施形態の初期設定処理のフローチャートである。
【図６】第２の実施形態のＬＢＡ配置の一例を示す図である。
【図７】第２の実施形態のＬＢＡｈアクセス処理のフローチャートである。
【図８】第２の実施形態のＬＢＡ管理テーブルの一例を示す図である。
【図９】第２の実施形態のＬＢＡｄアクセス処理のフローチャートである。
【図１０】第２の実施形態のＬＢＡ再配置の一例を示す図である。
【図１１】参考実施形態のＬＢＡ配置の一例を示す図である。
【図１２】参考実施形態のＬＢＡ再配置の一例を示す図である。
【図１３】第３の実施形態のＬＢＡ配置の一例を示す図である。
【図１４】第３の実施形態のＬＢＡ再配置の一例を示す図である。
【図１５】第３の実施形態のＬＢＡ再配置の一例を示す図である。
【図１６】第４の実施形態の情報処理装置の構成例を示す図である。
【発明を実施するための形態】
【００１２】
以下、実施の形態を図面を参照して詳細に説明する。
［第１の実施形態］
まず、第１の実施形態の情報処理装置について図１を用いて説明する。図１は、第１の実施形態の情報処理装置の構成例および処理例を示す図である。
【００１３】
情報処理装置１は、記録媒体４の論理アドレス（ＬＢＡｈ）へのアクセス指示を受け、論理アドレス（ＬＢＡｈ）に対応する記録媒体４の物理アドレス（ＬＢＡｄ）へのアクセス制御をおこなう。
【００１４】
以下、情報処理装置１が受け付ける論理アドレスを「ＬＢＡｈ」と表記し、情報処理装置１が記録媒体４に指定する物理アドレスを「ＬＢＡｄ」と表記する。
情報処理装置１は、管理部２と、制御部３と、を備える。管理部２は、記録媒体４上の論理アドレスと、所定数の交代領域をスキップした記録媒体４上の物理アドレスとの対応関係を管理する。
【００１５】
物理アドレスは、記録媒体４が備える記憶領域を一意に特定可能なアドレスである。たとえば、記録媒体４がＨＤＤ（Hard Disk Drive：ハードディスクドライブ）である場合、物理アドレスは、セクタ（記憶領域）を一意に識別可能な情報である。物理アドレスは、たとえば、ＬＢＡｄ＃０、ＬＢＡｄ＃１、ＬＢＡｄ＃２、…のように各記憶領域にシーケンシャルに付される。
【００１６】
論理アドレスは、記録媒体４の見かけ上のアドレスである。論理アドレスは、たとえば、ＬＢＡｈ＃０、ＬＢＡｈ＃１、ＬＢＡｈ＃２、…のように各記憶領域にシーケンシャルに付される。論理アドレスと物理アドレスとは、１対１の対応関係を有し、論理アドレスは、論理アドレスに対応付けられた物理アドレスを特定可能にしている。
【００１７】
論理アドレスは、所定数の交代領域をスキップした物理アドレスと対応する。すなわち、２つの連続した論理アドレスのそれぞれと対応する２つの物理アドレスの間隔には、所定数の交代領域がある。
【００１８】
図１の例では、論理アドレスＬＢＡｈ＃０は、物理アドレスＬＢＡｄ＃０に対応し、論理アドレスＬＢＡｈ＃１は、物理アドレスＬＢＡｄ＃２に対応し、論理アドレスＬＢＡｈ＃２は、物理アドレスＬＢＡｄ＃４に対応する。物理アドレスＬＢＡｄ＃０と物理アドレスＬＢＡｄ＃２の間には、論理アドレスに対応付けられていない物理アドレスＬＢＡｄ＃１があり、物理アドレスＬＢＡｄ＃２と物理アドレスＬＢＡｄ＃４の間には、論理アドレスとの対応関係のない物理アドレスＬＢＡｄ＃３がある。物理アドレスＬＢＡｄ＃１は、物理アドレスＬＢＡｄ＃０の交代領域として確保された領域である。物理アドレスＬＢＡｄ＃３は、物理アドレスＬＢＡｄ＃２の交代領域として確保された領域である。
【００１９】
交代領域は、物理アドレスに欠陥が発生した際に、欠陥を生じた物理アドレスに対応付けられていた論理アドレスの割り付けの交代先として用意される領域である。なお、情報処理装置１は、スキップ幅を任意の大きさとすることで、所要の交代領域を確保することができる。
【００２０】
制御部３は、論理アドレスへのアクセス指示を受け付ける。制御部３は、管理部２が管理する対応関係にもとづいて、受け付けた論理アドレスに対応付けられている物理アドレスを特定する。制御部３は、特定した物理アドレスによって記録媒体４へのアクセス制御をおこなう。
【００２１】
これにより、情報処理装置１は、物理アドレスが示す領域に欠陥が発生した際に、欠陥を生じた物理アドレスに対応付けられていた論理アドレスの割り付けの交代先を、欠陥を示す物理アドレスに隣接する交代領域とすることができる。このような情報処理装置１は、論理アドレスの割り付けの交代があっても、論理アドレスの配列順と、論理アドレスに対応付けられている物理アドレスの配列順が一致するため、記録媒体４に対するアクセスの連続性を保持できる。したがって、情報処理装置１は、記録媒体４に欠陥領域が発生した場合でもシーケンシャルアクセスをおこなうことができ、アクセス性能の低下を抑制できる。
【００２２】
［第２の実施形態］
次に、第２の実施形態の情報処理装置について図２を用いて説明する。図２は、第２の実施形態の情報処理装置のハードウェア構成例を示す図である。
【００２３】
情報処理装置１０は、たとえば、ストレージデバイスとアクセス可能なコンピュータである。情報処理装置１０は、複数の周辺機器を接続する。情報処理装置１０は、ＣＰＵ（Central Processing Unit）１１によって装置全体が制御されている。ＣＰＵ１１には、バス１９を介してＲＡＭ（Random Access Memory）１３と複数の周辺機器が接続されている。
【００２４】
ＲＡＭ１３は、情報処理装置１０の主記憶装置として使用される。ＲＡＭ１３には、ＣＰＵ１１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１３には、ＣＰＵ１１による処理に必要な各種データが格納される。
【００２５】
バス１９に接続されている周辺機器としては、グラフィック処理装置１２、入力インタフェース１４、ＨＢＡ（Host Bus Adapter）１５、光学ドライブ装置１６、および通信インタフェース１８がある。
【００２６】
グラフィック処理装置１２には、モニタ２１が接続されている。グラフィック処理装置１２は、ＣＰＵ１１からの命令にしたがって、画像をモニタ２１の画面に表示させる。
入力インタフェース１４には、キーボード２２とマウス２３が接続されている。入力インタフェース１４は、キーボード２２やマウス２３から送られてくる信号をＣＰＵ１１に送信する。
【００２７】
ＨＢＡ１５は、ハードウェアインタフェースおよびソフトウェアインタフェースを提供し、ＣＰＵ１１（ホスト）によるＨＤＤ１７（ストレージデバイス）へのアクセスを仲介する。たとえば、ＨＢＡ１５は、ＳＣＳＩ（Small Computer System Interface）にしたがうストレージデバイスの制御機能を含んで構成される。なお、ＨＢＡ１５は、ＳＣＳＩによるバス接続に限らず、ＰＣＩ（Peripheral Component Interconnect）等その他のバスインタフェースを介してバス接続するものであってもよい。また、ＨＢＡ１５は、拡張スロット等のインタフェースを介してＣＰＵ１１を搭載するマザーボードとバス接続するものであってもよいし、ＣＰＵ１１を搭載するマザーボード上に搭載されてバス接続するものであってもよい。
【００２８】
ＨＤＤ１７は、内蔵したディスクに対して、磁気的にデータの書込みおよび読出しをおこなう。ＨＤＤ１７は、情報処理装置１０の二次記憶装置として使用される。ＨＤＤ１７には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。また、ＨＤＤ１７は、情報処理装置１０に対して外部接続するものであってもよい。
【００２９】
光学ドライブ装置１６は、レーザ光などを利用して、光ディスク２４に記録されたデータの読み取りをおこなう。光ディスク２４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００３０】
通信インタフェース１８は、図示しないネットワークに接続されている。通信インタフェース１８は、ネットワークを介して、他のコンピュータまたは通信機器との間でデータの送受信をおこなう。
【００３１】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
次に、第２の実施形態のＨＢＡについて図３を用いて説明する。図３は、第２の実施形態の情報処理装置の構成例を示す図である。
【００３２】
ＨＢＡ１５は、ホスト３０によるＨＤＤ１７へのアクセスを仲介する。ＨＢＡ１５は、ホスト３０から論理アドレスによりＨＤＤ１７へのアクセス要求を受け付け、論理アドレスに対応付けられている物理アドレスによってＨＤＤ１７へのアクセスをおこなう。以下、ホスト３０がＨＢＡ１５に指定する論理アドレスを「ＬＢＡｈ」と表記し、ＨＢＡ１５がＨＤＤ１７に指定する物理アドレスを「ＬＢＡｄ」と表記する。
【００３３】
なお、ホスト３０は、ＨＢＡ１５にＨＤＤ１７へのアクセスを要求する要求元であり、情報処理装置１０におけるＣＰＵ１１に相当する。ホスト３０の処理は、たとえば、ＣＰＵ１１がＯＳを実行することで実現される。
【００３４】
ＨＢＡ１５は、ホストインタフェース３１と、ＨＤＤインタフェース３２と、制御部３３と、ＬＢＡ変換管理部３４と、不揮発メモリ３５と、を備える。ホストインタフェース３１は、ＨＢＡ１５とホスト３０とを接続するための、ハードウェアインタフェースおよびソフトウェアインタフェースを提供する。ＨＤＤインタフェース３２は、ＨＢＡ１５とＨＤＤ１７とを接続するための、ハードウェアインタフェースおよびソフトウェアインタフェースを提供する。
【００３５】
制御部３３は、ＬＢＡ変換管理部３４を有する。不揮発メモリ３５は、ファームウェア３６、スキップ数３７、ＬＢＡ管理テーブル５０を記憶する。ＬＢＡ管理テーブル５０は、不良ＬＢＡ３８と、交代回数３９を保持する。
【００３６】
制御部３３は、図示しないＣＰＵを備え、ＨＢＡ１５を統括的に制御する。制御部３３の処理は、制御部３３のＣＰＵがファームウェア３６を実行することで実現される。
制御部３３は、ＬＢＡ管理テーブル５０を参照して、ＬＢＡｈとＬＢＡｄの相互変換をおこなう。ＬＢＡ変換管理部３４は、ＬＢＡ管理テーブル５０の生成と更新をおこなう。ＬＢＡ変換管理部３４は、初期設定処理においてＬＢＡ管理テーブル５０を生成し、ＨＤＤ１７へのアクセス異常の検出を契機にＬＢＡ管理テーブル５０を更新する。
【００３７】
制御部３３は、初期設定処理において、連続する複数のＬＢＡｈのそれぞれに対して、ＬＢＡｄを一定の間隔を空けて割り付ける。制御部３３は、１つのＬＢＡｈに割り付けられたＬＢＡｄと、次のＬＢＡｈに割り付けられたＬＢＡｄとの間に、スキップ数３７だけのＬＢＡｄを含む交代領域を確保する。したがって、ＨＤＤ１７においてユーザが利用可能な記憶領域は、およそ１／（１＋スキップ数３７）となる。たとえば、スキップ数「１」の場合、ＨＤＤ１７においてユーザが利用可能な記憶領域は、約１／２となる。
【００３８】
制御部３３は、ＨＤＤ１７へのアクセス異常を検出すると、アクセス異常のあった領域（欠陥領域）を示すＬＢＡｄと、このＬＢＡｄに対応付けられているＬＢＡｈとの対応関係を解消する。制御部３３は、アクセス異常のあるＬＢＡｄに割り付けられていたＬＢＡｈを不良ＬＢＡ３８に登録し、アクセス異常としてＬＢＡｄとの対応関係を解消した数を交代回数３９に登録する。制御部３３は、アクセス異常のあるＬＢＡｄに代えてこのＬＢＡｄに連続する交代領域と、新たな対応関係を生成して、ＬＢＡ管理テーブル５０を更新する。
【００３９】
制御部３３は、不良ＬＢＡ３８と交代回数３９にもとづいて、ＬＢＡｈとＬＢＡｄの相互変換に必要な新たな対応関係を取得することができる。
このように、ＬＢＡｈとＬＢＡｄの対応関係の更新があっても、ＬＢＡｈを増加または減少させたときの、割り付け先のＬＢＡｄの配列方向が変化しないため、ＨＢＡ１５は、ＨＤＤ１７に対するアクセスの連続性を保持できる。
【００４０】
ＨＤＤ１７に対するシーケンシャルなアクセス特性の保持は、シーク動作の発生確率を低減する。たとえば、２．５インチ、１０ｋｒｐｍの一般的なハードディスクでは、データの書込み時に、フルストロークで約８ｍｓ、平均で約４ｍｓのシーク時間を要し、最大で約６ｍｓ、平均で約３ｍｓの回転待ち時間を要する。このようなハードディスクは、シーク動作の発生により、最大で約１４ｍｓのシーク時間が発生する。ＨＢＡ１５は、長期の稼働により不良セクタの発生が蓄積しても、ＨＤＤ１７に対するシーケンシャルなアクセス特性を保持することが可能である。そして、ＨＢＡ１５は、ＨＤＤ１７に対するシーケンシャルなアクセス特性の保持によりシーク時間を低減する。ＨＢＡ１５は、シーク時間の低減により、ＨＤＤ１７の高速アクセスパフォーマンスを長期にわたり保持可能にする。
【００４１】
次に、第２の実施形態のＨＢＡ１５の制御部３３が実行するＬＢＡ変換管理処理について図４を用いて説明する。図４は、第２の実施形態のＬＢＡ変換管理処理のフローチャートである。
【００４２】
ＬＢＡ変換管理処理は、ＬＢＡｈとＬＢＡｄの相互変換を管理する処理である。制御部３３は、ＨＢＡ１５の起動によりＬＢＡ変換管理処理を実行する。
［ステップＳ１１］制御部３３は、初期設定処理を実行する。初期設定処理の詳細は、図５を用いて後で説明する。
【００４３】
［ステップＳ１２］制御部３３は、ホスト３０からＨＤＤ１７へのアクセス指示の受付の有無を判定する。制御部３３は、ホスト３０からＨＤＤ１７へのアクセス指示を受け付けた場合にステップＳ１３にすすみ、アクセス指示を受け付けていない場合にアクセス指示を待ち受ける。
【００４４】
［ステップＳ１３］制御部３３は、ＬＢＡｈアクセス処理を実行する。ＬＢＡｈアクセス処理の詳細は、図７、図８を用いて後で説明する。
次に、第２の実施形態のＨＢＡ１５の制御部３３が実行する初期設定処理について図５を用いて説明する。図５は、第２の実施形態の初期設定処理のフローチャートである。
【００４５】
初期設定処理は、ＬＢＡとＬＢＡｄの対応関係を生成する処理である。制御部３３は、ＬＢＡ変換管理処理のステップＳ１２において初期設定処理を実行する。
［ステップＳ２１］制御部３３は、ＨＤＤ１７のデータ容量を確認する。
【００４６】
［ステップＳ２２］制御部３３は、スキップ数３７を取得する。スキップ数３７は、０以上の整数であり、所要のタイミングで設定される設定値である。スキップ数３７は、キーボード２２やマウス２３などの入力装置や、通信インタフェースを介した外部装置から入力をおこなうことができる。
【００４７】
［ステップＳ２３］制御部３３は、所要の管理領域や代替領域を磁気ディスクに確保し、さらに、１つの記憶領域毎にスキップ数３７で指定される交代領域（記憶領域）を確保した場合に、ユーザが使用可能な容量を算出する。なお、管理領域は、磁気ディスクの先頭に設けられ、磁気ディスクに関する所要の情報を記録する領域である。代替領域は、１つの記憶領域について、その交代領域を含めて異常が発生した場合に、代替される記憶領域である。
【００４８】
［ステップＳ２４］制御部３３は、ＬＢＡｈ（第１のアドレス）の配列順と、ＬＢＡｈに対応するＬＢＡｄ（第２のアドレス）の配列順を一致させて、ＬＢＡｈとＬＢＡｄとの対応関係を生成する。これにより、制御部３３は、ＬＢＡｈの配列順と、ＬＢＡｈに対応付けられたＬＢＡｄの配列順を一致させて、ＬＢＡｈとＬＢＡｄとの対応関係を生成することができる。
【００４９】
なお、ＬＢＡｈとＬＢＡｄとの対応関係の生成の詳細については後で説明する。
［ステップＳ２５］制御部３３は、ホスト３０にＨＤＤ１７の使用可能容量を通知して、初期設定処理を終了する。
【００５０】
なお、制御部３３は、スキップ数３７を複数設定するようにしてもよい。たとえば、制御部３３は、ＨＤＤ１７が複数の磁気ディスクを備える場合に磁気ディスク毎に異なるスキップ数３７を設定してもよい。また、制御部３３は、磁気ディスク上の領域毎に異なるスキップ数３７を設定してもよい。このようにすれば、制御部３３は、ＨＤＤ１７（記録媒体）の異常発生特性に応じてスキップ数３７を設定することができる。
【００５１】
次に、スキップ数「１」の場合に、第２の実施形態のＨＢＡ１５の制御部３３が初期設定処理において生成するＬＢＡｈとＬＢＡｄとの対応関係について図６を用いて説明する。図６は、第２の実施形態のＬＢＡ配置の一例を示す図である。
【００５２】
なお、以下の説明では、ＨＢＡ１５からＨＤＤ１７に指定されるＬＢＡｄは、磁気ディスク上のセクタに順番に付与されたセクタ番号を示す。ただし、ＬＢＡｄは、ＨＤＤ１７が任意に設定した論理アドレスであってもよい。この場合、ＨＤＤ１７は、ＬＢＡｄのそれぞれに対して、セクタ番号を示す物理アドレスを任意に割り付ける。ただし、ＨＤＤ１７は、ＬＢＡｄが増加したときに、割り付け先の物理アドレスが増加または減少のどちらかになるように、アドレスの割り付けをおこなう。
【００５３】
ＨＤＤ１７は、図示しない管理領域と、ＬＢＡｄ＃０からＬＢＡｄ＃２ｎ＋１までの記憶領域と、所要の代替領域とを有する。ＨＤＤ１７におけるＬＢＡｈとＬＢＡｄとの対応関係は、スキップ数「１」の場合を示したものである。
【００５４】
ＬＢＡｄ＃０からＬＢＡｄ＃２ｎ＋１までの記憶領域は、スキップ数「１」であることから、Ｄａｔａ＃０、交代領域、Ｄａｔａ＃１、交代領域、…のように、Ｄａｔａ領域と、交代領域とが交互に設定される。
【００５５】
ＬＢＡｈ＃０からＬＢＡｈ＃ｎは、ＬＢＡｈ＃０に対してＬＢＡｄ＃０、ＬＢＡｈ＃１に対してＬＢＡｄ＃２のように、１つ飛びにＬＢＡｄ＃０からＬＢＡｄ＃２ｎと対応する。ＬＢＡｈ＃０からＬＢＡｈ＃ｎの配列順は、ＬＢＡｄ＃０からＬＢＡｄ＃２ｎの配列順と一致する。
【００５６】
すなわち、ｉが０からｎの整数のとき、ＬＢＡｈ＃ｉは、ＬＢＡｄ＃２ｉに対応し、ＬＢＡｈ＃ｉと対応関係のないＬＢＡｄ＃２ｉ＋１は、交代領域となる。
これにより、ＨＢＡ１５は、ホスト３０から連続する論理アドレス（ＬＢＡｈ）のアクセス要求を受け付けた場合に、ＨＤＤ１７に対して一方向に配列された物理領域に対してアクセスをおこなうことができる。また、ＨＤＤ１７は、Ｄａｔａ領域と交代領域とを交互に設定することによりデータの記録密度が低下するので、欠陥セクタの発生などによるデータ損失のリスクを低減することができる。
【００５７】
次に、第２の実施形態のＨＢＡ１５の制御部３３が実行するＬＢＡｈアクセス処理について図７、図８を用いて説明する。図７は、第２の実施形態のＬＢＡｈアクセス処理のフローチャートである。図８は、第２の実施形態のＬＢＡ管理テーブルの一例を示す図である。
【００５８】
ＬＢＡｈアクセス処理は、ホスト３０からＨＤＤ１７へのＬＢＡｈによるアクセス要求に応答する処理である。制御部３３は、ＬＢＡ変換管理処理のステップＳ１３においてＬＢＡｈアクセス処理を実行する。
【００５９】
［ステップＳ３１］制御部３３は、ＬＢＡ管理テーブル５０を確認する。図８に示すように、ＬＢＡ管理テーブル５０は、不良ＬＢＡと交代回数を保持する。不良ＬＢＡは、不良が検出された領域に対応するＬＢＡｈである。たとえば、ＬＢＡｈ＃ｉに対応するＬＢＡｄ＃２ｉの不良を検出し、ＬＢＡｈ＃ｉとＬＢＡｄ＃２ｉの対応関係を、ＬＢＡｈ＃ｉと、ＬＢＡｄ＃２ｉに代えて交代領域であるＬＢＡｄ＃２ｉ＋１との対応関係に更新した場合に、ＬＢＡｈ＃ｉは、不良ＬＢＡである。交代回数は、ＬＢＡｈとＬＢＡｄの対応関係の更新回数を示す。
【００６０】
［ステップＳ３２］制御部３３は、アクセス要求のあった論理アドレス（ＬＢＡｈ）がＬＢＡ管理テーブル５０に不良ＬＢＡとして登録されているか否かを判定する。制御部３３は、アクセス要求のあった論理アドレス（ＬＢＡｈ）がＬＢＡ管理テーブル５０に不良ＬＢＡとして登録されている場合にステップＳ３３にすすみ、不良ＬＢＡとして登録されていない場合にステップＳ３４にすすむ。たとえば、制御部３３は、ＬＢＡｈ＃１０００からＬＢＡｈ＃１０１０のアクセス要求を受け付けた場合に、ＬＢＡ管理テーブル５０に登録されている不良ＬＢＡがないと判定する。また、制御部３３は、ＬＢＡｈ＃１２３４０からＬＢＡｈ＃１２３５０のアクセス要求を受け付けた場合に、ＬＢＡ管理テーブル５０に登録されている不良ＬＢＡ（ＬＢＡｈ＃１２３４５）があると判定する。
【００６１】
［ステップＳ３３］制御部３３は、ＬＢＡ管理テーブル５０を使用して、論理アドレス（ＬＢＡｈ）に対応する物理アドレス（ＬＢＡｄ）を算出する。制御部３３は、物理アドレス（ＬＢＡｄ）の算出において、ＬＢＡ管理テーブル５０に不良ＬＢＡとして登録されている論理アドレス（ＬＢＡｈ）に初期設定処理において対応付けられた物理アドレス（ＬＢＡｄ）を取得（算出式による算出でもよい）する。制御部３３は、取得した物理アドレス（ＬＢＡｄ）について交代回数だけアドレスシフトをおこなうことで、新しく対応付けをおこなう物理アドレス（ＬＢＡｄ）を算出できる。
【００６２】
たとえば、ＬＢＡｈ＃１２３４５が不良ＬＢＡとして登録されている場合、制御部３３は、ＬＢＡｄ＝ＬＢＡｈ×２より、ＬＢＡｈ＃１２３４５と対応するＬＢＡｄ＃２４６９０（＝１２３４５×２）を取得する。制御部３３は、交代回数「１」を参照し、ＬＢＡｄ＃２４６９０を１だけアドレスシフトしてＬＢＡｄ＃２４６９１（＝１２３４５×２＋１）を算出する。
【００６３】
なお、制御部３３は、交代１回あたりのシフト量と、交代回数（シフト回数）とにより、アドレスシフトをおこなう際のシフト量を求めることができる。
［ステップＳ３４］制御部３３は、ＬＢＡ管理テーブル５０を使用しないで、論理アドレス（ＬＢＡｈ）に対応する物理アドレス（ＬＢＡｄ）を算出する。制御部３３は、物理アドレス（ＬＢＡｄ）の算出において、論理アドレス（ＬＢＡｈ）に初期設定処理において対応付けられた物理アドレス（ＬＢＡｄ）を算出する。たとえば、制御部３３は、ＬＢＡｄ＝ＬＢＡｈ×２より、ＬＢＡｈ＃１００と対応するＬＢＡｄ＃２００（＝１００×２）を算出する。
【００６４】
［ステップＳ３５］制御部３３は、ＬＢＡｄアクセス処理を実行する。ＬＢＡｄアクセス処理は、ＨＤＤ１７へのＬＢＡｄによるアクセスをおこなう処理である。ＬＢＡｄアクセス処理の詳細は、図９を用いて後で説明する。
【００６５】
［ステップＳ３６］制御部３３は、ＬＢＡｄアクセス処理の処理結果が正常か否かを判定する。制御部３３は、ＬＢＡｄアクセス処理の処理結果が正常である場合にステップＳ３７にすすみ、ＬＢＡｄアクセス処理の処理結果が正常でない場合にステップＳ３８にすすむ。
【００６６】
［ステップＳ３７］制御部３３は、ＨＤＤ１７へのＬＢＡｄによるアクセス結果を、ホストインタフェース３１を介してホスト３０に通知する。アクセス結果は、たとえば、ＨＤＤ１７への書込みであれば書込みの完了報告であり、ＨＤＤ１７からの読出しであれば読出したデータである。制御部３３は、アクセス結果をホスト３０に通知して、ＬＢＡｈアクセス処理を終了する。
【００６７】
［ステップＳ３８］制御部３３は、ＨＤＤ１７へのＬＢＡｄによるアクセスエラーを、ホストインタフェース３１を介してホスト３０に通知してＬＢＡｈアクセス処理を終了する。
【００６８】
次に、第２の実施形態のＨＢＡ１５の制御部３３が実行するＬＢＡｄアクセス処理について図９を用いて説明する。図９は、第２の実施形態のＬＢＡｄアクセス処理のフローチャートである。
【００６９】
ＬＢＡｄアクセス処理は、ＨＤＤ１７へのＬＢＡｄによるアクセスをおこなう処理である。制御部３３は、ＬＢＡｈアクセス処理のステップＳ３４においてＬＢＡｄアクセス処理を実行する。
【００７０】
［ステップＳ４１］制御部３３は、ＨＤＤ１７へＬＢＡｄを送信し、送信したＬＢＡｄに対応する記憶領域へのアクセス（データの読出し、データの書込みなど）を要求する。
［ステップＳ４２］制御部３３は、ＨＤＤ１７へのＬＢＡｄによるアクセス結果が正常であるか否かを判定する。制御部３３は、ＨＤＤ１７へのＬＢＡｄによるアクセス結果が正常である場合にステップＳ５０にすすみ、アクセス結果が正常でない場合にステップＳ４３にすすむ。制御部３３は、ＨＤＤインタフェース３２を介したＨＤＤ１７からの応答（たとえば、正常応答やアクセスエラー応答など）にもとづいて、ＨＤＤ１７へのＬＢＡｄによるアクセス結果が正常か否かの判定をおこなうことができる。
【００７１】
［ステップＳ４３］制御部３３は、ＨＤＤ１７へのＬＢＡｄによるアクセスのリトライを実行するか否かを判定する。制御部３３は、ＨＤＤ１７へのＬＢＡｄによるアクセスのリトライを実行する場合にステップＳ４１にすすみ、リトライを実行しない場合にステップＳ４４にすすむ。たとえば、リトライを実行するか否かの判定は、リトライ回数が規定回数（たとえば、５回）に達しているか否かを判定することによりおこなう。
【００７２】
［ステップＳ４４］制御部３３は、ＨＤＤ１７へのＬＢＡｄによるアクセスがリトライを経てなお正常におこなうことができないことから、ＨＤＤ１７へのアクセスに失敗したＬＢＡｄに対応するＬＢＡを不良ＬＢＡとする。制御部３３は、ＬＢＡ管理テーブル５０に不良ＬＢＡを登録可能か否かを判定する。制御部３３は、ＬＢＡ管理テーブル５０に不良ＬＢＡを登録できる場合にステップＳ４５にすすみ、不良ＬＢＡを登録できない場合にステップＳ４７にすすむ。
【００７３】
ＬＢＡ管理テーブル５０に不良ＬＢＡを登録可能か否かの判定は、ＨＤＤ１７へのアクセスに失敗したＬＢＡｄがＬＢＡ管理テーブル５０に不良ＬＢＡとして登録されていない場合に登録可能とすることができる。また、ＬＢＡ管理テーブル５０に不良ＬＢＡを登録可能か否かの判定は、ＨＤＤ１７へのアクセスに失敗したＬＢＡｄが不良ＬＢＡとして登録されていても交代回数がスキップ数に達していない場合に登録可能とすることができる。
【００７４】
［ステップＳ４５］制御部３３は、ＬＢＡ管理テーブル５０を更新する。具体的には、制御部３３は、ＨＤＤ１７へのアクセスに失敗したＬＢＡｄに対応するＬＢＡｈが不良ＬＢＡとして登録されていない場合は、ＬＢＡ管理テーブル５０に不良ＬＢＡとして登録するとともに、交代回数「１」をセットする。また、制御部３３は、ＨＤＤ１７へのアクセスに失敗したＬＢＡｄに対応するＬＢＡｈが不良ＬＢＡとしてすでに登録されている場合は、ＬＢＡ管理テーブル５０に登録されている不良ＬＢＡの交代回数をインクリメントする。
【００７５】
［ステップＳ４６］制御部３３は、ステップＳ４５で更新した情報にもとづき、ＬＢＡ管理テーブル５０の更新対象となった不良ＬＢＡと対応関係を有するＬＢＡｄを再算出する。これにより、不良ＬＢＡに対応するＬＢＡｄは、交代領域に更新される。ＬＢＡｄとの対応関係を更新した不良ＬＢＡは、ステップＳ４１にすすみ、あらためてＬＢＡｄでアクセスをおこなう。
【００７６】
［ステップＳ４７］制御部３３は、ＨＤＤ１７へのアクセスに失敗したＬＢＡｄがＬＢＡ管理テーブル５０に不良ＬＢＡとして登録できない場合に、あるいは更新できない場合に、ＨＤＤ１７へのアクセスに失敗したＬＢＡｄを代替領域で更新可能か否かを判定する。制御部３３は、ＨＤＤ１７へのアクセスに失敗したＬＢＡｄを代替領域で更新可能な場合にステップＳ４８にすすみ、更新可能でない場合にステップＳ５０にすすむ。たとえば、ＨＤＤ１７へのアクセスに失敗したＬＢＡｄを代替領域で更新可能でない場合とは、代替領域がない場合、あるいはその他の異常によりＬＢＡｄを代替領域で更新できない場合を含む。
【００７７】
［ステップＳ４８］制御部３３は、ＨＤＤ１７へのアクセスに失敗したＬＢＡｄがＬＢＡ管理テーブル５０に不良ＬＢＡとして登録できない場合に、あるいは更新できない場合に、ＨＤＤ１７へのアクセスに失敗したＬＢＡｄを代替領域で更新する。代替領域でのＬＢＡｄの更新により、ＬＢＡの配列順と、ＬＢＡに対応するＬＢＡｄの配列順が一致しなくなるが、制御部３３は、スキップ数を大きくして交代領域を確保することで、発生確率を低減可能である。
【００７８】
なお、制御部３３は、ＬＢＡｄを代替領域で更新したことに関する代替更新情報を不揮発メモリ３５に記録し、ＬＢＡｈアクセス処理のステップＳ３３において代替更新情報を参照してＬＢＡｄを算出することができる。
【００７９】
［ステップＳ４９］制御部３３は、代替領域に更新となったＬＢＡｄを取得する。制御部３３は、ステップＳ４１にすすみ、あらためて、代替領域に更新されたＬＢＡｄにアクセスをおこなう。
【００８０】
［ステップＳ５０］制御部３３は、ＨＤＤ１７へのＬＢＡｄによるアクセス結果が正常か否かを判定する。制御部３３は、ＨＤＤ１７へのＬＢＡｄによるアクセス結果が正常である場合にステップＳ５１にすすみ、アクセス結果が正常でない場合にステップＳ５２にすすむ。
【００８１】
［ステップＳ５１］制御部３３は、ＨＤＤ１７へのＬＢＡｄによるアクセス結果を応答してＬＢＡｄアクセス処理を終了する。アクセス結果は、たとえば、ＨＤＤ１７への書込みであれば書込みの完了報告であり、ＨＤＤ１７からの読出しであれば読出したデータである。
【００８２】
［ステップＳ５２］制御部３３は、ＨＤＤ１７へのＬＢＡｄによるアクセスエラーを応答してＬＢＡｄアクセス処理を終了する。ホストインタフェース３１を介してホスト３０に通知してＬＢＡｄアクセス処理を終了する。
【００８３】
次に、スキップ数「１」の場合に、第２の実施形態のＨＢＡ１５の制御部３３がＬＢＡｄアクセス処理において更新するＬＢＡｈとＬＢＡｄとの対応関係ついて図１０を用いて説明する。図１０は、第２の実施形態のＬＢＡ再配置の一例を示す図である。
【００８４】
図１０に示すＨＤＤ１７は、図８に示したＨＤＤ１７のＬＢＡｄ＃２ａが不良セクタとなるなどしてアクセス異常を生じた場合を示す。ＬＢＡｈ＃ａは、対応関係を有するＬＢＡｄ＃２ａにアクセス異常が生じたことで、不良ＬＢＡとなる。制御部３３は、ＬＢＡｄ＃２ａの交代領域（図８参照）であるＬＢＡｄ＃２ａ＋１をＤＡＴＡ＃ａの記憶領域とする。制御部３３は、ＬＢＡｈ＃ａとＬＢＡｄ＃２ａとの対応関係を、ＬＢＡｈ＃ａとＬＢＡｄ＃２ａ＋１との対応関係に更新する。
【００８５】
これにより、ＬＢＡｈ＃ａがＬＢＡｄ＃２ａ＋１と対応関係を有するように更新されても、ＬＢＡｈ＃ａ−１と対応するＬＢＡｄ＃２ａ−２と、ＬＢＡｈ＃ａ＋１と対応するＬＢＡｄ＃２ａ＋２との間に、ＬＢＡｈ＃ａと対応するＬＢＡｄ＃２ａ＋１が位置する。したがって、このようなＬＢＡｈ＃ａの対応関係の更新があっても、ＬＢＡｈの配列順と、ＬＢＡｈに対応するＬＢＡｄの配列順とは、一致する。したがって、ＨＢＡ１５は、ＨＤＤ１７に対するシーケンシャルなアクセス特性を保持できる。
【００８６】
ここで、ＨＤＤ１７に交代領域を設けない場合（スキップ数「０」の場合）について、参考実施形態として図１１、図１２を用いて説明する。図１１は、参考実施形態のＬＢＡ配置の一例を示す図である。図１２は、参考実施形態のＬＢＡ再配置の一例を示す図である。
【００８７】
ＨＤＤ１７に交代領域を設けない場合、ＬＢＡｄ＃０からＬＢＡｄ＃ｎまでの記憶領域は、Ｄａｔａ＃０、Ｄａｔａ＃１、…Ｄａｔａ＃ｎのように、Ｄａｔａ領域が設定される。
【００８８】
ＬＢＡｈ＃０からＬＢＡｈ＃ｎは、ＬＢＡｈ＃０に対してＬＢＡｄ＃０、ＬＢＡｈ＃１に対してＬＢＡｄ＃１のように連続して、ＬＢＡｄ＃０からＬＢＡｄ＃ｎと対応する。ＬＢＡｈ＃０からＬＢＡ＃ｎの配列順は、ＬＢＡｄ＃０からＬＢＡｄ＃ｎの配列順と一致する。すなわち、ｉが０からｎの整数のとき、ＬＢＡ＃ｉは、ＬＢＡｄ＃ｉに対応する。
【００８９】
これにより、ＨＢＡ１５は、ホスト３０から連続するＬＢＡｈのアクセス要求を受け付けた場合に、ＨＤＤ１７に対して一方向に配列された物理領域に対してＬＢＡｄによりアクセスをおこなうことができる。
【００９０】
図１２に示すＨＤＤ１７は、図１１に示したＨＤＤ１７のＬＢＡｄ＃ａが不良セクタとなるなどしてアクセス異常を生じた場合を示す。ＬＢＡｈ＃ａは、ＬＢＡｄ＃ａと対応関係を有していたが、ＬＢＡｄ＃ａにアクセス異常を生じたことで、不良ＬＢＡとなる。
【００９１】
制御部３３は、ＬＢＡｄ＃ａの交代領域がないため、代替領域（たとえば、ＬＢＡｄ＃ｂ）にＤＡＴＡ＃ａの記憶領域を設定する。これにより、ＬＢＡｈ＃ａがＬＢＡｄ＃ｂと対応関係を有するように更新される。このようなＬＢＡｈ＃ａの対応関係の更新は、ＬＢＡの配列順と、ＬＢＡｈに対応するＬＢＡｄの配列順とを不一致とする。そのため、ＨＤＤ１７に交代領域を設けない場合、ＨＢＡ１５は、ＨＤＤ１７に対するシーケンシャルなアクセス特性を保持できない。
【００９２】
したがって、ＨＢＡ１５は、１以上のスキップ数を設定してＨＤＤ１７に交代領域を設けることで、欠陥領域が発生した場合でも、ＨＤＤ１７に対するシーケンシャルなアクセス特性を保持できる。
【００９３】
［第３の実施形態］
次に、ＨＢＡ１５の制御部３３が、スキップ数「２」として初期設定処理において生成するＬＢＡｈとＬＢＡｄとの対応関係、ＬＢＡｄアクセス処理において更新するＬＢＡｄとＬＢＡとの対応関係について図１３から図１５を用いて説明する。図１３は、第３の実施形態のＬＢＡ配置の一例を示す図である。図１４、図１５は、第３の実施形態のＬＢＡ再配置の一例を示す図である。
【００９４】
図１３に示すＨＤＤ１７は、図示しない管理領域と、ＬＢＡｄ＃０からＬＢＡｄ＃３ｎ＋２までの記憶領域と、所要の代替領域とを有する。ＨＤＤ１７におけるＬＢＡｄとＬＢＡとの対応関係は、スキップ数「２」の場合を示したものである。
【００９５】
ＬＢＡｄ＃０からＬＢＡｄ＃３ｎ＋２までの記憶領域は、スキップ数「２」であることから、Ｄａｔａ＃０、交代領域、交代領域、Ｄａｔａ＃１、交代領域、交代領域、…のように、１つのＤａｔａ領域と、２つの交代領域とが交互に設定される。
【００９６】
ＬＢＡｈ＃０からＬＢＡｈ＃ｎは、ＬＢＡｈ＃０に対してＬＢＡｄ＃０、ＬＢＡｈ＃１に対してＬＢＡｄ＃３のように、２つ飛びにＬＢＡｄ＃０からＬＢＡｄ＃３ｎと対応する。ＬＢＡｈ＃０からＬＢＡｈ＃ｎの配列順は、ＬＢＡｄ＃０からＬＢＡｄ＃３ｎの配列順と一致する。
【００９７】
すなわち、ｉが０からｎの整数のとき、ＬＢＡｈ＃ｉは、ＬＢＡｄ＃３ｉに対応し、ＬＢＡｈ＃ｉと対応関係のないＬＢＡｄ＃３ｉ＋１、ＬＢＡｄ＃３ｉ＋２は、交代領域となる。
【００９８】
これにより、ＨＢＡ１５は、ホスト３０から連続するＬＢＡｈのアクセス要求を受け付けた場合に、ＨＤＤ１７に対して連続するＬＢＡｄによりアクセスをおこなうことができる。また、ＨＤＤ１７は、Ｄａｔａ領域と交代領域とを交互に設定することによりデータの記録密度が低下するので、欠陥セクタの発生などによるデータ損失のリスクを低減することができる。
【００９９】
図１４に示すＨＤＤ１７は、図１３に示したＨＤＤ１７のＬＢＡｄ＃３ａが不良セクタとなるなどしてアクセス異常を生じた場合を示す。ＬＢＡｈ＃ａは、ＬＢＡｄ＃３ａと対応関係を有していたが、ＬＢＡｄ＃３ａにアクセス異常が生じたことで、不良ＬＢＡとなる。制御部３３は、ＬＢＡｄ＃３ａの交代領域（図１３参照）であるＬＢＡｄ＃３ａ＋１をＤＡＴＡ＃ａの記憶領域とする。制御部３３は、ＬＢＡｈ＃ａとＬＢＡｄ＃３ａとの対応関係を、ＬＢＡｈ＃ａとＬＢＡｄ＃３ａ＋１との対応関係に更新する。
【０１００】
これにより、ＬＢＡｈ＃ａがＬＢＡｄ＃３ａ＋１と対応関係を有するように更新されても、ＬＢＡｈ＃ａ−１と対応するＬＢＡｄ＃３ａ−３と、ＬＢＡｈ＃ａ＋１と対応するＬＢＡｄ＃３ａ＋３との間に、ＬＢＡｈ＃ａと対応するＬＢＡｄ＃３ａ＋１が位置する。したがって、このようなＬＢＡｈ＃ａの対応関係の更新があっても、ＬＢＡｈの配列順と、ＬＢＡｈに対応するＬＢＡｄの配列順とは、一致する。したがって、ＨＢＡ１５は、ＨＤＤ１７に対するシーケンシャルなアクセス特性を保持できる。
【０１０１】
図１５に示すＨＤＤ１７は、図１４に示したＨＤＤ１７のＬＢＡｄ＃３ａ＋１が不良セクタとなるなどして、さらにアクセス異常を生じた場合を示す。ＬＢＡｈ＃ａは、ＬＢＡｄ＃３ａ＋１と対応関係を有していたが、ＬＢＡｄ＃３ａ＋１にアクセス異常が生じたことで、交代回数「２」の不良ＬＢＡとなる。制御部３３は、ＬＢＡｄ＃３ａ＋１の交代領域（図１３参照）であるＬＢＡｄ＃３ａ＋２をＤＡＴＡ＃ａの記憶領域とする。制御部３３は、ＬＢＡｈ＃ａとＬＢＡｄ＃３ａ＋１との対応関係を、ＬＢＡｈ＃ａとＬＢＡｄ＃３ａ＋２との対応関係に更新する。
【０１０２】
これにより、ＬＢＡｈ＃ａがＬＢＡｄ＃３ａ＋２と対応関係を有するように更新されても、ＬＢＡｈ＃ａ−１と対応するＬＢＡｄ＃３ａ−３と、ＬＢＡｈ＃ａ＋１と対応するＬＢＡｄ＃３ａ＋３との間に、ＬＢＡｈ＃ａと対応するＬＢＡｄ＃３ａ＋２が位置する。したがって、このようなＬＢＡｈ＃ａの対応関係の更新があっても、ＬＢＡｈの配列順と、ＬＢＡｈに対応するＬＢＡｄの配列順とは、一致する。したがって、ＨＢＡ１５は、ＨＤＤ１７に対するシーケンシャルなアクセス特性を保持できる。
【０１０３】
また、ＨＢＡ１５は、スキップ数を大きくすることで、不良ＬＢＡに対応するＬＢＡｄにアクセス異常を繰り返し生じても、スキップ数に応じて交代領域を更新可能であり、ＨＤＤ１７に対するシーケンシャルなアクセス特性を保持できる。
【０１０４】
なお、ＨＢＡ１５は、スキップ数「２」の場合の初期設定処理において、ＬＢＡｈ＃ｉに対応するＬＢＡｄ＃３ｉにＤａｔａ＃ｉを格納する記憶領域を設定した。そして、ＨＢＡ１５は、ＬＢＡｈ＃ｉに対応するＬＢＡｄ＃３ｉの一側に交代領域を設定する。たとえば、ＨＢＡ１５は、ＬＢＡｄ＃３ｉ＋１、ＬＢＡｄ＃３ｉ＋２を交代領域として設定することができるし、ＬＢＡｄ＃３ｉ−２、ＬＢＡｄ＃３ｉ−１を交代領域として設定することもできる。
【０１０５】
また、ＨＢＡ１５は、ＬＢＡｈ＃ｉに対応するＬＢＡｄ＃３ｉの両側に交代領域を設定するようにしてもよい。たとえば、ＨＢＡ１５は、ＬＢＡｈ＃ｉに対応するＬＢＡｄ＃３ｉにＤａｔａ＃ｉを格納する記憶領域を設定し、ＬＢＡｄ＃３ｉ−１、ＬＢＡｄ＃３ｉ＋１を交代領域として設定することができる。
【０１０６】
なお、ＨＢＡ１５は、ＬＢＡｈ＃ｉに対応する交代領域と、ＬＢＡｈ＃ｊ（≠ｉ）に対応する交代領域を排他的に設定したが、ＬＢＡｈ＃ｉの記憶領域とＬＢＡｈ＃ｉ＋１の記憶領域との間に位置する交代領域を、ＬＢＡｈ＃ｉまたはＬＢＡｈ＃ｉ＋１に対応可能な交代領域として設定してもよい。この場合、ＨＢＡ１５は、ＬＢＡｈの配列順と、ＬＢＡｈに対応するＬＢＡｄの配列順とが一致する範囲で、ＬＢＡｈ＃ｉとＬＢＡｈ＃ｉ＋１とで交代領域を共用可能にする。なお、ＨＢＡ１５は、ＬＢＡ管理テーブル５０が保持する交代回数により交代対象の交代領域を一意に決定し、不良ＬＢＡの前後に配列されているＬＢＡｈ（不良ＬＢＡ）の交代回数を参照することで衝突防止をおこなうことができる。
【０１０７】
ＨＢＡ１５は、このような交代領域の共用により、交代領域の確保によるシーケンシャルなアクセス特性の保持しながら、ユーザが使用可能な記憶領域の増大を図ることができる。
【０１０８】
［第４の実施形態］
次に、第４の実施形態のＨＤＤについて図１６を用いて説明する。図１６は、第４の実施形態の情報処理装置の構成例を示す図である。
【０１０９】
第４の実施形態は、ＨＤＤ１７ａによりＬＢＡ変換をおこなう点で、ＨＢＡ１５によりＬＢＡ変換をおこなう第２の実施形態と異なる。
ＨＤＤ１７ａは、情報記憶装置であり、また、情報処理装置の一例である。ＨＤＤ１７ａは、ＨＢＡ１５ａを介してホスト３０によるＨＤＤ１７ａへのアクセスを受け付ける。
【０１１０】
ＨＢＡ１５ａは、ホスト３０によるＨＤＤ１７へのアクセスを仲介する。ＨＢＡ１５ａは、ホストインタフェース３１と、ＨＤＤインタフェース３２と、制御部３３ａと、を備える。ホストインタフェース３１は、ＨＢＡ１５ａとホスト３０とを接続するための、ハードウェアインタフェースおよびソフトウェアインタフェースを提供する。ＨＤＤインタフェース３２は、ＨＢＡ１５ａとＨＤＤ１７ａとを接続するための、ハードウェアインタフェースおよびソフトウェアインタフェースを提供する。制御部３３ａは、ホストインタフェース３１とＨＤＤインタフェース３２との間の情報処理を制御する。
【０１１１】
制御部３３ａは、第２の実施形態の制御部３３とは異なり、ホスト３０から指定されたＬＢＡｈを、変換せずにＨＤＤ１７ａに送信する。このため、以下の説明では、ＨＢＡ１５ａからＨＤＤ１７ａにＬＢＡｈが送信されるものとする。
【０１１２】
ＨＤＤ１７ａは、磁気ディスク１７ｂと、ディスク制御部１７ｃと、不揮発メモリ１７ｄと、を備える。磁気ディスク１７ｂは、情報を記録する情報記録媒体であり、ディスク制御部１７ｃにより制御される。
【０１１３】
ディスク制御部１７ｃは、ＬＢＡ変換管理部３４ａを有する。不揮発メモリ１７ｄは、ファームウェア３６ａ、スキップ数３７、ＬＢＡ管理テーブル５０を記憶する。ＬＢＡ管理テーブル５０は、不良ＬＢＡ３８と、交代回数３９を保持する。
【０１１４】
ディスク制御部１７ｃは、図示しないＣＰＵを備え、ＨＤＤ１７ａを統括的に制御する。ディスク制御部１７ｃは、ＨＢＡ１５ａからＬＢＡによるアクセス要求を受け付けて、ＬＢＡｄによるディスク制御部１７ｃは、ファームウェア３６ａを実行することにより、第２の実施形態の制御部３３と同様の手順で、ＬＢＡｈとＬＢＡｄの相互変換を実現する。
【０１１５】
ディスク制御部１７ｃは、ＬＢＡ管理テーブル５０を参照して、ＬＢＡｈとＬＢＡｄの相互変換をおこなう。ＬＢＡ変換管理部３４ａは、ＬＢＡ管理テーブル５０の生成と更新をおこなう。ＬＢＡ変換管理部３４ａは、初期設定処理においてＬＢＡ管理テーブル５０を生成し、ＨＤＤ１７ｂのアクセス異常の検出を契機にＬＢＡ管理テーブル５０を更新する。
【０１１６】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、情報処理装置１，１０、ＨＢＡ１５、ＨＤＤ１７ａが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１１７】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１１８】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１１９】
また、上記の処理機能の少なくとも一部を、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現することもできる。
【０１２０】
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【０１２１】
１，１０  情報処理装置
２  管理部
３  制御部
４  記録媒体
１１  ＣＰＵ
１２  グラフィック処理装置
１３  ＲＡＭ
１４  入力インタフェース
１５，１５ａ  ＨＢＡ
１６  光学ドライブ装置
１７，１７ａ  ＨＤＤ
１７ｂ  磁気ディスク
１７ｃ  ディスク制御部
１７ｄ，３５  不揮発メモリ
１８  通信インタフェース
１９  バス
２１  モニタ
２２  キーボード
２３  マウス
２４  光ディスク
３０  ホスト
３１  ホストインタフェース
３２  ＨＤＤインタフェース
３３，３３ａ  制御部
３４，３４ａ  ＬＢＡ変換管理部
３６，３６ａ  ファームウェア
３７  スキップ数
３８  不良ＬＢＡ
３９  交代回数
５０  ＬＢＡ管理テーブル
【図１】
2013175622.tif 000003
【図２】
2013175622.tif 000004
【図３】
2013175622.tif 000005
【図４】
2013175622.tif 000006
【図５】
2013175622.tif 000007
【図６】
2013175622.tif 000008
【図７】
2013175622.tif 000009
【図８】
2013175622.tif 000010
【図９】
2013175622.tif 000011
【図１０】
2013175622.tif 000012
【図１１】
2013175622.tif 000013
【図１２】
2013175622.tif 000014
【図１３】
2013175622.tif 000015
【図１４】
2013175622.tif 000016
【図１５】
2013175622.tif 000017
【図１６】
2013175622.tif 000018
【手続補正書】
【提出日】平成26年12月3日(2014.12.3)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００８４
【補正方法】変更
【補正の内容】
【００８４】
図１０に示すＨＤＤ１７は、図６に示したＨＤＤ１７のＬＢＡｄ＃２ａが不良セクタとなるなどしてアクセス異常を生じた場合を示す。ＬＢＡｈ＃ａは、対応関係を有するＬＢＡｄ＃２ａにアクセス異常が生じたことで、不良ＬＢＡとなる。制御部３３は、ＬＢＡｄ＃２ａの交代領域（図６参照）であるＬＢＡｄ＃２ａ＋１をＤＡＴＡ＃ａの記憶領域とする。制御部３３は、ＬＢＡｈ＃ａとＬＢＡｄ＃２ａとの対応関係を、ＬＢＡｈ＃ａとＬＢＡｄ＃２ａ＋１との対応関係に更新する。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
連続する複数の論理アドレスのそれぞれに対して、記録媒体上の位置を示す物理アドレスが所定間隔で割り付けられるように、論理アドレスと物理アドレスとの対応関係を管理し、前記記録媒体で欠陥領域が発生すると、前記欠陥領域を示す物理アドレスに割り付けられた論理アドレスを特定し、特定された論理アドレスに割り付ける物理アドレスを、前記欠陥領域を示す物理アドレスに隣接する前記間隔内の物理アドレスにシフトする管理部と、
論理アドレスの指定を受けると、前記対応関係にもとづいて、指定された論理アドレスに割り付けられた物理アドレスが示す領域へのアクセスを制御する制御部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記管理部は、前記欠陥領域を示す物理アドレスに割り付けられた論理アドレスを不良論理アドレスとして保持し、
前記制御部は、指定された論理アドレスが前記不良論理アドレスである場合に、前記物理アドレスのシフト量にもとづいて、指定された論理アドレスに割り付けられた物理アドレスを算出することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記制御部は、前記所定間隔を設定する設定値にもとづいて、指定された論理アドレスに割り付けられた物理アドレスを算出することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記管理部は、前記間隔内の物理アドレスの数に応じて前記物理アドレスのシフトを繰り返し実行可能であることを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記管理部は、前記物理アドレスのシフト回数を保持し、
前記制御部は、指定された論理アドレスが不良論理アドレスである場合に、前記物理アドレスのシフト回数にもとづいて、指定された論理アドレスに割り付けられた物理アドレスを算出することを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記管理部は、１つの前記間隔内にある物理アドレスを、前記欠陥領域と交代する交代領域となる物理アドレスとして、前記間隔の一方の側にある物理アドレスと対応関係を有する１つの前記論理アドレスに予約することを特徴とする請求項１記載の情報処理装置。
【請求項７】
コンピュータに、
連続する複数の論理アドレスのそれぞれに対して、記録媒体上の位置を示す物理アドレスが所定間隔で割り付けられるように、論理アドレスと物理アドレスとの対応関係を管理し、前記記録媒体で欠陥領域が発生すると、前記欠陥領域を示す物理アドレスに割り付けられた論理アドレスを特定し、特定された論理アドレスに割り付ける物理アドレスを、前記欠陥領域を示す物理アドレスに隣接する前記間隔内の物理アドレスにシフトし、
論理アドレスの指定を受けると、前記対応関係にもとづいて、指定された論理アドレスに割り付けられた物理アドレスが示す領域へのアクセスを制御する、
処理を実行させることを特徴とする情報処理プログラム。
【請求項８】
コンピュータが、
連続する複数の論理アドレスのそれぞれに対して、記録媒体上の位置を示す物理アドレスが所定間隔で割り付けられるように、論理アドレスと物理アドレスとの対応関係を管理し、前記記録媒体で欠陥領域が発生すると、前記欠陥領域を示す物理アドレスに割り付けられた論理アドレスを特定し、特定された論理アドレスに割り付ける物理アドレスを、前記欠陥領域を示す物理アドレスに隣接する前記間隔内の物理アドレスにシフトし、
論理アドレスの指定を受けると、前記対応関係にもとづいて、指定された論理アドレスに割り付けられた物理アドレスが示す領域へのアクセスを制御する、
ことを特徴とするアクセス制御方法。
【国際調査報告】
2013175622.tif 000019
2013175622.tif 000020
2013175622.tif 000021
2013175622.tif 000022