![](http://datasheet.mmic.net.cn/280000/X86C64_datasheet_16105396/X86C64_6.png)
X86C64
6
DATA PROTECTION
The X86C64 provides two levels of data protection
through software control. There is a global software data
protection feature similar to the industry standard for
E
2
PROMs and a new Block Protect write lock out
protection providing a second level data security option.
Writing with SDP
Setting write lockout is accomplished by writing a five
byte command sequence opening access to the Block
Protect Register (BPR). After the fifth byte is written the
user writes to the BPR selecting which blocks to protect
or unprotect. All write operations, both the command
sequence and writing the data to the BPR, must conform
to the page write timing requirements.
3819 FHD F09
Software Data Protection
Software data protection (SDP) is employed to protect
the entire array against inadvertent writes. To write to
the X86C64, a three byte command sequence must
precede the byte(s) being written.
All write operations, both the command sequence and
any data write operations must conform to the page write
timing requirements.
Block Protect Write Lockout
The X86C64 provides a second level of data security
referred to as Block Protect write lockout. This is ac-
cessed through an extension of the SDP command
sequence. Block Protect allows the user to lock out
writes to 1K x 8 blocks of memory. Unlike SDP which
prevents inadvertent writes, but still allows easy system
access to writing the memory, Block Protect will lock out
all attempts unless it is specifically disabled by the host.
This could be used to set a higher level of protection in
a system where a portion of the memory is used for
Program Store and another portion is used as Data
Store.
Block Protect Register Format
3819 FHD F11
Setting BPR Command Sequence
3819 FHD F12
WRITE AA
TO X555
WRITE 55
TO XAAA
WRITE A0
TO X555
PERFORM BYTE
OR PAGE WRITE
OPERATIONS
WAIT tWC
EXIT ROUTINE
X = A
12
:
A
12
= 1 IF DATA TO BE WRITTEN IS WITHIN
ADDRESS 1000 TO 1FFF.
A
12
= 0 IF DATA TO BE WRITTEN IS WITHIN
ADDRESS 0000 TO 0FFF.
6
5
4
3
2
1
0
7
0000–03FF
0400–07FF
0800–0BFF
0C00–0FFF
1000–13FF
1400–17FF
1800–1BFF
1C00–1FFF
BLOCK
ADDRESS
1 = Protect, 0 = Unprotect Block Specified
MSB
LSB
WRITE AA
TO X555
WRITE BPR
MASK VALUE TO
ANY ADDRESS
WAIT tWC
EXIT ROUTINE
WRITE 55
TO XAAA
WRITE C0
TO XAAA
WRITE AA
TO X555
WRITE A0
TO X555
X = A
12
:
A
12
= 1 IF PROGRAM BEING EXECUTED IS
WITHIN 0000 TO 0FFF.
A
12
= 0 IF PROGRAM BEING EXECUTED
RESIDES WITHIN 1000 TO 1FFF.