US 11,734,430 B2
Configuration of a memory controller for copy-on-write with a resource controller
Nigel Edwards, Bristol (GB); Chris I. Dalton, Bristol (GB); and Keith Mathew McAuliffe, Houston, TX (US)
Assigned to Hewlett Packard Enterprise Development LP, Spring, TX (US)
Appl. No. 15/735,660
Filed by Hewlett Packard Enterprise Development LP, Houston, TX (US)
PCT Filed Apr. 22, 2016, PCT No. PCT/US2016/028902
§ 371(c)(1), (2) Date Dec. 12, 2017,
PCT Pub. No. WO2017/184168, PCT Pub. Date Oct. 26, 2017.
Prior Publication US 2018/0365428 A1, Dec. 20, 2018
Int. Cl. G06F 21/00 (2013.01); G06F 21/57 (2013.01); G06F 9/455 (2018.01); G06F 21/50 (2013.01); G06F 13/16 (2006.01)
CPC G06F 21/577 (2013.01) [G06F 9/455 (2013.01); G06F 9/45558 (2013.01); G06F 13/16 (2013.01); G06F 13/1668 (2013.01); G06F 21/50 (2013.01); G06F 2009/45583 (2013.01); G06F 2009/45587 (2013.01); G06F 2009/45591 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A method of a computing device comprising first and second hardware components interconnected by a packet-based memory fabric, the method comprising:
detecting an integrity violation associated with the first component of the computing device, wherein the first component is to execute at least a portion of an operating system (OS);
in response to the detection of the integrity violation, determining, with a resource controller of the computing device, to take a snapshot of memory accessible to the first component via a memory controller, the memory controller mapping location identifiers (IDs) to initial memory locations of the accessible memory for the first component;
in response to the determination and with the resource controller, configuring the memory controller to treat the location IDs as copy-on-write for the first component and not for the second component independent of the resource controller after the configuring, wherein the second component to implement at least a portion of a forensic analysis system;
with the memory controller configured for copy-on-write, and independent of the resource controller:
in response to a write packet comprising information identifying the first component as a source and indicating, for a write operation, a given one of the location IDs for which a copy-on-write mapping was not already created for the first component, create a copy-on-write mapping of the given location ID to an alternate memory location for the first component; and
after creating the copy-on-write mapping and in response to a read packet comprising information identifying the second component as a source and indicating, for a read operation, the given location ID, returning data stored in the initial memory location to which the given location ID is mapped for the second component.