Hitachi C4K60 Specifications - Page 84

Read Multiple [C4h]

Page 84 highlights

7.5.19. Read Multiple [C4h] Task File Registers Command LBA High LBA Mid LBA Low Device/Head Sector Count Features 7 6 5 4 3 2 1 0 C4h L = 0: Cylinder number bit 15 - 8 L = 1: 28-bit LBA address bit 23 - 16 L = 0: Cylinder number bit 7 - 0 L = 1: 28-bit LBA address bit 15 - 8 L = 0: Sector number L = 1: 28-bit LBA address bit 7 - 0 X L X DRV L = 0: Head Number L = 1: 28-bit LBA address bit 27-24 Sector Count XX The READ MULTIPLE command is similar to the READ SECTORS command, except interrupts are not generated on every sector, but on the transfer of a block which contains the number of sectors defined by a SET MULTIPLE MODE command. The number of sectors defined by a SET MULTIPLE MODE command is transferred without intervening interrupts. DRQ qualification of the transfer is required only at the start of the data block, not on each sector. The SET MULTIPLE MODE command, which must be executed prior to the READ MULTIPLE command, sets the block count of sectors to be transferred. When the READ MULTIPLE command is issued, the Sector Count Register contains the number of sectors (not the number of blocks or the block count) requested. If the number of requested sectors is not evenly divisible by the block count, as many full blocks as possible are transferred, followed by a final, partial block transfer for n sectors, where n = residue of {Sector Count / Sector Count per Block}. Disk errors encountered during READ MULTIPLE commands are posted at the beginning of the block or partial block transfer, but DRQ is still set and the data transfer should be executed as it normally would, including transfer of corrupted data, if any. Subsequent blocks or partial blocks are transferred only if the error was a correctable data error. All other errors cause the command to stop after transfer of the block that contained the error. Interrupts are generated when DRQ is set at the beginning of each block or partial block. K6610170 Rev.2 Dec 22, 2004 - 84 -

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145

K6610170
Rev.2
Dec 22, 2004
- 84 -
7.5.19. Read Multiple [C4h]
Task File Registers
7
6
5
4
3
2
1
0
Command
C4h
LBA High
L = 0: Cylinder number bit 15 - 8
L = 1: 28-bit LBA address bit
23 - 16
LBA Mid
L = 0: Cylinder number bit 7 - 0
L = 1: 28-bit LBA address bit
15 - 8
LBA Low
L = 0: Sector number
L = 1: 28-bit LBA address bit 7 - 0
Device/Head
X
L
X
DRV L = 0:
Head Number
L = 1:
28-bit LBA address
bit 27-24
Sector Count
Sector Count
Features
XX
The READ MULTIPLE command is similar to the READ SECTORS command, except interrupts are not
generated on every sector, but on the transfer of a block which contains the number of sectors defined by a
SET MULTIPLE MODE command. The number of sectors defined by a SET MULTIPLE MODE command is
transferred without intervening interrupts. DRQ qualification of the transfer is required only at the start of the
data block, not on each sector. The SET MULTIPLE MODE command, which must be executed prior to the
READ MULTIPLE command, sets the block count of sectors to be transferred.
When the READ MULTIPLE command is issued, the Sector Count Register contains the number of sectors
(not the number of blocks or the block count) requested. If the number of requested sectors is not evenly
divisible by the block count, as many full blocks as possible are transferred, followed by a final, partial block
transfer for n sectors, where n = residue of {Sector Count / Sector Count per Block}.
Disk errors encountered during READ MULTIPLE commands are posted at the beginning of the block or
partial block transfer, but DRQ is still set and the data transfer should be executed as it normally would,
including transfer of corrupted data, if any. Subsequent blocks or partial blocks are transferred only if the
error was a correctable data error. All other errors cause the command to stop after transfer of the block that
contained the error. Interrupts are generated when DRQ is set at the beginning of each block or partial block.