Linux DME (Disk Manufacturing Engine)

STB Suite | The Industry Standard in Peripheral Testing.

LinuxDME_01_banner

The Linux DME (Disk Manufacturing Engine) was originally created in 2003 to serve the needs of high-volume mass storage manufacturing and integration companies.

The typical feature set required by this type of customer includes:

  • The ability to run industry standard tests
  • High volume (typically hundreds of disks at a time)
  • The ability to use inexpensive test stations
  • High throughput – typically 90% of bus max bandwidth

 

What is the Linux DME?

The Linux DME is a GUI-less Engine which executes STB Suite DMM test sequences on multiple disk drives.

Being a command-line program means that the Linux DME may be run on any computer running the Linux operating system. There is no requirement for any type of graphics console – Linux DME can be run across a network on “headless” computer systems.

LinuxDME_workflow

How is Linux DME invoked?

Linux DME is started from a command-line, passing command-line parameters to describe:

  • Which test sequence file to run
  • Which drives to test
  • Where log files will be written
  • Whether to loop the test sequence by time or repeat count

 

 

Command-line Example:

LinuxDME_cmdLineParams

 

Output Log File For a 10 Test Sequence Example:

--------------------------------------------------------------------------------
libLinuxPSSL.so Version: 8.8.1.140124
dmm_silent Version: 8.8.1.140124

Test Date: 04/27/2016 14:39:02

Script Filename: ReadWrite_QD1_thru_QD16-v872.seq

sysname: Linux
nodename: localhost.localdomain
machine: x86_64

Device Info: 2:1:0 ATA ST4000NM0053-1C1 SS03 Serial: Z1Z08LYE

Test Results:
04/27/2016 14:39:02 TEST 1 of 10:
 Read Test; Random Access; for 10000 Blocks
 Fixed-Length Transfers of 128 (0x0080) Blocks
 Start Block: 0 (0x0)
 Data Pattern: Decrementing
 Queue-Depth: 1
04/27/2016 14:39:05 Test Completed Successfully

Transfer Rate: 4.88 MB/sec

I/Os Issued : 79
 Blocks Xfer'd : 10000 (0x2710)
04/27/2016 14:39:05 PASSED

04/27/2016 14:39:05 TEST 2 of 10:
 Read Test; Random Access; for 10000 Blocks
 Fixed-Length Transfers of 128 (0x0080) Blocks
 Start Block: 0 (0x0)
 Data Pattern: Decrementing
 Queue-Depth: 2
04/27/2016 14:39:08 Test Completed Successfully

Transfer Rate: 4.88 MB/sec

I/Os Issued : 79
 Blocks Xfer'd : 10000 (0x2710)
04/27/2016 14:39:08 PASSED

04/27/2016 14:39:08 TEST 3 of 10:
 Read Test; Random Access; for 10000 Blocks
 Fixed-Length Transfers of 128 (0x0080) Blocks
 Start Block: 0 (0x0)
 Data Pattern: Decrementing
 Queue-Depth: 4
04/27/2016 14:39:11 Test Completed Successfully

Transfer Rate: 4.88 MB/sec

I/Os Issued : 79
 Blocks Xfer'd : 10000 (0x2710)
04/27/2016 14:39:11 PASSED

04/27/2016 14:39:11 TEST 4 of 10:
 Read Test; Random Access; for 10000 Blocks
 Fixed-Length Transfers of 128 (0x0080) Blocks
 Start Block: 0 (0x0)
 Data Pattern: Decrementing
 Queue-Depth: 8
04/27/2016 14:39:14 Test Completed Successfully

Transfer Rate: 4.88 MB/sec

I/Os Issued : 79
 Blocks Xfer'd : 10000 (0x2710)
04/27/2016 14:39:14 PASSED

04/27/2016 14:39:14 TEST 5 of 10:
 Read Test; Random Access; for 10000 Blocks
 Fixed-Length Transfers of 128 (0x0080) Blocks
 Start Block: 0 (0x0)
 Data Pattern: Decrementing
 Queue-Depth: 16
04/27/2016 14:39:17 Test Completed Successfully

Transfer Rate: 4.88 MB/sec

I/Os Issued : 79
 Blocks Xfer'd : 10000 (0x2710)
04/27/2016 14:39:17 PASSED

04/27/2016 14:39:17 TEST 6 of 10:
 Write Test; Random Access; for 10000 Blocks
 Fixed-Length Transfers of 128 (0x0080) Blocks
 Start Block: 0 (0x0)
 Data Pattern: Decrementing
 Queue-Depth: 1
04/27/2016 14:39:20 Test Completed Successfully

Transfer Rate: 4.88 MB/sec

I/Os Issued : 79
 Blocks Xfer'd : 10000 (0x2710)
04/27/2016 14:39:20 PASSED

04/27/2016 14:39:20 TEST 7 of 10:
 Write Test; Random Access; for 10000 Blocks
 Fixed-Length Transfers of 128 (0x0080) Blocks
 Start Block: 0 (0x0)
 Data Pattern: Decrementing
 Queue-Depth: 2
04/27/2016 14:39:23 Test Completed Successfully

Transfer Rate: 4.88 MB/sec

I/Os Issued : 79
 Blocks Xfer'd : 10000 (0x2710)
04/27/2016 14:39:23 PASSED

04/27/2016 14:39:24 TEST 8 of 10:
 Write Test; Random Access; for 10000 Blocks
 Fixed-Length Transfers of 128 (0x0080) Blocks
 Start Block: 0 (0x0)
 Data Pattern: Decrementing
 Queue-Depth: 4
04/27/2016 14:39:26 Test Completed Successfully

Transfer Rate: 0.00 MB/sec

I/Os Issued : 79
 Blocks Xfer'd : 10000 (0x2710)
04/27/2016 14:39:26 PASSED

04/27/2016 14:39:26 TEST 9 of 10:
 Write Test; Random Access; for 10000 Blocks
 Fixed-Length Transfers of 128 (0x0080) Blocks
 Start Block: 0 (0x0)
 Data Pattern: Decrementing
 Queue-Depth: 8
04/27/2016 14:39:29 Test Completed Successfully

Transfer Rate: 4.88 MB/sec

I/Os Issued : 79
 Blocks Xfer'd : 10000 (0x2710)
04/27/2016 14:39:29 PASSED

04/27/2016 14:39:29 TEST 10 of 10:
 Write Test; Random Access; for 10000 Blocks
 Fixed-Length Transfers of 128 (0x0080) Blocks
 Start Block: 0 (0x0)
 Data Pattern: Decrementing
 Queue-Depth: 16
04/27/2016 14:39:32 Test Completed Successfully

Transfer Rate: 4.88 MB/sec

I/Os Issued : 79
 Blocks Xfer'd : 10000 (0x2710)
04/27/2016 14:39:32 PASSED

 

 

Linux DME Features:

  • Extremely high I/O throughput
  • Executes industry standard STB Suite test sequences
  • Individual test threads for each drive under test
  • Detailed text log files
  • CSV log files
  • GUI-less command-line program runs on any Linux computer
  • C++ source code included!

 

 

Other Linux Tools:

The STB Suite includes the following tools for the Linux platform:

  1. The LinuxDME
  2. The Linux DTB (Developers Toolbox) Library
    • A .so library with hundreds of functions, from single commands through full multi-threaded tests
  1. The Linux SCSITool
    • A command-line utility for single-drive test and firmware download

 

 

Summary:

The Linux DME piece of the STB Suite provides a flexible solution for high volume disk testing.

Flexible detailed text and csv logs provide easy results import into any database or reporting package.

Linux DME is written using the STB Suite DTB (Developers Toolbox) for easy modification or extension.

Full source code for the DME is included!