JP5223629B2 - Storage device and storage system - Google Patents
Storage device and storage system Download PDFInfo
- Publication number
- JP5223629B2 JP5223629B2 JP2008304777A JP2008304777A JP5223629B2 JP 5223629 B2 JP5223629 B2 JP 5223629B2 JP 2008304777 A JP2008304777 A JP 2008304777A JP 2008304777 A JP2008304777 A JP 2008304777A JP 5223629 B2 JP5223629 B2 JP 5223629B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- control unit
- storage
- parity
- 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.)
- Expired - Fee Related
Links
- 230000003287 optical effect Effects 0.000 claims description 83
- 230000005540 biological transmission Effects 0.000 claims description 45
- 238000012937 correction Methods 0.000 claims description 23
- 238000001514 detection method Methods 0.000 claims description 17
- 230000015654 memory Effects 0.000 description 103
- 238000006243 chemical reaction Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 238000000034 method Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 14
- 239000013307 optical fiber Substances 0.000 description 12
- 238000009826 distribution Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 239000004417 polycarbonate Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004033 plastic Substances 0.000 description 1
- 229920003023 plastic Polymers 0.000 description 1
- 229920003229 poly(methyl methacrylate) Polymers 0.000 description 1
- 229920000515 polycarbonate Polymers 0.000 description 1
- 239000004926 polymethyl methacrylate Substances 0.000 description 1
- 229920000098 polyolefin Polymers 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Description
本発明は、記憶装置及び記憶システムに関する。 The present invention relates to a storage device and a storage system.
従来、入力されたデータのパリティを演算し、そのデータ及びパリティを異なる記憶手段に記憶させるディスクアレイ装置が知られている(例えば、特許文献1参照)。 2. Description of the Related Art Conventionally, a disk array device is known that calculates the parity of input data and stores the data and parity in different storage means (see, for example, Patent Document 1).
このディスクアレイ装置は、入力されたデータを受信して一旦記憶すると共に、記憶したデータをデータ伝送手段に入力する複数のメモリと、複数のメモリの各々に対となるように設けられ、対となるメモリが記憶したデータと同一のデータからエラー訂正情報を生成すると共に、生成したエラー訂正情報をデータ伝送手段に入力する複数のエラー訂正情報生成手段と、メモリからのデータ、及び該メモリと対となるエラー訂正情報生成手段からのエラー訂正情報をデータ伝送手段を介して受信し、メモリからのデータ、及び該メモリと対となるエラー訂正情報生成手段からのエラー訂正情報をそれぞれ異なる記憶手段に振り分けて記憶させる記憶制御手段とを備える。 The disk array device is provided to receive and temporarily store input data, and to provide a plurality of memories for inputting the stored data to the data transmission means, and to be paired with each of the plurality of memories. The error correction information is generated from the same data as the data stored in the memory, and a plurality of error correction information generation means for inputting the generated error correction information to the data transmission means, the data from the memory, and the memory The error correction information from the error correction information generating means is received via the data transmission means, and the data from the memory and the error correction information from the error correction information generating means paired with the memory are stored in different storage means. Storage control means for sorting and storing.
また、一般的にRAID5を採用する記憶装置では、データの書き込み時に記憶済みのパリティ及びデータを読み出し、その読み出したパリティ及びデータに基づいてパリティの演算を行ってからデータを書き込む必要があるため、書き込み速度が遅くなる。
本発明の目的は、本構成を有していない場合に比較して、上位装置に負荷をかけることなく、データの書き込み速度を向上することができる記憶装置及び記憶システムを提供することにある。 An object of the present invention is to provide a storage device and a storage system capable of improving the data writing speed without imposing a load on the host device as compared with the case where the present configuration is not provided.
本発明は、上記目的を達成するため、以下の記憶装置及び記憶システムを提供する。 In order to achieve the above object, the present invention provides the following storage device and storage system.
[1]上位装置との間でデータの送受信を行う第1の制御部と、前記第1の制御部から下り方向にデータの一括伝送が可能な光伝送路を介して前記第1の制御部に接続された複数の第2の制御部と、前記複数の第2の制御部に各々接続され、前記データを記憶する複数の記憶部とを備え、前記第1の制御部は、前記上位装置から受信したデータをデータ列に分割し、前記データ列を前記複数の第2の制御部に前記光伝送路を介して一括伝送し、前記複数の第2の制御部は、前記第1の制御部から一括伝送された前記データ列を受信したとき、前記データ列に基づいてパリティ情報を算出するパリティ算出部と、少なくとも1つの第2の制御部が前記パリティ情報を対応する前記記憶部に書き込むように前記データ列毎に前記記憶部にパリティ情報を書き込むか否かを決定する決定部とを有し、前記決定部によりパリティ情報を前記記憶部に書き込むと決定されたとき、前記パリティ算出部により算出されたパリティ情報を対応する前記記憶部に書き込み、前記決定部によりパリティ情報を前記記憶部に書き込むと決定されなかったとき、前記データ列を対応する前記記憶部に書き込む記憶装置。 [1] A first control unit that transmits and receives data to and from a higher-level device, and the first control unit via an optical transmission line that allows collective transmission of data in the downstream direction from the first control unit. A plurality of second control units connected to the plurality of second control units, and a plurality of storage units connected to the plurality of second control units and storing the data, wherein the first control unit The data received from is divided into data strings, and the data strings are collectively transmitted to the plurality of second control units via the optical transmission path, and the plurality of second control units are configured to perform the first control. A parity calculation unit that calculates parity information based on the data sequence and at least one second control unit writes the parity information in the corresponding storage unit As shown in FIG. A determination unit that determines whether or not to write information, and when the determination unit determines to write parity information to the storage unit, the storage unit corresponding to the parity information calculated by the parity calculation unit A storage device that writes the data string to the corresponding storage unit when it is not determined that the parity information is written to the storage unit by the determination unit.
[2]前記決定部は、前記データ列に含まれる情報に基づいて、少なくとも1つの第2の制御部が前記パリティ情報を対応する前記記憶部に書き込むように前記データ列毎に決定する前記[1]に記載の記憶装置。 [2] The determination unit determines, for each data string, based on information included in the data string, so that at least one second control unit writes the parity information in the corresponding storage unit . 1].
[3]前記決定部は、前記データ列の書き込み先として指定された番地情報に基づいて、少なくとも1つの第2の制御部が前記パリティ情報を書き込むように前記データ列毎に決定する前記[1]に記載の記憶装置。 [3] The determination unit determines, for each data string, at least one second control unit to write the parity information based on address information specified as a write destination of the data string. ] The memory | storage device as described in.
[4]前記第1の制御部は、前記複数の第2の制御部から前記複数の記憶部に記憶された前記パリティ情報及び前記データ列を受信したとき、前記パリティ情報を用いて前記データ列の誤り検出を行う前記[1]に記載の記憶装置。 [4] When the first control unit receives the parity information and the data sequence stored in the plurality of storage units from the plurality of second control units, the first control unit uses the parity information to generate the data sequence. The storage device according to [1], wherein error detection is performed.
[5]前記第1の制御部は、前記複数の分割データのうち誤りのある分割データを検出する検出手段を有し、前記検出手段により前記誤りのある分割データを検出した場合には、前記パリティ情報及び誤りのない分割データを用いて前記誤りのある分割データの誤り訂正を行う請求項1に記載の記憶装置。
[5] The first control unit has detection means for detecting divided data having errors among the plurality of divided data, and when the detected divided data is detected by the detecting means, The storage device according to
[6]さらに、前記複数の記憶部と、前記複数の記憶部に各々接続された前記複数の第2の制御部とを対にして電源をそれぞれ供給する複数の電源供給部を備えた前記[1]に記載の記憶装置。 [6] The above apparatus further includes a plurality of power supply units that respectively supply power by pairing the plurality of storage units and the plurality of second control units connected to the plurality of storage units. 1].
[7]上位装置と、前記上位装置との間でデータの送受信を行う第1の制御部、前記第1の制御部から下り方向にデータの一括伝送が可能な光伝送路を介して前記第1の制御部に接続された複数の第2の制御部、及び前記複数の第2の制御部に各々接続され、前記データを記憶する複数の記憶部とを有し、前記第1の制御部は、前記上位装置から受信したデータをデータ列に分割し、前記データ列を前記複数の第2の制御部に前記光伝送路を介して一括伝送し、前記複数の第2の制御部は、前記第1の制御部から一括伝送された前記データ列を受信したとき、前記データ列に基づいてパリティ情報を算出するパリティ算出部と、少なくとも1つの第2の制御部が前記パリティ情報を対応する前記記憶部に書き込むように前記データ列毎に前記記憶部にパリティ情報を書き込むか否かを決定する決定部とを有し、前記決定部によりパリティ情報を前記記憶部に書き込むと決定されたとき、前記パリティ算出部により算出されたパリティ情報を対応する前記記憶部に書き込み、前記決定部によりパリティ情報を前記記憶部に書き込むと決定されなかったとき、前記データ列を対応する前記複数の記憶部に書き込む記憶装置とを備えた記憶システム。 [7] A first control unit that transmits and receives data between the host device and the host device, and the first control unit via the optical transmission path capable of batch transmission of data in the downstream direction from the first control unit. A plurality of second control units connected to one control unit, and a plurality of storage units connected to the plurality of second control units, respectively, for storing the data, the first control unit Divides the data received from the higher-level device into data strings, and transmits the data strings to the plurality of second control units through the optical transmission line, and the plurality of second control units includes: When the data sequence transmitted in batch from the first control unit is received, a parity calculation unit that calculates parity information based on the data sequence and at least one second control unit correspond to the parity information. For each data string, the data is written in the storage unit. A determination unit that determines whether or not to write parity information in the storage unit, and corresponds to the parity information calculated by the parity calculation unit when the determination unit determines to write the parity information to the storage unit. And a storage device that writes the data string to the corresponding storage units when it is not determined to write parity information to the storage unit by the determination unit .
請求項1,7に係る発明によれば、本構成を有していない場合に比較して、上位装置に負荷をかけることなく、データの書き込み速度を向上することができる。 According to the first and seventh aspects of the invention, the data writing speed can be improved without imposing a load on the host device, as compared with the case where the present configuration is not provided.
請求項2に係る発明によれば、パリティ情報を分散して記憶部に記憶することができる。
According to the invention of
請求項3に係る発明によれば、本構成を有していない場合に比較して、複数の第2の制御部を簡便な構成で実現することができる。
According to the invention which concerns on
請求項4に係る発明によれば、本構成を有していない場合に比較して、誤り検出に伴う上位装置の負荷を低減することができる。 According to the invention which concerns on Claim 4, compared with the case where it does not have this structure, the load of the high-order apparatus accompanying an error detection can be reduced.
請求項5に係る発明によれば、パリティ情報により分割データの誤り訂正を可能にすることができる。 According to the invention which concerns on Claim 5, the error correction of division | segmentation data can be enabled by parity information.
請求項6に係る発明によれば、1つの電源供給部が故障した場合でも、他の記憶部に記憶されたデータから元のデータを復元することができる。 According to the invention which concerns on Claim 6, even when one power supply part fails, the original data can be decompress | restored from the data memorize | stored in the other memory | storage part.
本実施の形態に係る記憶装置は、上位装置との間でデータの送受信を行う第1の制御部と、前記第1の制御部から下り方向にデータの一括伝送が可能な光伝送路を介して前記第1の制御部に接続された複数の第2の制御部と、前記複数の第2の制御部に各々接続され、前記データを記憶する複数の記憶部とを備え、前記第1の制御部は、前記上位装置から受信したデータをデータ列に分割し、前記データ列を前記複数の第2の制御部に前記光伝送路を介して一括伝送し、前記複数の第2の制御部は、前記第1の制御部から一括伝送された前記データ列を受信したとき、前記データ列に基づいてパリティ情報を算出するパリティ算出部と、少なくとも1つの第2の制御部が前記パリティ情報を対応する前記記憶部に書き込むように前記データ列毎に前記記憶部にパリティ情報を書き込むか否かを決定する決定部とを有し、前記決定部によりパリティ情報を前記記憶部に書き込むと決定されたとき、前記パリティ算出部により算出されたパリティ情報を対応する前記記憶部に書き込み、前記決定部によりパリティ情報を前記記憶部に書き込むと決定されなかったとき、前記データ列を対応する前記複数の記憶部に書き込む。 The storage device according to the present embodiment includes a first control unit that transmits and receives data to and from a higher-level device, and an optical transmission path that can perform batch transmission of data from the first control unit in the downlink direction. A plurality of second control units connected to the first control unit, and a plurality of storage units respectively connected to the plurality of second control units and storing the data , The control unit divides the data received from the higher-level device into data strings, and transmits the data string to the plurality of second control units through the optical transmission line, and the plurality of second control units A parity calculation unit that calculates parity information based on the data sequence when receiving the data sequence that is collectively transmitted from the first control unit, and at least one second control unit receives the parity information. The data string to be written to the corresponding storage unit The parity information calculated by the parity calculation unit when the determination unit determines to write the parity information to the storage unit. Is written in the corresponding storage unit, and when the determination unit does not determine that the parity information is written in the storage unit, the data string is written in the corresponding storage unit.
上記構成において、複数の第2の制御部の各々は、光伝送路を介して一括伝送されたデータ列を受信すると、パリティ及びデータのいずれかを選択し、自己に接続された記憶部に並列的に書き込む。すなわち、パリティの算出、データの選択、パリティ又はデータの記憶部への書き込み等の処理が、データ列の受信側である複数の第2の制御部によって並列的に行われる。また、第2の制御部によりパリティが算出されるので、上位装置でパリティを算出する必要がなく、上位装置の負荷が低減される。 In the above configuration, when each of the plurality of second control units receives a data string that is collectively transmitted via the optical transmission path, it selects either parity or data and is parallel to the storage unit connected to itself. To write. That is, processing such as calculation of parity, selection of data, and writing of parity or data to the storage unit is performed in parallel by a plurality of second control units on the data string receiving side. Further, since the parity is calculated by the second control unit, it is not necessary to calculate the parity in the host device, and the load on the host device is reduced.
[第1の実施の形態]
図1は、本発明の第1の実施の形態に係る記憶システムの概略構成の一例を示すブロック図である。この記憶システム100は、記憶装置1がホスト装置(上位装置)2に接続されて構成されている。
[First Embodiment]
FIG. 1 is a block diagram showing an example of a schematic configuration of a storage system according to the first embodiment of the present invention. The storage system 100 is configured by connecting a
(ホスト装置)
ホスト装置2は、データの書き込みや読み出し等を記憶装置1に要求する。このようなホスト装置2は、例えば、サーバ、コンピュータ(PC)、ワークステーション(WS)等で構成されている。
(Host device)
The
ホスト装置2は、ケーブル101を介して記憶装置1に接続されており、ホスト装置2と記憶装置1との間は、例えば、シリアルATA、SAS、ファイバーチャネル、インフィニバンド、PCI Express、IDE、SCSI等のインターフェース規格に則っている。なお、ケーブル101は、光線路でもよいし、電気線路でもよい。また、ホスト装置2は、ローカルエリアネットワーク(LAN)やインターネット等の通信網に接続されるポートを備え、そのポートを介して他のホスト装置や端末装置に接続されていてもよい。
The
(記憶装置)
記憶装置1は、ホスト装置2との間でデータの送受信を行うホストブリッジ部(第1の制御部)11と、ホストブリッジ部11に後述する光分岐伝送路15及び光合波伝送路17等を介して接続された第1乃至第5のメモリコントローラ(第2の制御部)12A〜12Eと、第1乃至第5のメモリコントローラ12A〜12Eの各々に接続されて、512バイト等の所定のサイズを有するブロックデータ(データ列)単位でデータの書き込み及び読み出しが行われる第1乃至第5のメモリ(記憶部)13A〜13Eとを備える。
(Storage device)
The
また、記憶装置1は、ホストブリッジ部11から送られるデータとしての電気信号を光信号に変換するE/O14と、E/O14からの光信号を分岐して下り方向に一括伝送する光分岐伝送路15と、光分岐伝送路15により伝送された光信号を電気信号にそれぞれ変換し、その電気信号をデータとして第1乃至第5のメモリコントローラ12A〜12Eにそれぞれ送るO/E16A〜16Eと、第1乃至第5のメモリコントローラ12A〜12Eからそれぞれ送られるデータとしての電気信号を光信号に変換するE/O14A〜14Eと、E/O14A〜14Eからの複数の光信号を1つの光信号に合波して上り方向に一括伝送する光合波伝送路17と、光合波伝送路17により伝送された光信号を電気信号に変換し、その電気信号をデータとしてホストブリッジ部11に送るO/E16とを備える。
The
(E/O)
E/O14,14A〜14Eは、例えば、半導体レーザや発光ダイオード等により実現された発光素子と、発光素子を駆動する駆動回路とを備える。
(E / O)
The E /
(O/E)
O/E16,16A〜16Eは、半導体フォトダイオード等により実現された受光素子と、受光素子により受光した光信号から変換さされた電流を増幅する増幅回路とを備える。
(O / E)
Each of the O /
(光分岐伝送路)
光分岐伝送路15は、E/O14からの光信号を伝送する光ファイバ150Aと、光ファイバ150Aから入射された1つの光信号を5つの光信号に分岐する光分岐部151と、光分岐部151により分岐された5つの光信号をO/E16A〜16Eにそれぞれ伝送する光ファイバ150Bとから構成されている。
(Optical branch transmission line)
The optical branching transmission line 15 includes an
光分岐部151は、例えば、シート状光導波路(光シートバス)、光カプラ等により構成されている。シート状光導波路は、厚さが一様のシート状の透明媒質からなり、例えば、ポリメチルメタクリレート,ポリカーボネート,アモルファスポリオレフィン等のプラスチック材料や、無機ガラス等から形成されている。シート状光導波路は、光ファイバ150Aより入射された光を均一に拡散させて、5つの光ファイバ150Bに出射する。
The optical branching
(光合波伝送路)
光合波伝送路17は、E/O14A〜14Eからの5つの光信号をそれぞれ伝送する光ファイバ170Aと、光ファイバ170Aから入射された5つの光信号を1つの光信号に合波する光合波部171と、光合波部171により合波された1つの光信号をO/E16に伝送する光ファイバ170Bとから構成されている。
(Optical multiplexing transmission line)
The optical multiplexing transmission path 17 includes an
光合波部171は、光分岐部151の入射側と出射側を入れ替えたものであり、光分岐部151と同様に構成されている。
The
(メモリ)
第1乃至第5のメモリ13A〜13Eは、第1乃至第5のメモリコントローラ12A〜12Eを介してデータの書き込み及び読み出しが行われる記憶部である。このメモリ13A〜13Eには、例えば、DRAM等の揮発性の半導体メモリ、又はフラッシュメモリ等の不揮発性の半導体メモリが用いられる。また、第1乃至第5のメモリ13A〜13Eには、図示しない電源供給部より駆動電圧が供給されている。
(memory)
The first to
なお、メモリ13A〜13Eには、磁気によるハードディスクを用いてよいし、DVD等の光ディスクを用いてもよいし、他の記憶方式を用いてもよい。メモリ13A〜13Eとして半導体メモリを用いた場合には、ハードディスク等に比べてアクセス速度、故障耐性、消費電力等の面で有利である。
The
(ホストブリッジ部)
図2は、ホストブリッジ部の概略構成の一例を示すブロック図である。このホストブリッジ部11は、ホスト装置2に接続されて、ホスト装置2からの要求を受け付けるホストI/F(インターフェース)部110と、下り方向に順に設けられたパケットエンコーダ111、8B10Bエンコーダ112、ECCエンコーダ113及びトランスミッタ114と、上り方向に順に設けられたレシーバ115、ECCデコーダ116、8B10Bデコーダ117及びパケットデコーダ118とを備える。
(Host bridge part)
FIG. 2 is a block diagram illustrating an example of a schematic configuration of the host bridge unit. The
ホストブリッジ部11は、論理回路プログラムにより内部の論理回路を再構成可能な、例えば、FPGA(Field Programmable Gate Array)等から構成されている。
The
パケットエンコーダ111は、ホストI/F部110を介して受け付けたホスト装置2からの要求に応じて、下り方向に送信するパケットを生成する。ホスト装置2からの要求が書き込み要求の場合には、パケットは、例えば、書き込み先アドレスを含むヘッダと、ブロックデータ(データ列)とからなる。また、ホスト装置2からの要求が読み出し要求の場合には、パケットは、例えば、読み出し先アドレスを含むヘッダと、ダミーデータとからなる。
The
8B10Bエンコーダ112は、パケットエンコーダ111により生成されたパケットを予め定められたサイズで分割し、複数の固定長フレームを生成する。そして、8B10Bエンコーダ112は、各固定長フレームに対して8B10B変換によるエンコード処理(DCバランス変換)を行う。なお、8B10Bの他に、4B5B変換、64B66B変換等のDCバランス変換を用いてもよい。
The
ECCエンコーダ113は、エンコード処理が行われた固定長フレームに基づいて誤り訂正符号(Error Correcting Code、以下「ECC」と略す。)を算出し、そのECCを固定長フレームに付加することにより、ECCフレームを生成する。ECCとしては、例えば、ハミング符号、マンチェスタ符号、リードソロモン符号等の各種の誤り訂正符号を用いることができる。
The
トランスミッタ114は、パラレルデータとしてのECCフレームをシリアルデータに変換し、E/O14に出力する。
The
レシーバ115は、O/E16から送られたシリアルデータとしてのECCフレームをパラレルデータに変換し、ECCデコーダ116に出力する。
The receiver 115 converts the ECC frame as serial data sent from the O /
ECCデコーダ116は、ECCフレーム内のECCに基づいて、ECCフレーム内の固定長フレームのエラー検出/訂正処理を行う検出手段として機能する。ECCデコーダ116は、エラー検出/訂正処理により訂正不可能なエラー、すなわち、2ビット以上のエラーを検出した場合には、そのエラー位置を示す誤りフレーム位置情報をパケットデコーダ118に送信する。
The
8B10Bデコーダ117は、エラー検出/訂正処理が行われた固定長フレームに対して、8B10B変換によるデコード処理を行う。また、8B10Bデコーダは、デコード処理により8B10B変換の変換規則にないデータが固定長フレームに存在する等のエラーを検出する検出手段として機能し、エラーを検出した場合には、ECCデコーダ116と同様に誤りフレーム位置情報をパケットデコーダ118に送信する。
The
パケットデコーダ118は、デコード処理が行われた複数の固定長フレームから1つのパケットを復元する。また、パケットデコーダ118は、そのパケット内のパリティに基づいて、そのパケット内のブロックデータを構成する複数の分割データの誤り検出を行うパリティチェック部118aを備える。
The packet decoder 118 restores one packet from a plurality of fixed-length frames that have been decoded. Further, the packet decoder 118 includes a
パリティチェック部118aは、ECCデコーダ116又は8B10Bデコーダ117から誤りフレーム位置情報を受信した場合には、その誤りフレーム位置情報が示すエラー位置を含む分割データ(誤りのある分割データ)に対して、パリティ及び誤りのない他の分割データを用いて誤り訂正を行う。なお、ECCデコーダ116及び8B10Bデコーダ117は、パケットデコーダ118に誤りフレーム位置情報を送信しない構成としてもよく、その場合には、パリティチェック部118aは、分割データの誤り検出のみを行うこととなる。
When the
(メモリコントローラ)
図3は、メモリコントローラの概略構成の一例を示すブロック図である。この第1のメモリコントローラ12Aは、第1のメモリ13Aに接続されたメモリI/F部120と、上り方向に順に設けられたパケットエンコーダ121、8B10Bエンコーダ122、ECCエンコーダ123及びトランスミッタ124と、下り方向に順に設けられたレシーバ125、ECCデコーダ126、8B10Bデコーダ127及びパケットデコーダ128とを備える。
(Memory controller)
FIG. 3 is a block diagram illustrating an example of a schematic configuration of the memory controller. The
ここでは、第1乃至第5のメモリコントローラ12A〜12Eは、同一の構成を有するため、第1のメモリコントローラ12Aについて説明する。また、第1のメモリコントローラ12Aが有するパケットエンコーダ121、8B10Bエンコーダ122、ECCエンコーダ123、トランスミッタ124、レシーバ125、ECCデコーダ126、8B10Bデコーダ127及びパケットデコーダ128は、ホストブリッジ部11が有するパケットエンコーダ111、8B10Bエンコーダ112、ECCエンコーダ113、トランスミッタ114、レシーバ115、ECCデコーダ116、8B10Bデコーダ117及びパケットデコーダ118と基本的な機能は同様のため、両者の相違点について説明する。
Here, since the first to
パケットデコーダ128は、書き込み要求のパケットを受信した場合には、そのパケットから書き込み先アドレスとブロックデータとを抽出する。そして、パケットデコーダ128は、そのブロックデータ毎に、第1のメモリコントローラ12Aに接続された第1のメモリ13Aに書き込むデータを決定する書き込みデータ決定部128aと、そのブロックデータに基づいてパリティを算出するパリティ算出部128bとを備える。
When receiving a write request packet, the
書き込みデータ決定部128aは、例えば、書き込み先アドレス(番地情報)に基づいて、パリティ算出部128bにより算出したパリティを書き込むか、ブロックデータを書き込むかを決定する。
For example, the write
具体的には、書き込みデータ決定部128aは、書き込み先アドレスを記憶装置1が有するメモリ13A〜13Eのメモリ総数で除算したときの剰余を算出し、その剰余が自己のコントローラ番号に一致するときには、第1のメモリ13Aにパリティを書き込むと決定し、一致しないときには、ブロックデータを書き込むと決定する。ここで、コントローラ番号は、第1乃至第5のメモリコントローラ12A〜12Eに対して「0」〜「4」がそれぞれ割り当てられている。なお、書き込みデータ決定部128aは、書き込み対象を決定する際に書き込み先アドレスを用いる代わりに、第1乃至第5のメモリコントローラ12A〜12Eにおいて共通の基準となる情報として、例えば、現在の時刻を用いるようにしてもよいし、ホストブリッジ部11で発生させた乱数をパケットに付加し、その乱数を用いるようにしてもよい。その際には、パリティであるか、ブロックデータであるかを識別可能な情報を合わせて記憶しておく。
Specifically, the write
また、書き込みデータ決定部128aは、ブロックデータを書き込むと決定した場合には、そのブロックデータをメモリ総数から1を減算したデータ分散数(ここでは、「4」)で分割した複数の分割データから1つのデータを選択し、その選択した分割データを第1のメモリ13Aに書き込むと決定する。
When the write
そして、パケットデコーダ128は、パリティ算出部128bにより算出したパリティか、書き込みデータ決定部128aにより選択した分割データを書き込み先アドレスとともにメモリI/F部120に送る。なお、パケットデコーダ128は、読み出し要求のパケットを受信した場合には、そのパケットから読み出し先アドレスを抽出し、その読み出し先アドレスをメモリI/F部120に送る。
Then, the
メモリI/F部120は、パケットデコーダ128から分割データ及びパリティのいずれかが送られた場合には、その分割データ及びパリティのいずれかを第1のメモリ13Aの書き込み先アドレスに書き込む。また、メモリI/F部120は、パケットデコーダ128から読み出し先アドレスが送られた場合には、その読み出し先アドレスに記憶されたデータを第1のメモリ13Aから読み出し、その読み出したデータをパケットエンコーダ121に送る。
When either the divided data or the parity is sent from the
上記のように、パリティ算出部128bは、メモリ13A〜13Eに記憶されたパリティ及び分割データを読み出すことなくパリティを算出するので、例えば、RAID5等を採用する場合に比べて、その読み出し処理を省略した分書き込み速度が速くなる。なお、ホストブリッジ部11及びメモリコントローラ12は、ECCによるエラー検出/訂正処理を行わない場合には、ECCエンコーダ、ECCデコーダを省略してもよく、8B10B変換を行わない場合には、8B10Bエンコーダ及び8B10Bデコーダを省略してもよい。
As described above, since the
(第1の実施の形態の動作)
次に、記憶システム100の全体の動作の一例を、データの書き込み動作と読み出し動作とに分けてそれぞれ説明する。
(Operation of the first embodiment)
Next, an example of the overall operation of the storage system 100 will be described separately for a data write operation and a read operation.
(1)データの書き込み動作
データの書き込み動作の一例を、図4〜図6を参照して説明する。
(1) Data Write Operation An example of a data write operation will be described with reference to FIGS.
図4は、ホストブリッジ部におけるフレーム化の流れの一例を示す図である。まず、ホストブリッジ部11のパケットエンコーダ111は、ホストI/F部110を介してホスト装置2からの書き込み要求を、書き込み先アドレス及び書き込みデータとともに受け付けると、書き込み要求に応じたパケットを生成する。
FIG. 4 is a diagram illustrating an example of a framing flow in the host bridge unit. First, when the
具体的には、パケットエンコーダ111は、書き込みデータを、例えば、512バイト単位で分割し、複数のブロックデータ200bを生成する。そして、パケットエンコーダ111は、各ブロックデータに、書き込み先アドレスを含む8バイトのヘッダ200aを付加して、図4(a)に示すように、520バイトのパケット200を生成する。なお、1つのブロックデータ200bをデータ分散数で分割したときの4つのデータが、分割データ200cである。
Specifically, the
次に、8B10Bエンコーダ112は、その520バイトのパケット200を40バイト(320ビット)単位で分割し、図4(b)に示すように、40バイトの固定長フレーム201を13個生成する。そして、8B10Bエンコーダ112は、各固定長フレーム201に対して8B10B変換によるエンコード処理を行い、図4(c)に示すように、
8B10Bエンコード済みの400ビットの固定長フレーム202を生成する。
Next, the
A 400-bit fixed-
次に、ECCエンコーダ113は、その400ビットの固定長フレーム202に基づいて、20ビットのECC203aを算出する。そして、ECCエンコーダ113は、400ビットの固定長フレーム202にその算出した20ビットのECC203aを付加し、図4(d)に示すように、420ビットのECCフレーム203を生成する。
Next, the
そして、ECCエンコーダ113は、その420ビットのECCフレーム203を、例えば、20ビット毎に分けてトランスミッタ114に順次送ると、トランスミッタ114は、20ビット毎にパラレル/シリアル変換を行い、その変換後のシリアルデータをE/O14に出力する。
Then, the
次に、E/O14は、トランスミッタ114からのシリアルデータを光信号に変換し、その変換された光信号は、光ファイバ150Aを介して光分岐部151に送られ、光分岐部151により5つの方向に分岐される。
Next, the E /
光分岐部151により分岐された光信号は、光ファイバ150Bを介してO/E16A〜16Eにて電気信号にそれぞれ変換され、第1乃至第5のメモリコントローラ12A〜12Eの各レシーバ125にシリアルデータとして送られる。なお、以降の処理は、第1乃至第5のメモリコントローラ12A〜12Eの各々が有する各部により並列的に実行される。
The optical signals branched by the optical branching
レシーバ125は、そのシリアルデータを20ビット毎にシリアル/パラレル変換を行い、その変換後のパラレルデータをECCデコーダ126に出力する。
The
次に、ECCデコーダ126は、20ビットのパラレルデータを受け取ると、それを21サイクル分まとめて420ビットとし、これを1つのECCフレーム203とする。ここでは、各メモリコントローラ12A〜12Eによる処理の一例を図5のフローチャートに従って説明する。
Next, when the
図5は、メモリコントローラの動作の一例を示すフローチャートである。まず、ECCデコーダ126は、そのECCフレーム203内のECCに基づいて、そのパケットの固定フレームに対してエラー検出処理を行う(S1)。その結果、ECCデコーダ126は、2ビット以上のエラーを検出した場合には(S2:2ビット以上)、エラー終了し、例えば、ホストブリッジ部11にデータの再送を要求する。一方、ECCデコーダ126は、1ビットのエラーを検出した場合には(S2:1ビット)、エラー訂正処理を行う(S3)。
FIG. 5 is a flowchart showing an example of the operation of the memory controller. First, the
そして、ECCデコーダ126は、エラー訂正処理後のECCフレーム203からECCを除去して、40ビットの固定長フレーム202を生成する。また、ECCデコーダ126は、エラーを検出しなかった場合には(S2:0ビット)、ECCフレーム203から400ビットの固定長フレーム202を生成する。
Then, the
次に、8B10Bデコーダ127は、その400ビットの固定長フレーム202に対して10B8B変換によるデコード処理を施し、40バイト(320ビット)の固定長フレーム201を生成する(S10)。
Next, the
次に、パケットデコーダ128は、その40バイトの固定長フレーム201を13個順次受け取ると、それら13個の固定長フレーム201から520バイトのパケット200を復元する。パケットデコーダ128は、そのパケット200内のヘッダを解析し、そのパケット200が書き込み要求のパケットか、読み出し要求のパケットかを判定する(S20)、
Next, when the
そして、そのパケット200が書き込み要求のパケットの場合には(S20:書き込み)、書き込みデータ決定部128aは、ヘッダ内の書き込み先アドレスを参照し、その書き込み先アドレスをメモリ総数で除算したときの剰余を算出する。そして、書き込みデータ決定部128aは、その剰余が自己のコントローラ番号に一致するか否かを判定する(S30)。
When the packet 200 is a write request packet (S20: write), the write
そして、書き込みデータ決定部128aが、その剰余が自己のコントローラ番号に一致すると判定した場合には(S30:Yes)、パリティ算出部128bにパリティを算出するように指示を送る。パリティ算出部128bは、その指示を受け付けると、そのパケット内のブロックデータに基づいてパリティを算出する(S31)。
If the write
そして、パケットデコーダ128は、そのパリティ算出部128bにより算出したパリティをメモリI/F部120に送ると、メモリI/F部120は、そのパリティをメモリ13Aの書き込み先アドレスに書き込む(S32)。
When the
一方、書き込みデータ決定部128aが、その剰余が自己のコントローラ番号に一致しないと判定した場合には(S30:No)、ブロックデータをデータ分散数で分割した4つの分割データのうち、1つの分割データを書き込み対象として選択する(S40)。
On the other hand, when the write
そして、パケットデコーダ128は、書き込みデータ決定部128aにより選択した分割データをメモリI/F部120に送ると、メモリI/F部120は、その分割データをメモリ13Aに書き込む(S50)。
Then, when the
(書き込み動作におけるデータの流れ)
図6は、データの書き込み動作におけるホストブリッジ部から各メモリコントローラ間のデータの流れの一例を示す図である。ここでは、ホスト装置2からの書き込みデータDとすると、書き込みデータDを512バイト単位で分割した場合のデータをブロックデータD0〜D2と表し、各ブロックデータD0〜D2を、データ分散数(ここでは、「4」)で分割した場合のデータを分割データD01〜D04、D11〜D14、D21〜D24と表す。
(Data flow in write operation)
FIG. 6 is a diagram illustrating an example of a data flow between the host bridge unit and each memory controller in a data write operation. Here, when the write data D from the
ホストブリッジ部11は、書き込みデータDを3つのブロックデータD0〜D2に分割し、それらブロックデータD0〜D2を構成する分割データD01〜D04、D10〜D14、D20〜D24のフレーム化を行い、E/O14を介して光分岐伝送路15に送信する。
The
次に、光分岐伝送路15には、分割データD01〜D04、D10〜D14、D20〜D24が光信号としてシリアル伝送される。 Next, the divided data D01 to D04, D10 to D14, and D20 to D24 are serially transmitted as optical signals to the optical branch transmission path 15.
そして、光信号は、O/E16A〜16Eを介して第1乃至第5のメモリコントローラ12A〜12EによりブロックデータD0〜D2としてそれぞれ受信される。
The optical signals are received as block data D0 to D2 by the first to
第1乃至第5のメモリコントローラ12A〜12Eの各々は、各ブロックデータD0〜D3の書き込み先アドレスをメモリ総数で除算したときの剰余が自己のコントローラ番号に一致するときは、パリティを算出し、その算出したパリティを書き込み、一致しないときは、分割データを1つ選択し、その選択した分割データを書き込む。
Each of the first to
例えば、ブロックデータD0の書き込み先アドレスが「0x0005」である場合には、書き込み先アドレス「0x0005」をメモリ総数「5」で除算したときの剰余は「0」である。従って、コントローラ番号が「0」の第1のメモリコントローラ12Aは、分割データD01〜D04に基づいてパリティP0を算出し、そのパリティP0を第1のメモリ13Aに書き込む。
For example, when the write destination address of the block data D0 is “0x0005”, the remainder when the write destination address “0x0005” is divided by the total number of memories “5” is “0”. Accordingly, the
第2乃至第5のメモリコントローラ12B〜12Eは、書き込み先アドレス「0x0005」から自己のコントローラ番号を減算し、その減算した減算値をメモリ総数「5」で除算したときの剰余を算出する。そして、第2乃至第5のメモリコントローラ12B〜12Eは、その剰余に対応する分割データを書き込み対象として選択する。
The second to
例えば、コントローラ番号が「1」の第2のメモリコントローラ12Bにおいては、書き込み先アドレス「0x0005」から自己のコントローラ番号「1」を減算した減算値「0x0004」をメモリ総数「5」で除算したときの剰余を「4」と算出する。そして、第2のメモリコントローラ12Bは、その剰余「4」に対応する分割データとして、分割データD01〜D04の中から「4」番目の分割データD04を選択し、その分割データD04を第2のメモリ13Bに書き込む。同様にして、第3乃至第5のメモリコントローラ12C〜12Eは、分割データD03,D02,D01をそれぞれ選択し、第3乃至第5のメモリ13C〜13Eにそれぞれ書き込む。
For example, in the
(2)データの読み出し動作
データの読み出し動作の一例を、図7を参照して説明する。
(2) Data Read Operation An example of the data read operation will be described with reference to FIG.
まず、ホストブリッジ部11のパケットエンコーダ111は、ホストI/F部110を介してホスト装置2からの読み出し要求を読み出し先アドレスとともに受け付けると、その読み出し要求に応じたパケットを生成する。
First, when the
次に、その生成されたパケットは、書き込み動作と同様に、8B10Bエンコーダ112によるエンコード処理後、ECCエンコーダ113によりECCが付加されたECCフレームとして、トランスミッタ114を介してE/O14から光信号として光分岐伝送路15に送信される。
Next, the generated packet is encoded as an optical signal from the E /
次に、その光信号は、光分岐伝送路15により分岐されて、O/E16A〜16Eにより電気信号に変換された後、第1乃至第5のメモリコントローラ12A〜12Eの各レシーバ125により受信され、レシーバ125でシリアル/パラレル変換が行われ、ECCデコーダ126によりECCフレームとして受信される。
Next, the optical signal is branched by the optical branch transmission line 15 and converted into electrical signals by the O /
そして、そのECCフレームは、書き込み動作と同様に、ECCデコーダ126によるエラー検出/訂正処理(S1〜S3)、8B10Bデコーダ127によるデコード処理(S10)が行われ、パケットデコーダ128によりパケットとして復元され、そのパケットが書き込み要求のパケットか、読み出し要求のパケットかが判定される(S20)。
The ECC frame is subjected to error detection / correction processing (S1 to S3) by the
そして、そのパケットが読み出し要求のパケットと判定された場合には(S20:読み出し)、パケットデコーダ128は、そのパケット内の読み出し先アドレスをメモリI/F部120に送り、メモリI/F部120は、その読み出し先アドレスに対応する分割データ及びパリティのいずれかを第1のメモリ13Aから読み出す(S60)。
If the packet is determined to be a read request packet (S20: Read), the
次に、その読み出した分割データ又はパリティは、パケットエンコーダ121、8B10Bエンコーダ122、ECCエンコーダ123及びトランスミッタ124を介してECCフレームとしてE/O14Aに送られ、E/O14Aから光信号として光合波伝送路17に送信される。
Next, the read divided data or parity is sent to the E /
次に、その光信号は、光合波伝送路17の光合波部171により合波され、O/E16により電気信号に変換された後、ホストブリッジ部11のレシーバ115により受信され、レシーバ115でシリアル/パラレル変換が行われ、ECCデコーダ116によりECCフレームとして受信される。
Next, the optical signal is multiplexed by the
次に、ECCデコーダ116は、そのECCフレーム内のECCに基づいて、ECCフレームのエラー検出/訂正処理を行い、その際訂正不可能なエラーな検出した場合には、そのエラー位置を示す誤りフレーム位置情報をパケットデコーダ118に送信する。そして、ECCデコーダ116は、ECCフレームからECCを除去した固定長フレームを8B10Bデコーダ117に送る。
Next, the
次に、8B10Bデコーダ117は、その固定長フレームに対して10B8B変換によるデコード処理を施し、デコード処理においてエラーを検出した場合には、そのエラー位置を示す誤りフレーム位置情報をパケットデコーダ118に送信する。そして、8B10Bデコーダ117は、デコード処理後の固定長フレームをパケットデコーダ118に送る。
Next, the
そして、パケットデコーダ118は、複数の固定長フレームからパケットを復元し、そのパケットから4つの分割データとパリティとを抽出する。 Then, the packet decoder 118 restores a packet from a plurality of fixed-length frames, and extracts four divided data and parity from the packet.
次に、パリティチェック部118aは、ECCデコーダ116又は8B10Bデコーダ117から誤りフレーム位置情報を受信している場合には、その誤りフレーム位置情報から誤りのある分割データの数を計数する。なお、誤りフレーム位置情報を受信していない場合については、誤りのある分割データの数が「0」の場合と同様に処理される。
Next, when receiving the error frame position information from the
誤りのある分割データの数が「0」の場合には、パリティチェック部118aは、そのパケットから抽出したパリティに基づいて、その抽出した4つの分割データの誤り検出を行う。その結果、パリティチェック部118aは、誤りを検出しなかった場合には、そのまま4つの分割データからなるブロックデータをホストI/F部110に送り、誤りを検出した場合には、パリティチェックによりエラーが検出された旨を示すエラー通知をホストI/F部110に送る。
When the number of divided data with errors is “0”, the
誤りのある分割データの数が「1」の場合には、パリティチェック部118aは、そのパケット内のパリティ及び誤りのない分割データを用いてその誤りのある分割データの誤り訂正を行い、その誤り訂正後の4つの分割データからなるブロックデータをホストI/F部110に送る。
When the number of divided data with errors is “1”, the
誤りのある分割データの数が「2」以上の場合には、パリティチェック部118aは、ECC又は8B10Bデコード処理によりエラーが検出された旨を示すエラー通知をホストI/F部110に送る。
When the number of divided data with errors is “2” or more, the
そして、ホストI/F部110は、パリティチェック部118aからブロックデータを受信した場合には、そのブロックデータを読み出しデータとして、ケーブル101を介してホスト装置2に送信する。また、ホストI/F部110は、パリティチェック部118aからエラー通知を受信した場合には、そのエラー通知をホスト装置2に送る。
When the host I /
(読み出し動作におけるデータの流れ)
図7は、データの読み出し動作における各メモリコントローラからホストブリッジ部間のデータの流れの一例を示す図である。ここでは、読み出しデータDとすると、読み出しデータDを512バイト単位で分割した場合のデータをブロックデータD0〜D2と表し、各ブロックデータD0〜D2をデータ分散数(ここでは、4つ)に分割した場合のデータを分割データD01〜D04、D11〜D14、D21〜D24と表す。
(Data flow in read operation)
FIG. 7 is a diagram illustrating an example of a data flow between each memory controller and the host bridge unit in a data read operation. Here, assuming that the read data D is divided, the data when the read data D is divided in units of 512 bytes is expressed as block data D0 to D2, and each block data D0 to D2 is divided into the number of data distributions (here, four). The data in this case is expressed as divided data D01 to D04, D11 to D14, and D21 to D24.
第1乃至第5のメモリコントローラ12A〜12Eは、読み出し要求パケットで指定された読み出し先アドレスに対応するデータを第1乃至第5のメモリ13A〜13Eからそれぞれ読み出す。
The first to
例えば、読み出し先アドレスが「0x0005」の場合には、第1のメモリコントローラ12Aは、パリティP0を読み出し、第2乃至第5のメモリコントローラ12B〜12Eは、分割データD04〜D01をそれぞれ読み出す。
For example, when the read destination address is “0x0005”, the
そして、第1乃至第5のメモリコントローラ12A〜12Eは、その読み出したパリティP0及び分割データD01〜D04のフレーム化を行い、E/O14A〜14Eを介して光合波伝送路17に送信する。その際、E/O14A〜14Eからの5つの光信号は、光合波伝送路17において時分割多重化が行われる。
Then, the first to
次に、光合波伝送路17には、パリティP0及び分割データD01〜D04が光信号としてシリアル伝送され、その光信号は、O/E16を介してホストブリッジ部11により受信される。
Next, the parity P0 and the divided data D01 to D04 are serially transmitted as optical signals to the optical multiplexing transmission path 17, and the optical signals are received by the
次に、ホストブリッジ部11のパリティチェック部118aは、パリティP0に基づいて、分割データD01〜D04の誤り検出を行った結果誤りを検出し、誤りフレーム位置情報により誤りのある分割データが特定されている場合には、その分割データの誤り訂正を行う。そして、ホストブリッジ部11は、分割データD01〜D04からブロックデータD0を生成し、同様にしてブロックデータD1,D2を順次生成し、それらブロックデータD0〜D2からなる読み出しデータDをホスト装置2に送る。
Next, the
[第2の実施の形態]
図8は、本発明の第2の実施の形態に係る記憶システムの概略構成の一例を示すブロック図である。この記憶システム100は、第1の実施の形態と同様に、記憶装置1がホスト装置2に接続されて構成されている。
[Second Embodiment]
FIG. 8 is a block diagram showing an example of a schematic configuration of the storage system according to the second embodiment of the present invention. The storage system 100 is configured by connecting the
本実施の形態に係る記憶装置1は、第1の実施の形態と比較して、第1乃至第5の電源供給範囲180A〜180E毎に独立して設けられた第1乃至第5の電源供給部18A〜18Eを備える点が異なり、その他は同様に構成されている。
Compared with the first embodiment, the
第1乃至第5の電源供給部18A〜18Eは、自己に接続された第1及び第5の電源供給範囲180A〜180Eに含まれる各部に駆動電圧を供給する。例えば、第1の電源供給部18Aは、第1の電源供給範囲180Aに含まれる第1のメモリコントローラ12A、第1のメモリ13A、E/O14A及びO/E16Aに駆動電圧を供給する。
The first to fifth
ホストブリッジ部11は、第1乃至第5の電源供給部18A〜18Eのいずれかに異常が発生した場合には、その異常が発生した電源供給部に接続されたメモリからのデータの読み出しができないため、他のメモリから読み出したデータに基づいて、データを復元する。
When an abnormality occurs in any of the first to fifth
[他の実施の形態]
なお、本発明は、上記各実施の形態に限定されず、本発明の趣旨を逸脱しない範囲内で種々な変形が可能である。例えば、上記各実施の形態では、メモリコントローラ及びメモリの数は、それぞれ5つであるが、パリティ及びデータを分散して記憶できればよく、3つ以上であれば、5つに限られない。
[Other embodiments]
The present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the spirit of the present invention. For example, in each of the above embodiments, the number of memory controllers and memories is five, but it is sufficient that the parity and data can be distributed and stored, and the number is not limited to five as long as it is three or more.
また、上記各実施の形態では、メモリコントローラの各々は、パリティ及びデータのいずれかを選択してメモリに書き込んだが、1つのメモリコントローラが固定的にパリティを書き込み、他のメモリコントローラがデータを書き込むようにしてもよい。 In each of the above embodiments, each of the memory controllers selects either parity or data and writes it to the memory. However, one memory controller writes the parity in a fixed manner, and the other memory controller writes the data. You may do it.
また、上記各実施の形態では、ホストブリッジ部とメモリコントローラとの間を下り方向と上り方向とで別々の光伝送路で接続したが、1つの光伝送路を下り方向と上り方向の光伝送に共用してもよいし、上り方向を電気伝送路で接続してもよい。 In each of the above embodiments, the host bridge unit and the memory controller are connected by separate optical transmission paths in the downlink direction and the uplink direction, but one optical transmission path is transmitted in the downlink and uplink directions. Or may be connected by an electric transmission line in the upstream direction.
また、上記各実施の形態では、光合波伝送路において複数の光信号に対して時分割多重を行って伝送したが、波長分割多重等の他の多重化方式を適用してもよい。 In each of the above-described embodiments, time division multiplexing is performed on a plurality of optical signals in the optical multiplexing transmission line for transmission, but other multiplexing methods such as wavelength division multiplexing may be applied.
1…記憶装置、2…ホスト装置、11…ホストブリッジ部、12A〜12E…メモリコントローラ、13A〜13E…メモリ、14,14A〜14E…E/O、15…光分岐伝送路、16,16A〜164E…O/E、17…光合波伝送路、18A〜18E…電源供給部、100…記憶システム、101…ケーブル、110…ホストI/F部、111…パケットエンコーダ、112…8B10Bエンコーダ、113…ECCエンコーダ、114…トランスミッタ、115…レシーバ、116…ECCデコーダ、117…8B10Bデコーダ、118…パケットデコーダ、118a…パリティチェック部、120…メモリI/F部、121…パケットエンコーダ、122…8B10Bエンコーダ、123…ECCエンコーダ、124…トランスミッタ、125…レシーバ、126…ECCデコーダ、127…8B10Bデコーダ、128…パケットデコーダ、128a…書き込みデータ決定部、128b…パリティ算出部、150A,150B…光ファイバ、151…光分岐部、170A,170B…光ファイバ、171…光合波部、180A〜180E…電源供給範囲、200…パケット、200a…ヘッダ、200b…ブロックデータ、200c…分割データ、201,202…固定長フレーム、203…ECCフレーム、203a…ECC
DESCRIPTION OF
Claims (7)
前記第1の制御部から下り方向にデータの一括伝送が可能な光伝送路を介して前記第1の制御部に接続された複数の第2の制御部と、
前記複数の第2の制御部に各々接続され、前記データを記憶する複数の記憶部とを備え、
前記第1の制御部は、前記上位装置から受信したデータをデータ列に分割して前記データ列を前記複数の第2の制御部に前記光伝送路を介して一括伝送し、
前記複数の第2の制御部は、前記第1の制御部から一括伝送された前記データ列を受信したとき、前記データ列に基づいてパリティ情報を算出するパリティ算出部と、少なくとも1つの第2の制御部が前記パリティ情報を対応する前記記憶部に書き込むように前記データ列毎に前記記憶部にパリティ情報を書き込むか否かを決定する決定部とを有し、前記決定部によりパリティ情報を前記記憶部に書き込むと決定されたとき、前記パリティ算出部により算出されたパリティ情報を対応する前記記憶部に書き込み、前記決定部によりパリティ情報を前記記憶部に書き込むと決定されなかったとき、前記データ列を対応する前記記憶部に書き込む記憶装置。 A first control unit that transmits and receives data to and from a host device;
A plurality of second control units connected to the first control unit via an optical transmission line capable of batch transmission of data in the downstream direction from the first control unit;
A plurality of storage units each connected to the plurality of second control units and storing the data;
The first control unit divides data received from the host device into data strings, and transmits the data strings to the plurality of second control units via the optical transmission path,
The plurality of second control units, when receiving the data sequence collectively transmitted from the first control unit, calculate a parity information based on the data sequence, and at least one second control unit A control unit that determines whether to write parity information to the storage unit for each data string so that the control unit writes the parity information to the corresponding storage unit. When it is determined to write to the storage unit, the parity information calculated by the parity calculation unit is written to the corresponding storage unit, and when the parity information is not determined to be written to the storage unit by the determination unit, A storage device that writes a data string to the corresponding storage unit.
前記上位装置との間でデータの送受信を行う第1の制御部、前記第1の制御部から下り方向にデータの一括伝送が可能な光伝送路を介して前記第1の制御部に接続された複数の第2の制御部、及び前記複数の第2の制御部に各々接続され、前記データを記憶する複数の記憶部とを有し、
前記第1の制御部は、前記上位装置から受信したデータをデータ列に分割して前記データ列を前記複数の第2の制御部に前記光伝送路を介して一括伝送し、
前記複数の第2の制御部は、前記第1の制御部から一括伝送された前記データ列を受信したとき、前記データ列に基づいてパリティ情報を算出するパリティ算出部と、少なくとも1つの第2の制御部が前記パリティ情報を対応する前記記憶部に書き込むように前記データ列毎に前記記憶部にパリティ情報を書き込むか否かを決定する決定部とを有し、前記決定部によりパリティ情報を前記記憶部に書き込むと決定されたとき、前記パリティ算出部により算出されたパリティ情報を対応する前記記憶部に書き込み、前記決定部によりパリティ情報を前記記憶部に書き込むと決定されなかったとき、前記データ列を対応する前記複数の記憶部に書き込む記憶装置とを備えた記憶システム。 A host device;
A first control unit that transmits / receives data to / from the host device, and is connected to the first control unit via an optical transmission line capable of batch transmission of data from the first control unit in the downstream direction. A plurality of second control units, and a plurality of storage units connected to the plurality of second control units and storing the data,
The first control unit divides data received from the host device into data strings, and transmits the data strings to the plurality of second control units via the optical transmission path,
The plurality of second control units, when receiving the data sequence collectively transmitted from the first control unit, calculate a parity information based on the data sequence, and at least one second control unit A control unit that determines whether to write parity information to the storage unit for each data string so that the control unit writes the parity information to the corresponding storage unit. When it is determined to write to the storage unit, the parity information calculated by the parity calculation unit is written to the corresponding storage unit, and when the parity information is not determined to be written to the storage unit by the determination unit, A storage system comprising: a storage device that writes a data string to the corresponding storage units.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008304777A JP5223629B2 (en) | 2008-11-28 | 2008-11-28 | Storage device and storage system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008304777A JP5223629B2 (en) | 2008-11-28 | 2008-11-28 | Storage device and storage system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2010128940A JP2010128940A (en) | 2010-06-10 |
| JP5223629B2 true JP5223629B2 (en) | 2013-06-26 |
Family
ID=42329269
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008304777A Expired - Fee Related JP5223629B2 (en) | 2008-11-28 | 2008-11-28 | Storage device and storage system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5223629B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012060097A1 (en) * | 2010-11-02 | 2012-05-10 | 日本電気株式会社 | Memory module and memory system |
| KR101990856B1 (en) | 2012-05-21 | 2019-06-19 | 삼성전자주식회사 | Optical memory system including an optically connected memory module and computing system including the same |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07219718A (en) * | 1994-01-28 | 1995-08-18 | Nec Eng Ltd | Information processor |
| JPH08202505A (en) * | 1995-01-30 | 1996-08-09 | Fuji Xerox Co Ltd | Array type storage device |
| JP2001159958A (en) * | 1999-12-03 | 2001-06-12 | Hitachi Ltd | Parity data writing method in disk array device |
| JP2001337759A (en) * | 2000-05-24 | 2001-12-07 | Fuji Xerox Co Ltd | Disk array unit |
-
2008
- 2008-11-28 JP JP2008304777A patent/JP5223629B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2010128940A (en) | 2010-06-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN102567134B (en) | Error checking and correcting system and method for memory module | |
| US10348334B2 (en) | Reducing a decoding error floor by post-processing codewords encoded by binary symmetry-invariant product codes | |
| US9218240B2 (en) | Error detection and isolation | |
| US20070271468A1 (en) | Method and Apparatus for Maintaining Data Integrity When Switching Between Different Data Protection Methods | |
| TWI859231B (en) | Memory systems and writing methods of the memory systems | |
| US8612842B2 (en) | Apparatus for generating a checksum | |
| US20190138390A1 (en) | Data protection techniques for a non-volatile memory array | |
| US9647766B2 (en) | Method, communication apparatus, and communication system | |
| JP5223629B2 (en) | Storage device and storage system | |
| US20100199146A1 (en) | Storage system, storage controller and method for controlling storage system | |
| KR20200011488A (en) | How To Debug SerDes Link Parameters, Devices, and Computer Storage | |
| JP2007052714A (en) | Information processing system | |
| US8683308B2 (en) | Semiconductor device, information processing apparatus, and method of detecting error | |
| US9923669B2 (en) | Distributed Reed-Solomon codes for simple multiple access networks | |
| US20160126980A1 (en) | Removing error patterns in binary data | |
| JP2016014972A (en) | COMMUNICATION CONTROL DEVICE, STORAGE DEVICE, AND COMMUNICATION CONTROL PROGRAM | |
| JP2017097942A (en) | System for track dependent decoding that suits time variation signal quality | |
| US11871166B2 (en) | Sensor system | |
| CN108415403B (en) | A safety processing method for computer interlocking data acquisition control | |
| JP6041976B2 (en) | Data transmission system | |
| US9660882B2 (en) | Selective convolution encoding of data transmitted over degraded links | |
| TWI645683B (en) | Partial concatenated coding system using algebraic code and ldpc code | |
| JP5239252B2 (en) | Data transmission device and semiconductor storage device | |
| WO2010035316A1 (en) | Memory control device and memory control method | |
| US11175978B2 (en) | Detection of an error generated within an electronic device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111018 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120905 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120918 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121119 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130212 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130225 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5223629 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160322 Year of fee payment: 3 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |