4 program otp security register – Rainbow Electronics AT25DL081 User Manual

Page 32

Advertising
background image

32

AT25DL081 [DATASHEET]

8732D–DFLASH–12/2012

10.4 Program OTP Security Register

The device contains a specialized OTP (One-Time Programmable) Security Register that can be used for purposes such
as unique device serialization, system-level Electronic Serial Number (ESN) storage, locked key storage, etc. The OTP
Security Register is independent of the main Flash memory array and is comprised of a total of 128 bytes of memory
divided into two portions. The first 64 bytes (byte locations 0 through 63) of the OTP Security Register are allocated as a
one-time, user-programmable space. Once these 64 bytes have been programmed, they cannot be erased or
reprogrammed. The remaining 64 bytes of the OTP Security Register (byte locations 64 through 127) are factory
programmed by Adesto and will contain a unique value for each device. The factory programmed data is fixed and
cannot be changed.

The user-programmable portion of the OTP Security Register does not need to be erased before it is programmed. In
addition, the Program OTP Security Register command operates on the entire 64-byte, user-programmable portion of the
OTP Security Register at one time. Once the user-programmable space has been programmed with any number of
bytes, the user-programmable space cannot be programmed again. Therefore, it is not possible to program only the first
two bytes of the register and then program the remaining 62 bytes at a later time.

Before the Program OTP Security Register command can be issued, the Write Enable command must have been
previously issued to set the WEL bit in the Status Register to a Logical 1. To program the OTP Security Register, the CS
pin must first be asserted and then the opcode 9Bh must be clocked into the device followed by the three address bytes
denoting the location of the first byte of the OTP Security Register to begin programming at. Since the size of the
user-programmable portion of the OTP Security Register is 64 bytes, the upper order address bits do not need to be
decoded by the device. Therefore, address bits A23-A6 will be ignored by the device and their values can be either a
Logical 1 or 0. After the address bytes have been clocked in, data can then be clocked into the device and stored in the
internal buffer.

If the starting memory address denoted by A23-A0 does not start at the beginning of the OTP Security Register memory
space (A5-A0 are not all 0), then special circumstances regarding which OTP Security Register locations are to be
programmed will apply. In this situation, any data sent to the device that goes beyond the end of the 64-byte
user-programmable space will wrap around back to the beginning of the OTP Security Register. In addition, if more than
64 bytes of data is sent to the device, then only the last 64 bytes sent will be latched into the internal buffer.

Example:

If the starting address denoted by A23-A0 is 00003Eh and three bytes of data are sent to the device, then
the first two bytes of data will be programmed at OTP Security Register addresses 00003Eh and 00003Fh,
while the last byte of data will be programmed at address 000000h. The remaining bytes in the OTP
Security Register (addresses 000001h through 00003Dh) will not be programmed and will remain in the
erased state (FFh).

When the CS pin is deasserted, the device will take the data stored in the internal buffer and program it into the
appropriate OTP Security Register locations based on the starting address specified by A23-A0 and the number of data
bytes sent to the device. If fewer than 64 bytes of data are sent to the device, then the remaining bytes within the OTP
Security Register will not be programmed and will remain in the erased state (FFh). The programming of the data bytes
is internally self-timed and should take place in a time of t

OTPP

. It is not possible to suspend the programming of the OTP

Security Register.

Table 10-3. OTP Security Register

Security Register Byte Number

0

1

. . .

62

63

64

65

. . .

126

127

One-Time User Programmable

Adesto Factory Programmed

Advertising