JP2022049407A - 情報処理システム、ストレージデバイス、およびキャリブレーション方法 - Google Patents

情報処理システム、ストレージデバイス、およびキャリブレーション方法 Download PDF

Info

Publication number
JP2022049407A
JP2022049407A JP2020155600A JP2020155600A JP2022049407A JP 2022049407 A JP2022049407 A JP 2022049407A JP 2020155600 A JP2020155600 A JP 2020155600A JP 2020155600 A JP2020155600 A JP 2020155600A JP 2022049407 A JP2022049407 A JP 2022049407A
Authority
JP
Japan
Prior art keywords
host
storage device
pulse signal
duty ratio
register
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.)
Pending
Application number
JP2020155600A
Other languages
English (en)
Inventor
將吉 佐藤
Shokichi Sato
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.)
Kioxia Corp
Original Assignee
Kioxia Corp
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 Kioxia Corp filed Critical Kioxia Corp
Priority to JP2020155600A priority Critical patent/JP2022049407A/ja
Priority to US17/190,134 priority patent/US11520716B2/en
Publication of JP2022049407A publication Critical patent/JP2022049407A/ja
Priority to US17/971,341 priority patent/US20230040717A1/en
Pending legal-status Critical Current

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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L25/03012Arrangements for removing intersymbol interference operating in the time domain
    • H04L25/03019Arrangements for removing intersymbol interference operating in the time domain adaptive, i.e. capable of adjustment during data reception
    • H04L25/03057Arrangements for removing intersymbol interference operating in the time domain adaptive, i.e. capable of adjustment during data reception with a recursive structure
    • 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
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L25/03012Arrangements for removing intersymbol interference operating in the time domain
    • H04L25/03114Arrangements for removing intersymbol interference operating in the time domain non-adaptive, i.e. not adjustable, manually adjustable, or adjustable only during the reception of special signals
    • H04L25/03146Arrangements for removing intersymbol interference operating in the time domain non-adaptive, i.e. not adjustable, manually adjustable, or adjustable only during the reception of special signals with a recursive structure
    • 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
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L25/03343Arrangements at the transmitter end
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0028Serial attached SCSI [SAS]

Abstract

【課題】伝送路を伝送されるパルス信号のデューティ比を適切に調整することができる情報処理システムを提供する。【解決手段】実施形態によれば、情報処理システムは、ホストとストレージデバイスとが伝送路を介して信号を送受信する。ストレージデバイスは、レジスタと補正回路とを備える。レジスタは、パルス信号のデューティ比を変更するためのパラメータを設定できる。補正回路は、パラメータに応じてパルス信号のデューティ比を調整する。ホストは、ストレージデバイスのパラメータを変化させていきながら、ストレージデバイスから出力されるパルス信号のデューティ比を測定し、ストレージデバイスにおけるパラメータの最適値を導出する。ストレージデバイスは、ホストからの第1指示に応じて、パラメータの値を変化させていきながら、パルス信号を出力し、ホストからの第2指示に応じて、ホストによって導出されたパラメータの最適値を設定する。【選択図】図6

Description

本発明の実施形態は、情報処理システム、ストレージデバイス、およびキャリブレーション方法に関する。
ホストとストレージデバイスとが伝送路を介して信号を送受信する情報処理システムにおいては、近年、信号の転送速度の高速化が目覚ましい。これに伴い、要求される信号品質の水準が厳しくなってきている。また、信号品質を低下させる要因の一つであるJitterを抑えるために、伝送路を伝送されるパルス信号のデューティ比(デューティサイクルとも称する)に求められる精度の向上が求められている。
特開2009-042231号公報 特開2020-017853号公報 特開2014-154963号公報
本発明の一つの実施形態は、伝送路を伝送されるパルス信号のデューティ比を適切に調整することができる情報処理システム、ストレージデバイス、およびキャリブレーション方法を提供する。
実施形態によれば、情報処理システムは、ホストとストレージデバイスとが伝送路を介して信号を送受信する。ストレージデバイスは、レジスタと、補正回路とを具備する。レジスタは、伝送路に出力するパルス信号のデューティ比を変更するためのパラメータを設定できる。補正回路は、レジスタに設定されたパラメータに応じてパルス信号のデューティ比を調整する。ホストは、第1キャリブレーション処理部を具備する。第1キャリブレーション処理部は、ストレージデバイスのレジスタに設定されるパラメータの値を変化させていきながら、ストレージデバイスから出力されるパルス信号のデューティ比を測定し、ストレージデバイスにおけるパラメータの最適値を導出する。ストレージデバイスは、第2キャリブレーション処理部を具備する。第2キャリブレーション処理部は、ホストからの第1指示に応じて、レジスタに設定されるパラメータの値を変化させていきながら、補正回路によってデューティ比が調整されたパルス信号を伝送路に出力し、前記ホストからの第2指示に応じて、ホストによって導出されたパラメータの最適値をレジスタに設定する。
第1実施形態の情報処理システムの一構成例を示す図 パルス信号のデューティ比の調整が十分に出来ている場合と出来ていない場合との一比較例を示す図 第1実施形態の情報処理システムにおいて実行されるパルス信号のデューティ比に関するキャリブレーション(Jitterキャリブレーション)の概要を示す図 第1実施形態の情報処理システムにおいて実行されるキャリブレーション時のパルス信号の一観測結果例を示す図 第1実施形態の情報処理システムのストレージデバイスおよびホストの双方に設けられるコネクタの一例を示す図 第1実施形態の情報処理システムにおいて実行される、ストレージデバイスから出力されるパルス信号に関するキャリブレーションの流れを示すシーケンス図 第1実施形態の情報処理システムにおいて実行される、ホストから出力されるパルス信号に関するキャリブレーションの流れを示すシーケンス図 第2実施形態の情報処理システムにおけるキャリブレーションの流れを示すシーケンス図 第3実施形態の情報処理システムにおいて実行されるキャリブレーション(Jitter-DEFキャリブレーション)の流れを示すシーケンス図 第4実施形態の情報処理システムにおけるキャリブレーションの流れを示すシーケンス図 第5実施形態のストレージデバイスがループバック接続された様子の一例を示す図 第5実施形態のストレージデバイス単独でのJitterキャリブレーションの流れを示すシーケンス図
以下、実施の形態について、図面を参照して説明する。
(第1実施形態)
まず、第1実施形態について説明する。
図1は、第1実施形態の情報処理システムSYSの一構成例を示す図である。
図1に示すように、本第1実施形態の情報処理システムSYSは、ストレージデバイス1とホスト2とが伝送路(インターフェース)3を介して接続される。ここでは、ストレージデバイス1がSSD(solid state drive)である場合の例を示している。ホスト2は、サーバやパーソナルコンピュータなどである。インターフェース3は、SAS、SATA、PCI Express(PCIe(登録商標))などの規格に準拠する。ストレージデバイス1は、UFS(Universal Flash Storage)の規格に準拠したデバイスであってもよい。
ストレージデバイス1は、コントローラ11、NAND型フラッシュメモリ(以下、NAND)12、DRAM13を有する。
コントローラ11は、ホスト2からのコマンドに応じて、NAND12へのデータの書き込み処理や、NAND12からのデータの読み出し処理などを実行する。コントローラ11は、ホストインターフェース回路(以下、ホストI/F)110、制御部120、NANDインターフェース回路(以下、NAND I/F)130、SRAM140、UART(universal asynchronous receiver/transmitter)150を有する。コントローラ11は、たとえばSoC(System on a chip)として構成される。
ホストI/F110は、ホスト2との間の通信を制御する。ホストI/F110は、PHY111を有する。PHY111は、OSI階層モデルにおける最下層の物理層の機能を実現するための回路である。PHY111は、複数のPort/Lane301、DCC(duty cycle correction)回路302、レジスタ303を有する。
各Port/Lane301は、信号の送信用の送信回路Txと、信号の受信用の受信回路Rxとの組みを含む。インターフェース3がSASまたはSATAに準拠する場合、Port/Lane301は「port」である。インターフェース3がPCIeに準拠する場合、Port/Lane301は「lane」である。
DCC回路302は、Port/Lane301の送信回路Txから出力されるパルス信号のデューティ比(デューティサイクルとも称する)を調整する回路である。レジスタ303は、DCC回路302によるデューティ比の調整の結果を補正するためのパラメータを格納する。このパラメータは、Countなどと称される。設計不良、個体不良、相性問題などにより、DCC回路302がパルス信号のデューティ比を調整しきれなかったり、調整した結果がずれたりする場合、レジスタ303に対する当該Countの設定により、パルス信号のデューティ比を補正することができる。レジスタ303には、各Port/Lane301のCountが格納される。
制御部120は、ストレージデバイス1内の各コンポーネントを制御する。制御部120は、キャリブレーション処理部121を有する。キャリブレーション処理部121は、ホスト2と協働して、前述したCountの最適値をレジスタ303へ設定する。つまり、キャリブレーション処理部121は、ホスト2との間で送受するパルス信号のキャリブレーションを実行する。このキャリブレーションの詳細については後述する。
NAND I/F130は、制御部120の配下で、NAND12へのデータの書き込み、NAND12からのデータの読み出し、およびNAND12に記憶されたデータの消去を制御する。
SRAM140は、データを揮発的に記憶するストレージである。SRAM140は、たとえばNAND12に格納されているファームウェアのロード領域として使用される。
UART150は、たとえばUSB(universal serial bus)の規格や他のインターフェース規格に準拠したコネクタ(図示せず)経由で、外部からのコマンドやパラメータなどを入力するための回路である。
NAND12は、データを不揮発的に記憶するストレージである。DRAM13は、データを揮発的に記憶するストレージである。DRAM13は、たとえばNAND12へ書き込むデータやNANDから読み出したデータのバッファ領域として使用される。DRAM13は、コントローラ11の内部に設けられてもよい。
ホスト2は、CPU21、メインメモリ22、インターフェース(I/F)コントローラ23を有する。CPU21は、たとえばストレージデバイス1からメインメモリ22へ各種プログラムをロードして実行する。各種プログラムには、キャリブレーション処理プログラム200が含まれる。キャリブレーション処理プログラム200は、ストレージデバイス1と協働して、ストレージデバイス1およびホスト2のそれぞれについて、前述したCountの最適値を導出する。つまり、キャリブレーション処理プログラム200は、キャリブレーション処理部121と対峙するように設けられるモジュールである。
I/Fコントローラ23は、CPU21と、ストレージデバイス1との間を中継するブリッジデバイスである。また、I/Fコントローラ23には、ストレージデバイス1のPHY111と対をなすPHY231が内蔵されている。
ホスト2のPHY231も、ストレージデバイス1のPHY111と同様、複数のPort/Lane401、DCC回路402、レジスタ403を有する。図1に示すように、ホスト2の複数のPort/Lane401と、ストレージデバイス1の複数のPort/Lane301とは一対一で対応している。ホスト2のいずれかのPort/Lane401の送信回路Txから出力されるパルス信号は、当該Port/Lane401に対応するストレージデバイス1のいずれかのPort/Lane301の受信回路Rxに入力される。逆に、ストレージデバイス1のいずれかのPort/Lane301の送信回路Txから出力されるパルス信号は、当該Port/Lane301に対応するホスト2のいずれかのPort/Lane401の受信回路Rxに入力される。前述したように、ストレージデバイス1のPort/Lane301の送信回路Txから出力されるパルス信号のデューティ比は、DCC回路302によって調整される。また、このDCC回路302によるデューティ比の調整が十分でない場合、レジスタ303へのCountの設定によって補正することができる。同様に、ホスト2のPort/Lane401の送信回路Txから出力されるパルス信号のデューティ比は、DCC回路402によって調整される。また、このDCC回路402によるデューティ比の調整が十分でない場合、レジスタ403へのCountの設定によって補正することができる。
図2は、パルス信号のデューティ比の調整が十分に出来ている場合と出来ていない場合との一比較例を示す図である。
たとえば、ストレージデバイス1とホスト2との間で送受信される信号の波形は、デューティ比50%近傍で安定していることが理想的とされている。(A1)は、デューティ比50%近傍で安定している状態のパルス信号の一例を示している。縦軸が振幅、横軸が時間である。デューティ比は、パルスの周期をT、振幅が正の期間のパルス幅(Highの時間)をHとした場合、デューティ比[%]=(H/T)×100で求まる。振幅が負の期間のパルス幅(Lowの時間)をLとした場合、T=H+Lである。
(B1)は、(A1)の状態のパルス信号をオシロスコープなどで観察した波形の一例を示している。デューティ比50%近傍で安定している状態は、信号品質を低下させる要因の一つであるJitterが抑えられている状態である。この状態は、「EyeのJitterが少ない」などと称される。DCC回路302,402は、理想的とされる50%近傍で安定するように、Port/Lane301,401の送信回路Txから出力されるパルス信号のデューティ比を調整する。
一方、DCC回路302,402による調整が十分でない場合、デューティ比が50%近傍から外れてしまう。(A2)は、H(Highの時間)がL(Lowの時間)よりも顕著に大きい状態のパルス信号の一例を示している。また、(B2)は、(A2)の状態のパルス信号をオシロスコープなどで観察した波形の一例を示している。デューティ比が50%近傍から外れてしまっている状態は、Jitterが抑えられていない状態である。この状態は、「EyeのJitterが大きい」などと称される。Jitterが大きくなると、インターフェースに関する種々の不良(インターフェース3上のトラブル事象)を誘発するおそれがでてくる。
本第1実施形態の情報処理システムSYSは、ホスト2とストレージデバイス1とが協働して、このようなJitterを抑えるためのキャリブレーション、つまりCountと称されるパラメータを適切に設定するものである。以下、この点について詳述する。以下、Jitterを抑えるためのキャリブレーションを、Jitterキャリブレーションと称することがある。
図3は、本第1実施形態の情報処理システムSYSにおいてストレージデバイス1とホスト2とが協働して実行するキャリブレーションの概要を示す図である。
前述したように、ホスト2の複数のPort/Lane401と、ストレージデバイス1の複数のPort/Lane301とは一対一で対応している。ホスト2のいずれかのPort/Lane401の送信回路Txから出力されるパルス信号は、当該Port/Lane401に対応するストレージデバイス1のいずれかのPort/Lane301の受信回路Rxに入力される。逆に、ストレージデバイス1のいずれかのPort/Lane301の送信回路Txから出力されるパルス信号は、当該Port/Lane301に対応するホスト2のいずれかのPort/Lane401の受信回路Rxに入力される。
また、ホスト2のPort/Lane401の送信回路Txから出力されるパルス信号のデューティ比は、ホスト2のDCC回路402によって、理想的とされる50%近傍で安定するように調整される。同様に、ストレージデバイス1のPort/Lane301の送信回路Txから出力されるパルス信号のデューティ比は、ストレージデバイス1のDCC回路302によって、理想的とされる50%近傍で安定するように調整される。
さらに、ホスト2のDCC回路402によるデューティ比の調整が十分でない場合、ホスト2のレジスタ403に対するCountの設定により、デューティ比を補正することができる。同様に、ストレージデバイス1のDCC回路302によるデューティ比の調整が十分でない場合には、ストレージデバイス1のレジスタ303に対するCountの設定により、デューティ比を補正することができる。
そこで、本第1実施形態の情報処理システムSYSは、このCountを適切に設定するキャリブレーションを実行する。
具体的には、各送信回路Tx は、Count値を最小値から最大値まで変化させる(図3(1))。Count値が変化すると、送信回路Txから出力されるパルス信号のデューティ比が変化する。当該パルス信号が入力される各受信回路Rxは、各Count値に関し、HighとLowの振幅もしくはデューティ比を観測する(図3(2))。そして、各送信回路Tx は、この観測結果に基づき、Countの最適値を導出する。なお、このCount値の導出は、たとえばストレージデバイス1のCount値について実行し、次いで、ホスト2のCount値について実行するといったように一方ずつ順番に実行してもよいし、ストレージデバイス1のCount値とホスト2のCount値との双方について並行して実行してもよい。
図4は、Count値を最小値から最大値まで変化させながら送信回路Txから出力されたパルス信号の当該送信回路Txに対応する受信回路Rx側における一観測結果例を示す図である。
図4中、縦軸は振幅の絶対値、横軸はCount値である。なお、ここでは、縦軸を振幅の絶対値としているが、デューティ比としてもよい。
送信回路Txから出力されて当該送信回路Txに対応する受信回路Rxに入力されるパルス信号は、図4に示すように、Count値が最小値の場合、High側の振幅の絶対値は最大となり、一方、Low側の振幅の絶対値は最小となる。ここで、High側の振幅は、図2に示した周期Tのパルス信号におけるHの期間の振幅に対応し、Low側の振幅は、図2に示したパルス信号におけるLの期間の振幅に対応する。Count値が最小値から最大値へと移行するに従い、High側の振幅の絶対値は小さくなっていき、Low側の振幅の絶対値は大きくなっていく。Count値が最大値の場合、High側の振幅の絶対値は最小となり、Low側の振幅の絶対値は最大となる。
前述したように、パルス信号は、デューティ比50%近傍で安定していることが理想的とされている。従って、High側の振幅の絶対値とLow側の振幅の絶対値とが一致する時(クロスポイント)のCount値が最適値となる。本第1実施形態の情報処理システムSYSは、ストレージデバイス1とホスト2とが協働して、High側の振幅の絶対値とLow側の振幅の絶対値とが一致する時のCount値を最適値として導出する。
図5は、ストレージデバイス1とホスト2との接続のためにストレージデバイス1およびホスト2の双方に設けられるコネクタの一例を示す図である。
図5に示すコネクタは、SAS、SATA、SATA Express、PCIeを多面的にサポートするコネクタであり、複数のピンを有する。このコネクタ経由でストレージデバイス1とホスト2とが接続されると、インターフェース3の規格がPCIeの場合、Lane 0~Lane 3の4つのlaneが使用可能となる(a11、a12)。インターフェース3の規格がSATAの場合、1つのPortが使用可能となる(a21)。インターフェース3の規格がSASまたはSATA Expressの場合、第2Portを加えた2つのポートが使用可能となる(S21、S22)。インターフェース3の規格がSAS×4の場合は、さらに、第3Portと第4Portとを加えた4つのポートが使用可能となる(S21、S22、a31)。
図6は、本第1実施形態の情報処理システムSYSにおいてストレージデバイス1とホスト2とが協働して実行する、ストレージデバイス1の送信回路Txから出力されるパルス信号に関するキャリブレーションの流れを示すシーケンス図である。
ホスト2(キャリブレーション処理プログラム200)は、まず、たとえばメインメモリ22上に確保した、Countを最小値から最大値までインクリメントしていくために使用する領域に、Countの最小値を初期値として格納する(b1)。ホスト2は、この領域に格納されるCountが最大値に達するまで、符号b100で示す破線の矩形で囲まれる処理(b2~b10)を繰り返す。
ホスト2は、ストレージデバイス1に対して、キャリブレーション対象のPort/Laneを指定し、Count値を変更させ、パルス信号の出力を開始させるためのコマンド(Mode Select/Set Feature)を発行する(b2)。これ以降では、キャリブレーション対象のPort/Laneを対象Port/Laneとも称する。なお、「Mode Select」は、SASにおいて設定変更用として定義されているコマンドであり、「Set Feature」は、PCIeを基盤として策定されているストレージデバイス用のインターフェース規格であるNVMeにおいて設定変更用として定義されているコマンドである。これらは一例であって、これらに限定されるものではない。ホスト2は、これらのコマンドを、対象Port/Lane以外のPort/Laneを用いて、ストレージデバイス1に対して発行する。ここでは、ホスト2からストレージデバイス1へのコマンドの受け渡しを、インターフェース3経由で行うことを想定する。しかし、ストレージデバイス1はUART150を有しているので、インターフェース3経由に代えて、UART150経由で行うようにしてもよい。このb2においてストレージデバイス1へ通知されるCount値は、前述のメインメモリ22上などに確保される領域に格納されているCount値である。
ストレージデバイス1(キャリブレーション処理部121)は、ホスト2からの要求に応じて、指定されたPort/Laneに対応するCount値を変更し(b3)、コマンド実行完了をホスト2へ通知する(b4)。この通知は、ホスト2がコマンドの発行に用いたPort/Lane、つまり対象Port/Lane以外のPort/Laneを用いて行われればよい。ストレージデバイス1は、Count値を変更した対象Port/Laneの送信回路Txからパルス信号を出力する(b5)。
ホスト2は、対象Port/Laneの受信回路Rxに入力されるパルス信号のHighの振幅値とLowの振幅値とを計測する(b6)。計測が完了したら、ホスト2は、ストレージデバイス1に対して、対象Port/Laneを指定し、パルス信号の出力を停止させるためのコマンド(Mode Select/Set Feature)を発行する(b7)。ホスト2は、このコマンドの発行も、対象Port/Lane以外のPort/Laneを用いて実行する。ストレージデバイス1は、指定されたPort/Laneの送信回路Txからのパルス信号の出力を停止し(b8)、コマンド実行完了をホスト2へ通知する(b9)。
ホスト2は、Count値をインクリメントし(b10)、b2からの処理を繰り返す。インクリメント前のCount値が最大値に達している場合、ホスト2は、符号b100で示す破線の矩形で囲まれる処理(b2~b10)のループを抜け、b6での計測の結果に基づき、ストレージデバイス1の送信回路Txから出力されるパルス信号に関するCountの最適値を導出する(b11)。ホスト2は、当該導出したCount最適値を、ホスト2の(図1には示されない)BIOS-ROMなどの不揮発性領域に退避しておく。BIOS-ROMは、BIOSをアップデート可能にフラッシュメモリなどによって構成されている。
ホスト2は、ストレージデバイス1に対して、対象Port/Laneに当該導出したCount最適値を設定するためのコマンド(Mode Select/Set Feature)を発行する(b12)。ストレージデバイス1は、ホスト2から受け取ったCount最適値をPHY111のレジスタ303に設定する(b13)。ストレージデバイス1においても、このCount最適値を、NAND12内などの不揮発性領域に保存する(b14)。ストレージデバイス1は、Count値の設定および保存を完了すると、コマンド実行完了をホスト2へ通知する(b15)。
ホスト2は、ストレージデバイス1からコマンド実行完了の通知を受け取ると、ストレージデバイス1との間で、対象Port/Laneを初期化するためのLink Resetを実行する(b16)。
このように、ホスト2のハンドリングの下、ストレージデバイス1とホスト2とが協働して、ストレージデバイス1の送信回路Txから出力されるパルス信号に関するキャリブレーションが実現される。
図7は、本第1実施形態の情報処理システムSYSにおいてストレージデバイス1とホスト2とが協働して実行する、ホスト2の送信回路Txから出力されるパルス信号に関するキャリブレーションの流れを示すシーケンス図である。ここでも、ストレージデバイス1の送信回路Txから出力されるパルス信号に関するキャリブレーション(図6)と同様、各コマンドや応答には、対象Port/Lane以外のPort/Laneが使用される。
ホスト2(キャリブレーション処理プログラム200)は、まず、対象Port/LaneについてPHY231のレジスタ403に最小値のCountを設定する(c1)。ホスト2は、このCountを最大値まで変更していきながら、符号c100で示す破線の矩形で囲まれる処理(c2~c13)を繰り返す。
ホスト2は、ストレージデバイス1に対して、対象Port/Laneを指定し、パルス信号の測定を開始させるためのコマンド(Mode Select/Set Feature)を発行する(c2)。つまり、ホスト2は、対象Port/Laneの送信回路Txに出力するパルス信号、換言すれば、ストレージデバイス1においては対象Port/Laneの受信回路Rxに入力されるパルス信号のHighの振幅値とLowの振幅値との計測を要求する。ストレージデバイス1(キャリブレーション処理部121)は、パルス信号を測定する準備をし(c3)、準備が完了したら、コマンド実行完了をホスト2へ通知する(c4)。
ホスト2は、ストレージデバイス1からコマンド実行完了の通知を受け取ると、対象Port/Laneのパルス信号の発生を有効に設定する(c5)。この設定は、PHY231に対して実行される。この設定に伴い、ホスト2は、対象Port/Laneの送信回路Txからパルス信号を出力する(c6)。
ストレージデバイス1は、対象Port/Laneの受信回路Rxに入力されるパルス信号のHighの振幅値とLowの振幅値とを計測する(c7)。ホスト2は、ストレージデバイス1に対して、c2で計測を依頼した、ストレージデバイス1において対象Port/Laneの受信回路Rxに入力されるパルス信号のHighの振幅値とLowの振幅値とを問い合わせるコマンド(Mode Sense/Get Feature)を発行する(c8)。このとき、ホスト2は、たとえばc6のパルス出力から一定時間経過後に、このコマンド(Mode Sense/Get Feature)を発行する。なお、「Mode Sense」は、SASにおいて参照用として定義されているコマンドであり、「Get Feature」は、NVMeにおいて参照用として定義されているコマンドである。これらは一例であって、これらに限定されるものではない。ストレージデバイス1は、これらのコマンドを受け取ると、ホスト2に対して、c7で計測したパルス信号のHighの振幅値とLowの振幅値とを応答する(c9)。
ホスト2は、パルス信号のHighの振幅値とLowの振幅値とを受け取ると、ストレージデバイス1に対して、対象Port/Laneを指定し、パルス信号の測定を停止させるためのコマンド(Mode Select/Set Feature)を発行する(c10)。コマンドを受け取ったストレージデバイス1は、対象Port/Laneの受信回路Rxに入力されるパルス信号のHighの振幅値とLowの振幅値との計測を停止し(c11)、コマンド実行完了をホスト2へ通知する(c12)。
ホスト2は、Count値をインクリメントし(c13)、c2からの処理を繰り返す。インクリメント前のCount値が最大値に達している場合、ホスト2は、符号c100で示す破線の矩形で囲まれる処理(c2~c13)のループを抜け、c9で受け取った計測の結果に基づき、ホスト2の送信回路Txから出力されるパルス信号に関するCountの最適値を導出する(c14)。
ホスト2は、導出したCount最適値を、ホスト2の、たとえばフラッシュメモリなどによって構成されているBIOS-ROMなどの不揮発性領域に退避し、また、PHY231のレジスタ403に設定する(c15)。ホスト2は、この設定を終えると、ストレージデバイス1との間で、対象Port/Laneを初期化するためのLink Resetを実行する(c16)。
このように、ホスト2のハンドリングの下、ストレージデバイス1とホスト2とが協働して、ホスト2の送信回路Txから出力されるパルス信号に関するキャリブレーションが実現される。
以上のように、本第1実施形態の情報処理システムSYSは、ストレージデバイス1とホスト2とが協働して、対象Port/Laneについて、ストレージデバイス1とホスト2との双方のCountを最適値に設定することができる。つまり、本実施形態の情報処理システムSYSは、伝送路(インターフェース)3に出力されるパルス信号のデューティ比を適切に調整することができる。
なお、ストレージデバイス1側についてのキャリブレーション(図6)と、ホスト2側についてのキャリブレーション(図7)とは、前述したように、一方ずつ順番に実行してもよいし、並行して実行してもよい。
(第2実施形態)
次に、第2実施形態について説明する。
たとえばインターフェース3がSASの場合、ストレージデバイス1のPHY111とホスト2のPHY231との双方に、「Invalid Dword」や「Running Disparity」といった、各Port/Lane301,401の受信回路Rxに入力された信号について検出された各種エラーをカウントするカウンタが設けられる。このカウンタは、たとえばレジスタ303,403に設けられる。また、ストレージデバイス1においては、これらのカウンタの情報が、S.M.A.R.T.(Self-Monitoring, Analysis and Reporting Technology)の情報として記録される。
ここでは、PHY111,231に設けられるカウンタでカウントされるインターフェース3上のトラブル事象をI/F ERRORとも称する。I/F ERRORのカウント件数が上昇している場合、DCC回路302,402によるパルス信号のデューティ比の調整が十分に出来ておらず、通信する信号のJitterの問題が生じている可能性が疑われる。
そこで、本第2実施形態の情報処理システムSYSでは、ストレージデバイス1とホスト2との間の通信が休止状態(idle)にある期間に、カウンタによるI/F ERRORのカウント件数をチェックし、I/F ERRORが多数検知されていたならば、当該休止状態(idle)の期間に、該当のPort/Lane301,401についてキャリブレーションを実行する。
図8は、本第2実施形態の情報処理システムSYSにおけるキャリブレーションの流れを示すシーケンス図である。
ストレージデバイス1とホスト2との間で各Port/Lane301,401の初期化(initialization)が行われた後(d11)、いずれかのタイミングで、ストレージデバイス1とホスト2との間の通信が休止状態(idle)となり(d12)、かつ、当該休止状態(idle)のまま一定時間が経過した場合を想定する(d13)。
この場合、ホスト2(キャリブレーション処理プログラム200)は、PHY231内のカウンタのI/F ERROR件数を参照する(d1)。また、ホスト2は、ストレージデバイス1に対して、ストレージデバイス1においてカウントされているI/F ERROR件数を参照するためのコマンドを発行する(d2)。ストレージデバイス1(キャリブレーション処理部121)は、このコマンドを受け取ると、PHY111内のカウンタのI/F ERROR件数をホスト2へ通知する(d3)。
ホスト2は、あるPort/Laneにおいて、ホスト2側のI/F ERROR件数と、ストレージデバイス1側のI/F ERROR件数との少なくとも一方が閾値を超えており、かつ、そのPort/Laneについてキャリブレーションが未実施である場合、第1実施形態で説明したキャリブレーション(図6、図7)を実行する(d100)。
本第2実施形態の情報処理システムSYSにおいては、ストレージデバイス1とホスト2との間の通信が休止状態(idle)にある中、I/F ERROR多発を検知し、キャリブレーションを実行することで、信号品質の改善を図れる可能性がある。
(第3実施形態)
次に、第3実施形態について説明する。
本第3実施形態の情報処理システムSYSは、第1実施形態で説明したキャリブレーションと、本願出願人による出願の特願2017-171577(特開2019-46389号公報)に記載される、DFE(Decision Feedback Equalization)回路のパラメータに基づき、信号減衰を検知する手法とを組み合わせることで、信号品質の改善を図れる可能性を更に高めることを狙ったものである。
DFE回路は、受信回路Rxに設けられ、伝送路(インターフェース)3を通過する過程で歪んだ信号を等価する回路である。DFE回路のパラメータ(例えば、フィードバック係数)に基づき、受信回路Rxに入力されるパルス信号の減衰を検知した場合、プリエンファシスなどの技術を用いて、その受信回路Rxに対応する送信回路Txからのパルス信号の出力レベルを上げるキャリブレーションを実施する。このキャリブレーションをDFEキャリブレーションと称する。また、DFEキャリブレーションと、第1実施形態で説明したキャリブレーション(Jitterキャリブレーション)との組み合わせを、Jitter-DFEキャリブレーションと称する。本第3実施形態の情報処理システムSYSでも、このJitter-DFEキャリブレーションを、ストレージデバイス1とホスト2との間の通信が休止状態(idle)にある期間に、その実行要否を判断し、必要と判断したならば実行する。
図9は、本第3実施形態の情報処理システムSYSにおいて実行されるJitter-DEFキャリブレーションの流れを示すシーケンス図である。
ストレージデバイス1とホスト2との間で各Port/Lane301,401の初期化(initialization)が行われた後(e11)、いずれかのタイミングで、ストレージデバイス1とホスト2との間の通信が休止状態(idle)となり(e12)、かつ、当該休止状態(idle)のまま一定時間が経過した場合を想定する(e13)。
この場合、ホスト2(キャリブレーション処理プログラム200)は、PHY231内のカウンタのI/F ERROR件数を参照する(e1)。また、ホスト2は、ホスト2側の受信回路RxのDFE回路のパラメータを参照する(e2)。
続いて、ホスト2は、ストレージデバイス1に対して、ストレージデバイス1においてカウントされているI/F ERROR件数を参照するためのコマンドを発行する(e3)。ストレージデバイス1(キャリブレーション処理部121)は、このコマンドを受け取ると、PHY111内のカウンタのI/F ERROR件数をホスト2へ通知する(e4)。さらに、ホスト2は、ストレージデバイス1に対して、ストレージデバイス1側の受信回路RxのDFE回路のパラメータを参照するためのコマンドを発行する(e5)。ストレージデバイス1は、このコマンドを受け取ると、ストレージデバイス1側のDFE回路のパラメータをホスト2へ通知する(e6)。
ホスト2は、あるPort/Laneにおいて、ホスト2側のI/F ERROR件数と、ストレージデバイス1側のI/F ERROR件数との少なくとも一方が閾値を超えている場合、Jitter-DEFキャリブレーションを実行する(e100)。
具体的には、ホスト2は、ホスト2側のDFE回路のパラメータと、ストレージデバイス1側のDFE回路のパラメータとに基づき、ホスト2側の受信回路Rxに入力されるパルス信号とストレージデバイス1側の受信回路Rxに入力されるパルス信号との一方または両方の減衰を検知する(e14)。図9の参照先Rxとは、検知対象となっている、ホスト2側の受信回路Rxまたはストレージデバイス1側の受信回路Rxである。信号減衰を検知すると、ホスト2は、プリエンファシスなどの技術を用いた、当該受信回路Rxに対応する送信回路Txからのパルス信号の出力を上げるDFEキャリブレーションを実行する(e15)。このDFEキャリブレーションにより、参照先RxのDFE回路のパラメータは正常な値となる。
DFE回路のパラメータを正常な値とした後、ホスト2は、第1実施形態で説明したキャリブレーション(Jitterキャリブレーション)(図6、図7)を実行する(e16)。
本第3実施形態の情報処理システムSYSにおいては、DFEキャリブレーションとJitterキャリブレーションとを組み合わせたJitter-DFEキャリブレーションによって、信号品質の改善を図れる可能性を更に高めることができる。
(第4実施形態)
次に、第4実施形態について説明する。
第2実施形態および第3実施形態においては、IF ERRORの多発が検知されたことを契機としてキャリブレーションが実行される。しかし、情報処理システムSYS(ホスト2)自身による特定の事象の検知がキャリブレーションの契機でなくともよい。本第4実施形態の情報処理システムSYSは、システム管理者などのユーザから要求されたことを契機として、キャリブレーションを実行する。
図10は、本第4実施形態の情報処理システムSYSにおけるキャリブレーションの流れを示すシーケンス図である。
ユーザは、たとえば、ホスト2との間で通信する機能を有する管理用コンソールPC4上で、ホスト2とストレージデバイス1との間のJitter-DFEキャリブレーションの実施を要求する操作を行う(f1)。ユーザの操作を受け付けた管理用コンソールPC4は、ホスト2に対して、Jitter-DFEキャリブレーションの実行を要求する(f2)。
この管理用コンソールPCからの要求を受けたホスト2は、ストレージデバイス1と協働して、第3実施形態で説明したJitter-DFEキャリブレーション(図9を参照)を実行する(f100)。ホスト2は、Jitter-DFEキャリブレーションを完了すると、管理用コンソールPC4に対して、Jitter-DFEキャリブレーション実行完了を通知する(f3)。
管理用コンソールPC4は、ユーザに対して、たとえばディスプレイを介して、Jitter-DFEキャリブレーション実施完了を通知する(f4)。
本第4実施形態の情報処理システムSYSにおいては、ストレージデバイス1とホスト2との協働によるJitter-DFEキャリブレーションを、ユーザが任意のタイミングで実施させることができる。
なお、Jitter-DFEキャリブレーションに限らず、JitterキャリブレーションやDFEキャリブレーションを、ユーザが個別に要求し、実施させるようにすることも可能である。
(第5実施形態)
次に、第5実施形態について説明する。
第1実施形態~第4実施形態においては、ホスト2のハンドリングの下、ストレージデバイス1とホスト2とが協働して、キャリブレーションを実行する。これに対して、本第5実施形態においては、ストレージデバイス1またはホスト2が、単独で、キャリブレーションを実行する。図11には、ストレージデバイス1が単独でキャリブレーションを実行する例が示されている。
第1実施形態~第4実施形態においては、ストレージデバイス1のPort/Lane301とホスト2のPort/Lane401とをストレート接続し、一方の送信回路Txから出力するパルス信号を他方の受信回路Rxで観測することを双方向で行って、各々のCountの最適値を導出する。本第5実施形態においては、2つのPort/Lane301をたとえばクロスケーブル5によってループバック接続し、一方の送信回路Txから出力するパルス信号を他方の受信回路Rxで観測することを双方向で行って、各々のCountの最適値を導出する。
本第5実施形態のストレージデバイス1のキャリブレーション処理部121は、第1実施形態~第4実施形態のホスト2のキャリブレーション処理プログラム200の機能を併せ持つ。また、ストレージデバイス1(キャリブレーション処理部121)は、対象Port/Lane301を指定するパラメータや、キャリブレーションの実行を要求するコマンドなどをUART150経由で入力する。
ストレージデバイス1は、たとえば、パラメータによって2つのPort/Lane301が指定され、コマンドによってキャリブレーションの実行が要求されると、Count値を最小値から最大値まで変化させながら、当該2つのPort/Lane301の送信回路Txからパルス信号を出力していき、かつ、当該2つのPort/Lane301の受信回路Rxでパルス信号を観測する。ストレージデバイス1は、パルス信号のHigh側の振幅の絶対値とLow側の振幅の絶対値とが一致するクロスポイントを探し出し、その時のCount値を最適値として導出する。
図12は、本第5実施形態のストレージデバイス1単独でのJitterキャリブレーションの流れを示すシーケンス図である。
ユーザは、ストレージデバイス1の2つのPort/Lane301をループバック接続し、ストレージデバイス1のUART150経由でストレージデバイス1との間で通信する機能を有する管理用コンソールPC4上で、Jitterキャリブレーションの実施を要求する操作を行う(g1)。この操作には、Port/Laneの指定が含まれ得る。ユーザの操作を受け付けた管理用コンソールPC4は、ストレージデバイス1に対して、Jitterキャリブレーションの実行を要求する(g2)。
この指示を受けたストレージデバイス1(キャリブレーション処理部121)は、たとえばSRAM140上に確保した、Countを最小値から最大値までインクリメントしていくために使用する領域に、Countの最小値を初期値として格納する(g3)。ストレージデバイス1は、この領域に格納されるCountが最大値に達するまで、符号g100で示す破線の矩形で囲まれる処理(g4~g8)を繰り返す。
具体的には、ストレージデバイス1は、ループバック接続された両Port/Laneの送信回路Txから出力するパルス信号に関するCount値を、前述のSRAM140上などに確保される領域に格納されている現在のCount値に変更する(g4)。Count値を変更したら、ストレージデバイス1は、両Port/Laneの送信回路Txからパルス信号を出力する(g5)。
ストレージデバイス1は、パルス信号を出力した送信回路Txに対応する、両Port/Laneの受信回路Rxで当該パルス信号のHighの振幅値とLowの振幅値とを計測する(g6)。計測が完了したら、ストレージデバイス1は、両Port/Laneの送信回路Txからのパルス信号の出力を停止する(g7)。
ストレージデバイス1は、Count値をインクリメントし(g8)、g4からの処理を繰り返す。インクリメント前のCount値が最大値に達している場合、ストレージデバイス1は、符号g100で示す破線の矩形で囲まれる処理(g4~g8)のループを抜け、g6での計測の結果に基づき、両Port/Laneについて、送信回路Txから出力するパルス信号に関するCountの最適値を導出する(g9)。ストレージデバイス1は、当該導出したCount最適値をPHY111のレジスタ303に設定し、また、NAND12内などの不揮発性領域に保存する(g10)。
ストレージデバイス1は、Count最適値の設定および保存を完了すると、Jitterキャリブレーション完了を管理用コンソールPC4へ通知する(g11)。また、管理用コンソールPC4は、ユーザに対して、たとえばディスプレイを介して、Jitterキャリブレーション完了を通知する(g12)。
本第5実施形態では、ストレージデバイス1の2つのPort/Laneをループバック接続することで、ストレージデバイス1が単独でキャリブレーションを実行することができる。ホスト2においても、ホスト2の2つのPort/Laneをループバック接続することで、単独でのキャリブレーションが可能である。
なお、Jitterキャリブレーションに限らず、Jitter-DFEキャリブレーションやDFEキャリブレーションを、ループバック接続によって実行することも可能である。
なお、以上では、キャリブレーションやDFE関連の情報を、Mode Select/Set FeatureやMode Sense/Get Featureなどのコマンドで授受する例を説明した。これに代えて、プロトコルを拡張することにより、キャリブレーションやDFE関連の情報を授受することも可能である。たとえば、SASプロトコルの場合、上記コマンドの代わりに、APTAのCoefficent change requestなどを拡張して代用し得る。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…ストレージデバイス、2…ホスト、3…伝送路(インターフェース)、4…管理用コンソールPC、5…クロスケーブル、11…コントローラ、12…NAND、13…DRAM、21…CPU、22…メインメモリ、23…インターフェースコントローラ、110…ホストインターフェース部、111,231…PHY、120…制御部、121…キャリブレーション処理部、130…NANDインターフェース部、140…SRAM、150…UART、200…キャリブレーション処理プログラム、302,402…DCC回路、303,403…レジスタ。

Claims (11)

  1. ホストとストレージデバイスとが伝送路を介して信号を送受信する情報処理システムであって、
    前記ストレージデバイスは、前記伝送路に出力するパルス信号のデューティ比を変更するためのパラメータを設定できるレジスタと、前記レジスタに設定されたパラメータに応じて前記パルス信号の前記デューティ比を調整する補正回路とを具備し、
    前記ホストは、前記ストレージデバイスの前記レジスタに設定される前記パラメータの値を変化させていきながら、前記ストレージデバイスから出力される前記パルス信号のデューティ比を測定し、前記ストレージデバイスにおける前記パラメータの最適値を導出する第1キャリブレーション処理部を具備し、
    前記ストレージデバイスは、前記ホストからの第1指示に応じて、前記レジスタに設定される前記パラメータの値を変化させていきながら、前記補正回路によってデューティ比が調整されたパルス信号を前記伝送路に出力し、前記ホストからの第2指示に応じて、前記ホストによって導出された前記パラメータの最適値を前記レジスタに設定する第2キャリブレーション処理部を具備する、
    情報処理システム。
  2. 前記ホストは、前記伝送路に出力するパルス信号のデューティ比を変更するためのパラメータを設定できるレジスタと、前記レジスタに設定されたパラメータに応じて前記パルス信号の前記デューティ比を調整する補正回路を具備し、
    前記第1キャリブレーション処理部は、前記ホストの前記レジスタに設定される前記パラメータの値を変化させていきながら、前記ホストの前記補正回路によってデューティ比が補正されたパルス信号を前記伝送路に出力し、前記ストレージデバイスによって測定された当該パルス信号のパルス幅を前記ストレージデバイスから取得して、前記ホストにおける前記パラメータの最適値を導出し、前記ホストの前記レジスタに設定し、
    前記第2キャリブレーション処理部は、前記ホストからの第3指示に応じて、前記ホストから出力されるパルス信号のパルス幅を測定し、当該測定の結果を前記ホストへ送信することを含む、
    請求項1に記載の情報処理システム。
  3. 前記伝送路は、前記ホストから前記ストレージデバイスへ信号を搬送する信号線と、前記ストレージデバイスから前記ホストへ信号を搬送する信号線との組みを各々が含む2以上のポートまたはレーンを含み、
    前記第1キャリブレーション処理部は、前記デューティ比の調整対象であるポートまたはレーンとは別のポートまたはレーンを用いて、ポートまたはレーンの指定を含むコマンドを前記ストレージデバイスへ送信し、
    前記第2キャリブレーション処理部は、前記コマンドが受信されたポートまたはレーンを用いて、前記コマンドに対する応答を前記ホストへ送信する、
    請求項2に記載の情報処理システム。
  4. 前記ホストおよび前記ストレージデバイスのそれぞれは、前記伝送路を介した信号の送受信に関して検知されたエラーの件数をカウントするカウンタを具備し、
    前記第1キャリブレーション処理部は、前記ホストと前記ストレージデバイスとの間の前記伝送路を介した信号の送受信が一定期間以上途絶えている期間に、前記ホストの前記カウンタの値または前記ストレージデバイスの前記カウンタの値が閾値を超えたことを検知し、前記ストレージデバイスにおける前記パラメータの最適値の導出または前記ホストにおける前記パラメータの最適値の導出を実行する、
    請求項2に記載の情報処理システム。
  5. 前記ホストおよび前記ストレージデバイスのそれぞれは、前記伝送路を介して受信される信号を補正する判定帰還型等化器を具備し、
    前記第1キャリブレーション処理部は、前記ストレージデバイスにおける前記パラメータの最適値の導出または前記ホストにおける前記パラメータの最適値の導出の前に、前記信号の補正に用いられる前記判定帰還型等化器のパラメータに基づき、前記ホストで受信される信号の減衰または前記ストレージデバイスで受信される信号の減衰を検知し、減衰が検知された信号の送信元での前記パルス信号の出力レベルを上げる、
    請求項4に記載の情報処理システム。
  6. ホストとの間で伝送路を介して信号を送受信するストレージデバイスであって、
    前記伝送路に出力するパルス信号のデューティ比を調整するためのパラメータを設定できるレジスタと、
    前記レジスタに設定されたパラメータに応じて前記パルス信号の前記デューティ比を調整する補正回路と、
    前記ホストからの第1指示に応じて、前記レジスタに設定される前記パラメータの値を変化させていきながら、前記補正回路によってデューティ比が調整されたパルス信号を前記伝送路に出力し、前記ホストからの第2指示に応じて、前記ホストによって導出された前記パラメータの最適値を前記レジスタに設定するキャリブレーション処理部と、
    を具備するストレージデバイス。
  7. 前記キャリブレーション処理部は、前記ホストからの第3指示に応じて、前記ホストから出力されるパルス信号のデューティ比を測定し、当該測定の結果を前記ホストへ送信することを含む請求項6に記載のストレージデバイス。
  8. ホストと、伝送路に出力するパルス信号のデューティ比を調整するためのパラメータを設定できるレジスタを備えるストレージデバイスとを具備する情報処理システムにおけるキャリブレーション方法であって、
    前記ホストは、前記ストレージデバイスの前記レジスタに設定される前記パラメータの値を変化させ、
    前記ストレージデバイスは、前記ホストからの第1指示に応じて、前記レジスタに設定される前記パラメータの値を変化させていきながら、前記デューティ比が調整されたパルス信号を前記伝送路に出力し、
    前記ホストは、前記ストレージデバイスから出力されるパルス信号のデューティ比を測定し、前記ストレージデバイスにおける前記パラメータの最適値を導出し、
    前記ストレージデバイスは、前記ホストからの第2指示に応じて、前記ホストによって導出された前記パラメータの最適値を前記レジスタに設定することを具備する、
    キャリブレーション方法。
  9. 前記ホストは、前記伝送路に出力するパルス信号のデューティ比を変更するためのパラメータを設定できるレジスタを具備し、
    前記ホストは、前記ホストの前記レジスタに設定される前記パラメータの値を変化させていきながら、前記デューティ比が補正されたパルス信号を前記伝送路に出力し、
    前記ストレージデバイスは、前記ホストからの指示に応じて、前記ホストから出力されるパルス信号のパルス幅を測定し、当該測定の結果を前記ホストへ送信し、
    前記ホストは、前記ストレージデバイスから送信された前記測定の結果を取得して、前記ホストにおける前記パラメータの最適値を導出し、前記ホストの前記レジスタに設定することをさらに具備する、
    請求項8に記載のキャリブレーション方法。
  10. 伝送路に出力するパルス信号のデューティ比を調整するためのパラメータを設定できるレジスタを備え、ホストとの間で前記伝送路を介して信号を送受信するストレージデバイスにおけるキャリブレーション方法であって、
    前記ホストからの第1指示に応じて、前記レジスタに設定される前記パラメータの値を変化させていきながら、前記デューティ比が調整されたパルス信号を前記伝送路に出力し、
    前記ホストからの第2指示に応じて、前記ホストによって導出された前記パラメータの最適値を前記レジスタに設定することを具備する、
    キャリブレーション方法。
  11. 前記ホストからの第3指示に応じて、前記ホストから出力されるパルス信号のデューティ比を測定し、
    当該測定の結果を前記ホストへ送信することをさらに具備する、
    請求項10に記載のキャリブレーション方法。
JP2020155600A 2020-09-16 2020-09-16 情報処理システム、ストレージデバイス、およびキャリブレーション方法 Pending JP2022049407A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020155600A JP2022049407A (ja) 2020-09-16 2020-09-16 情報処理システム、ストレージデバイス、およびキャリブレーション方法
US17/190,134 US11520716B2 (en) 2020-09-16 2021-03-02 Information processing system, storage device, and calibration method
US17/971,341 US20230040717A1 (en) 2020-09-16 2022-10-21 Information processing system, storage device, and calibration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020155600A JP2022049407A (ja) 2020-09-16 2020-09-16 情報処理システム、ストレージデバイス、およびキャリブレーション方法

Publications (1)

Publication Number Publication Date
JP2022049407A true JP2022049407A (ja) 2022-03-29

Family

ID=80626660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020155600A Pending JP2022049407A (ja) 2020-09-16 2020-09-16 情報処理システム、ストレージデバイス、およびキャリブレーション方法

Country Status (2)

Country Link
US (2) US11520716B2 (ja)
JP (1) JP2022049407A (ja)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7801205B2 (en) 2007-08-07 2010-09-21 Advantest Corporation Jitter injection circuit, electronics device, and test apparatus
JP2009065554A (ja) * 2007-09-07 2009-03-26 Toshiba Corp フィルタ周波数特性検出装置及びフィルタ周波数特性テスト装置
US9071246B2 (en) 2007-09-14 2015-06-30 Agate Logic, Inc. Memory controller for heterogeneous configurable integrated circuits
DE112013001382T5 (de) * 2012-03-12 2014-11-27 Intel Corporation Bestimmen der Signalqualität eines elektrischen Interconnects
JP2014154963A (ja) 2013-02-06 2014-08-25 Nec Saitama Ltd 通信品質制御装置及び受信装置並びに通信品質制御方法
US20140244904A1 (en) * 2013-02-28 2014-08-28 Kabushiki Kaisha Toshiba Memory device and computer system
US9292036B2 (en) * 2013-05-24 2016-03-22 Arm Limited Data processing apparatus and method for communicating between a master device and an asynchronous slave device via an interface
KR102358053B1 (ko) * 2014-10-28 2022-02-04 삼성전자주식회사 복수의 불휘발성 메모리 칩들을 포함하는 스토리지 장치
WO2017052575A1 (en) 2015-09-25 2017-03-30 Intel Corporation Extending multichip package link off package
KR20180033368A (ko) * 2016-09-23 2018-04-03 삼성전자주식회사 케스-케이드 연결 구조로 레퍼런스 클록을 전달하는 스토리지 장치들을 포함하는 전자 장치
JP2019046389A (ja) 2017-09-06 2019-03-22 東芝メモリ株式会社 ストレージデバイス、ホストシステム、および情報処理システム
US10923175B2 (en) * 2018-01-31 2021-02-16 Samsung Electronics Co., Ltd. Memory device adjusting duty cycle and memory system having the same
JP7111962B2 (ja) 2018-07-25 2022-08-03 富士通株式会社 制御信号送受信システム及び制御信号送受信方法

Also Published As

Publication number Publication date
US20220083478A1 (en) 2022-03-17
US20230040717A1 (en) 2023-02-09
US11520716B2 (en) 2022-12-06

Similar Documents

Publication Publication Date Title
JP6409399B2 (ja) 電子機器、通信制御回路および通信制御方法
US11356386B2 (en) Method and apparatus for setting link priority
US10430363B2 (en) Systems and methods of in-situ digital eye characterization for serial data transmitter circuitry
US9830293B2 (en) Information processing apparatus, storage system, and computer-readable non-transitory storage medium storing communication control program
US9542251B2 (en) Error detection on a low pin count bus
US20130259100A1 (en) Information processing apparatus, testing method, and computer-readable recording medium having stored therein testing program
CN107608836B (zh) 一种sata链路最优值调整的测试方法
US8583966B2 (en) Methods and structure for debugging DDR memory of a storage controller
JP2022049407A (ja) 情報処理システム、ストレージデバイス、およびキャリブレーション方法
US10200269B2 (en) Information generation method using write speed of data to storage device, information generation device using write speed of data to storage device, and non-transitory recording medium for storing information generation program using write speed of data to storage device
US10635514B2 (en) Storage device, host system, and information processing system
US10581555B2 (en) Information processing device and burst error reproducing method
TW201324173A (zh) SAS Expander設備的PHY調整方法及系統
US6895365B2 (en) Systems and methods for analyzing data of an SPI data bus
WO2020238648A1 (zh) 用于通讯检测的方法及装置、空调
US10120828B2 (en) Bridge for bus-powered peripheral device power management
US10061720B2 (en) Storage system and signal transfer method
US20190026178A1 (en) Technologies for error handling for high speed i/o data transfer
US8381067B2 (en) Apparatus, system, and method for specifying intermediate CRC locations in a data stream
JP5274648B2 (ja) 試験装置、キャリブレーション方法、および、プログラム
US11831477B2 (en) Link training scheme for high-speed serializer/deserializer
JP7266054B2 (ja) 伝送制御方法、伝送制御システム
JP5249123B2 (ja) 診断機能を備える装置、診断方法、およびプログラム
US8150331B2 (en) Method for adapting the signal transmission between two electronic devices, as well as arrangement with a computer system and a peripheral device
TWI757606B (zh) 伺服器裝置及其基板管理控制器與可程式邏輯單元之間的通訊協定方法