JP4727800B2 - 記憶されたレコードについてのフォーマット情報を効率的に提供するためのディレクトリを含むデジタル・データ・サブシステム - Google Patents

記憶されたレコードについてのフォーマット情報を効率的に提供するためのディレクトリを含むデジタル・データ・サブシステム Download PDF

Info

Publication number
JP4727800B2
JP4727800B2 JP2000291217A JP2000291217A JP4727800B2 JP 4727800 B2 JP4727800 B2 JP 4727800B2 JP 2000291217 A JP2000291217 A JP 2000291217A JP 2000291217 A JP2000291217 A JP 2000291217A JP 4727800 B2 JP4727800 B2 JP 4727800B2
Authority
JP
Japan
Prior art keywords
record
storage
stored
descriptor
cache
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
JP2000291217A
Other languages
English (en)
Other versions
JP2001195197A (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 JP2001195197A publication Critical patent/JP2001195197A/ja
Application granted granted Critical
Publication of JP4727800B2 publication Critical patent/JP4727800B2/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
    • 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
    • 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/0673Single storage device
    • G06F3/0674Disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は一般的にはデジタル・コンピュータ・システムの分野に関し、及びより特定的には、前記デジタル・データ記憶サブシステムによって記憶されるレコードについてのフォーマット情報を効率的に提供するためのディレクトリを含むデジタル・データ記憶サブシステムに関する。
【0002】
【従来の技術】
現代の「企業」コンピュータ環境、すなわち、企業におけるオフィス環境で使用するためのコンピュータ・システムにおいて、数多くのパーソナル・コンピュータ(personal computer)、ワークステーション(workstation)、ミニ・コンピュータ(mini-computer)、及びメインフレーム・コンピュータ(mainframe computer)が、大容量記憶サブシステム、ネットワーク・プリンタ(network printer)及び公衆電話システムへのインターフェース等の他の装置とともに、情報が企業内ユーザの間で共有される統合された環境を提供するために相互接続されるかもしれない。通常は、ユーザは受注、生産、発送、請求伝票発行業務、在庫管理、及び他の業務を含む、様々な業務を実行しているかもしれず、そこではリアル・タイムでのデータ共有が、例えば個別のレコードを保守し及び後にそれらを修復するよう試みることに対して大きな効果を提供するかもしれない。前記ユーザは、自らのデータで操作してもよく、彼らは使用中のコンピュータ上でそれらを保守してもよく、又は大容量記憶サブシステムを通してデータを共有してもよい。
【0003】
前記のような大容量記憶サブシステムが、例えば、1993年4月27日、モシェ・ヤナイらに付与(以下、「939号特許」と称する)、アメリカ合衆国特許第5,206,939号、「ディスク・マッピング及びデータ検索のためのシステム及び方法」、及びモシェ・ヤナイら名義、アメリカ合衆国特許出願第07/893,509号、1995年6月4日提出、「キャッシュ管理を動的に制御するためのシステム及び方法」に記載されており、これら両方は、本発明の譲受人に譲渡され、その内容はここに参照のために採用されている。前記特許及び出願は、コンピュータによって使用されるように、各レコードが著名な「CKD(カウント−キー−データ)(count-key-data)」フォーマットであるレコードにおいて編成されたデータが、「固定ブロック」記憶装置アーキテクチャを提供する記憶装置に記憶されることができるようにする配列を一般的に説明する。この配列において、大容量のキャッシュが、前記個別のコンピュータによって使用されるために、前記記憶装置から転送され、及び前記データが更新された場合は、記憶のために、前記記憶装置へと戻されるデータをバッファするために使用される。
【0004】
前述の特許及び特許出願に記述されたシステムにおいて、大容量記憶サブシステムに記憶されるデータに関する情報を提供するために、ディレクトリ・テーブル(directory table)が使用される。一つの実施形態において、前記大容量記憶サブシステムは、ナンバー・ディスク(number disk)記憶装置にデータを記憶し、前記テーブルは、装置、シリンダ及び読み取り/書き取りヘッド又はトラックによって編成された、前記大容量記憶サブシステムに記憶された前記CKDレコードの各々の選択された特性に関する情報を含み、及びレコードのサイズ及び一定のフォーマット特性等の情報を含む。個別の記憶装置によって記憶されることができるデータの量は、各装置が記憶することができるシリンダの数についてと、各トラックが記憶することができるデータ量についての両方において、頻繁に時間経過とともに増加するので、前記テーブルが記憶する必要がある情報の量は、大変大きくなる可能性がある。アメリカ合衆国特許出願第08/790,642号、1997年1月29日提出、ナタン・ヴィシュリツキ名義、「記憶されたレコードについてのフォーマット情報を効率的に提供するためのディレクトリを含むデジタル・データ記憶サブシステム」で、本発明の譲受人に譲渡され、ここに参照として採用されている前記出願は、様々なレコードに必要とされる情報量が、効果的に低減されることができるディレクトリ・テーブルを記述する;しかしながら、前記ディレクトリ・テーブルのサイズをさらに低減させると、有用であるだろう。
【0005】
【発明が解決しようとする課題】
本発明は、デジタル・データ記憶サブシステムによって記憶されたレコードについてのフォーマット情報を効率的に提供するためのディレクトリを含む新しく、改良されたデジタル・データ記憶サブシステムを提供する。
【0006】
【課題を解決するための手段】
簡潔に要約すると、本発明は、複数の記憶装置のエレメント、メモリ及び制御装置を具備するデジタル・データ記憶システムを提供する。前記記憶装置エレメントは、一連のレコードを、検索ができるように記憶するように構成されている。前記メモリは、記述子を記憶するように構成されており、前記記述子は、前記レコードの各々と関連して、チェック値を有する。前記制御装置は、前記記憶装置エレメントからの、前記レコードの一つの検索に関連して、前記レコードの一つが検索されるべきレコードを実際に構成することの確認に関連して、前記レコードの前記一つと関連した前記チェック値を使用するように構成されている。
【0007】
一つの実施形態において、前記デジタル・データ記憶サブシステムは、情報が一つ以上のディスク記憶装置に記憶される大容量サブシステムの形式であって、記憶装置エレメントは、ディスク記憶装置上のトラックを構成し、及び各トラックは複数のレコードを記憶する。デジタル・データ記憶システムの各ディスク記憶装置における各トラックは、記述子と関連する。その実施形態において、前記制御装置が前記レコードのコンテンツを検索する時、それはチェック値を生成し、及び前記生成されたチェック値を、前記トラックと関連する記述子に記憶された、前記レコードについての前記チェック値と比較するコンテンツを処理することができる。それらが適切に比較する場合、前記制御装置は、実際に、検索されたレコードは検索されるべきであったレコードであったことを決定することができる。その一方で、それらが適切に比較しない場合、前記制御装置は、検索されたレコードが適切なレコードではなかったことを決定することができる。前記レコードの前記コンテンツが更新される場合、前記制御装置は前記レコードの更新を反映させるために、前記記述子における前記チェック値を更新することができる。
【0008】
本発明は、添付の特許請求の範囲における詳細によって指摘される。本発明の上述の及びさらなる効果は、添付の図面を参考にして以下の説明を参照することによって、より良く理解されるであろう。
【0009】
【発明の実施の形態】
本発明は、図1に記載の機能的ブロック図に記載されたデジタル・コンピュータ・システム10と関連して説明される。図1を参照すると、コンピュータ・システム10は、複数のホスト・コンピュータ(host computer)11(1)乃至11(N)(通常は、参照番号11(n)で識別される)及び共通バス13によって相互接続されたデジタル・データ記憶サブシステム12を含む。各ホスト・コンピュータ11(n)は、例えば、パーソナル・コンピュータ、ワークステーション、又は単一のオペレータによって使用される類似のもの、あるいは多くのオペレータによって使用されるマルチユーザ・コンピュータ・システムを具備してもよい。各ホスト・コンピュータ11(n)は、関連するホスト・アダプタ(host adapter)24(n)に接続され、それは順にバス13に接続される。各ホスト・コンピュータ11(n)は、検索オペレーションを実行するために、それの関連するホスト・アダプタ24(n)を制御してもよく、そこでは前記ホスト・アダプタ24(n)が、それの処理オペレーションにおける前記ホスト・コンピュータ11(n)による使用のために、前記デジタル・データ記憶サブシステム12からのコンピュータ・プログラム及びデジタル・データ(通常「情報」と称される)の検索を開始する。さらに、ホスト・コンピュータ11(n)は、前記ホスト・アダプタ24(n)が、デジタル・データ記憶サブシステム12における処理されたデータの記憶を開始する記憶オペレーションを実行するために、それの関連するホスト・アダプタ24(n)を制御してもよい。通常は、デジタル・データ記憶サブシステム12と関連した検索オペレーション及び記憶オペレーションは、集合的に「アクセス・オペレーション(access operation)」と称される。
【0010】
検索及び記憶の両方のオペレーションに関連して、ホスト・アダプタ11(n)は、記憶オペレーション中に記憶されるべき処理されたデータとともに、アクセス・オペレーション・コマンド情報を、バス13を介して転送する。バス13へのアクセスは、ある実施形態においては、個別のホスト・アダプタ24(n)に統合されるバス・アクセス制御回路によって制御される。前記バス・アクセス制御回路は、バス13へのアクセスを要求する、バス13に接続された装置間のアービトレーション(arbitrate)をする。バス13へのアクセスを制御する時に、前記バス・アクセス制御回路は、多くの公知のバス・アクセス・アービトレーション技術のいずれを使用してもよい。
【0011】
一つの実施形態におけるデジタル・データ記憶サブシステム12は一般的に、アメリカ合衆国特許第5,206,939号、モシェ・ヤナイらに1993年4月27日付与、「ディスク・マッピング及びデータ検索のためのシステム及び方法」(以後「939号特許」と称する)に記載されているデジタル・データ記憶サブシステムに類似している。図1に記載のとおり、デジタル・データ記憶サブシステム12は、複数のデジタル・データ記憶装置20(1)乃至20(M)(一般的に参照番号29(m)によって識別される)を含み、その各々は、バス13にも接続される。前記データ記憶装置20(m)の各々は、プログラム及びデータを含む、ホスト・コンピュータ11(n)によってデジタル・データ記憶サブシステム12へと提供される処理されたデータと同様に、ホスト・コンピュータ11(n)によってアクセスされてもよい情報を記憶する。
【0012】
各データ記憶装置20(m)は、順に、記憶コントローラ21(m)及び参照番号22で一般的に識別される一つ以上の記憶装置を含む。記憶装置22は、そこから情報が検索される光学ディスク記憶装置及びCD−ROM装置と同様に、従来の磁気ディスク及びテープ記憶装置のいずれを具備してもよい。各記憶コントローラ21(m)は、バス13へと接続し、及びそれに接続される記憶装置において、それを介して受信される情報の記憶を制御する。さらに、各記憶コントローラ21(m)は、バス13を介しての転送のために、それに接続される記憶装置22からの情報の検索を制御し、及び一つの実施形態においては、バス13へのアクセスを制御するためのバス・アクセス制御回路を含む。
【0013】
デジタル・データ記憶サブシステム12はまた、アクセス・オペレーション中の情報及びそれらのオペレーションにおける一定の点で、ホスト・コンピュータ11(n)及びデータ記憶装置20(m)の状態に関する選択された状態の情報を提供するイベント状態情報をキャッシュするための共通メモリ・サブシステム30も含む。共通メモリ・サブシステム30によるイベント状態情報のキャッシュは、本発明の譲受人に譲渡され、参照のためにここに採用されているアメリカ合衆国特許出願第 号、1995年9月25日提出、エリ・シャガムら名義、「複数の装置によって生成されるイベント情報をログするための共通イベント・ログを含むデジタル・コンピュータ・システム」(代理人登録番号95−034)に詳細が記載されている。アクセス・オペレーション中に共通メモリ・サブシステム30によってキャッシュされる情報は、検索オペレーション中にホスト・コンピュータ11(n)によって検索されるべきである、データ記憶装置20(m)によって提供されるデータと同様に、記憶オペレーション中にデータ記憶装置20(m)に記憶されるべきである、ホスト・コンピュータ11(n)によって提供されるデータを含む。共通メモリ・サブシステム30は、アクセス・オペレーション中に、前記ホスト・コンピュータとデータ記憶装置20(m)との間で転送される情報をバッファリングするためのバッファとして効率的に動作する。
【0014】
共通メモリ・サブシステム30は、キャッシュ・メモリ(cache memory)31、キャッシュ・インデックス・ディレクトリ(cache index directory)32及びキャッシュ・マネージャ(cache manager)33を含み、それらは一般的に、本発明の譲受人に譲渡され、参照のためにその内容がここに採用されているアメリカ合衆国特許出願第07/893,509号、1995年6月4日、モシェ・ヤナイら名義、「キャッシュ管理を動的に制御するためのシステム及び方法」に記載されている。キャッシュ・メモリ31は、記憶及び検索オペレーションと関連してバッファとして動作し、特にホスト・コンピュータ11(n)から受信され、記憶のための記憶装置に転送されるべきデータをバッファリングし、及びデータ記憶装置20(m)から受信され、処理のためのホスト・コンピュータ11(n)へと転送されるべきデータを、バッファリングする。
【0015】
キャッシュ・メモリ31及びキャッシュ・インデックス・ディレクトリ32は、一般的に、図2と関連して説明される。図2を参照すると、キャッシュ・メモリ31は、一連の記憶場所を含み、それらは一連のキャッシュ・スロット31(0)乃至31(S)(一般的に参照番号31(s)によって識別される)に編成される。前記記憶場所は、順に、一連のアドレスによって識別され、キャッシュ・スロットの開始アドレスは、ベース・アドレス(base address)によって識別される。前記キャッシュ・スロット31(s)は順に、上述のとおりにキャッシュ・メモリのバッファとして動作する。
【0016】
キャッシュ・インデックス・ディレクトリ32は、キャシュ・メモリ31においてキャッシュ・スロット31(s)のためのインデックスとして動作する。キャッシュ・インデックス・ディレクトリ32は、複数のキャッシュ・インデックス・テーブル32(0)乃至32(D)(一般的に参照番号32(d)によって識別される)を含み、その各々は、記憶サブシステム12における記憶装置22の一つと関連する。各キャッシュ・インデックス・テーブル32(d)は、装置ヘッダ・フィールド34を含み、それは例えばキャッシュ・インデックス・テーブル32(d)と関連する装置22のための選択された識別及び状態情報を提供する。さらに、各キャッシュ・インデックス・テーブル32(d)は、複数のシリンダ記述子35(1)乃至35(C)(一般的に参照番号35(c)によって識別される)を含み、その各々は、キャッシュ・インデックス・テーブル32(d)と関連する記憶装置22におけるシリンダの一つと関連する。各シリンダ記述子35(c)は、順に、シリンダ・ヘッダ36(c)を含み、それは例えば、シリンダ記述子35(c)と関連するシリンダのための選択された識別及び状態情報を提供する。
【0017】
さらに、各シリンダ記述子35(c)は、複数のトラック記述子35(c)(0)乃至35(c)(T)(一般的に参照番号35(t)によって識別される)を含み、その各々は、シリンダ35(c)におけるトラックの一つと関連する。各トラック記述子35(c)(t)は、順に、トラックに記憶されたデータのコピーがキャッシュ・メモリ31にキャッシュされているか、もしそうであれば、データがキャッシュされるキャッシュ・スロット31(s)の識別を含む、記憶装置22の関連するトラックについての情報を含む。一つの実施形態において、各トラック記述子35(c)(t)は、キャッシュされたフラグ37(c)(t)及びキャッシュ・スロット・ポインタ(cache slot pointer)38(s)(t)を含む。前記キャッシュされたフラグ37(c)(t)は、設定される場合、前記トラックと関連するトラック上のデータが、キャッシュ・スロット31(s)にキャッシュされることを示し、及びキャッシュ・スロット・ポインタ38(s)(t)は、前記データがキャッシュされる特定のキャッシュ・スロットを識別する。さらに、各トラック記述子35(c)(t)は、前記キャッシュ・スロット・ポインタ38(c)(t)によって識別されるキャッシュ・スロットに記憶された後、前記データが検索オペレーション中にホスト・コンピュータ11(n)によって使用されたかを示すために使用されてもよい、使用されたフラグ39(c)(t)を含む。この「ホストが使用した(host used)」フラグは、前記キャッシュ・スロットが他のアクセス・オペレーションのために再利用されてもよいか決定するために使用されてもよい。
【0018】
ホスト・アダプタ24(n)の各々及び装置コントローラ21(m)の各々は、キャッシュ・メモリ31、キャッシュ・インデックス・ディレクトリ32及びキャッシュ・マネージャ・メモリ33へアクセスするための、キャッシュ・マネージャ16(n)及び23(m)をそれぞれ含む。アクセス・オペレーション中に実行される特定のオペレーションは、実行されるべきアクセス・オペレーション、アクセスされるべき特定のトラックからのデータが、キャッシュ・メモリ31にキャッシュされるのかされないのか、及びキャッシュ・スロット31(s)に含まれるデータが、記憶オペレーション中にホスト・アダプタのキャッシュ・マネージャ16(n)によって変更され又は更新されたのかされなかったのか、を含む多くの要素に依存する。上述のシャガムの出願に記載されているとおり、ホスト・アダプタ24(n)は通常、キャッシュ・メモリ31におけるデータと関連する記憶及び検索オペレーションを実行し、及び装置コントローラ21(m)は、(前記ステージング・オペレーションを)バッファリングするために、記憶装置22におけるデータをキャッシュ・メモリ31へ転送し、及び(前記非ステージング・オペレーションを)記憶するために、キャッシュ・メモリ31からのデータを記憶装置22へ転送するために、「ステージング(staging)」及び「非ステージング(de-staging)」オペレーションを実行する。前記ステージング及び非ステージング・オペレーションを実行する時、装置コントローラ21(m)は一般的に、トラック単位でキャッシュ・メモリ31へ、及びキャッシュ・メモリ31からデータを転送する。すなわち、それらはステージング・オペレーション中に、トラックにおけるデータのすべてを、記憶装置22からキャッシュ・メモリ31におけるキャッシュ・スロット31(s)に転送し、及び非ステージング・オペレーション中に、キャッシュ・メモリ31におけるスロットのデータのすべてを、本来それがそこからステージングされていた記憶装置22のトラックへとコピーする。
【0019】
キャッシュ・マネージャ・メモリ33は、アクセス・オペレーション中に、ホスト・アダプタ24(n)及び記憶コントローラ21(m)によるオペレーションを制御するために使用される多くの作業リストを保守する。特に、キャッシュ・マネージャ・メモリ33は、キャッシュ・スロット置き換えリスト、保留書き込みリスト、及びホスト・アダプタ24(n)並びに記憶コントローラ21(m)が開始オペレーション(図示されていない)を調整するために通信をするために使用する様々なリストを含む。キャッシュ・マネージャ・メモリ33によって保守される様々なリストが、待ち行列、ツリー(tree)、スタック(stack)等を含む、数多くの便利な形式のいずれをも具備してもよいことが評価されるであろう。キャッシュ・スロット置き換えリストは、便利なキャッシュ‐スロット再利用法論に従って、ステージング・オペレーション中にキャッシュ・スロットの再利用を制御するために使用される。ステージング・オペレーション中に、記憶コントローラのキャッシュ・マネージャ23(m)は、キャッシュ・スロット置き換えリストを使用して、記憶装置から検索されたデータをロードするキャッシュ・スロット31(s)を選択する。(前述のシャガムの出願は、本発明の一つの実施形態において使用される、変更され、最も以前に使用されたキャッシュ‐スロット再利用方法論を記載する。)前記保留書き込みリストは、記憶装置に書き込まれなかった、更新されたデータを含むキャッシュ・スロット31(s)を識別するために使用される。非ステージング・オペレーション中に、記憶コントローラのキャッシュ・マネージャ23(m)は、前記書き込み保留リストを使用して、記憶装置22に書き込まれるべきキャッシュ・スロットを識別する。好ましくは、前記保留書き込みリストにおいて識別されるキャッシュ・スロット31(s)は、キャッシュ・スロット置き換えリストにも列挙されないので、更新されたデータを含むキャッシュ・スロット31(s)は、前記データが非ステージング・オペレーションを通して記憶装置に書き込まれなくなるまで使用されない。
【0020】
ステージング・オペレーション調整通信リスト(staging operation coordination communication list)は、複数のステージ要求リスト及び複数のステージ完了リストを含み、一つのステージ要求リストは各データ記憶装置20(m)と関連し、及び一つのステージ完了リストは各ホスト・コンピュータ11(n)と関連する。前記ホスト・アダプタのキャッシュ・マネージャ16(m)は、前記ステージ要求リストを使用して、個別のデータ記憶装置20(m)によって実行されるべきステージ要求を記憶し、及び前記データ記憶装置のキャッシュ・マネージャ23(n)はステージ完了リストを使用して、個別のホスト・アダプタのキャッシュ・マネージャ16(m)に、前記ステージ要求が完了したことを示すためのステージ完了メッセージを記憶する。
【0021】
通常は、ホスト・アダプタ24(n)は、検索オペレーション中、前記データをキャッシュ・メモリ31から検索するよう試みる。しかしながら、前記データがキャシュ・メモリ31にない場合、それによって、検索されるべきデータを含む記録装置22を制御する装置コントローラ21(m)が、検索されるべきデータを含むトラックを「ステージング」できるようにする。すなわち、検索されるべきデータを含むトラックにおけるデータのすべてを、キャッシュ・メモリ31におけるスロットに転送することができるようにする。検索されるべきデータがキャッシュ・メモリ31に入った後、ホスト・アダプタ24(n)は、前記データを前記スロットから検索する。同様に、記憶オペレーション中に、ホスト・アダプタ24(n)は、前記データが書き込まれる特定のトラックが、キャッシュ・メモリ31におけるスロットにあるかを決定し、もしそうであれば前記データを前記スロットに記憶する。しかしながら、前記データがキャッシュ・メモリ31にない場合、ホスト・アダプタ24(n)によって、キャッシュ・マネージャ23(m)及び更新されるべきデータを有するトラックを含む記憶装置22を制御する記憶コントローラ21(m)は、前記トラックと関連してステージング・オペレーションを実行することができるようにし、それによって前記トラックにおける前記データをキャッシュ・メモリ31におけるスロットに転送することができるようにする。前記トラックからのデータが、キャッシュ・メモリ31にコピーされた後、ホスト・アダプタ24(n)は、前記トラックにおけるデータを更新する。
【0022】
記憶コントローラ21(m)は通常、キャッシュ・メモリ31の空白スロットと関連してステージング・オペレーションを実行することを試みる。しかしながら、キャッシュ・メモリ31におけるすべてのキャッシュ・スロットがいっぱいになっていることを記憶コントローラ21(m)が見つけると、それはどんな場合にも、前記ステージング・オペレーションと使用されるべきスロットの一つを選択するであろう。前記データを前記トラックから選択されたキャッシュ・スロットに転送する前に、それは、前記スロットにおけるデータが記憶オペレーションによって更新されたかを決定し、もしそうであれば、前記データを、非ステージング・オペレーションにおいて記憶装置22にコピーし、その後、前記データを前記記憶装置から前記選択されたキャッシュ・スロットにコピーするためにステージング・オペレーションを実行する。前記スロットの前に更新されなかった前記キャッシュ・スロットにおけるデータが再利用される場合(ホスト・アダプタ15(n)が、それとともに検索オペレーションを実行したにすぎない場合に発生するかもしれないことである)、前記キャッシュ・スロットにおけるデータは、記憶装置22におけるデータに対応するので、前記キャッシュ・スロットにおけるデータが更新された場合に、前記記憶コントローラ21(m)は、キャッシュ・スロットと関連して非ステージング・オペレーションを実行するだけでよいことが評価されるであろう。
【0023】
より特定的には、上述のシャガムの出願において記載されたとおり、検索オペレーション中は、起動しているホスト・アダプタ15(n)のキャッシュ・マネージャ16(n)は、前記検索されるべきデータが記憶されている記憶装置22と関連するキャッシュ・インデックス・ディレクトリ32におけるキャッシュ・インデックス・テーブル32(d)に最初にアクセスし、特に、キャッシュされたフラグ37(c)(t)の状態から、前記トラックからのデータが、キャッシュ・メモリにおけるキャッシュ・スロット31(s)にキャッシュされるのかを決定するために、シリンダ記述子36(c)のトラック記述子36(c)(t)にアクセスする。前記トラックからのデータが、キャッシュ・スロット31(s)にキャッシュされることを、前記キャッシュされたフラグ37(c)(t)が示す場合、前記キャッシュ・マネージャ16(n)は、前記キャッシュ・スロット・ポインタ38(t)を使用して、前記データがキャッシュされる特定のキャッシュ・スロット31(s)を識別し、及び要求されたデータを前記キャッシュ・スロット31(s)から検索する。
【0024】
その一方で、前記キャッシュ・マネージャ16(n)が前記キャッシュされたフラグ37(c)(t)から、前記トラックからのデータがキャッシュ・スロット31(s)にキャッシュされていないことを決定する場合、それは、検索されるべきデータを保守する記憶装置22のための記憶コントローラ21(m)を使用可能にするためのステージ要求を生成し、前記データ記憶装置21(m)のために、前記ステージ要求待ち行列に前記ステージ要求をロードし、及び記憶コントローラ21(m)に、ステージ要求が、前記ステージ要求待ち行列にロードされたことを通知する。前記通知を受信した後、ある点において、記憶コントローラ21(m)は、前記ステージ要求を検索し、及びそれに応答してステージング・オペレーションを実行する。前記ステージング・オペレーションを実行する時に、記憶コントローラ21(m)は、前記データを前記要求されたトラックから検索し、上述のキャッシュ・スロット置き換えリストを使用してキャッシュ・スロット31(s)を選択し、前記データをキャッシュ・ストッロ31(s)にロードし、及び前記トラックからのデータがキャッシュ・スロット31(s)にあることを示すために、記憶装置22に関連するキャッシュ・インデックス・テーブル32(d)におけるトラック記述子36(c)(t)を更新し、特に前記キャッシュされたフラグ37(c)(t)を設定し、及び前記キャッシュ・スロット・ポインタ38(c)(t)における前記キャッシュ・スロットに、ポインタをロードする。
【0025】
記憶コントローラ21(m)がステージング・オペレーションを完了した後、それは、ステージングが完了したメッセージを、前記ステージ要求を発行したホスト・コンピュータ11(n)に関連したキャッシュ・マネージャ・メモリ33におけるステージ完了リストにロードし、及びステージングが完了したメッセージがそこにロードされたことを、ホスト・コンピュータのキャッシュ・マネージャ16(n)に通知する。前記通知を受信した後、ある点において、前記ホスト・コンピュータのキャッシュ・マネージャ16(n)は、上述のとおり、前記検索要求と関連して実行されるオペレーションを反復することができ、特に検索されるべきデータが記憶される記憶装置22と関連したキャッシュ・インデックス・ディレクトリ32におけるキャシュ・インデックス・テーブル32(d)にアクセスし、特に、前記キャッシュされたフラグ37(c)(t)の状態から、前記トラックからのデータがキャッシュ・メモリにおけるキャッシュ・スロット31(s)にキャッシュされているかを決定するために、もしそうであれば、キャッシュ・スロット・ポインタ38(t)を使用して、前記データがキャッシュされる特定のキャッシュ・スロット31(s)を識別するため、及び前記要求されるデータをキャッシュ・スロット31(s)から検索するために、シリンダ記述子36(c)のトラック記述子36(c)(t)にアクセスする。この点においては、前記キャッシュされたフラグ37(c)(t)は、前記トラックからのデータがキャッシュ・スロット31(s)にキャッシュされることを示すので、前記ホスト・アダプタのキャッシュ・マネージャ16(n)は、前記検索オペレーションを完了させることができるであろう。
【0026】
類似のオペレーションが記憶オペレーション中に発生し、そこでは特定のトラックにおけるデータが更新され、更新されるべきデータを含むキャッシュ・スロット31(s)の識別を、置き換えリストから削除し、及びそれを保留書き込みリストにロードする追加のオペレーションを伴う。記憶オペレーション中に、起動しているホスト・アダプタ15(n)のキャッシュ・マネージャ16(n)は、更新されるべきデータが記憶されている記憶装置22に関連したキャッシュ・インデックス・ディレクトリ32におけるキャッシュ・インデックス・テーブル32(d)に最初にアクセスし、特に前記キャッシュされたフラグ37(c)(t)から、前記トラックからのデータが、前記キャッシュ・メモリにおけるキャッシュ・スロット31(s)にキャッシュされるかを決定するためにシリンダ記述子36(c)のトラック記述子36(c)(t)にアクセスする。前記トラックからのデータがキャッシュ・スロット31(s)にキャッシュされていることを前記キャッシュされたフラグ37(c)(t)が示す場合、キャッシュ・マネージャ16(n)は、キャッシュ・スロット・ポインタ38(t)を使用して、前記データがキャッシュされる特定のキャッシュ・スロット31(s)を識別し、及び前記更新されたデータをキャッシュ・スロット31(s)にロードする。さらに、ホスト・アダプタのキャッシュ・マネージャ16(n)は、選択されたキャッシュ・スロット31(s)の識別を、前記置き換えリストから前記保留書き込みリストへと移すので、前記キャッシュ・スロット31(s)は、非ステージング・オペレーションが、キャッシュ・スロット31(s)と関連して実行されるまで再利用されない。
【0027】
その一方で、キャッシュ・マネージャ16(n)が、前記キャッシュされたフラグ36(c)(t)から、前記トラックからのデータがキャッシュ・スロット31(s)にキャッシュされていないと決定する場合、それは、検索されるべきデータを保守する記憶装置22のために、記憶コントローラ21(m)を使用可能にするためにステージ要求を生成し、前記ステージ要求を、データ記憶装置21(m)に対してステージ要求待ち行列にロードし、及びステージ要求が前記ステージ要求待ち行列にロードされたことを記憶コントローラ21(m)に通知する。前記通知を受信した後、ある点で、記憶コントローラ21(m)は、前記ステージ要求を検索し、及びそれに応答してステージング・オペレーションを実行する。ステージング・オペレーションを実行する時に、記憶コントローラ21(m)は、前記データを前記要求されたトラックから検索し、キャッシュ・スロット31(s)を選択し、前記データをキャッシュ・スロット31(s)にロードし、及び前記トラックからのデータがキャッシュ・スロット31(s)にあることを示すために、記憶装置22と関連したキャッシュ・インデックス・テーブル32(d)におけるトラック記述子36(c)(t)を更新し、特に前記キャッシュされたフラグ37(c)(t)を設定し、及び前記キャッシュ・スロットへのポインタを前記キャッシュ・スロット・ポインタ38(c)(t)にロードする。
【0028】
記憶コントローラ21(m)が前記ステージング・オペレーションを完了した後、それは、前記ステージング要求を発行したホスト・コンピュータ11(n)に関連したキャッシュ・マネージャ・メモリ33におけるステージング完了待ち行列に、ステージング完了メッセージをロードし、及びステージング完了メッセージがそこにロードされたことをキャッシュ・マネージャ16(n)に通知する。前記通知を受信した後、ある点において、キャッシュ・マネージャ16(n)は、上述のとおり検索要求と関連して実行されるオペレーションを反復することができ、特に、検索されるべきデータが記憶されている記憶装置22に関連したキャッシュ・インデックス・ディレクトリ32におけるキャッシュ・インデックス・テーブル32(d)にアクセスし、特に、前記キャッシュされたフラグ37(c)(t)の状態から、前記トラックからのデータが前記キャッシュ・メモリにおけるキャッシュ・スロット31(s)にキャッシュされることを決定するために、及びもしそうであれば、キャッシュ・スロット・ポインタ38(t)を使用して、前記データがキャッシュされている特定のキャッシュ・スロット31(s)を識別するため、及び前記要求されたデータをキャッシュ・スロット31(s)から検索するために、シリンダ記述子36(c)のトラック記述子36(c)(t)にアクセスする。この点において、前記キャッシュされたフラグ37(c)(t)は、前記トラックからのデータがキャッシュ・スロット31(s)にキャッシュされていることを示すので、キャッシュ・マネージャ16(n)は、上述のとおり、記憶オペレーションを完了させることができるであろう。
【0029】
上述のとおり、データ記憶装置のキャッシュ・マネージャ23(m)はまた、本来の記憶装置22に書き戻されるべき更新されたデータを含むキャッシュ・スロット31(s)及び個別のキャッシュ・スロット31(s)にキャッシュされたデータを有するトラックを識別するために、前記保留書き込みリストを使用して非ステージング・オペレーションも実行する。キャッシュ・スロット31(s)が非ステージングされる時、その点においては、キャッシュ・スロット31(s)におけるデータは、個別の記憶装置22上にあるデータに対応するので、非ステージング・オペレーションを実行するデータ記憶装置のキャッシュ・マネージャ23(m)は、前記保留書き込みリストから前記キャッシュ・スロットの識別を削除し、それを置き換えリストに戻すので、キャッシュ・スロット31(s)は削除されることができる。しかしながら、ホスト・コンピュータのキャッシュ・マネージャ16(n)は、スロットにキャッシュされたトラックにあるデータがステージングされた後に、及びそれが非ステージングされる前に、同じキャッシュ・スロット31(s)におけるデータと関連して多くの検索オペレーション及び/又は記憶オペレーションを実行してもよいことが評価されるであろうし、それゆえに、キャッシュ・スロット31(s)におけるデータは、それが非ステージングされる前に何回も更新されることができる。さらに、キャッシュ・スロット31(s)が非ステージングされた後に、キャッシュ・スロット31(s)がステージング・オペレーション中に再利用される前に、記憶オペレーション中にもそれは更新されてよい。しかしながら、それが発生する時は、上述のとおり、ホスト・コンピュータのキャッシュ・マネージャ16(m)は、キャッシュ・スロットの識別を置き換えリストから削除し、及びそれを書き込み保留リストに記憶オペレーションの一部として配置するので、キャッシュ・スロット31(s)は、それが再利用される前に、他の非ステージング・オペレーションにかけられるであろう。このように、特定のキャッシュ・スロット31(s)は、再利用されることなく、同じ記憶装置22、シリンダ及びトラックに対してキャッシュされたデータとともに、何回も非ステージングされてもよい。
【0030】
本発明は、比較的高密度のデータを記憶し、及びそうでなければ記憶される必要がある情報の量を低減させることができる記憶装置の使用に効果的に対処するために、個別のトラック記述子36(c)(t)(図2参照)におけるトラック記述子情報をコンパクトに提供するための配列を提供する。図3は、本発明の一つの実施形態と関連した使用について、参照番号36(c)(t)によって識別されるトラック記述子の構造を示している。
【0031】
図3を参照すると、トラック記述子36(c)(t)は、ヘッダ40及びセクタCRCセクション41を含む。ヘッダ40は、前記トラックがキャッシュ・メモリ31にキャッシュされているかについての情報、及びもしそうであれば前記トラックがキャッシュされているキャッシュ・スロット31(s)へのポインタを含む、前記トラックについての情報を含む。さらに、前記ヘッダ40は、他のデジタル・データ記憶システム上のトラックについてのミラー・コピー(mirror copies)が存在するかを示す。その一方で、前記セクタCRCセクション(sector CRC section)41は、トラックにおける個別のレコードについてのレコードに特化したCRC情報を含む。一つの実施形態において、前記レコードは、例えば一つ以上のブロック又はセクタ(一般的には「セクタ」と称される)等、固定された長さであり、及び各トラックは予め決められた数の前記セクタを具備する。
【0032】
より特定的には、ヘッダ40は、トラック/キャッシュ情報フラグ・フィールド50、テーブルCRCフィールド51、拡張フォーマット・コード・フィールド52、ミラー・フラグ・レコード・フラグ53、及びキャッシュ・スロット・ポインタ・フィールド54を含む、図3に記載の多くのフラグ及びフィールドを含む。トラック/キャッシュ情報フラグ・フィールド50は、(図2と関連して上述された、キャッシュされたフラグ37(c)(t)に対応する)キャッシュ・フラグにおけるトラック、先取りされたトラック・フラグ、トラック書き込み保留フラグ、及び永久にキャッシュされたトラック・フラグを含むいくつかのフラグ(個別には図示されていない)を含み、そのすべては、前記トラックに関連したキャッシュを管理する時に使用される。前記キャッシュ・フラグにおけるトラックは、設定される場合、前記トラックがキャッシュ・メモリ31に現在キャッシュされていることを示す;それが発生する時、(図2を参照して上述された、キャッシュ・スロット・ポインタ38(c)(t)に対応する)キャッシュ・スロット・ポインタ・フィールド54は、前記トラックがキャッシュされるキャッシュ・スロット31(s)を識別するポインタを含む。前記先取りトラック・フラグは、設定される場合、ホスト・アダプタのキャッシュ・マネージャ25(n)によってそうするように要求される前に、データ記憶装置のキャッシュ・マネージャ23(m)が、前記トラックを先取りし、及びそれをキャッシュ・メモリ31にロードしたことを示す。一般的には、キャッシュ・マネージャ23(m)は、ホスト・アダプタのキャッシュ・マネージャ25(n)が、一連の先行するトラックに対して一連のステージング・オペレーションを開始する場合、特定のトラックを先取りしてもよく、それは前記関連するホスト・コンピュータ11(n)によって処理されるプログラムが、特定のトラックがステージングされることも要求するであろうことを示しうる。
【0033】
トラック/キャッシュ情報フラグ・フィールド50の前記永久にキャッシュされたトラック・フラグは、前記トラックがキャッシュ・スロット31(s)に永久にキャッシュされるべきであり、及び上書きされるべきでない場合に設定される。ホスト・コンピュータのキャッシュ・マネージャ25(n)は、前記関連したホスト・コンピュータによって処理されているプログラムが、前記トラックにおけるレコードに頻繁にアクセスすると思われる場合に、トラックが永久にキャッシュされることを要求してもよい。
【0034】
前記トラック書き込み保留フラグは、前記トラックにおける情報が、ホスト・コンピュータ11(n)によって更新されたこと、及びデータ記憶装置20(m)によって非ステージングされる必要があることを示すために使用される。非ステージング・オペレーションが実行されるべきであることを示すために、前記書き込み保留フラグが設定される一方で、前記トラックがキャッシュされるキャッシュ・スロット31(s)は、非ステージング・オペレーションが完了するまで、他のトラックに対しては使用されない。永久にキャッシュされたトラック・フラグも設定される場合、非ステージング・オペレーションの後で、キャッシュ・スロット31(s)が他のトラックに対して使用されず、代わりに前記トラックが、永久にキャッシュされたトラック・フラグが設定されるかぎり、キャッシュ・スロット31(s)に残るであろうことは、評価されるであろう。
【0035】
トラック記述子36(c)(t)のテーブルCRCフィールド51は、トラック記述子36(c)(t)に対する巡回冗長検索(cyclical redundancy check)(CRC)値に対応するCRC値を記憶する。前記CRC値は、他のフィールド50、及び52乃至54及びセクタCRCのセクション41における情報から、便利なCRCアルゴリズムを使用して生成されることができ、及び前記フィールド50及び52乃至54及び前記本体セクション41における情報を検査するために使用されることができる。
【0036】
拡張フォーマット・コード・フィールド52は、前記データが、固定セクタ記憶フォーマットに加えて、あるフォーマットで記憶される場合に、トラック記述子36(c)(t)と関連して、トラックに記憶された各々のデータ・アイテムについてのフォーマット情報を提供するために使用されることができる。
【0037】
ミラー・フラグ・フィールド53は、前記トラックが一つ以上の他のデジタル・データ記憶サブシステムにミラーされたか、もしそうであれば、前記ミラーは最新のものであるかを示す一つ以上のフラグを含む。一つの実施形態において、前記デジタル・データ記憶サブシステム12は、互いにミラーを提供するように機能するデジタル・データ記憶サブシステムのクラスタにおける4つのうちの1つであり、及びミラー・フラグ・フィールド53におけるフラグは、前記デジタル・データ記憶サブシステムのいずれに前記トラックがミラーされたのか、及び前記デジタル・データ記憶サブシステムの各々におけるトラックの更新状態の両方を示す。前記デジタル・データ記憶サブシステムは、ミラー・フラグ53を使用して、トラックがミラーされた場合に、前記ミラーのすべてが更新され及び同期された状態で保守されているかを検査することができる。
【0038】
前記セクタCRCのセクション41は、トラック記述子36(c)(t)と関連した前記トラック上の各セクタについて、従来のあらゆるCRCアルゴリズムを使用して生成されるセクタについてのセクタCRC値を含む。一つの実施形態において、セクタCRCのセクション41に記憶された各CRC値は、1バイトのオーダ上にあり、及び個別のCRC値を生成するために使用されるCRCアルゴリズムが、通常にマルチバイト(multi-byte)CRC値を生成する場合、前記バイトの一つが、セクタCRCのセクション41において使用されてもよく、又は例えば単一のバイトを形成するためのバイトによって表示される値を加えることによって、様々なバイトが結合されてもよい。一般的に、個別の記憶装置22に記憶された各セクタも、それとともに記憶されたCRC値を有し、それはセクタCRCのセクション41に記憶されたCRC値に一致し、及びキャッシュ・マネージャ23(m)は、特に、ステージング・オペレーション中にセクタCRCのセクション41に記憶されたCRC値を使用することができ、そこでは、ステージングされるべきセクタが正しいセクタであり、及び前記セクタに記憶されたデータが正しいことを確認するために、データが前記記憶装置からキャッシュ・メモリ31へ転送される。ホスト・アダプタ24(n)がトラックにおけるセクタについてのデータを更新する場合、それは、前記セクタにおける前記更新されたデータについての適切なCRC値と一致するために、前記セクタCRCのセクション41に記憶されたトラックについてのCRC値を更新するであろう;前記オペレーションにおいて、前記ホスト・アダプタ24(n)は、個別の記憶装置に記憶されたデータについてのCRC値を生成する時に使用される同じCRC生成アルゴリズムを使用するであろう。さらに、キャッシュ・マネージャ23(m)がセクタを非ステージングする場合、上述のとおり、それは前記セクタにおけるデータが更新された場合に発生し、新しいCRC値が、前記セクタにそれとともに記憶するためのデータのために生成される。
【0039】
本発明は、多くの効果を提供する。特に、大きなトラック記述子36(c)(t)を対応して要求することなく、大多数のレコードにおける大量の情報をそれぞれが記憶することができるトラックを有する記憶装置22に記憶されたレコードについてのフォーマット情報に効率的に対応するために、様々なトラックについてのフォーマット情報が効率的に記憶されるデジタル・データ記憶サブシステムを提供する。
【0040】
図1乃至3を参照した上述のデジタル・データ記憶サブシステムには、多くの変更がされてもよいことが評価されるであろう。例えば、記憶サブシステム12は、複数のホスト・コンピュータ11(n)と接続されているものとして説明されてきたが、前記記憶サブシステムは、単一のホスト・コンピュータ11(n)のみと接続されて使用されてもよいことが評価されるであろう。さらに、前記記憶サブシステム12は、複数のデータ記憶装置20(m)及び複数の記憶装置22を含むものとして説明されてきたが、記憶サブシステム12は、単一のデータ記憶装置及び単一の記憶装置を備えていてもよいことが評価されるであろう。
【0041】
本発明に従ったシステムは、特殊ハードウェア又は汎用コンピュータ・システムから、全体的あるいは部分的に、又はそれらの組み合わせで構築されてもよく、それのどの部分も適切なプログラムによって制御されてよい。
【0042】
前述の説明は、この発明の特定の実施形態に限定されてきた。しかしながら、本発明の効果のいくつか又はすべてを獲得しつつ、本発明に様々な変形及び変更がなされてもよいことが明らかになるであろう。添付の特許請求の範囲の目的は、これら及び本発明の本来の精神と範疇の中に入るような変形及び変更を網羅することである。
【0043】
本発明に従ったシステムは、特殊ハードウェア又は汎用コンピュータ・システムから、全体的あるいは部分的に、又はそれらの組み合わせで構築されてもよく、それのどの部分も適切なプログラムによって制御されてよい。あらゆるプログラムは、全体的又は部分的に、従来の方法で前記システムの一部を具備し、あるいは前記システム上に記憶されてもよく、又は従来の方法で情報を転送するためのネットワーク又は他のメカニズムを介して、全体的にあるいは部分的に前記システムに提供されてもよい。さらに、前記システムは、前記システムに直接接続され、又は従来の方法で情報を転送するためのネットワークあるいは他のメカニズムを介して、前記システムに情報を転送してもよいオペレータ入力エレメント(operator input elements)(図示されていない)を使用して、オペレータによって提供される情報の手段によって操作され、及び/又は制御されてもよいことが評価されるであろう。
【0044】
前述の説明は、この発明の特定の実施形態に限定されてきた。しかしながら、本発明の効果のいくつか又はすべてを獲得しつつ、本発明に様々な変形及び変更がなされてもよいことが明らかになるであろう。添付の特許請求の範囲の目的は、これら及び本発明の本来の精神と範疇の中に入るような変形及び変更を網羅することである。
【0045】
新規の発明として特許を請求し、及びアメリカ合衆国特許証によって保護されることを望む内容は、前述の通りである。
【図面の簡単な説明】
【図1】図1は、本発明に従って構築された記憶サブシステムを含む、デジタル・コンピュータ・システムの機能的ブロック図である。
【図2】図2は、図1に記載された記憶サブシステムのオペレーション(operation)を理解するのに有用であるキャッシュ・メモリ及びキャッシュ・インデックス・ディレクトリの編成を示す。
【図3】図3は、図2に記載されたキャッシュ・メモリにおいて有用な記述子の構造を示しており、前記記述子は、前記記憶サブシステムによって記憶された情報についてのフォーマット情報を提供する。
【符号の説明】
10 デジタル・コンピュータ・システム
11 ホスト・コンピュータ
12 デジタル・データ記憶サブシステム
13 バス
15 ホスト・アダプタ
16 キャッシュ・マネージャ
20 データ記憶装置
21 記憶コントローラ
22 記憶装置
23 キャッシュ・マネージャ
24 ホスト・アダプタ
25 キャッシュ・マネージャ
30 共通メモリ・サブシステム
31 キャッシュ・メモリ
32 キャッシュ・インデックス・ディレクトリ
33 キャッシュ・マネージャ・メモリ

Claims (12)

  1. デジタル・データ記憶システムであって、
    複数の記憶場所を有する少なくとも一つの記憶装置エレメントであって、各記憶場所はレコードを読出可能に記憶、前記少なくとも一つの記憶装置エレメントは、一連のレコードを読出可能に記憶する、前記少なくとも一つの記憶装置エレメントと、
    各記憶場所に関連する記述子を記憶するメモリであって、前記記述子は、前記記憶装置エレメントに関連する各記憶場所に格納されたレコードに対するチェック値を有し、前記メモリは、前記少なくとも一つの記憶装置エレメントと関連する前記記述子と関連する、一連のチェック値を有する記述子を記憶、前記一連のチェック値の各々は各一つのレコードと関連している、前記メモリと、
    制御装置であって、
    i.一つの記憶場所からの一つのレコードの読出を要求する読出要求の受信に応答して、一つのレコードの読出を開始し、
    ii.前記要求に応答して前記一つのレコードが読出された後、前記読出要求において特定された記憶場所に関連する記述子からのチェック値を用いて、前記一つのレコードが、前記読出要求において特定された一つの記憶場所からのものであることを検証する前記制御装置と、
    複数のキャッシュ・スロットを含むキャッシュ・メモリとを備え、
    前記制御装置は、一つの記憶場所から前記一つのレコードを読出した後、該レコードを一つのキャッシュ・スロットに格納し、該キャッシュ・スロットへのポインタを前記読出要求において特定された記憶場所に関連する前記記述子に格納し、
    前記一連のレコードの各一つに対する読出要求に応答して前記少なくとも一つの記憶装置エレメントから前記一連のレコードの各一つを読出した後、少なくとも一つの記憶場所に関連する記述子からの、前記一連のレコードの各一つに関連する一連のチェック値の各一つを用いて、一つのレコードが、前記読出要求において特定された一つの記憶場所に記憶された一連のレコードの各一つであることを検証し、
    前記一つのレコードが、前記読出要求において特定された一つの記憶場所に記憶された一連のレコードの各一つであるという判定に基づいて、前記一つのレコードを選択された一つのキャッシュ・スロットに選択的に記憶、前記制御装置は、同じ記憶装置エレメントからの複数のレコードが同じキャッシュ・スロットに記憶されるように一つのキャッシュ・スロットを選択する、デジタル・データ記憶システム。
  2. 前記制御装置はさらに、一つの記憶場所に記憶された一つのレコードが更新された場合に、前記一つのレコードに対するチェック値を生成し、前記生成されたチェック値を前記一つの記憶場所に関連する前記記述子に記憶する、請求項1に記載のデジタル・データ記憶システム。
  3. 前記制御装置はさらに、一つのキャッシュ・スロットに記憶された一つのレコードが更新された場合に、前記一つのレコードに対する更新されたチェック値を生成し、前記更新されたチェック値を前記一つのレコードに関連する前記メモリにおける前記記述子に記憶する、請求項1に記載のデジタル・データ記憶システム。
  4. デジタル・データ記憶システムを動作させるための方法であって、前記デジタル・データ記憶システムは、複数の記憶場所を有する少なくとも一つの記憶装置エレメントであって、各記憶場所はレコードを読出可能に記憶する、前記少なくとも一つの記憶装置エレメントと、各記憶場所に関連する記述子を記憶するメモリであって、前記記述子は、前記記憶装置エレメントに関連する各記憶場所に格納されたレコードに対するチェック値を有し、前記デジタル・データ記憶システムは、更に、複数のキャッシュ・スロットを含むキャッシュ・メモリを備え、前記メモリは、前記少なくとも一つの記憶装置エレメントと関連する前記記述子と関連する、一連のチェック値を有する記述子を記憶、前記一連のチェック値の各々は各一つのレコードと関連しており、前記方法は、
    一つの記憶場所からの一つのレコードの読出を要求する読出要求に応答して、レコードの読出を開始する工程と、
    一つの記憶場所からレコードが読出された後、該レコードを一つのキャッシュ・スロットに記憶し、該キャッシュ・スロットへのポインタを前記記述子に格納する工程と、
    前記読出要求において特定された記憶場所に関連する記述子からのチェック値を用いて、レコードが前記読出要求において特定された一つの記憶場所からのものであることを検証する工程と、
    前記一連のレコードの各一つに対する読出要求に応答して前記少なくとも一つの記憶装置エレメントから前記一連のレコードの各一つを読出した後、少なくとも一つの記憶場所に関連する記述子からの、前記一連のレコードの各一つに関連する一連のチェック値の各一つを用いて、一つのレコードが、前記読出要求において特定された一つの記憶場所に記憶された一連のレコードの各一つであることを検証する工程と、
    前記一つのレコードが、前記読出要求において特定された一つの記憶場所に記憶された一連のレコードの各一つであるという判定に基づいて、前記一つのレコードを選択された一つのキャッシュ・スロットに記憶する工程とを備え、選択は、同じ記憶装置エレメントからの複数のレコードが同じキャッシュ・スロットに記憶されるようになされる、方法。
  5. 一つの記憶場所に記憶された一つのレコードが更新された場合に、前記一つのレコードに対するチェック値を生成し、前記生成されたチェック値を前記一つの記憶場所に関連する前記メモリにおける前記記述子に記憶する工程を更に備える、請求項4に記載の方法。
  6. 一つのキャッシュ・スロットに記憶された一つのレコードが更新された場合に、前記レコードに対する更新されたチェック値を生成し、前記更新されたチェック値を前記一つのレコードに関連する前記メモリにおける前記記述子に記憶する工程を更に備える、請求項4に記載の方法。
  7. デジタル・データ記憶システムであって、
    複数の記憶場所を有する記憶装置エレメントであって、各記憶場所は読出可能なレコードを記憶する、前記記憶装置エレメントと、
    各記憶場所に関連する記述子データを記憶するメモリであって、各記述子データは、該記述子データに関連する各記憶場所に格納されたレコードに対するチェック値を有する前記メモリと、
    複数のキャッシュ・スロットを含むキャッシュ・メモリと、
    制御装置であって、
    i.一つの記憶場所からのレコードの読出を要求する読出要求の受信に応答して、レコードの読出を開始し、
    ii.前記要求に応答して一つの記憶場所から前記レコードが読出された後、前記読出要求において特定された記憶場所に関連する記述子からのチェック値を用いて、前記レコードが、前記読出要求において特定された記憶場所からのものであることを検証する前記制御装置とを備え、
    前記制御装置は、前記レコードを読出した後、前記レコードを一つのキャッシュ・スロットに選択的に記憶するとともに、ポインタを記述子データに格納し、前記レコードの選択的記憶は、同じ記憶装置エレメントからの複数のレコードが同じキャッシュ・スロットに記憶されるようになされ、
    前記記述子データは、ヘッダ・セクションとチェック値セクションとを含み、
    前記ヘッダ・セクションは各記憶場所に記憶されたレコードについての情報を含み、
    前記チェック値セクションは、前記記述子データに関連する各記憶場所に格納されたレコードに対するチェック値を含む、デジタル・データ記憶システム。
  8. 前記制御装置はさらに、一つの記憶場所に記憶されたレコードが更新された場合に、前記レコードに対するチェック値を生成し、該チェック値を前記一つの記憶場所に関連する前記記述子データに格納する、請求項7に記載のデジタル・データ記憶システム。
  9. 前記制御装置はさらに、一つのキャッシュ・スロットに記憶されたレコードが更新された場合に、前記レコードに対するチェック値を生成し、該チェック値を前記一つの記憶場所に関連する前記記述子データに格納する、請求項7に記載のデジタル・データ記憶システム。
  10. デジタル・データ記憶システムを動作させるための方法であって、前記デジタル・データ記憶システムは、複数の記憶場所を有する記憶装置エレメントであって、各記憶場所は読出可能なレコードを記憶する、前記記憶装置エレメントと、各記憶場所に関連する記述子データを記憶するメモリであって、前記記述子データは、該記述子データに関連する各記憶場所に格納されたレコードに対するチェック値を有し、前記デジタル・データ記憶システムは、更に、複数のキャッシュ・スロットを含むキャッシュ・メモリを備え、前記方法は、
    一つの記憶場所からのレコードの読出を要求する読出要求に応答して、レコードの読出を開始する工程と、
    一つの記憶場所からレコードが読出された後、該レコードを一つのキャッシュ・スロットに選択的に記憶し、ポインタを前記記述子データに格納することであって、前記レコードの選択的記憶は、同じ記憶装置エレメントからの複数のレコードが同じキャッシュ・スロットに記憶されるようになされる、前記記憶する工程とを備え、
    前記記述子データは、ヘッダ・セクションとチェック値セクションとを含み、
    前記ヘッダ・セクションは各記憶場所に記憶されたレコードについての情報を含み、
    前記チェック値セクションは、前記記述子データに関連する各記憶場所に格納されたレコードに対するチェック値を含む、方法。
  11. 一つの記憶場所に記憶されたレコードが更新された場合に、前記レコードに対するチェック値を生成し、前記生成されたチェック値を一つの記憶場所に関連する前記記述子データに格納する工程を更に備える、請求項10に記載の方法。
  12. 一つのキャッシュ・スロットに記憶された一つのレコードが更新された場合に、前記レコードに対するチェック値を生成し、該チェック値を前記一つの記憶場所に関連する前記記述子データに格納する工程を更に備える、請求項10に記載の方法。
JP2000291217A 1999-08-20 2000-08-21 記憶されたレコードについてのフォーマット情報を効率的に提供するためのディレクトリを含むデジタル・データ・サブシステム Expired - Lifetime JP4727800B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/378,643 US6629199B1 (en) 1999-08-20 1999-08-20 Digital data storage system including directory for efficiently providing formatting information for stored records and utilization of a check value for verifying that a record is from a particular storage location
US09/378643 1999-08-20

Publications (2)

Publication Number Publication Date
JP2001195197A JP2001195197A (ja) 2001-07-19
JP4727800B2 true JP4727800B2 (ja) 2011-07-20

Family

ID=23493947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000291217A Expired - Lifetime JP4727800B2 (ja) 1999-08-20 2000-08-21 記憶されたレコードについてのフォーマット情報を効率的に提供するためのディレクトリを含むデジタル・データ・サブシステム

Country Status (3)

Country Link
US (2) US6629199B1 (ja)
EP (1) EP1079297A3 (ja)
JP (1) JP4727800B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629199B1 (en) * 1999-08-20 2003-09-30 Emc Corporation Digital data storage system including directory for efficiently providing formatting information for stored records and utilization of a check value for verifying that a record is from a particular storage location
US6782444B1 (en) * 2001-11-15 2004-08-24 Emc Corporation Digital data storage subsystem including directory for efficiently providing formatting information for stored records
JP4080227B2 (ja) * 2002-03-28 2008-04-23 株式会社日立製作所 データ検証方法およびディスクアレイ装置
IL154346A (en) * 2003-02-06 2010-06-16 Eyal Cohen Method and system for protecting against illegal copy and/or use of digital content stored on optical or other media
JP2004318485A (ja) 2003-04-16 2004-11-11 Hitachi Ltd データ書き込み方法、データ検証方法、コンピュータの制御方法、コンピュータ、ディスクアレイ装置、及びディスクドライブ
KR100662918B1 (ko) * 2004-09-20 2007-01-02 삼성전자주식회사 오픈케이블 및 상기 오픈케이블에서 서비스 정보 갱신 방법
US20080162821A1 (en) * 2006-12-27 2008-07-03 Duran Louis A Hard disk caching with automated discovery of cacheable files
US8850114B2 (en) 2010-09-07 2014-09-30 Daniel L Rosenband Storage array controller for flash-based storage devices
US9773059B2 (en) * 2010-11-09 2017-09-26 Storagedna, Inc. Tape data management
CN103544426A (zh) * 2012-07-13 2014-01-29 深圳市腾讯计算机系统有限公司 一种触摸屏认证方法、装置及设备
US9860153B2 (en) * 2014-12-23 2018-01-02 Intel Corporation Technologies for protocol execution with aggregation and caching
US10997205B2 (en) 2019-01-22 2021-05-04 International Business Machines Corporation Data origin verification

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206939A (en) * 1990-09-24 1993-04-27 Emc Corporation System and method for disk mapping and data retrieval
JPH05241741A (ja) * 1990-12-31 1993-09-21 Intel Corp 不揮発性半導体メモリ及びこれを使用したコンピュータシステム
JPH07306759A (ja) * 1994-05-05 1995-11-21 Internatl Business Mach Corp <Ibm> ディスク・アレイにデータを書き込むためのシステムおよび関連する方法
US5719885A (en) * 1995-12-28 1998-02-17 Emc Corporation Storage reliability method and apparatus

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6050669A (ja) * 1983-08-29 1985-03-20 Hitachi Ltd デ−タ復調方式
US4792898A (en) 1986-09-26 1988-12-20 Mccarthy Donald F Method and apparatus for temporarily storing multiple data records
US5909700A (en) * 1996-12-23 1999-06-01 Emc Corporation Back-up data storage facility incorporating filtering to select data items to be backed up
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5274799A (en) * 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache
JP2810593B2 (ja) * 1992-05-13 1998-10-15 三菱電機株式会社 記憶装置
US5581723A (en) * 1993-02-19 1996-12-03 Intel Corporation Method and apparatus for retaining flash block structure data during erase operations in a flash EEPROM memory array
US5583876A (en) * 1993-10-05 1996-12-10 Hitachi, Ltd. Disk array device and method of updating error correction codes by collectively writing new error correction code at sequentially accessible locations
JP3249868B2 (ja) * 1993-11-19 2002-01-21 株式会社日立製作所 アレイ形式の記憶装置システム
US5530948A (en) * 1993-12-30 1996-06-25 International Business Machines Corporation System and method for command queuing on raid levels 4 and 5 parity drives
US5571937A (en) * 1994-05-13 1996-11-05 Sloan-Kettering Institute For Cancer Research Complementary DNA and toxins
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
JP3011035B2 (ja) * 1994-12-08 2000-02-21 株式会社日立製作所 計算機システム
JP2969251B2 (ja) * 1995-01-26 1999-11-02 日本アイ・ビー・エム株式会社 データ記憶システム及びデータ記憶システムのパリティ発生方法
US5640506A (en) * 1995-02-15 1997-06-17 Mti Technology Corporation Integrity protection for parity calculation for raid parity cache
US5802557A (en) 1996-03-18 1998-09-01 Emc Corp System and method for caching information in a digital data storage subsystem
JPH09330273A (ja) * 1996-06-10 1997-12-22 Mitsubishi Electric Corp メモリカードおよびメモリカードにおける誤り訂正方法
US5809435A (en) * 1996-12-23 1998-09-15 Emc Corporation Efficient index arrangement and method for identifying valid records stored on logging digital data storage subsystem
US6029229A (en) * 1997-01-29 2000-02-22 Emc Corporation Digital data storage subsystem including directory for efficiently providing formatting information for stored records
US6253349B1 (en) * 1997-04-02 2001-06-26 Matsushita Electric Industrial Co., Ltd. Error detective information adding equipment
US6128698A (en) * 1997-08-04 2000-10-03 Exabyte Corporation Tape drive emulator for removable disk drive
US6009547A (en) * 1997-12-03 1999-12-28 International Business Machines Corporation ECC in memory arrays having subsequent insertion of content
US6029186A (en) * 1998-01-20 2000-02-22 3Com Corporation High speed calculation of cyclical redundancy check sums
US6216247B1 (en) * 1998-05-29 2001-04-10 Intel Corporation 32-bit mode for a 64-bit ECC capable memory subsystem
US6092231A (en) * 1998-06-12 2000-07-18 Qlogic Corporation Circuit and method for rapid checking of error correction codes using cyclic redundancy check
US6128760A (en) * 1998-10-13 2000-10-03 Lsi Logic Corporation Method and apparatus for calculating a CRC remainder
US6629199B1 (en) 1999-08-20 2003-09-30 Emc Corporation Digital data storage system including directory for efficiently providing formatting information for stored records and utilization of a check value for verifying that a record is from a particular storage location
US6330655B1 (en) * 1999-08-20 2001-12-11 Emc Corporation Digital data storage subsystem including directory for efficiently providing formatting information for stored records

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206939A (en) * 1990-09-24 1993-04-27 Emc Corporation System and method for disk mapping and data retrieval
JPH05241741A (ja) * 1990-12-31 1993-09-21 Intel Corp 不揮発性半導体メモリ及びこれを使用したコンピュータシステム
JPH07306759A (ja) * 1994-05-05 1995-11-21 Internatl Business Mach Corp <Ibm> ディスク・アレイにデータを書き込むためのシステムおよび関連する方法
US5719885A (en) * 1995-12-28 1998-02-17 Emc Corporation Storage reliability method and apparatus

Also Published As

Publication number Publication date
JP2001195197A (ja) 2001-07-19
EP1079297A2 (en) 2001-02-28
US6629199B1 (en) 2003-09-30
US20050120168A1 (en) 2005-06-02
EP1079297A3 (en) 2003-05-21
US7159139B2 (en) 2007-01-02

Similar Documents

Publication Publication Date Title
EP0805395B1 (en) Method for caching network and CD-ROM file accesses using a local hard disk
US6269431B1 (en) Virtual storage and block level direct access of secondary storage for recovery of backup data
US6366987B1 (en) Computer data storage physical backup and logical restore
US6353878B1 (en) Remote control of backup media in a secondary storage subsystem through access to a primary storage subsystem
US6549992B1 (en) Computer data storage backup with tape overflow control of disk caching of backup data stream
EP3002672B1 (en) Apparatus for increasing data storage capacity
US7707337B2 (en) Object-based storage device with low process load and control method thereof
US6275897B1 (en) Remote cache utilization for mirrored mass storage subsystem
US6101588A (en) Device level busy arrangement for mass storage subsystem including a plurality of devices
JP4727800B2 (ja) 記憶されたレコードについてのフォーマット情報を効率的に提供するためのディレクトリを含むデジタル・データ・サブシステム
CN112463753A (zh) 一种区块链数据存储方法、系统、设备及可读存储介质
US6782444B1 (en) Digital data storage subsystem including directory for efficiently providing formatting information for stored records
US5900009A (en) System and method for accessing records in a cache slot which are associated with a current owner storage element or at least one previous owner storage element
US6029229A (en) Digital data storage subsystem including directory for efficiently providing formatting information for stored records
US6330655B1 (en) Digital data storage subsystem including directory for efficiently providing formatting information for stored records
US6842843B1 (en) Digital data storage subsystem including arrangement for increasing cache memory addressability
US5802557A (en) System and method for caching information in a digital data storage subsystem
US6594726B1 (en) Digital data storage subsystem including arrangement for efficiently controlling fast write storage operation
US7421536B2 (en) Access control method, disk control unit and storage apparatus
EP0665499A2 (en) Hierarchic data storage system
JP3033736B2 (ja) リモートディスク装置アクセスシステム
JP3335919B2 (ja) ディスクキャッシュ制御装置
JP2001014219A (ja) キャッシュ制御方法及びその装置
JP3282525B2 (ja) データ管理装置及びネットワークデータ管理システム
KR100648065B1 (ko) 입출력 가속 기술이 적용된 하드웨어용 파일 시스템 및 그파일 시스템에서의 데이터 처리 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100427

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100723

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100728

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100827

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100921

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110119

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110203

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: 20110329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110414

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4727800

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3

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

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