Claims
- 1. An apparatus comprising:
a non-volatile memory array including a plurality of blocks, one or more blocks of said plurality of blocks being capable of being placed in a locked state or an unlocked state; a volatile lock register coupled to a block of said one or more blocks; a logic gate coupled to a first input to said volatile lock register; a block set/reset line coupled to a second input to said volatile lock register; a block latch control line coupled to a first input to said logic gate; and a group latch control line coupled to a second input to said logic gate.
- 2. The apparatus of claim 1 wherein said non-volatile memory array is a flash memory and said lock register is embodied in a static random access memory circuit.
- 3. The apparatus of claim 3 wherein said logic gate is an or-type combinatorial logic gate.
- 4. The apparatus of claim 3 wherein said volatile lock register is set to a first state or a second state depending on the logic state of a signal transmitted on said block set/reset line, and wherein said volatile lock register transmits a lock control signal to said block of said one or more blocks.
- 5. The apparatus of claim 4 wherein said volatile register being set to said first state causes said block of said one or more blocks to be locked to a protected state from write or erase operations, and said volatile register being set to said second state causes said block of said one or more blocks to be unlocked to allow modification by write or erase operations.
- 6. The apparatus of claim 5 wherein said first input to said volatile lock register is a clock input.
- 7. An apparatus comprising:
a non-volatile memory array including a plurality of blocks, one or more blocks of said plurality of blocks being capable of being placed in a locked state or an unlocked state; a set of volatile lock registers, each lock register of said set of lock registers coupled to a corresponding block of said one or more blocks, and operable to prevent corresponding blocks from being modified; a block set/reset line coupled to a first input to each lock register of said volatile lock registers; and a block latch control line and a group latch control line coupled through combinatorial logic to a second input to each lock register of said volatile lock registers.
- 8. The apparatus of claim 7 further comprising a command buffer coupled to said set of lock registers and said set of lock-down registers, said command buffer operable to transmit a two-cycle command to each register of said set of lock registers, wherein the first cycle comprises a command specifying whether a lock configuration of said non-volatile memory array is to be changed, and the second cycle comprises a command specifying whether said first cycle command applies to a single block of said memory array or to multiple blocks of said memory array.
- 9. The apparatus of claim 8 wherein if said first cycle command is a first command type, a block of said non-volatile memory is to be locked, and if said first cycle command is a second command type, a block of said non-volatile memory is to be unlocked.
- 10. The apparatus of claim 9 wherein if said second cycle command applies to a single block, an address input on an address bus coupled to said apparatus is decoded to set or reset one register of said set of lock registers.
- 11. The apparatus of claim 9 wherein if said second cycle command applies to multiple blocks, an address input on an address bus coupled to said apparatus is decoded to set or reset two or more lock registers of said set of lock registers, each bit of said address corresponding to a lock register of said two or more lock registers.
- 12. The apparatus of claim 11 wherein said non-volatile memory array is a flash memory and said set of lock registers is embodied in static random access memory circuits.
- 13. A method comprising the steps of:
reading a first command of a multi-cycle command, said first command specifying a lock configuration of one or more memory blocks of a non-volatile memory array; and reading a second command of said multi-cycle command, said second command specifying the number of memory blocks of said one or more memory blocks to be lock configured.
- 14. The method of claim 13 wherein said first command specifies if said one or more memory blocks are to be set to a locked state or an unlocked state.
- 15. The method of claim 14 wherein said multi-cycle command is a two-cycle command.
- 16. The method of claim 15 wherein said first command programs a set of lock registers coupled to said memory array, each register of said set of registers capable of being set to a first state and a second state, and coupled to a corresponding block of said memory array.
- 17. The method of claim 16 wherein if a register is set to said first state, a corresponding block of said memory array is set to a locked state, and if said register is set to a second state, said corresponding block is set to an unlocked state.
- 18. The method of claim 17 wherein an address transmitted on an address bus is decoded to determine which lock register of said set of lock registers is set according to said first command.
CROSS REFERENCE TO RELATED APPLICATIONS
1. The present application is related to the following U.S. Patent Applications entitled, “Flexible Block Protection Scheme for Flash Memory”, having application Ser. No. ______, filed on ______; and “A Method and Apparatus for Hardware Block Locking in a Non-Volatile Memory”, having application Ser. No. _____, filed on ______, both applications of which are assigned to the assignee of the present invention.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09076330 |
May 1998 |
US |
Child |
09748826 |
Dec 2000 |
US |