Apparatus, system, and method for converting a storage request into an append data storage command
First Claim
1. An apparatus to sequentially store data, the apparatus comprising:
- a storage request receiver module that receives a storage request from a requesting device, the storage request comprising a source parameter for a data segment, the source parameter comprising a virtual address;
a translation module that translates the storage request to one or more append data storage commands, each append data storage command directing a nonvolatile solid-state data storage device to store data of the data segment and the source parameter at an append point of a sequential log, each append data storage command organized to maintain an order that data segments are received such that the sequential log stores the data segment in an order that the data segment is received, the translation module including a location of the append point in the one or more append data storage commands; and
a mapping module that maps the source parameter of the data segment to a location of the data segment on the nonvolatile solid-state data storage device, the mapping module receiving, from the translation module, the location where the nonvolatile solid-state data storage device appends the data segment, the data segment and the source parameter stored in the sequential log such that the sequential log maintains a mapping between the source parameter and the location of the data segment on the nonvolatile solid-state data storage device.
16 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, system, and method are disclosed for converting a storage request to an append data storage command. A storage request receiver module receives a storage request from a requesting device. The storage request is to store a data segment onto a data storage device. The storage request includes source parameters for the data segment. The source parameters include a virtual address. A translation module translates the storage request to storage commands. At least one storage command includes an append data storage command that directs the data storage device to store data of the data segment and the one or more source parameters with the data, including a virtual address, at one or more append points. A mapping module maps source parameters of the data segment to locations where the data storage device appended the data packets of the data segment and source parameters.
186 Citations
31 Claims
-
1. An apparatus to sequentially store data, the apparatus comprising:
-
a storage request receiver module that receives a storage request from a requesting device, the storage request comprising a source parameter for a data segment, the source parameter comprising a virtual address; a translation module that translates the storage request to one or more append data storage commands, each append data storage command directing a nonvolatile solid-state data storage device to store data of the data segment and the source parameter at an append point of a sequential log, each append data storage command organized to maintain an order that data segments are received such that the sequential log stores the data segment in an order that the data segment is received, the translation module including a location of the append point in the one or more append data storage commands; and a mapping module that maps the source parameter of the data segment to a location of the data segment on the nonvolatile solid-state data storage device, the mapping module receiving, from the translation module, the location where the nonvolatile solid-state data storage device appends the data segment, the data segment and the source parameter stored in the sequential log such that the sequential log maintains a mapping between the source parameter and the location of the data segment on the nonvolatile solid-state data storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A system to sequentially store data, the system comprising:
-
a nonvolatile solid-state data storage device; and a storage controller controlling the nonvolatile solid-state data storage device, the storage controller comprising a storage request receiver module that receives a storage request from a requesting device, the storage request comprising a source parameter for a data segment, the source parameter comprising a virtual address; a translation module that translates the storage request to one or more append data storage commands, each append data storage command directing a nonvolatile solid-state data storage device to store data of the data segment and the source parameter at an append point of a sequential log, each append data storage command organized to maintain an order that data segments are received such that the sequential log stores the data segment in an order that the data segment is received, the translation module including a location of the append point in the one or more append data storage commands; and a mapping module that maps the source parameter of the data segment to a location of the data segment on the nonvolatile solid-state data storage device, the mapping module receiving, from the translation module, the location where the nonvolatile solid-state data storage device appends the data segment, the data segment and the source parameter stored in the sequential log such that the sequential log maintains a mapping between the source parameter and the location of the data segment on the nonvolatile solid-state storage device. - View Dependent Claims (19, 20, 21)
-
-
22. A method for sequentially storing data, the method comprising:
-
receiving a storage request from a requesting device, the storage request comprising a source parameter for a data segment, the source parameter comprising a virtual address; translating the storage request to one or more append data storage commands, each append data storage command directing a nonvolatile solid-state data storage device to store data of the data segment and the source parameter at an append point of a sequential log, each append data storage command organized to maintain an order that data segments are received such that the sequential log stores the data segment in an order that the data segment is received; receiving a storage command response from the nonvolatile solid-state data storage device, the storage command response comprising a location where the nonvolatile solid-state data storage device appended the data segment and associated source parameter; and mapping the source parameter of the data segment to the location of the data segment on the nonvolatile solid-state data storage device in response to receiving the location from the storage command response, the data segment and the source parameter stored in the sequential log such that the sequential log maintains a mapping between the source parameter and the location of the data segment on the nonvolatile solid-state data storage device. - View Dependent Claims (23, 24, 25, 26)
-
-
27. A method for sequentially storing data, the method comprising:
-
receiving a storage request from a requesting device, the storage request comprising a source parameter for a data segment; translating, by a translation module, the storage request to one or more append data storage commands, each append data storage command directing a nonvolatile solid-state data storage device to store data of the data segment at an append point of a sequential log, each append data storage command organized to maintain an order that data segments are received such that the sequential log stores the data segment in an order that the data segment is received, the one or more append data storage commands including a location of the append point; and mapping, by a mapping module, the source parameter of the data segment to a location on the nonvolatile solid-state storage device in response to receiving, from the translation module, the location where the nonvolatile solid-state data storage device appends the data segment. - View Dependent Claims (28, 29, 30, 31)
-
Specification