×

Coalescing multiple contexts into a single data transfer in a media controller architecture

  • US 8,200,857 B2
  • Filed: 11/23/2010
  • Issued: 06/12/2012
  • Est. Priority Date: 11/30/2009
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method of transferring data between a host device and a storage media coupled to a media controller, the method comprising:

  • receiving a host command requesting a data transfer;

    determining a total size of a data transfer between the host device and the media controller based on a corresponding host command request;

    generating one or more contexts for the media controller corresponding to the total size of the requested data transfer, each context corresponding to operations at one or more contiguous addresses of the storage media for the requested data transfer;

    associating, by the media controller, the one or more contexts with a transfer of data of the corresponding host command request between the host device and the storage media;

    wherein,if the data transfer is a write operation;

    transferring one or more data segments from the host device into a receive buffer, wherein a combined size of the one or more received data segments corresponds to the total size of the data transfer, wherein a size of each of the data transfer segments corresponds to a packet size of a communication protocol of the host device;

    transferring, in accordance with the one or more contexts, the one or more data segments from the receive buffer to the storage media, wherein a size of each of the one or more contexts is equal to an integer multiple of a storage boundary size of the storage media and wherein the size of the data transfer segments and the size of the contexts are substantially independent of one another; and

    if the requested data transfer is a read operation;

    retrieving, in accordance with the one or more contexts, data from the storage media into a transmit buffer, wherein the size of each of the one or more contexts is equal to an integer multiple of a storage boundary size of the storage media and wherein the size of the data transfer segments and the size of the contexts are substantially independent of one another;

    grouping the retrieved data into one or more segments wherein a combined size of the one or more retrieved data segments corresponds to the total size of the data transfer, wherein the size of each of the data transfer segments corresponds to a packet size of a communication protocol of the host device; and

    transmitting the one or more segments based on the total size of the data transfer.

View all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×