Ask Dr. SCSI – Getting started with the Developer Toolbox?
Q.“I want to write my own tests and have full control of what’s going on. Can you help me get started writing my own test tools? ”
A. With the STB Suite you have access to the Developer Toolbox. The Developer Toolbox is a powerful set of API’s that is compatible in Windows using Visual Basic or Visual C++/C# or Linux as a Shared Object, .so file. In prepartation for the 8.4 release of the STB Suite we have included some new guides for getting started with the Developer Toolbox.
- Getting Started Guide pdf – General Guide to getting started using the Developer Toolbox in MS Visual Studio using Visual C++ (HTML version)
- Guide – VS and C# pdf – Getting Started guide using the Developer Toolbox in MS Visual Studio using C#.
- Guide – Threaded Getting Started pdf – Once you’ve got the basics out of the way you can get started writing threaded functions and more with the help in this guide.
- Guide – Threaded Advanced pdf – When you’re comfortable writing threaded tests you’ll want to read this Advanced guide.
Full 8.4 Developer Toolbox API Manual
Tape Test Graphic – using graphics to review performance problems
Have a look at this graphic, generated during a tape write test in STB original mode, using DriveWatch’s graphic display. What do you see?
We see that overall the I/O rate performance is in the speed range which we’d expect, but that something happened to cause a temporary dip in the transfer rate. The lower graph shows us that at the time that the performance dipped there was a write error.
Since no hard error was reported we can be reasonably sure that there isn’t an overall problem with the hardware — the non-repetitive nature, along with seeing that the error rate isn’t continually growing tells us there is most likely a bad spot on the tape media that’s being used in the test.
Looking at the drives log pages can reveal more details about the error – basically showing that the tape drive was able to recover from the error and continue to write.
The write succeeded but the I/O throughput is drastically impacted.
Run the same test again with the same piece of tape – do you get the same error indication at the same point in the test?
Now run the test again with a fresh tape. If you do not see the error anymore then you can be certain that the problem was with the piece of tape media and not with the drive.
Anytime you notice errors caused by bad pieces of tape media it is a good idea to clean the tape drive you had the bad tape in. This is in case the tape is flaking and leaving bits of debris in the drive, or possibly there was dust, dirt, or other debris that now lives in the tape drive. Blow the drive out with compressed air, clean the heads, and re-test.
MapWORM Utility in the SCSItoolbox Suite
The STB Suite includes many utilities for a variety of testing needs. One testing need that arose was one for reading WORM data. The following guide talks about the MapWORM utility, how it works, and how to use it.
What is the MapWORM Utility?
The MapWORM is an application written in Microsoft Visual Basic, using the STB Suite Developers Toolbox (DTB) library.
What does the MapWORM Utility do?
- Reading the optical media and displaying a map of the data on the media. MapWORM is not aware of any type of filesystem or higher-level organization. By that we mean that it will simply read raw blocks (any sector size) from the media and display the count of data blocks plus the count of any “blanks” that may be used to separate data on the media. As an example, some medical data storage systems will write a single xray image as a series of blocks of data, separated by the ability of optical media to contain “blanks” . An image would be the data contained in the data blocks between these blanks. In this case you may see a map showing 50,000 data blocks, 2 blanks, 25,000 more data blocks, another blank…and so on.It is up to you to determine how the data is represented.
- Copying blocks of data into Windows binary files. This second purpose allows you to specify a block range which you think represents the higher-level data you are interested in and save it to a binary file on your Windows system. This file will be a byte-for-byte exact copy of what is on the optical media.
Screenshot of MapWORM
Step by step guide to use MapWORM
1. MapWORM first reads the media in the drive and displays what the block size and capacity of the media is:
2. Next use the Media Map function to scan the media and display how the data is laid out:
You may see sections of data blocks interspersed with blanks – or you may only see contiguous data blocks – depending on what method was used to create the media.
3. Finally the data copy section is used to copy raw data from blocks on the media, writing them in binary format to a Windows file. You may specify the starting block number and number of blocks to copy.
Summary
MapWORM is a versatile utility used to expose how data is stored on optical media and also allowing you to copy chunks of raw data from the optical media into Windows binary files where further processes can occur.
The subject of optical file systems and data organization is highly complex and SCSIToolbox is not able to provide detailed consultation on this subject. We simply supply the MapWORM utility as an aid to help you extract data from any optical media into a format which you can then further process.
The source code and project files for the MapWORM utility are provided to STB Suite customers.
PDF Available for download here
Are you ready to upgrade your STB Suite to version 8.4?
The STB Suite most recent addition, version 8.4 is ready to ship. Are you ready to upgrade? 8.4 is chock-full of new features and fixes that will keep your testing up-to-date and running the newest drives, protocols, etc!
If your Performa coverage on your STB Suite license(s) has expired please contact sales for a quote to have access to this latest release. The Full 8.4 Release notes can be found online here.
Follow the procedures below to make sure you are ready to upgrade!
In order to determine if your present USB key Performa situation will allow you to install and run the latest version of the STB Suite simply do these tests.
- Is your Performa status current? As the picture shows, if your Performa Expiration Date is in the future then you will be able to install and run a newer version of the STB Suite with NO FURTHER ACTION! Easy! Congratulations on keeping your Performa coverage current!In this case once you install the new version the first time you run it your Performa information in your USB key will automatically be updated – you will see a message like this one:
- Is your Performa coverage expired?
- If the date in the Help->About box shows that your Performa coverage has expired then simply contact sales@scsitoolbox.com to renew. STB Support will walk you through a simple process to update your key information and then you will be on your way to running the newest version.
- Summary – as long as your Performa coverage is in effect you will be able to upgrade to any new version of the STB Suite. If you decide to let your Performa coverage expire you will always be able to run the last version that you installed – your ability to run will never expire. Of course to avail yourself of all of the latest tests, features, and support you will certainly want to keep your Performa coverage in place!
You can upgrade online and save 5% or contact sales for a quote.
Schedule your GoToMeeting with STB Today!
Do 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:
- SSD Manufacturing
- How to troubleshoot tape drive problems
- DOD disk purging
- Multi-drive SATA firmware downloading with the STB Suite
- Compliance testing
Contact Jeremy Wolfe at (720) 249-2641 today to schedule your own custom training session!