Manual
19
3595R–DFLASH–11/2012
AT45DB041D
10.2 Security Register
The device contains a specialized Security Register that can be used for purposes such as
unique device serialization or locked key storage. The register is comprised of a total of 128-
bytes that is divided into two portions. The first 64-bytes (byte locations 0 through 63) of the
Security Register are allocated as a one-time user programmable space. Once these 64 bytes
have been programmed, they cannot be reprogrammed. The remaining 64-bytes of the 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.
10.2.1 Programming the Security Register
The user programmable portion of the Security Register does not need to be erased before it is
programmed.
To program the Security Register, the CS pin must first be asserted and the appropriate 4-byte
opcode sequence must be clocked into the device in the correct order. The 4-byte opcode
sequence must start with 9BH and be followed by 00H, 00H, and 00H. After the last bit of the
opcode sequence has been clocked into the device, the data for the contents of the 64-byte user
programmable portion of the Security Register must be clocked in.
After the last data byte has been clocked in, the CS pin must be deasserted to initiate the inter-
nally self-timed program cycle. The programming of the Security Register should take place in a
time of t
P
, during which time the Status Register will indicate that the device is busy. If the device
is powered-down during the program cycle, then the contents of the 64-byte user programmable
portion of the Security Register cannot be guaranteed.
If the full 64-bytes of data is not clocked in before the CS pin is deasserted, then the values of
the byte locations not clocked in cannot be guaranteed. For example, if only the first two bytes
are clocked in instead of the complete 64-bytes, then the remaining 62-bytes of the user pro-
grammable portion of the Security Register cannot be guaranteed. Furthermore, if more than 64-
bytes of data is clocked into the device, then the data will wrap back around to the beginning of
the register. For instance, if 65-bytes of data are clocked in, then the 65
th
byte will be stored at
byte location 0 of the Security Register.
The user programmable portion of the Security Register can only be programmed one
time. Therefore, it is not possible to only program the first two bytes of the register and then pro-
gram the remaining 62-bytes at a later time.
The Program Security Register command utilizes the internal SRAM buffer 1 for processing.
Therefore, the contents of the buffer 1 will be altered from its previous state when this command
is issued.
Figure 10-3. Program Security Register
Table 10-5. Security Register
Security Register Byte Number
01 62 63 64 65 126 127
Data Type One-time User Programmable Factory Programmed By Adesto
Data Byte
n
Opcode
Byte 1
Opcode
Byte 2
Opcode
Byte 3
Opcode
Byte 4
Data Byte
n + 1
Data Byte
n + x
CS
Each transition
represents 8 bits
SI