May 2009

STB Suite | The Industry Standard in Peripheral Testing.

Using DMM to call an External program (SATA Command Compliance) Training Video

Training Video - External App with DMMYour input is making a difference! Since our February 2009 “What’s Helping Survey” we’ve added a new training video to walk you through calling an external program in DMM (Disk Manufacturing and Screening Module) in the STB Suite. You can watch the video (with narration) from our online training video repository here: http://www.stbsuite.com/schedule-live-training/ or download the video directly here: http://www.scsitoolbox.com/Training/Videos/DMM-ExternalProgram.wmv

If there are any training videos you feel we are missing, please let us know and we’ll try to add them ASAP.

You can still Complete the survey here!  

 

 

 

Bus Analyzer Module functions in Developer Toolbox API
BAM functions in DTB
There are six new BAM-related functions in DTB version 8.1!

They are:

int VCSCSIBAMconfigure(long BufSize, long PhaseSize, int Flags, int Phases);

int VCSCSIBAMclearBuffer();

int VCSCSIBAMdrive(int ha, int target, int lun, int capture);

int VCSCSIBAMstartCapture();

int VCSCSIBAMstopCapture();

int VCSCSIBAMsaveCapture(CString *fname);

General Use of the BAM function

 

The order of operation to control the capture of a BAM trace in a DTB-enabled application is as follows:

  1. Configure BAM
  2. This step will define which phases will be captured, what size the capture buffer should be, how much data in a data phase will be recorded, and any operational option flags such as “Stop on Buffer Full”

    Use the function int VCSCSIBAMconfigure(long BufSize, long PhaseSize, int Flags, int Phases);

    with the following parameters:

    BufSize is the capture buffer size in MB.

    PhaseSize is the amount of data to record, in bytes

    Flags can be any combination of or’d values of:

    1 = Stop Capture on Buffer Full

    2 = Stop Capture on Bus Reset

    4 = Immediately clear the capture buffer

    Phases can be any combination of or’d values of:

    #define CDB_PHASE 0x00000001 // cdb bytes

    #define SENSE_PHASE 0x00000002 // sense data

    #define OK_PHASE 0x00000004 // command complete

    #define DATA_IN_PHASE 0x00000008 // data in bytes

    #define DATA_OUT_PHASE 0x00000010 // data out bytes

    #define ATA_PHASE 0x00000020 // ATA task file command

    #define ATA_STATUS_PHASE 0x00000040 // ATA task file response

    #define ATP_PHASE 0x00000080 // ATA pass through structure

    #define SPT_PHASE 0x00000200 // SCSI Pass through struct

    #define SRB_PHASE 0x00000400 // SRB structure

    #define SRB_STATUS_PHASE 0x00000800 // srb status byte

    #define NT_STATUS_PHASE 0x00004000 // nt status

    Passing a value of 0 for the phases parameter will select the default phases to capture, which are:

    Default Phases = SENSE_PHASE | OK_PHASE | CDB_PHASE | DATA_IN_PHASE | DATA_OUT_PHASE | ATA_PHASE |ATA_STATUS_PHASE | SRB_PHASE | SRB_STATUS_PHASE | RESET_PHASE;

  3. Define what drive I/O to capture
  4. Use the function int VCSCSIBAMdrive(int ha, int target, int lun, int capture);

    To define what drive to capture I/O from, and the capture parameter defines whether to set the trace to capture or not capture I/O once the trace capture is started.

    Set capture = 1 to turn on capture for this device.

  5. Start the capture
  6. Note: You may want to clear the capture buffer before starting a new capture, using the function VCSCSIBAMclearBuffer();

    Use the function int VCSCSIBAMstartCapture();

    To begin capturing

  7. Stop the capture
  8. Use the function int VCSCSIBAMstopCapture();

    To stop capturing.

  9. Save the trace
  10. Use the function int VCSCSIBAMsaveCapture(CString *fname);

    To save the captured trace to your specified file name.

    Note: Trace data will be stored in the new BAM version 8.1 data format. You will not be able to read it using BAM version 2 or below.

    Some Specific Items

    • The DTB BAM functions allow I/O to/from a specified drive to be captured and saved.
    • At present there are no DTB BAM functions that analyze BAM data
    • Captured data is viewed by using BAM version 8.1, using the File->Open menu.
    • Once you have the capture file open in BAM you can analyze it, save it out as a CSV text file, etc.

     

To make sure you’ll receive this new functionality make sure your Performa coverage is active and the Technical contact information is correct for your serial number so you will receive this release in June.

If you have any questions about your license, contact Jeremy Wolfe 720.249.2641 or sales@scsitoolbox.com.

Read article here online here  

 

 

 

 

 

Example DTB Code (VC) Project using BAM functionality
BAM fuctions in DTB (Example Code)In 8.1 the Developer Toolbox API will now have access to the STB Bus Analyzer Module functionality. The project source code is available for download here.

To make sure you’ll receive this new functionality make sure your Performa coverage is active and the Technical contact information is correct for your serial number so you will receive this release in June. If you have any questions about your license, contact Jeremy Wolfe 720.249.2641 or sales@scsitoolbox.com.  

 

 

 

 

 

Ask Dr. SCSI – “…would you add some of the new STB tests into DTB?”

The real Dr. SCSIQ. “Hi Dr. SCSI. Would you add some of the new STB tests into DTB API?”

 

A. “I’m glad you asked! Yes, we can. In fact in 8.1 the following new functions will be added to the Developer Toolbox API”

User-Defined CDB Test: “Allows you to defined your custom made CDB as a test step”

Streaming Test: “Allows you to define a sequential test that has a mixture of Writes and Reads with the ratio of Writes-to-Reads user-definable Online Transaction Processing Test: “Allows you to define a random test that has a mixture of Writes and Reads with the ratio of Writes-to-Reads user-definable, transfers are between 4 and 32 blocks File Server Test: “Allows you to define a random test that has a mixture of Writes and Reads with the ratio of Writes-to-Reads user-definable, transfers are between 8 and 128 blocks Web Server Test: “Allows you to define a random read test, transfers are between 1 and 1024 blocks Work Station Test: “Allows you to define a test where 80% of the accesses are random and 20% of the accesses are sequential. Allows a mixture of Writes and Reads with the ratio of Writes-to-Reads user-definable, transfers are between 1 and 32 blocks Clear Log Pages Test: “Allows you to clear the log pages”

Save Log Pages Test: “Allows you to save ALL log pages”

Drive Self Test: “Allows you to issue a “Drive-self test diagnostic” test”

Delay Test: “Allows you to delay your testing for a number of seconds”

Adjacent Track Interference Test: “Allows you to define a test where 3 consecutive tracks are accessed. The two other tracks are written to, and an analysis of the middle is done to determine if the interference from the vibration from the two other tracks has had any effect on the middle track SMART Test: “Allows you to log all SMART data on an ATA drive”

SATA Firmware Download test: “Allows you to upgrade firmware on a SATA drive SATA Info Test: “Allows you to log SATA Information”

 

 

 

 

 

STB Testimonial – “You have saved me…” STB Testimonials

Recently STB was approached by a large company and asked to optimize their Tape Duplication and checksum process. The process took nearly 23 hours to complete (per drive). After establishing the technical details of what was needed STB quickly developed a solution that saved the customer hundreds of hours off the total process!

If your testing process is anything less than completely optimized, please contact STB Today to find out if we can help you with your engineering, DVT, burn-in, ORT, RMA, or other testing needs. We have nearly two decades of Enterprise level software testing tools experience! Let us show you WHY we are the Industry Standard in Peripheral Testing! Contact Jeremy Wolfe 720.249.2641 or sales@scsitoolbox.com.