Memory system for multiple clients
OwnerPär S. Westlund, Lars-Olof B. Svenssoninventors
Life of this patent
Estimating the term…
Abstract
Output is produced from a content addressable memory block. Bus select logic is configured to operate on data from a selected client bus from a plurality of client buses. Each client bus includes a key bus section and an operation bus section. A plurality of output indices is stored within a key memory. Each output index in the plurality of output indices is stored with an associated key. A key memory index is generated based on a search key received from the key bus section for the selected client bus. The key memory index is used to access from the key memory an output index from the plurality of output indices. The output index is output to a priority bus associated with the selected client bus output logic.
Claims20
A memory system comprising:
- an interface to a plurality of clients, the interface comprising:
- a plurality of operation buses used to pass instructions from the clients to the memory system, wherein every client in the plurality of clients is connected to one operation bus in the plurality of operation buses,
- a plurality of key buses used to pass search keys from the clients to the memory system, wherein every client in the plurality of clients is connected to one key bus in the plurality of key buses, and
- a plurality of priority buses used to pass results from the memory system to the clients, wherein every client in the plurality of clients is connected to one priority bus in the plurality of priority buses;
- and
- a plurality of memory blocks, each memory block in the plurality of memory blocks comprising:
- bus select logic connected to at least one operation bus in the plurality of operation buses and at least one key bus in the plurality of key buses, the bus select logic being configured to operate on data from a selected operation bus and a selected key bus for a selected client from a plurality of clients,
- key memory that stores a plurality of output indices,
- select logic that selects an output index from the plurality of output indices based on key data received from the selected key bus and based on operation data received from the selected operation bus, and
- output logic connected to the plurality of priority buses, wherein the output logic outputs the output index to a priority bus for the selected client.
A memory system block comprising:
- bus select logic connected to a plurality of client buses, each client bus including a key bus section and an operation bus section, the bus select logic being configured to operate on data from a selected client bus from the plurality of client buses;
- key memory that stores a plurality of output indices, each output index in the plurality of output indices being stored with an associated key;
- select logic that based on a search key received from the key bus section for the selected client bus generates a key memory index and uses the key memory index to access from the key memory an output index from the plurality of output indices;
- output logic connected to a plurality of priority buses, each of the priority buses being associated with a client bus from the plurality of buses;
- wherein the output logic outputs the output index to a priority bus associated with the selected client bus.
A method for producing output from a content addressable memory block, the method implemented using hardware within the content addressable memory block and the method comprising:
- configuring bus select logic to operate on data from a selected client bus from a plurality of client buses, each client bus including a key bus section and an operation bus section;
- storing a plurality of output indices within a key memory, each output index in the plurality of output indices being stored with an associated key;
- generating a key memory index based on a search key received from the key bus section for the selected client bus;
- using the key memory index to access from the key memory an output index from the plurality of output indices;
- outputting the output index to a priority bus associated with the selected client bus output logic.
Dependencies are inferred from the claim text.