August 17, 2006T13/e06154r1

G Sensor Features in ATA

August17, 2006

Revision 2

Technical Editor:

Fred Zayas

Toshiba SDC

2883 Bayview Drive

Fremont, CA 94538

Document Status

Revision History
Rev / Date / Description
1 / August 2, 2006 / Conversion to T13 format from internal format
2 / August 17, 2006 / Updated from comments at the teleconference

1Introduction

G sensors (accelerometers) present in some hard drives supply real-time, 3-axis acceleration information. This information may used by the hard drive to detect changes in acceleration, to which the drive may respond by removing the heads from the media. Once the acceleration changes ceases and some additional time has passed the hard drive resumes normal operation.

An accelerometer detects changes in acceleration. Acceleration changes above some magnitude and/or time cause the storage device to protect itself. In the case of some hard drives, for example, this protection is achieved by parking the R/W heads. This protection scheme causes delays accessing the media; delays that can extend for several seconds beyond the detected high acceleration event. These delays may be visible in the execution time of ATA commands, and host software should allow for these delays in a graceful manner.

It is desirable to adjust the sensitivity of the sensor, in a manner similar to the power setting “knob” available in ADVANCED POWER MANAGEMENT. It is desirable for the sensitivity setting to be non-volatile and “locked” from subsequent changes by SET FEATURES.

2Scope

This document proposes changes to the ATA specification to make the G-sensor visible to and controllable by host software. This is a proposal and the locations of bits, opcodes of commands or subcommands and so on are subject to change.

The starting point of this document is Jim Hatfield’s proposal to T13 entitled “Free Fall Feature Set” dated 23 February 2006 and later withdrawn.

3Overview

This proposal presents changes to the following areas of ATA to present G sensor features to an attached host:

  • IDENTIFY DEVICE data changes
  • A new SET FEATURES subcommand
  • A new SMART attribute
  • DEVICE CONFIGURATION data changes

4Changes to ACS

4.1Changes to clause 3

4.1.1Changes to Definitions and abbreviations

1 / G Sensor: A sensor embedded in a storage device that provides 3-axis acceleration information.

4.2Changes to clause 4

4.2.1Overview - Changes to the Feature Set Summary Table

Replace the names of the feature sets in the table below with the new feature set names.

Feature set / General Devices / Packet Devices
G Sensor Feature Control (see 4.2.2) / O / O
Key: M – Mandatory, O – Optional, P – Prohibited, N – Not defined

4.2.2G Sensor Feature Control

The new SET FEATURE/G Sensor Features Control allows an attached host to control the G sensor in a storage device. The feature may be enabled or disabled and the sensitivity may be adjusted.

4.3Changes to clause 7

4.3.1Command Definition

4.3.1.1SET FEATURES/G Sensor Feature Control

This command does not move data except via the task file.

4.3.1.2Feature Set

The G Sensor Feature must be enabled via the DEVICE CONFIGURATION overlay data in order for this command to return other than ABORTED status.

4.3.1.3Description

This command, subcommand allows the G sensor feature to be enabled or disabledand the sensitivity to be adjusted.

4.3.1.4Inputs

The new SET FEATURE/G Sensor Features Control uses the following task file registers as inputs to control the G sensor features:

.Register / 7 / 6 / 5 / 4 / 3 / 2 / 1 / 0
Feature / TBD
Sector Count / Sensitivity Level (00h – FFh)
LBA Low / Delay to simulated event, if enabled (ms) bits [ 7: 0]
LBA Mid / Delay to simulated event, if enabled (ms) bits [15: 8]
LBA High / Reserved / SIM / Rsv

This command allows the host to configure the parameters of the G Sensor. If this feature is not supported, this command returns ABORTED status.

If SIM=0, the sensitivity of the G-sensor feature is set. A value of zero means that no protection is provided by the G-sensor feature. Other values enable the feature and the meanings are vendor unique. But generally, the higher the sensitivity value, the more sensitive the device is to changes in acceleration. If so configured (see the DCO description), the sensitivity level becomes a boolean value allowing SET FEATURES to only enable or disable the G-sensor feature.

If SIM=1, the sensitivity is ignored and the previous value of sensitivty is preserved. After the given delay passes, a simulated high accleration event is triggered. This feature is used for testing. The presence of this feature and the accuracy of this time is vendor dependent. If SIM is not supported, this bit and the Delay to simulated event field should be ignored.

4.3.1.5Normal Outputs

4.3.1.6Error Outputs

If the SET FEATURES/G Sensor Feature Control is not enabled via DCO or is not implemented, the command returns ABORTED status.

4.3.2Changes to DCO Set

The changes to the Device Configuration Overlay Feature Set allows the host to control the information presented by IDENTIFY DEVICE in words TBD A-D. By extension, if the G Sensor feature is disabled, the corresponding SET FEATURE command is also disabled.

The following changes are made to the Device Configuration Overlay data structure. These changes apply to both the DEVICE CONFIGURATION IDENTIFY and DEVICE CONFIGURATION SET subcommands:

Word / Content
TBD E / Command set/feature set supported
TBD 1 / 1 = G Sensor features supported/enabled
TBD 2 / 1 = G sensor power-on sensitivity provided/reported
TBD 3 / 1 = SET FEATURES can enable/disable G-sensor feature only
TBD F / Power-on sensitivity value

To clearify the behavior of these fields, in DEVICE CONFIGURATION IDENTIFY:

If TBD 1 = 0, the other fields in the above table are zero. The feature is not enabled.

If TBD 1 = 1, the following fields are meaningful:

TBD 2 =1 and TBD F is the power-on sensitivity value.

TBD 3 = 1 if SET FEATURES treats the sensitivity value as a boolean, non-zero to enable or zero to disable. TBD 3 = 0 if sensitivity values 1-255 have a vendor specific effect on the G-sensor sensitivity to acceleration changes.

To clarify the behavior of these fields, in DEVICE CONFIGURATION SET:

If TBD 1 = 0, the other fields in the above table are ignored. The feature is not enabled.

If TBD 1 = 1, the following fields are meaningful:

TBD 2 = 1 means that TBD F becomes the current and new power-on sensitivity value. TBD 2 = 0 means that TBD F is ignored.

TBD 3 = 1 if SET FEATURES treats the sensitivity value as a boolean. TBD 3 = 0 if sensitivity values 1-255 have a vendor specific effect on the G-sensor sensitivty to acceleration changes.

As expected, these values are non-volatile.

4.3.3Changes to IDENTIFY DEVICE data

The following changes are proposed to IDENTIFY DEVICE data reflecting the new supported feature:

Word / O
M / S P / F
V / Description
TBD A / M / B / Supported Settings
B / F / TBD 2 / 1 = G Sensor Features supported
TBD B / M / B / Command set/feature enabled/supported
B / F / TBD 2 / 1 = G Sensor Features enabled
TBD C / M / B / G Sensor Feature Sensitivity
B / F / 15 / Shall be cleared to zero
B / F / 14 / Shall be set to one
B / F / 13-7 / Reserved
B / V / 8 / 1 = G sensor protection is active (but sensitivity may disable it)
B / V / 7-0 / Sensitivity level:
B / V / 00h if the G sensor is disabled
B / V / 01h – FFh sensitivity; a larger number means more sensitive
Key:
O/M Mandatory/optional requirement.
M Support of the word is mandatory.
O Support of the word is optional.
F/V Fixed/variable content
F The content of the field is fixed and does not change. The DCO command may change the value of a fixed field. For removable media devices, these values may change when media is removed or changed. / V The contents of the field is variable and may change depending on the state of the device or the commands executed by the device.
X The content of the field may be fixed or variable
S/P Content applies to Serial or Parallel transport
S Serial Transport
P Parallel Transport
B Both Serial and Parallel Transports
N Belongs to a transport other than Serial or Parallel

4.4Addition to SMART Attributes

4.4.1The G Sensor feature uses its own SMART attributes as shown next

Table 1 G Sensor Error Rate Count Attribute

ID / 254 (FEh)
Description / G sensor error rate, count of high acceleration events
Attribute flags / Advisory; not specific to offline data collection
Value / Normalized count in the range 0 – 200
Vendor specific bytes 4–7 / Raw count, little Endian, unsigned 32-bit counter

Unlike other SMART attributes, the G Sensor attribute specifies the location within the vendor speciifc bytes of at least the lower 32-bits of the raw count. This is for testing purposes.

5Requests for Assigment of TBD fields

If there are no objections, we would prefer that TBD A = 119, TBD B = 120, and TBD C = 125. Further, the suggested value of the G Sensor SET FEATURE subcommand is 36h. Finally, we’d like to suggest that TBD 1 = 15 of word TBD E = 7 and that TBD 2 = 6.

For future template submissions, I would recommend that field codes be used to set “bookmarks” and that references to those “bookmarks” be used in the proposal instead of multiple TBDs. That makes a document easy to read and easily changeable.

Thank you.

G Sensor Features in ATA1