CN110246527A - 存储系统和控制装置 - Google Patents

存储系统和控制装置 Download PDF

Info

Publication number
CN110246527A
CN110246527A CN201910175421.0A CN201910175421A CN110246527A CN 110246527 A CN110246527 A CN 110246527A CN 201910175421 A CN201910175421 A CN 201910175421A CN 110246527 A CN110246527 A CN 110246527A
Authority
CN
China
Prior art keywords
bridge
equipment
storage
storage equipment
connecting structure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910175421.0A
Other languages
English (en)
Inventor
伊藤广树
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN110246527A publication Critical patent/CN110246527A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0009RRAM elements whose operation depends upon chemical change
    • G11C13/0011RRAM elements whose operation depends upon chemical change comprising conductive bridging RAM [CBRAM] or programming metallization cells [PMCs]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0032Serial ATA [SATA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Facsimiles In General (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Systems (AREA)

Abstract

提供了一种存储系统和控制装置。该存储系统包括:控制器;第一桥、第二桥和第三桥,其以级联方式至少部分地连接到控制器;以及多个存储设备,所述多个存储设备中的各个存储设备均连接到第一桥、第二桥和第三桥当中的桥。控制器以及第一桥、第二桥和第三桥中的至少一者包括:存储器,其被构造为存储包括各个桥和各个存储设备的连接构造的信息;确定单元,其被构造为基于存储在存储器中的信息,确定桥和连接到桥的多个存储设备的连接构造是否从前次操作时的连接构造改变了;以及重设单元,其被构造为如果连接构造被确定为改变了,则根据连接构造的改变而重设各个桥的操作模式。

Description

存储系统和控制装置
技术领域
本公开涉及存储系统及控制装置。
背景技术
诸如以多功能外围设备(Multifunction Peripheral(MFP))为代表的图像形成装置等的信息处理装置配备有用于对装置的程序和用户的图像数据进行存储的存储设备。存储设备的示例包括硬盘驱动器(HDD)和固态驱动器(SSD)。
传统上,通过实施使用例如作为存储设备的接口标准而建立的串行高级技术附件(Serial Advanced Technology Attachment(SATA))的方法来控制存储系统。
例如,已知如下控制方法,在该方法中,连接有两个HDD的存储控制装置具有多种操作模式,并且存储控制装置在通过切换操作模式来切换发送方式的同时发送数据。
日本未审查专利申请公开(PCT申请的译本)No.2011-515749讨论了如下控制方法:该控制方法用于将连接到主机侧的主控制器且用作设备侧的端口倍增器的SATA桥(bridge),以多段、以级联方式连接到其他SATA桥,以扩展端口倍增器的功能。
在具有多种操作模式且包括例如如日本未审查专利申请公开(PCT申请的译本)No.2011-515749中所讨论的、以级联方式连接的SATA桥的存储系统中,连接到存储系统、进一步连接在一个或多个SATA桥末端的多个存储设备中的任意存储设备可以被其他存储设备更换。在这种情况下,维持SATA桥的操作模式与更换前的相同可能会导致操作模式与更换后的连接到存储系统的存储设备不兼容。此外,以级联方式连接的SATA桥的操作模式还可能与更换后的连接到存储系统的新存储设备不兼容。
如果在桥的操作模式与以这种方式连接到桥的存储设备之间发生不匹配,则桥变得不能正常操作。此外,在以级联方式连接的桥间的操作模式中也可能发生不匹配,并且该不匹配还可能导致无法继续正常操作。
发明内容
为了解决上述问题,本公开涉及具有下述构造的存储系统及控制方法。
根据本公开的各种实施例,存储系统包括:控制器;第一桥,所述第一桥连接到所述控制器;第二桥和第三桥,所述第二桥和所述第三桥连接到所述第一桥;多个存储设备,所述多个存储设备中的各个存储设备连接到所述第二桥或所述第三桥;存储器,所述存储器被构造为存储包括所述多个存储设备的连接构造的信息;确定单元,所述确定单元被构造为基于存储在所述存储器中的信息,确定所述多个存储设备的连接构造是否改变了;以及重设单元,所述重设单元被构造为基于所述连接构造改变了的确定,与改变后的连接构造对应地重设所述第一桥的操作模式、所述第二桥的操作模式或所述第三桥的操作模式中的至少一者。
通过以下参照附图对示例性实施例的描述,本发明的其他特征将变得清楚。
附图说明
图1是例示整个信息处理装置的构造的框图。
图2是例示根据示例性实施例的主控制器的详细构造的框图。
图3是例示根据示例性实施例的桥的详细构造的框图。
图4是例示根据示例性实施例的以级联方式连接的桥的详细构造的框图。
图5是例示根据示例性实施例的桥的状态转变的状态转变图。
图6A和图6B是由根据示例性实施例的主控制器进行的初始化处理的流程图,以及由根据示例性实施例的桥进行的初始化处理的流程图。
图7A和图7B是由根据示例性实施例的主控制器进行的模式重设处理的流程图,以及由根据示例性实施例的桥进行的模式重设处理的流程图。
具体实施方式
以下将借助于示例的方式参照附图详细描述本公开的示例性实施例。然而,在该示例性实施例中描述的组件和特征仅作为示例记载,不意在仅将本发明的范围限制为包括这些组件或特征的实施例。
图1是例示根据本公开的第一示例性实施例的包括存储系统的整个信息处理装置的构造的框图。将基于本示例性实施例适用于作为信息处理装置的一示例的诸如多功能外围设备(MFP)等的图像形成装置的示例,描述本示例性实施例,但是不限于此,并且本示例性实施例能够适用于被构造为包括多个存储设备的图像处理装置。特别地,本示例性实施例能够有效地适用于如下信息处理装置:该信息处理装置被构造为包括以级联方式连接的桥和连接到桥的多个存储设备。
图1所示的根据本示例性实施例的信息处理装置包括:主控制器100;存储有数据的多个存储设备,诸如四个存储设备400、401、402和403等;以及多个桥,诸如三个桥200、300和310等。桥200、300和310向这些存储设备400、401、402和403发送数据和从这些存储设备接收数据。主控制器100控制整个信息处理装置,并且还控制其中的MFP。
在本示例性实施例中,存储设备1(400)和存储设备2(401)均是具有存储不需要高访问速度的数据的功能的第一类型存储设备,例如在本示例性实施例中,为包括盘(disk)的非易失性存储设备。换言之,第一类型存储设备是涉及盘访问的非易失性存储设备,并且是例如硬盘驱动器(HDD:HDD1和HDD2)。此外,存储设备3(402)和存储设备4(403)均是具有存储需要高访问速度的数据的功能的第二类型存储设备,例如在本示例性实施例中,为包括半导体存储器的非易失性存储设备。换言之,第二类型存储设备是诸如固态驱动器(SSD)等的包括半导体闪存的存储设备,并且在本示例性实施例中,假设为SSD(SSD1和SSD2)。然而,第一类型存储设备和第二类型存储设备分别不限于HDD和SSD。此外,关于第一类型存储设备和第二类型存储设备的定义也仅是示例,并且存储设备不限于这些示例。
此外,在本示例性实施例中,将桥的数量假设为三个,但是数量不限于此,并且本示例性实施例还能够支持如下构造:省去桥300和310中的至少一者和/或还额外地连接未例示的桥。
图2例示了充当主机的主控制器100的具体构造例。
主控制器100包括中央处理单元(CPU)101、只读存储器(ROM)102、动态随机存取存储器(DRAM)103、诸如扫描图像处理单元105和打印机图像处理单元107等的各种图像处理单元、扫描仪106,打印机108以及操作单元109。这些组件形成MFP。主控制器100还包括Network(网络)104和串行高级技术附件(SATA)控制器110。
CPU101具有控制主控制器100和整个信息处理装置的功能,并且执行系统控制、计算处理、操作系统(OS)和应用程序。
ROM102是只读存储器,并且存储设定信息和由CPU101待执行的控制程序。DRAM103存储由CPU101执行的控制程序,并且还用作临时工作区。Network104是网络接口(I/F),并且经由局域网(LAN)111向外部信息装置(未例示)发送在MFP中经受过图像处理的图像数据。可选地,Network104输入来自外部信息装置的图像数据。
扫描仪106是图像输入设备。扫描仪106通过利用光照射被设定为原始的纸张上的图像并利用电荷耦合器件(CCD)线传感器(未例示)扫描该图像来获取光栅图像数据,并且将所获取的数据转换为电信号,然后输出该电信号。
扫描图像处理单元105对从扫描仪106接收的电信号的图像数据进行图像处理。经受过图像处理的图像数据经由SATA控制器110、桥200存储在任意存储设备400至403中。
打印机图像处理单元107对所接收的图像数据进行图像处理,并且向打印机108发送经受过图像处理的图像数据。打印机108是图像输出设备,并且将所接收的图像数据(例如,光栅图像数据)作为图像打印在片材上。
操作单元109是具有显示功能和操作功能两者的诸如触摸面板等的用户界面。操作单元109具有显示输入到主控制器100的图像数据的功能、向CPU101通知由系统操作者(用户)输入的信息的功能等。
SATA控制器110在CPU101的控制下,按照SATA标准控制连接到SATA控制器110的诸如桥200等的设备,并且向桥200等发送数据和从桥200等接收数据。
图3例示了桥200的详细构造例。
桥200的CPU201在桥200中进行系统控制、计算处理、ATA命令处理等,并且还进行例如针对存储设备400至403以及桥300和310的发送命令的处理。ROM202存储由CPU201待执行的控制程序和各种模式的设定值的数据。RAM203存储由CPU201待执行的控制程序,并且还用作临时工作区。
SATA设备I/F204连接到主控制器100,并且按照SATA标准与主控制器100中的SATA控制器110通信。SATA主机I/F205和206分别连接到桥300和310,并且按照SATA标准与桥300和310通信。
图4例示了以级联方式连接的桥200和桥300以及也以级联方式连接到桥200的桥310的详细构造例。将假设桥200、300和310具有相同的构造来描述桥200、300和310,但是本公开的实施例不限于这些构造。无须赘述,在仍然属于本公开的范围的范围内,可以在桥200、300和310的一部分中添加或省去功能。
桥300的CPU301进行系统控制、计算处理和ATA命令处理,并且还进行例如针对存储设备400和存储设备401的发送命令的处理。ROM302存储由CPU301待执行的控制程序和各种模式的设定值的数据。RAM303存储由CPU301待执行的控制程序,并且还用作临时工作区。
SATA设备I/F304连接到桥200,并且按照SATA标准与桥200中的SATA主机I/F205通信。
SATA主机I/F305和306连接到设备,即连接到本示例性实施例中的存储设备400和401,并且按照SATA标准分别与存储设备400和401通信。
类似地,桥310的CPU311进行系统控制、计算处理和ATA命令处理,并且还进行例如针对存储设备402和存储设备403的发送命令的处理。ROM312存储有CPU311的控制程序和各种模式的设定值的数据。RAM313存储有由CPU311待执行的控制程序,并且还用作临时工作区。
SATA设备I/F314连接到桥200,并且按照SATA标准与桥200中的SATA主机I/F206通信。
SATA主机I/F315和316分别连接到设备,即分别连接到本示例性实施例中的存储设备402和403,并且按照SATA标准与存储设备402和403通信。
在本示例性实施例中,将桥200、300和310描述为经由SATA接口连接的SATA桥,但是本公开的实施例不限于这些构造。桥200、300和310中的各个均可以是其他接口,诸如高速外围组件互连(Peripheral Component Interconnect Express(PCIE))等。
此外,在本示例性实施例中,将假设SATA控制器110以及桥200、300和310被单独地构造在不同芯片上来描述SATA控制器110以及桥200、300和310,但是本公开的实施例不限于这些构造。例如,在本公开的其他实施例中,SATA控制器110以及桥200、300和310中的任意两者以上可以被构造为包括在相同芯片中。
图5是例示根据第一示例性实施例的桥200、300和310中的各个的状态转变的状态转变图。
现在,将参照图5描述桥200、300和310中的各个的操作。
将参照图4描述该操作,聚焦于作为代表例的桥300的操作,但是其他桥200和310也以类似的方式操作。此外,将假设使用HDD作为连接到桥300的存储设备400和401来描述该操作。
桥200、300和310中的各个均具有三种操作模式,即单个模式(single mode)(S501)、镜像模式(mirroring mode)(S502)和混合模式(hybrid mode)(S503)。
单个模式(S501)是桥在HDD仅安装于其一个SATA主机I/F的情况下进行操作的模式。在桥300的情况下,单个模式(S501)是桥300在HDD连接到SATA主机I/F305和SATA主机I/F306中的仅任意一者的情况下进行操作的模式。
如果在单个模式(S501)下,经由SATA设备I/F304从主机侧(桥200侧)接收到向镜像模式(S502)的转变命令,则CPU301向镜像状态(mirror state)(S504)转变。
此外,如果在单个模式(S501)下,经由SATA设备I/F304从主机侧接收到向混合模式的转变命令(S503),则CPU301向混合状态(S508)转变。
当转变到各个状态时,CPU301将CPU301转变到的状态存储在ROM302中。单个模式(S501)是默认操作模式,并且如果在启动时,前次操作时(诸如启动等的初始化时或对设备进行访问时)的模式未存储在ROM302中,则CPU301以单一操作模式开始操作。
可选地,如果在启动时,前次操作时的模式存储在ROM302中,则CPU301以该存储的操作模式开始操作。
镜像模式(S502)是桥300在HDD安装于两个SATA主机I/F305和306中的各个的情况下进行操作的模式。
镜像模式(S502)包括四种状态,即镜像状态(S504)、退化状态(degraded state)(S505),重建状态(rebuild state)(S506)和停止状态(halt state)(S507)。
在镜像模式(S502)下,CPU301将分别连接到两个SATA主机I/F305和306的HDD中的一者视作主(master)HDD,将HDD中的另一者视作副(slave)HDD。
镜像状态(S504)是两HDD在其安装于两个SATA主机I/F305和306的情况下均正常操作的状态。
在镜像状态(S504)下,如果经由SATA设备I/F304从主机侧接收到数据读出命令,则CPU301仅以连接到SATA主机I/F305和306的HDD中的主HDD为目标,执行该命令。
在镜像状态(S504)下,如果经由SATA设备I/F304从主机侧接收到数据写入命令,则CPU301以连接到SATA主机I/F305和306的HDD为目标,执行该命令。换言之,CPU301以主HDD和副HDD两者为目标,执行该命令。
在镜像状态(S504)下,如果已经在主HDD和副HDD中的任意一者中发生诸如故障等的异常,则CPU301向退化状态(S505)转变。
如果在镜像状态(S504)下,经由SATA设备I/F304从主机侧接收到向重建状态(S506)转变的转变命令,则CPU301向重建状态(S506)转变。
退化状态(S505)是如下状态:CPU301在连接到SATA主机I/F中的一者的HDD中检测到诸如故障等的异常并停止对该HDD的访问,并且仅借助于连接到SATA主机I/F中的另一者的正常HDD进行操作。
如果在退化状态(S505)下,检测到代替故障HDD将正常HDD新连接到SATA主机I/F,则CPU301向重建状态(S506)转变。
如果在退化状态(S505)下,检测到与SATA主机I/F305和306连接的两HDD均是异常的,则CPU301向暂停状态(S507)转变。该情形与例如连接到SATA主机I/F305和306中的另一者的HDD也已经发生故障的情况对应。
重建状态(S506)不仅是桥借助于HDD中的仅一者(在故障之前已经安装好且未发生故障的HDD)进行操作的状态,而且是桥正在将数据复制(重建)到HDD中的另一者(代替故障HDD而新安装的HDD)的状态。
此时,CPU301将被复制的数据所来自的HDD(在故障之前已经安装好且未发生故障的HDD)视作主HDD,将数据被复制到的HDD(代替故障HDD而新安装的HDD)视作副HDD。
如果在重建状态(S506)下完成了重建,则CPU301向镜像状态(S504)转变。如果在重建状态(S506)下副HDD发生故障,则CPU301向退化状态(S505)转变。另一方面,如果在重建状态下主HDD发生故障,则CPU301向停止状态(S507)转变。
停止状态(S507)是桥因为两HDD均处于异常状态而不能继续镜像操作的状态。
在本示例性实施例中,作为连接到SATA主机I/F305和306的设备的示例已经列举了HDD,但是连接设备是SSD或桥的情况也适用。
在连接到SATA主机I/F305和306的设备是SSD的情况下,与连接设备是HDD的情况类似,CPU301确定出当SSD自身例如发生故障时连接了异常设备。
在连接到SATA主机I/F305和306的设备是桥的情况下,CPU301确定出当被通知该桥因例如故障而处于异常状态时连接了异常设备。
混合模式(S503)是CPU301在如下状态下操作的模式:不同类型的存储设备(特别地,本实施例中HDD和SSD)安装于两个SATA主机I/F305和306。
混合模式(S503)包括两种状态,即混合状态(S508)和错误状态(S509)。
在混合模式(S502)下,CPU301整合关于连接到两个SATA主机I/F305和306的HDD和SSD的地址,并且以使HDD和SSD在经由SATA设备I/F304从主机侧观察时看起来HDD和SSD是一个存储设备的方式操作。
混合状态(S508)是如下状态:在HDD和SSD安装于两个SATA主机I/F305和306时,这些HDD和SSD正常操作。
如果在混合状态(S508)下,在HDD和SSD中的任意一者中发生诸如故障等的异常,则CPU301向错误状态(S509)转变。
错误状态(S509)是桥因为HDD和SSD中的任意一者处于异常状态而不能继续混合操作的状态。
将参照图6A所示的流程图,描述由根据本示例性实施例的主控制器100中的CPU101进行的以连接到SATA控制器110的SATA设备为目标的初始化处理。
在CPU101上运行的与图6A所示的流程图有关的程序可以存储在DRAM103、ROM102或任意存储设备400至403中。
在本示例性实施例中,将假设主控制器100中的CPU101进行初始化处理来描述该处理,但是可以将本处理设定为由任意桥200、300和310进行。
将假设在诸如启动等的初始化时进行该处理来描述图6A的流程图所示的处理,但是不限于此。例如,当CPU101访问连接到SATA控制器110的SATA设备时,每当CPU101尝试该访问时,可以进行该处理过程。
首先,在步骤S601中,CPU101经由SATA控制器110确认是否存在连接到SATA控制器110的设备,在这种情况下,确认是否有SATA设备连接在设备侧。作为其具体示例,CPU101经由SATA控制器110向设备侧发出诸如IDENTIFY DEVICE命令等的ATA命令,由此确认是否连接了SATA设备。换言之,CPU101经由SATA控制器110向设备侧发送用于确认是否存在连接设备的通知。
如果存在经由SATA控制器110来自设备侧的、对在步骤S601中发出的IDENTIFYDEVICE命令的响应(在步骤S602中为“是”),则CPU101确定出有设备连接到SATA控制器110。换言之,CPU101确定出有SATA设备连接到SATA控制器110,并且处理进行到步骤S603。
另一方面,如果不存在来自设备侧的对IDENTIFY DEVICE命令的响应(在步骤S602中为“否”),则CPU101确定出没有设备连接到SATA控制器110,即没有连接SATA设备,并且处理进行到步骤S605。在步骤S605中,CPU101在操作单元109上呈现错误显示,指示没有设备连接到SATA控制器110。随后,处理可以进行到步骤S610,并且CPU101可以以将在步骤S602中获取的信息存储在ROM102中的方式操作。
在步骤S603中,CPU101基于对在步骤S601中发出的IDENTIFY DEVICE命令的响应的内容,确定桥是否连接到SATA控制器110作为SATA设备。
在步骤S603中,如果CPU101确定出桥(在图2所示的具体示例中为桥200)连接到SATA控制器110(在步骤S603中为“是”),则处理进行到步骤S604。
另一方面,如果CPU101在步骤S603中确定出不是桥而是存储设备连接到SATA控制器110(在步骤S603中为“否”),则处理进行到步骤S609。在步骤S609中,CPU101对该存储设备进行将稍后描述的初始化处理。
在步骤S604中,CPU101基于对在步骤S601中发出的IDENTIFY DEVICE命令的响应的内容,确定在连接到SATA控制器110的桥200的末端(beyond)是否还存在连接设备。
如果CPU101在步骤S604中确定出在桥200的末端还存在连接设备(在步骤S604中为“是”),则处理进行到步骤S606。如果CPU101在步骤S604中确定出不存在连接设备(在步骤S604中为“否”),则处理进行到步骤S605。
对IDENTIFY DEVICE命令的响应的内容包含是否存在连接设备,如果存在连接设备,则响应的内容还包含关于该连接设备的信息。更具体地,作为连接设备,在图1所示的特定示例中,响应的内容包含桥300和310中的各个的设定信息和操作模式、桥300和310与连接到桥300和310的存储设备400至403间的连接关系(还称作连接构造(connectionconfiguration))、存储设备400至403中的各个的类型。
在步骤S605中,CPU101在操作单元109上呈现错误显示,指示不能检测到与桥200连接或与桥200的末端连接的设备。然后,处理进行到步骤S610。在步骤S610中,CPU101将例如从包含在对IDENTIFY DEVICE命令的响应的内容中的连接设备信息获取的、桥200的设定信息存储在ROM102中,作为连接构造信息。
在步骤S606中,CPU101基于对在步骤S601中发出的IDENTIFY DEVICE命令的响应的内容,确定桥是否以级联方式连接到SATA控制器110。在这种情况下,如图1所示,桥以级联方式连接的示例包括桥300和310中的至少一者连接在桥200末端的情况。
在步骤S606中,如果CPU101确定出桥以级联方式连接到SATA控制器110(在步骤S606中为“是”),则处理进行到步骤S608。
另一方面,在步骤S606中,如果CPU101确定出仅桥200连接到SATA控制器110,并且没有建立级联连接(在步骤S606中为“否”),则处理进行到步骤S607。
在步骤S607中,CPU101基于包含在来自设备侧的响应的内容中的连接设备信息,通过经由SATA控制器110向桥200发送模式设定指令,来重设桥200的操作模式。更具体地,CPU101基于包含在连接设备信息中的、各个桥与各个存储设备之间的连接关系(连接构造)以及各个存储设备的类型,确定各个桥的操作模式,并且CPU101对各个桥设定所确定的操作模式。此时,对桥200设定的操作模式是镜像模式S502或混合模式S503。
作为具体示例,如果连接到桥200的两个存储设备是相同类型的存储设备(例如,HDD或SSD),则CPU101设定镜像模式S502。另一方面,如果连接到桥200的两个存储设备是不同类型的存储设备(例如,HDD和SSD),则CPU101设定混合模式S503。
然后,处理进行到步骤S609。在步骤S609中,CPU101将以所连接的存储设备为目标的初始化处理指令从SATA控制器110发送到桥200,由此对存储设备进行初始化处理。
无须赘述,如果仅有一个存储设备连接到桥200,则CPU101可以以重设单个模式S501的方式操作。
在步骤S608中,CPU101经由SATA控制器110向以级联方式连接的各个桥发送模式设定指令,由此重设各个桥的操作模式。在本示例性实施例中,如图1所示,假设三个桥200、300和310以级联方式连接,桥300和310中的各个连接有两个存储设备。此时,对桥200、300和310设定的操作模式是镜像模式S502和混合模式S503两者。
作为具体示例,如果像图1所示的构造那样,连接到桥300的两个存储设备400和401均是第一类型存储设备(HDD1和HDD2)(是相同类型的存储设备),则CPU101对桥300设定镜像模式S502。类似地,如果连接到桥310的两个存储设备402和403均是第二类型存储设备(SSD1和SSD2)(是相同类型的存储设备),则CPU101对桥310设定镜像模式S502。因此,在这种情况下,CPU101对桥200设定混合模式S503。
作为另一具体示例,如果连接到桥300和310中的各个的两个存储设备是诸如HDD和SSD等的不同类型的存储设备,则CPU101对桥300和310中的各个设定混合模式S503。因此,在这种情况下,CPU101对桥200设定镜像模式S502。以这种方式,维持了桥200、300和310的操作模式与连接到桥200、300和310的存储设备的组合之间的匹配。
在步骤S609中,CPU101将以连接到桥300和310的存储设备400至403为目标的初始化处理指令从SATA控制器110发送到桥200,由此对存储设备400进行初始化处理。
接下来,在步骤S610中,作为连接构造信息,CPU101存储包含在来自设备侧的对IDENTIFY DEVICE命令的响应的内容中的、关于连接在SATA控制器110末端的一个或多个连接设备的信息。此时,连接构造信息是指各个桥与各个存储设备之间的连接关系(连接构造)、各个存储设备的类型、各个桥的操作模式和设定信息等,并且存储在ROM102或任意存储设备400至403中。
在本示例性实施例中,作为用于确认连接设备构造的方法,已经描述了使用IDENTIFY DEVICE命令的示例。然而,用于确认设备构造的方法不限于此,并且可以采用任意方法,只要所采用的方法允许CPU101确认是否存在SATA设备等、确认是否存在桥等以及确认桥是否以级联方式连接等即可。此外,用于确认连接设备构造的方法不限于ATA命令,并且可以发出扩展命令等。
接下来,将参照图6B所示的流程图,描述由根据本示例性实施例的桥200、300和310中的各个对连接到桥200、300和310中的各个的SATA设备进行的初始化处理。
在本示例性实施例中,作为一个示例,将描述由桥200中的CPU201进行的初始化处理,但是本处理也由其他桥300和310以类似的方式进行。
在CPU201上运行的与图6B所示的流程图有关的程序可以存储在RAM203、ROM202或任意存储设备400至403中。
将假设在诸如启动等的初始化时进行图6B的流程图所示的处理来描述该处理,但是不限于此,并且当CPU201访问连接到桥的SATA设备时,例如每当CPU101尝试该访问时,可以进行该处理。
首先,在步骤S621中,CPU201经由SATA设备I/F204从主机侧(SATA控制器110)接收用于确认是否存在连接设备的通知。然后,CPU201确认是否有SATA设备连接在SATA主机I/F205和206的末端。作为具体示例,CPU201经由SATA主机I/F205和206中的各个向设备侧发出诸如IDENTIFY DEVICE命令等的ATA命令,由此确认是否连接了SATA设备。
如果存在经由SATA主机I/F205和206的来自设备侧的、对在步骤S621中发出的IDENTIFY DEVICE命令的响应(在步骤S622中为“是”),则CPU201确定出在SATA主机I/F205和206的末端存在SATA设备。随后,处理进行到步骤S623。
另一方面,如果不存在来自设备侧的对在步骤S621中发出的IDENTIFY DEVICE命令的响应(在步骤S622中为“否”),则CPU201确定出没有设备连接到SATA主机I/F205和206。换言之,CPU201确定出没有SATA设备连接到SATA主机I/F205和206,并且处理进行到步骤S627。
在步骤S623中,CPU201确定在来自设备侧的对在步骤S621中发出的IDENTIFYDEVICE命令的响应中,是否包含指示没有设备连接到SATA主机I/F205和206的错误通知。在步骤S623中,如果CPU201确定出在来自设备侧的对IDENTIFY DEVICE命令的响应中包含错误通知(在步骤S623中为“是”),则处理进行到步骤S627。
另一方面,在步骤S623中,如果CPU201确定出在来自设备侧的对IDENTIFY DEVICE命令的响应中不包含错误通知(在步骤S623中为“否”),则处理进行到步骤S624。
在步骤S627中,CPU201向主机侧通知:当前状态是没有设备连接到SATA主机I/F205和206的这样的错误状态。利用该通知,主控制器100在操作单元109上呈现错误显示,指示没有设备连接到SATA主机I/F205和206。随后,处理可以进行到步骤S628,并且CPU201可以以将在步骤S622中获取的关于连接设备的信息存储在ROM202中,作为连接构造信息的方式操作。
在步骤S624中,CPU201通过将来自设备侧的对在步骤S621中发出的IDENTIFYDEVICE命令的响应的内容和关于桥200自身的信息合并,来获取关于连接设备的信息。在步骤S624中,CPU201经由SATA设备I/F204向主机侧进一步返回连接设备信息。
来自设备侧的响应的内容包含连接到桥200的SATA设备的连接设备信息,即在图1所示的示例中,包含桥300和310的设定信息、连接构造以及连接到这些桥300和310的存储设备400至403的类型。
随后,在步骤S625中,CPU201响应于已经经由SATA设备I/F204向主机侧通知的连接设备信息,从主机侧接收模式设定指令。
此外,CPU201基于所接收的模式设定指令,识别寻址到桥200的模式设定指令的内容和寻址到与SATA主机I/F205和206连接的设备(在图1所示的具体示例中,为寻址到桥300和310)的模式设定指令的内容。
接下来,在步骤S625中,CPU201根据寻址到桥200的、所识别的模式设定指令,设定桥200自身的操作模式。此外,CPU201经由SATA主机I/F205和206向桥300和310通知寻址到与SATA主机I/F205和206连接的设备的、所识别的模式设定指令的内容。通过该通知,根据这些模式设定指令,设定桥300和310的操作模式。
随后,在步骤S626中,CPU201经由SATA设备I/F204从主机侧接收以存储设备400至403为目标的初始化处理指令。然后,CPU201将所接收的初始化处理指令通知给连接到SATA主机I/F205和206的设备。响应于该通知,对连接到桥300和310的存储设备400至403进行初始化处理。
接下来,在步骤S628中,CPU201将已经在步骤S625中设定的桥200的操作模式和已经在步骤S622中获取的关于连接设备的信息存储在ROM202中,作为连接构造信息。
以这种方式,桥200中的初始化处理结束。
还以类似的方式在连接到桥200的其他桥300和310中进行初始化处理。
将参照图7A所示的流程图,描述由根据本示例性实施例的主控制器100中的CPU101进行的、用于重设连接到SATA控制器110的设备的模式的处理。
在CPU101上运行的与图7A所示的流程图有关的程序可以存储在DRAM103、ROM102或任意存储设备400至403中。
在本示例性实施例中,将假设主控制器100中的CPU101进行该处理来描述根据本流程图的模式重设,但是可以将本处理设定为由任意桥200、300和310进行。
在本示例性实施例中,将假设在诸如启动等的初始化时进行该处理来描述图7A所示的处理过程,但是不限于此,并且当CPU101访问连接SATA设备时,例如每当CPU101尝试该访问时,可以进行该处理过程。
首先,在步骤S701中,CPU101经由SATA控制器110向设备侧发出诸如IDENTIFYDEVICE命令等的ATA命令,由此确认是否连接了SATA设备。换言之,CPU101经由SATA控制器110向设备侧发送用于确认是否存在连接设备等的通知。
如果存在来自设备侧的对在步骤S701中发出的IDENTIFY DEVICE命令的响应(在步骤S702中为“是”),则CPU101确定出有设备连接到SATA控制器110。换言之,CPU101确定出有SATA设备连接到SATA控制器110,并且处理进行到步骤S703。
另一方面,如果不存在来自设备侧的对在步骤S701中发出的IDENTIFY DEVICE命令的响应(在步骤S702中为“否”),则CPU101确定出没有设备连接到SATA控制器110。换言之,CPU101确定出没有SATA设备连接到SATA控制器110,并且处理进行到步骤S704。
在步骤S704中,CPU101在操作单元109上呈现错误显示,指示没有设备连接到SATA控制器110,即在设备侧不能检测到SATA设备。然后,CPU101结束处理。CPU101可以以在将于步骤S702中获取的信息存储在ROM102中之后结束处理的方式操作。
在步骤S703中,CPU101将来自设备侧的对在步骤S701中发出的IDENTIFY DEVICE命令的响应的内容与已经在图6A所示的初始化处理期间存储在ROM102等中的、前次启动时的连接构造进行比较。在本示例性实施例中,如由图1所示的具体示例所示,假设已经存储在ROM102等中的、前次启动时的连接构造指示桥200、300和310间的连接构造、存储设备400至403的连接构造以及这些桥与存储设备之间的连接构造。此外,假设来自设备侧的响应的内容也指示连接到SATA控制器110的设备(即桥200、300和310)间的连接构造、存储设备400至403间的连接构造以及这些桥与存储设备的连接构造。
如果CPU101确定出桥和存储设备的前次启动时的连接构造,与由来自设备侧的对在步骤S701中发出的IDENTIFY DEVICE命令的响应的内容指示的连接构造之间没有改变(在步骤S703为“否”),则处理进行到步骤S706。连接构造没有改变意味着在图1所示的具体示例中,连接到SATA控制器110的桥200、300和310间的连接关系、以及桥300和310与存储设备400至403的连接构造均根本没有改变。换言之,连接构造的改变是指桥间的连接构造的改变或桥与存储设备之间的连接构造的改变、连接到桥的存储设备中的至少一部分的彼此交换、存储设备的省去或新存储设备的额外连接等。此外,连接构造的改变还包括连接到桥的存储设备中的一部分被新存储设备更换的情况。
因而,当连接构造根本没有改变时,桥200、300和310中的各个的操作模式也没有改变。
在步骤S706中,假设存储设备400至403以及连接到SATA控制器110的桥200、300和310的连接构造都没有改变,CPU101在维持前次启动时的构造和操作模式的同时启动桥200、300和310中的各个。随后,CPU101结束处理。CPU101可以以在将于步骤S702中获取的信息存储在ROM102等中之后结束处理的方式操作。
另一方面,如果CPU101确定出存储设备和桥的前次启动时的连接构造,与由来自设备侧的对在步骤701中发出的IDENTIFY DEVICE命令的响应的内容所指示的连接构造之间发生改变(在步骤S703中为“是”),则处理进行到步骤S705。在步骤S705中,CPU101基于存储设备和桥的前次启动时的连接构造,以及由来自设备侧的对IDENTIFY DEVICE命令的响应的内容所指示的连接构造,确定桥200至310的连接构造是否发生改变。桥的连接构造的改变包括桥的连接形态(arrangement)(例如,图1所示的级联连接形态)的改变、任意桥200、300和310的省去或者新桥的添加(进一步,包括连接到桥的设备的改变)等。
如果CPU101确定出桥200、300和310的连接构造发生改变(在步骤S705中为“是”),则处理进行到步骤S711。
另一方面,如果CPU101确定桥200、300和310的连接构造没有改变(在步骤S705中为“否”),则处理进行到步骤S708。
在步骤S708中,CPU101基于存储设备和桥的前次启动时的连接构造以及对IDENTIFY DEVICE命令的响应的内容,确定是否仅桥和存储设备的组合发生改变。仅桥和存储设备的组合发生改变的示例包括连接到桥300和310的存储设备400至403中的至少一部分彼此交换的情况,以及桥200、300和310彼此交换的情况。例如,在图1所示的构造中,该改变与存储设备401(HDD2)和存储设备402(SSD1)彼此交换的情况、桥300和301彼此交换的情况等对应。
如果CPU101确定出改变不是仅桥和存储设备的组合发生改变(在步骤S708中为“否”),则处理进行到步骤S716。不是仅桥和存储设备的组合发生改变的改变与连接到桥300和310的存储设备400至403中的至少一部分被新存储设备更换的情况、添加新存储设备的情况等对应。在步骤S716中,CPU101经由SATA控制器110和桥200向桥300和310中的各个发出以存储设备400至403为目标的初始化处理指令,由此进行初始化处理。随后,处理进行到步骤S717。
另一方面,如果CPU101确定出改变是仅桥和存储设备的组合发生改变(在步骤S708中为“是”),则处理进行到步骤S709。
在步骤S709中,CPU101经由SATA控制器110向桥200、300和310中的各个通知关于当前操作模式、设定信息等的询问。然后,处理进行到步骤S710。
在步骤S710中,CPU101基于存储在ROM102等中的连接构造信息、包含在来自桥200、300和310中的各个的对询问的通知的响应的内容中的、桥200、300和310中的各个的当前操作模式和设定信息,重设桥200、300和310中的各个的模式。更具体地,CPU101经由SATA控制器110向桥200、300和310中的各个发出模式重设指令。因而,CPU101确定基于已经在步骤S702、S703、S705和S708中获取的、桥200、300和310中的各个与存储设备400至403之间的连接关系(连接构造)以及存储设备400至403中的各个的类型,而应当设定的桥200、300和310中的各个的操作模式。然后,如果存在所确定的操作模式和当前操作模式彼此不同的桥,则CPU101对该桥重设所确定的操作模式。对于其他桥,因为操作模式没有改变,所以CPU101维持其当前操作模式。
例如,CPU101对桥300和310设定桥200的操作模式和设定信息,并且相反地,对桥200设定桥300和310的操作模式和设定信息。
作为示例,对于桥300和310中的各个,如果确定出连接到桥300和310中的各个的存储设备的类型(HDD和SSD)的组合从前次启动时的组合改变,则CPU101改变桥300和310中的各个的操作模式。
例如,在图1所示的构造中,如果存储设备401(HDD2)和存储设备402(SSD1)彼此交换,则将连接到桥300和310中的各个的存储设备的类型改变为HDD和SSD,由此成为不同的类型。在当前状态下,桥200处于混合模式S503,桥300和310均处于镜像模式S502,因而如果操作模式仍然相同,则会在桥200、300和310的各个操作模式与所交换的存储设备的组合之间发生不匹配。
因此,CPU101向桥200、300和310中的各个发出模式重设指令,由此以使桥300和310中的各个的操作模式从镜像模式S502改变到混合模式S503的方式设定桥300和310中的各个的操作模式,并且以使桥200的操作模式从混合模式S503改变到镜像模式S502的方式设定桥200的操作模式。因此,维持了桥200、300和310中的各个的操作模式与连接到桥200、300和310中的各个的存储设备的组合之间的匹配。
即使当改变是仅桥和存储设备的组合发生改变时,如果连接到各个桥300和310的存储设备的类型的组合不改变,则桥200、300和310中的各个的操作模式也不改变。例如,如果存储设备400(HDD1)和存储设备401(HDD2)的组合与存储设备402(SSD1)和存储设备403(SSD2)的组合彼此交换,则连接到各个桥300和310的存储设备仍然是相同类型的存储设备的组合。因此,操作模式不改变,即各个桥300和310的操作模式维持镜像模式S502,桥200的操作模式维持混合模式S503。因此,维持了桥200、300和310中的各个的操作模式与连接到桥200、300和310中的各个的存储设备的组合之间的匹配。
在CPU101结束步骤S710中的处理之后,处理进行到步骤S717。在步骤S717中,CPU101将改变后的模式设定等存储在ROM102等中,作为连接构造信息。然后,CPU101结束处理。
如果CPU101确定出桥的连接构造发生改变(在步骤S705中为“是”),则处理进行到步骤S711。在步骤S711中,CPU101基于对在步骤S701中发出的IDENTIFY DEVICE命令的响应的内容,确定是否存在连接设备。换言之,CPU101确定在连接到SATA控制器110的桥200的末端是否存在连接设备。
在步骤S711中,如果CPU101确定出在桥200的末端不存在连接设备(在步骤S711中为“否”),则处理进行到步骤S713。
在步骤S713中,CPU101在操作单元109上呈现错误显示,指示在连接到SATA控制器110的桥200的末端不能检测到SATA设备。然后,处理进行到步骤S717。在步骤S717中,CPU101将诸如已经在步骤S702中获取的、改变后的桥的连接构造等的信息存储在ROM102等中。然后,CPU101结束处理。
另一方面,在步骤S711中,如果CPU101确定出在桥200的末端存在连接设备(在步骤S711中为“是”),则处理进行到步骤S712。
在步骤S712中,CPU101基于对在步骤S701中发出的IDENTIFY DEVICE命令的响应的内容,确定包括桥的SATA设备是否以级联方式连接到SATA控制器110。
此时,级联连接的构造例包括至少两个桥(200和300)以及多个设备以级联方式连接到控制器110的构造。例如,作为该示例的一种可能构造是,在桥200的末端连接至少一个存储设备和桥300,并且在桥300的末端连接多个设备,诸如多个存储设备或者至少一个存储设备和桥310等。在这种情况下,还可以在桥310的末端连接多个设备。此外,另一示例是在桥200的末端连接桥300,并且在桥300的末端连接多个设备,诸如多个存储设备或者至少一个存储设备和桥310等。在这种情况下,还可以在桥310的末端连接多个设备。
这些是级联连接的示例,并且本示例性实施例能够适用于这样的多种级联连接。
在步骤S712中,如果CPU101确定出没有桥以级联方式连接到SATA控制器110(在步骤S712中为“否”),即确定出仅连接了桥200,则处理进行到步骤S715。
在步骤S715中,CPU101经由SATA控制器110向桥200发出模式重设指令,由此重设桥200的操作模式。换言之,CPU101确定基于已经在步骤S702、S703和S705中获取的、桥200与存储设备之间的连接关系(连接构造)以及各个存储设备的类型,而应当设定的桥200的操作模式,并且CPU101对桥200设定所确定的操作模式。此时,CPU101设定镜像模式S502或混合模式S503,假设属于相同类型或者不同类型的两个存储设备连接到桥200。
无须赘述,如果仅有一个存储设备连接到桥200,则CPU101可以以重设单个模式S501的方式操作。
另一方面,在步骤S712中,如果CPU101确定出桥以级联方式连接到SATA控制器110(在步骤S712中为“是”),则处理进行到步骤S714。在本示例性实施例中,假设桥200等以与图1不同的连接关系以级联方式连接。
在步骤S714中,CPU101基于由对IDENTIFY DEVICE命令的响应的内容指示的连接设备信息,经由SATA控制器110向桥200等发出模式重设指令,由此重设各个桥的操作模式。换言之,CPU101确定基于已经在步骤S702、S703、S705、S711和S712中获取的、各个桥与存储设备之间的连接关系(连接构造)以及各个存储设备的类型,而应当设定的各个桥的操作模式,并且CPU101对各个桥设定所确定的操作模式。此时,假设对桥200等设定的操作模式是镜像模式S502和混合模式S503两者。无须赘述,如果仅有一个存储设备连接到桥,则CPU101可以以重设单个模式S501的方式操作。
在步骤S716中,CPU101经由SATA控制器110使桥200等对所连接的存储设备400至403进行初始化处理。
接下来,在步骤S717中,CPU101将关于改变后的、连接在SATA控制器110末端的各个连接设备的信息存储为连接构造信息。更具体地,CPU101将改变后的桥和存储设备的连接构造、桥200的操作模式和设定信息存储在ROM102或任意存储设备400至403等中,作为连接构造信息。
接下来,将参照图7B所示的流程图,描述由桥200、300和310进行的模式重设处理的操作。在本示例性实施例中,作为一个示例,将描述由桥200中的CPU201进行的模式重设处理,但是该处理也由其他桥300和310中的各个以类似的方式进行。
在CPU201上运行的与图7B所示的流程图有关的程序可以存储在RAM203、ROM202或任意存储设备400至403中。
将假设在初始化(例如,在本示例性实施例为启动)时进行该处理来描述图7B所示的处理过程,但是不限于此,并且当CPU201访问所连接的SATA设备时,例如每当CPU201尝试该访问时,可以进行该处理过程。
首先,在步骤S721中,CPU201在经由SATA设备I/F204从主机侧接收到用于确认是否存在连接设备的通知时,确认是否有SATA设备连接在SATA主机I/F205和206的末端。作为具体示例,CPU201经由SATA主机I/F205和206中的各个向设备侧发出诸如IDENTIFY DEVICE命令等的ATA命令,由此确认是否连接了SATA设备。
如果存在来自设备侧的对在步骤S721中发出的IDENTIFY DEVICE命令的响应(在步骤S722中为“是”),则CPU201确定出有SATA设备连接在SATA主机I/F205和206的末端。然后,处理进行到步骤S723。
另一方面,如果不存在来自设备侧的对在步骤S721中发出的IDENTIFY DEVICE命令的响应(在步骤S722中为“否”),则CPU201确定出没有设备连接到SATA主机I/F205和206,并且处理进行到步骤S724。
在步骤S723中,CPU201确定在来自设备侧的对在步骤S721中发出的IDENTIFYDEVICE命令的响应中,是否包含指示没有设备连接到SATA主机I/F205和206的错误通知。
在步骤S723中,如果CPU201确定出在来自设备侧的对IDENTIFY DEVICE命令的响应中包含错误通知(在步骤S723中为“是”),则处理进行到步骤S724。
另一方面,在步骤S723中,如果CPU201确定出在来自设备侧的对IDENTIFY DEVICE命令的响应中不包含错误通知(在步骤S723中为“否”),则处理进行到步骤S725。
在步骤S724中,CPU201向主机侧通知:当前状态是没有设备连接到SATA主机I/F205和206的错误状态。响应于该通知,主控制器100在操作单元109上呈现错误显示,指示没有设备连接到SATA主机I/F205和206。随后,CPU201结束处理。代替结束,处理可以进行到步骤S733,并且CPU201可以以将在步骤S722中获取的关于连接设备的信息存储在ROM202中,作为连接构造信息。
在步骤S725中,CPU201通过将对在步骤S721中发出的IDENTIFY DEVICE命令的响应的内容和关于桥200自身的信息合并,来获取连接设备信息。在步骤S725中,CPU201还经由SATA设备I/F204向主机侧通知连接设备信息。然后,处理进行到步骤S726。
在步骤S726中,CPU201将来自设备侧的对在步骤S721中发出的IDENTIFY DEVICE命令的响应的内容与在图6B所示的初始化处理期间已经存储在ROM202中的、前次启动时的连接构造进行比较。前次启动时的连接构造等是指存储设备400至403和桥200、300和310的连接构造。
如果CPU201确定出桥和存储设备的前次启动时的连接构造,与对在步骤S721中发出的IDENTIFY DEVICE命令的响应的内容之间没有改变(在步骤中S726为“否”),则处理进行到步骤S733。在步骤S733中,CPU201将在步骤S722中获取的关于连接设备的信息存储在ROM202中,作为连接构造信息。代替使处理进行到步骤S733,CPU201可以以结束处理的方式操作。
在这里,连接构造的改变是指桥间的连接构造的改变或桥与存储设备之间的连接构造的改变、连接到桥的存储设备中的至少一部分的彼此交换、存储设备的省去或新存储设备的额外连接等。此外,连接构造的改变还包括例如连接到桥的存储设备中的一部分被新存储设备更换的情况。
另一方面,如果CPU201确定出存储设备和桥的前次启动时的连接构造,与对在步骤中S721发出的IDENTIFY DEVICE命令的响应的内容之间发生改变(在步骤S726中为“是”),处理进行到步骤S728。
在步骤S728中,CPU201基于存储设备和桥的前次启动时的连接构造以及对在步骤S721中发出的IDENTIFY DEVICE命令的响应的内容,确定改变是否是仅桥和存储设备的组合发生改变。仅桥和存储设备的组合发生改变的示例包括连接到桥300和310的存储设备400至403中的至少一部分彼此交换的情况,以及桥200、300和310彼此交换的情况。
如果CPU201确定出改变是仅组合发生改变(在步骤S728中为“是”),则处理进行到步骤S729。
另一方面,如果CPU201确定出改变不是仅在组合发生改变(在步骤S728中为“否”),则处理进行到步骤S731。不是仅桥和存储设备的组合发生改变的改变对应于如下情况:连接到桥300和310的存储设备400至403中的至少一部分被新存储设备更换的情况、省去存储设备的情况和添加诸如新存储设备等的设备的情况。
在步骤S729中,CPU201接收已经在步骤S709中从主控制器100发送的、对桥200、300和310中的各个作出的关于操作模式、设定信息等的询问的通知。此外,在步骤S729中,CPU201经由SATA主机I/F205和206向桥300和310通知对桥300和310作出的关于操作模式、设定信息等的询问。此外,CPU201通过将来自桥300和310中的各个的、对桥300和310作出的对关于操作模式、设定信息等的询问的响应的内容,与桥200自身的操作模式和设定信息合并,来获取关于连接设备的信息。然后,CPU201经由SATA设备I/F204向主机侧通知连接设备信息。然后,处理进行到步骤S731。
在步骤S731中,作为对步骤S714或S715中的连接设备信息的响应,CPU201经由SATA设备I/F204从主机侧接收模式重设指令。此外,在步骤S731中,CPU201从接收到的来自主机侧的模式设定指令中,识别寻址到桥200自身的模式设定指令的内容和寻址到与SATA主机I/F205和206连接的设备的模式设定指令的内容。此外,CPU201经由SATA主机I/F205和206向桥300和310通知所识别的寻址到与SATA主机I/F205和206连接的设备(在图1中为桥300和310)的模式重设指令的内容。利用该通知,重设桥300和310的操作模式。此外,CPU201基于所识别的寻址到桥200的模式设定指令,设定桥200自身的操作模式。然后,处理进行到步骤S732。
在步骤S732中,CPU201经由SATA设备I/F204从主机侧接收以存储设备为目标的重新初始化处理指令(S716)。此外,在步骤S732中,CPU201将接收到的重新初始化处理指令通知给连接到SATA主机I/F205和206的设备,由此对存储设备进行初始化处理。然后,处理进行到步骤S733。
在步骤S733中,CPU201将在步骤S731中重设的桥200等的操作模式、在步骤S721中确认的关于连接设备的信息等存储在ROM202中,作为连接构造信息。
以这种方式,完成了桥200的模式重设处理。
还通过连接到桥200的其他桥300和310以类似的方式进行初始化处理。
如上所述,根据本示例性实施例的存储系统包括控制器(110)、连接到控制器的第一桥(200)以及连接到第一桥的第二桥(300)和第三桥(310)。此外,存储系统包括多个存储设备(400至403),各个存储设备连接到第一桥至第三桥中的任意一者。控制器和第一桥至第三桥中的至少一者包括存储单元(102、202、302或312)、确定单元(步骤S703至S708和S728)以及重设单元(步骤S710、S714和S731)。存储单元存储包括第一桥至第三桥和存储设备的连接构造的信息。确定单元基于存储在存储单元中的信息,确定第一桥至第三桥和连接到第一桥至第三桥的多个存储设备的连接构造是否从前次操作时(初始化时,例如启动或对设备进行访问时)的连接构造改变了。如果确定单元确定出连接构造改变了,则重设单元基于连接构造的该改变,重设第一桥至第三桥中的各个的操作模式。
因此,根据本示例性实施例,如果以级联方式连接的桥和连接在桥末端的多个存储设备的连接构造从诸如前次启动等的操作时的连接构造改变了,则基于该改变重设各个桥的操作模式。因此,即使当连接构造发生改变时,例如即使当通过从诸如前次启动等的操作时的连接构造交换存储设备来连接存储设备时,也能够防止桥的操作模式与连接到该桥的存储设备之间的不匹配,从而存储系统能够正常地继续操作。
此外,即使当桥的连接构造和连接到桥的多个存储设备从诸如前次启动等的操作时的连接构造改变了时,也基于该改变重设各个桥的操作模式。因此,存储系统能够进一步灵活地应对连接构造的改变。
图6A和图7A的流程图所示的处理过程被假设为由主控制器100中的CPU101进行,但是可以被设定为由准备在SATA控制器110中的CPU进行。
此外,根据本公开另一实施例的控制装置或其控制方法包括被构造为设定操作模式的设定单元或用于设定操作模式的设定步骤(步骤S710、S714和S731),其中控制装置能够连接有包括半导体存储器的非易失性存储设备和包括盘的非易失性存储设备。设定单元(设定步骤)对控制装置设定基于包括半导体存储器的非易失性存储设备和包括盘的非易失性存储设备的连接而设定的预定操作模式。此外,如果均包括半导体存储器的多个存储设备连接到控制装置,而包括盘的非易失性存储设备不连接到控制装置,则设定单元(设定步骤)设定与镜像有关的、与预定操作模式不同的操作模式,其中所连接的多个非易失性设备是镜像的。类似地,如果包括半导体存储器的存储设备不连接到控制装置,均包括盘的多个非易失性存储设备连接到控制装置,则设定单元(设定步骤)设定与镜像有关的、与预定操作模式不同的操作模式。
其他实施例
本发明还可以通过如下的方法来实施,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,使该系统或装置的计算机中的一个或更多个处理器读出并执行程序的方法。另外,通过实现一个或更多个的功能的电路(例如,专用集成电路(ASIC)),来实施本发明。
另外,可以通过读出并执行记录在存储介质(也可更完整地称为“非临时性计算机可读存储介质”)上的计算机可执行指令(例如,一个或更多个程序)以执行上述实施例中的一个或更多个的功能、并且/或者包括用于执行上述实施例中的一个或更多个的功能的一个或更多个电路(例如,专用集成电路(ASIC))的系统或装置的计算机,来实现本发明的实施例,并且,可以利用通过由所述系统或装置的所述计算机例如读出并执行来自所述存储介质的所述计算机可执行指令以执行上述实施例中的一个或更多个的功能、并且/或者控制所述一个或更多个电路执行上述实施例中的一个或更多个的功能的方法,来实现本发明的实施例。所述计算机可以包括一个或更多个处理器(例如,中央处理单元(CPU),微处理单元(MPU)),并且可以包括分开的计算机或分开的处理器的网络,以读出并执行所述计算机可执行指令。所述计算机可执行指令可以例如从网络或所述存储介质被提供给计算机。所述存储介质可以包括例如硬盘、随机存取存储器(RAM)、只读存储器(ROM)、分布式计算系统的存储器、光盘(诸如压缩光盘(CD)、数字通用光盘(DVD)或蓝光光盘(BD)TM)、闪存设备以及存储卡等中的一个或更多个。
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
虽然参照示例性实施例对本发明进行了描述,但是应当理解,本发明并不限于所公开的示例性实施例。以下权利要求的范围给予最宽的解释,以使其涵盖所有这些变型例以及等同的结构和功能。

Claims (10)

1.一种存储系统,其包括:
控制器;
第一桥,所述第一桥连接到所述控制器;
第二桥和第三桥,所述第二桥和所述第三桥连接到所述第一桥;
多个存储设备,所述多个存储设备中的各个存储设备连接到所述第二桥或所述第三桥;
存储器,所述存储器被构造为存储包括所述多个存储设备的连接构造的信息;
确定单元,所述确定单元被构造为基于存储在所述存储器中的信息,确定所述多个存储设备的连接构造是否改变了;以及
重设单元,所述重设单元被构造为基于所述连接构造改变了的确定,根据改变后的连接构造,重设所述第一桥的操作模式、所述第二桥的操作模式和所述第三桥的操作模式中的至少一者。
2.根据权利要求1所述的存储系统,
其中,所述多个存储设备中的各个存储设备是第一类型存储设备或第二类型存储设备,
其中,所述存储器存储所述多个存储设备中的各个存储设备的类型作为所述信息的一部分,并且
其中,所述确定单元确定所述多个存储设备中的连接到所述第二桥的子集是由相同类型的存储设备构成,还是由不同类型的存储设备构成,并且确定所述多个存储设备中的连接到所述第三桥的子集是由相同类型的存储设备构成,还是由不同类型的存储设备构成。
3.根据权利要求2所述的存储系统,其中,所述第一类型存储设备是存储不需要更高访问速度的数据的存储设备,所述第二类型存储设备是存储需要更高访问速度的数据的存储设备。
4.根据权利要求2所述的存储系统,
其中,在存储设备中的连接到所述第二桥的子集被确定为由相同类型的存储设备构成,并且存储设备中的连接到所述第三桥的子集被确定为由相同类型的存储设备构成的情况下,所述重设单元将所述第二桥的操作模式和所述第三桥的操作模式重设为第一操作模式,并且
其中,在存储设备中的连接到所述第二桥的子集被确定为由不同类型的存储设备构成,并且存储设备中的连接到所述第三桥的子集被确定为由不同类型的存储设备构成的情况下,所述重设单元将所述第二桥的操作模式和所述第三桥的操作模式重设为第二操作模式。
5.根据权利要求4所述的存储系统,其中,所述第一操作模式是镜像模式,所述第二操作模式是混合模式。
6.根据权利要求2所述的存储系统,
其中,所述确定单元向所述第一桥、所述第二桥和所述第三桥中的各个发出用于确认所述多个存储设备的连接构造的通知,并且所述确定单元基于从所述第一桥、所述第二桥和所述第三桥中的各个接收的、对用于确认所述多个存储设备的连接构造的通知的响应的内容,确定所述多个存储设备的连接构造从所述存储系统启动前的状态改变了,并且
其中,所述重设单元在所述多个存储设备的连接构造被确定为改变了的情况下,向所述第一桥、所述第二桥和所述第三桥中的各个发出用于确认所述操作模式的通知,并且所述重设单元基于来自所述第一桥、所述第二桥和所述第三桥中的各个的、对用于确认所述操作模式的通知的响应的内容,重设所述第一桥、所述第二桥和所述第三桥中的各个的操作模式。
7.根据权利要求2所述的存储系统,
其中,所述确定单元向其他桥中的各个发出用于确认连接到所述其他桥的存储设备的通知,并且基于存储在所述存储器中的信息和来自所述其他桥中的各个的、对用于确认连接到所述其他桥的存储设备的通知的响应的内容,确定所述第一桥、所述第二桥和所述第三桥的连接构造是否从前次操作时的连接构造改变了,并且
其中,所述重设单元在所述确定单元确定出所述连接构造从前次操作时的连接构造改变了的情况下,向所述其他桥中的各个发出用于确认所述操作模式的通知,并且所述重设单元基于来自所述其他桥中的各个的、对用于确认所述操作模式的通知的响应的内容,重设所述第一桥、所述第二桥和所述第三桥中的各个的操作模式。
8.一种存储系统,其包括:
控制器;
至少第一桥和第二桥;
多个设备,所述多个设备以级联方式连接到所述控制器;
存储器,所述存储器被构造为存储包括所述第一桥和所述第二桥与所述多个设备的连接构造的信息;
确定单元,所述确定单元被构造为基于存储在所述存储器中的信息,确定所述第一桥和所述第二桥与所述多个设备的连接构造是否从前次操作时的连接构造改变了;以及
重设单元,所述重设单元被构造为在所述确定单元确定出所述连接构造改变了的情况下,以与所述连接构造发生改变后的连接构造对应的方式重设所述第一桥和所述第二桥中的各个的操作模式。
9.根据权利要求8所述的存储系统,其中,所述多个设备包括存储设备。
10.一种控制装置,其能够连接有包括半导体存储器的非易失性存储设备和包括盘的非易失性存储设备,所述控制装置包括:
设定单元,所述设定单元被构造为对所述控制装置设定,基于包括半导体存储器的非易失性存储设备和包括盘的非易失性存储设备的连接而设定的预定操作模式,并且
在均包括半导体存储器的多个非易失性存储设备连接到所述控制装置且包括盘的非易失性存储设备不连接到所述控制装置的情况下,或者在包括半导体存储器的非易失性存储设备不连接到所述控制装置且均包括盘的多个非易失性存储设备连接到所述控制装置的情况下,所述设定单元设定与镜像有关的、与所述预定操作模式不同的操作模式。
CN201910175421.0A 2018-03-08 2019-03-08 存储系统和控制装置 Pending CN110246527A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018041887A JP2019159471A (ja) 2018-03-08 2018-03-08 ストレージシステム、その制御方法およびプログラム
JP2018-041887 2018-03-08

Publications (1)

Publication Number Publication Date
CN110246527A true CN110246527A (zh) 2019-09-17

Family

ID=67844015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910175421.0A Pending CN110246527A (zh) 2018-03-08 2019-03-08 存储系统和控制装置

Country Status (3)

Country Link
US (1) US20190278732A1 (zh)
JP (1) JP2019159471A (zh)
CN (1) CN110246527A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110989921A (zh) * 2019-10-24 2020-04-10 西安艾可萨科技有限公司 可配置存储阵列系统及其控制方法、通信设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102893267A (zh) * 2010-05-12 2013-01-23 晶像股份有限公司 应用于端口倍增器的多级端口扩展
US20130159608A1 (en) * 2011-12-19 2013-06-20 SK Hynix Inc. Bridge chipset and data storage system
US20140163716A1 (en) * 2012-12-10 2014-06-12 Skymedi Corporation Bridge device, automated production system and method thereof for storage device
US9195530B1 (en) * 2011-09-06 2015-11-24 Western Digital Technologies, Inc. Systems and methods for improved data management in data storage systems
US20160232066A1 (en) * 2015-02-10 2016-08-11 Canon Kabushiki Kaisha Information processing apparatus, control method for the information processing apparatus, and recording medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5619722A (en) * 1994-01-18 1997-04-08 Teramar Group, Inc. Addressable communication port expander
US7882509B2 (en) * 2007-06-29 2011-02-01 Emulex Design & Manufacturing Corporation Expander-based solution to the dynamic STP address problem
US7904566B2 (en) * 2008-03-14 2011-03-08 Silicon Image, Inc. Method, apparatus, and system for employing an enhanced port multiplier
US8954655B2 (en) * 2013-01-14 2015-02-10 Western Digital Technologies, Inc. Systems and methods of configuring a mode of operation in a solid-state memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102893267A (zh) * 2010-05-12 2013-01-23 晶像股份有限公司 应用于端口倍增器的多级端口扩展
US9195530B1 (en) * 2011-09-06 2015-11-24 Western Digital Technologies, Inc. Systems and methods for improved data management in data storage systems
US20130159608A1 (en) * 2011-12-19 2013-06-20 SK Hynix Inc. Bridge chipset and data storage system
US20140163716A1 (en) * 2012-12-10 2014-06-12 Skymedi Corporation Bridge device, automated production system and method thereof for storage device
US20160232066A1 (en) * 2015-02-10 2016-08-11 Canon Kabushiki Kaisha Information processing apparatus, control method for the information processing apparatus, and recording medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110989921A (zh) * 2019-10-24 2020-04-10 西安艾可萨科技有限公司 可配置存储阵列系统及其控制方法、通信设备

Also Published As

Publication number Publication date
JP2019159471A (ja) 2019-09-19
US20190278732A1 (en) 2019-09-12

Similar Documents

Publication Publication Date Title
JP4571203B2 (ja) 情報処理システムにおける管理サーバ、及びクラスタ管理方法
JP2019175415A (ja) システム資源を割り当てる方法及びシステム
CN105323404A (zh) 图像处理装置及其控制方法
CN104219409A (zh) 具有休眠功能的图像形成装置及其控制方法
CN110246527A (zh) 存储系统和控制装置
US10037591B2 (en) Information processing apparatus and method of controlling the same
JP4168063B2 (ja) ネットワーク通信システム
US9104354B2 (en) Information processing apparatus, control method, and storage medium setting filter information for permitting communication with another information processing apparatus
JP6319583B2 (ja) 印刷データ送信装置、印刷データ送信プログラムおよびプルプリントシステム
US20200293209A1 (en) Information processing apparatus and control method of information processing apparatus
JP6569631B2 (ja) 電子機器及びhdd切り離しプログラム
JP7494927B2 (ja) 情報処理装置、情報処理システム、接続制御方法、及び接続制御プログラム
JP5470884B2 (ja) マルチノードシステム、異常処理方法、スイッチ、ノード及びプログラム
WO2016152129A1 (ja) ストレージ装置、管理装置、ストレージシステム、データ移行方法及びコンピュータ読み取り可能記録媒体
JP2017161988A (ja) サーバシステム、サーバ装置、プログラム実行可能化処理方法及びプログラム
JP6923255B2 (ja) オプションカード、制御方法及びプログラム
CN106030530A (zh) 信息处理装置、信息处理方法和记录介质
JP5763030B2 (ja) 二重化ネットワーク制御システムおよび二重化ネットワーク制御方法
JP6996757B2 (ja) カード、システム、カードが実行する制御方法及びプログラム
JP2020107253A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6953927B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム及び操作装置
JP2019086959A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2019212026A (ja) 情報処理装置及びその制御方法、並びにプログラム
WO2015011895A1 (ja) 情報処理装置、i/oシステム、及び、i/o制御方法
JP6631543B2 (ja) 電子機器及びhdd切り離しプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190917