存储器抹除方法、存储器控制器与存储器储存装置的制造方法_4

文档序号:8269683阅读:来源:国知局
块具有多个逻辑页面并且此些逻辑页面是依序地映射对应的数据实体区块的实体页面。例如,在存储器储存装置100被格式化时,逻辑区块610(0)?610(H)会初始地映射数据区502的实体区块410 (O)?410 (F-1)。
[0120]在本发明范例实施例中,存储器管理电路202会维护逻辑区块-实体区块映射表(logical block-physical block mapping table)以记录逻辑区块610 (0)?610 (H)与数据区502的实体区块之间的映射关系。此外,由于主机系统1000是以逻辑存取地址(例如,扇区(Sector))为单位来存取数据,当主机系统1000存取数据时存储器管理电路202会将对应存储器储存装置100的逻辑存取地址710 (0)?710 (K)转换成对应的逻辑页面。例如,当主机系统1000欲存取某一逻辑存取地址时,存储器管理电路202会将主机系统1000所存取的逻辑存取地址转换为以对应的逻辑区块与逻辑页面所构成的多维地址,并且通过逻辑区块-实体区块映射表于对应的实体页面中存取数据。
[0121]在本范例实施例中,在存储器储存装置100被电源启动(power on)之后,存储器管理电路202会为闲置区504的每一实体区块配置一抹除标记。
[0122]例如,当存储器储存装置100被使能时,存储器管理电路202会执行相关的初始化作业以使存储器储存装置100进入可接收与处理来自于主机系统1000的指令的待命状态。在执行此初始化作业的期间,存储器管理电路202会建立一闲置实体区块抹除表(如图5所示的闲置实体区块抹除表600)以记录对应闲置区504的每一实体区块的抹除标记并且初始地将对应闲置区504的实体区块的所有抹除标记设定为未抹除状态。
[0123]特别是,在执行此初始化作业的期间,存储器管理电路202不会对闲置区504的实体区块执行抹除指令,由此缩短存储器储存装置100进入可接收与处理来自于主机系统1000的指令的待命状态所需的时间。
[0124]例如,在存储器储存装置100进入可接收与处理来自于主机系统1000的指令的待命状态之后,存储器管理电路202既可根据主机系统1000的指令来存取可复写式非易失性记体模组106。特别是,当从提取闲置区504的实体区块来写入数据时,存储器管理电路202会判断对应所提取的实体区块的抹除标记是否被设定为未抹除状态。倘若对应所提取的实体区块的抹除标记被设定为未抹除状态时,存储器管理电路202会在写入数据至此实体区块之前对此实体区块执行抹除指令并且将对应此实体区块的抹除标记重新设定为已抹除状态。
[0125]例如,在闲置实体区块抹除表600的抹除标记中,“O”表示未抹除状态并且“I”表示已抹除状态,但本发明不限于此。此外,在本范例实施例中,存储器管理电路202仅会将闲置实体区块抹除表600储存在缓冲存储器254中并且于存储器储存装置100运作期间持续地更新此些抹除标记。也就是说,每当存储器储存装置100电源启动时,闲置实体区块抹除表600会重新被建立并且在存储器储存装置100的运作期间存储器管理电路202会根据此些抹除标记来决定是否对闲置区504的实体区块执行抹除指令。基此,本范例实施例的存储器储存装置100及其存储器控制器104可有效地缩短电源启动时进入待命状态所需的时间,同时亦可确保不会发生对因异常断电而存有不完整数据的实体区块,进行重复编程的错误。
[0126]图6是根据第一范例实施例所示的存储器抹除方法的流程图。
[0127]请参照图6,在步骤S601中,存储器管理电路202会将可复写式非易失性存储器模组106的实体区块逻辑地分组为数据区502、闲置区504、系统区506与取代区508。必须了解的是,尽管在本发明范例实施例中,实体区块会被逻辑地分组为数据区502、闲置区504、系统区506与取代区508,然而,在本发明另一范例实例中,实体区块可仅被分组为数据区502与闲置区504。
[0128]在步骤S603中,在存储器储存装置100被电源启动之后存储器管理电路202会建立对应闲置区504的每一实体区块的抹除标记并且初始地将每一抹除标记设定为未抹除状态。
[0129]之后,在步骤S605中,存储器管理电路202会判断是否需要从闲置区504中提取实体区块来执行来自于主机系统1000的指令。
[0130]倘若无需要从闲置区504中提取实体区块时,则在步骤S607中,存储器管理电路202会执行主机系统1000的指令。并且,之后,步骤S605会被执行。
[0131]倘若需要从闲置区504中提取实体区块时,在步骤S609中,存储器管理电路202会从闲置区504中提取实体区块(以下称为第一实体区块)并且判断第一实体区块的抹除标记是否被设定为未抹除状态。
[0132]倘若第一实体区块的抹除标记未被设定为未抹除状态时,则步骤S607会被执行。倘若第一实体区块的抹除标记被设定为未抹除状态时,则在步骤S611中,存储器管理电路202会对第一实体区块执行抹除指令并且将第一实体区块的抹除标记重新设定为已抹除状态。之后,步骤S607会被执行。
[0133][第二范例实施例]
[0134]第二范例实施例与第一范例实施例的差异之处仅在于存储器控制器104会在主机系统1000持续未下达任何指令时,开始对闲置区504的实体区块执行抹除指令。基此,可更有效地缩短执行写入指令的时间并且提升存储器储存装置1000的效能。以下将利用第一范例实施例的图示,仅对第二范例实施例与第一范例实施例的差异之处进行描述。
[0135]在第二范例实施例中,当存储器储存装置100进入待命状态并且持续未接收到来自主机系统1000的指令时,存储器管理电路202会开始对闲置区504的实体区块执行抹除指令并且将对应已抹除实体区块的抹除标记重新设定为已抹除状态。
[0136]例如,存储器管理电路202包括一计时器(未示出)并且每当存储器储存装置100进入待命状态时,此计时器会开始计时。倘若在计时器到达预定时间(例如,3秒钟)之后,存储器储存装置100仍未接收到任何来自于主机系统1000的指令时,存储器管理电路202会从闲置区504中选择实体区块来进行抹除运作,直到接收到来自于主机系统1000的指令为止。也就是说,存储器管理电路202会利用无需处理来自于主机系统1000的指令的期间,对闲置区504的实体区块执行抹除指令并且将对应已抹除实体区块的抹除标记重新设定为已抹除状态。倘若在计时器到达预定时间之前或者在对闲置区504的实体区块执行抹除指令期间存储器储存装置100接收到来自于主机系统1000的指令时,存储器管理电路202会执行此指令并且重置计时器(例如,将计时器归零)。
[0137]图7是根据第二范例实施例所示的存储器抹除方法的流程图。
[0138]请参照图7,在步骤S701中,存储器管理电路202会将可复写式非易失性存储器模组106的实体区块逻辑地分组为数据区502、闲置区504、系统区506与取代区508。必须了解的是,尽管在本发明范例实施例中,实体区块会被逻辑地分组为数据区502、闲置区504、系统区506与取代区508,然而,在本发明另一范例实例中,实体区块可仅被分组为数据区502与闲置区504。
[0139]在步骤S703中,在存储器储存装置100被电源启动之后存储器管理电路202会建立对应闲置区504的每一实体区块的抹除标记并且初始地将每一抹除标记设定为未抹除状态。
[0140]之后,在步骤S705中,存储器管理电路202会判断是否在预定时间期间未接收到来自于主机系统1000的任何指令。
[0141]倘若在预定时间期间未接收到来自于主机系统1000的任何指令时,则在步骤S707中,存储器管理电路202会对闲置区504中抹除标记为未抹除状态的部分实体区块(以下称为第二实体区块)执行抹除指令并且将第二实体区块的抹除标记重新设定为已抹除状态。
[0142]之后,在步骤S709中,存储器管理电路202会判断是否接收到来自于主机系统1000的任何指令。
[0143]倘若未接收到来自于主机系统1000的任何指令时,则步骤S707会被执行。倘若接收到来自于主机系统1000的指令时,在步骤S711中,存储器管理电路202会判断是否需要从闲置区504中提取实体区块来执行此指令。
[0144]倘若无需要从闲置区504中提取实体区块时,则在步骤S713中,存储器管理电路202会执行主机系统1000的指令。并且,之后,步骤S707会被执行。倘若需要从闲置区504中提取实体区块时,在步骤S715中,存储器管理电路202会从闲置区504中提取实体区块(以下称为第一实体区块)并且判断第一实体区块的抹除标记是否被设定为未抹除状态。
[0145]倘若第一实体区块的抹除标记未被设定为未抹除状态时,则步骤S713会被执行。倘若第一实体区块的抹除标记被设定为未抹除状态时,则在步骤S717中,存储器管理电路202会对第一实体区块执行抹除指令并且将第一实体区块的抹除标记重新设定为已抹除状态。之后,步骤S713会被执行。
[0146]倘若在预定时间期间接收到来自于主机系统1000的任何指令时,则步骤S711会被执行。
[0147][第三范例实施例]
[0148]第三范例实施例的硬件架构
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1