7.5 Locking the Security Register

The Lock command is an irreversible sequence that will permanently prevent all future writing to the upper 16 bytes of the Security register on the AT21CS01/AT21CS11. Once the Lock command has been executed, the entire 32-byte Security register becomes read-only. Once the Security register has been locked, it is not possible to unlock it.

The Lock command protocol emulates a byte write operation to the Security register; however, the opcode 0010b (2h) is required along with the A7 through A4 bits of the memory address being set to 0110b (6h). The remaining bits of the memory address as well as the data byte are “don’t care” bits. Even though these bits are “don’t cares”, they still must be transmitted to the device. An ACK response to the memory address and data byte indicates the Security register is not currently locked. A NACK response indicates the Security register is already locked. Refer to Check Lock Command for details about determining the Lock status of the Security register.

The sequence completes with a Stop condition to initiate a self-timed internal write cycle. If a Stop condition is sent at any other time, the Lock operation is aborted. Since a Stop condition is defined as a null bit frame with SI/O pulled high, the host does not need to drive the SI/O line to accomplish this. Upon completion of the write cycle, taking a time of tWR, the Lock operation is complete, and the Security register will become permanently read-only.

Note: Any attempt to drive the SI/O line low during the tWR time period may cause the Lock operation to not complete successfully and must be avoided.
Figure 7-4. Lock Command