(57)【要約】  ストレージシステムは、コントローラ部と、データ記憶部と、それらを接続する信号の伝送路とを有する。コントローラ部の有するドライバが、設定されたパラメータに基づいてライトデータを含む信号を発信し、データ記憶部の有するレシーバがその信号を受信し、その信号に含まれるライトデータが第１記憶領域にライトされる。コントローラ部は、第１記憶領域からライトデータをリードし、そのライトデータにビットエラーが存在するか否かを判定し、ビットエラーが存在する場合、パラメータを変更して同様の判定を繰り返し、ビットエラーが存在しなくなる適切なパラメータを発見する。
2015173946.tif 000002
【特許請求の範囲】
【請求項１】
コントローラ部と、データ記憶部と、前記コントローラ部と前記データ記憶部とを接続する信号の伝送路と、を有し、
前記コントローラ部は、前記伝送路へ発信する信号の特性を決定するパラメータに基づいて、前記伝送路へ信号を発信するドライバを有し、
前記データ記憶部は、前記伝送路を通じて伝送された信号を受信するレシーバと、データが一時的に記憶される第１記憶領域と、前記第１記憶領域に一時的に記憶された前記データが最終的に記憶される第２記憶領域と、を有し、
前記コントローラ部は、テスト用のパラメータを前記ドライバに設定し、前記ドライバは、その設定されたテスト用のパラメータに基づいて、ライトデータを含む信号を前記伝送路へ発信し、
前記レシーバは、前記ドライバから発信された信号を前記伝送路を通じて受信し、前記データ記憶部は、前記レシーバの受信した信号に含まれる前記ライトデータを前記第１記憶領域にライトし、
前記コントローラ部は、前記第１記憶領域から前記ライトデータをリードし、そのリードしたライトデータにビットエラーが存在するか否かを判定し、その判定の結果を基に、前記ドライバに使用するパラメータを決定する
ストレージシステム。
【請求項２】
前記コントローラ部は、
前記第１記憶領域からリードしたライトデータに前記ビットエラーが存在しない場合、前記ドライバに設定したテスト用のパラメータを前記ドライバに使用するパラメータに決定し、
前記第１記憶領域からリードしたライトデータに前記ビットエラーが存在する場合、先に設定したテスト用のパラメータよりも前記ライトデータの通信速度が遅くなるようなテスト用のパラメータを設定して、再度、前記データ記憶部の前記第１記憶領域に対する前記ライトデータのライト及びリードと前記判定とを実行する
請求項１に記載のストレージシステム。
【請求項３】
前記第２記憶領域は、記憶しているデータにビットエラーを生じさせ得る不揮発性記憶媒体で構成されている
請求項２に記載のストレージシステム。
【請求項４】
前記伝送路には、前記データ記憶部として第１データ記憶部と第２データ記憶部とが接続されており、
前記コントローラ部は、
前記第１データ記憶部及び前記第２データ記憶部の各々に対して、前記ライトデータのライト及びリードと前記判定とを実行して、前記第１データ記憶部に使用する第１パラメータと、前記第２データ記憶部に使用する第２パラメータとを決定し、
前記第１データ記憶部へデータを送信する場合には、前記ドライバに前記第１パラメータを使用し、前記第２メモリ部へデータを送信する場合には、前記ドライバに前記第２パラメータを使用する
請求項３に記載のストレージシステム。
【請求項５】
前記伝送路の前記データ記憶部側の接続先を、前記第１データ記憶部及び前記第２データ記憶部の何れか１つに切り替えるスイッチ部を備え、
前記コントローラ部は、
前記スイッチ部の接続先を前記第１データ記憶部に切り替えて、前記ライトデータのライト及びリードと前記判定とを実行して、前記第１データ記憶部に使用する前記第１パラメータを決定し、前記スイッチ部の接続先を前記第２データ記憶部に切り替えて、前記ライトデータのライト及びリードと前記判定とを実行して、前記第２データ記憶部に使用する前記第２パラメータを決定し、
前記第１データ記憶部へデータを送信する場合には、前記スイッチ部の接続先を前記第１データ記憶部に切り替え、前記ドライバに前記第１パラメータを使用し、
前記第２データ記憶部へデータを送信する場合には、前記スイッチ部の接続先を前記第２データ記憶部に切り替え、前記ドライバに前記第２パラメータを使用する
請求項４に記載のストレージシステム。
【請求項６】
前記伝送路の前記データ記憶部側の接続先を、第１データ記憶部及び第２データ記憶部で構成された第１グループと、第３データ記憶部及び第４データ記憶部で構成された第２グループとの何れか１つに切り替えるスイッチ部を備え、
前記コントローラ部は、
前記スイッチ部の接続先を、前記第１グループに切り替えて、前記第１グループに対して、前記ライトデータのライト及びリードと前記判定とを実行して、前記第１グループに使用する第１パラメータを決定し、前記スイッチ部の接続先を、前記第２グループに切り替えて、前記第２グループに対して、前記ライトデータのライト及びリードと前記判定とを実行して、前記第２グループに使用する第２パラメータを決定し、
前記第１データ記憶部又は前記第２データ記憶部へデータを送信する場合には、前記スイッチ部の接続先を、前記第１グループに切り替えて、前記ドライバに前記第１パラメータを使用し、
前記第３データ記憶部又は前記第４データ記憶部へデータを送信する場合には、前記スイッチ部の接続先を、前記第２グループに切り替えて、前記ドライバに前記第２パラメータを使用する
請求項３に記載のストレージシステム。
【請求項７】
前記パラメータは、前記ドライバの出力する信号の電流値を決定するドライブ強度であり、
前記通信速度が遅くなるようなテスト用のパラメータを設定するとは、先に設定したドライブ強度よりも前記電流値が大きくなるようなドライブ強度を設定することである
請求項３に記載のストレージシステム。
【請求項８】
前記パラメータは、前記ドライバの出力する信号のスルーレートを決定するスルーレート調整値であり、
前記通信速度が遅くなるようなテスト用のパラメータを設定するとは、先に設定したスルーレート調整値よりも前記スルーレートが大きくなるようなスルーレート調整値を設定することである
請求項３に記載のストレージシステム。
【請求項９】
前記パラメータは、前記レシーバに係る終端抵抗の大きさを決定する抵抗値であり、
前記通信速度が遅くなるようなテスト用のパラメータを設定するとは、先に設定した抵抗値よりも大きい抵抗値を設定することである
請求項３に記載のストレージシステム。
【請求項１０】
前記ドライバに設定されたパラメータを外部に出力するためのインタフェース部をさらに備える
請求項７に記載のストレージシステム。
【請求項１１】
伝送路の一方に接続されたコントローラ部と、前記伝送路の他方に接続されたデータ記憶部との間で信号を伝送する方法であって、
前記コントローラ部は、前記伝送路へ発信する信号の特性を決定するパラメータに基づいて、前記伝送路へ信号を発信するドライバを有しており、
前記データ記憶部は、前記伝送路を通じて伝送された信号を受信するレシーバと、データが一時的に記憶される第１記憶領域と、前記第１記憶領域に一時的に記憶された前記データが最終的に記憶される第２記憶領域と、を有しており、
前記コントローラ部が、テスト用のパラメータを前記ドライバに設定し、前記ドライバが、その設定されたテスト用のパラメータに基づいて、ライトデータを含む信号を前記伝送路へ発信し、
前記レシーバが、前記ドライバから発信された信号を前記伝送路を通じて受信し、前記データ記憶部が、前記レシーバの受信した信号に含まれる前記ライトデータを前記第１記憶領域にライトし、
前記コントローラ部が、前記第１記憶領域から前記ライトデータをリードし、そのリードしたライトデータにビットエラーが存在するか否かを判定し、その判定の結果を基に、前記ドライバに使用するパラメータを決定する
信号伝送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号伝送の技術に関する。
【背景技術】
【０００２】
情報処理装置のチップ間におけるデータ通信の高速化が求められている。データ通信速度は、そのデータを含む信号特性の影響を受ける。特許文献１には、半導体装置の信号出力のドライバと同一構成のレプリカ回路を含むキャリブレーション回路を、チップ内に予め用意し、ドライバに最大電流を流す電圧条件をレプリカ回路に与え、レプリカ回路のインピーダンスを、外部端子に接続された外部抵抗に一致させるように制御することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１０１１４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の方法は、チップ内にレプリカ回路を含むキャリブレーション回路を必要とし、さらに外部抵抗も必要とする。そのため、この方法は、回路規模が大きくなり、コストが上昇するという課題がある。【０００５】
また、ドライバ（信号の発信回路）とレシーバ（信号の受信回路）とにより構成されるデジタル信号回路において、レシーバには、製造段階の環境又はメーカの違いなどによる負荷容量のバラツキが存在し得る。よって従来、ドライバには、この負荷容量のバラツキを考慮して、安全マージンを含むパラメータが設定される。しかし、この安全マージンを含む分、ドライバとレシーバとの間のデータ通信速度は遅くなっている。【０００６】
また、レシーバが、フラッシュメモリ（以下「ＦＭ」）で構成された記憶装置である場合、ＦＭには、記憶されているデータに自然にビットエラーが生じ得るという特性が存在する。【０００７】
そこで、本発明の目的は、レシーバの負荷容量にバラツキが存在し得る環境において、ドライバとレシーバとの間の信号伝送に係るデータ通信速度を向上させることにある。また、本発明の別の目的は、レシーバ側がＦＭ等のように自然にビットエラーが生じ得る記憶媒体で構成されている場合において、上記のデータ通信速度を向上し得るドライバの信号発信に係るパラメータを見つけることにある。
【課題を解決するための手段】
【０００８】
本発明の一実施形態に係るストレージシステムは、コントローラ部と、データ記憶部と、コントローラ部とデータ記憶部とを接続する信号の伝送路と、を有する。
コントローラ部は、伝送路へ発信する信号の特性を決定するパラメータに基づいて、伝送路へ信号を発信するドライバを有する。
データ記憶部は、伝送路を通じて伝送された信号を受信するレシーバと、データが一時的に記憶される第１記憶領域と、第１記憶領域に一時的に記憶されたデータが最終的に記憶される第２記憶領域と、を有する。
コントローラ部は、テスト用のパラメータをドライバに設定し、そのドライバは、その設定されたテスト用のパラメータに基づいて、ライトデータを含む信号を前記伝送路へ発信する。
レシーバは、ドライバから発信された信号を伝送路を通じて受信し、データ記憶部は、レシーバの受信した信号に含まれるライトデータを第１記憶領域にライトする。
コントローラ部は、第１記憶領域からライトデータをリードし、そのリードしたライトデータにビットエラーが存在するか否かを判定し、その判定の結果を基にドライバに使用するパラメータを決定する。【０００９】
コントローラ部は、第１記憶領域からリードしたライトデータにビットエラーが存在しない場合、ドライバに設定したテスト用のパラメータをそのドライバに使用するパラメータに決定し、第１記憶領域からリードしたライトデータにビットエラーが存在する場合、先に設定したテスト用のパラメータよりもライトデータの通信速度が遅くなるようなテスト用のパラメータを設定して、再度、データ記憶部の第１記憶領域に対するライトデータのライト及びリードと判定とを実行してもよい。
【発明の効果】
【００１０】
本発明によれば、レシーバの負荷容量にバラツキが存在し得る環境において、ドライバとレシーバとの間のデータ通信速度を向上させることができる。また、本発明によれば、レシーバ側がＦＭなどのような自然にビットエラーが生じ得る記憶媒体で構成されている場合において、上記のデータ通信速度を向上させることのできるドライバのパラメータを見つけることができる。
【図面の簡単な説明】
【００１１】
【図１】実施例１に係る信号伝送システムの構成図である。
【図２】トレーニング処理の一例を示すフローチャートである。
【図３】実施例２に係る信号伝送システムの構成図である。
【図４】実稼働においてフラッシュメモリにデータをライトする処理を示すフローチャートである。
【図５】実施例３に係る信号伝送システムの構成図である。
【図６】実施例４に係る信号伝送システムの構成図である。
【図７】実施例５に係るシステムの構成図である。
【発明を実施するための形態】
【００１２】
以下、幾つかの実施例を、図面を参照しながら説明する。
【実施例１】
【００１３】
図１は、実施例１に係る信号伝送システム１の構成図である。【００１４】
信号伝送システム１は、コントローラ１００と、記憶装置２００と、コントローラ１００及び記憶装置２００を接続する伝送路３００と、を備える。コントローラ１００と記憶装置２００とは、伝送路３００を通じて電気的な信号を送受信することにより、データ通信を行う。【００１５】
コントローラ１００は、記憶装置２００に対するデータの入出力をコントロールする。コントローラ１００は、プロセッサ１２０と、参照用レジスタ１０４と、設定用レジスタ１０５と、第１ドライバ１０１と、第１レシーバ１０３とを備える。【００１６】
第１ドライバ１０１は、伝送路３００のコントローラ１００側の端子に接続されており、伝送路３００へ信号を発信することができる。第１ドライバ１０１に設定されているドライブ強度（以下、設定ドライブ強度）１０２が変更されると、第１ドライバ１０１の発信信号の電流値が変化する。プロセッサ１２０が設定ドライブ強度１０２を大きくすると、発信信号の電流値が大きくなり、プロセッサ１２０が設定ドライブ強度１０２を小さくすると、第１ドライバ１０１の発信信号の電流値が小さくなる。なお、「ドライブ強度」という言葉に代えて、「オン抵抗」という言葉を使用できる。つまり、「ドライブ強度」と「オン抵抗」とは等価である。例えば、設定ドライブ強度１０２が「２４ｍＡ」で電源電圧が「１．５Ｖ」とすると、「オン抵抗Ｒ＝１．５Ｖ／２４ｍＡ＝６２．５Ω」となる。すなわち、設定ドライブ強度１０２を大きくすることは、オン抵抗を小さくすることと等価であり、設定ドライブ強度１０２を小さくすることは、オン抵抗を大きくすることと等価である。以下の説明においても同様である。第１ドライバ１０１は、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などによって構成されてよい。【００１７】
第１レシーバ１０３は、伝送路３００のコントローラ１００側の端子に接続されており。伝送路３００上を伝送されてきた信号を受信することができる。すなわち、第１レシーバ１０３は、後述する記憶装置２００側の第２ドライバ２０５から発信された信号を受信する。第１レシーバ１０３は、ＦＰＧＡなどによって構成されてもよい。また、第１ドライバ１０１と第１レシーバ１０３とは１つのＦＰＧＡとして構成されてもよい。【００１８】
参照用レジスタ１０４には、第１ドライバ１０１に設定可能な複数のドライブ強度が予め登録されている。【００１９】
設定用レジスタ１０５には、第１ドライバ１０１に設定ドライブ強度１０２として設定可能な１又は２以上のドライブ強度が登録される。設定用レジスタ１０５に２以上のドライブ強度が登録されている場合、その２以上のドライブ強度の中から所定の条件に基づいて選択された１つのドライブ強度が、設定ドライブ強度１０２として第１ドライバ１０１に設定される。この詳細については後述する（他の実施例も含む）。【００２０】
プロセッサ１２０は、後述する「トレーニング処理」を実行し、参照用レジスタ１０４の中から適切なドライブ強度を見つける。プロセッサ１２０は、その適切なドライブ強度を、設定用レジスタ１０５に登録する。プロセッサ１２０は、データ送信時（信号発信時）、設定用レジスタ１０５に登録された１又は２以上のドライブ強度の中から所定の条件に基づいて１つのドライブ強度を選択し、第１ドライバ１０１に、設定ドライブ強度１０２として設定する。そして、プロセッサ１２０は、第１ドライバ１０１を制御して、データを載せた信号を伝送路３００へ発信する。プロセッサ１２０の詳細については後述する。【００２１】
記憶装置２００は、第２レシーバ２０３と、第２ドライバ２０５と、メモリセルアレイ２０１と、データレジスタ２０２と、を備える。メモリセルアレイ２００は、複数のＦＭチップで構成されており、データを保持することができる。データレジスタ２０２には、メモリセルアレイ２００にライトされるデータ又はメモリセルアレイ２００からリードされるデータが一時的に記憶される。つまり、データレジスタ２０２は、メモリセルアレイ２０１に対して入出力されるデータのバッファ領域ともいえる。【００２２】
第２レシーバ２０３は、伝送路３００の記憶装置２００の側の端子に接続されており、伝送路３００を伝送されてきた信号を受信する。すなわち、第２レシーバ２０３は、第１ドライバ１０１から発信された信号を受信する。【００２３】
第２ドライバ２０５は、伝送路３００の記憶装置２００の側の端子に接続されており、伝送路３００へ信号を発信する。第２ドライバ２０５と、第２レシーバ２０３とは別々のＦＰＧＡとして構成されてもよいし、１つのＦＰＧＡとして構成されてもよい。【００２４】
第１ドライバ１０１から見たとき、第２レシーバ２０３は、所定の負荷容量２０４を有する。負荷容量２０４の単位は、例えば「Ｆ（Ｆａｒａｄ）」である。第１ドライバ１０１の設定ドライブ強度１０２と、第２レシーバ２０３の負荷容量１０４との間でインピーダンス整合が取れていないと、信号の品質が劣化し、ひいてはデータ通信速度が遅くなる。ここで、第２レシーバ２０３の有する負荷容量２０４は、製造段階の環境又はメーカの違いなどによってバラツキが存在し得る。特に、メーカが違う場合にその傾向が大きい。また、伝送路３００の長さや太さなども、第１ドライバ１０２から見たときの第２レシーバ２０３の負荷容量２０４のバラツキの原因になる。したがって、最適なドライブ強度１０２は、信号伝送システム１毎に異なり得る。【００２５】
そこで、プロセッサ１２０は、第２レシーバ２０３の負荷容量２０４に適合する最適な第１ドライバ１０１の設定ドライブ強度１０２を見つけるための処理を行う。この最適な設定ドライブ強度１０２を見つける処理を「トレーニング処理」という。【００２６】
トレーニング処理は、信号伝送システム１を備える計算機が、稼働開始時に行ってもよい。また、計算機が稼働中に一定の周期でトレーニング処理を行ってもよい。また、計算機が、ユーザからの指示に基づいてトレーニング処理を行ってもよい。稼働開始時だけでなく、計算機の稼働中にトレーニング処理を行う理由は、計算機を長時間稼働させていると、第１ドライバ１０１、第２レシーバ２０３及び伝送路３００など、計算機の備える様々なデバイスが経年劣化し、最適な設定ドライブ強度１０２が変化する可能性があるためである。次に、このトレーニング処理の詳細を説明する。【００２７】
図２は、トレーニング処理の一例を示すフローチャートである。【００２８】
コントローラ１００のプロセッサ１２０は、参照用テーブル１０４に含まれる複数のドライブ強度の内の最小のドライブ強度（最大のオン抵抗）を選択し、第１ドライバ１０１に設定ドライブ強度１０２として設定する（Ｓ１０１）。【００２９】
プロセッサ１２０は、テストデータに係るライトコマンドを記憶装置２００へ送信する処理を行う。すなわち、第１ドライバ１０１は、Ｓ１０１において設定された設定ドライブ強度１０２に基づいて、テストデータに係るライトコマンドを含む信号を生成し、その信号を伝送路３００へ発信する。記憶装置２００の第２レシーバ２０３は、その信号を受信する。そして、記憶装置２００は、その受信した信号からテストデータを抽出し、そのテストデータをデータレジスタ２０２に記憶する（Ｓ１０２）。【００３０】
このとき、記憶装置２００が、テストデータをデータレジスタ２０２にのみライトし、メモリセルアレイ２０１にはライトしない旨のライトコマンド（「レジスタライトコマンド」という）をサポートしている場合、プロセッサ１２０は、ライトコマンドとして、このレジスタライトコマンドを記憶装置２００へ送信する。記憶装置２００は、レジスタライトコマンドを受信した場合、テストデータをデータレジスタ２０２にのみライトし、メモリセルアレイ２０１にはライトしない。これにより、ＦＭチップの寿命（書込回数）の低下を防ぐ。【００３１】
記憶装置２００が、上記のレジスタライトコマンドをサポートしていない場合、プロセッサ１２０は、いわゆる普通のライトコマンドを送信する。記憶装置２００は、普通のライトコマンドを受信した場合、テストデータをメモリセルアレイ２０１にライトするが、その際テストデータはキャッシュとしてデータレジスタ２０２にもライトされる。すなわち、何れにしても、テストデータはデータレジスタ２０２にライトされる。【００３２】
次に、プロセッサ１２０は、テストデータに係るリードコマンドを記憶装置２００へ送信する処理を行う。すなわち、第１ドライバ１０１は、Ｓ１０１において設定された設定ドライブ強度１０２に基づいて、テストデータに係るリードコマンドを含む信号を生成し、その信号を伝送路３００へ発信する。記憶装置２００の第２レシーバ２０３は、その信号を受信する。そして、記憶装置２００は、その受信した信号からリードコマンドを抽出し、そのリードコマンドに基づき、データレジスタ２０２からテストデータをリードする。そして、記憶装置２００は、そのテストデータをコントローラ１００へ送信する処理を行う。すなわち、記憶装置２００の第２ドライバ２０５は、所定のドライブ強度に基づいて、データレジスタ２００からリードしたテストデータを載せた信号を生成し、その信号を伝送路３００へ発信する。コントローラ１００の第１レシーバ１０３は、その信号を受信する。そして、コントローラ１００のプロセッサ１２０は、その受信した信号からテストデータを抽出する（Ｓ１０３）。【００３３】
このとき、記憶装置２００が、データレジスタ２０２からのみテストデータをリードし、メモリセルアレイ２０１からはリードしない旨のリードコマンド（「レジスタリードコマンド」という）をサポートしている場合、プロセッサ１２０は、リードコマンドとして、このレジスタリードコマンドを送信する。記憶装置２００は、レジスタリードコマンドを受信した場合、データレジスタ２０２からテストデータをリードし、メモリセルアレイ２０１からはリードしない。【００３４】
記憶装置２００が上記のレジスタリードコマンドをサポートしていない場合、プロセッサ１２０は、いわゆる普通のリードコマンドを送信する。記憶装置２００は、普通のリードコマンドを受信した場合、まずはデータレジスタ２０２にテストデータが記憶されているか否かを確認し、記憶されていない場合はメモリセルアレイ２０２にアクセスする。ここで、テストデータはライトされたばかりであるので、データレジスタ２０２に記憶されている。よって、記憶装置２００は、データレジスタ２０２からテストデータをリードする。すなわち、何れにしても、テストデータはデータレジスタ２０２からリードされる。【００３５】
プロセッサ１２０は、Ｓ１０２において記憶装置２００に送信したテストデータ（「ライトテストデータ」という）と、Ｓ１０３において記憶装置２００から受信したテストデータ（「リードテストデータ」という）とを比較して、リードテストデータにビットエラーが存在しているか否かを判定する。又は、プロセッサ１２０は、リードテストデータをＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋ  ａｎｄ  Ｃｏｒｒｅｃｔ）回路（不図示）に通して、そのリードテストデータにビットエラーが存在しているか否かを判定してもよい（Ｓ１０４）。【００３６】
リードテストデータにビットエラーが存在しない場合（Ｓ１０４：ＮＯ）、プロセッサ１２０は、Ｓ１０１において選定された設定ドライブ強度を設定用レジスタ１０５に登録し、処理を終了する（ＥＮＤ）。この設定用レジスタ１０５に登録されたドライブ強度が、実稼働において第１ドライバ１０１の設定ドライバ強度１０２として使用される。【００３７】
テストデータにビットエラーが存在する場合（Ｓ１０４：ＹＥＳ）、プロセッサ１２０は、前回よりも大きいドライブ強度を選択する（Ｓ１０５）。例えば、プロセッサ１２０は、参照用レジスタ１０４の中から、前回選択したものよりも１段階大きいドライブ強度を選択する。具体的には、プロセッサ１２０は、前回の設定ドライブ強度１０２（オン抵抗）が「５０Ω」であった場合、Ｓ１０５では、参照用レジスタ１０４の中から「４０Ω」のドライブ強度（オン抵抗）を選択する。【００３８】
プロセッサ１２０は、Ｓ１０２〜Ｓ１０３と同様の処理を行い、リードテストデータを取得する（Ｓ１０６、Ｓ１０７）。そして、プロセッサ１２０は、Ｓ１０４と同様の処理を行い、リードテストデータにビットエラーが存在するか否かを判定する（Ｓ１０８）。【００３９】
リードテストデータにビットエラーが存在しない場合（Ｓ１０８：ＮＯ）、プロセッサ１２０は、Ｓ１０５で選択したドライブ強度を設定用レジスタ１０５に登録し、処理を終了する（ＥＮＤ）。【００４０】
リードテストデータにビットエラーが存在する場合（Ｓ１０８：ＹＥＳ）、プロセッサ１２０は、Ｓ１０５へ戻り、さらに大きいドライブ強度１０２を選択し（Ｓ１０５）、テストデータにビットエラーが存在しなくなるまでＳ１０５〜Ｓ１０８を繰り返す。例えば、プロセッサ１０２は、参照用レジスタ１０４から、５０Ω、４０Ω、３５Ω、２５Ω、…と順番に選択していき、テストデータにビットエラーが存在しなくなるドライブ強度を見つける。【００４１】
これにより、プロセッサ１２０は、記憶装置２００の第２レシーバ２０３の負荷容量２０４に対して、参照用レジスタ１０４の中から最適なドライブ強度を見つけることができる。【００４２】
すなわち、従来であれば、第２レシーバ２０３の負荷容量２０４のバラツキを考慮して、設定ドライブ強度１０２は高めに設定されていたところ、本実施例によれば、第２レシーバ２０３の負荷容量２０４のバラツキのそれぞれに対して適切な設定ドライブ強度１０２を設定することができる。これにより、従来よりも小さな設定ドライブ強度１０２を設定できるので、コントローラ１００と記憶装置２００との間のデータ通信速度を従来よりも高速化することができる。【００４３】
なお、プロセッサ１２０は、安全マージンを考慮して、リードテストデータにビットエラーが存在しなかったドライブ強度よりも少し小さい（参照用レジスタ１０４において１段階小さい）ドライブ強度を、設定用レジスタ１０５に登録してもよい。【００４４】
本実施例は、上述のとおり、レジスタライトコマンド又はレジスタリードコマンドに対応していない記憶装置２００に対しても適用可能であるが、記憶装置２００がこれらのコマンドに対応している場合は、以下の（１）〜（３）の理由により、これらのコマンドを使用する方がよい。【００４５】
（１）メモリセルアレイ２０１を構成するＦＭチップは、その性質上、時々ビットエラーが発生することは避けられない。よって、ＦＭチップに対してテストデータをライト及びリードすると、リードテストデータにビットエラーが存在した場合、そのビットエラーが、信号波形の歪みなどによって生じたものであるのか、それともＦＭチップの特性によって生じたものであるのかを区別することができない。【００４６】
（２）テストデータをメモリセルアレイ２０１へライトするために要する時間は数百マイクロ秒を要し、データレジスタ２０２にテストデータをライトするために要する時間と比較して長い。したがって、レジスタライトコマンドを使用した方が、トレーニング処理に要する時間を短縮することができる。【００４７】
（３）メモリセルアレイ２０１を構成するＦＭチップはその性質上、ライト可能（消去可能）な回数に上限が存在する。よって、通常のライトコマンドを使用すると、その分、ＦＭチップの寿命を縮めてしまう。
【実施例２】
【００４８】
図３は、実施例２に係る信号伝送システムの構成図である。【００４９】
実施例２に係る信号伝送システム１ａは、実施例１の図１と比較して、伝送路３００ａの他方に２以上の記憶装置２００ａ、２００ｂ（第２レシーバ２０３ａ、２０３ｂ）が接続されている点が異なる。【００５０】
信号伝送システム１ａにおいて、第２レシーバ２０３ａ、２０３ｂの各々の負荷容量２０４ａ、２０４ｂが異なる場合、第２レシーバ２０３ａ、２０３ｂの各々に対する適切なドライブ強度も異なる。【００５１】
そこで、プロセッサ１２０は、第２レシーバ２０３ａ、２０３ｂの各々に対して、実施例１と同様にドライブ強度のトレーニング処理を行い、負荷容量２０４ａ、２０４ｂの各々に対して適切なドライブ強度を見つける。そして、プロセッサ１２０は、その負荷容量２０４ａ、２０４ｂの各々に対する適切なドライブ強度を、記憶装置２００ａ、２００ｂと対応付けて設定用レジスタ１０５ａに登録する。すなわち、設定用レジスタ１０５ａには、記憶装置２００ａに対応する適切なドライブ強度と、記憶装置２００ｂに対応する適切なドライブ強度とが登録される。そして、プロセッサ１２０は、実稼働において記憶装置２００ａにデータをライトする場合、次の図４に示す処理を実行する。【００５２】
図４は、実稼働において記憶装置２００ａにデータをライトする処理を示すフローチャートである。【００５３】
プロセッサ１２０は、データのライト先として、例えば記憶装置２００ａを指定する（Ｓ３０１）。プロセッサ１２０は、設定用レジスタ１０５ａから、データのライト先である記憶装置２００ａに対応するドライブ強度（例えば「５０Ω」）を取得する（Ｓ３０２）。プロセッサ１２０は、この取得した「５０Ω」のドライブ強度を、第１ドライバ１０１ａに設定ドライブ強度１０２ａとして設定する（Ｓ３０３）。【００５４】
プロセッサ１２０は、ライトデータに係るライトコマンドを生成する（Ｓ３０４）。第１ドライバ１０１ａは、ライトデータに係るライトコマンドを載せた信号を、Ｓ３０３において設定された設定ドライブ強度１０２ａ「５０Ω」に基づいて生成し、その信号をライト先の記憶装置２００ａの第２レシーバ２０３ａへ発信する（Ｓ３０５）（ＥＮＤ）。このライトデータは、記憶装置２００ａにライトされる。【００５５】
なお、記憶装置２００ａからデータをリードする場合は、ライトコマンドがリードコマンドに変わる以外、ほぼ同様の処理となるので、説明を省略する。なお、以降の実施例においても同様に説明を省略する場合がある。【００５６】
以上の処理によれば、第１ドライバ１０１ａは、記憶装置２００ａ及び記憶装置２００ｂの各々の負荷容量２０４ａ及び負荷容量２０４ｂが異なる場合であっても、負荷容量２０４ａ及び負荷容量２０４ｂの各々に対して適切な設定ドライブ強度１０２ａで信号を発信することができる。これにより、第２レシーバ２０３ａ及び第２レシーバ２０３ｂの何れにデータを送信する場合にも、第１ドライバ１０１ａに従来よりも小さな設定ドライブ強度１０２ａを設定することができる。よって、コントローラ１００と、記憶装置２００ａ及び記憶装置２００ｂの各々との間のデータ通信速度を従来よりも高速化することができる。
【実施例３】
【００５７】
図５は、実施例３に係る信号伝送システム１ｂの構成図である。【００５８】
実施例３に係る信号伝送システム１ｂは、実施例２の図３と比較して、伝送路３００ｂの途中にスイッチ回路４００ａを備え、このスイッチ回路４００ａが、伝送路３００ｂの接続先を、記憶装置２００ｃ、記憶装置２００ｄ、記憶装置２００ｅの何れかに切り替えられる点が異なる。【００５９】
実施例３においても、プロセッサ１２０は、実施例２と同様にドライブ強度のトレーニング処理を行い、記憶装置２００ｃ（レシーバ２０３ｃ）、記憶装置２００ｄ（レシーバ２０３ｄ）、記憶装置２００ｅ（レシーバ２０３ｅ）の各々の負荷容量２０４ｃ、２０４ｄ、２０４ｅに対して適切なドライブ強度を見つける。例えば、記憶装置２００ｃに対応する適切なドライブ強度を見つける場合、プロセッサ１２０は、コントローラ１００ｂと記憶装置２００ｃとが１対１で接続されるようにスイッチ回路４００ａを切り替えて、トレーニング処理を行う。そして、プロセッサ１２０は、そのトレーニング処理によって見つけた適切なドライブ強度を記憶装置２００ｃと対応付けて、設定用レジスタ１０５ｂに登録する。プロセッサ１２０は、他の記憶装置２００ｄ及び記憶装置２００ｅについても同様に適切なドライブ強度を見つけ、設定用レジスタ１０５ｂに登録する。【００６０】
プロセッサ１２０は、実稼働において記憶装置２００ｃにデータをライトする場合、次の処理を実行する。プロセッサ１２０は、図４に示すフローチャートと同様、設定用レジスタ１０５ｂからライト先の記憶装置２００ｃに対応するドライブ強度（例えば「５０Ω」）を取得し、第１ドライバ１０１ｂに設定ドライブ強度１０２ｂとして設定する。そして、プロセッサ１２０は、スイッチ回路４００ａの接続先を、ライト先の記憶装置２００ｃへ切り替える。第１ドライバ１０１ｂは、ライトデータに係るライトコマンドを載せた信号を、設定ドライブ強度１０２ｂ「５０Ω」に基づいて生成し、その信号をライト先の記憶装置２００ｃへ発信する。このライトデータは、記憶装置２００ｃにライトされる。【００６１】
以上の処理によれば、第２レシーバ２０３ｃ、２０３ｄ及び２０３ｅの各々は、実施例２の場合よりもさらに高品質な信号波形を受信することができる。信号伝送時、スイッチ回路４００ａによって、第１ドライバ１０１ｂと、第２レシーバ２０３ｃ、２０３ｄ及び２０３ｅの内の何れかと１対１の対応関係となるためである。よって、コントローラ１００ｂと、記憶装置２００ｃ、２００ｄ及び２００ｃの各々との間のデータ通信速度を従来よりも高速化することができる。
【実施例４】
【００６２】
図６は、実施例４に係る信号伝送システム１ｃの構成図である。【００６３】
実施例４に係る信号伝送システム１ｃでは、伝送路３００ｃの一方にコントローラ１００ｃが接続されており、伝送路３００ｃの他方にスイッチ回路４００ｂが接続されている。記憶装置２００ｆ、２００ｇ、２００ｈ、２００ｉの各々は、伝送路３００ｃの接続先として第１チャネルと第２チャネルとを有する。記憶装置２００ｆ及び記憶装置２００ｇの第１チャネルには伝送路３０１ｆが接続されており、その伝送路３０１ｆの他方がスイッチ回路４００ｂに接続されている。同様に、記憶装置２００ｆ及び記憶装置２００ｇの第２チャネルには伝送路３０１ｇが、記憶装置２００ｈ及び記憶装置２００ｉの第１チャネルには伝送路３００ｈが、記憶装置２００ｈ及び記憶装置２００ｉの第２チャネルには伝送路３００ｉが接続されている。記憶装置２００ｆ〜２００ｉの各々は、前述の実施例の場合と同様、第２レシーバ（不図示）を有する。【００６４】
スイッチ回路４００ｂは、伝送路３００ｃの接続先を、伝送路３０１ｆ、３０１ｇ、３０１ｈ及び３０１ｉの内の何れか１つに切り替える。ここで、記憶装置２００ｆ及び記憶装置２００ｇを第１グループ、記憶装置２００ｈ及び記憶装置２００ｉを第２グループとする。【００６５】
実施例４において、プロセッサ１２０は、ドライブ強度のトレーニング処理において、第１グループに対応する適切なドライブ強度と、第２グループに対応する適切なドライブ強度とを見つける。すなわち、プロセッサ１２０は、記憶装置２００ｆ、２００ｇ、２００ｈ、２００ｉの各々に対応する適切なドライブ強度を見つける必要はない。その理由は次のとおりである。【００６６】
複数の記憶装置を有するストレージデバイスを構成するにあたり、記憶装置２００ｆを基板の表面に、記憶装置２００ｇを基板の裏面に配置し、伝送路３０１ｆを記憶装置２００ｆ及び記憶装置２００ｇの第１チャンネルに接続し、伝送路３０１ｇを記憶装置２００ｆ及び記憶装置２００ｇの第２チャンネルに接続するという構成をとる場合がある。有限である基板の面積を有効に活用するためである。このような構成をとる場合、伝送路３０１ｆ及び伝送路３０１ｇを共有する記憶装置２００ｆ及び記憶装置２００ｇには、通常、同様の負荷容量を有するものが採用される。記憶装置２００ｈ及び２００ｉについても同様である。【００６７】
しかし、同じグループに属さない記憶装置２００ｆと記憶装置２００ｈとには、必ずしも同様の負荷容量を有するものが採用されるとは限らない。そこで実施例４では、プロセッサ１２０は、ドライブ強度のトレーニング処理において、第１グループ及び第２グループの各々に対応する適切なドライブ強度を見つける。第１グループに対応する適切なドライブ強度を見つける場合、プロセッサ１２０は、スイッチ回路４００ｂの接続先を伝送路３０１ｆ又は３０１ｇの何れかに切り替えて、トレーニング処理を行う。そして、プロセッサ１２０は、そのトレーニング処理によって見つけた適切なドライブ強度を第１グループと対応付けて設定用レジスタ１０５ｃに登録する。プロセッサ１２０は、第２グループに対応する適切なドライブ強度も同様に見つけて設定用レジスタ１０５ｃに登録する。【００６８】
プロセッサ１２０は、実稼働において記憶装置２００ｆの第１チャネルを通じて記憶装置２００ｆにデータをライトする場合、次の処理を実行する。プロセッサ１２０は、図４に示すフローチャート同様、ライト先の記憶装置２００ｆの属する第１グループに対応する適切なドライブ強度（例えば「５０Ω」）を設定用レジスタ１０５ｃから取得し、第１ドライバ１０１ｃに設定ドライブ強度１０２ｃとして設定する。そして、プロセッサ１２０は、スイッチ回路４００ｂの接続先を、伝送路３０１ｆに切り替える。第１ドライバ１０１ｃは、ライトデータに係るライトコマンドを載せた信号を、その設定ドライブ強度１０２ｃ「５０Ω」に基づいて生成し、その信号をＦＭ１００ｆの第１チャネルへ発信する。このライトデータは、記憶装置２００ｆにライトされる。【００６９】
以上の処理によれば、実施例１乃至実施例３において述べた効果に加えて、次の効果を奏する。すなわち、適切なドライブ強度が記憶装置２００ｆ、２００ｇ、２００ｈ、２００ｉ毎ではなくグループ１９０ａ、１９０ｂ毎に対応付けられるので、実稼働時のデータ送信処理において、第１ドライバ１０１ｃの設定ドライブ強度１０２ｃを変更する頻度が低減する。さらに、設定用レジスタ１０５ｃとして確保すべきレジスタ数を削減することもできる。
【実施例５】
【００７０】
図７は、実施例５に係る計算機システムの構成図である。実施例５では、信号伝送システム１を外部から制御する計算機システムについて述べる。【００７１】
図７において、計算機システムは、データを記憶可能なストレージモジュール５００と、そのストレージモジュール５００を制御する上位装置６００とを有し、ストレージモジュール５００と上位装置６００とは所定の通信ネットワーク７００（又はケーブル）で接続されている。【００７２】
ストレージモジュール５００は、信号伝送システム１と、その信号伝送システム１を制御する第１ソフトウェア５１０とを有する。【００７３】
上位装置６００の一例としては、ホストコントローラ、ストレージ装置又はサーバ装置などがある。上位装置６００は、ストレージモジュール５００の第１ソフトウェア５１０と協調して動作する第２ソフトウェア６１０を有する。【００７４】
第１ソフトウェア５１０は、信号伝送システム１の有する各ドライバの設定ドライブ強度１０２を、外部から設定、変更及び参照するためのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を提供する。【００７５】
上位装置６００の第２ソフトウェア６１０は、このＡＰＩを利用して、信号伝送システム１の所定のドライバの設定ドライブ強度１０２を、設定、変更及び参照することができる。第２ソフトウェア６１０は、ストレージモジュール５００に含まれる所望のドライバの設定ドライブ強度１０２を容易に設定、変更及び参照できるようなＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）をユーザに提供してもよい。【００７６】
上述した本発明の実施例は、本発明の説明のための例示であり、本発明の範囲をそれらの実施例にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。【００７７】
例えば、信号品質に影響を及ぼすパラメータとしては、上述の設定ドライブ強度（オン抵抗）の他に、スルーレート、スキュー調整値、及びＯＤＴ（Ｏｎ  Ｄｉｅ  Ｔｅｒｍｉｎａｔｉｏｎ）抵抗値などがある。コントローラ１００は、スルーレート、スキュー調整値及びＯＤＴ抵抗値の各々について、選択可能な値が登録されている参照用レジスタを有してもよい。【００７８】
スルーレートとは、信号の立ち上がり又は立ち下がりの波形の傾き（急峻さ）を表す値である。スルーレートは、例えば「Ｖ／μｓ」で表現され、信号波形の傾きが急峻なほど大きい値となる。【００７９】
プロセッサ１２０は、上述のドライブ強度のトレーニング処理と同様にスルーレートに係るトレーニング処理を行い、適切なスルーレートを見つけてもよい。例えば、プロセッサ１２０は、スルーレートを、スルーレートの参照用レジスタに登録されている値の内、小さい値から大きい値に段階的に変更していき、リードテストデータにビットエラーが存在しなくなる適切なスルーレートを見つける。そして、プロセッサ１２０は、実稼働におけるデータ送信時、その適切なスルーレートを第１ドライバ１０１に設定し、第１ドライバ１０１は、その設定されたスルーレートに従う信号を発信してもよい。【００８０】
スキューとは、データを含む信号とストローブ信号との間のずれのことをいう。第１ドライバ１０１が、データを含む信号とストローブ信号とを同時に送信したとしても、伝送路長の違いや伝送路の特性のバラツキなどにより、この２つの信号が必ずしも同時に第２レシーバ２０３に到着するとは限らない。この２つの信号のずれがスキューである。スキューの値は、例えば「マイクロ秒」で表現される。第２レシーバ２０３におけるスキューを小さくすることをデスキューという。例えば、データを含む信号とストローブ信号との間の送信タイミングを適切な時間分ずらすことにより、第２レシーバ２０３におけるスキューを小さくすることができる。【００８１】
プロセッサ１２０は、上述のドライブ強度のトレーニング処理と同様にスキュー調整値に係るトレーニング処理を行い、２つの信号の送信タイミングをずらす適切な時間（つまり、スキュー調整値）を見つけてもよい。例えば、プロセッサ１２０は、スキュー調整値の参照用レジスタに登録されている値の内、スキュー調整値を小さい値から大きい値に段階的に変更していき、リードテストデータにビットエラーが存在しなくなる適切なスキュー調整値を見つける。そして、プロセッサ１２０は、実稼働におけるデータ送信時、その適切なスキュー調整値を第１ドライバ１０１に設定し、第１ドライバ１０１は、その設定されたスキュー調整値に従う信号を発信してもよい。【００８２】
ＯＤＴとは、第２レシーバ２０３が備える終端抵抗である。終端抵抗は、信号が第２レシーバ２０３で反射することを防止するために備えられる。この終端抵抗の大きさ（つまり、ＯＤＴ抵抗値）は変更できてよい。【００８３】
プロセッサ１２０は、上述のドライブ強度のトレーニング処理と同様にＯＤＴ抵抗値に係るトレーニング処理を行い、適切なＯＤＴ抵抗値を見つけてもよい。例えば、プロセッサ１２０は、ＯＤＴ抵抗値の参照用レジスタに登録されている値の内、大きい値から小さい値に段階的に変更していき、リードテストデータにビットエラーが存在しなくなる適切なＯＤＴ抵抗値を見つける。そして、プロセッサ１２０は、実稼働におけるデータ送信時、その適切なＯＤＴ抵抗値を第２レシーバ２０３に設定し、第２レシーバ２０３は、その設定されたＯＤＴ抵抗値に従って信号を受信してもよい。【００８４】
プロセッサ１２０は、トレーニング処理によって、ドライブ強度、スルーレート、スキュー調整値及びＯＤＴ抵抗値の各々の適切な値を見つけ、それらの適切な値を全て所定の設定用レジスタに登録してもよい。そして、プロセッサ１２０は、実稼働におけるデータ送信時、それらの適切な値の全てを第１ドライバ１０１及び第２レシーバ２０３に設定し、第１ドライバ１０１を制御して信号を発信してもよい。これにより、第１ドライバ１０１に従来よりも小さなドライブ強度１０２を設定することができる。よって、コントローラ１００と記憶装置２００との間のデータ通信速度を従来よりも高速化することができる。【００８５】
これまでに説明した実施例１〜５を基に、例えば以下の様な表現をすることができる。
＜表現１＞
コントローラ部と、データ記憶部と、前記コントローラ部と前記データ記憶部とを接続する信号の伝送路と、を有し、
前記コントローラ部は、前記伝送路へ発信する信号の特性を決定するパラメータに基づいて、前記伝送路へ信号を発信するドライバを有し、
前記データ記憶部は、前記伝送路を通じて伝送された信号を受信するレシーバと、データが一時的に記憶される第１記憶領域と、前記第１記憶領域に一時的に記憶された前記データが最終的に記憶される第２記憶領域と、を有し、
前記コントローラ部は、前記ドライバにテスト用のパラメータを前記ドライバに設定し、前記ドライバは、その設定されたテスト用のパラメータに基づいて、ライトデータを含む信号を前記伝送路へ発信し、
前記レシーバは、前記ドライバから発信された信号を前記伝送路を通じて受信し、前記データ記憶部は、前記レシーバの受信した信号に含まれる前記ライトデータを前記第１記憶領域にライトし、
前記コントローラ部は、前記第１記憶領域から前記ライトデータをリードし、そのリードしたライトデータにビットエラーが存在するか否かを判定し、その判定の結果を基に、前記ドライバに使用するパラメータを決定する
ストレージシステム。
＜表現２＞
前記コントローラ部は、
前記第１記憶領域からリードしたライトデータに前記ビットエラーが存在しない場合、前記ドライバに設定したテスト用のパラメータを前記ドライバに使用するパラメータに決定し、
前記第１記憶領域からリードしたライトデータに前記ビットエラーが存在する場合、先に設定したテスト用のパラメータよりも前記ライトデータの通信速度が遅くなるようなテスト用のパラメータを設定して、再度、前記データ記憶部の前記第１記憶領域に対する前記ライトデータのライト及びリードと前記判定とを実行する
表現１に記載のストレージシステム。
＜表現３＞
前記第２記憶領域は、記憶しているデータにビットエラーを生じさせ得る不揮発性記憶媒体で構成されている
表現１又は２に記載のストレージシステム。
＜表現４＞
前記伝送路には、前記データ記憶部として第１データ記憶部と第２データ記憶部とが接続されており、
前記コントローラ部は、
前記第１データ記憶部及び前記第２データ記憶部の各々に対して、前記ライトデータのライト及びリードと前記判定とを実行して、前記第１データ記憶部に使用する第１パラメータと、前記第２データ記憶部に使用する第２パラメータとを決定し、
前記第１データ記憶部へデータを送信する場合には、前記ドライバに前記第１パラメータを使用し、前記第２メモリ部へデータを送信する場合には、前記ドライバに前記第２パラメータを使用する
表現１乃至３の何れか１に記載のストレージシステム。
＜表現５＞
前記伝送路の前記データ記憶部側の接続先を、前記第１データ記憶部及び前記第２データ記憶部の何れか１つに切り替えるスイッチ部を備え、
前記コントローラ部は、
前記スイッチ部の接続先を前記第１データ記憶部に切り替えて、前記ライトデータのライト及びリードと前記判定とを実行して、前記第１データ記憶部に使用する前記第１パラメータを決定し、前記スイッチ部の接続先を前記第２データ記憶部に切り替えて、前記ライトデータのライト及びリードと前記判定とを実行して、前記第２データ記憶部に使用する前記第２パラメータを決定し、
前記第１データ記憶部へデータを送信する場合には、前記スイッチ部の接続先を前記第１データ記憶部に切り替え、前記ドライバに前記第１パラメータを使用し、
前記第２データ記憶部へデータを送信する場合には、前記スイッチ部の接続先を前記第２データ記憶部に切り替え、前記ドライバに前記第２パラメータを使用する
表現４に記載のストレージシステム。
＜表現６＞
前記伝送路の前記データ記憶部側の接続先を、第１データ記憶部及び第２データ記憶部と、第３データ記憶部及び第４データ記憶部との何れか１つに切り替えるスイッチ部を備え、
前記コントローラ部は、
前記スイッチ部の接続先を、前記第１データ記憶部及び前記第２データ記憶部に切り替えて、前記第１データ記憶部又は前記第２データ記憶部の何れかに対して、前記ライトデータのライト及びリードと前記判定とを実行して、前記第１データ記憶部及び前記第２データ記憶部に使用する第１パラメータを決定し、前記スイッチ部の接続先を、前記第３データ記憶部及び前記第４データ記憶部に切り替えて、前記第３データ記憶部又は前記第４データ記憶部の何れかに対して、前記ライトデータのライト及びリードと前記判定とを実行して、前記第３データ記憶部及び前記第４データ記憶部に使用する第２パラメータを決定し、
前記第１データ記憶部又は前記第２データ記憶部へデータを送信する場合には、前記スイッチ部の接続先を、前記第１データ記憶部及び前記第３データ記憶部に切り替えて、前記ドライバに前記第１パラメータを使用し、
前記第３データ記憶部又は前記第４データ記憶部へデータを送信する場合には、前記スイッチ部の接続先を、前記第３データ記憶部及び前記第４データ記憶部に切り替えて、前記ドライバに前記第２パラメータを使用する
表現１乃至３の何れか１に記載のストレージシステム。
＜表現７＞
前記パラメータは、前記ドライバの出力する信号の電流値を決定するドライブ強度であり、
前記通信速度が遅くなるようなテスト用のパラメータを設定するとは、先に設定したドライブ強度よりも前記電流値が大きくなるようなドライブ強度を設定することである
表現３に記載のストレージシステム。
＜表現８＞
前記パラメータは、前記ドライバの出力する信号のスルーレートを決定するスルーレート調整値であり、
前記通信速度が遅くなるようなテスト用のパラメータを設定するとは、先に設定したスルーレート調整値よりも前記スルーレートが大きくなるようなスルーレート調整値を設定することである
表現１乃至７の何れか１に記載のストレージシステム。
＜表現９＞
前記パラメータは、前記レシーバに係る終端抵抗の大きさを決定する抵抗値であり、
前記通信速度が遅くなるようなテスト用のパラメータを設定するとは、先に設定した抵抗値よりも大きい抵抗値を設定することである
表現１乃至７の何れか１に記載のストレージシステム。
＜表現１０＞
前記ドライバに設定されたパラメータを外部に出力するためのインタフェース部をさらに備える
表現１乃至９の何れか１に記載のストレージシステム。
＜表現１１＞
伝送路の一方に接続されたコントローラ部と、前記伝送路の他方に接続されたデータ記憶部との間で信号を伝送する方法であって、
前記コントローラ部は、前記伝送路へ発信する信号の特性を決定するパラメータに基づいて、前記伝送路へ信号を発信するドライバを有しており、
前記データ記憶部は、前記伝送路を通じて伝送された信号を受信するレシーバと、データが一時的に記憶される第１記憶領域と、前記第１記憶領域に一時的に記憶された前記データが最終的に記憶される第２記憶領域と、を有しており、
前記コントローラ部が、前記ドライバにテスト用のパラメータを前記ドライバに設定し、前記ドライバが、その設定されたテスト用のパラメータに基づいて、ライトデータを含む信号を前記伝送路へ発信し、
前記レシーバが、前記ドライバから発信された信号を前記伝送路を通じて受信し、前記データ記憶部が、前記レシーバの受信した信号に含まれる前記ライトデータを前記第１記憶領域にライトし、
前記コントローラ部が、前記第１記憶領域から前記ライトデータをリードし、そのリードしたライトデータにビットエラーが存在するか否かを判定し、その判定の結果を基に、前記ドライバに使用するパラメータを決定する
信号伝送方法。【００８６】
上述の表現において、コントローラ部は、コントローラ１００、１００ａ、１００ｂ、１００ｃに対応する。ドライバは、第１ドライバ１０１に対応する。データ記憶部は、記憶装置２００、２００ａ〜２００ｉに対応する。第１記憶領域は、データレジスタ２０２に対応する。第２記憶領域は、メモリセルアレイ２０１に対応する。レシーバは、第２レシーバ２０３、２０３ａ〜２０３ｅに対応する。伝送路は、伝送路３００、３００ａ〜３００ｃ、３０１ａ〜３０１ｉに対応する。テスト用のパラメータは、参照用レジスタ１０４に登録されているドライブ強度に対応する。又は、テスト用のパラメータは、所定の参照用レジスタに登録されているスルーレート、スキュー調整値又はＯＤＴ抵抗値に対応する。
【符号の説明】
【００８７】
１、１ａ、１ｂ、１ｃ：信号伝送システム  １００、１００ａ〜１００ｃ：コントローラ  １２０：プロセッサ  １０１：第１ドライバ  １０２：ドライブ強度（オン抵抗）  ２００、２００ａ〜２００ｉ：フラッシュメモリ  ２０３、２０３ａ〜２０３ｅ：第２レシーバ
【図１】
2015173946.tif 000003
【図２】
2015173946.tif 000004
【図３】
2015173946.tif 000005
【図４】
2015173946.tif 000006
【図５】
2015173946.tif 000007
【図６】
2015173946.tif 000008
【図７】
2015173946.tif 000009
【国際調査報告】
2015173946.tif 000010
2015173946.tif 000011
2015173946.tif 000012
2015173946.tif 000013