STB Suite

November 2014

In this Issue:


9.1 is coming!

9.1 Release NotesSo many changes we can’t fit them in our newsletter!

With SMART enhancements, Buffer File Operation improvements and ACS-4 specification considerations to get started. The Original mode added the ability to recover SE Locked Drive to Disk as well as SANITIZE operations being implemented by disk drive manufacturers. Updated Quick Commands, SATA Device Reset, Quick Drive Profile Test, DST results in View Log Pages (Page 10), SATA Feature Set Function updated, User Defined CDB and Build/Run Script now uses new CDB file functions.

DMM Pre (and Post) Test Actions Tab changed. Warning for Write/Read Write/Verify. Purge Test Steps added 3-Pass Method, SATA SECURITY ERASE, and SANITIZE! In addition, DMM now generates a Purge Certificate that can be customized with customizable fields! Disk Manufacturing and Screening Module also includes multiple workers and an option to delay between commands. Also, DMM now has the option to save your tests as a Quick Test Feature – Super Handy!

Read the Full 9.1 Release Notes with Screenshots here



Updated Build/Run Script

Updated Build/Run Script


The new (STB Suite version 9.0.2 beta 140924) Build/Run Script and User Defined CDB functions now allow a data “action” to be stored in the CDB definition.

When the CDB is executed, either via User Defined CDB or Build/Run Script, the appropriate action will take place.

New CDB Definition

The following are added to the User Defined CDB dialog-

1. Data/Buffer File Functions

  1. Ignore Data
  2. Save Data to File
  3. Load Data from File
  4. Increment File Name
  5. File Name

New Actions

Ignore Data

Checking Ignore Data (the default setting) will issue the CDB and do nothing with the data from the DATA PHASE.

Save Data to File

The Save Data to File option will issue the CDB and then save the data from a DATA IN phase to the file specified in the File Name field after the CDB is issued. The number of bytes of data saved is equal to the value set in the User Defined CDB dialog Transfer Length field. Data is stored in pure binary format.

In this example we have defined a 6-Byte INQUIRY CDB, choosing to save the DATA IN data to the file named MyInqData.bin. Note that we have checked the Incr File Name box. Now if we set the CDB Repeat Count to >1 each time the data is saved the file name will be incremented.

If we set Repeat Count to 3 we would end up with 3 data files – MyInqData.bin, MyInqData0.bin, & MyInqData2.bin.

Notes – the data to be saved will be taken from the selected Buffer (Buffer1 or Buffer 2).

Load Data from File

This option will load data from the specified file into the specified buffer before the CDB is issued.

In this example we take the data that we previously saved and load it into Buffer 2. Then the CDB is issued, in this case a WRITE-6 writing 512 bytes from Buffer 2 to LBA 0.

An Example Script

In this example we define a script with two steps

1. run a sequential write test from LBA 0 to LBA 100,000

2. Issue a WRITE CDB, loading the DATA OUT data from the file MyInqData.bin into Buffer 2

Here is our CDB definition:

And here is how the Build/Run Script dialog looks –


When we look at Buffer 1 we see that data which was used in the Sequential Write test –

When we look at Buffer 2 we see the data which was used by the WRITE CDB

See the Buffer 2 data and read the summary in the full article here.


BAM in the Scripting Environment!

BAM in the Scripting EnvironmentIntroduction

BAM (Bus Analyzer Module) is a software-based protocol or bus analyzer which is included in the STB Suite.

BAM can capture and display all I/O to or from any device(s) on your test system. It works with SAS/SCSI/FC, SATA, and USB interfaces.

A few key points which we will address here are:

  • ease of use
  • quick setup
  • how to confirm your Script is doing what you think it should

Setting up BAM

Getting started with BAM is very easy – just

1. Start BAM

using the desktop BAM Icon –

Figure 1 – BAM icon

Figure 2-BAM Main Screen

Select the drive(s) to monitor

Click on the Disk Drive icon on BAMs toolbar to select the drives you wish to monitor.

Select the Phases to capture

Click on the Gear icon on the toolbar to select the phase types you wish to capture. The defaults should be fine for capturing SAS/SCSI/FC traffic – here is the suggested setting:

Figure 3 – Add/Remove Phases

Set your capture size

Use the Data Size field to specify how much data per I/O you wish to capture. The default for this field is 512. If you are going to be capturing more than 512 bytes per I/O, for example if you are going to capture MODE SENSE data that is 2048 bytes long just enter 2048 in the Data Size.

Start your capture

Click on the Green Arrow on the toolbar to start the capture.

Stop the capture

Just click the red Stop sign icon to stop the capture

Look at your trace

All of your captured I/O is shown in the scrollable center section of BAM.

Save your trace

You can save your trace in either BAM format (so you can reload it and use BAMs analysis tools) or in a .csv format for display via a spreadsheet program. Use the BAM File-Save Raw Data or File-Save to Excel file


A Build/Run Script Example

For this example we defined a Script which does:

  1. an INQUIRY CDB which saves the INQ data to a file
  2. a Sequential Write test, starting at LBA 0 and running through LBA 100,000
  3. a WRITE CDB which uses the INQUIRY data from step 1 as the DATA OUT payload. We are trying to set this CDB up to use the Increment LBA feature of the User Defined CDB – here is the CDB setup

Figure 4 – Definition of WRITE CDB

Note – the CDB initially specifies LBA 0, and we have set up to repeat sending the CDB four times, each time incrementing the LBA fields in the CDB by 1.

Now we will use BAM to confirm that all of that worked as we expected it to.

Capture the I/O with BAM

Use the simple steps above to start BAM, select your drive, and start the trace capture. Then run your script from the STB Suite. When the script finishes click on the BAM red Stop sign to stop the capture

Examine the sequence of WRITE CDBs

As you can see, we did get four WRITE CDBs issued, and in fact the LBA field was incremented by one for each CDB.

Figure 5 – BAM trace showing WRITEs

Examine the data

Click on any of the Data phases associated with any of the WRITE CDBs, then click on the Raw Data tab to see that CDBs data phase data

You can use the Buffer/Edit Functions to save this data off to a file, etc.

See the rest of the BAM Data, Who sent the IO, and read the summary in the full article here.




Drive Information – Log Pages & Sense Data

Drive Information - Log Pages & Sense DataIntroduction

The main purpose of disk drives is to store and retrieve data. The important factors are capacity (store lots of data), data access speed (access the data quickly), and data integrity (the data you write is the data you read).

We will use the allegory of health as we look at Log Page and Sense data in this article.

As the drive does its job storing and retrieving data it keeps track of its health, or how well it is doing its job.

A healthy drive may show no or few occurrences of error correction or retries, while a sick drive may indicate that it has to frequently retry writes or reads.

A healthy drive will have a “normal” temperature, while a sick drive may have a fever.

A dying drive may show a trend of more and more errors.

All of these things will be reported by the drive via Log Page data and/or Sense Data.

Overall Health – Log Pages

As the drive is running it keeps track of things such as

  • are writes and reads happening “easily”?
  • has it been necessary to work harder to write/read (error correction or retries)?
  • what is my temperature?
  • have self-tests been run? How did they do?
  • are background scans running? How are they doing?
  • is my cache being used efficiently?
  • and more.

These things are all recorded in the drives Log Pages.

Structure of Log Pages

Log Pages are structured like this –

Log Page (General subject such as Read Errors)

  • Log Parameter – under the general subject, more specific.
  • Log Parameter n

For example, you probably will have Log Page 3 – the Read Errors Counter Page

Log Page 3- Read Error Counter Page

  • Parameter 0 = Errors corrected without substantial delays (ECC)
  • Parameter 1 = Errors corrected with possible delays (retries)
  • Parameter 2 = Total Re-reads
  • Parameter 3 = Total Errors corrected
  • Parameter 4=Total times corrections algorithm processed
  • Parameter 5=Total bytes processed
  • Parameter 6=Total errors uncorrected (hard errors)

The Log Page (3) is the general top level – Read Errors.

The Parameters under the Page are the details.

List of Log Pages

Log Pages are officially documented in the INCITS T10 Technical Committee (, and specific information can be found in the SBC (SCSI Block Command) and SPC (SCSI Primary Command) documents. See the Appendix to download these documents.

From the SBC-4 document, here is a list of Log Pages:

As you can see, there can be a wealth of information available to check up on the drives health.

How to read Log Pages using STB Suite

There are a number of ways to view a drives Log Pages using the STB Suite.

The first way is to use STB Original mode.

Select the drive you are interested in in the Device view, right-click on the drive and choose View Log Pages. You will see something similar to this:

STB asks the drive to report what Log Pages it has and displays them in the left side of the menu. You may see more or fewer Log Pages – each drive will report all the Log Pages it has.

Double-click on any Log Page and all of the Parameters under that Page will be displayed in the right side.

Here we double-clicked on Page 03, the Read Error Counter Page –

And you see all of the different Parameters and their values.

For the most part the Log Page/Parameter values will increment up or accumulate, usually until they are reset.

In the disk testing environment this allows you to

  • Clear the Log Pages – set all values back to zero
  • run some tests…
  • View the Log pages and see what happened during your test.

In this way you can start your test with all Log page data zero’d out. You run your test, then look at the Log Pages again. All Log Page/Parameters will show what happened during your test run.

If you are testing drives that come in from customers that are reported to have problems you can view and record all Log Pages so you have an indication of what state the drive was in as it came from the customer.

This can be very useful in troubleshooting the drive.

For example, let’s say you get a problem drive back from your customer. They just say “this drive fails in our RAID”.

You look at and save all Log Pages and note that there are a large number of uncorrected errors.

You clear the Log Pages – setting all Page/Parameter data back to zeros, then run your test using DMM.

You note that in your test environment the drive does not show uncorrected errors.

This might lead you to the conclusion that the drive itself in your test environment (steady power, known good cables/backplanes/etc, good cooling) doesn’t have the problems that your customer reported.

Perhaps the customer environment has cooling or vibration issues? Or perhaps the customer has a drive enclosure with a flakey drive slot?

Or perhaps your testing with DMM does show the same trend of lots of uncorrected errors.

Either way, Log Pages can help you determine if a reported problem is actually with the drive or instead is with the customers environment.

The second way to see Log Page data is to…

Double-click on the drive in the Device menu. This will bring up the Drive Information window. Choosing the Error Data tab will show the Write and Read error counter contents –

And the third way to work with Log Page data is in DMM, using the Save Log Pgs test step. When this test step is run in a DMM test sequence it will record all Log Page/Parameter data into the DMM .log file(s), in the same format as method # 1 above.

In addition, you can clear all Log Pages before you start testing in DMM. This is done either in the Pre-Test Actions by checking the Clear LOG PAGES box, or within a Test Sequence by using the Clear Log Pgs test step, or finally by setting the Post-Test Action Clear LOG PAGES check box.

Log Page Summary

The summary about Log Pages is

  • The drive records information about its health as it runs
  • this health information is stored in Log Pages

-You can gauge a drives health by examining Log Page data, in particular by looking at trends, such as a drive needed to do more and more retries in order to correctly read data.

Sick Drive – Sense Data

If the drive cannot complete a command correctly it will report its problem using Sense Data.

In particular, if a command results in a CHECK CONDITION, the computer will automatically issue a REQUEST SENSE command and the drive will return Sense Data describing the error.

Structure of Sense Data

Like Log Page data, Sense Data is reported by a hierarchy, in this case of three values –

Sense Key

Sense Code

Additional Sense Qualifier (ASQ)

Optional – “Information” data

The STB Suite will generally report Sense Data like this – 0x02/0x00/0x00 , in other words

Sense Key/Sense Code/ASQ.

As an example, Sense Data 02/04/01 is interpreted as “Not Ready, Logical Unit Not Ready, becoming ready”. In other words the drive is spun down and is in the process of spinning up.

As you can see Sense Data is very valuable when you are trying to determine the specifics of a drive error.

List of Sense Data

The list of Sense Key/Code/ASQ definitions is a large one. See the Appendix for a link to the documents showing Numerical Order list of common Sense Data.

Note: The Sense Data format allows for drive manufacturers to define their own “vendor unique” sense data, so it is always best practice to have the manufacturers SCSI Command Reference documentation to be certain that you are correctly interpreting your drives Sense Data

How Sense data is read

As mentioned above, in 99% of the time, when a drive has a command error the test system Host Bus Adapter will automatically issue a REQUEST SENSE command to the drive and the drive will return Sense Data detailing the error.

Where will Sense Data be displayed?

1. In STB Suite original mode command errors will generally cause a pop-up window to appear with the Sense Data shown –

2. Also in Original mode you can always go to the top menu Disk->Commands->Information Functions->View Request Sense choice and see the last Sense Data collected –

Note: There are other optional ways the Sense Data may be formatted. Read the T10 documentation to learn the low-level details of the way Sense Data can be formatted.

See the 3rd option in DMM, Read the summary and the Appendix in the full article here




Ask Dr. SCSI – MODE PAGES setting for testing, then defaults for shipping?

The Real Dr. SCSI

Q: “Dr. SCSI, I need to set the Mode Pages on a batch of drives to certain settings, then test, then return the Mode Pages all to their factor default values. Can you help me?”

A: Yes, help is on the way!

In the very-soon-to-be-released STB Suite version 9.1 you can do exactly that!

First – Create a “Golden” drive – Set the Mode Pages for testing

Use the STB Suite Original Mode Edit Mode Page function to set all the Mode Pages the way you want for testing.

Next, Save those settings.

The use Original Mode top-menu Disk->Create Mode Page File for Diskscreening choice to save all of your Mode Page/Parameter settings to a disk file –

Now test with DMM

In DMM Pre-Test Actions check MODE Pages, Set Mode Pages with file, and browse to your saved Mode Page settings file –

Then do your testing

And finally, set all Mode Pages back to their factory defaults in Post-Test Actions –

That’s all there is to it!

Note – you could also choose to set all Mode Pages with a Mode Page Settings file after testing.

But wait, there’s more!

You could also set all Mode Pages to factory default in Pre-Test Actions.

Leave them alone, set them to default, set them to a Golden drive setting, before testing, after testing – the choices are yours with STB Suite vs 9.1.”




STB Suite 2014 End-of-Year Promotional offer!

For the STB Suite end-of-year promotion for 2014, we’re offering new Full STB Suite licenses for $2014 for every license that your company currently has under Performa coverage.

What does that mean?
If you have one license Actively covered by Performa, you’re qualified to receive one additional license until 12/31/2014 for $2014. The promotional license will include Performa as well – incredible value!

What if your company doesn’t already have a license?
If you don’t already have a license you can purchase a full priced license and receive an additional license for $2014! $2014 for the Full STB Suite! Less than one half of the regular price STB Suite until 12/31/2014!

What if we have 14 licenses Actively covered?
Then you’re qualified for up to 14 additional licenses at $2014 each.

What if we have 14 licenses that we haven’t kept active with Performa?
Then you can upgrade up to 14 at $2995 (assuming they’re more than one year out of coverage) and purchase the same amount of new licenses for $2014 each!

Don’t miss out on this exceptional end of year promotion.

Offer is valid for NEW online orders placed from now until 12/31/2014. Credit Card payment required for the promotion.

Contact Sales with any questions!

Read the details and the full offer online here.





New training video – 9.1 Enhanced Purging and logging options

We’ve added a new video to our online Virtual Training Center that will show you how to repair a SATA Security Locked HDD using the STB Suite.

Click the Screenshot to view the video directly, or here to view all the videos in the Virtual Training Center.





What is Performa?

Performa is the STB Suite annual support and maintenance plan.

In most cases each purchase of the STB Suite includes 12 months of Performa coverage.

What does that coverage include?

  • Updates to the STB Suite
    • There are typically two major updates to the STB Suite per year. In between these major updates there are typically a number of maintenance updates which will be used to fix bugs and occasionally introduce new features. For example, between the 8.6 update and the recent 8.7 update there were 6 maintenance updates released.With Performa coverage you are entitled to all of these. Don’t forget STB v9.0 has just been released!
  • Product Support
    • Performa coverage provides you with contact with our development team, to answer questions, discuss changes or improvements, etc. With decades of storage experience our support team is willing and able to help you.Our World-class support typically responds to email support issues within one hour!
  • New License discounts –New Feature
    • SCSI Toolbox now offers attractive discounts on new licenses when you keep your licenses covered by the Performa program.
      • 1-3 licenses actively covered you’ll receive an additional* 10% Performa Discount on New licenses.
      • 4-10 licenses actively covered you’ll receive an additional* 15% Performa Discount on New licenses.
      • 11-20 licenses actively covered you’ll receive an additional* 20% Performa Discount on New licenses.
    • *Online Credit Card purchases receive 5% discount automatically. Need to buy new licenses? Contact sales to receive your Performa discount/voucher code to use online NOW!
  • How to keep Performa Active
    • Every time you renew your Performa coverage you need to update your USB key (license). This is a simple process whereby your key is updated to reflect your new Performa expiration date. Once your key has been updated you will be able to run any new STB Suite versions that are released while you are covered.Instructions for the key update process are emailed with your Performa renewal.

      If you have any questions about your licenses, Performa, need a quote or just want to talk, please contact Jeremy Wolfe in Sales at STB.