In a nonvolatile memory such as flash memory where data is stored sector by
sector, a method of overwriting a data sector is provided. The old data to
be overwritten in a data sector along with its error detection code are
initially saved to a backup region which is also in a non-volatile area.
The old data in the data sector is then erased and new data along with its
own error detection code are written into the same data sector where the
old data was previously stored. When a power outage occurs during the
overwrite process, error checking is performed to determine whether the
data in the data sector is valid using the associated error detection
code. Because the old data is saved in a non-volatile area, even if such
unexpected power outage occurs during the overwrite process and the data
in the data sector is determined to be invalid, at least the old data can
be recovered from the non-volatile backup region which is not affected by
the power outage.
Em uma memória permanente tal como a memória flash onde os dados são setor armazenado pelo setor, um método de overwriting um setor dos dados é fornecido. Os dados velhos a overwritten em um setor dos dados junto com seu código da deteção de erro são conservados inicialmente a uma região backup que esteja também em uma área permanente. Os dados velhos no setor dos dados são apagados então e os dados novos junto com seu próprio código da deteção de erro são escritos no mesmo setor dos dados onde os dados velhos foram armazenados previamente. Quando um outage do poder ocorre durante o processo do overwrite, verificar de erro está executado para determinar se os dados no setor dos dados são válidos usando o código associado da deteção de erro. Porque os dados velhos estão conservados em uma área permanente, mesmo se tal outage inesperado do poder ocorre durante o processo do overwrite e os dados no setor dos dados estão determinados ser inválidos, ao menos os dados velhos podem ser recuperados da região backup permanente que não é afetada pelo outage do poder.