5K250 (SATA) OEM Specification
Page 157 of 171
14.43
Write DMA (CAh/CBh)
Command Block Output Registers
Command Block Input Registers
Register
7 6 5 4 3 2 1 0 Register
7 6 5 4 3 2 1 0
Data
- - - -
-
-
-
- Data
- - - - - -
-
-
Feature -
-
-
-
-
-
-
-
Error
...See
Below...
Sector Count
V V V V V V V V Sector Count
V V V V V V V V
LBA Low
V V V V V V V V LBA Low
V V V V V V V V
LBA Mid
V V V V V V V V LBA Mid
V V V V V V V V
LBA High
V V V V V V V V LBA High
V V V V V V V V
Device
- L - - H H H H Device
- - - - H H H H
Command
1 1 0 0 1 0 1 R Status
...See
Below...
Error Register
Status Register
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
CRC UNC 0
IDN
0 ABT T0N
AM
N
BSY RDY
DF
DSC DRQ
COR IDX
ERR
V 0 0 V 0 V 0 0
0 V V V - 0 0 V
Table 127 Write DMA Command (CAh/CBh)
The Write DMA command transfers one or more sectors of data from the host to the device, then
the data is written to the disk media.
The sectors of data are transferred through the Data Register 16 bits at a time.
The host initializes a slave-DMA channel prior to issuing the command. Data transfers are
qualified by DMARQ and are performed by the slave-DMA channel. The device issues only one
interrupt per command to indicate that data transfer has terminated and status is available.
If an uncorrectable error occurs, the write will be terminated at the failing sector.
Output Parameters To The Device
Sector Count
The number of continuous sectors to be transferred. If zero is specified, then 256 sectors
will be transferred.
LBA Low
The sector number of the first sector to be transferred. (L=0)
In LBA mode, this register contains LBA bits 0 - 7. (L=1)
LBA
High/Mid
The cylinder number of the first sector to be transferred. (L=0)
In LBA mode, this register contains LBA bits 8 - 15 (Mid), 16 - 23 (High).
(L=1)
H
The head number of the first sector to be transferred. (L=0)
In LBA mode, this register contains LBA bits 24 - 27. (L=1)
R
The retry bit, but this bit is ignored.
Input Parameters From The Device
Sector Count
The number of requested sectors not transferred. This will be zero, unless
an unrecoverable error occurs.
LBA Low
The sector number of the last transferred sector. (L=0)
In LBA mode, this register contains current LBA bits 0 - 7. (L=1)
LBA
High/Mid
The cylinder number of the last transferred sector. (L=0)
In LBA mode, this register contains current LBA bits 8 - 15 (Mid), 16 - 23 (High).
(L=1)
H
The head number of the last transferred sector. (L=0) In LBA mode, this register
contains current LBA bits 24 - 27. (L=1)