信息存储设备及其控制方法

文档序号:6480414阅读:220来源:国知局
专利名称:信息存储设备及其控制方法
技术领域
本发明的一个实施方式涉及到一种信息存储设备及其控制方法,其中,所述信息存储设备具有作为緩存的非挥发性存储器。
背景技术
一般地,在诸如计算机等信息处理设备中,使用诸如硬盘驱动器等信息存储设备。信息存储设备在诸如硬盘等非挥发性存储介质上存储信息。
最近,开发出了具有非挥发性存储介质和作为緩存的非挥发性存储器
的信息存储设备。通常,非挥发性存储器被称作非挥发性緩存。具有非挥
发性緩存的信息存储设备能够对主机指定的数据进行高速读写访问。此夕卜,
具有非挥发性緩存的信息存储设备的一个优点是,能够减小电能消耗,因为不需要转动硬盘就能够对数据进行存取。
在曰本专利申请/>开No. 2005-190187中,7>布了一种具有硬盘和非挥发性存储器的存储设备。所述存储设备具有一个功能,即,根据外部的访问请求对所述硬盘和所述非挥发性存储器中的任一个或者两者进行访问。
然而,当所述非挥发性緩存的大多数存储区都被使用了并且自由空间不足时,来自主机的写数据就不能被写入该挥发性緩存中了。所以,就需要将这些写数据写入硬盘中了 。
在这种情形中,当硬盘没有转动时,需要使硬盘转动起来。所以,需要非常长的时间来完成写数据到硬盘的写入。此外,即使硬盘正在转动,由于搜寻等待时间的缘故,也需要长时间才能完成写数据的写入。
这样,当所述非挥发性緩存中缺少自由空间时,所述信息存储设备的写操作就会变慢。如果在写数据的写入完成之前出现了电力异常(诸如电力故障),那么,写数据就会被丢失。

发明内容
本发明的一个目标是,提供一种信息存储设备和一种控制方法,能够防止因非挥发性緩存中的自由空间的短缺而导致的写操作延迟的发生。
根据本发明的一个方面,提供一种信息存储设备,该设备包括非挥发性存储介质;非挥发性存储器,配置为用来存储为主机设备而要读取的特定数据块以及要写入所述非挥发性存储介质中的写数据;緩冲器,配置为用来临时存储从所述主机设备传来的写数据;控制器,配置为用来在所述非挥发性存储器中的自由空间小于给定的数据大小时从所述非挥发性存
样数据块的同步数据,并将所述緩冲器中所存储的写数据写入所述非挥i性存储器中。
本发明另外的目标和优点将在下面的描述中得以阐明,部分地能从描述中显然看到,或者可以通过对本发明的实践而得知。本发明的目标和优点可以根据在下文中所具体指出的手段和组合来实现和获得。


结合进来并构成说明书的一部分的附图显示了本发明的实施方式,并与上面给出的总的描述以及在下面给出的实施方式的详细描述一起,用来说明本发明的原理。
图l是一个示范性方框图,显示了根据本发明的一个实施方式所述的信息存储设备的结构;
图2是一个示范性方框图,显示了被置于所述实施方式中的信息存储设备中的控制器的结构的例子;
图3是一个示范图,用来说明由所述实施方式的信息存储设备所进行的将写数据写入非挥发性存储器中的操作例子;
6图4是一个示范图,用来说明由所述实施方式的信息存储设备所进行
的将写数据写入非挥发性存储器中的另一个操作例子;
图5是一个示范性流程图,用来说明由所述实施方式的信息存储i殳备
所进行的数据移动处理的过程;
图6是一个示范图,用来说明由所述实施方式的信息存储设备所进行
的数据移动处理的例子;
图7是一个示范图,用来说明由所述实施方式的信息存储设备所进行的数据移动处理的另一个例子;
图8是一个示范性流程图,用来说明由所述实施方式的信息存储i殳备所进行的写入操作的过程;
图9是一个示范性方框图,显示了所述实施方式的信息存储设备的另一个结构的例子。
具体实施例方式
下面将参考附图描述根据本发明所述的各种实施方式。 一般地,根据本发明的一个实施方式,信息存储设备包括非挥发性存储介质、非挥发性存储器、緩沖器、和控制器。所述非挥发性存储器配置为用来存储为主机设备而要读取的特定数据块,以及将要写入所述非挥发性存储介质中的写数据。所述緩冲器配置为用来临时存储从所述主机设备传来的写数据。所述控制器配置为用来在所述非挥发性存储器中的自由空间小于给定的数据大小时从所述非挥发性存储器所存储的各个特定数据块中删除那些在所迷非挥发性存储介质上也存在同样数据块的同步数据,并将所述緩冲器中所存储的写数据写入所述非挥发性存储器中。
图1显示了根据本发明的一个实施方式所迷的信息存^i殳备ll的结构。信息存储设备11是一种根据主机设备20的存取请求将数据写入非挥
发性存储介质以及从所述非挥发性存储介质中读出数据的设备。信息存储设备11具有非挥发性存储介质以及作为该非挥发性存储介质的緩存的非挥发性存储器。所述非挥发性存储器的容量小于所述非挥发性存储介质的
7容量。然而,与所述非挥发性存储介质相比,所述非挥发性存储器能够在数据的读/写中以更高的速度进行数据传输。在下文中,假设信息存储设备
11是一个混合型硬盘驱动器(HDD)。混合型HDD是一种具有非挥发性存储介质和非挥发性存储器的硬盘驱动器。在这种情形中,非挥发性存储介质可以是硬盘,它是一种能转动的介质。
具体说,信息存储设备11具有LSI 12 (其中集成了各种电路块)、硬盘13、緩冲器14、非挥发性存储器15等。
非挥发性存储器15是一种半导体存储器,它用作硬盘(这是一种非挥发性存储介质,也被称作永久性存储介质)13的緩存(非挥发性緩存)。例如,非挥发性存储器15可以是闪存(闪型EEPROM)等。非挥发性存储器15用来存储将要从信息存储设备11中被高速地读出到主机设备20中的特定数据(特定数据块),还存储将被写入到硬盘13中的写数据(写数据块)。
采用普通的HDD,软件(操作系统中的内核、操作系统中的设备驱动程序、应用程序等)和所有的用户数据都只存储在硬盘13中。
采用本实施方式所述的信息存储设备11,硬盘13中所存储的部分软件的拷贝或部分用户数据的拷贝能够被存储在非挥发性存储器15中,作为将被高速地读出到主机设备20中的数据。因此,可以将各种数据(软件和用户数据)从信息存储设备11高速地传输到主机设备20中。
主机设备20能够在硬盘13上所存储的数据中指定哪些数据应该被存储在非挥发性存储器15中。信息存储设备11将与主机设备20所指定的一些逻辑块地址(logical block address, LBA )中的每个地址相对应的数据(也称作数据块)从硬盘13加栽到非挥发性存储器15中。所述加栽的数据能够稳定地存储在非挥发性存储器15中。
这里,要存储在非挥发性存储器15中的数据不限于与主机设备20所指定的一些逻辑块地址(LBA)中的每个地址相对应的数据。例如,信息存储设备11能够估计出非常可能由主机设备20请求进行读取的每个逻辑块地址(LBA)。然后,信息存储设备ll能够将与所估计出的每个逻辑块地址(LBA )相对应的数据从硬盘13加载到非挥发性存储器15中,并将该数据存储在非挥发性存储器15中。
此外,在信息存储i殳备ll中,也可以将主机设备20请求进行写入的数据(诸如休眠文件)存储到非挥发性存储器15中。
另外,非挥发性存储器15也被用作写緩存,以临时存储要被写入硬盘13中的写数据。即,从主机设备20传来的写数据被临时存储在非挥发性存储器15中。然后,例如,当非挥发性存储器15的写緩存中的存储区域充满写数据(应该被写入的数据块)时,或当信息存储设备ll空闲并且硬盘13准备好进行写入时,非挥发性存储器15中所存储的写数据(写数据块)就被写入硬盘13中。
缓沖器14对应着净皮置于普通HDD中的DRAM緩存。緩沖器14可以作为写緩沖器,用来临时存储从主机设备20传来的写数据。緩冲器14由诸如DRAM和SDRAM这样的非挥发性存储器构成。尽管緩冲器14的读/写访问速度比非挥发性存储器15的快,但緩沖器14的容量小于非挥发性存储器15的容量。当从主机设备20传来的写数据被存储在緩沖器14中时,由主机设备20所进行的写周期就完成了 。
当从主机设备20接收到Flush Cache命令时,信息存^i殳备11就将緩冲器14中所积累的写数据(写数据块)写入非挥发性存储器15中。FlushCache (清空緩存)命令是一种Flush命令,命令将緩冲器14中所存储的所有写数据都写在硬盘13上。
如上所述,通过将緩沖器14中所存储的写数据写入非挥发性存储器15中,而不是写在硬盘13上,可以将緩冲器14中的写数据高速地存储在安全的存储地方,这个地方是非挥发性的。
LSI 12是用来控制信息存储设备11的操作的电路。LSI 12包括控制器16、硬盘接口 17、緩冲器接口 18、存储器接口 19、主机接口 21等。控制器16根据主机设备20所发出的各种命令来控制信息存储设备11的操作。控制器16通过主机接口 21与主机设备20进行通信。利用例如ATA8-ACS标准中所定义的各种命令在主机设备20和控制器16之间进行通信。
硬盘接口 17在控制器16和硬盘13之间进行数据传输。利用设置在信息存储设备11中的机械驱动才/L^j将数据写入硬盘13中以及从硬盘13中读出数据。该驱动机构具有使硬盘13转动的主轴电动机、磁头、使磁头沿硬盘13的径向移动的致动器等。
存储器接口 19在控制器16和非挥发性存储器15之间进行数据传输。存储器接口 19由存储器控制器构成,其用来控制对非挥发性存储器15的访问。
緩冲器接口 18在控制器16和緩冲器14之间进行数据传输。緩冲器接口 18由例如DRAM控制器构成。
控制器16包括管理表161。控制器16利用管理表161对非挥发性存储器15中所存储的每个数据块的内容进行管理。具体说,在管理表161中,存储有非挥发性存储器15中所存储的每个数据块的管理信息。与每个数据块相对应的管理信息指示出数据块的物理地址(该物理地址显示了非挥发性存储器15中存储的数据块的存储位置)、数据块的逻辑块地址(LBA)、数据块的数据大小、数据块的属性等。所述属性显示了所述数据块是否是要保持在非挥发性存储器15中的与主机设备事先指定的LBA相对应的指定数据块(钉扎数据)。
当从主机设备20接收到读请求(读命令)时,控制器16根据该读命令中所包含的地址(LBA)从非挥发性存储器15或者从硬盘13中读出数据块。
具体说,控制器16查找管理表161来判断与所述读命令所指定的LBA相对应的数据块是否存在于非挥发性存储器15中。当探查出与所述读命令所指定的LBA相对应的数据块存在于非挥发性存储器15中时,控制器16就从非挥发性存储器15中读出该数据块。另一方面,当探查出与该读命令所指定的LBA相对应的数据块不存在于非挥发性存储器15中时,控制器16就从硬盘13读出该数据块。
此外,为了防止由非挥发性存储器15 (它是非挥发性緩存)的自由空
10间的短缺所导致的写操作延迟的发生,控制器16具有一个功能,即通过临时删除非挥发性存储器15中所存储的一部分指定数据块来增加非挥发性
存储器15中的自由空间。
具体说,当非挥发性存储器15的大多数存储区都被使用了并且非挥发性存储器15的自由空间不足时,緩冲器14中所积累的写数据(积累在緩冲器14中作为写数据的一个数据块或多个数据块)就不能被写入非挥发性存储器15中。在这种情形中,通常,需要将写数据写入硬盘13中。于是,写操作的延迟就发生了 。如果在硬盘13上进行的写操作完成之前电力异常(诸如电力故障)发生了,那么,所述写数据就被丢失了。
所以,重要的是,即使当非挥发性存储器15中的自由空间不足时,也要使緩沖器14中积累的写数据能被存储在非挥发性存储器15中。为了实现这一点,当例如接收到上述flush cache命令时,控制器16进行下面的处理。
首先,控制器16判断非挥发性存储器15中的自由空间是否比预定的数据大小要小。如果所述自由空间小于预定的数据大小,那么,控制器16就通过临时删除非挥发性存储器15所存储的各指定数据块(钉扎数据等)中的在硬盘13上也存在同样数据块的数据块(同步数据块)来增加非挥发性存储器15中的自由空间。然后,控制器16将緩沖器14中所存储的写数据写入非挥发性存储器15中。这样,即使当非挥发性存储器15中的自由空间不足时,緩冲器14中积累的写数据也能被高速地存储在非挥发性存储器15中,并且写数据的安全性得以提高。
所述同步数据(也称作介质同步数据)是指这样的数据块,在硬盘13上也存在和其同样的数据块。如果某个数据块A在非挥发性存储器15和在硬盘13上都存在,那么,数据块A就是同步数据。所以,即使从非挥发性存储器15中删除了同步数据,也能通过从硬盘13上读取该数据而使其在非挥发性存储器15中得以恢复。
在本实施方式中,当需要将緩冲器14中存储的写数据高速地存储在非挥发性存储器15中这样的事件发生时,执行上述同步数据的删除处理。作
ii为引起所述事件的因素,除了接收到上述flush cache命令外,还有其它因素。例如,当在磁头马上被卸栽到斜坡上的状态中写数据被写入緩沖器14中时,就执行同步数据的上述删除处理。此外,当从主机设备20接收到要求执行高速清空处理的命令时(下面在图4中将描述该处理),就执行同步数据的上述删除处理。
图2显示了控制器16的结构的例子。
为了执行同步数据的上述删除处理,控制器16包括同步数据删除模块201、重写处理4莫块202、访问频率探查处理模块203、和数据移动处理模块204。
如果非挥发性存储器15的自由空间小于预定数据大小(例如,要写入非挥发性存储器15中的写数据的数据大小),那么,同步数据删除模块201就从非挥发性存储器15中所存储的各数据块中选择同步数据,并执行所述处理以删除该同步数据。例如,同步数据删除模块201从分别与主机设备20所指定的LBA相对应的各指定数据块中选择从硬盘13中加载过来的每个数据块,作为同步数据。在这种情形中,同步数据删除模块201基于主机设备20对同步数据中的每个数据块的访问频率在非挥发性存储器15所存储的各数据块中优先删除是同步数据并具有低的访问频率的数据块。就是说,在作为同步数据的数据块中,优先删除访问频率低的数据块。这样,就能够尽量抑制由于数据块的删除而导致的读访问性能的降低。
这里,如上所述,控制器16自身也可以估计出主机设备20非常可能要请求的每个逻辑块地址(LBA ),并将与所估计出的每个逻辑块地址相对应的数据块从硬盘13加载到非挥发性存储器15中。所以,这种数据块就能被选作同步数据(同步数据块)。
为了在非挥发性存储器15中恢复所删除的数据块,通过重写处理模块202,将与同步数据删除模块201从非挥发性存储器15中所删除的数据块相同的数据块分别从硬盘13中读出并写入非挥发性存储器202中。例如,在非挥发性存储器15中所积累的写数据被写入硬盘13之后,执行所迷重写过程。
12访问频率探查处理模块203对非挥发性存储器15中所存储的每个数据块的访问频率进行管理。具体说,访问频率探查处理模块203对非挥发性存储器15中所存储的每个数据块的由主机设备20进行的读访问或写访问的次数进行计数。这里,并不总是需要对实际的访问次数自身进行精确的计数。例如,也可以对每个数据块在信息存储设备ll的电源周期(从信息存储设备11接通电源到关闭电源的时间段)期间有或无访问进行管理。在这种情形中,与在一个电源周期中被访问了 一次或一次以上的数据块相对应的访问次数变为1。当在一个电源周期中一次访问也没有时,与该数据块相对应的访问次数就变为0。此外,也可以只将非挥发性存储器15中所存储的同步数据作为目标来管理访问次数。
数据移动处理模块204基于非挥发性存储器15中的每个同步数据的访问频率(作为同步数据的数据块的访问频率)在信息存储设备11的正常操作期间执行数据移动处理,以将各数据块中访问频率低的每个数据块都集中到非挥发性存储器15的某个特定存储区域中。就是说,在非挥发性存储器15所存储的各数据块中,作为同步数据并且访问频率低的数据块被提前集中到非挥发性存储器15的某个特定区域中。这样,通过把将成为删除目标的每个数据块集中起来,能够将写数据有效地写入非挥发性存储器15的自由空间中,因为,能够将连续的存储区域分配为自由空间。
如果非挥发性存储器15由包括多个擦除块的闪存构成,那么,在数据移动处理中,同步数据中访问频率低的同步数据,即,是同步数据但访问频率低的数据块,分别被集中到一个或多个特定的擦除区中。从闪存中删除数据的处理在每个擦除块的基础上进行。所以,通过将作为同步数据但访问频率低的数据块提前集中到一个或多个特定的擦除区中,同步数据删除模块201只通过对所述特定擦除块执行块擦除处理就能将作为同步数据但访问频率低的每个数据块一齐删掉。因此,可以高速地执行同步数据删除处理(擦除处理),并很快地保证所需要的自由空间。
此外,在数据移动处理中,基于访问频率低的每个同步数据的LBA,即,基于作为同步数据但访问频率低的每个数据块的LBA,执行将具有彼此靠近的LBA的数据块集中到同一擦除块中的操作。因此,将与被删除数据块相同的数据块分别从硬盘13恢复到非挥发性存储器15中的重写处理的速度就会得到提高。
图3显示了在接收到flush cache (清空緩存)命令时所进行的将写数据写入非挥发性存储器15中的写操作。
如上所述,根据从主机设备20所接收到的flush cache命令(清空命令),控制器16执行将緩冲器14中作为写数据而积累的每个数据块写入非挥发性存储器15中的处理(清空处理)。所述清空处理能够在硬盘13停止转动的状态中执行。这里,清空处理的执行基于这样的前提,即,在非挥发性存储器15中分配了足够的自由空间(即,能够自由地写入数据的空间)。
在非挥发性存储器15中,与主机设备20所指定的LBA相对应的指定数据块(订扎数据,等)和要写入硬盘13中的写数据块是混合在一起的。
存储在非挥发性存储器15中的每个写数据块是还没有写入硬盘13中的新数据块。所以,非挥发性存储器15中所存储的所述写数据块是非同步数据(介质非同步数据),即,在硬盘13上没有与这些数据块相同的数据块。
另一方面,在硬盘13上存在同样数据块的同步数据(介质同步数据)被包括在与主机设备20所指定的LBA相对应的各数据块(钉扎数据)中。例如,从硬盘13加载到非挥发性存储器15中的数据块为同步数据。此夕卜,有这样的情况,其中,与所述数椐块同样的数据块存在于硬盘13上,即使它是从主机设备20传过来的。
所以,在本实施方式中,当非挥发性存储器15的自由空间不足时,控制器16从非挥发性存储器15所存储的各数据块(例如,钉扎数据等)中选择同步数据,并临时删除所选择的同步数据,以便使非挥发性存储器15中的自由空间增加。在这种情形中,控制器16也执行更新管理表161的处理,以便从管理表161中擦除与所删除的同步数据相对应的管理信息。
然后,控制器161将緩冲器(写緩冲器)14中所积累的每个写数据写
14入非挥发性存储器15中的由同步数据的删除所得到的自由空间中。因此,由于仅同步数据将是擦除目标,故数据的擦除不会产生问题。
利用上述处理,在本实施方式中,即使在非挥发性存储器15的大多数存储区域都被使用了的情形中,要写入写数据的区域也能在非挥发性存储器15中得到保证,并且写数据能够存储在非挥发性存储器15中。所以,对清空緩存命令的响应性能能够得以提高,并且由于电源异常等而导致的写数据丢失的可能性得以降低。另外,由于能够在硬盘13停止转动的状态中进行将緩存14所存储的写数据写入非挥发性存储器15中的处理,所以,能够防止由于硬盘13的转动而引起的电源消耗的增加。
下面参考图4说明高速数据清空处理的操作,作为对写数据进行的写操作的另一个例子。
高速数据清空处理是这样的处理,即,不是将緩沖器14中所积累的全部写数据都写入非挥发性存储器15中,而是将緩沖器14中积累的部分写数据写入硬盘13中,并将緩冲器14中积累的其余写数据写入非挥发性存储器15中。对硬盘13的写操作和对非挥发性存储器15的写操作同时进行。
具体说,当从主机设备20接收到清空緩存命令时,或者,当从主机设备20接收到明确地命令执行高速数据清空处理的命令时,控制器16从緩冲器14所积累的各个写数据块中选择能够被高速写入硬盘13中的写数据块(例如,LBA连续的数据块等),并将所选择的写数据块写入硬盘13中。在这种情形中,也进行重新排列处理,以将所选择的数据块按LBA的顺序进行重新排列。
将写数据块写入硬盘13中的同时,控制器16从緩冲器14中所积累的各个写数据块中选择其余的写数据块(即,除了所述选择的写数据块之外的那些写数据块),并将所述其余的写数据块写入非挥发性存储器15中。
如果非挥发性存储器15中的自由空间小于要写入非挥发性存储器15中的所述其余写数据块的总数据大小,那么,控制器16就从非挥发性存储器15所存储的各数据块(例如,钉扎数据等)中选择同步数据(介质同步数据),并临时删除所选择的同步数据(介质同步数据),以确保自由空
15间。这样,即使在非挥发性存储器15的自由空间不足的状态中,也能进行高速数据清空处理。
下面将参考图5说明在信息存^f^i殳备11的正常操作期间在后台所进行的数据移动处理。
在本实施方式中,进行下面的移动处理,以有效地进行同步数据擦除处理。
首先,控制器16为非挥发性存储器15中所存储的每个数据块计数主机i殳备20的读访问次数(步骤S101)。然后,当在信息存储设备11中进行垃圾收集处理或损耗均衡处理(wear leveling process )时,或者,当信息存储设备11空闲时,控制器16基于与非挥发性存储器15中所存储的每个数据块相对应的访问次数进行数据移动处理,以将非挥发性存储器15中所存储的每个数据块进行重新定位(步骤S102、 S103)。
在步骤S102中,控制器16在非挥发性存储器15所存储的各数据块中选择作为同步数据并具有低的访问频率的数据块。然后,在步骤S103中,
控制器16对非挥发性存储器15中所存储的数据块进行重新定位,使得作为介质同步数据并具有低的访问频率的数据块被分别集中到特定的擦除块中,如图6所示。
此外,在步骤S103中的数据移动处理中,控制器16进行重新定位,
LBA彼此靠近的那些数据块集中到同一擦除块中。重新定位的状态示于图7。在图7中,LBA为100的数据块、LBA为20000的数据块、LBA为180的数据块、LBA为21000的数据块、LBA为20的数据块以及LBA为16000的数据块都是作为介质同步数据并具有低的访问频率的数据块。LBA彼此靠近的那些数据块,即LBA属于预定LBA范围内的那些数据块,被移动到同一擦除块中。在图7中,LBA为100的数据块、LBA为180的数据块、和LBA为20的数据块被集中到擦除块1中。此外,LBA为20O00的数据块、LBA为21000的数据块、和LBA为16000的数据块被集中到擦除块2中。在同步数据删除处理中,将成为擦除目标的擦除块的数目随写数据的 数据大小而变化。例如,如果在同步数据删除处理中仅擦除擦除块1,需
要在重写处理中从硬盘13将LBA为100的数据块、LBA为180的数据块、 和LBA为20的数据块恢复到非挥发性存储器15中。在这种情形中,LBA 为100的数据块、LBA为180的数据块、和LBA为20的数据块处于硬盘 13上彼此靠近的存储位置上(例如,在同一磁道或在相邻磁道上)。所以, 这些数据块能够被高效地从硬盘13上读出,从而能够提高重写处理的速 度。
下面将参考图8中的流程图说明将写数据写入非挥发性存储器15中的 写操作的过禾呈。
当需要将緩冲器14中的写数据高速地存储到非挥发性存储器15中的 因素产生时,例如,当从主机设备20接收到清空緩存命令时(步骤S201), 控制器16检查非挥发性存储器15中的自由空间(步骤S202)。然后,控 制器16将非挥发性存储器15中的自由空间与緩沖器14中积累的写数据的 数据大小进行比较,并判断非挥发性存储器15中的自由空间是否小于所述 写数据的数据大小(步骤S203)。
当非挥发性存储器15中的自由空间等于或大于写数据的数据大小时 (步骤S203中的否),控制器16就将緩冲器14中积累的写数据写入非挥 发性存储器15中(步骤S204 )。
当非挥发性存储器15中的自由空间小于写数据的数据大小时(步骤 S203中的是),控制器16就计算不足量的大小(不足量的大小-写数据的 数据大小-非挥发性存储器15中的自由空间)(步骤S205 )。然后,控制 器16基于所述不足量的大小确定要从非挥发性存储器15所存储的各数据 块中删除的数据块(步骤S206)。在步骤S206中,从非挥发性存储器15 所存储的数据块(例如,钉扎数据等)中选择作为同步数据并具有低的访 问频率的数据块,作为数椐块的擦除目标。
当进行了数据移动处理,使得作为同步数据并具有低的访问频率的数 据块被预先集中到 一些特定擦除块中时,控制器16只需要基于不足量的大小从各特定擦除块中选择将要成为擦除目标的擦除块。然后,控制器16 从管理表161中擦除与所选择的擦除块中存在的每个数据块相对应的管理 信息(步骤S207)。
接着,控制器16通过对所选择的擦除块进行块擦除处理来删除掉所选 择的擦除块中的全部数据(步骤S208)。采用这个擦除处理后,由于非挥 发性存储器15中的自由空间增加了,所以,非挥发性存储器15中就能保 证有与所述写数据的数据大小相对应的自由空间。然后,控制器16将緩冲 器14中所存储的每个写数据写入非挥发性存储器15的自由空间中(步骤 S209)。在步骤S209中,控制器16能够在硬盘13停止转动的状态中将 写数据写入非挥发性存储器15中。
利用上述处理,即使在非挥发性存储器15中的自由空间不足的情形 中,也能将緩沖器14中所积累的写数据高速地存储在非挥发性存储器15中。
这里,在步骤S203中,判断非挥发性存储器15中的自由空间是否小 于所述写数据的数据大小。然而,也可以判断非挥发性存储器15中的自由 空间是否小于预先确定的特定数据大小。
本发明所述的信息存储i殳备ll的另一个结构例子示于图9。 图9所示的信息存储设备11通过包含非挥发性緩存的SSD( solid state drive,固态硬盘)来实现。在图9所示的信息存储设备11中,由非挥发 性存储器301构成的非挥发性存储介质300替代了硬盘13。另外,非挥发 性存储器302相对于非挥发性存储介质300而言被作为緩存。非挥发性存 储器302是比非挥发性存储介质300中的非挥发性存储器301具有更高访 问速度的存储器设备。在图9所示的结构中,对非挥发性存储器302的读/ 写访问也比对非挥发性存储介质300中的非挥发性存储器301的读/写访问 的速度更快。所以,上述同步数据擦除处理对于图9所示的信息存储设备 也是有用的。
如上所述,根据本发明,即使在非挥发性存储器15的大多数存储区域 都被使用了的情形中,在非挥发性存储器15中要写入写数据的区域也能得
18到保证,并且通过擦除非挥发性存储器15中的同步数据能够将写数据存储 在非挥发性存储器15中。此外,由于在正常操作过程中提前进行数据移动 处理,所以,能够高速地进行擦除同步数据的处理。
这里所描述的系统的各个模块也能够用软件应用程序、硬件和/或软件 模块、或一个或多个计算机(诸如服务器)中的部件来实现。虽然所述各 个才莫块是单独显示的,但它们可以共享同一基础逻辑或代码的一部分或全 部。
对那些熟悉本技术的人员来说,可以很容易发现其它的优点和修正方 法。所以,本发明就其更广泛的方面而言不限于这里所显示和描述的具体 细节和有代表性的实施方式。因此,可以进行各种修正而不偏离由附属权 利要求书及其等价说法所定义的总的发明性概念的精神或范围。
权利要求
1. 一种信息存储设备,其特征在于包括非挥发性存储介质;非挥发性存储器,配置为用来存储为主机设备而要读取的特定数据块,以及要写入所述非挥发性存储介质中的写数据;缓冲器,配置为用来临时存储从所述主机设备传来的写数据;控制器,配置为用来在所述非挥发性存储器中的自由空间小于给定的数据大小时,从所述非挥发性存储器所存储的各特定数据块中删除那些在所述非挥发性存储介质上也存在同样数据块的同步数据,并将所述缓冲器中所存储的写数据写入所述非挥发性存储器中。
2. 根据权利要求1所述的信息存储设备,其特征在于,如果在所述非 挥发性存储器中存储有多个分别是所述同步数据的数据块,那么,所述控 制器配置为基于所述多个数据块中的每个数据块的访问频率从所述多个数 据块中优先删除访问频率低的数据块。
3. 根据权利要求2所述的信息存储设备,其特征在于,所述控制器配 置为基于所述多个数据块中的每个数据块的访问频率进行数据移动处理, 将所述多个数据块中访问频率低的每个数据块集中到所述非挥发性存储器 的特定存储区域中,所述数据移动处理在所述信息存储设备的正常操作期 间进行。
4. 根据权利要求2所述的信息存储设备,其特征在于,所述非挥发性 存储器由包含多个擦除块的闪存构成,以及所迷控制器配置为在所述信息存储设备的正常操作期间基于所述多个 数据块中的每个数据块的访问频率进行数据移动处理,以将所述多个数据 块中访问频率低的每个数据块集中到所述闪存的一个或多个特定擦除块 中,并擦除所述一个或多个特定擦除块中的整个数据,以从所述多个数据 块中擦除访问频率低的每个数据块。
5. 根据权利要求4所述的信息存储设备,其特征在于,所述数据移动处理包括这样一个处理,即,将访问频率低的所述数据块中逻辑块地址彼 此靠近的数据块集中到同 一个擦除块中。
6. 根据权利要求5所述的信息存储设备,其特征在于,所述控制器包 括重写模块,该重写模块从所述非挥发性存储介质中读取与从所述特定擦 除块中删除掉的每个数据块相同的数据块,并将从所述非挥发性存储介质 中读取的所述数据块重写到所述非挥发性存储器中。
7. 根据权利要求1所述的信息存储设备,其特征在于,所述非挥发性 存储介质包括作为转动介质的硬盘,以及所述控制器配置为在所述硬盘停止转动的状态中将所述緩沖器中所存 储的写数据写入所述非挥发性存储器中。
8. 根据权利要求1所述的信息存储设备,其特征在于,所述非挥发性 存储介质包括作为转动介质的硬盘,以及所述控制器配置为用来同时进行将所述緩冲器中所存储的多个数据块 的一部分作为所述写数据写入所述硬盘中的处理,和将所述多个数据块的 其余部分写入所述非挥发性存储器中的处理。
9. 一种信息存储设备,其特征在于包括 非挥发性存储介质;非挥发性存储器,配置为用来作为緩存并存储为主机设备而要读取的 特定数据块,以及要写入所述非挥发性存储介质中的写数据; 緩冲器,配置为用来临时存储从所述主机设备传来的写数据; 控制器,配置为用来在从所述主机设备接收到读请求时根据该读请求 中所包含的地址从所述非挥发性存储介质或从所述非挥发性存储器中读取 数据块,以及在从所述主机设备接收到要求将所述緩冲器中所存储的写数的:由空间是否小于特定的数据大小,并且如果所述自由空间小于所迷特 定的数据大小,则从所述非挥发性存储器所存储的各特定数据块中删除那 些在所述非挥发性存储介质上也存在同样数据块的同步数据,并将所述緩 冲器中所存储的写数据写入所述非挥发性存储器中。
10. —种控制信息存储设备操作的控制方法,其中,所述信息存^i殳备包括非挥发性存储介质、配置为用来存储为主机设备而要读取的特定数 及配置为用来临时存储从所述主机设备传来的写数据的緩冲器,所述方法的特征在于包括介质或从所述非挥发性存储器中读取数据块;如果所述非挥发性存储器中的自由空间小于给定的数据大小,则从所 述非挥发性存储器所存储的各个特定数据块中删除那些在所述非挥发性存 储介质上也存在同样数据块的同步数据,从而增加所述非挥发性存储器的 自由空间;以及将所述緩冲器中所存储的写数据写入所述非挥发性存储器的自由空间中。
11. 根据权利要求10所述的控制方法,其特征在于,如果在所述非挥 发性存储器中存储有多个分别是所述同步数据的数据块,那么,所迷删除优先删除访问频率低的数据块。
12.根据权利要求ll所述的控制方法,其特征在于,还包括在所述信 息存储设备的正常操作期间基于所述多个数据块中的每个数据块被主机设 备访问的频率进4亍数据移动处理,以便将所述多个数据块中访问频率低的 每个数据块集中到所述非挥发性存储器的特定存储区域中。
全文摘要
本发明涉及一种信息存储设备及其控制方法。根据一个实施方式,该信息存储设备(11)包括非挥发性存储介质(13)、用来存储为主机设备(20)而要读取的特定数据块以及要写入所述非挥发性存储介质(13)中的写数据的非挥发性存储器(15)、用来临时存储从所述主机设备(20)传来的写数据的缓冲器(14)、以及控制器(16)。所述控制器(14)在所述非挥发性存储器(15)中的自由空间小于给定的数据大小时从所述非挥发性存储器(15)所存储的特定数据块中删除那些在所述非挥发性存储介质(13)上也存在同样数据块的同步数据,并将所述缓冲器(14)中所存储的写数据写入所述非挥发性存储器(15)中。
文档编号G06F12/08GK101499036SQ20091000392
公开日2009年8月5日 申请日期2009年1月23日 优先权日2008年1月30日
发明者仁田达雄 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1