IP Library Granted Patent US 7,222,214
Granted Patent B2
US 7,222,214 · App. 11/090,594 · Granted May 22, 2007

Device-level address translation within a programmable non-volatile memory device

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,222,214
App. No.
11/090,594
Granted
May 22, 2007
Kind
B2
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.

Claims (32)

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, wherein the first translation rule is different from the second translation rule; and

wherein the block switching logic includes a selection cell, which is a portion of the programmable non-volatile memory, and wherein the applied translation rule is changed from the first translation rule to the second translation rule by changing at least one bit of the selection cell.

2. The programmable non-volatile memory device of claim 1 wherein the block switching logic includes a programming interface configured to enable changing from the first translation rule to the second translation rule.

3. The programmable non-volatile memory device of claim 1 wherein the block switching logic is configured to produce a non-volatile change from the first translation rule to the second translation rule.

4. The programmable non-volatile memory device of claim 1 wherein the block switching logic includes means for atomically switching from the first translation rule to the second translation rule.

5. The programmable non-volatile memory device of claim 4 wherein the means for atomically switching comprises at least one non-volatile selection bit, the at least one non-volatile selection bit being a bit in a programmable non-volatile memory that is unchanged when the programmable memory is powered off and then restarted.

6. The programmable non-volatile memory device of claim 1 wherein the block switching logic includes multiple different translation maps, and wherein the block switching logic is configured to utilize only one of the multiple translation maps at any one time.

7. The programmable non-volatile memory device of claim 1 wherein the block switching logic includes a translation map that includes multiple changeable translation rules.

8. The programmable non-volatile memory device of claim 1 wherein the block switching logic includes a portion of the programmable non-volatile memory to store at least two translation maps.

9. 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, wherein the first translation rule is different from the second translation rule, and wherein changing the applied translation rule comprises changing at least one bit of a selection cell, wherein the selection cell is a portion of the programmable non-volatile memory device;

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.

10. The method of claim 9 wherein the translation rule that applies to the external address is changed by switching at least one selection bit within the programmable non-volatile memory device, the at least one non-volatile selection bit being a bit in the selection cell that is unchanged when the programmable memory is powered off and then restarted.

11. The method of claim 9 wherein the change in translation rules is non-volatile.

12. The method of claim 9 wherein the translation rule that applies to the external address is changed atomically from the first translation rule to the second translation rule.

13. The method of claim 9 further comprising atomically changing from a first set of translation rules to a second set of translation rules.

14. 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, wherein the first translation rule is different from the second translation rule, and wherein changing the translation rule that applies to the external address comprises changing at least one bit of a selection cell, wherein the selection cell is a portion of the programmable non-volatile memory device.

15. The method of claim 14 wherein changing the translation rule that applies to the external address comprises making a non-volatile change within the programmable non-volatile memory device.

16. The method of claim 14 wherein changing the translation rule that applies to the external address comprises atomically changing from the first translation rule to the second translation rule.

17. The method of claim 14 further including erasing the memory at the second internal address before the second set of computer code is written.

18. The programmable non-volatile memory device of claim 1 wherein the block switching logic includes a logic gate having an input that is connected to the selection cell and wherein the logic gate is configured to perform address translation from an external address to an internal address.

19. The method of claim 9 wherein changing the applied translation rule comprises providing an input to an address translation logic gate from the selection cell.

20. The method of claim 14 wherein changing the applied translation rule comprises providing an input to an address translation logic gate from the selection cell.

Assignments (13)
PATENT SECURITY AGREEMENT Recorded Aug 6, 2024
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 068328/0674 →
RELEASE OF LIEN ON PATENTS Recorded Aug 5, 2024
From: BARINGS FINANCE LLC
To: RPX CORPORATION
Reel/Frame 068328/0278 →
PATENT SECURITY AGREEMENT Recorded Apr 22, 2023
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 063429/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
CHANGE OF NAME Recorded Feb 7, 2019
From: LUCENT TECHNOLOGIES INC.
To: ALCATEL-LUCENT USA INC.
Reel/Frame 049887/0613 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA INC.
Reel/Frame 033950/0261 →
SECURITY INTEREST Recorded Mar 7, 2013
From: ALCATEL-LUCENT USA INC.
To: CREDIT SUISSE AG
Reel/Frame 030510/0627 →