IP Library Granted Patent US 8,549,218
Granted Patent B2
US 8,549,218 · App. 12/268,367 · Granted Oct 1, 2013

Low cost implementation for small content-addressable memories

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 8,549,218
App. No.
12/268,367
Granted
Oct 1, 2013
Kind
B2
Abstract

A content-addressable memory (CAM) for managing the reallocation of erasable objects within a non-volatile memory is conceptually separated into two tables: a first table provides verification of whether or not a logical address has been reallocated and, if so, a second table provides the physical address of the reallocated erasable object.

Claims (20)

1. A method of managing non-volatile memory, comprising:

receiving a logical address of an erasable object of non-volatile memory;

comparing the logical address with entries of a first table, the entries containing logical addresses of erasable objects that have been reallocated in the non-volatile memory, where each entry is associated with a line number;

if the received logical address does not match an entry of the first table,

generating a physical address for the erasable object from the received logical address;

if the received logical address matches an entry of the first table,

encoding the line number of the matching line to obtain an encoded line number, concatenating the encoded line number with a portion of the received logical address to obtain an address of a second table storing physical addresses of erasable objects that have been reallocated in the non-volatile memory;

using the address of the second table and the received logical address to obtain from the second table the physical address of the erasable object; and

using the physical address to access the erasable object from non-volatile memory.

2. The method of claim 1 , where the erasable object is a block and the logical address includes a first portion for identifying the block, a second portion for identifying pages in the block, and third portion for providing an offset into a page of the block.

3. The method of claim 1 , where the first table is an n×m fully associated table containing logical addresses for reallocated blocks, where n is an integer representing a maximum number of reallocated blocks in a first segment of the non-volatile memory storing the reallocated blocks and m is an integer representing a maximum number of bits for encoding the logical addresses of unallocated blocks stored in a second segment of the non-volatile memory.

4. The method of claim 1 , where an entry of the first table includes data for determining if the entry stores a valid logical address of a reallocated erasable object.

5. The method of claim 1 , where the first table is configured in hardware registers and the second table is configured in volatile memory.

6. A system for managing non-volatile memory, comprising:

non-volatile memory; and

a processor coupled to the non-volatile memory and operable for: receiving a logical address of an erasable object of non-volatile memory; comparing the logical address with entries of a first table, the entries containing logical addresses of erasable objects that have been reallocated in the non-volatile memory, where each entry is associated with a line number; if the received logical address does not match an entry of the first table, generating a physical address for the erasable object from the received logical address; if the received logical address matches an entry of the first table, encoding the line number of the matching entry to obtain an encoded line number, concatenating the encoded line number with a portion of the received logical address to obtain an address of a second table storing physical addresses of erasable objects that have been reallocated in the non-volatile memory using the address of the second table and the received logical address to obtain from the second table the physical address of the erasable object; and using the physical address to access the erasable object from non-volatile memory.

7. The system of claim 6 , where the erasable object is a block and the logical address includes a first portion for identifying the block, a second portion for identifying pages in the block, and third portion for providing an offset into a page of the block.

8. The system of claim 6 , where the first table is an n×m fully associated table containing logical addresses for reallocated blocks, where n is an integer representing a maximum number of reallocated blocks in a first segment of the non-volatile memory storing the reallocated blocks and m is an integer representing a maximum number of bits for encoding the logical addresses of unallocated blocks stored in a second segment of the non-volatile memory.

9. The system of claim 6 , where an entry of the first table includes data for determining if the entry stores a valid logical address of a reallocated erasable object.

10. The system of claim 6 , where the first table is configured in hardware registers and the second table is configured in volatile memory.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2019
From: VERIMATRIX
To: RAMBUS INC.
Reel/Frame 051262/0413 →
PARTIAL RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 21, 2019
From: GLAS SAS, AS AGENT
To: INSIDE SECURE
Reel/Frame 051076/0306 →
CHANGE OF ADDRESS Recorded Oct 16, 2019
From: VERIMATRIX
To: VERIMATRIX
Reel/Frame 050733/0003 →
CHANGE OF NAME Recorded Oct 7, 2019
From: INSIDE SECURE
To: VERIMATRIX
Reel/Frame 050647/0428 →
SECURITY INTEREST Recorded Feb 27, 2019
From: INSIDE SECURE
To: GLAS SAS, AS SECURITY AGENT
Reel/Frame 048449/0887 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2012
From: ATMEL ROUSSET S.A.S.
To: INSIDE SECURE
Reel/Frame 028522/0371 →