In this Issue:
- Downsizing SATA Hard Drives
- STB Suite Referral Program – Refer-A-Suite
- Data Recovery Using the STB Suite
- Ask Dr. SCSI – Working with SES and Drive Enclosures?
- Reserve your live online meeting
This article will describe how to use the STB Suite to change the capacity that a SATA drive reports having.
There are a number of reasons you may wish to do this, for instance when designing a DMM Test Sequence which has steps that write, read, or verify the entire drive you can temporarily set the size of the drive to an artificially small size so that the test steps will complete faster.
Or you may have a system or application which requires a disk drive to be a certain size.
Or you may have a system using SSDs (Solid State Drive) which requires the highest available write speeds over a long period of time. Setting the reported capacity down to a smaller size can alleviate the problem of Write Amplification by letting the drive keep more of it’s capacity free as erased blocks.
We will use the terms capacity and size interchangeably, meaning the capacity which the drive reports as available or user accessible blocks. SATA drives report this capacity as a field in the SATA IDENTIFY data.
User Accessible Sectors
This is reported in the field Number of User Accessible Sectors, specifically the Number of User Accessible Sectors – 48-bit Addressing.
The drive can also report what its native maximum Highest LBA (Logical Block Address) is via the DCO Identify data.
Maximum LBA vs Highest Number of Sectors
The difference between what the drive reports as the Maximum LBA and what the drive reports as the Number of available sectors can be confusing.
Because the blocks on a disk drive are numbered as zero-based numbers the Highest LBA will always be one less than the Number of Sectors.
For example, we have a disk which reports the Number of Sectors = 10. The Highest LBA will be 9, because the drives LBA’s are numbered 0,1,2,3,4,5,6,7,8,9. Ten total blocks numbered from 0 through 9.
The only requirement for changing SATA drive capacity is that you have your SATA drive(s) connected to a SAT-compatible SAS Host Bus Adapter in your test system.
STB Suite Referral Promotion – Refer-A-Suite
STB Suite referral program
We’re proud to announce our Refer-A-Suite promotion.
As a Thank You to our valued customers we have launched a referral program for the STB Suite.
How to Qualify
- Referring party must be an Active Performa customer
- Fill out the online referral form (Provide potential customers contact information)
- The referred customer purchases a license within 30 days
- New referral’s only. Past orders are not eligible.
- You must comply with your company’s policies for gifts, etc.
Take your pick of Thank You gifts
You’ll receive your gift 30 days after the purchase is completed.
This article will discuss methods which can be used leveraging several STB Suite functions which can be used to try to recover data from a problem disk drive.
Of course there are some limitations or conditions which must be met to have any hope of retrieving data. The main thing is that the drive needs to be “alive” enough that it shows up on the test machine. Also, the drive must be able to be started or spun up.
There are also limitations you should be aware of that have to do with the type of drive you are trying to recover data from. SAS, Fibre Channel, and SCSI drives all have robust retry and error correction features which are configurable by the user. Unfortunately SATA drives do not have these configurable features. We will cover the details of setting up SAS,SCSI, or Fibre Channel drives later in this article.
The main goal is to get as much data off of the problem drive and onto a new or known good drive. Some of the goals along the way are:
- Set up the problem drive to do the maximum error correction and retries
- Set up the problem drive and the STB Suite to not abort the recovery process if errors occur
Setting up error correction and retries
For SCSI, SAS, & Fibre Channel drives we will use the Mode Page editor functions of the STB Suite to configure the problem drive before we attempt the data recovery operation. The Mode Page edit function is accessed by:
- starting the STB Suite in Original single-drive mode
- Right-clicking on the problem drive in the device display
- Choosing the Edit Mode Pages choice from the Quick Command list
- Setting the various Mode Pages
The Error Recovery Mode Page (Page 0x01)
As the name implies, Mode Page 0x01 contains the settings that the drive will act upon when an error occurs during a Read or Write command. We want to set the values on this page to tell the drive to use as many retries as it needs and to use as much error correction as is possible to try to successfully complete all Read commands.
Here are the definitions of the various settings:
ARRE (Automatic Read Reallocation Enabled) bit
0 An automatic read reallocation enabled (ARRE) bit set to zero specifies that the device server shall not perform automatic reallocation of defective logical blocks during read operations.
1 An ARRE bit set to one specifies that the device server shall enable automatic reallocation of defective logical blocks during read operations. All error recovery actions required by the error recovery bits (i.e., the EER bit, the PER bit, the DTE bit, and the DCR bit) shall be processed. The automatic reallocation shall then be performed only if the device server successfully recovers the data. The recovered data shall be placed in the reallocated logical block. The device server shall report any failures that occur during the reallocation operation. Error reporting as specified by the error recovery bits (i.e., the EER bit, the PER bit, the DTE bit, and the DCR bit) shall be performed only after completion of the reallocation operation.
TB (Transfer Block) bit
0 A transfer block (TB) bit set to zero specifies that the device server shall not transfer a logical block to the data-in buffer if the logical block is not recovered within the recovery limits specified.
1 A TB bit set to one specifies that the device server shall transfer a logical block to the data-in buffer before returning CHECK CONDITION status if the logical block is not recovered within the recovery limits specified. The data returned in this case is vendor-specific. The TB bit does not affect the action taken for recovered data.
RC (Read Continuous) bit
0 A read continuous (RC) bit set to zero specifies that error recovery operations that cause delays are acceptable during the data transfer. Data shall not be fabricated.
1 An RC bit set to one specifies the device server shall transfer the entire requested length of data without adding delays to perform error recovery procedures. This implies that the device server may send data that is erroneous or fabricated in order to maintain a continuous flow of data. The device server shall assign priority to the RC bit over conflicting bits within this byte.
Note. Fabricated data may be data already in a buffer or any other vendor-specific data. The RC bit may
be used in image processing, audio, or video applications.
EER (Enable Early Recovery) bit
1 An enable early recovery (EER) bit set to one specifies that the device server shall use the most expedient form of error recovery first.
0 An EER bit set to zero specifies that the device server shall use an error recovery procedure that minimizes the risk of error mis-detection or mis-correction. This bit only applies to data error recovery and it does not affect positioning retries.
Note. An EER bit set to one may imply an increase in the probability of error mis-detection or mis-correction. An EER bit set to zero allows the specified retry limit to be exhausted prior to using error correction codes.
PER (Post Error) bit
1 A post error (PER) bit set to one specifies that if a recovered read error occurs during a command performing a read or write operation, then the device server shall terminate the command with CHECK CONDITION status with the sense key set to RECOVERED ERROR. If the DTE bit is set to one, then the PER bit shall be set to one
0 A PER bit set to zero specifies that if a recovered read error occurs during a command performing a read or write operation, then the device server shall perform error recovery procedures within the limits established by the error recovery parameters and only terminate the command with CHECK CONDITION status if the error becomes uncorrectable based on the established limits.
DTE (Data Terminate On Error) bit
1 A data terminate on error (DTE) bit set to one specifies that the device server shall terminate the data-in or data-out buffer transfer upon detection of a recovered error.
0 A DTE bit set to zero specifies that the device server shall not terminate the data-in or data-out buffer transfer upon detection of a recovered error.
DCR (Disable Correction) bit
1 A disable correction (DCR) bit set to one specifies that ECC shall not be used for data error recovery.
0 A DCR bit set to zero allows the use of ECC for data error recovery. If the EER bit is set to one, the DCR bit shall be set to zero.
The combinations of the error recovery bits (i.e., the EER bit, the PER bit, the DTE bit, and the DCR bit) are
explained in the tables below.
Ask Dr. SCSI – Working with SES and Drive Enclosures
Q: “Dear Dr. SCSI – How can the STB Suite help me work with drive enclosures?”
A: “The STB Suite has a few functions available to display enclosure, or SES, information. Access these by starting the STB Suite in original mode and right-clicking on your enclosure device shown in the device display, as shown here –
Note that in addition to the normal device information functions like INQUIRY data that there are two SES-specific functions.
The SES Data menu choice displays all of the information about each element in your enclosure, such as the drive slots, the power supplies, the fans, etc. This information is shown in a display list and can be saved to a file –
SES PHY Map
The SES Phy->Device Map displays the detailed PHY information about each SES slot, showing the PHY address, WWN, and other information about each slot in your SAS drive enclosure
When a disk drive is detected in a slot the INQUIRY information for that drive is displayed, helping you correlate drives to slots.
Do you have questions about how to best use the STB Suite in your business? The STB Suite Team is happy to work with you in an interactive “live” environment to share with you about the STB Suite, testing procedures tailored to your needs, and much more. Use the online form here, or contact Sales today to get started.