/Patent Tracker
MicrosoftGranted patentChips & hardwareInterest 2/10

Microsoft patents memory caching to speed up data transfers

Microsoft has been granted a patent for a method that keeps a record of memory locations ready for multiple data transfer requests. Instead of rebuilding these records every time data moves, the system reuses them and tracks usage to release memory only when all tasks are finished.

Why it mattersThis is a routine optimization that helps computer systems manage data flow more efficiently by reducing unnecessary processing steps.

In the filing’s own words

Caching a memory descriptor across input/output (I/O) requests. Based at least on receiving a request from a buffer consumer to register a buffer, a memory descriptor describing a layout of a set of physical memory pages assigned to the buffer is created. Creating the memory descriptor includes assigning and locking the set of physical memory pages to the memory descriptor. For each I/O request of a plurality of I/O requests on the buffer, at least a subset of the memory descriptor for use by the I/O request is returned, and a reference count is used to track the I/O request as pending on the memory descriptor. Later, the memory descriptor is destroyed, including unlocking the set of physical memory pages, based at least on the reference count indicating that there is no pending I/O request on the memory descriptor.

What exactly they claim (claim 1)

1. A method, implemented at a computer system that includes a processor, for caching a memory descriptor across a plurality of input/output (I/O) requests, the method comprising: creating a memory descriptor that describes a layout of a set of physical memory pages assigned to a buffer, the creating the memory descriptor including assigning and locking the set of physical memory pages to the memory descriptor; receiving a plurality of I/O requests on the buffer; for each I/O request of the plurality of I/O requests on the buffer: returning at least a subset of the memory descriptor for use by the I/O request, and using a reference count to track the I/O request as being pending on the memory descriptor; and releasing the memory descriptor, including unlocking the set of physical memory pages, based at least on the reference count indicating that there is no pending I/O request on the memory descriptor, wherein: an I/O request of the plurality of I/O requests comprises an offset and length identifying a subset of the buffer, and wherein returning at least the subset of the memory descriptor for use by the I/O request comprises returning a partial memory descriptor corresponding to the offset and length; or an I/O request of the plurality of I/O requests comprises an offset and length identifying an entirety of the buffer, and wherein returning at least the subset of the memory descriptor for use by the I/O request comprises returning the memory descriptor in its entirety.

Facts

Company
Microsoft (Microsoft Technology Licensing, LLC)
Official title
Caching a memory descriptor for plural input/output requests
Patent number
US12743380B2
Application number
18850985
Filed
Mar 23, 2023
Granted
Sep 22, 2026
Inventors
3
Claims
20

Classified under

G06F 12/0882 Physics & computingG06F 12/0246 Physics & computingG06F 12/0868 Physics & computingG06F 2212/7203 Physics & computing

More from Microsoft in Chips & hardware

Summaries are simplified from the filing’s own abstract and first claim. A patent filing is not a product announcement.
Patent data and drawings: U.S. Patent and Trademark Office (USPTO). Nebula is not affiliated with or endorsed by the USPTO.