Storage array controller for flash-based storage devices
First Claim
Patent Images
1. A storage array controller operable to be coupled to a host system;
- wherein the storage array controller controls a storage array;
wherein the storage array comprises a plurality of solid-state disks;
wherein the plurality of solid-state disks form a RAID array;
wherein the storage array controller creates a map to perform data manipulation across at least one of the plurality of solid-state disks;
wherein the storage array controller includes an operating system;
wherein the operating system is operable to alter the map of one or more input addresses to one or more output addresses;
wherein the storage array controller uses the map to map addresses between one or more host commands and one or more disk commands;
wherein the storage array controller is operable to perform one or more re-mapping operations between the host system and the storage array;
wherein the storage array controller is operable to use a freelist of addresses that are free to be used. wherein one or more garbage collection operations are performed by the storage array controller independently from the host system;
and wherein the storage array controller is operable to perform the map of input addresses to output addresses while performing one or more garbage collection operations.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention is an improved storage array controller that adds a level of indirection between host system and storage array. The storage array controller controls a storage array comprising at least one solid-state storage device. The storage array controller improvements include: garbage collection, sequentialization of writes, combining of writes, aggregation of writes, increased reliability, improved performance, and addition of resources and functions to a computer system with a storage subsystem.
-
Citations
9 Claims
-
1. A storage array controller operable to be coupled to a host system;
-
wherein the storage array controller controls a storage array; wherein the storage array comprises a plurality of solid-state disks; wherein the plurality of solid-state disks form a RAID array; wherein the storage array controller creates a map to perform data manipulation across at least one of the plurality of solid-state disks; wherein the storage array controller includes an operating system; wherein the operating system is operable to alter the map of one or more input addresses to one or more output addresses; wherein the storage array controller uses the map to map addresses between one or more host commands and one or more disk commands; wherein the storage array controller is operable to perform one or more re-mapping operations between the host system and the storage array; wherein the storage array controller is operable to use a freelist of addresses that are free to be used. wherein one or more garbage collection operations are performed by the storage array controller independently from the host system; and wherein the storage array controller is operable to perform the map of input addresses to output addresses while performing one or more garbage collection operations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
Specification