首页> 中国专利> 用于操作数据处理系统的系统、方法和计算机程序产品

用于操作数据处理系统的系统、方法和计算机程序产品

摘要

本发明提供用于操作数据处理系统的系统、方法和计算机程序产品,所述数据处理系统包括主机系统和具有写前擦除存储器的外部数据存储设备,可通过将文件删除命令从主机传送到其上存储一个或多个文件的数据存储器而操作所述数据处理系统。文件删除命令可指定与被删除文件相关的、要无效的逻辑地址和数据。基于所指定的要无效的逻辑地址和数据,数据存储器可将在写前擦除存储器中的一个或多个存储器分配单元标识为包含无效数据。数据存储设备可维护将在写前擦除存储器中的存储器分配单元的物理地址与存储器分配单元是否包含无效数据的指示相关联的数据结构。数据结构可用于将与被删除文件相关联的存储器分配单元标记为包含无效数据。

著录项

  • 公开/公告号CN101354715A

    专利类型发明专利

  • 公开/公告日2009-01-28

    原文格式PDF

  • 申请/专利权人 三星电子株式会社;

    申请/专利号CN200810127773.0

  • 发明设计人 朴赞益;

    申请日2008-02-13

  • 分类号G06F17/30;

  • 代理机构北京市柳沈律师事务所;

  • 代理人钱大勇

  • 地址 韩国京畿道

  • 入库时间 2023-12-17 21:23:40

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-04-20

    授权

    授权

  • 2010-05-05

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20080213

    实质审查的生效

  • 2009-01-28

    公开

    公开

说明书

相关申请的交叉参考

本申请要求于2007年2月13日在韩国知识产权局提出的韩国专利申请No.P2007-0014980的利益和优先权,其公开在此通过引用方式包含,如同以其整体阐述一样。

技术领域

本发明一般涉及数据处理系统,具体而言,本发明涉及对数据处理系统中的存储设备的使用。

背景技术

数据处理系统可使用文件系统来存储和组织计算机文件以便利对它们的访问。文件系统可看作为一组可用于数据的存储、组织、处理、导航、访问和恢复的抽象数据类型。文件系统可分为三种类型:磁盘文件系统、网络文件系统和特定目的文件系统。磁盘文件系统一般被设计用于在数据存储设备上存储文件。网络文件系统一般作为远程文件访问协议的客户。特定目的文件系统一般指不是磁盘文件系统或网络文件系统的任何文件系统。例如,特定目的文件系统可以是其中由软件动态排列文件的系统,并且可用于在计算机处理和/或临时文件空间之间的通信。

当用户在计算机系统上删除文件时,从用户的角度来看,计算机上运行的文件系统处理删除命令并且看上去像从存储器移除文件。然而,实际上,传统的文件系统将文件数据留在物理存储器中。这可以参照图1中的文件分配表(FAT)文件系统来示出。主机系统包括与文件系统105通信的应用程序。主机具有附加到其上的存储系统。在图1的示例中,存储设备是包括快闪翻译层(Flash Translation Layer,FTL)110和存储器115(例如闪存单元阵列)的闪存设备。FTL 110保持跟踪与存储器115中的文件相关联的存储单元的物理位置,因此,文件系统105仅需要参考逻辑存储单元。

如图1所示,当应用程序100用于删除文件1时,文件系统105从目录中移除名称“文件1”并在文件1的FAT条目的第一字符中设置特定代码以指示对于新文件来说那些存储器分配单元可用。然而,在存储系统上,FTL 110逻辑地删除所述文件,但是不从存储器115中擦除文件1的数据。相反,文件1的数据在存储器115上保持完整性并且甚至可通过例如使用DOS取消删除命令(后面跟随名称“文件1”)来恢复。这样,当用户删除文件时,仅仅是通过文件系统105和FTL 110逻辑地删除文件。磁盘碎片整理或格式化存储设备可重新分配由存储器115中的被删除文件占据的存储单元,但是文件数据可仍在存储器115上保留完整性。随着时间的过去,在存储器115上保存新文件可能导致被删除文件的存储单元的一部分或全部被重写,但是直到此时,仍然存在许多可用于恢复被删除文件的可用特性。

因为一些文件可能包括私人或敏感信息,所以用户可能希望在存储系统上使文件被删除,以便在允许其他人访问或共享该存储系统之前它们是不可恢复的。

发明内容

根据本发明的一些实施例,通过发送文件删除命令到外部存储设备来操作主机数据处理系统,所述外部存储设备包括用于存储于其上的至少一个文件的写前擦除存储器(erase before write memory device)。

在其它实施例中,该方法进一步包括在主机上检测文件删除操作以及响应于检测文件删除操作而将文件删除命令发送到外部存储设备。

仍旧在其它实施例中,检测文件删除操作包括检测是否已利用针对被删除文件的删除代码更新了与文件系统相关联的元数据。

仍旧在其它实施例中,文件删除命令指定与被删除文件相关联的要无效的逻辑地址和数据。

仍旧在其它实施例中,存储设备是存储卡器件、固态驱动(SSD)器件、ATA总线器件、串行ATA(SATA)总线器件、多媒体卡(MMC)器件、安全数字(SD)器件、存储棒器件、硬盘驱动(HDD)器件、混合硬驱动(HHD)器件、和/或通用串行总线(USB)闪驱器件,并且主机数据处理系统是个人数字助理、计算机、数字音频播放器、数码相机、和/或移动终端。

在本发明的另一实施例中,通过从主机设备接收指定针对在写前擦除存储器中的至少一个文件的要无效的逻辑地址和数据的文件删除命令、并且根据所指定的要无效的逻辑地址和数据将在所述写前擦除存储器中的至少一个存储器分配单元标识为包含无效数据来操作包括写前擦除存储器的存储设备。

仍旧在另一实施例中,将在写前擦除存储器中的至少一个存储器分配单元标识为包含无效数据包括:维护将在写前擦除存储器的存储器分配单元的物理地址与存储器分配单元是否包括无效数据的指示相关联的数据结构;并且在数据结构中将至少一个存储器分配单元标识为包含无效数据。

仍旧在另一实施例中,存储设备包括被配置成管理数据结构的快闪翻译层(FTL)模块。

仍旧在另一实施例中,通过读/写操作单元和擦除操作单元来组织写前擦除存储器。所述方法进一步包括:确定是否在一个擦除操作单元中的所有读/写操作单元都包含无效数据;并且当在一个擦除操作单元中的所有读/写操作单元都包含无效数据时,在所述那个擦除操作单元上执行擦除操作。

仍旧在另一实施例中,确定是否在一个擦除操作单元中的所有读/写操作单元都包含无效数据包括:在数据结构中确定是否在一个擦除操作单元中的所有读/写操作单元都被指示为包含无效数据。

仍旧在另一实施例中,与在写前擦除存储器上执行的周期碎片整理操作分开执行在所述那个擦除操作单元上的擦除操作。

仍旧在另一实施例中,数据结构将在主机设备中使用的逻辑地址与在写前擦除存储器中的读/写操作单元的物理地址相关联。

在本发明其它实施例中,通过向包括写前擦除存储器的外部存储设备发送指定针对在所述写前擦除存储器中存储的至少一个文件的要无效的逻辑地址和数据的文件删除命令、并且根据所指定的要无效的逻辑地址和数据将在所述写前擦除存储器中的至少一个存储器分配单元标识为包含无效数据来操作数据处理系统。

尽管上述主要描述了本发明关于方法的方面,但是应该理解:本发明还可体现为系统和计算机程序产品。

当学习下面的附图和详细的描述时,对本领域技术人员来说,根据本发明的实施例的其它系统、方法、和/或计算机程序产品将会或变得清楚。其试图将所有这样的附加系统、方法、和/或计算机程序产品包括在该描述中,在本发明的范围中,且可通过所附权利要求来保护。

附图说明

当结合附图研读时,从具体实施例的下述详细描述中更容易理解本发明的其它特点,其中:

图1是示出包括传统文件删除的操作的数据处理系统的框图;

图2是示出根据本发明一些实施例的数据处理系统的框图;

图3是示出根据本发明一些实施例的将存储设备中的存储器分配单元与存储器分配单元是包含有效还是包含无效数据的指示相关联的数据结构的框图;以及

图4-8是示出根据本发明的一些实施例的图2的数据处理系统的运行流程图。

具体实施方式

虽然本发明容许多种改变和替换形式,但是在附图中通过举例方式示出其特定实施例,并且将在此详细描述这些特定实施例。然而,应该理解:不希望将本发明限于公开的具体形式,而是相反,本发明将覆盖落入如权利要求所限定的本发明的精神和范围之中的所有修改、等效内容和替换。在整个附图的描述中,相同的参考数字代表相同的单元。

如在此所使用的,除非特别说明,单数形式“一”、“一个”和“这”意图还包括复数形式。还应该理解:当术语“包括”和/或“包括”使用在本说明书中时是说明所陈述的特征、整体、步骤、操作、元件、和/或部件的存在,而不是排除一个或多个其它特征、整体、步骤、操作、元件、部件、和/或其分组的存在或增加。应该理解:当提到元件“连接”或“耦合”到另一元件时,可直接连接或耦合到另一元件,或可能出现中间元件。而且,这里使用“连接”或“耦合”可包括无线连接或耦合。如这里所使用的,术语“和/或”包括一个或多个相关联的列出项的任何和所有组合。

除非另外定义,否则这里使用的所有的术语(包括工业和科技术语)具有与本发明所属领域普通技术人员普遍理解相同的含义。还应该进一步理解:诸如那些在普遍使用的字典里定义的术语应被解释为与相关领域上下文中它们的意思相一致的含义,并且将不被解释为理想化的或过于正式的含义,除非这里特别的定义过。

本发明可体现为方法、系统、和/或计算机程序产品。相应地,本发明可被包含在硬件和/或软件中(包括固件、驻留软件、微代码等)。而且,本发明可以采用在计算机可用或计算机可读存储介质上的计算机程序产品的形式,所述计算机程序产品具有包含在由指令执行系统使用的或连接到指令执行系统的介质中的、计算机可用或计算机可读程序代码。在本文件的上下文中,计算机可用或计算机可读介质可以是由指令执行系统、设备或装置、或连接到指令执行系统、设备、或装置的、可包含、存储、通信、传播、或传输程序的任何介质。

计算机可用或计算机可读介质例如可以是但不限于电、磁、光、电磁、红外、或半导体系统、设备、装置、或传播媒质。计算机可读介质的更多具体例子(不完全列举)将包括如下:具有一条或多条线路的电连接、便携式计算机磁盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、和光盘只读存储器(CD-ROM)。注意:计算机可用或计算机可读介质甚至可以是其上打印程序的纸或其他适合的介质,由于程序可通过例如对纸或其它介质的光扫描而被电捕获,然后被编辑、被解释或如果需要被以适合方式进行其他处理,并且然后被存储在计算机存储器中。

为了阐述,这里参考闪存数据存储设备描述本发明的各种实施例。应该理解:数据存储设备不限于被实现为闪存器件,而通常可被实现为写前擦除存储器。这样,数据存储设备可以是存储卡器件、固态驱动(SSD)器件、ATA总线器件、串行ATA(SATA)总线器件、多媒体卡(MMC)器件、安全数字(SD)器件、存储棒器件、硬盘驱动(HDD)器件、混合硬驱动(HHD)器件、和/或通用串行总线(USB)闪驱器件。

经常以块和页的形式来组织闪存。一般的块可以是每页是512个字节的32页或每页2048个字节的64页。每页一般地具有一些关于可用于错误检测和/或纠正的字节。虽然可以随机访问形式读取或编程闪存,但是必须每次擦除一个块。闪存可使用页尺寸作为用于执行读取和/或写入操作的存储器单位尺寸。这里在使用页作为存储器读/写操作单元以及块作为存储器擦除操作单元的上下文中描述了本发明的一些实施例。应该理解:本发明的实施例不限于页和块作为存储器操作单元。而是,用于执行读取或写入操作的存储器单元通常可被指定为读/写操作单元并且用于执行擦除操作的存储器单元通常可被指定为擦除操作单元。

根据本发明的一些实施例,可通过将针对在数据存储设备上存储的一个或多个文件的文件删除命令从主机发送到数据存储设备来操作包括主机系统和具有在其上的写前擦除存储器的外部数据存储设备的数据处理系统。文件删除命令可指定与被删除文件相关联的、要无效的逻辑地址和数据。基于所指定的要无效的逻辑地址和数据,数据存储设备可将在写前擦除存储器中的一个或多个存储器分配单元标识为包含无效数据。在一些实施例中,数据存储设备可维护将在写前擦除存储器中的存储器分配单元的物理地址与存储器分配单元是否包括无效数据的指示相关联的数据结构。数据结构可用于将与被删除文件相关联的存储器分配单元标记为包含无效数据。

现在参考图2,数据处理系统包括通过接口210连接的主机200和存储设备205。接口210可以是标准接口,诸如ATA、SATA、PATA、USB、SCSI、ESDI、IEEE 1394、IDE、和/或卡接口。主机200包括经由地址/数据总线225与存储器220通信的处理器215。例如,处理器215可以是商用的或常规微处理器。根据本发明的一些实施例,存储器220代表包含用于操作数据处理系统的软件和数据的一个或多个存储器。存储器220可包括但不限于下列类型的器件:高速缓冲存储器、ROM、PROM、EPROM、EEPROM、闪存、SRAM、和DRAM。

如图2所示,存储器220可包括五种或五种以上的软件和/或数据:操作系统228、应用程序230、文件系统235、存储管理器240、和I/O驱动器245。操作系统228通常控制主机200的操作。特别地,操作系统228可管理主机200的软件和/或硬件资源并可协调处理器215对程序的运行。应用程序230代表各种可在主机200上运行的应用程序。文件系统235是用于在存储器220和/或存储位置(诸如存储设备205)中存储和组织计算机文件和/或数据的系统。使用的文件系统235可基于在主机200上运行的特定操作系统228。存储管理器240可管理在存储器220中执行的存储器访问操作和/或外部设备(诸如存储设备205)中执行的操作。I/O驱动器245可用于在主机200和其他设备(诸如存储设备205)、计算机系统或网络(例如因特网)之间传输信息。

根据本发明的各种实施例,主机200可以是个人数字助理(PDA)、计算机、数字音频播放器、数码相机、和/或移动终端。

存储设备205包括经由地址/数据总线260与存储器255通信的控制器250。存储器255可以是多种不同的存储器类型并且可以通常被描述为写前擦除型存储器。这样,根据本发明的多个实施例,存储设备205可以是存储卡器件、固态驱动(SSD)器件、ATA总线器件、串行ATA(SATA)总线器件、多媒体卡(MMC)器件、安全数字(SD)器件、存储棒器件、硬盘驱动(HDD)器件、混合硬驱动(HHD)器件、和/或通用串行总线(USB)闪驱器件。控制器250包括经由地址/数据总线275与本地存储器270通信的处理器265。例如,处理器265可以是商用或常规微处理器。根据本发明的一些实施例,本地存储器270表示一个或多个包含用于操作存储器205的软件和数据的存储器。本地存储器470可包括但不限于下列类型的器件:高速缓冲存储器、ROM、PROM、EPROM、EEPROM、闪存、SRAM、和DRAM。

如图2所示,本地存储器270可包括三种或更多种软件和/或数据:操作系统278、快闪翻译层(FTL)模块280、和表格285。操作系统278通常控制存储设备205的操作。特别地,操作系统278可管理存储设备205的软件和/或硬件资源并且可协调处理器265对程序的执行。FTL模块280可用在闪存器件中。如上所述,以块为单位擦除闪存芯片。闪存的典型寿命是每块约100000次擦除操作。为避免使闪存的一部分比其他部分先用坏,闪存器件通常被设计为在整个存储器上分配擦除周期,这可被称为“磨损拉平(wear leveling)”。FTL模块280可被用作文件系统235和在存储器255种的文件/数据的位置之间的接口,从而由于磨损拉平,文件系统235不必对存储器255中的文件/数据的实际位置保持跟踪。可通过FTL模块280来维护表格285并且表格285可被用于将存储器255中的存储器分配的单元的物理地址与存储器分配单元是否包含无效数据的指示进行关联。

图3示出快闪型存储器的表格285的示例,其中页用作存储器分配单元并且一个块包括四个页。如图3所示,表格285将闪存255中的页的物理地址与由文件系统235使用的逻辑地址相关联。而且,表格285包括指示闪存255中的每个特定页是包含无效数据还是包含有效数据的列。在示出的示例中,包括逻辑地址0-3的页的块包含无效数据并且因此可被擦除。当块中的所有页被确定为包含无效数据时,表格285可用来触发擦除操作。通常地,例如,如果在逻辑地址页地址0上尝试第二写入操作,那么可推断出逻辑页地址0包含无效数据。然而,不清楚逻辑页地址1-3是否也包含无效数据。因此,为了释放逻辑页地址0,在别处复制逻辑页地址1-3中的数据,所以可擦除包括逻辑页地址0-3的整个块。如果逻辑页地址1-3包含无效数据,那么这种复制操作可能没有必要。表格285可提供哪页包含无效数据的指示以减少上述不必要的复制操作。尽管这里被说明为表格,但是应该理解根据本发明的多个实施例,表格285可实现其它类型的数据结构。

尽管图2示出了根据本发明的一些实施例的数据处理系统软件体系,但是应该理解本发明不限于这样的配置,而是意图包括这里描述的能够完成操作的任何配置。

为了开发方便,可利用高级编程语言(诸如Java、C和/或C++)来编写用于执行上面参考图2描述的设备和/或系统的操作的计算机程序代码。另外,也可以利用其他编程语言来编写用于执行本发明实施例的操作的计算机编程代码,诸如但不限于解释性语言。可以利用汇编语言或甚至微代码来编写一些模块或例程以增强性能和/或存储器使用。还应该进一步理解:还可使用分离的硬件部件、一个或多个专门用途集成电路(ASIC)或可编程数字信号处理器或微控制器来执行任何或所有程序模块的功能。

下文将参照根据本发明一些实施例的方法、系统、设备和/或计算机程序产品的消息流、流程图和/或方框图图解来描述本发明。这些消息流、流程图和/或方框图还示出了用于操作包括外部数据存储设备的数据处理系统的示范性操作。应该理解:可通过计算机程序指令和/或硬件操作来实现每个消息/消息流的块、流程图和/或方框图图解、以及在消息流中的消息/块、流程图和/或方框图图解的组合。可提供这些计算机程序指令给通用计算机、专用计算机的处理器或其它可编程数据处理设备以生产机器,以便经由计算机处理器或其它可编程数据处理设备执行的指令产生用于实现在消息流、流程图和/或方框图块或多个块中指定的功能的方式。

这些计算机程序指令还可存储在计算机可用或计算机可读的存储器上,其可引导计算机或其他可编程数据处理设备以特定方式操作,以便存储在计算机可用或计算机可读的存储器上的指令生成包括实现在消息流、流程图和/或方框图块或多个块中指定的功能的指令的制造产品。

计算机程序指令还可被加载到计算机或其他可编程数据处理设备上以产生在计算机或其他可编程设备上执行的一系列可操作步骤以产生计算机执行的进程,以便在计算机或其他可编程设备上运行的指令提供用于实现在消息流、流程图和/或方框图块或多个块中指定的功能的步骤。

根据图4,操作在块400开始,在块400中,主机数据处理系统200发送针对一个或者多个文件的文件删除命令到外部存储设备205,所述外部存储设备包括诸如闪存器件之类的写前擦除存储器。根据图5中所示的本发明的各种实施例,在块500中,可在主机200上检测文件删除操作。例如,这可通过检测与文件系统相关联的元数据已被利用用于被删除文件的删除代码更新来实现。响应于在主机500上检测文件删除操作,文件删除命令可被发送给外部存储设备205。在一些实施例中,文件删除命令能指定与被删除文件相关联的要无效的逻辑地址和数据。

参照图6,在外部存储设备205上的示范性文件删除操作在块600开始,在块600中,从主机200接收为一个或多个文件指定要无效的逻辑地址和数据的文件删除命令。存储设备205根据指定的要无效的逻辑地址和数据,把在存储器255中的一个或多个存储器分配单元标识成包含无效数据。在图7所示的一些实施例中,在块700中,FTL模块280可维护诸如在图3示出的表格285之类的、将逻辑地址与用于在存储器255中的存储器分配单元的物理地址相关联的数据结构。所述数据结构还可包括各个存储器分配单元是否包含无效数据的指示。在块705中,当存储器分配单元的物理地址被标识为与被删除文件相关联时,FTL模块280可更新数据结构以指示被标识的存储器分配单元包含无效数据。

当在存储设备上执行各种存储器操作时,可能期望执行“碎片整理”操作以形成较大块的空闲连续的存储空间。根据本发明的一些实施例,不是等着主机200的操作系统228或存储设备205的操作系统278来触发周期性的碎片整理操作,而是FTL模块280可以用表格285来确定何时收集包含无效数据的存储器单元。根据图8,在块800中,FTL模块280可以通过检查每个读/写操作单元的无效数据字段(参见图3)来确定是否在擦除操作单元(例如快闪存储器件的块)中的所有读/写操作单元(例如,快闪存储器件的页)包含无效数据。在块805中,一旦所有读/写操作单元被标记成包含无效数据,就可以在擦除操作单元上执行擦除操作。这样,擦除操作单元一准备好擦除,实际的物理文件数据就可以被擦除。这对于涉及个人或敏感数据的应用可能是期望的,因为从存储设备的存储器上物理擦除文件可以比等待文件由于在存储设备上执行的多个文件写操作而偶然擦除执行得更快。

图4-8中的流程图示出了用于操作包括外部存储设备的数据处理系统的方法、系统和计算机程序产品的一些实施例的体系结构、功能和操作。在这点上,每个块表示一个模块、段或代码的部分,其包含一个或多个用于执行指定逻辑功能的可执行指令。还应注意:在其它实现中,可能以在图4-8中标注的顺序之外的顺序发生块中标注的功能。例如,实际上,根据所涉及的功能,连续示出的两个块可以基本上同时执行,或有时可以以相反的顺序执行这些块。

在基本上不脱离本发明原理的情况下,可以对这些实施例进行许多变化和修改。所有这样的变化和修改在此意图被包括在如随后的权利要求中所阐明的本发明的范围中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号