Background memory manager that determines if data structures fits in memory with memory state transactions map
First Claim
1. A background memory manager (BMM) for managing a memory in a data processing system, the BMM comprising:
- circuitry for transfer a data structure to and from an outside device and to and from a memory; and
a communication link;
management logic coupled to a processor by the communication link and configured to determine if the data structure fits into the memory, to decide where, in a plurality of regions in the memory, to store the data structure, to perform data transfers between the outside device and the memory, to maintain a memory state map according to memory transactions made, and to inform the processor of new data and its location.
7 Assignments
0 Petitions
Accused Products
Abstract
A background memory manager (BMM) for managing a memory in a data processing system has circuitry for transferring data to and from an outside device and to and from a memory, a memory state map associated with the memory, and a communication link to a processor. The BMM manages the memory, determining if each data structure fits into the memory, deciding exactly where to place the data structure in memory, performing all data transfers between the outside device and the memory, and maintaining the memory state map according to memory transactions made, and informing the processor of new data and its location. In preferred embodiments the BMM, in the process of storing data structures into the memory, provides an identifier for each structure to the processor. The system is particularly applicable to Internet packet processing in packet routers.
-
Citations
25 Claims
-
1. A background memory manager (BMM) for managing a memory in a data processing system, the BMM comprising:
-
circuitry for transfer a data structure to and from an outside device and to and from a memory; and a communication link; management logic coupled to a processor by the communication link and configured to determine if the data structure fits into the memory, to decide where, in a plurality of regions in the memory, to store the data structure, to perform data transfers between the outside device and the memory, to maintain a memory state map according to memory transactions made, and to inform the processor of new data and its location. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A data processing system, comprising:
-
a processor; a memory coupled to the processor; and a background memory manager (BMM) coupled to the memory and the processor, the BMM including circuitry to transfer a data structure to and from an outside device and to and from the memory and including management logic configured to determine if the data structure fits into the memory, to decide where, in a plurality of regions in the memory, to store the data structure, to perform data transfers between the outside device and the memory, to maintain a memory state map according to memory transactions made, and to inform the processor of new data and its location. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A network packet router, comprising:
-
an input/output (I/O) device configured to receive and to send a packet on the network; a processor; a memory coupled to the processor; and a background memory manager (BMM) coupled to the memory and the processor, the BMM including circuitry configured to transfer the packet to and from the I/O device and to and from the memory and including management logic configured to determine if the packet fits into the memory, to decide where, in a plurality of regions in the memory, to store the packet, to perform data transfers between the I/O device and the memory, to maintain a memory state map according to memory transactions made, and to inform the processor of new data and its location. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A method for managing a memory in a data processing system having a processor, the method comprising:
-
(a) transferring a data structure to and from an outside device and to and from the memory by circuitry in a background memory manager (BMM); (b) determining by the BMM if the data structure from the outside device will fit into available space in the memory; (c) deciding by the BMM exactly where, in a plurality of regions in the memory, to store the data structure; and (d) updating a memory state map in the BMM when a memory transaction is made. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification