System, method and apparatus for accelerating fast block devices
A device, method and system is directed to fast data storage on a block storage device. New data is linearly written to an empty write block. A location of the new data is tracked. Meta data associated with the new data is linearly written. A lookup table may be updated based in part on the meta data. The new data may be read based the lookup table configured to map a logical address to a physical address.
1 . A method for fast data storage on a block storage device, the method comprising the steps of:
linearly writing new data to an empty write block;
tracking a location of the new data;
linearly writing meta data, associated with the new data, to a control field within said empty write block; and
unmounting the block storage device, including writing to each write block of the block storage device and writing meta data associated with the each write block,
wherein the linear writing of said new data and said meta data is done across said empty write block in a time-received order, and
wherein said new data and said associated meta data within said control field are written in both a front portion at the start of said empty write block and contiguous said new data and a back portion after data new data and contiguous thereto.
2 . The method according to claim 1 , further comprising the step of:
mounting the device, including reading each write block of the device and meta data associated with the each write block.
3 . The method according to claim 1 , further comprising:
updating a lookup table based in part on the meta data; and
reading the new data based on the lookup table configured to map a logical address to a physical address.
4 . The method according to claim 1 , further comprising the step of:
optimizing the device, including linearly writing to a write block having a fewest active blocks and linearly writing meta data associated with each write block, wherein existing live blocks are packed to a front of the write block and rewritten to the device.
5 . A system for fast data storage on a block storage device, comprising:
the block storage device configured to perform actions comprising:
linearly writing new data to an empty write block;
tracking the location of the new data;
linearly writing meta data associated with the new data to a control field within said empty write block; and
unmounting the block storage device, including writing to each write block of the block storage device and writing meta data associated with the each write block,
wherein the linear writing of said new data and said meta data is done across said empty write block in a time-received order, and
wherein said new data and said associated meta data within said control field are written in both a front portion at the start of said empty write block and contiguous said new data and a back portion after data new data and contiguous thereto.
6 . The system according to claim 5 , further comprising:
a primary computer system in communication with the block storage device, wherein the primary computer system is configured to provide said empty write block.
7 . The system according to claim 5 , wherein said block storage device comprises a plurality of data blocks, each data block storing map information.
8 . A method for fast data storage on a block storage device, the method comprising the steps of:
obtaining an empty write block for writing new data;
linearly writing new data to said empty write block;
linearly writing at least one portion of meta-information associated with a plurality of the new data to a control field within said empty write block,
wherein the linear writing of said new data and said meta-information is done across said empty write block in a time-received order;
updating a lookup table based on an address where the new data is written to; and
unmounting the block storage device, including writing to each write block of the block storage device and writing meta data associated with the each write block,
wherein said new data and said associated meta data within said control field are written in both a front portion at the start of said empty write block and contiguous said new data and a back portion after data new data and contiguous thereto.
9 . The method according to claim 8 , further comprising:
defragging the block storage device if a first empty block and a second empty block is unavailable for writing the new data.
10 . A system for optimizing data access, comprising:
a block storage device configured to perform actions comprising:
linearly writing meta information and new data associated with a logical address to a control field within said empty write block,
wherein said linearly writing is done in a time-received order;
updating a lookup table based on an address of the empty write block and the logical address; and
reading the new data from a data storage based on the lookup table,
wherein said new data and said associated meta data within said control field are written in both a front portion at the start of said empty write block and contiguous said new data and a back portion after data new data and contiguous thereto.
11 . The system according to claim 10 , wherein the block storage device is a storage appliance, a NAND-flash drive, or a hybrid RAM/Disk drive storage device.
12 . The system according to claim 10 , wherein the lookup table is a reverse lookup table configured to enable looking up a physical location.