Legal claims defining the scope of protection, as filed with the USPTO.
1. A storage memory direct access (SMDA) provider device comprising: an interface to communicate with a consumer machine; an SMDA controller to communicate with the interface, the SMDA controller including: a pin module to pin a storage memory region to a memory address of the consumer machine, the storage memory region corresponding to a storage range of a storage device requested by the consumer machine, and an unpin module to atomically commit data in the storage memory region accessed by the consumer machine via the memory address, wherein the SMDA controller is to receive a plurality of data commit requests from the consumer machine, each of the data commit requests identifying different respective storage memory regions, wherein the unpin module is to aggregate data in each of the different respective storage memory regions until it is determined by the unpin module that an implicit consistency point has been reached, based on a threshold or time-based schedule, and wherein the unpin module is to atomically commit the aggregated data to a persistent region of a shared storage pool.
2. The SMDA provider device of claim 1 , wherein the SMDA controller further includes an upcall module to send a notification to the consumer machine via the interface if a trigger event affecting the storage memory region is detected.
3. The SMDA provider device of claim 2 , wherein the consumer machine is among a plurality of consumer machines, and the trigger event is a request from another consumer machine of the plurality of consumer machines to access the storage range.
4. The SMDA provider device of claim 2 , wherein the trigger event is: a non-SMDA access of the storage memory region or the storage range, or a request to the SMDA controller from another consumer machine to atomically commit data in the storage memory region, the consumer machine and the another consumer machine sharing the storage memory region.
5. The SMDA provider device of claim 1 , wherein the unpin module is to release the storage memory region, and the pin module is to copy data from the storage range to the storage memory region.
6. The SMDA provider device of claim 1 , wherein the SMDA controller is to discard data in the storage memory region after a failure affecting the SMDA controller if the SMDA controller did not receive a consumer machine request to atomically commit the data prior to the failure.
7. The SMDA provider of claim 1 , wherein the unpin module is to atomically commit the aggregated data in the different respective storage memory regions in an order that the data commit requests were received by the SMDA controller.
8. The SMDA provider device of claim 1 , wherein the SMDA controller is to coordinate, via the interface, with other SMDA provider devices to support the shared storage pool, and to pin a storage memory region in at least one of the other SMDA provider devices to a memory address of at least one consumer machine.
9. The SMDA provider of claim 1 , wherein the storage device is non-volatile memory or a SCSI array, and the interface includes a memory bus interface.
10. A method comprising: pinning, by a storage memory direct access (SMDA) provider, a storage memory region to a memory address of a consumer machine in response to a pin command from the consumer machine, the storage memory region being available to the consumer machine for data access via the memory address, and the storage memory region corresponding to a storage range of a storage device requested in the pin command; atomically committing, by the SMDA provider, data in the storage memory region in response to an unpin command from the consumer machine; and sending an upcall notification to the consumer machine when a trigger event affecting the storage memory region is detected.
11. The method of claim 10 , wherein the trigger event is: a pin command from another consumer machine to request access to the storage range, an unpin command from another consumer machine sharing the storage memory region with the consumer machine to atomically commit data in the storage memory region, a non-SMDA access of the storage memory region or the storage range, or an atomic commit of data in the storage memory region scheduled by the SMDA provider to establish a consistency point.
12. The method of claim 10 , further comprising: receiving a plurality of unpin commands by the SMDA provider, the unpin commands identifying respective storage memory regions; and atomically committing data of the respective storage memory regions in an order that the unpin commands were received by the SMDA provider.
13. A non-transitory machine readable medium comprising instructions executable by a processor of a processor-based system to: send a pin command to a storage memory direct access (SMDA) provider to request access to a storage range of a storage device; receive from the SMDA provider a memory address addressable by the processor, the memory address mapped to a storage memory region of the SMDA provider corresponding to the storage range requested in the pin command; access data in the storage memory region via the memory address; send an unpin command to the SMDA provider to request an atomic commit of data in the storage memory region; and respond to an upcall notification from the SMDA provider, the content of the upcall notification based on a type of trigger event detected by the SMDA provider.
14. The non-transitory machine readable medium of claim 13 , wherein the instructions to respond to an upcall notification is to send an unpin command to the SMDA provider to release the storage memory region and to send a subsequent pin command to the SMDA provider to request access to the storage range.
Unknown
April 9, 2019
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.