(57)【要約】      （修正有）【課題】従来の誤り検出方法は、書き込み時のヘッド電圧不足や記録媒体上についた塵などの原因により記録媒体へのデータの書き込みが正常に行われなかった場合に、セクタ単位でのデータの書き漏れを検出する仕組みとしては十分で無かった。【解決手段】１つのデータ書き込み要求に起因してデータが書き込まれる記録媒体の一連のセクタのそれぞれに、そのセクタの前記一連のセクタにおける位置を示す情報である位置情報と、前記一連のセクタへのデータの書き込みが発生するごとに変化し前記一連のセクタについて関連づけて設定される情報である共通情報と、を書き込むようにする。【選択図】      図２
2004318485.tif 000002
【特許請求の範囲】
【請求項１】
１つのデータ書き込み要求に起因してデータが書き込まれる記録媒体の一連のセクタのそれぞれに、そのセクタの前記一連のセクタにおける位置を示す情報である位置情報と、前記一連のセクタへのデータの書き込みが発生するごとに変化し前記一連のセクタについて関連づけて設定される情報である共通情報と、を書き込むことを特徴とする記録媒体へのデータ書き込み方法。
【請求項２】
請求項１に記載のデータ書き込み方法において、
前記位置情報には、
そのセクタが前記一連のセクタのうちの先頭のセクタであることを示す情報、
そのセクタが前記一連のセクタのうちの末尾のセクタであることを示す情報、
そのセクタが前記一連のセクタのうちの先頭もしくは末尾のいずれのセクタでも無いことを示す情報、
のうち少なくとも何れかの情報が設定されることを特徴とするデータ書き込み方法。
【請求項３】
請求項１に記載のデータ書き込み方法において、
前記記録媒体は、磁気ディスクであることを特徴とする記録媒体へのデータ書き込み方法。
【請求項４】
１つのデータ書き込み要求に起因してデータが書き込まれる一連のセクタのそれぞれに、そのセクタの前記一連のセクタにおける位置を示す情報である位置情報と、前記一連のセクタへのデータの書き込みが発生するごとに変化し前記一連のセクタについて関連づけて設定される情報である共通情報と、を書き込むステップと、
前記記録媒体の連続する各セクタに書き込まれている前記位置情報と前記共通情報とを読み出すステップと、
読み出した前記位置情報と前記共通情報とに基づいてデータを検証するステップと、
を備えることを特徴とするデータの検証方法。
【請求項５】
請求項４に記載のデータの検証方法において、
前記データを検証するステップは、
あるセクタの前記位置情報が前記一連のセクタの先頭のセクタでも末尾のセクタでも無いことを示す情報である場合に当該セクタの共通データが直前のセクタの共通データに一致するかどうかを判断することにより当該セクタに格納されているデータを検証するステップであること、
を特徴とするデータの検証方法。
【請求項６】
外部装置との間で通信を行う機能を提供する通信制御部と、記録媒体に対してデータの書き込み及び読み出しを行うＩ／Ｏ制御部と、通信制御部とＩ／Ｏ制御部とがアクセス可能なキャッシュメモリと、を備えて構成されるコンピュータの制御方法において、
通信制御部が、外部装置からデータ書き込み要求を受信するステップと、
通信制御部が、前記データ書き込み要求に起因してデータが書き込まれる記録媒体の一連のセクタのそれぞれに書き込まれるデータに、そのセクタの前記一連のセクタにおける位置を示す情報である位置情報と、前記一連のセクタへのデータの書き込みが発生するごとに変化し前記一連のセクタについて関連づけて設定される情報である共通情報と、を書き込むステップと、
を備えることを特徴とするコンピュータの制御方法。
【請求項７】
外部装置との間で通信を行う機能を提供する通信制御部と、記録媒体に対してデータの書き込み及び読み出しを行うＩ／Ｏ制御部と、通信制御部とＩ／Ｏ制御部とがアクセス可能なキャッシュメモリと、を備えて構成されるコンピュータの制御方法において、
通信制御部が、外部装置からデータ書き込み要求を受信するステップと、
Ｉ／Ｏ制御部が、前記データ書き込み要求に起因してデータが書き込まれる記録媒体の一連のセクタのそれぞれに書き込まれるデータに、そのセクタの前記一連のセクタにおける位置を示す情報である位置情報と、前記一連のセクタへのデータの書き込みが発生するごとに変化し前記一連のセクタについて関連づけて設定される情報である共通情報と、を付帯させるステップと、
を備えることを特徴とするコンピュータの制御方法。
【請求項８】
外部装置との間で通信を行う機能を提供する通信制御部と、記録媒体に対してデータの書き込み及び読み出しを行うＩ／Ｏ制御部と、通信制御部とＩ／Ｏ制御部とがアクセス可能なキャッシュメモリと、を備えて構成されるコンピュータの制御方法において、
通信制御部が、外部装置からデータ書き込み要求を受信するステップと、
通信制御部が、前記データ書き込み要求に起因してデータが書き込まれる記録媒体の一連のセクタのそれぞれに書き込まれるデータに、そのセクタの前記一連のセクタにおける位置を示す情報である位置情報と、前記一連のセクタへのデータの書き込みが発生するごとに変化し前記一連のセクタについて関連づけて設定される情報である共通情報と、を書き込むステップと、
Ｉ／Ｏ制御部が、通信制御部が外部装置からデータ読み出し要求を受信した場合に前記記録媒体の連続する各セクタに書き込まれている前記位置情報と前記共通情報とを読み出すステップと、
通信制御部が、読み出した前記位置情報と前記共通情報とに基づいてデータを検証するステップと、
を備えることを特徴とするコンピュータの制御方法。
【請求項９】
外部装置との間で通信を行う機能を提供する通信制御部と、記録媒体に対してデータの書き込み及び読み出しを行うＩ／Ｏ制御部と、通信制御部とＩ／Ｏ制御部とがアクセス可能なキャッシュメモリと、を備えて構成されるコンピュータの制御方法において、
通信制御部が、外部装置からデータ書き込み要求を受信するステップと、
通信制御部が、前記データ書き込み要求に起因してデータが書き込まれる記録媒体の一連のセクタのそれぞれに書き込まれるデータに、そのセクタの前記一連のセクタにおける位置を示す情報である位置情報と、前記一連のセクタへのデータの書き込みが発生するごとに変化し前記一連のセクタについて関連づけて設定される情報である共通情報と、を書き込むステップと、
Ｉ／Ｏ制御部が、通信制御部が外部装置からデータ読み出し要求を受信した場合に前記記録媒体の連続する各セクタに書き込まれている前記位置情報と前記共通情報とを読み出して、読み出した前記位置情報と前記共通情報とに基づいてデータを検証するステップと、
を備えることを特徴とするコンピュータの制御方法。
【請求項１０】
外部装置との間で通信を行う機能を提供する通信制御部と、記録媒体に対してデータの書き込み及び読み出しを行うＩ／Ｏ制御部と、通信制御部とＩ／Ｏ制御部とがアクセス可能なキャッシュメモリと、
外部装置からデータ書き込み要求を受信した場合に、前記データ書き込み要求に起因してデータが書き込まれる記録媒体の一連のセクタのそれぞれに書き込まれるデータに、そのセクタの前記一連のセクタにおける位置を示す情報である位置情報と、前記一連のセクタへのデータの書き込みが発生するごとに変化し前記一連のセクタについて関連づけて設定される情報である共通情報と、を書き込む手段と、
外部装置からデータ読み出し要求を受信した場合に、前記記録媒体の連続する各セクタに書き込まれている前記位置情報と前記共通情報とを読み出す手段と、
読み出した前記位置情報と前記共通情報とに基づいてデータを検証する手段と、
を備えることを特徴とするコンピュータ。
【請求項１１】
複数のディスクドライブと、ディスクドライブに対するデータの書き込み及び読み出しをＲＡＩＤ５の方式で制御するディスクコントローラと、
リード・モディファイ・ライトの方式に従ってディスクドライブにデータを書き込むに際し、１つのデータ書き込み要求に起因してデータが書き込まれる記録媒体の一連のセクタのそれぞれに、そのセクタの前記一連のセクタにおける位置を示す情報である位置情報と、前記一連のセクタへのデータの書き込みが発生するごとに変化し前記一連のセクタについて関連づけて設定される情報である共通情報と、を書き込むことを特徴とするディスクアレイ装置。
【請求項１２】
磁気ディスクと、外部の装置と通信するための通信手段と、通信手段により受信した制御信号に応じて磁気ディスクへのデータの書き込み及び読み出しを行うアクセス手段と、
１つのデータ書き込み要求に起因してデータが書き込まれる記録媒体の一連のセクタのそれぞれに、そのセクタの前記一連のセクタにおける位置を示す情報である位置情報と、前記一連のセクタへのデータの書き込みが発生するごとに変化し前記一連のセクタについて関連づけて設定される情報である共通情報と、を書き込む手段と、
を備えることを特徴とするディスクドライブ。
【請求項１３】
磁気ディスクと、外部の装置と通信するための通信手段と、通信手段により受信した制御信号に応じて磁気ディスクへのデータの書き込み及び読み出しを行うアクセス手段と、
前記記録媒体の連続する各セクタに書き込まれている前記位置情報と前記共通情報とを読み出して、読み出した前記位置情報と前記共通情報とに基づいてデータを検証する検証手段と、
を備えることを特徴とするディスクドライブ。
【請求項１４】
磁気ディスクと、外部の装置と通信するための通信手段と、通信機構により受信した制御信号に応じて磁気ディスクへのデータの書き込み及び読み出しを行うアクセス手段と、
前記記録媒体の連続する各セクタに書き込まれている前記位置情報と前記共通情報とを読み出して、読み出した前記位置情報と前記共通情報とに基づいてデータを検証する検証手段と、
前記検証により異常を検知した場合に異常があったことを示す信号を出力する信号出力手段と、
を備えることを特徴とするディスクドライブ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、データ書き込み方法、データ検証方法、コンピュータの制御方法、コンピュータ、ディスクアレイ装置、及びディスクドライブに関する。
【０００２】
【従来の技術】
ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体に記録されているデータの誤りを検出する方法としては、従来からＥＤＣ（Ｅｒｒｏｒ  Ｄｅｔｅｃｔｉｏｎ  Ｃｏｄｅ）を用いるものが知られている。また、セクタのアドレス情報から算出される期待値アドレスと、セクタから読み出したセクタナンバーとを比較することにより誤りを検出するものも知られている（例えば、特許文献１を参照）。
【０００３】
【特許文献１】
特開平１１−１３４８１８号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、これら従来の誤り検出方法は、例えば、書き込み時のヘッド電圧不足や記録媒体上についた塵等の原因により記録媒体へのデータの書き込みが正常に行われなかった場合に、セクタ単位でのデータの書き漏れを検出する仕組みとしては十分でなかった。
【０００５】
本発明はこのような事情に鑑みてなされたもので、セクタ単位でのデータの書き漏れをより確実に検出することができる、データ書き込み方法、データ検証方法、コンピュータの制御方法、コンピュータ、ディスクアレイ装置、及びディスクドライブを提供することを目的とする。
【０００６】
【課題を解決するための手段】
この目的を達成するための、本発明の主たる発明は、データ書き込み方法であって、１つのデータ書き込み要求に起因してデータが書き込まれる記録媒体の一連のセクタのそれぞれに、そのセクタの前記一連のセクタにおける位置を示す情報である位置情報と、前記一連のセクタへのデータの書き込みが発生するごとに変化し前記一連のセクタについて関連づけて設定される情報である共通情報と、を書き込むこととする。
【０００７】
ここで前記位置情報は、例えば、後述する位置データである。また、前記共通情報は、例えば、後述する共通データである。このデータ書き込み方法により記録媒体にデータを書き込んだ場合には、読み出した前記位置情報と前記共通情報とに基づいてデータを検証することにより、書き込み時のヘッド電圧不足や記録媒体上についた塵等の原因により記録媒体へのデータの書き込みが正常に行われなかった場合におけるセクタ単位でのデータの書き漏れを、より確実に検出することができる。なお、上記検証は、例えば、あるセクタの前記位置情報が前記一連のセクタの先頭のセクタでも末尾のセクタでも無いことを示す情報である場合に当該セクタの共通データが直前のセクタの共通データと関連するデータであるか（例えば、一致するデータであるか）を判断することにより行う。
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄及び図面等により明らかにされる。
【０００８】
【発明の実施の形態】
以下、記録媒体がディスクドライブに内蔵されている磁気ディスクである場合を例として、本発明によるデータ検証の仕組みについて説明する。図１に本発明の一実施例として説明するディスクドライブ１００の構造を示している。ディスクドライブ１００は、その筐体１０５内に、磁気ディスク１１０、アクチュエータ１１１、スピンドルモータ１１２、ヘッド１１３、ヘッド１１３等の機構部分を制御する機構制御回路１１４、磁気ディスク１１０へのデータの読み書き信号を制御する信号処理回路１１５、通信インタフェース回路１１６、各種コマンドやデータが入出力されるインタフェースコネクタ１１６、電源コネクタ１１７等を備えて構成される。なお、通信インタフェース回路１１６としては、例えば、ＳＣＳＩ１（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ  １）、ＳＣＳＩ２、ＳＣＳＩ３、ＦＣ−ＡＬ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ａｒｂｉｔｒａｔｅｄ  Ｌｏｏｐ）、ＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）等に対応したものが採用される。
【０００９】
このディスクドライブ１００において、磁気ディスク１１０の記憶領域は、シリンダ、トラック、及びセクタに区分されて管理される。このうちシリンダは、同軸に重ねられた複数枚の磁気ディスク１１０に円筒状に区画される領域である。またトラックは、各磁気ディスク１１０上に同心円状に区画される環状領域である。トラックには、例えば、最外周側のトラックから順にトラック番号が割り当てられる。セクタは、トラックを周方向に区分して区画される領域である。１つのトラック内における各セクタには、例えば、所定のセクタを開始位置として順にセクタ番号が割り当てられる。なお、この実施例で説明する磁気ディスク１１０には、１つのセクタに５１２ｂｙｔｅのデータを格納することができるものとする。
【００１０】
磁気ディスク１１０の各セクタには、前記データを検証するためのコードである１ｂｙｔｅのチェックコードが格納される。図２にチェックコードのデータ構造を示している。チェックコード２００は、ＣＰＵ等から発行される１つのデータ書き込み要求に起因してデータが書き込まれる一連のセクタにおけるそのセクタの位置を示す情報である位置データが格納される２ｂｉｔの領域である位置データ領域２１０と、ＣＰＵ等からデータ書き込み要求が発行されるごとに変化し前記一連のセクタについて関連づけて設定される情報である共通データが格納される６ｂｉｔの領域である共通データ領域２１１とを含んで構成される。
【００１１】
位置データ領域２１０には、位置データとして、そのセクタが前記一連のセクタのうちの先頭のセクタであることを示すデータである『１０』、そのセクタが前記一連のセクタのうちの末尾のセクタであることを示すデータである『０１』、そのセクタが一連のセクタのうち先頭のセクタであり、かつ、末尾のセクタでもある（すなわち、一連のセクタが一つのセクタである場合）ことを示す『１１』、そのセクタが前記一連のセクタのうちの先頭もしくは末尾のいずれのセクタでも無いことを示すデータである『００』のいずれかの値が設定される。また、この実施例では、共通データは、前記一連のセクタについて同値に設定されるものとし、共通データ領域２１１に、共通データとして、ＣＰＵ等からデータ書き込み要求が発生するごとにアルファベットが循環的に設定されるものとする。すなわち、共通データが同値であるかどうかをもって、そのセクタが前記一連のセクタに関連するセクタであるかどうかを判断することができる。なお、同値とする以外にも、例えば、整数順やアルファベット順など、順序性のあるデータを共通データとしても、１つのデータ書き込み要求に起因して書き込まれた一連のセクタであるかどうかを判断することができる。
【００１２】
本実施例の磁気ディスク１１０は、このようなチェックコードが付与されることにより、ヘッドの電圧不足や記録媒体上についた塵等の原因によるセクタ単位でのデータの書き込み漏れを検出することが可能である。
【００１３】
次に、チェックコードを用いてセクタ単位でのデータの書き漏れが検出される仕組みについて、図３及び図４とともに説明する。なお、図３及び図４において、例えば、「１０−Ａ」と示される場合、「−」の前の欄（この場合は「１０」）は位置データを、「−」の後の欄（この場合は「Ａ」）は共通データを示している。
【００１４】
まず、図３に示す例について説明する。図３（ａ）は、データの書き込みが行われる前における、磁気ディスク１１０上のセクタ（Ｎ）乃至（Ｎ＋４）の各セクタに格納されているチェックコードの内容を示している。この図において、セクタ（Ｎ）の位置データには、そのセクタがある書き込み要求に対応して書き込まれた一連のセクタのうちの先頭のセクタであることを示す「１０」が設定されている。また、セクタ（Ｎ＋４）の位置データには、そのセクタが上記一連のセクタのうちの末尾のセクタであることを示す「０１」が設定されている。また、セクタ（Ｎ＋１）乃至（Ｎ＋３）には、各セクタが上記一連のセクタのうちの先頭のセクタでも末尾のセクタでも無いことを示す「００」が設定されている。また、各セクタ（Ｎ）乃至（Ｎ＋４）の共通データには、全て共通に「Ａ」が設定されている。
【００１５】
この状態において、新たなデータ書き込み要求が発生し、磁気ディスクのセクタ（Ｎ＋２）乃至（Ｎ＋５）に対して図３（ｂ）に示す書き込みが行われたとする。ここでこの書き込みが正常に行われたとすれば、各セクタ（Ｎ）乃至（Ｎ＋５）の内容は、図３（ｃ）に示す内容になるはずであるが、ここで何らかの原因によりデータの書き込み漏れが発生し、それによりセクタ（Ｎ＋３）の内容が書き換えられずに図３（ｄ）のようになっていたとする。
【００１６】
このような場合、連続するセクタのそれぞれに書き込まれている前記共通データと前記位置データとを読み出して、連続する各セクタに書き込まれている前記位置データの関係に対する前記各セクタに書き込まれている前記共通データの関係に基づいてデータを検証することにより、セクタ（Ｎ＋３）のデータが異常であることを検知することが可能である。例えば、図３（ｄ）において、セクタ（Ｎ＋２）乃至セクタ（Ｎ＋５）に格納されているデータを順に読み出す場合、セクタ（Ｎ＋２）の位置データは「１０」となっているため、そのデータは一度の書き込み処理で書き込まれる一連のセクタのうちの先頭セクタであることが判明する。従って、続くセクタ（Ｎ＋３）の位置データは「００」もしくは「０１」になっていなければならないことになる。またセクタ（Ｎ＋２）の共通データは「Ａ」であり、かつ、位置データが「１０」となっているから、続くセクタ（Ｎ＋３）の共通データは「Ｂ」になっていなければならないことになる。そこで、セクタ（Ｎ＋３）の内容を読み出すと、位置データは「００」であるが、共通データの方は「Ｂ」でなければならないところ、「Ａ」になっており、これによりセクタ（Ｎ＋３）に格納されているデータが異常であることが検出されることになる。
【００１７】
次に、図４に示す例とともに検出の仕組みを説明する。図４（ａ）は、データの書き込みが行われる前における、磁気ディスク上のセクタ（Ｎ＋２）乃至（Ｎ＋５）の各セクタに格納されているチェックコードの内容を示している。この図において、セクタ（Ｎ＋２）の位置データには、そのセクタがある書き込み要求に対応して書き込まれた一連のセクタのうちの先頭のセクタであることを示す「１０」が設定されている。また、セクタ（Ｎ＋５）の位置データには、そのセクタが上記一連のセクタのうちの末尾のセクタであることを示す「０１」が設定されている。また、セクタ（Ｎ＋３）及び（Ｎ＋４）には、各セクタが上記一連のセクタのうちの先頭のセクタでも末尾のセクタでも無いことを示す「００」が設定されている。また、各セクタ（Ｎ＋２）乃至（Ｎ＋５）の共通データには、全て「Ａ」が設定されている。
【００１８】
この状態において、新たなデータ書き込み要求が発生し、磁気ディスクのセクタ（Ｎ）乃至（Ｎ＋３）に対して図４（ｂ）に示す書き込みが行われたとする。ここでこの書き込みが正常に行われたとすれば、各セクタ（Ｎ）乃至（Ｎ＋５）の内容は、図４（ｃ）に示す内容になるはずであるが、何らかの原因によりデータの書き込み漏れが発生し、それによりセクタ（Ｎ＋３）の内容が書き換えられず、図３（ｄ）のようになっていたとする。
【００１９】
この場合、連続するセクタのそれぞれに書き込まれている前記共通データと前記位置データとを読み出して、連続する各セクタに書き込まれている前記位置データの関係に対する前記各セクタに書き込まれている前記共通データの関係に基づいてデータを検証することにより、セクタ（Ｎ＋３）のデータが異常であることを検知することができる。例えば、図４（ｄ）において、セクタ（Ｎ）乃至セクタ（Ｎ＋５）に格納されているデータを順に読み出す場合、セクタ（Ｎ）の位置データは「１０」となっているため、そのデータは一度の書き込み処理で書き込まれる一連のセクタのうちの先頭セクタであることが判明する。従って、セクタ（Ｎ）に続くセクタ（Ｎ＋１）の位置データは、位置データとして「０１」が格納されているセクタが出現するまで、後続する各セクタの位置データは「００」になっていなければならないことになる。またセクタ（Ｎ）の共通データは「Ａ」であり、かつ、位置データが「１０」となっているから、位置データとして「０１」が格納されているセクタが出現するまで、後続する各セクタの共通データは「Ｂ」になっていなければならないことになる。しかしながら、セクタ（Ｎ＋３）では、まだ、位置データが「０１」のセクタが出現していないにもかかわらず共通データが「Ａ」となっているため、セクタ（Ｎ＋３）に格納されているデータが異常であることが検出されることになる。
【００２０】
なお、以上の説明は、チェックコードのデータサイズが１ｂｙｔｅの場合であったが、チェックコードはこのデータサイズに限定されるわけではない。とくに共通データについては、データサイズを大きく設定して変域を拡げることで、異なる書き込み要求に対して共通コードが同値となる頻度が減ることとなり、例えば、異なる書き込み要求によってデータが書き込まれている連続するセクタに同じ共通コードが設定されることが少なくなって、データの異常をより確実に検知することが可能となる。
【００２１】
＝＝＝第一応用例＝＝＝
次に、以上に説明したデータ検証の仕組みを応用した例について説明する。図５は第一応用例として説明するコンピュータ５００のブロック構成である。コンピュータ５００は、例えば、パーソナルコンピュータやワークステーション、もしくはメインフレームコンピュータ等である。コンピュータ５００は、ＣＰＵ５１０、ＲＡＭ・ＲＯＭなどのメモリ５１１、キーボードやマウス等の入力装置５１２、入力装置５１２を制御する入力装置制御部５１３、ディスプレイ等の表示装置５１４、表示装置５１４を制御する表示装置制御部５１５、フレキシブルディスク読取装置やＣＤ−ＲＯＭ装置、ＤＶＤ−ＲＯＭなどの記録媒体読取装置５１６、ディスクコントローラ５１７、一台以上のディスクドライブ５１８、等を備えて構成される。ディスクコントローラ５１７は、ディスクドライブ５１８に対するデータの書き込みや読み出しを行う。また、ディスクコントローラ５１７は、ディスクドライブ５１８をＲＡＩＤ（例えば、０，１，５）の仕組みで制御する機能を備えている。
【００２２】
このコンピュータ５００において、上述したチェックコードの付与や検証を行う上述の仕組みは、例えば、ＣＰＵ５１０により実行されるプログラムにより実現することができる。また、チェックコードの付与や検証は、ディスクコントローラ５１７において行う構成とすることもできる。チェックコードの付与や検証をディスクコントローラ５１７側で行う構成とすることによりＣＰＵ５１０側の負荷を軽減することができる。
【００２３】
また、ディスクコントローラ５１７がディスクドライブ５１８をＲＡＩＤ５の方式で制御している場合には、ディスクドライブ５１８のデータに異常が検知された場合に、そのデータが書き込まれていたセクタに対応するデータを他のディスクドライブ５１８により生成することができる。これによりコンピュータ５００の可用性・信頼性等を向上させることができる。
【００２４】
なお、ディスクドライブ５１８がＲＡＩＤ５の方式で制御されている場合には、データは所定のデータサイズのデータに分割されて分割された各データは複数のディスクドライブ５１８に分散されて書き込まれることになるが、この場合、チェックコードをディスクドライブ側で付与する方式以外の方式では、１つの書き込み要求により書き込まれる同じ共通データが付与された一連のデータが、複数のディスクドライブ５１８に分散して書き込まれることになる。このようなことは、とくに分割されたデータのデータサイズがセクタごとに書き込まれるデータのデータサイズに近いほど顕著に起こりうる。しかしながら、このような場合であっても、新たなデータが直前に書き込みが行われたセクタに連続するセクタに書き込まれる場合には、チェックコードを用いてデータの書き込み漏れを検出することが可能となる。
【００２５】
なお、チェックコードの付与や検証を行う仕組みは、例えば、ディスクドライブ５１８側に実装することができる。この場合には、例えば、チェックコードの付与や検証を行うためのソフトウエアを実行する回路をディスクドライブ５１８側に実装する。また、例えば、チェックコードの付与や検証を行うための回路をディスクドライブ５１８側に実装することができる。チェックコードの付与や検証を行う仕組みをディスクドライブ５１８側に実装した場合には、ＣＰＵ５１０やディスクコントローラ５１７の処理負荷が軽減される。なお、この場合にはチェックコードの検証により異常が検知されるとディスクドライブ５１８からＣＰＵ５１０に対して異常を検知したことを示す信号が出力されるようにしてもよい。
【００２６】
＝＝＝第二応用例＝＝＝
図６は第二の応用例として説明する、ディスクアレイ装置６００を含んで構成されるストレージシステムのブロック図である。ディスクアレイ装置６００には、通信路６４０を介して情報処理装置６５０がアクセスしてくる。なお、情報処理装置６５０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やメモリを備えた、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータ等のコンピュータである。通信路６４０の通信には、例えば、ＴＣＰ／ＩＰプロトコル、ファイバーチャネルプロトコル（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｐｒｏｔｏｃｏｌ）、ＦＩＣＯＮ（Ｆｉｂｒｅ  Ｃｏｎｎｅｃｔｉｏｎ）（登録商標）やＥＳＣＯＮ（Ｅｎｔｅｒｐｒｉｓｅ  Ｓｙｓｔｅｍ  Ｃｏｎｎｅｃｔｉｏｎ）  （登録商標）等の通信プロトコルが採用される。
【００２７】
ディスクアレイ装置６００は、チャネル制御部（通信制御部）６１０、ディスク制御部（Ｉ／Ｏ制御部）６２０、キャッシュメモリ６３０、共用メモリ６３１、これらを接続するスイッチ６３２、ディスクドライブ６３３等を備えて構成される。このうち、チャネル制御部６１０は、情報処理装置６５０との間での通信に関する機能を提供する通信インタフェース６１１、メモリ６１２、メモリ６１２に記憶されているプログラムを実行することによりチャネル制御部６１０の各種機能を実現するマイクロプロセッサ６１３、チャネル制御部６１０とキャッシュメモリ６３０との間での高速なデータ転送を実現するＩ／Ｏプロセッサ６１４等を備える。Ｉ／Ｏプロセッサ６１４としては、例えば、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）プロセッサが用いられる。スイッチ６３２としては、例えば、高速クロスバスイッチが用いられる。
【００２８】
ディスク制御部６２０は、メモリ６２１、前記メモリ６２１に記憶されているプログラムを実行することによりディスク制御部６２０の各種機能を実現するマイクロプロセッサ６２２、ディスクドライブ６３３に対するデータの書き込みや読み出しを行うディスクコントローラ６２３、キャッシュメモリ６３０やチャネル制御部６１０との間での高速なデータ転送を実現するＩ／Ｏプロセッサ６２４等を備える。Ｉ／Ｏプロセッサ６２４としては、例えば、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）プロセッサが用いられる。ディスクコントローラ６２３は、ディスクドライブ６３３をＲＡＩＤの方式（例えば、ＲＡＩＤ０，１，５）で制御する機能も提供する。
【００２９】
共有メモリ６３１及びキャッシュメモリ６３０は、例えば、制御情報やコマンド等を記憶するために利用される。キャッシュメモリ６３０は、例えば、ディスクドライブ６３３に書き込まれるデータやディスクドライブ６３３から読み出されたデータを記憶するために利用される。
【００３０】
次に、情報処理装置６５０から送信されてくるデータ書き込み要求やデータ読み出し要求などのデータ入出力要求を受信した場合におけるディスクアレイ装置６００の基本的な動作について説明する。まず、情報処理装置６５０からディスクアレイ装置６００に対してデータ書き込み要求が送信された場合について説明する。ディスクアレイ装置６００は、情報処理装置６５０から送られてくるデータ書き込み要求を受信すると、データ書き込みコマンドを共有メモリ６３１に書き込むと共に、情報処理装置６５０から受信した書き込みデータをキャッシュメモリ６３０に書き込む。ディスクアレイ装置６００は、キャッシュメモリ６３０へのデータの書き込みが完了すると、情報処理装置６５０に書き込み完了報告を送信する。すなわち、情報処理装置６５０への完了報告は、ディスクドライブ６３３への実際のデータの書き込み動作とは非同期に行われる。ディスク制御部６２０は、リアルタイム（例えば、一定の時間間隔で）に共有メモリ６３１の内容を監視している。ディスク制御部６２０は、この監視により共有メモリ６３１にデータ書き込みコマンドが書き込まれていることを検知すると、キャッシュメモリ６３０から書き込み対象となるデータ（以下、書き込みデータと称する）を読み出して、読み出した書き込みデータをディスクドライブ６３３に書き込む。以上のようにしてデータ書き込み要求に対応したディスクドライブ６３３へのデータの書き込みが行われる。
【００３１】
次に、情報処理装置６５０からディスクアレイ装置６００に対してデータ書き込み要求が送信された場合におけるディスクアレイ装置６００の基本的な動作について説明する。ディスクアレイ装置６００は、情報処理装置６５０から送られてくるデータ読み出し要求を受信すると、この要求に対応するデータ読み出しコマンドをディスク制御部６２０に送出する。なお、チャネル制御部６１０からディスク制御部６２０へのデータ読み出しコマンドの伝達は、共有メモリ６３１を介して行われることもある。
【００３２】
ディスク制御部６２０は、チャネル制御部６１０からデータ読み出しコマンドを受領すると、そのコマンドに指定されている読み出し対象のデータをディスクドライブ６３３から読み出して、読み出したデータをキャッシュメモリ６３０に書き込む。ディスク制御部６２０は、キャッシュメモリ６３０へのデータ転送が完了すると、その旨をチャネル制御部６１０に通知する。そして前記通知を受信したチャネル制御部６１０は、キャッシュメモリ６３０に記憶されている読み出し対象のデータを情報処理装置６５０に転送する。
【００３３】
ところで、以上の構成からなるディスクアレイ装置６００において、上述のデータ検証の仕組みを、例えば、そのための機能をチャネル制御部６１０及びディスク制御部６２０に実装することにより実現することができる。以下では、チェックコードの付与及び検証をそのチャネル制御部６１０で行うように構成した実施形態について説明する。
【００３４】
図７は、ディスクアレイ装置６００が情報処理装置６５０からデータ書き込み要求を受信した場合にディスクアレイ装置６００において行われる処理を説明するフローチャートである。チャネル制御部６１０のマイクロプロセッサ６１３は、情報処理装置６５０からデータ書き込み要求を受信すると（Ｓ７１０）、このデータ書き込み要求とともに送られてくる書き込み対象となるデータ（以下、書き込みデータと称する）をメモリ６１２に記憶する（Ｓ７１１）。次に、マイクロプロセッサ６１３は、Ｉ／Ｏプロセッサ６１４のレジスタもしくはメモリ６１２上に記憶される変数であるブロックカウンタを初期化するとともに（Ｓ７１２）、Ｉ／Ｏプロセッサ６１４に対して上記書き込みデータについてのキャッシュメモリ６３０への転送指示を送出する（Ｓ７１３）。ここでは、上記初期化によりブロックカウンタにはブロック番号として『ｎ』が設定されるものとする。また、マイクロプロセッサ６１３は、書き込みデータをブロックサイズで除算することにより前記書き込みデータに対応するブロック数を計算し、計算したブロック数を、メモリ６１２に記憶される変数である最大ブロックカウンタに設定する（Ｓ７１４）。
【００３５】
Ｉ／Ｏプロセッサ６１４は、上記転送指示を受領すると、メモリ６１２に記憶されている書き込みデータのうち所定のデータサイズ（例えば５１２ｂｙｔｅ）分のデータを読み出す（Ｓ７１５）。また、Ｉ／Ｏプロセッサ６１４は、位置データを『１０』に、共通データを『Ａ』にそれぞれ設定したチェックコードを生成し（Ｓ７１６）、読み出したブロックサイズ分の上記データに上記生成したチェックコードを付帯させた１セクタ分のデータを生成し、これをキャッシュメモリ６３０に記憶する（Ｓ７１７）。なお、キャッシュメモリ６３０に書き込まれる１セクタ分のデータには、そのデータがいずれの書き込み命令によって書き込まれたデータであるのかを示すデータが付帯される。
【００３６】
次にＩ／Ｏプロセッサ６１４は、ブロックカウンタをカウントアップ（インクリメント）して『ｎ＋１』とし（Ｓ７１８）、カウントアップ後のブロックカウンタの値と最大ブロックカウンタの値を比較して、ブロックカウンタの値が最大ブロックカウンタの値を超えていないかどうかを調べる（Ｓ７１９）。ここで超えている場合には（Ｓ７１９：ＹＥＳ）、マイクロプロセッサ６１３は、データ書き込み要求に対応する全ての書き込みデータをキャッシュメモリ６３０に書き込んだものと判断し、上記データ書き込み要求に対する書き込み完了通知を通信路６４０を介して情報処理装置６５０に送信する（Ｓ７２０）。また、このときマイクロプロセッサ６１３は、共有メモリ６３１にデータ書き込みコマンドを書き込む。ここで共有メモリ６３１に書き込まれるデータ書き込みコマンドには、共有メモリ６３１に存在する各データ書き込みコマンドを識別するための情報や、その書き込みコマンドに対応する書き込みデータのキャッシュメモリ６３０上の位置を特定する情報（例えば、キャッシュメモリ６３０の記憶領域を管理するためのアドレス）等が付帯する。また、マイクロプロセッサ６１３は、データ書き込み要求を次回受信した場合に備え、共通データの値をカウントアップする（Ｓ７２１）。一方、（Ｓ７１９）において、ブロックカウンタの値が最大ブロックカウンタの値を超えていない場合には（Ｓ７１９：ＮＯ）、（Ｓ７１５）からの処理を繰り返し実行する。
【００３７】
ディスク制御６２０部のマイクロプロセッサ６２４は、共有メモリ６３１の内容をリアルタイムに監視している。この監視は、例えば、一定の時間間隔（例えば、数μＳごとに）で行われる。ディスク制御部６２０は、上記監視により、新たにデータ書き込み要求が共有メモリ６３１に書き込まれたことを検知すると、キャッシュメモリ６３０に記憶されている書き込みデータについて、そのディスクドライブ６３３への書き込み処理を開始する。
【００３８】
ディスク制御部は６２０、共有メモリ６３１の書き込みコマンドに付帯する情報からその書き込みコマンドに対応する書き込みデータのキャッシュメモリ６３０上の位置を特定し、特定されたアドレスに記録されている書き込みデータのディスクドライブ６３３への書き込み処理を開始する。なお、ここで書き込み先となるディスクドライブ６３３が、例えば、ＲＡＩＤ５によって制御されている場合には、書き込みデータは複数のデータに分割され、分割された各データは複数のディスクドライブ６３３に分散して書き込まれる。また、書き込みに際してはディスクコントローラ６２３においてパリティの計算が行われ、計算されたパリティがパリティ格納用に指定されているディスクドライブ６３３（以下、パリティドライブと称する）に格納される。パリティ計算に際しては、ディスクコントローラ６２３は、書き込み先となるディスクドライブ６３３のそれぞれの書き込み位置に記憶されている一群のデータ（以下、ストライプデータと称する）を読み出して、読み出したストライプデータをメモリ６２１に格納する。次にディスクコントローラ６２３は、ストライプデータに対して今回の書き込みデータによる書き込み処理を反映し、また、前記書き込み処理が反映された後のストライプデータについてパリティ計算を実行し直す。そして、ディスクコントローラ６２３は、計算した上記パリティをパリティドライブに格納するとともに、書き込み処理反映後のストライプデータを、それぞれ該当の各ディスクドライブの元の位置に格納する。なお、このようにディスクドライブ６３３からストライプデータを読み出して書き込み処理を反映し、書き込み処理反映後のストライプデータについてパリティを計算し直し、計算されたパリティ及び書き込み処理反映後のストライプデータを再びディスクドライブ６３３に格納するまでの一連の処理は、リード・モディファイ・ライト（Ｒｅａｄ  Ｍｏｄｉｆｙ  Ｗｒｉｔｅ）処理とも称される。
【００３９】
ＲＡＩＤ５の他、書き込み先となるディスクドライブ６３３が、例えば、ＲＡＩＤ１の方式によって制御されている場合には、ディスクコントローラ６２３は、データの書き込みに際し、複製元に設定されているディスクドライブ６３３にデータを書き込むとともに、複製先に設定されているディスクドライブにもデータを書き込む。
【００４０】
このように、ディスクアレイ装置が情報処理装置からデータ書き込み要求を受信した場合に、ディスクアレイ装置において以上に説明した処理が実行されることにより、情報処理装置６５０から送信されてくる１つのデータ書き込み要求に起因してデータが書き込まれる、ディスクドライブ６３３の磁気ディスクの一連のセクタには、それぞれそのセクタの前記一連のセクタにおける位置を示す情報である位置情報と、前記一連のセクタへの書き込みが発生するごとに変化し前記一連のセクタについて関連づけて設定される情報である共通データとが設定されたチェックコードが書き込まれることになる。
【００４１】
＜データ読み出し要求受信時の処理＞
次にディスクアレイ装置６００が情報処理装置６５０からデータ読み出し要求を受信した際に行われるデータ検証の仕組みについて、図８に示すフローチャートとともに説明する。
【００４２】
チャネル制御部６１０は、データ読み出し要求を受信すると（Ｓ８１１）、ディスク制御部６２０に対してデータ読み出しコマンドを送信する（Ｓ８１２）。ディスク制御部６２０は、読み出しコマンドを受信すると、ディスクドライブ６３３に対してデータの読み出し指示を送信する（Ｓ８１３）。ディスク制御部６２０は、ディスクドライブ６３３側でデータ転送の準備が完了したことを検知すると、その旨がチャネル制御部６１０に通知され、ディスクドライブ６３３からチャネル制御部６１０に対して読み出し対象のデータの転送が開始される（Ｓ８１４）。このデータ転送に際し、まず、チャネル制御部６１０のメモリ６２１上に記憶される変数であるチェックフラグに『ＯＦＦ』が設定される。また、読み出し対象データが記憶されているセクタを特定するために用いるカウンタであるブロックカウンタに『０』が設定される。また、最大ブロックカウンタに、上記データ読み出し要求で読み出されるデータをブロックサイズで除算することにより求められる、上記データ読み出し要求で読み出されるブロック数が設定される（Ｓ８１５）。次に、ブロックカウンタの値がカウントアップ（１を加算）される（Ｓ８１６）。そして、Ｉ／Ｏプロセッサ６２４は、ディスクドライブ６３３から読み出されるデータのうち、ブロックカウンタで指定されるセクタ（以下、処理中セクタと称する）に格納されているデータの位置データが『０１』であるかどうかを調べる（Ｓ８１７）。ここで位置データが『０１』であった場合には（Ｓ８１７：０１）、チェックフラグが『ＯＮ』であるかどうかを調べ（Ｓ８１８）、その結果、チェックフラグが『ＯＮ』であった場合には（Ｓ８１８：ＹＥＳ）、処理中セクタの共通データが１つ前のセクタの共通データと比較され（Ｓ８１９）、双方が一致しなければ（Ｓ８１９：ＮＯ）、処理中セクタに格納されているデータに異常があると判断してエラーに対応した処理を行う（Ｓ８２０）。ここでこのエラー対応処理では、例えば、チャネル制御部６１０のＩ／Ｏプロセッサ６１２がディスク制御部６２０のＩ／Ｏプロセッサ６２４に対してエラーが発生したことを通知し、ディスク制御部６２０のＩ／Ｏプロセッサ６２４が、例えばＲＡＩＤ５方式に従って処理セクタのデータを再生し、これを情報処理装置６５０に転送する。なお、この場合には再生されたデータをディスクドライブ６３３の処理セクタに書き込んで、ディスクドライブ６３３の処理セクタのデータを修復するようにしてもよい。
【００４３】
（Ｓ８１９）において、共通データが一致する場合には（Ｓ８１９：ＹＥＳ）、チェックフラグを『ＯＦＦ』に設定し（Ｓ８２１）、次に（Ｓ８３８）の処理に進む。また、（Ｓ８１８）において、チェックフラグが『ＯＦＦ』であった場合には、そのまま（Ｓ８３８）の処理に進む。
【００４４】
（Ｓ８１７）の処理において、位置データが『０１』以外であった場合（Ｓ８１７：０１以外）には、（Ｓ８３０）の処理に進む。（Ｓ８３０）の処理において、位置データが『１０』であった場合には（Ｓ８３０：１０）、Ｉ／Ｏプロセッサ６１４はチェックフラグを『ＯＮ』に設定する（Ｓ８３１）。また処理中セクタの共通データの値をメモリ６１２に記憶する（Ｓ８３２）。
【００４５】
（Ｓ８３０）の処理において、位置データが『００』であった場合には、次に（Ｓ８３５）の処理に進む（Ｓ８３５：００）。（Ｓ８３５）の処理では、Ｉ／Ｏプロセッサ６１４は、チェックフラグが『ＯＮ』であるかどうかを調べる（Ｓ８３５）。ここでチェックフラグが『ＯＮ』でなかった場合には（Ｓ８３５：ＮＯ）、（Ｓ８３１）の処理に進む。また、チェックフラグが『ＯＮ』であった場合には（Ｓ８３５：ＹＥＳ）、（Ｓ８３２）で記憶した共通データと処理中セクタの共通データとを比較して、双方が一致しなければ（Ｓ８３６：ＮＯ）、処理中セクタに格納されているデータに異常があると判定して上述と同様のエラー処理を行う（Ｓ８３７）。また、共通データが一致する場合には（Ｓ８３６：ＹＥＳ）、（Ｓ８３８）の処理に進み、処理中セクタに格納されているデータがディスク制御部６２０のＩ／Ｏプロセッサ６２４によりキャッシュメモリ６３０に転送される（Ｓ８３８）。
【００４６】
続く（Ｓ８４０）の処理では、チャネル制御部６１０のＩ／Ｏプロセッサ６１４は、ブロックカウンタが最大ブロックカウンタに一致するかどうかを調べ（Ｓ８４０）、一致しない場合には（Ｓ８４０：ＮＯ）、次に（Ｓ８１６）の処理へと進み、後続するセクタについての処理を開始する。
【００４７】
一方、ブロックカウンタが最大ブロックカウンタに一致する場合には（Ｓ８４０：ＹＥＳ）、ディスク制御部６２０からチャネル制御部６１０にキャッシュメモリ６３０へのデータの転送が終了した旨が通知され（Ｓ８４１）、チャネル制御部６１０が前記通知を受信するとチャネル制御部６１０のＩ／Ｏプロセッサ６１４によりキャッシュメモリ６３０に記憶されているデータが情報処理装置６５０に転送される（Ｓ８４２）。なお、以上の処理では、位置データが『１１』である場合には、『０１』であるものと判定されてしまうが（Ｓ８１７）、『１０』であると判定して処理させるようにしてもよく、図８の処理では、（Ｓ８１７）の分岐と（Ｓ８３０）の分岐の前後関係が逆であってもよい。
【００４８】
ところで、以上に説明した実施例では、チェックコードの付与および検証をチャネル制御部６１０で行うようにしているが、これらはディスク制御部６２０で行うようにしてもよい。また、チェックコードの付与をチャネル制御部６１０で行い、検証はディスク制御部６２０で行うようにしてもよい。また、チェックコードの付与はディスク制御部６２０で行い、検証はチャネル制御部６１０で行う構成としてもよい。
【００４９】
また、以上に説明した実施例では、チェックコードの検証をデータの読み出し時に行っているが、情報処理装置６５０からのデータ書き込み要求に応じてチャネル制御部６１０でチェックコードを付与する場合には、データの書き込み時において、ディスク制御部６２０でチェックコードを検証するようにしてもよい。このような構成とすることで、例えば、チャネル制御部６１０でチェックコードが付与された後に書き込みデータに生じたデータの欠損等の異常を、ディスク制御部６２０側で検知することができる。
【００５０】
また、第一の応用例でも説明したように、ディスクドライブ６３３へのデータの書き込みをＲＡＩＤ５の方式で行っている場合には、上述のリード・モディファイ・ライトの実行に際してチェックコードの検証やチェックコードの付与を行う構成としてもよい。
【００５１】
また、第一の応用例でも説明したように、チェックコードの付与や検証を行う仕組みを、例えば、ディスクドライブ６３３側に実装するようにしてもよい。この場合、例えば、チェックコードの付与や検証を行うためのソフトウエアを実行する回路をディスクドライブ６３３に実装する。また、例えば、チェックコードの付与や検証を行うための回路をディスクドライブ６３３に実装する。このようにチェックコードの付与や検証をディスクドライブ６３３側で行うようにすることで、ディスク制御部６２０やチャネル制御部６１０の処理負荷を軽減することができる。なお、チェックコードの検証により異常を検知した場合には、ディスクドライブ６３３からディスク制御部６２０やチャネル制御部６１０に対して異常を検知したことを示す信号を出力するようにしてもよい。
【００５２】
以上に説明した実施例では、記録媒体がディスクドライブの磁気ディスクである場合について説明したが、記録媒体は、例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等であってもよい。また、本実施例によるデータ検証の仕組みは、データ通信にも応用することができる。
【００５３】
なお、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは勿論である。
【００５４】
【発明の効果】
この発明によれば、セクタ単位でのデータの書き漏れをより確実に検出することが可能な、データ書き込み方法、データ検証方法、コンピュータの制御方法、コンピュータ、ディスクアレイ装置、及びディスクドライブを提供することができる。
【図面の簡単な説明】
【図１】本発明の一実施例による、ディスクドライブの構造を示す図である。
【図２】本発明の一実施例による、チェックコードのデータ構造を示す図である。
【図３】本発明の一実施例による、チェックコードを用いてセクタ単位でのデータの書き漏れが検出される仕組みを説明する図である。
【図４】本発明の一実施例による、チェックコードを用いてセクタ単位でのデータの書き漏れが検出される仕組みを説明する図である。
【図５】本発明の一実施例による、第一応用例として説明するコンピュータのブロック図を示す図である。
【図６】本発明の一実施例による、第二応用例として説明するストレージシステムのブロック図を示す図である。
【図７】本発明の一実施例による、ディスクアレイ装置が情報処理装置からデータ書き込み要求を受信した場合にディスクアレイ装置において行われる処理を説明するフローチャートである。
【図８】本発明の一実施例による、ディスクアレイ装置が情報処理装置からデータ読み出し要求を受信した場合にディスクアレイ装置において行われる処理を説明するフローチャートである。
【符号の説明】
１００  ディスクドライブ
１１０  磁気ディスク
２００  チェックコード
２１０  位置データ領域
２１１  共通データ領域
５００  コンピュータ
５１０  ＣＰＵ
５１１  メモリ
５１７  ディスクコントローラ
５１８  ディスクドライブ
６００  ディスクアレイ装置
６１０  チャネル制御部
６２０  ディスク制御部
６２４  Ｉ／Ｏプロセッサ
６３０  キャッシュメモリ
６３１  共有メモリ
６３３  ディスクドライブ
６５０  情報処理装置
【図１】
2004318485.tif 000003
【図２】
2004318485.tif 000004
【図３】
2004318485.tif 000005
【図４】
2004318485.tif 000006
【図５】
2004318485.tif 000007
【図６】
2004318485.tif 000008
【図７】
2004318485.tif 000009
【図８】
2004318485.tif 000010