Live configurable storage

US9600181B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9600181-B2
Application numberUS-201514645085-A
CountryUS
Kind codeB2
Filing dateMar 11, 2015
Priority dateMar 11, 2015
Publication dateMar 21, 2017
Grant dateMar 21, 2017

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 system for storing data in a dynamic fashion. The system includes a storage entity. The storage entity includes portions of a plurality of different persistent storage devices. Each storage device has a set of constraints. The storage entity is configured to store data in a dynamic fashion in a layout on the persistent storage devices of the storage entity that meets the different data requirements for the data while still being within the constraints for the persistent storage devices. The storage entity is configured to change the layout for a portion of the data as requirements related to at least one of performance or resiliency for a portion of the data change while the storage entity continues to provide the data from the storage entity.

First claim

Opening claim text (preview).

What is claimed is: 1. A persistent storage entity comprising: a plurality of storage tiers, at least one storage tier comprising a first type of persistent storage device and at least one other storage tier comprising a second type of persistent storage device; one or more computer-readable media storing computer-executable instructions; one or more processors which, when executing the computer-executable instructions, cause the persistent storage entity to operate by dynamically changing a layout configuration for data stored at storage tiers of the persistent storage entity to allow for changing requirements regarding performance or resiliency of data that is stored at the persistent storage entity over time, in order to facilitate lower storage cost when using the persistent storage entity, and wherein operation of the storage entity comprises: receiving a request to store data; identifying requirements for storing the received data, wherein the requirements comprise at least one of performance relating to how quickly the data must be able to be accessed, or resiliency relating to maintaining availability within a specified statistical figure of the data in the event of a hardware failure at the persistent storage entity; identifying an initial data layout used at the storage tiers, including identifying constraints of the persistent storage devices of the storage tiers; in accordance with either or both of the performance and resilience requirements identified for the received data, changing the initial data layout of the at least one storage tier comprising the first type of persistent storage device while still being within the identified constraints for the persistent storage devices so that performance and resilience requirements of data already stored in the initial data layout is preserved; and using the changed data layout of the at least one storage tier, storing the data at the persistent storage device. 2. The system of claim 1 , wherein the first type of persistent storage device comprises one or more hard disk drives (HDDs), and wherein the second type of persistent storage device comprises one or more solid state drives (SSDs). 3. The system of claim 1 , wherein the persistent storage entity dynamically changes the initial data layout while the persistent storage entity is storing and providing data. 4. The system of claim 1 , wherein the persistent storage entity dynamically changes the initial data layout from simple to mirrored storage by copying existing data from one persistent storage device to another persistent storage device while the persistent storage entity is storing and providing data from the first persistent storage device. 5. The system of claim 1 , wherein the persistent storage entity dynamically changes the initial data layout from simple to striped storage by copying at least a portion of existing data from one persistent storage device to another persistent storage device while the persistent storage entity is storing and providing data from the first persistent storage device. 6. The system of claim 1 , wherein the persistent storage entity dynamically changes the initial data layout from simple to parity storage by copying at least a portion of existing data from one persistent storage device to another persistent storage device while the persistent storage entity is storing and providing data from the first persistent storage device. 7. The system of claim 1 , wherein the persistent storage entity dynamically changes the capacity of the storage entity while the persistent storage entity is storing and providing data. 8. The system of claim 1 , wherein the persistent storage entity dynamically changes the resiliency of at least a portion of data stored at the persistent storage entity while the persistent storage entity is storing and providing data. 9. The system of claim 1 , wherein the persistent storage entity dynamically changes the performance of at least a portion of data stored at the persistent storage entity while the persistent storage entity is storing and providing data. 10. A computer-implemented method of changing a layout configuration for data stored at storage tiers of a persistent storage entity to allow for changing requirements regarding performance or resiliency of data that is stored at the persistent storage entity over time, in order to facilitate lower storage cost when using the persistent storage entity, the computer-implemented method being performed by one or more processors executing computer executable instructions for the computer-implemented method, and the computer-implemented method comprising: receiving at a persistent storage entity a request to store data, wherein the persistent storage entity has a plurality of storage tiers, at least one storage tier comprising a first type of persistent storage device and at least one other storage tier comprising a second type of persistent storage device; identifying requirements for storing the received data, wherein the requirements comprise at least one of performance relating to how quickly the data must be able to be accessed, or resiliency relating to maintaining availability within a specified statistical figure of the data in the event of a hardware failure at the persistent storage entity; identifying an initial data layout used at the storage tiers of the persistent storage entity, including identifying constraints of the persistent storage devices in one or more of the storage tiers of the persistent storage entity; in accordance with either or both of the performance and resilience requirements identified for the received data, changing the initial data layout of the at least one storage tier comprising the first type of persistent storage device while still being within the identified constraints for the persistent storage devices so that performance and resilience requirements of data already stored in the initial data layout is preserved; and using the changed data layout of the at least one storage tier, storing the data at the persistent storage device. 11. The method of claim 10 , wherein dynamically changing the initial data layout for the data in the persistent storage entity comprises dynamically changing the initial data layout by converting the data from mirror to parity. 12. The method of claim 10 , wherein changing the initial data layout for the data in the persistent storage entity comprises dynamically changing the initial data layout by converting the data from striped mirror to non-striped mirror. 13. The method of claim 10 , wherein changing the initial data layout for the data in the persistent storage entity comprises dynamically changing the initial data layout by transferring the data from the persistent storage device of the first type to the persistent storage device of the second type. 14. The method of claim 10 , wherein changing the initial data layout for the data in the persistent storage entity comprises dynamically changing the initial data layout by converting the data from a device that is resilient to a first number of device failures to a second different number of device failures. 15. The method of claim 10 , wherein changing the initial data layout results in a dynamic change to the capacity of the persistent storage entity. 16. The method of claim 10 , wherein changing the initial data layout results in a dynamic change to the performance of data access of the data. 17. The method of claim 10 , wherein changing the initial data layout results in a dynamic change to the resiliency of the data.

Assignees

Inventors

Classifications

  • Improving I/O performance · CPC title

  • G06F3/0608Primary

    Saving storage space on storage systems · CPC title

  • G06F3/0604Primary

    Improving or facilitating administration, e.g. storage management · CPC title

  • Replication mechanisms · CPC title

  • in relation to data integrity, e.g. data losses, bit errors · 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 US9600181B2 cover?
A system for storing data in a dynamic fashion. The system includes a storage entity. The storage entity includes portions of a plurality of different persistent storage devices. Each storage device has a set of constraints. The storage entity is configured to store data in a dynamic fashion in a layout on the persistent storage devices of the storage entity that meets the different data requir…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/0608. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 21 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). 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).