IP Library Granted Patent US 9,772,952
Granted Patent B1
US 9,772,952 · App. 15/598,719 · Granted Sep 26, 2017

Method and system for compressing data for a translation look aside buffer (TLB)

Inventors: Anna Kujtkowski (Rochdale, MA); Wilson P. Snyder, II (Holliston, MA)
Assignee: CAVIUM, INC.
G06F12/1027G06F12/1009H04L45/7457G06F2212/1016G06F2212/401G06F2212/68
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 9,772,952
App. No.
15/598,719
Granted
Sep 26, 2017
Kind
B1
Abstract

An embodiment of the present disclosure includes a method for compressing data for a translation look aside buffer (TLB). The method includes: receiving an identifier at a content addressable memory (CAM), the identifier having a first bit length; compressing the identifier based on a location within the CAM the identifier is stored, the compressed identifier having a second bit length, the second bit length being smaller than the first bit length; and mapping at least the compressed identifier to a physical address in a buffer.

Claims (35)

1. A method of memory management, the method comprising:

storing compressed virtual address related data in a translation look aside buffer (TLB); and

accessing physical memory using the compressed virtual address related data.

2. The method of claim 1 further comprising mapping the compressed virtual address related data to a physical address.

3. The method of claim 1 further comprising:

receiving the virtual address related data at a content addressable memory (CAM); and

compressing the virtual address related data based on a location the data is stored within the CAM.

4. The method of claim 3 wherein the virtual address related data received by the CAM has a first bit length and the compressed virtual address related data has a second bit length which is smaller than the first bit length.

5. The method of claim 1 wherein the virtual address related data is at least one of: a Virtual Machine Identifier (VMID) and Address Space Identifier (ASID), the VMID and ASID being parsed from a context associated with a virtual address.

6. The method of claim 5 wherein the context is a logical data structure used by the TLB to identify a page table entry, the page table entry mapping a virtual address associated with the identifier to the physical address.

7. The method of claim 5 wherein receiving the virtual address related data includes parsing the VMID into a first CAM and parsing the ASID into a second CAM, wherein each CAM is configured to compress received data based on a location the data is stored in each respective CAM.

8. The method of claim 3 wherein compressing includes adjusting an allocation count in an allocation count register, the allocation count register being communicatively coupled to the CAM.

9. The method of claim 8 further comprising:

identifying a replacement virtual address related data in the CAM; and

decreasing a first allocation count in the allocation count register corresponding to the replacement data in the CAM.

10. The method of claim 9 further comprising:

if the virtual address related data is already represented in the CAM, increasing a second allocation count in the allocation count register corresponding to the virtual address related data stored in the CAM;

if the virtual address related data is not represented in the CAM, storing the identifier in a free location in the CAM and increasing a second allocation count in the allocation count register corresponding to the virtual address related data stored in free location in the CAM.

11. A system for memory management, the system comprising:

a translation look aside buffer (TLB) configured to store compressed virtual address related data; and

a memory management unit (MMU) configured to access physical memory using the compressed virtual address related data.

12. The system of claim 11 wherein the TLB is further configured to map the compressed virtual address related data to a physical address.

13. The system of claim 11 further comprising:

a content addressable memory (CAM) configured to receive the virtual address related data, the CAM further configured to compress the virtual address related data based on a location within the CAM the identifier is stored.

14. The system of claim 13 wherein the virtual address related data received by the CAM has a first bit length and the compressed virtual address related data has a second bit length which is smaller than the first bit length.

15. The system of claim 13 further comprising an allocation count register configured to store an allocation count, the allocation count register being communicatively coupled to the CAM.

16. The system of claim 15 wherein the MMU is further configured to:

identify a replacement virtual address related data in the CAM; and

decrease a first allocation count in the allocation count register corresponding to the replacement data in the CAM.

17. The system of claim 16 wherein the MMU is further configured to:

if the virtual address related data is already represented in the CAM, increase a second allocation count in the allocation count register corresponding to the virtual address related data stored in the CAM;

if the virtual address related data is not represented in the CAM, store the identifier in a free location in the CAM and increase a second allocation count in the allocation count register corresponding to the virtual address related data stored in free location in the CAM.

18. The system of claim 11 wherein the virtual address related data is at least one of: a Virtual Machine Identifier (VMID) and Address Space Identifier (ASID), the VMID and ASID being parsed from a context associated with a virtual address.

19. The system of claim 18 wherein the context is a logical data structure used by the TLB to identify a page table entry, the page table entry mapping a virtual address associated with the identifier to the physical address.

20. The system of claim 18 wherein the MMU is further configured to parse the VMID into a first CAM and parse the ASID into a second CAM, wherein each CAM is configured to compress received data based on a location the data is stored in each respective CAM.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CONVERSION Recorded Oct 6, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047202/0690 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2017
From: KUJTKOWSKI, ANNA; SNYDER, WILSON
To: CAVIUM, INC.
Reel/Frame 042933/0687 →
Continuity (2)
Continuation 14940679 · Nov 13, 2015
Provisional Application 62079706 · Nov 14, 2014