IP Library Granted Patent US 7,383,388
Granted Patent B2
US 7,383,388 · App. 10/870,800 · Granted Jun 3, 2008

Method for storing data

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,383,388
App. No.
10/870,800
Granted
Jun 3, 2008
Kind
B2
Abstract

Provided are a method, system, and article of manufacture, wherein a first storage unit is coupled to a second storage unit. The first storage unit and the second storage unit are detected. A determination is made that the first storage unit is capable of responding to a write operation faster than the second storage unit, and that the second storage unit is capable of responding to a read operation at least as fast as the first storage unit. Data is written to the first storage unit. A transfer of the data is initiated from the first storage unit to the second storage unit. The data is read from the second storage unit, in response to a read request directed at both the first and the second storage units.

Claims (19)

1. A method, comprising:

detecting a first storage unit that is coupled to a second storage unit, wherein an address bus and a data bus couples the first storage unit to the second storage unit, wherein the first and second storage units comprise a plurality of address testers and a plurality of cache lines, and wherein those cache lines of the plurality of cache lines that are included in the first storage unit perform operations faster in comparison to those cache lines of the plurality of cache lines that are included in the second storage unit;

determining that the first storage unit is capable of responding to a write operation faster than the second storage unit, and that the second storage unit is capable of responding to a read operation at least as fast as the first storage unit;

writing data to the first storage unit;

loading an address corresponding to the data in the address bus;

loading the data in the data bus;

transferring the address and the data via the address bus and the data bus from the first storage unit to the second storage unit by:

(i) moving the address from a first cache line in the first storage unit to a second cache line in the second storage unit;

(ii) moving the data from the first cache line in the first storage unit to the second cache line in the second storage unit; and

(iii) deleting the data in the first cache line, wherein the data is periodically moved from the first storage unit to the second storage unit, wherein the first storage unit is more expensive to manufacture than the second storage unit; and

reading the data from the second storage unit, in response to a read request directed at both the first and the second storage units, wherein the first storage unit and the second storage unit comprise a cache that is capable of coupling a processor to a main memory, wherein the first storage unit in the cache has a direct connection to the main memory, wherein the second storage unit in the cache has no direct connection to the main memory, wherein the first and second storage units comprise one cache level, wherein the operations further comprise moving the data from the cache to the main memory, and reading the data from the main memory in response to a read miss from the cache.

2. The method of claim 1 , the method further comprising:

deleting the data in the first storage unit after the data has been transferred to the second storage unit, wherein space released by deleting the data in the first storage unit is used for writing additional data in the first storage unit.

3. The method of claim 1 , wherein the first storage unit is coupled to the processor via at least one address bus and at least one data bus, and wherein writing data to the first storage unit comprises:

loading an address corresponding to the data in the at least one address bus;

loading the data in the at least one data bus; and

writing the data and the address in at least one cache line, wherein an address tester is capable of transmitting the data and the address to the at least one cache line.

4. The method of claim 1 , wherein the cache is an L1 cache, and wherein the first and the second storage units are implemented by static random access memory.

5. The method of claim 1 , wherein the second storage unit is larger and is capable of storing a greater amount of data than the first storage unit.

Assignments (3)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2012
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: FACEBOOK, INC.
Reel/Frame 028015/0181 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2005
From: LEWIS, RUSSELL LEE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 015626/0393 →