储存系统的控制装置及其储存空间回收方法与流程

文档序号:13094495阅读:153来源:国知局
储存系统的控制装置及其储存空间回收方法与流程

本发明系关于一种储存系统之控制装置,且特别是一种可擦写闪存的控制装置,以及其储存空间回收方法。



背景技术:

近年来,智能型手机、平板计算机、桌上型计算机、数字相机等电子装置迅速成长,造成消费者对于电子装置内置之储存装置的需求亦增加,而闪存(flashmemory)便是近年来电子产业中常用的储存装置。

闪存是一种非挥发性内存。以非与门型(nand)的闪存为例,闪存常被应用在记忆卡、通用序列总线闪存装置(usbflashdevice)、固态硬盘(solidstatedisk,ssd)等储存装置。闪存所提供的储存数组系由多个区块(blocks)所构成。各区块包括复数页(pages)。闪存在复制或抹除(erase)数据时,系以整个区块内的所有页为单位来进行。

然而,传统的闪存存在着几个问题。传统的闪存在复制数据时,系以区块的逻辑地址来进行数据搬移。在复制数据的过程中,有用的数据与无用的数据(例如磁盘的空白区域)会一起被搬移。这些无用的数据会长时间储存在传统的闪存中,使得传统的闪存需要执行空间回收(garbagecollection)来清除无用的数据。传统的闪存内的空白储存空间越少,执行空间回收的次数将增加,使得传统的闪存的寿命减少。此外,当传统的闪存写入无用的数据时,传统的闪存亦需要执行读取-修改-写入(read-modify-write)的动作,使得中央处理单元的使用率上升。



技术实现要素:

本发明实施例提供一种储存系统之控制装置。控制装置包括数据读写电路以及判断电路。判断电路耦接于数据读写电路。数据读写电路用以读取储存装置内储存的至少一数据。判断电路用以接收该数据,并判断数据是否符合多个预设数据形式之其中一者。当数据符合该些预设数据形式之其中一者,判断电路输出判断信号至固件单元。接着,固件单元根据判断信号更新逻辑实体对照表,并将数据之逻辑地址指向内存单元之多个虚设数据空间之其中一者。该些虚设数据空间分别储存了该些预设数据形式。最后,控制装置控制储存装置清除数据。

本发明实施例提供一种储存空间回收方法。储存空间回收方法适用于控制装置。储存空间回收方法包括以下步骤。步骤a:读取储存装置内储存的至少一数据。步骤b:判断数据是否符合多个预设数据形式之其中一者。步骤c:当数据符合该些预设数据形式之其中一者,输出判断信号至固件单元。步骤d:根据判断信号更新逻辑实体对照表,并将数据之逻辑地址指向内存单元之多个虚设数据空间之其中一者。该些虚设数据空间分别储存了该些预设数据形式。步骤e:控制储存装置清除数据。

综上所述,本发明实施例所提供之储存系统之控制装置及其储存空间回收方法,可以将储存装置中无用的数据清除,进而减少储存装置执行空间回收的次数,使得储存装置的寿命延长。此外,当操作系统欲读取的数据符合预设数据形式时,操作系统可直接从内存单元中获得数据,而不需要透过储存装置,使得操作系统的数据读取速度提升。

附图说明

图1是本发明实施例所提供之储存系统的结构示意图。

图2是本发明实施例所提供之控制装置的结构示意图。

图3是本发明实施例所提供之储存空间回收方法的流程图。

图4a是本发明实施例所提供之更新前的逻辑实体对照表的示意图。

图4b是本发明实施例所提供之更新后的逻辑实体对照表的示意图。

具体实施方式

请参阅图1,图1是本发明实施例所提供之储存系统的结构示意图。储存系统1可设置于为智能型手机、平板计算机、桌上型计算机、数字相机等电子装置。储存系统1包括控制装置10、储存装置11、内存单元12、固件单元13以及操作系统14。控制装置10耦接于储存装置11、内存单元12、固件单元13以及操作系统14。内存单元12耦接于操作系统14。固件单元13耦接于操作系统14。

控制装置10用以读取储存装置11内储存的数据,并判断读取到的数据是否符合多个预设数据形式之其中一者。接着,控制装置10根据判断结果输出一判断信号至固件单元13。另一方面,控制装置10亦可将数据写入储存装置11。

进一步说,控制装置10可依操作系统14输出的数据读取请求以读取储存装置11内储存的数据,并判断数据是否符合该些预设数据形式之其中一者。当控制装置10读取到的数据符合其中一种预设数据形式,控制装置10通知固件单元13更新内部数据。接着,控制装置10控制储存装置11清除该数据。另一方面,当操作系统14没有输出数据读取请求时,控制装置10每隔一段时间执行背景扫瞄读取(backgroundscanread),以读取储存装置11内的数据,藉此达到数据保留。若控制装置10没有周期性地读取储存装置11内的数据,储存装置11将会慢慢地漏电,使得数据流失。至于控制装置10的内部结构将于下方段落配合图2进行说明。

于本实施例中,该些预设数据形式中的第一预设数据形式系二进制全0数据(即十六进制全0x00数据),而该些预设数据形式中的第二预设数据形式系二进制全1数据(即十六进制全0xff数据)。对于储存系统1来说,二进制全0数据以及二进制全1数据可能系无用的数据。然而,本发明并不以此为限。于其它实施例中,所属技术领域具有通常知识者亦可自行设计其它预设数据形式,本发明并不对此做限制。

储存装置11系一种可复写式非挥发性内存,用以储存数据。举例来说,储存装置11为一种固态硬盘。储存装置11可包括基于浮动闸极或电荷收集技术之非与门型的闪存(nandflash)、非或门型的闪存(norflash)、可抹除可程序化只读存储器(eprom)、电可抹除可程序化只读存储器(eeprom)或其任何组合。

储存装置11系由多个区块所构成,且该些区块分别包括复数页。储存装置11提供其它装置(例如控制装置10)根据实体页之地址或实体区块之地址等实体地址读取或写入储存装置11内的储存媒体。

内存单元12系任何类型之挥发性内存,用以暂存数据。举例来说,内存单元12系静态随机存取内存(sram)、动态随机存取内存(dram)、同步动态随机存取内存(sdram)、双数据速率动态随机存取内存(ddrdram)、高速缓存、只读存储器(rom)或其任何组合。本实施例系以内存单元12为动态随机存取内存为例。

值得一提的是,内存单元12包括多个虚设数据空间,该些虚设数据空间分别储存了该些预设数据形式。举例来说,内存单元12之第一虚设数据空间中储存了第一预设数据形式(即二进制全0数据),而内存单元12之第二虚设数据空间中储存了第二预设数据形式(即二进制全1数据)。附带一提,于本实施例中,第一虚设数据空间的实体地址系00,而第二虚设数据空间的实体地址系ff。

固件单元13用以储存一固件。固件单元130例如为只读存储器或闪存,而固件例如为基本输入输出系统(basicinputoroutputsystem,bios)、可延伸固件接口(extensiblefirmwareinterface,efi)bios或联合可延伸固件界面(unifiedextensiblefirmwareinterface,uefi)bios等。此外,固件单元13还储存了一逻辑实体对照表。逻辑实体对照表记录了固件单元13内的逻辑地址与储存装置11内的实体地址之对应关系。固件单元13根据控制装置10提供的判断信号更新逻辑实体对照表,并将判断信号内指示的数据之逻辑地址指向内存单元12之该些虚设数据空间之其中一者。详细的更新流程相于下方段落配合图3、4a、4b进行说明。

操作系统14用以操作储存系统1。具体来说,操作系统14可以输出数据读取请求给固件单元13,固件单元13再根据逻辑实体对照表命令控制装置10从储存装置11获取数据。数据读取请求包括操作系统14欲读取之数据的逻辑地址。值得一提的是,当操作系统14欲读取的数据符合该些预设数据形式之其中一者,固件单元13通知操作系统14直接读取内存单元12中对应的该些虚设数据空间,以直接获得操作系统14想要的数据。

请参阅图2,图2是本发明实施例所提供之控制装置的结构示意图。控制装置10包括数据读写电路100、判断电路101、传输电路102以及数据抹除电路103。数据读写电路100耦接于储存装置11、判断电路101以及传输电路102。判断电路101耦接于固件单元13、传输电路102以及数据抹除电路103。传输电路102耦接于内存单元12以及固件单元13。数据抹除电路103耦接于储存装置11。

数据读写电路100用以读取储存装置11内储存的至少一数据。具体来说,数据读写电路100每隔一段时间执行背景扫瞄读取,以读取储存装置11内的数据。或者,数据读写电路100根据操作系统14输出的数据读取请求对应地读取储存装置11内的数据。

判断电路101用以接收数据读写电路100读取到的数据,并判断该数据是否符合该些预设数据形式之其中一者。当读取到的数据符合该些预设数据形式之其中一者,判断电路101输出判断信号至固件单元13。判断信号内包括多个判断位。该些判断位分别对应于不同的预设数据形式。即判断位的数量正比于判断电路101设定之预设数据形式的数量。

举例来说,当判断电路101判定数据符合第一预设数据形式,判断电路101将判断信号中的第一判断位标记为1。此时其它判断位(例如第二判断位)被标记为0。同理,当判断电路101判定数据符合第二预设数据形式,判断电路101将判断信号中的第二判断位标记为1,并将其它判断位标记为0。另一方面,若数据不符合任何一种预设数据形式,判断电路101将所有的判断位标记为0。换句话说,固件单元13可跟据判断信号直接判断数据是否符合其中一种预设数据形式,以更新逻辑实体对照表。

传输电路102用以将数据写入内存单元12。具体来说,当操作系统14欲读取的数据不符合该些预设数据形式,判断电路101根据固件单元13之逻辑实体对照表控制控制数据读写电路100从储存装置11中读取对应的数据。数据读写电路100将读取到的数据输出至传输电路102。传输电路102将数据读写电路100读取到的数据输出至内存单元12,并通知固件单元13该数据于内存单元12中的地址。最后,固件单元13通知操作系统14自内存单元12获取数据。

另一方面,当操作系统14欲读取之数据符合该些预设数据形式之其中一者(例如为第一预设数据形式),判断电路10根据逻辑实体对照表输出内存单元12之第一虚设数据空间中的实体地址00至操作系统14。最后,操作系统14直接读取第一虚设数据空间以获得第一预设数据形式所对应的数据。

数据抹除电路103受控于判断电路101,用以清除储存装置11内储存的数据。

以下将进一步说明控制装置10如何回收储存装置11内的储存空间。请参阅图3,图3是本发明实施例所提供之储存空间回收方法的流程图。图3之储存空间回收方法适用于图2之控制装置10。此时,操作系统14并未输出数据读取请求,故控制装置10执行背景扫瞄读取。于步骤s301,数据读写电路100读取储存装置11内的数据,并将读取到的数据输出至判断电路101。于步骤s302,判断电路101判断数据是否符合该些预设数据形式之其中一者。若数据符合该些预设数据形式之其中一者,进入步骤s303。反之,若数据不符合该些预设数据形式之其中一者,回到步骤s301,以读取下一个数据。

于步骤s303,判断电路101根据该数据符合的预设数据形式对应地标记判断信号内的判断位,并输出判断信号至固件单元13。于本实施例中来说,该数据符合第一预设数据形式。因此,判断电路101将判断信号内的第一判断位标记为1,并输出判断信号至固件单元13。

于步骤s304,固件单元13根据判断信号更新逻辑实体对照表,以将该数据之逻辑地址指向内存单元12之该些虚设数据空间之其中一者(例如第一虚设数据空间)。

于步骤s305,判断电路101输出抹除信号至数据抹除电路103,使得数据抹除电路103控制储存装置11清除该数据,以回收该数据所占用的储存空间。

如此一来,储存装置11内的储存空间可以被释放。储存装置11在重整内部之储存空间的过程中可以节省不必要的数据搬移,以延长储存装置11的寿命。此外,当操作系统14欲读取第一预设数据形式所对应的数据时,固件单元13根据逻辑实体对照表通知操作系统14直接读取内存单元12之第一虚设数据空间。据此,操作系统14可以从内存单元13获得该数据而不需要透过储存装置11,使得操作系统14的数据读取速度提升。

值得一提的是,控制装置10还具有一错误检查与纠正(errorcheckingandcorrecting)功能,并在读取该数据时对数据执行一错误校正程序。具体来说,判断电路101在判断该数据是否符合该些该些预设数据形式之其中一者的过程中,可以同时执行错误校正程序,以检查该数据内的位。若错误校正程序显示该数据错误,判断电路101通知操作系统14该数据异常,或是直接控制数据抹除电路103清除该数据。若错误校正程序显示该数据正确,判断电路101继续执行图3之步骤s303~s305,以释放储存空间。

附带一提,于本实施例中,内存单元12系动态随机存取内存。因此,当储存系统1关闭时,内存单元12内储存的该些预设数据形式会被清除。当储存系统1再次被启动时,控制装置10再将该些预设数据形式分别存入对应的虚设数据空间。

以下将举一实际例子来说明控制装置10如何回收储存装置11内的储存空间。请参阅图4a、4b,图4a是本发明实施例所提供之更新前的逻辑实体对照表的示意图。图4b是本发明实施例所提供之更新后的逻辑实体对照表的示意图。图4a与4b中分别绘示了固件单元13内储存的逻辑实体对照表以及储存装置11中数据之实体地址与数据内容的对应关系表。此时,储存装置11中已储存了无用的数据(即二进制全0数据以及二进制全1数据)。

首先,控制装置10同样执行背景扫瞄读取,并从储存装置11中读取实体地址25、94、388所储存的数据。判断电路101判断实体地址25中储存的是二进制全0数据,实体地址94中储存的是二进制全1数据,而实体地址388中储存的并非是二进制全0数据以及二进制全1数据。另一方面,于图4a之逻辑实体对照表中,实体地址25系对应于逻辑地址10,实体地址388系对应于逻辑地址11,而实体地址94系对应于逻辑地址12。

接着,判断电路101分别输出第一判断信号、第二判断信号以及第三判断信号至固件单元13。第一判断信号系用以指示实体地址25所储存的数据是否符合该些预设数据形式。第二判断信号系用以指示实体地址94所储存的数据是否符合该些预设数据形式。第三判断信号系用以指示实体地址388所储存的数据是否符合该些预设数据形式。由于实体地址25所储存的数据符合第一预设数据形式,判断电路101将第一判断信号中的第一判断位标记为1,而其它判断位标记为0。另一方面,由于实体地址94所储存的数据符合第二预设数据形式,判断电路101将第二判断信号中的第二判断位标记为1,而其它判断位标记为0。由于实体地址388所储存的数据不符合第一预设数据形式以及第二预设数据形式,判断电路101将第三判断信号中的所有判断位标记为0。

固件单元13接收第一、第二、第三判断信号,并根据第一、第二、第三判断信号将图4a之逻辑实体对照表更新为图4b之逻辑实体对照表。具体来说,固件单元13更新逻辑地址10、12所对应的实体地址。更新后的逻辑地址10指向内存单元12中的第一虚设数据空间的实体地址00,而更新后的逻辑地址12指向内存单元12中的第二虚设数据空间的实体地址ff。据此,操作系统14可根据图4b之逻辑实体对照表直接从第一虚设数据空间中读取二进制全0数据,或从第二虚设数据空间中读取二进制全1数据。

或者,当操作系统14欲读取实体地址388储存的数据时,判断电路13根据固件单元13提供之逻辑实体对照表控制数据读取单元100读取实体地址388。接着传输电路102输出实体地址388所对应的数据至内存单元12。固件单元13再通知操作系统14至内存单元12读取想要的数据。最后,数据抹除电路103控制储存设备11清除实体地址25、94中储存的数据,以释放实体地址25、94的储存空间。

综上所述,本发明实施例所提供之储存系统之控制装置及其储存空间回收方法,可以将储存装置中无用的数据清除,进而减少储存装置执行空 间回收的次数,使得储存装置的寿命延长。此外,当操作系统欲读取的数据符合预设数据形式时,操作系统可直接从内存单元中获得数据,而不需要透过储存装置,使得操作系统的数据读取速度提升。

另一方面,本发明实施例所提供之储存空间回收方法系由控制装置来执行。因此,储存系统之中央处理器的使用率不会因为储存装置执行空间回收而增加。

符号说明

1:储存系统

10:控制装置

11:储存装置

12:内存单元

13:固件单元

14:操作系统

100:数据读写电路

101:判断电路

102:传输电路

103:数据抹除电路

s301~s305:步骤流程。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1