METHOD FOR PERFORMING BLOCK MANAGEMENT, AND ASSOCIATED MEMORY DEVICE AND CONTROLLER THEREOF
First Claim
1. A method for performing block management, the method being applied to a controller of a Flash memory having multiple channels, the Flash memory comprising a plurality of blocks respectively corresponding to the channels, the method comprising:
- temporarily storing at least one index of at least one good block that is not grouped into any meta block into a spare good block table, wherein the good block is a block that is not determined as a bad block within the plurality of blocks; and
when it is detected that a specific block corresponding to a specific channel within blocks currently grouped into meta blocks is a bad block, dynamically updating the spare good block table for use of block management.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for performing block management is provided. The method is applied to a controller of a Flash memory having multiple channels. The Flash memory includes a plurality of blocks respectively corresponding to the channels. The method includes: temporarily storing at least one index of at least one good block that is not grouped into any meta block into a spare good block table, where the good block is a block that is not determined as a bad block within the plurality of blocks; and when it is detected that a specific block corresponding to a specific channel within blocks currently grouped into meta blocks is a bad block, dynamically updating the spare good block table for use of block management. In particular, when needed, the good block is utilized for replacing a block grouped into a meta block. An associated memory device and a controller thereof are also provided.
52 Citations
20 Claims
-
1. A method for performing block management, the method being applied to a controller of a Flash memory having multiple channels, the Flash memory comprising a plurality of blocks respectively corresponding to the channels, the method comprising:
-
temporarily storing at least one index of at least one good block that is not grouped into any meta block into a spare good block table, wherein the good block is a block that is not determined as a bad block within the plurality of blocks; and when it is detected that a specific block corresponding to a specific channel within blocks currently grouped into meta blocks is a bad block, dynamically updating the spare good block table for use of block management. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A memory device, comprising:
-
a Flash memory having multiple channels, wherein the Flash memory comprises a plurality of blocks respectively corresponding to the channels; and a controller arranged to access the Flash memory and manage the plurality of blocks, wherein the controller temporarily stores at least one index of at least one good block that is not grouped into any meta block into a spare good block table, wherein the good block is a block that is not determined as a bad block within the plurality of blocks; wherein when it is detected that a specific block corresponding to a specific channel within blocks currently grouped into meta blocks is a bad block, the controller dynamically updates the spare good block table for use of block management. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A controller of a memory device, the controller being utilized for accessing a Flash memory having multiple channels, the Flash memory comprising a plurality of blocks respectively corresponding to the channels, the controller comprising:
-
a read only memory (ROM) arranged to store a program code; and a microprocessor arranged to execute the program code to control the access to the Flash memory and manage the plurality of blocks, wherein the controller that executes the program code by utilizing the microprocessor temporarily stores at least one index of at least one good block that is not grouped into any meta block into a spare good block table, and the good block is a block that is not determined as a bad block within the plurality of blocks; wherein when it is detected that a specific block corresponding to a specific channel within blocks currently grouped into meta blocks is a bad block, the controller that executes the program code by utilizing the microprocessor dynamically updates the spare good block table for use of block management. - View Dependent Claims (16, 17, 18)
-
-
19. A method for performing block management, the method being applied to a controller of a Flash memory having multiple channels, the Flash memory comprising a plurality of blocks respectively corresponding to the channels, erasing a single block within the blocks of the Flash memory being achievable, the method comprising:
-
establishing a meta block, wherein the meta block comprises blocks respectively belonging to different channels, and the controller erases the Flash memory with the meta block being a minimum erasure unit; and according to damage statuses of the blocks within the meta block, updating block composition of the meta block or updating a damage status of the meta block. - View Dependent Claims (20)
-
Specification