CN101566969B - 提升非易失性存储器存储装置的管理效能的方法及控制器 - Google Patents
提升非易失性存储器存储装置的管理效能的方法及控制器 Download PDFInfo
- Publication number
- CN101566969B CN101566969B CN2008100912257A CN200810091225A CN101566969B CN 101566969 B CN101566969 B CN 101566969B CN 2008100912257 A CN2008100912257 A CN 2008100912257A CN 200810091225 A CN200810091225 A CN 200810091225A CN 101566969 B CN101566969 B CN 101566969B
- Authority
- CN
- China
- Prior art keywords
- system management
- data
- district
- storage space
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
一种能提升非易失性存储器存储装置的管理效能的方法及控制器。本发明所提供的方法及控制器是藉由仅读取每一区块的起始分页中的系统管理区所存放的数据,藉以来建立每一区块的逻辑实体地址对应表于控制器的缓冲存储器中,且进而来提升非易失性存储器存储装置的管理效能。另外,本发明所提供的方法及控制器更可以将起始分页内所有或部分系统管理区整合,藉以来更有效率地管理及使用起始分页中所有系统管理区的存储空间。
Description
技术领域
本发明涉及一种存储媒体的管理技术,且特别是涉及一种能提升非易失性存储器存储装置的管理效能的方法及控制器。
背景技术
近年来,由于数字相机、具有照相功能的手机、MP3,以及MP4的成长十分迅速,所以使得消费者对于存储媒体的需求也急剧增加。综观现今所有的存储媒体而言,由于闪存(Flash Memory)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以最适合内建于上述所举例的多种可携式多媒体存储装置中。除此之外,由于小型存储卡与随身听等外接式产品对于现代人而言的需求也很大,所以各家闪存的制造厂商无不朝向让闪存的容量变得更大及使用/管理稳定度提升的研发方向而努力琢磨着。
现今闪存一般会搭配一个控制器而构成闪存存储装置。而众所皆知的是,当电源供应至该闪存存储装置时,控制器会开始依序读取闪存内每一区块中起始分页(start page)的某一扇区(sector)所存储的所有数据。藉此,控制器才能据以在其内的缓冲存储器(一般为SRAM)建立每一区块的逻辑实体地址对应表(logical to physical mapping table)。因此,使用闪存存储装置的主机才会得知闪存内每一区块的逻辑实体地址对应关系,所以主机此时才能对闪存存储装置进行数据的存取。
一般而言,一个扇区通常会包括512字节的存储容量来存放使用者数据的使用者数据区;6字节的存储容量来存放系统管理数据的系统管理区;以及10字节的存储容量来存放错误更正码(Error Correction Code,ECC)的错误更正区。其中,记录区块的逻辑实体地址对应关系的内容通常会被存放在系统管理区内。
基于上述可知,要在控制器的缓冲存储器中建立闪存内每一区块的逻辑实体地址对应表时,控制器不可避免地必须要很繁琐的读取闪存内每一区块中起始分页的某一扇区所存储的所有数据后,才能达到建立每一区块的逻辑实体地址对应表的目的。然而,此法很容易因闪存的容量变大(亦即区块数变多)而拖累闪存存储装置整体的管理效能(亦即建立逻辑实体地址对应表的速度过慢)。
再者,由于现今半导体技术的精进,闪存也由单层存储单元(SingleLevel Cell,SLC)闪存演进到多层存储单元(Multi Level Cell,MLC)闪存,藉以来提升闪存的存储容量。然而,由于MLC闪存制定要求所需的错误更正码的字节会提升至10字节以上,如此将会导致起始分页中所有系统管理区的字节数必须压迫至6字节以下,进而造成起始分页中每一系统管理区的存储空间将不敷使用。
发明内容
有鉴于此,本发明的目的就是提供一种能提升非易失性存储器存储装置的管理效能的方法及控制器,其藉由仅读取系统管理区所存放的数据来建立每一区块的逻辑实体地址对应表,藉以来提升非易失性存储器存储装置的管理效能。
本发明的另一目的就是提供一种能提升非易失性存储器存储装置的管理效能的方法及控制器,其藉由将每一区块的起始分页内所有或部分系统管理区整合,藉以来更有效率地管理及使用起始分页中所有系统管理区的存储空间。
基于上述及其所欲达成的目的,本发明提出一种能提升非易失性存储器存储装置的管理效能的方法。一般非易失性存储器存储装置会包含一个非易失性存储器与一个控制器。其中,非易失性存储器具有多个区块,每一区块具有多个分页,每一分页具有多个使用者数据存放区及其对应的多个系统管理区与多个错误更正区。本发明所提出的能提升非易失性存储器存储装置的管理效能的方法包括下列步骤:
首先,将非易失性存储器内所有区块中的至少一第一区块的所有分页中的一起始分页的至少一第一系统管理区的存储空间分成一系统管理数据存放区与其对应的一系统管理数据检测区。其中,当该第一系统管理区的存储空间在足够的条件下,系统管理数据存放区用以存储系统管理信息(SystemManagement Information,SMI),其至少记录所述第一区块的逻辑实体地址对应关系;系统管理数据检测区用以存储一错误检测码(Error DetectionCode,EDC),另外,当该第一系统管理区的存储空间在不足够的条件下,该第一系统管理区的存储空间更会与该起始分页的至少一第二系统管理区的至少部分或全部的存储空间整合在一起,藉以致使该第一系统管理区的存储空间会大于该起始分页的其余系统管理区的存储空间,或者,该第一系统管理区的存储空间更会与该起始分页的其它系统管理区的存储空间整合在一起,藉以致使该起始分页中的所有系统管理区的存储空间整合在一起。
接着,每当供电至非易失性存储器存储装置时,利用控制器读出并判断所述第一系统管理区内所存储的数据是否正确。最后,当控制器判断出所述第一系统管理区内所存储的数据正确时,控制器会据以在其内的缓冲存储器内建立逻辑实体对应表,藉以让使用非易失性存储器存储装置的主机得知所述第一区块的逻辑实体地址对应关系。
在本发明的一实施例中,本发明所提出的能提升非易失性存储器存储装置的管理效能的方法还包括下列步骤:
当控制器判断出所述第一系统管理区内所存储的数据错误时,控制器会读出与所述第一系统管理区相对应的一第一使用者数据存放区与一第一错误更正区内所存储的数据,并且利用所述第一错误更正区内所存储的错误更正码(Error Correction Code,ECC)来修正第一系统管理区内所存储的数据,藉以使得所述第一系统管理区内所存储的数据正确后,控制器再据以在其内的缓冲存储器内建立逻辑实体对应表。
在本发明的一实施例中,判断所述第一系统管理区内所存储的数据是否正确的步骤包括:依据所述错误检测码,而利用控制器检知所述系统管理信息是否正确。
在本发明的另一实施例中,当所述第一系统管理区的存储空间与所述第二系统管理区的至少部分或全部的存储空间整合在一起时,本发明所提出的能提升非易失性存储器存储装置的管理效能的方法还包括下列步骤:
首先,将整合过后的第一与第二系统管理区所拥有的存储空间分成所述系统管理数据存放区与其对应的所述系统管理数据检测区。接着,每当供电至非易失性存储器存储装置时,利用控制器读出并判断整合过后的第一与第二系统管理区所拥有的存储空间内所存储的数据是否正确。最后,当控制器判断出整合过后的第一与第二系统管理区所拥有的存储空间内所存储的数据正确时,控制器会据以在其内的缓冲存储器内建立逻辑实体对应表。
在本发明的另一实施例中,当所述第一系统管理区的存储空间与所述第二系统管理区的至少部分或全部的存储空间整合在一起时,本发明所提出的能提升非易失性存储器存储装置的管理效能的方法还包括下列步骤:
当控制器判断出第一与第二系统管理区所拥有的存储空间内所存储的数据错误时,控制器会读出与第一系统管理区相对应的一第一使用者数据存放区与一第一错误更正区内所存储的数据,并且利用所述第一错误更正区内所存储的错误更正码来修正第一与第二系统管理区所拥有的存储空间内所存储的数据,藉以使得第一与第二系统管理区所拥有的存储空间内所存储的数据正确后,控制器再据以在其内的缓冲存储器内建立逻辑实体对应表。
在本发明的另一实施例中,判断整合过后的第一与第二系统管理区所拥有的存储空间内所存储的数据是否正确包括:依据所述错误检测码,而利用控制器检知所述系统管理信息是否正确。
在本发明的再一实施例中,当所述第一系统管理区的存储空间与所述起始分页的其它系统管理区的存储空间整合在一起时,本发明所提出的能提升非易失性存储器存储装置的管理效能的方法还包括下列步骤:
首先,将所述起始分页中所有系统管理区所拥有的存储空间分成所述系统管理数据存放区与其对应的一系统管理数据错误更正区。接着,每当供电至非易失性存储器存储装置时,利用控制器读出并判断所述起始分页中所有系统管理区所拥有的存储空间内所存储的数据是否正确。最后,当控制器判断出所述起始分页中所有系统管理区所拥有的存储空间内所存储的数据正确时,控制器会据以在其内的缓冲存储器内建立逻辑实体对应表。
在本发明的再一实施例中,当所述第一系统管理区的存储空间与所述起始分页的其它系统管理区的存储空间整合在一起时,本发明所提出的能提升非易失性存储器存储装置的管理效能的方法还包括下列步骤:
当控制器判断出所述起始分页中所有系统管理区所拥有的存储空间内所存储的数据错误时,控制器会利用所述系统管理数据错误更正区内所存储的错误更正码来修正所述起始分页中所有系统管理区所拥有的存储空间内所存储的数据,藉以使得所述起始分页中所有系统管理区所拥有的存储空间内所存储的数据正确后,控制器再据以在其内的缓冲存储器内建立逻辑实体对应表。
从另一观点来看,本发明提供一种控制器,其适用于非易失性存储器存储装置。本发明所提出的控制器包括微处理单元、非易失性存储器接口、缓冲存储器,以及存储器管理模块。其中,微处理单元用以控制控制器的整体运作。非易失性存储器接口会电性连接至微处理单元,并且用以存取非易失性存储器,其中,易失性存储器具有多个区块,每一区块具有多个分页,每一分页具有多个使用者数据存放区及其对应的多个系统管理区与多个错误更正区。
缓冲存储器会电性连接至微处理单元,并且用以暂时地存储数据。存储器管理模块会电性连接至微处理单元,并且用以管理非易失性存储器。其中,所述存储器管理模块会执行一个能提升非易失性存储器存储装置的管理效能的方法,该方法包括下列步骤:
首先,将非易失性存储器内所有区块中的至少一第一区块的所有分页中的一起始分页的至少一第一系统管理区的存储空间分成一系统管理数据存放区与其对应的一系统管理数据检测区。其中,当该第一系统管理区的存储空间在足够的条件下,所述系统管理数据存放区用以存储系统管理信息,其至少记录所述第一区块的逻辑实体地址对应关系,而所述系统管理数据检测区用以存储错误检测码,另外,当该第一系统管理区的存储空间在不足够的条件下,该第一系统管理区的存储空间更会与该起始分页的至少一第二系统管理区的至少部分或全部的存储空间整合在一起,藉以致使该第一系统管理区的存储空间会大于该起始分页的其余系统管理区的存储空间,或者,该第一系统管理区的存储空间更会与该起始分页的其它系统管理区的存储空间整合在一起,藉以致使该起始分页中的所有系统管理区的存储空间整合在一起。
接着,每当供电至非易失性存储器存储装置时,利用微处理单元通过非易失性存储器接口读出并判断所述第一系统管理区内所存储的数据是否正确。最后,当微处理单元判断出所述第一系统管理区内所存储的数据正确时,微处理单元会据以在缓冲存储器内建立逻辑实体对应表,藉以让使用非易失性存储器存储装置的主机得知所述第一区块的逻辑实体地址对应关系。
在本发明的一实施例中,所述能提升非易失性存储器存储装置的管理效能的方法还包括下列步骤:当微处理单元判断出所述第一系统管理区内所存储的数据错误时,微处理单元会通过非易失性存储器接口读出与所述第一系统管理区相对应的一第一使用者数据存放区与一第一错误更正区内所存储的数据,并且利用所述第一错误更正区内所存储的一错误更正码来修正所述第一系统管理区内所存储的数据,藉以使得所述第一系统管理区内所存储的数据正确后,微处理单元再据以在缓冲存储器内建立逻辑实体对应表。
在本发明的一实施例中,判断所述第一系统管理区内所存储的数据是否正确的步骤包括:依据所述错误检测码,而利用微处理单元检知所述系统管理信息是否正确。
在本发明的另一实施例中,当所述第一系统管理区的存储空间与所述第二系统管理区的至少部分或全部的存储空间整合在一起时,所述能提升非易失性存储器存储装置的管理效能的方法还包括下列步骤:
首先,将整合过后的第一与第二系统管理区所拥有的存储空间分成所述系统管理数据存放区与其对应的所述系统管理数据检测区。接着,每当供电至非易失性存储器存储装置时,利用微处理单元通过非易失性存储器接口读出并判断整合过后的第一与第二系统管理区所拥有的存储空间内所存储的数据是否正确。最后,当微处理单元判断出整合过后的第一与第二系统管理区所拥有的存储空间内所存储的数据正确时,微处理单元会据以在缓冲存储器内建立逻辑实体对应表。
在本发明的另一实施例中,当所述第一系统管理区的存储空间与所述第二系统管理区的至少部分或全部的存储空间整合在一起时,所述能提升非易失性存储器存储装置的管理效能的方法还包括下列步骤:
当微处理单元判断出第一与第二系统管理区所拥有的存储空间内所存储的数据错误时,微处理单元会通过非易失性存储器接口读出与第一系统管理区相对应的一第一使用者数据存放区与一第一错误更正区内所存储的数据,并且利用所述第一错误更正区内所存储的错误更正码来修正第一与第二系统管理区所拥有的存储空间内所存储的数据,藉以使得第一与第二系统管理区所拥有的存储空间内所存储的数据正确后,微处理单元再据以在缓冲存储器内建立逻辑实体对应表。
本发明的另一实施例中,判断整合过后的第一与第二系统管理区所拥有的存储空间内所存储的数据是否正确包括:依据所述错误检测码,而利用微处理单元检知所述系统管理信息是否正确。
本发明的再一实施例中,当所述第一系统管理区的存储空间更与所述起始分页的其它系统管理区的存储空间整合在一起时,所述能提升非易失性存储器存储装置的管理效能的方法还包括下列步骤:
首先,将所述起始分页中所有系统管理区所拥有的存储空间分成所述系统管理数据存放区与其对应的一系统管理数据错误更正区。接着,每当供电至非易失性存储器存储装置时,利用微处理单元通过非易失性存储器接口读出并判断所述起始分页中所有系统管理区所拥有的存储空间内所存储的数据是否正确。最后,当微处理单元判断出所述起始分页中所有系统管理区所拥有的存储空间内所存储的数据正确时,微处理单元会据以在缓冲存储器内建立逻辑实体对应表。
在本发明的再一实施例中,当所述第一系统管理区的存储空间更与所述起始分页的其它系统管理区的存储空间整合在一起时,所述能提升非易失性存储器存储装置的管理效能的方法还包括下列步骤:
当微处理单元判断出所述起始分页中所有系统管理区所拥有的存储空间内所存储的数据错误时,微处理单元会利用所述系统管理数据错误更正区内所存储的错误更正码来修正所述起始分页中所有系统管理区所拥有的存储空间内所存储的数据,藉以使得所述起始分页中所有系统管理区所拥有的存储空间内所存储的数据正确后,微处理单元再据以在缓冲存储器内建立逻辑实体对应表。
在上述实施例中,所述错误检测码包括循环冗余检查码(CyclicRedundancy Check Code,CRCC)。
在上述实施例中,所述主机包括计算机、数字相机、摄影机、通信装置、音频播放器或视频播放器等可存储数据的任意系统,且所述非易失性存储器为SLC闪存或MLC闪存。
本发明另提供一种数据存储装置,其特征在于所述数据存储装置存储有一程序代码,且当一微处理器执行此程序代码时,此程序代码将会对非易失性存储器存储装置的非易失性存储器执行上述的任一实施例的能提升非易失性存储器存储装置的管理效能的方法。
本发明另提供一种非易失性存储器存储装置,其包括一非易失性存储器与上述本发明所提出的控制器。
本发明提出一种能提升非易失性存储器存储装置的管理效能的方法及控制器,其主要是藉由当每一区块的起始分页的一系统管理区的存储容量在足够的条件下,将系统管理区分成两区,其一区用以存放系统管理数据(例如每一区块的逻辑实体地址对应关系),而另一区则用以存放检测系统管理数据的正确性的错误检测码。如此,当供电至非易失性存储器存储装置时,控制器仅读取每一区块的起始分页的系统管理区所存储的数据就能在其内的缓冲存储器中建立每一区块的逻辑实体地址对应表。
再者,当每一区块的起始分页的一系统管理区的存储容量在不足的条件下,将每一区块的起始分页中的所有或部分系统管理区整合,藉以再将整合过后的系统管理区的存储空间分成两区,其一区用以存放系统管理数据(例如每一区块的逻辑实体地址对应关系),而另一区则用以存放修正系统管理数据的正确性的错误更正码(ECC),或者存放检测系统管理数据的正确性的错误检测码(EDC)。如此,当供电至非易失性存储器存储装置时,控制器还是仅读取每一区块的起始分页的系统管理区所存储的数据。
因此,本发明所提出的能提升非易失性存储器存储装置的管理效能的方法及控制器不但能提升非易失性存储器存储装置的管理效能,且更可以有效率地管理及使用起始分页中所有系统管理区的存储空间,藉以来解决MLC闪存制定要求所需的错误更正码的字节数增加所造成起始分页中每一系统管理区的存储空间不敷使用的情形。
为让本发明的上述和其它目的、特征和优点能更明显易懂,下文特举本发明的较佳实施例,并配合附图,作详细说明如下。
附图说明
图1A示出了本发明一实施例的使用非易失性存储器存储装置120的主机100的系统方区块图。
图1B示出了图1A的非易失性存储器存储装置120的系统方区块图。
图1C示出了图1A的非易失性存储器存储装置120更加详细的系统方区块图。
图2示出了本发明一实施例的能提升非易失性存储器存储装置的管理效能的方法流程图。
图3示出了本发明另一实施例的能提升非易失性存储器存储装置的管理效能的方法流程图。
图4示出了起始分页400的分布示意图。
图5示出了本发明另一实施例的能提升非易失性存储器存储装置的管理效能的方法流程图。
图6示出了本发明的能提升非易失性存储器存储装置的管理效能的方法可应用的装置的示意图。
附图符号说明
100:主机
102:微处理器
104:随机存取存储器
106:输入/输出装置
108:系统总线
110:数据传输接口
120:非易失性存储器存储装置
122:控制器
122a:存储器管理模块
122b:非易失性存储器接口
122c:主机传输接口
122d:缓冲存储器
122e:程序存储器
122f:错误校正模块
122g:电源管理模块
122h:微处理单元
124:非易失性存储器
124-0、124-1、124-2、124-N:区块
D、D1-D4:使用者数据存放区
R、R1-R4:冗余区
S、S1-S4:系统管理区
M、M1-M4:错误更正区
S_DATA:系统管理数据存放区
S_EDC:系统管理数据检测区
S_ECC:系统管理数据更正区
602:USB快闪盘
604:数字相机(摄影机)
604a:SD卡
604b:MMC卡
604c:CF卡
604d:存储棒(memory stick)
606:固态硬盘
S201-S205:本发明一实施例的能提升非易失性存储器存储装置的管理效能的方法流程图各步骤
S301-S305、S401-S405:本发明另一实施例的能提升非易失性存储器存储装置的管理效能的方法流程图各步骤。
具体实施方式
本发明所欲达成的技术功效主要是为了要提升非易失性存储器存储装置的管理效能及解决MLC闪存制定要求所需的错误更正码的字节数增加所造成起始分页中每一系统管理区的存储空间不敷使用的情形。而以下的内容将针对本发明的技术特征与所欲达成的技术功效做一详加描述,藉以提供给本发明相关领域的技术人员参详。
图1A示出了本发明一实施例的使用非易失性存储器存储装置120的主机100的系统方区块图。请参照图1A,主机100一般包括微处理器102、随机存取存储器(Random Access Memory,RAM)104、输入/输出(Input/Output,I/O)装置106、系统总线108,以及数据传输接口110。必须了解的是,主机100更可以包括其它元件,例如显示器装置与网络装置等。另外,主机100例如可以是计算机、数字相机、摄影机、通信装置、音频播放器或视频播放器等可存储数据的任意系统。
在本实施例中,非易失性存储器存储装置120会通过数据传输接口110而与主机100内部的元件电性连接,而且主机100可以通过微处理器102、随机存取存储器104与输入/输出装置106的处理,而将数据写入至非易失性存储器存储装置120,或者从非易失性存储器存储装置120中读取数据。
图1B示出了图1A的非易失性存储器存储装置120的系统方区块图。请合并参照图1A及图1B,非易失性存储器存储装置120一般会包括控制器122与非易失性存储器124。其中,控制器122用以控制非易失性存储器存储装置120的整体运作,例如数据的存储、读取与抹除等。控制器122包括存储器管理模块122a、缓冲存储器122d、微处理单元122h,以及非易失性存储器接口122b。
存储器管理模块122a用以管理非易失性存储器124,例如执行本发明能提升非易失性存储器存储装置的管理效能的方法、损坏区块的管理、维护对应表(mapping table)等。非易失性存储器接口122b用以存取非易失性存储器124,也就是主机100欲写入至的数据会经由非易失性存储器接口122b转换为非易失性存储器124所能接受的格式。
缓冲存储器122d用以暂时地存储系统数据(例如对应表)或者主机100所欲读取或写入的数据。在本实施例中,缓冲存储器122d为静态随机存取存储器(static random access memory,SRAM)。然而,必须了解的是,本发明并不限于此。也就是说,动态随机存取存储器(DRAM)、磁阻式存储器(MRAM)、相变化存储器(PRAM)或其它适合的存储器亦可应用于本发明。
微处理单元122h用以控制控制器122的整体运作,而非易失性存储器124用以存储数据。在本实施例中,非易失性存储器124为闪存。更具体来说,非易失性存储器124为MLC闪存,但本发明并不限于此,非易失性存储器124亦可为SLC闪存。
在本实施例中,控制器122还包括主机传输接口122c、程序存储器122e、错误校正模块122f,以及电源管理模块122g(如图1C所示般)。其中,主机传输接口122c用以与主机100通信。主机传输接口122c可以是USB接口、IEEE 1394接口、SATA接口、PCI Expres s接口、MS接口、MMC接口、SD接口、CF接口或IDE接口。
程序存储器122e用以存储控制器122所执行用以控制非易失性存储器存储装置120的程序代码。错误校正模块122f用以计算错误校正码(ErrorCorrection Code,ECC),藉以来检查与校正主机100所读取或写入的数据。电源管理模块122g用以管理非易失性存储器存储装置120的电源。
请继续参照图1A-1C,非易失性存储器124通常实质上分割为多个实体区块(physical block)124-0-124-N。一般而言,闪存的抹除最小单位为一个区块,而每一区块含有最小数目的一并被抹除的存储单元(memory cell)。每一区块通常会分割为数个分页(page),其中一个分页通常为程序/读取(program/read)的最小单元,但要特别说明的是,在有些不同的闪存设计,最小的程序/读取单位也可为一个扇区(sector)大小,即一个分页中有多个扇区,并且以一个扇区为程序/读取的最小单元。
换言之,分页为写入数据或读取数据的最小单元。每一分页通常包括使用者数据存放区D与冗余区(redundancy area)R,而冗余区R通常又包括系统管理区S与错误更正区M。其中,使用者数据存放区D用以存储使用者的数据;系统管理区S用以存储系统管理数据(例如每一区块的逻辑实体地址对应关系、区块的起始分页...等);而错误更正区M则用以存储经错误校正模块122f计算后的ECC的检查码(parity)。
为了要对应于磁盘驱动器的扇区(sector)大小,一般而言,使用者数据存放区D通常为512字节,而冗余区R通常为16字节,其中系统管理区S为6字节,而错误更正区M为10字节。也就是说,一个分页为一个扇区,但亦可多个扇区形成一分页,例如一分页包括4个扇区,D为2048字节,R为64字节或其它更高的分页容量及扇区数。另外,区块可由任意数目的分页所组成,例如64页、128页、256页等。
再者,为了要更有效率地管理非易失性存储器120,一般会将非易失性存储器120的区块124-0-124-N在逻辑上规划成系统群组、数据群组与备用群组。一般来说,非易失性存储器120中属于数据群组的区块会占据所有区块124-0-124-N的90%以上,而剩下的区块才属于系统群组与备用群组。
系统群组中的区块主要是用以记录系统数据,例如是关于非易失性存储器124的区域数、每一区域的区块数、每一区块的分页数...等。数据群组中的区块主要是用以存储使用者的数据。备用群组中的区块主要是用以替换数据群组中的区块。因此,备用群组中的区块为可以使用的区块,亦即无记录数据或标记为已没用的无效数据。
至此,为了要提升非易失性存储器存储装置120的管理效能及解决MLC闪存制定要求所需的错误更正码的字节数增加所造成起始分页中每一系统管理区S的存储空间不敷使用的情形。以下将针对本发明所提出的能提升非易失性存储器存储装置的管理效能的方法来进行详细的说明,藉以让本发明相关领域的技术人员参详。
图2示出了本发明一实施例的能提升非易失性存储器存储装置的管理效能的方法流程图。请合并参照图1A-1C及图2,在每一区块124-0-124-N的起始分页的一系统管理区S的存储容量在足够的条件下,本实施例的能提升非易失性存储器存储装置120的管理效能的方法包括下列步骤:首先,如步骤S201所述,将非易失性存储器124内所有区块124-0-124-N中的至少一第一区块的所有分页中的一起始分页(start page)的至少一第一系统管理区S的存储空间分成一系统管理数据存放区S_DATA与其对应的一系统管理数据检测区S_EDC。其中,系统管理数据存放区S_DATA用以存储系统管理信息(System Management Information),其至少记录所述第一区块的逻辑实体地址对应关系;而系统管理数据检测区S_EDC用以存储一错误检测码(ErrorDetection Code,EDC)。
接着,如步骤S203所述,每当供电至非易失性存储器存储装置120时,利用控制器122读出并判断所述第一系统管理区S_DATA内所存储的数据是否正确。最后,如步骤S205所述,当控制器122判断出所述第一系统管理区S_DATA内所存储的数据正确时,控制器122会据以在其内的缓冲存储器122d内建立逻辑实体对应表,藉以让使用非易失性存储器存储装置120的主机100得知所述第一区块的逻辑实体地址对应关系,以使主机100能对非易失性存储器124的每一区块124-0-124-N进行数据存取。
由于缓冲存储器122d内所建立的逻辑实体对应表皆会在每次非易失性存储器存储装置120断电时即丧失,所以在本实施例中,每当供电至非易失性存储器存储装置120时,就并非如现有技术般为依序读取非易失性存储器124内每一区块124-0-124-N的起始分页的某一扇区(sector)所存储的所有数据,控制器122才能在缓冲存储器122d内建立逻辑实体对应表;反倒是,每当供电至非易失性存储器存储装置120时,控制器122仅会重新且依序读取非易失性存储器124内每一区块124-0-124-N的起始分页的某一系统管理区S所存储的数据。
因此,控制器122就能在缓冲存储器122d内建立逻辑实体对应表,所以本实施例的控制器122在缓冲存储器122d建立逻辑实体对应表的速度将会比传统非易失存储器存储装置的控制器来的更快,所以非易失性存储器存储装置120整体的管理效能就会被提升。
在此值得一提的是,控制器122会依据每一区块124-0-124-N的起始分页的某一系统管理区S中的系统管理数据检测区S_EDC所存储的错误检测码(EDC),而得知其所对应的系统管理数据存放区S_DATA内所存储的数据(亦即系统管理数据,例如为区块的逻辑实体地址对应关系)是否正确。
再者,基于上述可知,系统管理区S的存储容量为6字节,而通常系统管理数据存放区S_DATA与系统管理数据检测区S_EDC的存储空间大致为4字节与2字节,但并不限制于此,所以系统管理数据检测区S_EDC所存储的错误检测码(EDC)即可利用CRC-16(但并不限制于此)去检测系统管理数据存放区S_DATA内所存储的数据是否正确。然而,CRC所选用的位数必须依据系统管理数据存放区S_DATA的字节数而决定。举例来说,当S_DATA为4字节时,就必须利用CRC-32去检测系统管理数据存放区S_DATA内所存储的数据是否正确。
因此,当控制器122得知每一区块124-0-124-N的起始分页的某一系统管理区S中的系统管理数据存放区S_DATA内所存储的数据皆正确时,其就会据以在缓冲存储器122d内建立逻辑实体对应表;但是,当控制器122得知某一区块(区块124-0-124-N中的其一)的起始分页的某一系统管理区S中的系统管理数据存放区S_DATA内所存储的数据错误时,此时控制器122就会连带将与该系统管理数据存放区S_DATA相对应的使用者数据存放区D与错误更正区M所存储的数据一并读取,并且再利用错误更正区M所存储的ECC去修正系统管理数据存放区S_DATA内所存储的数据,待系统管理数据存放区S_DATA内所存储的数据被修正正确后,控制器122才会据以在缓冲存储器122d内建立逻辑实体对应表。
由于每一系统管理数据存放区S_DATA皆有自己所对应的系统管理数据检测区S_EDC,所以,当控制器122读取系统管理区S所存储的数据时,其可以很快的就得知该系统管理区S中的系统管理数据存放区S_DATA内所存储的数据是否有发生错误,藉此再对应的执行上述系统管理数据存放区S_DATA内所存储的数据正确或错误的流程后,即可在缓冲存储器122d内建立逻辑实体对应表,从而提升非易失性存储器存储装置120整体的管理效能。
然而,依据本发明的精神,并不限制于上述实施例所揭示的方式。以下将再举出本发明其它实施例的实施方式给本领域的技术人员参详。
图3示出了本发明另一实施例的能提升非易失性存储器存储装置的管理效能的方法流程图。请合并参照图1A-1C及图3,由于MLC闪存制定要求所需的错误更正码的字节数会增加,所以可能会造成起始分页中每一系统管理区S的存储空间被迫缩减。因此,在本实施例中,在每一区块124-0-124-N的起始分页的一系统管理区S的存储容量在不足的条件下,上述实施例所述的第一系统管理区的存储空间更会与其起始分页的至少一第二系统管理区的至少部分或全部的存储空间整合在一起,藉以致使所述第一系统管理区的存储空间会大于起始分页的其余系统管理区的存储空间。
由此,本实施例的能提升非易失性存储器存储装置120的管理效能的方法包括下列步骤:首先,如步骤S301所述,将整合过后的第一与第二系统管理区所拥有的存储空间分成上述实施例所述的系统管理数据存放区S_DATA与其对应的系统管理数据检测区S_EDC。接着,如步骤S303所述,每当供电至非易失性存储器存储装置120时,利用控制器122读出并判断整合过后的第一与第二系统管理区所拥有的存储空间内所存储的数据是否正确。最后,如步骤S305所述,当控制器122判断出整合过后的第一与第二系统管理区所拥有的存储空间内所存储的数据正确时,控制器122会据以在其内的缓冲存储器122d内建立逻辑实体对应表。
为了要能更为清楚地说明本实施例所欲阐述的精神,以下将以起始分页为2K字节的存储容量的例子来做一说明给本领域的技术人员参详,但本发明并不限制于此。
图4示出了起始分页400的分布示意图。请合并参照图1-图4,图4所绘示的起始分页400的存储容量为2K字节,此起始分页400主要是由4个扇区(每一扇区为512字节)401_1-401_4所组成,且每一扇区401_1-401_4皆具有使用者数据存放区D1/D2/D3/D4及其各别所对应的冗余区R1/R2/R3/R4,其中每一冗余区R1/R2/R3/R4又具有系统管理区S1/S2/S3/S4与错误更正区M1/M2/M3/M4。
在本实施中,假设起始分页400的系统管理区S1的存储容量(亦即6字节)不足,其至少可以与第二系统管理区S2的至少部分或全部的存储空间整合在一起,从而使得系统管理区S1的存储容量大于系统管理区S2、S3及S4的存储容量,藉以来解决系统管理区S1的存储容量不足的问题。
基于上述,若将整合过后的第一与第二系统管理区S1、S2所拥有的存储空间(最大为12字节)分成上述实施例所述的系统管理数据存放区S_DATA与其对应的系统管理数据检测区S_EDC后,并于每当供电至非易失性存储器存储装置120时,利用控制器122读出并判断整合过后的第一与第二系统管理区S1、S2所拥有的存储空间内所存储的数据是否正确。藉此,当控制器122判断出整合过后的第一与第二系统管理区S1、S2所拥有的存储空间内所存储的数据正确时,控制器122会据以在其内的缓冲存储器122d内建立逻辑实体对应表。
也亦因如此,基于每一区块124-0-124-N的起始分页的一系统管理区S的存储容量在不足的条件下,本实施例会将每一区块124-0-124-N的起始分页中的部分或全部系统管理区进行整合,如以2K字节4个扇区的分页为例,其至少可以将扇区401-1与401_2中的系统管理区S1、S2的存储空间进行整合来存储系统管理信息,如此以扩大存储所述系统管理信息的存储容量的方式,将每一区块124-0-124-N的起始分页中某一扇区的系统管理区的存储空间与该起始分页中的其它扇区的系统管理区的部分或全部存储空间整合,或者将每一区块124-0-124-N的起始分页中某一系统管理区的所有存储空间与该起始分页中的至少部分或全部系统管理区的所有存储空间整合。
然而,无论是以上述哪一种方式来进行起始分页中系统管理区的整合,每一区块124-0-124-N的起始分页中被整合过后的系统管理区所拥有的存储空间仍然还是会被分成上述实施例所述的系统管理数据存放区S_DATA与其对应的系统管理数据检测区S_EDC,所以每一系统管理数据存放区S_DATA还是拥有自己所对应的系统管理数据检测区S_EDC。
因此,当控制器122读取整合过后的系统管理区所存储的数据时,其也可以很快的就得知整合过后的系统管理区中的系统管理数据存放区S_DATA内所存储的数据是否有发生错误,藉此再对应的执行上述实施例所述的系统管理数据存放区S_DATA内所存储的数据正确或错误的流程后,即可在缓冲存储器122d内建立逻辑实体对应表,从而也能使得非易失性存储器存储装置120整体的管理效能被提升。
至此,上述所例举的两个实施例皆是利用系统管理数据检测区S_EDC所存储的EDC(亦即CRC)去检测其所对应的系统管理数据存放区S_DATA所存储的数据的正确性。其中,当控制器122依据系统管理数据检测区S_EDC所存储的EDC去检知其所对应的系统管理数据存放区S_DATA所存储的数据为正确时,控制器122就能且正确地将每一区块124-0-124-N的逻辑实体地址对应关系记录在缓冲存储器122d中。
但是,当控制器122依据系统管理数据检测区S_EDC所存储的EDC去检测其所对应的系统管理数据存放区S_DATA所存储的数据为错误时,此时控制器122才会将与该系统管理数据存放区S_DATA相对应的使用者数据存放区D与错误更正区M所存储的数据一并读出,藉此再利用错误更正区M所存储的ECC去修正系统管理数据存放区S_DATA内所存储的数据,待系统管理数据存放区S_DATA内所存储的数据被修正正确后,控制器122才会据以在缓冲存储器122d内建立逻辑实体对应表。
然而,依据本发明的精神,并不限制于上述实施例所揭示的内容。图5示出了本发明另一实施例的能提升非易失性存储器存储装置的管理效能的方法流程图。请合并参照图1A-1C及图4-5,由于MLC闪存制定要求所需的错误更正码的字节数会增加,所以可能会造成起始分页中每一系统管理区S的存储空间被迫缩减。因此,在本实施例中,在每一区块124-0-124-N的起始分页的一系统管理区S的存储容量在不足的条件下,上述实施例所述的第一系统管理区的存储空间更会与其起始分页的其它系统管理区的全部的存储空间整合在一起(以图4揭示的起始分页400为例,亦即将起始分页400的所有系统管理区S1-S4的存储空间整合在一起)。
由此,本实施例的能提升非易失性存储器存储装置120的管理效能的方法包括下列步骤:首先,如步骤S401所述,将所述起始分页400中所有系统管理区S1-S4所拥有的存储空间分成上述实施例所述的系统管理数据存放区S_DATA与其对应的一系统管理数据错误更正区S_ECC。接着,如步骤S403所述,每当供电至非易失性存储器存储装置120时,利用控制器122读出并判断所述起始分400页中所有系统管理区S1-S4所拥有的存储空间内所存储的数据是否正确。最后,如步骤S405所述,当控制器122判断出所述起始分页400中所有系统管理区S1-S4所拥有的存储空间内所存储的数据正确时,控制器122会据以在其内的缓冲存储器122d内建立逻辑实体对应表。
在本实施例中,每一区块124-0-124-N的起始分页中的所有系统管理区所拥有的存储空间会被一并整合在一起,且会被分成上述实施例所述的系统管理数据存放区S_DATA与其对应的一系统管理数据更正区S_ECC。因此,当控制器122读取整合过后的系统管理区所存储的数据时,其同样也可以很快的就得知整合过后的系统管理区中的系统管理数据存放区S_DATA内所存储的数据是否有发生错误。
另外,本实施例与上述几个实施例相同的是,当控制器122判断出所述起始分页中所有系统管理区所拥有的存储空间内所存储的数据正确时(亦即利用系统管理数据更正区S_ECC所存储的错误更正码去检测整合过后的系统管理区中的系统管理数据存放区S_DATA内所存储的数据是否有发生错误),控制器122会据以在其内的缓冲存储器122d内建立逻辑实体对应表。
然而,本实施例与上述几个实施例不同的是,当控制器122判断出所述起始分页中所有系统管理区所拥有的存储空间内所存储的数据错误时,此时控制器122会依据系统管理数据更正区S_ECC所存储的错误更正码(另一组ECC)去直接修正整合过后的系统管理区中的系统管理数据存放区S_DATA内所存储的数据,藉以使得整合过后的系统管理区中的系统管理数据存放区S_DATA内所存储的数据正确后,控制器122才会据以在其内的缓冲存储器122d内建立逻辑实体对应表。
由此可知,本实施例并不需要通过错误更正区M所存储的ECC即可将整合过后的系统管理区中的系统管理数据存放区S_DATA内所存储的数据修正正确,且同样地也可在缓冲存储器122d内建立逻辑实体对应表,从而也能使得非易失性存储器存储装置120整体的管理效能被提升。
据此,无论控制器122中的存储器管理模块122a执行上述实施例的任一所揭露的能提升非易失性存储器存储装置120的管理效能的方法,皆可使得非易失性存储器存储装置120整体的管理效能被提升,且更可解决MLC闪存制定要求所需的错误更正码(ECC)的字节数增加所造成起始分页中每一系统管理区S的存储空间被迫缩减而不敷使用的情形。
基于上述可知,依据本发明的精神,只要是将区块的任一分页中的系统管理区的存储空间做合并或分割的概念下,而使得分页内任一扇区的系统管理区的存储空间相异于同一扇区内其它系统管理区的存储空间时,就已经是符合本发明所欲保护的范畴。
再者,依据本发明的精神,本发明提供一种数据存储装置,其特征在于所述数据存储装置存储有一程序代码,且当一微处理器执行此程序代码时,此程序代码将会对非易失性存储器存储装置的非易失性存储器执行上述的任一实施例的能提升非易失性存储器存储装置的管理效能的方法,如此亦属本发明所欲保护的范畴。
除此之外,本发明所提出的能提升非易失性存储器存储装置的管理效能的方法可适用于各种以非易失性存储器作为存储媒体的装置。例如图6所示出的USB快闪盘602、数字相机(摄影机)604所使用的SD卡604a、MMC卡604b、CF卡604c与存储棒(memory stick)604d,以及固态硬盘606等。
综上所述,本发明提出一种能提升非易失性存储器存储装置的管理效能的方法及控制器,其主要是藉由当每一区块的起始分页的一系统管理区的存储容量在足够的条件下,将系统管理区分成两区,其一区用以存放系统管理数据(例如每一区块的逻辑实体地址对应关系),而另一区则用以存放检测系统管理数据的正确性的错误检测码。如此,当供电至非易失性存储器存储装置时,控制器仅读取每一区块的起始分页的系统管理区所存储的数据就能在控制器的缓冲存储器内建立每一区块的逻辑实体地址对应表。
再者,当每一区块的起始分页的一系统管理区的存储容量在不足的条件下,将每一区块的起始分页中的所有或部分系统管理区整合,藉以再将整合过后的系统管理区的存储空间分成两区,其一区用以存放系统管理数据(例如每一区块的逻辑实体地址对应关系),而另一区则用以存放修正系统管理数据的正确性的错误更正码,或者存放检测系统管理数据的正确性的错误检测码。如此,当供电至非易失性存储器存储装置时,控制器还是仅读取每一区块的起始分页的系统管理区所存储的数据。
因此,本发明所提出的能提升非易失性存储器存储装置的管理效能的方法及控制器不但能提升非易失性存储器存储装置的管理效能,且更可以有效率地管理及使用起始分页中所有系统管理区的存储空间,藉以来解决MLC闪存制定要求所需的错误更正码的字节增加所造成起始分页中每一系统管理区的存储空间不敷使用的情形。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何熟习此技艺者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视本发明申请专利范围所界定者为准。
Claims (22)
1.一种能提升非易失性存储器存储装置的管理效能的方法,该非易失性存储器存储装置包含一非易失性存储器与一控制器,该非易失性存储器具有多个区块,每一区块具有多个分页,每一分页具有多个使用者数据存放区及其对应的多个系统管理区与多个错误更正区,该方法包括下列步骤:
将所述区块中的至少一第一区块的所述分页中的一起始分页的至少一第一系统管理区的存储空间分成一系统管理数据存放区与其对应的一系统管理数据检测区,其中,当该第一系统管理区的存储空间在足够的条件下,该系统管理数据存放区用以存储一系统管理信息,该系统管理信息至少记录该第一区块的逻辑实体地址对应关系,而该系统管理数据检测区用以存储一错误检测码,另外,当该第一系统管理区的存储空间在不足够的条件下,该第一系统管理区的存储空间更会与该起始分页的至少一第二系统管理区的至少部分或全部的存储空间整合在一起,藉以致使该第一系统管理区的存储空间会大于该起始分页的其余系统管理区的存储空间,或者,该第一系统管理区的存储空间更会与该起始分页的其它系统管理区的存储空间整合在一起,藉以致使该起始分页中的所有系统管理区的存储空间整合在一起;
每当供电至该非易失性存储器存储装置时,利用该控制器读出并判断该第一系统管理区内所存储的数据是否正确;以及
当该控制器判断出该第一系统管理区内所存储的数据正确时,该控制器会据以在其内的一缓冲存储器内建立一逻辑实体对应表,藉以让使用该非易失性存储器存储装置的一主机得知该第一区块的逻辑实体地址对应关系。
2.如权利要求1所述的能提升非易失性存储器存储装置的管理效能的方法,还包括下列步骤:
当该控制器判断出该第一系统管理区内所存储的数据错误时,该控制器会读出与该第一系统管理区相对应的一第一使用者数据存放区与一第一错误更正区内所存储的数据,并且利用该第一错误更正区内所存储的一错误更正码来修正该第一系统管理区内所存储的数据,藉以使得该第一系统管理区内所存储的数据正确后,该控制器再据以在其内的该缓冲存储器内建立该逻辑实体对应表。
3.如权利要求2所述的能提升非易失性存储器存储装置的管理效能的方法,其中,判断该第一系统管理区内所存储的数据是否正确的步骤包括:
依据该错误检测码,而利用该控制器检知该系统管理信息是否正确。
4.如权利要求1所述的能提升非易失性存储器存储装置的管理效能的方法,其中,当该第一系统管理区的存储空间与该第二系统管理区的至少部分或全部的存储空间整合在一起时,该方法还包括下列步骤:
将整合过后的该第一与该第二系统管理区所拥有的存储空间分成该系统管理数据存放区与其对应的该系统管理数据检测区;
每当供电至该非易失性存储器存储装置时,利用该控制器读出并判断整合过后的该第一与该第二系统管理区所拥有的存储空间内所存储的数据是否正确;以及
当该控制器判断出整合过后的该第一与该第二系统管理区所拥有的存储空间内所存储的数据正确时,该控制器会据以于其内的该缓冲存储器内建立该逻辑实体对应表。
5.如权利要求4所述的能提升非易失性存储器存储装置的管理效能的方法,还包括下列步骤:
当该控制器判断出该第一与该第二系统管理区所拥有的存储空间内所存储的数据错误时,该控制器会读出与该第一系统管理区相对应的一第一使用者数据存放区与一第一错误更正区内所存储的数据,并且利用该第一错误更正区内所存储的一错误更正码来修正该第一与该第二系统管理区所拥有的存储空间内所存储的数据,藉以使得该第一与该第二系统管理区所拥有的存储空间内所存储的数据正确后,该控制器再据以在其内的该缓冲存储器内建立该逻辑实体对应表。
6.如权利要求5所述的能提升非易失性存储器存储装置的管理效能的方法,其中,判断整合过后的该第一与该第二系统管理区所拥有的存储空间内所存储的数据是否正确包括:
依据该错误检测码,而利用该控制器检知该系统管理信息是否正确。
7.如权利要求1所述的能提升非易失性存储器存储装置的管理效能的方法,其中,当该第一系统管理区的存储空间与该起始分页的其它系统管理区的存储空间整合在一起时,该方法还包括下列步骤:
将该起始分页中所有系统管理区所拥有的存储空间分成该系统管理数据存放区与其对应的一系统管理数据错误更正区;
每当供电至该非易失性存储器存储装置时,利用该控制器读出并判断该起始分页中所有系统管理区所拥有的存储空间内所存储的数据是否正确;以及
当该控制器判断出该起始分页中所有系统管理区所拥有的存储空间内所存储的数据正确时,该控制器会据以在其内的该缓冲存储器内建立该逻辑实体对应表。
8.如权利要求7所述的能提升非易失性存储器存储装置的管理效能的方法,还包括下列步骤:
当该控制器判断出该起始分页中所有系统管理区所拥有的存储空间内所存储的数据错误时,该控制器会利用该系统管理数据错误更正区内所存储的一错误更正码来修正该起始分页中所有系统管理区所拥有的存储空间内所存储的数据,藉以使得该起始分页中所有系统管理区所拥有的存储空间内所存储的数据正确后,该控制器再据以在其内的该缓冲存储器内建立该逻辑实体对应表。
9.如权利要求1所述的能提升非易失性存储器存储装置的管理效能的方法,其中,该错误检测码包括一循环冗余检查码。
10.一种控制器,其适用于一非易失性存储器存储装置,该控制器包括:
一微处理单元,用以控制该控制器的整体运作;
一非易失性存储器接口,电性连接至该微处理单元并且用以存取该非易失性存储器存储装置的一非易失性存储器,其中该非易失性存储器具有多个区块,每一区块具有多个分页,每一分页具有多个使用者数据存放区及其对应的多个系统管理区与多个错误更正区;
一缓冲存储器,电性连接至该微处理单元并且用以暂时地存储数据;以及
一存储器管理模块,电性连接至该微处理单元并且用以管理该非易失性存储器,其中,该存储器管理模块会执行一能提升该非易失性存储器存储装置的管理效能的方法,该方法包括下列步骤:
将所述区块中的至少一第一区块的所述分页中的一起始分页的至少一第一系统管理区的存储空间分成一系统管理数据存放区与其对应的一系统管理数据检测区,其中,当该第一系统管理区的存储空间在足够的条件下,该系统管理数据存放区用以存储一系统管理信息,该系统管理信息至少记录该第一区块的逻辑实体地址对应关系,而该系统管理数据检测区用以存储一错误检测码,另外,当该第一系统管理区的存储空间在不足够的条件下,该第一系统管理区的存储空间更会与该起始分页的至少一第二系统管理区的至少部分或全部的存储空间整合在一起,藉以致使该第一系统管理区的存储空间会大于该起始分页的其余系统管理区的存储空间,或者,该第一系统管理区的存储空间更会与该起始分页的其它系统管理区的存储空间整合在一起,藉以致使该起始分页中的所有系统管理区的存储空间整合在一起;
每当供电至该非易失性存储器存储装置时,利用该微处理单元通过该非易失性存储器接口读出并判断该第一系统管理区内所存储的数据是否正确;以及
当该微处理单元判断出该第一系统管理区内所存储的数据正确时,该微处理单元会据以于该缓冲存储器内建立一逻辑实体对应表,藉以让使用该非易失性存储器存储装置的一主机得知该第一区块的逻辑实体地址对应关系。
11.如权利要求10所述的控制器,其中,该能提升非易失性存储器存储装置的管理效能的方法还包括下列步骤:
当该微处理单元判断出该第一系统管理区内所存储的数据错误时,该微处理单元会通过该非易失性存储器接口读出与该第一系统管理区相对应的一第一使用者数据存放区与一第一错误更正区内所存储的数据,并且利用该第一错误更正区内所存储的一错误更正码来修正该第一系统管理区内所存储的数据,藉以使得该第一系统管理区内所存储的数据正确后,该微处理单元再据以于该缓冲存储器内建立该逻辑实体对应表。
12.如权利要求11所述的控制器,其中,判断该第一系统管理区内所存储的数据是否正确的步骤包括:
依据该错误检测码,而利用该微处理单元检知该系统管理信息是否正确。
13.如权利要求10所述的控制器,其中,当该第一系统管理区的存储空间与该第二系统管理区的至少部分或全部的存储空间整合在一起时,该方法还包括下列步骤:
将整合过后的该第一与该第二系统管理区所拥有的存储空间分成该系统管理数据存放区与其对应的该系统管理数据检测区;
每当供电至该非易失性存储器存储装置时,利用该微处理单元通过该非易失性存储器接口读出并判断整合过后的该第一与该第二系统管理区所拥有的存储空间内所存储的数据是否正确;以及
当该微处理单元判断出整合过后的该第一与该第二系统管理区所拥有的存储空间内所存储的数据正确时,该微处理单元会据以在该缓冲存储器内建立该逻辑实体对应表。
14.如权利要求13所述的控制器,其中,该能提升非易失性存储器存储装置的管理效能的方法还包括下列步骤:
当该微处理单元判断出该第一与该第二系统管理区所拥有的存储空间内所存储的数据错误时,该微处理单元会通过该非易失性存储器接口读出与该第一系统管理区相对应的一第一使用者数据存放区与一第一错误更正区内所存储的数据,并且利用该第一错误更正区内所存储的一错误更正码来修正该第一与该第二系统管理区所拥有的存储空间内所存储的数据,藉以使得该第一与该第二系统管理区所拥有的存储空间内所存储的数据正确后,该微处理单元再据以于该缓冲存储器内建立该逻辑实体对应表。
15.如权利要求14所述的控制器,其中,判断整合过后的该第一与该第二系统管理区所拥有的存储空间内所存储的数据是否正确包括:
依据该错误检测码,而利用该微处理单元检知该系统管理信息是否正确。
16.如权利要求10所述的控制器,其中,当该第一系统管理区的存储空间与该起始分页的其它系统管理区的存储空间整合在一起时,该方法还包括下列步骤:
将该起始分页中所有系统管理区所拥有的存储空间分成该系统管理数据存放区与其对应的一系统管理数据错误更正区;
每当供电至该非易失性存储器存储装置时,利用该微处理单元通过该非易失性存储器接口读出并判断该起始分页中所有系统管理区所拥有的存储空间内所存储的数据是否正确;以及
当该微处理单元判断出该起始分页中所有系统管理区所拥有的存储空间内所存储的数据正确时,该微处理单元会据以在该缓冲存储器内建立该逻辑实体对应表。
17.如权利要求16所述的控制器,其中,该能提升非易失性存储器存储装置的管理效能的方法还包括下列步骤:
当该微处理单元判断出该起始分页中所有系统管理区所拥有的存储空间内所存储的数据错误时,该微处理单元会利用该系统管理数据错误更正区内所存储的一错误更正码来修正该起始分页中所有系统管理区所拥有的存储空间内所存储的数据,藉以使得该起始分页中所有系统管理区所拥有的存储空间内所存储的数据正确后,该微处理单元再据以在该缓冲存储器内建立该逻辑实体对应表。
18.一种非易失性存储器存储装置,该非易失性存储器存储装置包括一非易失性存储器与一控制器,其特征在于:
该非易失性存储器具有多个区块,每一区块具有多个分页,每一分页具有多个使用者数据存放区及其对应的多个系统管理区与多个错误更正区;以及
该控制器包括一微处理单元、一非易失性存储器接口、一缓冲存储器与一存储器管理模块,其特征在于:
该微处理单元用以控制该控制器的整体运作;
该非易失性存储器接口电性连接至该微处理单元并且用以存取该非易失性存储器;
该缓冲存储器电性连接至该微处理单元并且用以暂时地存储数据;以及
该存储器管理模块电性连接至该微处理单元并且用以管理该非易失性存储器,其中该存储器管理模块会执行一能提升该非易失性存储器存储装置的管理效能的方法,该方法包括下列步骤:
将所述区块中的至少一第一区块的所述分页中的一起始分页的至少一第一系统管理区的存储空间分成一系统管理数据存放区与其对应的一系统管理数据检测区,其中,当该第一系统管理区的存储空间在足够的条件下,该系统管理数据存放区用以存储一系统管理信息,该系统管理信息至少记录该第一区块的逻辑实体地址对应关系,而该系统管理数据检测区用以存储一错误检测码,另外,当该第一系统管理区的存储空间在不足够的条件下,该第一系统管理区的存储空间更会与该起始分页的至少一第二系统管理区的至少部分或全部的存储空间整合在一起,藉以致使该第一系统管理区的存储空间会大于该起始分页的其余系统管理区的存储空间,或者,该第一系统管理区的存储空间更会与该起始分页的其它系统管理区的存储空间整合在一起,藉以致使该起始分页中的所有系统管理区的存储空间整合在一起;
每当供电至该非易失性存储器存储装置时,利用该微处理单元通过该非易失性存储器接口读出并判断该第一系统管理区内所存储的数据是否正确;以及
当该微处理单元判断出该第一系统管理区内所存储的数据正确时,该微处理单元会据以于该缓冲存储器内建立一逻辑实体对应表,藉以让使用该非易失性存储器存储装置的一主机得知该第一区块的逻辑实体地址对应关系。
19.如权利要求18所述的非易失性存储器存储装置,其中,该能提升非易失性存储器存储装置的管理效能的方法还包括下列步骤:
当该微处理单元判断出该第一系统管理区内所存储的数据错误时,该微处理单元会通过该非易失性存储器接口读出与该第一系统管理区相对应的一第一使用者数据存放区与一第一错误更正区内所存储的数据,并且利用该第一错误更正区内所存储的一错误更正码来修正该第一系统管理区内所存储的数据,藉以使得该第一系统管理区内所存储的数据正确后,该微处理单元再据以于该缓冲存储器内建立该逻辑实体对应表。
20.如权利要求19所述的非易失性存储器存储装置,其中,判断该第一系统管理区内所存储的数据是否正确的步骤包括:
依据该错误检测码,而利用该微处理单元检知该系统管理信息是否正确。
21.如权利要求18所述的非易失性存储器存储装置,其中,当该第一系统管理区的存储空间与该第二系统管理区的至少部分或全部的存储空间整合在一起时,该方法还包括下列步骤:
将整合过后的该第一与该第二系统管理区所拥有的存储空间分成该系统管理数据存放区与其对应的该系统管理数据检测区;
每当供电至该非易失性存储器存储装置时,利用该微处理单元通过该非易失性存储器接口读出并判断整合过后的该第一与该第二系统管理区所拥有的存储空间内所存储的数据是否正确;以及
当该微处理单元判断出整合过后的该第一与该第二系统管理区所拥有的存储空间内所存储的数据正确时,该微处理单元会据以在该缓冲存储器内建立该逻辑实体对应表,
其中,当该微处理单元判断出该第一与该第二系统管理区所拥有的存储空间内所存储的数据错误时,该微处理单元会通过该非易失性存储器接口读出与该第一系统管理区相对应的一第一使用者数据存放区与一第一错误更正区内所存储的数据,并且利用该第一错误更正区内所存储的一错误更正码来修正该第一与该第二系统管理区所拥有的存储空间内所存储的数据,藉以使得该第一与该第二系统管理区所拥有的存储空间内所存储的数据正确后,该微处理单元再据以于该缓冲存储器内建立该逻辑实体对应表。
22.如权利要求18所述的非易失性存储器存储装置,其中,当该第一系统管理区的存储空间与该起始分页的其它系统管理区的存储空间整合在一起时,该方法还包括下列步骤:
将该起始分页中所有系统管理区所拥有的存储空间分成该系统管理数据存放区与其对应的一系统管理数据错误更正区;
每当供电至该非易失性存储器存储装置时,利用该微处理单元通过该非易失性存储器接口读出并判断该起始分页中所有系统管理区所拥有的存储空间内所存储的数据是否正确;以及
当该微处理单元判断出该起始分页中所有系统管理区所拥有的存储空间内所存储的数据正确时,该微处理单元会据以在该缓冲存储器内建立该逻辑实体对应表,
其中,当该微处理单元判断出该起始分页中所有系统管理区所拥有的存储空间内所存储的数据错误时,该微处理单元会利用该系统管理数据错误更正区内所存储的一错误更正码来修正该起始分页中所有系统管理区所拥有的存储空间内所存储的数据,藉以使得该起始分页中所有系统管理区所拥有的存储空间内所存储的数据正确后,该微处理单元再据以在该缓冲存储器内建立该逻辑实体对应表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100912257A CN101566969B (zh) | 2008-04-21 | 2008-04-21 | 提升非易失性存储器存储装置的管理效能的方法及控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100912257A CN101566969B (zh) | 2008-04-21 | 2008-04-21 | 提升非易失性存储器存储装置的管理效能的方法及控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101566969A CN101566969A (zh) | 2009-10-28 |
CN101566969B true CN101566969B (zh) | 2011-05-18 |
Family
ID=41283127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100912257A Active CN101566969B (zh) | 2008-04-21 | 2008-04-21 | 提升非易失性存储器存储装置的管理效能的方法及控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101566969B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013147894A1 (en) * | 2012-03-30 | 2013-10-03 | Intel Corporation | Solid state drive management in power loss recovery |
US9116792B2 (en) * | 2012-05-18 | 2015-08-25 | Silicon Motion, Inc. | Data storage device and method for flash block management |
CN104951406B (zh) * | 2015-06-12 | 2018-05-04 | 上海华为技术有限公司 | 一种分页式地址空间管理方法以及控制器 |
CN113954765A (zh) * | 2021-10-28 | 2022-01-21 | 合众新能源汽车有限公司 | 车型配置字的控制方法和控制系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567476A (zh) * | 2003-06-24 | 2005-01-19 | 群联电子股份有限公司 | 闪存高速大区块的数据写入方法 |
CN1619507A (zh) * | 2003-11-21 | 2005-05-25 | 群联电子股份有限公司 | 令随机存取闪存最佳效能的控制方法 |
CN1741195A (zh) * | 2004-08-26 | 2006-03-01 | 旺玖科技股份有限公司 | 非挥发性记忆体的资料更新方法 |
-
2008
- 2008-04-21 CN CN2008100912257A patent/CN101566969B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567476A (zh) * | 2003-06-24 | 2005-01-19 | 群联电子股份有限公司 | 闪存高速大区块的数据写入方法 |
CN1619507A (zh) * | 2003-11-21 | 2005-05-25 | 群联电子股份有限公司 | 令随机存取闪存最佳效能的控制方法 |
CN1741195A (zh) * | 2004-08-26 | 2006-03-01 | 旺玖科技股份有限公司 | 非挥发性记忆体的资料更新方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101566969A (zh) | 2009-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8001317B2 (en) | Data writing method for non-volatile memory and controller using the same | |
US8583860B2 (en) | Block management method for flash memory and controller and storage system using the same | |
US8074148B2 (en) | Memory management method and controller for non-volatile memory storage device | |
US9146854B2 (en) | Restoring storage devices based on flash memories and related circuit, system, and method | |
CN101494085B (zh) | 防止非易失性存储器发生读取干扰的方法及其控制器 | |
US20090198875A1 (en) | Data writing method for flash memory, and controller and system using the same | |
CN102157202B (zh) | 防止非易失性存储器发生读取干扰的方法及其控制器 | |
US11733895B2 (en) | Control method of flash memory controller and associated flash memory controller and storage device | |
TWI479315B (zh) | 記憶體儲存裝置、其記憶體控制器與資料寫入方法 | |
CN104699413A (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
US11467758B2 (en) | Data writing method using different programming modes based on the number of available physical erasing units, memory control circuit unit and memory storage device | |
TW201945927A (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
CN102053796A (zh) | 闪存储存系统、闪存控制器与数据处理方法 | |
US9965400B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
CN102567221B (zh) | 数据管理方法、存储器控制器与存储器储存装置 | |
CN101566969B (zh) | 提升非易失性存储器存储装置的管理效能的方法及控制器 | |
US20120317346A1 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
US8966161B2 (en) | Memory storage device and restoring method thereof | |
CN103106148B (zh) | 区块管理方法、存储器控制器与存储器存储装置 | |
CN102129353A (zh) | 闪存储存系统、闪存控制器与数据写入方法 | |
CN103914391A (zh) | 数据读取方法、存储器控制器与存储器存储装置 | |
CN102543184B (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN101872318B (zh) | 用于快闪记忆体的资料存取方法及其储存系统与控制器 | |
CN102841853B (zh) | 存储器管理表处理方法、存储器控制器与存储器储存装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |