IP Library Granted Patent US 9,195,605
Granted Patent B2
US 9,195,605 · App. 14/687,470 · Granted Nov 24, 2015

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 9,195,605
App. No.
14/687,470
Granted
Nov 24, 2015
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 (34)

1. A method for allocating cache memory, comprising:

determining whether a cache memory location is required for an operating system command; and

if the cache memory location is required for an operating system command:

allocating the cache memory location,

linking the main memory location to the cache memory location, and

bypassing reading the main memory location into the cache memory location.

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

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

4. The method of claim 1 , comprising specifying a number of cache lines with a single request.

5. The method of claim 4 , comprising initialization the cache memory location.

6. The method of claim 1 , comprising initializing the allocated cache memory location.

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

8. A method for allocating cache memory, comprising:

determining whether a cache memory location is required for an operating system command; and

if the cache memory location is required for an operating system command:

allocating the cache memory location, and

suppressing reading the main memory location into the cache memory location.

9. The method of claim 8 , comprising setting an initialization pattern through a processor to a desired pattern.

10. The method of claim 8 , comprising initializing the cache memory location if the main memory location is already associated with cache.

11. The method of claim 8 , comprising specifying a number of cache lines to allocate with a single request.

12. The method of claim 11 , comprising initialization the cache memory location.

13. The method of claim 8 , comprising initializing the allocated cache memory location to eliminate a need to initialize the cache memory location through software.

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

15. A device comprising:

a cache memory comprising one or more cache memory locations;

a connection to a main memory, the main memory comprising one or more main memory locations; and

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

determine whether the cache memory location is required for an operating system command, and

link the main memory location to the cache memory location and bypass reading data from the main memory location to the cache memory location, if the cache memory location is required for an operating system command.

16. The device of claim 15 , the control unit being operable to initialize the cache memory location.

17. The device of claim 15 , the control unit being operable to initialize the cache memory location if the main memory location is already associated with cache memory.

18. The device of claim 15 , the control unit being operable to specify a number of cache lines to allocate with a single request.

19. A storage area network comprising the device of claim 15 .

20. An Ethernet network comprising the device of claim 15 .

Assignments (8)
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 Sep 30, 2015
From: LEMIRE, STEVEN GERARD; NGUYEN, VUONG CAO
To: EMULEX DESIGN AND MANUFACTURING CORP.
Reel/Frame 036688/0649 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2015
From: EMULEX DESIGN AND MANUFACTURING CORPORATION
To: EMULEX CORPORATION
Reel/Frame 036682/0489 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2015
From: LEMIRE, STEVEN GERARD
To: EMULEX DESIGN AND MANUFACTURING CORP.
Reel/Frame 036682/0384 →