The information in this manual is preliminary and is subject to change without notice. Cactus Technologies ® , Limited 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.
Cactus Technologies® makes no warranty, representation or guarantee regarding the suitability of its products for any
particular purpose, nor does Cactus Technologies® assume any liability arising out of the application or use of its products, and
specifically disclaims any and all liability, including without limitation consequential or incidental damages.
Cactus Technologies® products are not designed, intended or authorized for use as components in systems intended for surgical
implant into the body or in other applications intended to support or sustain life or for any application where the failure of a
Cactus Technologies® product can result in personal injury or death. Users of Cactus Technologies® products for such
unintended and unauthorized applications shall assume all risk of such use and shall indemnify and hold Cactus
Technologies® and its officers, employees, subsidiaries, affiliates and distributors harmless against all claims, costs, damages,
expenses and attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such
unintended and unauthorized use, even if such claim alleges that Cactus Technologies® was negligent regarding the design or
manufacture of the part.
All parts of the Cactus Technologies® 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 Cactus Technologies®, Limited.
Appendix A. Ordering Information.......................................................................................................................... 20
Appendix B.Technical Support Services.................................................................................................................. 21
1.Introduction to Cactus Technologies
Industrial Grade CFast Products
Features:
•Solid state design with no moving parts
•Industry standard CFast Type I form factor
•Capacities from 1GB to 32GB
•Compliant with Serial ATA 2.6 specifications
•Supports Serial ATA Generation I/II transfer rate of 1.5/3.0Gbps
•Support ATA SMART Feature Set
•Support ATA Security Feature Set
•Optional Write Protect switch
•BCH ECC capable of correcting 8 random single bit errors per sector
•High reliability, MTBF > 4,000,000 hrs.
•Enhanced error correction, < 1 error in 10
14
bits read
®
•Intelligent power management to reduce power consumption
•Voltage support: 3.3V±10%
The Cactus Technologies® CFast card is a high capacity solid-state flash memory product
that complies with the Serial ATA 2.6 standard and is functionally compatible with a SATA
hard disk drive. Cactus Technologies® CFast cards provide up to 32GB of formatted storage
capacity.
The Cactus Technologies® CFast product uses high quality SLC NAND flash memory from
well known vendors, such as Samsung Corporation. In addition, it include an on-drive
intelligent controller that manages interface protocols, data storage and retrieval as well as
ECC, defect handling and diagnostics, power management, and clock control. The
controller’s firmware is upgradeable, thus allowing feature enhancements and firmware
updates while keeping the BOM stable.
Cactus Technologies® CFast card is fully compatible with the following specification:
•ATA 7 Specification published by ANSI: X3.221 AT Attachment Interface for Disk
Drives
•Serial ATA 2.6 Specification published by the Serial ATA International Organization
•CFast 1.1 Specification published by CFA
1.2. Product Features
Cactus Technologies® Industrial CFast card contains a high level, intelligent controller. This
intelligent controller provides many capabilities including the following:
•Standard ATA register and command set (same as found on most magnetic disk
drives).
•Manages details of erasing and programming flash memory independent of the host
system
•Sophisticated defect managing capabilities (similar to magnetic disk drives).
•Sophisticated system for error recovery using powerful error correction code (ECC).
•Intelligent power management for low power operation.
1.2.1.Host and Technology Independence
Cactus Technologies® Industrial CFast card appears as a standard SATA disk drive to the
host system. The drive utilizes a 512-byte sector which is the same as that in an IDE
magnetic disk drive. To write or read a sector (or multiple sectors), the host computer
software simply issues an ATA Read or Write command to the drive as per the SATA
protocol. The host software then waits for the command to complete. The host system does
not get involved in the details of how the flash memory is erased, programmed or read as
this is all managed by the built-in controller in the drive. Also, with the intelligent on-board
controller, the host system software will not require changing as new flash memory evolves.
Thus, systems that support the Cactus Technologies® Industrial CFast products today will
continue to work with future Cactus Technologies® Industrial CFast cards built with new flash
technology without having to update or change host software.
1.2.2.Defect and Error Management
Cactus Technologies® Industrial CFast card contains a sophisticated defect and error
management system similar to those found in magnetic disk drives. The defect
management is completely transparent to the host and does not consume any user data
space.
The soft error rate for Cactus Technologies® Industrial CFast card is much lower than that of
magnetic disk drives. In the extremely rare case where a read error does occur, the drive
has sophisticated ECC to recover the data.
These defect and error management systems, coupled with the solid-state construction, give
Cactus Technologies® Industrial CFast cards unparalleled reliability.
1.2.3.Power Supply Requirements
Cactus Technologies® Industrial CFast card operates at a voltage range of 3.3 volts ± 10%.
2.Product Specifications
For all the following specifications, values are defined at ambient temperature and nominal
supply voltage unless otherwise stated.
For CFast cards with the optional Write Protect switch option, the Write Protect function can
be activated either by using the Write Protect switch or by pulling pin PC10 low. The current
Write Protect status of the card is indicated by pin PC8 as described below:
Pin nameTypeDescription
PC8OutputWrite Protect Status; 'Low' : card is in WP
Cactus Technologies® CFast products conforms to all AC timing requirements as specified in
the CFA specifications. Please refer to that document for details of AC timing for all
operation modes of the device.
4.ATA Drive Register Set Definition and
Protocol
The communication to or from the CFast card is done using FIS. Legacy ATA protocol is
supported by using the legacy mode defined in the SATA specifications. In this mode, the
FIS has defined fields which provide all the necessary ATA task file registers for control and
status information. The Serial ATA interface does not support Primary/Secondary or
Master/Slave configurations. Each SATA channel supports only one SATA device, with the
register selection as defined by the ATA standard.
4.1. ATA Task File Definitions
The following sections describes the usage of the ATA task file registers. Note that the
Alternate Status Register of legacy ATA is not defined for SATA drives.
4.1.1.Data Register
The Data Register is a 16-bit register, and it is used to transfer data blocks between the SSD
data buffer and the Host.
4.1.2.Error Register
This register contains additional information about the source of an error when an error is
indicated in bit 0 of the Status register. The bits are defined as follows:
D7D6D5D4D3D2D1D0
BBKUNC0IDNF0ABRT0AMNF
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 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.
4.1.3.Feature Register
This register provides information regarding features of the SSD that the host can utilize.
4.1.4.Sector 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 SSD. 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.
4.1.5.Sector Number (LBA 7-0) Register
This register contains the starting sector number or bits 7-0 of the Logical Block Address
(LBA) for any SSD data access for the subsequent command.
4.1.6.Cylinder Low (LBA 15-8) Register
This register contains the low order 8 bits of the starting cylinder address or bits 15-8 of the
Logical Block Address.
4.1.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.
4.1.8.Drive/Head (LBA 27-24) Register
The Drive/Head register is used to select the drive and head. It is also used to select LBA
addressing instead of cylinder/head/sector addressing. The bits are defined as follows:
D7D6D5D4D3D2D1D0
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)DRV is the drive number. This should always be set to 0.
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 the Logical Block Address mode.
4.1.9.Status Registers
These registers return the status when read by the host. Reading the Status register does
clear a pending interrupt while reading the Auxiliary Status register does not. The meaning
of the status bits are described as follows:
D7D6D5D4D3D2D1D0
BUSYRDYDWFDSCDRQCORR 0ERR
Bit 7 (BUSY) The busy bit is set when the device 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 operations requested by
the host. This bit is cleared at power up and remains cleared until the device 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 device is ready.
Bit 3 (DRQ)The Data Request is set when the device 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.
4.1.10.Device Control Register
This register is used to control the drive interrupt request and to issue an ATA soft reset to
the drive. The bits are defined as follows:
D7D6D5D4D3D2D1D0
HOBXXX1SW Rst-IEn0
Bit 7This bit is used in 48-bit addressing mode. When cleared, the host can read the most recently
written values of the Sector Count,Drive/Head and LBA registers. When set, the host will read
the previous written values of these registers. A write to any Command block register will
clear this bit.
Bit 6This bit is an X (Do not care).
Bit 5This bit is an X (Do not care).
Bit 4This bit is an X (Do not care).
Bit 3This bit is ignored by the drive.
Bit 2 (SW Rst)This bit is set to 1 in order to force the drive to perform an AT Disk controller Soft
Reset operation. The drive 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 drive are disabled. This bit is set to 0 at power on and Reset.
Bit 0This bit is ignored by the drive.
4.1.11.Drive Address Register
This register is provided for compatibility with the AT disk drive interface. It is recommended
that this register not be mapped into the host's I/O space because of potential conflicts on
Bit 7. The bits are defined as follows:
D7D6D5D4D3D2D1D0
X-WTG-HS3-HS2-HS1-HS0-nDS1-nDS0
Bit 7This bit is unknown.
Implementation Note:
Conflicts may occur on the host data bus when this bit is provided by a Floppy Disk Controller
operating at the same addresses as the SSD. Following are some possible solutions to
this problem:
1. Locate the SSD at a non-conflicting address (i.e., Secondary address (377) when a Floppy
Disk Controller is located at the Primary addresses).
2. Do not install a Floppy and a SSD in the system at the same time.
3. Implement a socket adapter that can be programmed to (conditionally) tri-state D7 of I/0
address 3F7/377 when a SSD product is installed and conversely to tri-state D6-D0 of
I/O address 3F7/377 when a floppy controller is installed.
4. Do not use the SSD’s Drive Address register. This may be accomplished by either a) If
possible, program the host adapter to enable only I/O addresses 1F0-1F7, 3F6 (or 170177, 176) to the SSD or b) if provided use an additional Primary/Secondary
configuration in the SSD that does not respond to accesses to I/O locations 3F7 and
377. With either of these implementations, the host software must not attempt to use
information in the Drive Address Register.
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.
5.ATA Command Description
This section defines the ATA command set supported by the Cactus Technologies® CFast
card.
Write Multiple Ext39h-YYYY
Write Multiple FUA ExtCEh-YYYY
Write Sector(s)30h or
31h
Write Sector(s) Ext34h-YYYY
Definitions:FR = Features Register, SC = Sector Count Register, SN = Sector Number Register, CY
= Cylinder Registers, DH = Drive/Drive/Head Register.
Y—The register contains a valid parameter for this command. For the Drive/Head Register Y means
both the drive and head parameters are used; D—only the drive parameter is valid and not the
head parameter.
Note: 1. For SATA drives, the drive number is always 0.
-YYYY
5.1.1.Identify Drive—ECH
The Identify Drive command enables the host to receive parameter information from the
drive. 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 5-7. All reserved
bits or words are zero. Table 5-7 is the definition for each field in the Identify Drive
Information.
Table 5-7. Identify Drive Information
Word
Address
00040H2General configuration bit-significant information.
1XXXXH2Default number of cylinders; capacity dependent.
2C837H2 Reserved.
300XXH2 Default number of heads; capacity dependent.
4XXXXH2Number of unformatted bytes per track.
5XXXXH2Number of unformatted bytes per sector.
6XXXXH2Default number of sectors per track; capacity dependent.
7-8XXXXH,XXX
9000EH2Reserved.
10-19aaaa20Serial number in ASCII (Right Justified).
20XXXXH2Retired
21XXXXH2Retired
220003FH2Obsolete
23-26aaaa8Firmware revision in ASCII . Big Endian Byte Order in Word.
27-46aaaa40Model number in ASCII (Left Justified) Big Endian Byte Order
478001H2 Maximum number of sectors on Read/Write Multiple
Cactus Technologies® warrants its Industrial Grade products only to be free of any defects in
materials or workmanship that would prevent them from functioning properly for five years
from the date of purchase. This express warranty is extended by Cactus Technologies
Limited to customers of our products.
II. GENERAL PROVISIONS
This warranty sets forth the full extent of Cactus Technologies® responsibilities regarding
the Cactus Technologies® Industrial Grade Flash Storage Products. Cactus Technologies®, at
its sole option, will repair, replace or refund the purchase price of the defective product.
Cactus Technologies® guarantees our products meet all specifications detailed in our
product manuals. Although Cactus Technologies® products are designed to withstand harsh
environments and have the highest specifications in the industry, they are not warranted to
never have failure and Cactus Technologies® does not warranty against incidental or
consequential damages. 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 backup
features.
®
III. WHAT THIS WARRANTY COVERS
For products found to be defective within five years of purchase, Cactus Technologies® will
have the option of repairing, replacing or refunding the purchase price the defective
product, if the following conditions are met:
A. The defective product is returned to Cactus Technologies® for failure analysis as soon as
possible after the failure occurs.
B. An incident card filled out by the user, explaining the conditions of usage and the nature
of the failure, accompanies each returned defective product.
C. No evidence is found of abuse or operation of products not in accordance with the
published specifications, or of exceeding maximum ratings or operating conditions.
All failing products returned to Cactus Technologies® 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. Cactus Technologies® Limited may 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.
According to Cactus Technologies® warranty procedure, defective product should be
returned only with prior authorization from Cactus Technologies® Limited. Please contact
Cactus Technologies® Customer Service department (tech@cactus-tech.com) with the
following information: product model number and description, nature of defect, conditions of
use, proof of purchase and purchase date. If approved, Cactus Technologies® will issue a
Return Material Authorization or Product Repair Authorization number. Ship the defective
product to: