IP Library Granted Patent US 8,892,823
Granted Patent B2
US 8,892,823 · App. 11/966,900 · Granted Nov 18, 2014

Data bus efficiency via cache line usurpation

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,892,823
App. No.
11/966,900
Granted
Nov 18, 2014
Kind
B2
Abstract

Embodiments of the current invention permit a user to allocate cache memory to main memory more efficiently. The processor or a user allocates the cache memory and associates the cache memory to the main memory location, but suppresses or bypassing reading the main memory data into the cache memory. Some embodiments of the present invention permit the user to specify how many cache lines are allocated at a given time. Further, embodiments of the present invention may initialize the cache memory to a specified pattern. The cache memory may be zeroed or set to some desired pattern, such as all ones. Alternatively, a user may determine the initialization pattern through the processor.

Claims (39)

1. A method for allocating cache memory to increase processor efficiency, comprising:

identifying a main memory location to be accessed in a main memory;

determining whether the main memory location is already associated with a cache memory in a processor, the processor configured for accessing the main memory through bus transactions;

allocating a cache memory location if the main memory location is not already associated with the cache memory;

determining whether information at the main memory location is required for a future computation by the processor; and

bypassing a reading of data from the main memory location to the cache memory location if the information at the main memory location is not required for a future computation by the processor; and

initializing the allocated cache memory location while bypassing the reading of data from the main memory location to the cache memory location.

2. The method of claim 1 , further comprising setting an initialization pattern through a processor to a desired pattern.

3. The method of claim 1 , further comprising initializing the cache memory location if the main memory location is already associated with cache memory.

4. The method of claim 1 , further comprising specifying a number of cache lines to allocate so that the number of cache lines are allocated with a single request.

5. The method of claim 4 , further comprising:

initializing the cache memory location through hardware to eliminate a need to initialize the cache memory location through software.

6. The method of claim 1 , further comprising initializing the allocated cache memory location through hardware to eliminate a need to initialize the cache memory location through software.

7. The method of claim 6 , wherein the initialization sets a value of the cache memory location to zero.

8. A computer processor with an efficient cache memory allocation, comprising:

a cache memory within the computer processor;

a connection to a main memory external to the computer processor; and

a control unit coupled to the cache memory, wherein the control unit is operable to:

control the cache memory and identify a main memory location to be accessed in the main memory,

determine whether the main memory location is already associated with the cache memory,

allocate a cache memory location if the main memory location is not already associated with the cache memory,

determine whether information at the main memory location is required for a future computation by the processor; and

bypass reading data from the main memory location to the cache memory location if the information at the main memory location is not required for a future computation by the processor; and

initialize the allocated cache memory location while bypassing the reading of data from the main memory location to the cache memory location.

9. The computer processor of claim 8 , the control unit further programmed for initializing the cache memory location through hardware to eliminate a need to initialize the cache memory location through software.

10. The computer processor of claim 8 , the control unit further programmed for initializing the cache memory location if the main memory location is already associated with cache memory.

11. The computer processor of claim 8 , wherein the computer processor is included in a storage area network.

12. The computer processor of claim 8 , wherein the computer processor is included in an Ethernet network.

13. The computer processor of claim 8 , wherein the computer processor is included in a network system.

14. The computer processor of claim 8 , the control unit further programmed for specifying a number of cache lines to allocate so that the number of cache lines are allocated with a single request.

15. The method of claim 14 , the control unit further programmed for initializing the cache memory location through hardware to eliminate a need to initialize the cache memory location through software.

16. A computer-readable storage medium comprising program code for efficiently allocating a cache memory location, the program code for causing performance of a method comprising:

identifying a main memory location to be accessed in a main memory,

determining whether the main memory location is already associated with a cache memory,

allocating a cache memory location if the main memory location is not already associated with the cache memory,

determining whether information at the main memory location is required for a future computation by the processor,

bypassing a reading of data from the main memory location to the cache memory location if the information at the main memory location is not required for a future computation by the processor, and

initializing the allocated cache memory location while bypassing the reading of data from the main memory location to the cache memory location.

17. The computer-readable storage medium of claim 16 , the program code further for causing performance of a method comprising initializing the cache memory location if the main memory location is already associated with cache memory.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2015
From: EMULEX CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 036942/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2014
From: EMULEX DESIGN AND MANUFACTURING CORPORATION
To: EMULEX CORPORATION
Reel/Frame 032087/0842 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2008
From: LEMIRE, STEVEN GERARD; NGUYEN, VOUNG CAO
To: EMULEX DESIGN & MANUFACTURING CORPORATION
Reel/Frame 020700/0594 →