CN101498992A - 用于在可移动磁盘驱动存储系统上实现worm模式的方法 - Google Patents
用于在可移动磁盘驱动存储系统上实现worm模式的方法 Download PDFInfo
- Publication number
- CN101498992A CN101498992A CNA2009100062030A CN200910006203A CN101498992A CN 101498992 A CN101498992 A CN 101498992A CN A2009100062030 A CNA2009100062030 A CN A2009100062030A CN 200910006203 A CN200910006203 A CN 200910006203A CN 101498992 A CN101498992 A CN 101498992A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- removable disk
- disk drive
- write
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
- G06F3/0649—Lifecycle management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0686—Libraries, e.g. tape libraries, jukebox
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种用于在可移动磁盘驱动存储系统上实现WORM模式的方法,实施例提供了使用随机存取存储器将不可改变的数据维持在存档系统中的系统和方法。为确保数据不可改变,在所述驱动端口的硬件/固件中和可移动磁盘驱动器上维持新颖的指针。例如,模块化驱动机架中的硬件/固件将指针维持在可移动磁盘驱动器中的内存地址,所述可移动磁盘驱动器不能写入至先于所述指针的内存块。数据可以仅存储在可移动磁盘驱动器中的指针之后。同样,一旦数据写入至可移动磁盘驱动器,就不能改写该数据,尽管可移动磁盘驱动器使用随机存取存储器。
Description
技术领域
本公开的实施例大体涉及一种存储系统,更为具体而不受限制地,涉及一种存档存储系统。
背景技术
政府和其他组织经常会需要对某种数据进行长时间存储。例如,证券交易委员会(SEC)可能需要将财务记录保留三个月或更多。因此,必须达到这些存储需求的部门会利用归档系统,以将数据存储至可以长期存储介质中。
此外,这些组织通常还需要存储在存档系统中的数据不可改变。不变性的需求是,一旦数据写入存档系统,该数据就不能改写或删除。因此,一旦数据存储至存档系统,某种保护会被授权批准以确保数据的不变性。
基于这些考虑和其他本文未提出的考虑,可以展望本公开的实施例。
发明内容
本公开的实施例提供了独特而新颖的系统,以及用于在可移动磁盘驱动器上存储数据的方法。本文描述的可移动磁盘驱动器包括随机存取存储器。为确保数据不可改变,描述了新颖的控制机制,以避免改写存储在可移动磁盘驱动器中的不可改变的数据。例如,模块化驱动机架中的硬件/固件维持指向可移动磁盘驱动内存中的内存地址的一点。数据可能仅存储在可移动磁盘驱动器中的指针后。本文还提出了供选择的系统和方法。
附图说明
结合以下附图描述本公开的实施例:
图1是可移动磁带存储系统的实施例的框图;
图2是包括了一个或多个可移动磁带存储系统的存档系统的实施例的硬件框图;
图3是存档系统的实施例的功能性框图;
图4是具有两个或多个可移动磁盘驱动器的模块化驱动机架的实施例的硬件框图;
图5是模块化驱动机架的实施例的功能性框图;
图6是存储在可移动磁盘驱动器中的信息单元的实施例的框图;
图7A-C是存储在可移动磁盘驱动器中的信息单元的实施例的其他框图;
图8是用于在可移动磁盘驱动器上存储数据的方法的实施例的流程图;
图9是用于在可移动磁盘驱动器上存储数据的方法的实施例的另一流程图;以及
图10是用于在可移动磁盘驱动器上存储数据的方法的实施例的又一流程图。
在附图中,类似的部件和/或特征可具有相同的参考标号。此外,可以通过在参考标号之后加上用于区分类似部件的破折号和第二标号来区分相同类型的各个部件。如果在本说明书中仅使用了第一参考标号,则该描述可应用于具有相同第一参考标号的类似部件中的任一个,而与第二参考标号无关。
具体实施方式
以下的描述仅提供了优选的示例性实施例,而不用于限制本发明的范围、可应用性或配置。更确切地,优选示例性实施例的以下描述将能够向本领域技术人员提供实现本发明的优选示例性实施例的描述。应当了解,在不背离所附权利要求阐明的本发明的精神和范围的情况下,可以对元件的功能和配置进行各种改变。
在以下描述中给出了具体细节,以提供对实施例的全面理解。然而,本领域的普通技术人员应理解,可以在没有这些具体细节的情况下实现该实施例。例如,为了避免以不必要的细节使实施例不清楚,可以在框图中示出电路。在其他实例中,为了避免使实施例不清楚,可以示出已知的电路、处理、算法、结构、和技术而无需不必要的细节。计算系统可以用于执行本文描述的任意任务或操作。在实施例中,计算系统包括内存和处理器并可用于执行存储在计算机可读介质上的确定了本文描述的步骤或操作的计算机可执行指令。
同样,应当注意,可将实施例描述为如流程图、流程示意图、数据流程示意图、结构示意图、或框图所示的处理。虽然流程图可以将操作描述为顺序处理,但是可以并行或同时执行许多操作。另外,可以重新安排操作的顺序。该处理在其操作完成时被终止,但其可以具有未包括在图中的其他步骤。处理可以对应于方法、函数、进程、子例程、子程序等。在处理对应于函数时,其终止对应于调用函数或主函数的函数返回。
此外,如文中所公开的,术语“存储介质”可以表示一个或多个用于存储数据的装置,其包括只读存储器(ROM)、随机存取存储器(RAM)、磁荷RAM、磁心存储器、磁盘存储介质、光存储介质、闪存装置和/或其他用于存储信息的机械可读介质。术语“机械可读介质”包括但不限于便携式或固定的存储装置、光存储装置、无线通道、和能够存储、容纳或携带(多个)指令和/或数据的各种其他介质。
此外,通过硬件、软件、固件、中间件、微码、硬件描述语言、或其任意组合来实现实施例。当在软件、固件、中间件或微码中执行时,执行必要任务的程序代码或代码段可被存储在诸如存储介质的机器可读介质中。处理器可以执行必要任务。代码段可以表示进程、函数、子程序、程序、例程、子例程、模块、软件包、类、或者指令、数据结构、或程序语句的任意组合。可以通过传递和/或接收信息、数据、自变量、参数、或存储内容来将代码段连接到另一代码段或硬件电路。可以通过包括存储器共享、信息传递、权标(token)传递、网络传输等任何适当的方式传递、转发、或传输信息、自变量、参数、数据等。
图1中示出了用于提供长期存档数据存储的可移动磁盘系统100的实施例。可移动磁盘驱动器102为可移动磁盘系统100提供了存储能力。在实施例中,可移动磁盘驱动器102包括数据磁带盒(data cartridge case)108和嵌入式内存104,其中之一可以是(但不限于)嵌入式硬盘驱动器(HDD)、固态磁盘(SSD)、固态驱动器、或闪存。HDD或闪存104为存档数据的存储提供了RAM。嵌入式内存104与连接器106通信和/或电连接。在一个实施例中,连接器是串行高级技术附件(SATA)连接器。在其他实施例中,连接器是通用串行总线(USB)连接器、平行连接器、火线(Firewire)连接器、或其他连接器。在实施例中,嵌入式内存104和连接器106均物理地连接至数据磁带盒108,而在一些实施例中,均由数据磁带盒108封装、保护、连接或集成。在其他实施例中,嵌入式内存104和连接器106是物理集成组件,且连接器从数据磁带盒108突出。在实施例中,当在可移动磁盘系统100中互换可移动磁盘驱动器102时,数据磁带盒108为用作简易交换或改变的嵌入式内存104配置固体容器。
实施例中,嵌入式内存104包括元数据118。在实施例中,元数据118使存档系统能够提供不同功能的可移动磁盘驱动器102。元数据118可以包括关于存储在内存104中的数据的任何信息。所述信息可以包括内存地址、数据保护格式、加密密钥等。通过存储在嵌入式内存104中的元数据118,可移动磁盘驱动器102可以被存储并使可移动磁盘驱动器102能够以相同功能重新插入。
在实施例中,可移动磁盘系统100包括驱动端口110,驱动端口包括一个或多个数据磁带端口112,每个数据磁带均具有数据磁带连接器114,以接收可移动磁盘驱动器102。数据磁带连接器114与可移动磁盘驱动器102的电连接器106相匹配,以提供与可移动磁盘驱动器102的电连接,和/或与可移动磁盘驱动器102中的嵌入式内存104通信。与电连接器106一样,数据磁带连接器114可以是SATA连接器或其他类型的连接器。不管怎样,数据磁带连接器114和电连接器106均可以物理连接和/或电连接。数据磁带端口112使可移动磁盘驱动器102的数据磁带盒108能够根据需要而轻易地插入和移除。在实施例中,驱动端口110包括两个或多个数据磁带端口112,以使用、控制以及与两个或多个可移动磁盘驱动器102。实施例中,每个驱动端口110可分别寻址以提供对连接至每个数据磁带端口112的每个可移动磁盘驱动器102的定制控制。因此,当替换可移动磁盘驱动器102时,相同的控制可以应用于新插入的可移动磁盘驱动器102,因为驱动端口110代替可移动磁盘驱动器102而被寻址。
嵌入式内存104可以由驱动端口110的硬件/固件116来读取和使用。硬件/固件116可以是驻留在驱动端口110中的用于控制可移动磁盘驱动器102的硬件和/或软件。在实施例中,硬件/固件116包含必要的软件和/或硬件以使可移动磁盘驱动器102上电,使嵌入式内存104中的磁盘母盘自旋,读取和写入嵌入式内存104,读、写和处理元数据118等。例如,硬件/固件116可以读取嵌入式内存104以识别可移动磁盘驱动器102并收集与其内容相关的信息。
在实施例中,可移动磁盘系统100运行以在一个或多个驱动端口110中接收一个或多个可移动磁盘驱动器102。电连接器106与数据磁带连接器114物理连接或耦合,以形成使驱动端口110能够与嵌入式内存104通信的电连接。硬件/固件116对嵌入式内存104上电,并开始任何初始化进程(例如,安全进程、识别进程、读取和/或写入等)。实施例中,与网络通信的驱动端口110从一个或多个服务器、应用程序、或网络上的其他设备或系统中接收存档数据。硬件/固件116将存档数据写入可移动磁盘驱动器102的嵌入式内存104以对数据进行存档。
图2示出了存档系统200的硬件结构的实施例。实施例中,存档系统200包括经由网络204与一个或多个系统进行通信的网络存储系统202。实施例中,与网络存储系统202通信的系统包括应用程序、应用服务器、其他服务器、外围设备、在网络存储系统202对数据进行存档的其他设备和其他系统。例如,应用服务器1206和/或应用服务器2208在网络存储系统202上存储存档数据。应用服务器206或应用服务器208可以是应用程序、外围设备、系统、网络组件、或其他可以存储存档数据的软件操作程序或硬件设备。下文中,可以存储存档数据的所有操作程序、系统、进程、硬件设备均称作应用程序或应用服务器。应用服务器1206和应用服务器2208在下文中将用于描述存档系统200的功能,而不旨在将说明书限制在本文描述的示例性实施例中。
网络存储系统202包括一个或多个组件,组件可以围成单独的物理结构,或者由离散的组件构成。在实施例中,网络存储系统202包括存档系统设备210和一个或多个可移动磁盘驱动器224,所述可移动磁盘驱动器可以与可移动磁盘驱动器102(图1)相同或相似,与驱动端口222连接或通信,其中,该驱动端口可以与驱动端口110(图1)相同或相似。在备选实施例中,模块化驱动机架(bay)212和/或214包括两个或多个驱动端口222,每个驱动端口均可以与可移动磁盘驱动器224连接。因此,模块化驱动机架212和模块化驱动机架214提供附加的存储能力,因为可能使用相同的存档系统设备210来插入并访问多于一个的可移动磁盘驱动器224。此外,在实施例中,模块化驱动机架212和模块化驱动机架214中的每个驱动端口222可分别寻址,使存档系统设备210能够将模块化驱动机架212和模块化驱动机架214中的可移动磁盘驱动器224配置在一个或多个可移动磁盘驱动器224的组中。实施例中,如省略号218所示,可以有两个或多个模块化驱动机架212和模块化驱动机架214包含在网络存储系统202中。因此,需要的数据存储能力越大,就会有越多的模块化驱动机架212和模块化驱动机架214添加至网络存储系统202。实施例中,对于模块化驱动机架212和模块化驱动机架214中的所有驱动端口222,模块化驱动机架212和模块化驱动机架214的每一个均包括单个的硬件/固件116(图1)。在备选实施例中,每个驱动端口222均包括硬件/固件116(图1)。
图2中的示例性硬件结构提供了接近无限的能力,由于可以向现有的模块化驱动机架212或模块化驱动机架214添加更多的可移动磁盘驱动器224,直到模块化驱动机架212和模块化驱动机架214保留(hold)所有可能的可移动磁盘驱动器224。然后,向网络存储系统202添加更多的模块化驱动机架212和模块化驱动机架214。此外,可移动磁盘驱动器224可以由接近其存储能力的可移动磁盘驱动器224所代替。在实施例中,当且直到需要检索(retrieve)可移动磁盘驱动器224上的数据时,物理地存储移除的磁盘驱动器224。当需要检索可移动磁盘驱动器224上的数据时,可以将可移动磁盘驱动器224插入到模块化驱动机架212或模块化驱动机架214的驱动端口222中的一个,以及从连接的可移动磁盘驱动器224检索的信息。
实施例中,存档系统设备210是作为文件系统操作的服务器。存档系统设备210可以是具有处理器和内存并用于完成本文描述的操作程序的任意类型的计算系统。一种可以在本文描述的实施例中使用的服务器的实例是由德克萨斯州奥斯汀市成立的Dell公司提出的PowerEdgeTM2950服务器。在服务器上执行的文件系统可以是诸如NT文件系统(NTFS)的可以完成本文描述的操作程序的任意类型的文件系统。下文中,存档系统设备210可以称为主机。
实施例中,每个均具有一个或多个插入的可移动磁盘驱动器224的两个或多个模块化驱动机架212和/或模块化驱动机架214形成可移动磁盘阵列(RDA)232。存档系统设备210可以将RDA 232配置在一个或多个独立的文件系统中。要求存档数据的每个应用服务器206或应用服务器208均可以将RDA 232当作一个或多个独立文件系统。在实施例中,存档系统设备210将RDA 232按逻辑分隔成应用层分区,并按逻辑使一个或多个驱动端口222与每个应用层分区相关。应用层分区与应用服务器206或应用服务器208(而非某些任意的逻辑分区)相关。因此,一个或多个包含了应用层分区的可移动磁盘驱动器224用作独立的文件系统。
在其他实施例中,存档系统设备210为应用服务器1206和应用服务器2208提供了接口,使应用服务器206和应用服务器208将存档数据传输至存档系统设备210。实施例中,存档系统设备210确定了在哪以及如何将数据存储至一个或多个可移动磁盘驱动器224。例如,应用服务器1206将存档数据存储在数据第一个三个可移动磁盘驱动器的第一应用层驱动器中。实施例中,向应用服务器206和应用服务器208将应用层驱动器表示为任意一个应用层驱动器的读写许可均特定于一个应用服务器的应用层驱动器。同样地,网络存储系统202使用相同的硬件结构向每个应用服务器206和应用服务器208提供多个独立的文件系统。在实施例中,存档数据还称作信息单元,并可以包括但不限于文件、内存扇区、数据结构、表、或其他类型的数据格式。
在备选实施例中,网络存储系统202还包括固定的存储器216。固定存储器216可以是内置在存档系统设备210的或用作离散系统的任意类型的内存或存储介质。例如,固定存储器216是独立磁盘冗余阵列,诸如来自台湾AIC的Xtore XJ-SA12-316R-B。固定存储器216提供了有效档案库存储器(active archive),用于在更为容易访问数据的短时间内存储特定数据。实施例中,存档系统设备210将存档数据拷贝至固定存储器216和可移动磁盘驱动器224。如果当前需要数据,存档系统设备210就从固定存储器216中取回(retrieve)数据。实施例中,存档系统设备210将存档数据发送至具有预定地址的模块化驱动机架212或模块化驱动机架214,或从中移除该存档数据,以存储或取回来自可移动磁盘驱动器224的存档数据。
存档系统设备210还可以将固定存储器216中的有效档案库存储器配置在一个或多个独立的文件系统,如同RDA 232一样。如上文所述,每个应用服务器可以配置为一个或多个独立的文件系统。每个独立文件系统均可以包括RDA 232中的应用层分区和固定存储器216中的相关应用层分区。在实施例中,存档系统设备210分隔固定存储器216并使固定存储器216中的每个应用层分区与RDA232中的应用层分区相关联。
如上所述,实施例中,存档系统设备210确定在哪里以及如何将数据存储至一个或多个可移动磁盘驱动器224。例如,应用服务器1206将存档数据存储在第一应用层驱动器中,其可以包括,将存档数据存储在固定存储器216的应用层分区中,以易于访问存档数据。再次,在实施例中,向应用服务器206和应用服务器208呈现应用层驱动器,其中任意一个应用层驱动器的读写许可特定于一个应用服务器。同样,网络存储系统202使用相同的硬件结构来将多个独立的文件系统提供至每个应用服务器206和应用服务器208。
在操作中,应用服务器1206将初级数据存储至初级存储器228,其可以是本地磁盘驱动器或其他内存。在某一特定事件之后,应用服务器1206从初级存储器228中读取初级数据,以在网络204上传输的格式来对数据进行打包(package),并将存档数据发送至将要存档的网络存储系统202。存档系统设备210接收存档数据,并确定应当将数据存储在何处。在实施例中,存档数据然后被发送至固定存储器216和RDA 232中的相关应用层分区,所述应用层分区可以包括一个或多个驱动端口222中的一个或多个可移动磁盘驱动器224。存档系统设备210可以检索或接收将要存储在可移动磁盘驱动器224中的数据的内存地址。存档数据写入可移动磁盘驱动器224,用于长期简易存取存储,以及写入固定存储器216,用于短期简易存取存储。在其他实施例中,应用服务器2 208将初级数据写入初级存储器230,并将存档数据发送至网络存储系统202。在某些实施例中,来自应用服务器2208的存档数据被存储至不同的可移动磁盘驱动器224和不同部分的固定存储器216,因为来自应用服务器2208的存档数据与不同的应用程序相关,因而与不同的应用层分区相关。
图3示出了存档系统300的框图。存档系统300具有一个或多个功能组件,在实施例中,这些功能组件包括与网络304通信的网络存储系统302。例如,网络304可以是任意类型的通信基础结构(communication infrastucture),例如,一个或多个(但不限于此)广域网(WAN)、局域网(LAN)、无线LAN、因特网等。网络存储系统302可以与一个或多个其他系统(该系统与网络304相耦合、连接或通信)向通信。例如,网络存储系统302与应用服务器306相通信。网络304上的系统间通信可以通过任何协议或格式来实现,例如,传输控制协议/互联网协议(TCP/IP)、超文本传输协议(HTTP)等。
实施例中,网络存储系统302包括一个或多个包含在硬件和/或软件的功能组件。在一个实施例中,网络存储系统302包括与一个或多个驱动端口322相通信的存档系统312,所述驱动器端口与一个或多个可移动磁盘驱动器324相通信。驱动端口322和可移动磁盘驱动器324在功能上与图1和图2中的那些描述相同或相似。存档系统312控制一个或多个驱动端口322的操作程序,并将存档的数据写入一个或多个驱动端口322中的一个或多个预定的可移动磁盘驱动器324。
在其他实施例中,网络存储系统302包括存档管理系统310。存档管理系统310从网络304上的一个或多个系统中接收用于检索的数据。此外,存档管理系统310确定数据应当存档在哪个系统或可移动磁盘驱动器324中,数据应当存储为何种格式,以及怎样为网络存储系统302提供安全。实施例中,存档管理系统310提供了一种分隔的档案库存储器,以使网络存储系统302对每个分离的应用服务器306来说当作独立文件系统,而保持了多个应用服务器306的档案库存储器。因此,存档管理系统310将网络存储系统302管理为一个或多个应用服务器306的多个独立文件系统。实施例中,存档管理系统310和存档系统312是存档系统设备210(图2)的功能组件。
实施例中,存档管理系统310将存档数据存储至存档系统312和有效档案库存储器314。实施例中,有效档案库存储器314对实现对存档数据进行建议访问的一个或多个固定存储设备316进行控制、读取和写入。实施例中,固定存储器316在功能上相似于固定存储器216(图2)。如果没有固定的存储设备,有效档案库存储器314就对存档系统312执行相似的操作程序。实施例中,有效档案库存储器314和固定存储设备316是硬件固定存储系统216(图2)的组件。在备选实施例中,有效档案库存储器314分隔固定存储器316,以反射RDA 320中的相关应用层分区。有效档案库存储器314中的应用层分区可以具有与固定存储器316中内存地址相关的边界。
存档管理系统310还可以提供智能存储能力。每种发送至网络存储系统302的数据均可以具有不同的要求和控制。例如,诸如SEC、食品及药物管理局(FDA)、欧盟等的一些组织对如何对特定数据进行存档的问题具有不同的要求。SEC可能要求将财务信息保存七(7)年,而FDA可能需要临床试验数据保存三十(30)年。数据存储要求可以包括不变性(数据不能改写的要求)、加密、预定数据格式、保存时间(数据可以存档多久)等。存档管理系统310可以根据基于用户建立的数据存储需求而将控制应用至RDA 320和有效档案库存储器314的不同部分。在一个实施例中,存档管理系统310在横跨一个或多个可移动磁盘驱动器324和固定存储器316一个或多个部分的档案库存储器中创建应用层。将要存储在任意一个应用层分区中的所述数据都可以具有相同的需求和控制。因此,将对数据存储器的需求应用至模块化驱动机架212和模块化驱动机架214(图2)中的不同驱动端口222(图2),并应用于存储在那些驱动端口222(图2)的可移动磁盘驱动器224(图2)。此外,这些需求也同样应用于有效档案库存储器314中的固定存储器316的不同部分。如果替换了可移动磁盘驱动器,在实施例中,由于替换的可移动磁盘驱动器324在受控制的驱动端口中的位置,相同的存储需求会应用于替换的可移动磁盘驱动器中。同样,存档管理系统310可以使用不同控制来单独保持分离的组的数据,即使在不同的可移动磁盘驱动器中。
网络存储系统302还可以包括与存档管理系统310通信的数据库318。在实施例中,数据库318是用于存储与正被存档的数据相关的信息的内存。数据库318可以包括HDD、ROM、RAM或其他内存,所述内存可以内置于网络存储系统302和/或存档管理系统310中,或与网络存储系统302和/或存档管理系统310分离而作为可由存档管理系统310寻址的离散组件。实施例中,存储在数据库318中的信息包括一个或多个(但不限于)数据标识、应用服务器标识、存储时间、可移动磁盘驱动标识、数据格式、加密密钥、应用层分区组织等。
实施例中,网络304使一个或多个其他系统与网络存储系统302之间相连接、相耦合、或相通信。例如,应用服务器306经由网络304连接至网络存储系统302。应用服务器306可以是软件应用程序,例如,email软件程序、硬件设备、或其他网络组件或系统。实施例中,应用服务器306与用作应用服务器初级存储器308的内存相通信。实施例中,初级存储器308是HDD、RAM、ROM、或处于应用服务器306或处于可寻址的分离位置的其他内存。
实施例中,应用服务器306将信息存储至初级存储器308。在某一预定事件后(诸如满一段时间),应用服务器306将数据发送至网络存储系统302以对数据进行存档。应用服务器306可以在网络304上通过任意网络协议(诸如TCP/IP、HTTP等)将数据发送至网络存储系统302。在存档管理系统310处接收数据。实施例中,存档管理系统310将数据发送至一个或多个有效档案库存储器314和/或将要存档的存档系统312中。
图4中示出了模块化驱动机架的硬件/固件400的实施例。实施例中,硬件/固件400与结合图1描述的硬件/固件116相同或相似。实施例中,硬件/固件400包括第一接口(接口#1)406、处理器402、内存404、以及第二接口(接口#2)408。实施例中,第一接口406从可移动磁盘驱动器412中的存储器的主机410中接收存档数据,和/或将来自可移动磁盘驱动器412的存档数据发送至主机410。实施例中,可移动磁盘驱动器412与结合图1描述的可移动磁盘驱动器102相同或相似。第一接口406可以是用于与主机410通信的任意类型的接口。实施例中,主机410是存档系统设备210(图2),和/或存档系统312(图3)。第一接口406可以是Firewire、USB、SATA、或其他接口。
处理器402用于执行存储在存储器404中的软件或固件,以存储或取回来自可移动磁盘驱动器412的存档数据。实施例中,处理器402是本领域公知的用于执行上述功能的任意处理器。例如,处理器402是Intel Pentium、ASIC、FPGA、或其他设备。处理器402与第一接口406连接,以接收用于存储的存档数据并发送从主机410请求的数据。处理器402进一步与第二接口408,以将数据发送至可移动磁盘驱动器412并读取来自可移动磁盘驱动器412的数据。内存404可以是任意类型的内存,包括RAM、ROM、磁盘驱动器等。内存404可以存储数据或元数据,并与处理器402连接。
实施例中,第一接口408从可移动磁盘驱动器中取回存档数据,以发送至主机410并将存档数据发送至用于存储的可移动磁盘驱动器412。可以接口408可以是任意类型的接口,用于与可移动磁盘驱动器412通信。第二接口408可以是Firewire、USB、SATA、或其他接口。
图5中示出了模块化驱动机架的硬件/固件500的实施例的功能模块图。实施例中,硬件/固件500与结合图1描述的硬件/固件116或结合图4描述的硬件/固件400相同或相似。实施例中,硬件/固件500表示在硬件/固件400(图4)中执行的软件。实施例中,硬件/固件500包括接口选择模块508、访问控制模块502、元数据数据存储器(datastore)504、命令通过(pass-through)模块506、和/或磁盘驱动器接口510。
实施例中,接口选择模块508从主机512接收请求,以存储或取回存档数据。主机512可以发送含存档数据的预定地址的请求。接口选择模块508可以提取从主机512中接收的地址,以存储或取回存档数据。实施例中,将该地址提供至访问控制模块502。
访问控制模块502用于从元数据数据存储器404中读取元数据。实施例中,访问控制模块502通过从一个或多个可移动磁盘驱动器514读取元数据并将该元数据存储在元数据数据存储器504中的表中或其他数据结构中。实施例中,元数据数据存储器504向可移动磁盘驱动器514中的存储数据提供第一可用块地址。第一可用块地址可以由访问控制模块502使用,以确定从哪里开始存储数据。可以在处理器402(图4)内部执行访问控制模块502。
实施例中,命令通过模块506将命令发送至可移动磁盘驱动器514。例如,当来自主机512的请求是为了数据读取时,命令通过模块506在可移动磁盘驱动器514上执行读取。从主机512发送的请求命令可以是一种格式或者基于一种文件系统。命令通过模块506可以将命令改变为可移动磁盘驱动器514可以识别的命令。在其他实施例中,访问控制模块502将第一可用块地址提供给命令通过模块506,以确保命令通过模块506在可移动磁盘驱动器514中的正确地址处存储数据。
实施例中,磁盘驱动器接口510是能够使命令通过模块506与可移动磁盘驱动器514连接的磁盘驱动驱动器或其它软件。因此,磁盘驱动接口510可以转换可移动磁盘驱动器514的命令。
图6中示出了存储在具有存档数据和一个或多个部分元数据的诸如可移动磁盘驱动器514的可移动磁盘驱动器中的档案库存储器600的实施例。实施例中,档案库存储器600代表可移动磁盘驱动器中的内存。图6中示出的实例中,存在可以具有表示存储在档案库存储器600中的文件或“信息元素”的一个或多个部分的存档数据602。可以存在比示例性的档案库存储器600中所示出的更多的文件。
实施例中,档案库存储器结构600可以包括一个或多个部分的元数据。实施例中,元数据604和606包括关于数据602的信息或特征,例如,文件大小、文件位置、文件储存日期和时间、文件创建日期和时间、文件创建者等。文件数据602可以包括从应用服务器发送的存档数据。
实施例中,元数据存储在两个完全相同的(duplicate)区域604和606中。第一部分元数据存储在第一区域604,而第二部分元数据(其为第一部分元数据的副本)存储在第二区域606。当第一组元数据604被破坏时,硬件/固件116(图1)会转移至(fail over to)第二组元数据606。题为“可移动磁盘驱动器存储系统上数据格式的实施方法(METHODS FOR IMPLEMENTATION OF DATAFORMATS ON A REMOVABLE DISK DRIVE STORAGESYSTEM)”的相关申请给出了元数据的更为详尽的说明,其美国专利申请序列号_/_,_,代理记录号040252-003710US,与本申请同时提交、共同授予,其所教导的全部内容结合在此。
图7A至图7C示出了存储在可移动磁盘驱动器中的存档数据的实施例。图7A至图7C中示出的存档数据可以表示结合图6说明的数据602。实施例中,存档数据由一次写入多次读取(write onceread many)(WORM)实施策略保护。同样地,可移动磁盘驱动器不能改写。图7A至图7C中示出的实例中,如本领域所理解的,存档数据可以存储在一个或多个逻辑块中。一个或多个逻辑块可以表示存储在档案库存储器中的文件或“信息元素”。可以存在比图7A至图7C中的示例性档案库存储器中示出的更多的文件或逻辑块。
图7A示出了第一存档数据档案库存储器702。实施例中,存档数据作为接收到的数据而存储至档案库存储器702。同样,可以以从第一数据块704到最后数据块710的顺序来存储数据块。为确保数据的不变性以及在WORM的保护下,数据均不能写入至已经用于存储数据的地址。实施例中,保留指针708,以表示下一未使用块706的位置以及可以存储的新数据的位置。指针708可以存储在元数据604(图6)中。当存储数据时,指针708增加至下一未使用块。当接收到已存储数据的改变时,改变的数据被存储至未使用块706。
图7B中示出了用于存储不可改变的存档数据的档案库存储器710的另一实施例。实施例中,通过在会话中写入数据来创建档案库存储器710。同样,可以接收或列队等待存档数据。然后,在一个或多个写入中,列队等待的数据可以以与接收存档数据的方法相同或不同的方法而被存储至档案库存储器710中。例如,四个数据块可以写入由括号712表示的单个会话中。实施例中,会话可以写入图7B中示出的更多或更少的数据块。存储在会话写入712中的数据可以按照接收数据的方式重新排序。例如,在数据块716之后接收数据块714,但在数据块716之前存储至档案库存储器710。同样,实施例中,相关的数据块(即,包括了单个文件的数据块)被一起写入。与档案库存储器702一样,在会话写入之后写入指针720,其中,所述会话写入表示下一写入会话中可用的内存718的下一未使用块。再次,当接收到已存储数据的改变时,改变的数据被存储至新会话写入中的未使用块718。
图7C中示出了用于存储不可改变的存档数据的档案库存储器722的又一实施例。实施例中,档案库存储器722中的存档数据存储在新数据存储有首部724、间隙726和一块或多块数据728的会话中。首部(header)724可以包括一项或多项与数据728相关的元数据。例如,首部724包括数据的标识符。一旦写入,首部724也是不可改变且不能改写的。间隙(gap)726提供可以改写的数据区域。实施例中,间隙726提供与首部724相关的数据728的地址。数据724还可以将指针提供至间隙726,间隙之后向数据728提供指针。同样,当数据被改变或存储至存档722时,间隙726中的指针被改写至新地址。保留旧数据但直接向新地址读取。例如,数据块732可以升级至730中的数据。一旦写入数据块732,间隙726中的指针就被改写指向数据块732,而非块730。之后当改变新块734时,间隙726会再次改写指向数据块734。再次,新的写入是在由指针736表示的未使用数据块734上。
图8示出了用于将数据存储在档案库存储器中并将数据保护为不可改变的方法800的实施例。实施例中,该方法800一般以START操作802开始,并以END操作810结束。方法800中示出的步骤可以作为一组计算机可执行指令而在计算机系统中执行。图8中示出了逻辑顺序,在某些情况下,其中所示出或描述的步骤可以以在这里的描述所不同的顺序来执行。实施例中,方法800与结合图7A描述的档案库存储器702相关。
接收操作804接收存档数据以写入至可移动磁盘驱动器102(图1)中的档案库存储器702(图7A)。实施例中,接口选择模块508(图5)以一组时序数据块的形式从主机512(图5)中接收存档数据。接口选择模块508(图5)可以将数据排列在先进先出(FIFO)内存的数据中。
确定操作806确定下一写入地址。实施例中,访问控制模块502(图5)从可移动磁盘驱动器102(图1)中读取元数据604(图6)。访问控制模块502(图5)可以在存储在内存404(图4)中的元数据数据存储器504(图5)中创建元数据或其他数据结构。此外,实施例中,访问控制模块502(图5)读取指针708(图7A)。指针708(图7A)可以用于确定可移动磁盘驱动器102(图1)中存储器的数据的地址。
写入操作808写入从由指针708(图7A)表示的地址处开始的数据。实施例中,访问控制模块502(图5)将由指针708(图7A)表示的地址发送至命令通过模块506(图5)。命令通过506(图5)产生含地址的命令信号,并将写入命令发送至磁盘驱动器接口510(图5),用于通过第二接口408(图4)向可移动磁盘驱动器102(图1)通信。实施例中,在从指针地址开始的连续写入中的列队等待的数据上完成写入。每个数据块均以接收数据块的顺序写入每个连续的可用内存块。实施例中,访问控制模块502(图5)在写入期间或写入后创建新指针并将新指针存储在可移动磁盘驱动器102(图1)上的元数据604(图6)中。
图9中示出了用于将数据存储在档案库存储器中并将数据保护为不可改变的方法900的另一实施例。实施例中,该方法900一般以START操作902开始,并以END操作912结束。方法900中示出的步骤可以作为一组计算机可执行指令而在计算机系统中执行。图9中示出了逻辑顺序,在某些情况下,其中所示出或描述的步骤可以以在这里的描述所不同的顺序来执行。实施例中,方法900与结合图7B描述的档案库存储器710相关。
接收操作904接收存档数据以写入至可移动磁盘驱动器102(图1)中的档案库存储器710(图7B)。实施例中,接口选择模块508(图5)以一组时序数据块的形式从主机512(图5)中接收存档数据。接口选择模块508(图5)可以将数据排列在先进先出(FIFO)内存的数据中。
组合(组织,organize)操作906将数据组合成会话写入。实施例中,访问控制模块502(图5)从队列中读取数据并将数据重组为会话写入的一组数据块。实施例中,对数据进行组合以将相关数据放在一起,例如,与相同文件相关的数据被分组在一起。经组合的数据在写入可移动磁盘驱动器102(图1)之前可以再次存入队列。
确定操作908确定下一写入地址。实施例中,访问控制模块502(图5)从可移动磁盘驱动器102(图1)中读取元数据604(图6)。访问控制模块502(图5)可以在存储在内存404(图4)中的元数据数据存储器504(图5)中创建元数据或其他数据结构。此外,实施例中,访问控制模块502(图5)读取指针720(图7B)。指针720(图7B)可以用于确定可移动磁盘驱动器102(图1)中存储器的数据的地址。
写入操作910写入从由指针720(图7B)表示的地址处开始的数据。实施例中,访问控制模块502(图5)将由指针表示的地址发送至命令通过模块506(图5)。命令通过506(图5)产生含地址的命令信号,并将写入命令发送至磁盘驱动器接口510(图5),用于通过第二接口408(图4)向可移动磁盘驱动器102(图1)通信。实施例中,作为会话来完成写入,该会话含有在一个会话中全部以组合数据块的顺序写入的经组合的数据。实施例中,访问控制模块502(图5)在写入期间或写入后创建新指针并将新指针存储在可移动磁盘驱动器102(图1)上的元数据604(图6)中。
图10中示出了用于将数据存储在档案库存储器中并将数据保护为不可改变的方法1000的实施例。实施例中,该方法1000一般以START操作1002开始,并以END操作1020结束。方法1000中示出的步骤可以作为一组计算机可执行指令而在计算机系统中执行。图10中示出了逻辑顺序,在某些情况下,其中所示出或描述的步骤可以以在这里的描述所不同的顺序来执行。实施例中,方法1000与结合图7C描述的档案库存储器722相关。
接收操作1004接收存档数据以写入至可移动磁盘驱动器102(图1)档案库存储器722(图7C)。实施例中,接口选择模块508(图5)以一组时序数据块的形式从主机512(图5)中接收存档数据。接口选择模块508(图5)可以将数据排列在先进先出(FIFO)内存中。
确定操作1006确定接收到的一个或多个数据块是否与已经存储在档案库存储器722(图7C)中存储的数据相关。实施例中,访问控制模块502(图5)从可移动磁盘驱动器102(图1)中读取元数据604(图6)。访问控制模块502(图5)可以在存储在内存404(图4)中的元数据数据存储器504(图5)中创建元数据或其他数据结构。此外,实施例中,访问控制模块502(图5)读取一个或多个首部724(图7C)以确定文件或数据的从主机410(图4)接收的标识符与当前处于首部724(图7C)中的标识符相同。如果标识符相同,则方法1000经NO流至确定操作1008。实施例中,对于某些数据,方法1000可以流经YES,而对于其他数据可以流经NO。
确定操作1008确定下一写入地址。实施例中,访问控制模块502(图5)读取存储在内存404(图4)中的元数据604(图6)。实施例中,访问控制模块502(图5)读取指针736(图7C)。指针736(图7C)可以用于确定可移动磁盘驱动器102(图1)中存储器的数据的地址。
写入操作1010写入从由指针736(图7C)表示的地址处开始的数据。实施例中,访问控制模块502(图5)将由指针表示的地址发送至命令通过模块506(图5)。命令通过506(图5)产生含地址的命令信号,并将写入命令发送至磁盘驱动器接口510(图5),用于通过第二接口408(图4)向可移动磁盘驱动器102(图1)通信。实施例中,作为会话来完成写入,该会话含有在一个会话中全部以组合数据块的顺序写入的经组合的数据。实施例中,访问控制模块502(图5)还写入首部724(图7C),首部可以包括元数据,还可以创建间隙726(图7C),其中,存储了新数据的地址。
读取操作1012读取首部724(图7C)和间隙726(图7C)信息,以确定当前数据的地址。如结合附图7C的说明,间隙726是可写以及可改写的区域,包含与首部724(图7C)相关的数据的地址。当升级至存储的数据时,可以改写间隙726(图7C)。
确定操作1014确定下一写入地址。实施例中,访问控制模块502(图5)读取存储在内存404(图4)中的元数据604(图6)。实施例中,访问控制模块502(图5)读取指针736(图7C)。指针736(图7C)可以用于确定可移动磁盘驱动器102(图1)中存储器的数据的地址。
写入操作1016写入从由指针736(图7C)表示的地址处开始的数据。实施例中,访问控制模块502(图5)将由指针表示的地址发送至命令通过模块506(图5)。命令通过506(图5)产生含地址的命令信号,并将写入命令发送至磁盘驱动器接口510(图5),用于通过第二接口408(图4)向可移动磁盘驱动器102(图1)通信。实施例中,作为会话来完成写入,该会话含有在一个会话中全部以组合数据块的顺序写入的经组合的数据块。
写入操作1018写入新间隙。实施例中,访问控制模块502(图5)还可以改写间隙726(图7C),以包括改变的数据的新地址。同样,读取请求恢复了最近存储的数据。
根据上述说明,本公开的很多优点都是显而易见的。例如,存储在可移动磁盘驱动器上的数据可以存储有WORM保护,该保护还存储在随机存取介质上。提出的系统和方法保持数据的不变性,并在模块和驱动机架或驱动端口的硬件/固件层面提供保护。因此,主机或其它系统不能对WORM保护进行控制,从而一经设置,保护将不能改变。
还可以应用多种改变或修改。例如,间隙可以是单个改写区域,其中存储了所有数据的所有地址。这个更大的表可以是查找表或数据地址存储器的其他数据结构。首部可以指向查找表中的区域,而连续的数据存储器可以创建指向最近存储的数据的链接。
尽管以上已结合特定装置和方法描述了本发明的原理,但是应清楚地了解,该描述仅作为实例,并不构成对本发明范围的限定。
Claims (20)
1.一种模块化驱动机架,在网络存储系统中用于存档数据,该模块化驱动机架包括:
一个或多个可移动磁盘驱动器,所述一个或多个可移动磁盘驱动器用于存储存档数据,所述一个或多个可移动磁盘驱动器用于使用WORM控制将数据维持为不可改变,每个可移动磁盘驱动器均包括:
数据磁带盒;
连接器;
嵌入式内存,所述嵌入式内存物理地连接至所述数据磁带盒,所述嵌入式内存电连接至所述连接器,所述嵌入式内存用于存储存档数据,所述嵌入式内存用于确保存档数据不被改写;
模块化驱动机架,所述模块化驱动机架包括:
两个或更多驱动端口,每个驱动端口均包括数据磁带连接器,所述数据磁带连接器与所述连接器配合,以与所述嵌入式内存通信;以及
硬件/固件,所述硬件/固件与一个或多个应用服务器通信,所述硬件/固件从所述一个或多个应用服务器中接收与存档数据相关的写入请求,所述硬件/固件用于将所述存档数据存储至所述嵌入式内存中的一个或多个未使用内存块,而不改写现有数据。
2.根据权利要求1所述的模块化驱动机架,其中,所述硬件/固件包括:
第一接口,所述第一接口用于从所述主机中接收所述写入请求;
第二接口,所述第二接口用于在第一未使用内存块的地址处将所述写入请求发送至所述一个或多个可移动磁盘驱动器;
内存,所述内存用于存储一项或多项元数据,至少一项元数据将指针提供至所述第一未使用内存块;以及
处理器,与所述第一接口、所述第二接口、以及所述内存通信,所述处理器用于读取所述指针并产生所述写入命令,所述写入命令含所述第一未使用内存块的地址而被发送至所述一个或多个可移动磁盘驱动器。
3.根据权利要求2所述的模块化驱动机架,其中,所述处理器包括可执行的软件模块,所述软件模块包括:
接口选择模块,所述接口选择模块接收所述写入请求;
元数据数据存储器,所述元数据数据存储器存储从所述一个或多个可移动磁盘驱动器中读取的一项或多项元数据,所述元数据包含所述指针;以及
访问控制模块,与所述接口选择模块和所述元数据数据存储器通信,所述访问控制模块接收所述写入请求,所述访问控制模块确定与所述第一未使用数据块的指针相关的地址,所述访问控制模块产生写入命令,所述写入命令定址到与所述指针相关的地址。
4.根据权利要求3所述的模块化驱动机架,还包括命令通过模块,与所述访问控制模块通信,所述命令通过模块接收所述地址,并在所述地址处执行所述写入请求。
5.根据权利要求4所述的模块化驱动机架,其中,所述命令通过模块用于将两个或更多数据块写入至所述嵌入式内存,而其中,所述命令通过以由所述接口选择模块接收的顺序顺次地写入所述两个或更多数据块。
6.根据权利要求4所述的模块化驱动机架,其中,所述命令通过模块用于将两个或更多数据块写入所述嵌入式内存,其中,所述访问控制模块用于通过所述接口选择模块重新组合所述两个或更多数据块,而其中,所述命令通过模块用于以由会话写入中所述访问控制模块提供的顺序写入经重新组合的数据块。
7.根据权利要求4所述的模块化驱动机架,其中,所述命令通过模块用于将两个或更多数据块写入所述嵌入式内存,其中,所述访问控制模块用于确定接收的一个或多个数据块是否是已经存储在所述嵌入式内存的一个或多个数据块的升级,以及其中,一个或多个所述数据块是否是升级,所述命令通过模块用于将经升级的数据块写入至所述嵌入式内存中的一个或多个未使用内存块,并升级存储在间隙中的经升级的数据块的地址。
8.根据权利要求2所述的模块化驱动机架,其中,所述网络存储系统不能访问控制所述一个或多个数据块的写入的硬件/固件。
9.一种档案库存储器,在存档系统的可移动磁盘驱动器的嵌入式内存中,所述嵌入式内存在WORM控制下存储不可改变的数据,所述档案库存储器包括:
一个或多个数据块,所述一个或多个数据块包括存储在所述嵌入式内存中的数据,当通过随机存取和读取来访问时,所述一个或多个数据块将数据提供至所述存储系统,所述一个或多个数据块包括不可改变的数据;
一个或多个未使用内存块,所述一个或多个未使用内存块在由所述存档系统写入时接受存档数据,以及
指针,所述指针与可以接受存档数据的第一未使用内存块的地址相关,所述指针避免所述存档系统写入至先于所述指针的所述一个或多个数据块。
10.根据权利要求9所述的档案库存储器,其中,所述一个或多个数据块以由所述存档系统接收的顺序顺次地写入,而其中,在写入每个数据块之后升级所述指针。
11.根据权利要求9所述的档案库存储器,其中,由所述存档系统重新组合一个或多个数据块,并且所述一个或多个数据块存储在写入会话中,而其中,在所述写入会话之后升级所述指针。
12.根据权利要求9所述的档案库存储器,还包括:
一个或多个首部,所述首部存储与所述一个或多个数据块相关的一项或多项元数据;以及
一个或多个间隙,所述间隙包括改写区域,所述改写区域存储与所述一个或多个首部相关的一个或多个数据块的地址。
13.根据权利要求12所述的档案库存储器,其中,当所述一个或多个数据块的升级被写入至所述一个或多个未使用内存块时,升级所述间隙。
14.根据权利要求13所述的档案库存储器,其中,所述间隙先于所述指针但是可改写的。
15.一种方法,可在计算机系统中执行,用于保护可移动磁盘驱动器的嵌入式内存中的不可改变的数据,所述方法包括:
接收一个或多个数据块的写入请求;
通过读取与所述嵌入式内存中第一未使用内存块相关的元数据中的指针来确定下一写入地址;以及
写入跟随所述指针的一个或多个未使用内存块。
16.根据权利要求15所述的方法,其中,以使用所述写入请求接收的顺序顺次地写入所述一个或多个数据块。
17.根据权利要求15所述的方法,其中,还包括:
组合接收的一个或多个数据块;以及
其中,在会话写入中将经组合的一个或多个数据块写入至所述一个或多个未使用内存块。
18.根据权利要求15所述的方法,还包括:
确定接收的一个或多个数据块是否是已经存储在所述嵌入式内存中的一个或多个数据块的升级;
当接收的一个或多个数据块是已经存储在所述嵌入式内存中的一个或多个数据块的升级时,升级含有写入所述一个或多个升级的数据块的地址的间隙中的地址;
接收的一个或多个数据块不是已经存储在所述嵌入式内存中的一个或多个数据块的升级时,创建与所述一个或多个数据块相关的首部;以及
创建用于存储所述一个或多个数据块的地址的间隙。
19.根据权利要求18所述的方法,其中,所述间隙先于所述指针,且是可改写的。
20.根据权利要求19所述的方法,其中,所述首部先于所述指针,但是不可改写的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/024,582 | 2008-02-01 | ||
US12/024,582 US8171244B2 (en) | 2008-02-01 | 2008-02-01 | Methods for implementation of worm mode on a removable disk drive storage system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101498992A true CN101498992A (zh) | 2009-08-05 |
Family
ID=40548035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2009100062030A Pending CN101498992A (zh) | 2008-02-01 | 2009-02-01 | 用于在可移动磁盘驱动存储系统上实现worm模式的方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8171244B2 (zh) |
EP (1) | EP2085869A2 (zh) |
JP (1) | JP2009187544A (zh) |
CN (1) | CN101498992A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107436726A (zh) * | 2016-05-26 | 2017-12-05 | 华为技术有限公司 | 数据写入方法、存储控制器、计算设备以及存储装置 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8291179B2 (en) | 2007-10-05 | 2012-10-16 | Imation Corp. | Methods for implementation of worm enforcement in a storage system |
US8171244B2 (en) * | 2008-02-01 | 2012-05-01 | Imation Corp. | Methods for implementation of worm mode on a removable disk drive storage system |
US8725780B2 (en) | 2009-06-12 | 2014-05-13 | Imation Corp. | Methods and systems for rule-based worm enforcement |
US20110258355A1 (en) * | 2009-10-13 | 2011-10-20 | Ocz Technology Group, Inc. | Modular mass storage devices and methods of using |
US8695104B2 (en) | 2010-04-23 | 2014-04-08 | Dell Products, Lp | System and method for creating conditional immutable objects in a storage device |
US9628438B2 (en) | 2012-04-06 | 2017-04-18 | Exablox | Consistent ring namespaces facilitating data storage and organization in network infrastructures |
US9552382B2 (en) | 2013-04-23 | 2017-01-24 | Exablox Corporation | Reference counter integrity checking |
EP3008647A4 (en) | 2013-06-12 | 2017-01-25 | Exablox Corporation | Hybrid garbage collection |
US9715521B2 (en) | 2013-06-19 | 2017-07-25 | Storagecraft Technology Corporation | Data scrubbing in cluster-based storage systems |
US9934242B2 (en) | 2013-07-10 | 2018-04-03 | Exablox Corporation | Replication of data between mirrored data sites |
US10248556B2 (en) * | 2013-10-16 | 2019-04-02 | Exablox Corporation | Forward-only paged data storage management where virtual cursor moves in only one direction from header of a session to data field of the session |
US9985829B2 (en) | 2013-12-12 | 2018-05-29 | Exablox Corporation | Management and provisioning of cloud connected devices |
US9774582B2 (en) | 2014-02-03 | 2017-09-26 | Exablox Corporation | Private cloud connected device cluster architecture |
EP3103025B1 (en) | 2014-02-04 | 2019-07-10 | Exablox Corporation | Content based organization of file systems |
US9603280B2 (en) | 2014-05-30 | 2017-03-21 | EMC IP Holding Company LLC | Flash module |
US9398720B1 (en) | 2014-05-30 | 2016-07-19 | Emc Corporation | Chassis with airflow and thermal management |
US20170024140A1 (en) * | 2015-07-20 | 2017-01-26 | Samsung Electronics Co., Ltd. | Storage system and method for metadata management in non-volatile memory |
US20170060924A1 (en) | 2015-08-26 | 2017-03-02 | Exablox Corporation | B-Tree Based Data Model for File Systems |
US10080300B1 (en) | 2015-12-29 | 2018-09-18 | EMC IP Holding Company LLC | Mechanical latch module |
US9846553B2 (en) | 2016-05-04 | 2017-12-19 | Exablox Corporation | Organization and management of key-value stores |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5233576A (en) | 1989-10-25 | 1993-08-03 | Hewlett-Packard Company | Multi-function optical disk drive and media |
US5360651A (en) * | 1992-04-21 | 1994-11-01 | International Business Machines Corporation | Optical disk having R/W and worm area |
US7392234B2 (en) | 1999-05-18 | 2008-06-24 | Kom, Inc. | Method and system for electronic file lifecycle management |
US6779080B2 (en) * | 2000-01-11 | 2004-08-17 | International Business Machines Corporation | Serial data storage system with automatically adjusted data protection to implement worm media with limited overwrite allowing write appending |
US6487474B1 (en) | 2001-05-10 | 2002-11-26 | International Business Machines Corporation | Automated data storage library with multipurpose slots providing user-selected control path to shared robotic device |
US20040133740A1 (en) * | 2002-10-11 | 2004-07-08 | Lee Prewitt | Computer operating system feature for preserving and accessing prior generations of a data set |
WO2004090884A1 (ja) * | 2003-04-02 | 2004-10-21 | Fujitsu Limited | 光情報記憶装置および光情報記憶システム |
US20050162991A1 (en) | 2003-04-02 | 2005-07-28 | Fujitsu Limited | Optical information storage device and optical information storage system |
JP4168003B2 (ja) * | 2004-04-09 | 2008-10-22 | 日立マクセル株式会社 | 複数の情報記録媒体への情報記録方法および複数の記録媒体からの情報の再生方法 |
US20050231846A1 (en) * | 2004-04-14 | 2005-10-20 | International Business Machines Corporation | Write-once read-many hard disk drive using a WORM pointer |
US8127344B2 (en) * | 2004-07-21 | 2012-02-28 | Iternity Gmbh | Rapid archivable WORM memory system based on a hard disc |
JP2006065710A (ja) * | 2004-08-30 | 2006-03-09 | Hitachi Software Eng Co Ltd | 追記型記憶媒体内書き換え禁止データのバックアップ管理システム |
US20060123232A1 (en) | 2004-12-08 | 2006-06-08 | International Business Machines Corporation | Method for protecting and managing retention of data on worm media |
JP2006215954A (ja) | 2005-02-07 | 2006-08-17 | Hitachi Ltd | ストレージシステム及びストレージ装置のアーカイブ管理方法 |
US7519636B2 (en) * | 2005-03-30 | 2009-04-14 | Sap Ag | Key sequenced clustered I/O in a database management system |
GB0511919D0 (en) * | 2005-06-11 | 2005-07-20 | Ibm | Device permitting partial disabling of information retrievability on worm media |
US7487178B2 (en) | 2005-10-05 | 2009-02-03 | International Business Machines Corporation | System and method for providing an object to support data structures in worm storage |
US7685389B2 (en) | 2005-10-21 | 2010-03-23 | International Business Machines Corporation | Apparatus, system, and method for setting protection states of protected partitions in storage media |
US7631161B2 (en) | 2005-10-21 | 2009-12-08 | International Business Machines Corporation | Apparatus, system, and method for writing data to protected partitions of storage media |
US7694096B2 (en) | 2005-10-21 | 2010-04-06 | International Business Machines Corporation | Apparatus, system, and method for implementing protected partitions in storage media |
CN100590583C (zh) | 2006-08-09 | 2010-02-17 | 国际商业机器公司 | 写入和读取应用数据的方法和系统 |
US20090019245A1 (en) | 2007-07-10 | 2009-01-15 | Prostor Systems, Inc. | Methods for implementation of data formats on a removable disk drive storage system |
US8291179B2 (en) | 2007-10-05 | 2012-10-16 | Imation Corp. | Methods for implementation of worm enforcement in a storage system |
US8161240B2 (en) * | 2007-10-10 | 2012-04-17 | Apple Inc. | Cache management |
US8171244B2 (en) * | 2008-02-01 | 2012-05-01 | Imation Corp. | Methods for implementation of worm mode on a removable disk drive storage system |
US20100017558A1 (en) | 2008-04-11 | 2010-01-21 | Richard Matthew Fruin | Memory device operable in read-only and re-writable modes of operation |
US8725780B2 (en) | 2009-06-12 | 2014-05-13 | Imation Corp. | Methods and systems for rule-based worm enforcement |
-
2008
- 2008-02-01 US US12/024,582 patent/US8171244B2/en not_active Expired - Fee Related
-
2009
- 2009-01-21 EP EP09151026A patent/EP2085869A2/en not_active Withdrawn
- 2009-01-28 JP JP2009017324A patent/JP2009187544A/ja active Pending
- 2009-02-01 CN CNA2009100062030A patent/CN101498992A/zh active Pending
-
2012
- 2012-05-01 US US13/461,272 patent/US8635419B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107436726A (zh) * | 2016-05-26 | 2017-12-05 | 华为技术有限公司 | 数据写入方法、存储控制器、计算设备以及存储装置 |
CN107436726B (zh) * | 2016-05-26 | 2020-09-08 | 华为技术有限公司 | 数据写入方法、存储控制器、计算设备以及存储装置 |
Also Published As
Publication number | Publication date |
---|---|
US8171244B2 (en) | 2012-05-01 |
JP2009187544A (ja) | 2009-08-20 |
EP2085869A2 (en) | 2009-08-05 |
US20090198927A1 (en) | 2009-08-06 |
US8635419B2 (en) | 2014-01-21 |
US20120311258A1 (en) | 2012-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101498992A (zh) | 用于在可移动磁盘驱动存储系统上实现worm模式的方法 | |
US9116900B2 (en) | Methods for controlling remote archiving systems | |
US8499128B2 (en) | Methods for implementation of an active archive in an archiving system and managing the data in the active archive | |
US9519646B2 (en) | Archiving system with partitions of individual archives | |
US8495290B2 (en) | Methods for implementation of an array of removable disk drives | |
US8429207B2 (en) | Methods for implementation of information audit trail tracking and reporting in a storage system | |
US8156292B2 (en) | Methods for implementation of data formats on a removable disk drive storage system | |
US20140215137A1 (en) | Methods for implementation of an archiving system which uses removable disk storage system | |
CN101404667A (zh) | 用于在存储系统中实施worm执行的方法 | |
US8005996B2 (en) | Digitally shredding on removable disk drives | |
CN101923887A (zh) | 可移动磁盘驱动器阵列的实施方法 | |
CN101625623A (zh) | 用于在可移动的盘驱动存储系统上实现数据格式化的方法 | |
US20120051359A1 (en) | Apparatus and method to manage multicast data transfers in a multiple storage element system that contains data storage | |
US20120063454A1 (en) | Apparatus and method in a system for multicast data transfers over an interconnected bus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090805 |