– 5.0V-only for SST58SDxxx
– 3.3V-only for SST58LDxxx
• Supports 5.0-Volt or 3.3-Volt Read and Write
– 4.5-5.5V or 3.135-3.465V for Commercial
• Low Power Consumption
– Active mode: 35 mA/55 mA (3.3V/5.0V)(typical)
– Sleep mode: 100 µA/150 µA (3.3V/5.0V)(typical)
• Extended Data Protection and Security
– WP# pin for Dat a Protection
– Factory-Programmed, 20-Byte Unique ID number
• Sustained Write Performance
– Up to 1.4 MB/sec (host to flash)
Data Sheet
• Controller Overhead Command to DRQ
– Less than 0.5 ms
• Zero Power Data Retention
– Batteries not required for data storage
•Start Up Time
– Sleep to read: 200 ns (typical)
– Sleep to write: 200 ns (typical)
– Power-on to Ready:200 ms (typical)
• Support for Commercial Temperature Range
– 0°C to +70°C for Operating Commercial
– -50°C to +100°C for non-Operating (storage)
• Extremely Rugged and Reliable
– Built-in ECC support corrects 3 Bytes of error
per 512 Byte sector
• Intelligent ATA/IDE Controller
– Built-in microcontroller with intelligent firmware
– Built-in Embedded Flash File System
• Power Management Unit
– Immediate disabling of unused circuitry
PRODUCT DESCRIPTION
SST’s ATA-Disk Chip (ADC) is a low cost, high performance, embedded flash memory data storage system.
This product is well suited for solid state mass storage
applications of fering new a nd expanded f un ctional ity whil e
enabling cost effective designs.
ATA-based solid state mass storage technology is widely
used in such products as portable and desktop computers,
digital cameras, music players, handheld data collection
scanners, cell ular phones , PCS pho nes, PD As , handy terminals, personal communicators, advanced two-way pagers,
audio recorders, monitoring devices, and set-top boxes.
ADC provides comple te IDE Hard Disk Drive functionali ty
and compatibility. ADC is a perfect solution to consum er
electronic products requiring smaller, but more reliable and
cost effe ct i ve data storage. The ADC is re ad an d writ ten to
using a single power supply of 5.0V or 3.3V and is available
in 8 to 192 MByte capacities.
The ADC is a solid state disk drive that is designed to
replace conventional IDE hard disk dr ive and uses standard ATA/IDE protocol . It h as b uilt i n microc ontrol ler and file
management fir mware that communicates with ATA stan-
dard interfaces; therefore, the ADC does not require additional or propr ietary software such as Flash File System
(FFS) and Memory Technology Driv er (MTD) softw are .
The ADC is designed to work at either 5V or 3.3V. The pin
assignment is designed to match existing IDE signal traces
on the motherboard. It uses standard AT A driver that is part
of all major OS such as Windows 95/98/2000/NT/CE,
MAC, UNIX, etc.
All signals, except WP #, are in compliance wi th the ATA
specifications. WP# is used to write protect the information
stored on the ADC. The WP# ca n be either conn ected to
motherboard write protect control logic or a jumper. When
WP# is low, the ADC is write protected to prohibit any inadvertent writes.
Every ADC comes with factory-programmed, 20-Byte long,
unique identific ation number for extended data protection .
This feature prevents unauthorized duplic ation by allow ing
encryption of customer data.
The ADC is packaged in the 600 mil 32-pin DIP package
for easy and cost effective mounting to the system motherboard.
The SST’s ATA-Disk Chip (ADC) contains a controller,
embedded firmware and Flash Media in a 32-pin DIP package. Refer to Figure 1-1 for SST’s ADC 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 Controller
The heart of the ADC is the AT A controller which translates
standard ATA signals into Flas h Media data an d controls.
SST’s ADC contains a propr ietar y ATA controller that was
specifically designed to attain high data throughput from
host to Flash. The following co mponents cont ribute to the
ATA controller’ s ope rati on.
1.1.1 Microcontroller Unit (MCU)
The MCU translates ATA command s into data an d control
signals required for flash memory operation.
1.1.2 Internal Direct Memory Access (DMA)
The ATA controller inside ADC uses DMA allowing instant
data transfer from buffer to memory. This implementation
eliminates microc ontroller overhead associated with traditional, firmware based, memory control, increasing data
transfer rate.
1.1.3 Power Management Unit (PMU)
Power Management Unit control s the power c onsumptio n
of the ADC. The PMU dramatically extends product battery
life 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 controller performance is an
SRAM buffer. The buffer optimizes host’s data writes to
Flash Media.
1.1.5 Embedded Flash File System
Embedded Flash File System is an integral part of the
SST’s ATA controller. It contains MCU Firmware that performs the f ollow ing tasks:
1. Translates host side signals into Flash Media
Writes and Reads.
2. Provides Flash Media wear leveling to spread the
Flash writes across all the memory address space
to increase the longevity of Flash Media.
3. Keeps track of data file structures.
1.1.6 Error Correction Code (ECC)
The ATA Controller contain s E CC algori th m th at c o rr ec t s
3 Bytes of error pe r 512 Byte se cto r.
The SST58SD/LDxxx ATA-Disk Chip product family is available in 8 to 192 MByte capacities. The following table
shows the specific capacity, default number of cylinder heads, sectors and cylinders for each product line.
Model NumberDensityT ota l Bytes CylindersHeadsSectors
The signal/pin assignments are listed in Table 2-1. Low active signals have a “#” suffix. Pin types are Input, Output or Input/
Output. Section 2.3 defines the DC characteristics for all input and output type structures.
2.1 Electrical Description
The ADC functions in A TA Mode, which is compatible with IDE hard disk drives.
Table 2-2 descr ibes the I/O sign als. Signa ls who se sour ce is t he hos t are des igna ted as input s whil e signa ls tha t the AD C
sources are ou tputs. All outputs from the ADC are totem pole except the data bus signals which are in the bi-dir ectional tristate. Refer to Section 2.3.2 for definitions of Input and Output types.
Absolute Maximum Stress Ratings (Applied conditions greater than those listed under “Absolute Maximum
Stress Ratings” may cause pe r manent dama ge to the device. This is a stres s rating only and funct ional operatio n
of the device at these conditions or conditions greater tha n those defined in the ope rational sections of this data
sheet is not implied. Exposure to absolute maximum stress rating conditions may affect device reliability.)
The following tables define all D.C. Characteristics for the SST ATA-Disk Chip product family.
2.3.1 Absolute Maximum Conditions
Unless otherwise stated, conditions are for Commercial Temperature:
Non-operating (storage) temperature range: -50°C to +100°C
V
= 4.5-5.5V
DD
V
= 3.135-3.465V
DD
Ta = 0°C to +70°C
BSOLUTE MAXIMUM CONDITIONS
A
ParameterSymbolConditions
Input Powe rV
Voltage on any pin except V
with respect to GNDV-0.5V min. to VDD + 0.5V max.
DD
DD
INPUT POWER
Maximum Average RMS
Voltage
3.135-3.465V75 mA200 µA3.3V at 25
4.5-5.5V100 mA300 µA5.0V at 25°C
Active Current
Maximum Average RMS
Sleep CurrentMeasurement Method
-0.3V min. to 6.5V max.
Data Sheet
1
°C
1
1. Current measurement is accomplished by connecting an amp meter (set to the 2 amp scale range) in series with the VDD supply to
the ADC. Current measurements are to be taken while looping on a data transfer command with a sector count of 128.
Current consumption values for both Read and Write commands are not to exceed the Maximum Average RMS Current specified in
this table.
ADC products sha ll operate correctly in b oth voltage ranges as shown in the tables above. To comply with this
specification, current requirements must not exceed the maximum limit.
2.3.2 Input Leakage Current
In the table below, x refers to the characteristics descri bed in section 2.3.2. For example, I1U indicates a pull up
resistor with a type 1 input characteristic.
TypeParameterSymbolConditionsMinTypMaxUnits
IxZInput Leakage CurrentILV
IxUPull Up ResistorRPU1VDD = 5.0V50k500kOhm
IxDPull Down ResistorRPD1VDD = 5.0V50k500kOhm
Data Setup before IORD#tsu(IORD)tDVIRH20Data Hold following IORD#th(IORD)tlGHQX5IORD# Width Timetw(IORD)tlGLIGH70Address Setup before IORD#tsuA(IORD)tAVIGL25Address Hold following IORD#thA(IORD)tlGHAX10IOCS16# Delay Falling from AddresstdfIOCS16(ADR)tAVISL-20
IOCS16# Delay Rising from AddresstdrIOCS16(ADR)tAVISH-20
Note: All times are in nanoseconds. The maximum load on IOCS16# is 1 LSTTL with 50pF total load.
All AC specifications are guaranteed by design.
T2-6.4 391
Valid Address
1
IORD#
IOCS16#
tdfIOCS16(ADR)
D15-D0
1. Valid Address consists of signals CS1FX#, CS3FX# and A2-A0.
Data Setup before IOWR#tsu(IOWR)tDVIWH20Data Hold following IOWR#th(IOWR)tlWHDX10IOWR# Width Timetw(IOWR)tlWLIWH70Address Setup before IOWR#tsuA(IOWR)tAVIWL25Address Hold following IOWR#thA(IOWR)tlWHAX10IOCS16 Delay Falling from AddresstdfIOCS16(ADR)tAVISL-20
IOCS16 Delay Rising from Addres stdrIOCS16(ADR)tAVISH-20
Note: All times are in nanoseconds. The maximum load on IOCS16 is 1 LSTTL with 50pF total load.
All AC specifications are guaranteed by design.
T2-7.4 391
Valid Address
1
IOWR#
IOCS16#
tdfIOCS16(ADR)
D15-D0
1. Valid Address consists of signals CS1FX#, CS3FX# and A2-A0.
FIGURE2-3: I/O WRITE TIMING DIAGRAM
V
IHT
V
ILT
V
HT
V
LT
tsuA(IOWR)
REFERENCE POINTSOUTPUTINPUT
tw(IOWR)
thA(IOWR)
tdrIOCS16(ADR)
th(IOWR)tsu(IOWR)
Din Valid
391 ILL2-8.2
V
HT
V
LT
391 ILL F11.0
AC test inputs are driven at V
inputs and outputs are V
HT
(2.4V) for a logic “1” and V
IHT
(0.4V) for a logic “0”. Mea surement reference points for
IL T
(2.0V) and VLT (0.8V). Input rise and fall times (10% ↔ 90%) are <10 ns.
ADC permits 8-bit data access if the user issues a Set Feature Command to enable 8-bit Mode.
The following table defines the function of various operations.
ATA-Disk Chip
Data Sheet
TABLE2-8: I/O F
UNCTION
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. X can be VIL or VIH, but no other value.
2. If 8-bit data transfer mode is enabled.
In 8-bit data transfer mode, High Byte is undefined for Data Out; can be V
3.1 ATA-Disk Chip Drive Re gister Set Definitions and Protocol
3.1.1 ATA-Disk Chip Addressing
The I/O decoding for an ADC is as follows:
TABLE3-1: T
CS3FX#CS1FX#A2A1A0IORD# = 0IOWR# = 0
10000RD DataWR Data
10001Error RegisterFeatures
10010Sector CountSector Count
10011Sector No.Sector No.
10100Cylinder LowCylinder Low
10101Cylinder HighCylinder High
10110Select Card/HeadSelect Card/Head
10111StatusCommand
01110Alt StatusDevice Control
01111Drive AddressReserved
ASK REGISTERS
T3-1.0 391
3.1.2 ATA-Disk Chip Registers
The following section descr ib es the hardware registe rs used by the host so ftware to iss ue com mands to the A DC.
These registers are often collectively referred to as the “Task File Registers.”
3.1.2.1 Data Register
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.
3.1.2.2 Error Register (Read Only)
This register co ntains a dditional informatio n abou t the sou rce of an error wh en an er ror is indicat ed in bi t 0 of th e
Status register. The bits are defined as follows:
D7D6D5D4D3D2D1D0
BBKUNC0IDNF0ABRT0AMNF
Bit 7 (BBK)This bit is set when a Bad Block is detected.
Bit 6 (UNC)This bit is set when an Uncorrectable Error is encountered.
Bit 5This bit is 0.
Bit 4 (IDNF)The requested sector ID is in error or cannot be found.
Bit 3This bit is 0.
Bit 2 (Abort)This bit is set if the com mand has been aborte d because of an ADC status condi tion:
(Not Ready , Write Fault, etc.) or when an invalid command has been issued.
Bit 1This bit is 0.
Bit 0 (AMNF) This bit is set in case of a general error.
This register provides information regarding features of the ADC that the host can utilize.
3.1.2.4 Sector Count Register
This register cont ains the numbers of sectors of data requested to be transferred on a Read or Write operation
between the host and the ADC. If the value in thi s register i s zero, a count of 256 sec tors is s pecified. 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.
3.1.2.5 Sector Number (LBA 7-0) Register
This register contains the star ti ng secto r number or bits 7-0 of the Logical Block Address ( LBA) for any ADC data
access for the subsequent command.
3.1.2.6 Cy lin der Low (LBA 15-8) Register
This register contains the low order 8 bits of the starting cylinder address or bits 15-8 of then Logical Block
Address.
3.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.
3.1.2.8 Drive/Head (LBA 27-24) Register
The Drive/Head register is used to se lect the drive and h ead. It is also used to select LB A addressing in stead of
cylinder/head/sector addressing. The bits are defined as follows:
D7D6D5D4D3D2D1D0
1LBA1
Bit 7This bit is set to 1.
Bit 6LBA 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.
Bit 5This bit is set to 1.
Bit 4 (DRV)DRV is the drive number. When DRV=0 (Master), Master is selected.
When DRV=1(Slave), Slave is selected.
Bit 3 (HS3)When 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.
Bit 2 (HS2)When 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.
Bit 1 (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.
Bit 0 (HS0)When operating in the Cylinder, Head, Sector mode, this is bit 0 of the head number.
3.1.2.9 Status & Alternate Status Registers (Read Only)
These register s ret urn the ADC sta tus when r ead by the host. Reading the Status re gis te r do es cl ea r a pe nd in g
interrupt while rea di ng the Auxiliary Status register does not. Th e me an ing of th e st a tus bit s a r e describ ed as follows:
D7D6D5D4D3D2D1D0
BUSYRDYDWF
Bit 7 (BUSY) The busy bit is set when the ADC has access to the command buffer and registers and
the host is locked out from accessing the command re gister and buffer. No other bits in
this register are valid when this bit is set to a 1.
Bit 6 (RDY )RDY indicates whe ther the device is capable of performing ADC operations. Th is bit is
cleared at power up and remains cleared until the ADC is ready to accept a command.
Bit 5 (DWF)This bit, if set, indicates a write fault has occurred.
Bit 4 (DSC)This bit is set when the ADC is ready.
Bit 3 (DRQ)The Data Request is set when the ADC requires that information be transferred either to
or from the host through the Data register.
Bit 2 (CORR) This bit is set when a Cor rectable data error has been encounter ed and the data has
been corrected. This condition does not terminate a multi-sector Read operation.
Bit 1 (IDX)This bit is always set to 0.
Bit 0 (ERR)This bit is set wh en the previous comman d has ended in some type of error. The bits in
the Error register contai n additional information des cribing the error. It is recommended
that media access commands (such as Read Sect ors and Write Sectors) tha t end with
an error condition should have the address of the first sec tor in error in the command
block registers.
DSCDRQCORR0ERR
3.1.2.10 Device Control Register (Write Only)
This register is used to control the ADC 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
Bit 7This bit is an X (don’t care).
Bit 6This bit is an X (don’t care).
Bit 5This bit is an X (don’t care).
Bit 4This bit is an X (don’t care).
Bit 3This bit is ignored by the ADC.
Bit 2 (SW Rst)This bit is set to 1 in ord er to force the ADC to per form a s oft ware Rese t opera tion. Th e
chip remains in Reset until this bit is reset to ‘0.’
Bit 1 (-IEn)The Interrupt Enable bit enables interrupts when the bit is 0. When the bit is 1, interrupts
from the ADC are disabled. This bit is Reset to 0 at power on and Reset.
Bit 0 This bit is ignored by the ADC.
This register con tains the i nverte d dr ive selec t and h ead s elect addr esses of th e curr ently sel ected dr ive. The bits
in this register are as follows:
D7D6D5D4D3D2D1D0
HiZ-WTG-HS3-HS2-HS1-HS0-DS1-DS0
Bit 7This bit is HiZ.
Bit 6 (-WTG) This bit is 0 when a Write operation is in progress, otherwise, it is 1.
Bit 5 (-HS3)This bit is the negation of bit 3 in the Drive/Head register.
Bit 4 (-HS2)This bit is the negation of bit 2 in the Drive/Head register.
Bit 3 (-HS1)This bit is the negation of bit 1 in the Drive/Head register.
Bit 2 (-HS0This bit is the negation of bit 0 in the Drive/Head register.
Bit 1 (-DS1)This bit is 0 when drive 1 is active and selected.
Bit 0 (-DS0)This bit is 0 when drive 0 is active and selected.
3.1.2.12 Command Register (Write Only)
This register cont ains the command cod e being sent to the dr ive. Command execution begins immediately a fter
this register is wr itten. The executable commands, the command codes, an d the necessar y parameters for each
command are listed in Table 3-2.
This section defines the sof tware requirements an d the f ormat of the command s the host sends to the ADC . Commands
are issued to the ADC 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 3-2) of command acceptance, all dependent on the host not issuing commands unless the
ADC is not busy (BSY=0).
3.2.1 ATA-Disk Chip Command Set
Table 3-2 summari zes the ADC comman d set with the paragraphs tha t follow describing the in dividua l commands
and the task file for each.
1Identify DriveECH----D1IdleE3H or 97H-Y--D1Idle ImmediateE1H or 95H----D1Initialize Drive Parameters91H-Y--Y1Read BufferE4H----D1Read Long Sector22H or 23H--YYYY
1Read MultipleC4H-YYYY Y
1Read Sector(s)20H or 21H -YYYY Y
1Read Verify Sector(s)40H or 41H -YYYY Y
1Recalibrate1XH----D1Seek7XH--YYY Y
1Set FeaturesEFHY---D1Set Multiple ModeC6H-Y--D1Set Sleep ModeE6H or 99H----D1Stand ByE2H or 96H----D1Stand By ImmediateE0H or 94H----D2Write BufferE8H----D2Write Long Sector32H or 33H--YYYY
3Write MultipleC5H-YYYY Y
2Write Sector(s)30H or 31H -YYYY Y
3Write 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 ADC and Head parameters are used;
D means only the ADC parameter is valid and not the Head parameter.
This command checks the power mode.
Because SST ADC can recover from sleep in 200 ns, Idle Mode is never enabled.
ADC sets BSY, sets the Sector Count Register to 00H, clears BSY and generates an interrupt.
3.2.1.2 Execute Drive Diagnostic - 90H
XDriveX
ATA-Disk Chip
Data Sheet
98H or E5H
X
X
X
X
X
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
XDriveX
90H
X
X
X
X
X
This command performs the internal diagnostic tests implemented by the ADC.
If the Drive bit is ignored and the diagnosti c 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 3-3 are returned in the Error Register at the end of the command.
This command writ es the desired head and cylinder of the selected dr ive with a vendor unique data
pattern (typically FFH or 00H). To remain host backward compatible, the ADC expects a sector buffer of
data from the host to fol low the command with the same protocol as the Write Sector(s) com mand
although the informat ion in the buffer is not used by the ADC. If LBA =1 then the num ber of secto rs to
format is taken from the Sec Cnt register (0=256). The use of this command is not recommended.
50H
X (LBA 7-0)
X
3.2.1.4 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 ADC. This
command has the same pro tocol as the Read Se ctor(s) comman d. The parameter words in the buffer
have the arrangement and meanings defined in Table 3-4. All reserved bits or words are zero. Table 3-4
gives the definition for each field in the Identify Drive Information.
0044AH2General configuration bi t-significant information
1XXXXH2Default number of cylinders
20000H2Reserved
300XXH2Default number of heads
40000H2Reserved
50000H2Reserved
6XXXXH2Default number of sectors per track
7-8XXXXH4Number of sectors per card (Word 7 = MSW, Word 8 = LSW)
9XXXXH2Vendor Unique
10-19aaaa
200002H2Buffer type
21XXXXH2Buffer size in 512 Byte increments
220004H2# of ECC bytes passed on Read/Write Long Commands
23-26aaaa
27-46aaaa
47000XH2Maximum number of sectors on Read/Write Multiple command
480000H2Reserved
490200H2Capabilities
500000H2Reserved
510X00H2PIO data transfer cycle timing mode
520000H2Reserved
53000XH2Translation parameters are valid
54XXXXH2Current numbers of cylinders
55XXXXH2Current numbers of heads
56XXXXH2Current sectors per track
57-58XXXXH4Current capacity in sectors (LBAs)(Word 57 = LSW, Word 58 = MSW)
59010XH2Multiple sector setti ng
60-61XXXXH4Total number of sectors addressable in LBA Mode
62-630000H4Reserved (DMA data transfer is not supported in ADC)
6400XXH2Advanced PIO Transfer Mode Supported
65-660000H4Reserved
67XXXXH2Minimum PIO transfer cycle time without flow control
68XXXXH2Minimum PIO transfer cycle time with IORDY flow control
This field informs th e host tha t this is a non-mag netic, hard se ctored, removable storage device with a
transfer rate greater than 10 MByte/sec and is not MFM encoded.
3.2.1.4.2 Default Number of Cylinders
This field contains th e number of tran slate d cylind ers in the default translat ion m ode. This value will be
the same as the number of cylinders.
3.2.1.4.3 Default Number of Heads
This field contains the number of translated heads in the default translation mode.
3.2.1.4.4 Default Number of Sectors per Track
This field contains the number of sectors per track in the default translation mode.
3.2.1.4.5 Number of Sectors
This field contains the number of sectors per ADC. This double word value is also the first invalid
address in LBA translation mode.
3.2.1.4.6 Memory Serial Number
The contents of this field are right justified and padded with spaces (20H).
3.2.1.4.7 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 ADC.
3.2.1.4.8 Buffer Size
This field defines the buffer capacity in 512 Byte increm ents. SST’s ADC has up to 2 sector data buffer
for host interface.
3.2.1.4.9 ECC Count
This field defines the number of ECC b y tes used on each sector in th e Re ad and Write Long commands .
3.2.1.4.10 Firmware Revision
This field contains the revision of the firmware for this product.
3.2.1.4.11 Model Number
This field contains the model number for this product and is left justified and padded with spaces (20H).
3.2.1.4.12 Read/Write Multiple Sector Count
This field contains the max imum number of sectors that can be read or written per interr upt using the
Read Multiple or Write Multiple commands.
3.2.1.4.13 Capabilities
Bit 13: Standby Timer Set to 0, forces sleep mode when host is inactive.
Bit 11: IORDY SupportSet to 0, indicates that this device may support IORDY operation.
Bit 9: LBA supportSet to 1, SST’s ADCs support LBA mode addressing.
Bit 8: DMA SupportThis bit is set to 0. DMA mode is not supported.
This field defines the mode for PIO data transfer. ADC supports up to PIO Mode-4.
3.2.1.4.15 Translation Parameters Valid
If bit 0 is 1, it indicat es that words 54 to 58 are valid and r eflec t the c urrent num ber of cy linde rs, heads
and sectors. If bit 1 is 1, it indicates that words 64 to 70 are valid to support PIO Mode-3 and 4.
3.2.1.4.16 Current Number of Cylinders, Heads, Sectors/Track
These fields contain s the current numb er of user addres sable Cylinders, Heads, and Sec tors/Track in
the current translation mode.
3.2.1.4.17 Current Capacity
This field contains the product of the current cylinders times heads times sectors.
3.2.1.4.18 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 R/W 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 comma nd. The Even Byte of this
word by default contains a 00H which indicates that R/W Multiple commands are not valid.
ATA-Disk Chip
Data Sheet
3.2.1.4.19 Total Sectors Addressable in LBA Mode
This field contains the number of sectors addressable for the ADC in LBA mode only.
3.2.1.4.20 Advanced PIO Data Transfer Mode
ADC supports up to PIO Mode-4.
3.2.1.4.21 Minimum PIO Transfer Cycle Time Without Flow Control
The ADC’s minimum cycle time is 120 ns.
3.2.1.4.22 Minimum PIO Transfer Cycle Time With IORDY
The ADC’s minimum cycle time is 120 ns, e.g., PIO Mode-4.
3.2.1.5 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
Timer Count (5 msec increments)
97H or E3H
X
X
X
X
This command causes the ADC to set BSY, enter the Idle Mode, clear BSY and generate an interrupt. If
the sector count is non-zero, it is inter p reted a s a timer co unt wi th each c oun t bei ng 5 mi ll isec ond s an d
the automatic power down mode is enabled. If the sector count is zero, the automatic power down
mode is also enabled, the t imer co unt is set to 3, with each cou nt b eing 5 ms. Note that this tim e bas e
(5 msec) is different from the ATA specification.
This command causes the ADC to set BSY, enter the Idle Mode, clear BSY and generate an interrupt.
3.2.1.7 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)
X0XDriveMax Head (no. of heads-1)
XDriveX
95H or E1H
X
X
X
X
X
91H
X
X
X
Number of Sectors
X
This command enables the host to set the number of sectors per track and the number of head s per
cylinder. Only the Sector Count and the Drive/Head registers are used by this command.
3.2.1.8 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 c urrent contents of the ADC’s sector buffer.
This command has the same protocol as the Read Sector(s) command
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 Multip le comma nd are transferred with out int ervening interr upts. DRQ qual ification o f
the transfer is required only at the start of the data block, not on each sector.
The block count of sectors to be transferred witho ut intervening interr upts is programmed by the Set
Multiple 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 pos sible are transferred, followed by a final, par tial 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 Aborted
Command error. Disk errors encounter ed during Read Multipl e c om man ds are pos ted at the beg in ning
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 ge nerated when DRQ is set at the beginning of each block or par tial 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 compl etion, the C ommand Blo ck Register s con tain t he c ylinder, head and sector number
of the last sector read.
If an error occurs, the r ead terminates at the s ector where the error occurre d. The Command Block
Registers contain the cylind er, head and sect or number of the sector where the error occurred. The
flawed data is pending in the sector buffer.
Subsequent blocks or par tial 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.
The Read Long command performs similarly to the Read Sector(s) command except that it returns 516
Bytes of data instead of 512 Bytes. Du ring a Read Lon g command, th e ADC does not check the EC C
bytes to determine if there has been a data error. Only single sector read long operations are
suppor ted. The transfer consis ts of 512 Bytes of da ta trans ferred in Word-Mode followed by 4 Bytes o f
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.
22H or 23H
Cylinder High (LBA 23-16)
Cylinder Low (LBA 15-8)
Sector Number (LBA 7-0)
X
X
3.2.1.11 Read Sectors - 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 fro m 1 to 256 s ectors as speci fied in th e Sect or Count regis ter. A sector count of
0 requests 256 sectors. The transfer begins at the sector specified in th e Sector Number Register.
When this command is issu ed and after each secto r of da ta (except the la st one) has been read by the
host, the ADC sets BSY, puts th e sector of data i n the buffer, sets DRQ, clears BSY, and gen erates an
interrupt. The host then reads the 512 Bytes of data from the buffer.
At command compl etion, the C ommand Blo ck Register s con tain t he c ylinder, head and sector number
of the last sector read. If an err or occurs, the read termina tes at the sector where the error oc curred.
The Command Block Re gisters con tain the cylind er, head, and sector number of the secto r where th e
error occurred. The flawed data is pending in the sector buffer.
This command is i den tic al to th e R ead S ec tor s co mm and, except t hat DRQ i s never set and no d ata is
transferred to the host. When the command is accepted, the ADC sets BSY.
When the requested sectors have been verified, the ADC clears BSY and generates an interrupt. Upon
command complet ion , t he Com man d Bl ock Regis ter s c on tai n the c ylin der, head, and sec tor num ber o f
the last sector verified.
If an error occurs, the verify terminates at the sector where the error occurs. The Command Block
Registers contain the cylind er, head and sect or number of the sector where the error occurred. The
Sector Count Register contains the number of sectors not yet verified.
1LBA1DriveHead (LBA 27-24)
ATA-Disk Chip
Data Sheet
40H or 41H
Cylinder High (LBA 23-16)
Cylinder Low (LBA 15-8)
Sector Number (LBA 7-0)
Sector Count
X
3.2.1.13 R ecalibrate - 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 NOP command to the ADC and is provided for compatibility purposes.
3.2.1.14 Seek - 7XH
Bit ->76543210
Command (7)
C/D/H (6)
Cyl High (5)
Cyl Low (4)
Sec Num (3)
Sec Cnt (2)
Feature (1)
1XH
1LBA1DriveX
X
X
X
X
X
7XH
1LBA1DriveHead (LBA 27-24)
Cylinder High (LBA 23-16)
Cylinder Low (LBA 15-8)
X (LBA 7-0)
X
X
This command is effectively a NOP command to the ADC although it does perform a range ch eck of
cylinder and head or LBA address and returns an error if the address is out of range.
This command is use d by the host to establish or selec t certain features. Table 3-5 defines all features
that are supported.
TABLE3-5: FEATURES SUPPORTED
Feature Operation
01HEnable 8-bit data transfers.
55HDisable Read Look Ahead.
66HDisable Power on Reset (POR) establishment of defaults at software Reset.
69HNOP - Accepted for backward compatibility.
81HDisable 8-bit data transfer.
96HNOP - Accepted for backward compatibility.
97HAccepted for backward compatibility. Use of this Feature is not recommended.
9AHNOP - accepted for compatibility.
BBH4 Bytes of data apply on Read/Write Long commands.
CCHEnable Power on Reset (POR) establishment of defaults at software Reset.
EFH
X
X
X
Config
Feature
T3-5.0 391
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 D7-D0 data bus and the IOIS16# signal
will not be asserted for data register accesses.
Features 55H and BBH are the default features for the ADC; thus, th e ho st do es not have to issue th is
command with these features unless it is necessary for compatibility reasons.
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.
This command enables the ADC to perform Read and Write Multiple operations and establish es the
block count for these commands. The Sector Count Registe r is loaded wit h the number of sectors per
block. Upon receipt of the command, the ADC sets BSY to 1 and checks the Sector Count Register.
If the Sector Count Register contains a valid value and the block count is supported, the value is loaded
for all subsequent Read Mu ltiple and Wri te Multiple command s and execution of those command s is
enabled. If a block count is not supported, an Aborted Command error is posted, and Read Multiple and
Write Multiple c ommands are d isabled. If the Sector Cou nt Register con tains 0 when th e command is
issued, Read and W rite Multiple com mands are di sabled. At power on, o r after a h ardware or (u nless
disabled by a Set Feature command) software reset, the default mode is Read and Write Multiple
disabled.
This command causes the ADC to set BSY , enter the Sleep mode, clear BSY and generate an interrupt.
Recovery from sleep mode is accomplished by simply is suing another comm and (a reset is per mitted
but not required). Sleep mode is also entered when int er nal timers expire so the host does not nee d to
issue this command except whe n it wishes to en ter Sleep mode immed iately. The default value fo r the
timer is 15 milliseconds.
This command causes the ADC 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).
3.2.1.19 Standby Immediate - 94H or E0H
96H or E2H
X
X
X
X
X
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 ADC 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).
3.2.1.20 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)
94H or E0H
XDriveX
X
X
X
X
X
E8H
XDriveX
X
X
X
X
X
The Write Buffer command enables the host to overwrite content s of the ADC’s sector buffer with any
data pattern desired. This command has the same protocol as the Write Sector(s) command and
transfers 512 Bytes.
This command is simi lar to th e W rite Sector(s) comm and except that it writes 516 Bytes ins tead of 51 2
Bytes. Only single sec tor Write Long operations are suppo rted. T he transfer consists of 512 By tes of
data transferred in Word-Mode followed by 4 Bytes of ECC transferred in Byte- Mode. Because of the
unique nature of the solid-stat e ADC, the 4 Bytes of ECC transferred by the host may be used by the
ADC. The ADC may discard these 4 Bytes and write the sector with valid ECC data. This command has
the same protocol as the Write Sector(s) command. Use of this command is not recommended.
1LBA1DriveHead (LBA 27-24)
ATA-Disk Chip
Data Sheet
32H or 33H
Cylinder High (LBA 23-16)
Cylinder Low (LBA 15-8)
Sector Number (LBA 7-0)
X
X
3.2.1.22 Write Multiple Command - 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 SST ADC can su pport up to a b loc k count of 1 as indicate d in the I dentify Driv e Comma nd inf ormation.
XLBAXDriveHead
This command is similar to the W ri te S ectors command. The ADC se ts BS Y within 400 ns of acc ep tin g
the command. Interrupts are not presented on each sector but on the transfer of a block which contains
the number of sector s defined by Set Multiple. Command exec ution is identical to the Wr ite 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 Set Multiple
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:
n = remainder (sector count/block).
If the Write Multiple comm and is attempt ed before the Set Mul tiple Mode command has been executed
or when Write Multip le commands are disabled, the Write Mult iple operation will be rejected with an
aborted command error.
Errors encountered d uri ng Wr ite Mul tiple comma nds are p ost ed after the attempte d wr ites of the block
or parti al block transferred. The Wr ite comma nd end s with the s ector in e rror, even if it is in the middl e
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 Register s contain the cyl inder, head and sector number of the sec tor where the
error occurred and the Se ctor Count Regi ster contains th e residual number of sectors th at need to be
transferred for successful completio n of the command e.g. each block has 4 sec tors, 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.
3.2.1.23 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 (LBA 27-24)
30H or 31H
Cylinder High (LBA 23-16)
Cylinder Low (LBA 15-8)
Sector Number (LBA 7-0)
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 se ctor specified in th e Sector Number Regis ter.
When this command is accepted , the ADC sets BSY, then sets DRQ and clea rs BS Y, then waits for the
host to fill the sector buffer with the data to be wr itten. 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 duri ng a write of more than one sector, writing termina tes at the sector where the
error occurs. The Command Block Registers contain the cylinder, head and sector number of the sector
where the error occurr ed. The host may then read the command block to deter mine what error has
occurred, and on which sector.
3.2.1.24 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)
3CH
1LBA1DriveHead (LBA 27-24)
Cylinder High (LBA 23-16)
Cylinder Low (LBA 15-8)
Sector Number (LBA 7-0)
Sector Count
X
This command is simila r to the Write Sector(s) comm and, except each sector is verified immediately
after being written. This command has the same protocol as the Write Sector(s) command.
4.1 Differences bet ween ATA-Disk Chip and ATA/ATAPI-5 Specifications
This section details differences between ADC vs. ATA.
4.1.1 Electrical Differences
4.1.1.1 TTL Compatibility
ADC is not TTL compatible, it is a purely CMOS interface. Refer to section 2.3.2 of this specification.
4.1.1.2 Pull Up Resistor Input Leakage Current
The minimum pull up resistor input leakage current is 50K ohms rather than the 10K ohms stated in the
ATA specification.
4.1.2 Functional Differences
4.1.2.1 Idle Timer
The Idle timer uses an in cr em ent al value of 5 ms, rather tha n t he 5 s ec m ini mum i ncr eme nt value sp ecifi ed in ATA
specifications.
4.1.2.2 Recovery from Sleep Mode
For ADC devices, recovery from sleep mode is accomplished by simply issuing another command to the device.
A hardware or software reset is not required.
SST warrants all products against non-conformances in
materials and workmansh ip for a period o f one year from
the delivery date of subject products. SST’s liability is
limited to repla cing or repairing the product if it has been
paid for. SST’s warranties will not be a f fected by re n de ring
of technical advice in connection with the order of products
furnished he reun der. Except as expressly provided ab ove,
SST makes no warranties, express or implied, including
without limitation any warranty of merchantability or fitness
for a particular purpose. In no event shall SST be liable for
any incidental or c onsequential damages w ith respect to
the products purchased hereunder. SST reserves the right
to discontinue production or change specifications or
change prices at any time and without notice.
The information in this publication is believed to be
accurate in all respects at the time of publication, but is
subject to change without notice. SST assumes no
responsibility for any errors or omissions, and disclaims
responsibilit y for any consequenc es resu ltin g from th e use
of the information provided herein. SST assumes no
responsibility for the use of any circuitry other than circuitry
embodied in an SS T pro duct; no othe r circu its, paten ts, or
licenses are im plied. SST assum es no re sponsib ility f or t he
functioning of features or parameters not described herein.
7.1 Life Support Policy
SST’s products are not authorized for use as critical
component in life support devices or systems. Life support
devices or systems are devices or systems that, (a) are
intended for surgical implant into the body, or (b) support or
sustain life and whose failure to perform, when properly
used in accordanc e with instruct ions f or use pro vided in t he
labeling, can be reasonably expected to result in a
significant injury to the user.
A critical component is any component of a life support
device or system whose failure to perform can be expected
to cause the failure of the life support device or system, or
the affect its saf ety or eff ectiv eness .
7.2 Patent Protection
SST products are protected by assigned U.S. and foreign
patents.