US 12,019,909 B2
IO request pipeline processing device, method and system, and storage medium
Bo Zhang, Shandong (CN)
Assigned to INSPUR SUZHOU INTELLIGENT TECHNOLOGY CO., LTD., Jiangsu (CN)
Appl. No. 18/270,138
Filed by INSPUR SUZHOU INTELLIGENT TECHNOLOGY CO., LTD., Jiangsu (CN)
PCT Filed Sep. 28, 2021, PCT No. PCT/CN2021/121206
§ 371(c)(1), (2) Date Jun. 28, 2023,
PCT Pub. No. WO2022/151766, PCT Pub. Date Jul. 21, 2022.
Claims priority of application No. 202110057735.8 (CN), filed on Jan. 15, 2021.
Prior Publication US 2023/0393782 A1, Dec. 7, 2023
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0656 (2013.01) [G06F 3/0613 (2013.01); G06F 3/0658 (2013.01); G06F 3/0679 (2013.01)] 15 Claims
OG exemplary drawing
 
1. An Input/Output (IO) request pipeline processing device, comprising an IO state buffer and a pipeline controller, wherein
the IO state buffer comprises multiple elements for storing context information of IO requests, and each element corresponds to an IO request; the context information comprises a module calling sequence generated by a Central Processing Unit (CPU) in a Solid State Disk (SSD) controller, wherein the module calling sequence indicates a functional module scheduling sequence corresponding to each of the IO requests; and
the pipeline controller is configured to perform pipeline control on the IO requests according to the module calling sequence of each of IO requests;
wherein the pipeline controller comprises:
a first processor, configured to read, after receiving an element addition notification sent by the CPU and due to a new IO request is received by the SSD, a module calling sequence in the newly added element, determine a first functional module to be called according to the module calling sequence, and send an IO request corresponding to the newly added element to the first functional module to be called for operation processing; and
a second processor, configured to receive an operation completion notification sent by a functional module in a system, read from an IO state buffer a next functional module to be processed corresponding to an operation completed IO request, and send the operation completed IO request to the next functional module to be processed; and determine a current IO request to be processed by an operation completed functional module according to a scheduling algorithm, and send the current IO request to be processed to the operation completed functional module for operation processing.