IP Library Patent Application 16634064
Patent Application
App. No. 16/634,064

MEMORY CONTROL FOR ELECTRONIC DATA PROCESSING SYSTEM

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
16/634,064
Abstract

Disclosed are machine-implemented methods and apparatus for memory access and control for an electronic data processing system, comprising allocating, statically or dynamically, ownership of a partition of a global remote memory address space in addition to local memory address space created by at least one local electronic data processing system; presenting local memory access requests for the global remote memory access through a to-remote bridge component identified within a partition of the local address space of the electronic data processing system for translation of the local address into a corresponding translated address in a partition of the global remote memory address space; and receiving a global remote memory access request within the allocated partition by the electronic data processing system through a from-remote bridge for translation of the global remote address into a corresponding translated local address for direct and consistent access to the corresponding local memory address.

Claims (45)

1 . A machine-implemented method of operation of memory access and

control for an electronic data processing system, comprising:

allocating, at least one of statically and dynamically, ownership of a partition of a global remote memory address space in addition to local memory address space created by at least one local electronic data processing system;

presenting local memory access requests for global remote memory access through a to-remote bridge component identified within a partition of said local address space of said electronic data processing system for translation of said local address into a

corresponding translated address in a partition of said global remote memory address space; and

receiving a global remote memory access request within said allocated partition by said electronic data processing system

through a from-remote bridge for translation of said global remote address into a corresponding translated local address for direct and consistent access to said corresponding local memory address.

2 . A machine-implemented method of operation of memory access and

control for an electronic data processing system, comprising:

allocating, at least one of statically and dynamically, ownership of a partition of a global remote memory address space in addition to local memory address space created by at least one local electronic

data processing system;

presenting local memory access requests for said global remote memory access through a to-remote bridge component identified by an “is-remote” flag associated with said entire local address of said electronic data processing system for translation of said local address into a corresponding translated address in a partition of said global remote memory address space; and

receiving a global remote memory access request within said

allocated partition by said electronic data processing system through a from-remote bridge for translation of said global remote address into a corresponding translated local address for direct and consistent access to said corresponding local memory address.

3 . The method of operation of claim 1 , wherein said corresponding translated local address for direct access to corresponding local memory address is coherent and consistent with concurrent access from any processor accessing said local memory address.

4 . The method of operation of claim 1 , further comprising at least one additional level of translation action within at least one of said to-remote bridge and said from-remote bridge when at least one of said local electronic data processing system and said remote electronic data processing system comprises a memory translation hierarchy in said associated processing units.

5 . The method of operation of claim 4 , wherein said memory translation hierarchy of processing units comprises at least one of a hypervisor-guest arrangement and an operating system-application arrangement, and wherein said guest and said application comprise at least one native memory arrangement subordinate to a hierarchically superior memory arrangement of said hypervisor and said operating system.

6 . The method of operation of claim 4 , further comprising:

storing at least one address at a level of said memory translation hierarchy of processing units with an additional indicator to indicate that said address translation is remote; and

making said additional indicator available on at least one memory transaction to cause routing of said memory transaction to said to-remote bridge component.

7 . The method of operation of claim 4 whereby said local memory access request is presented with an associated processing unit translation hierarchical level and translation context identifier at said to-remote bridge.

8 . The method of operation of claim 7 , wherein said passing said local memory access request comprises using a translation context identifier associated with an instance of a translation at a level of said hierarchy of processing units within said bridge translation.

9 . The method of operation of claim 7 , wherein said passing said local memory access request and said translated memory address further comprises incorporating said translation context identifier and said level of hierarchy within said translated address.

10 . The method of operation of claim 7 , comprising:

responsive to receiving said from-remote translated address, parsing to detect presence of at least one of a translation context identifier

identifying an operating context within said from-remote translated address and a hierarchical level identifier within said from-remote translated address;

responsive to detecting a context identifier within said from-remote

translated address, selecting a corresponding local address associated with said operating context; and

responsive to detecting a hierarchical level identifier within said from-remote translated address, selecting a corresponding local address associated

with said hierarchical level.

11 . The method of operation of claim 7 , wherein said selecting responsive to detecting said hierarchical level identifier comprises further processing said hierarchical level identifier to derive a further hierarchical level identifier for use in said selecting a corresponding local address associated with a further hierarchical level.

12 . The method of operation of claim 1 , further comprising a plurality of translation stages within said to-remote and from-remote bridge components, said plurality of translation stages being operable to provide different address mappings to render each of a plurality of said electronic data processing systems operable to share an input one of a set of said memory addresses while each corresponding memory address in said partition of said global remote memory address space is stored at a different physical location.

13 . The method of operation of claim 1 wherein a switch fabric that interconnects a plurality of instances of said electronic data processing system sharing a global address space is operable to be identified by a partition of an address space as a set of memory addresses to be presented at a from-remote bridge of at least one said electronic data processing system.

14 . The method of operation of claim 1 wherein each device of a network of interconnected peer electronic data processing systems is operable to share control of said global remote memory address space by configuring at least one of a mapping of a to-remote address to said global remote memory address space and a mapping of a global remote memory address to a local address.

15 . A computer program comprising computer program code to, when loaded into a computer system and executed thereon, cause said computer system to perform all the steps of the method of claim 1 .

16 . An electronic data processing system comprising a plurality of processors, a plurality of memories and a communications network, all co-operable to perform the steps of the method of claim 1 .

17 . An electronic data communication apparatus adapted by provision of at least one to-remote bridge component and at least one from-remote bridge component to perform the steps of the method of claim 1 .

18 . A memory apparatus adapted by provision of logic components operable to interact with a network of electronic data processing systems including at least one to-remote bridge component and at least one from-remote bridge component to perform the steps of the method of claim 1 .

19 . A machine-implemented method of associating an “is-remote” attribute with generation of a translated memory address, comprising:

providing a processing unit with a hierarchy comprising a plurality of levels of memory translation by which a memory address is translated into a resulting translated memory address;

at any level of memory translation within said hierarchy tagging at least one address with an “is-remote” attribute; and

subsequently maintaining a state of said “is-remote” attribute in association with said resulting translated memory address.

20 . The machine-implemented method of claim 19 , said tagged address comprising an is-remote indication and at least one additional attribute selected from:

a level of said translation hierarchy; and

a context identifier.

Assignments (2)
CHANGE OF NAME Recorded Apr 24, 2020
From: KALEAO LIMITED
To: BAMBOO SYSTEMS GROUP LIMITED
Reel/Frame 052484/0725 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2020
From: GOODACRE, JOHN; TECCHIOLLI, GIAMPIETRO
To: KALEAO LIMITED
Reel/Frame 051732/0640 →