STB Suite

February 2010

Ask Dr. SCSI – “What OS and controller do you recommend for SAS/SATA testing?”
The real Dr. SCSI

Q. “What OS and controller do you recommend for SAS/SATA testing?”

A. “The STB Suite version 8.1 officially supports:

  • Windows XP SP2 or later (32 and 64bit)
  • Windows Server 2003 SP2 higher (32 and 64bit)
  • Windows Server 2008 (32 and 64bit)
  • Windows Vista (32 and 64bit)
  • Windows 7 (32 and 64bit)
  • Redhat Linux Kernel 2.6 or newer (API’s only)

However, we have seen very high throughputs with Windows Server 2003 Server 64bit version. The STB Suite will work with any off the shelf HBA. The SCSItoolbox Suite supports, SCSI, Fibre Channel (FC), SAS, and SATA. For SAS and SATA testing the STB Suite works very well with LSI 3801E controllers. For SATA Task Register commands an onboard Intel based chipset SATA controller works best.”



Did you know… there are three ways to “erase” a tape?
STB Suite v8.1

We quoted “erase” because there can be different meanings for that word in the world of tapes.

If by “erase” you mean “make the tape unreadable by any normal tape drive” you can use method #1, which is to simply rewind the tape to BOT and then write a FILEMARK. A normal tape drive will not space or read past this filemark – any READ command will return an error with End Of Data (EOD) encountered.

This method is very fast – but be aware that with special firmware it may be possible to read past this FILEMARK and retrieve data. Most drive manufacturers have this type of firmware in-house for diagnosing media problems. This type of firmware shouldn’t be loose “in the wild” but you never know.

So – for most cases any old data on the drive will be unreachable – but the data is still there.

Method #2 is to issue an ERASE command to the drive. This should actually overwrite all data on the drive and so this operation will take several hours to complete. You are at the mercy of the drive manufacturer – they may or may not publish what they actually do when their drive processes this command.

Method #3 is the method to use if you need absolute auditing proof that the tape has been overwritten. This method consists of sequentially writing a specific data pattern to the entire tape until End Of Medium (EOM) is reached. At this point rewind the tape, then sequentially read until reaching EOM, doing a data compare of each block read to insure that if any data error occurs it is documented. Using the STB Suite Tape Manufacturing Module (TMM) will do this process and create an excellent audit trail with the log file showing all steps used to overwrite and read/confirm the overwrite.

Since this method involves two complete passes of the entire tape it will take the longest to complete.

There you have it – as usual a balance between time to accomplish the task versus the level of auditable security obtained.

Obviously there is also a Step #4 if you never want to use the tape again – physical destruction or degaussing. Very quick – but permanent.




Command Probability Sequencer Application – Part 1
STB Suite 8.1 iconIntroduction

In last month’s newsletter we described some new DTB api calls which implement a Command Probability Sequencer test. These new DTB api calls will be in the STB Suite version 8.2.

This month we will introduce a stand-alone application which uses these same api calls to implement an interactive test application – we will call this application CPS. CPS will be available at the same time STB Suite version 8.2 is released.

CPS is useful any time you need to send a number of different commands to one or more drives, in either a sequential or a random order. Some of CPS’s features are:

  1. Ability to define a list of SCSI (FC, iSCSI, or SAS) commands
  2. Commands may be 6, 10, 12 or 16 bytes long
  3. Timeout value can be set per command
  4. WRITE (10) and READ (10) commands can increment the LBA field by any number
  5. READ data compare may be specified
  6. Each command can have its own data associated with it, of any size
  7. Each command can be assigned a % probability – the number of times out of the total test I/O size that each command will be issued. For instance, a command with a probability of 10% would be issued 10 times during a test which is generating 100 I/Os.
  8. CPS implements Command Tag Queuing and Native Tag Queuing – desired queue depth user defined
  9. Any number of drives on up to 16 HBA’s can be tested
  10. Commands in the list may be issued sequentially or randomly
  11. Sequential mode is exactly that – random mode looks at the entire command list, determines how many I/O’s are to be issued, determines how many of each command have been issued, and balances the probability percentage of all the commands so that at the end of each test the proper number of each command have been issued. Phew! Complex? Yes!
  12. Command lists may be saved and reloaded
  13. All busses may be rescanned to accommodate hot-swapping
  14. A BAM capture trace of all test I/O may be specified. This trace is saved as a .csv file.



Here is a screenshot showing CPS:

CPS is very useful for performing tasks like command compliance testing, performance measuring – particularly measuring performance in a real-world situation where disk read or write cycles may be intermixed with random other commands, such as occasional LOG SENSE commands, or occasional READ or WRITE commands to other areas of a drive. It is also very useful for stress-testing storage system components such as HBAs, bridges, and backplanes by issuing extremely high I/O rate command sequences to many drives at once.

Defining Commands

The CDB Parameters area is used to define the CDB’s which will make up your test. You specify the CDB size, the individual bytes which make up the CDB (you can define a “legal” or an “illegal” CDB), the data direction, the data transfer length, the data pattern, whether you want an LBA overlay applied to READ or WRITE commands, the command timeout in seconds, the queue depth you hope to attain, whether you want the LBA field in READ or WRITE commands to be automatically incremented, and by what amount they should increment, and finally what probability percentage should this command have.

Plan ahead because the total probability numbers of all commands MUST equal 100.

Here is an example of adding a READ and a WRITE command to the command list:

Once your READ command is defined click on Add Command to List. Now, the WRITE command:

Be careful – make sure that your data direction is correct and that you specify the exact correct data transfer length – be is zero, or 1 block worth of bytes, etc. And again – plan ahead so that your commands total 100% probability. If you make a mistake and add an incorrect CDB to the command list just mouse to the far left column (CDB Len) on that command and right-click to remove it from the list.

Here is an example of seven commands take a close look at the way the Data Direction and Data Lengths look – having either of this incorrect can cause Windows to abort the command and possibly issue a bus reset – :

Next Month…

Next month we will look at executing the CPS test and look at some BAM traces showing the results.




Customized training with an STB technician
STB TrainingDo you have questions about how to best use the STB Suite in your business? STB is happy to work with you in an interactive “live” environment to help you get the most out of your Toolbox. The cost? If you are a current Performa customer it is free! The commitment? Training sessions run between 30 and 60 minutes.

Here is a list of some recent customer training sessions that STB has conducted – live, interactive web sessions presented by STB programmers:

  1. Three stages of disk drive screening
  2. How to troubleshoot tape drive problems
  3. RAID issues in disk drive testing
  4. Multi-drive SATA firmware downloading with the STB Suite

Contact Jeremy Wolfe at (720) 249-2641 today to schedule your own custom training session!