US 11,755,239 B2
Methods and systems for processing read and write requests
Reyaz Ahmed, Fremont, CA (US); Aleksandr Sergeev Khasymski, San Jose, CA (US); Rahul Thekkalore Srinivasa, San Jose, CA (US); and Divyeshkumar Shah, San Jose, CA (US)
Assigned to NETAPP, INC., San Jose, CA (US)
Filed by NETAPP, INC., San Jose, CA (US)
Filed on Feb. 10, 2022, as Appl. No. 17/650,578.
Claims priority of provisional application 63/274,649, filed on Nov. 2, 2021.
Prior Publication US 2023/0137539 A1, May 4, 2023
Int. Cl. G06F 3/06 (2006.01); G06F 9/50 (2006.01); G06F 15/173 (2006.01)
CPC G06F 3/0655 (2013.01) [G06F 3/0604 (2013.01); G06F 3/067 (2013.01); G06F 3/0613 (2013.01); G06F 3/0659 (2013.01); G06F 9/505 (2013.01); G06F 15/17331 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
polling, by a processor, a receive queue at a first polling rate to identify input/output (“I/O”) requests received by the receive queue to read data from or write data to a storage device;
determining, by the processor that a hit rate has reached a threshold value, the hit rate indicating a number of pending I/O requests at the receive queue, in response to the receive queue being polled at the first polling rate;
modifying, by the processor, the first polling rate to a second polling rate, in response to the hit rate reaching the threshold value;
receiving, by the processor, an I/O request to write data to the storage device;
splitting, by the processor, the I/O request into a number of write requests directed to a storage controller managing the storage device; wherein the number of write requests vary based on processor workload and the hit rate;
issuing by the processor, remote direct memory access (“RDMA”) read requests simultaneously to a computing system for obtaining data for the I/O request; and
indicating, by the processor, completion of the I/O request, upon receiving an indication from the storage controller that each of the number of write requests is complete.