CN107710144B - 跨越逻辑卷的数据存储装置复制数据 - Google Patents
跨越逻辑卷的数据存储装置复制数据 Download PDFInfo
- Publication number
- CN107710144B CN107710144B CN201680036709.4A CN201680036709A CN107710144B CN 107710144 B CN107710144 B CN 107710144B CN 201680036709 A CN201680036709 A CN 201680036709A CN 107710144 B CN107710144 B CN 107710144B
- Authority
- CN
- China
- Prior art keywords
- data storage
- files
- logical volume
- file
- independent data
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/188—Virtual file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
公开了用于跨越逻辑卷的数据存储装置复制数据的系统和方法。数据存储系统可通过将多个数据存储装置分组到一起来创建逻辑卷。该数据存储装置可以是外部独立数据存储装置。该数据存储系统还可跨越逻辑卷复制数据。
Description
背景技术
数据存储装置跨越一个或更多个数据存储装置的分布可通过数据冗余提供提高的数据安全性。一种类型的数据存储装置可以是直接附加存储(DAS)装置。DAS装置可提供通过连接电缆(例如通过直接或物理连接)直接存取数据的一个或更多个计算装置。另一类型的数据存储装置可以是网络附加存储(NAS)装置。NAS装置可通过计算机网络(例如通过有线和/或无线网络)提供对数据的存取。
附图说明
出于说明性目的而在附图中描绘各种实施例,且各种实施例决不应被解译为限制本公开的范围。另外,可组合不同所公开实施例的各种特征以形成额外实施例,额外实施例是本公开的部分。
图1是根据实施例的数据存储系统的简图。
图2是根据实施例的数据存储系统的简图。
图3是根据实施例的数据存储系统的简图。
图4是根据实施例的实例文件列表的简图。
图5是说明根据实施例的跨越逻辑卷复制数据的过程的流程图。
图6是说明根据实施例的用于向逻辑卷添加数据存储装置的过程的流程图。
图7是说明根据实施例的用于从逻辑卷移除数据存储装置的过程的流程图。
图8是说明根据实施例的用于从逻辑卷暂时移除数据存储装置的过程的流程图。
图9是根据实施例的计算装置的简图。
具体实施方式
虽然描述了某些实施例,但是这些实施例仅作为实例呈现且并不意图限制保护范围。实际上,本文中描述的新颖方法和系统可以各种其它形式体现。此外,在不脱离保护范围的情况下可以对本文中描述的方法及系统的形式作出各种省略、替代和改变。
本文中所提供的标题仅仅是为方便起见,且不一定影响所要求发明的范围或含义。在本文中公开了与跨越可包含多个数据存储装置(例如外部独立数据存储装置)的逻辑卷复制数据(例如文件)相关的实例实施方案、配置和/或实施例。
概述
数据存储装置/系统可为一个或更多个计算装置提供文件级数据存储。数据存储装置/系统的一个实例可以是DAS装置。通过耦合到DAS装置的DAS接口(例如通信接口,例如USB 2.X、USB 3.X、Thunderbolt、eSATA等)的连接电缆(例如Thunderbolt电缆、外部串行高级技术附加(external serial advanced technology attachment,eSATA)电缆、通用串行总线(USB)电缆等),DAS装置可耦合到计算装置(例如笔记本电脑、台式计算机等)。DAS装置可提供用于在计算装置之间传送数据、增大计算装置的存储容量(例如增大存储空间)和/或通过数据冗余提供提高的数据安全性的便利机制。数据存储装置/系统另一实例可以是NAS装置。NAS装置可通过NAS接口(例如网络接口或通信接口,例如以太网、802.11(Wi-Fi)等)耦合到网络。NAS装置可通过网络(例如计算机网络)提供文件级数据存储,其中对所存储数据的存取对于客户端的群组可存取。举例来说,NAS装置可包含经配置使得NAS装置充当文件服务器的硬件、软件、或此类元件的组合。NAS装置/系统可提供用于在多个计算机当中共享数据和/或远程存取存储于NAS装置/系统上的数据的便利机制。相比于传统文件服务器,NAS装置/系统的益处可包含从各种位置(例如远程位置)存取数据的能力、更快的数据存取、更容易的管理和/或更简单的配置。
本文中公开的某些实施例为多个数据存储装置(例如外部独立数据存储装置,例如便携式硬盘驱动器、NAS驱动器/装置等)提供被分组成逻辑卷的能力。多个数据存储装置上存储的文件可跨越逻辑卷被复制(例如复制到逻辑卷中的其它数据存储装置上)。这可允许用户充分利用(leverage)现有的数据存储装置来更便宜地、更简单地、更高效地和更快速地备份文件和/或其它数据(以防范数据丢失)。
数据存储装置
图1是根据实施例的数据存储系统100的简图。在数据存储系统100中,数据存储装置120可以通信耦合到一个或更多个客户端装置(例如计算装置),以便向一个或更多个客户端装置(例如一个或更多个计算装置)提供基于文件的数据存储服务。可存取数据存储装置120的客户端装置(例如计算装置)的类型可包含但不限于电话137(例如智能电话、蜂窝式电话等)、有线机顶盒136、智能TV 135、视频游戏控制台134、笔记本电脑133、平板电脑132、台式计算机131、可佩戴计算机和/或其它类型的计算装置。在一个实施例中,数据存储装置120可以是外部独立数据存储装置。举例来说,数据存储装置120可以是不定位于计算装置内(例如不在计算装置的套壳或外壳内)的数据存储装置。在另一实例中,数据存储装置120可以是可提供对数据的存取而不直接耦合到计算装置的数据存储装置(例如可以是NAS装置)。
数据存储装置120装置可向各种客户端装置(例如电话137、有线机顶盒136、智能TV 135、视频游戏控制台134、笔记本电脑133、平板电脑132、台式计算机131)提供对数据存储装置120上存储的各种类型的用户数据的存取。数据存储装置120还可允许用户在数据存储装置120上存储各种类型的用户数据。数据存储装置120可包括磁性介质、硬盘介质和/或固态介质。虽然本文中的某些描述大体上参考固态存储器,但是应理解,固态存储器可包括各种类型的固态非易失性存储器装置中的一个或更多个,例如闪存集成电路、硫属化合物RAM(C-RAM)、相变存储器(PC-RAM或PRAM)、可编程金属化单元RAM(PMC-RAM或PMCm)、双向统一存储器(Ovonic Unified Memory,OUM)、电阻式RAM(RRAM)、“与非”(NAND)存储器(例如单级单元(SLC)存储器、多级单元(MLC)存储器或其任何组合)、“或非”(NOR)存储器、EEPROM、铁电存储器(FeRAM)、磁阻式RAM(MRAM)、其它离散NVM(非易失性存储器)芯片或其任何组合。
进一步参考图1,数据存储装置120(例如磁盘驱动器、混合型硬盘驱动器、固态驱动器等)可包含控制器(图1中未展示),控制器经配置以接收数据命令并在数据存储装置120的一个或更多个非易失性存储器组件中执行此类命令。此类命令可包含数据读取/写入命令等等。控制器可经配置以从驻留在计算装置上的通信接口(例如NAS接口和/或DAS接口)接收数据命令。数据命令可指定数据存储装置120中的块地址,且可基于此类命令存取/传送数据。数据命令还可被称作数据存取请求。
数据存储装置120可经配置以在一个或更多个磁记录磁盘和/或固态存储器装置/阵列中存储数据。在实施例中,数据存储装置120可包括电缆箱、备份磁盘驱动器、介质存储单元、流媒体装置、数码相机,或可存储可需要直接或以无线方式存取的数据的任何其它电子装置。
在某些实施例中,数据存储装置120可存储从客户端装置接收的数据,使得数据存储装置120充当用于客户端装置的数据存储。为了促进此功能,数据存储装置120可实施逻辑接口。逻辑接口可作为可存储数据的一组逻辑地址(例如顺序的/相连的地址)呈现给客户端装置存储器。在内部,控制器可将逻辑地址映射到数据存储装置120的非易失性存储器中的各种物理存储器地址。将指示逻辑地址映射到物理存储器地址的映射的映射数据可维持在数据存储装置120中。
在一个实施例中,数据存储装置120可以是DAS装置。DAS装置可通过连接电缆121直接耦合到客户端装置(例如台式计算机131)。连接电缆121可耦合到DAS装置(例如数据存储装置120)的通信接口(例如USB 2.X接口、USB 3.X接口、Thunderbolt接口等)。在另一实施例中,数据存储装置120还可以是NAS装置。NAS装置也可通过网络105耦合到客户端装置(例如计算装置)131-137。NAS装置可通过网络接口(例如以太网接口、802.11(Wi-Fi)接口等)耦合到网络105。客户端装置131-137中的每个也可通过网络接口耦合到网络105。在一个实施例中,网络105可包含公网(例如因特网)、私网(例如局域网(LAN))、广域网(WAN),例如因特网、有线网络(例如以太网网络)、无线网络(例如802.11网络或Wi-Fi网络)、蜂窝式网络(例如长期演进(LTE)网络)、路由器、集线器、交换机、服务器计算机、其它类型的计算机网络、和/或其组合。
在一个实施例中,数据存储装置120可通过通信接口(例如DAS接口,例如USB 2.X、USB 3.X、Thunderbolt)和/或通过网络接口(例如以太网、802.11等)从客户端装置131-137接收数据存取请求。数据存取请求可以是存取数据存储装置上的数据的消息、命令、和/或请求。举例来说,数据存取请求可指示计算装置想要从数据存储装置120读取数据。在另一实例中,数据存取请求可指示计算装置想要将数据写入到数据存储装置120。
虽然数据存储装置/驱动器/系统可提供各种益处,如上文所描述,但是在某些配置中,此类系统可与各种问题和/或缺点相关联。用户可购买不同数据存储装置(例如不同外部独立数据存储装置,例如NAS装置、便携式外部硬盘驱动器等),所述不同数据存储装置可具有不同存储容量、可具有不同存储介质(例如磁性介质、固态介质等)并可由不同公司/供应商制造。用户可在数据存储装置中的每个上存储不同数据(例如一个便携式外部硬盘驱动器可存储家庭照片,另一便携式外部硬盘驱动器可存储工作相关的文档等)。用户可能不记得哪些文件存储在哪个数据存储装置上。即使用户的确记得哪些文件存储在哪个数据存储装置上,除非用户记得执行对文件的备份,否则文件可能未被备份。虽然RAID系统可自动地备份文件(和其它数据),但是RAID系统常常是昂贵的,这会阻止用户购买和/或使用RAID系统。另外,如果RAID系统中的数据存储装置中的一个发生故障或变得不可操作,那么RAID系统可重建发生故障的数据存储装置,这可以是耗时的过程(例如可花费数小时或甚至数天)。此外,RAID系统可能不能够使用具有不同存储容量(例如具有不同存储大小)和/或不同介质的数据存储装置。
可能有用的是,使用具有不同存储容量、不同介质和/或由不同供应商/公司制造的多个数据存储装置(例如多个外部独立数据存储装置)来提供能够提供备份能力(例如能够复制(replicate)或拷贝(copy)数据,例如文件)的数据存储系统。这可允许用户充分利用其在现有数据存储装置(例如现有外部便携式硬盘驱动器、NAS装置等)中的投资。系统可通过将多个数据存储装置分组到一起来创建逻辑卷。数据存储系统还可跨越逻辑卷复制数据(例如自动地复制/拷贝文件)(如以下更详细地论述)。数据存储系统可提供RAID类功能性,而没有与RAID系统相关联的开销。数据存储系统还可允许更便宜地添加额外的存储空间(例如添加额外外部独立数据存储装置,例如便携式外部硬盘驱动器)。数据存储系统还可在从逻辑卷移除数据存储装置时维持对数据的复制,而不重建驱动器(如RAID系统)。
图2是根据实施例的数据存储系统200的简图。数据存储系统200包含计算装置211、计算装置213、连接电缆250和数据存储装置220。计算装置211和213中的每个可以是笔记本电脑、台式计算机、服务器计算机、平板电脑、智能电话、机顶盒、智能TV、视频游戏控制台等。数据存储装置220可包含控制器230、DAS接口241(例如USB 2.X、USB 3.X、Thunderbolt、eSATA等)、NAS接口243(例如以太网、Wi-Fi等)和非易失性存储组件245。在一个实施例中,非易失性存储组件245可包含非易失性磁性介质和/或固态存储器,例如NAND闪存。控制器230可提供针对数据存储装置220的总体控制。在某些实施例中,数据存储装置220可以是硬盘驱动器。非易失性存储组件245可包含一个或更多个磁盘,且数据存储装置220可进一步包含在(一个或更多个)磁盘上方径向地致动的一个或更多个磁头(未展示)和用于使(一个或更多个)磁盘旋转的主轴电动机。作为磁性旋转介质的替代或补充,可使用固态存储器和/或其它非易失性存储器,例如MRAM和/或相变存储器。在某些实施例中,数据存储装置220可以是例如包含磁性介质和固态介质两者的混合型硬盘驱动器(例如非易失性存储组件245可包含磁盘和固态介质/存储器两者)。在一个实施例中,非易失性存储组件245通过一个或更多个串行的总线连接器可耦合到控制器。串行总线连接器的实例包含但不限于串行ATA(SATA)连接器、外围组件互连高速(PCIe)连接器和SATA高速连接器。在一个实施例中,数据存储装置220可以是外部独立数据存储装置(例如NAS装置/驱动器、便携式外部硬盘驱动器等)。
控制器230可从计算装置211的DAS接口212(例如USB接口、Thunderbolt接口)接收数据存取请求(例如数据和存储存取命令)。由DAS接口212传达的数据存取请求可包含由计算装置211发出的写入和读取命令。数据存取请求可指定数据存储装置220中的LBA或LBA的范围,且控制器230可在非易失性存储组件245中执行接收的数据存取请求。控制器230还可从计算装置213的NAS接口214(例如通信接口,例如以太网接口、Wi-Fi接口等)接收数据存取请求。控制器可基于数据存取请求确定数据存储装置220中的LBA和/或一系列(a rangeof)LBA,并可在非易失性存储组件245中执行接收的数据存取请求。在混合型硬盘驱动器中,数据可存储于磁性介质存储组件以及非易失性固态存储器中。
数据存储装置220可存储从计算装置211和213接收的数据,使得数据存储装置220充当用于计算装置211和213的存储器。为了促进此存储器功能,控制器230可实施逻辑接口。逻辑接口可向计算装置211和213将数据存储装置220的存储器呈现为可存储数据的一组逻辑地址(例如相连的地址)。控制器230可将逻辑地址映射到非易失性存储组件245和/或其它(一个或更多个)存储器模块中的各种物理存储器地址。
数据存储装置220可经配置以实施数据冗余,其中存储于非易失性存储组件245中的用户数据维持在一个或更多个内部和/或外部驱动器中。举例来说,控制器230可包含经配置以实施冗余功能性的数据冗余管理模块(图2中未展示)。数据冗余管理模块可实施独立磁盘冗余阵列(redundant array of independent disks,RAID)技术,其中非易失性存储组件245包含多个内部驱动器、磁盘或出于数据冗余和性能提高的目的而组合成逻辑单元的其它数据存储分区。另外,或替代地,数据冗余管理模块可经配置以使用一个或更多个内部存储器模块结合一个或更多个外部存储器装置来实施RAID,如下文更详细地论述。
出于RAID目的,非易失性存储组件245可包含一个或更多个存储装置的阵列,该存储装置例如硬盘或经配置以存储用户数据的其它存储器模块。在某些实施例中,此类内部存储器模块/磁盘可各自直接耦合到控制器230以提供用于读取和写入用户数据的高带宽接口。非易失性存储组件245可包含经配置以存储校验信息的一个或更多个额外存储器模块。
控制器230可经配置以在物理RAID存储器模块当中划分并复制用户数据,从而提供存储虚拟化;阵列可由计算装置211和213作为单个驱动器存取。数据可根据任何合乎需要或实用的RAID等级(level)跨越RAID存储器模块/驱动器分布,这取决于所期望的冗余和/或性能的等级。举例来说,数据存储装置220可经配置以实施RAID 0、RAID 1、RAID 5、RAID 6、RAID 10、其它RAID技术或其它擦除编码技术,这取决于数据可靠性、可用性、性能和/或容量考虑或要求。
计算装置211可通过连接电缆250耦合到数据存储装置220。连接电缆250可直接连接计算装置211与数据存储装置220。连接电缆250可使用可允许计算装置211与数据存储装置220通信的一个或更多个通信接口(例如总线接口)和/或协议。DAS接口212和241可以是USB接口、Thunderbolt接口、串行附加的SCSI(serial attached SCSI,SAS)、eSATA接口等。
在一个实施例中,连接电缆250可包含允许计算装置211与数据存储装置220传达数据的一个或更多个数据线(例如一个或更多个导线、引脚等)。举例来说,连接电缆250可包含数据线(图2中未展示),计算装置211可使用该数据线以从数据存储装置220读取数据和/或将数据写入到数据存储装置220。计算装置211可使用DAS接口212(例如通过DAS接口212)来向数据存储装置传达数据和从数据存储装置传达数据。在另一实施例中,计算装置211可向数据存储装置220提供输入电压,且数据存储装置220可使用输入电压以操作数据存储装置220的一个或更多个组件(例如控制器230、非易失性存储组件245、电动机等)。连接电缆250可包含一个或更多个电压线(例如导线、引脚等),该一个或更多个电压线通过DAS接口212从计算装置211接收输入电压。一个或更多个电压线可通过通信接口240向数据存储装置220提供输入电压(从计算装置211接收的)。在另一实施例中,数据存储装置220可耦合到单独的电源(例如可耦合到电池、到AC适配器、到壁式插座等)。
在一个实施例中,连接电缆250可包含桥接器单元(图2中未展示)。举例来说,连接电缆250可包含USB桥接器、Thunderbolt桥接器或其它类型的桥接器。桥接器单元可在两个不同类型的通信接口和/或协议之间转换。举例来说,如果连接的存储装置在第一协议中而不是在第二协议中通信,那么桥接器单元可将第二协议转换到第一协议,或反之亦然。
计算装置213可通过网络205(例如Wi-Fi网络、LAN、蜂窝式网络等中的一个或更多个)通信耦合到数据存储装置220。计算装置213可通过NAS接口214(例如通信接口以太网接口、Wi-Fi接口等)和网络205将数据(例如文件、图像、电影等)和/或数据存取请求发送给数据存储装置220。数据存储装置220可通过NAS接口243从计算装置213接收数据和/或数据存取请求。
在一个实施例中,数据存储系统可使用多个数据存储装置(例如多个数据存储装置220)以通过将多个数据存储装置分组到一起来创建逻辑卷,如下文更详细地论述。数据存储系统也可跨越逻辑卷复制数据以提供RAID类功能性,而没有与RAID系统相关联的开销,如下文更详细地论述。
跨越逻辑卷复制数据
图3是根据实施例的数据存储系统300的简图。数据存储系统300包含计算装置310、网络305、连接器集线器306和逻辑卷330。网络305可包含公网(例如因特网)、私网(例如局域网(LAN))、广域网(WAN),例如因特网、有线网络(例如以太网网络)、无线网络(例如802.11网络或Wi-Fi网络)、蜂窝式网络(例如长期演进(LTE)网络)、路由器、集线器、交换机、服务器计算机、其它类型的计算机网络、和/或其组合。连接器集线器306可包含允许连接器集线器306耦合到多个数据存储装置320和计算装置310的多个DAS接口(例如多个连接器)。举例来说,连接器集线器306可以是包含多个USB端口/接口的USB集线器。虽然连接器集线器306在图3中被说明为与计算装置310分离,但是应理解,在其它实施例中,连接器集线器306可以是计算装置310的部分。在一个实施例中,计算装置310可以是NAS装置。
逻辑卷330包含多个数据存储装置320。在一个实施例中,逻辑卷330可以是逻辑分组或一组数据存储装置。逻辑卷330还可被称作一组数据存储装置。数据存储装置320可各自是NAS装置和/或DAS装置。数据存储装置320可包含不同类型的介质。举例来说,数据存储装置320可包含磁性介质、硬盘介质和/或固态介质。在一个实施例中,数据存储装置320可以是外部独立数据存储装置。举例来说,数据存储装置320可以是外部独立NAS装置或外部DAS装置(例如便携式外部硬盘驱动器)。
计算装置310包含DAS接口312(例如通信接口,例如USB 2.X、USB 3.X、Thunderbolt、eSATA等)和NAS接口314(例如网络/通信接口,例如以太网、802.11(Wi-Fi)等)。DAS接口312耦合到连接器集线器306,这允许计算装置310与耦合到连接器集线器306的数据存储装置320通信(例如传输和/或接收数据)。NAS接口314耦合到网络305,这允许计算装置310与耦合到网络305的数据存储装置320通信(例如传输和/或接收数据)。计算装置310还包含存储模块311。
在一个实施例中,存储模块311可创建逻辑卷330。举例来说,存储模块311可接收识别待包含于逻辑卷330中的数据存储装置320的输入(例如从由存储模块311呈现/提供的图形用户界面(GUI)接收的用户输入、来自配置文件的参数等)。存储模块311可将数据存储装置320分组和/或聚合成一组数据存储装置(例如可使数据存储装置320与逻辑卷330相关联或可在逻辑卷330中包含数据存储装置320)。数据存储装置320上存储的文件可被复制(例如拷贝)到逻辑卷330中的一个或更多个其它数据存储装置320上,如下文更详细地论述。
在一个实施例中,存储模块311可接收指示应分配数据存储装置320中的每个上的多少存储空间用于复制文件的输入(例如来自由存储模块311呈现/提供的GUI的用户输入、来自配置文件的参数等)。存储模块311可分配数据存储装置320中的每个上的所指示的量的存储空间用于复制文件(如下文更详细地论述)。举例来说,存储模块311可分配每个数据存储装置320上的一千兆字节的存储空间用于复制文件。
在一个实施例中,存储模块311可识别数据存储装置320上存储的待跨越逻辑卷330复制(例如待复制到逻辑卷的一个或更多个其它数据存储装置320上)的一组文件(例如一个或更多个文件)。存储模块311可基于文件类型而识别所述组文件。举例来说,存储模块311可识别图像文件(例如包含数字图像的文件)、视频文件(例如包含数字视频的文件)、文字处理文件/文档等。存储模块311还可基于文件大小而识别所述组文件。举例来说,存储模块311可识别大于阈值大小(例如大于一兆字节)、小于阈值大小(例如小于一百兆字节)和/或介于某一大小范围之间(例如介于五兆字节与五十兆字节之间)的文件。存储模块311还可基于文件已被存取的次数而识别所述组文件。举例来说,存储模块311可识别已被存取了多于阈值次数或少于阈值次数的文件。存储模块311还可基于所述组文件的扩展名(例如文件扩展名)而识别所述组文件。举例来说,存储模块311可识别具有“.jpg”扩展名的文件(例如联合照相专家组(Joint Photographic Experts Group,JPEG)文件)。在另一实例中,存储模块311可识别具有“.mpg”扩展名的文件(例如运动图像专家组(Motion PictureExperts Group,MPEG)文件)。存储模块311还可基于从用户接收的输入而识别所述组文件。举例来说,用户可通过(由存储模块311呈现/提供的)GUI选择一个或更多个文件以识别所述组文件。在另一实例中,用户可通过GUI选择文件夹,且存储模块311可识别文件夹和文件夹的子文件夹中的文件。
在一个实施例中,存储模块311可确定所述组文件的保护等级。可基于保护等级跨越逻辑卷330复制所述组文件,如下文更详细地论述。在一个实施例中,保护等级可以是指示所述组文件的优先级或重要性的数据/信息。举例来说,更高的保护等级可指示所述组文件具有更高的重要性(或更高的优先级),且更低的保护等级可指示所述组文件具有更低的重要性(或更低的优先级)。应理解,在一些实施例中,可使用不同数目个保护等级(例如两个保护等级、五个保护等级等)。存储模块311可更多地在保护等级较高时创建一组文件的更多副本,并可更少地在保护等级较低时创建所述组文件的更少副本。举例来说,存储模块311可在保护等级更高时将所述组文件拷贝到更多数据存储装置320(例如四个数据存储装置320)上,并可在保护等级更低时将所述组文件拷贝到更少数据存储装置320(例如两个数据存储装置320)上。在另一实施例中,保护等级可以是指示跨越逻辑卷330应存在所述组文件的多少副本的数据/信息。保护等级可指示应在上面复制(例如拷贝(copy))所述组文件的数据存储装置320的数目,和/或可指示所述组文件的副本数目。举例来说,“3”的保护等级可指示所述组文件应复制到三个不同的数据存储装置320上(例如跨越逻辑卷330应存在所述组文件的三个副本)。在一个实施例中,存储模块311可基于保护等级维持跨越逻辑卷存在的文件的最小数目的副本。举例来说,存储模块311可在逻辑卷330的不同数据存储装置320上维持文件的至少两个副本或至少三个副本。在一个实施例中,保护等级可跨越逻辑卷330被应用。举例来说,保护等级可指示存储模块311应跨越逻辑卷330的所有数据存储装置320维持的文件(或一组文件)的最小数目的副本。
在一个实施例中,用户可更新文件或一组文件的保护等级。举例来说,用户可(通过由存储模块311提供/呈现的GUI)提供用户输入,以指示文件的保护等级应增大或减小。存储模块311可基于更新后的保护等级创建文件的额外副本和/或移除文件的副本。存储模块311可更新文件列表以指示已创建或移除了文件的副本。存储模块311还可更新文件列表以指示已更新的文件或一组文件的保护等级。
在一个实施例中,不同组文件可与不同保护等级相关联。举例来说,用户可指示图像文件(例如家庭照片)应具有高保护等级,并可指示音乐文件(例如数字音乐文件,例如MPEG-2音频层III(MPEG-2Audio Layer III,MP3)文件)应具有更低的保护等级。存储模块311可通过GUI(其可由存储模块311提供/呈现)接收指示保护等级的数据。
如上文所论述,存储模块311可跨越逻辑卷330复制一组或多组文件。举例来说,可基于保护等级将(逻辑卷330的)第一数据存储装置320上存储的第一文件复制(例如拷贝)到(逻辑卷330的)一个或更多个额外数据存储装置320上。在一个实施例中,存储模块311可基于一个或更多个存储参数而识别将在上面复制所述组文件的一个或更多个额外数据存储装置320。存储参数的实例可包含但不限于第一文件的类型(例如图像文件、视频文件、文字处理文档/文件等)、第一文件的大小、一个或更多个额外数据存储装置320的一个或更多个健康状态和第一文件已被存取的次数。在一个实施例中,在复制所述组文件之前,数据存储装置上存储的所述组文件跨越逻辑卷330可以是独特的(unique)。举例来说,在复制第一文件之前,第一文件可最初仅存储于第一数据存储装置320(例如原始数据存储装置)上。在第一文件被复制/拷贝到其它数据存储装置上之后,第一文件跨越逻辑卷可不再是独特的,这是因为其它数据存储装置可具有第一文件的副本。
在一个实施例中,存储模块311可将某些类型的文件复制到不同数据存储装置320上。举例来说,存储模块311可识别具有磁性介质和固态介质(例如快闪存储器)的数据存储装置。图像文件可被复制(拷贝)到具有磁性介质的数据存储装置320上,且文字处理文档可被拷贝到具有固态介质(例如快闪存储器)的数据存储装置上。在另一实施例中,存储模块311可将具有不同文件大小的文件复制到不同数据存储装置320上。举例来说,具有大于阈值大小的大小的文件可被拷贝到第一数据存储装置320上,且具有小于阈值大小的大小的文件可被拷贝到第二数据存储装置320上。
在一个实施例中,存储模块311可识别(逻辑卷330的)数据存储装置320的健康法规。举例来说,存储模块311可确定获得关于数据存储装置320的操作信息。存储模块311可使用各种方法来获得操作信息,方法例如自我监测、分析和报告技术(Self-Monitoring,Analysis and Reporting Technology,SMART)诊断。操作信息可包含数据/信息,例如数据存储装置320已操作多久、已对数据存储装置320执行了多少读取操作和/或写入操作、已在数据存储装置320上出现的错误(例如读取/写入错误)的数目、数据存储装置320的经估计故障时间等。存储模块311可基于操作信息而确定数据存储装置320的健康状态。举例来说,存储模块311可确定(例如产生/计算)度量或值(或一组度量/值)以指示数据存储装置320的健康。存储模块311可识别具有高于(例如大于)值或一组值的健康状态的数据存储装置320。
在一个实施例中,存储模块311可创建和/或更新文件列表以指示已拷贝一组文件的一个或更多个数据存储装置320。举例来说,可在(逻辑卷330的)三个数据存储装置320上复制文件(例如拷贝到装置)。存储模块311可更新文件列表以指示已在三个数据存储装置上复制文件。在下文更详细论述文件列表。
在一个实施例中,存储模块311可监测一个或更多个文件(例如跨越逻辑卷的一组文件)。举例来说,存储模块311可监测数据存储装置上存储的文件和一个或更多个额外数据存储装置320上复制的文件的副本。存储模块311可确定基于对第一文件的一个或更多个副本的分析已修改第一文件的一个或更多个副本。
在一个实施例中,存储模块311可使用散列函数/算法(例如MD5)以确定第一文件的任何副本是否已被修改。举例来说,存储模块311可创建第一文件的一个或更多个副本的散列(例如将散列函数/算法应用于第一文件的一个或更多个副本)。存储模块311可比较一个或更多个副本的散列以确定第一文件的任何副本是否已被修改(例如已被更新)。举例来说,如果第一文件的一个副本的第一散列不匹配第一文件的另一副本的第二散列,那么存储模块311可确定第一文件的一个或更多个副本已被修改。在另一实施例中,存储模块311可比较第一文件的副本的时间戳和/或文件大小以确定第一文件的任何副本是否已被修改。举例来说,存储模块311可确定第一文件的一个副本的第一时间戳和/或第一文件大小不同于第一文件的另一副本的第二时间戳和/或第二文件大小。
在一个实施例中,存储模块311可更新已被修改的一个或更多个文件。存储模块311可跨越逻辑卷330(例如跨越包含一个或更多个文件的所有数据存储装置320)更新(已被修改的)一个或更多个文件。举例来说,存储模块311可确定第一文件的一个或更多个副本已被修改(基于散列、时间戳和/或文件大小,如上文所论述)。存储模块311可跨越逻辑卷330更新第一文件。举例来说,存储模块311可识别第一文件的最新副本并可将第一文件的最新副本拷贝到包含第一文件的所有数据存储装置320(例如可将第一文件的最新副本拷贝到上面复制或存储第一文件的所有数据存储装置320)。
在一个实施例中,存储模块311可接收向逻辑卷330添加额外数据存储装置(例如独立DAS装置,例如便携式外部硬盘驱动器、独立NAS装置等)的请求。举例来说,用户可将额外数据存储装置连接或耦合到连接器集线器306,并可通过GUI(其可由存储模块311提供和/或呈现)和/或配置文件提供用户输入,以指示额外数据存储装置将被添加到逻辑卷330。在一个实施例中,存储模块311还可接收指示可用以复制文件的额外数据存储装置上的存储空间的量的用户输入(例如通过GUI或配置文件)。举例来说,存储模块311可接收指示额外数据存储装置上的两千兆字节的存储空间可用以复制文件的用户输入。在另一实例中,存储模块311可接收指示额外数据存储装置的总存储空间/容量的百分之五十可用以复制文件的用户输入。
存储模块311可基于请求而向逻辑卷330添加额外数据存储装置。举例来说,存储模块311可更新文件列表以指示额外存储装置已被添加到逻辑卷330。在一个实施例中,存储模块311可在额外数据存储装置已被添加到逻辑卷330之后识别额外数据存储装置上的跨越逻辑卷330是独特的文件。举例来说,存储模块311可识别尚未在逻辑卷330中的其它数据存储装置320上复制(例如拷贝到其)的文件。在另一实例中,用户可提供识别尚未复制到其它数据存储装置320的一个或更多个文件的用户输入。存储模块311可基于保护等级复制(尚未被复制的)文件中的一个或更多个(如上文所论述)。在另一实施例中,存储模块311可在额外数据存储装置已被添加到逻辑卷330之后将来自其它数据存储装置320的文件复制(例如拷贝(copy))到额外数据存储装置上。
在一个实施例中,存储模块311可接收从逻辑卷330移除第一数据存储装置320的请求。举例来说,用户可使第一数据存储装置从连接器集线器306断开/解耦,并可通过(其可由存储模块311提供和/或呈现)和/或配置文件提供用户输入,以指示第一数据存储装置320将从逻辑卷330移除。存储模块311可识别第一数据存储装置320上复制的一组文件(例如一个或更多个文件)。举例来说,存储模块311可识别从逻辑卷330中的其它数据存储装置320拷贝到第一数据存储装置320上(例如在第一数据存储装置320上复制)的一组文件。存储模块311可将所述组文件(其在第一数据存储装置320上复制)拷贝(copy)到逻辑卷330中的一个或更多个其它数据存储装置320。举例来说,存储模块311可基于存储参数而识别一个或更多个其它数据存储装置320(如上文所论述),并可将所述组文件拷贝到一个或更多个其它数据存储装置320。这可允许存储模块311基于所述组文件的一个或更多个保护等级而跨越逻辑卷330复制所述组文件。举例来说,基于第一文件的保护等级,存储模块311可将来自所述组文件的第一文件拷贝到另一数据存储装置320,以维持不同数据存储装置320上的第一文件的最小数目的副本。存储模块311可基于请求而从逻辑卷330移除第一数据存储装置320。举例来说,存储模块311可使第一数据存储装置320与逻辑卷330分离,和/或可更新文件列表以指示第一数据存储装置不再是逻辑卷330的部分。存储模块311还可从第一数据存储装置320移除所述组文件(例如可删除第一数据存储装置320上复制的所述组文件)。
在另一实施例中,存储模块311可确定来自逻辑卷330的第一数据存储装置320是不可操作的(例如已发生故障、不再操作等)。举例来说,存储模块311可与第一数据存储装置320周期性地通信(例如发送/接收消息、帧、数据等)。在存储模块311不再能够与第一数据存储装置320周期性地通信时,存储模块311可确定第一数据存储装置不可操作。在另一实例中,存储模块311可从第一数据存储装置320接收指示第一数据存储装置320不可操作的数据(例如错误消息)。存储模块311可识别从逻辑卷330中的其它数据存储装置320拷贝到第一数据存储装置320上(例如在第一数据存储装置320上复制)的一组文件。存储模块311可将所述组文件复制(例如拷贝(copy))到其它数据存储装置320上,以跨越逻辑卷330维持所述组文件的最小数目的副本。
在一个实施例中,存储模块311可确定逻辑卷330的第一数据存储装置320将从逻辑卷330暂时移除(例如从连接器集线器306或网络305暂时拔掉或解耦)。举例来说,用户可通过GUI(其可由存储模块311提供和/或呈现)和/或配置文件提供用户输入,以指示第一数据存储装置320将从逻辑卷330暂时移除(例如指示第一数据存储装置320将从逻辑卷330移除并稍后将被重新插入到逻辑卷330中)。存储模块可识别第一数据存储装置320上复制的一组文件(例如一个或更多个文件)并可将所述组文件(其在第一数据存储装置320上复制)拷贝(copy)到逻辑卷330中的一个或更多个其它数据存储装置320,如上文所论述。这可允许存储模块311基于所述组文件的一个或更多个保护等级而跨越逻辑卷330复制所述组文件(例如以维持所述组文件的最小数目的副本),如上文所论述。
在另一实施例中,存储模块311可确定第一数据存储装置320(其从逻辑卷330暂时移除)已重新插入到逻辑卷330中。举例来说,用户可通过GUI(其可由存储模块311提供和/或呈现)和/或配置文件将数据存储装置320重新连接或重新耦合到网络305或连接器集线器306或用户输入,以指示第一数据存储装置320已重新插入到逻辑卷中。存储模块311可移除第一数据存储装置320上复制的所述组文件,这是因为当从逻辑卷330暂时移除了第一数据存储装置320时将所述组文件复制(例如拷贝)到逻辑卷330的其他数据存储装置320上。
在一个实施例中,存储模块311可致使逻辑卷330的数据存储装置320上存储和/或复制的文件被加密。举例来说,存储模块311可包含可对文件进行加密的加密模块(例如软件、硬件、固件或其组合)。在另一实例中,数据存储装置320可包含加密模块,且存储模块311可向加密模块发送指示数据存储装置320上存储和/或复制的文件要被加密的消息、指令、数据等。
在一个实施例中,存储模块311可监测数据存储装置320的健康状态。存储模块311可识别具有低于或小于一组值的健康状态的一个或更多个数据存储装置320。举例来说,存储模块311可识别具有低于某一值的估计寿命的数据存储装置320。在另一实例中,存储模块311可识别错误已在数据存储装置320上发生(例如错误已在在数据存储装置320上读取/写入数据时出现)的数据存储装置320。当一个或更多个驱动器的健康状态低于所述组值时,存储模块311可将一个或更多个数据存储装置320上的文件(例如最初存储在一个或更多个数据存储装置320上的文件和在一个或更多个数据存储装置320上复制的文件)拷贝到逻辑卷中的其它数据存储装置320。
图4是根据实施例的实例文件列表400的简图。虽然图4中说明的文件列表400以表格形式展示,但是应理解,在其它实施例中,可使用各种其它格式来表示文件列表400中说明的数据/信息。文件列表400包含多个行。在一个实施例中,每行可表示逻辑卷的一个或更多个数据存储装置上存储和/或复制的文件。
在一个实施例中,文件列表400包含“文件名”列、“元数据”列、“原始驱动器”列和“副本驱动器”列。文件名列可指示由行表示的文件的路径(其可以是任选的)和名称。举例来说,文件列表400指示由第一行表示的文件具有“(路径1)/文件1”的路径/文件名。元数据列可指示与文件名列中识别的文件相关联的元数据。举例来说,文件列表400指示文件“文件1”可具有时间戳、文件大小、散列(例如使用散列函数/算法产生的散列值)等。应理解,图4中说明的元数据仅仅是实例,且其它元数据(例如文件的拥有者/作者、安全性属性,例如只读等)可包含于元数据列中。
原始驱动器列可指示在文件跨越逻辑卷330复制之前(例如在文件被拷贝到逻辑卷330中的一个或更多个其它数据存储装置上之前)文件最初存储在何处。举例来说,文件列表400指示文件“文件1”最初存储在被标识为“驱动器2”的数据存储装置上。原始驱动列可包含名称、序号、型号和/或可用以标识数据存储装置的其它数据。副本驱动器列可指示已在哪些数据存储装置上复制了文件。举例来说,文件列表400指示文件“文件1”已复制到(例如拷贝到)被标识为“驱动器1”和“驱动器3”的数据存储装置上。在一个实施例中,文件列表400还可包含在逻辑卷中的所有数据存储装置的列表。举例来说,文件列表400可包含名称、序号、型号和/或可用以标识在逻辑卷中的数据存储装置的其它数据。
在一个实施例中,文件列表400可由存储模块创建和/或更新,如上文所论述。举例来说,当数据存储装置被添加到和/或从逻辑卷移除(如上文所论述)时,存储模块可更新文件列表400。存储模块还可在更新了一个或更多个文件的一个或更多个保护等级(如上文所论述)时更新文件表。
图5是说明根据实施例的跨越逻辑卷复制数据的过程500的流程图。过程500可由控制器和/或存储模块执行,如上文结合图1到3所说明并论述。控制器和存储模块可各自是包含硬件(例如电路系统、专用逻辑、可编程逻辑、微码等)、软件(例如在处理器上运行以执行硬件模拟的指令)、固件或其组合的处理逻辑。
过程500在框505处开始,其中过程500创建逻辑卷。举例来说,过程500可接收识别待包含于逻辑卷中的数据存储装置的输入,并可对数据存储装置320进行分组/聚合(例如可使数据存储装置320与逻辑卷330相关联或可在逻辑卷330中包含数据存储装置320),如上文所论述。在框510处,过程500可识别跨越逻辑卷要被复制的一组文件。举例来说,过程500可接收识别待跨越逻辑卷复制的一个或更多个文件的用户输入(通过GUI),如上文所论述。
在框515处,过程500确定所述组文件的保护等级。举例来说,过程500可接收指示所述组文件的一个或更多个保护等级的用户输入,如上文所论述。在框520处,过程500可跨越逻辑卷复制所述组文件。举例来说,过程500可基于一个或更多个保护等级而将所述组文件拷贝到逻辑卷的一个或更多个额外数据存储装置上。在框525处,过程500可监测所述组文件。举例来说,过程500可分析所述组文件的散列和/或所述组文件的时间戳。过程500可确定文件(或多个文件)的一个或更多个副本已被修改。举例来说,过程500可确定文件的副本的散列不同或文件的副本的时间戳不同,如上文所论述。在框535处,过程500可跨越逻辑卷更新文件。举例来说,过程500可将文件的最新副本复制到包含文件的副本的其它数据存储装置上,如上文所论述。
图6是说明根据实施例的用于向逻辑卷添加数据存储装置的过程600的流程图。过程600可由控制器和/或存储模块执行,如上文结合图1到3所说明并论述。控制器和存储模块可各自是包含硬件(例如电路系统、专用逻辑、可编程逻辑、微码等)、软件(例如在处理器上运行以执行硬件模拟的指令)、固件或其组合的处理逻辑。
过程600在框605处开始,其中过程600接收向逻辑卷添加数据存储装置的请求。举例来说,过程600可通过GUI接收用户输入和/或可检测数据存储装置已耦合到连接器集线器或网络,如上文所论述。在框601处,过程600可向逻辑卷添加数据存储装置。举例来说,过程600可更新文件表以指示数据存储装置是逻辑卷的部分,如上文所论述。
图7是说明根据实施例的用于从逻辑卷移除数据存储装置的过程700的流程图。过程700可由控制器和/或存储模块执行,如上文结合图1到3所说明并论述。控制器和存储模块可各自是包含硬件(例如电路系统、专用逻辑、可编程逻辑、微码等)、软件(例如在处理器上运行以执行硬件模拟的指令)、固件或其组合的处理逻辑。
过程700在框705处开始,其中过程700确定数据存储装置不再可操作或过程700接收从逻辑卷移除数据存储装置的请求。举例来说,过程700可从数据存储装置接收一个或更多个错误消息,如上文所论述。在另一实例中,过程700可接收指示用户想要从逻辑卷移除数据存储装置的用户输入。在框710处,过程700可识别在数据存储装置上复制的一组文件,如上文所论述。在框715处,过程700可基于保护等级而将所述组文件拷贝到逻辑卷中的一个或更多个其它数据存储装置(例如以跨越逻辑卷维持所述组文件的最小数目的副本)。举例来说,过程700可基于一个或更多个数据存储装置的健康状态而识别一个或更多个其它数据存储装置,并可将所述组文件拷贝到一个或更多个其它数据存储装置,如上文所论述。在框720处,过程700可从逻辑卷移除数据存储装置。举例来说,过程700可更新文件列表以指示数据存储装置不再是逻辑卷的部分,如上文所论述。
图8是说明根据实施例的用于从逻辑卷暂时移除数据存储装置的过程800的流程图。过程800可由控制器和/或存储模块执行,如上文结合图1到3所说明并论述。控制器和存储模块可各自是包含硬件(例如电路系统、专用逻辑、可编程逻辑、微码等)、软件(例如在处理器上运行以执行硬件模拟的指令)、固件或其组合的处理逻辑。
过程800在框805处开始,其中过程800确定将从逻辑卷暂时移除数据存储装置。举例来说,过程800可接收识别将从逻辑卷暂时移除的数据存储装置的用户输入(通过GUI)。在框810处,过程800可识别在数据存储装置上复制的一组文件,如上文所论述。在框815处,过程800可基于保护等级而将所述组文件复制到逻辑卷中的一个或更多个其它数据存储装置(例如以跨越逻辑卷维持所述组文件的最小数目的副本)。举例来说,过程800可基于一个或更多个数据存储装置的健康状态而识别一个或更多个其它数据存储装置,并可将所述组文件复制到一个或更多个其它数据存储装置,如上文所论述。在框820处,过程800可确定数据存储装置已重新插入到逻辑卷中。举例来说,过程800确定数据存储装置已重连接到连接器集线器或网络,如上文所论述。在框825处,过程800可移除数据存储装置上复制的所述组文件(例如删除所述组文件)。举例来说,过程800可移除所述组文件,这是因为在框815处将所述组文件拷贝到了一个或更多个其它数据存储装置上。
图9是根据实施例的计算装置900的简图。计算装置900可执行指令,所述指令可致使计算装置900执行本文中所论述的可被执行的方法(例如操作、方法、功能等)中的任何一个或更多个。计算装置900可以是移动电话、智能电话、上网本计算机、机架式服务器、路由器计算机、服务器计算机、个人计算机、主机计算机、笔记本电脑、平板电脑、台式计算机等,在以上各项内可执行用于致使机器执行本文中所论述的可被执行的方法中的任何一个或更多个的一组指令。在替代性实施例中,机器可连接(例如联网)到LAN、企业内部网、外联网或因特网中的其它机器。机器可以客户端服务器网络环境中的服务器机器的身份操作。机器可以是个人计算机(PC)、机顶盒(STB)、服务器、网络路由器、交换机或桥接器,或能够执行指定待由机器采取的动作的一组指令(顺序的或以其它方式)的任何机器。另外,虽然仅说明单个机器,但是术语“机器”还应被视为包含任何机器集合,所述机器集合个别地或联合地执行一组(或多组)指令以执行本文中论述的方法中的任何一个或更多个。
实例计算装置900包含处理装置(例如处理器、控制器、中央处理单元(CPU)等)902、主存储器904(例如只读存储器(ROM)、快闪存储器、动态随机存储器(DRAM),例如同步DRAM(SDRAM))、网络存取接口908、直接存取接口909、输出装置910、输入装置912和数据存储装置918,以上各项通过总线930彼此通信。
处理装置902表示一个或更多个通用处理装置,例如微处理器、中央处理单元等等。更具体地说,处理装置902可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实施其它指令集的处理器或实施指令集的组合的处理器们。处理装置902还可以是一个或更多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等等。处理装置902经配置以执行用于执行本文中所论述的操作和步骤的存储模块311。
计算装置900可包含可与网络(例如图1中说明的网络105)通信的网络存取接口908(例如网络接口卡、Wi-Fi接口等)。计算装置还可包含直接存取接口909(例如USB接口、eSATA接口、Thunderbolt接口等)。计算装置900还可包含输出装置910(例如液晶显示器(LCD)或阴极射线管(CRT))和输入装置912(例如鼠标、键盘等)。在一个实施例中,输出装置910与输入装置912可组合成单个组件或装置(例如LCD触摸屏)。
数据存储装置918可包含上面存储有体现本文中所描述的方法或功能中的任何一个或更多个的一个或更多个指令集(例如存储模块311)的计算机可读存储介质928。存储模块311还可在其由计算装置900执行期间完全或至少部分地驻留在主存储器904内和/或处理装置902内。主存储器904和处理装置902也可构成计算机可读介质。可通过网络存取接口908和/或直接存取接口909进一步发射或接收指令。
虽然计算机可读存储介质928在实例实施例中展示为单个介质,但是术语“计算机可读存储介质”应被认为包含存储一个或更多个指令集的单个介质或多个介质(例如集中式或分布式数据库和/或相关联高速缓存和服务器)。术语“计算机可读存储介质”还应被认为包含能够存储、编码或携带供机器执行并致使机器执行本发明的方法中的任何一个或更多个的指令集的任何介质。术语“计算机可读存储介质”因此应被认为包含但不限于固态存储器、光学介质和磁性介质。
额外实施例
本领域的技术人员将了解,在一些实施例中,可实施其它类型的分布式数据存储系统,同时仍处于本公开的范围内。另外,在本文中所论述的过程中采取的实际步骤可不同于图中描述或展示的步骤。取决于实施例,可去除上文所描述的某些步骤,可添加其它步骤。
虽然已描述某些实施例,但这些实施例仅借助于实例呈现且并不意图限制保护范围。实际上,本文中描述的新颖方法和系统可以各种其它形式体现。此外,可以本文中所描述的方法和系统的形式进行各种省略、替代和改变。所附权利要求书和其等效物意图涵盖将落入保护范围和精神内的类形式或修改。举例来说,图中说明的各种组件可实施为处理器、ASIC/FPGA或专用硬件上的软件和/或固件。而且,上文公开的具体实施例的特征和属性可以通过不同方式组合以形成均落入本公开的范围内的额外实施例。虽然本公开提供了某些优选实施例和应用,但是对于本领域普通技术人员显而易见的其它实施例也在本公开的范围内,其包含不提供本文中阐述的所有特征和优点的实施例。因此,本公开的范围旨在仅参考所附权利要求书界定。
词语“实例”或“示例性”在本文中用以意味着充当实例、例子或说明。本文中描述为“实例”或“示例性”的任何方面或设计不必解释为比其它方面或设计优选或有利。而是,词语“实例”或“示例性”的使用意在以具体方式呈现概念。如本公开中所使用,术语“或”意在意味着包含性的“或”而非排它性的“或”。也就是说,除非另外规定,或从上下文清楚可见,否则“X包含A或B”意在任何自然的包含性排列。也就是说,如果X包含A;X包含B;或X包含A和B,那么在任何前述例子下满足“X包含A或B”。另外,如在本公开和所附权利要求书中使用的冠词“一(a)”和“一(an)”应大体解释为意味着“一个或更多个”,除非另外规定或从上下文清楚可见表示单数形式。此外,除非如此描述,都则通篇使用术语“一实施例”或“一个实施例”或“实施方案”或“一个实施方案”并不意味着同一实施例或实施方案。此外,如本文所使用的术语“第一”、“第二”、“第三”、“第四”等意图作为标记来区分开不同元件,且可不一定具有根据其数字名称的序数含义。
上文所描述的所有过程可体现于由一个或更多个通用或专用计算机或处理器执行的软件代码模块中并通过所述软件代码模块全自动。代码模块可存储于任何类型的计算机可读介质或其它计算机存储装置或存储装置集合上。方法中的一些或全部可替代地体现于专用计算机硬件中。
Claims (19)
1.一种用于在独立数据存储装置之间复制文件的设备,其包括:
通信接口,其耦合到一组外部独立数据存储装置;以及
控制器,其耦合到所述通信接口,所述控制器经配置以:
创建包括所述组外部独立数据存储装置的逻辑卷;
识别经存储以跨越所述逻辑卷复制的一组文件;
确定所述组文件的一个或更多保护等级,其中:所述一个或更多保护等级跨越所述逻辑卷被应用;以及所述一个或更多保护等级指示要存储在所述逻辑卷中的期望数量的副本;
基于所述一个或更多保护等级而跨越所述逻辑卷复制所述组文件,使得所述组文件的最少数量的副本在所述逻辑卷上;
响应于确定来自所述组外部独立数据存储装置的第一外部独立数据存储装置将从所述逻辑卷被暂时移除:
从被复制在所述第一外部独立数据存储装置的所述组文件识别第二组文件;以及
将所述第一外部独立数据存储装置上的所述第二组文件复制到所述组外部独立数据存储装置中的其他外部独立数据存储装置,使得针对所述第二组文件的最少数量的副本根据针对所述第二组文件的一个或更多保护等级被保持在所述逻辑卷中;以及
响应于确定所述第一外部独立数据存储装置已经被重新插入所述逻辑卷中:
从所述第一外部独立数据存储装置移除所述第二组文件。
2.根据权利要求1所述的设备,其中所述控制器经进一步配置以:
跨越所述逻辑卷监测所述组文件;
确定已修改来自所述组文件的第一文件的一个或更多个副本;以及
跨越所述逻辑卷更新所述第一文件。
3.根据权利要求2所述的设备,其中所述控制器经配置以确定已通过以下操作修改来自所述组文件的所述第一文件的一个或更多个副本:
比较所述第一文件的所述一个或更多个副本的一个或更多个散列。
4.根据权利要求2所述的设备,其中所述控制器经配置以确定已通过比较以下中的一个或更多个修改来自所述组文件的所述第一文件的一个或更多个副本:
与所述第一文件的所述一个或更多个副本相关联的时间戳,或
与所述第一文件的所述一个或更多个副本相关联的文件大小。
5.根据权利要求1所述的设备,其中跨越所述逻辑卷复制所述组文件包括:
识别来自所述组文件的第一文件,其中所述第一文件位于所述组外部独立数据存储装置的第一外部独立数据存储装置上;
基于一组存储参数识别来自所述组外部独立数据存储装置的一个或更多个额外数据存储装置;以及
基于所述一个或更多保护等级将所述第一文件复制到所述一个或更多个额外数据存储装置。
6.根据权利要求5所述的设备,其中所述控制器经进一步配置以:
更新文件列表以指示所述组文件在所述一个或更多个额外数据存储装置上复制。
7.根据权利要求5所述的设备,其中所述组存储参数包括以下中的一个或更多个:
所述第一文件的类型;
所述第一文件的大小;
所述一个或更多个额外数据存储装置的一个或更多个健康状态;
所述一个或更多个额外数据存储装置的一个或更多个类型;或
已存取所述第一文件的次数。
8.根据权利要求1所述的设备,其中创建所述逻辑卷包括:
聚合所述组外部独立数据存储装置以形成所述逻辑卷。
9.根据权利要求1所述的设备,其中创建所述逻辑卷包括:
分配用于在所述组外部独立数据存储装置中的每个外部独立数据存储装置上复制文件的一定量的空间。
10.根据权利要求1所述的设备,其中基于以下中的一个或更多个识别所述组文件:
所述组文件的文件类型;
所述组文件的文件大小;
已存取所述组文件的次数;或
所述组文件的扩展名。
11.根据权利要求1所述的设备,其中在复制所述组文件之前,所述组文件跨越所述逻辑卷是独特的。
12.根据权利要求1所述的设备,其中所述控制器经进一步配置以:
接收向所述逻辑卷添加额外外部独立数据存储装置的请求;以及
基于所述请求向所述逻辑卷添加所述额外外部独立数据存储装置。
13.根据权利要求1所述的设备,其中所述控制器经进一步配置以:
接收从所述组外部独立数据存储装置移除所述第一外部独立数据存储装置的请求;以及
从所述组外部独立数据存储装置移除所述第一外部独立数据存储装置。
14.根据权利要求1所述的设备,其中所述控制器经进一步配置以:
确定来自所述组外部独立数据存储装置的所述第一外部独立数据存储装置不可操作;以及
从所述组外部独立数据存储装置移除所述第一外部独立数据存储装置。
15.根据权利要求1所述的设备,其中所述控制器经进一步配置以:
致使所述组文件被加密。
16.根据权利要求1所述的设备,其中所述组外部独立数据存储装置包括:
直接存取存储装置或网络存取存储装置中的一个或更多个。
17.一种用于在独立数据存储装置之间复制文件的方法,其包括:
连接到一组外部独立数据存储装置;
创建包括所述组外部独立数据存储装置的逻辑卷;
识别经存储以跨越所述逻辑卷复制的一组文件;
确定所述组文件的一个或更多保护等级,其中所述一个或更多保护等级跨越所述逻辑卷被应用;以及所述一个或更多保护等级指示要存储在所述逻辑卷中的期望数量的副本;
基于所述一个或更多保护等级跨越所述逻辑卷复制所述组文件,使得所述组文件的最少数量的副本在所述逻辑卷上;
响应于确定来自所述组外部独立数据存储装置的第一外部独立数据存储装置将从所述逻辑卷被暂时移除:
从被复制在所述第一外部独立数据存储装置的所述组文件识别第二组文件;以及
将所述第一外部独立数据存储装置上的所述第二组文件复制到所述组外部独立数据存储装置中的其他外部独立数据存储装置,使得针对所述第二组文件的最少数量的副本根据针对所述第二组文件的一个或更多保护等级被保持在所述逻辑卷中;以及
响应于确定所述第一外部独立数据存储装置已经被重新插入所述逻辑卷中:
从所述第一外部独立数据存储装置移除所述第二组文件。
18.根据权利要求17所述的方法,进一步包括:
跨越所述逻辑卷监测所述组文件;
通过比较第一文件的所述一个或更多个副本的一个或更多个散列,确定已修改来自所述组文件的第一文件的一个或更多个副本;以及
跨越所述逻辑卷更新所述第一文件。
19.一种存储有指令的非暂时性计算机可读介质,所述指令在由处理器执行时致使所述处理器执行根据权利要求17-18中的任一个所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/870,943 | 2015-09-30 | ||
US14/870,943 US10459891B2 (en) | 2015-09-30 | 2015-09-30 | Replicating data across data storage devices of a logical volume |
PCT/US2016/054008 WO2017058820A1 (en) | 2015-09-30 | 2016-09-27 | Replicating data across data storage devices of a logical volume |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107710144A CN107710144A (zh) | 2018-02-16 |
CN107710144B true CN107710144B (zh) | 2020-10-09 |
Family
ID=58409601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680036709.4A Active CN107710144B (zh) | 2015-09-30 | 2016-09-27 | 跨越逻辑卷的数据存储装置复制数据 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10459891B2 (zh) |
CN (1) | CN107710144B (zh) |
DE (1) | DE112016004457T5 (zh) |
WO (1) | WO2017058820A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241015B (zh) * | 2018-07-24 | 2021-07-16 | 北京百度网讯科技有限公司 | 用于在分布式存储系统中写入数据的方法 |
US20210311650A1 (en) * | 2020-04-03 | 2021-10-07 | N.F. Smith & Associates, LP | System and Method for Performing and Verifying Data Erasure |
US11755229B2 (en) * | 2020-06-25 | 2023-09-12 | EMC IP Holding Company LLC | Archival task processing in a data storage system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101351760A (zh) * | 2005-12-30 | 2009-01-21 | 科潘系统公司 | 用于在高电源效率的大容量可扩展存储系统中存取辅助数据的方法和系统 |
CN103617096A (zh) * | 2013-11-04 | 2014-03-05 | 华为技术有限公司 | 一种存储数据的复制方法、设备及系统 |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5897661A (en) * | 1997-02-25 | 1999-04-27 | International Business Machines Corporation | Logical volume manager and method having enhanced update capability with dynamic allocation of storage and minimal storage of metadata information |
US7917628B2 (en) | 1999-12-02 | 2011-03-29 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US9191443B2 (en) | 1999-12-02 | 2015-11-17 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US7546353B2 (en) | 1999-12-02 | 2009-06-09 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US7934251B2 (en) | 1999-12-02 | 2011-04-26 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US8793374B2 (en) | 1999-12-02 | 2014-07-29 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US8688797B2 (en) | 1999-12-02 | 2014-04-01 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
ATE396577T1 (de) | 1999-12-02 | 2008-06-15 | Western Digital Tech Inc | System zum fernaufnehmen von fernsehprogrammen |
US7587467B2 (en) | 1999-12-02 | 2009-09-08 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US6499054B1 (en) | 1999-12-02 | 2002-12-24 | Senvid, Inc. | Control and observation of physical devices, equipment and processes by multiple users over computer networks |
US7120692B2 (en) | 1999-12-02 | 2006-10-10 | Senvid, Inc. | Access and control system for network-enabled devices |
US7949564B1 (en) | 2000-05-31 | 2011-05-24 | Western Digital Technologies, Inc. | System and method of receiving advertisement content from advertisers and distributing the advertising content to a network of personal computers |
US7483958B1 (en) | 2001-03-26 | 2009-01-27 | Microsoft Corporation | Methods and apparatuses for sharing media content, libraries and playlists |
US7685126B2 (en) | 2001-08-03 | 2010-03-23 | Isilon Systems, Inc. | System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system |
US7024427B2 (en) | 2001-12-19 | 2006-04-04 | Emc Corporation | Virtual file system |
MXPA05003735A (es) * | 2002-10-07 | 2005-11-17 | Commvault Systems Inc | Sistema y metodo para manejar datos almacenados. |
US7454443B2 (en) | 2003-08-26 | 2008-11-18 | Tamir Ram | Method, system, and program for personal data management using content-based replication |
US7844775B2 (en) | 2005-09-23 | 2010-11-30 | Avid Technology, Inc. | Distribution of data in a distributed shared storage system |
KR101490327B1 (ko) * | 2006-12-06 | 2015-02-05 | 퓨전-아이오, 인크. | 뱅크 인터리브를 이용한 솔리드-스테이트 스토리지의 명령 관리 장치, 시스템 및 방법 |
US8706777B2 (en) | 2006-12-18 | 2014-04-22 | Microsoft Corporation | Media content catalogs |
US8004791B2 (en) | 2008-02-22 | 2011-08-23 | Western Digital Technologies, Inc. | Information storage device with a bridge controller and a plurality of electrically coupled conductive shields |
US20100070466A1 (en) * | 2008-09-15 | 2010-03-18 | Anand Prahlad | Data transfer techniques within data storage devices, such as network attached storage performing data migration |
US8255661B2 (en) | 2009-11-13 | 2012-08-28 | Western Digital Technologies, Inc. | Data storage system comprising a mapping bridge for aligning host block size with physical block size of a data storage device |
US8285965B2 (en) | 2009-11-20 | 2012-10-09 | Western Digital Technologies, Inc. | Aligning data storage device partition to boundary of physical data sector |
US8526798B2 (en) | 2009-12-23 | 2013-09-03 | Western Digital Technologies, Inc. | Portable content container displaying A/V files in response to a command received from a consumer device |
US8631284B2 (en) | 2010-04-30 | 2014-01-14 | Western Digital Technologies, Inc. | Method for providing asynchronous event notification in systems |
US8762682B1 (en) | 2010-07-02 | 2014-06-24 | Western Digital Technologies, Inc. | Data storage apparatus providing host full duplex operations using half duplex storage devices |
US10019741B2 (en) | 2010-08-09 | 2018-07-10 | Western Digital Technologies, Inc. | Methods and systems for a personal multimedia content archive |
US8713265B1 (en) | 2010-09-21 | 2014-04-29 | Western Digital Technologies, Inc. | Visual indicator of online backup |
US8700571B2 (en) | 2010-09-24 | 2014-04-15 | Hitachi Data Systems Corporation | System and method for optimizing protection levels when replicating data in an object storage system |
US9442806B1 (en) * | 2010-11-30 | 2016-09-13 | Veritas Technologies Llc | Block-level deduplication |
US8732518B2 (en) * | 2011-04-13 | 2014-05-20 | Netapp, Inc. | Reliability based data allocation and recovery in a storage system |
US8484356B1 (en) | 2011-06-08 | 2013-07-09 | Emc Corporation | System and method for allocating a storage unit for backup in a storage system with load balancing |
US8868666B1 (en) | 2012-01-26 | 2014-10-21 | Western Digital Technologies, Inc. | Methods, devices and systems for content discovery, aggregation and presentment over a network |
US8780004B1 (en) | 2012-01-31 | 2014-07-15 | Western Digital Technologies, Inc. | Dual configuration enclosure with optional shielding |
US8819443B2 (en) | 2012-02-14 | 2014-08-26 | Western Digital Technologies, Inc. | Methods and devices for authentication and data encryption |
US8646054B1 (en) | 2012-03-23 | 2014-02-04 | Western Digital Technologies, Inc. | Mechanism to manage access to user data area with bridged direct-attached storage devices |
US8831217B2 (en) | 2012-04-10 | 2014-09-09 | Western Digital Technologies, Inc. | Digital rights management system and methods for accessing content from an intelligent storage |
US8914634B2 (en) | 2012-04-10 | 2014-12-16 | Western Digital Technologies, Inc. | Digital rights management system transfer of content and distribution |
US9626373B2 (en) | 2012-10-01 | 2017-04-18 | Western Digital Technologies, Inc. | Optimizing data block size for deduplication |
US20140108615A1 (en) | 2012-10-16 | 2014-04-17 | Norifumi Takaya | Method and apparatus for managing a catalog of media content |
US9280482B2 (en) | 2012-12-13 | 2016-03-08 | Western Digital Technologies, Inc. | Methods and systems for provisioning a bootable image on to an external drive |
US20140169921A1 (en) | 2012-12-19 | 2014-06-19 | Mark Carey | Cargo carrier |
US9020151B1 (en) | 2013-03-04 | 2015-04-28 | Trend Micro Incorporated | Secure real-time data replication with disk encryption and key management system |
US8984190B2 (en) * | 2013-05-23 | 2015-03-17 | Western Digital Technologies, Inc. | Methods and devices for booting a network attached storage with two logical units |
US9122712B1 (en) * | 2013-06-28 | 2015-09-01 | Emc Corporation | Compressing container files |
US9569455B1 (en) * | 2013-06-28 | 2017-02-14 | EMC IP Holding Company LLC | Deduplicating container files |
US20160004721A1 (en) * | 2014-07-01 | 2016-01-07 | Commvault Systems, Inc. | Replicating local file systems as respective luns in a storage array, using block-level data transfers and enhanced storage managers, data agents, and media agents in an information management system |
US20160026672A1 (en) * | 2014-07-23 | 2016-01-28 | Netapp. Inc. | Data and metadata consistency in object storage systems |
US9529950B1 (en) * | 2015-03-18 | 2016-12-27 | Altera Corporation | Systems and methods for performing profile-based circuit optimization using high-level system modeling |
-
2015
- 2015-09-30 US US14/870,943 patent/US10459891B2/en active Active
-
2016
- 2016-09-27 CN CN201680036709.4A patent/CN107710144B/zh active Active
- 2016-09-27 DE DE112016004457.7T patent/DE112016004457T5/de active Pending
- 2016-09-27 WO PCT/US2016/054008 patent/WO2017058820A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101351760A (zh) * | 2005-12-30 | 2009-01-21 | 科潘系统公司 | 用于在高电源效率的大容量可扩展存储系统中存取辅助数据的方法和系统 |
CN103617096A (zh) * | 2013-11-04 | 2014-03-05 | 华为技术有限公司 | 一种存储数据的复制方法、设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
DE112016004457T5 (de) | 2018-06-28 |
WO2017058820A1 (en) | 2017-04-06 |
US10459891B2 (en) | 2019-10-29 |
US20170091222A1 (en) | 2017-03-30 |
CN107710144A (zh) | 2018-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11687423B2 (en) | Prioritizing highly performant storage systems for servicing a synchronously replicated dataset | |
US12008404B2 (en) | Executing a big data analytics pipeline using shared storage resources | |
US20210397359A1 (en) | Storing Data For Machine Learning And Artificial Intelligence Applications In A Decentralized Storage Network | |
US11636031B2 (en) | Optimized inline deduplication | |
US20230013314A1 (en) | Unlocking Data Stored In A Group Of Storage Systems | |
US11966841B2 (en) | Search acceleration for artificial intelligence | |
US11146564B1 (en) | Login authentication in a cloud storage platform | |
US20220217049A1 (en) | Path Management For Container Clusters That Access Persistent Storage | |
US11662909B2 (en) | Metadata management in a storage system | |
US10521151B1 (en) | Determining effective space utilization in a storage system | |
US10067685B2 (en) | Identifying disk drives and processing data access requests | |
US11144638B1 (en) | Method for storage system detection and alerting on potential malicious action | |
US11947968B2 (en) | Efficient use of zone in a storage device | |
US20220405200A1 (en) | Compressed data management in zones | |
US20230074930A1 (en) | Tuning storage devices | |
CN107710144B (zh) | 跨越逻辑卷的数据存储装置复制数据 | |
US20150286412A1 (en) | Distributed remote data storage access | |
US10097636B1 (en) | Data storage device docking station |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |