22
3542N–DFLASH–2/2014
AT45DB642D
input pins (SI or I/O7 - I/O0). On the low-to-high transition of the CS pin, the data bytes in the
selected main memory page will be compared with the data bytes in buffer 1 or buffer 2. During
this time (tCOMP), the status register and the RDY/BUSY pin will indicate that the part is busy. On
completion of the compare operation, bit 6 of the status register is updated with the result of the
compare.
11.3 Auto Page Rewrite
This mode is only needed if multiple bytes within a page or multiple pages of data are modified in
a random fashion within a sector. This mode is a combination of two operations: Main Memory
Page to Buffer Transfer and Buffer to Main Memory Page Program with Built-in Erase. A page of
data is first transferred from the main memory to buffer 1 or buffer 2, and then the same data
(from buffer 1 or buffer 2) is programmed back into its original page of main memory. To start the
rewrite operation for standard DataFlash page size (1056-bytes), a 1-byte opcode, 58H for buf-
fer 1 or 59H for buffer 2, must be clocked into the device, followed by three address bytes
comprised of 13 page address bits (PA12-PA0) that specify the page in main memory to be
rewritten and 11 don’t care bits. To initiate an auto page rewrite for a binary page size (1024-
bytes), the opcode 58H for buffer 1 or 59H for buffer 2, must be clocked into the device followed
by three address bytes consisting of 13 page address bits (A22 - A10) that specify the page in
the main memory that is to be written and 10 don’t care bits. When a low-to-high transition
occurs on the CS pin, the part will first transfer data from the page in main memory to a buffer
and then program the data from the buffer back into same page of main memory. The operation
is internally self-timed and should take place in a maximum time of tEP. During this time, the sta-
tus register and the RDY/BUSY pin will indicate that the part is busy.
If a sector is programmed or reprogrammed sequentially page by page, then the programming
algorithm shown in Figure 26-1 (page 49) is recommended. Otherwise, if multiple bytes in a
page or several pages are programmed randomly in a sector, then the programming algorithm
shown in Figure 26-2 (page 50) is recommended. Each page within a sector must be
updated/rewritten at least once within every 20,000 cumulative page erase/program operations
in that sector. Please contact Adesto for availability of devices that are specified to exceed the
20K cycle cumulative limit.
11.4 Status Register Read
The status register can be used to determine the device’s ready/busy status, page size, a Main
Memory Page to Buffer Compare operation result, the Sector Protection status or the device
density. To read the status register, an opcode of D7H must be loaded into the device. After the
opcode is clocked in, the 1-byte status register will be clocked out on the output pins (SO or
I/O7 - I/O0), starting with the next clock cycle. In case of applications with 8-bit interface, opcode
D7H and two dummy clock cycles should be used. When using the serial interface, the data in
the status register, starting with the MSB (bit 7), will be clocked out on the SO pin during the next
eight clock cycles. After the one byte of the status register has been clocked out, the sequence
will repeat itself (as long as CS remains low and SCK/CLK is being toggled). The data in the sta-
tus register is constantly updated, so each repeating sequence will output new data.
Ready/busy status is indicated using bit seven of the status register. If bit seven is a one, then
the device is not busy and is ready to accept the next command. If bit seven is a zero, then the
device is in a busy state. Since the data in the status register is constantly updated, the user
must toggle SCK/CLK pin to check the ready/busy status. There are several operations that 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, Main Memory Page Program
through Buffer, Page Erase, Block Erase, Sector Erase, Chip Erase and Auto Page Rewrite.