Patent ID: 8769192

Claim:
A data read method, for processing a plurality of host read commands from a host system by using a flash memory controller to read data corresponding to the host read commands from a plurality of flash memory modules, wherein the flash memory controller is coupled to the flash memory modules respectively through a plurality of data input/output buses, and each of the flash memory modules has a plurality of physical blocks, the data read method comprising: configuring a plurality of logical blocks, wherein the logical blocks are mapped to a part of the physical blocks in the flash memory modules; receiving command queuing information related to the host read commands from the host system by using a serial advanced technology attachment (SATA) native command queuing (NCQ) protocol, wherein each of the host read commands corresponds to one of the logical blocks, and each of the logical blocks corresponds to one of the data input/output buses; re-arranging the host read commands according to the data input/output buses and a non-data-input/output bus condition corresponding to the host read commands and generating a read command processing sequence; processing the host read commands to read the data corresponding to the host read commands from the flash memory modules according to the read command processing sequence; after one of the host read commands in the read command processing sequence is processed, informing the host to read the data corresponding to the one of the host read commands in the read command processing sequence; and transmitting the data corresponding to the one of the host read commands to the host via the SATA NCQ protocol after receiving a ready signal from the host system.