固态存储装置遭遇断电后的数据存储方法制造方法及图纸

技术编号:8834200 阅读:199 留言:0更新日期:2013-06-22 20:26
本发明专利技术公开了一种固态存储装置遭遇断电之后的数据存储方法。该固态存储装置中的一闪存包括多个区块,每一个区块中包括多个页,而这些区块的其中之一被设定为一旧的开启区块,当该固态存储装置重新接通一电源时,将该旧的开启区块内所有的有效数据存储至一新的开启区块中,从而使得本发明专利技术可以有效的保存不预期断电后的数据完整性。

【技术实现步骤摘要】

本专利技术是有关于一种固态存储装置及其控制方法,且特别是有关于一种不预期断电后固态存储装置中的数据存储方法。
技术介绍
众所周知,固态存储装置(Solid State Drive,简称SSD)使用与非门闪存(NANDflash memory)为主要存储元件,而此类的存储装置为一种非挥发性(non-volatile)的存储器元件。也就是说,当数据写入闪存后,一旦系统电源关闭,数据仍保存在固态存储装置中。与非门闪存依据不同的设计,可分为单层晶胞(single-level cell,简称SLC)、多层晶胞(mult1-level cell,简称MLC)、以及三层晶胞(triple-level cell,简称TLC)的闪存。SLC闪存的特点为访问速度快、价格贵、可擦除次数约为数万次以上,但是一个晶胞(cell)仅可存储I位的数据。TLC闪存的特性为访问速度慢、价格便宜、可擦除次数约为I千次以下,但是一个晶胞可存储3位的数据。而MLC闪存的特性介于SLC闪存与TLC闪存之间,访问速度与价格一般、可擦除次数约为I千至5千次之间,而一个晶胞可存储2位的数据。换句话说,由相同晶胞数目所组成的闪存,TLC闪存将有最大的容量,SLC闪存的容量最小。请参照图1,其所绘示为现有固态存储装置的示意图。固态存储装置10中包括一控制单元101与一闪存105。控制单元101与闪存105之间利用一内部总线104进行数据的存取,而控制单元101利用一外部总线20与主机(host) 12之间进行指令与数据的传递。其中,外部总线20可为USB总线、IEEE 1394总线或SATA总线等等,而闪存可为SLC、MLC、或TLC闪存。此外,控制单元101内部包括一映射单元(mapping unit) 107可用来管理闪存105内部的数据,映射单元107可为静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。而映射单元107中至少包括一逻辑至实体对应表(Logical to PhysicalTable,简称L2P表)以及一点阵列表格(Bitmap)。L2P表可将主机发出的逻辑配置地址(Logical Allocation Address,简称LAA)对应至闪存105内部的实体配置地址(PhysicalAllocation Address,简称PAA);点阵列表格里记载了闪存105中每个页(page)里的数据为有效数据或者为无效数据。当固态存储装置10未连接电源时,映射单元107中L2P表以及点阵列表格中的数据将被删除。当固态存储装置10连接电源时,控制单元101需要先将映射单元107中L2P表以及点阵列表格重建完成后才可以开始正常动作。一般来说,闪存中105包括许多区块(block),而每个区块中又包括多个页或称为段(sector)。例如,一个区块中有64页,而每个页的容量为4K bytes。此外,由于闪存105的特性,每次数据写入时是以页为最小单位,而每次擦除(erase)时则是以区块为单位进行数据擦除。由于闪存105的特性,当区块中某一个页的数据需要更改时,控制单元101将无法直接修改该页中的数据,因此控制单元101是将需要修改的数据写在另一空白页(blank page),而原来旧的页将被视为无效页(invalid page),里面的数据将被视为无效数据(invalid data)。而当主机12经过多次的存取之后,在闪存105中将会出现许多的无效页以及无效数据,并且占据了整个闪存的空间。因此,利用垃圾搜集动作(garbagecollection)可搜集各区块中的有效数据并集中在另一区块中。以下以图2A 图2F详细介绍闪存的数据存储动作。如图2A所示,假设闪存105中有4个区块(BlockJ) Block_3),每个区块中有8个页,其中每个页可对应至一个实体配置地址。由图2A可知,四个区块都为空白区块,且第0区块(BL0CK_0)的实体配置地址为PAA(OO) PAA (07),第I区块(BL0CK_1)的实体配置地址为PAA (08) PAA(OF),第2区块(BL0CK_2)的实体配置地址为PAA(IO) PAA (17),第3区块(BL0CK_3)的实体配置地址为PAA(18) PAA(IF)。而控制单元101可设定其中一个区块(例如第一区块(BL0CK_1))为启用区块(open block),而欲写入的数据即可写入启用区块。如图2B所示,假设主机12发出七个逻辑配置地址(LAA)的写入数据(D0 D6)至闪存105,则控制单元101将这些数据依次写入第一区块(BL0CK_1)。而控制单元101会保留最后一个页,并填入第一区块(BL0CK_1)中所有实体配置地址(PAA)与逻辑配置地址(LAA)之间的对应数据(P2L-datal)。之后,设定第一区块(BL0CK_1)为一关闭区块(closeblock)。接着,设定另一个区块(例如第二区块(BL0CK_2))为启用区块。换句话说,关闭区块可视为已经完成数据写入的区块。如图2C所示,假设主机12发出七个逻辑配置地址(LAA)的写入数据(Dl’、D6’、D7、D8、D5’、D9、D2’ )至闪存 105。其中,Dl,、D6,、D5,、D2,数据是取代第一区块(BL0CK_1)中的D1、D6、D5、D2数据。因此,控制单元101将这些数据依次写入第二区块(BL0CK_2),并且设定第一区块(BL0CK_1)中 PAA(09)、PAA(OA)、PAA(OD)、PAA(OE)内的 Dl、D2、D5、D6 数据为无效数据(斜线表示)。此外,控制单元101会保留最后一个页,并填入第二区块(BL0CK_2)中所有实体配置地址(PAA)与逻辑配置地址(LAA)之间的对应数据(P2L-data2)。之后,设定第二区块(BL0CK_2)为一关闭区块。接着,设定另一个区块(例如第零区块(BL0CK_0))为启用区块。如图2D所示,假设主机12发出七个逻辑配置地址(PAA)的写入数据(D0’、D9’、D10、D3,、D8,、D5、D1)至闪存105。其中,D0,、D3,数据是取代第一区块(BL0CK_1)中的 D0、D3 数据;D9’、D8’、D5、D1数据是取代第二区块(BL0CK_2)中的 D9、D8、D5’、Dl ’数据。因此,控制单元101将这些数据依次写入第二区块(BL0CK_2)。接着,设定第一区块(BL0CK_1)中PAA(08)、PAA(OB)中的DO、D3数据为无效数据;设定第二区块(BL0CK_2)中PAA(IO)、PAA(13)、PAA(14)、PAA(15)中的 Dl’、D8、D5’、D9 数据为无效数据。此外,控制单元101会保留最后一个页,并填入第零区块(BL0CK_0)中所有实体配置地址(PAA)与逻辑配置地址(LAA)之间的对应数据(P2L-dataO),并且设定第零区块(BL0CK_0)为一关闭区块。接着,设定另一个区块(例如第三区块(BL0CK_3))为启用区块。由以上图2A至图2D的说明可知,当主机12经过多次的存取之后,在闪存105中将会出现许多的无效数据,并且占据了整个闪存的空间。因此,控制单元101可以在适当时间发动垃圾搜集动作。所谓的垃圾搜集本文档来自技高网...

【技术保护点】
一种固态存储装置遭遇断电之后的数据存储方法,该固态存储装置中的一闪存包括多个区块,每一个区块中包括多个页,而这些区块的其中之一被设定为一旧的开启区块,其特征在于,当该固态存储装置重新接通一电源时,将该旧的开启区块内的有效数据存储至一新的开启区块中。

【技术特征摘要】
1.一种固态存储装置遭遇断电之后的数据存储方法,该固态存储装置中的一闪存包括多个区块,每一个区块中包括多个页,而这些区块的其中之一被设定为一旧的开启区块,其特征在于,当该固态存储装置重新接通一电源时,将该旧的开启区块内的有效数据存储至一新的开启区块中。2.根据权利要求1所述的数据存储方法,其特征在于,还包括下列步骤: 将该旧的开启区块加上一电源标记后设定为一第一关闭区块; 寻找这些区块中的一可使用区块,并设定为一新的开启区块; 将该第一关闭区块中的所有有效数据存储至该新的开启区块;以及 将该第一关闭区块内的所有有效数据设定为无效数据。3.根据权利要求2所述的数据存储方法,其特征在于,还包括下列步骤: 当该固态存储装置重新接通该电源时,若具有该电源标记的该第一关闭区块中具有有效数据时,将所有有效数据存储至该新的开启区块。4.根据权利要求1所述的数据存储方法,其特征在于,该旧的开启区块内所有的有效数据是由一主机产生以及经由一垃圾搜集动作后所产生。5.根据权利要求1所述的数据存储方法,其特征...

【专利技术属性】
技术研发人员:黄志伟范纲铭
申请(专利权)人:建兴电子科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1