SST55LD019A/B/CHigh-Performance ATA Flash Disk Controller
Data Sheet
• Industry Standard ATA/IDE Bus Interface
– Host Interface: 8- or 16-bit access
– Supports up to PIO Mode-4
– Supports up to Multi-word DMA Mode-2
• Interface for standard NAND Flash Media
– Flash Media Interface: 8-bit or 16-bit access
- Supports up to 8 flash media devices directly
- Supports up to 64 flash media devices with
external decoding logic
– Supports Single-Level Cell (SLC) flash media
- 512 Byte and 2 KByte program page size
• Low power, 3.3V core operation
• 5.0V or 3.3V host interface through V
DDQ
• Low current operation:
– Active mode: 25 mA/35 mA (3.3V/5.0V) (typical)
– Sleep mode: 40 µA/50 µA (3.3V/5.0V) (typical)
• Power Management Unit
– Immediate disabling of unused circuitry
• Expanded Data Protection
– WP_PD# pin configurable by firmware for
prevention of data overwrites
– Added data security through user-selectable
protection zones
• 20-byte Unique ID for Enhanced Security
– Factory Pre-programmed 10-byte Unique ID
– User-Programmable 10-byte ID
• Integrated Voltage Detector
– Industrial Controller requires external POR# signal
pins
• Pre-programmed Embedded Firmware
– Performs self-initialization on first system Power-on
– Executes industry standard ATA/IDE commands
– Implements dynamic wear-leveling algorithms to
substantially increase the longevity of flash media
– Embedded Flash File System
– Built-in ECC corrects up to 3 random 12-bit
symbols of error per 512-byte sector
• Internal or External System Clock Option
• Multi-tasking Technology enables Fast
Sustained Write Performance (Host to Flash)
– SST55LD019A supports up to 6 MB/sec
– SST55LD019B/C support up to 10MB/sec
• Fast Sustained Read Performance (Flash to Host)
– Up to 10 MB/sec
• Automatic Recognition and Initialization of
Flash Media Devices
– Seamless integration into a standard SMT
manufacturing process
– 5 sec. (typical) for flash drive recognition and
setup
• Commercial and Industrial Temperature Ranges
– 0°C to 70°C for commercial operation
– -40°C to +85°C for industrial operation
• Packages Available
– 100-lead TQFP – 16mm x 16mm
– 84-ball TFBGA – 9mm x 9mm
– 85-ball VFBGA – 6mm x 6mm
• All non-Pb (lead-free) devices are RoHS compliant
PRODUCT DESCRIPTION
SST’s ATA Flash Disk Controller is the heart of a high-performance, flash media-based data storage system. The
ATA Flash Disk Controller recognizes the control, address,
and data signals on the ATA/IDE bus and translates them
into memory accesses to the standard NAND-type flash
media. The SST55LD019A/B/C device supports Single
Level Cell (SLC) flash media. This technology suits solid
state mass storage applications offering new, expanded
functionality while enabling smaller, lighter designs with
lower power consumption.
The ATA/IDE interface is widely used in such products as
portable and desktop computers, digital cameras, music
players, handheld data collection scanners, PDAs, handy
terminals, personal communicators, audio recorders, monitoring devices, and set-top boxes. SST’s ATA Flash Disk
Controller supports standard ATA/IDE protocol with up to
PIO Mode-4 and Multi-word DMA Mode-2 interface.
The SST logo and SuperFlash are registered trademarks of Silicon Storage Technology, Inc. Some content is reproduced from the CompactFlash
Specification (2.0) by permission of the CompactFlash Association. Other content is reproduced from the ATA/ATAPI-6 (T13/1410D revision 3b) spec-
ification by permission of the National Committee for Information Technology Standards. These specifications are subject to change without notice.
Utilizing SST’s proprietary SuperFlash memory technology, the ATA Flash Disk Controller is factory pre-programmed with an embedded flash file system which, upon
initial Power-on, recognizes the attached flash media
devices, sets up a bad block table, executes all necessary
handshaking routines for flash media support, and, finally,
performs the low-level format. This process typically takes
about 3 sec + 0.5 sec/GByte of drive capacity, allowing a
2 GByte flash drive to be fully initialized in about 4 seconds.
This technology enables a very fast, completely seamless
integration of flash drives into an embedded design. For
added manufacturing flexibility, system debug, re-initialization, and user customization can be accomplished either
through the ATA/IDE interface, for ATA Disk Module or
flash drive products, or through the Serial Communication
Interface (SCI), for fully embedded ATA Flash Disk Con-
Page 2
SST55LD019A / SST55LD019B / SST55LD019C
Data Sheet
troller designs.
The SST55LD019A/B/C high-performance ATA Flash
Disk Controller offers sustained read and write performance up to 10.0 MB/sec. The SST55LD019A controller
is to be used when the random access performance needs
to be maximized. The SST55LD019B controller is to be
used when the sequential access performance needs to be
maximized. The SST55LD019C controller is to be used
when the flash drive capacity and sequential access performance need to be maximized. The SST55LD019A/B/C
can directly support up to 8 flash media devices or,
through simple decoding logic, can support up to 64
flash media devices. Users can select either an internal
or external system clock option for optimal performance vs.
the supply current.
The SST55LD019A/B/C offers added security protection
for confidential information stored in the flash media. It
allows up to four protection zones which can be set by the
user to be Read-only or Hidden (Read-disabled). The ATA
Flash Disk Controller can access the data within the protected zones through a password-protected command.
The controller also provides a WP_PD# pin to protect critical information stored in the flash media from unauthorized
overwrites.
ATA Flash Disk Controller
The ATA Flash Disk Controller comes pre-programmed
with a 10-byte unique serial ID. For even greater system
security, the user has the option of programming an additional 10 Bytes of ID space to create a unique, 20-byte ID.
The ATA Flash Disk Controller comes packaged in an
industry-standard, 100-lead TQFP package, an 84-ball
TFBGA package, or a 85-ball VFBGA package for easy
integration into an SMT manufacturing process.
The ATA Flash Disk Controller contains a microcontroller
and embedded flash file system integrated in TQFP and
TFBGA packages. Refer to Figure 2-1 for the ATA Flash
Disk Controller block diagram. The controller interfaces with
the host system allowing data to be written to and read
from the flash media.
1.1 Performance-optimized ATA Flash Disk
Controller
The heart of the flash drive is the ATA Flash Disk Controller
which translates standard ATA signals into flash media data
and control signals. The following components contribute to
the ATA Flash Disk Controller’s operation.
1.1.1 Microcontroller Unit (MCU)
The MCU translates ATA/IDE commands into data and
control signals required for flash media operation.
1.1.2 Internal Direct Memory Access (DMA)
The ATA Flash Disk Controller uses internal DMA allowing
instant data transfer from buffer to flash media. This implementation eliminates microcontroller overhead associated
with the traditional, firmware-based approach, thereby
increasing the data transfer rate.
1.1.3 Power Management Unit (PMU)
The power management unit controls the power consumption of the ATA Flash Disk Controller. The PMU dramatically
reduces the power consumption of the ATA Flash Disk
Controller by putting the part of the circuitry that is not in
operation into sleep mode.
1.1.4 SRAM Buffer
A key contributor to the ATA Flash Disk Controller performance is an SRAM buffer. The buffer optimizes the host’s
data transfer to and from the flash media.
1.1.5 Embedded Flash File System
The embedded flash file system is an integral part of the
ATA Flash Disk Controller. It contains MCU firmware that
performs the following tasks:
1. Translates host side signals into flash media
writes and reads.
2. Provides dynamic flash media wear leveling to
spread the flash writes across all unused memory
address space to increase the longevity of flash
media.
3. Keeps track of data file structures.
4. Manages system security for the selected
protection zones.
1.1.6 Error Correction Code (ECC)
The ATA Flash Disk Controller utilizes 72-bit ReedSolomon Error Detection Code (EDC) and Error Correction Code (ECC), which provides the following error
immunity for each 512-byte block of data:
1. Corrects up to three random 12-bit symbol errors.
2. Corrects single bursts up to 25 bits.
3. Detects single bursts up to 61 bits and double
bursts up to 15 bits.
4. Detects up to six random 12-bit symbol errors.
1.1.7 Serial Communication Interface (SCI)
The Serial Communication Interface (SCI) is designed to
enable the user to restart the self-initialization process and
to customize the drive identification information.
1.1.8 Multi-tasking Interface
The multi-tasking interface enables fast, sustained write
performance by allowing concurrent Read, Program, and
Erase operations to multiple flash media devices.
The signal/pin assignments are listed in Table 3-1. Low
active signals have a “#” suffix. Pin types are Input, Output,
or Input/Output. Signals whose source is the host are designated as inputs while signals that the ATA Flash Disk
Controller sources are outputs.
CS3FX#52B1K9CS3FX# is used to select the alternate status register and the
CSEL56C3J10II1UThis internally pulled-up signal is used to configure this device
IORD#19E9F1
IOWR#57D1H9The I/O Write strobe pulse is used to clock I/O data into the
IOCS16#55C2H8OO2This output signal is asserted low when the device is indicating
INTRQ21D10G1OO1This signal is the active high Interrupt Request to the host.
PDIAG#54C1J9I/OI1U/O1 The Pass Diagnostic signal in the Master/Slave handshake
DASP#75H2B10I/OI1U/O6 The Drive Active/Slave Present signal in the Master/Slave
RESET#1K10A2II2UThis input pin is the active low hardware reset from the host.
100-TQFP
85-
VFBGA
84-
TFBGA
Pin
Typ e
I/OI1Z/O2 D[15:0] Data bus
I/O
Type1Name and Functions
II1ZA[2:0] are used to select one of eight registers in the Task File.A122D9G3
CS1FX# is the chip select for the task file registers
II2Z
Device Control register.
as a Master or a Slave. When this pin is grounded, this device
is configured as a Master. When the pin is open, this device is
configured as a Slave. The pin setting should remain the same
from Power-on to Power-down.
This is an I/O Read strobe generated by the host. This signal
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
Data Sheet
TABLE3-1: Pin Assignments (Continued) (2 of 4)
Pin No.
Symbol
WP_PD#62D2F9II1UThe WP_PD# pin can be used for either the Write Protect
Flash Media Interface
FWP#97H7B4OO5Active Low Flash Media Chip Write Protect
FRDYbsy#82J3A8II4UFlash Media Chip Ready/Busy#
FRE#84H3B7
FWE#96J7A4Active Low Flash Media Chip Write
FCLE92K6C6Active High Flash Media Chip Command Latch Enable
FALE94H6B5Active High Flash Media Chip Address Latch Enable
FAD1546A3K8
FAD1444B4K7
FAD1342C 5H6
FAD1240A5J5
FAD1135C 7H5
FAD1033A7K3
FAD931B8J3
FAD829B9J2
FAD745C4J7
FAD643A4J6
FAD541B5K6
FAD439C6K5
FAD334B7J4
FAD232C8H4
FAD130A8K2
FAD028A9H3
FCE6#91H5B6
FCE5#95K7C5
FCE4#93J6A5
FCE3#89J5A6
FCE2#88H4C7
FCE1#80K3B8
FCE0#86J4A7
FCE7#/
INTCLKEN
100-TQFP
26C9J1OI3D/O4 Active Low Flash Media Chip Enable pin
85-
VFBGA
84-
TFBGA
Pin
Typ e
OO5
I/OI3U/O5 Flash Media Chip High Byte Address/Data Bus pins
I/OI3U/O5 Flash Media Chip Low Byte Address/Data Bus pins
OO4Active Low Flash Media Chip Enable pin
I/O
Type1Name and Functions
mode or Power-down mode, but only one mode is active at any
time. The Write Protect or Power-down modes can be selected
through the host command. The Write Protect mode is the factory default setting.
Connect this pin to the NAND flash media Write Protect pin
Signal high is flash media ready signal. Low is busy.
Active Low Flash Media Chip Read
This pin is sensed during the Power-on Reset (POR) to select
an internal clock mode. If this pin is pulled up during the
Power-on Reset then the internal clock is selected.
26C9J1I/OI3D/O4 Active Low Flash Media Chip Enable pin
INTCLKEN
EXTCLK
EXTCLK
IN
OUT
100J8B3II4ZExternal Clock source input pin
99K9A3OO4External Clock source output pin
Miscellaneous
V
(IO)2
SS
12
27
36
64
74
90
98
A2
A6
A10
D4
E1
E10
H1
J10
K5
D7, G4 PWRGround for I/O
K8
V
(Core)25
SS
51
(IO)38
V
DD
87
(Core)76J1B9PWRVDD (3.3V)
V
DD
V
(IO)7
DDQ
69
A1
B10
B6
K4
F1
G10
G7PWRGround for Core
K4PWRV
B1PWRV
POR#50B3H7IAnalog
TIE_DN13D1Pins need to be connected to V
I/O
Type1Name and Functions
This pin is sensed during the Power-on Reset (POR) to select
an Internal Clock mode. If this pin is pulled up during the
Power-on Reset then the Internal Clock is selected.
Table 4-1 shows the default capacity and specific settings for heads, sectors, and cylinders. Users can change the
default settings in the drive ID table (see Table 11-4) for customization. If the total number of bytes is less than the
default, the remaining space could be used as spares to increase the flash drive endurance. It should also be noted that
if the total flash drive capacity exceeds the total default number of bytes, the flash drive endurance will be reduced.
TABLE4-1: Default ATA Flash Drive Settings (1 of 2)
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
TABLE4-1: Default ATA Flash Drive Settings (Continued) (2 of 2)
Capacity
3968 MB
4096 MB4,096,253,952793716638,000,496
1
Controller VersionTotal BytesCylinders
SST55LD019A/B
6 GB
8 GB8,001,552,38415504166315,628,032
SST55LD019B/C
10 GB
3,968,262,144768916637,750,512
6,001,164,28811628166311,721,024
10,001,940,48016383
12 GB12,001,296,38416383
14 GB14,001,684,48016383
16 GB16,001,040,38416383
18 GB18,001,428,48016383
20 GB20,001,816,57616383
22 GB22,001,172,48016383
SST55LD019C
24 GB24,001,560,57616383
26 GB26,001,948,67216383
28 GB28,001,304,57616383
30 GB30,001,692,67216383
32 GB32,001,048,57616383
1. These flash drive capacities can only be manufactured by using the specified version of the ATA Flash Disk Controller.
2. Cylinders, Heads, and Sectors can be re-configured from the default settings during the manufacturing process.
3. Cylinders, Heads, and Sectors are not applicable for these capacities. Only LBA addressing applies.
2
3
3
3
3
3
3
3
3
3
3
3
3
Heads
2
Sectors
2
1663 19,535,040
166323,440,032
166327,347,040
166331,252,032
166335,159,040
1663 39,066,048
166342,971,040
166346,878,048
1663 50,785,056
166354,690,048
166358,597,056
166362,502,048
Data Sheet
Max LBA
T4-1.5 1241
4.1 Functional Specifications
The SST55LD019A controller should be used when the random access performance needs to be maximized. The
SST55LD019B controller is to be used when the sequential access performance needs to be maximized. The
SST55LD019C controller is to be used when the flash drive capacity and sequential access performance need to
be maximized. Table 4-2 shows the performance and the maximum capacity supported by each controller.
TABLE4-2: Functional Specification of SST55LD019A/B/C
FunctionsSST55LD019ASST55LD019BSST55LD019C
ATA Controller Supported Capacityup to 4 GBup to 8 GB4 GB to 32 GB
with external decoding
ATA Controller Performance-Sustained Write speedUp to 6.0 MB/secUp to 10.0 MB/secUp to 10.0 MB/sec
ATA Controller Performance-Sustained Read speedUp to 10.0 MB/secUp to 10.0 MB/secUp to 10.0 MB/sec
1. Please refer to the reference schematics for high-capacity flash drive design.
The ATA Flash Disk controller firmware contains a list of supported standard NAND flash media devices. Upon initial Poweron, the controller scans all connected flash media devices and reads their device ID. If the device ID matches the listed flash
media devices in the ATA Flash Disk controller, the controller performs drive recognition based on the algorithm provided by
the flash media suppliers, including setting up the bad block table, executing all the necessary handshaking routines for flash
media support, and, finally, performing the low-level format. For Power-up timing specifications, please refer to Table 12-4.
Please contact SST for the most current list of supported NAND Flash media devices.
In the event that the NAND flash media device ID is not recognized by the ATA Flash Disk controller, the user has an option of
adding this device to the controller device table through the manufacturing interface provided by SST. Please contact SST for
the ATA Flash Disk controller manufacturing interface software. If the drive initialization fails, and a visual inspection is unable
to determine the problem, the SST55LD019A / SST55LD019B / SST55LD019C ATA Flash Disk controller provides a comprehensive interface for manufacturing flow debug. This interface not only allows debug of the failure and manual reset of the
initialization process, but also allows customization of user definable options.
5.1 ATA/IDE Interface
The ATA Flash Disk controller interface can be used for manufacturing support. SST provides an example of a DOS-based
solution (an executable routine downloadable from SST’s web site) for manufacturing debug and rework.
5.2 Serial Communication Interface (SCI)
For additional manufacturing flexibility, the SCI bus can be used for manufacturing error reporting. The SCI consists of 3
active signals: SCID
, SCIDIN, and SCICLK.
OUT
6.0 EXTERNAL CLOCK INTERFACE
The external clock interface allows ATA Flash Disk controller operation from an external clock source generated by an RC circuit. Do not use a free running clock as input to the EXTCLKIN pin; an RC circuit must be used. Contact SST for reference
circuit and recommended external clock settings.
While the controller has an internal clock source, the external clock source allows slowing of the system clock operation to
limit the peak current and overcome additional bus loading.
The external clock interface consists of three signals: INTCLKEN, EXTCLKIN, and EXTCLKOUT. The INTCLKEN pin
selects between external and internal clock sources for the ATA Flash Disk controller. If this pin is pulled high before device
Power-on, then the internal clock source is selected; otherwise, the external clock source is selected. The EXTCLKIN and
EXTCLKOUT signals are the input and output clock signals, respectively.
7.0 SECURITY FEATURES
The SST55LD019A/B/C ATA Flash Disk Controller offers added data protection for applications where data security is of the
utmost importance. The secure features are:
1. Protection zones - Customer can enable up to 4 independent protection zones, with two options: Read-only or
Hidden (Read and Write protected) within each protected zone. If protection zones are not enabled the data is
unprotected (default configuration).
2. Password protection - Accessing information within the protected zones can be only achieved through a
customer-unique password.
3. Purge command - The system can issue a Purge command to erase all information stored in the flash media.
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
Data Sheet
8.0 CONFIGURABLE WRITE PROTECT/POWER-DOWN MODES
The WP_PD# pin can be used for either Write Protect mode or Power-down mode, but only one mode is active at any time.
Either mode can be selected through the host command, Set-WP_PD#-Mode, explained in Section 11.2.1.31.
Once the mode is set with this command, the device will stay in the configured mode until the next time this command is
issued. Power-off or reset will not change the configured mode.
8.1 Write Protect Mode
When the device is configured in the Write Protect mode, the WP_PD# pin offers extended data protection. This feature can
be either selected through a jumper or host logic to protect the stored data from inadvertent system writes or erases, and
viruses. The Write Protect feature protects the full address space of the data stored on the flash media.
In the Write Protect mode, the WP_PD# pin should be asserted prior to issuing the destructive commands: Erase-Sector,
Format-Track, Write-DMA, Write-Long-Sector, Write-Multiple, Write-Multiple-without-Erase, Write-Sector(s), Write-Sectorwithout-Erase, or Write-Verify. This will force the ATA Flash Disk Controller to reject any destructive commands from the ATA
interface. All destructive commands will return 51H in the Status register and 04H in the Error register signifying an invalid
command. All non-destructive commands will be executed normally.
8.2 Power-down Mode
When the device is configured in the Power-down mode, if the WP_PD# pin is asserted during a command, the ATA disk
controller completes the current command and returns to the standby mode immediately to save power. Afterwards, the
device will not accept any other commands. Only a Power-on Reset (POR) or hardware reset will bring the device to normal
operation with the WP_PD# pin de-asserted.
Please contact SST to obtain ATA Flash Disk controller reference design schematics including the POR# circuit for
commercial and industrial ATA Flash Disk controller offerings.
VDD/POR#
10%
T
R
90%
90%
T
F
10%
1298 F01.1
FIGURE9-1: Power-on and Brown-out Reset Timing (Commercial Temperature)
TABLE9-1: Power-on and Brown-out Reset Timing (Commercial Temperature)
ItemSymbolMinMaxUnits
V
/POR# Rise Time
DD
V
/POR# Fall Time
DD
1. VDD Rise Time should be faster than or equal to POR# Rise Time.
2. VDD Fall Time should be slower than or equal to POR# Fall Time.
1
2
V
DD
90%
T
R
T
F
90%
200ms
200ms
T9-1.0 1241
POR#
T
W
T
D
1298 F01b.0
FIGURE9-2: Power-on and Brown-out Reset Timing (Industrial Temperature)
TABLE9-2: Power-on and Brown-out Reset Timing (Industrial Temperature)
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
Data Sheet
10.0 I/O TRANSFER FUNCTION
The default operation for the ATA Flash Disk Controller is 16-bit. However, if the host issues a Set-Feature command to enable 8-bit mode, the ATA Flash Disk Controller permits 8-bit data access.
The following table defines the function of various operations.
TABLE 10-1: I/O Function
Function CodeCS3FX#CS1FX#A0-A2IORD#IOWR#D15-D8D7-D0
Invalid ModeV
Standby ModeV
Task File WriteV
Task File ReadV
Data Register WriteV
Data Register ReadV
Control Register WriteV
Alt Status ReadV
Drive AddressV
1. If 8-bit data transfer mode is enabled.
In 8-bit data transfer mode, High Byte is undefined for Data Out. For Data In, X can be V
10101Cylinder High (LBA 23-16)Cylinder High (LBA 23-16)
10110Drive/HeadDrive/Head
10111StatusCommand
01110Alternate StatusDevice Control
01111Drive AddressReserved
IORD# = 0 (IOWR#=1)IOWR# = 0 (IORD#=1)
T11-1.0 1241
11.1.2 ATA Flash Disk Controller Registers
The following section describes the hardware registers used by the host software to issue commands to the ATA Flash Disk
Controller. These registers are often collectively referred to as the Task File registers. The registers are only selectable
through CS3FX#, CS1FX#, and A
2-A0
signals.
11.1.2.1 Data Register (Read/Write)
This 16-bit register is used to transfer data blocks between the device data buffer and the host. It is also the register through
which sector information is transferred on a Format-Track command. Data transfer can be performed in PIO mode.
11.1.2.2 Error Register (Read Only)
This register contains additional information about the source of an error when an error is indicated in bit 0 of the Status register. The bits are defined as follows:
D7D6D5D4D3D2D1D0
BBKUNC0IDNF0ABRT0AMNF
Reset Value
0000 0000b
SymbolFunction
BBKThis bit is set when a Bad Block is detected.
UNCThis bit is set when an Uncorrectable Error is encountered.
IDNFThe requested sector ID is in error or cannot be found.
ABRTThis bit is set if the command has been aborted because of an ATA Flash Disk Controller
status condition: (Not Ready, Write Fault, etc.) or when an invalid command has been
issued. It is required that the host retry any media access command (such as ReadSectors and Write-Sectors) that ends with an error condition.
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
Data Sheet
11.1.2.3 Feature Register (Write Only)
This register provides information regarding features of the ATA Flash Disk Controller that the host can utilize.
11.1.2.4 Sector Count Register
This register contains the numbers of sectors of data requested to be transferred on a Read or Write operation between the
host and the ATA Flash Disk Controller. If the value in this register is zero, a count of 256 sectors is specified. If the command
was successful, this register is zero at command completion. If not successfully completed, the register contains the number
of sectors that need to be transferred in order to complete the request.
11.1.2.5 Sector Number (LBA 7-0) Register
This register contains the starting sector number or bits 7-0 of the Logical Block Address (LBA) for any ATA Flash Disk Controller data access for the subsequent command.
11.1.2.6 Cylinder Low (LBA 15-8) Register
This register contains the low order 8 bits of the starting cylinder address or bits 15-8 of the Logical Block Address.
11.1.2.7 Cylinder High (LBA 23-16) Register
This register contains the high order bits of the starting cylinder address or bits 23-16 of the Logical Block Address.
11.1.2.8 Drive/Head (LBA 27-24) Register
The Drive/Head register is used to select the drive and head. It is also used to select LBA addressing instead of cylinder/
head/sector addressing. The bits are defined as follows:
D7D6D5D4D3D2D1D0
1LBA1
DRVHS3HS2HS1HS0
Reset Value
1010 0000b
SymbolFunction
LBALBA is a flag to select either Cylinder/Head/Sector (CHS) or Logical Block Address mode (LBA).
When LBA=0, Cylinder/Head/Sector mode is selected. When LBA=1, Logical Block Address is
selected. In Logical Block mode, the Logical Block Address is interpreted as follows:
LBA7-LBA0: Sector Number register D7-D0.
LBA15-LBA8: Cylinder Low register D7-D0.
LBA23-LBA16: Cylinder High register D7-D0.
LBA27-LBA24: Drive/Head register bits HS3-HS0.
DRVDRV is the drive number. When DRV=0 (Master), Master is selected.
When DRV=1 (Slave), Slave is selected.
HS3When operating in the Cylinder, Head, Sector mode, this is bit 3 of the head number.
It is Bit 27 in the Logical Block Address mode.
HS2When operating in the Cylinder, Head, Sector mode, this is bit 2 of the head number.
It is Bit 26 in the Logical Block Address mode.
HS1When operating in the Cylinder, Head, Sector mode, this is bit 1 of the head number.
It is Bit 25 in the Logical Block Address mode.
HS0When operating in the Cylinder, Head, Sector mode, this is bit 0 of the head number.
11.1.2.9 Status & Alternate Status Registers (Read Only)
These registers return the ATA Flash Disk Controller status when read by the host. Reading the Status register does
clear a pending interrupt while reading the alternate Status register does not. The meaning of the status bits are
described as follows:
D7D6D5D4D3D2D1D0
BUSYRDYDWF
DSCDRQCORR0ERR
Reset Value
1000 0000b
SymbolFunction
BUSYThe busy bit is set when the ATA Flash Disk Controller has access to the command
buffer and registers and the host is locked out from accessing the Command register and
buffer. No other bits in this register are valid when this bit is set to a 1.
RDYRDY indicates whether the device is capable of performing ATA Flash Disk Controller
operations. This bit is cleared at power up and remains cleared until the ATA Flash Disk
Controller is ready to accept a command.
DWFThis bit, if set, indicates a write fault has occurred.
DSCThis bit is set when the ATA Flash Disk Controller is ready.
DRQThe Data-Request bit is set when the ATA Flash Disk Controller requires that information
be transferred either to or from the host through the Data register.
CORRThis bit is set when a correctable data error has been encountered and the data has
been corrected. This condition does not terminate a multi-sector Read operation.
ERRThis bit is set when the previous command has ended in some type of error. The bits in
the Error register contain additional information describing the error. It is required that
the host retry any media access command (such as Read-Sectors and Write-Sectors)
that end with an error condition.
11.1.2.10 Device Control Register (Write Only)
This register is used to control the ATA Flash Disk Controller interrupt request and to issue a software reset. This
register can be written to even if the device is busy. The bits are defined as follows:
D7D6D5D4D3D2D1D0
XXX
X1SW Rst-IEn0
Reset Value
0000 1000b
SymbolFunction
SW RstThis bit is set to 1 in order to force the ATA Flash Disk Controller to perform a software
Reset operation. The chip remains in reset until this bit is reset to ‘0.’
-IEn0: The Interrupt Enable bit enables interrupts
1: Interrupts from the ATA Flash Disk Controller are disabled
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
Data Sheet
11.1.2.11 Drive Address Register (Read Only)
This register contains the inverted drive select and head select addresses of the currently selected drive. The bits
in this register are as follows:
D7D6D5D4D3D2D1D0
X
-WTG-HS3-HS2-HS1-HS0-DS1-DS0
Reset Value
x111 1110b
SymbolFunction
-WTGThis bit is 0 when a Write operation is in progress, otherwise, it is 1.
-HS3This bit is the negation of bit 3 in the Drive/Head register.
-HS2This bit is the negation of bit 2 in the Drive/Head register.
-HS1This bit is the negation of bit 1 in the Drive/Head register.
-HS0This bit is the negation of bit 0 in the Drive/Head register.
-DS1This bit is 0 when drive 1 is active and selected.
-DS0This bit is 0 when drive 0 is active and selected.
11.1.2.12 Command Register (Write Only)
This register contains the command code being sent to the drive. Command execution begins immediately after
this register is written. The executable commands, the command codes, and the necessary parameters for each
command are listed in Table 11-2.
11.2 ATA Flash Disk Controller Command Description
This section defines the software requirements and the format of the commands the host sends to the ATA Flash Disk
Controller. Commands are issued to the ATA Flash Disk Controller by loading the required registers in the command
block with the supplied parameters, and then writing the command code to the Command register. The manner in which
a command is accepted varies. There are three classes (see Table 11-2) of command acceptance, all dependent on the
host not issuing commands unless the ATA Flash Disk Controller is not busy (BSY=0).
11.2.1 ATA Flash Disk Controller Command Set
Table 11-2 summarizes the ATA Flash Disk Controller command set with the paragraphs that follow describing the
individual commands and the task file for each.
TABLE 11-2: ATA Flash Disk Controller Command Set (1 of 2)
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
Data Sheet
TABLE 11-2: ATA Flash Disk Controller Command Set (Continued) (2 of 2)
CommandCodeFR
1
Translate-Sector87H-YYYY Y
Write-BufferE8H----D-
Write-DMACAH or CBH -YYYY Y
Write-Long-Sector32H or 33H--YYYY
Write-MultipleC5H-YYYY Y
Write-Multiple-Without-EraseCDH-YYYY Y
Write-Sector(s)30H or 31H -YYYY Y
Write-Sector(s)-Without-Erase38H-YYYY Y
Write-Verify3CH-YYYY Y
1. FR - Features register
2. SC - Sector Count register
3. SN - Sector Number register
4. CY - Cylinder registers
5. DH - Drive/Head register
6. LBA - Logical Block Address mode supported (see command descriptions for use)
7. Y - The register contains a valid parameter for this command.
8. For the Drive/Head register:Y means both the ATA Flash Disk Controller and Head parameters are used;
D means only the ATA Flash Disk Controller parameter is valid and not the Head parameter.
SC
2
SN
3
CY
4
DH
5
6
LBA
T11-2.1 1241
11.2.1.1 Check-Power-Mode - 98H or E5H
Bit ->76543210
Command (7)
C/D/H (6)
XDriveX
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
This command checks the power mode. Because the ATA Flash Disk Controller can recover from sleep
in 200 ns, Idle mode is never enabled. ATA Flash Disk Controller sets BSY, sets the Sector Count
register to 00H, clears BSY, and generates an interrupt.
The use of this command is not recommended. This command returns an error.
11.2.1.3 Execute-Drive-Diagnostic - 90H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
XDriveX
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
C0H
Cylinder High (LBA 23-16)
Cylinder Low (LBA 15-8)
Sector Number (LBA 7-0)
Sector Count
X
90H
X
X
X
X
X
This command performs the internal diagnostic tests implemented by the ATA Flash Disk Controller.
If the Drive bit is ignored and the diagnostic command is executed by both the Master and the Slave
with the Master responding with status for both devices.
The diagnostic codes shown in Table 11-3 are returned in the Error register at the end of the command.
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
11.2.1.4 Flush-Cache - E7H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
This command causes the ATA Flash Disk Controller to complete writing data from its cache. The ATA
Flash Disk Controller then clears BSY and generates an interrupt.
11.2.1.5 Format-Track - 50H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
1LBA1DriveHead (LBA 27-24)
XDriveX
Cylinder High (LBA 23-16)
Cylinder Low (LBA 15-8)
Data Sheet
E7H
X
X
X
X
X
50H
X (LBA 7-0)
Sector Count
X
This command is accepted for host backward compatibility. The ATA Flash Disk Controller expects a
sector buffer of data from the host to follow the command with the same protocol as the Write-Sector(s)
command although the information in the buffer is not used by the ATA Flash Disk Controller. The use of
this command is not recommended.
11.2.1.6 Identify-Drive - ECH
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
The Identify-Drive command enables the host to receive parameter information from the ATA Flash Disk
Controller. This command has the same protocol as the Read-Sector(s) command. The parameter
words in the buffer have the arrangement and meanings defined in Table 11-4. All reserved bits or
words are zero. Table 11-4 gives the definition for each field in the Identify-Drive information.
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
TABLE11-4:Identify-Drive Information
Word
Address
90xxxxH2Time required for enhanced security erase unit completion
91xxxxH2Current advanced power management value
92-1270000H72Reserved
128xxxxH2Security Status
129-1590000H62Vendor unique bytes
160xxxxH2CFA power mode description
161-2550000H190Reserved
1. bbbb - default value set by controller. The selections could be user programmable.
2. n - calculated data based on product configuration
3. eeee - the default value is 2020H
4. dddd - unique number of each device
5. aaaa - any unique SST firmware revision
6. cccc - default value is “xxxMB ATA Flash Disk” where xxx is the flash drive capacity.
11.2.1.6.1 Word 0: General Configuration
This field informs the host that this is a non-magnetic, hard sectored, removable storage device with a
transfer rate greater than 10 MByte/sec and is not MFM encoded.
Default
Val ue
The user has an option to change the model number during manufacturing.
Tot al
BytesData Field Type Information
Data Sheet
T11-4.3 1241
11.2.1.6.2 Word 1: Default Number of Cylinders
This field contains the number of translated cylinders in the default translation mode. This value will be
the same as the number of cylinders.
11.2.1.6.3 Word 3: Default Number of Heads
This field contains the number of translated heads in the default translation mode.
11.2.1.6.4 Word 6: Default Number of Sectors per Track
This field contains the number of sectors per track in the default translation mode.
11.2.1.6.5 Word 7-8: Number of Sectors
This field contains the number of sectors per ATA Flash Disk Controller. This double word value is also
the first invalid address in LBA translation mode. This field is only required by CF feature set support.
11.2.1.6.6 Word 10-19: Serial Number
The contents of this field are right justified and padded with spaces (20H). The right-most ten bytes are
a SST preset, unique ID. The left-most ten bytes are a user-programmable value with a default value of
spaces.
11.2.1.6.7 Word 20: Buffer Type
This field defines the buffer capability:
0002H: a dual ported multi-sector buffer capable of simultaneous data transfers to or from the host and
the ATA Flash Disk Controller.
11.2.1.6.8 Word 21: Buffer Size
This field defines the buffer capacity in 512 Byte increments. SST’s ATA Flash Disk Controller has up to
2 sector data buffer for host interface.
11.2.1.6.9 Word 22: ECC Count
This field defines the number of ECC bytes used on each sector in the Read- and Write-Long-Sector
commands.
This field contains the revision of the firmware for this product.
11.2.1.6.11 Word 27-46: Model Number
This field is reserved for the model number for this product.
11.2.1.6.12 Word 47: Read-/Write-Multiple Sector Count
This field contains the maximum number of sectors that can be read or written per interrupt using the
Read-Multiple or Write-Multiple commands.
11.2.1.6.13 Word 49: Capabilities
BitFunction
13Standby Timer
0: forces sleep mode when host is inactive.
11IORDY Support
1: ATA Flash Disk Controller supports PIO Mode-4.
9LBA support
1: ATA Flash Disk Controller supports LBA mode addressing.
8DMA Support
1: DMA mode is supported.
ATA Flash Disk Controller
11.2.1.6.14 Word 51: PIO Data Transfer Cycle Timing Mode
This field defines the mode for PIO data transfer. ATA Flash Disk Controller supports up to PIO Mode-4.
11.2.1.6.15 Word 53: Translation Parameters Valid
BitFunction
01: words 54-58 are valid and reflect the current number of cylinders, heads and sectors.
11: words 64-70 are valid to support PIO Mode-3 and 4.
11.2.1.6.16 Word 54-56: Current Number of Cylinders, Heads, Sectors/Track
These fields contains the current number of user addressable Cylinders, Heads, and Sectors/Track in
the current translation mode.
11.2.1.6.17 Word 57-58: Current Capacity
This field contains the product of the current cylinders times heads times sectors.
11.2.1.6.18 Word 59: Multiple Sector Setting
This field contains a validity flag in the Odd Byte and the current number of sectors that can be
transferred per interrupt for Read/Write Multiple in the Even Byte. The Odd Byte is always 01H which
indicates that the Even Byte is always valid.
The Even Byte value depends on the value set by the Set Multiple command. The Even Byte of this
word by default contains a 00H which indicates that Read/Write Multiple commands are not valid.
11.2.1.6.19 Word 60-61: Total Sectors Addressable in LBA Mode
This field contains the number of sectors addressable for the ATA Flash Disk Controller in LBA mode only.
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
11.2.1.6.20 Word 63: Multi-word DMA Transfer Mode
This field identifies the multi-word DMA transfer modes supported by the ATA Flash Disk Controller and
indicates the mode that is currently selected. Only one DMA mode can be selected at any given time.
BitFunction
15-11Reserved
10Multi-word DMA mode 2 selected
1: Multi-word DMA mode 2 is selected and bits 8 and 9 are cleared to 0
0: Multi-word DMA mode 2 is not selected.
9Multi-word DMA mode 1 selected
1: Multi-word DMA mode 1 is selected and 8 and 10 should be cleared to 0.
0: Multi-word DMA mode 1 is not selected.
8Multi-word DMA mode 0 selected
1: Multi-word DMA mode 0 is selected and bits 9 and 10 are cleared to 0.
0: Multi-word DMA mode 0 is not selected.
7-3Reserved
2Multi-word DMA mode 2 supported
1: Multi-word DMA mode 2 and below are supported and Bits 0 and 1 are set to 1.
1Multi-word DMA mode 1 supported
1: Multi-word DMA mode 1 and below are supported.
0Multi-word DMA mode 0 supported
1: Multi-word DMA mode 0 is supported.
Data Sheet
11.2.1.6.21 Word 64: Advanced PIO Data Transfer Mode
BitFunction
01: ATA Flash Disk Controller supports PIO Mode-3.
11: ATA Flash Disk Controller supports PIO Mode-4.
11.2.1.6.22 Word 65: Minimum Multi-word DMA Transfer Cycle Time Per Word
This field defines the minimum Multi-word DMA transfer cycle time per word. This field defines, in
nanoseconds, the minimum cycle time that the ATA Flash Disk Controller supports when performing
Multi-word DMA transfers on a per word basis. SST’s ATA Flash Disk Controller supports up to Multiword DMA Mode-2, so this field is set to 120ns.
11.2.1.6.23 Word 66: Device Recommended Multi-word DMA Cycle Time
This field defines the ATA Flash Disk Controller recommended Multi-word DMA transfer cycle time. This
field defines, in nanoseconds, the minimum cycle time per word during a single sector host transfer
while performing a multiple sector READ DMA or WRITE DMA command for any location on the media
under nominal conditions. If a host runs at a faster cycle rate by operating at a cycle time of less than
this value, the ATA Flash Disk Controller may negate DMARQ for flow control. The rate at which
DMARQ is negated could result in reduced throughput despite the faster cycle rate. Transfer at this rate
does not ensure that flow control will not be used, but implies that higher performance may result. SST’s
ATA Flash Disk Controller supports up to Multi-word DMA Mode-2, so this field is set to 120 ns.
11.2.1.6.24 Word 67: Minimum PIO Transfer Cycle Time Without Flow Control
The ATA Flash Disk Controller’s minimum cycle time is 120 ns.
11.2.1.6.25 Word 68: Minimum PIO Transfer Cycle Time With IORDY
The ATA Flash Disk Controller’s minimum cycle time is 120 ns, e.g., PIO Mode-4.
11.2.1.6.26 Word 80: Major Version Number
If not 0000H or FFFFH, the device claims compliance with the major version(s) as indicated by bits (6:1)
being set to one. Since ATA standards maintain downward compatibility, a device may set more than
one bit. SST55LD019x supports ATA-1 to ATA-6.
11.2.1.6.27 Word 81: Minor Version Number
If an implementer claims that the revision of the standard they used to guide their implementation does
not need to be reported or if the implementation was based upon a standard prior to the ATA-3
standard, word 81 should be 0000H or FFFFH.
A value of 0019H reported in word 81 indicates ATA/ATAPI-6 T13 1410D revision 3a guided the
implementation.
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
11.2.1.6.28 Words 82-84: Features/command sets supported
Words 82, 83, and 84 indicate the features and command sets supported.
Word 82
BitFunction
150: Obsolete
141: NOP command is supported
131: Read Buffer command is supported
121: Write Buffer command is supported
110: Obsolete
100: Host Protected Area feature set is not supported
90: Device Reset command is not supported
80: Service interrupt is not supported
70: Release interrupt is not supported
61: Look-ahead is supported
51: Write cache is supported
40: Packet Command feature set is not supported
31: Power Management feature set is supported
20: Removable Media feature set is not supported
11: Security Mode feature set is supported
00: SMART feature set is not supported
Word 83
The values in this word should not be depended on by host implementers.
BitFunction
150: Provides indication that the features/command sets supported words are not valid
141: Provides indication that the features/command sets supported words are valid
13-90: Reserved
81: Set-Max security extension supported
7-50: Reserved
40: Removable Media Status feature set is not supported
31: Advanced Power Management feature set is supported
21: CFA feature set is supported
10: Read DMA Queued and Write DMA Queued commands are not supported
00: Download Microcode command is not supported
Word 84
The values in this word should not be depended on by host implementers.
BitFunction
150: Provides indication that the features/command sets supported words are valid
141: Provides indication that the features/command sets supported words are valid
13-00: Reserved
11.2.1.6.29 Words 85-87: Features/command sets enabled
Words 85, 86, and 87 indicate features/command sets enabled.
The host can enable/disable the features or command set only if they are supported in Words 82-84.
Word 85
BitFunction
150: Obsolete
140: NOP command is not enabled
1: NOP command is enabled
130: Read Buffer command is not enabled
1: Read Buffer command is enabled
120:Write Buffer command is not enabled
1: Write Buffer command is enabled
110: Obsolete
100: Host Protected Area feature set is not enabled
90: Device Reset command is not enabled
80: Service interrupt is not enabled
7 0: Release interrupt is not enabled
60: Look-ahead is not enabled
1: Look-ahead is enabled
50: Write cache is not enabled
1: Write cache is enabled
40: Packet Command feature set is not enabled
30: Power Management feature set is not enabled
1: Power Management feature set is enabled
20: Removable Media feature set is not enabled
10: Security Mode feature set has not been enabled via the Security Set Password command
1: Security Mode feature set has been enabled via the Security Set Password command
00: SMART feature set is not enabled
Word 86
BitFunction
15-90: Reserved
81: Set-Max security extension supported
7-50: Reserved
40: Removable Media Status feature set is not enabled
30: Advanced Power Management feature set is not enabled via the Set Features command
1: Advanced Power Management feature set is enabled via the Set Features command
21: CFA feature set is enabled
10: Read DMA Queued and Write DMA Queued commands are not enabled
00: Download Microcode command is not enabled
Word 87
The values in this word should not be depended on by host implementers.
BitFunction
150: Provides indication that the features/command sets supported words are valid
141: Provides indication that the features/command sets supported words are valid
13-00: Reserved
This word indicates the presence and status of a CFA feature set device that supports CFA power mode 1.
BitFunction
13Power Level 1 Command Support
1: Power Level 1 commands not supported
0: Power Level 1 commands supported
12Power Level 1 Command Enable
1: Power Level 1 Commands not enabled
0: Power Level 1 Commands enabled
11-0This field indicates the maximum average RMS current in mA required during 3.3V or 5V
device operation in CFA power mode 1.
11.2.1.7 Idle - 97H or E3H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
XDriveX
ATA Flash Disk Controller
97H or E3H
X
X
X
Timer Count (5 msec increments)
X
This command causes the ATA Flash Disk Controller to set BSY, enter the Idle mode, clear BSY and
generate an interrupt. If the sector count is non-zero, it is interpreted as a timer count with each count
being 5 milliseconds and the automatic Power-down mode is enabled. If the sector count is zero, the
automatic Power-down mode is also enabled, the timer count is set to 3, with each count being 5 ms.
Note that this time base (5 msec) is different from the ATA specification.
11.2.1.8 Idle-Immediate - 95H or E1H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
This command causes the ATA Flash Disk Controller to set BSY, enter the Idle mode, clear BSY and
generate an interrupt.
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
11.2.1.9 Initialize-Drive-Parameters - 91H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
This command enables the host to set the number of sectors per track and the number of heads per
cylinder. Only the Sector Count and the Drive/Head registers are used by this command.
11.2.1.10 NOP - 00H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
X0XDriveMax Head (no. of heads-1)
Number of Sectors
XDriveX
Data Sheet
91H
X
X
X
X
00H
X
X
X
X
X
This command always fails with the ATA Flash Disk Controller returning command aborted.
11.2.1.11 Read-Buffer - E4H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
The Read-Buffer command enables the host to read the current contents of the ATA Flash Disk
Controller’s sector buffer. This command has the same protocol as the Read-Sector(s) command
This command executes in a similar manner to the Read-Sector(s) command except for the following:
- the host initializes the DMA channel prior to issuing the command;
- data transfers are qualified by DMARQ and are performed by the DMA channel;
- the ATA Flash Disk Controller issues only one interrupt per command to indicate that data transfer has
terminated and status is available.
During the DMA transfer phase of a Read-DMA command, the ATA Flash Disk Controller will provide
the status of the BSY bit or the DRQ bit until the command is completed.
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
C8H
1LBA1DriveHead (LBA 27-24)
Cylinder High (LBA 23-16)
Cylinder Low (LBA 15-8)
Sector Number (LBA 7-0)
Sector Count
X
11.2.1.13 Read-Multiple - C4H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
Note: The current revision of the ATA Flash Disk Controller can support up to a block count of 1 as indicated in the Identify-Drive Com-
mand information.
1LBA1DriveHead (LBA 27-24)
The Read-Multiple command is similar to the Read-Sector(s) command. Interrupts are not generated
on every sector, but on the transfer of a block which contains the number of sectors defined by a Set
Multiple command.
Command execution is identical to the Read-Sectors operation except that the number of sectors
defined by a Set Multiple command are transferred without intervening interrupts. DRQ qualification of
the transfer is required only at the start of the data block, not on each sector.
The block count of sectors to be transferred without intervening interrupts is programmed by the SetMultiple-Mode command, which must be executed prior to the Read-Multiple command. When the
Read-Multiple command is issued, the Sector Count register contains the number of sectors (not the
number of blocks or the block count) requested. If the number of requested sectors is not evenly
divisible by the block count, as many full blocks as possible are transferred, followed by a final, partial
block transfer. The partial block transfer is for n sectors, where
If the Read-Multiple command is attempted before the Set-Multiple-Mode command has been executed
or when Read-Multiple commands are disabled, the Read-Multiple operation is rejected with an
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
Aborted Command error. Disk errors encountered during Read-Multiple commands are posted at the
beginning of the block or partial block transfer, but DRQ is still set and the data transfer will take place
as it normally would, including transfer of corrupted data, if any.
Interrupts are generated when DRQ is set at the beginning of each block or partial block. The error
reporting is the same as that on a Read-Sector(s) command. This command reads from 1 to 256
sectors as specified in the Sector Count register. A sector count of 0 requests 256 sectors. The transfer
begins at the sector specified in the Sector Number register.
At command completion, the Command Block registers contain the cylinder, head and sector number of
the last sector read.
If an error occurs, the read terminates at the sector where the error occurred. The Command Block
registers contain the cylinder, head and sector number of the sector where the error occurred. The
flawed data is pending in the sector buffer.
Subsequent blocks or partial blocks are transferred only if the error was a correctable data error. All
other errors cause the command to stop after transfer of the block which contained the error.
11.2.1.14 Read-Long-Sector - 22H or 23H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
1LBA1DriveHead (LBA 27-24)
Cylinder High (LBA 23-16)
Cylinder Low (LBA 15-8)
Sector Number (LBA 7-0)
Data Sheet
22H or 23H
X
X
The Read-Long-Sector command performs similarly to the Read-Sector(s) command except that it
returns 516 Bytes of data instead of 512 Bytes. During a Read-Long-Sector command, the ATA Flash
Disk Controller does not check the ECC bytes to determine if there has been a data error. Only singlesector Read-Long-Sector operations are supported. The transfer consists of 512 Bytes of data
transferred in Word-Mode followed by 4 Bytes of ECC data transferred in Byte-Mode. This command
has the same protocol as the Read-Sector(s) command. Use of this command is not recommended.
This command returns the native maximum address. The native maximum address is the highest
address accepted by the device in the factory default condition. The native maximum address is the
maximum address that is valid when using the Set-Max-Address command.
The Read-Native-Max-Address command output will take the following format:
Bit ->76543210
C/D/H
Cyl High
Cyl Low
Sec Num
Sec Cnt
XDriveNative max address (LBA 27:24)
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
F8H
X
X
X
X
X
Native max address (LBA 23-16)
Native max address (LBA 15-8)
Native max address (LBA 7-0)
X
C/D/HMaximum native LBA bits (27:24) for native max address on the device.
Drive indicates the selected device.
Cyl HighMaximum native LBA bits (23:16) for native max address on the device.
Cyl LowMaximum native LBA bits (15:8) for native max address on the device.
Sec NumMaximum native LBA bits (7:0) for native max address on the device.
11.2.1.16 Read-Sector(s) - 20H or 21H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
1LBA1DriveHead (LBA 27-24)
This command reads from 1 to 256 sectors as specified in the Sector Count register. A sector count of
0 requests 256 sectors. The transfer begins at the sector specified in the Sector Number register. When
this command is issued and after each sector of data (except the last one) has been read by the host,
the ATA Flash Disk Controller sets BSY, puts the sector of data in the buffer, sets DRQ, clears BSY, and
generates an interrupt. The host then reads the 512 Bytes of data from the buffer.
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
At command completion, the Command Block registers contain the cylinder, head and sector number of
the last sector read. If an error occurs, the read terminates at the sector where the error occurred. The
Command Block registers contain the cylinder, head, and sector number of the sector where the error
occurred. The flawed data is pending in the sector buffer.
11.2.1.17 Read-Verify-Sector(s) - 40H or 41H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
This command is identical to the Read-Sectors command, except that DRQ is never set and no data is
transferred to the host. When the command is accepted, the ATA Flash Disk Controller sets BSY.
When the requested sectors have been verified, the ATA Flash Disk Controller clears BSY and
generates an interrupt. Upon command completion, the Command Block registers contain the cylinder,
head, and sector number of the last sector verified.
If an error occurs, the verify terminates at the sector where the error occurs. The Command Block
registers contain the cylinder, head and sector number of the sector where the error occurred. The
Sector Count register contains the number of sectors not yet verified.
1LBA1DriveHead (LBA 27-24)
Cylinder High (LBA 23-16)
Cylinder Low (LBA 15-8)
Sector Number (LBA 7-0)
Data Sheet
40H or 41H
Sector Count
X
11.2.1.18 Recalibrate - 1XH
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
This command is effectively a no operation and is provided for compatibility purposes.
This command requests extended error information for the previous command. Table 11-5 defines the
valid extended error codes for the ATA Flash Disk Controller. The extended error code is returned to the
host in the Error register.
TABLE11-5:Extended Error Codes
Extended Error CodeDescription
00HNo Error Detected
01HSelf Test OK (No Error)
09HMiscellaneous Error
20HInvalid Command
21HInvalid Address (Requested Head or Sector Invalid)
2FHAddress Overflow (Address Too Large)
35H, 36HSupply or generated Voltage Out of Tolerance
11HUncorrectable ECC Error
18HCorrected ECC Error
05H, 30-34H, 37H, 3EHSelf Test or Diagnostic Failed
10H, 14HID Not Found
3AHSpare Sectors Exhausted
1FHData Transfer Error / Aborted Command
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
11.2.1.20 Security-Disable-Password - F6H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
This command requests a transfer of a single sector of data from the host. Table 11-6 defines the
content of this sector of information. If the password selected by Word 0 matches the password
previously saved by the device, the device disables the lock mode. This command does not change the
Master password that may be reactivated later by setting a User password.
TABLE11-6:Security Password Data Content
WordContent
0Control Word
Bit 0: Identifier
0: Compare User Password
1: Compare Master Password
Bit 1-15: Reserved
1-16Password
(32 Bytes)
17-256Reserved
XDriveX
Data Sheet
F6H
X
X
X
X
X
T11-6.0 1241
11.2.1.21 Security-Erase-Prepare - F3H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
This command is issued immediately before the Security-Erase-Unit command to enable device
erasing and unlocking. This command prevents accidental erasure of the data in the flash media.
This command requests transfer of a single sector of data from the host. Table 11-6 defines the content
of this sector of information. If the password does not match the password previously saved by the ATA
Flash Disk Controller, the ATA Flash Disk Controller rejects the command with command aborted. The
Security-Erase-Prepare command should be completed immediately prior to the Security-Erase-Unit
command. If the ATA Flash Disk Controller receives a Security-Erase-Unit command without an
immediately prior Security-Erase-Prepare command, the ATA Flash Disk Controller aborts the SecurityErase-Unit command.
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
F4H
XDriveX
X
X
X
X
X
11.2.1.23 Security-Freeze-Lock - F5H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
The Security-Freeze-Lock command sets the ATA Flash Disk Controller to Frozen mode. After
command completion, any other commands that update the ATA Flash Disk Controller Lock mode are
rejected. Frozen mode is disabled by power off or hardware reset. If Security-Freeze-Lock is issued
when the ATA Flash Disk Controller is in Frozen mode, the command executes and the ATA Flash Disk
Controller remains in Frozen mode. After command completion, the sector count register should be set
to 0. Commands disabled by Security-Freeze-Lock are:
- Security-Set-Password
- Security-Unlock
- Security-Disable-Password
- Security-Erase-Unit
If security mode feature set is not supported, this command will be handled as an invalid command.
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
11.2.1.24 Security-Set-Password - F1H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
This command requests a transfer of a single sector of data from the host. Table 11-7 defines the
content of the sector of information. The data transferred controls the function of this command.
TABLE11-7:Security Password Data Content
WordC o ntent
0Control Word
1-16Password
17-256Reserved
XDriveX
Bit 0: Identifier
0: Compare User Password
1: Compare Master Password
Bit 1-15: Reserved
(32 Bytes)
Data Sheet
F1H
X
X
X
X
X
T11-7.0 1241
Table 11-8 defines the interaction of the identifier and security level bits.
TABLE11-8:Identifier and Security Level Bit Interaction
Identifier LevelCommand result
UserHighThe password supplied with the command is saved as the new User password. The lock
mode will be enabled from the next Power-on or hardware reset. The
Controller
password.
UserMaximum The password supplied with the command is saved as the new user password. The Lock
mode will be enabled from the next Power-on reset or hardware reset. The ATA Flash
Disk Controller
previously set is still stored in the
the
MasterHigh or
Maximum
This combination sets a Master password but does not enable or disable the Lock mode.
The security level is not changed.
will then be unlocked by either the User password or the previously set Master
will then be unlocked by only the User password. The Master password
ATA Flash Disk Controller will not be used to unlock
This command requests transfer of a single sector of data from the host. Table 11-6 defines the content
of this sector of information. If the identifier bit is set to Master and the device is in high security level,
then the password supplied is compared with the stored Master password. If the device is in the
maximum security level, then the unlock command will be rejected. If the identifier bit is set to user, then
the device compares the supplied password with the stored User password. If the password compare
fails, the device returns “command aborted” to the host and decrements the unlock counter. This
counter is initially set to five and is decremented for each password mismatch when Security-Unlock is
issued and the device is locked. Once this counter reaches zero, the Security-Unlock and SecurityErase-Unit commands are command aborted until after a Power-on reset or a hardware reset is
received. Security-Unlock commands issued when the device is unlocked have no effect on the unlock
counter.
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
F2H
XDriveX
X
X
X
X
X
11.2.1.26 Seek - 7XH
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
This command is effectively a no operation, although it does perform a range check of cylinder and
head or LBA address and returns an error if the address is out of range.
Features 01H and 81H are used to enable and clear 8-bit data transfer mode. If the 01H feature
command is issued all data transfers will occur on the low order D
signal will not be asserted for data register accesses.
Features 02H and 82H allow the host to enable or disable write cache in the ATA Flash Disk Controllers
that implement write cache. When the subcommand Disable-Write-Cache is issued, the ATA Flash Disk
Controller should initiate the sequence to flush cache to non-volatile memory before command
completion.
Feature 03H allows the host to select the transfer mode by specifying a value in the Sector Count
register. The upper 5 bits define the type of transfer and the low order 3 bits encode the mode value.
One PIO mode is selected at all times. The host may change the selected modes by the Set-Features
command.
Feature 05H allows the host to enable advanced power management. To enable advanced power
management, the host writes the Sector Count register with the desired advanced power management
level and then executes a Set-Features command with subcommand code 05H. The power
management level is a scale from the lowest power consumption setting of 01H to the maximum
performance level of FEH. Table 11-10 shows these values.
TABLE11-10:Advanced Power Management Levels
Level Sector Count Value
Maximum performanceFEH
Intermediate power management levels without standby81H-FDH
Minimum power consumption without standby80H
Intermediate power management levels with standby02H-7FH
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
Device performance may increase with increasing power management levels. Device power
consumption may increase with increasing power management levels. The power management levels
may contain discrete bands. For example, a ATA Flash Disk Controller may implement one power
management method from 80H to A0H and a higher performance, higher power consumption method
from level A1H to FEH.
Feature 85H disables Advanced Power Management. Subcommand 85H may not be implemented on
all devices that implement Set Features subcommand 05H.
Features 0AH and 8AH are used to enable and disable Power Level 1 commands. Feature 0AH is the
default feature for the ATA Flash Disk Controller with extended power.
Features 55H and BBH are the default features for the ATA Flash Disk Controller; thus, the host does
not have to issue this command with these features unless it is necessary for compatibility reasons.
Feature code 9AH enables the host to configure the device to best meet the host system’s power
requirements. The host sets a value in the Sector Count register that is equal to one-fourth of the
desired maximum average current (in mA) that the device should consume. For example, if the Sector
Count register is set to 6, the device would be configured to provide the best possible performance
without exceeding 24 mA. Upon completion of the command, the device responds to the host with the
range of values supported by the device. The minimum value is set in the Cylinder Low register, and the
maximum value is set in the Cylinder High register. The default value, after a power on reset, is to
operate at the highest performance and therefore the highest current mode.
The device will accept values outside this programmable range, but will operate either at the lowest
power or highest performance as appropriate.
Features 66H and CCH can be used to enable and disable whether the Power-on Reset (POR) Defaults
will be set when a software reset occurs.
Data Sheet
TABLE11-11:Transfer Mode Values
ModeBits [7:3]Bits [2:0]
PIO default mode00000b000b
PIO default mode, disable IORDY00000b001b
PIO flow control transfer mode00001bmode
Multi-word DMA mode00100bmode
ReservedOtherN/A
1. Mode = transfer mode number, all other values are not valid
1
1
T11-11.0 1241
11.2.1.28 Set-Max - F9H
Individual Set-Max commands are identified by the value placed in the Features register. Table 11-12 shows these
Features register values.
The Set-Max-Address command must be immediately preceded by a successful execution of a ReadNative-Max-Address command. Otherwise the Set-Max-Address command will be interpreted as
another Set-Max command or aborted as an invalid command.
C/D/H
LBA1: The maximum address value is an LBA value.
0: The maximum address value is a CHS value.
DriveThe selected device.
Bits (3:0)The native max address head number
(Identify-Device word 3 minus one) or LBA bits (27:24) value to be set.
Cyl HighContains the maximum cylinder high or LBA bits (23:16) value to be set
Cyl LowContains the maximum cylinder low or LBA bits (15:8) value to be set
Sec NumContains the native max address sector number (Identify-Device word 6) or
LBA bits (7:0) value to be set
Sec Cnt
VVValue Volatile
1: The device preserves the maximum values over Power-on or hardware reset.
0: The device reverts to the most recent non-volatile maximum address value
setting over Power-on or hardware reset.
After successful command completion, all Read and Write access attempts to addresses greater than
specified by the successful Set-Max-Address command is rejected with an IDNF error. Identify-Device
response words 1, 54, 57, 58, 60, and 61 reflect the maximum address set with this command.
Hosts should not issue more than one non-volatile Set-Max-Address command after a Power-on or hardware reset.
Devices should report an IDNF error upon receiving a second non-volatile Set-Max-Address command after a
Power-on or hardware reset.
F9H
Set-Max LBA
Set-Max LBA
XVV
X
The contents of Identify-Device words and the max address will not be changed if a Set-Max-Address command
fails.
After a successful Set-Max-Address command using a new maximum cylinder number value the content of all
Identify-Device words must comply with the following:
1. The content of words 3, 6, 55, and 56 are unchanged
2. The content of word 1 will equal (the new Set-Max cylinder number + 1) or 16,383, whichever is less
3. The content of words (61:60) equals [(the new content of word 1 as determined by the successful Set-MaxAddress command) * (the content of word 3) * (the content of word 6)]
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
Data Sheet
4. If the content of words (61:60) as determined by a successful Set-Max-Address command is less than
16,514,064, then the content of word 54 should be equal to [(the content of words (61:60)) ÷ ((the content of
Identify-Device word 55) * (the content of word 56)] or 65,535, whichever is less.
5. If the content of word (61:60), as determined by a successful Set-Max-Address command, is greater than
16,514,064, then word 54 should equal the whole number result of [[(16,514,064) ÷ [(the content of word 55) *
(the content of word 56)]] or 65,535 whichever is less). The content of words (58:57) should be equal to [(the
new content of word 54 as determined by the successful Set-Max-Address command) * (the content of word
55) * (the content of word 56)].
After a successful Set-Max-Address command using a new maximum LBA address the content of all IdentifyDevice words must comply with the following:
• The content of words (61:60) should equal the new Maximum LBA address + 1.
• If the content of words (61:60) is greater than 16,514,064 and if the device does not support CHS addressing,
then the content of words 1, 3, 6, 54, 55, 56, and (58:57) should equal zero.
If the device supports CHS addressing:
• The content of words 3, 6, 55, and 56 are unchanged.
• If the new content of words (61:60) is less than 16,514,064, then the content of word 1 should equal [(the new
content of words (61:60)) ÷ [(the content of word 3) * (the content of word 6)]] or 65,535, whichever is less.
• If the new content of words (61:60) is greater than or equal to 16,514,064, then the content of word 1 should be
equal to 16,383.
• If the new content of words (61:60) is less than 16,514,064, then the content of word 54 should equal [(the new
content of words (61:60)) ÷ [(the content of word 55) * (the content of word 56)]].
• If the new content of words (61:60) is greater than or equal to 16,514,064, then the content of word 54 should
equal 16,383.
• Words (58:57) should equal [(the content of word 54) * (the content of word 55) * (the content of word 56).
F9H with the content of the Features register equal to 01H.
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
This command requests a transfer of a single sector of data from the host. Table 11-1 defines the
content of this sector of information. The password is retained by the device until the next power cycle.
When the device accepts this command, the device is in Set_Max_Locked state.
If this command is immediately preceded by a Read-Native-Max-Address command, it will be
interpreted as a Set-Max-Address command.
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
F9H
XDriveN/A
N/A
N/A
N/A
N/A
01H
TABLE11-13:Set-Max-Set-Password Data Content
WordConten t
0Reserved
1-16Password (32 Bytes)
17-255Reserved
11.2.1.28.3 Set-Max-Lock
F9H with the content of the Features register equal to 02H.
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
The Set-Max-Lock command sets the device into Set_Max_Locked state. After this command is
completed, any other Set-Max commands except Set-Max-Unlock and Set-Max-Freeze-Lock are
rejected. The device remains in this state until a power cycle or the acceptance of a Set-Max-Unlock or
Set-Max-Freeze-Lock command.
If this command is immediately preceded by a Read-Native-Max-Address command, it will be
interpreted as a Set-Max-Address command.
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
11.2.1.28.4 Set-Max-Unlock
F9H with the content of the Features register equal to 03H.
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
This command requests a transfer of a single sector of data from the host. Table 11-13 defines the
content of this sector of information.
The password supplied in the sector of data transferred will be compared with the stored Set-Max
password.
If the password compare fails, then the device returns command aborted and decrements the unlock
counter. On the acceptance of the Set-Max-Lock command, this counter is set to a value of five and is
decremented for each password mismatch when Set-Max-Unlock is issued and the device is locked.
When this counter reaches zero, then the Set-Max-Unlock command returns “command aborted” until a
power cycle.
If the password compare matches, then the device transitions to the Set_Max_Unlocked state and all
Set-Max commands will be accepted.
If this command is immediately preceded by a Read-Native-Max-Address command, it will be
interpreted as a Set-Max-Address command.
XDriveN/A
Data Sheet
F9H
N/A
N/A
N/A
N/A
03H
11.2.1.28.5 Set-Max-Freeze-Lock
F9H with the content of the Features register equal to 04H.
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
The Set-Max-Freeze-Lock command sets the device to Set_Max_Frozen state. After command
completion any subsequent Set-Max commands are rejected.
Commands disabled by Set-Max-Freeze-Lock are:
- Set-Max-Address
- Set-Max-Set-Password
- Set-Max-Lock
- Set-Max-Unlock
If this command is immediately preceded by a Read-Native-Max-Address command, it will be
This command enables the ATA Flash Disk Controller to perform Read and Write-Multiple operations
and establishes the block count for these commands. The Sector Count register is loaded with the
number of sectors per block. Upon receipt of the command, the ATA Flash Disk Controller sets BSY to 1
and checks the Sector Count register.
If the Sector Count register contains a valid value (see Section 11.2.1.6.12 for details) and the block
count is supported, the value is loaded for all subsequent Read-Multiple and Write-Multiple commands
and execution of those commands is enabled. If a block count is not supported, an Aborted Command
error is posted, and Read-Multiple and Write-Multiple commands are disabled. If the Sector Count
register contains 0 when the command is issued, Read and Write-Multiple commands are disabled. At
power on, or after a hardware or (unless disabled by a Set Feature command) software reset, the
default mode is Read and Write-Multiple disabled.
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
C6H
XDriveX
X
X
X
Sector Count
X
11.2.1.30 Set-Sleep-Mode - 99H or E6H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
This command causes the ATA Flash Disk Controller to set BSY, enter the Sleep mode, clear BSY and
generate an interrupt. Recovery from sleep mode is accomplished by simply issuing another command
(a reset is permitted but not required). Sleep mode is also entered when internal timers expire so the
host does not need to issue this command except when it wishes to enter Sleep mode immediately. The
default value for the timer is 15 milliseconds.
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
11.2.1.31 Set-WP_PD#-Mode - 8BH
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
This command configures the WP_PD# pin for either the Write Protect mode or the Power-down mode.
When the host sends this command to the device with the value AAH in the feature register, the
WP_PD# pin is configured for the Write Protect mode described in Section 8.1. The Write Protect mode
is the factory default setting. When the host sends this command to the device with the value 55H in the
feature register, WP_PD# is configured for the Power-down mode.
All values in the C/D/H register, the Cylinder Low register, the Cylinder High register, the Sector Number
register, the Sector Count register, and the Feature register need to match the values shown above,
otherwise, the command will be treated as an invalid command.
Once the mode is set with this command, the device will stay in the configured mode until the next time
this command is issued. Power-off or reset will not change the configured mode.
XDriveX
Data Sheet
8BH
6EH
44H
72H
50H
55H or AAH
11.2.1.32 Standby - 96H or E2H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
This command causes the ATA Flash Disk Controller to set BSY, enter the Sleep mode (which
corresponds to the ATA “Standby” mode), clear BSY and return the interrupt immediately. Recovery
from sleep mode is accomplished by simply issuing another command (a reset is not required).
This command causes the ATA Flash Disk Controller to set BSY, enter the Sleep mode (which
corresponds to the ATA “Standby” mode), clear BSY and return the interrupt immediately. Recovery
from sleep mode is accomplished by simply issuing another command (a reset is not required).
11.2.1.34 Translate-Sector - 87H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
1LBA1DriveHead (LBA 27-24)
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
94H or E0H
X
X
X
X
X
87H
Cylinder High (LBA 23-16)
Cylinder Low (LBA 15-8)
Sector Number (LBA 7-0)
X
X
This command allows the host a method of determining the exact number of times a user sector has
been erased and programmed. The controller responds with a 512 Byte buffer of information containing
the desired cylinder, head, and sector, including its logical address, and the Hot Count, if available, for
that sector. Table 11-14 represents the information in the buffer. Please note that this command is
unique to the ATA Flash Disk Controller.
TABLE11-14:Translate Sector Information
AddressInformation
00H-01HCylinder MSB (00), Cylinder LSB (01)
02HHead
03HSector
04H-06HLBA MSB (04) - LSB (06)
07H-12HReserved
13HErased Flag (FFh) = Erased; 00h = Not Erased
14H-17HReserved
18H-1AHHot Count MSB (18) - LSB (1A)
1BH-1FFHReserved
1. A value of 0 indicates Hot Count is not supported.
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
11.2.1.35 Write-Buffer - E8H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
The Write-Buffer command enables the host to overwrite contents of the ATA Flash Disk Controller’s
sector buffer with any data pattern desired. This command has the same protocol as the WriteSector(s) command and transfers 512 Bytes.
11.2.1.36 Write-DMA - CAH
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
1LBA1DriveHead (LBA 27-24)
XDriveX
Cylinder High (LBA 23-16)
Cylinder Low (LBA 15-8)
Sector Number (LBA 7-0)
Data Sheet
E8H
X
X
X
X
X
CAH
Sector Count
X
This command executes in a similar manner to Write-Sector(s) except for the following:
- the host initializes the DMA channel prior to issuing the command;
- data transfers are qualified by DMARQ and are performed by the DMA channel;
- the ATA Flash Disk Controller issues only one interrupt per command to indicate that data transfer has
terminated and status is available. During the execution of a WRITE DMA command, the ATA Flash
Disk Controller will provide status of the BSY bit or the DRQ bit until the command is completed.
11.2.1.37 Write-Long-Sector - 32H or 33H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
1LBA1DriveHead (LBA 27-24)
This command is similar to the Write-Sector(s) command except that it writes 516 Bytes instead of 512
Bytes. Only single sector Write-Long-Sector operations are supported. The transfer consists of 512
Bytes of data transferred in Word-Mode followed by 4 Bytes of ECC transferred in Byte-Mode. Because
of the unique nature of the solid-state ATA Flash Disk Controller, the 4 Bytes of ECC transferred by the
host may be used by the ATA Flash Disk Controller. The ATA Flash Disk Controller may discard these 4
Bytes and write the sector with valid ECC data. This command has the same protocol as the WriteSector(s) command. Use of this command is not recommended.
11.2.1.38 Write-Multiple - C5H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
Note: The current revision of the ATA Flash Disk Controller can support up to a block count of 1 as indicated in the Identify-Drive Com-
mand information.
1LBA1DriveHead
This command is similar to the Write-Sectors command. The ATA Flash Disk Controller sets BSY within
400 ns of accepting the command. Interrupts are not presented on each sector but on the transfer of a
block which contains the number of sectors defined by Set Multiple. Command execution is identical to
the Write-Sectors operation except that the number of sectors defined by the Set Multiple command is
transferred without intervening interrupts.
DRQ qualification of the transfer is required only at the start of the data block, not on each sector. The
block count of sectors to be transferred without intervening interrupts is programmed by the SetMultiple-Mode command, which must be executed prior to the Write-Multiple command.
When the Write-Multiple command is issued, the Sector Count register contains the number of sectors
(not the number of blocks or the block count) requested. If the number of requested sectors is not
evenly divisible by the sector/block, as many full blocks as possible are transferred, followed by a final,
partial block transfer. The partial block transfer is for n sectors, where:
If the Write-Multiple command is attempted before the Set-Multiple-Mode command has been executed
or when Write-Multiple commands are disabled, the Write-Multiple operation will be rejected with an
aborted command error.
Errors encountered during Write-Multiple commands are posted after the attempted writes of the block
or partial block transferred. The Write command ends with the sector in error, even if it is in the middle
of a block. Subsequent blocks are not transferred in the event of an error. Interrupts are generated
when DRQ is set at the beginning of each block or partial block.
The Command Block registers contain the cylinder, head and sector number of the sector where the
error occurred and the Sector Count register contains the residual number of sectors that need to be
transferred for successful completion of the command e.g. each block has 4 sectors, a request for 8
sectors is issued and an error occurs on the third sector. The Sector Count register contains 6 and the
address is that of the third sector.
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
11.2.1.39 Write-Multiple-Without-Erase - CDH
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
Use of this command is not recommended, but it is supported as Write-Multiple command for backward
compatibility.
11.2.1.40 Write-Sector(s) - 30H or 31H
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
1LBA1DriveHead
Sector Number
1LBA1DriveHead (LBA 27-24)
Cylinder High (LBA 23-16)
Cylinder Low (LBA 15-8)
Sector Number (LBA 7-0)
Data Sheet
CDH
Cylinder High
Cylinder Low
Sector Count
X
30H or 31H
Sector Count
X
This command writes from 1 to 256 sectors as specified in the Sector Count register. A sector count of
zero requests 256 sectors. The transfer begins at the sector specified in the Sector Number register.
When this command is accepted, the ATA Flash Disk Controller sets BSY, then sets DRQ and clears
BSY, then waits for the host to fill the sector buffer with the data to be written. No interrupt is generated
to start the first host transfer operation. No data should be transferred by the host until BSY has been
cleared by the host.
For multiple sectors, after the first sector of data is in the buffer, BSY will be set and DRQ will be
cleared. After the next buffer is ready for data, BSY is cleared, DRQ is set and an interrupt is generated.
When the final sector of data is transferred, BSY is set and DRQ is cleared. It will remain in this state
until the command is completed at which time BSY is cleared and an interrupt is generated.
If an error occurs during a write of more than one sector, writing terminates at the sector where the
error occurs. The Command Block registers contain the cylinder, head and sector number of the sector
where the error occurred. The host may then read the command block to determine what error has
occurred, and on which sector.
Use of this command is not recommended, but it is supported as Write-Sector(s) command for
backward compatibility.
11.2.1.42 Write-Verify - 3CH
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
1LBA1DriveHead (LBA 27-24)
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
38H
Cylinder High (LBA 23-16)
Cylinder Low (LBA 15-8)
Sector Number (LBA 7-0)
Sector Count
X
3CH
Cylinder High (LBA 23-16)
Cylinder Low (LBA 15-8)
Sector Number (LBA 7-0)
Sector Count
X
This command is similar to the Write-Sector(s) command, except each sector is verified immediately
after being written. This command has the same protocol as the Write-Sector(s) command.
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
Data Sheet
12.0 ELECTRICAL SPECIFICATIONS
Absolute Maximum Stress Ratings (Applied conditions greater than those listed under “Absolute Maximum
Stress Ratings” may cause permanent damage to the device. This is a stress rating only and functional operation
of the device at these conditions or conditions greater than those defined in the operational sections of this data
sheet is not implied. Exposure to absolute maximum stress rating conditions may affect device reliability.)
1. T0 is the minimum total cycle time, TD is the minimum IORD#/IOWD# assertion time, and TK (TKR or TKW, as appropriate)
is the minimum IORD#/IOWD# negation time. A host should lengthen T
reported in the device ID.
Note: All AC specifications are guaranteed by design.
Cycle Time120ns
IORD#/IOWD# Asserted Pulse Width 70ns
IORD# Data Access50ns
IORD# Data Hold5ns
IORD#/IOWD# Data Setup20ns
IOWD# Data Hold10ns
DMACK# to IORD#/IOWR# Setup0ns
IORD#/IOWD# to DMACK Hold5ns
IORD# Negated Pulse Width25ns
IOWD# Negated Pulse Width25ns
IORD# to DMARQ Delay35ns
IOWD# to DMARQ Delay35ns
CS(1:0) Valid to IORD#/IOWD#25ns
CS(1:0) Hold10ns
DMACK# to Read Data Released25ns
T12-11.0 1241
and/or TK to ensure that T0 is equal to the value
D
CS1FX#/CS3FX#
DMARQ
DMACK#
IORD#/IOWR
Read DQ
Write DQ
15-0
15-0
Note: The host should not assert DMACK# or negate both CS1FX#
and CS3FX# until the assertion of DMARQ is detected.
The maximum time from the assertion of DMARQ to the assertion
of DMACK# or the negation of both CS0 and CS1 is not defined.
T
M
See note
See note
T
I
T
D
T
E
T
G
FIGURE 12-4: Initiating a Multi-word DMA Data Transfer
FIGURE 12-5: Sustaining a Multi-word DMA Data Transfer
CS1FX#/CS3FX#
DMARQ
DMACK#
T
K
T
E
T
G
T
0
T
L
T
D
T
F
T
H
1241 F06.0
T
N
T
J
IORD#/IOWR
Read DQ
Write DQ
T
E
15-0
15-0
Note: To terminate the data burst, the Device shall negate DMARQ within the T
of the current IORD# or IOWR# pulse. The last data word for the burst should be transferred
by the negation of the current IORD# or IOWR# pulse. If all data for the command has not been
transferred, the device shall reassert DMARQ again at any later time to resume the DMA operation.
T
G
of the assertion
L
T
T
Z
F
T
H
1241 F07.0
FIGURE 12-6: Device Terminates a Multi-word DMA Data Transfer
ATA Flash Disk Controller
SST55LD019A / SST55LD019B / SST55LD019C
Data Sheet
CS1FX#/CS3FX#
DMARQ
DMACK#
IORD#/IOWR
Read DQ
Write DQ
15-0
15-0
Note: 1. To terminate the transmission of a data burst, the host should negate DMACK# within the
specified time after a IORD# or IOWR# pulse. No further IORD# or IOWR# pulses shall be
asserted for this burst.
2. If the device is able to continue the transfer of data, the device may leave DMARQ asserted
and wait for the host to reassert DMACK# or may negate DMARQ at any time after detecting
that DMACK# has been negated.
T
K
FIGURE 12-7: Host Terminates a Multi-word DMA Data Transfer
12.2.4 Media Side Interface I/O Timing Specifications
T
T
0
T
D
T
E
T
G
N
T
J
T
Z
T
F
T
H
1241 F08.0
TABLE 12-12: SST55LD019A/B/C Timing Parameters
SymbolParameterMinMaxUnits
T
CLS
T
CLH
T
CS
T
CH
T
CHR
T
WP
T
WH
T
WC
T
ALS
T
ALH
T
DS
T
DH
T
RP
T
RR
T
REA
T
RC
T
REH
T
RHZ
Note: All AC specifications are guaranteed by design.
FCLE Setup Time20-ns
FCLE Hold Time40-ns
FCE# Setup Time40-ns
FCE# Hold Time for Command/Data Write Cycle40-ns
FCE# Hold Time for Sequential Read Last Cycle-40ns
13.1 Differences between SST’s ATA Flash Disk Controller and ATA/ATAPI-5 Specifications
13.1.1 Idle Timer
The Idle timer uses an incremental value of 5 ms, rather than the 5 sec minimum increment value specified in ATA
specifications.
13.1.2 Recovery from Sleep Mode
For ATA Flash Disk Controller devices, recovery from sleep mode is accomplished by simply issuing another command to the device. A hardware or software reset is not required.