摘要 |
A flash memory stores current and past BPTs (Block Pointer Tables) indicating correspondence between physical addresses and logical addresses of blocks. At the time of writing of user data, which requires that a new current BPT after this writing be written in a vacant block, a controller updates the current BPT to the new current BPT to include information indicating the order at which that vacant block is used for storing the BPT, the location of the BPT older by one, whether or not the block previously used for storing the BPT is a defective block. At the next initialization, the controller performs correction, etc. of a current BPT based on these pieces of information. In a case where any of these pieces of information is missing, the controller specifies the content of a current BPT based on the other available pieces of information.
|