发明名称 Method for performing block management, and associated memory device and controller thereof
摘要 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.
申请公布号 US8949507(B2) 申请公布日期 2015.02.03
申请号 US201113115962 申请日期 2011.05.25
申请人 Silicon Motion Inc. 发明人 Chou Po-Sheng;Chang Ching-Chin;Shen Yang-Chih
分类号 G06F12/00;G06F13/00;G06F13/28;G06F12/02;G11C29/00;G11C29/04 主分类号 G06F12/00
代理机构 代理人 Hsu Winston;Margo Scott
主权项 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; 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; when it is detected that the specific block corresponding to the specific channel is a bad block and the spare good block table indicates that a good block corresponding to the specific channel exists, dynamically replacing the specific block with the good block corresponding to the specific channel; when dynamically replacing the specific block with the good block corresponding to the specific channel, replacing an index, stored in the spare good block table, of the good block corresponding to the specific channel by an invalid record; storing a previous version of the spare good block table into the Flash memory, and storing a copy version of the spare good block table into a first buffer of the controller, for use of dynamically updating the spare good block table; storing a previous version of a meta block mapping table into the Flash memory, and storing a copy version of the meta block mapping table into a second buffer of the controller; storing a latest version of the spare good block table within the first buffer and a latest version of the meta block mapping table within the second buffer into the Flash memory, in order to replace the previous version of the spare good block table and the previous version of the meta block mapping table; wherein each of the channels corresponds to a Flash memory chip, and each of blocks comprised in the meta block is corresponding to different Flash memory chip.
地址 Jhubei, Hsinchu County TW