存储装置以及使用该存储装置的数据存储方法

文档序号:6463641阅读:178来源:国知局
专利名称:存储装置以及使用该存储装置的数据存储方法
技术领域
本发明涉及存储装置以及使用该存储装置的数据存储方法,尤其涉及在
RAID控制下压缩写入数据来高效地进行存储的存储技术。
背景技术
已知为了有效利用存储装置有限的存储资源而压缩数据来进行存储的技 术。压缩数据来进行存储的情况下,压缩后的数据的大小不固定,很大程度上 取决于压缩前的数据的内容。
下述专利文献1公开了一种存储装置,其在磁盘驱动器中压缩数据来进行 存储时,将无法完全存储在规定存储区域中的压缩数据的一部分存储在溢出 (overflow)用的存储区域中。具体而言,在专利文献l中,当将来自主处理 装置的数据写入磁盘驱动器时,通过数据压缩单元压缩该数据,根据写入目的 地地址,判定能否将压缩数据存储在磁盘驱动器内的固定大小存储区域的相应 块中,当判定为无法完全存储时,将该压缩数据的一部分存储在相应的块中, 同时将该压缩数据的剩余部分存储在溢出存储区域中。
另外,近年来,从大容量和高可靠性等观点出发,采用RAID (Redundant Arrays oflndependent Disks )技术的存储装置逐渐占据主流。在RAID中,根 据硬盘驱动器的结构定义了 RAID级别(RAID0 6)。例如,RAID1是在多台 硬盘驱动器中同时写入相同内容的数据(镜像)的方式。另外,RAID5是将 块单位的数据和纠错码数据(校验数据) 一起分散写入到多台硬盘驱动器的方 式。
专利文献1特开平5-189157号公报 RAID结构中,在实用中总体性能优秀的RAID5的结构是主流。如上所 述,在RAID5中从耐故障性的观点出发而存在校验数据。因此,在RAID5的 结构下,在压缩写入数据来进行存储的情况下也压缩其校验数据来进行存储。 与写入数据相比,校验数据的数据位的随机性一般较高,无法期待高压缩效率。200810108912.5
说明书第2/23页
因此,很可能由于压缩效率的低下而导致不断发生数据的溢出,在仅仅准备了 以往的溢出用存储区域的情况下,有可能立即耗尽。另外,在预先准备足够大 小的溢出用存储区域的情况下,运转成本升高,很不经济。

发明内容
因此,本发明的目的在于,提出一种可以在规定的RAID结构下高效地存 储基于写入数据的压缩数据的存储装置。
具体而言,本发明提出一种存储装置,其在无法将压缩数据完全存储在规 定的存储区域中时,将该压缩数据中未存储完的部分(溢出部分)存储在可以 根据使用实际情况而灵活扩展的存储区域(扩展存储区域)中。
另夕卜,本发明提出一种存储装置,其当在某RAID结构下无法期待压缩数 据的高效存储时,通过可以期待高效存储的其它RAID结构来存储该压缩数 据。即,本发明提出一种根据针对校验数据的压缩效率,来选择存储压缩数据 的最佳RAID结构的存储装置。
为了解决上述问题,本发明的存储装置包含以下技术特征而构成。
即,遵从第一观点的本发明是具备具有存储数据的存储介质的磁盘设备、 和控制所述磁盘设备的磁盘控制器的存储装置。所述磁盘控制器具备用于与 主机装置连接的通道适配器;与所述磁盘设备相连的磁盘适配器;以及对所述 通道适配器和所述磁盘适配器之间交换的数据进行暂时存储的高速緩冲存储 器。另外,所述磁盘适配器控制所述磁盘设备以便形成数据巻和池巻,所述数 据巻包含被定义了比所述存储介质的固有存储容量大的存储容量的、与所述存 储介质的存储区域相对应的实际巻,以及分配了所述实际巻以外的存储区域的
数据的存储区域。
所述磁盘适配器,在规定的RAID结构的控制下,基于依照从所述主机装 置发送的写入请求的写入数据,生成该写入数据所属的校验组内的校验数据, 压缩所述校验组内的每一个所述写入数据以及每一个所述生成的校验数据,生 成压缩数据以及压缩校验数据。另外,所述石兹盘适配器判断所述校验组内的每 一个所述压缩数据以及每一个所述压缩校验数据是否超过规定大小,将所述压 缩数据以及所述压缩校验数据中未超过所述规定大小的部分的数据存储在所述实际巻的存储区域中,将所述压缩数据以及所述压缩校验数据中超过所述规 定大小的部分的数据存储在所述虛拟巻所对应的所述池巻的存储区域中。
另外,本发明可以作为方法发明来把握。即,遵从第二观点的本发明,是 具备以下各部的存储装置中的数据存储方法具有存储数据的存储介质的磁盘
设备;和控制所述磁盘设备的磁盘控制器。
所述数据存储方法包含以下步骤所述磁盘控制器控制所述磁盘设备以便 形成数据巻和池巻,所述数据巻包含被定义了比所述存储介质的固有存储容量 大的存储容量的、与所述存储介质的存储区域相对应的实际巻,以及分配了所 述实际巻以外的存储区域的虛拟巻,所述池巻被分配了用于存储与分配给所述 虚拟巻的存储区域相对应的数据的存储区域;所述磁盘控制器按照规定的 RAID结构,基于依照从所述主机装置发送的写入请求的写入数据,生成该写 入数据所属的校验组内的校验数据;所述磁盘控制器压缩所迷校验组内的每一 个所述写入数据以及每一 个所述生成的校验数据,生成压缩数据以及压缩校验 数据;所述磁盘控制器判断所述校验组内的每一个所述压缩数据以及每一个所 述压缩校验数据是否超过规定大小;所述磁盘控制器,将所述压缩数据以及所 述压缩校验数据中未超过所述规定大小的部分的数据存储在所述实际巻的存
部分的数据存储在所述虚拟巻所对应的所述池巻的存储区域中。
根据本发明,可以在规定的RAID结构下高效地存储基于写入压缩数据的 压缩数据。
另外,根据本发明,在无法将压缩数据完全存储在规定的存储区域中时, 将其存储在扩展存储区域中,因此,可以采用与存储区域的使用实际情况对应 的灵活的磁盘设备的结构。
而且,根据本发明,根据针对包含校验位的数据的压缩效率来选择最佳 RAID结构,因此可以进行压缩数据的高效存储。


图1是用于说明本发明的一个实施方式的存储系统的结构的图。 图2是用于从功能上说明本发明的一个实施方式的存储装置中的》兹盘控 制器的磁盘适配器的图。图3是表示本发明的一个实施方式的存储装置中的共享存储器的内容的图。
图4是表示本发明的一个实施方式的存储装置中的区段管理表的一例的图。
图5是表示本发明的一个实施方式的存储装置的共享存储器中存储的地 址管理表的一例的图。
图6是用于说明本发明的一个实施方式的存储装置的共享存储器中存储 的数据巻的图。
图7是用于从概念上说明本发明的一个实施方式的存储装置中的存储区 域的动态分配的图。
图8是表示本发明的一个实施方式的存储装置中的共享存储器中存储的 数据块管理表的一例的图。
图9是表示本发明的一个实施方式的存储装置中的共享存储器中存储的 磁盘设备管理表的 一例的图。
图10是用于说明本发明的一个实施方式的存储装置中的数据写入机制的图。
图11是用于说明本发明的一个实施方式的存储装置中的数据写入机制的图。
图12是用于说明本发明的一个实施方式的存储装置中的数据写入处理的 流程图。
图13是用于说明针对本发明的一个实施方式的存储装置的虚拟巻的数据 写入处理的流程图。
图14是用于说明本发明的一个实施方式的存储装置中的数据写入机制的图。
图15是用于说明本发明的一个实施方式的存储装置中的数据写入机制的图。
图16是表示本发明的一个实施方式的存储装置中的共享存储器中存储的 磁盘设备管理表的一例的图。
图17是用于说明本发明的 一个实施方式的存储装置中的数据写入处理的流程图。
图18是用于说明本发明的一个实施方式的存储装置中的数据写入机制的图。
图19是用于说明本发明的一个实施方式的存储装置中的数据写入机制的图。
图20是表示本发明的一个实施方式的存储装置中的共享存储器中存储的 磁盘设备管理表的 一例的图。
图21是用于说明本发明的一个实施方式的存储装置中的数据写入处理的 流程图。
图22是用于说明本发明的一个实施方式的存储装置中的数据写入处理的 流程图。
图23是用于说明本发明的一个实施方式的存储装置中的数据写入处理的 流程图。
图24是表示本发明的一个实施方式的存储装置中的共享存储器中存储的 磁盘设备管理表的一例的图。
图25是用于说明本发明的一个实施方式的存储装置中的数据写入处理的 流程图。
符号说明
1计算机系统、2网络、3主机装置、4存储装置、5磁盘设备、6磁盘 控制器、61通道适配器、62高速緩冲存储器、63磁盘适配器、64共享存储 器、65内部交换机
具体实施例方式
接下来,参照

本发明的实施方式。
(第一实施方式)
在第一实施方式中说明如下构成的存储装置在RAID5的结构下压缩写 入数据,当无法将该压缩后的数据完全存储在数据巻上的实际存储区域中时, 将该未存储完的部分存储在通过巻容量虚拟化功能提供的扩展存储区域中。
图1是用于说明本发明的 一 个实施方式的存储系统的结构的图。如该图所 示,计算机系统l包含经由网络2与主机装置3相连的存储装置4。网络2是例如LAN、因特网或SAN ( Storage Area Network),包含网络交 换机和集线器等而构成。在本实施方式中,网络2由使用光纤通道协议的SAN (FC-SAN)构成。
主机装置3例如是,作为银行的业务系统或飞机的座席预约业务系统等的 核心的计算机。主机装置3具备处理器、主存储器、通信接口和本地输入输出 装置等硬件资源,另外,具备设备驱动程序和操作系统(OS)、应用程序等软 件资源(未图示)。由此,主机装置3在处理器的控制下执行各种程序,通过 与硬件资源的协同工作来实现希望的处理。例如,主机装置3通过在处理器的 控制下执行业务应用程序,访问以下详细描述的存储装置4,实现希望的业务 系统。
存储装置4是向主机装置3提供数据存储服务的辅助存储装置。存储装置 4具备存储数据的磁盘设备5;和管理磁盘设备5的结构、控制对磁盘设备 5的写入或读出的I/O处理的磁盘控制器6。存储装置4还可以包含用于管理 存储装置4全体的管理装置乃至服务处理器(未图示)。或者也可以构成包含 管理装置的功能的磁盘控制器6。管理装置例如是安装了管理程序的通用计算 机。
本实施方式的存储装置4如后所述,在RAID控制下压缩写入数据,将该 压縮数据存储在磁盘设备5的规定的存储区域。当压缩数据超过规定的块大小 时,存储装置4将该超过的部分存储在扩展存储区域(池巻)中。如后所述, 池巻(Pool Volume)是与通过巻容量虚拟化功能提供的虛拟巻相对应的、存 储数据实体的逻辑巻。
磁盘设备5例如是包含多个硬盘驱动器(HDD )或半导体存储器等存储介 质而构成的物理设备(PDEV )。有时也将多个硬盘的集合体称为磁盘阵列(Disk Array )。在磁盘设备5中,在磁盘控制器6的控制下形成用于向主机装置3提 供的一个以上的逻辑设备(LDEV)。可以对应于将若干硬盘驱动器虚拟地汇 总为一个设备而得到的虚拟设备VDEV,来形成逻辑设备。
逻辑设备是主机装置3能够识别的逻辑存储装置。可以对逻辑设备分配逻 辑单元(LU)。在这种情况下,将各逻辑设备分配给后述的通道适配器61中 设置的各端口,由此,主机装置3将逻辑设备识别为逻辑单元。对各逻辑单元赋予逻辑单元号码(LUN)。另外,将逻辑单元分割为I/O访问的最小单位、 即块,对各块分配逻辑块地址(LBA)。由此,主机装置3通过将由LUN和 LBA构成的逻辑地址赋予存储装置4,可以对特定逻辑单元中的任意块中存储 的数据进行访问。逻辑设备以及逻辑单元可以通过应用存储装置4的系统环境 而区别,但在本发明中可以将二者取相同含义。
在逻辑设备中定义与属性对应的逻辑巻(LVOL或VOL)。但习惯上有时 也将二者取相同含义。在本实施方式中,作为逻辑巻而定义数据巻和池巻。如 后所述,数据巻包含实际巻以及虚拟巻。
磁盘控制器6具备通道适配器(CHA) 61、高速緩冲存储器(CM) 62、 磁盘适配器(DKA) 63以及共享存储器(SM) 64,这些部件(component) 经由内部交换器(SW) 65相互连接。从高速性、耐故障性的观点出发,理想 的是将这些部件冗余化。
磁盘控制器6是控制磁盘设备5,实现数据存储服务的存储装置4的主系 统板(Main System Board)。本实施方式的磁盘控制器6包含实现除了基于来 自主机装置3的访问请求的通常的I/O处理功能以外,还实现数据压缩/解压 功能、RAID功能以及巻容量虛拟化功能的结构。
通道适配器61是用于经由网络2将存储装置4与主机装置3可通信地连 接的部件。在本例中搭载了两个通道适配器61。各通道适配器61具备微处 理器6U、本地存储器(local memory ) 612、通信接口 ( I/F ) 613和I/O处理 器614。
微处理器611是通过执行存储在本地存储器612中的微程序,总体地控制 通道适配器61的动作的芯片电路。通信I/F613从网络2取得通信数据包 (packet)乃至帧(frame),或者向网络2送出通信数据包。通信I/F613具备 用于与网络2连接的多个端口 (未图示)。I/O处理器614控制与经由内部交换 机65连接的磁盘控制器6内的其它部件(例如高速緩冲存储器62或共享存储 器64)之间的数据收发。
具体而言,微处理器6H,当经由通信I/F613接收到数据包时,进行与规 定的协议对应的协议变换处理,取出内部数据。接着,微处理器611解释该内 部数据并控制I/0处理器614,若该内部数据是写入命令,则将该写入命令写入共享存储器64,将其写入数据(即用户数据)写入到高速緩沖存储器62中。 1/0处理器614接受该控制,将写入命令写入共享存储器64,并且将其写入数 据写入到高速緩冲存储器62中。
另外,微处理器611按照读出命令,通过I/0处理器614从高速緩冲存储 器62取出读出数据,进行与规定的协议对应的协议变换处理来生成数据包, 并且经由通信I/F613发送至网络2。
高速緩冲存储器62为了对主机装置3提供高系统性能,对主机装置3和 磁盘设备5 (逻辑巻)之间交换的用户数据进行暂时存储(高速緩冲存储)。 即,高速緩冲存储器62是用于通道适配器61和磁盘适配器63之间的数据转 发的存储器。高速緩冲存储器62例如由DRAM等易失性存储器构成。或者, 高速援冲存储器62也可以由闪速存储器等非易失性存储器构成。
高速缓冲存储器62如后所述,还用作对压缩后的写入数据(压缩数据) 进行暂时存储的存储器。例如通过磁盘适配器63来进行数据压缩/解压处理。
磁盘适配器63是对经由磁盘通道连接的》兹盘设备5进行I/O访问的部件。 在本例中搭载了两个磁盘适配器63。各磁盘适配器63具备微处理器631、 本地存储器632、》兹盘接口 (I/F) 633和I/O处理器634。在本实施方式中, 磁盘适配器63安装了 1/0控制功能、数据压缩/解压功能、RAID功能以及巻 容量虚拟化功能。这些功能例如作为图2所示的固件(firmware)而实现。
微处理器631是通过执行存储在本地存储器632中的微程序,总体控制磁 盘适配器63的动作的芯片电路。在本实施方式中,微处理器631在RAID控 制下对高速緩沖存储器62中存储的写入数据进行按照规定的压缩算法的压缩 处理来生成压缩数据,将其写入磁盘设备5的规定的存储区域。这里所说的规 定的存储区域是指实际巻上的存储区域(实际存储区域)。将压缩数据中无法 完全存储在该实际存储区域中的部分的数据,存储在通过巻容量虚拟化功能而 管理的扩展存储区域(池巻)中。压缩/解压算法,例如可以应用LZW方式等 已知算法。
磁盘I/F633是用于对作为物理设备的磁盘设备5进行I/O访问的接口 。 I/O 处理器634控制与经由内部交换机65连接的其它部件(例如高速緩冲存储器 62或共享存储器64 )之间的数据收发。更具体而言,微处理器631定期地(例如数十毫秒)或不定期地通过1/0 处理器634参照共享存储器64。微处理器631当发现共享存储器64上的未处 理的写入命令时,从高速緩冲存储器62取出对应的写入数据,在RAID控制 下进行压缩处理,生成压缩数据。即,生成基于写入数据的校验数据,生成与 包含该校验数据的写入数据对应的压缩数据。将压缩数据再次存储在高速緩沖 存储器62上的压缩数据用块中。然后,微处理器631在RAID控制下将生成
级)。例如,若在RAID5 (3D+1P)的结构中,将压缩数据与其校验数据一起 分散存储在物理上不同系列的磁盘设备5中。另夕卜,此时,微处理器631判断 能否将生成的压缩数据完全存储在数据巻中规定的实际存储区域中,当判断为 无法完全存储时,将该压缩数据中未存储完的部分的数据存储在通过巻容量虚 拟化功能而管理的扩展存储区域中。
另外,微处理器631按照共享存储器64上的读出命令,在RAID控制下 从规定的逻辑巻读出压缩数据,将其暂时存储在高速緩冲存储器62中。然后, 微处理器631进行解压处理,将所得到的解压数据(原始数据)再次写入高速 緩冲存储器62(升级)。当将压缩数据的一部分存储在扩展存储区域中时,微 处理器631适宜从扩展存储区域读出该部分压缩数据,合并成一个压缩数据。
共享存储器64对存储装置4内的各部件应参照的各种信息进行存储。共 享存储器64由例如DRAM等易失性存储器构成。
内部交换机65是由交叉开关(Crossbar Switch)等构成的交换设备。内部 交换机65协调所输入的数据信号的沖突,切换数据信号的路径,构建发送源 模块和发送目的地模块的路径。此外,内部交换机65也可以是数据包交换方 式的交换设备。
图3是表示本发明的一个实施方式的存储装置4中的共享存储器64的内 容的图。如该图所示,共享存储器64存储例如系统结构信息、高速緩冲存储 管理表、数据块管理表、物理设备管理表等各种信息。
系统结构信息是磁盘设备5的结构信息或存储装置4内的各部件上运行的 微程序的版本信息等、与系统结构相关的信息。作为磁盘设备5的结构信息, 包含例如RAID结构信息、物理设备/逻辑设备(巻)的结构信息、巻容量虚拟化结构信息。物理设备/逻辑设备结构信息,例如被定义为区段(segment)
管理表以及地址管理表。另外,巻容量虚拟化结构信息例如包含池巻管理表。
通过系统管理者操作的管理装置,来设定.管理系统结构信息。例如,系
统管理者可以操作管理装置来设定RAID5 (3D+1P)的结构。另外,系统管理
者,与硬盘驱动器的增设相配合地操作管理装置,来设定巻容量虚拟化结构信 台
高速緩冲存储管理表是管理在高速緩冲存储器62中高速緩沖存储的数据 的目录信息的表。高速緩冲存储管理表管理如下内容构成写入数据的每一个 数据块对应于磁盘设备5(逻辑巻)上的哪个块。
如上所述,在本实施方式中,在逻辑巻(数据巻)中不存储写入数据本身, 而是存储其压缩数据。因此,典型地考虑平均压缩率,将数据巻上规定的存储 区域的块大小规定得小于在高速缓冲存储器62上规定的块大小。另外,磁盘 适配器63,将从高速緩冲存储器62的规定的块中读出并压缩的数据,再次存 储在高速緩冲存储器62的其它块(压缩数据用块)中,然后进行降级。因此, 高速緩冲存储管理表,将高速緩冲存储器62上的RAW状态的写入数据以及 压缩数据的各逻辑地址,与数据巻上的逻辑地址对应起来。
数据块管理表是用于管理通过RAID控制的每个校验组的数据块的表。所 谓校验组(parity group),在本说明书中是指同时并行地被写入阵列磁盘的数 据块组。例如,若是RAID5 (3D+1P),则由3个数据块和一个校验块构成的 数据块组属于同 一校验组。
磁盘设备管理表,是用于管理在RAID控制下形成数据巻的、具有条带
(stripe)结构的(即作为物理上不同系列而构成的)"磁盘设备"的地址空间 的使用状况的表。准备条带结构数量的磁盘设备管理表。例如,若是RAID5
(3D+1P),则准备4个磁盘设备管理表。此外,如按照惯用的RAID的说明, 则可以认为条带构成的各个磁盘设备等同于各个物理设备。然而,在本实施方 式中,以包含通过巻容量虚拟化功能而不具有物理存储区域的虛拟巻的概念, 说明条带构成的"磁盘设备"。因此,在本说明书中,将在RAID控制下条带 构成的各个磁盘设备称为"伪磁盘设备"。若是RAID5 (3D+1P),则在4个伪 磁盘设备上形成某个数据巻。图4表示本发明的一个实施方式的存储装置4中的区段管理表的一例。区 段管理表,是用于管理存储装置4所提供的逻辑巻上的存储区域空间的表。如 该图所示,区段管理表包含磁盘ID ( Disk ID )、区段号码(Segment//)、 LBA 开始地址(LBA—start )、 LBA结束地址(LBA—end )、区段的使用状况(In—use )。
磁盘ID是用于唯一识别构成磁盘设备5的物理设备的识别符。区段号码 是用于唯一识别区段的号码。区段是磁盘控制器6管理的磁盘设备5上的存储 区域。LBA开始地址以及LBA结束地址是表示磁盘设备5上的区段的物理的 开始位置以及结束位置的地址。根据LBA开始地址以及LBA结束地址求得区 段的大小。使用状况表示区段是否已被使用。在区段处于使用中的情况下设定 "1"的值,在未使用的情况下设定"0"的值。
图5表示本发明的一个实施方式的存储装置4的共享存储器64中存储的 地址管理表的一例。地址管理表是将存储装置4提供的逻辑巻上的存储区域 (即逻辑地址空间)和磁盘设备5上的实际的存储区域(即物理地址空间)对 应起来的表。磁盘适配器63通过参照地址管理表,将作为数据的存储目的地 而指定的逻辑地址变换为磁盘设备5上的物理地址,按照该物理地址来进行访 问。另外,地址管理表对逻辑巻中作为池巻而被使用的区段进行定义。
即,如该图所示,地址管理表包含逻辑单元号码(LUN)、区段号码 (Segment#)、 LBA开始地址(LBA—start)、 LBA结束地址(LBA_end)以及 池分配状况。逻辑单元号码是用于唯一识别存储装置4向主机装置3提供的逻 辑巻的号码。区段号码是用于唯一识别区段管理表中所管理的存储区域的号 码。逻辑巻LU由多个区段构成。LBA开始地址以及LBA结束地址表示区段 的逻辑的开始地址和结束地址。池分配状况表示该区段是否作为池巻被使用。 当区段作为池巻被使用时,写入"1"。
图6是用于说明本发明的一个实施方式的存储装置4的共享存储器64中 存储的数据巻的图。如该图所示,数据巻DVOL0具有0~ 99999的逻辑地址 空间,分配了第一磁盘设备以及第二磁盘设备中的各个区段。第一磁盘设备5 如图4所示那样,是分配了磁盘ID "0"的物理设备,第二磁盘设备5是分配 了磁盘ID "1"的物理设备。另外,如图5所示那样,区段号码"1"所表示 的区段提供数据巻DVOL0上的0~ 1299的逻辑地址空间。另外,区段号码"3"所表示的区段提供1300 ~ 1999的逻辑地址空间。于是,数据巻DVOL0像一 个磁盘设备那样被处理。
数据巻DVOL0的逻辑地址空间2000 - 99999,未#1分配作为物理设备的 磁盘设备。磁盘控制器6表面上也对数据巻DVOL0的该空间存储数据。为此, 存储装置4还具有被称为池巻PVOL的逻辑巻,将应该对数据巻DVOL0内的 存储区域中未被分配磁盘设备5上的区段的存储区域(扩展存储区域)存储的 数据,存储在该池巻PVOL上。即,在数据巻DVOL0的逻辑地址空间2000-49999中存储的数据实体,被存储在池巻PVOL中。因此,在内部按照池巻管 理表对池巻PVOL来进行针对数据巻的扩展存储区域的访问。应该存储在扩 展存储区域中的数据,是无法完全存储在通过物理设备而实际提供的存储区域 (实际存储区域)中的压缩后的数据块。
该图简略地说明了应用了巻容量虛拟化功能的数据巻DVOL。在本实施方 式中,磁盘设备5根据RAID结构而条带构成。因此,实际通过物理上不同系 列的4个伪磁盘设备来提供数据巻DVOL。
图7是用于在概念上说明本发明的一个实施方式的存储装置4中的存储区 域的动态分配的图。
如上所述,在本实施方式的存储装置4的磁盘设备5中形成数据巻DVOL 和池巻PVOL。数据巻DVOL是提供给主机装置3的逻辑巻。数据巻DVOL 依存于构成实际安装的磁盘设备5的物理设备的固有存储容量,分为实际巻和 虚拟巻。即,实际巻包含在由构成磁盘设备5的物理设备实际提供的区段上形 成的物理存储区域。与之相对,虛拟巻对应于实际提供的区段以外的虛拟的存 储区域(扩展存储区域)。因此,在虚拟巻中不存储数据实体。池巻PVOL是 提供在将来追加安装,兹盘设备、确保物理存储区域并且定义新数据巻DVOL 之前的期间,对应该存储在虚拟巻中的数据实体进行暂时存储的存储区域的逻 辑巻。
针对数据巻VOL中的实际巻上的存储区域,存储装置4将主机装置3识 别的逻辑地址(LUN和LBA)与磁盘设备5中的存储区域上的物理地址一对 一地关联起来。由此,主机装置3可以通过指定规定的逻辑地址来访问磁盘设 备5上所希望的存储区域。另一方面,关于池巻PVOL上的存储区域,不将主机装置3识别的逻辑地 址与实际用于访问数据的磁盘设备5上的物理地址直接关联起来。磁盘适配器 63按照指定了数据巻DVOL中的虚拟巻上的存储区域的数据写入命令,将该 存储区域动态地分配给池巻PV0L。另外,》兹盘适配器63按照从数据巻DVOL 中的虚拟巻上的存储区域的读出命令,从池巻PVOL上的该存储区域读出数 据。
这样,存储装置4保持池巻管理表,管理虚拟巻和池巻之间的动态的分配。 池巻管理表例如被保持在磁盘控制器6的共享存储器64中。存储装置4当无 法将压缩数据完全存储在实际巻中时,将该未存储完的部分存储在池巻PVOL 中,同时将虚拟巻上的逻辑地址和表示池巻地址的指针关联起来,登录在池巻 管理表中。
图8是表示本发明的一个实施方式的存储装置4中的共享存储器64中存 储的数据块管理表的一例的图。如该图所示,数据块管理表将槽ID (slotID) 和数据巻内的地址对应起来。槽ID是用于识别校验组内的数据块的识别符。 由此,数据块管理表管理如下内容校验组内的数据块存储在哪个物理设备的 哪个地址。
图9是表示本发明的一个实施方式的存储装置4中的共享存储器64中存 储的磁盘设备管理表的一例的图。如该图所示,磁盘设备管理表将各伪磁盘设 备内的各个地址所表示的存储区域、与其中存储的数据块(槽识别符)对应起 来。另外,磁盘设备管理表管理着扩展存储区域中的使用状况。在本例中表示 了与伪磁盘设备(0)对应的磁盘设备管理表。即,该图的磁盘设备管理表表 示在以地址"xxxx"表示的存储区域中存储"D1-1"、在扩展存储区域l中存 储"D1-2"的情况。另外,还表示可以使用扩展存储区域2。而且,还表示扩 展存储区域n尚未被分配实际的存储区域。
图IO和图11是用于说明本发明的一个实施方式的存储装置4中的数据写 入机制(mechanism)的图。具体而言,这些图表示某个写入数据在被压缩后, 在RAID5 (3D+1P)下被存储在不同系列的伪磁盘设备中的情况。
针对数据巻的写入数据,在存储装置4的内部作为被分块化的数据(数据 块)来处理。单位块的大小例如是64KB。在本实施方式中,将写入数据压缩后存储,因此在数据巻上规定小于该大小的(例如16KB)的单位存储区域。 高速緩冲存储器62上的64KB的各块,与数据巻上的16KB的各块相对应。 因此,在将64KB的数据压缩时,若其压缩数据未超过16KB,则可以容纳在 与高速緩冲存储器62上的64KB块对应的数据巻上的16KB块(基本块)中, 但是若其压缩数据超过了 16KB,则需要该16KB块以外的备用块。即,当64KB x 1数据块的压缩数据由16KB x 3数据块构成时,将超出的2数据块存储在 备用块中。
现在,假设存在对某个数据巻的数据D1的写入请求。为了简化说明,假 设写入数据Dl是块大小为64KB的单一的数据块。为了在RAID控制下将写 入数据Dl存储在数据巻中,需要与相同校验组内的数据块D2和D3 —起计 算校验位(parity)并将它们存储(图10 (A))。
数据块Dl ~D3在磁盘适配器63的控制下被压缩,得到图10 (B)所示 的压缩数据块。压缩数据块的单位大小为16KB。即,压缩前的数据块D1成 为压缩数据块Dl-l和Dl-2;压缩前的数据块D2成为压缩数据块D2-l和D2-2, 并且压缩前的数据块D3成为压缩数据块D3-l。另外,将这些压缩前数据块 Dl ~D3的校-验数据P变换为压缩数据块Pl-l ~Pl-4。即,压缩数据块Dl-2、 D2-2以及P2-2 ~ P2-4是无法完全存储在数据巻上的基本块中的数据块。
在本实施方式中,高速緩沖存储器62上的64KB块,与数据巻上的16KB 基本块相关联。基本块是数据巻的实际巻中的存储区域(实际存储区域)。另 外,根据数据的内容,有时无法将其压缩数据完全存储在实际存储区域中,因 此,将该无法完全存储的部分的数据块存储在虚拟巻的块(扩展存储区域)中。
即,如图ll所示,压缩数据块D1-1、 D2-l、 D3-1以及P-1,在RAID控 制下分别被存储在构成数据巻的RAID组中的伪磁盘设备(0) ~伪磁盘设备 (3)上的实际巻中的块(实际存储区域)中。另外,压缩数据块Dl-2、 D2-2 以及P-2 ~ P-4,分别被存储在该RAID组中的对应的伪磁盘设备(0 ) ~伪磁 盘设备(4)上的虚拟巻中的块(扩展存储区域)中。但是,如上所述,虚拟 巻未被分配存储数据实体的物理设备的区段。因此,虛拟巻中存储的数据实体 被存储在池巻中。
图12是用于说明本发明的一个实施方式的存储装置4中的数据写入处理的流程图。具体而言,该图说明了数据写入处理时的磁盘适配器63的动作。
即,磁盘适配器63参照共享存储器64,当发现未处理的写入命令时,确 定高速緩冲存储器62上的与之对应的写入数据。磁盘适配器63根据该写入数 据生成遵从RAID结构的校验数据(STEP1201 )。即,在本例中,磁盘适配器 63遵从RAID5 (3D+1P)的结构,针对每3个数据块生成1个校验数据块。 通过这3个数据块和1个校验数据块形成1个校验组。因此,即使是1个数据 块的写入,也需要与校验组内的其余两个数据块一起生成新的校验数据块。一 般将其称为"写惩罚"(write penalty)。在该阶段,各数据块为64KB的块大 小。
接着,磁盘适配器63对该校验组中的各数据块(包含校验数据块)进行 压缩处理,分别生成压缩数据列(STEP1202)。压缩数据列由l个以上的数据 块(压缩数据块)构成。》兹盘适配器63将各个压缩所得的数据块写入高速緩 冲存储器62中的压缩数据用块中,更新高速緩冲存储管理表。压缩数据用块 例如是16KB的块大小。
磁盘适配器63接着为了将压缩数据块分散存储在不同系列的伪磁盘设备 中,而进行以下处理。
具体而言,磁盘适配器63,首先将校验周期(parity cycle )变量I设定为 0(STEP1203)。接着,磁盘适配器63在数据块管理表中登录该压缩数据块的 条目(STEP1204)。即,磁盘适配器63,对于构成应该存储在伪磁盘设备(I) 中的压缩数据列的先头的压缩数据块,分配伪磁盘设备(I)中的实际存储区 域的地址。即,当压缩数据列由压缩数据块D1-1以及Dl-2构成时,对该压缩 数据块D1-1首先分配伪磁盘设备(I)中的实际存储区域的地址。接着,磁盘 适配器63按照该地址在该实际存储区域中存储压缩数据块(STEP1205 )。
然后,磁盘适配器63判断该压缩数据列是否包含超过部分的压缩数据块 (STEP1206)。即,判断压缩数据列是否由两个以上的压缩数据块构成。磁盘 适配器63,当判断为没有超过部分的压缩数据块时(STEP1206,否),将校验 周期变量I的值增加1 ( STEP1209 ),判断校验周期变量I是否在规定的校验 周期数(在本例中为4)以下(STEP1210)。当校验周期变量I在规定的校验 周期数以下时(STEP1210,否),由于校验组内有未处理的压缩数据块,因此返回STEP1204的处理。
磁盘适配器63,当判断为存在超过部分的压缩数据块时(STEP1206,是), 在数据块管理表中登录该超过部分的压缩数据块的条目(STEP1207)。即,磁 盘适配器63对该超过部分压缩数据块分配伪磁盘设备(I)中的扩展存储区域 的地址。
接着,磁盘适配器63进行用于将超过部分的压缩数据块存储在虚拟巻中 的处理(STEP1208 )。在后面详细描述针对虚拟巻的存储处理。
然后,磁盘适配器63将校验周期变量I的值增加1 ( STEP1209 ),判断校 验周期变量I是否在规定的校验周期数(在本例中为4)以下(STEP1210)。 当校验周期变量I在规定的校验周期数以下时(STEP1201,否),由于校验组 内有未处理的压缩数据块,因此返回STEP1204的处理。
当校验周期变量I达到规定的校验周期数时(STEP1210,是),磁盘适配 器63结束该数据写入处理。
图13是用于说明针对本发明的一个实施方式的存储装置4中的虚拟巻的 数据写入处理的流程图。具体而言,该图是用于说明图12所示的STEP1208 的详细情况的流程图。
即,如该图所示,磁盘适配器63首先判断是否已经对虛拟巻分配了池巻 上的存储区域(STEP1301)。磁盘适配器63,当判断为未对虚拟巻分配池巻上 的存储区域时(STEP1301,否),在池巻管理表中追加关于超过部分的压缩数 据块的条目(STEP1302)。若以上述例子而言,则关于压缩数据块D1-2,将 虛拟巻的地址和池巻的地址对应起来。
接着,磁盘适配器63在磁盘设备管理表的扩展存储区域中追加数据块 (STEP1303 )。然后,磁盘适配器63将超过部分的压缩数据块存储在虛拟巻 中(STEP1304)。在这种情况下,实际上在磁盘适配器63的控制下,将该超 过部分的压缩数据块存储在提供池巻的磁盘设备5中。
如上所述,根据本实施方式,在采用为了压缩存储写入数据而将高速緩冲 存储器62上的块固定地分配给磁盘设备5上的更小的块的结构的存储装置中, 即使在无法将压缩数据完全存储在磁盘设备5上的该块中时,也可以将该压缩 数据中未存储完的部分的数据存储在扩展存储区域中。该扩展存储区域,作为与之相关联的池巻而被管理,因此可以采用与存储区域的使用实际相对应的灵 活的磁盘设备的结构。 (第二实施方式)
在第二实施方式中,说明在RAID结构下对写入数据的压缩数据进行镜像 (mirroring)来存储时,将复制的压缩数据存储在虚拟巻中而构成的存储装置 4。
图14和图15是用于说明本发明的一个实施方式的存储装置4中的数据写 入机制的图。具体而言,这些图说明了在将某写入数据D4~D6压缩后,在 RAID1 (4D)下存储在伪磁盘设备中的情况。
考虑对某数据巻存储写入数据D4 D6的情况。为了简化说明,设写入数 据D4 ~ D6是块大小为64KB的单一的数据块。数据块D4 ~ D6在磁盘适配器 63的控制下被压缩,得到压缩数据块D4-1 D6-1。另外,以压缩数据块D4-1' D6-1,表示压缩数据块D4-1 D6-1的复制数据(镜像数据)。压缩数据块的大 小是16KB。因此,存储装置4对于64KB x 3数据块存储16KB x 6数据块(图 14)。
在本实施方式中如图15所示,将这些压缩数据块分散存储在每个伪磁盘 设备的实际存储区域中,同时将镜像后的压缩数据块分散存储在扩展存储区域 中。但是,如本例所示,当数据周期(data cycle)是3、伪^磁盘设备是4个时, 也可以将一个镜像后的压缩数据块存储在第四伪磁盘设备的实际存储区域中。
图16是表示在本发明的一个实施方式的存储装置4中的共享存储器64中 存储的磁盘设备管理表的一例。如该图所示,本实施方式的磁盘设备管理表, 针对每个槽ID,将第一地址和第二地址对应起来。第二地址是存储镜像后的 压缩数据块的数据巻的地址。
图17是用于说明本发明的一个实施方式的存储装置4中的数据写入处理 的流程图。具体而言,该图说明了数据写入处理时的磁盘适配器63的动作。 此外,在本例中,RAID组是4D。
即,如该图所示,磁盘适配器63参照共享存储器64,当发现未处理的写 入命令时,确定高速緩冲存储器62上与之对应的写入数据。磁盘适配器63 遵从RAIDl,对构成该写入数据的数据块进行压缩处理,生成压缩数据块(STEP1701)。而且将该压缩数据块二重化(STEP1702)。将压缩数据块及其 二重化后的数据块存储在高速緩沖存储器62中的压缩数据用块中。在本例中, 将3个压缩数据块作为1个数据周期,在其后接着存储二重化后的压缩数据块。
然后,磁盘适配器63为了将压缩数据块分散存储在不同系列的伪磁盘设 备中而进行以下处理。即,磁盘适配器63首先将1个数据周期的量的压缩数 据块分散存储在不同的伪磁盘设备(0) ~伪磁盘设备(2)中(STEP1703 )。 然后,磁盘适配器63将数据周期变量I设置为0 (STEP1704)。
磁盘适配器63判断数据周期变量I是否为0 ( STEP1705 )。即,磁盘适配 器63选择在伪磁盘设备(0)中存储的压缩数据块(例如D4-l)所对应的二 重化后的压缩iU居块(例如D4-1')。
磁盘适配器63,当判断为数据周期变量I是O时(STEP1705,是),将该 二重化后的压缩数据块存储在伪磁盘设备(3 )的实际存储区域中(STEP1706 ), 在数据块管理表中登录该二重化后的压缩数据块的条目(STEP1707)。
与之相对,当数据周期变量I是O以外时,磁盘适配器63将该二重化后 的压缩数据块存储在伪磁盘设备(I-1)的扩展存储区域中(STEP1708),在数 据块管理表中登录该二重化后的压缩数据块的条目(STEP1709)。即,将伪磁 盘设备(0)以外的伪磁盘设备中存储的压缩数据块所对应的二重化后的压缩 数据块,存储在循环改变(rotate shift) 了一次的伪磁盘设备中。
然后,磁盘适配器63将数据周期变量I的值增加1 (STEP1710),判断数 据周期变量I是否到达1个数据周期(STEP1711 )。当数据周期变量I未到达 1个数据周期时(STEP1711,否),磁盘适配器63返回STEP1705的处理。另 一方面,当数据周期变量I到达了 1个数据周期时(STEP1711,是),结束该 写入处理。
如上所述,根据本实施方式,在RAID1的结构下将写入数据的压缩数据 进行镜像来存储时,将复制的压缩数据存储在虚拟巻中,因此可以实现高效的 数据存储。
(第三实施方式)
第三实施方式是上述第一实施方式中表示的技术特征和上述第二实施方 式中表示的技术特征的组合。具体而言,在本实施方式中,存储装置4在数据写入处理时,针对每个校验组生成校验数据块,对各数据块进行压缩处理。存
储装置4基于压缩处理的结果,判断使用校验位(parity)的数据存储方式和 基于镜像的数据存储方式中的哪种方式是高效的数据存储,按照被认为高效的 数据存储方式,将压缩数据块存储在数据巻中。在这种情况下,如上所述,适 宜将压缩数据块存储在虚拟巻中。
图18和图19是用于说明本发明的一个实施方式的存储装置4中的数据写 入机制的图。具体而言,这些图表示了在将某写入数据压缩后,在RAID5 (3D+1P)或RAID1 (4D)下存储在伪磁盘设备中的情况。
现在,假定有针对某个数据巻的数据D1的写入请求,接着有数据D5的 写入请求。为了简化说明,设写入数据是块大小为64KB的单一的数据块。为 了在RAID5控制下将写入数据(数据块)存储在数据巻中,需要与各个相同 的校验组内的数据块一起计算校验位并将它们存储。即,关于数据块Dl,与 数据块D2和D3—起计算校验数据块Pl,另外,关于数据块D5,与数据块 D4和D6 —起计算校验数据块P2。它们是在高速緩冲存储器62上的64KB块 中存储的、压缩前的数据块。
假定数据块Dl ~ D3和Pl通过磁盘适配器63被压缩,得到图18 ( A)所 示的数据块。它们是被存储在高速緩冲存储器62上的16KB块中的压缩数据 块。如上所述,压缩数据块Dl-2、 D2-2以及Pl-2 Pl-4,是无法完全存储在 数据巻的实际巻的实际存储区域中的数据块。
另一方面,假定数据块D4 D6以及P2通过》兹盘适配器63被压縮,得到 图18 (B)所示的压缩数据块。即,将数据块D4 D6变换为,压缩到可以存 储在数据巻的实际巻中的 一 个实际存储区域中而得的压缩数据块D4-1 ~ D6-l。另夕卜,数据块P2的压缩效率低(压缩率高),被变换为压缩数据块P2-1 ~ P2-4。此外,在本说明书中,压缩率是指将压缩后的数据大小除以压缩前的数 据大小而得到的值。因此,所谓压缩率低,意味着压缩后的数据大小较小、压 缩效率高。
因此,根据数据块D4 D6和P2生成7个压缩数据块。与之相对,在将 数据块D4-l ~ D6-l 二重化来存储在数据巻中时,若存储6个压缩数据块便足 够。因此,本实施方式的存储装置4在压缩写入数据后,检查包含校验位的压缩数据块的数量,选择存储更少数量的压缩数据块便足够的方式。
因此,如图19所示,将压缩数据块D1-1、 D2-l、 D3-l以及P-1在RAID5 控制下分别存储在构成数据巻的RAID组中的伪磁盘设备(0 ) ~伪磁盘设备 (3)的实际巻中。另外,将压缩数据块Dl-2、 D2-2以及P-2 P-4分别存储 在该RAID组中的对应的伪f兹盘设备(0 ) ~伪^兹盘设备(4 )的虚拟巻中。
另夕卜,压缩数据块D4-1 ~D6-1在RAID1控制下被镜像,利用扩展存储区 域存储在伪磁盘设备(0) ~伪磁盘设备(3)中。
图20是表示本发明的一个实施方式的存储装置4中的共享存储器64中存 储的磁盘设备管理表的一例的图。具体而言,该图表示了按照上述例子通过使 用校验位的数据存储方式存储了写入数据时的磁盘设备管理表。通过基于镜像 的数据存储方式存储了写入数据时的磁盘设备管理表,与图16所示的磁盘设 备管理表相同。
图21 ~图23是用于说明本发明的一个实施方式的存储装置4中的数据写 入处理的流程图。具体而言,该图说明了数据写入处理时的,兹盘适配器63的 动作。
即,磁盘适配器63参照共享存储器64,当发现未处理的写入命令时,确 定高速緩冲存储器62上与之对应的写入数据。磁盘适配器63根据该写入数据, 生成遵从RAID结构的校验数据(STEP2101 )。即,在本例中,磁盘适配器63 遵从RAID5 (3D+1P)的结构,针对每3个数据块形成由1个校验数据块构成 的校验组。在此阶段,各数据块是64KB的块大小。
接着,磁盘适配器63对形成的校验组内的各数据块进行压缩处理,分别 生成压缩数据列(STEP2102)。磁盘适配器63将构成各压缩数据列的每一个 压缩数据块,写入高速緩冲存储器62中的压缩数据用块中,更新高速緩冲存 储管理表。压缩数据用块例如是16KB的块大小。
接着,磁盘适配器63判断校验组内的压缩数据块(不包含压缩校验数据 块)数是否比压缩校验数据块数少(STEP2103)。即,磁盘适配器63判断使 用校验位的数据存储方式和基于镜像的数据存储方式中的哪种方式可以高效 地存储写入数据。
磁盘适配器63,当判断为校验组内的压缩数据块数比压缩校验数据块数少时,进行图22所示的处理。图22所示的处理是使用校验位的数据存储处理, 与图12所示的STEP1203以后的处理相同,因此省略说明。
与之相对,磁盘适配器63在判断为校验组内的压缩数据块数比压缩后校 验数据块数多时,进行图23所示的处理。图23所示的处理是基于镜像的数据 存储处理,与图17所示的STEP1702以后的处理相同,因此省略说明。
如上所述,根据本实施方式,当压缩写入数据来进行存储时,根据包含校 验位的压缩数据的大小、和不使用校验位而进行二重化所得到的压缩数据的大 小,选择最佳的RAID结构,因此可以实现压缩数据的高效存储。 (第四实施方式)
第四实施方式是第三实施方式的变形,其特征在于,存储了针对数据写入 请求的前一次的数据存储方式,当存在针对该数据的其它写入请求时,利用该 存储的数据存储方式。
图24 (A)和(B)是表示本发明的一个实施方式的存储装置4中的共享 存储器64中存储的磁盘设备管理表的一例的图。如该图所示,本实施方式的 磁盘设备管理表与上述磁盘设备管理表大体相同,但在保持了存储前一次的数 据存储方式的学习信息这点不同。即,该图(A)表示将RAID5作为学习信 息而保持的状态,该图(B)表示没有学习信息的状态。
图25是用于说明本发明的一个实施方式的存储装置4中的数据写入处理 的流程图。
如该图所示,,兹盘适配器63参照共享存储器64,当发现未处理的写入命 令时,确定高速緩冲存储器62上的与之对应的写入数据。磁盘适配器63参照 针对写入数据的数据块管理表,取得当前的学习信息(STEP2501 ),判断当前 的学习信息是否是"RAID1" (STEP2502)。
磁盘适配器63,当判断为当前的学习信息不是"RAID1"时(STEP2502, 否),在RAID5的控制下进行压缩数据的存储处理。
即,磁盘适配器63如前所述那样生成遵从RAID结构的校验数据块 (STEP2503 ),接着,压缩校验组内的各数据块(STEP2504)。
然后,》兹盘适配器63判断校验组内的压缩数据块(不包含压缩校-睑数据 块)数是否比压缩校验数据块数少(STEP2505 )。即,磁盘适配器63判断使用校验位的数据存储方式和使用镜像的数据存储方式中的哪种方式可以高效 地存储写入数据。
磁盘适配器63,当判断为校验组内的压缩数据块数比压缩校验数据块数 多时,进行基于镜像的数据存储处理(STEP2509)。基于镜像的数据存储处理 与图23所示的处理相同。
与之相对,磁盘适配器63,当判断为校验组内的压缩数据块数比压缩校 验数据块数少时,进行使用校验位的数据存储处理(STEP2506)。使用校验位 的数据存储处理与图22所示的处理相同。
然后,为了下一次的数据写入处理,磁盘适配器63将数据块管理表的学 习信息设定为"RAID5" (STEP2507)。
在STEP2502中,当判断为当前的学习信息是"RAID1"时(STEP2502, 是),在RAID1控制下进行压缩数据的存储处理。
即,磁盘适配器63首先压缩数据块(STEP2508),接着进行基于镜像的 数据存储处理(STEP2509)。
在结束基于镜像的数据存储处理后,磁盘适配器63为了判断是否更新学 习信息,而生成遵从RAID结构的校验数据块(STEP2510),接着,压缩校验 组内的各数据块(STEP2511 )。磁盘适配器63判断校验组内的压缩数据块(不 包含压缩后校验数据块)数是否比压缩校验数据块数少(STEP2512)。
磁盘适配器63,当判断为校验组内的压缩数据块数比压缩校验数据块数 少时(STEP2512,是),将数据块管理表的学习信息设定为"RAID5" (STEP2507 )。
与之相对,磁盘适配器63当判断为校验组内的压缩数据块数比压缩后校 验数据块数多时(STEP2512,否),将数据块管理表的学习信息设定为"RAID1" (STEP2513)。
通过以上所述,根据本实施方式,由于存储了前一次的数据存储方式,因 此可以进行更高效的RAID结构的选择。
上述实施方式是用于说明本发明的例子,本发明不限定于上述实施方式。 本发明在不超出其主旨的范围内可以通过各种形态来实施。
例如,在上述实施方式中,在流程图中按顺序地构成了磁盘适配器的动作,但只要不在动作结果中产生矛盾,也可以改变处理的顺序或者并行进行处理。
另外,在上述实施方式中采用了 RAID5,但也可以是作为使用校验位的 其它RAID结构而已知的RAID3、 RAID4或RAID6。 产业上的可利用性
本发明可以广泛应用于采用RAID结构的存储装置。
权利要求
1. 一种存储装置,其具备具有存储数据的存储介质的磁盘设备、控制所述磁盘设备的磁盘控制器,该存储装置的特征在于,所述磁盘控制器具备用于与主机装置连接的通道适配器;与所述磁盘设备相连的磁盘适配器;以及对所述通道适配器和所述磁盘适配器之间交换的数据进行暂时存储的高速缓冲存储器,所述磁盘适配器,控制所述磁盘设备以便形成数据卷和池卷,所述数据卷包含被定义了比所述存储介质的固有存储容量大的存储容量的、与所述存储介质的存储区域相对应的实际卷,以及分配了所述实际卷以外的存储区域的虚拟卷,所述池卷被分配了用于存储与分配给所述虚拟卷的存储区域相对应的数据的存储区域,所述磁盘适配器,在规定的RAID结构的控制下,基于依照从所述主机装置发送的写入请求的写入数据,生成该写入数据所属的校验组内的校验数据,压缩所述校验组内的每一个所述写入数据以及每一个所述生成的校验数据,生成压缩数据以及压缩校验数据,判断所述校验组内的每一个所述压缩数据以及每一个所述压缩校验数据是否超过规定大小,将所述压缩数据以及所述压缩校验数据中未超过所述规定大小的部分的数据存储在所述实际卷的存储区域中,将所述压缩数据以及所述压缩校验数据中超过所述规定大小的部分的数据存储在所述虚拟卷所对应的所述池卷的存储区域中。
2.根据权利要求1所述的存储装置,其特征在于, 所述磁盘适配器,述校验数据的数据块,根据压缩数据列是否由超过规定数量的压缩数据块构成,来判断是否超过 了所述规定大小,所述压缩数据列是通过对所述校验组内的每一个所述数据块 进行压缩而得到的,将未超过所述规定数量的所述压缩数据块存储在所述实际巻的存储区域 中,将超过所述规定数量的所述压缩数据块存储在所述虚拟巻所对应的所述池 巻的存储区域中。
3. 根据权利要求2所述的存储装置,其特征在于,所述磁盘适配器,将所述校验组内的每一个所述压缩数据块分散存储在构成所述数据巻的、 物理上不同系列的磁盘设备中。
4. 根据权利要求3所述的存储装置,其特征在于, 所述磁盘适配器,将构成所述压缩数据列的所述压缩数据块存储在构成所述数据巻的同一 系列的磁盘设备中所形成的实际巻以及虛拟巻中。
5. 根据权利要求2所述的存储装置,其特征在于,存储所述校验组内的每一个所述数据块的、在所述高速緩沖存储器上形成 的存储区域的大小,大于所述实际巻的单位存储区域的大小。
6. 根据权利要求2所述的存储装置,其特征在于, 所述磁盘适配器,判断除所述校验数据的压缩数据块以外的压缩数据块的数量,是否少于所 述校验数据的压缩数据块的数量,当判断为除所述校验数据的压缩数据块以外的压缩数据块的数量,少于所 述校验数据的压缩数据块的数量时,将未超过所述规定数量的所述压缩数据块 存储在所述实际巻的存储区域中,将超过所述规定数量的所述压缩数据块存储 在所述虚拟巻所对应的所述池巻的存储区域中。
7. 根据权利要求6所述的存储装置,其特征在于, 所述磁盘适配器,当判断为除所述校验数据的压缩数据块以外的压缩数据块的数量,多于所 述校验数据的压缩数据块的数量时,将除所述校验数据的压缩数据块以外的每一个压缩数据块二重化,将所述二重化后的每一个压缩数据块存储在构成所述数据巻的、物理上不 同系列的磁盘设备中。
8. 根据权利要求7所述的存储装置,其特征在于, 所述磁盘适配器,分别将所述校验组内的所述二重化后的压缩数据块中的一部分压缩数据 块存储在所述数据巻的实际巻中,将另 一部分压缩数据块存储在所述数据巻的 虚拟巻中。
9. 根据权利要求1所述的存储装置,其特征在于, 所述磁盘适配器,存储针对依照所述写入请求的写入数据的、基于RAID结构的数据存储方 式,按照该存储的数据存储方式压缩所述写入数据,存储在所述数据巻中。
10. —种存储装置中的数据存储方法,该存储装置具备具有存储数据的 存储介质的磁盘设备;和控制所述磁盘设备的磁盘控制器,所述数据存储方法 的特征在于,具有以下步骤所述磁盘控制器控制所述磁盘设备以便形成数据巻和池巻,所述数据巻包 含被定义了比所述存储介质的固有存储容量大的存储容量的、与所述存储介质 的存储区域相对应的实际巻,以及分配了所述实际巻以外的存储区域的虛拟的存储区域;所述磁盘控制器按照规定的RAID结构,基于依照从所述主机装置发送的 写入请求的写入数据,生成该写入数据所属的校验组内的校验数据;所述磁盘控制器压缩所述校验组内的每一个所述写入数据以及每一个所 述生成的校验数据,生成压缩数据以及压缩校验数据;所述磁盘控制器判断所述校验组内的每 一 个所述压缩数据以及每 一 个所 述压缩校验数据是否超过规定大小;所述磁盘控制器,将所述压缩数据以及所述压缩校验数据中未超过所述规 定大小的部分的数据存储在所述实际巻的存储区域中,并且将所述压缩数据以 及所述压缩校验数据中超过所述规定大小的部分的数据存储在所述虚拟巻所 对应的所述池巻的存储区域中。
全文摘要
本发明提供存储装置以及使用该存储装置的数据存储方法。本发明的课题是提供一种可以在规定的RAID结构下高效地存储基于写入数据的压缩数据的存储装置。本发明是具备磁盘设备和对其进行控制的磁盘控制器的存储装置。磁盘控制器通过卷容量虚拟化功能提供由实际卷和虚拟卷构成的数据卷。虚拟卷与用于存储数据实体的池卷相关联,将数据实体存储在池卷中。磁盘控制器依照来自主机装置的写入请求,在RAID5控制下压缩写入数据,将该压缩数据存储在实际卷的存储区域中,并且,在无法完全存储在该存储区域中时,将压缩数据中未存储完的部分存储在虚拟卷中。
文档编号G06F3/06GK101414245SQ20081010891
公开日2009年4月22日 申请日期2008年6月6日 优先权日2007年10月19日
发明者武藤淳一, 神道一惠, 绪方兰, 黑川勇 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1