Buffering of Data Transfers for Direct Access Block Devices
First Claim
1. A method of transferring, by a media controller, data associated with a host data transfer between a host device and a storage media, the method comprising:
- by a buffer layer module of the media controller;
segmenting the host data transfer into one or more data transfer segments, wherein each data transfer segment corresponds to at least a portion of the data;
allocating a number of physical buffers to a virtual circular buffer for buffering the one or more data transfer segments; and
transferring, by the virtual circular buffer, each of the data transfer segments between the host device and the storage media through the allocated physical buffers.
8 Assignments
0 Petitions
Accused Products
Abstract
Described embodiments provide a method of transferring, by a media controller, data associated with a host data transfer between a host device and a storage media. A buffer layer module of the media controller segments the host data transfer into one or more data transfer segments. Each data transfer segment corresponds to at least a portion of the data. The buffer layer module allocates a number of physical buffers to a virtual circular buffer for buffering the one or more data transfer segments. The buffer layer module transfers, by the virtual circular buffer, each of the data transfer segments between the host device and the storage media through the allocated physical buffers.
-
Citations
20 Claims
-
1. A method of transferring, by a media controller, data associated with a host data transfer between a host device and a storage media, the method comprising:
by a buffer layer module of the media controller; segmenting the host data transfer into one or more data transfer segments, wherein each data transfer segment corresponds to at least a portion of the data; allocating a number of physical buffers to a virtual circular buffer for buffering the one or more data transfer segments; and transferring, by the virtual circular buffer, each of the data transfer segments between the host device and the storage media through the allocated physical buffers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
11. A machine-readable storage medium, having encoded thereon program code, wherein, when the program code is executed by a machine, the machine implements a method of transferring, by a media controller, data associated with a host data transfer between a host device and a storage media, the method comprising:
by a buffer layer module of the media controller; segmenting the host data transfer into one or more data transfer segments, wherein each data transfer segment corresponds to at least a portion of the data; allocating a number of physical buffers to a virtual circular buffer for buffering the one or more data transfer segments; and transferring, by the virtual circular buffer, each of the data transfer segments between the host device and the storage media through the allocated physical buffers. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
19. A media controller that transfers data associated with a host data transfer between a host device and at least one storage media, the media controller comprising:
-
a host layer module adapted to process the host data transfer; a buffer layer module adapted to i) segment the host data transfer into one or more data transfer segments, wherein each data transfer segment corresponds to at least a portion of the data, and ii) allocate one or more physical buffers to a virtual circular buffer; wherein, if the host data transfer is a host write operation; the host layer module transfers an initial number of data transfer segments to corresponding ones of an initial number of allocated physical buffers of the virtual circular buffer, the initial number of data transfer segments equivalent to the initial number of allocated physical buffers; the buffer layer module transfers, in parallel, i) the initial number of data transfer segments to the storage media from the virtual circular buffer, and ii) one or more subsequent numbers of data transfer segments from the host layer module to corresponding ones of allocated physical buffers of the virtual circular buffer for remaining data transfer segments;
otherwise, if the host data transfer is a host read operation;the buffer layer module transfers an initial number of data transfer segments from the storage media to corresponding ones of the allocated physical buffers of the virtual circular buffer, the initial number of data transfer segments equivalent to the initial number of allocated physical buffers; and the buffer layer module transfers, in parallel, i) the initial number of data transfer segments from the virtual circular buffer to the host layer module, and ii) one or more subsequent numbers of data transfer segments from storage media to subsequent corresponding ones of allocated physical buffers of the virtual circular buffer for remaining data transfer segments. - View Dependent Claims (20)
-
Specification