http://en.wikipedia.org/wiki/SCSI_Write_Commands

SCSI Write Commands

From Wikipedia, the free encyclopedia

Jump to: navigation, search

There are four different SCSI Write commands defined.

Contents

[hide]

[edit] Write(6)

The Write(6) command is only 6 bytes long and is a legacy from early SCSI days. Its use is restricted to 21-bit LBAs. The CDB structure is:

bit→
↓byte
7 6 5 4 3 2 1 0
0 Operation code = 0Ah
1 LUN LBA
2 LBA
3 LBA
4 Transfer length
5 Control

[edit] Write(10)

The Write(10) command was introduced to cope with 32-bit LBAs. It also included four other enhancements. Disable Page Out (DPO) allows the initiator to warn the target that the data being written is unlikely to be read back soon and so is not worth keeping in the target's data cache. Force Unit Access (FUA) tells the target to immediately send the data to the media surface and to not buffer it through a cache. The EBP bit tells the target that it may skip the erase process when writing data. The RelAdr bit is used to indicate that the LBA value is relative (only used with linked commands). The CDB structure is:

bit→
↓byte
7 6 5 4 3 2 1 0
0 Operation code = 2Ah
1 LUN DPO FUA EBP Reserved RelAdr
2–5 LBA
6 Reserved
7–8 Transfer length
9 Control

[edit] Write(12)

The Write(12) command is similar to the Write(10) command except that it has a larger Transfer Length field. The CDB structure is:

bit→
↓byte
7 6 5 4 3 2 1 0
0 Operation code = AAh
1 LUN DPO FUA EBP Reserved RelAdr
2–5 LBA
6–9 Transfer length
10 Reserved
11 Control

[edit] Write(16)

The CDB structure is:

bit→
↓byte
7 6 5 4 3 2 1 0
0 Operation code = 8Ah
1 WRProtect DPO FUA Reserved FUA_NV Obsolete
2–9 LBA
10-13 Transfer Length
14 Reserved Group Number
15 Control


[edit] Write Long

The Write Long command allows for Error Correcting Code (ECC). The data sent from the initiator will include ECC fields as well as real data. The Byte Transfer Length field tells the target how much data will need to be returned when the data is subsequently retrieved with a Read Long command. The CDB structure is:

bit→
↓byte
7 6 5 4 3 2 1 0
0 Operation code = 3Fh
1 LUN Reserved RelAdr
2–5 LBA
6 Reserved
7–8 Byte transfer length
9 Control

Reply via email to