Patent ID: 7783857

Claim:
A data management apparatus for supervising a non-volatile memory having a plurality of blocks erasable in a lump, each of said blocks being formed by a plurality of pages, each of said pages including a redundant area, said apparatus comprising; management means for storing distributed management information, as the management information for the respective blocks, in said redundant area of each page, and for storing aggregate management information in said non-volatile memory, in association with said distributed management information, said aggregate management information supervising data stored in said non-volatile memory in a lump, said management means verifying, at the time of booting, whether said aggregate management information is valid based on a block flag of a block having a file of said aggregate management information stored therein, said block flag being set depending upon whether said aggregate management information has been updated to match all modification of the data contents of said non-volatile memory, said management means supervising said data based on said aggregate management information when said aggregate management information is valid, said management means supervising said data based and on said distributed management information when said aggregate management information is not valid, wherein, if a part of said aggregate management information is changed by writing new data in a data storage area of said non-volatile memory, said management means updates the aggregate management information, based on the distributed management information of the newly written data, and writes the updated aggregate management information in said non-volatile memory; and error correction means arranged to carry out an error detection and correction on said distributed management information using error correction code stored within said pages when said management means determines, at the time of booting, said aggregate management information to be not valid, simultaneously with said management means constructing said aggregate management information from said distributed management information, and to not carry out said error detection and correction when said management means determines, at the time of booting, said aggregate management information to be valid, wherein, the error correction means determines a logic of an entry of an error correction table when carrying out error detection and correction, when it is determined that a link address error has occurred wherein the link address error comprises a first physical address which does not correspond to a first logical address.