STB Suite

9.3

STB Suite version 9.3 Release Notes

 

DMM:

Fixes/Changes:

  1. When retrieving Log Page/Parameter data for test thresholds that longer than 4 bytes, correctly retrieve all bytes
  2. Use only the low-order byte of SMART att 194 (temperature) due to some Hitachi drives having unidentified data in the other bytes.
  3. Update SATA SMART attribute definitions – added:
    1. Attribute 22 – “Current Helium Level”
    2. Attribute 176 – “Erase Fail Count”
    3. Attribute 190 – “Airflow Temperature Or Temp Difference from Att 100
    4. Attribute 210 – “Vibration During Write”
    5. Attribute 231 – “Temperature Or SSD Life Left”
    6. Attribute 232 – “Endurance Remaining Or Available Reserved Space”
    7. Attribute 240 – “ Head Flying Hours Or Transfer Error Rate”
    8. Attribute 243 – “Total LBAs Written Expanded”
    9. Attribute 244 – “Total LBAs Read Expanded”
    10. Attribute 251 – “Minimum Spares Remaining”
    11. Attribute 252 – “Newly Added Bad Flash Block”

 

 

New Features/Tests:

    1. Added new error option on Advanced Options Page to “Ignore Error but also log the error”
    2. Change 3-PAss DoD purge to “1-Pass DoD/NIST” per
      http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-88r1.pdf
      SATA/SATA Drives (above document, page 32)-

      SCSI/SAS/FC Drives (above document, page 33)-
    3. Updated default Purge Template file to conform to NIST SP 800-88 Rev. 1 “Guidelines for Media Sanitization” Appendix G
    4. Added Two new Purge Certificate template variables –
      1. “X” inserts text from Test Start “Test Loop Count” dialog – “..any other information “ field
      2. “O” inserts text from Test Start “Test Loop Count” dialog – “..operator Name“ field

      Variables for use in Purge Certificate Templates:
      %d       prints time and date
      %v       prints SCSI VENDOR data
      %p       prints SCSI PRODUCT data
      %r        prints SCSI VERSION data
      %s       prints SCSI serial number
      %a       prints SCSI target address
      %c       prints capacity
      %n       prints name of last test run
      %f        prints a form feed
      %e       prints test error count
      %k       prints SCSI Sense information
      %o      prints Operator Name field entry from DMM Start Test dialog
      %x        prints “Other information field entry from DMM Start Test dialog

    5. New “SkipY” Test Access Methods for WriteSame test command

The following two new DMM test access methods address the growing problem of drive capacities being so large that testing the entire drive can become impossible – there just isn’t enough time in a day.

These two new access methods allow you to either:

      • Tell the test how much time you can allow the test to run. The test will then:
        • Access blocks, then
        • Skip blocks

In order to test as much of the drive as possible. These access methods are adaptive in that they will measure the actual transfer rate being achieved by the test and will adapt to insure that the most blocks possible will be tested.

Also note: these new access methods are intelligent in that they do not just test the first n percent of the drive, but will spread the testing across the entire block range of the drive.

So, for example, if you specify to test 15% of the drive the test will NOT just test the first 15% of the drives blocks, but will spread the testing across the entire drive surface. This insures that ALL areas of the drives will be tested, within the parameters of the test.

In the same way, testing by time (telling the test “take up to 3 hours to test this drive” will also NOT just start at the beginning of the drive and test sequentially until the time is up, but will spread the tested blocks over the entire block range of the drive.

 

The first of these two new access methods uses the DMM external program “WriteSameScsi” and “WriteSameSata” tests, while the second version uses the DMM for Write, Read, Write/Read, Verify, and WriteVerify Tests.

 

Each new method is described below:

 

SkipY can also be used with the DMM external program “WriteSameScsi” and “WriteSameSata”.  Recall that in order to use say WriteSameScsi you select the ‘Type of Test’ of “Extern. Step” and then type in the name ‘writesamescsi’ in the edit box labelled “Download File/External Progbram Executable” (see the pic below):

When you select ‘Type of Test’ of “Extern. Step” a dialog will appear so that you can enter the pattern you want to use with the WriteSame command.  In the new STB version 9.3.0 you can also specify how long you want the test to take.  See the picture below for an example:

Notice the new command line parameter “hours=0.5”.  You can enter any number of hours that suites your needs, so for example you can enter “pattern=decrementing,hours=3.2” (i.e. have the test run for 3.2 hours), or “pattern=incrementing,hours=1.25” (i.e. have the test run for 1.25 hours).  What the WriteSameScsi external program will do is to “Write X blocks, Skip Y blocks” and the skipping factor will be chosen so that the test takes the desired amount of time!

After the test is done, here’s what the logfile looks like – note the detailed information given such as the exact number of blocks written, the exact number of blocks skipped, and the total number of blocks on the drive, and the percent of the drive written.

 

07/25/2016  11:15:14  TEST 1 of 1:

External Program Test, executable = writesamescsi
Stop-on-Error Type: Stop Current Test
String Data from the External Program follows:

WriteSameScsi Wrote: 492,306,432 Blocks, Skipped: 7,321,730,736 Blocks, Percent Written: 6.30%,
Cap: 7,814,037,168 Blocks,
Transfer Rate: 133.10 MB/sec,
Cmd Line Parameters: pattern=walkingones,hours=.5

 

07/25/2016  11:45:22  Worker ID: 1

07/25/2016  11:45:22  Test Completed Successfully

 

07/25/2016  11:45:22                                                 PASSED

——————————————————————————

 

The exact same procedure for using the WriteSameSata external program is used.  See the picture below:

 

Notice in the above picture we again select ‘Type of Test’ set to “Extern. Step” and for the “Download File/External Program Executable” we enter “writesamesata”.

Here’s is a logfile example for running the “writesamesata” external program:

07/26/2016  10:38:49  TEST 1 of 1:

External Program Test, executable = writesamesata
Stop-on-Error Type: Stop Current Test
String Data from the External Program follows:

 

WriteSameSATA Wrote: 382,730,240 Blocks, Skipped: 7,431,306,928 Blocks, Percent Written: 4.90%,

Cap: 7,814,037,168 Blocks,
Transfer Rate: 103.65 MB/sec,
Cmd Line Parameters: pattern=walkingones,hours=0.5

 

07/26/2016  11:08:52  Worker ID: 1
07/26/2016  11:08:52  Test Completed Successfully
07/26/2016  11:08:52                                                 PASSED
——————————————————————————

 

 

  1. New “SkipY” Test Access Method for Write,Read,Write/Read,Verify, & Write/Verify TestsThe new Access Method “SkipY” allows the user to write “X blocks” to the drive, and then skip “Y blocks”.  There are two ways you can use the SkipY functionality, which we cover in detail below.Using SkipY in DMM for Write, Read, Write/Read, Verify, and WriteVerify Tests 

    Along with the previous access methods “random”, “sequential”, “butterfly”, and “CPAM”, the 9.3 release now has the “SkipY” access method.  Here is the new screen that will appear in version 9.3:

     

    With SkipY, you specify what percentage of the drive you want to test – using thi percentage the software will compute how much “skipping” is to be done so that the desired percentage of the drive is tested.  The lower the percentage, the more skipping is require; on the other hand the higher the percentage the less skipping is done.

    Let’s set up a Write Test using the SkipY access method, where we want to test 7% of the drive.  See the pic below – notice in the “Stop Test After” you have the “Time” option, the “Blocks” option, and also the “%” option.  Make sure you click the “%” option and then enter the number “7”.

    Now click the “Add This Test to Test Sequence” button.  Let’s go ahead and also add a “Read” test using the SkipY access method.

    If you now click the “View Test Sequence Details” button, you can get all the information on the tests that you have added.  See the pic below:

    Notice in the above pic, for our first test, the Write test, it indicates the access method is “Write-X, Skip-Y Access” – due to space limitations on the screen the access method is shown as “SkipY”, but the way the SkipY access method should be thought of is that you are writing X blocks, skipping Y blocks, then writing X blocks, then skipping Y blocks, and so on, until the entire drive is done, skipping just the right amount so that 7% of the drive is written to (and hence 93% of the drive is skipped).

    After running the above tests, here’s what the logfile looks like (the drive tested has 500,000,000 blocks so 7% of 500,000,000 is exactly 35,000,000 and the test indicates that 35,000,000 blocks were written, while 465,000,000 blocks were skipped).

    07/25/2016  09:23:30  TEST 1 of 2:

    Write Test; Write-X, Skip-Y Access; for 7 Percent of Drive
    Fixed-Length Transfers of 128 (0x0080) Blocks
    Start Block: 0
    Data Pattern: Decrementing
    Queue Depth = 1
    FUA = OFF
    Number of Workers = 1
    Stop-on-Error Type: Stop Current Test

    07/25/2016  09:36:02  Worker ID: 1

    07/25/2016  09:36:02  Test Completed Successfully

    Time for test: 12 Min, 32 Sec, 103 ms
    Transfer Rate: 22.72 MB/sec
    I/O Per Second: 363.56 IO/sec
    Number of Blocks Transferred: 35,000,000
    Number of Blocks Skipped: 465,000,000
    Fastest Command Completion Time: 0.371 ms
    Slowest Command Completion Time: 111.365 ms
    Average Command Completion Time: 2.741 ms
    Standard Deviation of Command Completion Times: 2.784 ms

     

    07/25/2016  09:36:02                                                 PASSED

    ——————————————————————————

    07/25/2016  09:36:02  TEST 2 of 2:

    Read Test; Write-X, Skip-Y Access; for 7 Percent of Drive
    Fixed-Length Transfers of 128 (0x0080) Blocks
    Start Block: 0
    Data Pattern: Decrementing; Data Compare ON
    Queue Depth = 1
    FUA = OFF
    Number of Workers = 1
    Stop-on-Error Type: Stop Current Test

     

    07/25/2016  10:00:37  Worker ID: 1

    07/25/2016  10:00:37  Test Completed Successfully

    Time for test: 24 Min, 34 Sec, 745 ms
    Transfer Rate: 11.59 MB/sec
    I/O Per Second: 185.41 IO/sec
    Number of Blocks Transferred: 35,000,000
    Number of Blocks Skipped: 465,000,000
    Fastest Command Completion Time: 0.403 ms
    Slowest Command Completion Time: 238.601 ms
    Average Command Completion Time: 5.366 ms
    Standard Deviation of Command Completion Times: 0.942 ms

     

    07/25/2016  10:00:37                                                 PASSED

    ——————————————————————————

     

    Let’s now address the issue of what happens if you incorrectly use the SkipY access method.  There are three things that have to happen for SkipY to be used correctly: it must be done with a Write Test, Read Test, Write/Read Test, Verify Test, or WriteVerify Test.  It must be done by “%” (i.e. the “Stop Test After” radio button must be set to “%”.  And the third requirement is it must be done with fixed blocks (i.e. the “Fixed/Random Transfer Length” radio button must be set to “Fixed”).  If any of the above 3 requirements are not fulfilled, the test will fail with error.  Here’s what the logfile will say for each of the requirements:

     

    IF the wrong test is used, the logfile will indicate so:

    07/25/2016  16:24:48  Error On Params Passed

     

     Invalid Param Reason: WriteX-SkipY requires a Write, Read, Write/Read, Verify, or WrVer Test

    07/25/2016  16:24:48                                              *** FAIL ***

    ——————————————————————————

     

    IF the wrong “Stop Test After” is used, the logfile will indicate so:

    07/25/2016  16:24:48  Error On Params Passed

     

    Invalid Param Reason: WriteX-SkipY requires test to be done by percent

    07/25/2016  16:24:48                                              *** FAIL ***

    ——————————————————————————

    IF the wrong “Fixed/Random Transfer Length” is used, the logfile will indicate so:

    07/25/2016  16:24:48  Error On Params Passed

     

    Invalid Param Reason: WriteX-SkipY requires fixed length transfers

    07/25/2016  16:24:48                                              *** FAIL ***

    ——————————————————————————

 

 

 

 

 

 

 

STB – “Original Mode”:

Fixes/Changes:

  1. Correctly retrieve all the sense data available (not just the first 18 bytes)
  2. Correctly issue the Inquiry command for LUN <> 0
  3. Update SATA SMART attribute definitions – added:
    1. Attribute 22 – “Current Helium Level”
    2. Attribute 176 – “Erase Fail Count”
    3. Attribute 190 – “Airflow Temperature Or Temp Difference from Att 100
    4. Attribute 210 – “Vibration During Write”
    5. Attribute 231 – “Temperature Or SSD Life Left”
    6. Attribute 232 – “Endurance Remaining Or Available Reserved Space”
    7. Attribute 240 – “ Head Flying Hours Or Transfer Error Rate”
    8. Attribute 243 – “Total LBAs Written Expanded”
    9. Attribute 244 – “Total LBAs Read Expanded”
    10. Attribute 251 – “Minimum Spares Remaining:
    11. Attribute 252 – “Newly Added Bad Flash Block”
  4. Fix SAS/SCSI/FC Change Capacity to work with drives with >= 4,294,967,295 blocks

 

 

DME/AME:

Fixes/Changes:

  1. AME: When a device on a HBA can not be tested, we no longer stop all testing, but simply remove that device from the list of devices to be tested (fixed 160322)

 

DTB:

New Features:

  1. LinuxPSSL: Added external program test “WriteSameScsi” to the available internal external programs
  2. LinuxPSSL: Added access method CPAM
  3. LinuxPSSL: Added Test Thresholds
  4. LinuxPSSL: AddedCPAM access method
  5. LinuxPSSL :Added External Program WriteSameSCSI