JP3697395B2 - 異なるデータ構造を格納するための方法及び装置 - Google Patents

異なるデータ構造を格納するための方法及び装置 Download PDF

Info

Publication number
JP3697395B2
JP3697395B2 JP2000558454A JP2000558454A JP3697395B2 JP 3697395 B2 JP3697395 B2 JP 3697395B2 JP 2000558454 A JP2000558454 A JP 2000558454A JP 2000558454 A JP2000558454 A JP 2000558454A JP 3697395 B2 JP3697395 B2 JP 3697395B2
Authority
JP
Japan
Prior art keywords
host
data
disk
block
blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2000558454A
Other languages
English (en)
Other versions
JP2002520691A (ja
Inventor
アリー ドン
エレーズ オファー
ネイタン ヴィシェリツキー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EMC Corp filed Critical EMC Corp
Publication of JP2002520691A publication Critical patent/JP2002520691A/ja
Application granted granted Critical
Publication of JP3697395B2 publication Critical patent/JP3697395B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

【0001】
(技術分野)
本発明は、全体としてはデータ処理システムに係り、特に、このようなデータ処理システムで使用される磁気媒体記憶システムに関する。
【0002】
(背景技術)
多くのデータ処理システムは、1つ又は複数の中央処理装置と1つ又は複数の磁気媒体記憶システムを備えている。典型的には、磁気媒体は、磁気ディスク或いは磁気テープから構成される。特に、磁気媒体記憶システムは、特定のデータ構造即ちフォーマットに従って特定のマシンで使用するために開発されてきた。IBM社の大型コンピュータは、このようなマシンの1つである。Unixを基盤としたシステムのようなオープンシステムは、他の様々なデータ構造によって特徴付けられるマシンである。
【0003】
本発明を分り易くするために説明すると、このような特徴の1つは、ドライブ、ドライブ上のシリンダ数、シリンダにおけるトラック数、トラックにおけるセクタ数、セクタにおけるデータブロック数、及びデータブロックにおけるバイト数の間の関係である。例えば、Unixコンピュータ等は、データブロックを512バイトとしたデータ構造で動作する。更に、本発明の譲受人が供給するようなUnixを基盤としたデータ処理システム用の特定ディスク記憶システムでは、1セクタに8データブロックが、1トラックに8セクタが設定されている。
【0004】
ブロックサイズが各々異なるバイト数を持つ他の多種データ構造で動作するホスト処理装置を利用した他のコンピュータシステムも存在する。1例としては、あるホストは、1ブロックにおいて2,088バイトで動作することができる。しかし、このようなデータ処理システム用の磁気記憶装置の市場は限られており、このようなデータ構造用に特別に設計された記憶システムを増設するとコストが非常に高くなる可能性がある。同様に、アプリケーションを他のデータ構造に適合するように書き換えるコストも非常に高いものとなる。
【0005】
標準装置をホストシステム特有のデータ構造に再フォーマット化することが考えられるかも知れない。しかし、これを行うことは困難又は不可能であることが分ってきたが、この主な理由は、磁気ディスク記憶装置自体が、最も基本的なレベルにおいても標準データ構造に合わせて設計されており、非標準的構造に適合させることは不可能なためである。そのため、異なるデータ構造を持つホストからの入出力要求に対しトランスペアレントであるように、標準磁気ディスク記憶システムをこのような非標準データの処理システムに統合する手法は、これまで存在しなかった。しかし、記憶要件が高まるにつれ、このようなホストで動作する付加的な磁気ディスク記憶装置に対する要望も高まっている。
【0006】
(発明の開示)
従って、本発明の目的は、第1のデータフォーマットを有するディスクが、異なるデータ構造により特徴付けられたホストにおいて動作することを可能とする方法及び装置を提供することにある。
【0007】
本発明の他の目的は、第1のデータ構造を有するディスクが、第2の異なるデータ構造でアプリケーションプログラムが動作するようなホストにおいて、動作することを可能とする方法及び装置を提供することにある。
【0008】
本発明の更に他の目的は、第1のデータ構造を有するディスクが、異なるホストデータ構造により特徴付けられたホストにおいて、如何なるホスト上の如何なるアプリケーションプログラムに対してもトランスペアレントな形で動作することを可能とする方法を提供することにある。
【0009】
本発明の入出力要求によれば、データ処理システムは、データバイトから成る第1の複数の固定長ディスクデータブロックにデータを記憶するデータ記憶装置を備え、ホストは、データバイトから成る第2の複数の固定長ホストブロックを使用して入出力要求を生成する。ホストとデータ記憶装置との中間にあるバッファは、ホスト及びディスクデータブロックの大きい方のサイズを超えるサイズを有する。ホスト及びバッファ間のデータ転送は、ホストのデータブロックのサイズに相当するブロックで生じる。データ記憶装置及びバッファ間のデータ転送は、ディスクデータブロックのサイズに相当するブロックで生じる。
【0010】
本発明の他の様態によれば、データ処理システムは、特定の固定長ディスクブロックサイズを有する磁気ディスク記憶装置を備えるとともに、より大きなサイズの固定長ブロックに対する参照を含む入出力要求を出すホストを備える。バッファは、整数個のディスクブロックを格納するための少なくともホストブロックのサイズを有するキャッシュメモリー内に設けられ、それにより、1組のディスクブロックが1つのホストブロックを格納することができる。ホストとキャッシュメモリーとの間に接続されるホストアダプタは、ホストとホストブロック内のバッファとの間でデータを転送することによって、ホストからの入出力要求を処理する。磁気ディスク記憶装置とキャッシュメモリーと間に接続されたディスクアダプタは、バッファと磁気ディスク記憶装置との間で、対応するディスクブロック組を転送することによってバッファ内の入出力要求を処理する。
【0011】
特許請求の範囲により本発明の主題を詳細に示し明確に権利主張する。以下の詳細な説明を添付図面とともに読むことにより、本発明の様々な目的、利点、及び新規な特徴がより充分に明らかになると考える。尚、図面において、同一の参照番号は同一の構成部品を表す。
【0012】
(発明を実施するための最良の形態)
本発明とともに使用可能な様々な磁気ディスク記憶システムが存在する。以下は、ホスト21に接続する本発明の譲受人より市販されるSymmetrixシリーズ5000磁気ディスク記憶システムのアーキテクチャを基にして、磁気ディスク記憶システム20を説明する。このシステムでは、ホストアダプタは、ホストアダプタ22のようにバス23を介してホスト21に接続される。通常、ホスト21のアーキテクチャにより、バス23上に信号が形成される。該信号は、ホストアダプタ22の1つの機能により、キャッシュメモリー25やディスクアダプタ26、27のような他の構成部品に接続する内部バス24上の信号に変換される。ホストアダプタ22は複数のホストに接続でき、更に、ホストは複数のホストアダプタに接続できる。
【0013】
Symmetrixシステムでは、キャッシュメモリー25は、ホスト21のようなホストアダプタ22に接続されたどのホストからでも、或いは他のホストやホストアダプタからでも、磁気ディスク記憶システム20上のデータに対する全てのアクセス要求を受け入れる。キャッシュメモリー25は、制御情報やデータを様々な記憶場所に格納している。制御情報には、転送要求が適切な場所に送信できるようにするコンフィギュレーションや他の情報が含まれる。
【0014】
更に図1を参照すれば、ディスクアダプタ26は、複数の物理的ディスクドライブ28に接続され、ディスクアダプタ27も複数の物理的ディスクドライブ29に接続される。通常小型コンピュータ或いはパーソナルコンピュータが使用されるサービス処理装置30は、磁気ディスク記憶システム20のコンフィギュレーション及び他の属性を制御する。
【0015】
また、図1には、第2の即ち任意の、他のホストアダプタ32を介して磁気ディスク記憶システム20に接続するホスト31も示されている。本発明を分り易くするため、ホスト31は、磁気ディスク記憶システム20と同一のデータ構造で動作し、ホスト21は後述するような他のデータ構造で動作すると仮定する。
【0016】
公知のように、ホスト31のようなホストが読み取り要求を出す場合、まず、磁気ディスク記憶システム20に関連する制御により、データがキャッシュメモリー25内にあるか否かが判定される。存在する場合には、データは直接ホスト31に転送される。従って、物理的ディスクドライブ28又は29にアクセスされることはない。使用できるデータが存在しない場合、データは、物理的ディスクドライブ28又は29の適切な方から、キャッシュメモリー25に、次いでホスト31に取り出される。ホスト31のようなホストが書き込み要求を出す場合には、データは、最初にキャッシュメモリー25に転送され、そこで該要求は、物理的ディスクドライブ28又は29の一方の指定された記憶場所に、対応するディスクアダプタ26又は27の一方を介して該データを転送するように処理される。
【0017】
様々なデータ構造の中で2つの具体例を参照することによって、本発明をより容易く理解することができる。第1のデータ構造は、それに対して動作するように磁気ディスク記憶システム20が設計されたものであり、ホスト31固有のデータ構造である。Unixシステムに関しては、UnixFBA構造は、1ブロックが512バイトである。
【0018】
本発明を実施することにより、ホスト21が2,088バイトを1データブロックとして構成するような異なるデータ構造を有している場合においても、同じ磁気ディスク記憶システム20により、ホスト21と協調した状態でホスト31でも、或いはホスト31単独でも動作することが可能となる。
【0019】
本発明によれば、既存のディスクメモリー記憶装置に最小限の変更を加えることによりこの能力を具現化することができる。従って、磁気ディスク記憶システム20が第1の即ちディスクデータ構造で動作するように設計されている場合でも、ホスト21固有のデータ構造のような第2のデータ構造の入出力要求に応答することになる。以下の検討においては、異なる2つのデータ構造に関する類似した各特徴には、ホストシステムに関係する場合には特徴の前に「ホスト」を付し、ディスクのデータ構造に関係する場合には「ディスク」を付すことによって区別する。この記法及び前述した具体的データ構造を使用すると、「ホストブロック」は2,088バイトであり、「ディスクブロック」は512バイトとなる。
【0020】
この動作能力を可能にするための磁気ディスク記憶システム20に対する修正としては、ホストアダプタ22にバッファ制御回路即ちバッファ制御モジュール34を付加することが挙げられる。キャッシュメモリーは、ホスト21と、ディスク28、29により構成されるデータ記憶装置との中間にあるバッファ33を包含する。バッファ制御部34は、ホスト21とホストブロックとしてのキャッシュメモリー25との間で、ホストアダプタ22がデータを転送する手順を確立する。バッファ制御部35及び36が、ディスクアダプタ26及び27に各々付加される。バッファ制御部35及び36は、ディスクドライブ28及び29とディスクブロックとしてのキャッシュメモリー25との間での転送を発生する手順を設定する。
【0021】
通常、磁気ディスク記憶システム20は、通常CRCプロトコルを使用してデータの完全性検査を行う。図には、ディスクアダプタ26及び27における各々のCRC回路37及び38、更に、ホストアダプタ22内のCRC回路39が示される。
【0022】
前に指摘したように、各ホストは、所定のホストブロックサイズで動作する。図2には、ホストブロックn乃至n+として表示された複数のホストブロック40で示すことによって、このような関係の1つが例示されている。参照番号41で表示された各ホストブロックnは、2,088バイトで構成される。加えて、前に指摘したように、各ホストブロックはホストセクタを構成するので、ホストブロックnはホストセクタnに対応する。
【0023】
図1の磁気ディスク記憶システム20内のこのデータは、複数のディスクブロックi,i+1,…に編成される。本発明の譲受人から市販されている発明の実施形態においては、連続するディスクブロックi乃至i+7がディスクセクタjを構成しているが、図2には、単一のトラック上に配置される複数のセクタが示されている。前に指摘したように、参照番号43によって更に示されたディスクブロックiのような各ディスクブロックは、512バイトの固定長ブロックである。
【0024】
本発明によれば、整数個のディスクブロックは、ディスクブロック組の状態に共にグループ化される。一般的に、この数は、ホストブロックサイズをディスクブロックサイズで割り、商を四捨五入して次の整数にすることによって求められる。この特定例では、1つのディスクブロック組は、連続する5つのディスクブロックで構成される。次に、各組は、ホストブロックに割り当てられる。従って、図2に示すように、ホストブロックとディスクブロックとの関係は、次のように設定される。
Figure 0003697395
【0025】
図2の実施形態から明らかなように、各ホストブロックは、4つのディスクブロックは完全に格納するが、5番目のブロックは部分的にしか格納できないものであり、これにより、各組の5番目のブロックが付加的な記憶容量を有していることになる。前に指摘したように、ホストアダプタ22は、CRC回路39を備えている。本発明の他の様態によれば、この回路は、各ホストブロックに対するCRCコードを生成し、更に、このCRCコードは、どの書き込み動作時でも、ディスクブロック組の5番目のディスクブロックにおいて使用可能な付加的記憶スペース内のデータに付与される。従って、各ブロックに対するCRCコードは、データと共にディスクドライブ上に記憶される。
【0026】
ここで、ホストアダプタ22内のバッファ制御部34、及びディスクアダプタ26、27内のバッファ制御35、36の動作に言及すると、各バッファ制御部は、読み取り及び書き込みの入出力要求に対して、いくらか異なる動作をする。図3には、読み取りの入出力要求即ち「読み取り」要求に応答する動作を設定する手順50が示される。ステップ51において、ホストアダプタ22は、読み取り要求に応答して(1)開始ホストブロック番号、及び(2)読み取られるべきホストブロック数と共に、ホスト21から読み取り要求を受け入れる。ステップ52で、ホストアダプタは、この要求をキャッシュメモリー24に転送する。データがキャッシュ内にある場合には、ステップ53で、制御はステップ54に移され、ホストアダプタ22が、対応するホストブロックをホスト21に転送できるようにする。
【0027】
要求されたホストブロックがキャッシュメモリー25内にない場合には、ステップ53で、制御はステップ55に移され、ここでディスクアダプタ26のような指定されたディスクアダプタがホストからの読み取り要求を処理する。ステップ56において、指定されたディスクアダプタは、開始ホストブロック番号を開始ディスクブロック番号に変換する。ステップ57において、指定されたディスクアダプタが同様の機能を実行し、読み取られるべきホストブロック数を読み取られるべきディスクブロック数に変換する。この特定例では、通常、これらの数が、ホストブロック数を単に5倍することによって得られるのは明らかであろう。次に、指定されたディスクアダプタは、要求されたホストブロックに対応するディスクブロック組を、対応するディスクブロック組に含まれるCRCデータと共にバッファ33に転送する。ディスクアダプタ26内のCRC回路37のようなCRC回路は、データの完全性に関するCRC検査を実行する。データがバッファ33にあると、ホストアダプタ22は、ステップ54を使用してバッファ33内の対応するディスクブロック組からデータを取り出し、どのCRCデータも取り除いたデータを、ホストブロックとしてホスト21に転送する。
【0028】
この一連の動作から、本発明の2つの利点が明らかになる。まず、図1のホスト21に関する読み取り要求に対する応答は、磁気ディスク記憶システム20固有のデータ構造と同じデータ構造を有するホスト31の場合と同一である。第2に、ホストブロック数とディスクブロック数との変換は、ディスクアダプタ26及び27のようなディスクアダプタ内で生じる。これらの動作及びホストブロック全体(即ち、この特定例では、5つのディスクブロック)を保持する容量を有するバッファ33の編成は、ホストアダプタ22内のバッファ制御部の動作と同様に、適用例に対してトランスペアレントである。
【0029】
この説明は、磁気ディスク記憶システム20がホスト21でのみ動作することを仮定している。磁気ディスク記憶システム20が、図1のホスト21及び31のような異なるデータ構造を有するホストに接続される場合、ステップ53と56との間に判定ブロックを含むように図3の動作を修正することができる。この判定は、データ構造に基づくことになる。要求が同一のデータ構造を有するホスト21のようなホストからのものであれば、制御はステップ56に渡され、そうでなければ、制御は読み取り要求に対する従来の応答に渡される。
【0030】
ホスト21からの書き込み要求により、図4の手順60が開始される。ステップ61において、ホストアダプタ22は、記憶されるべきデータを含む書き込み要求をホスト21から受け入れる。この要求は、開始ホストブロック番号及び書き込まれるべきホストブロック数を含むことになる。ステップ62において、バッファ制御部34は、書き込み要求をキャッシュメモリー25に、更に、対応するホストブロックをバッファ33に転送する。その際、ホストアダプタ22は、書き込み動作が完了したことを知らされる。次に、ディスクアダプタ26のようなディスクアダプタは、ステップ63において、開始ホストブロック番号を開始ディスクブロック番号に変換し、ステップ64において、書き込まれるホストブロック数を書き込まれるディスクブロック数に変換する。ステップ65において、CRC回路39は、ホストブロックに付与されるCRCデータを算出する。その情報は、ディスクアダプタ26のようなディスクアダプタに転送され、そこでステップ66において、CRC回路37は、ホストブロック上でCRC検査を実行し、次に、ステップ67において、付与されたCRCデータと共にホストブロックを、ディスク内のディスクブロック組に書き込む。これが完了した後、ステップ68において、ディスクアダプタは、書き込み動作の完了をホストアダプタに伝える。
【0031】
読み取り要求の場合と同様に、図1に示す磁気ディスク記憶システム20は、ホストブロック数がディスクブロック数に変換されることを除いて、書き込み要求が従来通りに処理されるのと本質的に同様な方法で書き込み要求を処理する。データブロック組の最後に付加された領域を使用することによって、ディスクが各データブロックに対するCRCデータを記憶することができるという利点が提供される。従って、ディスクアダプタ26内のCRC回路37のようなCRC回路は、データに関する検査を行うが、他の方法が必要とされる場合にはCRCデータを算出するという余分なステップは行わない。同様に、ホストアダプタ22内のCRC回路39は、ホストブロックをホスト21に返送するに前に、検査としてCRCデータを監視することができる。
【0032】
本発明の譲受人により提供されるSymmetrix5000シリーズのような特定の磁気ディスク記憶システム20では、システムのCRC部分にディスクセクタ番号が組み込まれている。これが存在する場合には、ブロック番号とセクタ番号、とりわけディスクブロック番号とセクタ番号を変換することが必要である。図5には、ブロック番号からセクタ番号に変換する手順70が示される。磁気ディスク記憶システム20と同じデータ構造に加えて、異なるデータ構造を組み込んだシステムでは、ステップ71で、変換が必要かどうかの選択が行われる。必要であれば、ステップ72で、ブロック番号が1セクタ当たりのブロック数で割られる。ディスクに関しては、1セクタ当たり8つのディスクデータブロックがあるので除数は8であり、対応するホストブロックに関しては、除数はやはり8である。一方、ホストブロックサイズがセクタサイズと等しければ、除数は1である。8で割るシステムで必要とされるのは、バイナリ形式のデータブロック番号を3桁右にシフトすることだけである。
【0033】
図6には、セクタ番号がブロック番号に変換される類似した手順80が示される。変換が必要であれば、ステップ81で、動作はステップ82に移され、ここでディスクセクタ番号は、ディスクセクタ内のディスクブロック数で乗算される。再度説明すると、これも、ディスクセクタ番号を左に3桁シフトするだけで完遂することができる。
【0034】
このように、本発明の様々な目的に基づき、図1乃至図6に開示されるシステム及び方法によって、図1に示す装置20のような所定のデータ構造を有する磁気ディスク記憶装置を、同一のデータ構造及び異なるデータ構造を有するホストで動作させることができる。この能力により、異なるデータ構造で動作するホストに、幅広い用途を有するため通常より安価に購入できる磁気ディスク記憶装置を実現するというコスト面での利点を与えることができる。更に、この利点は、顧客がホストや磁気ディスク記憶システムのデータ構造の相違に適応するためのアプリケーションプログラム修正に投資することなく得られる。
【0035】
本発明は、ホストブロックサイズがデータブロックサイズより大きい特定のデータ構造を含む特定の適用例について説明された。当業者にとって、ディスクブロックサイズがホストブロックサイズより大きい他の特定データ構造に本発明を適用できることは明らかであろう。更に、このようなシステムの動作を最適化するために様々な手順を変更することも当業者にとって明らかであろう。上記した変更及び更なる変更を、本発明から逸脱することなく、開示された装置に加えることができる。従って、特許請求の範囲は、本発明の真の精神及び範囲に属する全てのそのような変形及び変更を包含することが意図されている。
【図面の簡単な説明】
【図1】 本発明を組み込んだデータ処理システムのブロック図である。
【図2】 図1に示すシステムに使用される、異なるデータ構造間の関係を示す。
【図3】 図1において使用される1つの入出力要求を構成する読み取り要求の流れ図である。
【図4】 図1において使用される他の入出力要求を構成する書き込み要求の流れ図である。
【図5】 ホストブロック数からディスクセクタ数への変換を示す流れ図である。
【図6】 ホストブロック数からディスクセクタ数への変換する方法を示す図である。

Claims (10)

  1. 第1のデータバイトから成る複数の固定長ディスクブロックにデータを記憶する磁気ディスクデータ記憶装置、及び前記第1のデータバイトの非整数倍である第2のデータバイトから成る固定長ホストブロックを使用してデータの入出力要求を生成するホストを含むデータ処理システム内のデータに対する入出力要求を処理する方法であって、
    前記ホスト及び前記磁気ディスクデータ記憶装置の間に、前記ホストブロック及び前記ディスクブロックのうちの大きいサイズを少なくとも有するバッファが設けられ
    前記ホストブロックのサイズと前記ディスクブロックのサイズとの間の対応関係を定める段階、
    前記ホストブロックのサイズに相当するブロックにおいて、前記ホストと前記バッファとの間でデータを転送する段階、及び
    前記ディスクブロックの数として、前記磁気ディスクデータ記憶装置と前記バッファとの間でデータを転送する段階を含み、前記バッファと前記磁気ディスクデータ記憶装置との間で転送されるディスクブロックの数は、前記ホストの入出力要求、及び前記ホストブロックのサイズと前記ディスクブロックのサイズの対応関係によって特定されるホストブロックの数によって求められることを特徴とする方法。
  2. 前記バッファは、前記ホストブロック及び前記ディスクブロックの大きい方のデータバイト数を超える整数のデータバイトの容量を有することを特徴とする請求項1に記載の方法。
  3. 前記バッファは、前記データバイトに加えて前記磁気ディスクデータ記憶装置に転送するための前記データバイトの信頼性又は完全性を維持する付加的な情報を記憶することを特徴とする請求項2に記載の方法。
  4. 前記ホストブロックは、前記ディスクブロックよりも大きいデータバイト数で構成されるとともに、単一のホストブロックを格納するためのディスクブロックは、連続した1組のディスクブロック構成され、且つ、前記付加的な情報としてCRCデータを含み、更に、前記ディスクブロック組の各々における最後のディスクブロック上に前記CRCデータを記憶する付加的な段階を含むことを特徴とする請求項3に記載の方法。
  5. 前記ホストブロックを前記ホストと前記バッファとの間で転送する段階は、各ホストブロックに対する前記CRCデータを算出する段階を含み、前記ディスクブロックを前記バッファと前記磁気ディスクデータ記憶装置との間で転送する段階は、前記CRCデータを検査する段階、及びディスクセクタ番号生成する段階を含むことを特徴とする請求項4に記載の方法。
  6. 前記磁気ディスクデータ記憶装置は、所定数のディスクブロックを一群の連続する記憶場所に格納し、更に、前記ホストと前記バッファとの間で転送する段階は、ホストブロック番号とディスクブロック番号との変換を行う段階を含むことを特徴とする請求項1に記載の方法。
  7. 前記ホスト及び、前記バッファを含むキャッシュメモリーとを接続するホストアダプタを備え、
    前記ホストブロックの各々は、208810バイトのデータを含むとともに、前記ディスクブロックの各々は、51210バイトのデータを含み、
    前記ホストアダプタにより、
    i) ホストブロックを前記バッファ内の連続した記憶場所に転送する段階、
    ii) 前記入出力要求を前記キャッシュメモリー内に転送する段階、
    iii) 前記ホストブロックに対するCRCデータを生成する段階、及び
    iv) 前記CRCデータを前記バッファ内の前記ホストブロックのデータに付与する段階を行う、書き込み要求の処理段階を更に含むことを特徴とする請求項3に記載の方法。
  8. 前記磁気ディスクデータ記憶装置は、記憶場所をディスクセクタ番号によってアドレス指定するディスクアダプタを含み
    前記ディスクアダプタにより、
    i) 前記キャッシュメモリーに記憶された前記書き込み要求を解読する段階、
    ii) 前記ディスクブロック番号からディスクセクタ番号を算出する段階、
    iii) 前記データ、前記CRCデータ前記ディスクセクタ番号を含む前記ホストブロックを、連続したディスクブロックとして前記バッファから前記磁気ディスクデータ記憶装置に転送する段階、及び
    iv) 前記書き込み要求に対する動作の完了を通知する段階行う書き込み要求に応答した処理段階を更に含むことを特徴とする請求項7に記載の方法。
  9. 前記ディスクアダプタが読み取り要求に応答して処理する段階は、
    i) 前記読み取り要求に応答して前記磁気ディスクデータ記憶装置にアクセスする必要性を判定する段階、
    ii) 前記キャッシュメモリー内の前記読み取り要求を解読する段階、
    iii) 前記対応するホストブロック及び前記CRCデータのためのデータを含む連続する5つのディスクブロックを、前記磁気ディスクデータ記憶装置から前記バッファに転送する段階、及び
    iv) 前記読み取り動作の完了を通知する段階を含むことを特徴とする請求項7に記載の方法。
  10. 第1のデータバイトから成る複数の固定長ディスクブロックにデータを記憶する磁気ディスクデータ記憶装置、及び前記第1のデータバイトの非整数倍である第2のデータバイトから成る固定長ホストブロックを使用してデータの入出力要求を生成するホストを含むデータ処理システム内のデータに対する入出力要求を処理する装置であって、
    A) 前記ホスト及び前記磁気ディスクデータ記憶装置の間にあり、前記ホストブロック及び前記ディスクブロックのうちの大きいサイズを少なくとも有するバッファ、
    B) 前記ホストブロックのサイズと前記ディスクブロックのサイズとの間の対応関係を定める手段、前記ホストブロックのサイズに相当するブロックにおいて、前記ホストと前記バッファとの間でデータを転送する手段、及び
    C) 前記ディスクブロックの数として、前記磁気ディスクデータ記憶装置と前記バッファとの間でデータを転送する手段を備え、前記バッファと前記磁気ディスクデータ記憶装置との間で転送されるディスクブロックの数は、前記ホストの入出力要求、及び前記ホストブロックのサイズと前記ディスクブロックのサイズの対応関係によって特定されるホストブロックの数によって求められることを特徴とする装置。
JP2000558454A 1998-07-07 1999-02-26 異なるデータ構造を格納するための方法及び装置 Expired - Lifetime JP3697395B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/111,211 US6324604B1 (en) 1998-07-07 1998-07-07 Magnetic disk storage for storing data in disk block size from fixed length of host block in non-integer multiple of the disk block size
US09/111,211 1998-07-07
PCT/US1999/004373 WO2000002121A1 (en) 1998-07-07 1999-02-26 Method and apparatus for storing diverse data structures

Publications (2)

Publication Number Publication Date
JP2002520691A JP2002520691A (ja) 2002-07-09
JP3697395B2 true JP3697395B2 (ja) 2005-09-21

Family

ID=22337196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000558454A Expired - Lifetime JP3697395B2 (ja) 1998-07-07 1999-02-26 異なるデータ構造を格納するための方法及び装置

Country Status (5)

Country Link
US (1) US6324604B1 (ja)
EP (1) EP1093606A1 (ja)
JP (1) JP3697395B2 (ja)
AU (1) AU2976099A (ja)
WO (1) WO2000002121A1 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571362B1 (en) * 2000-06-26 2003-05-27 Storage Technology Corporation Method and system of reformatting data blocks for storage as larger size data blocks
US6924952B1 (en) * 2000-08-04 2005-08-02 Maxtor Corporation Method and apparatus for data storage in a disk drive
US20030172229A1 (en) * 2002-03-08 2003-09-11 Takasugi Robin Alexis Systems and methods for detecting and compensating for runt block data transfers
US7634614B2 (en) * 2003-01-13 2009-12-15 Sierra Logic Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves and that support virtual disk formatting
JP2004288078A (ja) * 2003-03-25 2004-10-14 Hitachi Ltd 固定長ディスクを利用したディスクアレイシステム
US7197617B2 (en) * 2003-05-29 2007-03-27 International Business Machines Corporation Process, apparatus, and system for storing data check information using standard sector data field sizes
US7539924B1 (en) 2005-11-15 2009-05-26 Western Digital Technologies, Inc. Disk drive implementing data path protection by encoding large host blocks into sub blocks
US7647544B1 (en) 2005-11-22 2010-01-12 Western Digital Technologies, Inc. Disk drive implementing data path protection without writing the error detection code data to the disk
JP5089901B2 (ja) 2006-03-28 2012-12-05 株式会社日立製作所 記憶制御装置及び記憶制御装置の制御方法
JP4505520B2 (ja) * 2008-06-27 2010-07-21 富士通株式会社 ディスクアレイ装置並びにその制御装置,制御方法および制御プログラム
US8006027B1 (en) 2008-09-11 2011-08-23 Western Digital Technologies, Inc. Method of staging small writes on a large sector disk drive
US8285965B2 (en) * 2009-11-20 2012-10-09 Western Digital Technologies, Inc. Aligning data storage device partition to boundary of physical data sector
US8397107B1 (en) 2009-12-11 2013-03-12 Western Digital Technologies, Inc. Data storage device employing data path protection using both LBA and PBA
US8443167B1 (en) 2009-12-16 2013-05-14 Western Digital Technologies, Inc. Data storage device employing a run-length mapping table and a single address mapping table
US8194340B1 (en) 2010-03-18 2012-06-05 Western Digital Technologies, Inc. Disk drive framing write data with in-line mapping data during write operations
US9330715B1 (en) 2010-03-22 2016-05-03 Western Digital Technologies, Inc. Mapping of shingled magnetic recording media
US8699185B1 (en) 2012-12-10 2014-04-15 Western Digital Technologies, Inc. Disk drive defining guard bands to support zone sequentiality when butterfly writing shingled data tracks
US8693133B1 (en) 2010-03-22 2014-04-08 Western Digital Technologies, Inc. Systems and methods for improving sequential data rate performance using sorted data zones for butterfly format
US8856438B1 (en) 2011-12-09 2014-10-07 Western Digital Technologies, Inc. Disk drive with reduced-size translation table
US8687306B1 (en) 2010-03-22 2014-04-01 Western Digital Technologies, Inc. Systems and methods for improving sequential data rate performance using sorted data zones
KR20110112125A (ko) * 2010-04-06 2011-10-12 삼성전자주식회사 디스크 장치 및 라이트 방법
JP4922442B2 (ja) * 2010-07-29 2012-04-25 株式会社東芝 バッファ管理装置、同装置を備えた記憶装置、及びバッファ管理方法
US8756361B1 (en) 2010-10-01 2014-06-17 Western Digital Technologies, Inc. Disk drive modifying metadata cached in a circular buffer when a write operation is aborted
US8954664B1 (en) 2010-10-01 2015-02-10 Western Digital Technologies, Inc. Writing metadata files on a disk
US20120260034A1 (en) * 2011-04-06 2012-10-11 Hitachi, Ltd. Disk array apparatus and control method thereof
US8793429B1 (en) 2011-06-03 2014-07-29 Western Digital Technologies, Inc. Solid-state drive with reduced power up time
US8756382B1 (en) 2011-06-30 2014-06-17 Western Digital Technologies, Inc. Method for file based shingled data storage utilizing multiple media types
US8990493B1 (en) 2011-06-30 2015-03-24 Western Digital Technologies, Inc. Method and apparatus for performing force unit access writes on a disk
US8671250B2 (en) 2011-12-15 2014-03-11 Western Digital Technologies, Inc. Data storage device generating redundancy for data path protection of a parity sector
US9213493B1 (en) 2011-12-16 2015-12-15 Western Digital Technologies, Inc. Sorted serpentine mapping for storage drives
US8819367B1 (en) 2011-12-19 2014-08-26 Western Digital Technologies, Inc. Accelerated translation power recovery
US8612706B1 (en) 2011-12-21 2013-12-17 Western Digital Technologies, Inc. Metadata recovery in a disk drive
US9063838B1 (en) * 2012-01-23 2015-06-23 Western Digital Technologies, Inc. Data storage device shifting data chunks of alignment zone relative to sector boundaries
US8996839B1 (en) 2012-01-23 2015-03-31 Western Digital Technologies, Inc. Data storage device aligning partition to boundary of sector when partition offset correlates with offset of write commands
JP2013205913A (ja) * 2012-03-27 2013-10-07 Nec Corp 記憶デバイスの制御装置及びその制御方法、並びにコンピュータ・プログラム
US8797669B1 (en) 2013-08-30 2014-08-05 Western Digital Technologies, Inc. Disk drive executing rotational position optimization (RPO) algorithm to facilitate a read-modify-write operation
JP5910596B2 (ja) 2013-09-24 2016-04-27 日本電気株式会社 ストレージ管理システム、ストレージ管理方法、プログラム、および、情報処理システム
US8953269B1 (en) 2014-07-18 2015-02-10 Western Digital Technologies, Inc. Management of data objects in a data object zone
US9875055B1 (en) 2014-08-04 2018-01-23 Western Digital Technologies, Inc. Check-pointing of metadata

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5301304A (en) 1988-05-20 1994-04-05 International Business Machines Corporation Emulating records in one record format in another record format
JP2761289B2 (ja) 1990-11-30 1998-06-04 富士通株式会社 ディスクトラックエミュレーション方法
JP2625609B2 (ja) 1991-07-10 1997-07-02 インターナショナル・ビジネス・マシーンズ・コーポレイション ディスク記憶装置
US5459850A (en) 1993-02-19 1995-10-17 Conner Peripherals, Inc. Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
JP3433978B2 (ja) 1993-07-30 2003-08-04 富士通株式会社 入出力制御装置
JP3188071B2 (ja) * 1993-10-14 2001-07-16 富士通株式会社 ディスクキャッシュ装置
JP2557203B2 (ja) 1993-12-27 1996-11-27 インターナショナル・ビジネス・マシーンズ・コーポレイション ファジィ・パッキング方法及びデータ記憶システム
US5617432A (en) 1994-11-09 1997-04-01 International Business Machines Corporation Common error protection code for data stored as a composite of different data formats
US5606529A (en) * 1994-12-20 1997-02-25 Hitachi, Ltd. Semiconductor disk storage
JP3583829B2 (ja) 1995-04-13 2004-11-04 株式会社日立製作所 外部記憶サブシステムの制御方法および制御装置

Also Published As

Publication number Publication date
AU2976099A (en) 2000-01-24
EP1093606A1 (en) 2001-04-25
US6324604B1 (en) 2001-11-27
WO2000002121A1 (en) 2000-01-13
JP2002520691A (ja) 2002-07-09

Similar Documents

Publication Publication Date Title
JP3697395B2 (ja) 異なるデータ構造を格納するための方法及び装置
US6748486B2 (en) Method, system, and data structures for superimposing data records in a first data format to memory in a second data format
US6529976B1 (en) Heterogeneous computer system, heterogeneous input output system and data back-up method for the systems
US6883079B1 (en) Method and apparatus for using data compression as a means of increasing buffer bandwidth
JP3180096B2 (ja) システム間でデータおよびコマンドを動的にマッピングする方法、信号担持媒体および装置
US20080209420A1 (en) Processing system, storage device, and method for performing series of processes in given order
US6311240B1 (en) Hardware assisted formatted data transfer system having a source storage controller and a formatting storage controller receiving on-media structure definition and a data definition
JP2000514941A (ja) バスから収集されたデータに対するパリティ発生フライバルxor
WO1996018141A1 (fr) Systeme informatique
US6105076A (en) Method, system, and program for performing data transfer operations on user data
CA2218296C (en) Method and apparatus for storing and retrieving error check information
JP3407628B2 (ja) 計算機システム
US7146494B2 (en) High speed data transfer between mainframe storage systems
US20030236943A1 (en) Method and systems for flyby raid parity generation
US20030097523A1 (en) External storage device within a computer network
KR100659915B1 (ko) 데이터 전송 방법 및 장치
JP2842837B2 (ja) ミラーディスクシステム
US6170034B1 (en) Hardware assisted mask read/write
WO2000013180A1 (en) Improved method for providing variable sector-format operation to a computer system
US6249842B1 (en) Apparatus and method for processing data in a RAID system
JP2580998B2 (ja) 記憶制御装置
JP3615250B2 (ja) ディスクアレイ装置
JP2001211412A (ja) 高速av情報サーバー及びその磁気ディスク装置増設方法
JP3275492B2 (ja) 連動型ディスク装置
JP4209108B2 (ja) 記憶装置の制御方法およびこの方法に用いる記憶装置、ディスクアレイ装置、及びディスクコントローラ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040607

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040907

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040914

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041207

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050704

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110708

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130708

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term