IP Library Granted Patent US 7,484,063
Granted Patent B2
US 7,484,063 · App. 11/582,160 · Granted Jan 27, 2009

Sorting method and apparatus using a CAM

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,484,063
App. No.
11/582,160
Granted
Jan 27, 2009
Kind
B2
Abstract

Method and apparatus for using a Content Addressable Memory for sorting a plurality of data items is presented. The data items to be sorted are stored in the Content Addressable Memory. A plurality of bit-by-bit burst searches are performed on the contents of the Content Addressable Memory with all other bits in the search key masked. The number of burst searches is proportional to the total number of bits in the data items to be sorted. The search is deterministic dependent on the number of bits in each data item on which a sort is performed and on the number of data items to be sorted.

Claims (32)

1. A sorting apparatus to sort data, comprising:

a first memory that: 1) stores data to be sorted; 2) receives a search command to sort the stored data; and 3) outputs a match address in response to the search command;

a second memory capable of being either read or write memory;

a third memory capable of being either read or write memory;

a controller that: i) stores the data to be sorted in the first memory and one of the second memory or third memory; ii) issues the search command; and iii) controls whether each of the second memory and the third memory is read or write memory;

one of the second memory or third memory, in a read mode, having a copy of the data to be sorted, and the memory in read mode providing match data in response to the match address from the first memory; and

one of the second memory or third memory, in a write mode, storing the match data from the memory in read mode.

2. The sorting apparatus as claimed in claim 1 wherein the controller further causes the sorted data to be written back to the first memory from the one of the second memory or third memory in write mode to allow issuance of an additional search command on the sorted data.

3. The sorting apparatus as claimed in claim 1 wherein the search command is a masked M-bit search.

4. The sorting apparatus as claimed in claim 1 wherein the first memory is Content Addressable Memory (CAM).

5. The sorting apparatus as claimed in claim 1 wherein the controller controls the match address of the first memory and selects whether each of the second and third memory is in read or write mode using multiplexers.

6. The sorting apparatus as claimed in claim 1 wherein the second memory and third memory alternate between write and read memory on successive sort cycles.

7. The sorting apparatus as claimed in claim 1 wherein the second and third memories are random access memories.

8. The sorting apparatus as claimed in claim 1 wherein the sorted data is in ascending or descending order.

9. A method for sorting data, comprising:

storing data in a first memory;

storing a copy of the data to be sorted in a second memory;

identifying the second memory as read memory and a third memory as write memory, the second and third memories being capable of being either read or write memories;

receiving a search command, in the first memory, for sorting the data;

in response to the search command, outputting a match address to the second memory;

sending match data corresponding to each match address for the second memory to the third memory; and

storing the match data in the third memory.

10. The method as claimed in claim 9 further comprising:

writing the sorted data back to the first memory from the third memory to provide additional searching of the sorted data.

11. The method as claimed in claim 9 wherein the search command is a masked M-bit search.

12. The method as claimed in claim 9 wherein the first memory is a Content Addressable Memory (CAM).

13. The method as claimed in claim 9 further comprising:

selecting whether each of the second and third memory is in read or write mode using multiplexers.

14. The method as claimed in claim 9 further comprising:

alternating the second memory and the third memory between write and read memory on successive sort cycles.

15. The method as claimed in claim 9 wherein the second and third memories are random access memories.

16. The method as claimed in claim 9 wherein the sorted data is in ascending or descending order.

Assignments (12)
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY'S NAME PREVIOUSLY RECORDED AT REEL: 057449 FRAME: 0162. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Aug 30, 2023
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: MOSAID TECHNOLOGIES INCORPORATED
Reel/Frame 064782/0950 →
CHANGE OF NAME Recorded Sep 9, 2021
From: CONVERSANT INTELLECTUAL PROPERTY INC.
To: MOSAID TECHNOLOGIES INCORPORATED
Reel/Frame 057449/0162 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2020
From: CPPIB CREDIT INVESTMENTS INC.
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 054279/0001 →
RELEASE OF U.S. PATENT AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Oct 12, 2018
From: ROYAL BANK OF CANADA, AS LENDER
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 047645/0424 →
AMENDED AND RESTATED U.S. PATENT SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Aug 22, 2018
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: CPPIB CREDIT INVESTMENTS, INC.
Reel/Frame 046900/0136 →
U.S. PATENT SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Sep 9, 2014
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: CPPIB CREDIT INVESTMENTS INC., AS LENDER; ROYAL BANK OF CANADA, AS LENDER
Reel/Frame 033706/0367 →
CHANGE OF ADDRESS Recorded Sep 3, 2014
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 033678/0096 →
RELEASE OF SECURITY INTEREST Recorded Aug 7, 2014
From: ROYAL BANK OF CANADA
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.; CONVERSANT IP N.B. 868 INC.; CONVERSANT IP N.B. 276 INC.
Reel/Frame 033484/0344 →
CHANGE OF NAME Recorded Mar 13, 2014
From: MOSAID TECHNOLOGIES INCORPORATED
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 032439/0638 →
U.S. INTELLECTUAL PROPERTY SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) - SHORT FORM Recorded Jan 10, 2012
From: 658276 N.B. LTD.; 658868 N.B. INC.; MOSAID TECHNOLOGIES INCORPORATED
To: ROYAL BANK OF CANADA
Reel/Frame 027512/0196 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2009
From: ABDAT, MOURAD
To: MOSAID TECHNOLOGIES INCORPORATED
Reel/Frame 022939/0479 →
CHANGE OF NAME Recorded Jul 13, 2009
From: MOSAID TECHNOLOGIES INCORPORATED
To: MOSAID TECHNOLOGIES INCORPORATED
Reel/Frame 022939/0482 →