Buffered freepointer management memory system
Abstract
A system and method of buffered freepointer management to handle burst traffic to fixed size structures in an external memory system. A circular queue stores implicitly linked free memory locations, along with an explicitly linked list in memory. The queue is updated at the head with newly released locations, and new locations from memory are added at the tail. When a freed location in the queue is reused, external memory need not be updated. When the queue is full, the system attempts to release some of the freepointers such as by dropping them if they are already linked, updating the linked list in memory only if those dropped are not already linked. Latency can be further reduced by loading new locations from memory when the queue is nearly empty, rather than waiting for empty condition, and by writing unlinked locations to memory when the queue is nearly full.
- Inventors:
- Issue Date:
- Research Org.:
- International Business Machines Corp., Armonk, NY (United States)
- Sponsoring Org.:
- USDOE
- OSTI Identifier:
- 1805431
- Patent Number(s):
- 10901887
- Application Number:
- 15/982,792
- Assignee:
- International Business Machines Corporation (Armonk, NY)
- DOE Contract Number:
- B621073
- Resource Type:
- Patent
- Resource Relation:
- Patent File Date: 05/17/2018
- Country of Publication:
- United States
- Language:
- English
Citation Formats
Jacob, Philip, and Strenski, Philip N. Buffered freepointer management memory system. United States: N. p., 2021.
Web.
Jacob, Philip, & Strenski, Philip N. Buffered freepointer management memory system. United States.
Jacob, Philip, and Strenski, Philip N. Tue .
"Buffered freepointer management memory system". United States. https://www.osti.gov/servlets/purl/1805431.
@article{osti_1805431,
title = {Buffered freepointer management memory system},
author = {Jacob, Philip and Strenski, Philip N.},
abstractNote = {A system and method of buffered freepointer management to handle burst traffic to fixed size structures in an external memory system. A circular queue stores implicitly linked free memory locations, along with an explicitly linked list in memory. The queue is updated at the head with newly released locations, and new locations from memory are added at the tail. When a freed location in the queue is reused, external memory need not be updated. When the queue is full, the system attempts to release some of the freepointers such as by dropping them if they are already linked, updating the linked list in memory only if those dropped are not already linked. Latency can be further reduced by loading new locations from memory when the queue is nearly empty, rather than waiting for empty condition, and by writing unlinked locations to memory when the queue is nearly full.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {2021},
month = {1}
}