4 program otp security register – Rainbow Electronics AT25DQ321 User Manual

Page 36

Advertising
background image

36

AT25DQ321 [DATASHEET]

8718D–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.

Table 10-3. OTP Security Register

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 only program 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 an opcode of 9Bh must be clocked into the device followed by the three address bytes
denoting the first byte location 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 will be 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 to be
programmed will apply. In this situation, any data that is 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.

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). In addition, if more than 64 bytes of data are sent to the device, then only the last
64 bytes sent will be latched into the internal buffer.

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 less than 64 bytes of data were 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.

Security Register Byte Number

0

1

. . .

62

63

64

65

. . .

126

127

One-Time User Programmable

Factory Programmed by Adesto

Advertising