WO2015098138A1 - ストレージシステム - Google Patents

ストレージシステム Download PDF

Info

Publication number
WO2015098138A1
WO2015098138A1 PCT/JP2014/056962 JP2014056962W WO2015098138A1 WO 2015098138 A1 WO2015098138 A1 WO 2015098138A1 JP 2014056962 W JP2014056962 W JP 2014056962W WO 2015098138 A1 WO2015098138 A1 WO 2015098138A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage
storage unit
connector
card
unit
Prior art date
Application number
PCT/JP2014/056962
Other languages
English (en)
French (fr)
Inventor
敦寛 木下
浩 小室
洋志 笹川
Original Assignee
株式会社東芝
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 株式会社東芝 filed Critical 株式会社東芝
Priority to US14/408,120 priority Critical patent/US9891841B2/en
Publication of WO2015098138A1 publication Critical patent/WO2015098138A1/ja

Links

Images

Classifications

    • 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/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • 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/0653Monitoring storage devices or 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/025Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device

Definitions

  • Embodiments of the present invention relate to a storage system.
  • An object of one embodiment of the present invention is to provide a storage system with improved convenience.
  • a storage system includes a storage unit group including a first storage unit and a plurality of second storage units, and the first storage unit and the plurality of second storage units are , Are connected to each other so as to be able to transfer data.
  • the plurality of second storage units are mounted on the same first substrate.
  • One second storage unit of the plurality of second storage units cooperates with the first storage unit and does not cooperate with another second storage unit of the plurality of second storage units.
  • FIG. 1 is a diagram showing the concept of the configuration of a storage system.
  • FIG. 2 is a diagram illustrating an example of the configuration of the NM.
  • FIG. 3 is a diagram for explaining the configuration of a packet.
  • FIG. 4 is a diagram illustrating an NM implementation example.
  • FIG. 5 is a diagram illustrating a connection relationship between NMs when two storage systems are connected via the I / F unit.
  • FIG. 6 is a diagram showing an enclosure in which the storage system is accommodated.
  • FIG. 7 is a front view of the enclosure.
  • FIG. 8 is a rear view of the enclosure.
  • FIG. 9 is a top view of the inside of the enclosure.
  • FIG. 10 is a diagram illustrating a configuration example of the backplane.
  • FIG. 10 is a diagram illustrating a configuration example of the backplane.
  • FIG. 11 is a diagram illustrating an example of a usage pattern of the enclosure according to the first embodiment.
  • FIG. 12 is a block diagram showing the configuration of the NM card.
  • FIG. 13 is an overview of the NM card.
  • FIG. 14 is an overview of the NM card.
  • FIG. 15 is a diagram illustrating a logical connection relationship between NCs.
  • FIG. 16 is a block diagram showing the configuration of the I / F card.
  • FIG. 17 is a diagram illustrating a connection relationship between the NM card and the I / F card.
  • FIG. 18 is a block diagram illustrating a configuration of the CU card according to the first embodiment.
  • FIG. 19 is a block diagram showing the configuration of the MM card.
  • FIG. 12 is a block diagram showing the configuration of the NM card.
  • FIG. 13 is an overview of the NM card.
  • FIG. 14 is an overview of the NM card.
  • FIG. 15 is a diagram illustrating a logical connection relationship between NCs
  • FIG. 20 is a diagram illustrating a connection relationship among the NM card, the CU card, and the MM card.
  • FIG. 21 is a diagram illustrating a connection relationship between the CU card and the MM card.
  • FIG. 22 is a diagram illustrating a connector group used in the first connection example.
  • FIG. 23 is a diagram illustrating a specific connection relationship according to the first connection example.
  • FIG. 24 is a diagram illustrating a storage unit logically constructed according to the first connection example.
  • FIG. 25 is a diagram illustrating a specific connection relationship according to the second connection example.
  • FIG. 26 is a diagram illustrating a storage unit logically constructed according to the second connection example.
  • FIG. 27 is a diagram illustrating a connector group used in the third connection example.
  • FIG. 28 is a diagram illustrating a specific connection relationship according to the third connection example.
  • FIG. 29 is a diagram illustrating a storage unit logically constructed according to the third connection example.
  • FIG. 30 is a diagram illustrating a torus-like connection relationship.
  • FIG. 31 is a diagram illustrating a specific connection relationship according to the fourth connection example.
  • FIG. 32 is a diagram illustrating a specific connection relationship according to the fifth connection example.
  • FIG. 33 is a diagram illustrating a specific connection relationship according to the sixth connection example.
  • FIG. 34 is a diagram illustrating a rear view of the enclosure according to the second embodiment.
  • FIG. 35 is a block diagram illustrating a configuration of a CU card according to the second embodiment.
  • FIG. 36 is a diagram illustrating an example of a usage pattern of the enclosure of the second embodiment.
  • FIG. 1 is a diagram showing the concept of the configuration of a storage system.
  • the storage system 1 includes a storage unit 10, a connection unit (CU) 11, an interface unit (I / F unit) 12, and a management module (MM) 13.
  • CU connection unit
  • I / F unit interface unit
  • MM management module
  • the storage unit 10 has a configuration in which a plurality of node modules (NM) 14 each having a storage function and a data transfer function are connected to each other by a mesh network.
  • the storage unit 10 stores the data distributed to the plurality of NMs 14.
  • the data transfer function includes a transfer method in which each NM 14 efficiently transfers a packet.
  • FIG. 1 shows an example of a rectangular network in which each NM 14 is arranged at each grid point.
  • the coordinates of the grid point are indicated by coordinates (x, y), and the position information of the NM 14 arranged at the grid point is indicated by the node address (x D , y D ) corresponding to the coordinates of the grid point.
  • the NM 14 located in the upper left corner has the node address (0, 0) of the origin, and by moving each NM 14 in the horizontal direction (X direction) and the vertical direction (Y direction), The node address is increased or decreased by an integer value.
  • Each NM 14 includes two or more interfaces 15. Each NM 14 is connected to an adjacent NM 14 via an interface 15. Each NM 14 is connected to two or more adjacent NMs 14 in different directions. For example, in FIG. 1, the NM14 indicated by the node address (0, 0) in the upper left corner is different from the NM14 indicated by the node address (1, 0) adjacent to the X direction in the Y direction. Are connected to the NM 14 represented by the node address (0, 1) adjacent to each other. Further, in FIG. 1, the NM 14 represented by the node address (1, 1) is adjacent to four different directions, and the node addresses (1, 0), (0, 1), (2, 1) and (1 2) are connected to 4 NMs 14 respectively.
  • the NM 14 represented by the node address (x D , y D ) may be referred to as a node (x D , y D ).
  • FIG. 1 shows that each NM 14 is arranged at a grid point of a rectangular grid
  • the arrangement of each NM 14 is not limited to this example. That is, the shape of the lattice is not limited as long as each NM 14 arranged at a lattice point is connected to two or more adjacent NMs 14 in a different direction, and may be, for example, a triangle or a hexagon.
  • the NMs 14 are two-dimensionally arranged, but the NMs 14 may be three-dimensionally arranged.
  • each NM 14 can be designated by three values (x, y, z).
  • the NMs 14 When the NMs 14 are two-dimensionally arranged, the NMs 14 may be connected in a torus shape by connecting the NMs 14 located on opposite sides.
  • the CU 11 includes a connector for connecting to the outside, and can input and output data to the storage unit 10 in response to a request from the outside.
  • the CU 11 includes a storage device and an arithmetic device (not shown), and the arithmetic device can execute a server application program while using the storage device as a work area.
  • the CU 11 processes an external request under the control of the server application.
  • the CU 11 executes access to the storage unit 10 in the process of processing an external request.
  • the CU 11 When accessing the storage unit 10, the CU 11 generates a packet that can be transferred or executed by the NM 14, and transmits the generated packet to the NM 14 connected to the CU 11.
  • the storage system 1 includes four CUs 11.
  • the four CUs 11 are connected to different NMs 14, respectively.
  • the four CUs 11 are connected to the node (0, 0), the node (1, 0), the node (2, 0), and the node (3, 0) on a one-to-one basis.
  • the number of CUs 11 can be arbitrarily configured.
  • the CU 11 can be connected to an arbitrary NM 14 configuring the storage unit 10.
  • One CU11 may be connected to a plurality of NMs 14, or one NM14 may be connected to a plurality of CU11. Further, the CU 11 may be connected to an arbitrary NM 14 among the plurality of NMs 14 constituting the storage unit 10.
  • FIG. 2 is a diagram illustrating an example of the configuration of the NM 14.
  • the NM 14 includes a node controller (NC) 140, a first memory 141 that functions as a storage, and a second memory 142 that the NC 140 uses as a work area.
  • the first memory 141 a NAND memory, a bit cost scalable memory (BiCS), a magnetoresistive memory (MRAM), a phase change memory (PcRAM), a resistance change type memory (RRAM (registered trademark)), or a combination thereof is used. Applicable.
  • Various RAMs can be applied as the second memory 142. Note that the second memory 142 may not be included in the NM 14 by the first memory 141 providing a function as a work area.
  • NC 140 is connected to four interfaces 15.
  • the NC 140 receives a packet from the CU 11 or another NM 14 via the interface 15 or transmits a packet to the CU 11 or another NM 14 via the interface 15.
  • the NC 140 executes processing according to the packet (command recorded in the packet). For example, when the command is an access command (read command or write command), the NC 140 performs access to the first memory 141. If the destination of the received packet is not the local NM 14, the NC 140 transfers the packet to another NM 14 connected to the local NM 14.
  • FIG. 3 is a diagram for explaining the structure of a packet.
  • the packet is configured by recording a destination node address, a source node address, and a command or data.
  • the NC 140 that has received the packet determines the routing destination based on a predetermined transfer algorithm, so that the packet is transferred between the NMs 14 and reaches the destination NM 14. For example, the NC 140 determines, as the transfer destination NM 14, the NM 14 that is located on the route that minimizes the number of transfers from the own NM 14 to the destination NM 14 among the plurality of NMs 14 connected to the own NM 14. When there are a plurality of routes that minimize the number of transfers from the own NM 14 to the destination NM 14, the NC 140 selects one route from the plurality of routes by an arbitrary method. The NC 140 determines another NM 14 as a transfer destination when the NM 14 located on the route having the smallest transfer count among the plurality of NMs 14 connected to the NM 14 is broken or busy. To do.
  • the storage unit 10 is configured by connecting a plurality of NMs 14 via a mesh network, so that there are a plurality of paths that minimize the number of transfers. Even when a plurality of packets destined for a specific NM 14 are issued, the issued packets are distributed and transferred to a plurality of routes by the above-described transfer algorithm. Thus, a decrease in throughput of the entire storage system 1 is suppressed.
  • FIG. 4 is a diagram showing an implementation example of the NM14.
  • Each NM 14 is mounted on the card substrate 20.
  • Four card substrates 20 are detachably attached to the backplane 22 via connectors.
  • Four NMs 14 are mounted on each card substrate 20.
  • the four NMs 14 arranged in the Y direction are mounted on the same card board 20, and the four NMs 14 arranged in the X direction are mounted on different card boards 20.
  • RAID Redundant Arrays of Inexpensive Disks
  • FIG. 4 four RAID groups 21 are constructed, and each NM 14 belongs to one of the four RAID groups 21.
  • the four NMs 14 mounted on the different card substrates 20 constitute one RAID group 21.
  • four NMs 14 arranged in the X direction belong to the same RAID group 21.
  • the applied RAID level is arbitrary. For example, when RAID 5 is applied, when one of the plurality of NMs 14 constituting the RAID group 21 is damaged, the data stored in the damaged NM 14 is replaced by replacing the card board 20 having the damaged NM 14. Is restored. Further, when RAID 6 is applied, recovery is possible even when two NMs 14 out of a plurality of NMs 14 constituting the RAID group 21 are damaged.
  • the MM 13 is connected to each CU 11 and a node (0, 0).
  • the MM 13 includes a BMC (Base Management Controller) (not shown).
  • BMC Base Management Controller
  • the MM 13 monitors the environmental temperature, monitors and controls the fan speed, monitors the power supply current and power supply voltage, records the status of each CU11, monitors the temperature of each CU11, resets the CU11, And so on.
  • the MM 13 has a function of executing a process (NM control process) for the storage unit 10 in addition to the function of the BMC.
  • the NM control process is arbitrary.
  • the MM 13 may execute wear leveling of the first memory 141.
  • the MM 13 may notify the outside of the replacement of the card board 20 on which the failed MM 14 is mounted. Further, the MM 13 may rebuild the RAID after replacing the card substrate 20.
  • the failure detection of the MM 14 may be performed by the NC 140 or the CU 11. The detection of the failure of the MM 14 may be executed based on the error detection for the read data from the first memory 141 provided in the MM 14.
  • the MM 13 When the MM 13 performs a process on the storage unit 10, the MM 13 issues a packet corresponding to the process.
  • the MM 13 issues a packet conforming to the format shown in FIG. 3, for example.
  • the I / F unit 12 is a connection interface for expanding the storage unit 10. By connecting two different storage systems 1 to each other via the I / F unit 12, the storage units 10 included in each storage system 1 can be logically coupled and used as a single storage unit 10. Become.
  • the I / F unit 12 is connected by an interface 15 from one or more NMs 14. Here, each interface 15 connected to four NMs 14 of the node (0, 0), the node (0, 1), the node (0, 2), and the node (0, 3) is connected to the I / F unit 12. Each is connected.
  • FIG. 5 is a diagram showing a connection relationship between the NMs 14 when the two storage systems 1 are connected via the I / F unit 12.
  • four NMs 14 included in one storage system 1 of the two storage systems 1 and four NMs 14 included in other storage systems of the two storage systems 1 are included. And are connected in a one-to-one relationship via the I / F unit 12. Packets can be transferred between the two storage systems 1 via the interface 15 connected by the I / F unit 12.
  • the two storage units 10 configured by the NM14 group of 4 rows and 4 columns are logically coupled, and can be used as one storage unit 10 configured of the NM14 group of 4 rows and 8 columns.
  • any of the plurality of NMs 14 constituting the storage unit 10 is connected to the I / F unit 12 and the number of NMs 14 connected to the I / F unit 12 is arbitrary. Moreover, the variation of the connection relationship between the memory
  • FIG. 6 is a diagram showing a housing (enclosure) in which the storage system 1 is accommodated.
  • the storage system 1 is accommodated in an enclosure 200 that can be mounted on the server rack 201.
  • the dimensions of the enclosure 200 are defined by standards that the server rack 201 complies with.
  • the height of the dimensions of the enclosure 200 is expressed by “U (unit)”. For example, the enclosure 200 has a height of “2U”.
  • FIG. 7 is a front view of the enclosure 200
  • FIG. 8 is a rear view of the enclosure 200
  • FIG. 9 is a top view of the interior of the enclosure 200.
  • a console panel 202 on which a power button, various LEDs, and various connectors are arranged is provided.
  • Two fans 203 for intake and exhaust of air are provided on the left and right sides of the console panel 202, respectively.
  • the CU 11 is connected to the outside for a total of 12 connectors 205, the I / F unit 12 is connected to the outside for a total of 8 connectors 206, and the MM 13 is connected to the outside.
  • One connector 207 is provided on the left and right of the central portion.
  • any standard can be adopted as the standard of the connector 205 as long as it is a network connectable standard. is there.
  • any standard can be adopted as the standard of the connector 206.
  • LVDS Low voltage differential signaling
  • any standard can be adopted as the standard of the connector 207.
  • a power backplane 210 is accommodated in the central portion.
  • Backplanes 300 are accommodated on the left and right sides of the power supply backplane 210, respectively.
  • Each backplane 300 functions as one storage system 1 by mounting the CU 11, I / F unit 12, MM 13, and NM 14 mounted on the card board. That is, the enclosure 200 can accommodate two storage systems 1.
  • the enclosure 200 can operate in a state where one backplane 300 is accommodated. Further, when two backplanes 300 are accommodated in the enclosure 200, the two backplanes 300 are connected to each other via the connector 206, whereby the storage unit 10 included in each of the two storage systems 1 is stored as one.
  • the storage unit 10 can be integrated and operated.
  • Two power supply devices 211 stacked in the height direction of the enclosure 200 are connected to the backplane 210 for power supply on the rear side of the enclosure 200, and two batteries 212 are arranged in the depth direction of the enclosure 200. They are connected side by side on the front side of the enclosure 200.
  • the two power supply devices 211 generate internal power based on the commercial power supplied from the outside via the power connector 204, and the generated internal power is transferred to the two backplanes 300 via the power backplane 210.
  • the two batteries 212 are backup power supplies that generate internal power when supply of commercial power is interrupted, such as a power failure.
  • FIG. 10 is a diagram illustrating a configuration example of the backplane 300.
  • CU11, I / F unit 12, MM13, and NM14 are each mounted on a card board. These card substrates are mounted in slots provided in the backplane 300.
  • a card board on which the NM 14 is mounted is referred to as an NM card (NM card 400).
  • a card substrate on which the I / F unit 12 is mounted is referred to as an I / F card (I / F card 500).
  • a card substrate on which the CU 11 is mounted is referred to as a CU card (CU card 600).
  • a card substrate on which the MM 13 is mounted is referred to as an MM card (MM card 700).
  • the backplane 300 is mounted with one MM card 700, two I / F cards 500, and six CU cards 600 from the left side on the back side.
  • the backplane 300 has 24 NM cards 400 arranged in two rows on the front side.
  • the 24 NM cards 400 are classified into a block made up of 12 NM cards 400 on the left side of the page (first block 401) and a block made up of 12 NM cards 400 on the right side of the page (second block 402). The This classification is based on the mounting position.
  • FIG. 11 is a diagram illustrating an example of a usage pattern of the enclosure 200.
  • the enclosure 200 is connected to the PC server 2 via a connector 205 and a network switch (Network SW) 3.
  • the storage system 1 accommodated in the enclosure 200 can interpret the request from the PC server 2 in the CU card 600 and access the storage unit 10.
  • a server application is executed in the CU card 600.
  • the PC server 2 can transmit a request that can be accepted by the server application.
  • the connector 205 and the network switch 3 are connected to each CU card 600, but any CU card 600 and the network switch 3 can be connected.
  • FIG. 12 is a block diagram showing the configuration of the NM card 400.
  • 13 and 14 are schematic views of the NM card 400.
  • FIG. FIG. 13 shows one side of the NM card 400
  • FIG. 14 shows the other side.
  • LVDS is applied to the standard of the interface 15 that connects the NMs 14
  • PCIe PCI Express
  • I2C and Ethernet are applied as the standard for the interface connecting NM14 and CU11.
  • the NM card 400 includes a first FPGA (field-programmable gate array) 403, a second FPGA 404, flash memories 405 to 408, DRAMs 409 and 410, flash memories 411 to 414, DRAMs 415 and 416, and a connector 417.
  • the first FPGA 403, the flash memories 405 and 406, the DRAMs 409 and 410, and the flash memories 407 and 408 are respectively the second FPGA 404, the flash memories 411 and 412, and the DRAMs 415 and 416.
  • the flash memory 414, 415 is provided symmetrically with respect to the flash memory 415, and the connector 417 is provided at a position eccentric from the symmetrical center.
  • the connector 417 is a connection mechanism that is physically and electrically connected to a slot on the backplane 300.
  • the NM card 400 can communicate with other cards via the connector 417 and wiring formed on the backplane 300.
  • the first FPGA 403 is connected to four flash memories 405 to 408 and two DRAMs 409 and 410.
  • the first FPGA 403 includes four NCs 140 inside.
  • the four NCs 140 included in the first FPGA 403 use the DRAMs 409 and 410 as the second memory 142.
  • the four NCs 140 included in the first FPGA 403 use different flash memories among the flash memories 405 to 408 as the first memory 141. That is, the first FPGA 403, the flash memories 405 to 408, and the DRAMs 409 and 410 correspond to an NM14 group including four NM14.
  • the second FPGA 404 is connected to four flash memories 411 to 414 and two DRAMs 415 and 416.
  • the second FPGA 404 includes four NCs 140 inside.
  • the four NCs 140 included in the second FPGA 404 use the DRAMs 415 and 416 as the second memory 142.
  • the four NCs 140 included in the second FPGA 404 use different flash memories among the flash memories 411 to 414 as the first memory 141.
  • the second FPGA 404, the flash memories 411 to 414, and the DRAMs 415 and 416 correspond to an NM14 group including four NM14.
  • the first FPGA 403 is connected to the connector 417 by one PCIe interface 418 and six LVDS interfaces 419. Further, the second FPGA 404 is connected to the connector 417 by one PCIe interface 418 and six LVDS interfaces 419. The first FPGA 403 and the second FPGA 404 are connected by two LVDS interfaces 420. The first FPGA 403 and the second FGPA 404 are connected to the connector 417 via the I2C interface 421.
  • FIG. 15 is a diagram showing a logical connection relationship between the NCs 140.
  • Each NC 140 includes a total of four interfaces.
  • Each NC 140 is connected to two other NCs 140 included in the same FPGA through two interfaces inside the FPGA.
  • Two NCs 140 out of the four NCs 140 included in the first FPGA 403 are connected to two NCs 140 out of the four NCs 140 included in the second FPGA 404 by the LVDS interface 420.
  • the eight NMs 14 included in the NM card 400 constitute a NM14 group of 4 rows and 2 columns.
  • the remaining interface provided in each NC 140 is an interface (LVDS interface 419) for connecting to the NC 140 included in the FPGA on another NM card 400 (not shown).
  • the NC 140 located at the four corners of the 4 ⁇ 2 array includes two LVDS interfaces 419, and the NC 140 located at the outer edge other than the four corners includes one LVDS interface 419. That is, the NM card 400 includes a total of 12 LVDS interfaces 419.
  • the LVDS interface 419 is used for connection between the NM cards 400.
  • the NC 140 located on the positive side in the X direction (the “X +” direction) can be connected to the NC 140 on another NM card 400 mounted logically adjacent to the “X +” direction.
  • NC 140 located on the negative side of the X direction (“X ⁇ ” direction) can be interconnected with NC 140 on another NM card 400 mounted logically adjacent in the “X ⁇ ” direction.
  • the NC 140 located on the positive side in the Y direction (“Y +” direction) can be connected to the NC 140 on another NM card 400 mounted logically adjacent to the “Y +” direction.
  • NC 140 located on the negative side in the Y direction (“Y ⁇ ” direction) can be interconnected with NC 140 on another NM card 400 that is mounted logically adjacent to “Y ⁇ ” direction. .
  • a total of 12 LVDS interfaces 419 included in the NM card 400 will be described by being classified into two groups, an odd group and an even group.
  • the LVDS interface 419 classified as an odd group is denoted as LVDS interface 419a
  • the LVDS interface 419 classified as an even group is denoted as LVDS interface 419b.
  • the twelve LVDS interfaces 419 are equal in the odd group and the even group in the “X +” direction, the “X ⁇ ” direction, the “Y +” direction, and the “Y ⁇ ” direction, respectively. being classified.
  • the solid line indicates the LVDS interface 419a belonging to the odd group
  • the dotted line indicates the LVDS interface 419b belonging to the even group.
  • FIG. 16 is a block diagram showing the configuration of the I / F card 500.
  • the I / F card 500 includes LVDS buffers 501 and 502, capacitors 503 and 504, a connector 206, and a connector 509.
  • the connector 509 is a connection mechanism that is physically and electrically connected to a slot on the backplane 300.
  • the I / F card 500 is connected to the NM card 400 via a connector 509 and wiring formed on the backplane 300.
  • the connector 206 includes four connectors 505 to 508. Note that the connector 505 and the connector 506 are provided with an attaching / detaching mechanism that can be attached and detached simultaneously, and the connector 507 and the connector 508 are provided with an attaching / detaching mechanism that can be attached and detached simultaneously.
  • the connector 505 is an LVDS cable connector that collects terminals of the LVDS interface 419 in the “X +” direction.
  • the connector 506 is an LVDS cable connector that collects the terminals of the LVDS interface 419 in the “X-” direction.
  • the connector 507 is an LVDS cable connector that collects terminals of the LVDS interface 419 in the “Y +” direction.
  • the connector 508 is an LVDS cable connector that collects the terminals of the LVDS interface 419 in the “Y-” direction.
  • the LVDS interface 419 in the “X +” direction and the LVDS interface 419 in the “X ⁇ ” direction are connected to the connector 505 and the connector 506 via the connector 509, the LVDS buffer 501, and the capacitor 503, respectively.
  • the LVDS interface 419 in the “Y +” direction and the LVDS interface 419 in the “Y ⁇ ” direction are connected to the connector 507 and the connector 508 via the connector 509, the LVDS buffer 502, and the capacitor 504, respectively.
  • two I / F cards 500 are mounted on the backplane 300.
  • One of the two I / F cards 500 mounted on the backplane 300 is a collection of only odd groups, and the other is a collection of only even groups.
  • FIG. 17 is a diagram showing a connection relationship between the NM card 400 and the I / F card 500.
  • the connector related to the odd group is distinguished from each other by adding an alphabet “a” to the end of the symbol, and the connector relating to the even group is appended with the alphabet “b” at the end of the symbol.
  • two NM cards 400 that are physically adjacent to each other in the horizontal direction on the paper surface include two LVDS interfaces 419a and two LVDS interfaces 419b. And connected to each other.
  • two NM cards 400 that are physically adjacent in the vertical direction on the paper surface are connected to each other by one LVDS interface 419a and one LVDS interface 419b. Is done.
  • the NM card 400 mounted on the lower stage of the first block 401 is one-to-one with the NM card 400 mounted on the lower stage of the second block 402, one LVDS interface 419a, and one LVDS interface 419b. Connected.
  • the NM card 400 mounted i-th from the left side of the drawing in the lower part of the first block 401 is connected one-to-one with the NM card 400 mounted i-th from the right side of the drawing in the lower part of the second block 402.
  • the definition of the X direction and the definition of the Y direction are logically different between the first block 401 and the second block 402.
  • the right side of the drawing corresponds to the “X +” direction.
  • the left direction of the drawing corresponds to the “X +” direction.
  • the upward direction on the paper corresponds to the “Y +” direction.
  • the downward direction in the drawing corresponds to the “Y +” direction.
  • the LVDS interface 419a belonging to the odd group is a connector. 505a.
  • the LVDS interface 419b belonging to the even group is a connector. 505b.
  • the LVDS interface 419a belonging to the odd group is Connected to the connector 506a.
  • the LVDS interface 419b belonging to the even group is Connected to the connector 506b.
  • the LVDS interface 419a belonging to the odd group is connected to the connector 507a.
  • the LVDS interface 419b belonging to the even group is connected to the connector 507b.
  • the LVDS interface 419a belonging to the odd group is connected to the connector 508a.
  • the LVDS interface 419b belonging to the even group is connected to the connector 508b.
  • FIG. 18 is a block diagram showing the configuration of the CU card 600.
  • the CU card 600 includes a first processor 601, a second processor 602, a DRAM 603, a DRAM 604, two connectors 205, an SD socket 609, an SD socket 610, and a connector 611.
  • the connector 611 is a connection mechanism that is physically and electrically connected to a slot on the backplane 300.
  • the CU card 600 can communicate with other cards via the connector 611 and wiring formed on the backplane 300.
  • the first processor 601 and the second processor 602 each function as an individual CU 11 by executing a program. That is, the CU card 600 corresponds to two CU11.
  • the first processor 601 is connected to the DRAM 603, and the DRAM 603 can be used as a work area.
  • the first processor 601 is connected to the SD socket 609. Connected to the SD socket 609 is a MicroSD card 612 in which a program executed by the first processor 601 is stored in advance.
  • the second processor 602 is connected to the DRAM 604, and the DRAM 604 can be used as a work area.
  • the second processor 602 is connected to the SD socket 610.
  • the SD socket 610 is connected to a MicroSD card 613 in which a program executed by the second processor 602 is stored in advance.
  • the first processor 601 is connected to one of the two connectors 205 via an interface 606 conforming to the Ethernet standard. In addition, the first processor 601 is connected to the connector 611 by two PCIe interfaces 605. The first processor 601 is connected to the connector 611 by a single interface 607 compliant with the Ethernet standard. In addition, the first processor 601 is connected to the connector 611 by one I2C interface 608.
  • the second processor 602 is connected to one of the two connectors 205 via an interface 606 compliant with the Ethernet standard. Further, the second processor 602 is connected to the connector 611 by two PCIe interfaces 605. The second processor 602 is connected to the connector 611 by a single interface 607 that conforms to the Ethernet standard. The second processor 602 is connected to the connector 611 by a single I2C interface 608.
  • FIG. 19 is a block diagram showing the configuration of the MM card 700.
  • the MM card 700 includes a BMC chip 701, a third processor 702, a DRAM 703, a DRAM 704, a switch 705, a connector 207, an SD socket 706, an SD socket 707, and a connector 720.
  • Connector 720 is a connection mechanism that is physically and electrically connected to a slot on backplane 300.
  • the MM card 700 can communicate with other cards via the connector 720 and wiring formed on the backplane 300.
  • the BMC chip 701 is a chip that realizes a BMC function.
  • the BMC chip 701 is connected to the DRAM 703 and uses the DRAM 703 as a work area.
  • the BMC chip 701 is connected to the SD socket 706.
  • the BMC chip 701 can record various monitoring data on the MicroSD card 716 connected to the SD socket 706.
  • the BMC chip 701 is connected to the connector 207 via an interface 708 compliant with the Ethernet standard, and can communicate with the outside via the connector 207.
  • the third processor 702 can execute NM control processing on the storage unit 10 based on a program.
  • the third processor 702 is connected to the DRAM 704, and the DRAM 704 can be used as a work area.
  • the third processor 702 is connected to the SD socket 707.
  • the SD socket 707 is connected to a MicroSD card 717 in which a program executed by the third processor 702 is stored in advance.
  • the switch 705 is connected to the connector 720 through 12 interfaces 710, is connected to the third processor 702 through a single interface 711, and is connected to the BMC chip 701 through a single interface. Is done. Each interface connected to the switch 705 conforms to the Ethernet standard.
  • the twelve interfaces 710 are connected to the respective processors (first processor 601 and second processor 602) mounted on the CU card 600 via the connector 720 and the backplane 300.
  • the switch 705 relays communication between the first processor 601, the second processor 602, the third processor 702, and the BMC chip 701.
  • the BMC chip 701 can acquire information generated by each processor via the switch 705.
  • the BMC chip 701 is connected to the connector 720 through the I2C interface 712.
  • the I2C interface 712 branches to the I2C interface 713 on the way, and the I2C interface 713 is connected to the third processor 702.
  • the terminal on the connector 720 side of the I2C interface 712 is connected to the first processor 601, the second processor 602, the first FPGA 403, and the second FPGA 404 via the backplane 300 and various card connectors.
  • the BMC chip 701 monitors the first processor 601, the second processor 602, the first FPGA 403, and the second FPGA 404 via the I2C interface 712.
  • the monitoring data transmitted from the first processor 601, the second processor 602, the first FPGA 403, and the second FPGA 404 is also referred to by the third processor 702 via the I2C interface 713.
  • the third processor 702 can execute the NM control process using the monitoring data.
  • the third processor 702 is connected to the connector 720 through the PCIe interface 714.
  • a terminal on the connector 720 side of the PCIe interface 714 is connected to one NM card 400 via the backplane 300.
  • the third processor 702 can transmit a packet for any NC 140 to the PCIe interface 714 and receive a packet from any NC 140 via the PCIe interface 714.
  • FIG. 20 is a diagram illustrating a connection relationship among the NM card 400, the CU card 600, and the MM card 700. All the connections shown in this figure are based on the PCIe interface. 20 is realized by the wiring in each card and the wiring formed on the backplane 300.
  • each CU card 600 includes four PCIe interfaces 605, and each NM card 400 includes two PCIe interfaces 418.
  • Each CU card 600 is connected to four NM cards 400 by using four PCIe interfaces 605 for connection to different NM cards 400.
  • one of the two PCIe interfaces 418 is used for connection to the CU card 600.
  • the PCIe interface 418 included in the first FPGA 403 is used for connection to the CU card 600.
  • Each of the first processors 601 included in the three CU cards 600 on the left side of the drawing includes different NM cards 400 mounted on the upper stage of the first block 401 and different NM cards mounted on the upper stage of the second block 402. 400. Further, each of the second processors 602 included in the three CU cards 600 on the left side of the page is different from each of the different NM cards 400 mounted in the lower stage of the first block 401 and different in the lower stage of the second block 402. Connected to the NM card 400.
  • Each of the first processors 601 included in the three CU cards 600 on the right side of the page includes different NM cards 400 mounted on the upper stage of the first block 401 and different NM cards mounted on the upper stage of the second block 402. 400 and both. Further, each of the second processors 602 included in the three CU cards 600 on the right side of the page is different from each of the different NM cards 400 mounted in the lower stage of the first block 401 and different in the lower stage of the second block 402. NM card 400 and both.
  • each CU card 600 is connected to both the NM card 400 belonging to the first block 401 and the NM card belonging to the second block 402.
  • each CU card 600 functions as a CU 11 with respect to the attached NM card 400.
  • it can be operated with any number of CU cards 600 of 1 to 6 attached. It becomes possible.
  • the enclosure 200 is in a state where the NM card 400 is connected to at least the first block 401. Operated.
  • the enclosure 200 can be operated in a state where the NM card 400 is attached only to the second block 402.
  • the MM card 700 includes a single PCIe interface 714.
  • the MM card 700 is connected to one NM card 400 by using the PCIe interface 714.
  • the PCIe interface 418 included in the second FPGA 404 is used for connection to the MM card 700.
  • the MM card 700 is connected to the NM card 400 mounted on the leftmost side of the upper stage of the first block 401.
  • the MM card 700 can transmit and receive packets via the PCIe interface 714.
  • FIG. 21 is a diagram showing a connection relationship between the CU card 600 and the MM card 700.
  • the illustration of the connection by the I2C interface is omitted, and the connection relation by the interface conforming to the Ethernet standard is shown.
  • the connection relationship shown in FIG. 21 is realized by wiring in each card and wiring formed on the backplane 300.
  • the MM card 700 includes twelve interfaces 710 conforming to the Ethernet standard. Each CU card 600 includes two interfaces 607 that conform to the Ethernet standard. The MM card 700 is connected to six CU cards 600 by using two interfaces 710 for each CU card 600.
  • connection example for constructing one storage unit 10 using two storage systems 1 provided in one enclosure 200 will be described.
  • an alphabet is added to the end of the code of each storage system 1.
  • FIG. 22 is a diagram showing a connector group used in the first connection example.
  • FIG. 23 is a diagram illustrating a specific connection relationship according to the first connection example.
  • FIG. 24 is a diagram illustrating the storage unit 10 that is logically constructed according to the first connection example.
  • a connector 206 included in one (storage system 1a) of two storage systems 1 included in one enclosure 200 and a connector 206 included in the other (storage system 1b). are connected to each other.
  • a connector 507a included in the storage system 1a and a connector 508a included in the storage system 1b are connected.
  • the connector 507b provided in the storage system 1a and the connector 508b provided in the storage system 1b are connected.
  • the storage unit 10 included in the storage system 1b is connected in the “Y +” direction of the storage unit 10 included in the storage system 1a.
  • the storage units 10 of the storage systems 1a and 1b are integrated to logically configure a new storage unit 10 as shown in FIG.
  • the new storage unit 10 is configured by arranging six NM cards 400 in the X direction and eight NM cards 400 in the Y direction.
  • FIG. 25 is a diagram illustrating a specific connection relationship according to the second connection example.
  • FIG. 26 is a diagram illustrating the storage unit 10 logically constructed according to the second connection example.
  • the connector 505a provided in the storage system 1a and the connector 506a provided in the storage system 1b are connected. Further, the connector 505b included in the storage system 1a and the connector 506b included in the storage system 1b are connected. With these connections, the storage unit 10 included in the storage system 1b is connected in the “X +” direction of the storage unit 10 included in the storage system 1a. That is, as shown in FIG. 26, the storage units 10 of the respective storage systems 1a and 1b are integrated so that 12 NM cards 400 are arranged in the X direction and four NM cards 400 are arranged in the Y direction.
  • One new storage unit 10 configured is logically constructed.
  • the storage unit 10 can be expanded using a plurality of enclosures 200.
  • a third connection example which is a connection example for constructing one storage unit 10 using a total of four storage systems 1 provided in the two enclosures 200, will be described. In order to identify the two enclosures 200, different alphabets are added to the end of the reference numerals of the two enclosures 200, respectively.
  • FIG. 27 is a diagram showing a connector group used in the third connection example.
  • FIG. 28 is a diagram illustrating a specific connection relationship according to the third connection example.
  • FIG. 29 is a diagram illustrating the storage unit 10 logically constructed according to the third connection example.
  • the connection is made through the connector 206. More specifically, the storage systems 1a and 1d are connected to the storage system 1b and the storage system 1c.
  • the connectors are connected. That is, the connector 505a included in the storage system 1a and the connector 506a included in the storage system 1b are connected. Further, the connector 505b included in the storage system 1a and the connector 506b included in the storage system 1b are connected. In addition, a connector 507a included in the storage system 1a and a connector 508a included in the storage system 1c are connected. Further, the connector 507b provided in the storage system 1a and the connector 508b provided in the storage system 1c are connected. Further, the connector 505a included in the storage system 1c and the connector 506a included in the storage system 1d are connected.
  • the connector 505b included in the storage system 1c and the connector 506b included in the storage system 1b are connected. Further, the connector 507a included in the storage system 1b and the connector 508a included in the storage system 1d are connected. Further, the connector 507b provided in the storage system 1b and the connector 508b provided in the storage system 1d are connected.
  • the storage units 10 included in the storage systems 1a to 1d are integrated and configured with 12 NM cards 400 arranged in the X direction and 8 NM cards 400 arranged in the Y direction.
  • One new storage unit 10 is logically constructed.
  • FIG. 30 is a diagram illustrating a torus-like connection relationship.
  • the NMs 14 are connected to each other by a wiring indicated by a solid line and a wiring indicated by a dotted line.
  • the wiring indicated by the dotted line is equivalent to the wiring indicated by the solid line.
  • routing is performed in a direction in which the X coordinate value of the node address is increased or decreased, and / or routing is performed in a direction in which the Y coordinate value of the node address is increased or decreased.
  • a packet whose source is the node (2, 0) and whose destination is the memory node (2, 2) is routed in the direction in which the Y coordinate value increases, for example, the node address is (2,
  • the NMs 14 of (0), (2, 1), (2, 2) are transferred in this order.
  • the NMs 14 having node addresses (2, 0), (2, 3), (2, 2) are transferred in this order. Is done.
  • the route to the destination increases, so that the throughput of the entire storage system 1 is improved.
  • a connection example between connectors for realizing a torus-like connection will be described.
  • FIG. 31 is a diagram showing a specific connection relationship according to the fourth connection example.
  • the fourth connection example is a connection example in which a torus-like connection is realized with only one storage system 1a. As illustrated, the connector 505a and the connector 506a are connected. Further, the connector 505b and the connector 506b are connected. Further, the connector 507a and the connector 508a are connected. Further, the connector 507b and the connector 508b are connected. Thereby, a torus-like connection is realized only by the storage unit 10 included in one storage system 1a.
  • FIG. 32 is a diagram illustrating a specific connection relationship according to the fifth connection example.
  • the fifth connection example is a connection example in which a torus-like connection is realized by two storage systems 1a and 1b.
  • the fifth connection example is realized by connecting as follows in addition to the connection between connectors similar to the second connection example. That is, the connector 506a of the storage system 1a and the connector 505a of the storage system 1b are connected. Further, the connector 506b of the storage system 1a and the connector 505b of the storage system 1b are connected. In each of the storage system 1a and the storage system 1b, the connector 507a and the connector 508a are connected, and the connector 507b and the connector 508b are connected.
  • FIG. 33 is a diagram showing a specific connection relationship according to the sixth connection example.
  • the sixth connection example is a connection example in which a torus-like connection is realized by the four storage systems 1a, 1b, 1c, and 1d.
  • the sixth connection example is realized by connecting as follows in addition to the connection between connectors similar to the third connection example. That is, the connector 506a of the storage system 1a and the connector 505a of the storage system 1b are connected. Further, the connector 506b of the storage system 1a and the connector 505b of the storage system 1b are connected. Further, the connector 506a of the storage system 1c and the connector 505a of the storage system 1d are connected.
  • the connector 506b of the storage system 1c and the connector 505b of the storage system 1d are connected. Further, the connector 508a of the storage system 1a and the connector 507a of the storage system 1c are connected. Further, the connector 508b of the storage system 1a and the connector 507b of the storage system 1c are connected. Further, the connector 508a of the storage system 1b and the connector 507a of the storage system 1d are connected. Further, the connector 508b of the storage system 1b and the connector 507b of the storage system 1d are connected.
  • the storage system 1 includes the I / F unit 12 connected to the storage unit 10, and the I / F unit 12 includes an I / F included in another storage system 1. Connected to the unit 12. With this configuration, the storage unit 10 can be expanded. That is, the storage system 1 can easily scale out the storage unit 10.
  • the LVDS interface 419 is classified into an odd group and an even group.
  • One of the two I / F cards 500 mounted on the backplane 300 is a collection of only odd group terminals, and the other is a collection of only even group terminals.
  • the LVDS interface 419 has been described as being classified into two types, an odd group and an even group.
  • the LVDS interface 419 is classified into three or more types, and each type of terminal is collected in a separate I / F card 500. May be configured.
  • the storage system 1 accommodated in the enclosure 200 receives and interprets an external request by the CU 11.
  • the enclosure 200 is configured by omitting the CU 11 and can be directly connected to the storage unit 10 from the outside by a cable.
  • FIG. 34 is a diagram showing a rear view of the enclosure 200 according to the second embodiment.
  • FIG. 35 is a block diagram illustrating a configuration of a CU card 600 according to the second embodiment.
  • the configuration of the CU card 600 is different from that of the first embodiment.
  • the CU card 600 includes a connector 208 that is a cable connector that conforms to the PCIe standard.
  • the plurality of CU cards 600 are attached to the backplane 300, so that the connector 208 is arranged on the rear surface of the enclosure 200.
  • the CU card 600 includes a switch 620 and a connector 611.
  • the switch 620 is connected to the connector 611 by four PCIe interfaces 621 and is connected to the connector 208 by one PCIe interface 622.
  • the switch 620 bundles four PCIe interfaces 621 into one PCIe interface 622.
  • the four PCIe interfaces 621 are connected to different NM cards 400 via the connector 611 and the backplane 300, respectively.
  • FIG. 36 is a diagram illustrating an example of a usage pattern of the enclosure 200 according to the second embodiment.
  • the enclosure 200 is connected to different connectors 208 from the three PC servers 4.
  • Each connector 208 is connected to a different PC server 4 on a one-to-one basis.
  • the communication standard between the enclosure 200 and the PC server 4 can be any standard as long as the internal bus of the PC server 4 can be extended to the outside of the PC server 4 by cabling. It is.
  • a plurality of PC servers 4 can be connected to the storage unit 10 via different connectors 208, and the storage unit 10 has a plurality of data transfer functions. Since the NM 14 has a configuration connected by a mesh network, even if a situation occurs in which a plurality of PC servers 4 access one NM 14, access is distributed to a plurality of routes to the NM 14. As a result, according to the second embodiment, performance degradation caused by access collision is unlikely to occur.
  • the external PC server 4 can directly transmit a packet to the storage unit 10, so that a configuration in which a server application program is executed on the external PC server 4 is configured. It becomes possible to adopt. Even when the calculation cost of the server application program is high, an external PC server 4 that fits the calculation cost can be prepared.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

 利便性を向上させるために、ストレージシステムは、第1記憶部および複数の第2記憶部を備える記憶部グループを備え、前記第1記憶部と、前記複数の第2記憶部とは、其々互いにデータ転送可能に接続される。前記複数の第2記憶部は、同一の第1基板上に実装される。前記複数の第2記憶部のうちの一の第2記憶部は、前記第1記憶部と連携し、かつ、前記複数の第2記憶部のうちの他の第2記憶部と連携しない。

Description

ストレージシステム
 本発明の実施形態は、ストレージシステムに関する。
 近年、ストレージシステムを備えた複数台の情報処理装置を、相互にネットワークで接続して、一つの情報処理システムとして動作させる場合(例えばクラウドコンピューティング)が増加している。また、ストレージシステムとしても、従来型のHDDを使用したものと比較してより高速な、DRAMチップやNANDフラッシュチップなどを多数並べてチップ間配線によって接続し、一つのストレージシステムとして用いられるものが存在する。
特開2012-103926号公報
 本発明の一つの実施形態は、利便性を向上させたストレージシステムを提供することを目的とする。
 本発明の一つの実施形態によれば、ストレージシステムは、第1記憶部および複数の第2記憶部を備える記憶部グループを備え、前記第1記憶部と、前記複数の第2記憶部とは、其々互いにデータ転送可能に接続される。前記複数の第2記憶部は、同一の第1基板上に実装される。前記複数の第2記憶部のうちの一の第2記憶部は、前記第1記憶部と連携し、かつ、前記複数の第2記憶部のうちの他の第2記憶部と連携しない。
図1は、ストレージシステムの構成の概念を示す図である。 図2は、NMの構成の一例を示す図である。 図3は、パケットの構成を説明する図である。 図4は、NMの実装例を示す図である。 図5は、I/F部を介して2台のストレージシステムが接続されたときのNM間の接続関係を示す図である。 図6は、ストレージシステムが収容されるエンクロージャを示す図である。 図7は、エンクロージャの前面図である。 図8は、エンクロージャの背面図である。 図9は、エンクロージャの内部の上面図である。 図10は、バックプレーンの構成例を示す図である。 図11は、第1の実施形態のエンクロージャの使用形態の一例を示す図である。 図12は、NMカードの構成を示すブロック図である。 図13は、NMカードの概観図である。 図14は、NMカードの概観図である。 図15は、NC間の論理的な接続関係を示す図である。 図16は、I/Fカードの構成を示すブロック図である。 図17は、NMカードとI/Fカードとの間の接続関係を示す図である。 図18は、第1の実施形態のCUカードの構成を示すブロック図である。 図19は、MMカードの構成を示すブロック図である。 図20は、NMカード、CUカード、およびMMカードの間の接続関係を示す図である。 図21は、CUカードとMMカードとの間の接続関係を示す図である。 図22は、第1接続例において使用されるコネクタ群を示す図である。 図23は、第1接続例による具体的な接続関係を示す図である。 図24は、第1接続例によって論理的に構築される記憶部を示す図である。 図25は、第2接続例による具体的な接続関係を示す図である。 図26は、第2接続例によって論理的に構築される記憶部を示す図である。 図27は、第3接続例において使用されるコネクタ群を示す図である。 図28は、第3接続例による具体的な接続関係を示す図である。 図29は、第3接続例によって論理的に構築される記憶部を示す図である。 図30は、トーラス状の接続関係を示す図である。 図31は、第4接続例による具体的な接続関係を示す図である。 図32は、第5接続例による具体的な接続関係を示す図である。 図33は、第6接続例による具体的な接続関係を示す図である。 図34は、第2の実施形態のエンクロージャの背面図を示す図である。 図35は、第2の実施形態のCUカードの構成を示すブロック図である。 図36は、第2の実施形態のエンクロージャの、使用形態の一例を示す図である。
 以下に添付図面を参照して、実施形態にかかるストレージシステムを詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
(第1の実施形態)
 まず、実施形態のストレージシステムの構成の概念を説明する。図1は、ストレージシステムの構成の概念を示す図である。図示するように、ストレージシステム1は、記憶部10、コネクションユニット(CU)11、インタフェース部(I/F部)12およびマネジメントモジュール(MM)13を備えている。
 記憶部10は、記憶機能およびデータ転送機能を其々有する複数のノードモジュール(NM)14をメッシュネットワークにより相互に接続した構成を備える。記憶部10は、複数のNM14に対してデータを分散して記憶する。データ転送機能は、各NM14が効率的にパケットを転送する転送方式を備える。
 図1では、各NM14が其々格子点に配置された、矩形状のネットワークの例を示す。格子点の座標を座標(x、y)で示し、格子点に配置されるNM14の位置情報は、当該格子点の座標と対応してノードアドレス(xD、yD)で示されるものとする。また、図1の例では、左上隅に位置するNM14が原点のノードアドレス(0、0)を有し、各NM14を横方向(X方向)および縦方向(Y方向)に移動することで、ノードアドレスが整数値で増減する。
 各NM14は、それぞれ、2つ以上のインタフェース15を備える。各NM14は、隣接するNM14と、インタフェース15を介して接続される。各NM14は、2以上の異なる方向に隣接するNM14と接続される。例えば、図1において左上隅のノードアドレス(0、0)で示されるNM14は、X方向に隣接するノードアドレス(1、0)で表されるNM14と、X方向とは異なる方向であるY方向に隣接するノードアドレス(0、1)で表されるNM14と、それぞれ接続される。また、図1においてノードアドレス(1、1)で表されるNM14は、互いに異なる4の方向に隣接する、ノードアドレス(1、0)、(0、1)、(2、1)および(1、2)でそれぞれ示される4のNM14に接続される。以降、ノードアドレス(xD、yD)で表されるNM14を、ノード(xD、yD)と表記することがある。
 図1では、各NM14が矩形格子の格子点に配置されるように示したが、各NM14の配置の様態は、この例に限定されない。すなわち、格子の形状は、格子点に配置される各NM14が2以上の異なる方向に隣接するNM14と接続されればよく、例えば三角形、六角形などでもよい。また、図1では各NM14が2次元状に配置されているが、各NM14を3次元的に配置しても構わない。3次元的にNM14を配置した場合は、(x、y、z)の3つの値で各NM14を指定することができる。また、NM14が2次元的に配置される場合には、対辺に位置するNM14同士を接続することによって、NM14をトーラス状に接続するようにしてもよい。
 CU11は、外部に接続するコネクタを備え、外部からの要求に応じて記憶部10にデータを入出力することができる。具体的には、CU11は、図示していない記憶装置と演算装置とを備え、演算装置は、記憶装置をワークエリアとして使用しながらサーバアプリケーションプログラムを実行することができる。CU11は、サーバアプリケーションによる制御の下で、外部からの要求を処理する。CU11は、外部からの要求の処理の過程において、記憶部10に対するアクセスを実行する。CU11は、記憶部10にアクセスする際には、NM14が転送したり実行したりすることが可能なパケットを生成し、生成したパケットを、自CU11に接続されているNM14に送信する。
 図1の例では、ストレージシステム1は、4つのCU11を備えている。4つのCU11は、夫々異なるNM14に接続される。ここでは、4つのCU11は、ノード(0、0)、ノード(1、0)、ノード(2、0)、およびノード(3、0)に一対一に接続されている。なお、CU11の数は任意に構成することが可能である。また、CU11は、記憶部10を構成する任意のNM14に接続されることが可能である。また、1つのCU11が複数のNM14に接続されてもよいし、1つのNM14が複数のCU11に接続されてもよい。また、記憶部10を構成する複数のNM14のうちの任意のNM14にCU11が接続されてもよい。
 図2は、NM14の構成の一例を示す図である。NM14は、ノードコントローラ(NC)140と、ストレージとして機能する第1のメモリ141と、NC140がワークエリアとして使用する第2のメモリ142とを備えている。第1のメモリ141としては、NANDメモリ、ビットコストスケーラブルメモリ(BiCS)、磁気抵抗メモリ(MRAM)、相変化メモリ(PcRAM)、抵抗変化型メモリ(RRAM(登録商標))、またはこれらの組み合わせが適用可能である。第2のメモリ142としては、各種RAMが適用可能である。なお、第1のメモリ141がワークエリアとしての機能を提供することによって第2のメモリ142はNM14に具備されなくてもよい。
 NC140は、4つのインタフェース15が接続される。NC140は、CU11または他のNM14からインタフェース15を介してパケットを受信したり、CU11または他のNM14にインタフェース15を介してパケットを送信したりする。NC140は、受信したパケットの宛先が自NM14である場合には、そのパケット(そのパケットに記録されるコマンド)に応じた処理を実行する。例えば、コマンドがアクセスコマンド(リードコマンドまたはライトコマンド)である場合には、NC140は第1のメモリ141に対するアクセスを実行する。NC140は、受信したパケットの宛先が自NM14では無い場合には、そのパケットを自NM14に接続されている他のNM14に転送する。
 図3は、パケットの構成を説明する図である。パケットは、宛先のノードアドレス、送り元のノードアドレス、および、コマンドまたはデータが記録されて構成される。
 パケットは、そのパケットを受信したNC140が所定の転送アルゴリズムに基づいてルーティング先を決定することで、NM14間を転送されて、宛先のNM14に到達する。例えば、NC140は、自NM14に接続されている複数のNM14のうちの、自NM14から宛先のNM14までの転送回数が最小となる経路上に位置するNM14を、転送先のNM14に決定する。NC140は、自NM14から宛先のNM14までの転送回数が最小となる経路が複数存在する場合には、複数の経路から1つの経路を任意の方法で選択する。NC140は、自NM14に接続されている複数のNM14のうちの転送回数が最小となる経路上に位置するNM14が故障していたりビジーであったりする場合には、他のNM14を転送先に決定する。
 記憶部10は、複数のNM14がメッシュネットワークで接続されて構成されていることにより、転送回数が最小となる経路が複数存在する。特定のNM14を宛先とするパケットが複数発行された場合であっても、発行された複数のパケットは、上述の転送アルゴリズムにより複数の経路に分散して転送されるので、特定のNM14に対するアクセス集中によるストレージシステム1全体のスループットの低下が抑制される。
 図4は、NM14の実装例を示す図である。各NM14は、カード基板20に実装されている。4つのカード基板20が、着脱可能にコネクタを介してバックプレーン22に装着される。各カード基板20には、4つのNM14が実装されている。Y方向に配列された4つのNM14は、同一のカード基板20に実装され、X方向に配列された4つのNM14は、夫々異なるカード基板20に実装されている。ここで、記憶部10においてRAID(Redundant Arrays of Inexpensive Disks)を構築することが可能である。例えば、図4に示す例では、4つのRAIDグループ21が構築されており、各NM14は、4つのRAIDグループ21のうちのいずれかに属する。そして、夫々異なるカード基板20に実装されている4つのNM14は1つのRAIDグループ21が構成される。ここでは、X方向に配列された4つのNM14が同一のRAIDグループ21に属する。適用されるRAIDのレベルは、任意である。例えばRAID5が適用される場合には、RAIDグループ21を構成する複数のNM14のうちの1つが破損したとき、破損したNM14を有するカード基板20を交換することで、破損したNM14に記憶されるデータが復旧される。また、RAID6が適用される場合には、RAIDグループ21を構成する複数のNM14のうちの2つのNM14が破損した場合であっても復旧可能である。
 MM13は、各CU11と、ノード(0、0)とに接続されている。MM13は、図示していないBMC(Base Management Controller)を備えている。MM13は、BMCの機能の一環として、環境温度の監視、ファンの回転数の監視とコントロール、電源電流および電源電圧の監視、各CU11のステータスの記録、各CU11の温度の監視、CU11のリセット、などを実行する。また、MM13は、BMCの機能のほかに、記憶部10に対する処理(NM制御処理)を実行する機能を備える。NM制御処理は任意である。例えば、第1のメモリ141がフラッシュメモリで構成される場合には、MM13は、第1のメモリ141のウェアレベリングを実行してもよい。また、MM13は、MM14の故障が発見されたとき、故障したMM14が実装されているカード基板20の交換を外部に通知するようにしてもよい。また、MM13は、カード基板20の交換後、RAIDのリビルドを行ってもよい。なお、MM14の故障の検知は、NC140によって行われてもよいし、CU11によって行われてもよい。MM14の故障の検知は、そのMM14に具備される第1のメモリ141からのリードデータに対するエラー検出に基づいて実行されてもよい。MM13は、記憶部10に対して処理を行う際には、処理に応じたパケットを発行する。MM13は、例えば図3に示す様式に準拠するパケットを発行する。
 I/F部12は、記憶部10を拡張するための接続インタフェースである。異なる2台のストレージシステム1がI/F部12を介して相互に接続されることで、各ストレージシステム1が備える記憶部10が論理的に結合されて、1つの記憶部10として使用可能になる。I/F部12は、1以上のNM14からインタフェース15で接続されている。ここでは、ノード(0、0)、ノード(0、1)、ノード(0、2)、およびノード(0、3)の4つのNM14に接続されている各インタフェース15がI/F部12に夫々接続されている。
 図5は、I/F部12を介して2台のストレージシステム1が接続されたときのNM14間の接続関係を示す図である。図示するように、2台のストレージシステム1のうちの一のストレージシステム1に具備される4つのNM14と、2台のストレージシステム1のうちの他のストレージシステムに具備される4つのNM14とが、I/F部12を介して一対一で接続されている。2台のストレージシステム1間では、I/F部12により接続されたインタフェース15を介してパケットが転送可能である。これにより、4行4列のNM14群により構成される2つの記憶部10が論理的に結合されて、4行8列のNM14群により構成される1つの記憶部10として使用可能となる。
 なお、記憶部10を構成する複数のNM14のうちの何れをI/F部12に接続するか、および、I/F部12に接続するNM14の数は、任意である。また、記憶部10間の接続関係のバリエーションについては後述する。
 次に、第1の実施形態の実装例を説明する。
 図6は、ストレージシステム1が収容される筐体(エンクロージャ)を示す図である。ストレージシステム1は、サーバラック201にマウント可能なエンクロージャ200に収容される。エンクロージャ200の寸法は、サーバラック201が準拠する規格によって規定されている。エンクロージャ200の寸法のうちの高さは、「U(ユニット)」によって表現される。例えば、エンクロージャ200は、「2U」の高さを有する。
 図7は、エンクロージャ200の前面図、図8は、エンクロージャ200の背面図、図9は、エンクロージャ200の内部の上面図、を夫々示している。
 エンクロージャ200の前面の中央には、電源ボタン、各種LED、および各種コネクタが配設されたコンソールパネル202が設けられている。コンソールパネル202の左右には、空気を吸気または排気するファン203が夫々2つずつ設けられている。
 エンクロージャ200の背面の中央部分には、後述の電源装置211を冷却するための2つのファン203と、2つの電源コネクタ204と、が設けられている。そして、CU11が外部と接続するための6対で合計12個のコネクタ205と、I/F部12が外部と接続するための4対で合計8個のコネクタ206と、MM13が外部と接続するための1個のコネクタ207と、が、中央部分の左右に夫々設けられている。
 なお、ここでは、コネクタ205の規格として、イーサネット(登録商標)規格に準拠するコネクタが採用されるとして説明するが、ネットワーク接続可能な規格であればコネクタ205の規格として任意の規格が採用可能である。また、コネクタ206の規格には、任意の規格が採用可能である。ここでは、NM14間のインタフェースとしてLVDS(Low voltage differential signaling)が採用され、コネクタ206の規格としてLVDSが採用されるものとする。また、コネクタ207の規格として、任意の規格が採用可能である。
 エンクロージャ200の内部においては、中央部分に、電源用のバックプレーン210が収容されている。そして、電源用のバックプレーン210の左右には、バックプレーン300が其々収容されている。各バックプレーン300は、カード基板に実装されたCU11、I/F部12、MM13、およびNM14が装着されることで、1つのストレージシステム1として機能する。即ち、エンクロージャ200は、2つのストレージシステム1が収容可能である。なお、エンクロージャ200には、1つのバックプレーン300が収容されている状態で動作可能である。また、エンクロージャ200は、2つのバックプレーン300が収容された場合、2つのバックプレーン300がコネクタ206を介して互いに接続されることにより、2つのストレージシステム1の夫々が有する記憶部10を1つの記憶部10に統合して運用することが可能である。
 電源用のバックプレーン210には、エンクロージャ200の高さ方向に重ねられた2個の電源装置211がエンクロージャ200の背面(Rear)側に接続され、エンクロージャ200の奥行き方向に2個のバッテリー212がエンクロージャ200の前面(Front)側に並べて接続される。2個の電源装置211は、外部から電源コネクタ204を介して供給された商用電源に基づいて内部電源を生成し、生成した内部電源を電源用のバックプレーン210を介して2つのバックプレーン300に供給する。2個のバッテリー212は、停電など商用電源の供給が途絶えたときに内部電源を生成するバックアップ電源である。
 図10は、バックプレーン300の構成例を示す図である。CU11、I/F部12、MM13、およびNM14は、夫々カード基板に実装される。これらのカード基板は、バックプレーン300に設けられたスロットに装着される。NM14が実装されているカード基板を、NMカード(NMカード400)と表記する。I/F部12が実装されているカード基板を、I/Fカード(I/Fカード500)と表記する。CU11が実装されているカード基板を、CUカード(CUカード600)と表記する。MM13が実装されているカード基板を、MMカード(MMカード700)と表記する。
 バックプレーン300は、背面側において、左から1枚のMMカード700、2枚のI/Fカード500、および6枚のCUカード600が装着される。また、バックプレーン300は、前面側において、24枚のNMカード400が2列に配列されて装着されている。24枚のNMカード400は、紙面左側の12枚のNMカード400からなるブロック(第1ブロック401)と、紙面右側の12枚のNMカード400からなるブロック(第2ブロック402)とに分類される。この分類は、装着位置に基づくものである。
 図11は、エンクロージャ200の使用形態の一例を示す図である。エンクロージャ200は、コネクタ205とネットワークスイッチ(Network SW)3を介してPCサーバ2が接続されている。エンクロージャ200に収容されているストレージシステム1は、CUカード600においてPCサーバ2からの要求を解釈し、記憶部10にアクセスすることができる。CUカード600においては、サーバアプリケーションが実行されている。PCサーバ2は、サーバアプリケーションが受け付け可能な要求を送信することができる。なお、ここでは、CUカード600毎にコネクタ205とネットワークスイッチ3とが接続されているが、任意のCUカード600とネットワークスイッチ3とを接続することができる。
 図12は、NMカード400の構成を示すブロック図である。図13および図14は、NMカード400の概観図である。図13は、NMカード400の一方の面を示し、図14は、他方の面を示している。この実装例においては、NM14間を接続するインタフェース15の規格には、LVDSが適用され、NM14とCU11とを接続するインタフェース15の規格には、PCIe(PCI Express)が適用される。また、NM14とMM13とを接続するインタフェースの規格には、PCIeが適用され、NM14とCU11とを接続するインタフェースの規格には、I2Cおよびイーサネットが適用される。
 NMカード400は、第1のFPGA(field-programmable gate array)403、第2のFPGA404、フラッシュメモリ405~408、DRAM409、410、フラッシュメモリ411~414、DRAM415、416およびコネクタ417を備えている。図13および図14に示すように、第1のFPGA403、フラッシュメモリ405,406、DRAM409、410、及びフラッシュメモリ407,408は、其々、第2のFPGA404、フラッシュメモリ411,412、DRAM415,416、フラッシュメモリ414,415に対して位置的に対称に設けられ、コネクタ417は、該対称の中心から偏心された位置に設けられる。
 コネクタ417は、バックプレーン300上のスロットに物理的および電気的に接続される接続機構である。NMカード400は、コネクタ417と、バックプレーン300に形成された配線と、を介して他のカードと通信を行うことができる。
 第1のFPGA403は、4つのフラッシュメモリ405~408と、2つのDRAM409、410とに接続されている。第1のFPGA403は、4つのNC140を内部に含む。第1のFPGA403に含まれる4つのNC140は、DRAM409、410を、第2のメモリ142として使用する。また、第1のFPGA403に含まれる4つのNC140は、フラッシュメモリ405~408のうちの夫々異なるフラッシュメモリを、第1のメモリ141として使用する。即ち、第1のFPGA403、フラッシュメモリ405~408、DRAM409、410は、4つのNM14からなるNM14群に相当する。
 第2のFPGA404は、4つのフラッシュメモリ411~414と、2つのDRAM415、416とに接続されている。第2のFPGA404は、4つのNC140を内部に含む。第2のFPGA404に含まれる4つのNC140は、DRAM415、416を、第2のメモリ142として使用する。また、第2のFPGA404に含まれる4つのNC140は、フラッシュメモリ411~414のうちの夫々異なるフラッシュメモリを、第1のメモリ141として使用する。即ち、第2のFPGA404、フラッシュメモリ411~414、DRAM415、416は、4つのNM14からなるNM14群に相当する。
 第1のFPGA403は、1本のPCIeインタフェース418と、6本のLVDSインタフェース419とでコネクタ417と接続されている。また、第2のFPGA404は、1本のPCIeインタフェース418と、6本のLVDSインタフェース419とでコネクタ417と接続されている。第1のFPGA403と、第2のFPGA404とは、2本のLVDSインタフェース420で接続されている。また、第1のFPGA403および第2のFGPA404は、I2Cインタフェース421でコネクタ417に接続されている。
 図15は、NC140間の論理的な接続関係を示す図である。各NC140は、合計4つのインタフェースを其々備える。各NC140は、FPGAの内部の2つのインタフェースで、同一のFPGAに含まれる他の2つのNC140と接続される。第1のFPGA403に含まれる4つのNC140のうちの2つのNC140は、第2のFPGA404に含まれる4つのNC140のうちの2つのNC140と、LVDSインタフェース420で相互に接続される。このようにNC140間が接続されることにより、NMカード400が有する8個相当のNM14は、4行2列のNM14群を構成する。
 各NC140が備える残りのインタフェースは、他のNMカード400(図示せず)上のFPGAに含まれるNC140と接続するためのインタフェース(LVDSインタフェース419)である。4行2列の配列の4隅に位置するNC140は、2つのLVDSインタフェース419を備え、4隅以外の外縁部に位置するNC140は、1つのLVDSインタフェース419を備える。即ち、NMカード400は、合計12本のLVDSインタフェース419を具備する。
 LVDSインタフェース419は、NMカード400間の接続に使用される。X方向のうちの正側(「X+」方向)に位置するNC140は、「X+」方向に論理的に隣接して装着される他のNMカード400上のNC140と相互に接続可能である。X方向のうちの負側(「X-」方向)に位置するNC140は、「X-」方向に論理的に隣接して装着される他のNMカード400上のNC140と相互に接続可能である。Y方向のうちの正側(「Y+」方向)に位置するNC140は、「Y+」方向に論理的に隣接して装着される他のNMカード400上のNC140と相互に接続可能である。Y方向のうちの負側(「Y-」方向)に位置するNC140は、「Y-」方向に論理的に隣接して装着される他のNMカード400上のNC140と相互に接続可能である。
 本実施例では、NMカード400が有する合計12本のLVDSインタフェース419は、オッドグループとイーブングループとの2つのグループに分類して説明する。オッドグループに分類されるLVDSインタフェース419を、LVDSインタフェース419a、イーブングループに分類されるLVDSインタフェース419を、LVDSインタフェース419b、と表記する。ここでは、12本のLVDSインタフェース419は、「X+」方向、「X-」方向、「Y+」方向、および「Y-」方向の夫々において、オッドグループとイーブングループとで同数となるように、分類される。図15において、実線はオッドグループに属するLVDSインタフェース419aを示しており、点線はイーブングループに属するLVDSインタフェース419bを示している。
 図16は、I/Fカード500の構成を示すブロック図である。I/Fカード500は、LVDSバッファ501、502、キャパシタ503、504、コネクタ206、およびコネクタ509を備える。
 コネクタ509は、バックプレーン300上のスロットに物理的および電気的に接続される接続機構である。I/Fカード500は、コネクタ509と、バックプレーン300に形成された配線と、を介してNMカード400に接続される。
 コネクタ206は、4つのコネクタ505~508を含む。なお、コネクタ505とコネクタ506とは、同時に着脱可能な着脱機構を備え、コネクタ507とコネクタ508とは、同時に着脱可能な着脱機構を備えるものとする。コネクタ505は、「X+」方向のLVDSインタフェース419の端子を集めたLVDSケーブルコネクタである。コネクタ506は、「X-」方向のLVDSインタフェース419の端子を集めたLVDSケーブルコネクタである。コネクタ507は、「Y+」方向のLVDSインタフェース419の端子を集めたLVDSケーブルコネクタである。コネクタ508は、「Y-」方向のLVDSインタフェース419の端子を集めたLVDSケーブルコネクタである。
 「X+」方向のLVDSインタフェース419および「X-」方向のLVDSインタフェース419は、コネクタ509、LVDSバッファ501、およびキャパシタ503を介して、コネクタ505およびコネクタ506に夫々接続される。「Y+」方向のLVDSインタフェース419および「Y-」方向のLVDSインタフェース419は、コネクタ509、LVDSバッファ502、およびキャパシタ504を介して、コネクタ507およびコネクタ508に夫々接続される。
 なお、前述のように、バックプレーン300には、2枚のI/Fカード500が装着される。バックプレーン300に装着される2枚のI/Fカード500のうちの一方は、オッドグループだけを集めたものであり、他方は、イーブングループだけを集めたものである。
 図17は、NMカード400とI/Fカード500との間の接続関係を示す図である。ここで、オッドグループにかかるコネクタには、符号の末尾にアルファベット「a」を付し、イーブングループにかかるコネクタには、符号の末尾にアルファベット「b」を付して互いに区別する。
 図17に示すように、第1ブロック401および第2ブロック402の夫々において、紙面横方向に物理的に隣接する2枚のNMカード400が、2本のLVDSインタフェース419aと2本のLVDSインタフェース419bとで相互に接続される。また、第1ブロック401および第2ブロック402の夫々において、紙面縦方向に物理的に隣接する2枚のNMカード400が、1本のLVDSインタフェース419aと1本のLVDSインタフェース419bとで相互に接続される。
 第1ブロック401の下段に装着されているNMカード400は、第2ブロック402の下段に装着されているNMカード400と、1本のLVDSインタフェース419aと1本のLVDSインタフェース419bとで一対一に接続される。第1ブロック401の下段において紙面左側からi番目に装着されているNMカード400は、第2ブロック402の下段において紙面右側からi番目に装着されているNMカード400と一対一に接続される。上記のように物理的に接続されることにより、論理的には、X方向の定義およびY方向の定義が、第1ブロック401と第2ブロック402とで相違する。第1ブロック401においては紙面右方向が「X+」方向に該当する。第2ブロック402においては紙面左方向が「X+」方向に該当する。第1ブロック401においては紙面上方向が「Y+」方向に該当する。第2ブロック402においては紙面下方向が「Y+」方向に該当する。
 第1ブロック401の右端に装着されたNMカード400および第2ブロック402の左端に装着されたNMカード400が有する「X+」方向のLVDSインタフェース419のうち、オッドグループに属するLVDSインタフェース419aは、コネクタ505aに接続される。第1ブロック401の右端に装着されたNMカード400および第2ブロック402の左端に装着されたNMカード400が有する「X+」方向のLVDSインタフェース419のうち、イーブングループに属するLVDSインタフェース419bは、コネクタ505bに接続される。
 第1ブロック401の左端に装着されたNMカード400および第2ブロック402の右端に装着されたNMカード400が有する「X-」方向のLVDSインタフェース419のうち、オッドグループに属するLVDSインタフェース419aは、コネクタ506aに接続される。第1ブロック401の左端に装着されたNMカード400および第2ブロック402の右端に装着されたNMカード400が有する「X-」方向のLVDSインタフェース419のうち、イーブングループに属するLVDSインタフェース419bは、コネクタ506bに接続される。
 第1ブロック401の上段に装着されたNMカード400が有する「Y+」方向のLVDSインタフェース419のうち、オッドグループに属するLVDSインタフェース419aは、コネクタ507aに接続される。第1ブロック401の上段に装着されたNMカード400が有する「Y+」方向のLVDSインタフェース419のうち、イーブングループに属するLVDSインタフェース419bは、コネクタ507bに接続される。
 第2ブロック402の上段に装着されたNMカード400が有する「Y-」方向のLVDSインタフェース419のうち、オッドグループに属するLVDSインタフェース419aは、コネクタ508aに接続される。第2ブロック402の上段に装着されたNMカード400が有する「Y-」方向のLVDSインタフェース419のうち、イーブングループに属するLVDSインタフェース419bは、コネクタ508bに接続される。
 図18は、CUカード600の構成を示すブロック図である。CUカード600は、第1のプロセッサ601、第2のプロセッサ602、DRAM603、DRAM604、2つのコネクタ205、SDソケット609、SDソケット610、およびコネクタ611を備える。
 コネクタ611は、バックプレーン300上のスロットに物理的および電気的に接続される接続機構である。CUカード600は、コネクタ611と、バックプレーン300に形成された配線と、を介して他のカードと通信を行うことができる。
 第1のプロセッサ601および第2のプロセッサ602は、夫々プログラムを実行することにより、夫々個別のCU11として機能する。即ち、CUカード600は、2つのCU11に相当する。第1のプロセッサ601は、DRAM603に接続されており、DRAM603をワークエリアとして使用することができる。第1のプロセッサ601は、SDソケット609に接続されている。SDソケット609には、第1のプロセッサ601によって実行されるプログラムが予め格納されたMicroSDカード612が接続される。第2のプロセッサ602は、DRAM604に接続されており、DRAM604をワークエリアとして使用することができる。第2のプロセッサ602は、SDソケット610に接続される。SDソケット610は、第2のプロセッサ602によって実行されるプログラムが予め格納されたMicroSDカード613が接続される。
 第1のプロセッサ601は、2個のコネクタ205のうちの1つにイーサネット規格に準拠するインタフェース606で接続される。また、第1のプロセッサ601は、2本のPCIeインタフェース605でコネクタ611に接続される。また、第1のプロセッサ601は、イーサネット規格に準拠する1本のインタフェース607でコネクタ611に接続される。また、第1のプロセッサ601は、1本のI2Cインタフェース608でコネクタ611に接続される。
 同様に、第2のプロセッサ602は、2個のコネクタ205のうちの1つにイーサネット規格に準拠するインタフェース606で接続される。また、第2のプロセッサ602は、2本のPCIeインタフェース605でコネクタ611に接続される。また、第2のプロセッサ602は、イーサネット規格に準拠する1本のインタフェース607でコネクタ611に接続される。また、第2のプロセッサ602は、1本のI2Cインタフェース608でコネクタ611に接続される。
 図19は、MMカード700の構成を示すブロック図である。MMカード700は、BMCチップ701、第3のプロセッサ702、DRAM703、DRAM704、スイッチ705、コネクタ207、SDソケット706、SDソケット707、およびコネクタ720を備えている。
 コネクタ720は、バックプレーン300上のスロットに物理的および電気的に接続される接続機構である。MMカード700は、コネクタ720と、バックプレーン300に形成された配線と、を介して他のカードと通信を行うことができる。
 BMCチップ701は、BMCの機能を実現するチップである。BMCチップ701は、DRAM703に接続されており、DRAM703をワークエリアとして使用する。BMCチップ701は、SDソケット706と接続されている。BMCチップ701は、SDソケット706に接続されたMicroSDカード716に、各種監視データを記録することができる。BMCチップ701は、コネクタ207とイーサネット規格に準拠するインタフェース708で接続されており、コネクタ207を介して外部と通信を行うことができる。
 第3のプロセッサ702は、プログラムに基づいて記憶部10に対してNM制御処理を実行することができる。第3のプロセッサ702は、DRAM704に接続されており、DRAM704をワークエリアとして使用することができる。第3のプロセッサ702は、SDソケット707に接続されている。SDソケット707は、第3のプロセッサ702によって実行されるプログラムが予め格納されたMicroSDカード717が接続される。
 スイッチ705は、コネクタ720との間で12本のインタフェース710で接続され、第3のプロセッサ702との間で1本のインタフェース711で接続され、BMCチップ701との間で1本のインタフェースで接続される。スイッチ705に接続される各インタフェースは、イーサネット規格に準拠するものである。12本のインタフェース710は、コネクタ720およびバックプレーン300を介して、CUカード600に実装されている各プロセッサ(第1のプロセッサ601、第2のプロセッサ602)に接続される。スイッチ705は、第1のプロセッサ601、第2のプロセッサ602、および第3のプロセッサ702と、BMCチップ701と、の間の通信を中継する。BMCチップ701は、各プロセッサが生成する情報を、スイッチ705を介して取得することができる。
 また、BMCチップ701は、コネクタ720との間でI2Cインタフェース712で接続されている。I2Cインタフェース712は、途中でI2Cインタフェース713に分岐して、I2Cインタフェース713は第3のプロセッサ702に接続されている。I2Cインタフェース712のコネクタ720側の端子は、バックプレーン300および各種カードのコネクタを介して第1のプロセッサ601、第2のプロセッサ602、第1のFPGA403、および第2のFPGA404に接続される。BMCチップ701は、I2Cインタフェース712を介して第1のプロセッサ601、第2のプロセッサ602、第1のFPGA403、および第2のFPGA404を監視する。第1のプロセッサ601、第2のプロセッサ602、第1のFPGA403、および第2のFPGA404から送られてくる監視データは、I2Cインタフェース713を介して第3のプロセッサ702からも参照される。第3のプロセッサ702は、監視データを用いてNM制御処理を実行することができる。
 第3のプロセッサ702は、PCIeインタフェース714でコネクタ720と接続される。PCIeインタフェース714のコネクタ720側の端子は、バックプレーン300を介して、1つのNMカード400に接続される。第3のプロセッサ702は、任意のNC140に対するパケットをPCIeインタフェース714に送信したり、任意のNC140からのパケットをPCIeインタフェース714を介して受信したりすることができる。
 図20は、NMカード400、CUカード600、およびMMカード700の間の接続関係を示す図である。本図に示す接続は、全てPCIeインタフェースによるものである。また、図20に示す接続関係は、各カード内の配線とバックプレーン300に形成された配線とによって実現する。
 前述のように、各CUカード600は、4本のPCIeインタフェース605を備え、各NMカード400は、2本のPCIeインタフェース418を備える。各CUカード600は、4本のPCIeインタフェース605が夫々異なるNMカード400との接続に使用されることにより、4つのNMカード400に接続される。各NMカード400は、2本のPCIeインタフェース418のうちの1本がCUカード600との接続に使用される。ここでは、第1のFPGA403が有するPCIeインタフェース418がCUカード600との接続に使用される。
 紙面左側の3枚のCUカード600が有する各第1のプロセッサ601は、第1ブロック401の上段に装着された夫々異なるNMカード400と、第2ブロック402の上段に装着された夫々異なるNMカード400と、に接続される。また、紙面左側の3枚のCUカード600が有する各第2のプロセッサ602は、第1ブロック401の下段に装着された夫々異なるNMカード400と、第2ブロック402の下段に装着された夫々異なるNMカード400と、に接続される。
 紙面右側の3枚のCUカード600が有する各第1のプロセッサ601は、第1ブロック401の上段に装着された夫々異なるNMカード400と、第2ブロック402の上段に装着された夫々異なるNMカード400と、の両方に接続される。また、紙面右側の3枚のCUカード600が有する各第2のプロセッサ602は、第1ブロック401の下段に装着された夫々異なるNMカード400と、第2ブロック402の下段に装着された夫々異なるNMカード400と、の両方に接続される。
 このように、各CUカード600は、第1ブロック401に属するNMカード400と第2ブロック402に属するNMカードの両方に接続される。これにより、第1ブロック401および第2ブロック402の何れか一方にしかNMカード400が装着されない場合であっても、各CUカード600は、装着されているNMカード400に対してCU11としての機能を発揮することが可能となる。また、第1ブロック401および第2ブロック402の両方にNMカード400が装着されているか否かにかかわらず、1~6のうちの任意の数のCUカード600を装着した状態で運用することが可能となる。
 なお、次に説明するようにMMカード700は第1ブロック401に属する1つのNMカード400にのみ接続されるので、エンクロージャ200は、少なくとも第1ブロック401にNMカード400が接続されている状態で運用される。MMカード700が第2ブロック402に属する任意のNMカード400に接続される場合には、エンクロージャ200は、第2ブロック402にのみNMカード400が装着されている状態での運用が可能である。
 MMカード700は、1本のPCIeインタフェース714を備える。MMカード700は、PCIeインタフェース714が使用されることにより、1つのNMカード400に接続される。ここでは、NMカード400においては、第2のFPGA404が有するPCIeインタフェース418がMMカード700との接続に使用される。また、MMカード700は、第1ブロック401の上段の最も左側に装着されたNMカード400に接続される。MMカード700は、PCIeインタフェース714を介してパケットを送受信することができる。
 図21は、CUカード600とMMカード700との間の接続関係を示す図である。ここでは、I2Cインタフェースによる接続の図示を省略し、イーサネット規格に準拠するインタフェースによる接続関係を示す。図21に示す接続関係は、各カード内の配線とバックプレーン300に形成された配線とによって実現する。
 MMカード700は、イーサネット規格に準拠する12本のインタフェース710を備えている。また、各CUカード600は、イーサネット規格に準拠する2本のインタフェース607を備えている。MMカード700は、CUカード600毎に2本のインタフェース710が使用されることにより、6枚のCUカード600と接続される。
 次に、記憶部10をスケールアウトするための接続例を説明する。
 1つのエンクロージャ200が備える2つのストレージシステム1を用いて1つの記憶部10を構築するための接続例(第1接続例)を説明する。複数のストレージシステム1を互いに識別するために、各ストレージシステム1の符号の末尾にアルファベットを付すこととする。
 図22は、第1接続例において使用されるコネクタ群を示す図である。図23は、第1接続例による具体的な接続関係を示す図である。図24は、第1接続例によって論理的に構築される記憶部10を示す図である。
 図22に示すように、第1接続例においては、1つのエンクロージャ200が備える2つのストレージシステム1のうちの一(ストレージシステム1a)が備えるコネクタ206と、他(ストレージシステム1b)が備えるコネクタ206と、の間で相互に接続される。具体的には、図23に示すように、ストレージシステム1aが備えるコネクタ507aと、ストレージシステム1bが備えるコネクタ508aとが接続される。また、ストレージシステム1aが備えるコネクタ507bと、ストレージシステム1bが備えるコネクタ508bとが接続される。これらの接続により、ストレージシステム1aが備える記憶部10の「Y+」方向にストレージシステム1bが備える記憶部10が接続される。即ち、各ストレージシステム1a、1bの記憶部10が統合されて、図24に示すような新たな1つの記憶部10が論理的に構成される。新たな記憶部10は、X方向に6枚のNMカード400が配列され、Y方向に8枚のNMカード400が配列されて構成される。
 第1接続例においてはY方向に2つの記憶部10が接続されたが、2つの記憶部10をX方向に接続することも可能である。図25は、第2接続例による具体的な接続関係を示す図である。図26は、第2接続例によって論理的に構築される記憶部10を示す図である。
 図25に示すように、第2接続例においては、ストレージシステム1aが備えるコネクタ505aとストレージシステム1bが備えるコネクタ506aとが接続される。また、ストレージシステム1aが備えるコネクタ505bとストレージシステム1bが備えるコネクタ506bとが接続される。これらの接続により、ストレージシステム1aが備える記憶部10の「X+」方向にストレージシステム1bが備える記憶部10が接続される。即ち、図26に示すように、各ストレージシステム1a、1bの記憶部10は統合されて、X方向に12枚のNMカード400が配列され、Y方向に4枚のNMカード400が配列されて構成される、新たな1つの記憶部10が、論理的に構築される。
 このように、一のストレージシステム1aの「X+」方向のコネクタ505と、他のストレージシステム1bの「X-」方向のコネクタ506と、を相互に接続することによって、記憶部10の規模をX方向に拡張することができる。また、一のストレージシステム1aの「Y+」方向のコネクタ507と、他のストレージシステム1bの「Y-」方向のコネクタ508と、を相互に接続することによって、記憶部10の規模をY方向に拡張することができる。
 さらに、複数のエンクロージャ200を用いて記憶部10を拡張することが可能である。2つのエンクロージャ200が備える合計4つのストレージシステム1を用いて1つの記憶部10を構築するための接続例である第3接続例を説明する。2つのエンクロージャ200を夫々識別するために、2つのエンクロージャ200の符号の末尾に夫々異なるアルファベットを付すこととする。
 図27は、第3接続例において使用されるコネクタ群を示す図である。図28は、第3接続例による具体的な接続関係を示す図である。図29は、第3接続例によって論理的に構築される記憶部10を示す図である。
 図27に示すように、第3接続例においては、1つのエンクロージャ200(エンクロージャ200a)が備えるストレージシステム1a、1bと、他のエンクロージャ200(エンクロージャ200b)が備えるストレージシステム1c、1dと、の間で、コネクタ206を介して接続される。より詳しくは、ストレージシステム1a、1dは、ストレージシステム1bおよびストレージシステム1cと接続される。
 図28に示すようにコネクタ間が接続される。即ち、ストレージシステム1aが備えるコネクタ505aとストレージシステム1bが備えるコネクタ506aとが接続される。また、ストレージシステム1aが備えるコネクタ505bとストレージシステム1bが備えるコネクタ506bとが接続される。また、ストレージシステム1aが備えるコネクタ507aと、ストレージシステム1cが備えるコネクタ508aとが接続される。また、ストレージシステム1aが備えるコネクタ507bと、ストレージシステム1cが備えるコネクタ508bとが接続される。また、ストレージシステム1cが備えるコネクタ505aとストレージシステム1dが備えるコネクタ506aとが接続される。また、ストレージシステム1cが備えるコネクタ505bとストレージシステム1bが備えるコネクタ506bとが接続される。また、ストレージシステム1bが備えるコネクタ507aと、ストレージシステム1dが備えるコネクタ508aとが接続される。また、ストレージシステム1bが備えるコネクタ507bと、ストレージシステム1dが備えるコネクタ508bとが接続される。
 図29に示すように、ストレージシステム1a~1dが備える記憶部10は統合されて、X方向に12枚のNMカード400が配列され、Y方向に8枚のNMカード400が配列されて構成される、1つの新たな記憶部10が、論理的に構築される。
 このように、複数のエンクロージャ200を用いて記憶部10の規模をX方向およびY方向の両方に拡張することが可能である。なお、ストレージシステム1a~1dを用いてX方向のみに拡張することも可能である。また、ストレージシステム1a~1dを用いてY方向のみに拡張することも可能である。なお、ここでは2台のエンクロージャ200を用いて記憶部10の規模が拡張される例を示したが、3台以上のエンクロージャ200を用いて記憶部10の規模が拡張されることも可能である。
 NM14が2次元的に配置される場合には、対辺に位置するNM14同士を接続することによって、NM14をトーラス状に接続するようにしてもよい。図30は、トーラス状の接続関係を示す図である。図30で示した例では、NM14間は、実線で示す配線と点線で示す配線とで互いに接続されている。点線で示す配線は、実線で示す配線と等価である。このような場合、ノードアドレスのX座標値が増加する方向にルーティングするか減少する方向にルーティングするか、および/または、ノードアドレスのY座標値が増加する方向にルーティングするか減少する方向にルーティングするか、に応じて、複数の方向にルーティングすることが可能である。例えば、ノード(2、0)を送り元とし、メモリノード(2、2)を宛先とするパケットは、Y座標値が増加する方向にルーティングされる場合には、例えば、ノードアドレスが(2、0)、(2、1)、(2、2)のNM14をこの順番で転送される。また、このパケットは、Y座標値が減少する方向にルーティングされる場合には、例えば、ノードアドレスが(2、0)、(2、3)、(2、2)のNM14をこの順番で転送される。このように、記憶部10を構成する複数のNM14がトーラス状に接続される場合、宛先までの経路が増加するので、ストレージシステム1全体のスループットが向上する。以下、トーラス状の接続を実現するためのコネクタ間の接続例を説明する。
 図31は、第4接続例による具体的な接続関係を示す図である。第4接続例は、1つのストレージシステム1aのみでトーラス状の接続を実現する接続例である。図示するように、コネクタ505aとコネクタ506aとが接続される。また、コネクタ505bとコネクタ506bとが接続される。また、コネクタ507aとコネクタ508aとが接続される。また、コネクタ507bとコネクタ508bとが接続される。これにより、1つのストレージシステム1aが有する記憶部10のみによってトーラス状の接続が実現する。
 図32は、第5接続例による具体的な接続関係を示す図である。第5接続例は、2つのストレージシステム1a、1bによりトーラス状の接続を実現する接続例である。第5接続例は、第2接続例と同様のコネクタ間の接続に加えて次のように接続することによって、実現される。即ち、ストレージシステム1aのコネクタ506aと、ストレージシステム1bのコネクタ505aとが接続される。また、ストレージシステム1aのコネクタ506bと、ストレージシステム1bのコネクタ505bとが接続される。また、ストレージシステム1a、ストレージシステム1bの夫々において、コネクタ507aとコネクタ508aとが接続され、コネクタ507bとコネクタ508bとが接続される。
 図33は、第6接続例による具体的な接続関係を示す図である。第6接続例は、4つのストレージシステム1a、1b、1c、1dによりトーラス状の接続を実現する接続例である。第6接続例は、第3接続例と同様のコネクタ間の接続に加えて次のように接続することによって、実現される。即ち、ストレージシステム1aのコネクタ506aと、ストレージシステム1bのコネクタ505aとが接続される。また、ストレージシステム1aのコネクタ506bと、ストレージシステム1bのコネクタ505bとが接続される。また、ストレージシステム1cのコネクタ506aと、ストレージシステム1dのコネクタ505aとが接続される。また、ストレージシステム1cのコネクタ506bと、ストレージシステム1dのコネクタ505bとが接続される。また、ストレージシステム1aのコネクタ508aと、ストレージシステム1cのコネクタ507aとが接続される。また、ストレージシステム1aのコネクタ508bと、ストレージシステム1cのコネクタ507bとが接続される。また、ストレージシステム1bのコネクタ508aと、ストレージシステム1dのコネクタ507aとが接続される。また、ストレージシステム1bのコネクタ508bと、ストレージシステム1dのコネクタ507bとが接続される。
 このように、第1の実施形態においては、ストレージシステム1は記憶部10に接続されるI/F部12を有し、当該I/F部12は、他のストレージシステム1が有するI/F部12と接続される。この構成により、記憶部10を拡張することが可能である。即ち、ストレージシステム1は、容易に記憶部10のスケールアウトを行うことが可能である。
 さらに、前述のように、LVDSインタフェース419は、オッドグループとイーブングループとに分類される。バックプレーン300に装着される2枚のI/Fカード500のうちの一方は、オッドグループの端子だけを集めたものであり、他方は、イーブングループの端子だけを集めたものである。これにより、2枚のI/Fカード500のうちの何れか一方が故障した場合であっても、外部との接続が故障していない他方のI/Fカード500を介して維持される。なお、ここでは、LVDSインタフェース419は、オッドグループとイーブングループとの2種類に分類されるとして説明したが、3種類以上に分類され、各種類の端子が夫々別々のI/Fカード500に集められて構成されてもよい。
(第2の実施形態)
 第1の実施形態においては、エンクロージャ200に収容されたストレージシステム1は、外部からの要求をCU11において受け付けられて解釈される。第2の実施形態においては、エンクロージャ200は、CU11を省略して構成され、外部から直接に記憶部10にケーブル接続することが可能である。
 図34は、第2の実施形態のエンクロージャ200の背面図を示す図である。図35は、第2の実施形態のCUカード600の構成を示すブロック図である。第2の実施形態においては、CUカード600の構成が第1の実施形態と異なる。CUカード600は、PCIe規格に準拠するケーブルコネクタであるコネクタ208を備え、複数のCUカード600がバックプレーン300に装着されることによりコネクタ208がエンクロージャ200の背面部に配列される。
 また、CUカード600は、スイッチ620およびコネクタ611を備える。スイッチ620は、4本のPCIeインタフェース621でコネクタ611に接続され、1本のPCIeインタフェース622でコネクタ208に接続される。スイッチ620は、4本のPCIeインタフェース621を1本のPCIeインタフェース622に束ねる。4本のPCIeインタフェース621は、コネクタ611およびバックプレーン300を介して夫々異なるNMカード400に接続される。
 図36は、第2の実施形態のエンクロージャ200の、使用形態の一例を示す図である。エンクロージャ200は、3つのPCサーバ4から夫々異なるコネクタ208に接続されている。各コネクタ208は、夫々異なるPCサーバ4と一対一に接続される。
 なお、エンクロージャ200とPCサーバ4との間の通信規格は、PCサーバ4の内部のバスをPCサーバ4の外部にケーブリングにより拡張することが可能な規格であれば、任意の規格が採用可能である。
 一般に、複数のコンピュータと1つの記憶装置とがバス型のネットワークで接続される場合には、複数のコンピュータからの記憶装置に対するアクセスが衝突することにより全体の性能が低下するという問題(いわゆるフォン・ノイマン・ボトルネック)が発生する。第2の実施形態によれば、複数のPCサーバ4が夫々異なるコネクタ208を介して記憶部10に対して接続されることが可能であり、かつ、記憶部10はデータ転送機能を有する複数のNM14がメッシュネットワークにより接続された構成を有するので、仮に複数のPCサーバ4が1つのNM14に対してアクセスする事態が発生したとしても、そのNM14への複数の経路にアクセスが分散される。その結果、第2の実施形態によれば、アクセスの衝突に起因する性能低下が起こりにくい。
 また、第2の実施形態によれば、外部のPCサーバ4は、記憶部10に対して直接にパケットを送信することができるので、外部のPCサーバ4上でサーバアプリケーションプログラムを実行する構成を採用することが可能となる。サーバアプリケーションプログラムの演算コストが高い場合であっても、その演算コストにフィットした外部のPCサーバ4を用意することができる。
 本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。

Claims (11)

  1.  第1記憶部および複数の第2記憶部を備える記憶部グループを備え、
     前記第1記憶部と、前記複数の第2記憶部とは、其々互いにデータ転送可能に接続され、
     前記複数の第2記憶部は、同一の第1基板上に実装され、
     前記複数の第2記憶部のうちの一の第2記憶部は、前記第1記憶部と連携し、かつ、前記複数の第2記憶部のうちの他の第2記憶部と連携しない、
     ことを特徴とするストレージシステム。
  2.  前記記憶部グループは、第3記憶部を更に備え、
     前記第3記憶部は、前記他の第2記憶部のうちの1つと連携する、
     ことを特徴とする請求項1に記載のストレージシステム。
  3.  前記第1記憶部と、前記第3記憶部とは、前記第1基板と異なる、其々同一の第2基板に実装され、前記第2基板は着脱可能であって、
     前記一の第2記憶部は、前記第1記憶部が格納されるデータを復旧するためのデータが格納される、
     ことを特徴とする請求項2に記載のストレージシステム。
  4.  外部のコンピュータと前記記憶部グループとを接続する複数の接続部と、
     前記記憶部グループと前記複数の接続部とを制御可能な第1制御部と、
     電源部と、
     ファンと、
     を更に備え、
     前記第1制御部は、環境温度の監視、前記ファンの回転数の監視および制御、前記電源部が各部に供給する電流および電圧の監視、各接続部のステータスの記録、各接続部の温度の監視、ならびに、各制御部の暴走時のリセット、の何れか少なくとも1つを実行する、
     ことを特徴とする請求項1に記載のストレージシステム。
  5.  前記第1記憶部、前記複数の第2記憶部、及び前記第3記憶部は、其々第2制御部を有し、
     前記第2制御部は、前記記憶部グループ内でのデータ転送ルートを其々決定する、
     ことを特徴とする請求項2に記載のストレージシステム。
  6.  前記第1記憶部、前記複数の第2記憶部、及び前記第3記憶部は、其々不揮発性メモリを備え、
     前記第1制御部は、前記第1記憶部、前記複数の第2記憶部、及び前記第3記憶部の夫々が備える不揮発性メモリの管理を実行する、
     ことを特徴とする請求項4に記載のストレージシステム。
  7.  前記第1制御部は、前記第2基板の交換通知と、前記第2基板の交換後の連携のリビルドと、を実行する、
     ことを特徴とする請求項4に記載のストレージシステム。
  8.  2つのストレージを備え、
     前記2つのストレージの夫々は、
     夫々互いにデータ転送可能に接続された複数の記憶部を備える記憶部グループと、
     前記記憶部グループに接続された接続部と、
     を備え、
     前記2つのストレージは、前記接続部を介して互いに接続される、
     ことを特徴とするストレージシステム。
  9.  前記記憶部グループが備える複数の記憶部は、第1記憶部および複数の第2記憶部を備え、
     前記複数の第2記憶部は、同一の第1基板上に実装され、
     前記複数の第2記憶部のうちの一の第2記憶部は、前記第1記憶部と連携し、かつ、前記複数の第2記憶部のうちの他の第2記憶部と連携しない、
     ことを特徴とする請求項8に記載のストレージシステム。
  10.  前記記憶部グループは、第3記憶部を更に備え、
     前記第3記憶部は、前記他の第2記憶部のうちの1つと連携する、
     ことを特徴とする請求項9に記載のストレージシステム。
  11.  前記第1記憶部と、前記第3記憶部とは、前記第1基板と異なる、其々同一の第2基板に実装され、前記第2基板は着脱可能であって、
     前記一の第2記憶部は、前記第1記憶部が格納されるデータを復旧するためのデータが格納される、
     ことを特徴とする請求項10に記載のストレージシステム。
PCT/JP2014/056962 2013-12-27 2014-03-14 ストレージシステム WO2015098138A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/408,120 US9891841B2 (en) 2013-12-27 2014-03-14 Storage system including a plurality of memory nodes connected through first and second groups of interfaces

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013272300A JP5659289B1 (ja) 2013-12-27 2013-12-27 ストレージシステム
JP2013-272300 2013-12-27

Publications (1)

Publication Number Publication Date
WO2015098138A1 true WO2015098138A1 (ja) 2015-07-02

Family

ID=52437492

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/056962 WO2015098138A1 (ja) 2013-12-27 2014-03-14 ストレージシステム

Country Status (3)

Country Link
US (1) US9891841B2 (ja)
JP (1) JP5659289B1 (ja)
WO (1) WO2015098138A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6313237B2 (ja) 2015-02-04 2018-04-18 東芝メモリ株式会社 ストレージシステム
JP6342351B2 (ja) * 2015-03-02 2018-06-13 東芝メモリ株式会社 ストレージシステム
JP2018156594A (ja) * 2017-03-21 2018-10-04 東芝メモリ株式会社 ストレージシステムおよび処理方法
US11710531B2 (en) * 2019-12-30 2023-07-25 Micron Technology, Inc. Memory redundancy repair

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784876A (ja) * 1993-09-07 1995-03-31 At & T Global Inf Solutions Internatl Inc データ記憶装置のマトリックス構造
JPH09297663A (ja) * 1996-05-08 1997-11-18 Ekushingu:Kk ディスクアレイ装置
JP2004272527A (ja) * 2003-03-07 2004-09-30 Hitachi Ltd ディスクアレイ装置および障害回復制御方法
JP2007219846A (ja) * 2006-02-16 2007-08-30 Fuji Xerox Co Ltd 半導体ディスク装置の異常監視・記録方法、プログラム、半導体ディスク装置、および記憶システム
JP2012103926A (ja) * 2010-11-10 2012-05-31 Toshiba Corp 転送機能を有するメモリノードを相互に接続したストレージ装置及びデータ処理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7308524B2 (en) * 2003-01-13 2007-12-11 Silicon Pipe, Inc Memory chain
JP2006065697A (ja) * 2004-08-27 2006-03-09 Hitachi Ltd 記憶デバイス制御装置
US7827345B2 (en) * 2005-08-04 2010-11-02 Joel Henry Hinrichs Serially interfaced random access memory
US7562271B2 (en) 2005-09-26 2009-07-14 Rambus Inc. Memory system topologies including a buffer device and an integrated circuit memory device
US8234235B2 (en) * 2008-03-25 2012-07-31 Fuhu Holdings, Inc. Security and remote support apparatus, system and method
US8738962B2 (en) * 2010-11-17 2014-05-27 International Business Machines Corporation Memory mirroring with memory compression
WO2013132532A1 (en) * 2012-03-06 2013-09-12 Hitachi, Ltd. Semiconductor storage device having nonvolatile semiconductor memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784876A (ja) * 1993-09-07 1995-03-31 At & T Global Inf Solutions Internatl Inc データ記憶装置のマトリックス構造
JPH09297663A (ja) * 1996-05-08 1997-11-18 Ekushingu:Kk ディスクアレイ装置
JP2004272527A (ja) * 2003-03-07 2004-09-30 Hitachi Ltd ディスクアレイ装置および障害回復制御方法
JP2007219846A (ja) * 2006-02-16 2007-08-30 Fuji Xerox Co Ltd 半導体ディスク装置の異常監視・記録方法、プログラム、半導体ディスク装置、および記憶システム
JP2012103926A (ja) * 2010-11-10 2012-05-31 Toshiba Corp 転送機能を有するメモリノードを相互に接続したストレージ装置及びデータ処理方法

Also Published As

Publication number Publication date
JP2015125763A (ja) 2015-07-06
US20150293710A1 (en) 2015-10-15
JP5659289B1 (ja) 2015-01-28
US9891841B2 (en) 2018-02-13

Similar Documents

Publication Publication Date Title
US20180024775A1 (en) Technologies for storage block virtualization for non-volatile memory over fabrics
KR101604962B1 (ko) 큰 확장성 프로세서 설치에 있어서 유연한 저장 및 네트워크 프로비저닝을 위한 시스템 및 방법
JP2016162458A (ja) モジュール型不揮発性フラッシュメモリブレード及びその動作方法
JP5985403B2 (ja) ストレージ装置
US9176799B2 (en) Hop-by-hop error detection in a server system
US9547610B2 (en) Hybrid memory blade
US20150036681A1 (en) Pass-through routing at input/output nodes of a cluster server
JP5659289B1 (ja) ストレージシステム
US10545901B2 (en) Memory card expansion
JP2017531856A (ja) アクティブストレージユニットおよびアレイ
US20190243796A1 (en) Data storage module and modular storage system including one or more data storage modules
US9939863B2 (en) Power control system and storage system
US10346083B2 (en) Storage system and control method thereof
US10558603B2 (en) Storage system including a plurality of storage devices arranged in a holder
US9645760B2 (en) Storage system and control method thereof
US10389808B2 (en) Storage system and control method thereof

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 14408120

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14874885

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14874885

Country of ref document: EP

Kind code of ref document: A1