专利名称:数据备份设备和备份数据的方法
技术领域:
本发明一般地涉及数字数据管理领域,更具体地涉及一种用于数据备 份应用的系统。
背景技术:
由各种文件类型的数字数据文件所表示的数字内容迅速取代其它形 式的内容。例如,文档、展示、照片、电影和音乐日渐增加地产生并被数 字地存储。许多个人和机构遇到的问题是通常存储在计算M盘驱动器上 的数字内容会被糟糕的组织并需要存档以防止意外丢失。例如,个人计算 机(PC)上的数字照片文件可能会在许多文件夹中发现一从数码相机传来 的照片存储在一组文件夹中,作为电子邮件附件接收到的照片存储在其它 文件夹中,而从网站下载的照片存储在另外的文件夹中。
将数字内容存档的 一个方式是周期性地将计算机上所有的数据文件 进行备份,并保留现有的组织结构。尽管这个技术对保护数据内容防止意 外丟失有效,但是这个技术有多个缺点。举例来说,所产生的拷贝组织得 并不比原来的好,所以错放或混乱的内容仍保持错放或混乱。此外, 所有数据文件需要大量的存储容量以拷贝已另外保留在其它地方的许多
文件。例如,最初从光盘(CD)加载到计算机上的特定应用文件已经存档 在CD上,因此不需要进行^H分。
全部备除所需的存储容量可以利用诸如硬盘驱动器(HDD)等的可写 数据存储介质来获得,然而,这需要在首次连接到系统时进^i更备装配和 软件安装。为了完成这些步骤,用户可能要提供该用户可能不容易知道的 关于现有系统的信息。而且,用户可能要作出关于i殳备和软件配置的决定。 安装和装配所涉及的步骤的数目以及一些步骤的复杂性阻止许多用户费 心在W应用程序上。具有足够容量来执行4^备份的可写数据存储介质 的费用也使得用户不执行完整的M。此外,因为在整个R期间占用的 系统的时间长,购买和安装了需要的存储容量的一些用户也不经常执行备 份。
可替选地,用户可以手动地从目录中选择一组文件,并将所选择的文 件拷贝到存^i殳备中。尽管该替选方案允许对不需要安装和装配步骤的较 小的存^i殳备的使用,但是手动选择文件是费时的。而且,手动选择文件 会有意外遗漏一些文件的可能。
因此,所需要的是能够以经济且方便的方式选择性地M数据内容。
发明内容
示例性的数据备除系统包括通信接口、第一存^i史备和仿真组件。第 一存储设备包括可写数据存储介质,所述可写数据存储介质包括第一和第 二逻辑存储区域,并且在一些实施例中,第一逻辑存储区域存储数据0 应用程序。仿真组件在第一存储设备和通信接口之间进行通信。仿真组件 包括配置成将第一逻辑存储区域表示为自动加栽设备的逻辑装置,和配置 成将第二逻辑存储区域表示为包括可写数据存储介质的第二存储设备的 附加逻辑装置。应该认识到可以通过软件、硬件、固件或其组合来实现仿 真组件的逻辑装置。
在一些实施例中,示例性的数据备份系统的仿真组件还可以包括逻辑 装置,该逻辑装置配置成接收来自通信接口的自动加载设备命令,将自动 加载设备命令翻译成第一存储设备命令,以及将第一存储设备命令发送到 第一逻辑存储区域;以及附加逻辑装置,所述附加逻辑装置配置成接收来 自第一逻辑存储区域的第一存Mi史备响应,将第一存设备响应翻译成自 动加载设备响应,以及将自动加载设备响应发送到通信接口。仿真组件还
可以包括配置成接收来自通信接口的第二存储设^令和将第二存储设
M令发送到第二逻辑存储区域的逻辑装置;以及配置成接收来自第二逻 辑存储区域的第二存储设备响应并将第二存储设备响应发送到通信接口 的逻辑装置。
在一些实施例中,第一存储设备包括HDD,并且在这些实施例中的一 些中,第一和第二逻辑存储区域包括HDD的第一和第二分区。在其它实施 例中,第一存储设备包括固态存储器或光设备。适合的固态存储器包括可 以写入至少一次的任意固态存储器,所述固态存储器包括安全数字(SD) 存储卡、致密闪存(CF)卡或存傣唪。适合的光设备包括CD驱动器和数 据视频光盘(DVD)驱动器。用于这些驱动器的示例性的可写数据存储的 介质分别包括可记录光盘(CD-R)和可重写光盘(CD-RW)介质,以及可 记录数字视频光盘(DVD-R和DVD+R)和可重写数字视频光盘(DVD-RW和 DVD+RW) ^h质。
用于对存储在数据源上的lt据进行备除的示例性的方法包括对来自 数据源的询问返回响应。响应将第一设备类型的第一存^i殳备改为识别成 第二i殳备类型。在此,第二设备类型属于当连接到数据源时触发数据源的 操作系统以自动执行在第一存储设备上存储的*应用程序的一类设备 类型。该示例性的方法还包括将*应用程序提供到数据源以选择性地拷 贝存储在数据源上的数据。提供^#应用程序包括接收来自数据源的自动 加栽设W令,将自动加载设^^令翻译成第一存储设^^令,并且将第 一存储设W令发送到存储设备。提供*应用程序还包括接收来自第一 存^i殳备的第一存^i殳备响应,将第一存^i殳备响应翻译成自动加载设备 响应,并且将自动加载设备响应发送到数据源。
在一些实施例中,用于对存储在数据源上的数据进行^#的方法还包 括将数据文件选择性地拷贝到第二存储设备,并且在一些实施例中,第一 存储设备包括第二存^i史备。在其它实施例中,选择性地拷贝数据文件包 括将所拷贝的文件发送到基于网络的存^i殳备。选择性地拷贝数据文件包 括对与满足预定标准的数据文件的数据源相关联的一个或多个存储设备 进行搜索,例如预定标准是数据文件先前未拷贝到数据备份系统或者是数 据文件具有与内容类型相关联的文件类型。选择性地拷贝数据文件还包括 在第二存储设备上创建目录结构以指示所拷贝的文件在所述数据源上的 位置。选择性地拷贝数据文件还可以包括确定数据源先前是否已与数据备 份系统配对。在一些实施例中,选择性地拷贝数据文件可以通过用户命令
或通过将可移动存^f^殳备连接到数据^^系统的通信端口来启动。
图1是根据本发明的示例性的实施例的数据*系统的示意性表示; 图2是根据本发明的另一示例性的实施例的数据备除系统的示意性
表示5
图3是根据本发明的示例性实施例的用于对数据源上的数据文件进 行M的方法的流艰图4是根据本发明的示例性实施例的过程的流程图,通过该过程,数 据源将数据^H分系统识别为两个附连的设备。
具体实施例方式
为个人以及商业应用提供了一种数据^^系统。本发明的数据R系 统允许根据诸如文件类型的一些标准将文件从例如个人计算机的数据源 选择性地拷贝到存储设备。例如,系统可以配置成对具有诸如.mp3和.wav 的公认音乐文件扩展名的音频文件进行备份或对具有诸如.jpg、 .pct 和.tif的公认图像文件扩;ILg的图像文件进行M。根据一些实施例,
用程序。备份应用程序可以配置成很少要求或不要求用户输入来执行# 过程。
数据备除系统可以采取多种不同的形式。 一个例子是包括#应用程 序和对于所拷贝的文件具有足够存储量的装置。另一个例子是包括^#应 用程序和接口 ,该接口连接到诸如外部HDD或快闪设备的以存储设备形式 的具有足够存储容量的存储装置。在这两个例子中,系统包括仿真组件。 仿真组件使得数据备份系统包含备份应用程序的部分看起来像是具有特 定i殳备类型的数据源。更具体地,数据*系统的^^应用程序部分表示 为在此被称为"自动加载设备,,的一类存储设备中的一个。对自动加栽设 备进行仿真允许数据备盼系统利用某些操作系统的自动执行能力,使得当 设备连接到运行操作系统的数据源时将自动执行*应用程序。
图1提供通过连接120连接到数据源110的数据*系统100的示例 性实施例的示意性表示。数据源110例如可以是其上存有数据的个人计算
机(PC)、 Macintosh计算机(Mac)或个人数字助理(PDA)。数据源110 还可以包括服务器、机顶盒、电视、蜂窝电话、智能电话、静态数码相机 或摄像机、扫描仪、数字音乐播放器或视频播放器、游戏控制台或个人录 像机(PVR )。优选地,数据源100包括诸如Windows XP的操作系统(OS ), 所述操作系统包括在本文其它部分详细讨论的应用程序自动加载功能。其 它合适的操作系统例如包括MacOS、 PalmOS、 Linux和Unix。在备份系统 100和数据源110之间的连接120实际上可以是诸如光缆或电缆、无线链 接或网络连接的任何数字传送结构。在图1中用虚线示出连接120,以表 示连接120只是暂时需要。
如图1所示,a系统100包括通信接口 130、仿真组件140和存储 设备150,所述存^i史备150包括第一逻辑存储区域160和第二逻辑存储 区域170。通信接口 130允许数据源110根据通信协议与^H分系统100的 仿真组件140进行通信。通信接口 130例如可以是USB、 FireWire或诸如 红外、蓝牙或WiFi的无线接口。
可以认识到^系统100可以包括相同或不同类型的多个通信接口 130以适应多个和/或不同的数据源110。根据通信接口 130的类型,通信 接口 130可以包括通信端口 ,通过所述通信端口进行到数据源110的连接 120。例如,USB通信接口 130可以包括USB通信端口,且FireWire通信 接口 130可以包括FireWire通信端口。可替选地,通信接口 130可以包 括无线天线或用于发送和接收红外信号的红外发射器/接收器单元。
存储设备150包括可写lt据存储^h质,并且例如可以是已经分成至少 两个逻辑存储区域的HDD。在这个例子中,每个逻辑存储区域是HDD的分 区。存^i殳备150的适合的HDD包括具有20至60千兆字节(GB)或更大 容量的1. 0英寸、1. 8英寸、2. 5英寸和3. 5英寸^驱动器。包括可重 写介质的其它适合的存^i殳备150是诸如SD存储卡和CF存储卡的固态存 ^i殳备。存储设备150还可以是诸如CD驱动器或DVD驱动器的光设备, 其中在这种光存储设备150内的可写数据存储介质可以是诸如CD-R、 DVD-R或DVD+R的一次写入介质,或诸如CD-RW、 DVD-RW或DVD+RW的可 重写介质。
还可以通过两个不同的设备来实现存^^i殳备150, 一个^L备专用于两 个逻辑存储区域160、 170中的一个。例如,第一逻辑存储区域160可以 通过具有任意CD介质的CD驱动器来实现,而第二逻辑存储区域170通过 HDD来实现。在另一例子中,第一逻辑存储区域16Q可以通过固态存储器
来实现,而第二逻辑存储区域170通过具有可写数据存储介质的光设备来 实现。在这个例子中,两个不同设备可被包括在公用外壳内。应该理解在 此所提供的设备类型、形成因素和容量仅是示例性的而并非进行限制。
在一些实施例中,备份系统100还包括存^i殳备接口 190,所述存储 设备接口 190允许第一和第二逻辑存储区域160和170与仿真组件140 进行通信。在这些实施例中,存储设备接口 190是适合存^i殳备150的类 型的类型。例如,集成驱动电子设备(IDE)接口 190可以与IDE HDD存 ^^i殳备150—起使用,且小型计算机系统接口 (SCSI)型的接口 190可以 与SCSI HDD存>|^殳备150 —起使用。可替选地,当存^i殳备150是SD 存储卡时,存储设备接口 190可以是SD存储卡主机接口。接口 190还可 以是诸如红外、WiFi和蓝牙的无线接口。存储设备接口 190可以通过集 成电路(IC)芯片或通过分立组件的使用而实现在^#系统100中。在一 些实施例中,存储设备接口 190被集成到存储设备150中。应该认识到在 上述使用多个存^i殳备15 0的实施例中,备除系统10 0可适当地包括多个 存舰核口 190。
第 一逻辑存储区域16 0表示存储设备15 0的用户不可访问并且安全地 免受意外擦除的逻辑区域。第一逻辑存储区域160可以包括例如^#应用 程序、系统文件、驱动程序和其它安装和配置软件。通过仿真组件140 将第一逻辑存储区域160向数据源100表示为自动加载设备。如在此所使 用的,自动加载设备A^发诸如微软Windows操作系统的自动运行功能的 特定操作系统的自动执行功能的那些设备。触发Windows的自动运行的设 备类型的例子包括其中含有CD或DVD介质的CD和DVD驱动器。在这些例 子中,在CD/DVD枕改置在已经连接到lt据源110的CD/DVD驱动器中时或 在已经包括CD/DVD介质的CD/DVD驱动器连接到数据源110时,Windows 自动运行功能被触发。
第二逻辑存储区域17 0表示存储设备15 0的专用于存储^^数据的逻 辑区域。相应地,仿真组件140将第二逻辑存储区域170向数据源表示为 包括可写数据存储介质的设备类型。例如,第二逻辑存储区域170可以表 示HDD、 CF或SD存储卡。在一些实施例中,第二逻辑存储区域170可以 表示与存^i史备150相同的设备类型。在其它实施例中,第二逻辑存储区 域170可以M示成与存储设备150不同的设备类型。
仿真组件140向##系统100提供具体的功能,并且仿真组件140 可以通过诸如软件、固件、硬件或其任何组合的逻辑装置来实现。应该理
解在实施例中,仿真组件的不同功能可以用不同形式的逻辑装置来实现。
因而,例如,当仿真组件140的一个功能例如通过固件来实现时,另一功 能可以通过软件来实现。
在一个实施例中,仿真组件140包括IC。例如,仿真组件140可以 使用并入到USB控制器芯片组的软件、固件、硬件或它们的一些组合来实 现。在一些USB专用的实施例中,仿真组件140实现多个分层的工业标准 中的一些或所有。这种标准的例子包括USB规范-修正版2. 0、 USB大容量 存储类-仅批量传送-修正版1.0、 SCSI主#4^3 (SPC-3)、 SCSI块命 令-2 (SBC-2)、多媒体命令-4 (MMC-4)和AT附件与分组接口 -6 (ATA/ATAPI-6)。应该注意到在一些实施例中,仿真组件140可以仅支 持这些工业标准命令的子集。
由仿真組件14 0所提供的功能可以包括将第 一逻辑存储区域16 0表示 为自动加载设备以及将第二逻辑存储区域170表示为包括可写数据存储 介质的设备。因此,数据源IIO在连接到备除系统100时将数据#系统 100识别为两个附连的i殳备。然而,应该注意到,在一些实施例中,这两 个设备的内容对数据源的用户是不可访问的,但可以通过用合适的应用编 程接口 (API)调用而配置的M应用程序来访问。这用以保护第一和第 二逻辑存储区域这两者的内容免受意外修改或擦除。在一些实施例中,为 了访问来自第二逻辑存储区域170的#数据,数据^#系统100将数据 恢复到数据源或将数据拷贝到另一设备。在其它实施例中,表示第二逻辑 区域170的虚拟设^^对用户是可访问的,而表示第一逻辑区域160的虚拟 设备是不可访问的。在这些实施例中,允许用户直接访问第二逻辑存储区 域170的内容,而不允许直接访问第一逻辑存储区域160的内容。
仿真组件140可以提供的另一功能是在多种格式的命令和响应之间 进行翻译,如在HDD和CD驱动器的命令集之间。这样,当数据源110将 对自动加载设备(如第一逻辑存储区域160所表示的)寻址的命令发送到 备份系统100时,仿真组件140在将命令发送到第一逻辑存储区域160 之前将命令从自动加载设备格式翻译成存储设备150的合适的格式。类似 地,以存^i殳备150的格式的来自第一逻辑存储区域160的响应被翻译成 自动加载i殳^^格式,并JUL送到lt据源110,因而该响应呈现为来自自动 加载设备。
应该注意到在CD驱动器和HDD的格式之间的翻^^是一个例子,并 且在一些实施例中,仿真组件140可以实现一个或多个类似的格式翻译。
如在此所使用的,"存^i殳^令"是指以特定存^i殳备的适当的格式的 命令,并且"存储设备响应"是指以相同格式的响应。作为具体的例子,
"自动加栽设M令"是指以特定自动加载设备的适当的格式的命令,且
"自动加载设备响应"是指以相同格式的响应。
由仿真组件140所提供的又一功能是在数据源IIO和第二逻辑存储区 域170之间传送命令和响应。当由仿真组件140所接收的命令已经是存储 设备150的合适的格式时,仿真组件140不必翻#令或响应。在此,仿
命令,并且将命令传送到第二逻辑存储区域170。以类似地方式,在没有 翻译的情况下将响应中继返回到数据源110。应该认识到仿真组件140可 以配置成将第二逻辑存储区域17 0表示为与存^fti殳备15 0的设备类型不同 的设备类型。在一些实施例中,仿真组件140配置成在第二逻辑存储区域 170表示的设备类型和存储设备150的格式之间进行翻译。
图2提供数据备份系统200的另一示例性实施例的示意性表示,所述 数据M系统200与数据*系统100 —样,也通过连接120连接到数据 源IIO。与数据备除系统100—样,##系统200也包括通信接口 130和 仿真组件140。在这个实施例中,^#系统200也包括存>(^殳备210,所 述存^i殳备210包括可写数据存储介质和合适的存储设备接口 220。因为 存^(ti殳备210的可写数据存储介质只需要包括足够的存储容量iM^储备 份应用程序等,所以备除系统200可以具有诸如口袋大小的或道尔芯片 (dongle)的相当小的形状因数,或者可以^在诸如接头处或支架的一 些其它设备配置中。
*系统200还可以包括可移动存储设^^接口 230以允许包括可写数 据存储介质的可移动存储设备240通过通信端口 250外部附连到数据* 系统200。可移动存储i殳^^接口 2 30在仿真组件14 0和可移动存储i殳备240 之间提供通信。在一些实施例中,可移动存储设备接口 230配置成支持具 有诸如闪存设备或HDD的集成介质的可移动设备。在其它实施例中,可移 动设备可以是诸如CD驱动器的一种接受可移动^^质的i殳备。
应该认识到,因为所拷贝的文件并非必须要存储到与数据备份系统 200相关联的存储设备,所以可移动存储设备接口 230是可选的。可替选 地,*应用程序可以将要存储的拷贝文件导引至数据源的已有的内部驱 动器或外部驱动器或导引至网络驱动器。在另一选项中,#应用程序可 以在因特网(Internet)连接上发送所拷贝的文件以存储在基于网络的存舰备。
应该注意到例如虽然一些实施例不包括显示器以降低成本和增加备
份系统IOO、 200的耐用性,但是*系统100、 200可以包括显示器或诸 如发光二极管(LED)的其它可视指示器,以示出文件在被拷贝。^H分系 统IOO、 200可以用电池、外部电源(例如,AC电源引出口 )或者用翁:据 源110所提供的电源。在一些实施例中,连接120是作为^分系统100、 200的一部分的线缆。*系统100、 200还可以配置为设计成接受可移 动设备240或数据源IIO的支架,其中数据源IIO是诸如数码相机的消费 电子设备。
图3是用于对来自数据源的数据文件进行R的示例性方法300的流 程图。方法300包括提供包括存储^#应用程序的存#"&备的数据* 系统(310),将数据备份系统连接到数据源以自动加栽备份应用程序 (320 ),以及选择性地从数据源拷贝数据文件(330 )。
提供数据R系统(310)例如可以包括提供数据^#系统100或数 据R系统200。在提供数据W系统200的那些实施例中,提供数据备 份系统200 (310 )例如可以包括将可移动存^i殳备240连接到通信端口 250。在可移动存储设备240是例如SD或CF存储卡的情况下,将可移动 存储设备24Q连接到通信端口 250可以包括将存储卡插入到通信端口 250。可替选地,在可移动存储设备240是HDD的情况下,将可移动存储 设备24 0连接到通信端口 25 0可以包括使用诸如线缆或无线链接的连接将 通信端口 250耦合到可移动存储设备240。
参考数据备份系统IOO、 200,将数据备份系统IOO、 200连接到数据 源110 ( 320 )可以包括使用连接120将通信接口 130耦合到数据源110。 将数据*系统连接到数据源(320)还包括数据源将数据*系统识别 为两个新i殳备。例如, 一些操作系统周期性地询问用于新附连的硬件的未 使用的端口。下面参考图4来说明数据源110将数据*系统100、 200 识别为两个附连的i殳备的示例性的过程。
将数据*系统连接到数据源(320)会自动地加载#应用程序。 包括诸如Windows操作系统的自动运行能力的自动执行功能的操作系统 可以执行处于自动加载设备上的应用程序。在此,It据源的^Mt系统的自 动执行功能将^#应用程序识别为要加载的应用程序,并且自动加载* 应用程序以在lt据源上运行。
如上面关于仿真组件140的功能的讨论,由于通信在数据源和数据备 份系统之间传送,所以将数据源和数据备份系统连接到数据源(320)还包括在多 种设备格式的命令和响应之间进行翻译。因而,例如,发送到备份系统 100的CD读取命令在被发送到第一逻辑存储区域160之前被翻译成HDD 读取命令。
选择性地从数据源拷贝数据文件(330 )可以包括在数据源上运行备 份应用程序,其中备份应用程序配置成对与数据源相关联的一个或多个存储设备进行搜索。在一些实施例中,备份应用程序可以搜索内部存储设备、 外部存储设备和数据源可以访问的网络驱动器的目录。苯酚应用程序选择 性地将文件拷贝到包括诸如第二逻辑存储区域170或可移动存储设备240 的可写数据存储介质的存储设备。
备份应用程序选择满足诸如文件类型(例如.jpg )或内容类型(例如, 音频文件)的特定预定标准的文件,并且在一些实施例中只拷贝以前未拷 贝的文件。内容类型的其它例子包括电子邮件、商业应用数据(例如, Accpac和简单会计文件)、数字视频文件、电子书文件、联系人文件、日 历文件、文本文件、任务文件、设置文件、书签文件和密码文件。选择性 地拷贝数据文件(330)还可以包括通过对电子邮件附件和对诸如.zip文 件内的压缩文件的嵌入在其它文件内的文件进行搜索来搜索满足预定标 准的文件。
在一些实施例中,备份应用程序可以在数据备除系统的可写数据存储 介质上创建文件路径或目录结构以指示所拷贝的文件在数据源的位置。在 其它实施例中,备份应用程序基于按年代顺序、字母顺序、文件尺寸或一 些其它标准来创建新的目录结构。另一可替选方式是备份应用程序创建包 括所有#的文件的完整文件。又一可替选方式是备份应用程序在可写数 据存储介质上将M的文件存储在公共目录中(即平面结构)并创建存储 文件位置信息的索引(例如XML索引)。在这些实施例中,当恢复#的 文件时,使用索引以在数据源上重新创建目录结构。
应该认识到根据方法300,可以减少用户参与,以便简单地建立数据 备份系统和数据源之间的物理连接。尽管可以将用户参与减少到一个或多 个简单的操作,但是应该认识到可以通过由M应用程序所提供的图形用 户界面(GUI)在数据源的显示设备上将选项提供给用户。这样,如果用 户需要,就可以通过指定诸如内容类型或要拷贝的文件类型的搜索标准来 定制备份过程。另外,用户可以通过驱动器、目录、文件夹、文件类型、
文件大小或日期/时间戳来限制W过程的范围,或者用户可以取消选择 内容的类型或特定的文件、驱动器、目录或诸如临时文件夹或因特网资源
管理器(Internet Explorer)目录的文件夹。
正如所述的,从数据源选择性地拷贝数据文件(330)可以包括在数 据源上运行M应用程序。除了^^应用程序的上述功能以外,^#应用 程序还可以配置成执行下面的功能以作为选择性地拷贝数据文件(330 ) 的一部分。例如,只J^盼系统保持连接到数据源110, ^#应用程序可 以等待预定的时间长度,然后重复W过程。^^应用程序还可以以预定 的间隔来执行自诊断例程。^^应用程序还可以配置成在执行自动备份之 前等待预定的时间段以便为用户提供定制4H^过程的机会。另夕卜,名H^应 用程序可以配置成只在收到用户命令时选择性地拷贝数据文件(330 )而 不是自动地选择性地拷贝数据文件(330 )。通过数据源上的GUI可以输入 用户命令,或者可以通过数据0系统上的掩纽或开关来提供用户命令。 可替选地,*应用程序可以配置成只要可移动存储设备240连接到通信 端口 250就选择性地拷贝数据文件(330 )。
在一些实施例中,拷贝数据文件(330 )包括确定数据源先前是否已 与数据转系统配对(例如,数据源先前使用数据转系统进行转)。例 如,这可以包括搜索先前留在数据源上的标记,或者将在数据备除系统上 保存的标记与诸如巻标的数据源的标识符进行比较。标记允许##应用程 序识别数据源。在一些实施例中,*应用程序基于数据源先前是否与数 据*系统配对来确定动作的过程,且如果已配对,则确定数据*系统 是否已存储与数据源相关联的数据。例如,动作的过程可以是数据源的自 动全部^#或增加的#、将#的数据恢复到数据源,或询问用户在这 些方式或其它可替选方式之间进行选择。
图4是示例性的方法400的流程图,通过所述方法400, 一旦数据备 份系统被检测到,则由数据源识别为两个附连的设备。虽然参考USB协议 来说明这个示例性的方法400,但是应该理解诸如FireWire的其它协议 也可以进行类似的处理。方法400包括数据源对数据*系统进行枚举
(410 ), 1^数据*系统的仿真组件通过初始化来表示两个逻辑单元号
(420)。
执行对数据M系统的枚举(410)以识别新附连的硬件、在该情况 下的数据##系统以及如何配置硬件进行通信。枚举(410)包括数据源 分配唯一的设备号和向数据备份系统询问设备描述符。仿真组件通过将i殳
备描述符提供给数据源来进行响应。枚举(410)还包括数据源设置数据 备份系统的地址。当地址已被设置时,数据备除系统获得分配给该地址的 通信帧。枚举(410)还可以包括数据源向数据^H^系统具体为向仿真组 件请求和从数据备盼系统具体为从仿真组件接收详细的设备信息,诸如 类、子类和协议。
枚举(410 )还包括数据源启动合适的USB大容量存储类驱动器,所 述USB大容量存储类驱动器以"得到最大逻辑单元数"(GET MAX LOGICAL UNIT NUMBER)命令来向数据^系统请求LUN的数目。枚举(410)还包 括数据*系统更具体地是仿真组件通过将两个LUN传送到数据源来响 应"得到最大逻辑单元数"命令。
通过初始化表示两个LUN ( 420)包括仿真组件从数据源接收指向每 个LUN的多个SCSI命令。仿真组件独立地处理每个LUN。仿真组件响应 其识别的那些SCSI命令,并且产生标准餘溪状况来响应未识别的SCSI 命令。每个SCSI命令和所产生的任何错误通常在下一个SCSI命令发^4r 个LUN前被处理。应该理解,发送到表示包括可写数据存储介质的存储^L 备的LUN的SCSI命令的序列可以与发送到表示自动加载设备的LUN的 SCSI命令的序列不同。另外,SCSI命令或者SCSI命令的序列可以通过数 据源被多次重复,并且指向两个LUN的SCSI命令的序列可以交错。
对于这两个LUN, SCSI命令的序列开始于USB大容量存储类驱动器发 出"询问"(INQUIRY)命令以识别设备类型。仿真组件返回响应以将诸如 第二逻辑存储区域170 (图1)的存^i殳备表示为包括可写数据存储介质 的存储设备。例如"0x00"的响应指示存储设备是HDD。类似地,仿真組 件返回响应以将诸如第一逻辑存储区域160 (图1)的存储设^^表示为自 动加载设备。例如"0x05"的响应指示自动加栽设^^是CD驱动器。包括 可写数据存储介质的存^i殳备还可以被标记为"可移动的"或"不可移动 的",而自动加载设备可以被标记为"可移动的"。在此之后,两个LUN 的SCSI命令的序列分开。应该认识到在下面描述的序列中的SCSI命令的 顺序是示例性的,并且SCSI命令的顺序随不同的数据源而改变。而且, 在一些例子中,可以省略下面所提供的一个或多个SCSI命令,并且/或者 可以包括其它的SCSI命令。
指向包括可写数据存储介质的存储设备的SCSI命令的示例性序列继 续至数据源用来确定可写数据存储介质是否是未格式化的"读取格式容 量,,(READ FORMAT CAPACITIES)请求。 一般地,所表示的存储设备的介质
已^L格式化,并且仿真组件相应地响应。否则,数据源将尝试对存^i殳备 的介质进行格式化。接下来,数据源发出"读取容量"(READ CAPACITY) 请求以识别可写数据存储介质的容量及其块尺寸,并且仿真组件也将这个 信息返回。发出"读取(10)" (READ (10))命令以读取可写数据存储介质 上的第一块。第一块具有为零(LBA=0)的逻辑块寻址(LBA)值,并且包 括主引导记录(MBR),主引导记录自身包括可写数据存储介质的分区表。 仿真组件以所请求的块的内容来响应。
然后,使用"模式读出(6)" (MODE SENSE (6))命令来提取包括可写 数据存储介质的存^i殳备的能力,如存^i殳备是否包括盘高速緩存。仿真 组件适当地答复所表示的存^^i殳备的能力。发出另一 "读取(10)"命令 以恢复包括才艮目录的文件系统的第一块。文件系统的第一块例如可以位于 LBA-0x3F处,但是可以根据所表示的文件系统的具体类型而改变。仿真 组件返回文件系统的第一块。最后,数据源可以在读取根目录的全部内容 等之前发出"测试单元准备就绪"(TEST UNIT READY)请求。在此,仿真 组件肯定地响应,使得数据源将包括可写数据存储介质的存^i殳备视作可 操作的。此后,数据源根据需要来发出更多的读/写请求。
指向自动加载i殳备的SCSI命令的示例性的序列继续至"得到配置" (GET CONFIGURATION)请求以获得关于自动加栽设备的能力的信息及其 对例如CD-R、 CD-RW、 DVD-R、 DVD+R、 DVD-RW、 DVD+RW等的不同类型的光 学介质进行读或写的能力。仿真组件以对数据源表示的自动加载设"适 的能力来响应。1^是"读取容量"请求以示出在自动加载设备中是否有 介质出现。仿真组件配置成通过使最初的尝试失败来响应。在响应中,数 据源将发出"请求读出"(REQUEST SENSE)命令以访问扩展的#^信息。 在回答中,仿真组件将"读出键"设置成"单元注意"(UNIT ATTENTION), 并且将"附加读出代码"设置成"通电"(POWER ON)。然后数据源将重复 "读取容量"请求,并且仿真组件以诸如第一逻辑存储区域160 (图1) 的尺寸的容量来响应。
为了 了解只读介质设备支持的状态改变事件的类型,数据源发出初始 的"得到事件状态通知"(GET EVENT STATUS NOTIFICATION)请求,并且 仿真组件以一组编码的状态字段来响应。然后,在要检查被设置成状态条 目的字段的情况下,数据源可以重复"得到事件状态通知"请求。例如, 如果操作状态字段被使能,则仿真组件用操作改变事件和表示特征改变的 状态代码来响应。这个响应可以触发数据源进一步发出"得到配置"请求
以《更在有特征改变的情况下示出哪个特征改变。
数据源还可以发出用于页代码(0x2A)的"模式读出(10)" (MODE SENSE(10))请求,即已知的"MM能力和机械状态页"。仿真组件将使用对 包括CD-R和CD-RW介质的只读支持的简单自动加栽设备具有代表性的信 息来响应。这回应于响应"得到配置"请求而返回的信息。
这里,数据源可以发出"测试单元准备就绪"命令。这在可以支持不 同操作系统的自动执行功能的仿真组件中触发请求/响应事件的两个序 列。两个序列中的命令可以交错,并且事件将保持未决直到仿真组件已经 通过所有期望的状态为止。正如下面所概述的,这两个序列对于诸如 Windows XP的操作系统是典型的。后面,序列不说明请求或请求的序列 可以被重复的次数。而且,事件的具体序列可以根据在数据源上执行的操 作系统的类型和版本而改变。还可以发出附加或代替的命令。
第一序列包括从数据源到自动加载设备的一系列"测试单元准备就 绪"命令。仿真组件配置成使第一请求失败。然后数据源发送"请求读出" 命令以获得扩展的4m信息,且在"不存在介质"的附加读出代码的情况 下,仿真组件将读出键设置成"未准备好"(NOT READY)。然后,数据源 重复"测试单元准备就绪"命令,仿真组件再次使该"测试单元准备就绪" 命令失败。数据源再次发出"请求读出"命令并且仿真组件以设置成"单 元注意"的读出键和"介质可能已改变"(MEDIUM MAY HAVE CHANGED) 的附加读出代码来响应。随后所有的"测试单元准备就绪"命令通常在没 有餘溪的情况下来响应。
第二序列包括从数据源到自动加载设备的一系列"得到事件状态通 知"请求。在触发第一序列的第一 "测试单元准备就绪"命令之后,数据 源在^Mt改变字段被使能的情况下,发出"得到事件状态通知"请求。仿 真组件以表示特征改变的状态代码和操作改变事件来响应。对于随后的 "得到事件状态通知"请求,介质状态字段被使能。仿真组件以介质事件、 表示新介质的状态代码和设置成指示介质存在的标志来响应。对于在介质 状态字段被使能时的所有后续的"得到事件状态通知"请求,仿真组件以 介质事件和所设置的介质出现标志来响应,但是状态代码并不指示新的介 质。在发出"得到事件状态通知"请求且期望的状态字段未被使能的情况 下,仿真组件适当地对事件的当前状态进行响应。
在这两个序列或这两个序列中任意一个序列的结尾,数据源可以发送 "读取T0C/PMA/ATIP" (READ TOC/PMA/ATIP)请求以从自动加载i殳备的
介质中读取内容表(T0C )。 T0C包括关于介质上轨道的数目和每个轨道的 起始位置的信息。仿真组件以默认配置的条目(即在引入区域后立即启动 的单个数据轨道)来响应。默认TOC声明介质上的数据的第一块在地址零 处开始。最后轨道的位置固定在仿真組件中,并且表示分配给诸如M应 用程序的自动加载设备上的数据的空间。
当数据源进行自动加载设备的读取请求时,仿真组件自动将逻辑地址 翻译成被表示为自动加栽设备的存储设备(例如第一逻辑存储区域160 (图l))的相应物理地址。另外,当被表示为自动加载设备(例如,CD 驱动器)的存储设备(例如HDD分区)的块尺寸不同时,仿真组件也将所 需要的自动加载i殳^^t据的量翻译成存^i殳备上的块的合适数目。
在方法400结束之后,数据源将一个LUN识别为自动加栽i殳备并将另 一 LUN识别为包括可写数据存储介质的存^lti殳备,并且适当地配置成与每 个设备独立地进行通信。此后,可以开始从数据源选择性地拷贝数据文件 (330 )。如上所述,这可以包括数据源的操作系统自动加载来自a示为 自动加载i殳备的LUN的^^应用程序,并且将从数据源选择的数据写到包 括可写数据存储介质的M示为存^i殳备的LUN。
在前述的说明中,参考特定的实施例对本发明进行描述,但是本领域 技术人员应该认识到本发明不限于所公开的实施例。上面描述的发明的各 种特征和方面可以单独地或结合地使用。此外,除了在此所描述的那些环 境和应用以外,可以在不背离本i兌明书的宽广的精神和范围的情况下,在 任何环境和应用中应用本发明。相应地,本说明书和附图被视作是示例性 的而不是限制性的。应该认识到在此所使用的术语"包括"、"包含"和"具 有"应被具体理解成开放式的技术术语。
权利要求
1.一种数据备份系统,包括 通信接口; 包括可写数据存储介质的第一存储设备,所述可写数据存储介质包括第一和第二逻辑存储区域;以及 在所述第一存储设备和所述通信接口之间进行通信的仿真组件,所述仿真组件包括配置成将所述第一逻辑存储区域表示为自动加载设备的逻辑装置;以及配置成将所述第二逻辑存储区域表示为包括可写数据存储介质的第二存储设备的逻辑装置。
2. 根据权利要求l所述的数据备除系统,其中所述通信接口包括通 用串行总线通信接口。
3. 根据权利要求1所述的数据备份系统,其中所述通信接口包括火 线通信接口。
4. 根据权利要求l所述的数据备份系统,其中所述第一存储设备包 括硬盘驱动器。
5. 根据权利要求4所述的数据备份系统,其中所述第一和第二逻辑 存储区域包括第 一和第二分区。
6. 根据权利要求5所述的数据备份系统,其中配置成将所述第一逻 辑存储区域表示为所述自动加载设备的所述逻辑装置将所述第 一分区表 示为光盘驱动器。
7. 根据权利要求5所述的数据备份系统,其中配置成将所述第一逻 辑存储区域表示为所述自动加载设备的所述逻辑装置将所述第 一分区表 示为数字视频光盘驱动器。
8. 根据权利要求l所述的数据备份系统,其中所述第一存储设备包 括固态存储器。
9. 根据权利要求8所述的数据*系统,其中所述固态存储器包括 安全数字存储卡。
10. 根据权利要求8所述的数据备份系统,其中所述固态存储器包括 闪存存储卡。
11. 根据权利要求l所述的数据备份系统,其中所述第一存储设备包 括光设备。
12. 根据权利要求11所述的数据备份系统,其中所述光设备包括光 盘驱动器。
13. 根据权利要求12所述的数据备份系统,其中所述可写数据存储 ^^质包括可记录光盘。
14. 根据权利要求12所述的数据R系统,其中所述可写数据存储 介质包括可重写光盘。
15. 根据权利要求11所述的数据R系统,其中所述光设备包括数 字视频光盘驱动器。
16. 根据权利要求15所述的数据备份系统,其中所述可写数据存储 介质包括DVD+R。
17. 根据权利要求15所述的数据备份系统,其中所述可写数据存储 介质包括DVD-R。
18. 根据权利要求15所述的数据备份系统,其中所述可写数据存储 介质包括DVD+RW。
19. 根据权利要求15所述的数据备份系统,其中所述可写数据存储 介质包括DVD-RW。
20. 根据权利要求l所述的数据备份系统,其中所述仿真组件还包括 逻辑装置,所述逻辑装置配置成接收来自所述通信接口的自动加载设^令,将所述自动加载设^ 令翻译成第一存^i殳^令,并将所述第一存储设^^令发送到所述第一 逻辑存储区域;以及接收来自所述第一逻辑存储区域的第一存储设备响应,将所述第一存 ^i殳备响应翻译成自动加载设备响应,并将所述自动加载设备响应发送到 所述通信接口。
21. 根据权利要求20所述的数据备份系统,其中所述仿真组件还包 括逻辑装置,所述逻辑装置配置成 接收来自所述通信接口的第二存^i殳^^令,并将所述第二存^i殳备 命令发送到所述第二逻辑存储区域;以及接收来自所述第二逻辑存储区域的第二存^i殳备响应,并将所述第二 存储设备响应发送到所述通信接口 。
22. 根据权利要求1所述的数据M系统,其中数据^#应用程序存 储在所述第一逻辑存储区域中。
23. —种用于对存储在数据源上的数据进行^^的方法,所述方法包括对来自所述数据源的询问返回响应,所述响应将第 一设备类型的第一 存^i殳备识别为第二设备类型,其中所述第二设备类型属于在连接到所述 数据源时触发所述数据源的操作系统以自动执行存储在所述第一存储设 备上的M应用程序的一类设备类型;以及数据源上的lt据,提供所述^V应用程序:^: '接收来自所述数据源的自动加栽设^令,将所述自动加栽设备 命令翻译成第一存储设^令,并且将所述第一存储i殳^令发送到所述 存敝备;以及接收来自所述第 一存储设备的第 一存储设备响应,将所述第 一存 ^i殳备响应翻译成自动加载i更备响应,并且将所述自动加载i更备响应发送 到所述数据源。
24. 根据权利要求23所述的方法,进一步包括将数据文件选择性地 拷贝到第二存^i殳备。
25. 根据权利要求24所述的方法,其中将数据文件选择性地拷贝到 所述第二存储设备包括对与满足预定标准的数据文件的数据源相关联的 一个或多个存储i殳备进行搜索。
26. 根据权利要求25所述的方法,其中所述预定标准是所述数据文 件先前未拷贝到数据##系统。
27. 根据权利要求25所述的方法,其中所述预定标准是所述数据文 件具有与内容类型相关联的一个或多个文件类型。
28. 根据权利要求24所述的方法,其中将数据文件选择性地拷贝到 所述第二存储设备包括在所述第二存储设备上创建目录结构以指示所拷贝的文件在所述数据源上的位置。
29. 根据权利要求24所述的方法,其中将数据文件选择性地拷贝到 所述第二存^f^i殳备通过用户命令来启动。
30. 根据权利要求24所述的方法,其中将数据文件选择性地拷贝到 所述第二存储设备通过将可移动存储设备连接到数据备份系统的通信端 口来启动。
31. 根据权利要求24所述的方法,其中将数据文件选择性地拷贝到 所述第二存^i殳备包括确定数据源先前是否已与数据a系统配对。
32. 根据权利要求24所述的方法,其中所述第一存储设备包括所述 第二存衞殳备。
33. 根据权利要求24所述的方法,其中将数据文件选择性地拷贝到 所述第二存^i殳备包括将所拷贝的文件发送到基于网络的存^i殳备。
34. 根据权利要求24所述的方法,其中将数据文件选择性地拷贝到 所述第二存^i更备包括将所拷贝的文件发送到网络驱动器。
全文摘要
数据备份系统包括仿真组件和具有逻辑存储区域的存储设备。仿真组件配置成将诸如固态存储器或盘驱动器分区的存储设备的第一逻辑存储区域表示为自动加载设备。因此,诸如个人计算机的数据源将与自动加载设备的第一逻辑存储区域相互作用。因为一些操作系统配置成在连接时识别自动加载设备并自动执行在其上所存储的应用程序,所以仅将数据备份系统连接到运行这种操作系统的数据源可以使得由第一逻辑存储区域所存储的备份应用程序自动在数据源上执行,以选择性地将数据备份到存储设备的第二逻辑存储区域。
文档编号G06F12/16GK101366011SQ200680046659
公开日2009年2月11日 申请日期2006年10月12日 优先权日2005年10月12日
发明者伊恩·科林斯, 优素福·乔杜里, 埃里克·李, 杰弗里·布鲁内特 申请人:存储器械有限公司