US 12,105,651 B2
Solid state drive with external software execution to effect internal solid-state drive operations
Joseph D. Tarango, Longmont, CO (US); Randal Eike, Lyons, CO (US); Michael Allison, Longmont, CO (US); and Eric Hoffman, Lafayette, CO (US)
Assigned to SK Hynix NAND Product Solutions Corp., Rancho Cordova, CA (US)
Filed by SK Hynix NAND Product Solutions Corp., Rancho Cordova, CA (US)
Filed on May 12, 2023, as Appl. No. 18/196,879.
Application 18/196,879 is a continuation of application No. 16/833,422, filed on Mar. 27, 2020, granted, now 11,687,471.
Prior Publication US 2023/0281138 A1, Sep. 7, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 3/06 (2006.01); G06F 1/28 (2006.01); G06F 13/10 (2006.01); G06F 13/16 (2006.01); G06F 13/40 (2006.01)
CPC G06F 13/1668 (2013.01) [G06F 1/28 (2013.01); G06F 13/102 (2013.01); G06F 13/4068 (2013.01)] 22 Claims
OG exemplary drawing
 
1. A computing system, comprising:
processing circuitry;
a peripheral control hub;
a plurality of solid state drives coupled to the peripheral control hub, each respective solid state drive of the solid state drives comprising respective mass storage memory and a respective configuration context describing an internal context of the respective solid state drive; and,
a system memory to have allocated operating space for different application software programs executed by the processing circuitry, the system memory comprising program code outside of the solid state drives to be responsible for executing, by the processing circuitry, internal solid state drive operations within each respective solid state drive of the plurality of solid state drives,
wherein the system memory comprises additional program code having visibility to the configuration context of each of the plurality of solid state drives, the additional program code for load balancing the solid state drives by at least determining an internal command queue state of each respective solid state drive of the plurality of solid state drives based on the respective configuration context, and when an internal command queue state of a first solid state drive of the plurality of solid state drives is indicative of being less full than a second of the solid state drives, sending a storage request to the first solid state drive.