JP2006508407A - 暗黙アドレッシング順次データ・ストレージへのアクセス - Google Patents

暗黙アドレッシング順次データ・ストレージへのアクセス Download PDF

Info

Publication number
JP2006508407A
JP2006508407A JP2003566705A JP2003566705A JP2006508407A JP 2006508407 A JP2006508407 A JP 2006508407A JP 2003566705 A JP2003566705 A JP 2003566705A JP 2003566705 A JP2003566705 A JP 2003566705A JP 2006508407 A JP2006508407 A JP 2006508407A
Authority
JP
Japan
Prior art keywords
command
addressing
host
media
implicit
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
JP2003566705A
Other languages
English (en)
Other versions
JP4524112B2 (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006508407A publication Critical patent/JP2006508407A/ja
Application granted granted Critical
Publication of JP4524112B2 publication Critical patent/JP4524112B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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/0682Tape device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling

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)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Debugging And Monitoring (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

【課題】 少なくとも1つの暗黙アドレッシング順次媒体デバイスと共にコンバータを用いて、ホスト・アプリケーションとの関連において、明示アドレッシング順次媒体デバイスの性能をシミュレートする。
【解決手段】 ホスト・アプリケーションからの明示アドレッシング読み取り/書き込みコマンドの受信に応答して、コンバータは、明示アドレッシング読み取り/書き込みコマンドを暗黙アドレッシング読み取り/書き込みコマンドに変換して、暗黙アドレッシング読み取り/書き込みコマンドをデバイスに渡す。任意選択肢として、ホスト・アプリケーションからのデバイス機能クエリに応答して、コンバータは、デバイスが明示アドレッシングを利用することを通知する。別の任意選択肢として、アプリケーション・ホストからの明示アドレッシング読み取り/書き込みコマンド以外のコマンドの受信に応答して、コバータは、コマンドを調べて順次媒体アドレスを監視し、実質的に変更せずにコマンドをデバイスに中継する。

Description

本発明は、磁気テープ・ドライブ等の暗黙アドレッシング順次データ・ストレージ装置へのアクセスに関する。
従来、小型コンピュータ・システム・インタフェース(SCSI:small computer system interface)テープ・ドライブは、「ステートレス(stateless)」コマンドを用いている。「暗黙アドレッシング(implicit addressing)」コマンドとも呼ばれるステートレス・コマンドでは、現在のアドレッシングの知識が含まれる。換言すると、暗黙のRead(読み取り)、Write(書き込み)、または他の位置決めコマンドは、特定のアドレスで明示的に開始することなく現在の位置において動作を開始するためのコマンドから成る。ホスト・アプリケーションまたはストレージ・マネージャは、関連するテープ・アクセスおよび位置決めコマンドを発行する。以下は、一連の暗黙アドレッシング・コマンドの例である。すなわち、WRITE LENGTH 2、WRITE LENGTH 2、WRITE LENGTH 2である。各コマンドの成分は、書き込み命令と、書き込み対象のデータの単位数とを含む。
従って、現在の書き込み位置を追跡することは重要である。なぜなら、コマンドは、最後のコマンドに対する位置を特定するだけだからである。多くの失敗から回復することが難しいのは、ホスト・アプリケーションまたはデバイス・ドライバが、失敗の後にドライブがどこに位置するかを常に正確に知っているわけではないからである。従って、暗黙アドレッシングは限定されている。なぜなら、失敗したSCSIコマンドが、現在のテープ位置を知らずにホストを離れる場合があるからである。コマンド層まで渡されたロー・レベルの相互接続の失敗は、結果としてバックアップ・ジョブの失敗を招き、全ジョブの再試行は、可能であるとしても、何時間もかかる恐れがある。別の起こり得る問題は、コマンドがテープ・ドライブに達する時までにコマンドが間違って配列され、テープ・ドライブが不正確な方法でそれらを適用することである。
新しいテープ・ドライブが明示アドレッシングを用いることを基礎とする技術標準について、提案が行われている。明示アドレッシングでは、ホスト・アプリケーションまたはストレージ・マネージャは、所望のアドレスを指定するテープ・アクセスおよび位置決めコマンドを発行する。以下は、上記の暗黙書き込みコマンドと同じ書き込みシーケンスを実行する一連の明示アドレッシング・コマンドの1例である。すなわち、WRITE ADDRESS 0 LENGTH 2、WRITE ADDRESS 2 LENGTH 2、WRITE ADDRESS 4 LENGTH 2である。明示アドレッシングはランダム・アクセスを提供しないが、書き込みが行われているテープ上の位置の追跡を容易にするという利点を提供する。明示アドレッシングは、暗黙アドレッシングでも起こり得るように、現在のテープ位置を追跡する際の不注意によるエラーによって、データを実際に書き込んでいる場所についてストレージ・サブシステムが混乱してしまうという事態を回避する手助けとなる。
明示アドレッシング・テープ・ドライブは、著しい向上をもたらすことが期待されるが、インターナショナル・ビジネス・マシーンズ・コーポレーション(「IBM」)の技術者は、今なお、より良くカスタマの役に立つための異なるテープ・ストレージ手法を研究している。この点で、IBMの技術者は、明示アドレッシングに向けた発展の1つの副産物は、コストが高くその他の点では有用な暗黙アドレッシング・ドライブを断念することであるということを認識している。明示アドレッシング・テープ・ドライブと共に動作するように設計されたホスト・アプリケーションおよび中間ストレージ・システムは、「レガシー(legacy)」の暗黙アドレッシング・テープ・ドライブとは適合しない。場合によっては、カスタマは、最新のストレージ・サブシステムの購入を望むが、レガシーの暗黙アドレッシング・テープ・ドライブを断念したくないことがある。そして、こういったカスタマにとって、最新の技術は、いくつかの未解決の問題のため、完全に適切なものとは言えない。
概して、本発明は、ホスト・アプリケーションとの関連において明示アドレッシング順次媒体デバイスの性能をシミュレートするため、ハードウエアおよび/またはソフトウエア・コンバータを追加することによる、暗黙アドレッシング順次媒体デバイスの変形に関与する。
ホスト・アプリケーションからの明示アドレッシング読み取り/書き込みコマンドの受信に応答して、コンバータは、明示アドレッシング読み取り/書き込みコマンドを、暗黙アドレッシング読み取り/書き込みコマンドに変換して、暗黙アドレッシング読み取り/書き込みコマンドを、順次媒体デバイスに渡す。任意選択肢として、ホスト・アプリケーションからのドライブ機能クエリ(query)に応答して、コンバータは、ドライブが明示アドレッシングを利用することを通知する。別の任意選択肢として、アプリケーション・ホストからの明示アドレッシング読み取り/書き込みコマンド以外のコマンドの受信に応答して、コンバータは、コマンドを調べて順次媒体位置を監視し、コマンドを実質的に変更せずにドライブに中継する(relay)。
前述の特徴は、多くの異なる形態で実施することができる。例えば、本発明を実施して、暗黙(implicit)アドレッシング順次媒体デバイス(addressing sequential media device)と、明示(explicit)アドレッシング順次媒体デバイスのために設計されたホスト・アプリケーションとを整合させる(interface)ための方法を提供することができる。別の実施形態では、本発明を実施して、かかる機能性を有するコンバータを組み込んだストレージ・システム・インタフェースまたはかかるコンバータのみ等の装置を提供することができる。別の実施形態では、本発明を実施して、本明細書中に記載するコンバータを実現するためにデジタル・データ処理装置によって実行可能な機械読み取り可能命令のプログラムを明白に具現化する信号搬送媒体(signal-bearing media)を提供することができる。別の実施形態は、本明細書中に記載するコンバータを提供するように構成された多数の相互接続導電要素(element)を有する論理回路に関する。
本発明は、多数の明確な利点をユーザにもたらす。主として、本発明によって、人々は、明示アドレッシング順次媒体ドライブと共に動作するように設計されたストレージ・サブシステムと共に暗黙アドレッシング順次媒体ドライブ(または他のデバイス)を使用し続けることができる。もしそうでなければ、これらの古い(legacy)ドライブは、時代遅れになってしまうであろう。これによって、さもなければ明示アドレッシング順次媒体ドライブを購入するために必要であった大きな投資を回避する。更に、本発明は、暗黙アドレス媒体ドライブの市場を維持することに役立つ。なぜなら、カスタマは彼等のドライブがすぐに時代遅れになることを恐れる必要が無いからである。その理由は、本発明のコンバータによって、古い順次媒体ドライブで、フォーマット、標準の変更が回避され、更にストレージ・サブシステムで行われる他の技術的変更が回避されるからである。
別の利点として、本発明によって、暗黙アドレッシング・ドライブは、明示アドレッシング・コマンド・セットによって最も容易に可能となる新しいテープ機構から利益を得ることができる。この例は、コマンド待ち行列(command queuing)であり、ここでは、入来するコマンドがキューから集められて処理される。これによって、早く到着したコマンドがテープ上の後のアドレスに書き込みを行おうとするのを拒絶する必要性を回避する。それは、さもなければそれらがデータにギャップを生成するからである。コマンド待ち行列は、ホストと順次媒体デバイスとの間に長い距離がある場合に、特に利点を提供する。また、本発明は、多数の他の利点および恩恵を提供し、これらは本発明の実施形態についての以下の説明から明らかとなろう。
ハードウエア・コンポーネントおよび相互接続
全体構造
図1は、説明の目的のため、本発明の1つの例示的な実施を示す動作環境100を示す。当業者は、本発明を、図示した例とは異なる様々なソフトウエア、ハードウエア、およびアーキテクチャによって実施可能であることが分かるであろう。環境100は、以下のうち少なくとも1つを含む。すなわち、ホスト・アプリケーション102、デバイス・ドライバ104、ネットワーク106、コンバータ108、および順次媒体デバイス110である。1つの実施形態では、順次媒体デバイス110は、テープ・ドライブ等、1つ以上の順次媒体ドライブを有する。
ホスト
ホスト・アプリケーション102は、物理ホスト・マシン、ソフトウエア・プログラム、ネットワーク、オペレータ端末、ストレージ・サブシステム、階層ストレージ・マネージャ、ユーザ・アプリケーション・プログラム、または、順次媒体デバイス110に送出される様々なストレージ命令の他のソース(source)を含む。これらの命令のいくつかの例には、Read(読み取り)コマンド、Write(書き込み)コマンド、Reposition(再位置決め)コマンド等が含まれる。ホスト・アプリケーション102は、機能性を維持するために必要な場合に、デバイス110によって書き込まれるデータを供給し、デバイス110によって読み出されたデータを受信し、デバイス110と通信を行う。
デバイス・ドライバ
デバイス・ドライバ104は、ホスト・アプリケーション102と媒体デバイス110との間を仲介するソフトウエア・コンポーネントである。デバイス・ドライバ104は、ホスト・アプリケーション102を、ネットワーク106の動作に関する様々な詳細事項から解放する。デバイス・ドライバ104は、例えば、ホスト102におけるオペレーティングシステムの一部分、ネットワーク106またはアプリケーション102に関連する製品、またはゲートウエイ・ベンダからの製品とすることができる。なお、本発明は、デバイス・ドライバ104が無くとも動作することができ、従って、このコンポーネントは任意選択である。デバイス・ドライバ104の1例は、IBMマシン・タイプ3590テープ・ドライブ(110)の購入によって供給されるAIXオペレーティング・システム・コンポーネント(102)である。
ネットワーク
所望のストレージ構成に応じて、任意選択的なネットワーク106を用いるか、または省略することができる。ネットワーク106のいくつかの有用な例には、ストレージ・エリア・ネットワーク、または、スイッチ、ルータ、および/またはゲートウエイの別の構成が含まれる。いくつかの他の例には、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、トークン・リング、または他の通信リンクが含まれる。更に別の例は、メディア・コントローラ・カード等の、より単純な製品である。
コンバータ
コンバータ108は、本発明の機能を実施するために環境100に追加される新しいコンポーネントである。コンバータは、例えば、ルータ/ゲートウエイ、または、異なるプロトコル間の変換のために用いられる別の既知の構成から成るものとすることができる。例えば、コンバータ108は、ネットワーク106からのiSCSIまたはSCSIプロトコルとデバイス110におけるファイバチャネル(Fibre Channel)プロトコルとの間の変換を行うことができる。コンバータ108の1つの特定の例は、IBMマシン・タイプ2108モデルG07製品である。通常の実施においては、ルータ/ゲートウエイは、キャリア・ラッパー、すなわち、ルータ/ゲートウエイを通過するコマンドのフォーマットを操作するのみである。以下で更に詳細に述べるが、コンバータ108は、更に、これを通過するコマンドの内容を変更する。すなわち、アドレッシング方式(scheme)を変更する。更に具体的には、デバイス110が実際に暗黙アドレッシングを用いるにもかかわらず、コンバータ108は、ホスト・アプリケーション102との関連において、明示アドレッシング順次媒体ドライブの性能を模倣する。また、コンバータ108は、ホスト・アプリケーション102からの明示アドレッシング・コマンドを、デバイス110と適合する暗黙アドレッシング・コマンドに変換する。
図1は、コンバータ108の1例を示すが、多くの異なる構成が可能である。コンバータ108は、入力ポート108a、出力ポート108c、およびプロセッサ108bを含む。プロセッサ108bは、現在の媒体位置レコード108dを用いて、現在のテープ位置(アドレス)を追跡する。すなわち、コンバータ108は、暗黙アドレッシング・デバイス110における明示アドレッシング・コマンドの実施を容易にするため、現在の媒体位置のレコード108dを含む。1例では、現在の媒体位置は、テープ読み取り/書き込みヘッドと磁気テープ媒体との間の相対位置(relative position)を含む。レコード108aは、レジスタ、バイト、ページ、ファームウエア位置、ソフトウエア構成、ハードウエア・サイト、または、順次媒体デバイス110のアドレスまたは他の現在の論理書き込み位置を追跡するための他の手段を含むことができる。
ポート108a、108cは、コネクタ、バス、インテリジェント通信デバイス、チャネル、光リンク、無線リンク、平面(planar)接続、ホスト・バス・アダプタ、ギガビット・インタフェース・コネクタ(GBIC)、または、使用可能なアプリケーションに適切な他のいずれかの構成を含むことができる。例えば、ポート108a、108cは、ロー・レベルのデバイス・ドライバ等を実施するための回路要素を含むことができる。プロセッサ108bは、様々な方法で実施可能なデジタル・データ・プロセッサを含むが、これについては以下で説明する。先に述べたコンバータ108の実施形態の代替案として、このコンポーネントは、ホスト102、ネットワーク106、またはデバイス110のソフトウエア・コンポーネントとして実施することも可能である。
1つの実施形態では、上述のように、コンバータ108は1つのみである。別の実施形態では、システム100は、ホスト・アプリケーション102と順次媒体デバイス110との間に多数のコンバータ108を含む。コンバータ108は、別個のデバイス・ドライバ104およびネットワーク106を使用可能であり、または、これらのコンポーネントの一部または全てをコンバータ108間で共有することができる。多くのコンバータ108を用いる場合、コンバータは、適切に結合して、全てのコンバータに充分な情報を交換し、デバイス110の現在の媒体位置を監視する。
順次媒体デバイス
1つの実施形態では、順次媒体デバイス110は、磁気テープ、光テープ等の着脱可能な順次アクセス可能媒体にアクセスするための1つ以上のドライブを含む。例示を容易にするため、この考察では磁気テープを用いる。この関連において、デバイス110の1例は、IBMマシン・タイプ3590製品である。かかるドライブは、上述のような1つのテープ・ドライブ、または多数のドライブの配列を含む場合がある。代替の実施形態では、順次媒体デバイスは、物理的なテープ・ドライブでなく仮想順次媒体ドライブを含む。かかる仮想デバイスは、例えば、ストレージ・マネージャ、コントローラ、インタフェース、または、順次媒体ドライブであるかのように通信を行うが、DASDまたは他の非順次媒体上で受信したストレージ命令を実施し、またはかかる命令を非順次ストレージ・コントローラに転送してそこで実施させる他の処理コンポーネントを含むことができる。この意味で、本明細書中で述べる順次媒体「デバイス」は、実際のまたは仮想的な順次媒体ストレージ装置を含むことができる。
例示的なデジタル・データ処理装置
上述のように、コンバータ108は、様々な形態で実施可能である。1例として、コンバータ108は、図2のデジタル・データ処理装置200のハードウエア・コンポーネントおよび相互接続によって例示されるようなデジタル・データ処理装置を含むことができる。
装置200は、マイクロプロセッサ、パーソナル・コンピュータ、ワークステーション、または他の処理マシン等のプロセッサ202を含み、ストレージ204に結合される。本例では、ストレージ204は、高速アクセス・ストレージ206および不揮発性ストレージ208を含む。高速アクセス・ストレージ206は、ランダム・アクセス・メモリ(「RAM」)を含むことができ、プロセッサ202が実行するプログラム命令を格納するために使用可能である。不揮発性ストレージ208は、例えば、バッテリ・バックアップRAM、EEPROM、「ハードドライブ」、テープ・ドライブ、または他のいずれかの適切なストレージ・デバイス等の1つ以上の磁気データ・ストレージ・ディスクを含むことができる。また、装置200は、回線(line)、バス、ケーブル、電磁リンク、またはプロセッサ202が装置200の外部の他のハードウエアとデータを交換するための他の手段等の入力/出力210を含む。
前述の具体的な記載にもかかわらず、当業者(この開示の恩恵を受ける)は、本発明の範囲から逸脱することなく、上述の装置を異なる構成のマシンで実施可能であることが分かるであろう。具体的な例としては、コンポーネント206、208の一方を除去することができる。更に、ストレージ204、206、および/または208を、プロセッサ202に搭載するか、または装置200の外部にも設けることができる。
論理回路
上述のデジタル・データ処理装置とは異なり、本発明の異なる実施形態は、コンピュータ実行命令の代わりに論理回路を用いてコンバータ108を実現する(implement)。速度、費用、ツール・コスト等の点において、特定の用途の必要に応じて、この論理回路(logic)は、何千もの小さい集積トランジスタを有する特定用途集積回路(ASIC:application-specific integrated circuit)を構成することによって実現可能である。かかるASICは、CMOS、TTL、VLSI、または他の適切な構成によって実現可能である。他の代替案は、デジタル信号処理チップ(「DSP」)、個別回路(抵抗、キャパシタ、ダイオード、インダクタ、およびトランジスタ等)、フィールド・プログラム可能ゲートアレイ(「FPGA:field programmable gate array」)、プログラム可能論理アレイ(「PLA:programmable logic array」)等を含む。
動作
本発明の実施形態の構造的特徴について述べたが、動作の側面についてこれより説明する。上述のように、動作の側面は、概して、ホスト・アプリケーションとの関連において、明示アドレッシング順次媒体ドライブの性能をシミュレートするため、ハードウエアおよび/またはソフトウエア・コンバータを追加することによって、暗黙アドレッシング順次媒体ドライブを変更することを伴う。
信号搬送媒体
マシン実行プログラム・シーケンスを用いて機能を実現する場合はいつでも、これらのシーケンスは、様々な形態の信号搬送媒体(signal-bearing media)において具現化することができる。図2の状況において、この信号搬送媒体は、例えば、ストレージ204、または、プロセッサ202によって直接または間接にアクセス可能な磁気データ・ストレージ・ディスケット300(図3)等、別の信号搬送媒体を含むことができる。ストレージ206、ディスケット300、または他のどの場所に含まれるにせよ、命令は、様々な機械読み取り可能データ・ストレージ上に記憶することができる。いくつかの例には、直接アクセス・ストレージ(例えば従来の「ハードドライブ」、安価なディスクの冗長アレイ(「RAID(redundant array of inexpensive disk)」)、または他の直接アクセス・ストレージ・デバイス(「DASD」)、磁気または光テープ等のシリアル・アクセス・ストレージ、電子不揮発性メモリ(例えばROM、EPROM、またはEEPROM)、バッテリ・バックアップRAM、光ストレージ(例えばCD−ROM、WORM、DVD)、ペーパー「パンチ」カード、または、アナログまたはデジタルの伝送媒体およびアナログおよび通信リンクおよび無線通信を含む他の適切な信号搬送媒体が含まれる。本発明の例示的な実施形態では、機械読み取り可能命令は、「C」等の言語からコンパイルされ、アセンブリ原語からアセンブルしたソフトウエア・オブジェクト・コードを含むことができる。
論理回路
上述の信号搬送媒体とは異なり、本発明の機能の一部または全ては、プロセッサを用いて命令を実行する代わりに、論理回路を用いて実施可能である。従って、かかる論理回路は、本発明の1実施形態の方法を実行するための動作を行うように構成される。論理回路は、上述のように、多くの異なるタイプの回路を用いて実施可能である。
動作の全シーケンス
図4は、本発明の1実施形態の方法の1例を示すシーケンス400を示す。限定を意図するためではなく、説明を容易にするため、図4の例は、上述のストレージ環境100との関連で説明する。また、説明を容易にするため、本発明は、デバイス110として単一の物理的テープ・ドライブを利用した実施形態に関する。シーケンス400は、ステップ402で開始し、ここで、技術者は、デバイス・ドライバ104、ネットワーク106、およびコンバータ108をインストールする。インストールは、ホスト・アプリケーション102を実行するマシン(複数のマシン)とコンバータ108の間とのネットワーク106との電気的な結合、および、コンバータ108とドライブ110との結合を伴う。コンバータ108をネットワーク106に統合する場合、ネットワーク106は、ドライブ110に直接結合する。ネットワーク106の構成は、デバイス・ドライバ104および任意の必要なソフトウエア構成ステップをインストールおよび/またはアクティブにして(activate)、ドライバ104、ネットワーク106、およびコンバータ108を動作のため準備することを伴い、これらの一部または全ては、当業者に既知のものとすることができる。また、ステップ402の一部として、コンバータ108は、取り付けたドライブ110の数、タイプ、または他の特性を識別するために調査(survey)を行う。ステップ402が完了すると、コンバータ108の動作が開始する(ステップ403)。
ステップ404、406は、コンバータ108が、ネットワーク106が中継したホスト・アプリケーション102からのコマンドを受信し、次いで処理する場合に発生するイベントを記述(describe)する。ステップ404では、コンバータ108は、ホスト・アプリケーション・コマンドを受信する。「コマンド」は、ドライブ110に、その機能(capability)を報告させ、読み取りおよび/または書き込み動作(「read/write動作」)を実行させ、テープを再位置決めさせ、その動作モードへの変更を許可し、ステータスを報告させること等のための命令を含む。ドライブ110は、他のコマンドも認識することができる。
1つのケースでは(ステップ404a)、コンバータ108は、ステップ404において、ドライブの機能、特性、タイプ、モデル等のレポートを要求するクエリ・コマンドを受信する。この場合、コンバータ108は、ドライブの応答を調整して、ドライブが明示アドレッシングを利用することを表明する(assert)(ステップ406a)。
別のケースでは(ステップ404b)、コンバータ108は、ステップ404において、明示アドレッシング読み取り/書き込みコマンド(媒体アクセス・コマンドとも呼ばれる)を受信する。この場合、コンバータ108は、次に進んで、所定の構文ルール(syntax rule)等に対してコマンドの妥当性を確認する(ステップ406b)。また、ステップ406bは、テープの先頭または現在のテープ位置まで送られない限り(最新の書き込みデータの完全な再書き込みを指示しない限り)、いかなる書き込みコマンドも有効でないことの要求等、他の要求も課する場合がある。これらの要求の理由は、ほとんどのテープ技術は、データ書き込み能力において絶対的に順次であり、書き込み動作の間違った順序は必ずしも容易に修正できるとは限らないことである。
コマンドが有効である場合、コンバータ108は、明示アドレッシング読み取り/書き込みコマンドを、適切な暗黙読み取り/書き込みコマンドに変換する(ステップ406c)。明示アドレッシング読み取り/書き込みコマンドは、コマンド(ReadまたはWrite等)、読み取り/書き込みを行うためのアドレス、および読み取り/書き込みを行うデータの長さを含む。変換には、以下の結果としておきるコマンドの生成が必要である。
1.位置決めコマンド(POSITIONINGCOMMAND)(必要な場合)。位置決めコマンドは、テープとドライブの読み取り/書き込みヘッドとの間の相対位置を変更するように作用し、これによってドライブ110がアクセスしている現在の論理ブロック数(番号)を変更する。位置決めコマンドが必要となり得るのは、例えば、順次媒体デバイスの現在位置(例えば論理ブロック数)が明示論理ブロックアドレス・コマンドの明示アドレスと一致しない場合である。再位置決めが必要となり得る他のいくつかの例には、先に書き込んだファイルまたは他のエンド・マーク上で再位置決めをして新しいデータの書き込み(追加)を開始すること、タイムアウトまたはエラーの後に書き込み再試行を行うこと、破棄する古いデータを書き直す(write over)こと等が含まれる。1つの実施形態では、位置決めは、変換したコマンドを発行する前に適切なブロック数でLOCATEコマンドを実行してテープ・ドライブを再位置決めすることによって達成可能である。
2.暗黙アドレス・コマンド(IMPLICITADDRESS COMMAND)。 暗黙アドレス・コマンドは、明示アドレス・コマンドからアドレスを除去し、コマンドおよびデータ長を保持することによって生成させる。
3.読み取り位置コマンド(READPOSITION COMMAND)(必要な場合)。読み取り位置コマンドは、明示アドレッシング・コマンドが相対コマンドである場合、または別の理由によって現在のテープ位置を判定することが難しい場合に必要となる。例えば、読み取り位置コマンドは、テープ・ドライブ110がチェック・コンディション(Check Condition)エラーを報告した場合はいつでも使用可能である。
以下の例は、ステップ406cの明示アドレッシング・コマンド変換の特定の例を提供する。コマンドWRITE ADDRESS 4 LENGTH 10、WRITE ADDRESS 0 LENGTH 1、WRITE ADDERSS 1 LENGTH 3を受信すると、コンバータはそれらを、順番に以下のコマンドのように変換する。WRITE LENGTH 1、WRITE LENGTH 3、WRITE LENGTH 10。
変換の後、コンバータ108は、変換した、現在は暗黙のアドレッシング・コマンドを、ドライブ10に送信する。コマンドがWriteコマンドである場合、コンバータ108は、現在の媒体位置108dのレコードを更新して、テープ・ドライブの現在のアドレス、相対ヘッド位置、または論理書き込み位置の他の指示(indication)を示す。
任意選択的な改善策として、コンバータ108は、コマンド待ち行列を実行して、早く到着した(earlier-arriving)コマンドがテープ上の後のアドレスに書き込みを行おうとするのを拒絶する(なぜなら、それらは、さもなければデータにギャップを生成するからである)必要性を回避することができる。この実施形態では、コンバータ108は、多数の到着する明示アドレッシング・コマンドを蓄積し、ステップ404cの変換を行う前にそれらを、提示されたアドレスに従って順序付ける(re-order)。あるいは、コンバータ108は、コマンドを、最初に暗黙アドレッシングに変換し、次いでそれらを前に提示された明示アドレスに従って順序付けることができる。コンバータ108は、バッファの限界まで、または所望の最大送信−書き込み遅延時間の限界まで、または他の基準まで、コマンドを蓄積することができる。後に到着し、現在のアドレスよりも早く順次媒体アドレスに書き込みを行おうとするコマンドは、例えば、コンバータ108がエラーメッセージをホスト・アプリケーション102に戻すことによって拒絶することができる。ステップ406cに対する任意選択的な改善策として、コンバータ108が、現在のコマンドが前に成功したWriteコマンドの再試行であると判定すると、コンバータ108は、そのコマンドを破棄し、「良好」のステータス・レポートをホスト・アプリケーション102に戻すことができる。
ステップ404a、404bとは異なり、別の可能性として、コンバータ108が明示アドレッシング読み取り/書き込みコマンド以外のコマンドを受信することがある(ステップ404c)。例えば、ステップ404のコマンドが、暗黙読み取り/書き込みコマンド、再位置決めコマンド等である可能性がある。この場合、コンバータ108は、コマンドの内容を調べて現在のテープ位置を監視し、レコード108dを更新し、次いでコマンドをドライブ110に渡す(ステップ406d)。例えば、コマンドが2論理ブロックだけテープを進める暗黙書き込みコマンドの場合、コンバータ108は現在の媒体位置レコード108aを2ブロックだけ進ませる。しかしながら、SpaceおよびReposition等の「相対的」コマンドは、テープ位置を変える量について自己記述的(self-descriptive)ではない。更に具体的には、再位置決めコマンドは、テープを次のファイル・マーカに再位置決めしようと試みる。かかる場合、ステップ406dは、コンバータ108が、コマンドをドライブ110に渡し、ドライブ110がコマンドを完了するまで待ち、現在のテープ・アドレス(または他の論理位置)についてドライブ110にクエリ(照会)を行い、次いでレコード108dを更新することを伴う。このクエリは、例えばRead Positionコマンドを発行することによって実行可能である。また、例えば、Unit Attention状況によって論理ブロック・アドレスが変更されたことが暗示される場合、ドライブにクエリを行う必要があり得る。次いで、報告された現在のテープ位置を用いて、レコード108aを更新する。
前述の開示は、本発明の多数の例示的な実施形態を示すが、当業者には、特許請求の範囲で規定されるような本発明の範囲から逸脱することなく様々な変更および変形を実施可能であることは認められよう。更に、本発明の要素は単数で記載または請求することができるが、単数に対する限定を明示的に述べていない限り、複数も考えられる。更に、当業者には、説明および請求の目的のために、動作シーケンスをある特定の順序で述べなければならないが、本発明はかかる特定の順序を超えて様々な変更が考えられることは認められよう。
本発明の1実施形態による順次媒体ストレージ・システムのハードウエア・コンポーネントおよび相互接続のブロック図である。 本発明の1実施形態によるデジタル・データ処理装置のブロック図である。 本発明の1実施形態による例示的な信号搬送媒体を示す。 本発明の1実施形態による、暗黙アドレッシング順次媒体デバイスを、明示アドレッシングを用いたホスト・アプリケーションに整合させる(interface)ための動作シーケンスのフローチャートである。

Claims (10)

  1. 暗黙アドレッシング順次媒体デバイスと明示アドレッシング順次媒体デバイスに適合する少なくとも1つのホストを整合させるための方法であって、
    ホストの明示アドレッシング媒体アクセス・コマンド発行に応答するステップと、
    前記明示アドレッシング媒体アクセス・コマンドの内容を変換して暗黙アドレッシング媒体アクセス・コマンドを生成するステップと、
    前記暗黙アドレッシング媒体アクセス・コマンドを前記暗黙アドレッシング順次媒体デバイスに渡すステップと、
    を有する、方法。
  2. ホストのデバイス機能クエリ発行に応答して、前記デバイスが明示アドレッシングを利用することを前記ホストに通知するステップをさらに有する、請求項1に記載の方法。
  3. 前記明示アドレッシング媒体アクセス・コマンド以外のホストのコマンド発行に応答して、実質的に変更を行わずに前記コマンドを前記デバイスに中継するステップをさらに有する、請求項1に記載の方法。
  4. 前記明示アドレッシング媒体アクセス・コマンドを暗黙媒体アクセス・コマンドに変換する前記ステップは、
    命令、アドレス、およびデータ長を含む明示アドレッシング媒体アクセス・コマンドを受信するステップと、
    前記アドレスを除去して前記命令およびデータ長を維持するステップと、
    を有する、請求項1に記載の方法。
  5. 前記暗黙アドレッシング順次媒体デバイスに渡される各コマンドごとに、
    前記ホストの発行したコマンドの内容を調べるステップと、
    前記デバイスにクエリを行って現在の順次媒体アドレスを確認するステップと、
    のステップのうち1つを実行することによって、読み取りまたは書き込みを行われている現在の順次媒体アドレスを監視するステップをさらに有する、請求項1に記載の方法。
  6. 前記明示アドレッシング媒体アクセス・コマンドを暗黙アドレッシング媒体アクセス・コマンドに変換する前記ステップは、更に、
    前記デバイスの現在の順次媒体アドレスに再位置決めが必要であるか否かを判定するステップと、
    再位置決めが必要である場合、前記暗黙アドレッシング媒体アクセス・コマンドを前記デバイスに渡す動作の前に、媒体再位置決めコマンドを前記デバイスに発行するステップと、
    を有する、請求項5に記載の方法。
  7. 各ホストの発行コマンドごとに、
    各コマンドごとに、前記コマンドが多数のデータ論理ブロックを含むか否かを判定するステップと、
    前記コマンドが多数のデータ論理ブロックを含む場合、前記データ論理ブロック数に従って現在の順次媒体アドレスのレコードを更新するステップと、
    前記コマンドが多数のデータ論理ブロックを含まない場合、前記デバイスと通信を行って現在の順次媒体アドレスを確認するステップと、
    を有するステップを実行することによって、現在の順次媒体アドレスを監視するステップをさらに有する、請求項1に記載の方法。
  8. ホストの明示アドレッシング媒体アクセス・コマンド発行に応答するステップは、更に、
    ホストの発行した明示アドレッシング媒体アクセス・コマンドを待ち行列に入れるステップと、
    前記ホストの発行した明示アドレッシング媒体アクセス・コマンドの内容を変換して対応する暗黙アドレッシング媒体アクセス・コマンドを生成するステップと、
    前記待ち行列に入れた暗黙アドレッシング媒体アクセス・コマンドを、それらの明示アドレッシングの対応物が示す順序で前記デバイスに渡すステップと、
    を有する、請求項1に記載の方法。
  9. 請求項1ないし8のいずれかに記載の方法のステップを実行するためにデジタル処理装置が実行可能な機械読み取り可能命令のプログラムを明確に具現化する信号搬送媒体。
  10. 請求項1ないし8のいずれかに記載の方法のステップを実行するように構成された多数の相互接続された導電要素の論理回路。
JP2003566705A 2002-02-06 2003-01-20 暗黙アドレッシング順次データ・ストレージへのアクセス Expired - Fee Related JP4524112B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/071,807 US6931478B2 (en) 2002-02-06 2002-02-06 Implicit addressing sequential media drive with intervening converter simulating explicit addressing to host applications
PCT/GB2003/000223 WO2003067422A2 (en) 2002-02-06 2003-01-20 Accessing implicit addressing sequential data storage

Publications (2)

Publication Number Publication Date
JP2006508407A true JP2006508407A (ja) 2006-03-09
JP4524112B2 JP4524112B2 (ja) 2010-08-11

Family

ID=27659330

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003566705A Expired - Fee Related JP4524112B2 (ja) 2002-02-06 2003-01-20 暗黙アドレッシング順次データ・ストレージへのアクセス

Country Status (8)

Country Link
US (1) US6931478B2 (ja)
EP (1) EP1481315B1 (ja)
JP (1) JP4524112B2 (ja)
KR (1) KR100633838B1 (ja)
CN (1) CN100472421C (ja)
AT (1) ATE555434T1 (ja)
AU (1) AU2003202062A1 (ja)
WO (1) WO2003067422A2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831736B1 (en) 2003-02-27 2010-11-09 Cisco Technology, Inc. System and method for supporting VLANs in an iSCSI
JP4137757B2 (ja) * 2003-10-01 2008-08-20 株式会社日立製作所 ネットワーク変換器及び情報処理システム
JP4443474B2 (ja) * 2005-06-14 2010-03-31 株式会社ソニー・コンピュータエンタテインメント コマンド転送制御装置およびコマンド転送制御方法
US9875026B2 (en) 2011-06-29 2018-01-23 Hewlett Packard Enterprise Development Lp Access commands including expected media positions
CN113299328A (zh) * 2021-05-21 2021-08-24 深圳市格灵精睿视觉有限公司 随机寻址读写控制方法、控制系统及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4126897A (en) * 1977-07-05 1978-11-21 International Business Machines Corporation Request forwarding system
US5537536A (en) * 1994-06-21 1996-07-16 Intel Corporation Apparatus and method for debugging electronic components through an in-circuit emulator
US6317638B1 (en) * 1997-08-22 2001-11-13 Honeywell Inc. Multi-layer state machine for a hybrid real-time control system and method of operation thereof
US6148278A (en) * 1998-09-24 2000-11-14 International Business Machines Corporation Emulating the S/390 read backwards tape operation on SCSI attached tape devices

Also Published As

Publication number Publication date
US6931478B2 (en) 2005-08-16
EP1481315B1 (en) 2012-04-25
CN1628283A (zh) 2005-06-15
US20030149829A1 (en) 2003-08-07
ATE555434T1 (de) 2012-05-15
AU2003202062A1 (en) 2003-09-02
KR20040079894A (ko) 2004-09-16
EP1481315A2 (en) 2004-12-01
KR100633838B1 (ko) 2006-10-13
CN100472421C (zh) 2009-03-25
JP4524112B2 (ja) 2010-08-11
WO2003067422A3 (en) 2004-09-23
WO2003067422A2 (en) 2003-08-14

Similar Documents

Publication Publication Date Title
JP4477906B2 (ja) ストレージシステム
US7302506B2 (en) Storage system
US7562249B2 (en) RAID system, RAID controller and rebuilt/copy back processing method thereof
JP4410557B2 (ja) コンピュータ・システム内のテープ装置にアクセスするための方法およびシステム
JP4252301B2 (ja) 記憶システム及びそのデータバックアップ方法
JP2005532611A (ja) 仮想記憶装置
JP2008004120A (ja) ダイレクトアクセスストレージシステム
US8868865B1 (en) Computer system, server module, and storage module
US7962676B2 (en) Debugging multi-port bridge system conforming to serial advanced technology attachment (SATA) or serial attached small computer system interface (SCSI) (SAS) standards using idle/scrambled dwords
JP4401305B2 (ja) デイスクアレイ装置の構成定義設定方法及びデイスクアレイ装置
US7460531B2 (en) Method, system, and program for constructing a packet
JP2016535483A (ja) ネットワークインターフェイス
JP4524112B2 (ja) 暗黙アドレッシング順次データ・ストレージへのアクセス
US10915405B2 (en) Methods for handling storage element failures to reduce storage device failure rates and devices thereof
JP2002323988A (ja) 遠隔割り込み信号の処理方法、システムおよびネットワークインターフェースシステム
US11474730B1 (en) Storage system and migration method of storage system
US7587466B2 (en) Method and computer system for information notification
US7251248B2 (en) Connection device
CN110134572B (zh) 验证存储系统中的数据
US8046560B1 (en) Serial number based storage device allocation
US10936242B2 (en) Cloud access through tape transformation
US20060064557A1 (en) Interleaving data blocks
EP1282287A2 (en) A connection device
JP2001282571A (ja) イベントトレース方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060411

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060622

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061010

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070601

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070705

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100428

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100531

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees