Methods of reliably allocating, writing, reading, de-allocating,
re-allocating, and reclaiming space within a nonvolatile memory having a
bifurcated storage architecture are described. Allocation, writing,
reading, de-allocating, re-allocating, and reclamation are handled by a
memory manager. The memory manager tracks the progress of each process
during execution in order to detect whether a selected process was
interrupted for purposes of recovery. The nonvolatile memory is recovered
to a known state during initialization. Initialization includes the step
of determining a recovery state from a recovery state lookup table. A
selected recovery process is selected in accordance with the recovery
state lookup table. A restart level for the selected process is determined
from a corresponding restart state lookup table. The selected process is
then restarted at the restart level. In one embodiment, a method of
managing a nonvolatile memory includes the step of identifying an
interrupted process from at least one of an allocation, a reclamation, a
configuration header reclaim, and a re-allocation process initiated on the
nonvolatile memory. A recovery process is selected for the interrupted
process. An entry point into the recovery process is determined. The
selected recovery process is then restarted at the entry point.
Des méthodes sûrement d'assigner, d'écrire, de lire, de désaffecter, de réapproprier, et de reprendre l'espace dans une mémoire non-volatile ayant une architecture bifurquée de stockage sont décrites. L'attribution, l'écriture, la lecture, désaffecter, réapproprier, et la récupération sont manipulés par un directeur de mémoire. Le directeur de mémoire dépiste le progrès de chaque processus pendant l'exécution afin de détecter si un processus choisi a été interrompu aux fins du rétablissement. La mémoire non-volatile est récupérée à un état connu pendant l'initialisation. L'initialisation inclut l'étape de déterminer un état de rétablissement d'une table de consultation d'état de rétablissement. Un processus choisi de rétablissement est choisi selon la table de consultation d'état de rétablissement. Un niveau de relancement pour le processus choisi est déterminé à partir d'une table correspondante de consultation d'état de relancement. Le processus choisi est alors remis en marche au niveau de relancement. Dans une incorporation, une méthode de contrôler une mémoire non-volatile inclut l'étape d'identifier un processus interrompu au moins d'un d'une attribution, d'une récupération, d'une récupération d'en-tête de configuration, et d'un procédé de redistribution lancé sur la mémoire non-volatile. Un processus de rétablissement est choisi pour le processus interrompu. Un point d'entrée dans le processus de rétablissement est déterminé. Le processus choisi de rétablissement est alors remis en marche au point d'entrée.