CN112114741B - 存储系统 - Google Patents
存储系统 Download PDFInfo
- Publication number
- CN112114741B CN112114741B CN202010095482.9A CN202010095482A CN112114741B CN 112114741 B CN112114741 B CN 112114741B CN 202010095482 A CN202010095482 A CN 202010095482A CN 112114741 B CN112114741 B CN 112114741B
- Authority
- CN
- China
- Prior art keywords
- memory
- controllers
- controller
- storage
- memory controller
- 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.)
- Active
Links
- 230000015654 memory Effects 0.000 claims abstract description 485
- 238000000034 method Methods 0.000 claims description 62
- 238000006243 chemical reaction Methods 0.000 claims description 43
- 230000009471 action Effects 0.000 claims description 2
- 238000011084 recovery Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 47
- 238000012545 processing Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 8
- 238000012546 transfer Methods 0.000 description 6
- 239000007787 solid Substances 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明的存储系统能够实现存储控制器间的控制信息的共有、更新和用于更新的协调、以及对控制信息高效的高速访问。存储系统包括:多个存储控制器和包括1个以上的非易失存储器件的驱动器箱。驱动器箱还包括:存储器,其以与1个以上的非易失存储器件不同的单位被读写,存储多个存储控制器中使用的控制信息;和存储器控制器,其能够中继从多个存储控制器各者对存储器的访问,对多个存储控制器的各存储控制器进行关于存储器控制信息的排他的读写。
Description
技术领域
本发明涉及存储系统,更详细地说涉及在多个存储控制器共用驱动器箱的技术。
背景技术
存储系统中,为了提高可靠性,设置有多个用于对系统的控制进行管理的存储控制器,即使任一个存储控制器发生故障,也能够用剩下的存储控制器继续进行动作。这样的存储控制器的典型的个数是2个。
此外,存储系统中,性能也非常重要,因此在具有这样的多个存储控制器的情况下,多个存储控制器中的某几个会共同地进行处理。为了进行这样的共同处理,需要在存储控制器间共用相关控制信息,在一个存储控制器更新了控制信息后,需要向其它存储控制器立刻传递该更新了的信息。或者,在两个以上的存储控制器要分别更新同一控制信息的情况下,需要在两者之间进行协调,使得能够正确更新控制信息。
作为在存储控制器共有控制信息的方式,一般来说有在存储控制器间设置某种网络例如以太网的方式。但是这样的网络能够适用于将独立的系统间连接,当用于单一的系统内的多个控制器的连接时,带宽不足或延迟时间变大,而使用困难。
另一方面,对于存储系统内的多个存储器件,为了达到任意分配进行控制的存储控制器而谋求的性能,采用在存储控制器之间共用所有存储器件的结构。这些存储器件例如是进行磁记录的硬盘驱动器。此外其它的存储器件的例子有使用作为非易失半导体元件的闪存的SSD(Solid State Drive,固态硬盘)。这些存储器件为了实现更高速的访问,具有使用DRAM(Dynamic Random Access Memory,动态随机访问存储器)等易失半导体存储元件的缓存磁盘。
缓存磁盘从共用该存储器件的所有存储控制器被共有。于是,考虑将该缓存磁盘用于存储控制器间的控制信息的共有。专利文献1公开了该例子。控制信息与在存储器件、缓存磁盘中存储的通常数据(用户数据)的访问单位不同,访问协议也不同。专利文献1公开了,在缓存磁盘的一部分存储控制信息,设有以适于控制信息的单位和访问协议进行读写的功能。但是,专利文献1中,对于控制信息的更新,没有公开在存储控制器间协调处理的技术。因此,难以实现多个存储控制器同时更新控制信息而进行共同处理。
作为在多个存储控制器间共有控制信息的其它方法,能够考虑改变共有的控制信息的形态,而不需要协调存储控制器间的控制信息的更新的方法。作为这样的控制信息的形态,有将各存储控制器中的控制信息的更新设为历史信息(日志信息)的方式。
此时,各存储控制器仅能够在动作完成而所有的更新结束后查看其它存储控制器的控制信息的更新,难以在多个存储控制器同时地查看并更新控制信息而进行共同处理。专利文献2和专利文献3公开了该例子。专利文献2和专利文献3中,对于存储控制器间的动作,在某个存储控制器发生故障停止时,限定并实施了由其它存储控制器事后接着进行该动作的失效转移处理。
现有技术文献
专利文献
专利文献1:日本特开2004-355307号公报。
专利文献2:日本特开2004-199420号公报。
专利文献3:日本特开2004-213435号公报。
发明内容
发明要解决的技术问题
在设置多个存储控制器,通过进行共同处理来提高性能时,需要高效地进行存储控制器间的控制信息的共有和更新以及用于更新的协调。
通过将缓存磁盘设置于在存储控制器间共有的驱动器箱内,在缓存磁盘的一部分中存储控制信息,能够使存储控制器间的控制信息的共有高速化。但是,仅是这样不能够协调在多个存储控制器间的控制信息的更新。不得不例如在一个存储控制器故障停止时进行失效转移等、对存储控制器的动作设置限制。结果难以使多个存储控制器自由动作以提高性能。
由此,希望开发实现存储控制器间的控制信息的共有、更新和用于更新的协调、以及对控制信息的高效的高速访问的技术。
用于解决问题的技术方案
本发明的一个方式的存储系统包括:多个存储控制器;和包括1个以上的非易失存储器件的驱动器箱,所述驱动器箱还包括:存储器,其以与所述1个以上的非易失存储器件不同的单位被读写,存储所述多个存储控制器中使用的控制信息;和存储器控制器,其能够中继从所述多个存储控制器各者对所述存储器的访问,对所述多个存储控制器的各存储控制器,进行关于所述存储器的所述控制信息的排他的读写。
发明效果
根据本发明的一个方式,能够实现存储控制器间的控制信息的共有、更新和用于更新的协调、以及对控制信息的高效的高速访问。
附图说明
图1是实施例的存储系统的结构的例子。
图2是在实施例的存储系统的内部,两个存储控制器读写驱动器箱内的存储器的动作的例子。
图3是实施例的存储系统的结构的第二例。
图4是实施例的存储系统的结构的第三例。
图5是在实施例的存储系统中,从外部电源切断到外部电源恢复的期间的内部的动作的例子。
图6是实施例的存储系统的结构的第四例。
图7是表示在实施例的存储系统的驱动器箱内的存储器控制器中,从存储控制器接受二重化写命令时的动作的流程图。
图8是在实施例的存储系统中,根据二重化写命令在驱动器箱内的两个存储器进行二重化的动作的例子。
图9是实施例的存储系统的结构的第五例。
图10是实施例的存储系统的进行二重化的其它例子的存储器控制器的动作的流程图。
图11是实施例的存储系统的结构的第六例。
图12是实施例的存储系统的结构的第七例。
具体实施方式
以下,参照附图说明本发明的实施方式。本实施方式仅是用于实现本发明的一例,并不限定本发明的技术范围。
实施例1
使用图1、图2说明实施例1。图1表示实施例1的存储系统的结构例。图1中,存储系统包括两个存储控制器101A、101B和一个驱动器箱102。驱动器箱102包括交换机103、存储器控制器104、存储器105、存储器件106A~106F和收纳它们的机箱151。
存储控制器101A、101B共同控制存储系统整体,依据来自未图示的上级装置(主机)的请求,进行数据的输入输出(I/O)、各种控制。另外,图1表示了两个存储控制器101A、101B,但存储控制器的个数也可以比2多。交换机103连接存储控制器101A、101B、存储器控制器104和存储器件106A~106F,并切换它们之间的数据、控制信息、访问命令等的传送。
存储器控制器104中继存储控制器101A、101B与存储器105之间的通信。依据存储控制器101A、101B的请求,对存储器105执行控制信息和其它存储控制器的处理所需要的数据(除了来自主机的用户数据的处理数据)的读写、排他的访问。
存储器105被存储器控制器104控制而存储控制信息和处理数据。控制信息是用于存储系统的控制的信息,例如包括卷结构、地址映射、对卷的访问状态、各存储控制器的结构、运行状态的信息等。存储器105为了实现高速的访问,可以是包括易失性存储元件的器件。易失性存储器件的例子有DRAM(Dynamic Random Access Memory,动态随机访问存储器)。存储器105也可以是包括非易失性存储元件的器件。由此能够减少信息消失的可能性。另外,存储器105也可以作为暂时存储来自主机的用户数据的缓存器来动作。
图1作为例子表示了一个存储器控制器104和一个存储器105,但它们的个数可以是1以上的任意数量。例如,也可以是两个存储器控制器和四个存储器与交换机103连接,各存储器控制器控制两个存储器。
存储器件106A~106F是最终对存储系统内的数据进行存储的非易失性存储器件。非易失性的存储器件例如是使用磁记录的硬盘驱动器、使用非易失半导体存储元件(NAND型闪存)的SSD(Solid State Drive,固态硬盘)。对作为任意类型的非易失器件的存储器件106A~106F的数据读写,由存储控制器101A、101B控制。另外,图1作为例子表示了六个存储器件106A~106F,但是存储器件的数量可以是1以上的任意数量。
存储器件106A~106F以适于该存储器件中存储的数据的传送的访问协议和访问单位被访问。访问协议例如是SAS(Serial Attached SCSI,串行连接SCSI)、SATA(SerialATA,串行ATA)、FC(Fibre Channel,光纤通道)、或NVMe(Non-Volatile Memory Express,非易失性内存主机控制器接口规范)。访问单位例如是512比特的数据块。用于存储器件106A~106F的访问协议特别是用于交换机103与存储器件106A~106F各自之间的总线122A~122F。
存储器105为了对存储的控制信息高效地进行访问,以与存储器件106A~106F不同的单位被访问。访问单位比存储器件的访问单位小,例如为1字节8比特。此外访问协议也与存储器件的访问协议不同。对存储器105的命令例如包括读命令、写命令。存储控制器101A和101B发出这些命令,存储器控制器104将其接收。存储器控制器104依据接收到的命令,执行对存储器105的数据的读写。
由此,特别是在交换机103与存储器控制器104之间的总线121,使用适于这样的命令、由命令处理的信息(数据)的传递的访问协议。这样的访问协议的例子有PCIe(Peripheral Common Interconnect Express,高速外围组件互联)。
在这样的访问协议中,用于从存储器105读取信息(数据)的读命令,伴随有表示存储器105内的场所(地址)的地址信息,读出存储于该地址的信息(读数据),返送至发来命令的存储控制器101A或101B。写命令伴随有表示存储器105内的场所的地址信息和写入该地址的信息(写数据),在该地址存储写数据。
访问协议进而作为其它命令包括排他的访问命令。排他的访问命令的例子有排他的交换命令。排他的交换命令伴随有表示存储器105内的场所(地址)的地址信息和被写入该地址的信息(写数据)。排他的交换命令读出上述地址上存储的信息(数据),返送至发来命令的存储控制器101A或101B,并且将存储于该地址的信息转换为随着命令发送来的写数据。
关于排他的交换命令,在读出被存储于该地址的信息并将该地址的信息转换为随着该命令发送来的写数据之前,由存储器控制器104来保证:存储器105的该地址的内容不被发送来命令的存储控制器之外的其它存储控制器读写。该保证功能是存储器控制器104的功能,能够实现信息的一贯性。
访问协议能够包括其它的排他访问命令。其它的排他访问命令的例子有取与加命令。取与加命令读出该地址的内容,与由命令指定的值相加后再次写入。在该动作的期间,保证不会从其它命令对该地址的存储器内容进行读写。访问协议也可以包括排他的读命令。排他的读命令伴有指定地址,在访问的期间,保证不会从其它命令对该地址的存储器内容进行读写。
存储控制器101A和101B与交换机103之间的总线120A和120B,必须进行依据两个访问协议的数据传送。其中一个是用于从存储控制器101A或101B访问存储器105的访问协议。另一个是用于访问在总线122A~122F使用的存储器件106A~106F的访问协议。因此,将在总线121和总线122A~122F中分别使用的访问协议限定于能够在总线120A、102B同时使用的组合。
这样的访问协议的组合的例子有PCIe和NVMe的组合。PCIe用于通过存储器控制器104访问存储器105。NVMe用于访问存储器件106A~106F。NVMe定义在PCIe上用于读写块数据的访问协议。NVMe和PCIe能够同时在同一总线120A或120B使用。
接着使用图2,说明具体的存储器105的读写、排他的交换命令的执行。图2是表示对存储器105读写数据的处理的流程的例子。图2中,例如存储控制器101A通过处理201将读命令发送至存储器控制器104。存储器控制器104通过处理202从存储器105读出该信息,通过处理203返送至存储控制器101A。此时的该信息的值例如是“A”。
接着,存储控制器101B同样通过处理204将读命令发送至存储器控制器104时,存储器控制器104从存储器105通过处理205读出该信息(值“A”),通过处理206返送至存储控制器101B。
接着,例如,存储控制器101A将具有值“B”作为写数据的写命令,通过处理207发送至存储器控制器104。存储器控制器104依据通过处理207发送来的写命令,将发送来的写数据(值“B”)通过处理208存储于存储器105。
同样,例如存储控制器101B将具有值“C”作为写数据的写命令,通过处理209发送至存储器控制器104。存储器控制器104依据发送来的写命令,将发送来的写数据(值“C”)通过处理210存储于存储器105。
接着,说明排他的交换命令的例子。从存储控制器101A通过处理211将具有值“D”作为写数据的排他的交换命令发送至存储器控制器104。存储器控制器104接收到排他的交换命令时,首先通过处理212,从存储器105取出当前的值“C”。
接着,通过处理214,存储器控制器104将伴随排他的交换命令的写数据(值“D”)写入存储器105。之后,在处理215中,存储器控制器104将之前从存储器105读出的值“C”返送至存储控制器101A。
从由处理211接收到排他的交换命令后,到由处理215将读出的值返送至存储控制器101A为止,对存储器105的访问成为排他期间。图2的例子中,在处理211之后、处理215之前,存储控制器101B在处理213中将读命令发送至存储器控制器104。该读命令在处理215完成之前,由存储器控制器104使其待机。
处理215完成时,由处理213送来的读命令的待机解除。存储器控制器104通过处理216从存储器105读出该信息(值“D”),通过处理217返送至存储控制器101B。
通过以上的处理,多个存储控制器间的控制信息的更新和用于更新的协调,能够经由全部存储控制器所共有的驱动器箱高效地实施,多个存储控制器能够同时更新控制信息,进行共同处理。由此,能够同时实现控制信息的更新以及更新用的协调和控制信息的高速访问。
即,存储控制器101A、101B能够对存储器105进行控制信息的读写,进行存储系统的控制。进而,存储控制器101A、101B能够使用例如排他的交换命令,进行控制信息的更新和关于更新的协调。其结果,存储控制器101A、101B能够共同控制存储系统整体的动作。
在驱动器箱内存储有控制信息,因此能够灵活地变更进行动作的存储控制器。驱动器箱进行控制信息的更新用的协调,由此在存储控制器不需要具有该功能。
实施例2
使用图11说明实施例2。图11表示本实施例2的存储系统的结构例。图11的结构例中,在交换机1103与存储器件1106A~1106F之间,含有器件协议变换部1131。
本实施例2的存储系统包括存储控制器1101A、1101B和驱动器箱1102。驱动器箱1102包括交换机1103、存储器控制器1104、存储器1105、器件协议变换部1131、存储器件1106A~1106F和机箱1151。
图11表示了两个存储控制器1101A和1101B,但存储控制器的个数也可以比2多。图11举例表示了一个存储器控制器1104和一个存储器1105,但它们的个数可以是1以上的任意数。图11举例表示了六个存储器件1106A~1106F,但存储器件的数量是1以上的任意数。
在图11的结构例中,两个访问协议在驱动器箱1102内使用。一个是用于从存储控制器1101A或1101B经由总线1121访问存储器1105的访问协议。另一个是在总线1122A~1122F使用的用于访问存储器件1106A~1106F的访问协议。
本实施例2使在存储控制器1101A、1101B与交换机1103之间的总线1120A和1120B中使用的访问协议,与访问单位较小的一方的访问协议一致。进而,本实施例2对于访问单位较大的一方的访问协议,通过从访问单位较小的一方的访问协议进行协议变换而应对。
通过总线1121的对存储器1105访问的访问单位例如为1字节8比特,通过总线1122A~1122F的对存储器件1106A~1106F访问的访问单位例如为512比特的1数据块。在该例中,对存储器1105的访问单位较小,因此本实施例2使在总线1120A、1120B使用的访问协议与在总线1121使用的访问协议一致。本实施例2以对总线1122A~1122F的数据传送依据规定的访问单位的访问协议的方式进行协议变换。协议变换可以在交换机1103的内部或交换机1103的输出口实施,或者也可以组装有独立的协议变换部(电路器件)。
图11所示的结构例中,作为独立的协议变换部,具有器件协议变换部1131。器件协议变换部1131例如为了访问存储器1105选择PCIe,作为对存储器件1106A~1106F的访问协议选择SAS。此时,在从存储控制器1101A、1101B起的总线1120A、1120B、从交换机1103到存储器控制器1104的总线1121和从交换机1103到器件协议变换部1131的总线1130中使用PCIe。
从器件协议变换部1131到各存储器件1106A~1106F的总线1122A~1122F中使用的SAS。器件协议变换部1131将从存储控制器1101A、1101B发送来的、使用PCIe表达的对存储器件1106A~1106F的访问变换为利用SAS进行的访问,而访问存储器件1106A~1106F。
访问存储器件1106A~1106F的结果根据SAS的规定,经由总线1122A~1122F返送至器件协议变换部1131。器件协议变换部1131将返送来的SAS的访问结果变换为PCIe的表达方式,经由总线1130、交换机1103和总线1120A或1120B,返送至存储控制器1101A或1101B。其它动作与参照图1和图2说明的动作同样。
如上所述,本实施例2除了实施例1中说明的效果之外,通过设置器件协议变换部,能够灵活地选择适于访问存储器件的协议。
实施例3
使用图12说明实施例3。图12表示本实施例3的存储系统的结构例。图12的结构例在存储控制器1201A、1201B与存储器控制器1204、交换机1203之间,具有控制器协议变换部1231A、1231B。
本实施例3的存储系统包括存储控制器1201A、1201B和驱动器箱1202。驱动器箱1202包括控制器协议变换部1231A、1231B、交换机1203、存储器控制器1204、存储器1205、器件协议变换部1231、存储器件1206A~1206F和机箱1251。
图12作为例子表示了两个控制器协议变换部,但控制器协议变换部的数量可以为1以上的任意数。在图12的结构例中,控制器协议变换部1231A、1231B与交换机1203分开记载,但它们也可以集中设置成一个的控制器协议变换/交换机部。
图12表示了两个存储控制器1201A和1201B,但存储控制器的个数也可以比2多。图12作为例子表示了一个存储器控制器1204和一个存储器1205,但它们的个数可以是1以上的任意数。图12举例表示了六个存储器件1106A~1106F,但存储器件的数量可以是1以上的任意数。
本实施例3中,如实施例1和实施例2所说明的那样,需要用于访问存储器1205的访问协议和用于访问存储器件1206A~1206F的访问协议。
为了实现该目标,本实施例3作为从存储控制器1201A和1202B起的经由各个总线1220A和1220B的访问协议,使用能够变换成用于访问存储器1205的访问协议和用于访问存储器件1206A~1206F的访问协议的任一者的访问协议。
存储控制器1201A或1201B在访问存储器1205时,控制器协议变换部1231A或1231B分别将来自存储控制器1201A或1201B的访问协议变换为访问存储器1205的访问协议。控制器协议变换部1231A或1231B经由总线1221A或1221B,向存储器控制器1204发送命令(和伴随的数据)。
存储控制器1201A或1201B在访问存储器件1206A~1206F时,控制器协议变换部1231A或1231B分别将来自存储控制器1201A或1201B的访问协议变换为访问存储器件1206A~1206F的访问协议。控制器协议变换部1231A或1231B经由总线1230A或1230B、交换机1203和总线1222A~1222F,向存储器件1206A~1206F发送命令(和伴随的数据)。
访问存储器1205所得的结果,依据用于访问存储器1205的访问协议,从存储器控制器1204返送至控制器协议变换部1231A或1231B。控制器协议变换部1231A或1231B将该访问结果变换为存储控制器1201A和1201B所使用的访问协议,返送至存储控制器1201A或1201B。
访问存储器件1206A~1206F所得的结果,依据访问存储器件1206A~1206F的访问协议,从存储器件1206A~1206F返送至控制器协议变换部1231A或1231B。控制器协议变换部1231A或1231B将该访问结果变换为基于存储控制器1201A和1201B所使用的访问协议的访问结果,并返送至存储控制器1201A或1201B。
存储控制器1201A和1201B所使用的访问协议的例子例如有Ethernet(以太网)。存储控制器1201A和1201B使用Ethernet访问存储器1205时,使用例如作为Ethernet上的上位协议的RoCE(RDMA over Converged Ether,基于融合以太网的RDMA)。
在访问存储器件1206A~1206F时,存储控制器1201A和1201B使用例如作为Ethernet上的上位协议的NVMe over Fabrics(基于光纤的NVMe)。
控制器协议变换部1231A和1231B将对存储器1205的基于RoCE的访问命令变换为例如基于PCIe的访问命令,发送至存储器控制器1204。控制器协议变换部1231A和1231B将对存储器件1206A~1206F的基于NVMe over Fabrics的访问变换为例如基于NVMe的访问,经由交换机1203,访问存储器件1206A~1206F。
能够在存储控制器1201A和1201B使用的其它协议的例子有TCP(TransmissionControl Protocol,传输控制协议)。访问存储器1205时,控制器协议变换部1231A和1231B将基于TCP的访问命令变换为例如基于PCIe的访问命令,发送至存储器控制器1204。
在访问存储器件1206A~1206F时,存储控制器1201A和1201B使用例如作为TCP上的上位协议的iSCSI(internet Small Computer System Interface,互联网小型计算机系统接口)。控制器协议变换部1231A和1231B分别将存储控制器1201A和1021B所进行的基于iSCSI的访问变换为例如SAS。
控制器协议变换部1231A利用SAS,经由访问总线1230A、交换机1203和访问总线1222A~1206F的任一者,访问存储器件1206A~1206F的任一者。控制器协议变换部1231B利用SAS,经由访问总线1230B、交换机1203和访问总线1222A~1206F的任一者,访问存储器件1206A~1206F的任一者。其它动作与参照图1和图2说明的实施例1同样。
如上所述,本实施例3除了实施例1说明的效果之外,通过设置控制器协议变换部,为了从存储控制器访问搭载于驱动器箱内的存储器、存储器件能够灵活地选择协议。特别是能够使用可形成适于从多个存储控制器访问驱动器箱的网络的协议,容易进行例如存储控制器的添加、更换。
实施例4
使用图3说明实施例4。图3表示本实施例4的存储系统的结构例。在图3的结构例中,驱动器箱302包括电池307。
本实施例4的存储系统包括存储控制器301A、301B和驱动器箱302。驱动器箱302包括交换机303、存储器控制器304、存储器305、存储器件306A~306F、电池307和机箱351。
图3表示了两个存储控制器301A和301B,但存储控制器的个数可以比2多。图3举例表示了一个存储器控制器304和一个存储器305,但它们的个数可以是1以上的任意数。图3举例表示了六个存储器件306A~306F,但存储器件的数量可以是1以上的任意数。
图3中,电池307在来自未图示的外部的电力供给由于某种理由中断时,代之向存储器305供给电力,使得能够保持存储器305的内容。由此,本实施例4的存储系统即使在来自外部的电力供给中断时,也能够保持在存储器305中存储的控制信息。结果,如果来自外部的电力供给恢复,则存储系统能够从外部电源切断发生时的状态起,立即再次开始动作。此外,在存储控制器中,不需要搭载电池。设置于驱动器壳体的电池不需要支持一般来说电力消耗大的存储控制器,因此能够使搭载于存储控制器的电池更小。
存储器305如果存储了向存储器件306A~306F存储前的写数据,则能够避免存储控制器301A或301B一度已发送至驱动器箱302的写数据由于外部电源切断而丢失。图3中,其它的动作与参照图1和图2说明的实施例1同样。
实施例5
使用图4、图5说明实施例5。图4表示本实施例5的存储系统的结构例。在图4的结构例中,驱动器箱402包括电池407和保存用器件(保存用非易失存储器件)408。
本实施例5的存储系统包括存储控制器401A、401B和驱动器箱402。驱动器箱402包括交换机403、存储器控制器404、存储器405、存储器件406A~406F、电池407、保存用器件408和机箱451。
图4表示了两个存储控制器401A和401B,但存储控制器的个数可以比2多。图4举例表示了一个存储器控制器404和一个存储器405,但它们的个数可以是1以上的任意数。图4举例表示了六个存储器件406A~406F,但存储器件的数量可以是1以上的任意数。
图4中,电池407在来自未图示的外部的电力供给由于某种理由中断时,代之向存储器405、存储器控制器404和保存用器件408供给电力。保存用器件408用于在来自外部的电力供给由于某种理由中断时,保存存储器406的内容。保存用器件408是非易失存储器件,例如是使用非易失半导体存储元件的SSD。
图4所示的存储系统中,保存用器件408是与存储器件406A~406F不同的其它器件。在另一例中,可以代替保存用器件408而使用存储器件406A~406F内的一个以上的存储器件的全部或一部的存储区域。
图5表示图4所示的存储系统的、从外部电源切断到外部电源恢复的处理的流程。图5中,当外部电源切断在时刻501发生时,存储控制器401A、401B停止动作。接着通过处理502,存储器控制器404从存储器405读出所需的全部存储器的内容。接着通过处理503,存储器控制器404将从存储器405读出的全部内容写入保存用器件408。之后,通过处理504,存储器控制器404、存储器405和保存用器件408停止动作。
当外部电源在时刻505恢复时,存储控制器401A,401B暂时进入休止模式,不开始动作而等待恢复完成通知。其间,存储器控制器404通过处理506将保存的内容从保存用器件408读出。存储器控制器404将从保存用器件408读出的内容通过处理507再次存储于存储器405以实现恢复。最后,存储器控制器404在保存于保存用器件408的内容全部恢复到存储器405后,通过处理508将恢复完成通知发送至存储控制器401A和401B。存储控制器401A和401B使用再次存储于存储器405的信息而重新开始动作。其它动作与参照图1和图2说明的实施例1同样。
实施例6
使用图6、图7、图8说明实施例6。图6表示本实施例6的存储系统的结构例。图6所示的存储系统包括两个存储控制器601A、601B和驱动器箱602。驱动器箱602包括两个交换机603A、603B、与两个交换机603A、603B分别连接的存储器控制器604A、604B、两个存储器605A、605B、两个保存用器件608A、608B、两个电池607A、607B、六个存储器件606A~606F。
另外,存储控制器的数量可以是2以上的任意数。存储器控制器和存储器的数量可以是2以上的任意数,至少一个存储器控制器和至少一个存储器与各交换机连接。保存用器件和电池也同样。存储器件的数量可以是1以上的任意数。本实施例6中,存储器件606A~606F分别是具有两个连接口(端口)双通道存储器件。存储器件606A~606F各自的两个端口与交换机603A和603B分别连接。
本实施例6中,外部电源切断发生时和外部电源恢复时的动作与参照图4和图5说明的实施例5的动作同样。但是,本实施例6的存储系统使用存储器控制器604A、保存用器件608A、电池607A进行存储器605A的内容的保存恢复,使用存储器控制器604B、保存用器件608B、电池607B进行存储器605B的内容的保存恢复。
用于存储器控制器604A和604B对存储器605A和605B的读命令、写命令、排他的访问命令的动作,与参照图1和图2说明的实施例1的动作同样。但是,存储器控制器604A进行存储器605A的控制,存储器控制器604B进行存储器605B的控制。
进而,在图6所示的结构例中,在两个交换机603A、603B之间有交换机间总线640。两个存储器控制器604A、604B能够经由交换机603A、交换机间总线640、交换机603B向两者中另一方的存储器控制器发送请求,对另一方的存储器进行读写。
存储系统中,可靠性是重要的指标,为了提高可靠性,例如存储控制器601A、601B将处理数据、控制信息不仅存储于一个存储器,也存储于另一个存储器而进行二重化。本实施例6中,经由交换机603A、603B和交换机间总线640,两个存储器控制器604A和604B能够读写对方的存储器。由此,为了提高可靠性,能够将数据、控制信息在驱动器箱602的内部高效地二重化。
本实施例6中,存储器控制器604A、604B为了高效地实现这样的处理数据、控制信息的二重化,能够受理二重化写命令。此外,为了进一步提高可靠性,存储器控制器604A、604B在二重化写命令之中,能够对报告所有写入完成而实现所保证的带有完成报告的二重化写命令进行受理。
以下说明存储器控制器604A,但存储器控制器604B也同样。图7是表示存储器控制器604A从存储控制器601A或601B接收到带有完成报告的二重化写命令时的处理的流程图。
步骤701中,存储器控制器604A从存储控制器601A或601B接收带有完成报告的二重化写命令。步骤702中,存储器控制器604A将接收到的带有完成报告的二重化写命令的写数据存储于存储器605A。
步骤703中,存储器控制器604A将接收到的带有完成报告的二重化写命令的写数据向另一方的存储器控制器604B发送,以存储于另一方的存储器605B中。写数据在图6所示的结构例中,经由交换机603A、交换机间总线640和交换机603B到达另一方的存储器控制器604B。另一方的存储器控制器604B将接收到的写数据存储于存储器605B,在完成存储后,将存储完成通知向存储器控制器604A发送。
步骤704中,存储器控制器604A等待来自另一方的存储器控制器604B的存储完成通知,当接收到存储完成通知时,进入下一步骤705。步骤705中,存储器控制器604A对发送带有完成报告的二重化写命令的存储控制器601A或601B,报告写数据的存储完成。该存储完成报告例如可以使用中断(interrupt)等特别的信号线,也可以通过返送写数据的一部分或全部来进行。
图8进一步表示带有完成报告的二重化写命令的处理流程的顺序图。图8中,存储控制器601A或601B通过处理801将带有完成报告的二重化写命令向存储器控制器604A发送。
存储器控制器604A通过处理802将带有完成报告的二重化写命令的写数据存储于存储器605A。接着在处理803中,存储器控制器604A对存储器605A进行重读,确认写数据可靠地存储于存储器605A。另外,在可靠性的要求不高时,该处理803也可以不实施。
接着,存储器控制器604A通过处理804将写数据向存储器控制器604B发送。接收到写数据的存储器控制器604B通过处理805向存储器605写入接收到的写数据。接着在处理806中,存储器控制器604B对存储器605B进行重读,确认写数据可靠地存储于存储器605B。另外,在可靠性的要求不高时,该处理806也可以不实施。
接着,存储器控制器604B在通过处理806确认了已将写数据可靠地存储于存储器605B中之后,通过处理807,将写数据存储完成通知返送至存储器控制器604A。存储器控制器604A当从存储器控制器604B接收到写数据存储完成通知时,通过处理808将写数据存储完成报告向存储控制器601A或601B发送。
通过以上动作,本实施例6的存储系统中,用于提高可靠性的处理数据、控制信息的二重化的处理能够在驱动器箱602内高效地实施。特别是如果使用保证写入完成的带有完成报告的二重化写命令,则能够进一步提高可靠性。
实施例7
使用图9、图10说明实施例7。图9表示本实施例7的存储系统的结构例。在图9的结构例中,存储控制器901A和901B分别包括处理器909A和909B、处理器存储器910A和910B。
本实施例7的存储系统还包括驱动器箱902。驱动器箱902包括交换机903、存储器控制器904、存储器905、存储器件906A~906F和机箱951。图9表示了两个存储控制器901A和901B,但存储控制器的个数可以比2多。图9举例表示了一个存储器控制器904和一个存储器905,但它们的个数可以是1以上的任意数。图9举例表示了六个存储器件306A~306F,但存储器件的数量可以是1以上的任意数。此外,存储器控制器904对存储器905的读命令、写命令、排他的访问命令的动作,与参照图1和图2说明的实施例1的动作同样。
图9中,存储控制器901A和901B的处理器909A和909B读写分别存储于处理器存储器910A和910B的程序、处理数据、控制信息,控制存储系统。进而处理器909A和909B通过驱动器箱902内的存储器控制器904对存储器905读写处理数据、控制信息。进而,处理器909A和909B为了与两者中的另一方的处理器共同地控制存储系统,在驱动器箱902内的存储器905预存控制信息,使用经由存储器控制器904的排他的访问命令,进行控制信息的更新和更新的协调。
图9中,还能够是,处理器909A和909B以在另一处理器改写了存储器905上的处理数据或控制信息后,将该改写后的数据发送来的方式对存储器控制器904进行设定。通过这样做,能够使处理数据、控制信息在处理器存储器910A或910B与驱动器箱902内的存储器905之间,保持一贯性地进行二重化,能够提高存储系统的可靠性。
以下的说明对存储控制器901A、处理器909A、处理器存储器910A进行说明,但存储控制器901B、处理器909B、处理器存储器910B也是同样的。
图10是在处理器存储器910A和驱动器箱902内的存储器905进行数据或控制信息的二重化时的存储器控制器904的处理的流程图的例子。
图10中,在步骤1001,存储控制器901A内的处理器909A,将用于对处理器存储器910A进行二重化的驱动器箱902内的存储器905的地址范围,设定于存储器控制器904。设定的方法可以使用特别的信号线,也可以将特定的值从处理器909A发送至存储器控制器904。设定的方法也可以是在存储器控制器904内准备专用的寄存器,处理器909A在其中写入特定的值。
接着,在步骤1002,存储器控制器904从存储控制器901A的处理器909A接收写命令。在步骤1003,存储器控制器904将接收到的写命令的写数据存储于存储器905。
接着,在步骤1004,存储器控制器904从与存储控制器901A不同的存储控制器901B的处理器909B接收写命令。该写命令可以是通常的写命令,也可以是实施例1中说明的排他的交换命令等的排他的访问命令。
在步骤1005,存储器控制器904将存储器控制器接收的写命令的写入数据存储于存储器905。接着,在步骤1006,存储器控制器904检查从存储控制器901B的处理器909B发送来的写命令中对存储器905的写入地址。
在步骤1007,存储器控制器904判断写入地址是否处于用于将在步骤1001中设定的处理器存储器910A二重化的存储器905的地址范围内。判断的结果如果是写入地址不处于该地址范围内,则存储器控制器904结束处理。判断的结果如果是写入地址处于该地址范围内,则存储器控制器904进入步骤1008。
在步骤1008,存储器控制器904读出根据存储控制器901B的处理器909B的写命令写入了存储器905的数据。接着,在步骤1009,存储器控制器904将读出的数据发送至存储控制器901A,更新处理器存储器910A的内容。可以利用在存储控制器901A内的处理器909A动作的软件接收更新的信息,并在处理器存储器910A进行存储,从而实现该更新,也可以利用处理器909A的硬件自动接收更新了的信息,并在处理器存储器910A进行存储,从而实现该更新。
如上所述,能够将数据、控制信息在处理器存储器910A与驱动器箱902内的存储器905之间保持一贯性地进行二重化,能够提高存储系统的可靠性。
另外,本发明并不限定地上述实施例,包括各种变形例。例如,上述实施例为了容易理解本发明而进行了详细的说明,并非必须具有所说明的全部结构。此外,能够将某实施例的结构的一部分转换为其它实施例的结构,而且,能够在某实施例的结构上添加其它实施例的结构。此外,对于各实施例的结构的一部分,能够进行其它结构的添加、删除、置换。
此外,上述各结构、功能、处理部等能够将它们一部分或全部通过例如用集成电路设计等而由硬件实现。此外,上述各结构、功能等也可以通过处理器解析实现各个功能的程序并执行而由软件实现。实现各功能的程序、表、文件等信息,能够记录于存储器、硬盘、SSD(Solid State Drive)等记录装置、或IC卡、SD卡等记录介质。
此外,控制线、信息线表示了说明所需要的部分,并没有表示产品上所有的控制线、信息线。实际上可以认为几乎全部结构彼此连接。
附图标记说明
101A、101B、301A、301B、401A、401B、601A、601B、901A、901B、1101A、1101B、1201A、1201B……存储控制器;102、302、402、602、902、1102、1202……驱动器箱;103、303、403、603A、603B、903、1103、1203……交换机;104、304、404、604A、604B、904、1104、1204……存储器控制器;105、305、405、605A、605B、905、1105、1205……存储器;106A~F、306A~F、406A~F、606A~F、906A~F、1106A~F、1206A~F……存储器件;307、407、607A、607B……电池;408、608A、608B……保存用器件;909A、909B……处理器;910A、910B……处理器存储器;1131……器件协议变换部;1231A、1231B……控制器协议变换部;640……交换机间总线。
Claims (12)
1.一种存储系统,其特征在于,包括:
多个存储控制器;和
包括1个以上的非易失存储器件的驱动器箱,
所述驱动器箱还包括:
存储器,其以与所述1个以上的非易失存储器件不同的单位被读写,存储所述多个存储控制器中使用的控制信息;和
存储器控制器,其能够中继从所述多个存储控制器各者对所述存储器的访问,对所述多个存储控制器的各存储控制器,进行关于所述存储器的所述控制信息的排他的读写,
所述存储系统还包括:含有所述存储器的多个存储器;和含有所述存储器控制器的多个存储器控制器,
所述多个存储器的各存储器仅与所述多个存储器控制器中的一个存储器控制器连接,
所述存储器控制器的第1存储器控制器将与所述第1存储器控制器连接的存储器所存储的信息向1个以上的其它存储器控制器发送,
所述1个以上的其它存储器控制器各自将从所述第1存储器控制器接收到的信息,存储于与所述1个以上的其它存储器控制器分别连接的存储器。
2.如权利要求1所述的存储系统,其特征在于:
所述驱动器箱包括在外部电源切断时供给电力的电池,
所述存储器在所述外部电源切断时,用来自所述电池的电力来保持所述存储器的内容。
3.如权利要求2所述的存储系统,其特征在于:
所述多个存储控制器在所述外部电源切断时停止动作,在外部电源恢复时,使用存储于所述存储器的所述控制信息再次开始动作。
4.如权利要求1所述的存储系统,其特征在于:
所述存储器控制器在外部电源切断时,将所述存储器的内容保存于所述1个以上的非易失存储器件或所述驱动器箱内的其它保存用非易失存储器件。
5.如权利要求1所述的存储系统,其特征在于:
所述存储器包括非易失性的存储元件。
6.如权利要求1所述的存储系统,其特征在于:
所述第1存储器控制器进行下述动作:
依据所述多个存储控制器的一个存储控制器的指示,将从所述一个存储控制器接收到的信息存储于与所述第1存储器控制器连接的存储器,
将从所述一个存储控制器接收到的信息发送到所述1个以上的其它存储器控制器,
所述1个以上的其它存储器控制器各自将从所述第1存储器控制器接收到的信息中的、表示对与所述1个以上的其它存储器控制器分别连接的存储器进行的存储完成的存储完成通知,向所述第1存储器控制器发送,
所述第1存储器控制器当从全部的所述1个以上的其它存储器控制器接收到所述存储完成通知时,对所述一个存储控制器通知从所述一个存储控制器接收到的信息的存储完成。
7.如权利要求1所述的存储系统,其特征在于:
所述驱动器箱包括器件协议变换部,
所述多个存储控制器分别依据访问所述存储器的访问协议,发送对所述存储器的命令和对所述1个以上的非易失存储器件的命令,
所述器件协议变换部将对所述1个以上的非易失存储器件的命令变换为用于访问所述1个以上的非易失存储器件的访问协议的命令。
8.如权利要求1所述的存储系统,其特征在于:
所述驱动器箱包括控制器协议变换部,
所述多个存储控制器分别依据能够变换为访问所述存储器的访问协议和访问所述1个以上的非易失存储器件的访问协议这两者的访问协议,发送对所述存储器的命令和对所述1个以上的非易失存储器件的命令,
所述控制器协议变换部将对所述存储器的命令变换为用于访问所述存储器的访问协议的命令,
将对所述1个以上的非易失存储器件的命令变换为用于访问所述1个以上的非易失存储器件的访问协议的命令。
9.一种存储系统的控制方法,其特征在于:
所述存储系统包括:
多个存储控制器;和
驱动器箱,其包括1个以上的非易失存储器件,和以与所述1个以上的非易失存储器件不同的单位被读写且存储所述多个存储控制器中使用的控制信息的存储器,
所述控制方法进行下述处理:
从所述多个存储控制器的一个存储控制器接收关于所述存储器的所述控制信息的排他的访问命令,
使在所述排他的访问命令完成前从与所述一个存储控制器不同的存储控制器接收到的其它访问命令待机,
在所述排他的访问命令完成后执行所述其它访问命令,
在外部电源切断时,将所述存储器的内容保存于所述1个以上的非易失存储器件或所述驱动器箱内的其它保存用非易失存储器件,
所述外部电源切断后,在外部电源恢复时,所述多个存储控制器等待来自所述驱动器箱的恢复完成通知,
所述驱动器箱将保存的所述存储器的内容再次存储于所述存储器,
所述驱动器箱将表示保存的所述存储器的内容被再次存储到了所述存储器的所述恢复完成通知,分别向所述多个存储控制器发送,
所述多个存储控制器各自在接收到所述恢复完成通知时,再次开始动作。
10.如权利要求9所述的控制方法,其特征在于:
所述驱动器箱包括存储器控制器,
所述多个存储控制器分别包括:进行控制的处理器;和与处理器连接的处理器存储器,
关于所述控制信息,所述多个存储控制器中的一个存储控制器的处理器,将存储在所述一个存储控制器的处理器存储器中的信息向所述存储器控制器发送,
所述存储器控制器将发送来的所述信息存储于所述驱动器箱的所述存储器,
被存储于所述存储器的信息在由与所述一个存储控制器的所述处理器不同的处理器更新了的情况下,所述存储器控制器将更新后的信息向所述一个存储控制器的所述处理器发送,
所述一个存储控制器的所述处理器将更新后的所述信息反映于所述一个存储控制器的所述处理器存储器中所存储的所述信息。
11.一种存储系统的控制方法,其特征在于:
所述存储系统包括:
多个存储控制器;和
驱动器箱,其包括1个以上的非易失存储器件,和以与所述1个以上的非易失存储器件不同的单位被读写且存储所述多个存储控制器中使用的控制信息的存储器,
所述控制方法进行下述处理:
从所述多个存储控制器的一个存储控制器接收关于所述存储器的所述控制信息的排他的访问命令,
使在所述排他的访问命令完成前从与所述一个存储控制器不同的存储控制器接收到的其它访问命令待机,
在所述排他的访问命令完成后执行所述其它访问命令,
所述驱动器箱包括含有所述存储器的多个存储器,
所述控制方法将存储在所述多个存储器的一个存储器中的信息存储于其它的1个以上的存储器。
12.如权利要求11所述的控制方法,其特征在于:
将从所述多个存储控制器的一个存储控制器被存储到所述多个存储器的一个存储器中的信息,存储于与所述一个存储器不同的1个以上的存储器,
对所述1个以上的存储器进行的所述信息的存储完成后,对所述一个存储控制器通知所述信息的存储完成。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-114290 | 2019-06-20 | ||
JP2019114290A JP2021002108A (ja) | 2019-06-20 | 2019-06-20 | ストレージシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112114741A CN112114741A (zh) | 2020-12-22 |
CN112114741B true CN112114741B (zh) | 2024-05-24 |
Family
ID=73798754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010095482.9A Active CN112114741B (zh) | 2019-06-20 | 2020-02-17 | 存储系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11507307B2 (zh) |
JP (1) | JP2021002108A (zh) |
CN (1) | CN112114741B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210046348A (ko) * | 2019-10-18 | 2021-04-28 | 삼성전자주식회사 | 복수의 프로세서들에 유연하게 메모리를 할당하기 위한 메모리 시스템 및 그것의 동작 방법 |
US11093144B1 (en) * | 2020-02-18 | 2021-08-17 | EMC IP Holding Company LLC | Non-disruptive transformation of a logical storage device from a first access protocol to a second access protocol |
CN113608784B (zh) * | 2021-08-19 | 2024-05-03 | 湖南国科微电子股份有限公司 | NVMe控制装置和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002358169A (ja) * | 2001-05-31 | 2002-12-13 | Hitachi Ltd | 半導体ディスク装置 |
CN102915208A (zh) * | 2011-08-01 | 2013-02-06 | 株式会社东芝 | 信息处理装置、半导体存储装置及半导体存储装置的控制方法 |
WO2017056220A1 (ja) * | 2015-09-30 | 2017-04-06 | 株式会社日立製作所 | 計算機システム、コマンド転送方法、及び、転送デバイス |
CN107885305A (zh) * | 2016-09-30 | 2018-04-06 | 欧姆龙株式会社 | 控制装置、控制方法以及记录介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3944449B2 (ja) | 2002-12-19 | 2007-07-11 | 株式会社日立製作所 | 計算機システム、磁気ディスク装置、および、ディスクキャッシュ制御方法 |
JP2004213435A (ja) | 2003-01-07 | 2004-07-29 | Hitachi Ltd | 記憶装置システム |
JP4100256B2 (ja) | 2003-05-29 | 2008-06-11 | 株式会社日立製作所 | 通信方法および情報処理装置 |
JP2007219571A (ja) * | 2006-02-14 | 2007-08-30 | Hitachi Ltd | 記憶制御装置及びストレージシステム |
JP5014821B2 (ja) * | 2007-02-06 | 2012-08-29 | 株式会社日立製作所 | ストレージシステム及びその制御方法 |
US8843691B2 (en) * | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
US9933980B2 (en) * | 2014-02-24 | 2018-04-03 | Toshiba Memory Corporation | NAND raid controller for connection between an SSD controller and multiple non-volatile storage units |
WO2016036347A1 (en) * | 2014-09-02 | 2016-03-10 | Hewlett Packard Enterprise Development Lp | Serializing access to fault tolerant memory |
US10353816B2 (en) * | 2015-01-28 | 2019-07-16 | Hewlett-Packard Development Company, L.P. | Page cache in a non-volatile memory |
-
2019
- 2019-06-20 JP JP2019114290A patent/JP2021002108A/ja active Pending
-
2020
- 2020-02-17 CN CN202010095482.9A patent/CN112114741B/zh active Active
- 2020-02-26 US US16/801,334 patent/US11507307B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002358169A (ja) * | 2001-05-31 | 2002-12-13 | Hitachi Ltd | 半導体ディスク装置 |
CN102915208A (zh) * | 2011-08-01 | 2013-02-06 | 株式会社东芝 | 信息处理装置、半导体存储装置及半导体存储装置的控制方法 |
WO2017056220A1 (ja) * | 2015-09-30 | 2017-04-06 | 株式会社日立製作所 | 計算機システム、コマンド転送方法、及び、転送デバイス |
CN107885305A (zh) * | 2016-09-30 | 2018-04-06 | 欧姆龙株式会社 | 控制装置、控制方法以及记录介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2021002108A (ja) | 2021-01-07 |
CN112114741A (zh) | 2020-12-22 |
US11507307B2 (en) | 2022-11-22 |
US20200401346A1 (en) | 2020-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112114741B (zh) | 存储系统 | |
JP4477906B2 (ja) | ストレージシステム | |
US7269667B2 (en) | Disk array system and method for migrating from one storage system to another | |
US7672224B2 (en) | System and method for data multiplexing | |
US7426588B2 (en) | Storage apparatus | |
US9696922B2 (en) | Storage system | |
CN106066890B (zh) | 一种分布式高性能数据库一体机系统 | |
JP2001166993A (ja) | 記憶制御装置およびキャッシュメモリの制御方法 | |
US8332593B2 (en) | Memory space management and mapping for memory area network | |
CN114746834A (zh) | 基于分区状态的分区附加命令调度 | |
US7133976B2 (en) | Disk array device, method for controlling the disk array device and storage system | |
US8402195B2 (en) | Storage system mounted with plurality of processors | |
US10733118B2 (en) | Computer system, communication device, and storage control method with DMA transfer of data | |
JP2006099802A (ja) | 記憶制御装置およびキャッシュメモリの制御方法 | |
US11385815B2 (en) | Storage system | |
US10216447B1 (en) | Operating system management for direct flash over fabric storage devices | |
US9836359B2 (en) | Storage and control method of the same | |
CN111831217A (zh) | 存储系统、其驱动器框体、以及奇偶校验计算方法 | |
US11836386B2 (en) | Storage system and method of controlling storage system that set ports associated with a logical unit | |
US20130054914A1 (en) | Data copy processing system, storage device, and data copy processing method | |
US11836393B2 (en) | Storage system and control method of migrating storage control unit based on maximum amount of mountable storage control units | |
CN117420968B (zh) | 存储控制器、存储设备的访问控制方法和存储系统 | |
US11461032B1 (en) | Storage controller replacement and firmware upgrade without service interruption | |
JP2015114932A (ja) | メモリ・インターフェイスによる接続とi/oインターフェイスによる接続とを切り替え可能なメモリ・ユニットおよびコンピュータ・システム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |