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.
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:
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:
- The LinuxDME
- The Linux DTB (Developers Toolbox) Library
- A .so library with hundreds of functions, from single commands through full multi-threaded tests
- 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!