(57)【要約】【課題】  キャッシュ制御において、バッファメモリを有効活用することにより、バッファメモリの容量不足によるデータのアクセス時間の遅延を回避できる磁気ディスク装置を提供する。【解決手段】  ホスト１００からライトコマンドを受け取ると、バッファ制御部２００は、バッファ３００の適宜なブロック３１０に一旦データを受け入れ、データパターン比較部２２０が受け入れたデータを、他のブロック３１０に格納されているデータと比較する。その結果、同じデータパターンのブロックがあれば、バッファ制御部２００が、同一のデータパターンを持つブロックのうち１ブロックのみを残し、残りを開放する。【選択図】        図１
2006286083.tif 000002
【特許請求の範囲】
【請求項１】
ホストから転送されるデータを一時的に格納するバッファと、
前記バッファを複数のブロックに分割する分割管理手段と、
前記複数ブロックに格納されているデータのパターンを相互に比較するデータパターン比較手段と、
前記比較手段による比較の結果、同一のデータパターンを持つブロックがある場合に、そのうち１ブロックのみを残し、残りを開放するブロック開放手段と、
を備えることを特徴とする磁気ディスク装置。
【請求項２】
請求項１記載の磁気ディスク装置において、前記開放したブロックを、バッファとして使用することを特徴とする磁気ディスク装置。
【請求項３】
請求項１記載の磁気ディスク装置において、前記分割管理手段は、ライトコマンドを登録し、データの授受が行われるバッファ上のアドレスと磁気ディスク上のアドレスとの関係を保持するコマンド情報管理テーブルと、ライトコマンドを登録し、バッファにおけるデータ管理用のデータを保持するバッファブロック管理テーブルとを有することを特徴とする磁気ディスク装置。
【請求項４】
請求項１記載の磁気ディスク装置において、前記データパターン比較手段は、比較対照のブロックから所定の大きさのデータを読み出しつつ比較することを特徴とする磁気ディスク装置。
【請求項５】
請求項１記載の磁気ディスク装置において、前記データパターン比較手段は、比較対照のブロック毎にデータを読み出しつつ比較することを特徴とする磁気ディスク装置。
【請求項６】
請求項１記載の磁気ディスク装置において、前記データパターンが同一とは、ブロックが保持するデータが全て一致することであることを特徴とする磁気ディスク装置。
【請求項７】
請求項３記載の磁気ディスク装置において、前記ブロック開放手段は、バッファブロック管理テーブルが保持するバッファのデータの状態を初期状態に変更することにより行うことを特徴とする磁気ディスク装置。
【請求項８】
ホストから転送されるデータを一時的にバッファに格納するステップと、
前記バッファを複数のブロックに分割するステップと、
前記複数ブロックに格納されているデータのパターンを相互に比較するステップと、
前記比較の結果、同一のデータパターンを持つブロックがある場合に、そのうち１ブロックのみを残し、残りを開放するステップと、
を備えることを特徴とする磁気ディスク装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は磁気ディスク装置、特にホストコンピュータから転送されるデータを格納するバッファを有効活用することができる磁気ディスク装置に関する。
【背景技術】
【０００２】
磁気ディスクを記憶媒体にしている磁気ディスク装置等は、大容量のデータを低コストで保存できるが、機械的な稼動部を持つため、アクセス速度が遅いという問題がある。このような問題点を改善するため、バッファを利用することが従来から行われている。
【０００３】
従来のバッファを利用する磁気ディスク装置においては、ホストコンピュータ等の上位装置からライトコマンドが発行され、データの磁気ディスクへの書き込みが指示された時には、データが上位装置からハードディスクコントローラ（ＨＤＣ）に送られ、一旦バッファに蓄えられる。ＨＤＣは、データを書き込む磁気ディスク上のアドレスを決定し、指定されたセクタ位置にライトヘッドを移動するようサーボコントローラに命令を出す。サーボコントローラはＲ／Ｗ（リード／ライト）アンプ、Ｒ／Ｗチャネルを介して得られた磁気ディスク上に書かれたサーボ情報に基づき、所望するセクタが存在するトラックへライトヘッドを移動させる。ＨＤＣは、回転する磁気ディスクのトラック上で指定したセクタのタイミングに合わせてライトデータをバッファからＲ／Ｗチャネルへ出力する。ライトデータはＲ／Ｗチャネル、Ｒ／Ｗアンプで書き込みに適した形式に符号化された後、ライトヘッドで磁気ディスクに書き込まれる。
【０００４】
下記特許文献１にも、ホストコンピュータとディスク駆動機構のディスクとの間にバッファを備えた磁気ディスク装置において、ディスク駆動機構のバッファとの間のデータの転送を管理するバッファ管理システムが開示されている。
【特許文献１】特表２００３−５１８３１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記従来の磁気ディスク装置においては、キャッシュ制御に使用するバッファメモリの大きさが小さく、転送するデータの容量が増加するに従い、バッファメモリの容量が不足し、データのアクセス時間が遅延するという問題があった。
【０００６】
本発明は、上記従来の課題に鑑みなされたものであり、その目的は、キャッシュ制御において、バッファメモリを有効活用することにより、バッファメモリの容量不足によるデータのアクセス時間の遅延を回避できる磁気ディスク装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明は、磁気ディスク装置であって、ホストから転送されるデータを一時的に格納するバッファと、前記バッファを複数のブロックに分割する分割管理手段と、前記複数ブロックに格納されているデータのパターンを相互に比較するデータパターン比較手段と、前記比較手段による比較の結果、同一のデータパターンを持つブロックがある場合に、そのうち１ブロックのみを残し、残りを開放するブロック開放手段と、を備えることを特徴とする。ここで、上記開放したブロックは、バッファとして使用される。
【０００８】
また、上記分割管理手段は、ライトコマンドを登録し、データの授受が行われるバッファ上のアドレスと磁気ディスク上のアドレスとの関係を保持するコマンド情報管理テーブルと、ライトコマンドを登録し、バッファにおけるデータ管理用のデータを保持するバッファブロック管理テーブルとを有することを特徴とする。
【０００９】
また、上記データパターン比較手段は、比較対照のブロックから所定の大きさのデータを読み出しつつ比較するか、または比較対照のブロック毎にデータを読み出しつつ比較することを特徴とする。
【００１０】
ここで、上記データパターンが同一とは、ブロックが保持するデータが全て一致することである。
【００１１】
また、上記ブロック開放手段は、バッファブロック管理テーブルが保持するバッファのデータの状態を初期状態に変更することにより行うことを特徴とする。
【００１２】
また、本発明は、磁気ディスク装置の制御方法であって、ホストから転送されるデータを一時的にバッファに格納するステップと、前記バッファを複数のブロックに分割するステップと、前記複数ブロックに格納されているデータのパターンを相互に比較するステップと、前記比較の結果、同一のデータパターンを持つブロックがある場合に、そのうち１ブロックのみを残し、残りを開放するステップと、を備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ドキュメントを保存するためのファイルを作成するときに、バッファメモリ中に存在する同一のデータパターンを重複して持つブロックを開放するので、バッファメモリを有効活用でき、バッファメモリの容量不足によるデータのアクセス時間の遅延を回避できる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明を実施するための最良の形態（以下、実施形態という）を、図面に従って説明する。
【００１５】
図１には、本発明にかかる磁気ディスク装置の構成例のブロック図が示される。図１において、磁気ディスク装置は、バッファ制御部２００、バッファ３００、磁気ディスク４００、リード／ライト（Ｒ／Ｗ）制御部５００及びリード／ライト（Ｒ／Ｗ）部５１０を含んで構成され、ホスト１００との間でデータの授受を行う。
【００１６】
バッファ制御部２００は、ホスト１００が発行したライトコマンド（書込命令）を受け取り、バッファ３００へのデータの書き込みを制御する。このバッファ制御部２００には、コマンド情報管理テーブル２１０、データパターン比較部２２０及びバッファブロック管理テーブル２３０が含まれる。
【００１７】
コマンド情報管理テーブル２１０は、バッファ制御部２００がホスト１００から受け取ったライトコマンドを登録し、データの授受が行われるバッファ３００上のアドレスと磁気ディスク４００上のアドレスとの関係を保持する。
【００１８】
データパターン比較部２２０は、後述するバッファ３００のデータ記憶領域を構成する各ブロックに記憶されたデータを読み出して比較する。データパターン比較部２２０によるデータ比較処理については、後に詳述する。
【００１９】
バッファブロック管理テーブル２３０は、ホスト１００から受け取ったライトコマンドを登録し、後述するバッファ３００におけるデータ管理用のデータを保持する。
【００２０】
バッファ３００は、ホスト１００と磁気ディスク４００との間でデータを一時的に保存する。このバッファ３００のデータ記憶領域は、ブロック３１０を単位として構成されている。ブロック３１０の記憶容量は、例えば５１２バイトとされる。
【００２１】
Ｒ／Ｗ制御部５００は、バッファ３００に保存されたデータを磁気ディスク４００に書き込み、及び磁気ディスク４００からデータを読み出す処理を制御する。
【００２２】
Ｒ／Ｗ部５１０は、Ｒ／Ｗチャネル、Ｒ／Ｗアンプ、サーボコントローラ、ライトヘッド、リードヘッド等を含んで構成され、Ｒ／Ｗ制御部５００に制御されて磁気ディスク４００に書き込み、及び磁気ディスク４００からデータを読み出す処理を実行する。
【００２３】
例えば、磁気ディスク４００へのデータの書き込みの場合、Ｒ／Ｗ制御部５００が、ホスト１００が発行したライトコマンドに基づいて書き込みを行う磁気ディスク４００上のアドレスを決定し、指定されたセクタ位置にライトヘッドを移動するようＲ／Ｗ部５１０のサーボコントローラを制御する。サーボコントローラが所望するセクタが存在するトラックへライトヘッドを移動させると、Ｒ／Ｗ制御部５００は、磁気ディスク４００のトラック上で指定したセクタのタイミングに合わせ、バッファ３００からデータを読み出してＲ／Ｗ部５１０のＲ／Ｗチャネルへ出力する。このデータは、Ｒ／Ｗアンプを介してライトヘッドで磁気ディスク４００に書き込まれる。
【００２４】
以上に述べたバッファ制御部２００とＲ／Ｗ制御部５００によりハードディスクコントローラ（ＨＤＣ）が構成される。
【００２５】
図２（ａ）、（ｂ）には、上記コマンド情報管理テーブル２１０及びバッファブロック管理テーブル２３０の構成例が示される。
【００２６】
図２（ａ）において、コマンド情報管理テーブル２１０は、ホスト１００が発行したライトコマンドを登録し、コマンド情報、仮想アドレス及び状態を項目として含む。コマンド情報はアドレスとサイズとを含み、アドレスは磁気ディスク４００上において、ホスト１００からのデータが書き込まれる論理的な位置を表すＬＢＡやＣＨＳなどのアドレスであり、サイズはこのアドレスのサイズであって、何れも上記ライトコマンドにより指示される。なお、サイズはバッファ３００において物理的に連続するブロック３１０の数として表現される。ブロック３１０は固定サイズであり、例えば５１２バイト等の容量とされる。
【００２７】
また、仮想アドレスは、セグメント番号と先頭インディクスを含む。セグメント番号は、バッファ３００を可変サイズの記憶領域に分割したセグメントの識別番号である。各セグメントには、１個または複数のブロック３１０が含まれ、このブロック３１０の数が上記コマンド情報のサイズに対応している。また、インディクスは上記セグメント内の相対的な位置を示すためにセグメントを構成するブロックに順次付与した番号であり、先頭インディクスは先頭のブロックの番号である。これらのセグメント番号及び先頭インディクスは、バッファ制御部２００が指定する。
【００２８】
また、状態は、各セグメント毎の状態を示しており、下記のように表される。
無効    :初期状態
未読込み:バッファ３００へホスト１００からのデータを読入れる前の状態。
未書込み:バッファ３００から磁気ディスク４００へデータを書出す前の状態。
有効    :バッファ３００から磁気ディスク４００へデータを書出した後の状態。
【００２９】
次に、図２（ｂ）において、バッファブロック管理テーブル２３０は、仮想アドレス、サイズ、物理アドレス及び状態を項目として含む。
【００３０】
仮想アドレスには、セグメント番号と先頭インディクスを含み、これらは図２（ａ）のコマンド情報管理テーブル２１０の同名の項目に対応している。バッファ３００においては、各セグメントは、バッファ制御部２００が決定したブロック数毎に分割されて管理される。例えばセグメント番号２においては、２５６個のブロックが１２８個ずつ２つの部分に分割されている。このため先頭インディクスは、０と１２８の２つになる。また、セグメント番号３においては、２４個のブロックが８個ずつ３つの部分に分割されている。このため先頭インディクスは、０と８と１６の３つになる。
【００３１】
また、サイズは各セグメントを構成するブロック３１０の数であり、上記分割されて管理されているセグメントでは、分割部分毎のブロック３１０の数である。
【００３２】
また、物理アドレスは、バッファを固定サイズのブロック３１０に分けて先頭から順番に付けた番号で表す。なお、状態は、図２（ａ）のコマンド情報管理テーブル２１０の場合と同様である。
【００３３】
以上のように、コマンド情報管理テーブル２１０及びバッファブロック管理テーブル２３０は、バッファ３００を複数のブロックに分割して管理するために使用され、本発明にかかる分割管理手段に相当する。
【００３４】
また、バッファ制御部２００は、コマンド情報管理テーブル２１０の仮想アドレスを、バッファブロック管理テーブル２３０の仮想アドレスを介してバッファ３００の物理アドレスに変換することができる。これにより、ホスト１００から発行されたライトコマンドにより指示され、コマンド情報管理テーブル２１０のコマンド情報に登録された磁気ディスク４００上のアドレスに、バッファ３００の何れの物理アドレスにあるデータを書き込むかを判断することができる。
【００３５】
図３には、図１の磁気ディスク装置におけるバッファ制御部２００の詳細な構成が示される。図３において、バッファ制御部２００は、バッファマネージャ２５０、アドレス制御部２４０、データ制御部２６０及びデータパターン比較部２２０を含んで構成されている。また、前述したコマンド情報管理テーブル２１０及びバッファブロック管理テーブル２３０は、上記アドレス制御部２４０に含まれている。
【００３６】
バッファマネージャ２５０は、アドレス制御部２４０、データパターン比較部２２０、データ制御部２６０等とバッファ３００との間のデータ転送を制御する。具体的には、ホスト１００からライトコマンドが発行されると、このライトコマンドに基づいてコマンド情報管理テーブル２１０とバッファブロック管理テーブル２３０の内容変更、削除等を行う。また、コマンド情報管理テーブル２１０及びバッファブロック管理テーブル２３０の内容に応じて、バッファマネージャ２５０がデータパターン比較部２２０及びデータ制御部２６０に指示してバッファ３００と磁気ディスク４００との間のデータの読み込み、書き出しを実行させる。
【００３７】
データ制御部２６０は、バッファマネージャ２５０からの指示に基づき、後述するＨＢＩ２６１、ＳＡＩＬ２６２、ＤＭ２６３、ＤＦ２６４、ＥＣＵ２６５の各モジュール及びバッファ３００とのデータの授受を制御する。
【００３８】
ここで、上記ＨＢＩ(Host Bus Interface)２６１は、ホスト１００から発行されるコマンドに応じて、ホスト１００とバッファ３００との間のデータ転送を制御する。また、ＳＡＩＬ（Servo And Id Less）２６２は、Ｒ／Ｗ制御部５００から取得したサーボ情報に基づいて、磁気ディスク４００における物理セクタ番号ＰＳＮ（Physical Sector Number）の生成等を行う。また、ＤＭ（Defect Manager）２６３は、上記ＳＡＩＬ２６２で生成されるＰＳＮをＬＳＮ（Logical Sector Numbers）へ変換する。また、ＰＳＮに対応したセクタが正常なセクタであるか否かを判定し、その結果をＤＦ（Disk Formatter）２６４へ出力する。また、ＤＦ（Disk Formatter）２６４は、磁気ディスク４００上の物理セクタのＩＤチェックを行い、目標セクタを発見した場合、Ｒ／Ｗチャンネルとバッファマネージャ２５０及びＥＣＵ（Error Correcting Unit）２６５間のデータ転送制御をおこなう。また、ＥＣＵ２６５は、磁気ディスク４００で発生したデータエラーを検出、訂正し、データの信頼性を向上させる機能を有する。この機能を実現するため、ＥＣＵ２６５は磁気ディスク４００へのデータ書き込み時に、ユーザデータに冗長データを付加する。データ読み出し時は、付加した冗長データを用いてエラーの検出、訂正を行う。訂正結果を上記ＤＦ２６４に報告する。ＤＦ２６４は訂正済みのデータをＥＣＵ２６５からバッファ３００に転送する。
【００３９】
次に、データパターン比較部２２０では、ホスト１００からライトコマンドが発行されたときに、コントロールユニット２２１がバッファ３００から読み出して比較するソースブロックとターゲットブロックのアドレス情報２２２、２２３を生成する。
【００４０】
ここで、ソースブロックとは、上記ライトコマンドに基づき、ホスト１００からバッファ３００にデータが書き込まれた後に、バッファブロック管理テーブル２３０において状態が未読込みであるセグメントのブロックである。この場合、ホスト１００からバッファ３００に新たにデータが書き込まれたブロックでも、データパターン比較部２２０による比較処理が終了していないときには状態が未書込みに変更されないように構成されており、この状態のブロックがソースブロックとなる。また、ターゲットブロックとは、バッファブロック管理テーブル２３０において、状態が未読込みであるセグメント以外のセグメントに含まれるブロックである。
【００４１】
また、ソースブロックとターゲットブロックのアドレス情報２２２、２２３は、上記ソースブロックとターゲットブロックとにおいて、互いに比較するデータを指定するための各ブロック内のアドレスである。例えば、各ブロック内のデータを１バイトずつ比較する場合は、アドレス情報２２２、２２３は、それぞれのブロック番号とブロック内の場所を示すバイト単位のオフセットとにより構成される。なお、データの比較をブロック単位で行うことも可能であり、この場合には、先頭のブロック番号とブロック単位のオフセットにより上記アドレス情報２２２、２２３が構成される。更に、データをビット単位で比較することも可能である。
【００４２】
コントロールユニット２２１は、ソースブロックとターゲットブロックのアドレス情報２２２、２２３によりバッファ３００から読み出したソースブロックとターゲットブロックのデータ（ソースデータ２２４とターゲットデータ２２５）を比較演算器２２６に渡し、比較演算器２２６がソースデータ２２４とターゲットデータ２２５とを比較する。比較の結果、ソースブロックとターゲットブロック内の全データが同じである場合に、比較演算器２２６は同じデータパターンのブロックが有ったと判断し、コントロールユニット２２１を介してデータパターンが同じブロックが有った旨を示す信号をバッファマネージャ２５０に出力する。
【００４３】
図４（ａ）、（ｂ）には、上記比較演算器２２６における比較動作の説明図が示される。図４（ａ）の例では、ソースブロックとしてブロック番号２８８が選択され、データ比較をバイト単位で行うために、コントロールユニット２２１によりオフセットが１バイト毎にインクリメントされる。また、本例では、ブロックのサイズが５１２バイトとなっている。
【００４４】
図４（ｂ）の例では、ターゲットブロックとしてブロック番号０が選択され、データ比較をバイト単位で行うために、コントロールユニット２２１によりオフセットが１バイト毎にインクリメントされる。また、本例でも、ブロックのサイズが５１２バイトとなっている。
【００４５】
比較演算器２２６では、上記オフセットに基づき、ソースブロック及びターゲットブロックから１バイトずつソースデータ２２４とターゲットデータ２２５とを読み出し、比較する。
【００４６】
なお、データパターン比較部２２０は、比較対照のブロック（ソースブロック）が複数ある場合には、それらの全てについて比較演算器２２６にターゲットブロックとの比較処理を実行させるように構成される。
【００４７】
図５には、本実施形態にかかる磁気ディスク装置の動作例のフローが示される。図５において、ホスト１００が発行したライトコマンドをバッファマネージャ２５０が受け取ると（Ｓ１）、アドレス制御部２４０に指示してライトコマンドに含まれるコマンド情報をコマンド情報管理テーブル２１０及びバッファブロック管理テーブル２３０に書き込ませ、登録させる（Ｓ２）。
【００４８】
例えばホスト１００から、コマンド情報のアドレスが３０００、サイズが８のライトコマンドが発行されると、これに基づいてバッファマネージャ２５０がアドレス制御部２４０を介してコマンド情報管理テーブル２１０に、コマンド情報のアドレス「３０００」、サイズ「８」、仮想アドレスのセグメント番号「４」、先頭インディクス「０」、状態「未読込み」を登録する。また、バッファブロック管理テーブル２３０に、仮想アドレスのセグメント番号「４」、先頭インディクス「０」、サイズ「８」、物理アドレスの先頭ブロック番号「２８８」、状態「未読込み」を登録する。
【００４９】
次に、バッファマネージャ２５０はデータ制御部２６０に指示し、バッファブロック管理テーブル２３０に状態「未読込み」として登録されたバッファ３００の物理アドレスに、ホスト１００からのデータを書き込ませる。また、バッファマネージャ２５０は、ホスト１００からのデータ転送が終了したか否かを監視する（Ｓ３）。
【００５０】
データ転送が終了すると（Ｓ４）、バッファマネージャ２５０は、データパターン比較部２２０に指示し、新たにバッファ３００に書き込まれたソースデータにつき、既に書き込まれていたデータをターゲットデータとしてデータパターンの比較処理を、図４で述べた手順により実行させる（Ｓ５）。
【００５１】
上述した例では、バッファブロック管理テーブル２３０に、仮想アドレスのセグメント番号「４」、先頭インディクス「０」、サイズ「８」、物理アドレスの先頭ブロック番号「２８８」として登録されたブロックに書き込まれたデータがソースデータとなる。
【００５２】
データパターン比較部２２０による比較処理の結果、ソースデータと同じデータパターンのブロックがあった場合（Ｓ６）、すなわち、バッファマネージャ２５０がデータパターン比較部２２０からデータパターンが同じブロックが有った旨を示す信号を受け取ると、アドレス制御部２４０を介してバッファブロック管理テーブル２３０を編集し、バッファ３００の空きエリアを開放する（Ｓ７）。
【００５３】
上述した例では、ソースデータと同じデータパターンのターゲットデータがデータパターン比較部２２０で検出され、そのバッファブロックが物理アドレスの先頭ブロック番号「０」であるとすると、バッファマネージャ２５０はアドレス制御部２４０を介してバッファブロック管理テーブル２３０における物理アドレスの先頭ブロック番号「０」の状態を「未書込み」に変更し、物理アドレスの先頭ブロック番号「２８８」、サイズ「８」の状態を「無効」とする。また、バッファマネージャ２５０はアドレス制御部２４０を介してコマンド情報管理テーブル２１０におけるコマンド情報のアドレス「３０００」に対応する仮想アドレスのセグメント番号を「４」から「１」に、状態を「未読込み」から「未書込み」に変更する。
【００５４】
以上により、バッファ３００の物理アドレスの先頭ブロック番号「２８８」、サイズ「８」（仮想アドレスのセグメント番号「４」）の記憶領域は、無効すなわち初期状態となり、開放される。これにより、バッファ３００の空きが増え、記憶領域の有効利用を図ることができる。ここで、バッファマネージャ２５０、アドレス制御部２４０により、本発明のブロック開放手段が構成される。なお、ソースブロックと同じデータパターンのターゲットブロックが複数ある場合は、バッファマネージャ２５０がアドレス制御部２４０を介してそれらターゲットブロックの全てを開放するように構成する。
【００５５】
次に、ホスト１００にライトコマンドの終了を通知する（Ｓ８）。その後、コマンド情報管理テーブル２１０におけるコマンド情報のアドレス「３０００」で指定される磁気ディスク４００の記憶領域に、バッファ３００の物理アドレスの先頭ブロック番号「０」から８ブロック分（仮想アドレスのセグメント番号「１」）のデータが書き込まれる。なお、Ｓ６において、ソースデータと同じデータパターンのターゲットデータがなかった場合には、ホスト１００にライトコマンドの終了を通知した後、ソースデータが磁気ディスク４００に書き込まれる。
【図面の簡単な説明】
【００５６】
【図１】本発明にかかる磁気ディスク装置の構成例のブロック図である。
【図２】本発明にかかる磁気ディスク装置に使用されるコマンド情報管理テーブル及びバッファブロック管理テーブルの構成例を示す図である。
【図３】本発明にかかる磁気ディスク装置におけるバッファ制御部の詳細な構成を示す図である。
【図４】本発明にかかる磁気ディスク装置における比較演算器の比較動作の説明図である。
【図５】本発明にかかる磁気ディスク装置の動作例のフロー図である。
【符号の説明】
【００５７】
１００  ホスト、２００  バッファ制御部、２１０  コマンド情報管理テーブル、２２０  データパターン比較部、２２１  コントロールユニット、２２２、２２３  アドレス情報、２２４  ソースデータ、２２５  ターゲットデータ、２２６  比較演算器、２３０  バッファブロック管理テーブル、２４０  アドレス制御部、２５０  バッファマネージャ、２６０  データ制御部、３００  バッファ、３１０  ブロック、４００  磁気ディスク、５００  Ｒ／Ｗ制御部、５１０  Ｒ／Ｗ部。
【図１】
2006286083.tif 000003
【図２】
2006286083.tif 000004
【図３】
2006286083.tif 000005
【図４】
2006286083.tif 000006
【図５】
2006286083.tif 000007