×

Out of order read transfer with host memory buffer

  • US 10,642,496 B2
  • Filed: 04/01/2016
  • Issued: 05/05/2020
  • Est. Priority Date: 04/01/2016
  • Status: Active Grant
First Claim
Patent Images

1. A method for data transfer in a memory device, the method comprising:

  • receiving a read command from a host, wherein the read command specifies segments of data to be read from non-volatile memory in the memory device;

    dynamically allocating memory space in a host memory buffer in the host for the read command, wherein a size of the allocated memory space is equal to a total data a transfer size of the read command;

    reading the segments of data from the non-volatile memory in an order different from an order specified in the read command;

    storing the segments of data in the host memory buffer, wherein each segment of data is stored in a location in the host memory buffer that corresponds to a location of the segment of data in the order specified in the read command, wherein even though the segments of data are read out of order from the non-volatile memory, the segments of data are stored in order in the host memory buffer;

    determining whether a last segment of data was read from the non-volatile memory;

    in response to determining that the last segment of data was read from the non-volatile memory, performing the following in parallel;

    reading the segments of data stored in the host memory buffer in the order in which they are stored in the host memory buffer;

    identifying memory locations in a host memory that are designated as a host buffer for data transfers using a scatter gather list (SGL); and

    transferring the segments of data from the host memory buffer to the locations in the host buffer identified in the SGL, wherein the segments of data are transferred in the order in which they are stored in the host memory buffer; and

    de-allocating the memory space in the host memory buffer.

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