JP6322701B2 - ストレージシステム及び信号伝送方法 - Google Patents

ストレージシステム及び信号伝送方法 Download PDF

Info

Publication number
JP6322701B2
JP6322701B2 JP2016519066A JP2016519066A JP6322701B2 JP 6322701 B2 JP6322701 B2 JP 6322701B2 JP 2016519066 A JP2016519066 A JP 2016519066A JP 2016519066 A JP2016519066 A JP 2016519066A JP 6322701 B2 JP6322701 B2 JP 6322701B2
Authority
JP
Japan
Prior art keywords
data
storage unit
unit
driver
data storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016519066A
Other languages
English (en)
Other versions
JPWO2015173946A1 (ja
Inventor
康浩 池田
康浩 池田
諭 村岡
諭 村岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2015173946A1 publication Critical patent/JPWO2015173946A1/ja
Application granted granted Critical
Publication of JP6322701B2 publication Critical patent/JP6322701B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/022Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/12005Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/24Accessing extra cells, e.g. dummy cells or redundant cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50008Marginal testing, e.g. race, voltage or current testing of impedance
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/1208Error catch memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5002Characteristic
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5004Voltage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5006Current
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Dc Digital Transmission (AREA)
  • Communication Control (AREA)

Description

本発明は、信号伝送の技術に関する。
情報処理装置のチップ間におけるデータ通信の高速化が求められている。データ通信速度は、そのデータを含む信号特性の影響を受ける。特許文献1には、半導体装置の信号出力のドライバと同一構成のレプリカ回路を含むキャリブレーション回路を、チップ内に予め用意し、ドライバに最大電流を流す電圧条件をレプリカ回路に与え、レプリカ回路のインピーダンスを、外部端子に接続された外部抵抗に一致させるように制御することが記載されている。
特開2011−101143号公報
特許文献1の方法は、チップ内にレプリカ回路を含むキャリブレーション回路を必要とし、さらに外部抵抗も必要とする。そのため、この方法は、回路規模が大きくなり、コストが上昇するという課題がある。
また、ドライバ(信号の発信回路)とレシーバ(信号の受信回路)とにより構成されるデジタル信号回路において、レシーバには、製造段階の環境又はメーカの違いなどによる負荷容量のバラツキが存在し得る。よって従来、ドライバには、この負荷容量のバラツキを考慮して、安全マージンを含むパラメータが設定される。しかし、この安全マージンを含む分、ドライバとレシーバとの間のデータ通信速度は遅くなっている。
また、レシーバが、フラッシュメモリ(以下「FM」)で構成された記憶装置である場合、FMには、記憶されているデータに自然にビットエラーが生じ得るという特性が存在する。
そこで、本発明の目的は、レシーバの負荷容量にバラツキが存在し得る環境において、ドライバとレシーバとの間の信号伝送に係るデータ通信速度を向上させることにある。また、本発明の別の目的は、レシーバ側がFM等のように自然にビットエラーが生じ得る記憶媒体で構成されている場合において、上記のデータ通信速度を向上し得るドライバの信号発信に係るパラメータを見つけることにある。
本発明の一実施形態に係るストレージシステムは、コントローラ部と、データ記憶部と、コントローラ部とデータ記憶部とを接続する信号の伝送路と、を有する。
コントローラ部は、伝送路へ発信する信号の特性を決定するパラメータに基づいて、伝送路へ信号を発信するドライバを有する。
データ記憶部は、伝送路を通じて伝送された信号を受信するレシーバと、データが一時的に記憶される第1記憶領域と、第1記憶領域に一時的に記憶されたデータが最終的に記憶される第2記憶領域と、を有する。
コントローラ部は、テスト用のパラメータをドライバに設定し、そのドライバは、その設定されたテスト用のパラメータに基づいて、ライトデータを含む信号を前記伝送路へ発信する。
レシーバは、ドライバから発信された信号を伝送路を通じて受信し、データ記憶部は、レシーバの受信した信号に含まれるライトデータを第1記憶領域にライトする。
コントローラ部は、第1記憶領域からライトデータをリードし、そのリードしたライトデータにビットエラーが存在するか否かを判定し、その判定の結果を基にドライバに使用するパラメータを決定する。
コントローラ部は、第1記憶領域からリードしたライトデータにビットエラーが存在しない場合、ドライバに設定したテスト用のパラメータをそのドライバに使用するパラメータに決定し、第1記憶領域からリードしたライトデータにビットエラーが存在する場合、先に設定したテスト用のパラメータよりもライトデータの通信速度が遅くなるようなテスト用のパラメータを設定して、再度、データ記憶部の第1記憶領域に対するライトデータのライト及びリードと判定とを実行してもよい。
本発明によれば、レシーバの負荷容量にバラツキが存在し得る環境において、ドライバとレシーバとの間のデータ通信速度を向上させることができる。また、本発明によれば、レシーバ側がFMなどのような自然にビットエラーが生じ得る記憶媒体で構成されている場合において、上記のデータ通信速度を向上させることのできるドライバのパラメータを見つけることができる。
実施例1に係る信号伝送システムの構成図である。 トレーニング処理の一例を示すフローチャートである。 実施例2に係る信号伝送システムの構成図である。 実稼働においてフラッシュメモリにデータをライトする処理を示すフローチャートである。 実施例3に係る信号伝送システムの構成図である。 実施例4に係る信号伝送システムの構成図である。 実施例5に係るシステムの構成図である。
以下、幾つかの実施例を、図面を参照しながら説明する。
図1は、実施例1に係る信号伝送システム1の構成図である。
信号伝送システム1は、コントローラ100と、記憶装置200と、コントローラ100及び記憶装置200を接続する伝送路300と、を備える。コントローラ100と記憶装置200とは、伝送路300を通じて電気的な信号を送受信することにより、データ通信を行う。
コントローラ100は、記憶装置200に対するデータの入出力をコントロールする。コントローラ100は、プロセッサ120と、参照用レジスタ104と、設定用レジスタ105と、第1ドライバ101と、第1レシーバ103とを備える。
第1ドライバ101は、伝送路300のコントローラ100側の端子に接続されており、伝送路300へ信号を発信することができる。第1ドライバ101に設定されているドライブ強度(以下、設定ドライブ強度)102が変更されると、第1ドライバ101の発信信号の電流値が変化する。プロセッサ120が設定ドライブ強度102を大きくすると、発信信号の電流値が大きくなり、プロセッサ120が設定ドライブ強度102を小さくすると、第1ドライバ101の発信信号の電流値が小さくなる。なお、「ドライブ強度」という言葉に代えて、「オン抵抗」という言葉を使用できる。つまり、「ドライブ強度」と「オン抵抗」とは等価である。例えば、設定ドライブ強度102が「24mA」で電源電圧が「1.5V」とすると、「オン抵抗R=1.5V/24mA=62.5Ω」となる。すなわち、設定ドライブ強度102を大きくすることは、オン抵抗を小さくすることと等価であり、設定ドライブ強度102を小さくすることは、オン抵抗を大きくすることと等価である。以下の説明においても同様である。第1ドライバ101は、FPGA(Field−Programmable Gate Array)などによって構成されてよい。
第1レシーバ103は、伝送路300のコントローラ100側の端子に接続されており。伝送路300上を伝送されてきた信号を受信することができる。すなわち、第1レシーバ103は、後述する記憶装置200側の第2ドライバ205から発信された信号を受信する。第1レシーバ103は、FPGAなどによって構成されてもよい。また、第1ドライバ101と第1レシーバ103とは1つのFPGAとして構成されてもよい。
参照用レジスタ104には、第1ドライバ101に設定可能な複数のドライブ強度が予め登録されている。
設定用レジスタ105には、第1ドライバ101に設定ドライブ強度102として設定可能な1又は2以上のドライブ強度が登録される。設定用レジスタ105に2以上のドライブ強度が登録されている場合、その2以上のドライブ強度の中から所定の条件に基づいて選択された1つのドライブ強度が、設定ドライブ強度102として第1ドライバ101に設定される。この詳細については後述する(他の実施例も含む)。
プロセッサ120は、後述する「トレーニング処理」を実行し、参照用レジスタ104の中から適切なドライブ強度を見つける。プロセッサ120は、その適切なドライブ強度を、設定用レジスタ105に登録する。プロセッサ120は、データ送信時(信号発信時)、設定用レジスタ105に登録された1又は2以上のドライブ強度の中から所定の条件に基づいて1つのドライブ強度を選択し、第1ドライバ101に、設定ドライブ強度102として設定する。そして、プロセッサ120は、第1ドライバ101を制御して、データを載せた信号を伝送路300へ発信する。プロセッサ120の詳細については後述する。
記憶装置200は、第2レシーバ203と、第2ドライバ205と、メモリセルアレイ201と、データレジスタ202と、を備える。メモリセルアレイ200は、複数のFMチップで構成されており、データを保持することができる。データレジスタ202には、メモリセルアレイ200にライトされるデータ又はメモリセルアレイ200からリードされるデータが一時的に記憶される。つまり、データレジスタ202は、メモリセルアレイ201に対して入出力されるデータのバッファ領域ともいえる。
第2レシーバ203は、伝送路300の記憶装置200の側の端子に接続されており、伝送路300を伝送されてきた信号を受信する。すなわち、第2レシーバ203は、第1ドライバ101から発信された信号を受信する。
第2ドライバ205は、伝送路300の記憶装置200の側の端子に接続されており、伝送路300へ信号を発信する。第2ドライバ205と、第2レシーバ203とは別々のFPGAとして構成されてもよいし、1つのFPGAとして構成されてもよい。
第1ドライバ101から見たとき、第2レシーバ203は、所定の負荷容量204を有する。負荷容量204の単位は、例えば「F(Farad)」である。第1ドライバ101の設定ドライブ強度102と、第2レシーバ203の負荷容量104との間でインピーダンス整合が取れていないと、信号の品質が劣化し、ひいてはデータ通信速度が遅くなる。ここで、第2レシーバ203の有する負荷容量204は、製造段階の環境又はメーカの違いなどによってバラツキが存在し得る。特に、メーカが違う場合にその傾向が大きい。また、伝送路300の長さや太さなども、第1ドライバ102から見たときの第2レシーバ203の負荷容量204のバラツキの原因になる。したがって、最適なドライブ強度102は、信号伝送システム1毎に異なり得る。
そこで、プロセッサ120は、第2レシーバ203の負荷容量204に適合する最適な第1ドライバ101の設定ドライブ強度102を見つけるための処理を行う。この最適な設定ドライブ強度102を見つける処理を「トレーニング処理」という。
トレーニング処理は、信号伝送システム1を備える計算機が、稼働開始時に行ってもよい。また、計算機が稼働中に一定の周期でトレーニング処理を行ってもよい。また、計算機が、ユーザからの指示に基づいてトレーニング処理を行ってもよい。稼働開始時だけでなく、計算機の稼働中にトレーニング処理を行う理由は、計算機を長時間稼働させていると、第1ドライバ101、第2レシーバ203及び伝送路300など、計算機の備える様々なデバイスが経年劣化し、最適な設定ドライブ強度102が変化する可能性があるためである。次に、このトレーニング処理の詳細を説明する。
図2は、トレーニング処理の一例を示すフローチャートである。
コントローラ100のプロセッサ120は、参照用テーブル104に含まれる複数のドライブ強度の内の最小のドライブ強度(最大のオン抵抗)を選択し、第1ドライバ101に設定ドライブ強度102として設定する(S101)。
プロセッサ120は、テストデータに係るライトコマンドを記憶装置200へ送信する処理を行う。すなわち、第1ドライバ101は、S101において設定された設定ドライブ強度102に基づいて、テストデータに係るライトコマンドを含む信号を生成し、その信号を伝送路300へ発信する。記憶装置200の第2レシーバ203は、その信号を受信する。そして、記憶装置200は、その受信した信号からテストデータを抽出し、そのテストデータをデータレジスタ202に記憶する(S102)。
このとき、記憶装置200が、テストデータをデータレジスタ202にのみライトし、メモリセルアレイ201にはライトしない旨のライトコマンド(「レジスタライトコマンド」という)をサポートしている場合、プロセッサ120は、ライトコマンドとして、このレジスタライトコマンドを記憶装置200へ送信する。記憶装置200は、レジスタライトコマンドを受信した場合、テストデータをデータレジスタ202にのみライトし、メモリセルアレイ201にはライトしない。これにより、FMチップの寿命(書込回数)の低下を防ぐ。
記憶装置200が、上記のレジスタライトコマンドをサポートしていない場合、プロセッサ120は、いわゆる普通のライトコマンドを送信する。記憶装置200は、普通のライトコマンドを受信した場合、テストデータをメモリセルアレイ201にライトするが、その際テストデータはキャッシュとしてデータレジスタ202にもライトされる。すなわち、何れにしても、テストデータはデータレジスタ202にライトされる。
次に、プロセッサ120は、テストデータに係るリードコマンドを記憶装置200へ送信する処理を行う。すなわち、第1ドライバ101は、S101において設定された設定ドライブ強度102に基づいて、テストデータに係るリードコマンドを含む信号を生成し、その信号を伝送路300へ発信する。記憶装置200の第2レシーバ203は、その信号を受信する。そして、記憶装置200は、その受信した信号からリードコマンドを抽出し、そのリードコマンドに基づき、データレジスタ202からテストデータをリードする。そして、記憶装置200は、そのテストデータをコントローラ100へ送信する処理を行う。すなわち、記憶装置200の第2ドライバ205は、所定のドライブ強度に基づいて、データレジスタ200からリードしたテストデータを載せた信号を生成し、その信号を伝送路300へ発信する。コントローラ100の第1レシーバ103は、その信号を受信する。そして、コントローラ100のプロセッサ120は、その受信した信号からテストデータを抽出する(S103)。
このとき、記憶装置200が、データレジスタ202からのみテストデータをリードし、メモリセルアレイ201からはリードしない旨のリードコマンド(「レジスタリードコマンド」という)をサポートしている場合、プロセッサ120は、リードコマンドとして、このレジスタリードコマンドを送信する。記憶装置200は、レジスタリードコマンドを受信した場合、データレジスタ202からテストデータをリードし、メモリセルアレイ201からはリードしない。
記憶装置200が上記のレジスタリードコマンドをサポートしていない場合、プロセッサ120は、いわゆる普通のリードコマンドを送信する。記憶装置200は、普通のリードコマンドを受信した場合、まずはデータレジスタ202にテストデータが記憶されているか否かを確認し、記憶されていない場合はメモリセルアレイ202にアクセスする。ここで、テストデータはライトされたばかりであるので、データレジスタ202に記憶されている。よって、記憶装置200は、データレジスタ202からテストデータをリードする。すなわち、何れにしても、テストデータはデータレジスタ202からリードされる。
プロセッサ120は、S102において記憶装置200に送信したテストデータ(「ライトテストデータ」という)と、S103において記憶装置200から受信したテストデータ(「リードテストデータ」という)とを比較して、リードテストデータにビットエラーが存在しているか否かを判定する。又は、プロセッサ120は、リードテストデータをECC(Error Check and Correct)回路(不図示)に通して、そのリードテストデータにビットエラーが存在しているか否かを判定してもよい(S104)。
リードテストデータにビットエラーが存在しない場合(S104:NO)、プロセッサ120は、S101において選定された設定ドライブ強度を設定用レジスタ105に登録し、処理を終了する(END)。この設定用レジスタ105に登録されたドライブ強度が、実稼働において第1ドライバ101の設定ドライバ強度102として使用される。
テストデータにビットエラーが存在する場合(S104:YES)、プロセッサ120は、前回よりも大きいドライブ強度を選択する(S105)。例えば、プロセッサ120は、参照用レジスタ104の中から、前回選択したものよりも1段階大きいドライブ強度を選択する。具体的には、プロセッサ120は、前回の設定ドライブ強度102(オン抵抗)が「50Ω」であった場合、S105では、参照用レジスタ104の中から「40Ω」のドライブ強度(オン抵抗)を選択する。
プロセッサ120は、S102〜S103と同様の処理を行い、リードテストデータを取得する(S106、S107)。そして、プロセッサ120は、S104と同様の処理を行い、リードテストデータにビットエラーが存在するか否かを判定する(S108)。
リードテストデータにビットエラーが存在しない場合(S108:NO)、プロセッサ120は、S105で選択したドライブ強度を設定用レジスタ105に登録し、処理を終了する(END)。
リードテストデータにビットエラーが存在する場合(S108:YES)、プロセッサ120は、S105へ戻り、さらに大きいドライブ強度102を選択し(S105)、テストデータにビットエラーが存在しなくなるまでS105〜S108を繰り返す。例えば、プロセッサ102は、参照用レジスタ104から、50Ω、40Ω、35Ω、25Ω、…と順番に選択していき、テストデータにビットエラーが存在しなくなるドライブ強度を見つける。
これにより、プロセッサ120は、記憶装置200の第2レシーバ203の負荷容量204に対して、参照用レジスタ104の中から最適なドライブ強度を見つけることができる。
すなわち、従来であれば、第2レシーバ203の負荷容量204のバラツキを考慮して、設定ドライブ強度102は高めに設定されていたところ、本実施例によれば、第2レシーバ203の負荷容量204のバラツキのそれぞれに対して適切な設定ドライブ強度102を設定することができる。これにより、従来よりも小さな設定ドライブ強度102を設定できるので、コントローラ100と記憶装置200との間のデータ通信速度を従来よりも高速化することができる。
なお、プロセッサ120は、安全マージンを考慮して、リードテストデータにビットエラーが存在しなかったドライブ強度よりも少し小さい(参照用レジスタ104において1段階小さい)ドライブ強度を、設定用レジスタ105に登録してもよい。
本実施例は、上述のとおり、レジスタライトコマンド又はレジスタリードコマンドに対応していない記憶装置200に対しても適用可能であるが、記憶装置200がこれらのコマンドに対応している場合は、以下の(1)〜(3)の理由により、これらのコマンドを使用する方がよい。
(1)メモリセルアレイ201を構成するFMチップは、その性質上、時々ビットエラーが発生することは避けられない。よって、FMチップに対してテストデータをライト及びリードすると、リードテストデータにビットエラーが存在した場合、そのビットエラーが、信号波形の歪みなどによって生じたものであるのか、それともFMチップの特性によって生じたものであるのかを区別することができない。
(2)テストデータをメモリセルアレイ201へライトするために要する時間は数百マイクロ秒を要し、データレジスタ202にテストデータをライトするために要する時間と比較して長い。したがって、レジスタライトコマンドを使用した方が、トレーニング処理に要する時間を短縮することができる。
(3)メモリセルアレイ201を構成するFMチップはその性質上、ライト可能(消去可能)な回数に上限が存在する。よって、通常のライトコマンドを使用すると、その分、FMチップの寿命を縮めてしまう。
図3は、実施例2に係る信号伝送システムの構成図である。
実施例2に係る信号伝送システム1aは、実施例1の図1と比較して、伝送路300aの他方に2以上の記憶装置200a、200b(第2レシーバ203a、203b)が接続されている点が異なる。
信号伝送システム1aにおいて、第2レシーバ203a、203bの各々の負荷容量204a、204bが異なる場合、第2レシーバ203a、203bの各々に対する適切なドライブ強度も異なる。
そこで、プロセッサ120は、第2レシーバ203a、203bの各々に対して、実施例1と同様にドライブ強度のトレーニング処理を行い、負荷容量204a、204bの各々に対して適切なドライブ強度を見つける。そして、プロセッサ120は、その負荷容量204a、204bの各々に対する適切なドライブ強度を、記憶装置200a、200bと対応付けて設定用レジスタ105aに登録する。すなわち、設定用レジスタ105aには、記憶装置200aに対応する適切なドライブ強度と、記憶装置200bに対応する適切なドライブ強度とが登録される。そして、プロセッサ120は、実稼働において記憶装置200aにデータをライトする場合、次の図4に示す処理を実行する。
図4は、実稼働において記憶装置200aにデータをライトする処理を示すフローチャートである。
プロセッサ120は、データのライト先として、例えば記憶装置200aを指定する(S301)。プロセッサ120は、設定用レジスタ105aから、データのライト先である記憶装置200aに対応するドライブ強度(例えば「50Ω」)を取得する(S302)。プロセッサ120は、この取得した「50Ω」のドライブ強度を、第1ドライバ101aに設定ドライブ強度102aとして設定する(S303)。
プロセッサ120は、ライトデータに係るライトコマンドを生成する(S304)。第1ドライバ101aは、ライトデータに係るライトコマンドを載せた信号を、S303において設定された設定ドライブ強度102a「50Ω」に基づいて生成し、その信号をライト先の記憶装置200aの第2レシーバ203aへ発信する(S305)(END)。このライトデータは、記憶装置200aにライトされる。
なお、記憶装置200aからデータをリードする場合は、ライトコマンドがリードコマンドに変わる以外、ほぼ同様の処理となるので、説明を省略する。なお、以降の実施例においても同様に説明を省略する場合がある。
以上の処理によれば、第1ドライバ101aは、記憶装置200a及び記憶装置200bの各々の負荷容量204a及び負荷容量204bが異なる場合であっても、負荷容量204a及び負荷容量204bの各々に対して適切な設定ドライブ強度102aで信号を発信することができる。これにより、第2レシーバ203a及び第2レシーバ203bの何れにデータを送信する場合にも、第1ドライバ101aに従来よりも小さな設定ドライブ強度102aを設定することができる。よって、コントローラ100と、記憶装置200a及び記憶装置200bの各々との間のデータ通信速度を従来よりも高速化することができる。
図5は、実施例3に係る信号伝送システム1bの構成図である。
実施例3に係る信号伝送システム1bは、実施例2の図3と比較して、伝送路300bの途中にスイッチ回路400aを備え、このスイッチ回路400aが、伝送路300bの接続先を、記憶装置200c、記憶装置200d、記憶装置200eの何れかに切り替えられる点が異なる。
実施例3においても、プロセッサ120は、実施例2と同様にドライブ強度のトレーニング処理を行い、記憶装置200c(レシーバ203c)、記憶装置200d(レシーバ203d)、記憶装置200e(レシーバ203e)の各々の負荷容量204c、204d、204eに対して適切なドライブ強度を見つける。例えば、記憶装置200cに対応する適切なドライブ強度を見つける場合、プロセッサ120は、コントローラ100bと記憶装置200cとが1対1で接続されるようにスイッチ回路400aを切り替えて、トレーニング処理を行う。そして、プロセッサ120は、そのトレーニング処理によって見つけた適切なドライブ強度を記憶装置200cと対応付けて、設定用レジスタ105bに登録する。プロセッサ120は、他の記憶装置200d及び記憶装置200eについても同様に適切なドライブ強度を見つけ、設定用レジスタ105bに登録する。
プロセッサ120は、実稼働において記憶装置200cにデータをライトする場合、次の処理を実行する。プロセッサ120は、図4に示すフローチャートと同様、設定用レジスタ105bからライト先の記憶装置200cに対応するドライブ強度(例えば「50Ω」)を取得し、第1ドライバ101bに設定ドライブ強度102bとして設定する。そして、プロセッサ120は、スイッチ回路400aの接続先を、ライト先の記憶装置200cへ切り替える。第1ドライバ101bは、ライトデータに係るライトコマンドを載せた信号を、設定ドライブ強度102b「50Ω」に基づいて生成し、その信号をライト先の記憶装置200cへ発信する。このライトデータは、記憶装置200cにライトされる。
以上の処理によれば、第2レシーバ203c、203d及び203eの各々は、実施例2の場合よりもさらに高品質な信号波形を受信することができる。信号伝送時、スイッチ回路400aによって、第1ドライバ101bと、第2レシーバ203c、203d及び203eの内の何れかと1対1の対応関係となるためである。よって、コントローラ100bと、記憶装置200c、200d及び200cの各々との間のデータ通信速度を従来よりも高速化することができる。
図6は、実施例4に係る信号伝送システム1cの構成図である。
実施例4に係る信号伝送システム1cでは、伝送路300cの一方にコントローラ100cが接続されており、伝送路300cの他方にスイッチ回路400bが接続されている。記憶装置200f、200g、200h、200iの各々は、伝送路300cの接続先として第1チャネルと第2チャネルとを有する。記憶装置200f及び記憶装置200gの第1チャネルには伝送路301fが接続されており、その伝送路301fの他方がスイッチ回路400bに接続されている。同様に、記憶装置200f及び記憶装置200gの第2チャネルには伝送路301gが、記憶装置200h及び記憶装置200iの第1チャネルには伝送路300hが、記憶装置200h及び記憶装置200iの第2チャネルには伝送路300iが接続されている。記憶装置200f〜200iの各々は、前述の実施例の場合と同様、第2レシーバ(不図示)を有する。
スイッチ回路400bは、伝送路300cの接続先を、伝送路301f、301g、301h及び301iの内の何れか1つに切り替える。ここで、記憶装置200f及び記憶装置200gを第1グループ、記憶装置200h及び記憶装置200iを第2グループとする。
実施例4において、プロセッサ120は、ドライブ強度のトレーニング処理において、第1グループに対応する適切なドライブ強度と、第2グループに対応する適切なドライブ強度とを見つける。すなわち、プロセッサ120は、記憶装置200f、200g、200h、200iの各々に対応する適切なドライブ強度を見つける必要はない。その理由は次のとおりである。
複数の記憶装置を有するストレージデバイスを構成するにあたり、記憶装置200fを基板の表面に、記憶装置200gを基板の裏面に配置し、伝送路301fを記憶装置200f及び記憶装置200gの第1チャンネルに接続し、伝送路301gを記憶装置200f及び記憶装置200gの第2チャンネルに接続するという構成をとる場合がある。有限である基板の面積を有効に活用するためである。このような構成をとる場合、伝送路301f及び伝送路301gを共有する記憶装置200f及び記憶装置200gには、通常、同様の負荷容量を有するものが採用される。記憶装置200h及び200iについても同様である。
しかし、同じグループに属さない記憶装置200fと記憶装置200hとには、必ずしも同様の負荷容量を有するものが採用されるとは限らない。そこで実施例4では、プロセッサ120は、ドライブ強度のトレーニング処理において、第1グループ及び第2グループの各々に対応する適切なドライブ強度を見つける。第1グループに対応する適切なドライブ強度を見つける場合、プロセッサ120は、スイッチ回路400bの接続先を伝送路301f又は301gの何れかに切り替えて、トレーニング処理を行う。そして、プロセッサ120は、そのトレーニング処理によって見つけた適切なドライブ強度を第1グループと対応付けて設定用レジスタ105cに登録する。プロセッサ120は、第2グループに対応する適切なドライブ強度も同様に見つけて設定用レジスタ105cに登録する。
プロセッサ120は、実稼働において記憶装置200fの第1チャネルを通じて記憶装置200fにデータをライトする場合、次の処理を実行する。プロセッサ120は、図4に示すフローチャート同様、ライト先の記憶装置200fの属する第1グループに対応する適切なドライブ強度(例えば「50Ω」)を設定用レジスタ105cから取得し、第1ドライバ101cに設定ドライブ強度102cとして設定する。そして、プロセッサ120は、スイッチ回路400bの接続先を、伝送路301fに切り替える。第1ドライバ101cは、ライトデータに係るライトコマンドを載せた信号を、その設定ドライブ強度102c「50Ω」に基づいて生成し、その信号をFM100fの第1チャネルへ発信する。このライトデータは、記憶装置200fにライトされる。
以上の処理によれば、実施例1乃至実施例3において述べた効果に加えて、次の効果を奏する。すなわち、適切なドライブ強度が記憶装置200f、200g、200h、200i毎ではなくグループ190a、190b毎に対応付けられるので、実稼働時のデータ送信処理において、第1ドライバ101cの設定ドライブ強度102cを変更する頻度が低減する。さらに、設定用レジスタ105cとして確保すべきレジスタ数を削減することもできる。
図7は、実施例5に係る計算機システムの構成図である。実施例5では、信号伝送システム1を外部から制御する計算機システムについて述べる。
図7において、計算機システムは、データを記憶可能なストレージモジュール500と、そのストレージモジュール500を制御する上位装置600とを有し、ストレージモジュール500と上位装置600とは所定の通信ネットワーク700(又はケーブル)で接続されている。
ストレージモジュール500は、信号伝送システム1と、その信号伝送システム1を制御する第1ソフトウェア510とを有する。
上位装置600の一例としては、ホストコントローラ、ストレージ装置又はサーバ装置などがある。上位装置600は、ストレージモジュール500の第1ソフトウェア510と協調して動作する第2ソフトウェア610を有する。
第1ソフトウェア510は、信号伝送システム1の有する各ドライバの設定ドライブ強度102を、外部から設定、変更及び参照するためのAPI(Application Programming Interface)を提供する。
上位装置600の第2ソフトウェア610は、このAPIを利用して、信号伝送システム1の所定のドライバの設定ドライブ強度102を、設定、変更及び参照することができる。第2ソフトウェア610は、ストレージモジュール500に含まれる所望のドライバの設定ドライブ強度102を容易に設定、変更及び参照できるようなUI(User Interface)をユーザに提供してもよい。
上述した本発明の実施例は、本発明の説明のための例示であり、本発明の範囲をそれらの実施例にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
例えば、信号品質に影響を及ぼすパラメータとしては、上述の設定ドライブ強度(オン抵抗)の他に、スルーレート、スキュー調整値、及びODT(On Die Termination)抵抗値などがある。コントローラ100は、スルーレート、スキュー調整値及びODT抵抗値の各々について、選択可能な値が登録されている参照用レジスタを有してもよい。
スルーレートとは、信号の立ち上がり又は立ち下がりの波形の傾き(急峻さ)を表す値である。スルーレートは、例えば「V/μs」で表現され、信号波形の傾きが急峻なほど大きい値となる。
プロセッサ120は、上述のドライブ強度のトレーニング処理と同様にスルーレートに係るトレーニング処理を行い、適切なスルーレートを見つけてもよい。例えば、プロセッサ120は、スルーレートを、スルーレートの参照用レジスタに登録されている値の内、小さい値から大きい値に段階的に変更していき、リードテストデータにビットエラーが存在しなくなる適切なスルーレートを見つける。そして、プロセッサ120は、実稼働におけるデータ送信時、その適切なスルーレートを第1ドライバ101に設定し、第1ドライバ101は、その設定されたスルーレートに従う信号を発信してもよい。
スキューとは、データを含む信号とストローブ信号との間のずれのことをいう。第1ドライバ101が、データを含む信号とストローブ信号とを同時に送信したとしても、伝送路長の違いや伝送路の特性のバラツキなどにより、この2つの信号が必ずしも同時に第2レシーバ203に到着するとは限らない。この2つの信号のずれがスキューである。スキューの値は、例えば「マイクロ秒」で表現される。第2レシーバ203におけるスキューを小さくすることをデスキューという。例えば、データを含む信号とストローブ信号との間の送信タイミングを適切な時間分ずらすことにより、第2レシーバ203におけるスキューを小さくすることができる。
プロセッサ120は、上述のドライブ強度のトレーニング処理と同様にスキュー調整値に係るトレーニング処理を行い、2つの信号の送信タイミングをずらす適切な時間(つまり、スキュー調整値)を見つけてもよい。例えば、プロセッサ120は、スキュー調整値の参照用レジスタに登録されている値の内、スキュー調整値を小さい値から大きい値に段階的に変更していき、リードテストデータにビットエラーが存在しなくなる適切なスキュー調整値を見つける。そして、プロセッサ120は、実稼働におけるデータ送信時、その適切なスキュー調整値を第1ドライバ101に設定し、第1ドライバ101は、その設定されたスキュー調整値に従う信号を発信してもよい。
ODTとは、第2レシーバ203が備える終端抵抗である。終端抵抗は、信号が第2レシーバ203で反射することを防止するために備えられる。この終端抵抗の大きさ(つまり、ODT抵抗値)は変更できてよい。
プロセッサ120は、上述のドライブ強度のトレーニング処理と同様にODT抵抗値に係るトレーニング処理を行い、適切なODT抵抗値を見つけてもよい。例えば、プロセッサ120は、ODT抵抗値の参照用レジスタに登録されている値の内、大きい値から小さい値に段階的に変更していき、リードテストデータにビットエラーが存在しなくなる適切なODT抵抗値を見つける。そして、プロセッサ120は、実稼働におけるデータ送信時、その適切なODT抵抗値を第2レシーバ203に設定し、第2レシーバ203は、その設定されたODT抵抗値に従って信号を受信してもよい。
プロセッサ120は、トレーニング処理によって、ドライブ強度、スルーレート、スキュー調整値及びODT抵抗値の各々の適切な値を見つけ、それらの適切な値を全て所定の設定用レジスタに登録してもよい。そして、プロセッサ120は、実稼働におけるデータ送信時、それらの適切な値の全てを第1ドライバ101及び第2レシーバ203に設定し、第1ドライバ101を制御して信号を発信してもよい。これにより、第1ドライバ101に従来よりも小さなドライブ強度102を設定することができる。よって、コントローラ100と記憶装置200との間のデータ通信速度を従来よりも高速化することができる。
これまでに説明した実施例1〜5を基に、例えば以下の様な表現をすることができる。
<表現1>
コントローラ部と、データ記憶部と、前記コントローラ部と前記データ記憶部とを接続する信号の伝送路と、を有し、
前記コントローラ部は、前記伝送路へ発信する信号の特性を決定するパラメータに基づいて、前記伝送路へ信号を発信するドライバを有し、
前記データ記憶部は、前記伝送路を通じて伝送された信号を受信するレシーバと、データが一時的に記憶される第1記憶領域と、前記第1記憶領域に一時的に記憶された前記データが最終的に記憶される第2記憶領域と、を有し、
前記コントローラ部は、前記ドライバにテスト用のパラメータを前記ドライバに設定し、前記ドライバは、その設定されたテスト用のパラメータに基づいて、ライトデータを含む信号を前記伝送路へ発信し、
前記レシーバは、前記ドライバから発信された信号を前記伝送路を通じて受信し、前記データ記憶部は、前記レシーバの受信した信号に含まれる前記ライトデータを前記第1記憶領域にライトし、
前記コントローラ部は、前記第1記憶領域から前記ライトデータをリードし、そのリードしたライトデータにビットエラーが存在するか否かを判定し、その判定の結果を基に、前記ドライバに使用するパラメータを決定する
ストレージシステム。
<表現2>
前記コントローラ部は、
前記第1記憶領域からリードしたライトデータに前記ビットエラーが存在しない場合、前記ドライバに設定したテスト用のパラメータを前記ドライバに使用するパラメータに決定し、
前記第1記憶領域からリードしたライトデータに前記ビットエラーが存在する場合、先に設定したテスト用のパラメータよりも前記ライトデータの通信速度が遅くなるようなテスト用のパラメータを設定して、再度、前記データ記憶部の前記第1記憶領域に対する前記ライトデータのライト及びリードと前記判定とを実行する
表現1に記載のストレージシステム。
<表現3>
前記第2記憶領域は、記憶しているデータにビットエラーを生じさせ得る不揮発性記憶媒体で構成されている
表現1又は2に記載のストレージシステム。
<表現4>
前記伝送路には、前記データ記憶部として第1データ記憶部と第2データ記憶部とが接続されており、
前記コントローラ部は、
前記第1データ記憶部及び前記第2データ記憶部の各々に対して、前記ライトデータのライト及びリードと前記判定とを実行して、前記第1データ記憶部に使用する第1パラメータと、前記第2データ記憶部に使用する第2パラメータとを決定し、
前記第1データ記憶部へデータを送信する場合には、前記ドライバに前記第1パラメータを使用し、前記第2メモリ部へデータを送信する場合には、前記ドライバに前記第2パラメータを使用する
表現1乃至3の何れか1に記載のストレージシステム。
<表現5>
前記伝送路の前記データ記憶部側の接続先を、前記第1データ記憶部及び前記第2データ記憶部の何れか1つに切り替えるスイッチ部を備え、
前記コントローラ部は、
前記スイッチ部の接続先を前記第1データ記憶部に切り替えて、前記ライトデータのライト及びリードと前記判定とを実行して、前記第1データ記憶部に使用する前記第1パラメータを決定し、前記スイッチ部の接続先を前記第2データ記憶部に切り替えて、前記ライトデータのライト及びリードと前記判定とを実行して、前記第2データ記憶部に使用する前記第2パラメータを決定し、
前記第1データ記憶部へデータを送信する場合には、前記スイッチ部の接続先を前記第1データ記憶部に切り替え、前記ドライバに前記第1パラメータを使用し、
前記第2データ記憶部へデータを送信する場合には、前記スイッチ部の接続先を前記第2データ記憶部に切り替え、前記ドライバに前記第2パラメータを使用する
表現4に記載のストレージシステム。
<表現6>
前記伝送路の前記データ記憶部側の接続先を、第1データ記憶部及び第2データ記憶部と、第3データ記憶部及び第4データ記憶部との何れか1つに切り替えるスイッチ部を備え、
前記コントローラ部は、
前記スイッチ部の接続先を、前記第1データ記憶部及び前記第2データ記憶部に切り替えて、前記第1データ記憶部又は前記第2データ記憶部の何れかに対して、前記ライトデータのライト及びリードと前記判定とを実行して、前記第1データ記憶部及び前記第2データ記憶部に使用する第1パラメータを決定し、前記スイッチ部の接続先を、前記第3データ記憶部及び前記第4データ記憶部に切り替えて、前記第3データ記憶部又は前記第4データ記憶部の何れかに対して、前記ライトデータのライト及びリードと前記判定とを実行して、前記第3データ記憶部及び前記第4データ記憶部に使用する第2パラメータを決定し、
前記第1データ記憶部又は前記第2データ記憶部へデータを送信する場合には、前記スイッチ部の接続先を、前記第1データ記憶部及び前記第3データ記憶部に切り替えて、前記ドライバに前記第1パラメータを使用し、
前記第3データ記憶部又は前記第4データ記憶部へデータを送信する場合には、前記スイッチ部の接続先を、前記第3データ記憶部及び前記第4データ記憶部に切り替えて、前記ドライバに前記第2パラメータを使用する
表現1乃至3の何れか1に記載のストレージシステム。
<表現7>
前記パラメータは、前記ドライバの出力する信号の電流値を決定するドライブ強度であり、
前記通信速度が遅くなるようなテスト用のパラメータを設定するとは、先に設定したドライブ強度よりも前記電流値が大きくなるようなドライブ強度を設定することである
表現3に記載のストレージシステム。
<表現8>
前記パラメータは、前記ドライバの出力する信号のスルーレートを決定するスルーレート調整値であり、
前記通信速度が遅くなるようなテスト用のパラメータを設定するとは、先に設定したスルーレート調整値よりも前記スルーレートが大きくなるようなスルーレート調整値を設定することである
表現1乃至7の何れか1に記載のストレージシステム。
<表現9>
前記パラメータは、前記レシーバに係る終端抵抗の大きさを決定する抵抗値であり、
前記通信速度が遅くなるようなテスト用のパラメータを設定するとは、先に設定した抵抗値よりも大きい抵抗値を設定することである
表現1乃至7の何れか1に記載のストレージシステム。
<表現10>
前記ドライバに設定されたパラメータを外部に出力するためのインタフェース部をさらに備える
表現1乃至9の何れか1に記載のストレージシステム。
<表現11>
伝送路の一方に接続されたコントローラ部と、前記伝送路の他方に接続されたデータ記憶部との間で信号を伝送する方法であって、
前記コントローラ部は、前記伝送路へ発信する信号の特性を決定するパラメータに基づいて、前記伝送路へ信号を発信するドライバを有しており、
前記データ記憶部は、前記伝送路を通じて伝送された信号を受信するレシーバと、データが一時的に記憶される第1記憶領域と、前記第1記憶領域に一時的に記憶された前記データが最終的に記憶される第2記憶領域と、を有しており、
前記コントローラ部が、前記ドライバにテスト用のパラメータを前記ドライバに設定し、前記ドライバが、その設定されたテスト用のパラメータに基づいて、ライトデータを含む信号を前記伝送路へ発信し、
前記レシーバが、前記ドライバから発信された信号を前記伝送路を通じて受信し、前記データ記憶部が、前記レシーバの受信した信号に含まれる前記ライトデータを前記第1記憶領域にライトし、
前記コントローラ部が、前記第1記憶領域から前記ライトデータをリードし、そのリードしたライトデータにビットエラーが存在するか否かを判定し、その判定の結果を基に、前記ドライバに使用するパラメータを決定する
信号伝送方法。
上述の表現において、コントローラ部は、コントローラ100、100a、100b、100cに対応する。ドライバは、第1ドライバ101に対応する。データ記憶部は、記憶装置200、200a〜200iに対応する。第1記憶領域は、データレジスタ202に対応する。第2記憶領域は、メモリセルアレイ201に対応する。レシーバは、第2レシーバ203、203a〜203eに対応する。伝送路は、伝送路300、300a〜300c、301a〜301iに対応する。テスト用のパラメータは、参照用レジスタ104に登録されているドライブ強度に対応する。又は、テスト用のパラメータは、所定の参照用レジスタに登録されているスルーレート、スキュー調整値又はODT抵抗値に対応する。
1、1a、1b、1c:信号伝送システム 100、100a〜100c:コントローラ 120:プロセッサ 101:第1ドライバ 102:ドライブ強度(オン抵抗) 200、200a〜200i:フラッシュメモリ 203、203a〜203e:第2レシーバ


Claims (13)

  1. コントローラ部と、データ記憶部と、前記コントローラ部と前記データ記憶部とを接続する信号の伝送路と、を有し、
    前記コントローラ部は、前記伝送路へ発信する信号の特性を決定するパラメータに基づいて、前記伝送路へ信号を発信するドライバを有し、
    前記データ記憶部は、データが一時的に記憶される第1記憶領域と、前記第1記憶領域に一時的に記憶された前記データが最終的に記憶される第2記憶領域と、を有し、
    前記コントローラ部は、ライトデータを含むテスト用信号を前記伝送路へ発信し、
    前記データ記憶部は、前記ドライバから発信されたテスト用信号を前記伝送路を通じて受信し、当該受信したテスト用信号に含まれる前記ライトデータを前記第1記憶領域にライトして保持し前記コントローラ部からリード要求を受信した場合、前記第1記憶領域に保持したライトデータを前記コントローラ部に発信し、
    前記コントローラ部は、前記データ記憶部から発信された前記第1記憶領域に保持したライトデータをリードし、そのリードしたライトデータに基づいて、前記ドライバに使用するパラメータを決定する
    ストレージシステム。
  2. 前記コントローラ部は、
    前記データ記憶部から発信された前記第1記憶領域に保持したライトデータをリードし、そのリードしたライトデータにビットエラーが存在するか否かを判定し、
    前記第1記憶領域からリードしたライトデータに前記ビットエラーが存在しない場合、前記ドライバに設定したテスト用のパラメータを前記ドライバに使用するパラメータに決定し、
    前記第1記憶領域からリードしたライトデータに前記ビットエラーが存在する場合、先に設定したテスト用のパラメータよりも前記ライトデータの通信速度が遅くなるようなテスト用のパラメータを設定して、再度、前記データ記憶部の前記第1記憶領域に対する前記ライトデータのライト及びリードと前記判定とを実行する
    請求項1に記載のストレージシステム。
  3. 前記第2記憶領域は、記憶しているデータにビットエラーを生じさせ得る不揮発性記憶媒体で構成されている
    請求項2に記載のストレージシステム。
  4. 前記伝送路には、前記データ記憶部として第1データ記憶部と第2データ記憶部とが接続されており、
    前記コントローラ部は、
    前記第1データ記憶部及び前記第2データ記憶部の各々に対して、前記ライトデータのライト及びリードと前記判定とを実行して、前記第1データ記憶部に使用する第1パラメータと、前記第2データ記憶部に使用する第2パラメータとを決定し、
    前記第1データ記憶部へデータを送信する場合には、前記ドライバに前記第1パラメータを使用し、前記第2データ記憶部へデータを送信する場合には、前記ドライバに前記第2パラメータを使用する
    請求項3に記載のストレージシステム。
  5. 前記伝送路の前記データ記憶部側の接続先を、前記第1データ記憶部及び前記第2データ記憶部の何れか1つに切り替えるスイッチ部を備え、
    前記コントローラ部は、
    前記スイッチ部の接続先を前記第1データ記憶部に切り替えて、前記ライトデータのライト及びリードと前記判定とを実行して、前記第1データ記憶部に使用する前記第1パラメータを決定し、前記スイッチ部の接続先を前記第2データ記憶部に切り替えて、前記ライトデータのライト及びリードと前記判定とを実行して、前記第2データ記憶部に使用する前記第2パラメータを決定し、
    前記第1データ記憶部へデータを送信する場合には、前記スイッチ部の接続先を前記第1データ記憶部に切り替え、前記ドライバに前記第1パラメータを使用し、
    前記第2データ記憶部へデータを送信する場合には、前記スイッチ部の接続先を前記第2データ記憶部に切り替え、前記ドライバに前記第2パラメータを使用する
    請求項4に記載のストレージシステム。
  6. 前記伝送路の前記データ記憶部側の接続先を、第1データ記憶部及び第2データ記憶部で構成された第1グループと、第3データ記憶部及び第4データ記憶部で構成された第2グループとの何れか1つに切り替えるスイッチ部を備え、
    前記コントローラ部は、
    前記スイッチ部の接続先を、前記第1グループに切り替えて、前記第1グループに対して、前記ライトデータのライト及びリードと前記判定とを実行して、前記第1グループに使用する第1パラメータを決定し、前記スイッチ部の接続先を、前記第2グループに切り替えて、前記第2グループに対して、前記ライトデータのライト及びリードと前記判定とを実行して、前記第2グループに使用する第2パラメータを決定し、
    前記第1データ記憶部又は前記第2データ記憶部へデータを送信する場合には、前記スイッチ部の接続先を、前記第1グループに切り替えて、前記ドライバに前記第1パラメータを使用し、
    前記第3データ記憶部又は前記第4データ記憶部へデータを送信する場合には、前記スイッチ部の接続先を、前記第2グループに切り替えて、前記ドライバに前記第2パラメータを使用する
    請求項3に記載のストレージシステム。
  7. 前記パラメータは、前記ドライバの出力する信号の電流値を決定するドライブ強度であり、
    前記通信速度が遅くなるようなテスト用のパラメータを設定するとは、先に設定したドライブ強度よりも前記電流値が大きくなるようなドライブ強度を設定することである
    請求項3に記載のストレージシステム。
  8. 前記パラメータは、前記ドライバの出力する信号のスルーレートを決定するスルーレート調整値であり、
    前記通信速度が遅くなるようなテスト用のパラメータを設定するとは、先に設定したスルーレート調整値よりも前記スルーレートが大きくなるようなスルーレート調整値を設定することである
    請求項3に記載のストレージシステム。
  9. 前記パラメータは、前記コントローラ部に係る終端抵抗の大きさを決定する抵抗値であり、
    前記通信速度が遅くなるようなテスト用のパラメータを設定するとは、先に設定した抵抗値よりも大きい抵抗値を設定することである
    請求項3に記載のストレージシステム。
  10. 前記ドライバに設定されたパラメータを外部に出力するためのインタフェース部をさらに備える
    請求項7に記載のストレージシステム。
  11. 前記コントローラ部は、前記テスト用信号を前記伝送路へ発信する場合、当該テスト用信号に含まれる前記ライトデータを前記第1記憶領域に保持する要求を発信する
    請求項1に記載のストレージシステム。
  12. 前記コントローラ部は、前記リード要求を前記伝送路へ発信する場合、前記第2記憶領域に記憶されたことが無いデータをリードする要求を発信する
    請求項1に記載のストレージシステム。
  13. 伝送路の一方に接続されたコントローラ部と、前記伝送路の他方に接続されたデータ記憶部との間で信号を伝送する方法であって、
    前記コントローラ部は、前記伝送路へ発信する信号の特性を決定するパラメータに基づいて、前記伝送路へ信号を発信するドライバを有しており、
    前記データ記憶部は、データが一時的に記憶される第1記憶領域と、前記第1記憶領域に一時的に記憶された前記データが最終的に記憶される第2記憶領域と、を有しており、
    前記コントローラ部が、ライトデータを含むテスト用信号を前記伝送路へ発信し、
    前記レシーバが、前記ドライバから発信されたテスト用信号を前記伝送路を通じて受信し、当該受信したテスト用信号に含まれる前記ライトデータを前記第1記憶領域にライトして保持し前記コントローラ部からリード要求を受信した場合、前記第1記憶領域に保持したライトデータを前記コントローラ部に発信し、
    前記コントローラ部が、前記データ記憶部から発信された前記第1記憶領域に保持したライトデータをリードし、そのリードしたライトデータに基づいて、前記ドライバに使用するパラメータを決定する
    信号伝送方法。
JP2016519066A 2014-05-16 2014-05-16 ストレージシステム及び信号伝送方法 Active JP6322701B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/063056 WO2015173946A1 (ja) 2014-05-16 2014-05-16 ストレージシステム及び信号伝送方法

Publications (2)

Publication Number Publication Date
JPWO2015173946A1 JPWO2015173946A1 (ja) 2017-04-20
JP6322701B2 true JP6322701B2 (ja) 2018-05-09

Family

ID=54479514

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016519066A Active JP6322701B2 (ja) 2014-05-16 2014-05-16 ストレージシステム及び信号伝送方法

Country Status (3)

Country Link
US (1) US10061720B2 (ja)
JP (1) JP6322701B2 (ja)
WO (1) WO2015173946A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200085985A (ko) 2019-01-07 2020-07-16 삼성전자주식회사 다중 모드 전송선 및 그것을 포함하는 스토리지 장치
JP7449785B2 (ja) * 2020-06-17 2024-03-14 日立Astemo株式会社 電子制御装置、判定方法
JP2022051277A (ja) * 2020-09-18 2022-03-31 キオクシア株式会社 メモリシステムおよび制御方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000078209A (ja) * 1998-08-28 2000-03-14 Nec Eng Ltd デジタル信号伝送回路
US6438159B1 (en) * 1999-02-16 2002-08-20 Maxtor Corporation Method and apparatus for margining error rate of multi-drop data buses
JP3490368B2 (ja) * 2000-02-07 2004-01-26 インターナショナル・ビジネス・マシーンズ・コーポレーション 信号出力装置、ドライバ回路、信号伝送システム、および信号伝送方法
EP1576754A1 (en) * 2002-12-18 2005-09-21 Koninklijke Philips Electronics N.V. Adaptive encoding of digital multimedia information
JP4543897B2 (ja) * 2004-11-18 2010-09-15 ソニー株式会社 信号伝送システム
KR101263817B1 (ko) * 2007-09-07 2013-05-13 삼성전자주식회사 노이즈에 둔감한 제어 시스템 및 제어 방법
US8279144B2 (en) * 2008-07-31 2012-10-02 Freescale Semiconductor, Inc. LED driver with frame-based dynamic power management
WO2010019249A2 (en) * 2008-08-12 2010-02-18 Solarflare Communications, Inc. Method and apparatus for reducing transmitter ac-coupling droop
JP2011101143A (ja) 2009-11-05 2011-05-19 Elpida Memory Inc 半導体装置及びそのシステムとキャリブレーション方法
US9676357B2 (en) * 2010-06-15 2017-06-13 Infineon Technologies Ag Diagnosis of integrated driver circuits
WO2014049752A1 (ja) * 2012-09-26 2014-04-03 富士通株式会社 データ伝送装置及びデータ伝送方法
JP6007843B2 (ja) * 2013-03-26 2016-10-12 富士通株式会社 信号伝送回路、半導体集積回路、及び信号伝送回路の調整方法
EP3028362B1 (en) * 2013-07-30 2019-10-09 Powermat Technologies Ltd. Efficiency monitor for inductive power transmission
US9602311B2 (en) * 2014-02-06 2017-03-21 The Board Of Trustees Of The Leland Stanford Junior University Dual-mode network
KR102204392B1 (ko) * 2014-03-06 2021-01-18 삼성전자주식회사 Led 조명 구동장치, 조명장치 및 조명장치의 동작방법.
US9419746B1 (en) * 2014-05-16 2016-08-16 Altera Corporation Apparatus and methods for tuning a communication link for power conservation
US9568548B1 (en) * 2015-10-14 2017-02-14 International Business Machines Corporation Measurement of signal delays in microprocessor integrated circuits with sub-picosecond accuracy using frequency stepping

Also Published As

Publication number Publication date
US10061720B2 (en) 2018-08-28
WO2015173946A1 (ja) 2015-11-19
US20170220492A1 (en) 2017-08-03
JPWO2015173946A1 (ja) 2017-04-20

Similar Documents

Publication Publication Date Title
KR102553266B1 (ko) 온-다이-터미네이션 회로를 포함하는 메모리 장치
US8917110B2 (en) Semiconductor package including multiple chips and memory system having the same
US10528493B2 (en) Adjusting an optimization parameter to customize a signal eye for a target chip on a shared bus
KR20160118836A (ko) 호스트 커맨드 큐를 포함하는 메모리 컨트롤러 및 그것의 동작 방법
US10013368B2 (en) Adjusting an optimization parameter to customize a signal eye for a target chip on a shared bus
JP6322701B2 (ja) ストレージシステム及び信号伝送方法
KR20160138627A (ko) 반도체 메모리 장치, 이를 위한 임피던스 조절 회로 및 방법
US11113222B2 (en) NAND switch
JP2012048707A (ja) シリアル・アドバンスド・テクノロジー・アタッチメントの性能を改善するための方法および装置
US9292391B2 (en) Interface calibration using configurable on-die terminations
US10922247B2 (en) Interface components
US20160196062A1 (en) Memory system
US8907698B2 (en) On-die termination circuit and termination method
CN114327267A (zh) 一种闪存控制器、延迟调整方法及存储设备
US10223320B2 (en) Adjusting an optimization parameter to customize a signal eye for a target chip on a shared bus
JP2022146543A (ja) 半導体記憶装置、メモリシステム、および方法
KR102275620B1 (ko) 조절되는 저항 값을 갖는 종단 저항을 포함하는 수신 회로, 그것의 작동 방법, 및 그것을 포함하는 저장 장치
TWI653536B (zh) 用於調整最佳化參數以自訂用於共用匯流排上目標晶片之信號眼之方法、系統及電腦程式產品
US9940274B2 (en) Memory system and control method of memory system
JP2019215662A (ja) 不揮発性メモリデバイス、及びインターフェース設定方法
KR20200059494A (ko) 메모리 시스템
US9128511B2 (en) Semiconductor device and operation method thereof
CN112527721B (zh) 一种集成电路总线接口控制装置、方法以及系统
JP2015192168A (ja) 信号伝送システム、送信装置、信号伝送方法、および送信装置制御プログラム
CN101009131A (zh) 具有用于电信号的再驱动单元的半导体存储芯片

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171003

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171110

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: 20180403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180409

R150 Certificate of patent or registration of utility model

Ref document number: 6322701

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150