存储装置、存储控制方法,以及计算机产品的制作方法

文档序号:6516104阅读:217来源:国知局
专利名称:存储装置、存储控制方法,以及计算机产品的制作方法
技术领域
本发明涉及存储装置,其包括主存储器,将从主计算机接收的数据存储在预定的存储区域中;副存储器,将存储在主存储器的该预定存储区域中的数据存储在一预定区域中,并且当从主计算机接收到请求读取存储在副存储器中的数据的读取请求时,其读取所请求的数据并将其发送至主计算机,本发明还涉及对该存储装置中的数据存储进行控制的存储控制方法和存储控制程序。更具体地,本发明涉及能够实现虚拟存储区域中存储的各种数据的容易且高效管理的存储装置、存储控制方法以及存储控制程序。
背景技术
传统上使用分级存储装置,包括在硬盘上存储被主计算机频繁参照的数据,而在光盘或磁带上存储不被频繁参照的数据。
硬盘使得可以对所存储的数据进行快速访问,而光盘或磁带可以存储大量的数据。分级存储装置汇集了硬盘和光盘/磁带的优点,使得可以快速访问大量数据。
在从主计算机接收到请求读取存储在光盘/磁带上的数据的读取请求时,分级存储装置从光盘/磁带读取所请求的数据并将其存储在硬盘上。随后,主计算机参照存储在硬盘上的数据。
因此,为了存储数据或读取数据,主计算机只需访问硬盘,而无需由主计算机识别光盘或磁带。实际上,主计算机将硬盘用作大容量存储介质。
日本特开2000-163298号公报和日本特开平H9-6541号公报公开了一种分级存储装置,其中硬盘的存储区域和光盘的存储区域一起形成了逻辑驱动器,主计算机将该逻辑驱动器识别为单个虚拟存储区域。
然而,在上述文献中公开的传统分级存储装置中,存储在虚拟存储区域中的不同数据可能混合,这使得很难进行数据管理。
具体地,当由多个用户使用时,这些用户的不同数据混合在一起,这可能导致一个用户意外删除或覆盖另一个用户的数据。虚拟存储区域的大存储容量进一步使数据管理问题复杂化。
因此,构造一种适当的系统是至关重要的,通过该系统可以容易且高效地管理存储在分级存储装置的虚拟存储区域中的不同数据。

发明内容
本发明的一个目的是至少解决传统技术中的上述问题。
根据本发明一个方面的一种存储装置包括主存储单元,其将从主计算机接收到的数据存储在第一存储区域中;副存储单元,其将存储在第一存储区域中的数据存储在第二存储区域中;虚拟存储区域设置单元,其对第一存储区域和第二存储区域进行逻辑组合,以设置多个虚拟存储区域;以及数据存储控制单元,其控制数据存储,使得要存储在属于预定虚拟存储区域的第一存储区域中的数据存储在属于该预定虚拟存储区域的第二存储区域中。当从主计算机接收到读取存储在第二存储区域中的数据的请求时,该存储装置从第二存储区域读取数据,并将所读取的数据发送给主计算机。
根据本发明另一方面的一种存储控制方法用于对存储装置的数据存储进行控制,其中所述存储装置包括主存储单元,其将从主计算机接收到的数据存储在第一存储区域中;副存储单元,其将存储在第一存储区域中的数据存储在第二存储区域中,当从主计算机接收到读取存储在第二存储区域中的数据的请求时,该存储装置从第二存储区域读取数据,并将所读取的数据发送给主计算机,所述存储控制方法包括通过对第一存储区域和第二存储区域进行逻辑组合来设置多个虚拟存储区域;以及控制数据存储,使得要存储在属于预定虚拟存储区域的第一存储区域中的数据存储在属于该预定虚拟存储区域的第二存储区域中。
根据本发明又一方面的一种计算机可读记录介质存储有计算机程序,该计算机程序使得计算机执行根据本发明的以上存储控制方法。
通过以下的详细说明,结合附图,可以更清楚地理解本发明的其他目的、特征和优点。


图1是用于说明根据本发明的数据存储处理的原理的示意图;图2是根据本发明第一实施例的存储装置20的框图;图3是用于说明通过对逻辑单元100的存储区域进行分割来生成MRB的示意图;图4是图2中所示的主存储器映射表214a的示例;图5是图2中所示的副存储器映射表245a的示例;图6是图2中所示的存储装置20的主存储处理器210的硬件结构;图7是图2中所示的存储装置20的副存储处理器240的硬件结构;图8是由根据第一实施例的存储装置20执行的迁移处理的流程图;图9是由根据第一实施例的存储装置20执行的数据读取处理的流程图;图10是由根据第一实施例的存储装置20执行的数据存储处理的流程图;图11是根据本发明第二实施例的存储装置140的功能结构;图12是图11中所示的存储容量数据1445b的示例;以及图13是根据第二实施例的虚拟盘601至603的虚拟存储区域的重新设置处理的流程图。
具体实施例方式
下面参照附图详细说明根据本发明的存储装置、存储控制方法以及存储控制程序的示例性实施例。
图1是用于说明根据本发明的数据存储处理的原理的示意图。进行存储处理的存储装置20包括主存储器30,其由多个硬盘301至30L构成;第一副存储器40,由多个磁带401至40M构成;以及第二副存储器50,由多个光盘501至50N构成。
硬盘301至30L是存储在硬盘装置中的存储介质。磁带401至40M和光盘501至50N分别是存储在磁带库装置和光盘库装置中的存储介质。
要存储或读取数据时,磁带库装置和光盘库装置分别选择要从中读取数据或要向其上存储数据的磁带401至40M和光盘501至50N,然后执行数据的存储或读取。
更具体地,光盘501至50N可以是可录光盘(CD-R)、可录多用途数字光盘(DVD-R)、随机存取多用途数字光盘(DVD-RAM)、可重写相变光盘(PD)等。
存储装置20对硬盘301至30L的存储区域以及磁带401至40M和光盘501至50N的存储区域进行逻辑组合,以构造出多个虚拟存储区域,并构造出包含这多个虚拟存储区域的虚拟盘601至603。
图1中,在存储装置20中,通过对硬盘301至30i的存储区域和磁带401至40k的存储区域进行逻辑组合来构造出虚拟盘601的虚拟存储区域。类似地,通过对硬盘30i+1至30j的存储区域和磁带40k+1至40M的存储区域进行逻辑组合来构造出虚拟盘602的虚拟存储区域。以同样的方式,通过对硬盘30j+1至30L的存储区域和光盘501至50N的存储区域进行逻辑组合来构造出虚拟盘603的虚拟存储区域。
当在存储装置20中存储数据时,主机服务器装置10将要存储数据的虚拟盘601至603以及虚拟盘601至603中的数据存储位置通知给存储装置20。
存储装置20将所告知的在标识出的虚拟盘601至603中的存储位置转换为属于虚拟盘601至603的硬盘301至30L中的数据存储位置,并将数据存储在由此构造出的所标识的存储位置中。
此外,存储装置20将那些存储在硬盘301至30L中的、很长时间没有被主机服务器装置10参照过的数据存储在第一副存储器40或第二副存储器50中,也就是,存储在磁带401至40M或者光盘501至50N中。
仅在属于同一虚拟盘601至603的硬盘301至30L与磁带401至40M或光盘501至50N之间执行该数据存储处理。
当从主机服务器装置10接收到数据读取请求时,存储装置20检查所请求的数据是否存储在主存储器30的硬盘301至30L上,如果数据存储在硬盘301至30L上,则存储装置20将该数据发送给主机服务器装置10。
如果该数据不是存储在硬盘301至30L上,则存储装置20从第一副存储器40的磁带401至40M或第二副存储器50的光盘501至50N中取出所请求的数据,并将所取出的数据存储在硬盘301至30L上。随后,存储装置20将存储在硬盘301至30L上的数据发送给请求该数据的主机服务器装置10。
在属于同一虚拟盘601至603的硬盘301至30L、磁带401至40M、以及光盘501至50N之间执行从磁带401至40M或光盘501至50N中取出数据并将其存储在硬盘301至30L中的处理。
图1中,将主存储器30的硬盘301至30L分成多个组,即301至30i、30i+1至30j、以及30j+1至30L,并且将各个组分配给各虚拟盘601至603。然而,也可以将所有硬盘301至30L都分配给各虚拟盘601至603,以使各虚拟盘601至603可以使用硬盘301至30L的任意存储区域。
通过使各虚拟盘601至603使用所有硬盘301至30L作为主存储器30,可以更高效地使用各硬盘301至30L的存储区域。
因此,通过对主存储器30以及第一副存储器40和第二副存储器50的存储区域进行逻辑组合以构造出多个虚拟存储区域,以及包括这些虚拟存储区域的虚拟盘601至603,与将所有数据存储在单个存储区域中相比,通过对不同数据进行分类并将它们存储在不同的虚拟盘601至603中,可以更容易和更高效地管理不同数据。
根据本发明的第一实施例,将所有硬盘301至30L分配给各虚拟盘601至603,以提高对于硬盘301至30L的存储区域的有效利用。
图2是根据第一实施例的存储装置20的框图。该存储装置20通过光纤通道网络70连接至主机服务器装置10,并通过局域网(LAN)90连接至管理服务器装置80。
主机服务器装置10是通过光纤通道网络70向存储装置20发送存储数据或读取存储在该存储装置20中的数据的请求的主计算机。光纤通道网络70由光纤构成。
管理服务器装置80接受来自用户的与虚拟盘601至603的设置有关的信息输入。用户输入了设置信息后,管理服务器装置80通过LAN 90连接至存储装置20,并将虚拟盘601至603的设置信息发送给存储装置20。
存储装置20基于从管理服务器装置80接收到的设置信息来设置虚拟盘601至603,并在虚拟盘601至603上存储数据或从中读取数据。
具体地,存储装置20设置包括多个虚拟存储区域的虚拟盘601至603,其中这多个虚拟存储区域是通过逻辑组合主存储器30的存储区域以及第一副存储器40和第二副存储器50的存储区域而构成的,存储装置20在各个虚拟盘601至603的主存储器30或第一副存储器40或第二副存储器50上存储数据,或从中读取数据。
存储装置20包括主存储处理器210、磁带库装置220、光盘库装置230以及副存储处理器240。
通过由光纤构成的光纤通道线路将主存储处理器210和副存储处理器240、副存储处理器240和磁带库装置220、以及副存储处理器240和光盘库装置230分别连接起来。
主存储处理器210包括接口单元211和212、硬盘装置213、存储单元214以及主存储控制单元215。接口单元211是有助于在主存储处理器210和主机服务器装置10之间通过光纤通道网络70进行数据交换的网络接口。
接口单元212是有助于在主存储处理器210和副存储处理器240之间通过光纤通道线路进行数据交换的网络接口。硬盘装置213存储硬盘301至30L,在硬盘301至30L上存储数据,并读取存储在硬盘301至30L上的数据。
硬盘装置213使用独立盘冗余阵列(RAID)技术。该RAID技术涉及将数据分配到多个硬盘,以及重复地将数据存储在多个硬盘上,从而提高了存储和读出速度并确保针对数据破坏情况的可靠性。
另外,硬盘装置213通过逻辑集合或分割多个硬盘301至30L的存储区域,来设置多个逻辑单元。各逻辑单元利用RAID技术来工作。也就是,在属于各逻辑单元的多个硬盘301至30L之间分配数据并重复地存储数据。
将逻辑单元的存储区域分割为多个称为迁移恢复块(migration recallblock,MRB)的块。图3是用于说明通过对逻辑单元100的存储区域进行分割来产生MRB的示意图。
图3中所示的示例仅示出了图1的虚拟盘601,并且通过集合主存储器30的硬盘301至30i的存储区域来构造逻辑单元100。
逻辑单元100的数据存储区域被分割为多个称为MRB的块。各MRB的大小在256MB以内。
以MRB为单位来执行以下操作将逻辑单元100中的数据存储在第一副存储器40的磁盘401至40k上,或者反之。
“迁移”是指将存储在主存储器30中的数据存储到第一副存储器40中的处理。“恢复”是指将存储在第一副存储器40中的数据存储到主存储器30中的处理。
主机服务器装置10能够以小于MRB的单位在主存储器30中存储数据或从中读取数据。
存储或读取数据时,主机服务器装置10将要存储数据或要读取数据的虚拟盘601以及该数据的虚拟盘相对地址通知给存储装置。虚拟盘相对地址是表示数据在逻辑块中的存储位置的信息,其中逻辑块是通过将虚拟盘601的虚拟存储区域分割为MRB大小的多个块而得到的。
各逻辑块被进一步分割为多个块,主机服务器装置10以这些块为单位来存储和读取数据。数据在逻辑块中的存储位置由从逻辑块所分割成的多个块中的第一块开始的相对块号来标识。该相对块号对应于虚拟盘相对地址。
存储装置20基于虚拟盘601和虚拟盘相对地址,确定逻辑单元100、该逻辑单元100的MRB、以及该MRB中的要读取或存储数据的存储位置,并在所确定的存储位置读取或存储数据。可以根据MRB所分割成的块数以及关于相对块号的信息来标识逻辑单元100的MRB。
返回图2,存储单元214是诸如硬盘装置的存储设备。该存储单元214存储有主存储器映射表214a。该主存储器映射表214a以关联的方式存储了数据在虚拟盘601至603中的存储位置以及该数据在逻辑单元100中的相应存储位置。
图4是图2所示的主存储器映射表214a的一个示例。该主存储器映射表214a存储了诸如虚拟盘号、虚拟盘逻辑块地址、逻辑单元号、逻辑单元逻辑块地址、状态以及最后访问日期的各种数据。
虚拟盘号是用来区分虚拟盘601至603的标识号码。虚拟盘逻辑块地址是用来标识虚拟盘601至603的虚拟存储区域中的存储数据的逻辑块的地址。
逻辑单元号是用来区分通过逻辑集合或分割多个硬盘301至30L的存储区域而设置的多个逻辑单元的标识号码。逻辑单元逻辑块地址是用来指定要向或从逻辑单元100的存储区域中的哪个MRB存储或读取数据的地址。
状态涉及主存储器30与第一副存储器40或第二副存储器50之间的同步性。该状态可以是“HIT”、“DIRTY”、或“MISS”。
状态“HIT”表示存储在主存储器30中的数据和存储在第一副存储器40或第二副存储器50中的数据一致。状态“DIRTY”表示主存储器30中的数据在被存储在第一副存储器40或第二副存储器50中之后被修改过,并且该修改并未反映在第一副存储器40或第二副存储器50中,这导致这两个存储器中的数据不一致。
当状态为“DIRTY”时,存储装置20以预先指定的间隔用存储在主存储器30中的数据来更新存储在第一副存储器40或第二副存储器50中的数据,从而使得主存储器30中的数据与第一副存储器40或第二副存储器50中的数据一致。
状态“MISS”表示尽管在主存储器30中设置了虚拟盘601至603的虚拟存储区域,但是在主存储器30中尚未存储指定的数据。如果状态为“MISS”,则施加排他控制,以使得在主存储器30中所设置的虚拟存储区域中不再存储其他数据,直至在其中存储了所指定的数据。
最后访问日期是表示数据被主机服务器装置10最后访问的日期和时间的数据。存储装置20参照最后访问日期,并比较当前日期和该最后访问日期。如果两者之间的差距超过了预定值,则存储装置20将该数据从主存储器30移动到第一副存储器40或第二副存储器50中。
在图4所示的示例中,将关于虚拟盘601至603的信息(即,虚拟盘号“0”和虚拟盘逻辑块地址“2”)与关于主存储器30的信息(即逻辑单元逻辑块地址“24”、状态“HIT”、以及最后访问日期“2004/8/24,13:15:23”)相关联地存储。关于其他虚拟盘601至603的信息也与关于主存储器30的信息相关联地存储。
再次参照图2,主存储控制单元215控制数据在主存储器30上的存储和读取。另外,如果主机服务器装置10所请求的数据没有存储在主存储器30中,则主存储控制单元215请求副存储处理器240从第一副存储器40或第二副存储器50中读取所请求的数据,并将该数据发送给主机服务器装置10。
主存储控制单元215包括主存储虚拟盘设置单元215a、恢复请求单元215b、迁移请求单元215c以及RAID控制器215d。主存储虚拟盘设置单元215a对主存储器映射表214a进行管理。
具体地,在从主机服务器装置10接收到存储数据的请求时,主存储虚拟盘设置单元215a检查由主机服务器装置10所通知的虚拟盘号和虚拟盘逻辑块地址是否记录在主存储器映射表214a中。
如果所通知的虚拟盘号和虚拟盘逻辑块地址记录在主存储器映射表214a中,则主存储虚拟盘设置单元215a获取与该虚拟盘号和虚拟盘逻辑块地址相对应的逻辑单元号和逻辑单元逻辑块地址。
随后,主存储虚拟盘设置单元215a请求RAID控制器215d将数据存储在由逻辑单元号、逻辑单元逻辑块地址以及主机服务器装置10所通知的虚拟盘相对地址所指定的逻辑单元100中的数据存储位置中。
如果虚拟盘号和虚拟盘逻辑块地址没有记录在主存储器映射表214a中,则主存储虚拟盘设置单元215a请求恢复请求单元215b向副存储处理器240发送恢复请求。
恢复请求是这样一种消息其请求以MRB为单位读取存储在磁带库装置220的磁带401至40M上或存储在光盘库装置230的光盘501至50N上的数据,并将所读取的数据以MRB为单位发送给主存储处理器210。
当主存储处理器210从副存储处理器240接收到数据后,RAID控制器215d施加控制,以将数据存储在硬盘装置213的硬盘301至30L中。
利用以块为单位从主机服务器装置10接收到的存储数据请求来部分或全部地更新以MRB为单位从副存储处理器240接收的数据。
根据主存储器30和第一副存储器40或第二副存储器50中的存储器的状态,主存储虚拟盘设置单元215a将主存储器映射表214a的状态设置为“HIT”、“DIRTY”或“MISS”。
当在硬盘301至30L上存储数据时,或者当参照存储在硬盘301至30L上的数据时,主存储虚拟盘设置单元215a更新有关主存储器映射表214a中的最后访问日期的信息。
当主存储虚拟盘设置单元215a请求向副存储处理器240发送恢复请求时,恢复请求单元215b发送恢复请求。
迁移请求单元215c向副存储处理器240发送迁移请求,以转移硬盘装置213的硬盘301至30L上的那些很长时间没有被参照过的数据。
迁移请求是如下一种消息,其请求将硬盘装置213的硬盘301至30L上的数据存储在磁带库装置220的磁带401至40M上,或存储在光盘库装置230的光盘501至50N上。
此外,当由硬盘301至30L所形成的逻辑单元100中的可用空间降低到预定值以下时,迁移请求单元215c在主存储器映射表214a中搜索状态为“HIT”的数据,并请求主存储虚拟盘设置单元215a从主存储器映射表214a中删除该数据。
RAID控制器215d控制硬盘装置213,以使得将数据分散在多个硬盘301至30L之间,并将相同数据的多个副本存储在多个硬盘301至30L上。
磁带库装置220存储有多个磁带401至40M,并且通过选择要从或向其上读取或存储数据的磁带401至40M,在预定的磁带401至40M上进行读取或写入。
光盘库装置230通过选择要从或向其上读取或存储数据的光盘501至50N,在预定的光盘501至50N上进行读取或写入。
副存储处理器240对在第一副存储器40和第二副存储器50(包括存储在磁带库装置220中的磁带401至40M以及存储在光盘库装置230中的光盘501至50N)上进行的数据存储或数据读取进行控制。
副存储处理器240包括接口单元241至244、存储单元245以及副存储器控制单元246。接口单元241是便于副存储处理器240与管理服务器装置80之间经由LAN 90进行数据交换的网络接口。
接口单元242至244是便于副存储处理器240分别与主存储处理器210、磁带库装置220以及光盘库装置230之间进行数据交换的网络接口。
存储单元245是诸如硬盘的存储设备。该存储单元245存储有副存储器映射表245a。副存储器映射表245a以关联的方式存储有虚拟盘601至603的虚拟存储区域中的数据存储位置;存储于磁带库装置220中的磁带401至40M的存储区域中或者存储于光盘库装置230中的光盘501至50N的存储区域中的数据存储位置。
图5是图2所示的副存储器映射表245a的一个示例。该副存储器映射表245a存储有诸如虚拟盘号、虚拟盘逻辑块地址、可移动介质号、可移动介质块号、以及库号的各种数据。
虚拟盘号与图4中所示的主存储器映射表214a中的虚拟盘号相同,并且是用来区分虚拟盘601至603的标识号。虚拟盘逻辑块地址是用来标识虚拟盘601至603的虚拟存储区域中的存储数据的逻辑块的地址。
可移动介质号是用来在磁带401至40M或光盘501至50N的存储区域被分割为多个MRB时,区分要向其中存储或从其中读取数据的MRB的标识号。
库号是用来区分其中分别存储有磁带401至40M和光盘501至50N的磁带库装置220和光盘库装置230的标识号。
在图5所示的示例中,关于虚拟盘601至603的信息,即,虚拟盘号“0”和虚拟盘逻辑块地址“0”与关于第一副存储器40和第二副存储器50的信息,即可移动介质号“0”、可移动介质块号“0”、以及库号“0”相关联地存储。关于其他虚拟盘601至603的信息也与关于第一副存储器40和第二副存储器50的信息相关联地存储。
副存储器控制单元246对于在第一副存储器40或第二副存储器50(即,磁带401至40M或光盘501至50N)上进行的数据存储或数据读取进行控制。
此外,在从主存储处理器210接收到恢复请求或迁移请求时,副存储器控制单元246控制数据的恢复或迁移。
副存储器控制单元246包括副存储虚拟盘设置单元246a、恢复控制器246b以及迁移控制器246c。副存储虚拟盘设置单元246a对副存储器映射表245a进行管理。
具体地,副存储虚拟盘设置单元246a从管理服务器装置80接收关于设置虚拟盘601至603的信息,并通过将设置信息存储在副存储器映射表245a中,来对虚拟盘601至603进行设置。
虚拟盘设置信息包括虚拟盘601至603的虚拟盘号、属于虚拟盘601至603的磁带401至40M或光盘501至50N的可移动介质号、以及分别存储有磁带401至40M或光盘501至50N的磁带库装置220或光盘库装置230的库号。
当从主存储处理器210的迁移请求单元215c接收到迁移请求时,副存储虚拟盘设置单元246a为所转移的数据分配虚拟盘逻辑块地址和可移动介质块号,并且将所分配的虚拟盘逻辑块地址和可移动介质块号存储在副存储器映射表245a中。
因此,虚拟盘601至603的逻辑块与磁带401至40M或光盘501至50N的MRB相互关联。结果,可以通过标识虚拟盘601至603的要存储或读取数据的位置块,来标识磁带401至40M或光盘501至50N的MRB。
一旦在副存储器映射表245a中建立了虚拟盘号、虚拟盘逻辑块地址与可移动介质号、可移动介质块号和库号之间的关联,随后基于这个关联来向磁带401至40M或光盘501至50N中存储数据或从其中读取数据。
当从主存储处理器210的恢复请求单元215b接收到恢复请求时,恢复控制器246b施加控制,使得从磁带库装置220的磁带401至40M或者光盘库装置230的光盘501至50N中读取数据。
随后,恢复控制器246b将从磁带库装置220或光盘库装置230读取的数据发送给主存储处理器210的RAID控制器215d,并在硬盘装置213的硬盘301至30L中存储数据。
具体地,在接收到恢复请求时,恢复控制器246b参照副存储器映射表245a,并获取磁带401至40M或光盘501至50N的对应于虚拟盘号和虚拟盘逻辑块地址的可移动介质号、可移动介质块号以及库号。
随后,恢复控制器246b控制磁带库装置220或光盘库装置230,使得从磁带401至40M或光盘501至50N的由可移动介质号、可移动介质块号以及库号所标识的MRB中读取数据。
当从主存储处理器210的迁移请求单元215c接收到迁移请求时,迁移控制器246c施加控制,使得在磁带库装置220的磁带401至40M或者光盘库装置230的光盘501至50N上存储数据。
具体地,接收到迁移请求时,迁移控制器246c参照副存储器映射表245a,并获取磁带401至40M或光盘501至50N的对应于虚拟盘号和虚拟盘逻辑块地址的可移动介质号、可移动介质块号以及库号。
随后,迁移控制器246c控制磁带库装置220或光盘库装置230,使得将数据存储在磁带401至40M或光盘501至50N的由可移动介质号、可移动介质块号以及库号所标识的MRB中。
下面将说明图2所示的存储装置20的主存储处理器210和副存储处理器240的硬件结构。图6是图2所示的存储装置20的主存储处理器210的硬件结构。图7是图2中所示的存储装置20的副存储处理器240的硬件结构。
如图6所示,主存储处理器210包括随机访问存储器(RAM)110、硬盘驱动器(HDD)111、硬盘(HD)112、只读存储器(ROM)113、中央处理单元(CPU)114、HDD 1151至115n、HD 1161至116n、网络接口117和118、以及总线119,上述所有组件都连接在总线119上。
HD 112是以磁的方式存储诸如主存储器映射表112a的数据的存储介质。主存储器映射表112a对应于图2中的主存储器映射表214a。HDD111对于在HD 112上进行的数据存储和数据读取进行控制。
当CPU 114发出了参照请求时,将主存储器映射表112a读入RAM110中,该RAM 110是易失性存储器,CPU 114从其中参照主存储器映射表112a。
在非易失性存储器ROM 113中预先存储有主存储虚拟设备设置程序113a、恢复请求程序113b、迁移请求程序113c、以及RAID控制程序113d。
由CPU 114读取和执行各程序113a至113d,并分别产生主存储虚拟盘设置处理114a、恢复请求处理114b、迁移请求处理114c、以及RAID控制处理114d。
主存储虚拟盘设置处理114a、恢复请求处理114b、迁移请求处理114c、以及RAID控制处理114d分别对应于图2中的主存储虚拟盘设置单元215a、恢复请求单元215b、迁移请求单元215c、以及RAID控制器215d。
HDD 1151至115n分别对于HD 1161至116n上的数据存储和数据读取进行控制。HDD 1151至115n和HD 1161至116n对应于图2中的硬盘装置213。
网络接口117便利在主存储处理器210与主机服务器装置10之间经由光纤通道网络70进行的数据交换。网络接口118便利在主存储处理器210与副存储处理器240之间经由光纤通道线路进行的数据交换。网络接口117和118分别对应于图2的接口单元211和212。
如图7所示,副存储处理器240包括ROM 120、HDD 121、HD 122、RAM 123、CPU、网络接口125至128、以及总线129,上述所有部件都连接在总线129上。
ROM 120是存储有诸如副存储处理器240的引导程序的非易失性存储器。HD 122以磁的方式存储数据,并包括副存储器映射表122a、副存储器虚拟盘设置程序122b、恢复控制程序122c以及迁移控制程序122d。HDD 121对于在HD 122进行的数据存储和数据读取进行控制。
当CPU 124发出了参照请求时,将副存储器映射表122a、副存储器虚拟盘设置程序122b、恢复控制程序122c、以及迁移控制程序122d存储在易失性存储器RAM 123中。
由CPU 124读取和执行各程序122b至122d,并分别产生副存储虚拟盘设置处理124a、恢复控制处理124b以及迁移控制处理124c。
副存储虚拟盘设置处理124a、恢复控制处理124b以及迁移控制处理124c分别对应于图2中的副存储虚拟盘设置单元246a、恢复控制器246b、以及迁移控制器246c。
网络接口125便于副存储处理器240与管理服务器装置80之间经由LAN 90进行数据交换。网络接口126便于副存储处理器240与主存储处理器210之间经由光纤通道线路进行数据交换。
网络接口127便于副存储处理器240与磁带库装置220之间经由光纤通道线路进行数据交换。网络接口128便于副存储处理器240与光盘库装置230之间经由光纤通道线路进行数据交换。网络接口125至128分别对应于图2的接口单元241至244。
下面说明由根据第一实施例的存储装置20进行的迁移处理。图8是由根据第一实施例的存储装置20进行的迁移处理的流程图。
此处假定由副存储虚拟盘设置单元246a将虚拟盘号码和虚拟盘逻辑块地址以与可移动介质号、可移动介质块号、以及库号相关联的方式存储在副存储器映射表245a中。
存储装置20的主存储处理器210的迁移请求单元215c读取主存储器映射表214a(步骤S101),并基于最后访问日期来确定是否存在自预定日期之后从未被参照过并且状态为“DIRTY”的数据(步骤S102)。
如果不存在满足上述条件的数据(步骤S102为“否”),则迁移请求单元215c结束迁移处理。
如果存在自预定日期之后从未被参照过并且状态为“DIRTY”的数据(步骤S102为“是”),则迁移请求单元215c向副存储处理器240发送迁移请求(步骤S103)。迁移请求包括待转移数据的虚拟盘号、虚拟盘逻辑块地址、逻辑单元号以及逻辑单元逻辑块地址。
接收到由主存储处理器210发送的迁移请求时(步骤S104),副存储处理器240的迁移控制器246c从存储单元245中读取副存储器映射表245a(步骤S105),并对磁带库装置220或光盘库装置230施加控制,使得以磁带401至40M或光盘501至50N的形式来安装要将数据转移到其上的可移动介质(步骤S106)。
具体地,迁移控制器246从副存储器映射表245a中检索到对应于虚拟盘号和虚拟盘逻辑块地址的可移动介质号和库号,并对磁带库装置220或光盘库装置230施加控制,以安装与所检索到的可移动介质号和库号对应的可移动介质。
随后,迁移控制器246c向主存储处理器210发送数据读取请求,请求从硬盘装置213读取待发送的数据(步骤S107)。
在从副存储处理器240的迁移控制器246c接收到数据读取请求时(步骤S108),主存储处理器210的迁移请求单元215c请求RAID控制器215d从硬盘装置213读取待转移的数据,并将所读取的数据发送给副存储处理器240(步骤S109)。
当接收到由主存储处理器210的迁移请求单元215c发送的数据时(步骤S110),副存储处理器240的迁移控制器246c对磁带库装置220和光盘库装置230施加控制,以将所接收的数据存储在磁带401至40M或光盘501至50N的MRB中(步骤S111)。
迁移控制器246c通过从副存储器映射表245a中检索对应于虚拟盘逻辑块地址的可移动介质块号,来确定磁带401至40M或光盘501至50N的要向其中存储数据的MRB。
一旦数据被存储在所确定的MRB中,迁移控制器246c就向主存储处理器210发送迁移完成消息(步骤S112),并结束副存储处理器240的迁移处理。
主存储处理器210的迁移请求单元215c接收由副存储处理器240的迁移控制器246c发送的迁移完成消息(步骤S113)。
随后,主存储虚拟盘设置单元215a将主存储器映射表214a中的被转移的数据的状态更新为“HIT”(步骤S114),并结束主存储处理器210的迁移处理。
下面说明由根据第一实施例的存储装置20执行的数据读取处理。图9是由根据第一实施例的存储装置20执行的数据读取处理的流程图。
当从主机服务器装置10接收到数据读取请求(步骤S201)时,存储装置20的主存储处理器210的主存储虚拟盘设置单元215a读取主存储器映射表214a(步骤S202)。
主存储虚拟盘设置单元215a从主机服务器装置10接收与存储有预定数据的虚拟盘601至603的虚拟盘号和虚拟盘相对地址有关的信息。
随后,主存储虚拟盘设置单元215a确定预定数据的映射信息是否存储在主存储器映射表214a中(步骤S203)。映射信息是指有关虚拟盘号和虚拟盘逻辑块地址与逻辑单元100和逻辑单元逻辑块地址之间的对应关系的信息。
如果映射信息存储在主存储器映射表214a中(步骤S203为“是”),则RAID控制器215d基于映射信息,从硬盘装置213的硬盘301至30L读取数据(步骤S214),然后将所读取的数据发送给主机服务器装置10(步骤S215),结束数据读取处理。
如果映射信息没有存储在主存储器映射表214a中(步骤S203为“否”),则主存储虚拟盘设置单元215a在虚拟盘601至603中为从主机服务器装置10接收的数据读取请求所请求的数据分配虚拟存储区域(步骤S204)。
具体地,主存储虚拟盘设置单元215a对于由主机服务器装置10所通知的虚拟盘601至603的虚拟盘号和虚拟盘相对地址所指定的虚拟盘逻辑块地址,分配逻辑单元号和逻辑单元逻辑块地址。
随后,恢复请求单元215b向副存储处理器240发送恢复请求(步骤S205)。
副存储处理器240的恢复控制器246b接收由主存储处理器210的恢复请求单元215b发送的恢复请求(步骤S206)。
恢复控制器246b读取副存储器映射表245a(步骤S207),并对磁带库装置220或光盘库装置230施加控制,使得以磁带401至40M或光盘501至50N的形式来安装可移动介质(步骤S208)。
具体地,恢复控制器246b检索与虚拟盘号和虚拟盘逻辑块地址对应的可移动介质号和库号,并对磁带库装置220或光盘库装置230施加控制,以安装与所检索到的可移动介质号和库号对应的可移动介质。
随后,恢复控制器246b对磁带库装置220或光盘库装置230施加控制,以从磁带401至40M或光盘501至50N读取恢复请求所请求的数据(步骤S209)。
恢复控制器246b通过从副存储器映射表245a中检索对应于虚拟盘逻辑块地址的可移动介质块号,来确定磁带401至40M或光盘501至50N中的存储预定数据的MRB。
随后恢复控制器246b向主存储处理器210发送所读取的数据(步骤S210),并结束副存储处理器240的数据读取处理。
主存储处理器210的恢复请求单元215b接收由副存储处理器240的恢复控制器246b发送的数据(步骤S211)。RAID控制器215d将该数据存储在硬盘301至30L中的由逻辑单元号和逻辑单元逻辑块地址所指定的存储位置(步骤S212)。
主存储虚拟盘设置单元215a通过将虚拟盘号、虚拟盘逻辑块地址、逻辑单元号、逻辑单元逻辑块地址、状态、以及最后访问日期存储在主存储器映射表214a中,来更新主存储器映射表214a(步骤S213)。
因为存储在硬盘301至30L上的数据当前既存在于硬盘301至30L中,又存在于磁带401至40M或光盘501至50N中,所以将数据的状态设为“HIT”。数据的最后访问日期应该为将数据存储在硬盘301至30L上的日期。
随后,RAID控制器215d读取存储在硬盘301至30L上的数据(步骤S214),然后将该数据发送给主机服务器装置10(步骤S215),由此结束数据读取处理。
下面说明由根据第一实施例的存储装置20进行的数据存储处理。图10是由根据第一实施例的存储装置20进行的数据存储处理的流程图。
副存储处理器240在该数据存储处理中的作用与其在图9所示的数据读取处理中的相同,故此处不再对其说明。
当从主机服务器装置10接收到数据存储请求时(步骤S301),存储装置20的主存储处理器210的主存储虚拟盘设置单元215a读取主存储器映射表214a(步骤S302)。
随后,主存储虚拟盘设置单元215a从主机服务器装置10获取关于虚拟盘601至603中的存储数据的虚拟盘号和虚拟盘相对地址的信息。
随后,主存储虚拟盘设置单元215a确定从主机服务器装置10接收的关于虚拟盘601至603的映射信息是否存储在主存储器映射表214a中(步骤S303)。
映射信息是指关于虚拟盘号和虚拟盘逻辑块地址与逻辑单元100和逻辑单元逻辑块地址之间的对应关系的信息。
如果映射信息存储在主存储器映射表214a中(步骤S303为“是”),则RAID控制器215d基于该映射信息将数据存储在硬盘装置213的硬盘301至30L上(步骤S309)。
随后,主存储虚拟盘设置单元215a在主存储器映射表214a中将存储在硬盘301至30L上的数据的状态设为“DIRTY”,并通过更新最后访问日期来更新主存储器映射表214a(步骤S310),由此结束数据存储处理。
如果映射信息没有存储在主存储器映射表214a中(步骤S303为“否”),则主存储虚拟盘设置单元215a在虚拟盘601至603中为从主机服务器装置10接收的数据存储请求所请求的数据分配虚拟存储区域(步骤S304)。
具体地,主存储虚拟盘设置单元215a对于由主机服务器装置10所通知的虚拟盘601至603的虚拟盘号和虚拟盘相对地址所指定的虚拟盘逻辑块地址,分配逻辑单元号和逻辑单元逻辑块地址。
随后,恢复请求单元215b向副存储处理器240发送恢复请求(步骤S305)。
当从主存储处理器210的恢复请求单元215b接收到恢复请求时,副存储处理器240从磁带401至40M或光盘501至50N中读取与数据存储请求所请求的数据的虚拟盘号和虚拟盘逻辑块地址相对应的数据,并将所读取的数据发送给主存储处理器210的恢复请求单元215b。该处理对应于图9所示的流程图中的步骤S205至S209。
向副存储处理器240发送恢复请求的原因是,数据存储在磁带401至40M或光盘501至50N中所采用的单位不同于主机服务器装置10发出的数据存储请求所采用的单位。
具体地,以MRB为单位将数据存储在磁带401至40M或光盘501至50N中。然而,主机服务器装置10以小于MRB的单位发出数据存储请求,因此还引发了以下情况对于存储在一个MRB中的数据,仅需要进行部分修改。
如果数据只存储在磁带401至40M或光盘501至50N中,而没有存储在硬盘301至30L上,则必须读取存储在磁带401至40M和光盘501至50N中的数据,并对所读取的数据进行部分修改。
因此,在存储装置20中,如果在主存储器映射表214a中没有找到要存储的数据的映射信息,则从磁带401至40M或光盘501至50N中读取数据,并将其存储在硬盘301至30L上。
如果数据也没有存储在磁带401至40M或光盘501至50N中,则副存储处理器240发送存储在硬盘301至30L上的空数据。
返回图10,主存储处理器210的恢复请求单元215b接收由副存储处理器240发送的数据(步骤S306)。随后,RAID控制器215d将数据存储在硬盘301至30L的由逻辑单元号和逻辑单元逻辑块地址所指定的存储位置中(步骤S307)。
然后,主存储虚拟盘设置单元215a通过将虚拟盘号、虚拟盘逻辑块地址、逻辑单元号、逻辑单元逻辑块地址、状态以及最后访问日期存储在主存储器映射表214a中,来更新主存储器映射表214a(步骤S308)。
因为存储在硬盘301至30L上的数据当前既存在于硬盘301至30L中,又存在于磁带401至40M或光盘501至50N中,所以数据的状态被设为“HIT”。数据的最后访问日期应该是将数据存储在硬盘301至30L上的日期。
随后,RAID控制器215d将主机服务器装置10所请求的数据存储在硬盘301至30L的由虚拟盘号、虚拟盘逻辑块地址和逻辑块中的数据存储位置所指定的存储区域中(步骤S309)。
主存储虚拟盘设置单元215a在主存储器映射表214a中将存储在硬盘301至30L上的数据的状态设定为“DIRTY”,并通过更新最后访问日期来更新主存储器映射表214a(步骤S310),由此结束数据存储处理。
因此,根据第一实施例,存储装置20的主存储虚拟盘设置单元215a和副存储虚拟盘设置单元246a对硬盘301至30L的存储区域和磁带401至40M或光盘501至50N的存储区域进行逻辑组合,以设置多个具有虚拟存储区域的虚拟盘601至603。迁移请求单元215c和迁移控制器246c施加控制,以将存储在硬盘301至30L的属于预定虚拟存储区域的存储区域中的数据存储在磁带401至40M或光盘501至50N的属于该预定虚拟存储区域的存储区域中。从而,可以在多个虚拟存储区域之间分配数据。结果,可以容易且高效地管理存储在虚拟存储区域中的不同数据。
此外,根据第一实施例,在主存储器映射表214a和副存储器映射表245a中,将由主机服务器装置10连同数据存储请求所通知的虚拟存储区域中的数据存储位置转换为硬盘301至30L的存储区域中的数据存储位置,以及磁带401至40M或光盘501至50N的存储区域中的数据存储位置。基于主存储器映射表214a和副存储器映射表245a,迁移请求单元215c和迁移控制器246c施加控制,以将存储在硬盘301至30L的属于预定虚拟存储区域的存储区域中的数据存储在磁带401至40M或光盘501至50N的属于该预定虚拟存储区域的存储区域中。从而,借助于主存储器映射表214a和副存储器映射表245a,可以高效地确定数据的存储位置。结果,可以容易且高效地管理存储在虚拟存储区域中的不同数据。
另外,根据第一实施例,如果存储在硬盘301至30L的属于预定虚拟存储区域的存储区域中的特定数据在给定时间段内没有被主机服务器装置10参照过,则迁移请求单元215c和迁移控制器246c施加控制,以将硬盘301至30L的存储区域中的数据存储在磁带401至40M或光盘501至50N的属于该虚拟存储区域的存储区域中。从而,各虚拟存储区域中的很久没有被参照的数据被自动地转移到磁带401至40M或光盘501至50N中,使得易于对存储在虚拟区域中的不同数据进行简便高效的管理。
另外,根据第一实施例,在将数据存储在磁带401至40M或光盘501至50N的属于预定虚拟存储区域的存储区域中之后,恢复请求单元215b和恢复控制器246b施加控制,以读取存储在磁带401至40M或光盘501至50N的存储区域中的数据,并将该数据存储在硬盘301至30L的属于该虚拟存储区域的存储区域中。从而,各虚拟存储区域中的被转移到磁带401至40M或光盘501至50N的数据被自动恢复回硬盘301至30L中,使得易于对存储在虚拟区域中的不同数据进行简便高效的管理。
此外,根据第一实施例,当从主机服务器装置10接收到对于存储在磁带401至40M或光盘501至50N的存储区域中的数据的数据读取请求时,从磁带401至40M或光盘501至50N的存储区域中读取数据,并且首先将所读取的数据存储在硬盘301至30L的存储区域中,然后发送给主机服务器装置10。从而,无需通过主机服务器装置10来识别磁带401至40M或光盘501至50N,使得易于进行简便高效的数据管理。
此外,根据第一实施例,将硬盘301至30L用作主存储器30。从而,可以简便高效地管理存储在虚拟存储区域中的不同数据,并且能够加速硬盘301至30L与主机服务器装置10之间的数据交换。
此外,根据第一实施例,将磁带401至40M或光盘501至50N用作第一副存储器40或第二副存储器50。从而,可以简便高效地管理数据,并且可以存储大量数据。
根据第一实施例,用户对利用硬盘301至30L和磁带401至40M或光盘501至50N的存储区域而构成的虚拟盘601至603的虚拟存储区域进行设置。然而,还可以由存储装置20根据虚拟存储区域中的可用的空闲空间,自动地重新设置虚拟盘601至603的虚拟存储区域。
因此,即使虚拟盘601至603中没有可用的空间,也可以通过重新设置虚拟盘601至603来自动增加存储容量,并且可以毫无障碍地进行数据存储。本发明第二实施例涉及根据虚拟盘601至603的虚拟存储区域中的空闲空间的可用性,来对虚拟存储器进行自动重新设置。
图11是根据第二实施例的存储装置140的功能结构。根据第二实施例的存储装置140的功能单元与根据第一实施例的存储装置20的相同,在此不再进行描述。
存储装置140在功能上基本上类似于图2所示的存储装置20。不同之处在于,当存储装置140的虚拟盘的虚拟存储区域中的空闲空间减少时,将磁带401至40M或光盘501至50N的存储区域分配给虚拟盘601至603,来设置虚拟盘601至603的虚拟存储区域。
如图11所示,存储装置140通过光纤通道网络150连接至主机服务器装置130,并通过LAN 170连接至管理服务器装置160。主机服务器装置130和管理服务器装置160分别对应于图2所示的主机服务器装置10和管理服务器装置80,并且具有相同的功能。
存储装置140包括主存储处理器1410、磁带库装置1420、光盘库装置1430以及副存储处理器1440。通过由光纤构成的光纤通道线路,分别将主存储处理器1410和副存储处理器1440、副存储处理器1440和磁带库装置1420、以及副存储处理器1440和光盘库装置1430连接在一起。
主存储处理器1410包括接口单元1411和1412、硬盘装置1413、存储单元1414以及主存储控制单元1415。接口单元1411和1412以及硬盘装置1413分别对应于图2所示的接口单元211和212以及硬盘装置213,并且具有相同的功能。
存储单元1414对应于图2所示的存储单元214,并存储有主存储器映射表1414a,该主存储器映射表1414a包含与图4所示的主存储器映射表214a类似的数据。
主存储控制单元1415对应于图2所示的主存储控制单元215,并包括主存储虚拟盘设置单元1415a、恢复请求单元1415b、迁移请求单元1415c以及RAID控制器1415d。
主存储虚拟盘设置单元1415a、恢复请求单元1415b、迁移请求单元1415c以及RAID控制器1415d分别对应于图2所示的主存储虚拟盘设置单元215a、恢复请求单元215b、迁移请求单元215c以及RAID控制器215d,并具有相同的功能。
磁带库装置1420和光盘库装置1430分别对应于磁带库装置220和光盘库装置230。
副存储处理器1440包括接口单元1441至1444、存储单元1445以及副存储器控制单元1446。接口单元1441至1444对应于图2所示的接口单元241至244。
存储单元1445是诸如硬盘装置的存储设备。该存储单元1445存储有副存储器映射表1445a和存储容量数据1445b。
副存储器映射表1445a具有类似于图5所示的副存储器映射表245a的数据。存储容量数据1445b存储各虚拟盘601至603中所存储的数据量。
图12是图11所示的存储容量数据1445b的一个示例。该存储容量数据1445b包括与虚拟盘号、虚拟盘601至603的最大存储容量以及虚拟盘601至603的数据量有关的信息。
虚拟盘号与存储在主存储器映射表1414a和副存储器映射表1445a中的虚拟盘号相同,是分配给虚拟盘601至603的标识号。
最大存储容量是各虚拟盘601至603的最大数据存储容量。具体地,最大存储容量是分配给虚拟盘601至603的磁带401至40M或光盘501至50N的存储容量之和。数据量是存储在虚拟盘601至603中的数据的量。
在图12所示的示例中,虚拟盘号为“0”的虚拟盘的最大存储容量为“512GB”,数据量为“389GB”。类似地,虚拟盘号为“1”的虚拟盘的最大存储容量为“1,024GB”,数据量为“947GB”。虚拟盘号为“2”的虚拟盘的最大存储容量为“768GB”,数据量为“76.8GB”。
返回图11,副存储器控制单元1446通过控制磁带库装置1420和光盘库装置1430,来控制数据的存储和读取。
该副存储器控制单元1446包括存储容量信息取得单元1446a、副存储虚拟盘设置单元1446b、恢复控制器1446c、以及迁移控制器1446d。
存储容量信息取得单元1446a取得关于各个虚拟盘601至603的虚拟存储区域中所存储的数据的存储容量的信息,并将该信息作为存储容量数据1445b存储在存储单元1445中。
存储容量信息取得单元1446a在每次将数据存储在由磁带401至40M或光盘501至50N的存储区域构成的虚拟盘601至603的虚拟存储区域中时都对存储容量数据1445b进行更新。
副存储虚拟盘设置单元1446b从管理服务器装置160接收虚拟盘601至603的设置信息,并通过将该设置信息存储在副存储器映射表1445a中,来设置虚拟盘601至603。
副存储虚拟盘设置单元1446b参照存储在存储单元1445中的存储容量数据1445b,并检查数据量与最大存储容量之比超过一预定值的虚拟盘601至603。
如果找到了数据量与最大存储容量之比超过该预定值的虚拟盘601至603,则副存储虚拟盘设置单元1446b检查数据量与最大存储容量之比低于该预定值并且具有未夹在承载数据的MRB之间的未使用MRB的虚拟盘601至603。
如果找到了数据量与最大存储容量之比低于该预定值的虚拟盘601至603,则副存储虚拟盘设置单元1446b将具有较多空间的虚拟盘601至603的磁带401至40M或光盘501至50N的存储区域的一部分分配给具有较少空间的虚拟盘601至603,对具有较少空间的虚拟盘601至603的虚拟存储区域进行重新设置,以增加其存储容量。
恢复控制器1446c和迁移控制器1446d分别对应于图2所示的恢复控制器246b和迁移控制器246c,并具有相同的功能。
下面说明根据第二实施例的对虚拟盘601至603的虚拟存储区域进行的重新设置处理。图13是根据第二实施例的对虚拟盘601至603的虚拟存储区域进行的重新设置处理的流程图。
存储装置140的副存储虚拟盘设置单元1446b从存储单元1445读取存储容量数据1445b(步骤S401),并检查是否有些虚拟盘601至603的数据量与最大存储容量之比超过了一预定值(步骤S402)。
如果没有哪个虚拟盘601至603的存储容量超过该预定值(步骤S402为“否”),则就此结束对虚拟存储区域的重新设置处理。如果找到了存储容量超过该预定值的虚拟盘601至603(步骤S402为“是”),则副存储虚拟盘设置单元1446b检查是否存在数据量与最大存储容量之比低于该预定值并且具有不夹在承载数据的逻辑块之间的未使用逻辑块的虚拟盘601至603(步骤S403)。
如果没有找到存储容量的比值低于该预定值并且具有不夹在承载数据的逻辑块之间的未使用逻辑块的虚拟盘601至603(步骤S403为“否”),则就此结束对虚拟存储区域的重新设置处理。
如果找到了存储容量的比值低于该预定值并且具有不夹在承载数据的逻辑块之间的未使用逻辑块的虚拟盘601至603(步骤S403为“是”),则副存储虚拟盘设置单元1446b从该虚拟盘601至603中释放未使用的MRB(步骤S404)。
具体地,副存储虚拟盘设置单元1446b从副存储器映射表1445a中删除与虚拟盘号和虚拟盘逻辑块地址相关联存储的关于未使用MRB的信息,即,可移动介质号、可移动介质块号以及库号,来释放未使用MRB。
然后,副存储虚拟盘设置单元1446b将所释放的未使用MRB分配给存储容量超过预定值的虚拟盘601至603(步骤S405),由此结束对虚拟存储区域的重新设置处理。
具体地,副存储虚拟盘设置单元1446b将与虚拟盘号和虚拟盘逻辑块地址相关联存储的关于未使用MRB的信息,即,可移动介质号、可移动介质块号以及库号,存储在副存储器映射表1445a中。
在上述的对于虚拟存储区域的重新设置处理中,将未夹在承载数据的逻辑块之间的未使用逻辑块分配给没有足够存储容量的虚拟盘601至603。然而,可以借助于主机服务器装置130将存储在夹有未使用逻辑块的逻辑块中的数据存储到另一逻辑块中,从而可以得到大于原来未使用块的逻辑块。
因此,根据第二实施例,存储装置140的存储容量信息取得单元1446a获取关于多个虚拟存储区域的数据存储容量的信息。副存储虚拟盘设置单元1446b基于由存储容量信息取得单元1446a获取的信息,对虚拟存储区域进行重新设置。迁移请求单元1415c和迁移控制器1446d施加控制,以将存储在硬盘301至30L的属于预定的重新设置后的虚拟存储区域的存储区域中的数据存储到磁带401至40M或光盘501至50N的属于该预定虚拟存储区域的存储区域中。因此,可以通过对没有足够空闲空间的虚拟存储空间进行重新设置,来简便高效地管理存储在虚拟存储区域中的不同数据。
根据第二实施例,可以将用作一个虚拟盘601至603的磁带401至40M的存储区域或光盘501至50N的存储区域分配给另一虚拟盘601至603。也可以通过以下操作来增加虚拟盘601至603的存储容量预先将磁带401至40M或光盘501至50N的存储区域组合在一起,并将磁带401至40M或光盘501至50N的存储区域添加到没有足够存储容量的虚拟盘601至603的存储区域中。
另选地,当出现虚拟盘601至603中的存储区域不够的情况时,可以将磁带401至40M或光盘501至50N分别添加到磁带库装置1420或光盘库装置1430。换言之,可以在虚拟盘601至603中的存储区域变得不够之后的阶段中,将磁带401至40M或光盘501至50N的存储区域添加到该虚拟盘601至603的存储区域中。
尽管出于完全和清晰公开的目的针对具体实施例对本发明进行了描述,但是所附权利要求并不因此受限,而是应该认为其包含了本领域技术人员能够想到的、完全落入此处所阐释的基本教示范围内的所有改进和替换结构。
在本实施例中说明的所有自动处理都可以全部或部分地手动执行。类似地,在本实施例中说明的所有手动处理也可以全部或部分地通过公知方法来自动执行。除非另有说明,否则处理顺序、控制顺序、特定名称以及包括各种参数的数据可以随需要而改变。
除非另有说明,否则可以对文中提及或图中所示的处理、控制处理、特定名称、各种数据和参数进行修改。
所示出的装置的构成元件只是原理性的,可以不必与图中所示的结构物理相似。例如,该装置并非必须具有所示结构。可以根据负载或使用该装置的方式,在功能上或在物理上整体或部分地分解或集合装置的整体或部分。
可以通过CPU或由该CPU执行的程序,或通过使用布线逻辑的硬件来全部或部分地实现该装置所进行的处理功能。
根据本发明,对主存储器和副存储器的存储区域进行逻辑组合,以构成多个虚拟存储区域。施加控制以将存储在主存储器的属于一预定虚拟存储区域的存储区域中的数据存储到副存储器的属于该预定虚拟存储区域的存储区域中。因此,可以对数据进行分类并将其存储在不同的虚拟存储区域中,从而可以简便高效地管理不同数据。
根据本发明,将由主机计算机连同数据读取请求所通知的虚拟存储区域中的数据存储位置转换为主存储器的存储区域中的数据存储位置以及副存储器的存储区域中的数据存储位置。基于此转换信息施加控制,以将存储在主存储器的属于一预定虚拟存储区域的存储区域中的数据存储到副存储器的属于该预定虚拟存储区域的存储区域中。从而,可以使用该转换信息高效地确定数据的存储位置,并且可以容易且高效地管理存储在虚拟存储区域中的不同数据。
根据本发明,如果存储在主存储器的属于一预定虚拟存储区域的存储区域中的任何数据在给定的期间内没有被主机计算机参照过,则施加控制,以将存储在主存储器的该存储区域中的数据存储到副存储器的属于该预定虚拟存储区域的存储区域中。从而,将长期未参照过的数据自动地从各虚拟存储区域转移到副存储器,这便于对不同数据进行简便高效的管理。
根据本发明,在将数据存储到副存储器的属于预定虚拟存储区域的存储区域中之后,可以从该副存储器的存储区域中读取数据,并将数据恢复到主存储器的属于该预定虚拟存储区域的存储区域中。从而,可以自动地将转移到副存储器中的数据恢复到主存储器中,这便于对不同数据进行简便高效的管理。
根据本发明,在接收到读取存储在副存储器的存储区域中的数据的数据读取请求时,将数据从副存储器的存储区域中读取到主存储器的存储区域中,并随后将其发送至主机计算机。从而,无需主机计算机来识别副存储器,这便于对数据进行简便高效的管理。
根据本发明,取得关于多个虚拟存储区域的存储容量的信息,并基于该信息对虚拟存储区域进行重新设置。施加控制以将存储在主存储器的属于预定的重新设置后的虚拟存储区域的存储区域中的数据存储到副存储器的属于该预定虚拟存储区域的存储区域中。从而,当任一虚拟存储区域的存储容量缩小时,可对相应的虚拟存储区域进行重新设置来容纳数据,这便于对不同数据进行简便高效的管理。
根据本发明,将硬盘用作主存储器。因此,可以简便高效地管理存储在虚拟存储区域中的不同数据,并且可以加速主存储器与主机计算机之间的数据交换。
根据本发明,将磁带或光盘用作副存储器。从而,可以简便高效地管理存储在虚拟存储区域中的不同数据,并且可以存储大量的数据。
尽管出于完全和清晰公开的目的针对具体实施例对本发明进行了描述,但是所附权利要求并不因此受限,而是该认为其包含了本领域技术人员能够想到的、完全落入此处所阐释的基本教示范围内的所有改进和替换结构。
权利要求
1.一种存储装置,包括主存储单元,其将从主机计算机接收到的数据存储在第一存储区域中;副存储单元,其将存储在所述第一存储区域中的所述数据存储在第二存储区域中;虚拟存储区域设置单元,其对所述第一存储区域和所述第二存储区域进行逻辑组合,以设置多个虚拟存储区域;以及数据存储控制单元,其控制数据存储,使得将存储在属于一预定虚拟存储区域的所述第一存储区域中的数据存储到属于所述预定虚拟存储区域的所述第二存储区域中,其中,当从所述主机计算机接收到读取存储在所述第二存储区域中的所述数据的请求时,所述存储装置从所述第二存储区域中读取所述数据,并将所读取的数据发送到所述主机计算机。
2.根据权利要求1所述的存储装置,其中所述数据存储控制单元根据用于将第一存储位置转换为第二存储位置和第三存储位置的转换信息对所述数据存储进行控制,其中所述第一存储位置是当从所述主机计算机接收到所述请求时所通知的所述虚拟存储区域中的数据存储位置,所述第二存储位置是所述第一存储区域中的数据存储位置,而所述第三存储位置是所述第二存储区域中的数据存储位置。
3.根据权利要求1或2所述的存储装置,其中当所述数据在预定时间内没有被所述主机计算机参照时,所述数据存储控制单元对所述数据存储进行控制。
4.根据权利要求1或2所述的存储装置,还包括数据返回控制单元,其在所述数据被存储在属于所述预定虚拟存储区域的所述第二存储区域中之后,控制所述数据存储,以从所述第二存储区域中读取所述数据,并将其存储在属于所述预定虚拟存储区域的所述第一存储区域中。
5.根据权利要求4所述的存储装置,还包括数据发送单元,其在从所述主机计算机接收到读取存储在所述第二存储区域中的所述数据的请求时,将由所述数据返回控制单元存储在所述第一存储区域中的所述数据发送给所述主机计算机。
6.根据权利要求1、2或5所述的存储装置,还包括数据容量信息获取单元,其获取与所述虚拟存储区域的数据存储容量有关的信息,其中所述虚拟存储区域设置单元基于所述数据容量信息获取单元所获取的信息来设置所述虚拟存储区域。
7.根据权利要求1、2或5所述的存储装置,其中所述主存储单元是硬盘。
8.根据权利要求1、2或5所述的存储装置,其中所述副存储单元是磁带或光盘。
9.一种存储控制方法,用于控制存储装置的数据存储,所述存储装置包括,将从主机计算机接收到的数据存储在第一存储区域中的主存储单元,以及将存储在所述第一存储区域中的所述数据存储在第二存储区域中的副存储单元,并且当从所述主机计算机接收到读取存储在所述第二存储区域中的所述数据的请求时,所述存储装置从所述第二存储区域中读取所述数据,并将所读取的数据发送到所述主机计算机,所述存储控制方法包括通过对所述第一存储区域和所述第二存储区域进行逻辑组合来设置多个虚拟存储区域;以及控制所述数据存储,以使将存储在属于一预定虚拟存储区域的所述第一存储区域中的数据存储到属于该预定虚拟存储区域的所述第二存储区域中。
10.根据权利要求9所述的存储控制方法,其中所述控制包括根据用于将第一存储位置转换为第二存储位置和第三存储位置的转换信息来控制所述数据存储,其中,所述第一存储位置是当从所述主机计算机接收到所述请求时所通知的所述虚拟存储区域中的数据存储位置,所述第二存储位置是所述第一存储区域中的数据存储位置,而所述第三存储位置是所述第二存储区域中的数据存储位置。
11.根据权利要求9或10所述的存储控制方法,其中所述控制包括当所述数据在一预定时间内没有被所述主机计算机参照过时,对所述数据存储进行控制。
12.根据权利要求9或10所述的存储控制方法,还包括在将所述数据存储在属于所述预定虚拟存储区域的所述第二存储区域中之后,返回所述数据,以从所述第二存储区域中读取所述数据,并将其存储在属于所述预定虚拟存储区域的所述第一存储区域中。
13.根据权利要求12所述的存储控制方法,还包括在从所述主机计算机接收到读取存储在所述第二存储区域中的所述数据的请求后,将在所述返回步骤中存储在所述第一存储区域中的所述数据发送给所述主机计算机。
14.根据权利要求9、10或13所述的存储控制方法,还包括当在所述设置步骤中设置了多个虚拟存储区域时,获取与所述虚拟存储区域的数据存储容量有关的信息;以及基于在所述获取步骤中所获取的信息来重新设置所述虚拟存储区域,其中所述控制包括对所述数据存储进行控制,以使得将存储在属于在所述重新设置步骤中重新设置的预定虚拟存储区域的所述第一存储区域中的数据存储到属于所述预定虚拟存储区域的所述第二存储区域中。
15.根据权利要求9、10或13所述的存储控制方法,其中所述主存储单元是硬盘。
16.根据权利要求9、10或13所述的存储控制方法,其中所述副存储单元是磁带或光盘。
17.一种计算机可读存储介质,其存储用于控制存储装置的数据存储的计算机程序,所述存储装置包括将从主机计算机接收到的数据存储在第一存储区域中的主存储单元,以及将存储在所述第一存储区域中的所述数据存储在第二存储区域中的副存储单元,并且当从所述主机计算机接收到读取存储在所述第二存储区域中的所述数据的请求时,所述存储装置从所述第二存储区域中读取所述数据,并将所读取的数据发送到所述主机计算机,其中所述计算机程序使得计算机执行以下处理通过对所述第一存储区域和所述第二存储区域进行逻辑组合来设置多个虚拟存储区域;以及控制所述数据存储,使得将存储在属于一预定虚拟存储区域的所述第一存储区域中的数据存储到属于所述预定虚拟存储区域的所述第二存储区域中。
全文摘要
存储装置、存储控制方法以及计算机产品。一种存储装置包括主存储单元,其将从主机计算机接收到的数据存储在第一存储区域中;副存储单元,其将存储在所述第一存储区域中的所述数据存储在第二存储区域中;虚拟存储区域设置单元,其逻辑组合所述第一存储区域和所述第二存储区域,以设置多个虚拟存储区域;以及数据存储控制单元,其控制数据存储,以使得存储在属于一预定虚拟存储区域的所述第一存储区域中的数据存储到属于所述预定虚拟存储区域的所述第二存储区域中。
文档编号G06F12/08GK1752947SQ200510008729
公开日2006年3月29日 申请日期2005年2月24日 优先权日2004年9月22日
发明者山本和彦 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1