System and methods for performing embedded full-stripe write operations to a data volume with data elements distributed across multiple modules
First Claim
Patent Images
1. A data storage system, comprising:
- a cache memory; and
a controller comprising processing logic that is configurable to define and manage data transfers to and from at least one logical volume to be exposed to a host device, the data transfers as managed by the controller including data aligned for a single write operation to a stride in a defined array of N solid state storage modules, where N is a positive integer that is greater than or equal to 2, each stride comprising a set of two or more arranged stripes and being capable of being transferred by the controller to the N solid state storage modules in a single write operation, each stripe comprising data bits and parity bits generated from the data bits, the defined array having a specifically-defined layout in which the stripes are distributed across the N solid state storage modules in a manner dictated by the layout, wherein the data to be transferred by the controller is collected in the cache memory until the data present in the cache memory meets or exceeds the storage capacity of the stride, and wherein when the data present in the cache memory meets or exceeds the storage capacity of the stride, the controller causes the data present in the cache memory to be transferred to the N solid storage modules in a single write operation in accordance with the specifically-defined layout of the defined array.
8 Assignments
0 Petitions
Accused Products
Abstract
A data storage system and methods for managing data to be transferred between a host and a data volume distributed across solid state storage modules are disclosed. A storage controller couples the host to the data volume and manages data transfers to and from the logical volume. The storage controller receives a set of parameters that define how an array of blocks and chunks of buffered data will be distributed across solid state storage modules. The storage controller receives and buffers data to be stored and transfers the same when the capacity of the buffered data will fill a set of arranged stripes in the defined array in a single write operation.
-
Citations
17 Claims
-
1. A data storage system, comprising:
-
a cache memory; and a controller comprising processing logic that is configurable to define and manage data transfers to and from at least one logical volume to be exposed to a host device, the data transfers as managed by the controller including data aligned for a single write operation to a stride in a defined array of N solid state storage modules, where N is a positive integer that is greater than or equal to 2, each stride comprising a set of two or more arranged stripes and being capable of being transferred by the controller to the N solid state storage modules in a single write operation, each stripe comprising data bits and parity bits generated from the data bits, the defined array having a specifically-defined layout in which the stripes are distributed across the N solid state storage modules in a manner dictated by the layout, wherein the data to be transferred by the controller is collected in the cache memory until the data present in the cache memory meets or exceeds the storage capacity of the stride, and wherein when the data present in the cache memory meets or exceeds the storage capacity of the stride, the controller causes the data present in the cache memory to be transferred to the N solid storage modules in a single write operation in accordance with the specifically-defined layout of the defined array. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for processing data between a host and a data volume implemented by a controller, the method comprising:
-
defining a layout across a set of N solid state modules, the layout including multiple strides, each stride having at least two arranged stripes; storing, in cache memory, data received from a host that is to be stored in a data volume in the set of N solid state modules; determining, with the controller, when an amount of the data stored in the cache memory is equal to or exceeds the storage capacity of a stride having a set of stripes defined in the layout; and when the amount of data stored in the cache memory is equal to or exceeds the storage capacity of the stride, transferring the data from the cache memory to the N solid state modules in a single write operation. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A non-transitory storage medium including a set of instructions, said set of instructions adapted to be executed by a storage controller to enable a method for performing embedded full-stripe write operations to a data volume distributed across multiple solid-state storage modules, the instructions comprising:
-
instructions for receiving, with a storage controller, a set of parameters that define a layout for distributing data across a set of N solid state storage modules, where N is a positive integer that is greater than or equal to 2, the layout defining multiple strides, each stride having a set of at least two stripes; instructions for storing, in a cache memory coupled to the storage controller, data received from a host that is to be stored in the set of N solid state modules; instructions for determining when an amount of data stored in the cache memory is equal to or exceeds the storage capacity of a stride defined by the layout; and instructions for causing the controller to transfer the data stored in the cache memory to from the cache memory to the N solid state modules in a single write operation when a determination is made that the amount of data stored in the cache memory is equal to or exceeds the storage capacity of the stride defined by the layout. - View Dependent Claims (17)
-
Specification