Parameter List (список параметров)
Parameter List (список параметров) начинается с четырёх байтов заголовка, который указывает функциональный код команды Copy (для устройств прямого доступа = 02h) и приоритетность.
Byte\Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||
0 | 0 | 0 | 0 | 1 | 0 | Copy Function Code | Priority | |||
1 | Vendor Unique | |||||||||
2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Reserved | |
3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Reserved | |
Segment Descriptor(one or more) | ||||||||||
0 n | Segment Descriptor 0 | |||||||||
0 n | Segment Descriptor 1 | |||||||||
... | ||||||||||
0 n | Segment Descriptor X | |||||||||
Copy Function Code ? функциональный код команды Copy (для устройств прямого доступа = 02h);
Priority ? приоритетность;
Vendor Unique ? определяется разработчиком (изготовителем);
Reserved ? зарезервировано для последующих стандартов, должны быть записаны нули;
Segment Descriptor ? дескриптор сегмента, максимальное их количество не должно превышать 256, т.е. Xmax=255 (FFh);
Segment Descriptor (дескриптор сегмента) для команды Copy для устройств прямого доступа (функциональный код = 02h).
Byte\Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0 | Source address | DC | Cat | Source LUN | |||||
1 | 0 | 0 | Destination address | Reserved | Destination LUN | ||||
2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Reserved |
3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Reserved |
4 | Number of Blocks (MSB) | ||||||||
5 | Number of Blocks | ||||||||
6 | Number of Blocks | ||||||||
7 | Number of Blocks (LSB) | ||||||||
8 | Source Logical Block Address (MSB) | ||||||||
9 | Source Logical Block Address | ||||||||
10 | Source Logical Block Address | ||||||||
11 | Source Logical Block Address (LSB) | ||||||||
12 | Destination Logical Block Address (MSB) | ||||||||
13 | Destination Logical Block Address | ||||||||
14 | Destination Logical Block Address | ||||||||
15 | Destination Logical Block Address (LSB) | ||||||||
Source address ? исходный адрес;
DC* (Destination Count) ? удалённый индекс;
Cat** (catenate bit [optional]) ? связывающий бит;
Source LUN ? номер исходного логического блока;
Destination address ? адрес назначения;
Reserved ? зарезервировано для последующих стандартов, должны быть записаны нули;
Destination LUN ? номер логического блока назначения;
Number of Blocks ? число блоков;
Source Logical Block Address ? адрес исходного логического блока;
Destination Logical Block Address ? адрес логического блока назначения;
MSB ? старший байт;
LSB ? младший байт.
* Если DC = 1, то поле числа блоков (Number of Blocks) относится к логической единице источника (Source Logical Unit). Если DC = 0, то поле числа блоков (Number of Blocks) относится к логической единице назначения (Destination Logical Unit).
** Если Cat = 1, то устройство, управляющее копированием, будет связывать последний блок сегмента источника с первым блоком следующего сегмента источника, если последний блок источника не заканчивается точно в конце блока назначения. Cat = 0 зависит от установки pad bit в блоке дескриптора команды.