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

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

Info

Publication number
JP2001195197A
JP2001195197A JP2000291217A JP2000291217A JP2001195197A JP 2001195197 A JP2001195197 A JP 2001195197A JP 2000291217 A JP2000291217 A JP 2000291217A JP 2000291217 A JP2000291217 A JP 2000291217A JP 2001195197 A JP2001195197 A JP 2001195197A
Authority
JP
Japan
Prior art keywords
records
cache
descriptor
store
data
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.)
Granted
Application number
JP2000291217A
Other languages
English (en)
Other versions
JP4727800B2 (ja
Inventor
Natan Vishlitzky
ヴィシュリツキー ナータン
Haim Kopylovitz
コピロヴィッツ ハイム
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

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)

Abstract

(57)【要約】 (修正有) 【課題】記憶されたレコードについてのフォーマット情
報を効率的に提供するためのディレクトリを含むデジタ
ル・データ記憶サブシステムを提供する。 【解決手段】ディスク記憶装置上のトラックを構成する
記憶装置エレメントを有し、及び各トラックは複数のレ
コードを記憶する。前記各トラックは、記述子と関連す
る。前記制御装置がレコードのコンテンツを検索する
時、それはチェック値を生成し、及び前記生成されたチ
ェック値を、前記トラックと関連した記述子に記憶され
たレコードについてのチェック値と比較するために、前
記コンテンツを処理することができる。それらが適切に
比較する場合、前記制御装置は、実際に検索されたレコ
ードは、検索されるべきレコードであったことを決定す
ることができる。その一方で、それらが適切に比較しな
い場合、前記制御装置は、検索されたレコードが適切な
レコードではなかったことを決定することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般的にはデジタル
・コンピュータ・システムの分野に関し、及びより特定
的には、前記デジタル・データ記憶サブシステムによっ
て記憶されるレコードについてのフォーマット情報を効
率的に提供するためのディレクトリを含むデジタル・デ
ータ記憶サブシステムに関する。
【0002】
【従来の技術】現代の「企業」コンピュータ環境、すな
わち、企業におけるオフィス環境で使用するためのコン
ピュータ・システムにおいて、数多くのパーソナル・コ
ンピュータ(personal computer)、ワークステーショ
ン(workstation)、ミニ・コンピュータ(mini-comput
er)、及びメインフレーム・コンピュータ(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月2
9日提出、ナタン・ヴィシュリツキ名義、「記憶された
レコードについてのフォーマット情報を効率的に提供す
るためのディレクトリを含むデジタル・データ記憶サブ
システム」で、本発明の譲受人に譲渡され、ここに参照
として採用されている前記出願は、様々なレコードに必
要とされる情報量が、効果的に低減されることができる
ディレクトリ・テーブルを記述する;しかしながら、前
記ディレクトリ・テーブルのサイズをさらに低減させる
と、有用であるだろう。
【0005】
【発明が解決しようとする課題】本発明は、デジタル・
データ記憶サブシステムによって記憶されたレコードに
ついてのフォーマット情報を効率的に提供するためのデ
ィレクトリを含む新しく、改良されたデジタル・データ
記憶サブシステムを提供する。
【0006】
【課題を解決するための手段】簡潔に要約すると、本発
明は、複数の記憶装置のエレメント、メモリ及び制御装
置を具備するデジタル・データ記憶システムを提供す
る。前記記憶装置エレメントは、一連のレコードを、検
索ができるように記憶するように構成されている。前記
メモリは、記述子を記憶するように構成されており、前
記記述子は、前記レコードの各々と関連して、チェック
値を有する。前記制御装置は、前記記憶装置エレメント
からの、前記レコードの一つの検索に関連して、前記レ
コードの一つが検索されるべきレコードを実際に構成す
ることの確認に関連して、前記レコードの前記一つと関
連した前記チェック値を使用するように構成されてい
る。
【0007】一つの実施形態において、前記デジタル・
データ記憶サブシステムは、情報が一つ以上のディスク
記憶装置に記憶される大容量サブシステムの形式であっ
て、記憶装置エレメントは、ディスク記憶装置上のトラ
ックを構成し、及び各トラックは複数のレコードを記憶
する。デジタル・データ記憶システムの各ディスク記憶
装置における各トラックは、記述子と関連する。その実
施形態において、前記制御装置が前記レコードのコンテ
ンツを検索する時、それはチェック値を生成し、及び前
記生成されたチェック値を、前記トラックと関連する記
述子に記憶された、前記レコードについての前記チェッ
ク値と比較するコンテンツを処理することができる。そ
れらが適切に比較する場合、前記制御装置は、実際に、
検索されたレコードは検索されるべきであったレコード
であったことを決定することができる。その一方で、そ
れらが適切に比較しない場合、前記制御装置は、検索さ
れたレコードが適切なレコードではなかったことを決定
することができる。前記レコードの前記コンテンツが更
新される場合、前記制御装置は前記レコードの更新を反
映させるために、前記記述子における前記チェック値を
更新することができる。
【0008】本発明は、添付の特許請求の範囲における
詳細によって指摘される。本発明の上述の及びさらなる
効果は、添付の図面を参考にして以下の説明を参照する
ことによって、より良く理解されるであろう。
【0009】
【発明の実施の形態】本発明は、図1に記載の機能的ブ
ロック図に記載されたデジタル・コンピュータ・システ
ム10と関連して説明される。図1を参照すると、コン
ピュータ・システム10は、複数のホスト・コンピュー
タ(host computer)11(1)乃至11(N)(通常
は、参照番号11(n)で識別される)及び共通バス1
3によって相互接続されたデジタル・データ記憶サブシ
ステム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)の状態に
関する選択された状態の情報を提供するイベント状態情
報をキャッシュするための共通メモリ・サブシステム3
0も含む。共通メモリ・サブシステム30によるイベン
ト状態情報のキャッシュは、本発明の譲受人に譲渡さ
れ、参照のためにここに採用されているアメリカ合衆国
特許出願第 号、1995年9月25日提
出、エリ・シャガムら名義、「複数の装置によって生成
されるイベント情報をログするための共通イベント・ロ
グを含むデジタル・コンピュータ・システム」(代理人
登録番号95−034)に詳細が記載されている。アク
セス・オペレーション中に共通メモリ・サブシステム3
0によってキャッシュされる情報は、検索オペレーショ
ン中にホスト・コンピュータ11(n)によって検索さ
れるべきである、データ記憶装置20(m)によって提
供されるデータと同様に、記憶オペレーション中にデー
タ記憶装置20(m)に記憶されるべきである、ホスト
・コンピュータ11(n)によって提供されるデータを
含む。共通メモリ・サブシステム30は、アクセス・オ
ペレーション中に、前記ホスト・コンピュータとデータ
記憶装置20(m)との間で転送される情報をバッファ
リングするためのバッファとして効率的に動作する。
【0014】共通メモリ・サブシステム30は、キャッ
シュ・メモリ(cache memory)31、キャッシュ・イン
デックス・ディレクトリ(cache index directory)3
2及びキャッシュ・マネージャ(cache manager)33
を含み、それらは一般的に、本発明の譲受人に譲渡さ
れ、参照のためにその内容がここに採用されているアメ
リカ合衆国特許出願第07/893,509号、199
5年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)によって
識別される)を含み、その各々は、記憶サブシステム1
2における記憶装置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)3
8(s)(t)を含む。前記キャッシュされたフラグ3
7(c)(t)は、設定される場合、前記トラックと関
連するトラック上のデータが、キャッシュ・スロット3
1(s)にキャッシュされることを示し、及びキャッシ
ュ・スロット・ポインタ38(s)(t)は、前記デー
タがキャッシュされる特定のキャッシュ・スロットを識
別する。さらに、各トラック記述子35(c)(t)
は、前記キャッシュ・スロット・ポインタ38(c)
(t)によって識別されるキャッシュ・スロットに記憶
された後、前記データが検索オペレーション中にホスト
・コンピュータ11(n)によって使用されたかを示す
ために使用されてもよい、使用されたフラグ39(c)
(t)を含む。この「ホストが使用した(host use
d)」フラグは、前記キャッシュ・スロットが他のアク
セス・オペレーションのために再利用されてもよいか決
定するために使用されてもよい。
【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へ転送するために、「ステージング(stag
ing)」及び「非ステージング(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に関連するキャッシュ・インデックス・テーブル3
2(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)を使用して、前記デ
ータがキャッシュされる特定のキャッシュ・スロット3
1(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)は、それが再利用される前
に、他の非ステージング・オペレーションにかけられる
であろう。このように、特定のキャッシュ・スロット3
1(s)は、再利用されることなく、同じ記憶装置2
2、シリンダ及びトラックに対してキャッシュされたデ
ータとともに、何回も非ステージングされてもよい。
【0030】本発明は、比較的高密度のデータを記憶
し、及びそうでなければ記憶される必要がある情報の量
を低減させることができる記憶装置の使用に効果的に対
処するために、個別のトラック記述子36(c)(t)
(図2参照)におけるトラック記述子情報をコンパクト
に提供するための配列を提供する。図3は、本発明の一
つの実施形態と関連した使用について、参照番号36
(c)(t)によって識別されるトラック記述子の構造
を示している。
【0031】図3を参照すると、トラック記述子36
(c)(t)は、ヘッダ40及びセクタCRCセクショ
ン41を含む。ヘッダ40は、前記トラックがキャッシ
ュ・メモリ31にキャッシュされているかについての情
報、及びもしそうであれば前記トラックがキャッシュさ
れているキャッシュ・スロット31(s)へのポインタ
を含む、前記トラックについての情報を含む。さらに、
前記ヘッダ40は、他のデジタル・データ記憶システム
上のトラックについてのミラー・コピー(mirrorcopie
s)が存在するかを示す。その一方で、前記セクタCR
Cセクション(sector CRC section)41は、トラッ
クにおける個別のレコードについてのレコードに特化し
たCRC情報を含む。一つの実施形態において、前記レ
コードは、例えば一つ以上のブロック又はセクタ(一般
的には「セクタ」と称される)等、固定された長さであ
り、及び各トラックは予め決められた数の前記セクタを
具備する。
【0032】より特定的には、ヘッダ40は、トラック
/キャッシュ情報フラグ・フィールド50、テーブルC
RCフィールド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)によって更新されたこと、及びデータ記憶装置2
0(m)によって非ステージングされる必要があること
を示すために使用される。非ステージング・オペレーシ
ョンが実行されるべきであることを示すために、前記書
き込み保留フラグが設定される一方で、前記トラックが
キャッシュされるキャッシュ・スロット31(s)は、
非ステージング・オペレーションが完了するまで、他の
トラックに対しては使用されない。永久にキャッシュさ
れたトラック・フラグも設定される場合、非ステージン
グ・オペレーションの後で、キャッシュ・スロット31
(s)が他のトラックに対して使用されず、代わりに前
記トラックが、永久にキャッシュされたトラック・フラ
グが設定されるかぎり、キャッシュ・スロット31
(s)に残るであろうことは、評価されるであろう。
【0035】トラック記述子36(c)(t)のテーブ
ルCRCフィールド51は、トラック記述子36(c)
(t)に対する巡回冗長検索(cyclical redundancy ch
eck)(CRC)値に対応するCRC値を記憶する。前
記CRC値は、他のフィールド50、及び52乃至54
及びセクタCRCのセクション41における情報から、
便利なCRCアルゴリズムを使用して生成されることが
でき、及び前記フィールド50及び52乃至54及び前
記本体セクション41における情報を検査するために使
用されることができる。
【0036】拡張フォーマット・コード・フィールド5
2は、前記データが、固定セクタ記憶フォーマットに加
えて、あるフォーマットで記憶される場合に、トラック
記述子36(c)(t)と関連して、トラックに記憶さ
れた各々のデータ・アイテムについてのフォーマット情
報を提供するために使用されることができる。
【0037】ミラー・フラグ・フィールド53は、前記
トラックが一つ以上の他のデジタル・データ記憶サブシ
ステムにミラーされたか、もしそうであれば、前記ミラ
ーは最新のものであるかを示す一つ以上のフラグを含
む。一つの実施形態において、前記デジタル・データ記
憶サブシステム12は、互いにミラーを提供するように
機能するデジタル・データ記憶サブシステムのクラスタ
における4つのうちの1つであり、及びミラー・フラグ
・フィールド53におけるフラグは、前記デジタル・デ
ータ記憶サブシステムのいずれに前記トラックがミラー
されたのか、及び前記デジタル・データ記憶サブシステ
ムの各々におけるトラックの更新状態の両方を示す。前
記デジタル・データ記憶サブシステムは、ミラー・フラ
グ53を使用して、トラックがミラーされた場合に、前
記ミラーのすべてが更新され及び同期された状態で保守
されているかを検査することができる。
【0038】前記セクタCRCのセクション41は、ト
ラック記述子36(c)(t)と関連した前記トラック
上の各セクタについて、従来のあらゆるCRCアルゴリ
ズムを使用して生成されるセクタについてのセクタCR
C値を含む。一つの実施形態において、セクタ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に記憶されたトラックについてのCR
C値を更新するであろう;前記オペレーションにおい
て、前記ホスト・アダプタ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 キャッシュ・マネージャ・メモリ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ハイム コピロヴィッツ アメリカ合衆国 マサチューセッツ州 02446ブルックリン コロンビア ストリ ート 9−2

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】A.一連のレコードを検索可能な状態に記
    憶するように構成された少なくとも一つの記憶装置エレ
    メントと; B.記述子を記憶するように構成されたメモリであっ
    て、前記記述子は、前記レコードの各々と関連して、チ
    ェック値を有する前記メモリと;及び C.前記記憶装置エレメントからの前記レコードの一つ
    の検索と関連して、前記レコードの前記一つは検索され
    るべきレコードであることの確認と関連した前記レコー
    ドの一つと関連するチェック値を使用するように構成さ
    れた制御装置とを具備することを特徴とするデジタル・
    データ記憶システム。
  2. 【請求項2】前記デジタル・データ記憶システムは、複
    数の記憶装置エレメントを具備し、その各々は一連のレ
    コードを検索可能な状態に記憶するように構成され、前
    記メモリは各々が前記記憶装置エレメントの一つと関連
    する複数の記述子を記憶するように構成され、各記述子
    は、それと関連する個別の記憶装置エレメントに記憶さ
    れた前記レコードの各々と関連するチェック値を有する
    ことを特徴とする請求項1に記載のデジタル・データ記
    憶システム。
  3. 【請求項3】前記制御装置はさらに、前記検索されたレ
    コードに記憶された前記レコードにおけるデータが更新
    される場合に、前記データについてのチェック値を生成
    し、及び前記メモリにおける前記記述子に前記生成され
    たチェック値を記憶するように構成されていることを特
    徴とする、請求項1に記載のデジタル・データ記憶シス
    テム。
  4. 【請求項4】少なくとも一つのキャッシュ・スロットを
    具備するキャッシュ・メモリをさらに具備することを特
    徴とする請求項1に記載のデジタル・データ記憶システ
    ムであって、前記制御装置は、前記レコードの前記一つ
    を検索した後、前記キャッシュ・スロットに前記レコー
    ドを記憶し、及び前記記述子においてそれにポインタを
    記憶するように構成されている前記システム。
  5. 【請求項5】請求項4に記載のデジタル・データ記憶シ
    ステムであって、 A.複数の記憶装置エレメントを具備する前記デジタル
    ・データ記憶装置システムであって、各々は一連のレコ
    ードを検索可能な状態に記憶するように構成されてお
    り、前記メモリは、前記記憶装置エレメントの一つと各
    々が関連する複数の記述子を記憶するように構成されて
    おり、各記述子は、それらと関連する個別の記憶装置エ
    レメントに記憶された前記レコードの各々と関連するチ
    ェック値を有し; B.前記キャッシュ・メモリは複数のキャッシュ・スロ
    ットを具備し;及び C.前記制御装置は、前記レコードの個別のいくつかを
    特定の記憶装置エレメントから検索する時に、特定の記
    憶装置エレメントからのすべてのレコードが、同じキャ
    ッシュ・スロットに記憶されるように、特定のキャッシ
    ュ・スロットに前記レコードを記憶するように構成され
    ていることを特徴とする前記システム。
  6. 【請求項6】前記制御装置はさらに、前記キャッシュ・
    スロットの一つに記憶された前記レコードの一つにおけ
    る前記データが更新される場合、前記データについての
    チェック値を生成し、及び前記レコードの前記一つと関
    連する前記メモリにおける前記記述子に、前記生成され
    たチェック値を記憶するように構成されていることを特
    徴とする請求項5に記載のデジタル・データ記憶システ
    ム。
  7. 【請求項7】デジタル・データ記憶システムを操作する
    方法であって、前記デジタル・データ記憶システムは、
    一連のレコード及びメモリを検索可能な状態に記憶する
    ように構成された少なくとも一つの記憶装置エレメント
    を具備し、前記方法は: A.前記メモリに記述子を記憶する段階であって、前記
    記述子は前記レコードの各々と関連した、チェック値を
    有する前記段階と;及び B.前記記憶装置エレメントからの前記レコードの一つ
    の検索に関連して、前記レコードの前記一つが検索され
    るべきレコードであることの確認に関連して、前記レコ
    ードの前記一つと関連した前記チェック値を使用する段
    階とを具備することを特徴とする前記方法。
  8. 【請求項8】前記デジタル・データ記憶システムは複数
    の記憶装置エレメントを具備し、その各々は、一連のレ
    コードを検索可能な状態に記憶するように構成されてお
    り、前記メモリは、前記記憶装置エレメントの一つと各
    々が関連する複数の記述子を記憶するように構成されて
    おり、各記述子は、それに関連する個別の記憶装置エレ
    メントに記憶された前記レコードの各々と関連するチェ
    ック値を有することを特徴とする、請求項7に記載の方
    法。
  9. 【請求項9】前記検索されたレコードに記憶された前記
    レコードにおけるデータが更新される場合、前記データ
    についてのチェック値を生成し、及び前記メモリにおい
    て前記記述子に前記生成されたチェック値を記憶する段
    階をさらに具備することを特徴とする、請求項7に記載
    の方法。
  10. 【請求項10】前記デジタル・データ記憶システムはさ
    らに、少なくとも一つのキャッシュ・スロットを具備す
    るキャッシュ・メモリを具備し、前記方法はさらに、前
    記レコードの前記一つを検索した後に、前記キャッシュ
    ・スロットに前記レコードを記憶し、及び前記記述子に
    おいてそれにポインタを記憶する段階を具備することを
    特徴とする、請求項7に記載の方法。
  11. 【請求項11】請求項10に記載の方法であって i.前記デジタル・データ記憶システムは、複数の記憶
    装置エレメントを具備し、その各々は、一連のレコード
    を検索可能な状態に記憶するように構成されており、前
    記メモリは、前記記憶装置エレメントの一つと各々が関
    連する複数の記述子を記憶するように構成されており、
    各記述子は、それに関連する個別の記憶装置エレメント
    に記憶された前記レコードの各々と関連するチェック値
    を有し;及び ii.前記キャッシュ・メモリは複数のキャッシュ・ス
    ロットを具備し;前記方法は、特定の記憶装置エレメン
    トから前記レコードの個別のいくつかを検索する時に、
    特定の記憶装置エレメントからのすべてのレコードが、
    同じキャッシュ・スロットに記憶されるように、特定の
    キャッシュ・スロットに前記レコードを記憶する段階を
    具備することを特徴とする前記方法。
  12. 【請求項12】前記方法は、前記キャッシュ・スロット
    の一つに記憶された前記レコードの一つにおける前記デ
    ータが更新される場合、前記データについてのチェック
    値を生成し、及び前記レコードの前記一つと関連する前
    記メモリにおける前記記述子に、前記生成されたチェッ
    ク値を記憶する段階を具備することを特徴とする、請求
    項11に記載の方法。
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 true JP2001195197A (ja) 2001-07-19
JP4727800B2 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
JP3176638B2 (ja) * 1997-04-02 2001-06-18 松下電器産業株式会社 エラー検出用情報付加装置
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
US6330655B1 (en) * 1999-08-20 2001-12-11 Emc Corporation Digital data storage subsystem including directory for efficiently providing formatting information for stored records
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

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
US6629199B1 (en) 2003-09-30
EP1079297A2 (en) 2001-02-28
EP1079297A3 (en) 2003-05-21
JP4727800B2 (ja) 2011-07-20
US20050120168A1 (en) 2005-06-02
US7159139B2 (en) 2007-01-02

Similar Documents

Publication Publication Date Title
JP5198294B2 (ja) 時間的に近接して記憶システムに書き込まれたデータユニットを示すコンテンツアドレスの生成方法およびその装置
EP0805395B1 (en) Method for caching network and CD-ROM file accesses using a local hard disk
EP3002672B1 (en) Apparatus for increasing data storage capacity
US6216199B1 (en) Hardware mechanism for managing cache structures in a data storage system
US6269431B1 (en) Virtual storage and block level direct access of secondary storage for recovery of backup data
US6275897B1 (en) Remote cache utilization for mirrored mass storage subsystem
JP2002244817A (ja) ミラーリング・エージェント
US7032093B1 (en) On-demand allocation of physical storage for virtual volumes using a zero logical disk
JP4727800B2 (ja) 記憶されたレコードについてのフォーマット情報を効率的に提供するためのディレクトリを含むデジタル・データ・サブシステム
US6782444B1 (en) Digital data storage subsystem including directory for efficiently providing formatting information for stored records
CN112463753A (zh) 一种区块链数据存储方法、系统、设备及可读存储介质
KR100443320B1 (ko) 메모리 저장 장치를 관리하기 위한 시스템 및 방법과, 컴퓨터 판독가능한 기록 매체
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
US6330655B1 (en) Digital data storage subsystem including directory for efficiently providing formatting information for stored records
US6029229A (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
JP2005215940A (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法
US7313656B1 (en) Pre-fetch prediction method for disk drives
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
JP3335919B2 (ja) ディスクキャッシュ制御装置
US5845330A (en) Using an intermediate storage medium in a database management system
US20220300424A1 (en) Memory system, control method, and memory controller

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