Patent ID: 9734085
Date: 2017-08-15
CPC Classifications: G06F

Claim:
1. A method for performing DMA transmission between a host computer and a storage device, wherein the storage device includes a buffer memory and flash chips, the method comprising: at the host computer receiving a first IO request via an application program; allocating a first memory unit and a second memory unit, from a free memory unit pool of a buffer control block in the host computer, for the first IO request, wherein memory units in the buffer control block are in one-to-one correspondence with addresses in the buffer memory and the addresses in the buffer memory corresponding to the memory units in the free memory unit pool are in free states; sending a first DMA descriptor including an address of a memory location in the host computer, a logic address of the flash chips of the storage device, a first address used for the buffer memory of the storage device and a second address used for the buffer memory of the storage device, to the storage device, wherein the first address used for the buffer memory of the storage device corresponds to the first memory unit and the second address used for the buffer memory of the storage device corresponds to the second memory unit; at the storage device receiving, from the host computer, the first DMA descriptor; when the first DMA descriptor indicates a DMA write operation: at the host computer receiving the message; and releasing the first memory unit and the second memory unit.