US 12,223,173 B2
Memory controller and data processing method for processing disordered read-out data
Bo-Chang Ye, Kaohsiung (TW); I-Ta Chen, New Taipei (TW); Wen-Shu Chen, Taipei (TW); and Kuo-Cyuan Kuo, Hsinchu County (TW)
Assigned to Silicon Motion, Inc., Hsinchu County (TW)
Filed by Silicon Motion, Inc., Hsinchu County (TW)
Filed on Mar. 2, 2023, as Appl. No. 18/116,801.
Claims priority of application No. 111110900 (TW), filed on Mar. 23, 2022.
Prior Publication US 2023/0305711 A1, Sep. 28, 2023
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0613 (2013.01) [G06F 3/0656 (2013.01); G06F 3/0679 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A data processing method, comprising:
reading a memory device in response to a read command to respectively read out a plurality of portions of predetermined data, wherein the read command is issued by a host device to read predetermined data and different tag values are assigned to different portions of the predetermined data;
writing the portions of the predetermined data that have been respectively read out from the memory device into a buffer memory of a memory controller to respectively complete data transfer of the portions of the predetermined data from the memory device to the buffer memory;
sequentially providing access information corresponding to each portion of the predetermined data in response to completion of the data transfer of the corresponding portion;
obtaining the access information of the portions of the predetermined data and accordingly generating a plurality of descriptors in chronological order of obtaining the access information;
receiving and buffering the descriptors in a descriptor pool;
sequentially selecting one descriptor from the descriptors buffered in the descriptor pool as a latest descriptor according to the tag values and providing the latest descriptor to a direct memory access (DMA) engine by a routing manager; and
reading the buffer memory according to the latest descriptor by the DMA engine to obtain at least a portion of the predetermined data.