8549222

Cache-Based Storage System Architecture

PublishedOctober 1, 2013
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
17 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A storage system including a processor, comprising: a primary storage subsystem configured as a cache, wherein the cache includes a plurality of flash memory devices organized as one or more flash cache Redundant Array of Independent Disk (RAID) groups; a first data layout engine configured to implement one or more first data layout 6 techniques that improve data access performance of the primary storage subsystem by serving random data access operations directed to the cache; a secondary storage subsystem having disks organized as one or more disk RAID groups, wherein an array of data blocks on the disks organized as one or more disk RAID groups is characterized by row and column dimensions associated with a track depth on each disk and a disk RAID group width; a second data layout engine configured to implement one or more second data layout techniques that improve data access performance of the secondary storage subsystem by transposing the random data access operations into sequential access operations for storing selected data retrieved from the cache on the disks in accordance with a write allocation decision; and a policy engine configured to implement data type prioritization policies, based on information stored in metadata that describes the selected data to initiate eviction of the selected data retrieved from the cache to the one or more disk RAID groups based on a data type of the selected data having a higher priority than data types of other data on the cache.

2

2. The storage system of claim 1 wherein the first data layout engine comprises a write anywhere file system configured to implement the one or more first data layout techniques to enable placement of data anywhere in free, available space on the flash memory devices of the cache.

3

3. The storage system of claim 1 wherein the second data layout engine comprises a write-in-place file system configured to implement the one or more second data layout techniques to leverage fast random read performance capabilities of the cache to write the selected data as an I/O transaction to the disks, thereby improving performance of the disks.

4

4. The storage system of claim 1 wherein the selected data is associated with write data and the other data is associated with read data.

5

5. The storage system of claim 1 wherein the second data layout engine renders the write allocation decision in accordance with an input/output (I/O) transaction representing the array of data blocks on the disks.

6

6. The storage system of claim 5 wherein the column dimension includes the track depth and the row dimension includes the disk RAID group width.

7

7. A method comprising: configuring a primary storage subsystem of a storage system as a flash cache; organizing, by a Redundant Array of Independent Disk (RAID) module of the storage system, a plurality of flash memory devices of the flash cache as one or more flash cache RAID groups; organizing disks of a secondary storage subsystem of the storage system as at least one disk RAID group, wherein an array of data blocks on the disks organized as the at least one RAID group is characterized by row and column dimensions associated with a track depth on each disk and a disk RAID group width; storing, by a first data layout engine of the storage system, randomly accessed data on the plurality of the flash memory devices of the flash cache; managing parity computations and topology information used for the storage of the randomly accessed data on the flash memory devices of each flash cache RAID group; accumulating the randomly accessed data in the flash cache to form a transaction that enables processing of multiple data stripes within the flash cache RAID group during a revolution of each disk in the group; and relocating, by a second data layout engine of the storage system, selected data from the flash cache to the secondary storage subsystem using the transaction to enable operation of the secondary storage subsystem in sequential mode.

8

8. The method of claim 7 further comprising implementing a policy at a policy engine of the storage system to select the selected data, based on information stored in metadata that describes the selected type, and initiate eviction of the selected data from the flash cache based on a data type of the selected data.

9

9. The method of claim 7 , further comprising embodying the first data layout engine as a write anywhere file system configured to enable placement of the data anywhere in available space on the flash cache.

10

10. The method of claim 9 further comprising controlling storage operations to the flash cache using the write anywhere file system in cooperation with the RAID module of the storage system.

11

11. The method of claim 7 further comprising embodying the second data layout engine as a write-in-place file system configured to arrange sequential portions of data containers on the disks within regions, wherein each region includes a predetermined amount of disk space represented by disk blocks.

12

12. The method of claim 11 further comprising writing, by the write-in-place file system, the selected data from the flash cache sequentially to tracks of the disks within one or more of the regions.

13

13. A system comprising: a flash cache having flash memory devices organized as one or more flash cache Redundant Array of Independent Disk (RAID) groups; a first data layout engine configured to place data anywhere in free, available space on the flash memory devices of the flash cache; a plurality of disks; a second data layout engine configured to write selected data to the disks, organized as a plurality of disk RAID groups, as a transaction representing an array of data blocks on the disks characterized by row and column dimensions associated with a track depth on each disk and a disk RAID group width; and a policy engine configured to implement data type policies to initiate eviction of the selected data, based on information stored in metadata that describes the selected data from the flash cache to the disks based on a data type of the selected data having a higher priority than data types of other data on the flash cache.

14

14. The system of claim 13 wherein the selected data is associated with write data and the other data is associated with read data.

15

15. The system of claim 13 further comprising a RAID module configured to organize the disks within a volume as the plurality of disk RAID groups.

16

16. The system of claim 15 wherein the RAID module is further configured to manage parity computations and topology information used to place data on the disks of each disk RAID group.

17

17. The system of claim 15 wherein the column dimension includes the track depth on each disk and the row dimension includes the disk RAID group width.

Patent Metadata

Filing Date

Unknown

Publication Date

October 1, 2013

Inventors

Steven R. Kleiman
Steven C. Miller
Jeffrey S. Kimmel

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “CACHE-BASED STORAGE SYSTEM ARCHITECTURE” (8549222). https://patentable.app/patents/8549222

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.