キーデータをカウントする

カウント・キー・データCKD)は、1964年にIBMがIBM System/360で導入し、現在でもIBMメインフレームでエミュレートされている、直接アクセス記憶装置(DASD)[ a ]のデータ記録形式です。CKDは自己定義形式で、各データレコードはカウント領域で表されます。カウント領域はレコードを識別し、オプションのキー領域とデータ領域のバイト数を提供します。これは、固定セクターサイズや独立したフォーマットトラックを使用するデバイスとは対照的です。

カウントキーデータ(CKD)は、IBMメインフレームによって生成され、CKD記録形式を採用したDASDサブシステムによって実行されるチャネルコマンド(総称してチャネルコマンドワード、CCW)のセットを指すこともあります。[ 1 ] 1964年に導入された最初のCKD CCWセットは、1990年代にかけて大幅に強化され、改善されました。

CKDトラックフォーマット

1965年のS/360出荷以降、IBMメインフレームコンピュータで使用されているカウントキーデータトラック形式のブロック図

CKDトラック形式の理由は、データフィールドの長さを可変にするためです。DASDトラックに記録された各データブロック(レコード)には、レコードを識別するカウントフィールドが関連付けられており、キーのサイズ(使用する場合)(ユーザー定義で最大255バイト)とデータ領域のサイズ(使用する場合)が示されます。[ 2 ] [ b ]カウントフィールドには、シリンダヘッドレコード形式のレコードの識別情報[ c ]、キーの長さ、およびデータの長さが記録されます。キーは省略することも、文字列で構成することもできます。

「トラックの開始は、インデックスマーカー(インデックスポイント)が検出されたときに通知されます。…マーカーは特殊な感知装置によって自動的に認識されます。」[ 3 ] : 5 インデックスマーカーの後に続くのは、ディスク上のこのトラックの位置を示すホームアドレスであり、制御ユニット内部のその他の制御情報も含まれています。ホームアドレスの後には固定長のギャップが続きます。次に、各トラックには、トラック記述子レコードであるレコード0(R0)が含まれます。これは、「プライマリトラックの一部に欠陥が発生した場合に、トラックの内容全体を代替トラックに移動できるように設計されている」ものです。[ 3 ] : 7 R0の後には、ギャップで区切られたデータレコードが続きます。[ 3 ] : 9

ギャップやその他の情報のため、記録されるスペースは、カウントデータ、キーデータ、またはユーザーデータのみに必要なスペースよりも大きくなります。IBMは各デバイスに「リファレンスカード」を提供しており、これを使用して、さまざまなキーおよびデータフィールドサイズに対するトラックあたりのレコード数を計算し、デバイスの容量を最適化できます。[ 4 ]その後、これらの計算を行うプログラムが開発されました。レコードは通常、トラック間で分割されないため、レコードサイズを誤って指定すると問題が発生します。

多くの場合、キーは省略され、レコードはシーケンシャルまたはシリンダヘッドレコードの直接アドレス指定によって検索されます。キーが存在する場合、キーはレコードを見つけるために使用される任意のデータであり、通常はSearch Key EqualまたはSearch Key High or Equal CCWが使用されます。キー(およびレコード)はハードウェアコマンドによって検索できます。[ 5 ] 1964年にIBMのSystem/360が導入されて以来、ほぼすべてのIBMの大規模および中規模システムDASDはカウントキーデータレコード形式を使用しています。[ 6 ]

カウント キー データ レコード形式の利点は次のとおりです。

  • レコードサイズはアプリケーションのデータブロックサイズと正確に一致させることができる
  • 検索キー コマンドを利用することで、CPU とメモリの要件を削減できます。
  • IBM CKDサブシステムは当初システムチャネルと同期して動作し、さまざまなフィールド間のギャップで情報を処理できるため、ホストへの情報の冗長転送を回避することで、より高いパフォーマンスを実現しました。[ 6 ] 後のサブシステムでは、同期操作と非同期操作の両方がサポートされています。[ 6 ]

CPU とメモリの価格低下とデバイスおよびインターフェース速度の向上により、CKD の利点はある程度無効になっており、IBM のz/OSオペレーティング システムがセクター指向インターフェースを完全にサポートしていないためにのみ CKD が保持されています。

元々、CKD レコードは DASD デバイスの物理トラックと 1 対 1 で対応していましたが、時間の経過とともにレコードはますます仮想化され、最新の IBM メインフレームでは CKD レコード ID とトラックの物理レイアウトの間に直接的な対応はなくなりました。

IBMのCKD DASDサブシステム

パッケージ

IBM S/360 および S/370 の CKD DASD の入出力操作 (チャネル、ストレージ制御装置、DASD デバイスを表示)

当初、図に示すように、DASDアクセスの論理ビューと実際のハードウェアの間には高い対応関係がありました。チャネル、制御装置、デバイスのアドレスを識別するために、 通常3桁のラベル[ d ]が付けられていました。

ローエンドシステムでは、チャネルとコントロールユニットは物理的には統合されているものの、論理的には分離されていることが多い。1972年の3830モデル2以降、IBMのNew Attachment Strategy [ 7 ]により、SCUはディレクタとコントローラという2つの物理エンティティに物理的に分離されているが、論理的には同一である。コントローラはCKDトラックのフォーマット処理を担当し、ドライブ列の最初のドライブ(複数ドライブを含む)に同梱されている。モデル番号の先頭には「A」が付​​く。これは「Aユニット」(または「Aボックス」)と呼ばれ、コントローラと2つのDASDを収容する3350モデルA2に見られる。コントローラを持たないDASD、つまりBユニットのモデル番号には「B」が付く。

CKDサブシステム[ e ]とディレクターは、少なくとも1996年(2301から3390モデル9)までIBMとプラグ互換の競合他社によって提供されていました。 [ 8 ]合計22の独自のDASD [ f ]は、少なくとも35の異なるサブシステム構成で構成されていました。プラグ互換では、独自のDASDを備えた4つのCKDサブシステムを含む、同じDASDの多くが提供されました。[ g ]

プログラミング

IBMメインフレームによる特定のクラスのI/Oデバイスへのアクセスは、チャネル・コマンド・ワード(CCW)によって制御されます。CCWの中には汎用的なもの(例:No Operation)もありますが、多くはI/Oデバイスの種類に固有のもの(例:テープドライブのRead Backwards )です。IBMがDASD用に定義したCCWのグループは、大きく分けて5つのカテゴリに分類されます。

  • 制御 – DASDへのパスを含むDASDの制御
  • センス - DASDへのパスを含むDASDのセンスステータス。一部のセンスコマンドは、制御コマンド(例:RESERVE、RELEASE)とより一致する方法でコントローラとDASDのステータスに影響を与えます。
  • 書き込み – コントローラまたはDASDに情報を書き込みます(パスにバッファリングまたはキャッシュされる場合があります)
  • 検索[ h ]  – CPU からの情報と DASD に保存されている情報を比較します。チャネルは書き込みモードで動作し、ストレージ ユニットは読み取りモードで動作します。
  • 読み取り – DASD から情報を読み取る(パスにバッファリングまたはキャッシュされている可能性があります)

CKD CCWは、CKD DASDサブシステムへのアクセスに使用される特定のCCWセットです。これは、FBA DASDサブシステムへのアクセスに使用される 固定ブロックアーキテクチャ(FBA)CCWとは対照的です。

CKD DASD は他の入出力装置と同様にアドレス指定されるが、System/360 および System/370 の DASD はチャネルおよび関連する制御装置[ 9 ] [ 10 ] [ 11 ] (SCU または記憶制御装置) を介して直接アドレス指定され、最初は 3 桁の 16 進数 (1 桁はチャネル用、2 桁は制御装置と装置用) を使用して、最大 16 チャネル、チャネルあたり最大 256 の DASD アクセス メカニズム、合計 4,096 の DASD アドレスのアドレス指定が可能であった。最近の IBM メインフレームは、実際のチャネル、制御装置、装置を含むチャネル サブシステム サブセット内の任意のサブチャネル番号として 4 桁の 16 進数を使用し、チャネル サブシステム サブセットあたり最大 65,536 の DASD のアドレス指定が可能となっている。

ブロックサイズの決定

システム設計の一つの側面は、データセットの最適なブロック(物理レコード)サイズを決定することでしたが、「最適」とはディスクと主記憶装置の使用量とのトレードオフであることが多かったのです。DASDデバイスの容量は、ポケットサイズのリファレンスカードに記載された表で特定デバイスごとに記述されていました。以下は2311-1の例です[ 12 ]

DASD容量と転送時間
レコードあたりのバイト数の最小値と最大値トラック-シリンダー-モジュールあたりのレコード数伝送時間(ミリ秒)最小~最大
5~642–420–840000.03~0.04
7~841–410–820000.04~0.05
.........
812–11113~30~60005.21~7.12
1112–17202~20~40007.13~11.03
1721–36052000年1月10日11.03–23.11

トラック上のスペースが小さすぎてブロック全体を収容できない場合、通常は無駄になります。6バイトブロックの場合、1トラックは42×6、つまり252バイトを収容できますが、3605バイトレコード(フルトラックブロッキング)の場合、1トラックは3605バイトを収容できます。一方、1721バイトのレコードは、依然として1トラックにつき1つのレコードとして書き込まれます。ディスク使用率を最適化するには、1720バイトまたは3605バイト(ハーフトラックまたはフルトラック)に可能な限り近い整数レコード数で、かつそれ未満となるブロックサイズを使用します。ただし、多数のファイルを開くプログラムでは、ファイルごとに1つまたは2つのブロック分のバッファー領域が必要になるため、主記憶域の使用量とのバランスを取る必要がありました。

このチャートはキーのないレコードを記述しています。キーはディスク上に追加のギャップを必要とするため、別のチャートが使用されました。

必要なレコードサイズとデバイスタイプを入力として受け取り、最適なブロックサイズを計算するプログラムが作成された。[ 13 ]

初期CKD機能セット

1964 年に IBM が CKD トラック フォーマットと関連する CCW を導入したときに提供された初期の機能セットには、次のものが含まれていました。

  • 不良/代替トラック - 使用中のアクセス方法に透過的に、不良トラックを代替トラックに置き換えることができます。
  • レコードオーバーフロー (別名トラックオーバーフロー  ) – 書き込み特殊カウント、キー、およびデータCCWは、論理的には次のトラックのレコードセグメントの一部であるレコードセグメントを書き込むことができます。個々のレコードセグメントはDASDトラックの最大トラック長[ 14 ]を超えることはできませんが、レコードセグメントのシーケンスにはそのような制限はありません。
  • マルチトラック操作 - 特定のCCWはシリンダーの端まで次の連続トラックに進むことができます。[ 14 ]
  • コマンド連鎖 – CCWを連鎖させることで、複雑なチャネルプログラムを構築できます。CKDトラック形式のギャップにより、コマンド間に十分な時間的余裕が確保され、コマンドを完了するために必要なすべてのチャネルおよびSCUアクティビティを、適切なフィールド間のギャップで実行できます。 [ 15 ] このようなプログラムは、DASDに格納されている大量の情報を検索し、正常に完了すると必要なデータのみを返すため、CPUリソースを他のアクティビティに解放できます。 [ 16 ] このギャップに同期した動作モードは、後に追加のCCWによって拡張され、非同期動作モードも可能になりました。
  • データチェーニング – 現在のCCWが指定されたバイト数を読み書きすると、データチェーニングにより「次のCCWの記憶領域が現在のI/O操作で使用されるようになります。データチェーニングを使用すると、1回のI/O操作で連続していない記憶領域との間でデータを転送できます。」[ 17 ] [ 18 ]
  • チャネルスイッチング - SCUはチャネル間で共有できます。当初は2チャネルのスイッチングが提供されていましたが、その後のSCUでは最大8チャネルまで拡張されました。チャネルは同一または異なるCPU上に配置できます。

スキャン機能セットも提供されましたが、2314 以降の将来の CKD サブシステムには引き継がれませんでした。

41 の CCW が機能セットを実装しました:

IBM S/360 DASDチャネルコマンド[ 19 ]
コマンドクラス 指示‡ 2301 [ 20 ]2302 [ 14 ]2303 [ 14 ] 7320 [ 21 ] [ i ]2311 [ 14 ]2321 [ 14 ]2314 2319 [ 22 ]MTオフ MTオン † 長さを数える
コントロール操作なしSSSSSS03
求めるSSSSSS076
シークシリンダーSSSSSS0B6
シークヘッドSSSSSS1B6
ファイルマスクの設定SSSSSS1階1
スペース数SSSSSS0F3
再調整SS13ゼロではない
復元するS17ゼロではない
センスセンスI/OSSSSSS046
リリースデバイス946
予備デバイスB46
検索自宅住所EQSSSSSS39B94(通常)
識別子EQSSSSSS31B15(通常)
識別子 HISSSSSS51D15(通常)
識別子 EQ または HISSSSSS71FI5(通常)
キーEQSSSSSS29A91から255
キーHISSSSSS49C91から255
キーEQまたはHISSSSSS69E91から255
キーとデータEQS2D広告注2を参照
キーとデータ HIS4DCD注2を参照
キーとデータEQまたはHIS6DED注2を参照
スキャンを続行する(注1を参照)  検索EQS25A5注2を参照
HIを検索S45C5注2を参照
HIまたはEQを検索S65E5注2を参照
比較を設定S35B5注2を参照
比較を設定S75F5注2を参照
比較なしS55D5注2を参照
読む自宅住所SSSSSS1A9A5
カウントSSSSSS12928
記録0SSSSSS1696転送されたバイト数
データSSSSSS0686
キーとデータSSSSSS0E8E
カウント、キーとデータSSSSSS1E9E
IPLSSSSSS02
書く自宅住所SSSSSS195(通常)
記録0SSSSSS158*KL*DLのRO
カウント、キー、データSSSSSS1D8+KL+DL
特別なカウント、キー、データSSSSSS018+KL+DL
データSSSSSS05ダウンロード
キーとデータSSSSSS0DKL*DL
消去SSSSSS118*KL*DL
合計CCW41303930404040

注:

O = オプション機能
S = 標準機能
MT = マルチトラック: サポートされている場合、CCW はシリンダーの最後まで次のヘッドで順番に動作を続けます。
‡ = TIC (Transfer In Channel) およびその他の標準コマンドは表示されません。
† = 記載されている点以外は MT Off と同じコード
1. ファイル スキャン機能 (9 つの CCW) は、2302、2311、2321 の 2841 でのみ使用可能です。2314 以降の DASD 用の後続の DASD コントローラでは使用できませんでした。
2. カウントはマスクバイトを含む検索引数のバイト数です

CCWは当初、システムの高速セレクターチャネルに接続された2種類のSCUによって実行されていました。2820 SCU [ 20 ]は2301ドラムを制御し、2841 SCU [ 14 ]は2302ディスクストレージ2311ディスクドライブ、2321データセル、および/または7320ドラムストレージの組み合わせを制御しました。IBMはすぐに7320をより高速で大容量の2303に置き換えました。

その後、この機能セットは、2314 ファミリーのストレージ コントロールSystem 370 モデル 25 の統合アタッチメントに実装されました。

次のチャネルプログラムの例[ 22 ]は、キーフィールドで識別されるディスクレコードを読み取ります。レコードとキーの目的の値を含むトラックは既知です。SCU はトラックを検索して要求されたレコードを見つけます。この例では、<> はチャネルプログラムが指定されたフィールドのストレージアドレスを保持していることを示しています。

 SEEK <シリンダー/ヘッド番号> 検索キーが等しい <キー値> TIC *-8 等しくない場合は検索に戻る データの読み取り <バッファ> 
TIC(チャネルへの転送)は、チャネルプログラムをSEARCHコマンドへ分岐させ、一致するキーを持つレコード(またはトラックの終端)が見つかるまで処理を続けます。一致するキーを持つレコードが見つかると、SCUはチャネルステータスにステータス修飾子を追加し、チャネルはTIC CCWをスキップします。そのため、チャネルプログラムは分岐せず、READコマンドを実行します。

ブロックマルチプレクサチャネルの拡張

ブロックマルチプレクサチャネルは、1971年に2835制御ユニットと関連する2305 DASDとともに一部のハイエンドSystem/360システムに導入されました。[ 23 ] このチャネルはその後IBM System/370およびそれ以降のメインフレームの標準となり、以前のセレクタチャネルと比較してDASDなどの高速デバイスのパフォーマンスが向上しました。

複数のリクエスト

セレクタチャネルでは1つのチャネルプログラムしか実行できないのに対し、複数のチャネルプログラム[ j ]を 施設内で同時に実行できるようになりました[ 23 ] 。提供されるサブチャネルの実際の数は、システムモデルとその構成によって異なります[ 24 ] 。 これは切断されたコマンドチェーンとも呼ばれ、制御ユニットはCCWのチェーンセット中に様々なタイミングで切断することができます。例えば、Seek CCWの切断により、チャネルが別のサブチャネル用に解放されます。

コマンドの再試行

チャネル制御とストレージ制御は、特定の条件下では相互運用して、I/O中断なしにCCWを再試行することができます。[ 23 ] この手順はストレージ制御によって開始され、訂正可能なエラーからの回復に使用されます。

回転位置検知

回転位置検知(RPS)は、2つの新しいCCW(SET SECTORとREAD SECTOR)によって実装され、ディスクが指定された角度のトラック位置まで回転するまでチャネルがコマンドチェーンを遅延させることが可能になった。RPSは、回転遅延期間の大部分でチャネルの切断を可能にするため、チャネル利用率の向上に貢献する。制御ユニットは、各トラックを等しい角度のセグメントに分割することでRPSを実装する。[ 23 ]

チャネルプログラムの例

次のサンプルチャネルプログラムは、R0と3つのCKDレコードを持つトラックをフォーマットします。[ 23 ]

 SEEK <シリンダー/ヘッド番号> SET FILE MASK <書き込み操作を許可する> SET SECTOR <セクター番号=0> WRITE R0 <シリンダー/ヘッド/R0、キー長=0、データ長=6> WRITE CKD <シリンダー/ヘッド/R1、キー長、データ長> WRITE CKD <シリンダー/ヘッド/R2、キー長、データ長> WRITE CKD <シリンダー/ヘッド/R3、キー長、データ長> 

この例では、レコード0はIBMプログラミング標準に準拠しています。ブロックマルチプレクサチャネルの場合、DASDがシークしている間と、ディスクがトラックの先頭まで回転している間はチャネルはフリーです。セレクタチャネルは、このサンプルプログラムの実行中ずっとビジー状態になります。

欠陥スキップ

欠陥スキップは、1つまたは複数の表面欠陥[ k ]の前後にデータを書き込むことを可能にするため、欠陥のある部分を除くトラック全体を使用できます。これにより、以前は代替トラックへのシークに必要だった時間も削減されます。[ 25 ] スキップできる欠陥の数は限られているため、欠陥が過剰なトラックについては代替トラックがサポートされます。

欠陥スキップ機能は、1974年に3830モデル2ストレージ制御ユニット[ 25 ]を介して3340に接続することで、または小型システムでは統合型アタッチメントを介して導入されました。欠陥スキップ機能は、1981年に管理用CCWと関連ユーティリティがリリースされるまで、基本的に工場出荷時のみの機能でした。[ 26 ]

動的パス

この機能は1981年に3880ストレージ制御装置[ 27 ]の3380 DASDで初めて導入され、その後のCKD DASDサブシステムにも搭載されました。動的パス選択機能は、2つのコントローラの動作を制御し、2つのパスを介した同時データ転送も可能にします。オペレーティングシステムがサポートしている場合、各コントローラは、もう一方のコントローラが使用できない場合に代替パスとして機能します。[ 28 ]

3つの追加コマンド、パスグループIDの設定、パスグループIDの検出、マルチパス再接続の一時停止は、ストリングの先頭に2つのコントローラを持つ3380モデルの接続をサポートするために使用されます。[ 27 ]

パスグループID設定コマンドは、動的パス選択(DPS)機能と併用することで、予約済みデバイスに対する操作の柔軟性を高めます。デバイスのパスグループが確立されると、そのデバイスは、予約されているグループのメンバーである任意のパスを介してアクセスできるようになります。さらに、機能制御バイト(バイト0)のマルチパスモードビットを1に設定すると、370-XAシステムでは、チャネルプログラムが開始されたグループのメンバーである最初の利用可能なパス上でブロック多重再接続が行われます(デバイスの予約状態に関係なく)。[ 27 ]

I/Oアドレスで指定されたコントローラがビジー状態または無効になっている場合、動的パス選択により、別のストレージディレクターとモデルAA内の他のコントローラを介してデバイスへの代替パスを確立できます。[ 28 ]

非同期操作

1981年に3880ディレクターが導入される前は、CKDレコードは同期的にアクセスされており、すべてのアクティビティでは1つのCCWを終了し、次のCCWをCKDフィールド間のギャップで開始する必要がありました。[ 15 ] ギャップサイズはケーブル長に制限を課しましたが、CPUメモリやサイクルを使用せずにサブシステムによって複雑なCCWチェーンをリアルタイムで実行できるため、非常に高いパフォーマンスが得られました。

拡張CKD(ECKD)CCWセットによって提供される非同期操作は、ギャップタイミング制約を取り除きました。 [ 15 ] 追加された5つのECKD CCWは、エクステントの定義、レコードの位置特定、更新データの書き込み、更新キーとデータの書き込み、およびCKDの次のトラックの書き込みです。[ 27 ]

非同期動作では、チャネルとストレージ制御装置間のデータ転送は、ストレージ制御装置とデバイス間のデータ転送と同期しません。チャネルプログラムは、あるコマンドの実行を終了して次のコマンドに進むために必要なチャネルおよびストレージ制御装置の動作が、隣接する2つのフィールド間のレコード間ギャップ中に発生する必要がないように実行できます。ストレージ制御装置内の中間バッファにより、チャネルとデバイス間の独立した動作が可能になります。ECKDの主な利点は、ケーブルがはるかに長いことです。アプリケーションによっては、パフォーマンスが向上する可能性があります。[ 15 ]

ECKD CCW は、以降のすべての CKD サブシステムでサポートされます。

この非同期チャネルプログラムの例は、シリンダX'007F'のトラックX'0E'からレコードR1とR2を読み取ります。どちらのレコードもキー長は8、データ長はX'64'(100 10)バイトです。[ 27 ]

 エクステント <extent= X'007F 0000' からトラック X'0081 000E'> を定義します レコードを検索 <シリンダ = X'007F'、ヘッド = X'000E' キーとデータの読み取り <キーレコード = X'001038'> データの読み取り <レコード = X'001108'> 

キャッシング

キャッシュは、S/370 DASD CKDサブシステムにおいて、Memorex [ 29 ] (1978) とStorageTek [ l ] (1981) によって初めて導入されました。IBMはその後、3880モデル2および3にスピード・マッチング・バッファ(SMB)を導入し[ 27 ]、3375および3380ドライブをより低速なチャネルに接続できるようにしました。そして1981年後半には、3380のダイナミック・パス機能を搭載したモデルとして、3880モデル13に正式にキャッシュを導入しました。[ m ]

キャッシュはアルゴリズムによって動的に管理され、アクセス頻度の高いデータは高性能キャッシュからアクセスされ、アクセス頻度の低いデータはより安価なDASDストレージからアクセスされます。ディレクター内の大容量メモリであるキャッシュは、3380トラックのデータを格納するトラックスロットに分割されています。より小さな領域はディレクトリであり、キャッシュ内のデータの位置を特定するためのエントリが格納されています。[ 30 ]

その後に導入されたストレージ制御でもキャッシュが提供されるようになりました。

その他の拡張機能

時間の経過とともに、1つまたは複数のストレージ制御装置に、パス制御、診断、および/またはエラー回復のためのCCWが数多く実装されました。例えば、

  • 無条件予約により、別のチャネルに予約されているデバイスを解放し、コマンドを発行するチャネルにデバイスを予約できるようになりました。
  • 複数カウント キー データの読み取りにより、完全なトラックをより効率的に読み取ることができるため、バックアップの効率が向上します。

システム/370を超えて

CPU とメモリの価格低下とデバイスおよびインターフェース速度の向上により、CKD の利点はある程度相殺されましたが、IBM の主力オペレーティング システム z/OS では多くの機能に CKD CCW が引き続き使用されているため、IBM によるサポートは現在も継続されています。

元々CKDレコードはDASDデバイスの物理トラックと1対1で対応していましたが、時とともにレコードは仮想化が進み、現代のIBMメインフレームではCKDレコードIDとトラックの物理レイアウトの間に直接的な対応はなくなりました。IBMメインフレームはメモリ内にCKDトラックイメージを構築し、そのイメージに対してECKDおよびCKDチャネルプログラムを実行します。ネイティブの固定ブロックサイズディスクと可変長ECKD/CKDレコード形式間の橋渡しをするため、メモリ内のCKDトラックイメージはFBAディスクサブシステムとの転送に適した一連の固定ブロックにマッピングされます。[ 31 ]

システム/360およびシステム/370チャネルに実装されている83個のCKD CCWのうち56個はシステム/390以降のシステムでエミュレートされています。[ 31 ]

参照

注記

  1. ^最も一般的なのはハードディスクドライブです。
  2. ^データ長 0 は EOF を示します
  3. ^レコードは可変長であり、トラック上のレコード番号は一意である必要がないため、レコード番号は角度変位に対応しません。
  4. ^初期のDASDでは、ラベルはプラグ上にあり、DASD間でアドレスを移動させることができた。
  5. ^これは、SCU と 1 つ以上の DASD、または A ユニットと接続された B ユニットの組み合わせです。
  6. ^トラック数と最大トラック長の一意の組み合わせ。この定義では、倍密度DASDは一意のDASDとしてカウントされます。
  7. ^倍密度2314、三倍密度3330、倍密度3350、ソリッドステートディスク
  8. ^技術的に書く
  9. ^ 2302は7230の後継機である。データメーション、1966年3月、81ページ
  10. ^ 2305の場合、同じディスクドライブに最大8チャネルプログラム、同じSCUに最大16チャネルプログラム
  11. ^スキップ可能な欠陥の数はDASDモデルによって異なります
  12. ^ STK 3350互換用のSTK 8890 Cyber​​Cache
  13. ^同時に発表されたのは、3880-11のキャッシュをページングモード3350でページングデバイスとして使用することである。

参考文献

  1. ^ IBM 3990 ストレージ制御入門 – 第6版、IBM、1994年2月、GA32-0098-05。
  2. ^ 「CKDデバイスのボリュームレイアウトとレコード形式」 IBM Corp. 2024年1月25日. 2025年4月16日閲覧
  3. ^ a b c IBM Corporation (1969年9月). IBM System/360 Component Descriptions 2314 Direct Access Storage Facility and 2844 Auxiliary Storage Control (PDF) . 2020年3月30日時点のオリジナル(PDF)からアーカイブ。 2019年12月5日閲覧
  4. ^ IBM Corporation (1973年11月). 3330シリーズ・ディスク・ストレージ 3333 モデル1および11 3330 モデル1、2、および11 リファレンス・サマリー(PDF) . 2019年12月5日閲覧
  5. ^ Houtekamer, Gilbert E.; Artis, H. Pat (1993). MVS I/Oサブシステム:構成管理とパフォーマンス分析. ニューヨーク: McGraw-Hill. ISBN 978-0-07-002553-0. OCLC  26096983 .
  6. ^ a b c「同期DASD操作」。非同期直接アクセス記憶サブシステムの紹介。International Business Machines Corporation。1990年1月。GC46–4519–0。
  7. ^ 「1970年代の歴史的物語、米国対IBM、証拠物件14971」 1980年7月、1051ページ。
  8. ^ 「Direct Access Storage * 22.7GB、12アクチュエータ」 。2015年12月22日時点のオリジナルよりアーカイブ
  9. ^ IBM System/360 操作原理(PDF) . IBM. 入出力操作. GA22-6821-7.
  10. ^ IBM System/370 動作原理(PDF) . IBM. 入出力操作. GA22-7000-0.
  11. ^「第13章 I/Oの概要」IBM Enterprise Systems Architecture/370 Principles of Operation (PDF) . IBM. SA22-7000-0.
  12. ^ 「DASD容量と伝送時間」(PDF) . bitsavers . IBM Corporation . 2025年12月28日閲覧
  13. ^ 「CBT File001 - ディレクトリ」 . cbttape.org . 2025年12月28日閲覧
  14. ^ a b c d e f g IBM System/360 Component Descriptions - 2841 and Associated DASD (PDF) . 第8版. IBM. 1969年12月. GA26-5988-7. 2011年10月14日時点のオリジナルよりアーカイブ(PDF) . 2015年12月7日閲覧
  15. ^ a b c d「非同期直接アクセス記憶サブシステムの概要」IBM、1990年1月、GC26-4519-0。
  16. ^ J. Buzen (1975年6月). 「I/Oサブシステムアーキテクチャ」. Proceedings of the IEEE . 63 (6): 871. doi : 10.1109/PROC.1975.9852 . S2CID 68000 . 
  17. ^ Sprinkle, Tommy. 「370 I/Oリファレンス概要」 MVS /システムプログラミング. 2026年1月10日閲覧
  18. ^学生用テキスト『IBM System/360アーキテクチャー入門』(PDF) IBM Corporation、1968年4月、p. 22。2026年1月11日閲覧
  19. ^ IBM System/360 リファレンスデータ(グリーン)カード、GX20-1703-9より
  20. ^ a b IBM System/360 コンポーネント説明 - 2820 ストレージ制御および 2301 ドラムストレージ(PDF)2016年3月4日時点のオリジナルよりアーカイブ(PDF) 。 2015年8月28日閲覧
  21. ^ IBM System/360 コンポーネント説明 - 2841および関連DASD (PDF) . 初版. IBM. A26-5988-0.
  22. ^ a b IBM System/360 コンポーネント説明 2314 直接アクセス記憶装置および 2844 補助記憶装置制御装置(PDF) (第 7 版)、1971 年 11 月、GA26-3599-6
  23. ^ a b c d e IBM 2835ストレージ制御およびIBM 2305固定ヘッド・ストレージ・モジュールのリファレンス・マニュアル(PDF)。1983年10月。GA26-1589-5。2016年3月4日時点のオリジナルからアーカイブ(PDF) 。 2015年12月21日閲覧
  24. ^ J. Kettner (2007年11月). 「Input/Output - A White Paper」(PDF) . IBM. 2016年3月4日時点のオリジナル(PDF)からアーカイブ
  25. ^ a b 3830 モデル1のリファレンスマニュアル。1974年3月。
  26. ^ 「デバイスサポート機能、ユーザーズガイドおよびリファレンス。リリース4.0」(PDF)。1981年5月。pp. vi, 46, 61, 87。
  27. ^ a b c d e f IBM 3880 ストレージ制御モデル 1、2、3、および 4 説明マニュアル. IBM. 1987年9月. セクション4. GA26-1661-9.
  28. ^ a b IBM 3380 直接アクセス記憶装置の説明とユーザーズ・ガイド(PDF) . IBM. 1981年12月. GA26-1664-1.
  29. ^ 「Memorexがシステムパフォーマンスのギャップを埋めます」(PDF) . Datamation . 1978年8月. pp.  85– 86.
  30. ^ IBM 3880ストレージ制御モデル13の概要(PDF) . IBM. 1981年9月. GA32-0062-0.
  31. ^ a b IBM S/390 Multiprise 3000 Enterprise Server、内蔵ディスクサブシステム:リファレンスガイド。IBM。1999年11月。2016年3月4日時点のオリジナルよりアーカイブ

さらに読む