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.
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 & computingMore from Microsoft in Chips & hardware
- Microsoft patents chips with liquid cooling built inside Oct 1, 2026
- Microsoft patents chip design that guesses code steps ahead Sep 8, 2026
- Microsoft patents 3D glass storage using laser light patterns Sep 8, 2026
- Microsoft patents hand-held radar reflectors for tracking movement Sep 8, 2026
- Microsoft patents video boost that reuses old frames to save power Sep 15, 2026
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.