diff --git a/structures/Identify_ATA_Struct.inc b/structures/Identify_ATA_Struct.inc index 2430f30..740c5c9 100644 --- a/structures/Identify_ATA_Struct.inc +++ b/structures/Identify_ATA_Struct.inc @@ -7,27 +7,31 @@ ;RemovableMedia bit 7 ;Retired1 bit 8..14 ;DeviceType bit 15 -GeneralConfiguration WORD ; 0 -NumCylinders WORD ; 1 -SpecificConfiguration WORD ; 2 -NumHeads WORD ; 3 -NumUnformattedBytesPerTrack WORD ; 4 -NumUnformattedBytesPerSector WORD ; 5 -NumSectorsPerTrack WORD ; 6 -VendorUnique7 BLOCK 6 ; 6 -SerialNumber BLOCK 20 ; 10 -BufferType WORD ; 20 -BufferSizeMul_512 WORD ; 21 -Obsolete22 WORD ; 22 -FirmwareRevision BLOCK 8 ; 23 -ModelNumber BLOCK 40 ; 27 -MaximumBlockTransfer BYTE ; 47 -VendorUnique2 BYTE +GeneralConfiguration WORD ; 0 0 +NumCylinders WORD ; 1 2 +SpecificConfiguration WORD ; 2 4 +NumHeads WORD ; 3 6 +NumUnformattedBytesPerTrack WORD ; 4 8 +NumUnformattedBytesPerSector WORD ; 5 10 +NumSectorsPerTrack WORD ; 6 12 +VendorUnique7 BLOCK 6 ; 7 14 +SerialNumber BLOCK 20 ; 10 20 +BufferType WORD ; 20 40 +BufferSizeMul_512 WORD ; 21 42 +Obsolete22 WORD ; 22 44 +FirmwareRevision BLOCK 8 ; 23 46 +ModelNumber BLOCK 40 ; 27 54 +MaximumBlockTransfer BYTE ; 47 94 +VendorUnique2 BYTE ; 95 + ;FeatureSupported bit 0 ;Reserved bit 1..15 -TrustedComputing WORD ; 48 +TrustedComputing WORD ; 48 96 + ;CurrentLongPhysicalSectorAlignment bit 0..1 ;Reserved bit 2..7 +Capabilities_low BYTE ; 49 98 + ;DMAsupported bit 8 ;LBAsupported bit 9 ;IORDYdisable bit 10 @@ -36,20 +40,25 @@ TrustedComputing WORD ; 48 ;OverlapOperationSupported bit 13 ;CommandQueuingSupported bit 14 ;InterleavedDMAsupported bit 15 -Capabilities WORD ; 49 -Reserved50 WORD ; 50 +Capabilities_high WORD ; 99 +Reserved50 WORD ; 50 100 + +ObsoleteWords51 WORD ; 51 102 +ObsoleteWords52 WORD ; 52 104 -ObsoleteWords51 WORD ; 51 -ObsoleteWords52 WORD ; 52 ;FieldsInWords54_58Valid bit 0 ;FieldsInWords64_70Valid bit 1 ;FieldsInWord88_Valid bit 2 ;Reserved bit 3..15 -TranslationFieldsValid WORD ; 53 -NumberOfCurrentCylinders WORD ; 54 -NumberOfCurrentHeads WORD ; 55 -CurrentSectorsPerTrack WORD ; 56 -CurrentSectorCapacity DWORD ; 57 +TranslationFieldsValid WORD ; 53 106 +NumberOfCurrentCylinders_low BYTE ; 54 108 +NumberOfCurrentCylinders_high BYTE ; 109 +NumberOfCurrentHeads_low BYTE ; 55 110 +NumberOfCurrentHeads_high BYTE ; 111 +CurrentSectorsPerTrack_low WORD ; 56 112 +CurrentSectorsPerTrack_high WORD ; 113 +CurrentSectorCapacity DWORD ; 57 114 + ;SectorsPerInt bit 0..7 ;MultiSectorSettingValid bit 8 ;Reserved bit 9..11 @@ -57,173 +66,180 @@ CurrentSectorCapacity DWORD ; 57 ;CryptoScrambleExtCommandSupported bit 13 ;OverwriteExtCommandSupported bit 14 ;BlockEraseExtCommandSupported bit 15 -CurrentMultiSectorSetting WORD ; 59 -UserAddressableSectors DWORD ; 60 +CurrentMultiSectorSetting WORD ; 59 118 +UserAddressableSectors DWORD ; 60 120 -;TransferModesSupported bit 0..7 -;TransferModeActive bit 8..15 -SingleWordDMA WORD ; 62 -;TransferModesSupported bit 0..7 -;TransferModeActive bit 8..15 -MultiWordDMA WORD ; 63 +;TransferModesSupported bit 0..7 +;TransferModeActive bit 8..15 +SingleWordDMA WORD ; 62 124 -AdvancedPIOModes BYTE ; 64 -ReservedByte129 BYTE -MinimumMWXferCycleTime WORD ; 65 -RecommendedMWXferCycleTime WORD ; 66 -MinimumPIOCycleTime WORD ; 67 -MinimumPIOCycleTimeIORDY WORD ; 68 -;ZonedCapabilities bit 0..1 -;NonVolatileWriteCache bit 2 -;ExtendedUserAddressableSectorsSupported bit 3 -;DeviceEncryptsAllUserData bit 4 -;ReadZeroAfterTrimSupported bit 5 -;Optional28BitCommandsSupported bit 6 -;IEEE1667 bit 7 -;DownloadMicrocodeDmaSupported bit 8 -;SetMaxSetPasswordUnlockDmaSupported bit 9 -;WriteBufferDmaSupported bit 10 -;ReadBufferDmaSupported bit 11 -;DeviceConfigIdentifySetDmaSupported bit 12 -;LPSAERCSupported bit 13 -;DeterministicReadAfterTrimSupported bit 14 -;CFastSpecSupported bit 15 -AdditionalSupported WORD ; 69 -ReservedWords70 BLOCK 10 ; 70 -QueueDepth WORD ; 75 -SerialAtaCapabilities DWORD ; 76 -SerialAtaFeaturesSupported WORD ; 78 -SerialAtaFeaturesEnabled WORD ; 79 +;TransferModesSupported bit 0..7 +;TransferModeActive bit 8..15 +MultiWordDMA WORD ; 63 126 +AdvancedPIOModes BYTE ; 64 128 +ReservedByte129 BYTE ; 129 +MinimumMWXferCycleTime WORD ; 65 130 +RecommendedMWXferCycleTime WORD ; 66 132 +MinimumPIOCycleTime WORD ; 67 134 +MinimumPIOCycleTimeIORDY WORD ; 68 136 -MajorRevision WORD ; 80 -MinorRevision WORD ; 81 -;SmartCommands bit 0 -;SecurityMode bit 1 -;RemovableMediaFeature bit 2 -;PowerManagement bit 3 -;Reserved1 bit 4 -;WriteCache bit 5 -;LookAhead bit 6 -;ReleaseInterrupt bit 7 -;ServiceInterrupt bit 8 -;DeviceReset bit 9 -;HostProtectedArea bit 10 -;Obsolete1 bit 11 -;WriteBuffer bit 12 -;ReadBuffer bit 13 -;Nop bit 14 -;Obsolete2 bit 15 -;DownloadMicrocode bit 16 -;DmaQueued bit 17 -;Cfa bit 18 -;AdvancedPm bit 19 -;Msn bit 20 -;PowerUpInStandby bit 21 -;ManualPowerUp bit 22 -;Reserved2 bit 23 -;SetMax bit 24 -;Acoustics bit 25 -;BigLba bit 26 -;DeviceConfigOverlay bit 27 -;FlushCache bit 28 -;FlushCacheExt bit 29 -;WordValid83 bit 30..31 -;SmartErrorLog bit 32 -;SmartSelfTest bit 33 -;MediaSerialNumber bit 34 -;MediaCardPassThrough bit 35 -;StreamingFeature bit 36 -;GpLogging bit 37 -;WriteFua bit 38 -;WriteQueuedFua bit 39 -;WWN64Bit bit 40 -;URGReadStream bit 41 -;URGWriteStream bit 42 -;ReservedForTechReport bit 43.44 -;IdleWithUnloadFeature bit 45 -;WordValid bit 46..47 -CommandSetSupport BLOCK 6 ; 82 -;SmartCommands bit 0 -;SecurityMode bit 1 -;RemovableMediaFeature bit 2 -;PowerManagement bit 3 -;Reserved1 bit 4 -;WriteCache bit 5 -;LookAhead bit 6 -;ReleaseInterrupt bit 7 -;ServiceInterrupt bit 8 -;DeviceReset bit 9 -;HostProtectedArea bit 10 -;Obsolete1 bit 11 -;WriteBuffer bit 12 -;ReadBuffer bit 13 -;Nop bit 14 -;Obsolete2 bit 15 -;DownloadMicrocode bit 16 -;DmaQueued bit 17 -;Cfa bit 18 -;AdvancedPm bit 19 -;Msn bit 20 -;PowerUpInStandby bit 21 -;ManualPowerUp bit 22 -;Reserved2 bit 23 -;SetMax bit 24 -;Acoustics bit 25 -;BigLba bit 26 -;DeviceConfigOverlay bit 27 -;FlushCache bit 28 -;FlushCacheExt bit 29 -;Resrved3 bit 30 -;Words119_120Valid bit 31 -;SmartErrorLog bit 32 -;SmartSelfTest bit 33 -;MediaSerialNumber bit 34 -;MediaCardPassThrough bit 35 -;StreamingFeature bit 36 -;GpLogging bit 37 -;WriteFua bit 38 -;WriteQueuedFua bit 39 -;WWN64Bit bit 40 -;URGReadStream bit 41 -;URGWriteStream bit 42 -;ReservedForTechReport bit 43..44 -;IdleWithUnloadFeature bit 45 -;Reserved4 bit 46..47 -CommandSetActive BLOCK 6 ; 85 +;ZonedCapabilities bit 0..1 +;NonVolatileWriteCache bit 2 +;ExtendedUserAddressableSectors bit 3 +;DeviceEncryptsAllUserData bit 4 +;ReadZeroAfterTrim bit 5 +;Optional28BitCommands bit 6 +;IEEE1667 bit 7 +AdditionalSupported_low BYTE ; 69 138 -UltraDMASupport BYTE ; 88 -UltraDMAActive BYTE -; USHORT TimeRequired : 15 -; USHORT ExtendedTimeReported : 1 -NormalSecurityEraseUnit WORD ; 89 -; USHORT TimeRequired : 15 -; USHORT ExtendedTimeReported : 1 -EnhancedSecurityEraseUnit WORD ; 90 +;DownloadMicrocodeDma bit 8 +;SetMaxSetPasswordUnlockDMA bit 9 +;WriteBufferDMA bit 10 +;ReadBufferDMA bit 11 +;DeviceConfigIdentifySetDMA bit 12 +;LPSAERC bit 13 +;DeterministicReadAfterTrim bit 14 +;CFastSpec bit 15 +AdditionalSupported_high BYTE ; 139 +ReservedWords70 BLOCK 10 ; 70 140 +QueueDepth WORD ; 75 150 +SerialAtaCapabilities DWORD ; 76 152 +SerialAtaFeaturesSupported WORD ; 78 156 +SerialAtaFeaturesEnabled WORD ; 79 158 +MajorRevision WORD ; 80 160 +MinorRevision WORD ; 81 162 + +;SmartCommands bit 0 +;SecurityMode bit 1 +;RemovableMediaFeature bit 2 +;PowerManagement bit 3 +;Reserved1 bit 4 +;WriteCache bit 5 +;LookAhead bit 6 +;ReleaseInterrupt bit 7 +;ServiceInterrupt bit 8 +;DeviceReset bit 9 +;HostProtectedArea bit 10 +;Obsolete1 bit 11 +;WriteBuffer bit 12 +;ReadBuffer bit 13 +;Nop bit 14 +;Obsolete2 bit 15 +;DownloadMicrocode bit 16 +;DmaQueued bit 17 +;Cfa bit 18 +;AdvancedPm bit 19 +;Msn bit 20 +;PowerUpInStandby bit 21 +;ManualPowerUp bit 22 +;Reserved2 bit 23 +;SetMax bit 24 +;Acoustics bit 25 +;BigLba bit 26 +;DeviceConfigOverlay bit 27 +;FlushCache bit 28 +;FlushCacheExt bit 29 +;WordValid83 bit 30..31 +;SmartErrorLog bit 32 +;SmartSelfTest bit 33 +;MediaSerialNumber bit 34 +;MediaCardPassThrough bit 35 +;StreamingFeature bit 36 +;GpLogging bit 37 +;WriteFua bit 38 +;WriteQueuedFua bit 39 +;WWN64Bit bit 40 +;URGReadStream bit 41 +;URGWriteStream bit 42 +;ReservedForTechReport bit 43.44 +;IdleWithUnloadFeature bit 45 +;WordValid bit 46..47 +CommandSetSupport BLOCK 6 ; 82 164 + +;SmartCommands bit 0 +;SecurityMode bit 1 +;RemovableMediaFeature bit 2 +;PowerManagement bit 3 +;Reserved1 bit 4 +;WriteCache bit 5 +;LookAhead bit 6 +;ReleaseInterrupt bit 7 +;ServiceInterrupt bit 8 +;DeviceReset bit 9 +;HostProtectedArea bit 10 +;Obsolete1 bit 11 +;WriteBuffer bit 12 +;ReadBuffer bit 13 +;Nop bit 14 +;Obsolete2 bit 15 +;DownloadMicrocode bit 16 +;DmaQueued bit 17 +;Cfa bit 18 +;AdvancedPm bit 19 +;Msn bit 20 +;PowerUpInStandby bit 21 +;ManualPowerUp bit 22 +;Reserved2 bit 23 +;SetMax bit 24 +;Acoustics bit 25 +;BigLba bit 26 +;DeviceConfigOverlay bit 27 +;FlushCache bit 28 +;FlushCacheExt bit 29 +;Resrved3 bit 30 +;Words119_120Valid bit 31 +;SmartErrorLog bit 32 +;SmartSelfTest bit 33 +;MediaSerialNumber bit 34 +;MediaCardPassThrough bit 35 +;StreamingFeature bit 36 +;GpLogging bit 37 +;WriteFua bit 38 +;WriteQueuedFua bit 39 +;WWN64Bit bit 40 +;URGReadStream bit 41 +;URGWriteStream bit 42 +;ReservedForTechReport bit 43..44 +;IdleWithUnloadFeature bit 45 +;Reserved4 bit 46..47 +CommandSetActive BLOCK 6 ; 85 170 +UltraDMASupport BYTE ; 88 176 +UltraDMAActive BYTE ; 177 + +;USHORT TimeRequired : 15 +;USHORT ExtendedTimeReported : 1 +NormalSecurityEraseUnit WORD ; 89 178 + +;USHORT TimeRequired : 15 +;USHORT ExtendedTimeReported : 1 +EnhancedSecurityEraseUnit WORD ; 90 180 + +CurrentAPMLevel BYTE ; 91 182 +ReservedByte183 BYTE ; 183 +MasterPasswordID WORD ; 92 184 +HardwareResetResult WORD ; 93 186 +CurrentAcousticValue BYTE ; 94 188 +RecommendedAcousticValue BYTE ; 189 +StreamMinRequestSize WORD ; 95 190 +StreamingTransferTimeDMA WORD ; 96 192 +StreamingAccessLatencyDMAPIO WORD ; 97 194 +StreamingPerfGranularity DWORD ; 98 196 +Max48BitLBA BLOCK 8 ; 100 200 +StreamingTransferTime WORD ; 104 208 +DsmCap WORD ; 105 210 -CurrentAPMLevel BYTE ; 91 -ReservedByte183 BYTE -MasterPasswordID WORD ; 92 -HardwareResetResult WORD ; 93 -CurrentAcousticValue BYTE ; 94 -RecommendedAcousticValue BYTE -StreamMinRequestSize WORD ; 95 -StreamingTransferTimeDMA WORD ; 96 -StreamingAccessLatencyDMAPIO WORD ; 97 -StreamingPerfGranularity DWORD ; 98 -Max48BitLBA BLOCK 8 ; 100 -StreamingTransferTime WORD ; 104 -DsmCap WORD ; 105 ;LogicalSectorsPerPhysicalSector : 4 ;Reserved0 : 8 ;LogicalSectorLongerThan256Words : 1 ;MultipleLogicalSectorsPerPhysicalSector : 1 ;Reserved1 : 2 -PhysicalLogicalSectorSize WORD ; 106 -InterSeekDelay WORD ; 107 -WorldWideName[4] BLOCK 8 ; 108 -ReservedForWorldWideName128[4] BLOCK 8 ; 112 -ReservedForTlcTechnicalReport WORD ; 116 -WordsPerLogicalSector[2] DWORD ; 117 +PhysicalLogicalSectorSize WORD ; 106 212 +InterSeekDelay WORD ; 107 214 +WorldWideName[4] BLOCK 8 ; 108 216 +ReservedForWorldWideName128[4] BLOCK 8 ; 112 224 +ReservedForTlcTechnicalReport WORD ; 116 232 +WordsPerLogicalSector[2] DWORD ; 117 234 + ;ReservedForDrqTechnicalReport : 1 ;WriteReadVerify : 1 ;WriteUncorrectableExt : 1 @@ -234,7 +250,8 @@ WordsPerLogicalSector[2] DWORD ; 117 ;ExtendedPowerConditions : 1 ;Reserved0 : 6 ;WordValid : 2 -CommandSetSupportExt WORD ; 119 +CommandSetSupportExt WORD ; 119 238 + ;ReservedForDrqTechnicalReport : 1 ;WriteReadVerify : 1 ;WriteUncorrectableExt : 1 @@ -245,11 +262,11 @@ CommandSetSupportExt WORD ; 119 ;ExtendedPowerConditions : 1 ;Reserved0 : 6 ;Reserved1 : 2 -CommandSetActiveExt WORD ; 120 +CommandSetActiveExt WORD ; 120 240 -Reserved121 BLOCK 12 ; 121 -MsnSupport BYTE ; 127 -ReservedByte255 BYTE +Reserved121 BLOCK 12 ; 121 242 +MsnSupport BYTE ; 127 254 +ReservedByte255 BYTE ; 255 ;SecuritySupported : 1 ;SecurityEnabled : 1 @@ -260,18 +277,19 @@ ReservedByte255 BYTE ;Reserved0 : 2 ;SecurityLevel : 1 ;Reserved1 : 7 -SecurityStatus WORD ; 128 +SecurityStatus WORD ; 128 256 + +ReservedBlock129 BLOCK 62 ; 129 258 -ReservedBlock129 BLOCK 62 ; 129 ;MaximumCurrentInMA : 12 ;CfaPowerMode1Disabled : 1 ;CfaPowerMode1Required : 1 ;Reserved0 : 1 ;Word160Supported : 1 -CfaPowerMode1 WORD ; 160 +CfaPowerMode1 WORD ; 160 320 -ReservedBlock161 BLOCK 14 ; 161 -NominalFormFactor WORD ; 168 +ReservedBlock161 BLOCK 14 ; 161 322 +NominalFormFactor WORD ; 168 336 struct {