US 12,260,117 B2
Secure command memory buffer transfers in a low trust environment
Phillip R. Colline, Tustin, CA (US); Timothy Ted Walker, Longmont, CO (US); Steven Williams, Longmont, CO (US); Hemant Vitthalrao Mane, Pune (IN); and Jason Matthew Feist, Minneapolis, MN (US)
Assigned to Seagate Technology, LLC, Fremont, CA (US)
Filed by Seagate Technology, LLC, Fremont, CA (US)
Filed on Jul. 14, 2022, as Appl. No. 17/864,900.
Prior Publication US 2024/0020050 A1, Jan. 18, 2024
Int. Cl. G06F 3/00 (2006.01); G06F 3/06 (2006.01)
CPC G06F 3/0656 (2013.01) [G06F 3/0622 (2013.01); G06F 3/0659 (2013.01); G06F 3/0679 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
establishing an operative connection between a client device coupled to a storage device across an interface in a distributed processing network, the storage device comprising a device controller, a main non-volatile memory (NVM), a write cache and a volatile memory;
processing a normal write command issued by the client device to the storage device by:
using the device controller to place normal writeback data received from the client device into the write cache; and
transferring, by the device controller, the normal writeback data from the write cache to the main NVM;
processing a normal read command issued by the client device to the storage device by:
allocating, by the device controller, a first portion of the volatile memory as a read buffer;
using the device controller to retrieve normal readback data from the main NVM to the read buffer; and
transferring, by the device controller, the retrieved normal readback data from the read buffer to the client device;
processing a bypass write command issued by the client device to the storage device by:
allocating, by the device controller, a second portion of the volatile memory as a first command memory buffer (CMB) for use by the client device;
using the client device to subsequently place bypass writeback data directly into the first CMB; and
transferring, by the device controller, the bypass writeback data from the write cache to the main NVM; and
processing a bypass read command issued by the client device to the storage device by:
allocating, by the device controller, a third portion of the volatile memory as a second command memory buffer (CMB) for use by the client device; and
retrieving, by the device controller, bypass readback data from the NVM to the CMB for direct access by the client device without further intervention by the device controller.