User Manual

ATA Command Description
5-22 CompactFlash
®
Memory Card Product Manual, Rev. 10.0 © 2002 SANDISK CORPORATION
5.1.28. Write Sector(s)30H, 31H
Table 5-34. Write Sectors
Bit -> 7 6 5 4 3 2 1 0
Command (7) 30H or 31H
C/D/H (6) 1 LBA 1 Drive Head (LBA 27-24)
Cyl High (5) Cylinder High (LBA 23-16)
Cyl Low (4) Cylinder Low (LBA 15-8)
Sec Num (3) Sector Number (LBA 7-0)
Sec Cnt (2) Sector Count
Feature (1) X
This command writes from 1 to 256 sectors as specified in the Sector Count Register. A sector count of zero
requests 256 sectors. The transfer begins at the sector specified in the Sector Number Register. When this command
is accepted, the CompactFlash Memory Card sets BSY, then sets DRQ and clears BSY, then waits for the host to fill
the sector buffer with the data to be written. No interrupt is generated to start the first buffer fill operation. No data
should be transferred by the host until BSY has been cleared by the host.
For multiple sectors, after the first sector of data is in the buffer, BSY will be set and DRQ will be cleared. After the
next buffer is ready for data, BSY is cleared, DRQ is set and an interrupt is generated. When the final sector of data
is transferred, BSY is set and DRQ is cleared. It will remain in this state until the command is completed at which
time BSY is cleared and an interrupt is generated.
If an error occurs during a write of more than one sector, writing terminates at the sector where the error occurs. The
Command Block Registers contain the cylinder, head and sector number of the sector where the error occurred. The
host may then read the command block to determine what error has occurred, and on which sector.
5.1.29. Write Sector(s) without Erase—38H
Table 5-35. Write Sectors without Erase
Bit -> 7 6 5 4 3 2 1 0
Command (7) 38H
C/D/H (6) 1 LBA 1 Drive Head (LBA 27-24)
Cyl High (5) Cylinder High (LBA 23-16)
Cyl Low (4) Cylinder Low (LBA 15-8)
Sec Num (3) Sector Number (LBA 7-0)
Sec Cnt (2) Sector Count
Feature (1) X
SanDisk does not recommend the use of this command in new designs but it is supported as a normal Write Sectors
command for backward compatibility reasons.