1.The information contained herein can change without notice owing to product and/or
technical improvements. Before using the product, please make sure that the information
being referred to is up-to-date.
2.The outline of action and examples for application circuits described herein have been
chosen as an explanation for the standard action and performance of the product. When
planning to use the product, please ensure that the external conditions are reflected in the
actual circuit, assembly, and program designs.
3.When designing your product, please use our product below the specified maximum
ratings and within the specified operating ranges including, but not limited to, operating
voltage, power dissipation, and operating temperature.
4.Oki assumes no responsibility or liability whatsoever for any failure or unusual or
unexpected operation resulting from misuse, neglect, improper installation, repair, alteration
or accident, improper handling, or unusual physical or electrical stress including, but not
limited to, exposure to parameters beyond the specified maximum ratings or operation
outside the specified operating range.
5.Neither indemnity against nor license of a third party’s industrial and intellectual property
right, etc. is granted by us in connection with the use of the product and/or the information
and drawings contained herein. No responsibility is assumed by us for any infringement
of a third party’s right which may result from the use thereof.
6.The products listed in this document are intended for use in general electronics equipment
for commercial applications (e.g., office automation, communication equipment,
measurement equipment, consumer electronics, etc.). These products are not authorized
for use in any system or application that requires special or enhanced quality and reliability
characteristics nor in any system or application where the failure of such system or
application may result in the loss or damage of property, or death or injury to humans.
Such applications include, but are not limited to, traffic and automotive equipment, safety
devices, aerospace equipment, nuclear power control, medical equipment, and life-support
systems.
7.Certain products in this document may need government approval before they can be
exported to particular countries. The purchaser assumes the responsibility of determining
the legality of export of these products and will take appropriate and necessary steps at their
own expense for these.
8.No part of the contents cotained herein may be reprinted or reproduced without our prior
permission.
9.MS-DOS is a registered trademark of Microsoft Corporation.
The ML54051 is a controller that integrates into a single chip a host interface that conforms to
PCMCIA, an interface to a buffer used for data transfer, the necessary functions to control NAND
memory, and a microcontroller.
Internal 256 byte RAM is provided for storage of the card information structure (CIS). Also,
128KB of SRAM may be connected as a buffer for data transfer.
A maximum of 16 chips of 64 Mbit or larger NAND flash memory can be controlled when the chip
is used as stand-alone. If a decoder circuit is externally added, a maximum of 64 chips can be
controlled.
CompactFlashTM is a trademark of SanDisk Corporation.
1/33
¡ SemiconductorML54051
1. FEATURES
• Single chip controller with internal microcontroller (min. 4 cycles/instruction execution)
• Operating voltage: 3.3 V, Interface voltage: 3.3 V/5 V
• Internal 256B RAM for card information structure (CIS) storage
• Conforms to PC card standard - PC card ATA specification
• Auto-sleep mode support
• True IDE Mode support
• ECC system by BCH code (3-bit random error correction is possible for user data and ECC data)
• Substitute control function (defect management function)
• Debug mode support
• External buffer (128KB SRAM) control is possible
• High-speed operation via dual port bus control
• Low power consumption due to single chip controller
• Control of multiple NAND flash memories (64MB to 512MB) is possible
Refer to Section 12, “Application Examples” for specific connection examples.
3.1 Host Interface (PCMCIA)
Signal Name
ha [10:0]
hd [15:0]
hcen [2:1]
hiordn
hiowrn
hoen
hwen
hregn
hirqn
hstschgn
hinpackn
hiois16nO116-bit address enable signal (when the card is configured as an I/O card,
hwaitnO1Wait signal
hspkrB1Audio digital waveform signal
hrstI1Reset signal
hcselnI/(O)1Cable select signal (used only in True IDE Mode, GND: Master, X: Slave)
Type
I
B
I
I
I
I
I
I
O
O
O
Pin Count
11
16
2
1
1
1
1
1
1
1
1
Total 42
Description
Address bus (A10 is MSB, A0 is LSB)
Data bus (D15 is MSB, D0 is LSB)
Card enable signal (hcen1 controls even addresses and hcen2 controls odd
addresses. The combination of ha0, hcen1 and hcen2 allows even/odd
addresses to be accessed by hd[7:0].)
I/O read signal (control signal to read data from ATA registers)
I/O write signal (control signal to write data to ATA registers)
Output enable signal
Write enable signal
Register select & I/O Enable signal
Interrupt request signal (when the card is configured as an I/O card)
Card status change signal (signal to change the status of the configuration
status register)
Input port acknowledge signal (acknowledge signal during I/O read)
this signal indicates that 16-bit addresses are enabled)
ins
*In an external CPU connection mode, hcseln functions as a control signal (xint) for the
mbren
mbwen
mbrbnI1Port B ready/busy signal (signal to check internal status of device)
mctlI1Chip enable signal mode select (mcen[7:0] control)
mcen [7:0]O8Chip enable signals
mwpnO1Write protect signal (signal to forcibly prohibit write and erase operations)
Type
B
O
O
O
O
I
B
O
O
O
O
Pin Count
8
1
1
1
1
1
8
1
1
1
1
Total 36 pins
Description
Port A I/O bus
Port A command latch enable signal (signal to control latching of an
operation command into a device)
Port A address latch enable signal (signal to control latching of an address
or input data into a device)
Port A read enable signal
Port A write enable signal (signal to latch data into a device)
Port A ready/busy signal (signal to check internal status of device)
Port B I/O bus
Port B command latch enable signal (signal to control latching of an
operation command into a device)
Port B address latch enable signal (signal to control latching of an address
or input data into a device)
Port B read enable signal
Port B write enable signal (signal to latch data into a device)
mct1 = 0 : Chip enable signal
mct1 = 1 : Chip select and chip enable signals
*mcen[7:0] performs 2 types of operations depending upon the mctl signal.
If mctl = 0, mcen[7:0] functions as the chip enable signals.
If mctl = 1, mcen[5:1] functions as the chip select signals and mcen[0] functions as the chip
enable signal.
In the latter case, mcen[5:1] and mcen[0] must be connected to an external decoder and
mcen[7:6] are not used.
*In an external CPU connection mode, mctl and mcen[7:6] function as control signals (xpsen,
xrst, xclk, respectively) for the extended bus.
4/33
¡ SemiconductorML54051
p
p
3.3 External SRAM Interface
Signal Name
ra [16:0]
rd [7:0]B8Data bus for external SRAM
rrenO1Read enable signal for external SRAM
rwenO1Write enable signal for external SRAM
rcenO1Chip enable signal for external SRAM
TypeOPin Count
17
Total 28
ins
Address bus for external SRAM
Description
3.4 Extended Bus Interface
The extended bus interface is a signal line for the ML54051’s internal microcontroller. The
extended bus interface is used for purposes such as debugging.
Signal Name
xah [15:8]
xad [7:0]B8Address/data bus for extended bus
xrdB1Read signal for extended bus
xwrB1Write signal for extended bus
xaleB1Address latch enable signal for extended bus
xpsenI(1)Program store enable signal for extended bus
xintO(1)Interrupt signal for extended bus
xrstO(1)Reset signal for extended bus
xclkO(1)Clock signal for extended bus
TypeBPin Count
8
Total 19 pins
Address bus for extended bus
Description
*In an external ROM connection mode, xah, xad, xrd, xwr, and xale are used to connect to
external ROM.
3.5 Other Interfaces
Signal Name
txd/pcfg [0]
rxd/pcfg [1]I1
pornI1Power-on-reset signal (connect to power monitor circuit)
xinI1Clock I/O (connect a crystal oscillator between xin and xout)
xoutO1
TypeBPin Count
1
Total 5
ins
Serial data I/O and chip mode setting
Description
*The chip mode is determined depending upon the status of pcfg[1:0] when the porn signal
rises.
pcfg[1:0] = 11 : Normal mode
pcfg[1:0] = 01 : External CPU connection mode
pcfg[1:0] = 10 : External ROM connection mode
pcfg[1:0] = 00 : Test mode (normally not used)
5/33
¡ SemiconductorML54051
3.6 Power Supply
Signal Name
VDD-CORE
VSS-COREDC2
VDDDC4Power supply for I/O pad
VSSDC6
TypeDCPin Count
2
Total 14 pins
Power supply for core
3.7 Pin Totals
Host Interface42
NAND Flash Memory Interface36
External SRAM Interface28
Extended Bus Interface19
Other Interfaces5
Power Supply14
The sector formatter and sequencer control the logical format of the NAND flash memory
and efficiently perform defect management (substitute processing).
(2)PCMCIA Interface
The PCMCIA interface conforms to PCMCIA-ATA specification. Since True IDE Mode is
also supported, the general usefulness of this interface is increased.
(3)Chip Modes
An external ROM connection mode for the ML54051’s internal microcontroller and an
external CPU connection mode are supported. With these modes, evaluation can be
performed efficiently.
(4)Auto-Sleep Mode
If there is no access from the host over a specific period of time, operation automatically
transfers to the sleep mode.
(5)Dual Port Bus Control Mode
When erasing data or writing the same data, two port buses (Port A, Port B) can be utilized
simultaneously for high-speed operation.
8/33
¡ SemiconductorML54051
5. SECTOR FORMATTER AND SEQUENCER
5.1 Data Formats
5.1.1Data Format Within Sector
User data, ECC data and Header data are stored at the top of the sector first.
ECC data contains the ECC information for user data and ECC data. Since the same flag data is
stored in all pages (sectors) within the same block, the validity of flag data of the specified page
can be verified by comparing it to the flag data of another page. For this reason, ECC information
is not provided for the header data.
512 bytes
User Data
8 bits
Flag
5 bits
Column No.
17 bits
Address
12 bits
Substitute Destination Address
10 bytes
ECC Data
Flag … page (sector) status
FFh: Good (normal data storage)
F0h: Bad (uncorrectable error, before substitution)
0Fh: Change (substitution completed)
Other than above: Null (abnormal)
Address … block address (supports up to 4096 blocks: 512 Mbits)
Column No. : supports up to column number 31 (00h to 1Fh)
Substitute destination address: block address within spare area
Supports up to 4096 blocks (512 Mbits)
Value to be stored in substitute destination address, substitute source address
Count… number of writes (supports up to 8,388,607 writes)
A substitute process is performed to a block that reaches the number of writes
previously set.
9/33
¡ SemiconductorML54051
5.1.2Data Format Within Port
Each chip is partitioned into a user area to store user data, a spare area to transfer data in defective
sectors, and a substitute management information area to keep sector transfer information. The
port views this configuration as a single chip.
Substitute processing is performed in block units, not in sector units. If the process is performed
in sector units, a single block will have data from various addresses at random, which delays the
substitute processing.
A substitute management information is made per port; while a copy of substitute management
information is reserved as a back-up.
Port A
Chip 1
Chip 3
Chip n – 1
Port B
User Area
Spare Area
Substitute Management
Information Area
Chip 2
User Area
Spare Area
Substitute Management
Information Area
User Area• • •
Spare Area
Chip 4
User Area• • •
Spare Area
User Area
Spare Area
Chip n
User Area
Spare Area
10/33
¡ SemiconductorML54051
5.1.3Substitute Management Information Format
The location of management information itself specifies a substitute destination. And an original
sector locations is identified by a column number and a block address to be stored in a
management information. Please note that a substitute management information cannot be
transfered to other chips.
3 bytes
3 bytes
3 bytes
666666[h]
666666[h]
Page 1• • •• • •• • •
Page m-1Identify Information [512 bytes]
Page mCIS Information [256 bytes]Unused [248 bytes]
D-List
(orig.)
•
•
•
D-List
(duplicate)
Management
Info. n-2
Port A Chip 1
Management
Info. 1
Port A Chip 1
Management Info.
•
•
•
512 bytes
Management
Info. n
Port A Chip 3
Management
Info. 1
Port A Chip 3
2 bytes
3 bytes
D-List
Unused
Identify Info.
D-List
Unused
Identify Info.
•
•
•
UnusedD-List
Identify Info.
3 bytes
10 bytes
Unique Info.
Unique Info.
•
•
Unique Info.E CCHeader
ECC
ECC
•
•
•
6 bytes
Header
Header
•
•
•
•
•
•
HeaderECC
• Management Information (3 bytes)
Stores substitute origin information
7 bits5 bits12 bits
BlankColumn No.
Address of an original block to be substituted
Column No. : 0 to 31
The following values have unique meanings.
55 55 55 [h]Reconstructed D-List Block Registered Position
66 66 66 [h]Spare Block for D-List Use
0F 0F 0F [h]Error Occurred D-List Block/Unusable Spare Block
FF FF FF [h]Usable/Unused Spare Block
• D-List Identify Information (3 bytes)
Indicates that the sector is valid (fixed values: 4Fh, 4Bh, 49h)
• Unique Information (3 bytes)
During the low level format, stores total number of chips, chip number, and individual
memory type information
1 byte
Total No. of Chips
1 byte
Chip No.
Individual Memory Type Info.
1 byte
Total No. of chips: The number of chips connected to the ML54051 (1 to 64)
Chip No. : The chip number that contains the substitute management information (0 or 1)
Individual memory type info. : Number of blocks per chip (4 bits) and number of pages per
block (4 bits)
Memory CapacityNumber of Blocks Per ChipNumber of Pages Per Block
By controlling Port A and Port B independently, 2 chips can be accessed simultaneously when
erasing data or writing the same data, which doubles the access time.
Port A
Chip 1
Port B
Chip 2
Chip 3Chip 5
Chip 4Chip 6
• • •
• • •
5.2.2Block Control
When the host requests a write that includes Block 1 of Port B, if it is unnecessary to save the stored
data, a block read will not be performed for the shaded section of the diagram below, which saves
read time.
This is enabled by making use of NAND flash memory characteristics to erase data in a unit of
a block.
Port ABlock 1
Port BBlock 1
Port ABlock 2
12/33
¡ SemiconductorML54051
5.3 Substitute Processing (Defect Management)
Substitute processing (defect management) is made through the following four processes in
block units.
1.Substitute management information format processing
: Information management of defective sector addresses,
substitute destination addresses, etc.
2.Substitute management information generation processing
: Generates substitute management information for entire
card during low level format
3.Substitute processing: Replaces a defective sector with a normal sector
4.Substitute destination detection : Detects substitute destination of defective sector that was
substituted
5.3.1 Substitute Management Information Format Processing
See section 5.1, “Data Formats”, for the data formats of defective sector information and transfer
destination information to be stored.
5.3.1.1Sector Management
A header section is read before reading or writing data. A flag of a header section indicates if a
sector is normal.
(1)User area
Flag
FFh
0FhThe substitute destination obtained by substitute
F0hThe substitute destination obtained by substitute
Other valuesThe substitute destination is detected from the
The specified sector is accessed.
The substitute destination obtained by substitute
destination detection processing is accessed.
An uncorrectable error (UNC) is returned and
processing is aborted.
The substitute destination is detected from the
substitute management information and the
substitute destination is accessed.
If the substitute destination cannot be detected,
a substitute processing error (DWF) is returned
and processing is aborted.
Read
Write
The specified sector is accessed.
destination detection processing is accessed.
processing is accessed.
substitute management information and the
substitute destination is accessed.
If the substitute destination cannot be detected,
the substitute destination obtained by substitute
processing is accessed.
Note:Because the user area is controlled in block units, the flag values of all sectors are the
same within a block.
13/33
¡ SemiconductorML54051
(2)Spare area
Flag
FFh
0Fh—
F0hThe block is labeled as a BAD block. Substitute
Other valuesThe substitute destination is detected from the
The specified sector is accessed.
An uncorrectable error (UNC) is returned and
processing is aborted.
An uncorrectable error (UNC) is returned and
processing is aborted.
Read
—
Write
The specified sector is accessed.
processing is performed again to change the
substitute destination.
substitute management information and the
substitute destination is accessed.
If the substitute destination cannot be detected,
the substitute destination obtained by substitute
processing is accessed.
Note:The same flag control is performed in spare areas and user areas.
(3)D-List area
Flag
FFh
Other valuesSubstitute management information (duplicate)
The specified sector is accessed.
Substitute management information (duplicate)
is used as the new substitute management
information (original). Substitute management
information (duplicate) is written to another
block and used as new substitute management
information (duplicate).
When the Flag of the substitute management
information (duplicate) is not equal to FFh,
substitute management information is
reconstructed.
Read
Write
The specified sector is accessed.
is used as the new substitute management
information (original). Substitute management
information (duplicate) is written to another
block and used as new substitute management
information (duplicate).
When the Flag of the substitute management
information (duplicate) is not equal to FFh,
substitute management information is
reconstructed.
5.3.1.2Substitute Management Information Management
In accordance with section 5.1.3, “Substitute Management Information Format”, substitute
management information is arranged beginning at the rear of the spare area.
If two pieces of substitute management information cannot be read correctly, the substitute
source is read from the address of the header section in each sector of a substituted block within
the spare area, a substitute management information is reconstructed.
5.4 Generation of Substitute Management Information
Substitute management information is generated in all chips. An issue of Low Level Format
command as one of the vendor-unique commands initiates a scanning on memories, and
defective block locations in spare area and in user area are identified and substitute correspondance
is registered as a default setting of a substitute management information.
14/33
¡ SemiconductorML54051
5.5 Substitute Processing
When a defective sector is found in a user area, the user area block containing the defective sector
will be substituted with another normal block of the spare area.
Substitute processing
Unused block detection
within same port
Unused block?
Yes
Register in substitute management
information (original)
Register in substitute management
information (duplicate)
Generate and write defective
block data
Write to substitute destination
of user data
End
No
Set error indicating no substitute
destination
Defective block data: Index to show a block contains a defective sector(s).
This index is stored in the header section of a block.
15/33
¡ SemiconductorML54051
5.6 Substitute Destination Detection Processing
If the sector accessed in the user area is defective and has already been substituted, the substitute
destination is detected.
Substitute destination search
Flag?
0Fh
This chip?
No
Yes
Acquire from header section
Acquisition OK?
No
Yes
Acquire from substitute
management information
Yes
Value other than 0Fh (excluding FFh)
of same port
Acquisition OK?
No
Acquire from header
section of substituted
block of spare area
F0h
UNC error, abort
processing
Yes
Acquisition OK?
No
EndError end
16/33
¡ SemiconductorML54051
6. ATA REGISTERS
When a mode such as memory mode or I/O mode is configured, the host must use different
addresses for access.
16-bit Data
8-bit Data
Error
Error
Sector Count
Sector Number
Sector Number
Cylinder Low
Cylinder High
Cylinder High
Drive/Head
Status
Status
Duplicate Data
Duplicate Even
Duplicate Odd
Duplicate Odd
Duplicate Error
Duplicate Error
Alternate Status
Drive Address
Drive Address
16-bit Data
Even Data
Odd Data
Odd Data
D15 : D0
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D15 : D0
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D15 : D0
D7 : D0
D7 : D0
D15 : D8
16-bit Data
8-bit Data
Features
Features
Sector Count
Sector Number
Sector Number
Cylinder Low
Cylinder High
Cylinder High
Drive/Head
Command
Command
Duplicate Data
Duplicate Even
Duplicate Odd
Duplicate Odd
Duplicate Features
Duplicate Features
Device Control
Not Used
Not Used
16-bit Data
Even Data
Odd Data
Odd Data
16-bit Data
8-bit Data
Error
Error
Sector Count
Sector Number
Sector Number
Cylinder Low
Cylinder High
Cylinder High
Drive/Head
Status
Status
Duplicate Data
Duplicate Even
Duplicate Odd
Duplicate Odd
Duplicate Error
Duplicate Error
Alternate Status
Drive Address
Drive Address
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
6.3 Primary I/O Mapped Configuration
D15 : D0
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D15 : D0
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
16-bit Data
8-bit Data
Features
Features
Sector Count
Sector Number
Sector Number
Cylinder Low
Cylinder High
Cylinder High
Drive/Head
Command
Command
Duplicate Data
Duplicate Even
Duplicate Odd
Duplicate Odd
Duplicate Features
Duplicate Features
Device Control
Not Used
Not Used
D15 : D0
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D15 : D0
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D15 : D8
D7 : D0
-CE1 -CE2
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
1
0
0
1
-REG
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
A9-A0
1F0h
1F0h
1F1h
1F0h/1F1h
1F2h
1F3h
1F2h/1F3h
1F4h
1F5h
1F4h/1F5h
1F6h
1F7h
1F6h/1F7h
3F6h
3F7h
3F6h/3F7h
Read (-IORD = L)Write (-IOWR = L)
16-bit Data
8-bit Data
Error
Error
Sector Count
Sector Number
Sector Number
Cylinder Low
Cylinder High
Cylinder High
Drive/Head
Status
Status
Alternate Status
Drive Address
Drive Address
D15 : D0
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
16-bit Data
8-bit Data
Features
Features
Sector Count
Sector Number
Sector Number
Cylinder Low
Cylinder High
Cylinder High
Drive/Head
Command
Command
Device Control
Not Used
Not Used
D15 : D0
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D7 : D0
18/33
¡ SemiconductorML54051
6.4 Secondary I/O Mapped Configuration
-CE1 -CE2
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
-REG
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
A9-A0
170h
170h
171h
170h/171h
172h
173h
172h/173h
174h
175h
174h/175h
176h
177h
176h/177h
376h
377h
376h/377h
16-bit Data
8-bit Data
Error
Error
Sector Count
Sector Number
Sector Number
Cylinder Low
Cylinder High
Cylinder High
Drive/Head
Status
Status
Alternate Status
Drive Address
Drive Address
6.5 True IDE Mapped Configuration
Read (-IORD = L)Write (-IOWR = L)
D15 : D0
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
16-bit Data
8-bit Data
Features
Features
Sector Count
Sector Number
Sector Number
Cylinder Low
Cylinder High
Cylinder High
Drive/Head
Command
Command
Device Control
Not Used
Not Used
D15 : D0
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D7 : D0
D7 : D0
D15 : D8
D7 : D0
• Command Block Register
-CE1 -CE2
0
0
0
0
0
0
0
0
0
-REG
A9-A3
A2-A0Read (-IORD = L)Write (-IOWR = L)
1
1
1
1
1
1
1
1
0
*
0
0
0
0
0
0
0
0
0
*
*
*
*
*
*
*
*
* Don't care
0h
1h
2h
3h
4h
5h
6h
7h
(xxx)
• Control Block Register
-CE1 -CE2
1
1
1
1
1
-REG
A9-A3
A2-A0Read (-IORD = L)Write (-IOWR = L)
1
0
0
0
0
0
0
0
0
0
*
*
*
*
*
* Don't care
(xxx)
(0xx)
(10x)
6h
7h
16-bit Data
Error
Sector Count
Sector Number
Cylinder Low
Cylinder High
Drive/Head
Status
Not Used
High Impedance
High Impedance
High Impedance
Alternate Status
Drive Address
ATA registers realize functions of the PC Card ATA Specifications.
6.6.1Data Register (Write/Read)
This 16-bit or 8-bit register is used in the transfer of data blocks between the internal data buffer
and the host. Data can be transferred via consecutive 16-bit or 8-bit accesses to the data register.
6.6.2Error Register (Read Only)
Additional information regarding the cause of a processing error in the previously executed
command is indicated. If the error bit of the status register has been set, the host must examine
this register.
D7
BBK
D6
UNC
D5
D4
0
IDNF
D3
0
D2
ABRT
D1
0
D0
AMNF
BBK: This bit is set when a Bad Block is detected.
UNC: This bit is set when an Uncorrectable Error is encountered.
IDNF : The requested sector ID is in error or cannot be found.
ABRT : This bit is set if the command has been aborted or when an invalid command has been
issued.
AMNF : This bit is set in case of a general error.
6.6.3Feature Register (Write Only)
This register is used to write information related to commands.
D7D6D5D4
Feature Bytes
D3D2D1D0
6.6.4Sector Count Register (Write/Read)
This register is used to specify the number of sectors or address of logical blocks to be processed
by a command. By reading this register after a command has been completed, the host can check
the number of sectors not processed by the command.
D7D6D5D4
D3D2D1D0
Sector Count
20/33
¡ SemiconductorML54051
6.6.5Sector Number Register (Write/Read)
This register is used to specify the sector number or logical block address where processing by
the command will begin. By reading this register after a command has been completed, the host
can check the sector number or logical block address processed by the command.
D7D6D5D4
Sector Number/LBA7-LBA0
D3D2D1D0
6.6.6Cylinder Low Register (Write/Read)
This register is used to specify the lower cylinder number or the logical block address where
processing by the command will begin. By reading this register after a command has been
completed, the host can check the last lower cylinder number or logical block address that was
processed by the command.
D7D6D5D4
Cylinder Low/LBA15-LBA8
D3D2D1D0
6.6.7Cylinder High Register (Write/Read)
This register is used to specify the upper cylinder number or the logical block address where
processing by the command will begin. By reading this register after a command has been
completed, the host can check the last upper cylinder number or logical block address that was
processed by the command.
D7D6D5D4
Cylinder High/LBA23-LBA16
D3D2D1D0
6.6.8Drive Head Register (Write/Read)
This register is used to specify the head number or the logical block address where processing
by the command will begin. By reading this register after a command has been completed, the
host can check the last upper head number or logical block address that was processed by the
command.
D7
1
D6
LBA
D5
1
D4
DRV#
D3
HS3/LBA27D2HS2/LBA26D1HS1/LBA25D0HSO/LBA24
LBA:1: LBA (logical block address) mode
0: CHS address mode
DRV#:card number0: drive 0 is selected
1: drive 1 is selected
If the value of the Drive# bit of the socket copy register matches the value of this bit, this
controller will execute the command.
21/33
¡ SemiconductorML54051
6.6.9Status Register & Alternate Status Register (Read Only)
This register indicates the internal status of the controller. When the host reads this register, the
controller clears pending interrupt requests. However, even if the alternate status register is
read, interrupts requests will not be cleared.
D7
BUSY
D6
RDY
D5
DWF
D4
DSC
D3
DRQ
D2
CORR
D1
IDX
D0
ERR
BUSY:This bit is set in the following cases:
•from the time when the host writes a command to the command register
until processing of the command is completed
•when hardware and software resets have been executed from the host
RDY:This bit indicates Drive Ready.
DWF:This bit is set when an error related to substitute processing occurs during
access to the internal flash memory. If this bit is set, commands that follow
may not execute properly.
DSC:This bit is always set to 1.
DRQ:During execution of a command that involves data transfer, this bit is set once
the transfer preparations are made.
CORR:This bit indicates that a correctable error has occurred during access to flash
memory.
IDX:This bit is always set to 0.
ERR:This bit is set when an error occurs during command execution. Detailed
information is set in the error register.
6.6.10 Device Control Register (Write Only)
This register is used to control interrupt requests from the card and to specify software reset.
D7D6D5
X
D4D3
SRST:While this bit is 1, the controller is in the reset state.
-IEN:1: Interrupt signal mask, 0: Interrupt signal non-mask
6.6.11Command Register (Write Only)
This register is used to set the command code.
D7D6D5D4
Command Code
D2
1
D3D2D1D0
SRST
D1
-IEN
D0
0
22/33
¡ SemiconductorML54051
7. PCMCIA INTERFACE
7.1 ATA Commands (Standard)
Supported ATA commands are listed below.
CodeCommandFRSCSNCYDHC/R/W
Check Power Mode
Execute Drive Diagnostic
Format Track
Identify Drive
Idle
Idle Immediate
Initialize Drive Parameters
Read Buffer
Read Long Sector
Read Multiple
Read Sector (s)
Read Verify Sector (s)
Recalibrate
Seek
Set Features
Set Multiple Mode
Set Sleep Mode
Standby
Standby Immediate
Write Buffer
Write Long Sector
Write Multiple
Write Sector (s)
98h, E5h
90h
50h
ECh
97h, E3h
95h, E1h
91h
E4h
22h, 23h
C4h
20h, 21h
40h, 41h
1xh
7xh
EFh
C6h
99h, E6h
96h, E2h
94h, E0h
E8h
32h, 33h
C5h
30h, 31h
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
———
——
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
C
C
W
R
C
C
C
R
R
R
R
C
C
C
C
C
C
C
C
W
W
W
W
FR: Features registerSC: Sector count registerSN: Sector number register
CY: Cylinder registerDH: Drive/head register
C/R/W: C - Control, R - Read, W - Write
: modified, valid— : invalid
23/33
¡ SemiconductorML54051
7.2 Commands for CompactFlash
Supported CompactFlash commands are listed below.
CodeCommandFRSCSNCYDHC/R/W
Request Sense
Erase Sector (s)
Translate Sector
Wear Level
Write Multiple w/o Erase
Write Sector (s) w/o Erase
03h
C0h
87h
F5h
CDh
38h
—
—
—
—
—
—
—
—
—
—
—
—
C
C
R
C
W
W
7.3 Vendor-Unique Commands
Vendor-unique commands can be executed by writing “FFh” data to the command register when
a value from the below chart has been written to the feature register.
CommandCodeFRC/R/W
Low Level Format
Change Information
Change Physical Cylinder
Read All
Un Lock
Initialization of substitute information, all sectors
Change CIS/Identify information
Set maximum value of physical cylinder
Read 528 bytes of the specified page
Vendor-unique commands that follow are valid
Description
C
W
C
R
C
Change Physical Cylinder: Sets the maximum value of the user area that is accessible from the
host. For details, refer to section 7.6, “Number of Installed Memory Chips and CHS Structure.”
7.4 Card Information Structure
The desired card information structure (CIS) can be stored by the change information command.
7.5 Identify Information
The desired identify information can be stored by the change information command.
24/33
¡ SemiconductorML54051
7.6 Number of Installed Memory Chips and CHS Structure
NAND flash memory is erased in block units. Since block erasing is also performed during a 1page (sector) write, efficiency is increased during write operations by serially addressing sectors
within the same block.
The CHS structure and number of installed memory chips when using 64, 128, 256 and 512 Mbit
memory are listed below (where C is the default value). The C value of the CHS address can be
set by the change physical cylinder command (a vendor-unique command).
*1:tpr and tpf are defined as the time of the “straight-line change from 10% to 90% of VCC”,
and vice-versa. Even if the rise and fall waveforms are non-linear, the maximum slope of
the waveform must meet these specifications.
tpr
V
CC
-CE1, -CE2
tsu(RESET)
V
IH
2 V
tsu(CE)
tw(RESET)td(BSY)th(Hi-Z RESET)
RESET
+RDY/-BSY
V
CC
-CE1, -CE2
RESET
Hi-Z
ts(Hi-Z RESET)
trec(VCC)
2 V
Hi-Z
tpf
V
IH
30/33
¡ SemiconductorML54051
11. PACKAGE DIMENSIONS
(Unit : mm)
LQFP144-P-2020-0.50-K
Mirror finish
Package material
Lead frame material
Pin treatment
Solder plate thickness
Package weight (g)
Epoxy resin
42 alloy
Solder plating
5 mm or more
1.37 TYP.
Notes for Mounting the Surface Mount Type Package
The SOP, QFP, TSOP, SOJ, QFJ (PLCC), SHP and BGA are surface mount type packages, which
are very susceptible to heat in reflow mounting and humidity absorbed in storage.
Therefore, before you perform reflow mounting, contact Oki’s responsible sales person for the
product name, package name, pin number, package code and desired mounting conditions
(reflow method, temperature and times).