High availability asynchronous computer system
AssigneeNortel Networks Limited
InventorsRuth Beyerlein, Brian N. Baker, Terry E. Newell
Life of this patent
Estimating the term…
Abstract
A method and apparatus for receiving status information from shared logical memory modules in a computer system including redundant memory. The status information includes whether the shared logical memory modules are in a transitional state and the number of logical memory modules in the mirror set. When shared logical memory modules are added or removed from redundant memory they go through a transitional state when the memory card may respond to a request for data held on the card, but that data may be unreliable. Checking this status information allows better error checking of data and fault detection of the shared logical memory module.
Claims14
A method for accessing mirrored shared logical memory modules for a read comprising:
- sending a memory request for a read to an interface from a requester and then to said shared logical memory modules;
- formulating a reply at each shared logical memory module indicating a size of a mirror set, where said mirror set comprises said shared logic memory modules;
- formulating said reply at said each shared logical memory module so as also to indicate whether said each shared logical memory module is in a transitional state;
- formulating said reply at said each shared logical memory module so as to combine indications of said size of said mirror set and indications whether said each shared logical memory module is in a transitional state into a set-mode indicator;
- sending each said reply to said interface;
- deriving at said interface, from one or more replies, a second message;
- and,
- forwarding said second message to said requester from said interface.
A method for accessing mirrored shared logical memory modules for a read comprising:
- sending a memory request for a read to an interface and then to said shared logical memory modules from a requester;
- starting timers when said memory request is sent;
- formulating a reply at each shared logical memory module indicating whether said each shared logical memory module is in a transitional state;
- formulating said reply at said each shared logical memory module so as also to include a data component;
- sending each said reply to said interface;
- deriving at said interface, from one or more replies, a second message;
- including a data component of one reply in said second message if said each shared logical memory module is not in a transitional state;
- including a data component of one reply in said second message, if said timers have expired;
- and
- forwarding said second message to said requester from said interface.
A method for accessing mirrored shared logical memory modules for a read comprising:
- sending a memory request for a read to an interface and then to said shared logical memory modules from a requester;
- formulating a reply at each shared logical memory module indicating whether said each shared logical memory module is in a transitional state;
- sending each said reply to said interface;
- deriving at said interface, from one or more replies, a second message;
- including a data component of one reply in said second message if said each shared logical memory module is not in a transitional state;
- forwarding said second message to said requester from said interface;
- and
- initiating an error handler if a comparison of said replies indicates an error condition.
A method for accessing mirrored shared logical memory modules for a read comprising:
- sending a memory request for a read to an interface from a requester and then to said shared logical memory modules;
- formulating a reply at each shared logical memory module indicating a size of a mirror set, where said mirror set comprises said shared logical memory modules;
- formulating said reply at said each shared logical memory module so as also to include a data component;
- sending each said reply to said interface;
- deriving at said interface, from one or more replies, a second message;
- including a data component of one reply in said second message if said size of said mirror set, as indicated in said one reply is valid;
- forwarding said second message to said requester from said interface;
- and
- initiating an error handler if a comparison of said replies indicates an error condition.
A method for accessing mirrored shared logical memory modules for a read comprising:
- sending a memory request for a read to an interface from a requester and then to said shared logical memory modules;
- formulating a reply at each shared logical memory module indicating a size of a mirror set, where said mirror set comprises said shared logical memory modules;
- formulating said reply at said each shared logical memory module so as also to include a data component;
- sending each said reply to said interface;
- deriving at said interface, from one or more replies, a second message;
- including a data component of one reply in said second message if the number of replies received is equivalent to said size of said mirror set;
- forwarding said second message to said requester from said interface;
- and
- initiating an error handler if a comparison of said replies indicates an error condition.
A method for accessing mirrored shared logical memory modules for a read comprising:
- sending a memory request for a read to an interface from a requester and then to said shared logical memory modules;
- formulating a reply at each shared logical memory module indicating a size of a mirror set, where said mirror set comprises said shared logical memory modules;
- formulating said reply at said each shared logical memory module so as also to indicate whether said each shared logical memory module is in a transitional state;
- sending each said reply to said interface;
- deriving at said interface, from one or more replies, a second message;
- forwarding said second message to said requester from said interface;
- and
- initiating an error handler if a comparison of said replies indicates an error condition.
A method for adding a new logical memory module to a mirror set, said mirror set having a mirror set logical address range, said method comprising:
- (a) setting a status code of a new logical memory module to a transitional value, said new logical memory module having a logical memory module logical address range;
- said logical memory module logical address range being equivalent in range to said mirror set logical address range;
- (b) changing an indication of a size of said mirror set at existing logical memory modules to a destination set size;
- (c) performing a read/write march along said mirror set logical address range;
- and
- (d) setting an indication of a size of said mirror set at said new logical memory module to the destination set size.
A method for removing a given shared logical memory module from a mirror set comprising:
- changing said given shared logical memory module to a transitional state;
- changing an indication of a size of said mirror set at remaining shared logical memory modules to a destination set size;
- and
- disabling said given shared logical memory module.
Dependencies are inferred from the claim text.