SCSI Primary Commands - 3

SCSI Primary Commands - 3 (SPC-3)
Project
T10/1416-D
Information technology SCSI Primary Commands - 3 (SPC-3)
Revision 23(2005.5.4)
日本語版 第 1 巻( 1 章~ 6 章)
摘要
本標準は全 SCSI デバイスに適用されるデバイスモデルを規定する。本標
準は全てのデバイスモデルにおける基礎となり、かつ、任意のデバイス
モデルに適用可能な SCSI コマンドを定義する。
Reference number
ISO/IEC 14776-313:200x
ANSI INCITS.***:200x
本書は nabiki_t が勝手に和訳したものであり、内容の正確性等、全ての事項について一切の保証は存在しない。
本書は SCSI Primary Commands - 3 (SPC-3) の最終ドラフト版(リビジョン 23 )を底本としている。
2015 年 5 月 21 日
1
SCSI Primary Commands - 3 (SPC-3)
目次
1 スコープ...............................................................................8
2 引用規格..............................................................................12
2.1 引用規格..........................................................................12
2.2 公認の規格........................................................................12
2.3 策定中の規格......................................................................13
2.4 IETF 規格..........................................................................13
3 定義、シンボル、略語、表記ルール......................................................15
3.1 定義..............................................................................15
3.2 頭字語............................................................................27
3.3 キーワード........................................................................29
3.4 編集上のルール....................................................................31
3.5 ビットおよびバイトオーダー........................................................32
3.6 表記ルール........................................................................32
3.6.1 バイトエンコードされたキャラクタ文字列の表記...................................32
3.6.2 手続き呼び出しの表記ルール.....................................................32
3.6.3 状態ダイアグラムの表記ルール...................................................33
3.6.4 2 の冪乗の表記ルール............................................................35
4 一般概念..............................................................................36
4.1 序論..............................................................................36
4.2 リクエスト-レスポンスモデル......................................................36
4.3 コマンド記述ブロック(CDB).......................................................36
4.3.1 CDB の使用法と構造..............................................................36
4.3.2 固定長 CDB フォーマット.........................................................37
4.3.3 可変長 CDB フォーマット.........................................................39
4.3.4 共通 CDB フィールド.............................................................40
4.3.4.1 操作コード(OPERATION CODE)................................................40
4.3.4.2 サービスアクション(SERVICE ACTION)........................................41
4.3.4.3 論理ブロックアドレス(LOGICAL BLOCK ADDRESS)...............................41
4.3.4.4 転送長(TRANSFER LENGTH)...................................................41
4.3.4.5 パラメタリスト長(PARAMETER LIST LENGTH)...................................42
4.3.4.6 アロケーション長(ALLOCATION LENGTH).......................................42
4.3.4.7 コントロール(CONTROL).....................................................42
4.4 データフィールド定義..............................................................42
4.4.1 ASCII データフィールド定義......................................................42
4.4.2 NULL データフィールド終端と 0 埋めの要求.........................................43
4.5 センスデータ......................................................................43
4.5.1 センスデータの序論.............................................................43
4.5.2 記述子フォーマットのセンスデータ...............................................44
4.5.2.1 記述子フォーマットのセンスデータの概要......................................44
4.5.2.2 情報センスデータ記述子......................................................47
4.5.2.3 コマンド固有情報センスデータ記述子..........................................47
4.5.2.4 センスキー固有センスデータ記述子............................................48
4.5.2.4.1 センスキー固有センスデータ記述子の序論...................................48
4.5.2.4.2 フィールドポインタセンスキー固有データ...................................49
4.5.2.4.3 実リトライ回数センスキー固有データ.......................................50
4.5.2.4.4 進捗表示センスキー固有データ............................................50
4.5.2.4.5 セグメントポインタセンスキー固有データ...................................51
4.5.2.5 フィールド置換可能ユニットセンスデータ記述子................................51
2
SCSI Primary Commands - 3 (SPC-3)
4.5.2.6 ベンダ固有センスデータ記述子................................................52
4.5.3 固定フォーマットセンスデータ...................................................53
4.5.4 カレントエラー.................................................................54
4.5.5 遅延エラー.....................................................................54
4.5.6 センスキーとセンスコードの定義.................................................55
5 全デバイス種別で共通のモデル..........................................................71
5.1 全デバイス種別で共通のモデルの序論................................................71
5.2 全ての SCSI デバイスサーバで重要となるコマンド......................................71
5.2.1 全ての SCSI デバイスサーバで実装されるコマンド..................................71
5.2.2 全ての SCSI デバイスサーバに推奨されるコマンド..................................71
5.2.3 INQUIRY コマンドの使用..........................................................71
5.2.4 REPORT LUNS コマンドの使用......................................................71
5.2.5 TEST UNIT READY コマンドの使用..................................................71
5.2.6 REQUEST SENSE コマンドの使用....................................................71
5.3 暗黙的な HEAD OF QUEUE.............................................................72
5.4 パラメタの丸め....................................................................72
5.5 自己診断操作......................................................................72
5.5.1 標準自己診断...................................................................72
5.5.2 短縮と拡張自己診断.............................................................72
5.5.3 自己診断モード.................................................................73
5.5.3.1 自己診断モードの概要........................................................73
5.5.3.2 フォアグラウンドモード......................................................73
5.5.3.3 バックグラウンドモード......................................................74
5.5.3.4 フォアグラウンドとバックグラウンドの自己診断における共通の特性..............75
5.6 予約..............................................................................76
5.6.1 永続予約の概要.................................................................76
5.6.2 サードパーティ永続予約.........................................................80
5.6.3 SPC-2 の RESERVE と RELEASE 動作の例外............................................80
5.6.4 永続予約と登録の保持...........................................................80
5.6.4.1 電源喪失時における永続予約と登録の保持......................................80
5.6.4.2 永続予約と登録の維持における不揮発性メモリの考慮点..........................81
5.6.5 永続予約と予約キーの検索.......................................................82
5.6.5.1 永続予約と予約キーを検索するコマンドの概要..................................82
5.6.5.2 予約キーの報告..............................................................82
5.6.5.3 永続予約の報告..............................................................82
5.6.5.4 全ステータスの報告..........................................................83
5.6.6 登録...........................................................................83
5.6.7 予約の登録と移動...............................................................87
5.6.8 予約...........................................................................88
5.6.9 永続予約の保持者...............................................................89
5.6.10 永続予約の解放と登録の削除....................................................90
5.6.10.1 概要.......................................................................90
5.6.10.1.1 永続予約の解放と登録を行うサービスアクションの概要......................90
5.6.10.1.2 登録者限定型永続予約の解放処理.........................................91
5.6.10.1.3 全登録者型永続予約の解放処理...........................................91
5.6.10.1.4 その他の永続予約の解放処理.............................................92
5.6.10.2 解放.......................................................................92
5.6.10.3 登録の削除.................................................................92
5.6.10.4 剥奪.......................................................................93
5.6.10.4.1 概要...................................................................93
5.6.10.4.2 永続予約の剥奪の失敗...................................................94
3
SCSI Primary Commands - 3 (SPC-3)
5.6.10.4.3 永続予約の剥奪と登録の扱い.............................................94
5.6.10.4.4 登録の削除.............................................................96
5.6.10.5 剥奪と中断.................................................................96
5.6.10.6 クリア.....................................................................97
5.7 複数ターゲットポートとイニシエータポートの動作.....................................98
5.8 ターゲットポートグループアクセスの説明.............................................98
5.8.1 ターゲットポートグループアクセスの概要.........................................98
5.8.2 非対称論理ユニットアクセス.....................................................98
5.8.2.1 非対称論理ユニットアクセスの序論............................................98
5.8.2.2 明示的・暗黙的な非対称論理ユニットアクセス..................................99
5.8.2.3 非対称論理ユニットアクセスの動作の検出.....................................100
5.8.2.4 ターゲットポート非対称アクセス状態.........................................100
5.8.2.4.1 ターゲットポート非対称アクセス状態の概要................................100
5.8.2.4.2 有効/最適化有り.......................................................100
5.8.2.4.3 有効/最適化無し.......................................................100
5.8.2.4.4 スタンバイ状態.........................................................101
5.8.2.4.5 無効状態...............................................................101
5.8.2.5 ターゲットポート非対称アクセス状態の間の遷移...............................102
5.8.2.6 優先指示...................................................................103
5.8.2.7 暗黙的な非対称論理ユニットアクセスの管理...................................103
5.8.2.8 明示的な非対称論理ユニットアクセスの管理...................................104
5.8.2.9 電源投入、ハードリセット、論理ユニットリセット、I_T ネクサス喪失後の動作....104
5.8.3 対称論理ユニットアクセス......................................................104
5.9 電源状態.........................................................................104
5.9.1 電源状態の概要................................................................104
5.9.2 電源状態の状態機械............................................................106
5.9.2.1 電源状態の状態機械の概要...................................................106
5.9.2.2 PC0:電源投入状態..........................................................107
5.9.2.2.1 PC0:電源投入状態の説明................................................107
5.9.2.2.2 PC0:電源投入から PC1:起動への遷移.....................................107
5.9.2.3 PC1:起動状態..............................................................107
5.9.2.3.1 PC1:起動状態の説明....................................................107
5.9.2.3.2 PC1:起動から PC2:アイドルへの遷移.....................................107
5.9.2.3.3 PC1:起動から PC3:スタンバイへの遷移...................................107
5.9.2.4 PC2:アイドル状態..........................................................108
5.9.2.4.1 PC2:アイドル状態の説明................................................108
5.9.2.4.2 PC2:アイドルから PC1:起動への遷移.....................................108
5.9.2.4.3 PC2:アイドルから PC3:スタンバイへの遷移...............................108
5.9.2.5 PC3:スタンバイ状態........................................................108
5.9.2.5.1 PC3:スタンバイ状態の説明..............................................108
5.9.2.5.2 PC3:スタンバイから PC1:起動への遷移...................................108
5.9.2.5.3 PC3:スタンバイから PC3:アイドルへの遷移...............................108
5.10 付属型メディアチェンジャを有するリムーバブルメディアデバイス.....................108
5.11 メディア補助メモリ..............................................................108
5.12 アプリケーションクライアントロギング.............................................109
5.13 デバイス時刻....................................................................110
6 全デバイス種別に適用されるコマンド...................................................112
6.1 全デバイス種別に適用されるコマンドの概要..........................................112
6.2 CHANGE ALIASES コマンド...........................................................113
6.2.1 CHANGE ALIASES コマンドの序論..................................................113
6.2.2 エイリアスエントリのフォーマット..............................................115
4
SCSI Primary Commands - 3 (SPC-3)
6.2.3 エイリアス名称の検査..........................................................117
6.2.4 プロトコルに独立なエイリアスエントリ名称......................................117
6.2.4.1 プロトコルに独立なエイリアスエントリ名称の概要.............................117
6.2.4.2 NULL DESIGNATION エイリアスフォーマット....................................117
6.3 EXTENDED COPY コマンド............................................................118
6.3.1 EXTENDED COPY コマンドの序論...................................................118
6.3.2 セグメント記述子を処理する前に検知したエラー..................................121
6.3.3 セグメント記述子の処理中に検知したエラー......................................121
6.3.4 タスクを中断させるタスク管理機能..............................................123
6.3.5 記述子の種別コード............................................................123
6.3.6 ターゲット記述子..............................................................125
6.3.6.1 ターゲット記述子の序論.....................................................125
6.3.6.2 識別記述子ターゲット記述子のフォーマット...................................128
6.3.6.3 エイリアスターゲット記述子のフォーマット...................................129
6.3.6.4 ブロックデバイス種別におけるデバイス種別固有ターゲット記述子パラメタ.......130
6.3.6.5 シーケンシャルアクセスデバイス種別におけるデバイス種別固有ターゲット記述子パラ
メタ......................................................................130
6.3.6.6 プロセッサデバイス種別におけるデバイス種別固有ターゲット記述子パラメタ.....131
6.3.7 セグメント記述子..............................................................132
6.3.7.1 セグメント記述子の序論.....................................................132
6.3.7.2 セグメント記述子の処理.....................................................132
6.3.7.3 ブロックデバイスからストリームデバイスへの操作.............................136
6.3.7.4 ストリームデバイスからブロックデバイスへの操作.............................137
6.3.7.5 ブロックデバイスからブロックデバイスへの操作...............................139
6.3.7.6 ストリームデバイスからストリームデバイスへの操作...........................141
6.3.7.7 インラインデータからストリームデバイスへの操作.............................143
6.3.7.8 組み込みデータからストリームデバイスへの操作...............................144
6.3.7.9 ストリームデバイスから破棄する操作.........................................146
6.3.7.10 デバイス検証操作..........................................................147
6.3.7.11 オフセット有りブロックデバイスからストリームデバイスへの操作..............147
6.3.7.12 ストリームデバイスからオフセット有りブロックデバイスへの操作..............149
6.3.7.13 オフセット有りブロックデバイスからオフセット有りブロックデバイスへの操作. .149
6.3.7.14 ファイルマーク書き込み操作................................................151
6.3.7.15 空白操作..................................................................152
6.3.7.16 位置変更操作..............................................................153
6.3.7.17 テープデバイスイメージコピー操作..........................................154
6.3.7.18 永続予約キーの登録操作....................................................155
6.3.7.19 サードパーティ永続予約コピー元 I_T ネクサス................................155
6.4 INQUIRY コマンド..................................................................157
6.4.1 INQUIRY コマンドの序論.........................................................157
6.4.2 標準 INQUIRY データ............................................................158
6.4.3 SCSI パラレルインタフェース固有の INQUIRY データ................................170
6.4.4 重要プロダクトデータ..........................................................172
6.5 LOG SELECT コマンド...............................................................173
6.6 LOG SENSE コマンド................................................................175
6.7 MODE SELECT(6)コマンド.........................................................176
6.8 MODE SELECT(10)コマンド........................................................179
6.9 MODE SENSE(6)コマンド..........................................................179
6.9.1 MODE SENSE(6)コマンドの序論.................................................179
6.9.2 現在の値......................................................................181
6.9.3 可変の値......................................................................181
6.9.4 デフォルト値..................................................................181
5
SCSI Primary Commands - 3 (SPC-3)
6.9.5 保存された値..................................................................182
6.9.6 初期応答......................................................................182
6.10 MODE SENSE(10)コマンド........................................................183
6.11 PERSISTENT RESERVE IN コマンド...................................................184
6.11.1 PERSISTENT RESERVE IN コマンドの序論..........................................184
6.11.2 READ KEYS サービスアクション..................................................184
6.11.3 READ RESERVATION サービスアクション...........................................185
6.11.3.1 READ RESERVATION サービスアクションの序論..................................185
6.11.3.2 READ RESERVATION の PERSISTENT RESERVE IN パラメタデータのフォーマット......185
6.11.3.3 永続予約のスコープ........................................................187
6.11.3.4 永続予約の種別............................................................187
6.11.4 REPORT CAPABILITIES サービスアクション........................................188
6.11.5 READ FULL STATUS サービスアクション...........................................190
6.12 PERSISTENT RESERVE OUT コマンド..................................................192
6.12.1 PERSISTENT RESERVE OUT コマンドの序論.........................................192
6.12.2 PERSISTENT RESERVE OUT サービスアクション.....................................193
6.12.3 基本 PERSISTENT RESERVE OUT パラメタリスト....................................194
6.12.4 REGISTER AND MOVE サービスアクションを設定した PERSISTENT RESERVE OUT コマンドのパ
ラメタ........................................................................197
6.13 PREVENT ALLOW MEDIUM REMOVAL コマンド............................................198
6.14 READ ATTRIBUTE コマンド..........................................................200
6.14.1 READ ATTRIBUTE コマンドの序論.................................................200
6.14.2 ATTRIBUTE VALUES サービスアクション...........................................201
6.14.3 ATTRIBUTE LIST サービスアクション.............................................202
6.14.4 VOLUME LIST サービスアクション................................................203
6.14.5 PARTITION LIST サービスアクション.............................................203
6.15 READ BUFFER コマンド.............................................................203
6.15.1 READ BUFFER コマンドの序論....................................................203
6.15.2 ヘッダとデータの複合モード(00h)............................................205
6.15.3 ベンダ固有モード(01h)......................................................205
6.15.4 データモード(02h)..........................................................205
6.15.5 記述子モード(03h)..........................................................205
6.15.6 エコーバッファモード(0Ah)..................................................206
6.15.7 エコーバッファ記述子モード(0Bh)............................................207
6.15.8 エキスパンダ通信プロトコルとエコーバッファの有効化(1Ah)....................207
6.16 READ MEDIA SERIAL NUMBER コマンド................................................208
6.17 RECEIVE COPY RESULTS コマンド....................................................209
6.17.1 RECEIVE COPY RESULTS コマンドの序論...........................................209
6.17.2 COPY STATUS サービスアクション................................................210
6.17.3 RECEIVE DATA サービスアクション...............................................211
6.17.4 OPERATING PARAMETERS サービスアクション.......................................213
6.17.5 FAILED SEGMENT DETAILS サービスアクション.....................................216
6.18 RECEIVE DIAGNOSTIC RESULTS コマンド..............................................218
6.19 REPORT ALIASES コマンド..........................................................219
6.20 REPORT DEVICE IDENTIFIER コマンド................................................220
6.21 REPORT LUNS コマンド.............................................................222
6.22 REPORT PRIORITY コマンド.........................................................224
6.23 REPORT SUPPORTED OPERATION CODES コマンド........................................226
6.23.1 REPORT SUPPORTED OPERATION CODES コマンドの序論...............................226
6.23.2 all_commands パラメタデータフォーマット.......................................228
6.23.3 one_command パラメタデータフォーマット........................................229
6.24 REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS コマンド..............................230
6
SCSI Primary Commands - 3 (SPC-3)
6.25 REPORT TARGET PORT GROUPS コマンド...............................................231
6.26 REPORT TIMESTAMP コマンド........................................................235
6.27 REQUEST SENSE コマンド...........................................................236
6.28 SEND DIAGNOSTIC コマンド.........................................................238
6.29 SET DEVICE IDENTIFIER コマンド...................................................240
6.30 SET PRIORITY コマンド............................................................241
6.31 SET TARGET PORT GROUPS コマンド..................................................244
6.32 SET TIMESTAMP コマンド...........................................................246
6.33 TEST UNIT READY コマンド.........................................................247
6.34 WRITE ATTRIBUTE コマンド.........................................................248
6.35 WRITE BUFFER コマンド............................................................250
6.35.1 WRITE BUFFER コマンドの序論...................................................250
6.35.2 ヘッダとデータの複合書き込みモード(00h)....................................252
6.35.3 ベンダ固有モード(01h)......................................................252
6.35.4 データモード(02h)..........................................................252
6.35.5 マイクロコードのダウンロードモード(04h)....................................252
6.35.6 マイクロコードのダウンロードと保存モード(05h)..............................253
6.35.7 オフセット指定有りのマイクロコードのダウンロード(06h)......................253
6.35.8 オフセット指定有りのマイクロコードのダウンロードと保存(07h)................254
6.35.9 エコーバッファへのデータの書き込みモード(0Ah)..............................255
6.35.10 エキスパンダ通信プロトコルの有効化とエコーバッファモード(1Ah).............255
6.35.11 エキスパンダ通信プロトコルの無効化モード(1Bh).............................255
6.35.12 アプリケーションログのダウンロードモード(1Ch).............................255
7
SCSI Primary Commands - 3 (SPC-3)
1
スコープ
SCSI ファミリの標準は、多くの異なる種類の SCSI デバイス(例えば、ディスク、テープ、プリ
ンタ、スキャナなど)に対して提供される。本標準では全ての SCSI デバイスに適用されうるデバ
イスモデルを定義する。その他の SCSI コマンド標準(3.1.18 を参照)は、SCSI デバイス種類毎
に適切な方法に従い、標準 SCSI デバイスモデルを基礎として規定される。
SCSI 標準のセットは、規格に準拠する SCSI 実装間での相互接続性を保証するために必要となる、
インタフェース、機能、操作について規定する。本標準は機能的な記述となる。規格に準拠する
実装は、相互接続性に違反しない限り、任意の設計技術を採用することが可能である。
本標準は、全ての SCSI デバイスで必須ないしオプションの SCSI コマンドを規定する。本標準で
規定される全ての特性のサポートは、明示されない限りオプションである。本標準はまた、任意
のデバイスモデルに適用可能な SCSI コマンドを規定する。
本標準の以前のバージョンで規定されていた下記のコマンド、パラメタデータ、機能は本標準
では廃止済みとされる。
a) 誤り情報保持
b) タグ無しタスク
c) RESERVE(6)と RESERVE(10)コマンド
d) RELEASE(6)と RELEASE(10)コマンド
e) 永続予約の ELEMENT_SCOPE
f) INQUIRY コマンドのコマンド補助データ(CMDDT)機能
g) 標準 INQUIRY データの相対アドレス(RELADR)ビット
h) メディアパーティションモードページ(2)、(3)、(4)
i) 制御モードページの DISABLE QUEUEING ビット
j) SBC REBUILD、REGENERATE、XDWRITE EXTENDED コマンドの議論
k) ASCII 実装による操作定義 VPD ページ
アーキテクチャ
モデル
図 1 は、本標準の出版時点における、本標準と他の標準および関連する SCSI ファミリ標準のプ
ロジェクトとの関連を示している。
デバイス種別固有の
コマンドセット
プライマリコマンドセット
(全デバイス種別に適用される)
SCSI 転送プロトコル
通信回線
図1. SCSI ドキュメントの関係
図 1 はドキュメント間の標準的な関係について示すことを目的としている。図 1 は階層構造やプ
ロトコルスタック、システムアーキテクチャのような関係を暗示することを目的としてはいない。
これは所与の転送の実装に対する標準の適用可能性を示している。
8
SCSI Primary Commands - 3 (SPC-3)
本標準が策定されている現時点において、SCSI 一般構造の例には下記が存在する。
通信回線
Fibre Channel Arbitrated Loop - 2
FC-AL-2
[ISO/IEC 14165-122]
[ANSI INCITS 332-1999]
[ANSI INCITS 3321999/AM1]
Fibre Channel Physical Interfaces
FC-PI
[ISO/IEC 14165-115]
[ANSI INCITS 352-2002]
Fibre Channel Physical Interfaces - 2
FC-PI-2
[T11/1506-D]
Fibre Channel Framing and Signaling Interface
FC-FS
[ISO/IEC 14165-251]
[ANSI INCITS 373-2003]
High Performance Serial Bus
[ANSI IEEE 1394-1995]
High Performance Serial Bus
(supplement to ANSI/IEEE 1394-1995)
[ANSI IEEE 1394a-2000]
SCSI Parallel Interface - 2
SPI-2
[ISO/IEC 14776-112]
[ANSI INCITS 302-1999]
SCSI Parallel Interface - 3
SPI-3
[ISO/IEC 14776-113]
[ANSI INCITS 336-2000]
SCSI Parallel Interface - 4
SPI-4
[ISO/IEC 14776-114]
[ANSI INCITS 362-2002]
SCSI Parallel Interface - 5
SPI-5
[ISO/IEC 14776-115]
[ANSI INCITS 367-2003]
Serial Storage Architecture Physical Layer 1
SSA-PH
[ANSI INCITS 293-1996]
Serial Storage Architecture Physical Layer 2
SSA-PH-2 [ANSI INCITS 307-1998]
Serial Attached SCSI
SAS
[ISO/IEC 14776-150]
[ANSI INCITS 376-2003]
Serial Attached SCSI - 1.1
SAS-1.1
[ISO/IEC 14776-151]
[T10/1601-D]
SCSI 転送プロトコル
Automation/Drive Interface - Transport Protocol ADT
[ISO/IEC 14776-191]
[ANSI INCITS 406-200x]
Automation/Drive Interface - Transport Protocol ADT-2
- 2
[ISO/IEC 14776-192]
[T10/1742-D]
Serial Storage Architecture Transport Layer 1
SSA-TL-1 [ANSI INCITS 295-1996]
Serial Storage Architecture Transport Layer 2
SSA-TL-2 [ANSI INCITS 308-1998]
SCSI-3 Fibre Channel Protocol
FCP
[ISO/IEC 14776-221]
[ANSI INCITS 269-1996]
Fibre Channel Protocol for SCSI - 2
FCP-2
[ISO/IEC 14776-222]
[ANSI INCITS 350-2003]
Fibre Channel Protocol for SCSI - 3
FCP-3
[ISO/IEC 14776-223]
[T10/1560-D]
9
SCSI Primary Commands - 3 (SPC-3)
Serial Bus Protocol - 2
SBP-2
[ISO/IEC 14776-232]
[ANSI INCITS 325-1999]
Serial Bus Protocol - 3
SBP-3
[ISO/IEC 14776-233]
[ANSI INCITS 375-2004]
Serial Storage Architecture SCSI-3 Protocol
SSA-S3P
[ANSI INCITS 309-1998]
SCSI RDMA Protocol
SRP
[ISO/IEC 14776-241]
[ANSI INCITS 365-2002]
SCSI-3 Primary Commands
SPC
[ANSI INCITS 301-1997]
SCSI Primary Commands - 2
SPC-2
[ISO/IEC 14776-452]
[ANSI INCITS 351-2001]
SCSI Primary Commands - 3
SPC-3
[ISO/IEC 14776-453]
[T10/1416-D]
SCSI Primary Commands - 4
SPC-4
[ISO/IEC 14776-454]
[T10/1729-D]
SCSI-3 Block Commands
SBC
[ISO/IEC 14776-321]
[ANSI INCITS 306-1998]
SCSI Block Commands - 2
SBC-2
[ISO/IEC 14776-322]
[ANSI INCITS 405-200x]
SCSI-3 Stream Commands
SSC
[ISO/IEC 14776-331]
[ANSI INCITS 335-2000]
SCSI Stream Commands - 2
SSC-2
[ISO/IEC 14776-332]
[ANSI INCITS 380-2003]
SCSI Stream Commands - 3
SSC-3
[ISO/IEC 14776-333]
[T10/1611-D]
SCSI-3 Medium Changer Commands
SMC
[ISO/IEC 14776-351]
[ANSI INCITS 314-1998]
SCSI Media Changer Commands - 2
SMC-2
[ISO/IEC 14776-352]
[ANSI INCITS 382-2004]
SCSI Media Changer Commands - 3
SMC-3
[ISO/IEC 14776-353]
[T10/1730-D]
SCSI-3 Multimedia Command Set
MMC
[ANSI INCITS 304-1997]
SCSI Multimedia Command Set - 2
MMC-2
[ISO/IEC 14776-362]
[ANSI INCITS 333-2000]
SCSI Multimedia Command Set - 3
MMC-3
[ISO/IEC 14776-363]
[ANSI INCITS 360-2002]
SCSI Multimedia Command Set - 4
MMC-4
[ISO/IEC 14776-364]
[ANSI INCITS 401-200x]
SCSI Multimedia Command Set - 5
MMC-5
[ISO/IEC 14776-365]
[T10/1675-D]
共通コマンドセット
デバイス種別固有コマンドセット
10
SCSI Primary Commands - 3 (SPC-3)
SCSI Controller Commands - 2
SCC-2
[ISO/IEC 14776-342]
[ANSI INCITS 318-1998]
SCSI Reduced Block Commands
RBC
[ISO/IEC 14776-326]
[ANSI INCITS 330-2000]
SCSI-3 Enclosure Services Commands
SES
[ISO/IEC 14776-371]
[ANSI INCITS 305-1998]
SCSI Enclosure Services Commands - 2
SES-2
[ISO/IEC 14776-372]
[T10/1559-D]
SCSI
Specification
Reader/Writer
for
Optical
Card OCRW
[ISO/IEC 14776-381]
Object-based Storage Device Commands
OSD
[ISO/IEC 14776-391]
[ANSI INCITS 400-2004]
Object-based Storage Device Commands - 2
OSD-2
[ISO/IEC 14776-392]
[T10/1731-D]
SCSI Bridge Controller Commands
BCC
[ISO/IEC 14776-511]
[T10/1528-D]
Automation/Drive Interface - Commands
ADC
[ISO/IEC 14776-356]
[ANSI INCITS 403-200x]
Automation/Drive Interface - Commands - 2
ADC-2
[ISO/IEC 14776-357]
[T10/1741-D]
SAT
[ISO/IEC 14776-921]
[T10/1711-D]
SCSI-3 Architecture Model
SAM
[ISO/IEC 14776-411]
[ANSI INCITS 270-1996]
SCSI Architecture Model - 2
SAM-2
[ISO/IEC 14776-412]
[ANSI INCITS 366-2003]
SCSI Architecture Model - 3
SAM-3
[ISO/IEC 14776-413]
[ANSI INCITS 402-200x]
SCSI Architecture Model - 4
SAM-4
[ISO/IEC 14776-414]
[T10/1683-D]
変換プロトコル
SCSI / ATA Translation
アーキテクチャモデル
SCSI という語は、この項で記述された標準のファミリを示すために使用される。
11
SCSI Primary Commands - 3 (SPC-3)
2
引用規格
2.1
引用規格
下記の標準には、本文中で参照されることにより本標準の条項を構成する規約が記述されてい
る。版番号は本書の出版当時において正しい番号を示している。全ての標準は改訂される可能性
があり、本標準に合意するものは、下記に示される標準の最新版を適用することについて、調査
することが推奨される。
2.2
公認の規格
下記のドキュメントの複製は ANSI から入手することが可能である。すなわち、ANSI 標準、国
際/地域標準およびそれらのドラフト版(ISO、IEC、CEN/CENELEC、ITUT)、海外規格およびそれ
らのドラフト版(BSI、JIS、DIN を含む)。詳細な情報については ANSI カスタマーサービス部に
問い合わせること。電話番号:212-642-4900、FAX 番号:212-302-1286、ウェブサイト:
http://www.ansi.org
ISO/IEC 14776-412, SCSI Architecture Model - 2 (SAM-2) [ANSI INCITS 366-2003]
ISO/IEC 14776-452, SCSI Primary Commands - 2 (SPC-2) [ANSI INCITS 351-2001]
ISO/IEC 14776-113, SCSI Parallel Interface - 5 (SPI-5) [ANSI INCITS 367-2003]
ISO/IEC 14776-232, Serial Bus Protocol - 3 (SBP-3) [ANSI INCITS 375-200x]
ISO/IEC 14776-222, Fibre Channel Protocol for SCSI - 2 (FCP-2) [ANSI INCITS 350:2003]
ISO/IEC 14776-241, SCSI RDMA Protocol (SRP) [ANSI INCITS 365-2002]
ISO/IEC 14776-150, Serial Attached SCSI (SAS) [ANSI INCITS 376-2003]
ISO/IEC 14776-352, SCSI Media Changer Commands - 2, (SMC-2) [ANSI INCITS 382:2004]
ISO/IEC 14165-251, Fibre Channel Framing and Signaling Interface (FC-FS) [ANSI INCITS
373-2003]
IEC 60027:2000, Letter symbols to be used in electrical technology - Part
2:Telecommunications and electronics
ANSI/IEEE 1394a-2000, High Performance Serial Bus (supplement to ANSI/IEEE 1394-1995)
ISO/IEC 13213:1994, Information technology - Microprocessor systems - Control and
Status Registers Architecture for microcomputer buses [ANSI/IEEE 1212, 1994 Edition]
ANSI INCITS 4-1986 (R2002), Information Systems - Coded Character Sets - 7-Bit
American National Standard Code for Information Interchange (7-Bit ASCII)
ISO/IEC 646:1991, Information technology - ISO 7-bit coded character set for
information interchange (third edition).
ISO/IEC 8859-1:1998, Information technology - 8-bit single-byte coded graphic
character sets - Part 1: Latin alphabet No. 1 (publi en anglais seulement)
ISO/IEC 8859-2:1999, Information technology - 8-bit single-byte coded graphic
character sets - Part 2: Latin alphabet No. 2
ISO/IEC 8859-3:1999, Information technology - 8-bit single-byte coded graphic
character sets - Part 3: Latin alphabet No. 3
12
SCSI Primary Commands - 3 (SPC-3)
ISO/IEC 8859-4:1998, Information technology - 8-bit single-byte coded graphic
character sets - Part 4: Latin alphabet No. 4
ISO/IEC 8859-5:1999, Information technology - 8-bit single-byte coded graphic
character sets - Part 5: Latin/Cyrillic alphabet
ISO/IEC 8859-6:1999, Information technology - 8-bit single-byte coded graphic
character sets - Part 6: Latin/Arabic alphabet
ISO/IEC 8859-7:1987, Information processing - 8-bit single-byte coded graphic
character sets - Part 7: Latin/Greek alphabet
ISO/IEC 8859-8:1999, Information technology - 8-bit single-byte coded graphic
character sets - Part 8: Latin/Hebrew alphabet
ISO/IEC 8859-9:1999, Information technology - 8-bit single-byte coded graphic
character sets - Part 9: Latin alphabet No. 5
ISO/IEC 8859-10:1998, Information technology - 8-bit single-byte coded graphic
character sets - Part 10: Latin alphabet No. 6
ISO/IEC 10646-1:2000, Information technology - Universal Multiple-Octet Coded
Character Set (UCS) - Part 1:Architecture and Basic Multilingual Plane
2.3
策定中の規格
本書の出版時点において、下記の参照規格は開発中の状態である。これらのドキュメントにお
ける、現在の状態に関する詳細な情報や有効性については、適切な標準化団体や、指定されたそ
の他の組織に問い合わせること。
ISO/IEC 14776-413, SCSI Architecture Model - 3 (SAM-3) [T10/1561-D]
ISO/IEC 14776-322, SCSI Block Commands - 2 (SBC-2) [T10/1417-D]
ISO/IEC 14776-333, SCSI Stream Commands - 3 (SSC-3) [T10/1611-D]
2.4
IETF 規格
下記に示される公開済みの IETF 標準は、インターネット技術標準化委員会(IETF:Internet
Engineering Task Force)www.ietf.org より入手することが可能である。
RFC 791, Internet Protocol - DARPA Internet Program - Protocol Specification
RFC 793, Transmission Control Protocol - DARPA Internet Program - Protocol
Specification
RFC 1035, Domain Names - Implementation and Specification
RFC 1321, The MD5 Message-Digest Algorithm
RFC 1591, Domain Name System Structure and Delegation
RFC 2279, UTF-8, a transformation format of ISO 10646
RFC 2373, IP Version 6 Addressing Architecture
RFC 2396, Uniform Resource Identifiers (URI): Generic Syntax
RFC 2616, Hypertext Transfer Protocol -- HTTP/1.1
13
SCSI Primary Commands - 3 (SPC-3)
RFC 3305, Report from the Joint W3C/IETF URI Planning Interest Group: Uniform
Resource Identifiers (URIs), URLs, and Uniform Resource Names (URNs): Clarifications
and Recommendations
RFC 3720, Internet Small Computer Systems Interface (iSCSI)
14
SCSI Primary Commands - 3 (SPC-3)
3
定義、シンボル、略語、表記ルール
3.1
定義
項番
用語(日本語)
用語(英語)
説明
3.1.1
アクセス制御リス
ト(ACL)
access control
list(ACL)
SCSI ターゲットデバイスのアクセス制御状
態に応じてイニシエータポートに対するアク
セス権を構成するために、SCSI ターゲット
デバイスにより使用されるデータのこと
(8.3.1.3 を参照)。
3.1.2
アクセス制御リス
トエントリ(ACE)
access control
list entry(ACE)
アクセス制御リスト(3.1.1 を参照)内の 1
つのエントリのこと。
3.1.3
アクセス制御
access controls
SCSI ターゲットデバイスのオプションの機
能であり、イニシエータポートに対して、特
定の論理ユニットへののアクセスと、
INQUIRY と REPORT LUNS コマンドのパラメタ
データ内に存在する論理ユニットに関する情
報の変更を制限するものである。
3.1.4
アクセス制御コー
ディネータ
access control
coordinator
SCSI ターゲットデバイス内に存在する全て
の論理ユニットにおいて、アクセス制御
(8.3.1 を参照)の管理と施行を調整する
SCSI ターゲットデバイス内のエンティティ
のこと。アクセス制御コーディネータは常に
ウェルノン論理ユニット(8.3 を参照)ない
し LUN 0 に対する ACCESS CONTROLS を通じて
制御することが可能である。
3.1.5
起動電源状態
active power
condition
デバイスサーバが、メディアへのアクセスを
伴うリクエストを含む、サポートする全ての
コマンドに対して遅延が生じることなく応答
する能力を持っている状態のこと。5.9 を参
照。
3.1.6
追加センスコード
additional sense
code
センスデータ内の、ADDITIONAL SENSE CODE
と ADDITIONAL SENSE CODE QUALIFIER フィー
ルド(4.5 を参照)の組み合わせのこと。
3.1.7
エイリアスリスト
alias list
デバイスサーバが保持し、CHANGE ALIASES
コマンド(6.2 を参照)と REPORT ALIASES コ
マンド(6.19 を参照)により管理される、
エイリアス値(3.1.8 を参照)とそれらに割
り当てられた名称のリストのこと。
3.1.8
エイリアス値
alias value
エイリアスリスト(3.1.7 を参照)内の名称
(3.1.27 を参照)に割り当てられた整数値
であり、コマンドやパラメタデータで SCSI
ターゲットデバイスや SCSI ターゲットポー
トを参照するために使用される。6.2.2 を参
照。
3.1.9
アプリケーション
クライアント
application
client
SCSI コマンドの発生元となるオブジェク
ト。アプリケーションクライアントの詳細な
定義については SAM-3 を参照。
15
SCSI Primary Commands - 3 (SPC-3)
3.1.10
付属型メディア
チェンジャ
attached medium
changer
他の種類の SCSI デバイスに装着され、その
SCSI デバイスを通じてアクセスされる、メ
ディアチェンジャのこと。
3.1.11
属性
attribute
MAM(3.1.64 を参照)情報の一単位こと。
3.1.12
自動誤り情報保持
(ACA)
auto contingent
allegiance(ACA)
CONTROL バイトの NACA ビットの値が 1 に設定
されている場合における、CHECK CONDITION
ステータスを返した後に確立されるタスク
セットの状態。ACA の詳細な定義については
SAM-3 に記述される。
3.1.13
ブロックタスク
blocked task
ブロック状態にあるタスクのこと。タスクは
ACA 状態が発生するとブロック状態になる。
ブロック状態は ACA 状態がクリアされると終
了する。ブロックタスク状態の詳細な定義に
ついては SAM-3 に記述される。
3.1.14
バイト
byte
1 つの単位と見なされる、8 つ続いたビット
のシーケンスのこと。
3.1.15
キャッシュメモリ
cache memory
不揮発性のデータ格納領域に格納されるデー
タのサブセットを格納することが可能な、ア
プリケーションクライアントからアクセスで
きる領域の外側に存在する、一時的で多くは
揮発性のデータ格納領域のこと。
3.1.16
コマンド
command
デバイスサーバにより実行される仕事の単位
を記述したリクエストのこと。コマンドの詳
細な定義については SAM-3 に記述される。
3.1.17
コマンド記述ブ
ロック(CDB)
command
descriptor
block(CDB)
アプリケーションクライアントからデバイス
サーバへコマンドを伝送するために使用され
る構造体(4.3 を参照)のこと。CDB は 16 バ
イトの固定長、もしくは 12~260 バイトの可
変長である可能性がある。
3.1.18
コマンド標準
command standard
デバイス種別毎に定義されたモデル、コマン
ド、パラメタデータの SCSI 標準のこと(例
えば、SBC-2、SSC-2、SMC-2、MMC-4、SES2)。第 1 章を参照。
3.1.19
カンパニー ID
company_id
OUI のシノニム(3.1.74 を参照)。
3.1.20
制御モードページ
Control mode page SCSI の機能に関する制御を提供するモード
ページのこと(例えば、タスクセット管理と
エラーロギング)であり、これらは全てのデ
バイス種別に適用される。7.4.6 を参照。
3.1.21
制御拡張モード
ページ
Control Extension SCSI 機能に関する制御を提供するモード
mode page
ページのことであり、これらは全てのデバイ
ス種別に適用される。
3.1.22
コピーマネージャ
copy manager
EXTENDED COPY コマンドを受信し、要求され
た操作を実行するデバイスサーバのこと。
3.1.23
コピーターゲット
デバイス
copy target
device
EXTENDED COPY コマンド(6.3 を参照)によ
り指定される、コピー元もしくはコピー先と
なる論理ユニットの名前のこと(すなわち、
16
SCSI Primary Commands - 3 (SPC-3)
コピーターゲットデバイスは論理ユニット
(3.1.58 を参照)であり、SCSI ターゲット
デバイス(3.1.100 を参照)ではない)。
3.1.24
データ入力バッ
ファ(Data-In
バッファ)
data-in buffer
アプリケーションクライアントにより、コマ
ンド処理中にデバイスサーバからデータを受
信するために指定されたバッファのこと
(4.2 と SAM-3 を参照)。
3.1.25
データ出力バッ
ファ(Data-Out
バッファ)
data-out buffer
アプリケーションクライアントにより、コマ
ンド処理中にアプリケーションクライアント
からデバイスサーバへ送信されるデータを提
供するために指定されたバッファのこと
(4.2 と SAM-3 を参照)。
3.1.26
遅延エラー
deferred error
GOOD、CONDITION
MET、INTERMEDIATE、INTERMEDIATECONDITION MET のステータスがすでに返され
ているコマンドにおいて、そのコマンド処理
を継続して実行している際に生じたエラーや
例外状態の結果として返される、CHECK
CONDITION ステータスとセンスデータのこ
と。
3.1.27
名称
designation
エイリアスリスト(3.1.7 を参照)内のエイ
リアス値(3.1.8 を参照)と共に、SCSI ター
ゲットデバイスと SCSI ターゲットポートを
指定する、名前とオプションの識別子情報の
こと。6.2.2 を参照。
3.1.28
デバイス識別 VPD
ページ
Device
Identification
VPD page
SCSI デバイス、論理ユニット、SCSI ポート
についての識別情報を取得する方法を提供す
る VPD ページのこと。7.6.3 を参照。
3.1.29
デバイスサーバ
device server
タスク管理のルールに従い SCSI タスクを処
理する論理ユニット内のオブジェクトのこ
と。デバイスサーバの詳細な定義については
SAM-3 に記述される。
3.1.30
デバイスサーバリ
クエスト
device server
request
SCSI コマンドをデバイスサーバに伝送す
る、アプリケーションクライアントにより送
信されるリクエストのこと。デバイスサーバ
リクエストの詳細な定義については SAM-3 に
記述される。
3.1.31
デバイスサーバレ
スポンス
device server
response
SCSI コマンドの完了時にデバイスサーバか
らアプリケーションクライアントに返される
レスポンスのこと。デバイスサーバレスポン
スの詳細な定義については SAM-3 に記述され
る。
3.1.32
デバイス種別
device type
デバイスサーバにより実装され、標準
INQUIRY データ(6.4.2 を参照)の
PERIPHERAL DEVICE TYPE フィールドの内容
により指定される、末端デバイスの種別(す
なわち、デバイスモデル)のこと。
17
SCSI Primary Commands - 3 (SPC-3)
3.1.33
切断-再接続モー
ドページ
DisconnectReconnect mode
page
アプリケーションクライアントに対して、
サービスデリバリサブシステムの性能を調整
する方法を提供するモードページのこ
と。7.4.8 を参照。
3.1.34
要素
element
データ格納メディアの交換可能な部品の場所
として取り扱うことが可能な、メディアチェ
ンジャ SCSI デバイスのアドレス指定可能な
物理コンポーネントのこと。
3.1.35
有効タスク状態
enable task state 完了に向けて処理を進行させることができる
唯一のタスク状態。有効タスク状態の詳細な
定義については SAM-3 に記述される。
3.1.36
拡張一意識別
子、48 ビットグ
ローバルユニーク
識別子
Extended Unique
Identifier, a 48bit globally
unique
identifier(EUI48)
IEEE により EUI-48 について記述したチュー
トリアルが公開されている。
http://standards.ieee.org/regauth/oui/tuto
rials/EUI48.html
3.1.37
拡張一意識別
子、64 ビットグ
ローバルユニーク
識別子
Extended Unique
Identifier, a 64bit globally
unique
identifier(EUI64)
IEEE により EUI-64 について記述したチュー
トリアルが公開されている。
http://standards.ieee.org/regauth/oui/tuto
rials/EUI64.html
3.1.38
失敗 I_T ネクサス
faulted I_T nexus CHECK CONDITION のステータスが返さ
れ、ACA が確立するに至った I_T ネクサスの
こと。失敗 I_T ネクサスの状態は ACA 状態が
クリアされた時にクリアされる。SAM-3 を参
照。
3.1.39
フィールド
field
CDB(3.1.17 を参照)やセンスデータ
(3.1.103 を参照)のようなより大きな構造
体の一部である、複数の連続したビットのグ
ループのこと。
3.1.40
ハードリセット
hard reset
SAM-3 で定義されたイベントにより生じるも
のであり、SAM-3 や本標準および該当するコ
マンド標準により規定される、SCSI デバイ
スがハードリセット操作を行う状態のこと。
3.1.41
ホスト
host
主たる計算デバイスとしての特徴を有する
SCSI デバイスであり、一般的にパーソナル
コンピュータ、ワークステーション、サー
バ、ミニコンピュータ、メインフレームコン
ピュータ、補助計算デバイスである。ホスト
には 1 つあるいは複数の SCSI イニシエータ
デバイスが含まれる。
3.1.42
IEEE company_ID
IEEE company_id
OUI のシノニム(3.1.74 を参照)。
3.1.43
I_T ネクサス
I_T nexus
SCSI イニシエータポートと SCSI ターゲット
ポートの間の関係のこと。SAM-3 を参照。
3.1.44
I_T ネクサス喪失
I_T nexus loss
SAM-3 で定義されたイベントにより生じるも
18
SCSI Primary Commands - 3 (SPC-3)
のであり、SAM-3 や本標準および該当するコ
マンド標準により規定される、SCSI デバイ
スが I_T ネクサス喪失時の操作を行う状態の
こと。
3.1.45
I_T_L ネクサス
I_T_L nexus
SCSI イニシエータポートと SCSI ターゲット
ポートと論理ユニットの間の関係のこと。
SAM-3 を参照。
3.1.46
I_T_L_Q ネクサス
トランザクション
I_T_L_Q nexus
transaction
定義された境界を有する単一のデータ構造体
により SCSI ポート間を転送される情報のこ
と(例えば、情報ユニット)。
3.1.47
アイドル電源状態
idol power
condition
メディアアクセスリクエストなどを含む、サ
ポートしている全てのコマンドに対してデバ
イスサーバが応答する能力を持つが、起動電
源状態と比較してそれらのコマンドの完了ま
でに時間のかかる可能性のある状態のこ
と。5.9 を参照。
3.1.48
暗黙的 HEAD OF
QUEUE
implicit head of
queue
特定のコマンドを HEAD OF QUEUE タスク属性
を持っているものとして取り扱うことが可能
なオプションの処理モデルのこと(SAM-3 と
5.3 を参照)。
3.1.49
イニシエータデバ
イス名
initiator device
name
SCSI イニシエータデバイス、もしく
は、SCSI イニシエータデバイスとして動作
する SCSI ターゲット/イニシエータデバイ
スの SCSI デバイス名(3.1.92 を参照)のこ
と(SAM-3 を参照)。
3.1.50
イニシエータポー
ト
initiator port
SCSI イニシエータポートのシノニム
(3.1.95 を参照)。
3.1.51
イニシエータポー
ト識別子
initiator port
identifier
SCSI ドメイン内で SCSI イニシエータポート
(3.1.95 を参照)が参照される際に使用さ
れる値のこと(SAM-3 を参照)。
3.1.52
イニシエータポー
ト名
initiator port
name
SCSI イニシエータポート(3.1.95 を参
照)、もしくは SCSI イニシエータとして動
作する SCSI ターゲット/イニシエータポー
トの SCSI ポート名(3.1.98 を参照)のこと
(SAM-3 を参照)。
3.1.53
インターネットプ
ロトコルドメイン
名
Internet protocol IETF(RFC 1035 と RFC 1591 を参照)により
domain name
定義された、ドメインネームシステム内のコ
ンピュータもしくはコンピュータの階層構造
の名前のこと。IANA によりドメイン名のリ
ストが公開されている。
http://www.iana.org/assignments/domainnames
3.1.54
インターネットプ
ロトコル番号
Internet protocol インターネットプロトコル層のプロトコルを
number
識別するために割り当てられたコード値のこ
と(RFC 791 を参照)。インターネットプロ
トコル番号は、transmission control
protocol(TCP、RFC 793 を参照)に対して 6
19
SCSI Primary Commands - 3 (SPC-3)
を割り当てている。IANA によりインター
ネットプロトコル番号のリストが公開されて
いる。
http://www.iana.org/assignments/protocol
-numbers.
3.1.55
リンクされたコマ
ンド
linked command
3.1.56
最下位ビット(LSB) least significant バイナリコードにおいて、全体として取り扱
bit(LSB)
われた時に単一の数値を表す複数のビットの
中で、数値的に最も重み付けが小さいビット
もしくはビット位置のこと(例えば、0001b
という値であれば 1 に設定されたビットのこ
と)。
3.1.57
左詰め
left-aligned
ASCII データを含むフィールドの種別であ
り、使用しないバイトがフィールドの末尾
(オフセットが最大)に存在し、か
つ、ASCII のスペース文字(20h)で埋めら
れるもののこと。4.4.1 を参照。
3.1.58
論理ユニット
logical unit
SCSI デバイスモデルを実装しデバイスサー
バを保持する SCSI ターゲットデバイス内に
存在する、外部からのアドレス指定が可能な
実体のこと。論理ユニットの詳細な定義につ
いては SAM-3 に記述される。
3.1.59
論理ユニットアク
セス制御記述子
(LUACD)
logical unit
ACE(3.1.2 を参照)内の構造体であり、ア
access control
クセスが許可される論理ユニットを識別し、
descriptor(LUACD) 論理ユニットにアクセスする時に使用する
LUN を指定する(8.3.1.3.3 を参照)。
3.1.60
論理ユニットイン
ベントリ
logical unit
inventory
REPORT LUNS コマンド(6.21 を参照)により
報告される論理ユニットのリストのこと。
3.1.61
論理ユニット番号
(LUN)
logical unit
number(LUN)
論理ユニットのためのエンコードされた 64
ビットの識別子。論理ユニット番号の詳細な
定義については SAM-3 に記述される。
3.1.62
論理ユニットリ
セット
logical unit
reset
SAM-3 で定義されたイベントにより生じるも
のであり、SAM-3、本標準、該当するコマン
ド標準により規定された、論理ユニットが論
理ユニットリセット操作を実行する状態のこ
と。
3.1.63
メディア
medium
デバイスサーバが実行するコマンドに従い、
不揮発性の手段(すなわち、電源サイクルを
通じて保存される)によりデータを記録する
の物理的実体のこと。
3.1.64
メディア補助メモ
リ(MAM)
medium auxiliary
memory(MAM)
デバイスサーバからアクセス可能な、メディ
ア上に存在する補助メモリのこと(例えば、
テープカートリッジ)。メディア補助メモリ
は不揮発性であり、デバイスサーバの主たる
20
抽象的な I/O 操作を集合的に構成する、単一
のタスクにより処理される一連の SCSI コマ
ンドのこと。リンクされたコマンドの詳細な
説明は SAM-3 に記述される。
SCSI Primary Commands - 3 (SPC-3)
機能から独立している可能性がある。
3.1.65
メディアチェン
ジャ
medium changer
3.1.66
最上位ビット(MSB) most significant
bit(MSB)
バイナリコードにおいて、全体として取り扱
われた際に単一の数値を表現するビットのグ
ループ内で、数値的に最大の値となるビット
もしくはビット位置のこと(例えば、1000b
であれば 1 に設定されたビットのこと)。
3.1.67
名前
name
特定のコンテキストにおいて一意であり、決
して変更されるべきではない、オブジェクト
につけられたラベルのこと(例えば、名前と
国際一意識別子(worldwide identifier:
WWID)という単語は相互に交換可能であ
る)。
3.1.68
ネットワークアド
レス管理者
network address
authority(NAA)
名前(3.1.67 を参照)内のフィールドであ
り、名前のフォーマットと長さを規定す
る。7.6.3.6 および FC-FS を参照。
3.1.69
ネクサス
nexus
2 つの SCSI デバイス間の関係であり、それら
の SCSI デバイスには SCSI イニシエータポー
トと SCSI ターゲットポートのオブジェクト
が存在する。SAM-3 を参照。
3.1.70
不揮発性キャッ
シュメモリ
non-volatile
cache memory
電源サイクルを通じてデータが保存される
キャッシュメモリ(3.1.15 を参照)のこ
と。
3.1.71
NULL パディング型 null-padded
フィールドの種類であり、未使用バイトが
フィールドの末尾(すなわち、オフセットが
最も大きい)に配置され、ASCII の NULL 文字
(00h)で埋められるもののこと。4.4.2 を
参照。
3.1.72
NULL 終端文字列
null-terminated
フィールドの種類であり、使用しているバイ
トの末尾(すなわち、オフセットが最大)に
は ASCII の NULL 文字(00h)が格納される事
が要求されるもののこと。4.4.2 を参照。
3.1.73
1
one
真偽値の真。
3.1.74
organizationally
unique
identifier(OUI)
organizationally
unique
identifier(OUI)
重複することのない様 IEEE により割り当て
られる数値の識別子のこと。OUI はカンパ
ニー ID ないし IEEE カンパニー ID と同義で
ある。IEEE では EUI-48 識別子(3.1.36 を参
照)に対して OUI、EUI-64 識別子(3.1.37 を
参照)に対してカンパニー ID という語を好
む。しかしながら、IEEE により割り当てら
れた数値の識別子は OUI と呼ばれる。IEEE に
より OUI について記述したチュートリアルが
公開されている。
21
メディアへの読み書きを行う SCSI デバイス
に対する、メディアの挿入や取り出しを機械
化するデバイスのこと。メディアチェンジャ
の詳細な定義については SMC-2 に記述され
る。
SCSI Primary Commands - 3 (SPC-3)
http://standards.ieee.org/regauth/oui/.
3.1.75
ページ
page
いくつかのコマンドで使用される標準的なパ
ラメタ構造(もしくはフォーマット)。これ
らのページはページコードとして知られる値
によって識別される。
3.1.76
電源喪失を通じて
永続する
persist through
power loss
電源喪失時においてもある種の機能に関する
情報を維持するよう、アプリケーションクラ
イアントからデバイスサーバに要求すること
を可能とする、オプションの能力である。
3.1.77
永続予約の保持者
persistent
reservation
holder
剥奪を行わなくとも、永続予約の解放もしく
は変更を行うことが許可された I_T ネクサス
のこと。5.6.9 を参照。
3.1.78
電源サイクル
power cycle
SCSI デバイスに対して電源が切られ、その
後投入されること。
3.1.79
電源投入
power on
SAM-3 で定義されたイベントにより生じるも
のであり、SAM-3、本標準、該当するコマン
ド標準により規定された、SCSI デバイスが
電源投入操作を実行する状態のこと。
3.1.80
プロトコル識別子
protocol
identifier
他のフィールドに適用されるプロトコルを識
別する様々なフィールドで使用されるコード
値のこと。7.5.1 を参照。
3.1.81
プロトコル固有
protocol specific SCSI 転送プロトコル標準(第 1 章を参照)で
規定される要求のこと。プロトコル固有の詳
細な説明は SAM-3 に記述される。
3.1.82
プロトコル標準
protocol standard SCSI 転送プロトコルを規定する SCSI 標準の
こと(例えば、SAM、SPI-5、SBP-3、FCP2)。第 1 章を参照。
3.1.83
プロクシトークン
proxy token
アクセス制御が存在する論理ユニットに対し
て一時的なアクセスを行うために使用するこ
とが可能な、論理ユニットの識別子のこと
(8.3.1.6.2 を参照)。
3.1.84
RFC
request for
comment(RFC)
IETF により策定された標準の名前(2.4 を参
照)。
3.1.85
登録済み
registered
REGISTER サービスアクション、REGISTER
AND IGNORE EXISTING KEY サービスアクショ
ン(5.6.6 を参照)、REGISTER AND MOVE
サービスアクション(5.6.7 を参照)を設定
した PERSISTENT RESERVE OUT コマンドが正
常終了してから、登録が削除される(5.6.10
を参照)までの間、I_T ネクサスにおいて存
在する状態のこと。
3.1.86
登録者
registrant
登録済みの I_T ネクサス(3.1.85 を参照)。
3.1.87
右詰め
right-aligned
ASCII データを保持するフィールドの種類で
あり、未使用バイトがフィールドの開始位置
(オフセットが小さい)に存在し、かつ未使
用バイトが ASCII のスペース文字(20h)で
22
SCSI Primary Commands - 3 (SPC-3)
埋められるもののこと。
3.1.88
相対ポート識別子
relative port
identifier
SCSI デバイス(3.1.91 を参照)内で一意な
SCSI ポート(3.1.96 を参照)の識別子のこ
と。SAM-3 を参照。アプリケーションクライ
アントは、相対ポート識別子の値を取得する
ために SCSI ポート VPD ページ(7.6.7 を参
照)を使用することが可能である。
3.1.89
相対イニシエータ
ポート識別子
relative
initiator port
identifier
SCSI イニシエータポート(3.1.95 を参照)
の相対ポート識別子(3.1.88 を参照)。
3.1.90
相対ターゲット
ポート識別子
relative target
port identifier
SCSI ターゲットポート(3.1.101 を参照)の
相対ポート識別子(3.1.88 を参照)。
3.1.91
SCSI デバイス
SCSI device
サービスデリバリサブシステムに接続
し、SCSI アプリケーションプロトコルをサ
ポートする、1 つないし複数の SCSI ポートを
保持するデバイスのこと(SAM-3 を参照)。
3.1.92
SCSI デバイス名
SCSI device name
SCSI デバイスが SCSI ポートを保持するとこ
ろの SCSI ドメイン(3.1.93 を参照)のプロ
トコルにおいて、国際的に一意な SCSI デバ
イスの名前(3.1.67 を参照)のこと。SCSI
デバイス名は、プロトコル固有の方法により
他の SCSI デバイスもしくは SCSI ポートに対
して有効化される可能性がある。
3.1.93
SCSI ドメイン
SCSI domain
2 つもしくは複数の SCSI デバイスを接続する
通信回線とサービスデリバリサブシステムの
こと。SCSI ドメインの詳細な説明は SAM-3 に
記述される。
3.1.94
SCSI イニシエータ SCSI initiator
デバイス
device
SCSI ターゲットデバイス(3.1.100 を参照)
によって処理される対象となるデバイスサー
ビスとタスク管理リクエスト(SAM-3 を参
照)を発行するアプリケーションクライアン
ト(3.1.9 を参照)と SCSI イニシエータポー
トを保持し、SCSI ターゲットデバイスから
デバイスサービスとタスク管理レスポンスを
受信する SCSI デバイス(3.1.91 を参照)の
こと。
3.1.95
SCSI イニシエータ SCSI initiator
ポート
port
リクエストとレスポンスがルーティングされ
る、アプリケーションクライアントとサービ
スデリバリサブシステムの間のコネクション
として動作する、SCSI イニシエータデバイ
ス(SAM-3 を参照)のオブジェクトのこと。
3.1.96
SCSI ポート
アプリケーションクライアントやデバイス
サーバ、タスクマネージャをサービスデリバ
リサブシステムに接続する SCSI デバイスの
ポートのこと(SAM-3 を参照)。
3.1.97
SCSI ポート識別子 SCSI port
identifier
SCSI port
ドメイン内で SCSI ポートが参照されるとき
の値のこと。SCSI ポート識別子はイニシ
23
SCSI Primary Commands - 3 (SPC-3)
エータポート識別子(3.1.51 を参照)か
ターゲットポート識別子(3.1.115 を参照)
のいずれかである。
3.1.98
SCSI ポート名
SCSI port name
SCSI ポート(3.1.96 を参照)が存在する
SCSI ドメインのプロトコル内で国際的に一
意な SCSI ポートの名前(3.1.67 を参照)の
こと。名前は、プロトコル固有の方法により、
当該 SCSI ドメイン内に存在する SCSI デバイ
スや SCSI ポートに対して有効化される可能
性がある。SAM-3 を参照。
3.1.99
SCSI ポート VPD
ページ
SCSI port VPD
page
SCSI ターゲットデバイスもしくは SCSI ター
ゲット/イニシエータデバイス内に存在する
全ての SCSI ポートについての情報の取得を
可能とする VPD ページのこと。7.6.7 を参
照。
3.1.100
SCSI ターゲットデ SCSI target
バイス
device
処理する対象となるデバイスサービスやタス
ク管理リクエスト(SAM-3 を参照)を受信
し、SCSI イニシエータに対してデバイス
サービスやタスク管理レスポンスを送信す
る、論理ユニット(3.1.58 を参照)および
SCSI ターゲットポート(3.1.101 を参照)を
保持する SCSI デバイス(3.1.91 を参照)の
こと。
3.1.101
SCSI ターゲット
ポート
リクエストとレスポンスがルーティングされ
る、デバイスサーバとタスクマネージャおよ
びサービスデリバリサブシステム間のコネク
ションとして動作する SCSI ターゲットデバ
イス(SAM-3 を参照)内のオブジェクトのこ
と。
3.1.102
SCSI 転送プロトコ SCSI transport
SCSI 転送プロトコルを規定する SCSI 標準の
ル標準
protocol standard こと(例えば、FCP-2、SAS、SPR、SBP-3)。
3.1.103
センスデータ
sense data
CHECK CONDITION ステータスあるいは
REQUEST SENSE コマンド(6.27 を参照)のレ
スポンスとして、同一の I_T_L_Q ネクサスの
トランザクション(3.1.46 を参照)で、デ
バイスサーバからアプリケーションクライア
ントに伝送される、エラーないし例外状態を
記述するデータのこと。センスデータの
フォーマットの定義については 4.5 を参照。
3.1.104
センスキー
sense key
センスデータ内の SENSE KEY フィールド
(4.5 を参照)の内容。
3.1.105
サービスアクショ
ン
service action
デバイスサーバにより実行される仕事を記述
したリクエスト。サービスアクションはコマ
ンドの拡張である。SAM-3 を参照。
3.1.106
サービスデリバリ
サブシステム
service delivery
subsystem
SCSI I/O システムの一部であり、サービス
リクエストを論理ユニットないし SCSI ター
ゲットデバイスへ転送し、かつ、論理ユニッ
トもしくは SCSI ターゲットデバイスから
SCSI target port
24
SCSI Primary Commands - 3 (SPC-3)
SCSI イニシエータデバイスへレスポンスを
転送する。
3.1.107
スタンバイ電源状
態
standby power
status
デバイスサーバがコマンドを受け付けること
は可能だが、メディアアクセスコマンドを実
行することができない状態。5.9 を参照。
3.1.108
ステータス
status
各コマンドの完了時に、デバイスサーバから
アプリケーションクライアントに送信される
レスポンス情報内の 1 バイトのこと。SAM-3
を参照。
3.1.109
システム
system
単一の構成として動作する 1 つもしくは複数
の SCSI ドメインのこと。
3.1.110
ターゲットデバイ
ス名
target device
name
SCSI ターゲットデバイス、もしくは SCSI
ターゲットデバイスとして動作する SCSI
ターゲット/イニシエータデバイスの SCSI
デバイス名(3.1.92 を参照)のこと(SAM-3
を参照)。
3.1.111
ターゲットポート
target port
SCSI ターゲットポート(3.1.101 を参照)の
シノニム。
3.1.112
ターゲットポート
非対称アクセス状
態
target port
ターゲットポートの動作、および、コマンド
asymmetric access やタスク管理機能がこの状態を維持するター
state
ゲットポートを通じて配信される際に論理ユ
ニットにおいて許可されるコマンドセットを
定義した特性のこと(5.8.2.1 を参照)。
3.1.113
ターゲットポート
グループ
target port group 常に同一のターゲットポート非対称アクセス
状態(3.1.112 を参照)にあるターゲット
ポートのセットのこと(5.8.2.1 を参照)。
3.1.114
ターゲットポート
グループ非対称ア
クセス状態
target port group ターゲットポートグループ(3.1.113 を参
asymmetric access 照)内のターゲットポートのセットで共有さ
state
れるターゲットポート非対称アクセス状態
(3.1.112 を参照)のこと。
3.1.115
ターゲットポート
識別子
target port
identifier
SCSI ドメイン内で SCSI ターゲットポート
(3.1.101 を参照)が参照されるところの値
のこと(SAM-3 を参照)。
3.1.116
ターゲットポート
名
target port name
SCSI ターゲットポートもしくは SCSI ター
ゲットとして動作する SCSI ターゲット/イ
ニシエータポートの SCSI ポート名(3.1.98
を参照)のこと(SAM-3 を参照)。
3.1.117
タスク
task
コマンドもしくはリンクされたコマンドのグ
ループに割り当てられた仕事を表現する、論
理ユニット内のオブジェクトのこと。タスク
の詳細な説明は SAM-3 に記述される。
3.1.118
タスクセット
task set
論理ユニット内のタスクのグループであり、
それらの相互作用はタスク管理と ACA のルー
ルに依存する。SAM-3 と制御モードページ
(7.4.6 を参照)を参照。
3.1.119
TCP ポート番号
TCP port numbers
TCP コネクションを確立する時に必要となる
25
SCSI Primary Commands - 3 (SPC-3)
1 つのデータ。TCP ポート番号は IANA により
TCP レイヤのプロトコルに割り当てられる。
IANA により TCP ポート番号の割り当てが公開
されている。
http://www.iana.org/assignments/
port-numbers.
3.1.120
サードパーティコ
マンド
third-party
command
他の 2 つの SCSI デバイスに影響する操作
を、ある 1 つの SCSI デバイスに要求するた
めに送信されるコマンドのこと(例え
ば、EXTENDED COPY コマンドは、EXTENDED
COPY コマンドが送られた SCSI デバイス以外
の、他の 2 つないしそれ以上の SCSI デバイ
ス間で実行される)。
3.1.121
ユニット警告状態
unit attention
condition
1 つもしくは複数の I_T ネクサスに関係づけ
られたイニシエータポートに対して報告され
る対象となる、非同期ステータス情報を保持
している論理ユニットが維持する状態のこ
と。SAM-3 を参照。
3.1.122
ユニバーサル時間
(UT)
universal
time(UT)
経度 0 の時刻、口語体でグリニッジ標準時と
して知られる。
http://aa.usno.navy.mil/faq/docs/UT.html
を参照。
3.1.123
URI スキーム
URI Schemes
IANA が管理する URI と URL 名のスキームのこ
と。http://www.iana.org/assignments/urischemes を参照。
3.1.124
UTF-8
UTF-8
ISO 10646 で定義されたキャラクタセットの
変換フォーマットに従うキャラクタセットの
こと。RFC 2279 を参照。
3.1.125
ベンダ固有(VS)
vendor
specific(VS)
本標準では定義されず、ベンダ定義である可
能性のある何ものか(例えば、ビットや
フィールド、コード値など)。
3.1.126
揮発性キャッシュ
メモリ
volatile cache
memory
電源サイクルを通じてデータが保持されない
キャッシュメモリ(3.1.15 を参照)のこと。
3.1.127
ウェルノン論理ユ
ニット
well known
logical unit
特定の機能のみを実行する論理ユニット(8
章を参照)。ウェルノン論理ユニットはアプ
リケーションクライアントに対して、一般的
には SCSI ターゲットデバイスに関係する特
定の情報の取得や管理のためのリクエストを
発行することを許可する。
3.1.128
ウェルノン論理ユ well known
ニット番号(W-LUN) logical unit
number(W-LUN)
ウェルノン論理ユニットを識別される論理ユ
ニット番号のこと。
3.1.129
0
zero
真偽値の偽。
3.1.130
ゼロパディング型
zero-padded
フィールドの型であり、未使用のバイトは
フィールドの末尾(オフセットが最大)に配
置され、かつ、0 で埋められる。4.4.2 を参
照。
26
SCSI Primary Commands - 3 (SPC-3)
3.2
頭字語
頭字語
元の表記
訳語
<
less than
小なり
>
greater than
大なり
ACE
Access Control list Entry
アクセス制御リストエントリ(3.1.2 を
参照)
ACL
Access Control List
アクセス制御リスト(3.1.1 を参照)
ACA
Auto Contingent Allegiance
自動誤り情報保持(3.1.12 を参照)
ADC
Automation/Drive Interface - Commands
自動化ドライブインタフェース-コマン
ド(第 1 章を参照)
ADT
Automation/Drive
Protocol
ASC
Additional Sense Code
ASCII
American Standard Code for Information 情報交換用米国標準符号(2.2 を参照)
Interchange
ASCQ
Additional Sense Code Qualifier
追加センスコード修飾子(4.5 を参照)
ATA
AT Attachment
AT 接続(www.t13.org を参照)
ATAPI
AT Attachment with Packet Interface
AT 接 続 パ ケ ッ ト イ ン タ フ ェ ー ス
(www.t13.org を参照)
CDB
Command Descriptor Block
コマンド記述ブロック(3.1.17 を参照)
CRC
Cyclic Redundancy Check
巡回冗長検査
D_ID
Destination Identifier
目的識別子(FC-FS で規定される。第 1
章を参照)
Interface
-
Transport 自動化ドライブインタフェース-転送プ
ロトコル(第 1 章を参照)
追加センスコード(4.5 を参照)
EUI-48 Extended Unique Identifier,
globally unique identifier
a
48-bit Extended Unique Identifier。48 ビット
のグローバルに一意な識別子(3.1.36 を
参照)。
EUI-64 Extended Unique Identifier,
globally unique identifier
a
64-bit Extended Unique Identifier。64 ビット
のグローバルに一意な識別子(3.1.37 を
参照)。
FC-FS
Fibre Channel
Interface
Signaling ファイバチャネルフレーム処理/信号処
理インタフェース(第 1 章を参照)
FCP-2
Fibre Channel Protocol for SCSI -2
SCSI-2 におけるファイバチャネルプロト
コル(第 1 章を参照)
HTTP
Hypertext Transfer Protocol
ハイパーテキスト転送プロトコル(RFC
2616 を参照)
ID
Identifier or Identification
識別子ないし識別
IEC
International Electrotechnical Commission 国際電気標準会議
IEEE
Institute of Electrical and Electronics 米国電気電子学会
Engineers
IETF
Internet Engineering Task Force
Framing
and
インターネット技術標準化委員会(2.4
を参照)
27
SCSI Primary Commands - 3 (SPC-3)
IP
Internet Protocol
イ ンタ ーネ ット プロ トコ ル( 2.4 を 参
照)
IPv4
Internet Protocol
version 4
インターネットプロトコルバージョン 4
IPv6
Internet Protocol
version 6
インターネットプロトコルバージョン 6
iSCSI
Internet SCSI
インターネット SCSI(2.4 を参照)
ISO
Organization for International Standards
国際標準化機構
LBA
Logical Block Address
論理ブロックアドレス
LSB
Least Significant Bit
最下位ビット(3.1.56 を参照)
LUACD
Logical Unit Access Control Descriptor
論理ユニットアクセス制御記述子
(3.1.59 を参照)
LUN
Logical Unit Number
論理ユニット番号(3.1.61 を参照)
MAM
Medium Auxiliary Memory
メディア補助メモリ(3.1.64 を参照)
MMC-4
SCSI Multi-Media Commands -4
SCSI マルチメディアコマンド-4(第 1 章
を参照)
MSB
Most Significant Bit
最上位ビット(3.1.66 を参照)
NAA
Network Address Authority
ネットワークアドレス管理者(3.1.68 を
参照)
n/a
not applicable
適応されない
INCITS InterNational Committee for Information 情報技術規格国際委員会
Technology Standards
OCRW
SCSI Specification
Reader/Writer
for
Optical
OSD
Object-based Storage Devices Commands
オブジェクトベースストレージデバイス
コマンド(第 1 章を参照)
OUI
Organizationally Unique Identifier
Organizationally
Unique
Identifier(OUI)(3.1.74 を参照)
RAID
Redundant Array of Independent Disks
独立ディスクによる冗長化アレイ
(RAID)
RBC
SCSI Reduced Block Commands
SCSI 簡略化ブロックコマンド(第 1 章を
参照)
RDMA
Remote Direct Memory Access
遠隔直接メモリアクセス(SRP を参照)
RFC
Request For Comments
Request For Comments(3.1.84 を参照)
RMC
SCSI Reduced Multi-Media Commands
SCSI 簡略化マルチメディアコマンド(第
1 章を参照)
SAM-2
SCSI Architecture Model -2
SCSI アーキテクチャモデル-2(第 1 章を
参照)
SAM-3
SCSI Architecture Model -3
SCSI アーキテクチャモデル-3(第 1 章を
参照)
SAT
SCSI / ATA Translation
SCSI/ATA 変換(第 1 章を参照)
SBC-2
SCSI Block Commands -2
SCSI ブロックコマンド-2(第 1 章を参
照)
28
Card 光学式カードリーダ/ライタにおける
SCSI 仕様(第 1 章を参照)
SCSI Primary Commands - 3 (SPC-3)
SBC-3
SCSI Block Commands 3
SCSI ブロックコマンド-3(第 1 章を参
照)
SCC-2
SCSI Controller Commands -2
SCSI コントローラコマンド-2(第 1 章を
参照)
SCC-3
SCSI Controller Commands -3
SCSI コントローラコマンド-3(第 1 章を
参照)
SCSI
The architecture defined by the family of 第 1 章で記述される、標準ファミリによ
standards described in clause 1
り定義されるアーキテクチャ
SES
SCSI-3 Enclosure Services
SCSI-3 エンクロージャサービス(第 1 章
を参照)
SES-2
SCSI Enclosure Services -2
SCSI エンクロージャサービス-2(第 1 章
を参照)
SMC-2
SCSI Media Changer Commands -2
SCSI メディアチェンジャコマンド-2(第
1 章を参照)
SPC
SCSI-3 Primary Commands
SCSI-3 プ ラ イ マ リ コ マ ン ド ( ANSI
X3.301:1997、第 1 章を参照)
SPC-2
SCSI Primary Commands -2
SCSI プライマリコマンド-2(第 1 章を参
照)
SPC-3
SCSI Primary Commands -3
SCSI プライマリコマンド-3(本標準、第
1 章を参照)
SPI-5
SCSI Parallel Interface -5
SCSI パラレルインタフェース-5(第 1 章
を参照)
SRP
SCSI RDMA Protocol
SCSI RDMA プロトコル(第 1 章を参照)
SSC-2
SCSI Stream Commands -2
SCSI ストリームコマンド-2(第 1 章を参
照)
TCP
Transmission Control Protocol
転送制御プロトコル(TCP)(RFC 793 を
参照)
URI
Uniform Resource Identifier
統一資源識別子(URI)(RFC 2396、RFC
3305、 3.1.123 を参照)
URL
Uniform Resource Locator
統 一 資 源 位 置 指 定 子 ( URL ) ( RFC
2396、RFC 3305、 3.1.123 を参照)
UT
Universal time
ユニバーサル時間(3.1.122 を参照)
USB
Universal Serial Bus
ユニバーサルシリアルバス(USB)
(www.usb.org を参照)
VPD
Vital Product Data
重要プロダクトデータ(7.6 を参照)
VS
Vendor Specific
ベンダ固有(3.1.125 を参照)
W-LUN
Well known logical unit number
ウェルノン論理ユニット番号(3.1.128
を参照)
3.3
キーワード
項番
3.3.1
キーワード
expected
訳語
予期される
説明
本標準で仮定される設計モデルにおけるハード
ウェアやソフトウェアの動作を記述するために使
29
SCSI Primary Commands - 3 (SPC-3)
用されるキーワード。他のハードウェアやソフト
ウェアのデザインモデルもまた実装される可能性
がある。
3.3.2
ignored
無視される
使用されないビット、バイト、ワード、フィール
ド、コード値を記述するために使用されるキー
ワード。無視されるビット、バイト、ワード、
フィールド、コード値の内容や値は、受信側の
SCSI デバイスにおいて検証されてはならず、転送
側の SCSI デバイスにより任意の値が設定される可
能性がある。
3.3.3
invalid
不正な
このキーワードは、定義に反するもしくはサポー
トされないビット、バイト、ワード、フィールド、
コード値を記述するために使用する。不正なビッ
ト、バイト、ワード、フィールド、コード値を受
信した場合はエラーとして報告されなければなら
ない。
3.3.4
mandatory
必須の
このキーワードは、本標準の記述に従い実装され
ることが要求されるアイテムを示すために使用さ
れる。
3.3.5
may
可能性がある(可
能である)
このキーワードは、優先度を暗示せず、選択の自
由があることを示すために使用される。(may と
may not は同じ意味となる)。
3.3.6
may not
しない可能性があ
る(しないことが
可能である)
このキーワードは、優先度を暗示せず、選択の自
由があることを示すために使用される。(may と
may not は同じ意味となる)。
3.3.7
obsolete
廃止済み
このキーワードは以前の SCSI 標準で定義されてい
た項目が、本標準では削除されていることを示す
ために使用される。
3.3.8
optional
オプションで
このキーワードは本標準では実装することが要求
されない機能を表すために使用される。しかしな
がら、本標準で定義されたオプションの機能が実
装された場合、それは本標準で定義に従って実装
されなければならない。
3.3.9
reserved
予約済み
将来の標準のために保留されているビット、バイ
ト、ワード、フィールド、コード値を参照するた
めに使用されるキーワード。予約済みのビット、
バイト、ワード、フィールドは、0 もしくは本標
準の将来の拡張に適合する値に設定されなければ
ならない。受信者は予約済みのビット、バイト、
ワード、フィールドに 0 設定されているか否か
チェックすることを要求されない。定義された
フィールドに予約済みのコード値が設定されてい
た場合はエラーとして報告されなければならない。
3.3.10
restricted
制限される
他の SCSI 標準での使用に備えて未使用とされる
ビット、バイト、ワード、フィールドを参照する
キーワード。制限されるビット、バイト、ワード、
フィールドは、本標準で規定される要求の目的に
おいては、予約済みのビット、バイト、ワード、
30
SCSI Primary Commands - 3 (SPC-3)
フィールドとして取り扱われなければならない。
3.3.11
shall
しなければならな
い
必須の要求を示すためのキーワード。設計者は、
本標準に適合する他のプロダクトとの相互接続性
を確保するために、このような必須の要求につい
て全てを実装することが求められる。
3.3.12
should
するべきである
強く好ましい選択肢とともに選択の自由があるこ
とを表すキーワード。「強く要求される」と同義。
3.3.13
x or xx
x ないし xx
ビットないしフィールドの適切な値。
3.4
編集上のルール
本標準で使用する特定の単語や用語は通常の英語の意味を超えた特別な意味を有する。これら
の単語と用語は 3.1 ないし、本文中でそれらが最初に使用される場所で定義される。コマンド名、
ステータス、センスキー、追加センスコードは全て大文字で示す(例えば、REQUEST SENSE)。小
文字は通常の英語の意味を持つ単語として使用する。
特定のコマンドに対して、1 つ以上の CDB 長が存在し(例えば、MODE SENSE(6)と MODE
SENSE(10))、CDB 長の記述子が指定されずに文中でコマンド名が使用されていた場合(例えば、
MODE SENSE)には、文中で指定された条件は、そのコマンドの全ての CDB 長に対して適用される。
フィールド名は小さい大文字イで記述される(例えば、ALLOCATION LENGTH)。フィールド名が
頭語を連結したものである場合は、可読性のために大文字が使用される可能性がある(例えば、
NORMACA)。フィールドの内容は通常の文字で記す。1 ビットしか含まないフィールドについては、
一般に"名前フィールド"の代わりに"名前ビット"として参照する。
バイナリの数値は、本標準ではアラビア数字の 0 と 1 のみからなる任意のシーケンスと、その直
後に小文字の b を付加した形式で表現される(例えば、0101b)。可読性を向上するため、あるい
はフィールドの区切りを表現するために、バイナリの数値の中にアンダスコアもしくはスペース
が挿入される可能性がある(例えば、0 0101 1010b、0_0101_1010b)。
16 進数は、本標準ではアラビア数字の 0~9 と英大文字の A~F からなる任意のシーケンスと、
直後に小文字の h を付加した形式で表現される(例えば、FA23h)。可読性を向上するためと、
フィールドの区切りを表現するために、16 進数の表現中にアンダスコアまたはスペースが挿入さ
れる可能性がある(例えば、B FD8C FA23h、B_FD8C_FA23h)。
10 進数は、本標準ではアラビア数字の 0~9 からなる任意のシーケンスで表現され、その直後に
b や h が付加されることはない(例えば、25)。
ビットやフィールドの値が意味を持たない場合には、特定の値の代わりに x や xx が置かれる。
本標準では 10 進数の表記に ISO の表記ルールを使用する(例えば、1000 およびそれ以上の倍数
はスペースで区切られ、カンマは小数点として使用される)。表 1 は ISO と米国表記における 10
進数の表記例を示している。
表1 ISO と米国表記における数値表現の比較
ISO
米国表記
0,6
0.6
3,141 592 65
3.14159265
1 000
1,000
1 323 462,95
1,323,462.95
訳注イ 「小さい大文字」と通常の大文字は、本和訳では編集が面倒なため区別していない。
31
SCSI Primary Commands - 3 (SPC-3)
文字のシーケンスによるリスト(例えば、a)赤、b)青、c)緑)はリストのアイテム間で順序性
が存在しないことを表している。番号付けされたリスト(例えば、1.赤、2.青、3.緑)はリスト
アイテム間での順序性を表している。
本文、表、図に競合が発生した場合は、その競合を解決する優先権は本文にある。その次に表
であり、最後が図となる。全ての表・図が本文中の全ての表現している訳ではない。表はデータ
フォーマットと値を表す。注意書きは実装者に対するいかなる要求とも見なされない。
3.5
ビットおよびバイトオーダー
この節では、SCSI で使用される構造体のフォーマット(例えば、CDB のフォーマット)を規定す
る表内のフィールドで使用される表現について記述する。
フィールドが複数ビットから構成され、かつ、単一の値(例えば、数値)を保持するのであれ
ば、最下位ビット(LSB)は右側に示され、最上位ビット(MSB)は左側に示される(例えば、1 バ
イトの中でビット 7 は MSB となり左側に示され、ビット 0 は LSB となり右側に示される)。フィー
ルドが 8 ビットないしそれより少ないビット数だった場合には、MSB および LSB のラベルは記載さ
れない。
フィールドが複数バイトから構成され、かつ、単一の値を保持するのであれば、MSB を保持する
バイトは最下位アドレスに格納され、LSB を保持するバイトは最上位アドレスに配置される(すな
わち、ビッグエンディアン)。MSB と LSB のラベルが記載される。
フィールドが複数バイトから構成され、かつ、それぞれ値を保持する複数のフィールドを保持
するのであれば(例えば、記述子)、フィールド自身の MSB と LSB は存在せず、そのため MSB と
LSB のラベルは示されない。それぞれの独立のフィールドは MSB と LSB を保持し、テーブル内にラ
ベルが示される。存在する場合には、複数のフィールドを保持するサブ構造体のフォーマットが
示される。
フィールドがテキスト文字列(例えば、ASCII や UTF-8)を保持する場合は、MSB ラベルは最初
の文字の MSB となり、LSB ラベルは末尾の文字の LSB となる。
簡潔さが求められる場合、複数バイトのフィールドは表内で 2 行だけで示される可能性がある。
この状態は、表中の各行で 1 ずつ増えていくのではないバイト番号カラムの値によって示される。
これにより、追加のバイトが存在することを示している。
3.6
3.6.1
表記ルール
バイトエンコードされたキャラクタ文字列の表記
本標準が特定のエンコードによる 1 もしくは複数バイトの文字列を要求する場合、当該の特定の
文字列はダブルクォーテーションマークで囲まれる。ダブルクォーテーションマークは、エン
コードされることが要求される文字列の開始位置と終了位置を識別するが、それら自身はエン
コードされない。エンコードされる文字列は、エンコードされる際に使用される大文字/小文字
の区別に従い表現される。
エンコードされる文字列とそれらを囲むダブルクォーテーションマークの前には、エンコード
方法とエンコードされる文字数を指定するテキストが付記される。
この節で述べた表記ルールを用いて、11 個の ASCII 文字"SCSI device"を書き表すと、次のバイ
トシーケンスとなる:53h 43h 53h 49h 20h 64h 65h 76h 69h 63h 65h。
3.6.2
手続き呼び出しの表記ルール
本標準では、オブジェクト間の機能的なインタフェースのモデルは手続き呼び出しとなる。そ
のようなインタフェースは下記の表記ルールを用いて規定される。
32
SCSI Primary Commands - 3 (SPC-3)
[Result =] Procedure Name( IN( [input-1][, input-2] ...), OUT( [output-1][,
output-2 ...) )
説明:
Result
手続き呼び出しの結果を表現する単一の値
Procedure Name
手続き呼び出しによりモデル化される機能を説明する名称。手続き呼び出しモデルが
SCSI 転送プロトコルモデルを説明するために使用される場合は、手続き名はサービス名
と同一となる。
input-1, input-2, ...
呼び出し側が提供する入力引数を識別する、カンマ区切りの名前のリスト。
output-1, output-2, ...
手続き呼び出しから返される出力引数を識別する、カンマ区切りの名前のリスト。
[...]
オプションないし条件付きの引数は括弧で括られる。
この表記では、引数にに対して入力用と出力用の指定を行うことが可能である。下記は手続き
呼び出しの規定の例である。
Found = Search( IN( Pattern, Item List ), OUT( [Item Found] ) )
説明:
Found = Flag
マッチしたアイテムが存在する場合には Flag が 1 に設定される。
入力引数:
Pattern = /* Pattern 引数の定義 */
検索するパターンを含む引数。
Item List = Item<NN> /* NN アイテムの配列としての Item List 引数の定義 */
マッチングのために検索されるアイテムを含む。
出力引数:
Item Found = Item ... /* Search 手続き呼び出しで特定された Item の場所 */
この引数は検索に成功した場合のみ返される。
3.6.3
状態ダイアグラムの表記ルール
全ての状態ダイアグラムは図 2 に示す表記ルールを使用する。
33
SCSI Primary Commands - 3 (SPC-3)
S0: 状態 0
S1: 状態 1
状態 1
状態 0
状態 0
状態の目的ラベル
図2. 状態ダイアグラムの例
状態ダイアグラムには、状態と状態遷移を説明する節が続く。
各状態と状態遷移は、遷移を発生させる原因となる条件、および、遷移に関係する特別な条件
についての固有の注意としてリストにより説明される。
このルールに則るシステムは下記の特性を持つ。
a) 時間経過は個別の状態の中でのみ生じる。
b) 状態遷移は瞬間的に生じる。
34
SCSI Primary Commands - 3 (SPC-3)
3.6.4
2 の冪乗の表記ルール
本標準で 2 の冪乗の値のために使用する技術用語は IEC 60027:2000 に基づく、electrical
technology - Part2:Telecommunications and electronics で使用される表記を使用する(表 2 を
参照)。
表2 2 の冪乗の表記ルール
プレフィックス
省略形
kibi
Ki
210 または 1 024 1 kibibit は 1Kib は 1 024 ビット
mebi
Mi
220
Gi
30
gebi
2 の冪乗
2
使用例
1 mebibit は 1MiB は 1 048 576 バイト
1 gebibit は 1GiB は 1 073 741 824 バイト
40
tebi
Ti
2
pebi
Pi
250
exbi
Ei
260
35
SCSI Primary Commands - 3 (SPC-3)
4
一般概念
4.1
序論
本標準では全ての SCSI デバイスモデルで共通な動作について規定する(5 章を参照)。本標準
では、1 つ以上の SCSI デバイスモデルの基礎となり、全てのデバイスモデルに適用可能な SCSI コ
マンドを規定する(6 章を参照)。本標準では 1 つ以上のデバイスモデルの基礎となるパラメタに
ついて規定する(7 章を参照)。
4.2
リクエスト-レスポンスモデル
SCSI コマンドセットは基本的なリクエスト-レスポンスプロトコルを仮定している。リクエス
ト-レスポンスプロトコルの基本的な特性は SAM-3 で定義される。SCSI コマンドの動作はレスポ
ンスが受信されるまでは完了したと見なしてはならない。レスポンスにはコマンドの最後の状態
を示すステータスが含まれなければならない。SAM-3 においては、リクエスト-レスポンスプロト
コルは明確に手続き呼び出しとしてモデル化される。
Service response = Execute Command( IN( I_T_L_Q Nexus, CDB, Task Attribute,
[Data-In Buffer Size], [Data-Out Buffer], [Data-Out Buffer Size], [Command
Reference Number], [Task Priority] ), OUT( [Data-In Buffer], [Sense Data],
[Sense Data Length], Status ) )
SAM-3 は上記手続き呼び出しの全ての入力と出力を定義する。それらは全ての SCSI デバイスに
適用可能なことから、本標準では手続き呼び出しの CDB、Data-Out バッファ、Data-In バッファ、
センスデータの各入出力の内容について規定する。本標準ではこれら手続き呼び出しの入出力に
ついて、全ての実例についての定義は行わない。本標準では全ての SCSI デバイスに適用可能な例
についてのみ規定する。固有の SCSI デバイスモデルに適用される手続きの入出力の例については、
適用される SCSI コマンド標準(3.1.18 を参照)で規定される。
本標準では Status 出力パラメタによって返される値を参照する(例えば、CHECK CONDITION や
RESERVATION CONFLICT)。ステータスの値は本標準では定義されない。SAM-3 で全てのステータス
の値が定義される。
手続き呼び出しを行うエンティティはアプリケーションクライアントである(SAM-3 を参照)。
手続き呼び出しの表現は、デバイスサービスリクエストの形で SCSI ターゲットデバイスに到達す
る。手続き呼び出しの仕事を実行するエンティティはデバイスサーバである(SAM-3 を参照)。
4.3
4.3.1
コマンド記述ブロック(CDB)
CDB の使用法と構造
コマンドはコマンド記述ブロック(command descriptor block:CDB)をデバイスサーバに送信
することで通信を行う。いくつかのコマンドにおいては、CDB には Data-Out バッファ内のパラメ
タのリストが付随する。詳細な情報については個別のコマンドを参照のこと。
論理ユニットが CDB 内の予約済みのフィールドについて検証を行い、かつ、予約済みのフィール
ドに 0 以外の値が設定された CDB を受信した場合、論理ユニットはステータスが CHECK
CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB でコマン
ドを終了しなければならない。
論理ユニットが OPERATION CODE フィールド以外で予約済みの CDB のコード値を受信した場合、
論理ユニットはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコー
ドが INVALID FIELD IN CDB でコマンドを終了しなければならない。
固定長の CDB フォーマットは 4.3.2 で記述される。可変長の CDB フォーマットは 4.3.3 で記述さ
れる。ほとんどのコマンドで共通的に使用される CDB のフィールドについては 4.3.4 で記述され
36
SCSI Primary Commands - 3 (SPC-3)
る。4.3.2 と 4.3.3 で示され、4.3.4 で規定されるフィールドは、ほとんどのコマンドで一貫して
使用される。しかしながら、(OPERATION CODE と CONTROL フィールドを除く)全てのフィールド
の実際の使用方法については、それらのコマンドを規定するそれぞれの節で記述される。
OPERATION CODE に不正もしくはサポートされない操作コードが設定された CDB をデバイスサーバ
が受信した場合、コマンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追
加センスコードが INVALID COMMAND OPERATION CODE で終了しなければならない。
全てのコマンドにおいて、CDB 内に不正なパラメタが存在した場合、デバイスサーバはメディア
を変更することなくコマンドを終了しなければならない。
4.3.2
固定長 CDB フォーマット
固定長 CDB は先頭バイトに OPERATION CODE を持ち、最後のバイトに CONTROL バイトを保持しな
ければならない。表 3 は 6 バイト CDB の代表的なフォーマットを示している。表 4 は 10 バイト CDB
の代表的なフォーマットを示している。表 5 は 12 バイト CDB の代表的なフォーマットを示してい
る。表 6 は 16 バイト CDB の代表的なフォーマットを示している。表 7 は long LBA のために提供さ
れるコマンドの 16 バイト CDB を示している。
表3 6 バイトコマンドにおける一般的な CDB フォーマット
Bit
Byte
7
6
5
0
4
3
2
1
0
操作コード( OPERATION CODE )
1
その他の CDB 情報
(MSB)
2
論理ブロックアドレス( LOGICAL BLOCK ADDRESS )(必要な場合)
3
(LSB)
転送長( TRANSFER LENGTH ) ( 必要な場合)
パラメタリスト長( PARAMETER LIST LENGTH )(必要な場合)
アロケーション長( ALLOCATION LENGTH )(必要な場合)
4
5
コントロール( CONTROL )
表4 10 バイトコマンドにおける一般的な CDB フォーマット
Bit
Byte
7
6
5
0
3
2
1
0
操作コード( OPERATION CODE )
1
2
4
その他の CDB 情報
サービスアクション( SERVICE ACTION )(必要な場合)
(MSB)
3
論理ブロックアドレス( LOGICAL BLOCK ADDRESS )(必要な場合)
4
5
(LSB)
6
7
その他の CDB 情報
8
転送長( TRANSFER LENGTH ) ( 必要な場合)
パラメタリスト長( PARAMETER LIST LENGTH )(必要な場合)
アロケーション長( ALLOCATION LENGTH )(必要な場合)
9
コントロール( CONTROL )
(MSB)
37
(LSB)
SCSI Primary Commands - 3 (SPC-3)
表5 12 バイトコマンドにおける一般的な CDB フォーマット
Bit
Byte
7
6
5
0
3
2
1
0
操作コード( OPERATION CODE )
1
2
4
その他の CDB 情報
サービスアクション( SERVICE ACTION )(必要な場合)
(MSB)
3
論理ブロックアドレス( LOGICAL BLOCK ADDRESS )(必要な場合)
4
5
6
(LSB)
(MSB)
7
転送長( TRANSFER LENGTH ) ( 必要な場合)
パラメタリスト長( PARAMETER LIST LENGTH )(必要な場合)
アロケーション長( ALLOCATION LENGTH )(必要な場合)
8
9
(LSB)
10
その他の CDB 情報
11
コントロール( CONTROL )
表6 16 バイトコマンドにおける一般的な CDB フォーマット
Bit
Byte
7
0
5
4
3
2
1
0
操作コード( OPERATION CODE )
1
2
6
その他の CDB 情報
サービスアクション( SERVICE ACTION )(必要な場合)
(MSB)
3
論理ブロックアドレス( LOGICAL BLOCK ADDRESS )(必要な場合)
4
5
(LSB)
6
7
追加の CDB データ(必要な場合)
8
9
10
11
12
(MSB)
転送長( TRANSFER LENGTH ) ( 必要な場合)
パラメタリスト長( PARAMETER LIST LENGTH )(必要な場合)
アロケーション長( ALLOCATION LENGTH )(必要な場合)
13
(LSB)
14
その他の CDB 情報
15
コントロール( CONTROL )
38
SCSI Primary Commands - 3 (SPC-3)
表7 long LBA の 16 バイトコマンドにおける一般的な CDB フォーマット
Bit
Byte
7
6
5
4
0
操作コード( OPERATION CODE )
1
その他の CDB 情報
2
3
2
1
0
(MSB)
3
4
5
論理ブロックアドレス( LOGICAL BLOCK ADDRESS )(必要な場合)
6
7
8
9
10
(LSB)
(MSB)
転送長( TRANSFER LENGTH ) ( 必要な場合)
パラメタリスト長( PARAMETER LIST LENGTH )(必要な場合)
アロケーション長( ALLOCATION LENGTH )(必要な場合)
11
12
13
(LSB)
14
その他の CDB 情報
15
コントロール( CONTROL )
4.3.3
可変長 CDB フォーマット
可変長 CDB の最初のバイトは OPERATION CODE として 7Fh が設定されなければならない。CONTROL
バイトは可変長 CDB では 2 バイト目に格納される(表 8 を参照)。
表8 一般的な可変長 CDB フォーマット
Bit
Byte
7
6
5
4
3
0
操作コード( OPERATION CODE ) (7Fh)
1
コントロール( CONTROL )
2
その他の CDB 情報
3
その他の CDB 情報
4
その他の CDB 情報
5
その他の CDB 情報
6
その他の CDB 情報
7
追加 CDB 長( ADDITIONAL CDB LENGTH ) (n-7)
8
9
2
1
0
(MSB)
サービスアクション( SERVICE ACTION )
10
サービスアクション固有フィールド
n
39
(LSB)
SCSI Primary Commands - 3 (SPC-3)
ADDITIONAL CDB LENGTH フィールドは追加の CDB バイト長を指定する。ADDITIONAL CDB LENGTH
フィールドの値は 4 の倍数でなければならない。サービスデリバリサブシステムから配信された
CDB のバイト数が、ADDITIONAL CDB LENGTH フィールドで指定されたバイト数に満たなかった場合
は、コマンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコー
ドが INVALID FIELD IN CDB で終了されなければならない。
SERVICE ACTION フィールドはアプリケーションクライアントにより要求されている動作を指定
する。SERVICE ACTION フィールドは可変長 CDB フォーマットで必要とされ、4.3.4.2 で規定され
る。各サービスアクションコードの説明にて、サービスアクションで必要とされるサービスアク
ション固有フィールドの長さを規定する。
long LBA の操作のために、32 バイト可変長 CDB フォーマットが規定される(表 9 を参照)。
表9 long LBA の 32 バイトコマンドにおける一般的な可変長 CDB フォーマット
Bit
7
Byte
6
5
4
3
0
操作コード( OPERATION CODE ) (7Fh)
1
コントロール( CONTROL )
2
その他の CDB 情報
3
その他の CDB 情報
4
その他の CDB 情報
5
その他の CDB 情報
6
その他の CDB 情報
7
追加 CDB 長( ADDITIONAL CDB LENGTH ) (18h)
8
2
1
0
(MSB)
サービスアクション( SERVICE ACTION )
9
10
その他の CDB 情報
11
12
DPO
FUA
(LSB)
その他の CDB 情報
その他の CDB 情報
(MSB)
論理ブロックアドレス( LOGICAL BLOCK ADDRESS )
19
(LSB)
20
その他の CDB 情報
27
28
(MSB)
31
4.3.4
4.3.4.1
転送長( TRANSFER LENGTH ) ( 必要な場合)
パラメタリスト長( PARAMETER LIST LENGTH )(必要な場合)
アロケーション長( ALLOCATION LENGTH )(必要な場合)
(LSB)
共通 CDB フィールド
操作コード(OPERATION CODE)
SCSI CDB の最初のバイトには、CDB で要求される操作を識別する操作コードが格納されなければ
ならない。いくつかの操作コードでは、サービスアクションに基づき操作に変更が加えられる
(4.3.4.2 を参照)。そのような場合、操作コードとサービスアクションコードは要求される操作
を組み合わせで識別する。CDB 内での SERVICE ACTION フィールドの位置は操作コードの値に依存
して変更される。
CDB 内の OPERATION CODE(表 10 を参照)は GROUP CODE フィールドと COMMAND CODE フィールド
を保持している。3 ビットの GROUP CODE フィールドはコマンドコードの 8 つのグループを提供す
る。5 ビットの COMMAND CODE フィールドはグループ毎に 32 個のコマンドコードを提供する。合計
40
SCSI Primary Commands - 3 (SPC-3)
で 256 通りの操作コードが存在する。操作コードは本標準および他のコマンド標準で規定される
(3.1.18 を参照)。グループコードの値により CDB の長さが決定されなければならない(表 11 を
参照)。
表10 OPERATION CODE バイト
Bit
7
Byte
6
5
4
グループコード( GROUP CODE )
3
2
1
0
コマンドコード( COMMAND CODE )
GROUP CODE フィールドの値は表 11 に示されるグループのうちの 1 つを指定する。
表11 グループコードの値
グループコード
意味
代表的な CDB フォーマット
000b
6 バイトコマンド
4.3.2 の表 3 を参照
001b
10 バイトコマンド
4.3.2 の表 4 を参照
010b
10 バイトコマンド
4.3.2 の表 4 を参照
011b
予約済み a
100b
16 バイトコマンド
4.3.2 の表 6 と表 7 を参照
101b
12 バイトコマンド
4.3.2 の表 5 を参照
110b
ベンダ固有
111b
ベンダ固有
(a)グループコード 011b と操作コード 7Fh を用いるコマンドのフォーマットは 4.3.3 で記述され
る。操作コード 7Fh を除いて、グループコード 011b の全ての操作コードは予約済みである。
4.3.4.2
サービスアクション(SERVICE ACTION)
6 バイトのフォーマットのものを除いた全ての CDB には、OPERATION CODE フィールドで指定され
る、より一般的なコマンド機能の元で、実際に実行される対象となる機能を指定するコード値が
格納される SERVICE ACTION フィールドが存在する。CDB フォーマットで SERVICE ACTION フィール
ドが定義されている場合、それらは SERVICE ACTION フィールドを含む各々の CDB フォーマット内
でのみ、本節で説明される通りに使用される。CDB フォーマットで SERVICE ACTION が定義されな
い場合、CDB 内の SERVICE ACTION フィールドとして識別されるビットは、各々の CDB フォーマッ
トにより規定される通りに使用されるか、あるいは予約済みとならなければならない。
4.3.4.3
論理ブロックアドレス(LOGICAL BLOCK ADDRESS)
論理ユニットやボリュームないしパーティション内の論理ブロックアドレスは、ブロック 0 から
始まり、論理ユニットやボリュームないしパーティションの末尾の論理ブロックに向かって連続
して増加していかなければならない。
6 バイト CDB では 21 ビットの LOGICAL BLOCK ADDRESS フィールドが存在する可能性がある。10
バイトと 12 バイトの CDB では 32 ビットの LOGICAL BLOCK ADDRESS フィールドが存在する可能性が
ある。16 バイト CDB では 32 ビットの LOGICAL BLOCK ADDRESS フィールド(表 6 を参照)を保持す
るものと、64 ビットの LOGICAL BLOCK ADDRESS フィールド(表 7 を参照)を保持するものの 2 種
類のフォーマットが存在する。追加パラメタデータ内の LOGICAL BLOCK ADDRESS フィールドは、
出現する毎に長さが指定される。コマンド毎の説明を参照のこと。
4.3.4.4
転送長(TRANSFER LENGTH)
TRANSFER LENGTH フィールドは転送されるデータ長を、一般的にはブロック数で指定する。いく
41
SCSI Primary Commands - 3 (SPC-3)
つかのコマンドでは、コマンドの規定に従い送信されるバイト数を指定するために、転送長を使
用する。
TRANSFER LENGTH フィールドを 1 バイトだけ使用するコマンドでは、1 コマンドで最大 256 ブ
ロックもしくは 256 バイトのデータを転送することが許可される可能性がある。
TRANSFER LENGTH フィールドを複数バイト使用するコマンドでは、転送長に 0 が指定された場合
はデータの転送が行われてはならない事を示す。1 以上の数値は転送されなければならないブロッ
ク数やバイト数を示す。
詳細については、個別のコマンドの説明を参照のこと。
4.3.4.5
パラメタリスト長(PARAMETER LIST LENGTH)
PARAMETER LIST LENGTH フィールドは Data-Out バッファで送信されるデータのバイト数を指定
するために使用される。一般的にこのフィールドは CDB 内でデバイスサーバに送信されるパラメ
タで使用される(例えば、モードパラメタ、自己診断パラメタ、ログパラメタ)。パラメタ長が 0
の場合は、データが転送されてはならないことを示す。この状態は、他の指定がない限りエラー
とは見なされてはならない。
4.3.4.6
アロケーション長(ALLOCATION LENGTH)
ALLOCATION LENGTH フィールドは、アプリケーションクライアントが Data-In バッファとして割
り当てている最大バイト数を指定する。アロケーション長が 0 の場合はデータが転送されてはな
らないことを示す。この状態はエラーと見なされてはならない。デバイスサーバは、ALLOCATION
LENGTH フィールドで指定されたバイト数分のデータを送信してしまったか、あるいは、利用可能
な全てのデータを送信してしまったかの、いずれか小さい方が生じた場合に、Data-In バッファへ
のデータ送信を中断しなければならない。アロケーション長はアプリケーションクライアントに
返される可変長データ(例えば、モードデータ、ログデータ、自己診断データ)の最大量を制限
するために使用される。データの一部ないし全体のバイト数のカウンタを含む情報が Data-In
バッファに転送されつつある場合、Data-In バッファの状態についてその他の規定が標準で定めら
れている場合を除いて、ALLOCATION LENGTH の値が不十分であったとしても、それらのフィールド
の内容はアロケーション長の不足を反映して変更されてはならない。
転送対象となる情報の量が ALLOCATION LENGTH フィールドで指定可能な最大値を超えていた場合、
デバイスサーバはデータの転送を行ってはならず、ステータスが CHECK CONDITION、センスキーが
ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB によりコマンドを終了しなければ
ならない。
4.3.4.7
コントロール(CONTROL)
CONTROL バイトの内容については SAM-3 で規定される。CONTROL フィールドについては全てのコ
マンドで同一の定義となっている。
4.4
4.4.1
データフィールド定義
ASCII データフィールド定義
ASCII データフィールドには印刷可能な ASCII 文字(すなわち、コード値で 20h から 7Eh)のみ
が格納されなければならず、終端には 1 つ以上の NULL 文字(00h)が格納される可能性がある。
左詰めの ASCII データフィールドでは、未使用のバイトはフィールドの末尾(すなわち、オフ
セットが最大)に存在しなければならず、それらは ASCII スペース文字(20h)で埋められなけれ
ばならない。
右詰めの ASCII データフィールドでは、未使用のバイトはフィールドの先頭(すなわち、オフ
セットが最小)に存在しなければならず、それらは ASCII スペース文字(20h)で埋められなけれ
42
SCSI Primary Commands - 3 (SPC-3)
ばならない。
4.4.2
NULL データフィールド終端と 0 埋めの要求
NULL 終端文字列として指定されたデータフィールドは、フィールド内の末尾の使用バイト(す
なわち、オフセットが最大)に ASCII ないし UTF-8 の NULL 文字が 1 文字格納されなければならず、
かつ、フィールド内のその他のバイトには ASCII ないし UTF-8 の NULL 文字が存在してはならない。
データフィールドは固定長であると指定される可能性がある。データフィールドに指定される
長さは、フィールドの内容を格納するために必要となる長さよりも長い可能性がある。データ
フィールドはある与えられた値の倍数の長さであることが求められる可能性がある(例えば、4 の
倍数)。そのようなフィールドが NULL パディングされるものと規定されていた場合、データが格
納されないフィールドの末尾に存在するバイトには NULL ないし UTF-8 の NULL 文字(00h)が格納
されなければならない。そのようなフィールドが 0 パディングされるものと規定されていた場合
は、データが格納されないフィールドの末尾に存在するバイトには 0 が格納されなければならな
い。
注意1:NULL パディングと 0 パディングでは、パディングのデータには違いがない。差異は
フィールド内における他のバイトのフォーマットに存在する。
NULL パディングと NULL 終端の両方が規定されているデータフィールドでは、フィールドの末尾
(すなわち、オフセットが最大)に最小でも 1 バイトの ASCII ないし UTF-8 の NULL 文字(00h)が
格納されなければならず、必要ならば、規定されたフィールド長の要求に適合する 1 バイトより
多くの ASCII ないし UTF-8 の NULL 文字が格納される可能性がある。NULL パディングであり NULL
終端のデータフィールドに 1 バイトより多くの ASCII ないし UTF-8 の NULL 文字が格納されていた
場合、ASCII ないし UTF-8 の NULL 文字が格納されたバイトは、フィールドの末尾(すなわち、オ
フセットが最大)に存在しなければならない。
4.5
4.5.1
センスデータ
センスデータの序論
センスデータは、同じ I_T_L_Q ネクサストランザクション(3.1.46 を参照)の CHECK CONDITION
ステータスとして、あるいは、REQUEST SENSE コマンド(6.27 を参照)のレスポンスによるパラ
メタデータとして、返されなければならない。CHECK CONDITION ステータスとして同一の I_T_L_Q
ネクサス内で返されるセンスデータは、制御モードページ(7.4.6 を参照)の D_SENSE ビットの値
に基づき、固定長もしくは記述子フォーマットのいずれかので返されなければならない。REQUEST
SENSE コマンドは、固定長フォーマットのセンスデータか、記述子フォーマットのセンスデータの
いずれかで使用される可能性がある。
全てのセンスデータの最初の 1 バイトには、エラー種別とセンスデータのフォーマットを識別す
る RESPONSE CODE フィールドが格納される(表 12 を参照)。
43
SCSI Primary Commands - 3 (SPC-3)
表12 センスデータの RESPONSE CODE
レスポンス
コード
エラー種別
説明
センスデータのフォーマット
参照
00h~6Fh
説明
参照
予約済み
70h
カレント
4.5.4
固定
4.5.3
71h
遅延
4.5.5
固定
4.5.3
72h
カレント
4.5.4
記述子
4.5.2
73h
遅延
4.5.5
記述子
4.5.2
74h~7Eh
予約済み
7Fh
ベンダ固有
下記いずれかの場合、全てのユニット警告センスデータの RESPONSE CODE には 70h が設定されな
ければならない。
a) 追加センスコード(ADDITIONAL SENSE CODE)フィールドが 29h に設定されている。
b) 追加センスコードが MODE PARAMETERS CHANGED に設定されている。
4.5.2
4.5.2.1
記述子フォーマットのセンスデータ
記述子フォーマットのセンスデータの概要
RESPONSE CODE の 72h と 73h における記述子フォーマットのセンスデータは表 13 のように定義さ
れる。
44
SCSI Primary Commands - 3 (SPC-3)
表13 記述子フォーマットのセンスデータ
Bit
Byte
0
1
7
予約済み
6
5
4
3
2
1
0
RESPONSE CODE(72h または 73h )
予約済み
センスキー( SENSE KEY )
2
追加センスコード( ADDITIONAL SENSE CODE )
3
追加センスコード修飾子( ADDITIONAL SENSE CODE QUALIFIER )
4
5
予約済み
6
7
追加センス長( ADDITIONAL SENSE LENGTH )( n-7 )
センスデータ記述子
8
センスデータ記述子 0 (表 14 を参照)
…
…
センスデータ記述子 x (表 14 を参照)
n
RESPONSE CODE フィールドの内容はエラー種別とセンスデータのフォーマットを指定する
(4.5.1 を参照)。記述子フォーマットのセンスデータにおいては、RESPONSE CODE フィールドは
72h か 73h が設定されなければならない。
SENSE KEY、ADDITIONAL SENSE CODE、ADDITIONAL SENSE CODE QUALIFIER フィールドは情報の階
層構造を形成する。階層構造はアプリケーションクライアントがエラーや例外状態の情報を取得
するためのトップダウンアプローチを提供する。
SENSE KEY フィールドはエラーや例外状態を説明する一般的な情報を提供する。センスキーにつ
いては 4.5.6 で規定される。
ADDITIONAL SENSE CODE(ASC)フィールドは SENSE KEY フィールドで報告されるエラーや例外状態
に関係する詳細な情報を表す。本標準で要求されない追加センスコードのサポートはオプション
である。追加センスコードのリストは 4.5.6 で示される。デバイスサーバがエラーや例外状態に
ついて詳細な情報を持ち合わせていない場合には、追加センスコードには 0 が設定されなければ
ならない。
ADDITIONAL SENSE CODE QUALIFIER(ASCQ)フィールドは追加センスコードに関連する詳細な情報
を提供する。エラーや例外状態がデバイスサーバにより報告される場合、4.5.6 で規定された値が
返されなければならない。デバイスサーバがエラーや例外状態について詳細な情報を持ち合わせ
ていない場合は、追加センスコード修飾子には 0 が設定されなければならない。
ADDITIONAL SENSE LENGTH フィールドは後続する追加センスのバイト数を指定する。追加センス
長は 244 バイト以下でなければならない(すなわち、センスデータの合計バイト数は 252 バイト
までとなる)。センスデータが REQUEST SENSE コマンドのパラメタとして返されている場合、
ADDITIONAL SENSE LENGTH フィールドと CDB の ALLOCATION LENGTH フィールドの関係については
4.3.4.6 で規定される。
センスデータ記述子(表 14 を参照)は固有のセンス情報を提供する。センスデータ記述子に正
しい情報が格納される場合にのみ、その種別のセンスデータ記述子がセンスデータに含まれてい
45
SCSI Primary Commands - 3 (SPC-3)
なければならない。
表14 センスデータ記述子のフォーマット
Bit
Byte
7
6
5
4
3
0
記述子種別( DESCRIPTOR TYPE )
1
追加長( ADDITIONAL LENGTH ) (n-1)
2
1
0
2
センスデータ記述子固有
n
DESCRIPTOR TYPE フィールドには、センスデータ記述子の種別を識別する種別コード(表 15 を
参照)が格納される。記述子フォーマットのセンスデータには、種別毎に 2 つ以上のセンスデー
タ記述子が含まれていてはならない。
表15 センスデータ記述子の種別
種別
説明
参照
00h
情報
4.5.2.2
01h
コマンド固有情報
4.5.2.3
02h
センスキー固有
5.4.2.4
03h
フィールド置換可能ユニット
4.5.2.5
04h
ストリームコマンド
SSC-3
05h
ブロックコマンド
SBC-2
06h
OSD オブジェクト識別
OSD
07h
OSD レスポンス一貫性チェックの値
OSD
08h
OSD 属性識別
OSD
09h
ATA リターン
SAT
0Ah-7Fh
予約済み
80h-FFh
ベンダ固有
4.5.2.6
ADDITIONAL LENGTH フィールドはセンスデータ記述子に後続する、センスデータ記述子固有のバ
イト数を指定する。
46
SCSI Primary Commands - 3 (SPC-3)
4.5.2.2
情報センスデータ記述子
情報センスデータ記述子(表 16 を参照)は、デバイス種別またはコマンド固有であり、コマン
ド標準(3.1.18 を参照)で規定される情報を提供する。
表16 情報センスデータ記述子のフォーマット
Bit
7
Byte
6
5
4
3
2
0
記述子種別( DESCRIPTOR TYPE )( 00h )
1
追加長( ADDITIONAL LENGTH ) (0Ah)
2
1
0
予約済み
VALID ( 1b )
3
予約済み
4
情報( INFORMATION )
11
DESCRIPTOR TYPE と ADDITIONAL LENGTH フィールドについては 4.5.2.1 で規定される。情報セン
スデータ記述子においては、DESCRIPTOR TYPE フィールドには 00h、ADDITIONAL LENGTH フィール
ドは 0Ah が設定されなければならない。
VALID ビットには 1 が設定されなければならない。
注意 2:本標準の以前のバージョンと固定フォーマットのセンスデータでは、VALID ビットは
INFORMATION フィールドの内容がコマンド標準の規定に準拠しているか否かを表す。情報センス
データ記述子がセンスデータに含まれる場合には常に INFORMATION フィールドの内容は正当であ
ることから、VALID ビットとして正しい値は 1 のみとなる。
INFORMATION フィールドの内容はデバイス種別とコマンドに固有であり、コマンド標準(3.1.18
を参照)で規定される。INFORMATION フィールドに 4 バイトのデータが 1 つだけ格納される場合に
は、最初の 4 バイトは 0 でなければならない。
4.5.2.3
コマンド固有情報センスデータ記述子
コマンド固有情報センスデータ記述子(表 17 を参照)は例外状態が発生したコマンドに依存す
る情報を提供する。
表17 コマンド固有情報センスデータ記述子のフォーマット
Bit
Byte
7
6
5
4
3
2
0
記述子種別( DESCRIPTOR TYPE )( 01h )
1
追加長( ADDITIONAL LENGTH ) (0Ah)
2
予約済み
3
予約済み
1
0
4
コマンド固有情報( COMMAND-SPECIFIC INFORMATION )
11
DESCRIPTOR TYPE と ADDITIONAL LENGTH フィールドは 4.5.2.1 で規定される。コマンド固有情報
センスデータ記述子においては、DESCRIPTOR TYPE フィールドには 01h が、ADDITIONAL LENGTH
フィールドには 0Ah が格納されなければならない。
COMMAND-SPECIFIC INFORMATION フィールドは例外状態が発生したコマンドに依存する情報が格
納される。COMMAND-SPECIFIC INFORMATION フィールドに 4 バイトのデータが 1 つだけ格納される
47
SCSI Primary Commands - 3 (SPC-3)
場合は、最初の 4 バイトには 0 が格納されなければならない。
COMMAND-SPECIFIC INFORMATION フィールドの詳細な意味については、対応するコマンド標準に
おけるコマンドの説明の中で定義される(例えば、REASSIGN BLOCKS コマンドでは SBC-2 を参照し、
EXTENDED COPY コマンドでは 6.3 を参照する)。
4.5.2.4 センスキー固有センスデータ記述子
4.5.2.4.1 センスキー固有センスデータ記述子の序論
センスキー固有センスデータ記述子(表 18 を参照)は例外状態についての追加の情報を提供す
る。センスキー固有データのフォーマットと内容は SENSE KEY フィールド(4.5.2.1 を参照)の値
に依存する。
表18 センスキー固有センスデータ記述子のフォーマット
Bit
Byte
7
6
5
4
3
2
0
記述子種別( DESCRIPTOR TYPE )( 02h )
1
追加長( ADDITIONAL LENGTH ) (06h)
2
予約済み
3
予約済み
4
5
1
0
SKSV(1b)
センスキー固有( SENSE KEY SPECIFIC)
6
7
予約済み
DESCRIPTOR TYPE と ADDITIONAL LENGTH フィールドは 4.5.2.1 で規定される。センスキー固有セ
ンスデータ記述子においては、DESCRIPTOR TYPE フィールドには 02hロ、ADDITIONAL LENGTH フィー
ルドには 06h が設定されなければならない。
センスキー固有準拠(sense-key specific valid:SKSV)ビットには 1 が設定されなければなら
ない。
注意 3:本標準の以前のバージョンと固定フォーマットのセンスデータでは、SKSV ビットは
SENSE KEY SPECIFIC フィールドがコマンド標準の規定に準拠しているか否かを示す。センスキー
固有センスデータ記述子がセンスデータ内に存在する場合には常に SENSE KEY SPECIFIC フィール
ドは正当であるため、SKSV ビットに設定される正しい値は 1 のみである。
SENSE KEY SPECIFIC フィールドの定義(表 19 を参照)は SENSE KEY フィールド(4.5.2.1 を参
照)の値により決定される。
訳注ロ 原文では 01h と記載されているが、明らかに 02h の誤記である。
48
SCSI Primary Commands - 3 (SPC-3)
表19 センスキー固有フィールドの定義
センスキー
センスキー固有フィールドの定義
参照
ILLEGAL REQUEST フィールドポインタ
4.5.2.4.2
HARDWARE ERROR 実リトライ回数
MEDIUM ERROR
RECOVERED ERROR
4.5.2.4.3
NO SENSE
NOT READY
進捗表示
4.5.2.4.4
COPY ABORTED
セグメントポインタ
4.5.2.4.5
その他全てのセ
ンスキー
センスキー固有センスデータ記述子は記述子フォーマットのセ
ンスデータに表れてはならず、固定フォーマットのセンスデー
タ内の SKSV ビット(4.5.3 を参照)は 0 に設定されなければな
らない。
4.5.2.4.2
フィールドポインタセンスキー固有データ
センスキーが ILLEGAL REQUEST の場合、SENSE KEY SPECIFIC フィールドは表 20 で示される通り
でなければならない。
表20 フィールドポインタセンスキー固有データ
Bit
7
6
0
SKSV(1b)
C/D
1
(MSB)
Byte
2
5
4
予約済み
3
BPV
2
1
0
ビットポインタ( BIT POINTER )
フィールドポインタ( FIELD POINTER )
(LSB)
SKSV ビットについては、記述子フォーマットセンスデータの場合は 4.5.2.4.1 で、固定フォー
マットセンスデータの場合は 4.5.3 で規定される。
コマンドデータ(command data:C/D)ビットが 1 に設定された場合は、CDB 内に不正なパラメタ
が存在することを示す。C/D ビットが 0 に設定された場合は、アプリケーションクライアントによ
り Data-Out バッファで送信されたデータパラメタ内に不正なパラメタが存在することを示す。
ビットポインタ準拠(bit pointer valid:PBV)ビットが 0 に設定された場合は、BIT POINTER
フィールドの内容が不正であることを示す。BPV ビットが 1 に設定された場合は、FIELD POINTER
フィールドにより示されるバイト内のどのビットにエラーが存在するのかを BIT POINTER フィー
ルドが示すことを表す。複数のビットフィールドにエラーが存在する場合、BIT POINTER フィール
ドは当該フィールド内の最初のビット(すなわち、最も左に存在するビット)を指し示めさなけ
ればならない。
FIELD POINTER フィールドは CDB もしくはパラメタデータ内のどのバイトにエラーが存在するの
かを表す。バイトは、コマンドとパラメタを説明する表と同様に 0 から番号が振られる。複数バ
イトのフィールドにエラーが存在する場合は、ポインタはフィールド内の最初のバイト(すなわ
ち、最も左のバイト)を指し示さなければならない。複数の連続したバイトが予約済みであった
場合は、それぞれは単一バイトのフィールドとして取り扱われなければならない。
注意 4:エラーとして識別されるバイトは、必ずしもエラーを訂正するために変更される必要の
あるバイトであるとは限らない。
49
SCSI Primary Commands - 3 (SPC-3)
4.5.2.4.3
実リトライ回数センスキー固有データ
センスキーが HARDWARE ERROR、MEDIUM ERROR、RECOVERED ERROR である場合、SENSE KEY
SPECIFIC フィールドは表 21 の規定通りでなければならない。
表21 実リトライ回数センスキー固有データ
Bit
Byte
7
6
0
SKSV(1b)
1
(MSB)
5
4
3
2
1
0
予約済み
実リトライ回数( ACTUAL RETRY COUNT )
2
(LSB)
SKSV ビットについては、記述子フォーマットセンスデータの場合は 4.5.2.4.1 で、固定フォー
マットセンスデータの場合は 4.5.3 で規定される。
ACTUAL RETRY COUNT フィールドは、エラーや例外状態の回復を試みるために使用される、リカ
バリアルゴリズムのリトライ回数についてのベンダ固有の情報を返す。
注意 5:このフィールドは読み込み/書き込みエラーリカバリモードページ内のリトライカウン
トフィールドと同じ方法で計算されるべきである。
4.5.2.4.4
進捗表示センスキー固有データ
センスキーが NO SENSE ないし NOT READY だった場合は、SENSE KEY SPECIFIC フィールドは表 22
で示される通りでなければならない。
表22 進捗表示センスキー固有データ
Bit
Byte
7
0
SKSV(1b)
1
(MSB)
6
5
4
3
2
1
0
予約済み
進捗表示( PROGRESS INDICATION )
2
(LSB)
SKSV ビットについては、記述子フォーマットセンスデータの場合は 4.5.2.4.1 で、固定フォー
マットセンスデータの場合は 4.5.3 で規定される。
PROGRESS INDICATION フィールドは、返される値を分子、65 536(10000h)を分母として、完了
した割合を表す。進捗表示は全ての操作を基準としなければならない。
注意 6:進捗表示は時間に比例するべきであるが、絶対的な要件ではない(例えば、障害が発生
した個数により表される時間は異なる、など。デバイスサーバにとって簡便な方法は、処理中の
様々なステップに値を割り当てることである。分離されたそれぞれのステップは、アプリケー
ションクライアントに対して作業が進捗していることを容易に確認させられる程度に細かくする
べきである)。
50
SCSI Primary Commands - 3 (SPC-3)
4.5.2.4.5
セグメントポインタセンスキー固有データ
センスキーが COPY ABORTED の場合、SENSE KEY SPECIFIC フィールドは表 23 に示す通りでなけ
ればならない。
表23 セグメントポインタセンスキー固有データ
Bit
7
6
5
4
3
0
SKSV(1b)
予約済み
SD
予約済み
BPV
1
(MSB)
Byte
2
1
0
ビットポインタ( BIT POINTER )
フィールドポインタ( FIELD POINTER )
2
(LSB)
SKSV ビットについては、記述子フォーマットセンスデータの場合は 4.5.2.4.1 で、固定フォー
マットセンスデータの場合は 4.5.3 で規定される。
セグメント記述子(segment descriptor:SD)ビットは、フィールドポインタがパラメタリスト
の開始位置からの相対アドレスであるか、セグメント記述子の開始位置からの相対アドレスであ
るかを示す。SD ビットが 0 に設定された場合は、フィールドポインタはパラメタリストの開始位
置からの相対アドレスとなる。SD ビットが 1 に設定された場合は、フィールドポインタは
COMMAND-SPECIFIC INFORMATION フィールド(6.3.3 を参照)の 3 番目と 4 番目のバイトにより示さ
れるセグメント記述子の開始位置からの相対アドレスとなる。
ビットポインタ準拠(bit pointer valid:BPV)ビットが 0 に設定された場合は、BIT POINTER
フィールドの値が無効であることを示す。BPV ビットが 1 に設定された場合は、BIT POINTER
フィールドは FIELD POINTER フィールドにより示されたバイトのどのビットにエラーが存在する
のかを示す。複数ビットのフィールドにエラーが存在する場合には、BIT POINTER フィールドは
フィールド内の最上位ビット(すなわち、最も左にある)を示さなければならない。
FIELD POINTER フィールドはパラメタリストないしセグメント記述子内のどのバイトにエラーが
存在するのかを示す。
パラメタリストの長さが 65 528 バイトを超えており、SD ビットが 0 の場合、FIELD POINTER の
値はセンスキー固有センスデータ記述子により提供される 2 バイトに格納することができない可
能性がある。
4.5.2.5
フィールド置換可能ユニットセンスデータ記述子
フィールド置換可能ユニットセンスデータ記述子(表 24 を参照)は失敗の発生したコンポーネ
ントについての情報を提供する。
表24 フィールド置換可能ユニットセンスデータ記述子のフォーマット
Bit
Byte
7
6
5
4
3
2
1
0
記述子種別( DESCRIPTOR TYPE )( 03h )
1
追加長( ADDITIONAL LENGTH ) (02h)
2
予約済み
3
フィールド置換可能ユニットコード( FIELD REPLACEABLE UNIT CODE )
0
DESCRIPTOR TYPE と ADDITIONAL LENGTH フィールドについては 4.5.2.1 で規定される。フィール
ド置換可能ユニットセンスデータ記述子においては、DESCRIPTOR TYPE フィールドは
03h、ADDITIONAL LENGTH フィールドは 02h が設定されなければならない。
0 でない値を持つ FIELD REPLACEABLE UNIT CODE フィールドは失敗したコンポーネントを識別す
51
SCSI Primary Commands - 3 (SPC-3)
るために使用される。このフィールドに 0 が設定された場合は、失敗に関係する特定のコンポー
ネントが識別されないか、データが利用可能でないことを示す。この情報のフォーマットは本標
準では規定されない。デバイスでサポートされるのであれば、フィールド置換可能ユニットにつ
いての追加の情報が ASCII 情報 VPD ページ(7.6.2 を参照)により取得できる可能性がある。
4.5.2.6
ベンダ固有センスデータ記述子
ベンダ固有センスデータ記述子(表 25 を参照)は、例外状態の種類を詳細に規定するベンダ固
有の情報を提供する。
表25 ベンダ固有センスデータ記述子のフォーマット
Bit
Byte
7
6
5
4
3
2
0
記述子種別( DESCRIPTOR TYPE )( 80h ~ FFh )
1
追加長( ADDITIONAL LENGTH ) (n-1)
1
0
2
ベンダ固有
3
DESCRIPTOR TYPE と ADDITIONAL LENGTH フィールドについては 4.5.2.1 で規定される。ベンダ固
有センスデータ記述子においては、DESCRIPTOR TYPE フィールドは 80h から FFh の値に設定されな
ければならない。
52
SCSI Primary Commands - 3 (SPC-3)
4.5.3
固定フォーマットセンスデータ
レスポンスコード 70h(カレントエラー)と 71h(遅延エラー)における固定フォーマットセン
スデータは表 26 のように規定される。
表26 固定フォーマットセンスデータ
Bit
Byte
0
7
6
VALID
4
3
2
1
0
レスポンスコード( RESPONSE CODE )( 70h ~ 71h )
1
2
5
廃止済み
FILEMARK
EOM
ILI
予約済み
センスキー( SENSE KEY )
3
情報( INFORMATION )
6
7
追加センス長( ADDITIONAL SENSE LENGTH )( n-7 )
8
コマンド固有情報( COMMAND-SPECIFIC INFORMATION )
11
12
追加センスコード( ADDITIONAL SENSE CODE )
13
追加センスコード修飾子( ADDITIONAL SENSE CODE QUALIFIER )
14
フィールド置換可能ユニットコード( FIELD REPLACEABLE UNIT CODE )
15
SKSV
センスキー固有( SENSE KEY SPECIFIC )
17
18
n
追加センスバイト
VALID ビットが 0 に設定された場合、INFORMATION フィールドは本標準ないしその他任意のコマ
ンド標準(3.1.18 を参照)では規定されないことを示す。VALID ビットが 1 に設定された場合、
INFORMATION フィールドには本標準もしくはコマンド標準の規定に準拠する情報が格納されること
を示す。
RESPONSE CODE フィールドの内容はエラー種別とセンスデータのフォーマット(4.5.1 を参照)
を示す。固定フォーマットのセンスデータにおいては、RESPONSE CODE フィールドは 70h ないし
71h に設定されなければならない。
FILEMARK ビットの使用方法の例については SSC-2 の READ と SPACE コマンドを参照のこと。
メディア終端(end-of-medium:EOM)ビットの使用方法の例については SSC-2 の
READ、SPACE、WRITE コマンドを参照のこと。
不正長インジケータ(incorrect length indicator:ILI)ビットの使用方法の例については、
SBC-2 の READ LONG、SBC-2 の WRITE LONG、SSC-2 の READ コマンドを参照のこと。
SENSE KEY、ADDITIONAL SENSE CODE、ADDITIONAL SENSE CODE QUALIFIER フィールドについては
4.5.2.1 で規定される。
INFORMATION フィールドの内容は、デバイス種別ないしコマンドに固有であり、コマンド標準
(3.1.18 を参照)で規定される。
ADDITIONAL SENSE LENGTH フィールドは後続する追加センスのバイト数を指定する。追加センス
長は 244 以下でなければならない(すなわち、センスデータの合計バイト数は 252 バイト以下で
53
SCSI Primary Commands - 3 (SPC-3)
ある)。センスデータが REQUEST SENSE コマンドのパラメタデータとして返されている場合、
ADDITIONAL SENSE LENGTH フィールドと CDB の ALLOCATION LENGTH フィールドの関係については
4.3.4.6 で記述される。
COMMAND-SPECIFIC INFORMATION フィールドは例外状態が発生したコマンドに依存する情報を格
納する。
FIELD REPLACEABLE UNIT CODE フィールドについては 4.5.2.5 で記述される。
センスキー固有準拠(sense-key specific valid:SKSV)ビットが 1 に設定された場合、SENSE
KEY SPECIFIC フィールドには本標準の規定に準拠する情報が格納されることを示す。SKSV ビット
が 0 に設定された場合、SENSE KEY SPECIFIC フィールドが本標準の規定に準拠しない事を示す。
SENSE KEY SPECIFIC フィールドについては 4.5.2.4 で記述される。
追加センスバイトは例外状態の種別を詳細に規定するベンダ固有の情報が格納される可能性が
ある。
4.5.4
カレントエラー
レスポンスコードの 70h と 72h(カレントエラー)は、返却されるセンスデータが、タスクが
CHECK CONDITION ステータスを返して終了したか、プロトコル固有の失敗により生じたエラーない
し例外状態に基づくものであることを示す。これにはコマンド処理中に生成されたエラーも含ま
れる。これはまた、コマンドの処理中に検出された、いかなるコマンドにも関係しないエラーも
含まれる(例えば、ディスク制御装置の失敗、トラック外エラー、電源投入テストエラーなど)。
4.5.5
遅延エラー
レスポンスコード 71h と 73h(遅延エラー)は、返されるセンスデータが、GOOD、CONDITION
MET、INTERMEDIATE、INTERMEDIATE-CONDITION MET ステータスがすでに返されている以前のコマン
ドの処理中に発生した例外状態ないしエラーの結果により生じたものであることを示す。そのよ
うなコマンドは即時ビットの使用といくつかの形態のキャッシュ処理に関係している。これらの
特性を実装するデバイスサーバは遅延エラーの報告を実装しなければならない。
遅延エラーは、本節の記述に従い定義される I_T ネクサスを通じて、アプリケーションクライア
ントに対して CHECK CONDITION ステータスを返すことにより示される可能性がある。
タスクが CHECK CONDITION ステータスで終了し、センスデータが遅延エラーを報告した場合、終
了したタスクのコマンドは処理されてはならない。デバイスサーバは遅延エラーを検出した後に、
下記のルールに従い遅延エラーを返さなければならない。
a) 遅延エラーの回復のために外部からの介入が不要な場合、MODE SELECT コマンドのエラーの
取り扱いに関するパラメタで要求されれる場合を除き、遅延エラーの通知は返されてはな
らない。エラーの発生はログに記録される可能性がある。
b) 遅延エラーを、I_T ネクサスと特定の機能や特定のデータのサブセットに関連づけることが
でき、なおかつ、エラーが回復不能であるかモードパラメタにより報告されることが要求
される場合は、遅延エラーに関係する I_T ネクサスで受信したコマンドに対して、遅延エ
ラーが報告されなければならない。TST フィールドの値が 000b(7.4.6 を参照)であり、遅
延エラーに関係する特定の機能やデータのサブセットに対するアクセスを試みるアプリ
ケーションクライアントのリクエストを、遅延エラーに関係する I_T ネクサス以外の I_T ネ
クサスで受信した場合は、デバイスサーバは SAM-3 の要求に従い当該のコマンドに対して
BUSY ないし ACA ACTIVE ステータスを応答しなければならない。TST フィールドの値が 001b
であり、遅延エラーに関係する特定の機能やデータのサブセットに対するアクセスを試み
るアプリケーションクライアントのリクエストを、遅延エラーに関係する I_T ネクサス以
外の I_T ネクサスで受信した場合は、アクセスを試みるコマンドは遅延エラーによりブ
54
SCSI Primary Commands - 3 (SPC-3)
ロックされてはならず、かつ、遅延エラーが生じた原因はアクセスを試みる当該コマンド
に対して報告されるエラーを引き起こす可能性がある。
c) デバイスサーバが遅延エラーを I_T ネクサスやデータのサブセットに関係づけることがで
きない場合、デバイスサーバはそれぞれの I_T ネクサスで受信した 1 つのコマンドに対して
遅延エラーを報告しなければならない。1 つの I_T ネクサスに対して複数の遅延エラーが重
なった場合は、最後のエラーだけが返されなければならない。
d) デバイスサーバが遅延エラーを特定の論理ユニットに関係づけることができない場合、遅
延エラーは全論理ユニットで発行されなければならず、各論理ユニットに対し対応する I_T
ネクサスで受信した 1 つのコマンドに対して遅延エラーが報告されなければならない。
e) タスクが二度と有効タスク状態になることが無く、かつ、遅延エラーが発生した場合には、
タスクは CHECK CONDITION ステータスで終了され、遅延エラーの情報がセンスデータによ
り返されなければならない。タスクが有効タスク状態に遷移した後で遅延エラーが発生し、
かつ、タスクがエラーにより影響を受ける場合には、タスクは CHECK CONDITION ステータ
スで終了されなければならず、カレントエラーの情報がセンスデータとして返されなけれ
ばならない。この際、カレントエラーの情報が遅延エラーを定義するのに十分でない場合
は、カレントエラー情報が返された後で遅延エラーが返される可能性がある。タスクが有
効タスク状態に遷移した後で遅延エラーが発生し、かつ、タスクが正常終了した場合には、
デバイスサーバは現在のコマンドが終了した後に、処理が開始されていない後続のコマン
ドと同時に遅延エラーの情報を返すことを選択することが可能である。
注意 7:遅延エラーは GOOD ステータスが返された後、長時間経過してから操作が失敗したこと
を報告する可能性がある。アプリケーションクライアントは、バッファリングやキャッシュが用
いられる書き込み操作において、他の情報源からデータの複製や回復を行うことができない場合
には、重要なデータが失われる前に同期コマンドを実行するべきである。これは、データの格納
中に遅延エラーが生じた場合に必要となる動作である。同期処理は、CHECK CONDITION ステータス
を返し、キャッシュやバッファを用いる操作が全て完了した後で遅延エラーのセンス情報を後続
して返すことを可能とするための、必要となるコマンドを提供するべきである。
4.5.6
センスキーとセンスコードの定義
センスキーは表 27 で定義される。
表27 センスキーの定義
センスキー
説明
0h
NO SENSE:報告される対象となる特定のセンスキーの情報が存在しないこと
を示す。これはコマンドが成功した場合、もしくは、FILEMARK、EOM、ILI
ビットのいずれか 1 つが 1 に設定されたためにあるコマンドで CHECK
CONDITION ステータスが受信された時に発生する可能性がある。
1h
RECOVERED ERROR:コマンドが、デバイスサーバによる回復動作が行われるこ
とにより正常終了したことを示す。追加センスバイトと INFORMATION フィー
ルドを確認することにより、詳細な情報が取得できる可能性がある。1 つの
コマンドで複数個のエラーが回復されていた場合、どのエラーを報告するの
かについての選択(例えば、最初、最後、最も厳しい)はベンダ固有である。
2h
NOT READY:論理ユニットがアクセス可能ではないことを示す。この状態の回
復のためには、オペレータの介入が必要になる可能性がある。
3h
MEDIUM ERROR:メディアの欠陥や記録されたデータのエラーが原因で発生し
た可能性のある、回復不能なエラー状態によりコマンドが終了したことを示
す。このセンスキーはデバイスサーバがメディアの欠陥なのかデバイスの障
55
SCSI Primary Commands - 3 (SPC-3)
害(すなわち、センスキーの 4h)なのかを区別できない場合にも返される
可能性がある。
4h
HARDWARE ERROR:デバイスサーバがコマンドの実行中か自己診断の実行中に
回復不能なハードウェアの障害(例えば、コントローラ障害、デバイス障害、
パリティエラー)を検知したことを示す。
5h
ILLEGAL REQUEST:下記いずれかを示す。
a) コマンドが不正な論理ユニット番号に送られた(SAM-3 を参照)。
b) コマンドが不正なタスク属性を持っていた(SAM-3 を参照)。
c) コマンドが、コマンドの実行が禁止されるよう構成されている論理
ユニットに送られた。
d) CDB に不正なパラメタが存在した。
e) いくつかのコマンド(例えば、PERSISTENT RESERVE OUT)において
データとして提供される追加パラメタ内に不正なパラメタが存在し
た。
デバイスサーバが CDB 内に不正なパラメタを検知した場合、メディアを変更
することなくコマンドを終了しなければならない。デバイスサーバがデータ
として提供される追加パラメタ内に不正なパラメタが存在することを検知し
た場合、デバイスサーバはすでにメディアに対して変更を行っている可能性
がある。
6h
UNIT ATTENTION:ユニット警告状態が確立されたことを示す(例えば、リ
ムーバブルメディアが交換された、論理ユニットリセットが発生した)。
SAM-3 を参照。
7h
DATA PROTECT:保護されたブロックに対して、メディアへの読み込みや書き
込みを行うコマンドの実行が試みられた。読み込みや書き込みの操作は実行
されない。
8h
BLANK CHECK:ライトワンスデバイスないしシーケンシャルアクセスデバイス
において、読み込み処理中にブランクメディアやフォーマット定義のデータ
終端指示を検出した、あるいはライトワンスデバイスで書き込み処理中にブ
ランクでないメディアを検出したことを表す(6.3.3 を参照)。
9h
VENDOR SPECIFIC:このセンスキーはベンダ固有の状態を報告するために使用
可能である。
Ah
COPY ABORTED:EXTENDED COPY コマンドが、コピー元デバイスかコピー先デ
バイスか、あるいはその両方におけるエラー状態により異常終了したことを
表す。
Bh
ABORTED COMMAND:デバイスサーバがコマンドを中断したことを示す。アプリ
ケーションクライアントはコマンドを再実行することにより回復できる可能
性がある。
Ch
廃止済み
Dh
VOLUME OVERFLOW:バッファリングを行う SCSI デバイスにおいて、パーティ
ション終端に到達し、かつ、バッファにメディアへ書き込まれていないデー
タが残されている可能性があることを示す。バッファから書き込まれていな
いデータを読み込むために、1 つないし複数の RECOVER BUFFERED DATA コマ
ンドが発行される可能性がある(SSC-2 を参照)。
Eh
MISCOMPARE:ソースデータはメディアから読み込まれたデータと一致しな
かったことを示す。
Fh
予約済み
56
SCSI Primary Commands - 3 (SPC-3)
追加センスコード(すなわち、センスデータにより返される追加センスコードフィールドと追
加センスコード修飾子フィールドの値)は表 28 で定義される。
57
SCSI Primary Commands - 3 (SPC-3)
表28 ASC と ASCQ の割り当て
ASC ASCQ
20h 0Bh
20h 08h
20h 01h
20h 09h
20h 03h
20h 0Ah
20h 02h
4Bh 03h
67h 02h
13h 00h
12h 00h
67h 08h
27h 03h
2Ah 06h
47h 04h
67h
00h
00h
00h
00h
66h
66h
55h
11h
0Ch
00h
0Ch
14h
29h
11h
30h
30h
06h
11h
12h
14h
13h
00h
01h
06h
12h
0Bh
04h
06h
04h
03h
0Eh
06h
02h
D - DIRECT ACCESS BLOCK DEVICE(SBC-2)
T - SEQUENTIAL ACCESS DEVICE(SSC-2)
L - PRINTER DEVICE(SSC)
P - PROCESSOR DEVICE(SPC-2)
W - WRITE ONCE BLOCK DEVICE(SBC)
R - CD/DVD DEVICE(MMC-4)
O - OPTICAL MEMORY BLOCK DEVICE(SBC)
M - MEDIA CHANGER DEVICE(SMC-2)
A - STORAGE ARRAY DEVICE(SCC-2)
E - ENCLOSURE SERVICES DEVICE(SES)
B - SIMPLIFIED DIRECT-ACCESS DEVICE(RBC)
K - OPTICAL CARD READER/WRITER DEVICE(OCRW)
V - AUTOMATION/DRIVE INTERFACE(ADC)
F - OBJECT-BASED STORAGE(OSD)
D T L P W R O M A E B K V F
説明
D T
P W R O M A E B K
ACCESS DENIED - ACL LUN CONFLICT
D T
P W R O M A E B K
ACCESS DENIED - ENROLLMENT CONFLICT
D T
P W R O M A E B K
ACCESS DENIED - INITIATOR PENDING-ENROLLED
D T
P W R O M A E B K
ACCESS DENIED - INVALID LU IDENTIFIER
D T
P W R O M A E B K
ACCESS DENIED - INVALID MGMT ID KEY
D T
P W R O M A E B K
ACCESS DENIED - INVALID PROXY TOKEN
D T
P W R O M A E B K
ACCESS DENIED - NO ACCESS RIGHTS
D T
P W R O M A E B K
ACK/NAK TIMEOUT
A
ADD LOGICAL UNIT FAILED
D
W
O
B K
ADDRESS MARK NOT FOUND FOR DATA FIELD
D
W
O
B K
ADDRESS MARK NOT FOUND FOR ID FIELD
A
ASSIGN FAILURE OCCURRED
T
R
ASSOCIATED WRITE PROTECT
D T L P W R O M A E B K V F ASYMMETRIC ACCESS STATE CHANGED
D T L P W R O M A E B K V F ASYNCHRONOUS INFORMATION PROTECTION ERROR
DETECTED
A
ATTACHMENT OF LOGICAL UNIT FAILED
R
AUDIO PLAY OPERATION IN PROGRESS
R
AUDIO PLAY OPERATION PAUSED
R
AUDIO PLAY OPERATION STOPPED DUE TO ERROR
R
AUDIO PLAY OPERATION SUCCESSFULLY COMPLETED
AUTOMATIC DOCUMENT FEEDER COVER UP
AUTOMATIC DOCUMENT FEEDER LIFT UP
D T
W R O M
B
AUXILIARY MEMORY OUT OF SPACE
D T
W R O M
B
AUXILIARY MEMORY READ ERROR
D T
W R O M
B
AUXILIARY MEMORY WRITE ERROR
T
BEGINNING-OF-PARTITION/MEDIUM DETECTED
D T
W
O
B
BLOCK NOT COMPRESSIBLE
T
BLOCK SEQUENCE ERROR
D T L P W R O M A E B K V F BUS DEVICE RESET FUNCTION OCCURRED
D T
W R O
B
CANNOT DECOMPRESS USING DECLARED ALGORITHM
D T
W R O
B
CANNOT FORMAT MEDIUM - INCOMPATIBLE MEDIUM
D T
W R O
B K
CANNOT READ MEDIUM - INCOMPATIBLE FORMAT
58
SCSI Primary Commands - 3 (SPC-3)
30h
30h
30h
30h
2Ah
52h
73h
24h
3Fh
11h
30h
30h
30h
00h
4Ah
2Ch
6Eh
2Fh
3Fh
0Ch
27h
67h
67h
5Dh
01h
08h
05h
04h
09h
00h
00h
01h
02h
06h
03h
07h
0Ah
17h
00h
00h
00h
00h
04h
04h
06h
00h
01h
25h
D T
5Dh
5Dh
5Dh
27h D
28h D
22h D
B
B
B
5Dh
2Ch D
B
5Dh
21h D
B
5Dh
20h D
B
5Dh
23h D
B
5Dh
2Ah D
B
5Dh
5Dh
2Bh D
26h D
B
B
5Dh
29h D
B
5Dh
24h D
B
2Bh
6Fh
00h D T L P W R O
00h
R
6Fh
02h
R
6Fh
01h
R
D T
D T
D
T
W R O
R
W R O
W R O
B K
B K
B K
R
O M A E B K
O M
B K
O
B
K
O M A E B K
O M A E B K
O M A E B K
O M A E B K
O M A E B K
A
D T L P W R O M A E B K
D T L
W R O M A E B K
D T
W
O
B
R
A
A
D
B
D T L P W
D T L P W
W
D T
D T L
W
D T
W
D T L
W
D T L P W
D T L P W
R
R
R
R
R
R
R
R
R
K
V F
V F
V F
V F
V F
V F
CANNOT READ MEDIUM - UNKNOWN FORMAT
CANNOT WRITE - APPLICATION CODE MISMATCH
CANNOT WRITE MEDIUM - INCOMPATIBLE FORMAT
CANNOT WRITE MEDIUM - UNKNOWN FORMAT
CAPACITY DATA HAS CHANGED
CARTRIDGE FAULT
CD CONTROL ERROR
CDB DECRYPTION ERROR
CHANGED OPERATING DEFINITION
CIRC UNRECOVERED ERROR
CLEANING CARTRIDGE INSTALLED
CLEANING FAILURE
CLEANING REQUEST REJECTED
CLEANING REQUESTED
COMMAND PHASE ERROR
COMMAND SEQUENCE ERROR
COMMAND TO LOGICAL UNIT FAILED
COMMANDS CLEARED BY ANOTHER INITIATOR
COMPONENT DEVICE ATTACHED
COMPRESSION CHECK MISCOMPARE ERROR
CONDITIONAL WRITE PROTECT
CONFIGURATION FAILURE
CONFIGURATION OF INCAPABLE LOGICAL UNITS FAILED
CONTROLLER IMPENDING FAILURE ACCESS TIMES TOO
HIGH
CONTROLLER IMPENDING FAILURE CHANNEL PARAMETRICS
CONTROLLER IMPENDING FAILURE CONTROLLER DETECTED
CONTROLLER IMPENDING FAILURE DATA ERROR RATE TOO
HIGH
CONTROLLER IMPENDING FAILURE DRIVE CALIBRATION
RETRY COUNT
CONTROLLER IMPENDING FAILURE DRIVE ERROR RATE
TOO HIGH
CONTROLLER IMPENDING FAILURE GENERAL HARD DRIVE
FAILURE
CONTROLLER IMPENDING FAILURE SEEK ERROR RATE TOO
HIGH
CONTROLLER IMPENDING FAILURE SEEK TIME
PERFORMANCE
CONTROLLER IMPENDING FAILURE SPIN-UP RETRY COUNT
CONTROLLER IMPENDING FAILURE START UNIT TIMES
TOO HIGH
CONTROLLER IMPENDING FAILURE THROUGHPUT
PERFORMANCE
CONTROLLER IMPENDING FAILURE TOO MANY BLOCK
REASSIGNS
COPY CANNOT EXECUTE SINCE HOST CANNOT DISCONNECT
COPY PROTECTION KEY EXCHANGE FAILURE AUTHENTICATION FAILURE
COPY PROTECTION KEY EXCHANGE FAILURE - KEY NOT
ESTABLISHED
COPY PROTECTION KEY EXCHANGE FAILURE - KEY NOT
59
SCSI Primary Commands - 3 (SPC-3)
26h
0Dh
0Dh
0Dh
67h
2Ch
2Ch
30h
10h
10h
10h
5Dh
0Dh
05h
04h
02h
07h
04h
03h
09h
02h
01h
03h
35h
D
D
D
D
5Dh
37h D
5Dh
38h D
5Dh
32h D
5Dh
3Ch D
5Dh
31h D
5Dh
30h D
5Dh
33h D
5Dh
3Ah D
5Dh
3Bh D
5Dh
36h D
5Dh
39h D
5Dh
34h D
26h
0Ch
69h
4Bh
41h
47h
4Bh
11h
16h
16h
16h
16h
16h
11h
05h
05h
00h
05h
00h
01h
00h
07h
03h
01h
04h
02h
00h
0Dh
T
T
T
T
D T
D T
D T
D
L
L
L
L
P
P
P
P
W
W
W
W
W
W
W
D L T P W
D T
W
D T
P W
D
D T L P W
D T L P W
W
D
W
D
W
D
W
D
W
D
W
D T
W
PRESENT
R O
K
COPY SEGMENT GRANULARITY VIOLATION
R O
A
K
COPY TARGET DEVICE DATA OVERRUN
R O
A
K
COPY TARGET DEVICE DATA UNDERRUN
R O
A
K
COPY TARGET DEVICE NOT REACHABLE
A
CREATION OF LOGICAL UNIT FAILED
R
CURRENT PROGRAM AREA IS EMPTY
R
CURRENT PROGRAM AREA IS NOT EMPTY
R
CURRENT SESSION NOT FIXATED FOR APPEND
O
DATA BLOCK APPLICATION TAG CHECK FAILED
O
DATA BLOCK GUARD CHECK FAILED
O
DATA BLOCK REFERENCE TAG CHECK FAILED
B
DATA CHANNEL IMPENDING FAILURE ACCESS TIMES TOO
HIGH
B
DATA CHANNEL IMPENDING FAILURE CHANNEL
PARAMETRICS
B
DATA CHANNEL IMPENDING FAILURE CONTROLLER
DETECTED
B
DATA CHANNEL IMPENDING FAILURE DATA ERROR RATE
TOO HIGH
B
DATA CHANNEL IMPENDING FAILURE DRIVE CALIBRATION
RETRY COUNT
B
DATA CHANNEL IMPENDING FAILURE DRIVE ERROR RATE
TOO HIGH
B
DATA CHANNEL IMPENDING FAILURE GENERAL HARD
DRIVE FAILURE
B
DATA CHANNEL IMPENDING FAILURE SEEK ERROR RATE
TOO HIGH
B
DATA CHANNEL IMPENDING FAILURE SEEK TIME
PERFORMANCE
B
DATA CHANNEL IMPENDING FAILURE SPIN-UP RETRY
COUNT
B
DATA CHANNEL IMPENDING FAILURE START UNIT TIMES
TOO HIGH
B
DATA CHANNEL IMPENDING FAILURE THROUGHPUT
PERFORMANCE
B
DATA CHANNEL IMPENDING FAILURE TOO MANY BLOCK
REASSIGNS
R O M A
B K
DATA DECRYPTION ERROR
O
B
DATA EXPANSION OCCURRED DURING COMPRESSION
A
DATA LOSS ON LOGICAL UNIT
R O M A E B K
DATA OFFSET ERROR
DATA PATH FAILURE (SHOULD USE 40 NN)
R O M A E B K V F DATA PHASE CRC ERROR DETECTED
R O M A E B K V F DATA PHASE ERROR
O
B
DATA RE-SYNCHRONIZATION ERROR
O
B K
DATA SYNC ERROR - DATA AUTO-REALLOCATED
O
B K
DATA SYNC ERROR - DATA REWRITTEN
O
B K
DATA SYNC ERROR - RECOMMEND REASSIGNMENT
O
B K
DATA SYNC ERROR - RECOMMEND REWRITE
O
B K
DATA SYNCHRONIZATION MARK ERROR
R O
B
DE-COMPRESSION CRC ERROR
60
SCSI Primary Commands - 3 (SPC-3)
71h
70h
19h
19h
19h
19h
1Ch
32h
3Fh
29h
40h
66h
66h
6Fh
00h
NNh
00h
03h
02h
01h
00h
01h
05h
04h
NNh
02h
03h
05h
T
T
3Fh
72h
34h
35h
35h
35h
35h
35h
3Bh
63h
00h
14h
00h
51h
51h
0Fh
04h
00h
05h
00h
03h
04h
02h
0Fh
00h
05h
03h
02h
00h
01h
00h
0Dh
18h
T
00h D T L P W R O
0Ah
11h
11h
11h
38h
38h
38h
38h
03h
67h
3Bh
3Bh
5Dh
5Dh
00h
14h
5Dh
5Dh
00h
10h
0Fh
02h
06h
04h
02h
00h
02h
04h
07h
06h
00h
FFh
01h
02h
65h
67h
D
D
D
D
D
D
D T
D T L P
D T L P
O
O
O
O
O
W
O
W R O M A E
W R O M A E
W R O M A E
B
B
B
B
B
K
K
K
K
K
K
K
K V F
K V F
R
D T L P W R
R
D T L P W R
D T L
W R
D T L P W R
D T L P W R
D T L P W R
D T L P W R
R
R
T L
T
T
T
R
R
O M A E B K V F
O
O
O
O
O
O
M
M
M
M
M
M
A
A
A
A
A
A
E
E
E
E
E
E
B
B
B
B
B
B
K
K
K
K
K
K
V
V
V
V
V
V
F
F
F
F
F
F
O
A
D T L P W R O M A E B
R
R
D T
W R O
B
B
B
B
B
T
A
L
L
D T L P W R O M A E B
D T L P W R O M A E B
T
T
D
B
D
B
K
K V F
K
K V F
K V F
DECOMPRESSION EXCEPTION LONG ALGORITHM ID
DECOMPRESSION EXCEPTION SHORT ALGORITHM ID OF NN
DEFECT LIST ERROR
DEFECT LIST ERROR IN GROWN LIST
DEFECT LIST ERROR IN PRIMARY LIST
DEFECT LIST NOT AVAILABLE
DEFECT LIST NOT FOUND
DEFECT LIST UPDATE FAILURE
DEVICE IDENTIFIER CHANGED
DEVICE INTERNAL RESET
DIAGNOSTIC FAILURE ON COMPONENT NN (80H-FFH)
DOCUMENT JAM IN AUTOMATIC DOCUMENT FEEDER
DOCUMENT MISS FEED AUTOMATIC IN DOCUMENT FEEDER
DRIVE REGION MUST BE PERMANENT/REGION RESET
COUNT ERROR
ECHO BUFFER OVERWRITTEN
EMPTY OR PARTIALLY WRITTEN RESERVED TRACK
ENCLOSURE FAILURE
ENCLOSURE SERVICES CHECKSUM ERROR
ENCLOSURE SERVICES FAILURE
ENCLOSURE SERVICES TRANSFER FAILURE
ENCLOSURE SERVICES TRANSFER REFUSED
ENCLOSURE SERVICES UNAVAILABLE
END OF MEDIUM REACHED
END OF USER AREA ENCOUNTERED ON THIS TRACK
END-OF-DATA DETECTED
END-OF-DATA NOT FOUND
END-OF-PARTITION/MEDIUM DETECTED
ERASE FAILURE
ERASE FAILURE - INCOMPLETE ERASE OPERATION
DETECTED
ERASE OPERATION IN PROGRESS
ERROR DETECTED BY THIRD PARTY TEMPORARY
INITIATOR
ERROR LOG OVERFLOW
ERROR READING ISRC NUMBER
ERROR READING UPC/EAN NUMBER
ERROR TOO LONG TO CORRECT
ESN - DEVICE BUSY CLASS EVENT
ESN - MEDIA CLASS EVENT
ESN - POWER MANAGEMENT CLASS EVENT
EVENT STATUS NOTIFICATION
EXCESSIVE WRITE ERRORS
EXCHANGE OF LOGICAL UNIT FAILD
FAILED TO SENSE BOTTOM-OF-FORM
FAILED TO SENSE TOP-OF-FORM
FAILURE PREDICTION THRESHOLD EXCEEDED
FAILURE PREDICTION THRESHOLD EXCEEDED (FALSE)
FILEMARK DETECTED
FILEMARK OR SETMARK NOT FOUND
FIRMWARE IMPENDING FAILURE ACCESS TIMES TOO HIGH
FIRMWARE IMPENDING FAILURE CHANNEL PARAMETRICS
61
SCSI Primary Commands - 3 (SPC-3)
5Dh
5Dh
68h D
62h D
B
B
5Dh
6Ch D
B
5Dh
61h D
B
5Dh
60h D
B
5Dh
63h D
B
5Dh
5Dh
5Dh
6Ah D
6Bh D
66h D
B
B
B
5Dh
69h D
B
5Dh
64h D
B
09h
31h
58h
1Ch
5Dh
5Dh
5Dh
5Dh
02h
01h
00h
02h
15h
17h
18h
12h
5Dh
1Ch D
B
5Dh
11h D
B
5Dh
10h D
B
5Dh
13h D
B
5Dh
5Dh
5Dh
1Ah D
1Bh D
16h D
B
B
B
5Dh
19h D
B
5Dh
14h D
B
27h
09h
00h
10h
5Eh
5Eh
20h
01h
04h
06h
00h
03h
01h
06h
D
D
D
D
D
D
D
D
D
D
D
D
W R O
L
R O
O
O
B
B
B
B
B
B
T
W R O
B
T
W R O
B
T L P W R O M A E B
W
O
B
T L P W R O
A
T L P W R O
A
T
FIRMWARE IMPENDING FAILURE CONTROLLER DETECTED
FIRMWARE IMPENDING FAILURE DATA ERROR RATE TOO
HIGH
FIRMWARE IMPENDING FAILURE DRIVE CALIBRATION
RETRY COUNT
FIRMWARE IMPENDING FAILURE DRIVE ERROR RATE TOO
HIGH
FIRMWARE IMPENDING FAILURE GENERAL HARD DRIVE
FAILURE
FIRMWARE IMPENDING FAILURE SEEK ERROR RATE TOO
HIGH
FIRMWARE IMPENDING FAILURE SEEK TIME PERFORMANCE
FIRMWARE IMPENDING FAILURE SPIN-UP RETRY COUNT
FIRMWARE IMPENDING FAILURE START UNIT TIMES TOO
HIGH
FIRMWARE IMPENDING FAILURE THROUGHPUT
PERFORMANCE
FIRMWARE IMPENDING FAILURE TOO MANY BLOCK
REASSIGNS
K
FOCUS SERVO FAILURE
FORMAT COMMAND FAILED
GENERATION DOES NOT EXIST
K
GROWN DEFECT LIST NOT FOUND
HARDWARE IMPENDING FAILURE ACCESS TIMES TOO HIGH
HARDWARE IMPENDING FAILURE CHANNEL PARAMETRICS
HARDWARE IMPENDING FAILURE CONTROLLER DETECTED
HARDWARE IMPENDING FAILURE DATA ERROR RATE TOO
HIGH
HARDWARE IMPENDING FAILURE DRIVE CALIBRATION
RETRY COUNT
HARDWARE IMPENDING FAILURE DRIVE ERROR RATE TOO
HIGH
HARDWARE IMPENDING FAILURE GENERAL HARD DRIVE
FAILURE
HARDWARE IMPENDING FAILURE SEEK ERROR RATE TOO
HIGH
HARDWARE IMPENDING FAILURE SEEK TIME PERFORMANCE
HARDWARE IMPENDING FAILURE SPIN-UP RETRY COUNT
HARDWARE IMPENDING FAILURE START UNIT TIMES TOO
HIGH
HARDWARE IMPENDING FAILURE THROUGHPUT
PERFORMANCE
HARDWARE IMPENDING FAILURE TOO MANY BLOCK
REASSIGNS
K
HARDWARE WRITE PROTECTED
HEAD SELECT FAULT
K V F I/O PROCESS TERMINATED
K
ID CRC OR ECC ERROR
K
IDLE CONDITION ACTIVATED BY COMMAND
K
IDLE CONDITION ACTIVATED BY TIMER
ILLEGAL COMMAND WHILE IN EXPLICIT ADDRESS MODE
62
SCSI Primary Commands - 3 (SPC-3)
20h
20h
22h
64h
2Ch
2Ah
07h
T
04h
T
00h D
00h
R
05h
B
07h D T L P W R O M A E B K V F
28h
30h
11h
0Dh
0Eh
0Eh
47h
6Ah
48h
4Bh
26h
3Fh
55h
55h
55h
55h
2Eh
44h
21h
3Dh
2Ch
20h
26h
21h
24h
0Eh
26h
0Eh
49h
26h
64h
26h
26h
4Bh
29h
11h
60h
14h
00h
5Bh
5Bh
5Bh
2Ah
21h
01h
00h
08h
03h
02h
01h
03h
00h
00h
06h
0Bh
03h
05h
04h
02h
03h
00h
00h
02h
00h
02h
00h
0Fh
01h
00h
03h
00h
00h
00h
0Ch
01h
0Eh
04h
01h
07h
05h
00h
07h
19h
02h
00h
03h
02h
00h
D T
W R
D T
W R
T
D T L P W R
D T
P W R
D T
P W R
D T L P W R
D
D
D
D
D
D
D
D
T
T
T
T
T
T
T
T
L P
P
L P
L P
P
L P
L P
L P
W
W
W
W
W
W
W
W
O M
O M
B
B K
O
A
O M A E
O M A E
O M A E
A
O M A E
O M A E
O
O M A E
O M A E
O M A E
O M A E
O M A E
K
B K
F
B K
F
B K V F
R
R
R
R
R
R
R
R
R
D T L P W R O M A E
R
D T L P W R O M A E
B K V F
B K
M
B K V F
B K
K
K
K
B K V F
K
D T L P W R O M A E B K V F
F
D T
W R O M
B K
D T L P W R O M A E B K V F
D T
P
R
M A E B K
F
D T L P W R O M A E B K V F
D T
P W R O M A E B K
F
D T L P W R O M A E B K V F
D T L P W R O
K
R
D T
P W R O M A E B K
D T L P W R O M A E B K V F
D T
P W R O M A E B K
D T L P W R O M A E B K V F
W R O
B
D
D
D
D
D
T
T
T
T
T
T
T
L P W R O M
L P W R O M
L P W R O M
L
W R O M A E
L
W R O M
B
K
K
K
K
K
ILLEGAL COMMAND WHILE IN IMPLICIT ADDRESS MODE
ILLEGAL COMMAND WHILE IN WRITE CAPABLE STATE
ILLEGAL FUNCTION (USE 20 00, 24 00, OR 26 00)
ILLEGAL MODE FOR THIS TRACK
ILLEGAL POWER CONDITION REQUEST
IMPLICIT ASYMMETRIC ACCESS STATE TRANSITION
FAILED
IMPORT OR EXPORT ELEMENT ACCESSED
INCOMPATIBLE MEDIUM INSTALLED
INCOMPLETE BLOCK READ
INCORRECT COPY TARGET DEVICE TYPE
INFORMATION UNIT TOO LONG
INFORMATION UNIT TOO SHORT
INFORMATION UNIT iuCRC ERROR DETECTED
INFORMATIONAL, REFER TO LOG
INITIATOR DETECTED ERROR MESSAGE RECEIVED
INITIATOR RESPONSE TIMEOUT
INLINE DATA LENGTH EXCEEDED
INQUIRY DATA HAS CHANGED
INSUFFICIENT ACCESS CONTROL RESOURCES
INSUFFICIENT REGISTRATION RESOURCES
INSUFFICIENT RESERVATION RESOURCES
INSUFFICIENT RESOURCES
INSUFFICIENT TIME FOR OPERATION
INTERNAL TARGET FAILURE
INVALID ADDRESS FOR WRITE
INVALID BITS IN IDENTIFY MESSAGE
INVALID COMBINATION OF WINDOWS SPECIFIED
INVALID COMMAND OPERATION CODE
INVALID DATA-OUT BUFFER INTEGRITY CHECK VALUE
INVALID ELEMENT ADDRESS
INVALID FIELD IN CDB
INVALID FIELD IN COMMAND INFORMATION UNIT
INVALID FIELD IN PARAMETER LIST
INVALID INFORMATION UNIT
INVALID MESSAGE ERROR
INVALID OPERATION FOR COPY SOURCE OR DESTINATION
INVALID PACKET SIZE
INVALID PARAMETER WHILE PORT IS ENABLED
INVALID RELEASE OF PERSISTENT RESERVATION
INVALID TARGET PORT TRANSFER TAG RECEIVED
I_T NEXUS LOSS OCCURRED
L-EC UNCORRECTABLE ERROR
LAMP FAILURE
LOCATE OPERATION FAILURE
LOCATE OPERATION IN PROGRESS
LOG COUNTER AT MAXIMUM
LOG EXCEPTION
LOG LIST CODES EXHAUSTED
LOG PARAMETERS CHANGED
LOGICAL BLOCK ADDRESS OUT OF RANGE
63
SCSI Primary Commands - 3 (SPC-3)
08h
03h D T
08h
08h
08h
05h
4Ch
3Eh
3Eh
5Dh
00h
02h
01h
00h
00h
03h
01h
02h
3Eh
04h
04h
00h D T L P W R O M A E B K V F
01h D T L P W R O M A E B K V F
0Ah D T L P W R O M A E B K V F
04h
0Bh D T L P W R O M A E B K V F
04h
0Ch D T L P W R O M A E B K V F
68h
04h
00h
10h D T
04h
04h
04h
00h D T L P W R O M A E B K V F
04h D T L
R O
B
02h D T L P W R O M A E B K V F
04h
04h
08h
R
03h D T L P W R O M A E B K V F
04h
11h D T
04h
04h
04h
04h
12h
V
07h D T L P W R O M A E B K V F
05h D T
W
O M A
B K
06h D T
W
O M A
B K
04h
25h
27h
3Eh
5Eh
15h
3Bh
5Dh
53h
6Fh
09h
00h
02h
04h
00h
01h
16h
01h
00h
04h
D
D
D
D
D
D
3Fh
3Bh
31h
3Fh
3Bh
11h
0Dh
00h
10h
13h
D
D
D
D
D
D
D
D
D
D
D
D
T
T
T
T
T
T
T
T
T
T
T
T
T
R O M
L
W R
L
W R
L
W R
L
W R
L P W R
L P W R
L P W R
R
M
M
M
M
M
M
M
A
A
A
A
A
A
A
E
E
E
E
E
E
E
B
B
B
B
B
B
B
K
K
K
K
K
K
K
V
V
V
V
V
V
V
F
F
F
F
F
F
F
A
W R O M
B
P W R O M A E B
L P W
L P W
W
L P W
L P W
L
W
D T L
T
T
T
T
T
O
O
O
O
O
O
O
B K
R
R
R
R
R
R
R
R
W R
R
O
O
O
O
O
O
O M
B
B K
W
W
W
W
W
O
O
O
O
O
B
B K
B K
B
B K
R
R
R
R
R
V F
M A E B K V F
M A E B K V F
B K
M A E B K V F
A
K
M
B K
M
M
M
M
LOGICAL UNIT COMMUNICATION CRC ERROR (ULTRADMA/32)
LOGICAL UNIT COMMUNICATION FAILURE
LOGICAL UNIT COMMUNICATION PARITY ERROR
LOGICAL UNIT COMMUNICATION TIME-OUT
LOGICAL UNIT DOES NOT RESPOND TO SELECTION
LOGICAL UNIT FAILED SELF-CONFIGURATION
LOGICAL UNIT FAILED SELF-TEST
LOGICAL UNIT FAILURE
LOGICAL UNIT FAILURE PREDICTION THRESHOLD
EXCEEDED
LOGICAL UNIT HAS NOT SELF-CONFIGURED YET
LOGICAL UNIT IS IN PROCESS OF BECOMING READY
LOGICAL UNIT NOT ACCESSIBLE, ASYMMETRIC ACCESS
STATE TRANSITION
LOGICAL UNIT NOT ACCESSIBLE, TARGET PORT IN
STANDBY STATE
LOGICAL UNIT NOT ACCESSIBLE, TARGET PORT IN
UNAVAILABLE STATE
LOGICAL UNIT NOT CONFIGURED
LOGICAL UNIT NOT READY, AUXILIARY MEMORY NOT
ACCESSIBLE
LOGICAL UNIT NOT READY, CAUSE NOT REPORTABLE
LOGICAL UNIT NOT READY, FORMAT IN PROGRESS
LOGICAL UNIT NOT READY, INITIALIZING COMMAND
REQUIRED
LOGICAL UNIT NOT READY, LONG WRITE IN PROGRESS
LOGICAL UNIT NOT READY, MANUAL INTERVENTION
REQUIRED
LOGICAL UNIT NOT READY, NOTIFY (ENABLE SPINUP)
REQUIRED
LOGICAL UNIT NOT READY, OFFLINE
LOGICAL UNIT NOT READY, OPERATION IN PROGRESS
LOGICAL UNIT NOT READY, REBUILD IN PROGRESS
LOGICAL UNIT NOT READY, RECALCULATION IN
PROGRESS
LOGICAL UNIT NOT READY, SELF-TEST IN PROGRESS
LOGICAL UNIT NOT SUPPORTED
LOGICAL UNIT SOFTWARE WRITE PROTECTED
LOGICAL UNIT UNABLE TO UPDATE SELF-TEST LOG
LOW POWER CONDITION ON
MECHANICAL POSITIONING ERROR
MECHANICAL POSITIONING OR CHANGER ERROR
MEDIA FAILURE PREDICTION THRESHOLD EXCEEDED
MEDIA LOAD OR EJECT FAILED
MEDIA REGION CODE IS MISMATCHED TO LOGICAL UNIT
REGION
MEDIUM AUXILIARY MEMORY ACCESSIBLE
MEDIUM DESTINATION ELEMENT FULL
MEDIUM FORMAT CORRUPTED
MEDIUM LOADABLE
MEDIUM MAGAZINE INSERTED
64
SCSI Primary Commands - 3 (SPC-3)
3Bh
3Bh
3Bh
3Bh
30h
3Ah
3Ah
3Ah
14h
11h
12h
15h
10h
00h
03h
04h
D
D
D
D
3Ah
3Ah
53h
3Bh
43h
3Fh
1Dh
11h
2Ah
67h
69h
07h
11h
67h
4Bh
00h
00h
32h
11h
01h
72h
06h
02h
03h
24h
24h
28h
01h
02h
02h
0Eh
00h
01h
00h
0Ah
01h
03h
01h
00h
03h
09h
04h
00h
15h
00h
09h
00h
05h
00h
00h
01h
06h
07h
00h
D
D
D
D
D
D
D
D
D
2Ch
00h
5Ah
5Ah
5Ah
5Ah
61h
4Eh
2Dh
20h
24h
24h
63h
3Bh
0Bh
16h
01h
00h
03h
02h
02h
00h
00h
05h
02h
03h
01h
05h
T
T
T
T
R
R
R
R
R
W R
W R
W R
O
O
O
O
T
W R
T
W R
T
W R
T
W R
T L P W R
T L P W R
T
W R
T
T L
W R
O
O
O
O
O
O
O
O
O
D T L
D T
D T
D T L
D T
W
W
W
W
M
M
M
M
B
B
B
B
O M
O M
O M
W R O M
W
O
D T
P W R O
D T L P W R O
R
D
W
O
T
D
W
O
R
D
W R O
D
W R O
T
B K
B
B
M
M
M
M
M A E
M A E
M
M
M
K
K
K
K
B
B
B
B
B
B
B
B
A E B
A
A
B
B
A
A E B
A E B
K
K
K
K
K V F
K V F
K
K
K V F
K
K
K
K V F
B K
B K
M
M
B K
B K
F
F
D T L P W R O M A E B K V F
D
D
D
D
D
T
T L P W R
T
W R
T L P W R
T
W R
T
W R
O M A E B K V F
O M
B K
O M
B K
O
A
B K
O
A
B K
D T L P W R O M A E B K V F
T
T
T
T
R
L
MEDIUM MAGAZINE LOCKED
MEDIUM MAGAZINE NOT ACCESSIBLE
MEDIUM MAGAZINE REMOVED
MEDIUM MAGAZINE UNLOCKED
MEDIUM NOT FORMATTED
MEDIUM NOT PRESENT
MEDIUM NOT PRESENT - LOADABLE
MEDIUM NOT PRESENT - MEDIUM AUXILIARY MEMORY
ACCESSIBLE
MEDIUM NOT PRESENT - TRAY CLOSED
MEDIUM NOT PRESENT - TRAY OPEN
MEDIUM REMOVAL PREVENTED
MEDIUM SOURCE ELEMENT EMPTY
MESSAGE ERROR
MICROCODE HAS BEEN CHANGED
MISCOMPARE DURING VERIFY OPERATION
MISCORRECTED ERROR
MODE PARAMETERS CHANGED
MODIFICATION OF LOGICAL UNIT FAILED
MULTIPLE LOGICAL UNIT FAILURES
MULTIPLE PERIPHERAL DEVICES SELECTED
MULTIPLE READ ERRORS
MULTIPLY ASSIGNED LOGICAL UNIT
NAK RECEIVED
NO ADDITIONAL SENSE INFORMATION
NO CURRENT AUDIO STATUS TO RETURN
NO DEFECT SPARE LOCATION AVAILABLE
NO GAP FOUND
NO INDEX/SECTOR SIGNAL
NO MORE TRACK RESERVATIONS ALLOWED
NO REFERENCE POSITION FOUND
NO SEEK COMPLETE
NO WRITE CURRENT
NONCE NOT UNIQUE
NONCE TIMESTAMP OUT OF RANGE
NOT READY TO READY CHANGE, MEDIUM MAY HAVE
CHANGED
NOT RESERVED
OPERATION IN PROGRESS
OPERATOR MEDIUM REMOVAL REQUEST
OPERATOR REQUEST OR STATE CHANGE INPUT
OPERATOR SELECTED WRITE PERMIT
OPERATOR SELECTED WRITE PROTECT
OUT OF FOCUS
OVERLAPPED COMMANDS ATTEMPTED
OVERWRITE ERROR ON UPDATE IN PLACE
廃止済み
廃止済み
廃止済み
PACKET DOES NOT FIT IN AVAILABLE SPACE
PAPER JAM
65
SCSI Primary Commands - 3 (SPC-3)
1Ah
26h
26h
2Ah
69h
1Fh
2Ch
03h
27h
2Ch
27h
47h
50h
3Bh
3Bh
15h
73h
73h
73h
29h
29h
5Eh
5Eh
5Eh
5Eh
5Eh
42h
2Ch
2Ch
2Ch
1Ch
2Ah
73h
73h
47h
55h
40h
15h
11h
11h
6Fh
3Bh
3Bh
3Bh
11h
6Ch
6Dh
14h
14h
14h
14h
00h
01h
02h
00h
02h
00h
0Ah
00h
05h
06h
04h
06h
02h
0Ch
0Bh
02h
01h
03h
02h
01h
00h
41h
47h
42h
45h
43h
00h
07h
09h
08h
01h
08h
05h
04h
05h
07h
00h
00h
13h
11h
03h
0Ah
09h
17h
01h
00h
00h
01h
06h
05h
00h
D
D
D
D
T
T
T
T
L P W R O
L P W R O
L P W R O
L
W R O
D
M
M
M
M
A
A
A
A
A
E
E
E
E
B
B
B
B
K
K
K
K
O
K
O
B K
V
V
V
V
F
F
F
F
F
D T L
T
T
D T
T
T
W
R
R
R
M A E B K V F
D T
W R O
B
R
R
R
D T L P W R O M A E B
D T L P W R O M A E B
B
B
B
B
B
D
D T L P W R O M A E B
D T L P W R O M
E B
D T L P W R O M A E B
D
O
B
D T
W R O M A E B
R
R
D T L P W R O M A E B
K
K V F
K V F
K
K
K
K
K
K
V F
V F
V F
V F
K V F
F
D
D T L
W R O M
B K
D T L P W R O M A E B K V F
R
R
F
D T
W R O
B K
A
A
D
D
D
D
T
T
T
T L
W R O
W
O
W
O
W R O
B
B
B
B
K
K
K
K
PARAMETER LIST LENGTH ERROR
PARAMETER NOT SUPPORTED
PARAMETER VALUE INVALID
PARAMETERS CHANGED
PARITY/DATA MISMATCH
PARTIAL DEFECT LIST TRANSFER
PARTITION OR COLLECTION CONTAINS USER OBJECTS
PERIPHERAL DEVICE WRITE FAULT
PERMANENT WRITE PROTECT
PERSISTENT PREVENT CONFLICT
PERSISTENT WRITE PROTECT
PHY TEST FUNCTION IN PROGRESS
POSITION ERROR RELATED TO TIMING
POSITION PAST BEGINNING OF MEDIUM
POSITION PAST END OF MEDIUM
POSITIONING ERROR DETECTED BY READ OF MEDIUM
POWER CALIBRATION AREA ALMOST FULL
POWER CALIBRATION AREA ERROR
POWER CALIBRATION AREA IS FULL
POWER ON OCCURRED
POWER ON, RESET, OR BUS DEVICE RESET OCCURRED
POWER STATE CHANGE TO ACTIVE
POWER STATE CHANGE TO DEVICE CONTROL
POWER STATE CHANGE TO IDLE
POWER STATE CHANGE TO SLEEP
POWER STATE CHANGE TO STANDBY
POWER-ON OR SELF-TEST FAILURE (SHOULD USE 40 NN)
PREVIOUS BUSY STATUS
PREVIOUS RESERVATION CONFLICT STATUS
PREVIOUS TASK SET FULL STATUS
PRIMARY DEFECT LIST NOT FOUND
PRIORITY CHANGED
PROGRAM MEMORY AREA IS FULL
PROGRAM MEMORY AREA UPDATE FAILURE
PROTOCOL SERVICE CRC ERROR
QUOTA ERROR
RAM FAILURE (SHOULD USE 40 NN)
RANDOM POSITIONING ERROR
READ ERROR - FAILED RETRANSMISSION REQUEST
READ ERROR - LOSS OF STREAMING
READ OF SCRAMBLED SECTOR WITHOUT AUTHENTICATION
READ PAST BEGINNING OF MEDIUM
READ PAST END OF MEDIUM
READ PAST END OF USER OBJECT
READ RETRIES EXHAUSTED
REBUILD FAILURE OCCURRED
RECALCULATE FAILURE OCCURRED
RECORD NOT FOUND
RECORD NOT FOUND - DATA AUTO-REALLOCATED
RECORD NOT FOUND - RECOMMEND REASSIGNMENT
RECORDED ENTITY NOT FOUND
66
SCSI Primary Commands - 3 (SPC-3)
18h
18h
18h
17h
18h
18h
18h
02h
05h
06h
05h
03h
07h
01h
D
D
D
D
W
W
W
W
D
D
W
O
W R O
B K
B K
18h
18h
18h
17h
17h
17h
17h
17h
17h
00h
04h
08h
03h
00h
02h
01h
04h
06h
D T
W R
R
R
W R
W R
W R
W R
W R
W
O
B K
O
O
O
O
O
O
B
B
B
B
B
B
17h
17h
09h D
07h D
17h
1Eh
3Fh
3Fh
6Bh
6Bh
2Ah
67h
3Fh
3Bh
2Ah
2Ah
00h
36h
73h
37h
5Ch
39h
62h
29h
47h
47h
54h
24h
24h
45h
3Bh
5Dh
5Dh
5Dh
5Dh
08h
00h
06h
07h
01h
02h
05h
05h
0Eh
08h
03h
04h
1Ah
00h
06h
00h
00h
00h
00h
02h
00h
02h
00h
04h
05h
00h
00h
45h
47h
48h
42h
D
D
D
D
T
T
T
T
D
D
D
D T
D T
R
R
R
R
R
O
O
O
O
B
B
B
B
W R O
W R O
W R O
W
O
W R O M A
W R O M A
A
A
D T L P W R O M A
A
D T L P W R O M A
T
D T L P W R O M A
D T L P W R O M A
T
L
R
D T L
W R O M A
D
O
D T L
W R O M A
K
K
K
K
K
K
K
K
K
B K
B K
B K
B K
E B
E B
E
E
E
E
K
E B K V F
E
K
D T L P W R O M A E B K V F
D T L P W R O M A E B K V F
D T L P W R O M A E B K V F
P
F
F
D T L P W R O M A E B K V F
T L
D
B
D
B
D
B
D
B
RECOVERED DATA - DATA AUTO-REALLOCATED
RECOVERED DATA - RECOMMEND REASSIGNMENT
RECOVERED DATA - RECOMMEND REWRITE
RECOVERED DATA USING PREVIOUS SECTOR ID
RECOVERED DATA WITH CIRC
RECOVERED DATA WITH ECC - DATA REWRITTEN
RECOVERED DATA WITH ERROR CORR. & RETRIES
APPLIED
RECOVERED DATA WITH ERROR CORRECTION APPLIED
RECOVERED DATA WITH L-EC
RECOVERED DATA WITH LINKING
RECOVERED DATA WITH NEGATIVE HEAD OFFSET
RECOVERED DATA WITH NO ERROR CORRECTION APPLIED
RECOVERED DATA WITH POSITIVE HEAD OFFSET
RECOVERED DATA WITH RETRIES
RECOVERED DATA WITH RETRIES AND/OR CIRC APPLIED
RECOVERED DATA WITHOUT ECC - DATA AUTOREALLOCATED
RECOVERED DATA WITHOUT ECC - DATA REWRITTEN
RECOVERED DATA WITHOUT ECC - RECOMMEND
REASSIGNMENT
RECOVERED DATA WITHOUT ECC - RECOMMEND REWRITE
RECOVERED ID WITH ECC CORRECTION
REDUNDANCY GROUP CREATED OR MODIFIED
REDUNDANCY GROUP DELETED
REDUNDANCY LEVEL GOT BETTER
REDUNDANCY LEVEL GOT WORSE
REGISTRATIONS PREEMPTED
REMOVE OF LOGICAL UNIT FAILED
REPORTED LUNS DATA HAS CHANGED
REPOSITION ERROR
RESERVATIONS PREEMPTED
RESERVATIONS RELEASED
REWIND OPERATION IN PROGRESS
RIBBON, INK, OR TONER FAILURE
RMA/PMA IS ALMOST FULL
ROUNDED PARAMETER
RPL STATUS CHANGE
SAVING PARAMETERS NOT SUPPORTED
SCAN HEAD POSITIONING ERROR
SCSI BUS RESET OCCURRED
SCSI PARITY ERROR
SCSI PARITY ERROR DETECTED DURING ST DATA PHASE
SCSI TO HOST SYSTEM INTERFACE FAILURE
SECURITY AUDIT VALUE FROZEN
SECURITY WORKING KEY FROZEN
SELECT OR RESELECT FAILURE
SEQUENTIAL POSITIONING ERROR
SERVO IMPENDING FAILURE ACCESS TIMES TOO HIGH
SERVO IMPENDING FAILURE CHANNEL PARAMETRICS
SERVO IMPENDING FAILURE CONTROLLER DETECTED
SERVO IMPENDING FAILURE DATA ERROR RATE TOO HIGH
67
SCSI Primary Commands - 3 (SPC-3)
5Dh
4Ch D
B
5Dh
41h D
5Dh
40h D
5Dh
5Dh
5Dh
5Dh
43h
4Ah
4Bh
46h
5Dh
5Dh
72h
72h
49h D
44h D
00h
03h
72h
72h
00h
67h
00h
3Bh
47h
5Dh
01h
R
02h
R
1Bh
T
0Ah D T L P W R O M
03h
T
04h
L
7Fh D T
P W R O M
03h
R
3Fh
3Fh
5Dh
5Dh
5Dh
5Dh
08h
09h
55h
57h
58h
52h
5Dh
5Ch D
5Dh
51h D
5Dh
50h D
5Dh
53h D
5Dh
5Dh
5Dh
5Ah D
5Bh D
56h D
5Dh
5Dh
59h D
54h D
09h
5Ch
5Ch
5Eh
5Eh
03h
02h
01h
04h
02h
D
D
D
D
D T
D T
D
D
D
D
R
R
W R O M
W R O M
W R O
D
O
D
O
D T L P W R O
D T L P W R O
SERVO IMPENDING FAILURE DRIVE CALIBRATION RETRY
COUNT
B
SERVO IMPENDING FAILURE DRIVE ERROR RATE TOO
HIGH
B
SERVO IMPENDING FAILURE GENERAL HARD DRIVE
FAILURE
B
SERVO IMPENDING FAILURE SEEK ERROR RATE TOO HIGH
B
SERVO IMPENDING FAILURE SEEK TIME PERFORMANCE
B
SERVO IMPENDING FAILURE SPIN-UP RETRY COUNT
B
SERVO IMPENDING FAILURE START UNIT TIMES TOO
HIGH
B
SERVO IMPENDING FAILURE THROUGHPUT PERFORMANCE
B
SERVO IMPENDING FAILURE TOO MANY BLOCK REASSIGNS
SESSION FIXATION ERROR
SESSION FIXATION ERROR - INCOMPLETE TRACK IN
SESSION
SESSION FIXATION ERROR WRITING LEAD-IN
SESSION FIXATION ERROR WRITING LEAD-OUT
SET CAPACITY OPERATION IN PROGRESS
A E B K V F SET TARGET PORT GROUPS COMMAND FAILED
SETMARK DETECTED
SLEW FAILURE
A E B K
SOME COMMANDS CLEARED BY ISCSI PROTOCOL EVENT
SPARE AREA EXHAUSTION PREDICTION THRESHOLD
EXCEEDED
A E B
SPARE CREATED OR MODIFIED
A E B
SPARE DELETED
B
SPINDLE IMPENDING FAILURE ACCESS TIMES TOO HIGH
B
SPINDLE IMPENDING FAILURE CHANNEL PARAMETRICS
B
SPINDLE IMPENDING FAILURE CONTROLLER DETECTED
B
SPINDLE IMPENDING FAILURE DATA ERROR RATE TOO
HIGH
B
SPINDLE IMPENDING FAILURE DRIVE CALIBRATION
RETRY COUNT
B
SPINDLE IMPENDING FAILURE DRIVE ERROR RATE TOO
HIGH
B
SPINDLE IMPENDING FAILURE GENERAL HARD DRIVE
FAILURE
B
SPINDLE IMPENDING FAILURE SEEK ERROR RATE TOO
HIGH
B
SPINDLE IMPENDING FAILURE SEEK TIME PERFORMANCE
B
SPINDLE IMPENDING FAILURE SPIN-UP RETRY COUNT
B
SPINDLE IMPENDING FAILURE START UNIT TIMES TOO
HIGH
B
SPINDLE IMPENDING FAILURE THROUGHPUT PERFORMANCE
B
SPINDLE IMPENDING FAILURE TOO MANY BLOCK
REASSIGNS
SPINDLE SERVO FAILURE
SPINDLES NOT SYNCHRONIZED
SPINDLES SYNCHRONIZED
A
K
STANDBY CONDITION ACTIVATED BY COMMAND
A
K
STANDBY CONDITION ACTIVATED BY TIMER
68
SCSI Primary Commands - 3 (SPC-3)
6Bh
1Bh
55h
55h
4Dh
33h
3Bh
3Bh
3Bh
3Fh
0Dh
5Bh
26h
3Eh
2Ah
26h
26h
2Ch
4Bh
09h
09h
29h
29h
61h
57h
26h
53h
08h
11h
11h
11h
11h
00h
00h
01h
00h
NNh
00h
03h
01h
02h
00h
01h
01h
03h
02h
10h
08h
06h
01h
02h
00h
01h
06h
05h
01h
00h
0Ah
01h
04h
00h
04h
0Bh
0Ch
46h
35h
26h
26h
59h
00h
61h
65h
3Fh
3Fh
3Fh
3Fh
0Bh
0Bh
0Bh
30h
50h
50h
00h
01h
09h
07h
00h
1Ch
00h
00h
0Ah
0Ch
0Bh
0Dh
00h
02h
01h
0Ch
00h
01h
D T L
D
D T L
T
L
T
T
D T L
D T L
D T L
D T L
D T L
D T
D T L
D T L
D T
D T
D T L
D T L
D T L
T
D T L
D T
D
D
D
D
D
D
D
T
T
T
T
L
L
L
L
T
D
D
D
D
D
D
D
D
T
T
T
T
T
T
T
T
T
T
T
L
L
L
L
A
STATE CHANGE HAS OCCURRED
P W R O M A E B K V F SYNCHRONOUS DATA TRANSFER ERROR
O
B K
SYSTEM BUFFER FULL
P
SYSTEM RESOURCE FAILURE
P W R O M A E B K V F TAGGED OVERLAPPED COMMANDS (NN = TASK TAG)
TAPE LENGTH ERROR
TAPE OR ELECTRONIC VERTICAL FORMS UNIT NOT READY
TAPE POSITION ERROR AT BEGINNING-OF-MEDIUM
TAPE POSITION ERROR AT END-OF-MEDIUM
P W R O M A E B K V F TARGET OPERATING CONDITIONS HAVE CHANGED
P W R O
A
K
THIRD PARTY DEVICE FAILURE
P W R O M
K
THRESHOLD CONDITION MET
P W R O M A E
K
THRESHOLD PARAMETERS NOT SUPPORTED
P W R O M A E B K V F TIMEOUT ON LOGICAL UNIT
A
E
V TIMESTAMP CHANGED
P W R O
K
TOO MANY SEGMENT DESCRIPTORS
P W R O
K
TOO MANY TARGET DESCRIPTORS
TOO MANY WINDOWS SPECIFIED
P W R O M A E B K
TOO MUCH WRITE DATA
W R O
B
TRACK FOLLOWING ERROR
W R O
K
TRACKING SERVO FAILURE
P W R O M A E B K V F TRANSCEIVER MODE CHANGED TO LVD
P W R O M A E B K V F TRANSCEIVER MODE CHANGED TO SINGLE-ENDED
UNABLE TO ACQUIRE VIDEO
R
UNABLE TO RECOVER TABLE-OF-CONTENTS
P W R O
K
UNEXPECTED INEXACT SEGMENT
UNLOAD TAPE FAILURE
P W R O
K
UNREACHABLE COPY TARGET
W R O
B K
UNRECOVERED READ ERROR
W
O
B K
UNRECOVERED READ ERROR - AUTO REALLOCATE FAILED
W
O
B K
UNRECOVERED READ ERROR - RECOMMEND REASSIGNMENT
W
O
B K
UNRECOVERED READ ERROR - RECOMMEND REWRITE THE
DATA
P W R O M
B K
UNSUCCESSFUL SOFT RESET
P W R O M A E B K V F UNSUPPORTED ENCLOSURE FUNCTION
P W R O
K
UNSUPPORTED SEGMENT DESCRIPTOR TYPE CODE
P W R O
K
UNSUPPORTED TARGET DESCRIPTOR TYPE CODE
O
UPDATED BLOCK READ
VERIFY OPERATION IN PROGRESS
VIDEO ACQUISITION ERROR
P W R O M A E B K V F VOLTAGE FAULT
W R O M A E B K
VOLUME SET CREATED OR MODIFIED
W R O M A E B K
VOLUME SET DEASSIGNED
W R O M A E B K
VOLUME SET DELETED
W R O M A E B K
VOLUME SET REASSIGNED
P W R O M A E B K V F WARNING
P W R O M A E B K V F WARNING - ENCLOSURE DEGRADED
P W R O M A E B K V F WARNING - SPECIFIED TEMPERATURE EXCEEDED
WORM MEDIUM - OVERWRITE ATTEMPTED
WRITE APPEND ERROR
WRITE APPEND POSITION ERROR
69
SCSI Primary Commands - 3 (SPC-3)
0Ch
0Ch
0Ch
0Ch
0Ch
0Ch
0Ch
0Ch
0Ch
0Ch
27h
31h
00h
02h
09h
0Dh
0Ah
03h
01h
08h
07h
0Ch
00h
02h
T
D
R
W
O
B
R
D T L P W R O M A E B
R
D
W
O
B
R
R
D T L P W R O M A E B
D T
W R O
B
R
WRITE
K
WRITE
WRITE
K V F WRITE
WRITE
K
WRITE
K
WRITE
WRITE
WRITE
K V F WRITE
K
WRITE
ZONED
ERROR
ERROR - AUTO REALLOCATION FAILED
ERROR - LOSS OF STREAMING
ERROR - NOT ENOUGH UNSOLICITED DATA
ERROR - PADDING BLOCKS ADDED
ERROR - RECOMMEND REASSIGNMENT
ERROR - RECOVERED WITH AUTO REALLOCATION
ERROR - RECOVERY FAILED
ERROR - RECOVERY NEEDED
ERROR - UNEXPECTED UNSOLICITED DATA
PROTECTED
FORMATTING FAILED DUE TO SPARE LINKING
ASC:80h・ASCQ:xxh ~ ASC:FFh・ASCQ:xxh はベンダ固有領域である。
ASC:xxh・ASCQ:80h ~ ASC:xxh・ASCQ:FFh は標準 ASC におけるベンダ固有の修飾子である。
表に示されない全てのコードは予約済みである。
70
SCSI Primary Commands - 3 (SPC-3)
5
全デバイス種別で共通のモデル
5.1
全デバイス種別で共通のモデルの序論
本モデルはほとんどの SCSI デバイスで予期される汎用的な特性のいくつかについて記述する。
これは SCSI のその他の場所で定義されるいかなる要求も置き換えることを意図しない。本標準に
準拠するデバイスはまた SAM-3 にも準拠しなければならない。
5.2
5.2.1
全ての SCSI デバイスサーバで重要となるコマンド
全ての SCSI デバイスサーバで実装されるコマンド
本標準は全ての SCSI デバイスサーバが実装しなければならない INQUIRY、REPORT LUNS、TEST
UNIT READY の 3 つのコマンドを定義する。これらのコマンドは論理ユニットの能力を検出し、シ
ステム構成を検出し、論理ユニットが利用可能か否か特定するために使用される。
5.2.2
全ての SCSI デバイスサーバに推奨されるコマンド
本標準の以前のバージョンか、あるいはコマンド標準(3.1.18 を参照)で規定されるステータ
ス問い合わせの機能を使用するよう設計されたアプリケーションクライアントとの互換性を提供
するために、REQUEST SENSE コマンドをサポートすることが推奨される。
5.2.3
INQUIRY コマンドの使用
アプリケーションクライアントは、論理ユニットの構成を調べるために INQUIRY コマンド(6.4
を参照)を使用することが可能である。デバイスサーバはそれらのデバイス種別や準拠する標準
のバージョンが含まれる情報を応答する。かつ、それらにはベンダの識別子やモデル番号、およ
びその他の情報が含まれる可能性がある。
EVPD ビットが 1 にを設定し、PAGE CODE フィールドに 83h を設定した INQUIRY コマンドの応答と
して返されるデバイス識別 VPD ページ(7.6.3 を参照)には、論理ユニットやターゲットポート、
SCSI ターゲットデバイスを識別する情報を含む。
デバイスサーバがこの情報もしくは、電源投入時の初期化終了後に利用可能な全ての情報につ
いて返す能力を有することが推奨される。デバイスサーバは、特にメディアから取得する場合に
は、当該の情報の特定の部分を取得するために長時間要する可能性がある。
5.2.4
REPORT LUNS コマンドの使用
REPORT LUNS コマンド(6.12 を参照)は、アプリケーションクライアントにより、当該のコマン
ドが送信された I_T ネクサスでアクセス可能な論理ユニットの一覧(3.1.60 を参照)を取得する
ために使用される可能性がある。
5.2.5
TEST UNIT READY コマンドの使用
TEST UNIT READY コマンド(6.33 を参照)はアプリケーションクライアントに対して、返却デー
タのための領域を割り当てる必要性無く、論理ユニットが利用可能になるまでポーリングを行う
ことを可能とする。TEST UNIT READY コマンドは、リムーバブルメディアを用いる論理ユニットに
対してメディアの状態を確認するために使用される可能性がある。デバイスサーバは現在の SCSI
デバイスの状態を通知するため迅速に応答するべきである。
注意 8:TEST UNIT READY コマンドからの GOOD ステータスの取得が遅延することにより、イニシ
エータデバイスの性能に悪影響が生じる可能性がある。
5.2.6
REQUEST SENSE コマンドの使用
REQUEST SENSE コマンド(6.27 を参照)はアプリケーションクライアントにより、ある種のバッ
71
SCSI Primary Commands - 3 (SPC-3)
クグラウンド操作の状態を問い合わせるためと、関連するユニット警告状態をクリアするために
使用される可能性がある(7.4.6 を参照)。
5.3
暗黙的な HEAD OF QUEUE
下記のコマンドは、SIMPLE タスク属性、ORDERED タスク属性、もしくはタスク属性無しで受信し
た場合に、タスクマネージャにより HEAD OF QUEUE タスク属性(SAM-3 を参照)を持っているもの
として処理される可能性がある。
a) INQUIRY
b) REPORT LUNS
アプリケーションクライアントは、コマンドが HEAD OF QUEUE タスク属性を持っているものとし
て処理される可能性がある場合には、ORDERED タスク属性を設定してコマンドを送信するべきでは
ない。なぜならばそれらのコマンドにおいて ORDERED タスク属性が考慮されるか否はベンダ固有
となるためである。
5.4
パラメタの丸め
様々なコマンドで、デバイスサーバに送信される特定のパラメタには、値の範囲を持つものが
存在する。デバイスサーバはこの範囲の中からある特定の選択した値についてのみ実装すること
が可能である。デバイスサーバがサポートしていない値を受信した場合、コマンドを拒否する
(すなわち、ステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST)か、あるいは、受
信した値をサポートする値に丸めるかのいずれかを行う。
パラメタの丸めが実装される場合、パラメタ値として完全にはサポートしない値を受信したデ
バイスサーバは、受信した値をサポートする値に調整しなければならず、ステータスが CHECK
CONDITION、センスキーが RECOVERED ERROR、追加センスコードが ROUNDED PARAMETER として応答
しなければならない。アプリケーションクライアントは、デバイスサーバがどの値を選択したの
かを知るために、適切なコマンドを発行するべきである。
パラメタの説明で丸めが許可される場合を除いて、デバイスサーバはサポートしない値は拒否
しなければならない。パラメタの説明で丸めが許可されると指定されている場合、デバイスサー
バは最大値のフィールドについてはアプリケーションクライアントに指定された値よりも小さい、
その次にサポートする値まで切り下げるべきである。最小値のフィールドについてはアプリケー
ションクライアントに指定された値よりも大きい、その次にサポートする値まで切り上げるべき
である。いくつかのケースにおいては、丸めの種類(すなわち、切り上げか切り下げか)がパラ
メタの説明で規定される。
5.5
5.5.1
自己診断操作
標準自己診断
SEND DIAGNOSTIC コマンドは SCSI デバイスが自己診断を実行するよう要求する方法を提供する。
テストはベンダ固有であるが、テストを要求する方法は標準化される。
標準自己診断は SEND DIAGNOSTIC コマンドをサポートする全てのデバイス種別において必須であ
る。テストで例外が検出されなかった場合のレスポンスは GOOD ステータスとなり、テストで例外
が検出された場合は CHECK CONDITION ステータスとなる。
5.5.2
短縮と拡張自己診断
必須の標準自己診断に付随して、SEND DIAGNOSTIC コマンドの SELF-TEST フィールドを使用する
ことにより呼び出すことが可能な、短縮自己診断と拡張自己診断の 2 種類のオプションの自己診
断が存在する。短縮自己診断の目的は論理ユニットに欠陥が存在するか否か早急に識別すること
72
SCSI Primary Commands - 3 (SPC-3)
である。拡張自己診断ルーチンの目的は、アプリケーションクライアントの介入なしに論理ユ
ニットがより複雑なテストを実行することで、工場出荷時の試験を簡略化することである。拡張
自己診断の 2 つ目の目的は、アプリケーションクライアントが短縮自己診断の結果が不確定であ
ると判断した場合に、その結果を検証するためにより複雑なテストの実行を提供することである。
短縮自己診断の基準は 1 つないし複数のセグメントから構成され、2 分かそれ以下で完了するこ
とである。拡張自己診断の基準は 1 つないし複数のセグメントから構成され、完了までの時間は
ベンダ固有であることである。セグメント内で実行される全てのテストはベンダ固有である。
下記はセグメントの例である。
a) 論理ユニットの電気的特性について試験を行う電気的セグメント。このセグメントの試験
はベンダ固有であるが、この試験に含まれる可能性のあるいくつかの例は下記の通りであ
る。
A) バッファ RAM 試験
B) 読み込み/書き込み回路試験
C) 読み込み/書き込みヘッダの試験
b) デバイスがデータトラックの検出と制御の能力について試験を行うシーク/サーボセグメ
ント。
c) デバイスがメディア表面の一部ないし全体に対する読み込みスキャンを行う読み込み/検
証スキャンセグメント。
セグメント中で行われる試験は、短縮と拡張の自己診断とで同一である可能性がある。論理ユ
ニットが拡張自己診断を完了するために要求される時間は制御モードページ(7.4.6 を参照)の
EXTENDED SELF-TEST COMPLETION フィールドにより報告される。
5.5.3
5.5.3.1
自己診断モード
自己診断モードの概要
短縮と拡張の両方の自己診断で、フォアグラウンドモード(5.5.3.2 を参照)とバックグラウン
ドモード(5.5.3.3 を参照)の両方が定義される。
5.5.3.2
フォアグラウンドモード
デバイスサーバが自己診断をフォアグラウンドモードで実行するよう指定した SEND DIAGNOSTIC
コマンドを受信した場合、デバイスサーバはコマンドのステータスを自己診断が完了した後で応
答しなければならない。
フォアグラウンドモードでの自己診断の実行中は、デバイスサーバは INQUIRY、REPORT
LUNS、REQUEST SENSE を除いた全てのコマンドに対して、ステータスが CHECK CONDITION、センス
キーが NOT READY、追加センスコードが LOGICAL UNIT NOT READY, SELF-TEST IN PROGRESS で応答
しなければならない。
デバイスサーバが自己診断をフォアグラウンドモードで実行しており、試験中にセグメントエ
ラーが発生した場合は、デバイスサーバは自己診断結果ログページ(7.2.10 を参照)を更新しな
ければならず、ステータスが CHECK CONDITION、センスキーが HARDWARE ERROR、追加センスコー
ドが LOGICAL UNIT FAILED SELF-TEST により SEND DIAGNOSTIC コマンドを終了しなければならな
い。アプリケーションクライアントは自己診断ログページを読み込むことにより失敗について追
加の情報を取得することが可能である。デバイスサーバが自己診断結果ログページを更新するこ
とができなかった場合には、ステータスが CHECK CONDITION、センスキーが HARDWARE ERROR、追
加センスコードが LOGICAL UNIT UNABLE TO UPDATE SELF-TEST LOG により SEND DIAGNOSTIC コマ
ンドを終了しなければならない。
73
SCSI Primary Commands - 3 (SPC-3)
アプリケーションクライアントはフォアグラウンドモードで自己診断を開始する前に論理ユ
ニットを予約するべきである。アプリケーションクライアントはコマンド(6 章を参照)ないしタ
スク管理機能(SAM-3 を参照)を使用することによりフォアグラウンドモードで実行中の自己診断
を中断することが可能である(例えば、PREEMPT AND ABORT サービスアクションを設定した
PERSISTENT RESERVE OUT コマンド、ABORT TASK タスク管理機能、CLEAR TASK SET タスク管理機
能)。さらに、フォアグラウンドモードの自己診断は I_T ネクサス喪失(SAM-3 を参照)によって
終了されなければならない。フォアグラウンドモードでの自己診断を要求する SEND DIAGNOSTIC
コマンドが SCSI データゲットデバイスで自己診断の実行中に中断された場合には、デバイスサー
バは自己診断を中断しなければならず、自己診断結果ログページ(7.2.10 を参照)を更新しなけ
ればならない。
5.5.3.3
バックグラウンドモード
デバイスサーバは自己診断をバックグラウンドモードで実行するよう指定した SEND DIAGNOSTIC
コマンドを受信した場合、デバイスサーバは CDB が検証された直後にコマンドのステータスを応
答しなければならない。
バックグラウンドモードで自己診断を実行するよう指定した SEND DIAGNOSTIC コマンドに対して
スタータスを返した後、デバイスサーバは自己診断結果ログページ(7.2.10 を参照)を次のよう
に更新しなければならない。SEND DIAGNOSTIC コマンドの自己診断コードがログページの SELFTEST CODE フィールドに格納されなければならない。SELF-TEST RESULTS フィールドには Fh が設
定されなければならない。自己診断結果ログページが初期化された後に、デバイスサーバは最初
の自己診断セグメントを開始しなければならない。
デバイスサーバが自己診断をバックグラウンドモードで実行している間は、下記の条件の 1 つに
適合する SEND DIAGNOSTIC コマンドを受信した場合は、CHECK CONDITION ステータスで終了しなけ
ればならない。
a) SELF-TEST ビットが 1 に設定されている。
b) SELF-TEST CODE フィールドに 000b ないし 100b 以外の値が設定されている。
SEND DIAGNOSTIC コマンドを終了する際、センスキーは NOT READY に設定され、追加センスコー
ドは LOGICAL UNIT NOT READY, SELF-TEST IN PROGRESS に設定されなければならない。
バックグラウンドモードで自己診断を実行中、表 29 に示された例外を除き、受信したコマンド
を処理するためにデバイスサーバは自己診断をサスペンドしなければならない。コマンドを処理
するための自己診断のサスペンドは事実上即座に行われなければならず、2 秒以上要してはならな
い。
表29 バックグラウンドモード自己診断の例外コマンド
デバイス種別
全デバイス種別
コマンド
SEND DIAGNOSTIC(SELF-TEST CODE フィールドが 100b の場
合)
WRITE BUFFER(モードが任意のマイクロコードダウンロー
ドのオプションに設定された場合)
直接アクセスブロック FORMAT UNIT
START STOP UNIT
参照
6.28
6.35
SBC-2
シーケンシャルアクセ ERASE
ス
FORMAT MEDIUM
LOAD UNLOAD
LOCATE
READ
REWIND
SPACE
VERIFY
WRITE
WRITE BUFFER
74
SSC-2
SCSI Primary Commands - 3 (SPC-3)
READ POSITION
READ REVERSE
メディアチェンジャ
WRITE FILEMARKS
EXCHANGE MEDIUM
INITIALIZE ELEMENT STATUS
MOVE MEDIUM
POSITION TO ELEMENT
READ ELEMENT STATUS(CURDATA が 0 で、デバイスモーション
が要求される場合)
WRITE BUFFER
オブジェクトベースス 操作コードが 7Fh の任意のコマンド(すなわち、OSD 標準で
トレージ
規定された全てのコマンド)
SMC-2
OSD
注意 1:この表に示されていないデバイス種別においては、上記の全デバイス種別に適用さ
れるものを除いては、バックグラウンドモードの自己診断における例外のコマンドを有しな
い。
表 29 に示された例外のコマンドのうちの 1 つを受信した場合、デバイスサーバは自己診断を中
断し、自己診断ログを更新し、現実的な範囲内で即時にコマンドを処理しなければならない。そ
の際、CDB の検証を行ってから 2 秒以上要してはならない。
アプリケーションクライアントは SELF-TEST CODE を 100b(すなわち、バックグラウンド自己診
断の中断)に設定した SEND DIAGNOSTIC コマンドを発行することにより、バックグラウンドモー
ドで実行されている自己診断を終了することが可能である。バックグラウンドモードの自己診断
は I_T ネクサスの喪失(SAM-3 を参照)によって中断されてはならない。
5.5.3.4
フォアグラウンドとバックグラウンドの自己診断における共通の特性
REQUEST SENSE コマンド(6.27 を参照)のレスポンスで返される PROGRESS INDICATION フィール
ドは、アプリケーションクライアントにより自己診断操作の実行中の論理ユニットの進捗状況を
問い合わせるために使用することが可能である。エラーが発生することなく自己診断操作が実行
されている間、デバイスサーバはセンスキーが NOT READY、追加センスコードが LOGICAL UNIT
NOT READY, SELF-TEST IN PROGRESS を設定し、かつ、センスキー固有バイトに進捗を表す数値を
設定したセンスデータを、REQUEST SENSE コマンドのパラメタデータとして応答しなければならな
い。
アプリケーションクライアントは自己診断結果ログページ(7.2.10 を参照)を読み込むことに
より、最大で直近 20 個の完了した自己診断についての情報を取得することが可能である。これは
アプリケーションクライアントがバックグラウンドモードで実行された自己診断についての情報
を取得する唯一の方法である。
表 30 は、論理ユニットが自己診断コマンドを受信した後いつステータスを返すのか、アプリ
ケーションクライアントはどのようにして自己診断を中断するのか、論理ユニットは自己診断の
実行中にタスクセットに格納されたコマンドをどのように取り扱うのか、論理ユニットは自己診
断の結果をどのように報告するのか、についての要約である。
表30 自己診断モードの要約
モード
ステータスがいつ
返されるのか
フォア 自己診断の完了後
グラウ
ンド
自己診断はどのよ 自己診断実行中の後続コ
うに中断されるか
マンドの処理
コマンドの 1 つ
(5.5.3.2 を参
照)ないし、タス
クを中断させるタ
コマンドが
INQUIRY、REPORT
LUNS、REQUEST SENSE で
あれば通常通り処理され
75
自己診断失敗の報告
ステータスが CHECK
CONDITION、センスキー
が HARDWARE ERROR、追加
センスコードが LOGICAL
SCSI Primary Commands - 3 (SPC-3)
スク管理機能
(SAM-3 を参照)
バック CDB 検証後
グラウ
ンド
5.6
5.6.1
る。それ以外であればス
テータスが CHECK
CONDITION、センスキーが
NOT READY、追加センス
コードが LOGICAL UNIT
NOT READY, SELF-TEST IN
PROGRESS でコマンドが終
了される。
SELF-TEST CODE
5.5.3.3 で記述された例
フィールドに 100b 外を除きコマンドは処理
が設定された SEND される。
DIAGNOSTIC コマン
ド
UNIT FAILED SELF-TEST
もしくは LOGICAL UNIT
UNABLE TO UPDATE SELFTEST LOG でコマンドが終
了する。
アプリケーションクライ
アントは、REQUEST
SENSE コマンドで返され
る PROGRESS INDICATION
フィールドにより自己診
断の完了が通知された後
に、自己診断結果ログ
ページ(7.2.10 を参照)
を確認する。
予約
永続予約の概要
予約は、ある選択された I_T ネクサス(すなわち、ターゲットポートにアクセするイニシエータ
ポートの組み合わせ)のセットから受信したコマンドを処理し、選択されたセット以外の I_T ネ
クサスから受信したコマンドを拒否することを、デバイスサーバに対して許可するために使用さ
れる。デバイスサーバはプロトコル固有の方法を用いて I_T ネクサスを一意に識別する。
アプリケーションクライアントは予約コマンドを用いて選択されたセットに対する I_T ネクサス
の追加や削除を行うことが可能である。アプリケーションクライアントが予約プロトコルに対し
て協調しなかった場合は、データに予期しない変更が加えられ、デッドロック状態が発生する可
能性がある。
永続予約メカニズムは複数の I_T ネクサスを通じて通信を行う複数のアプリケーションクライア
ントに対して、通常ならば論理ユニットのリセットや I_T ネクサス喪失を引き起こす SCSI イニシ
エータデバイスの失敗を超えて予約を保持する操作を可能とする。永続予約はリカバリ操作を超
えて永続する。永続予約はハードリセット、論理ユニットリセット、I_T ネクサス喪失によりリ
セットされることはない。
失敗した I_T ネクサスにより保持されていた永続予約は、リカバリ処理の一部として他の I_T ネ
クサスに剥奪される可能性がある。永続予約は、本標準で規定されるメカニズムにより解放され
るか、剥奪されるか、クリアされるまで、デバイスサーバにより保持されなければならない。オ
プションで、永続予約は SCSI ターゲットデバイスへの電力供給が途絶えた場合にも保持される可
能性がある。
PERSISTENT RESERVE OUT と PERSISTENT RESERVE IN コマンドは、論理ユニットに複数のイニシ
エータポートがアクセスするシステムにおいて動的に競合を解決する基本的なメカニズムを提供
する。
永続予約が確立される前に、アプリケーションクライアントはデバイスサーバに対して各 I_T ネ
クサスのための予約キーを登録しなければならない。予約キーは下記について許可を得るために
必要となる。
a) 後続する PERSISTENT RESERVE OUT コマンドの認証。
b) 登録される他の I_T ネクサスの識別。
76
SCSI Primary Commands - 3 (SPC-3)
c) 割り当てられた永続予約を保持する予約キーの識別。
d) 失敗した、もしくは非協力的な I_T ネクサスからの永続予約の剥奪。
e) ある 1 つの永続予約への、複数の I_T ネクサスの参加。
予約キーはアプリケーションクライアントに対して、登録された I_T ネクサスにプロトコル独立
の識別子を割り当てる方法を提供する。予約キーは PERSISTENT RESERVE IN コマンドで、どの I_T
ネクサスが登録されたのかを識別し、存在するのならば、どの I_T ネクサスが予約キーを保持し
ているのかを識別するために使用される。予約キーは PERSISTENT RESERVE OUT コマンドにおいて、
I_T ネクサスを登録し、PERSISTENT RESERVE OUT コマンドで使用されている I_T ネクサスが登録
されているか検証し、どの登録や永続予約を剥奪するのかを指定するために使用される。
予約キーの値は、本標準のスコープ外であるアプリケーションクライアント固有の方法を用い
て、アプリケーションクライアントにより登録された I_T ネクサスを識別するために使用される
可能性がある。本標準では I_T ネクサス毎に唯一の予約キーを登録する能力を提供する。複数の
イニシエータポートは、同一のターゲットポートを通じてアクセスする、ある論理ユニットに対
して、同一の予約キーを使用することが可能である。単一のイニシエータポートは異なったター
ゲットポートを通じてアクセスする、ある論理ユニットに対して、同一の予約キーを使用するこ
とが可能である。論理ユニットは予約キーの値によらず、I_T ネクサス毎に異なる予約キーとして
管理しなければならない。
PERSISTENT RESERVE OUT サービスアクションのリストについては 6.12.2 の表 113 を参照のこと。
PERSISTENT RESERVE IN サービスアクションのリストについては 6.11.1 の表 102 を参照のこと。
永続予約のスコープ(6.11.3.3 を参照)は論理ユニット全体でなければならない。
永続予約の種別(6.11.3.4 を参照)は、永続予約によりコマンドに制約条件が課せられる対象
となる、選択された I_T ネクサスのセットを定義する。
どの種別の予約の下でどのコマンドが許可されるのかについての詳細は表 31 に示される。
表 31 と表 32 では下記のキーワードが使用される。
許可:予約を保持していない I_T ネクサスか、あるいは、登録者限定型か全登録者型の永続予約
が存在する場合に登録されていない I_T ネクサスからコマンドを受信した場合には、コマンドは
通常通り処理されるべきである。
競合:予約を保持していない I_T ネクサスか、あるいは、登録者限定型か全登録者型の永続予約
が存在する場合に登録されていない I_T ネクサスからコマンドを受信した場合には、コマンドは
実行されてはならず、RESERVATION CONFLICT ステータスで終了されなければならない。
予約を保持する I_T ネクサスから受信したコマンドは通常通り処理されるべきである。登録者限
定型か全登録者型の永続予約が存在する場合に登録されている I_T ネクサスから受信したコマン
ドの動作については表 31 と表 32 で規定される。
リンクされていないコマンドは、当該のコマンドを含むタスクが有効タスク状態に遷移する前
に予約の競合がチェックされなければならない。リンクされたコマンドの最初のコマンドが有効
タスク状態に遷移する時、それが存在するところの予約状態は、タスク内の全コマンドに対する
予約の競合をチェックするために使用されなければならない。
一度タスクが有効タスク状態へ遷移すると、タスクを構成するコマンドが後続する予約により
RESERVATION CONFLICT ステータスで終了されてはならない。予約の状態を変更する、リンクされ
たコマンドのグループ内に存在するコマンドは、そのグループ内の最後のコマンドでなければな
らない。
本標準ないしコマンド標準(3.1.18 を参照)は、それぞれのコマンドについて RESERVATION
77
SCSI Primary Commands - 3 (SPC-3)
CONFLICT となる条件について規定する。コマンド標準はデバイスモデルかコマンド毎の規定とし
て条件を定義する。
表31 様々な予約が存在する条件下で許可される SPC のコマンド
コマンド
指定された論理ユニットにおいて、他の I_T ネクサスにより当該種別の
永続予約を保持されていた場合
任意の I_T ネクサスから
書込排他
排他アクセ
ス
登録された
I_T ネクサス
から(登録
者限定また
は全登録
者)
登録されていない I_T ネク
サスから
書込排他
(登録者限
定または全
登録者)
排他アクセ
ス(登録者
限定または
全登録者)
ACCESS CONTROL IN
許可
許可
許可
許可
許可
ACCESS CONTROL OUT
許可
許可
許可
許可
許可
CHANGE ALIASES
競合
競合
許可
競合
競合
EXTENDED COPY
競合
競合
許可
競合
競合
INQUIRY
許可
許可
許可
許可
許可
LOG SELECT
競合
競合
許可
競合
競合
LOG SENSE
許可
許可
許可
許可
許可
MODE SELECT(6) / MODE
SELECT(10)
競合
競合
許可
競合
競合
MODE SENSE(6) / MODE
SENSE(10)
競合
競合
許可
競合
競合
PERSISTENT RESERVE IN
許可
許可
許可
許可
許可
PERSISTENT RESERVE OUT
表 32 を参照
PREVENT ALLOW MEDIUM
REMOVAL
(Prevent=0)
許可
許可
許可
許可
許可
PREVENT ALLOW MEDIUM
REMOVAL
(Prevent<>0)
競合
競合
許可
競合
競合
READ ATTRIBUTE
競合
競合
許可
競合
競合
READ BUFFER
競合
競合
許可
競合
競合
READ MEDIA SERIAL NUMBER
許可
許可
許可
許可
許可
RECEIVE COPY RESULTS
競合
競合
許可
競合
競合
RECEIVE DIAGNOSTIC
RESULTS
競合
競合
許可
競合
競合
SPC-2 の規定による a
RELEASE(6)/
RELEASE(10)
REPORT ALIASES
許可
許可
許可
許可
許可
REPORT DEVICE IDENTIFIER
許可
許可
許可
許可
許可
78
SCSI Primary Commands - 3 (SPC-3)
REPORT LUNS
許可
許可
許可
許可
許可
REPORT PRIORITY
許可
許可
許可
許可
許可
REPORT SUPPORTED
OPERATION CODES
競合
競合
許可
競合
競合
REPORT SUPPORTED TASK
MANAGEMENT FUNCTIONS
競合
競合
許可
競合
競合
REPORT TARGET PORT GROUPS
許可
許可
許可
許可
許可
REPORT TIMESTAMP
許可
許可
許可
許可
許可
REQUEST SENSE
許可
許可
許可
許可
許可
RESERVE(6) / RESERVE(10)
SPC-2 の規定による
a
SEND DIAGNOSTIC
競合
競合
許可
競合
競合
SET DEVICE IDENTIFIER
競合
競合
許可
競合
競合
SET PRIORITY
競合
競合
許可
競合
競合
SET TARGET PORT GROUPS
競合
競合
許可
競合
競合
SET TIMESTAMP
競合
競合
許可
競合
競合
TEST UNIT READY
許可 b
許可 b
許可
許可 b
許可 b
WRITE ATTRIBUTE
競合
競合
許可
競合
競合
WRITE BUFFER
競合
競合
許可
競合
競合
(a)SPC-2 で記述される RESERVE と RELEASE コマンドの動作の例外については 5.6.3 で規定される
(b)本標準の以前のバージョン(例えば、SPC-2)に準拠すると主張する論理ユニットは、この
場合に RESERVATION CONFLICT を返す可能性がある。
表32 様々な予約が存在する下で許可される PERSISTENT RESERVE OUT サービスアクション
コマンドサービスアクション
指定された論理ユニットが他の I_T ネクサスによる永続予約を保持
していた場合
コマンドを登録された I_T ネク
サスから受信した場合
コマンドを登録されていない I_T
ネクサスから受信した場合
CLEAR
許可
競合
PREEMPT
許可
競合
PREEMPT AND ABORT
許可
競合
REGISTER
許可
許可
REGISTER AND IGNORE EXISTING
KEY
許可
許可
REGISTER AND MOVE
競合
競合
a
RELEASE
許可
RESERVE
競合
競合
競合
(a)予約は解放されない(5.6.10.2 を参照)。
デバイスサーバで管理される他のタスクを考慮に入れた場合の、予約が確立する時間について
79
SCSI Primary Commands - 3 (SPC-3)
はベンダ固有である。予約コマンドの正常終了は新しい予約が確立したことを表す。予約は予約
コマンドが完了するより前にタスクセット内のいくつかあるいは全てのタスクに影響を与える可
能性がある。予約は、予約コマンドが完了した後で、デバイスサーバにより受信された全てのタ
スクに対して適用されなければならない。全ての永続予約サービスアクションは単一の独立した
イベントとして実行されなければならない。
タスクセット内に、複数の永続予約サービスアクションが同時に存在する可能性がある。その
ようなサービスアクションの処理の順番は SAM-3 のタスクセット管理要求で規定されるが、他の
予約コマンドにより要求される可能性のある動作のインターリーブを除き、それぞれのコマンド
は単一の独立したコマンドとして処理される。
5.6.2
サードパーティ永続予約
全登録者型の予約を除き、予約の保持者(5.6.9 を参照)は REGISTER AND MOVE サービスアク
ション(5.6.7 を参照)を使用し永続予約をサードパーティ(例えば、EXTENDED COPY コマンドを
サポートするコピーマネージャ)に移動することが可能である。EXTENDED COPY コマンドをサポー
トするコピーマネージャは、サードパーティ永続予約コピー元 I_T ネクサスのセグメント記述子
(6.3.7.19 を参照)により、永続予約を指定した I_T ネクサスに移動するよう指示される可能性
がある。
5.6.3
SPC-2 の RESERVE と RELEASE 動作の例外
この節では、SPC-2 で定義される RESERVE と RELEASE コマンドの動作の例外について規定する。
RESERVE と RELEASE コマンドは、本節で規定される動作を除いて、本標準では廃止済みとなる。本
節で規定される例外動作を使用した処理を行うデバイスサーバは、PERSISTENT RESERVE IN コマン
ド(6.11.4 を参照)の REPORT CAPABILITIES サービスアクションにより CHR ビットに 1 を設定し
たパラメタデータを返さなければならない。
RELEASE(6)ないし RELEASE(10)コマンドは GOOD ステータスで終了しなければならないが、下記
いずれかからコマンドを受信した場合には、永続予約は解放されてはならない。
a) 永続予約を保持している(5.6.9 を参照)I_T ネクサス。
b) 登録者限定型または全登録者型の永続予約が存在する場合において、登録されている I_T
ネクサス。
RESERVE(6)ないし RESERVE(10)コマンドは GOOD ステータスで完了しなければならないが、コマ
ンドを下記からいずれかから受信した場合には、予約は確立されず、永続予約は変更されてはな
らない。
a) 永続予約を保持している I_T ネクサス。
b) 登録者限定型または全登録者型の永続予約が提供されている場合において、登録されてい
る I_T ネクサス。
その他全ての場合において、RESERVE(6)、RESERVE(10)、RELEASE(6)、RELEASE(10)コマンドは
SPC-2 の規定に従い動作しなければならない。
5.6.4
5.6.4.1
永続予約と登録の保持
電源喪失時における永続予約と登録の保持
アプリケーションは、REGISTER サービスアクション、REGISTER AND IGNORE EXISTING KEY サー
ビスアクション、REGISTER AND MOVE サービスアクションを設定した PERSISTENT RESERVE OUT コ
マンドを発行する際、パラメタデータの APTPL ビットに 1 を設定することにより、電源サイクル
を通じて永続予約や登録を維持するデバイスサーバの能力を有効にするよう要求することが可能
である。
80
SCSI Primary Commands - 3 (SPC-3)
アプリケーションが電源喪失時に維持する能力を有効化した後には、デバイスサーバは、アプ
リケーションが電源喪失時に維持する能力を無効化するまで、永続予約が存在するのであればそ
の永続予約と、および REGISTER サービスアクション、REGISTER AND IGNORE EXISTING KEY サービ
スアクション、REGISTER AND MOVE サービスアクションで指定された論理ユニットに関連する、現
在と将来における登録を維持しなければならない。任意のアプリケーションクライアントから送
られてきた、直近に正常終了した REGISTER サービスアクション、REGISTER AND IGNORE EXISTING
KEY サービスアクション、REGISTER AND MOVE サービスアクションの APTPL の値により、電源喪失
時の論理ユニットの動作が決定されなければならない。
デバイスサーバは、各登録についてハードリセットや論理ユニットリセット、I_T ネクサス喪失
時に、もしくは電源喪失時に維持する能力が有効化されている場合には電源サイクルを通じて、
下記の情報を保持しなければならない。
a) イニシエータポート名が要求される SCSI 転送プロトコルにおいてはイニシエータポート名
(3.1.52 を参照)、それ以外の場合はイニシエータポート識別子(3.1.51 を参照)。
b) 予約キー。
c) ターゲットポートに対する、登録が適用されたことの指示。
デバイスサーバは、ハードリセットや論理ユニットリセット、I_T ネクサス喪失時に、もしくは
電源喪失時に維持する能力が有効化されている場合には電源サイクルを通じて、既存の永続予約
に関する下記の情報を保持しなければならない。
a) イニシエータポート名が要求される SCSI 転送プロトコルにおいてはイニシエータポート名、
それ以外の場合にはイニシエータポート識別子。
b) 予約キー。
c) スコープ。
d) 種別。
e) 予約確立時に使用されるターゲットポートの指定。
注意 9:永続予約のスコープは常に LU_SCOPE(6.11.3.3 を参照)である。全登録者型の永続予
約においては、スコープと種別のみが維持されなければならない。
5.6.4.2
永続予約と登録の維持における不揮発性メモリの考慮点
電源サイクルを通じて永続予約と登録を維持する能力は、論理ユニットに対して、SCSI デバイ
ス内の不揮発性メモリを使用することを要求する。論理ユニットが、永続予約に関して電源喪失
時に維持する能力をサポートし、かつ、不揮発性メモリを使用する準備が整っていない場合には、
論理ユニットは下記全てのコマンドをタスクセット内に受け入れることを許可しなければならな
い。
a) INQUIRY
b) LOG SENSE
c) READ BUFFER
d) REPORT LUNS
e) REQUEST SENSE
f) START STOP UNIT(START ビットが 1 で、POWER CONDITION フィールドが 0h)
g) WRITE BUFFER
81
SCSI Primary Commands - 3 (SPC-3)
電源投入後、不揮発性メモリが利用可能でない状態の間は、本節で示したコマンド以外のコマ
ンドについては、ステータスが CHECK CONDITION、センスキーが NOT READY、追加センスコードは
表 185 に示された値に設定され、終了されなければならない(6.33 を参照)。
5.6.5
5.6.5.1
永続予約と予約キーの検索
永続予約と予約キーを検索するコマンドの概要
アプリケーションクライアントは、READ RESERVATION サービスアクション、READ KEYS サービス
アクション、READ FULL STATUS サービスアクションを指定して PERSISTENT RESERVE IN コマンド
を発行することにより、デバイスサーバ内に存在する永続予約と予約キー(すなわち、登録)の
情報を取得することが可能である。
5.6.5.2
予約キーの報告
アプリケーションクライアントは、任意のターゲットポートを通じて論理ユニットに登録され
ている I_T ネクサスが存在するか否かを決定するために、READ KEYS サービスアクションを指定し
た PERSISTENT RESERVE IN コマンドを発行することが可能である。
READ KEYS サービスアクションを指定した PERSISTENT RESERVE IN コマンドのレスポンスで、デ
バイスサーバは下記を報告しなければならない。
a) 現在の PRgeneration の値(6.11.2 を参照)。
b) 登録された時に使用されたターゲットポートに関係なく、現在登録されている全ての I_T
ネクサスの予約キー。
PRgeneration の値は、論理ユニットに登録された I_T ネクサスの構成が変更されていないこと
を、アプリケーションクライアントで検証することを可能とする。
複数の I_T ネクサスが同一の予約キーを用いて登録されていた場合、予約キーの重複が報告され
なければならない。
アプリケーションクライアントがそれぞれの I_T ネクサスで異なる予約キーを用いる場合、アプ
リケーションクライアントは I_T ネクサスを一意に識別するために予約キーを使用する事が可能
である。
5.6.5.3
永続予約の報告
アプリケーションクライアントは、永続予約の情報を取得するために、READ RESERVATION サー
ビスアクションを設定した PERSISTENT RESERVE IN コマンドを発行することが可能である。
READ RESERVATION サービスアクションを設定した PERSISTENT RESERVE IN コマンドのレスポン
スで、デバイスサーバは永続予約についての下記の情報を報告しなければならない。
a) 現在の PRgeneration の値(6.11.2 を参照)。
b) 永続予約を保持する I_T ネクサスに関連づけられた、登録されている予約キー(5.6.9 を参
照)。永続予約が全登録者型であれば、登録された予約キーは 0 として報告されなければ
ならない。
c) 永続予約のスコープと種別。
アプリケーションクライアントがそれぞれの I_T ネクサスに異なる予約キーを使用する場合、ア
プリケーションクライアントは永続予約を保持する I_T ネクサスに対して永続予約を関連づける
ために予約キーを使用することが可能である。この関連づけは本標準のスコープを超える技術を
用いるために使用される。
82
SCSI Primary Commands - 3 (SPC-3)
5.6.5.4
全ステータスの報告
アプリケーションクライアントは、登録と永続予約についての全ての情報を取得するために、
READ FULL STATUS サービスアクションを設定した PERSISTENT RESERVE IN コマンドを発行するこ
とが可能である。
READ FULL STATUS サービスアクションを設定した PERSISTENT RESERVE IN コマンドのレスポン
スで、デバイスサーバは現在の PRgeneration の値(6.11.2 を参照)と、現在登録されている I_T
ネクサスについての下記の情報を報告しなければならない。
a) 登録されている予約キー。
b) I_T ネクサスが永続予約を保持するか否か。
c) I_T ネクサスが永続予約を保持するのであれば、その永続予約のスコープと種別。
d) I_T ネクサスのターゲットを識別する、相対ターゲットポート識別子。
e) I_T ネクサスのイニシエータポートを識別する TransportID。
5.6.6
登録
永続予約を確立するためには、アプリケーションクライアントは最初に I_T ネクサスをデバイス
サーバに登録しなければならない。アプリケーションクライアントは REGISTER サービスアクショ
ンか、REGISTER AND IGNORE EXISTING KEY サービスアクションを設定した PERSISTENT RESERVE
OUT コマンドを発行することにより、論理ユニットに対して登録を行う。
I_T ネクサスが確立された登録を保持している場合、アプリケーションクライアントは予約キー
(5.6.10.3 を参照)を削除することが可能である。これは、それぞれ表 33 や表 34 で示されるよ
うに、REGISTER サービスアクションか、REGISTER AND IGNORE EXISTING KEY サービスアクション
を設定した PERSISTENT RESERVE OUT コマンドを発行することにより行われる。
I_T ネクサスが確立された予約キーを保持していない、もしくは予約キーと登録が削除済みであ
る場合、アプリケーションクライアントは表 33 に示すような REGISTER サービスアクションを設
定した PERSISTENT RESERVE OUT コマンドを発行することにより、当該の I_T ネクサスと 0 個以上
の未登録の I_T ネクサスを登録することが可能である。
I_T ネクサスが確立された登録を保持している場合、アプリケーションクライアントは表 33 に
示すような REGISTER サービスアクションを設定した PERSISTENT RESERVE OUT コマンドを発行す
ることにより、予約キーを変更することが可能である。
83
SCSI Primary Commands - 3 (SPC-3)
表33 REGISTER サービスアクションによる登録時の動作
コマンドが送信
パラメタリストのフィールド a
された I_T ネク
RESERVATION SERVICE ACTION SPEC_I_PT
サスの状態
KEY
RESERVATION KEY
未登録の I_T ネ
クサスから受信
した
0
0 以外
登録された I_T I_T ネクサス
ネクサスから受 の予約キー
信した
以外
I_T ネクサス
の予約キー
と同じ
結果
0
無視
GOOD ステータスを返す以外何もしない
0 以外
0
SERVICE ACTION RESERVATION KEY
フィールドで指定された値と共に、コマ
ンドを受信した I_T ネクサスを登録する。
1
SERVICE ACTION RESERVATION KEY
フィールドで指定された値と共に、コマ
ンドを受信した I_T ネクサスとパラメタ
リストで指定された未登録の I_T ネクサ
スを登録する。b
無視
無視
RESERVATION CONFLICT ステータスを返
す。
無視
無視
RESERVATION CONFLICT ステータスを返
す。
0
0
コマンドを受信した I_T ネクサスの登録
を削除する(5.6.10.3 を参照)
1
CHECK CONDITION ステータスを返す。c
0
コマンドを受信した I_T ネクサスの予約
キーの値を、SERVICE ACTION
RESERVATION KEY フィールドで指定され
た値に変更する。
1
CHECK CONDITION ステータスを返す。c
0 以外
(a)パラメタフィールドを考慮に入れた要求については、この表には示されていない。6.12.3 を
参照。
(b)パラメタリストで指定された I_T ネクサスのいずれかが登録済みだった場合、コマンドはス
テータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID
FIELD IN CDB で終了されなければならない。
(c)センスキーは ILLEGAL REQUEST、追加センスコードは INVALID FIELD IN CDB に設定されなけ
ればならない。
代わりに、アプリケーションクライアントは表 34 に示されるように、REGISTER AND IGNORE
EXISTING KEY サービスアクションを設定した PERSISTENT RESERVE OUT コマンドを発行することで、
以前に登録されているか否かに関わりなく、I_T ネクサスに予約キーを登録することが可能である。
84
SCSI Primary Commands - 3 (SPC-3)
表34 REGISTER AND IGNORE EXISTING KEY サービスアクションによる登録時の動作
コマンドが パラメタリストのフィールド a
送信された
SERVICE ACTION SPEC_I_PL
I_T ネクサ
RESERVATION KEY
スの状態
登録されて
いない I_T
ネクサスか
ら受信した
登録済みの
I_T ネクサ
スから受信
した
結果
0
無視
0 以外
0
SERVICE ACTION RESERVATION KEY フィールドに指定され
た値と共に、コマンドを受信した I_T ネクサスを登録す
る。
1
CHECK CONDITION ステータスを返す。b
0
コマンドを受信した I_T ネクサスの登録を解除する
(5.6.10.3 を参照)。
1
CHECK CONDITION ステータスを返す。b
0
コマンドを受信した I_T ネクサスの予約キーを、SERVICE
ACTION RESERVATION KEY に指定された値に変更する。
1
CHECK CONDITION ステータスを返す。b
0
0 以外
GOOD ステータスを返す以外何もしない。
(a)REGISTER AND IGNORE EXISTING KEY サービスアクションを処理する際には、RESERVATION
KEY フィールドは無視される。その他のパラメタリストを考慮した要求についてはこの表には示さ
れていない。6.12.3 を参照。
(b)センスキーは ILLEGAL REQUEST、追加センスコードは INVALID FIELD IN CDB に設定されなけ
ればならない。
REGISTER サービスアクションないし REGISTER AND IGNORE EXISTING KEY サービスアクションを
設定した PERSISTENT RESERVE OUT コマンドが発行されたが、デバイスサーバで操作を完了するた
めに必要となるリソースが不足していた場合、コマンドはステータスが CHECK CONDITION、センス
キーが ILLEGAL REQUEST、追加センスコードが INSUFFICIENT REGISTRATION RESOURCE で終了され
なければならない。
REGISTER サービスアクションないし REGISTER AND IGNORE EXISTING KEY サービスアクションを
設定した PERSISTENT RESERVE OUT コマンドのレスポンスで、デバイスサーバは割り込みのない一
連の処理として下記を実行することにより、指定された I_T ネクサスについてそれぞれ登録を行
わなければならない。
a) 永続予約に関係なく登録要求を処理する。
b) APTPL ビットを処理する。
c) SCOPE と TYPE フィールドを無視する。
d) SERVICE ACTION RESERVATION KEY フィールドに指定された予約キーを、登録される I_T ネ
クサスに関係づける。すなわち、
A) 登録される I_T ネクサスは表 35 に示される。
B) I_T ネクサスのイニシエータポートがどのように指定されたかには関わりなく、イニシ
エータポートの割り当ては、ポート名が要求される場合には SCSI 転送プロトコルのイ
ニシエータポート名に(3.1.52 を参照)、ポート名が要求されない場合には SCSI 転送
プロトコルのイニシエータポート識別子(3.1.51 を参照)に基づく。
85
SCSI Primary Commands - 3 (SPC-3)
e) 既存の永続予約が存在する場合にはそれらを変更することなく、SERVICE ACTION
RESERVATION KEY フィールドで指定された予約キーを登録する。
f) SERVICE ACTION RESERVATION KEY フィールドで指定された予約キーと割り当てられた情報
を保持する。
表35 登録される I_T ネクサス
SPEC_I_PT
ALL_TG_PT
登録される I_T ネクサス
イニシエータポート
ターゲットポート
0
0
登録されるポート名ないし識別子は、PERSISTENT RESERVE OUT コマンドを
受信した I_T ネクサスにより決定される。
0
1
登録されるポート名ないし識別子は、 SCSI ターゲットデバイスに存在する
PERSISTENT RESERVE OUT コマンドを 全てのターゲットポートが登録され
受信した I_T ネクサスにより決定され る。
る。
1
0
a)登録されるポート名ないし識別子は、登録されるポート名ないし識別子は、
PERSISTENT RESERVE OUT コマンド PERSISTENT RESERVE OUT コマンドを
を受信した I_T ネクサスにより決定 受信した I_T ネクサスにより決定さ
される。
れる。
b)追加のパラメタデータ内の
TransportID により指定される
(6.12.3 を参照)。
1
1
a)登録されるポート名ないし識別子は、SCSI ターゲットデバイスに存在する
PERSISTENT RESERVE OUT コマンド 全てのターゲットポートが登録され
を受信した I_T ネクサスにより決定 る。
される。
b)追加のパラメタデータ内の
TransportID により指定される。
登録要求が処理された後、デバイスサーバは登録された I_T ネクサスからのその他の
PERSISTENT RESERVE OUT コマンドを処理することを許可しなければならない。デバイスサーバは
本節の記述に従い変更されるか、5.6.10 の記述に従い削除されるまで予約キーを保持しなければ
ならない。
登録されていない I_T ネクサスからの PERSISTENT RESERVE OUT コマンドの全てのサービスアク
ションは、REGISTER もしくは REGISTER AND IGNORE EXISTING KEY サービスアクションを除いて、
ステータスが RESERVATION CONFLICT で拒否されなければならない。
登録されている I_T ネクサスが同一の予約キーないし異なる予約キーで再度登録されることはエ
ラーではない。登録はその他の登録に影響を与えてはならない(例えば、同一の予約キーで複数
の I_T ネクサスが登録されている時に、それらの内のある 1 つの I_T ネクサスが再び登録された場
合、他の I_T ネクサスの登録に影響を与えない)。SERVICE ACTION RESERVATION KEY フィールド
に 0 ではない値を保持する登録は、他の永続予約にいかなる影響も与えてはならない(すなわち、
すでに生成されている永続予約に影響を与えることなく、I_T ネクサスの予約キーが変更される可
能性がある)。
複数の I_T ネクサスが同一の予約キーで登録されることが可能である。アプリケーションクライ
アントは、他の I_T ネクサスと論理ユニットに対して同一の予約キーを使用することが可能であ
る。
86
SCSI Primary Commands - 3 (SPC-3)
5.6.7
予約の登録と移動
REGISTER AND MOVE サービスアクションを設定した PERSISTENT RESERVE OUT コマンドは、指定
された I_T ネクサスを登録し(表 36 を参照)、予約を当該の I_T ネクサスに移動するために使用
される。
表36 REGISTER AND MOVE サービスアクションによる登録時の動作
コマンドが送信
パラメタリストのフィールド a
された I_T ネク
RESERVATION SERVICE ACTION UNREG
サスの状態
KEY
RESERVATION KEY
未登録の I_T ネ
クサスから受信
した
無視
予約の保持者で I_T ネクサス
ある登録された の予約キー
I_T ネクサスか
と異なる
ら受信した
I_T ネクサス
の予約キー
と同一
予約の保持者で
はない、登録さ
れた I_T ネクサ
スから受信した
無視
結果
無視
無視 既存の永続予約が存在する場合には
RESERVATION CONFLICT ステータスを返す。
永続予約が存在しない場合は CHECK
CONDITION ステータスを返す。b
無視
無視 RESERVATION CONFLICT ステータスを返す。
0
無視 CHECK CONDITION ステータスを返す。b
0 以外 c
無視
0
PERSISTENT RESERVE OUT コマンドを受信し
た I_T ネクサスは登録されたままでなければ
ならない。登録と移動の仕様については本
節を参照のこと。
1
PERSISTENT RESERVE OUT コマンドを受信し
た I_T ネクサスは、コマンド完了時に未登録
とならなければならない(5.6.10.3 を参
照)。登録と移動の仕様については本節を
参照のこと。
無視 RESERVATION CONFLICT ステータスを返す。
(a)パラメタリストの他のフィールドも含めた要求についてはこの表には示されていない。
6.12.4 を参照。
(b)センスキーは ILLEGAL REQUEST、追加センスコードは INVALID FIELD IN CDB が設定されなけ
ればならない。
(c)アプリケーションクライアントとバックアップアプリケーションは同じ予約キーを使用する
べきである。
REGISTER AND MOVE サービスアクションを設定した PERSISTENT RESERVE OUT コマンドが発行さ
れたが、デバイスサーバで操作を完了するために必要となるリソースが不足していた場合、コマ
ンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが
INSUFFICIENT REGISTRATION RESOURCE で終了されなければならない。
REGISTER AND MOVE サービスアクションを設定した PERSISTENT RESERVE OUT コマンドが受信さ
れ、かつ、確立される永続予約が書込排他-全登録者型(Write Exclusive-All Registrants)、
または、排他アクセス-全登録者型(Exclusive Access-All Registrants)の予約であれば、コ
マンドはステータスが RESERVATION CONFLICT で終了されなければならない。
87
SCSI Primary Commands - 3 (SPC-3)
REGISTER AND MOVE サービスアクションを設定した PERSISTENT RESERVE OUT コマンドが受信さ
れ、かつ、確立されている永続予約が存在しなければ、コマンドはステータスが CHECK
CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB で終了さ
れなければならない。
REGISTER AND MOVE サービスアクションを設定した PERSISTENT RESERVE OUT コマンドが、コマ
ンドを受信した I_T ネクサスのイニシエータポートと同一の TransportID を指定する場合、コマ
ンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが
INVALID FIELD IN PARAMETER LIST で終了されなければならない。
REGISTER AND MOVE サービスアクションを設定した PERSISTENT RESERVE OUT コマンドのレスポ
ンスで、デバイスサーバは割り込みのない一連の処理として下記を実行することにより、登録と
移動を行わなければならない。
a) APTPL ビットを処理する。
b) SCOPE と TYPE フィールドの内容を無視する。
c) 登録と移動の対象となる I_T ネクサスに対して、SERVICE ACTION RESERVATION KEY フィー
ルドで指定された予約キーを割り当てる。すなわち、
A) I_T ネクサスは TransportID と RESERVATION TARGET PORT IDENTIFIER フィールド
(6.12.4 を参照)で指定される。
B) TransportID で使用されているフォーマットにかかわらず、イニシエータポートの割り
当ては、ポート名が要求される場合には SCSI 転送プロトコルのイニシエータポート名
(3.1.52 を参照)に、ポート名が要求されない場合には SCSI 転送プロトコルのイニシ
エータポート識別子(3.1.51 を参照)に基づく。
d) SERVICE ACTION RESERVATION KEY フィールドで指定された予約キーを登録する。
e) SERVICE ACTION RESERVATION KEY フィールドで指定された予約キーと割り当てられた情報
を維持する。
f) 永続予約の保持者(すなわち、コマンドを受信した I_T ネクサス)の、永続予約を解放す
る。
g) f)で解放された永続予約と同じスコープと種別を用いて、指定された I_T ネクサスに永続
予約を移動する。
h) UNREG ビットに 1 が設定されていた場合は、PERSISTENT RESERVE OUT コマンドを受信した
I_T ネクサスについて登録解除(5.6.10.3 を参照)を行う。
同一の予約キーもしくは異なる予約キーによりすでに登録されている I_T ネクサスの登録を行う
REGISTER AND MOVE サービスアクションはエラーとは見なされない。
5.6.8
予約
アプリケーションクライアントは、下記のパラメタを指定して、登録された I_T ネクサスを通じ
て RESERVE サービスアクションを設定した PERSISTENT RESERVE OUT コマンドを発行することによ
り、永続予約を構築する。
a) 当該の I_T ネクサスにおいて論理ユニットに登録されている予約キーの値を RESERVATION
KEY フィールドに設定する。
b) 生成する永続予約の種別とスコープを、それぞれ TYPE と SCOPE フィールドに設定する。
論理ユニット毎同時に許可される永続予約は 1 つのみであり、永続予約は LU_SCOPE のスコープ
88
SCSI Primary Commands - 3 (SPC-3)
を持つ。
デバイスサーバが、永続予約を保持者(5.6.9 を参照)ではない I_T ネクサスから、論理ユニッ
トに永続予約がすでに存在している時に、永続予約の生成を試みる PERSISTENT RESERVE OUT コマ
ンドを受信した場合、コマンドは RESERVATION CONFLICT のステータスで拒否されなければならな
い。
永続予約の保持者が既存の永続予約の TYPE や SCOPE の変更を試みた場合、コマンドは
RESERVATION CONFLICT のステータスで拒否されなければならない。
デバイスサーバが、永続予約を保持している I_T ネクサスから、既存の永続予約と同じ TYPE と
SCOPE をもつ RESERVE サービスアクションを設定した PERSISTENT RESERVE OUT コマンドを受信し
た場合には、デバイスサーバは永続予約にいかなる変更も行ってはならず、GOOD ステータスを返
さなければならない。
永続予約が有効になる時の情報については 5.6.1 を参照のこと。
5.6.9
永続予約の保持者
永続予約の保持者は、下記の永続予約の種類によって決定される。
a) 書込排他-全登録者型(Write Exclusive-All Registrants)もしくは排他アクセス-全登
録者型(Exclusive Access-All Registrants)の永続予約においては、永続予約の保持者
は登録されている全ての I_T ネクサスとなる。
b) 他の全ての種類の永続予約においては、永続予約の保持者は下記いずれかの I_T ネクサス
となる。
A) REGISTER サービスアクション、REGISTER AND IGNORE EXISTING KEY サービスアクショ
ン、PREEMPT サービスアクション、PREEMPT AND ABORT サービスアクションのいずれか
が設定された PERSISTENT RESERVE OUT コマンドにより予約が確立された I_T ネクサス。
B) REGISTER AND MOVE サービスアクションを設定した PERSISTENT RESERVE OUT コマンドに
より予約が移動された I_T ネクサス。
永続予約の保持者は、READ RESERVATION サービスアクションを設定した PERSISTENT RESERVE IN
コマンドによりパラメタデータとして返される、下記いずれかの予約キーを保持する。
a) 書込排他-全登録者型(Write Exclusive-All Registrants)ないし排他アクセス-全登録
者型(Exclusive Access-All Registrants)においては、予約キーは 0 に設定されなけれ
ばならない。
b) 他の全ての種類の永続予約においては、予約キーは、永続予約を保持する I_T ネクサスで
登録された予約キーに設定されなければならない。
永続予約が存在する論理ユニットに対して、その永続予約と同一の TYPE と SCOPE を保持する、
RESERVE サービスアクションを設定した PERSISTENT RESERVE OUT コマンドを送信することは、永
続予約の保持者にとってはエラーとはならない(5.6.8 を参照)。
永続予約の保持者は、RELEASE サービスアクションを設定した PERSISTENT RESERVE OUT コマン
ドを使用することにより、永続予約を解放することが可能である(5.6.10.2 を参照)。
永続予約の保持者の登録が削除(5.6.10.1.1 を参照)された場合、予約は解放されなければな
らない。永続予約の保持者が複数個の I_T ネクサスだった場合は、永続予約の保持者である全て
の I_T ネクサスの登録が削除されるまでは、予約は解放されてはならない。
89
SCSI Primary Commands - 3 (SPC-3)
5.6.10
永続予約の解放と登録の削除
5.6.10.1 概要
5.6.10.1.1 永続予約の解放と登録を行うサービスアクションの概要
アプリケーションクライアントは、論理ユニットに登録された I_T ネクサスの予約キーを
RESERVATION KEY フィールドに設定し、当該の I_T ネクサスを通じて下記のコマンドを発行するこ
とにより、永続予約の解放または剥奪を行うことが可能である。
a) 永続予約の保持者から、RELEASE サービスアクションを設定した PERSISTENT RESERVE OUT
コマンド(5.6.10.2 を参照)。
b) 永続予約の保持者の予約キーを指定した、PREEMPT サービスアクションを設定した
PERSISTENT RESERVE OUT コマンド(5.6.10.4 を参照)。
c) 永続予約の保持者の予約キーを指定した、PREEMPT AND ABORT サービスアクションを設定し
た PERSISTENT RESERVE OUT コマンド(5.6.10.5 を参照)。
d) CLEAR サービスアクションを設定した PERSISTENT RESERVE OUT コマンド。
e) I_T ネクサスが永続予約の保持者であり永続予約が全登録者型ではない場合において、
SERVICE ACTION RESERVATION KEY フィールドに 0 を設定した、REGISTER サービスアクショ
ンか REGISTER AND IGNORE EXISTING KEY サービスアクションを設定した PERSISTENT
RESERVE OUT コマンド。
アプリケーションクライアントは、論理ユニットに登録された I_T ネクサスの予約キーを
RESERVATION KEY フィールドに設定し、当該の I_T ネクサスを通じて下記のコマンドを発行するこ
とにより、登録を削除することが可能である。
a) 削除される対象となる予約キーを SERVICE ACTION RESERVATION KEY フィールドに設定し、
PREEMPT サービスアクションを設定した PERSISTENT RESERVE OUT コマンド(5.6.10.4 を参
照)。
b) 削除される対象となる予約キーを SERVICE ACTION RESERVATION KEY フィールドに設定し、
PREEMPT AND ABORT サービスアクションを設定した PERSISTENT RESERVE OUT コマンド
(5.6.10.5 を参照)。
c) CLEAR サービスアクションを設定した PERSISTENT RESERVE OUT コマンド(5.6.10.6 を参
照)。
d) SERVICE ACTION RESERVATION KEY フィールドに 0 を設定し、REGISTER サービスアクション
か REGISTER AND IGNORE EXISTING KEY サービスアクションを設定した PERSISTENT RESERVE
OUT コマンド(5.6.10.3 を参照)。
予約キー(すなわち、登録)が削除されていたとき、I_T ネクサスが再び登録されるまでは、後
続する READ KEYS サービスアクションにより、削除された I_T ネクサスについて何らかの情報が
返されてはならない(5.6.6 を参照)。表 37 に示されるように、永続予約の保持者が削除される
際の永続予約についての処理は、予約の種類に依存する。
表37 解放された永続予約の処理
予約の種別
参照
書込排他-登録者限定型(Write Exclusive-Registrants Only)もしくは
排他アクセス-登録者限定型(Exclusive Access-Registrants Only)
5.6.10.1.2
書込排他-全登録者型(Write Exclusive-All Registrants)もしくは
排他アクセス-全登録者型(Exclusive Access-All Registrants)
5.6.10.1.3
90
SCSI Primary Commands - 3 (SPC-3)
書込排他(Write Exclusive)もしくは
排他アクセス(Write Exclusive)
5.6.10.1.4
電源喪失を通じて永続する能力が有効化されない場合においては、登録と永続予約はまた電源
喪失に伴い解放される可能性がある。デバイスサーバが受信した直近の APTPL の値が 0(6.12.3
を参照)だった場合、電源サイクルが生じた時は下記のようになる。
a) 全ての永続予約は解放される。
b) 全ての登録された予約キーは削除される(5.6.6 を参照)。
5.6.10.1.2
登録者限定型永続予約の解放処理
書込排他-登録者限定型(Write Exclusive-Registrants Only)もしくは排他アクセス-登録
者限定型(Exclusive Access-Registrants Only)の予約を持つ永続予約の保持者が非登録となっ
た場合は、永続予約は解放されなければならない。
予約キーが削除された全ての I_T ネクサスについて、デバイスサーバは当該の I_T ネクサスに関
連するイニシエータポートに対してユニット警告状態を確立しなければならず、かつ、追加セン
スコードには、下記のように PERSISTENT RESERVE OUT コマンドのサービスアクションに応じた値
を設定しなければならない。
a) サービスアクションが CLEAR であれば、追加センスコードは RESERVATIONS PREEMPTED が設
定されなければならない。
b) サービスアクションが PREEMPT もしくは PREEMPT AND ABORT であれば、追加センスコードは
REGISTRATIONS PREEMPTED が設定されなければならない。
TYPE と SCOPE が変更された場合、PERSISTENT RESERVE OUT コマンドを受信した I_T ネクサスを
除く予約キーが削除されなかった全ての I_T ネクサスに対して、デバイスサーバはそれぞれの I_T
ネクサスに関係するイニシエータポートに対して、追加センスコードが RESERVATIONS RELEASED
を設定したユニット警告状態を確立しなければならない。TYPE と SCOPE が変更されなければ、そ
れを理由としてユニット警告状態が確立されてはならない。
予約が解放された時、PERSISTENT RESERVE OUT コマンドを受信した I_T ネクサスを除く予約
キーが解放されなかった全ての I_T ネクサスに対して、追加センスコードが RESERVATIONS
RELEASED を設定したユニット警告状態を確立しなければならない。予約が解放されなければ、そ
れを理由としてユニット警告状態が確立されてはならない。
5.6.10.1.3
全登録者型永続予約の解放処理
書込排他-全登録者型(Write Exclusive-All Registrants)もしくは排他アクセス-全登録者
型(Exclusive Access-All Registrants)の永続予約は、登録された I_T ネクサスの最後のもの
の登録が削除された時か、TYPE もしくは SCOPE が変更された時には、解放されなければならない。
デバイスサーバは、予約キーが削除された全ての I_T ネクサスに関係するイニシエータポートに
対して、下記の追加センスコードを設定したユニット警告状態を確立しなければならない。
a) サービスアクションが CLEAR であれば、追加センスコードは RESERVATIONS PREEMPTED が設
定されなければならない。
b) サービスアクションが PREEMPT もしくは PREEMPT AND ABORT であれば、追加センスコードは
REGISTRATIONS PREEMPTED が設定されなければならない。
永続予約が RELEASE サービスアクションを用いて解放された場合については 5.6.10.2 を参照の
こと。
91
SCSI Primary Commands - 3 (SPC-3)
5.6.10.1.4
その他の永続予約の解放処理
書込排他もしくは排他アクセス型予約についての永続予約の保持者(5.6.9 を参照)が非登録と
なった場合、永続予約は解放されなければならない。
5.6.10.2
解放
永続予約の保持者(5.6.9 を参照)だけが、永続予約を解放することができる。
アプリケーションクライアントは、永続予約の保持者である I_T ネクサスを通じて、下記のパラ
メタと共に RELEASE サービスアクションを設定した PERSISTENT RESERVE OUT コマンドを発行する
ことにより永続予約を解放する。
a) RESERVATION KEY フィールドに、論理ユニットに登録された I_T ネクサスの予約キーが設定
されている。
b) TYPE と SCOPE フィールドの値が、解放される永続予約と同じである。
永続予約の保持者により発行された永続予約の解放要求に対するレスポンスとして、デバイス
サーバは下記を割り込みのない一連の処理として実行することにより、永続予約の解放を行わな
ければならない。
a) 永続予約を解放する。
b) いかなる登録も削除しない。
c) 解放される永続予約が登録者限定、もしくは全登録者型の予約だった場合、デバイスサー
バは RELEASE サービスアクションを設定した PERSISTENT RESERVE OUT コマンドを受信した
I_T ネクサスを除く、全ての登録された I_T ネクサスに関連するイニシエータポートに対し
て、追加センスコード RESERVATION RELEASED を設定したユニット警告状態を確立しなけれ
ばならない。
d) 永続予約が他の型だった場合、デバイスサーバはユニット警告状態を確立してはならない。
PERSISTENT RESERVE OUT コマンドで、下記全ての条件に該当する永続予約の解放を指示された
場合、確立された永続予約は変更されてはならず、コマンドはステータスが CHECK CONDITION、セ
ンスキーが ILLEGAL REQUEST、追加センスコードが INVALID RELEASE OF PERSISTENT RESERVATION
で終了されなければならない。
a) 要求している I_T ネクサスが永続予約の保持者である(5.6.9 を参照)。
b) SCOPE と TYPE フィールドの値が確立された永続予約と一致しない。
永続予約が存在しない場合や、永続予約の保持者(5.6.9 を参照)ではない登録された I_T ネク
サスからの永続予約の解放要求に対して応答する場合には、デバイスサーバは下記を実行しなけ
ればならない。
a) 永続予約を解放しない。
b) いかなる登録も削除しない。
c) GOOD ステータスを返す。
5.6.10.3
登録の削除
アプリケーションクライアントは、登録の削除対象となる I_T ネクサスを通じて、SERVICE
ACTION RESERVATION KEY フィールドに 0 を設定し、REGISTER サービスアクションか REGISTER AND
IGNORE EXISTING KEY サービスアクションを設定した PERSISTENT RESERVE OUT コマンドを発行す
ることにより、I_T ネクサスの登録を削除することが可能である。
92
SCSI Primary Commands - 3 (SPC-3)
当該の I_T ネクサスが永続予約の保持者であり、永続予約が全登録者型のものであり、当該の
I_T ネクサスが登録されたものの内の最後の 1 つだった場合には、デバイスサーバは永続予約を解
放しなければならない。
当該の I_T ネクサスが永続予約の保持者であり、永続予約が全登録者型以外のものであった場合、
デバイスサーバは永続予約を解放しなければならない。。永続予約が登録者限定型だった場合、
デバイスサーバは全ての登録された I_T ネクサスに関係するイニシエータポートに対して、追加
センスコード RESERVATION RELEASED を設定したユニット警告状態を確立しなければならない。
5.6.10.4 剥奪
5.6.10.4.1 概要
PREEMPT サービスアクションないし PREEMPT AND ABORT サービスアクションを設定した
PERSISTENT RESERVE OUT コマンドは下記のために使用される。
a) 永続予約を剥奪(すなわち、置き換え)し、登録を削除する。
b) 登録を削除する。
表 38 は、現在の永続予約の種別と、PERSISTENT RESERVE OUT コマンドの SERVICE ACTION
RESERVATION KEY フィールドに基づいて、実行される動作についての一覧である。
表38 剥奪の動作
予約の型
SERVICE ACTION
RESERVATION KEY
全登録者型 0
0 以外
その他全て 0
の型
動作
参照
永続予約を剥奪し、登録を削除する。
5.6.10.4.3
登録を削除する。
5.6.10.4.4
ステータスが CHECK CONDITION、センスキーが
ILLEGAL REQUEST、追加センスコードが INVALID
FIELD IN PARAMETER LIST でコマンドは終了される。
予約の保持者の予約 永続予約を剥奪し、登録を削除する。
キー
5.6.10.4.3
0 以外の他の全ての
予約キー
5.6.10.4.4
登録を削除する。
図 3 は、デバイスサーバが動作(例えば、永続予約の剥奪、登録の削除、あるいは永続予約の剥
奪と登録の削除の両方)を決定するに当たり PREEMPT サービスアクションをどのように解釈する
のかを説明している。
93
SCSI Primary Commands - 3 (SPC-3)
PREEMPT
サービスアクション
登録された I_T
ネクサスからの
要求か
No
RESERVATION CONFLICT
ステータス
完了
Yes
RESERVATION
KEY と SERVICE ACTION
RESERVATION KEY の
値は正しいか
No
a) 他の全ての登録を削除する
b) 永続予約を解放する
c) 新しい TYPE と SCOPE を使用し
永続予約を生成する
Yes
永続予約は存在
するか
No
SERVICE ACTION RESERVATION
KEY で指定された登録を削除する
Yes
全登録者型の永
続予約か
Yes
Yes
SERVICE ACTION
RESERVATION
KEY の値は 0 か
No
No
SERVICE ACTION
RESERVATION
KEY の値は 0 か
Yes
No
No
SERVICE
ACTION RESERVATION
KEY の値が永続予約の
保持者の予約キーと
等しいか
Yes
a)SERVICE ACTION RESERVATION
KEY で指定された登録を削除する
b) 永続予約を解放する
c) 新しい TYPE と SCOPE を使用し
永続予約を生成する
ILLEGAL REQUEST センスキー
SERVICE ACTION RESERVATION
KEY で指定された登録を削除する
完了
完了
完了
図3. デバイスサーバにおける PREEMPT サービスアクションの解釈
5.6.10.4.2
永続予約の剥奪の失敗
剥奪を試みる I_T ネクサスの PREEMPT サービスアクションまたは PREEMPT AND ABORT サービスア
クションが失敗した場合(例えば、TASK SET FULL を繰り返す、BUSY ステータスを繰り返す、
SCSI 転送プロトコルのタイムアウト、失敗したイニシエータポートや失敗した SCSI イニシエータ
デバイスによりタスクセットがブロックされタイムアウトが生じる)、アプリケーションクライ
アントは、失敗した論理ユニットに対して LOGICAL UNIT RESET タスク管理機能を発行しブロック
状態にあるタスクを削除し、剥奪のサービスアクションを再発行することが可能である。
5.6.10.4.3
永続予約の剥奪と登録の扱い
アプリケーションクライアントは登録された I_T ネクサスを通じて、下記のパラメタを設定する
と共に PREEMPT サービスアクションないし PREEMPT AND ABORT サービスアクションを設定した
94
SCSI Primary Commands - 3 (SPC-3)
PERSISTENT RESERVE OUT コマンドを発行することにより、他の永続予約と併せて永続予約を剥奪
することが可能である。
a) RESERVATION KEY フィールドに、論理ユニットに登録された当該 I_T ネクサスの予約キーを
設定する。
b) SERVICE ACTION RESERVATION KEY フィールドに、剥奪される対象となる永続予約の予約
キーの値を設定する。
c) 新しい永続予約を定義する TYPE と SCOPE フィールドに値を設定する。剥奪を試みる I_T ネ
クサスにより生成される永続予約の TYPE と SCOPE は、剥奪される永続予約とは異なる可能
性がある。
SERVICE ACTION RESERVATION KEY フィールドが永続予約の保持者(5.6.9 を参照)を識別する場
合は、デバイスサーバは下記の処理を割り込みのない一連の処理として実行することにより剥奪
を実行しなければならない。
a) SERVICE ACTION RESERVATION KEY フィールドにより識別される保持者の永続予約を解放す
る。
b) PERSISTENT RESERVE OUT コマンドで使用されている I_T ネクサスを除く、SERVICE ACTION
RESERVATION KEY フィールドにより識別される全ての I_T ネクサスについて登録を削除する。
全登録者型の永続予約が存在し、SERVICE ACTION RESERVATION KEY フィールドの値が 0 で
あれば、PERSISTENT RESERVE OUT コマンドで使用された I_T ネクサスを除く、全ての内容
が削除されなければならない。
c) SCOPE と TYPE フィールドの内容を使用し、剥奪を試みる I_T ネクサスのために永続予約を
確立する。
d) 5.6.1 の定義に従いタスクを実行する。
e) 永続予約もしくは登録を喪失した全ての I_T ネクサスに関係するイニシエータポートに対
して、追加センスコード REGISTRATIONS PREEMPTED を設定したユニット警告状態を確立す
る。
PERSISTENT RESERVE OUT コマンドに対して GOOD ステータスが返された後は、新しいタスクは剥
奪を行った I_T ネクサスにより確立された永続予約による制約を受ける。
下記のタスクは、剥奪された永続予約による制限、もしくは剥奪を行った I_T ネクサスによる制
限のいずれか、ベンダ固有のルールによる影響を受けなければならない。
a) PREEMPT サービスアクションないし PREEMPT AND ABORT サービスアクションを設定した
PERSISTENT RESERVE OUT コマンドが到達した後、完了する前に受信されたタスク。
b) PREEMPT サービスアクションないし PREEMPT AND ABORT サービスアクションを設定した
PERSISTENT RESERVE OUT コマンドが到達した時に、休止状態、ブロック状態、有効状態
(SAM-3 を参照)だったタスク。
PREEMPT AND ABORT サービスアクションが設定された PERSISTENT RESERVE OUT コマンドが中断
され、かつ、制御モードページ(7.4.6 を参照)の TAS ビットに 0 が設定されている場合を除いて、
完了ステータスが返されなければならない。
全登録者型の永続予約が存在しない場合、永続予約の保持者が自分自身に対して剥奪を行うこ
とはエラーではない(すなわち、SERVICE ACTION RESERVATION KEY フィールドに永続予約の保持
者の予約キーと同じ値が設定され、PREEMPT サービスアクションないし PREEMPT AND ABORT サービ
スアクションが設定された PERSISTENT RESERVE OUT コマンドを、当該の永続予約の保持者から受
信した場合)。この場合、デバイスサーバは新しい永続予約を確立し、登録を更新しなければな
95
SCSI Primary Commands - 3 (SPC-3)
らない。
5.6.10.4.4
登録の削除
登録された予約キーが永続予約の保持者(5.6.9 を参照)を識別しない場合、アプリケーション
クライアントは、登録された I_T ネクサスを通じて、下記のパラメタを設定し PREEMPT サービス
アクションを設定した PERSISTENT RESERVE OUT コマンドを発行することにより、永続予約に影響
を与えることなく登録を削除することが可能である。
a) RESERVATION KEY フィールドに I_T ネクサスの登録された予約キーの値を設定する。
b) SERVICE ACTION RESERVATION KEY フィールドに削除される登録の予約キーと同じ値を設定
する。
SERVICE ACTION RESERVATION KEY フィールドが永続予約の保持者を識別しない場合、もしくは
永続予約の保持者が存在しない場合(すなわち、永続予約が存在しない場合)、デバイスサーバ
は、下記の処理を割り込みのない一連の処理として実行することにより、剥奪を実行しなければ
ならない。
a) SERVICE ACTION RESERVATION KEY により指定された全ての I_T ネクサスについて登録を削
除する。
b) SCOPE と TYPE フィールドの内容を無視する。
c) 5.6.1 の定義に従いタスクを実行する。
d) PERSISTENT RESERVE OUT コマンドを受信した I_T ネクサスを除く、登録が削除された全て
の I_T ネクサスに関するイニシエータポートに対して、REGISTRATION PREEMPTED の追加セ
ンスコードを設定したユニット警告状態を確立する。
PREEMPT サービスアクションか PREEMPT AND ABORT サービスアクションを設定した PERSISTENT
RESERVE OUT コマンドで、SERVICE ACTION RESERVATION KEY フィールドに設定された値がいかな
る予約キーとも一致しなかった場合は、デバイスサーバは RESERVATION CONFLICT ステータスを返
さなければならない。
PREEMPT サービスアクションか PREEMPT AND ABORT サービスアクションが設定された PERSISTENT
RESERVE OUT コマンドにおいて、RESERVATION KEY と SERVICE ACTION RESERVATION KEY に同じ値
が設定されることはエラーではない。しかし。PERSISTENT RESERVE OUT コマンドを受信した I_T
ネクサスに対してユニット警告状態は確立されない。登録は削除される。
5.6.10.5
剥奪と中断
PREEMPT AND ABORT サービスアクションを設定した PERSISTENT RESERVE OUT コマンドに対する
アプリケーションクライアントのリクエストと、デバイスサーバのレスポンスは、下記を除いて
PREEMPT サービスアクション(5.6.10.4 を参照)と同一である。予約の競合が生じなかった場合、
デバイスサーバは下記を割り込みのない一連の処理として実行しなければならない。
a) 永続予約が全登録者型ではなかった場合。
A) TST フィールドの値が 000b(7.4.6 を参照)であり、かつ、失敗 I_T ネクサスが存在し、
かつ、それが剥奪されつつある永続予約や登録に関連する I_T ネクサスではなかった場
合は、タスクセットの ACA 状態は SAM-3 の定義に従い処理されなければならない。
B) TST フィールドの値が 000b であり、かつ、失敗した I_T ネクサスが存在する場合に、そ
れが剥奪されつつある永続予約や登録に関連する I_T ネクサスであった場合は、
PERSISTENT RESERVE OUT コマンドはタスクセット内の ACA 状態に関わりなく処理されな
ければならない。
96
SCSI Primary Commands - 3 (SPC-3)
C) TST フィールドの値が 001b であれば、ACA 状態は SAM-3 で定義されたとおりに処理され
なければならない。
b) PREEMPT サービスアクション(5.6.10.4 を参照)で定義された処理を、割り込みのない一
連の処理として実行する。
c) PERSISTENT RESERVE OUT コマンド自身を含むタスクを除き、剥奪されつつある永続予約や
登録に関連する I_T ネクサスから受信した全てのタスク(すなわち、剥奪されるタスク)
は、SAM-3 の定義に従い中断されなければならない。中断されたコマンドがデバイスサーバ
で追加のコマンドとデータ転送を生成するもの(例えば、EXTENDED COPY)である場合、当
該コマンドにより生成されたコマンドとデータ転送は、ABORT TASK SET タスク管理機能が
完了したと見なされる前までに中断されなければならない。ABORT TASK SET 機能が完了し
た後、全ての新しいタスクは剥奪を試みた I_T ネクサスにより確立された永続予約による
制限を受ける。
d) 永続予約が全登録者型ではなかった場合、デバイスサーバは剥奪されつつある I_T ネクサ
スに関連する全ての ACA 状態をクリアしなければならず、かつ、当該の I_T ネクサスから受
信した ACA 属性のあるタスクを全て中断しなければならない。
e) 永続予約が全登録者型だった場合。
A) SERVICE ACTION RESERVATION KEY の値が 0 だった場合、デバイスサーバは全ての ACA 状
態をクリアしなければならず、ACA 属性の全てのタスクを中断しなければならない。
B) SERVICE ACTION RESERVATION KEY に 0 以外の値が設定されていた場合、デバイスサーバ
は指定された予約キーにより登録されている全ての I_T ネクサスに対して、下記を実行
しなければならない。
a) 全ての ACA 状態をクリアする。
b) ACA 属性を持つ全てのタスクをクリアする。
f) PREVENT ALLOW MEDIUM REMOVAL コマンドを実装する論理ユニットにおいては、デバイス
サーバは、剥奪されつつある永続予約に関係する I_T ネクサスから受信した、PREVENT
フィールドに 0 を設定した PREVENT ALLOW MEDIUM REMOVAL コマンドの処理と同等の処理を
実行しなければならない(6.13 を参照)。
この節で記述された動作は、剥奪される I_T ネクサスが永続予約を保持するか否かに関係なく、
SERVICE ACTION RESERVATION KEY に 0 以外の値が設定され登録されている全ての I_T ネクサスに
ついて実行されなければならない。SERVICE ACTION RESERVATION KEY の値が 0 であり、全登録者
型の永続予約が存在する場合、デバイスサーバは全ての登録された I_T ネクサスについて全ての
タスクを中断しなければならない。
5.6.10.6
クリア
アプリケーションクライアントは、下記のパラメタを設定して、登録した I_T ネクサスを通じて
CLEAR サービスアクションを設定した PERSISTENT RESERVE OUT コマンドを発行することによって、
デバイスサーバから全ての登録を削除し永続予約を解放することが可能である。
a) RESERVATION KEY フィールドに、論理ユニットに登録された I_T ユニットの予約キーを設定
する。
このリクエストに対するレスポンスで、デバイスサーバは下記の処理を割り込みのない一連の
処理として実行することによりクリアを行わなければならない。
a) 永続予約が存在する場合はそれを解放する。
b) 全ての登録を削除する(5.6.6 を参照)。
97
SCSI Primary Commands - 3 (SPC-3)
c) SCOPE と TYPE フィールドの内容を無視する。
d) 任意の I_T ネクサスから受信した、デバイスサーバに受け入れることが許可された(すな
わち、競合が生じていない)任意のタスクについて通常の処理を継続する。
e) CLEAR サービスアクションを設定した PERSISTENT RESERVE OUT コマンドを受信した I_T ネ
クサスを除いて、登録されている全ての I_T ネクサスに関係するイニシエータポートに対
して、RESERVATION PREEMPTED の追加センスコードを設定したユニット警告状態を確立する。
注意 10:CLEAR サービスアクションの影響は、データ一貫性についての永続予約の特性を無効化
するため、アプリケーションクライアントは自分のイニシエータポートに関係するリカバリ操作
のため以外では CLEAR サービスアクションを使用するべきではない。
5.7
複数ターゲットポートとイニシエータポートの動作
SAM-3 では、アプリケーションクライアントから複数のイニシエータポートやターゲットポート
を通じてアクセスされる場合における、論理ユニットの動作について規定している。追加のイニ
シエータポートとターゲットポートは、デバイスサーバに到達可能な複数の I_T ネクサスを構成
することを可能とする。複数構成の I_T ネクサスは、論理ユニットである種の失敗が生じた場合
における信頼性を向上し、また、いくつかの I_T ネクサスがビジー状態になりうる場合に、アプ
リケーションクライアントと論理ユニットの間の通信速度を向上するために使用することが可能
である。
1 つのターゲットポートが 1 つのイニシエータポートで使用される場合、下記いずれかの場合に
他のターゲットポートを通じてアクセスされる可能性がある。
a) BUSY ステータスを受信した。
b) 他のターゲットポートが利用中ではないものと判断される。
デバイスサーバは、標準 INQUIRY データの MULTIP ビットに 1 を設定することにより、複数のター
ゲットポートが存在することを示さなければならない。
ある I_T ネクサスにおける下記の操作のみが、他の I_T ネクサスのタスクに対して影響を与える
ことが可能である。
a) 永続予約を剥奪する PREEMPT サービスアクションを設定した PERSISTENT RESERVE OUT コマ
ンド(5.6.10.4 を参照)。
b) 全ての I_T ネクサスの永続予約を解放する、CLEAR サービスアクションを設定した
PERSISTENT RESERVE OUT コマンド(5.6.10.6 を参照)。
c) ある I_T ネクサスに対して、他の I_T ネクサスから受信したタスクを中断することを許可す
るコマンドとタスク管理機能(SAM-3 を参照)。
5.8
ターゲットポートグループアクセスの説明
5.8.1
ターゲットポートグループアクセスの概要
論理ユニットは複数のターゲットポートを通じてサービスデリバリサブシステムに接続される
可能性がある(SAM-3 を参照)。複数のターゲットポートを通じたアクセスは対称(5.8.3 を参
照)もしくは非対称(5.8.2 を参照)に行われる可能性がある。
5.8.2
5.8.2.1
非対称論理ユニットアクセス
非対称論理ユニットアクセスの序論
非対称論理ユニットアクセスは、あるポートのアクセス特性が他のポートと異なる可能性があ
る場合に生じる。ターゲットポートが分離した物理ユニットにより実装される SCSI ターゲットデ
98
SCSI Primary Commands - 3 (SPC-3)
バイスは、各論理ユニットに割り当てられたターゲットポートにおけるアクセスのレベルが異な
ることを明らかにしなければならない可能性がある。コマンドとタスク管理機能(SAM-3 を参照)
が任意のターゲットポートを通じて配信される可能性のある場合、性能が最適化されない可能性
があり、コマンドやタスク管理機能が別のターゲットポートを通じて配信される時と比較して、
受け入れられるコマンドセットが少なくなる可能性がある。ある 1 つのターゲットポートに至る
パスで失敗が検知されたとき、SCSI ターゲットデバイスは、異なるターゲットポートからのアク
セスを受け入れることができるよう、論理ユニットに対して自動的に内部的な再構成を行う可能
性があり、あるいはアプリケーションクライアントから、論理ユニットを異なるターゲットポー
トのセットからアクセスできるようにする様、指示される可能性がある。
ターゲットポート非対称アクセス状態(5.8.2.4 を参照)と呼ばれるターゲットポートの特性は、
ターゲットポートの特徴と、その特性を維持するターゲットポートを通じてコマンドやタスク管
理機能が論理ユニットに配信される際に許可されるコマンドセットについて規定する。
ターゲットポートグループは、常に同じターゲットポート非対称アクセス状態にあるターゲッ
トポートのセットとして定義される。ターゲットポートグループ非対称アクセス状態は、ター
ゲットポートグループ内のターゲットポートのセットで共有されるターゲットポート非対称アク
セス状態として定義される。ターゲットポートのグループ化はベンダ固有である。
論理ユニットは複数のターゲットポートグループを通じて配信されるコマンドやタスク管理機
能を保持する可能性がある。論理ユニットは、異なるターゲットポートグループが異なるター
ゲットポートグループ非対称アクセス状態になる可能性がある場合、非対称論理ユニットアクセ
スをサポートする。
非対称論理ユニットアクセスの例は、2 つの分離したコントローラを持つ SCSI コントローラデ
バイスであり、1 つのコントローラに存在する全てのターゲットポートが論理ユニットに関して同
一の非対称アクセス状態にあり、かつ、同一のターゲットポートグループのメンバとなるような
ものである。他のコントローラに存在するターゲットポートは他のターゲットポートグループの
メンバである。各ターゲットポートグループの動作は論理ユニットに関して異なったものとなる
可能性があるが、単一のターゲットポートグループに存在する全てのメンバは、論理ユニットに
関して常に同じターゲットポート非対称アクセス状態となる。
図 4 にターゲットポートグループの例を示す。
論理ユニット
ターゲットポート
グループ 1
ターゲットポート 1
ターゲットポート
グループ n
ターゲットポート 2
……
ターゲットポート n
図4. ターゲットポートグループの例
5.8.2.2
明示的・暗黙的な非対称論理ユニットアクセス
非対称論理ユニットアクセスは、REPORT TARGET PORT GROUPS(6.25 を参照)と SET TARGET
PORT GROUPS(6.31 を参照)コマンドによりアプリケーションクライアントから明示的に管理する
ことが可能である。
99
SCSI Primary Commands - 3 (SPC-3)
代わりに、非対称論理ユニットアクセスは、デバイスサーバにより各ターゲットポートを通じ
て配信されるトランザクションの種別と、論理ユニットにアクセスする際に使用されるターゲッ
トポートグループの内部で構成される機能に基づき、暗黙的に管理される可能性がある。論理ユ
ニットは、他のターゲットポートグループがより性能の低いターゲットポート非対称アクセス状
態を選択することを許可することにより、最も忙しく最も確かな性能を示すターゲットポートグ
ループについて、完全な性能を維持するよう試みる可能性がある。
明示的および暗黙的の非対称論理ユニットアクセス管理方法の両方が実装される場合、どちら
が優先されるかはベンダ固有である。
5.8.2.3
非対称論理ユニットアクセスの動作の検出
非対称論理ユニットアクセスが存在する SCSI 論理ユニットは INQUIRY コマンドを使用すること
により識別することが可能である。ターゲットポートグループサポート(Target Port Group
Support:TPGS)フィールド(6.4.2 を参照)の値は、論理ユニットが非対称論理ユニットアクセス
をサポートするか否かと、明示的ないし暗黙的な管理がサポートされるかを示す。論理ユニット
によりサポートされる非対称アクセス状態は REPORT TARGET PORT GROUPS コマンドのパラメタ
データにより取得することが可能である。
5.8.2.4 ターゲットポート非対称アクセス状態
5.8.2.4.1 ターゲットポート非対称アクセス状態の概要
非対称論理ユニットアクセスをサポートする事を INQUIRY データで報告する全ての SCSI ター
ゲットデバイスでは、ターゲットポートグループ内の全てのターゲットポートは、論理ユニット
に情報を配信する能力に関して同一のターゲットポート非対称アクセス状態とならなければなら
ない。ターゲットポート非対称アクセス状態は下記の通りである。
a) 有効/最適化有り
b) 有効/最適化無し
c) スタンバイ
d) 無効
5.8.2.4.2
有効/最適化有り
コマンドとタスク管理機能が有効/最適化有りターゲットポート非対称アクセス状態のター
ゲットポートを通じて配信されつつある場合、デバイスサーバは、該当するコマンド標準
(3.1.18 を参照)の規定に従い機能(例えば、コマンドへの応答)を果たさなければならない。
ターゲットポートグループ内の全てのターゲットポートは論理ユニットに即時にアクセスする能
力を持つべきである。
SCSI ターゲットデバイスは SAM-3 で定義され、該当する SCSI 転送プロトコルで更新(3.1.102
を参照)される全てのタスク管理機能に関与しなければならない。
5.8.2.4.3
有効/最適化無し
コマンドとタスク管理機能が有効/最適化無しターゲットポート非対称アクセス状態のター
ゲットポートを通じて配信される時、デバイスサーバは該当するコマンド標準で規定される機能
を果たさなければならない。
いくつかのタスク管理機能とコマンドの処理、特にデータ転送もしくはキャッシングを行うも
のは、有効/最適化有りターゲットポート非対称アクセス状態のターゲットポートを通じて実行
される場合と比較して、性能が劣化する可能性がある。
SCSI ターゲットデバイスは SAM-3 で定義され、適応される SCSI 転送プロトコル標準(3.1.102
100
SCSI Primary Commands - 3 (SPC-3)
を参照)で変更される、全てのタスク管理機能に関与しなければならない。
5.8.2.4.4
スタンバイ状態
スタンバイターゲットポート非対称アクセス状態のターゲットポートを通じてアクセスされる
場合、デバイスサーバは有効/最適化有りターゲットポート非対称アクセス状態でサポートされ
る下記のコマンドをサポートしなければならない。
a) INQUIRY
b) LOG SELECT
c) LOG SENSE
d) MODE SELECT
e) MODE SENSE
f) REPORT LUNS(LUN0 に対して)
g) RECEIVE DIAGNOSTIC RESULTS
h) SEND DIAGNOSTIC
i) REPORT TARGET PORT GROUPS
j) SET TARGET PORT GROUPS
k) REQUEST SENSE
l) PERSISTENT RESERVE IN
m) PERSISTENT RESERVE OUT
n) READ BUFFER のエコーバッファモード
o) WRITE BUFFER のエコーバッファモード
デバイスサーバは他のコマンドをサポートする可能性がある。
サポートされないコマンドに対して、デバイスサーバはステータスが CHECK CONDITION、センス
キーが NOT READY、追加センスコードが LOGICAL UNIT NOT ACCESSIBLE, TARGET PORT IN STANDBY
STATE でコマンドを終了しなければならない。
SCSI ターゲットデバイスは SAM-3 で定義され、該当する SCSI 転送プロトコル標準(3.1.102 を
参照)で変更される全てのタスク管理機能に関与しなければならない。
5.8.2.4.5
無効状態
無効ターゲットポート非対称アクセス状態のターゲットポートを通じてアクセスされる場合、
デバイスサーバは制限されたコマンドのセットのみを受け入れなければならない。無効ターゲッ
トポート非対称アクセス状態は、ターゲットポートから論理ユニットへのアクセスが SCSI ター
ゲットデバイスの制限(例えば、ハードウェアエラー)により重大な制約を受ける場合を想定し
ている。そのため、この状態から有効/最適化有りや有効/最適化無し、スタンバイ状態へ遷移
することが不可能な可能性がある。無効ターゲットポート非対称アクセス状態はまた、WRITE
BUFFER コマンドのダウンロードマイクロコードモードにおける破壊を最小限に抑えることも目的
としている。
無効ターゲットポート非対称アクセス状態である間、デバイスサーバは有効/最適化有り状態
でサポートされる下記のコマンドをサポートしなければならない。
101
SCSI Primary Commands - 3 (SPC-3)
a) INQUIRY(末端修飾子(6.4.2 を参照)は 001b でなければならない)
b) REPORT LUNS(LUN0 に対して)
c) REPORT TARGET PORT GROUPS
d) SET TARGET PORT GROUPS
e) REQUEST SENSE
f) READ BUFFER のエコーバッファモード
g) WRITE BUFFER のエコーバッファモード
h) WRITE BUFFER のダウンロードマイクロコードモード
デバイスサーバはその他のコマンドをサポートする可能性がある。
サポートされないコマンドに対して、デバイスサーバはステータスが CHECK CONDITION、センス
キーが NOT READY、追加センスコードが LOGICAL UNIT NOT ACCESSIBLE, TARGET PORT IN
UNAVAILABLE STATE でコマンドを終了しなければならない。
SCSI ターゲットデバイスは全てのタスク管理機能に関与することは要求されない(SAM-3 と該当
する SCSI 転送プロトコル標準を参照)。
5.8.2.5
ターゲットポート非対称アクセス状態の間の遷移
あるターゲットポート非対称アクセス状態から別の状態への移動は遷移と呼ばれる。
ターゲットポート非対称アクセス状態の間の遷移中、デバイスサーバは下記いずれか 1 つの方法
によりコマンドに応答しなければならない。
a) 遷移中に論理ユニットへアクセスできない場合、遷移は不可視な単一のイベントとして実
行され、デバイスサーバはステータスで BUSY を返すか、あるいはステータスで CHECK
CONDITION、センスキーで NOT READY、追加センスコードで LOGICAL UNIT NOT ACCESSIBLE,
ASYMMETRIC ACCESS STATE TRANSITION を返すかのいずれかにより応答しなければならない。
b) ターゲットポートグループ内のターゲットポートが、遷移中に指定された論理ユニットに
アクセスすることが可能であれば、デバイスサーバは有効/最適化有り非対称アクセス状
態でサポートされる下記のコマンドをサポートしなければならない。
A) INQUIRY
B) REPORT LUNS(LUN0 に対して)
C) REPORT TARGET PORT GROUPS
D) REQUEST SENSE
E) READ BUFFER のエコーバッファモード
F) WRITE BUFFER のエコーバッファモード
デバイスサーバは、これらのコマンドが非対称アクセス状態の遷移中であるターゲットポー
トを通じて配信されている間に、その他のコマンドをサポートする可能性がある。
遷移中にサポートされないコマンドに対して、デバイスサーバはステータスが CHECK
CONDITION、センスキーが NOT READY、追加センスコードが LOGICAL UNIT NOT ACCESSIBLE,
ASYMMETRIC ACCESS STATE TRANSITION でコマンドを終了しなければならない。
SCSI ターゲットデバイスは全てのタスク管理機能に関与することは求められない。
102
SCSI Primary Commands - 3 (SPC-3)
遷移がサポートされた非対称アクセス状態に対して明示的であり、かつ、それが失敗した場合
には、コマンドはステータスが CHECK CONDITION、センスキーが HARDWARE ERROR、追加センス
コードが SET TARGET PORT GROUPS COMMAND FAILED で終了されなければならない。エラーが生じ
たターゲットポートグループは無効ターゲットポート非対称アクセス状態への遷移を完了するべ
きである。遷移が失敗したことの結果としてターゲットポートグループ非対称アクセス状態の変
更が生じた場合、デバイスサーバは SET TARGET PORT GROUPS コマンドを受信した I_T ネクサスを
除く、全ての I_T ネクサスに関係するイニシエータポートに対して ASYMMETRIC ACCESS STATE
CHANGED の追加センスコードを設定したユニット警告状態を確立しなければならない。
遷移が暗黙的であり、かつ、それが失敗した場合には、デバイスサーバは全ての I_T ネクサスに
関係するイニシエータポートに対して、IMPLICIT ASYMMETRIC ACCESS STATE TRANSITION FAILED
の追加センスコードを設定したユニット警告状態を確立しなければならない。
遷移が失敗した後、暗黙的に CLEAR TASK SET タスク管理機能が実行される可能性がある。
遷移が完了すると、遷移が完了する前にタスクセットに格納された複数ないし全てのタスクに
対して、新しいターゲットポート非対称アクセス状態が適用される。遷移が完了した後にデバイ
スサーバに到達した全てのタスクに対して、新しいターゲットポート非対称アクセス状態が適用
されなければならない。
暗黙的にターゲットポート非対称アクセス状態が変更した後、デバイスサーバは全ての I_T ネク
サスに関係するイニシエータポートに対して、追加センスコードに ASYMMETRIC ACCESS STATE
CHANGED を設定したユニット警告状態を確立しなければならない。
明示的にターゲットポート非対称アクセス状態が変更された後、デバイスサーバは SET TARGET
GROUPS コマンドを受信した I_T ネクサスを除く、全ての I_T ネクサスに関係するイニシエータ
ポートに対して、追加センスコード ASYMMETRIC ACCESS STATE CHANGED を設定したユニット警告
状態を確立しなければならない。
5.8.2.6
優先指示
デバイスサーバはターゲットポートグループ記述子(6.25 を参照)の PREF ビットに 1 を設定す
ることにより、1 つないし複数のターゲットポートグループが論理ユニットにアクセスするために
優先されるターゲットポートグループであることを示すことが可能である。優先指示は非対称ア
クセス状態とは独立である。
アプリケーションクライアントはターゲットポートグループ記述子の PREF ビットの値を、論理
ユニットに接続するパスを選択する際に使用することが可能である(例えば、PREF ビットに 1 が
設定されスタンバイターゲットポート非対称アクセス状態にあるターゲットポートグループは、
PREF ビットに 0 が設定され有効/最適化有りターゲットポート非対称アクセス状態にあるター
ゲットポートグループよりも優先的に選択される可能性がある)。
ターゲットポートグループの PREF ビットの値は非対称アクセス状態が変化する時にはいつでも
変化する可能性がある。
5.8.2.7
暗黙的な非対称論理ユニットアクセスの管理
暗黙的な非対称論理ユニットアクセスの管理が行われる SCSI ターゲットデバイスは、SET
TARGET PORT GROUPS コマンド以外のメカニズムにより、各ターゲットポートグループにおける
ターゲットポートグループ非対称アクセス状態を設定する能力を有する。
標準 INQUIRY データ(6.4.2 を参照)で非対称論理ユニットアクセスのサポートと、暗黙的な非
対称論理ユニットアクセスのサポート(すなわち、TPGS フィールドが 01b ないし 11b)が報告さ
れる全ての論理ユニットは下記全てに従わなければならない。
a) INQUIRY コマンドで、デバイス識別 VPD ページにおける識別子種別の 4h(7.6.3.7 を参照)
103
SCSI Primary Commands - 3 (SPC-3)
と 5h(7.6.3.8 を参照)を実装する。
b) 6.25 で規定される REPORT TARGET PORT GROUPS コマンドをサポートする。
暗黙的な論理ユニットアクセス状態の変更は制御拡張モードページ(7.4.7 を参照)の IALUAE
ビットで無効化される可能性がある。
5.8.2.8
明示的な非対称論理ユニットアクセスの管理
標準 INQUIRY データ(6.4.2 を参照)で非対称論理ユニットアクセスのサポートと、明示的な非
対称論理ユニットアクセスのサポート(すなわち、TPGS フィールドが 10b ないし 11b)が報告さ
れる全ての論理ユニットは下記全てに従わなければならない。
a) INQUIRY コマンドで、デバイス識別 VPD ページ(7.6.3 を参照)における識別子種別の 4h と
5h を実装する。
b) 6.25 で規定される REPORT TARGET PORT GROUPS コマンドをサポートする。
c) 6.31 で規定される SET TARGET PORT GROUPS コマンドをサポートする。
5.8.2.9
電源投入、ハードリセット、論理ユニットリセット、I_T ネクサス喪失後の動作
標準 INQUIRY データ(6.4.2 を参照)で明示的な非対称論理ユニットアクセスのみのサポート
(すなわち、TPGS フィールドの値が 10b)が報告される全ての SCSI ターゲットデバイスでは、全
ての電源サイクル、ハードリセット、論理ユニットリセット、I_T ネクサス喪失を通じて、ター
ゲットポートはターゲットポート非対称アクセス状態を維持しなければならない。
5.8.3
対称論理ユニットアクセス
論理ユニットへの対称アクセスを提供するデバイスサーバは、この能力をアプリケーションク
ライアントに対して通知し、論理ユニットへのターゲットポートのアクセスをどのように管理す
るか決定するためのコマンドの共通セットを提供するために、非対称論理ユニットアクセスの機
能(5.8.2 を参照)の一部を利用することが可能である。
対称論理ユニットアクセスは下記のように表されるべきである。
a) 標準 INQUIRY データ(6.4.2 を参照)の TPGS フィールドは、暗黙的な非対称アクセスが提
供されることを示す。
b) REPORT TARGET PORT GROUPS コマンドがサポートされる。
c) REPORT TARGET PORT GROUPS コマンドのパラメタデータは、全てのターゲットポートグルー
プが同じ状態(例えば、有効/最適化有り状態)であることを示す。
5.9
5.9.1
電源状態
電源状態の概要
オプションの電源状態モードページ(7.4.12 を参照)は、アプリケーションクライアントに対
して正しい方法で論理ユニットの電源状態を制御することを可能とし、これにより SCSI ターゲッ
トデバイスでの電力消費を削減することが可能となる。この制御は、モードページによりアイド
ル状態タイマやスタンバイ状態タイマを設定し、有効にすることで実現される。SCSI ターゲット
デバイス内に存在する論理ユニットで電源状態が変化した場合、SCSI ターゲットデバイスにおけ
る電力消費量が変化する可能性がある。
電源状態モードページに加えて、論理ユニットの電源状態は START STOP UNIT コマンド(SBC-2
もしくは RBC を参照)により制御することが可能である。電源状態モードページと START STOP
UNIT コマンドによる方法の両方が、同一の論理ユニットの電源状態を制御するために使用された
104
SCSI Primary Commands - 3 (SPC-3)
場合、START STOP UNIT コマンドによる電源状態の指定が、電源状態モードページによる電源状態
の制御を上書きしなければならず、アイドル状態とスタンバイ状態のタイマを無効化する可能性
がある。
論理ユニットがある電源状態から別の状態へ遷移した際、アプリケーションクライアントに対
しては何らかの通知が存在してはならない。アプリケーションクライアントは、REQUEST SENSE コ
マンド(6.27 を参照)により論理ユニットの現在の電源状態を知ることが可能である。
電源状態は、サービスデリバリサブシステムが正しく動作を行う上で必要となる電力に対して、
いかなる影響も与えてはならない。
キャッシュメモリを持つ論理ユニットは、メディアへのアクセスを阻害するような電源状態に
遷移する前に(例えば、スタンバイ電源状態へ遷移する際に、ハードディスクドライブがスピン
ドルモーターを停止する前に)、キャッシュされた全てのデータを論理ユニットで使用するメ
ディアに書き込まなければならない(例えば、SBC-2 で規定される SYNCHRONIZE CACHE コマンドの
応答として論理ユニットが実行するであろう処理として)。
電源状態は表 39 に示される通りである。
表39 電源状態
電源状態
説明
起動
起動電源状態にある間は、下記の通りとなる(3.1.5 を参照)。
a) デバイスサーバは、メディアアクセス要求を含むデバイスサーバで
サポートする全てのコマンドに対して応答する能力を有する。
b) 論理ユニットは、アイドルやスタンバイ電源状態の時に操作を完了
するために必要となる時間と比較して、最も短い時間で操作を完了
する。
c) SCSI ターゲットデバイスは、論理ユニットがアイドル電源状態であ
るときと比較して、より多くの電力を消費する可能性がある(例え
ば、ディスクドライブのスピンドルモーターが動作している可能性
がある)。
アイドル
アイドル電源状態にある間は、下記の通りとなる(3.1.47 を参照)。
a) デバイスサーバは、メディアアクセス要求を含むデバイスサーバで
サポートする全てのコマンドに対して応答する能力を有する。
b) 論理ユニットは、起動電源状態の時と比較して、操作を完了するた
めにより長い時間を要する可能性がある(例えば、デバイスはコマ
ンドを処理する前にいくつかの回路を有効化しなければいけない可
能性がある)。
c) SCSI ターゲットデバイスで消費する電力は、論理ユニットが起動電
源状態にあるときに消費する電力よりも少ないか等しいべきであり、
かつ、論理ユニットがスタンバイ電源状態にあるときに消費する電
力よりも多くなる可能性がある。
スタンバイ
スタンバイ電源状態にある間は、下記の通りとなる(3.1.107 を参照)。
a) デバイスサーバはメディアアクセスコマンドを処理する能力を持た
ない。
b) SCSI ターゲットデバイスで消費される電力は、論理ユニットがアイ
ドル電源状態にある時に消費する電力よりも少ないか等しいべきで
ある(例えば、ディスクドライブのスピンドルモーターが停止され
る)。
105
SCSI Primary Commands - 3 (SPC-3)
5.9.2
5.9.2.1
電源状態の状態機械
電源状態の状態機械の概要
PC(電源状態:power condition)状態機械は、電源状態モードページの設定により生じる、論
理ユニットの電源状態と遷移を規定する。
PC 状態機械は下記となる。
a) PC0:電源投入(5.9.2.2 を参照)(初期状態)
b) PC1:起動(5.9.2.3 を参照)
c) PC2:アイドル(5.9.2.4 を参照)
d) PC3:スタンバイ(5.9.2.5 を参照)
PC 状態機械は電源投入後に、PC0:電源投入の状態から開始しなければならない。
106
SCSI Primary Commands - 3 (SPC-3)
図 5 は PC 状態機械を示す。
PC0 :電源投入
PC3 :スタンバイ
PC1 :起動
PC2 :アイドル
起動
起動
アイドル
スタンバイ
スタンバイ
起動
アイドル
図5. 電源状態の状態機械
5.9.2.2 PC0:電源投入状態
5.9.2.2.1 PC0:電源投入状態の説明
論理ユニットは電源投入時にこの状態に遷移しなければならない。この状態に留まる時間は 0 で
ある。
5.9.2.2.2
PC0:電源投入から PC1:起動への遷移
この遷移は、論理ユニットにおける電源投入時の初期化処理を開始する準備が整った後に生じ
なければならない。
5.9.2.3 PC1:起動状態
5.9.2.3.1 PC1:起動状態の説明
この状態にある間、電源投入時の初期化処理が完了していなければ、論理ユニットは電源投入
時の初期化処理を完了しなければならない。。
この状態にある間、電源投入時の初期化処理が完了していれば、下記を実行する。
a) 論理ユニットは起動電源状態に留まる(表 39 を参照)。
b) アイドル状態タイマが有効であれば、アイドル状態タイマを実行する。
c) スタンバイ状態タイマが有効であれば、スタンバイ状態タイマを実行する。
5.9.2.3.2
PC1:起動から PC2:アイドルへの遷移
この遷移は下記全ての条件が成立した時に発生しなければならない。
a) アイドル状態タイマが有効である。
b) アイドル状態タイマが 0 である。
5.9.2.3.3
PC1:起動から PC3:スタンバイへの遷移
この遷移は下記全ての条件が成立した時に発生しなければならない。
a) スタンバイ状態タイマが有効である。
b) スタンバイ状態タイマが 0 である。
107
SCSI Primary Commands - 3 (SPC-3)
5.9.2.4 PC2:アイドル状態
5.9.2.4.1 PC2:アイドル状態の説明
この状態にある間、下記を実行する。
a) 論理ユニットはアイドル電源状態(表 39 を参照)に留まる。
b) スタンバイ状態タイマが有効であれば、スタンバイ状態タイマを実行する。
5.9.2.4.2
PC2:アイドルから PC1:起動への遷移
この遷移は、コマンドを実行するためには論理ユニットを PC1:起動状態にしなければならない
ようなコマンドをデバイスサーバが受信した時に発生しなければならない。
5.9.2.4.3
PC2:アイドルから PC3:スタンバイへの遷移
この遷移は下記全ての条件が成立した時に発生しなければならない。
a) スタンバイ状態タイマが有効である。
b) スタンバイ状態タイマが 0 である。
5.9.2.5 PC3:スタンバイ状態
5.9.2.5.1 PC3:スタンバイ状態の説明
この状態にある時、論理ユニットはスタンバイ状態に留まる(表 39 を参照)。
5.9.2.5.2
PC3:スタンバイから PC1:起動への遷移
この遷移は、コマンドを実行するためには論理ユニットを PC1:起動状態にしなければならない
ようなコマンドをデバイスサーバが受信した時に発生しなければならない。
5.9.2.5.3
PC3:スタンバイから PC3:アイドルへの遷移
この遷移は、コマンドを実行するためには論理ユニットを PC2:アイドル状態にしなければなら
ないようなコマンドをデバイスサーバが受信した時に発生しなければならない。
5.10
付属型メディアチェンジャを有するリムーバブルメディアデバイス
論理ユニットにメディアチェンジャが提供される時、ある 1 つのメディア転送要素に対する制御
は、論理ユニット内のデバイスサーバに送信されるメディアチェンジャコマンドを用いることに
より実行される可能性がある。制御のレベルは、完全な機能を有するメディアチェンジャデバイ
スが実装された時に利用可能であろうものと同程度の完全性とはならない(SMC-2 を参照)。しか
しながら、デバイスとメディアチェンジャの構成を対応付ける程度には十分な制御を行うことが
可能である。
デバイスサーバは標準 INQUIRY データ(6.4.2 を参照)の MCHNGR ビットに 1 を設定することによ
り、メディアチェンジャコマンドをサポートする能力があることを通知しなければならない。
MCHNGR ビットに 1 が設定されることは、MOVE MEDIUM ATTACHED と READ ELEMENT STATUS ATTACHED
のコマンドがデバイスサーバによりサポートされることを示さなければならない。MOVE MEDIUM
ATTACHED と READ ELEMENT STATUS ATTACHED のコマンドの定義は SMC-2 で示される可能性がある。
5.11
メディア補助メモリ
いくつかの種別のメディア、特にリムーバブルメディアにおいては、MAM(メディア補助メモ
リ:Medium Auxiliary Memory)として参照される不揮発性のメモリを備えている。メディア補助
メモリはメディアとその内容に関して説明するデータを記録するために使用される。本標準では
READ ATTRIBUTE コマンド(6.14 を参照)と WRITE ATTRIBUTE コマンド(6.34 を参照)でメディア
108
SCSI Primary Commands - 3 (SPC-3)
補助メモリをサポートする。これらのコマンドは属性の形式でメディア補助メモリへの情報の格
納と取り出しを行うために使用される。
MAM 属性は 7.3 で記述されるフォーマットで表現され、それには下記が含まれる。
a) 属性識別子
b) 属性フォーマットコード
c) 識別される属性が読み込み専用か否かを示すビット
d) 識別される属性のバイト数により指定される、属性長
e) 識別される属性の値
3 種類の属性が存在する(表 40 を参照)。
表40 MAM 属性の種別
属性の種別
属性の設定元
例
READ ATTRIBUTE で WRITE ATTRIBUTE
読み込み可能か で書き込み可能か
メディア
工場出荷時にメディア補助メ
モリに永続的に記録される。
メディアのシリ
アル番号
可
不可
デバイス
デバイスサーバにより管理さ
れる。
ロードカウント
可
不可
ホスト
アプリケーションクライアン
トにより管理される。
バックアップ取
得日
可
可
属性の種別に基づき、属性は表 41 に示される状態を持つ。
表41 MAM 属性の状態
属性の種別
メディアま
たはデバイ
ス
ホスト
属性の状態
説明
読み込み専用 アプリケーションクライアントは READ ATTRIBUTE コマンドにより属性
の内容を読み込むことが可能であるが、WRITE ATTRIBUTE コマンドによ
るクリアや変更を試みた場合は、CHECK CONDITION ステータスによりコ
マンドが終了されなければならない。READ ONLY ビット(7.3.1 を参
照)に 1 が設定されている場合は、属性は読み込み専用の状態である。
未サポート
デバイスサーバは当該の属性をサポートしておらず、READ ATTRIBUTE コ
マンドのレスポンスとして返されてはならない。
存在しない
ホスト属性は、WRITE ATTRIBUTE コマンドにより生成されるまでメディ
ア補助メモリ内には存在しない。
読み込み/書 属性は WRITE ATTRIBUTE コマンドによりすでに生成されている。属性が
き込み
生成された後、内容は WRITE ATTRIBUTE コマンドにより変更される可能
性がある。読み込み/書き込み状態の属性は、属性長が 0 の WRITE
ATTRIBUTE コマンドを用いることにより存在しない状態へと戻すことが
可能である。READ ONLY ビット(7.3.1 を参照)が 0 であれば、属性は読
み込み/書き込み状態である。
5.12
アプリケーションクライアントロギング
アプリケーションロギングは、アプリケーションクライアントが検知したエラー情報を論理ユ
ニットの不揮発性の記録領域に格納するために使用可能な方法である(6.35.12 を参照)。アプリ
109
SCSI Primary Commands - 3 (SPC-3)
ケーションクライアントが論理ユニットに送信する情報は、アプリケーションエラーログに付加
される。アプリケーションクライアントのエラー情報は、本標準のスコープ対象外の方法により
回復され、論理ユニットに関係するエラーリカバリでは使用されることがない。
アプリケーションクライアントのエラー情報と論理ユニットのエラー情報が混在するログは、
アプリケーションクライアントのエラーと論理ユニット内部で生じたエラーを対応付けるために
使用することが可能である。これは、技術情報の収集や分析を行うベンダ固有の方法を置き換え
るものではない。しかし、エラーログを対応付けるベンダ独立な方法を提供する。
アプリケーションクライアントは、ログのオーバーフローを防ぐために、ロギングを要求する
エラー情報の量を最小化するべきである。
5.13
デバイス時刻
デバイスサーバで出力されるログ等の情報にはタイムスタンプが含まれる可能性がある。論理
ユニット 1 つあたり 1 つずつタイムスタンプを持たなければならない。
タイムスタンプは表 42 で示されるものの内いずれか 1 つから開始されなければならない。
表42 TIMESTAMP ORIGIN フィールド
コード
説明
000b
タイムスタンプは電源投入時やハードリセッ
トが生じた時に 0 に初期化される。
001b
予約済み。
010b
タイムスタンプは SET TIMESTAMP コマンド
(6.32 を参照)により初期化される。
011b
タイムスタンプは本標準のスコープ外の方法
により初期化される。
100b~111b 予約済み。
タイムスタンプは I_T ネクサス喪失や論理ユニットリセットによる影響を受けてはならない。
一度タイムスタンプが初期化されると、それ以降、時間の経過に従い加算されなければならな
い。一度タイムスタンプが初期化されると、下記いずれかが生じるまで有効でなければならない。
a) ハードリセットが生じる。
b) SET TIMESTAMP コマンドが処理される。
c) タイムスタンプに影響を与える、本標準のスコープ外の方法による。
タイムスタンプを変更する可能性のある方法は、制御拡張モードページ(7.4.7 を参照)により
示される。
タイムスタンプが SET TIMESTAMP コマンド以外の理由により変更された場合、デバイスサーバは
全ての I_T ネクサス(SAM-3 を参照)に関係するイニシエータポートに対して、追加センスコード
TIMESTAMP CHANGED を設定したユニット警告状態を確立しなければならない。
表 43 にに TIMESTAMP フィールドのフォーマットを示す。
110
SCSI Primary Commands - 3 (SPC-3)
表43 TIMESTAMP フィールドのフォーマット
Bit
Byte
0
7
( MSB )
6
5
4
3
2
1
0
タイムスタンプ( TIMESTAMP )
5
( LSB )
TIMESTAMP フィールドには、タイムスタンプを変更するような最後の動作以降、ベンダ固有の方
法によりミリ秒単位で加算される値が設定される。
111
SCSI Primary Commands - 3 (SPC-3)
6
全デバイス種別に適用されるコマンド
6.1
全デバイス種別に適用されるコマンドの概要
標準 INQUIRY データ(6.4.2 を参照)の MCHNGR ビットが 0、SCCSハビットが 0、ENCSERV ビットが 0 で
ある全てのデバイス種別に適用されるコマンドの操作コードは表 44 に示す通りである。
表44 全デバイス種別に適用されるコマンド
コマンド名
操作コード
種別
参照
ACCESS CONTROL IN
86h
O
8.3.2
ACCESS CONTROL OUT
87h
O
8.3.3
O
6.2
a
CHANGE ALIASES
A4h/0Bh
EXTENDED COPY
83h
O
6.3
INQUIRY
12h
M
6.4
LOG SELECT
4Ch
O
6.5
LOG SENSE
4Dh
O
6.6
MODE SELECT(6)
15h
C
6.7
MODE SELECT(10)
55h
C
6.8
MODE SENSE(6)
1Ah
C
6.9
MODE SENSE(10)
5Ah
C
6.10
PERSISTENT RESERVE IN
5Eh
C
6.11
PERSISTENT RESERVE OUT
5Fh
C
6.12
PREVENT ALLOW MEDIUM REMOVAL
1Eh
C
6.13
READ ATTRIBUTE
8Ch
O
6.14
READ BUFFER
3Ch
O
6.15
C
6.16
READ MEDIA SERIAL NUMBER
ABh/01h
a
RECEIVE COPY RESULTS
84h
O
6.17
RECEIVE DIAGNOSTIC RESULTS
1Ch
O
6.18
REPORT ALIASES
A3h/0Bha
O
6.19
REPORT DEVICE IDENTIFIER
A3h/05ha
O
6.20
A0h
REPORT LUNS
M
6.21
A3h/0Eh
a
O
6.22
REPORT SUPPORTED OPERATION CODES
A3h/0Ch
a
O
6.23
REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS
A3h/0Dha
O
6.24
REPORT TARGET PORT GROUPS
A3h/0Aha
O
6.25
a
O
6.26
REPORT PRIORITY
REPORT TIMESTAMP
A3h/0Fh
REQUEST SENSE
03h
C
6.27
SEND DIAGNOSTIC
1Dh
C
6.28
訳注ハ 原文では SSCS ビットと記載されているが、明らかに SCCS ビットの誤記である。
112
SCSI Primary Commands - 3 (SPC-3)
SET DEVICE IDENTIFIER
SET PRIORITY
SET TARGET PORT GROUPS
SET TIMESTAMP
A4h/06ha
O
6.29
A4h/0Eh
a
O
6.30
A4h/0Ah
a
O
6.31
A4h/0Fh
a
O
6.32
TEST UNIT READY
00h
M
6.33
WRITE ATTRIBUTE
8Dh
O
6.34
WRITE BUFFER
3Bh
C
6.35
廃止済み
16h
Z
廃止済み
17h
Z
廃止済み
18h
Z
廃止済み
39h
Z
廃止済み
3Ah
Z
廃止済み
40h
Z
廃止済み
56h
Z
廃止済み
57h
Z
種別の値:
C:コマンドの実装は該当するコマンド標準(3.1.18 を参照)で規定される。
M:コマンドの実装は必須である。
O:コマンドの実装はオプションである。
Z:コマンドの実装は以前の版の標準で規定されていた。
(a)このコマンドは操作コードとサービスアクションの組み合わせで定義される。操作コードの
値は"/"の前に示され、サービスアクションの値は"/"の後に示される。
6.2
6.2.1
CHANGE ALIASES コマンド
CHANGE ALIASES コマンドの序論
CHANGE ALIASES コマンド(表 45 を参照)はデバイスサーバに対して、8 バイトのエイリアス値
と SCSI ターゲットデバイスないし SCSI ターゲットポートの名称との間の割り当てについて、管
理と変更を要求する。名称には SCSI ターゲットデバイスないし SCSI ターゲットポート(6.2.2 を
参照)を指定する名前とオプションの識別子情報が含まれる。エイリアスリストは REPORT
ALIASES コマンド(6.19 を参照)によりアプリケーションクライアントにより要求される可能性
がある。REPORT ALIASES コマンドがサポートされるのであれば、CHANGE ALIASES コマンドもまた
サポートされなければならない。
CHANGE ALIASES コマンドは MAINTENANCE OUT コマンドのサービスアクションである。追加の
MAINTENANCE OUT サービスアクションは SCC-2 および本標準で規定される。SCC-2 で規定される
MAINTENANCE OUT サービスアクションは、標準 INQUIRY データ(6.4.2 を参照)においてデバイス
種別が 0Ch、もしくは SCCS ビットが 1 を返す論理ユニットに対してのみ適用される。
113
SCSI Primary Commands - 3 (SPC-3)
表45 CHANGE ALIASES コマンド
Bit
Byte
7
6
0
5
4
3
2
1
0
操作コード( OPERATION CODE )( A4h )
1
予約済み
サービスアクション( SERVICE ACTION )( 0Bh )
2
予約済み
5
6
( MSB )
パラメタリスト長( PARAMETER LIST LENGTH )
9
( LSB )
10
予約済み
11
コントロール( CONTROL )
PARAMETER LIST LENGTH フィールドは、アプリケーションクライアントからデバイスサーバに送
信されなければならないパラメタデータ長をバイト単位で指定する。パラメタリスト長で 0 が指
定された場合は、データが転送されてはならないことを示し、この場合、デバイスサーバはエイ
リアスリストを変更してはならない。
パラメタリスト長がヘッダやエイリアスエントリを途中で打ち切るような結果をもたらす場合、
デバイスサーバはエイリアスリストに変更を加えず、ステータスが CHECK CONDITION、センスキー
が ILLEGAL REQUEST、追加センスコードが PARAMETER LIST LENGTH ERROR でコマンドを終了しなけ
ればならない。
CHANGE ALIASES コマンドの正常終了時、デバイスサーバは割り当てられた 8 バイトのエイリア
ス値と SCSI ターゲットデバイスないし SCSI ターゲットポートの名称との組み合わせを更新しな
ければならない。これらの組み合わせは論理ユニットリセットや I_T ネクサス喪失によりクリア
されなければならない。デバイスサーバは I_T ネクサス毎に分離したエイリアスリストを管理し
なければならない。
CHANGE ALIASES コマンドはエイリアスリストに対してエントリの追加、変更、削除を行うこと
が可能である。CHANGE ALIASES コマンドのパラメタデータで参照されないエイリアスリストのエ
ントリは変更されてはならない。
注 11:アプリケーションクライアントは、エイリアス値をサードパーティコマンド(例えば、
EXTENDED COPY)で SCSI ターゲットデバイスや SCSI ターゲットポートを参照するために使用する
ことが可能である。エイリアスリストは 8 バイトのサードパーティ識別子フィールドで、8 バイト
よりも長い名前やアドレス情報を持つサードパーティのデバイスやポートを参照するメカニズム
を提供する(例えば、アプリケーションクライアントは、エイリアス値と SCSI ターゲットデバイ
スないしターゲットポートの名称との組み合わせを確立するために CHANGE ALIASES コマンドを使
用することが可能である。その後、パラメタデータで当該のエイリアス値を含むエイリアスター
ゲット記述子(6.3.6.3 を参照)を指定した EXTENDED COPY コマンドを発行することが可能である。
EXTENDED COPY コマンドの完了時にアプリケーションは、エイリアス値に対して NULL
DESIGNATION(6.2.4.2 を参照)エイリアスフォーマットを割り当てるよう要求する CHANGE
ALIASES コマンドを送信することにより、デバイスサーバのエイリアスリストから当該のエントリ
を削除するよう要求するべきである)。
デバイスサーバでエイリアスリストに対して要求された全ての変更を行うために要するリソー
スが不足した場合には、デバイスサーバはエイリアスリストに変更を加えてはならず、ステータ
スが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INSUFFICIENT
RESOURCES でコマンドを終了しなければならない。
CHANGE ALIASES コマンドのパラメタデータ(表 46 を参照)には 0 個以上のエイリアスエントリ
114
SCSI Primary Commands - 3 (SPC-3)
が含まれる。デバイスサーバが 1 つ以上のエントリを含む CHANGE ALIASES コマンドを処理する際
に、エイリアスリスト内のエイリアスエントリを参照するその他の有効タスクが存在した場合に
は、デバイスサーバはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加セン
スコードが OPERATION IN PROGRESS で CHANGE ALIASES コマンドを終了しなければならない。
表46 CHANGE ALIASES パラメタリスト
Bit
7
Byte
0
( MSB )
6
5
4
3
2
1
0
パラメタデータ長( PARAMETER DATA LENGTH )( n-3 )
3
( LSB )
4
7
予約済み
エイリアスエントリ
8
エイリアスエントリ 0 ( 6.2.2 を参照)
…
…
n
エイリアスエントリ x ( 6.2.2 を参照)
PARAMETER DATA LENGTH フィールドには、属性データのバイト数が格納されるべきであり、かつ、
デバイスサーバはこの値を無視しなければならない。
エイリアスエントリのフォーマットは 6.2.2 で説明される。
6.2.2
エイリアスエントリのフォーマット
1 つのエイリアスエントリ(表 47 を参照)は、REPORT ALIASES コマンド(6.19 を参照)で報告
される、もしくは CHANGE ALIASES コマンドで変更される、単一のエイリアスの情報を保持する。
115
SCSI Primary Commands - 3 (SPC-3)
表47 エイリアスエントリのフォーマット
Bit
Byte
0
7
6
5
( MSB )
4
3
2
1
0
エイリアス値( ALIAS VALUE )
7
( LSB )
8
プロトコル識別子( PROTOCOL IDENTIFIER )
9
予約済み
10
11
フォーマットコード( FORMAT CODE )
12
予約済み
13
14
( MSB )
名称長( DESIGNATION LENGTH )( n-15 )
15
( LSB )
16
名称( DESIGNATION )
n
ALIAS VALUE フィールドには、デバイスサーバが、PROTOCOL IDENTIFIER、FORMAT
CODE、DESIGNATION フィールド内の値により指定される SCSI ターゲットデバイスないしターゲッ
トポートに割り当てなければならない、整数のエイリアス値を設定する。
PROTOCOL IDENTIFIER フィールド(表 48 を参照)は、SCSI 転送プロトコルや、あるいはエイリ
アスエントリが適用される SCSI 転送プロトコルに対して、エイリアスエントリの名称が独立であ
ることを指定する。
表48 エイリアスエントリプロトコル識別子
PROTOCOL IDENTIFIER
説明
00h~0Fh
プロトコル固有の名称
10h~7Fh
予約済み
80h
81h~FFh
プロトコル独立の名称
参照
7.5.2
6.2.4
予約済み
FORMAT CODE フィールドと PROTOCOL IDENTIFIER フィールドの組み合わせにより DESIGNATION
フィールドのフォーマットが規定される。PROTOCOL IDENTIFIER フィールドの使用方法(表 48 を
参照)を説明する後続の節において、適用される FORMAT CODE フィールドの値を規定する。
DESIGNATION LENGTH フィールドは、DESIGNATION フィールドの長さをバイト単位で指定する。
DESIGNATION LENGTH の値は 4 の倍数でなければならない。
DESIGNATION フィールドは 0 パディングされ(4.2.2 を参照)され、SCSI ターゲットデバイスな
いしターゲットポートを下記により一意に命名するべきである。
a) SCSI ターゲットデバイス名、もしくはターゲットポート名
b) オプションで、1 つ以上のターゲットポート識別子、もしくは SCSI 転送プロトコル固有の
識別子
116
SCSI Primary Commands - 3 (SPC-3)
6.2.3
エイリアス名称の検査
デバイスサーバは REPORT ALIASES や CHANGE ALIASES コマンドを処理する時点ではいかなる名称
に対しても検査を行ってはならない。そのような検査は、デバイスサーバがサードパーティコマ
ンド(例えば、EXTENDED COPY)の実行時にエイリアスから名称を解決するためにエイリアスリス
トを参照する時、あるいは、エイリアスリストの参照を必要とするその他のコマンドを実行する
時にのみ行われなければならない。
名称が、デバイスサーバからアクセス可能な SCSI ドメイン内で SCSI ターゲットデバイスやター
ゲットポートを一意に識別するのであれば、その名称は正しいものとして判断される。
ある名称のフォーマットにおけるプロトコル固有の要求に基づき、名称が、デバイスサーバか
らアクセス可能な SCSI ドメイン内で SCSI ターゲットデバイスやターゲットポートを一意に識別
しないのであれば、名称は不正であるとみなされる。
注 12:例えば、参照される SCSI ターゲットデバイスやターゲットポートが存在する SCSI ドメ
インに対して、デバイスサーバがポートを持たないのであれば、名称は不正であると見なされる。
名称が SCSI 名と SCSI ポートの両方の情報を持ち、デバイスサーバが、名称が示す名前や識別子
を通じて 1 つないし複数の SCSI ターゲットデバイスやターゲットポートにアクセスすることが不
可能な場合、その名称は矛盾している可能性がある。そのような場合、名称は SCSI 転送プロトコ
ル固有の要求に従い、正しいものもしくは不正であるものとして取り扱われなければならない。
注 13:例えば、FCP-2 では名称として SCSI ポートの WWN(World Wide Name)と N_Port の両方が
与えられる可能性がある。名称の定義は N_Port が名前付きポートであることを要求する可能性が
ある。そのような場合名称は不正となる。代わりに、名称の定義は、N_Port をデバイスサーバが
異なる D_ID を通じてアクセスできる名前付き FC ポートへのヒントであると見なすことが可能で
ある。この場合、名称は正当であり、名前付き FC ポートを識別するものとなる。
注 14:名称として名前の情報のみが提供される場合、デバイスサーバは、名前から識別子に解
決するメカニズムを使用するものと仮定される。そのようなサービスの使用は SCSI 転送プロトコ
ル固有であり、かつ、ベンダ固有である。
6.2.4
プロトコルに独立なエイリアスエントリ名称
6.2.4.1
プロトコルに独立なエイリアスエントリ名称の概要
プロトコルに独立なエイリアスエントリの名称はプロトコル識別子として 80h が指定され、かつ、
表 49 に示されるフォーマットコードが指定される。
表49 プロトコルに独立なエイリアスエントリのフォーマットコード
フォーマットコード
00h
01h~FFh
6.2.4.2
名前
名称の長さ(バイト)
名称の内容
参照
0
なし
6.2.4.2
NULL DESIGNATION
予約済み
NULL DESIGNATION エイリアスフォーマット
エイリアスエントリで NULL DESIGNATION フォーマットが指定された場合、デバイスサーバはエ
イリアスリストから指定されたエイリアスエントリを削除しなければならない。アプリケーショ
ンクライアントは、エイリアスエントリが今後使用されることがないのであれば、エイリアスリ
ストから当該のエイリアスエントリを削除するために、CHANGE ALIASES コマンドで NULL
DESIGNATION フォーマットを使用するべきである。NULL DESIGNATION フォーマットは REPORT
ALIASES パラメタデータに表れてはならない。
117
SCSI Primary Commands - 3 (SPC-3)
6.3
EXTENDED COPY コマンド
6.3.1
EXTENDED COPY コマンドの序論
EXTENDED COPY コマンド(表 50 を参照)は、データをある 1 つの論理ユニットのセットから別
の論理ユニットのセットもしくは同一の論理ユニットのセットへコピーする方法を提供する。
EXTENDED COPY コマンドを受信し実行する SCSI デバイスサーバ内のエンティティはコピーマネー
ジャと呼ばれる。コピーマネージャはコピー元デバイスからコピー先デバイスにデータをコピー
する責任を負う。コピー元とコピー先のデバイスは異なった SCSI デバイスもしくは同一の SCSI
デバイス内に存在する可能性がある。コピー元デバイスとコピー先デバイス、コピーマネージャ
は同一の論理ユニットであることが可能である。
表50 EXTENDED COPY コマンド
Bit
Byte
7
0
6
5
4
3
2
1
0
操作コード( OPERATION CODE )( 83h )
1
予約済み
9
10
( MSB )
パラメタリスト長( PARAMETER LIST LENGTH )
13
( LSB )
14
予約済み
15
コントロール( CONTROL )
コピーマネージャがデータの移動について指示を受ける前に、データの移動について制御を行
うアプリケーションクライアントは、EXTENDED COPY コマンドのためにコピー元とコピー先のデバ
イスで準備を行うために必要となる処理を独立的に実行しなければならない(例えば、テープの
ローディング、メディアチェンジャコマンドの送信、MODE SELECT コマンド、予約コマンド、テー
プ位置調整のコマンドなど)。準備作業の完了後に、データ転送を開始するためにコピーマネー
ジャに対して EXTENDED COPY コマンドが送信されるべきである。
PARAMETER LIST LENGTH フィールドは Data-Out バッファに格納されなければならないパラメタ
データのバイト長を指定する。パラメタリスト長で 0 が指定された場合、コピーマネージャは
データの転送を行ってはならず、内部状態を変更してはならない。これはエラーと見なされては
ならない。パラメタリスト長の指定によりパラメタリスト内のターゲット記述子もしくはセグメ
ント記述子が途中で打ち切られる場合、データは転送されてはならず、EXTENDED COPY コマンドは
ステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが PARAMETER
LIST LENGTH ERROR で終了されなければならない。
EXTENDED COPY のパラメタリスト(表 51 を参照)には、LIST IDENTIFIER フィールド、STR ビッ
ト、NRCR ビット、PRIORITY フィールド、ターゲット記述子リスト長、セグメント記述子リスト長、
オプションのインラインデータ長を含む、16 バイトのヘッダから始まる。ヘッダの直後に 1 つ以
上のターゲット記述子、後続して 1 つ以上のセグメント記述子、後続してオプションのインライ
ンデータが存在する。
118
SCSI Primary Commands - 3 (SPC-3)
表51 EXTENDED COPY パラメタリスト
Bit
Byte
7
6
5
2
3
2
1
0
リスト識別子( LIST IDENTIFIER )
0
1
4
予約済み
STR
NRCR
予約済み
優先度( PRIORITY )
( MSB )
ターゲット記述子リスト長( TARGET DESCRIPTOR LIST LENGTH )( n-15 )
3
( LSB )
4
予約済み
7
8
( MSB )
セグメント記述子リスト長( SEGMENT DESCRIPTOR LIST LENGTH )( m-n )
11
12
( LSB )
( MSB )
インラインデータ長( INLINE DATA LENGTH )( k-m )
15
( LSB )
ターゲット記述子
16
ターゲット記述子 0
47
…
n-31
ターゲット記述子 x
n
セグメント記述子
n+1
セグメント記述子 0 (長さは該当する表を参照)
n+1+l
…
セグメント記述子 y (長さは該当する表を参照)
m
m+1
インラインデータ
k
注 15:アプリケーションクライアントが、パラメタリスト内の予約済みのフィールドに 0 を格
納しなかった場合、予期しないエラーを引き起こす可能性がある。コピーマネージャは受信した
データの 4 から 7 バイトに 0 が格納されていることを確認するべきである。
LIST IDENTIFIER フィールドには、コピーマネージャに対する拡張コピー操作を一意に識別する、
アプリケーションクライアントが選択した値が格納される。リスト識別子はまた、RECEIVE COPY
RESULTS コマンド(6.17 を参照)で指定された EXTENDED COPY コマンドのステータスを要求する
ためにも使用される可能性がある。LIST IDENTIFIER の値は、ある 1 つの I_T ネクサスで同時に送
信された EXTENDED COPY コマンドに対してそれぞれ一意でなければならない。コピーマネージャ
が重複した LIST IDENTIFIER の値を検出した場合、コマンドはステータスが CHECK CONDITION、セ
ンスキーが ILLEGAL REQUEST、追加センスコードが OPERATION IN PROGRESS で終了されなければな
らない。
PRIORITY フィールドは、当該の EXTENDED COPY コマンドによるデータ転送操作と、同一デバイ
スサーバにより実行される他のコマンドによるデータ転送操作との間の優先順位を決定する。コ
119
SCSI Primary Commands - 3 (SPC-3)
ピーコマンド以外の、他の全てのコマンドは優先度として 1h を持つ。優先度 0h は最も優先度が
高いことを示し、PRIORITY の値が増加するに従い優先度が低下する。
順方向ストライプ化(Sequential Striped:STR)ビットに 1 が設定された場合は、デバイスマ
ネージャに対して、パラメタリストでディスクを参照する順番が、いくつかのストライプ化され
たディスクにおける順方向アクセスを表現していることを指定する。これはコピーマネージャに
より、6.3.6.4 の規定に従い EXTENDED COPY コマンドを実行する間に、任意の時に任意の順でコ
ピー元ディスクを読み込むために使用される可能性がある。STR ビットが 0 に設定された場合は、
コピーマネージャに対して、ディスクの参照がシーケンシャルではない可能性があることを指定
する。
コピー結果受信不要(No Receive Copy Results:NRCR)ビットに 0 が設定された場合、アプリ
ケーションクライアントにより、RECEIVE DATA サービスアクション(6.17.3 を参照)を設定した
RECEIVE COPY RESULTS コマンドを使用することで、セグメント記述子で指定されたデータが取得
されることに備えて、コピーマネージャは必要なデータを保持しておかなければならない。NRCR
ビットに 1 が設定された場合、コピーマネージャは、RECEIVE DATA サービスアクションを設定し
た RECEIVE COPY RESULTS コマンドによりアプリケーションクライアントからアクセス可能なデー
タを全て破棄することが可能である。NRCR ビットを 1 にした結果破棄されたデータに対してアプ
リケーションクライアントが取得を要求した場合、コピーマネージャは EXTENDED COPY コマンド
が処理されていないものとして応答しなければならない。
TARGET DESCRIPTOR LIST LENGTH フィールドには、パラメタリストヘッダの直後に後続するター
ゲット記述子リストのバイト長を指定する。ターゲット記述子の個数は、ターゲット記述子リス
トのバイト長を 32 で割った値に等しい。
EXTENDED COPY コマンドは 1 つ以上の複数のコピーターゲットデバイス(すなわち、EXTENDED
COPY コマンドによりコピー元ないしコピー先のデバイスとして記述された名前)を参照する可能
性がある。各コピーターゲットデバイスはターゲット記述子で指定される。全てのターゲット記
述子は EXTENDED COPY の記述子コードにより指定されるフォーマットを有する。コピーマネー
ジャは全てのターゲット記述子のフォーマットをサポートするのではない可能性があるが、コ
ピーマネージャは、OPERATING PARAMETERS サービスアクション(6.17.4 を参照)を設定した
RECEIVE COPY RESULTS コマンドのレスポンスで、サポートする全てのターゲット記述子のフォー
マットを応答しなければならない。ターゲット記述子の詳細な説明については 6.3.6 を参照のこ
と。
セグメント記述子は、ターゲット記述子リストにおける位置ないしインデックスにより、ター
ゲット記述子を参照する。ターゲット記述子のインデックスは、パラメタデータ内でのターゲッ
ト記述子の開始位置のバイト番号から 16 を引き、その結果を 32 で割ることにより計算される。
パラメタリスト内でのターゲット記述子の最大の個数は、コピーマネージャの操作パラメタにお
ける MAXIMUM TARGET COUNT フィールドの値により指定される(6.17.4 を参照)。ターゲット記述
子の個数が許可された個数を超えた場合、コマンドはステータスが CHECK CONDITION、センスキー
が ILLEGAL REQUEST、追加センスコードが TOO MANY TARGET DESCRIPTORS で終了されなければなら
ない。
SEGMENT DESCRIPTOR LIST LENGTH は、ターゲット記述子に後続する、セグメント記述子リスト
のバイト長を指定する。セグメント記述子の詳細については 6.3.7 を参照のこと。パラメタリス
ト内で許可されるセグメント記述子の最大の個数は、コピーマネージャの操作パラメタ内におけ
る MAXIMUM SEGMENT COUNT フィールドにより指定される(6.17.4 を参照)。セグメント記述子の
個数が許可された個数を超えた場合は、コマンドはステータスが CHECK CONDITION、センスキーが
ILLEGAL REQUEST、追加センスコードが TOO MANY SEGMENT DESCRIPTORS で終了されなければなら
ない。
パラメタリスト内で許可されるターゲット記述子とセグメント記述子の最大長は、コピーマ
ネージャの操作パラメタ内における MAXIMUM DESCRIPTOR LIST LENGTH フィールドにより指定され
120
SCSI Primary Commands - 3 (SPC-3)
る(6.17.4 を参照)。ターゲット記述子とセグメント記述子の合計した長さが許可された値より
も大きい場合には、コマンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、
追加センスコードが PARAMETER LIST LENGTH ERROR で終了されなければならない。
INLINE DATA LENGTH フィールドには、最後のセグメント記述子に後続する、インラインデータ
のバイト長を指定する。0 が指定された場合はインラインデータが提供されないことを表す。
コピーマネージャは、セグメント記述子の指定に従いデータをコピー元デバイスからコピー先
デバイスに移動しなければならない。セグメント記述子を処理する際に、コピー元ないしコピー
先のデバイスに対してコピーマネージャが発行するコマンドはベンダ固有である。EXTENDED COPY
コマンドが GOOD ステータスで完了した時、コピー元とコピー先のデバイス、特にストリームデバ
イスにおいては、アプリケーションクライアントが特定のコマンドを使用することで同じ場所に
位置づけできるような、特定可能な場所に位置づけされなければならない。
6.3.2
セグメント記述子を処理する前に検知したエラー
EXTENDED COPY コマンドの処理中、最初のセグメント記述子を処理する前にエラーが発生する可
能性がある。そのようなエラーには、EXTENDED COPY コマンドの伝送中に生じる CRC やパリティエ
ラー、CDB やパラメタデータ内の不正なパラメタ、不正なセグメント記述子、コピーマネージャに
おける処理不能などが含まれる。そのような例外条件に対して、コピーマネージャは下記を行わ
なければならない。
a) CHECK CONDITION ステータスで EXTENDED COPY コマンドを終了しなければならない。
b) センスデータの VALID ビットに 0 を設定する。センスキーには例外条件を説明する値を設定
しなければならない(すなわち、COPY ABORTED 以外)。
6.3.3
セグメント記述子の処理中に検知したエラー
コピーマネージャがセグメント記述子の処理を開始した後にエラーが生じる可能性がある。こ
れらのエラーには、セグメント記述子の不正なパラメタ、不正なセグメント記述子、ターゲット
記述子により参照される利用不可能なターゲット、コピーマネージャでの処理不能、コピー元や
コピー先デバイスでのエラーの報告などが含まれる。コピーマネージャがコピーターゲットデバ
イスの 1 つから CHECK CONDITION ステータスを受信した場合、例外状態を説明するセンスデータ
を取得し、かつ、CHECK CONDITION ステータスに関連づけられた ACA 状態をクリアしなければなら
ない。
ターゲットデバイスが INQUIRY コマンドに応答しない、あるいは、INQUIRY コマンドの応答で得
られたデータがサポートされない論理ユニットを示していることにより、コピーマネージャがコ
ピーターゲットデバイスと通信を確立することができず、セグメントの処理を続行することが不
可能な場合には、EXTENDED COPY コマンドはステータスが CHECK CONDITION、センスキーが COPY
ABORTED、追加センスコードが COPY TARGET DEVICE NOT REACHABLE で終了されなければならない。
INQUIRY コマンドのレスポンスで報告されたデバイス種別が、ターゲット記述子で指定されたデ
バイス種別と一致しないことにより、セグメントの処理を続行することが不可能になった場合に
は、EXTENDED COPY コマンドはステータスが CHECK CONDITION、センスキーが COPY ABORTED、追加
センスコードが INCORRECT COPY TARGET DEVICE TYPE で終了しなければならない。
コピーマネージャが EXTENDED COPY コマンドの処理中に INQUIRY コマンド以外のコマンドをコ
ピーターゲットデバイスに発行しており、かつ、コピーターゲットデバイスがステータスの応答
に失敗した、あるいは BUSY、TASK SET FULL、ACA ACTIVE、RESERVATION CONFLICT 以外のステー
タスを応答した場合には、コピーターゲットデバイスのコマンドは失敗した状態にあるものと見
なさなければならない。コピーターゲットデバイスでのコマンド失敗に伴い、EXTENDED COPY コマ
ンドはステータスが CHECK CONDITION、センスキーが COPY ABORTED、追加センスコードが THIRD
PARTY DEVICE FAILURE で終了しなければならない。
121
SCSI Primary Commands - 3 (SPC-3)
コピーターゲットデバイスがコピーマネージャから送信されたコマンドに対して、ステータス
が BUSY、TASK SET FULL、ACA ACTIVE、RESERVATION CONFLICT で応答した場合、コピーマネー
ジャはコマンドをリトライするか、あるいはターゲットデバイスでのコマンド失敗として
EXTENDED COPY コマンドを終了するかしなければならない。
注 16:コピーマネージャは、時間の浪費や無益なリトライを最小化するベンダ固有のリトライ
ポリシを採用することが期待される。
注 17:RESERVATION CONFLICT ステータスは、マルチポートの環境下においてコピーマネージャ
に裁量を与えるためだけに示される。コピーマネージャはコピーターゲットデバイスに到達しう
る複数のイニシエータポートを保持する可能性があり、永続予約はアクセスを単一の I_T ネクサ
スに制限する可能性がある。コピーマネージャは正しい I_T ネクサスを発見するために、複数の
イニシエータポートからのアクセスを試みる必要がある可能性がある。
コピーターゲットデバイスが入力ないし出力の操作に対して GOOD ステータスで応答し、かつ、
転送されたデータ量が予期したものより少なかった場合には、EXTENDED COPY コマンドはステータ
スが CHECK CONDITION、センスキーが COPY ABORTED、追加センスコードが COPY TARGET DEVICE
DATA UNDERRUN で終了されなければならない。オーバーランが検知された場合は、EXTENDED COPY
はステータスが CHECK CONDITION、センスキーが COPY ABORTED、追加センスコードが COPY TARGET
DEVICE DATA OVERRUN で終了されなければならない。
下記はセグメント記述子の処理中に検出される例外状態である。
a) コピーマネージャは EXTENDED COPY コマンドをステータスが CHECK CONDITION、センスコー
ドが COPY ABORTED で終了しなければならない。
b) コピーマネージャは、例外が生じた時に処理中だったセグメントを、COMMAND-SPECIFIC
INFORMATION フィールドの 3 バイト目と 4 バイト目にセグメント番号を書き込むことにより
明示しなければならない。セグメント番号は EXTENDED COPY パラメタリスト内のセグメン
ト記述子の相対位置に基づく(すなわち、パラメタリスト内の最初のセグメント記述子は
記述子番号 0 が割り当てられ、2 番目は 1 となる、など)。
c) エラーが発生した時点で、処理中のセグメントにおいてコピー先に対して何らかのデータ
が書き込み中だった場合、セグメントの残留分が INFORMATION フィールドに設定されなけ
ればならず、VALID ビットに 1 が設定されなければならない。コピー先のターゲット記述子
において末端のデバイス種別で 03h(すなわち、プロセッサデバイス)が指定されていた場
合には残留カウントがバイト単位で報告されなければならず、他の全てのデバイス種別で
は残留カウントがコピー先デバイスのブロック数で報告されなければならない。残留カウ
ントは、全てのコマンドが GOOD ステータスで完了し、READ コマンドで要求した全てのデー
タが取得されていたとした場合に書き込まれていたであろうバイト数やブロック数から、
現在のセグメントの処理中に正常に書き込まれたバイト数やブロック数を減算することに
より算出されなければならない。残留カウントを計算する際、コピーマネージャはコピー
先デバイスで正常終了したコマンドのみを含めなければならない(すなわち、コピー先デ
バイスにおいて GOOD ステータスで完了したか、あるいは CHECK CONDITION ステータスで終
了しセンスデータの EOM ビットに 1 が設定されているコマンド)。コピーマネージャが順番
通りではない転送を行っている場合、残留カウントはセグメントの相対バイト 0 から始ま
る連続的に転送に成功した分のみとならなければならない(すなわち、相対バイト 0 から
転送に成功した分のみであり、その先にある最初の不完全ないし失敗した転送は残留カウ
ントの計算には含まれてはならない)。エラーが発生していた時に処理していたセグメン
トにおいて、コピー先デバイスにいかなるデータも書き込まれていなかった場合は、VALID
ビットは 0 に設定されなければならず、INFORMATION フィールドの内容は未定義となる。転
送カウントを指定しないセグメントでは正しい残留カウントが返されてはならない。
d) コピー元デバイスから例外状態が報告され、固定フォーマットのセンスデータ(4.5.3 を参
照)が報告されていた場合、COMMAND-SPECIFIC INFORMATION フィールドの最初のバイトに
122
SCSI Primary Commands - 3 (SPC-3)
は、コピー元デバイスからコピーマネージャに配信されたセンスデータとステータスバイ
トが含まれる領域の開始バイト番号が、センスデータの開始位置からの相対アドレスで設
定されなければならない。ステータスバイトとセンスデータはコピーマネージャやデバイ
スサーバで変更されてはならない。値 0 はコピー元デバイスからステータスバイトやセン
スデータが返されなかったことを示す。
e) コピー先デバイスから例外状態が報告され、固定フォーマットのセンスデータが報告され
ていた場合、COMMAND-SPECIFIC INFORMATION フィールドの 2 番目のバイトには、コピー先
デバイスからコピーマネージャに配信されたセンスデータとステータスバイトが含まれる
領域の開始バイト番号が、センスデータの開始位置からの相対アドレスで設定されなけれ
ばならない。ステータスバイトとセンスデータはコピーマネージャやデバイスサーバで変
更されてはならない。値 0 はコピー先デバイスからステータスバイトやセンスデータが返
されなかったことを示す。
f) コピーターゲットデバイスに到達できない、もしくはコピーターゲットデバイスへのコマ
ンド送信の失敗によりセグメントの処理が終了した場合、SENSE-KEY SPECIFIC フィールド
には 4.5.2.4.5 の規定に従い値が設定され、FIELD POINTER にコピーターゲットデバイスを
識別するターゲット記述子の先頭バイトを指し示すよう値が設定されなければならない。
g) セグメント記述子の処理中に、コピーマネージャがセグメント記述子にエラーが存在する
ことを検知した場合、4.5.2.4.5 の規定に従い SENSE-KEY SPECIFIC フィールドに値を設定
し、FIELD POINTER にはエラーが存在するバイト位置を指し示す様に値を設定しなければな
らない。FIELD POINTER フィールドはパラメタデータないしセグメント記述子内でのオフ
セットを示すために使用することが可能である。SD ビットはこの 2 つのケースを区別する
ために使用される。FIELD POINTER にパラメタデータの先頭バイトからのオフセットが格納
される場合には、SD ビットに 0 が設定されなければならない。FIELD POINTER にセグメント
記述子の先頭バイトからのオフセットが設定される場合には、SD ビットに 1 が設定されな
ければならない。
h) コピーマネージャは FAILED SEGMENT DETAILS サービスアクションを設定した RECEIVE COPY
RESULTS コマンド(6.17.5 を参照)のために必要な情報を保持しなければならない。その
情報は 6.17.5 の規定に従い破棄されなければならない。
6.3.4
タスクを中断させるタスク管理機能
デバイスサーバが EXTENDED COPY コマンドを中断させる ABORT TASK、ABORT TASK SET、CLEAR
TASK SET タスク管理機能を実行する場合、コピーマネージャは、終了される EXTENDED COPY コマ
ンドにより生成された全てのコマンドとデータ転送が中断され、タスクマネージャが当該のタス
ク管理機能の完了を許可するより前に、データ転送がそれ以降行われ得ないことを保証しなけれ
ばならない。この要求は 5.6.10.5 の規定通り PREEMPT ANT ABORT サービスアクションを設定した
PERSISTENT RESERVE OUT コマンドにも適用されなければならない。
6.3.5
記述子の種別コード
ターゲット記述子とセグメント記述子は、記述子の種別を表す単一のコード値のセットを共有
する(表 52 を参照)。セグメント記述子は 00h~BFh のコードを使用する。C0h~DFh のコードの
定義はベンダ固有である。ターゲット記述子は E0h~FFh のコードを使用する。
表52 EXTENDED COPY 記述子種別コード
説明 a
短縮形 a
記述子
種別コード
参照
00h
6.3.7.3
ブロックデバイスからストリームデバイスへコピーする。 block→stream
01h
6.3.7.4
ストリームデバイスからブロックデバイスへコピーする。 stream→block
123
SCSI Primary Commands - 3 (SPC-3)
02h
6.3.7.5
ブロックデバイスからブロックデバイスへコピーする。
block→block
03h
6.3.7.6
ストリームデバイスからストリームデバイスへコピーす
る。
stream→stream
04h
6.3.7.7
インラインデータからストリームデバイスへコピーする。 inline→stream
05h
6.3.7.8
組み込みデータからストリームデバイスへコピーする。
embedded→stream
06h
6.3.7.9
ストリームデバイスから読み込み、破棄する。
stream→discard
07h
6.3.7.10 ブロックないしストリームデバイスの操作の検証を行う。
08h
6.3.7.11 オフセット指定のブロックデバイスから、ストリームデ
バイスへコピーする。
block<o>→stream
09h
6.3.7.12 ストリームデバイスから、オフセット指定のブロックデ
バイスへコピーする。
stream→block<o>
0Ah
6.3.7.13 オフセット指定のブロックデバイスから、オフセット指
定のブロックデバイスへコピーする。
block<o>→block<
o>
0Bh
6.3.7.3
ブロックデバイスからストリームデバイスへコピーし、
処理したデータをアプリケーションクライアントのため
に保持する b。
block→stream +
application
client
0Ch
6.3.7.4
ストリームデバイスからブロックデバイスへコピーし、
処理したデータをアプリケーションクライアントのため
に保持する b。
stream→block +
application
client
0Dh
6.3.7.5
ブロックデバイスからブロックデバイスへコピーし、処
理したデータをアプリケーションクライアントのために
保持する b。
block→block +
application
client
0Eh
6.3.7.6
ストリームデバイスからストリームデバイスへコピーし、 stream→stream +
処理したデータをアプリケーションクライアントのため application
に保持する b。
client
0Fh
6.3.7.9
ストリームデバイスから読み込み、処理したデータをア
プリケーションクライアントのために保持する b。
10h
6.3.7.14 シーケンシャルアクセスデバイスにファイルマークを書
き込む。
filemark→tape
11h
6.3.7.15 シーケンシャルアクセスデバイス上のレコードもしくは
ファイルマークの削除。
space→tape
12h
6.3.7.16 シーケンシャルアクセスデバイスの位置決め。
locate→tape
13h
6.3.7.17 シーケンシャルアクセスデバイスからシーケンシャルア
クセスデバイスへのイメージコピーを行う。
<i>tape→<i>tape
14h
6.3.7.18 永続予約キーの登録。
15h
6.3.7.19 サードパーティ永続予約コピー元 I_T ネクサス。
16h~BFh
セグメント記述子のために予約済み。
C0h~DFh
ベンダ固有記述子。
E0h
7.5.3.2
ファイバチャネル N_Port_Name ターゲット記述子。
E1h
7.5.3.3
ファイバチャネル N_Port_ID ターゲット記述子。
E2h
7.5.3.4
N_Port_Name 検証有りファイバチャネル N_Port_ID ター
124
stream→discard
+ application
client
SCSI Primary Commands - 3 (SPC-3)
ゲット記述子。
E3h
7.5.3.5
パラレルインタフェース T_L ターゲット記述子。
E4h
6.3.6.2
識別記述子ターゲット記述子。
E5h
7.5.3.8
IPv4 ターゲット記述子。
E6h
6.3.6.3
エイリアスターゲット記述子。
E7h
7.5.3.7
RDMA ターゲット記述子。
E8h
7.5.3.6
IEEE1394 EUI-64 ターゲット記述子。
E9h
7.5.3.9
SAS シリアル SCSI プロトコルターゲット記述子。
EAh~FFh
ターゲット記述子のために予約済み。
(a)ブロックデバイスとは、末端デバイス種別コードが 0h(すなわち、直接アクセスブロック)、
5h(すなわち、CD/DVD)、Eh(すなわち、簡略化直接アクセス)のものである。ストリームデバ
イスは、末端デバイス種別コードが 1h(すなわち、シーケンシャルアクセス)、3h(すなわち、
プロセッサ)のものである。シーケンシャルアクセスストリーム(短縮形のカラムで tape として
示される)は、末端デバイス種別コードが 1h のものである。末端デバイス種別コードの定義につ
いては 6.4.2 を参照のこと。
(b)アプリケーションクライアントはコピーマネージャにより保持されているデータを取得する
ためには、RECEIVE DATA サービスアクションを設定した RECEIVE COPY RESULTS コマンドを使用し
なければならない(6.17.3 を参照)。
6.3.6
6.3.6.1
ターゲット記述子
ターゲット記述子の序論
全てのターゲット記述子は 32 バイトであり、記述子のフォーマットを識別する DESCRIPTOR
TYPE CODE フィールドを含む 4 バイトのヘッダ(表 53 を参照)から開始される。割り当てられる
記述子種別コードは表 52 に示される。各ターゲット記述子フォーマットのサポートはオプション
である。コピーマネージャがサポートしていない記述子種別コードを持つターゲット記述子を受
信した場合、コマンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加セ
ンスコードが UNSUPPORTED TARGET DESCRIPTOR TYPE CODE で終了されなければならない。
125
SCSI Primary Commands - 3 (SPC-3)
表53 ターゲット記述子のフォーマット
Bit
Byte
7
6
0
5
4
3
2
1
0
記述子種別コード( DESCRIPTOR TYPE CODE )( E0h ~ FFh )
1
LU ID 種別 (LU ID TYPE)
2
( MSB )
NUL
末端デバイス種別( PERIPHERAL DEVICE TYPE )
相対イニシエータポート識別子
( RELATIVE INITIATOR PORT IDENTIFIER )
3
( LSB )
4
ターゲット記述子パラメタ
27
28
デバイス種別固有パラメタ
31
DESCRIPTOR TYPE CODE フィールドについては 6.3.5 で規定される。
LU ID TYPE フィールド(表 54 を参照)は LU IDENTIFIER フィールドを含むターゲット記述子に
おける、LU IDENTIFIER フィールドを解釈する方法を指定する。
表54 LU ID TYPE フィールド
コード値
LU IDENTIFIER フィールドの内容
参照
00b
論理ユニット番号
SAM-3
01b
プロクシトークン
8.3.1.6.2
10b~11b 予約済み
00b 以外の LU ID TYPE の値のサポートはオプションである。コピーマネージャがサポートして
いない LU ID TYPE の値を受信した場合は、コマンドはステータスが CHECK CONDITION、センス
キーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN PARAMETER LIST で終了されなけ
ればならない。
LU ID TYPE フィールドで LU IDENTIFIER に論理ユニット番号が格納されていることが指定され
た場合、LU IDENTIFIER フィールドは、EXTENDED COPY 操作のコピー元ないしコピー先とならなけ
ればならない、ターゲット記述子内の他のフィールドにより指定される SCSI デバイス内の論理ユ
ニットを指定する。
LU ID TYPE フィールドで LU IDENTIFIER にプロクシトークン(8.3.1.6.2 を参照)が格納されて
いることが指定された場合、コピーマネージャは、プロクシトークンに割り当てられている論理
ユニットに対するプロクシアクセス権を得るために、LU IDENTIFIER フィールドに格納されている
プロクシトークンの値を使用しなければならない。プロクシアクセス権を表す論理ユニット番号
は EXTENDED COPY 操作のコピー元ないしコピー先でなければならない。
コピーマネージャは、ASSIGN PROXY LUN サービスアクションを設定した ACCESS CONTROL OUT コ
マンド(8.3.3.11 を参照)を、ターゲット記述子の他のフィールドにより指定される SCSI ター
ゲットデバイスにおける、アクセス制御コーディネータに対して送信することにより、アクセス
先となる論理ユニットの LUN の値を取得するべきである。コピーマネージャは、パラメタデータ
にプロクシトークンが設定された EXTENDED COPY コマンドを処理するために必要となるコマンド
のためだけに、プロクシトークンに基づき割り当てられた LUN を使用しなければならない。コ
ピーマネージャがプロクシトークンを用いる EXTENDED COPY コマンドを完了した時、コピーマ
ネージャは RELEASE PROXY LUN サービスアクションを設定した ACCESS CONTROL OUT コマンド
(8.3.3.12 を参照)を使用し LUN の値を解放するべきである。
126
SCSI Primary Commands - 3 (SPC-3)
プロクシの論理ユニットに対する EXTENDED COPY のアクセスは、LU ID TYPE が 01b のもののみ
によって実現される。受信したターゲット記述子の LU ID TYPE が 00b であり、かつ指定されてい
る論理ユニット番号が、コピーマネージャが ASSIGN PROXY LUN サービスアクションを設定した
ACCESS CONTROL OUT コマンドを用いて取得している LUN の値と一致する場合には、EXTENDED COPY
コマンドはステータスが CHECK CONDITION、センスキーが COPY ABORTED、追加センスコードが
COPY TARGET DEVICE NOT REACHABLE で終了されなければならない。
null デバイス(NUL)ビットが 0 である場合、ターゲット記述子が、INQUIRY コマンドに対して
応答することが予測され、かつ、データ移動コマンドの送信先となる可能性のある SCSI デバイス
を識別するものであることを示す。NUL ビットが 1 に設定された場合、記述子は、あらゆる SCSI
コマンドの送信先とはならない null デバイスを識別することを表す。NUL ビットが 1 であれば、
ターゲット記述子の 4~27 バイト目は無視されなければならない。セグメント記述子で要求され
る処理において、ターゲット記述子で NUL ビットに 1 が設定されたコピーターゲットデバイスに
対してコマンドの送信を必要とする場合には、EXTENDED COPY コマンドは到達できないコピーター
ゲットデバイスに遭遇したものとして終了されなければならない(6.3.3 を参照)。
注 18:NUL ビットに 1 が設定されたターゲット記述子は、メディアに影響を及ぼさずに前のセグ
メント記述子における残留データを処理することに有用である(例えば、種別が
06h(stream→discard)、バイトカウントが 0、CAT が 0 のセグメント記述子と、PAD が 1 の null
コピー元ターゲット記述子は、残りのデータを全て破棄するために使用することが可能である)。
PERIPHERAL DEVICE TYPE フィールドについては 6.4.2 で規定される。DESCRIPTOR TYPE CODE
フィールドの値は、4 バイトのヘッダの後、デバイス種別固有パラメタの前に存在する、ターゲッ
ト記述子パラメタのフォーマットを決定する。DESCRIPTOR TYPE CODE フィールドの値は表 52 に示
される。
PERIPHERAL DEVICE TYPE フィールドは、ターゲット記述子パラメタの後に存在するデバイス種
別固有パラメタのフォーマットを決定する。デバイス種別固有パラメタは、ターゲット記述子で
識別されたデバイスの種別に固有の情報を伝達する。
表 55 は、ターゲット記述子内のデバイス種別固有パラメタのフォーマット定義を持つ、末端デ
バイス種別のコード値を示している。表 55 に示されない末端デバイス種別のコード値は EXTENDED
COPY のパラメタリスト内では予約済みとなる。
表55 ターゲット記述子内のデバイス種別固有パラメタ
末端デバイス種別
参照
説明
00h、04h、05h、07h、0Eh 6.3.6.4 ブロックデバイス
短縮形
Block
01h
6.3.6.5 シーケンシャルアクセスデバイス Stream または Tape
03h
6.3.6.6 プロセッサデバイス
Stream
RELATIVE INITIATOR PORT IDENTIFIER フィールドは、アクセスする際にあるイニシエータポー
トの使用が要求される場合に、コピーマネージャが、ターゲット記述子により指定される論理ユ
ニットにアクセスする際に使用しなければならない SCSI デバイス内のイニシエータポートにおけ
る相対ポート識別子(3.1.88 を参照)を指定する(すなわち、論理ユニットがコピーマネージャ
と同じ SCSI デバイスに存在するのであれば、RELATIVE INITIATOR PORT IDENTIFIER フィールドは
無視される)。RELATIVE INITIATOR PORT IDENTIFIER フィールドに 0 が指定された場合、コピー
マネージャは、SCSI デバイス内の任意のイニシエータポートを使用することが可能である。
セグメント記述子の処理の一部として、コピーマネージャはターゲット記述子内のデバイス固
有フィールドについて検証を行うことが可能である。しかしながら、情報を検証する際、コピー
マネージャはコピーターゲットデバイスに存在する読み込み/書き込み先メディアの位置につい
て、オリジナルの位置を回復しない限りは、位置を変更するようないかなる SCSI コマンドも発行
127
SCSI Primary Commands - 3 (SPC-3)
してはならない。情報の検証中に遭遇した全てのエラーは 6.3.3 の記述に従い取り扱われなけれ
ばならない。
6.3.6.2
識別記述子ターゲット記述子のフォーマット
表 56 に示されるフォーマットのターゲット記述子は、コピーマネージャに対して、CODE
SET、ASSOCIATION、 IDENTIFIER TYPE、IDENTIFIER LENGTH、IDENTIFIER フィールドに指定された
値が設定された識別記述子を保持するデバイス識別子 VPD ページ(7.6.3 を参照)を返す、SCSI
ターゲットデバイスと論理ユニットの場所を特定するよう要求する。コピーマネージャは適合し
た VPD フィールドに存在する任意の N_Port、ターゲットポート識別子、論理ユニット番号の値を、
論理ユニットにアクセスするために使用することが可能である。複数のターゲットポート識別子
と論理ユニット番号の組み合わせにより適合される VPD ページが取得されるのであれば、コピー
マネージャは論理ユニットにアクセスするために任意の組み合わせを使用することが可能であり、
かつ、EXTENDED COPY コマンドの処理中にある組み合わせで処理不能となるイベントが生じる場合
には、異なる組み合わせを用いることを試みなければならない。
表56 識別記述子ターゲット記述子のフォーマット
Bit
Byte
7
6
5
0
1
2
3
2
1
0
記述子種別コード( DESCRIPTOR TYPE CODE )( E4h )
LU ID 種別 (LU ID TYPE)
NUL
( MSB )
4
末端デバイス種別( PERIPHERAL DEVICE TYPE )
相対イニシエータポート識別子
( RELATIVE INITIATOR PORT IDENTIFIER )
3
5
4
予約済み
予約済み
( LSB )
コードセット( CODE SET )
割り当て( ASSOCIATION )
識別子種別( IDENTIFIER TYPE )
6
予約済み
7
識別子長( IDENTIFIER LENGTH )( n-7 )
8
識別子( IDENTIFIER )
n
n+1
27
予約済み
28
31
デバイス種別固有パラメタ
DESCRIPTOR TYPE CODE フィールド、PERIPHERAL DEVICE TYPE フィールド、NUL ビット、
RELATIVE INITIATOR PORT IDENTIFIER フィールド、デバイス種別固有パラメタについては
6.3.6.1 で説明される。
LU ID TYPE フィールドはこのターゲット記述子では予約済みとなる。
CODE SET、ASSOCIATION、IDENTIFIER TYPE、IDENTIFIER LENGTH、IDENTIFIER フィールドについ
ては 7.6.3 で説明される。
識別子長は 20 ないしそれ以下でなければならない。識別子長が 20 であれば、ターゲット記述子
パラメタとデバイス種別固有パラメタの間には予約済みのバイトは存在してはならない。
コードセット、割り当て、識別子種別、識別子長、識別子のある種の組み合わせは、コピー
ターゲットデバイスとなる論理ユニットを一意に識別しない。そのような組み合わせを受信した
コピーマネージャの動作は予測不能である。
128
SCSI Primary Commands - 3 (SPC-3)
6.3.6.3
エイリアスターゲット記述子のフォーマット
表 57 で示されるフォーマットのターゲット記述子は、コピーマネージャに対して、指定された
エイリアス値に対して割り当てられたエイリアスリスト(3.1.7 を参照)の名称を用いて、SCSI
ターゲットポートと論理ユニットの場所を特定するよう指示する。エイリアスリストは CHANGE
ALIASES コマンド(6.2 を参照)により管理される。
表57 エイリアスターゲット記述子のフォーマット
Bit
Byte
7
6
0
1
2
3
5
4
3
2
1
0
記述子種別コード( DESCRIPTOR TYPE CODE )( E6h )
LU ID 種別 (LU ID TYPE)
( MSB )
NUL
末端デバイス種別( PERIPHERAL DEVICE TYPE )
相対イニシエータポート識別子
( RELATIVE INITIATOR PORT IDENTIFIER )
( LSB )
4
LU 識別子( LU IDENTIFIER )
11
12
エイリアス値( ALIAS VALUE )
19
20
予約済み
27
28
31
デバイス種別固有パラメタ
DESCRIPTOR TYPE CODE フィールド、PERIPHERAL DEVICE TYPE フィールド、NUL ビット、
RELATIVE INITIATOR PORT IDENTIFIER フィールド、デバイス種別固有パラメタについては
6.3.6.1 で説明される。
ALIAS VALUE フィールドは、CHANGE ALIASES コマンド(6.2 を参照)により管理され、デバイス
サーバで保持されるエイリアスリスト内のエイリアス値を指定する。
デバイスサーバは、最初にエイリアスターゲット記述子を処理する時に、エイリアスリスト内
の対応するエントリにおける ALIAS VALUE フィールドの値を検証しなければならない。エイリア
スリスト内に値が存在しない場合や、エイリアス値に割り当てられた名称(6.2.3 を参照)をデバ
イスサーバで検証できない場合には、コピーターゲットデバイスが利用できない(6.3.3 を参照)
ことにより、コマンドは終了されなければならない。パラメタデータ内にエイリアスターゲット
記述子を含む EXTENDED COPY コマンドを生成するアプリケーションクライアントは、EXTENDED
COPY コマンドを発行する前に CHANGE ALIASES コマンド(6.2 を参照)を用い、エイリアスリスト
内に正しい値を登録しておくことについて責任を負う。
129
SCSI Primary Commands - 3 (SPC-3)
6.3.6.4
ブロックデバイス種別におけるデバイス種別固有ターゲット記述子パラメタ
ブロックデバイス種別(すなわち、デバイス種別コードが 00h、04h、05h、07h、0Eh のもの)に
おけるデバイス種別固有ターゲット記述子パラメタのフォーマットは表 58 に示す通りである。
表58 ブロックデバイス種別におけるデバイス種別固有ターゲット記述子
Bit
7
Byte
6
28
5
4
3
2
予約済み
29
1
PAD
0
予約済み
( MSB )
30
ディスクブロック長( DISK BLOCK LENGTH )
31
( LSB )
PAD ビットはセグメント記述子内の CAT ビット(6.3.7.1 を参照)と併せて、コピーするセグメ
ントがコピー先ブロックの整数倍にあわない場合に、どのような動作を行うべきかを決定するた
めに使用される(6.3.7.2 を参照)。
DISK BLOCK LENGTH フィールドは、対象となる論理デバイスにおける、保護情報(SBC-2 を参
照)を除いたディスクブロック内のバイト数を保持する。
コピーマネージャは、ブロックデバイス種別のコピー元から、先にデータを読み込むことが可
能である(すなわち、コピーマネージャは EXTENDED COPY コマンドの実行中に、同一ターゲット
記述子内の同一ブロックにおける書き込みと読み込みの相対的な順番が、セグメント記述子リス
トの順番と同一である様に、任意の時間に任意の順番でコピー元ディスクからの読み込み操作を
行うことが可能である)。
6.3.6.5
ラメタ
シーケンシャルアクセスデバイス種別におけるデバイス種別固有ターゲット記述子パ
シーケンシャルデバイス種別(すなわち、デバイス種別コードの値が 01h)におけるデバイス種
別固有ターゲット記述子パラメタのフォーマットは表 59 に示される通りである。
表59 シーケンシャルアクセスデバイス種別におけるデバイス種別固有ターゲット記述子パラメタ
Bit
Byte
7
6
28
5
4
3
予約済み
29
2
1
0
PAD
予約済み
FIXED
( MSB )
30
ストリームブロック長( STREAM BLOCK LENGTH )
31
( LSB )
FIXED ビットと STREAM BLOCK LENGTH フィールドはセグメント記述子の STREAM TRANSFER LENGTH
フィールドの値を共に、表 60 に示されるストリーム入出力の長さを決定するために使用される。
表60 ストリームデバイス転送長
FIXED STREAM BLOCK LENGTH
ビット
フィールド
0
000000h
0
000001h~FFFFFFh
説明
可変長の入出力を使用する。それぞれの入出力長はセグメント
記述子内の STREAM DEVICE TRANSFER LENGTH フィールドで指定
される。
コマンドは、ステータスが CHECK CONDITION、センスキーが
130
SCSI Primary Commands - 3 (SPC-3)
ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN
PARAMETER LIST で終了されなければならない。
1
000000h
1
000001h~FFFFFFh
コマンドは、ステータスが CHECK CONDITION、センスキーが
ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN
PARAMETER LIST で終了されなければならない。
固定長レコードの入出力を使用する。それぞれの入出力のバイ
ト数は、STREAM BLOCK LENGTH フィールドと、セグメント記述
子内の STREAM DEVICE TRANSFER LENGTH フィールドの積と等し
くなければならない。
PAD ビットはセグメント記述子の CAT ビット(6.3.7.1 を参照)と共に、コピーするセグメント
がコピー先ブロックの整数個に適合しない場合に実行するべき動作を決定するために使用される
(6.3.7.2 を参照)。
シーケンシャルアクセス種別のデバイスに対して発行される全ての読み込みコマンドでは、
SILI ビットは 0 に設定されなければならない。
コピーマネージャは、コピー元のストリームデバイス種別のデバイスから、先に読み込み操作
を行ってはならない(すなわち、コピー元がストリームデバイスであるセグメント記述子により
要求される読み込み操作は、前のセグメント記述子における全ての書き込み操作が完了するまで
開始されてはならない)。
6.3.6.6
プロセッサデバイス種別におけるデバイス種別固有ターゲット記述子パラメタ
プロセッサデバイス種別(すなわち、デバイス種別コードの値が 03h)におけるデバイス種別固
有ターゲット記述子のフォーマットは表 61 に示す通りである。
表61 プロセッサデバイス種別におけるデバイス種別固有ターゲット記述子パラメタ
Bit
Byte
28
29
7
6
5
4
予約済み
3
2
PAD
1
0
予約済み
予約済み
31
PAD ビットはセグメント記述子内の CAT ビット(6.3.7.1 を参照)と共に、コピーするセグメン
トが SEND もしくは RECEIVE コマンドの整数回に適合しない場合に実行すべき動作を決定するため
に使用される(6.3.7.2 を参照)。
コピー元がプロセッサデバイス種別である場合、SEND コマンドにより送られる対象となるバイ
ト数は、セグメント記述子の STREAM DEVICE TRANSFER LENGTH フィールドで指定されなければな
らない。コピー先がプロセッサデバイス種別である場合、RECEIVE コマンドで転送される対象とな
るバイト数は、セグメント記述子の STREAM DEVICE TRANSFER LENGTH フィールドで指定されなけ
ればならない。
131
SCSI Primary Commands - 3 (SPC-3)
6.3.7
セグメント記述子
6.3.7.1
セグメント記述子の序論
セグメント記述子(表 62 を参照)は 8 バイトのヘッダから開始される。
表62 セグメント記述子のヘッダ
Bit
7
Byte
6
5
4
3
2
0
記述子種別コード( DESCRIPTOR TYPE CODE )( 00h ~ 3Fh )
1
予約済み
2
1
0
DC
CAT
(MSB)
記述子長( DESCRIPTOR LENGTH )( n-7 )
3
4
(LSB)
(MSB)
5
6
(MSB)
7
コピー元ターゲット記述子インデックス
( SOURCE TARGET DESCRIPTOR INDEX )
コピー先ターゲット記述子インデックス
( DESTINATION TARGET DESCRIPTOR INDEX )
(LSB)
(LSB)
8
セグメント記述子パラメタ
n
DESCRIPTOR TYPE CODE フィールドについては 6.3.5 で規定される。各セグメント記述子の
フォーマットのサポートはオプションである。セグメント記述子の記述子種別コードでコピーマ
ネージャがサポートしていない値が設定されていた場合には、コマンドはステータスが CHECK
CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが UNSUPPORTED SEGMENT
DESCRIPTOR TYPE CODE で終了されなければならない。
コピー先カウント(destination count:DC)ビットは、記述子種別コードの値が 02h と
0Dh(6.3.7.5 を参照)であるセグメント記述子に対してのみ適用される。その他全てのセグメン
ト記述子では DC ビットは予約済みとなる。
CAT ビットについては 6.3.7.2 で規定される。
DESCRIPTOR LENGTH フィールドは、セグメント記述子内の DESCRIPTOR LENGTH フィールドに後続
するデータのバイト数を指定する。記述子種別コード別に、長さは一定であるべきである。
SOURCE TARGET DESCRIPTOR INDEX フィールドには、コピー元となるコピーターゲットデバイス
を識別するターゲット記述子リスト(6.3.1 を参照)内のインデックスを指定する。DESTINATION
TARGET DESCRIPTOR INDEX フィールドには、コピー先となるコピーターゲットデバイスを識別する
ターゲット記述子リスト(6.3.1 を参照)内のインデックスを指定する。いくつかのセグメント記
述子のフォーマットにおいては SOURCE TARGET DESCRIPTOR INDEX フィールドと、DESTINATION
TARGET DESCRIPTOR INDEX フィールドは要求されず、その場合にはこのフィールドは予約済みとな
る。
SOURCE TARGET DESCRIPTOR INDEX フィールドや DESTINATION TARGET DESCRIPTOR INDEX フィー
ルドで指定されたコピーターゲットデバイスに対してコピーマネージャからアクセスすることが
できなかった場合、コマンドはステータスが CHECK CONDITION、センスキーが COPY ABORTED、追
加センスコードが UNREACHABLE COPY TARGET で終了されなければならない。
6.3.7.2
セグメント記述子の処理
セグメント記述子の処理において、コピーマネージャには下記が要求される可能性がある。
a) コピー元デバイスに対してデータ入力コマンドを発行し、コピー元データを読み込む。
132
SCSI Primary Commands - 3 (SPC-3)
b) データを処理する。一般的には、コピー先データを転送対象であるものとして識別する。
c) コピー先データの一部もしくは全体をコピー先デバイスへ書き込む。
入出力ブロック数、処理するバイト数、および処理する単位については、セグメント記述子種
別コード、セグメント記述子のパラメタ、前のセグメントで残された残留コピー元ないしコピー
先データの量によって決定される。
ただし、特定のセグメント記述子種別コードにおける下記の指定は除外する。
a) 前のセグメントからの残留コピー元データと併せて、処理される対象となるバイト数を供
給するために必要となる、ちょうど十分なブロック全体の読み込み操作が行われなければ
ならない。
b) 処理は、コピー元データからバイトを削除し、それらを変更することなく、コピー先デー
タであると識別することから構成される。
c) 前のセグメントで残留したコピー元データと併せて、コピー先データにおける可能な限り
多数のブロック全体の書き込み操作が行われなければならない。
前のセグメントからの残留コピー元データは、現在のセグメント記述子の処理でコピー元デバ
イスから読み込まれたいかなるデータよりも先に処理されなければならない。前のセグメントか
らの残留コピー先データは、現在のセグメント記述子で処理されたいかなるデータよりも先に書
き込まれなければならない。
これらの一般的なルールにおける例外とその説明については、表 63 および参照される後続の節
で記述される。
表63 記述子種別コードに依存するコピーマネージャの処理
セグメント記述子種別コード
00h(block→stream)または
0Bh(block→stream+アプリケーショ
ンクライアント)
02h(block→block)または
0Dh(block→block+アプリケーション
クライアント)かつ DC=0
02h(block→block)または
0Dh(block→block+アプリケーション
クライアント)かつ DC=1
01h(stream→block)または
0Ch(stream→block+アプリケーショ
ンクライアント)
09h(stream→block<o>)
参照
説明
6.3.7.3 処理されるバイト数はコピー元ブロック
における BLOCK DEVICE NUMBER OF BLOCKS
フィールドで決定される(詳細は、後述
する該当する種別コードの定義を参照)。
6.3.7.5 a
6.3.7.5 指定されるブロック数ないしバイト範囲
は、コピー先デバイスへの出力でなけれ
ばならない。残留コピー先データが出力
するのに十分であれば、データの処理が
6.3.7.3
行われてはならない。そうでなければ、
コピー先データ(前のセグメントからの
残留コピー先データを含む)を満足する
6.3.7.12 のに必要とされるだけの量のデータが処
理(コピー元デバイスからの読み込みが
行われる可能性がある)されなければな
らない。a
03h(stream→stream)または、
0Eh(stream→stream+アプリケーショ
ンクライアント)
6.3.7.6 セグメント記述子で指定されるバイト数
が処理されなければならない。a
04h(inline→stream)
6.3.7.7 指定されたバイト数の inline または
embedded データがコピー先データに連結
6.3.7.8
05h(embedded→stream)
133
SCSI Primary Commands - 3 (SPC-3)
されなければならず、コピー元データは
処理されてはならない。
06h(stream→discard)
6.3.7.9 指定されたバイト数がコピー元データか
ら削除され、破棄されなければならない。
07h(デバイス操作の検証)
6.3.7.10 データは処理されてはならず、コピー
ターゲットデバイスに対する入出力操作
6.3.7.14
が行われてはならない。残留コピー元な
6.3.7.15 いしコピー先データが存在する場合は、
6.3.7.16 CAT ビットが 1 であるものとして保持ない
し破棄されなければならない。
6.3.7.18
10h(filemark→tape)
11h(space→tape)
12h(locate→tape)
14h(永続予約キーの登録)
08h(block<o>→stream)
6.3.7.11 要求されたブロックがコピー元デバイス
から読み込まれなければならず、コピー
元データから指定されたバイト範囲が抽
出されなければならず、指定されたバイ
ト数(存在する場合は残留コピー元デー
タから開始される)が処理されなければ
ならない。
0Ah(block<o>→block<o>)
6.3.7.13 指定されたコピー元バイト範囲はコピー
元データから読み込まれなければならず、
指定されたバイト数がコピー元データか
らコピー先データへ移動されなければな
らず、コピー先データの内の指定された
コピー先バイト範囲が書き込まれなけれ
ばならない。
0Fh(stream→discard+アプリケー
ションクライアント)
6.3.7.9 指定されたバイト数がコピー元データか
ら削除されなければならず、アプリケー
ションクライアントからの取得に備え保
持されなければならない。
13h(<i>tape→<i>tape)
6.3.7.17 データの移動は本節の記述に従う方法で
実行されてはならない。残留コピー元な
いしコピー先データが存在する場合は、
それらは使用されてはならず、CAT ビット
が 1 であるものとして保持ないし破棄され
なければならない。
(a)セグメント記述子種別コード 0Bh、0Ch、0Dh、0Eh において、処理されたデータのコピーはア
プリケーションクライアントからの取得に備え保持されなければならない。
入出力は、ブロックサイズ、転送長あるいはその両方により決定される、ブロック全体の転送
長に基づいて行われなければならない。そのため、セグメントの終わりで、ある程度のコピー元
データが未処理のまま残され、ある程度のコピー先データが転送されずに残る可能性がある。そ
の場合の残留データは、セグメント記述子の CAT ビット、およびコピー元とコピー先を示すター
ゲット記述子における PAD ビットの値に基づき、表 64 の規定に従い処理されなければならない。
134
SCSI Primary Commands - 3 (SPC-3)
表64 PAD ビットと CAT ビットの定義
コピー元ター
ゲット記述子
の PAD ビット
コピー先ター
CAT
ゲット記述子 ビット
の PAD ビット
コピーマネージャの動作
0 または 1
0 または 1
1
全ての残留コピー元データは後続のセグメント記述子におけ
るコピー元データとして保持されなければならない。全ての
残留コピー先データは後続のセグメント記述子におけるコ
ピー先データとして保持されなければならない。後続のセグ
メント記述子におけるコピー元ないしコピー先のターゲット
インデックスが、残留データが元々割り当てられていたター
ゲットインデックスと異なっていたとしてもエラーとなって
はならない。EXTENDED COPY コマンドの最後のセグメントで
CAT ビットが 1 であった場合、全ての残留データは破棄され
なければならず、かつ、これはエラーと見なされてはならな
い。
1
1
0
全ての残留コピー元データは破棄されなければならない。全
ての残留コピー先データは、転送ブロック全体を埋めるため
に 0 でパディングされなければならない。a
0
1
0
全ての残留コピー元データは CAT ビットが 1 であるものとし
て取り扱われなければならない(すなわち、最後のセグメン
トでは破棄され、それ以外では保持される)。全ての残留コ
ピー先データは転送ブロック全体を埋めるために 0 でパディ
ングされなければならない。
1
0
0
全ての残留コピー元ないしコピー先データは破棄されなけれ
ばならない。
0
0
0
残留コピー元ないしコピー先データが存在する場合、
EXTENDED COPY コマンドはステータスが CHECK CONDITION、
センスキーが COPY ABORTED、追加センスコードが
UNEXPECTED INEXACT SEGMENT で終了されなければならない。
(a)CAT ビットの値が 0 であり、コピー先ターゲット記述子の PAD ビットの値が 1 の時、下記いず
れかの条件が成立した場合は、EXTENDED COPY コマンドはステータスが CHECK CONDITION、センス
キーが COPY ABORTED、追加センスコードが UNEXPECTED INEXACT SEGMENT で終了されなければなら
ない。
a) セグメント記述子種別が 09h(stream→block<o>)ないし 0Ah(block<o>→block<o>)のセ
グメントにおいて、指定された範囲のバイトを書き込んだ後に、残留コピー先データが存
在する場合。
b) セグメント記述子の種別が 02h(block→block)で DC ビットが 1 である、種別が
0Dh(block→block+アプリケーションクライアント)で DC ビットが 1、種別が
01h(stream→block)、0Ch(stream→block+アプリケーションクライアント)のいずれか
であり、指定されたバイト数が書き込まれた後に残留コピー先データが存在する場合。
一部のセグメント記述子ではコピー元ないしコピー先を持たない。それらの記述子における PAD
ビットの扱いは下記に従わなければならない。セグメント記述子種別が
04h(inline→stream、6.3.7.7 を参照)と 05h(embedded→stream、6.3.7.8 を参照)では、コ
ピー元のターゲット記述子における PAD ビットは 0 であるものとして取り扱われなければならな
い。セグメント記述子種別が 06h と 0Fh(stream→discard と stream→discard+アプリケーション
クライアント、6.3.7.9 を参照)では、コピー先のターゲット記述子における PAD ビットは 0 であ
135
SCSI Primary Commands - 3 (SPC-3)
るものとして取り扱われなければならない。
6.3.7.3
ブロックデバイスからストリームデバイスへの操作
表 65 で示されるフォーマットのセグメント記述子は、ブロックデバイスからストリームデバイ
スへのデータ移動、あるいはその逆の操作を行う時に使用される。
表65 ブロックデバイスとストリームデバイス間コピー操作用セグメント記述子
Bit
Byte
7
6
5
4
3
2
1
0
記述子種別コード( DESCRIPTOR TYPE CODE )( 00h 、 01h 、 0Bh 、 0Ch )
1
予約済み
2
0
CAT
(MSB)
記述子長( DESCRIPTOR LENGTH )( 0014h )
3
4
(LSB)
(MSB)
5
6
(MSB)
コピー元ターゲット記述子インデックス
( SOURCE TARGET DESCRIPTOR INDEX )
7
コピー先ターゲット記述子インデックス
( DESTINATION TARGET DESCRIPTOR INDEX )
8
予約済み
9
ストリームデバイス転送長
( STREAM DEVICE TRANSFER LENGTH )
11
(LSB)
12
予約済み
13
予約済み
(MSB)
15
16
23
(LSB)
(MSB)
10
14
(LSB)
(MSB)
ブロックデバイスブロック数
( BLOCK DEVICE NUMBER OF BLOCKS )
ブロックデバイス論理ブロックアドレス
( BLOCK DEVICE LOGICAL BLOCK ADDRESS )
(LSB)
(LSB)
DESCRIPTOR TYPE CODE フィールドについては 6.3.5 と 6.3.7.1 で記述される。表 65 に示され、
本節で説明されるセグメント記述子のフォーマットは、2 つの DESCRIPTOR TYPE CODE の値で使用
される。
記述子種別コードが 00h(block→stream)と記述子種別コードが 0Bh(block→stream+アプリ
ケーションクライアント)のものにおいては、コピーマネージャは SOURCE TARGET DESCRIPTOR
INDEX フィールドで識別されるコピー元ブロックデバイスから、DESTINATION TARGET DESCRIPTOR
INDEX フィールドで識別されるコピー先ブロックデバイスに対して、BLOCK DEVICE LOGICAL BLOCK
ADDRESS フィールドで識別される開始位置から論理ブロックのコピー処理を行わなければならない。
BLOCK DEVICE NUMBER OF BLOCKS フィールドの内容と、コピー元デバイスにおけるターゲット記述
子内の DISK BLOCK LENGTH フィールドの内容を乗じた数と等しいバイト数を処理(6.3.7.2 を参
照)するために、必要な個数のブロックが読み込まれなければならない。データは、メディアの
現在の位置からストリームデバイスに書き込まれなければならない。
記述子種別コードが 0Bh(block→stream+アプリケーションクライアント)において、コピーマ
ネージャはまた、6.17.3 の記述に従い RECEIVE DATA サービスアクションを設定した RECEIVE
COPY RESULTS コマンドのレスポンスとして、EXTENDED COPY コマンドの完了時にアプリケーショ
ンクライアントへ配信するために、 処理したデータを保持しておかなければならない。コピーマ
136
SCSI Primary Commands - 3 (SPC-3)
ネージャによりサポートされる、保持される最小のデータ量は OPERATING PARAMETERS サービスア
クションを設定した RECEIVE COPY RESULTS コマンド(6.17.4 を参照)のレスポンスデータとして
返される。コピーマネージャは 0Bh の記述子種別コードをサポートするのであれば、RECEIVE
DATA サービスアクションを設定した RECEIVE COPY RESULTS コマンドもまたサポートしなければな
らない。
CAT ビットについては 6.3.7.2 で記述される。
DESCRIPTOR LENGTH フィールドには 20(0014h)が格納されなければならない。SOURCE TARGET
DESCRIPTOR INDEX と DESTINATION TARGET DESCRIPTOR INDEX フィールドについては 6.3.7.1 で記
述される。
STREAM DEVICE TRANSFER LENGTH フィールドは、ストリームデバイスに対するそれぞれの書き込
み操作で書き込まれる対象となるデータの量を定義する。セグメント記述子の STREAM DEVICE
TRANSFER LENGTH フィールド内のデータが、シーケンシャルアクセスデバイス種別を示すデバイス
種別固有ターゲット記述子パラメタ内の STREAM BLOCK LENGTH フィールドのデータと、どのよう
な相互作用を行うのかについては 6.3.6.5 を参照のこと。
BLOCK DEVICE NUMBER OF BLOCKS フィールドは、セグメント中で処理(6.3.7.2 を参照)される
対象となるデータの長さを、コピー元論理ブロック数で指定する。0 が指定された場合はエラーと
見なされてはならない。データの処理が行われてはならないが、コピー先へのブロック全体の転
送が可能なのであれば、前のセグメントで残された残留コピー先データの書き込みが行われなけ
ればならない。0 が指定された場合にも残留データの扱いが変更されてはならない。
BLOCK DEVICE LOGICAL BLOCK ADDRESS フィールドは、当該セグメントにおけるブロックデバイ
ス上の開始位置となる論理ブロックアドレスを指定する。
6.3.7.4
ストリームデバイスからブロックデバイスへの操作
ストリームデバイスからブロックデバイスへのデータ移動操作においても、表 65(6.3.7.3 を参
照)で示されるセグメント記述子のフォーマットが使用される。表 65 で示され、本節で説明され
るセグメント記述子のフォーマットにおいては 2 種類の DESCRIPTOR TYPE CODE の値が使用される。
記述子種別コード 01h(stream→block)もしくは記述子種別コード 0Ch(stream→block+アプリ
ケーションクライアント)においては、コピーマネージャは SOURCE TARGET DESCRIPTOR INDEX
フィールドで指定されるコピー元ストリームデバイスから、DESTINATION TARGET DESCRIPTOR
INDEX フィールドで指定されるコピー先ブロックデバイスへ、データのコピーを行わなければなら
ない。ストリームデータは、ストリームデバイスにおける現在の位置から開始されなければなら
ない。データは、BLOCK DEVICE LOGICAL BLOCK ADDRESS で識別される位置から開始され、BLOCK
DEVICE NUMBER OF BLOCKS フィールドで指定されるブロック数分連続する論理ブロックに書き込ま
れなければならない。
記述子種別コード 0Ch(stream→block+アプリケーションクライアント)においては、コピーマ
ネージャは、6.17.3 の記述に従い RECEIVE DATA サービスアクションを設定した RECEIVE COPY
RESULTS コマンドに対するレスポンスとして、EXTENDED COPY コマンドの完了時にアプリケーショ
ンクライアントへ配信するために、処理したデータのコピーを保持しなければならない。コピー
マネージャがサポートする保持データの最小量は、OPERATING PARAMETERS サービスアクションを
設定した RECEIVE COPY RESULTS コマンド(6.17.4 を参照)のレスポンスデータとして返される。
コピーマネージャが 0Ch の記述子種別コードをサポートするのであれば、RECEIVE DATA サービス
アクションを設定した RECEIVE COPY RESULTS コマンドもまたサポートされなければならない。
CAT ビットについては 6.3.7.2 で記述される。
DESCRIPTOR LENGTH フィールドは 20(0014h)が設定されなければならない。SOURCE TARGET
DESCRIPTOR INDEX と DESTINATION TARGET DESCRIPTOR INDEX フィールドについては 6.3.7.1 で記
述される。
137
SCSI Primary Commands - 3 (SPC-3)
STREAM DEVICE TRANSFER LENGTH フィールドは、それぞれの読み込み操作でコピー元ストリーム
デバイスから読み込まれるデータ量を指定する。シーケンシャルアクセスデバイス種別において、
セグメント記述子の STREAM DEVICE TRANSFER LENGTH フィールド内のデータが、デバイス種別固
有ターゲット記述子パラメタの STREAM BLOCK LENGTH フィールドのデータと、どのように相互作
用を行うのかについての説明は 6.3.6.5 を参照のこと。
BLOCK DEVICE NUMBER OF BLOCKS フィールドは当該セグメントにより書き込まれるブロック数を
指定する。0 が指定された場合は当該のセグメントではデータが書き込まれてはならないことを示
す。これはエラーと見なされてはならない。
BLOCK DEVICE LOGICAL BLOCK ADDRESS フィールドは当該セグメントにおける、ブロックデバイ
スに対する開始論理ブロックアドレスを指定する。
138
SCSI Primary Commands - 3 (SPC-3)
6.3.7.5
ブロックデバイスからブロックデバイスへの操作
表 66 で示されるセグメント記述子のフォーマットは、ブロックデバイスからブロックデバイス
へのデータのコピーを行う操作において使用される。
表66 ブロックデバイスからブロックデバイスへのコピー操作用セグメント記述子
Bit
Byte
7
6
5
4
3
2
0
記述子種別コード( DESCRIPTOR TYPE CODE )( 02h 、 0Dh )
1
予約済み
2
1
0
DC
CAT
(MSB)
記述子長( DESCRIPTOR LENGTH )( 0018h )
3
4
(LSB)
(MSB)
5
6
(MSB)
コピー元ターゲット記述子インデックス
( SOURCE TARGET DESCRIPTOR INDEX )
7
コピー先ターゲット記述子インデックス
( DESTINATION TARGET DESCRIPTOR INDEX )
8
予約済み
9
予約済み
10
(MSB)
11
12
(MSB)
19
20
27
(MSB)
ブロックデバイスブロック数
( BLOCK DEVICE NUMBER OF BLOCKS )
コピー元ブロックデバイス論理ブロックアドレス
( SOURCE BLOCK DEVICE LOGICAL BLOCK ADDRESS )
コピー先ブロックデバイス論理ブロックアドレス
( DESTINATION BLOCK DEVICE LOGICAL BLOCK ADDRESS )
(LSB)
(LSB)
(LSB)
(LSB)
(LSB)
DESCRIPTOR TYPE CODE フィールドについては 6.3.5 と 6.3.7.1 で記述される。表 66 で示され、
本節で説明されるセグメント記述子においては、2 つの DESCRIPTOR TYPE CODE フィールドの値が
使用される。
記述子種別コードが 02h(block→block)または記述子種別コードが 0Dh(block→block+アプリ
ケーションクライアント)において、コピーマネージャは SOURCE TARGET DESCRIPTOR INDEX
フィールドで識別されるコピー元ブロックデバイスから、DESTINATION TARGET DESCRIPTOR INDEX
フィールドで識別されるコピー先ブロックデバイスへ、SOURCE BLOCK DEVICE LOGICAL BLOCK
ADDRESS フィールドで識別される位置から開始される論理ブロック内のデータをコピーしなければ
ならない。データは、DESTINATION BLOCK DEVICE LOGICAL BLOCK ADDRESS フィールドで識別され
る位置から開始される論理ブロックへ書き込まれなければならない。
DC ビットが 0 であれば、BLOCK DEVICE NUMBER OF BLOCKS フィールドの内容と、コピー元デバイ
スにおけるターゲット記述子内の DISK BLOCK LENGTH フィールドの内容を乗じた数と等しいバイ
ト数を処理(6.3.7.2 を参照)するために必要なだけブロックの読み込みが行われなければならず、
かつ、前のセグメントから残された全ての残留コピー先データと、当該セグメントで処理される
データにより、可能な限り多くの書き込み処理が行われなければならない。DC ビットが 1 であれ
ば、BLOCK DEVICE NUMBER OF BLOCKS フィールドで指定されたブロック数分だけコピー先ブロック
デバイスへの書き込みが行われなければならず、これらの書き込みを実行するために必要なだけ
の処理が行われなければならず、処理されるデータを供給するのに必要なだけの読み込みが行わ
れなければならない。
記述子種別コード 0Dh(block→block+アプリケーションクライアント)において、コピーマ
139
SCSI Primary Commands - 3 (SPC-3)
ネージャは、6.17.3 の記述に従い RECEIVE DATA サービスアクションを設定した RECEIVE COPY
RESULTS コマンドのレスポンスとして、EXTENDED COPY コマンドの終了時にアプリケーションクラ
イアントに配信するために、処理したデータのコピーを保持しなければならない。コピーマネー
ジャがサポートする保持データの最小量は、OPERATING PARAMETERS サービスアクションを設定し
た RECEIVE COPY RESULTS コマンド(6.17.4 を参照)のレスポンスデータとして返される。コピー
マネージャが 0Dh の記述子種別コードをサポートするのであれば、RECEIVE DATA サービスアク
ションを設定した RECEIVE COPY RESULTS コマンドもまたサポートされなければならない。
CAT ビットについては 6.7.3.2 で記述される。
コピー先カウント(destination count:DC)ビットは、BLOCK DEVICE NUMBER OF BLOCKS
フィールドがコピー元デバイスとコピー先デバイスのいずれを参照するのかを指定する。DC ビッ
トが 0 であれば、BLOCK DEVICE NUMBER OF BLOCKS フィールドがコピー元デバイスを参照すること
を表す。DC ビットが 1 であれば、BLOCK DEVICE NUMBER OF BLOCKS フィールドがコピー先デバイ
スを参照することを表す。
DESCRIPTOR LENGTH フィールドには 24(0018h)が格納されなければならない。SOURCE TARGET
DESCRIPTOR INDEX と DESTINATION TARGET DESCRIPTOR INDEX フィールドについては 6.3.7.1 で記
述される。
DC ビットが 0 であれば、BLOCK DEVICE NUMBER OF BLOCKS フィールドは処理される対象となるブ
ロック数を指定する。DC ビットが 1 であれば、BLOCK DEVICE NUMBER OF BLOCKS フィールドはコ
ピー先デバイスに書き込まれる対象となるブロック数を指定する。0 が指定された場合はエラーと
見なされてはならない。DC ビットが 1 の場合、値 0 はコピー先ブロックの書き込みが行われては
ならず、前のセグメントからの全ての残留コピー元ないしコピー先データに対して、6.3.7.2 に記
述された残留データの扱いに従った処理のみが行われなければならない事を示す。DC ビットが 0
であれば、コピー元ブロックの読み込みが行われてはならず、コピー元データの処理が行われて
はならない事を示す。しかし、前のセグメントからの全ての残留コピー先データは、ブロック全
体の転送により可能な限りコピー先への書き込みが行われなければならず、かつ、全ての残留
データは 6.3.7.2 の記述に従い取り扱われなければならない。
SOURCE BLOCK DEVICE LOGICAL BLOCK ADDRESS フィールドは、データの読み込み開始位置となら
なければならない論理ブロックアドレスを指定する。
DESTINATION BLOCK DEVICE LOGICAL BLOCK ADDRESS フィールドは、データの書き込み開始位置
とならなければならない論理ブロックアドレスを指定する。
140
SCSI Primary Commands - 3 (SPC-3)
6.3.7.6
ストリームデバイスからストリームデバイスへの操作
表 67 で示されるフォーマットのセグメント記述子は、ストリームデバイスからストリームデバ
イスへデータを移動するコピー操作で使用される。
表67 ストリームデバイスからストリームデバイスへのコピー操作用セグメント記述子
Bit
Byte
7
6
5
4
3
2
0
記述子種別コード( DESCRIPTOR TYPE CODE )( 03h 、 0Eh )
1
予約済み
2
1
0
CAT
(MSB)
記述子長( DESCRIPTOR LENGTH )( 0010h )
3
4
(LSB)
(MSB)
5
6
(MSB)
コピー元ターゲット記述子インデックス
( SOURCE TARGET DESCRIPTOR INDEX )
7
コピー先ターゲット記述子インデックス
( DESTINATION TARGET DESCRIPTOR INDEX )
8
予約済み
9
コピー元ストリームデバイス転送長
( SOURCE STREAM DEVICE TRANSFER LENGTH )
11
(LSB)
12
予約済み
(MSB)
コピー先ストリームデバイス転送長
( DESTINATION STREAM DEVICE TRANSFER LENGTH )
14
15
16
(LSB)
(MSB)
10
13
(LSB)
(LSB)
(MSB)
バイトカウント( BYTE COUNT )
19
(LSB)
DESCRIPTOR TYPE CODE フィールドについては 6.3.5 と 6.3.7.1 で記述される。表 67 で示され本
節で説明されるフォーマットのセグメント記述子では 2 つの DESCRIPTOR TYPE CODE フィールドの
値が使用される。
記述子種別コード 03h(stream→stream)ないし記述子種別コード 0Eh(stream→stream+アプリ
ケーションクライアント)において、コピーマネージャは SOURCE TARGET DESCRIPTOR INDEX
フィールドで識別されるコピー元ストリームデバイスから、DESTINATION DESCRIPTOR INDEX
フィールドで識別されるコピー先ストリームデバイスへデータをコピーしなければならない。
データは、コピー元ストリームデバイスの現在の位置から読み込みまれなければならない。デー
タは、コピー先ストリームデバイスにおける現在の位置へ書き込まれなければならない。BYTE
COUNT フィールドはコピーマネージャにより処理(6.3.7.2 を参照)される対象となるバイト数を
定義する。コピーマネージャはコピー元データを供給するために必要なだけ読み込み操作を行わ
なければならず、かつ、コピー先データにより書き込み操作を可能な限り行わなければならない。
記述子種別コード 0Eh(stream→stream+アプリケーションクライアント)において、コピーマ
ネージャはまた、6.17.3 の記述に従い RECEIVE DATA サービスアクションを設定した RECEIVE
COPY RESULTS コマンドのレスポンスとしてアプリケーションクライアントに対して配信するため
に、EXTENDED COPY コマンドの完了時に処理したデータの複製を保持しなければならない。コピー
マネージャによりサポートされる保持データの最小量は、OPERATING PARAMETERS サービスアク
141
SCSI Primary Commands - 3 (SPC-3)
ションを設定した RECEIVE COPY RESULTS コマンド(6.17.4 を参照)のレスポンスデータとして返
される。コピーマネージャが 0Eh の記述子種別コードをサポートするのであれば、RECEIVE DATA
サービスアクションを設定した RECEIVE COPY RESULTS コマンドもまたサポートされなければなら
ない。
CAT ビットについては 6.3.7.2 で記述される。
DESCRIPTOR LENGTH フィールドには 16(0010h)が設定されなければならない。SOURCE TARGET
DESCRIPTOR INDEX と DESTINATION TARGET DESCRIPTOR INDEX フィールドについては 6.3.7.1 で記
述される。
SOURCE STREAM DEVICE TRANSFER LENGTH フィールドは各読み込み操作でコピー元ストリームデ
バイスから読み込まれる対象となるデータの量を指定する。セグメント記述子の SOURCE STREAM
DEVICE TRANSFER LENGTH フィールドの値と、コピー元シーケンシャルアクセスデバイス種別にお
けるデバイス種別固有ターゲット記述子パラメタの STREAM BLOCK LENGTH フィールドの値がどの
ように相互作用を行うのかについては 6.3.6.5 を参照のこと。
DESTINATION STREAM DEVICE TRANSFER LENGTH フィールドは、各書き込み操作においてコピー先
ストリームデバイスに書き込まれる対象となるデータの量を指定する。コピー先シーケンシャル
アクセスデバイスにおいて、セグメント記述子の DESTINATION STREAM DEVICE TRANSFER LENGTH
フィールドの値と、デバイス種別固有ターゲット記述子パラメタの STREAM BLOCK LENGTH フィー
ルドの値がどのように相互作用を行うのかについては 6.3.6.5 を参照のこと。
BYTE COUNT フィールドは当該セグメントで処理されなければならないデータのバイト数を指定
する。0 が指定された場合はエラーと見なされてはならず、かつ、これはコピー元ブロックの読み
込みが行われてはならず、コピー元データの処理が行われてはならないことを指定する。しかし
ながら、値 0 は前のセグメントからの全ての残留コピー先データが、ブロック全体の転送により
可能な限り書き込まれ、かつ、全ての残留データが 6.3.7.2 の規定に従い処理されなければなら
ないことを指定する。
142
SCSI Primary Commands - 3 (SPC-3)
6.3.7.7
インラインデータからストリームデバイスへの操作
表 68 で示されるフォーマットのセグメント記述子は、コピーマネージャに対して、EXTENDED
COPY コマンドのパラメタリスト内のインラインデータを、ストリームデバイスに書き込むことを
指示する。
表68 インラインデータからストリームデバイスへの書き込み操作用セグメント記述子
Bit
Byte
7
6
5
4
3
2
0
記述子種別コード( DESCRIPTOR TYPE CODE )( 04h )
1
予約済み
2
1
0
CAT
(MSB)
記述子長( DESCRIPTOR LENGTH )( 0010h )
3
(LSB)
4
予約済み
5
予約済み
6
(MSB)
7
コピー先ターゲット記述子インデックス
( DESTINATION TARGET DESCRIPTOR INDEX )
8
予約済み
9
(MSB)
ストリームデバイス転送長
( STREAM DEVICE TRANSFER LENGTH )
10
11
12
(LSB)
(MSB)
15
16
19
(LSB)
(MSB)
インラインデータオフセット
( INLINE DATA OFFSET )
インラインデータバイト数
( INLINE DATA NUMBER OF BYTES )
(LSB)
(LSB)
DESCRIPTOR TYPE CODE フィールドについては 6.3.5 と 6.3.7.1 で記述される。記述子種別コー
ド 04h(inline→stream)はコピーマネージャに対して EXTENDED COPY パラメタリスト内のインラ
インデータをストリームデバイスへ書き込むことを指示する。インラインデータは、EXTENDED
COPY パラメタリストの末尾に存在する、オプションのインラインデータから読み込まれなければ
ならない。データは、DESTINATION TARGET DESCRIPTOR INDEX で識別されるコピー先ストリームデ
バイスに書き込まれなければならない。また、データの書き込みは当該ストリームデバイスの現
在の位置から開始されなければならない。前のセグメント記述子からの全ての残留コピー先デー
タは、現在のセグメントにおけるデータよりも先に書き込まれなければならない。前のセグメン
ト記述子からの全ての残留コピー元データは処理(6.3.7.2 を参照)されてはならず、かつ、残留
コピー元データとして取り扱われなければならない。
CAT ビットについては 6.3.7.2 で記述される。
DESCRIPTOR LENGTH フィールドには 16(0010h)が設定されなければならない。DESTINATION
TARGET DESCRIPTOR INDEX フィールドについては 6.3.7.1 で記述される。
STREAM DEVICE TRANSFER LENGTH フィールドは、各書き込み操作でストリームデバイスに書き込
まれる対象となるデータの量を指定する。セグメント記述子の STREAM DEVICE TRANSFER LENGTH
フィールドの値と、コピー先シーケンシャルアクセスデバイス種別におけるデバイス種別固有
ターゲット記述子パラメタ内の STREAM BLOCK LENGTH フィールドの値が、どのように相互作用を
行うのかについては 6.3.6.5 を参照のこと。
143
SCSI Primary Commands - 3 (SPC-3)
ストリームデバイスに書き込まれる対象となるインラインデータの最初のバイト位置を算出す
るため、EXTENDED COPY パラメタリスト(表 51 を参照)のインラインデータの最初のバイト位置
に、INLINE DATA OFFSET フィールドの値が加算される。INLINE DATA OFFSET フィールドの値は 4
の倍数でなければならない。
INLINE DATA NUMBER OF BYTES フィールドはストリームデバイスに書き込まれる対象となるイン
ラインデータのバイト数を指定する。0 が指定された場合はエラーと見なされてはならない。
INLINE DATA OFFSET と INLINE DATA NUMBER OF BYTES の値の和が INLINE DATA LENGTH(表 51 を
参照)の値を超えた場合は、コピーマネージャはステータスが CHECK CONDITION、センスキーが
COPY ABORTED、追加センスコードが INLINE DATA LENGTH EXCEEDED でコマンドを終了しなければ
ならない。
6.3.7.8
組み込みデータからストリームデバイスへの操作
表 69 で示されるフォーマットのセグメント記述子は、コピーマネージャに対してセグメント記
述子の組み込みデータをストリームデバイスに書き込むよう指示する。
表69 組み込みデータからストリームデバイスへの書き込み操作用セグメント記述子
Bit
Byte
7
6
5
4
3
2
0
記述子種別コード( DESCRIPTOR TYPE CODE )( 05h )
1
予約済み
2
1
0
CAT
(MSB)
記述子長( DESCRIPTOR LENGTH )( n-3 )
3
(LSB)
4
予約済み
5
予約済み
6
(MSB)
7
コピー先ターゲット記述子インデックス
( DESTINATION TARGET DESCRIPTOR INDEX )
8
予約済み
9
(MSB)
ストリームデバイス転送長
( STREAM DEVICE TRANSFER LENGTH )
10
11
12
(LSB)
(MSB)
13
14
(MSB)
組み込みデータバイト数
( EMBEDDED DATA NUMBER OF BYTES )
(LSB)
予約済み
15
16
(LSB)
(LSB)
組み込みデータ( EMBEDDED DATA )
n
DESCRIPTOR TYPE CODE フィールドについては 6.3.5 と 6.3.7.1 で記述される。記述子種別コー
ド 05h(embedded→stream)はコピーマネージャに対して組み込みデータをセグメント記述子から
ストリームデバイスに書き込みことを指示する。組み込みデータはセグメント記述子から読み込
まれなければならない。データは DESTINATION TARGET DESCRIPTOR INDEX フィールドにより識別
されるコピー先ストリームデバイスに書き込まれなければならず、かつ、当該ストリームデバイ
スの現在の位置から書き込まれなければならない。前のセグメント記述子からの全ての残留コ
ピー先データは、現在のセグメント記述子のデータより前に書き込まれなければならない。前の
144
SCSI Primary Commands - 3 (SPC-3)
セグメント記述子からの全ての残留コピー元データは処理(6.3.7.2 を参照)されてはならず、残
留コピー元データとして取り扱われなければならない。
CAT ビットについては 6.3.7.2 で記述される。
DESCRIPTOR LENGTH フィールドは、組み込みデータを含む、DESCRIPTOR LENGTH フィールドに後
続するフィールドのバイト長を保持しなければならない。DESCRIPTOR LENGTH フィールドの値は 4
の倍数でなければならない。
DESTINATION TARGET DESCRIPTOR INDEX フィールドについては 6.3.7.1 で記述される。
STREAM DEVICE TRANSFER LENGTH フィールドは各書き込み操作でストリームデバイスに書き込ま
れる対象となるデータ量を指定する。セグメント記述子の STREAM DEVICE TRANSFER LENGTH
フィールドのデータと、シーケンシャルアクセスデバイス種別におけるデバイス種別固有ター
ゲット記述子パラメタ内の STREAM BLOCK LENGTH フィールドのデータがどのように相互作用を行
うのかについては 6.3.6.5 を参照のこと。
EMBEDDED DATA NUMBER OF BYTES フィールドはストリームデバイスに転送される対象となる組み
込みデータのバイト数を指定する。値 0 はエラーと見なされてはならない。EMBEDDED DATA
NUMBER OF BYTES の値は DESCRIPTOR LENGTH の値から 12 を引いた値よりも小さいか、あるいは等
しくなければならない。
145
SCSI Primary Commands - 3 (SPC-3)
6.3.7.9
ストリームデバイスから破棄する操作
表 70 で示されるフォーマットのセグメント記述子はコピーマネージャに対して、ストリームデ
バイスからデータを読み込み、その他いかなるデバイスへもコピーしないことを指示する。
表70 ストリームデバイスから破棄する操作のためのセグメント記述子
Bit
Byte
7
6
5
4
3
2
0
記述子種別コード( DESCRIPTOR TYPE CODE )( 06h 、 0Fh )
1
予約済み
2
1
0
CAT
(MSB)
記述子長( DESCRIPTOR LENGTH )( 000Ch )
3
4
(LSB)
(MSB)
5
コピー元ターゲット記述子インデックス
( SOURCE TARGET DESCRIPTOR INDEX )
6
予約済み
7
予約済み
8
予約済み
9
(MSB)
ストリームデバイス転送長
( STREAM DEVICE TRANSFER LENGTH )
10
11
12
(LSB)
(LSB)
(MSB)
バイト数( NUMBER OF BYTES )
15
(LSB)
DESCRIPTOR TYPE CODE フィールドについては 6.3.5 と 6.3.7.1 で記述される。表 70 で示され本
節で説明されるセグメント記述子フォーマットでは DESCRIPTOR TYPE CODE で 2 種類の値を使用す
る。
記述子種別コード 06h(stream→discard)ないし記述子種別コード 0Fh(stream→discard+アプ
リケーションクライアント)において、コピーマネージャは SOURCE TARGET DESCRIPTOR INDEX
フィールドで識別されるコピー元ストリームデバイスから必要なだけデータを読み込まなければ
ならない。データの読み込みは、当該コピー元ストリームデバイスの現在の位置から開始されな
ければならない。前のセグメントから残された全ての残留コピー元データから開始して、 NUMBER
OF BYTES フィールドで指定されるバイト数分だけコピー元データが削除されなければならない。
記述子種別コード 06h(stream→discard)では削除されたデータは全て破棄されなければなら
ず、かつ、いかなるコピー先デバイスにも書き込まれてはならない。記述子種別コード
0Fh(stream→discard+アプリケーションクライアント)では、削除されたデータは EXTENDED
COPY コマンドの終了時に、6.17.3 の記述に従い RECEIVE DATA サービスアクションを設定した
RECEIVE COPY RESULTS コマンドのレスポンスとしてアプリケーションクライアントに配信される
よう、コピーマネージャによって複製が保持されなければならない。コピーマネージャによりサ
ポートされる保持データの最小量は、OPERATING PARAMETERS サービスアクションを設定した
RECEIVE COPY RESULTS コマンド(6.17.4 を参照)のレスポンスとして返される。もしコピーマ
ネージャが 0Fh(stream→discard+アプリケーションクライアント)の記述子種別コードをサポー
トするのであれば、RECEIVE DATA サービスアクションを設定した RECEIVE COPY RESULTS コマンド
もまたサポートされなければならない。
CAT ビットについては 6.3.7.2 で記述される。
DESCRIPTOR LENGTH フィールドには 12(000Ch)が指定されなければならない。DESTINATION
146
SCSI Primary Commands - 3 (SPC-3)
DESCRIPTOR INDEX フィールドについては 6.3.7.1 で記述される。
SOURCE STREAM DEVICE TRANSFER LENGTH フィールドは各読み込み操作でコピー元ストリームデ
バイスから読み込まれるデータ量を指定する。セグメント記述子の SOURCE STREAM DEVICE
TRANSFER LENGTH フィールドの値と、シーケンシャルアクセスデバイス種別におけるデバイス種別
固有ターゲット記述子パラメタの STREAM BLOCK LENGTH フィールドの値がどのように相互作用を
行うのかについては 6.3.6.5 を参照のこと。
NUMBER OF BYTES フィールドはコピー元データから削除されるデータのバイト数を指定する。
6.3.7.10
デバイス検証操作
表 71 で示されるフォーマットのセグメント記述子は、コピーマネージャに対して SCSI デバイス
のアクセス可能性について検証するよう指示する。
表71 デバイス検証操作用のセグメント記述子
Bit
7
Byte
6
5
4
3
2
0
記述子種別コード( DESCRIPTOR TYPE CODE )( 07h )
1
予約済み
2
1
0
(MSB)
記述子長( DESCRIPTOR LENGTH )( 0008h )
3
(LSB)
(MSB)
4
5
コピー元ターゲット記述子インデックス
( SOURCE TARGET DESCRIPTOR INDEX )
(LSB)
6
予約済み
7
8
予約済み
TUR
9
予約済み
11
DESCRIPTOR TYPE CODE フィールドについては 6.3.5 と 6.3.7.1 で記述される。記述子種別コー
ド 07h はコピーマネージャに対して SOURCE TARGET DESCRIPTOR INDEX フィールドで識別されるデ
バイスに対してアクセス可能性の検証を行うよう指示する。
DESCRIPTOR LENGTH フィールドには 8(0008h)が格納されなければならない。SOURCE TARGET
DESCRIPTOR INDEX フィールドについては 6.3.7.1 で記述される。
TEST UNIT READY 使用(Test Unit Ready:TUR)ビットに 1 が設定される場合のサポートはオプ
ションである。TUR ビットを 1 に設定することがサポートされ、かつ、TUR ビットが 1 であれば、
TEST UNIT READY コマンド(6.33 を参照)が、デバイスの準備ができているか否かを調べるため
に使用されなければならない。TUR ビットに 1 を設定することがサポートされず、かつ、TUR ビッ
トの値が 1 であれば、EXTENDED COPY コマンドはステータスが CHECK CONDITION、センスキーが
COPY ABORTED、追加センスコードが INVALID FIELD IN PARAMETER LIST で終了されなければなら
ない。SENSE-KEY SPECIFIC フィールドには 6.3.3 の記述に従い値が設定されなければならない。
TUR ビットの値が 0 であれば、アクセス可能性の検証はユニット警告状態や ACA 状態により妨げら
れることなく実行されるべきである(例えば、INQUIRY コマンド(6.4 を参照)の使用による)。
6.3.7.11
オフセット有りブロックデバイスからストリームデバイスへの操作
表 72 で示されるフォーマットのセグメント記述子は、コピーマネージャに対してバイトオフ
セット指定のあるブロックデバイスからストリームデバイスへのコピー、あるいはその逆を指示
147
SCSI Primary Commands - 3 (SPC-3)
する。
表72 オフセット有りブロックデバイスからストリームデバイスへのコピー操作用セグメント記述子
Bit
Byte
7
6
5
4
3
2
0
記述子種別コード( DESCRIPTOR TYPE CODE )( 08h 、 09h )
1
予約済み
2
1
0
CAT
(MSB)
記述子長( DESCRIPTOR LENGTH )( 0018h )
3
4
(LSB)
(MSB)
5
6
(MSB)
コピー元ターゲット記述子インデックス
( SOURCE TARGET DESCRIPTOR INDEX )
7
コピー先ターゲット記述子インデックス
( DESTINATION TARGET DESCRIPTOR INDEX )
8
予約済み
9
(LSB)
(MSB)
ストリームデバイス転送長
( STREAM DEVICE TRANSFER LENGTH )
10
11
12
(LSB)
(LSB)
(MSB)
バイト数( NUMBER OF BYTES )
15
16
(LSB)
(MSB)
23
ブロックデバイス論理ブロックアドレス
( BLOCK DEVICE LOGICAL BLOCK ADDRESS )
24
予約済み
25
予約済み
26
27
(MSB)
ブロックデバイスバイトオフセット
( BLOCK DEVICE BYTE OFFSET )
(LSB)
(LSB)
DESCRIPTOR TYPE CODE フィールドについては 6.3.5 と 6.3.7.1 で記述される。記述子種別コー
ド 08h(block<o>→stream)はコピーマネージャに対して SOURCE TARGET DESCRIPTOR INDEX
フィールドで識別されるコピー元ブロックデバイスから、DESTINATION TARGET DESCRIPTOR INDEX
フィールドで識別されるコピー先ストリームデバイスに対してデータをコピーするよう指示する。
データは DEVICE LOGICAL BLOCK ADDRESS フィールドで識別される論理ブロック内の BLOCK DEVICE
BYTE OFFSET フィールドで識別される位置から開始され、NUMBER OF BYTES フィールドで指定され
るバイト数分だけ継続する。データはストリームデバイスのメディア上の現在の位置から書き込
みが開始されなければならない。
CAT ビットについては 6.3.7.2 で記述される。
DESCRIPTOR LENGTH フィールドには 24(0018h)が設定されなければならない。SOURCE TARGET
DESCRIPTOR INDEX と DESTINATION TARGET DESCRIPTOR INDEX フィールドについては 6.3.7.1 で記
述される。
STREAM DEVICE TRANSFER LENGTH フィールドはストリームデバイスに対する各書き込み操作にお
いて書き込まれるデータの量を指定する。セグメント記述子の STREAM DEVICE TRANSFER LENGTH
フィールドの値と、シーケンシャルアクセスデバイス種別におけるデバイス種別固有ターゲット
記述子パラメタの STREAM BLOCK LENGTH フィールドの間の相互作用については 6.3.6.5 を参照の
こと。
148
SCSI Primary Commands - 3 (SPC-3)
NUMBER OF BYTES フィールドは読み込まれる対象となるデータのバイト数を指定する。0 が指定
された場合はこのセグメントではデータが転送されてはならないことを指定する。これはエラー
と見なされてはならない。
BLOCK DEVICE LOGICAL BLOCK ADDRESS フィールドは、当該セグメントにおけるコピー元ブロッ
クデバイス内の開始論理ブロックアドレスを指定する。
BLOCK DEVICE BYTE OFFSET は、最初のコピー元ブロック内において、どのバイトから読み込み
を開始すればいいのかを指定する。
6.3.7.12
ストリームデバイスからオフセット有りブロックデバイスへの操作
表 72(6.3.7.11 を参照)で示されるフォーマットのセグメント記述子はまた、コピーマネー
ジャに対してストリームデバイスからバイトオフセット指定有りブロックデバイスにデータをコ
ピーするよう指示するためにも使用される。
DESCRIPTOR TYPE CODE フィールドについては 6.3.5 と 6.3.7.1 で記述される。記述子種別コー
ド 09h(stream→block<o>)はコピーマネージャに対して、SOURCE TARGET DESCRIPTOR INDEX
フィールドで識別されるコピー元ストリームデバイスから、DESTINATION TARGET DESCRIPTOR
INDEX フィールドで識別されるコピー先ブロックデバイスへデータをコピーするよう指示する。
データはストリームデバイスの現在の位置から読み込まれる。データは BLOCK DEVICE LOGICAL
BLOCK ADDRESS フィールドで識別される論理ブロック内の BLOCK DEVICE BYTE OFFSET フィールド
で識別されるバイト位置から書き込まれなければならず、NUMBER OF BYTES フィールドで指定され
るバイト数分だけ継続しなければならない。
コピー先デバイスの開始論理ブロックにおける、開始オフセットより前に存在する内容は維持
されなければならない。最後の論理ブロックにおける転送の終端部分より先に存在する内容は維
持されなければならない。コピーマネージャは、開始位置と終了位置に存在するブロックを読み
込み、必要な変更を行った上で、それらのブロック全体をコピー先デバイスに書き込むことによ
り、この操作を実装することが可能である。
CAT ビットについては 6.3.7.2 で記述される。
DESCRIPTOR LENGTH フィールドには 24(0018h)が設定されなければならない。SOURCE TARGET
DESCRIPTOR INDEX と DESTINATION TARGET DESCRIPTOR INDEX フィールドについては 6.3.7.1 で記
述される。
STREAM DEVICE TRANSFER LENGTH フィールドはストリームデバイスに対する各書き込み操作にお
いて書き込まれるデータの量を指定する。セグメント記述子の STREAM DEVICE TRANSFER LENGTH
フィールドの値と、シーケンシャルアクセスデバイス種別におけるデバイス種別固有ターゲット
記述子パラメタの STREAM BLOCK LENGTH フィールドの値がどのように相互作用を行うのかについ
ては 6.3.6.5 を参照のこと。
NUMBER OF BYTES フィールドは読み込まれる対象となるデータのバイト数を指定する。0 が指定
された場合はこのセグメントではデータが転送されてはならないことを指定する。これはエラー
と見なされてはならない。
BLOCK DEVICE LOGICAL BLOCK ADDRESS フィールドは、当該セグメントにおけるコピー先ブロッ
クデバイス内の開始論理ブロックアドレスを指定する。
BLOCK DEVICE BYTE OFFSET は、コピー先ブロックデバイスにおける最初のコピー先ブロック内
で、どのバイト位置から書き込みを開始するのかを指定する。
6.3.7.13
オフセット有りブロックデバイスからオフセット有りブロックデバイスへの操作
表 73 で示されるフォーマットのセグメント記述子は、コピーマネージャに対してオフセット指
定有りのブロックデバイスから、オフセット指定有りのブロックデバイスへデータをコピーする
149
SCSI Primary Commands - 3 (SPC-3)
よう指示する。
表73 オフセット有りブロックデバイスからオフセット有りブロックデバイスへのコピー操作用セグメ
ント記述子
Bit
Byte
7
6
5
4
3
2
0
記述子種別コード( DESCRIPTOR TYPE CODE )( 0Ah )
1
予約済み
2
1
0
CAT
(MSB)
記述子長( DESCRIPTOR LENGTH )( 001Ch )
3
4
(LSB)
(MSB)
5
6
(MSB)
7
8
(MSB)
コピー元ターゲット記述子インデックス
( SOURCE TARGET DESCRIPTOR INDEX )
コピー先ターゲット記述子インデックス
( DESTINATION TARGET DESCRIPTOR INDEX )
(LSB)
(MSB)
19
20
(MSB)
27
28
(MSB)
29
30
31
(LSB)
バイト数( NUMBER OF BYTES )
11
12
(LSB)
(MSB)
コピー元ブロックデバイス論理ブロックアドレス
( SOURCE BLOCK DEVICE LOGICAL BLOCK ADDRESS )
(LSB)
コピー先ブロックデバイス論理ブロックアドレス
( DESTINATION BLOCK DEVICE LOGICAL BLOCK ADDRESS )
(LSB)
コピー元ブロックデバイスバイトオフセット
( SOURCE BLOCK DEVICE BYTE OFFSET )
(LSB)
コピー先ブロックデバイスバイトオフセット
( DESTINATION BLOCK DEVICE BYTE OFFSET )
(LSB)
DESCRIPTOR TYPE CODE フィールドについては 6.3.5 と 6.3.7.1 で記述される。記述子種別コー
ド 0Ah(block<o>→block<o>)は、コピーマネージャに対して SOURCE TARGET DESCRIPTOR INDEX
フィールドで識別されるコピー元ブロックデバイスから、DESTINATION TARGET DESCRIPTOR INDEX
フィールドで識別されるコピー先ブロックデバイスに対して、データをコピーするよう指示する。
コピー元のデータは、SOURCE BLOCK DEVICE LOGICAL BLOCK ADDRESS フィールドにより識別される
論理ブロック内における SOURCE BLOCK DEVICE BYTE OFFSET で識別されるバイト位置から開始さ
れ、NUMBER OF BYTES フィールドで指定されるバイト数分継続される。データは DESTINATION
BLOCK DEVICE LOGICAL BLOCK ADDRESS フィールドで識別される論理ブロック内における
DESTINATION BLOCK DEVICE BYTE OFFSET フィールド識別されるバイト位置から開始される領域に
書き込まれなければならない。
コピー先デバイスの開始論理ブロックにおける、開始オフセットよりも前に存在するデータは
維持されなければならない。末尾の論理ブロックにおける転送の終端位置よりも後に存在する
データは維持されなければならない。コピーマネージャは開始と終端の論理ブロックを読み込み、
必要に応じてブロックの一部を変更し、それらのブロック全体をコピー先デバイスに出力するこ
とで、これらの操作を実装することが可能である。
CAT ビットについては 6.3.7.2 で記述される。
DESCRIPTOR LENGTH フィールドには 28(001Ch)が設定されなければならない。SOURCE TARGET
DESCRIPTOR INDEX と DESTINATION TARGET DESCRIPTOR INDEX フィールドについては 6.3.7.1 で記
述される。
150
SCSI Primary Commands - 3 (SPC-3)
NUMBER OF BYTES フィールドは読み込まれる対象となるバイト数を指定する。値 0 はこのセグメ
ントではデータが転送されてはならないことを指定する。これはエラーと見なされてはならない。
SOURCE BLOCK DEVICE LOGICAL BLOCK ADDRESS フィールドはこのセグメントにおける、コピー元
ブロックデバイス上での開始論理ブロックアドレスを指定する。
DESTINATION BLOCK DEVICE LOGICAL BLOCK フィールドはこのセグメントにおける、コピー先ブ
ロックデバイス上での開始論理ブロックアドレスを指定する。
SOURCE BLOCK DEVICE BYTE OFFSET フィールドは読み込まれるデータの開始位置が存在する最初
のコピー元ブロック内でのオフセットを指定する。
DESTINATION BLOCK DEVICE BYTE OFFSET フィールドはコピー先ブロックデバイスに書き込まれ
るデータの開始位置が存在する、最初のコピー先ブロック内でのオフセットを指定する。
6.3.7.14
ファイルマーク書き込み操作
表 74 で示されるフォーマットのセグメント記述子は、コピーマネージャに対してコピー先テー
プデバイスへファイルマークないしセットマークを出力するよう指示する。
表74 ファイルマーク書き込み操作用セグメント記述子
Bit
Byte
7
6
5
4
3
2
0
記述子種別コード( DESCRIPTOR TYPE CODE )( 10h )
1
予約済み
2
1
0
(MSB)
記述子長( DESCRIPTOR LENGTH )( 0008h )
3
(LSB)
4
予約済み
5
予約済み
6
(MSB)
7
コピー先ターゲット記述子インデックス
( DESTINATION TARGET DESCRIPTOR INDEX )
8
予約済み
9
10
(LSB)
WSMK
IMMED
(MSB)
転送長( TRANSFER LENGTH )
11
(LSB)
DESCRIPTOR TYPE CODE フィールドについては 6.3.5 と 6.3.7.1 で記述される。記述子種別コー
ド 10h(filemark→tape)はコピーマネージャに対して DESTINATION TARGET DESCRIPTOR INDEX
フィールドで識別されるコピー先テープデバイスに、当該テープデバイスの現在の位置から、
ファイルマークないしセットマークを出力するよう指示する。DESTINATION TARGET DESCRIPTOR
INDEX フィールドで識別されるターゲット記述子内の PERIPHERAL DEVICE TYPE フィールドに 01h
が設定されていなかった場合、コピーマネージャはステータスが CHECK CONDITION、センスキーが
COPY ABORTED、追加センスコードが INVALID OPERATION FOR COPY SOURCE OR DESTINATION でコマ
ンドを終了しなければならない。
DESCRIPTOR LENGTH フィールドには 8(0008h)が指定されなければならない。DESTINATION
TARGET DESCRIPTOR INDEX フィールドについては 6.3.7.1 で記述される。
セットマーク書き込み(write setmark:WSMK)ビットが 1 であれば、TRANSFER LENGTH フィール
ドは書き込まれるセットマークの数を指定する。WSMK ビットが 0 であれば、TRANSFER LENGTH
フィールドは書き込まれるファイルマークの数を指定する。
151
SCSI Primary Commands - 3 (SPC-3)
セグメント記述子の即時(immediate:IMMED)ビットが 1 であれば、コピーマネージャは即時
ビットに 1 を設定した WRITE FILEMARKS コマンドをコピー先テープデバイスに対して発行しなけ
ればならない。IMMED ビットが 0 であれば、コピーマネージャは即時ビットに 0 を設定した WRITE
FILEMARKS コマンドをコピー先テープデバイスに対して発行しなければならない。
6.3.7.15
空白操作
表 75 で示されるフォーマットのセグメント記述子は、コピーマネージャに対して、コピー先
テープデバイスに SPACE コマンド(SSC-2 を参照)を送信するよう指示する。
表75 空白操作用のセグメント記述子
Bit
Byte
7
6
5
4
3
2
0
記述子種別コード( DESCRIPTOR TYPE CODE )( 11h )
1
予約済み
2
1
0
(MSB)
記述子長( DESCRIPTOR LENGTH )( 0008h )
3
(LSB)
4
予約済み
5
予約済み
6
(MSB)
7
コピー先ターゲット記述子インデックス
( DESTINATION TARGET DESCRIPTOR INDEX )
8
予約済み
9
10
(LSB)
コード( CODE )
(MSB)
カウント( COUNT )
11
(LSB)
DESCRIPTOR TYPE CODE フィールドについては 6.3.5 と 6.3.7.1 で記述される。記述子種別コー
ド 11h(space→tape)はコピーマネージャに対して、DESTINATION TARGET DESCRIPTOR INDEX
フィールドで識別されるコピー先テープデバイスに SPACE コマンドを送信するよう指示する。
DESTINATION TARGET DESCRIPTOR INDEX フィールドで識別されるターゲット記述子の PERIPHERAL
DEVICE TYPE フィールドの値が 01h でなければ、コピーマネージャはステータスが CHECK
CONDITION、センスキーが COPY ABORTED、追加センスコードが INVALID OPERATION FOR COPY
SOURCE OR DESTINATION でコマンドを終了しなければならない。
DESCRIPTOR LENGTH フィールドには 8(0008h)が設定されなければならない。DESTINATION
TARGET DESCRIPTOR INDEX フィールドについては 6.3.7.1 で記述される。
コピー先テープデバイスに送信される SPACE コマンドの CODE と COUNT フィールドには、セグメ
ント記述子の CODE と COUNT フィールドの値が設定されなければならない。コピー先テープデバイ
スに送信される SPACE コマンドにおいて、テープの位置に影響を与えるその他全てのフィールド
には 0 が設定されなければならない。
152
SCSI Primary Commands - 3 (SPC-3)
6.3.7.16
位置変更操作
表 76 で示されるフォーマットのセグメント記述子は、コピーマネージャに対してコピー先テー
プデバイスに LOCATE コマンド(SSC-2 を参照)を送信するよう指示する。
表76 位置変更操作用のセグメント記述子
Bit
Byte
7
6
5
4
3
2
0
記述子種別コード( DESCRIPTOR TYPE CODE )( 12h )
1
予約済み
2
1
0
(MSB)
記述子長( DESCRIPTOR LENGTH )( 0008h )
3
(LSB)
4
予約済み
5
予約済み
6
(MSB)
7
8
コピー先ターゲット記述子インデックス
( DESTINATION TARGET DESCRIPTOR INDEX )
(LSB)
(MSB)
ブロックアドレス( BLOCK ADDRESS )
11
(LSB)
DESCRIPTOR TYPE CODE フィールドについては 6.3.5 と 6.3.7.1 で記述される。記述子種別コー
ド 12h(locate→tape)は、コピーマネージャに対して、DESTINATION TARGET DESCRIPTOR INDEX
フィールドで識別されるコピー先テープデバイスに LOCATE コマンドを送信するよう指示する。
DESTINATION TARGET DESCRIPTOR INDEX フィールドで識別されるターゲット記述子の PERIPHERAL
DEVICE TYPE フィールドの値が 01h でなければ、コピーマネージャはステータスが CHECK
CONDITION、センスキーが COPY ABORTED、追加センスコードが INVALID OPERATION FOR COPY
SOURCE OR DESTINATION でコマンドを終了しなければならない。
DESCRIPTOR LENGTH フィールドには 8(0008h)が設定されなければならない。DESTINATION
TARGET DESCRIPTOR INDEX フィールドについては 6.3.7.1 で記述される。
コピー先テープデバイスに送信される LOCATE コマンドの BLOCK ADDRESS フィールドには、セグ
メント記述子内の BLOCK ADDRESS フィールドの値が設定されなければならない。コピー先テープ
デバイスに送信される LOCATE コマンド内の、テープの位置に影響を与えるその他全てのフィール
ドには 0 が設定されなければならない。
注意 19:LOCATE コマンドに対する上記の制約は、現在のテープ位置における SCSI 論理ブロック
アドレスの位置変更の操作に制約を加える。
153
SCSI Primary Commands - 3 (SPC-3)
6.3.7.17
テープデバイスイメージコピー操作
表 77 で示されるフォーマットのセグメント記述子は、コピーマネージャに対して、コピー元
テープデバイスからコピー先テープデバイスへのイメージコピーを行うよう指示する。
表77 テープデバイスイメージコピー用のセグメント記述子
Bit
Byte
7
6
5
4
3
2
0
記述子種別コード( DESCRIPTOR TYPE CODE )( 13h )
1
予約済み
2
1
0
(MSB)
記述子長( DESCRIPTOR LENGTH )( 0008h )
3
4
(LSB)
(MSB)
5
6
(MSB)
7
8
コピー元ターゲット記述子インデックス
( SOURCE TARGET DESCRIPTOR INDEX )
コピー先ターゲット記述子インデックス
( DESTINATION TARGET DESCRIPTOR INDEX )
(LSB)
(LSB)
(MSB)
カウント( COUNT )
11
(LSB)
DESCRIPTOR TYPE CODE フィールドについては 6.3.5 と 6.3.7.1 で記述される。記述子種別コー
ド 13h(<i>tape→<i>tape)は、コピーマネージャに対して、DESTINATION TARGET DESCRIPTOR
INDEX フィールドで識別されるコピー先デバイスのメディアにおける現在の位置に、SOURCE
TARGET DESCRIPTOR INDEX フィールドで識別されるコピー元デバイスのメディアと互換性のあるイ
メージコピーを生成するよう指示する。SOURCE TARGET DESCRIPTOR INDEX フィールドないし
DESTINATION TARGET DESCRIPTOR INDEX フィールドで識別されるターゲット記述子内の
PERIPHERAL DEVICE TYPE フィールドの値が 01h でなければ、コピーマネージャはステータスが
CHECK CONDITION、センスキーが COPY ABORTED、追加センスコードが INVALID OPERATION FOR
COPY SOURCE OR DESTINATION でコマンドを終了しなければならない。
DESCRIPTOR LENGTH フィールドには 8(0008h)が設定されなければならない。SOURCE TARGET
DESCRIPTOR INDEX と DESTINATION TARGET DESCRIPTOR INDEX フィールドについては 6.3.7.1 で記
述される。
テープのイメージコピー操作は下記いずれかの条件で終了する。
a) コピー元デバイスにおいて、コピー元デバイスで定義されるパーティション終端(end-ofpartition)に到達した。
b) コピー元デバイスにおいて、コピー元デバイスで定義されるデータ終端(end-of-data)に
到達した(すなわち、BLANK CHECK センスキー)。
c) コピーマネージャが、コピー元デバイスからコピー先デバイスに連続したファイルマーク
を COUNT フィールドで指定された個数分コピーした。
d) コピー元デバイスにおけるデバイス構成モードページ(SSC-2 を参照)の RSMK ビットが 1 で
ある場合に、コピーマネージャが、コピー元デバイスからコピー先デバイスに連続した
ファイルマークまたはセットマークを COUNT フィールドで指定された個数分コピーした。
COUNT フィールドの値が 0 であれば、ファイルマークやセットマークがいくつ連続していても
EXTENDED COPY コマンドが終了されてはならないことを示す。その他のエラーや例外状態(例えば、
早期警告、コピー先デバイスのパーティション終端)は EXTENDED COPY コマンドが完了する前に
終了される原因となる可能性がある。この場合、残留数は計算されてはならずセンスデータの
154
SCSI Primary Commands - 3 (SPC-3)
INFORMATION フィールドには 0 が設定されなければならない。
6.3.7.18
永続予約キーの登録操作
表 78 で示されるフォーマットのセグメント記述子は、DESTINATION TARGET DESCRIPTOR INDEX
フィールドで識別される SCSI ターゲットデバイスに RESERVATION KEY フィールドで指定される予
約キー(5.6.6 を参照)を用いて I_T ネクサスを登録するよう、コピーマネージャに指示する。
表78 永続予約キー登録操作用のセグメント記述子
Bit
7
Byte
6
5
4
3
2
0
記述子種別コード( DESCRIPTOR TYPE CODE )( 14h )
1
予約済み
2
1
0
(MSB)
記述子長( DESCRIPTOR LENGTH )( 0018h )
3
(LSB)
4
予約済み
5
予約済み
6
(MSB)
7
8
コピー先ターゲット記述子インデックス
( DESTINATION TARGET DESCRIPTOR INDEX )
(LSB)
(MSB)
予約キー( RESERVATION KEY )
15
16
(LSB)
(MSB)
23
サービスアクション予約キー( SERVICE ACTION RESERVATION KEY )
(LSB)
24
27
予約済み
DESCRIPTOR TYPE CODE フィールドについては 6.3.5 と 6.3.7.1 で記述される。記述子種別コー
ド 14h は、REGISTER サービスアクションを設定した PERSISTENT RESERVE OUT コマンド(6.12.2 を
参照)を用いて、DESTINATION TARGET DESCRIPTOR INDEX フィールドで識別される SCSI ターゲッ
トデバイスに RESERVATION KEY フィールドで識別される予約キーを用いて I_T ネクサスを登録す
るよう、コピーマネージャに指示する。
DESCRIPTOR LENGTH フィールドには 24(0018h)が設定されなければならない。DESTINATION
DESCRIPTOR INDEX フィールドについては 6.3.7.1 で記述される。
コピー先デバイスに送信される PERSISTENT RESERVE OUT コマンドの RESERVATION KEY と
SERVICE ACTION RESERVATION KEY フィールドには、セグメント記述子の RESERVATION KEY と
SERVICE ACTION RESERVATION KEY フィールドの値が設定されなければならない。
EXTENDED COPY コマンドを送信するアプリケーションクライアントは、EXTENDED COPY コマンド
を送信する前に、5.6.10 の記述に従いコピーマネージャにより保持される予約キーを削除しなけ
ればならない可能性がある。
6.3.7.19
サードパーティ永続予約コピー元 I_T ネクサス
表 79 で示されるフォーマットのセグメント記述子は、その他全てのセグメント記述子に対する
処理が完了した後で、REGISTER AND MOVE サービスアクションを設定した PERSISTENT RESERVE
OUTニコマンド(6.5.7 を参照)を指定された I_T ネクサスから送信する様、コピーマネージャに対
訳注ニ 本節のみ、原文では「PERSISTENT RESERVATION OUT」と記載されているが、明らかに「PERSISTENT RESERVE OUT」の誤記であ
る。
155
SCSI Primary Commands - 3 (SPC-3)
して指示する。サードパーティ永続予約コピー元 I_T ネクサスセグメント記述子ホを受信した後の
任意の時刻にエラーを検知した場合、REGISTER AND MOVE サービスアクションを設定した
PERSISTENT RESERVE OUT コマンドは EXTENDED COPY コマンドのステータスが返される前に処理さ
れなければならない。
このセグメント記述子は、セグメント記述子の処理がエラーにより中断される際に、コピーマ
ネージャが REGISTER AND MOVE サービスアクションを設定した PERSISTENT RESERVE OUT コマンド
を実行することを保証するために、セグメント記述子リストの先頭ないしその近くに配置される
べきである。サードパーティ永続予約コピー元 I_T ネクサスのセグメント記述子が処理されるよ
りも前にセグメント記述子でエラーを検知した場合、コピーマネージャは REGISTER AND MOVE
サービスアクションを設定した PERSISTENT RESERVE OUT コマンドを送信してはならない。
複数のコピー元のサードパーティ永続予約コピー元 I_T ネクサスがセグメント記述子リストに配
置されることはエラーではない。コピーマネージャにより認知されている、全てのコピー元の
サードパーティ永続予約コピー元 I_T ネクサスセグメント記述子は、他の全てのセグメント記述
子が処理された後で実行されなければならない。
表79 サードパーティ永続予約コピー元 I_T ネクサスのセグメント記述子ヘ
Bit
Byte
7
6
5
4
3
2
0
記述子種別コード( DESCRIPTOR TYPE CODE )( 15h )
1
予約済み
2
1
0
(MSB)
記述子長( DESCRIPTOR LENGTH )( n-3 )
3
(LSB)
4
予約済み
5
予約済み
6
(MSB)
7
8
コピー先ターゲット記述子インデックス
( DESTINATION TARGET DESCRIPTOR INDEX )
(LSB)
(MSB)
予約キー( RESERVATION KEY )
15
16
(LSB)
(MSB)
サービスアクション予約キー( SERVICE ACTION RESERVATION KEY )
23
(LSB)
24
予約済み
25
予約済み
26
(MSB)
UNREG
相対ターゲットポート識別子( RELATIVE TARGET PORT IDENTIFIER )
(LSB)
27
28
31
APTPL
(MSB)
TransportID パラメタデータ長
( TRANSPORTID PARAMETER DATA LENGTH )( n-31 )
(LSB)
32
TransportID
n
DESCRIPTOR TYPE CODE フィールドについては 6.3.5 と 6.3.7.1 で記述される。記述子種別コー
ド 15h は、コピーマネージャに対して DESTINATION TARGET DESCRIPTOR INDEX フィールドで識別
訳注ホ 原文では「third party persistent source reservation I_T nexus segment descriptor」とあるが、明らかに「third party
persistent reservations source I_T nexus segment descriptor」の誤記である。
訳注ヘ 原文では TransportID の開始バイト位置が 31 となっているが、明らかに 32 の誤記である(黄色網掛け部分が該当)。
156
SCSI Primary Commands - 3 (SPC-3)
されるターゲットポートに対して、REGISTER AND MOVE サービスアクションを設定した
PERSISTENT RESERVE OUT コマンド(6.12 を参照)を送信するよう指示する。
DESCRIPTOR LENGTH フィールドには DESCRIPTOR LENGTH フィールドに後続するデータのバイト長
を保持しなければならない。DESCRIPTOR LENGTH フィールドの値は 4 の倍数でなければならない。
DESTINATION TARGET DESCRIPTOR INDEX フィールドで識別されるターゲット記述子の PERIPHERAL
DEVICE TYPE フィールドの値が 01h でない場合、コピーマネージャはステータスが CHECK
CONDITION、センスキーが COPY ABORTED、追加センスコードが INVALID OPERATION FOR COPY
SOURCE OR DESTINATION でコマンドを終了しなければならない。
セグメント記述子のバイト 8 から n は、REGISTER AND MOVE サービスアクションを設定した
PERSISTENT RESERVE OUT コマンドのパラメタリスト(6.12.4 を参照)として送信されなければな
らない。
RESERVATION KEY フィールド、SERVICE ACTION RESERVATION KEY フィールド、UNREG ビット、
APTPL ビット、RELATIVE TARGET PORT IDENTIFIER フィールド、TRANSPORTID DESCRIPTOR LENGTH
フィールド、TransportID フィールドの説明については 6.12.4 を参照のこと。
6.4
6.4.1
INQUIRY コマンド
INQUIRY コマンドの序論
INQUIRY コマンド(表 80 を参照)はアプリケーションクライアントに論理ユニットや SCSI ター
ゲットデバイスについての情報を送信するよう要求する。
表80 INQUIRY コマンド
Bit
Byte
7
6
5
4
3
0
操作コード( OPERATION CODE )( 12h )
1
予約済み
2
ページコード( PAGE CODE )
3
4
5
2
1
0
廃止済み
EVPD
(MSB)
アロケーション長( ALLOCATION LENGTH )
(LSB)
コントロール( CONTROL )
重要プロダクトデータ有効化(enable vital product data:EVPD)ビットが 1 に設定されていた
場合、デバイスサーバは PAGE CODE フィールド(6.4.4 を参照)で指定される重要プロダクトデー
タを返さなければならない。
EVPD ビットが 0 であれば、デバイスサーバは標準 INQUIRY データ(6.4.2 を参照)を返さなけれ
ばならない。EVPD ビットが 0 であり PAGE CODE フィールドに 0 でない値が設定されていた場合、
コマンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが
INVALID FIELD IN CDB で終了されなければならない。
EVPD ビットに 1 が設定されていた場合、PAGE コードフィールドは、デバイスサーバが重要プロ
ダクトデータ情報の内のどのページを返さなければならないのかを指定する(7.6 を参照)。
ALLOCATION LENGTH フィールドについては 4.3.4.6 で規定される。EVPD が 0 に設定されていた場
合、アロケーション長は最小でも 5 であるべきであり、それにより、パラメタデータ(6.4.2 を参
照)内の ADDITIONAL LENGTH フィールドが返されることとなる。EVPD に 1 が設定されていた場合、
アロケーション長は最小でも 4 であるべきであり、それにより、パラメタデータ(7.6 を参照)内
の PAGE LENGTH フィールドが返されることとなる。
157
SCSI Primary Commands - 3 (SPC-3)
INQUIRY コマンドが間違った論理ユニットで受信された場合、レスポンスとして SCSI デバイス
サーバは、末端修飾子に 6.4.2 で定義される値を設定して INQUIRY データを返さなければならな
い。デバイスサーバは要求された INQUIRY データを返す事ができない場合にのみ、INQUIRY コマン
ドに対して CHECK CONDITION ステータスを返さなければならない。
INQUIRY コマンドを未解決のユニット警告状態(すなわち、デバイスサーバが CHECK CONDITION
ステータスを返す前)が存在するイニシエータポートから受信した場合、デバイスサーバは
INQUIRY コマンドを実行しなければならず、ユニット警告状態をクリアしてはならない(SAM-3 を
参照)。
デバイスサーバが他のコマンドに応答できない状態においても、INQUIRY データは返されるべき
である。標準 INQUIRY データはあらゆるメディアアクセスによる遅延による影響を受けることな
く利用できるべきである。デバイスサーバが標準 INQUIRY データや VPD データの一部をメディア
に格納するのであれば、それらがメディアから読み込まれ利用可能となるまでは、ASCII フィール
ドには ASCII スペース(20h)が、他のフィールドには 0 が設定され、返される可能性がある。
INQUIRY データは、SCSI ターゲットデバイスと論理ユニットにおける初期化シーケンスの実行に
より変更される可能性がある(例えば、論理ユニットは最終的にファームウェアがメディアから
読み込まれるまでの間、不揮発性メモリにより最小限のコマンドセット提供することが可能であ
る。ファームウェアがロードされた後は、より多くのオプションがサポートすることが可能とな
り、結果として異なる INQUIRY データが返される可能性がある)。
INQUIRY データが何らかの理由により変更された場合、デバイスサーバは全ての I_T ネクサスに
関連づけられているイニシエータポートに対して、追加センスコード INQUIRY DATA HAS CHANGED
を設定したユニット警告状態を確立しなければならない(SAM-3 を参照)。
注意 20:システム構成におけるデバイス種別を取得するために、アプリケーションクライアン
トはハードリセットや電源投入状態の後に INQUIRY コマンドを使用する可能性がある。
6.4.2
標準 INQUIRY データ
標準 INQUIRY データ(表 81 を参照)は最小でも 36 バイト以上でなければならない。
158
SCSI Primary Commands - 3 (SPC-3)
表81 標準 INQUIRY データフォーマット
Bit
Byte
0
1
2
3
4
5
6
7
8
15
16
31
32
35
36
55
56
57
58
59
7
6
5
4
末端修飾子( PERIPHERAL QUALIFIER )
RMB
3
2
1
0
末端デバイス種別( PERIPHERAL DEVICE TYPE )
予約済み
バージョン( VERSION )
廃止済み
廃止済み
NORMACA
HISUP
レスポンスデータフォーマット( RESPONSE DATA FORMAT )
追加長( ADDITIONAL LENGTH )( n-4 )
SCCS
ACC
BQUE
ENCSERV
VS
MULTIP
廃止済み
廃止済み
WBUS16a
SYNCa
(MSB)
TPGS
3PC
予約済み
MCHNGR
廃止済み
LINKED
廃止済み
PROTECT
廃止済み
CMDQUE
T10 ベンダ識別子( T10 VENDOR IDENTIFICATION )
(MSB)
VS
(LSB)
プロダクト識別子( PRODUCT IDENTIFICATION )
(MSB)
ADDR16a
(LSB)
プロダクトリビジョンレベル( PRODUCT REVISION LEVEL )
(LSB)
ベンダ固有
予約済み
CLOCKINGa
QASa
IUSa
予約済み
(MSB)
バージョン記述子 1 ( VERSION DESCRIPTOR 1 )
(LSB)
……
72
73
74
95
(MSB)
バージョン記述子 8 ( VERSION DESCRIPTOR 8 )
(LSB)
予約済み
ベンダ固有パラメタ
96
n
ベンダ固有
(a)これらのフィールドの意味は SPI-5 固有である(6.4.3 を参照)。SCSI パラレルインタ
フェース以外の SCSI 転送プロトコルにおいては、これらのフィールドは予約済みとなる。
PERIPHERAL QUALIFIER フィールドと PERIPHERAL DEVICE TYPE フィールドは論理ユニットに接続
されている末端デバイスの種類を識別する。SCSI ターゲットデバイスが当該の論理ユニットに接
続されている末端デバイスをサポートすることができない場合、デバイスサーバはこれらの
フィールドに 7Fh を設定しなければならない(すなわち、PERIPHERAL QUALIFIER フィールドには
01b が、PERIPHERAL DEVICE TYPE フィールドには 1Fh が設定される)。
末端修飾子は表 82 で定義され、末端デバイス種別は表 83 で定義される。
表82 末端修飾子
修飾子
説明
000b
指定された末端デバイス種別を持つ末端デバイスが、当該の論理ユニッ
トに接続されている。デバイスサーバが、末端デバイスが接続されてい
るか否か判断できない場合においても、この末端修飾子を使用しなけれ
ばならない。この末端修飾子は、論理ユニットに接続されている末端デ
バイスに対してアクセスできる準備が整っていることは意味しない。
001b
指定された末端デバイス種別を持つデバイスは、当該の論理ユニットに
接続されていない。しかしながら、デバイスサーバは当該の論理ユニッ
トで指定された末端デバイス種別をサポートする能力を有する。
159
SCSI Primary Commands - 3 (SPC-3)
010b
予約済み。
011b
デバイスサーバは当該の論理ユニットで末端デバイスをサポートする能
力を持たない。この末端修飾子では、末端デバイス種別は 1Fh に設定さ
れなければならない。この末端修飾子に対する他の全ての末端デバイス
種別の値は予約済みである。
100b~111b
ベンダ固有。
表83 末端デバイス種別
値
規格 a
00h
SBC-2
直接アクセスブロックデバイス(例えば、磁気ディスク)
01h
SSC-2
シーケンシャルアクセスデバイス(例えば、磁気テープ)
02h
SSC
03h
SPC-2
04h
SBC
05h
MMC-4
06h
説明
プリンタデバイス
プロセッサデバイス
ライトワンスデバイス(例えば、ある種の光ディスク)
CD/DVD デバイス
スキャナデバイス(廃止済み)
07h
SBC
08h
SMC-2
09h
光記録デバイス(例えば、ある種の光ディスク)
メディアチェンジャデバイス(例えば、ジュークボックス)
通信デバイス(廃止済み)
0Ah~0Bh
廃止済み
0Ch
SCC-2
0Dh
SES
エンクロージャサービスデバイス
0Eh
RBC
簡略化直接アクセスデバイス(例えば、磁気ディスク)
0Fh
OCRW
光カードリーダ/ライタデバイス
10h
BCC
ブリッジコントローラコマンド
11h
OSD
オブジェクトベースストレージデバイス
12h
ADC
自動化/ドライブインタフェース
13h~1Dh
ストレージアレイコントローラデバイス(例えば、RAID)
予約済み
1Eh
ウェルノン論理ユニット b
1Fh
不明またはデバイス種別が存在しない
(a)全ての標準はリビジョンを考慮する必要があり、本標準に基づくことに同意したものは、表
に示された標準の内の、最新のものを適用できる可能性について調査することが推奨される。
(b)全てのウェルノン論理ユニットで同一の末端デバイス種別コードを使用する。
リムーバブルメディア(removable medium:RMB)ビットが 0 に設定されている場合は、メディア
が取り外し不可能であることを示す。RMB ビットが 1 に設定されている場合は、メディアが取り外
し可能であることを示す。
160
SCSI Primary Commands - 3 (SPC-3)
VERSION フィールドは本標準の実装されたバージョンを表し、表 84 で定義される。
表84 バージョン
値
説明
00h
デバイスがいかなる標準にも準拠すると主張しない。
02h
廃止済み
03h
デバイスは ANSI INCITS 301-1997(SPC)に準拠する。
04h
デバイスは ANSI INCITS 351-2001(SPC-2)に準拠する。
05h
デバイスは本標準に準拠する。
01h
廃止済み(SCSI=001b)
06h~07h
予約済み
08h~0Ch
廃止済み(ECMA=001b)
0Dh~3Fh
予約済み
40h~44h
廃止済み(ISO=01b)
45h~47h
予約済み
48h~4Ch
廃止済み(ISO=01b かつ ECMA=001b)
4Dh~7Fh
予約済み
80h~84h
廃止済み(ISO=10b)
85h~87h
予約済み
88h~8Ch
廃止済み(ECMA=001b)
8Dh~FFh
予約済み
標準 ACA サポート(Normal ACA Supported:NORMACA)ビットに 1 が設定されていた場合、デバイ
スサーバは CDB の CONTROL バイトの NACA ビットに 1 が設定されることをサポートし、かつ、ACA
タスク属性をサポートすることを表す(SAM-3 を参照)。NORMACA ビットが 0 であれば、デバイス
サーバは NACA ビットに 1 が設定されることをサポートせず、かつ、ACA タスク属性をサポートし
ないことを表す。
階層サポート(hierarchical supported:HISUP)ビットに 0 が設定された場合、SCSI ターゲット
デバイスは論理ユニットに対する LUN の割り当てに階層アドレス指定モデルを使用しないことを
表す。HISUP ビットに 1 が設定された場合、SCSI ターゲットデバイスが論理ユニットに対する LUN
の割り当てで階層アドレス指定モデルを使用することを表す。
RESPONSE DATA FORMAT フィールドに 2 が設定された場合、データが本標準で規定されたフォー
マットに従わなければならないことを意味する。レスポンスデータフォーマットの 2 未満の値は
廃止済みである。レスポンスデータフォーマットの 2 より大きい値は予約済みである。
ADDITIONAL LENGTH フィールドは標準 INQUIRY データの残りのバイト長を表す。ADDITIONAL
LENGTH フィールドと CDB の ALLOCATION LENGTH フィールドの関係については 4.3.4.6 で定義され
る。
SCC サポート(SCC Supported:SCCS)ビットに 1 が設定された場合、SCSI ターゲットデバイスが
組み込みストレージアレイコントローラのコンポーネントを内蔵していることを示す。ストレー
ジアレイコントローラデバイスの詳細については SCC-2 を参照のこと。SCCS ビットに 0 が設定さ
れた場合は、SCSI ターゲットデバイスが組み込みストレージアレイコントローラのコンポーネン
161
SCSI Primary Commands - 3 (SPC-3)
トを内蔵していないことを示す。
アクセス制御コーディネータ(Access Controls Coordinator:ACC)ビットに 1 が設定されてい
る場合、SCSI ターゲットデバイスが当該の論理ユニットを通じて取り扱うことが可能な、アクセ
ス制御コーディネータ(3.1.4 を参照)を有しているを示す。ACC ビットが 0 である場合、当該論
理ユニットを通じて操作することが可能なアクセス制御コーディネータが使用されないことを示
す。SCSI ターゲットデバイスに、ACCESS CONTROLS ウェルノン論理ユニット(8.3 を参照)を除く
任意の論理ユニットを通じて使用可能なアクセス制御コーディネータが存在する場合、LUN0 に対
して ACC ビットは 1 に設定されなければならない。
ターゲットポートグループサポート(target port group support:TPGS)フィールドの内容
(表 85 を参照)は、非対称論理ユニットアクセス(5.8 を参照)のサポートを表す。
表85 TPGS フィールド
値
説明
00b
SCSI ターゲットデバイスは非対称論理ユニットアクセスをサポートしない、
あるいはベンダ固有の形式による非対称アクセスをサポートする。REPORT
TARGET GROUPS と SET TARGET GROUPS コマンドのいずれもサポートされない。
01b
暗黙的な非対称論理ユニットアクセス(5.8.2.7 を参照)のみがサポートさ
れる。SCSI ターゲットデバイスは、SET TARGET PORT GROUPS コマンド無し
でターゲットポート非対称アクセス状態を変更する能力を有する。REPORT
TARGET PORT GROUPS コマンドはサポートされ、SET TARGET PORT GROUPS コ
マンドはサポートされない。
10b
明示的な非対称論理ユニットアクセス(5.8.2.8 を参照)のみがサポートさ
れる。SCSI ターゲットデバイスは SET TARGET PORT GROUPS コマンドの要求
によってのみ、ターゲットポート非対称アクセス状態を変更する。REPORT
TARGET PORT GROUPS と SET TARGET PORT GROUPS コマンドの両方がサポート
される。
11b
明示的と暗黙的の両方の非対称論理ユニットアクセスがサポートされる。
REPORT TARGET PORT GROUPS と SET TARGET PORT GROUPS コマンドの両方がサ
ポートされる。
サードパーティコピー(Third-Party Copy:3PC)ビットに 1 が設定された場合、SCSI ターゲッ
トデバイスは EXTENDED COPY コマンド(6.3 を参照)のようなサードパーティコピーコマンドをサ
ポートすることを示す。3PC ビットが 0 の場合、SCSI ターゲットデバイスがそのようなコマンド
をサポートしないことを示す。
PROTECT ビットが 0 である場合、論理ユニットは保護情報(7.6.4 と SBC-2 を参照)をサポート
しないことを表す。PROTECT ビットが 1 である場合は、論理ユニットが保護情報をサポートするこ
とを示す。
BQUE ビットと CMDQUE ビットの組み合わせは、表 86 に示される通り、論理ユニットが完全タスク管
理モデルをサポートするのか、基本タスク管理モデルをサポートするのかを示す。
エンクロージャサービス(Enclosure Services:ENCSERV)ビットが 1 に設定された場合、SCSI
ターゲットデバイスが組み込みエンクロージャサービスコンポーネントを保持していることを示
す。組み込みエンクロージャサービスデバイスのデバイスモデルを含む、エンクロージャサービ
スの詳細については SES を参照のこと。ENCSERV ビットが 0 に設定された場合は、SCSI ターゲットデ
バイスが組み込みのエンクロージャサービスコンポーネントを保持していないことを表す。
マルチポート(Multi Port:MULTIP)ビットが 1 に設定された場合、SCSI ターゲットデバイスはマ
ルチポート(2 ポート以上)であり、それぞれ適用される標準(例えば、SAM-3、SCSI 転送プロト
162
SCSI Primary Commands - 3 (SPC-3)
コル標準、必要であればコマンド標準)の規定に準拠することを示す。MULTIP ビットが 0 であれば、
SCSI ターゲットデバイスには単一のポートのみが存在し、マルチポートの要求については実装し
無いことを示す。
メディアチェンジャ(medium changer:MCHNGR)ビットが 1 に設定された場合、SCSI ターゲットデ
バイスが付属型メディアチェンジャを制御するコマンドをサポートすることを示す。付属型メ
ディアチェンジャデバイスのデバイスモデルを含む、メディアチェンジャデバイスの詳細につい
ては 5.10 および SMC-2 を参照のこと。MCHNGR ビットは RMB が 1 の場合にのみ正しい値を保持する。
MCHNGR ビットが 0 であれば、SCSI ターゲットデバイスは付属型メディアチェンジャデバイスを制御
するコマンドをサポートしないことを示す。
リンクコマンド(linked command:LINKED)ビットが 1 に設定された場合、デバイスサーバがリ
ンクされたコマンドをサポートすることを示す(SAM-3 を参照)。LINKED ビットが 0 であればデ
バイスサーバがリンクされたコマンドをサポートしないことを示す。
CMDQUE ビットと BQUE ビットは、表 86 に示す通り、論理ユニットが完全タスク管理モデル(SAM-3
を参照)をサポートするのか、基本タスク管理モデル(SAM-3 を参照)をサポートするのかを示す。
表86 BQUE と CMDQUE ビットの定義
BQUE
CMDQUE
説明
0
0
廃止済み
0
1
完全タスク管理モデルがサポートされる
1
0
基本タスク管理モデルがサポートされる
1
1
不正な組み合わせ
T10 VENDOR IDENTIFICATION フィールドには、製品のベンダを識別する 8 バイトの左詰め ASCII
データ(4.4.1 を参照)が格納される。T10 ベンダ識別子は INCITS で割り当てられた値の内の 1 つ
でなければならない。割り当てられている T10 ベンダ識別子のリストは Annex E および T10 のウェ
ブサイト(http://www.t10.org)で示される。
注意 21:T10 ウェブサイト(http://www.t10.org)では識別子コードを要求する便利な方法が提
供される。
PRODUCT IDENTIFICATION フィールドにはベンダ定義の 16 バイト左詰め ASCII データ(4.4.1 を
参照)が格納される。
PRODUCT REVISION LEVEL フィールドにはベンダ定義の 4 バイト左詰め ASCII データが格納され
る。
VERSION DESCRIPTOR フィールドは、SCSI ターゲットデバイスが準拠を主張する、最大 8 個の標
準を識別する値が格納される。各 VERSION DESCRIPTOR フィールドの値は表 87 の中から選択され
なければならない。表 87 に示されない全てのバージョン識別子の値は予約済みである。INCITS
T10 技術委員会はウェブサイト(http://www.t10.org/)で表 87 に示される情報の電子コピーを管
理する。T10 ウェブサイトが利用できなくなった場合には、INCITS ウェブサイト
(http://www.incits.org)、ANSI ウェブサイト(http://www.ansi.org/)、IEC ウェブサイト
(http://www.iec.ch/)、ISO ウェブサイト(http://www.iso.ch/)、ISO/IEC JTC 1 ウェブサイ
ト(http://www.jtc1.org)からアクセスできる可能性がある。最初のバージョン記述子は SCSI
アーキテクチャ標準のために使用され、後続して存在するのであれば物理転送標準、後続して
SCSI 転送プロトコル標準、後続して適用される SPC バージョン、後続してデバイス種別コマンド
セット、後続して存在するのであれば 2 つめのコマンドセットのために使用することが推奨され
る。
163
SCSI Primary Commands - 3 (SPC-3)
表87 バージョン記述子の値
標準
バージョン記述子の値
ADC(バージョン指定無し)
03C0h
ADC ANSI INCITS 403-200x
03D7h
ADC T10/1558-D revision 7
03D6h
ADC T10/1558-D revision 6
03D5h
ADC-2(バージョン指定無し)
04A0h
ADP(バージョン指定無し)
09C0h
ADT(バージョン指定無し)
09E0h
ADT ANSI INCITS 406-200x
09FDh
ADT T10/1557-D revision 14
09FAh
ADT T10/1557-D revision 11
09F9h
ADT-2(バージョン指定無し)
0A20h
ATA/ATAPI-6(バージョン指定無し)
15E0h
ATA/ATAPI-6 ANSI INCITS 361-2002
15FDh
ATA/ATAPI-7(バージョン指定無し)
1600h
ATA/ATAPI-7 T13/1532-D revision 3
1602h
BCC(バージョン指定無し)
0380h
EPI(バージョン指定無し)
0B20h
EPI ANSI INCITS TR-23 1999
0B3Ch
EPI T10/1134 revision 16
0B3Bh
Fast-20(バージョン指定無し)
0AC0h
Fast-20 ANSI INCITS 277-1996
0ADCh
Fast-20 T10/1071 revision 06
0ADBh
FC-AL(バージョン指定無し)
0D40h
FC-AL ANSI INCITS 272-1996
0D5Ch
FC-AL-2(バージョン指定無し)
0D60h
FC-AL-2 ANSI INCITS 332-1999
0D7Ch
FC-AL-2 ANSI INCITS 332-1999 with Amnd 1 AM1-2002
0D7Dh
FC-AL-2 T11/1133-D revision 7.0
0D61h
FC-DA(バージョン指定無し)
12E0h
FC-DA T11/1513-DT revision 3.1
12E2h
FC-FLA(バージョン指定無し)
1320h
FC-FLA ANSI INCITS TR-20 1998
133Ch
FC-FLA T11/1235 revision 7
133Bh
FC-FS(バージョン指定無し)
0DA0h
164
SCSI Primary Commands - 3 (SPC-3)
FC-FS ANSI INCITS 373-2003
0DBCh
FC-FS T11/1331-D revision 1.2
0DB7h
FC-FS T11/1331-D revision 1.7
0DB8h
FC-FS-2(バージョン指定無し)
0E00h
FC-LS(バージョン指定無し)
0E20h
FCP(バージョン指定無し)
08C0h
FCP ANSI INCITS 269-1996
08DCh
FCP T10/0993-D revision 12
08DBh
FC-PH(バージョン指定無し)
0D20h
FC-PH ANSI INCITS 230-1994
0D3Bh
FC-PH ANSI INCITS 230-1994 with Amnd 1 ANSI
INCITS 230/AM1-1996
0D3Ch
FC-PH-3(バージョン指定無し)
0D80h
FC-PH-3 ANSI INCITS 303-1998
0D9Ch
FC-PI(バージョン指定無し)
0DC0h
FC-PI ANSI INCITS 352-2002
0DDCh
FC-PI-2 (バージョン指定無し)
0DE0h
FC-PI-2 T11/1506-D revision 5.0
0DE2h
FC-PLDA(バージョン指定無し)
1340h
FC-PLDA ANSI INCITS TR-19 1998
135Ch
FC-PLDA T11/1162 revision 2.1
135Bh
FCP-2(バージョン指定無し)
0900h
FCP-2 ANSI INCITS 350-2003
0917h
FCP-2 T10/1144-D revision 8
0918h
FCP-2 T10/1144-D revision 4
0901h
FCP-2 T10/1144-D revision 7
0915h
FCP-2 T10/1144-D revision 7a
0916h
FCP-3(バージョン指定無し)
0A00h
FC-SP(バージョン指定無し)
0E40h
FC-SP T11/1570-D revision 1.6
0E42h
FC-Tape(バージョン指定無し)
1300h
FC-Tape ANSI INCITS TR-24 1999
131Ch
FC-Tape T11/1315 revision 1.17
131Bh
FC-Tape T11/1315 revision 1.16
1301h
IEEE 1394(バージョン指定無し)
14A0h
ANSI IEEE 1394-1995
14BDh
IEEE 1394a(バージョン指定無し)
14C0h
165
SCSI Primary Commands - 3 (SPC-3)
IEEE 1394b(バージョン指定無し)
14E0h
iSCSI(バージョン指定無し)
0960h
MMC(バージョン指定無し)
0140h
MMC ANSI INCITS 304-1997
015Ch
MMC T10/1048-D revision 10a
015Bh
MMC-2(バージョン指定無し)
0240h
MMC-2 ANSI INCITS 333-2000
025Ch
MMC-2 T10/1228-D revision 11a
025Bh
MMC-2 T10/1228-D revision 11
0255h
MMC-3(バージョン指定無し)
02A0h
MMC-3 ANSI INCITS 360-2002
02B8h
MMC-3 T10/1363-D revision 10g
02B6h
MMC-3 T10/1363-D revision 9
02B5h
MMC-4(バージョン指定無し)
03A0h
MMC-4 ANSI INCITS 401-200x
03BFh
MMC-4 T10/1545-D revision 5
03B0h
MMC-4 T10/1545-D revision 3
03BDh
MMC-4 T10/1545-D revision 3d
03BEh
MMC-5(バージョン指定無し)
0420h
OCRW(バージョン指定無し)
0280h
OCRW ISO/IEC 14776-381
029Eh
OSD(バージョン指定無し)
0340h
OSD ANSI INCITS 400-2004
0356h
OSD T10/1355-D revision 10
0355h
OSD T10/1355-D revision 0
0341h
OSD T10/1355-D revision 7a
0342h
OSD T10/1355-D revision 8
0343h
OSD T10/1355-D revision 9
0344h
OSD-2(バージョン指定無し)
0440h
RBC(バージョン指定無し)
0220h
RBC ANSI INCITS 330-2000
023Ch
RBC T10/1240-D revision 10a
0238h
SAM(バージョン指定無し)
0020h
SAM ANSI INCITS 270-1996
003Ch
SAM T10/0994-D revision 18
003Bh
SAM-2(バージョン指定無し)
0040h
SAM-2 ANSI INCITS 366-2003
005Ch
166
SCSI Primary Commands - 3 (SPC-3)
SAM-2 T10/1157-D revision 24
0055h
SAM-2 T10/1157-D revision 23
0054h
SAM-3(バージョン指定無し)
0060h
SAM-3 ANSI INCITS 402-200x
0077h
SAM-3 T10/1561-D revision 14
0076h
SAM-3 T10/1561-D revision 7
0062h
SAM-3 T10/1561-D revision 13
0075h
SAM-4(バージョン指定無し)
0080h
SAS(バージョン指定無し)
0BE0h
SAS ANSI INCITS 376-2003
0BFDh
SAS T10/1562-D revision 05
0BFCh
SAS T10/1562-D revision 01
0BE1h
SAS T10/1562-D revision 03
0BF5h
SAS T10/1562-D revision 04
0BFAh
SAS T10/1562-D revision 04
0BFBh
SAS-1.1(バージョン指定無し)
0C00h
SAS-1.1 T10/1601-D revision 9
0C07h
SAT(バージョン指定無し)
1EA0h
SBC(バージョン指定無し)
0180h
SBC ANSI INCITS 306-1998
019Ch
SBC T10/0996-D revision 08c
019Bh
SBC-2(バージョン指定無し)
0320h
SBC-2 ANSI INCITS 405-200x
033Dh
SBC-2 T10/1417-D revision 16
033Bh
SBC-2 T10/1417-D revision 5a
0322h
SBC-2 T10/1417-D revision 15
0324h
SBP-2(バージョン指定無し)
08E0h
SBP-2 ANSI INCITS 325-1999
08FCh
SBP-2 T10/1155-D revision 04
08FBh
SBP-3(バージョン指定無し)
0980h
SBP-3 ANSI INCITS 375-2004
099Ch
SBP-3 T10/1467-D revision 5
099Bh
SBP-3 T10/1467-D revision 1f
0982h
SBP-3 T10/1467-D revision 3
0994h
SBP-3 T10/1467-D revision 4
099Ah
SCC(バージョン指定無し)
0160h
SCC ANSI INCITS 276-1997
017Ch
167
SCSI Primary Commands - 3 (SPC-3)
SCC T10/1047-D revision 06c
017Bh
SCC-2(バージョン指定無し)
01E0h
SCC-2 ANSI INCITS 318-1998
01FCh
SCC-2 T10/1125-D revision 04
01FBh
SES(バージョン指定無し)
01C0h
SES ANSI INCITS 305-1998
01DCh
SES T10/1212-D revision 08b
01DBh
SES ANSI INCITS 305-1998 w/ Amendment ANSI
INCITS.305/AM1-2000
01DEh
SES T10/1212 revision 08b w/ Amendment ANSI
INCITS.305/AM1-2000
01DDh
SES-2(バージョン指定無し)
03E0h
SIP(バージョン指定無し)
08A0h
SIP ANSI INCITS 292-1997
08BCh
SIP T10/0856-D revision 10
08BBh
SMC(バージョン指定無し)
01A0h
SMC ANSI INCITS 314-1998
01BCh
SMC T10/0999-D revision 10a
01BBh
SMC-2(バージョン指定無し)
02E0h
SMC-2 ANSI INCITS 382-2004
02FEh
SMC-2 T10/1383-D revision 7
02FDh
SMC-2 T10/1383-D revision 5
02F5h
SMC-2 T10/1383-D revision 6
02FCh
SMC-3(バージョン指定無し)
0480h
SPC(バージョン指定無し)
0120h
SPC ANSI INCITS 301-1997
013Ch
SPC T10/0995-D revision 11a
013Bh
SPC-2(バージョン指定無し)
0260h
SPC-2 ANSI INCITS 351-2001
0277h
SPC-2 T10/1236-D revision 20
0276h
SPC-2 T10/1236-D revision 12
0267h
SPC-2 T10/1236-D revision 18
0269h
SPC-2 T10/1236-D revision 19
0275h
SPC-3(バージョン指定無し)
0300h
SPC-3 T10/1416-D revision 22
030Fh
SPC-3 T10/1416-D revision 7
0301h
SPC-3 T10/1416-D revision 21
0307h
168
SCSI Primary Commands - 3 (SPC-3)
SPC-4(バージョン指定無し)
0460h
SPI(バージョン指定無し)
0AA0h
SPI ANSI INCITS 253-1995
0ABAh
SPI T10/0855-D revision 15a
0AB9h
SPI ANSI INCITS 253-1995 with SPI Amnd ANSI
INCITS 253/AM1-1998
0ABCh
SPI T10/0855-D revision 15a with SPI Amnd
revision 3a
0ABBh
SPI-2(バージョン指定無し)
0AE0h
SPI-2 ANSI INCITS 302-1999
0AFCh
SPI-2 T10/1142-D revision 20b
0AFBh
SPI-3(バージョン指定無し)
0B00h
SPI-3 ANSI INCITS 336-2000
0B1Ch
SPI-3 T10/1302-D revision 14
0B1Ah
SPI-3 T10/1302-D revision 10
0B18h
SPI-3 T10/1302-D revision 13a
0B19h
SPI-4(バージョン指定無し)
0B40h
SPI-4 ANSI INCITS 362-2002
0B56h
SPI-4 T10/1365-D revision 7
0B54h
SPI-4 T10/1365-D revision 9
0B55h
SPI-4 T10/1365-D revision 10
0B59h
SPI-5(バージョン指定無し)
0B60h
SPI-5 ANSI INCITS 367-2003
0B7Ch
SPI-5 T10/1525-D revision 6
0B7Bh
SPI-5 T10/1525-D revision 3
0B79h
SPI-5 T10/1525-D revision 5
0B7Ah
SRP(バージョン指定無し)
0940h
SRP ANSI INCITS 365-2002
095Ch
SRP T10/1415-D revision 16a
0955h
SRP T10/1415-D revision 10
0954h
SSA-PH2(バージョン指定無し)
1360h
SSA-PH2 ANSI INCITS 293-1996
137Ch
SSA-PH2 T10.1/1145-D revision 09c
137Bh
SSA-PH3(バージョン指定無し)
1380h
SSA-PH3 ANSI INCITS 307-1998
139Ch
SSA-PH3 T10.1/1146-D revision 05b
139Bh
SSA-S2P(バージョン指定無し)
0880h
169
SCSI Primary Commands - 3 (SPC-3)
SSA-S2P ANSI INCITS 294-1996
089Ch
SSA-S2P T10.1/1121-D revision 07b
089Bh
SSA-S3P(バージョン指定無し)
0860h
SSA-S3P ANSI INCITS 309-1998
087Ch
SSA-S3P T10.1/1051-D revision 05b
087Bh
SSA-TL1(バージョン指定無し)
0840h
SSA-TL1 ANSI INCITS 295-1996
085Ch
SSA-TL1 T10.1/0989-D revision 10b
085Bh
SSA-TL2(バージョン指定無し)
0820h
SSA-TL2 ANSI INCITS 308-1998
083Ch
SSA-TL2 T10.1/1147-D revision 05b
083Bh
SSC(バージョン指定無し)
0200h
SSC ANSI INCITS 335-2000
021Ch
SSC T10/0997-D revision 22
0207h
SSC T10/0997-D revision 17
0201h
SSC-2(バージョン指定無し)
0360h
SSC-2 ANSI INCITS 380-2003
037Dh
SSC-2 T10/1434-D revision 9
0375h
SSC-2 T10/1434-D revision 7
0374h
SSC-3(バージョン指定無し)
0400h
SST(バージョン指定無し)
0920h
SST T10/1380-D revision 8b
0935h
Universal Serial Bus Specification, Revision 1.1
1728h
Universal Serial Bus Specification, Revision 2.0
1729h
USB Mass Storage Class Bulk-Only Transport,
Revision 1.0
1730h
バージョン記述子がサポートされない、もしくは標準
が特定されない
0000h
Annex D に番号順に整列したバージョン記述子の一覧を示す。
6.4.3
SCSI パラレルインタフェース固有の INQUIRY データ
標準 INQUIRY データの 6 バイト目と 7 バイト目の一部、および 56 バイト目の全体は、SCSI パラ
レルインタフェースを実装する SCSI ターゲットデバイスでのみ使用されなければならない。これ
らのフィールドは表 81 に注記される。SPI 固有のフィールドがどのように SCSI パラレルインタ
フェースと関係するかについては SPI-n(n は 2 以上)を参照のこと。表 88 に SPI 固有の標準
INQUIRY フィールドのみを示す。SCSI パラレルインタフェース固有フィールドの定義については
下記に従わなければならない。
170
SCSI Primary Commands - 3 (SPC-3)
表88 SPI 固有標準 INQUIRY ビット
Bit
Byte
7
6
5
6
7
4
3
2
SYNC
表 81 を参照
廃止済み
1
0
表 81 を参照
表 81 を参照
WBUS16
表 81 を参照
…
56
予約済み
CLOCKING
QAS
IUS
ワイド SCSI アドレス 16(wide SCSI address 16:ADDR16)ビットに 1 が設定された場合は、
SCSI ターゲットデバイスが 16 ビット幅の SCSI アドレスをサポートすることを示す。0 であれば
SCSI ターゲットデバイスが 16 ビット幅の SCSI アドレスをサポートしないことを示す。
ワイドバス 16(wide bus 16:WBUS16)ビットに 1 が設定された場合は、SCSI ターゲットデバイ
スが 16 ビット幅のデータ転送をサポートすることを示す。0 であれば、SCSI ターゲットデバイス
が 16 ビット幅のデータ転送をサポートしないことを示す。
同期転送(synchronous transfer:SYNC)ビットに 1 が設定された場合は、SCSI ターゲットデバ
イスが同期データ転送をサポートすることを示す。0 であれば、SCSI ターゲットデバイスが同期
データ転送をサポートしないことを示す。
廃止済みの 7 バイト目のビット 2 は、SCSI ターゲットデバイスが SPI-2 で定義される廃止済みの
データ転送メカニズムをサポートするか否かを示す。
表 89 は ADDR16 と WBUS16 の関係を示す。
表89 最大論理デバイス構成表
ADDR16
WBUS16
説明
0
0
最大 8 つの SCSI ID がサポートされる、単一ケーブ
ルによる 8 ビット幅のデータパス。
0
1
最大 8 つの SCSI ID がサポートされる、単一ケーブ
ルによる 16 ビット幅のデータパス。
1
1
最大 16 個の SCSI ID がサポートされる、単一ケーブ
ルによる 16 ビット幅のデータパス。
CLOCKING フィールドは非同期転送には適用されてはならず、表 90 のように定義される。
表90 CLOCKING フィールド
値
説明
00b
ターゲットポートは ST のみをサポートすることを示す。
01b
ターゲットポートは DT のみをサポートすることを示す。
10b
予約済み
11b
ターゲットポートは ST と DT をサポートすることを示す。
高速な調停と選択のサポート(quick arbitration and selection supported:QAS)ビットに 1
が設定された場合、ターゲットポートが高速な調停と選択をサポートすることを示す。0 であれば、
ターゲットポートは高速な調停と選択をサポートしないことを示す。
情報ユニットのサポート(information unit supported:IUS)ビットに 1 が設定された場合、
171
SCSI Primary Commands - 3 (SPC-3)
SCSI ターゲットデバイスが情報ユニットの転送をサポートすることを示す。0 であれば、SCSI
ターゲットデバイスは情報ユニットの転送をサポートしないことを示す。
注意 22:ST と DT という略称、および「高速な調停と選択(quick arbitration and
selection)」と「情報ユニット(information unit)」という言葉については SPI-5 を参照のこ
と。
6.4.4
重要プロダクトデータ
アプリケーションクライアントは、EVPD ビットに 1 を設定し、かつ、重要プロダクトデータの
ページコードを指定することにより、重要プロダクトデータの情報を要求する。重要プロダクト
データについての詳細は 7.6 を参照のこと。返される情報には構成データ(例えば、ベンダ識別
子、プロダクト識別子、モデル、シリアル番号)、製造データ(例えば、製造年月日や工場の識
別子)、フィールド置換可能ユニットデータ、その他のベンダ固有ないしデバイス固有のデータ
が含まれる。デバイスサーバが要求されたページを実装していなければ、コマンドはステータス
が CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB
で終了されなければならない。
デバイスサーバは、通常のコマンドの完了を妨げるようなエラーが生じていたとしても、
INQUIRY コマンドを処理する能力を有しているべきである。そのような場合、INQUIRY ないし
REQUEST SENSE 以外のコマンドに対しては CHECK CONDITION ステータスが返されるべきである。返
されるセンスデータにはフィールド置換ユニットコードが含まれる可能性がある。重要プロダク
トデータは、INQUIRY コマンドにより失敗したデバイスから取得される可能性がある。
本標準では、デバイス独立なアプリケーションクライアントが INQUIRY コマンドにより返される
重要プロダクトデータを画面に表示できるような形式でフォーマットを定義する。データの内容
はベンダ固有である可能性があり、対象デバイスについての詳細な情報がなければ使用すること
ができない可能性がある。
本標準は重要プロダクトデータを格納する場所や方法については定義しない。データの取得は
デバイス内での初期化処理の完了を待ち合わせることを要求する可能性があり、アプリケーショ
ンクライアントからデータが利用できるようになるまで遅延が生じる可能性がある。時間に関す
るクリティカルな要求は実装上の判断であり、本標準では取り扱われない。
172
SCSI Primary Commands - 3 (SPC-3)
6.5
LOG SELECT コマンド
LOG SELECT コマンド(表 91 を参照)は、SCSI ターゲットデバイスで管理される、SCSI ター
ゲットデバイスや論理ユニットについての統計情報を管理する方法をアプリケーションクライア
ントに対して提供する。LOG SELECT コマンドを実装するデバイスサーバは LOG SENSE コマンドも
また実装しなければならない。ログページ内のログパラメタの形式はログデータを管理する方法
として定義される。LOG SELECT コマンドは Data-Out バッファにより 0 個以上のログページを送信
する。本標準ではログページのフォーマットを定義するが、ログに記録される条件やイベントに
ついては定義しない。
表91 LOG SELECT コマンド
Bit
Byte
7
6
5
4
3
0
操作コード( OPERATION CODE )( 4Ch )
1
予約済み
PC
2
3
2
1
0
PCR
SP
予約済み
予約済み
6
7
(MSB)
パラメタリスト長( PARAMETER LIST LENGTH )
8
9
(LSB)
コントロール( CONTROL )
パラメタコードリセット(parameter code reset:PCR)ビットに 1 が設定され、パラメタリスト
長に 0 が指定された場合、実装された全てのパラメタはベンダ固有の初期値(例えば、0)に初期
化されなければならない。PCR に 1 が指定され、パラメタリスト長が 0 より大きい場合には、コマ
ンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが
INVALID FIELD IN CDB で終了されなければならない。PCR に 0 が指定された場合は、ログパラメ
タのリセットが行われてはならないことを示す。
パラメタの保存(save parameters:SP)ビットに 1 が指定された場合、デバイスサーバは指定さ
れた LOG SELECT 操作を終了した後で、ログページ内の DS ビット(7.2 を参照)により保存可能で
あるとして識別された全てのパラメタを、不揮発性メモリに保存しなければならない事を示す。
SP ビットが 0 であれば、パラメタの保存が行われてはならない事を示す。
ログパラメタの保存はオプションであり、ログパラメタ毎にログページ内の DS ビットにより指
定される。ログパラメタはまた、ログパラメタ内の TSD ビット(7.2 を参照)と制御モードページ
の GLTSD ビット(7.4.6 を参照)の設定に応じて、ベンダ固有のタイミングで保存される可能性が
ある。論理ユニットが全てのログパラメタについてパラメタの保存を実装しておらず、かつ、SP
ビットに 1 が設定された場合には、コマンドはステータスが CHECK CONDITION、センスキーが
ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB で終了されなければならない。
SP ビットに 1 が設定され、ログパラメタ内の DS ビットに 1 が設定されることはエラーではない。
その場合、当該のログパラメタのパラメタ値は保存されない。
ページ制御(page control:PC)フィールドは選択される対象となるパラメタ値の種類を指定す
る。PC フィールドは表 92 のように定義される。
173
SCSI Primary Commands - 3 (SPC-3)
表92 ページ制御(PC)フィールド
PC
LOG SELECT パラメタ値
LOG SENSE パラメタ値
00b
現在の閾値
閾値
01b
現在の累積値
累積値
10b
デフォルトの閾値
デフォルトの閾値
11b
デフォルトの累積値
デフォルトの累積値
現在の累積値は、論理ユニットで生じたイベント数の累積値を反映するために、デバイスサー
バにより、あるいは LOG SELECT コマンドを用いてアプリケーションクライアントにより、更新さ
れる可能性がある。各ログパラメタ内のパラメタ制御バイト(7.2 を参照)は、現在の累積値パラ
メタの保存と更新を制御する。
デバイスサーバは、PC フィールドに 10b が設定され、パラメタリスト長フィールドに 0 が設定
された LOG SELECT コマンドに対する応答として、現在の閾値パラメタをデフォルトの閾値に設定
しなければならない。
デバイスサーバは PC フィールドに 11b が設定され、パラメタリスト長フィールドに 0 が設定さ
れた LOG SELECT コマンドに対する応答として、全ての累積値パラメタをデフォルトの累積値に設
定しなければならない。
現在の閾値はアプリケーションクライアントが LOG SELECT コマンドを使用することによっての
み変更することが可能である。アプリケーションクライアントが当該ログパラメタに対して利用
可能ではないもしくは実装されていない現在の閾値を変更しようと試みた場合、デバイスサーバ
は LOG SELECT コマンドをステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加
センスコードが INVALID FIELD IN PARAMETER LIST で終了しなければならない。現在の閾値パラ
メタの保存と、適用される現在の閾値の基準については、パラメタ制御バイト内のビット(7.2 を
参照)により制御される。
注意 23:利用可能ではないログページないしログパラメタは、後に利用可能となる可能性があ
る(例えば、論理ユニットが利用可能となった後)。
PARAMETER LIST LENGTH フィールドは、Data-Out バッファに格納されなければならないパラメタ
リストのバイト長を指定する。パラメタリスト長に 0 が指定された場合、ログページの転送が行
われてはならないことを示す。この状態はエラーとは見なされてはならない。アプリケーション
クライアントがパラメタリストで、予約済みもしくは論理ユニットで実装されていないページ
コードやパラメタコードを送信した場合、デバイスサーバは LOG SELECT コマンドをステータスが
CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN
PARAMETER LIST で終了しなければならない。
パラメタリスト長の指定が何らかのログパラメタを途中で打ち切ってしまう場合には、デバイ
スサーバはコマンドをステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST で終了しな
ければならない。追加センスコードは PARAMETER LIST LENGTH ERROR を設定するべきであり、あ
るいは INVALID FIELD IN CDB を設定することが可能である。
Data-Out バッファに複数のログページが含まれる場合、アプリケーションクライアントはログ
ページをページコード値の昇順に送信するべきである。Data-Out バッファがログページ内に複数
のログパラメタを保持していた場合、それらはパラメタコード値の昇順に送信されるべきである。
アプリケーションクライアントがログページやパラメタコードを順不同で送信した場合、コマン
ドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが
INVALID FIELD IN PARAMETER LIST で終了されなければならない。
注意 24:アプリケーションクライアントは、サポートされるログページとページ長を調べるた
174
SCSI Primary Commands - 3 (SPC-3)
めに、LOG SELECT コマンドを発行する前に LOG SENSE コマンドを発行するべきである。
SCSI ターゲットデバイスは、論理ユニットに対して個別に、もしくは、論理ユニットと I_T ネ
クサスのそれぞれの組み合わせに対して個別に、独立したログパラメタのセットを提供すること
が可能である。デバイスサーバが独立したログパラメタのセットを提供せず、かつ、他の I_T ネ
クサスに影響を与える何らかのログパラメタの変更が行われた場合、デバイスサーバは LOG
SELECT コマンドを受信した I_T ネクサスを除く、全ての I_T ネクサスに関連づけられたイニシ
エータポートに対して、追加センスコードに LOG PARAMETERS CHANGED を設定したユニット警告状
態(SAM-3 を参照)を確立しなければならない。
アプリケーションクライアントが論理ユニットによりサポートされないログパラメタを送信し
た場合、コマンドは CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが
INVALID FIELD IN PARAMETER LIST で終了されなければならない。
LOG SELECT コマンドに関する追加の情報については Annex C を参照のこと。
6.6
LOG SENSE コマンド
LOG SENSE コマンド(表 93 を参照)は、SCSI ターゲットデバイスで管理される、SCSI ターゲッ
トデバイスや論理ユニットにおける統計情報や操作情報をアプリケーションクライアントから取
得する方法を提供する。これは LOG SELECT コマンドに対する補足的なコマンドである。
表93 LOG SENSE コマンド
Bit
Byte
7
6
5
4
3
0
操作コード( OPERATION CODE )( 4Dh )
1
予約済み
PC
2
3
2
1
0
PPC
SP
ページコード( PAGE CODE )
予約済み
4
5
(MSB)
パラメタポインタ( PARAMETER POINTER )
6
7
(LSB)
(MSB)
アロケーション長( ALLOCATION LENGTH )
(LSB)
8
9
コントロール( CONTROL )
パラメタポインタ制御(parameter pointer control:PPC)ビットはデバイスサーバに要求され
るパラメタの種類を制御する。
a) PPC ビットに 1 が設定された場合、デバイスサーバは最後に LOG SELECT ないし LOG SENSE
コマンドが実行されて以降変更されたログページを、パラメタコード値と共に返さなけれ
ばならないことを示す。デバイスサーバは指定されたログページから、PARAMETER POINTER
フィールドの内容より大きいか等しいパラメタコードについてのみを、パラメタコードの
昇順に並べて返さなければならない。
b) PPC ビットに 0 が設定された場合、デバイスサーバは指定されたログページから、
PARAMETER POINTER フィールドの内容より大きいか等しいパラメタコードを、パラメタコー
ドの昇順に並べて返さなければならないことを示す。
c) PPC ビットが 0 で PARAMETER POINTER フィールドが 0 の場合、デバイスサーバは指定された
ログページから利用可能な全てのログパラメタを返さなければならないことを示す。
175
SCSI Primary Commands - 3 (SPC-3)
パラメタの保存は LOG SENSE コマンドのオプションの機能である。論理ユニットがパラメタの保
存を実装せず、かつ、パラメタの保存(save parameters:SP)ビットが 1 に設定された場合、コ
マンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが
INVALID FIELD IN CDB で終了されなければならない。
SP ビットが 0 に設定された場合、デバイスサーバは指定された LOG SENSE コマンドを実行しな
ければならず、かつ、ログパラメタを保存してはならないことを表す。ログパラメタの保存が実
装される場合で、かつ SP ビットに 1 が設定された場合は、デバイスサーバは指定された LOG
SENSE コマンドを実行しなければならず、かつ、DS ビット(7.2 を参照)により保存可能であると
識別された全てのログパラメタをベンダ固有の場所にある不揮発性メモリに保存しなければなら
ないことを表す。
ページ制御(page control:PC)フィールドは選択される対象となるパラメタ値の種類を指定す
る(ページ制御フィールドの定義については 6.5 を参照のこと)。LOG SENSE コマンドにより返さ
れるパラメタ値は下記により決定される。
a) 指定されたパラメタ値の最後に更新(すなわち、LOG SELECT ないし LOG SENSE コマンドの
応答として、もしくは累積値に対するデバイスサーバによる自動的な更新により)された
値。
b) パラメタの保存が実装されており、かつ、最後に論理ユニットリセットが行われてから更
新されていない場合には、保存された値。
c) パラメタの保存が実装されていないか、あるいは保存された値が利用できない場合で、か
つ最後に論理ユニットリセットが行われてから更新されていない場合には、デフォルト値。
PAGE CODE フィールドはどのログページのデータが要求されているのかを指定する(7.2 を参
照)。ログページコードが予約済みもしくは実装されていない場合には、コマンドはステータス
が CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB
で終了されなければならない。
PARAMETER POINTER フィールドはアプリケーションクライアントに対して、指定されたパラメタ
コードの開始位置から、アロケーション長の最大あるいは論理ユニットによりサポートされる最
大のパラメタコードの、いずれか小さい方までを取得することを可能とする。PARAMETER POINTER
フィールドに、指定されたログページにおいてデバイスサーバで把握している、利用可能なパラ
メタコード値の最大のものよりも大きな値が指定された場合は、コマンドはステータスが CHECK
CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB で終了さ
れなければならない。
ALLOCATION LENGTH フィールドについては 4.3.4.6 で定義される。
指定されたログページ内のログパラメタは、パラメタコード値の昇順に整列され返されなけれ
ばならない。
LOG SENSE コマンドの追加の情報については Annex C を参照のこと。
6.7
MODE SELECT(6)コマンド
MODE SELECT(6)コマンド(表 94 を参照)は、アプリケーションクライアントに対してメディア
や論理ユニット、末端デバイスのパラメタをデバイスサーバに指定する方法を提供する。MODE
SELECT(6)コマンドを実装するデバイスサーバはまた MODE SENSE(6)コマンドも実装しなければな
らない。アプリケーションクライアントは MODE SELECT(6)を発行する前に、サポートされるモー
ドページ、ページ長、その他のパラメタを取得するために MODE SENSE(6)コマンドを発行するべき
である。
176
SCSI Primary Commands - 3 (SPC-3)
表94 MODE SELECT(6)コマンド
Bit
Byte
7
6
5
0
4
3
2
1
0
操作コード( OPERATION CODE )( 15h )
1
予約済み
2
PF
予約済み
SP
予約済み
3
4
パラメタリスト長( PARAMETER LIST LENGTH )
5
コントロール( CONTROL )
論理ユニットは、全ての I_T ネクサスの間でモードパラメタヘッダとブロック記述子の値を共有
しなければならない。I_T ネクサス喪失によりモードパラメタヘッダ、ブロック記述子、モード
ページの値が影響を受けてはならない。
論理ユニットは表 95 に示されたポリシのいずれかに従い、各モードページの現在の値や保存さ
れた値を保持しなければならない。それぞれのモードページで使用されるモードページポリシは、
モードページポリシ VPD ページ(7.6.6 を参照)により取得することが可能である。
表95 モードページポリシ
モードページポリシ
モードページのコピーの数
共有
全ての I_T ネクサスで共有される単一の
モードページが存在する。
ターゲットポート毎
ターゲットポート毎に、分離したモード
ページのコピーが存在し、それぞれのコ
ピーは全てのイニシエータポートで共有さ
れる。
I_T ネクサス毎
I_T ネクサス毎に分離したコピーが存在す
る。
論理ユニットが生じた後、各モードパラメタヘッダ、ブロック記述子、モードページは、パラ
メタの保存がサポートされるのであれば保存された値に、そうでなければデフォルト値に初期化
されなければならない。
アプリケーションクライアントが、他の I_T ネクサスに適用される何らかのパラメタを変更する
MODE SELECT コマンドを送信した場合、デバイスサーバは、MODE SELECT コマンドを受信した I_T
ネクサスを除く他の全ての I_T ネクサスに関連づけられたイニシエータポートに対して、センス
コードに MODE PARAMETERS CHANGED を設定したユニット警告状態(SAM-3 を参照)を確立しなけれ
ばならない。
ページフォーマット(page format:PF)ビットに 0 が設定されている場合、ブロック記述子より
後にある全てのパラメタがベンダ固有であることを示す。PF ビットが 1 に設定されている場合、
ヘッダやブロック記述子に後続する MODE SELECT パラメタが、本標準で定義される関連するパラ
メタのページとして構成されることを示す。
ページの保存(save pages:SP)ビットに 0 が設定されている場合、デバイスサーバは指定され
た MODE SELECT 操作を実行しなければならず、かつ、いかなるモードページの保存も行ってはな
らないことを示す。論理ユニットの実装がモードページについて保存された値と現在の値を区別
せず、かつ、SP ビットに 0 が設定されていた場合は、コマンドはステータスが CHECK
CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB で終了さ
177
SCSI Primary Commands - 3 (SPC-3)
れなければならない。SP ビットに 1 が設定された場合、デバイスサーバは指定された MODE
SELECT コマンドを実行しなければならず、かつ、Data-Out バッファで送信されたものも含む保存
可能な全てのモードページを、ベンダ固有の不揮発性メモリに保存しなければならない事を示す。
保存されるモードページは、MODE SENSE コマンドにより取得される各モードページの最初のバイ
トに存在する、保存可能パラメタ(PS)ビットにより指定される(7.4 を参照)。MODE SENSE
データ内の PS ビットが 1 であれば、当該のモードページは、SP ビットに 1 を設定した MODE
SELECT コマンドにより保存可能でなければならない。論理ユニットがパラメタの保存を実装せず、
かつ、SP ビットに 1 が設定された場合は、コマンドはステータスが CHECK CONDITION、センス
キーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB で終了されなければならな
い。
PARAMETER LIST LENGTH フィールドは Data-Out バッファ内に含まれていなければならないモー
ドパラメタリストのバイト長を指定する。パラメタリスト長が 0 の場合、Data-Out バッファが空
でなければならないことを示す。この状態はエラーと見なされてはならない。
パラメタリスト長がモードペラメタヘッダやモードパラメタブロック記述子、モードページを
途中で打ち切るような場合には、コマンドはステータスが CHECK CONDITION、センスキーが
ILLEGAL REQUEST、追加センスコードが PARAMETER LIST LENGTH ERROR で終了されなければならな
い。
MODE SELECT と MODE SENSE コマンドにおけるモードパラメタリストについては 7.4 で定義され
る。モードパラメタリストのそれぞれの部分は、デバイス種別依存の基準に従い定義される。デ
バイス種別に特有なモードパラメタリスト内のそれぞれの部分は、該当するコマンド標準
(3.1.18 を参照)で定義される可能性がある。
下記いずれかの条件が成立する場合、デバイスサーバは MODE SELECT コマンドをステータスが
CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN
PARAMETER LIST で終了しなければならなず、いかなるモードパラメタの変更も行ってはならない。
a) アプリケーションクライアントが、デバイスサーバにより変更不能であると報告される
フィールドに対して、現在の値以外の値を設定した場合。
b) アプリケーションクライアントが、モードパラメタヘッダやブロック記述子内のフィール
ドにサポートされない値を設定した場合。
c) アプリケーションクライアントが、あるモードページについて、MODE SENSE コマンドで取
得されるページ長と異なるページ長のモードページを送信した場合。
d) アプリケーションクライアントがサポートされないモードパラメタの値を送信し、かつ、
当該のモードパラメタについてパラメタの丸めがサポートされない場合。
e) アプリケーションクライアントがモードパラメタリスト内の予約済みのフィールドに 0 以
外の値を設定し、かつ、デバイスサーバが予約済みのフィールドについて値の検証を行う
場合。
アプリケーションクライアントが、モードパラメタとしてデバイスサーバによりサポートされ
る範囲外の値を送信し、かつ、デバイスサーバが当該のモードパラメタについてパラメタの丸め
を実装する場合、デバイスサーバはこの状態を下記のいずれかにより取り扱う。
a) 適用可能な値にパラメタの丸めを行い、5.4 の記述に従いコマンドを終了する。
b) ステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが
INVALID FIELD IN PARAMETER LIST でコマンドを終了する。
デバイスサーバは、変更不能と報告される任意のモードページ内の任意のモードパラメタにつ
いて、他のモードパラメタの変更の結果として、値を変更する可能性がある。
178
SCSI Primary Commands - 3 (SPC-3)
デバイスサーバは、MODE SELECT コマンドに先立ち、変更不能なモードパラメタについて現在の
値と比較することで検証を行う。
注意 25:デバイスサーバにより計算される現在値はアプリケーションクライアントの操作に影
響を与える可能性がある。アプリケーションクライアントは MODE SELECT コマンドを発行した後
に、現在値を取得するために MODE SENSE コマンドを発行することが可能である。
6.8
MODE SELECT(10)コマンド
MODE SELECT(10)コマンド(表 96 を参照)は、メディア、論理ユニット、末端デバイスのパラ
メタをデバイスサーバに指定する方法を提供する。本コマンドのフィールドや操作については
MODE SELECT(6)コマンド(6.7 を参照)を参照のこと。アプリケーションクライアントは、サ
ポートされるモードページやページ長、およびその他のパラメタを取得するために、各 MODE
SELECT(10)コマンドに先立ち MODE SENSE(10)コマンドを発行するべきである。MODE
SELECT(10)コマンドを実装するデバイスサーバは MODE SENSE(10)コマンドについても実装し
なければならない。
表96 MODE SELECT(10)コマンド
Bit
Byte
7
6
5
0
4
3
2
1
0
操作コード( OPERATION CODE )( 55h )
1
予約済み
2
PF
予約済み
SP
予約済み
6
(MSB)
7
パラメタリスト長( PARAMETER LIST LENGTH )
(LSB)
8
コントロール( CONTROL )
9
6.9
6.9.1
MODE SENSE(6)コマンド
MODE SENSE(6)コマンドの序論
MODE SENSE(6)コマンドは(表 97 を参照)は、デバイスサーバに対してアプリケーションクラ
イアントにパラメタを報告する方法を提供する。これは MODE SELECT(6)コマンドと相補的なコ
マンドである。MODE SENSE(6)コマンドを実装するデバイスサーバはまた、MODE SELECT(6)コ
マンドも実装しなければならない。
表97 MODE SENSE(6)コマンド
Bit
Byte
7
6
5
0
3
2
1
0
操作コード( OPERATION CODE )( 1Ah )
1
2
4
予約済み
DBD
PC
予約済み
ページコード( PAGE CODE )
3
サブページコード( SUBPAGE CODE )
4
アロケーション長( ALLOCATION LENGTH )
5
コントロール( CONTROL )
ブロック記述子無効(disable block descriptors:DBD)ビットに 0 が設定された場合、デバイ
スサーバは、MODE SENSE データ(7.4 を参照)で 0 個以上のブロック記述子を返すことが可能な
ことを示す。DBD ビットに 1 が設定された場合、デバイスサーバは MODE SENSE データでいかなる
179
SCSI Primary Commands - 3 (SPC-3)
ブロック記述子も返してはならないことを示す。
ページ制御(page control:PC)フィールドはモードページ内で返される対象となるモードパラ
メタ値の種別を指定する。PC フィールドは表 98 で定義される。
表98 ページ制御(PC)フィールド
値
パラメタの種別
参照
00b
現在の値
6.9.2
01b
可変の値
6.9.3
10b
デフォルト値
6.9.4
11b
保存された値
6.9.5
PC フィールドはモードページ内のモードパラメタにのみ影響を与える。しかしながら、PS ビッ
ト、SPF ビット、PAGE CODE フィールド、SUBPAGE CODE フィールド、PAGE LENGTH フィールドは現
在の値が(すなわち、PC が 00b に設定されたものとして)返されるべきである。モードパラメタ
ヘッダとモードパラメタブロック記述子は現在の値が返されるべきである。
ある種の SCSI ターゲットデバイスはモードパラメタについて現在の値と保存された値とを区別
しない可能性があり、PC フィールドに 00b が指定された場合と 11b が指定された場合とで同じ値
を報告する可能性がある。MODE SELECT コマンドのページの保存(SP)ビットの説明も参照のこと。
PAGE CODE と SUBPAGE CODE は、返される対象となるモードページとサブページを指定する(表
99 を参照)。
表99 全デバイスにおけるモードページコードの使用方法
ページ サブページ
コード
コード
00h
01h~
1Fh
02h~
3Eh
3Fh
説明
ベンダ固有 ベンダ固有(ページフォーマットは要求されない)
00h
特定のデバイス種別を参照(page_0 フォーマット)
01h~DFh
特定のデバイス種別を参照(sub_page フォーマット)
E0h~EFh
ベンダ固有(sub_page フォーマット)
FFh
サブページ 00h については page_0 フォーマットで、サブページ 01h~EFh
については sub_page フォーマットで、指定されたデバイス固有モードペー
ジの全てのサブページを返す。
00h
ベンダ固有(page_0 フォーマットが要求される)
01h~FEh
ベンダ固有(sub_page フォーマットが要求される)
FFh
サブページ 00h については page_0 フォーマットで、サブページ 01h~FEh
については sub_page フォーマットで、指定されたベンダ固有のモードペー
ジの全てのサブページが返される。
00h
page_0 フォーマットで、全てのサブページ 00h のモードページが返される。
01h~FEh
FFh
予約済み
サブページ 00h については page_0 フォーマットで、サブページ 01h~FEh
については sub_page フォーマットで、全てのモードページの全てのサブ
ページが返される。
ALLOCATION LENGTH フィールドについては 4.3.4.6 で定義される。
180
SCSI Primary Commands - 3 (SPC-3)
アプリケーションクライアントはデバイスサーバに対して、サポートされる 1 つないし全ての
モードページを要求することが可能である。アプリケーションクライアントが論理ユニットで実
装されていないページコードやサブページコードを設定した MODE SENSE コマンドを発行した場合、
コマンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが
INVALID FIELD IN CDB で終了されなければならない。
アプリケーションクライアントがサポートされる全てのモードページを要求した場合、デバイ
スサーバはモードページ 01h から始まる、サポートされる全てのページをページコードの昇順に
並べて返さなければならない。モードページ 00h が実装される場合、デバイスサーバは他の全て
のモードページを返した後でモードページ 00h を返さなければならない。
PC フィールドと PAGE CODE フィールドの両方が 0 に設定された場合、デバイスサーバは可能な
らばモードパラメタヘッダとブロック記述子を返すべきである。
MODE SELECT と MODE SENSE における全デバイス種別に対するモードパラメタについては 7.4 で
定義される。モードパラメタリストのそれぞれの部分は、デバイス種別毎に明確に定義される。
デバイス種別毎に固有なモードパラメタリストのそれぞれの部分は、該当するコマンド標準
(3.1.18 を参照)で定義される可能性がある。
6.9.2
現在の値
PC フィールドに 00b が指定された場合、デバイスサーバはモードパラメタの現在の値を返すよ
う要求される。返される現在の値は下記の通りである。
a) 最後に成功した MODE SELECT コマンドにより設定された、モードパラメタの現在の値。
b) モードパラメタが保存された値から回復されて以降、MODE SELECT コマンドが一度も正常終
了していない場合には、モードパラメタの保存された値(6.7 を参照)。
c) モードパラメタがデフォルト値により初期化されて以降、MODE SELECT コマンドが一度も正
常終了していない場合には、モードパラメタのデフォルト値(6.7 を参照)。
6.9.3
可変の値
PC フィールドに 01b が指定された場合、デバイスサーバはモードパラメタの値が可変であるこ
とを示すマスクを返すことが要求される。マスク内のビットは、モードパラメタ内の可変な
フィールドに対しては全て 1 に設定されなければならず、モードパラメタ内の不変な(すなわち、
論理ユニットにより定義される)フィールドに対しては全て 0 に設定されなければならない。
論理ユニットがモードページの可変パラメタをサポートせず、かつ、デバイスサーバが PC
フィールドに 01b が設定された MODE SENSE コマンドを受信した場合、コマンドはステータスが
CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB で
終了されなければならない。
MODE SELECT コマンドにより不変のモードパラメタを変更しようとする場合はエラー状態となら
なければならない(6.7 を参照)。
アプリケーションクライアントは MODE SELECT コマンドの発行に先立ち、どのモードページがサ
ポートされるのか、モードページ内のどのモードパラメタが可変なのか、および各モードページ
でサポートされる長さを取得するために、PC フィールドに 01b、PAGE CODE フィールドに 3Fh を設
定した MODE SENSE コマンドを発行するべきである。
6.9.4
デフォルト値
PC フィールドに 10b が指定された場合、デバイスサーバはモードパラメタのデフォルト値を返
すよう要求される。サポートされないパラメタには 0 が設定されなければならない。デフォルト
値は論理ユニットが利用可能でない場合においてもアクセス可能であるべきである。
181
SCSI Primary Commands - 3 (SPC-3)
6.9.5
保存された値
PC フィールドに 11b が指定された場合、デバイスサーバはモードパラメタの保存された値を返
すよう要求される。論理ユニットによりサポートされないモードパラメタの値には 0 が設定され
なければならない。保存された値がサポートされない場合は、コマンドはステータスが CHECK
CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが SAVING PARAMETERS NOT
SUPPORTED で終了されなければならない。
パラメタを保存する方法はベンダ固有である。パラメタはデバイスの電源が落とされた時にも
維持されるような方法により保存される。全ての保存可能なモードページは、SP ビットに 1 を設
定した MODE SELECT コマンドが GOOD ステータスで完了した時か、あるいは FORMAT UNIT コマンド
が正常終了した場合には、保存されているものと見なされるべきである。
6.9.6
初期応答
論理ユニットリセット後、デバイスサーバは下記の方法により応答しなければならない。
a) デフォルト値が要求される場合は、デフォルト値を報告する。
b) 保存された値が要求される場合は、回復された正当なモードパラメタの値を報告するか、
あるいはモードパラメタの値を回復してそれを報告する。保存されたモードパラメタの値
をベンダ固有の不揮発性格納領域から取得できない場合は、コマンドはステータスが CHECK
CONDITION、センスキーが NOT READY で終了されなければならない。パラメタの保存が実装
されない場合は、6.9.5 の定義に従い応答する。
c) 現在の値が要求され、かつ、現在の値が MODE SELECT コマンドによりアプリケーションク
ライアントにより送信済みであった場合、現在の値が返されなければならない。現在の値
がまだ送信されていない場合は、デバイスサーバは下記を返さなければならない。
A) パラメタの保存がサポートされ、かつ、保存された値が利用可能な場合には、保存され
た値。
B) デフォルト値。
182
SCSI Primary Commands - 3 (SPC-3)
6.10
MODE SENSE(10)コマンド
MODE SENSE(10)コマンド(表 100 を参照)は、デバイスサーバがアプリケーションクライアン
トにパラメタを報告する方法を提供する。これは MODE SELECT(10)コマンドと相補的なコマンド
である。MODE SENSE(10)コマンドを実装するデバイスサーバは MODE SELECT(10)コマンドもま
た実装しなければならない。
表100 MODE SENSE(10)コマンド
Bit
Byte
7
6
0
5
4
3
2
1
0
操作コード( OPERATION CODE )( 5Ah )
1
予約済み
2
LLBAA
PC
DBD
予約済み
ページコード( PAGE CODE )
サブページコード( SUBPAGE CODE )
3
4
予約済み
6
7
(MSB)
アロケーション長( ALLOCATION LENGTH )
8
9
(LSB)
コントロール( CONTROL )
long LBA の受け入れ(Long LBA Accepted:LLBAA)ビットに 1 が設定された場合は、デバイス
サーバは LONGLBA ビットに 1 を設定したパラメタデータを返すことが許可される(7.4.3 を参照)。
LLBAA ビットに 0 が設定された場合は、デバイスサーバから返されるパラメタデータ内の LONGLBA
ビットには 0 が設定されなければならない。
本コマンドにおける、その他のフィールドと操作については MODE SENSE(6)コマンド(6.9 を
参照)を参照のこと。
183
SCSI Primary Commands - 3 (SPC-3)
6.11
6.11.1
PERSISTENT RESERVE IN コマンド
PERSISTENT RESERVE IN コマンドの序論
PERSISTENT RESERVE IN コマンド(表 101 を参照)は、デバイスサーバで現在有効な永続予約と
予約キー(すなわち、登録)についての情報を取得するために使用される。このコマンドは
PERSISTENT RESERVE OUT コマンドと相補的に使用される(6.12 を参照)。
表101 PERSISTENT RESERVE IN コマンド
Bit
7
Byte
6
0
5
4
3
2
1
0
操作コード( OPERATION CODE )( 5Eh )
1
予約済み
2
サービスアクション( SERVICE ACTION )
予約済み
6
(MSB)
7
アロケーション長( ALLOCATION LENGTH )
8
(LSB)
9
コントロール( CONTROL )
ALLOCATION LENGTH フィールドについては 4.3.4.6 で規定される。PERSISTENT RESERVE IN パラ
メタデータには、返却可能なパラメタデータのバイト長を示す長さフィールドが含まれている。
アロケーション長には、指定されたサービスアクションにおける長さフィールドを返却するため
に必要十分な大きさを指定するべきである。
PERSISTENT RESERVE IN コマンドのサービスアクションコードは表 102 で定義される。
表102 PERSISTENT RESERVE IN サービスアクションコード
値
名前
説明
参照
00h
READ KEYS
5.6.5.2 の規定に従い、登録された予約キー(す 6.11.2
なわち、登録)を全て読み込む。
01h
READ RESERVATION
5.6.5.3 の規定に従い、現在の永続予約を読み込 6.11.3
む。
02h
REPORT CAPABILITIES 能力に関する情報を返す。
6.11.4
03h
READ FULL STATUS
全ての登録と永続予約についての完全な情報を
読み込む。
6.11.5
予約済み
予約済み
04h~1Fh
6.11.2
READ KEYS サービスアクション
READ KEYS サービスアクションはデバイスサーバに対して、現在登録されている I_T ネクサスの
予約キーのリストとヘッダを含むパラメタリストを返すよう要求する。同一の予約キーで複数の
I_T ネクサスが登録されている場合、そのような登録毎にキーの値は複数回繰り返しリストに現れ
なければならない。
READ KEYS の詳細な情報については 5.6.5.2 を参照のこと。
184
SCSI Primary Commands - 3 (SPC-3)
READ KEYS サービスアクションを設定した PERSISTENT RESERVE IN コマンドのレスポンスとして
返されるパラメタデータのフォーマットは表 103 に示される。
表103 READ KEYS における PERSISTENT RESERVE IN パラメタデータ
Bit
7
Byte
0
6
5
4
3
2
1
0
(MSB)
PRGENERATION
3
(MSB)
4
(LSB)
追加長( ADDITIONAL LENGTH )( n-7 )
(LSB)
7
予約キーのリスト
8
(MSB)
最初の予約キー
15
(LSB)
…
n-7
(MSB)
最後の予約キー
n
(LSB)
永続予約の世代(Persistent Reservations Generation:PRGENERATION)フィールドには、デバイス
サーバにより管理される 32 ビットのカウンタが格納されなければならない。これは、REGISTER
サービスアクション、REGISTER AND IGNORE EXISTING KEY サービスアクション、REGISTER AND
MOVE サービスアクション、CLEAR サービスアクション、PREEMPT サービスアクション、PREEMPT
AND ABORT サービスアクションが設定された PERSISTENT RESERVE OUT コマンドが実行される都度
加算されなければならない。カウンタは PERSISTENT RESERVE IN コマンドや、RESERVE ないし
RELEASE サービスアクションを設定した PERSISTENT RESERVE OUT コマンド、あるいは、エラーや
予約の競合により中断された PERSISTENT RESERVE OUT コマンドによっては加算されてはならない。
APTPL ビットの値によらず、PRGENERATION の値は電源投入時に 0 に初期化されなければならない。
ADDITIONAL LENGTH フィールドには、予約キーリストのバイト数が格納される。ADDITIONAL
LENGTH フィールドと CDB の ALLOCATION LENGTH フィールドの関係については 4.3.3.6 を参照のこ
と。
予約キーリストには、登録されている全ての I_T ネクサスに対する 8 バイトの予約キーが格納さ
れる。
6.11.3
6.11.3.1
READ RESERVATION サービスアクション
READ RESERVATION サービスアクションの序論
READ RESERVATION サービスアクションは、ヘッダおよびデバイスサーバに現在登録されている
永続予約を含むパラメタリストを返すよう、デバイスサーバに対して要求する。
READ RESERVATION の詳細な情報については 5.6.5.3 を参照のこと。
6.11.3.2
READ RESERVATION の PERSISTENT RESERVE IN パラメタデータのフォーマット
永続予約が保持されていない場合における、READ RESERVATION サービスアクションが設定され
た PERSISTENT RESERVE IN コマンドのレスポンスにおけるパラメタデータのフォーマットは表 104
に示される。
185
SCSI Primary Commands - 3 (SPC-3)
表104 永続予約が存在しない場合の READ RESERVATION の PERSISTENT RESERVE IN パラメタデータ
Bit
Byte
0
7
6
4
3
2
1
0
(MSB)
PRGENERATION
3
4
5
(LSB)
(MSB)
追加長( ADDITIONAL LENGTH )( 0 )
(LSB)
7
PRGENERATION フィールドは、READ KEYS サービスアクションが設定された PERSISTENT RESERVE IN コ
マンドのパラメタデータ(6.11.2 を参照)の定義に従わなければならない。
ADDITIONAL LENGTH フィールドは 0 でなければならず、永続予約が存在しないことを示す。
永続予約が保持されている場合における、READ RESERVATION サービスアクションが設定された
PERSISTENT RESERVE IN コマンドのレスポンスとして返されるパラメタデータのフォーマットは表
105 に示される。
表105 永続予約が存在する場合の READ RESERVATION の PERSISTENT RESERVE IN パラメタデータ
Bit
Byte
0
7
5
4
3
2
1
PRGENERATION
(LSB)
(MSB)
追加長( ADDITIONAL LENGTH )( 10h )
(LSB)
7
8
0
(MSB)
3
4
6
(MSB)
予約キー( RESERVATION KEY )
15
(LSB)
16
廃止済み
19
20
21
予約済み
スコープ( SCOPE )
種別( TYPE )
22
廃止済み
23
PRGENERATION フィールドは、READ KEYS サービスアクションが設定された PERSISTENT RESERVE IN コ
マンドのパラメタデータの定義に従わなければならない。
ADDITIONAL LENGTH フィールドは後続するバイト数を保持し、16 が設定されなければならない。
ADDITIONAL LENGTH フィールドと CDB の ALLOCATION LENGTH フィールドの関係については 4.3.4.6
を参照のこと。
RESERVATION KEY フィールドには、永続予約を保持している予約キーが設定されなければならな
い(5.6.9 を参照)。
SCOPE フィールドには LU_SCOPE が設定されなければならない(6.11.3.3 を参照)。
TYPE フィールドには、永続予約を生成する時に PERSISTENT RESERVE OUT コマンドで指定された
永続予約の種別(6.11.3.4 を参照)が設定されなければならない。
16 バイト目から 19 バイト目、22 バイト目、23 バイト目の廃止済みのフィールドは、以前の標
186
SCSI Primary Commands - 3 (SPC-3)
準で定義されていた。
6.11.3.3
永続予約のスコープ
SCOPE フィールド(表 106 を参照)には LU_SCOPE が設定されなければならず、永続予約が論理
ユニット全体に適用されることを示す。
表106 永続予約のスコープの値
値
0h
名前
LU_SCOPE
説明
永続予約は論理ユニット全体に適用
される
1h~2h
廃止済み
3h~Fh
予約済み
LU_SCOPE は PERSISTENT RESERVE OUT コマンドを実装する全てデバイスで実装されなければなら
ない。
6.11.3.4
永続予約の種別
TYPE フィールド(表 107 を参照)は、論理ユニット内の全ての論理ブロックに対して確立され
ている永続予約の特性を指定する。表 31(5.6.1 を参照)は、本標準で定義されるコマンド毎に、
永続予約の種別毎実行が許可されるか否か定義している。その他のコマンド標準(3.1.18 を参
照)では、それぞれのコマンド標準で定義されるコマンド毎に、永続予約の種別類毎に実行が許
可されるか否か定義している。
表107 永続予約の種別コード
値
名前
0h
1h
廃止済み
書込排他(Write
Exclusive)
2h
3h
説明
アクセス制限:いくつかのコマンド(例えば、メディアアク
セス書き込みコマンド)は永続予約の保持者に対してのみ許
可される(5.6.9 を参照)。
永続予約の保持者:永続予約の保持者は 1 つのみである。
廃止済み
排他アクセス
アクセス制限:いくつかのコマンド(例えば、メディアアク
(Exclusive Access) セスコマンド)は永続予約の保持者に対してのみ許可される
(5.6.9 を参照)。
永続予約の保持者:永続予約の保持者は 1 つのみである。
4h
廃止済み
5h
書込排他-登録者限定
(Write Exclusive
Registrants Only)
アクセス制限:いくつかのコマンド(例えば、メディアアク
セス書き込みコマンド)は登録された I_T ネクサスに対して
のみ許可される。
永続予約の保持者:永続予約の保持者は 1 つのみである
(5.6.9 を参照)。
6h
排他アクセス-登録者
限定(Exclusive
Access Registrants
Only)
アクセス制限:いくつかのコマンド(例えば、メディアアク
セスコマンド)は登録された I_T ネクサスに対してのみ許可
される。
永続予約の保持者:永続予約の保持者は 1 つのみである
(5.6.9 を参照)。
187
SCSI Primary Commands - 3 (SPC-3)
7h
書込排他-全登録者
(Write ExclusiveAll Registrants)
アクセス制限:いくつかのコマンド(例えば、メディアアク
セス書き込みコマンド)は登録された I_T ネクサスに対して
のみ許可される。
永続予約の保持者:登録されたそれぞれの I_T ネクサスは永
続予約の保持者となる(5.6.9 を参照)。
8h
排他アクセス-全登録
者(Exclusive
Access-All
Registrants)
アクセス制限:いくつかのコマンド(例えば、メディアアク
セスコマンド)は登録された I_T ネクサスに対してのみ許可
される。
永続予約の保持者:登録されたそれぞれの I_T ネクサスは永
続予約の保持者となる(5.6.9 を参照)。
9h~Fh 予約済み
6.11.4
REPORT CAPABILITIES サービスアクション
REPORT CAPABILITIES サービスアクションは、デバイスサーバに対して永続予約の特性に関する
情報を返すよう要求する。
REPORT CAPABILITIES サービスアクションが設定された PERSISTENT RESERVE IN コマンドのレス
ポンスとして提供されるパラメタデータのフォーマットは表 108 に示される。
表108 REPORT CAPABILITIES の PERSISTENT RESERVE IN パラメタデータ
Bit
Byte
0
7
6
5
4
3
2
1
0
(MSB)
長さ( LENGTH )( 0008h )
(LSB)
1
2
3
CRH
予約済み
TMV
SPI_C
ATP_C
予約済み
予約済み
PTPL_C
PTPL_A
4
永続予約種別マスク( PERSISTENT RESERVATION TYPE MASK )
5
6
予約済み
7
LENGTH フィールドはパラメタデータのバイト長を指定する。LENGTH フィールドと CDB の
ALLOCATION LENGTH フィールドの関係については 4.3.4.6 を参照のこと。
互換予約の処理(Compatible Reservation Handling:CRH)ビットに 1 が設定された場合、デバ
イスサーバが 5.6.3 で規定される SPC-2 の RESERVE と RELEASE コマンドの例外をサポートすること
を示す。CRH ビットが 0 であれば、RESERVE(6)コマンド、RESERVE(10)コマンド、
RELEASE(6)コマンド、RELEASE(10)コマンドは SPC-2 の規定に従い処理される。
特定イニシエータポート可能(Specify Initiator Port Capable:SIP_C)ビットに 1 が設定され
た場合は、デバイスサーバが PERSISTENT RESERVE OUT コマンドのパラメタデータ内で SPEC_I_PT
ビット(6.12.3 を参照)をサポートすることを示す。SIP_C ビットに 0 が設定された場合は、デ
バイスサーバが PERSISTENT RESERVE OUT コマンドのパラメタデータ内で SPEC_I_PT ビットをサ
ポートしないことを示す。
全ターゲットポート可能(All Target Ports Capable:ATP_C)ビットに 1 が設定された場合は、
デバイスサーバが PERSISTENT RESERVE OUT コマンドのパラメタデータ内で ALL_TG_PT ビットをサ
ポートすることを示す。ATP_C ビットに 0 が設定された場合は、デバイスサーバが PERSISTENT
RESERVE OUT コマンドのパラメタデータ内で ALL_TG_PT ビットをサポートしないことを示す。
188
SCSI Primary Commands - 3 (SPC-3)
電源喪失を通じて永続可能(Persist Through Power Loss Capable:PTPL_C)ビットに 1 が設定
された場合、デバイスサーバが電源喪失時にも永続予約を保持する能力(5.6.4 を参照)と、
PERSISTENT RESERVE OUT コマンドのパラメタデータ内で APTPL ビットをサポートすることを示す。
PTPL_C ビットに 0 が設定された場合は、デバイスサーバが電源喪失を通じて永続する能力をサ
ポートしないことを示す。
種別マスク準拠(Type Mask Valid:TMV)ビットに 1 が設定された場合は、PERSISTENT
RESERVATION TYPE MASK フィールドに、デバイスサーバによりサポートされる永続予約の種別を示
すビットマップが格納されることを示す。TMV ビットが 0 に設定された場合は、PERSISTENT
RESERVATION TYPE MASK フィールドが無視されなければならないことを示す。
電源喪失を通じた永続の有効化(Persist Through Power Loss Activated:PTPL_A)ビットに 1
が設定された場合は、電源喪失を通じて永続する能力(5.6.4 を参照)が有効化されていることを
示す。PTPL_A ビットに 0 が設定されている場合は、電源喪失を通じて永続する能力が有効化され
ていないことを示す。
PERSISTENT RESERVATION TYPE MASK フィールド(表 109 を参照)は、デバイスサーバでサポー
トされる永続予約の種別を示すビットマップが格納される。
表109 永続予約種別マスクのフォーマット
Bit
Byte
4
5
7
6
5
4
3
2
1
0
WR_EX_AR
EX_AC_RO
WR_EX_RO
予約済み
EX_AC
予約済み
WR_EX
予約済み
予約済み
EX_AC_AR
書込排他-全登録者(Write Exclusive-All Registrants:WR_EX_AR)ビットに 1 が設定されてい
た場合、デバイスサーバが書込排他-全登録者型の永続予約をサポートすることを示す。WR_EX_AR
ビットに 0 が設定されていた場合は、デバイスサーバが書込排他-全登録者型の永続予約をサポー
トしないことを示す。
排他アクセス-登録者限定(Exclusive Access-Registrants Only:EX_AC_RO)ビットに 1 が設定
されていた場合は、デバイスサーバが排他アクセス-登録者限定型の永続予約をサポートすること
を示す。EX_AC_RO ビットに 0 が設定されていた場合は、デバイスサーバが排他アクセス-登録者限
定型の永続予約をサポートしないことを示す。
書込排他-登録者限定(Write Exclusive-Registrants Only:WR_EX_RO)ビットに 1 が設定されて
いた場合は、デバイスサーバが書込排他-登録者限定型の永続予約をサポートすることを示す。
WR_EX_RO ビットに 0 が設定されていた場合は、デバイスサーバが書込排他-登録者限定型の永続予
約をサポートしないことを示す。
排他アクセス(Exclusive Access:EX_AC)ビットに 1 が設定されていた場合は、デバイスサー
バが排他アクセス型の永続予約をサポートすることを示す。EX_AC ビットに 0 が設定されていた場
合は、デバイスサーバが排他アクセス型の永続予約をサポートしないことを示す。
書込排他(Write Exclusive:WR_EV)ビットに 1 が設定されていた場合は、デバイスサーバが書
込排他型の永続予約をサポートすることを示す。WR_EX ビットに 0 が設定されていた場合は、デバ
イスサーバが書込排他型の永続予約をサポートしないことを示す。
排他アクセス-全登録者(Exclusive Access-All Registrants:EX_AC_AR)ビットに 1 が設定さ
れていた場合は、デバイスサーバが排他アクセス-全登録者型の永続予約をサポートすることを示
す。EX_AC_AR ビットに 0 が設定されていた場合は、デバイスサーバが排他アクセス-全登録者型の
永続予約をサポートしないことを示す。
189
SCSI Primary Commands - 3 (SPC-3)
6.11.5
READ FULL STATUS サービスアクション
READ FULL STATUS サービスアクションは、論理ユニットに現在登録されている各 I_T ネクサス
の登録と永続予約の状態を記述するパラメタリストを返すよう、デバイスサーバに対して要求す
る。
READ FULL STATUS の詳細な情報については 5.6.5.4 を参照のこと。
READ FULL STATUS サービスアクションを設定した PERSISTENT RESERVE IN コマンドのレスポン
スとして提供されるパラメタデータのフォーマットは表 110 で示される。
表110 READ FULL STATUS の PERSISTENT RESERVE IN パラメタデータ
Bit
Byte
0
7
6
5
4
3
2
1
0
(MSB)
PRGENERATION
(LSB)
3
4
(MSB)
追加長( ADDITIONAL LENGTH )( n-7 )
7
(LSB)
完全ステータス記述子
8
最初の完全ステータス記述子(表 111 を参照)
…
最後の完全ステータス記述子(表 111 を参照)
n
PRGENERATION フィールドは READ KEYS サービスアクションを設定した PERSISTENT RESERVE IN コマ
ンド(6.11.2 を参照)の定義に従わなければならない。
ADDITIONAL LENGTH フィールドは完全ステータス記述子として後続するバイト数を指定する。
ADDITIONAL LENGTH フィールドと CDB の ALLOCATION LENGTH フィールドの関係については 4.3.4.6
で規定される。
完全ステータス記述子のフォーマットは表 111 に示される。それぞれの完全ステータス記述子は
1 つないし複数の登録された I_T ネクサスについて記述する。デバイスサーバは登録された全ての
I_T ネクサスについて、永続予約ステータス情報を返さなければならない。
190
SCSI Primary Commands - 3 (SPC-3)
表111 PERSISTENT RESERVE IN 完全ステータス記述子のフォーマット
Bit
Byte
0
7
6
5
4
3
2
1
0
(MSB)
予約キー( RESERVATION KEY )
7
8
(LSB)
予約済み
11
12
予約済み
13
ALL_TG_PT
スコープ( SCOPE )
14
R_HOLDER
種別( TYPE )
予約済み
17
18
(MSB)
19
20
相対ターゲットポート識別子
( RELATIVE TARGET PORT IDENTIFIER )
(LSB)
(MSB)
追加記述子長( ADDITIONAL DESCRIPTOR LENGTH )( n-23 )
23
(LSB)
24
TransportID ( TRANSPORTID )
n
RESERVATION KEY フィールドには予約キーが格納される。
予約保持者(Reservation Holder:R_HOLDER)ビットに 1 が設定された場合は、当該の完全ス
テータス記述子で記述される全ての I_T ネクサスは登録済みであり、かつ永続予約の保持者であ
ることを示す(5.6.9 を参照)。R_HOLDER ビットに 0 が設定された場合、当該の完全ステータス
記述子で記述される全ての I_T ネクサスは登録されているが、しかし永続予約の保持者ではない
ことを示す。
全ターゲットポート(All Target Ports:ALL_TG_PT)ビットに 0 が設定された場合は、当該の
完全ステータス記述子が単一の I_T ネクサスを表していることを示す。ALL_TG_PT ビットに 1 が設
定されている場合は下記の全てを表す。
a) 当該の完全ステータス記述子が下記両方に関連づけられている全ての I_T ネクサスを表す。
A) TRANSPORTID フィールドで指定されるイニシエータポート。
B) SCSI ターゲットデバイスにおける全てのターゲットポート。
b) 全ての I_T ネクサスは同一の予約キーにより登録されている。
c) 全ての I_T ネクサスは R_HOLDER ビットの指定に従い、永続予約の保持者であるか、あるい
は永続予約の保持者ではないかのいずれかである。
デバイスサーバは ALL_TG_PT ビットを 1 に設定して返すことは要求されない。その代わりに、
I_T ネクサス毎に分離した完全ステータス記述子を返すことが可能である。
R_HOLDER ビットに 1 が設定された場合(すなわち、当該の完全ステータス記述子で記述される
I_T ネクサスが永続予約の保持者である場合)、SCOPE フィールドと TYPE フィールドは READ
RESERVATION サービスアクションにおけるパラメタデータの規定に従う。R_HOLDER ビットに 0 が
設定された場合は、SCOPE と TYPE フィールドの内容は本標準では規定されない。
ALL_TG_PT ビットに 0 が設定された場合は、RELATIVE TARGET PORT IDENTIFIER フィールドには、
191
SCSI Primary Commands - 3 (SPC-3)
当該完全ステータス記述子により記述される I_T ネクサスの一部であるターゲットポートの相対
ターゲットポート識別子(3.1.88 を参照)が格納される。ALL_TG_PT ビットに 1 が設定された場
合は、RELATIVE TARGET PORT IDENTIFIER フィールドの内容は、本標準では規定されない。
ADDITIONAL DESCRIPTOR LENGTH フィールドは記述子として後続するバイト数(すなわち、
TransportID のサイズ)を指定する。
TRANSPORTID フィールドは、当該の完全ステータス記述子で記述される I_T ネクサスの一部を構
成するイニシエータポートを識別する TransportID(7.5.4 を参照)を指定する。
6.12
6.12.1
PERSISTENT RESERVE OUT コマンド
PERSISTENT RESERVE OUT コマンドの序論
PERSISTENT RESERVE OUT コマンド(表 112 を参照)は、特定の I_T ネクサスで排他的もしくは
共有的な使用のために論理ユニットを予約するサービスアクションを要求するために使用される。
そのような永続予約を管理あるいは削除するために、本コマンドでその他のサービスアクション
が使用される。
PERSISTENT RESERVE OUT サービスアクションを実行する I_T ネクサスは、アプリケーションク
ライアントにより提供される登録された予約キーにより識別される。アプリケーションクライア
ントは、永続予約を保持している I_T ネクサスにおける予約キーを取得するために PERSISTENT
RESERVE IN コマンドを使用することが可能であり、かつ、その永続予約を剥奪するために
PERSISTENT RESERVE OUT コマンドを使用することが可能である。
表112 PERSISTENT RESERVE OUT コマンド
Bit
Byte
7
6
0
5
4
3
2
1
0
操作コード( OPERATION CODE )( 5Fh )
1
予約済み
サービスアクション( SERVICE ACTION )
スコープ( SCOPE )
2
3
種別( TYPE )
予約済み
4
5
(MSB)
パラメタリスト長( PARAMETER LIST LENGTH )
8
9
(LSB)
コントロール( CONTROL )
PERSISTENT RESERVE OUT コマンドが呼び出されたが、操作を完了するために必要となるデバイ
スサーバのリソースが不足する場合は、コマンドはステータスが CHECK CONDITION、センスキーが
ILLEGAL REQUEST、追加センスコードが INSUFFICIENT REGISTRATION RESOURCES で終了されなけれ
ばならない。
PERSISTENT RESERVE OUT コマンドには、永続予約のサービスアクション、目的とする永続予約
のスコープ、永続予約の制限についての規約を指定するフィールドが含まれる。TYPE と SCOPE
フィールドについては 6.11.3.3 と 6.11.3.4 で規定される。SCOPE フィールドで実装されていない
スコープが指定された場合、コマンドはステータスが CHECK CONDITION、センスキーが ILLEGAL
REQUEST、追加センスコードが INVALID FIELD IN CDB で終了されなければならない。
PERSISTENT RESERVE OUT パラメタリストに含まれるフィールドは、特定の永続予約サービスア
クションを実行するために必要となる情報を指定する。
PARAMETER LIST LENGTH フィールドは PERSISTENT RESERVE OUT コマンドにおけるパラメタデー
タのバイト長を指定する。
192
SCSI Primary Commands - 3 (SPC-3)
下記両方の条件が真であれば、パラメタリストの長さは 24 バイトでなければならず、かつ、
PARAMETER LIST LENGTH フィールドには 24(18h)が指定されなければならない。
a) SPEC_I_PT ビット(6.12.3 を参照)が 0 である。
b) サービスアクションが REGISTER AND MOVE ではない。
SPEC_I_PT ビットが 0 であり、サービスアクションが REGISTER AND MOVE ではなく、パラメタリ
スト長が 24 でなければ、コマンドはステータスが CHECK CONDITION、センスキーが ILLEGAL
REQUEST、追加センスコードが PARAMETER LIST LENGTH ERROR で終了されなければならない。
パラメタリスト長がデバイスサーバで処理可能な長さより長い場合、コマンドはステータスが
CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが PARAMETER LIST LENGTH
ERROR で終了されるべきである。
6.12.2
PERSISTENT RESERVE OUT サービスアクション
PERSISTENT RESERVE OUT サービスアクションを実行する際、デバイスサーバは 6.11.2 の規定に
従い PRGENERATION の値を加算しなければならない。
PERSISTENT RESERVE OUT コマンドのサービスアクションは表 113 で定義される。
表113 PERSISTENT RESERVE OUT サービスアクションコード
値
名前
説明
PRGENERATION フィー パラメタリストの
ルドの加算
フォーマット
(6.11.2 を参照)
00h
REGISTER
デバイスサーバに予約キーを登録す
る(5.6.6 を参照)または予約キーの
登録を削除する(5.6.10.3 を参照)。
加算する
基本
(6.12.3 を参照)
01h
RESERVE
指定された SCOPE と TYPE を持つ永続
予約を生成する(5.6.8 を参照)。永
続予約の SCOPE と TYPE は 6.11.3.3 と
6.11.3.で定義される。
加算しない
基本
(6.12.3 を参照)
02h
RELEASE
選択された永続予約を解放する
(5.6.10.2 を参照)。
加算しない
基本
(6.12.3 を参照)
03h
CLEAR
全ての予約キー(すなわち、登録)
と全ての永続予約をクリアする
(5.6.10.6 を参照)。
加算する
基本
(6.12.3 を参照)
04h
PREEMPT
永続予約を剥奪する、ないし登録を
削除する(5.6.10.4 を参照)。
加算する
基本
(6.12.3 を参照)
05h
PREEMPT AND 永続予約の剥奪、ないし登録の削除
ABORT
と剥奪された全ての I_T ネクサスに
おける全てのタスクを中止する
(5.6.10.4 と 5.6.10.5 を参照)
加算する
基本
(6.12.3 を参照)
06h
REGISTER
AND IGNORE
EXISTING
KEY
予約キーをデバイスサーバに登録す
る(5.6.6 を参照)、あるいは予約
キーの登録を削除する(5.6.10.3 を
参照)。
加算する
基本
(6.12.3 を参照)
07h
REGISTER
AND MOVE
デバイスサーバに他の I_T ネクサス
のための予約キーを登録し、かつ永
加算する
登録と移動
(6.12.4 を参照)
193
SCSI Primary Commands - 3 (SPC-3)
続予約をその I_T ネクサスに移動す
る(5.6.7 を参照)。
08h~1Fh 予約済み
6.12.3
基本 PERSISTENT RESERVE OUT パラメタリスト
表 114 で示されるパラメタリストのフォーマットは REGISTER AND MOVE サービスアクション以外
のサービスアクションを設定した PERSISTENT RESERVE OUT コマンドで使用されなければならない。
指定されたサービスアクションとスコープにおいて使用されないフィールドであったとしても、
全てのフィールドが送信されなければならない。
表114 PERSISTENT RESERVE OUT パラメタリスト
Bit
Byte
0
7
6
5
3
2
1
0
(MSB)
予約キー( RESERVATION KEY )
7
8
4
(LSB)
(MSB)
サービスアクション予約キー
( SERVICE ACTION RESERVATION KEY )
15
(LSB)
16
廃止済み
19
20
21
予約済み
SPEC_I_PT
ALL_TG_PT
予約済み
APTPL
予約済み
22
廃止済み
23
24
追加パラメタデータ
n
16 バイト目から 19 バイト目、22 バイト目、23 バイト目の廃止済みのフィールドは以前の標準
で規定されていた。
RESERVATION KEY フィールドには、PERSISTENT RESERVE OUT コマンドの送信元である I_T ネクサ
スを識別するために、アプリケーションクライアントからデバイスサーバに提供される 8 バイト
の値が格納される。デバイスサーバは、PERSISTENT RESERVE OUT コマンドのパラメタデータ内に
存在する RESERVATION KEY フィールドの値を、コマンドを受信した I_T ネクサスにおいて登録さ
れている予約キーの値と比較することにより検証しなければならない。ただし、下記の場合は除
外する。
a) REGISTER AND IGNORE EXISTING KEY サービスアクションでは RESERVATION KEY フィールド
は無視されなければならない。
b) 未登録の I_T ネクサスにおける REGISTER サービスアクションでは RESERVATION KEY フィー
ルドに 0 が設定されなければならない。
上記の注意を除き、PERSISTENT RESERVE OUT コマンドで RESERVATION KEY フィールドに当該の
I_T ネクサスで登録された予約キー以外が指定されていた場合は、デバイスサーバは RESERVATION
CONFLICT ステータスを返さなければならない。上記の注意を除き、I_T ネクサスの予約キーは
SERVICE ACTION と SCOPE フィールドの値にかかわらず、正しいことが検証されなければならない。
SERVICE ACTION RESERVATION KEY フィールドには、REGISTER、REGISTER AND IGNORE EXISTING
KEY、PREEMPT、PREEMPT AND ABORT の各サービスアクションで必要となる情報を指定する。
194
SCSI Primary Commands - 3 (SPC-3)
SERVICE ACTION RESERVATION KEY フィールドは RESERVE、RELEASE、CLEAR の各サービスアクショ
ンでは無視されなければならない。
REGISTER サービスアクションと REGISTER AND IGNORE EXISTING KEY サービスアクションでは、
SERVICE ACTION RESERVATION KEY フィールドには下記いずれかが設定される。
a) RESERVATION KEY フィールドで指定された登録済みの予約キーの代わりに登録される、新し
い予約キーの値を指定する。
b) RESERVATION KEY フィールドで指定された登録済みの予約キーの登録を削除する場合は 0 を
指定する。
PREEMPT サービスアクションと PREEMPT AND ABORT サービスアクションにおいては、SERVICE
ACTION RESERVATION KEY フィールドには下記の予約キーを指定する。
a) 削除される対象となる登録。
b) SERVICE ACTION RESERVATION KEY フィールドが永続予約の保持者を指定する場合は(5.6.9
を参照)、剥奪される対象となる永続予約。
イニシエータポート指定(Specify Initiator Port:SPEC_I_PT)ビットに 0 が設定された場合、
デバイスサーバは PERSISTENT RESERVE OUT コマンドが送信された I_T ネクサスに対してのみ登録
を行わなければならない。REGISTER サービスアクションないし REGISTER AND IGNORE EXISTING
KEY サービスアクションで SPEC_I_PT ビットに 1 が設定された場合、追加パラメタデータには
TransportID のリスト(表 115 を参照)が含まれていなければならず、デバイスサーバは
TransportID で指定された各イニシエータポートの I_T ネクサスに対しても登録を行わなければな
らない。いずれかのイニシエータポートに対する登録が失敗した場合(例えば、論理ユニットで
登録の情報を保持するためのリソースが不足する場合)、他の登録が行われてはならない。
表115 PERSISTENT RESERVE OUT イニシエータポート指定追加パラメタデータ
Bit
Byte
24
27
7
6
5
4
3
2
1
0
TransportID パラメタデータ長
( TRANSPORTID PARAMETER DATA LENGTH )( n-27 )
TransportID のリスト
28
最初の TransportID
…
最後の TransportID
n
TRANSPORTID PARAMETER DATA LENGTH フィールドは後続の TransportID のバイト数を指定する。
下記の場合、コマンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST で終了
されなければならない。
a) CDB のパラメタリスト長の値が、TRANSPORTID PARAMETER DATA LENGTH フィールドで指定さ
れる追加パラメタリストのバイト数全体を含むものではない場合。
b) TRANSPORTID PARAMETER DATA LENGTH フィールドの値が、TransportID を途中で打ち切る結
果となる場合。
TransportID のフォーマットは 7.5.4 で指定される。
195
SCSI Primary Commands - 3 (SPC-3)
全ターゲットポート(All Target Ports:ALL_TG_PT)ビットは、REGISTER サービスアクション、
REGISTER AND IGNORE EXISTING KEY サービスアクションでのみ有効であり、かつ、その他のサー
ビスアクションでは無視されなければならない。ALL_TG_PT ビットのサポートはオプションである。
デバイスサーバが ALL_TG_PT ビットに 1 が設定された REGISTER サービスアクションないし
REGISTER AND IGNORE EXISTING KEY サービスアクションを受信した場合、SCSI ターゲットデバイ
スに存在する、デバイスサーバにとって既知のターゲットポート全てに対して、指定された登録
を生成しなければならない(すなわち、それぞれのターゲットポートを通じて個別に、同一の登
録要求を受信したものとして処理する)。デバイスサーバが ALL_TG_PT ビットに 0 が設定された
REGISTER サービスアクションないし REGISTER AND IGNORE EXISTING KEY サービスアクションを受
信した場合、登録は PERSISTENT RESERVE OUT コマンドを受信したターゲットポートに対してのみ
適用されなければならない。
電源喪失を通じて永続する能力の有効化(Activate Persist Through Power Loss:APTPL)
ビットは REGISTER サービスアクションと REGISTER AND IGNORE EXISTING KEY サービスアクショ
ンでのみ有効であり、それ以外の全てのサービスアクションでは無視されなければならない。
APTPL ビットに 1 を設定することのサポートはオプションである。デバイスサーバが APTPL ビット
に 1 を設定することをサポートしておらず、かつ、APTPL ビットに 1 を設定した REGISTER サービ
スアクションまたは REGISTER AND IGNORE EXISTING KEY サービスアクションを受信した場合、コ
マンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが
INVALID FIELD IN PARAMETER LIST で終了されなければならない。
デバイスサーバで受信した最後の正当な APTPL ビットの値が 0 であれば、SCSI ターゲットデバ
イスでの電源喪失時には、論理ユニットの永続予約は解放され、登録された予約キーは全て削除
されなければならない(5.6.5 を参照)。デバイスサーバで受信した最後の正当な APTPL ビットの
値が 1 であれば、論理ユニットは、電源喪失時やその後の回復時においても、存在する可能性の
ある任意の永続予約と、全ての I_T ネクサスに対する全ての予約キー(すなわち、登録)を保持
しなければならない(5.6.4 を参照)。
表 116 は各サービスアクションとスコープの値において、どのフィールドに対してアプリケー
ションクライアントが値を設定し、デバイスサーバが解釈するのかの概要を示している。
表116 PERSISTENT RESERVE OUT サービスアクションと有効なパラメタ
サービスア
クション
許可され
た SCOPE
パラメタ
TYPE
RESERVATION
KEY
SERVICE ACTION
RESERVATION KEY
APTPL
ALL_TG_PT SPEC_I_PT
REGISTER
無視
無視
有効
有効
有効
有効
有効
REGISTER
AND IGNORE
EXISTING
KEY
無視
無視
無視
有効
有効
有効
有効
RESERVE
LU_SCOPE
有効
有効
無視
無視
無視
無視
RELEASE
LU_SCOPE
有効
有効
無視
無視
無視
無視
無視
無視
有効
無視
無視
無視
無視
PREEMPT
LU_SCOPE
有効
有効
有効
無視
無視
無視
PREEMPT AND
ABORT
LU_SCOPE
有効
有効
有効
無視
無視
無視
REGISTER
AND MOVE
LU_SCOPE
有効
有効
有効
CLEAR
196
適用不可 a 適用不可 a 適用不可 a
SCSI Primary Commands - 3 (SPC-3)
(a)REGISTER AND MOVE サービスアクションで使用されるパラメタリストのフォーマットについ
ては 6.12.4 で規定される。
6.12.4 REGISTER AND MOVE サービスアクションを設定した PERSISTENT RESERVE OUT
コマンドのパラメタ
REGISTER AND MOVE サービスアクションを設定した PERSISTENT RESERVE OUT コマンドでは、表
117 に示されるパラメタリストのフォーマットを使用しなければならない。
表117 REGISTER AND MOVE サービスアクションを設定した PERSISTENT RESERVE OUT コマンドのパラメ
タ
Bit
Byte
0
7
6
5
4
3
2
1
0
(MSB)
予約キー( RESERVATION KEY )
7
8
(LSB)
(MSB)
15
サービスアクション予約キー
( SERVICE ACTION RESERVATION KEY )
16
予約済み
17
予約済み
18
(MSB)
19
20
23
24
(MSB)
(LSB)
UNREG
相対ターゲットポート識別子
( RELATIVE TARGET PORT IDENTIFIER )
TransportID パラメタデータ長
( TRANSPORTID PARAMETER DATA LENGTH )( n-23 )
APTPL
(LSB)
(LSB)
TransportID
n
RESERVATION KEY フィールドには、PERSISTENT RESERVE OUT コマンドの送信元である I_T ネクサ
スを識別するために、アプリケーションクライアントからデバイスサーバに提供される 8 バイト
の値が格納される。デバイスサーバは、PERSISTENT RESERVE OUT コマンドのパラメタデータ内の
RESERVATION KEY フィールドの値が、コマンドを受信した I_T ネクサスに対して登録された予約
キーの値と一致するか検証しなければならない。PERSISTENT RESERVE OUT コマンドにおいて、当
該 I_T ネクサスに対して登録された予約キー以外の値が RESERVATION KEY で指定されていた場合
には、デバイスサーバは RESERVATION CONFLICT ステータスを返さなければならない。
SERVICE ACTION RESERVATION KEY フィールドには、指定された I_T ネクサスに対して登録され
なければならない予約キーの値が設定される。
電源喪失を通じて永続する能力の有効化(Activate Persist Through Power Loss:APTPL)
ビットに 1 が設定されることはオプションである。デバイスサーバが APTPL ビットに 1 が設定され
ることをサポートせず、かつ、その値を受信した場合には、ステータスが CHECK CONDITION、セン
スキーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN PARAMETER LIST を返さなけれ
ばならない。
デバイスサーバで最後に受信した有効な APTPL ビットの値が 0 であれば、SCSI ターゲットデバ
イスでの電源喪失時に、論理ユニットにおける永続予約は解放され、全ての登録された予約キー
は削除されなければならない(5.6.5 を参照)。デバイスサーバで最後に受信した有効な APTPL
ビットの値が 1 であれば、論理ユニットは、電源喪失時とその後の回復時においても、存在した
可能性のある任意の永続予約と、全ての I_T ネクサスに対する全ての予約キー(すなわち、登録
者)を保持しなければならない(5.6.4 を参照)。
197
SCSI Primary Commands - 3 (SPC-3)
登録削除(unregister:UNREG)ビットに 0 が指定された場合は、デバイスサーバは REGISTER
AND MOVE サービスアクションを設定した PERSISTENT RESERVE OUT コマンドを受信した I_T ネクサ
スの登録を削除してはならないことを示す。UNREG ビットに 1 が指定された場合は、デバイスサー
バは REGISTER AND MOVE サービスアクションを設定した PERSISTENT RESERVE OUT コマンドを受信
した I_T ネクサスの登録を削除しなければならないことを示す。
RELATIVE TARGET PORT IDENTIFIER フィールドは、永続予約が移動される先となる I_T ネクサス
におけるターゲットポートの相対ポート識別子(3.1.88 を参照)を指定する。
TRANSPORTID DESCRIPTOR LENGTH フィールドは後続する TransportID のバイト数を指定し、最小
24 バイトでなければならず、4 の倍数とならなければならない。
TransportID は永続予約が移動される先となる I_T ネクサスのイニシエータポートを指定する。
TransportID のフォーマットは 7.5.4 で規定される。
下記いずれかの場合には、コマンドはステータスが CHECK CONDITION、センスキーが ILLEGAL
REQUEST で終了されなければならない。
a) CDB のパラメタリスト長フィールドの値が、TRANSPORTID PARAMETER DATA LENGTH フィール
ドで指定されたパラメタリストのバイト数全体を含まない場合。
b) TRANSPORTID PARAMETER DATA LENGTH フィールドの値が、TransportID を途中で打ち切る場
合。
6.13
PREVENT ALLOW MEDIUM REMOVAL コマンド
PREVENT ALLOW MEDIUM REMOVAL コマンド(表 118 を参照)は、論理ユニットに対してメディア
の取り出しの有効化ないし無効化を要求する。いずれかのイニシエータポートでメディアの取り
出しが制限されている場合、論理ユニットはメディアの取り出しを許可してはならない。
表118 PREVENT ALLOW MEDIUM REMOVAL コマンド
Bit
Byte
7
6
5
4
3
2
1
0
操作コード( OPERATION CODE )( 1Eh )
0
1
予約済み
3
制限( PREVENT )
4
予約済み
5
コントロール( CONTROL )
表 119 は PREVENT フィールドの値と意味を定義する。
表119 PREVENT フィールド
PREVENT
説明
00b
データ転送要素と付属型メディアチェンジャの両方でメディアの取り出し
が許可されなければならない。
01b
データ転送要素からのメディアの取り出しは制限されなければならないが、
付属型メディアチェンジャからの取り出しは許可されなければならない。
10ba
データ転送要素ではメディアの取り出しは許可されなければならないが、
付属型メディアチェンジャでは制限されなければならない。
11ba
データ転送要素と付属型メディアチェンジャの両方でメディアの取り出し
が制限されなければならない。
198
SCSI Primary Commands - 3 (SPC-3)
(a)PREVENT の値の 10b と 11b は、標準 INQUIRY データで RMB ビットと MCHNGR ビットの両方に 1 が
設定されている場合のみ有効である(6.4.2 を参照)。
メディアの取り出しの制限は、いずれかのアプリケーションクライアントが PREVENT フィールド
に 01b ないし 11b を設定した PREVENT ALLOW MEDIUM REMOVAL コマンドを発行した時から開始され
なければならない(すなわち、メディアの取り出しが制限される)。論理ユニットにおけるメ
ディア取り出しの制限は、下記いずれかの後には終了されなければならない。
a) 以前にメディアの取り出しが制限されていた各 I_T ネクサスに対して下記いずれかが発生
した。
A) PREVENT フィールドに 00b ないし 10b が設定された PREVENT ALLOW MEDIUM REMOVAL コマ
ンドを受信した。
B) I_T ネクサス喪失が発生した。
b) 電源が投入されされた。
c) ハードリセットが生じた。
d) 論理ユニットリセットが生じた。
可能であれば、デバイスサーバはメディア取り出しの制限を終了する前に、キャッシュの同期
を行わなければならない。
PREEMPT AND ABORT サービスアクションを設定した PERSISTENT RESERVE OUT コマンドにより永
続予約ないし登録が剥奪される場合(5.6.10.5 を参照)、剥奪される永続予約ないし登録に関連
づけられた各 I_T ネクサスに対して、PREVENT フィールドに 0 を設定した PREVENT ALLOW MEDIUM
REMOVAL コマンドと同等の処理を行わなければならない。これはアプリケーションクライアントに
対して、正常に動作しなくなったイニシエータポートにおけるメディア取り出し機能の制限を上
書きすることを可能とする。
メディア取り出しの制限が有効である間、論理ユニットはオペレータによる通常のメディア取
り出しを可能とするメカニズムを制限しなければならない。
199
SCSI Primary Commands - 3 (SPC-3)
6.14
6.14.1
READ ATTRIBUTE コマンド
READ ATTRIBUTE コマンドの序論
READ ATTRIBUTE コマンド(表 120 を参照)はアプリケーションクライアントに対してメディア
補助メモリからの属性値の読み込みを可能とする。
表120 READ ATTRIBUTE コマンド
Bit
Byte
7
6
5
4
3
2
1
0
操作コード( OPERATION CODE )( 8Ch )
0
1
予約済み
サービスアクション( SERVICE ACTION )
2
制限される( SMC-2 を参照)
4
5
ボリューム番号( VOLUME NUMBER )
6
予約済み
7
パーティション番号( PARTITION NUMBER )
8
(MSB)
最初の属性識別子( FIRST ATTRIBUTE IDENTIFIER )
9
10
(LSB)
(MSB)
アロケーション長( ALLOCATION LENGTH )
13
(LSB)
14
予約済み
15
コントロール( CONTROL )
メディアが存在しないことによりメディア補助メモリが使用できない場合は、READ ATTRIBUTE
コマンドはステータスが CHECK CONDITION、センスキーが NOT READY、追加センスコードが MEDIUM
NOT PRESENT で終了されなければならない。
メディアは存在するがメディア補助メモリへアクセスすることができない場合は、READ
ATTRIBUTE コマンドはステータスが CHECK CONDITION、センスキーが MEDIUM ERROR、追加センス
コードが LOGICAL UNIT NOT READY, AUXILIARY MEMORY NOT ACCESSIBLE で終了されなければなら
ない。
メディア補助メモリが動作不能な場合、READ ATTRIBUTE コマンドはステータスが CHECK
CONDITION、センスキーが MEDIUM ERROR、追加センスコードが AUXILIARY MEMORY READ ERROR で終
了されなければならない。
200
SCSI Primary Commands - 3 (SPC-3)
READ ATTRIBUTE コマンドにおけるサービスアクションは表 121 に示される。
表121 READ ATTRIBUTE サービスアクションコード
値
名前
説明
参照
00h
ATTRIBUTE VALUES
属性値を返す。
6.14.2
01h
ATTRIBUTE LIST
利用可能な属性の識別子を返す。識別子には存在しない
状態、あるいはサポートされない状態のものは含まれな
い(5.11 を参照)。
6.14.3
02h
VOLUME LIST
既知のボリューム番号のリストを返す。
6.14.4
03h
PARTITION LIST
既知のパーティション番号のリストを返す。
6.14.5
04h
制限される
05h~1Fh
予約済み
VOLUME NUMBER はメディア補助メモリ内のボリューム(SSC-2 を参照)を指定する。メディア補
助メモリのボリュームの個数は接続されたメディアのものと一致しなければならない。メディア
が単一のボリュームしか保持しない場合、ボリューム番号は 0 でなければならない。
PARTITION NUMBER フィールドはボリューム内のパーティション(SSC-2 を参照)を指定する。メ
ディア補助メモリのパーティションの個数は接続されたメディアのものと一致しなければならな
い。メディアが単一のパーティションしか保持しない場合はパーティション番号には 0 でなけれ
ばならない。
ボリューム番号とパーティション番号の組み合わせが不正な場合、コマンドはステータスが
CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB で
終了されなければならない。
FIRST ATTRIBUTE IDENTIFIER フィールドは、返される対象となる最初の属性の属性識別子を指
定する。指定された属性がサポートされない、あるいは存在しない状態であれば(5.11 を参照)、
READ ATTRIBUTE コマンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加
センスコードが INVALID FIELD IN CDB で終了されなければならない。
ALLOCATION LENGTH フィールドは 4.3.4.6 で定義される。
READ ATTRIBUTE コマンドにより返されるパラメタデータのフォーマットはサービスアクション
の指定に依存する。
6.14.2
ATTRIBUTE VALUES サービスアクション
ATTRIBUTE VALUES サービスアクションを設定した READ ATTRIBUTE コマンドは、CDB 内の
PARTITION NUMBER、VOLUME NUMBER、FIRST ATTRIBUTE IDENTIFIER フィールドで指定された属性を
含むパラメタデータを返す。
返されるパラメタデータには要求された属性値が、属性識別子の値で昇順に整列されて格納さ
れなければならず、かつ、表 122 に示されるフォーマットに従わなければならない。
201
SCSI Primary Commands - 3 (SPC-3)
表122 ATTRIBUTE VALUES サービスアクションの READ ATTRIBUTE パラメタリストのフォーマット
Bit
Byte
0
7
6
5
4
3
2
1
0
(MSB)
有効データ( AVAILABLE DATA )( n-3 )
3
(LSB)
属性
4
属性 0 ( 7.3.1 を参照)
…
属性 x ( 7.3.1 を参照)
n
AVAILABLE DATA フィールドにはパラメタリスト内の属性情報のバイト数が格納されなければな
らない。AVAILABLE DATA フィールドと CDB の ALLOCATION LENGTH フィールドの関係については
4.3.4.6 で規定される。
属性のフォーマットは 7.3.1 で規定される。
6.14.3
ATTRIBUTE LIST サービスアクション
ATTRIBUTE LIST サービスアクションを設定した READ ATTRIBUTE コマンドは、指定されたパー
ティションとボリュームに存在する、未サポート状態や存在しない状態(5.11 を参照)のものを
除いた属性について、属性識別子を含むパラメタデータを返す。CDB の FIRST ATTRIBUTE
IDENTIFIER フィールドの内容は無視されなければならない。返されるパラメタデータには要求さ
れた属性識別子が、属性識別子の値で数値による昇順に整列して格納されなければならず、かつ、
表 123 に示されるフォーマットに従わなければならない。
表123 ATTRIBUTE LIST サービスアクションの READ ATTRIBUTE パラメタリストのフォーマット
Bit
Byte
0
7
6
5
4
3
2
1
0
(MSB)
有効データ( AVAILABLE DATA )( n-3 )
3
(LSB)
属性識別子
4
属性識別子 0
5
…
n-1
n
属性識別子 x
AVAILABLE DATA フィールドにはパラメタリスト内の属性識別子のバイト数が格納されなければ
ならない。AVAILABLE DATA フィールドと CDB の ALLOCATION LENGTH フィールドの関係については
4.3.4.6 で規定される。
ATTRIBUTE IDENTIFIER フィールドは、指定されたパーティションとボリュームに存在する、存
在しない状態や未サポート状態(5.11 を参照)のものを除いたそれぞれの属性について返される。
属性識別子の値については 7.3.2 を参照のこと。
202
SCSI Primary Commands - 3 (SPC-3)
6.14.4
VOLUME LIST サービスアクション
VOLUME LIST サービスアクションを設定した READ ATTRIBUTE コマンドは、サポートされるボ
リュームの個数を識別するパラメタデータ(表 124 を参照)を返す。CDB の VOLUME
NUMBER、PARTITION NUMBER、FIRST ATTRIBUTE IDENTIFIER フィールドの内容は無視されなければ
ならない。
表124 ATTRIBUTE LIST サービスアクションの READ ATTRIBUTE パラメタリストのフォーマット
Bit
Byte
0
7
6
5
4
3
2
1
0
(MSB)
有効データ( AVAILABLE DATA )( 0002h )
1
(LSB)
2
最初のボリューム番号( FIRST VOLUME NUMBER )
3
有効なボリューム数( NUMBER OF VOLUMES AVAILABLE )
AVAILABLE DATA フィールドには 2 が設定されなければならない。AVAILABLE DATA フィールドと
CDB の ALLOCATION LENGTH フィールドとの関係については 4.3.4.6 で規定される。
FIRST VOLUME NUMBER フィールドは最初の有効なボリュームを指定する。ボリュームの番号付け
は 0 から開始されるべきである。
NUMBER OF VOLUMES AVAILABLE フィールドは有効なボリュームの個数を指定する。
6.14.5
PARTITION LIST サービスアクション
PARTITION LIST サービスアクションを設定した READ ATTRIBUTE コマンドは、指定されたボ
リューム番号でサポートされるパーティションの個数を識別するパラメタデータ(表 125 を参
照)を返す。CDB の PARTITION NUMBER と FIRST ATTRIBUTE IDENTIFIER フィールドの内容は無視さ
れなければならない。
表125 PARTITION LIST サービスアクションの READ ATTRIBUTE パラメタリストのフォーマット
Bit
Byte
0
7
6
5
4
3
2
1
0
(MSB)
有効データ( AVAILABLE DATA )( 0002h )
1
(LSB)
2
最初のパーティション番号( FIRST PARTITION NUMBER )
3
有効なパーティション数( NUMBER OF PARTITIONS AVAILABLE )
AVAILABLE DATA フィールドには 2 が設定されなければならない。AVAILABLE DATA フィールドと
CDB の ALLOCATION LENGTH フィールドとの関係については 4.3.4.6 で規定される。
FIRST PARTITION NUMBER フィールドは指定されたボリューム番号で利用可能な最初のパーティ
ション番号を指定する。パーティションの番号付けは 0 から開始されるべきである。
NUMBER OF PARTITIONS AVAILABLE フィールドは指定されたボリューム番号で利用可能なパー
ティションの個数を指定する。
6.15
6.15.1
READ BUFFER コマンド
READ BUFFER コマンドの序論
READ BUFFER コマンド(表 126 を参照)は、SCSI デバイスのメモリテストとサービスデリバリサ
ブシステムの一貫性に関する診断機能のために、WRITE BUFFER コマンドと併せて使用される。こ
203
SCSI Primary Commands - 3 (SPC-3)
のコマンドはメディアを変更してはならない。
表126 READ BUFFER コマンド
Bit
Byte
7
6
0
4
3
2
1
0
操作コード( OPERATION CODE )( 3Ch )
1
予約済み
2
3
5
モード( MODE )
バッファ ID ( BUFFER ID )
(MSB)
バッファオフセット( BUFFER OFFSET )
5
6
(LSB)
(MSB)
アロケーション長( ALLOCATION LENGTH )
8
(LSB)
コントロール( CONTROL )
9
このコマンドの機能と CDB 内のフィールドの意味は MODE フィールドの内容に依存する。MODE
フィールドは表 127 で定義される。
表127 READ BUFFER の MODE フィールド
MODE
説明
00h
ヘッダとデータの複合 a
01h
ベンダ固有 a
02h
データ
03h
記述子
0Ah
エコーバッファ
0Bh
エコーバッファ記述子
1Ah
エキスパンダ通信プロトコルとエコーバッ
ファの有効化
04h~09h 予約済み
0Ch~19h 予約済み
1Bh~1Fh 予約済み
(a)00h と 10h のモードは要求されない。
モードの値が 1 ではない場合の、ALLOCATION LENGTH フィールドについては 4.3.4.6 で規定され
る。
204
SCSI Primary Commands - 3 (SPC-3)
6.15.2
ヘッダとデータの複合モード(00h)
このモードでは、4 バイトのヘッダと後続するデータバイトが、アプリケーションクライアント
の Data-In バッファに返される。アロケーション長は 4 以上に設定されるべきである。BUFFER ID
と BUFFER OFFSET フィールドは予約済みとなる。
4 バイトの READ BUFFER ヘッダ(表 128 を参照)の後にはバッファ内から提供されるデータバイ
トが付加される。
表128 READ BUFFER ヘッダ
Bit
Byte
7
0
1
6
5
4
3
2
1
0
予約済み
(MSB)
バッファ容量( BUFFER CAPACITY )
3
(LSB)
4
データ
n
BUFFER CAPACITY フィールドはバッファ内で有効なデータバイトのバイト数を指定する。バッ
ファ容量は WRITE BUFFER コマンドを用いて実際に書き込まれるバイト数を反映して削減されるこ
とはない。BUFFER CAPACITY フィールドと CDB の ALLOCATION LENGTH フィールドの関係については
4.3.4.6 で定義される。READ BUFFER ヘッダに後続して、デバイスサーバはバッファからデータを
転送しなければならない。
6.15.3
ベンダ固有モード(01h)
このモードでは、BUFFER ID、BUFFER OFFSET、ALLOCATION LENGTH フィールドの意味については
本標準では規定されない。
6.15.4
データモード(02h)
このモードでは、Data-In バッファは論理ユニットのバッファデータのみで満たされる。BUFFER
ID フィールドは論理ユニット内のどのバッファからデータが転送されなければならないのかを指
定する。ベンダはバッファ ID を論理ユニット内のバッファに割り当てる。バッファ ID として 0 が
サポートされなければならない。複数のバッファがサポートされる場合、1 から開始する追加の
バッファ ID コードが連続的に割り当てられなければならない。READ BUFFER コマンドにおける
バッファ ID コードの割り当ては WRITE BUFFER コマンドにおけるものと同一でなければならない。
サポートされないバッファ ID コードが選択された場合、コマンドはステータスが CHECK
CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB で終了さ
れなければならない。
BUFFER OFFSET フィールドには、指定されたバッファ内のどこからデータが転送されなければな
らないのかを指定するバイトオフセットが格納される。アプリケーションクライアントは READ
BUFFER 記述子(6.15.5 を参照)で返されるバッファ境界の要求を満たすべきである。デバイス
サーバが指定されたバッファオフセットを受け入れることができない場合、コマンドはステータ
スが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN
CDB で終了されなければならない。
6.15.5
記述子モード(03h)
このモードでは、最大 4 バイトの READ BUFFER 記述子情報が返される。デバイスサーバは
BUFFER ID フィールドで指定されたバッファについての記述子情報を返さなければならない
(6.15.4 のバッファ ID の記述を参照)。指定されたバッファ ID に割り当てられたバッファが存
205
SCSI Primary Commands - 3 (SPC-3)
在しない場合、デバイスサーバは READ BUFFER 記述子として全て 0 を返さなければならない。
BUFFER OFFSET フィールドは本モードにおいては予約済みとなる。アロケーション長には 4 ないし
それ以上の値が設定されるべきである。READ BUFFER 記述子は表 129 に示されるように定義される。
表129 READ BUFFER 記述子
Bit
Byte
7
6
0
5
4
3
2
1
0
オフセット境界( OFFSET BOUNDARY )
1
バッファ容量( BUFFER CAPACITY )
3
OFFSET BOUNDARY フィールドは後続の WRITE BUFFER や READ BUFFER において選択されるバッ
ファ内の、境界アライメントを返す。OFFSET BOUNDARY フィールドに格納される値は 2 の冪乗とし
て解釈されなければならない。
後続する WRITE BUFFER と READ BUFFER コマンドの BUFFER OFFSET フィールドの値は、表 130 に
示されるように 2OFFSET BOUNDARY の倍数であるべきである。
表130 バッファオフセット境界
OFFSET BOUNDARY
2OFFSET BOUNDARY
0h
20=1
1 バイト境界
1h
21=2
2 バイト境界
2h
22=4
4 バイト境界
3h
23=8
8 バイト境界
4
4h
2 =16
…
…
FFh
適用不能
バッファオフセット
16 バイト境界
…
バッファオフセットと
して 0 のみがサポート
される。
BUFFER CAPACITY フィールドは選択されたバッファのサイズをバイト単位で返さなければならな
い。
注意 26:複数のアプリケーションクライアントを対象とするシステムにおいては、WRITE
BUFFER と READ BUFFER コマンドの間に、他のアプリケーションクライアントによりバッファが変
更される可能性がある。バッファをテストするアプリケーションクライアントは、単一のアプリ
ケーションクライアントのみが有効になることを保証するべきである。2 つのコマンドの間でバッ
ファが変更されることを防ぐためには、デバイス内の全ての論理ユニットに対する予約や、リン
クされたコマンドを用いることが有効である。
6.15.6
エコーバッファモード(0Ah)
このモードでは、デバイスサーバは同一の I_T ネクサスで直近に受信した、モードフィールドに
エコーバッファ(6.35.9 を参照)が設定された WRITE BUFFER コマンドで書き込まれたエコーバッ
ファの内容を、アプリケーションクライアントに返す。READ BUFFER コマンドは、4.3.4.6 で規定
されるアロケーション長の制限の範囲内で、前に発行されたモードフィールドにエコーバッファ
が指定された WRITE BUFFER コマンドで受信したデータと同一のバイト数を返さなければならない。
このモードでは、BUFFER ID と BUFFER OFFSET フィールドは無視される。
206
SCSI Primary Commands - 3 (SPC-3)
以前に、同一の I_T ネクサスでモードフィールドにエコーバッファが指定された WRITE BUFFER
コマンドを受信していない、あるいは正常終了していなかった場合には、READ BUFFER コマンドは
ステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが COMMAND
SEQUENCE ERROR で終了されなければならない。エコーバッファ内のデータが他の I_T ネクサスに
より上書きされていた場合、READ BUFFER コマンドはステータスが CHECK CONDITION、センスキー
が ABORTED COMMAND、追加センスコードが ECHO BUFFER OVERWRITTEN で終了されなければならない。
モードにエコーバッファを設定した WRITE BUFFER コマンドが正常終了した後は、アプリケー
ションクライアントはエコーバッファのデータを複数回取得するために、モードにエコーバッ
ファを設定した READ BUFFER コマンドを複数回送信することが可能である。
6.15.7
エコーバッファ記述子モード(0Bh)
このモードでは、最大 4 バイトの READ BUFFER 記述子情報が返される。デバイスサーバはエコー
バッファの記述子情報を返さなければならない。エコーバッファが実装されていない場合、デバ
イスサーバは READ BUFFER 記述子で全て 0 を返さなければならない。BUFFER ID フィールドと
BUFFER OFFSET フィールドは、このモードでは予約済みとなる。アロケーション長は 4 ないしそれ
以上とするべきである。READ BUFFER 記述子は表 131 に示されるように定義される。
表131 エコーバッファ記述子
Bit
Byte
7
6
5
0
予約済み
1
予約済み
2
予約済み
3
4
3
2
1
0
EBOS
(MSB)
バッファ容量( BUFFER CAPACITY )
(LSB)
BUFFER CAPACITY フィールドは、4 バイト境界にアライメントされたエコーバッファのサイズを
バイト単位で返さなければならない。エコーバッファの最大バッファサイズは 4 096 バイトであ
る。
エコーバッファが実装される場合、エコーバッファ記述子が実装されなければならない。
エコーバッファ上書きサポート(echo buffer overwritten supported:EBOS)ビットに 1 が設
定された場合は下記のいずれかを示す。
a) エコーバッファから読み込まれるデータが、同一の I_T ネクサスにより以前に書き込まれ
たデータではない場合には、デバイスサーバは ECHO BUFFER OVERWRITTEN 追加センスコー
ドを返す。
b) デバイスサーバは、各 I_T ネクサスに対して返すエコーバッファのデータが、当該 I_T ネク
サスにより以前に書き込まれたデータであることを保証する。
EBOS ビットが 0 に設定されている場合、エコーバッファは任意の I_T ネクサスから受信した、
割り込まれて実行されたコマンドにより上書きされている可能性があることを示す。
エコーバッファ記述子モードが設定された READ BUFFER コマンドは、エコーバッファモード
(6.35.9 を参照)を設定した WRITE BUFFER コマンドを発行する前に、エコーバッファの容量と特
性を調べるために使用することが可能である。
6.15.8
エキスパンダ通信プロトコルとエコーバッファの有効化(1Ah)
このモード(1Ah)を設定した READ BUFFER の受信は、通信用エキスパンダ(SPI-5 を参照)を、
拡張通信プロトコルモードに設定する。このモードが設定された READ BUFFER コマンドを受信し
た SCSI ターゲットデバイス内のデバイスサーバは、これをモード 0Ah が設定された READ BUFFER
207
SCSI Primary Commands - 3 (SPC-3)
コマンド(6.15.6 を参照)であるものとして処理しなければならない。
6.16
READ MEDIA SERIAL NUMBER コマンド
READ MEDIA SERIAL NUMBER コマンド(表 132 を参照)はデバイスと現在マウントされているメ
ディアから報告されるシリアル番号を報告する。
表132 READ MEDIA SERIAL NUMBER コマンド
Bit
Byte
7
6
0
5
4
3
2
1
0
操作コード( OPERATION CODE )( ABh )
予約済み
1
サービスアクション( SERVICE ACTION )( 01h )
2
予約済み
5
6
(MSB)
アロケーション長( ALLOCATION LENGTH )
9
(LSB)
10
予約済み
11
コントロール( CONTROL )
ALLOCATION LENGTH フィールドは 4.3.4.6 で定義される。
READ MEDIA SERIAL NUMBER パラメタデータのフォーマットは表 133 に示される。
表133 READ MEDIA SERIAL NUMBER パラメタデータのフォーマット
Bit
Byte
0
3
7
(MSB)
6
5
4
3
2
メディアシリアル番号長
( MEDIA SERIAL NUMBER LENGTH )( 4n-4 )
1
0
(LSB)
4
4n-1
メディアシリアル番号( MEDIA SERIAL NUMBER )
MEDIA SERIAL NUMBER LENGTH フィールドには、MEDIA SERIAL NUMBER フィールドのバイト長が格
納されなければならない。メディアシリアル番号長は 4 の倍数でなければならない。MEDIA
SERIAL NUMBER LENGTH と CDB の ALLOCATION LENGTH の間の関係については 4.3.3.6 で定義される。
MEDIA SERIAL NUMBER フィールドには、現在挿入されているメディアの、ベンダ固有のシリアル
番号が格納されなければならない。ベンダ固有のシリアル番号のバイト長が 4 の倍数ではなかっ
た場合、MEDIA SERIAL NUMBER フィールド内の末尾バイトに、最大 3 バイトの 0 が付加されなけれ
ばならない。
メディアシリアル番号が利用できない場合(例えば、現在インストールされているメディアに
は有効なメディアシリアル番号がない場合)、MEDIA SERIAL NUMBER LENGTH フィールドで 0 が返
されなければならない。
メディアが挿入されていないため、メディアシリアル番号にアクセスできない場合は、コマン
ドはステータスが CHECK CONDITION、センスキーが NOT READY、追加センスコードが MEDIUM NOT
PRESENT で終了されなければならない。
208
SCSI Primary Commands - 3 (SPC-3)
6.17
6.17.1
RECEIVE COPY RESULTS コマンド
RECEIVE COPY RESULTS コマンドの序論
RECEIVE COPY RESULTS コマンド(表 134 を参照)はアプリケーションクライアントに対して、
コピーマネージャについての情報や、あるいは現在実行しているまたは前に実行した EXTENDED
COPY コマンドの情報を取得する方法を提供する(6.3 を参照)。
表134 RECEIVE COPY RESULTS コマンド
Bit
Byte
7
6
5
4
3
2
1
0
操作コード( OPERATION CODE )( 84h )
0
1
予約済み
2
サービスアクション( SERVICE ACTION )
リスト識別子( LIST IDENTIFIER )
3
予約済み
9
10
(MSB)
アロケーション長( ALLOCATION LENGTH )
13
(LSB)
14
予約済み
15
コントロール( CONTROL )
RECEIVE COPY RESULTS コマンドにおけるサービスアクションの定義は表 135 に示される。
表135 RECEIVE COPY RESULTS サービスアクションコード
値
名前
説明
EXTENDED COPY 実
行中にデータが返
されるか否か
参照
00h
COPY
RESULTS
LIST IDENTIFIER フィールドで識
別される、EXTENDED COPY コマン
ドの現在のコピーステータスを
返す。
返される
6.17.2
01h
RECEIVE
DATA
LIST IDENTIFIER フィールドで識
別される EXTENDED COPY コマン
ドにより読み込まれた、保持さ
れるデータを返す。
返されない
6.17.3
03h
OPERATING
PARAMETERS
コピーマネージャの操作パラメ
タを返す。
返される
6.17.4
04h
FAILED
SEGMENT
DETAILS
LIST IDENTIFIER フィールドで識
別される EXTENDED COPY コマン
ドの処理中に、処理が未完了と
なったセグメント記述子の進捗
情報と、コピー先デバイスのセ
ンスデータを返す。
返されない
6.17.5
05h~1Eh 予約済み
1Fh
ベンダ固有
LIST IDENTIFIER フィールドは、情報が転送される対象となる EXTENDED COPY コマンド(6.3 を
209
SCSI Primary Commands - 3 (SPC-3)
参照)を指定する。RECEIVE COPY RESULTS コマンドは RECEIVE COPY RESULTS の CDB で指定された
リスト識別子と一致するリスト識別子が設定された、同一の I_T ネクサスから受信した EXTENDED
COPY コマンドについての情報を返さなければならない。
LIST IDENTIFIER フィールドが、パラメタデータ内の NRCR ビットに 1 が設定された EXTENDED
COPY コマンドを指定する場合、コピーマネージャは、RECEIVE COPY RESULTS コマンドに対して
EXTENDED COPY コマンドを受信していないものとして応答する可能性がある。
RECEIVE COPY RESULTS パラメタデータの実際の長さは、パラメタデータフィールド内の
AVAILABLE DATA フィールドで取得される。ALLOCATION LENGTH フィールドは 4.3.4.6 で定義され
る。追加の要求事項については、RECEIVE COPY RESULTS サービスアクションの定義を参照のこと。
6.17.2
COPY STATUS サービスアクション
COPY STATUS サービスアクションのレスポンスでは、コピーマネージャは CDB の LIST
IDENTIFIER フィールドで指定される EXTENDED COPY コマンド(6.3 を参照)の現在のステータス
を返さなければならない。コピーマネージャにとってリスト識別子に該当する既知の EXTENDED
COPY コマンドが存在しない場合、コマンドはステータスが CHECK CONDITION、センスキーが
ILLEGAL REQUEST、追加センスコードが INVALID FILED IN CDB で終了されなければならない。
表 136 は COPY STATUS サービスアクションのレスポンスとしてコピーマネージャから返される情
報のフォーマットを示す。デバイスサーバが EXTENDED COPY コマンドをサポートする場合、COPY
STATUS サービスアクションを設定した RECEIVE COPY RESULTS コマンドもまたサポートしなければ
ならない。
表136 COPY STATUS サービスアクションのパラメタデータ
Bit
Byte
0
7
6
5
4
3
2
1
0
(MSB)
有効データ( AVAILABLE DATA )( 00000008h )
3
(LSB)
4
HDD
5
(MSB)
コピーマネージャステータス( COPY MANAGER STATUS )
処理されたセグメント( SEGMENT PROCESSED )
6
(LSB)
7
8
転送数の単位( TRANSFER COUNT UNIT )
(MSB)
転送数( TRANSFER COUNT )
11
(LSB)
EXTENDED COPY コマンドの完了後、コピーマネージャは COPY STATUS サービスアクションで返さ
れる全てのデータをベンダ固有の期間だけ保存しなければならない。コピーマネージャは下記い
ずれかの条件が成立した時に COPY STATUS データを破棄しなければならない。
a) 適合するリスト識別子と、COPY STATUS サービスアクションが設定された RECEIVE COPY
RESULTS コマンドを同一の I_T ネクサスで受信した。
b) 同一の I_T ネクサスで異なる EXTENDED COPY コマンドを受信した。かつ、そのときのリスト
識別子の値が、COPY STATUS サービスアクションのために保持されているデータのリスト識
別子の値と一致する。
c) コピーマネージャが論理ユニットリセットや I_T ネクサス喪失を検出した。
d) コピーマネージャがデータを保持するために使用するリソースを要求した。
AVAILABLE DATA フィールドには、後続するパラメタデータのバイト数が格納されなければなら
210
SCSI Primary Commands - 3 (SPC-3)
ない。AVAILABLE DATA フィールドと CDB の ALLOCATION LENGTH フィールドの間の関係については
4.3.4.6 で規定される。
保持データ破棄(held data discarded:HDD)ビットはデータがすでに破棄されているか否か
を示す。HDD ビットに 1 が設定された場合、保持データは 6.17.4 の規定に従いすでに破棄されて
いることを示す。HDD ビットに 0 が指定された場合、保持データはまだ破棄されていないことを示
す。
COPY MANAGER STATUS フィールドは CDB 内の LIST IDENTIFIER フィールドで指定された EXTENDED
COPY コマンドの現在のステータスを示し、値は表 137 で規定される。
表137 COPY MANAGER STATUS フィールド
値
意味
00h
操作は実行中である。
01h
エラーが発生せずに操作は終了した。
02h
エラーが発生して操作は終了した。
03h~7Fh
予約済み。
SEGMENT PROCESSED フィールドには、CDB の LIST IDENTIFIER フィールドで指定される EXTENDED
COPY コマンドにおいて、現在処理中のセグメントも含め、コピーマネージャで処理したセグメン
トの個数が設定される。コピーマネージャがセグメント記述子の処理を開始する前であれば、こ
のフィールドには 0 が設定されなければならない。
TRANSFER COUNT UNIT フィールドは、表 138 の定義に従い TRANSFER COUNT フィールドに設定さ
れる値の単位を指定する。
表138 COPY STATUS の TRANSFER COUNT UNIT フィールド
値
意味 a
TRANSFER COUNT フィールドを
バイト数に変換するための乗数
00h
Bytes
1
01h
Kibibytes
210
02h
Mebibytes
220
03h
Gebibytes
230
04h
Tebibytes
240
05h
Pebibytes
250
06h
Exbibytes
260
07h~FFh
予約済み
(a)3.6.4 を参照。
TRANSFER COUNT フィールドは、COPY STATUS サービスアクションを指定した RECEIVE COPY
RESULTS コマンドを受信する前までに、CDB の LIST IDENTIFIER フィールドで指定された EXTENDED
COPY コマンドによりコピー先デバイスに書き込まれたデータ量を指定する。
6.17.3
RECEIVE DATA サービスアクション
コピーマネージャが、アプリケーションクライアントに転送するためにデータを保持すること
を要求するセグメント記述子をサポートする場合、RECEIVE DATA サービスアクションによりコ
211
SCSI Primary Commands - 3 (SPC-3)
ピーマネージャは表 139 のフォーマットを用いてアプリケーションクライアントに保持するデー
タを返す。コピーマネージャが、アプリケーションクライアントのためにデータを保持すること
を要求する何らかのセグメント記述子種別コードをサポートする場合(6.3.5 を参照)、RECEIVE
DATA サービスアクションを設定した RECEIVE COPY RESULTS コマンドもまたサポートしなければな
らない。
下記いずれかの条件が存在する場合、EXTENDED COPY コマンドトはステータスが CHECK
CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB で終了さ
れなければならない。
a) CDB の LIST IDENTIFIER フィールドに適合するリスト識別子が指定された、コピーマネー
ジャにおいて既知の EXTENDED COPY コマンドが存在しなかった場合。
b) CDB の LIST IDENTIFIER フィールドで識別される EXTENDED COPY コマンドが、コピーマネー
ジャによりまだ実行中であった場合。
表139 RECEIVE DATA サービスアクションのパラメタデータのフォーマット
Bit
Byte
0
7
6
5
4
3
2
1
0
(MSB)
有効データ( AVAILABLE DATA )( n-3 )
3
(LSB)
4
保持データ( HELD DATA )
n
EXTENDED COPY コマンドの完了後、コピーマネージャは RECEIVE DATA サービスアクションによ
り返される全てのデータを、ベンダ固有の期間だけ保持しなければならない。アプリケーション
クライアントは、コピーマネージャによりデータが破棄されることのないよう、EXTENDED COPY コ
マンドの完了後に可能な限り早く RECEIVE DATA サービスアクションを設定した RECEIVE COPY
RESULTS コマンドを発行するべきである。コピーマネージャは下記いずれかの条件が成立した時に
はバッファリングされたインラインデータを破棄しなければならない。
a) 指定された EXTENDED COPY コマンドのために保持されている全てのデータについて、アプ
リケーションクライアントへの転送が成功した。
b) ALLOCATION LENGTH の値に 0 が指定され、適合するリスト識別子が指定され、RECEIVE DATA
サービスアクションが設定された RECEIVE COPY RESULTS コマンドを、同一の I_T 根草素手
受信した。
c) 同一の I_T ネクサスで他の EXTENDED COPY コマンドを受信し、かつ、指定されたリスト識別
子の値が、RECEIVE DATA サービスアクションのために保持されているデータのリスト識別
子の値に適合する場合。
d) コピーマネージャが論理ユニットリセットないし I_T ネクサス喪失を検出した。
e) リソースマネージャがデータの保持のために使用するリソースを要求した。
AVAILABLE DATA フィールドは、アプリケーションクライアントへ配信するために保持している
データのバイト数を保持しなければならない。AVAILABLE DATA フィールドと CDB の ALLOCATION
LENGTH フィールドの間の関係については 4.3.4.6 で規定される。
HELD DATA フィールドには、いくつかのセグメント記述子種別コードでの規定により、アプリ
ケーションクライアントに配信するためにコピーマネージャにより保持されるデータが格納され
る。コピーマネージャの保持データ制限(6.17.4 を参照)を超えない限り、データの保持を規定
訳注ト 原文は EXTENDED COPY コマンドと記載されているが、意味からすれば RECEIVE COPY RESULTS コマンドの事だと推定される。し
かし明確に断言できない事から、ここでは原文の記述に従い記載している。
212
SCSI Primary Commands - 3 (SPC-3)
する EXTENDED COPY パラメタリスト内の最初のセグメント記述子に対する、レスポンスとなる保
持データの最初のバイト(すなわち、保持される最も古いバイト)は、4 バイト目で返されること
となる。 データの保持を規定する EXTENDED COPY パラメタリスト内の最後のセグメント記述子に
対する、レスポンスとなる保持データの最後のバイト(すなわち、保持される最も新しいバイ
ト)は、n バイト目で返されることとなる。
6.17.4
OPERATING PARAMETERS サービスアクション
OPERATING PARAMETERS サービスアクションのレスポンスでは、コピーマネージャは表 140 で示
されるフォーマットに従い、コピーマネージャ自身の操作パラメタを返さなければならない。デ
バイスサーバが EXTENDED COPY コマンド(6.3 を参照)をサポートする場合は、OPERATING
PARAMETERS サービスアクションを設定した RECEIVE COPY RESULTS コマンドもまたサポートされな
ければならない。
213
SCSI Primary Commands - 3 (SPC-3)
表140 OPERATING PARAMETERS サービスアクションにおけるパラメタデータ
Bit
Byte
0
7
6
5
4
3
2
1
0
(MSB)
有効データ( AVAILABLE DATA )( n-3 )
3
(LSB)
4
予約済み
7
8
(MSB)
9
10
(MSB)
11
12
(MSB)
15
16
(MSB)
19
20
(MSB)
23
24
(MSB)
27
28
31
(MSB)
最大ターゲット記述子数
( MAXIMUM TARGET DESCRIPTOR COUNT )
(LSB)
最大セグメント記述子数
( MAXIMUM SEGMENT DESCRIPTOR COUNT )
(LSB)
最大記述子リスト長
( MAXIMUM DESCRIPTOR LIST LENGTH )
最大セグメント長
( MAXIMUM SEGMENT LENGTH )
最大インラインデータ長
( MAXIMUM INLINE DATA LENGTH )
保持データ制限
( HELD DATA LIMIT )
最大ストリームデバイス転送サイズ
( MAXIMUM STREAM DEVICE TRANSFER SIZE )
(LSB)
(LSB)
(LSB)
(LSB)
(LSB)
32
35
予約済み
36
最大同時コピー数( MAXIMUM CONCURRENT COPIES )
37
データセグメント粒度( DATA SEGMENT GRANULARITY )( log 2 )
38
インラインデータ粒度( INLINE DATA GRANULARITY )( log 2 )
39
保持データ粒度( HELD DATA GRANULARITY )( log 2 )
40
予約済み
42
43
実装済み記述子リスト長( IMPLEMENTED DESCRIPTOR LIST LENGTH )( n-43 )
44
実装された記述子種別コードのリスト(整列される)
n
AVAILABLE DATA フィールドには、パラメタデータ内で AVAILABLE DATA フィールドに後続するバ
イト数(すなわち、パラメタデータの合計バイト数-4)が設定されなければならない。AVAILABLE
DATA フィールドと CDB の ALLOCATION LENGTH フィールドの関係については 4.3.4.6 で規定される。
MAXIMUM TARGET COUNT フィールドには、コピーマネージャが単一の EXTENDED COPY ターゲット
記述子リストで許容するターゲット記述子の個数が格納される。
MAXIMUM SEGMENT COUNT フィールドには、コピーマネージャが単一の EXTENDED COPY セグメント
214
SCSI Primary Commands - 3 (SPC-3)
記述子リストで許容するセグメント記述子の個数が格納される。
MAXIMUM DESCRIPTOR LIST LENGTH フィールドには、ターゲット記述子リストとセグメント記述
子リストの最大倍とすうが格納される。この長さには組み込みデータが含まれるが、記述子に後
続するインラインデータは含まれない。
MAXIMUM SEGMENT LENGTH フィールドはコピーマネージャが単一のセグメントでサポートする最
大の書き込みデータ量を、バイト単位で指定する。PAD ビットに 1 が設定されることにより生成さ
れるバイト(6.3.7 を参照)は、本制限に対してはカウントされない。0 が設定された場合は、コ
ピーマネージャが単一のセグメントによる書き込みデータ量に制限を設けないことを示す。
MAXIMUM INLINE DATA LENGTH フィールドは、コピーマネージャが EXTENDED COPY パラメタリス
トでサポートするインラインデータの最大長をバイト単位で指定する。これは、セグメント記述
子内の組み込みデータとして含まれるデータは含まれない。MAXIMUM INLINE DATA LENGTH フィー
ルドは、記述子種別コードとして 04h(6.3.7.7 を参照)が指定されたセグメント記述子に対して
のみ適用される。コピーマネージャにより記述子種別コードとして 04h がサポートされない場合
は、このフィールドには 0 が設定されなければならない。
HELD DATA LIMIT フィールドは、RECEIVE DATA サービスアクションを設定した RECEIVE COPY
RESULTS コマンド(6.17.3 を参照)によりアプリケーションクライアントへ返すためにコピーマ
ネージャが保持することを保障する最小データ量をバイト単位で指定する。セグメント記述子の
処理において、さらに多くのデータを保持することが求められた場合、コピーマネージャは、直
近に処理したセグメント記述子によるデータを残す何らかのベンダ固有の方法により、保持デー
タの一部を破棄する可能性がある。保持データの破棄はエラーとは見なされてはならない。保持
データが破棄された場合、HDD ビットが 6.17.2 の規定に従い設定されなければならない。
MAXIMUM CONCURRENT COPIES フィールドは、コピーマネージャにより同時に実行することがサ
ポートされる EXTENDED COPY コマンドの最大数を指定する。
DATA SEGMENT GRANULARITY フィールドは、インラインではないセグメント記述子(すなわち、
セグメント記述子の種別コードが 04h 以外)においてコピーマネージャが許可する最小のデータ
ブロックの長さを指定する。単一のセグメント記述子により転送されるデータ量は、粒度の値の
倍数でなければならない。DATA SEGMENT GRANULARITY の値は 2 の指数として表される。PAD ビッ
トが 1 に設定されることで生成されるバイト(6.3.7 を参照)は粒度のデータ長に対してはカウン
トされない。
INLINE DATA GRANULARITY フィールドは、記述子種別コードが 04h のセグメント記述子
(6.3.7.7 を参照)においてコピーマネージャが許可する、インラインデータの最小ブロック長を
指定する。単一のセグメント記述子で書き込まれるインラインデータの量は、粒度の値の倍数で
なければならない。INLINE DATA GRANULARITY の値は 2 の指数として表される。PAD ビットが 1 に
設定されることにより生成されるバイト(6.3.7 を参照)は、粒度のデータ長に対してはカウント
されない。
コピーマネージャが、データセグメントの粒度ないしインラインデータの粒度のいずれかに違
反する、データないしインラインのセグメント記述子に遭遇した場合には、EXTENDED COPY コマン
ドはステータスが CHECK CONDITION、センスキーが COPY ABORTED、追加センスコードが COPY
SEGMENT GRANULARITY VIOLATION で終了されなければならない。
HELD DATA GRANULARITY フィールドは、RECEIVE DATA サービスアクションを設定した RECEIVE
COPY RESULTS コマンド(6.17.3 を参照)により、コピーマネージャがアプリケーションクライア
ントに転送しなければならない保持データの最小ブロック長を指定する。単一のセグメント記述
子に対するレスポンスとしてコピーマネージャが保持するデータの量は、この粒度の値の倍数で
なければならない。HELD DATA GRANULARITY の値は 2 の指数として表現される。
MAXIMUM STREAM DEVICE TRANSFER SIZE フィールドは、ストリームデバイスでサポートする最大
215
SCSI Primary Commands - 3 (SPC-3)
転送サイズをバイト単位で指定する。
IMPLEMENTED DESCRIPTOR LIST LENGTH フィールドは、実装された記述子種別コードのリストの
長さをバイト単位で指定する。
実装された記述子種別コードのリストには、コピーマネージャがサポートするセグメントない
しターゲットの DESCRIPTOR TYPE CODE の値をそれぞれ保持する 1 バイトの値が格納される。それ
ぞれのバイトには、サポートされる一意な DESCRIPTOR TYPE CODE の値が格納される。DESCRIPTOR
TYPE CODE の値は、リスト内で数値による昇順に整列され格納されなければならない。
6.17.5
FAILED SEGMENT DETAILS サービスアクション
FAILED SEGMENT DETAILS サービスアクションのレスポンスで、コピーマネージャは CDB の LIST
IDENTIFIER フィールドで指定される EXTENDED COPY コマンド(6.3 を参照)を終了させる原因と
なった、処理が失敗したセグメントの詳細を返さなければならない。表 141 は FAILED SEGMENT
DETAILS サービスアクションのレスポンスとしてコピーマネージャにより返される情報のフォー
マットを示す。デバイスサーバが EXTENDED COPY コマンドをサポートするのであれば(7.4 を参
照)、FAILED SEGMENT DETAILS サービスアクションを設定した RECEIVE COPY RESULTS コマンドも
またサポートしなければならない。
EXTENDED COPY コマンドが中断され、セグメント記述子の処理が未完了となった場合、コピーマ
ネージャは当該記述子の処理の進捗状況に関する詳細情報を保持しなければならない。これらの
詳細情報は、処理が未完了のまま残されたコピーターゲットデバイスや特定のストリームデバイ
スにおける状態を特定するために必要となる情報を、アプリケーションクライアントが取得する
ことを可能とする。
下記いずれかの状態が生じた時、EXTENDED COPY コマンドチはステータスが CHECK CONDITION、
センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FAILED IN CDB で終了されなければ
ならない。
a) CDB の LIST IDENTIFIER フィールドの指定と一致するリスト識別子を持つ、コピーマネー
ジャにとって既知の EXTENDED COPY コマンドが存在しない場合。
b) CDB の LIST IDENTIFIER フィールドが、コピーマネージャにより現在実行中の EXTENDED
COPY コマンドを指定していた場合。
訳注チ 原文は EXTENDED COPY コマンドと記載されているが、意味からすれば RECEIVE COPY RESULTS コマンドだと推定される。しかし
明確に断言できない事から、ここでは原文の記述に従い記載している。
216
SCSI Primary Commands - 3 (SPC-3)
表141 FAILED SEGMENT DETAILS サービスアクションにおけるパラメタデータのフォーマット
Bit
Byte
0
7
6
5
4
3
2
1
0
(MSB)
有効データ( AVAILABLE DATA )( n-3 )
3
(LSB)
4
予約済み
55
56
EXTENDED COPY コマンドのステータス( EXTENDED COPY COMMAND STATUS )
57
予約済み
58
センスデータ長( SENSE DATA LENGTH )( n-59 )
59
60
センスデータ( SENSE DATA )
n
アプリケーションクライアントは、コピーマネージャにより情報が破棄されないことを保証す
るために、EXTENDED COPY コマンドが失敗した直後に FAILED SEGMENT DETAILS サービスアクショ
ンを設定した RECEIVE COPY RESULTS コマンドを発行するべきである。コピーマネージャは下記い
ずれかの条件により、失敗したセグメントについての詳細情報を破棄しなければならない。
a) 指定された EXTENDED COPY コマンドのために保持されている、失敗したセグメントについ
ての詳細情報の全てが、アプリケーションクライアントに正常に転送された。
b) ALLOCATION LENGTH フィールドに 0 が設定され、適合するリスト識別子が設定された、
FAILED SEGMENT DETAILS サービスアクションが設定された、RECEIVE COPY RESULTS コマン
ドを、同一の I_T ネクサスで受信した。
c) 同一の I_T ネクサスから、同一のリスト識別子が指定された別の EXTENDED COPY コマンドを
受信した。
d) コピーマネージャが論理ユニットリセットや I_T ネクサス喪失を検出した。
e) コピーマネージャがデータを保持するためのリソースを要求した。
AVAILABLE DATA フィールドには、アプリケーションクライアントに配信される、失敗したセグ
メントについての詳細情報のバイト長が設定されなければならない。指定されたリスト識別子に
対して、失敗したセグメントの詳細情報が存在しない場合には、AVAILABLE DATA には 0 が設定さ
れなければならず、AVAILABLE DATA フィールドに後続してデータが送られてはならない。
AVAILABLE DATA フィールドと CDB の ALLOCATION LENGTH フィールドの間の関係については 4.3.4.6
で規定される。
COPY COMMAND STATUS フィールドには、CDB の LIST IDENTIFIER フィールドで指定される
EXTENDED COPY コマンドにより返される SCSI ステータス値が格納される。
SENSE DATA LENGTH フィールドは、SENSE DATA フィールドに何バイトのセンスデータが格納され
るのかを指定する。
SENSE DATA フィールドには、リスト識別子により指定された EXTENDED COPY コマンドを CHECK
CONDITION ステータスで終了させる処理の一部として、コピーマネージャが生成したセンスデータ
の複製を格納する。
217
SCSI Primary Commands - 3 (SPC-3)
6.18
RECEIVE DIAGNOSTIC RESULTS コマンド
RECEIVE DIAGNOSTIC RESULT コマンド(表 142 を参照)は、アプリケーションクライアントの
Data-In バッファにデータを送信するよう要求する。データは、直近の SEND DIAGNOSTIC コマンド
(6.28 を参照)に基づくデータであるか、あるいは PAGE CODE フィールドで指定される自己診断
ページのいずれかである。
表142 RECEIVE DIAGNOSTIC RESULTS コマンド
Bit
Byte
7
6
5
4
3
0
操作コード( OPERATION CODE )( 1Ch )
1
予約済み
2
ページコード( PAGE CODE )
3
2
1
0
PCV
(MSB)
アロケーション長( ALLOCATION LENGTH )
4
5
(LSB)
コントロール( CONTROL )
ページコード有効(page code valid:PCV)ビットに 0 が設定された場合、デバイスサーバは直
近の SEND DIAGNOSTIC コマンドに基づくパラメタデータを返す(例えば、直近の SEND DIAGNOSTIC
コマンドで指定されたものと同一のページコードの自己診断ページ)。下記いずれかの場合、PCV
に 0 が設定された SEND DIAGNOSTIC RESULTS コマンドのレスポンスはベンダ固有となる。
a) 直近の SEND DIAGNOSTIC コマンドが、パラメタデータを返すよう定義された SEND
DIAGNOSTIC コマンドではなかった場合。
b) 最後に SEND DIAGNOSTIC コマンドが処理されてから、PCV ビットに 1 が設定された RECEIVE
DIAGNOSTIC RESULT コマンドが処理されている。
c) 電源投入、ハードリセット、論理ユニットリセットが生じてから、パラメタデータを返す
よう定義された SEND DIAGNOSTIC コマンドが処理されていない。
PCV ビットに 1 が設定された場合、デバイスサーバが PAGE CODE フィールドで指定された自己診
断ページを返すことを示す。ページコードの値は 7.1 あるいは他のコマンド標準(3.1.18 を参
照)で定義される。
注意 27:本標準の以前のバージョン(例えば、SPC-2)に準拠する論理ユニットは、PCV ビット
に 0 が設定されており、かつ、以前の SEND DIAGNOSTIC コマンドがパラメタリストで複数の自己
診断ページを送信する場合には、パラメタデータで複数の自己診断ページを転送する可能性があ
る。
注意 28:他の I_T ネクサスで送信されたコマンドにより、自己診断コマンド情報が破棄されな
いことを保証するために、論理ユニットに対して予約が行われるべきである。
注意 29:自己診断ソフトウェアは一般的にベンダ固有であるが、このコマンドと SEND
DIAGNOSTIC コマンドはオペレーティングシステムのソフトウェアからベンダ固有の自己診断ソフ
トウェアを分離する方法を提供する。オペレーティングシステムはデバイス独立のまま保つこと
が可能である。
ALLOCATION LENGTH フィールドは 4.3.4.6 で規定される。
RECEIVE DIAGNOSTIC RESULTS 自己診断ページのフォーマットの定義については 7.1 を参照のこ
と。
218
SCSI Primary Commands - 3 (SPC-3)
6.19
REPORT ALIASES コマンド
REPORT ALIASES コマンド(表 143 を参照)はデバイスサーバに対してエイリアスリストを送信
するよう要求する。エイリアスリストは CHANGE ALIASES コマンド(6.2 を参照)を用いて管理さ
れる。CHANGE ALIASES コマンドがサポートされる場合は、REPORT ALIASES コマンドもまたサポー
トされなければならない。
REPORT ALIASES コマンドは、MAINTENANCE IN コマンドのサービスアクションである。その他の
MAINTENANCE IN サービスアクションは SCC-2 と本標準で定義される。SCC-2 で定義される
MAINTENANCE IN サービスアクションは、標準 INQUIRY データ(6.4.2 を参照)で、デバイス種別
として 0Ch を返す論理ユニットか、あるいは SCCS ビットに 1 が設定される論理ユニットに対して
のみ適用される。
表143 REPORT ALIASES コマンド
Bit
Byte
7
6
0
5
4
3
2
1
0
操作コード( OPERATION CODE )( A3h )
1
予約済み
サービスアクション( SERVICE ACTION )( 0Bh )
2
予約済み
5
6
(MSB)
アロケーション長( ALLOCATION LENGTH )
9
(LSB)
10
予約済み
11
コントロール( CONTROL )
ALLOCATION LENGTH フィールドについては 4.3.4.6 で規定される。
REPORT ALIASES コマンドで返されるパラメタデータ(表 144 を参照)には 0 個以上のエイリア
スエントリが格納される。
表144 REPORT ALIASES パラメタデータ
Bit
Byte
0
7
6
5
4
3
2
1
0
(MSB)
追加長( ADDITIONAL LENGTH )( n-3 )
3
(LSB)
4
予約済み
5
予約済み
6
7
エイリアスの個数( NUMBER OF ALIASES )( X )
エイリアスエントリ
8
エイリアスエントリ 0 ( 6.2.2 を参照)
…
n
エイリアスエントリ X ( 6.2.2 を参照)
219
SCSI Primary Commands - 3 (SPC-3)
ADDITIONAL LENGTH フィールドはパラメタデータの残りの部分のバイト長を指定する。
ADDITIONAL LENGTH フィールドと CDB の ALLOCATION LENGTH フィールドの間の関係については
4.3.3.6 を参照のこと。
NUMBER OF ALIASES フィールドはエイリアスリストに含まれるエイリアスエントリの個数を指定
する。CDB 内のアロケーション長の指定が不足する場合においても値が変更されてはならない。
パラメタデータには、エイリアスリスト内のエイリアス毎に 1 つずつエイリアスエントリが含ま
れていなければならない。エイリアスエントリのフォーマットは 6.2.2 で記述される。
6.20
REPORT DEVICE IDENTIFIER コマンド
REPORT DEVICE IDENTIFIER コマンド(表 145 を参照)は、デバイスサーバに対してデバイス識
別情報をアプリケーションクライアントに送信するよう要求する。SCC-2 標準で定義されるように、
REPORT DEVICE IDENTIFIER コマンドは、MAINTENANCE IN コマンドの REPORT PERIPHERAL
DEVICE/COMPONENT DEVICE IDENTIFIER サービスアクションである。その他の MAINTENANCE IN と
MAINTENANCE OUT サービスアクションについては SCC-2 と本標準で規定される。
SCC-2 のみで規定される MAINTENANCE IN サービスアクションは、標準 INQUIRY データで、デバ
イス種別として 0Ch を返す論理ユニットか、あるいは SCCS ビットに 1 が設定される論理ユニット
に対してのみ適用されなければならない。SCSI デバイスが標準 INQUIRY データで、デバイス種別
として 0Ch を返すか、あるいは SCCS ビットに 1 が設定される場合、SCC-2 MAINTENANCE IN サービ
スアクションの実装要求は SCC-2 で規定されなければならない。それ以外の場合は、本標準で定
義される MAINTENANCE IN サービスアクションの定義と実装要求が適用されなければならない。
220
SCSI Primary Commands - 3 (SPC-3)
表145 REPORT DEVICE IDENTIFIER コマンド
Bit
Byte
7
6
0
5
4
3
2
1
0
操作コード( OPERATION CODE )( A3h )
1
予約済み
サービスアクション( SERVICE ACTION )( 05h )
2
予約済み
3
4
制限される
5
6
(MSB)
アロケーション長( ALLOCATION LENGTH )
9
(LSB)
10
予約済み
11
コントロール( CONTROL )
制限される
予約済み
SCC-2 はバイト 4、5、およびバイト 10 のビット 1 について、固有の使用方法を規定しているが、
本標準で規定される REPORT DEVICE IDENTIFIER コマンドでは、これらのフィールドは予約済みと
なる。
ALLOCATION LENGTH フィールドは 4.3.4.6 で規定される。
REPORT DEVICE IDENTIFIER パラメタデータ(表 146 を参照)には、パラメタデータのバイト長
を示す 4 バイトのフィールドと、論理ユニットの識別子が格納される。
表146 REPORT DEVICE IDENTIFIER パラメタデータ
Bit
Byte
0
7
6
5
4
3
2
1
0
(MSB)
識別子長( IDENTIFIER LENGTH )( n-3 )
3
(LSB)
4
識別子( IDENTIFIER )
n
IDENTIFIER LENGTH フィールドは IDENTIFIER フィールドのバイト数を指定する。IDENTIFIER
LENGTH フィールドと CDB の ALLOCATION LENGTH フィールドの間の関係については 4.3.4.6 で規定
される。識別子長は初期値では 0 でなければならず、SET DEVICE IDENTIFIER コマンドが成功した
場合にのみ変更されなければならない。
IDENTIFIER フィールドにはベンダ固有の値が格納されなければならない。報告される値は、正
常終了した SET DEVICE IDENTIFIER コマンドにより、最後に書き込まれた値でなければならない。
識別子の値は SET DEVICE IDENTIFIER コマンドによってのみ変更されなければならない。識別子
の値は論理ユニットリセット、I_T ネクサス喪失、メディアフォーマット操作、メディア交換を通
じて保存されなければならない。
論理ユニットは全てのアプリケーションクライアントに対して同一の値を報告しなければなら
ない。
REPORT DEVICE IDENTIFIER の処理は、論理ユニット内の不揮発性メモリを有効化することを要
求する可能性がある。不揮発性メモリを使用する準備が整っていない場合、コマンドは不揮発性
メモリが利用可能となるまで待ち合わせるのではなく、ステータスが CHECK CONDITION で終了さ
れなければならない。センスキーは NOT READY、追加センスコードは表 185(6.33 を参照)の記述
221
SCSI Primary Commands - 3 (SPC-3)
に従い設定されなければならない。この情報は、デバイスサーバを利用可能とするために求めら
れる動作を、アプリケーションクライアントから特定可能とするものであるべきである。
6.21
REPORT LUNS コマンド
REPORT LUNS コマンド(表 147 を参照)は、I_T ネクサスからアクセス可能な、末端デバイスの
論理ユニットの目録をアプリケーションクライアントに送信するよう要求する。論理ユニットの
目録は、PERIPHERAL QUALIFIER の値として 000b(6.4.2 を参照)を保持する全ての論理ユニット
の、論理ユニット番号を含むリストでなければならない。論理ユニットの目録の中には、
PERIPHERAL QUALIFIER の値が 000b と 011b 以外の論理ユニットにおける論理ユニット番号が含ま
れる可能性がある。論理ユニットの目録の中には、PERIPHERAL QUALIFIER の値が 011b の論理ユ
ニットにおける論理ユニット番号は含まれてはならない。
表147 REPORT LUNS コマンド
Bit
Byte
7
6
5
4
3
0
操作コード( OPERATION CODE )( A0h )
1
予約済み
2
報告の選択( SELECT REPORT )
2
1
0
3
予約済み
5
6
(MSB)
アロケーション長( ALLOCATION LENGTH )
9
(LSB)
10
予約済み
11
コントロール( CONTROL )
SELECT REPORT フィールド(表 148 を参照)は、報告されなければならない論理ユニットのアド
レスの種別を指定する。
表148 SELECT REPORT フィールド
値
説明
00h
リストには下記のアドレス法により I_T ネクサスからアクセスできる
論理ユニットが含まれなければならない(SAM-3 を参照)。
a) 論理ユニットアドレス法
b) 末端デバイスアドレス法
c) フラット空間アドレス法
論理ユニットが存在しない場合には、LUN LIST LENGTH フィールドに
は 0 が設定されなければならない。
01h
リストにはウェルノン論理ユニットのみが含まれていなければならな
い。ウェルノン論理ユニットが存在しない場合には、LUN LIST LENGTH
には 0 が設定されなければならない。
02h
リストには I_T ネクサスからアクセス可能な全ての論理ユニットが含
まれていなければならない。
03h~FFh
予約済み。
ALLOCATION LENGTH フィールドは 4.3.4.6 で規定される。アロケーション長は最小でも 16 であ
るべきである。
222
SCSI Primary Commands - 3 (SPC-3)
注意 30:SPC に準拠するデバイスサーバは、アロケーション長が 16 未満の場合、ステータスで
CHECK CONDITION、センスキーで ILLEGAL REQUEST、追加センスコードで INVALID FIELD IN CDB を
返す。
デバイスサーバが、要求された論理ユニットの目録を返すことができない場合にのみ、CHECK
CONDITION ステータスを返さなければならない。
保留されたユニット警告状態が存在する(すなわち、デバイスサーバが CHECK CONDITION ステー
タスを報告する前の)I_T ネクサスから REPORT LUNS コマンドを受信した場合、デバイスサーバは
REPORT LUNS コマンドを実行しなければならない。論理ユニット目録が変更されたことによるユ
ニット警告状態が確立されていた場合、REPORT LUNS コマンドにより当該 I_T ネクサスに関連する
イニシエータポートに対するユニット警告状態はクリアされなければならない。その他の理由に
よるユニット警告状態は、REPORT LUNS コマンドではクリアされてはならない(SAM-3 を参照)。
REPORT LUNS パラメタデータは、デバイスサーバが他のコマンドを実行できない場合においても
返されるべきである。論理ユニットの目録の報告は、メディアアクセスによる遅延の影響を受け
ることなく利用できるべきである。デバイスサーバが論理ユニットの目録を報告する準備ができ
ていない、あるいは SELECT REPORT フィールドに 02h が設定されており、かつ要求した I_T ネクサ
スに対して論理ユニットの目録が null となる場合には、デバイスサーバは最小でも LUN 0 かある
いは REPORT LUNS ウェルノン論理ユニット(8.2 を参照)を含むデフォルトの論理ユニットの目録
を返さなければならない。LUN 0 ないし REPORT LUNS ウェルノン論理ユニットが含まれておらず、
かつ空ではない末端デバイスの論理ユニットの目録は正当である。
SCSI ターゲットデバイスがサポートしていない論理ユニットに対する REPORT LUNS コマンドを
受信し、デバイスサーバが論理ユニットの目録を返す能力を持たない場合には、コマンドはス
テータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが LOGICAL UNIT
NOT SUPPORTED で終了されなければならない。
何らかの理由で論理ユニットの目録が変更された場合(例えば、初期化が完了した、論理ユ
ニットが取り外された、論理ユニットが生成された)、デバイスサーバは全ての I_T ネクサスに
関係するイニシエータポートに対して、追加センスコードに REPORTED LUNS DATA HAS CHANGED を
設定したユニット警告状態を確立しなければならない。
いずれかの論理ユニットで実行される、論理ユニットの目録を返す REPORT LUNS コマンドの処理
で、コマンドを受信した I_T ネクサスからアクセス可能な全ての論理ユニットにおける REPORT
LUNS DATA HAS CHANGED のユニット警告状態がクリアされなければならない。
デバイスサーバは、表 149 のフォーマットを用いて、論理ユニット目録でこれらのデバイスを報
告しなければならない。
223
SCSI Primary Commands - 3 (SPC-3)
表149 REPORT LUNS パラメタデータのフォーマット
Bit
Byte
0
7
6
5
4
3
2
1
0
(MSB)
LUN リスト長( LUN LIST LENGTH )( n-7 )
3
(LSB)
4
予約済み
7
LUN リスト
8
最初の LUN
15
…
n-7
最後の LUN
n
LUN LIST LENGTH フィールドは、転送可能な LUN リストのバイト長を指定しなければならない。
LUN リスト長は論理ユニット目録内の論理ユニット番号の個数に 8 を乗じた数である。LUN LIST
LENGTH フィールドと CDB の ALLOCATION LENGTH フィールドの間の関係については 4.3.4.6 で規定
される。
6.22
REPORT PRIORITY コマンド
REPORT PRIORITY コマンド(表 150 を参照)は論理ユニットに関係する複数の I_T ネクサス(す
なわち、I_T_L ネクサス)に割り当てられた優先度を要求する。
REPORT PRIORITY コマンドは MAINTENANCE IN コマンドのサービスアクションである。その他の
MAINTENANCE IN サービスアクションについては SCC-2 と本標準で規定される。SCC-2 で規定され
る MAINTENANCE IN サービスアクションは、標準 INQUIRY データでデバイス種別として 0Ch を返す
か、あるいは SCCS ビットに 1 が設定される(6.4.2 を参照)論理ユニットに対してのみ適用され
る。
表150 REPORT PRIORITY コマンド
Bit
Byte
7
6
0
5
4
3
2
1
0
操作コード( OPERATION CODE )( A3h )
1
予約済み
2
優先度の報告
( PRIORITY REPORTED )
サービスアクション( SERVICE ACTION )( 0Eh )
予約済み
3
予約済み
5
6
(MSB)
アロケーション長( ALLOCATION LENGTH )
9
(LSB)
10
予約済み
11
コントロール( CONTROL )
PRIORITY REPORTED フィールド(表 151 を参照)はパラメタデータで返される情報を指定する。
224
SCSI Primary Commands - 3 (SPC-3)
表151 PRIORITY REPORTED フィールド
値
説明
00b
REPORT PRIORITY パラメタデータで、コマンドを受信した I_T ネク
サスについての優先度についてのみが報告されなければならない。
01b
REPORT PRIORITY パラメタデータで、初期優先度以外の優先度が
設定されている I_T ネクサスについての優先度が報告されなけれ
ばならない。
10b~11b
予約済み
ALLOCATION LENGTH フィールドについては 4.3.4.6 で規定される。アロケーション長は最小でも
4 であるべきである。
REPORT PRIORITY コマンドで返されるパラメタデータのフォーマットは表 152 で示される。
表152 REPORT PRIORITY パラメタデータのフォーマット
Bit
Byte
0
3
7
(MSB)
6
5
4
3
優先度パラメタデータ長
( PRIORITY PARAMETER DATA LENGTH )( n-3 )
2
1
0
(LSB)
優先度記述子
4
最初の優先度記述子(表 153 を参照)
…
最後の優先度記述子(表 153 を参照)
n
PRIORITY PARAMETER DATA LENGTH フィールドは後続するパラメタデータのバイト数を指定する。
各優先度記述子(表 153 を参照)には、単一の I_T_L ネクサスについての優先度の情報が格納さ
れる。
225
SCSI Primary Commands - 3 (SPC-3)
表153 優先度記述子のフォーマット
Bit
Byte
7
6
5
0
予約済み
1
予約済み
2
(MSB)
3
3
2
予約済み
5
予約済み
1
0
現在の優先度( CURRENT PRIORITY )
相対ターゲットポート識別子
( RELATIVE TARGET PORT IDENTIFIER )
4
6
4
(LSB)
(MSB)
追加の記述子長( ADDITIONAL DESCRIPTOR LENGTH )( n-7 )
7
(LSB)
8
TransportID ( TRANSPORTID )
n
CURRENT PRIORITY フィールドには、当該の記述子で表現される I_T_L ネクサスに割り当てられ
た優先度が設定される。本コマンドの PRIORITY REPORTED フィールドに 00b が設定されており、
かつ、本コマンドに割り当てられた I_T_L ネクサスの優先度が初期優先度だった場合、CURRENT
PRIORITY フィールドには 0 が設定されなければならない。I_T_L ネクサスに割り当てられた優先
度は、その I_T_L ネクサスから受信したタスクのタスク優先度として使用される可能性がある
(SAM-3 を参照)。
RELATIVE TARGET PORT IDENTIFIER フィールドには、現在の優先度が適用される対象となる
I_T_L ネクサスの一部であるターゲットポートの、相対ポート識別子(3.1.88 を参照)を指定す
る。
ADDITIONAL DESCRIPTOR LENGTH フィールドは記述子内での後続するバイト数を指定する(すな
わち、TransportID のサイズ)。
TRANSPORTID フィールドには、現在の優先度が適用される対象となる I_T_L ネクサスの一部であ
るイニシエータポートを識別する TransportID(7.5.4 を参照)を指定する。
6.23
6.23.1
REPORT SUPPORTED OPERATION CODES コマンド
REPORT SUPPORTED OPERATION CODES コマンドの序論
REPORT SUPPORTED OPERATION CODES コマンド(表 154 を参照)は、指定された論理ユニットで
サポートされるコマンドについての情報を要求する。アプリケーションクライアントは論理ユ
ニットでサポートされる全ての操作コードやサービスアクション、あるいは指定されたコマンド
に対するコマンドサポートデータのリストを要求することが可能である。
REPORT SUPPORTED OPERATION CODES コマンドは MAINTENANCE IN コマンドのサービスアクション
である。その他の MAINTENANCE IN サービスアクションは SCC-2 と本標準で規定される。SCC-2 で
規定される MAINTENANCE IN サービスアクションは、標準 INQUIRY データでデバイス種別コードと
して 0Ch を返すか、あるいは SCCS ビットに 1 が設定される(6.4.2 を参照)論理ユニットに対し
てのみ適用される。
226
SCSI Primary Commands - 3 (SPC-3)
表154 REPORT SUPPORTED OPERATION CODES コマンド
Bit
Byte
7
6
0
5
4
3
2
1
0
操作コード( OPERATION CODE )( A3h )
1
予約済み
サービスアクション( SERVICE ACTION )( 0Ch )
2
予約済み
3
要求された操作コード( REQUESTED OPERATION CODE )
4
報告オプション( REPORTING OPTIONS )
(MSB)
要求されたサービスアクション( REQUESTED SERVICE ACTION )
5
(LSB)
6
(MSB)
アロケーション長( ALLOCATION LENGTH )
9
(LSB)
10
予約済み
11
コントロール( CONTROL )
REPORTING OPTIONS フィールド(表 155 を参照)はパラメタデータで返される情報の種別を指定
する。
表155 REPORT SUPPORTED OPERATION CODES における報告の種別
報告の種別
説明
パラメタデー
タの参照
000b
all_commands パラメタデータフォーマットに従い、論理ユニット
でサポートされる全ての操作コードとサービスアクションのリス
トが返されなければならない。CDB の REQUESTED OPERATION CODE
フィールドと、CDB の REQUESTED SERVICE ACTION フィールドは無
視されなければならない。
6.23.2
001b
one_command パラメタデータフォーマットに従い、REQUESTED
OPERATION CODE フィールドで指定された操作コードに対するコマ
ンドサポートデータが返されなければならない。CDB の REQUESTED
SERVICE ACTION フィールドは無視されなければならない。
REQUESTED OPERATION CODE フィールドにサービスアクションを持
つ操作コードが指定されていた場合、コマンドはステータスが
CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センス
コードが INVALID FIELD IN CDB で終了されなければならない。
6.23.3
010b
one_command パラメタデータフォーマットに従い、CDB の
REQUESTED OPERATION CODE フィールドと CDB の REQUESTED
SERVICE ACTION フィールドで指定された操作コードとサービスア
クションでサポートされるコマンドサポートデータが返されなけ
ればならない。CDB の REQUESTED OPERATION CODE フィールドで指
定された操作コードがサービスアクションを持たないものであっ
た場合、コマンドはステータスが CHECK CONDITION、センスキー
が ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB
で終了されなければならない。
6.23.3
011b~111b 予約済み。
REQUESTED OPERATION CODE フィールドは、one_command パラメタデータフォーマット(6.23.3
を参照)で返されるコマンドの操作コードを指定する。
227
SCSI Primary Commands - 3 (SPC-3)
REQUESTED SERVICE ACTION フィールドは、one_command パラメタデータフォーマットで返される
コマンドのサービスアクションを指定する。
ALLOCATION LENGTH フィールドは 4.3.4.6 で規定される。
6.23.2
all_commands パラメタデータフォーマット
REPORT SUPPORTED OPERATION CODES における all_commands パラメタデータのフォーマット(表
156 を参照)の先頭には、サポートするコマンドのリストが後続するパラメタデータのバイト長を
保持する、4 バイトのヘッダが存在する。各コマンド記述子は、サポートする単一のコマンド CDB
の情報を保持する(すなわち、単一の操作コードとサービスアクションの組み合わせ、あるいは
サービスアクションが存在しない単一の操作コード)。コマンド記述子のリストには、論理ユ
ニットでサポートされる全てのコマンドが含まれていなければならない。
表156 all_commands パラメタデータ
Bit
Byte
0
7
6
5
4
3
2
1
0
(MSB)
コマンドデータ長( COMMAND DATA LENGTH )( n-3 )
3
(LSB)
コマンド記述子
4
コマンド記述子 0 (表 157 を参照)
…
コマンド記述子 x (表 157 を参照)
n
COMMAND DATA LENGTH フィールドは、コマンド記述子リストのバイト長を指定する。
各コマンド記述子(表 157 を参照)は単一のサポートされるコマンド CDB についての情報を保持
する。
表157 コマンド記述子のフォーマット
Bit
Byte
7
6
5
4
0
操作コード( OPERATION CODE )
1
予約済み
2
2
1
0
(MSB)
サービスアクション( SERVICE ACTION )
3
(LSB)
4
予約済み
5
予約済み
6
3
SERVACTV
(MSB)
CDB 長( CDB LENGTH )
7
(LSB)
OPERATION CODE フィールドには、論理ユニットでサポートされるコマンドの操作コードが格納
される。
SERVICE ACTION フィールドには、OPERATION CODE フィールドで指定されるサポートされる操作
コードにおける、サポートされるサービスアクションが格納される。OPERATION CODE フィールド
で指定される操作コードがサービスアクションを持たない場合は、SERVICE ACTION フィールドに
228
SCSI Primary Commands - 3 (SPC-3)
は 00h が格納されなければならない。
サービスアクション有効(service action valid:SERVACTV)ビットに 0 が設定された場合、
OPERATION CODE で指定される操作コードはサービスアクションを持たず、SERVICE ACTION フィー
ルドが予約済みとなることを示す。SERVACTV ビットに 1 が設定された場合は、OPERATION CODE
フィールドで指定される操作コードがサービスアクションを持ち、SERVICE ACTION フィールドの
内容が有効であることを示す。
CDB LENGTH フィールドは、OPERATION CODE フィールドで示された操作コード、および SERVACTV
ビットに 1 が設定された場合は SERVICE ACTION フィールドで示されたサービスアクションに対す
る、コマンド CDB のバイト長を指定する。
6.23.3
one_command パラメタデータフォーマット
REPORT SUPPORTED OPERATION CODES における one_command パラメタデータのフォーマット(表
158 を参照)は、CDB についての情報と、REPORT SUPPORTED OPERATION CODES の CDB 内の
REPORTING OPTIONS、REQUESTED OPERATION CODE、REQUESTED SERVICE ACTION フィールドで指定さ
れるコマンドにおける CDB 内のビットに対する使用マップを保持する。
表158 one_command パラメタデータ
Bit
7
Byte
6
5
0
予約済み
1
予約済み
2
4
3
2
1
0
サポート( SUPPORT )
(MSB)
CDB サイズ( n-3 )
3
(LSB)
4
CDB 使用データ( CDB USAGE DATA )
n
SUPPORT フィールドは表 159 で定義される。
表159 SUPPORT フィールドの値
サポート
説明
000b
要求された SCSI コマンドについてのデータは現在利用できない。バイト 1 以
降の全てのデータは有効ではない。コマンドサポートデータに対する後続の要
求は成功する可能性がある。
001b
デバイスサーバは要求されたコマンドをサポートしていない。バイト 1 以降の
全てのデータは未定義である。
010b
予約済み。
011b
デバイスサーバは要求されたコマンドを SCSI 標準に準拠しサポートしている。
パラメタデータのフォーマットは表 158 の定義に従う。
100b
予約済み。
101b
デバイスサーバは要求されたコマンドをベンダ固有のルールに従いサポートす
る。パラメタデータのフォーマットは表 158 の定義に従う。
110b~111b
予約済み。
CDB SIZE フィールドには、パラメタデータ内の CDB USAGE DATA フィールドのサイズ、および問
い合わされたコマンド(すなわち、REPORT SUPPORTED OPERATION CODES の CDB 内の REPORTING
229
SCSI Primary Commands - 3 (SPC-3)
OPTIONS、REQUESTED OPERATION CODE、REQUESTED SERVICE ACTION フィールドで指定されたコマン
ド)のための CDB のバイト長が格納される。
CDB USAGE DATA フィールドには、問い合わされたコマンドのための CDB についての情報が格納
される。CDB USAGE DATA の最初のバイトには問い合わされたコマンドの操作コードが格納されな
ければならない。問い合わされたコマンドがサービスアクションを持つ場合は、サービスアク
ションコードが CDB USAGE DATA フィールドの、コマンド CDB のサービスアクションフィールドと
同じ場所に格納されなければならない。CDB USAGE DATA フィールドの他の全てのバイトには、問
い合わされたコマンドのための CDB 内のビットにおける使用マップが格納されなければならない。
使用マップ内のビットは、問い合わされたコマンドのための CDB に対して 1:1 で対応しなければ
ならない。デバイスサーバが、問い合わされたコマンドのための CDB 内のビットを評価する場合、
使用マップ内の対応する位置のビットには 1 が設定されなければならない。フィールドの一部を
表すいずれかのビットが 1 であるならば、フィールド内の全てのビットに 1 が設定され返されな
ければならない。デバイスサーバが、問い合わされたコマンドのための CDB 内のビットに対して、
無視するかあるいは予約済みとして取り扱うのであれば、使用マップの対応するビット位置には 0
が設定されなければならない。CDB 内の 1 つのフィールドに対する使用マップのビットには、全て
同じ値が設定されなければならない。
例えば、REPORT SUPPORTED OPERATION CODES コマンドにおける CDB 使用マップのビットは、
A3h、0Ch、03h、FFh、FFh、FFh、FFh、FFh、FFh、FFh、00h、07h となる。この例では、論理ユニッ
トは CDB の CONTROL バイトの下位 3 ビットのみをサポートするものと仮定している。最初のバイト
には操作コードが格納され、2 番目のバイトには 3 ビットの予約済みのビットとサービスアクショ
ンが格納される。残りのバイトは使用マップとなる。
6.24
REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS コマンド
REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS コマンド(表 160 を参照)は、指定された論理
ユニットでサポートされるタスク管理機能(SAM-3 を参照)の情報を要求する。
REPORT TASK MANAGEMENT FUNCTIONS コマンドは MAINTENANCE IN コマンドのサービスアクション
である。その他の MAINTENANCE IN サービスアクションは SCC-2 および本標準で規定される。SCC2 で規定される MAINTENANCE IN サービスアクションは、標準 INQUIRY データ(6.4.2 を参照)でデ
バイス種別として 0Ch を返すか、あるいは SCCS ビットに 1 が設定される論理ユニットに対しての
み適用される。
表160 REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS コマンド
Bit
Byte
7
6
0
5
4
3
2
1
0
操作コード( OPERATION CODE )( A3h )
1
予約済み
サービスアクション( SERVICE ACTION )( 0Dh )
2
予約済み
5
6
9
(MSB)
アロケーション長( ALLOCATION LENGTH )( 4h 以上)
10
予約済み
11
コントロール( CONTROL )
(LSB)
ALLOCATION LENGTH フィールドは、返されるパラメタデータのために確保されているバイト長を
指定する。アロケーション長は最小でも 4 以上であるべきである。アロケーション長が 4 よりも
小さい場合には、コマンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追
230
SCSI Primary Commands - 3 (SPC-3)
加センスコードが INVALID FIELD IN CDB で終了されなければならない。
REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS コマンドリで返されるパラメタデータのフォー
マットは表 161 に示される。
表161 REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS パラメタデータ
Bit
Byte
0
7
6
5
4
ATS
ATSS
CACAS
CTSS
3
LURS
2
1
0
QTS
TRS
WAKES
1
予約済み
3
ABORT TASK サポート(ABORT TASK supported:ATS)ビットに 1 が設定された場合は、論理ユ
ニットで ABORT TASK タスク管理機能(SAM-3 を参照)がサポートされることを示す。ATS ビット
に 0 が設定された場合は、ABORT TASK タスク管理機能がサポートされないことを示す。
ABORT TASK SET サポート(ABORT TASK SET supported:ATSS)ビットに 1 が設定された場合は、
論理ユニットで ABORT TASK SET タスク管理機能(SAM-3 を参照)がサポートされることを示す。
ATSS ビットに 0 が設定された場合は、ABORT TASK SET タスク管理機能がサポートされないことを
示す。
CLEAR ACA サポート(CLEAR ACA supported:CACAS)ビットに 1 が設定された場合は、論理ユ
ニットで CLEAR ACA タスク管理機能(SAM-3 を参照)がサポートされることを示す。CACAS ビット
に 0 が設定された場合は、CLEAR ACA タスク管理機能がサポートされないことを示す。
CLEAR TASK SET サポート(CLEAR TASK SET supported:CTSS)ビットに 1 が設定された場合は、
論理ユニットで CLEAR TASK SET タスク管理機能(SAM-3 を参照)がサポートされることを示す。
CTSS ビットに 0 が設定された場合は、CLEAR TASK SET タスク管理機能がサポートされないことを
示す。
LOGICAL UNIT RESET サポート(LOGICAL UNIT RESET supported:LURS)ビットに 1 が設定され
た場合は、論理ユニットで LOGICAL UNIT RESET タスク管理機能(SAM-3 を参照)がサポートされ
ることを示す。LURS ビットに 0 が設定された場合は、LOGICAL UNIT RESET タスク管理機能がサ
ポートされないことを示す。
QUERY TASK サポート(QUERY TASK supported:QTS)ビットに 1 が設定された場合は、論理ユ
ニットで QUERY TASK タスク管理機能(SAM-3 を参照)がサポートされることを示す。QTS ビット
に 0 が設定された場合は、QUERY TASK タスク管理機能がサポートされないことを示す。
TARGET RESET サポート(TARGET RESET supported:TRS)ビットに 1 が設定された場合は、論理
ユニットで TARGET RESET タスク管理機能(SAM-2 を参照)がサポートされることを示す。TRS
ビットに 0 が設定された場合は、TARGET RESET タスク管理機能がサポートされないことを示す。
WAKEUP サポート(WAKEUP supported:WAKES)ビットに 1 が設定された場合は、論理ユニットで
WAKEUP タスク管理機能(SAM-2 を参照)がサポートされることを示す。WAKES ビットに 0 が設定さ
れた場合は、WAKEUP タスク管理機能がサポートされないことを示す。
6.25
REPORT TARGET PORT GROUPS コマンド
REPORT TARGET PORT GROUPS コマンド(表 162 を参照)は、デバイスサーバに対してターゲット
ポートグループの情報をアプリケーションクライアントに送信するよう要求する。このコマンド
は、標準 INQUIRY データ(6.4.2 を参照)で非対称論理ユニットアクセスをサポートする(すなわ
ち、TPGS フィールドに 0 以外の値が設定される)ものとして報告する論理ユニットによりサポー
訳注リ 原文では「REPORT TASK MANAGEMENT FUNCTIONS」と記載されているが、明らかに「REPORT SUPPORTED TASK MANAGEMENT
FUNCTIONS」の誤記である。
231
SCSI Primary Commands - 3 (SPC-3)
トされなければならない。
REPORT TARGET PORT GROUPS コマンドは、MAINTENANCE IN コマンドのサービスアクションである。
その他の MAINTENANCE IN サービスアクションは SCC-2 と本標準で規定される。SCC-2 で規定され
る MAINTENANCE IN サービスアクションは、標準 INQUIRY データでデバイス種別として 0Ch を返す
か、あるいは SCCS ビットに 1 が設定される論理ユニットに対してのみ適用される。
表162 REPORT TARGET PORT GROUPS コマンド
Bit
Byte
7
6
0
5
4
3
2
1
0
操作コード( OPERATION CODE )( A3h )
1
予約済み
サービスアクション( SERVICE ACTION )( 0Ah )
2
予約済み
5
6
(MSB)
アロケーション長( ALLOCATION LENGTH )
9
10
予約済み
11
コントロール( CONTROL )
(LSB)
ALLOCATION LENGTH フィールドについては 4.3.4.6 で規定される。
REPORT TARGET PORT GROUPS パラメタデータを返すために、不揮発性メモリを有効化することが
求められる可能性がある。不揮発性メモリの利用準備が整っていない場合には、コマンドは不揮
発性メモリが利用可能となるまで待ち合わせるのではなく、ステータスが CHECK CONDITION で終
了されなければならないセンスキーは NOT READY、追加センスコードは表 185 の定義に従い設定さ
れなければならない(6.33 を参照)。
REPORT TARGET PORT GROUPS コマンドにより返されるパラメタデータのフォーマットは表 163 に
示される。
表163 REPORT TARGET PORT GROUPS パラメタデータのフォーマット
Bit
Byte
0
7
6
5
4
3
2
1
0
(MSB)
返却データ長( RETURN DATA LENGTH )( n-3 )
3
(LSB)
ターゲットポートグループ記述子
4
最初のターゲットポートグループ記述子(表 164 を参照)
…
n
最後のターゲットポートグループ記述子(表 164 を参照)
RETURN DATA LENGTH フィールドは、ターゲットポートグループのリストのバイト長を指定する。
RETURN DATA LENGTH フィールドと CDB の ALLOCATION LENGTH フィールドの間の関係については
4.3.4.6 で規定される。
232
SCSI Primary Commands - 3 (SPC-3)
ターゲットポートグループ毎に、1 つのターゲットポートグループ記述子(表 164 を参照)が存
在しなければならない。
表164 ターゲットポートグループ記述子のフォーマット
Bit
Byte
7
6
5
4
3
2
1
0
0
PREF
予約済み
非対照アクセス状態( ASYMMETRIC ACCESS STATE )
1
T_SUP
予約済み
U_SUP
2
S_SUP
AN_SUP
AO_SUP
(MSB)
ターゲットポートグループ( TARGET PORT GROUP )
3
(LSB)
4
予約済み
5
ステータスコード( STATUS CODE )
6
ベンダ固有
7
ターゲットポート数( TARGET PORT COUNT )
ターゲットポート記述子
8
最初のターゲットポート記述子(表 167 を参照)
11
…
n-3
最後のターゲットポート記述子(表 167 を参照)
n
優先ターゲットポート(preferred target port:PREF)ビットに 1 が設定されている場合、当
該のサーゲットポートグループが、指定された論理ユニットにアクセスする際に優先されるター
ゲットポートグループであることを示す(5.8.2.6 を参照)。PREF ビットに 0 が設定されている
場合、ターゲットポートグループが優先されるターゲットポートグループではないことを示す。
ASYMMETRIC ACCESS STATE フィールド(表 165 を参照)には、ターゲットポートグループの現在
の非対称アクセス状態が設定される(5.8.2.4 を参照)。
表165 ASYMMETRIC ACCESS STATE フィールド
値
状態
0h
有効/最適化有り状態
1h
有効/最適化無し状態
2h
スタンバイ状態
3h
無効状態
4h~Eh
予約済み
Fh
状態遷移中状態
T_SUP、U_SUP、S_SUP、AN_SUP、AO_SUP のいずれかに 1 が設定された場合、
T_SUP、U_SUP、S_SUP、AN_SUP、AO_SUP は本標準の規定に従う。
T_SUP、U_SUP、S_SUP、AN_SUP、AO_SUP の全てに 0 が設定された場合、非対称アクセス状態のサ
ポートがベンダ固有であることを示す。
状態遷移中状態のサポート(transitioning supported:T_SUP)ビットに 1 が設定された場合、
デバイスサーバが ASYMMETRIC ACCESS STATE フィールドで Fh(すなわち、状態遷移中状態)を返
233
SCSI Primary Commands - 3 (SPC-3)
すことをサポートすることを示す。T_SUP に 0 が設定された場合、デバイスサーバは ASYMMETRIC
ACCESS STATE フィールドに Fh を設定して返すことがないことを示す。
無効状態のサポート(unavailable supported:U_SUP)ビットに 1 が設定された場合、無効非対
称アクセス状態がサポートされることを示す。U_SUP に 0 が設定された場合、無効非対称アクセス
状態がサポートされないことを示す。
スタンバイ状態のサポート(standby supported:S_SUP)ビットに 1 が設定された場合、スタン
バイ非対称アクセス状態がサポートされることを示す。S_SUP に 0 が設定された場合、スタンバイ
非対称アクセス状態がサポートされないことを示す。
有効/最適化無し状態のサポート(active/non-optimized supported:AN_SUP)ビットに 1 が設
定された場合、有効/最適化無し非対称アクセス状態がサポートされることを示す。AN_SUP に 0
が設定された場合、有効/最適化無し非対称アクセス状態がサポートされないことを示す。
有効/最適化有り状態のサポート(active/optimized supported:AO_SUP)ビットに 1 が設定さ
れた場合、有効/最適化有り非対称アクセス状態がサポートされることを示す。AO_SUP に 0 が設
定された場合、有効/最適化有り非対称アクセス状態がサポートされないことを示す。
TARGET PORT GROUP フィールドには、当該ターゲットポートグループ記述子が示すターゲット
ポートグループの識別子が格納される。ターゲットポートグループの情報はまた、デバイス識別
子 VPD ページでも返される(7.6.3 を参照)。
STATUS CODE フィールド(表 166 を参照)は、ターゲットポートグループがなぜ指定されたター
ゲットポートグループ非対称アクセス状態になり得るのかを示す。これはエラー状態を示す方法
を提供する。
表166 STATUS CODE フィールド
値
説明
00h
利用可能なステータスは存在しない。
01h
ターゲットポートグループ非対称アク
セス状態は SET TARGET PORT GROUPS
コマンドにより変更される。
02h
ターゲットポートグループ非対称アク
セス状態は、暗黙的な非対称論理ユ
ニットアクセスの動作により変更され
る。
03h~FFh
予約済み。
TARGET PORT COUNT フィールドは、ターゲットポートグループに存在するターゲットポートの数、
およびターゲットポートグループ記述子に含まれるターゲットポート記述子の個数を示す。すべ
てのターゲットポートグループには最小でも 1 つのターゲットポートが存在しなければならない。
ターゲットポートグループ記述子には、ターゲットポートグループ内のターゲットポート毎に 1
つずつターゲットポート記述子が含まれていなければならない。
234
SCSI Primary Commands - 3 (SPC-3)
表167 ターゲットポート記述子のフォーマット
Bit
Byte
7
6
5
4
3
2
1
0
0
廃止済み
1
2
(MSB)
相対ターゲットポート識別子( RELATIVE TARGET PORT IDENTIFIER )
3
(LSB)
RELATIVE TARGET PORT IDENTIFIER フィールドには、ターゲットポートグループに存在するター
ゲットポートの相対ポート識別子(3.1.88 を参照)が格納される。
6.26
REPORT TIMESTAMP コマンド
REPORT TIMESTAMP コマンド(表 168 を参照)は、デバイスサーバに対して、論理ユニットのタ
イムスタンプの値を返すよう要求する。
REPORT TIMESTAMP コマンドは MAINTENANCE IN コマンドのサービスアクションである。その他の
MAINTENANCE IN サービスアクションは SCC-2 と本標準で規定される。SCC-2 のみで規定される
MAINTENANCE IN サービスアクションは、標準 INQUIRY データ(6.4.2 を参照)でデバイス種別と
して 0Ch を返すか、あるいは SCCS ビットに 1 が設定される論理ユニットに対してのみ適用される。
表168 REPORT TIMESTAMP コマンド
Bit
Byte
7
6
0
5
4
3
2
1
0
操作コード( OPERATION CODE )( A3h )
1
予約済み
サービスアクション( SERVICE ACTION )( 0Fh )
2
予約済み
5
6
9
(MSB)
アロケーション長( ALLOCATION LENGTH )
10
予約済み
11
コントロール( CONTROL )
ALLOCATION LENGTH フィールドについては 4.3.4.6 で規定される。
235
(LSB)
SCSI Primary Commands - 3 (SPC-3)
REPORT TIMESTAMP コマンドにより返されるパラメタデータのフォーマットは表 169 に示される。
表169 REPOT TIMESTAMP パラメタデータのフォーマット
Bit
Byte
0
7
6
(MSB)
5
4
3
2
1
タイムスタンプパラメタデータ長
( TIMESTAMP PARAMETER DATA LENGTH )( 0Ah )
1
2
予約済み
3
予約済み
0
(LSB)
タイムスタンプの始点 (TIMESTAMP ORIGIN)
4
タイムスタンプ( TIMESTAMP )
9
10
予約済み
11
予約済み
TIMESTAMP PARAMETER DATA LENGTH フィールドは、後続するパラメタデータのバイト長を指定す
る。TIMESTAMP PARAMETER DATA LENGTH フィールドと CDB の ALLOCATION LENGTH フィールドの間の
関係については 4.3.4.6 で規定される。
TIMESTAMP ORIGIN フィールドはタイムスタンプの始点を示す(5.13 を参照)。
TIMESTAMP フィールドにはタイムスタンプの現在の値が設定される(5.13 を参照)。
6.27
REQUEST SENSE コマンド
REQUEST SENSE コマンド(表 170 を参照)は、デバイスサーバに対してセンスデータをアプリ
ケーションクライアントに転送するよう要求する。
表170 REQUEST SENSE コマンド
Bit
Byte
7
6
5
4
3
0
操作コード( OPERATION CODE )( 03h )
1
予約済み
2
1
0
DESC
2
予約済み
3
4
アロケーション長( ALLOCATION LENGTH )
5
コントロール( CONTROL )
記述子フォーマット(descriptor format:DESC)ビットは、どちらのセンスデータのフォー
マットが返されなければならないかを指定する。DESC に 0 が設定された場合は、固定フォーマッ
トのセンスデータ(4.5.3 を参照)が返されなければならない。DESC に 1 が設定され、記述子
フォーマットのセンスデータ(4.5.2 を参照)がサポートされる場合には、記述子フォーマットの
センスデータが返されなければならない。
ALLOCATION LENGTH フィールドは 4.3.4.6 で規定される。アプリケーションクライアントは、セ
ンスデータの全体を取得することを保証するため、252 バイトのセンスデータを要求するべきであ
る。252 バイトよりも少ない要求が行われた場合、REQUEST SENSE コマンドはいかなるアロケー
ション長で要求されてもセンスデータをクリアするために、センスデータが失われる可能性があ
る。
236
SCSI Primary Commands - 3 (SPC-3)
センスデータは、SAM-3 で規定される条件下において取得可能でなければならず、クリアされな
ければならない。デバイスサーバが返す対象となるセンスデータを持っていなかった場合には、
センスキーに NO SENSE、追加センスコードに NO ADDITIONAL SENSE INFORMATION を設定しなけれ
ばならない。
REQUEST SENSE コマンドを受信したときに、論理ユニットの電源状態が起動電源状態以外の状態
であり、かつ、ACA 状態が存在しなかった場合には、センスキーに NO SENSE、追加センスコード
には下記のいずれかを設定しなければならない。
a) 今の電源状態に遷移した理由が不明な場合には、LOW POWER CONDITION ON を設定する。
b) アイドル状態タイマにより論理ユニットがアイドル電源状態に遷移した場合には、IDLE
CONDITION ACTIVATED BY TIMER を設定する(7.4.12 を参照)。
c) スタンバイ状態タイマにより論理ユニットがスタンバイ電源状態に遷移した場合は、
STANDBY CONDITION ACTIVATED BY TIMER を設定する(7.4.12 を参照)。
d) スタンバイ電源状態にある間にアイドル電源状態への遷移を要求するコマンドを受信した
ことにより、論理ユニットがアイドル電源状態に遷移した場合には、IDLE CONDITION
ACTIVATED BY COMMAND を設定する。
e) コマンド標準(3.1.18 を参照)で規定される要求に基づき、その他の追加センスコードを
設定する。
コマンドの完了時には、論理ユニットは REQUEST SENSE コマンドを受信する前に有効だった電源
状態と同一の電源状態へと戻らなければならない。REQUEST SENSE コマンドはいかなる電源状態タ
イマもリセットしてはならない。
デバイスサーバは、REQUEST SENSE コマンド自身の例外状態を通知する場合にのみ、REQUEST
SENSE コマンドに対して CHECK CONDITION ステータスを返さなければならない。
REQUEST SENSE コマンドで CHECK CONDITION ステータスを返す例は下記の通りである。
a) CDB 内に不正なフィールド値を検出した。
b) デバイスサーバが REQUEST SENSE コマンドをサポートしていない(4.3.1 を参照)。
c) サービスデリバリサブシステムで回復不能なエラーが発生した。
d) 機能不全によりセンスデータを返すことができない。
REQUEST SENSE コマンドを、保留されたユニット警告状態(すなわち、デバイスサーバが CHECK
CONDITION ステータスを返す前の状態)が存在する I_T ネクサスで受信し、かつ REQUEST SENSE コ
マンド自身に特有の例外状態が生じた場合には、デバイスサーバは保留されたユニット警告状態
をクリアしてはならない(SAM-3 を参照)。
REQUEST SENSE コマンドの処理中に回復されたエラーが発生した場合には、デバイスサーバは
GOOD ステータスと共にセンスデータを返さなければならない。デバイスサーバが REQUEST SENSE
コマンドで CHECK CONDITION ステータスを返した場合、全てのセンスデータは不正である可能性
がある。
標準 INQUIRY データ(6.4.2 を参照)の末端修飾子で 011b を報告する論理ユニットに対する
REQUEST SENSE コマンドのレスポンスにおいて、デバイスサーバは GOOD ステータスとセンスデー
タを含むパラメタデータを返さなければならない。センスキーは ILLEGAL REQUEST で、追加セン
スコードは LOGICAL UNIT NOT SUPPORTED が設定されなければならない。
標準 INQUIRY データの末端修飾子で 001b を報告する論理ユニットに対する REQUEST SENSE コマ
ンドのレスポンスにおいて、デバイスサーバは GOOD ステータスとセンスデータを含むパラメタ
237
SCSI Primary Commands - 3 (SPC-3)
データを返さなければならない。センスキーは ILLEGAL REQUEST で、追加センスコードは LOGICAL
UNIT NOT SUPPORTED が設定されなければならない。
バスに接続された末端デバイスでアクセスに対する準備が整っていないために、標準 INQUIRY
データで 000b を報告する論理ユニットに対する REQUEST SENSE コマンドのレスポンスにおいて、
デバイスサーバは GOOD ステータスおよび、論理ユニットを利用不能たらしめる状態に対応するセ
ンスデータを格納したパラメタデータを返さなければならない。
デバイスサーバから末端デバイスが接続されてかいるか否か判断できないために、標準 INQUIRY
データで 000b を報告する論理ユニットに対する REQUEST SENSE コマンドのレスポンスにおいて、
デバイスサーバは GOOD ステータスおよび、センスキーに NO SENSE が設定されたセンスデータを
含むパラメタデータを返さなければならない。
アロケーション長が 18 以上であり DESC ビットが 0 であれば、デバイスサーバは REQUEST SENSE
コマンドのレスポンスで最小でも 18 バイト以上返さなければならない。アプリケーションクライ
アントは CDB の ALLOCATION LENGTH フィールドと、センスデータの ADDITIONAL SENSE LENGTH
フィールドを調べることにより、何バイトのセンスデータが返されたのかを調べることが可能で
ある。デバイスサーバは、アロケーション長が有効なセンスデータよりも短かった場合に、それ
を反映して追加センス長の値を調整してはならない。
6.28
SEND DIAGNOSTIC コマンド
SEND DIAGNOSTIC コマンド(表 171 を参照)はデバイスサーバに対して、SCSI ターゲットデバイ
スや論理ユニット、あるいはその両方で自己診断操作を実行するよう要求する。このコマンドを
サポートする論理ユニットは、少なくとも標準自己診断機能(すなわち、SELFTEST ビットが 1 でパ
ラメタリスト長が 0)を実装しなければならない。
表171 SEND DIAGNOSTIC コマンド
Bit
Byte
7
0
6
5
3
2
1
0
DEVOFFL
UNITOFFL
操作コード( OPERATION CODE )( 1Dh )
1
自己診断コード( SELF-TEST CODE )
2
予約済み
3
4
PF
予約済み
SELFTEST
(MSB)
パラメタリスト長( PARAMETER LIST LENGTH )
4
(LSB)
5
コントロール( CONTROL )
SELFTEST ビットに 1 が設定された場合、SELF-TEST CODE フィールドには 000b が設定されなければ
ならない。SELFTEST ビットに 0 が設定された場合は、SELF-TEST CODE フィールドの内容は表 172 で
規定される。
表172 SELF-TEST CODE フィールド
値
名前
説明
000b
この値は、SELFTEST ビットが 1、または SELFTEST ビットが 0 で PF ビットが 1 の
場合に使用されなければならない。
001b バックグラウン
ド短縮自己診断
デバイスサーバは短縮自己診断(5.5.2 を参照)をバックグラウンドモード
(5.5.3.3 を参照)で開始しなければならない。PARAMETER LIST LENGTH
フィールドには 0 が設定されなければならない。
010b バックグラウン
ド拡張自己診断
デバイスサーバは拡張自己診断(5.5.2 を参照)をバックグラウンドモード
(5.5.3.3 を参照)で開始しなければならない。PARAMETER LIST LENGTH
238
SCSI Primary Commands - 3 (SPC-3)
フィールドには 0 が設定されなければならない。
011b 予約済み
100b バックグラウン
ド自己診断の中
断
デバイスサーバは現在バックグラウンドモードで実行している自己診断を
中断しなければならない。PARAMETER LIST LENGTH フィールドには 0 が設定
されなければならない。この値は、以前にバックグラウンドモードの自己
診断が指定された SEND DIAGNOSTIC コマンドが発行されており、かつ自己診
断がまだ完了していない場合にのみ有効である。これらどちらかの条件が
成立しない場合、コマンドはステータスが CHECK CONDITION、センスキーが
ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB で終了されな
ければならない。
101b フォアグラウン
ド短縮自己診断
デバイスサーバは短縮自己診断(5.5.2 を参照)をフォアグラウンドモード
(5.5.3.2 を参照)で開始しなければならない。PARAMETER LIST LENGTH
フィールドには 0 が設定されなければならない。
110b フォアグラウン
ド拡張自己診断
デバイスサーバは拡張自己診断(5.5.2 を参照)をフォアグラウンドモード
(5.5.3.2 を参照)で開始しなければならない。PARAMETER LIST LENGTH
フィールドには 0 が設定されなければならない。
111b 予約済み
ページフォーマット(page format:PF)ビットに 1 が設定された場合、SEND DIAGNOSTIC パラ
メタと、後続する PCV ビットに 0 が設定された RECEIVE DIAGNOSTIC RESULTS コマンドにより返さ
れるパラメタデータには、7.1 の規定に従う単一の自己診断ページが格納されなければならない。
注意 31:本標準の以前のバージョン(例えば、SPC-2)に準拠する論理ユニットは、SEND
DIAGNOSTIC コマンドのパラメタリストで複数の自己診断ページを転送する可能性があり、かつ、
RECEIVE DIAGNOSTIC RESULTS コマンドのパラメタデータで複数の自己診断ページが転送されるよ
う要求される可能性がある。
PF ビットに 0 が設定された場合、全ての SEND DIAGNOSTIC パラメタがベンダ固有であることを
指定する。PARAMETER LIST LENGTH フィールドに 0 が設定され、かつ SEND DIAGNOSTIC コマンドの
後に、対応する PCV ビットに 0 を設定した RECEIVE DIAGNOSTIC RESULT コマンドが発行されない場
合には、アプリケーションクライアントは PF ビットに 0 を設定しなければならない。PF ビットの
実装はオプションである。
自己診断(self-test:SELFTEST)ビットに 1 が設定された場合、デバイスサーバは論理ユニット
のデフォルトの自己診断を実行しなければならないことを示す。自己診断が正常終了した場合、
コマンドは GOOD ステータスで終了されなければならない。自己診断が失敗した場合、コマンドは
ステータスが CHECK CONDITION、センスキーが HARDWARE ERROR で終了されなければならない。
SELFTEST ビットに 0 が設定された場合、デバイスサーバは SELFT-TEST CODE フィールドおよびパラ
メタリストで指定された自己診断操作を実行しなければならない。自己診断操作はデバイスサー
バに対して自己診断の結果を含むパラメタデータを返すよう要求する可能性がある。パラメタ
データを返すよう要求されない場合、GOOD ステータスを返すことにより自己診断操作が正常に完
了したことを示す。パラメタデータを返すことが要求される場合、デバイスサーバは下記いずれ
かを行わなければならない。
a) 要求された自己診断操作を実行し、返されるパラメタデータの準備を行い、GOOD ステータ
スを返すことにより完了を通知する。アプリケーションクライアントは、パラメタデータ
を取得するために RECEIVE DIAGNOSTIC RESULTS コマンドを発行する。
b) パラメタリストを受け入れ、パラメタリスト中にエラーが検出されなかった場合には、
GOOD ステータスを返す。要求された自己診断操作と返却するパラメタデータの準備は、
RECEIE DIAGNOSTIC RESULTS コマンドを受信した時に実行する。
239
SCSI Primary Commands - 3 (SPC-3)
ユニットオフライン(unit offline:UNITOFFL)ビットに 1 が設定された場合、デバイスサーバ
は、論理ユニット内のユーザアクセスが可能なメディアに影響する(例えば、ユーザアクセス可
能なメディアへの書き込みや、シーケンシャルアクセスデバイスにおけるメディアの位置の変
更)可能性のある自己診断を実行することが可能であることを示す。デバイスサーバは UNITOFFL
ビットを無視することが可能である。UNITOFFL ビットに 0 が設定された場合は、後続のタスクで検
知される可能性のある自己診断操作が禁止されることを示す。SELFTEST ビットに 0 が設定された場
合、UNITOFFL ビットは無視されなければならない。
SCSI ターゲットデバイスオフライン(SCSI target device offline:DEVOFFL)ビットに 1 が設定
された場合、デバイスサーバには SCSI ターゲットデバイス内の全ての論理ユニットに対して影響
する(例えば、予約やログパラメタ、センスデータの変更)可能性のある自己診断操作を行う許
可が与えられることを示す。デバイスサーバは DEVOFFL ビットを無視することが可能である。
DEVOFFL ビットに 0 が設定された場合は、後続のタスクで検知される可能性のある自己診断操作は
禁止される。SELFTEST ビットに 0 が設定された場合は、DEVOFFL ビットは無視されなければならない。
PARAMETER LIST LENGTH フィールドは、アプリケーションクライアントの Data-Out バッファか
らデバイスサーバに転送されなければならないパラメタリストのバイト長を指定する。パラメタ
リスト長に 0 が設定された場合、データが転送されてはならないことを指定する。この状態はエ
ラーと見なされてはならない。PF ビットに 1 が設定され、かつ、パラメタリスト長の指定が自己
診断ページを途中で打ち切る結果となる場合(例えば、パラメタリスト長が自己診断ページで指
定されたページ長と一致しない場合)、コマンドはステータスが CHECK CONDITION、センスキーが
ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB で終了されなければならない。
注意 32:自己診断コマンドの情報が、他の I_T ネクサスから送信されるコマンドにより破壊さ
れないことを保証するために、論理ユニットは予約されるべきである。
6.29
SET DEVICE IDENTIFIER コマンド
SET DEVICE IDENTIFIER コマンド(表 173 を参照)は、論理ユニット内のデバイス識別子情報を
SET DEVICE IDENTIFIER パラメタリストで受信した値に設定するよう要求する。SCC-2 標準の規定
通り、SET DEVICE IDENTIFIER コマンドは、MAINTENANCE OUT コマンドの SET PERIPHERAL
DEVICE/COMPONENT DEVICE IDENTIFIER サービスアクションである。その他の MAINTENANCE IN と
MAINTENANCE OUT サービスアクションは SCC-2 と本標準で規定される。
SCC-2 のみで規定される MAINTENANCE OUT サービスアクションは、標準 INQUIRY データでデバイ
ス種別として 0Ch を返すか、あるいは SCCS ビットに 1 が設定される SCSI デバイスに対してのみ適
用されなければならない。SCSI デバイスが、標準 INQUIRY データでデバイス種別として 0Ch を返
すか、あるいは SCCS ビットに 1 が設定される場合、SCC-2 の MAINTENANCE OUT サービスアクショ
ンの実装要求は SCC-2 の規定に従わなければならない。それ以外の場合は、本標準で規定される
MAINTENANCE OUT サービスアクションと実装要求が適用されなければならない。
論理ユニットが保持するデバイス識別子の変更を要求する SET DEVICE IDENTIFIER コマンドが正
常に終了した場合、デバイスサーバは SET DEVICE IDENTIFIER コマンドを受信した I_T ネクサス
を除く、全ての I_T ネクサスに関連づけられたイニシエータポートに対してユニット警告状態
(SAM-3 を参照)を確立しなければならない。かつ、追加センスコードには DEVICE IDENTIFIER
CHANGED を設定しなければならない。
240
SCSI Primary Commands - 3 (SPC-3)
表173 SET DEVICE IDENTIFIER コマンド
Bit
Byte
7
6
5
0
4
3
2
1
0
操作コード( OPERATION CODE )( A4h )
1
予約済み
サービスアクション( SERVICE ACTION )( 06h )
2
予約済み
3
4
制限される
5
6
(MSB)
パラメタリスト長( PARAMETER LIST LENGTH )
9
(LSB)
10
予約済み
11
コントロール( CONTROL )
制限される
予約済み
SCC-2 ではバイト 4、5、バイト 10 のビット 1 について固有の使用方法を規定している。しかし
これらのフィールドは、本標準で規定される SET DEVICE IDENTIFIER コマンドでは予約済みとな
る。
PARAMETER LIST LENGTH フィールドはアプリケーションクライアントからデバイスサーバに対し
て転送されなければならない識別子のバイト長を指定する。このフィールドの最大値は 512 バイ
トでなければならない。パラメタリストで 0 が指定された場合は、転送される対象となるデータ
が存在しないことを示し、後続する REPORT DEVICE IDENTIFIER コマンドで長さ 0 の識別子が返さ
れなければならないことを示す。このコマンドを実装する論理ユニットは 64 バイト以下のパラメ
タリスト長を受け入れる能力を有さなければならない。パラメタリスト長が 64 バイトを超えてお
り、かつ、論理ユニットが要求されたバイト数を受け入れることができない場合には、コマンド
はステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID
FIELD IN CDB で終了されなければならない。
SET DEVICE IDENTIFIER パラメタリスト(表 174 を参照)には、指定された論理ユニットに設定
される識別子が格納される。
表174 SET DEVICE IDENTIFIER パラメタリスト
Bit
Byte
7
6
5
4
3
2
1
0
0
識別子( IDENTIFIER )
n
IDENTIFIER フィールドには、本標準のスコープ外の方法によりアプリケーションクライアント
により選択された、後続する REPORT DEVICE IDENTIFIER コマンドで返される値が設定される。
6.30
SET PRIORITY コマンド
SET PRIORITY コマンド(表 175 を参照)は優先度を指定された値に設定するよう要求する。こ
のコマンドで設定された優先度は、下記いずれかが生じるまで有効で有り続けなければならない。
a) 他の SET PRIORITY コマンドが受信される
b) ハードリセット
c) 論理ユニットリセット
241
SCSI Primary Commands - 3 (SPC-3)
d) 電源断
このコマンドにより設定された優先度は I_T ネクサス喪失の影響を受けてはならない。
SET PRIORITY コマンドにより設定された優先度は、ある I_T ネクサス(すなわち、I_T_L ネクサ
ス)を通じて論理ユニットが受信したタスクのタスク優先度(SAM-3 を参照)として使用すること
が可能である。
SET PRIORITY コマンドは MAINTENANCE OUT コマンドのサービスアクションである。その他の
MAINTENANCE OUT サービスアクションは SCC-2 と本標準で規定される。SCC-2 のみで規定される
MAINTENANCE OUT サービスアクションは、標準 INQUIRY データでデバイス種別として 0Ch を報告す
るか、あるいは SCCS ビットに 1 が設定される論理ユニットに対してのみ適用される。
表175 SET PRIORITY コマンド
Bit
Byte
7
6
0
4
3
2
1
0
操作コード( OPERATION CODE )( A4h )
1
2
5
予約済み
対象 I_T_L ネクサス
(I_T_L NEXUS TO SET)
サービスアクション( SERVICE ACTION )( 0Eh )
予約済み
3
予約済み
5
6
(MSB)
パラメタリスト長( PARAMETER LIST LENGTH )
9
(LSB)
10
予約済み
11
コントロール( CONTROL )
I_T_L NEXUS TO SET フィールド(表 176 を参照)は、I_T_L ネクサスと、その I_T_L ネクサスに
割り当てられる優先度が格納されている場所を指定する。
表176 I_T_L NEXUS TO SET フィールド
値
説明
00b
このコマンドに関係する I_T_L ネクサスの優先度が、SET PRIORITY パラメタリスト(表 177
を参照)内の PRIORITY TO SET フィールドの値に設定されなければならない。SET PRIORITY
パラメタリスト内の PRIORITY TO SET フィールド以外の全てのフィールドは無視されなけれ
ばならない。
パラメタリスト長が 0 だった場合は、コマンドはステータスが CHECK CONDITION、センス
キーが ILLEGAL REQUEST、追加センスコードが PARAMETER LIST LENGTH ERROR で終了されな
ければならない。
01b
このコマンドが処理される論理ユニット、SET PRIORITY パラメタリスト(表 177 を参照)
内の RELATIVE TARGET PORT IDENTIFIER フィールド、TRANSPORTID フィールドにより指定さ
れる I_T_L ネクサスの優先度が、SET PRIORITY パラメタリスト内の PRIORITY TO SET フィー
ルドの値に設定されなければならない。
パラメタリスト長の指定が、RELATIVE TARGET PORT IDENTIFIER フィールド、ADDITIONAL
DESCRIPTOR LENGTH フィールド、TRANSPORTID フィールドを途中で打ち切る結果となる場合、
コマンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センス
コードが PARAMETER LIST LENGTH ERROR で終了されなければならない。
SET PRIORITY コマンドが正常に終了したら、TRANSPORTID フィールドと RELATIVE TARGET
PORT IDENTIFIER フィールドで指定される I_T ネクサスに関連するイニシエータポートに対
して、PRIORITY CHANGED の追加センスコードが設定されたユニット警告状態が確立されな
242
SCSI Primary Commands - 3 (SPC-3)
ければならない。
10b
制御拡張モードページ(7.4.7 を参照)の INITIAL PRIORITY フィールドで指定される優先
度の値が、他に設定された優先度にかかわらず、このコマンドを処理する論理ユニットに割
り当てられた全ての I_T_L ネクサスで使用されなければならない。SET PRIORITY パラメタ
リストの内容は無視されなければならない。
SET PRIORITY コマンドが正常に終了したら、他の全ての I_T_L ネクサスに関連するイニシ
エータポートに対して、PRIORITY CHANGED の追加センスコードが設定されたユニット警告
状態が確立されなければならない。
11b
予約済み。
PARAMETER LIST LENGTH フィールドは、Data-Out バッファに存在しなければならない SET
PRIORITY パラメタリスト(表 177 を参照)のバイト長を指定する。パラメタリスト長に 0 が指定
された場合は、Data-Out バッファが空でなければならないことを示す。この状態はエラーと見な
されてはならない。
表177 SET PRIORITY パラメタリストのフォーマット
Bit
Byte
7
0
5
3
2
1
0
設定される優先度( PRIORITY TO SET )
予約済み
(MSB)
3
相対ターゲットポート識別子
( RELATIVE TARGET PORT IDENTIFIER )
4
予約済み
5
予約済み
6
4
予約済み
1
2
6
(LSB)
(MSB)
追加長( ADDITIONAL LENGTH )( n-7 )
7
(LSB)
8
TransportID ( TRANSPORTID )
n
PRIORITY TO SET フィールドは、CDB の I_T_L NEXUS TO SET フィールドで指定された I_T_L ネク
サスに割り当てられる優先度を指定する。PRIORITY TO SET フィールドの値は、本節で記述される
条件の 1 つが生じるまでの間、後続の REPORT PRIORITY コマンド(6.22 を参照)により返されな
ければならない。優先度に 0 が設定された場合、I_T_L NEXUS TO SET フィールドにより指定され
た I_T_L ネクサスには、制御拡張モードページ(7.4.7 を参照)の INITIAL PRIORITY フィールド
で指定される値が設定されなければならない。I_T_L NEXUS TO SET フィールドの指定により、
PRIORITY TO SET フィールドの内容が無視されなければならない可能性がある。
RELATIVE TARGET PORT IDENTIFIER フィールドは、優先度が設定される対象となる I_T_L ネクサ
スにおけるターゲットポートの相対ポート識別子(3.1.88 を参照)が設定される。I_T_L NEXUS
TO SET フィールドの指定により、RELATIVE TARGET PORT IDENTIFIER フィールドの内容が無視さ
れなければならない可能性がある。
ADDITIONAL LENGTH フィールドは、SET PRIORITY パラメタリスト内で後続するバイト長(すなわ
ち、TransportID のサイズ)を指定する。
TRANSPORTID フィールドは、優先度が設定される対象となる I_T_L ネクサスにおけるイニシエー
タポートを識別する TransportID(7.5.4 を参照)が設定される。I_T_L NEXUS TO SET フィールド
の指定により、TRANSPORTID フィールドの内容が無視されなければならない可能性がある。
243
SCSI Primary Commands - 3 (SPC-3)
6.31
SET TARGET PORT GROUPS コマンド
SET TARGET PORT GROUPS コマンド(表 178 を参照)は、デバイスサーバに対して指定された
ターゲットポートグループにおける全てのターゲットポートの非対照アクセス状態を設定するよ
う要求する。ターゲットポートグループの非対称アクセス状態の遷移については 5.8 を参照のこ
と。このコマンドは、標準 INQUIRY データ(6.4.2 を参照)で明示的な非対称論理ユニットアクセ
スをサポートする(すなわち、TPGS フィールドに 10b ないし 11b のいずれかが設定される)もの
として報告する全ての論理ユニットで必須である。
SET TARGET PORT GROUPS コマンドは MAINTENANCE OUT コマンドのサービスアクションである。
その他の MAINTENANCE OUT サービスアクションは SCC-2 および本標準で規定される。SCC-2 のみで
規定される MAINTENANCE OUT サービスアクションは、標準 INQUIRY データでバイス種別として 0Ch
を報告する、ないし SCCS ビットに 1 が設定される論理ユニットに対してのみ適用される。
表178 SET TARGET PORT GROUPS コマンド
Bit
Byte
7
6
0
5
4
3
2
1
0
操作コード( OPERATION CODE )( A4h )
1
予約済み
サービスアクション( SERVICE ACTION )( 0Ah )
2
予約済み
5
6
(MSB)
パラメタリスト長( PARAMETER LIST LENGTH )
9
(LSB)
10
予約済み
11
コントロール( CONTROL )
PARAMETER LIST LENGTH フィールドは、アプリケーションクライアントからデバイスサーバに転
送されなければならない、ターゲットポートグループ管理パラメタのバイト長を指定する。パラ
メタリスト長に 0 が設定された場合、データは転送されてはならず、全てのターゲットポートグ
ループの非対称アクセス状態は変更されてはならないことを指定する。パラメタリスト長がベン
ダ固有の長さの要求に違反する場合、コマンドはステータスが CHECK CONDITION、追加センスコー
ドが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB で終了されなければならない。
設定されうるターゲットポート非対称アクセス状態の許可される値はベンダ固有であり、
REPORT TARGET PORT GROUP パラメタデータ(6.25 を参照)で報告されるべきである。
パラメタリストで指定されないターゲットポートグループは、SET TARGET PORT GROUPS コマン
ドの結果として非対称アクセス状態が変更される可能性がある。これは、暗黙的なターゲット
ポートグループの非対称アクセス状態の変更であると見なされてはならない。
SET TARGET PORT GROUPS によりターゲットポート非対称アクセス状態の不正な組み合わせ、あ
るいはサポートされない非対称アクセス状態の確立を試みた場合、コマンドはステータスが CHECK
CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FILED IN PARAMETER
LIST で終了されなければならない。
SET TARGET PORT GROUPS コマンドが実行されると、下記いずれの条件が適用されるかに依存し
てコマンドは完了する。
a) 状態遷移が不可視な単一のイベントとして取り扱われる場合(5.8.2.5 を参照)、要求され
た状態への遷移が完了するまで SET TARGET PORT GROUPS コマンドは完了してはならない。
b) 状態遷移が不可視な単一のイベントとして取り扱われない場合(すなわち、デバイスサー
244
SCSI Primary Commands - 3 (SPC-3)
バが非対称アクセス状態間の遷移中であるターゲットポートを通して配信されるコマンド
をサポートする場合(5.8.2.5 を参照))、SET TARGET PORT GROUPS コマンドは要求され
た状態への遷移が完了する前に終了する。
SET TARGET PORT GROUPS コマンドが正常に実行されなかった場合、 下記いずれの条件が適用さ
れるかに依存してコマンドは終了する。
a) SET TARGET PORT GROUPS コマンドが不揮発性メモリの有効化を要求し、かつ、不揮発性メ
モリが利用できなかった場合には、コマンドは、論理ユニットの準備が完了するまで待ち
合わせるのではなく、ステータスが CHECK CONDITION で終了されなければならない。セン
スキーは NOT READY、追加センスコードは表 185(6.33 を参照)の記述に従い設定されなけ
ればならない。
b) 状態遷移が完了する前に失敗が生じた時、コマンドはステータスが CHECK CONDITION、セン
スキーが HARDWARE ERROR、追加センスコードが SET TARGET PORT GROUPS COMMAND FAILED
で終了されなければならない。
2 つの SET TARGET PORT GROUPS コマンドが同時に実行された場合、ターゲットポート非対称ア
クセス状態の変更動作はベンダ固有である。ターゲットは複数の SET TARGET PORT GROUPS コマン
ドを同時に実行するべきではない。
SET TARGET PORT GROUPS パラメタデータのフォーマットは表 179 に示される。
表179 SET TARGET PORT GROUPS パラメタデータのフォーマット
Bit
Byte
7
6
5
4
3
2
1
0
1
0
0
予約済み
3
ターゲットポートグループ設定記述子
4
ターゲットポートグループ設定記述子 0 (表 180 を参照)
7
…
n-3
ターゲットポートグループ設定記述子 x (表 180 を参照)
n
ターゲットポートグループ設定記述子のフォーマットは表 180 で定義される。
表180 ターゲットポートグループ設定記述子パラメタリスト
Bit
Byte
7
0
5
4
予約済み
1
2
6
3
2
非対照アクセス状態( ASYMMETRIC ACCESS STATE )
予約済み
(MSB)
ターゲットポートグループ( TARGET PORT GROUP )
3
(LSB)
ASYMMETRIC ACCESS STATE フィールド(表 181 を参照)は、指定されたターゲットポートグルー
プ内の全てのターゲットポートが遷移しなければならない先となる非対称アクセス状態(5.8.2.4
を参照)を指定する。
245
SCSI Primary Commands - 3 (SPC-3)
表181 ASYMMETRIC ACCESS STATE フィールド
値
状態
0h
有効/最適化有り状態
1h
有効/最適化無し状態
2h
スタンバイ状態
3h
無効状態
4h~Eh
予約済み。
Fh
不正な要求 a
(a)ASYMMETRIC ACCESS STATE フィールドに Fh が設定されていた場合、コマンドはステータスが
CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN
PARAMETER LIST で終了されなければならない。
TARGET PORT GROUP フィールドは、非対称アクセス状態が変更されなければならないターゲット
ポートグループを指定する。
6.32
SET TIMESTAMP コマンド
SET TIMESTAMP コマンド(表 182 を参照)は、制御拡張モードページ(7.4.7 を参照)の SCSIP
ビットに 1 が設定されている、あるいは TCMOS ビットに 1 が設定されている場合には、デバイス
サーバに対してタイムスタンプを初期化するよう要求する(5.13 を参照)。SCSIP ビットに 0 が
設定されている場合は、SET TIMESTAMP コマンドはステータスが CHECK CONDITION、センスキーが
ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB で終了されなければならない。
SET TIMESTAMP コマンドは MAINTENANCE OUT コマンドのサービスアクションである。その他の
MAINTENANCE OUT サービスアクションは SCC-2 と本標準で規定される。SCC-2 のみで規定される
MAINTENANCE OUT サービスアクションは、標準 INQUIRY データ(6.4.2 を参照)でデバイス種別と
して 0Ch を返すか、あるいは SCCS ビットに 1 が設定される論理ユニットに対してのみ適用される。
表182 SET TIMESTAMP コマンド
Bit
Byte
7
6
0
5
4
3
2
1
0
操作コード( OPERATION CODE )( A4h )
1
予約済み
サービスアクション( SERVICE ACTION )( 0Fh )
2
予約済み
5
6
(MSB)
パラメタリスト長( PARAMETER LIST LENGTH )
9
(LSB)
10
予約済み
11
コントロール( CONTROL )
PARAMETER LIST LENGTH フィールドは、アプリケーションクライアントからデバイスサーバに送
られなければならない、SET TIMESTAMP パラメタリストのバイト長を指定する。パラメタリスト長
に 0 が指定された場合は、データは転送されてはならず、タイムスタンプは変更されてはならな
いことを示す。
SET TIMESTAMP コマンドにより返されるパラメタデータのフォーマットは表 183 に示される。
246
SCSI Primary Commands - 3 (SPC-3)
表183 SET TIME STAMP パラメタデータのフォーマット
Bit
Byte
7
6
5
4
3
2
1
0
0
予約済み
3
4
タイムスタンプ( TIMESTAMP )
9
10
予約済み
11
予約済み
TIMESTAMP フィールドには、5.13 で定義されるフォーマットにより、タイムスタンプの初期値が
格納されなければならない。タイムスタンプは、グリニッジ標準時で 1970 年 1 月 1 日深夜からの
ミリ秒単位での経過時間とするべきである。TIMESTAMP フィールドの上位 1 バイトが F0h を超えて
いる場合には、コマンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加
センスコードが INVALID FIELD IN PARAMETER LIST で終了されなければならない。
SET TIMESTAMP コマンドが正常に終了したら、デバイスサーバは SET TIMESTAMP コマンドを受信
した I_T ネクサスを除く全ての I_T ネクサスに関連するイニシエータポートに対して、ユニット
警告状態を確立しなければならない(SAM-3 を参照)。追加センスコードには TIMESTAMP CHANGED
が設定されなければならない。
6.33
TEST UNIT READY コマンド
TEST UNIT READY コマンド(表 184 を参照)は、論理ユニットが利用可能か否か確認する方法を
提供する。これは自己診断の要求ではない。論理ユニットが CHECK CONDITION ステータスを返さ
ずに適切なメディアアクセスコマンドを受け入れることが可能であれば、このコマンドは GOOD ス
テータスを返さなければならない。論理ユニットが操作可能な状態になることができないか、あ
るいは、論理ユニットを利用可能とするためにはアプリケーションクライアントに何らかの動作
(例えば、START UNIT コマンド)が要求されるような状態にある場合、コマンドはステータスが
CHECK CONDITION、センスキーが NOT READY により終了されなければならない。
表184 TEST UNIT READY コマンド
Bit
Byte
0
7
6
5
4
3
2
1
0
操作コード( OPERATION CODE )( 00h )
1
予約済み
4
5
コントロール( CONTROL )
表 185 は TEST UNIT READY コマンドに対する GOOD と CHECK CONDITION ステータスとして推奨さ
れるレスポンスを定義する。遅延エラーを含む他の状態は、異なるレスポンス(例えば、BUSY や
RESERVATION CONFLICT ステータス)となる可能性がある。
247
SCSI Primary Commands - 3 (SPC-3)
表185 推奨される TEST UNIT READY のレスポンス
ステータス
6.34
センスキー
追加センスコード
GOOD
対象外
対象外
CHECK CONDITION
ILLEGAL REQUEST LOGICAL UNIT NOT SUPPORTED
CHECK CONDITION
NOT READY
LOGICAL UNIT DOES NOT RESPOND
TO SELECTION
CHECK CONDITION
NOT READY
MEDIUM NOT PRESENT
CHECK CONDITION
NOT READY
LOGICAL UNIT NOT READY, CAUSE
NOT REPORTABLE
CHECK CONDITION
NOT READY
LOGICAL UNIT IS IN PROCESS OF
BECOMING READY
CHECK CONDITION
NOT READY
LOGICAL UNIT NOT READY,
INITIALIZING COMMAND REQUIRED
CHECK CONDITION
NOT READY
LOGICAL UNIT NOT READY,
MANUAL INTERVENTION REQUIRED
CHECK CONDITION
NOT READY
LOGICAL UNIT NOT READY,
FORMAT IN PROGRESS
WRITE ATTRIBUTE コマンド
WRITE ATTRIBUTE コマンド(表 186 を参照)は、アプリケーションクライアントに対してメディ
ア補助メモリへの書き込みを可能とする。WRITE ATTRIBUTE コマンドを実装するデバイスサーバは、
READ ATTRIBUTE コマンド(6.14 を参照)もまた実装しなければならない。アプリケーションクラ
イアントは、デバイスサーバがメディア補助メモリをサポートしているか否か検出するために、
本コマンドを使用する前に READ ATTRIBUTE コマンドを発行するべきである。
VOLUME NUMBER フィールドはメディア補助メモリ内のボリューム(SCC-2 を参照)を指定する。
メディア補助メモリのボリューム数は接続されたメディアのものと等しくなければならない。メ
ディアが単一のボリュームしか持たないのであれば、ボリューム番号は 0 が設定されなければな
らない。
PARTITION NUMBER フィールドはボリューム内のパーティション(SCC-2 を参照)を指定する。メ
ディア補助メモリのパーティションの個数は、接続されたメディアのものと等しくなければなら
ない。メディアが単一のパーティションしか持たない場合は、パーティション番号は 0 が設定さ
れなければならない。
ボリューム番号とパーティション番号の組み合わせが正しくない場合は、コマンドはステータ
スが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN
CDB で終了されなければならない。
PARAMETER LIST LENGTH フィールドは Data-Out バッファに含まれるパラメタリストのバイト長
を指定する。パラメタリスト長に 0 が設定された場合は、パラメタデータが存在しないことを示
す。この状態はエラーと見なされてはならない。パラメタリスト長の指定が属性値を途中で打ち
切る結果となる場合には、WRITE ATTRIBUTE コマンドはステータスが CHECK CONDITION、センス
キーが ILLEGAL REQUEST、追加センスコードが PARAMETER LIST LENGTH ERROR で終了されなければ
ならない。
248
SCSI Primary Commands - 3 (SPC-3)
表186 WRITE ATTRIBUTE コマンド
Bit
Byte
7
6
5
4
3
0
操作コード( OPERATION CODE )( 8Dh )
1
予約済み
2
1
0
2
制限される( SMC-2 を参照)
4
5
ボリューム番号( VOLUME NUMBER )
6
予約済み
7
パーティション番号( PARTITION NUMBER )
8
予約済み
9
10
(MSB)
パラメタリスト長( PARAMETER LIST LENGTH )
13
(LSB)
14
予約済み
15
コントロール( CONTROL )
パラメタリストは表 187 に示すフォーマットに従わなければならない。属性値は数値の昇順に整
列されて送信されるべきである。属性値が整列されていない場合は、属性値は変更されてはなら
ず、WRITE ATTRIBUTE コマンドはステータスが CHECK CONDITION、センスキーが ILLEGAL
REQUEST、追加センスコードが INVALID FIELD IN PARAMETER LIST で終了されなければならない。
表187 WRITE ATTRIBUTE パラメタリストのフォーマット
Bit
Byte
0
7
6
5
4
3
2
1
0
(MSB)
パラメタデータ長( PARAMETER DATA LENGTH )( n-3 )
3
(LSB)
属性値
4
属性値 0 ( 7.3.1 を参照)
…
属性値 X ( 7.3.1 を参照)
n
PARAMETER DATA LENGTH フィールドには属性値のデータのバイト長が格納されるべきであり、デ
バイスサーバは無視しなければならない。
属性値のフォーマットは 7.3.1 で規定される。
メディア補助メモリに属性値を書き込むためな十分なスペースが確保できない場合、属性値は
変更されてはならず、WRITE ATTRIBUTE コマンドはステータスが CHECK CONDITION、センスキーが
ILLEGAL REQUEST、追加センスコードが AUXILIARY MEMORY OUT OF SPACE で終了されなければなら
ない。
メディアが存在しないためにメディア補助メモリにアクセスできない場合、属性値は変更され
249
SCSI Primary Commands - 3 (SPC-3)
てはならず、WRITE ATTRIBUTE コマンドはステータスが CHECK CONDITION、センスキーが NOT
READY、追加センスコードが MEDIUM NOT PRESENT で終了されなければならない。
メディアは存在するがメディア補助メモリへのアクセスが不可能な場合、属性値は変更されて
はならず、WRITE ATTRIBUTE コマンドはステータスが CHECK CONDITION、センスキーが MEDIUM
ERROR、追加センスコードが LOGICAL UNIT NOT READY, AUXILIARY MEMORY NOT ACCESSIBLE で終了
されなければならない。
メディア補助メモリが操作不能な場合(例えば、チェックサム異常)、WRITE ATTRIBUTE コマン
ドはステータスが CHECK CONDITION、センスキーが MEDIUM ERROR、追加センスコードが AUXILIARY
MEMORY WRITE ERROR で終了されなければならない。
WRITE ATTRIBUTE コマンドのパラメタデータに、ATTRIBUTE LENGTH フィールド(7.3.1 を参照)
に 0 が設定された属性値が含まれていた場合、下記いずれか 1 つの動作が行われなければならな
い。
a) 属性の状態が未サポート状態、もしくは読み込み専用状態(5.11 を参照)だった場合、属
性値は変更されてはならず、WRITE ATTRIBUTE コマンドはステータスが CHECK CONDITION、
センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN PARAMETER LIST で
終了されなければならない。
b) 属性の状態が読み込み/書き込み状態だった場合、属性値は存在しない状態へと変更され
なければならない。この属性値は READ ATTRIBUTE コマンドのレスポンスで返されてはなら
ず、ATTRIBUTE LIST サービスアクションを設定した READ ATTRIBUTE コマンドで報告されて
はならない。
c) 属性値の状態が存在しない状態である場合、WRITE ATTRIBUTE コマンドのパラメタリストに
存在する属性値は無視されなければならない。この状態はエラーと見なされてはならない。
パラメタデータに下記いずれか 1 つ以上が存在する場合、属性は変更されてはならず、WRITE
ATTRIBUTE コマンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加セン
スコードが INVALID FIELD IN PARAMETER LIST で終了されなければならない。
a) 読み込み専用状態(5.11 を参照)の属性値に対する変更要求。
b) 不正な ATTRIBUTE LENGTH フィールド(7.3.1 を参照)が設定された属性値。
c) サポートされない ATTRIBUTE VALUE(7.3.1 を参照)が設定された属性値。
6.35
6.35.1
WRITE BUFFER コマンド
WRITE BUFFER コマンドの序論
WRITE BUFFER コマンド(表 188 を参照)は、SCSI ターゲットデバイス内の論理ユニットのメモ
リや、サービスデリバリサブシステムの一貫性に対する検査を行う自己診断機能として、READ
BUFFER コマンドと共に使用される。下記のために追加のモードが提供される。
a) マイクロコードのダウンロード
b) マイクロコードのダウンロードと保存
c) アプリケーションログのダウンロード(5.12 を参照)
250
SCSI Primary Commands - 3 (SPC-3)
表188 WRITE BUFFER コマンド
Bit
Byte
7
6
5
0
3
2
1
0
操作コード( OPERATION CODE )( 3Bh )
予約済み
1
モード( MODE )
2
3
4
バッファ ID ( BUFFER ID )
(MSB)
バッファオフセット( BUFFER OFFSET )
5
6
(LSB)
(MSB)
パラメタリスト長( PARAMETER LIST LENGTH )
8
(LSB)
9
コントロール( CONTROL )
コマンドは、データモードもしくはヘッダとデータの複合モードが指定された場合、論理ユ
ニット内のメディアに変更を加えてはならない。
このコマンドの機能と CDB 内のフィールドの意味は、MODE フィールドの内容に依存する。MODE
フィールドは表 189 で定義される。
表189 WRITE BUFFER の MODE フィールド
モード
説明
00h
ヘッダとデータの複合書き込み a
01h
ベンダ固有 a
02h
データ書き込み
04h
マイクロコードのダウンロード
05h
マイクロコードのダウンロードと保存
06h
オフセット指定有りのマイクロコードの
ダウンロード b
07h
オフセット指定有りのマイクロコードの
ダウンロードと保存 b
0Ah
エコーバッファ
1Ah
エキスパンダ通信プロトコルの有効化と
エコーバッファ
1Bh
エキスパンダ通信プロトコルの無効化
1Ch
アプリケーションログダウンロード
03h
予約済み
08h~09h 予約済み
0Bh~19h 予約済み
1Dh~1Fh 予約済み
(a)00h と 01h のモードは推奨されない。
(b)バッファのオフセット指定有りでのマイクロコードのダウンロードは、WRITE BUFFER コマン
ドのモードは 06h ないし 07h を設定するべきである。
251
SCSI Primary Commands - 3 (SPC-3)
6.35.2
ヘッダとデータの複合書き込みモード(00h)
このモードでは、転送されるデータには 4 バイトのヘッダが付加される。4 バイトのヘッダは全
て予約済みのバイトである。BUFFER ID と BUFFER OFFSET フィールドには 0 が設定されなければな
らない。PARAMETER LIST LENGTH フィールドは Data-Out バッファから転送されなければならない
最大バイト数を指定する。この値には 4 バイトのヘッダも含まれる。そのため、デバイスサーバ
のバッファに格納されるデータ長はパラメタリスト長から 4 を減じた値となる。アプリケーショ
ンクライアントは、パラメタリスト長の値が、READ BUFFER コマンド(モード 0h)のヘッダで返
される BUFFER CAPACITY フィールド(6.15.2 を参照)に 4 を足した値よりも大きくならないこと
を保証するよう試みるべきである。パラメタリスト長がバッファ容量を超えた場合、コマンドは
ステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID
FIELD IN CDB で終了されなければならない。
6.35.3
ベンダ固有モード(01h)
このモードでは、BUFFER ID、BUFFER OFFSET、PARAMETER LIST LENGTH フィールドの意味は本標
準では規定されない。
6.35.4
データモード(02h)
このモードでは、Data-Out バッファには論理ユニットへ送られるデータが格納される。BUFFER
ID フィールドは論理ユニット内の特定のバッファを識別する。ベンダは論理ユニット内のバッ
ファにバッファ ID の値を割り当てる。バッファ ID として 0 はサポートされなければならない。複
数のバッファがサポートされる場合、追加のバッファ ID は 1 から始まり連続的に割り当てられな
ければならない。サポートされないバッファ ID の値が選択された場合 h、コマンドはステータス
が CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB
で終了されなければならない。
データは、論理ユニットのバッファの、BUFFER OFFSET フィールドで指定される位置から開始す
る場所に書き込まれる。アプリケーションクライアントは READ BUFFER 記述子で返されるオフ
セット境界の要求を満たすべきである。デバイスサーバが指定されたバッファオフセットを受け
入れることができない場合、コマンドはステータスが CHECK CONDITION、センスキーが ILLEGAL
REQUEST、追加センスコードが INVALID FIELD IN CDB で終了されなければならない。
PARAMETER LIST LENGTH フィールドは、Data-Out バッファから転送され、バッファ内のバッファ
オフセットにより指定された位置から開始する場所へ格納されなければならない、最大のバイト
数を指定する。アプリケーションクライアントはパラメタリスト長とバッファオフセットを加算
した値が指定されたバッファの容量を超えないことを保証するよう試みるべきである。バッファ
の容量は READ BUFFER 記述子(6.15.5 を参照)内の BUFFER CAPACITY フィールドにより示される。
BUFFER OFFSET フィールドと PARAMETER LIST LENGTH フィールドによりバッファ容量を超えた転送
が指定された場合、コマンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、
追加センスコードが INVALID FIELD IN CDB で終了されなければならない。
6.35.5
マイクロコードのダウンロードモード(04h)
このモードでは、ベンダ固有のマイクロコードや制御情報が論理ユニットの制御メモリ空間に
転送されなければならない。ハードリセット後に、デバイスの操作はベンダ固有の状態に復帰し
なければならない。BUFFER ID、BUFFER OFFSET、PARAMETER LIST LENGTH フィールドの意味は本標
準では規定されず、かつ 0 埋めも要求されない。マイクロコードのダウンロードが正常に終了し
たら、デバイスサーバは WRITE BUFFER コマンドを受信した I_T ネクサスを除く全ての I_T ネクサ
スに関連するイニシエータポートに対して、ユニット警告状態(SAM-3 を参照)を確立し、追加セ
ンスコードに MICROCODE HAS BEEN CHANGED を設定しなければならない。
デバイスの何らかの条件により論理ユニットがこのコマンドを受け入れることができない場合、
このモード(04h)が設定された WRITE BUFFER コマンドは、ステータスが CHECK CONDITION、セン
252
SCSI Primary Commands - 3 (SPC-3)
スキーが ILLEGAL REQUEST、追加センスコードが COMMAND SEQUENCE ERROR で終了されなければな
らない。
6.35.6
マイクロコードのダウンロードと保存モード(05h)
このモードでは、ベンダ固有のマイクロコードや制御情報が論理ユニットに転送されなければ
ならず、かつ、WRITE BUFFER コマンドが正常に終了したら不揮発性のメモリ空間(例えば、半導
体やディスク、その他)に保存されなければならない。ダウンロードされたコードは、ハードリ
セット後から、その他のマイクロコードのダウンロードと保存操作、あるいはオフセット指定有
りのマイクロコードのダウンロードと保存操作により置き換えられるまで、有効とならなければ
ならない。 BUFFER ID、BUFFER OFFSET、PARAMETER LIST LENGTH フィールドの意味は本標準では
規定されず、かつ 0 埋めも要求されない。マイクロコードのダウンロードと保存操作が正常に終
了したら、デバイスサーバは WRITE BUFFER コマンドを受信した I_T ネクサスを除く全ての I_T ネ
クサスに関連するイニシエータポートに対して、ユニット警告状態(SAM-3 を参照)を確立し、追
加センスコードに MICROCODE HAS BEEN CHANGED を設定しなければならない。
デバイスの何らかの条件により論理ユニットがこのコマンドを受け入れることができない場合、
このモード(05h)が設定された WRITE BUFFER コマンドは、ステータスが CHECK CONDITION、セン
スキーが ILLEGAL REQUEST、追加センスコードが COMMAND SEQUENCE ERROR で終了されなければな
らない。
6.35.7
オフセット指定有りのマイクロコードのダウンロード(06h)
このモードでは、アプリケーションクライアントはベンダ固有のマイクロコードや制御情報の
転送を 2 つ以上の WRITE BUFFER コマンドに分割することが可能である。1 つないし複数のコマン
ドのセットで構成される WRITE BUFFER コマンドについて、それらのうちの最後のものが正常に終
了したら、マイクロコードや制御情報は論理ユニット内の制御記憶領域に転送されなければなら
ない。ハードリセット後、ベンダ固有の状態に復帰しなければならない。このモードでは、DataOut バッファにはベンダ固有の、自己記述的なマイクロコードや制御情報が格納される。
ダウンロードされるマイクロコードや制御情報は複数のコマンドを使用して転送される可能性
があるため、論理ユニットがオフセット指定有りのマイクロコードのダウンロードを行う WRITE
BUFFER コマンドの最後のものを受信したことを検知した場合、デバイスサーバは、最後のコマン
ドに対して GOOD ステータスを返す前に、ダウンロードされたマイクロコードや制御情報の完全な
セットに対して、論理ユニットにより要求される検証を行わなければならない。最後のコマンド
が正常終了した後、デバイスサーバは WRITE BUFFER コマンドを受信した I_T ネクサスを除く全て
の I_T ネクサスに関連するイニシエータポートに対して、追加センスコードに MICROCODE HAS
BEEN CHANGED を設定したユニット警告状態(SAM-3 を参照)を確立しなければならない。
論理ユニットリセットや I_T ネクサス喪失が発生する前までに、マイクロコードや制御情報の変
更が可能となるために必要となる全ての WRITE BUFFER コマンド(すなわち、1 つないし複数のコ
マンド)が受信されなかった場合、変更は有効となってはならず、新しいマイクロコードや制御
情報は破棄されなければならない。
BUFFER ID フィールドは論理ユニット内のバッファを指定する。ベンダは論理ユニット内のバッ
ファに対してバッファ ID コードを割り当てる。バッファ ID の値で 0 はサポートされなければなら
ない。複数のバッファがサポートされる場合、追加のバッファ ID コードは 1 から始まる連続的な
値が割り当てられなければならない。サポートされないバッファが指定された場合は、コマンド
はステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID
FIELD IN CDB で終了されなければならない。
マイクロコードや制御情報は、論理ユニット内のバッファの、BUFFER OFFSET フィールドで指定
される位置から始まる場所に書き込まれる。アプリケーションクライアントは、オフセット境界
の要求(6.15.5 を参照)に従うコマンドを送信しなければならない。デバイスサーバが指定され
たバッファオフセットを受け入れることができない場合、コマンドはステータスが CHECK
253
SCSI Primary Commands - 3 (SPC-3)
CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB で終了さ
れなければならない。
PARAMETER LIST LENGTH フィールドは、Data-Out バッファにより提供され、バッファ内の指定さ
れたバッファオフセットから開始する位置に格納されなければならないデータのバイト数を指定
する。アプリケーションクライアントは、パラメタリスト長とバッファオフセットを加算した値
が、指定されたバッファの容量を超えないことを保証するべきである。バッファの容量は READ
BUFFER 記述子(6.15.5 を参照)の BUFFER CAPACITY フィールドにより指定される。BUFFER
OFFSET と PARAMETER LIST LENGTH フィールドがバッファ容量を超過する転送を指示する場合、コ
マンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが
INVALID FIELD IN CDB で終了されなければならない。
論理ユニットが何らかのデバイスの条件によりこのコマンドを受け入れることができなかった
場合、モード(06h)が指定された各 WRITE BUFFER コマンドは、ステータスが CHECK CONDITION、
センスキーが ILLEGAL REQUEST、追加センスコードが COMMAND SEQUENCE ERROR で終了されなけれ
ばならない。
6.35.8
オフセット指定有りのマイクロコードのダウンロードと保存(07h)
このモードでは、アプリケーションクライアントはベンダ固有のマイクロコードや制御情報の
転送を 2 つ以上の WRITE BUFFER コマンドに分割することが可能である。1 つないし複数のコマン
ドから構成される WRITE BUFFER コマンドの最後のものが正常に終了したら、マイクロコードや制
御情報は不揮発性メモリ空間(例えば、半導体やディスク、その他)に保存されなければならな
い。ダウンロードされ保存されたマイクロコードや制御情報は、ハードリセット後から、その他
のマイクロコードのダウンロードと保存操作、あるいはオフセット指定有りのマイクロコードの
ダウンロードと保存操作により置き換えられるまで、有効とならなければならない。このモード
では、Data-Out バッファにはベンダ固有の、自己記述的なマイクロコードや制御情報が格納され
る。
ダウンロードされるマイクロコードや制御情報は複数のコマンドを使用して転送される可能性
があるため、論理ユニットがオフセット指定有りのマイクロコードのダウンロードと保存を行う
WRITE BUFFER コマンドの最後のものを受信したことを検知した場合、デバイスサーバは、最後の
コマンドに対して GOOD ステータスを返す前に、ダウンロードされたマイクロコードや制御情報の
完全なセットに対して、論理ユニットが要求する検証を行わなければならない。最後のコマンド
が正常終了した後、デバイスサーバは WRITE BUFFER コマンドを受信した I_T ネクサスを除く全て
の I_T ネクサスに関連するイニシエータポートに対して、追加センスコードに MICROCODE HAS
BEEN CHANGED を設定したユニット警告状態(SAM-3 を参照)を確立しなければならない。
論理ユニットリセットや I_T ネクサス喪失が発生する前までに、マイクロコードや制御情報の変
更が可能となるために要求される全ての WRITE BUFFER コマンド(すなわち、1 つないし複数のコ
マンド)が受信されなかった場合、変更は有効となってはならず、新しいマイクロコードや制御
情報は破棄されなければならない。
BUFFER ID フィールドは論理ユニット内のバッファ ID を指定する。ベンダは論理ユニット内の
バッファに対してバッファ ID コードを割り当てる。バッファ ID の値で 0 はサポートされなければ
ならない。複数のバッファがサポートされる場合、追加のバッファ ID コードは 1 から始まる連続
的な値が割り当てられなければならない。サポートされないバッファが指定された場合は、コマ
ンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが
INVALID FIELD IN CDB で終了されなければならない。
マイクロコードや制御情報は、論理ユニット内のバッファの、BUFFER OFFSET フィールドで指定
される位置から始まる場所に格納される。アプリケーションクライアントは、オフセット境界の
要求に従わなければならない。デバイスサーバが指定されたバッファオフセットを受け入れるこ
とができない場合、コマンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、
254
SCSI Primary Commands - 3 (SPC-3)
追加センスコードが INVALID FIELD IN CDB で終了されなければならない。
PARAMETER LIST LENGTH フィールドは、バッファ内の指定されたバッファオフセットから開始す
る位置に格納するために、Data-Out バッファに存在していなければならないデータのバイト数を
指定する。アプリケーションクライアントは、パラメタリスト長とバッファオフセットを加算し
た値が、指定されたバッファの容量を超えないことを保証するべきである。バッファの容量は
READ BUFFER 記述子(6.15.5 を参照)の BUFFER CAPACITY フィールドにより指定される。BUFFER
OFFSET と PARAMETER LIST LENGTH フィールドがバッファ容量を超過する転送を指示する場合、コ
マンドはステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが
INVALID FIELD IN CDB で終了されなければならない。
論理ユニットが何らかのデバイスの条件によりこのコマンドを受け入れることができなかった
場合、このモード(07h)が指定された各 WRITE BUFFER コマンドは、ステータスが CHECK
CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが COMMAND SEQUENCE ERROR で終了
されなければならない。
6.35.9
エコーバッファへのデータの書き込みモード(0Ah)
このモードでは、デバイスサーバはアプリケーションクライアントからデータを転送し、エ
コーバッファへ格納する。エコーバッファはデバイスサーバにより、書き込み操作が行われる時
と同じルールに従い割り当てられる。データは 4 バイト境界にアライメントされて転送されなけ
ればならない。BUFFER ID と BUFFER OFFSET フィールドはこのモードでは無視される。
注意 33:複数の I_T ネクサスが存在する時に生じる例外状態の個数を制限するために、論理ユ
ニットはエコーバッファを I_T ネクサス毎に割り当てることを推奨される。
WRITE BUFFER コマンドが正常終了したら、データを変更する可能性のある論理ユニットに対す
るコマンドによる介入がない限り、データはエコーバッファ内で保存されなければならない。
PARAMETER LIST LENGTH フィールドは Data-Out バッファから転送されエコーバッファに格納さ
れなければならないデータの最大バイト数を指定する。アプリケーションクライアントはパラメ
タリスト長がエコーバッファの容量を超過しないよう保証するべきである。エコーバッファの容
量は READ BUFFER 記述子(6.15.7 を参照)の BUFFER CAPACITY フィールドで指定される。
PARAMETER LIST LENGTH フィールドがバッファ容量を超える転送を指示する場合、コマンドはス
テータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID
FIELD IN CDB で終了されなければならない。
6.35.10
エキスパンダ通信プロトコルの有効化とエコーバッファモード(1Ah)
このモード(1Ah)が設定された WRITE BUFFER コマンドを受信した場合、通信用エキスパンダ
(SPI-5 を参照)が拡張通信プロトコルモードに遷移する。このモードが設定された WRITE
BUFFER コマンドを受信した SCSI ターゲットデバイス内のデバイスサーバは、このコマンドをモー
ド 0Ah(6.35.9 を参照)が設定された WRITE BUFFER コマンドとして処理しなければならない。
6.35.11
エキスパンダ通信プロトコルの無効化モード(1Bh)
このモード(1Bh)が設定された WRITE BUFFER コマンドを受信した場合、通信用エキスパンダ
(SPI-5 を参照)は拡張通信プロトコルモードを抜け、単純エキスパンダ操作に戻る。このモード
が設定された WRITE BUFFER コマンドを受信した SCSI ターゲットデバイス内のデバイスサーバは、
コマンドをステータスが CHECK CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが
INVALID FIELD IN CDB で終了しなければならない。
6.35.12
アプリケーションログのダウンロードモード(1Ch)
このモードではデバイスサーバはデータをアプリケーションクライアントから転送し、アプリ
ケーションログ(5.12 を参照)に格納する。アプリケーションログデータのフォーマットは表
255
SCSI Primary Commands - 3 (SPC-3)
190 に示される。BUFFER ID と BUFFER OFFSET フィールドはこのモードでは無視される。
WRITE BUFFER コマンドが正常に終了したら、データはアプリケーションログに追加されなけれ
ばならない。
PARAMETER LIST LENGTH フィールドは、Data-Out バッファから転送されアプリケーションログに
格納されなければならないデータの最大バイト数を指定する。PARAMETER LIST LENGTH フィールド
がアプリケーションログの容量を超える転送を指示する場合、コマンドはステータスが CHECK
CONDITION、センスキーが ILLEGAL REQUEST、追加センスコードが INVALID FIELD IN CDB で終了さ
れなければならない。
表190 WRITE BUFFER コマンドのアプリケーションログデータのフォーマット
Bit
Byte
0
7
6
5
4
3
2
1
0
(MSB)
T10 ベンダ識別子( T10 VENDOR IDENTIFICATION )
7
8
(LSB)
(MSB)
エラー種別( ERROR TYPE )
9
10
(LSB)
(MSB)
予約済み
11
12
(LSB)
(MSB)
タイムスタンプ( TIME STAMP )
17
(LSB)
18
予約済み
19
20
予約済み
21
エラー発生場所フォーマット( ERROR LOCATION FORMAT )
22
コードセット( CODE SET )
(MSB)
エラー発生場所長( ERROR LOCATION LENGTH )( m-25 )
23
24
(LSB)
(MSB)
ベンダ固有長( VENDOR SPECIFIC LENGTH )( n-m )
25
26
m
(LSB)
(MSB)
エラー発生場所( ERROR LOCATION )
(LSB)
m+1
n
ベンダ固有( VENDOR SPECIFIC )
T10 VENDOR IDENTIFICATION フィールドはプロダクトのベンダを識別する、8 バイトの左詰め
ASCII データ(4.4.1 を参照)が格納される。T10 ベンダ識別子は INCITS により割り当てられたも
のの 1 つでなければならない。割り当てられた T10 ベンダ識別子のリストは Annex E と T10 ウェブ
サイト(http://www.T10.org)に示される。
ERROR TYPE フィールド(表 191 を参照)はアプリケーションクライアントにより検知されたエ
ラーを指定する。
256
SCSI Primary Commands - 3 (SPC-3)
表191 ERROR TYPE フィールド
値
説明
0000h
アプリケーションクライアントより指摘
されるエラーは存在しない。
0001h
アプリケーションクライアントにより不
明なエラーが検知された。
0002h
アプリケーションクライアントは破損エ
ラーを検知した。
0003h
アプリケーションクライアントはパラメ
タエラーを検知した。
0004h
アプリケーションクライアントは
SERVICE DELIVERY OR TARGET FAILURE
(SAM-3)のサービスレスポンスを検知し
た。
0005h~7FFFh
予約済み。
8000h~FFFFh
ベンダ固有。
TIME STAMP フィールドには下記いずれかが格納されなければならない。
a) グリニッジ標準時で 1970 年 1 月 1 日深夜(3.1.122 を参照)からのミリ秒単位での経過時
間。
b) アプリケーションクライアントがログエントリのグリニッジ標準時を決定できない場合は
0。
CODE SET フィールドはアプリケーションログ情報で使用されるコードセット(表 192 を参照)
を指定し、かつ、これは VENDOR SPECIFIC フィールドに格納される情報にのみ適用されなければ
ならない。
注意 34:CODE SET フィールドは、アプリケーションログ情報を表示するソフトウェアを補助す
るためのものであることを意図している。
表192 CODE SET フィールド
値
説明
0h
予約済み。
1h
アプリケーションログ情報はバイナリであ
る。
2h
アプリケーションログ情報は印刷可能な
ASCII 文字列(すなわち、20h~7Eh のコー
ド値)である。
3h
アプリケーションログ情報は ISO/IEC
10646-1(UTF-8)文字列である。
4h~Fh
予約済み。
257
SCSI Primary Commands - 3 (SPC-3)
ERROR LOCATION FORMAT フィールドは ERROR LOCATION フィールドのフォーマット(表 193 を参
照)を指定する。
表193 ERROR LOCATION FORMAT フィールド
値
説明
00h
アプリケーションクライアントにより指摘
されるエラーは存在しない。
01h
ERROR LOCATION フィールドは、アプリケー
ションログに格納されるエラー情報に関連
する論理ブロック(例えば、LBA)を指定す
る。
02h~7Fh
予約済み。
80h~FFh
ベンダ固有。
ERROR LOCATION LENGTH フィールドは ERROR LOCATION フィールドの長さを指定する。ERROR
LOCATION LENGTH フィールドの値は 4 の倍数でなければならない。エラー発生場所長に 0 が設定さ
れた場合は、エラー発生場所の情報が存在しないことを示す。
VENDOR SPECIFIC LENGTH フィールドは VENDOR SPECIFIC フィールドの長さを指定する。VENDOR
SPECIFIC LENGTH フィールドは 4 の倍数でなければならない。ベンダ固有情報長に 0 が設定された
場合は、ベンダ固有情報が存在しないことを示す。
ERROR LOCATION フィールドはアプリケーションクライアントがエラーを検知した場所を示す。
VENDOR SPECIFIC フィールドはエラーについてのベンダ固有の情報を提供する。
258
SCSI Primary Commands - 3 (SPC-3)
Information technology SCSI Primary Commands-3 (SPC-3) Rev.23 2005/5/4
第 1 章~第 6 章
本書は nabiki_t が勝手に和訳したものであり、内容の正確性等、全ての事項について一切の保証は存在しない。
2015 年 5 月 21 日
259