Adaptive intelligent storage controller and associated methods

US9256542B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9256542-B1
Application numberUS-55892509-A
CountryUS
Kind codeB1
Filing dateSep 14, 2009
Priority dateSep 17, 2008
Publication dateFeb 9, 2016
Grant dateFeb 9, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A storage controller includes data transfer logic defined to enable block level data transfer between the storage controller and multiple types of storage media within a storage volume. The storage controller also includes adaptive logic defined to determine in real-time which of the multiple types of storage media in the storage volume is to be used to store a given data block received by the storage controller. The received data block is stored on a determined storage medium in the storage volume. The data transfer logic and the adaptive logic are defined to maintain a normal interface between the storage controller and an operating system in communication with the storage controller, such that the multiple types of storage media in the storage volume is not apparent to the operating system.

First claim

Opening claim text (preview).

What is claimed is: 1. A storage controller, comprising: a cache memory configured to store data blocks; data transfer logic defined to enable block level data transfer between the storage controller and multiple types of storage media within a storage volume, the multiple types of storage media include a rotating disk data storage device and a solid-state data storage device, wherein at least one of the multiple types of storage media within the storage volume is a shared storage medium in use by multiple storage volumes, wherein the storage controller is defined to control a unique one of the multiple storage volumes and wherein the storage controller is configured to hide sharing of the shared storage medium from different entities accessing data on the shared storage medium; and adaptive logic defined to collect data blocks that are smaller than an optimal write size for the solid-state data storage device in the cache memory until an aggregate size of the data blocks collected in the cache memory satisfies the optimal write size for the solid-state data storage device, the adaptive logic defined to direct writing of the aggregate size of the data blocks as collected in the cache memory to the solid-state data storage device within the storage volume, the adaptive logic defined to generate and maintain metadata for each data block transferred through the storage controller to the storage volume including the data blocks collected in the cache memory, the metadata for a given data block providing a mapping of the given data block as written within the storage volume to the given data block as collected in the cache memory, the metadata for each data block including an access counter, the adaptive logic defined to increment the access counter within the metadata for a given data block each time the storage controller is directed to access the given data block, the adaptive logic defined to monitor the access counter in the metadata of the given data block in real-time to determine whether or not the access counter is above or below a threshold value, the adaptive logic defined to maintain storage of the given data 5 block in the solid-state data storage device when the access counter is above the threshold value, the adaptive logic defined to move the given data block from the solid-state storage device to the rotating disk data storage device when the access counter is below the threshold value. 2. A storage controller as recited in claim 1 , wherein each of the multiple types of storage media in the storage volume is a non-volatile data storage device that operates in accordance with a native low-level block protocol. 3. A storage controller as recited in claim 2 , wherein the multiple types of storage media in the storage volume differ in physical characteristics, performance characteristics, or both physical and performance characteristics. 4. A storage controller as recited in claim 3 , wherein the physical characteristics include one or more of reliability and lifetime, and wherein the performance characteristics include one or more of access type, read speed, write speed, and block size requirement. 5. A storage controller as recited in claim 3 , wherein the multiple types of storage media in the storage volume include one or more re-writable optical data storage devices. 6. A storage controller as recited in claim 1 , wherein both the data transfer logic and the adaptive logic are defined to maintain a normal interface between the storage controller and an operating system in communication with the storage controller, such that the multiple types of storage media in the storage volume is not apparent to the operating system. 7. A storage controller as recited in claim 1 , wherein the data transfer logic is defined to operate in accordance with multiple data transfer requirements respectively associated with the multiple types of storage media in the storage volume such that data is transferred to and from a given storage medium within the storage volume in accordance with data transfer requirements specific to the given storage medium. 8. A storage controller as recited in claim 7 , wherein the adaptive logic is defined to maintain a non-volatile copy of some or all of the storage volume metadata on one or more storage devices within the storage volume. 9. A storage controller as recited in claim 8 , wherein the adaptive logic is defined to transfer some or all of the storage volume metadata from the one or more storage devices within the storage volume to the cache memory upon startup of the storage controller. 10. A storage controller as recited in claim 1 , wherein the metadata for a given data block includes identification of a current storage location of the given data block in the storage volume. 11. A storage controller as recited in claim 10 , wherein the metadata for the given data block further includes access history information for the given data block. 12. A storage controller as recited in claim 11 , wherein the adaptive logic is defined to operate on the metadata of the given data block to determine which of the multiple types of storage media in the storage volume is to be used to store the given data block. 13. A storage controller as recited in claim 11 , wherein the adaptive logic is defined to query the metadata of the given data block to determine if the given data block is to be moved to a different type of storage medium within the storage volume. 14. A storage controller as recited in claim 1 , wherein the adaptive logic is defined to maintain storage of the given data block in the rotating disk data storage device when the access counter is below the threshold value, and wherein the adaptive logic is defined to move the given data block from the rotating disk data storage device to the solid-state data storage device when the access counter is above the threshold value. 15. A storage system, comprising: a first storage volume including multiple types of storage media including a rotating disk data storage device and a solid-state data storage device, wherein the storage volume is viewed as a monolithic storage volume by an operating system, and wherein each of the multiple types of storage media in the storage volume is a non-volatile data storage device that operates in accordance with a native low-level block protocol (NLLBP); a second storage volume including a portion of a shared storage medium, wherein the shared storage medium is one of the multiple types of storage media within the first storage volume; a first storage controller defined to direct NLLBP data transfers to and from the multiple types of storage media within the first storage volume; a second storage controller defined to direct NLLBP data transfers to and from the portion of the shared storage medium, wherein the first storage controller is configured to hide sharing of the shared storage medium from different entities accessing data on the shared storage medium, wherein the second storage controller is configured to hide sharing of the shared storage medium from different entities accessing data on the shared storage medium, wherein the first storage controller includes— a cache memory configured to store data blocks, data transfer logic defined to enable block level data transfer between the first storage controller and the multiple types of storage media within the first storage volume, and adaptive logic defined to collect data blocks that are smaller than an optimal write size for the solid-state data storage device in the cache memory until an aggregate size of the data blocks collected in the cache memory sa

Assignees

Inventors

Classifications

  • Hybrid disk, e.g. using both magnetic and solid state storage devices · CPC title

  • Performance improvement · CPC title

  • Accessing, addressing or allocating within memory systems or architectures (digital input from, or digital output to record carriers, e.g. to disk storage units, G06F3/06) · CPC title

  • Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays · CPC title

  • for peripheral storage systems, e.g. disk cache · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9256542B1 cover?
A storage controller includes data transfer logic defined to enable block level data transfer between the storage controller and multiple types of storage media within a storage volume. The storage controller also includes adaptive logic defined to determine in real-time which of the multiple types of storage media in the storage volume is to be used to store a given data block received by the …
Who is the assignee on this patent?
Flower Jonathan, Gajjar Kumar, Pmc Sierra Us Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/0866. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 09 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).