ChipFind - Datasheet

Part Number AT45D081A

Download:  PDF   ZIP

Document Outline

1
Features
ˇ
100% Compatible to AT45D081
ˇ
Single 4.5V - 5.5V Supply
ˇ
Serial Interface Architecture
ˇ
Page Program Operation
­ Single Cycle Reprogram (Erase and Program)
­ 4096 Pages (264 Bytes/Page) Main Memory
ˇ
Optional Page and Block Erase Operations
ˇ
Two 264-byte SRAM Data Buffers ­ Allows Receiving of Data
while Reprogramming of Nonvolatile Memory
ˇ
Continuous Read Capability through Entire Array
ˇ
Internal Program and Control Timer
ˇ
Low Power Dissipation
­ 15 mA Active Read Current Typical
­ 10 ľA CMOS Standby Current Typical
ˇ
15 MHz Max Clock Frequency
ˇ
Hardware Data Protection Feature
ˇ
Serial Peripheral Interface (SPI) Compatible ­ Modes 0 and 3
ˇ
CMOS and TTL Compatible Inputs and Outputs
ˇ
Commercial and Industrial Temperature Ranges
Description
The AT45D081A is a 5-volt only, serial interface Flash memory suitable for in-system
reprogramming. Its 8,650,752 bits of memory are organized as 4096 pages of
264 bytes each. In addition to the main memory, the AT45D081A also contains two
SRAM data buffers of 264 bytes each. The buffers allow receiving of data while a
page in the main memory is being reprogrammed. Unlike conventional Flash
8-megabit
5-volt Only
Serial
DataFlash
Ž
AT45D081A
Recommend using
AT45DB081B for new
designs.
Rev. 1640C­01/01
Pin Configurations
Pin Name
Function
CS
Chip Select
SCK
Serial Clock
SI
Serial Input
SO
Serial Output
WP
Hardware Page Write
Protect Pin
RESET
Chip Reset
RDY/BUSY
Ready/Busy
PLCC
Note: PLCC package pins 16
and 17 are DON'T CONNECT.
5
6
7
8
9
10
11
12
13
29
28
27
26
25
24
23
22
21
SCK
SI
SO
NC
NC
NC
NC
NC
NC
WP
RESET
RDY/BUSY
NC
NC
NC
NC
NC
NC
4
3
2
1
32
31
30
14
15
16
17
18
19
20
NC
NC
DC
DC
NC
NC
NC
CS
NC
NC
GND
VCC
NC
NC
TSOP Top View
Type 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
28
27
26
25
24
23
22
21
20
19
18
17
16
15
RDY/BUSY
RESET
WP
NC
NC
VCC
GND
NC
NC
NC
CS
SCK
SI
SO
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
NC
SOIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
28
27
26
25
24
23
22
21
20
19
18
17
16
15
GND
NC
NC
CS
SCK
SI
SO
NC
NC
NC
NC
NC
NC
NC
VCC
NC
NC
WP
RESET
RDY/BUSY
NC
NC
NC
NC
NC
NC
NC
NC
(continued)
AT45D081A
2
memories that are accessed randomly with multiple
address lines and a parallel interface, the DataFlash uses a
serial interface to sequentially access its data. The simple
serial interface facilitates hardware layout, increases sys-
tem reliability, minimizes switching noise, and reduces
package size and active pin count. The device is optimized
for use in many commercial and industrial applications
where high density, low pin count, low voltage, and low
power are essential. Typical applications for the DataFlash
are digital voice storage, image storage, and data storage.
The device operates at clock frequencies up to 15 MHz
with a typical active read current consumption of 15 mA.
To allow for simple in-system reprogrammability, the
AT45D081A does not require high input voltages for pro-
gramming. The device operates from a single power
supply, 4.5V to 5.5V, for both the program and read opera-
tions. The AT45D081A is enabled through the chip select
pin (CS) and accessed via a three-wire interface consisting
of the Serial Input (SI), Serial Output (SO), and the Serial
Clock (SCK).
All programming cycles are self-timed, and no separate
erase cycle is required before programming.
Block Diagram
Memory Array
To provide optimal flexibility, the memory array of the
AT45D081A is divided into three levels of granularity com-
prised of sectors, blocks and pages. The Memory Architec-
ture Diagram illustrates the breakdown of each level and
details the number of pages per sector and block. All pro-
gram operations to the DataFlash occur on a page by page
basis; however, the optional erase operations can be per-
formed at the block or page level.
FLASH MEMORY ARRAY
PAGE (264 BYTES)
BUFFER 2 (264 BYTES)
BUFFER 1 (264 BYTES)
I/O INTERFACE
SCK
CS
RESET
VCC
GND
RDY/BUSY
WP
SO
SI
AT45D081A
3
Memory Architecture Diagram
Device Operation
The device operation is controlled by instructions from the
host processor. The list of instructions and their associated
opcodes are contained in Table 1 through Table 4. A valid
instruction starts with the falling edge of CS followed by the
appropriate 8-bit opcode and the desired buffer or main
memory address location. While the CS pin is low, toggling
the SCK pin controls the loading of the opcode and the
desired buffer or main memory address location through
the SI (serial input) pin. All instructions, addresses, and
data are transferred with the most significant bit (MSB) first.
Buffer addressing is referenced in the datasheet using the
terminology BFA8-BFA0 to denote the nine address bits
required to designate a byte address within a buffer. Main
memory addressing is referenced using the terminology
PA11-PA0 and BA8-BA0 where PA11-PA0 denotes the
12 address bits required to designate a page address and
BA8-BA0 denotes the nine address bits required to desig-
nate a byte address within the page.
Read Commands
By specifying the appropriate opcode, data can be read
from the main memory or from either one of the two data
buffers. The DataFlash supports two categories of read
modes in relation to the SCK signal. The differences
between the modes are in respect to the inactive state of
the SCK signal as well as which clock cycle data will begin
to be output. The two categories, which are comprised of
four modes total, are defined as Inactive Clock Polarity Low
or Inactive Clock Polarity High and SPI Mode 0 or SPI
Mode 3. A separate opcode (refer to Table 1 for a complete
list) is used to select which category will be used for read-
ing. Please refer to the "Detailed Bit-level Read Timing"
diagrams in this datasheet for details on the clock cycle
sequences for each mode.
CONTINUOUS ARRAY READ: By supplying an initial
starting address for the main memory array, the Continu-
ous Array Read command can be utilized to sequentially
read a continuous stream of data from the device by simply
pro v id in g a c l oc k s i gn al; no a dd it io na l a dd re s s in g
information or control signals need to be provided. The
DataFlash incorporates an internal address counter that
will automatically increment on every clock cycle, allowing
one continuous read operation without the need of addi-
tional address sequences. To perform a continuous read,
an opcode of 68H or E8H must be clocked into the device
followed by 24 address bits and 32 don't care bits. The first
three bits of the 24-bit address sequence are reserved for
upward and downward compatibility to larger and smaller
density devices (see Notes under "Command Sequence for
Read/Write Operations" diagram). The next 12 address bits
(PA11-PA0) specify which page of the main memory array
to read, and the last nine bits (BA8-BA0) of the 24-bit
address sequence specify the starting byte address within
the page. The 32 don't care bits that follow the 24 address
bits are needed to initialize the read operation. Following
the 32 don't care bits, additional clock pulses on the SCK
pin will result in serial data being output on the SO (serial
output) pin.
SECTOR 0 = 8 Pages
2112 bytes (2K + 64)
SECTOR 1 = 248 Pages
65,472 bytes (62K + 1984)
Block = 2112 bytes
(2K + 64)
8 Pages
SECTOR 0
SECTOR 1
Page = 264 bytes
(256 + 8)
PAGE 0
PAGE 1
PAGE 6
PAGE 7
PAGE 8
PAGE 9
PAGE 4094
PAGE 4095
BLOCK 0
PAGE 14
PAGE 15
PAGE 16
PAGE 17
PAGE 18
PAGE 4093
BLOCK 1
SECTOR ARCHITECTURE
BLOCK ARCHITECTURE
PAGE ARCHITECTURE
BLOCK 0
BLOCK 1
BLOCK 30
BLOCK 31
BLOCK 32
BLOCK 33
BLOCK 510
BLOCK 511
BLOCK 62
BLOCK 63
BLOCK 64
BLOCK 65
SECTOR 2
SECTOR 8 = 512 Pages
135,168 bytes (128K + 4K)
BLOCK 2
SECTOR 2 = 256 Pages
67,584 bytes (64K + 2K)
SECTOR 3 = 512 Pages
135,168 bytes (128K + 4K)
SECTOR 4 = 512 Pages
135,168 bytes (128K + 4K)
SECTOR 9 = 512 Pages
135,168 bytes (128K + 4K)
AT45D081A
4
The CS pin must remain low during the loading of the
opcode, the address bits, the don't care bits, and the read-
ing of data. When the end of a page in main memory is
reached during a Continuous Array Read, the device will
continue reading at the beginning of the next page with no
delays incurred during the page boundary crossover (the
crossover from the end of one page to the beginning of the
next page). When the last bit in the main memory array has
been read, the device will continue reading back at the
beginning of the first page of memory. As with crossing
over page boundaries, no delays will be incurred when
wrapping around from the end of the array to the beginning
of the array.
A low-to-high transition on the CS pin will terminate the
read operation and tri-state the SO pin. The maximum SCK
frequency allowable for the Continuous Array Read is
defined by the f
CAR
specification. The Continuous Array
Read bypasses both data buffers and leaves the contents
of the buffers unchanged.
BURST ARRAY READ: The Burst Array Read operation
functions almost identically to the Continuous Array Read
operation but allows much higher read throughputs by uti-
lizing faster clock frequencies. The Burst Array Read
command allows the device to burst an entire page of data
out at the maximum SCK frequency defined by the f
BAR
parameter. Differences between the Burst Array Read and
Continuous Array Read operations are limited to timing
only. The opcodes utilized and the opcode and addressing
sequence for the Burst Array Read are identical to the Con-
tinuous Array Read. The opcode of 68H or E8H must be
clocked into the device followed by the 24 address bits and
32 don't care bits. Following the 32 don't care bits, addi-
tional clock pulses on the SCK pin will result in serial data
being output on the SO (serial output) pin.
As with the Continuous Array Read, the CS pin must
remain low during the loading of the opcode, the address
bits, the don't care bits, and the reading of data. During a
Burst Array Read, when the end of a page in main memory
is reached (the last bit of the page has been clocked out),
the system must delay the next SCK pulse by a minimum
time of t
BRBD
. This delay is necessary to allow the device
enough time to cross over the burst read boundary, which
is defined as the end of one page in memory to the begin-
ning of the next page. When the last bit in the main memory
array has been read, the device will continue reading back
at the beginning of the first page of memory. The transition
from the last bit of the array back to the beginning of the
array is also considered a burst read boundary. Therefore,
the system must delay the SCK pulse that will be used to
read the first bit of the memory array by a minimum time of
t
BRBD
.
A low-to-high transition on the CS pin will terminate the
read operation and tri-state the SO pin. The maximum SCK
frequency allowable for the Burst Array Read is defined by
the f
BAR
specification. The Burst Array Read bypasses both
data buffers and leaves the contents of the buffers
unchanged.
MAIN MEMORY PAGE READ: A Main Memory Page
Read allows the user to read data directly from any one of
the 4096 pages in the main memory, bypassing both of the
data buffers and leaving the contents of the buffers
unchanged. To start a page read, an opcode of 52H or D2H
must be clocked into the device followed by 24 address bits
and 32 don't care bits. The first three bits of the 24-bit
address sequence are reserved bits, the next 12 address
bits (PA11-PA0) specify the page address, and the next
nine address bits (BA8-BA0) specify the starting byte
address within the page. The 32 don't care bits which fol-
low the 24 address bits are sent to initialize the read
operation. Following the 32 don't care bits, additional
pulses on SCK result in serial data being output on the SO
(serial output) pin. The CS pin must remain low during the
loading of the opcode, the address bits, the don't care bits,
and the reading of data. When the end of a page in main
memory is reached during a Main Memory Page Read, the
device will continue reading at the beginning of the same
page. A low-to-high transition on the CS pin will terminate
the read operation and tri-state the SO pin.
BUFFER READ: Data can be read from either one of the
two buffers, using different opcodes to specify which buffer
to read from. An opcode of 54H or D4H is used to read data
from buffer 1, and an opcode of 56H or D6H is used to read
data from buffer 2. To perform a Buffer Read, the eight bits
of the opcode must be followed by 15 don't care bits, nine
address bits, and eight don't care bits. Since the buffer size
is 264-bytes, nine address bits (BFA8-BFA0) are required
to specify the first byte of data to be read from the buffer.
The CS pin must remain low during the loading of the
opcode, the address bits, the don't care bits, and the read-
ing of data. When the end of a buffer is reached, the device
will continue reading back at the beginning of the buffer. A
low-to-high transition on the CS pin will terminate the read
operation and tri-state the SO pin.
STATUS REGISTER READ: The status register can be
used to determine the device's ready/busy status, the
result of a Main Memory Page to Buffer Compare opera-
tion, or the device density. To read the status register, an
opcode of 57H or D7H must be loaded into the device.
After the last bit of the opcode is shifted in, the eight bits of
the status register, starting with the MSB (bit 7), will be
shifted out on the SO pin during the next eight clock cycles.
The five most-significant bits of the status register will con-
tain device information, while the remaining three least-
significant bits are reserved for future use and will have
undefined values. After bit 0 of the status register has been
shifted out, the sequence will repeat itself (as long as CS
remains low and SCK is being toggled) starting again with
bit 7. The data in the status register is constantly updated,
so each repeating sequence will output new data.
AT45D081A
5
Ready/Busy status is indicated using bit 7 of the status reg-
ister. If bit 7 is a 1, then the device is not busy and is ready
to accept the next command. If bit 7 is a 0, then the device
is in a busy state. The user can continuously poll bit 7 of the
status register by stopping SCK once bit 7 has been output.
The status of bit 7 will continue to be output on the SO pin,
and once the device is no longer busy, the state of SO will
change from 0 to 1. There are eight operations which can
cause the device to be in a busy state: Main Memory Page
to Buffer Transfer, Main Memory Page to Buffer Compare,
Buffer to Main Memory Page Program with Built-in Erase,
Buffer to Main Memory Page Program without Built-in
Erase, Page Erase, Block Erase, Main Memory Page Pro-
gram, and Auto Page Rewrite.
The result of the most recent Main Memory Page to Buffer
Compare operation is indicated using bit 6 of the status
register. If bit 6 is a 0, then the data in the main memory
page matches the data in the buffer. If bit 6 is a 1, then at
least one bit of the data in the main memory page does not
match the data in the buffer.
The device density is indicated using bits 5, 4, and 3 of the
status register. For the AT45D081A, the three bits are 1, 0,
and 0. The decimal value of these three binary bits does
not equate to the device density; the three bits represent a
combinational code relating to differing densities of Serial
DataFlash devices, allowing a total of eight different density
configurations.
Program and Erase Commands
BUFFER WRITE: Data can be shifted in from the SI pin
into either buffer 1 or buffer 2. To load data into either
buffer, an 8-bit opcode, 84H for buffer 1 or 87H for buffer 2,
must be followed by 15 don't care bits and nine address
bits (BFA8-BFA0). The nine address bits specify the first
byte in the buffer to be written. The data is entered follow-
ing the address bits. If the end of the data buffer is reached,
the device will wrap around back to the beginning of the
buffer. Data will continue to be loaded into the buffer until a
low-to-high transition is detected on the CS pin.
BUFFER TO MAIN MEMORY PAGE PROGRAM WITH
BUILT-IN ERASE:
Data written into either buffer 1 or buffer
2 can be programmed into the main memory. To start the
operation, an 8-bit opcode, 83H for buffer 1 or 86H for
buffer 2, must be followed by the three reserved bits, 12
address bits (PA11-PA0) that specify the page in the main
memory to be written, and nine additional don't care bits.
When a low-to-high transition occurs on the CS pin, the
part will first erase the selected page in main memory to all
1s and then program the data stored in the buffer into the
specified page in the main memory. Both the erase and the
programming of the page are internally self-timed and
should take place in a maximum time of t
EP
. During this
time, the status register will indicate that the part is busy.
BUFFER TO MAIN MEMORY PAGE PROGRAM WITH-
OUT BUILT-IN ERASE:
A previously erased page within
main memory can be programmed with the contents of
either buffer 1 or buffer 2. To start the operation, an 8-bit
opcode, 88H for buffer 1 or 89H for buffer 2, must be
followed by the three reserved bits, 12 address bits (PA11-
PA0) that specify the page in the main memory to be writ-
ten, and nine additional don't care bits. When a low-to-high
transition occurs on the CS pin, the part will program the
data stored in the buffer into the specified page in the main
memory. It is necessary that the page in main memory that
is being programmed has been previously erased. The pro-
gramming of the page is internally self-timed and should
take place in a maximum time of t
P
. During this time, the
status register will indicate that the part is busy.
PAGE ERASE: The optional Page Erase command can be
used to individually erase any page in the main memory
array allowing the Buffer to Main Memory Page Program
without Built-in Erase command to be utilized at a later
time. To perform a Page Erase, an opcode of 81H must be
loaded into the device, followed by three reserved bits,
12 address bits (PA11-PA0), and nine don't care bits. The
nine address bits are used to specify which page of the
memory array is to be erased. When a low-to-high transi-
tion occurs on the CS pin, the part will erase the selected
page to 1s. The erase operation is internally self-timed and
should take place in a maximum time of t
PE
. During this
time, the status register will indicate that the part is busy.
BLOCK ERASE: A block of eight pages can be erased at
one time allowing the Buffer to Main Memory Page Pro-
gram without Built-in Erase command to be utilized to
reduce programming times when writing large amounts of
data to the device. To perform a Block Erase, an opcode of
50H must be loaded into the device, followed by three
reserved bits, nine address bits (PA11-PA3), and 12 don't
care bits. The nine address bits are used to specify which
block of eight pages is to be erased. When a low-to-high
transition occurs on the CS pin, the part will erase the
selected block of eight pages to 1s. The erase operation is
internally self-timed and should take place in a maximum
time of t
BE
. During this time, the status register will indicate
that the part is busy.
Status Register Format
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
RDY/BUSY
COMP
1
0
0
X
X
X