Patent ID: 9043531
Filing Date: 2015-05-26
Classification: G06F

Abstract:
1. A method of storing data in a flash storage device, the method comprising: receiving a plurality of data sectors from a host system, wherein each of the data sectors is associated with a host logical address; storing a plurality of data segments in the random access memory, wherein each data segment comprises one of the plurality of data sectors from the host system; mapping the host logical address of each of the plurality of data sectors to a flash logical address of a corresponding data segment, wherein the mapping to the flash logical address is based on the respective host logical address; calculating a channel assignment for each of the plurality of data segments based on the flash logical address of the respective data segment; allocating the plurality of data segments among a plurality of channels of a flash array based on the channel assignment for each of the plurality of data segments; generating a plurality of write commands for the plurality of allocated data segments; providing each of the plurality of write commands to a respective queue associated with a channel to which the write command is allocated; and for each queue storing write commands, sequentially sending the queued write commands to one or more flash memories via the channel to which the write commands are allocated, and sequentially providing a respective data segment in connection with sending each queued write command from the random access memory via the memory channel corresponding to the queue.