Selective memory duplication arrangement

Electrical computers and digital processing systems: memory – Storage accessing and control – Control technique

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S161000, C714S001000, C714S002000, C714S005110, C714S006130, C714S013000

Reexamination Certificate

active

06275915

ABSTRACT:

TECHNICAL FIELD
This invention relates to replicated high-reliability processing systems in general, and to duplicated-memory systems in particular.
BACKGROUND OF THE INVENTION
High-reliability processing systems often require duplication of the processor (including processor memory), so that it is not a single-point-of-failure in the system. Usually, one processor is active and runs the system, and the other processor is kept in “standby” mode, where it is continually updated with copies of memory-write transactions occurring in the active processor (this updating process is called “shadowing”). If the active processor has a fault, then the system switches to the standby processor and continues the system's processing tasks virtually glitchlessly, since it has knowledge of the state of the active processor at the time of the failure.
A commonly-used shadowing method copies all data from the active processor to the standby processor's memory, even though only a portion of it is actually needed in order for the standby processor to continue operating the system in case of an active processor fault. This method of shadowing has become a serious bottleneck for high-performance processing systems. It reduces overall system performance, as it usually takes longer to transfer data from the active processor to the standby processor than it takes to perform a normal memory-write operation on the active processor.
Another known method of shadowing is called “transaction-based duplication” or “software duplication”. The basic idea is that the active processor sends information about what functions it is performing to the standby processor, and the standby processor duplicates these functions and in the process updates its memory state to that of the active processor. While it has very little hardware impact, other than the need for a transaction channel from the active to the standby processor, the complexity of this method lies in the software. The reason for the complexity is that all of the applications code must be able to perform, and must actively manage, the duplication function.
What the art lacks is a shadowing method that would allow either for not shadowing some portions of memory, and/or for dynamic control of which portions of memory are shadowed and which are not.
SUMMARY OF THE INVENTION
This invention is directed to solving the problems and meeting the needs of the prior art. According to the invention, a memory that comprises a plurality of memory areas (e.g., locations, or blocks such as pages) has associated therewith an indication of which ones of the memory areas are shadowed. The indication is illustratively an information store for storing information that indicates which ones of the memory areas are shadowed. In response to a memory area being written (e.g., by an active processor that is associated with the memory), the indication is used to determine whether the written memory area is shadowed. Illustratively, the determination is made by a controller of the information store. If it is determined that the written memory area is shadowed, the writing is replicated on another memory (e.g., the memory of another processor, such as a standby processor). But if it is determined that the written memory area is not shadowed, the writing is not replicated on the other memory. Illustratively, the two memories are interconnected by an interface, and the replication is effected by the interface under command of the active processor.
The invention yields a new method of transferring processor data from an active processor to a standby processor in a duplicated-processor environment, that allows for control over what data is transferred and what data is not. This allows for a reduction in the overall number of system writes that need to be transferred to the standby processor, and hence leads to a direct performance enhancement on the active processor by allowing dynamic changes to be made to the indication of what areas of memory are shadowed. It allows for dynamic control of shadowing. Dynamic control of shadowing in turn allows the system to support such features as “soft” switches, for example. Soft switches occur when the active and standby processors have identical memory images, and the standby processor begins executing instructions immediately after the active processor releases control to the newly-active (previously-standby) processor. This allows for a seamless transfer of system control from one processor to another.
Further according to the invention, when an area of the memory is allocated (e.g., by the active processor's operating system) to an entity (e.g., a program), a determination is made whether memory areas allocated to the entity are shadowed. This is illustratively accomplished by determining whether a data statement of the program entity indicates shadowing, or by determining whether a dynamic memory allocation request of the program entity includes a segment selector that indicates shadowing. In response to a determination that the memory areas allocated to the entity are shadowed, the indication is caused to indicate that the allocated memory area is shadowed. Both the determination and the response thereto are preferably effected by the operating system.
This invention yields another advantage of shielding all software except the operating system (which allocates memory and decides which blocks are shadowed and which are not shadowed) and maintenance code from knowledge of how to effect shadowing. It thus reduces the real-time requirements on the active processor, which would otherwise have to generate transaction-based duplication messages for all functions that require duplication. Moreover, it “hides” shadowing decisions from applications developers, because only the operating system needs to keep track of which areas of memory are shadowed and which are not. This improves time-to-market by reducing system code development, since the applications code need not be written to be able to perform, and to correctly handle, duplication transactions. Furthermore, handling of shadowing decisions in the operating system and in hardware also has real-time savings, since no applications code needs to be executed to generate and handle transaction-based data-duplication messages.
The invention encompasses both a method which comprises the steps of the procedure characterized above, and an apparatus that effects the method steps. The apparatus preferably includes an effector—any entity that effects the corresponding step, unlike a means—for each step. Furthermore, the invention encompasses a computer-readable medium containing instructions which, when executed in a computer, cause the computer to perform the method steps.


REFERENCES:
patent: 4805106 (1989-02-01), Pfeifer
patent: 4823256 (1989-04-01), Bishop et al.
patent: 4975838 (1990-12-01), Mizuno et al.
patent: 5128943 (1992-07-01), Tulpule et al.
patent: 5148433 (1992-09-01), Johnson et al.
patent: 5210866 (1993-05-01), Milligan et al.
patent: 5644696 (1997-07-01), Pearson et al.
patent: 5668726 (1997-09-01), Kondo et al.
Curtis Nelson, Crystal Group (Hiawatha, IA—319-378-1636),Redundancy-Evaluating Your Needs, Computer Telephony, Sep. 1996, vol. 4, Issue 9, pp. 101-102.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Selective memory duplication arrangement does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Selective memory duplication arrangement, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Selective memory duplication arrangement will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2452526

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.