CN101133400A - 存储器控制器,非易失性存储器,非易失性存储器系统,和非易失性存储器地址管理方法 - Google Patents
存储器控制器,非易失性存储器,非易失性存储器系统,和非易失性存储器地址管理方法 Download PDFInfo
- Publication number
- CN101133400A CN101133400A CNA2006800064702A CN200680006470A CN101133400A CN 101133400 A CN101133400 A CN 101133400A CN A2006800064702 A CNA2006800064702 A CN A2006800064702A CN 200680006470 A CN200680006470 A CN 200680006470A CN 101133400 A CN101133400 A CN 101133400A
- Authority
- CN
- China
- Prior art keywords
- ranges
- logical addresses
- size
- address
- logical
- 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.)
- Granted
Links
Images
Abstract
用于非易失性存储器的地址管理,将整个逻辑地址空间划分成逻辑地址范围(0至15),将物理地址空间划分成物理区(分段0至15)。使逻辑地址范围分别与物理区相关联,以管理所述地址。使逻辑地址范围的大小均衡。使与要存储诸如FAT之类被更频繁地重写的数据的逻辑地址范围(0)对应的物理区(分段(0))的大小比其它物理区的大小大,并分配逻辑地址范围和物理区。最为替换,使物理区的大小均衡,设置逻辑地址范围(0)的大小比其它逻辑地址范围的大小小。这样,物理区(分段)的实际重写频率彼此相等,由此能够延长非易失性存储器的寿命。
Description
技术领域
本发明涉及用于控制诸如闪存器之类的非易失性存储器的存储器控制器和用于这种非易失性存储器的地址管理方法。本发明还涉及非易失性存储设备,以及向和从该非易失性存储器写入和读取数据的非易失性存储系统。
背景技术
对包括可重写非易失性存储器,主要是半导体存储卡的非易失性存储设备的需求日益增加,这些非易失性存储设备作为供以个人计算机(PC)为代表的非实时记录装置和以数码相机为代表的实时记录装置使用的外部记录设备。目前有各种类型的半导体存储卡,这些半导体存储卡中的一种是SD(安全数字(商标))存储卡。
这种SD存储卡包括作为非易失性存储器的闪存器和用于控制闪存器的存储器控制器。存储器控制器响应来自诸如PC之类的存取装置的、用于读取和写入的命令,控制从和向闪存器读取和写入。
考虑到这种SD卡被装载到诸如PC之类的存取装置的情况,使得SD卡被认为是可相对于存取装置移动的盘,并且由用于向其存取数据的FAT文件系统管理。利用FAT系统,在向记录设备记录文件或数据的过程中,通常是使用文件分配表(FAT),在逐簇的基础上读取和写入数据。
在半导体存储卡中作为主要储存存储器的闪存器包括作为擦除单元的多个物理块,每个物理块包括作为写入单元的页。采用这种闪存器的半导体存储卡存在着能够向其中的写入数据的次数受到限制的特定问题。虽然通过新存储器技术已经对此做出了改善,就数据存储的可靠性而言,在使用半导体存储卡作为外部存储设备的情况下,这种半导体存储卡还不够完美。因此,在这种半导体存储卡中存在着对管理数据可靠性,以及数据的读取和写入可靠性的需要。
通常,在半导体存储卡中准备替换块,用替换块来替换引起读/写差错的坏块,以便改善可靠性。另外,为了防止数据的重写集中在某个特定的物理块,已经采用诸如消耗均衡(wear leveling)之类的地址管理方法。消耗均衡是将由存取装置指定的逻辑地址转换成闪存器中的物理地址的所谓逻辑向物理地址转换技术,并且通常利用地址管理表来实现。
作为一种消耗均衡方法,传统上采用的是分散型地址管理方法。分散型地址管理方法是一种在初始化时,在作为写入单位的页的管理区中预存储逻辑地址和对应块的状态标记,读取预存储的信息,并根据读取的信息在存储器控制器中的RAM中生成地址管理表。
然而,在非易失性存储设备具有大容量存储空间的情况下,在初始化时,上述消耗均衡方法需要极长的时间段来读取整个存储空间中的管理区。这可能会违反规范,例如,以这种方式使初始化时间超过被超过的非易失性存储设备的初始化时间的规范中的上限。另外,即使在非易失性存储设备没有特定规范的情况下,上述消耗均衡方法造成了增加等待时间的缺点,直到非易失性存储设备变为可存取为止,即使这并没有违反规范。此外,需要临时存储地址管理表的RAM具有极大的容量,由此造成增加成本的问题。
为了克服上述问题,专利文献1(**)中描述的存储设备采用了(1)分段管理方法和(2)集中型地址管理方法这两种技术的组合。
分段管理方法是一种把由地址装置管理的整个逻辑地址空间划分成多个逻辑地址范围(区域),并与通过物理地划分闪存器而在闪存器中生成的多个物理区(分段)相关联地管理该多个逻辑地址范围的方法。
另一方面,集中型地址管理方法是一种在闪存器中预存地址管理表本身,响应来自存取装置的每个时间写入命令,读取RAM中的地址管理表,更新RAM中的地址管理表,并在数据写入结束之后将其重写到闪存器的方法。
**专利文献1:JP-A-2003-323352
发明内容
本发明要解决的问题
在传统的非易失性存储设备中,如图17所示,物理空间被划分成具有相同大小的分段(物理区)。由于物理区中的各个分段具有相同大小,数据能够被向各个分段重写相同次数。另一方面,逻辑空间也被划分成同样大小。
文件分配表(FAT)被重写的频繁程度比其它数据被重写的频繁程度高。另外,该文件分配表被写到地址范围的头区(例如,图17中的逻辑地址范围0)。
在存在被更频繁地重写的数据,例如FAT,的情况下,以比其它逻辑地址范围(逻辑地址范围1至15)更频繁地存取包括该数据的逻辑地址范围(逻辑地址范围0)。因此,与地址范围0对应的分段(分段0)比其它分段(分段)更早地达到可重写寿命,造成在分段0达到其寿命时,即使还存在可使用的存储区,非易失性存储设备也变得不可使用的问题。
鉴于上述传统问题做出了本发明,本发明的目的在于提供能够实现提高其寿命的非易失性存储设备的技术。
解决问题的技术手段
根据本发明的存储器控制器是一种根据从外部存取装置提供的命令和逻辑地址向和从非易失性存储器写入和读取数据的控制器。所述存储器控制器包括:读取/写入控制器,用于控制从和向所述非易失性存储器读取和写入数据;和地址管理部分,用于将整个逻辑地址空间划分成多个逻辑地址范围,对各个逻辑地址范围进行地址管理,将所述非易失性存储器的存储区物理地分成多个物理区,使所述逻辑地址范围与所述物理区相关联地管理所述逻辑地址范围和所述物理区;其中所述地址管理部分包括:区分配部分,用于确定所述逻辑地址范围和所述物理区的分配,使得至少一个逻辑地址范围的逻辑地址范围大小与物理区大小之比与其它逻辑地址范围的逻辑地址范围大小与物理区大小之比不同。
区分配部分可以以使各个逻辑地址范围的大小相同的方式分配逻辑地址范围,以使至少一个物理区的大小与其它物理区的大小不同的方式分配物理区。这种情况下,可以设置与存储被更频繁重写的数据的逻辑地址范围对应的物理区大小比其它物理区的大小大。
作为替换,区分配部分可以以使各个物理区的大小相同的方式分配物理区,以使至少一个逻辑地址范围的大小与其它逻辑地址范围的大小不同的方式分配逻辑地址范围。这种情况下,可以设置与存储被更频繁重写的数据的逻辑地址范围比其它逻辑地址范围的大小小。
被更频繁重写的数据可以是用于管理诸如文件分配表(FAT)之类的文件的管理信息。
根据本发明的非易失性存储设备包括非易失性存储器,和上面描述的向和从非易失性存储器写入和读取数据的存储器控制器。
根据本发明的非易失性存储设备包括上述非易失性存储设备,通过指定其中的逻辑地址来存取该非易失性存储设备的存储装置。
未非易失性存储器提供一种根据本发明的地址管理方法,所述非易失性存储器包括多个物理块,并适用于根据从存取装置提供的命令和逻辑地址向和从非易失性存储器写入和读取数据。所述方法包括步骤:将整个逻辑地址空间划分成多个逻辑地址范围,对各个逻辑地址范围进行地址管理;将所述非易失性存储器的存储区物理地分成多个物理区,使所述逻辑地址范围与所述物理区相关联地管理所述逻辑地址范围和所述物理区;确定所述逻辑地址范围和所述物理区的分配,使得至少一个逻辑地址范围的逻辑地址范围大小与物理区大小之比与其它逻辑地址范围的逻辑地址范围大小与物理区大小之比不同。
本发明的技术效果
根据本发明,对逻辑地址范围和分段进行分配,使得逻辑地址范围与分段的比例针对具有更高重写频率的逻辑地址范围与针对其它逻辑地址范围的比例不同。这样能够均衡每个分段的重写频率,从而延长非易失性存储设备的寿命。
附图说明
图1是表示根据本发明第一实施方式的整个非易失性存储系统的配置的方框图。
图2是表示根据本发明第一实施方式的逻辑地址空间与物理地址空间之间对应关系的存储映射图的示意图。
图3是表示根据本发明的非易失性存储设备中,非易失性存储器中的物理块的示意图。
图4是表示根据本发明第一实施方式,在非易失性存储设备中的物理区管理表的示意图。
图5是表示根据本发明第一实施方式,在非易失性存储设备中的逻辑/物理地址转换表的示意图。
图6是表示根据本发明第一实施方式,在非易失性存储设备中的区分配表的存储映射图的示意图。
图7是表示根据本发明第一实施方式,在非易失性存储设备的逻辑扇区序号LSN(逻辑扇区地址)与物理扇区序号PSN(物理扇区地址)之间的对应关系的地址格式的示意图。
图8是表示根据本发明第一实施方式,由非易失性存储设备中的区分配部分进行的处理流程图。
图9是表示根据本发明第一实施方式,由非易失性存储设备中的地址转换部分进行的处理流程图。
图10是表示根据本发明第二实施方式的整个非易失性存储系统的配置的方框图。
图11是表示根据本发明第二实施方式的逻辑地址空间与物理地址空间之间对应关系的存储映射图的示意图。
图12是表示根据本发明第二实施方式,在非易失性存储设备中的物理区管理表的示意图。
图13是表示根据本发明第二实施方式,在非易失性存储设备中的逻辑/物理地址转换表的示意图。
图14是表示根据本发明第二实施方式,在非易失性存储设备中的区分配表的存储映射图的示意图。
图15是表示根据本发明第二实施方式,由非易失性存储设备中的区分配部分进行的处理流程图。
图16是表示根据本发明第二实施方式,由非易失性存储设备中的地址转换部分进行的处理流程图。
图17是表示根据传统实施方式的逻辑地址空间与物理地址空间之间对应关系的存储映射图的示意图。
<参考标号>
200:存取装置
201:主机接口
202:缓存存储器
203:CPU
204:RAM
205:ROM
206,206b:区分配部分
207,207b:区分配表
208,208b:地址转换部分
209,209b:物理区管理表
210,210b:逻辑/物理地址转换表
211:读取/写入控制器
215,215b:地址管理部分
220:存储器控制器
230:非易失性存储器
240,240b:非易失性存储系统
具体实施方式
下面参考附图描述根据本发明实施方式的非易失性存储系统。第一实施方式
1.1系统配置
图1是表示根据本发明第一实施方式的非易失性存储器系统的配置的示意图。非易失性存储器系统包括存取装置200和由存取装置200向其写入和从其读取数据的非易失性存储器设备240。
非易失性存储器设备240根据来自存取装置200的数据写入命令将数据存储在其中,根据来自存取装置200的数据读取命令从中读取其中存储的数据。非易失性存储器设备240包括存储器控制器220和非易失性存储器230。存储器控制器220包括主机接口201,缓存存储器202,CPU203,RAM204,ROM205,区分配部分206,地址转换部分208,和读取/写入控制器211。区分配部分206和地址转换部分208构成地址管理部分215。
区分配部分206包括区分配表207,地址转换部分208包括物理区管理表209和逻辑/物理地址转换表210。
区分配部分206将逻辑地址空间中的逻辑地址范围与物理地址空间中的分段相关联。下面描述逻辑地址范围和分段。
图2示出了指定根据第一实施方式的逻辑地址空间与物理地址空间之间对应关系的存储映射图。逻辑地址空间是由存取装置200在写入和读取数据中指定的地址空间,物理地址空间是诸如闪存器之类的非易失性存储器230的物理地址的空间。在本实施方式中,逻辑地址空间被划分成16个范围,作为逻辑地址范围1至15,而物理地址空间被划分成16个分段,作为分段0至15。每个分段包括多个物理块,每个单个的物理块的大小是16k字节。在同一图中,PBtn(S)指示分段S中包括的物理块的总数。PBsn(S)指示分段S中物理块的启起始序号。S是0至15范围中的整数。区分配部分206将图2所示的物理地址范围与分段相关联。
返回图1,地址转换部分208根据区分配部分206进行的区分配处理确定诸如数据写入目的地地址(要写入数据处)之类的地址。读取/写入控制器211向和从由地址转换部分208指定的物理地址写入和读取数据。
区分配表207可以被存储到合并在区分配部分206中的非易失性RAM(未示出)中,也可以被存储在非易失性存储器230中,并且能够在非易失性存储设备240初始化时读入非易失性RAM。为了便于描述,本实施方式以非易失性RAM中存储的区分配表207的前提为基础。
在非易失性存储器230中的每个分段中存储一组物理区管理表209和逻辑/物理地址转换表210,提供单组物理区管理表209和逻辑/物理地址转换表210,用于管理对应单个分段范围内的地址。下文中,物理区管理表209和逻辑/物理地址转换表210的所有组统称为“地址管理表”。
非易失性存储器230具有1GB字节(1,073,741,824字节)的存储容量。如图2所示,从存取装置200看去的地址空间,即逻辑地址空间具有1,040,187,392字节的存储空间。
图3是非易失性存储器230中物理块的配置示意图。单个物理块包括32页,每页由512字节的数据区和16字节的管理区构成。单个物理块中能够存储16k字节(512字节×32页)的数据。在写入单簇(对应于单个逻辑块)的情况下,将数据按顺序写入单个物理块中的0至31页的区。在页0的管理区中,存储有关物理块的分散管理信息。分散管理信息包括由存取装置200指定的逻辑块序号,和指示物理块状态的块状态。在非易失性存储器240初始化时,从非易失性存储器230与分段序号S对应的区中包括的各个物理块读取分散管理信息,然后在分段S的区域中生成和存储针对分段S的地址管理表。
图4是表示物理区管理表209的示意图。在图4中,物理区管理表209的各个项的地址对应于非易失性存储器230中分段S中的物理块序号PBN(S)。物理区管理表209针对每个物理块存储“有效”,“无效”,“坏”等作为有关其状态(块状态)的信息。更具体地讲,二进制值“00”指示作为已经被写入有效数据的块的有效块。二进制值“11”指示已经从其擦除数据或已经写入数据,但该数据是不必要的无效块。二进制值“10”指示作为由于存储器单元值的实体错误等造成块不可使用的坏块。二进制值“01”指示物理块存储地址管理表。如上所述,存在指示四种状态。
图5示出了逻辑/物理地址转换表210的示意图。在图5中,逻辑/物理地址转换表210各项的地址对应于分段S中的逻辑块序号LBN(S)。在地址区中,存储与逻辑块序号LBN(S)对应的物理块序号PBN(S)。
图6示出了区分配表207的存储器映射图。区分配表207中各项的地址对应于分段序号S,在地址区中,存储各个对应分段S的物理块起始序号PBsn(S)和对应的各个分段S中的物理块的总数PBtn(S)。就是说,区分配表207包括存储物理块的起始序号PBsn(S)的部分,和存储物理块的总数PBtn(S)的部分。前者对应于各个分段的起始地址,后者指示构成各个分段的物理块的总数。
图7示出了指示逻辑扇区序号LSN(逻辑扇区地址)和物理扇区序号PSN(物理扇区地址)之间对应关系的地址格式。逻辑扇区序号LSN的比特0至4(LSN[4:0])对应物理块中的页号(PSN[4:0])。逻辑扇区序号LSN的比特20至5对应逻辑块序号LBN。逻辑块序号LBN对应簇号。区分配部分206根据逻辑块序号LBN进行图6中所示的去分配处理。
1.2操作
下面描述具有上述配置的非易失性存储设备240的操作。
1.2.1基本操作
在出货后第一次使用非易失性存储设备240时,非易失性存储器230中的所有非坏块全部处在擦除状态。然而,在每个分段中,在每个分段的最终地址的单个物理块中存储了各为管理每个分段中的地址而提供的地址管理表。此时,在物理区域管理表209中,针对存储包括物理区管理表209的地址管理表物理块,即在最终地址的物理块,将状态标记设置为“01”,针对坏物理块将设置的状态标记设置为“10”。虽然实际存在存储系统信息的系统区,但这并不涉及本发明的概念,在此省略对其的描述。
非易失性存储器240通电之后,CPU203根据ROM205中存储的程序进行初始化处理,并进入等待来自存取装置200的读取、写入等命令的状态。
此后,存取装置200产生写入所希望的逻辑地址范围的命令。可以将诸如图像数据之类的所谓内容数据(下文简称为“数据”)写入所有逻辑地址范围,而FAT只能被写入逻辑地址范围0。每当写入数据或FAT时,从在该分段最终地址的单个物理块读取与写入目的地逻辑地址范围对应的非易失性存储器230中的分段中存储的地址管理表。根据读取的地址管理表,产生物理区管理表209和逻辑/物理地址转换表210,然后将它们存储在地址转换部分208中的RAM中。
在写入数据或FAT的过程中,根据物理区管理表209和逻辑/物理地址转换表210确定写入目的地物理块,并将数据或FAT写入物理块。在将数据或FAT写入至此之后,地址转换部分208更新RAM中的物理区管理表209和逻辑/物理地址转换表210,并将它们重写在非易失性存储器230中。由于存储地址管理表的物理块也受到消耗均衡,每当写入数据或FAT时,改变向其重写地址管理表的物理块,后面将对此进行描述。
这种情况下,为了便于描述,基于下面的前提进行写入。
<写入前提>
(1)非易失性存储设备具有2MB/秒的写入速度。
(2)在1秒的数据写入期间,FAT被写入一次。
(3)针对单个写入命令写入与单个簇(16k字节)对应的数据。
(4)FAT是以FAT1和FAT2双重化的,各具有16k字节的容量,因此,FAT的总容量为32k字节。针对单个写入命令写入对应于32k字节的FAT。
(5)物理块的大小为16k字节(参见图3)。
(6)非易失性存储器230中坏块的发生率是2%,每个分段中坏块的发生率也是2%。
(7)物理区域管理表209(约1k字节)和逻辑/物理地址转换表210(约8k字节)在关联分段中的单个物理块中被存储在一起。存储在一起的这些表被称为“地址管理表”。
(8)单个地址管理表被存储在非易失性存储器230中每个分段中的单个物理块中。对于存取装置200的每次存取,读取地址转换部分208中RAM中的地址管理表,然后生成物理区管理表209和逻辑/物理地址转换表210。写入数据或FAT之后,更新RAM中的物理区管理表209和逻辑/物理地址转换表210,然后在与上述物理块不同的物理块中将它们重写为更新的地址管理表。
1.2.2考虑重写频繁程度
与传统的非易失性存储设备相比,在根据上述预定条件写入的情况下,考虑根据本发明第一实施方式向非易失性存储设备中的每个分段重写的频繁程度。
<传统的非易失性存储设备>
如图19所示,传统的非易失性存储设备包括具有相同大小的分段,因此,在向整个逻辑空间,即大约1GB字节的区域中,重写数据的情况下,向存储FAT的分段0重写数据的频率比向其它分段重写数据的频率高。
更具体地讲,首先,如果重写整个逻辑空间,即大约1GB字节的区域中,存储的所有数据,被重写数据的每个分段中的物理块的数量是3968,与构成对应的逻辑地址范围的簇的数量相等。根据前提条件(1)和等式(1),重写所需的时间段是512秒。
1[GB字节]/2[MB/秒]=512[秒](1)
根据前提条件(2),(4)和(5),512秒期间FAT(32字节)被重写512次。由于FAT只被分配给分段0,在FAT的重写期间,根据下面的等式(2),向其重写FAT的分段0中物理块的数量是1024。
(32[k字节]/16[k字节])×512[次]=1024(2)
由于分段1至15只包括数据,根据等式(3),向每个物理块重写数据的频率是0.97次。
3968/4096=0.97次(3)
另一方面,由于分段0包括数据和FAT,根据等式(4),向分段0中每个物理块重写数据或FAT的频率是1.22次。这种情况下,等式(4)左手侧的“-2”对应于针对FAT1和FAT2减去2簇。
(3968-2+1024)/4096≌1.22次(4)
从等式(3)和(4)中已经证明,向分段0重写的频率比向其它分段重写的频率高,导致分段0较早地达到重写的保证次数(例如,100,000次)。这意味着该传统非易失性存储设备的寿命等于分段0达到重写的保证次数的速度。
<根据本发明第一实施方式的非易失性存储设备>
在根据本发明第一实施方式的非易失性存储设备240中,调节区分配,使得被更频繁地重写的分段0比其它分段包括更大数量的物理块,以便平均各个分段达到重写保证次数的速度,以延长寿命。
就是说,在根据本实施方式的非易失性存储设备240中,如图2所示,被更频繁地重写的分段0的大小比其它分段1至15的大小大。分段大小的计算根据非易失性存储器230中坏块的出现率,存储器控制器的架构等而改变。在本实施方式中,各个逻辑地址范围确定如下。确定的基本概念是以设置除分段0之外的分段1至15的大小尽可能小为基础,以确保分段0的大小尽可能最大。
更具体地讲,首先,根据等式(5)确定分段1至15每一个中物理块的数量。在等式(5)中,系数0.02是对应于非易失性存储器230中坏块发生率的系数(例如,2%),左手侧的“1”对应于存储地址管理表的单个物理块。
{(3968+1)/(1-0.02)}=4050(5)
就是说,考虑到坏块的发生率,将分段1至15中的每一个的大小设置为所需的最小大小。
接下来,根据等式(6)确定分段0中物理块的数量。
65536-(4050×15分段)=4786(6)
这种情况下,“65536”是非易失性存储器230中物理块的总数。在本实施方式中,为了使说明简化起见,没有考虑诸如系统区之类与本发明不直接相关的区。
据此,根据下面的等式,向分段1至15中的每个物理块重写数据的频率是0.98。
3968/40500.98次(7)
根据下面的等式,向分段0中的每个物理块重写数据的频率是1.04。
(3968-2+1024)/4786≌1.04次(8)
上述计算结果表明,根据本实施方式,与现有技术相比,能够明显减小对分段0的重写频率,另外,与现有技术相比,也减小了分段0与其它分段1至15之间的重写频率中的差异。因此,在本实施方式中,能够均衡重写频率,从而提高非易失性存储器230的使用寿命。
根据等式(5)和(6)确定各个分段的物理边界,与此有关的信息存储在区分配部分206中的非易失性RAM中,作为如图6所示的区分配表207。可以在初始化时将区分配表207存储在非易失性存储器230中的任何物理块中,能够从其物理块中向RAM读取区分配表。能够在区分配部分206和RAM204的部分区域中提供RAM。
1.2.3地址管理部分进行的处理
下面描述在存取装置200产生重写一簇数据的命令的情况下,地址管理部分215(区分配部分206和地址转换部分208)进行的处理。
如果存储器控制器220接收到来自存取装置200的写入命令,CPU203将该控制传送到地址管理部分215。地址管理部分215中的区分配部分206参考区分配表207确定分段S和与存取装置200指定的逻辑地址对应的分段中的逻辑块序号LBN(S)。更具体地讲,区分配部分206根据图8所示的流程图进行处理。
首先,区分配部分206接收来自存取装置200的逻辑扇区序号LSN(S11),基于接收的逻辑扇区序号LSN,根据等式(9)计算逻辑块序号LBN(S12)。在等式(7)中,“>>”是指示向右偏移的运算符。逻辑扇区序号LSN向右偏移5位允许根据图7所示的比特格式确定逻辑块序号LBN。
LBN=LSN>>5(9)
接下来,根据等式(10)和(11),从逻辑块序号LBN计算分段中的分段序号S和逻辑块序号LBN(S)。在等式(10)中,“int()”是取整数的运算符。另外,在等式(11)中,“%”是取余数的运算符。
S=int(LBN/3968)(10)
LBN(S)=LBN%3968(11)
通过根据从等式(10)确定的分段序号S来参考取分配表207,能够确定对应分段的物理块起始序号PBsn(S)和物理块总数PBtn(S)(S14)。最后,把该分段中的分段序号S,逻辑块序号LBN(S),以及物理块起始序号PBsn(S)和物理块总数PBtn(S)传送到地址转换部分208,并结束该过程。
此后,地址转换部分208根据图9所示的流程图确定向其重写数据的物理地址。
首先,地址转换部分208从区分配部分206接收分段序号S,逻辑块序号LBN(S),物理块起始序号PBsn(S)和物理块总数PBtn(S)(S21)。地址转换部分208从与分段序号S对应的非易失性存储器230的区域读取地址管理表,并从读取的地址管理表生成物理区管理表209和逻辑/物理地址转换表210(S22)。
地址转换部分208在物理区管理表209中搜索无效块,并确定PBN(S)作为写入目的地(S23)。这种情况下,搜索范围从0至PBtn(S)-1。
然后,把物理区管理表209中PBN(S)的位置的比特改变为“有效”(S24),把“PBN(S)”写入逻辑/物理地址转换表210中LBN(S)的位置(S25)。
此后,在将数据写入非易失性存储器230的过程中,根据等式(12)确定写入目的地物理块序号PBN(S26)。然后,根据等式(13)确定基于该扇区,即物理扇区序号PSN的物理地址(S27)。在等式(13)中,“|”是表示逻辑和的运算符,“LSN[4:0]”表示图7中逻辑扇区序号LSN中比特0至4的比特顺序。
PBN=PBsn(S)+PBN(S)(12)
PSN=(PBN<<5)|LSN[4:0](13)
在擦除写入目的地物理块中的数据之后,把从存取装置200传送的数据按顺序写入擦除物理块中的页0至页31(S28)。被写入的数据可以是FAT。
1.3结论
如上所述,在本实施方式中,地址管理部分25以使逻辑地址范围的大小均衡并设置被更频繁地重写数据的分段0的大小比其它分段1至15大的方式来确定逻辑地址范围和分段的分配。这样允许分段0比分段1至15包括更大数量的物理块,从而使向分段0中每个块重写数据的频率与向其它分段中每个块重写数据的频率均衡。这样能够使向各个分段重写数据的频繁程度相一致,从而延长非易失性存储器230的寿命。此外,非易失性存储器230被划分成多个分段,对每个分段进行地址管理,能够减小地址管理表的规模。这样又会导致非易失性存储设备成本的降低。
第二实施方式
根据本实施方式的非易失性系统与第一实施方式的区别在于非易失性存储设备的配置。其它部分的配置和操作与第一实施方式中的相同。下面只描述本实施方式中与第一实施方式中不同的配置和操作。
在根据本实施方式的非易失性存储设备中,以使与被更频繁地重写的分段对应的逻辑地址区包括逻辑块的数量比其它逻辑地址范围中包括的逻辑块数量少的方式来确定区分配,以便平均物理地址范围中各个分段达到重写保证次数的速度,以延长寿命。
2.1系统配置
图10是表示根据本发明第二实施方式的非易失性存储系统的配置的示意图。
非易失性存储设备240b与根据第一实施方式的非易失性存储设备240具有基本类似的配置,与第一实施方式的区别在于区分配部分206b和地址转换部分208b的配置。
图11是表示根据本实施方式的逻辑地址空间与物理地址空间之间的对应关系的存储器映射图。逻辑空间被划分成16个范围,即逻辑地址范围0至15。物理空间被划分成16个分段,即分段0至15。逻辑地址范围与分段之间是一一对应的。每个分段包括多个物理块,每个单独的物理块具有16k字节的大小。在同一幅图中,LBtn(S)指示逻辑地址范围S中逻辑块的总数量。另外,LBsn(S)指示逻辑地址范围S中逻辑块的起始序号。S是范围为0至15的整数。
如图11所示,在本实施方式中,与被更频繁重写的分段对应的逻辑地址范围(逻辑地址范围0)的大小为51,453,125M字节,其它逻辑地址范围的大小为62,703,125M字节。如上所述,以设置被更频繁重写的分段对应的逻辑地址范围的大小比其它逻辑地址范围的大小更小,使得各个分段的大小均匀的方式来调节区分配。如上所述,使该分段与被更频繁重写的分段的逻辑地址范围的大小之比与和其它分段的逻辑地址范围的大小之比不同,以便平均各个分段达到重写保证次数的速度,以延长寿命。
图12是表示根据第二实施方式的物理区管理表209b的示意图。在图12中,物理区管理表209b的各项的地址与非易失性存储器230中分段中的物理块序号PBN(S)相对应。存储“有效”、“无效”、“坏”等作为各个物理块的状态(块状态)。指示块状态的状态标记的值与第一实施方式中描述的具有相同含义。
图13是表示根据第二实施方式的逻辑/物理地址转换表210b的示意图。在图13中,逻辑/物理地址转换表210b中各项的地址对应于分段中的逻辑块序号LBN(S)。在地址的位置,存储有与具有逻辑块序号LBN(S)的逻辑块对应的物理块的物理块序号PBN(S)。
图14是根据本实施方式的区分配表207b的存储映射图。区分配表207b中各项的地址与分段序号S相对应,在这些地址,存储有分段S的逻辑块起始序号LBsn(S)和逻辑块总数LBtn(S)。逻辑块起始序号LBsn(S)对应于与分段S对应的逻辑地址范围的起始地址,逻辑块总数LBtn(S)指示与该分段S对应的逻辑地址范围中包括的逻辑块的总数。
逻辑扇区序号LSN(逻辑扇区地址)和物理扇区序号PSN(物理扇区地址)之间的对应关系与根据第一实施方式描述的图7所示的相同。
2.2操作
根据本实施方式的非易失性存储系统的基本操作与第一实施方式的操作类似。
2.2.1考虑重写的频繁程度
现在考虑本实施方式中的重写频繁程度。应用与针对第一实施方式中描述的写入相同的前提条件。
在根据本实施方式的非易失性存储设备240b中,如图11所示,设置各个分段的大小彼此相等,设置与被更频繁重写的分段0对应的逻辑地址范围0的大小比其它逻辑地址范围1至15的大小小。
逻辑地址范围的计算依据非易失性存储器230中坏块的发生率以及存储器控制器的架构而改变,在本实施方式中,确定各个逻辑地址范围如下。确定的基本概念是以设置除逻辑地址范围0之外的逻辑地址范围1至15的大小尽可能小为基础,以使逻辑地址范围0的大小设置得较小。
更具体地讲,在本实施方式中,首先,根据等式(14)确定逻辑地址范围1至15每一个中的逻辑块的数量。在等式(14)中,系数0.02是对应于非易失性存储器230中坏块发生率的系数(例如,2%),作为左手侧第二项的“1”对应于存储地址管理表的单个物理块。
{(4096)×(1-0.02)}4013(14)
接下来,根据等式(15)确定逻辑地址范围0中逻辑块的数量。
63488-(4013×15个分段)=3293(15)
这种情况下,“63488”是非易失性存储器230中逻辑块的总数。在本实施方式中,为了使说明简化,未描述不直接涉及本发明的诸如系统区之类的区域。通过确定逻辑地址范围0的范围,能够将逻辑地址范围0的大小设置成最大可能的大小。
因此,根据下面的等式,向分段1至15中的各个物理块重写的频率是0.98。
4013/40960.98次(16)
根据下面的等式,向分段0中的物理块重写的频率是1.05。
(3293-2+1024)/40961.05次(17)
上述计算结果表明,根据本实施方式,与现有技术相比,明显减小了针对分段0的重写频率,另外,与现有技术相比,减小了分段0与其它分段1至15之间的重写频率中的差异。因此,在本实施方式中,能够均衡重写频率,从而延长非易失性存储器230的寿命。
从等式(14)和(15)确定各个分段的逻辑边界,在区分配部分206b中的非易失性RAM中存储用于确定该边界的信息,作为如图14中所示的区分配表207b。可以将区分配表207b存储在非易失性存储器230中的任何物理块中,在初始化时,能够将其读取到RAM中。可以在区分配部分206b或RAM204的局部区域中提供RAM。
2.2.2地址管理部分的处理
下面描述在存取装置200产生重写一簇数据的命令的情况下,地址管理部分215b(区分配部分206b和地址转换部分208b)进行的处理。
如果存储器控制器220b接收到来自存取装置200的写入命令,CPU203将该控制传送到地址管理部分215b。地址管理部分215b中的区分配部分206b参考区分配表207b,确定分段S和与由存取装置200指定的逻辑地址对应的分段中的逻辑块序号LBN(S)。更具体地讲,区分配部分206b根据图15所示的流程图进行处理。
在图15中,区分配部分206b接收来自存取装置200的逻辑扇区序号LSN(S41),基于接收的逻辑扇区序号LSN,根据等式(18)计算逻辑块序号LBN(S42)。通过等式(18),逻辑扇区序号LSN向右偏移5位允许根据图7所示的比特格式确定逻辑块序号LBN。
LBN=LSN>>5(18)
接下来,根据逻辑块序号LBN计算分段中的分段序号S和逻辑块序号LBN(S)(S43)。另外,满足等式(19)的S的最小值是分段数量,根据等式(20)确定逻辑块序号LBN(S)。
LBN-LBsn(S)<LBtn(S)(19)
LBN(S)=LBN-LBsn(S)(20)
最后,将分段序号S和逻辑块序号LBN(S)传送到地址转换部分208(S44),并结束该处理。
此后,地址转换部分208b根据图16所示的流程图确定要向其重写数据的物理地址。
在图16中,首先,地址转换部分208b从区分配部分206b接收分段序号S,和分段S中的逻辑块序号LBN(S)(S51)。地址转换部分208b从与分段序号S对应的非易失性存储器230的区域读取地址管理表,并从读取的地址管理表生成物理区管理表209b和逻辑/物理地址转换表210b(S52)。
地址转换部分208b在物理区管理表209b中搜索无效块,并确定PBN(S)作为写入目的地。这种情况下,搜索范围从0至4095。然后,地址转换部分208b把物理区管理表209b中物理块序号PBN(S)的位置处的比特改变为“有效”(S54),并把物理块序号“PBN(S)”写入逻辑/物理地址转换表210b中逻辑块序号LBN(S)的位置(S55)。
此后,在将数据写入非易失性存储器230的过程中,地址转换部分208b根据等式(19)确定写入目的地物理块序号PBN(S56),然后,根据等式(20)确定基于该扇区,即物理扇区序号PSN的物理地址(S57)。
PBN=4096×S+PBN(S)(19)
PSN=(PBN<<5)|LSN [4:0](20)
在擦除写入目的地物理块中的数据之后,把从存取装置200传送的数据按顺序写入擦除的物理块中的页0至页31(S58)。被写入的数据可以是FAT。
2.3结论
如上所述,在本实施方式中,地址管理部分215以使逻辑地址范围的大小相同,和设置被更频繁地重写的逻辑地址范围0的大小比其它逻辑地址范围1至15小的方式来确定逻辑地址范围和分段的分配。这样能够减少向与逻辑地址范围0对应的分段0写入数据的逻辑地址的数量,降低向分段0重写数据的频率,从而均衡向各个分段重写数据的频率,延长非易失性存储器230的寿命。此外,非易失性存储器230被划分成多个分段,对每个分段进行地址管理,能够减小地址管理表的规模。
就是说,根据第一和第二实施方式,确定逻辑地址范围和分段的分配,使得该分段与被更频繁地进行数据重写的逻辑地址范围的逻辑地址范围的大小之比与和其它逻辑地址范围的逻辑地址范围的大小之比不同,这样能够均衡向各个分段重写数据的频率,从而延长非易失性存储设备的寿命。
另外,根据第一和第二实施方式,以将逻辑空间和物理空间中的任意一个被划分成相等的固定大小,而将另一个划分成可变大小的方式来划分逻辑空间和物理空间,以便延长非易失性存储设备的寿命。然而,即使将两个空间划分成可变的大小,仍然能够正确地确定区域大小,以便提供相同的效果。
另外,如果除逻辑地址范围0之外还有某个被更频繁地重写的逻辑地址范围,能够设置该分段与所述某个逻辑地址范围的逻辑地址范围的大小之比与其它逻辑地址范围,以及逻辑地址范围0的大小之比不同。
此外,如果某个分段中的坏块发生率比其它分段的坏块发生率高,可使用的物理块的数量之间存在差异,与上述被更频繁地重写数据的情况类似,可能导致只有所述某个分段较早达到可重写寿命的问题。这样可以提出与第二实施方式相同的方法。就是说,可以设置与坏块发生率较高的分段对应的逻辑地址范围的大小比其它逻辑地址范围的大小小,以调节向各个分段重写数据的频率。这样能够平均各个分段达到重写保证次数的速度,由此延长非易失性存储设备的寿命。
虽然已经针对本发明的特定实施方式描述了本发明,各种改变,修改和其它使用对本领域技术人员来说是显而易见的。因此,本发明不限于该特定揭示,而是由所附权利要求限定。另外,本申请涉及日本专利申请No.2005-219958(2005年7月29日提交)和日本专利申请No.2005-331060(2005年11月6日提交),在此引入该专利申请的内容作为参考。
工业实用性
根据本发明的非易失性存储设备能够延长采用非易失性存储器(闪存器)等的存储卡等的寿命,并且能够应用于供诸如个人计算机,静止图像记录/再现装置和运动图像记录/再现装置之类的便携式AV装置,以及诸如便携电话之类的便携式通信装置使用的记录介质。
Claims (20)
1.一种存储器控制器,用于根据从外部存取装置提供的命令和逻辑地址,向和从非易失性存储器写入和读取数据,所述存储器控制器包括:
读取/写入控制器,用于控制从和向所述非易失性存储器读取和写入数据;和
地址管理部分,用于将整个逻辑地址空间划分成多个逻辑地址范围,对各个逻辑地址范围进行地址管理,将所述非易失性存储器的存储区物理地分成多个物理区,使所述逻辑地址范围与所述物理区相关联地管理所述逻辑地址范围和所述物理区;
其中所述地址管理部分包括:区分配部分,用于确定所述逻辑地址范围和所述物理区的分配,使得至少一个逻辑地址范围的逻辑地址范围大小与物理区大小之比与其它逻辑地址范围的逻辑地址范围大小与物理区大小之比不同。
2.根据权利要求1所述的存储器控制器,其中所述区分配部分以使各个逻辑地址范围的大小相同的方式分配所述逻辑地址范围,和以使至少一个物理区的大小与其它物理区的大小不同的方式分配所述物理区。
3.根据权利要求2所述的存储器控制器,其中所述区分配部分设置与存储被更频繁地重写的数据的逻辑地址范围对应的物理区大小比其它物理区的大小大。
4.根据权利要求3所述的存储器控制器,其中被更频繁地重写的数据是用于管理文件的管理信息。
5.根据权利要求4所述的存储器控制器,其中所述管理信息是文件分配表(FAT)。
6.根据权利要求1所述的存储器控制器,其中所述区分配部分以使各个物理区的大小相同的方式分配所述物理区,和以使至少一个逻辑地址范围的大小与其它逻辑地址范围的大小不同的方式分配所述逻辑地址范围。
7.根据权利要求2所述的存储器控制器,其中所述区分配部分设置存储被更频繁地重写的数据的逻辑地址范围的大小比其它逻辑地址范围的大小小。
8.根据权利要求7所述的存储器控制器,其中被更频繁地重写的数据是用于管理文件的管理信息。
9.根据权利要求8所述的存储器控制器,其中所述管理信息是文件分配表(FAT)。
10.一种非易失性存储设备,包括:
非易失性存储器;和
根据权利要求1至9中的任何一项所述的存储器控制器,用于向和从所述非易失性存储器写入和读取数据。
11.一种非易失性存储系统,包括:
根据权利要求10所述的非易失性存储设备;和
存取装置,用于通过指定其中的逻辑地址来存取非易失性存储设备。
12.一种用于非易失性存储器的地址管理方法,所述非易失性存储器包括多个物理块,并用于根据从存取装置提供的命令和逻辑地址,向和从所述非易失性存储器写入和读取数据,所述方法包括步骤:
将整个逻辑地址空间划分成多个逻辑地址范围,对各个逻辑地址范围进行地址管理;
将所述非易失性存储器的存储区物理地分成多个物理区,使所述逻辑地址范围与所述物理区相关联地管理所述逻辑地址范围和所述物理区;
确定所述逻辑地址范围和所述物理区的分配,使得至少一个逻辑地址范围的逻辑地址范围大小与物理区大小之比与其它逻辑地址范围的逻辑地址范围大小与物理区大小之比不同。
13.根据权利要求12所述的方法,其中以使各个逻辑地址范围的大小相同的方式分配所述逻辑地址范围,和以使至少一个物理区的大小与其它物理区的大小不同的方式分配所述物理区。
14.根据权利要求13所述的地址管理方法,其中设置与存储被更频繁地重写的数据的逻辑地址范围对应的物理区大小比其它物理区的大小大。
15.根据权利要求14所述的地址管理方法,其中被更频繁地重写的数据是用于管理文件的管理信息。
16.根据权利要求15所述的地址管理方法,其中所述管理信息是文件分配表(FAT)。
17.根据权利要求12所述的地址管理方法,其中以使各个物理区的大小相同的方式分配所述物理区,和以使至少一个逻辑地址范围的大小与其它逻辑地址范围的大小不同的方式分配所述逻辑地址范围。
18.根据权利要求17所述的地址管理方法,其中设置存储被更频繁地重写的数据的逻辑地址范围的大小比其它逻辑地址范围的大小小。
19.根据权利要求18所述的地址管理方法,其中被更频繁地重写的数据是用于管理文件的管理信息。
20.根据权利要求19所述的地址管理方法,其中所述管理信息是文件分配表(FAT)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP219958/2005 | 2005-07-29 | ||
JP2005219958 | 2005-07-29 | ||
JP331060/2005 | 2005-11-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101133400A true CN101133400A (zh) | 2008-02-27 |
CN100533409C CN100533409C (zh) | 2009-08-26 |
Family
ID=39129867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006800064702A Expired - Fee Related CN100533409C (zh) | 2005-07-29 | 2006-07-21 | 存储器控制器,非易失性存储设备,非易失性存储系统,和非易失性存储器地址管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100533409C (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101639692B (zh) * | 2009-08-31 | 2011-11-16 | 杭州华三通信技术有限公司 | 多可编程逻辑器件的控制方法、设备和系统 |
CN101625660B (zh) * | 2009-08-04 | 2013-12-18 | 威盛电子股份有限公司 | 数据储存装置与数据储存方法 |
CN104769678A (zh) * | 2012-10-23 | 2015-07-08 | 桑迪士克科技股份有限公司 | 具有数据保留分区的闪速存储器 |
CN108694132A (zh) * | 2017-03-30 | 2018-10-23 | 西部数据技术公司 | 计算每一中央处理单元预取的逻辑块号的最佳数目 |
CN109716281A (zh) * | 2016-10-03 | 2019-05-03 | 赛普拉斯半导体公司 | 用于非易失性存储器的用户可配置的耗损均衡的系统、方法和设备 |
CN111258919A (zh) * | 2018-12-03 | 2020-06-09 | 爱思开海力士有限公司 | 储存设备及其操作方法 |
-
2006
- 2006-07-21 CN CNB2006800064702A patent/CN100533409C/zh not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101625660B (zh) * | 2009-08-04 | 2013-12-18 | 威盛电子股份有限公司 | 数据储存装置与数据储存方法 |
CN101639692B (zh) * | 2009-08-31 | 2011-11-16 | 杭州华三通信技术有限公司 | 多可编程逻辑器件的控制方法、设备和系统 |
CN104769678A (zh) * | 2012-10-23 | 2015-07-08 | 桑迪士克科技股份有限公司 | 具有数据保留分区的闪速存储器 |
CN104769678B (zh) * | 2012-10-23 | 2019-10-01 | 桑迪士克科技有限责任公司 | 具有数据保留分区的闪速存储器 |
CN109716281A (zh) * | 2016-10-03 | 2019-05-03 | 赛普拉斯半导体公司 | 用于非易失性存储器的用户可配置的耗损均衡的系统、方法和设备 |
CN109716281B (zh) * | 2016-10-03 | 2022-06-17 | 英飞凌科技有限责任公司 | 用于非易失性存储器的用户可配置的耗损均衡的系统、方法和设备 |
CN108694132A (zh) * | 2017-03-30 | 2018-10-23 | 西部数据技术公司 | 计算每一中央处理单元预取的逻辑块号的最佳数目 |
CN108694132B (zh) * | 2017-03-30 | 2022-09-13 | 西部数据技术公司 | 计算每一中央处理单元预取的逻辑块号的最佳数目 |
US11656993B2 (en) | 2017-03-30 | 2023-05-23 | Western Digital Technologies, Inc. | LBNs prefetching per CPU |
CN111258919A (zh) * | 2018-12-03 | 2020-06-09 | 爱思开海力士有限公司 | 储存设备及其操作方法 |
CN111258919B (zh) * | 2018-12-03 | 2023-07-07 | 爱思开海力士有限公司 | 储存设备及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100533409C (zh) | 2009-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8051268B2 (en) | Memory controller, nonvolatile storage device, nonvolatile storage system, and nonvolatile memory address management method | |
US7802054B2 (en) | Apparatus and methods using invalidity indicators for buffered memory | |
JP4688584B2 (ja) | ストレージ装置 | |
US7877569B2 (en) | Reduction of fragmentation in nonvolatile memory using alternate address mapping | |
JP4758648B2 (ja) | 不揮発性記憶システムにおける平均消去カウントの維持 | |
KR100914089B1 (ko) | 비휘발성 저장 시스템의 소거 카운트 유지 방법 및 장치 | |
JP4445394B2 (ja) | 消去カウントブロックを管理する方法および装置 | |
US8775771B2 (en) | Block management method for a flash memory and flash memory controller and storage system using the same | |
KR101166980B1 (ko) | 메모리 시스템 및 정보 처리 장치 | |
US6366977B1 (en) | Semiconductor storage device employing cluster unit data transfer scheme and data management method thereof | |
US7752412B2 (en) | Methods of managing file allocation table information | |
US7681008B2 (en) | Systems for managing file allocation table information | |
US20100017557A1 (en) | Memory controller, nonvolatile memory device,access device, and nonvolatile memory system | |
US20060161726A1 (en) | Method for storing control information in flash memory devices | |
US20080028132A1 (en) | Non-volatile storage device, data storage system, and data storage method | |
CN100533409C (zh) | 存储器控制器,非易失性存储设备,非易失性存储系统,和非易失性存储器地址管理方法 | |
KR930010981A (ko) | 플래시메모리를 사용한 기억장치 | |
JP2006504221A (ja) | 不揮発性記憶システムにおける最高頻度消去ブロックの追跡 | |
KR20140016440A (ko) | 솔리드 스테이트 메모리를 포멧팅하기 위한 메모리 제어기, 방법, 및 솔리드 스테이트 메모리 시스템 | |
JP2006504199A (ja) | 不揮発性メモリシステムにおける最低頻度消去ブロックの追跡 | |
WO1999031592A1 (fr) | Systeme de memoire flash | |
JP5570406B2 (ja) | メモリコントローラ、及びデータ記録装置 | |
US20090210612A1 (en) | Memory controller, nonvolatile memory device, and nonvolatile memory system | |
JPWO2008139689A1 (ja) | メモリコントローラ、半導体記録装置及び書き換え回数通知方法 | |
JP4308780B2 (ja) | 半導体メモリ装置、メモリコントローラ及びデータ記録方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090826 Termination date: 20140721 |
|
EXPY | Termination of patent right or utility model |