IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0235898
(2002-09-04)
|
발명자
/ 주소 |
|
출원인 / 주소 |
|
대리인 / 주소 |
Schwegman, Lundberg, Woessner &
|
인용정보 |
피인용 횟수 :
26 인용 특허 :
7 |
초록
▼
A remote translation mechanism for a multi-node system. One embodiment of the invention provides a method for remotely translating a virtual memory address into a physical memory address in a multi-node system. The method includes providing the virtual memory address at a source node, determining th
A remote translation mechanism for a multi-node system. One embodiment of the invention provides a method for remotely translating a virtual memory address into a physical memory address in a multi-node system. The method includes providing the virtual memory address at a source node, determining that the virtual memory address is to be sent to a remote node, sending the virtual memory address to the remote node, and translating the virtual memory address on the remote node into a physical memory address using a remote-translation table (RTT). The RTT contains translation information for an entire virtual memory address space associated with the remote node.
대표청구항
▼
1. A method for remotely translating a virtual memory address into a physical memory address in a multi-node system, the method comprising:providing the virtual memory address at a source node; determining that the virtual memory address is to be sent to a remote node; sending the virtual memory add
1. A method for remotely translating a virtual memory address into a physical memory address in a multi-node system, the method comprising:providing the virtual memory address at a source node; determining that the virtual memory address is to be sent to a remote node; sending the virtual memory address to the remote node; and translating the virtual memory address on the remote node into a physical memory addressing using a remote-translation table (RTT), wherein the RTT contains translation information for an entire virtual memory address space associated with the remote node. 2. The method of claim 1, wherein the determining that the virtual memory address is to be sent to the remote node includes determining that a virtual node field does not match the source node.3. The method of claim 1, wherein the sending includes sending the virtual memory address to the remote node via an interconnection network.4. The method of claim 1, wherein the translating of the virtual memory address using the RTT includes generating a status flag to indicate whether the RTT is able to translate the virtual memory address into a valid physical memory address space on the remote node.5. The method of claim 1, wherein the translating of the virtual memory address using the RTT includesgenerating a write-enable flag to indicate whether a write is permitted to a region referenced by the virtual memory address, and preventing the write from occurring if the write-enable flag is not set. 6. The method of claim 1, wherein the method further comprises sending a global address space identifier (GASID) to the remote node along with the virtual memory address, and wherein the translating includes using the GASID to translate the virtual memory address into a physical memory address.7. A computerized method implemented in a multi-node system, the computerized method comprising;providing a virtual memory address at a source node as a function of a virtual address from a load or a store instruction; determining a virtual node identifier from the virtual memory address; determining a physical node identifier of a remote node according to the virtual node identifier and a reference mechanism; sending a remote virtual memory address to the remote node identified by the physical node identifier; and translating the remote virtual memory address on the remote node into a physical memory address. 8. The computerized method of claim 7, wherein the determining the physical node identifier of a remote node according to the virtual node identifier includes combining the virtual node identifier with a base node identifier to determine the physical node identifier to the remote node.9. The computerized method of claim 8, wherein the combining includes adding the virtual node identifier to the base node identifier to determine the physical node identifier of the remote node, wherein the base node identifier is maintained by, and unique to, the source node.10. The computerized method of claim 7, wherein determining the physical node identifier of a remote node according to the virtual node identifier includes using the virtual node identifier as an index into a look-up table to determine the physical node identifier to the remote node.11. The computerized method of claim 7, wherein the sending of the remote virtual memory address includes sending a remote virtual memory address that includes one or more portions of the virtual memory address.12. The computerized method of claim 7, wherein the translating includes translating the remote virtual memory address on the remote node into a physical memory address according to a remote-translation table (RTT).13. The computerized method of claim 7, wherein the computerized method further comprises sending a global address space identifier (GASID) to the remote node along with the remote virtual memory address, and wherein the translating includes translating the remote virtual memory address into a physical memory address based on the GASID.14. A method for translating a virtual memory address in a multi-node system, the method comprising:providing a virtual memory address on a local node as a function of a virtual address from a load or a store instruction; identifying a virtual node associated with the virtual memory address; determining if the virtual node corresponds to the local node; translating the virtual memory address into a local physical memory address on the local node, if the virtual node corresponds to the local node; and if the virtual node corresponds instead to a remote node, sending the virtual memory address to the remote node, and translating the virtual memory address into a physical memory address on the remote node. 15. The method of claim 14, wherein the translating of the virtual memory address into a local physical memory address includes translating the virtual memory address with a translation look-aside buffer (TLB) on the local node.16. The method of claim 15, wherein the translating of the virtual memory address with the TLB includes translating the virtual memory address with a TLB that maintains virtual-to-physical memory mappings for only the local node.17. The method of claim 14, wherein the method further comprises checking a remote-translation indicator on the local node to determine if remote translation is enabled, and wherein the sending of the virtual memory address to the remote node and the translating of the virtual memory address on the remote node occur only if remote translation is enabled and if the virtual node corresponds to the remote node.18. The method of claim 14, wherein the method further comprises sending a global address space identifier (GASID) to the remote node along with the virtual memory address if the virtual node corresponds to the remote node, and wherein the translating of the virtual memory address into the physical memory address on the remote node includes translating the virtual memory address into the physical memory address based on the GASID.19. A computerized method for remotely accessing memory by an application in a multi-node system, the computerized method comprising:providing a virtual memory address on a source node as a function of a virtual address from a load or a store instruction; determining that the virtual memory address will be sent to a remote node; determining a global address space identifier (GASID) for a specific application on the source node; sending both the virtual memory address and the GASID to the remote node; and translating the virtual memory address into a physical memory address on the remote node based on the GASID. 20. The computerized method of claim 19, wherein the determining that the virtual memory address will be sent to the remote node includes determining that a virtual node field represents the remote, rather than the source, node.21. The computerized method of claim 19, wherein the determining of the GASID includes determining that the GAID for the specific application operating on one of a plurality of processors of the source node.22. The computerized method of claim 19, wherein translating the virtual memory address into a physical memory address includes translating the virtual memory address based on the GASID and at least a portion of the virtual memory address as an index into a remote-translation table (RTT) on the remote node to translate the virtual memory address into the physical memory address.23. The computerized method of claim 19, wherein the computerized method further comprises:determining a second global address space identifier (GASID) for a second application on the source node; sending both the virtual memory address and the second GASID to the remote node; and translating the virtual memory address into the physical memory address on the remote node based on the second GASID. 24. The computerized method of claim 23, wherein the determining of the second GASID includes determining the second GASID for the second application operating on a second processor of the source node.25. A node comprising:a processor; and a memory controller operatively coupled to the processor, wherein the memory controller includes a remote-translation table (RTT) that contains translation information for the entire virtual memory address space for the node, wherein the memory controller receives a virtual memory address, and wherein the memory controller translates the virtual memory address into a locally physical memory address of the node according to the RTT. 26. The node of claim 25, wherein the memory controller translates the virtual memory address into the local physical memory address of the node according to the RTT and a global address space identifier (GASID).27. The node of claim 26, wherein the GASID corresponds to a specific application running on a different node.28. The node of claim 26, wherein the GASID and at least a portion of the virtual memory address provide the memory controller an index into the RTT to translate the virtual memory address into the local physical memory address.29. The node of claim 25, wherein the memory controller generates a status flag to indicate whether the RTT is able to translate the virtual memory address into a valid local physical memory address on the node.30. The node of claim 25, wherein the RTT contains write-enable flags to indicate whether writes are enabled for various regions of virtual memory, and wherein the memory controller does not perform a write if the virtual memory address references a region for which writes are not enabled.31. The node of claim 25, wherein the node further comprises:a second processor; and a second memory controller operatively coupled to the second processor, wherein the second memory controller includes a second remote-translation table (RTT) that contains translation information for the entire virtual memory address space for the node, wherein the second memory controller receives a second virtual memory address, and wherein the second memory controller translates the second virtual memory address into a second local physical memory address of the node according to the second RTT. 32. A multi-node system for implementing remote address translation, the system comprising:a network; a source node coupled to the network; and a remote node coupled to the network and including a remote-translation table (RTT), wherein the source node determines a virtual node identifier for a virtual memory address as a function of a virtual address from a load or a store instruction, determining a physical node identifier of the remote node according to the virtual node identifier in accordance with a reference mechanism, wherein the source node sends a remote virtual memory address to the remote node according to the physical node identifier, and wherein the remote node translates the remote virtual memory address into a physical memory address. 33. The multi-node system of claim 32, wherein the source node sends a remote virtual memory address that includes one or more portions of the virtual memory address.34. The multi-node system of claim 32, wherein the source node also sends a global address space identifier (GASID) to the remote node along with the remote virtual memory address, and wherein the remote node translates the remote virtual memory address into a physical memory address based on the GASID.35. A multi-node system for implementing remote address translation, the system comprising:means for identifying a virtual node associated with a virtual memory address as a function of a virtual address from a load or a store instruction; means for determining if the virtual node corresponds to a local node; means for translating the virtual memory address into a local physical memory address on the local node, according to a first reference mechanism; and means for sending the virtual memory address to a remote node and translating the virtual memory address into a physical memory address on the remote node, according to a second reference mechanism.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.