SecSi Sector Customer Lock Status Check Application Note -XO\ 7KHIROORZLQJGRFXPHQWUHIHUVWR6SDQVLRQPHPRU\SURGXFWVWKDWDUHQRZRIIHUHGE\ERWK$GYDQFHG 0LFUR'HYLFHVDQG)XMLWVX$OWKRXJKWKHGRFXPHQWLVPDUNHGZLWKWKHQDPHRIWKHFRPSDQ\WKDWRULJ LQDOO\ GHYHORSHG WKHVSHFLILFDWLRQ WKHVH SURGXFWV ZLOO EHRIIHUHG WR FXVWRPHUVRIERWK $0' DQG )XMLWVX Continuity of Specifications 7KHUHLVQRFKDQJHWRWKLVGRFXPHQWDVDUHVXOWRIRIIHULQJWKHGHYLFHDVD6SDQVLRQSURGXFW$Q\ FKDQJHVWKDWKDYHEHHQPDGHDUHWKHUHVXOWRIQRUPDOGRFXPHQWDWLRQLPSURYHPHQWVDQGDUHQRWHG LQWKHGRFXPHQWUHYLVLRQVXPPDU\ZKHUHVXSSRUWHG)XWXUHURXWLQHUHYLVLRQVZLOORFFXUZKHQDSSUR SULDWHDQGFKDQJHVZLOOEHQRWHGLQDUHYLVLRQVXPPDU\ Continuity of Ordering Part Numbers $0'DQG)XMLWVXFRQWLQXHWRVXSSRUWH[LVWLQJSDUWQXPEHUVEHJLQQLQJZLWK³$P´DQG³0%0´7RRUGHU WKHVHSURGXFWVSOHDVHXVHRQO\WKH2UGHULQJ3DUW1XPEHUVOLVWHGLQWKLVGRFXPHQW For More Information 3OHDVH FRQWDFW \RXU ORFDO $0' RU )XMLWVX VDOHV RIILFH IRU DGGLWLRQDO LQIRUPDWLRQ DERXW 6SDQVLRQ PHPRU\VROXWLRQV Publication Number 26678 Revision A Amendment 0 Issue Date July 9, 2002 Preliminary Secured Silicon (SecSi) Sector Customer Lock Status Check Application Note This application note assumes that users are famliar with Flash Technology and HW/SW System Design, including but not restricted to memory architecture, autoselect mode definitions, and software command sequences. Introduction AMD offers Flash devices that come with the SecSi Sector either factory locked through the Express Flash TM Service, or customer lockable. When the SecSi Sector is not locked at the AMD factory, DQ7 of the Autoselect Byte 3 at address 03h will be permanently set to a ‘0’. For customer locking of the SecSi Sector, the user has to determine if the SecSi Sector area has been locked or an error has occurred during the locking process. This document will provide a procedure for the user to check the locking status of the SecSi Sector area when the SecSi Sector is not factory locked. Memory Architecture The SecSi Sector area is a separate memory area from the main memory area. The SecSi Sector is commonly referred to as a one time programmable (OTP) memory area. The main memory area may be programmed and erased up to 1 million times, while the SecSi Sector area can be programmed multiple times before the SecSi Sector is locked. If the SecSi Sector is 256 bytes, then a “1” can be programmed to a “0” and cannot be erased back to a “1” before locking. If the SecSi Sector is 64 kbytes, all program and erase operations are allowed before locking. The SecSi Sector is enabled through initiation of the “SecSi Sector Entry” command. The SecSi Sector can be disabled through the “SecSi Sector Exit” or “Reset” command. Illustrated in Figure 1 is the standard AMD memory architecture. SecSi Sector Memory Array “SecSi Sector Entry” Command “SecSi Sector Exit” Command Figure 1. Standard AMD Memory Architecture When reading from the main memory array, the address of the sector is required to read out data stored in that particular sector. To program a sector within the main memory array, a 4-cycle programming sequence is needed. Reading and programming of the SecSi Sector requires the “SecSi Sector Entry” command to be issued before any read or programming operations are to occur. After reading or programming of the SecSi Sector is completed, the “SecSi Sector Exit” or “Reset” command has to be issued to revert the pointer back to the main memory array. Publication# 26678 Rev: A Amendment/0 Issue Date: July 9, 2002 Valid Implementation of the SecSi Sector Customer Lock Since there are no status bits allocated for SecSi Sector Customer Lock Status Check, the following procedure has to be followed to correctly lock the SecSi Sector area. The complete software command procedure must be used to program and verify the SecSi Sector Customer Lock Status. This example is shown in Figure 2, Program and Verify section. High voltage in Figure 2 is not needed. If the user only wishes to check the SecSi Sector Customer Lock Status, two steps allocated only 1 for locking of the SecSi Sector MUST be skipped. This example is shown in Figure 2, Verify Only section. SecSi Sector Entry Command SecSi Sector Entry Command Write #60 to any address Write #60 to any address Write #60 with SecSi Sector A6=0, A1=1, A0=0 Wait 150us Write #40 with SecSi Sector A6=0, A1=1, A0=0 Write #40 with SecSi Sector A6=0, A1=1, A0=0 PLSCNT Pulse Count Read with SecSi Sector Address NO NO SecSi Sector Unlocked DQ0 = 1? YES SecSi Sector Locked Program and Verify DQ0 = 1? Expected DQ0 Data=1 for Protected and =0 for Unprotected YES SecSi Sector Locked Verify Only Figure 2. Program and Verify Algorithm The software algorithms illustrated in Figure 2 are very similar to the “In-System Sector Protection Algorithm” figures listed in AMD Flash memory datasheets. After verifying that the SecSi Sector has been properly locked, either a “SecSi Sector Exit” or “Reset” command may be issued to allow access to the main memory array. 2 Invalid Implementation of the SecSi Sector Customer Lock Many customers may think that using the Autoselect Byte 2, the “Sector Protection Verification” bit DQ0, after entering the SecSi Sector area may read out the Sector Customer Lock Status Bit. This is an incorrect assumption. Flow and architectural diagrams illustrating the invalid implementation of the SecSi Sector Customer Lock Status Check are Figures 3 and 4. Secured Silicon (SecSi) Sector Customer Lock Status Check Step 1 SecSi Sector Entry Command Step 2 Autoselect Command Step 3 Read Autoselect Byte 2 Step 4 SecSi Sector Exit Command Figure 3. SecSi Sector gets reset Pointer will point to outermost sector of main memory array Invalid Command Implementation SecSi Sector Autoselect Command “SecSi Sector Entry” Command Figure 4. Memory Array Resulting Memory Pointer Location When issuing the Autoselect command after entering the SecSi Sector, the pointer will reset itself to point to the main memory array. Therefore reading Autoselect Byte 2 will indicate the locking status of boot sector in the picture above, not the SecSi Sector Customer Lock Status. Conclusion Implementing the SecSi Sector Customer Lock Status Algorithm will help the user to check the locking status of the SecSi Sector through software command sequences with ease. High voltage power supply is not required to implement the Customer Lock Status Algorithm. Secured Silicon (SecSi) Sector Customer Lock Status Check 3