High speed memory control and I/O processor system
First Claim
1. A method of improving performance for a computer processor, said method comprising:
- reducing memory accesses normally performed by a processor by offloading tasks to an input/output processor;
dividing memory storage tasks performed by said input/output processor into high frequency memory components and low frequency memory components;
storing said high frequency memory components in a high-speed memory; and
storing said low frequency memory components in a slow-speed memory.
5 Assignments
0 Petitions
Accused Products
Abstract
An input/output processor for speeding the input/output and memory access operations for a processor is presented. The key idea of an input/output processor is to functionally divide input/output and memory access operations tasks into a compute intensive part that is handled by the processor and an I/O or memory intensive part that is then handled by the input/output processor. An input/output processor is designed by analyzing common input/output and memory access patterns and implementing methods tailored to efficiently handle those commonly occurring patterns. One technique that an input/output processor may use is to divide memory tasks into high frequency or high-availability components and low frequency or low-availability components. After dividing a memory task in such a manner, the input/output processor then uses high-speed memory (such as SRAM) to store the high frequency and high-availability components and a slower-speed memory (such as commodity DRAM) to store the low frequency and low-availability components. Another technique used by the input/output processor is to allocate memory in such a manner that all memory bank conflicts are eliminated. By eliminating any possible memory bank conflicts, the maximum random access performance of DRAM memory technology can be achieved.
410 Citations
29 Claims
-
1. A method of improving performance for a computer processor, said method comprising:
-
reducing memory accesses normally performed by a processor by offloading tasks to an input/output processor;
dividing memory storage tasks performed by said input/output processor into high frequency memory components and low frequency memory components;
storing said high frequency memory components in a high-speed memory; and
storing said low frequency memory components in a slow-speed memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An input/output processor, said input/output processor interfacing a main processor with a slow-speed memory, said input/output processor comprising:
-
a high-speed memory;
a counter management module, said counter management module for handling at least one statistics counter, said counter management module storing recent counter updates for said statistics counter in said high-speed memory and storing periodically updated counter values in said main memory; and
a FIFO management module, said FIFO management module for managing at least one FIFO queue. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. An apparatus for improving performance for a processor, said apparatus situated between said processor and a slow-speed memory system, said apparatus comprising:
-
a high-speed memory system; and
a memory access pattern aware controller, said reducing memory accesses normally performed said processor, said memory access pattern aware controller dividing memory access tasks requested by processor into high frequency memory components and low frequency memory components, said memory access pattern aware controller storing said high frequency memory components in said high-speed memory, said memory access pattern aware controller storing said low frequency memory components in said slow-speed memory. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A method of improving performance for a computer processor, said method comprising:
-
dividing a set of tasks normally performed by a processor into a compute-intensive portion and an input/output-intensive portion;
performing said compute-intensive portion with said computer processor; and
performing said input/output-intensive portion with an input/output processor coupled to said computer processor wherein said input/output processor comprises control logic, a high-speed memory, and an interface to a slow-speed off-chip memory. - View Dependent Claims (28, 29)
-
Specification