Flash ROM memory may be utilized to enable field updates of system-level
code necessary for providing system operation. However, a disruption
during downloading can render a system inoperable. With alternating use of
two memory areas, downloading is provided on a fault tolerant basis. A
previously-stored functional code version is held in a first memory area.
A second memory area is erased and an update code version is downloaded
and stored therein. In case of unsuccessful downloading, the
previously-stored functional code version remains usable. For the next
downloading a later update version is loaded into the first memory area,
while the previously downloaded update code version is held in the second
memory area for use if needed. By this alternation of memory areas, one
memory area can safely be erased or over-written for new code downloading,
while an operationally validated prior version of the code remains
available in case of downloading failure.
Η μνήμη ROM λάμψης μπορεί να χρησιμοποιηθεί για να επιτρέψει τις αναπροσαρμογές τομέων του σύστημα-ισόπεδου κώδικα απαραίτητες για την παροχή της λειτουργίας συστημάτων. Εντούτοις, μια διάσπαση κατά τη διάρκεια της μεταφόρτωσης μπορεί να καταστήσει ένα σύστημα μη επιδεχόμενο χειρουργική επέμβαση. Με την εναλλασσόμενη χρήση δύο περιοχών μνήμης, η μεταφόρτωση παρέχεται σε ανεκτική βάση ελαττωμάτων. Μια προηγουμένως-αποθηκευμένη λειτουργική έκδοση κώδικα κρατιέται σε μια πρώτη περιοχή μνήμης. Μια δεύτερη περιοχή μνήμης σβήνεται και μια έκδοση κώδικα αναπροσαρμογών μεταφορτώνεται και αποθηκεύεται εκεί μέσα. Σε περίπτωση ανεπιτυχούς μεταφόρτωσης, η προηγουμένως-αποθηκευμένη λειτουργική έκδοση κώδικα παραμένει χρησιμοποιήσιμη. Για την επόμενη μεταφορτώνοντας μια πιό πρόσφατη αναπροσαρμογή η έκδοση φορτώνεται στην πρώτη περιοχή μνήμης, ενώ η προηγουμένως μεταφορτωμένη έκδοση κώδικα αναπροσαρμογών κρατιέται στη δεύτερη περιοχή μνήμης για τη χρήση εάν είναι απαραίτητο. Από αυτήν την εναλλαγή των περιοχών μνήμης, μια περιοχή μνήμης μπορεί ακίνδυνα να σβηθεί ή να επικαλυφθεί για τη νέα μεταφόρτωση κώδικα, ενώ μια λειτουργικά επικυρωμένη προγενέστερη έκδοση του κώδικα παραμένει διαθέσιμη σε περίπτωση μεταφόρτωσης της αποτυχίας.