存储设备控制装置的制作方法

文档序号:6760728阅读:103来源:国知局
专利名称:存储设备控制装置的制作方法
技术领域
本发明涉及存储设备控制装置和存储设备控制装置的控制方法。
背景技术
计算机系统中用作数据的存储装置的存储系统,对应用户需要,提出了从面向小规模计算机系统的种类到面对大规模计算机系统的种类的各种存储系统。
面向小规模计算机系统的存储系统通过作为具有存储系统的一个功能的装置来提供,使得容易引入,实现引入时的成本降低。
另一方面,面向大规模计算机系统的存储系统采用与面向小规模的存储系统不同的结构,包括高的扩展性,为也可应对请求最大规模的运用的用户需求的结构。
但是,由于存储容量增大、存储系统的协调等需要使存储系统大规模的情况下,采用面向小规模计算机系统的存储系统时,需要对应地更换为面向大规模的存储系统或追加存储系统等。
另一方面,当初采用备有高的扩展性的面向大规模计算机系统的存储系统的情况下,从计算机系统的引入开始初期就对存储系统强加大的成本负担。

发明内容
本发明考虑上述问题而作出,目的是提供一种存储设备控制装置和存储设备控制装置的控制方法。
为解决上述问题,本发明的存储设备控制装置,具有第一控制部,其接收来自信息处理装置的数据输入输出请求,并控制向第一存储器进行写入、读出;第二控制部,其控制存储于所述第一存储器的数据向存储装置进行写入、读出,所述存储设备控制装置具有安装存储控制单元的安装部,该存储控制单元,具备存储数据和控制信息的第二存储器;控制向所述第二存储器进行写入、读出的第三控制部;和控制存储于所述第二存储器中的数据向所述存储装置进行写入、读出的第四控制部。
本发明的存储设备控制装置中,由于可安装存储控制单元、通道控制单元、盘控制单元、全球高速缓冲存储器之一,可构成对应顾客需求的更灵活存储系统。
所谓上述数据输入输出请求例如是数据的读出请求和写入请求。输入输出控制是进行数据读出和写入的控制。存储容量是包含由硬盘装置和半导体存储装置等构成的存储装置所提供的作为物理的存储区域的物理容量和作为物理容量上逻辑设定的存储区域的逻辑容量的存储源。
此外,本申请公开的问题及其解决方法从发明的实施例项和附图中可知晓。
根据本发明,提供一种存储设备控制装置和存储设备控制装置的控制方法,可按对应用户请求的规模和成本容易地引入。


本发明的优选实施例将结合附图来说明,其中图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是表示放大本实施例的存储系统的规模时的构成的一个例子的图;图26是表示在本实施例的存储系统中,将容量管理表从本地高速缓冲存储器移动到全球高速缓冲存储器的处理的流程图;图27是表示在本实施例的存储系统中,在作成容量时进行的更新容量管理表的处理的流程图;图28是表示本实施例的数据存取处理的流程图;图29是表示本实施例的本地高速缓冲存储器的未命中(hit miss)判定处理的流程图;图30是表示本实施例的全球高速缓冲存储器的封锁确保处理的流程图;图31是表示本实施例的本地高速缓冲存储器的分级处理(staging)的流程图;图32是表示本实施例的本地高速缓冲存储器的去分级处理(的destaging)的流程图;图33是表示本实施例的读写处理的流程图;图34是表示对本实施例的本地高速缓冲存储器的写处理的流程图;图35是表示在本实施例的发送消息通信侧的数据存取处理的流程图;图36是表示在本实施例的接收消息通信侧的数据存取处理的流程图;图37是表示本实施例的命令的构成的图;图38是表示本实施例的命令的图;图39是表示本实施例的消息的图;图40是表示本实施例的命令的发送接收的图;图41是表示本实施例的消息的发送接收的图;图42是表示变更本实施例的存取方法时的处理的图。
具体实施例方式
下面使用附图详细说明本发明的实施例。
外观构成首先图1表示本实施例的存储系统100的外观构成。
存储系统100包括盘控制装置(存储设备控制装置)110和盘驱动装置120。盘控制装置110控制整个存储系统100。盘驱动装置120容纳多个存储数据的盘驱动器121。图1所示的存储系统100中,盘控制装置110配置在中央,其左右配置盘驱动装置120。如图1所示,盘驱动器121也可容纳在盘控制装置110中。
盘控制装置110包括控制器部111、风扇113、电源部112。控制器部111是控制整个存储系统100的部分。如后面将详细说明那样,控制器部111包含通道控制单元300、盘控制单元400、存储控制单元800、全球高速缓冲存储器(超高速缓冲存储器单元)600。通过在盘控制装置110中安装这些单元,来控制存储系统100。这些单元如后所述,通过在一体单元化的电路基板上形成的硬件以及该硬件执行的软件或二者实现。风扇113用于冷却盘控制装置110。电源部112用于对盘控制装置110供电。
盘驱动装置120中容纳多个盘驱动器121。盘驱动器121容纳成可在构成盘驱动装置120的壳体上拆装。
虽然图1中未示出,但盘控制装置110上连接管理终端160。管理终端160是进行存储系统100的维修管理的计算机。管理终端160可构成为组装到存储系统100中,也可以是通过网络连接远程设置的存储系统100的形式。
整体构成接着图2表示出本实施例的存储系统的整体构成的框图。
盘控制装置110连接主计算机(信息处理装置)200,接收来自主计算机200的数据的读/写请求(数据输入输出请求)。连接多个盘驱动器121,对应来自主计算机200的数据的输入输出请求,控制对存储容量的数据输入输出。存储容量是包含由存储装置所提供的作为物理的存储区域的物理容量和作为物理容量上逻辑设定的存储区域的逻辑容量的存储源。存储装置可采用例如硬盘装置、半导体存储装置等各种装置。
盘控制装置110和主计算机200之间的通信可根据各种通信协议进行。例如,光纤信道、SCSI(Small Computer System Interface)、FICON(FibreConnection)(注册商标)、ESCON(Enterprise System Connection)(注册商标)、ACONARC(Advanced Connection Architecture)(注册商标)、FIBARC(FibreConnection Architecture)(注册商标)、TCP/IP(Transmission ControlProtocol/Internal Protocol)等。这些通信协议可混合存在。例如,与主机A200之间的通信由光纤信道进行,与主机B200之间的通信由TCP/IP进行。主计算机200为主框架计算机时,使用例如FICON、ESCON、ACONARC、FIBARC。主计算机200为开放系计算机时,使用例如光纤信道、SCSI、TCP/IP。来自主计算机200的数据的读/写请求以作为存储容量中的数据管理单位的块为单位进行,通过指定文件名按文件单位进行也可以。后者的情况下,盘控制装置110具有用作实现来自主计算机200的文件水平上的存取的NAS(NetworkAttached Storage)的功能。
主计算机200是包括CPU(Center Processing Unit)、存储器、输入输出装置等的计算机。主计算机200上连接未示出的客户计算机。主计算机200对客户计算机提供各种信息处理服务。通过主计算机200提供的信息处理服务开始是例如银行的自动支付服务、互联网的主页阅览服务这种的在线服务,是进行科技领域的试验模拟的批处理服务等。主计算机200和盘控制装置110之间的存取路径被二重化,一个路径上产生故障,可通过其他存取路径继续输入输出请求的接收。
图2所示的盘控制装置110包括4个存储控制单元800、2个通道控制单元300、2个盘控制单元400、2个全球高速缓冲存储器600和内部连接部500。盘控制装置110上连接管理终端160。
存储控制单元存储控制单元800包括主接口控制部(主IF控制部)810、盘接口控制部(盘IF控制部)860、高速缓冲存储器控制部820、本地高速缓冲存储器(存储器)控制部830、内部接口连接部(内部IF连接部)840。存储控制单元800通过在将这些一体单元化的电路基板上形成的硬件以及该硬件执行的软件或二者实现。
主IF控制部810具有与主计算机200的接口功能。盘IF控制部860包括对存储容量进行输入输出控制的接口功能。本地高速缓冲存储器控制部830存储在主计算机与存储容量之间交换的数据。高速缓冲存储器控制部820控制本地高速缓冲存储器控制部830。本实施例中,存储控制单元800与其他存储控制单元800之间构成族(cluster)。通过构成族,位于同一族内的存储控制单元800产生故障时,将由产生故障的存储控制单元800至此进行的的处理引入到同一族内的其他存储控制单元800,使得可继续处理。高速缓冲存储器控制部820经对间连接部850连接构成族的其他存储控制单元800的高速缓冲存储器控制部820。在构成族的存储控制单元800之间相互存储本地高速缓冲存储器控制部830的数据,使得数据进行二重化。内部IF连接部840经内部连接部500连接全球高速缓冲存储器600、盘控制单元400、通道控制单元300、其他存储控制单元800。存储控制单元800包括主IF控制部810、盘IF控制部860和内部IF连接部840。可以是不包含本地高速缓冲存储器控制部830和高速缓冲存储器控制部820的结构。此时,构成族的各存储控制单元800通过连接部850连接例如彼此的内部IF连接部840。主计算机200与存储容量之间交换的数据不存储在本地高速缓冲存储器控制部830中,可存储在后述的全球高速缓冲存储器600中。也可不存储在本地高速缓冲存储器控制部830和全球高速缓冲存储器600的任何一个中而是进行交换。
本实施例的存储控制单元800的外观构成在图3表示。存储控制单元800通过插入盘控制装置110包括的安装部130中安装在盘控制装置110上。图7中表示出存储控制单元800通过插入盘控制装置110的安装部130中的情况。安装部130上设置多个插槽,各插槽中设置有用于安装存储控制单元800的导轨。沿着导轨将存储控制单元800插入插槽中,使得可将存储控制单元800安装在盘控制装置110上。各插槽中安装的存储控制单元800通过沿着导轨拉拔可取出。存储控制单元800上设置电连接存储控制单元800和盘控制装置110的连接器870。连接器870与在盘控制装置110的安装部130的纵深方向正面部上设置的对方侧的连接器嵌合。
盘控制装置110的各插槽中不仅安装存储控制单元800,还可安装通道控制单元300、盘控制单元400、全球高速缓冲存储器600。因为任一个单元在大小、连接器位置、连接器的插脚排列等方面都有互换性。因此,例如全部的插槽中可安装存储控制单元800,也可与盘控制单元400、通道控制单元300、全球高速缓冲存储器600混合安装。如上所述,存储控制单元800在同一组件上构成具有和主计算机200的接口功能的主IF控制部810、包括对存储容量进行输入输出控制的接口功能的盘IF控制部860和存储在主计算机200与存储容量之间交换的数据的本地高速缓冲存储器控制部830。由此,通过追加存储控制单元800容易扩展系统。所谓组件是降低多个功能模块化作为一个部件构成的情况。部件的交换等维修管理按组件单位进行。
存储控制单元800中,通过在同一组件上构成主IF控制部810、盘IF控制部860和本地高速缓冲存储器控制部830,可提高主计算机200与存储容量之间的数据输入输出性能。
通过这些在同一组件上构成,可提高主计算机200与存储容量之间的数据输送通路的电特性,可高速传输数据。即,主IF控制部810、盘IF控制部860和本地高速缓冲存储器控制部830构成主计算机200与存储容量之间的数据输送通路的一部分,但通过将这些配置在同一组件内,可减少插入在数据输送通路上的连接器、电缆,因此可降低数据输送通路的阻抗,提高抗噪性能。另外,主IF控制部810、盘IF控制部860和本地高速缓冲存储器控制部830在同一组件内接近配置,使得将它们进行彼此连接的布线长度缩短。从而,可降低存储控制单元800内的数据输送通路的阻抗。可提高抗噪性能。由于这些情况,可提高存储控制单元800的数据输送比特,从而提高主计算机200与存储容量之间的数据输入输出性能。
此外存储控制单元800连接主计算机200与存储容量二者,因此来自主计算机200的数据输入输出请求为对连接自身的存储容量中存储的数据的请求时,不用介入其他单元就可进行处理。因此,减少了主计算机200与存储容量之间的数据输送通路跨越组件之间的处理,可提高数据输入输出性能。
存储控制单元800可不使用本地高速缓冲存储器控制部830进行主计算机200与存储容量之间的数据交换。因此,可减少经由本地高速缓冲存储器控制部830进行的数据输入输出处理的延迟。这在例如对应来自主计算机200的数据输入输出请求进行的在对存储容量的数据存取中没有空间等的情况下即便使用本地高速缓冲存储器控制部830也不能期待有高的命中率的情况下是有效的。
通过使用存储控制单元800,减少了主计算机200与存储容量之间跨越组件进行的数据输送,因此万一存储控制单元800产生故障的情况下,也可降低故障影响,使它局限在局部。即,存储控制单元800产生故障时,对使用其他存储控制单元800进行的数据输送产生的影响可减少。同样,例如为进行维修作业,更换存储控制单元800时,可降低该影响局限在局部,可减少对使用其他存储控制单元800进行的数据输送产生的影响。
使用存储控制单元800的盘控制装置110在最初引入的时刻的成本效果最大,并且为维持扩展性,有从小中规模向大规模构成的倾向。例如如后所述,将存储控制单元800与电源112、风扇113等一起容纳在一个壳体内,可作为模块型控制器111构成。此时,可容易进行存储系统100的初始引入。通过系统扩展时也顺序增设模块型控制器111也可容易地进行。因此,在实现刚开始贸易的顾客、商业环境变化剧烈的顾客可对应状况变更系统规模的具有灵活性的系统时是有效的。盘IF控制部860从存储容量读出的数据经由高速缓冲存储器控制部820存储在本地高速缓冲存储器控制部830的数据区域831上。不经由内部连接部500和全球高速缓冲存储器600,因此可高速读出数据。
另一方面,使用通道控制单元300和盘控制单元400的盘控制装置110,系统的规模可以最大化,最大规模的成本降低效果最大,因此倾向于大规模结构。因此,在商业已经稳定的顾客实现比较大规模结构时是有效的。
如上所述,本实施例的盘控制装置110中,可安装存储控制单元800、通道控制单元300、盘控制单元400和全球高速缓冲存储器600中的任一个,因此可构成对应顾客需求的灵活性高的存储系统100。
接着图8表示出存储控制单元800的构成框图。
主IF控制部810包括处理器811、存储器812、主IF电路814、和内部连接IF电路815。处理器811通过执行在存储器812中存储的控制程序813实现与主计算机200的接口功能。主IF电路814连接主计算机200,构成进行数据交换的电路。内部连接IF电路815构成与高速缓冲存储器控制部820连接的电路。
高速缓冲存储器控制部820包括高速缓冲存储器控制部IF电路821、缓冲存储器822、内部连接IF电路823和824、对间连接IF电路825。高速缓冲存储器控制部IF电路821构成连接本地高速缓冲存储器控制部830的电路,控制与本地高速缓冲存储器控制部830之间的数据交换。缓冲存储器822用于在与本地高速缓冲存储器控制部830之间进行数据交换时暂时存储数据。内部连接IF电路823构成连接主IF控制部810、盘IF控制部860的电路。内部连接IF电路824构成连接内部IF控制部840的电路。
对间连接IF电路825是在构成族的存储控制单元800的高速缓冲存储器控制部820之间进行连接的电路。连接的状况如图9所示。
构成族的存储控制单元800通过彼此共有本地高速缓冲存储器330的数据将数据二重化。进行数据的二重化的命令和数据经由对间连接IF电路825送到对方侧的存储控制单元800。彼此的对间连接IF电路825之间由对间连接部850直接相连。对间连接部850是为二重化彼此的本地高速缓冲存储器控制部830的数据而设置的通信路径。对间连接部850除数据的二重化外,还用于在构成族的存储控制单元800之间进行消息的通信。可用于正好命中(heart beat)信号。这里所谓的正好命中信号是构成族的各存储控制单元800彼此确认对方的动作状态的信号。
盘IF控制部860包括处理器861、存储器862、盘IF电路864、和内部连接IF电路865。处理器861通过执行在存储器862中存储的控制程序863实现与盘驱动器121的接口功能。盘IF电路864连接盘驱动器121,构成进行数据交换的电路。内部连接IF电路865构成与高速缓冲存储器控制部820连接的电路。
内部连接IF电路815和865、内部连接IF电路823和824以及对间连接IF电路825的电路构成可以是同类、不同类或同类不同类混合的任一状态。
本地高速缓冲存储器控制部830具有数据区域831和控制区域832。数据区域831是存储在主计算机200与存储容量之间交换的数据的存储区域。控制区域832是管理在数据区域831中存储的数据的存储区域。后面详细说明本地高速缓冲存储器控制部830。
通道控制单元接着图10和11表示出通道控制单元300的构成框图。图14表示出通道控制单元300的外观构成。
通道控制单元300包括主接口控制部(主IF控制部)310、高速缓冲存储器控制部320、本地高速缓冲存储器(存储器)330、内部接口连接部(内部IF连接部)340。通道控制单元300通过在将这些一体单元化的电路基板上形成的硬件以及该硬件执行的软件或二者实现。
主IF控制部310具有与主计算机200的接口功能。主IF控制部310包括处理器311、存储器312、主IF电路314、和内部连接IF电路315。通过主IF控制部310实现的功能和构成等与主IF控制部810相同。
高速缓冲存储器控制部320、本地高速缓冲存储器330存储在主计算机200与存储容量之间交换的数据。高速缓冲存储器控制部320、本地高速缓冲存储器330实现的功能和构成等与存储控制单元800的高速缓冲存储器控制部820、本地高速缓冲存储器830相同。
内部IF控制部340实现的功能和构成等与存储控制单元800的内部IF控制部840相同。
通道控制单元300通过与存储控制单元800同样插入在盘控制装置110包括的安装部130上设置的插槽中来安装在盘控制装置110上。通道控制单元300插入盘控制装置110的安装部130的状况在图7表示。通道控制单元300上设置电连接通道控制单元300和盘控制装置110的连接器370。连接器370与在盘控制装置110的安装部130的纵深方向正面部上设置的对方侧的连接器嵌合。如上所述,通道控制单元300和其他单元在大小、连接器位置、连接器的插脚排列等方面都有互换性。因此,盘控制装置110的各插槽中混合安装存储控制单元800、通道控制单元300、盘控制单元400、全球高速缓冲存储器600。
盘控制单元盘控制单元400的构成框图在图12中表示。盘控制单元400的外观构成图在图5中表示。
盘控制单元400包括盘接口控制部(盘IF控制部)460、内部接口连接部(内部IF连接部)440。盘控制单元400通过在将这些一体单元化的电路基板上形成的硬件以及该硬件执行的软件或二者实现。
盘IF控制部460具有对盘驱动器121进行输入输出控制的接口功能。盘IF控制部460包括处理器461、存储器462、盘IF电路464、和内部连接IF电路465。通过盘IF控制部460实现的功能和构成等与存储控制单元800的盘IF控制部860相同。
内部IF控制部440实现的功能和构成等与存储控制单元800内部IF控制部840相同。
盘控制单元400通过与存储控制单元800同样插入在盘控制装置110包括的安装部130上设置的插槽中来安装在盘控制装置110上。盘控制单元400插入盘控制装置110的安装部130的状况在图7表示。盘控制单元400上设置电连接盘控制单元400和盘控制装置110的连接器470。连接器470与在盘控制装置110的安装部130的纵深方向正面部上设置的对方侧的连接器嵌合。如上所述,盘控制单元400和其他单元在大小、连接器位置、连接器的插脚排列等方面都有互换性。因此,盘控制装置110的各插槽中混合安装存储控制单元800、通道控制单元300、盘控制单元400、全球高速缓冲存储器600。
本地缓冲存储器下面使用图13说明存储控制单元800包括的本地缓冲存储器830。关于通道控制单元300包括的本地缓冲存储器330,其功能、构成等与存储控制单元800包括的本地缓冲存储器830相同。
本地缓冲存储器830具有数据区域831和控制区域832。数据区域831是存储在主计算机200与存储容量之间交换的数据的存储区域。控制区域832是管理在数据区域831中存储的数据的存储区域。
数据区域831具有直接存取用数据区域836和通信缓冲器837。直接存取用数据区域836还有自SAVOL(Storage Adaptor Volume)用区域(第一存储区域)836A和他DAVOL(Disc Adaptor Volume)用区域(第二存储区域)836B。
自SAVOL用区域836A是在成为从主计算机200接收的数据输入输出请求的对象的存储容量是针对连接接收该数据输入输出请求的存储控制单元800的存储容量的情况下,存储在主计算机200与该存储容量之间交换的数据的区域。
他DAVOL用区域836B是在成为从主计算机200接收的数据输入输出请求的对象的存储容量是针对连接盘控制单元400的存储容量的情况下,存储在主计算机200与该存储容量之间交换的数据的区域。他DAVOL用区域836B是在盘控制装置110上安装盘控制单元400时设置的存储区域。
通信缓冲器837是在成为从主计算机200接收的数据输入输出请求的对象的存储容量是针对连接与接收该数据输入输出请求的存储控制单元800不同的存储控制单元800的存储容量的情况下,在与该其他存储控制单元800之间交换数据输入输出请求和数据的存储区域。通信缓冲器837是在盘控制装置110上安装属于不同的族的多个存储控制单元800时设置的存储区域。
控制区域832中存储高速缓存区域管理表833、高速缓存数据管理表834和容量管理表835。图13所示例子中,记载1个高速缓存区域管理表833、2个高速缓存数据管理表834A和834B以及1个容量管理表835,但这些表可适当分割为多个。
高速缓存区域管理表833是存储用于特定在数据区域831中设置的自SAVOL用区域836A、他DAVOL用区域836B和通信缓冲器837的各自的存储区域的信息的表。特定存储区域的信息例如是本地高速缓冲存储器的地址信息。图13所示例子中,数据区域831中设置的地址中从00000000到AFFFFFFF是自SAVOL用区域836A,从B0000000到EFFFFFFF是他DAVOL用区域836B,从F0000000到FFFFFFFF是通信缓冲器837。通过变更高速缓存区域管理表833的内容可变更上述各区域的分配。例如,从主计算机200接收的数据输入输出请求多是针对连接接收该数据输入输出请求的存储控制单元800的存储容量的情况下,可增加自SAVOL用区域836A的分配。由此,可期待提高本地高速缓冲存储器830对来自主计算机200的数据输入输出请求的高速缓冲存储器命中率,从而可提高存储系统100的性能。高速缓存区域管理表833的内容变更例如由进行存储系统100的维修管理的操作员从管理终端160进行。
高速缓存数据管理表834是管理在数据区域831中存储的数据的表。高速缓存数据管理表834对数据的每个数据块具有Valid、Dirty、Address、Lock、Owner、Pointer栏。
数据区域831中存储的数据块可按任何单位存储。不限定于盘驱动器121的块单位、柱面单位、或轨道的单位等。数据块的大小为可变长度,也可为固定长度。
Valid栏表示该数据块的数据是否有效。从主计算机200提出数据的读出请求时,即便在数据区域831中发现了该数据,该数据无效,高速缓冲存储器存取未命中。
Dirty栏表示是否通过主计算机200改写从存储容量向本地高速缓冲存储器830读出的数据。改写的情况下,需要将该数据写回到盘驱动器121中。不改写的话,不需要将该数据写回到盘驱动器121中。
Address栏表示本地高速缓冲存储器830中存储的数据的存储位置。
Lock栏是表示是否禁止对在构成族的存储控制单元800的本地高速缓冲存储器830之间相互存储的该数据的处理的栏。本地高速缓冲存储器830用作为数据二重化的通信路径的对间连接部850连接构成族的对方的本地高速缓冲存储器830,更新在一个本地高速缓冲存储器830中存储的数据的情况下,组对的其他本地高速缓冲存储器830中也进行二重化存储。但是,由于不能完全同时进行二重化,短时间里在彼此的高速缓冲存储器830中存储的数据产生不一致。数据不一致期间,例如从一个高速缓冲存储器830再压制(repress)该数据(写回到全球高速缓冲存储器600和盘驱动器121)时,引起错误的数据存储在全球高速缓冲存储器600和盘驱动器121中。为了不产生这种问题,设置Lock栏,Lock栏有效期间,禁止对该数据的更新和再压制等的控制。
Owner栏表示组成对的本地高速缓冲存储器830中哪个具有该数据。由于在对间将数据相互二重化地存储,因此为管理是哪个数据,设置了Owner栏。
Pointer栏是管理数据区域831中存储的数据和控制区域832中存储的高速缓存数据管理表834的对应的栏。
容量管理表835是存储特定对成为来自主计算机200的数据输入输出请求的对象的存储容量进行输入输出控制的单元的信息的表。容量管理表835有CANo栏、path No栏、DANo栏、Volume No栏、drive No栏、config栏、AccessMethod栏。
CA No栏是存储盘控制装置110上安装的存储控制单元800的主IF控制部810、或通道控制单元300的主IF控制部310上附加的识别序号的栏。图13的例子中,CA00和CA01记载在CA No栏中。如图2所示,CA00和CA01是彼此组成族的存储控制单元800的主IF控制部810。
path No栏是存储对特定可从主计算机200存取的逻辑容量122的路径附加的识别序号的栏。本实施例中,路径对每个存储控制单元800和通道控制单元300附加。因此,即便是相同的路径序号,只要单元不同类,也是不同的路径。路径序号作为整个存储系统100整体上惟一的序号进行附加。
DA No栏是存储在盘控制装置110上安装的存储控制单元800的盘IF控制部860或盘控制单元400的盘IF控制部460上附加的识别序号的栏。图13的例子中,DA00和DA01、DA02和DA03、DA04和DA05在DA No栏记载。DA00和DA01是与包含用CA00和CA01识别的主IF控制部810的存储控制单元800相同的存储控制单元800的盘IF控制部860。DA02和DA03是与包含用CA00和CA01识别的主IF控制部810的存储控制单元800不同的存储控制单元800的盘IF控制部860。DA04和DA05是与包含用CA00和CA01识别的主IF控制部810的存储控制单元800不同的盘控制单元400的盘IF控制部460。这样,用CA00和CA01接收的来自主计算机200的数据输入输出请求不仅是针对连接自身的存储控制单元800的盘IF控制部860的存储容量的,还是针对连接其他存储控制单元800和盘控制单元400的盘IF控制部860、460的存储容量进行的。
Volume No栏是特定DA No栏指定的盘IF控制部860,460上连接的逻辑容量122的栏。
drive No栏是特定DA No栏指定的盘IF控制部860,460上连接的盘驱动器121的栏。
config栏是存储在drive No栏特定的盘驱动器121上设定的RAID(Redundant Array of Inexpensive Disks)的构成的栏。
AccessMethod栏是特定对成为从主计算机200接收的数据输入输出请求的对象的存储容量进行输入输出控制的方法的栏。记载为direct时,根据在从主计算机200接收的数据输入输出请求中指定的该数据的存储地址进行该数据的输入输出控制。记载为message时,对包含DA No栏特定的盘IF控制部860、460的存储控制单元800或盘控制单元400发送从主计算机200接收的数据输入输出请求。并且,通过该存储控制单元800或盘控制单元400进行输入输出控制。
这样,通过使用容量管理表835,即便在不同单元混合安装的盘控制装置110中,可进行针对来自主计算机200的数据输入输出请求的数据输入输出控制。
容量管理表835中也设置存储指定盘驱动器121的区域的地址信息的栏。
全球高速缓冲存储器接着,图14表示出全球高速缓冲存储器600的构成框图。图6表示全球高速缓冲存储器600的外观构成。
全球高速缓冲存储器600通过与存储控制单元800、通道控制单元300、盘控制单元400同样插入在盘控制装置110包括的安装部130上设置的插槽中来安装在盘控制装置110上。全球高速缓冲存储器600插入盘控制装置110的安装部130的状况在图7表示。全球高速缓冲存储器600上设置电连接全球高速缓冲存储器600和盘控制装置110的连接器670。连接器670与在盘控制装置110的安装部130的纵深方向正面部上设置的对方侧的连接器嵌合。如上所述,全球高速缓冲存储器600和其他单元在大小、连接器位置、连接器的插脚排列等方面都有互换性。因此,盘控制装置110的各插槽中混合安装存储控制单元800、通道控制单元300、盘控制单元400、全球高速缓冲存储器600。
全球高速缓冲存储器600具有数据区域601和控制区域602。数据区域601是存储在主计算机200与存储容量之间交换的数据的存储区域。控制区域602是管理在数据区域601中存储的数据的存储区域。
数据区601具有直接存取用数据区域606和通信缓冲器607。
直接存取用数据区域606是存储在主计算机200和该存储容量之间交换的数据的区域。
通信缓冲器607是在存储控制单元800之间交换数据输入输出请求和数据时使用的存储区域。存储控制单元800和盘控制单元400之间交换数据输入输出请求和数据时也可使用。本地高速缓冲存储器830上设置通信缓冲器837时,在全球高速缓冲存储器600中也可不设置通信缓冲器607。相反,在全球高速缓冲存储器600中设置通信缓冲器607时,本地高速缓冲存储器830中也可不设置通信缓冲器837。
控制区域602中存储高速缓存区域管理表603、高速缓存数据管理表604和容量管理表605。图14所示例子中,记载1个高速缓存区域管理表603、1个高速缓存数据管理表604A和604B以及1个容量管理表605,但这些表可适当分割为多个。
高速缓存区域管理表603是存储用于特定在数据区域601中设置的直接存取用数据区域606和通信缓冲器607的各自的存储区域的信息的表。特定存储区域的信息例如是本地高速缓冲存储器600的地址信息。图14所示例子中,数据区域601中设置的地址中从00000000到AFFFFFFF是直接存取用数据区域606,从F0000000到FFFFFFFF是通信缓冲器607。高速缓存区域管理表603的内容变更例如由进行存储系统100的维修管理的操作员从管理终端160进行。由此,可对应来自主计算机200的数据输入输出请求的特性进行本地高速缓冲存储器600的设定,从而可提高存储系统100的性能。
高速缓存数据管理表604是管理在数据区域601中存储的数据的表。高速缓存数据管理表604的基本构成与本地高速缓冲存储器830的高速缓存数据管理表834相同,但Lock栏和Owner栏表示的意思不同。
Lock栏表示由于本地高速缓冲存储器600上的该数据读出到本地高速缓冲存储器830中而可由主计算机200更新,所以禁止向其他本地高速缓冲存储器830读出的状态。这是由于多个本地高速缓冲存储器830中许可读出数据时,可分别独立地通过主计算机200进行更新,不能保证数据的一致性。
Owner栏表示读出该数据的过程中的本地高速缓冲存储器830。
本地高速缓冲存储器600连接内部连接部500,2个本地高速缓冲存储器600组对,进行数据的二重化。本地高速缓冲存储器600间数据的二重化通过经内部连接部500彼此传输数据来实现。
本地高速缓冲存储器600的容量管理表605是对本地高速缓冲存储器830的容量管理表835的复制。有多个本地高速缓冲存储器830时,是各本地高速缓冲存储器830的容量管理表的复制的结合。
因此,例如某存储控制单元800从主计算机200接收数据输入输出请求时,参照该存储控制单元800的本地高速缓冲存储器830也不能特定针对成为数据输入输出请求的对象的存储容量的单元时,通过参照本地高速缓冲存储器600的容量管理表605可特定对存储容量进行输入输出控制的单元。
内部连接部接着图15表示出本实施例的内部连接部500的构成框图。
内部连接部500是将存储控制单元800、通道控制单元300、盘控制单元400、本地高速缓冲存储器600彼此结合的开关。
图15表示出4输入4输出的情况,实际的输入输出数为对应盘控制装置110上可安装的单元数的数目。
内部连接部500包括接收部510、发送部520、控制部530。接收部510将输入内部连接部500的数据适当存储在缓冲器511中,根据来自控制部530的指令将数据输送到指定的发送部520的缓冲器521中。发送部520顺序输出在缓冲器521中存储的数据。图15表示出将纵横开关的构成作为内部连接部500的情况,但限于纵横开关结构,可采用各种结构。例如,接收部510、发送部520之间可用多级的开关电路连接。
管理终端接着,图16表示出本实施例的管理终端160的构成框图。
管理终端160包括CPU161、存储器162、端口163、记录媒体读取装置164、输入装置165、输出装置166、存储装置168。
CPU161控制整个管理终端160,通过将存储装置168中存储的管理程序169适当读出到存储器162中并执行来实现存储系统100的维修管理的各种功能。例如,可进行对盘驱动器121的逻辑容量122的设定、在存储控制单元800的主IF控制部810中执行的程序813的安装等。记录媒体读取装置164是读取记录媒体167中记录的程序和数据的装置。读取的程序和数据存储在存储器162或存储装置168中。因此,例如可使用记录媒体读取装置164从上述记录媒体167读取记录媒体167中记录的管理程序169和程序813等,存储在存储器162或存储装置168中。作为记录媒体167,可适用软盘、CD-ROM、DVD-ROM、半导体存储器等。记录媒体读取装置164也可以是在管理终端160内置的形式,也可以是外带的形式。存储装置168中存储管理程序169。存储装置168例如是硬盘装置、半导体存储装置等。输入装置165用于由操作员等向管理装置160输入数据等。作为输入装置165,可使用例如键盘、鼠标等。作为输出装置166,可使用例如显示器、打印机等。端口163是与盘控制装置110进行通信的装置。也用于和未示出的其他计算机之间进行通信。此时,例如程序813经端口163从其他计算机接收,可安装到存储控制单元800上。
控制器的增设如上所述,本实施例的存储系统100中,可混合安装存储控制单元800、通道控制单元300、盘控制单元400、本地高速缓冲存储器600。由此,可灵活应对每个顾客的不同的对存储系统100的构成请求。例如,在引入存储系统100时,用少数的盘驱动器121和存储控制单元800等构成小规模的存储系统100,而在顾客的事业扩大等时,追加存储控制单元800、通道控制单元300、盘控制单元400、本地高速缓冲存储器600。由此,根据顾客愿望扩大存储系统100的规模。图17表示出该状况。存储系统100的规模扩大前的引入时的系统构成如图18所示。
图18所示例子中,引入时的存储系统100由组成族的存储控制单元800和内部连接部500以及管理终端160构成。图18所示的盘控制装置110中,从引入时使用昂贵的内部连接部500则在后来难以追加维修内部连接部500,此外,将盘控制装置110大块分解后需要再组装,事实上这是不可能的。但是,如图19所示,在引入时可构成为不设置内部连接部500。但此时,在例如增设本地高速缓冲存储器600的情况下,如图20所示,也需要增设内部连接部500。
为容易进行存储系统100的引入,可采用初始控制器111。在图21到23中表示出该状况。
如图21所示,引入时通过初始控制器111和少数的盘驱动器121开始运用,之后的系统扩大时在安装部130上可增设存储控制单元800和盘控制单元400等。如图22所示,初始控制器111在一个壳体中容纳存储控制单元(SA)800、电源112、风扇113,作为模块型控制器111提供。由此,在引入时准备初始控制器111和需要的容量的盘驱动器121可开始运用存储系统100。
使用图21、22所示的初始控制器111的情况下的存储系统100的系统构成在图23表示。如图23所示,在这种情况下,存储控制单元800作为模块型控制器111,即初始控制器111提供。此时不需要同时具有假定存储系统100的最大容量的成本高的内部连接部500。即,不需要引入一体型控制器111。因此,有以低成本实现存储系统100的效果。高速缓冲存储器600和盘控制单元400作为在安装部130上插入的一体型控制器提供。此时,内部连接部500和初始控制器111之间由电缆连接。
如图24所示,引入存储系统100时,除初始控制器111外,可安装模块化的SW(Switch)。SW是构成内部连接部500的装置。此时的系统构成图在图25表示。如图25所示,此时的内部连接部500如虚线包围的那样,由模块化安装的SW和一体型控制器111引入时追加的SW的组合构成。并且,上述各SW间和SW与存储控制单元800之间用电缆连接。
数据输入输出处理的流程接着说明本实施例的存储系统100从主计算机200接收数据输入输出请求时进行的数据输入输出处理的流程。本实施例的数据输入输出处理通过各个处理器811,861,311,461执行进行各动作的由码构成的控制程序813,863,313,463来实现。
首先本实施例的存储系统100中,参考图26说明在增设全球高速缓冲存储器600的情况下进行的向存储控制单元800、通道控制单元300的本地高速缓冲存储器830、330的容量管理表835、335的全球缓冲存储器600的移动处理的流程。该处理根据来自管理终端160的指示由存储控制单元800、通道控制单元300的处理器811、311进行。
首先,全球高速缓冲存储器600中确保作出容量管理表605的区域(S1000)。接着封锁本地高速缓冲存储器830、330的容量管理表835、335(S1001)。然后,将本地高速缓冲存储器830、330的容量管理表835、335的拷贝写入全球高速缓冲存储器600中(S1002)。写入结束后,解开本地高速缓冲存储器830、330的容量管理表835、335的封锁,结束处理(S1003)。另外S1000中确保的区域至少大于拷贝的容量管理表835、335。封锁的单位也可以是拷贝单位。
由此,例如某存储控制单元800从主计算机200接收数据输入输出请求时,即便参照该存储控制单元800的本地高速缓冲存储器830也不能特定针对成为数据输入输出请求的对象的存储容量的单元时,通过参照全球高速缓冲存储器600的容量管理表605可特定对存储容量进行输入输出控制的单元。
接着参考图27说明在新设定存储容量时进行的容量管理表835、335的更新处理。
首先,判断对新设定的存储容量进行输入输出控制的单元种类是否为存储控制单元800(S2000)。是存储控制单元800时,封锁本地高速缓冲存储器830的容量管理表835(S2001)。并且将与新追加的存储容量有关的信息写入容量管理表835(S2002)。然后,如果写入结束,则解开本地高速缓冲存储器830的容量管理表835的封锁(S2003)。接着对全球高速缓冲存储器600的容量管理表605进行与本地高速缓冲存储器830的容量管理表835同样的写入,结束处理(S2004到S2006)。S2000中,不是存储控制单元800时,仅对全球高速缓冲存储器600的容量管理表605进行处理。
接着图28表示出从主计算机200对本实施例的存储系统100有数据存取请求时的处理的流程图。
从主计算机200对存储控制单元800或通道控制单元300请求存取数据时(步骤S3000),主IF控制部810、310的处理器811、311进行存取请求的分析。通过分析判别存取的种类(读请求、写请求)、存取的数据的地址等。
接着,处理器811、311对应存取的种类将图38所示的命令发送到高速缓冲存储器控制部820、320的高速缓冲存储器控制部IF电路821、321。读请求的情况下,发送图38D的命令,写请求的情况下,发送图38A的命令和图38B的命令(数据)。图38所示的命令的格式在图37表示。如图37所示,图38所示的命令包括标题部和负载部。标题部包括输送目的地地址、输送源地址、输送长度、分组种类。分组种类是如图38所示WRITE、READ、数据、状态信息。
高速缓冲存储器控制部IF电路821、321根据从处理器811、311送来的命令,参照在本地高速缓冲存储器830、330的控制区域832、332中记录的容量管理表835,特定进行成为数据输入输出请求的对象的存储容量的输入输出控制的单元。并且,参照容量管理表835的AccessMethod栏,特定对该单元的数据存取方法(S3001)。记载为direct时,进入S3002。
S3002中,高速缓冲存储器控制部IF电路821、321根据从处理器811、311送来的命令,检索在本地高速缓冲存储器830、330的控制区域832、332中记录的高速缓存数据管理表834、334,确认命令中指定的地址的数据是否存储在本地高速缓冲存储器830、330中(步骤S3002)。
该数据位于本地高速缓冲存储器830、330中(命中)时(S3002),对本地高速缓冲存储器830、330进行读写处理(S3007),向主计算机200报告完成(S3008)。
S3002中进行的处理在图29表示。首先S4000中,判定对成为来自主计算机200的数据输入输出请求的对象的存储容量进行输入输出控制的单元(S4000)。是针对自身单元备有的存储容量的情况下,以自容量用区域(第一存储区域)为对象进行未命中的判定(S4001)。未命中的情况下,从全球高速缓冲存储器600或存储容量分级该数据(S4002、S4003)。所谓分级是从下位分层的存储装置读出数据。另一方面,S4000中,是针对他单元备有的存储容量的情况下,以他容量用区域(第二存储区域)为对象进行未命中的判定(S4004)。未命中的情况下,从全球高速缓冲存储器600或存储容量分级该数据(S4005、S3003)。
S3007中进行的对本地高速缓冲存储器830,330的读写处理的流程参考图33来说明。
来自主计算机200的存取请求是读请求时,高速缓冲存储器控制部IF电路821、321将该数据从本地高速缓冲存储器830、330读出并送到主计算机200(S8000、S8001)。从本地高速缓冲存储器830、330接收读出完成的报告(ACK)时,高速缓冲存储器控制部IF电路821、321对处理器811、311发送状态。发送的状态是图38F所示的命令。最后处理器811、311向主计算机200报告数据读出完成(S3008),结束处理。以上的读请求的处理用流程图表示,则在图40中表示。
另一方面,来自主计算机200的存取请求是写请求时,高速缓冲存储器控制部IF电路821、321将从主计算机200存储在缓冲存储器822、322中的写入数据写入到本地高速缓冲存储器830,330(S8002)。本地高速缓冲存储器830,330的写入处理具体在图34表示。即,首先高速缓冲存储器控制部IF电路821,321对成对的对方侧的高速缓冲存储器控制部IF电路821,321发出请求,以封锁本地高速缓冲存储器830,330。从对方接收确保封锁的应答,确保自身、其他本地高速缓冲存储器330的封锁(S9000)时,高速缓冲存储器控制部IF电路821,321经对间连接部850,350将缓冲存储器822,322中存储的写入数据发送到对方侧的缓冲存储器822,322。然后,通过对方侧的高速缓冲存储器控制部IF电路821,321在对方侧的本地高速缓冲存储器830,330中进行写入(S9001)。接着,在自身侧的本地高速缓冲存储器830,330中写入数据(S9002)。将数据写入本地高速缓冲存储器830,330中时在高速缓存数据管理表834,334的Dirty栏中输入对号(check)。在彼此的本地高速缓冲存储器830,330中完成数据的写入时,解开封锁后,向主计算机200发送完成报告,结束处理(S9003)。用流程图表示上面的写请求的处理,则如图40所示。
本实施例中以本地高速缓冲存储器830,330的高速缓存数据管理表834,334的检索、从本地高速缓冲存储器830,330读出数据等的控制由高速缓冲存储器控制部IF电路821,321进行的情况为例进行了说明,但可由处理器811,311进行。
虽然在后面详细说明,但对全球高速缓冲存储器600的数据存取控制中,不限于由高速缓冲存储器控制部IF电路821,321进行的情况,也可由处理器811,311进行。
接着说明接收来自主计算机200的数据输入输出请求,但在本地高速缓冲存储器830,330中无该数据时,即高速缓冲存储器未命中时的处理。
此时,确认全球高速缓冲存储器600中有无该数据(S3003)。首先,高速缓冲存储器控制部IF电路821,321以在从处理器811,311发送的命令中指定的该数据的地址为基础,经内部连接部500向全球高速缓冲存储器600发送命令。然后,检索在全球高速缓冲存储器600的控制区域602中记录的高速缓存数据管理表604,确认该数据是否存储在全球高速缓冲存储器600中。
该数据不在全球高速缓冲存储器600中时,参照容量管理表605,向对成为数据输入输出请求的对象的存储容量进行输入输出控制的单元发送命令。然后,从该存储容量读出该数据,存储在全球高速缓冲存储器600中(S3004)。存储在全球高速缓冲存储器600中的数据经内部连接部500发送到又一个全球高速缓冲存储器600,进行数据的二重化。
这里,使从存储容量读出到全球高速缓冲存储器600的数据早到达主计算机200的处理优先,下次在全球高速缓冲存储器600上进行数据的二重化。全球高速缓冲存储器600上的数据也存储在存储容量中,因此即便在全球高速缓冲存储器600上消失了,也不会产生问题。更新该数据的情况下,通过进行二重化,确保数据的可靠性。
接着在全球高速缓冲存储器600上封锁该数据(S3005)。即,从其他本地高速缓冲存储器830,330不能读出全球高速缓冲存储器600上的该数据。该处理的流程在图30的流程图中表示。
该数据已经读出到其他本地高速缓冲存储器830,330、进行封锁时(S5000),请求该本地高速缓冲存储器830,330解开封锁(S5001)。哪个本地高速缓冲存储器830,330进行封锁由高速缓存数据管理表604的Owner栏可知。等待解开封锁后(S5002),进行封锁,不能从其他本地高速缓冲存储器830,330读出,结束处理(S5003)。对其他本地高速缓冲存储器830,330不进行封锁,则可直接进行封锁,结束处理(S5000,S5003)。
接着,进行将全球高速缓冲存储器600上存储的该数据读出到本地高速缓冲存储器830,330的处理(S3006)。该处理另请高明在图31的流程图表示。
首先,从全球高速缓冲存储器600向本地高速缓冲存储器830,330输送数据前,调查本地高速缓冲存储器830,330上是否有写入该数据的的队列的空闲时隙(slot)(S6000)。这里所谓时隙是构成队列的各个存储区域。该处理也可调查本地高速缓冲存储器830,330上是否有写入该数据的空闲区域。此时,检索高速缓存数据管理表834,334的Valid栏,检查无效的数据的总容量是否大于从全球高速缓冲存储器600输送的数据的总容量。
有空闲时隙时,首先,高速缓冲存储器控制部IF电路821,321对成对的对方侧的高速缓冲存储器控制部IF电路821,321提出封锁本地高速缓冲存储器830,330的请求,确保封锁(S6002)。接着从全球高速缓冲存储器600向缓冲存储器822,322存储数据,经对间连接部850,350将数据发送到对方侧的缓冲存储器822,322,同时在自身的本地高速缓冲存储器830,330中也写入数据(S6003,S6004)。彼此的本地高速缓冲存储器830,330中完成数据的写入时,解开封锁,结束处理(S6005)。之后的处理对应来自主计算机200的数据输入输出请求如上述进行(S3007,S3008)。
没有从全球高速缓冲存储器600向本地高速缓冲存储器830,330输送数据用的空闲时隙时,通过将本地高速缓冲存储器830,330上的任一数据写回到全球高速缓冲存储器600,确保空闲时隙的处理成为必要(S6001)。该处理的流程在图32的流程图中表示。
首先,高速缓冲存储器控制部IF电路821,321对成对的对方侧的高速缓冲存储器控制部IF电路821,321提出封锁本地高速缓冲存储器830,330的请求,确保封锁(S7000)。接着通过高速缓存数据管理表834,334调查写入由规定的算法特定的全球高速缓冲存储器600的数据的Dirty比特(S7001)。作为规定的算法,一般是从高速缓冲存储器读出最长时间没有存取的数据的LRU(Least Recently Used)方式,但也可以有其他算法。
Dirty比特未设置,则不需要向全球高速缓冲存储器600写入数据,但设置了Dirty比特时,需要向全球高速缓冲存储器600写入数据,因此调查全球高速缓冲存储器600中是否有用于写入该数据的空闲时隙(S7002)。在全球高速缓冲存储器600中没有空闲时隙时,将全球高速缓冲存储器600的数据写入存储容量,确保空闲时隙(S7003)。
接着从本地高速缓冲存储器830,330向全球高速缓冲存储器600上的空闲时隙写入数据(S7004)。写入针对2个全球高速缓冲存储器600进行。全球高速缓冲存储器600中写入数据后,该数据不是Dirty,因此复位Dirty比特(S7005)。接着需要释放存储该数据的本地高速缓冲存储器830,330上的时隙时(S7006),复位该数据的Valid比特(S7007)。
并且对成对的对方的本地高速缓冲存储器830,330报告该数据向全球高速缓冲存储器600的写入完成(S7008)。接收该报告的对方侧的本地高速缓冲存储器830,330中,复位高速缓存数据管理表834,334的Valid比特。最后解开本地高速缓冲存储器830,330的封锁(S7009),结束处理。
另一方面,S3001中在容量管理表825,225的AccessMethod栏中记载message的情况下,进入步骤S3009。图35表示S3009的处理流程。
首先,高速缓冲存储器控制部IF电路821,321确保消息存取用的区域(通信缓冲器)(S10000)。即,确保对成为数据输入输出请求的对象的存储容量进行输入输出控制的单元的本地高速缓冲存储器830,330的通信缓冲器837的空闲区域。
来自主计算机200的数据输入输出请求是读请求时,确保上述区域的通信缓冲器837中写入该数据输入输出请求(S10001,S10003)。数据输入输出请求的写入由图39所示的消息进行。通过图39A所示的消息,表示出是消息命令。并且向图39B所示的消息的消息数据栏中插入该数据输入输出请求,写入上述通信缓冲器837。接收数据输入输出控制的结束通知和读出的数据后(S10004),向主计算机200发送该数据(S10006)。
另一方面,来自主计算机200的数据输入输出请求是写请求时,确保上述区域的通信缓冲器837中写入该数据输入输出请求和写入数据(S10001到S10003)。然后向通信缓冲器837写入数据输入输出控制的结束通知后(S10004),向主计算机200发送该结束通知,结束处理。
由自身的通信缓冲器837中写入消息的存储控制单元800进行的处理在图36表示。
首先,高速缓冲存储器控制部IF电路821,321检测在自身的通信缓冲器837中写入了消息时(S11001),从通信缓冲器837读出数据输入输出请求(S11002)。接着,检查成为该数据输入输出请求的对象的数据是否存储在本地高速缓冲存储器830中(S11003)。未命中时,从全球高速缓冲存储器600或存储容量读出该数据,存储在本地高速缓冲存储器830中(S11004)。然后,数据输入输出请求是读请求时,将该读出的数据写入消息发送源的通信缓冲器837中(S11006)。数据输入输出请求是写请求时,根据该数据输入输出请求,将数据写入本地高速缓冲存储器830中(S11007)。该处理与图34所示处理相同。并且向对方侧的通信缓冲器837中写入写入完成通知。
通过经通信缓冲器837进行数据输入输出请求的交换,各存储控制单元800不依赖于其他存储控制单元800的处理,可对连接该其他存储控制单元的存储容量的数据进行数据输入输出控制。
接着在引入存储系统100时,由存储控制单元800进行运用的存储系统100中,在增设盘控制单元400的情况下进行。关于存储容量的变更处理,参考图42说明。
该处理是通过将存储在存储控制单元800上连接的存储容量中的数据的拷贝写入盘控制单元400上连接的存储容量中,对连接在该盘控制单元400上的存储容量进行对之后的来自主计算机200的数据输入输出请求的输入输出控制。这样,可提高存储系统100的构成变更的灵活性。例如,引入存储系统100时,通过初始控制器111来运用的顾客在之后的存储系统100的规模扩大时可变更为适用通道控制单元300和盘控制单元400的扩展性高的系统构成。
该处理通过来自管理终端160的指示,由存储控制单元800或通道控制单元300的处理器811进行。
首先处理器811封锁本地高速缓冲存储器830的容量管理表835和全球高速缓冲存储器600的容量管理表605(S16000,S16001)。并且,本地高速缓冲存储器830的容量管理表835的DA No栏、Volume No栏、Drive No栏从关于连接在存储控制单元800上的存储容量的信息变更为关于连接在盘控制单元400上的存储容量的信息(S16002)。全球高速缓冲存储器600的容量管理表605的DA No栏、Volume No栏、Drive No栏从关于连接在存储控制单元800上的存储容量的信息变更为关于连接在盘控制单元400上的存储容量的信息(S16003)。并且对本地高速缓冲存储器830的容量管理表835和全球高速缓冲存储器600的容量管理表605解开封锁(S16004,S16005)。
由此,可从连接在存储控制单元800上的存储容量对接在盘控制单元400上的存储容量进行对来自主计算机200的数据输入输出请求的输入输出控制。
如上本实施例的盘控制装置110中,由于都安装了存储控制单元800、通道控制单元300、盘控制单元400、全球高速缓冲存储器600,可构成对应顾客需求的灵活性高的存储系统100。这是由于各单元的大小、连接器位置、连接器的插脚排列等具有互换性。由于通过设置容量管理表835,在不同种类单元混合安装的盘控制装置110中,可对从主计算机200发送的数据输入输出请求在各单元进行数据输入输出控制。
本实施例的盘控制装置110中,通过设置高速缓存区域管理表833,可提高存储系统100的性能。即通过变更高速缓存区域管理表833的内容,可确保适合与从主计算机200接收的数据输入输出请求的特性的高速缓冲存储器区域。由此,例如从主计算机200接收的数据输入输出请求多是针对接收该数据输入输出请求的存储控制单元800上连接的存储容量时,通过增加自SAVOL用区域836A的分配,可增加对来自主计算机200的数据输入输出请求的高速缓存命中率,从而可提高存储系统100的性能。
本实施例的盘控制装置110中,通过在全球高速缓冲存储器600上也设置容量管理表605,在例如某存储控制单元800从主计算机200接收数据输入输出请求时,即便参照该存储控制单元800的本地高速缓冲存储器830也不能特定针对成为数据输入输出请求的对象的存储容量的单元时,通过参照全球高速缓冲存储器600的容量管理表605可特定对存储容量进行输入输出控制的单元。
对连接在其他存储控制单元800的存储容量进行数据输入输出处理时,通过在存储控制单元800之间经通信缓冲器837进行数据输入输出请求的交换,各存储控制单元800不依赖于其他存储控制单元800的处理,可对该其他存储控制单元800上连接的存储容量的数据进行数据输入输出控制。
通过将存储控制单元800上连接的存储容量中存储的数据的拷贝写入盘控制单元400上连接的存储容量中,对该盘控制单元400上连接的存储容量可对之后的来自主计算机200的数据输入输出请求进行输入输出控制。这样,可提高存储系统100的构成变更的灵活性。例如,引入存储系统100时,通过初始控制器111进行运用的顾客在之后的存储系统100的规模扩大时,可变更为适用通道控制单元300和盘控制单元400的扩展性高的系统构成。
以上说明了本实施例,但上述实施例为了容易理解本发明,不应解释为限定本发明。本发明在不脱离其宗旨的情况下可进行变更、改变,同时本发明中也包含其等效。
权利要求
1.一种存储设备控制装置,与信息处理装置和第一存储装置连接,具有第一存储器,其存储数据;第一控制部,其控制向第一存储器进行数据的写入、读出;第二控制部,其将存储于所述第一存储器的数据,向所述第一存储装置进行写入、读出;内部连接部,其连接所述第一控制部和所述第二控制部;安装部,其将存储控制单元与所述内部连接部连接,该存储控制单元具备接收来自信息处理装置的数据输入输出请求,存储数据和控制信息的第二存储器、控制向所述第二存储器进行写入、读出的第三控制部、将存储于所述第二存储器中的数据向第二存储装置进行写入、读出的第四控制部;第三存储器,其与所述内部连接部连接,存储数据和控制信息,其特征在于所述第二存储器的数据区域,分别由存储存储于所述第二存储装置中的数据的第二存储区域,和存储存储于所述第一存储装置中的数据的第一存储区域构成,所述控制信息中,包含用于确定所述第一存储区域和所述第二存储区域中存储的数据的第一表,从所述信息处理装置向所述存储控制单元发送数据输入输出请求时,所述第三控制部,判断所述数据输入输出请求,是对于存储于所述第一存储装置中的数据的输入输出请求,还是对于存储于所述第二存储装置中的数据的输入输出请求,所述数据输入输出请求是对于存储于所述第一存储装置中的数据的请求时,参照所述第一表,以所述第一存储区域为对象进行未命中的判定,判定的结果为未命中时,访问所述第三存储器。
2.根据权利要求1所述的存储设备控制装置,其特征在于所述数据输入输出请求是对于存储于所述第二存储装置中的数据的请求时,第三控制部参照所述第一表,以所述第二存储区域为对象进行未命中的判定,判定的结果为未命中时,访问所述第三存储器。
3.根据权利要求2所述的存储设备控制装置,其特征在于所述第三存储器中,包含第二表,其管理存储于该第三存储器的数据区域中的数据,对于所述第三存储器中是否有对应所述数据输入输出请求的数据,所述第三控制部参照所述第二表进行判断。
4.根据权利要求3所述的存储设备控制装置,其特征在于存储于所述第三存储器中的控制信息中,包含第三表,其用于确定所述第一存储装置和所述第二存储装置中成为数据输入输出请求的对象的存储装置,对应所述数据输入输出请求的数据不在所述第三存储器中时,所述第三控制部参照所述第三表,从成为数据输入输出请求的对象的存储装置中读出所述数据,存储于该第三存储器中。
5.根据权利要求4所述的存储设备控制装置,其特征在于从所述第三存储器向所述第二存储器发送所述数据前,所述第三控制部,确认所述第二存储器上是否有用于写入该数据的空闲存储区域,有空闲存储区域时,向所述第二存储器发送所述数据,没有空闲存储区域时,将所述第二存储器上的任一数据写入所述第三存储器,确保空闲存储区域后,发送所述数据。
全文摘要
本发明为一种存储设备控制装置,具有第一存储器,第一控制部,第二控制部,内部连接部,安装部,该安装部连接存储控制单元与内部连接部,存储控制单元有第二存储器、第三控制部、第四控制部;第二存储器的数据区域由第二存储区域和第一存储区域构成,控制信息中包含用于确定第一存储区域和第二存储区域中存储的数据的第一表,从信息处理装置向存储控制单元发送数据输入输出请求时,第三控制部判断该数据输入输出请求,是对存储于第一存储装置还是第二存储装置中的数据的输入输出请求,该数据输入输出请求是对存储于第一存储装置中的数据的请求时,参照所述第一表,以第一存储区域为对象进行未命中的判定,判定的结果为未命中时,访问第三存储器。
文档编号G11B20/10GK1881168SQ20061009598
公开日2006年12月20日 申请日期2003年8月29日 优先权日2003年4月16日
发明者金井宏树 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1