Introduction
SATA disk drives may have features which can be enabled or disabled. Some examples of SATA drive features are Write Cache enable/disable, Acoustic Management enable/disable with levels, Free-fall control enable/disable, etc. See the table at the end of this article for a current list of SATA FEATURES – as of the ATA-8 specification. Note – your drive may or may not implement all features. Refer to each individual drive’s IDENTIFY information to determine what features are implemented.
Two types of Features
The various Features are referred to by their FEATURE CODE.
There are two types of features which can be set.
The first are features which can simply be enabled or disabled. Write Cache is an example of this type of feature. There is one FEATURE CODE (0x02) to enable write cache, and another FEATURE CODE (0x82) to disable write cache.
The second type are features which can be enabled or disabled and also have levels which can be specified. For instance, the Advanced Power Management (APM) feature can not only be enabled or disabled, but the level of power management can be adjusted from a minimum setting to a maximum setting. In the case of the APM level setting the drive will likely have different performance based on the APM level set.
When a Feature has a level associated with it that level will be specified in the COUNT field of the SET FEATURES command.
The SET FEATURES command
The SET FEATURES command is a SATA, 28-bit, non-data command. The specific Feature to be set is specified in the commands FEATURE field, while the level of the Feature to be set is specified in the COUNT field, if applicable. As we have covered in previous articles and papers, sending a SATA command to a disk drive can be a complicated matter. Fortunately we have taken care of the details for you by writing a special executable program that will be called as a DMM test step.
DMM External Program Test Step
The program “DMMSetFeatures.exe” is used to incorporate SATA SET FEATURE manipulation into your test environment. To use this program simply follow these simple steps:
- Copy the program “DMMSetFeatures.exe” into the root folder of your STB Suite test system.
- In the DMM Test Setup menu tab click on the “External Program” test step
- DMM will pop up a window for you to enter External Program Command Line Parameters. Enter the FEATURE code, and if the feature has an associated level count enter a comma and then the count value. For example – to set the AMM feature to a level of 0xFE you would enter “42,FE” (of course without the quotes) in the Command line parameter field.
- Click OK to close the Command Line Parameter window.
- Click on the Browse button next to the Download File/External Program Executable edit field. Browse to and select the program “DMMSetFeatures.exe”
- Click on the “Add This Test to Test Sequence” button to add the test step to the sequence
- Repeat steps 2-6 if you have more than one Feature you want set
Log Results
Each drives .log file will show the results (pass or fail) of the SET FEATURE command, along with what the FEATURE and COUNT values were set to.
Here is an example of a log showing one SET FEATURE command which succeeded, and another which failed (we specified an illegal FEATURE code)
Important Notes:
The DMMSetFeatures program lets you enter any value into the FEATURE CODE or COUNT field, including illegal or invalid values. Take care to only enter valid values
Also – the program DMMSetFeatures changes one Feature at a time. If you need to change multiple Features during a test session follow the instructions and enter each Feature separately.
Getting the program
If you have current Performa coverage you are entitled to get and use the program. Contact Jeremy Wolfe at jeremyw@scsitoolbox.com to request the program