Device-level address translation within a programmable non-volatile memory device
First Claim
1. A programmable non-volatile memory device comprising:
- programmable non-volatile memory having blocks that are identified by internal addresses;
an address bus interface configured to receive external addresses as part of read and write operations; and
block switching logic operatively associated with the programmable non-volatile memory and the address bus interface and configured to enable a translation rule that applies to an external address to be changed from a first translation rule that maps the external address to a first internal address to a second translation rule that maps the external address to a second internal address.
12 Assignments
0 Petitions
Accused Products
Abstract
A programmable non-volatile memory device includes block switching logic that enables device-level translation rules to be changed. The device-level translation rules map the external addresses received by the flash memory device to the internal addresses of the programmable non-volatile memory device. Because the device-level translation rules are changeable, the physical location in the programmable non-volatile memory device to which an external address maps can be changed in a manner that is transparent to off-device operations. By allowing device-level translation rules to be changed, block management functions can be accomplished within the programmable non-volatile memory device itself.
22 Citations
20 Claims
-
1. A programmable non-volatile memory device comprising:
-
programmable non-volatile memory having blocks that are identified by internal addresses;
an address bus interface configured to receive external addresses as part of read and write operations; and
block switching logic operatively associated with the programmable non-volatile memory and the address bus interface and configured to enable a translation rule that applies to an external address to be changed from a first translation rule that maps the external address to a first internal address to a second translation rule that maps the external address to a second internal address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for performing read and write operations in a programmable non-volatile memory device, wherein memory addresses for read and write operations are identified external to the programmable non-volatile memory device by external addresses and internal to the programmable non-volatile memory device by internal addresses, the method comprising:
-
receiving a first instance of an external address at the programmable non-volatile memory device;
within the programmable non-volatile memory device, translating the first instance of the external address to a first internal address according to a first translation rule;
after the first instance of the external address has been received and translated, changing the translation rule that applies to the external address from the first translation rule to a second translation rule;
receiving a second instance of the external address at the programmable non-volatile memory device; and
within the programmable non-volatile memory device, translating the second instance of the external address to a second internal address according to the second translation rule. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method for performing a firmware upgrade in an embedded system that includes a programmable non-volatile memory device, wherein memory addresses for read and write operations are identified external to the programmable non-volatile memory device by external addresses and internal to the programmable non-volatile memory device by internal addresses, the method comprising:
-
applying a first translation rule to an external address, wherein the first translation rule maps the external address to a first internal address of the programmable non-volatile memory device and wherein a first set of computer code is stored at the first internal address;
writing a second set of computer code to the programmable non-volatile memory device at a second internal address, wherein the second set of computer code is an updated version of the first set of computer code;
after the second set of computer code is written to the programmable non-volatile device at the second internal address, changing the translation rule that applies to the external address, the translation rule that applies to the external address being changed to a second translation rule that maps the external address to the second internal address. - View Dependent Claims (18, 19, 20)
-
Specification