发明名称 |
Sliding-window multi-class striping |
摘要 |
A sequence of storage devices of a data store may include one or more stripesets for storing data stripes of different lengths and of different types. Each data stripe may be stored in a prefix or other portion of a stripeset. Each data stripe may be identified by an array of addresses that identify each page of the data stripe on each included storage device. When a first storage device of a stripeset becomes full, the stripeset may be shifted by removing the full storage device from the stripeset, and adding a next storage device of the data store to the stripeset. A class variable may be associated with storage devices of a stripeset to identify the type of data that the stripeset can store. The class variable may be increased (or otherwise modified) when a computer stores data of a different class in the stripeset. |
申请公布号 |
US9639272(B2) |
申请公布日期 |
2017.05.02 |
申请号 |
US201615159577 |
申请日期 |
2016.05.19 |
申请人 |
Microsoft Technology Licensing, LLC |
发明人 |
Reid Colin;Bernstein Philip A. |
分类号 |
G06F3/06 |
主分类号 |
G06F3/06 |
代理机构 |
Fiala & Weaver P.L.L.C. |
代理人 |
Fiala & Weaver P.L.L.C. |
主权项 |
1. A method, comprising:
receiving an indication of a first set of data pages to be stored in a first stripeset of a data store, the first stripeset including M storage devices, the M storage devices of the first stripeset being associated in a logical sequence that includes a first storage device of the M storage devices at a logical first end of the first stripeset and a second storage device of the M storage devices at a logical second end of the first stripeset; determining that the first storage device is full; removing the first storage device from the first stripeset; adding a third storage device of the data store to the first stripeset, the third storage device of the data store having an associated class variable that indicates a class of a second stripeset of the data store; changing the class variable to indicate a class of the first stripeset; and storing the first set of data pages as a stripe in the first stripeset, including storing a data page of the first set of data pages in the third storage device. |
地址 |
Redmond WA US |