US 12,282,657 B2
Dynamic and shared CMB and HMB allocation
Shay Benisty, Beer Sheva (IL)
Assigned to Sandisk Technologies, Inc., Milpitas, CA (US)
Filed by Western Digital Technologies, Inc., San Jose, CA (US)
Filed on Sep. 20, 2022, as Appl. No. 17/949,132.
Prior Publication US 2024/0094911 A1, Mar. 21, 2024
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0611 (2013.01) [G06F 3/0656 (2013.01); G06F 3/0679 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A data storage device, comprising:
a controller, wherein the controller comprises a controller memory buffer (CMB) and a CMB-host memory buffer (HMB) scheduler, and wherein the CMB-HMB scheduler is configured to:
associate both the CMB and an HMB of a host device as a single buffer pool, wherein the single buffer pool comprises a plurality of CMB buffers and a plurality of HMB buffers;
allocate either a CMB buffer from the plurality of CMB buffers or an HMB buffer from the plurality of HMB buffers, wherein the allocating is based on a tradeoff between latency and performance between using the CMB or using the HMB to store data;
determine that an access request to write data to the HMB has been initiated;
determine whether a utilization of the CMB is less than a utilization threshold;
allocate the CMB buffer for the access request when the utilization of the CMB is less than the utilization threshold; and
issue a CMB write command to write the data to the CMB instead of the HMB.