(57)【特許請求の範囲】
【請求項１】
データを記憶する磁気ディスクと、
前記磁気ディスクに対してデータの読み書きを行い、アクチュエータによって前記磁気ディスク上を移動する磁気ヘッドと、
所定のタイミングで、前記磁気ディスクに記憶されているデータのうちの所定サイズ分のデータの正常性を確認する確認処理を実行する確認処理部と、
前記確認処理が終わったときに、当該確認処理の対象アドレスに対して、前記確認処理ごとに前記磁気ヘッドが前記磁気ディスク上を径方向に所定量以上移動するように予め設定された第１の加算値を加算することで、次回の前記確認処理の対象アドレスを設定する設定部と、を備える磁気記憶装置。
【請求項２】
前記設定部は、
前記確認処理が終わったときに、当該確認処理の対象アドレスに対して前記第１の加算値を加算し、加算後のアドレスが前記磁気ディスクのアドレス範囲を超えたとき、当該アドレスのうち、第１の所定桁の上位アドレスを０にするとともに、第２の所定桁の下位アドレスに第２の加算値を加算することで、次回の前記確認処理の対象アドレスを設定する、請求項１に記載の磁気記憶装置。
【請求項３】
前記第２の加算値は、前記所定サイズである、請求項２に記載の磁気記憶装置。
【請求項４】
前記設定部は、
次回の前記確認処理の対象アドレスを設定したときに、当該対象アドレスから前記磁気ディスクのアドレス範囲の最終アドレスまでのサイズが前記所定サイズ未満の場合、次回の前記確認処理の範囲を、当該対象アドレスから前記最終アドレスまでに設定する、請求項１に記載の磁気記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、磁気記憶装置に関する。
【背景技術】
【０００２】
従来から、データを記憶する手段として、磁気記憶装置（ＨＤＤ（Hard  Disk  Drive）等）が多く用いられている。磁気記憶装置は、データを記憶する磁気ディスクと、磁気ディスクに対してデータの読み書きを行い、アクチュエータによって磁気ディスク上を移動する磁気ヘッドを備えている。
【０００３】
磁気記憶装置に関しては、長時間の定点浮上による故障の発生が報告されている。定点浮上とは、磁気ディスクの特定のデータのみにアクセスする場合に、磁気ヘッドが磁気ディスク上でほとんど動かない（まったく動かない場合も含む。以下同様）現象を指す。定点浮上が長時間続くと、磁気ディスク上の潤滑剤に偏りが生じたり、磁気ディスクに磁気ヘッドが吸着したりすることにより、故障が発生する場合がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−２８１９６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術においては、磁気記憶装置において、長時間の定点浮上を容易に回避することができなかった。
【０００６】
そこで、本発明の実施形態は、長時間の定点浮上を容易に回避することができる磁気記憶装置を提供することを課題とする。
【課題を解決するための手段】
【０００７】
実施形態の磁気記憶装置は、データを記憶する磁気ディスクと、前記磁気ディスクに対してデータの読み書きを行い、アクチュエータによって前記磁気ディスク上を移動する磁気ヘッドと、所定のタイミングで、前記磁気ディスクに記憶されているデータのうちの所定サイズ分のデータの正常性を確認する確認処理を実行する確認処理部と、前記確認処理が終わったときに、当該確認処理の対象アドレスに対して、前記確認処理ごとに前記磁気ヘッドが前記磁気ディスク上を径方向に所定量以上移動するように予め設定された第１の加算値を加算することで、次回の前記確認処理の対象アドレスを設定する設定部と、を備える。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態のコンピュータの全体構成の概略を示す図である。
【図２】図２は、実施形態においてパトロール処理の先頭アドレスの算出に用いる情報を示す表である。
【図３】図３は、実施形態のコンピュータにおけるパトロール処理等を示すフローチャートである。
【図４】図４は、実施形態のコンピュータにおける次回パトロール処理の先頭アドレス決定処理を示すフローチャートである。
【図５】図５は、実施形態においてＨＤＤのアドレスとパトロール処理の対象領域の関係を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の磁気記憶装置の実施形態について、図面を参照して説明する。なお、以下の実施形態によって本発明が限定されるものではない。
【００１０】
図１は、実施形態のコンピュータ１の全体構成の概略を示す図である。コンピュータ１（磁気記憶装置）は、メインボード１０と、ＲＡＩＤカード３と、複数のＨＤＤ（Hard  Disk  Drive）２と、を備えている。なお、コンピュータ１は、不図示のディスプレイ等の表示装置や、キーボードやマウス等の入力装置等をさらに備えている。
【００１１】
メインボード１０は、ＣＰＵ（Central  Processing  Unit）１１や、不図示のＲＯＭ（Read  Only  Memory）やＲＡＭ（Random  Access  Memory）等が搭載された制御基板である。
【００１２】
ＨＤＤ２は、近年のコンピュータ用の補助記憶装置の中でも、動作が低速ではあるが、大容量のデータを保存できるため、多く使用されている。また、ＨＤＤ２は、多くの部品から構成されているが、例えば、データを記憶する磁気ディスクと、磁気ディスクに対してデータの読み書きを行い、アクチュエータによって磁気ディスク上を移動する磁気ヘッドを備える。
【００１３】
また、例えば、近年のＨＤＤ２は、Serial  Attached  SCSI（ＳＡＳ）やSerial  ATA（ＳＡＴＡ）といったハードウェアインタフェースを備えているが、接続するための論理的なインタフェースはＳＣＳＩやＡＴＡである。これらの論理的なインタフェースでは、データの保存箇所をセクタ、アドレスといった単位で管理している。
【００１４】
ＨＤＤ２は、低コストで大容量のデータを保存できる装置である一方、磁気やアクチュエータ（モータ等）を利用してデータを保存する装置でもあるため、物理的な要因によりデータの保存を充分には保証できない。その対策の技術として、ＲＡＩＤ（Redundant  Arrays  of  Inexpensive  Disks）が存在する。
【００１５】
ＲＡＩＤでは、複数のＨＤＤ２を使用し、冗長性のあるデータ保存を行う。そして、ＨＤＤ２の故障が発生した場合であっても、故障したＨＤＤ２を交換後、冗長データに基づいて、故障したＨＤＤ２に保存されていたデータを復元することが可能である。このＲＡＩＤ機能をハードウェアで実現するのが、ＲＡＩＤカード３（ハードウェアＲＡＩＤボード）である。
【００１６】
ＲＡＩＤカード３は、コンピュータ１に取り付けられる拡張カードである。ＲＡＩＤカード３は、ＲＡＩＤ機能を実現するだけでなく、定期的にＨＤＤ２にアクセスし、ＨＤＤ２のデータの正常性を確認するパトロール処理の機能を実現する。
【００１７】
また、ＨＤＤ２に関しては、上述のように、長時間の定点浮上による故障の発生の問題がある。そこで、以下では、ＲＡＩＤカード３のパトロール処理の機能を利用し、定期的に磁気ヘッドを強制的に動かすようパトロール処理の範囲を設定し、パトロール処理を実行することで、長時間の定点浮上を容易に回避することができる技術について説明する。
【００１８】
ＲＡＩＤカード３は、ＲＡＩＤコントローラ３１を備える。ＲＡＩＤコントローラ３１は、例えば、プロセッサ等の制御装置と、フラッシュメモリ等の記憶装置とを備えるハードウェア構成である。なお、ＲＡＩＤコントローラ３１の機能は、このようにハードウェア構成で実現されてもよいし、ソフトウェアプログラムで実現されてもよいし、ファームウェアで実現されてもよい。
【００１９】
ＲＡＩＤコントローラ３１は、処理部３２と、設定部３３と、送受信部３４と、を備える。
【００２０】
処理部３２は、ＲＡＩＤに関する各種処理を実行する。また、処理部３２は、所定のタイミングで、ＨＤＤ２に記憶されているデータのうちの所定サイズ分のデータの正常性を確認するパトロール処理（確認処理）を実行するパトロール処理部と（確認処理部）しての機能を有する。
【００２１】
また、処理部３２は、複数のＨＤＤ２のすべてのデータに対して所定期間（例えば、数週間）でパトロール処理を実行できるように、所定サイズごとのデータに対するパトロール処理のタイミングを決定する。
【００２２】
設定部３３は、１回のパトロール処理が終わったときに、当該パトロール処理の先頭アドレス（対象アドレスの一例）に対して、パトロール処理ごとに磁気ヘッドが磁気ディスク上を径方向に所定量以上移動するように予め設定された第１の加算値を加算することで、次回のパトロール処理の先頭アドレスを設定する。
【００２３】
なお、例えば、パトロール処理の範囲をＨＤＤ２の論理アドレスで設定する場合、上述の第１の加算値は、ＨＤＤ２の論理アドレスと物理アドレスの対応関係やＨＤＤ２の物理構成等を考慮して、パトロール処理ごとに磁気ヘッドが磁気ディスク上を径方向に所定量以上移動して長時間の定点浮上を確実に回避できる値に設定すればよい。
【００２４】
また、設定部３３は、パトロール処理が終わったときに、当該パトロール処理の先頭アドレスに対して第１の加算値を加算し、加算後のアドレスが磁気ディスクのアドレス範囲を超えたとき、当該アドレスのうち、第１の所定桁の上位アドレスを０にするとともに、第２の所定桁の下位アドレスに第２の加算値を加算することで、次回のパトロール処理の先頭アドレスを設定する。その場合、例えば、第２の加算値は、所定サイズである。
【００２５】
また、例えば、設定部３３は、次回のパトロール処理の先頭アドレスを設定したときに、当該先頭アドレスからアドレス範囲の最終アドレスまでのサイズが所定サイズ未満の場合、次回のパトロール処理の範囲を、当該先頭アドレスから最終アドレスまでに設定する。設定部３３の処理の詳細については後述する。
【００２６】
送受信部３４は、メインボード１０やＨＤＤ２とのデータの送受信を実行する。
【００２７】
図２は、実施形態においてパトロール処理の先頭アドレスの算出に用いる情報を示す表である。設定部３３は、パトロール処理を実行するために、以下の（１）〜（６）の情報を不揮発性の記憶部に記憶して管理する。
【００２８】
（１）ＨＤＤ容量（Capacity）
補助記憶装置としてのＨＤＤ２の単体の総記憶容量情報であり、単位は例えばセクタである。また、アドレス範囲の最終アドレスを「Last  LBA」という。例えば、Capacityが「0x80000000」で、アドレス範囲が「0x00000000」〜「0x7FFFFFFF」の場合、Last  LBAは「0x7FFFFFFF」である。
【００２９】
（２）次回パトロール処理の先頭アドレス（LBA）
パトロール処理の終了後に決定する、次回パトロール処理の先頭アドレス情報で、単位は例えばセクタである。なお、LBAは、以下の（３）LBA-Lと（４）LBA-Hを加算したものである。また、以下の説明で、主に、LBAは、２進数で３２ビット、１６進数（以下「0x」ともいう。）で８ビットであるものとする。また、LBA-Lは、LBAにおける２進数で３２ビットのうちの下位の１２ビット（第２の所定桁）、１６進数で８ビットのうち下位の３ビット（第２の所定桁）であるものとする。また、LBA-Hは、LBAにおける２進数で３２ビットのうちの上位の２０ビット（第１の所定桁）、１６進数で８ビットのうち上位の５ビット（第１の所定桁）であるものとする。
【００３０】
（３）下位アドレス（LBA-L）
（２）LBAを算出するための、第２の所定桁の下位アドレス情報で、単位は例えばセクタである（詳細は後述）。
【００３１】
（４）上位アドレス（LBA-H）
（２）LBAを算出するための、第１の所定桁の上位アドレス情報で、単位は例えばセクタである（詳細は後述）。
【００３２】
（５）上位／下位管理分割シフト（Shift）
LBAをLBA-HとLBA-Lに二分するための境界を示す、２進数のビットシフト値情報（上述の例では「１２」）である。また、以下では、２進数で「１」をShift分だけ上位にシフトした値が「第１の加算値」である。つまり、Shiftが「12」であれば、第１の加算値は、２進数で「1000000000000」、１６進数で「1000（0x1000）」である。
【００３３】
（６）パトロール範囲（Size）
パトロール処理で読み出すデータのサイズ情報で、単位は例えばセクタである。
【００３４】
例えば、Shiftが「12」である場合、LBAは、２進数で、下位の12ビット分がLBA-Lとなり、残りの上位の２０ビット分がLBA-Hとなる。具体的には、例えば、LBAが「0x12345678」であると、LBA-Lは「0x678」、LBA-Hは「0x12345000」となる。
【００３５】
また、Shiftが「16」であった場合、LBAは、２進数で、下位の16ビット分がLBA-Lとなり、残りの上位の16ビット分がLBA-Hとなる。具体的には、例えば、LBAが「0x12345678」であると、LBA-Lは「0x5678」、LBA-Hは「0x12340000」となる。
【００３６】
そして、例えば、ＲＡＩＤコントローラ３１の機能がファームウェアで実現される場合、そのファームウェアが正常状態に遷移してから、処理部３２は、所定のタイミングで、パトロール処理を実行する。
【００３７】
処理部３２は、パトロール処理を実行するときに、ＨＤＤ２のアドレス範囲のうち、（２）LBAから（６）Size（例えば「0x100」）分のデータに対してパトロール処理を実行する。
【００３８】
また、設定部３３は、パトロール処理の先頭アドレスを、図２の「LBA」の左から右に順番に変わるように設定する。その場合の処理について、図３、図４を参照して説明する。
【００３９】
図３は、実施形態のコンピュータ１におけるパトロール処理等を示すフローチャートである。
【００４０】
まず、ステップＳ１において、処理部３２は、パトロール処理の開始タイミングが到来したか否かを判定し、Ｙｅｓの場合はステップＳ２に進み、Ｎｏの場合はステップＳ１に戻る。
【００４１】
ステップＳ２において、処理部３２は、ＨＤＤ２に記憶されているデータのうち、先頭アドレスのLBAから所定サイズ（Size）分のデータに対してパトロール処理を実行する。
【００４２】
次に、ステップＳ３において、処理部３２は、ステップＳ２のパトロール処理の結果が正常であったか否かを判定し、Ｙｅｓの場合はステップＳ４に進み、Ｎｏの場合はステップＳ５に進む。
【００４３】
ステップＳ５において、処理部３２は、ステップＳ２のパトロール処理の結果が異常（エラー）であった旨をデータとして記憶する。また、コンピュータ１のユーザにエラーを音声や表示で通知してもよい。
【００４４】
ステップＳ４において、設定部３３は、次回パトロール処理の先頭アドレス決定処理を実行する。ステップＳ４について、図４を参照して説明する。図４は、実施形態のコンピュータにおける次回パトロール処理の先頭アドレス決定処理（図３のステップＳ４の処理）を示すフローチャートである。
【００４５】
ステップＳ４１において、設定部３３は、LBA-Hに第１の加算値（例えば、「0x1000」）を加算することで、新たなLBA-Hを算出する。
【００４６】
次に、ステップＳ４２において、設定部３３は、LBA-HとLBA-Lを加算することで、新たなLBAを算出する。
【００４７】
次に、ステップＳ４３において、設定部３３は、LBAがLast  LBAを超えたか否かを判定し、Ｙｅｓの場合はステップＳ４４に進み、Ｎｏの場合はステップＳ４７に進む。
【００４８】
ステップＳ４４において、設定部３３は、LBA-Hを０（「0x00000000」）にする。
【００４９】
次に、ステップＳ４５において、設定部３３は、LBA-Lに第２の加算値（例えば、「0x100」）を加算することで、新たなLBA-Lを算出する。
【００５０】
次に、ステップＳ４６において、設定部３３は、LBA-HとLBA-Lを加算することで、新たなLBAを算出し、ステップＳ４７に進む。
【００５１】
ステップＳ４７において、設定部３３は、LBAからSize分先のアドレス（LBA+Size−１）がLast  LBAを超えたか否かを判定し、Ｙｅｓの場合はステップＳ４９に進み、Ｎｏの場合はステップＳ４８に進む。
【００５２】
ステップＳ４８において、設定部３３は、パトロール処理範囲をLBAから（LBA+Size−１）までに設定する。
【００５３】
ステップＳ４９において、設定部３３は、パトロール処理範囲をLBAからLast  LBAまでに設定する。
【００５４】
ここで、図２を参照して、計算の具体例について説明する。また、図５を併せて参照する。図５は、実施形態においてＨＤＤ２のアドレスとパトロール処理の対象領域の関係を示す図である。なお、以下において、パトロール処理結果はすべて正常であったものとする。
【００５５】
図２の列Ｃ１の各値は初期値である。そして、列Ｃ１のLBA「0x00000000」を先頭アドレスとしてSize（例えば「0x100」）分のパトロール処理を実行した後に次回パトロール処理の先頭アドレスを決定する場合、まず、列Ｃ１のLBA-H「0x00000000」に第１の加算値「0x1000」を加算することで、新たなLBA-H「0x00001000」を算出する（図４のステップＳ４１）。
【００５６】
次に、このLBA-H「0x00001000」と列Ｃ１のLBA-L「0x000」を加算することで、新たなLBA「0x00001000」を算出する（ステップＳ４２）。
【００５７】
このとき、このLBA「0x00001000」はLast  LBA「0x7FFFFFFF」を超えていない（ステップＳ４３でＮｏ）。
【００５８】
また、このLBA「0x00001000」からSize「0x100」分先のアドレス（LBA+Size−１。つまり、「0x000010FF」）はLast  LBA「0x7FFFFFFF」を超えていない（ステップＳ４７でＮｏ）。
【００５９】
したがって、パトロール処理範囲は、LBA「0x00001000」から（LBA+Size−１。つまり、「0x0000FFF」）までに設定される（ステップＳ４８）。このようにして列Ｃ２の各値が設定される。なお、LBA-LとSizeは列Ｃ１の値が列Ｃ２にコピーされる。
【００６０】
このようにして、パトロール処理が終わるたびにパトロール処理の先頭アドレスが更新され、図２の各値が列Ｃ３の状態になったものとする。そして、列Ｃ３のLBA「0x7FFFE000」を先頭アドレスとしてSize「0x100」分のパトロール処理を実行した後に次回パトロール処理の先頭アドレスを決定する場合、まず、列Ｃ３のLBA-H「0x7FFFE000」に第１の加算値「0x1000」を加算することで、新たなLBA-H「0x7FFFF000」を算出する（ステップＳ４１）。
【００６１】
次に、このLBA-H「0x7FFFF000」と列Ｃ３のLBA-L「0x000」を加算することで、新たなLBA「0x7FFFF000」を算出する（ステップＳ４２）。
【００６２】
このとき、このLBA「0x7FFFF000」はLast  LBA「0x7FFFFFFF」を超えていない（ステップＳ４３でＮｏ）。
【００６３】
また、このLBA「0x7FFFF000」からSize「0x100」分先のアドレス（LBA+Size−１。つまり、「0x7FFFF0FF」）はLast  LBA「0x7FFFFFFF」を超えていない（ステップＳ４７でＮｏ）。
【００６４】
したがって、パトロール処理範囲は、LBA「0x7FFFF000」から（LBA+Size−１。つまり、「0x7FFFF0FF」）までに設定される（ステップＳ４８）。このようにして列Ｃ４の各値が設定される。なお、LBA-LとSizeは列Ｃ３の値が列Ｃ４にコピーされる。
【００６５】
次に、列Ｃ４のLBA「0x7FFFF000」を先頭アドレスとしてSize「0x100」分のパトロール処理を実行した後に次回パトロール処理の先頭アドレスを決定する場合、まず、列Ｃ４のLBA-H「0x7FFFF000」に第１の加算値「0x1000」を加算することで、新たなLBA-H「0x80000000」を算出する（ステップＳ４１）。
【００６６】
次に、このLBA-H「0x80000000」と列Ｃ４のLBA-L「0x000」を加算することで、新たなLBA「0x80000000」を算出する（ステップＳ４２）。
【００６７】
このとき、このLBA「0x80000000」はLast  LBA「0x7FFFFFFF」を超えている（ステップＳ４３でＹｅｓ）。
【００６８】
したがって、LBA-Hを０（「0x00000000」）にする（ステップＳ４４）。
【００６９】
そして、列Ｃ４のLBA-L「0x000」に第２の加算値「0x100」を加算することで、新たなLBA-L「0x100」を算出する（ステップＳ４５）。
【００７０】
次に、LBA-H「0x00000000」とLBA-L「0x100」を加算することで、新たなLBA「0x00000100」を算出する。
【００７１】
また、このLBA「0x00000100」からSize「0x100」分先のアドレス（LBA+Size−１。つまり、「0x000001FF」）はLast  LBA「0x7FFFFFFF」を超えていない（ステップＳ４７でＮｏ）。
【００７２】
したがって、パトロール処理範囲は、LBA「0x00000100」から（LBA+Size−１。つまり、「0x000001FF」）までに設定される（ステップＳ４８）。このようにして列Ｃ５の各値が設定される。なお、Sizeは列Ｃ４の値が列Ｃ５にコピーされる。
【００７３】
このようにして、ＨＤＤ２におけるパトロール処理の範囲は、図５の矢印に示す縦方向に移行する。したがって、パトロール処理のたびに、磁気ヘッドが強制的に動き、長時間の定点浮上を回避できる。
【００７４】
なお、従来技術では、パトロール処理の範囲は、図５の横方向に移行する。したがって、パトロール処理を行っても磁気ヘッドはほとんど動かず、パトロール処理によって長時間の定点浮上を回避することはできない。
【００７５】
このように、実施形態のコンピュータ１によれば、パトロール処理が終わったときに、当該パトロール処理の先頭アドレスに対して、パトロール処理ごとに磁気ヘッドが磁気ディスク上を径方向に所定量以上移動するように予め設定された第１の加算値を加算することで、次回のパトロール処理の先頭アドレスを設定するので、長時間の定点浮上を容易に回避することができる。つまり、ＲＡＩＤカード３が元々有しているパトロール処理の機能を利用し、パトロール処理の先頭アドレスを上述のように設定することで、磁気ヘッドを短い時間間隔で容易に強制的に動かすことができる。
【００７６】
また、パトロール処理の先頭アドレスのより具体的な設定手順として、パトロール処理の先頭アドレスに対して第１の加算値を加算した後のアドレスが磁気ディスクのアドレス範囲を超えたとき、当該アドレスのうち、第１の所定桁の上位アドレスを０にするとともに、第２の所定桁の下位アドレスに第２の加算値を加算する。また、第２の加算値を所定サイズとする。これらにより、図５からもわかるように、ＨＤＤ２のアドレス範囲の全体のデータに対して漏れなくパトロール処理を実行することができる。
【００７７】
また、次回のパトロール処理の先頭アドレスを設定したときに、当該先頭アドレスからアドレス範囲の最終アドレスまでのサイズが所定サイズ未満の場合、次回のパトロール処理の範囲を、当該先頭アドレスから最終アドレスまでに設定する。これにより、最終アドレス付近でも、パトロール処理の範囲を適正に設定することができる。
【００７８】
なお、本実施形態のコンピュータ１で実行されるプログラムは、ＲＯＭ等に予め組み込まれて提供される。また、当該プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【００７９】
さらに、当該プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、当該プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【００８０】
また、当該プログラムは、上述した各部（処理部３２、設定部３３、送受信部３４）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記ＲＯＭから当該プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされて生成されるようになっている。
【００８１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００８２】
例えば、上述の実施形態では、Shiftが「12」である場合を主に説明した。しかし、これに限定されず、例えば、近年のＨＤＤの大容量化の傾向も踏まえ、Shiftを「16」、「20」にする等、Shiftとして、長時間の定点浮上を回避できるという条件を満たす範囲で別の値を採用してもよい。
【符号の説明】
【００８３】
１…コンピュータ、２…ＨＤＤ、３…ＲＡＩＤカード、１０…メインボード、１１…ＣＰＵ、３１…ＲＡＩＤコントローラ、３２…処理部、３３…設定部、３４…送受信部。
【図１】
0006946485.tif 000002
【図２】
0006946485.tif 000003
【図３】
0006946485.tif 000004
【図４】
0006946485.tif 000005
【図５】
0006946485.tif 000006