カウント キー データ( CKD ) は、1964 年に IBM がIBM System/360で導入し、現在でも IBM メインフレームでエミュレートされている直接アクセス ストレージ デバイス(DASD) [a]のデータ記録形式です。これは自己定義形式で、各データ レコードはカウント領域で表され、カウント領域はレコードを識別し、オプションのキー領域とオプションのデータ領域のバイト数を提供します。これは、固定セクター サイズまたは別のフォーマット トラックを 使用するデバイスとは対照的です。
カウントキーデータ(CKD)は、IBMメインフレームによって生成され、CKD記録形式を採用したDASDサブシステムによって実行されるチャネルコマンド(総称してチャネルコマンドワード、CCW)のセットを指すこともあります。[1] 1964年に導入された最初のCKD CCWセットは、1990年代にかけて大幅に強化され、改善されました。
CKDトラックフォーマット

CKD トラック形式の理由は、データ フィールドの長さを変更できるようにするためです。DASD トラックに記録された各データ ブロック (レコードと呼ばれます)には、レコードを識別し、キー (使用されている場合) のサイズ (ユーザー定義で最大 255 バイト) とデータ領域 (使用されている場合) のサイズを示すカウント フィールドが関連付けられています。[2] [b]カウント フィールドには、シリンダ ヘッド レコード形式のレコードの識別[c]、キーの長さ、およびデータの長さがあります。キーは省略することも、文字列で構成することもできます。
「トラックの始まりは、インデックス マーカー (インデックス ポイント) が検出されたときに通知されます。... マーカーは、特別な感知装置によって自動的に認識されます。」[3] : 5 インデックス マーカーの次には、ディスク上のこのトラックの位置を示すホーム アドレスが続き、制御ユニット内部のその他の制御情報が含まれています。ホーム アドレスの後には、固定長のギャップが続きます。次に、各トラックには、トラック記述子レコードであるレコード 0 (R0) が含まれます。これは、「プライマリ トラックの一部に欠陥が発生した場合に、トラックの全コンテンツを代替トラックに移動できるように設計されている」ものです。[3] : 7 R0 の後には、ギャップで区切られたデータ レコードが続きます。[3] : 9
ギャップやその他の情報があるため、記録されるスペースは、カウント データ、キー データ、またはユーザー データのみに必要なスペースよりも大きくなります。IBM は各デバイスに「リファレンス カード」を提供しており、これを使用して、さまざまなキーおよびデータ フィールド サイズに対してトラックあたりのレコード数を計算し、デバイスの容量を最適化できます。[4]その後、これらの計算を行うプログラムが作成されました。レコードは通常、トラック間で分割されないため、レコード サイズを不適切に指定すると問題が発生します。
ほとんどの場合、キーは省略され、レコードは順番に、または直接シリンダヘッドレコードアドレス指定によって検索されます。キーが存在する場合、キーはレコードを見つけるために使用される任意のデータであり、通常は検索キーイコールまたは検索キーハイまたはイコール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サブシステム
パッケージ

当初は、図に示すように、DASD アクセスの論理ビューと実際のハードウェアの間には高い対応関係がありました。通常、チャネル、制御ユニット、デバイスのアドレスを識別するために、 3 桁のラベル[d]が付けられていました。
ローエンドのシステムでは、チャネルとコントロール ユニットは物理的に統合されていることが多いものの、論理的には分離されています。1972 年に 3830 モデル 2 から始まった IBM の New Attachment Strategy [7]では、SCU を物理的に 2 つのエンティティ (ディレクターとコントローラー) に分離しましたが、論理的には同じままでした。コントローラーは CKD トラックのフォーマットを処理し、ドライブ ストリングの最初のドライブまたはドライブ群と一緒にパッケージ化され、モデル番号のプレフィックスとして文字 "A" が付きます。これは、コントローラーと 2 つの DASD を含む 3350 モデル A2 のような "A ユニット" (または "A ボックス") です。コントローラーのない DASD、つまり B ユニットのモデル番号には "B" プレフィックスが付きます。
CKDサブシステム[e]とディレクターは、少なくとも1996年(2301から3390モデル9)までIBMとプラグ互換の競合他社によって提供されていました。 [8]合計22のユニークな[f] DASDがIBMによって提供され、少なくとも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 のステータスをセンスします。一部のセンス コマンドは、制御コマンドとより一致する方法でコントローラと DASD のステータスに影響します (例: RESERVE、RELEASE)。
- 書き込み – コントローラまたは 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 の最大数は、アドレス指定可能な数よりも少ない数に制限されます。
初期CKD機能セット
1964 年に IBM が CKD トラック形式と関連する CCW を導入したときに提供された最初の機能セットには、次のものが含まれていました。
- 不良/代替トラック - 使用中のアクセス方法に透過的に、不良トラックを代替トラックに置き換えることができます。
- レコードオーバーフロー (トラックオーバーフローとも呼ばれる )書き込み特殊カウント、キー、およびデータCCWは、次のトラックのレコードセグメントの論理的一部であるレコードセグメントを書き込むことができます。個々のレコードセグメントはDASDトラックの最大トラック長を超えることはできませんが[12]、レコードセグメントのシーケンスにはそのような制限はありません。
- マルチトラック操作 - 特定のCCWを次の連続ヘッドに継続することができます[12]
- コマンド連鎖 – CCW を連鎖させて複雑なチャネル プログラムを構築できます。CKD トラック形式のギャップによりコマンド間に十分な時間が確保され、コマンドを完了するために必要なすべてのチャネルおよび SCU アクティビティを適切なフィールド間のギャップで実行できます。 [13] このようなプログラムは DASD に格納されている大量の情報を検索し、正常に完了すると必要なデータのみを返すため、CPU リソースを他のアクティビティに解放できます。 [14] このギャップに同期した動作モードは、後に追加の CCW によって拡張され、非同期動作モードが可能になりました。
- チャネル スイッチング - SCU はチャネル間で共有できます。当初は 2 つのチャネル スイッチングが提供されていましたが、その後の SCU では最大 8 つのチャネルに拡張されました。チャネルは同じ CPU 上にあっても、異なる CPU 上にあってもかまいません。
スキャン機能セットも提供されましたが、2314 以降の将来の CKD サブシステムには引き継がれませんでした。
41 の CCW が機能セットを実装しました:
注:
- 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 [16]は2301ドラムを制御し、2841 SCU [12]は2302ディスクストレージ、2311ディスクドライブ、2321データセル、および/または7320ドラムストレージの組み合わせを制御しました。IBMはすぐに7320をより高速で大容量の2303に置き換えました。
その後、この機能セットは、2314 ファミリーのストレージ コントロールとSystem 370 モデル 25 の統合アタッチメントに実装されました。
次のチャネルプログラムの例[18]は、キーフィールドで識別されるディスクレコードを読み取ります。レコードを含むトラックとキーの目的の値はわかっています。SCUはトラックを検索して要求されたレコードを見つけます。この例では、<>はチャネルプログラムに指定されたフィールドのストレージアドレスが含まれていることを示しています。
SEEK <シリンダー/ヘッド番号> 検索キーが等しい <キー値> TIC *-8 等しくない場合は検索に戻る データの読み取り <バッファ>
- TIC (チャネルへの転送) により、一致するキーを持つレコード (またはトラックの終わり) が見つかるまで、チャネル プログラムは SEARCH コマンドに分岐します。一致するキーを持つレコードが見つかると、SCU はチャネル ステータスにステータス修飾子を含め、チャネルが TIC CCW をスキップするようにします。したがって、チャネル プログラムは分岐せず、チャネルは READ コマンドを実行します。
ブロックマルチプレクサチャネルの強化
ブロックマルチプレクサチャネルは、1971年に2835制御ユニットと関連する2305 DASDとともに一部のハイエンドSystem/360システムに導入されました。[19] このチャネルはその後IBM System/370およびそれ以降のメインフレームの標準となり、以前のセレクタチャネルと比較すると、DASDなどの高速デバイスのパフォーマンスが向上しました。
複数のリクエスト
セレクターチャネルでは1つのみではなく、複数のチャネルプログラム[j]を 施設[19]で同時にアクティブにできるようになりました。提供されるサブチャネルの実際の数は、システムモデルとその構成によって異なります。 [20] 切断されたコマンドチェーンと呼ばれることもありますが、制御ユニットは、連鎖されたCCWセット中にさまざまなタイミングで切断できます。たとえば、Seek CCWの切断により、チャネルが別のサブチャネル用に解放されます。
コマンド再試行
チャネルとストレージ制御は、特定の条件下で相互運用して、I/O中断なしでCCWを再試行することができます。[19] この手順はストレージ制御によって開始され、修正可能なエラーからの回復に使用されます。
回転位置検知
回転位置検知(RPS)は、2つの新しいCCW、SET SECTORとREAD SECTORで実装され、ディスクが指定された角度のトラック位置まで回転するまでチャネルがコマンドチェーンを遅延できるようにしました。RPSは、回転遅延期間のほとんどの間チャネルを切断できるため、チャネルの使用率が向上します。制御ユニットは、各トラックを等しい角度のセグメントに分割してRPSを実装します。[19]
チャンネルプログラムの例
次のサンプルチャネルプログラムは、R0と3つのCKDレコードでトラックをフォーマットします。[19]
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]の前後にデータを書き込むことができ、欠陥のある部分を除いてトラック全体を使用できます。これにより、以前は代替トラックを探すのに必要だった時間もなくなります。[21] スキップできる欠陥の数は限られているため、欠陥が多すぎるトラックについては代替トラックがサポートされ続けます。
欠陥スキップ機能は、1974年に3830モデル2ストレージコントロールユニット[21]を介して接続された3340または小型システムに統合されたアタッチメントで導入されました。欠陥スキップ機能は、1981年に管理用のCCWと関連ユーティリティがリリースされるまで、基本的に工場のみの機能でした。[22]
動的パス
この機能は、1981年に3880ストレージ制御装置[23]の3380 DASDで初めて導入され、その後のCKD DASDサブシステムにも搭載されました。動的パス選択機能は、2つのパスを介した同時データ転送を含む、2つのコントローラの動作を制御します。オペレーティングシステムでサポートされている場合、各コントローラは、もう一方のコントローラが使用できない場合に代替パスとして機能することができます。[24]
3つの追加コマンド、パスグループIDの設定、パスグループIDの検出、マルチパス再接続の一時停止は、ストリングの先頭に2つのコントローラを持つ3380モデルの接続をサポートするために使用されます。[23]
パス グループ ID 設定コマンドは、動的パス選択 (DPS) 機能とともに、予約済みデバイスに対する操作の柔軟性を高めます。デバイスのパス グループが確立されると、そのデバイスは、予約されているグループのメンバーである任意のパスを介してアクセスできます。さらに、機能制御バイト (バイト 0) のマルチパス モード ビットを 1 に設定する 370-XA システムでは、チャネル プログラムが開始されたグループのメンバーである最初の使用可能なパスでブロック マルチプレックス再接続が行われます (デバイスの予約状態に関係なく)。[23]
I/Oアドレスで指定されたコントローラがビジー状態または無効になっている場合、動的パス選択により、別のストレージディレクターとモデルAA内の他のコントローラを介してデバイスへの代替パスを確立できます。[24]
非同期操作
1981 年に 3880 ディレクターが導入される前は、CKD レコードは同期的にアクセスされており、すべてのアクティビティでは、1 つの CCW を終了し、次の CCW を CKD フィールド間のギャップで開始する必要がありました。[13] ギャップ サイズによってケーブルの長さに制限がありましたが、CPU メモリやサイクルを使用せずにサブシステムによって複雑な CCW チェーンをリアルタイムで実行できるため、非常に高いパフォーマンスが得られました。
拡張CKD(「ECKD」)CCWセットによって提供される非同期操作により、ギャップタイミング制約が削除されました。 [13] 5つの追加のECKD CCWは、エクステントの定義、レコードの検索、更新データの書き込み、更新キーとデータの書き込み、およびCKDの次のトラックの書き込みです。[23]
非同期操作では、チャネルとストレージ制御間のデータ転送は、ストレージ制御とデバイス間のデータ転送と同期されません。チャネル プログラムを実行すると、1 つのコマンドの実行を終了して次のコマンドに進むために必要なチャネルおよびストレージ制御アクティビティが、2 つの隣接するフィールド間のレコード間ギャップ中に発生する必要がなくなります。ストレージ制御の中間バッファにより、チャネルとデバイス間の独立した操作が可能になります。ECKD の主な利点は、ケーブルがはるかに長いことです。アプリケーションによっては、パフォーマンスが向上する可能性があります。[13]
ECKD CCW は、以降のすべての CKD サブシステムでサポートされます。
この例の非同期チャネルプログラムは、シリンダX'007F'のトラックX'0E'からレコードR1とR2を読み取ります。両方のレコードのキー長は8で、データ長はX'64'(100 10)バイトです。[23]
範囲 <extent= X'007F 0000' からトラック X'0081 000E'> を定義します。 レコードを検索 <シリンダ = X'007F'、ヘッド = X'000E' キーとデータを読み取り <キー レコード = X'001038'> データの読み取り <レコード = X'001108'>
キャッシング
キャッシュ機能は、最初にMemorex [25] (1978) とStorageTek [l] (1981)によってDASD CKDサブシステムに導入され、その後1981年後半にIBMによって3380の動的パス機能付きモデル3880モデル13に導入されました。[m]
キャッシュはアルゴリズムによって動的に管理され、アクティビティの高いデータは高性能キャッシュからアクセスされ、アクティビティの低いデータはより安価なDASDストレージからアクセスされます。ディレクター内の大きなメモリであるキャッシュは、3380トラックからのデータを格納するトラックスロットに分割されています。小さな領域は、キャッシュにデータを配置するためのエントリを含むディレクトリです。[26]
その後導入されたストレージ制御でもキャッシュが提供されました。
その他の拡張機能
時間の経過とともに、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ディスクサブシステムとの間の転送に適した一連の固定ブロックにマッピングされます。[27]
System/360およびSystem/370チャネル用に実装された83個のCKD CCWのうち56個がSystem/390以降のシステムでエミュレートされています。[27]
参照
注記
- ^ 最も一般的なのはハードディスクドライブです。
- ^ データ長 0 は EOF を示します
- ^ レコードは可変長であり、トラック上のレコード番号は一意である必要がないため、レコード番号は角度変位に対応しません。
- ^ 初期のDASDでは、ラベルはプラグ上にあり、DASD間でアドレスを移動できるようにしていた。
- ^ これは、SCU と 1 つ以上の DASD、または A ユニットと接続された B ユニットの組み合わせです。
- ^ トラック数と最大トラック長の一意の組み合わせ。この定義では、倍密度 DASD は一意の DASD としてカウントされます。
- ^ 倍密度 2314、三倍密度 3330、倍密度 3350、ソリッド ステート ディスク
- ^ 技術的に書く
- ^ 2302 は 7230 に代わった。Datamation、1966 年 3 月、p. 81
- ^ 2305の場合、同じディスクドライブに最大8つのチャネルプログラム、同じSCUに最大16のチャネルプログラム
- ^ スキップ可能な欠陥の数はDASDモデルによって異なります
- ^ STK 3350互換用のSTK 8890 CyberCache
- ^ 同時に発表された3880-11は、キャッシュをページングモード3350でページングデバイスとして使用します。
参考文献
- ^ IBM 3990 ストレージ制御入門 – 第 6 版。IBM。1994 年 2 月。GA32-0098-05。
- ^ 「Count key data」。IBM Knowledge Center。IBM。2014年8 月 6 日閲覧。
- ^ abc IBM Corporation (1969年9月). IBM System/360 コンポーネント説明 2314 直接アクセス記憶装置および 2844 補助記憶装置制御(PDF) . 2020年3月30日時点のオリジナル(PDF)からアーカイブ。 2019年12月5日閲覧。
- ^ IBM Corporation (1973 年 11 月)。3330 シリーズ ディスク ストレージ 3333 モデル 1 および 11 3330 モデル 1、2、および 11 リファレンス サマリー(PDF) 。2019年12 月 5 日閲覧。
- ^ Houtekamer, Gilbert E.; Artis, H. Pat (1993). MVS I/O サブシステム: 構成管理とパフォーマンス分析. ニューヨーク: McGraw-Hill. ISBN 978-0-07-002553-0. OCLC 26096983.
- ^ abc 「同期 DASD 操作」。非同期直接アクセス ストレージ サブシステムの紹介。International Business Machines Corporation。1990 年 1 月。GC46–4519–0。
- ^ 「1970年代の歴史的物語、米国対IBM、証拠14971」1980年7月、1051ページ。
- ^ 「ダイレクト アクセス ストレージ * 22.7GB、12 アクチュエータ」。2015 年 12 月 22 日時点のオリジナルよりアーカイブ。
- ^ IBM System/360 操作原理(PDF)。IBM。入出力操作。GA22-6821-7。
- ^ IBM System/370 操作原理(PDF)。IBM。入出力操作。GA22-7000-0。
- ^ 「第 13 章 I/O の概要」。IBM Enterprise Systems Architecture/370 操作原理(PDF)。IBM。SA22-7000-0。
- ^ abcdefg IBM System/360 コンポーネントの説明 - 2841 および関連 DASD (PDF)。第 8 版。IBM。1969 年 12 月。GA26-5988-7。2011年 10 月 14 日のオリジナルからアーカイブ(PDF) 。2015 年 12 月 7 日に取得。
- ^ abcd 非同期直接アクセス・ストレージ・サブシステムの紹介。IBM。1990 年 1 月。GC26-4519-0。
- ^ J. Buzen (1975 年 6 月). 「I/O サブシステム アーキテクチャ」. Proceedings of the IEEE . 63 (6): 871. doi :10.1109/PROC.1975.9852. S2CID 68000.
- ^ IBM System/360 リファレンス データ (グリーン) カード、GX20-1703-9 より引用
- ^ ab IBM System/360 コンポーネントの説明 - 2820 ストレージ制御および 2301 ドラムストレージ(PDF)。2016 年 3 月 4 日のオリジナルからアーカイブ(PDF) 。2015年 8 月 28 日閲覧。
- ^ IBM System/360 コンポーネントの説明 - 2841 および関連 DASD (PDF)。初版。IBM。A26-5988-0。
- ^ ab IBM System/360 コンポーネント説明 2314 直接アクセス記憶装置および 2844 補助記憶装置制御(PDF) (第 7 版)、1971 年 11 月、GA26-3599-6
- ^ abcde IBM 2835 ストレージ制御および IBM 2305 固定ヘッド ストレージ モジュールのリファレンス マニュアル(PDF)。1983 年 10 月。GA26-1589-5。2016年 3 月 4 日にオリジナルからアーカイブ(PDF)されました。2015年 12 月 21 日に取得。
- ^ J. Kettner (2007 年 11 月)。「Input/Output - ホワイト ペーパー」(PDF) 。IBM。2016年 3 月 4 日時点のオリジナル(PDF)からアーカイブ。
- ^ ab 3830 モデル 1 リファレンス マニュアル。1974 年 3 月。
- ^ 「デバイス サポート機能、ユーザー ガイドおよびリファレンス。リリース 4.0」(PDF)。1981 年 5 月。pp. vi、46、61、87。
- ^ abcde IBM 3880 ストレージ制御モデル 1、2、3、および 4 説明マニュアル。IBM。1987 年 9 月。セクション 4。GA26-1661-9。
- ^ ab IBM 3380 直接アクセス ストレージの説明とユーザーズ ガイド(PDF)。IBM。1981 年 12 月。GA26-1664-1。
- ^ 「Memorex がシステムのパフォーマンスのギャップを埋めます」(PDF)。Datamation 。1978 年 8 月。pp. 85–86 。
- ^ IBM 3880 ストレージ制御モデル 13 の概要(PDF)。IBM。1981 年 9 月。GA32-0062-0。
- ^ ab IBM S/390 Multiprise 3000 Enterprise Server、内部ディスクサブシステム: リファレンスガイド。IBM。1999年11月。2016年3月4日時点のオリジナルよりアーカイブ。
さらに読む
- IBM ダイレクト アクセス ストレージ デバイスと編成方法の概要(PDF) (第 10 版)。ホワイト プレーンズ: IBM。1974 年 2 月。OCLC 8063006。GC20-1649-9。2023 年10月 13 日に取得。
- 360/370 アーキテクチャの開発 - 平凡な人の視点 PJ Gribbin、1989 年 2 月 10 日、第 8 章から第 10 章。
