Distributed multi-core memory initialization
First Claim
Patent Images
1. A method for causing a plurality of processing nodes to perform a boot process comprising a memory initialization task, comprising:
- dividing a memory initialization task into a plurality of memory initialization sub-tasks;
distributing the plurality of memory initialization sub-tasks amongst the plurality of processing nodes so that each memory initialization sub-task has a corresponding processing node by assigning one of the plurality of processing nodes a memory initialization sub-task of reading a serial presence detect (SPD) value from a DIMM memory, and assigning another of the plurality of processing nodes a memory initialization sub-task of executing complex initialization tasks that do not depend on the SPD value;
receiving sub-task results from the plurality of processing nodes; and
combining sub-task results from the plurality of processing nodes.
0 Assignments
0 Petitions
Accused Products
Abstract
In a system having a plurality of processing nodes, a control node divides a task into a plurality of sub-tasks, and assigns the sub-tasks to one or more additional processing nodes which execute the assigned sub-tasks and return the results to the control node, thereby enabling a plurality of processing nodes to efficiently and quickly perform memory initialization and test of all assigned sub-tasks.
19 Citations
16 Claims
-
1. A method for causing a plurality of processing nodes to perform a boot process comprising a memory initialization task, comprising:
-
dividing a memory initialization task into a plurality of memory initialization sub-tasks; distributing the plurality of memory initialization sub-tasks amongst the plurality of processing nodes so that each memory initialization sub-task has a corresponding processing node by assigning one of the plurality of processing nodes a memory initialization sub-task of reading a serial presence detect (SPD) value from a DIMM memory, and assigning another of the plurality of processing nodes a memory initialization sub-task of executing complex initialization tasks that do not depend on the SPD value; receiving sub-task results from the plurality of processing nodes; and combining sub-task results from the plurality of processing nodes. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A non-transitory computer readable storage medium storing at least one program configured for execution by at least one processor of a computer system, the at least one program comprising instructions to:
-
divide a memory initialization task into a plurality of memory initialization sub-tasks; distribute the plurality of memory initialization sub-tasks amongst the plurality of processing nodes so that each memory initialization sub-task has a corresponding processing node by assigning one of the plurality of processing nodes a memory initialization sub-task of reading a serial presence detect (SPD) value from a DIMM memory, and assigning another of the plurality of processing nodes a memory initialization sub-task of executing complex initialization tasks that do not depend on the SPD value; receive sub-task results from the plurality of processing nodes; and combine sub-task results from the plurality of processing nodes. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A method for causing a plurality of processing nodes to perform a boot process comprising a memory initialization task, comprising:
-
receiving a directed interrupt for a memory initialization sub-task from a processing node which generates the directed interrupt by writing one or more values to one or more registers, the memory initialization sub-task being one of a plurality of memory initialization sub-tasks that were generated by the processing node by dividing a memory initialization task; obtaining information from a memory array while executing the memory initialization sub-task; and returning the results of the memory initialization sub-task to the processing node. - View Dependent Claims (12, 13, 14)
-
-
15. A non-transitory computer readable storage medium storing at least one program configured for execution by at least one processor of a computer system, the at least one program comprising instructions to:
-
receive a directed interrupt for a memory initialization sub-task from a processing node which generates the directed interrupt by writing one or more values to one or more registers, the memory initialization sub-task being one of a plurality of memory initialization sub-tasks that were generated by the processing node by dividing a memory initialization task; obtain information from a memory array while executing the memory initialization sub-task; and return the results of the memory initialization sub-task to the processing node. - View Dependent Claims (16)
-
Specification