ATACT - 一個隨機位置和隨機數據讀/寫測試ATA硬碟,但它也發出了其他"標準"ATA命令,包括電源管理命令。ATACT易於安裝和使用。該程式能夠測試一個或兩個ATA硬碟,並且可以運行很長一段時間。不同於大多數的錯誤,包括類型的信息,通常只使用ATA bus analyzer,但ATACT卻能夠提供更詳細的錯誤報告。
Note:如果你正在測試SATA設備,你真的應該使用AHCCMDT。
ATACT使用所有的ATA強制命令和一些可選的命令(如果設備支持)來測試,ATACT預計完全支持ATA-x和ATA/ATAPI-x設備標準,包括 大量數據轉換、改變為CHS幾何形狀和sectors per multiple block、啟用/禁用、讀/寫、緩存和具有未被破壞數據的不尋常命令列。
支援48位元的LBA命令,使在PIO和DMA模式下數據傳輸速度高達65536sectors。ATACT支援廣泛的PCI Bus Mastering ATA主機適配器,和所有的PCMCIA PC Card ATA I/O 和內存接口模式。
ATACT已被更新為可支援Serial ATA (SATA)設備。SATA似乎有很多的問題但ATACT似乎可以找到更多,這些問題出現超時錯誤、數據損壞錯誤等。如果你正在測試SATA ATA設備,你一定會需要STACT!
ATACT使用Hale Landis驅動低的ATADRVR標準ATA/ATAPI。ATACT是一個商業產品,你或你的公司必須購買一個Ccopy的程式。因為試用版的功能較少,僅適用於評估程式使用。
試用版限制了以下功能:
- 運行時間限制不得超過60分鐘
- 設備大小限制為4000000(4M)sectors
- 沒有電源管理命令被執行
- 任何設備錯誤中,有限的訊息顯示在日誌文件中
NOTE: ATACT是舊版的Parallel ATA (PATA)和CompactFlash (CF)測試應用程式。如果你是要測試Serial ATA (SATA)設備,你需要使用AHCCMDT。ATACT 第5A0版"可能"會是ATACT的最後一個更新版本。
ATACT Bugs
Usage of command line options P0, P1, S0 and S1 - (without the PCI bus numbers b:d:f) will disable the use of read/write DMA commands. This was initially entered as a bug in version 4N but it is not a bug. When the PROMPT option was added, the functionality of these options was changed but the User Guide and history files did not indicate this change. When using version 4N (and future versions) use either the b:d:f:x option, or the PROMPT option, then use of the read/write DMA commands will be possible. |
BUG in version 4N: CF devices implementing DMA commands - If a CF device implements READ/WRITE DMA commands, ATACT may generate only READ DMA commands. Version 4N doesn't actually support READ/WRITE DMA on CFA devices. Versions 4P and higher will correctly support these commands (only in TrueIDE mode). |
ATACT Suggestions
SEQ=N vs. SEQ=WRN option and data compare errors: Running ATACT with SEQ=N (the program's default) can make locating the source of data compare problems more difficult to find in the drive's hardware and/or firmware. Use SEQ=WRN to see if the problem that can be found using only a write pass followed by a read pass. If there are no data compare errors, then use SEQ=N -- It is possible that more random write/read and other randomly executed commands, such as the power management commands, are required to create the data compare error. |
MAXSIZE and MINLBA options: Use these options to test less than the full drive. For example, if you have a drive with 400M sectors (about 200GB) you could use these options to test the first 10GB (about 20M sectors), the middle 10GB or the last 10GB:
|
The DUMPCHT option - finding data compare errors that happen during the SEQ=R pass: When using SEQ=WRN you are getting a data compare error during the SEQ=R pass that seems to have happened during the SEQ=W pass. Of course the write commands that caused the problem are no longer in the Commmand History Trace (CHT). But every sector that is written contains the command number that wrote the sector. For example, when some sector is read it contains the wrong data (the data for some other LBA) - using the command number in this incorrect sector, rerun the program with the same command line options and add the DUMPCHT=n option, where n is about 30 more than the command number in the sector with the incorrect data. This will cause the Command History Trace (CHT) to be displayed during the SEQ=W pass at the write command about 30 commands following the command that wrote the bad data. Of course DUMPCHT=n can be using at other times, not just to find problems in a SEQ=W pass. |
ATACT requires the following basic system and test devices:
- A x86 system, 386 or faster, with 640K of memory, a floppy disk drive and monochrome or color display.
- An simple ATA host adapter at the primary (1FxH/3F6H with IRQ 15) or secondary (17xH/376H with IRQ 14) addresses -or- a PCI Bus Mastering ATA host adapter -or- a PCMCIA PC Card ATA device in Primary I/O, Secondary I/O, Contiguous I/O or Memory mode.
- MS-DOS (or PC-DOS) 5.x or higher.
- One or two ATA hard disk drives to be tested. If only one ATA hard disk is tested, the second device may be an ATAPI CD-ROM device. If a PC Card ATA device is used, only that one device can be tested.
- The ATA hard disk drive must support LBA28 sector addressing. Support for CHS and LBA48 sector addressing is optional. Note that an ATA device is required to have at least 1000 sectors.
- The devices to be tested should NOT be setup in the system BIOS setup and should not be known to DOS.
The system may contain a SCSI host adapter and SCSI hard disk drive to boot the system and run DOS. ATACT should not interfere with SCSI operations. The SCSI host adapter must have any "ATA task file emulation" feature disabled.
ATACT supports the following test device configurations:
Device 0 Device 1
-------- -------
ATA none
ATA ATAPI CD-ROM
none ATA
ATAPI CD-ROM ATA
ATA ATA
PC Card ATA
A PC Card ATA device can be configured for any of the standard PC Card ATA device modes. Only device 0 exists in PC Card ATA modes.
AHCCMDT | AHCCMDT is a write/read with compare test for Serial ATA devices. AHCCMDT also randomly issues most other ATA commands including power managment and SATA Partial and Slumber. AHCCMDT supports write/read command sector counts of 1 to 65536 and logical sector sizes from 512 to 32768 bytes. | An x86 PCI bus system with at least 1GB of memory, at least one AHCI SATA host controller. Intel AHCI host controllers are recommended. |
AHCDEMO | AHCDEMO is able to execute any ATA/ATAPI command, using the standard ATA/ATAPI command protocols, from keyboard input or script file input. Perform write/read tests with data compare using only a few simple commands. Script files support IF/ELSE logic, CALL/RETURN for subroutines, WHILE loops, built-in and user defined variables and much more. AHCDEMO supports most SATA specific features such as Partial/Slumber, COMRESET, and NCQ/FPDMA. | An x86 PCI bus system with at least 1GB of memory, at least one AHCI SATA host controller. Intel AHCI host controllers are recommended. |
AHCNCQT | AHCNCQT is a write/read with compare test for Serial ATA NCQ (FPDMA) commands. The goal of AHCNCQT is to maintain a full queue of 32 NCQ (FPDMA) commands in a device. AHCNCQT supports write/read command sector counts of 1 to 65536 and logical sector sizes from 512 to 32768 bytes. | An x86 PCI bus system with at least 1GB of memory, at least one AHCI SATA host controller that supports NCQ (FPDMA). Intel AHCI host controllers are recommended. |
ATADEMO |
ATADEMO is able to execute any ATA/ATAPI command, using the standard ATA/ATAPI command protocols, from keyboard input or script file input. Perform write/read tests with data compare using only a few simple commands. Script files support IF/ELSE logic, CALL/RETURN for subroutines, WHILE loops, built-in and user defined variables and much more. Note: If you are testing SATA then you really should be using AHCDEMO. |
One or two ATA or ATAPI devices on the same ATA channel,devices may be PATA or SATA,-or- one PCMCIA PC Card ATA or CompactFlash (CF). |
ATACT | ATACT is a basic write/read with compare test. But ATACT also uses most of the ATA commands, such as power management. | One ATA or two ATA or one ATA and one ATAPI, both devices must be on the same ATA channel, devices may be PATA or SATA, -or- one PCMCIA PC Card ATA or CompactFlash (CF). |
ATADEMO | ATADEMO is able to execute any ATA/ATAPI command, using the standard ATA/ATAPI command protocols, from keyboard input or script file input. Perform write/read tests with data compare using only a few simple commands. Script files support IF/ELSE logic, CALL/RETURN for subroutines, WHILE loops, built-in and user defined variables and much more. | One or two ATA or ATAPI devices on the same ATA channel, devices may be PATA or SATA, -or- one PCMCIA PC Card ATA or CompactFlash (CF). |
NVMEQRWT | NVMEQRWT is a random and sequential read/write command test using up to 15 read/write queues and up to 32 commands per queue. | An x86 PCI bus system with at least 1GB of memory, at least one NVME controller. |
NVMETEST | NVMETEST is able to execute all mandatory NVME commands and Vendor Unique commands from keyboard input or script file input. Perform write/read tests with data compare using only a few simple commands. Script files support IF/ELSE logic, CALL/RETURN for subroutines, WHILE loops, built-in and user defined variables and much more. |
An x86 PCI bus system with at least 1GB of memory, at least one NVME controller. |