SanDisk® Corporation general policy does not recommend the use of its products in life support applications where in a
failure or malfunction of the product may directly threaten life or injury. Per SanDisk Terms and Conditions of Sale, the user
of SanDisk products in life support applications assumes all risk of such use and indemnifies SanDisk against all damages.
SanDisk FlashDrives are UL (Underwriters Laboratories) approved. They are for use only with UL approved computers or
systems. See this manual for FlashDrive installation instructions.
The information in this manual is subject to change without notice.
SanDisk Corporation shall not be liable for technical or editorial errors or omissions contained herein; nor for incidental or
consequential damages resulting from the furnishing, performance, or use of this material.
All parts of the SanDisk product documentation are protected by copyright law and all rights are reserved. This
documentation may not, in whole or in part, be copied, photocopied, reproduced, translated, or reduced to any electronic
medium or machine readable form without prior consent, in writing, from SanDisk Corporation.
SanDisk and the SanDisk logo are registered trademarks of SanDisk Corporation.
Product names mentioned herein are for identification purposes only and may be trademarks and/or registered trademarks of
Designed to replace traditional rotating disk
drives, SanDisk FlashDrives are embedded solidstate data storage systems for mobile computing
and the industrial work place. The 1.8-inch
FlashDrives (model SDIB) are compatible with
1.8-inch form factor hard disk drives. The 2.5- and
3.5-inch FlashDrives (models SD25B and SD35B)
are compatible with 2.5- and 3.5-inch form factor
disk drives. These FlashDrives, and all SanDisk
FlashDrives, feature an extremely light weight,
low profile form factor with 4 to 440 megabytes
(MB) of storage capacity.
SanDisk FlashDrives fit into standard disk drive
bays, use the industry standard IDE interface and
connect to the host system via the same ribbon
cable used to connect standard disk drives. No
additional device drives are required.
FlashDrives consist of an IDE compatible flash
memory controller and flash memory chip(s). See
Figure 1-1 for a system block diagram of these IDE
FlashDrive products.
This manual describes the key features and
specifications of SanDisk FlashDrives, plus the
information required by an engineer to interface
the FlashDrives to a host system.
1.2FlashDrive Product Models
FlashDrives are available in a variety of
capacities as shown in the following table. All
FlashDrives are shipped formatted with a DOS
• Supports automatic power management as
well as ATA power down commands and
sleep mode over the interface
• Automatic error correction and retry
capabilities
• Sophisticated defect management system
1.4Related Documentation
1.5.1Flash Technology Independence
The sector size of the FlashDrives is the same as
in a magnetic disk drive: 512 bytes. To write or
read a sector (or multiple sectors), the host
computer software simply issues a write or read
command. The command contains the number of
sectors to write/read and the address to
write/read. The host software then waits for the
command to complete. The host software does not
get involved in the details of how the flash
memory is erased, programmed or read. This is
extremely important as flash devices are expected
to get more and more complex in the future. The
intelligent IDE compatible interface used by the
FlashDrives will not need to change to support
new flash devices in the future and therefore the
host software will not need to change. Systems
that support the FlashDrives today will be able
to access future SanDisk IDE compatible products
built with new flash technology without having
to update or change host software.
American National Standard X3T9.2 AT
Attachment Interface Document
This document can be ordered from
Global Engineering Documents by calling
1-800-854-7179.
1.5Functional Description
The SanDisk FlashDrives contain a high level,
intelligent subsystem as shown in the block
diagram, Figure 1-1. This intelligent (microprocessor) subsystem provides many capabilities.
These capabilities include:
1. Standard ATA register and command set
(same as found on most magnetic disk
drives).
2. Host independence from details of erasing
and programming flash memory.
3. Sophisticated system for managing
defects (analogous to systems found in
magnetic disk drives).
4. Sophisticated system for error recovery
including a powerful error correction code
(ECC).
1.5.2Defect and Error Management
The FlashDrives contain a sophisticated defect
and error management system. This system is
analogous to the systems found in all magnetic
disk drives and in many cases offers enhancement.
For instance, disk drives do not typically perform
a read after write to confirm the data is written
correctly because of the performance penalty that
would be incurred. The FlashDrives do a read
after write under margin conditions to verify that
the data is written correctly (except in the case of
a Write without Erase command). In the rare case
that a bit is found to be defective the FlashDrives
can replace this bad bit with a spare bit. If
necessary the FlashDrives can even replace the
entire sector with a spare sector. This is
completely transparent to the host and does not
consume any user data space.
The FlashDrive specification for soft error rate is
much better than the magnetic disk drive
specification. In the extremely rare case that a
read error does occur, the FlashDrives have
innovative algorithms to recover the data. This is
similar to using retries on a disk drive but much
more sophisticated. The last line of defense is to
employ a powerful ECC to correct the data. If ECC
is used to recover data, defective bits are replaced
with spare bits to ensure they do not cause future
problems.
These defect and error management systems
coupled with the solid-state construction give the
FlashDrives unparalleled reliability.
1.5.3 Endurance
Even very heavy use of the FlashDrive in a
computer system will use only a fraction of the
total endurance over the computer’s five year
lifetime. For instance, it would take over 34 years
to wear out an area on the drive on which a file of
any size (from 512 bytes to drive capacity) was
rewritten 3 times per hour, 8 hours a day, 365 days
per year.
With typical applications (PIM software, word
processing, spreadsheets, data collection, etc.),
the 300,000 endurance limit is not of any practical
concern to the vast majority of users.
1.5.5Automatic Sleep Mode
A unique feature of the SanDisk FlashDrives is
automatic entrance and exit from sleep mode.
Upon completion of a command, the FlashDrives
will enter the sleep mode to conserve power if no
further commands are received within 5 msec. The
host does not have to take any action for this to
occur. In most systems the FlashDrives are in sleep
mode except when the host is accessing it; thus,
conserving power. Note that the delay from
command completion to entering sleep mode can be
adjusted.
When the host is ready to access the drive and it
is in sleep mode, any command issued to the drive
will cause it to exit sleep and respond. The host
does not have to follow the ATA protocol of
issuing a reset first. It may do this if desired, but
it is not needed. By not issuing the reset,
performance is improved through the reduction of
overhead but this must be done only for the
SanDisk products as other IDE products may not
have this feature.
1.5.4 Wear Leveling
The FlashDrives do not require or perform a Wear
Level operation. The command is supported as a
NOP operation to maintain backward
compatibility with existing software utilities.
1.5.6Power Supply Requirements
This is a dual voltage product which means it
will operate at a voltage range of 3.30 volts ± 5%
or 5.00 volts ± 10% (± 5% for industrial versions).
Note 1. All values quoted are typical at ambient temperature and nominal supply voltage unless otherwise stated.
Note 2. Sleep mode current is specified under the condition that all drive inputs are at static CMOS levels and in a
“Not Busy” operating state.
Note 3. The currents specified show the complete range of programmability in the FlashDrive memory drive. A
tradeoff between performance and maximum current used can be done using the Set Features command.
The FlashDrive defaults to the fastest speed and highest current. See the Set Features command for more
details.
Sleep:
Reading:
Writing:
Sleep:
Reading:
Writing:
3.3 V ± 5%5 V ± 10%3.3 V ± 5%5 V ± 5%
200 µA
(Slow - Fast)
32 mA - 45 mA
32 mA - 60 mA
150 mA/50µs
Standard 2.5" and 3.5"
FlashDrive
(Models SD25B and SD35B)
3.3 V ± 5%5 V ± 10%3.3 V ± 5%5 V ± 5%
200 µA
(Slow - Fast)
32 mA - 80 mA
32 mA - 80 mA
150 mA/50µs
500 µA
(Slow - Fast)
46 mA - 75 mA
46 mA - 90 mA
150 mA/50µs
500 µA
(Slow - Fast)
46 mA - 120 mA
46 mA - 120 mA
150 mA/50µs
Industrial 1.8" FlashDrive
(Model SDIBI)
200 µA
(Slow - Fast)
32 mA - 45 mA
32 mA - 60 mA
150 mA/50µs
Industrial 2.5" and 3.5"
FlashDrive
(Models SD25BI
and SD35BI)
200 µA
(Slow - Fast)
32 mA - 80 mA
32 mA - 80 mA
150 mA/50µs
500 µA
(Slow - Fast)
46 mA - 75 mA
46 mA - 90 mA
150 mA/50µs
500 µA
(Slow - Fast)
46 mA - 120 mA
46 mA - 120 mA
150 mA/50µs
2.3System Performance
All performance timings assume the FlashDrive
controller is in the default (i.e., fastest) mode at
Vcc = 5.0 volts.
Start Up Times
Sleep to write:
Sleep to read:
Reset to ready:
Active to Sleep Delay Programmable
Data Transfer Rate To/From Flash 4.0 MBytes/sec burst
Data Transfer Rate To/From Host 6.0 MBytes/sec burst
Controller Overhead Command to DRQ 1.25 msec maximum
Note:The Sleep to Write and Sleep to Read times are the times it takes the FlashDrive to exit sleep mode when
any command is issued by the host to when the drive is reading or writing. The FlashDrive does not require a
reset to exit sleep mode. See section 1.5.5.
Follow the procedure below to prepare for the
FlashDrive installation:
1. If replacing an existing hard disk drive,
make sure that all data on that drive has
been properly backed up.
2. Turn off the power to the host computer
system and unplug the power supply cord.
The host system’s power must be off during
the entire installation procedure.
3. Using a grounding strap, make sure that
you are properly grounded. You must be
grounded during the entire installation
procedure and when handling the
FlashDrive.
4. Remove the host computer system’s cover.
Caution: Be sure to check with the host
system’s user’s manual and the terms and
conditions of the system’s warranty before
removing the cover. Removing the cover of
a laptop computer may be difficult and
could void the system’s warranty.
5. If replacing the computer system’s existing
hard drive, remove the hard drive.
If the FlashDrive is being installed as a single
drive, go to section 3.3 to finish the installation
process. If the FlashDrive is being installed in a
two drive configuration, follow the steps in section
3.2 below to set the jumpers and then go to section
3.3 to finish the installation.
3.2.1Jumper Settings for 1.8- and 2.5-inch
FlashDrives
If the FlashDrive is being installed as the second,
or Slave drive, in a two drive configuration, pin B
or pin C must be grounded (see the Figures 3-1 and
3-2). Pins B and C are pulled-up input pins that
are shorted together internally (Pins A and D are
ground.) These pins are used to configure the
FlashDrive as a slave device. When either pin B
or pin C is grounded by the user, either using a
shunt jumper or through a ground on the host
motherboard if a 50 pin connector is used, the
FlashDrive is configured as a Slave device.
If both pins B and C remain open, the FlashDrive
is configured as a master in a master/slave
configuration or as the only drive in a single drive
system.
Master or Single Drive
AB
CD
Slave
AB
CD
Pin 1
Pin 1
3.2Installing the FlashDrive in a Two
Drive Configuration
If the FlashDrive is being installed in a system
that has either a hard disk or another
FlashDrive already installed, a jumper may need
to be installed for the FlashDrive(s) to operate
properly.
The jumper settings for the 3.5-inch FlashDrive
are shown on the FlashDrive’s label. The
master/slave configuration pins are the eight pins
between the four pin power connector and the 40
pin interface connector. The figure below shows
how the jumpers should be set for either master or
slave configuration on the 3.5-inch FlashDrive.
Figure 3-3
3.5-inch FlashDrive Configuration Pins
3.3Mounting the FlashDrive
Follow to the steps below to mount the
FlashDrive in your computer system:
four pin power connector must also be
connected on the 3.5-inch FlashDrive.
2. Mount the FlashDrive into the host
system. The FlashDrive can be mounted in
any orientation from the top, bottom or
side. The 1.8-inch FlashDrives use four
M1.6 screws in the corner mounting holes in
the PC board. The 2.5-inch FlashDrive
uses four M3 screws and the 3.5-inch
FlashDrive uses four 6-32 screws. See
Figures 2-1 through 2-5 and see the
Ordering Information section at the end of
this manual. Ensure that the cables are
not crimped or strained. Make sure that
all mounting screws are hand tightened
securely. For the 3.5-inch FlashDrive,
mounting screws must not extend more than
.25 inch into the frame. For the 2.5-inch
FlashDrive, mounting screws must not
extend more than 3 mm into the frame.
3. Perform the CMOS Setup. If the
computer’s BIOS has an auto-detect
function, use this option, otherwise,
determine if your system has a user
definable “hard drive types” selection in
the CMOS RAM. If your system has this
selection, continue with the CMOS setup.
If your system does not have this
selection, call SanDisk Applications
Engineering at (408) 542-0400.
Refer to the following table for
information required to set the user
definable “hard disk type” selection in
your system’s CMOS RAM to the
FlashDrive configuration. The table lists
the number of heads, sectors per track and
cylinders emulated by the FlashDrives.
After entering the appropriate
information, save the new CMOS setup by
rebooting your system.
1. Connect the FlashDrive to the host
system. If the host system’s cable
connector is not keyed, make sure that pin
1 from the host computer cable is connected
to pin 1 of the FlashDrive. Pin 1 on both
connectors has a square solder pad. If the
FlashDrive is being added to the system
as a slave drive, connect the daisychained connector to the FlashDrive. The
If the FlashDrive is to be DOS bootable,
you must perform the SYS command which
will install DOS system files onto the
FlashDrive (for example, in a DOS PC
type sys c:). If you have an operating
system other than DOS, please refer to
your system manual. Verify the
installation by rebooting your computer
with the FlashDrive. Your FlashDrive is
now ready for use.
The host is connected to the 1.8- and 2.5-inch
FlashDrives using a standard 44 pin connector
consisting of two rows of 22 male pins on 2 mm (78.7
mils) centers. The header is a DuPont Minitek II,
part number 86455-144, or equivalent. The
Pin 1
Figure 4-1 1.8- and 2.5-inch Connector
maximum length cable is 18 inches (45.7 cm). The
host is connected to the 3.5-inch FlashDrive using
a standard 40 pin ATA disk drive interface
connector and standard four pin power connector.
The IDE interface between the SanDisk
FlashDrive and the host is a subset of the
standard PC/AT I/O Interface. It differs from the
original PC/AT in that the address port decode is
not resident in the SanDisk IDE FlashDrives.
Table 4-2 describes the I/O signals. Signals whose
source is the host are designated as inputs while
signals that the FlashDrive sources are outputs.
Refer to section 4.3 for definitions of Input and
Output type.
Table 4-2 Signal Descriptions
Signal NameDirPinDescription
-SLAVEIB,C
(Except
SD35B
3.5-inch
FlashDrive)
-RESETI1HOST RESET
Data (15-0)I/O18,16,14,12,
10,8,6,4,
3,5,7,9,11,
13,15,17
-IOWI23I/O WRITE
-IORI25I/O READ
IRQO31INTERRUPT REQUEST
-IOCS16O32I/O SELECT 16
-PDIAGI/O34PASS DIAGNOSTIC.
A(2-0)I36,33,35HOST ADDRESS (2-0)
SLAVE Mode
Pins B and C are pulled-up input pins that are shorted together
internally. (Pins A and D are ground.) These pins are used to
configure the FlashDrive as a Slave device. When either pin B or pin
C is grounded by the user, either using a shunt jumper or through a
ground on the host motherboard if a 50 pin connector is used, the
FlashDrive is configured as a Slave device. If both pins B and C
remain open, the FlashDrive is configured as a Master in a
Master/Slave configuration or as the only drive in a single drive
system.
Reset signal from the host that is active on power up and inactive
thereafter.
HOST DATA (15-0)
These 16 lines carry the Data between the controller and the host.
The low 8 lines transfer commands, status and ECC information
between the host and the controller.
This strobe pulse is used to clock data or commands on the host
data bus into the controller. The clocking will occur on the negative
to positive edge of the signal (trailing edge).
This is a read strobe generated by the host. This signal gates data
or status on the host bus and strobes the data from the controller
into the host on the low to high transition (trailing edge).
This is an interrupt request from the controller to the host, asking for
service. The output of this signal is tri-stated when the interrupts
are disabled by the host.
This open drain output is asserted low by the controller to indicate to
the host the current cycle is a 16 bit word data transfer.
This bi-directional open drain signal is asserted by the slave after an
Execute Diagnostic command to indicate to the master it has
passed it’s diagnostics.
These address lines are used to select the registers within the
controller task file.
-CS0I37HOST CHIP SELECT 0
This is a chip select signal that is used to select the controller task
file.
-CS1I38HOST CHIP SELECT 1
This is a chip select signal that is used to select the control and
diagnostic register.
-DASPI/O39DISK ACTIVE/SLAVE PRESENT
This open drain output signal is asserted low any time the drive is
active. In a master/slave configuration, this signal is used by the
slave to inform the master a slave is present.
(KEY)-20,E,FThese pins are reserved for the connector keys.
5.0 ATA Drive Register Set Definition and Protocol
The FlashDrives are configured as a high
performance I/O device Standard PC/AT disk I/O
address spaces 1F0h-1F7h, 3F6h-3F7h (primary);
170h-177h, 376h-377h (secondary) with IRQ 14
(or other available IRQ).
5.1I/O Primary and Secondary Address
Configurations
Table 5-1 Primary and Secondary I/O Decoding
-CS1-CS0A2A1A0-IORD=0-IOWR=0
10000RD DataWR Data
10001Error RegisterFeatures
10010Sector CountSector Count
10011Sector NumberSector Number
10100Cylinder LowCylinder Low
10101Cylinder HighCylinder High
10110Select Card/HeadSelect Card/Head
10111StatusCommand
01110Alt StatusDevice Control
01111Drive AddressReserved
The communication to or from the FlashDrive is
done using the Task File registers which provide
all the necessary registers for control and status
information.
5.2ATA Registers
5.2.1Data Register
The Data Register is a 16-bit register used to
transfer data blocks between the FlashDrive data
buffer and the Host. This register can also be
accessed as an 8-bit register if the FlashDrive is
set in the 8-bit only mode using the Set Features
command.
Page 32
FlashDrive Product Manual
5.2.2Error Register
This register contains additional information
about the source of an error when an error is
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 command has been aborted because of a FlashDrive status condition: (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.
5.2.3Feature Register
This register provides information regarding
features of the FlashDrive that the host can
utilize.
indicated in bit 0 of the Status register. The bits
are defined as follows:
5.2.5Sector Number (LBA 7-0) Register
This register contains the starting sector number or
bits 7-0 of the Logical Block Address (LBA) for
any FlashDrive data access for the subsequent
command.
5.2.4Sector Count Register
This register contains the number of sectors of data
requested to be transferred on a read or write
operation between the host and the FlashDrive.
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.
5.2.6Cylinder 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.
5.2.7Cylinder 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.
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
1LBA1DRVHS3HS2HS1HS0
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:
LBA07-LBA00: Sector Number Register D7-D0.
LBA15-LBA08: 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)This bit will have the following meaning. DRV is the drive number. When DRV=0, drive (card) 0 is
selected When DRV=1, drive (card) 1 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 (HS1)When 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. It is Bit 24 in
These registers return the FlashDrive status when
read by the host. Reading the Status register does
Auxiliary Status register does not. The meaning of
the status bits are described as follows:
clear a pending interrupt while reading the
D7D6D5D4D3D2D1D0
BUSYRDYDWFDSCDRQCORR0ERR
Bit 7 (BUSY) The busy bit is set when the FlashDrive 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.
Bit 6 (RDY)RDY indicates whether the device is capable of performing FlashDrive operations. This bit is
cleared at power up and remains cleared until the FlashDrive 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 FlashDrive is ready.
Bit 3 (DRQ)The Data Request is set when the FlashDrive requires that information be transferred either to or
from the host through the Data register.
Bit 2 (CORR) This 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.
Bit 1 (IDX)This bit is always set to 0.
Bit 0 (ERR)This 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.
5.2.10 Device Control Register
This register is used to control the FlashDrive
interrupt request and to issue an ATA soft reset to
the card. The bits are defined as follows:
D7D6D5D4D3D2D1D0
XXXX1SW Rst-IEn0
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 FlashDrive.
Bit 2 (SW Rst)This bit is set to 1 in order to force the FlashDrive to perform an AT Disk controller Soft Reset
operation. The Card 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
FlashDrive are disabled. This bit also controls the Int bit in the Configuration and Status Register.
This bit is set to 1 at power on and Reset.
This register contains the drive select and head
select addresses of the currently selected drive.
The bits are defined as follows:
D7D6D5D4D3D2D1D0
X-WTG-HS3-HS2-HS1-HS0-nDS1-nDS0
Bit 7This bit is not driven.
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 (-HS0)This bit is the negation of bit 0 in the Drive/Head register.
Bit 1 (-nDS1) This bit is 0 when drive 1 is active and selected.
Bit 0 (-nDS0) This bit is 0 when the drive 0 is active and selected.
This section defines the software requirements and
the format of the commands the host sends to the
FlashDrives. Commands are issued to the
FlashDrive 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 6-1) of command acceptance, all
dependent on the host not issuing commands unless
the FlashDrive is not busy . (The BUSY bit in the
status and alternate status registers is 0.)
•Upon receipt of a Class 1 command, the
FlashDrive sets the BUSY bit within 400
nsec.
•Upon receipt of a Class 2 command, the
FlashDrive sets the BUSY bit within 400
nsec, sets up the sector buffer for a write
operation, sets DRQ within 700 µsec, and
clears the BUSY bit within 400 nsec of setting
DRQ.
•Upon receipt of a Class 3 command, the
FlashDrive sets the BUSY bit within 400
nsec, sets up the sector buffer for a write
operation, sets DRQ within 20 msec (assuming
no re-assignments), and clears the BUSY bit
within 400 nsec of setting DRQ.
6.1ATA Command Set
Table 6-1 summarizes the ATA command set with
the paragraphs that follow describing the
individual commands and the task file for each.
1Check Power ModeE5h or 98h----D1Execute Drive Diagnostic90h----D1Erase Sector(s) (Note 1)C0h-YYYYY
2Format Track50h-Y-YYY
1Identify DriveECh----D1IdleE3h or 97h-Y--D1Idle ImmediateE1h or 95h----D1Initialize Drive Parameters91h-Y--Y1Read BufferE4h----D1Read MultipleC4h-YYYYY
1Read Long Sector22h or 23h--YYYY
1Read Sector(s)20h or 21h-YYYYY
1Read Verify Sector(s)40h or 41h-YYYYY
1Recalibrate1Xh----D1Request Sense (Note 1)03h----D1Seek7Xh--YYYY
1Set FeaturesEFhY---D1Set Multiple ModeC6h-Y--D1Set Sleep ModeE6h or 99h----D1Stand ByE2h or 96h----D1Stand By ImmediateE0h or 94h----D1Translate Sector (Note 1)87h-YYYYY
1Wear Level (Note 1)F5h----Y2Write BufferE8h----D2Write Long Sector32h or 33h--YYYY
3Write MultipleC5h-YYYYY
3Write Multiple w/o Erase ( 1)CDh-YYYYY
2Write Sector(s)30h or 31h-YYYYY
2Write Sector(s) w/o Erase ( 1)38h-YYYYY
2Write Verify Sector(s)3Ch-YYYYY
Note 1:This command is not a standard PC Card ATA command but provides additional functionality.
Definitions: FR = Features Register, SC = Sector Count Register, SN = Sector Number Register, CY = Cylinder
Registers, DH = Card/Drive/Head Register, LBA = Logical Block Address Mode Supported (see
command descriptions for use).
Y - The register contains a valid parameter for this command. For the Drive/Head Register Y means both
the FlashDrive and head parameters are used; D - only the FlashDrive parameter is valid and not the
head parameter.
This command is used to pre-erase and condition
data sectors in advance of a Write without Erase
or Write Multiple without Erase command. There
is no data transfer associated with this command
but since an implied write ID (header) operation
is performed, a Write Fault error status can occur.
Refer to section 1.6.5 Using the Erase Sector andWrite without Erase Commands for an expanded
definition of the Erase Sector(s) command.
This command writes the desired head and
cylinder of the selected drive with a FFh pattern.
To remain host backward compatible, the
FlashDrive 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
FlashDrive. If LBA=1 then the number of sectors
to format is taken from the Sec Cnt register
(0=256).
6.1.5Identify Drive - ECH
Bit ->76543210
Command (7)ECH
C/D/H (6)XXXDriveX
Cyl High (5)X
Cyl Low (4)X
Sec Num (3)X
Sec Cnt (2)X
Feature (1)X
The Identify Drive command enables the host to
receive parameter information from the
FlashDrive. 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 6-3. All reserved bits or
words are zero. Table 6-3 is the definition for each
field in the Identify Drive Information.
0844AH2General configuration bit-significant information
1XXXX2Default number of cylinders
20000H2Reserved
3XXXX2Default number of heads
40000H2Number of unformatted bytes per track
50240H2Number of unformatted bytes per sector
6XXXX2Default number of sectors per track
7-8XXXX4Number of sectors per card (Word 7 = MSW, Word 8 = LSW)
90000H2Reserved
10-19aaaa20Serial number in ASCII (Right Justified)
200002H2Buffer type (dual ported)
210002H2Buffer size in 512 byte increments
220004H2# of ECC bytes passed on Read/Write Long Commands
23-26aaaa8Firmware revision in ASCII (Rev M.ms) set by code Big Endian Byte Order
27-46aaaa40Model number in ASCII (Left Justified) Big Endian Byte Order in Word
470001H2Maximum of 1 sector on Read/Write Multiple command
480000H2Double Word not supported
490200H2Capabilities: DMA NOT Supported (bit 8), LBA supported (bit 9)
500000H2Reserved
510100H2PIO data transfer cycle timing mode 1
520000H2DMA data transfer cycle timing mode Not Supported
530001H2Translation parameters are valid
54XXXX2Current numbers of cylinders
55XXXX2Current numbers of heads
56XXXX2Current sectors per track
57-58XXXX4Current capacity in sectors (LBAs)(Word 57 = LSW, Word 58 = MSW)
59010XH2Multiple sector setting is valid
60-61XXXX4Total number of sectors addressable in LBA Mode
This field informs the host that this is a nonmagnetic, hard sectored, removable storage device
with a transfer rate greater than 10 mb/sec and is
not MFM encoded.
6.1.5.2Default 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.
6.1.5.3Default Number of Heads
This field contains the number of translated heads
in the default translation mode.
6.1.5.4Number of Unformatted Bytes per
Track
This field contains the number of unformatted
bytes per translated track in the default
translation mode.
6.1.5.8FlashDrive Serial Number
The contents of this field are right justified and
padded with spaces (20h).
6.1.5.9Buffer Type
This field defines the buffer capability with the
0002h meaning a dual ported multi-sector buffer
capable of simultaneous data transfers to or from
the host and the FlashDrive.
6.1.5.10Buffer Size
This field defines the buffer capacity of 2 sectors
or 1 kilobyte of SRAM.
6.1.5.11ECC Count
This field defines the number of ECC bytes used on
each sector in the Read and Write Long commands.
6.1.5.12Firmware Revision
6.1.5.5Number of Unformatted Bytes per
Sector
This field contains the number of unformatted
bytes per sector in the default translation mode.
6.1.5.6Default Number of Sectors per Track
This field contains the number of sectors per track
in the default translation mode.
6.1.5.7Number of Sectors per Drive
This field contains the number of sectors per
FlashDrive. This double word value is also the
first invalid address in LBA translation mode.
This field contains the revision of the firmware
for this product.
6.1.5.13Model Number
This field contains the model number for this
product and is left justified and padded with
spaces (20h).
6.1.5.14 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.
This field indicates this product will not support
double word transfers.
6.1.5.16Capabilities
This field indicates this product will not support
DMA Data transfers but does support LBA mode.
6.1.5.17PIO Data Transfer Cycle Timing Mode
This field defines the mode for PIO data transfer.
6.1.5.18DMA Data Transfer Cycle Timing
Mode
This field states this product doesn’t support any
DMA data transfer mode.
6.1.5.21Current Capacity
This field contains the product of the current
cylinders times heads times sectors.
6.1.5.22Multiple 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 command. The even byte of this
word by default contains a 00H which indicates
that R/W Multiple commands are not valid. The
only other value returned by the FlashDrive in
the even byte is a 01H value which indicates that
1 sector per interrupt can be transferred in R/W
Multiple mode.
6.1.5.23Total Sectors Addressable in LBA Mode
6.1.5.19Translation Parameters Valid
This field contains the value 0001h indicating
that words 54 to 58 are valid and reflect the
current number of cylinders, heads and sectors.
6.1.5.20Current 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.
This field contains the number of sectors
addressable for the FlashDrive in LBA mode
only.
This command causes the FlashDrive to set BSY,
enter the Idle (Read) mode, clear BSY and
generate an interrupt. If the sector count is nonzero, it is interpreted as a timer count with each
power down mode is enabled. If the sector count is
zero, the automatic power down mode is disabled.
Note that this time base (5 msec) is different from
the ATA/IDE specification.
count being 5 milliseconds and the automatic
6.1.7Idle Immediate - 95H or E1H
Bit ->76543210
Command (7)E1H or 95H
C/D/H (6)XDriveX
Cyl High (5)X
Cyl Low (4)X
Sec Num (3)X
Sec Cnt (2)X
Feature (1)X
This command causes the FlashDrive to set BSY,
enter the Idle (Read) mode, clear BSY and
generate an interrupt.
of sectors per track and the number of heads per
cylinder. Only the Sector Count and the
Card/Drive/Head registers are used by this
command.
6.1.9 Read Buffer - E4H
Bit ->76543210
Command (7)E4H
C/D/H (6)XDriveX
Cyl High (5)X
Cyl Low (4)X
Sec Num (3)X
Sec Cnt (2)X
Feature (1)X
in any system because DOS determines the
offset to the Boot Record based on the number
of heads and sectors per track. If an FlashDrive
is “formatted” with one head and sector per
track value, the same FlashDrive will not
operate correctly with DOS configured with
another heads and sectors per track value.
The Read Buffer command enables the host to
read the current contents of the FlashDrive’s
sector buffer. This command has the same protocol
as the Read Sector(s) command.
Note:The current revision of the FlashDrive only supports a block count of 1 as indicated in the Identify Drive
Information command. This command is provided for compatibility with future products which may support a
larger block count.
The Read Multiple command performs similarly
to the Read Sectors 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 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 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
n = remainder (sector count/block count)
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
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.
The Read Long 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 command, the FlashDrive does not check the
ECC bytes to determine if there has been a data
error. Only single sector read long operations are
data transferred in word mode followed by 4 bytes
of random data transferred in byte mode. Random
data is returned instead of ECC bytes because of
the nature of the ECC system used. This command
has the same protocol as the Read Sector(s)
command.
supported. The transfer consists of 512 bytes of
6.1.12Read Sector(s) - 20H or 21H
Bit ->76543210
Command (7)20H or 21H
C/D/H (6)1LBA1DriveHead (LBA 27-24)
Cyl High (5)Cylinder High (LBA 23-16)
Cyl Low (4)Cylinder Low (LBA 15-8)
Sec Num (3)Sector Number (LBA 7-0)
Sec Cnt (2)Sector Count
Feature (1)X
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 FlashDrive 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.
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.
Page 48
FlashDrive Product Manual
6.1.13Read Verify Sector(s) - 40H or 41H
Bit ->76543210
Command (7)40H or 41H
C/D/H (6)1LBA1DriveHead (LBA 27-24)
Cyl High (5)Cylinder High (LBA 23-16)
Cyl Low (4)Cylinder Low (LBA 15-8)
Sec Num (3)Sector Number (LBA 7-0)
Sec Cnt (2)Sector Count
Feature (1)X
This command is identical to the Read Sectors
command, except that DRQ is never set and no
Command Block Registers contain the cylinder,
head, and sector number of the last sector verified.
data is transferred to the host. When the
command is accepted, the FlashDrive sets BSY.
If an error occurs, the verify terminates at the
sector where the error occurs. The Command Block
When the requested sectors have been verified,
the FlashDrive clears BSY and generates an
interrupt. Upon command completion, the
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.
6.1.14Recalibrate - 1XH
Bit ->76543210
Command (7)1XH
C/D/H (6)1LBA1DriveX
Cyl High (5)X
Cyl Low (4)X
Sec Num (3)X
Sec Cnt (2)X
Feature (1)X
This command is effectively a NOP command to
the FlashDrive and is provided for compatibility
purposes. After this command is executed the Cyl
High and Cyl Low as well as the Head number
This command requests an extended error code
after a command ends with an error. Table 6-4
defines the valid extended error codes for the
the host in the Error Register. This command must
be the next command issued to the FlashDrive
following the command which returned an error.
FlashDrive. The extended error code is returned to
Table 6-4 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
0Ch, 38H, 3Bh, 3Ch, 3FhCorrupted Media Format
03hWrite / Erase Failed
01HEnable 8 bit data transfer.
55HDisable Read Look Ahead.
66HDisable Power on Reset (POR) establishment of defaults at Soft Reset.
69HAccepted for backward compatibility with the SDI Series but has no impact on the FlashDrive.
81HDisable 8 bit data transfer.
96HAccepted for backward compatibility with the SDI Series but has no impact on the FlashDrive.
9AHSet the host current source capability. Allows tradeoff between current drawn and read/write speed.
BBH4 bytes of data apply on Read/Write Long commands.
CCHEnable Power on Reset (POR) establishment of defaults at Soft Reset.
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 FlashDrive; thus, the host does not have
to issue this command with these features unless it
is necessary for compatibility reasons.
The 9AH Feature is a FlashDrive unique option
that provides a mechanism for the host system to
adjust how much current the FlashDrive will use.
The FlashDrive reduces the current it draws by
reducing its operating frequency. This has the
impact of also reducing the performance of the
FlashDrive. The default for the FlashDrive after
a power on reset is to operate at the highest
performance and therefore the highest current
mode. However after a power on, the FlashDrive
will not draw more than its minimum current as
long as the host does not issue any command which
reads or writes to the flash memory. This allows
the host to issue the Set Features command to set
the desired power level without exceeding the
minimum requirement of the FlashDrive.
To reduce the current the FlashDrive draws, the
host issues the Set Features command with the
Feature register set to 9AH and the Sector Count
register (Config) set to a current value which is
equal to 4 mA times the value in the Sector Count
register. When this is done, the controller will
utilize a look-up table to program the controller’s
frequency, microprocessor’s speed and flash clocks
with an optimum value to provide the highest
performance without exceeding the host’s current
limit. For example, if a host can supply 75 mA of
current to the FlashDrive, the Sector Count
register would be set to 75 divided by 4 (rounded
down) or a value of 18. The FlashDrive would
then automatically reduce its clock frequencies so
that it will not draw more than 75 mA (average,
at nominal Vcc and room temperature) of current.
If the host always wanted to operate at the
lowest possible current the Sector Count value
should be set to 1. The FlashDrive will then
operate at the lowest possible current (and also
the lowest performance).
At the completion of this command, the controller
will update the Cylinder Low register with the
controller’s minimum valid current value (i.e. the
minimum current with which the FlashDrive can
operate) and the Cylinder High register with the
maximum current it will use (i.e. the maximum
current the FlashDrive will draw at the highest
performance level). The controller will use its
minimum value for any Sector Count value which
is less than its minimum value. For example, if
the Sector Count is set to 4 which is equivalent to
16 mA, the controller will operate at the lowest
possible power point but will not reject the
command. Similarly the controller will use its
maximum value for any Sector Count value which
is more than the maximum current it can use.
There is no error associated with the 9AH feature.
Features 66H and CCH can be used to enable and
disable whether the Power On Reset (POR)
Defaults will be set when a soft reset occurs. The
default setting is to revert to the POR defaults
when a soft reset occurs. POR defaults the number
of heads and sectors along with 16 bit data
transfers and the read/write multiple block count.
This command enables the FlashDrive 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. The current version of
the FlashDrive supports only a block size of 1
sector per block. Future versions may support
larger block sizes. Upon receipt of the command,
the FlashDrive sets BSY to 1 and checks the
Sector Count Register.
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.
If the Sector Count Register contains a valid value
and the block count is supported, the value is
6.1.19Set Sleep Mode- 99H or E6H
Bit ->76543210
Command (7)E6H or 99H
C/D/H (6)XDriveX
Cyl High (5)X
Cyl Low (4)X
Sec Num (3)X
Sec Cnt (2)X
Feature (1)X
This command causes the FlashDrive 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 read to sleep timer is 5
milliseconds. Note that this time base (5 msec) is
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 on
the desired cylinder, head and sector with the
actual Logical Address along with the Hot Count
for that sector. Table 6-6 represents the
information in the buffer. Please note that this
command is unique to the SanDisk FlashDrive.
This command is provided for compatibility
purposes and is similar to the Write Sector(s)
command except that it writes 516 bytes instead of
512 bytes. Only single sector Write Long
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 solidstate FlashDrive, the four bytes of ECC
transferred by the host cannot be used by the
FlashDrive. The FlashDrive discards these four
bytes and writes the sector with valid ECC fields.
This command has the same protocol as the Write
Sector(s) command.
6.1.26Write Multiple Command - C5H
Bit ->76543210
Command (7)C5H
C/D/H (6)XLBAXDriveHead
Cyl High (5)Cylinder High
Cyl Low (4)Cylinder Low
Sec Num (3)Sector Number
Sec Cnt (2)Sector Count
Feature (1)X
Note:The current revision of the FlashDrive only
supports a block count of 1 as indicated in the
Identify Drive Command information. This
command is provided for compatibility with
future products which may support a larger
block count.
This command is similar to the Write Sectors
command. The FlashDrive sets BSY within 400
nsec 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 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 count)
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.
6.1.27Write Multiple without Erase - CDH
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.
Bit ->76543210
Command (7)CDH
C/D/H (6)XLBAXDriveHead
Cyl High (5)Cylinder High
Cyl Low (4)Cylinder Low
Sec Num (3)Sector Number
Sec Cnt (2)Sector Count
Feature (1)X
This command is similar to the Write Multiple
command with the exception that an implied
erase before write operation is not performed. The
sectors should be pre-erased with the Erase
Sector(s) command before this command is issued.
Refer to section 1.6.5 Using the Erase Sector andWrite without Erase Commands and to section
6.1.29 Write Sector(s) Without Erase - 38H for an
expanded definition of the Write Sector(s)
without Erase command.
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
FlashDrive sets BSY, then sets DRQ and clears
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.
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 buffer fill operation.
No data should be transferred by the host until
BSY has been cleared by the host.
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
For multiple sectors, after the first sector of data
is in the buffer, BSY will be set and DRQ will be
the command block to determine what error has
occurred, and on which sector.
cleared. After the next buffer is ready for data,
6.1.29Write Sector(s) without Erase - 38H
Bit ->76543210
Command (7)38H
C/D/H (6)1LBA1DriveHead (LBA 27-24)
Cyl High (5)Cylinder High (LBA 23-16)
Cyl Low (4)Cylinder Low (LBA 15-8)
Sec Num (3)Sector Number (LBA 7-0)
Sec Cnt (2)Sector Count
Feature (1)X
This command is similar to the Write Sector(s)
command with the exception that an implied
erase before write operation is not performed. This
command has the same protocol as the Write
Sector(s) command. The sectors should be preerased with the Erase Sector(s) command before
this command is issued. If the sector is not pre-
erased with the Erase Sector(s) command, a
normal write sector operation will occur.
This command is much faster than a Write
Sector(s) command if the sector is pre-erased. The
Sector(s) command along with the Write Sector(s)
without Erase command is less than the normal
Write Sector(s) command but has the advantage
of splitting up the overall time so the write only
the normal Write Sector(s) command. Refer to
section 1.6.5 Using the Erase Sector and Write
without Erase Commands for an expanded
definition of these commands.
portion is more than two times the transfer rate of
6.1.30Write Verify Sector(s) - 3CH
Bit ->76543210
Command (7)3CH
C/D/H (6)1LBA1DriveHead (LBA 27-24)
Cyl High (5)Cylinder High (LBA 23-16)
Cyl Low (4)Cylinder Low (LBA 15-8)
Sec Num (3)Sector Number (LBA 7-0)
Sec Cnt (2)Sector Count
Feature (1)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
FlashDrive sets BSY, then sets DRQ and clears
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.
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 buffer fill operation.
No data should be transferred by the host until
BSY has been cleared by the host.
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
For multiple sectors, after the first sector of data
is in the buffer, BSY will be set and DRQ will be
the command block to determine what error has
occurred, and on which sector.
cleared. After the next buffer is ready for data,
Screws: 1.6mm, M3, 6-32
Standoffs: part number 362001
1.6 x 15 mm female to female
standoffs, aluminum
Screws: 1.6mm, several types
available
Standoffs: aluminum, nylon,
several types available, made
to order
Page 64
Ordering Information and Technical Support
Technical Support Services
Direct SanDisk Technical Support
Call SanDisk Applications Engineering at 408-542-0405 for technical support.
SanDisk Worldwide Web Site
Internet users can obtain technical support and product information along with SanDisk news and much
more from the SanDisk Worldwide Web Site, 24 hours a day, seven days a week. The SanDisk
Worldwide Web Site is frequently updated. Visit this site often to obtain the most up-to-date
information on SanDisk products and applications. The SanDisk Web Site URL is
http://www.sandisk.com.
SanDisk warrants its products to be free of any defects in materials or workmanship that would prevent them from
functioning properly for one year from the date of purchase. This express warranty is extended by SanDisk
Corporation.
II. GENERAL PROVISIONS
This warranty sets forth the full extent of SanDisk’s responsibilities regarding the SanDisk FlashDisk. In satisfaction
of its obligations hereunder, SanDisk, at its sole option, will either repair, replace or refund the purchase price of the
product.
NOTWITHSTANDING ANYTHING ELSE IN THIS LIMITED WARRANTY OR OTHERWISE, THE EXPRESS
WARRANTIES AND OBLIGATIONS OF SELLER AS SET FORTH IN THIS LIMITED WARRANTY, ARE IN LIEU
OF, AND BUYER EXPRESSLY WAIVES ALL OTHER OBLIGATIONS, GUARANTIES AND WARRANTIES OF
ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY IMPLIED
WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR INFRINGEMENT,
TOGETHER WITH ANY LIABILITY OF SELLER UNDER ANY CONTRACT, NEGLIGENCE, STRICT LIABILITY
OR OTHER LEGAL OR EQUITABLE THEORY FOR LOSS OF USE, REVENUE, OR PROFIT OR OTHER
INCIDENTAL OR CONSEQUENTIAL DAMAGES, INCLUDING WITHOUT LIMITATION PHYSICAL INJURY OR
DEATH, PROPERTY DAMAGE, LOST DATA, OR COSTS OF PROCUREMENT OF SUBSTITUTE GOODS,
TECHNOLOGY OR SERVICES. IN NO EVENT SHALL THE SELLER BE LIABLE FOR DAMAGES IN EXCESS OF
THE PURCHASE PRICE OF THE PRODUCT, ARISING OUT OF THE USE OR INABILITY TO USE SUCH
PRODUCT, TO THE FULL EXTENT SUCH MAY BE DISCLAIMED BY LAW.
SanDisk’s products are not warranted to operate without failure. Accordingly, in any use of products in life support
systems or other applications where failure could cause injury or loss of life, the products should only be incorporated
in systems designed with appropriate redundancy, fault tolerant or back-up features.
III. WHAT THIS WARRANTY COVERS
For products found to be defective within one year of purchase, SanDisk will have the option of repairing or replacing
the defective product, if the following conditions are met:
A. A warranty registration card for each defective product was submitted and is on file at SanDisk. If not, a
warranty registration card must accompany each returned defective product. This card is included in each
product’s original retail package.
B. The defective product is returned to SanDisk for failure analysis as soon as possible after the failure occurs.
C. An incident card filled out by the user, explaining the conditions of usage and the nature of the failure,
accompanies each returned defective product.
D. No evidence is found of abuse or operation of products not in accordance with the published specifications, or
of exceeding storage or maximum ratings or operating conditions.
All failing products returned to SanDisk under the provisions of this limited warranty shall be tested to the product’s
functional and performance specifications. Upon confirmation of failure, each product will be analyzed, by whatever
means necessary, to determine the root cause of failure. If the root cause of failure is found to be not covered by the
above provisions, then the product will be returned to the customer with a report indicating why the failure was not
covered under the warranty.
This warranty does not cover defects, malfunctions, performance failures or damages to the unit resulting from use in
other than its normal and customary manner, misuse, accident or neglect; or improper alterations or repairs.
SanDisk reserves the right to repair or replace, at its discretion, any product returned by its customers, even if such
product is not covered under warranty, but is under no obligation to do so.
SanDisk may, at its discretion, ship repaired or rebuilt products identified in the same way as new products, provided
such cards meet or exceed the same published specifications as new products. Concurrently, SanDisk also reserves the
right to market any products, whether new, repaired, or rebuilt, under different specifications and product
designations if such products do not meet the original product’s specifications.
According to SanDisk’s warranty procedure, defective product should be returned only with prior authorization from
SanDisk Corporation. Please contact SanDisk’s Customer Service department at 408-542-0595 with the following
information: product model number and description, serial numbers, nature of defect, conditions of use, proof of
purchase and purchase date. If approved, SanDisk will issue a Return Material Authorization or Product Repair
Authorization number. Ship the defective product to:
SanDisk Corporation
Attn: RMA Returns
(Reference RMA or PRA #)
140 Caspian Court
Sunnyvale, CA 94089
V. STATE LAW RIGHTS
SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL
DAMAGES, OR LIMITATION ON HOW LONG AN IMPLIED WARRANTY LASTS, SO THE ABOVE
LIMITATIONS OR EXCLUSIONS MAY NOT APPLY TO YOU. This warranty gives you specific rights and you may
also have other rights that vary from state to state.
VI. OUT OF WARRANTY REPAIRS
Please contact SanDisk Customer Service at 408-542-0595 for the current out of warranty and repair price list.