You are on page 1of 156

HDAT2

User’s Manual

Version 4.5.2

17.09.2006

Lubomir Cabla/CBL

http://www.hdat2.com/
Contents
CONTENTS....................................................................................................................................................................I
TABLES......................................................................................................................................................................VII
PICTURES...............................................................................................................................................................VIII
PREFACE.......................................................................................................................................................................9
1. HDAT2 PROGRAM................................................................................................................................................10
1.1 OVERVIEW..............................................................................................................................................................10
1.2 USED INTERRUPTS, KEYS...........................................................................................................................................10
1.3 COMMON NOTES.......................................................................................................................................................10
1.5 COMMAND LINE PARAMETERS.....................................................................................................................................11
/Dx Disable detection......................................................................................................................................................11
/L Create HDETECT.LOG file at startup.......................................................................................................................11
/M MONO monitor.........................................................................................................................................................12
/P Pause on detect-screen................................................................................................................................................12
/S No sound (Silent Mode).............................................................................................................................................12
/Xy Special functions......................................................................................................................................................12
?, /?, h, /h, H, /H Show help............................................................................................................................................12
2. DETECT OF PC RESOURCES.............................................................................................................................13
2.1 DETECTION OF BIOS...............................................................................................................................................13
2.1.1 Detection of system BIOS.............................................................................................................................13
2.1.2 Detection of PnP BIOS.................................................................................................................................13
2.1.3 Detection of ESCD.......................................................................................................................................13
2.1.4 Detection of BBS..........................................................................................................................................13
2.1.5 Detection of BIOS32.....................................................................................................................................13
2.1.6 Detection of PCI BIOS.................................................................................................................................14
2.2 DETECTION OF CPU/RAM/BUS.............................................................................................................................14
2.3 DETECTION OF CMOS.............................................................................................................................................14
2.4 DETECTION OF ROM‘S............................................................................................................................................14
2.5 DETECTION OF FDD................................................................................................................................................14
2.6 DETECTION OF ATA/ATAPI ON-BOARD.....................................................................................................................15
2.7 DETECTION OF PCI..................................................................................................................................................15
2.8 DETECTION OF ASPI................................................................................................................................................15
2.9 DETECTION OF EXTENDED INT13H............................................................................................................................16
2.10 DETECTION OF OPERATING SYSTEM............................................................................................................................16
3. MENU.......................................................................................................................................................................17
M1. DRIVE LEVEL TESTS MENU..........................................................................................................................18
M1.1 CHECK AND REPAIR BAD SECTORS...........................................................................................................................18
M1.2 CHECK BAD SECTORS ONLY.....................................................................................................................................18
M1.3 READ DRIVE.........................................................................................................................................................18
M1.4 WIPE DRIVE.........................................................................................................................................................18
M1.5 SEEK DRIVE.........................................................................................................................................................18
M1.6 MOST POWERFUL TEST...........................................................................................................................................18
M1.7 USER DEFINED TEST..............................................................................................................................................18
M2. FILE LEVEL TESTS MENU.............................................................................................................................19
M2.1 READ FILE SYSTEM FROM MBR............................................................................................................................19
M2.2 SCAN FILE SYSTEM..............................................................................................................................................19
M2.3 USER DEFINED TEST..............................................................................................................................................19
M3. DEVICE INFORMATION MENU....................................................................................................................20
M3.1 DEVICE INFORMATION...........................................................................................................................................20
M3.2 INQUIRY DATA.....................................................................................................................................................20

Page i
M3.3 MODE SENSE DATA..............................................................................................................................................20
M3.4 VITAL PRODUCT DATA (VPD)...............................................................................................................................22
M3.5 TABLE OF CONTENTS (TOC/PMA/ATIP)..............................................................................................................23
M3.6 GET CONFIGURATION............................................................................................................................................23
M3.7 READ DISC INFORMATION......................................................................................................................................24
M3.8 MECHANISM STATUS.............................................................................................................................................24
M3.9 LOG SENSE..........................................................................................................................................................24
M3.9.1 Error counter log pages............................................................................................................................25
M4. S.M.A.R.T. MENU...............................................................................................................................................27
The evolution of S.M.A.R.T.............................................................................................................................................27
The two S.M.A.R.T. specifications: ATA/SCSI................................................................................................................28
Some failures are predictable, and some are not..............................................................................................................28
How attributes are determined..........................................................................................................................................29
Attribute values.................................................................................................................................................................29
Worst value.......................................................................................................................................................................30
Threshold Exceeded Condition (T.E.C.)...........................................................................................................................30
M4.1 READ DATA.........................................................................................................................................................30
M4.2 READ ATTRIBUTE THRESHOLDS/DATA......................................................................................................................30
Temperature..................................................................................................................................................................41
Write, Read and Verify Error Counter pages................................................................................................................41
Non-medium error count..............................................................................................................................................42
Self-Test Results...........................................................................................................................................................43
Last n Error Events.......................................................................................................................................................44
M5. ROUTINE MENU................................................................................................................................................44
M5.1 OFF-LINE............................................................................................................................................................45
M5.2 SHORT SELF-TEST................................................................................................................................................45
M5.3 EXTENDED SELF-TEST..........................................................................................................................................45
M5.4 CONVEYANCE SELF-TEST......................................................................................................................................46
M5.5 SELECTIVE SELF-TEST..........................................................................................................................................46
M5.6 ABORT OFF-LINE SELF-TEST ROUTINE...................................................................................................................47
M6. READ LOG MENU.............................................................................................................................................47
M6.1 LOG DIRECTORY..................................................................................................................................................47
M6.2 SUMMARY ERROR LOG..........................................................................................................................................48
M6.3 COMPREHENSIVE ERROR LOG.................................................................................................................................50
M6.4 EXTENDED COMPREHENSIVE ERROR LOG.................................................................................................................50
M6.5 SELF-TEST LOG...................................................................................................................................................51
M6.6 SELECTIVE LOG....................................................................................................................................................51
M6.7 LOG DUMP..........................................................................................................................................................51
M7. DEVICE CONFIGURATION OVERLAY MENU...........................................................................................52
ATA/ATAPI Device Configuration Overlay (DCO)....................................................................................................52
SATA II Device Configuration Overlay (DCO)...........................................................................................................52
M7.1 SHOW IDENTIFY....................................................................................................................................................52
M7.2 MODIFY..............................................................................................................................................................52
Example of the restrictions on changing of bits:..............................................................................................................53
Maximum LBA sectors restrictions..................................................................................................................................53
Host Protected Area feature set restrictions......................................................................................................................53
M7.3 RESTORE.............................................................................................................................................................54
M7.4 FREEZE LOCK......................................................................................................................................................54
M8. SECURITY MENU..............................................................................................................................................55
Security Mode feature set .....................................................................................................................................................55
Master Password Revision Code...........................................................................................................................................56
User password lost................................................................................................................................................................56
Attempt limit for SECURITY UNLOCK command.............................................................................................................56
M8.1 SET PASSWORD............................................................................................................................................57
M8.2 FREEZE LOCK...............................................................................................................................................57
M8.3 UNLOCK.........................................................................................................................................................57
M8.4 DISABLE PASSWORD..................................................................................................................................58

Page ii
M8.5 ERASE UNIT..................................................................................................................................................58
M8.6 UNLOCK DEVICE...................................................................................................................................................59
M9. SET MAX (HPA) MENU....................................................................................................................................60
M9.1 SET MAX ADDRESS..............................................................................................................................................60
M9.2 SET PASSWORD....................................................................................................................................................62
M9.3 LOCK..................................................................................................................................................................62
M9.4 UNLOCK..............................................................................................................................................................62
M9.5 FREEZE LOCK......................................................................................................................................................62
M10. QUANTUM MENU...........................................................................................................................................63
M10.1 READ DEFECT LIST............................................................................................................................................63
M10.2 READ CONFIGURATION........................................................................................................................................63
M10.2.1 DisCache Parameters.............................................................................................................................64
PE - Prefetch Enable [default bit=1].................................................................................................................................64
CE - Cache Enable [default bit=1]....................................................................................................................................64
M10.2.2 Error Recovery Parameters....................................................................................................................64
AWRE - Automatic Write Reallocation enabled [default bit=1]..................................................................................64
ARR - Automatic Read Reallocation enabled [default bit=1]......................................................................................64
RC - Read Continuous [default bit=0].........................................................................................................................64
EEC - Enable Early Correction [default bit=0]............................................................................................................64
Silent Mode enabled.....................................................................................................................................................64
DCR - Disable Correction [default bit=0]....................................................................................................................65
Number of Retries [default byte=8].............................................................................................................................65
ECC Correction Span [default byte=32]......................................................................................................................65
M10.2.3 Device Parameters..................................................................................................................................65
WCE - Write Cache Enable [default=1].......................................................................................................................65
RUEE - Reallocate Uncorrectable Error Enables [default=1].....................................................................................65
M11. DUMP/SAVE MENU.........................................................................................................................................66
M11.1 SAVE DEBUG DATA.........................................................................................................................................66
M11.2 SAVE DETECT DATA............................................................................................................................................66
M11.3 SAVE CMOS BINARY........................................................................................................................................66
M11.4 SAVE CMOS HEX DUMP...................................................................................................................................66
M11.5 DUMP IDENTIFY DEVICE............................................................................................................................66
M11.6 DUMP DCO......................................................................................................................................................67
M.13 COMMANDS MENU........................................................................................................................................68
M13.1 COMMAND/FEATURE SETS....................................................................................................................................68
M13.1.1 S.M.A.R.T. feature set..............................................................................................................................68
M13.1.2 Security Mode feature set........................................................................................................................68
M13.1.3 Removable Media feature set..................................................................................................................68
M13.1.4 Power Management feature set...............................................................................................................69
M13.1.5 PACKET Command feature set...............................................................................................................69
M13.1.6 Write Cache.............................................................................................................................................69
M13.1.7 Look Ahead.............................................................................................................................................69
M13.1.8 Release interrupt.....................................................................................................................................69
M13.1.9 SERVICE interrupt..................................................................................................................................69
M13.1.10 DEVICE RESET command...................................................................................................................70
M13.1.11 Host Protected Area feature set.............................................................................................................70
M13.1.12 WRITE BUFFER command..................................................................................................................70
M13.1.13 READ BUFFER command....................................................................................................................70
M13.1.14 NOP command......................................................................................................................................70
M13.1.15 DOWNLOAD MICROCODE command...............................................................................................70
M13.1.16 READ/WRITE DMA QUEUED command............................................................................................70
M13.1.17 Compact Flash (CFA) feature set..........................................................................................................70
M13.1.18 Advanced Power Management feature set............................................................................................70
M13.1.19 Removable Media Status Notification feature set.................................................................................71
M13.1.20 Power-Up in Standby feature set..........................................................................................................71
M13.1.21 SET FEATURES subcommand required to spin-up after power-up.....................................................71
M13.1.22 Address Offset Mode (Reserved Area Boot)..........................................................................................72

Page iii
M13.1.23 SET MAX security extension.................................................................................................................73
M13.1.24 Automatic Acoustic Management feature set........................................................................................73
M13.1.25 48-bit Address feature set......................................................................................................................73
M13.1.26 Device Configuration Overlay feature set............................................................................................75
M13.1.27 FLUSH CACHE command...................................................................................................................75
M13.1.28 FLUSH CACHE EXT command...........................................................................................................75
M13.1.29 S.M.A.R.T. error logging.......................................................................................................................75
M13.1.30 S.M.A.R.T. self-test................................................................................................................................75
M13.1.31 Media serial number is valid................................................................................................................75
M13.1.32 Media Card Pass Through Command feature set.................................................................................76
M13.1.33 Streaming feature set.............................................................................................................................76
M13.1.34 General Purpose Logging feature set...................................................................................................76
M13.1.35 WRITE DMA/MULTIPLE FUA EXT commands..................................................................................76
M13.1.36 WRITE DMA QUEUED FUA EXT command......................................................................................76
M13.1.37 World Wide Name..................................................................................................................................77
M13.1.38 URG bit for READ STREAM DMA/PIO commands.............................................................................77
M13.1.39 URG bit for WRITE STREAM DMA/PIO commands...........................................................................77
M13.1.40 Time-limited Read/Write feature set......................................................................................................77
M13.1.41 Time-limited Read/Write feature set Read/write continuous.................................................................78
M13.1.42 IDLE IMMEDIATE with UNLOAD FEATURE....................................................................................78
M13.2 VIEW/SEARCH DEVICE........................................................................................................................................79
View device............................................................................................................................................................79
Search device.........................................................................................................................................................79
M14. DEFECT MENU................................................................................................................................................80
Medium defects......................................................................................................................................................80
Primary defect list (PLIST)...................................................................................................................................................80
Logical unit certification list (CLIST)..................................................................................................................................80
Data defect list (DLIST)........................................................................................................................................................80
Grown defect list (GLIST)....................................................................................................................................................81
Write failures.........................................................................................................................................................81
M14.1 READ DEFECT P-LIST.........................................................................................................................................81
M14.2 READ DEFECT G-LIST........................................................................................................................................82
M15. DIAGNOSTIC MENU......................................................................................................................................82
M15.1 DIAGNOSTIC PAGES.............................................................................................................................................82
4. PARAMETERS........................................................................................................................................................83
4.1 DEVICE ACCESS........................................................................................................................................................83
4.2 TYPE OF TESTING.....................................................................................................................................................83
4.2.1 Verify............................................................................................................................................................84
4.2.2 blockVerify....................................................................................................................................................84
4.2.3 VerifyWriteVerify...........................................................................................................................................84
4.2.4 blockVerifyWriteVerify..................................................................................................................................85
4.2.5 Read..............................................................................................................................................................85
4.2.6 ReadReadCompare.......................................................................................................................................85
4.2.7 ReadWrite.....................................................................................................................................................86
4.2.8 ReadWriteRead.............................................................................................................................................86
4.2.9 ReadWriteReadCompare..............................................................................................................................86
4.2.10 Wipe............................................................................................................................................................87
4.2.11 WipeReadWipe............................................................................................................................................87
4.2.12 ReadECC....................................................................................................................................................87
4.2.13 WriteECC...................................................................................................................................................88
4.2.14 Seek............................................................................................................................................................88
4.3 DIRECTION OF TESTING.............................................................................................................................................88
4.4 BLOCK OF TESTED SECTORS........................................................................................................................................88
4.5 FIRST SECTOR..........................................................................................................................................................88
4.6 LAST SECTOR...........................................................................................................................................................89
4.7 LOG FILE..............................................................................................................................................................89
4.8 BATCH PASSES.........................................................................................................................................................89

Page iv
4.9 COUNT OF RETRY ON ERROR.......................................................................................................................................90
4.10 DEVICE RESET ON ERROR.........................................................................................................................................90
4.11 SHOW C/H/S........................................................................................................................................................90
4.12 SOUND.................................................................................................................................................................90
4.13 PAUSE ON DETECT-SCREEN.......................................................................................................................................90
4.14 RUNNING MODE.....................................................................................................................................................90
4.15 READ/SCAN MODE.................................................................................................................................................91
4.16 LBA/CHS MODE..................................................................................................................................................91
4.17 BOUNDARY MODE...................................................................................................................................................91
4.18 BOOT SIGNATURE....................................................................................................................................................91
4.19 PREVENT REMOVAL.................................................................................................................................................91
4.20 EJECT MEDIUM.......................................................................................................................................................91
4.21 DIR: ROOT ONLY...............................................................................................................................................91
4.22 SHOW ECC..........................................................................................................................................................92
4.23 FILL WRITE BUFFER.................................................................................................................................................92
4.24 FILL TIME STAMP....................................................................................................................................................92
X. MESSAGES.............................................................................................................................................................93
X.1 DEVICE STATUS MESSAGES......................................................................................................................................93
X.1.1 !SET MAX:...................................................................................................................................................93
X.1.2 !SMART:......................................................................................................................................................93
X.1.3 !SECURITY:.................................................................................................................................................94
X.1.4 !DCO:..........................................................................................................................................................94
X.1.5 !ATA MODE:................................................................................................................................................94
X.1.6 !EDD:..........................................................................................................................................................94
X.1.7 !FIRMWARE:...............................................................................................................................................94
X.2 ERROR MESSAGES OF INT13H/EXT.INT13H............................................................................................................95
X.3 ERROR MESSAGES OF ASPI.....................................................................................................................................96
ASPI Host Error Messages...............................................................................................................................................96
ASPI Target Error Messages.............................................................................................................................................96
ASPI Command/SRB Error Messages.............................................................................................................................97
X.4 ERROR MESSAGES OF PNP.......................................................................................................................................97
X.5 ERROR MESSAGES OF ESCD...................................................................................................................................98
APPENDIXES............................................................................................................................................................100
A. STANDARD ATA/ATAPI (PATA)............................................................................................................................100
A.1 ATA (ATA-1, IDE)..........................................................................................................................................100
A.2 ATA-2 (EIDE, Fast-ATA)...............................................................................................................................100
A.3 ATA-3............................................................................................................................................................100
A.4 ATA/ATAPI-4.................................................................................................................................................100
A.5 ATA/ATAPI-5.................................................................................................................................................101
A.6 ATA/ATAPI-6.................................................................................................................................................101
A.7 ATA/ATAPI-7.................................................................................................................................................101
B. STANDARD SCSI....................................................................................................................................................103
D. STANDARD SATA...................................................................................................................................................104
D.1 The Different Modes of SATA Controllers....................................................................................................106
D.1.1 Emulating Parallel ATA Mode...................................................................................................................................107
D.1.2 Native Serial ATA Mode............................................................................................................................................107
D.2 SATA II Features...........................................................................................................................................108
D.2.1 Native Command Queuing (NCQ)............................................................................................................................108
D.2.2 Non-Zero Offsets in DMA Setup..............................................................................................................................108
D.2.3 DMA Setup FIS Auto-Activate Optimization...........................................................................................................109
D.2.4 Device-Initiated Interface Power State Transitions...................................................................................................109
D.3 Serial ATA Hardware Register Interface......................................................................................................109
D.4 Naming Conventions for Serial ATA Products.............................................................................................109
D.5 Supports for Serial ATA in Windows............................................................................................................109
D.6 Identifying modes of SATA Controllers.........................................................................................................110
D.7 Notices about SATA.......................................................................................................................................111
D.7.1 The SATA cable connector is not shielded................................................................................................................111
D.7.2 Variety of problems...................................................................................................................................................112
D.7.3. Specifications...........................................................................................................................................................112

Page v
E. STANDARD IEEE 1394...........................................................................................................................................113
E.1 Evolution of standard IEEE 1394.................................................................................................................113
Specification 1394..........................................................................................................................................................114
Comments and limitations..............................................................................................................................................115
Compare 1394 and USB.................................................................................................................................................116
U. STANDARD USB.....................................................................................................................................................118
J. SI UNITS................................................................................................................................................................120
O. THE BIOS HARD DISK LIMITATIONS .......................................................................................................................122
28/48-bit LBA in Windows...............................................................................................................................124
O.1 Limit 504/528 MB.........................................................................................................................................125
O.2 Limit 2.1 GB.................................................................................................................................................125
O.3 Limit 3.2 GB.................................................................................................................................................126
O.4 Limit 4.2 GB.................................................................................................................................................126
O.5 Limit 7.9/8.4 GB...........................................................................................................................................127
O.6 Limit 32 GB..................................................................................................................................................127
O.6.1 Hardware limit...........................................................................................................................................................127
O.6.2 Windows 95 limit......................................................................................................................................................127
O.6.3 ScanDisk limit...........................................................................................................................................................127
O.7 Limit 64 GB..................................................................................................................................................128
O.7.1 FDISK.......................................................................................................................................................................128
O.7.2 FORMAT...................................................................................................................................................................128
O.8 Limit 137 GB................................................................................................................................................129
O.9 Limit 512 GB................................................................................................................................................129
O.10 Limit 2.2 TB................................................................................................................................................129
O.11 Limit 128 PB...............................................................................................................................................129
P. PARALLEL AND SERIAL INTERFACE...............................................................................................................................130
P.1 Introducing SAS and SATA............................................................................................................................130
P.2 Multiple layers of compatibility....................................................................................................................131
S. FILE SYSTEMS..........................................................................................................................................................132
S.1 File systems FAT/NTFS.................................................................................................................................132
S.1.1 FAT16.........................................................................................................................................................................132
S.1.2 FAT32.........................................................................................................................................................................132
S.1.3 NTFS..........................................................................................................................................................................133
S.1.4 Size limitations...........................................................................................................................................................134
S.1.5 DVD formats..............................................................................................................................................................135
S.2 MBR (Master Boot Record)...........................................................................................................................136
S.3 Type of disk partitions...................................................................................................................................137
Diagnostics partition ID 12h..................................................................................................................................139
G. GLOSSARY..............................................................................................................................................................148
G.1 Buses.............................................................................................................................................................148
G.2 Basic terms...................................................................................................................................................150
Z. REFERENCES...........................................................................................................................................................152

Page vi
Tables
TABLE 1: USED FILE NAMES ...............................................................................................................................10
TABLE 2: PRE-DEFINED ADDRESS......................................................................................................................15
TABLE 3: MODE SENSE PAGE CODES................................................................................................................21
TABLE 4: VITAL PRODUCT DATA (VPD) CODES..............................................................................................22
TABLE 5: SEAGATE VPD PAGES...........................................................................................................................23
TABLE 6: LIST OF PROFILES................................................................................................................................23
TABLE 7: LOG PAGE CODES.................................................................................................................................24
TABLE 8: QUANTUM LOG SENSE PAGES..........................................................................................................25
TABLE 9: SEAGATE LOG SENSE PAGES............................................................................................................25
TABLE 10: PARAMETER CODES FOR ERROR COUNTER LOG PAGES.....................................................26
TABLE 11: S.M.A.R.T. ATTRIBUTES.....................................................................................................................32
TABLE 12: SELF-TEST RESULTS VALUE............................................................................................................43
TABLE 13: SMART DIRECTORY LOG.................................................................................................................48
TABLE 14: IDENTIFIER AND SECURITY LEVEL BIT INTERACTION........................................................57
TABLE 15: DIAGNOSTIC PAGES...........................................................................................................................82
TABLE 16: OVERVIEW OF ATA/ATAPI TRANSFER MODES........................................................................102
TABLE 17: OVERVIEW OF CABLES...................................................................................................................102
TABLE 18: OVERVIEW OF SCSI..........................................................................................................................103
TABLE 19: SCSI CABLES.......................................................................................................................................103
TABLE 20: SATA STANDARDS..............................................................................................................................105
TABLE 21: IEEE 1394 VS. USB 1.1........................................................................................................................117
TABLE 22: PREFIXES FOR DECIMAL MULTIPLIES OF SI UNITS.............................................................120
TABLE 23: PREFIXES FOR BINARY MULTIPLIES.........................................................................................120
TABLE 24: LIMITATIONS FOR INT13H AND ATA...........................................................................................122
TABLE 25: LBA ASSISTED METHOD.................................................................................................................123
TABLE 26: BIT-SHIFTING TRANSLATION.......................................................................................................124
TABLE 27: LIMITS OF FILE SYSTEM FAT16....................................................................................................132
TABLE 28: LIMITS OF FILE SYSTEM FAT32....................................................................................................133
TABLE 29: COMPARE NTFS 4 WITH 5...............................................................................................................134
TABLE 30: SIZE LIMITATIONS FOR FILE SYSTEMS....................................................................................135
TABLE 31: DVD FORMATS...................................................................................................................................135
TABLE 32: TYPE OF PARTITIONS FOR MS-DOS............................................................................................137
TABLE 33: PARTITION ID DESCRIPTION........................................................................................................139
TABLE 34: COMPARE OF PCI BUSES................................................................................................................149
TABLE 35: COMPARE OF BUSES........................................................................................................................150

Page vii
Pictures
PICTURE 1: SATA LOGO.......................................................................................................................................104
PICTURE 2: SERIAL ATA VS. PARALLEL ATA DEVICE DIAGRAM............................................................111
PICTURE 3: SERIAL ATA CABLES AND CONNECTORS (SOURCE: MOLEX)..........................................111
PICTURE 4: 4-PIN AND 6-PIN FIREWIRE CONNECTORS............................................................................115

Page viii
Preface
This user’s manual is for HDAT2 program. Program ïs determined for advanced users
only, who know what you are doing.

I am sorry for my English.

Page 9
1. HDAT2 Program
1.1 Overview
Program HDAT2 is running in protected mode and is compiled with 32-bits compiler Free
Pascal [http://www.freepascal.org/].

Program HDAT2 can be used in two levels:

• Drive level – tests for drives connected to PC


• File level - tests for file systems (FAT, NTFS...)

Program is running only under ‘real’ DOS operating system (not in DOS under Windows).

1.2 Used interrupts, keys


HDAT2 program install own interrupts:

• for INT09h (keyboard)

Keys ESC, CTRL+C, CTRL+ALT+DEL, PAUSE, which normally interrupts program,


make only pause of action. Pressing keys CTRL+BREAK should always break program
and return to operating system (only if system is not running in a loop of interrupt). You
should see a text '!! HARD BREAK !!' on the screen.

Any time you can enable or disable sound with key CTRL+S regardless to settings of
parameter /s.

1.3 Common notes


Program detects the device modes up to Ultra DMA 6 for ATA/133 from standard ATA-6/7.
If some ATA mode is internally disabled (using a firm SW) than device seems do not
support this mode. For correct settings, you must use again this firm SW from device
manufacturer.

Program on exit is starting an alternate reset of controller and device (INT13h/AH=0Dh)


for stopping some of unacceptable noises of hard drive.

Table 1: Used file names


File Name Description
HDATCOPY.TXT Saved listings from program
HDETECT.TXT Saved listing of detected PC resources
XXXXXXXX.BIX Binary debug informations of device
HDATCMOS.BIX Binary contents of CMOS memory
HDATCMOS.TXT Hexadecimal listing of CMOS memory
HDAT_FST.BIX Saved status of found file system items
HDAT2ERR.SCR Saved screen with error message

Page 10
1.5 Command line parameters
During start up of program or in program, it is possible to set or change some of
parameters. In bracket [...] are the descriptions, which will appears after text 'Params :'
on test screen.

Format of parameters:

hdat2 [parameter1 parameter2 ...]

Parameters always begin with character '/' and are separate with one or more space
character. All parameters are checked on duplicity, exist and correct of setting. Character
'/' and parameter ‘/x’ are not checked on duplicity.

In case of failure of parameter will be show error message with this parameter including
order and description of this parameter:

<number_of_parameter>. <error_message> <typed_parameter>

Where error message should be:

Duplicate Parameter
- duplicate parameter (given twice or more) is found in the list

Unknown Parameter
- parameter is unknown to this program

Parameter Failure
- character ‘/’ is missing; value of parameter is out of range

/Dx Disable detection

Default: all enabled

• x=1 CPU/RAM/BUS
• x=2 BIOS
• x=3 CMOS
• x=4 ROM
• x=5 FDD
• x=6 ATA/ATAPI
• x=7 PCI
• x=8 ASPI
• x=9 Ext.INT13h
• x=10 OS (operating system)

You can repeat the parameters, e.g. HDAT2HW /d1 /d7 …

/L Create HDETECT.LOG file at startup

Default: disabled

It is for debug purpose only. If HDAT2 program cannot continue with error message you
can try start program with this switch. HDAT2 program will produce detect screens with
useful informations about PC and connected drives. When some error message appears
and program is halted, you can send me this LOG file for finding where a problem is.

Page 11
Output device is identical with device where program is loaded from, e.g. program was
loaded from diskette A:, output log shall be written to diskette A:.

/M MONO monitor

Default: disabled

Useable for monochrome monitor only.

/P Pause on detect-screen

Default: disabled

If parameter enabled and detect output screen is full, sounds a beep and is waiting for
user request to press any key. Pressing any key will be program continuing to run until
screen is full again. Except the key ESC – pressing this key shall disable setting of this
parameter and detection will continue without pause.

/S No sound (Silent Mode)

Default: disabled

Disable all beeps [NoSound]. Any time you can press CTRL+S to enable or disable this
parameter.

/Xy Special functions

Default: nothing

y=1 - disable DC_NIEN for ATA (use it for HighPoint)


Disable interrupt for ATA (so called DC_NIEN); main using is for add-on ATA HighPoint
controllers.

y=2 - read all PCI registers


Default: During detection of PCI devices, it will read first 64 registers (00h-3Fh) only
instead of all 255 registers (00h-FFh).
PCI on some PCs is not correct implemented and by reading of all registers could be
system stop/hang. All PCI registers will be read with this parameter.

y=3 - for the fast PCs timer


For the fast PC it will enable slow-down function for BIOS timer read.

y=4 - use all PCI storage subclasses


For PCI class Storage detection are valid all subclasses (00h-FFh).
Default: without parameter '/x4' are used PCI subclasses 01h, 04h, 05h, 06h, 80h only.

If is used parameter /x1, on exit program will be execute a reset for all connected ATA
and ATAPI devices to prevent a time loop when device is waiting for end of interrupt.

?, /?, h, /h, H, /H Show help

Page 12
2. Detect of PC resources
At start of program or with so-called re-detect from main menu are detected some PCs
resources.

2.1 Detection of BIOS


Program detects some BIOS functions via Desktop Management Interface (DMI)
interface.

2.1.1 Detection of system BIOS


BIOS (Basic Input/Output System)

- AMI, Award, Phoenix, Compaq, IBM, Quadtel, Acer, Dell, SystemSoft, Toshiba
- Detection of type BIOS, version, date, revision, model, sub-model (not for all BIOS)
- Some BIOS features

2.1.2 Detection of PnP BIOS


PnP (Plug and Play)

- Used standard:
Compaq/Phoenix/Intel: Plug and Play BIOS Specification v1.0A 05.05.1994
- Versions, CS/DS entry points

2.1.3 Detection of ESCD


ESCD (Extended System Configuration Data)

- Only if PnP BIOS is present!


- Used standard:
Compaq/Intel/Phoenix: EXTENDED SYSTEM CONFIGURATION DATA SPECIFICATION
v1.02A 31.05.1994

2.1.4 Detection of BBS


BBS (BIOS Boot Specification)

- Only if PnP BIOS is present!


- Used standard:
Compaq/Phoenix/Intel: 'BIOS Boot Specification' v1.01 January 11, 1996

2.1.5 Detection of BIOS32


BIOS32 (BIOS32 Service Directory)

The new service will provide information about those services in the BIOS that designed
for callers running in a 32-bit code segment. (The BIOS32 Service Directory will itself be
a 32-bit BIOS service.) The expected clients of this service are 32-bit operating systems

Page 13
and 32-bit device drivers. The expected providers of this service are BIOS vendors that
implement one or more 32-bit BIOS services. The BIOS32 Service Directory proposal
came into being during the attempts to establish a 32-bit code interface for the
Peripheral Component Interconnect (PCI) standard.

The BIOS32 Service Directory proposal came into being during the attempts to establish
a 32-bit code interface for the Peripheral Component Interconnect (PCI) standard.

- Used standard:
'Standard BIOS 32-bit Service Directory Proposal', Revision 0.4, 18.06.1993
Phoenix Technologies Ltd., PC Division, Desktop Product Line

2.1.6 Detection of PCI BIOS


PCI (Peripheral Component Interconnect)

- Used standard PCI BIOS v2.0c+

2.2 Detection of CPU/RAM/BUS


- Processor (type, CPUID)
- Memory (RAM)
- Bus (EISA, MCA, ISA, PCI)

2.3 Detection of CMOS


CMOS (Complementary Metal Oxide Semiconductor)

- Test of CMOS presence (real-time bit)


- Show 'CMOS size'
- Show 'POST diagnostics status'
- Show 'Shutdown/Reset status'

2.4 Detection of ROM‘s


ROM (Read Only Memory)

First scan memory from C000h:0000h to F000h:0000h with offset 200h (512 bytes).
After scanning it shows PnP/PCI informations about found ROM‘s.

2.5 Detection of FDD


FDD (Floppy Disk Drive)

- Detect device type of ATA FDD on on-board ATA controllers


- Detect count of FDD according to CMOS memory and BIOS detection
- If FDD is not present in CMOS settings, but is connected, it is neither possible detect
nor test FDD!
- Does it test of two FDD drives
- Test of presence FDD
- Test FDD with max. BIOS parameters – we got a type of drive

Page 14
2.6 Detection of ATA/ATAPI on-board
It is perform detection of devices on primary (1F0h) and secondary (170h) channel,
tertiary (1E8h) and quaternary (1F0h) channel. On every channel are detected always
two devices: drive 0 and 1 (master and slave).

Table 2: Pre-defined address


Controller Addresses INT
Primary 1F0h (1F0-1F7h/3F0h) 14/0Eh
Secondary 170h (170-177h/370h) 15/0Fh
Tertiary 1E8h (1E8-1EFh/3E0h) 11 (alt. 12,9)
Quaternary 168h (168-16Fh/360h) 11 (alt. 12,9)
PC3000 100h

The devices will appears in form:

[c/d 0xxxh/0yyyh/0zh] description

c : number of controller (at detection)


d : 0=master, 1=slave
0xxxh : base address of ATA registers (hexadecimal)
0yyyh : alternate address of ATA registers (hexadecimal)
0zh : number of interrupt (hexadecimal)
description : device name

Text 'disabled or not exist' in field ‘description’ means that on given controller and
channel is not present any device or if is disabled in BIOS.

2.7 Detection of PCI


PCI (Peripheral Component Interconnect)

By PCI detection will be detect host devices of class 1 (Storage) and all subclasses
defined for class 1 (SCSI, IDE, Floppy, IPI, RAID, ADMA, SATA, SAS) only. For every
found PCI host device will show some important information like:

- bus number, device and function (Bus, Device, Function)


- identification number of manufacturer (Vendor ID) and host device (Device ID),
name of manufacturer (if is known)
- I/O port addresses
- system interrupt IRQ and PCI interrupt from INT#A to INT#D
- Bus Master support

On these PCI host devices will be detected PCI devices. When it was no device found, it
appears 'No PCI devices found'.

2.8 Detection of ASPI


ASPI (Advanced SCSI Programming Interface)

With loaded ASPI driver for given SCSI controller we got on detection more information
than without driver. It will be detected all host adapters and all devices via ID and LUN

Page 15
from 0 to 255. With ASPI driver we can detect devices connected via SCSI controller,
parallel port etc. - devices like SCSI hard drive, CD, ZIP.

2.9 Detection of Extended INT13h


Last detection will detect devices connected in system via BIOS interrupt INT13h.
Detection will be successfully only if device supports extended interrupt INT13h
(Extended INT13h).

With this detection, we find out e.g. devices like SCSI hard drive even in case not loaded
ASPI drivers but with constraint of obtained informations about device.

E.g. if is enabled detection 'Ext.INT13h' only, it will not detect ATAPI devices like CD-
ROM, because these devices does not use interrupt INT13h even extended INT13h.

2.10 Detection of operating system


At the end of detection program it will shows type of running operating system.

If is detected operating system like 'Windows DOS', 'OS/2 DOS', 'WinNT/2K DOS',
'Windows', 'Desqview' or 'Linux DOS emulation', appears message 'This program can't
run in multitask environment' and program exit.

Page 16
3. Menu
Individual items of any menu will be appearing dynamically depending on type of device.
Not always, appear the same items. E.g. items defined for devices like CD-ROM will not
appear for devices like hard drive and vice versa.

Page 17
M1. Drive Level Tests Menu

M1.1 Check and Repair bad sectors

M1.2 Check bad sectors only

M1.3 Read drive


Use this test function to detect DMA error on drive.

M1.4 Wipe drive

M1.5 Seek drive


From ATA/ATAPI-7 is command SEEK obsolete.

M1.6 Most powerful test


Read defined block of sectors into memory 1, write this block of sectors onto device, read
the same defined block of sectors into memory 2 and compare memory 1 and 2.

M1.7 User defined test

Page 18
M2. File Level Tests Menu

M2.1 Read File System from MBR

M2.2 Scan File System


This test is not fully implemented so you can use it “as it is”. I want to implement many
things, sometimes.

M2.3 User defined test

Page 19
M3. Device Information Menu
There are miscellaneous informations about selected device.

M3.1 Device Information


This option it will show all available information obtained from interface ATA/ATAPI (from
IDENTIFY DEVICE or IDENTIFY DEVICE PACKET command), BIOS tables, from interrupt
INT13h and Extended INT13h, from ASPI drivers.

M3.2 Inquiry Data


This option is valid only for ATAPI, SCSI, or USB devices (For SCSI and USB devices only
in case with loaded ASPI driver).

The INQUIRY Command requests that information regarding identification of the Logical
Unit be send to the Initiator. Options allow the Initiator to request additional information
about the Logical Unit like product identification, peripheral device type, product revision
level etc.

M3.3 Mode Sense Data


This option is valid only for ATAPI, SCSI, or USB devices (For SCSI and USB devices only
in case with loaded ASPI driver).

The MODE SENSE command provides a means for a device server to report parameters
to an application client. The page control field specifies the type of mode parameter
values, which will returned in the mode pages: current, changeable, default and saved
values.

Current values

The current values returned are:

a) The current values of the mode parameters established by the last successful MODE
SELECT command.

b) The saved values of the mode parameters if a MODE SELECT command has not
successfully completed since the mode parameters were restored to their saved values or

c) The default values of the mode parameters if a MODE SELECT command has not
successfully completed since the mode parameters were restored to their default values.

Changeable values

In the mask, the bits in the fields of the mode parameters that are changeable all shall
be set to one and the bits in the fields of the mode parameters that are non-changeable
(i.e., defined by the logical unit) all shall be set to zero.

Default values

Page 20
The default values of the mode parameters; unsupported parameters shall be set to zero.
Default values should be accessible even if the logical unit is not ready.

Saved values

The method of saving parameters is vendor specific. The parameters are preserved in
such a manner that they are retained when the device is powered down.

Table 3: Mode sense page codes


Page Subpage Description
00h 00h Vendor specific (does not require page format)
Unit Attention Page
Configuration page (tape)
Drive Operation
01h 00h Read-Write Error Recovery
02h 00h Disconnect-Reconnect
03h 00h Format Device (SBC)
Parallel Printer Interface (SSC)
MRW CD-RW (MMC)
04h 00h Rigid Disk Geometry (SBC)
Serial Printer Interface (SSC)
05h 00h Flexible Disk (SBC)
Printer Options (SSC)
Write Parameters (MMC)
06h 00h Optical Memory (SBC)
RBC Device Parameters (RBC)
07h 00h Verify Error Recovery
08h 00h Caching
09h 00h Obsolete
0Ah 00h Control
01h Control Extension
F1h Parallel ATA Control
F2h Serial ATA Control
0Bh 00h Medium Types Supported
0Ch 00h Notch and Partition
0Dh 00h Obsolete
CD Device Parameters (MMC)
0Eh 00h CD Audio Control (MMC)
ADC Device Configuration (ADC)
0Fh 00h Data Compression
10h 00h XOR Control (SBC)
Device Configuration (SSC)
11h 00h Medium Partition (1)
14h 00h Enclosure Services Management
15h 00h Extended
16h 00h Extended Device-Type Specific
18h 00h Protocol Specific LUN
19h 00h Protocol Specific Port
1Ah 00h Power Condition
1Bh 00h LUN Mapping
1Ch 00h Informational Exceptions Control
Fault/Failure Reporting (MMC)
01h Background Control
1Dh 00h Time-Out and Protect (MMC)
Element Address Assignments (SMC)

Page 21
1Eh 00h Transport Geometry Parameters
1Fh 00h Device Capabilities
2Ah 00h Device-type specific (vendor specific in common usage)
Capabilities and Mechanical Status
20h-3Eh 00h Device-type specific (vendor specific in common usage)

M3.4 Vital Product Data (VPD)


This option is valid only for ATAPI, SCSI, or USB devices (For SCSI and USB devices only
in case with loaded ASPI driver).

These vital product data (VPD) pages are returned by an INQUIRY command with the
EVPD bit set to one and contain vendor specific product information about a logical unit
and target device. The vital product data may include vendor identification, product
identification, unit serial numbers, device operating definitions, manufacturing data (e.g.,
plant and date of manufacture), field replaceable unit information, and other vendor
specific or device specific information. The standard defines the structure of the vital
product data, but not the contents.

Table 4: Vital product data (VPD) codes


Page Description
00h Supported VPD Pages
01h-7Fh ASCII Information
80h Unit Serial Number
81h Implemented Operating Definition
82h ASCII Implemented Operating Definition
83h Device Identification
84h Software Interface Identification
85h Management Network Addresses
86h Extended INQUIRY Data
87h Mode Page Policy
88h SCSI Ports
B0h Block Limits
C0h-FFh Vendor specific

Page 80h provides the product serial number and product circuit board number for the
drive.

Page 81h defines the current operating definition, the default operating definition, and
which operating definitions are implemented by the drive. These operating definition
values are specified in the Change Definition command.

The Device Identification page 83h provides the means to retrieve zero or more
identification descriptors applying to the logical unit. Logical units may have more than
one identification descriptor (e.g., if several types or associations of identifier are
supported). Device identifiers, if any, shall be assigned to the peripheral device (e.g., a
disk drive) and not to the currently mounted media, in the case of removable media
devices. Operating systems are expected to use the device identifiers during system
configuration activities to determine whether alternate paths exist for the same
peripheral device.

Page 22
Table 5: Seagate VPD Pages
Page Description
C0h Firmware Numbers
C1h Date Code
C2h Jumper Settings
C3h Device Behavior
D1-D4h Vendor specific

M3.5 Table of Contents (TOC/PMA/ATIP)


This option is valid only for ATAPI or SCSI device type of CD-ROM (For SCSI devices only
in case with loaded ASPI driver).

M3.6 Get Configuration


This option is valid only for ATAPI device type of CD-ROM.

The GET CONFIGURATION command provides information about the Logical Unit
capabilities - both current and potential. It returns supported features (set of
commands, pages, and behavior that may be implemented) and profile list (collections
of features and provide a methods to quickly determine the Logical Unit’s type).

Table 6: List of profiles


Profile Description
0000h No Current Profile
0001h Non-Removeable Disk
0002h Removeable Disk
0003h Magneto-Optical Eraseable
0004h Optical Write Once
0005h AS-MO
0008h CD-ROM
0009h CD-R
000Ah CD-RW
0010h DVD-ROM
0011h DVD-R Sequential recording
0012h DVD-RAM
0013h DVD-RW Restricted Overwrite
0014h DVD-RW Sequential Recording
0015h DVD-R Dual Layer Sequential Recording
0016h DVD-R Dual Layer Jump Recording
001Ah DVD+RW
001Bh DVD+R
002Ah DVD+RW Dual Layer
002Bh DVD+R Dual Layer
0040h BD-ROM
0041h BD-R Sequential Recording (SRM)
0042h BD-R Random Recording (RRM)
0043h BD-RE
0050h HD DVD-ROM
0051h HD DVD-R
0052h HD DVD-RAM

Page 23
FFFFh Drives not conforming to a standard profile

M3.7 Read Disc Information


This option is valid only for ATAPI device type of CD-ROM.

The READ DISC INFORMATION command allows the Initiator to request information
about the currently mounted disc like formats supported by device, erasable medium,
state of last session, recorded status of the disc (empty, incomplete, finalized).

M3.8 Mechanism Status


This option is valid only for ATAPI device type of CD-ROM.

The Mechanism Status command requests that the Logical Unit respond with the current
status of the device, including any Changer Mechanism that adheres to the standard.
This command is intended to provide information to the Initiator about the current
operational state of the Logical Unit. The Logical Unit takes operational direction from
both the Initiator and the user. Movement of media in/out of the Logical Unit as well as
Play operations may be due to external controls or Initiator commands. This command
provides a method that allows the Initiator to know what has transpired with the changer
mechanism.

M3.9 Log Sense


The LOG SENSE command provides a means for the application client to retrieve
statistical or other operational information maintained by the SCSI target device about
the SCSI target device or its logical units.

The drive collects operational information and stores these statistics as log data. Log data
are grouped by category into log pages. The LOG SENSE command allows an initiator to
retrieve the stored log data. The LOG SENSE command is a complementary command to
the LOG SELECT command.

Each log page contains one or more pieces of information. Each piece of information is
referred to as a parameter. There are two types of parameters: values and lists. In
general, error and performance counters are reported as values.

Log Sense data pages require special interpretation and also are subject to change.

Table 7: Log Page codes


Page Subpage Description
00h 00h Supported Log Pages
01h 00h Buffer Over-Run/Under-Run
02h 00h Write Error Counter
03h 00h Read Error Counter
04h 00h Read Reverse Error Counter
05h 00h Verify Error Counter
06h 00h Non-Medium Error Counter
07h 00h Last n Error Events
08h 00h Format Status

Page 24
09h 00h-FFh Reserved to the MS59 Std. (contact AIIM C21 comm.)
0Ah 00h-FFh Reserved to the MS59 Std. (contact AIIM C21 comm.)
0Bh 00h Last n Deferred Error or Asynchronous Events
0Ch 00h Sequential-Access Device
0Dh 00h Temperature
0Eh 00h Start-Stop Cycle Counter
0Fh 00h Application Client
10h 00h Self-Test Results
11h 00h DTD (Data Transfer Disconnect) Status
12h 00h TapeAlert Response
13h 00h Requested Recovery
14h 00h Device Statistics
15h 00h Background Scan Results
17h 00h Non-Volatile Cache
18h 00h Protocol Specific Port
2Eh 00h Tape Alert
2Fh 00h Informational Exceptions (SMART)
30h-3Eh 00h-FFh Vendor specific (does not require page format)
3Fh 00h-FFh Reserved

Table 8: Quantum Log Sense Pages


Page Subpage Description
31h Last 500 Errors
36h Early Warning System (EWS)
37h Seek Performance Summary
38h Servo Events Counter
39h Bad Block Replacement Summary
3Ah Disk Error Recovery Counters
3Bh DER Description
3Dh ECC Counters and Sumary
3Eh SCSI Bus Events
3Fh ECC On The Fly

Table 9: Seagate Log Sense Pages


Page Subpage Description
30h SMART attitude
37h Cache statistics
3Eh Power-on time

M3.9.1 Error counter log pages


SCSI SPC standard defines the error counter log pages:

02h – Write Error Counter


03h – Read Error Counter
04h – Read Reverse Error Counter
05h - Verify Error Counter

A log page may return one or more log parameters that record events
defined by the parameter codes.

Page 25
Table 10: Parameter codes for error counter log pages
Parameter code Description
0000h Errors corrected without substantial delay
0001h Errors corrected with possible delays
0002h Total (e.g., rewrites or rereads)
0003h Total errors corrected
0004h Total times correction algorithm processed
0005h Total bytes processed
0006h Total uncorrected errors
0007h-7FFFh Reserved
8000h-FFFFh Vendor specific

Page 26
M4. S.M.A.R.T. Menu
The S.M.A.R.T. is "Self Monitoring and Reporting Technology". It is a standard
interface allowing a hard disk drive to check its status, report it to host system, and
provide some estimation for a failure date.

It is actually set of subroutines in device firmware, which are doing diagnostics functions.
The S.M.A.R.T. in BIOS only checks the status of the drive at boot time and can enable or
disable S.M.A.R.T., but cannot run operation of diagnostics tests.

The evolution of S.M.A.R.T.

Reliability prediction technology emerged from a widely recognized need to protect


mission-critical information stored on disc drives. As system storage capacity
requirements increased and multiple disc array systems started to appear, industry
leaders identified the importance of creating an early warning system that would allow
enough lead time to back up data, should a failure become imminent. In order to
understand how S.M.A.R.T. evolved, it is necessary to look at S.M.A.R.T.'s roots, which
are based in technology developed by IBM and Compaq.

IBM's reliability prediction technology is called Predictive Failure Analysis (PFA). PFA
measures several attributes, including head flying height, to predict failures. The disc
drive, upon sensing degradation of an attribute, such as flying height, sends a notice to
the host that a failure may occur. Upon receiving notice, users can take steps to protect
their data.

Some time later, Compaq announced a breakthrough in diagnostic design called


IntelliSafe. This technology, which was developed in conjunction with Seagate,
Quantum, and Conner, monitors a range of attributes and sends attribute and threshold
information to host software. The disc drive then decides if an alert is warranted, and
sends that message to the system, along with the attribute and threshold information.
The attribute and threshold level implementation of IntelliSafe varies with each disc drive
vendor, but the interface, and the way in which status is sent to the host, are consistent
across all vendors.

Compaq placed IntelliSafe in the public domain by presenting their specification for the
ATA/IDE environment, SFF-8035, to the Small Form Factor Committee on May 12, 1995.
Seagate quickly recognized that reliability prediction technology offered tremendous
benefits to customers, and researched the possibility of making a version available to
other system OEMs, integrators, and independent software vendors. Conner, IBM,
Quantum and Western Digital joined Seagate in the development of this new version,
appropriately named S.M.A.R.T., which combines conceptual elements of Compaq's
IntelliSafe and IBM's PFA.

Features of S.M.A.R.T. technology include a series of attributes, or diagnostics, chosen


specifically for each individual drive model. Attribute individualism is important because
drive architectures vary from model to model. Attributes and thresholds that detect
failure for one model may not be functional for another model. Comparing different
models of car’s helps illustrate this point. Some cars are equipped with four-wheel drive,
but others, like a Cadillac, are not. In other words, the architecture of the drive will
determine which attributes to measure, and which thresholds to employ. Although not all
failures will be predicted, we can expect an evolution of S.M.A.R.T., as technology and
experience sharpen our ability to predict reliability. Subsequent changes to attributes and

Page 27
thresholds will also occur as field experience allows improvements to the prediction
technology.

The two S.M.A.R.T. specifications: ATA/SCSI

S.M.A.R.T. emerged for the ATA/IDE environment when SFF-8035 was placed in the
public domain. SCSI drives incorporate a different industry standard specification, as
defined in the ANSI-SCSI Informational Exception Control (IEC) document
X3T10/94-190. Seagate's S.M.A.R.T. System program includes both industry standards,
thereby making S.M.A.R.T. technology available for both products with either ATA, or
SCSI interfaces.

The S.M.A.R.T. system technology of attributes and thresholds is similar in ATA/IDE and
SCSI environments, but the reporting of information differs.

In an ATA/ environment, software on the host interprets the alarm signal from the drive
generated by the "report status" command of S.M.A.R.T. The host polls the drive on a
regular basis to check the status of this command, and if it signals imminent failure,
sends an alarm to the end user or system administrator. This allows downtime to be
scheduled by the system administrator to allow for backup of data and replacement of
the drive. This structure also allows for future enhancements, which might allow
reporting of information other than drive conditions, such as thermal alarms, CD-ROM,
tape, or other I/O reporting. The host system can evaluate the attributes and alarms
reported, in addition to the "report status" command from the disc.

Generally speaking, SCSI drives with reliability prediction capability only communicate a
reliability condition as either good or failing. In a SCSI environment, the failure decision
occurs at the disc drive, and the host notifies the user for action. The SCSI specification
provides for a sense bit to be flagged if the disc drive determines that a reliability issue
exists. The system then alerts the end user/system manager.

Some failures are predictable, and some are not

A disc drive must be able to monitor many elements in order to have a comprehensive
reliability management capability. One of the most crucial elements understands failures.
Failures can be seen from two standpoints: predictable, and unpredictable.

Unpredictable failures occur quickly, like electronic and mechanical problems, such as
a power surge that can cause chip or circuit failure. Improvements in quality, design,
process, and manufacturing can reduce the incidence of non-predictable failures. For
example, the development of steel-belted radial tires reduced the occurrences of
blowouts common among older flat wall "rag" tire designs.

Predictable failures are characterized by degradation of an attribute over time, before


the disc drive fails. This creates a situation where attributes can be monitored, making it
possible for predictive failure analysis. Many mechanical failures are typically considered
predictable, such as the degradation of head flying height, which would indicate a
potential head crash. Certain electronic failures may show degradation before failing, but
more commonly, mechanical problems are gradual and predictable. For instance, oil level
is a function, or "attribute" of most cars that can be monitored. When a car's diagnostic
system senses that the oil is low, an oil light comes on. The driver can stop the car and
save the engine. In the same manner, S.M.A.R.T. allows notice to start the backup
procedure and save the user's data.

Mechanical failures, which are mainly predictable failures, account for 60 percent of
drive failure. This number is significant because it demonstrates a great opportunity for

Page 28
reliability prediction technology. With the emerging technology of S.M.A.R.T., an
increasing number of predictable failures will be predicted, and data loss will be avoided.

By monitoring hard disk health, you will be able to predict most of disk failures and
avoid data losing.

How attributes are determined

S.M.A.R.T. technology is like a jigsaw puzzle; it takes many pieces, put together in the
right way, to make a pattern. As previously discussed, understanding failures are one
piece of the puzzle. Another piece of the puzzle is the way in which attributes are
determined. Attributes are reliability prediction parameters, customized by the
manufacturer for different types of drives. To determine attributes, manufacturer design
engineers review returned drives, consider the design points, and create attributes to
signal the types of failures that they are seeing. Information gained from field experience
can be used to predict reliability exposures and, over time, attributes can be incorporated
into the new reliability architecture.

Though attributes are drive-specific, a variety of typical characteristics can be identified:

• head flying height


• data throughput performance
• spin-up time
• re-allocated sector count
• seek error rate
• seek time performance
• spin try recount
• drive calibration retry count

The attributes listed above illustrate typical kinds of reliability indicators. Ultimately, the
disc drive design determines which attributes the manufacturer will choose. Attributes
are therefore considered proprietary, since they depend on drive design.

S.M.A.R.T. attribute is a specific property of disk being monitored. Every S.M.A.R.T.


attribute has a set of properties: attribute value, its threshold, worst attribute value and
raw value. Specific threshold is assigned to each attribute. Once the attribute value drops
below this threshold, S.M.A.R.T considers disk to be faulty.

Attribute values

Attribute values are used to represent the relative reliability of individual performance
or calibration attributes. The current attribute value is the normalized raw attribute data.
The value varies between 1 and 100. The closer the value gets to one, the higher
the possibility of a failure. The device compares the attribute values with thresholds.
When the attribute values are larger than the thresholds, the device is operating
normally. Attributes are being used to retrieve current state of a drive and to show their
meaning in much more readable form for end-user.

Raw attribute data (6 bytes)

Usually it shows exact amount of time, attempts or errors. For example: the raw value of
attribute Temperature is a drive temperature in Celsius degrees, the raw value of Power
on hours count attribute is a amount of hours when drive was in power-on state.

Attribute threshold (1 byte)

Page 29
This is the lowest limit of a varying attribute value. S.M.A.R.T. compares the attribute
values with the thresholds to identify a failure. Each attribute value has a corresponding
attribute threshold limit. The numerical values of the attribute thresholds are
determined by the device manufacturer through design and reliability testing and
analysis. Attribute thresholds are set at the device manufacturer’s factory and cannot be
changed in the field. The valid range for attribute thresholds is from 1 through 253
decimal.

Worst value

The worst attribute value among the attribute values collected to date. This value
indicates the state nearest to a failure so far.

Threshold Exceeded Condition (T.E.C.)

T.E.C. stands for "Threshold Exceeded Condition" and basically means a failure. If one
or more attribute values are less than or equal to their corresponding attribute
thresholds, then the device reliability status indicates an impending degrading or fault
condition. Some attributes are considered life-critical and others are merely
"informative". T.E.C. with an "informative" attribute does not necessarily mean drive
failure.

M4.1 Read Data


This command returns the Device SMART data structure to the host. This data structure
contains status bytes, collection and error logging capability, and estimated polling time
for SMART routines.

M4.2 Read Attribute Thresholds/Data


S.M.A.R.T attribute is a specific property (parameter) of disk being monitored. The
attribute is referred to either by its number or by its descriptive name. Attribute value is
a positive integral number, usually in range from 1 to 100 (or sometimes 1 to 200, max.
255). Maximum values are good, minimum values indicate that some component of the
disk is about to fail. Specific threshold is assigned to each attribute. Once the value
drops below this threshold, S.M.A.R.T considers disk to be faulty – it is happen T.E.C.

Maximum number of attributes is 30. Numbers of attributes depends on manufacturer.


Remember that attributes are no longer part of the ATA standard, but most
manufacturers still support them. Although SFF-8035i does not define the meaning or
interpretation of attributes, many have a de facto standard interpretation. Each attribute
has a six-byte raw value (RAW VALUE) and a one-byte normalized value (VALUE).

The format of the raw data is vendor-specific and not specified by any standard. To track
disk reliability, the disk's firmware converts the raw value to a normalized value ranging
from 1 to 254. If this normalized value is less than or equal to the threshold (THRESH),
the attribute is said to have failed.

Program only reports the different attribute types, values, and thresholds as read from
the device. It does not carry out the conversion between "Raw" and "Normalized"
values: this is done by the disk's firmware.

Page 30
The conversion from Raw value to a quantity with physical units is not specified by the
SMART standard. In most cases, the values printed are sensible. For example the
temperature attribute generally has its raw value equal to the temperature in Celsius.
However in some cases vendors use unusual conventions. For example the Hitachi disk
reports its power-on hours in minutes, not hours. Some IBM disks track three
temperatures rather than one, in their raw values.

Each attribute also has a "WORST" value. This is the smallest (closest to failure) value
that the disk has recorded at any time during its lifetime when SMART was enabled. Note
however that some vendors firmware may actually increase the "Worst" value for some
"rate-type" attributes.

The TYPE of the attribute indicates if attribute failure means the device has reached the
end of its design life (Old age) or it is an impending disk failure (Pre-failure). For
example, disk spin-up time (ID 3) is a prefailure attribute. If this (or any other prefail
attribute) fails, disk failure is (imminent) predicted in less than 24 hours.

Pre-failure attributes are ones which, if less than or equal to their threshold values,
indicate pending disk failure. Old age, or usage attributes, are ones which indicate end-
of-product life from old-age or normal aging and wearout, if the attribute value is less
than or equal to the threshold. The fact that an attribute is of type 'Pre-fail' does not
mean that your disk is about to fail! It only has this meaning if the attribute's current
Normalized value is less than or equal to the threshold value.

If the worst recorded value is less than or equal to the threshold value, then appears a
message “^ Failed in the past” in red color.

It could occur so called false error - S.M.A.R.T. firmware report a warning, but the
device is good. Common reason of false errors is that device has problem with power
supply or in short time was exposed to crucial changes in temperature.

Each attribute can have a certain collection of flags (types to determine his importance):

• Pre-Failure (PF, 01h)


It is labeled sometimes like Life Critical (CR) or Pre-Failure warranty (PW). If
attribute has this flag then a field threshold contains a minimal allowed value
under which is not guaranteed work ability of device and increases a possibility his
inactivation.
Indicates a pre-failure condition (caused by exceeded threshold) where imminent
loss of data is being predicated.

• Online Collection (OC, 02h)


Determine that value of this attribute will acquired during performing of on-line
S.M.A.R.T. tests or both of tests (on-line/off-line). On the contrary, value of
attribute will acquired only during off-line tests.
It indicates that the value of this attribute is calculated during online test.

• Performance Related (PR, 04h)


Determine that value of this attribute direct depend on device performance in
some indicators (seek/throughput/etc. performance). Usually is re-establishing
after execution of S.M.A.R.T. tests.
It indicates degradation of performance caused by usage or age of a drive.

• Error Rate (ER, 08h)


Value of this attribute reflect relative error rate of given attribute - raw read/write,
seek, etc.

Page 31
Indicates that attribute measure frequency of errors.

• Events Count (EC, 10h)


Sometimes is labeled like Error Count. Attribute is an events counter.

• Self-Preserving (SP, 20h)


Value of attribute is restoring and saving automatically - usually at every start of
device and at execution of S.M.A.R.T. tests.
Indicates that attribute is automatically preservable and restored each time when
performing S.M.A.R.T. tests.

Each attribute has its own value, meaning, and importance. Unfortunately, each
manufacturer can make extensions to S.M.A.R.T. attributes and most of them prefer to
keep their own extensions in secret. Some disk manufacturers use their own ID’s for
attributes.

The names/meanings of attributes and the interpretation of their raw values is not
specified by any standard. Different manufacturers sometimes use the same attribute ID
for different purposes.

Unfortunately, as you can see, this table is not complete and, most likely, on your HDD
shows some attributes with the name "Unknown attribute". It means that I do not
have any information about the name and meaning of this attribute.

Table 11: S.M.A.R.T. attributes


Attribute ID Attribute ID hex. Description
0 00h Invalid attribute identifier (not in use)
1 01h Raw Read Error Rate
2 02h Throughput Performance
3 03h Spin Up Time
4 04h Start/Stop Count
5 05h Reallocated Sector Count
6 06h Read Channel Margin
7 07h Seek Error Rate
8 08h Seek Time Performance
9 09h Power-On Hours Count/Power-On Time Count
10 0Ah Spin Up Retry Count
11 0Bh Calibration Retry Count
12 0Ch Drive Power Cycle Count
13 0Dh Soft Read Error Rate
191 BFh G-Sense Error Rate
192 C0h Power-Off Retract Count
193 C1h Load/Unload Cycle Count
194 C2h HDA Temperature
195 C3h Hardware ECC Recovered
196 C4h Reallocation Event Count
197 C5h Current Pending Sector Count
198 C6h Off-line Scan Uncorrectable Sector Count
199 C7h Ultra DMA CRC Error Rate
200 C8h Write Error Rate/Count
(Western Digital: Multi Zone Error Rate)
201 C9h Soft Read Error Rate
(TA Counter Detected)
Data Address Mark Errors
202 Cah
(TA Increase Count)

Page 32
ECC Errors
203 CBh
(Run Out Cancel)
204 CCh Soft ECC Correction
205 CDh Thermal Asperity Rate
206 CEh Flying Height
207 CFh Spin High Current
208 D0h Spin Buzz
209 D1h Offline Seek Performance
220 DCh Disk Shift
221 DDh G-Sense Error Rate
(Hitachi: Shock Sense Error Rate)
222 DEh Loaded Hours
223 DFh Load/Unload Retry Count
224 E0h Load Friction
225 E1h Load/Unload Cycle Count
226 E2h Load-In Time
227 E3h Torque Amplification Count
228 E4h Power-Off Retract Count
230 E6h GMR Head Amplitude
231 E7h Drive Temperature
240 F0h Head Flying Hours (Hitachi)
250 FAh Read Error Retry Rate

Description of some attributes:

1. Raw Read Error Rate

This attribute value depends of read errors, disk surface condition and indicates the rate
of hardware read errors that occurred when reading data from a disk surface. Lower
values indicate that there is a problem with either disk surface or read/write heads.
Frequency of errors appearance while reading RAW data from disk.

Count of non-corrected read errors. More errors (i.e. lower attribute value) mean worse
condition of disk surface.

Frequency of errors while reading raw data from a disk.

2. Throughput Performance

Overall (general) throughput performance (average efficiency) of hard disk drive. If the
value of this attribute is deceasing, there is a high probability of troubles with your disk.

3. Spin Up Time

Average time of spindle spin up (from zero RPM (Revolutions per Minute) to fully
operational).

"Spin up time" describes amount of time it took to spin the platters up to their rated
rotation speed (usually 5400 or 7200 RPM) - average time of spindle spin up time. Values
above 80 should be considered good. Values between 70 and 80 are still acceptable.
There is a known issue with Quantum (Maxtor) hard drives - out-of-the-box new drives
drop "Spin up time" to 70 within first two weeks of use, causing program to predict
failure within a month. This is usually a false alarm. After some initial "burn-in" period,
"Spin up time" becomes constant and the drive functions normally.

Page 33
The raw value of this attribute indicates average time to spin up the drive spindle. Raw
value is a time of milliseconds or seconds.

4. Start/Stop Count

Count of spindle start/stop cycles. Raw value probably shows total number of on/off HDD.

Raw value of this attribute (Raw shows on/off Spindle Motors) indicates total number of
drive start/stop cycles (including both power on/off switching and suspend/wakeup
switching).

This raw value of this attribute is a count of hard disk spindle start/stop cycles.

5. Reallocated Sectors Count

Indicates amount of spare sector pool (spare area) available. Spare sectors are used to
replace (reallocating, remapping) sectors that became bad for some reason (read or
write errors). Value of 100 means that no sectors were remapped, 1 means that spare
sectors are exhausted due to multiple remaps.

Count of reallocated sectors. When the hard drive finds a read/write/verification error, it
marks this sector as "reallocated" and transfers data to a special reserved area (spare
area). This process is also known as remapping and "reallocated" sectors are called
remaps. This is why, on a modern hard disks, you cannot see "bad blocks" while testing
the surface - all bad blocks are hidden in reallocated sectors. However, the more sectors
that are reallocated, the more a sudden decrease (up to 10% and more) can be noticed
in the disk read/write speed.

The more sectors reallocated (i.e. lower attribute value), the worse the condition of disk
surface. The raw value of this attribute shows exact amount of reallocated sectors.

6. Read Channel Margin

Margin of a channel while reading data. The function of this attribute is not specified.
Reserve of channel while reading

7. Seek Error Rate

Count of seeks errors. When your HDD reads data, it positions heads in the needed
place. If there is a failure in the mechanical positioning system, a seek error arises. More
seek errors (i.e. lower attribute value) - indicates worse condition of a disk surface and
disk mechanical subsystem. Frequency of errors appearance while positioning.

Average rate of seek errors. This attribute indicates a state of head positioning
mechanism. Lower values shows that there is a problem with head positioning.

Rate of seek errors of the magnetic heads. If there is a failure in the mechanical
positioning system, servo damage or a thermal widening of the hard disk, seek errors
arise. More seek errors indicates a worsening condition of a disk surface and the disk
mechanical subsystem.

8. Seek Time Performance

Disk seeks system performance. The average efficiency of operations while positioning.

Average performance of seek operations of the magnetic heads. If this attribute is


decreasing, it is a sign of problems in the hard disk drive mechanical subsystem.

Page 34
9. Power On Hours Count

Count of hours in power-on state. The raw value of this attribute shows total count of
hours (or minutes, or seconds, depending on manufacturer) in power-on state. A
decrease of this attribute value to the critical level (threshold) indicates a decrease of the
MTBF (Mean Time Between Failures). However, in reality, even if the MTBF value falls to
zero, it does not mean that the MTBF resource is completely exhausted and the drive will
not function normally.

Raw value of this attribute indicates how long the drive was working (powered on).

Sense of attribute is identical with attribute „Device/Drive Power Cycle Count“, which
shows count of start/stop cycles of hard drive. Decreasing of value to threshold means
exhausted lifetime of drive (MTBF - Mean Time Between Failures).

10. Spin Up Retry Count

Indicates number of times disk was unable to spin platters up on first attempt (lower
values mean more retries). Count of retry of drive spindle spins start attempts. The raw
value indicates amount of retries.

Number of attempts to start a spindle of disk. If the HDD cannot start its spindle on the
first try (to make HDD work), it makes another try - and so on while the spindle will not
rotate normally. This attribute stores a count of start retries.

Count of retry of spin start attempts. This attribute stores a total count of the spin start
attempts to reach the fully operational speed (under the condition that the first attempt
was unsuccessful). A decrease of this attribute value is a sign of problems in the hard
disk mechanical subsystem.

11. Calibration Retry Count (Recalibration Retries Count)

Indicates number of times recalibration was requested. Low value (multiple


recalibrations) usually indicates some head-positioning problem. Number of attempts to
calibrate a drive.

Calibration is the act of repositioning the drive read/write head to cylinder 0. This value
represents the number of times a calibration has failed on the first attempt.

This attribute indicates the number of times recalibration was requested (under the
condition that the first attempt was unsuccessful). A decrease of this attribute value is a
sign of problems in the hard disk mechanical subsystem.

12. Device Power Cycle Count

Count of full disk power cycle. It probably means "start - stop" (power on - power off) of
hard drive. Attribute importance is identical to "Power-On Hours".

Number of complete start/stop cycles of hard disk. The raw value indicates amount of
power cycles. This attribute indicates the count of full hard disk power on/off cycles.

13. Soft Read Error Rate

ECC repairable read errors. This is a software error, not a hardware error. This is the rate
of "program" read errors occurring when reading data from a disk surface.

Page 35
191. G-Sense Error Rate

Frequency of mistakes appearance as a result of impact loads.

192. Power-Off Retract Count

Number of power-off or emergency retract cycles.


Number of the fixed‚ turning off drive cycles.
Count of fixed pictures with power-off retracts of power supply of disk.

Unknown function on IBM drives. Is possibly a count of the number of times the drive
head was moved off the disk in a power down situation?

Fujitsu: “Emergency Retract Cycle Count”.

193. Load/Unload Cycle Count

Count of load/unload cycles for heads moving into special park zone or working position
(Landing Zone).

194. HDA Temperature

This attribute shows temperature of a hard disk assembly in degrees Celsius (°C) for
drives equipped with thermal sensor. Exact temperature can be obtained from the
Meaning column.

HDA is “Hard Disk Assembly”.

195. Hardware ECC Recovered

Frequency of the on the fly errors.

Fujitsu: “ECC On the Fly Count”.

196. Reallocation Event Count

It is count of sectors reallocation. Value raw indicates total count of attempts, successful
and not successful.

Count of remap operations (transferring data from a bad sector to a special reserved disk
area - spare area). The raw value of this attribute shows the total number of attempts to
transfer data from reallocated sectors to a spare area. Unsuccessful attempts are
counted as well as successful.

197. Current Pending Sector Count

Amount of pending sectors. If the sector issues and error during read or write the drive
marks it as pending for a certain time before replacing this error sector with a spare one.

Current count of unstable sectors (waiting for remapping). The raw value of this attribute
indicates the total number of sectors waiting for remapping. Later, when some of these
sectors are read successfully, the value is decreased. If errors still occur when reading
some sector, the hard drive will try to restore the data, transfer it to the reserved disk
area (spare area) and mark this sector as remapped. If this attribute value remains at
zero, it indicates that the quality of the corresponding surface area is low.

Page 36
Those are sectors that couldn't be properly read and that the hard disk logic is waiting for
a write operation to try to remap to a spare sector (if available). A simple disk surface
scan won't be enough to force the remap operation. You need a read/write surface scan
to remap the sector. The best option should be a tool that knows about what should be
read from that sector so that it has some option to apply the best fix to the missing data.

198. Off-line Scan Uncorrectable Sector Count

Amount of error sectors detected during the last off-line scan. Count of uncorrectable
read/write sector errors. Growth of value row means worse condition of disk surface
and/or mechanical subsystem.

Quantity of uncorrectable errors. The raw value of this attribute indicates the total
number of uncorrectable errors when reading/writing a sector. A rise in the value of this
attribute indicates that there are evident defects of the disk surface and/or there are
problems in the hard disk drive mechanical subsystem.

Those are sectors that an offline scanning found as unreadable. Offline scanning is a
process that can be automatically started by the hard disk logic when a long enough idle
period is detected or that can be forced by some tool. Those unreadable sectors are
identified and the hard disk logic is waiting for a write command that will overwrite them
to try to remap them to spare sectors (if available).

199. Ultra DMA CRC Error Rate

Count of errors found in data transfer in Ultra-DMA (UDMA) mode by CRC (control sum).
Just one more method of error control in data transfer operations, but for high-speed
transfer modes.

UDMA controller performs an error checking on data it receives from HDD, ensuring that
data was not damaged while transmitted over the cable. Each time the error is detected,
controller requests a retransmission, thus slowing down the overall transfer speed. Lower
values of "Ultra ATA/DMA CRC Error Rate" correspond to higher number of errors, usually
indicating a cabling problem.

Value raw contain count of errors occurred in Ultra DMA transfer data mode in control
sum (ICRC - Interface CRC). In practice these CRC errors arise at over clocking PCI bus
(more then 33.6 MHz), strong twisted cable and from drivers, which does not observe
demand for receive/send data in Ultra DMA mode.

200. Write Error Rate/Count

Indicates a rate at which write retries are requested. Lower values indicate that there is a
problem with either disk surface or read/write heads.

The raw value indicates amount of write errors. Frequency of errors appearance while
recording data into disk.

Count of non-corrected write errors. Write data errors rate. This attribute indicates the
total number of errors found when writing a sector. The higher raw (i.e. more errors,
lower attribute value), the worse condition of disk surface condition and/or mechanical
subsystem is.

Western Digital: “Multi Zone Error Rate”.

201. Soft Read Error Rate (TA Counter Detected)

Page 37
Frequency of the off track errors.

202. Data Address Mark Errors (TA Increase Count)

Frequency of the Data Address Mark errors.


Number of Data Address Mark (DAM) errors (or) vendor-specific.

203. Run Out Cancel

Frequency of the ECC errors.

Maxtor: “ECC Errors”

204. Soft ECC Correction

Quantity of errors corrected by software ECC.

205. Thermal Asperity Rate (TAR)

Frequency of the thermal asperity errors.

206. Flying Height

The height of the disk heads above the disk surface.

207. Spin High Current

Quantity of used high current to spin up drive.

208. Spin Buzz

Quantity of used buzz routines to spin up drive.

209. Offline Seek Performance

Drives seek performance during offline operations.

220. Disk Shift

Shift of disk volume relate to axis of spindle. Actual value of attribute is in field raw. The
shift could happen as a result of heavy hit on device, by device fall or otherwise.

Shift of disk is possible as a result of strong shock loading in the store, as a result of its
falling or for other reasons (sometimes temperature).

Shift of disks towards spindle. The raw value of this attribute indicates how much the disk
has shifted. Unit measure is unknown. For more info, see G-Force Protection technology
description - to learn more on Seagate website
http://www.seagate.com/support/kb/disc/gf_protect.html).

NOTE: Shift of disks is possible as a result of a strong shock or a fall, or for other
reasons.

221. G-Sense Error Rate

Errors rate in consequence to shock overload. This attribute saves the data from sensor
sensitive to shock. (Unknown function on IBM drives)

Page 38
This attribute is an indication of shock-sensitive sensor – total quantity of errors
appearance as a result of impact loads (for example dropping drive).

Rate of errors occurring as a result of impact loads. This attribute stores an indication of
a shock-sensitive sensor, that is, the total quantity of errors occurring as a result of
internal impact loads (dropping drive, wrong installation, etc.). For more info, see G-
Force Protection technology description (to learn more on Seagate website
http://www.seagate.com/support/kb/disc/gf_protect.html).

222. Loaded Hours

The load to head drive raised by total work time of mechanics. It takes only account of
time, when the heads are in working position.

Loading on magnetic heads actuator caused by the general operating time. Only time
when the actuator was in the operating position is counted.

223. Load/Unload Retry Count

The loads to head drive raised by many times retry of operation read, write, and seek of
heads and the like. It takes only account of time, when the heads are in working position.
(Unknown function on IBM drives)

Loading on magnetic heads actuator caused by numerous recurrences of operations like


reading, recording, positioning of heads, etc. Only the time when heads were in the
operating position is counted.

224. Load Friction

Loading on magnetic heads actuator caused by friction in mechanical parts of the store.
Only the time when heads were in the operating/working position is counted.

225. Load/Unload Cycle Count

Total of cycles of loading on drive.

226. Load-In Time

The total loads to head drive. It takes only account of time, when the heads are in
working position (not in park zone). General time of loading for drive.

Total time of loading on the magnetic heads actuator. This attribute indicates total time in
which the drive was under load (on the assumption that the magnetic heads were in
operating mode and out of the parking area).

227. Torque Amplification Count

Amount of power of drive torque (moment amplifier). Count of efforts of the rotating
moment of a drive.

228. Power-Off Retract Count

This attribute shows a count of the number of times the drive was powered down.
Number of power-off retract events.

230. GMR Head Amplitude

Page 39
Amplitude of heads vibration/trembling (GMR head) in working/running state.

231. Drive Temperature

Hard disk drive temperature. The raw value of this attribute shows built-in heat sensor
registrations (in degrees centigrade).

Studies have shown that lowering disk temperatures by as little as 5°C significantly
reduces failure rates, though this is less of an issue for the latest generation of fluid-drive
bearing drives. One of the simplest and least expensive steps you can take to ensure disk
reliability is to add a cooling fan that blows cooling air directly onto or past the system's
disks.

In this case, the raw value stores three temperatures: the disk's temperature in Celsius
(29), plus its lifetime minimum (23) and maximum (33) values. The format of the raw
data is vendor-specific and not specified by any standard.

240. Head Flying Hours

Time while head is positioning.

Modern drive heads float over the surface of the disk and do all of their work without
ever physically touching the platters they are magnetizing. The amount of space between
the heads and the platters is called the floating height or flying height. It is also
sometimes called the head gap, and some hard disk manufacturers refer to the heads as
riding on an "air bearing".

If a drive is used at too high an altitude, the air will become too thin to support the heads
at their proper operating height and failure will result; special industrial drives that truly
are sealed from the outside are made for these special applications.

Some modern drives include sensors that monitor the flying height of the heads and
signal a warning if the parameter falls out of the acceptable range.

250. Read Error Retry Rate

Indicates a rate at which read retries is requested. Lower values indicate that there is a
problem with either disk surface or read/write heads. Frequency of errors appearance
while reading data from a disk.

Some other attributes from manufactures without description:

Hitachi: Emergency Re-Track


ECC On-The-Fly Count

Maxtor: they use attributes 96-101, 203-209

IBM: they use attribute 229 at hard drive IBM DTTA

Quantum, Seagate and Maxtor are using attribute 195.

M4.3 SCSI SMART Data


This item is valid for SCSI devices with ASPI drivers only. This is the first version to get
SMART information from SCSI devices.

Page 40
SCSI and Fibre Channel devices offer additional statistical informations from so called
“log pages”.

For SCSI devices the "attributes" are obtained from the temperature and start-stop cycle
counter log pages. Certain vendor specific attributes are listed if recognised. The
attributes are output in a relatively free format (compared with ATA/SATA disk
attributes).

Temperature

Temperature Warning is enabled by setting the EWASC (Enable Warning Additional


Sense Code) bit to 1 and setting DEXCPT (Disable Exception Control) bit to 0 in
Informational Exceptions Control Mode Page 1C. The warning is issued as sense data
(Sense Key 01h, ASC 0Bh, ASCQ 01h).

As with other S.M.A.R.T. features, thermal monitoring is controlled using Mode Select and
Mode Sense pages. The Enable Warning Additional Sense Code (EWASC) bit in the
Information Exceptions Control Page (page 1Ch) controls whether or not any S.M.A.R.T.
notifications will be generated due to thermal monitoring events. This bit can be set to 1
to enable thermal monitoring S.M.A.R.T. notifications, or set to 0 to prevent the
generation of any S.M.A.R.T. notifications due to thermal monitoring threshold crossings.
However, clearing this bit will not turn off thermal analysis or logging of thermal data, nor
will it prevent operational limits from being imposed to protect the integrity of the drive.

SMART status and temperature is reported in Log Sense page 2Fh.

Temperature Log Sense page code 0Dh provides the temperature of the drive and Fibre
Channel link error and initialization counts.

The temperature sensed in the device at the time the Log Sense command is
performed - the binary value specified the temperature of the device in degrees Celsius.
Temperatures equal to or less than zero degrees Celsius is indicated by a value of zero. If
the device server is unable to detect a valid temperature because of a sensor failure or
other condition, the value returned is FFh (255). The temperature should be reported
with an accuracy of plus or minus three Celsius degrees while the device is
operating at a steady state within the environmental limits specified for the drive.
No comparison is performed between the temperature value and the reference
temperature.

A reference temperature for the drive may optionally be provided by the drive using
parameter code 0001h. If no reference temperature is provided, the parameter may not
be provided in the log page or alternatively, the reference temperature value may be set
to the value of FFh. The one-byte binary value reflects the maximum reported sensor
temperature in degrees Celsius at which the drive will operate continuously without
degrading the drive’s operation or reliability outside the limits specified by the
manufacturer of the drive. The reference temperature may change for vendor-specific
reasons.

Write, Read and Verify Error Counter pages

Parameter codes 00h through 06h specify six counters each for write, read and verify
errors (18 counters). A description of the type (category of error) counters specified by
codes 00h through 06h are described following.

Page 41
Parameter Code 00h - Error Corrected Without Substantial Delay. An error
correction was applied to get perfect data (a.k.a. ECC on-the fly). ‘Without Substantial
Delay’ means the correction did not postpone reading of later sectors (e.g., a revolution
was not lost). The counter is incremented once for each logical block that requires
correction. Two different blocks corrected during the same command are counted as two
events.

Parameter Code 01h - Error Corrected with Possible Delays. An error code or
algorithm (e.g., ECC, checksum) is applied in order to get perfect data with substantial
delay. “With possible delay” means the correction took longer than a sector time so that
reading/writing of subsequent sectors was delayed (e.g., a lost revolution). The counter
is incremented once for each logical block that requires correction. A block with a double
error that is correctable counts as one event and two different blocks corrected during
the same command count as two events.

Parameter Code 02h - Total (e.g., re-writes or re-reads) This parameter code specifies
the counter counting the number of errors that are corrected by applying retries. This
counts errors recovered, not the number of retries. If five retries were required to
recover one block of data, the counter increments by one, not five. The counter is
incremented once for each logical block that is recovered using retries. If an error is not
recoverable while applying retries and is recovered by ECC, it isn’t counted by this
counter; it will be counted by the counter specified by parameter code 01h - Error
Corrected with Possible Delay.

Parameter code 03h - Total Error Corrected. This counter counts the total of
parameter code errors 00h, 01h and 02h. There is to be no “double counting” of data
errors among these three counters. The sum of all correctable errors can be reached by
adding parameter code 01h and 02h errors, not by using this total.

Parameter Code 04h - Total Times Correction Algorithm Processed. This


parameter code specifies the counter that counts the total number of retries, or “times
the retry algorithm, is invoked”. If after five attempts a counter 02h type error is
recovered, then five is added to this counter. If three retries are required to get a stable
ECC syndrome before a counter 01h type error is corrected, then those three retries are
also counted here. The number of retries applied to unsuccessfully recover an error
(counter 06h type error) are also counted by this counter.

Parameter Code 05h - Total Bytes Processed. This parameter code specifies the
counter that counts the total number of bytes either successfully or unsuccessfully read,
written or verified (depending on the log page) from the drive. If a transfer terminates
early because of an unrecoverable error, only the logical blocks up to and including the
one with the unrecoverable error are counted. Data bytes transferred to the initiator
during a Mode Select, Mode Sense, Inquiry, Write Data Buffer, etc. do not count; only
user data bytes are counted by this counter.

Parameter Code 06h - Total Uncorrected Errors. This parameter code specifies the
counter that contains the total number of blocks for which an uncorrected data error has
occurred.

Non-medium error count

Log sense page code 06h provides for summing the occurrences of recoverable error
events other than write, read, or verify failures. Parameter code 0000h Non-medium
error count is the only code supported for this page. This page contains counters for
non-medium errors. This includes seek errors and other hardware type failures.

Page 42
Self-Test Results

Parameter Code
This field identifies the log parameter being transferred. The Parameter Code field for the
results of the most recent self-test contains 0001h; the Parameter Code field for the
results of the second most recent test contains 0002h, etc.

Self-test Segment Number


This field identifies the number of the segment that failed during the self-test.

00h The segment that failed cannot or need not be identified.

Self-test Code
This field contains the value in the Self-test Code field of the Send Diagnostics command
that initiated this device self-test.

Self-test Results Value

Table 12: Self-Test Results Value


Value Description
00h The self-test routine completed without error.
01h The background self-test routine was aborted by the application client using
a Send Diagnostics command with the Self-test Code field set to 100b (Abort
background self-test).
02h The self-test routine was aborted by an application client using a method
other than a Send Diagnostics command with the Self-test Code field set to
100b (e.g., by a task management function, by a reset, or by issuing an
exception command).
03h An unknown error occurred while the device server was executing the self-
test routine and the device server was unable to complete the self-test
routine.
04h The self-test completed with a failure in a test segment, and the test
segment that failed is not known.
05h The first segment of the self-test failed.
06h The second segment of the self-test failed.
07h Another segment of the self-test failed.
08h-0Eh Reserved.
0Fh Self-test is in progress.

Timestamp
This field contains the total accumulated power-on hours of the device server at the time
the self-test operation was completed. If the test is still in progress, the content of this
field is 0. If the power-on hours for the device server at the time the self-test operation
was completed is greater than FFFFh, the content of this field is FFFFh.

Sense Key
This field may contain a hierarchy of additional information relating to error or exception
conditions that occurred during the self-test represented in the same format used by the
sense data.

Additional Sense Code (ASC)


This field may contain a hierarchy of additional information relating to error or exception
conditions that occurred during the self-test represented in the same format used by the
sense data.

Page 43
Additional Sense Code Qualifier (ASCQ)
This field may contain a hierarchy of additional information relating to error or exception
conditions that occurred during the self-test represented in the same format used by the
sense data.

LBA of First Failure


This field contains information that helps you locate the failure on the media. If the
logical unit implements logical blocks, the content of this field is the first logical block
address where a self-test error occurred. This implies nothing about the quality of any
other logical block on the logical unit, since the testing during which the error occurred
may not have been performed in a sequential manner. This value does not change (e.g.,
as the result of block reassignment). The content of this fields will be FFFFFFFFFFFFFFFFh
if no errors occurred during the self-test or if the error that occurred is not related to an
identifiable media address.

Last n Error Events

The Last n Error Events log page (page code 07h) provides for a number of error-event
records using the list parameter format of the log page. The number of these error-event
records supported, n, is vendor specific. Each error-event record contains vendor specific
diagnostic information for a single error encountered by the device. The parameter code
associated with error-event record indicates the relative time at which the error occurred.
A higher parameter code indicates that the error event occurred later in time.

The content of the PARAMETER VALUE field of each log parameter is ASCII data that may
describe the error event. The contents of the character string is not defined by any
standard.

When the last supported parameter code is used by an error-event record, the recording
on this log page of all subsequent error information shall cease until one or more of the
list parameters with the highest parameter codes have been reinitialized.

M5. Routine Menu


Current self-tests provides for a short self-test and an extended self-test. The short self-
test does read scan of a small area of the media in a short time. The area of the media
scanned is vendor specific. The extended self-test does read scan of the entire media. As
the capacity of disk drives increases, the time to complete the extended self-test
becomes exceedingly long. The ATA/ATAPI standard defines a Selective self-test that
allows the read scan portion of the self-test to test areas of the media specified by the
user. This allows the time to complete the self-test to be altered and allows those areas
deemed critical by the user to be scanned.

Command SMART EXECUTE OFF-LINE IMMEDIATE causes the device to immediately


initiate the optional set of activities that collect SMART data in an off-line mode and then
save this data to the device's non-volatile memory, or execute a self-diagnostic test
routine in either captive (foreground) or off-line (background) mode.

When executing a self-test in captive mode, the device sets BSY to one and executes
the self-test routine after receipt of the command. At the end of the routine, the device
places the results of this routine in the Selftest execution status byte and executes
command completion. If an error occurs while a device is performing, the routine the
device may discontinue its testing, place the results of this routine in the Self-test
execution status byte, and complete the command.

Page 44
Tests run in captive mode may busy out the drive for the length of the test.

The self-test routine recommended polling time shall be equal to the number of
minutes that is the minimum recommended time before which the host should first poll
for test completion status. Actual test time could be several times this value. Polling
before this time could extend the self-test execution time or abort the test depending on
the state of bit 2 of the off-line data capability bits.

Results of self-test routine are reported in the Self Test Error Log in Read Log Menu.
Note that on some disks the progress of the self-test can be monitored by watching this
log during the self-test.

M5.1 Off-Line
SMART off-line routine shall only be performed in the off-line mode. The results of this
routine are placed in the Off-line data collection status byte.

Of-line collection on hard disk from Toshiba execute:

- Raw Read Error Rate test


- Partial Read Scanning

M5.2 Short Self-Test


Depending on the value in the LBA Low register, this SMART Short self-test routine may
be performed in either the captive or the off-line mode. This self-test routine should take
about ones of minutes to complete.

This is a test in a different category than the immediate or automatic offline tests. The
Self tests check the electrical and mechanical performance as well as the read
performance of the disk. Their results are reported in the Self Test Error Log. The
progress of the self-test can be monitored by watching this log during the self-test.

Short self-test on hard disk from Toshiba execute:

- Raw Read Error Rate test


- Write test
- Servo test
- Partial Read Scanning

M5.3 Extended Self-Test


Depending on the value in the LBA Low register, this SMART Extended self-test routine
may be performed in either the captive or the off-line mode. This self-test routine should
take about tens of minutes to complete.

This is a longer and more thorough version of the Short Self Test described above.

Extended self-test on hard disk from Toshiba execute:

- Raw Read Error Rate test

Page 45
- Write test
- Servo test
- Full Read Scanning

M5.4 Conveyance Self-Test


Depending on the value in the LBA Low register, this SMART Conveyance self-test routine
may be performed in either the captive or the off-line mode. This self-test routine is
intended to identify damage incurred during transporting of the device. This self-test
routine should take about minutes to complete.

M5.5 Selective Self-Test


The SMART Selective self-test routine is an optional self-test routine.

Each range of LBA’s is called a "span" and is specified by a starting LBA and an ending
LBA. Note that the spans can overlap partially or completely.

If the routine is implemented, all features of the routine shall be implemented. Support
for the routine is indicated in off-line data collection capabilities. This self-test routine
shall include the initial tests performed by the Extended self-test routine plus a selectable
read scan. The host shall not write the Selective self-test log while the execution of a
Selective self-test command is in progress.

The user may choose to do read scan only on specific areas of the media. To do this, user
shall set the test spans desired in the Selective self-test log and set the flags in the
Feature flags field of the Selective self-test log to indicate do not perform off-line scan. In
this case, the test spans defined shall be read scanned in their entirety. The Selective
self-test log is updated as the self-test proceeds indicating test progress. When all
specified test spans have been completed, the test is terminated and the appropriate
self-test execution status is reported in the SMART READ DATA response depending on
the occurrence of errors.

The test terminates when all test spans have been scanned. After the scan of the
selected spans, a user may wish to have the rest of media read scanned as an off-line
scan. In this case, the user shall set the flag to enable off-line scan in addition to the
other settings. If an error occurs during the scanning of the test spans, the error is
reported in the self-test execution status in the SMART READ DATA response and the off-
line scan is not executed. When the test spans defined have been scanned, the device
shall then set the offline scan pending and active flags in the Selective self-test log to
one, the span under test to a value greater than five, the self-test execution status in the
SMART READ DATA response to 00h, set a value of 03h in the off-line data collection
status in the SMART READ DATA response and shall proceed to do an off-line read scan
through all areas not included in the test spans.

This off-line read scan shall complete as rapidly as possible, no pauses between block
reads, and any errors encountered shall not be reported to the host. Instead error
locations may be logged for future reallocation. If the device is powered-down before the
off-line scan is completed, the off-line scan shall resume when the device is again
powered up. From power-up, the resumption of the scan shall be delayed the time
indicated in the Selective self-test pending time field in the Selective self-test log. During
this delay time, the pending flag shall be set to one and the active flag shall be set to
zero in the Selective self-test log. Once the time expires, the active flag shall be set to
one, and the off-line scan shall resume. When the entire media has been scanned, the

Page 46
off-line scan shall terminate, both the pending and active flags shall be cleared to zero,
and the off-line data collection status in the SMART READ DATA response shall be set to
02h indicating completion.

During execution of the Selective self-test, the self-test executions time byte in the
Device SMART Data Structure may be updated but the accuracy may not be exact
because of the nature of the test span segments. For this reason, the time to complete
off-line testing and the self-test polling times are not valid. Progress through the test
spans is indicated in the selective self-test log.

A hardware or software reset shall abort the Selective self-test except when the pending
bit is set to one in the Selective self-test log. The receipt of a SMART EXECUTE OFF-LINE
IMMEDIATE command with 0Fh, Abort off-line test routine, in the LBA Low register shall
abort Selective self-test regardless of where the device is in the execution of the
command. If a second self-test is issued while a selective self-test is in progress, the
selective self-test is aborted and the newly requested self-test is executed.

The selective self-test pending time is the time in minutes from power-on to the
resumption of the off-line testing if the pending bit is set. At the expiration of this time,
sets the active bit to one, and resumes the off-line scan that had begun before power-
down.

A hardware or software reset shall abort the Selective self-test except when the pending
bit is set to one in the Selective self-test log. The receipt of a SMART command Abort
off-line test routine shall abort Selective self-test regardless of where the device is in
the execution of the command. If a second self-test is issued while a selective self-test is
in progress, the selective self-test is aborted and the newly requested self-test is
executed.

M5.6 Abort Off-Line Self-Test Routine


This command aborts non-captive SMART Self Tests. Note that this command will abort
the Offline Immediate Test routine only if your disk has the "Abort Offline collection upon
new command" capability.

M6. Read Log Menu


SMART disks maintain a lot of the error logs.

The error log is not disabled when SMART is disabled. Disabling SMART disables the
delivering of error log information via the SMART READ LOG SECTOR command. If a
device receives a firmware modification, all error log data is discarded and the device
error count for the life of the device is reset to zero.

M6.1 Log Directory


SMART Log directory is 512 bytes length and is optional. If implemented, the SMART Log
Directory is SMART Log address zero, and is defined as one sector long. The log directory
table defines number of sectors in the log at log address from 1 to 255.

The value of the SMART Logging Version word shall be 01h (or 0001h) if the drive
supports multi-sector SMART logs. In addition, if the drive supports multi-sector logs,
then the logs at log addresses 80-9Fh shall each be defined as 16 sectors long.

Page 47
If the drive does not support multi-sector SMART logs, then log number zero is defined as
reserved, and the drive shall return a command aborted response to the host’s request to
read log number zero.

Table 13: SMART Directory Log


Log Address Description
00h Directory Log
01h Summary SMART error log
02h Comprehensive SMART error log
03h Extended Comprehensive SMART error log
06h SMART self-test log
07h Extended SMART self-test log
09h Selective SMART self-test log
10h SATA: NCQ error page
11h-17h SATA reserved
20h Streaming performance log
21h Write stream error log
22h Read stream error log
23h Delayed sector log
80h-9Fh Host vendor specific
A0h-BFh Device vendor specific
E0h Issue SCT Command/Status request
E1h SCT data transfer (Read/Write SCT data)

M6.2 Summary Error Log


Summary SMART error log data structures (log address 01h) shall include UNC
(Uncorrectable data error) errors, IDNF (Requested ID not found) errors for which
the address requested was valid, servo errors, write fault errors, etc. Summary error log
data structures shall not include errors attributed to the receipt of faulty commands such
as command codes not implemented by the device or requests with invalid parameters or
invalid addresses.

UNC (UNCorrectable): data is uncorrectable. This refers to data which has been read
from the disk, but for which the Error Checking and Correction (ECC) codes are
inconsistent. In effect, this means that the data can not be read.

IDNF (ID Not Found): user-accessible address could not be found. For READ LOG type
commands, IDNF can also indicate that a device data log structure checksum was
incorrect.

If the command that caused the error was a READ or WRITE command, then the Logical
Block Address (LBA) at which the error occurred will be printed. The LBA is a linear
address, which counts 512-byte sectors on the disk, starting from zero. Because of the
limitations of the SMART error log, if the LBA is greater than FFFFFFFh, then either no
error log entry will be made, or the error log entry will have an incorrect LBA. This may
happen for drives with a capacity greater than 137 GB.

The summary error log (512 bytes) is read-only and supports 28-bit addressing only. If
the device supports comprehensive error log (address 02h), then the summary error
log sector duplicates the last five error entries in the comprehensive error log.

Page 48
The error log index indicates the error log data structure representing the most recent
error. Only values 1 through 5 are valid. If there are no error log entries, the value of the
error log index shall be zero.

The device error count field shall contain the total number of errors attributable to the
device that have been reported by the device during the life of the device. These errors
shall include UNC errors, IDNF errors for which the address requested was valid, servo
errors, write fault errors, etc. This count shall not include errors attributed to the receipt
of faulty commands such as commands codes not implemented by the device or requests
with invalid parameters or invalid addresses. If the maximum value for this field is
reached, the count shall remain at the maximum value when additional errors are
encountered and logged.

An error log data structure shall be presented for each of the last five errors reported
by the device. These errors log data structure entries are viewed as a circular buffer. That
is, the first error shall create the first error log data structure; the second error, the
second error log structure; etc. The sixth error shall create an error log data structure
that replaces the first error log data structure; the seventh error replaces the second
error log structure, etc. The error log index indicates the most recent error log structure.
If fewer than five errors have occurred, the unused error log structure entries shall be
zero filled.

Command Data Structure

If the command data structure represents a command or software reset, the content of
the command data structure shall be contents of the Device Control, Features, Sector
Count, LBA Low, LBA Mid, LBA High, Device, and Command registers.

The fifth command data structure shall contain the command or reset for which the error
is being reported. The fourth command data structure should contain the command or
reset that preceded the command or reset for which the error is being reported, the third
command data structure should contain the command or reset preceding the one in the
fourth command data structure, etc.

If fewer than four commands and resets preceded the command or reset for which the
error is being reported, the unused command data structures shall be zero filled, for
example, if only three commands and resets preceded the command or reset for which
the error is being reported, the first command data structure shall be zero filled. In some
devices, the hardware implementation may preclude the device from reporting the
commands that preceded the command for which the error is being reported or that
preceded a reset. In this case, the command data structures are zero filled.

Timestamp shall be the time since power-on in milliseconds when command acceptance
occurred. This timestamp is printed as DD:HH:MM:SS:MSC, where DD=days,
HH=hours, MM=minutes, SS=seconds, and MSEC=milliseconds. Timestamp may wrap
around (after 49.710 days).

Error Data Structure

The error data structure shall contain the error description of the command for which an
error was reported: contents of the Error, Sector Count, LBA Low, LBA Mid, LBA High,
Device, and Status registers after command completion occurred.

Extended error information shall be vendor specific.

State shall contain a value indicating the state of the device when command was written
to the Command register or the reset occurred as described:

Page 49
- Sleep indicates the reset for which the error is being reported was received when the
device was in the Sleep mode.

- Standby indicates the command or reset for which the error is being reported was
received when the device was in the Standby mode.

- Active/Idle with BSY cleared to zero indicates the command or reset for which the
error is being reported was received when the device was in the Active or Idle mode and
BSY was cleared to zero.

- Executing SMART off-line or self-test indicates the command or reset for which the
error is being reported was received when the device was in the process of executing a
SMART off-line or self-test.

Life timestamp shall contain the power-on lifetime of the device in hours when
command completion occurred.

SMART Error log is a list of errors detected by SMART during the disk's life.

M6.3 Comprehensive Error Log


The comprehensive error log data structures shall include UNC errors, IDNF errors for
which the address requested was valid, servo errors, write fault errors, etc.
Comprehensive error log data structures shall not include errors attributed to the receipt
of faulty commands such as command codes not supported by the device or requests
with invalid parameters or invalid addresses.

The SMART Comprehensive error log provides logging for 28-bit addressing only. For
48-bit addressing see SMART Extended Comprehensive error log. The maximum size of
the SMART comprehensive error log shall be 51 sectors. Devices may support fewer than
51 sectors.

The value of the error log version byte shall be set to 01h.

The error log index indicates the error log data structure representing the most recent
error. If there have been no error log entries, the error log index is set to zero. Valid
values for the error log index are zero to 255. Unused error log data structures shall be
filled with zeros.

The error log is viewed as a circular buffer. The device may support from two to 51 error
log sectors. When the last supported error log sector has been filled, the next error shall
create an error log data structure that replaces the first error log data structure in sector
zero. The next error after that shall create an error log data structure that replaces the
second error log data structure in sector zero. The sixth error after the log has filled shall
replace the first error log data structure in sector one, and so on.

The other entries are defined like for Summary Error Log.

M6.4 Extended Comprehensive Error Log


For devices implementing the General Purpose Logging feature set only.

Error log data structures shall include UNC errors, IDNF errors for which the address
requested was valid, servo errors, write fault errors, etc. Error log data structures

Page 50
shall not include errors attributed to the receipt of faulty commands such as command
codes not implemented by the device or requests with invalid parameters or invalid
addresses.

The maximum size of the Extended Comprehensive SMART error log is 65,536 sectors.
Devices may support fewer than 65,535 sectors.

All 28-bit entries contained in the Comprehensive SMART log shall also be included in the
Extended Comprehensive SMART error log with the 48-bit entries.

The contents of word registers: Bits (7:0) refer to the contents if the register were
read with bit 7 of the Device Control register cleared to zero. Bits (15:8) refer to the
contents if the register were read with bit 7 of the Device Control register set to one.

Command data structure contains data when the command register was written.

Error data structure contains data after command completion occurred.

M6.5 Self-Test Log


The ATA-5 standard added an ATA error log and commands to run disk self-tests to the
SMART command set. The SMART self-test log sector supports 28-bit addressing only.
Self-test log contains results of the last 21 self-tests.

The Lifetime column in this log shows the power-on age in hours of the disk when the
self-test was run. If a self-test finds an error, the Logical Block Address (LBA) in Failing
LBA column shows where the error occurred on the disk. The Remain column shows the
percentage of the self-test remaining when the error was found.

If you suspect that something is wrong with a disk, I strongly recommend running a long
self-test to look for problems.

M6.6 Selective Log


The Selective self-test log is a log that may be both written and read by the host. This
log allows the host to select the parameters for the self-test and to monitor the progress
of the self-test.

The selective self-test log shows the start/end Logical Block Addresses (LBA) of each of
the five test spans, and their current test status. If the span is being tested or the
remainder of the disk is being read-scanned, the current 65536-sector block of LBA’s
being tested is also displayed.

The selective self-test log also shows if a read-scan of the remainder of the disk will be
carried out after the selective self-test has completed and the time delay before
restarting this read-scan if it is interrupted.

M6.7 Log Dump


This menu item reads SMART log regardless of SMART Directory Log. You can select
number of log, count of sectors do you want to read and, if available, select a command
to read SMART log.

You can select type of dump format (BYTE or WORD) also.

Page 51
M7. Device Configuration Overlay Menu
ATA/ATAPI Device Configuration Overlay (DCO)

DCO allows systems to modify the apparent features provided by a hard disk drive
device. It provides a set of commands that allow a utility program to modify some of the
commands, modes, and feature sets reported as supported by the hard disk drive. It can
be used to hide a portion of the hard disk drive's capacity from being viewed by the
operating system and the file system.

The optional Device Configuration Overlay feature set allows a utility program to modify
some of the optional commands, modes, and feature sets that a device reports as
supported in the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE command data as well
as the capacity reported.

Commands of Device Configuration Overlay feature set:

DEVICE CONFIGURATION FREEZE LOCK


DEVICE CONFIGURATION IDENTIFY
DEVICE CONFIGURATION RESTORE
DEVICE CONFIGURATION SET

SATA II Device Configuration Overlay (DCO)

The Serial ATA II—Extensions to Serial ATA 1.0a r1.1 specification defines
additional SATA II parameters that can be controlled by the ATA-7 Device Configuration
Overlay (DCO) feature set. The DCO feature set allows the host to disable use of some
SATA II features, even across a power cycle, with very specific requirements to restore
those functionalities. This feature set provides additional flexibility for the OEMs to
control drive functionality. As an example, using DCO is a method to disable Native
Command Queuing functionality on SATA drives.

It should be noted that disabling interface power management would disable support for
host-initiated SATA interface power management, as well as any device-initiated SATA
interface power management.

M7.1 Show Identify


This command DEVICE CONFIGURATION IDENTIFY specifies the selectable
commands, modes, capacity, and feature sets that the device is capable of supporting.
After the execution of a DEVICE CONFIGURATION SET command, this information is
no longer available from an IDENTIFY DEVICE or IDENTIFY PACKET DEVICE command.

M7.2 Modify
The Device Configuration Overlay feature set may affect words (61:60), 63, (88:82), and
(103:100) of the IDENTIFY DEVICE and IDENTIFY PACKET DEVICE command responses.
Certain bits in these words that indicate that a command, mode, capacity, or feature set
is supported and enabled may be cleared by a DEVICE CONFIGURATION SET
command.

Page 52
For a particular command, mode, capacity, or feature set, when a bit is cleared indicating
that the device does not support the feature, the device shall not provide the feature. In
addition, the maximum capacity of the device may be reduced. Since a Host Protected
Area may be lost if the capacity of the device is reduced, when a Host Protected Area is
set the DEVICE CONFIGURATION SET command shall cause the device to return
command aborted. The address value returned by a READ NATIVE MAX ADDRESS or
READ NATIVE MAX ADDRESS EXT command is modified by the DEVICE
CONFIGURATION SET command modifying the maximum capacity of the device.

The term ‘is allowed’ indicates that the device may report that a feature is supported
and/or enabled.

If a DEVICE CONFIGURATION FREEZE LOCK command has been issued since the
device powered-up, the DEVICE CONFIGURATION SET command shall cause the
device to return command aborted. The settings made by a DEVICE CONFIGURATION
SET command are maintained over power-down and power-up.

Example of the restrictions on changing of bits:

If a user attempts to change maximum LBA address (SET or RESTORE) after establishing
a protected area with SET MAX address, the device will abort that command.

If the user attempts to disable Security feature when the device is enabled and the
Security feature is set, the device will abort that command.

The command will be abort if the device does not support this command, if a DEVICE
CONFIGURATION SET command has already modified the original settings as reported by
a DEVICE CONFIGURATION IDENTIFY command, if DEVICE CONFIGURATION FREEZE
LOCK is set, if any of the bit modification restrictions described bellow are violated, or if a
Host Protected Area has been established by the execution of a SET MAX ADDRESS or
SET MAX ADDRESS EXT command, or if an attempt was made to modify a mode or
feature that cannot be modified with the device in its current state.

Maximum LBA sectors restrictions

Modifying the maximum LBA of the device also modifies the address value returned by a
READ NATIVE MAX ADDRESS or READ NATIVE MAX ADDRESS EXT command.

This shall be the highest address accepted by the device after execution of the command.
When this value is changed, the content of IDENTIFY DEVICE data words shall be
changed as described in the SET MAX ADDRESS and SET MAX ADDRESS EXT command
descriptions to reflect the maximum address set with this command. This value shall not
be changed and command aborted shall be returned if a Host Protected Area has been
established by the execution of a SET MAX ADDRESS or SET MAX ADDRESS EXT
command with an address value less than that returned by a READ NATIVE MAX
ADDRESS or READ NATIVE MAX ADDRESS EXT command. Any data contained in the Host
Protected Area is not affected.

Host Protected Area feature set restrictions

If a Host Protected Area has been established by use of the SET MAX ADDRESS or SET
MAX ADDRESS EXT command, these bits shall not be cleared to zero and the device shall
return command aborted.

Page 53
M7.3 Restore
This DEVICE CONFIGURATION RESTORE command disables an overlay that has been
set by a MODIFY command and returns the IDENTIFY DEVICE or IDENTIFY PACKET
DEVICE command data to that indicated by the DEVICE CONFIGURATION IDENTIFY
command. Since a Host Protected Area may be lost if the capacity of the device is
reduced, when a Host Protected Area is set the DEVICE CONFIGURATION RESTORE
command shall cause the device to return command aborted.

If a DEVICE CONFIGURATION FREEZE LOCK command has been issued since the
device powered-up, the DEVICE CONFIGURATION RESTORE command shall cause the
device to return command aborted.

The device will abort that command if a Host Protected Area has been set by a SET MAX
ADDRESS or SET MAX ADDRESS EXT command, or if DEVICE CONFIGURATION FREEZE
LOCK is set.

M7.4 Freeze Lock


A DEVICE CONFIGURATION FREEZE LOCK command prevents accidental modification
of the state of the Device Configuration Overlay feature set. Devices always powers-up
with configuration freeze lock not set. After a successful DEVICE CONFIGURATION
FREEZE LOCK command is executed, the device aborts all Device Configuration Overlay
feature set commands until the device is powered-down and powered-up again. The
freeze locked state is not affected by hardware or software reset.

Page 54
M8. Security Menu
This menu item is available only for drive, which support Security Mode feature set
(bit 1 of word 82). Next features are described in word 128. Maximum password length is
32 characters.

Drive Lock is based on the industry standard ATA-3 specification. The standard uses a
dual password structure featuring a User and Master password and defines two security
modes, High and Maximum. Under High mode, the Master password can be used to
unlock a protected hard drive and reset the User password. By contrast, in Maximum
mode the Master password can only be used to reformat the hard drive and reset
security options for the newly formatted drive.

In the Maximum mode, the Master password cannot be used to change the User
password without first reformatting the hard drive. This protects against unauthorized
access to hard drive by the owner of the Master password. In both security modes, if
both passwords are lost, the hard drive is rendered permanently unusable. The decision
to implement only the High mode was made to eliminate risk of data loss in the event
only the User password is lost.

In High security mode, one can unlock the disk with either the user or master
password by using the "SECURITY UNLOCK DEVICE" ATA command.

In Maximum security mode, one can not unlock the disk without knowing the
passwords. One way to reuse the disk is to issue the SECURITY ERASE PREPARE
command followed by SECURITY ERASE UNIT. However, The SECURITY ERASE UNIT
command will require the Master password and all data will be erased as a result.

Security Mode feature set

The optional Security Mode feature set is a password system that restricts access to
user data stored on a device. The system has two passwords, User and Master, and two
security levels, High and Maximum. The security system is enabled by sending a user
password to the device with the SECURITY SET PASSWORD command. When the security
system is enabled, access to user data on the device is denied after a power cycle until
the User password is sent to the device with the SECURITY UNLOCK command.

A Master password may be set in addition to the User password. The purpose of the
Master password is to allow an administrator to establish a password that is kept secret
from the user, and which may be used to unlock the device if the User password is lost.
Setting the Master password does not enable the password system.

The security level is set to High or Maximum with the SECURITY SET PASSWORD
command. The security level determines device behavior when the Master password is
used to unlock the device. When the security level is set to High, the device requires the
SECURITY UNLOCK command and the Master password to unlock. When the security
level is set to Maximum, the device requires a SECURITY ERASE PREPARE command and
a SECURITY ERASE UNIT command with the Master password to unlock. Execution of
the SECURITY ERASE UNIT command erases all user data on the device.

The SECURITY FREEZE LOCK command prevents changes to passwords until a following
power cycle. The purpose of the SECURITY FREEZE LOCK command is to prevent
password setting attacks on the security system. Sometimes this command will issue

Page 55
system BIOS. If device is locked with SECURITY FREEZE LOCK command, then program
for this device will show a message „!SECURITY: FROZEN“.

If device is locked with a password, then program for this device will show a message „!
SECURITY: LOCKED“.

A device that implements the Security Mode feature set shall implement the following
minimum set of commands:

SECURITY SET PASSWORD


SECURITY UNLOCK
SECURITY ERASE PREPARE
SECURITY ERASE UNIT
SECURITY FREEZE LOCK
SECURITY DISABLE PASSWORD

Support of the Security Mode feature set is indicated in IDENTIFY DEVICE word 82 and
word 128.

Master Password Revision Code

When the manufacturer ships the device, the state of the Security Mode feature shall be
disabled. The initial Master password value is not defined by ATA standard.

If the Master Password Revision Code feature is supported, the manufacturer shall
set the Master Password Revision Code to FFFEh. The valid revision codes are 0001h
through FFFEh. A value of 0000h or FFFFh indicates that the Master Password Revision
Code is not supported.

Each master password change decrements the master password revision code value.

User password lost

If the User password sent to the device with the SECURITY UNLOCK command does not
match the user password previously set with the SECURITY SET PASSWORD command,
the device shall not allow the user to access data.

If the Security Level was set to High during the last SECURITY SET PASSWORD
command, the device shall unlock if the Master password is received.

If the Security Level was set to Maximum during the last SECURITY SET PASSWORD
command, the device shall not unlock if the Master password is received. The SECURITY
ERASE UNIT command shall erase all user data and unlock the device if the Master
password matches the last Master password previously set with the SECURITY SET
PASSWORD command.

Attempt limit for SECURITY UNLOCK command

The device shall have an attempt limit counter. The purpose of this counter is to defeat
repeated trial attacks. After each failed User or Master password SECURITY UNLOCK
command, the counter is decremented. When the counter value reaches zero the
EXPIRE bit (bit 4) of word 128 in the IDENTIFY DEVICE information is set to one, and
the SECURITY UNLOCK and SECURITY UNIT ERASE commands are command aborted
until the device is powered off or hardware reset. The EXPIRE bit shall be cleared to zero

Page 56
after power-on or hardware reset. The counter shall be set to five after a power-on or
hardware reset.

M8.1 SET PASSWORD


This item is for command SECURITY SET PASSWORD to set password identifier (User,
Master), security level (High, Maximum), new password and Master Password Revision
Code for password Master.

Table 14: Identifier and security level bit interaction


Identifier Level Command result
User High The password supplied with the command shall be saved as the
new User password. The Lock mode shall be enabled from the next
power-on or hardware reset. The device shall then be unlocked by
either the User password or the previously set Master password.
User Maximum The password supplied with the command shall be saved as the
new User password. The Lock mode shall be enabled from the next
power-on or hardware reset. The device shall then be unlocked by
only the User password. The Master password previously set is still
stored in the device but shall not be used to unlock the device.
Master High or This combination shall set a Master password but shall not enable
Maximum or disable the Lock mode. The security level is not changed. Master
password revision code set to the value in Master Password
Revision Code field.

M8.2 FREEZE LOCK


The SECURITY FREEZE LOCK command shall set the device to Frozen mode. After
command completion, any other commands that update the device Lock mode shall be
command aborted. Frozen mode shall be disabled by power-off or hardware reset. If
SECURITY FREEZE LOCK shall be issued when the device is in Frozen mode, the
command executes and the device shall remain in Frozen mode.

Commands disabled by SECURITY FREEZE LOCK are:

SECURITY SET PASSWORD


SECURITY UNLOCK
SECURITY DISABLE PASSWORD
SECURITY ERASE PREPARE
SECURITY ERASE UNIT

M8.3 UNLOCK
This command transfers 512 bytes of data from the host.

If the Identifier bit is set to Master and the device is in high security level, then the
password supplied shall be compared with the stored Master password. If the device is in
maximum security level then shall be the unlock command rejected.

If the Identifier bit is set to user then the device shall compare the supplied password
with the stored User password.

Page 57
If the password compare fails then the device shall return command aborted to the host
and decrements the unlock counter. This counter shall be initially set to five and shall be
decremented for each password mismatch when SECURITY UNLOCK is issued and the
device is locked. When this counter reaches zero then SECURITY UNLOCK and SECURITY
ERASE UNIT commands shall be command aborted until a power-on reset or hardware
reset. SECURITY UNLOCK commands issued when the device is unlocked have no effect
on the unlock counter.

M8.4 DISABLE PASSWORD


The SECURITY DISABLE PASSWORD command transfers 512 bytes of data from the host.
Device shall be in Unlocked mode.

If the selected password (User or Master) matches the password previously saved by the
device, the device shall disable the Lock mode. This command shall not change the
Master password. The Master password shall be reactivated when a User password is set.

The device shall return command aborted if the command is not supported, the device is
in Locked mode, or the device is in Frozen mode.

M8.5 ERASE UNIT


This command shall be immediately preceded by a SECURITY ERASE PREPARE command.

The SECURITY ERASE PREPARE command shall be issued immediately before the
SECURITY ERASE UNIT command to enable device erasing and unlocking. This command
prevents accidental loss of data on the device. The device shall return command aborted
if the command is not supported or the device is in Frozen mode.

This command transfers 512 bytes of data from the host. If the password does not match
the password previously saved by the device, the device shall reject the command with
command aborted.

The SECURITY ERASE PREPARE command shall be completed immediately prior to the
SECURITY ERASE UNIT command. If the device receives a SECURITY ERASE UNIT
command without an immediately prior SECURITY ERASE PREPARE command, the device
shall command abort the SECURITY ERASE UNIT command.

When Normal Erase mode is specified, the SECURITY ERASE UNIT command shall write
binary zeroes to all user data areas. The Enhanced Erase mode is optional. When
Enhanced Erase mode is specified, the device shall write predetermined data patterns
to all user data areas. In Enhanced Erase mode, all previously written user data shall be
overwritten, including sectors that are no longer in use due to reallocation.

This command shall disable the device Lock mode; however, the Master password shall
still be stored internally within the device and may be reactivated later when a new User
password is set.

Overwritten data left in track edges is normally unreadable magnetic noise, but the off-
track writes makes any possible coherent data in the track edges unrecoverable. Note
that only drive internal technology is able to accomplish an off-track Secure Erase. There
is no standardized “write off-track” command for any software utility to use.

Page 58
M8.6 Unlock device
This menu item makes UNLOCK and DISABLE PASSWORD commands to unlock password
of device and disable password together. Command UNLOCK allow unlock a device only
for this session and after reset or power-off will be locked again. Command DISABLE
PASSWORD will change security system state to disabled.

This item is useful if you want really to unlock the device.

Page 59
M9. SET MAX (HPA) Menu
The Host Protected Area security commands using a single command code and are
differentiated from one another by the value placed in the Features register. In addition,
a device supporting the Host Protected Area feature set may optionally include the
security extensions. Following commands are defined in this feature:

READ MAX ADDRESS/READ MAX ADDRESS EXT


SET MAX ADDRESS/SET MAX ADDRESS EXT
SET MAX SET PASSWORD
SET MAX LOCK
SET MAX FREEZE LOCK
SET MAX UNLOCK

Devices supporting these extensions shall set bit 10 of word 82 and bit 8 of word 83 of
the IDENTIFY DEVICE response to one.

HPA is defined as a reserved area for data storage outside the normal operating file
system. This area is hidden from the operating system and file system, and is normally
used for specialized applications. Systems may wish to store configuration data or save
memory to the HDD device in a location that the operating systems cannot change.

You can see at M13.1.22 Address Offset Mode feature also.

M9.1 Set Max Address


This menu item is valid for ATA/SATA hard drive only when the Host Protected Area
feature set (bit 10 in word 82) is implemented. Use prohibited when the Removable
feature set (bit 2 in word 82) is implemented.

First, we have to explain the concept:

• Native max address: The native maximum address is the highest address
accepted by the device in the factory default condition. The native maximum
address is the maximum address that is valid when using the SET MAX ADDRESS
command.
If the 48-bit Address feature set is supported and the 48-bit native max address is
greater than 268,435,455, the READ NATIVE MAX ADDRESS command shall
return a maximum value of 268,435,454.

• Host Protected Area (HPA) feature set: A reserved area for data storage
outside the normal operating system file system is required for several specialized
applications. Systems may wish to store configuration data or save memory to the
device in a location that the operating systems cannot change. The optional Host
Protected Area feature set allows a portion of the device to be reserved for such
an area when the device is initially configured.

A device that implements the Host Protected Area feature set shall implement the
following minimum set of commands:

READ NATIVE MAX ADDRESS


SET MAX ADDRESS

Page 60
A device that implements the Host Protected Area feature set and supports the 48-bit
Address feature set shall implement the following additional set of commands:

READ NATIVE MAX ADDRESS EXT


SET MAX ADDRESS EXT

Devices supporting this feature set shall set bit 10 of word 82 to one in the data returned
by the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE command.

The READ NATIVE MAX ADDRESS or READ NATIVE MAX ADDRESS EXT command
allows the host to determine the maximum native address space of the device even when
a protected area has been allocated.

The SET MAX ADDRESS or SET MAX ADDRESS EXT command allows the host to
redefine the maximum address of the user accessible address space. That is, when the
SET MAX ADDRESS or SET MAX ADDRESS EXT command is issued with a maximum
address less than the native maximum address, the device reduces the user accessible
address space to the maximum specified by the command, providing a protected area
above that maximum address. The SET MAX ADDRESS or SET MAX ADDRESS EXT
command shall be immediately preceded by a READ NATIVE MAX ADDRESS or READ
NATIVE MAX ADDRESS EXT command. After the SET MAX ADDRESS or SET MAX
ADDRESS EXT command has been issued, the device shall report only the reduced user
address space in response to an IDENTIFY DEVICE command in words 60, 61, 100, 101,
102, and 103. Any read or write command to an address above the maximum address
specified by the SET MAX ADDRESS or SET MAX ADDRESS EXT command shall cause
command completion with the IDNF bit set to one and ERR set to one, or command
aborted.

If the SET MAX ADDRESS or SET MAX ADDRESS EXT command is issued with a value
that exceeds the native maximum address command aborted shall be returned.

A volatility bit in the Sector Count register allows the host to specify if the maximum
address set is preserved across power-on or hardware reset cycles. On power-on or
hardware reset the device maximum address returns to the last non-volatile address
setting regardless of subsequent volatile SET MAX ADDRESS or SET MAX ADDRESS EXT
commands. If Value volatile bit is set to one, the device shall preserve the maximum
values over power-up or hardware reset. If Value volatile bit is cleared to zero, the device
shall revert to the most recent non-volatile maximum address value setting over power-
up or hardware reset.

Typical use of these commands would be:

1. on reset

a) BIOS receives control after a system reset


b) BIOS issues a READ NATIVE MAX ADDRESS or READ NATIVE MAX ADDRESS EXT
command to find the max capacity of the device
c) BIOS issues a SET MAX ADDRESS or SET MAX ADDRESS EXT command to the values
returned by READ NATIVE MAX ADDRESS or READ NATIVE MAX ADDRESS EXT
d) BIOS read configuration data from the highest area on the disk
e) BIOS issues a READ NATIVE MAX ADDRESS or READ NATIVE MAX ADDRESS EXT
command followed by a SET MAX ADDRESS or SET MAX ADDRESS EXT command to
reset the device to the size of the file system

2. on save to disk

a) BIOS receives control prior to shut down

Page 61
b) BIOS issues a READ NATIVE MAX ADDRESS or READ NATIVE MAX ADDRESS EXT
command to find the max capacity of the device
c) BIOS issues a volatile SET MAX ADDRESS or SET MAX ADDRESS EXT command to the
values returned by READ NATIVE MAX ADDRESS or READ NATIVE MAX ADDRESS EXT
d) Memory is copied to the reserved area
e) Shut down completes
f) On power-on or hardware reset the device max address returns to the last non-volatile
setting

These commands are intended for use only by system BIOS or other low-level boot time
process. Using these commands outside BIOS controlled boot or shutdown may result in
damage to file systems on the device. Devices should return command aborted if a
subsequent non-volatile SET MAX ADDRESS or SET MAX ADDRESS EXT command is
received after a power-on or hardware reset.

SET MAX ADDRESS command shall be aborted if a SET MAX ADDRESS EXT has
established a host protected area and vice versa, SET MAX ADDRESS EXT command shall
be aborted if a SET MAX ADDRESS has established a host protected area.

Hosts shall not issue more than one non-volatile SET MAX ADDRESS or SET MAX
ADDRESS EXT command after a power-on or hardware reset. Devices should report an
IDNF error upon receiving a second non-volatile SET MAX ADDRESS command after a
power-on or hardware reset.

M9.2 Set Password


The SET MAX SET PASSWORD command allows the host to define the password to be
used during the current power-on cycle. The password does not persist over a power
cycle but does persist over a hardware or software reset. This password is not related to
the password used for the Security Mode Feature set. When the password is set, the
device is in the Set Max Unlocked mode.

M9.3 Lock
The SET MAX LOCK command allows the host to disable the SET MAX commands (except
SET MAX UNLOCK) until the next power cycle or the issuance and acceptance of the SET
MAX UNLOCK command. When this command is accepted, the device is in the Set max
locked mode.

M9.4 Unlock
The SET MAX UNLOCK command changes the device from the Set Max Locked mode to
the Set Max Unlocked mode.

M9.5 Freeze Lock


The SET MAX FREEZE LOCK command allows the host to disable the SET MAX commands
(including Set Max Unlock) until the next power cycle. When this command is accepted,
the device is in the Set Max Frozen mode.

Page 62
M10. Quantum Menu
It is menu of specific commands valid for hard drives Quantum and some Maxtor only.
Originated was these commands implemented for Quantum’s hard drives.

M10.1 Read Defect List


Defect lists store information about defect in the user area of the disk. Two lists exist in
the system area – G-list and P-list. Defect could be placed only in G-list or in the G-list
and P-list together. It is not allowed to have defect only in P-list.

P-list (primary defect list) is designated for defects found during manufacturing
process (during execution of SelfScan routine). Defects placed in the P-list could be
hidden by inline spare method in such way that graph of linear read/verify will not
produce a spike. It is only possible to remap 32 sectors per each 65504 sectors. The
defects placed in the P-list should have a record in the G-list as well.

G-list (grown defect list) is designated for defects created during normal use of the
hard disk drive. Defects are added to the list either automatically (during AWRE or ARRE
routines) or manually using Reallocate and Reallocate Phys (Super 10) commands. Those
defects are always hidden by remap method that is guarantee user data from damage,
because relationship between PBA (Physical Block Address) and LBA is kept the same for
other sectors. This type of defects will produced spike on the read/verify graph. In
addition to the defects described, the G-list contains a full copy of P-list.

The Read Defect List command is an extended AT command that enables the host to
retrieve the drive’s defect list. Prior to issuing this command, the host should issue the
Read Defect List Length command. The defect list length is a fixed value for each
Quantum/Maxtor product and can be calculated as follows:

Length in sectors = (((max. number of defects)*8+4)+511)/512

If value in column 'Sector' is equal to FFFFFFFFh (-1), that indicate a bad track entries
– it appears a text '*BAD TRACK*'.

Unfortunately, I do not have detailed description to explain this obtained data.

M10.2 Read Configuration


The READ CONFIGURATION command displays configuration of the drive. Like the SET
CONFIGURATION command, this command is secured to prevent accidentally accessing
it.

When bit is set to one, it displays 'YES', contrary 'NO'.

We got the following data:

- DisCache Parameters
- Error Recovery Parameters
- Device Parameters

Page 63
M10.2.1 DisCache Parameters
PE - Prefetch Enable [default bit=1]

When set to one, this bit indicates the drive will perform prefetching. A PE bit set to zero
indicates that no prefetching will occur. The CE bit must be set to one to enable use of
the PE bit.

CE - Cache Enable [default bit=1]

When set to one, this bit indicates that the drive will activate caching on all READ
commands. With the CE bit set to zero, the drive will disable caching and use the RAM
only as a transfer buffer.

M10.2.2 Error Recovery Parameters


AWRE - Automatic Write Reallocation enabled [default bit=1]

When set to one, indicates that the drive will enable automatic reallocation of bad blocks.
Automatic Write Reallocation is similar to the function of Automatic Read Reallocation,
but is initiated by the drive when a defective block has become inaccessible for writing.

An AWRE bit set to zero indicates that the drive will not automatically reallocate bad
blocks.

ARR - Automatic Read Reallocation enabled [default bit=1]

When set to one, indicates that the drive will enable automatic reallocation of bad blocks.
The drive initiates reallocation when the ARR bit is set to one and the drive encounters a
hard error – that is, if the triple-burst ECC algorithm is invoked.

When the ARR bit is set to zero, the drive will not perform automatic reallocation of bad
sectors. If RC bit is one, the drive ignores this bit.

RC - Read Continuous [default bit=0]

When set to one, this bit instructs the drive to transfer data of the requested length
without adding delays to increase data integrity – that is, delays caused by the drive’s
error-recovery procedures. With RC set to one to maintain continuous flow of data and
avoid delays, the drive may send data that is erroneous. When the drive ignores an error,
it does not post the error. The RC bit set to zero indicates that potentially time-
consuming operations for error recovery are acceptable during data transfer.

EEC - Enable Early Correction [default bit=0]

When set to one, this bit indicates that the drive will use its ECC algorithm if it detects
two consecutive equal, nonzero error syndromes. The drive will not perform rereads
before applying correction, unless it determines that the error is uncorrectable. An EEC
bit set to zero indicates that the drive will use its normal recovery procedure when an
error occurs: rereads, followed by error correction. If the RC bit is set to one, the drive
ignores the EEC bit.

Silent Mode enabled

Page 64
When set to one, this bit indicates the drive’s acoustic emanations will be reduced.

DCR - Disable Correction [default bit=0]

When set to one, this bit indicates that all data will be transferred without correction,
even if it would be possible to correct the data. A DCR bit set to zero indicates that the
data will be corrected if possible. If the data is uncorrectable, it will be transferred
without correction, though the drive will attempt rereads. If RC is set to one, the drive
ignores this bit. The drive will post all errors, whether DCR is set to zero or one.

Number of Retries [default byte=8]

This byte specifies the number of times that the drive will attempt to recover from data
errors by rereading the data, before it will apply correction. The drive performs rereads
before ECC correction, unless EEC is set to one, enabling early correction.

ECC Correction Span [default byte=32]

This byte specifies the maximum number of 10-bit symbols that can be corrected using
ECC.

M10.2.3 Device Parameters


WCE - Write Cache Enable [default=1]

When this bit is set to one, the Quantum/Maxtor ATA hard disk drives enable the Write
Cache. This indicates that the drive returns GOOD status for a write command after
successfully receiving the data, but before data is written to the disk. A value of zero
indicates that the drive returns GOOD status for a write command after successfully
receiving the data and written to the disk. If the next command is another WRITE
command, cached data continues to be written to the disk while new data is added to the
buffer.

RUEE - Reallocate Uncorrectable Error Enables [default=1]

When set to one, this bit indicates that the Quantum/Maxtor ATA hard disk drives will
automatically reallocate uncorrectable hard errors, if the ARR bit is set to one.

Page 65
M11. Dump/Save Menu
This menu contains items for saving some informations.

M11.1 Save DEBUG Data


If you have a trouble with some device, you can save all reasonable data informations
about selected device into file and send to me to analyze. In this case, you should do an
option “Save Detect Data” also.

With this option are saving following informations:

• 256 words from IDENTIFY DEVICE or IDENTIFY DEVICE PACKET


• DPT/DPTE tables from Extended INT13h
• S.M.A.R.T.: threshold, data, some log pages
• Device Configuration Overlay data
• Native Max Address
• SCSI Log sense pages
• ASPI table

Program does not save any private information!

For file name are taken first eight characters of serial number. In case of null serial
number or device does not support him is for file name used first eight characters of
device name. Non-printable characters will be replaced with character „_“. Binary file is
saved with type BIX to the current directory from where was program called.

Actual version of debug file is BBB8h.

M11.2 Save Detect Data


This options save to the text file „HDETECT.LOG“ all informations (controllers, devices
etc.) detected at the start of program. File is saved to the current directory from where
program was called.

M11.3 Save CMOS Binary


This option saves to the binary file „HDATCMOS.BIX“ all bytes from CMOS memory.
File is saved to the current directory from where program was called.

M11.4 Save CMOS Hex Dump


This option saves to the text file „HDATCMOS.TXT“ all bytes from CMOS memory in
hexadecimal form. File is saved to the current directory from where program was called.

M11.5 Dump IDENTIFY DEVICE


This option will show 512 bytes as result from command ATA or ATAPI IDENTIFY DEVICE.

Page 66
M11.6 Dump DCO
This option will show 512 bytes as result from command Device Configuration Identify
(DCO).

Page 67
M.13 Commands Menu

M13.1 Command/Feature sets


This choice shows all supported features. In column „Status“ appears „enabled“, when
selected feature is enabled and „disabled“, when this feature is disabled.

Feature showed with yellow color could be enabled or disabled with individual
subcommands of command SET FEATURES or special commands. This can you make with
arrow keys left or right. The other features are set from manufacturer in firmware of
device and normally you cannot change it, only with special utilities from manufacturer
for given device.

In words 82-84 of device is saved setting which feature sets device support.
In words 85-87 of device is saved setting which feature sets are enabled for device.

Features M13.1.1 to M13.1.14: words 82/85 (in the IDENTIFY DEVICE response)
Features M13.1.15 to M13.1.28: words 83/86
Features M13.1.29 to M13.1.41: words 84/87

M13.1.1 S.M.A.R.T. feature set


The intent of self-monitoring, analysis, and reporting technology (the SMART feature
set) is to protect user data and minimize the likelihood of unscheduled system downtime
that may be caused by predictable degradation and/or fault of the device. By monitoring
and storing critical performance and calibration parameters, SMART feature set devices
attempt to predict the likelihood of near-term degradation or fault condition. Providing
the host system the knowledge of a negative reliability condition allows the host system
to warn the user of the impending risk of a data loss and advise the user of appropriate
action. Support of this feature set is indicated in the IDENTIFY DEVICE response.

Devices that implement the PACKET Command feature set shall not implement the
SMART feature set as described in ATA/ATAPI standard. Devices that implement the
PACKET Command feature set and S.M.A.R.T. shall implement S.M.A.R.T. as defined by
the command packet set implemented by the device. This feature set is optional if the
PACKET Command feature set is not supported.

When S.M.A.R.T. is supported, then with SMART ENABLE OPERATIONS or SMART


DISABLE OPERATIONS command could be S.M.A.R.T. enabled or disabled.

M13.1.2 Security Mode feature set


The optional Security Mode feature set is a password system that restricts access to user
data stored on a device. (See at Lock/Unlock Device Menu)

M13.1.3 Removable Media feature set


The Removable Media feature set is intended only for devices not implementing the
PACKET Command feature set. This feature set operates with Media Status Notification

Page 68
disabled. The MEDIA LOCK and MEDIA UNLOCK commands are used to secure the media
and the MEDIA EJECT command is used to remove the media. While the media is locked,
the eject button does not eject the media. Media status is determined by checking the
media status bits returned by the MEDIA LOCK and MEDIA UNLOCK commands.

Power-on reset, hardware reset, and the EXECUTE DEVICE DIAGNOSTIC command clear
the Media Lock (LOCK) state and the Media Change Request (MCR) state. Software reset
clears the Media Lock (LOCK) state, clears the Media Change Request (MCR) state, and
preserves the Media Change (MC) state.

M13.1.4 Power Management feature set


A device shall implement power management. A device implementing the PACKET
Command feature set may implement the power management as defined by the packet
command set implemented by the device. Otherwise, the device shall implement the
Power Management feature set as described in ATA/ATAPI standard.

The Power Management feature set permits a host to modify the behavior of a device in a
manner that reduces the power required to operate. The Power Management feature set
provides a set of commands and a timer that enable a device to implement low power
consumption modes.

M13.1.5 PACKET Command feature set


The optional PACKET Command feature set provides for devices that require command
parameters that are too extensive to be expressed in the Command Block registers.
Devices implementing the PACKET Command feature set exhibit responses different from
those exhibited by devices not implementing this feature set.

Hard drive devices do not support this feature set.

M13.1.6 Write Cache


If feature Write Cache is supported it could be enabled or disabled with command SET
FEATURES.

M13.1.7 Look Ahead


If feature Look Ahead is supported it could be enabled or disabled with command SET
FEATURES.

M13.1.8 Release interrupt


If feature Release interrupt is supported it could be enabled or disabled with command
SET FEATURES.

M13.1.9 SERVICE interrupt


If feature SERVICE interrupt is supported it could be enabled or disabled with
command SET FEATURES.

Page 69
M13.1.10 DEVICE RESET command
M13.1.11 Host Protected Area feature set
Host Protected Area (HPA)

HPA is defined as a reserved area for data storage outside the normal operating file
system. This area is hidden from the operating system and files system, and is normally
used for specialized applications. Systems may wish to store configuration data or save
memory to the hard disk drive device in a location that the operating systems cannot
change.

HPA is generally known as Host Protected Area (called Hidden Protected Area by
IBM). The HPA is a special area on your hard disk, usually hidden to partitioning tools. It
includes all the software and data needed to recover the preloaded state of the notebook.
The HPA also includes some diagnostic tools and a (MS Windows only) backup tool.

Removing the HPA is simple to effect, but may result in your not being able to access the
machine's BIOS.

HPA is using by two technologies: BEER (Boot Engineering Extension Record) and
PARTIES (Protected Area Run Time Interface Extension Services).

Detailed description see M13.1.25 48-bit Address feature set.

M13.1.12 WRITE BUFFER command


M13.1.13 READ BUFFER command
M13.1.14 NOP command
M13.1.15 DOWNLOAD MICROCODE command
M13.1.16 READ/WRITE DMA QUEUED command
M13.1.17 Compact Flash (CFA) feature set
M13.1.18 Advanced Power Management feature
set
The Advanced Power Management (APM) feature set is an optional feature set that
allows the host to select a power management level. The power management level is
specified using a scale from the lowest power consumption setting of 01h to the
maximum performance level of FEh. Device performance may increase with increasing
power management levels. Device power consumption may increase with increasing
power management levels.

A device may implement one power management method for two or more contiguous
power management levels. For example, a device may implement one power
management method from level 80h to A0h and a higher performance, higher power

Page 70
consumption method from level A1h to FEh. Advanced power management levels 80h
and higher do not permit the device to spin down to save power.

The Advanced Power Management feature set uses the following functions:

A SET FEATURES subcommand to enable Advanced Power Management


A SET FEATURES subcommand to disable Advanced Power Management

Advanced Power Management is independent of the Standby timer setting. If both


Advanced Power Management and the Standby timer are set, the device will go to the
Standby state when the timer times out or the device’s Advanced Power Management
algorithm indicates that the Standby state should be entered.

The IDENTIFY DEVICE indicates that Advanced Power Management is supported, if


Advanced Power Management is enabled, and the current advanced power management
level if Advanced Power Management is enabled.

For APM change is used new menu.

M13.1.19 Removable Media Status Notification


feature set
If feature Removable Media Status Notification feature set is supported it could be
enabled or disabled with command SET FEATURES.

M13.1.20 Power-Up in Standby feature set


The optional Power-Up in Standby feature set allows devices to be powered-up into the
Standby power management state to minimize inrush current at power-up and to allow
the host to sequence the spin-up of devices. This optional feature set may be enabled or
disabled via the SET FEATURES command or may be enabled by use of a jumper or
similar means, or both. When enabled by a jumper, the feature set shall not be disabled
via the SET FEATURES command. The IDENTIFY DEVICE or IDENTIFY PACKET DEVICE
response indicates whether this feature set is implemented and/or enabled.

The enabling of this feature set shall be persistent after power-down and power-up.
When this feature set is enabled, the device shall power-up into Standby.

A device may implement a SET FEATURES subcommand that notifies the device to spin-
up to the Active state when the device has powered-up into Standby. If the device
implements this SET FEATURES subcommand and power-up into Standby is enabled, the
device shall remain in Standby until the SET FEATURES subcommand is received. If the
device implements this SET FEATURES subcommand, the fact that the feature is
implemented is reported in the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE response.

M13.1.21 SET FEATURES subcommand required to


spin-up after power-up
If the device does not implement the SET FEATURES subcommand to spin-up the device
after power-up and power-up into Standby is enabled, the device shall spin-up upon
receipt of the first command that requires the device to access the media.

Page 71
M13.1.22 Address Offset Mode (Reserved Area
Boot)
This feature is described in „Address Offset Reserved Area Boot“, INCITS TR27:2001.

Computer systems perform initial code booting by reading from a predefined address on
a disk drive. To allow an alternate bootable operating system to exist in a reserved area
on disk drive, Address Offset Feature provides a Set Feature function to temporarily
offset the drive address space. The offset address space wraps around so that the entire
disk drive address space remains addressable in offset mode. The Set Max pointer is set
to the end of the reserved area to protect the data in the user area when operating in
offset mode. This protection can be removed by a SET MAX ADDRESS / SET MAX
ADDRESS EXT command to move the Set Max pointer to the end of the drive.

Set Feature Command Subcommand code 09h “ENABLE ADDRESS OFSET MODE sub
command” offsets address LBA 0 (Cylinder 0, Head 0, Sector 1) to the start of a non-
volatile reserved area established using the SET MAX ADDRESS / SET MAX ADDRESS EXT
command. The offset condition is cleared by SET FEATURE command Subcommand 89h
“DISABLE ADDRESS OFFSET MODE”, Software Reset, Hardware Reset or Power on
Reset. Upon entering offset mode, the capacity of the drive returned in the IDENTIFY
DEVICE data is the size of the former reserved area. A subsequent SET MAX ADDRESS /
SET MAX ADDRESS EXT command using the address returned by READ MAX ADDRESS /
READ MAX ADDRESS EXT command allows access to the entire drive. Addresses wrap so
the entire drive remains addressable.

If a non-volatile reserved area has not been established before the device receives a SET
FEATURES ENABLE ADDRESS OFFSET MODE sub command, the command fails with Abort
error status.

Disable Address Offset Mode removes the address offset and sets the size of the drive
reported by the IDENTIFY DEVICE command back to the size specified in the last non-
volatile SET MAX ADDRESS / SET MAX ADDRESS EXT command. IDENTIFY DEVICE Word
83 bit 7 indicates the device supports the Set Features Address Offset Mode. IDENTIFY
DEVICE Word 86 bit 7 indicates the device is in address offset mode.

Before Enable Address Offset Mode

A reserved area has been created using a non-volatile SET MAX ADDRESS command or
SET MAX ADDRESS EXT command.

User Accessible Area Reserved Area

LBA=0 LBA=R LBA=M

After Enable Address Offset Mode

The former reserved area is now the user accessible area. The former user accessible
area is now the reserved area.

User Accessible Area Reserved Area


(former Reserved Area) (former User Accessible
Area)
LBA=0 LBA=M-R LBA=M

Page 72
After SET MAX ADDRESS/SET MAX ADDRESS EXT command
Using the Value Returned by READ MAX ADDRESS/READ MAX ADDRESS EXT command

User Accessible Area

LBA=0 LBA=M

Set Feature Disable Address Offset Mode, hardware or Power on Reset returns the device
to Address Offset Mode Disabled. Software reset returns the device to Address Offset
Mode Disable if Set Features Disable Reverting to Power On Defaults has not been set.

M13.1.23 SET MAX security extension


If this feature is enabled than with command SET MAX SET PASSWORD was enabled SET
MAX security extension on device (device is locked).

M13.1.24 Automatic Acoustic Management


feature set
The Automatic Acoustic Management (AAM) feature set is an optional feature set
that allows the host to select an acoustic management level. The acoustic management
level ranges from the setting of 00h to FFh, although many levels are currently reserved.
Device performance and acoustic emanation may increase with increasing acoustic
management levels. The acoustic management levels may contain discrete bands. For
example, a device may implement one acoustic management method from level 80h to
A0h, and a higher performance, higher acoustic emanation method from level A1h to
FEh.

For change is used special menu.

M13.1.25 48-bit Address feature set


The optional 48-bit Address feature set allows devices with capacities up to
281,474,976,710,655 sectors. This allows device capacity up to
144,115,188,075,855,360 bytes (144 PB). In addition, the numbers of sectors that may
be transferred by a single command are increased by increasing the allowable sector
count to 16 bits (65,536 sectors).

Commands unique to the 48-bit Address feature set are:

- FLUSH CACHE EXT


- READ DMA EXT
- READ DMA QUEUED EXT
- READ MULTIPLE EXT
- READ NATIVE MAX ADDRESS EXT
- READ SECTOR(S) EXT
- READ VERIFY SECTOR(S)
- SET MAX ADDRESS EXT
- WRITE DMA EXT
- WRITE DMA QUEUED EXT
- WRITE MULTIPLE EXT
- WRITE SECTOR(S) EXT

Page 73
The 48-bit Address feature set operates in LBA only. Devices implementing the 48-bit
Address feature set shall also implement commands that use 28-bit addressing. 28-bit
and 48-bit commands may be intermixed. Support of the 48-bit Address feature set is
indicated in the IDENTIFY DEVICE response.

In a device implementing the 48-bit Address feature set, the Features register, the Sector
Count register, the LBA Low register, the LBA Mid register, and the LBA High register are
each a two byte deep FIFO. Each time one of these registers is written, the new content
written is placed into the “most recently written” location and the previous content of the
register is moved to “previous content” location.

The host may read the “previous content” of the Features, Sector Count, LBA Low, LBA
Mid, and LBA High registers by first setting the High Order Bit (HOB, bit 7) of the
Device Control register to one and then reading the desired register. If HOB (bit 7) in the
Device Control register is cleared to zero the host reads the “most recently written”
content when the register is read. A write to any Command Block register shall cause the
device to clear the HOB bit to zero in the Device Control register. The “most recently
written” content always is written by a register write regardless of the state of HOB (bit
7) in the Device Control register.

The device shall indicate support of the 48-bit Address feature set in the IDENTIFY
DEVICE response. In addition, IDENTIFY DEVICE response words (103:100) contain the
maximum user LBA + 1 that is accessible by 48-bit addressable commands.

If the value contained in IDENTIFY DEVICE response words (103:100) is equal to or less
than 268,435,455, then the content of words (61:60) shall be as described in ATA/ATAPI
standard. If the value in contained IDENTIFY DEVICE response words (103:100) is
greater than 268,435,455, then the maximum value in words (61:60) shall be
268,435,455. That is, if the device contains greater than the capacity addressable with
28-bit commands, words (61:60) shall describe the maximum capacity that can be
addressed by 28-bit commands.

When the 48-bit Address feature set is implemented, the native maximum address is the
highest address accepted by the device in the factory default condition using a 48-bit
Address feature set command. The native maximum address is the value returned by a
READ NATIVE MAX ADDRESS EXT command. If the native maximum address of a device
is equal to or less than 268,435,455, a READ NATIVE MAX ADDRESS shall return the
native maximum address. If the native maximum address is greater than 268,435,455, a
READ NATIVE MAX ADDRESS command shall cause the device to return a maximum
value of 268,435,454.

When the 48-bit Address feature set is implemented, the SET MAX ADDRESS command
shall execute. However, in addition to modifying the content of words (61:60), the new
content of (61:60) shall also be placed in words (103:100). When a SET MAX ADDRESS
EXT command is issued and the address requested is greater than 268,435,455, words
(103:100) shall be modified to reflect the requested value but words 60 and 61 shall not
be modified. When a SET MAX ADDRESS EXT command is issued and the address
requested is equal to or less than 268,435,455, words (103:100) shall be modified to
reflect the requested value and words 60 and 61 shall be modified as described.

The 48-bit Address feature set is not limited for device with capacity over 127 GB only.
When BIOS and device support this feature, you can use this feature on device with
capacity up to 127 GB.

The major differences between 48-bit addressing and 28-bit addressing are as follows:

Page 74
1. In 28-bit addressing, there are only 28 bits available to access a given address on the
hard drive, which when all bits are set equates to 137 GB.

2. By doubling the number of bits that can be used to access a given address, 48-bit LBA
addressing pushes the maximum storage limit to 144 petabytes.

3. An additional benefit to the 48-bit capability is the ability to transfer more than 256
sectors per command (i.e., up to 65,536 sectors per command).

4. Interoperability between 48-bit and 28-bit addressing maintains compatibility between


older hard drives and new, larger hard drives installed in the same system.

M13.1.26 Device Configuration Overlay feature


set
The optional Device Configuration Overlay feature set allows a utility program to modify
some of the optional commands, modes, and feature sets that a device reports as
supported in the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE command response as
well as the capacity reported. (See detailed info)

M13.1.27 FLUSH CACHE command

M13.1.28 FLUSH CACHE EXT command

M13.1.29 S.M.A.R.T. error logging

M13.1.30 S.M.A.R.T. self-test

M13.1.31 Media serial number is valid


If bit 2 of word 84 is set to one, the device supports the media serial number field words
(205:176). If bit 2 of word 87 is set to one, the media serial number field in words
(205:176) is valid. This bit shall be cleared to zero if the media does not contain a valid
serial number or if no media is present.

Words (205:176) contain the current media serial number. Serial numbers shall consist of
60 bytes. The first 40 bytes shall indicate the media serial number and the remaining 20
bytes shall indicate the media manufacturer.

For removable ATA devices (e.g., flash media with native ATA interfaces) that do not
support removable media, the first 20 words of this field shall be the same as words
(46:27) of the IDENTIFY DEVICE response and the next ten words shall be the same as
words (19:10) of the IDENTIFY DEVICE response.

This feature should be disabled if medium does not contain valid serial number or
medium is not present.

Page 75
M13.1.32 Media Card Pass Through Command
feature set
The Media Card Pass Through commands is implemented by a Media Pass Through
device. A device implementing the Media Card Pass Through Command feature set is a
bridge to one or more types of media card storage devices.

This feature set embeds small-format flash memory card commands inside the ATA
commands. The adapter’s firmware passes the embedded memory card’s command to
the memory card as is from the ATA command. The Media Card Pass Through Command
feature set reduces the number of commands required for this feature set regardless of
the number or type of memory card commands. It also reduces the adapter’s firmware
overhead in processing them. As new memory cards types are defined in the market,
they can all be supported within this one feature.

- SD Card ATA Command Extension (SDA 3C)


- Smart Media ATA Command Extension (SSFDC Forum)

M13.1.33 Streaming feature set


If bit 4 of word 84 is set to one, the device supports the Streaming feature set.

The Streaming feature set is an optional feature set that allows a host to request delivery
of data from a contiguous logical block address range within an allotted time. This places
a priority on time to access the data rather than the integrity of the data. Streaming
feature set commands only support 48-bit addressing.

- Valid CONFIGURE STREAM command (Streaming feature set)


- A valid CONFIGURE STREAM command has been executed

M13.1.34 General Purpose Logging feature set


If bit 5 of word 84 is set to one, the device supports the General Purpose Logging feature
set (ATA/ATAPI-7).

The General Purpose Logging feature set provides a mechanism for accessing logs in a
device. These logs are associated with specific feature sets such as S.M.A.R.T. Support
of the individual logs is determined by support of the associated feature set. If the
device supports a particular feature set, support for any associated log(s) is mandatory.

Support for the General Purpose Logging feature set shall not be disabled. If the feature
set associated with a requested log is disabled, the device shall return command abort.

M13.1.35 WRITE DMA/MULTIPLE FUA EXT


commands
If bit 6 of word 84 is set to one, the device supports the WRITE DMA FUA EXT and WRITE
MULTIPLE FUA EXT commands (ATA/ATAPI-7).

M13.1.36 WRITE DMA QUEUED FUA EXT command

Page 76
If bit 7 of word 84 is set to one, the device supports the WRITE DMA QUEUED FUA EXT
command (ATA/ATAPI-7).

M13.1.37 World Wide Name


If bit 8 of word 84 is set to one, the device supports a world wide name (ATA/ATAPI-7).

WWN (World Wide Name): This is a 64-bit worldwide unique name based upon a
company’s IEEE identifier (see IDENTIFY DEVICE Words 108:111). The company’s IEEE
unique identifier shall be assigned by the IEEE/RAC (IEEE Registration Authority
Committee) as specified by ISO/IEC 13213:1994 (see Operating Procedures at
http://standards.ieee.org/regauth/rac_procedures_r2.doc).

M13.1.38 URG bit for READ STREAM DMA/PIO


commands
If bit 9 of word 84 is set to one, the device supports the URG bit for READ STREAM DMA
and READ STREAM PIO commands.

The Urgent bit (URG) in the READ STREAM and WRITE STREAM commands specifies
that the command should be completed in the minimum possible time by the device and
shall be completed within the specified Command Completion Time Limit.

URG specifies an urgent transfer request.

M13.1.39 URG bit for WRITE STREAM DMA/PIO


commands
If bit 10 of word 84 is set to one, the device supports the Urgent bit (URG) for WRITE
STREAM DMA and WRITE STREAM PIO commands.

M13.1.40 Time-limited Read/Write feature set


If bit 11 of word 84 is set to one, the device supports the Time-limited Read/write
feature set (ATA/ATAPI-7). If bit 11 of word 84 is set to zero, the device is working in
normal PC mode.

The purpose of the Time-limited Read/Write feature set is to define a mode of operation
that balances performance with reliability. This feature set is optional for devices not
implementing the PACKET Command feature set and prohibited for devices implementing
the PACKET Command feature set

The basic idea is for the host to define (to the device) a maximum time limit during
which a group of commands is expected to complete. The device shall attempt to
guarantee completion (of the group of commands) within the time limit. The timer (in the
device) has these mutually exclusive states: disabled, armed, running and expired.
The timer does NOT apply to each individual command, but to the combined time
required to execute a ‘group’ of commands. If the device does not complete a qualified
command before the timer expires, the device shall either abort the command or
continue (possibly transferring incorrect data).

Page 77
M13.1.41 Time-limited Read/Write feature set
Read/write continuous
If bit 12 of word 84 is set to one, the device supports the Read Continuous and Write
Continuous mode within the Time-limited Read/Write feature set (ATA/ATAPI-7).

M13.1.42 IDLE IMMEDIATE with UNLOAD


FEATURE

Page 78
M13.2 View/Search Device

View device

Search device

Page 79
M14. Defect Menu
This menu is available for SCSI devices with loaded ASPI drivers only.

The READ DEFECT DATA (10) command requests that the device server transfer the
medium defect data to the application client. If the device server is unable to access the
medium defect data, it shall terminate the command with CHECK CONDITION status. The
sense key shall be set to either MEDIUM ERROR, if a medium error occurred, or NO
SENSE, if medium defect data does not exist. The additional sense code shall be set to
DEFECT LIST NOT FOUND. Some device servers may not be able to return medium defect
data until after a FORMAT UNIT command has been completed successfully.

Medium defects
Any medium has the potential for defects that cause data to be lost. Therefore, each
logical block may contain additional information that allows the detection of changes to
the user data and protection information, if any, caused by defects in the medium or
other phenomena, and may also allow the data to be reconstructed following the
detection of such a change (e.g., ECC bytes). Some direct-access block devices allow the
application client to examine and modify the additional information by using the READ
LONG commands and the WRITE LONG commands. The application client may use the
WRITE LONG commands to induce a defect to test the defect detection logic of the direct-
access block device or to emulate an unrecoverable logical block when generating a
mirror copy.

Defects may also be detected and managed during processing of the FORMAT UNIT
command. The FORMAT UNIT command defines four sources of defect information: the
PLIST, CLIST, DLIST, and GLIST. These defects may be reassigned or avoided during the
initialization process so that they do not affect any logical blocks. The sources of defect
location information (i.e., defects) are defined as follows:

Primary defect list (PLIST)

The primary defect list (PLIST) is the list of defects that may be supplied by the original
manufacturer of the device or medium. They are are considered permanent defects.
The PLIST is located outside of the application client-accessible logical block space. The
PLIST is accessible by the device server (to reference while formatting), but it is not
accessible by the application client except through the READ DEFECT DATA command.
Once created, the original PLIST shall not be subject to change.

The PLIST is located inside a reserved area.

Logical unit certification list (CLIST)

This list includes defects detected by the device server during an optional certification
process executed during the FORMAT UNIT command. This list shall be added to the
GLIST.

Data defect list (DLIST)

This list of defect descriptors may be supplied to the device server by the application
client in the data-out buffer transfer of the FORMAT UNIT command. This list shall be

Page 80
added to the GLIST. The DEFECT LIST LENGTH in the defect list header may be zero, in
that case there is no DLIST.

Grown defect list (GLIST)

The grown defect list (GLIST) includes all defects sent by the application client or
detected by the device server. The GLIST does not include the PLIST. If the CMPLST bit is
zero, the GLIST shall include DLISTs provided to the device server during the previous
and the current FORMAT UNIT commands. The GLIST shall also include:

a) defects detected by the format operation during medium certification,


b) defects previously identified with a REASSIGN BLOCKS command,
c) defects previously detected by the device server and automatically reallocated.

The direct-access block device may automatically reassign defects if allowed by the Read-
Write Error Recovery mode page.

Defects may also occur after initialization. The application client issues a REASSIGN
BLOCKS command to request that the specified logical block address be reassigned to a
different part of the medium. This operation may be repeated if a new defect appears at
a later time. The total number of defects that may be handled in this manner is vendor-
specific. In the usual case, a defect that has been reassigned no longer has an LBA.

Defect management on direct-access block devices is vendor-specific. Direct-access block


devices not using a removable medium may optimize the defect management for
capacity or performance or both. Some direct-access block devices that use a removable
medium do not support defect management or use defect management that does not
impede the ability to interchange the medium.

The grown defect list can be cleared by performing a special FORMAT UNIT command and
providing it specific parameters to clear the list. If you clear the defect list, eventually
your operating system will attempt to put good data on blocks that were previously
marked as bad and you would have data loss.

Write failures
If one or more commands performing write operations are in the task set and are being
processed when power is lost (e.g., resulting in a vendor-specific command timeout by
the application client) or a medium error or hardware error occurs (e.g., because a
removable medium was incorrectly unmounted), the data in the logical blocks being
written by those commands is indeterminate. When accessed by a command performing
a read or verify operation (e.g., after power on or after the removable medium is
mounted), the device server may return old data, new data, or vendor-specific data in
those logical blocks.

Before reading logical blocks which encountered such a failure, an application client
should reissue any commands performing write operations that were outstanding.

M14.1 Read Defect P-List


P-list (primary defect list) is designated for defects found during manufacturing
process.

Page 81
M14.2 Read Defect G-List
G-list (grown defect list) is designated for defects created during normal use of the
hard disk drive.

M15. Diagnostic Menu


This menu is for SCSI devices only and is experimental now.

The RECEIVE DIAGNOSTIC RESULTS and SEND DIAGNOSTIC DATA commands implement
vendor-unique pages to test the drive during the manufacturing process.

M15.1 Diagnostic Pages


Table 15: Diagnostic Pages
Page Code Description
00h Supported Diagnostics Pages Page
40h Translate Address Page
81h Controller Test

The Translate Address page allows the initiator to translate a logical block address into a
physical sector address or a physical sector address to a logical block address. The
address to be translated is passed to the target during the Data Out phase associated
with the Send Diagnostic command and the results are returned to the initiator during
the Data In phase following the Receive Diagnostic Results command. The translated
address is returned in the Translate Address page—Receive Diagnostic.

Page 82
4. Parameters
Here are introduced parameters, their values are changeable and depends on type of
device.

4.1 Device access


Values: None, Ext.INT13h, INT13h, ATAPI, ASPI, ATA_PIO, ATA_PCI_DMA
Default: depend on type of device

This parameter defines used type of access to the selected device.

• NONE
For given device is not available any type of access.
• Ext.INT13h
For accessing is used extended interrupt 13h (Ext.INT13h). This choice is
available only when direct-access device support Ext.INT13h.
Available functions: VERIFY, READ, WRITE, SEEK
• INT13h
For accessing is used standard interrupt 13h. This choice is available only for
direct-access devices.
Available functions: VERIFY, READ, WRITE, SEEK, READ_ECC, WRITE_ECC
• ATA_PIO
Device is accessing direct via ATA ports.
Available functions: VERIFY, READ, WRITE, SEEK
• ATAPI
Type of direct access for ATAPI devices (CD-ROM, ZIP) via ATAPI ports.
Available functions: READ, SEEK
• ASPI
Access to SCSI devices is via functions of ASPI drivers.
This choice is available only when ASPI manager is installed.
Available functions: READ, WRITE, SEEK
• ATA_PCI_DMA (not available)
Access to device using DMA as bus master. Available only for PCI ATA controllers,
which support bus master. Device is accessing direct via DMA ports.
Available functions: READ, WRITE

4.2 Type of Testing


Values: available functions for selected device
Default: Verify

This parameter determines type of test functions.

Testing is divided into 6 basic functions:

- VERIFY
- READ
- WRITE
- READ_ECC
- WRITE_ECC
- SEEK

Page 83
Each test has his own first function (Verify, Read and Write/Wipe).
If a call of this first function returns an error, we make the function call again.

1. if a call of this first function return an error, but the second function call is O.K., it will
show a warning message [first character = /W]

2. if a first and second call of this first function return an error it will show a warning
message about error [second character]

3. if a call of next function return an error it will show an error message [third and fourth
characters]

In other words, first function will be called again if her first calling produced error. The
other functions will be called only one times.

In brackets [] are showed the characters, which are the first characters of used functions.
First character „W“ in brackets [] means Warning.

4.2.1 Verify
TEST: Test Verify performs verification of sectors only without writing. It does not read
contents of sector, but only CRC code.

INDICATION: [W/V]

USAGE: Test detects bad sectors only (with incorrect CRC).

DATA LOSS: It performs verification only, never come to loss of data.

4.2.2 blockVerify
TEST: Test blockVerify is like test Verify, but when error occurs in tested blocks of
sectors he is not doing consecutive verification of single sectors in readden block of
sectors and immediately return error flag. Instead counting of bad sectors is used
counting whole blocks of sectors, in which was detected error (one or more). Verification
is executed without writing. It will not read contents of sector, but only CRC code.

INDICATION: [W/V]

USAGE: Test detects whole blocks of CRC bad sectors.

DATA LOSS: It is doing verification whole block of sectors, never come to data loss.

4.2.3 VerifyWriteVerify
TEST: Test VerifyWriteVerify perform verification of sectors like test Verify. When test
find erroneous sector (it is not possibly to read the contents of this sector), it will do
writing prepared pattern (default ‘HDAT’) before into sector. The write in case CRC error
will correct this CRC error and “bad” sector will be useable again. Writing into sector
cause a loss of data informations in selected sector. If at writing appears error again it is
probably real bad sector. After writing function will be perform function Verify again.

For testing and recovering bad sectors written in FAT table you should use a program
HDAT2FS.

Page 84
INDICATION: [W/V/W/V]

USAGE: Possibility to repair of bad sectors with wrong CRC code.

DATA LOSS: At sectors with a good CRC code come not to data loss. At sectors with
wrong CRC code come at writing to data loss in bad sector.

4.2.4 blockVerifyWriteVerify
TEST: Test blockVerifyWriteVerify is same like test VerifyWriteVerify, but in case of
finding error in tested block of sectors will be not execute checking or writing into single
sectors, but whole block of sectors will be count as erroneous. In original test,
VerifyWriteVerify will be in case of error overwritten only bad sectors, not all sectors.
In this test will be in case of error overwritten every sector in tested block. Instead of
one sector, this test is working with whole block of sectors. Hereby is speed up testing
and repairing of bad sectors, but with possibility of data loss from good sectors in block,
which is detected as bad.

INDICATION: [W/V/W/V]

USAGE: Possible uses to repair whole block, which contain many bad sectors.

DATA LOSS: At tested block of sectors, which contain CRC bad sectors, will be loss
informations in whole block of sectors. If tested block of sectors does not contain bad
sectors, no data will be loss.

4.2.5 Read
TEST: Test Read executes reading of sectors only. It is analogy to test Verify, but this
function read the contents of sectors.

INDICATION: [W/R]

USAGE: Test detects bad sectors only.

DATA LOSS: It is executing read only, never come to data loss.

4.2.6 ReadReadCompare
TEST: Test ReadReadCompare execute reading sectors without writing (like function
Read). As opposed to function Read, selected sectors will be read twice into two
different buffers (but during testing in the same memory places) and then will compare
their contents.

INDICATION: [W/R/R/C]

USAGE: Test detects bad sectors – errors at reading /R/R. If error happen at memory
buffers comparing (error /C) it could be bad memory (main memory of PCs), bad cache
memory of CPU’s or hard disks, optionally bad functionality of controller:

- write to device something else read over


- defective cable
- at SCSI devices not functional or bad termination

Page 85
With this test you could detect bad ATA controllers in VIA chipsets.

DATA LOSS: Execute read only, never come to data loss.

4.2.7 ReadWrite
TEST: Test ReadWrite execute reading and writing of sectors. Into sectors is writing the
contents of sectors from buffer filled at reading before.

INDICATION: [W/R/W]

USAGE: With concurrent reading and writing can be detected:

- controller error (shift of data at writing or at reading)


- bad cache memory of device
- found CRC bad sectors will be repaired with consecutive writing
- good writing with incorrect reading or contrary

DATA LOSS: It executes reading with writing and should not come to data loss with
these exceptions:

- overwriting of bad sectors


- power failure or shutdown of PCs

4.2.8 ReadWriteRead
TEST: Test ReadWriteRead execute reading sectors, writing sectors, and new reading
after writing. Into sectors is writing the content of sectors from buffer filled at reading
before. To reading of sectors is used the same method like at test ReadReadCompare:
selected sector is reading twice in two different, but during test same, memory buffers.

INDICATION: [W/R/W/R]

USAGE: With concurrent reading and writing can be detected:

- controller error (shift of data at writing or at reading)


- bad cache memory of device
- found CRC bad sectors will be repaired with consecutive writing
- good writing with incorrect reading or contrary

DATA LOSS: It executes reading with writing and should not come to data loss with
these exceptions:

- overwriting of bad sectors


- power failure or shutdown of PCs

4.2.9 ReadWriteReadCompare
TEST: Test ReadWriteReadCompare (powerful) execute reading sectors, writing
sectors, new reading after writing and comparing their contents. Into sectors is writing
the content of sectors from buffer filled at reading before. To reading of sectors is used
the same method like at test ReadReadCompare: selected sector is reading twice in
two different, but during test same, memory buffers.

Page 86
INDICATION: [W/R/W/R/C]

USAGE: With concurrent reading and writing can be detected:

- controller error (shift of data at writing or at reading)


- bad cache memory of device
- found CRC bad sectors will be repaired with consecutive writing
- good writing with incorrect reading or contrary

DATA LOSS: It executes reading with writing and should not come to data loss with
these exceptions:

- overwriting of bad sectors


- power failure or shutdown of PCs

4.2.10 Wipe
TEST: Test Wipe will overwrite all sectors on device with before prepared pattern
(default ‘HDAT’).

INDICATION: [W/W]

USAGE: Erasing and overwriting all data on device. Therefore, it will be eliminating all
CRC bad sectors too. This test detects errors of writing.

DATA LOSS: All data will be loss.

4.2.11 WipeReadWipe
TEST: Test WipeReadWipe at first overwrite sector with before prepared pattern
(default ‘HDAT’). Then read over this sector (check of writing) and overwrite his again
like in first step.

INDICATION: [W/W/R/W]

USAGE: Like at test Wipe: Erasing and overwriting all data on device. Therefore, it will
be eliminating all CRC bad sectors too. This test detects errors of writing and reading.
This test could be used for device erasing with read/write testing.

DATA LOSS: All data will be loss.

4.2.12 ReadECC
TEST: Test ReadECC read only ECC code of sectors. It is not doing verification, reading
even writing of sectors. This test is available only for standard interrupt INT13h and
therefore you can use it for device capacity up to 8.4 GB only. In addition, this interrupt
function can operate only with one sector hence it follows his slow functionality.

INDICATION: [W/E]

USAGE: Reading and eventual show of ECC codes of sectors.

DATA LOSS: Execute read ECC codes only, never come to data loss.

Page 87
4.2.13 WriteECC
TEST: Test WriteECC is writing “bad” CRC code into sector on device. It does not
execute any test. This test is available only for standard interrupt INT13h and therefore
you can use it for device capacity up to 8.4 GB only. In addition, this interrupt function
can operate only with one sector hence it follows his slow functionality.

On new PCs it will not work because BIOS is calling a ‘dummy’ function only.

INDICATION: [W/E]

USAGE: So it is possibility to create bad sectors on device (up to 8.4 GB). For example,
prepare a hard drive to claim in service department.

DATA LOSS: All data will be loss and created “forced” bad sectors.

4.2.14 Seek
TEST: Test Seek execute heads movement only. It is not doing verification, reading even
writing of sectors. For standard interrupt INT13h is doing for cylinder, for extended
interrupt INT13h for sectors.

INDICATION: [W/S]

USAGE: Test heads movement on whole device.

DATA LOSS: Execute seek only, never come to data loss.

4.3 Direction of Testing


Values: Forward, Backward, PingPong
Default: Forward

This parameter determines direction of device testing. A default setting is Forward.


Another choice is Backward and PingPong, which is combination of Forward and
Backward and first is used Forward. Settings PingPong is valid only if parameter Batch
Passes has value greater than 1.

4.4 Block of tested sectors


Values: 1 up to 65,535
Default: 127

This parameter determines number of sector of standard size 512 bytes, which are used
on handling with device. If is used test function READ, it will be allocated buffer with size
127x512 bytes (if is enough free memory). If is not enough available memory value of
this parameter will be automatically adjust (decreased) to maximum available memory.

4.5 First sector


Values: 0 up to max. addressable sector of device

Page 88
Default: 0

Value of parameter (LBA address) is first usable sector for testing or viewing of device.

4.6 Last sector


Values: 0 up to max. addressable sector of device
Default: last addressable sector of device

Value of parameter (LBA address) is last usable sector for test or browse of device.
Together with parameter „First sector“ you can easy set up test or browse area of
device.

4.7 LOG file


Values: enabled, disabled
Default: disable

Output log is defined for PC device testing only. It contains all basic information about
tested drive and all occurred errors.

If this parameter is set to enable, then program will write protocol (log) at device testing
into file. File name is derived from serial number of device or if serial number is empty or
is not supported from device name. In both cases is used first eight characters and type
is „LOG“.

Output device is identical with device where program is loaded from, e.g. program was
loaded from diskette A:, output log shall be written on diskette A:.

Name of output log (DOS notation 8.3):

Name = last 8 characters of serial number of device or (if invalid) of device name;
if need invalid character will be replaced with character '_'
Type = '.LOG'

Errors at writing log:

Left down on the screen appears a message 'LOG file =' with output log name. If color
of this text is changed from normal system color (gray) to red color (it could be also
possibly in the time of testing), which means some of write error occurred (not enough
space, write protect etc.). Incomplete output file is closed and write into file shall not be
continued. In this case, test of device shall continue without any user intervention.

Exception to this rule is first open of output file (space allocation). When an error is
occurred (e.g. diskette is write protected), text 'LOG file =' with output log name does
not appear.

4.8 Batch Passes


Values: 1 up to 65,535
Default: 1

Parameter set number of test repetitions. If you want to use PingPong test you must set
this parameter to value greater than 1.

Page 89
4.9 Count of retry on error
Values: 0 up to 255
Default: 3

This value determines number of function repetitions on error calling. If some function
cannot, e.g. read sector, this function will try again 3-times. Value 0 means no repetitions
for function calling – this is better for speed-up of bad sectors testing.

4.10 Device reset on error


Values: enabled, disabled
Default: disabled

If this parameter is set to enable, then on every error occurrence (read or write error)
will be perform reset on selected device before re-run used function. In the current
version reset will be used for floppy and hard disk devices only.

4.11 Show C/H/S


Values: enabled, disabled
Default: disabled

If this parameter is set to enable, then on screen it will appear LBA sector address and
sector address in C/H/S form (cylinder, head, and sector).

4.12 Sound
Values: enabled, disabled
Default: enabled

If this parameter is set to enable, then program will generate a sound, mostly in case of
error. Using keys CTRL + S, you can disable or enable sound at any time.

4.13 Pause on detect-screen


Values: enabled, disabled
Default: disabled

If screen is full then for settings enable will appear text 'Pause On Screen, press any
key... ' down on the screen and program is waiting for input from keyboard to continue
of listing. This is apply only for so called detect screen.

4.14 Running mode


Values: AUTO, MANUAL
Default: MANUAL

This parameter determines mode of program running. In the current version is fully
functional mode MANUAL only.

Page 90
4.15 Read/Scan mode
Values: AUTO, READ, SCAN
Default: AUTO

This parameter determines acquirement type of system informations on selected device.


With value READ program will read all this informations from device only if all required
data field are filled. With value SCAN program will looking for required informations on
default-designated places assigned by parameter Boundary mode.

With value AUTO at first is used parameter value READ. If loading of informations will be
not successful will be used parameter value SCAN.

4.16 LBA/CHS mode


Values: AUTO, LBA, CHS, AUTO, N/A
Default: AUTO

4.17 Boundary mode


Values: AUTO, Cylinder, Head, Sector
Default: AUTO

This parameter determines boundary for searching of items about file system on device.

4.18 Boot signature


Values: enabled, disabled
Default: disabled

4.19 Prevent removal


Values: enabled, disabled
Default: disabled

4.20 Eject medium


Values: enabled, disabled
Default: disabled

4.21 DIR: ROOT only


Values: enabled, disabled
Default: disabled

Page 91
4.22 Show ECC
Values: enabled, disabled
Default: disabled

With setting enable during testing will display in addition so-called ECC codes (Error
Corrections Code). This parameter is valid only for functions ReadECC and WriteECC.

4.23 Fill write buffer


Values: 'HDAT' or any ASCII character
Default: 'HDAT'

With used function WRITE (using e.g. on bad sectors repair) will be sector overwritten
with preallocated write buffer. This parameter determines contents of this buffer. E.g.
with value 'HDAT' and on bad sectors repair you can search a string 'HDAT' in files and
find out which file is corrupted with any bad sector or not.

4.24 Fill time stamp


Values: enabled, disabled
Default: enabled

With used function WRITE (using e.g. on bad sectors repair) will insert into write buffer
time stamp (date and time of write). This is useful – in View/Search mode you can find a
time, when user wiped your hard drive or some sectors only.

Page 92
X. Messages
X.1 Device Status Messages
Following messages could appear on the main device menu.

X.1.1 !SET MAX:


HPA IS ACTIVE

Maximum LBA address (count of sectors) of drive is less than native maximum address
(means Host Protected Area is configured).

To restore native maximum address (full capacity) in SET MAX (HPA) menu select item
‘Set Max Address’. Item ‘Value volatile’ should be configured to ‘hard setting’. Now you
can press a key ‘S’ to set (restore) native maximum address.

LOCKED

With SET MAX SET PASSWORD command was set a password.

X.1.2 !SMART:
ALERT

S.M.A.R.T. reports a failure of drive. Look at ‘S.M.A.R.T. Menu’ for detailed informations.

DISABLED IN BIOS

Device supports S.M.A.R.T. but is disabled in BIOS. In this case program will enable
S.M.A.R.T. and on exit will set back to disable state.

Page 93
X.1.3 !SECURITY:
ENABLED

The security is enabled.

LOCKED

Drive is locked with a password using SECURITY SET PASSWORD command.


Look at ‘Security Menu’ menu and try ‘Unlock device’ item.

FROZEN

Drive is frozen with SECURITY FREEZE LOCK command.


There could be two reasons:

1. Some program has issued this command – you should turn power off and then turn
power on.

2. This command has been issued by BIOS – turn power off, remove data cable from this
drive (not a power cable), turn power on and after boot from floppy you can connect data
cable back to drive and start up HDAT2. Do not worry – program can detect this ‘dead’
device – but so far PATA only, not SATA devices.

X.1.4 !DCO:
FROZEN

Device is in state, which prevents accidental modification of the Device Configuration


Overlay settings. Device Configuration freeze lock condition shall be cleared by a power-
down. The solution is described at “!SECURITY: FROZEN”.

X.1.5 !ATA MODE:


XXX [max. YYY]

Drive is running in transfer mode XXX, but this drive support maximum transfer mode
YYY. It could be your controller does not support this maximum transfer mode.
Look in menu on Device Information for more informations about it.

X.1.6 !EDD:
HPA IS ACTIVE

This is the same like for SET MAX command, but it is not made with SET MAX command.

NOT SUPPORTED

Extended INT13h does not support BIOS Enhanced Disk Drive services.

X.1.7 !FIRMWARE:

Page 94
CORRUPTED

This is the first version to detect corrupted firmware. Because I do not have any
reasonable documentation “how does it”, I am using a ‘fuzzy’ method.

X.2 Error Messages of INT13h/Ext.INT13h


Described error messages are valid for standard and extended interrupt INT13h.

• 00h: Successful completion


• 01h: Invalid function in AH or invalid parameter
• 02h: Address mark not found
• 03h: Disk write-protected
• 04h: Sector not found/read error
• 05h: Reset failed (hard disk)
• 06h: Disk changed (floppy)
• 07h: Drive parameter activity failed (hard disk)
• 08h: DMA overrun
• 09h: Data boundary error (attempted DMA across 64K boundary or >80h sectors)
• 0Ah: Bad sector detected (hard disk)
• 0Bh: Bad cylinder detected (hard disk)
• 0Ch: Unsupported cylinder or invalid media/media type not found
• 0Dh: Invalid number of sectors on format (PS/2 hard disk)
• 0Eh: Control data address mark detected (hard disk)
• 0Fh: DMA arbitration level out of range (hard disk)
• 10h: Uncorrectable CRC or ECC error on read
• 11h: Data ECC corrected (hard disk)
• 20h: Controller failure
• 31h: No media in drive (INT 13h extensions), no such drive (Compaq)
• 32h: Incorrect drive type stored in CMOS (Compaq)
• 40h: Seek failed
• 80h: Drive not ready (command failed to complete or time out)
• 97h: Subfunction D7h not supported for this device
• AAh: Drive not ready (hard disk)
• B0h: Media not locked in drive (removable media)
• B1h: Media locked in drive (removable media)
• B2h: Media not removable (removable media)
• B3h: Media in use (removable media)
• B4h: Lock count exceeded (removable media)
• B5h: Valid eject request failed (removable media)
• B6h: Media present but read protected (removable media)
• BBh: Undefined error (hard disk)
• C3h: Formatted Command Packet is too short
• CCh: Write fault (hard disk)
• E0h: Status register error (hard disk)
• FEh: Carry flag is set, but AH=0
• FFh: Sense operation failed (hard disk)

Error numbers B0h-B6h are applying to Extended INT13h removable media/volume.


Error numbers 97h and C3h are applying to Extended INT13h Send Packet
Command.
Error number FEh is a user added error message.

If occurs error which is not listed above it will be display text 'Unknown error'.

Page 95
X.3 Error Messages of ASPI

ASPI Host Error Messages

00h: Host adapter did not detect any error

04h: Command aborted by caller

05h: Command aborted by HBA

09h: Timed out while SRB was waiting to be processed

0Bh: While processing SRB, the adapter timed out

0Dh: While processing SRB, the adapter received a MESSAGE REJECT

0Eh: A bus reset was detected

0Fh: A parity error was detected


Possible data corruption on SCSI bus.

10h: The adapter failed in issuing REQUEST SENSE

11h: Selection timeout

12h: Data overrun/underrun (data length)


The amount of data requested does not match the amount of data returned.

13h: Unexpected bus free


SCSI bus went to 'bus free' state unexpectedly.
Target disconnected from the bus without notice. Check for bad hardware.
14h: Target bus phase sequence failure

1Ah: Bad SGList

1Bh: Auto request sense failed


Request sense command on previous command that generated a check
condition has failed.
An attempt to start an auto request packet failed.
Another auto request packet may already be in transport.

20h: HBA hardware error


Check the adapter and cabling. Be sure that the host adapter is firmly
seated in the slot. The host adapter might be malfunctioning; contact
the host adapter manufacturer for assistance.
21h: Target didn't respond to ATN (reset)

22h: SCSI bus reset by HBA

23h: SCSI bus reset by other device

ASPI Target Error Messages

00h: Status good (no target status)

Page 96
02h: Check condition (sense data valid)
04h: Condition met
08h: Specified target/LUN is busy
10h: Intermediate
14h: Intermediate-condition met
18h: Reservation conflict
22h: Command terminated
28h: Queue full

ASPI Command/SRB Error Messages

SCSI Request Block (SRB) contains command to issue for ASPI manager and is used
from driver and application program.

00h: SRB being processed


- busy, in progress
01h: SRB completed without error
- done
02h: SRB aborted by host
- aborted
03h: Unable to abort SRB
- abort fail
04h: SRB completed with error
- error
10h: SRB in progress with POST – Nokia
- busy POST
80h: Invalid ASPI command
81h: Invalid host adapter number
82h: SCSI device not installed
- bad device
E0h: Invalid parameter set in SRB
E4h: ASPI for windows failed init
E5h: ASPI is busy (No resources available to execute command)
E6h: Buffer size to big to handle

X.4 Error Messages of PnP


Error messages according to [11]. Bit 7 set to one indicates error.

Successful codes = 00h:

• 00h: SUCCESS
- Function completed successfully

Warning codes = 01h-7Fh:

• 01h: Reserved
• 7Fh: NOT_SET_STATICALLY
- Warning that indicates a device could not be configured statically, but was
successfully configured dynamically. This return code is used only when function
02h is requested to set a device both statically and dynamically.

Error codes = 81h-FFh:

• 81h: UNKNOWN_FUNCTION
- Unknown, or invalid, function number passed

Page 97
• 82h: FUNCTION_NOT_SUPPORTED
- The function is not supported on this system
• 83h: INVALID_HANDLE
- Device node number/handle passed is invalid or out of range
• 84h: BAD_PARAMETER
- Function detected invalid resource descriptors or resource descriptors were
specified out of order.
• 85h: SET_FAILED
- Set Device Node function failed
• 86h: EVENTS_NOT_PENDING
- There are no events pending
• 87h: SYSTEM_NOT_DOCKED
- The system is currently not docked
• 88h: NO_ISA_PNP_CARDS
- Indicates that no ISA Plug and Play cards are installed in the system
• 89h: UNABLE_TO_DETERMINE_DOCK_CAPABILITIES
- Indicates that the system was not able to determine the capabilities of the
docking station
• 8Ah: CONFIG_CHANGE_FAILED_NO_BATTERY
- The system failed the undocking sequence because it detected that the system
unit did not have a battery
• 8Bh: CONFIG_CHANGE_FAILED_RESOURCE_CONFLICT
- The system failed to successfully dock because it detected a resource conflict
with one of the primary boot devices; such as Input, Output, or the IPL device
• 8Ch: BUFFER_TOO_SMALL
- The memory buffer passed in by the caller was not large enough to hold the
data to be returned by the system BIOS
• 8Dh: USE_ESCD_SUPPORT
- This return code is used by functions 09h and 0Ah to instruct the caller that
reporting resources explicitly assigned to devices in the system to the system
BIOS must be handled through the interfaces defined by the ESCD Specification
• 8Eh: MESSAGE_NOT_SUPPORTED
- This return code indicates the message passed to the system BIOS through
function 04h, Send Message, is not supported on the system
• 8Fh: HARDWARE_ERROR
- This return code indicates that the system BIOS detected a hardware failure

X.5 Error Messages of ESCD


Error messages of ESCD are identical with PnP because for access to ESCD are used the
same functions of PnP BIOS (look at X.4). Here are described error codes of ESCD
functions only [12].

• 00h: SUCCESS
- Function completed successfully
• 55h: ESCD_IO_ERROR_READING
- The system BIOS could not read or write the Extended System Configuration
Data (ESCD) from nonvolatile storage
• 56h: ESCD_INVALID
- The system does not have a valid Extended System Configuration Data (ESCD)
in nonvolatile storage
• 59h: ESCD_BUFFER_TOO_SMALL
- The memory buffer passed in by the caller was not large enough to hold the
data to be returned by the system BIOS

Page 98
• 5Ah: ESCD_NVRAM_TOO_SMALL
- All of the ESCD cannot be stored in the NVRAM storage available on this system
• 81h: FUNCTION_NOT_SUPPORTED
- The function is not supported on this system

Page 99
Appendixes
A. Standard ATA/ATAPI (PATA)
ATA (AT Attachment): ATA standard specifies the AT Attachment Interface between
host systems and storage devices. It provides a common attachment interface for
systems manufacturers, system integrators, software suppliers, and suppliers of
intelligent storage devices. ATA defines the physical, electrical, transport, and command
protocols for the internal attachment of storage devices to host systems.

ATA interface is derived from Advanced Technology (AT) developed initially for
computer IBM PC/AT in the middle of 1980.

ATAPI (AT Attachment Packet Interface) device: A device implementing the Packet
Command feature set. It is designed for removable devices like CD-ROM, DVD, ZIP, JAZZ,
tape drive etc.

With regard to new standard SATA is for existing ATA standard used PATA (Parallel ATA).

IDE and EIDE are only marketing names to label device corresponded with ATA standard.

Description of transfer speed, e.g. Ultra DMA 133 indicate that data could be transfer
with speed up to 133 MB/s. ATTENTION: it is burst transfer data rate and not average
transfer data rate, which should be half or less than third of burst transfer data rate.

A.1 ATA (ATA-1, IDE)


ANSI document X3.221-1994
ATA is actual standard for what is known as IDE. ATA define PIO (Programmed Input
Output) modes 0, 1 and 2 and DMA (Direct Memory Access) mode 0.

AT Attachment Interface for Disk Drives (ATA-1) was withdrawn as a standard on 6


August 1999.

A.2 ATA-2 (EIDE, Fast-ATA)


ANSI document X3.279-1996
ATA-2 is standard known as EIDE.
ATA-2 introduces higher transfer modes PIO 3, 4, and Multiword DMA modes 1, 2. These
modes make possible transfer rate up to 16.6 MB/s. Next introduce extended device
identification (extended command Identify Drive), block transfer, LBA and some added
commands.

A.3 ATA-3
ANSI document X3.298-1997
ATA-3 introduces S.M.A.R.T., security, support for ATAPI devices (CD-ROM, ZIP).
ATA-3 did not introduce any new PIO or DMA transfer modes.

AT Attachment Interface with Extensions (ATA-3) was withdrawn as a standard in 2002.

A.4 ATA/ATAPI-4
ANSI document NCITS.317-1998
ATA/ATAPI-4 introduces and change many things.

Page 100
• new ATAPI commands and reset protocols
• change many old ATA commands and features (e.g. Format Track, Read/Write
Long) into state 'obsolete')
• new transfer protocols Ultra DMA 0,1 and 2 with integrity data over CRC checking;
transfer rate up to 33 MB/s
• new protocol for command overlapping and queuing into queue for ATA and ATAPI
devices (overlapping, queuing)
• many new features for ATA and ATAPI devices

A.5 ATA/ATAPI-5
ANSI document NCITS.340-2000
ATA/ATAPI-5 cancel out some old commands, some new commands introduce.
Main change is adding 2 new and fast transfer modes Ultra DMA 2 and 3.

A.6 ATA/ATAPI-6
ANSI document NCITS.?

• extension 28-bits LBA addressing to 48-bits addressing mode


• increasing of 'Sector Count' (count of transfer sectors)
• increasing timing Ultra DMA mode (Ultra DMA 100)
• new commands for AV (Audio/Visual) applications
• ATA Removable Media Serial numbers

A.7 ATA/ATAPI-7
ANSI document NCITS.?

• Ultra DMA mod 133


• S.M.A.R.T.: Selective self-test, Conveyance self-test
• preserve words, codes and feature sets for Serial ATA
• Serial ATA Specification (SATA) 1.0
• Forced unit access (FUA) commands
• support for larger size of physical sector
• definition World Wide Name for ATA device

Page 101
Table 16: Overview of ATA/ATAPI transfer modes
Original Max. Bus speed
Name
standard [MB/s]
PIO 0 ATA (ATA-1) 3.33
PIO 1 ATA 5.22
PIO 2 ATA 8.33
PIO 3 ATA-2 11.1
PIO 4 ATA-2 16.6
Single word DMA 0 ATA 2.1
Single word DMA 1 ATA-2 4.2
Single word DMA 2 ATA-2 8.3
Multi word DMA 0 ATA 4.16
Multi word DMA 1 ATA-2 13.3
Multi word DMA 2 ATA-2 16.6
Ultra DMA 0 ATA/ATAPI-3 16.6
Ultra DMA 1 ATA/ATAPI-3 25.0
Ultra DMA 2 (UDMA33, ATA/33) ATA/ATAPI-4 33.3
Ultra DMA 3 ATA/ATAPI-5 44.4
Ultra DMA 4 (UDMA66, ATA/66) ATA/ATAPI-5 66.6
Ultra DMA 5 (UDMA100, ATA/100) ATA/ATAPI-6 100.0
Ultra DMA 6 (UDMA133, ATA/133) ATA-ATAPI-7 133.0

PIO (Programmed Input Output) mode – The oldest method of transferring data
over the IDE/ATA interface is through the use of programmed I/O. This is a technique
whereby the system CPU and support hardware directly control the transfer of data
between the system and the hard disk.

DMA mode - A better solution is to take the CPU out of the picture entirely, and have the
hard disk and system memory communicate directly. Direct memory access or DMA is
the generic term used to refer to a transfer protocol where a peripheral device transfers
information directly to or from memory, without the system processor being required to
perform the transaction. Modern IDE/ATA hard disks use first-party DMA transfers. The
term "first party" means that the peripheral device itself does the work of transferring
data to and from memory, with no external DMA controller involved. This is also called
bus mastering, because when such transfers are occurring the device becomes the
"master of the bus". Bus mastering allows the hard disk and memory to work without
relying on the old DMA controller built into the system, or needing any support from the
CPU. It requires the use of the PCI bus - older buses like MCA also supported bus
mastering but are no longer in common use. Bus-mastering DMA allows for the efficient
transfer of data to and from the hard disk and system memory. Bus mastering DMA
keeps CPU utilization low, which is the amount of work the CPU must do during a
transfer.

Table 17: Overview of cables


Length of cable
Cable Used protocol
Min. Max.
40-wire - 18" up to UDMA33
80-wire 10" 18" for UDMA66 or high

80-wire (conductor) cable is optionally applicable for devices using Ultra DMA 2 mode
(ATA/33).

Page 102
B. Standard SCSI
SCSI = Small Computer System Interface (‘skuzzy’)

Table 18: Overview of SCSI


Max. Max. Length of
Bus Max.
Standard Bus cable [m]
Business TERM Standard width Device
TERM speed
[bits] SE HVD LVD count
[MB/s]
SCSI-1 Fast-5 SCSI 5 8 6 25 - 8
SCSI-2 SCSI-2
Fast SCSI Fast-10 SCSI-2 10 8 - 25 - 8
Fast SCSI Fast-10 SCSI-3 10 8 3 25 - 8
(SPI, SIP)
Fast Wide SCSI Fast-10 SCSI-3 20 16 3 25 - 16
(SPI, SIP)
Ultra SCSI Fast-20 F-20 20 8 1.5 25 - 8
Ultra SCSI Fast-20 F-20 20 8 3 25 - 4
Wide Ultra SCSI Fast-20 F-20 40 16 - 25 - 16
Wide Ultra SCSI Fast-20 F-20 40 16 1.5 25 - 8
Wide Ultra SCSI Fast-20 F-20 40 16 3 - - 4
Ultra2 SCSI Fast-40 SPI-2 40 8 - 25 12 8
Wide Ultra2 Fast-40 SPI-2 80 16 - 25 12 16
SCSI
Wide Ultra3 Fast-80 SPI-3 160 16 - - 12 16
SCSI
Ultra 160 SCSI Fast-80 SPI-3 160 16 - - 12 16
Ultra 320 SCSI Fast-160 SPI-4 320 16 - - 12 16
Ultra 640 SCSI 640
Serial Attached SAS ? ? ? ? ? ? ?
SCSI

SE = Single Ended
HVD = High Voltage Differential
LVD = Low Voltage Differential

Ultra SCSI: between devices is the same distance

Table 19: SCSI cables


Max.
Min. distance
SCSI Length of
between devices
cable [m]
SCSI-1 ? 6
Differential SCSI ? 25
Fast SCSI-2 12" 3
Ultra SCSI from 2. to 4. device 3
from 5. to 8. device 1.5
Wide SCSI 12" 3

Page 103
D. Standard SATA

Picture 1: SATA logo

Serial Advanced Technology Attachment (ATA) = SATA 1.0a 07.01.2003

Serial ATA Working Group was founded in 1999.


[http://www.serialata.org/]

Serial ATA (SATA) is obviously based on serial signaling technology. This means that
those old ATA ribbon cables were used to send a parallel signal those forty wires were
used to transfer data along many parallel routes. ATA is also known in retrospect as
Parallel ATA (PATA). All these wires next to each other were sensitive to interference and
caused all kinds of problems. Serial ATA signals are transferred at a more efficient
voltage of 250mV compared to the 5V of Ultra/ATA and interference is cancelled out by
two phase-reversed signals. It is unlikely that many more advancements could be made
even if Parallel ATA were to have still an extended lifetime. In addition, Serial ATA is,
obviously by name, a serial technology. It can only “talk” to one device per channel.
While this might seem like a step back from the two devices per channel allowed with
Ultra/ATA, this is quickly offset by other plusses that will be described shortly.

As far as controller cards go, today's PCI Serial ATA controller cards (year 2004) will be
very short lived. In a couple of months Intel will release their 865 and 875 chipsets with
native support for two Serial ATA channels in their ICH5 I/O Hub, eliminating the need for
an add-in Serial ATA card.

The ATA command set support in a driver limits the addressable hard disk drive capacity.
Because both Serial ATA and parallel ATA connections use the ATA commands, both Serial
ATA and parallel ATA have the same capacity limitations.

SATA description:

• SATA supports a single device per SATA cable


• no master/slave jumper
• used topology „star“ (point-to-point), without hubs
• 32-bits CRC check for data and commands
• whole bandwidth for every device (channel is not shared)
• low voltage (250mV) differential signaling with 8/10b encoding
• supply 12.0, 5.0 and 3.3 V

Since Serial ATA only requires seven wires per device, the new cables will only be 8mm
wide. Another dimensional advantage is that while ATA cables could only be up to 40 cm
long, Serial ATA cables will be very long at 1m. Of course, since the cables are smaller

Page 104
and contain only seven wires, the connectors will be more compact as well. This will save
space on motherboards and the hard drives themselves.

Table 20: SATA standards


Standard Transfer [MB/s]
SATA/150 (2002) 150
SATA-1
SATA/300 (2004) 300
SATA-2
SATA/600 (2007) 600
SATA-3

PATA devices connected to SATA over adapter should be jumpered as master.

Next standard become name SATA-2 or SAS (Serial Attached SCSI) (?)

SATA 1.0 defines speed 1.5 Gb/s.

SATA II defines Extensions specifications to Serial ATA 1.0 and increases interface speed
to 3.0 Gb/s. Multiple specification release:

- Serial ATA 1.0 Extensions, Cable Connector, Port Multiplier, Port Selector, Switch, Phy II
3.0 Gb/s

- All extensions are optional and the product must support at least one extension to claim
compliance

Port Multiplier

- Allows one Serial ATA link to connect to more than one device
- Can provide a simple expansion solution for entry-level servers and RAID boxes

Port Selector

- Conceptually, a simple A/B switch that creates a redundant path to the device
- Can provide a simple fail over solution for entry-level servers

SATA II Extensions 1.0:

1. Native Queuing
- Defines simple and streamlined command queuing model that will enable 32 queued
commands
- Returns a race-free status condition that minimizes the protocols round trip which in
turn reduces the incurred overhead
- Can be used with first party DMA or with a scatter gather table

2. Identify Device / Set Feature


- Used by the host to determine which features the device supports
- Identify device and set features will include those commands in the Serial ATA II
extensions specification that affect the device

3. Staggered Spin up
- Defines a method of staggering spin up of drives when used in RAID configurations with
multiple drives

4. Hot Plug / Presence Detect

Page 105
- Defines a method for the host to determine when a device is plugged into a hot bay

5. First Party DMA


- Defines a method of allowing the device to access the host's memory
- This may be used in conjunction with command queuing

SATA II Extensions 1.1:

1. Device Configuration Overlay (DCO)


- An ATA/ATAPI mechanism for disabling features in the drive. Identify Device will not
support features disabled using DCO
- Defining DCO words for Serial ATA specific items:

- Asynchronous notification
- Native command queuing
- Non-zero buffer offset
- Power management support

2. First Party DMA Auto-Activation


- Eliminates the extra transmission of a FIS. The DMA Setup FIS will contain a bit to
automatically activate the DMA controller

3. Queuing Optimization
- An in-order data delivery that guarantees the DMA buffer offsets are continuous when
the device utilizes First Party DMA and non-zero buffer offsets in the DMA setup FIS

External SATA is a device that allows the user to add storage to his system without
opening the system box.

- External Serial ATA Logic will be different from Serial ATA 1.0
- Different Voltage Swings
- Hot Plug connector

D.1 The Different Modes of SATA Controllers


The core of Serial ATA is defined by the Serial ATA 1.0 Specification, which was published
in August 2001. To make adoption easier for the new interconnect, the Serial ATA 1.0
Specification defines a special mode for Serial ATA controllers so that they emulate the
behavior and configuration of the parallel ATA interconnect. In this Emulating Parallel
ATA mode, Serial ATA controllers can leverage all the existing parallel ATA drivers and
infrastructure of shipped Windows operating systems.

The Serial ATA 1.0 Specification also has new features that are not compatible with all
existing parallel ATA drivers. Existing parallel ATA drivers do not comprehend any newly
defined features and capabilities for which there are no equivalents in parallel ATA.
Therefore, such software will not utilize any such new features. A controller that takes
advantage of these new features is said to be operating in Native Serial ATA mode. A
Serial ATA controller capable of doing both emulation and native modes cannot switch
between Emulating Parallel ATA and Native Serial ATA modes while Windows is running.

Additional new Serial ATA extensions are defined in the Serial ATA II Specification,
which was published in October 2002. Serial ATA II is not the next version of Serial ATA,
nor is it a mode of Serial ATA like Emulating Parallel ATA and Native Serial ATA. Serial ATA
II is a set of optional extensions and features for Serial ATA that is available to Serial ATA
controllers and devices that operate in Native Serial ATA mode.

Page 106
Finally, a few miscellaneous specifications define additional optional new Serial ATA
features for controllers that implement Native Serial ATA mode, but are not included in
either the Serial ATA 1.0 or Serial ATA II specifications.

D.1.1 Emulating Parallel ATA Mode

The Emulating Parallel ATA mode defines a transfer level equivalent of parallel ATA for
Serial ATA controllers. In this mode, a Serial ATA controller can emulate master-only
(device 0) parallel ATA or shared channel parallel ATA. In master-only parallel ATA
emulation, the Serial ATA controller presents itself to the computer as a parallel ATA
controller with only a single master storage device attached to a channel. In shared
channel parallel ATA emulation, the controller uses two Serial ATA channels, each only
attach to a single storage device, as a single parallel channel attaching two storage
devices. Both forms of emulation work with Serial ATA controllers that use Windows
parallel ATA (atapi.sys) drivers.

Beyond configuration emulation requirements, Emulating Parallel ATA mode restricts the
controller from doing Native Serial ATA mode functionality described in the next section.
Another notable distinction is that parallel ATA has many transfer modes each with a
unique transfer speed associated with it. Serial ATA emulating Parallel ATA mode
controllers also must support parallel ATA transfer modes, but its transfer speed is much
faster then all parallel ATA transfer modes. While Serial ATA controllers operate at higher
transfer speeds, it is possible for them to claim to operate in slower parallel ATA transfer
modes such as Programmed Input/Output (PIO).

D.1.2 Native Serial ATA Mode

The advanced features that can be utilized in native mode revolve around improvements
to the Serial ATA interconnect. The feature that has generated the most interest in this
area is hot plugging, which allows an end user to remove a storage device from a Serial
ATA controller while a system is running. This is useful for RAID systems and notebook
docking stations with built-in storage devices. However, hot plugging should not be
attempted with a system's primary boot device.

The Serial ATA hot plug feature is implemented by the host controller, driver software,
and storage device. On the personal computer, support for Serial ATA hot plugging can be
implemented in the following two places:

1. In the Serial ATA controller driver:

Since parallel ATA controllers do not support hot plugging and Serial ATA Emulating
Parallel ATA mode controllers are likely to use parallel ATA controller drivers, Emulating
Parallel ATA mode controllers must find another way to support the hot plug feature. The
atapi.sys driver in Windows does not support hot plugging; however, it is likely that
Native Serial ATA mode drivers will.

2. In the system firmware outside of Windows:

Support from ACPI, BIOS, or a combination of the two can be used to trigger bus re-
enumerations during a hot plug event. Check with the controller manufacturer for details
on support for hot plugging.

Another improvement is finer grained power management. In addition to doing power


management on Serial ATA storage devices, the Serial ATA controller itself can be
managed so that unused parts of the controller can be put into lower power modes to
conserve electricity.

Page 107
Finally, there are features for Serial ATA drivers. There are new control, error and status
registers that allow the Serial ATA controller to pass information to the driver about Serial
ATA specific features. In addition, the Serial ATA interconnect configures its own transfer
rate so that the driver no longer needs to.

D.2 SATA II Features


The most significant Native Serial ATA mode feature defined in Serial ATA II is native
command queuing, which is optimized for Serial ATA and is much more efficient. The
intention of the new queuing method is to improve performance by eliminating
handshakes, allowing aggregating of interrupts, and reducing the interface transaction
count.

Other optional features try to make Serial ATA more attractive in enterprise storage
markets. The Enclosure Services feature allows a Serial ATA controller to communicate
status and control commands to the enclosure processor of the storage system. Serial
ATA II also defines signal constraints for using Serial ATA as a rack backplane and a
mechanism for controlling staggered spin up.

D.2.1 Native Command Queuing (NCQ)

Native Command Queuing (NCQ) is arguably the most significant advance in the
Serial ATA II specification. Native Command Queuing allows the host to issue multiple
commands to the device (up to 32 commands) without having to wait for the device to
complete any commands. Queuing of commands allows SATA drives to look ahead at
what data has been requested or needs to be written, thereby allowing the drive to
optimize the order of the commands and maximize data throughput efficiency, providing
a significant performance improvement.

Note: NCQ-capable host hardware and drivers must be used to take advantage of the
performance gains provided by NCQ.

To enable Native Command Queuing, the Serial ATA II standard defines a method of
allowing an HDD to control the order of command execution and data transfer. Using
special SATA commands READ FPDMA QUEUED or WRITE FPDMA QUEUED the host
will issue each command an identifier, or tag. The specification of Native Command
Queuing allows for up to 32 tags (0 to 31). In order to avoid collisions and mishandled
data, the HDD will only release a tag after the associated command is complete and the
data has been returned to the host.

The concept of command queuing means that a drive does not need to return the
data in the same order that the commands are requested (tags 0 to 31 can be executed
in any order and data packets for those commands can be returned to the host in any
order). For example, the commands may be issued in numerical order: 1, 2, 3, 4, and
the data for those commands may be returned to the host in a different order: 4, 2, 1, 3
(or any other order). This allows a drive to use rotational position optimization to
maximize the efficiency and overall performance of the drive.

D.2.2 Non-Zero Offsets in DMA Setup

When enabled, this feature allows the HDD to use non-zero buffer offsets, which is
needed to implement out of order data delivery. Based on current bit densities and spin
speeds, out-of order data delivery provides no significant performance advantage.

Page 108
D.2.3 DMA Setup FIS Auto-Activate Optimization

When enabled, this feature allows the HDD to optimize DMA data transfers by reducing
the required overhead to setup the DMA data transfer. Removing the overhead associated
with DMA setup commands will not provide any appreciable performance improvements,
as the overhead is an insignificant portion of data transfers.

D.2.4 Device-Initiated Interface Power State Transitions

The feature gives hosts the ability to prevent HDD’s from automatically activating power
saving features.

D.3 Serial ATA Hardware Register Interface


The Serial ATA specifications do not define a full standard hardware register interface for
Serial ATA drivers. Without a standard interface, Serial ATA controller manufacturers are
tasked with the redundant work of creating their own proprietary interfaces. The result of
this is the possibility of many different Serial ATA interfaces and the inability for Microsoft
to create a driver that works commonly over all Serial ATA controllers.

The potential for many unique interfaces could cause the same challenges for Serial ATA
that is seen in small computer system interface (SCSI) controllers. Currently one public
committee led by Intel, the Advanced Host Controller Interface (AHCI) Contributor
Group, is working to create a public specification for a Serial ATA interface. Microsoft is a
member of the AHCI Contributor Group, and encourages all Serial ATA controller
manufacturers to adopt AHCI.

D.4 Naming Conventions for Serial ATA Products


Serial ATA products will continue to be identified by speed and not by feature set or
specification compliance. This is the parallel ATA naming convention. Already Serial ATA
1.5 gigabytes (GB) per second are available, and in the future, there will be Serial ATA 3
GB per second, Serial ATA 6 GB per second, and so on.

There is no mandatory distinction made between Serial ATA products that support
different Serial ATA and Serial ATA II features. Many people will be tempted to associate
incorrectly Serial ATA II with Serial ATA 3.0 GB per second, which has not been defined
yet. This should not be done.

In addition, there is no distinction made between Serial ATA products that support either
version of Emulating Parallel ATA mode or for Native Serial ATA mode.

D.5 Supports for Serial ATA in Windows


Parallel Advanced Technology Attachment (ATA) controllers seen today come in two form
factors: as components of chipsets and as discrete controller add-on cards. The great
majority of parallel ATA controllers in chipsets can load drivers that are included with
Windows while a smaller portion of add-on cards, usually PCI cards, can use drivers that
are included with Windows.

Serial ATA controllers have been using and will likely continue to use, the same form
factors as parallel ATA controllers. It is possible that many Serial ATA and parallel ATA

Page 109
controllers will be included in the same product to accommodate both Serial ATA and
parallel ATA hard disk drives.

Like parallel ATA controllers, Windows support for Serial ATA controllers depends on the
Serial ATA features implemented and the hardware register interface used by the
controller.

With the product introduction of Ataport, two miniports will be introduced. The first is a
default miniport driver that will work with the current atapi.sys supported parallel ATA
controllers. The second is a new miniport driver that will support the Advanced Host
Controller Interface (AHCI) Serial ATA controllers.

A Serial ATA Emulating Parallel ATA mode controller can load and use parallel ATA
drivers that are supported by Windows. By definition, all versions of Windows before
Windows Server 2003 have Emulating Parallel ATA mode support.

Not all parallel ATA controllers are supported natively in a Windows distribution so there
will be some Serial ATA Emulating Parallel ATA mode controllers that must have their
manufacturer's drivers to work properly.

Because Native Serial ATA mode controllers do not appear or act like parallel ATA
controllers, they cannot use the Windows parallel ATA controller drivers, and thus,
Windows Server 2003 and previous do not ship with drivers that support Native Serial
ATA mode controllers.

Native Serial ATA mode controllers can be made to work with all existing versions of
Windows as long as the controllers come with the appropriate drivers. With these drivers,
Windows can be installed on and booted from Serial ATA storage devices in the same way
many parallel ATA add-on controllers do currently.

D.6 Identifying modes of SATA Controllers


Driver support for Emulating Parallel ATA mode and Native Serial ATA mode controllers is
separate and distinct as these modes appear as two different and unique ATA
interconnects. There will be some Serial ATA controllers that will want to implement both
Emulating Parallel ATA and Native Serial ATA modes on the same device, which is
acceptable. It is not acceptable to use both modes at the same time in Windows.
Additionally, loading parallel ATA drivers on a Serial ATA controller in Native Serial ATA
mode and vice versa will have disastrous results.

The solution to identifying the Serial ATA mode problem is using the correct PCI Sub-
Class code. Appendix D of the latest PCI specification lists all the Sub-Class codes for
Base Class 01h, mass storage controllers. Sub-Class code 01h, ATA controller, should be
used by Emulating Parallel ATA mode controllers. A new Sub-Class code 06h, Serial ATA
controller, should be used by Native Serial ATA mode controllers.

Page 110
Picture 2: Serial ATA vs. Parallel ATA Device Diagram

Picture 3: Serial ATA Cables and Connectors (Source: Molex)

D.7 Notices about SATA


D.7.1 The SATA cable connector is not shielded

The basic problem is the SATA cable connector is not shielded.

- Do not operate SATA devices outside of a sealed system unit.


- Do not operate SATA devices from a power supply that is not the system unit's power
supply.
- Do not tie wrap SATA cables together.
- Do not put sharp bends in SATA cables.
- Do not route SATA cables near PATA cables.

Page 111
- Avoid placing SATA devices close to each other such that the SATA cable connectors are
close to each other.
- Do not operate a radio transmitter (such as a cell phone) near an exposed SATA cable
or device.

D.7.2 Variety of problems

Testing of SATA products are finding a variety of problems.

- timeout errors
- data compare errors
- strange status errors

The unshielded SATA cable connector is mostly like the source of many of these
problems. Making things worse is the failure of the SATA specification to implement an
equivalent to the ATA Soft Reset. On a PATA interface Soft Reset rarely fails to get
ATA/ATAPI devices back to a known state so that a command can be retried. On a SATA
interface the equivalent to this reset does not seem to reset anything and the SATA
controller and device basically ignore some times it.

Today's SATA products are actually 10% to 20% slower than PATA. This is because
today's SATA products are really PATA products with an extra SATA-to-PATA 'bridge chip'
in the device. These bridge chips add significant overhead to the SATA protocols. In time
there will real 'native' SATA devices that do not need these bridge chips - Then we can
see what the true performance of SATA. However, remember SATA is a 'serial interface'
and serial interfaces rarely live up to their marketing claims.

D.7.3. Specifications

SATA-1, the SATA version that will be included in ATA/ATAPI-7, is designed to emulate
traditional parallel ATA. Most SATA host controllers shipping today look like and are
programmed just like any other ATA host controller. These controllers are compatible with
the Intel ICHx design and compatible with the T13 1510D document. This allows SATA
controllers and devices to be used in systems without BIOS or OS driver changes.

The biggest problem with today's SATA host controllers is that SATA gets errors that
never happened on PATA. In addition, today's SATA host controllers do a very poor job of
reporting these errors to the host software. Then there is the problem of having an OS
device driver for SATA that understands these errors and knows how to recover from the
error conditions. As of September 2003 T13 is just now starting to talk about these
problems.

There are some SATA host controllers that are not ICHx compatible and these require
proprietary BIOS or OS drivers. We can only hope that the Intel AHCI specification effort
is successful in bringing us a new and better SATA host controller standard.

In May 2003 Intel has issued new specification Advanced Host Controller
Specification (AHCI) for Serial ATA host controller. AHCI support standard interface for
system drivers to use extended features of SATA like command queuing, hot plug and
power management.

Page 112
E. Standard IEEE 1394
1394 Trade Association [http://www.1394ta.org/]
IEEE [http://www.ieee.org/]
Consumer web site [http://www.askfor1394.com/]

IEEE 1394 (High Performance Serial Bus) is an international high-performance


serial-bus standard that offers the real-time data transfer of video, audio and peripheral
applications through a universal I/O interface. With this technology, digital cameras, CD-
ROMs, printers, hard disk drives and audio/stereo equipment can move data at high
speeds to desktops and portable computers through a single cable.

IEEE 1394, High Performance Serial Bus, is electronics standard for connecting devices to
your personal computer. IEEE 1394 provides a single plug-and-socket connection on
which up to 63 devices can be attached with data transfer speeds up to 400 Mbps. The
standard describes a serial bus or pathway between one or more peripheral devices and
your computer's microprocessor. Many peripheral devices now come equipped to meet
IEEE 1394. Two popular implementations of IEEE 1394 are Apple's FireWire and Sony's
i.LINK. IEEE 1394 implementations provide:

A simple common plug-in serial connector on the back of your computer and on many
different types of peripheral devices
A thin serial cable rather than the thicker parallel cable you now use to your printer, for
example
A very high-speed rate of data transfer that will accommodate multimedia applications
(100 and 200 megabits per second today; with much higher rates later)
Hot-plug and Plug and Play capability without disrupting your computer
The ability to chain devices together in a number of different ways without terminators or
complicated set-up requirements

In time, IEEE 1394 implementations are expected to replace and consolidate today's
serial and parallel interfaces, including Centronics parallel, RS-232C, and Small
Computer System Interface (SCSI). The first products to be introduced with FireWire
include digital cameras, digital video disks (DVDs), digital videotapes, digital
camcorders, and music systems. Because IEEE 1394 is a peer-to-peer interface, one
camcorder can dub to another without being plugged into a computer. With a computer
equipped with the socket and bus capability, any device (for example, a video camera)
can be plugged in while the computer is running.

E.1 Evolution of standard IEEE 1394


FireWire was introduced in 1990 by company Apple Computer Inc. and developed by
company Texas Instruments. Originally was intended like replacement for SCSI.

1. IEEE 1394-1995:
- original standard

1394 devices on the market today conform to either the original IEEE 1394-1995
specification or its backward-compatible supplement, IEEE 1394a-2000.

2. IEEE 1394a-2000:
- max. speed 400 Mpbs, do not change basic features, and contains „Advanced power
management“

Page 113
Note that 1394a-2000 primarily clarifies the 1394-1995 specification in ways that
enhance interoperability. 1394a-2000 does not increase its speeds beyond 400 Mbps or
change its fundamental capabilities. One feature of 1394a-2000 of key interest to the PC
industry is its advanced power management capabilities.

3. IEEE P1394b (Gigabit 1394, FireWire800):


- extension to 1394
- speed up to 800 Mbps
- support new transferal media

- POF = plastic optical fiber


- GOF = glass optical fiber

P1394b adds a new electrical signaling method that permits much higher speeds (800
Mbps and beyond) and easier system implementation. Protocol improvements also
significantly improve the efficiency of the bus. "Loop healing" improves ease-of-use by
dealing with the pathological case where a user connects the entire bus in a loop.

P1394b introduces substantial improved electrical characteristics. Backward compatibility


with P1394-2000 and 1394-1995 devices is easily achieved with a low-cost chip known
as a fan-out PHY (for physical layer).

P1394b also supports new transport media in addition to copper cables, including plastic
optical fiber (POF), glass optical fiber (GOF), and Cat5 cable. With the new media come
extended distances, e.g., 100 meters over Cat5.

4. Wireless IEEE 1394:


- The IEEE 802.15.3 Wireless Personal Area Network standard is designed to connect
more than 200 wireless devices.
- Adaptation of the 1394 infrastructure to 802.15.3 makes possible the reuse of existing
middleware for audio and video streaming and other multimedia applications.

Specification 1394

There are two levels of interface in IEEE 1394, one for the backplane bus within the
computer and another for the point-to-point interface between device and computer on
the serial cable. A simple bridge connects the two environments. The backplane bus
supports 12.5, 25, or 50 megabits per second data transfer. The cable interface supports
100, 200, or 400 megabits per second. Each of these interfaces can handle any of the
possible data rates and change from one to another as needed.

The serial bus functions as though devices were in slots within the computer sharing a
common memory space. A 64-bit device address allows a great deal of flexibility in
configuring devices in chains and trees from a single socket.

IEEE 1394 provides two types of data transfer: asynchronous and isochronous.
Asynchronous is for traditional load-and-store applications where data transfer can be
initiated and an application interrupted as a given length of data arrives in a buffer.
Isochronous data transfer ensures that data flows at a pre-set rate so that an application
can handle it in a timed way. For multimedia applications, this kind of data transfer
reduces the need for buffering and helps ensure a continuous presentation for the viewer.

The 1394 standard require that a device be within 4.5 meters of the bus socket. Up to 16
devices can be connected in a single chain, each with the 4.5 meter maximum (before
signal attenuation begins to occur) so theoretically you could have a device as far away
as 72 meters from the computer.

Page 114
There is a wealth of specifications that build on the base IEEE 1394 specifications. Here
are some of the more important. The Open Host Controller Interface (OHCI) defines
the way 1394 interfaces to a PC host. OHCI provides an operating system like Microsoft
Windows a standardized way of interacting with the 1394 bus. IEC 61883 defines the
details for controlling specific audio-video device types over 1394. Serial Bus Protocol -
2 (SBP-2) defines standard ways of encapsulating device commands over 1394 and is
essential for DVD players, printers, scanners, and other devices. Home AV
Interoperability (HAVi [http://www.havi.org/]) is another layer of protocols for 1394.
HAVi is directed at making 1394 devices plug-and-play interoperable in a 1394 network
whether or not a PC host is present. Note that the critical pieces of OHCI, IEC61883, and
SBP-2 are supported in the most recent versions of Microsoft Windows.

Digital content over 1394 can be robustly protected using Digital Transmission Copy
Protection (DTCP). DTCP support device authentication, content encryption, and renew
ability, should a DTCP device ever be compromised. Encoding rules can be specified for
content, e.g., "copy freely," "copy once," or "copy never." The motion picture industry
recognizes DTCP as satisfactory to them in permitting the transmission of their content
over 1394.

Comments and limitations

The Firewire cable bus is a 'non-cyclic network with finite branches", consisting of bus
bridges and cable devices (nodes). Non-cyclic means that one cannot plug devices
together to create a loop. Up to 16 cable hops are allowed between nodes, thus the term
finite branches. 6-bit addressing allows up to 63 nodes to be connected to a single bus
bridge. Thus, 63 connected devices is a limit for a conventional IEEE 1394 card in a PC.

Each node usually has three connectors, and up to 16 nodes can be connected in a 'Daisy
chain" through the connectors with standard cables up to 4.5 m long for a total of 72 m.
Special high-quality 'fatter' cables allow longer interconnections. Additional devices can
be added in a leaf-node configuration (shown in the next figure). Physical addresses are
automatically assigned to the devices on bridge power up (bus reset) and when a new
node is added or removed from the system. Hot plugging of the devices is fully
supported. No device ID switches are required.

Picture 4: 4-pin and 6-pin FireWire connectors

Firewire serial interface uses a simple cable with two types of small and inexpensive
connectors: 4-pin and 6-pin connectors - to carry multiple channels of digital video and
video data and control information plus the power.

Typical power consumption for a 1-2 port 1394 serial bus is 1-3 watts. For an Ethernet
port it is 3-5 watts. The power needed for an additional port is close to 1 watt (e.g., 4
watts for a 3-port 1394 bus). There are three power class devices: power class 1, 2, 3
with power requirements of 15, 30, and 45 watts, respectively. Adding an extra port will
not require a lot of extra power. Devices with 1394 ports and the ability to supply some
power to other devices are considered optimal.

Any device attach/detach, or power-turn on, will cause the bus to reset. Before the link is
ready for data transfer, a sequence of handshake signals (packets) will be exchanged

Page 115
between the two devices to complete standard procedures such as dynamic node address
allocation, self-identification, and arbitration for IRM, BM, and cycle master.

The maximum number of nodes in a bus is 63.

The maximum number of cable hops is 16, where the length of each hop is 4.5 meters
(per IEEE 1394-1995). Long Distance 1394 is being standardized in IEEE 1394b.

If a device is in a network, and is not in leaf node, the device must keep its PHY active
even if the device is not in operation.

The devices connected in a bus should not form a closed loop where they may hang-up
during the self-identification process.

Mixing slower devices with higher-speed devices may hinder performance. For example,
two 200 Mbps devices separated by a 100 Mbps device can communicate with only 100
Mbps.

The 1394 serial bus architecture favors high-speed, real-time data transport
(isochronous) applications. For asynchronous-only applications, lower bandwidth
utilization efficiency (less than 50% of the bus bandwidth) may be expected.

Compare 1394 and USB

These buses have several common features:

Isochronous and asynchronous communication modes used for data transport.


Daisy chaining of devices allowed.
Power sourcing to peripherals with low power requirements.

However, there are some significant differences:

Performance
Host controller requirement
Peer-to-peer communication
Cost
Interrupt capability

On the other hand, IEEE 1394-1995 is a high-speed (maximum 400 Mbps) serial bus
which does not require an external host controller (such as a PC), and is designed to be
used in a home environment with or without a PC. For example, homes may have an
STB, a TV, and DVCR, but no PC. The 1394 bus allows peer-to-peer data communication
and, depending upon need, consumer devices may be built with scaled capabilities. A
device with IRM capability can act as a bus manager. Devices such as an STB, a DVD
player, and a DVCR (digital VCR) will have IRM. Implementation of a 1394 port with IRM
capability is much more expensive than USB ports built into peripheral devices. In
general, even a minimum implementation of a 1394 port will be more expensive than
that of a USB port in a slave device (such as peripherals). There is no interrupt capability
in a 1394 bus.

On the USB, the host port (e.g., PC) will source power. Peripheral devices will use either
their own power or sink power from the bus. Devices can be built with a 1394 port, which
may sink, source, or use their own power. Each device with a 1394 port will have a power
class code (0-8). During the self-identification process, this code will be included in the
self-id packet. From the power class information, the bus manager recognizes what
device can source power and what device needs power. The USB uses a 4-wire cable-two
for the differential signal, one for +5 volts, and the fourth for the ground. The 1394 bus

Page 116
uses a 6-wire cable-one pair for data, one pair for the strobe, and the third pair for
power. The 1394 bus also allows a simplified low-cost cable with four conductors for data
and strobe but no power. Typical voltage on the 1394 bus is 24 volts.

Table 21: IEEE 1394 vs. USB 1.1


IEEE 1394 USB 1.1
Max. number of devices 63 127
Hot-swap yes yes
Plug and Play yes yes
Length of cable between devices 4.5 m 5m
Speed 400 Mbps 12 Mbps
Need host controller (PC) no yes
Peer-to-peer yes no
Cost expensive simple,
not expensive
Interrupt ability no yes
Cable 6/4-conductors 4-conductors

Page 117
U. Standard USB
The USB [Universal Serial Bus] specification defines the Mechanical, Electrical and
Protocol layers of the interface. USB defines two types of hardware, Hubs and
Functions. Up to 127 devices may be connected together in a tiered Star topology.
The limiting factor being seven address bits. Wire segments are point-to-point between a
Host, Hub, or Function. The system may only have one Host.

The USB bus is a [Differential] Bi-directional serial interface cable bus.


Differential NRZI data is transmitted Isochronous or Asynchronous between devices. Data
is transferred at three different rates over a maximum cable length of 4 meters ~ over 4
wires, 2 of which carry data on a balanced twisted pair, one for power +5 V (0.5 A) and
one for ground.

A Slow-Speed mode of 1.5Mbps is used for devices such as mice. Full-Speed mode is
used by most devices and allows a transfer rate of 12Mbps. High-Speed mode [defined
by USB 2.0] allows rates of 480Mbps. Transmission at the High-Speed mode requires the
addition of 45 ohm termination resistors between each data line and ground. Operation
at Full-Speed mode is 2.8 volts [High] to 0.3 volts [Low]. Operation at High-Speed mode
is at 400mV +/-10% [High] to 0V +/- 10mV [Low]. Cable impedance for both modes is
90 ohms +/- 15% (differential).

Four different (packet) protocols are used: Control, Interrupt, Isochronous and Bulk.
Each exchange contains three packets; A token packet which holds the address, a data
packet which holds the data, and a handshake packet which terminate the exchange.
NRZI produces a change in the signal indicating a logic zero, no change indicates a logic
one. Bit stuffing is used with NRZI to stop the signal remaining in the steady state
condition; if more then 6 ones are transmitted (no change in the signal) a zero is
inserted to produce a transition. NRZI, with bit stuffing is self-clocking, allowing the
receiver to synchronize with the transmitter.

Devices can draw power directly from the system, from an attached self-powered hub, or
be connected to their own power supply.

USB is still a serial-type interface and sends bits one after another...

USB makes adding peripheral devices very easy and is quickly replacing different kinds of
serial and parallel port connectors with one standardized plug and port combination. One
can now connect a USB-capable mouse, keyboard, digital joystick, and a scanner, a set of
digital speakers, a digital camera or a PC telephone to the computer.

In theory, a USB interface can support up to 127 individual USB peripherals at one time.
The practical maximum number of devices is less since some of them reserve USB
bandwidth. Additional PCI-based USB cards provide an independent USB bus so that even
more peripheral devices can be connected.

For practical connection of multiple devices to the host (root), special hubs are required.
Hubs notify the host when nodes (devices) attach or detach from the hub to provide the
real-time reconfiguration of the system and device identification. Hubs can have up to
seven connectors to nodes or other hubs. They could be self-powered or powered by the
host.

USB is generally described as having a tiered star topology, however each device
communicates with the host as if it had its own connection. This means that
communication from the host centers around a set of hubs/devices, each of which in-turn

Page 118
serves as the center for another set of hubs/devices, etc. However, the hubs are
transparent to the software and the devices are addressed individually. Cables are used
to create point-to-point connections between devices and USB ports, or to connect one
USB hub to another. The maximum cable length is five meters long. However, a repeater
hub may be used to extend the distance between the peripheral and the host. There are
also special USB repeaters that can be used to extend the connection even further.

Open Host Controller Interface for USB (OHCI) specifies host controller USB rev. 1.0.

Enhanced Host Controller Interface (EHCI) specifies host controller USB rev. 2.0.

Page 119
J. SI Units
Table 22: Prefixes for decimal multiplies of SI units
[http://physics.nist.gov/cuu/Units/prefixes.html]

Factor Name Symbol


1024 yotta Y
1021 zetta Z
1018 exa E
1015 peta P
1012 tera T
109 giga G
106 mega M
103 kilo k
102 hecto h
101 deka da

Table 23: Prefixes for binary multiplies


[http://physics.nist.gov/cuu/Units/binary.html]

Factor Name Symbol Origin Derivation


260 exbi Ei exabinary (210)6 exa (103)6
250 pebi Pi petabinary (210)5 peta (103)5
240 tebi Ti terabinary (210)4 tera (103)4
230 gibi Gi gigabinary (210)3 giga (103)3
220 mebi Mi megabinary (210)2 mega (103)2
210 kibi Ki kilobinary (210)1 kilo (103)1

Examples:

1 kibibit = 1 Kibit = 210 bits = 1024 bits


1 kilobit = 1 kbit = 103 bits = 1000 bits

1 mebibyte = 1 MiB = 220 B = 1,048,576 B (binary megabyte = 1024x1024)


1 megabyte = 1 MB = 106 B = 1,000,000 B (decimal megabyte = 1000x1000)

1 gibibyte = 1 GiB = 230 B = 1,073,741,824 B


1 gigabyte = 1 GB = 109 B = 1,000,000,000 B

Capacity in binary megabytes used e.g. DOS FDISK, old CMOS SETUP in ROM, and File
Manager in Windows 3.x.

Capacity in decimal megabytes used DOS CHKDSK, new CMOS SETUP and manufacturers
of hard drives.

Convert decimal MB to binary MB:

[decimal MB] x 1,000,000


= binary MB
1,048,576

Convert binary MB to decimal MB:

Page 120
binary MB x 1.048576 = decimal MB

Page 121
O. The BIOS Hard Disk Limitations

Interrupt 13h – Software interface of system BIOS to provide access to hard drive. The
problem is in limit of fixed values of CHS (Cylinder/Head/Sector) to 1024x256x63 –
capacity is limited to 8 GB.

Interrupt 13h Extensions – Extension of functions of interrupt 13h to breaking the 8


GB limit with maintenance of compatibility with old hard drives and systems. Instead of
CHS is recommended LBA.

Table 24: Limitations for INT13h and ATA


Limit Cylinders Heads Sectors Max. size Bits
INT13h 1024 10 bits 256 8 bits 63 6 bits 8.4 GB 24
Ext.INT13h 16384 14 bits 16 4 bits 63 6 bits 8.4 GB 24
ATA(28-bits) 65536 16 bits 16 4 bits 255 8 bits 137 GB 28
INT13h+ATA 1024 10 bits 16 4 bits 63 6 bits 528 MB 20
ATA(48-bits) - - - - - - 128 PB 48
Ext.INT13h - - - - - - 16 EB 64

INT13h BIOS:

16384 x 16 x 63 (Ext.INT13h)
1024 x 256 x 63 (INT13h)

= 16,515,072 sectors = 8,455,200,768 bytes = 7.9/8.4 GB

ATA specification (28-bits):

65,536 x 16 x 255 = 267,386,880 sectors = 136,902,082,560 bytes = 127.5/137 GB

Combined INT13h BIOS and ATA (28-bits):

By using the same C/H/S values for INT13h and ATA disk, we get combination of two
limitations (smaller of each):

1024 x 16 x 63 = 1,032,192 sectors = 528,482,304 bytes = 504/528 MB

CHS (Cylinder-Head-Sector) (Normal) – CHS is the oldest system for addressing sectors
on an ATA-drive. The method is based on that used for ST506 drives. Since every BIOS
could work with these drives, ATA was made very compatible with it. A CHS-BIOS does
not perform translation, which results in a combination of the lowest values of the BIOS
and drive (see table 13). Therefore, the maximum capacity for CHS-BIOS is 1024 x 16 x
63 = 504 MB.

LBA (Logical Block Address) – LBA provides a way to address sectors. LBA gives
BIOS’s a common way to address sectors. LBA does not work with sector per track,
cylinders and heads, but it uses logical sector numbers. LBA can support drives to 128
GB. When LBA is turned on, the BIOS will enable geometry translation.

This translation may be done in the same way that it is done in Extended CHS or large
mode, or it may be done using a different algorithm called LBA-assist translation. The
translated geometry is still what is presented to the operating system for use in Int 13h
calls. The difference between LBA and ECHS is that when using ECHS the BIOS translates

Page 122
the parameters used by these calls from the translated geometry to the drive's logical
geometry. With LBA, it translates from the translated geometry directly into a logical
block (sector) number.

• 28-bits address: 228 = 268,435,456 sectors (128 GB)


• 48-bits address: 248 = 281,474,976,710,656 sectors (128 PB)

LBA addressing mode implement system BIOS or hard drive adaptor, which translate the
CHS parameters passing to BIOS into 28/48-bits LBA address of sector to get data from
hard drive. This translation could provide various utility “dynamic drive overlay”
(software translation) also, e.g. SpeedStor (Storage Dimensions), EZ-Drive (Micro
House), Disk Manager (OnTrack).

Compatibility with LBA: AMI BIOS from 25.04.1994 include


Phoenix BIOS from version 4.03 include

Some PCs are using a specific version of Phoenix BIOS 4.03, which does not support LBA.

Assisted LBA – The number of sectors/track is fixed at 63 and the number of heads is
16 or a multiple of that (32, 64, 128, 255). Then the number of cylinders is calculated by
dividing the total capacity in sectors by the number of sectors per cylinder:

number of cylinders = x/(63*heads)

where x = total number of sectors


63 = number of sectors per cylinder

This translation is called the LBA assisted method. This translation method can only be
utilized if the disk drive itself supports LBA addressing.

Table 25: LBA assisted method


Total number Number of Number of Number of Theoretical
of sectors sectors heads cylinders maximum
reported reported reported reported capacity
1 X 1,032,192 63 16 X/(63*16) 528.4 MB
1,032,192 X
63 32 X/(63*32) 1.057 GB
2,064,384
2,064,384 X
63 64 X/(63*64) 2.114 GB
4,128,768
4,128,768 X
63 128 X/(63*128) 4.228 GB
8,257,536
8,257,536 X
63 255 X/(63*255) 8.422 GB
16,450,560

Large/ECHS (Extended CHS; CHS to CHS Translation) – BIOS translation works by


having the BIOS act as a "middleman" of sorts between the IDE/ATA hard disk and the
standard BIOS Int 13h, and by taking advantage of the fact that one standard allows
more heads than the other but fewer cylinders. The BIOS takes the logical geometry that
the hard disk specifies according to the IDE/ATA standard, and translates it into an
equivalent geometry that will "fit" into the maximums allowed by the BIOS Int 13h
standard. This is done by dividing the number of logical cylinders by an integer, and then
multiplying the number of logical heads by the same number. The technique is
sometimes called bit shift translation (since the multiplication and division is done by
shifting the cylinder and head bits). The capacity is of course unchanged, and the new
geometry fits quite nicely into the BIOS limits.

Page 123
Therefore, the rule for choosing the multiplier is: make the multiplier is as low as it can
be to bring the cylinder and heads within the range permitted by INT13h (that is, 1024
cylinders numbered 0 to 1023). To achieve this, the BIOS do a simple loop (with some
added error checking):

1. Multiplier = 1
2. Cylinder = Cylinder -1
3. Is Cylinder < 1024? If not:
Do a right bitwise rotation on the cylinder (i.e., divide by 2)
Do a left bitwise rotation on the multiplier (i.e., multiply by 2)

Use the multiplier on the Cylinder and Head values to obtain the translated values.
At the end of this loop, the multiplier will be as small as it can be to bring the cylinder to
within the permitted range.

Table 26: Bit-Shifting translation


Interval of Number of
cylinders heads
0-1024 16
1025-2046 32
2047-4096 64
4097-8191 128
8192-16384 256
16385-32768 512

The translation in fact is nothing but a conversion of the cylinders and heads in the BIOS
to their drive equivalents. If you change the translation mode of your hard disk, you risk
permanent loss of all the data on the drive.

Example of translation:

Hard disk Maxtor 85120A 5.1 GB

Factory CHS = 9924 x 16 x 63 = 10,003,392 sectors = 5,121,736,704 bytes = 5.1 GB

Assisted LBA = 622 x 255 x 63 = 9,992,430 sectors = 5,116,124,160 bytes = 5.1 GB


lost = 10962 sectors = 5,612,544 bytes = 5.6 MB

Standard ECHS = 620 x 256 x 63 = 9,999,360 sectors = 5,119,672,320 bytes = 5.1 GB


lost = 4032 sectors = 2,064,384 bytes = 2.0 MB

Revised ECHS = 661 x 240 x 63 = 9,994,320 sectors = 5,117,091,840 bytes = 5.1 GB


(10585 x 15 x 63)
lost = 9072 sectors = 4,644,864 bytes = 4.6 MB

SCSI controllers using own BIOS or device driver to replace services of system BIOS at
communication with SCSI hard disk and so there is no limitation for 1024 cylinders (504
MB).

ESDI (Enhanced Small Device Interface) devices using INT13h services in BIOS ROM
to provide a translation of device geometry, which is compatible with ATA interface.

28/48-bit LBA in Windows

Page 124
Drivers in Windows that use the 28-bit logical block addressing (LBA) ATA commands are
limited to 128 gigabytes (GB). Drivers that use the new 48-bit LBA ATA commands are
limited to 128 petabytes (PB). Examples are as follows:

1. Microsoft Windows XP Service Pack 1, Windows Server 2003, and later versions of
Windows support 48-bit LBA ATA commands in the atapi.sys driver.

2. Windows XP (before Service Pack 1) and Windows 2000 Service Pack 3 or later
support 48-bit LBA ATA commands in the atapi.sys driver, but support must be enabled
by a registry key described under MS KB303013
[http://support.microsoft.com/default.aspx?scid=kb;en-us;303013].

3. All versions of Windows before Windows 2000 Service Pack 3 support 28-bit LBA ATA
commands in the atapi.sys driver.

Any system that has a controller that does not use Microsoft's atapi.sys driver will have
limitations dependent upon the driver's manufacturer.

O.1 Limit 504/528 MB


First limitation is a problem of fixed values of CHS in INT13h and ATA protocol. Therefore,
up to 1,032,192 sectors (1024 x 16 x 63) could be addressed, and with 512 bytes per
sector, this yields a maximum theoretical capacity of about 528 MB. This is the root cause
of the first drive size boundary, the 528 MB barrier.

If the same values for C/H/S are used for the BIOS Int 13 call and for the ATA disk I/O,
then both limitations combine, and one can use at most 1024 cylinders, 16 heads, 63
sectors/track, for a maximum total capacity of 528,482,304 bytes (528 MB), the
infamous 504 MiB limit for DOS with an old BIOS. This started being a problem around
1993, and people resorted to all kinds of trickery, both in hardware (LBA), in firmware
(translating BIOS), and in software (disk managers). The concept of “translation” was
invented: a BIOS could use one geometry while talking to the drive, and another, fake,
geometry while talking to DOS, and translate between the two.

Solution: New BIOS with LBA support or bit shift, or LBA assisted translation, eventually
Ext. INT13h. Some drive overlay manager utility.

O.2 Limit 2.1 GB


BIOS developers and engineers, in order to solve the 528 MB problem, employed
different methods to accomplish resolution. One such solution was to take the top 2 bits
from the Int 13h head register and use them for bits 11 and 12 of the cylinder count. By
doing this, the maximum head value that can be stored in the remaining 6 bits of the
head register is 63 (64 heads total).

The presumption is that all bits of the head register will define the logical head count.
Therefore, in order to properly translate a drive with 4,096 physical cylinders you must
divide the cylinder count by four (1,024 logical cylinders) and multiply the head count by
four (128 logical heads). But, since some of the early BIOS's used the top two bits of the
head register as part of the cylinder count, there is no way in which to define 128 heads.
A BIOS that handles drives in this fashion may hang during the system POST process, as
the BIOS attempts the "Identify Drive" command and tries to set the CHS values.

Limit: 212 = 4096 → (0-4095 cylinders, 12 bits)

Page 125
4096 x 16 x 63 = 4,128,768 sectors = 2,113,929,216 bytes = 2.1 GB (1.97 GB)

Solution: New BIOS. Some drive overlay manager utility.

O.3 Limit 3.2 GB


There was a bug in the Phoenix 4.03 and 4.04 BIOS firmware that would cause the
system to lock up in the CMOS setup for drives with a capacity over 3277 MB.

Solution: New BIOS.

O.4 Limit 4.2 GB


Unlike the 528 MB barrier, which is both hardware and software related, the 4.2 GB
barrier is a limitation imposed by the underlying operating system. Some operating
systems store the number of heads reported as an 8-bit value. Therefore, if the BIOS
reports 256 heads, then these systems will only be saving the lower eight bits, which will
then result in a value of zero and a disk drive that cannot be configured. This occurs any
time the device reports 16 heads and greater than 8,192 cylinders to the Bit Shift
translation.

Affected operating systems: DOS, Windows 3.x/95 (version 95A); Windows NT


3.x/4.x using FAT file system

When Bit Shift Translation is used with one these operating systems, the maximum
capacity that can be configured is 4.2 GB. LBA Assist Translation never reports more than
255 heads so the problem does not exist in situations where LBA Assist Translation is in
use.

To access device we use Revised ECHS (adjusting the number of heads to 15). A simple
way around the 256 head problem was to do a small “pre-translation” on the disk
geometry when the number of heads exceeds 8192 that converts the number of heads
from 16 to 15:

If cylinders > 8192 and heads = 16

- Heads = 15
- Cylinders = cylinders * 16 / 15 (losing the fraction component)
- Do a standard ECHS translation

To access device we use Assisted LBA. The BIOS achieves assisted LBA using the
following algorithm (use 63 sector per cylinder always):

If cylinder > 8192

- Variable CH = Total Sectors / 63


- Divide (CH – 1) by 1024 (as an assembler bitwise right shift) and add 1
- Round the result up to the nearest of 16, 32, 64, 128 and 255. This is the value to be
used for the number of heads.
- Divide CH by the number of heads. This is the value to be used for the number of
cylinders.

8191 cylinders cause transfer 16 heads to 128


8192 cylinders cause transfer 16 heads to 256

Page 126
Limit: 213 = 8192 → 8191 cylinders (0-8190 cylinders, 13 bits)

8191 x 16 x 63 = 8,256,528 sectors = 4,227,342,336 bytes = 4227 MB (3937 MB)


(a fake geometry is CHS 1024x128x63)

O.5 Limit 7.9/8.4 GB


16384 cylinders cause transfer 16 heads to 256
16385 cylinders cause transfer 16 heads to 512, this is out of range BIOS to serve

Limit: 214 = 16384 → 8191 cylinders (0-8190 cylinders, 14 bits)

16384 x 16 x 63 = 16,515,072 sectors = 8,455,716,864 bytes


= 8456 MB = 8.4 GB (8064 MB = 7.9 GB)
(a fake Assisted LBA geometry is CHS 1024xHx63, where H is a first number of 16, 32,
64, 128, and 255)

According to ATA-3 specification device with more than 8 heads should not use more than
16383 cylinders.

Program DOS FDISK does show disk size up to 8 GB.

Solution: New BIOS with Ext. INT13h support.

O.6 Limit 32 GB
Hard drives over 8.4 GB are supposed to report their geometry CHS as 16383/16/63.
This in effect means that the “geometry” is obsolete, and the total disk size can no longer
be computed from the geometry. Many BIOS’s compute number of cylinders by dividing
total capacity with value 16x63. For disk larger than 33.8 GB BIOS obtain number of
cylinders greater than 65,535 what cause a failure or BIOS may hang.

O.6.1 Hardware limit

65,535 x 16 x 63 = 66059280 sectors = 33,822,351,360 bytes = 31.5 GB

Solution:
1. New BIOS without bugs.
2. Disks larger than 32 GB may have a special jumper to limit capacity up to 32 GB.
3. In CMOS set up 15 instead 16 heads.

O.6.2 Windows 95 limit

Any Windows 95 version does not support disk greater than 32 GB (see KB246818
[http://support.microsoft.com/default.aspx?scid=kb;EN-US;246818]).

Solution: none; use another operating system (upgrade to Microsoft Windows 98 or


Microsoft Windows NT).

O.6.3 ScanDisk limit

If you use the protected-mode (graphical) version of ScanDisk to perform a thorough


scan (which includes a surface scan) on an ATA hard disk that is larger than 32 GB in
size, ScanDisk may report errors on every cluster after approximately cluster number

Page 127
967,393 (see MS KB243450 [http://support.microsoft.com/default.aspx?scid=kb;EN-
US;243450]).

Graphical (protected) version of ScanDisk in Windows 9x has a problem at surface


scanning with disk larger than 32 GB – it may show error for every cluster after cluster
number 967,393

Cause: This problem may occur on computers that use a Phoenix BIOS and use the
Phoenix BitShift translation algorithm to report the geometry of large ATA hard disks. On
such computers, the Windows protected-mode ATA disk driver (Esdi_506.pdr) may not
correctly recognize the translation mode for the drive, resulting in an inability to access
areas of the drive beyond the first 32 GB.

This problem does not occur if the BIOS use logical block addressing (LBA) Assist
translation instead of Phoenix BitShift translation.

Solution: A supported fix is available from Microsoft Update site for Windows 98/98 SE.

O.7 Limit 64 GB
This limitation is software based only.

O.7.1 FDISK

Fdisk Does Not Recognize Full Size of Hard Disks Larger than 64 GB – see MS KB263044
[http://support.microsoft.com/default.aspx?scid=kb;en-us;263044]. When you use
Fdisk.exe to partition a hard disk that is larger than 64 GB in size (68,719,476,736
bytes), Fdisk does not report the correct size of the hard disk.

The size that Fdisk reports is the full size of the hard disk minus 64 GB. For example, if
the physical drive is 70.3 GB (75,484,122,112 bytes) in size, Fdisk reports the drive as
being 6.3 GB (6,764,579,840 bytes) in size. Fdisk uses some 16-bit values internally to
calculate the size of the drive. Some of these variables overflow when the drive size is
equal to or larger than 64 GB.

Solution: A supported fix of FDISK is available from Microsoft for Windows 98/98SE (not
for Windows 95). This hot fix is not designed for 48-bit logical block addressing (LBA)
hard disks, and it is not supported on hard disks larger than 137 GB. Windows
Me/2000/XP/2003 is not affected with this problem.

O.7.2 FORMAT

Format Displays Size of Partitions or Logical Drives Larger Than 64 GB Incorrectly in


Windows 9X/Millennium – see MS KB263045
[http://support.microsoft.com/default.aspx?scid=kb;EN-US;263045]. When you use
Format.com to format a partition or logical drive that is larger than 64 GB
(68,719,476,736 bytes) in size, Format.com does not report the correct size of the drive
being formatted at the beginning of the format process. However, as the formatting
process progresses, the entire drive are formatted and the correct formatted size is
displayed when the operation is finished.

Format.com uses some 16-bit values internally to calculate the initial displayed size of
the drive. Some of these variables overflow when the drive size is equal to or larger than
64 GB. This is a display (or cosmetic) issue only; the drive is formatted to its full size.

Page 128
This problem does not occur if you format the drive from within Windows Explorer.

O.8 Limit 137 GB


This is a limit of ATA specification with 28-bits logical addressing.

Solution: BIOS and device with 48-bits logical addressing support (ATA/ATAPI-6).

Implementation of 48-bit addressing required for hard drives larger than 137.4 GB.

O.9 Limit 512 GB


Fdisk.exe Unable to Partition Drives Larger Than 512 Gigabytes (see MS KB280737
[http://support.microsoft.com/default.aspx?scid=kb;en-us;280737&Product=w98])

When you attempt to partition your hard disk by using the Fdisk utility, you may be
unable to create a partition that is larger than 512 GB. This issue occurs because the
Fdisk utility is limited to creating partitions with a maximum size of 512 GB.

When you use the Fdisk utility to partition a drive that is larger than 512 GB, you might
not receive any error messages that state that the drive was not partitioned correctly;
however, the drive might not be partitioned correctly. For this reason, use alternative
programs when you partition drives that are larger than 512 GB.

Cause: Fdisk utility is limited to creating partitions with a maximum size of 512 GB.

Solution: To work around this issue and create partitions that are larger than 512 GB, do
not use Fdisk to partition your hard disk. You can use the Windows Millennium Edition
(Me) Setup boot disk that is provided with the full version of Windows Me to partition
new drives before you install Windows.

Some third-party programs also contain programs that can partition drives that are
larger than 512 GB. For example, Ghost from Symantec Corporation contains a program
called Gdisk that partitions drives that are larger than 512 GB.

O.10 Limit 2.2 TB


This is a limit of FAT32 file system in Windows 98.

Solution: use another file system like NTFS

O.11 Limit 128 PB


This is a limit of ATA specification with 48-bits logical addressing.

Solution: New standard with 64-bits logical addressing or another standard…

Page 129
P. Parallel and Serial interface
For over 20 years, the parallel bus interface has been the mainstream storage
interconnects for most storage systems. However, increasing bandwidth and flexibility
demands have exposed inefficiencies in the two main parallel interface technologies: ATA
and SCSI. The lack of compatibility between parallel ATA and SCSI - including different
connectors, cables and software - increases costs for inventory management, R&D,
training and product qualification.

Parallel technology poses still other challenges. Parallel transmissions are susceptible to
crosstalk across wide ribbon cable paths. This crosstalk adds line noise and can cause
signal errors, a pitfall that has been remedied by slowing the signal, limiting cable length
or both. Terminating parallel signals is also difficult, requiring individual lines to be
terminated, usually by the last drive, to avoid signal reflection at the end of a cable.
Finally, parallel's large cable and connector size make it unsuitable for increasingly dense
computing environments.

P.1 Introducing SAS and SATA


Serial technology, specifically Serial ATA (SATA) and Serial Attached SCSI (SAS),
addresses the architectural limitations of its parallel counterparts. The technology draws
its name from the way it transmits signals, that is, in a single stream (serially)
compared with the multiple streams found in parallel technology. The main advantage
of serial technology is that while it moves data in a single stream, it does so much faster
than parallel technology because it is not tied to a particular clock speed. Serial
technology wraps many bits of data into packets and then transfers the packets up to 30
times faster than parallel down the wire to or from the host.

SATA extends the ATA technology roadmap by delivering disk interconnects speeds
starting at 1.5Gbps. Due to its lower cost per gigabyte, SATA will continue as the
prevalent disk interface technology in desktop PCs, sub-entry servers and networked
storage systems where cost is a primary concern.

SAS, the successor technology to the parallel SCSI interface, leverages proven SCSI
functionality and promises to greatly build on the existing capabilities of the enterprise
storage connection. SAS offers many features not found in today's mainstream storage
solutions. These include drive addressability of up to 16,256 devices per port and reliable
point-to-point serial connections at speeds of up to 3Gbps.

In addition, due to its small connector, SAS offers full dual-ported connections on 3.5-in.
and smaller 2.5-in. hard disk drives, a feature previously found only on larger 3.5-in.
Fibre Channel disk drives. This is an essential feature in applications requiring redundant
drive spindles in a dense server form factor such as blade servers.

SAS improves drive addressability and connectivity using an expander that enables one
or more SAS host controllers to connect to a large number of drives. Each expander
allows connectivity to 128 physical links, which may include other host connections, other
SAS expanders or hard disks. This highly scalable connection scheme enables enterprise-
level topologies that easily support multi-node clustering for automatic failover
availability or load balancing.
In one of its most significant advances, the SAS interface will also be compatible with
lower-cost-per-gigabyte SATA drives, giving system builders the flexibility to integrate
either SAS or SATA devices while slashing the costs associated with supporting two

Page 130
separate interfaces. As the next generation of SCSI, SAS bridges the parallel technology
gap in performance, scalability and affordability.

P.2 Multiple layers of compatibility


Physical layers

The SAS connector is a universal interconnection that is form-factor compatible with


SATA. It allows SAS or SATA drives to plug directly into a SAS environment for mission-
critical applications with high-availability and high-performance requirements or lower-
cost-per-gigabyte applications such as near-box storage.

SATA connector signals are a subset of SAS signals that enable the compatibility of SATA
devices and SAS controllers. SAS drives will not operate on a SATA controller and are
keyed to prevent any chance of plugging them in incorrectly.

In addition, the similar SAS and SATA physical interfaces enable a new universal SAS
backplane that provides connectivity to both SAS drives and SATA drives. This eliminates
the need for separate SCSI and ATA drive backplanes. This consolidation of designs
greatly benefits both backplane manufacturers and end users by reducing inventory and
design costs.

Protocol layer

SAS consists of three types of protocols, each of which is used to transfer different types
of data over the serial interface, depending on which device is being accessed. Serial
SCSI Protocol (SSP) transfers SCSI commands, and SCSI Management Protocol
(SMP) sends management information to expanders. Meanwhile, SATA Tunneled
Protocol (STP) creates a connection that allows transmission of the SATA commands. By
including all three of these protocols, SAS provides seamless compatibility with today's
existing SCSI applications, management software and SATA devices.

This multi-protocol architecture support, coupled with the compatibility of SAS and
SATA's physical connection, allows SAS to operate as the universal interconnection for
both SATA and SAS devices.

Page 131
S. File systems
S.1 File systems FAT/NTFS
FAT = File Allocation System
NTFS = NT File System
Windows NT : NTFS 4.0
Windows 2000/XP: NTFS 5.0

S.1.1 FAT16

Maximum number of files and folders within the root folder of FAT16 is 512. (Long file
names can reduce the number of available files and folders in the root folder.) FAT16
supports a maximum of 65,524 clusters per volume.

FAT16 volumes larger than 2 GB are not accessible from computers running MS-DOS,
Windows 95, Windows 98, Windows Me, and many other operating systems. This
limitation occurs because these operating systems do not support cluster sizes larger
than 32 KB, which results in the 2 GB limit.

Clusters are an allocation unit of disk space for files. Cluster size is determined by the
size of the disk. Large cluster sizes mean lower disk space efficiency. For example, a 1-
byte file requires 32K of disk space if the disk has 32K clusters.

Table 27: Limits of file system FAT16


Partition size Requested cluster size for FAT16 volume
0-127 MB 2 KB = 2048 B
128-255 MB 4 KB = 4096 B
256-511 MB 8 KB = 8192 B
512-1023 MB 16 KB = 16384 B
1024-2047 MB 32 KB = 32768 B

S.1.2 FAT32

FAT32 – first version of FAT32 introduced in 1996 with Windows 95B OSR2.0.
FAT32X – second version introduced in 1997 with Windows 95C OSR2.5; support large
disk over 8 GB using Extended INT13h.

A FAT32 volume must have a minimum of 65,527 clusters. Windows XP Professional can
format FAT32 volumes up to 32 GB, but it can mount larger FAT32 volumes created by
other operating systems.

In theory, FAT32 volumes can be about 8 terabytes; however, the maximum FAT32
volume size that Windows XP Professional can format is 32 GB. Therefore, you must use
NTFS to format volumes larger than 32 GB. However, Windows XP Professional can read
and write to larger FAT32 volumes formatted by other operating systems.

FAT32 has no built-in file system security or compression scheme.

The following limitations exist using the FAT32 file system with Windows operating
systems:

Page 132
• Clusters cannot be 64 KB or larger. If clusters were 64 KB or larger, some
programs (such as Setup programs) might calculate disk space incorrectly.
• A volume must contain at least 65,527 clusters to use the FAT32 file system. You
cannot increase the cluster size on a volume using the FAT32 file system so that it
ends up with less than 65,527 clusters.
• The maximum possible number of clusters on a volume using the FAT32 file
system is 268,435,445. With a maximum of 32 KB per cluster with space for the
file allocation table (FAT), this equates to a maximum disk size of approximately 8
terabytes (TB).
• The ScanDisk tool included with Microsoft Windows 95 and Microsoft Windows 98
is a 16-bit program. Such programs have a single memory block maximum
allocation size of 16 MB less 64 KB. Therefore, the Windows 95 or Windows 98
ScanDisk tool cannot process volumes using the FAT32 file system that have a FAT
larger than 16 MB less 64 KB in size. A FAT entry on a volume using the FAT32 file
system uses 4 bytes, so ScanDisk cannot process the FAT on a volume using the
FAT32 file system that defines more than 4,177,920 clusters (including the two
reserved clusters). Including the FAT’s themselves, this works out, at the
maximum of 32 KB per cluster, to a volume size of 127.53 GB.
• You cannot decrease the cluster size on a volume using the FAT32 file system so
that the FAT ends up larger than 16 MB less 64 KB in size.
• You cannot format a volume larger than 32 GB in size using the FAT32 file system
in Windows 2000. The Windows 2000 FastFAT driver can mount and support
volumes larger than 32 GB that use the FAT32 file system (subject to the other
limits), but you cannot create one using the Format tool. This behavior is by
design. If you need to create a volume larger than 32 GB, use the NTFS file
system instead.

NOTE: When attempting to format a FAT32 partition larger than 32 GB, the format fails
near the end of the process with the following error: “Logical Disk Manager: Volume size
too big.”

Table 28: Limits of file system FAT32


Disk size Required cluster size for FAT32 volume
16 GB 4K
64 GB 16K
128 GB 32K (max. cluster size for Windows 95/98)
256 GB 64K (Windows 95/98/Me don’t support)

S.1.3 NTFS

In theory, the maximum NTFS volume size is 264 clusters minus 1 cluster. However, the
maximum NTFS volume size as implemented in Windows XP Professional is 232 clusters
minus 1 cluster. For example, using 64 KB clusters, the maximum NTFS volume size is
256 terabytes minus 64 KB. Using the default cluster size of 4 KB, the maximum NTFS
volume size is 16 terabytes minus 4 KB.

Because partition tables on master boot record (MBR) disks only support partition sizes
up to 2 terabytes, you must use dynamic volumes to create NTFS volumes over
2 terabytes. Windows XP Professional manages dynamic volumes in a special database
instead of in the partition table, so dynamic volumes are not subject to the 2-terabyte
physical limits imposed by the partition table. Therefore, dynamic NTFS volumes can be
as large as the maximum volume size supported by NTFS. Itanium-based computers that

Page 133
use GUID partition table (GPT) disks also support NTFS volumes larger than
2 terabytes.

If you use large numbers of files in an NTFS folder (300,000 or more), disable short-file
name generation, and especially if the first six characters of the long file names are
similar.

NTFS is so called „journal“ file system. It saves boot sector into first and last sector of
partition.

Because NTFS data structures are not the same for Windows NT 4.0 and Windows XP
Professional, Windows NT 4.0 disk tools such as Chkdsk and Autochk do not work on
NTFS volumes formatted or upgraded by Windows XP Professional. These tools check the
version stamp of NTFS. After installing Windows XP Professional, you must run the
updated version of these disk tools on their NTFS volumes.

Table 29: Compare NTFS 4 with 5


Parameter NTFS 4 NTFS 5
Alternate Streams yes yes
Compression yes yes
Encryption no yes
Object Permissions yes yes
Disk Quotas no yes
Sparse Files no yes
Reparse Points no yes
Volume Mount Point no yes

S.1.4 Size limitations

FAT12: max. 4086 data clusters

Size of cluster for all file systems:

Windows 95/98/Me: a power of 2 between 512 bytes and 32,768 bytes, inclusive
Windows XP/2000/NT: a power of 2 between 512 bytes and 65,536 bytes, inclusive

Page 134
Table 30: Size limitations for file systems
FAT16 FAT32 NTFS
Max. file 4 GB – 1 4 GB – 1 16 EB – 1
size (232 – 1 bytes) (232 - 1 bytes) (244 – 64 KB)
(design to
264 - 1 bytes)
Min. 4085 clusters 65,535 clusters 1 MB
volume
size
Max. 2 GB 2 TB (theoretical 228 clusters) 16 EB
volume (max. 65,524 Windows 2000/XP: theoretical 264
size clusters) format up to 32 GB, can clusters;
mount/convert larger volumes actual 232
Windows Me: up to 268,435,444 clusters
clusters (228-12) (4,294,967,296
Windows 95/98: 4,177,918 clusters)
clusters
Files per 65,536 4,177,920 4,294,967,295
volume (216) (228) (232 - 1)

Directory (216-2) 65,534 (216-2) 65,534 directory entries in no limit


size directory single folder
entries; (root without limit)
special limit for
root directory
(root=512 files)
File names DOS 8.3 255 characters of system set 255 Unicode
characters

S.1.5 DVD formats

Table 31: DVD formats


Double-side
Read/write support/sequence
capacity
DVD-Video 17 GB Read only
(video playback)
DVD-ROM
(data storage only)
DVD-R (data storage) 4.7 GB Read and one-time write
DVD-RAM 9.4 GB Read and up to 100000 rewrites; random
(video playback,
data storage)
DVD-RW 9.4 GB Read and up to 1000 rewrites; sequential
(video playback,
data storage)
DVD+RW 9.4 GB Read and rewrites; random
(video playback,
data storage)

Page 135
Windows XP uses for DVD-RAM file system FAT32 for read/write and support use a format
UDF (Universal Disk Format) only for read. DVD-RAM support multisession recording or
LBA addressing.

S.2 MBR (Master Boot Record)


The master boot record is always located at cylinder 0, head 0, and sector 1, the first
sector on the disk. The master boot record contains the following structures:

• Master Boot Code (boot loader, 446 bytes): The master boot record contains the
small initial boot program that the BIOS loads and executes to start the boot
process. This program eventually transfers control to the boot program stored on
whichever partition is used for booting the PC.
• Master Partition Table (4x16 bytes, started at 1BEh): This small table contains
the descriptions of the partitions that are contained on the hard disk. There is only
room in the master partition table for the information describing four partitions.
Therefore, a hard disk can have only four true partitions, also called primary
partitions. Any additional partitions are logical partitions that are linked to one of
the primary partitions. One of the partitions is marked as active, indicating that it
is the one that the computer should use for booting up.

Early MSDOS filled the partition table starting at the end. In particular, in the case
of only one partition, the descriptor was stored in the fourth primary slot. These
days DOS FDISK starts at the beginning, but other systems, like UnixWare, still
start at the end. Also Iomega writes the single partition of a ZIP disk in the last
entry (so that it has to be mounted as /dev/sda4 or /dev/hdc4 or so).
• Boot Record Signature (2 bytes): The sector ends with the Word-sized
signature ID of AA55h (often called the sector's Magic number; on Intel CPU
systems, hex Words are stored with the Low-byte first and the High-byte last).

DR-DOS stores a password starting at offset 1B6h.

Windows 2000 /XP to display Error Messages on screen use the three bytes at offsets
1B5h through 1B7h - these three bytes are being used to reference the offset in memory
of the first byte of each Error Message that can be displayed on screen at boot up.

The four bytes from offsets 1B8h through 1BBh are called the Windows 2000/XP Disk
Signature or Windows NT Drive Serial Number (volume ID) (e.g. A8h E1h A8h E1h).
This four-byte Hex Word will be found in various keys of the Registry as E1A8E1A8 Hex.
These particular keys:

HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\STORAGE\Volume
HKLM\SYSTEM\ControlSet001\Control\DeviceClasses\

Disk signature is used to map drive letters to disks: in the registry item

HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices

the drive letter is coupled with this disk signature. It is used as a disk label to map disk
info to disks in the registry item

HKEY_LOCAL_MACHINE\SYSTEM\DISK

The Disk Administrator generates this signature when it initializes the disk, unless there
already was a nonzero value there. Also LILO v20 and later preserves this area.

Page 136
The OS/2 fdisk writes some strange length in the descriptor of the last extended
partition. This is probably a bug. OS/2 fdisk fails to update the length of the (outer)
extended partition when a primary partition is created in the free space (space not used
by a logical partition) at the end of this extended partition. This can lead to overlapping
partitions.

OS/2 FDISK does not know about type 0Fh, but accepts DOS Extended Partitions
extending beyond cylinder 1023. When some other partition handler, like Partition Magic
4.0, changes the type of a large extended partition from 05h to 0Fh, OS/2 loses access.
OS/2 Boot Manager keeps a private copy of the partition table data. This leads to
problems when changing the partition table with 3rd party tools.

Windows 2000 tries to destroy OS/2 Boot Manager. Upon boot it ignores the 0Ah partition
ID, and sees something resembling a FAT boot sector describing 2 FAT copies. When
FASTFAT.SYS marks this partition as clean in the first reserved FAT entry, the mirror
(2nd) FAT sector is also updated. However, there is no mirror FAT, and FASTFAT.SYS
writes into the middle of the OS/2 Boot Manager code. This aggression was built into
FASTFAT.SYS at a fairly late stage, and prerelease versions work without problems.

S.3 Type of disk partitions


The following table contains maximal sizes of partitions for MS-DOS versions:

Table 32: Type of partitions for MS-DOS


MS-DOS version Max. Capacity of disk/partition
1.0 (1980) no hard disk support
2.0 (1983) disk max. 16 MB (FAT12)
2.1 disk max. 32 MB
3.0 only 1 partition max. 32 MB
(FAT16)
3.3+ every partition is max. 32 MB
4.0 partition max. 512 MB
5.0+ partition max. 2 GB

MS-DOS 3.3 introduces support for more than one logical drive per hard disk. Logical
drives are treated as completely separate disks under MS-DOS, even though they may
occupy the same physical hard disk.

This is supported by using no bootable MS-DOS partitions known as extended MS-DOS


partitions. Fdisk reports these as EXT DOS; other MS-DOS partitions are reported as
PRI DOS (for primary MS-DOS). Each primary MS-DOS partition is a logical drive, and
extended MS-DOS partitions contain from 1 to 23 logical drives (MS-DOS supports drive
letters up to Z). Logical drives in extended MS-DOS partitions have the same FAT type as
a primary MS-DOS partition of the same size.

Only one PRI DOS partition and one EXT DOS partition is allowed per drive. On
computers with two physical hard disks, a PRI DOS partition is not required on the
second physical disk. A PRI DOS partition is required on the first physical disk. (MS-DOS
does not support more than two physical disks.)

NOTE: Type 0Eh is the same partition type as 06h, and 0Fh is the same as 05h.
However, applications should use the (LBA) INT13h extension's read/write functions to
read from or write to the drive instead of the normal Cylinder/Head/SectorPerTrack (CHS)

Page 137
INT13h functions because the hard disk has more than 1024 cylinders and/or more than
16,711,680 sectors. Note that earlier versions of FDISK recognize these Windows 95
partitions as NON-DOS partitions.

Windows 95 OEM Service Release 2 (OSR2) and Windows 98 support two new partition
types (0Bh and 0Ch) to support the FAT32 file system.

Some partitions ID’s imply a particular method of disk access. In particular, ID’s 0Ch,
0Eh, 0Fh (the LBA versions of 0Bh, 06h, 05h) go with partition table entries that have
C/H/S = 1023/255/63 and expect access via the extended INT13h functions (AH=4x) of
the BIOS.

MS-DOS can read only partition 01h, 04h, 05h or 06h. With type 05h DOS/Windows will
not use the extended BIOS call, even if it is available.

If a partition table entry of type 42h is present in the legacy partition table, then W2K
ignores the legacy partition table and uses a proprietary partition table and a proprietary
partitioning scheme (LDM or DDM). As the Microsoft Knowledge Base writes: Pure
dynamic disks (those not containing any hard-linked partitions) have only a single
partition table entry (type 42) to define the entire disk. Dynamic disks store their volume
configuration in a database located in a 1-MB private region at the end of each dynamic
disk.

Windows NT 4.0 or earlier will add 80h to the partition type for partitions that are part of
a Fault Tolerant set (mirrored or in a RAID-5 volume). Thus, one gets types 86h, 87h,
8Bh, 8Ch. Windows NT does not recognize the four W95 types 0Bh, 0Ch, 0Eh, 0Fh.

Some partitions are classified as hidden partition. The partition ID of the hidden
partitions is different from their visible counterpart only by the hex number 10h, which is
added on the partition ID of the visible partition. And in order to make a partition visible
only this value 10h needs to be subtracted from the partition ID. The OS/2 boot manager
uses the same scheme for hiding partitions.

FDISK from FreeDOS hides partition 01h, 04-06h, 0Bh, 0Ch, 0Eh, 0Fh by added 8Ch.

Amoeba is a distributed operating system written by Andy Tanenbaum, together with


Frans Kaashoek, Sape Mullender, Robert van Renesse and others since 1981. It runs on
PCs (386 and up), Sun3, Sparc, 68030. It is free for universities for research/teaching
purposes. (See ftp://ftp.cs.vu.nl/pub/amoeba)

BSDI (Berkeley Software Design, Inc.) was founded by former CSRG (UCB Computer
Systems Research Group) members. Their operating system, based on Net/2, was called
BSD/386. After the USL (Unix System Laboratories, Inc./Novell Corp.) vs. BSDI lawsuit,
new releases were based on BSD4.4-Lite. Now they are announcing BSD/OS V2.0.1. This
is an operating for PCs (386 and up). The current partition id is 0Fh.

386BSD is a Unix-like operating system, a port of 4.3BSD Net/2 to the PC done by Bill
Jolitz around 1991. When Jolitz seemed to stop development, an updated version was
called FreeBSD (1992). The outcome of a Novell vs. UCB lawsuit was that Net/2
contained AT&T code, and hence was not free, but that 4.4BSD-Lite was free. After that,
FreeBSD and NetBSD were restructured, and FreeBSD 2.0 and NetBSD 1.0 are based on
4.4BSD-Lite. FreeBSD runs on PCs. See http://www.freebsd.org/FreeBSD.html. For
NetBSD, it changed partition type to A9h.

BootWizard 4.0 and its new version Acronis OS Selector 5.0 use this ID BBh:

1. when hiding partitions with types other than 01h, 04h, 06h, 07h, 0Bh, 0Ch, 0Eh

Page 138
2. when creating a partition without file system

REAL/32 is a continuation of DR Multiuser DOS. REAL/32 supports the standard FAT12,


FAT16 partition types and will shortly support FAT32. For partitions, which have been
marked as secure, we use C0h and D0h as partition markers (C0h < 32 MB, D0h >= 32
MB). REAL/32 is an advanced 32-bit multitasking & multi-user MS-DOS & Windows
compatible operating system. (See http://www.imsltd.com/)

Xenix is an old port of Unix V7. Microsoft Xenix OS was announced August 1980, a
portable and commercial version of the Unix operating system for the Intel 8086, Zilog
Z8000, Motorola M68000 and Digital Equipment PDP-11. Microsoft introduces XENIX 3.0
in April 1983. SCO delivered its first Xenix for 8088/8086 in 1983.

Diagnostics partition ID 12h

Compaq config partition ID 12h is used by Compaq for their configuration utility
partition. It is a FAT-compatible partition (about 6-40 MB) that boots into their utilities,
and can be added to a LILO menu as if it were MS-DOS. ID 12 is used by the Compaq
Contura to denote its hibernation partition.

NCR has used ID 12h MS-DOS partitions for diagnostics and firmware support on their
WorldMark systems since the mid-90s. DataLight's ROM-DOS has replaced MS-DOS on
systems that are more recent. Partition sizes were once 72 MB (MS-DOS) but are now 40
MB (ROM-DOS).

Intel has begun offering ROM-DOS based "Service Partition" support on many OEM
systems. This support initially used ID 98h but has recently changed to ID 12h. Intel
provides his own support for this partition in the form of a System Resource CD. Partition
size has remained constant at 40 MB.

Plan 9 [http://plan9.bell-labs.com/plan9dist/index.html] is an operating system


developed at Bell Labs for much architecture. Originally Plan 9 used an unallocated
portion at the end of the disk. Plan 9 3rd edition uses partitions of type 39h, subdivided
into sub partitions described in the Plan 9 partition table in the second sector of the
partition

When a PowerQuest [http://www.powerquest.com/] product like PartitionMagic or


Drive Image makes changes to the disk, it first changes the type flag to 3Ch so that the
OS won't try to modify it etc. At the end of the process, it is changed back to what it was
at first. So, the only time you should see a 3Ch type flag is if the process was interrupted
somehow (power outage, user reboot etc). If you change it back manually with a
partition table editor or something then most of the time everything is okay.

Table 33: Partition ID description


Value Name/Description
00h empty/unused partition table entry
01h DOS FAT12, max. 15 MB
02h XENIX root file system
03h XENIX /usr file system (obsolete)
04h DOS 3.0+ FAT16 (max. 16-32 MB)
05h DOS 3.3+ extended partition (max. 8.4 GB)
06h DOS 3.31+ FAT16 (Large File System, BigDOS, over 32 MB, max. 2 GB)
Partitions, or at least the FAT16 file systems created on them, are at most 2
GB for DOS and Windows 95/98 (at most 65,536 clusters, each at most 32
KB). Windows NT can create up to 4 GB FAT16 file systems (using 64 KB

Page 139
Value Name/Description
clusters), but these cause problems for DOS and Windows 95/98. Note that
VFAT is 16-bit FAT with long filenames; FAT32 is a different file system.
07h 1. Windows NT NTFS
It is rumored that the Windows NT boot partition must be primary, and within
the first 2 GB of the disk.
2. OS/2 HPFS
3. Advanced Unix
4. QNX 2.x pre-1988

(see partition boot record; could be any of the above or others)


08h 1. OS/2 (v1.0-1.3 only)
2. AIX bootable partition
3. SplitDrive
4. Commodore DOS
5. QNX 1.x and 2.x ("qny") (see QNX Partitions)
[http://www.qnx.com/literature/qnx_sysarch/fsys.html#RAWVOLUMES]
6. DELL partition spanning multiple drives
09h 1. AIX data partition
2. Coherent file system
(UNIX-type OS for 286/386/486 from 1980-1995)
3. QNX 1.x and 2.x ("qnz")
0Ah 1. OS/2 Boot Manager
2. Coherent swap partition
3. OPUS (Open Parallel Unisys Server)
0Bh Windows FAT32, max. 2047 GB (see Partition Types)
[http://support.microsoft.com/support/msdn/sdk/platforms/doc/sdk/
win32/95guide/src/fat32ovr_4.asp]
0Ch Windows FAT32 LBA-mapped
Ext.INT 13h equivalent of 0Bh; Extended FAT32-Partition (Windows FAT32
over 8.4 GB, using LBA-mode INT 13h extensions)
0Dh FAT16 Windows (?)
0Eh Windows DOS FAT16 LBA-mapped
logical-block-addressable VFAT (same as 06h but using LBA-mode INT 13h)
Extended Fat16-Partition
0Fh Windows Extended partition LBA-mapped
logical-block-addressable VFAT (same as 05h but using LBA-mode INT 13h);
type 0Fh is used instead of 05h if extended partition exceed 1024 cylinders
(Windows 95B/98);
Primary FAT16-Partition (Windows 95)
Windows 95 uses 0Eh and 0Fh as the extended-INT13h equivalents of 06h
and 05h.
10h OPUS
11h OS/2 Boot Manager hidden FAT12 DOS partition
12h 1. Compaq Diagnostics/hibernation FAT partition
2. Intel ROM-DOS Service Partition
3. EISA partition
13h Reliable Systems FTFS
14h 1. (resulted from using Novell DOS 7.0 FDISK to delete Linux Native part)
2. OS/2 Boot Manager hidden FAT16 DOS partition up to 32 MB
15h Extended partition hidden
16h OS/2 Boot Manager hidden over 32 MB FAT16 DOS partition
17h 1. OS/2 Boot Manager hidden HPFS partition
2. Windows NTFS hidden
18h AST Windows swap file (Zero-Volt Suspend/SmartSleep partition)
size is 2 MB+amount of memory

Page 140
Value Name/Description
[http://www.ast.com/]
19h Willowtech Photon coS
1Bh Windows FAT32 partition hidden
1Ch Windows FAT32 partition LBA-mapped hidden
(using LBA-mode INT 13h extensions)
1Eh Windows FAT16 partition hidden (LBA VFAT)
20h Willowsoft Overture File System (OFS1)
21h 1. officially listed as reserved
(HP Volume Expansion, SpeedStor variant)
2. FSo2 (Oxygen File System)
22h Oxygen Extended Partition Table
23h officially listed as reserved
24h NEC MS-DOS 3.x
26h officially listed as reserved
31h officially listed as reserved
32h NOS (Alien Internet Services in Melbourne Australia)
33h officially listed as reserved
34h officially listed as reserved
35h JFS on OS/2 or eComStation
(non-bootable file system)
36h officially listed as reserved
38h Theos version 3.2 (2 GB)
39h 1. Theos version 4 spanned partition
2. Plan 9 from Bell Labs
3Ah Theos version 4 (4 GB)
[http://www.theos-software.com/]
3Bh Theos version 4 extended partition
3Ch PowerQuest PartitionMagic/DriveImage recovery partition
3Dh Hidden NetWare
40h VENIX 80286
A very old Unix-like operating system for PCs.
41h 1. Personal RISC Boot
2. PowerPC Reference Platform Boot
3. Linux/MINIX (sharing disk with DRDOS)
Very old FAQ has recommended using 41h etc. instead of 81h. etc on a disk
shared with DRDOS because DRDOS allegedly disregards the high order bit of
the partition type.
42h 1. Windows 2000 dynamic extended partition marker (pure dynamic disks)
2. Linux swap (sharing disk with DRDOS)
3. SFS (Secure File System) for DOS
SFS is an encrypted file system driver for DOS on 386+ PCs, written by Peter
Gutmann.
43h Linux native (sharing disk with DRDOS)
44h GoBack partition
GoBack is a utility that records changes made to the disk, allowing you to
view or go back to some earlier state. It takes over disk I/O like a Disk
Manager would, and stores its logs in its own partition.
[http://www.goback.com/]
45h 1. Boot-US boot manager
Occupies a single cylinder below 8 GB.
This partition does not contain file system only boot manager.
[http://www.boot-us.com/]
2. Priam
3. EUMEL/Ergos L3 Elan
(Elan was the programming language used.)

Page 141
Value Name/Description
[http://os.inf.tu-dresden.de/L4/l3elan.html]
46h EUMEL/Ergos L3 Elan
47h EUMEL/Ergos L3 Elan
48h EUMEL/Ergos L3 Elan
4Ah 1. AdaOS Aquila primary
2. ALFS/THIN lightweight file system for DOS
(Mark Aitchison)
4Ch Oberon
This partition type (decimal 76) is used for the Aos file system. Type 4Fh is
used for the Nat file system. One may have several partitions of this type.
(see http://www.oberon.ethz.ch/betadocu.html#PM)
4Dh QNX 4.x
4Eh QNX 4.x 2nd part
4Fh 1. QNX 4.x 3rd part
QNX is a POSIX-certified, microkernel, distributed, fault-tolerant OS for the
386 and up, including support for the 386EX in embedded applications. ID
07h is outdated - QNX2 used 07h, QNX4.x uses 4Dh, and optionally 4Eh and
4Fh for additional QNX partitions on a single drive.
(see http://www.qnx.com/, ftp://ftp.qnx.com/, QNX Partitions, Neutrino file
systems)
2. Oberon boot/data partition
[http://www.oberon.ethz.ch/native/]
50h 1. OnTrack Disk Manager (older versions), read-only partition
Disk Manager is program from OnTrack to access ATA disks larger than 504
MB under DOS. Linux kernel version older than 1.3.14 cannot be used
together with DM.
[http://www.ontrack.com/]
2. Lynx RTOS
[http://www.lynuxworks.com/]
3. Native Oberon (alt)
51h 1. OnTrack Disk Manager (DM6 Aux1), read/write partition
2. Novell52
52h 1. CP/M
2. Microport System V/386
53h OnTrack Disk Manager 6.0 Aux3, write-only partition?
54h OnTrack Disk Manager 6.0 DDO (Dynamic Drive Overlay)
55h StorageSoft EZ-BIOS - EZ-Drive, Maxtor, MaxBlast, and DriveGuide
(see also INT 13h/AH=FFh "EZ-Drive")
EZ-Drive is another disk manager (MicroHouse, 1992). StorageSoft is a
new mark for EZDrive and DrivePro.
[http://www.storagesoft.com/]
Linux kernel version older than 1.3.29 cannot be used with EZD.
56h 1. GoldenBow VFeature Volume (Disk Manager type)
This is non-standard DOS volume.
2. StorageSoft DM converted to EZ-BIOS
57h 1. StorageSoft DrivePro
2. Netware VNDI Partition
5Ch Priam EDISK (Disk Manager type)
61h SpeedStor (Disk Manager type)
63h 1. Unix System V/386, 386/ix (SCO, ISC Unix, UnixWare…)
A Unixware 7.1 partition must start below the 4GB limit. (If the
/stand/stage3.blm is located past this limit, booting will fail with "FATAL BOOT
ERROR: Can't load stage3".)
2. Mach, MtXinu BSD 4.3 on Mach
3. GNU HURD

Page 142
Value Name/Description
64h 1. Novell Netware 286/2.xx
2. PC-ARMOUR protected partition by Dr. A. Solomon
3. SpeedStore
65h Novell Netware 386/3.xx/4.xx
66h Novell Netware SMS Partition
SMS (Storage Management Services)
67h Novell/Wolf Mountain
68h Novell
69h Novell Netware 5+, Novell Netware NSS Partition
NSS (Novell Storage Services)
70h DiskSecure Multi-Boot
71h officially listed as reserved
73h officially listed as reserved
74h 1. officially listed as reserved
2. Scramdisk partition (disk encryption software)
75h IBM PC/IX
76h officially listed as reserved
77h 1. M2FS/M2CS partition
2. Novell VNDI Partition
78h XOSL Boot loader file system
7Eh F.I.X.
80h Minix v1.1 - 1.4a
Minix is a Unix-like operating system for PC (8086 and up).
(see ftp://ftp.cs.vu.nl/pub/minix)
81h 1. Minix v1.4b+
2. Linux (early version)
3. Mitac Advanced Disk Manager
82h 1. Linux Swap partition
2. Prime
3. Solaris x86
83h Linux native file system (usually ext2fs/xiafs)
84h 1. Hibernation partition (Microsoft APM 1.1f, MKS2D utility)
2. OS/2-renumbered type 04h partition (related to hiding DOS C: drive)
85h Linux EXT (extended) partition
86h 1. Windows NT Legacy Fault Tolerant or volume/stripe set FAT16 volume
2. Old Linux RAID partition super block
87h 1. HPFS Fault-Tolerant mirrored partition
2. Windows NT Legacy Fault Tolerant or volume/stripe set NTFS volume
8Ah Linux Kernel Partition (used by AiR-BOOT)
8Bh Windows NT Legacy Fault Tolerant FAT32 volume
8Ch Windows NT Legacy Fault Tolerant FAT32 volume using BIOS ext. INT 13h
8Dh FreeDOS FDISK hidden Primary DOS FAT12 partition
8Eh Linux Logical Volume Manager (LVM) partition
(see http://linux.msede.com/lvm)
90h FreeDOS FDISK hidden Primary DOS FAT16 partition
91h FreeDOS FDISK hidden DOS extended partition
92h FreeDOS FDISK hidden Primary DOS large FAT16 partition
93h 1. Hidden Linux native partition
2. Amoeba file system
94h Amoeba bad block table (BBT)
95h MIT EXOPC native partitions
[http://www.pdos.lcs.mit.edu/exo/]
97h FreeDOS FDISK hidden Primary DOS FAT32 partition
98h 1. FreeDOS FDISK hidden Primary DOS FAT32 partition (LBA)
2. Datalight ROM-DOS Super Boot

Page 143
Value Name/Description
[http://www.datalight.com/rom-dos-v.htm]
3. Intel ROM-DOS Service Partition
99h Mylex DCE376 EISA SCSI logical drive beyond the 1024th cylinder
(like DOS extended partition)
9Ah FreeDOS FDISK hidden Primary DOS FAT16 partition (LBA)
9Bh FreeDOS FDISK hidden DOS extended partition (LBA)
9Fh BSD/OS [http://www.bsdi.com/]
A0h Laptop hibernation partition
Reported for various laptops like IBM ThinkPad, Phoenix Note BIOS, Toshiba
under names like zero-volt suspend partition, suspend-to-disk partition, save-
to-disk partition, power-management partition, and hibernation partition.
Usually at the start or end of the disk area. (This is also the number used by
Sony on the VAIO. Recent VAIOs can also hibernate to a file in the file
system, the choice being made from the BIOS setup screen.)
Phoenix Note BIOS Power Management "Save-to-Disk" partition
A1h 1. officially listed as reserved
2. Laptop hibernation partition
Reportedly used as "Save-to-Disk" partition on a NEC 6000H notebook. Types
A0h and A1h are used on systems with Phoenix BIOS; the Phoenix PHDISK
utility is used with these.
3. HP Volume Expansion (SpeedStor variant)
According to PowerQuest ID’s 21h, A1h, A3h, A4h, A6h, B1h, B3h, B4h, B6h
are for HP Volume Expansion (SpeedStor variant).
A3h 1. officially listed as reserved
2. HP Volume Expansion (SpeedStor variant)
A4h 1. officially listed as reserved
2. HP Volume Expansion (SpeedStor variant)
A5h BSD/386, 386BSD, NetBSD, FreeBSD
A6h OpenBSD [http://www.openbsd.org/]
A7h NextStep [http://www.next.com/]
Based on Mach 2.6 and features of Mach 3.0, is a true object-oriented
operating system and user environment.
A8h Mac OS-X
Apple's OS-X uses this type for its file system partition (a UFS file system, in
NeXT flavor, only differing from the BSD formats in the first 8 KB). See also
type ABh.
A9h NetBSD [http://www.netbsd.org/]
NetBSD is one of the children of BSD. It runs on PCs and a variety of other
hardware. Since 19-Feb-98, NetBSD uses A9h instead of A5h. It is freely
obtainable - see http://www.netbsd.org/Sites/net.html.
AAh Olivetti FAT 12 1.44Mb Service Partition
Contains a bare DOS 6.22 and a utility to exchange types 06h and AAh in the
partition table.
ABh 1. MAC OS-X boot partition
2. GO! partition
AEh ShagOS file system
AFh ShagOS swap partition
B0h BootStar Dummy
The boot manager BootStar manages his own partition table, with up to 15
primary partitions. It fills unused entries in the MBR with BootStar Dummy
values. If you use this, do not use a disk manager, do not put LILO in the MBR
and do not use fdisk.
[http://www.star-tools.com/english/]
B1h 1. officially listed as reserved
2. HP Volume Expansion (SpeedStor variant)

Page 144
Value Name/Description
B3h 1. officially listed as reserved
2. HP Volume Expansion (SpeedStor variant)
B4h 1. officially listed as reserved
2. HP Volume Expansion (SpeedStor variant)
B6h 1. officially listed as reserved
2. HP Volume Expansion (SpeedStor variant)
3. Windows NT mirror set (master), FAT16 file system
B7h 1. Windows NT mirror set (master), NTFS file system
2. BSDI BSD/386 file system (secondarily swap)
B8h BSDI BSD/386 swap partition (secondarily file system)
BBh Boot Wizard hidden
BEh Solaris 8 boot partition
C0h 1. DR-DOS/Novell DOS secured partition
2. Novell NTFT Partition
3. CTOS (Convergent Technologies OS)
4. REAL/32 (DR Multiuser DOS) secure small partition up to 32 MB
C1h DR DOS 6.0 LOGIN.EXE-secured FAT12 partition
C2h 1. Linux hidden
2. Reserved for DR-DOS 7+
According to PowerQuest Id’s C2h, C3h, C8h, C9h, CAh, CDh are reserved
for DR-DOS 7+.
C3h Linux swap hidden
C4h DR-DOS 6.0 LOGIN.EXE-secured FAT16 partition up to 32 MB
C5h DR-DOS/secured (extended)
C6h 1. Windows NT FAT16 volume/stripe set (corrupted)
2. Windows NT FAT16 mirror set (slave)
3. DR-DOS 6.0 LOGIN.EXE-secured Huge FAT16 partition over 32 MB
DR-DOS 6.0 will add C0h to the partition type for a LOGIN.EXE-secured
partition (so that people cannot avoid the password check by booting from an
MS-DOS floppy). Otherwise, it seems that the types C1h, C4h, C5h, C6h and
D1h, D4h, D5h, D6h are used precisely like 01h, 04h, 05h, and 06h.
C7h 1. Windows NT NTFS volume/stripe set (corrupted)
2. Windows NT NTFS mirror set (slave)
3. Syrinx Boot
C8h Reserved for DR-DOS 7+
C9h Reserved for DR-DOS 7+
CAh Reserved for DR-DOS 7+
CBh Reserved for DR-DOS/OpenDOS secured FAT32
CCh Reserved for DR-DOS secured FAT32 (LBA)
CDh 1. CTOS Memdump ?
2. Reserved for DR-DOS 7+
CEh Reserved for DR-DOS secured FAT16 (LBA)
D0h REAL/32 (DR Multiuser DOS) secured FAT over 32 MB
D1h Old Multiuser DOS secured FAT12
D4h Old Multiuser DOS secured FAT16 (< 32M)
D5h Old Multiuser DOS secured extended partition
D6h Old Multiuser DOS secured FAT16 (>= 32M)
D8h CP/M-86
DAh Non-FS Data
DBh 1. Concurrent DOS, Digital Research CP/M, Concurrent CP/M
2. CTOS (Convergent Technologies OS - Unisys)
3. KDG Telemetry SCPU boot
KDG Telemetry uses type DBh to store a protected-mode binary image of the
code to be run on an x86-based SCPU (Supervisory CPU) module from the
DT800 range.

Page 145
Value Name/Description
[http://www.telemetry.co.uk/]
DDh Hidden CTOS Memdump ?
DEh Dell PowerEdge Server utilities (FAT file system)
DFh DG/UX virtual disk manager partition
E0h STMicroelectronics file system ST AVFS [http://www.st.com/]
E1h SpeedStor FAT12 extended partition (DOS access)
E2h DOS read-only (Florian Painke's XFDISK 1.0.4)
E3h 1. DOS read-only
2. Storage Dimensions/SpeedStor
E4h SpeedStor FAT16 extended partition up to 1024 cyl.
E5h 1. officially listed as reserved
2. Tandy DOS with logical sectored FAT
E6h officially listed as reserved
EBh BeOS BFS (BFS1) [http://www.be.com/]
EDh Reserved for Matthias Paul's Sprytix
Sprytix is currently a project name for an OS related project of mine, partially
based on DOS and Linux technologies.
EEh Indication that this legacy MBR is followed by an EFI header
EFh Partition with an EFI (Extensible Firmware Interface) file system
MS plans to use EEh and EFh in the future for support of non-legacy BIOS
booting. These types are used to support the Extensible Firmware Interface
specification (EFI); go to developer.intel.com and search for EFI. (For the
types EEh and EFh, see Tables 16-6 and 16-7 of the EFI specification,
EFISpec_091.pdf.)
F0h Linux/PA-RISC boot loader
The F0h partition will be located in the first 2GB of a drive and used to store
the Linux/PA-RISC boot loader and boot command line, optionally including
a kernel and ramdisk.
[http://www.parisc-linux.org/]
F1h Storage Dimensions/SpeedStor
F2h DOS 3.3+ secondary partition
(Unisys DOS with logical sectored FAT)
F3h 1. officially listed as reserved
2. Storage Dimensions/SpeedStor
F4h 1. SpeedStor large partition
2. Prologue single-volume partition
F5h Prologue multi-volume partition
The type F4h partition contains one volume, and is not used anymore. The
type F5h partition contains 1 to 10 volumes (called MD0 to MD9). It supports
one or more systems (Prologue 3, 4, 5, Twin Server). Each volume can have
as file system the NGF file system or TwinFS file system. NGF (old): volume
size at most 512 MB, at most 895 files per directory, at most 256 directories
per volume. TwinFS (new): volume size up to 4 GB. No limit in number of files
and directories.
[http://www.prologue-software.com/]
F6h 1. officially listed as reserved
2. Storage Dimensions/SpeedStor
F9h pCache [http://www.alcpress.com/articles/pcache.html]
We propose using the F9h partition type as a pCache partition, which is our
name for an "ext2/ext3 persistent cache partition“.
FAh Bochs
MandrakeSoft's Bochs x86 emulator (similar to VMWare) uses FAh as a
partition identifier.
[http://bochs.sourceforge.net/]
FBh VMware File System partition

Page 146
Value Name/Description
FCh VMware Swap partition
FDh Linux raid partition with auto detect using persistent superblock
FEh 1. Windows NT Disk Administrator hidden partition
Windows NT Disk Administrator marks hidden partitions (i.e. present but not
to be accessed) as type FEh. A primary partition of this type is also used by
IBM to hold an image of the "Reference Diskettes" on many of their machines,
particularly newer PS/2 systems (at a rough guess, anything built after about
1994). This clash can cause major confusion and grief if running NT on IBM
kit. When this Reference Partition is activated, it changes its type into 1
(FAT12) and hides all other partitions by adding 10h to the type.
2. SpeedStor over 1024 cyl.
3. LANstep
4. IBM PS/2 IML (Initial Microcode Load) partition (image of the Reference
Diskettes) (located at the end of disk)
5. Linux LVM (Logical Volume Manager) partition (old)
This has been in use since the early LVM days back in 1997, and has now
(Sept. 1999) been renamed 8Eh.
FFh Xenix bad block table (BBT)

Page 147
G. Glossary
G.1 Buses
ISA (Industry Standard Architecture)
8- or 16-bits bus

EISA (Extended ISA)


32-bits bus, compatible with ISA slots

MCA (Micro-Channel Architecture)


16- or 32-bits bus, IBM, from 1987

VL-Bus (VESA Local Bus)


32-bits bus, bus mastering, uses ISA slots + special connector

PCI (Peripheral Component Interconnect)


PCI is the not terminated bus, the signal relay on signal reflections to attain there final
value.
32-bits bus, PCI is so-called „root technology" (AGP, CardBus, SmallPCI, PCI-X); bus
mastering, uses PCI slots

1. PCI: the original specification 'Peripheral Component Interface'

2. PCI-X (PCI extended): the Next Generation of Backward-Compatible PCI

PCI-X is backward compatible with existing PCI cards. It improves upon the speed of PCI
from 133 MBps to as much as 1 GBps. PCI-X was designed jointly by IBM, HP and
Compaq to increase performance of high bandwidth devices, such as Gigabit Ethernet
and Fibre Channel, and processors that are part of a cluster.

To achieve the very high frequencies of PCI-X 2.0, lower voltage signal swings were
required. As a result, PCI-X 266 and PCI-X 533 require new 1.5V signaling. However, to
maintain compatibility with previous-generations of 3.3V PCI technologies, the I/O
buffers have been carefully designed to support both signal levels.

The PCI-X 2.0 specification includes ECC (Error Correcting Codes) to provide additional
fault tolerance.

3. PCI Express: is a third-generation, high-performance I/O bus used to interconnect


peripheral devices in computing and communication platforms. The PCI Express
architecture retains much of the PCI software interface, including the configuration and
device driver interfaces, to ease the transition from PCI to PCI Express. However, unlike
its predecessor, which is a parallel multi-drop bus, PCI Express is a serial point-to-point
bus. The already high PCI Express performance can be scaled up by increasing the data
path width and, later, by increasing the clock frequency as well. Currently, the aggregate
data transfer rates range from 0.5 GB/s to 16 GB/s.

While PCI Express will mainly be around in desktop systems, PCI-X will remain the
prevailing high-performance interface for high-end workstations and server systems.
Finally, PCI-X 1066 will be able to provide up to 8.5 GB/s. However, PCI Express is
intended to replace AGP.

PCI Express is also called 3GIO (Third Generation I/O) and occasionally Arapahoe.

Page 148
Table 34: Compare of PCI buses
Standard Bus width Clock Transfer
PCI 2.3 32 bit 33 MHz 133 MB/s
66 MHz 266 MB/s
PCI 64 64 bit 33 MHz 266 MB/s
66 MHz 533 MB/s
PCI-X 1.0 64 bit 66 MHz 533 MB/s
100 MHz 800 MB/s
133 MHz 1066 MB/s
PCI-X 2.0 (DDR) 64 bit 133 MHz 2132 MB/s
PCI-X 2.0 (QDR) 64 bit 133 MHz 4264 MB/s
PCI Express 1 line, 8 bits 2.5 GHz 512 MB/s
PCI Express 2 lines, 8 bits 2.5 GHz 1 GB/s (duplex)
PCI Express 4 lines, 8 bits 2.5 GHz 2 GB/s (duplex)
PCI Express 8 lines, 8 bits 2.5 GHz 4 GB/s (duplex)
PCI Express 16 lines, 8 bits 2.5 GHz 8 GB/s (duplex)
PCI Express 32 lines, 8 bits 2.5 GHz 16 GB/s (duplex)

AGP (Accelerated Graphics Port) – AGP is a PCI-like bus interface targeted for high-
performance 3d graphic. AGP supports only memory read/write operation and single-
master single-slave one-to-one only. The AGP uses both rising and falling edge of the 66
MHz clock and produces 66 MHz x 4 byte x 2 = 528 MB/s data transfer rate.

PCMCIA (PC card) – The Personal Computer Memory Card International Association
(PCMCIA) has created a standard for small form factor peripherals called PC Cards.
Standardizes packages for memory and input/output (modems, LAN cards, etc.) for
computers, laptops, palmtops, etc. For each there is a specific set for each bus to use.
As a bus it is the network/or circuitry's placement in which all the devices are attached to
it and all signals pass through each device, but only the targeted device will receive and
recognize the signal intended for it.

CardBus – The 32-bit version of the PCMCIA PC Card standard. In addition to supporting
a wider bus (32 bits instead of 16 bits), CardBus also supports bus mastering and
operation speeds up to 33 MHz.

USB (Universal Serial Bus) – A serial bus standard promoted by Intel for
communication between an IBM PC and external peripherals over an inexpensive cable
using biserial (in two rows or series) transmission. USB works at 12 Mbps with specific
cost consideration for low cost peripherals. It supports up to 127 devices and both
isochronous and asynchronous data transfers. Cables can be up to 5 meters long and it
includes built-in power distribution for low power devices. It supports daisy chaining
through a tiered star multidrop topology.

IEEE 1394 – serial bus. IEEE 1394, formerly FireWire. A 1995 Macintosh/IBM PC serial
bus interface standard offering high-speed communications and isochronous real-time
data services.
1394 can transfer data between a computer and its peripherals at 100, 200, or 400
Mbps, with a planed increase to 2 Gbps. Cable length is limited to 4.5 m but up to 16
cables can be daisy-chained yielding a total length of 72 m.

It cans daisy chain together up to 63 peripherals in a tree-like structure (as opposed to


SCSI's linear structure). It allows peer-to-peer device communication, such as
communication between a scanner and a printer, to take place without using system
memory or the CPU. It is designed to support plug-and-play and hot swapping. Its 6-wire
cable is not only more convenient than the SCSI cables but can supply up to 60 watts of
power, allowing low-consumption devices to operate without a separate power cord.

Page 149
Table 35: Compare of buses
Bus Speed Bandwidth Power Type Topology Length
[Mbps] Bits Hz [W] device/
total
[m]
AGP 1x 2112 32 66M parallel bus
2x 4224
4x 8000
8x 16000
Fire a 100, 64 66M serial tree
Wire 200,
400
b 800,
1600,
3200
USB 1.1 1.5,12 480 1.5 serial tree 3-5/30
2.0 180 M
Bluetooth 1 2.4G 0.25 wireless 0.1-10/
(real 720K) 100m 100
802.11 a 54 5G wireless 1-33.3
b 11 2.4G 50/115
(real 7) (in-out)
PCI 1060 32/64 33/ parallel bus
66M

G.2 Basic terms


BIOS (Basic Input/Output Services)

CMOS (Complimentary Metal-Oxide Semiconductor)

PIO (Programmed Input Output)

DMA (Direct Memory Access)


(known like bus master access)

ST506 – first standard for hard disk introduced from Seagate in 1980; need physical
installation, setup configuration in CMOS, low-level and high-level formatting.

ESDI (Enhanced Small Device Interface)


This type was introduced in 1983. He has integrated controller in device drive.
Configuration is similar like at ST506.

IORDY (Input Output Ready) – IORDY is a bus-signal used for high-speed transfer
between drive-cache and system. Since local-bus adapters can often transfer data faster
then a drive can handle, the IORDY signal has been implemented. This signal can be
asserted by the drive to set wait-cycles on the bus.
As the drive will report the system when it is ready to receive or send a data-word, the
drive can process data at its own speed. On drives that do not support IORDY the worst-
case scenario will determine the minimum transfer cycle (max. transfer per second).
PIO modes 3 and 4 use IORDY, so it's not clear what the average transfer speed will be,
since the drive can always assert the IORDY signal to slow down the total transfer.

EHCI (Enhanced Host Controller Interface)

Page 150
interface for host controller USB rev. 2.0

OHCI (Open Host Controller Interface)


OHCI for USB rel. 1.0a, 1996 – interface USB
1394 OHCI rel. 1.1, 2000 - interface IEEE 1394 to PC host

RAID (Redundant Array of Independent Disks)


A feature of a controller designed to protect against hard drive failure or improve storage
subsystem performance or both by making multiple hard drives act as a single hard
drive.

Page 151
Z. References
[1] ATA-1 (ANSI X3.221-1994)
AT Attachment Interface for Disk Drives
Was withdrawn as a standard on 6 August 1999.
Last draft is X3T9.2/791Dr4c.

[2] ATA-2 (ANSI X3.279-1996)


AT Attachment Interface with Extensions
Was withdrawn as a standard in 2001.
Last draft is X3T9.2/948Dr4c.

[3] ATA-3 (ANSI X3.298-1997)


AT Attachment-3 Interface
This standard defines an integrated interface between devices and host
processors. It provides a common point of attachment for systems
manufacturers, systems integrators, and suppliers of intelligent devices.
This standard maintains a high degree of compatibility with the AT
Attachment Interface with Extensions standard (ATA-2), X3.279-1996, and
while providing additional functions, is not intended to require changes
to presently installed devices or existing software.
ANSI document was withdrawn.

[4] ATA/ATAPI-4 (ANSI INCITS 317-1998)


AT Attachment-4 Interface with Packet Interface Extensions
This standard specifies the AT Attachment Interface between host systems
and storage devices. It provides a common attachment interface for
systems manufacturers, systems integrators, and suppliers of intelligent
storage devices. It includes the Packet Command feature known as the AT
Attachment Packet Interface (ATAPI). This standard maintains a high
degree of compatibility with the AT Attachment - 3 Interface (ATA-3),
X3.298-1996, and earlier definitions of the AT Attachment Packet (ATAPI),
and while providing additional functions, is not intended to require
changes to presently installed devices or existing software.

[5] ATA/ATAPI-5 device (ANSI INCITS 340-2000)


AT Attachment-5 with Packet Interface
This standard specifies the AT Attachment Interface between host systems
and storage devices. It provides a common attachment interface for
systems manufacturers, systems integrators, and suppliers of intelligent
storage devices. It includes the Packet Command feature known as the AT
Attachment Packet Interface (ATAPI). This standard maintains a high
degree of compatibility with the AT Attachment - 4 with Packet Interface
Extension (ATA/ATAPI-4), 1153D, and while providing additional functions,
is not intended to require changes to presently installed devices or
existing software.

[6] ATA/ATAPI-6 (ANSI INCITS 361-2002)


AT Attachment-6 with Packet Interface
This standard specifies the AT Attachment Interface between host systems
and storage devices. It provides a common attachment interface for
systems manufacturers, systems integrators, and suppliers of intelligent
storage devices. It includes the Packet Command feature known as the AT
Attachment Packet Interface (ATAPI). This standard maintains a high

Page 152
degree of compatibility with the AT Attachment - 5 with Packet Interface
(ATA/ATAPI-5), 1321D, and while providing additional functions, is not
intended to require changes to presently installed devices or existing
software.
AT Attachment - 6 with Packet Interface is currently under development.
The latest committee draft document is D1410R3B.

[7] ATA/ATAPI-7 (draft 1532D, 2002-2004)


Volume 1/2/3 (ATA, ATAPI, SATA v1.0)

[8] BIOS Enhanced Disk Drive Services (EDD) T13/1484D

[9] BIOS Enhanced Disk Drive Services-2 (EDD-2) T13/1484D rev.3 21.02.2002

[10] Standard BIOS 32-bit Service Directory Proposal


Revision 0.4, 18.06.1993
Phoenix Technologies Ltd., PC Division, Desktop Product Line

[11] Compaq/Phoenix/Intel: Plug and Play BIOS Specification


v1.0A 05.05.1994

[12] Compaq/Phoenix/Intel:
EXTENDED SYSTEM CONFIGURATION DATA SPECIFICATION (ESCD)
v1.02A 31.05.1994, Part Number 485547-001

[13] Compaq/Phoenix/Intel: BIOS Boot Specification (BBS)


v1.01 11.01.1996

[14] Merlin's PCI Hardware Sniffer Version 0.47ß 2002


[http://members.datafast.net.au/dft0802/downloads.htm]

[15] International System of Units (SI)


[http://physics.nist.gov/cuu/Units/index.html]

[16] Enhanced S.M.A.R.T. - Get S.M.A.R.T. for Reliability, 07/1999


[http://www.seagate.com/docs/pdf/whitepaper/enhanced_smart.pdf]

[17] Enhanced Host Controller Interface (EHCI) specification rev. 1.0


[http://www.intel.com/technology/usb/download/ehci-r10.pdf]

[18] Partition types: List of partition identifiers for PCs


[http://www.win.tue.nl/~aeb/linux/partitions/partition_types-1.html]

[19] ATA/ATAPI Host Adapters Standard (ATA-Adapter)


T13/1510D rev.1.0 17.01.2003
[http://www.t13.org/]

[20] S.M.A.R.T. Applications Guide for the ATA Interface SFF-8055i rev.1.2
26.04.1996

[21] Seagate Advanced SCSI Architecture II Technology Paper [HTML]

[22] Hale Landis: ATA-ATAPI


[http://www.ata-atapi.com/]

[23] G-Force Protection


[http://www.seagate.com/support/kb/disc/gf_protect.html]

Page 153
[24] SMART Attribute Annex
[http://www.t13.org/docs2005/e05148r0-ACS-SMARTAttributesAnnex.pdf]

Page 154

You might also like