(57)【特許請求の範囲】
【請求項１】
メモリコントローラと複数の半導体メモリを接続した信号伝送システムであって、
前記メモリコントローラと前記複数の半導体メモリとの間に配置された半導体素子を備え、
前記半導体素子は、制御回路を備え、
前記制御回路は、前記メモリコントローラから伝送先のチップを選択する第１の信号を受信し、前記半導体メモリから前記チップの動作状態を知らせる第２の信号を受信し、
前記制御回路は、前記半導体メモリの前記チップの動作状態に応じて前記第１の信号の前記半導体メモリへの送信可否を制御し、かつ、前記第１の信号の前記半導体メモリへの送信可否結果を示す第３の信号を前記メモリコントローラへ送信することを特徴とする信号伝送システム。
【請求項２】
請求項１記載の信号伝送システムにおいて、
前記メモリコントローラは、前記第１の信号を符号化（エンコード）する第１の回路を備え、
前記半導体素子は、前記第１の回路によって符号化された前記第１の信号を復号（デコード）する第２の回路を備え、
前記制御回路は、前記半導体メモリから前記チップの動作状態を知らせる前記第２の信号と、前記第２の回路で復号された前記第１の信号とに基づいて、前記半導体メモリの前記チップの動作状態に応じて前記第１の信号の前記半導体メモリへの送信可否を制御し、かつ、前記第１の信号の前記半導体メモリへの送信可否結果を示す前記第３の信号を前記メモリコントローラへ送信することを特徴とする信号伝送システム。
【請求項３】
請求項２記載の信号伝送システムにおいて、
前記メモリコントローラと前記複数の半導体メモリとの間に配置され、データ信号をスイッチするスイッチ回路を更に備えることを特徴とする信号伝送システム。
【請求項４】
請求項３記載の信号伝送システムにおいて、
前記メモリコントローラが、前記データ信号のスイッチを制御するための制御信号を前記スイッチ回路に送信する回路を備えることを特徴とする信号伝送システム。
【請求項５】
請求項３記載の信号伝送システムにおいて、
前記スイッチ回路が、前記半導体素子の内部に実装され、
前記スイッチ回路が、前記第１の信号に基づいて生成された制御信号によって前記データ信号のスイッチを制御することを特徴とする信号伝送システム。
【請求項６】
請求項３記載の信号伝送システムにおいて、
前記複数の半導体メモリと前記スイッチ回路がDIMM基板上に実装されていることを特徴とする信号伝送システム。
【請求項７】
請求項１から６のいずれか１項に記載の信号伝送システムにおいて、
前記半導体素子がDIMM基板上に実装されていることを特徴とする信号伝送システム。
【請求項８】
請求項１から７のいずれか１項に記載の信号伝送システムにおいて、
前記半導体メモリがNANDフラッシュメモリであり、前記第１の信号が前記NANDフラッシュメモリのチップ選択信号であり、前記第２の信号が前記チップの動作状態を知らせるReady/Busy信号であることを特徴とする信号伝送システム。
【請求項９】
ストレージコントローラと、複数の半導体メモリパッケージを有する記憶デバイス群とを備えるストレージシステムであって、
前記半導体メモリパッケージが、半導体メモリ制御部と、複数の半導体メモリと、前記半導体メモリ制御部と前記複数の半導体メモリとの間に配置された半導体素子とを備え、
前記半導体素子は、制御回路を備え、
前記制御回路は、前記半導体メモリ制御部から伝送先のチップを選択する第１の信号を受信し、前記半導体メモリから前記チップの動作状態を知らせる第２の信号を受信し、
前記制御回路は、前記半導体メモリの前記チップの動作状態に応じて前記第１の信号の前記半導体メモリへの送信可否を制御し、かつ、前記第１の信号の前記半導体メモリへの送信可否結果を示す第３の信号を前記半導体メモリ制御部へ送信することを特徴とするストレージシステム。
【請求項１０】
請求項９記載のストレージシステムにおいて、
前記半導体メモリ制御部と前記複数の半導体メモリとの間に配置され、データ信号をスイッチするスイッチ回路を更に備えることを特徴とするストレージシステム。
【請求項１１】
請求項１０記載のストレージシステムにおいて、
前記半導体メモリ制御部が、前記データ信号のスイッチを制御するための制御信号を前記スイッチ回路に送信する回路を備えることを特徴とするストレージシステム。
【請求項１２】
請求項１０記載のストレージシステムにおいて、
前記スイッチ回路が、前記半導体素子の内部に実装され、
前記スイッチ回路が、前記第１の信号に基づいて生成された制御信号によって前記データ信号のスイッチを制御することを特徴とするストレージシステム。
【請求項１３】
請求項１０記載のストレージシステムにおいて、
前記複数の半導体メモリと前記スイッチ回路がDIMM基板上に実装されていることを特徴とするストレージシステム。
【請求項１４】
請求項９から１３のいずれか１項に記載のストレージシステムにおいて、
前記半導体素子がDIMM基板上に実装されていることを特徴とするストレージシステム。
【請求項１５】
請求項９から１４のいずれか１項に記載のストレージシステムにおいて、
前記半導体メモリがNANDフラッシュメモリであり、前記第１の信号が前記NANDフラッシュメモリのチップ選択信号であり、前記第２の信号が前記チップの動作状態を知らせるReady/Busy信号であることを特徴とするストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号伝送システム、及び、その信号伝送システムを備えるストレージシステムに関する。
【背景技術】
【０００２】
近年、低コストで高密度実装のフラッシュメモリを用いた大容量のストレージシステムの需要が高まっている。大容量のストレージシステムを実現するために、より多くのフラッシュメモリを接続することが考えられる。しかしながら、より多くのフラッシュメモリを接続すると、チップを選択する信号(CE#)やチップの動作状態を知らせる信号(R/B#)が増加してしまう。それらの信号数が増加すると、それらの信号の信号線が増加し、メモリコントローラのピン数が増加する。その結果、パッケージサイズが大きくなり、コストが高くなる。
【０００３】
したがって、半導体装置において信号線の削減するための構成が必要となる。本技術分野の従来技術として、特許文献１がある。特許文献１には、「半導体装置の作動モードに対応する複数のモード信号Ｍ０〜Ｍ２を発生するモード信号発生回路１１と、発生したモード信号Ｍ０〜Ｍ２に対応する作動モードで半導体装置のテストを行うための複数のテスト信号Ｔ０〜Ｔ２を発生するテスト信号発生回路１２とを有し、モード信号Ｍ０〜Ｍ２及びテスト信号Ｔ０〜Ｔ２を複数の信号線を経由して所定領域に夫々伝送する半導体装置において、モード信号Ｍ０〜Ｍ２及びテスト信号Ｔ０〜Ｔ２を符号化し、ビット数がモード信号Ｍ０〜Ｍ２及びテスト信号Ｔ０〜Ｔ２双方のビット数の和よりも少ないエンコード信号Ｓ０〜Ｓ３として上記信号線に供給するエンコーダ回路１６を配設する。」（要約参照）と記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−４６９２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の特許文献１では、モード信号及びテスト信号をエンコードして、それらの信号のための信号線を削減しているが、このような構成では、メモリコントローラにおける信号線、すなわち、ピン数の削減効果が小さい。また、特許文献１では、モード信号及びテスト信号を対象としており、チップを選択する信号(CE#)やチップの動作状態を知らせる信号(R/B#)に関して考慮されていない。
【０００６】
本発明は、メモリコントローラにおけるピン数を削減することが可能な信号伝送システム、及び、その信号伝送システムを備えるストレージシステムを提供する。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、メモリコントローラと複数の半導体メモリを接続した信号伝送システムは、前記メモリコントローラと前記複数の半導体メモリとの間に配置された半導体素子を備え、前記半導体素子は、制御回路を備え、前記制御回路は、前記半導体メモリから信号を受信し、該信号に応じて前記メモリコントローラに制御信号を出力する。
【０００８】
また、別の例によれば、ストレージコントローラと、複数の半導体メモリパッケージを有する記憶デバイス群とを備えるストレージシステムが提供される。このストレージシステムにおいて、前記半導体メモリパッケージが、半導体メモリ制御部と、複数の半導体メモリと、前記半導体メモリ制御部と前記複数の半導体メモリとの間に配置された半導体素子とを備える。前記半導体素子は、制御回路を備え、前記制御回路は、前記半導体メモリから信号を受信し、該信号に応じて前記半導体メモリ制御部に制御信号を出力する。
【発明の効果】
【０００９】
本発明によれば、メモリコントローラにおけるピン数を削減することができる。これにより、基板における信号線の占有面積が小さくなり、高密度実装を実現することができる。
【００１０】
本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、上記した以外の、課題、構成および効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１実施例に係る信号伝送システムの構成の例である。
【図２】本発明の第１実施例に係る制御回路の構成の例である。
【図３】従来の信号伝送システムの信号線を説明する図である。
【図４】本発明の第１実施例を適用した場合の信号伝送システムの信号線を説明する図である。
【図５】従来の信号伝送システムにおける基板の配線層を説明する図である。
【図６】本発明の第１実施例を適用した場合の基板の配線層を説明する図である。
【図７】本発明の第２実施例に係る信号伝送システムの構成の例である。
【図８】本発明の第３実施例に係る信号伝送システムの構成の例である。
【図９】本発明の第４実施例に係る信号伝送システムの構成の例である。
【図１０】本発明の第５実施例に係るストレージシステムの全体図である。
【図１１】本発明の第５実施例に係るフラッシュパッケージの構成の例である。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本発明の実施例について説明する。なお、添付図面は本発明の原理に則った具体的な実施例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
【００１３】
なお、以下の実施例において、「CE#」は、チップ・イネーブル信号であり、チップを選択するための信号を表す。また、「R/B#」は、レディ・ビジー信号であり、チップの動作状態を知らせる信号を表す。また、「DQ」は、データ信号である。
【００１４】
＜第１実施例＞
図１は、基板上に実装された本実施例の信号伝送システムの構成の例を示す。基板１００上には、メモリコントローラ２００と複数のフラッシュメモリ（半導体メモリ）３００とが設けられている。本実施例では、４個のフラッシュメモリ３００が基板１００上に配置されている。なお、本実施例では、１個のメモリコントローラに対して４個のフラッシュメモリを接続しているが、この構成に限定されず、メモリコントローラ２００とフラッシュメモリ３００とを１：ｎ（任意の数）で接続した構成が可能である。また、フラッシュメモリ３００は、複数のチップを備えている。本実施例では、例えば、各フラッシュメモリ３００が、８個のチップを備えている。
【００１５】
本実施例は、メモリコントローラ２００とフラッシュメモリ３００との間を接続する信号伝送システムである。CE#信号は、フラッシュメモリ３００のチップを選択するための信号であり、R/B#信号は、フラッシュメモリ３００のチップの動作状態（すなわち、ビジー状態）を知らせる信号である。なお、本実施例では、CE#信号及びR/B#信号のそれぞれが、１６bit必要になる場合を想定している。
【００１６】
また、図１において、DQ[0:7]は、０番目から７番目までのデータ信号を表しており、すなわち、８本のDQ信号の信号線があることを意味する。本実施例では、８本のDQ信号の信号線が、各フラッシュメモリ３００に対応して４セットあるため、３２bit（８×４）分のDQ信号の信号線がある。
【００１７】
以下に、メモリコントローラ２００において、チップを選択するCE#信号のためのピンの数と、チップの動作状態を知らせるR/B#信号のためのピンの数とを削減する信号伝送システムの例を説明する。
【００１８】
メモリコントローラ２００は、CE#信号をエンコードするエンコード回路４００を備える。エンコード回路４００は、CE#信号をエンコードして、エンコードされたCE#信号（５bit）を出力する。この５bitの信号の内訳を説明すると、４bitが、１６bitのチップ選択用の信号として使用され、１bitが、チップを選択しないための信号（全てｏｆｆ）として使用される。
【００１９】
基板１００は、メモリコントローラ２００とフラッシュメモリ３００との間に設けられた半導体素子７００を備える。半導体素子７００は、エンコード回路４００によってエンコードされたCE#信号をデコードするデコード回路５００と、フラッシュメモリ３００からR/B#信号を受け取り、制御信号８０１をメモリコントローラ２００に出力する制御回路６００とを備える。制御信号８０１は、CE#信号によって選択されたチップがビジー状態であるかを示す信号であり、１bitの信号である。すなわち、制御回路６００は、CE#信号によって選択されたチップがビジー状態であるかを検出するものである。メモリコントローラ２００は、CE#信号によって選択されたチップがビジー状態であるかを制御信号８０１によって知ることができ、CE#信号の再送信を制御することができる。
【００２０】
図２は、制御回路の一例を示した図である。図１の制御回路６００は、さまざまな実現方法が考えられるが、例としてCE#信号をR/B#信号でマスクする回路１１００などが考えられる。
【００２１】
回路１１００は、複数の第１のＯＲ回路１１０１と、第２のＯＲ回路１１０２とを備える。デコード回路５００は、エンコード回路４００によってエンコードされた５bitの信号をデコードして、１６bitのCE#信号とする。１６bitのCE#信号のそれぞれは、第１のＯＲ回路１１０１に入力される。なお、図２では、省略されているが、実際には、１６bit分のCE#信号の信号線がデコード回路５００から延びており、CE#信号の信号線毎に第１のＯＲ回路１１０１が配置される。また、CE#信号によって選択されるチップに対応するR/B#信号が、ＮＯＴ入力として第１のＯＲ回路１１０１に入力される。これにより、チップがビジー状態の場合、CE#信号がフラッシュメモリ３００に伝送されず、R/B#信号を使ってCE#信号を制御することが可能となる。
【００２２】
また、第１のＯＲ回路１１０１の出力のそれぞれは、第２のＯＲ回路１１０２に入力される。そして、第２のＯＲ回路１１０２の出力が制御信号８０１としてメモリコントローラ２００に出力される。このように、CE#信号と、そのCE#信号によって選択されるチップに対応するR/B#信号とのＯＲ演算を第１のＯＲ回路１１０１で行い、第１のＯＲ回路１１０１の出力を第２のＯＲ回路１１０２でＯＲ演算して、制御信号８０１を出力する。これにより、回路１１００は、CE#信号によって選択されたチップがビジー状態であるかの判定を制御信号８０１として出力することが可能となる。これにより、メモリコントローラ２００は、CE#信号によって選択されたチップがビジー状態であるかを制御信号８０１によって知ることができる。
【００２３】
なお、制御回路６００の構成は、上述の回路１１００に限定されず、選択されたチップがビジー状態であるかを検出できる構成ならば、他の構成で実現してもよい。また、R/B#信号を使ってCE#信号を制御する構成も、他の構成で実現してもよい。
【００２４】
図３は、従来のメモリコントローラにおける信号線を示し、図４は、本実施例を適用した場合の信号線を示す。図３に示すように、従来では、CE#信号及びR/B#信号の両方の信号線が、メモリコントローラ２００からフラッシュメモリ３００に接続されている。本実施例によれば、図４に示すように、CE#信号の信号線のみが、メモリコントローラ２００から半導体素子７００に接続される。また、フラッシュメモリ３００からのR/B#信号の信号線は、半導体素子７００に接続されるので、メモリコントローラ２００に入力されるR/B#信号の信号線を削減することができ、結果として、メモリコントローラ２００におけるR/B#信号用のピンを削減することができる。したがって、本実施例を適用すれば、信号線の本数を減らすことができるため、基板１００における信号線の占有面積が小さくなり、高密度実装を実現することができる。また、メモリコントローラ２００において空いたピンをコネクタの電源用のピンやグランドピンとして使用することもでき、信号品質を向上させることができる。
【００２５】
図５は、従来の基板の構成を示し、図６は、本実施例を適用した場合の基板の構成を示す。メモリコントローラ２００から各種の信号の信号線１２００を延ばす場合、メモリコントローラ２００と信号線（配線）１２００とをハンダボール１３００で接続し、各信号線１２００は、配線層として層状に構成される。図３で説明したように、従来では、CE#信号及びR/B#信号の両方の信号線が、メモリコントローラ２００からフラッシュメモリ３００に接続されている。したがって、図５に示すように、基板１００の配線層の層数が大きくなる。一方、本実施例によれば、図４で説明したように、メモリコントローラ２００に入力されるR/B#信号の信号線を削減することができる。したがって、図６に示すように、基板１００の配線層の層数を減らすことができ、基板１００の低コスト化を実現することができる。
【００２６】
以上のように、本実施例によれば、CE#信号をエンコードすることにより、メモリコントローラ２００から出力されるCE#信号数が低減でき、さらに、フラッシュメモリ３００から出力されるR/B#信号を半導体素子７００で受信し、CE#信号の制御を実現することができる。例えば、図２の回路１１００は、R/B#信号を使って、CE#信号をマスクする。回路１１００では、フラッシュメモリ３００のチップがビジー状態の場合、CE#信号がフラッシュメモリ３００に伝送されない。また、回路１１００は、選択したチップがビジー状態であることを制御信号８０１によってメモリコントローラ２００に知らせ、CE#信号を制御することが可能となる。
【００２７】
本実施例では、フラッシュメモリ３００からのR/B#信号の信号線は、半導体素子７００に接続される。図４に示すように、R/B#信号の信号線をメモリコントローラ２００に接続する必要がないため、メモリコントローラ２００において必要なピン数を大幅に削減できる。もしくは、メモリバスに対するメモリコントローラ２００の必要なピン数が減ったことにより、メモリコントローラ２００でより多くのメモリバスをコントロールすることが可能となる。その結果、信号伝送システムの高性能化（スループット向上）を実現することが可能になる。
【００２８】
また、メモリコントローラ２００とフラッシュメモリ３００を接続する信号伝送システムにおいて、チップを選択するCE#信号のためのピンの数と、チップの動作状態を知らせるR/B#信号のためのピンの数とを削減することにより、メモリコントローラ２００の低コスト化を実現し、さらに高密度実装できる。以下に具体的なピンの削減数を示す。
【００２９】
本実施例では、基板１００上に４個のフラッシュメモリ３００が実装され、CE#信号及びR/B#信号のそれぞれが、１６bit必要になる場合を想定している。この場合、メモリコントローラ２００においてCE#信号及びR/B#信号のために必要なピン数は３２ピンである。本実施例では、メモリコントローラ２００においてCE#信号をエンコードするため、CE#信号分の１６ピンを５ピン（４ピン（１６bitの選択）＋１ピン（全ピンｏｆｆ用））にできる。さらに、フラッシュメモリ３００から出力されるR/B＃信号を半導体素子７００に入力し、CE#信号をR/B#信号でマスク処理をする。また、メモリコントローラ２００には、そのマスク処理の結果を伝える１bit分の信号線（制御信号８０１の信号線）が接続される。つまり、R/B#信号分の１６ピンを１ピンに削減できる。以上より、CE#信号及びR/B#信号のために必要なピン数が３２ピンから６ピンに削減され、必要なピン数を約８割削減できる。
【００３０】
なお、本実施例は、より好ましい形態であり、変形例として、説明した構成の一部を削除して本発明を構成することが可能である。本実施例では、CE#信号のために必要なピン数を削減するために、メモリコントローラ２００は、CE#信号をエンコードするエンコード回路４００を備え、半導体素子７００が、デコード回路５００を備える。例えば、これらのエンコード回路４００及びデコード回路５００を削除して本発明を構成することも可能である。メモリコントローラ２００において必要なピン数を削減するという点においては、信号伝送システムが、CE#信号によって選択されたチップがビジー状態であるかを検出する制御回路６００を少なくとも備えればよい。
【００３１】
＜第２実施例＞
図７は、基板上に実装された本実施例の信号伝送システムの構成図の例を示す。なお、第２実施例において上述した実施例と同じ構成要素については同じ符号を付し、説明を省略する。以下では、第１実施例と構成が異なる部分のみを説明する。
【００３２】
本実施例では、メモリコントローラ２００とフラッシュメモリ３００との間にスイッチ回路８００を配置する。スイッチ回路８００は、DQ信号をスイッチする回路である。本実施例では、８bit分のDQ信号の信号線が、メモリコントローラ２００からスイッチ回路８００に接続される。また、３２bit（８×４）分のDQ信号の信号線が、スイッチ回路８００からフラッシュメモリ３００に接続される。
【００３３】
メモリコントローラ２００は、スイッチ回路８００におけるスイッチを制御するための制御信号８０２を出力する回路２０１を備える。そして、２bit分の制御信号８０２の信号線が、メモリコントローラ２００からスイッチ回路８００に接続される。したがって、制御信号８０２によって、スイッチ回路８００においてどのDQ信号の信号線を選択するかを制御することが可能となる。
【００３４】
本実施例によれば、メモリコントローラ２００とフラッシュメモリ３００との間にスイッチ回路８００を設けることにより、メモリコントローラ２００におけるDQ信号のためのピン数を減らすことができる。具体的には、DQ信号分の３２ピンを１０ピン（８bit（DQ信号用）＋２bit（制御信号８０２用））に削減することができる。このように、メモリコントローラ２００のDQ信号のためのピン数も減らすことで、実施例１の効果をより高めることができる。
【００３５】
＜第３実施例＞
図８は、基板上に実装された本実施例の信号伝送システムの構成図の例を示す。なお、第３実施例において上述した実施例と同じ構成要素については同じ符号を付し、説明を省略する。以下では、第２実施例と構成が異なる部分のみを説明する。
【００３６】
本実施例では、スイッチ回路８００が、半導体素子７００内に実装されている。第３実施例の特徴は、スイッチ回路８００を制御する制御信号８０２をメモリコントローラ２００ではなく、半導体素子７００内部で生成することである。
【００３７】
半導体素子７００内部でスイッチ回路８００を制御する制御信号を生成する回路は、さまざまな実現方法が考えられるが、例としてCE#信号を利用して制御信号８０２を生成する回路が考えられる。CE#信号はフラッシュメモリ３００のどのチップを選択するかを示しているので、CE#信号を用いることができる。
【００３８】
例えば、半導体素子７００は、デコード回路５００とスイッチ回路８００との間に４個のＯＲ回路を備える。デコード回路５００から出力される１６bitのCE#信号に関して、同一のフラッシュメモリ３００を選択する４bitのCE#信号は、同一のＯＲ回路に入力され、各ＯＲ回路の出力が、スイッチ回路８００に入力される。この構成によれば、CE#信号を用いて、どのフラッシュメモリ３００が選択されるかをスイッチ回路８００に知らせることができる。すなわち、ＯＲ回路の出力を、スイッチ回路８００を制御する制御信号８０２として用いることができる。なお、半導体素子７００内部で制御信号を生成する構成は、上述の構成に限定されず、他の構成で実現してもよい。
【００３９】
本実施例によれば、メモリコントローラ２００においてスイッチ回路８００用の制御信号のためのピン数を減らすことができる。また、デコード回路５００と制御回路６００とスイッチ回路８００とを１つの半導体素子７００で実装することができるので、これらを別個に実装した場合に比べて、基板１００上の実装スペースを削減することができる。
【００４０】
＜第４実施例＞
図９は、DIMM基板上にフラッシュメモリと半導体素子を実装し、基板上にメモリコントローラを実装した構成の例を示す。なお、第４実施例において上述した実施例と同じ構成要素については同じ符号を付し、説明を省略する。
【００４１】
基板１００上には、DIMMコネクタ１０００を介してDIMM基板９００が接続されている。また、フラッシュメモリ３００と半導体素子７００が、DIMM基板９００上に実装されている。また、メモリコントローラ２００が基板１００上に実装されている。第４実施例の特徴は、DIMM基板９００を変えることにより、メモリ容量のバリエーションに対応できる点である。さらに、半導体素子７００をDIMM基板９００上に実装することにより、DIMMコネクタ１０００の信号に必要なピン数を削減することができる。また、空いたピンをDIMMコネクタ１０００の電源用のピンやグランドピンとして使用することもでき、信号品質を向上させることができる。
【００４２】
＜第５実施例＞
本発明の信号伝送システムは次の計算機システムにも適用可能である。図１０は、ストレージシステムを有する計算機システムの構成の一例である、また、図１１は、図１０のストレージシステムの記憶デバイスであるフラッシュパッケージの一例である。
【００４３】
計算機システムは、複数のコンピュータ１０と、ストレージシステム１とを有する。コンピュータ１０とストレージシステム１とは、通信ネットワーク、例えば、ＳＡＮ（Storage Area Network）１２を介して接続されている。
【００４４】
ストレージシステム１は、ストレージコントローラ２と、ストレージコントローラ２に接続された記憶デバイス群１４とを有する。記憶デバイス群１４は、異種の記憶媒体を含んで構成されても良いし、同種の記憶媒体より構成されても良い。本実施例では、記憶デバイス群１４は、複数のフラッシュパッケージ１５を備える。
【００４５】
ストレージコントローラ２は、通信インタフェースデバイスと、記憶デバイスと、通信インタフェースデバイス及び記憶デバイスに接続された制御デバイスとを有する。ストレージコントローラ２は、通信インタフェースデバイスとして、例えば、ＳＡＮインタフェース（Ｉ／Ｆ）６及びディスクインタフェース（Ｉ／Ｆ）７を備える。ＳＡＮインタフェース６は、ＳＡＮ１２に接続され、ディスクインタフェース７は、記憶デバイス群１４に接続される。
【００４６】
ストレージコントローラ２は、記憶デバイスとして、例えば、メモリ４及びキャッシュメモリ５を備える。また、ストレージコントローラ２は、制御デバイスとして、例えば、ＣＰＵ３を備える。制御デバイスは、ＣＰＵ３のようなプロセッサの他に、所定の処理（例えば圧縮、伸長、暗号化又は復号化）を行う専用ハードウェア回路を含んでも良い。
【００４７】
メモリ４には、ストレージコントローラ２がストレージシステム１を管理するための各種プログラム、及び情報が記憶される。ＣＰＵ３は、メモリ４に記憶された情報に基づき、プログラムを実行することにより所定の処理を実行することができる。
【００４８】
キャッシュメモリ５は、通常、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発メモリである。キャッシュメモリ５は、記憶デバイス群１４のいずれかにライトされるデータ、及び記憶デバイス群１４からリードされたデータを一時的に格納する。例えば、ストレージコントローラ２は、コンピュータ１０からライト要求を受け付け、そのライト要求に従うデータをキャッシュメモリ５に書き込み、そのライト要求を完了させる（例えば、ライト要求に対する完了報告をコンピュータ１０に送信する）。
【００４９】
記憶デバイス群１４は、ＲＡＩＤ（Redundant Array of Independent (or Inexpensive) Disks)グループを有する。ＲＡＩＤグループには、所定のＲＡＩＤレベルに従ってデータが格納される。ＲＡＩＤグループの記憶空間を基に、論理ボリューム（以下、「ＶＯＬ」と言う）が作成される。ＶＯＬは、コンピュータ１０に提供される種類のＶＯＬもあれば、そうではない種類のＶＯＬもある。前者のＶＯＬは、コンピュータ１０からのＩ／Ｏ要求で指定される。後者のＶＯＬは、例えば、コンピュータ１０に提供される仮想的なＶＯＬ（Thin Provisioningに従うＶＯＬ）に割り当てられる記憶領域を含んだプールの構成要素となる。
【００５０】
例えば、記憶デバイス群１４は、ＲＡＩＤグループとして、複数のフラッシュパッケージ１５で構成される。フラッシュパッケージ１５の構成を図１１を用いて説明する。
【００５１】
フラッシュパッケージ１５は、複数のＦＭ（Flash Memory）チップ３２と、それらに接続されたＦＭコントローラ２０とを有する。ＦＭチップ３２は、例えば、複数の物理ブロックで構成されている。各物理ブロックは、複数の物理ページで構成されている。ＦＭチップ３２は、例えば、ＮＡＮＤ型のフラッシュメモリである。ＦＭチップ３２の各セルは、ＳＬＣ（Single Level Cell）でもＭＬＣ（Multi Level Cell）でも良い。
【００５２】
ＦＭコントローラ２０は、通信インタフェースデバイスと、記憶デバイスと、通信インタフェースデバイス及び記憶デバイスに接続された制御デバイスとを有する。ＦＭコントローラ２０は、通信インタフェースデバイスとして、例えば、上位インタフェース（Ｉ／Ｆ）２３及び複数のＦＭインタフェース（Ｉ／Ｆ）制御部２４を備える。また、ＦＭコントローラ２０は、記憶デバイスとして、例えば、ＤＲＡＭ１１を備える。また、ＦＭコントローラ２０は、制御デバイスとして、例えば、ＣＰＵ２１を備える。
【００５３】
ＦＭコントローラ２０は、内部バス２２を介してＤＲＡＭ１１と接続している。ＤＲＡＭ１１には、フラッシュパッケージ１５を管理するための各種プログラム、及び情報が記憶されている。ＣＰＵ２１は、ＤＲＡＭ１１に記憶された情報に基づき、プログラムを実行することにより各種機能を実現することができる。
【００５４】
ＦＭインタフェース制御部２４は、ＳＷ（Switch）３１に接続され、ＳＷ３１は、DIMM基板３０に実装された複数のＦＭチップ３２に接続されている。ＦＭインタフェース制御部２４は、CE#信号を用いて、複数のＦＭチップ３２を独立して制御する。ＦＭインタフェース制御部２４は、ＣＰＵ２１からのリード／ライト要求に応じて動作する。そのリード／ライト要求では、リード元或いはライト先の領域の物理アドレス（ＰＢＡ（Physical Block Address））が指定されている。
【００５５】
ＦＭインタフェース制御部２４は、このＰＢＡから、リード元或いはライト先の物理ブロック及び物理ページを算出し、算出した物理ブロック及び物理ページについてリード／ライト処理を行う。また、ＦＭインタフェース制御部２４は、ＥＣＣ（Error Correction Code）生成回路と、ＥＣＣ訂正回路とを備える。データのライト時には、バッファで、ＥＣＣ生成回路が圧縮データに対してＥＣＣを生成し、ＦＭチップ３２に圧縮データがＥＣＣと共にライトされる。また、データのリード時には、ＦＭチップ３２からの圧縮データ（リードデータ）をＥＣＣ訂正回路が検査し、データ損失が検出された場合には、ＥＣＣ訂正回路により、圧縮データの訂正が行われる。
【００５６】
上述した実施例は、図１１のＦＭインタフェース制御部２４とＦＭチップ３２との間の信号伝送システムに適用することができる。ＦＭインタフェース制御部２４は、CE#信号をエンコードするエンコード回路を備える。また、半導体素子７００が、ＦＭインタフェース制御部２４とＦＭチップ３２との間に配置されている。半導体素子７００は、ＦＭチップ３２とともに、DIMM基板３０上に実装されている。
【００５７】
半導体素子７００は、上述の実施例と同じ機能を有する。すなわち、半導体素子７００は、（１）ＦＭインタフェース制御部２４でエンコードされたCE#信号をデコードするデコード回路と、（２）ＦＭチップ３２から出力されるR/B#信号によりCE#信号を制御し、且つ、CE#信号により選択したチップがビジー状態であった場合は、ビジー状態であることを制御信号によってＦＭインタフェース制御部２４に知らせる制御回路と、を有する。
【００５８】
なお、ＳＷ３１は、図７のスイッチ回路８００に相当する。ＦＭインタフェース制御部２４は、ＳＷ３１におけるスイッチを制御するための制御信号を出力する回路を備える。この制御信号によって、ＳＷ３１においてどのDQ信号の信号線を選択するかを制御することが可能となる。当然ながら、図１０で示したように、ＳＷ３１を半導体素子７００の内部に設けて、ＳＷ３１のスイッチを制御する制御信号を半導体素子７００において生成するようにしてもよい。
【００５９】
本実施例によれば、信号伝送システムの低コスト化だけでなく、ストレージシステム等の計算機システムにおけるフラッシュメモリ素子の接続による大容量化と高密度実装に効果的である。
【００６０】
また、上述した実施例は、ストレージコントローラ２の内部のメモリ４あるいはキャッシュメモリ５にフラッシュメモリ（ＦＭ）が用いられる場合に適用することもできる。例えば、これらのメモリ４，５を制御するＣＰＵ３とメモリ４，５との間の信号伝送システムに上述した実施例を適用することができる。
【００６１】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００６２】
また、信号配線や各構成の素子は説明上必要と考えられるものを示しており、製品上必ずしも全ての信号配線や各構成の素子を示しているとは限らない。実際には各構成を結ぶ信号配線トポロジーの種類や各構成の素子数が複数になる場合があると考えてもよい。
【符号の説明】
【００６３】
１        ：ストレージシステム
２        ：ストレージコントローラ
３        ：ＣＰＵ
４        ：メモリ
５        ：キャッシュメモリ
６        ：ＳＡＮインタフェース
７        ：ディスクインタフェース
１０      ：コンピュータ
１１      ：ＤＲＡＭ
１４      ：記憶デバイス群
１５      ：フラッシュパッケージ
２０      ：ＦＭコントローラ
２１      ：ＣＰＵ
２２      ：内部バス
２３      ：上位インタフェース
２４      ：ＦＭインタフェース制御部（半導体メモリ制御部）
３０      ：DIMM基板
３２      ：ＦＭチップ（半導体メモリ）
１００    ：基板
２００    ：メモリコントローラ
２０１    ：回路
３００    ：フラッシュメモリ（半導体メモリ）
４００    ：エンコード回路
５００    ：デコード回路
６００    ：制御回路
７００    ：半導体素子
８００    ：スイッチ回路
９００    ：DIMM基板
１０００  ：DIMMコネクタ
１１００  ：回路
１１０１  ：第１のＯＲ回路
１１０２  ：第２のＯＲ回路
【図１】
0005913737.tif 000002
【図２】
0005913737.tif 000003
【図３】
0005913737.tif 000004
【図４】
0005913737.tif 000005
【図５】
0005913737.tif 000006
【図６】
0005913737.tif 000007
【図７】
0005913737.tif 000008
【図８】
0005913737.tif 000009
【図９】
0005913737.tif 000010
【図１０】
0005913737.tif 000011
【図１１】
0005913737.tif 000012