(57)【要約】【課題】ハードディスクの障害が検出されたデータを早期に復旧し、システム運用への影響を低減できる。【解決手段】ストレージ装置１０は、データの書込指示を受け付けた場合、データをハードディスク１３およびキャッシュメモリ１２に書き込み、ハードディスク１３におけるデータの第１の書込位置１１ａとキャッシュメモリ１２におけるデータの第２の書込位置１１ｂとを記憶部１１に格納し、書き込み後の所定のタイミングで、第１の書込位置１１ａと第２の書込位置１１ｂとを記憶部１１から取得し、第１の書込位置１１ａから読み出したデータと第２の書込位置１１ｂから読み出したデータとが一致するか否かを判定し、第１の書込位置１１ａから読み出したデータと第２の書込位置１１ｂから読み出したデータとが一致しない場合に第２の書込位置１１ｂから読み出したデータを第１の書込位置１１ａに上書きする。【選択図】図１
2018190192.tif 000002
【特許請求の範囲】
【請求項１】
記憶部と、
データの書込指示を受け付けた場合、前記データをハードディスクおよびキャッシュメモリに書き込み、
前記ハードディスクにおける前記データの第１の書込位置と前記キャッシュメモリにおける前記データの第２の書込位置とを前記記憶部に格納し、
書き込み後の所定のタイミングで、前記第１の書込位置と前記第２の書込位置とを前記記憶部から取得し、前記第１の書込位置から読み出したデータと前記第２の書込位置から読み出したデータとが一致するか否かを判定し、
前記第１の書込位置から読み出したデータと前記第２の書込位置から読み出したデータとが一致しない場合に前記第２の書込位置から読み出したデータを前記第１の書込位置に上書きする、制御部と、
を備えるストレージ装置。
【請求項２】
前記所定のタイミングは、
所定の処理の負荷が閾値よりも低い低負荷状態の場合である、
請求項１記載のストレージ装置。
【請求項３】
前記所定の処理の負荷は、
前記ハードディスクに対する入出力処理の負荷、前記キャッシュメモリに対する入出力処理の負荷、前記書込指示の受け付けに伴う処理の負荷のうちいずれかを含む、
請求項２記載のストレージ装置。
【請求項４】
前記制御部は、
前記キャッシュメモリに書き込んだ前記データのうちリードアフターライトの処理が未処理のデータを管理し、
前記キャッシュメモリの空き容量が所定の値よりも小さい場合、前記データのうち入出力の頻度が所定の頻度よりも少ないデータを特定し、前記特定した前記データのうち前記リードアフターライトの処理が未処理のデータを除くデータを前記キャッシュメモリから削除する、
請求項１記載のストレージ装置。
【請求項５】
前記制御部は、
前記第１の書込位置と前記第２の書込位置とを前記記憶部が記憶するキューに前記書込指示ごとに格納し、
前記低負荷状態において、前記第１の書込位置と前記第２の書込位置とを前記キューから取得する、
請求項１記載のストレージ装置。
【請求項６】
前記ストレージ装置は、
前記キャッシュメモリとは異なる他のキャッシュメモリを備え、
前記他のキャッシュメモリは、前記ハードディスクおよび前記キャッシュメモリに対する前記データの書き込みの際に、前記データの一時格納領域として使用される、
請求項１記載のストレージ装置。
【請求項７】
コンピュータに、
データの書込指示を受け付けた場合、前記データをハードディスクおよびキャッシュメモリに書き込み、
前記ハードディスクにおける前記データの第１の書込位置と前記キャッシュメモリにおける前記データの第２の書込位置とを記憶部に格納し、
書き込み後の所定のタイミングで、前記第１の書込位置と前記第２の書込位置とを前記記憶部から取得し、前記第１の書込位置から読み出したデータと前記第２の書込位置から読み出したデータとが一致するか否かを判定し、
前記第１の書込位置から読み出したデータと前記第２の書込位置から読み出したデータとが一致しない場合に前記第２の書込位置から読み出したデータを前記第１の書込位置に上書きする、
処理を実行させるストレージ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置およびストレージ制御プログラムに関する。
【背景技術】
【０００２】
近年、半導体メモリの低価格化や高性能化に伴い、ストレージ装置にハードディスク（ＨＤＤ；Hard Disk Drive）と半導体メモリを用いたＳＳＤ（Solid State Drive）とを搭載した階層型ストレージ装置がある。このような、半導体メモリを搭載したストレージ装置においては、半導体メモリを一時記憶用のメモリとハードディスクとの間に位置づけ、キャッシュとして使用するストレージ装置もある。
【０００３】
ストレージ装置においては、大量のハードディスクが搭載されており、ハードディスクが障害を発生した場合に、その障害を検出する必要がある。ＲＡＩＤ（Redundant Arrays of Independent Disks）構成のストレージ装置において、記憶媒体の障害の有無をチェックし、記憶媒体のエラーや書き込み不良などのチェックを行う技術として、データスクラブやディスクパトロールがある。
【０００４】
また、ストレージ装置において、ハードディスクのヘッドの劣化などによりデータがハードディスクに正常に書き込まれないライト抜け障害を診断する技術が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１２２４７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＲＡＩＤ構成のストレージ装置においては、書き込みエラーが発生したハードディスクに記憶したデータについてパリティディスクを用いて再構築し、再構築したデータを書き込みエラーが発生したハードディスクに書き込むことでデータの復旧が行われる。パリティディスクを用いたデータの復旧には時間および負荷がかかるため、ユーザがストレージ装置を使用する時間帯を避けてハードディスクの診断およびデータの復旧を実行するシステム運用が多い。
【０００７】
また、ストレージ装置は、記憶領域の全領域を対象として一括してハードディスクの診断および復旧を実行するため、障害が発生してから診断および復旧までに時間がかかり、ハードディスクに障害が発生した状態でシステム運用を継続する場合があった。
【０００８】
一側面では、本発明は、ハードディスクの障害が検出されたデータを早期に復旧し、システム運用への影響を低減できるストレージ装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、以下に示すようなストレージ装置を提供する。ストレージ装置は、記憶部と、制御部とを備える。制御部は、データの書込指示を受け付けた場合、データをハードディスクおよびキャッシュメモリに書き込み、ハードディスクにおけるデータの第１の書込位置とキャッシュメモリにおけるデータの第２の書込位置とを記憶部に格納し、書き込み後の所定のタイミングで、第１の書込位置と第２の書込位置とを記憶部から取得し、第１の書込位置から読み出したデータと第２の書込位置から読み出したデータとが一致するか否かを判定し、第１の書込位置から読み出したデータと第２の書込位置から読み出したデータとが一致しない場合に第２の書込位置から読み出したデータを第１の書込位置に上書きする。
【発明の効果】
【００１０】
一態様によれば、ハードディスクの障害が検出されたデータを早期に復旧し、システム運用への影響を低減できる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態のストレージシステムの構成の一例を示す図である。
【図２】第２の実施形態のストレージシステムの構成の一例を示す図である。
【図３】第２の実施形態のストレージ装置のハードウェア構成の一例を示す図である。
【図４】第２の実施形態のアクセス頻度情報の一例を示す図である。
【図５】第２の実施形態のリードアフターライトキューの一例を示す図である。
【図６】第２の実施形態のデータ書き込み処理のフローチャートを示す図である。
【図７】第２の実施形態のＨＤＤデータ書き込み処理のフローチャートを示す図である。
【図８】第２の実施形態のデータチェック処理のフローチャートを示す図である。
【図９】第２の実施形態のリードアフターライト処理のフローチャートを示す図である。
【図１０】第２の実施形態の削除スキャン処理のフローチャートを示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して実施形態を詳細に説明する。
［第１の実施形態］
まず、第１の実施形態のストレージシステムについて図１を用いて説明する。図１は、第１の実施形態のストレージシステムの構成の一例を示す図である。
【００１３】
ストレージシステム５０は、ストレージ装置１０と情報処理装置２０がネットワーク３０を介して接続したシステムである。ストレージシステム５０は、情報処理装置２０が書込対象データを記憶装置に書き込む書込指示を送信し、ストレージ装置１０が書込指示を受信してデータを記憶装置に書き込むシステムである。
【００１４】
ストレージ装置１０は、複数の記憶装置を備えた情報処理装置であり、たとえば、ＳＳＤやハードディスクなどを備える。なお、ストレージ装置１０は、分散している記憶装置をソフトウェアで管理したストレージ装置であるＳＤＳ（Software Defined Storage）であってもよい。
【００１５】
ストレージ装置１０は、記憶部１１と、キャッシュメモリ１２と、ハードディスク１３と、制御部１４とを含む。記憶部１１は、第１の書込位置１１ａと第２の書込位置１１ｂとを記憶可能であり、たとえば、ＲＡＭ（Random Access Memory）などの各種メモリである。第１の書込位置１１ａは、ハードディスク１３における書込対象データの書き込み位置を示す情報であり、たとえば、ハードディスク１３におけるデータを書き込んだアドレス情報である。第２の書込位置１１ｂは、キャッシュメモリ１２における書込対象データの書き込み位置を示す情報であり、たとえば、キャッシュメモリ１２におけるデータを書き込んだアドレス情報である。
【００１６】
キャッシュメモリ１２は、データを一時的に記憶する領域として使用する記憶装置であり、たとえば、半導体メモリを記憶媒体として用いるＳＳＤである。ＳＳＤは、不揮発であり、ある程度の記憶容量が確保でき、ストレージ装置１０の使用形態により、低負荷状態になるまでの時間や期間が長期になる場合にも、データの記憶領域として有効である。
【００１７】
また、キャッシュメモリ１２として、ＲＡＭおよびＳＳＤを用いることができる。ストレージ装置１０において、ＲＡＭを１次キャッシュメモリとし、ＳＳＤを大容量の２次キャッシュメモリとすることで、キャッシュの能力を向上させることができる。たとえば、ストレージ装置１０は、１次キャッシュメモリを介して、２次キャッシュメモリとハードディスク１３にデータを書き込む。ストレージ装置１０は、データの読み出しの際、１次キャッシュメモリでキャッシュヒットしない場合、２次キャッシュメモリに読み出し対象のデータが存在するか否か探索する。ストレージ装置１０は、２次キャッシュメモリでキャッシュヒットしない場合、ハードディスク１３からデータを読み出す。ストレージ装置１０は、大容量の２次キャッシュメモリを備えることで、２次キャッシュメモリにおけるキャッシュヒット率を向上でき、ハードディスク１３に対するアクセスを減らすことで読み出し性能を向上できる。また、ストレージ装置１０は、大容量の２次キャッシュメモリに記憶されたデータを、リードアフターライトの書き込みデータとしても利用できる。
【００１８】
ハードディスク１３は、データを長期的に格納する記憶装置である。キャッシュメモリ１２およびハードディスク１３は、それぞれＲＡＩＤ構成をとることができる。
制御部１４は、書き込み対象のデータをハードディスク１３に書き込む書込指示を受け、データをキャッシュメモリ１２とハードディスク１３に書き込む。制御部１４は、書込受付制御１４ａと、データ判定書込制御１４ｂとを行う。書込受付制御１４ａは、ハードディスク１３への書込指示を受け付けた場合、書込指示の対象となるデータをハードディスク１３およびキャッシュメモリ１２に書き込む制御である。データ判定書込制御１４ｂは、キャッシュメモリ１２に書き込んだデータとハードディスク１３に書き込んだデータとが一致するか否かを判定し、データが不一致である場合にキャッシュメモリ１２のデータをハードディスク１３に書き込む制御である。制御部１４は、ストレージ制御プログラムを実行することにより、これらの制御を実現する。
【００１９】
情報処理装置２０は、ストレージ装置１０に対してデータの書込指示を送信するコンピュータである。
ここで、ストレージ装置１０が書込対象データを書き込む処理について説明する。制御部１４は、情報処理装置２０からデータを書き込む書込指示を受け付けた場合、データをハードディスク１３およびキャッシュメモリ１２に書き込む（書込受付制御１４ａ）。制御部１４は、ハードディスク１３におけるデータの第１の書込位置１１ａとキャッシュメモリ１２におけるデータの第２の書込位置１１ｂとを記憶部１１に格納する（書込受付制御１４ａ）。
【００２０】
制御部１４は、書き込み後の所定のタイミングで、第１の書込位置１１ａと第２の書込位置１１ｂとを記憶部１１から取得する（データ判定書込制御１４ｂ）。書き込み後の所定のタイミングは、所定の処理の負荷が閾値よりも低い低負荷状態の場合である。また、所定の処理の負荷は、ストレージ装置１０の負荷であり、たとえば、キャッシュメモリ１２に対する入出力処理の負荷、ハードディスク１３に対する入出力処理の負荷、書込指示の受け付けに伴う処理の負荷のうちいずれかを含む。書込指示の受け付けに伴う負荷とは、たとえば、制御部１４が情報処理装置２０から受信する書込指示などのデータ入出力命令を処理する負荷である。低負荷状態とは、たとえば、キャッシュメモリ１２やハードディスク１３に対する単位時間あたりの入出力数や情報処理装置２０に対する応答時間などが予め定めた閾値よりも低い状態である。
【００２１】
制御部１４は、第１の書込位置１１ａから読み出したデータと第２の書込位置１１ｂから読み出したデータとが一致するか否かを判定する（データ判定書込制御１４ｂ）。制御部１４は、第１の書込位置１１ａから読み出したデータと第２の書込位置１１ｂから読み出したデータとが一致しない場合、第２の書込位置１１ｂから読み出したデータを第１の書込位置１１ａに上書きする（データ判定書込制御１４ｂ）。
【００２２】
このように、ストレージ装置１０は、低負荷状態において、キャッシュメモリ１２に書き込んだデータとハードディスク１３に書き込んだデータとを比較し、不一致の場合にキャッシュメモリ１２に書き込んだデータをハードディスク１３に書き込む。
【００２３】
ストレージ装置１０は、キャッシュメモリ１２とハードディスク１３からデータを読み出し、データを比較することでハードディスク１３を診断する。ストレージ装置１０は、データの書込位置を管理することで、新規に書き込んだ位置に対してハードディスク１３の診断が可能となる。このため、ストレージ装置１０は、ディスクパトロールなどによりハードディスク１３の記憶領域の全域を定期的に診断するよりも早期にハードディスク１３の障害を検出できる。
【００２４】
また、ストレージ装置１０は、低負荷状態においてハードディスク１３を診断するため、ストレージシステム５０の運用に影響を与えることを低減しつつハードディスク１３の診断が可能となる。ストレージ装置１０は、ハードディスク１３に書き込んだデータとキャッシュメモリ１２に書き込んだデータとが不一致である場合に、キャッシュメモリ１２から読み出したデータをハードディスク１３に書き込むことでハードディスク１３のデータを復旧する。
【００２５】
ストレージ装置１０は、キャッシュメモリ１２に書き込んだデータを用いてハードディスク１３のデータを復旧するため、ＲＡＩＤ構成におけるパリティディスクを使用してデータを復旧するよりも早くデータの復旧が可能となる。つまり、ストレージ装置１０は、キャッシュメモリ１２に保持された書き込み要求時のデータでハードディスク１３の診断および復旧を行うため、パリティディスク使用時よりも診断および復旧の処理を高速に行うことができる。
【００２６】
また、ストレージ装置１０は、記憶領域全域の診断および復旧には処理の負荷が高くなるが、書込指示の受け付け時にキャッシュメモリ１２に書き込んだデータの書込位置について診断および復旧するため処理の負荷が低減できる。
【００２７】
また、ストレージ装置１０は、書込指示を受けた順序性を維持してデータのチェック（ハードディスク１３の診断および復旧）の順番を管理し、キャッシュメモリ１２に書き込まれたデータのチェックを実行するまで削除せずに保持する。ストレージ装置１０は、書込指示を受けた順番にデータのチェックをすることで、書込指示を受けたデータが長期間チェックされない状態を低減できる。また、ストレージ装置１０は、データのチェックを実行するまでキャッシュメモリ１２に書き込まれたデータを削除せずに保持することで、書込指示を受けたデータのチェック漏れを防止できる。
【００２８】
ストレージ装置１０は、記憶装置の全ての記憶領域に対して一括してデータのチェックを実行するよりも早期に記憶装置の不良箇所を検出できる。また、ストレージ装置１０は、パリティディスクを使用せず、データの書き込み要求時にキャッシュメモリ１２に書き込んだデータを用いてハードディスク１３に書き込んだデータのチェックをするため、データのチェックおよび復旧の処理がパリティディスク使用時よりも高速にできる。また、ストレージ装置１０は、閑散時期にデータのチェックを実行することにより、ストレージシステム５０の運用に与える影響を低減できる。
【００２９】
このように、ストレージ装置１０は、ハードディスク１３の障害が検出されたデータを早期に復旧し、システム運用への影響を低減できる。
［第２の実施形態］
次に、第２の実施形態としてストレージシステムについて図２を用いて説明する。図２は、第２の実施形態のストレージシステムの構成の一例を示す図である。
【００３０】
ストレージシステム４００は、ネットワーク３５０を介してホスト２００および管理端末３００と接続するストレージ装置１００を備える。なお、ストレージシステム４００は、複数のストレージ装置１００を備えることもできる。ストレージシステム４００は、ホスト２００がデータの書き込みの要求をストレージ装置１００に送信し、ストレージ装置１００が受信したデータを記憶装置に記憶する。
【００３１】
ホスト２００は、ネットワーク３５０を介してストレージ装置１００に対し、データの読み出しや書き込みを要求するコンピュータである。
管理端末３００は、ネットワーク３５０を介してストレージ装置１００の管理をするコンピュータである。
【００３２】
ストレージ装置１００は、専用のストレージ装置であってもよいし、ＳＤＳでもよい。ストレージ装置１００は、ネットワーク３５０を介してホスト２００からデータやデータ書き込み命令を受信し、データ書き込み命令に対する応答を送信する。ストレージ装置１００は、受信したデータ書き込み命令に従い受信したデータを記憶装置に記憶する。ストレージ装置１００は、管理端末３００から監視コマンドを受信する。また、ストレージ装置１００は、状態情報やエラーメッセージなどを管理端末３００に送信する。ストレージ装置１００は、ホスト２００からのデータ入出力（Ｉ／Ｏ）要求に応じて、ストレージ装置１００が備える記憶装置に対するＩ／Ｏを制御する。ストレージ装置１００およびホスト２００が送受信するＩ／Ｏを要求する命令（コマンド）は、たとえばＳＡＭ（SCSI Architecture Model）、ＳＰＣ（SCSI Primary Commands）、ＳＢＣ（SCSI Block Commands）などで規定されている。コマンドに関する情報は、たとえばＣＤＢ（Command Description Block）に記述される。データの読み出しや書き込みに関するコマンドとして、たとえばＲｅａｄコマンドや、Ｗｒｉｔｅコマンドなどがある。コマンドは、読み出しや書き込みの対象とするデータが記憶されているＬＵＮ（Logical Unit Number）やＬＢＡ（Logical Block Address）、読み出しや書き込みの対象とするデータのブロック数などを含めることができる。
【００３３】
以上のようなシステムの構成によって、第２の実施形態の処理機能を実現できる。なお、第１の実施形態に示したストレージシステム５０も図２に示したストレージシステム４００と同様のシステムにより実現できる。
【００３４】
次に、ストレージ装置１００のハードウェア構成について図３を用いて説明する。図３は、第２の実施形態のストレージ装置のハードウェア構成の一例を示す図である。
ストレージ装置１００は、プロセッサ１１０、外部インタフェース１１１、ＲＡＭ１１２、バッテリ１１３、ＲＯＭ１１４、ディスク制御部１１５、ＨＤＤ１１６、ＳＳＤ１１７およびノード間インタフェース１１８を有する。各ユニットは、ストレージ装置１００が備えるバスに接続されている。
【００３５】
ストレージ装置１００は、プロセッサ１１０によって装置全体が制御されている。プロセッサ１１０には、バスを介してＲＡＭ１１２と複数の周辺機器が接続されている。プロセッサ１１０は、２以上のプロセッサを有するマルチコアプロセッサであってもよい。プロセッサ１１０は、たとえばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。
【００３６】
外部インタフェース１１１は、ホスト２００や管理端末３００と接続するための通信インタフェースである。外部インタフェース１１１は、チャネルアダプタやネットワークアダプタなどの複数の通信インタフェースを備えることができる。
【００３７】
ＲＡＭ１１２は、ストレージ装置１００の主記憶装置として使用される。ＲＡＭ１１２は、複数のメモリチップを搭載したものでもよく、たとえば、ＤＩＭＭ（Dual Inline Memory Module）でもよい。ＲＡＭ１１２には、プロセッサ１１０に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時格納される。また、ＲＡＭ１１２には、プロセッサ１１０による処理に必要な各種データが格納される。また、ＲＡＭ１１２は、プロセッサ１１０の１次キャッシュメモリとして機能する。
【００３８】
バッテリ１１３は、ＲＡＭ１１２のバックアップを行う電源装置である。なお、バッテリ１１３とＲＡＭ１１２との接続は一例であり、他のユニットとバッテリ１１３とを接続してもよい。また、バッテリ１１３は、ストレージ装置１００の無停電電源装置として用いることもできる。
【００３９】
ＲＯＭ（Read Only Memory）１１４は、プロセッサ１１０に読込まれるプログラムや演算に用いられるデータなどを格納する記憶装置の一例である。
ディスク制御部１１５は、プロセッサ１１０からの指示に基づき、ＨＤＤ１１６およびＳＳＤ１１７に対するデータの書き込みおよび読み出しを制御する。
【００４０】
ＨＤＤ１１６は、内蔵したディスク媒体に対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１１６は、ストレージ装置１００の補助記憶装置として使用される。ＨＤＤ１１６には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。ＨＤＤ１１６は、複数のディスク媒体を備え、ＲＡＩＤグループを構成するものとする。
【００４１】
ＳＳＤ１１７は、半導体メモリを記憶媒体として、データの書き込みおよび読み出しを行う。ＳＳＤ１１７は、複数の記憶媒体を備え、ＲＡＩＤグループを構成するものとする。また、ＳＳＤ１１７は、ＨＤＤ１１６に書き込むデータを所定期間において保存し、ＲＡＭ１１２とＨＤＤ１１６との中間にあたるキャッシュとしても機能する。
【００４２】
たとえば、ストレージ装置１００は、１次キャッシュメモリであるＲＡＭ１１２を介して、２次キャッシュメモリであるＳＳＤ１１７とＨＤＤ１１６にデータを書き込む。ストレージ装置１００は、データの読み出しの際、１次キャッシュメモリでキャッシュヒットしない場合、２次キャッシュメモリに読み出し対象のデータが存在するか否か探索する。ストレージ装置１００は、２次キャッシュメモリでキャッシュヒットしない場合、ＨＤＤ１１６からデータを読み出す。ストレージ装置１００は、大容量の２次キャッシュメモリを備えることで、２次キャッシュメモリにおけるキャッシュヒット率を向上でき、ＨＤＤ１１６に対するアクセスを減らすことで読み出し性能を向上できる。また、ストレージ装置１００は、大容量の２次キャッシュメモリに記憶されたデータを、リードアフターライトの書き込みデータとしても利用できる。
【００４３】
ＨＤＤ１１６およびＳＳＤ１１７が備えるＲＡＩＤグループのＲＡＩＤレベルは、ＲＡＩＤ６やＲＡＩＤ４などを採用することができる。
ノード間インタフェース１１８は、ストレージ装置１００がクラスタ構成を組む場合において、他のストレージ装置と接続するインタフェースである。
【００４４】
なお、ストレージ装置１００は、図示しない機器接続インタフェースを備えることができる。機器接続インタフェースは、ストレージ装置１００に周辺機器やネットワークに接続するための通信インタフェースである。たとえば機器接続インタフェースには、図示しないメモリ装置やメモリリーダライタを接続することができる。メモリ装置は、機器接続インタフェースとの通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しを行う装置である。メモリカードは、たとえば、カード型の記録媒体である。また、機器接続インタフェースは、図示しない光学ドライブ装置を接続してもよい。光学ドライブ装置は、レーザ光などを利用して、光ディスクに記録されたデータの読み取りを行う。光ディスクは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００４５】
以上のようなハードウェア構成によって、ストレージ装置１００の処理機能を実現することができる。
ストレージ装置１００は、たとえば、コンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、ストレージ装置１００の処理機能を実現する。ストレージ装置１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、ストレージ装置１００に実行させるプログラムをＨＤＤ１１６に格納しておくことができる。プロセッサ１１０は、ＨＤＤ１１６内のプログラムの少なくとも一部をＲＡＭ１１２にロードし、プログラムを実行する。また、ストレージ装置１００に実行させるプログラムを、光ディスク、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくことができる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ１１０からの制御により、ＨＤＤ１１６にインストールされた後、実行可能となる。またプロセッサ１１０は、可搬型記録媒体から直接プログラムを読み出して実行することができる。
【００４６】
以上のようなハードウェア構成によって、第２の実施形態の処理機能を実現できる。なお、第１の実施形態に示したストレージ装置１０も図３に示したストレージ装置１００と同様のハードウェアにより実現できる。
【００４７】
次に、第２の実施形態のアクセス頻度情報について図４を用いて説明する。図４は、第２の実施形態のアクセス頻度情報の一例を示す図である。
アクセス頻度情報５００は、ＳＳＤ１１７に格納されたデータのアクセス頻度を記録した情報である。アクセス頻度情報５００は、キャッシュとして用いられるＳＳＤ１１７からデータが格納されたブロックを削除する際にプロセッサ１１０によって参照される情報である。アクセス頻度情報５００は、ＳＳＤ１１７に記憶される。
【００４８】
アクセス頻度情報５００は、ＳＳＤアドレスと、アクセスレベルと、削除非対象フラグとを含む。ＳＳＤアドレスは、データが格納された先頭ブロックのアドレスを示す識別情報である。なお、ＳＳＤアドレスは、識別情報の一例に過ぎず、ＲＡＩＤグループの識別情報や、ボリュームの識別情報なども含めることができる。
【００４９】
アクセスレベルは、データのアクセス頻度に応じてレベル１からレベル５までに区分される。レベル１は、アクセス頻度が一番高いレベルである。また、レベル５は、アクセス頻度が一番低いレベルである。書き込み対象となるデータが記録されたＳＳＤアドレスは、最初にレベル３に設定される。データに対してアクセスが発生した場合、アクセスレベルはレベル３からレベル２へ、さらにレベル１へと順に引き上げられる。また、ＳＳＤアドレスで示されるブロックに対してアクセスが発生しない場合、レベル３からレベル４へ、さらにレベル５へと順に引き下げられる。
【００５０】
ストレージ装置１００は、ＳＳＤ１１７にキャッシュとして利用可能な領域が減少してきた場合、データを削除するための処理である削除スキャン処理を実行する。また、ストレージ装置１００は、削除スキャン処理の実行毎にＳＳＤアドレスで表される各ブロックのアクセスレベルを引き下げる。たとえば、ストレージ装置１００は、アクセスレベルの値「１」を「２」に、アクセスレベルの値「２」を「３」に、アクセスレベルの値「３」を「４」に、アクセスレベルの値「４」を「５」に引き下げる。ストレージ装置１００は、アクセスレベルの値が「５」のＳＳＤアドレスに格納されているデータに対してＩ／Ｏアクセスが発生しなかった場合、次の削除スキャン処理の実施時に削除非対象フラグの値が「ＯＦＦ」であるＳＳＤアドレスのデータを削除する。
【００５１】
削除スキャン処理は、ＳＳＤ１１７に記憶されたデータのうちアクセス頻度の低いデータについて削除を行う処理である。具体的には、ストレージ装置１００が、ＳＳＤ１１７の空き容量が所定の残量に達したことを検知し、削除非対象フラグの値が「ＯＦＦ」かつアクセスレベルの値が「５」のデータの削除を実行する処理である。削除スキャンの処理については、後で図１０を用いて説明する。
【００５２】
なお、ストレージ装置１００は、ＳＳＤ１１７に記憶されたデータにＩ／Ｏアクセスが発生した場合に、Ｉ／Ｏアクセスが発生したＳＳＤアドレスに対応するアクセスレベルの値を引き上げる。ストレージ装置１００がアクセスレベルの値を引き上げる処理については、説明を省略する。
【００５３】
削除非対象フラグは、削除スキャン処理の実施時において削除対象のデータか否かを示す情報である。ストレージ装置１００は、削除非対象フラグの値が「ＯＮ」である場合、削除スキャンが実施された際に対応するＳＳＤアドレスに格納されているデータを削除しない。また、ストレージ装置１００は、削除非対象フラグの値が「ＯＦＦ」である場合、削除スキャンが実施された際にＳＳＤアドレスに格納されているデータを削除する。なお、削除非対象フラグの値を変更する処理については、後で図７および図８を用いて説明する。
【００５４】
次に、第２の実施形態のリードアフターライトキューについて図５を用いて説明する。図５は、第２の実施形態のリードアフターライトキューの一例を示す図である。
リードアフターライトキュー５１０は、ホスト２００から書き込み命令とともに受信した書き込み対象のデータが書き込まれたアドレス情報を管理する待ち行列である。リードアフターライトキュー５１０は、書き込み対象のデータが正常にＨＤＤ１１６に書き込まれたか否かを、待ち行列の順にしたがってチェックするためにプロセッサ１１０が用いる情報である。リードアフターライトキュー５１０は、ＲＡＭ１１２に記憶される。
【００５５】
リードアフターライトキュー５１０は、キュー管理番号と、ＨＤＤアドレスと、ＳＳＤアドレスとを含む。キュー管理番号は、リードアフターライトキュー５１０に記憶されたアドレス情報を管理するための番号である。プロセッサ１１０は、キュー管理番号「１」から昇順に書き込み対象のデータが正常に書き込まれたか否かをチェックする。ＨＤＤアドレスは、書き込み対象のデータが書き込まれたＨＤＤ１１６のアドレスを示す識別情報である。ＳＳＤアドレスは、書き込み対象のデータが書き込まれたＳＳＤ１１７のアドレスを示す識別情報である。なお、ＨＤＤアドレスおよびＳＳＤアドレスは一例であり、ＲＡＩＤグループの識別情報や、ボリュームの識別情報なども含めることができる。リードアフターライトキュー５１０のサイズ（キュー管理番号で管理対象とする書き込み命令の数）は、ＲＡＭ１１２の記憶容量や書き込み命令を受信する頻度などに応じてシステム管理者が定めることができる。
【００５６】
なお、ストレージ装置１００は、原則としてＦＩＦＯ（First In First Out）キューとしてリードアフターライトキュー５１０を制御するが、キューイングされているアドレスに対してＩ／Ｏアクセスが発生した場合、キューの順番の入れ替えをする。たとえば、ストレージ装置１００は、Ｉ／Ｏアクセスが発生したＳＳＤアドレスが「Ａ００００８ｈ」である場合、キュー管理番号の値が「１」のエントリを末尾に変更し、キュー管理番号の値が「２」のエントリを「１」へ繰り上げる。
【００５７】
次に、第２の実施形態のデータ書き込み処理のフローチャートについて図６を用いて説明する。図６は、第２の実施形態のデータ書き込み処理のフローチャートを示す図である。
【００５８】
データ書き込み処理は、ストレージ装置１００がホスト２００から書き込み命令および書き込み対象のデータを受信し、ストレージ装置１００が備える記憶装置に書き込み対象のデータを書き込む処理である。
【００５９】
ストレージ装置１００が備える制御部（プロセッサ１１０）は、ホスト２００から書き込み命令および書き込み対象のデータを受信し、データ書き込み処理を実行する。
［ステップＳ１１］制御部は、ホスト２００から書き込み命令および書き込み対象のデータを受信したか否かを判定する。制御部は、ホスト２００からデータを受信した場合にステップＳ１２にすすみ、データを受信しない場合にステップＳ１１にすすむ。
【００６０】
［ステップＳ１２］制御部は、ＲＡＭ１２２に設けたキャッシュメモリにステップＳ１１で受信した書き込み対象のデータを書き込む。
［ステップＳ１３］制御部は、データ書き込み完了通知をホスト２００に送信する。
【００６１】
［ステップＳ１４］制御部は、ＳＳＤ１１７にステップＳ１１で受信した書き込み対象のデータを書き込む。
［ステップＳ１５］制御部は、ＨＤＤデータ書き込み処理を実行する。ＨＤＤデータ書き込み処理は、制御部が、ＨＤＤ１１６にデータを書き込み、アクセス頻度情報５００とリードアフターライトキュー５１０の設定を行う処理である。
【００６２】
ＨＤＤデータ書き込み処理は、後で図７を用いて説明する。
［ステップＳ１６］制御部は、ステップＳ１２でキャッシュメモリに書き込んだデータを消去してキャッシュメモリを解放し、データ書き込み処理を終了する。
【００６３】
次に、第２の実施形態のＨＤＤデータ書き込み処理のフローチャートについて図７を用いて説明する。図７は、第２の実施形態のＨＤＤデータ書き込み処理のフローチャートを示す図である。
【００６４】
ＨＤＤデータ書き込み処理は、ストレージ装置１００が備える制御部（プロセッサ１１０）が、ＨＤＤ１１６にデータを書き込み、アクセス頻度情報とリードアフターライトキューの設定を行う処理である。ＨＤＤデータ書き込み処理は、データ書き込み処理のステップＳ１５において制御部が実行する処理である。
【００６５】
［ステップＳ２１］制御部は、ＨＤＤ１１６にステップＳ１１で受信した書き込み対象のデータを書き込む。
［ステップＳ２２］制御部は、アクセス頻度情報５００において、書き込み対象のデータを格納したＳＳＤ１１７のアドレスに対応するアクセスレベルの値を初期値に設定する。たとえば、制御部は、ステップＳ１４でＳＳＤ１１７に書き込みを行ったデータのアドレスが「Ａ０００１６ｈ」である場合、アクセス頻度情報５００のＳＳＤアドレス「Ａ０００１６ｈ」に対応するアクセスレベルの値を初期値として「３」に設定する。
【００６６】
［ステップＳ２３］制御部は、アクセス頻度情報５００において、書き込み対象のデータを格納したＳＳＤ１１７のアドレスに対応する削除非対象フラグの値を「ＯＮ」に設定する。なお、削除非対象フラグの値を「ＯＮ」にする設定は、書き込みを行ったデータについて、データの診断および復旧を行う処理が未だ実行されていないため、ＳＳＤ１１７からデータが削除されるのを防ぐ設定である。
【００６７】
たとえば、制御部は、ステップＳ１４でＳＳＤ１１７に書き込みを行ったデータのアドレスが「Ａ０００１６ｈ」である場合、アクセス頻度情報５００のＳＳＤアドレス「Ａ０００１６ｈ」に対応する削除非対象フラグの値を「ＯＮ」に設定する。
【００６８】
［ステップＳ２４］制御部は、書き込み対象のデータを格納したＨＤＤ１１６およびＳＳＤ１１７のアドレスをリードアフターライトキュー５１０にキューイングする。制御部は、ＨＤＤ１１６およびＳＳＤ１１７のアドレスにキュー管理番号を昇順に付与し、リードアフターライトキュー５１０で管理する。
【００６９】
次に、第２の実施形態のデータチェック処理のフローチャートについて図８を用いて説明する。図８は、第２の実施形態のデータチェック処理のフローチャートを示す図である。
【００７０】
データチェック処理は、ストレージ装置１００が備える制御部（プロセッサ１１０）が、リードアフターライトキューにキューイングされているデータのチェックを行う処理である。データチェック処理は、制御部がデータ書き込み処理とは独立して実行する処理である。制御部は、ストレージ装置１００の負荷が所定の値よりも低い閑散時期である場合、データチェック処理を実行する。
【００７１】
［ステップＳ３１］制御部は、ストレージ装置１００が閑散時期であるか否かを判定する。閑散時期とは、ストレージ装置１００の負荷が所定の値よりも低い状態のことである。たとえば、制御部は、プロセッサ１１０の使用率が所定の値よりも低い場合（たとえば、使用率１０％以下である場合）、閑散時期であると判定する。また、制御部は、ＳＳＤ１１７に対するＩＯＰＳ（Input／Output Per Second）が所定の値よりも低い場合（たとえば、１００ＩＯＰＳ以下である場合）、閑散時期であると判定する。また、制御部は、ＨＤＤ１１６に対するＩ／Ｏ負荷（Ｉ／Ｏレスポンス、Ｉ／Ｏスループットなど）が所定の値よりも低い場合、閑散時期であると判定する。
【００７２】
なお、制御部は、負荷が所定の値よりも低い状態であるか否かの判定について、単一の指標（たとえば、プロセッサ１１０の使用率のみ）で判定してもよいし、複数の指標（たとえば、プロセッサ１１０の使用率およびＩＯＰＳ）で判定してもよい。
【００７３】
制御部は、ストレージ装置１００が閑散時期であると判定した場合にステップＳ３２にすすみ、閑散時期でないと判定した場合にステップＳ３１にすすむ。
［ステップＳ３２］制御部は、リードアフターライトキュー５１０にキューイングされたエントリが存在するか否かを判定し、存在する場合にステップＳ３３にすすみ、存在しない場合にステップＳ３１にすすむ。
【００７４】
［ステップＳ３３］制御部は、リードアフターライトキュー５１０の先頭キューの値を読み出す。具体的には、制御部は、リードアフターライトキュー５１０からキュー管理番号「１」、ＨＤＤアドレス「Ｆ０００３４ｈ」、ＳＳＤアドレス「Ａ００００８ｈ」、を読み出す。
【００７５】
［ステップＳ３４］制御部は、リードアフターライト処理を実行する。リードアフターライト処理は、書き込みデータがＨＤＤ１１６に正しく記憶されているか否かをＳＳＤ１１７に記憶されたデータと比較することでチェックを行う処理である。リードアフターライト処理は、後で図９を用いて説明する。
【００７６】
制御部は、リードアフターライトキュー５１０でデータの書込指示を受けた順序性を維持してリードアフターライト処理（ＨＤＤ１１６の診断および復旧）を実行する順番を管理する。制御部は、データの書込指示を受けた順番にリードアフターライト処理を実行することで、書込指示を受けたデータが長期間チェックされない状態を低減できる。
【００７７】
［ステップＳ３５］制御部は、リードアフターライトキュー５１０の先頭キューに対応するＳＳＤアドレスについて、アクセス頻度情報５００の削除非対象フラグの値を「ＯＦＦ」に設定する。言い換えると、制御部は、リードアフラーライト処理を実行したデータについて削除非対象フラグの値を「ＯＦＦ」にし、ＳＳＤ１１７から削除対象のデータに設定する。
【００７８】
たとえば、リードアフターライトキュー５１０において先頭キューは、キュー管理番号の値が「１」、ＨＤＤアドレスの値が「Ｆ０００３４ｈ」、ＳＳＤアドレスの値が「Ａ００００８ｈ」のエントリである。制御部は、アクセス頻度情報５００において、ＳＳＤアドレスの値が「Ａ００００８ｈ」のエントリについて削除非対象フラグの値を「ＯＦＦ」に設定する。
【００７９】
［ステップＳ３６］制御部は、リードアフターライトキュー５１０の先頭キューを削除する。具体的には、制御部は、リードアフターライトキュー５１０からキュー管理番号「１」のエントリを消去し、キュー管理番号「２」のエントリをキュー管理番号「１」に繰り上げる。
【００８０】
このように、制御部は、閑散時期である場合にデータをチェックしてＨＤＤ１１６を診断するため、診断によってストレージシステム４００の運用に影響を与えることを低減することができる。
【００８１】
次に、第２の実施形態のリードアフターライト処理のフローチャートについて図９を用いて説明する。図９は、第２の実施形態のリードアフターライト処理のフローチャートを示す図である。
【００８２】
リードアフターライト処理は、書き込みデータがＨＤＤ１１６に正しく記憶されているか否かをＳＳＤ１１７に記憶されたデータと比較することでチェックを行う処理である。リードアフターライト処理は、データチェック処理のステップＳ３４において制御部が実行する処理である。
【００８３】
［ステップＳ４１］制御部は、リードアフターライトキュー５１０の先頭キューのＨＤＤアドレスについてＨＤＤ１１６からデータを読み出す。
［ステップＳ４２］制御部は、リードアフターライトキュー５１０の先頭キューのＳＳＤアドレスについてＳＳＤ１１７からデータを読み出す。
【００８４】
［ステップＳ４３］制御部は、ステップＳ４１およびＳ４２で読み出したデータが一致するか否かを判定し、一致しない場合にステップＳ４４にすすみ、一致する場合にリードアフターライト処理を終了する。
【００８５】
［ステップＳ４４］制御部は、ＳＳＤ１１７から読み出したデータをＨＤＤ１１６に書き込む。
［ステップＳ４５］制御部は、ステップＳ４４でＨＤＤ１１６に書き込んだデータと、ステップＳ４２でＳＳＤ１１７から読み出したデータとをチェックする。具体的には、制御部は、ステップＳ４４でＨＤＤ１１６に書き込んだデータを読み出し、ステップＳ４２でＳＳＤ１１７から読み出したデータと一致するか否かを判定する。制御部は、一致する場合、リードアフターライト処理を終了し、一致しない場合、管理端末３００にエラーメッセージを送信する。制御部は、ステップＳ４４でデータを書き込んだＨＤＤ１１６のＨＤＤアドレスをエラーメッセージに含める。
【００８６】
このように、ストレージ装置１００は、ＨＤＤ１１６に対しデータの書き込みの不具合を検出した場合、ＳＳＤ１１７から読み出したデータをＨＤＤ１１６に再度書き込むことができる。また、ストレージ装置１００は、再度のデータ書き込みが失敗した場合、エラーメッセージを管理端末３００に送信することで、データ書き込みの不具合のアドレスを管理者に報知することができる。
【００８７】
次に、第２の実施形態の削除スキャン処理のフローチャートについて図１０を用いて説明する。図１０は、第２の実施形態の削除スキャン処理のフローチャートを示す図である。
【００８８】
削除スキャン処理は、ストレージ装置１００が備える制御部（プロセッサ１１０）が、ＳＳＤ１１７に記憶されたデータのうちアクセス頻度の低いデータについて削除を行う処理である。削除スキャン処理は、制御部が、データ書き込み処理およびデータチェック処理とは独立して実行する処理である。
【００８９】
制御部は、ＳＳＤ１１７の空き容量が所定値以下の場合に削除スキャン処理を実行する。
［ステップＳ５１］制御部は、ＳＳＤ１１７の空き容量が所定値以下であるか否かを判定する。たとえば、制御部は、ＳＳＤ１１７の空き容量が全体の１０％以下であるか否かを判定する。制御部は、ＳＳＤ１１７の空き容量が所定値以下である場合、ステップＳ５２にすすむ。制御部は、ＳＳＤ１１７の空き容量が所定値以下でない場合、ステップＳ５１にすすむ。
【００９０】
［ステップＳ５２］制御部は、アクセス頻度情報５００を記憶部から読み出す。
［ステップＳ５３］制御部は、アクセスレベルの値が「５」のデータが有るか否かを判定する。制御部は、アクセスレベルの値が「５」のデータが有る場合、ステップＳ５４にすすむ。制御部は、アクセスレベルの値が「５」のデータが無い場合、ステップＳ５５にすすむ。
【００９１】
［ステップＳ５４］制御部は、削除非対象フラグの値が「ＯＦＦ」であり、アクセスレベルの値が「５」であるＳＳＤアドレスに記憶されているデータをＳＳＤ１１７から削除する。言い換えると、制御部は、リードアフターライト処理を実行したデータであり、かつ、入出力のアクセスが少ないデータをＳＳＤ１１７から削除する。制御部は、入出力アクセスが少ないデータであっても、リードアフターライト処理を未だ実行していないデータについては削除対象のデータから除外することで、データの診断漏れが発生することを防ぐ。
【００９２】
つまり、制御部は、アクセス頻度情報５００の削除非対象フラグを用いてリードアフターライト処理を実行したか否かを管理し、ＳＳＤ１１７に書き込まれたデータについてリードアフターライト処理を実行するまで削除せずに保持する。制御部は、リードアフターライト処理を実行するまでＳＳＤ１１７に書き込まれたデータを削除せずに保持することで、書込指示を受けたデータのチェック漏れを防止できる。
【００９３】
［ステップＳ５５］制御部は、アクセス頻度情報５００について全てのアクセスレベルを引き下げる。具体的には、制御部は、アクセス頻度情報５００について、アクセスレベルの値「１」を「２」に変更する。同様に、制御部は、アクセス頻度情報５００についてアクセスレベルの値「２」を「３」に変更し、「３」を「４」に変更し、「４」を「５」に変更する。
【００９４】
このように、制御部は、アクセス頻度情報５００を用いて、アクセス頻度の低いデータをＳＳＤ１１７から削除する。言い換えると、制御部は、ＳＳＤ１１７の空き容量が所定の値よりも小さい場合、ＳＳＤ１１７に書き込んだデータのうち入出力の頻度が所定の頻度よりも少ないデータを特定し、特定したデータをＳＳＤ１１７から削除する。
【００９５】
また、制御部は、アクセス頻度情報５００を用いて、ＳＳＤ１１７に書き込んだデータのうちリードアフターライト処理が未処理のデータを管理する。制御部は、ＳＳＤ１１７の空き容量が所定の値よりも小さい場合、入出力の頻度が所定の頻度よりも少ないデータを特定し、特定したデータのうちリードアフターライト処理が未処理のデータを除くデータをＳＳＤ１１７から削除する。これにより、制御部は、ＳＳＤ１１７の空き容量を確保するとともに、リードアフターライト処理が未処理のデータが発生することを防止することができる。
【００９６】
こうして、ストレージ装置１００は、書き込み処理が完了したデータを所定単位（たとえば、論理ブロックアドレス（ＬＢＡ）単位、書き込み処理または読み出し処理のために設定されたブロック単位やチャンク単位）で待ち行列において管理する。また、ストレージ装置１００は、ストレージ装置１００の負荷が少ないタイミングで、待ち行列において管理したデータを所定単位ごとにリードアフターライト処理を実行し、書き込みデータをチェックする。
【００９７】
これにより、ストレージ装置１００は、記憶装置に対して一括してデータのチェックを実行するよりも早期に記憶装置の不良箇所を検出できる。また、ストレージ装置１００は、パリティディスクを使用せず、データの書き込み要求時にＳＳＤ１１７に書き込んだデータを用いてＨＤＤ１１６に書き込んだデータのチェックをするため、データのチェックおよび復旧の処理がパリティディスク使用時よりも高速にできる。また、ストレージ装置１００は、閑散時期にデータのチェックを実行することにより、ストレージシステム４００の運用に与える影響を低減できる。
【００９８】
ストレージ装置１００は、ＨＤＤ１１６の障害が検出されたデータを早期に復旧し、ストレージシステム４００の運用への影響を低減できる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ストレージ装置１０，１００、情報処理装置２０、ホスト２００、管理端末３００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハード記憶装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【００９９】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１００】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
【０１０１】
また、上記の処理機能の少なくとも一部を、ＤＳＰ、ＡＳＩＣ、ＰＬＤなどの電子回路で実現することもできる。
【符号の説明】
【０１０２】
１０，１００  ストレージ装置
１１  記憶部
１１ａ  第１の書込位置
１１ｂ  第２の書込位置
１２  キャッシュメモリ
１３  ハードディスク
１４  制御部
１４ａ  書込受付制御
１４ｂ  データ判定書込制御
２０  情報処理装置
３０，３５０  ネットワーク
５０，４００  ストレージシステム
２００  ホスト
３００  管理端末
【図１】
2018190192.tif 000003
【図２】
2018190192.tif 000004
【図３】
2018190192.tif 000005
【図４】
2018190192.tif 000006
【図５】
2018190192.tif 000007
【図６】
2018190192.tif 000008
【図７】
2018190192.tif 000009
【図８】
2018190192.tif 000010
【図９】
2018190192.tif 000011
【図１０】
2018190192.tif 000012