-
Notifications
You must be signed in to change notification settings - Fork 4
/
ATA2-EIDE.txt
5853 lines (4383 loc) · 259 KB
/
ATA2-EIDE.txt
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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
WORKING DRAFT X3T10
proposed American National Standard 948D
Revision 3
January 17, 1995
Information technology -
AT Attachment Interface with Extensions
(ATA-2)
Committee Disclaimer
This is an internal working document of X3T10, a Technical Committee of
Accredited Standards Committee X3. As such, this is not a completed standard.
The contents are actively being modified by X3T10. This document is made
available for review and comment only.
Copyright Notice
Copyright 1994, Computer and Business Equipment Manufacturers Association.
Permission is granted to members of X3, its technical committees, and their
associated task groups to reproduce this document for the purposes of X3
standardization activities without further permission, provided this notice is
included. All other rights are reserved.
ASC X3T10 Technical Editor: Stephen G. Finch
Silicon Systems, Inc.
14351 Myford Road
Tustin, CA 92680-7022
USA
Tel: 714-573-6808
Fax: 714-573-6914
Email: 5723283@mcimail.com
Reference number
ISO/IEC ***** : 199x
ANSI X3.*** - 199x
Printed March, 17, 1995 7:44AM
POINTS OF CONTACT:
X3T10 Chair X3T10 Vice-Chair
John B. Lohmeyer Lawrence J. Lamers
NCR Corporation Adaptec, Inc.
1635 Aeroplaza Drive 691 S. Milpitas Blvd.
Colorado Springs, CO 80916 Milpitas, CA 95035
Tel: 719-573-3362 Tel: 408-957-7817
Fax: 719-597-8225 Fax: 408-957-7193
Email: john.lohmeyer@ftcollinsco.ncr.com Email: ljlamers@aol.com
X3 Secretariat
Lynn Barra
Administrator Standards Processing
X3 Secretariat
1250 Eye Street, NW Suite 200
Washington, DC 20005
Tel: 202-626-5738
Fax: 202-638-4922
ATA Reflector
Internet address for subscription to the ATA reflector: majordomo@dt.wdc.com
Send email to above account and include in BODY of text, on a line by itself the
following: "subscribe ata [your email address]"
Internet address for distribution via ATA reflector: ata@dt.wdc.com
ATA Anonymous FTP Site
fission.dt.wdc.com
ATA directory is: "/pub/ata"
X3T10 Bulletin Board
719-574-0424
Document Distribution
Global Engineering
15 Inverness Way East
Englewood, CO 80112-5704
Tel: 303-792-2181 or 800-854-7179
Fax: 303-792-2192
ABSTRACT
The draft standard for AT Attachment Interface For Disk Drives has been
completed, but as the popularity of the interface has increased, its application
area has grown outside the originally intended purpose. This draft proposed
standard is based upon the AT Attachment Interface For Disk Drives. This
document is a stand alone document, separate from that document. The ATA
Extensions (ATA-2) standard is intended to broaden the scope and application
area and take advantage of the huge installed BIOS (Basic Input/Output System)
base, and software.
This standard defines an integrated interface between devices and host
processors. It provides a common point of attachment for systems manufacturers,
system integrators, and suppliers of intelligent devices.
The proposed ATA-2 standard shall maintain a high degree of compatibility with
the AT Attachment while providing documentation for new capabilities. This
proposed standard is not intended to require changes to presently installed
devices or existing software. It is intended that this proposed standard would
be used to provide additional capabilities.
The proposed ATA-2 standard involves evolutionary expansion of the draft AT
Attachment standard to provide additional capabilities. The nature of the
proposed project is to insure that the AT Attachment has an upward, highly
compatible growth path. This will insure that current investments in AT
Attachment are provided with more stability in the face of technological
developments. It is likely that any isolated negative impacts would occur in
any case through non-standard evolution or revolution.
PATENT STATEMENT
CAUTION: The developers of this standard have requested that holder's of patents
that may be required for the implementation of the standard, disclose such
patents to the publisher. However, neither the developers nor the publisher
have undertaken a patent search in order to identify which, if any, patents may
apply to this standard.
As of the date of publication of this standard and following calls for the
identification of patents that may be required for the implementation of the
standard, no such claims have been made. No further patent search is conducted
by the developer or the publisher in respect to any standard it processes. No
representation is made or implied that licenses are not required to avoid
infringement in the use of this standard.
Contents Page
Foreword 9
Introduction 10
1. Scope 11
2. Normative references 11
3. Definitions, abbreviations and conventions 12
3.1. Definitions and Abbreviations 12
3.1.1. ATA (AT attachment) 12
3.1.2. ATA-1 device 12
3.1.3. AWG 12
3.1.4. Command acceptance 12
3.1.5. CHS (Cylinder-head-sector) 12
3.1.6. Data block 12
3.1.7. Device 12
3.1.8. Device selection 12
3.1.9. DMA (Direct memory access) 13
3.1.10. LBA (Logical block address) 13
3.1.11. Master 13
3.1.12. Optional 13
3.1.13. PIO (Programmed input/output) 13
3.1.14. Reserved 13
3.1.15. Sector 13
3.1.16. Slave 13
3.1.17. Unrecoverable error 13
3.1.18. VS (Vendor specific) 14
3.2. Conventions 14
3.2.1. Keywords 14
3.2.2. Numbering 14
3.2.3. Signal Conventions 14
3.2.4. Bit Conventions 15
3.2.5. Byte Ordering For 8-bit and 16-bit Data Transfers 15
4. Interface Physical and Electrical Requirements 16
4.1. Configuration 16
4.2. DC cable and connector 17
4.2.1. 4-pin power 17
4.3. I/O connector 18
4.4. I/O cable 18
4.5. Electrical Characteristics 19
4.5.1. ATA-2 Driver Types and Required Pull-ups 20
5. Interface Signal Assignments and Descriptions 21
5.1. Signal summary 21
5.2. Signal descriptions 22
5.2.1. CS0- (CHIP SELECT 0) 22
5.2.2. CS1- (CHIP SELECT 1) 22
5.2.3. DA2, DA1, and DA0 (DEVICE ADDRESS) 22
5.2.4. DASP- (Device active, device 1 present) 23
5.2.5. DD0-DD15 (Device Data) 23
5.2.6. DIOR- (Device I/O read) 23
5.2.7. DIOW- (Device I/O write) 23
5.2.8. DMACK- (DMA acknowledge) (Optional) 23
5.2.9. DMARQ (DMA request) (Optional) 24
5.2.10. INTRQ (Device interrupt) 24
5.2.11. IOCS16- (Device 16-bit I/O) 25
5.2.12. IORDY (I/O channel ready) (Optional) 25
5.2.13. PDIAG- (Passed diagnostics) 26
5.2.14. RESET- (Device reset) 26
5.2.15. SPSYNC:CSEL (Spindle synchronization/cable select) (Optional) 26
5.2.15.1. SPSYNC (Spindle synchronization) (Optional) 27
5.2.15.2. CSEL (Cable select) (Optional) 27
6. Interface Register Definitions and Descriptions 28
6.1. Device Addressing Considerations 28
6.2. I/O register descriptions 29
6.2.1. Alternate Status register 30
6.2.2. Command register 30
6.2.3. Cylinder High register 30
6.2.4. Cylinder Low register 30
6.2.5. Data register 30
6.2.6. Device Control register 31
6.2.7. Device/Head register 31
6.2.8. Error register 32
6.2.9. Features register 32
6.2.10. Sector Count register 33
6.2.11. Sector Number register 33
6.2.12. Status register 34
7. General Operational Requirements 36
7.1. Reset response 36
7.2. Sector Addressing 37
7.3. Power Management Feature Set 38
7.3.1. Power modes 38
7.3.2. Power Management Commands 38
7.3.3. Standby timer 39
7.3.4. Idle mode transition 39
7.3.5. Status 39
7.3.6. Power Mode transitions 40
7.3.7. Interface Capability For Power Modes 41
7.4. Removable media mode transitions 42
7.5. Status and Error posting 44
8.Command Descriptions 45
8.1.ACKNOWLEDGE MEDIA CHANGE (removable) 48
8.2.BOOT - POST-BOOT (removable) 49
8.3.BOOT - PRE-BOOT (removable) 50
8.4.CHECK POWER MODE 51
8.5.DOOR LOCK (removable) 52
8.6.DOOR UNLOCK (removable) 53
8.7.DOWNLOAD MICROCODE 54
8.8.EXECUTE DEVICE DIAGNOSTIC 55
8.9.FORMAT TRACK 57
8.10.IDENTIFY DEVICE 58
8.10.1.Word 0: General configuration 60
8.10.2.Word 1: Number of cylinders 60
8.10.3.Word 2: Reserved. 60
8.10.4.Word 3: Number of logical heads 60
8.10.5.Word 4: Vendor specific data. 60
8.10.6.Word 5: Vendor specific data. 60
8.10.7.Word 6: Number of logical sectors per logical track 61
8.10.8.Words 7-9: Vendor specific data. 61
8.10.9.Words 10-19: Serial Number 61
8.10.10.Word 20: Vendor specific data. 61
8.10.11.Word 21: Vendor specific data. 61
8.10.12.Word 22: Number of vendor specific bytes on READ/WRITE LONG
commands 61
8.10.13.Word 23-26: Firmware revision 61
8.10.14.Words 27-46: Model number 61
8.10.15.Word 47: READ/WRITE MULTIPLE support. 61
8.10.16.Word 48: Reserved. 61
8.10.17.Word 49: Capabilities 62
8.10.17.1.Standby Timer Support 62
8.10.17.2.IORDY Support 62
8.10.17.3.IORDY Can Be Disabled 62
8.10.17.4.LBA supported 62
8.10.17.5.DMA supported 62
8.10.18.Word 50: Reserved. 62
8.10.19.Word 51: PIO data transfer cycle timing mode 62
8.10.20.Word 52: Single Word DMA data transfer cycle timing mode 62
8.10.21.Word 53: Field Validity 63
8.10.22.Word 54: Number of current logical cylinders 63
8.10.23.Word 55: Number of current logical heads 63
8.10.24.Word 56: Number of current logical sectors per logical track 63
8.10.25.Word 57-58: Current capacity in sectors 63
8.10.26.Word 59: Multiple sector setting 63
8.10.27.Word 60-61: Total number of user addressable sectors 63
8.10.28.Word 62: Single word DMA transfer 63
8.10.29.Word 63: Multiword DMA transfer 64
8.10.30.Word 64: Flow Control PIO Transfer Modes Supported 64
8.10.31.Word 65: Minimum Multiword DMA Transfer Cycle Time Per Word 64
8.10.32.Word 66: Manufacturer's Recommended Multiword DMA Cycle Time 64
8.10.33.Word 67: Minimum PIO Transfer Cycle Time Without Flow Control 65
8.10.34.Word 68: Minimum PIO Transfer Cycle Time With IORDY 65
8.10.35.Words 69-70: Reserved for future PIO modes. 65
8.10.36.Words 71-127: Reserved. 65
8.10.37.Words 128-159: Vendor specific. 65
8.10.38.Words 160-255: Reserved. 65
8.11.IDLE 66
8.12.IDLE IMMEDIATE 67
8.13.INITIALIZE DEVICE PARAMETERS 68
8.14.MEDIA EJECT (removable) 69
8.15.NOP 70
8.16.READ BUFFER 71
8.17.READ DMA (with retries and without retries) 72
8.18.READ LONG (with retries and without retries) 73
8.19.READ MULTIPLE 74
8.20.READ SECTOR(S) (with retries and without retries) 75
8.21.READ VERIFY SECTOR(S) (with retries and without retries) 76
8.22.RECALIBRATE 77
8.23.SEEK 78
8.24.SET FEATURES 79
8.25.SET MULTIPLE MODE 81
8.26.SLEEP 82
8.27.STANDBY 83
8.28.STANDBY IMMEDIATE 84
8.29.WRITE BUFFER 85
8.30.WRITE DMA (with retries and without retries) 86
8.31.WRITE LONG (with retries and without retries) 87
8.32.WRITE MULTIPLE 88
8.33.WRITE SAME 89
8.34.WRITE SECTOR(S) (with retries and without retries) 90
8.35.WRITE VERIFY 91
9. Protocol 92
9.1. Power on and hardware resets 93
9.1.1. Power on and hardware resets - device 0 93
9.1.2. Power on and hardware resets - device 1 93
9.2. Software reset 94
9.2.1. Software reset - device 0 94
9.2.2. Software reset - device 1 94
9.3. PIO data in commands 96
9.4. PIO data out commands 98
9.5. Non-data commands 101
9.6. DMA data transfer commands (optional) 102
9.7. Device 0 only configurations 104
10. Timing 106
10.1. Deskewing 106
10.2. Symbols 106
10.3. Terms 106
10.4. Data Transfers 106
10.4.1. PIO Data Transfers 107
10.4.2. Single Word DMA Data Transfer 110
10.4.3. Multiword DMA Data Transfer 111
10.5. Power on and hard reset 113
Annex A. Diagnostic and reset considerations from a device firmware
standpoint 114
A.1. Power on and hardware reset (RESET-) 114
A.2. Software reset 114
A.3. Device diagnostic command 114
A.4. Truth table 114
A.5. Power on or hardware reset algorithm 115
A.5.1 Algorithm for Device 0 115
A.5.2 Algorithm for Device 1 116
A.6 Software Reset Algorithm 117
A.6.1 Algorithm for Device 0 117
A.6.2 Algorithm for Device 1 117
A.7. Diagnostic Command Algorithm 118
A.7.1 Algorithm for Device 0 118
A.7.2 Algorithm for Device 1 118
Annex B. 44-Pin Small Form Factor Connector 119
B.1. 44-pin signal assignments 119
Annex C. 68-Pin Small Form Factor Connector 121
C.1. Overview 121
C.2. Signals 121
C.3. Signal Descriptions 122
C.3.1. CD1- (Card Detect 1) 123
C.3.2. CD2- (Card Detect 2) 123
C.3.3. CS1- (Device chip Select 1) 123
C.3.4. DMACK- (DMA Acknowledge) 123
C.3.5. DMARQ (DMA Request) 123
C.3.6. IORDY (I/O Channel Ready) 123
C.3.7. M/S- (Master/Slave) 123
C.3.8. SELATA- (Select 68-pin ATA) 123
C.4. Removability Considerations 124
C.4.1. Device Recommendations 124
C.4.2. Host Recommendations 124
Annex D. Identify Device Data For ATA Devices Below 8 GB 125
D. Identify Drive Data Requirements 125
D.2 Cylinder, Head and Sector Addressing 125
D.2.1. Word 1 126
D.2.2. Word 3 126
D.2.3 Word 6 126
D.2.4 Use of words 53 through 58 126
D.2.5 Word 53 126
D.2.6 Word 54 127
D.2.7 Word 55 127
D.2.8 Word 56 127
D.2.9 Words 57-58 127
D.3 Logical Block Addressing 127
D.3.1 Words 60-61 127
D.3.2 Orphan Sectors 127
Annex E. ATA Command Set Summary 128
Figures Page
Figure 1 - ATA Interface Cabling Diagram 17
Figure 2 - Drive Side Connector Pin Numbering 17
Figure 3 - 40-Pin Connector Mounting 18
Figure 4 - Cable Select 27
Figure 5 - Power Management Modes 40
Figure 6 - Removable Modes 42
Figure 6 - Removable Modes (cont.) 43
Figure 7 - BSY and DRDY timing for Diagnostic command 56
Figure 8 - BSY and DRDY timing for power on and hardware resets 94
Figure 9 - BSY and DRDY timing for software reset 95
Figure 10 - PIO Data Transfer to/form Device (Part 1 of 2) 107
Figure 10 - PIO Data Transfer to/form Drive (Part 2 of 2) 109
Figure 11 - Single Word DMA Data Transfer 110
Figure 12 - Multiword DMA Data Transfer (Part 1 of 2) 111
Figure 12 - Multiword DMA Data Transfer (Part 2 of 2) 112
Figure 13 - Reset Sequence 113
Table 15 - Reset Error register Values 114
Tables Page
Table 1 - DC Interface Using 4 Pin Power Connector 17
Table 2 - DC Characteristics 19
Table 3 - AC Characteristics 19
Table 4 - ATA-2 Driver Types and Required Pull-ups 20
Table 5 - Interface Signal Names and Pin Assignments 21
Table 6 - Interface signals description 22
Table 7 - I/O Port Functions and Selection Addresses 29
Table 8 - Power Conditions 41
Table 9 - Register Usage 44
Table 10 - Command Codes and Parameters 46
Table 11 - Diagnostic Codes 55
Table 12 - Identify Drive Information (Part 1 of 2) 59
Table 12 - Identify Drive Information (Part 2 of 2) 60
Table 13 - Automatic Standby Timer Periods 66
Table 14 - Set Features register Definitions 79
Table 15 - Automatic Standby Timer Periods 83
Table 16 - Signal Assignments for 44-Pin ATA 120
Table 17 - Signal Assignments for 68-Pin ATA 122
Table 18 - Command Matrix 128
Table 19 - Commands Sorted By Command Value (Part 1 of 2) 129
Table 19 - Commands Sorted By Command Value (Part 2 of 2) 130
Foreword
This standard encompasses the following:
Clause 1 describes the scope.
Clause 2 lists the normative references.
Clause 3 provides definitions, abbreviations and conventions used within
this document.
Clause 4 contains the electrical and mechanical characteristics; covering
the interface cabling requirements of the DC, data cables and connectors.
Clause 5 contains the signal descriptions of the AT Attachment Interface.
Clause 6 contains descriptions of the registers of the AT Attachment
Interface.
Clause 7 describes the general operating requirements of the AT Attachment
Interface.
Clause 8 contains descriptions of the commands of the AT Attachment
Interface.
Clause 9 contains an overview of the protocol of the AT Attachment
Interface.
Clause 10 contains the interface timing diagrams.
Annexes A through E are informative.
Introduction
When the first IBM PC(tm) (Personal Computer) was introduced, there was no hard
disk storage capability. Successive generations of product resulted in the
inclusion of a hard disk as the primary storage device. When the PC AT(tm) was
developed, a hard disk was the key to system performance, and the controller
interface became a de facto industry interface for the inclusion of hard disks
in PC ATs.
The price of desktop systems has declined rapidly because of the degree of
integration which reduced the number of components and interconnects. A natural
outgrowth of this integration was the inclusion of controller functionality into
the hard disk.
In October 1988 a number of device suppliers formed the Common Access Method
Committee to encourage an industry-wide effort to adopt a common software
interface to dispatch input/output requests to SCSI devices. Although this was
the primary objective, a secondary goal was to specify what was known as the AT
Attachment interface. The resulting AT Attachment Interface For Disk Drives
standard fulfilled that requirement.
As personal computer type systems continued to evolve, there was a need to
extend the capabilities of the interface. The lap-top and small computer
systems needed to modify the mechanical aspects of the interface. High
performance systems needed to have enhanced transfer rates. In addition, there
were a number of issues in the AT Attachment standard that needed to be
addressed.
1. Scope
This standard extends the AT Attachment Interface with the addition of new
commands, and defining improved interface transfer rates. In addition, general
improvements have been made in content for completeness and to improve clarity.
This standard defines the AT Attachment Interface. This standard defines an
integrated interfaces between devices and host processors. It provides a common
point of attachment for systems manufacturers, system integrators, and suppliers
of intelligent devices.
The application environment for the AT Attachment Interface is any device which
uses internal storage.
The PC AT Bus(tm) is a widely used and implemented interface for which a variety
of devices have been manufactured. As a means of reducing size and cost, a
class of products has emerged which embed the controller functionality in the
device. Because of their compatibility with existing AT hardware and software
this interface quickly became a de facto industry standard. While the AT
Attachment Interface has its roots in the PC AT Bus(tm), its use has extended to
many other systems.
2. Normative references
None.
3. Definitions, abbreviations and conventions
3.1. Definitions and Abbreviations
For the purposes of this International Standard, the following definitions
apply.
3.1.1. ATA (AT attachment)
ATA defines the physical, electrical, transport, and command protocols for the
internal attachment of block storage devices.
3.1.2. ATA-1 device
A device which complies with X3.221-1994, the AT Attachement Interface for Disk
Drives.
3.1.3. AWG
American Wire Gauge.
3.1.4. Command acceptance
A command is considered accepted whenever the host writes to the Command
Register and the device currently selected has its BSY bit equal to zero. An
exception exists for the EXECUTE DIAGNOSTIC command (see the description of the
EXECUTE DIAGNOSTIC command).
3.1.5. CHS (Cylinder-head-sector)
This term defines the addressing of the device as being by cylinder number, head
number and sector number.
3.1.6. Data block
This term describes a unit of data words transferred using PIO data transfer. A
data block is transferred between the host and the device as a complete unit. A
data block is a sector, except for data blocks of a READ MULTIPLE, WRITE
MULTIPLE, READ LONG and WRITE LONG commands. In the cases of READ MULTIPLE and
WRITE MULTIPLE commands, the size of the data block may be changed in multiples
of sectors by the SET MULTIPLE MODE command. In the cases of READ LONG and
WRITE LONG, the size of the data block is a sector plus a vendor specific number
of bytes. The default length of the vendor specific bytes associate with the
READ LONG and WRITE LONG commands is four bytes, but may be changed by use of
the SET FEATURES command.
3.1.7. Device
Device is a storage peripheral. Traditionally, a device on the ATA interface
has been a hard disk drive, but any form of storage device may be placed on the
ATA interface provided it adheres to this standard.
3.1.8. Device selection
A device is selected when the DEV bit of the Drive/Head register is equal to the
device number assigned to the device by means of a Device 0/Device 1 jumper or
switch, or use of the CSEL signal.
3.1.9. DMA (Direct memory access)
A means of data transfer between device and host memory without processor
intervention.
3.1.10. LBA (Logical block address)
This term defines the addressing of the device as being by the linear mapping of
sectors.
3.1.11. Master
Previous to this standard, Device 0 has also been referred to as the master.
Through out this document the term Device 0 shall be used.
3.1.12. Optional
This term describes features which are not required by the standard. However,
if any optional feature defined by the standard is implemented, it shall be done
in the way defined by the standard. Describing a feature as optional in the
text is done to assist the reader.
3.1.13. PIO (Programmed input/output)
A means of accessing device registers. PIO is also used to describe one form of
data transfers. PIO data transfers are performed by the host processor
utilizing PIO register accesses to the Data register.
3.1.14. Reserved
Reserved bits, bytes, words, fields and code values are set aside for future
standardization. Their use and interpretation may be specified by future
extensions to this or other standards. A reserved bit, byte, word or field
shall be set to zero, or in accordance with a future extension to this standard.
The recipient shall not check reserved bits, bytes, words or fields. Receipt of
reserved code values in defined fields shall be treated as an error.
[Editor's note: Look carefully at this as it may be considered by some to be a
technical change!
3.1.15. Sector
A uniquely addressable set of 256 words (512 bytes).
3.1.16. Slave
Previous to this standard, Device 1 has also been referred to as the slave.
Through out this document the term Device 1 shall be used.
3.1.17. Unrecoverable error
An unrecoverable error is defined as having occurred at any point when the
device sets either the ERR bit or the DF bit to one and the BSY bit to zero in
the Status register when processing of a command.
3.1.18. VS (Vendor specific)
This term is used to describe bits, bytes, fields and code values which are
reserved for vendor specific purposes. These bits, bytes, fields and code
values are not described in this standard, and may be used in a way that varies
between vendors. This term is also applied to levels of functionality whose
definition is left to the vendor.
3.2. Conventions
If there is a conflict between text and tables, the table shall be accepted as
being correct.
3.2.1. Keywords
Lower case is used for words having the normal English meaning. Certain words
and terms used in this International Standard have a specific meaning beyond the
normal English meaning. These words and terms are defined either in clause 3 or
in the text where they first appear.
The names of abbreviations, commands, fields, and acronyms used as signal names
are in all uppercase (e.g., IDENTIFY DEVICE). Fields containing only one bit
are usually referred to as the "name" bit instead of the "name" field. (See
Clause 3.2.4 for the naming convention used for naming bits.)
Names of device registers begin with a capital letter (e.g., Cylinder Low
register).
3.2.2. Numbering
Numbers that are not immediately followed by a lower-case "b" or "h" are decimal
values. Numbers that are immediately followed by a lower-case "b" (e.g., 01b)
are binary values. Numbers that are immediately followed by a lower-case "h"
(e.g., 3Ah) are hexadecimal values.
3.2.3. Signal Conventions
Signal names are shown in all upper case letters.
All signals are either high active or low active signals. A dash character (-)
at the end of a signal name indicates it is a low active signal. A low active
signal is true when it is below ViL, and is false when it is above ViH. No dash
at the end of a signal name indicates it is a high active signal. A high active
signal is true when it is above ViH, and is false when it is below ViL.
Asserted means that the signal is driven by an active circuit to its true state.
Negated means that the signal is driven by an active circuit to its false state.
Released means that the signal is not actively driven to any state. Some
signals have bias circuitry that pull the signal to either a true state or false
state when no signal driver is actively asserting or negating the signal. These
cases are noted under the description of the signal, and their released state is
stated.
Control signals that may be used for two mutually exclusive functions are
identified with their two names separated by a colon e.g. SPSYNC:CSEL can be
used for either the Spindle Sync (SPSYNC) or the Cable Select (CSEL) functions.
3.2.4. Bit Conventions
Bit names are shown in all upper case letters except where a lower case n
precedes a bit name. If there is no preceding n, then when BIT is equal to one
the meaning of the bit is true, and when BIT is equal to zero the meaning of the
bit is false. If there is a preceding n, then when nBIT is equal to zero the
meaning of the bit is true and when nBIT is equal to one the meaning of the bit
is false.
3.2.5. Byte Ordering For 8-bit and 16-bit Data Transfers
Assuming a block of data contains "n" bytes of information, and the bytes are
labeled Byte(0) through Byte(n-1), where Byte(0) is first byte of the field, and
Byte(n-1) is the last byte of the block.
When such a block of data is transferred on the ATA interface in 16 bit wide
transfer mode, then the bytes shall be presented in the following order:
DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
First transfer --------Byte(1)-------- --------Byte(0)--------
Second transfer --------Byte(3)-------- --------Byte(2)--------
...
Last transfer -------Byte(n-1)------- -------Byte(n-2)-------
When such a block of data is transferred on the ATA interface in 8 bit wide
transfer mode, then the bytes shall be presented in the following order:
DD DD DD DD DD DD DD DD
07 06 05 04 03 02 01 00
First transfer --------Byte(0)--------
Second transfer --------Byte(1)--------
...
Next to last transfer -------Byte(n-2)-------
Last transfer -------Byte(n-1)-------
Note: The above description is for data on the ATA Interface. Host systems
and/or host adapters may cause the order of data, as seen in the memory of the
host, to be different.
4. Interface Physical and Electrical Requirements
The traditional 40-pin ATA interface is documented in this section as one of the
connection schemes being utilized. Annex B and Annex C provide a basic
definition of two alternative connection schemes.
4.1. Configuration
This standard defines the ATA interface containing a single host or host adapter
and one or two devices. If two devices are connected to the interface, they are
connected in a daisy chained configuration. One device is configured as Device
0 and the other device as Device 1.
The designation of a device as Device 0 or Device 1 may be made in a number of
ways:
- a switch or a jumper on the device
- use of the Cable Select (CSEL) pin
+---------+
| Host or |-------+------------+
| Adapter | | |
+---------+ +----+-----+ +----+-----+
| Device 0 | | Device 1 |
+----------+ +----------+
+---------+
| Host or |-------+------------+
| Adapter | | |
+---------+ +----+-----+ +----+-----+
| Device 1 | | Device 0 |
+----------+ +----------+
In a two drive configuration, the order of placement of Device 0 and Device 1 on
the ATA interface cable is not significant to the operation of the interface.
+---------+
| Host or |-------+------------+
| Adapter | | |
+---------+ +----+-----+
| Device |
+----------+
If only a single device is attached via the ATA interface to a host, it is
recommended that the host and the device be placed at the two ends of the cable.
Figure 1 - ATA Interface Cabling Diagram
Also see clause 5.2.15.2 on CSEL operation.
4.2. DC cable and connector
The device receives DC power through a 4-pin connector.
4.2.1. 4-pin power
The pin assignments are shown in table 1. Recommended part numbers for the
mating connector to 18 AWG cable are shown below, but compatible parts may be
used.
Connector (4 pin) AMP 1-480424-0 or compatible.
Contacts (loose piece) AMP 60619-4 or compatible.
Contacts (strip) AMP 61117-4 or compatible.
[Editor's Note: Are these the device side connectors or the cable side
connectors? Attempt to get diagrams from SFF-8012.]
[Editor's Note: Does anyone else feel uneasy about specifying a manufacturer's
part number? What if the manufacturer changes its specification for that part?
As far as I know they are under no obligation to tell us. I know the history,
keep it simple and get the ATA specification out, but does this approach apply
to ATA-2 as well?]
+========================+============+
| Power line designation | Pin Number |
+========================+============+
| +12 Volts | 1 |
+------------------------+------------+
| +12 Volt Return | 2 |
+------------------------+------------+
| +5 Volt Return | 3 |
+------------------------+------------+
| +5 Volts | 4 |
+------------------------+------------+
Table 1 - DC Interface Using 4 Pin Power Connector
/----------+-----------+-----------+---------\
/ 4 | 3 | 2 | 1 \
| +5VDC |+5V Return |+12V Return| +12VDC |
+-----------+-----------+-----------+----------+
Figure 2 - Drive Side Connector Pin Numbering
[Editor's note: 4.3 Ground connection was deleted, subject to no objections.]
4.3. I/O connector
The I/O connector is a 40-pin connector as shown in figure 3, with pin
assignments as shown in table 5. The connector should be keyed to prevent the
possibility of installing it upside down. A key is provided by the removal of
pin 20. The corresponding pin on the cable connector should be plugged.
The pin locations are governed by the cable plug, not the receptacle. The way
in which the receptacle is mounted on the printed circuit board affects the pin
positions, and pin 1 should remain in the same relative position. This means
the pin numbers of the receptacle may not reflect the conductor number of the
plug. The header receptacle is not polarized, and all the signals are relative
to pin 20, which is keyed.
By using the plug positions as primary, a straight cable can connect devices.
As shown in figure 3, conductor 1 on pin 1 of the plug has to be in the same
relative position no matter what the receptacle numbering looks like. If
receptacle numbering was followed, the cable would have to twist 180 degrees
between a device with top-mounted receptacles, and a device with bottom-mounted
receptacles.
+-----------------------+
| 1|
|40 20 2|
======= Circuit board ======= ======= Circuit board =======
| 1|
|40 20 2|
+-----------------------+
Figure 3 - 40-Pin Connector Mounting
Recommended part numbers for the mating connector are shown below, but
equivalent parts may be used.
Connector (40 pin) 3M 3417-7000 or equivalent.
Strain relief 3M 3448-2040 or equivalent.
4.4. I/O cable
The cable specifications affect system integrity and the maximum length that can
be supported in any application.
Flat cable (stranded 28 AWG) 3M 3365-40 or equivalent.
Flat cable (stranded 28 AWG) 3M 3517-40 (shielded) or equivalent.
Cable total length shall not exceed 0,46m (18 inches).
Cable capacitance shall not exceed 35 pf.
4.5. Electrical Characteristics
Interface signal are defined in Table 2 and Table 3.
+--------------------------------------+-----------+------------+
| Description | Min | Max |
+------+--------------------------------------+-----------+------------+
| IoL | Driver sink current | 12mA | |
| IoH | Driver source current |400uA | |
| Vih | Voltage Input High | 2,0 V D.C.| |
| Vil | Voltage Input Low | | 0,8 V D.C.|
| Voh | Voltage Output High (Ioh = -400 u A) | 2,4 V D.C.| |
| Vol | Voltage Output Low (Iol = 12ma) | | 0,5 V D.C.|
+------+--------------------------------------+-----------+------------+
Table 2 - DC Characteristics
+--------------------------------------------+------+--------+
| Description | Min | Max |
+--------+--------------------------------------------+------+--------+
| tRISE | Rise time for any signal on AT interface(1)| 5ns | |
| tFALL | Fall time for any signal on AT interface(1)| 5ns | |
| Cin | Input Capacitance(each host or Device) | | 25 pf |
| Cout | Output Capacitance(each host or Device) | | 25 pf |
+--------+--------------------------------------------+------+--------+
(1) tRISE and tFALL are measured from 10-90% of full signal amplitude
with a total capacitive load of 100 pf.
Table 3 - AC Characteristics
Note: IoH value at 400 uA is insufficient in the case of DMARQ which is
typically pulled low by a 5.6k ohm resistor.
4.5.1. ATA-2 Driver Types and Required Pull-ups
+==============+========+========+=========+==========+========+
| | | Driver | Pull-up | Pull-up | |
| Signal | Source | Type | at Host | at each | Notes |
| | | (1) | (2) | Device(2)| |
+--------------+--------+--------+---------+----------+--------+
| | | | | | |
| Reset | Host | TP | | | |
| DD 0:15 | Bidir. | TS | | | |
| DMARQ | Device | TS | 5.6K PD | | (3) |
| DIOR- DIOW- | Host | TS | | | |
| IORDY | Device | TS | 1.0K | | (4) |
| SPSYNC/CSEL | | | | | (5) |
| CSEL | Host | | Ground | 10K | (6) |
| SPSYNC | Device | TS/OC | | VS | (7) |
| DMACK- | Host | TP | | | |
| INTRQ | Device | TS | | | |
| IOCS16- | Device | OC | 1.0K | | |
| DA0:2 | Host | TP | | | |
| PDIAG- | Device | TS | | 10K | |
| CS0- CS1- | Host | TP | | | |
| DASP- | Device | OC | | 10K | (5) |
| | | | | | |
+==============+========+========+=========+==========+========+
(1) TS=Tri-State; OC=Open Collector; TP=Totem-Pole; PU=Pull-up;
PD=Pull-down; VS=Vendor specific
(2) All resistor values are minimum (lowest) allowed.
(3) ATA-2 defines this line to be tri-stated whenever the device is
not selected or is not executing a DMA data transfer. When enabled
by DMA transfer, it shall be driven high and low by the device.
(4) This signal should only be enabled during DIOR/DIOW cycles to
the selected device.
(5) See signal descriptions for information on dual use of this
signal.
(6) When used as CSEL, Line is grounded at Host and 10K Pull-up is
required at both devices.
(7) When used as SPSYNC, application is vendor specific.
Table 4 - ATA-2 Driver Types and Required Pull-ups
5. Interface Signal Assignments and Descriptions
5.1. Signal summary
The physical interface consists of receivers and drivers communicating through a
40-conductor flat ribbon non-shielded cable using an asynchronous interface
protocol. The pin numbers and signal names are shown in table 5. Reserved