Synchronisation de code dans des controleurs redondants

Synchronization of code in redundant controllers

Abstract

Methods and associated apparatus for automatically synchronizing the operating code between a plurality of controllers (118.1, 118.2). In a first embodiment after the spare controller (118.2) is swapped into the storage subsystem, if the native controller (118.1) determines that the spare controller's operating code is incompatible with the native controller's operating code, then the native controller (118.1) notifies the spare controller (118.2) that synchronization is required between both controllers. The native controller (118.1) creates an image of its operating code including configuration parameters, and copies this 'synch info' into a reserved area of cache memory (116.1). The spare controller's main CPU (112.2) utilizes mirroring routines to copy the operating code and configuration parameters into a reserved area of its cache memory (116.2). After the transfer is complete, the spare controller's main CPU (112.2) loads the operating code and configuration parameters into its program memory (114.2) and resets itself to operate with the modified program memory. In a second embodiment, a co-processor (115.2) within the spare controller (118.2) updates the spare controller's operating code by executing a script. The native controller (118.1) builds the script that includes the operating code, configuration parameters, and instructions to retrieve the operating code and configuration parameters from the native controller's cache memory (116.1). The spare controller's co-processor (115.2) transfers the script to a reserved area in the spare controller's cache memory (116.2). The native controller (118.1) requests the spare controller's co-processor to execute the script which causes the co-processor (115.2) to retrieve the operating code using mirroring techniques and load the spare controller's program memory (114.2) with the operating code. The co-processor (115.2) sends an interrupt to the spare controller's main processor (112.2) to reset the spare controller (118.2).
Cette invention se rapporte à des procédés et à un appareil associé servant à synchroniser automatiquement le code d'exploitation entre plusieurs contrôleurs (118.1, 118.2). Dans un premier mode de réalisation de cette invention, après que le contrôleur de réserve (118.2) a été permuté dans le sous-système de stockage, si le contrôleur natif (118.1) détermine que le code de fonctionnement du contrôleur de réserve est incompatible avec celui du contrôleur natif, alors celui-ci (118.1) notifie au contrôleur de réserve (118.2) qu'une synchronisation est requise entre les deux contrôleurs. Le contrôleur natif (118.1) crée une image de son code d'exploitation qui contient les paramètres de configuration, et il copie cette information de synchronisation dans une zone réservée de la mémoire cache (116.1). L'unité centrale (CPU) principale (112.2) du contrôleur de réserve utilise des routines de symétrie pour copier le code d'exploitation et les paramètres de configuration dans une zone réservée de sa mémoire cache (116.2). Une fois le transfert terminé, l'unité centrale (CPU) principale (112.2) du contrôleur de réserve charge le code d'exploitation et les paramètres de configuration dans sa mémoire de programmes (114.2) et se réinitialise elle-même, pour fonctionner avec la mémoire de programmes modifiée. Dans un second mode de réalisation de cette invention, un coprocesseur (115.2) situé dans le contrôleur de réserve (118.2) actualise le code d'exploitation du contrôleur de réserve en exécutant un script. Le contrôleur natif (118.1) construit le script qui contient le code d'exploitation, les paramètres de configuration et les instructions pour rapatrier le code d'exploitation et les paramètres de configuration de la mémoire cache (116.1) du contrôleur natif. Le coprocesseur (115.2) du contrôleur de réserve transfère ce script dans une zone réservée de la mémoire cache (116.2) du contrôleur de réserve. Le contrôleur natif (118.1) demande au coprocesseur du contrôleur de réserve d'exécuter le script, ce qui amène le coproceseur (115.2) à rapatrier le code d'exploitation, en utilisant des techniques de symétrie, et à charger le code d'exploitation dans la mémoire de programmes (114.2) du contrôleur de réserve. Le coprocesseur (115.2) envoie une interruption au processeur principal (112.2) du contrôleur de réserve pour réinitialiser le contrôleur de réserve (118.2).

Claims

Description

Topics

Download Full PDF Version (Non-Commercial Use)

Patent Citations (2)

    Publication numberPublication dateAssigneeTitle
    US-5155847-AOctober 13, 1992Minicom Data CorporationMethod and apparatus for updating software at remote locations
    US-5699504-ADecember 16, 1997Fujitsu LimitedMultiprocessor system formed of a plurality of duplex processors

NO-Patent Citations (0)

    Title

Cited By (5)

    Publication numberPublication dateAssigneeTitle
    EP-2523106-A1November 14, 2012Alcatel LucentAktualisierung von Anwendungsprozessoren
    EP-2963511-A1January 06, 2016ALSTOM Transport TechnologiesMethod and device for the validation of an instruction related to railway traffic
    KR-100789459-B1January 02, 2008노키아 코포레이션장치들간의 데이터 공유
    US-9557984-B2January 31, 2017International Business Machines CorporationPerforming code load operations on managed components in a system
    WO-2005101239-A1October 27, 2005Nokia CorporationSharing of data between devices