Extended symmetrical multiprocessor address mapping
First Claim
1. A memory mapping method for the system memory address space of a multiprocessor computer system having a plurality of processing nodes, each processing node having a plurality of bus devices, the method comprising:
- dividing the system memory address space into multiple regions, wherein the number of regions equals the number of processing nodes in said microprocessor computer system, and wherein the amount of system memory address space encompassed by each one of said regions is inversely proportional to the number of said processing nodes;
assigning a different one of said regions to each one of said processing nodes, wherein each processing node has a local address space corresponding its assigned one of said regions;
attempting a local address space transaction in the processing node to which the corresponding one of said regions is assigned, wherein said local address space transaction is broadcast to each bus device in the corresponding node without broadcasting said local address space transaction to the other processing nodes in said multiprocessor computer system;
checking memory access rights for said local address space transaction; and
reissuing said local address space transaction to all of said processing nodes in said multiprocessor computer system if said checking determines improper access rights.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique for system memory space address mapping in a multiprocessor computer system is provided. The disclosed mapping architecture may be applied to a multiprocessor computer system having multiple processing nodes (SMP nodes), where each processing node may include multiple processors. The system memory address space is split into different regions such that each of the n SMP nodes is assigned 1/n of the total address space. Cache coherency state information is stored for the memory in each SMP node. Memory regions may further be assigned to operate in one of three modes: normal, migratory, or replicate. When operating in normal mode, transaction to an address space assigned to a particular node are tried only locally in that node first. Transactions may be sent globally to other nodes if an improper cache coherency state is returned or if the address corresponds to a memory region assigned to another node. In migratory mode transactions are always sent globally. And in replicate mode duplicate copies of the replicate memory region are assigned to each SMP node so that transactions are always tried locally first, and only sent globally if an improper cache coherency state is returned.
73 Citations
18 Claims
-
1. A memory mapping method for the system memory address space of a multiprocessor computer system having a plurality of processing nodes, each processing node having a plurality of bus devices, the method comprising:
-
dividing the system memory address space into multiple regions, wherein the number of regions equals the number of processing nodes in said microprocessor computer system, and wherein the amount of system memory address space encompassed by each one of said regions is inversely proportional to the number of said processing nodes; assigning a different one of said regions to each one of said processing nodes, wherein each processing node has a local address space corresponding its assigned one of said regions; attempting a local address space transaction in the processing node to which the corresponding one of said regions is assigned, wherein said local address space transaction is broadcast to each bus device in the corresponding node without broadcasting said local address space transaction to the other processing nodes in said multiprocessor computer system; checking memory access rights for said local address space transaction; and reissuing said local address space transaction to all of said processing nodes in said multiprocessor computer system if said checking determines improper access rights. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A memory mapping method for the system memory address space of a multiprocessor computer system having a plurality of processing nodes having memory, the method comprising:
-
dividing the system memory address space into multiple operating regions; assigning a particular operating mode to each operating region, wherein said particular operating mode is either normal mode, migratory mode, or replicate mode; further dividing the system memory address space into multiple mapping regions, wherein the number of mapping regions equals the number of processing nodes in said microprocessor computer system, and wherein the amount of system memory address space encompassed by each one of said mapping regions is inversely proportional to the number of said processing nodes; assigning a different one of said mapping regions to each one of said processing nodes, wherein each processing node has a local address space corresponding its assigned one of said mapping regions; attempting a local address space transaction in the node to which the corresponding one of said mapping regions is assigned, wherein; said local address space transaction is attempted without broadcasting said local address space transaction to the other processing nodes in said multiprocessor computer system if said local address space transaction corresponds an operating region assigned to normal mode or replicate mode; said local address space transaction broadcast to all processing nodes in said multiprocessor computer system if said local address space transaction corresponds an operating region assigned to migratory mode. - View Dependent Claims (7, 8, 9)
-
-
10. A multiprocessor computer system, comprising:
-
a plurality of processing nodes, wherein each processing node comprises a plurality of bus devices coupled by a lower-level bus structure; an upper level bus structure configured to interconnect said plurality of processing nodes; system memory comprising memory devices on each processing node and having a system memory address space divided into a region for each processing node; and wherein each processing node is configured to broadcast a system memory address space transaction to each bus device on that node and not broadcast the transaction to the other processing nodes if the transaction is addressed to the region corresponding to that node. - View Dependent Claims (11, 12, 13)
-
-
14. A multiprocessor computer system, comprising:
-
a plurality of processing nodes; an upper-level interconnect structure configured to couple said processing nodes; system memory partitioned among said processing node and addressable through a system memory address space; wherein a first portion of said system memory address space is accessed in a normal mode and a second portion of said system memory address space is accessed in a migratory mode; wherein in said normal mode, transactions to system memory address space corresponding to a particular node are attempted without broadcasting the transaction to the other processing nodes; and wherein in said migratory mode, transactions to system memory address space corresponding to a particular node are broadcast to all processing nodes. - View Dependent Claims (15, 16, 17, 18)
-
Specification