Cache Management Including Solid State Device Virtualization
First Claim
1. A method of caching data in a computer system having one or more processors, memory storing one or more storage management programs for execution by the one or more processors, non-volatile secondary storage and non-volatile cache memory, the non-volatile cache memory including a controller responsive to commands sent by the one or more processors of the computer system, the method comprising:
- receiving from the non-volatile cache memory information identifying an amount of available storage in the non-volatile cache memory, and identifying a size of the management units in the non-volatile cache memory;
identifying write requests to write data to the non-volatile cache memory, each identified write request including an address or storage offset and write data;
sequentially writing to the non-volatile cache memory the write data for the identified write requests, wherein sequentially writing comprises writing to sequentially arranged locations in an address space of the non-volatile cache memory; and
storing in the computer system metadata that maps the addresses or storage offsets of the write data to respective locations in the address space of the non-volatile cache memory.
3 Assignments
0 Petitions
Accused Products
Abstract
A method of caching data is performed by a respective computer having one or more processors storing one or more storage management programs for execution by the one or more processors, non-volatile secondary storage and non-volatile cache memory. The method includes receiving from the non-volatile cache memory information identifying an amount of available storage in the non-volatile cache memory, and identifying a size of the management units in the non-volatile cache memory. The method further includes identifying write requests to write data to the non-volatile cache memory, sequentially writing to the non-volatile cache memory the write data for the identified write requests, to sequentially arranged locations in an address space of the non-volatile cache memory, and storing in memory metadata that maps the addresses or storage offsets of the write data to respective locations in the address space of the non-volatile cache memory.
312 Citations
20 Claims
-
1. A method of caching data in a computer system having one or more processors, memory storing one or more storage management programs for execution by the one or more processors, non-volatile secondary storage and non-volatile cache memory, the non-volatile cache memory including a controller responsive to commands sent by the one or more processors of the computer system, the method comprising:
-
receiving from the non-volatile cache memory information identifying an amount of available storage in the non-volatile cache memory, and identifying a size of the management units in the non-volatile cache memory; identifying write requests to write data to the non-volatile cache memory, each identified write request including an address or storage offset and write data; sequentially writing to the non-volatile cache memory the write data for the identified write requests, wherein sequentially writing comprises writing to sequentially arranged locations in an address space of the non-volatile cache memory; and storing in the computer system metadata that maps the addresses or storage offsets of the write data to respective locations in the address space of the non-volatile cache memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer system, comprising:
-
memory storing one or more programs, the one or more programs including one or more storage management programs; one or more processors for executing instructions in the one or more programs stored in memory; an interface to non-volatile secondary storage; and non-volatile cache memory, the non-volatile cache memory including a controller responsive to commands sent by the one or more processors of the computer system; the one or more storage management programs comprising instructions that, when executed by the one or more processors, cause the computer system to; receive from the non-volatile cache memory information identifying an amount of available storage in the non-volatile cache memory, and identifying a size of the management units in the non-volatile cache memory; identify write requests to write data to the non-volatile cache memory, each identified write request including an address or storage offset and write data; sequentially write to the non-volatile cache memory the write data for the identified write requests, wherein sequentially writing comprises writing to sequentially arranged locations in an address space of the non-volatile cache memory; and store in said memory metadata that maps the addresses or storage offsets of the write data to respective locations in the address space of the non-volatile cache memory. - View Dependent Claims (16, 17)
-
-
18. A non-volatile computer readable storage medium storing one or more storage management programs comprising instructions that, when executed by one or more processors of a computer system that includes the one or more processors, non-volatile secondary storage and non-volatile cache memory, the non-volatile cache memory including a controller responsive to commands sent by the one or more processors of the computer system, cause the computer system to:
-
receive from the non-volatile cache memory information identifying an amount of available storage in the non-volatile cache memory, and identifying a size of the management units in the non-volatile cache memory; identify write requests to write data to the non-volatile cache memory, each identified write request including an address or storage offset and write data; sequentially write to the non-volatile cache memory the write data for the identified write requests, wherein sequentially writing comprises writing to sequentially arranged locations in an address space of the non-volatile cache memory; and store in said memory metadata that maps the addresses or storage offsets of the write data to respective locations in the address space of the non-volatile cache memory. - View Dependent Claims (19, 20)
-
Specification