READ(10) コマンドの CDB は次のとおりです。
BYTE\bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
0 | Operation Code = 0x28 | ||||||||||
1 | 予約 | DPO =0 | FMA | 予約 | 廃止 | ||||||
2 |
|
||||||||||
3 | |||||||||||
4 | |||||||||||
5 | |||||||||||
6 | 予約 | ||||||||||
7 |
|
||||||||||
8 | |||||||||||
9 | Control |
FUA (Force Unit Access) が 1 であれば、ディスクから直接読み取ります。
0 であれば、メモリ内のキャッシュがあればそれを使います。
Logical Block Address に読み取りを開始する位置をセクタで指定します。
Transfer Length に読み取るセクタ数を指定します。
データ用のバッファには、読み取ったデータが入ります。
必要な量("Transfer Length" × 1セクタの大きさ(大抵2048) [BYTE])のメモリをあらかじめ確保しておいてください。