US 11,748,028 B2
Data processing on memory controller
Amin Farmahini, Sunnyvale, CA (US); Benjamin Steel Gelb, Sunnyvale, CA (US); Gurushankar Rajamani, Sunnyvale, CA (US); and Sukalpa Biswas, Fremont, CA (US)
Assigned to Google LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Nov. 23, 2022, as Appl. No. 17/993,802.
Application 17/993,802 is a continuation of application No. 17/348,558, filed on Jun. 15, 2021, granted, now 11,513,724.
Application 17/348,558 is a continuation of application No. 16/930,172, filed on Jul. 15, 2020, granted, now 11,137,936, issued on Oct. 5, 2021.
Claims priority of provisional application 62/964,031, filed on Jan. 21, 2020.
Prior Publication US 2023/0161498 A1, May 25, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 3/00 (2006.01); G06F 3/06 (2006.01)
CPC G06F 3/0655 (2013.01) [G06F 3/0605 (2013.01); G06F 3/0679 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
a plurality of memory devices;
a memory controller configured to read from and write to at least the plurality of memory devices and perform operations comprising:
obtaining a first request to access a first data of a first size corresponding to the first request and a second request to access a second data of a second size corresponding to the second request at a first memory device of the plurality of memory devices; and
initiating interleaved processing of the respective data corresponding to the first and second requests, wherein the interleaved processing comprises alternating between accessing chunks of the first data corresponding to the first request and accessing chunks of the second data corresponding to the second request;
receiving an indication to stop processing requests to access data at the first memory device and to initiate processing requests to access data at a second memory device of the plurality of memory devices;
determining that the respective data corresponding to the first and second requests have not yet been fully processed at the time of receiving the indication; and
in response, performing operations for remaining portions of the first data and the second data, the performing comprising:
when the remaining portions satisfy a criterion, continuing the interleaved processing until a shorter one of the first data and the second data has been fully processed, and storing a new remaining portion of a longer one of the first data and the second data in memory; and
when the remaining portions do not satisfy the criterion, storing the remaining portions of the first data and the second data in memory for a particular amount of time, and
after the particular amount of time, resuming the interleaved processing of the remaining portions at the first memory device until a shorter one of the first data and the second data has been fully processed.