JPWO2010137330A1 - 遅延調整装置、遅延調整方法 - Google Patents

遅延調整装置、遅延調整方法 Download PDF

Info

Publication number
JPWO2010137330A1
JPWO2010137330A1 JP2011515902A JP2011515902A JPWO2010137330A1 JP WO2010137330 A1 JPWO2010137330 A1 JP WO2010137330A1 JP 2011515902 A JP2011515902 A JP 2011515902A JP 2011515902 A JP2011515902 A JP 2011515902A JP WO2010137330 A1 JPWO2010137330 A1 JP WO2010137330A1
Authority
JP
Japan
Prior art keywords
data
delay
unit
signal
delay adjustment
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
JP2011515902A
Other languages
English (en)
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2010137330A1 publication Critical patent/JPWO2010137330A1/ja
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
    • G06F13/1689Synchronisation and timing concerns

Abstract

外部メモリとの間でデータ通信を行うために、データ信号と、データラインにのるデータ信号を読み取るタイミングを規定するストローブ信号との遅延調整をする遅延調整装置を提供する。遅延調整部に含まれるテストアクセス部150は、メモリ回路との間のデータ転送に用いられるデータラインの使用メモリバンド幅を監視するメモリバンド幅監視部212を備え、使用しているメモリバンド幅が所定の閾値よりも低いときに遅延調整を実行する。遅延調整は、ストローブ信号をデータ信号から所定の遅延量だけ遅延させてそのときのデータ転送の成否を判定することを、遅延量を換えながら行って、最適な遅延量を算出し、以降算出した遅延量を用いてストローブ信号を遅延させる。

Description

本発明は、データ信号を読み取るべきタイミングを定めるストローブ信号の遅延調整に関する。
従来、データの送受信を実行するSoC(System on Chip)とメモリとの間でのデータ通信において、データを読み取る側は、データラインに乗っているデータ信号を、データ信号の読み取りタイミングを規定するストローブ信号を受け付けたタイミングで読み取る。より具体的には、読み取り側がストローブ信号の立ち上がりエッジを検出して、データラインに乗っているデータ信号を読み取る。
図15に示すように、SoC1500と、メモリ1501とはデータラインとストローブラインとで接続される。データラインにデータがのっているタイミングとストローブ信号の立ち上がりとがずれると、受け取り側は正しくデータを読み取れないため、多少ストローブ信号の立ち上がりエッジが前後してもよいように、ストローブ信号の立ち上がりをデータ信号がデータラインにのっているタイミングの中間点になるように遅延調整を行う必要がある。即ち、図15において、データ信号がデータラインにのっているタイミングにおいて、ストローブ信号の立ち上がりエッジが遅延量Eで示されるタイミングで立ち上がるように、ストローブ信号を遅延させる必要がある。なお、ここでいう遅延量は、データ信号がデータラインに乗り始めたタイミングからストローブ信号が立ち上がるまでの時間をいう。
当該遅延調整においては、SoC1500が自身でデータを出力する場合には、データを載せているタイミングの中点において、ストローブ信号を立ち上げればよい。これは、SoC1500自身はデータ信号をストローブ信号と同じタイミングで出力しつつ、ストローブ信号のみ保持している遅延素子を規定の段数だけ通過させてからメモリ1201に出力する構成をとってもよい。
一方、メモリ1501は、データ信号を出力する出力開始タイミングと出力期間とを、ストローブ信号の立ち上がりエッジと立ち下りエッジとに一致させて出力する機能しかない。そのため、SoC1500は、メモリ1501から受け付けるストローブ信号を自ら遅延させる必要があり、その自ら遅延させたストローブ信号の立ち上がりを検出して、データを読み取る。このストローブ信号をどれだけ遅延させるかを決定し、決定した量だけストローブ信号を遅延させることを遅延調整という。
特許文献1には、この遅延調整を、システムの起動時や、システムリセットが実行されたタイミングにおいて実行する装置が開示されている。
特開2007−202033号公報
ところで、SoCが動作し続けることにより、経年劣化などにより、データ信号とストローブ信号のタイミングとがずれてくることがある。また、SoCは、負荷状態に応じて動作温度が異なり、その温度特性により動作タイミングが変化し、データ信号とストローブ信号とのタイミングがずれることもある。
昨今SoCの動作クロックは高速化してきており、それに併せてデータラインにデータ信号が載っている期間も短くなってきている。これは、とりもなおさず、ストローブ信号の立ち上がりのタイミングもまた非常にシビアなものが要求されることを意味しており、現行のものではピコセカンドオーダーのものを要求される仕様もざらにある。
当該仕様にあっては、データ信号とストローブ信号のずれは、データ通信において、正常なデータ転送がなされず、システムが正常に動作しなくなる要因となる。
そこで、本発明においては、当該ずれをなるべく発生させず、かつ、システムの通常動作をなるべく妨げない遅延調整装置を提供することを目的とする。
上記課題を解決するため、本発明に係る遅延調整装置は、外部メモリと、データ信号がのるデータラインと、データラインにのっているデータ信号を読み取るタイミングを規定するストローブ信号がのるストローブラインとで接続される機器に搭載され、ストローブ信号の遅延調整を行う遅延調整装置であって、前記外部メモリと前記機器との間の通信におけるデータ転送量を示すメモリバンド幅を監視し、逐次当該メモリバンド幅を示すメモリバンド情報を出力するメモリバンド幅監視部と、前記メモリバンド情報で示されるメモリバンド幅に応じて、前記データ信号と、前記ストローブ信号との遅延調整を行う遅延調整手段とを備えることを特徴としている。
上述のような構成によって遅延調整装置は、システムが動作中であっても、装置とメモリ間の使用しているメモリバンド幅を監視し、使用されているメモリバンド幅が少ない状態においては、データ転送を実行する装置とメモリ間のデータ転送がそれほど行われていないことになる。遅延調整は、データ転送を実行する装置とメモリ間においてストローブ信号を何段階かで遅延させつつ、実際にデータ転送を行って、そのデータ転送の成否に応じて、ストローブ信号の遅延量を決定することで行われる。このため、実際にデータ転送を行ってメモリバンド幅を一定以上使用していると、この遅延調整のためのデータ転送を実行できないが、メモリバンド幅の使用量が一定以下である場合には、遅延調整のためのデータ転送を実行できる。よって、システムが動作中であっても遅延調整を行えるので、システムが動作することによる発熱などに応じて変化する動作環境にも対応した遅延調整を行うことができ、従来よりも、データ信号とストローブ信号のずれを従来よりも抑制することができる。
実施の形態1に係る半導体装置1の機能構成を示す機能ブロック図である。 実施の形態1に係るテストアクセス部の機能構成を示す機能ブロック図である。 実施の形態1に係る遅延量保持部の機能構成を示す機能ブロック図である。 実施の形態1に係る遅延素子部の機能構成を示す機能ブロック図である。 実施の形態1に係る遅延素子部の回路構成を示すブロック図である。 テストアクセス時に用いる判定結果テーブルのデータ構成例を示すデータ概念図である。 実施の形態1に係る遅延調整部の遅延調整の動作を示すフローチャートである。 テストアクセス処理における遅延調整部の動作を示すフローチャートである。 実施の形態2に係る半導体装置の機能構成を示す機能ブロック図である。 実施の形態2に係るテストアクセス部の機能構成を示す機能ブロック図である。 実施の形態2に係る遅延調整部の遅延調整の動作を示すフローチャートである。 半導体装置の変形例を示す機能ブロック図である。 半導体装置の変形例に係るテストアクセス部の機能ブロック図である。 温度別遅延情報の構成例を示すデータ概念図である。 遅延調整の内容を示す概要図である。
<実施の形態1>
本発明に係る遅延調整装置の一実施形態である半導体装置について、図面を参照しながら説明する。
<構成>
図1は、半導体装置1の機能構成を示す機能ブロック図である。半導体装置1は、例えば、デジタル放送受信装置、携帯電話、BD(Blu-ray Disc)再生装置、BD録画装置などの民生機器や産業機器で利用される装置である。半導体装置1は、半導体集積回路10とメモリ回路190とを含んで構成される。
半導体集積回路10は、SoCなどの、ビデオデコード処理やデータ転送処理等の様々な機能を実現する半導体で構成された電子回路である。半導体集積回路10は、メモリ回路190との間でデータの送受信を実行する機能を有する。図1に示すように半導体集積回路10は、遅延調整部100と、第1転送マスタ部160と、調停部170と、メモリデータ送受信部180とを含んで構成される。
遅延調整部100は、半導体集積回路10とメモリ回路190との間で行われるデータ送受信におけるデータ信号とストローブ信号との遅延調整を実行する機能を有する。遅延調整部100は、アクセス先変換部110と、データ退避部120と、遅延素子部130と、遅延量保持部140と、テストアクセス部150とを含んで構成される。また、遅延調整部100は、データ信号やストローブ信号だけでなく、制御信号やアドレス信号の遅延調整を実行する機能も有する。
アクセス先変換部110は、テストアクセスを実行する際に、テストアクセス部150からの指示のもと、テストアクセスの際にテストアクセス用のデータを書き込む領域を決定し、テストアクセス部150からデータ退避を示す信号を受け付けている場合に決定した領域にあるデータをデータ退避部120に退避させる機能を有する。また、アクセス先変換部110は、テストアクセスを実行する際に退避させたデータが格納されていたアドレスを変換テーブル111に記憶する機能を有し、テストアクセス終了時にデータ退避部120に退避させたデータを取得し、元々格納されていたアドレスに復元する機能も有する。なお、アクセス先変換部110は、テストアクセスを実行していないタイミングにおいては、メモリデータ送受信部180から転送されてきた信号をそのまま遅延素子部130に転送するか、遅延素子部130から転送されてきた信号をそのままメモリデータ送受信部180に転送する。
データ退避部120は、遅延調整部100が遅延調整を実行するタイミングにおいて、半導体集積回路10内のデータ通信の際のデータを保持するメモリにあるデータの退避先として用いられるメモリであり、テストアクセス実行時にアクセス先変換部110から出力された退避データを保持する機能を有する。また、アクセス先変換部110からの指示に従い、保持していた退避データを出力する機能も有する。
遅延素子部130は、受け取ったデータ信号をそのまま転送するとともに、そのデータ信号を読み取るタイミングを規定するストローブ信号を、遅延量保持部140から指定された遅延量だけ、遅延させて出力する機能を有する。遅延素子部130は、データをメモリ回路190に書き込む場合に、データラインに第1データ信号133を乗せて出力するとともにストローブラインにのる第1ストローブ信号134を遅延させて出力する。遅延素子部130は、データをメモリ回路190から読み出す場合に、メモリ回路から出力されたストローブラインに乗る第1ストローブ信号134を遅延させ、遅延させた第1ストローブ信号134の立ち上がりエッジを検出してデータラインに乗っている第1データ信号133を読み取る。また、遅延素子部130は、その他の信号、即ち、制御信号、アドレス信号、データ信号なども、必要に応じて、遅延させる機能も有する。遅延素子部130の詳細については後述する。
遅延量保持部140は、ストローブ信号をどれだけ遅延させるのかを示す遅延量を保持し、遅延素子部130に通知する機能を有する。また、遅延量保持部140は、ストローブ信号以外の信号をどれだけ遅延させるのかを示す遅延量も保持し、遅延素子部130に通知する機能も有する。各遅延量は、テストアクセス部150から設定される。遅延量保持部140の詳細については後述する。
テストアクセス部150は、条件を満たした場合に、データ信号とストローブ信号との遅延調整を行う機能を有する。テストアクセス部150は、遅延量を定めて、メモリ回路190へのテストアクセスを行って、データ転送の成否によって、遅延調整を実行する。テストアクセス部150は、現在の遅延量及びその前後10ps単位で合計7つの遅延量それぞれで、5回、メモリ回路190にデータを書き込み、書き込んだそのデータを再び読み出し、書き込む前のデータと読み取ったデータが一致するかどうかを判定する。そして、テストアクセス部150は、5回全てのテストアクセスが成功した遅延量の平均値を算出して、算出した遅延量を現在の遅延量として、遅延量保持部140に設定する。このテストアクセスを行って遅延量を算出して、算出した遅延量を現在使用する遅延量とすることを遅延調整という。テストアクセス部150の更なる詳細については、後述する。
第1転送マスタ部160は、CPU(Central Processing Unit)や、DMAC(Direct Memory Access Controler)などのことであり、メモリ190との間でデータ転送を実行する機能を有する。第1転送マスタ部160は、調停部170と第二制御ライン信号161、第二アドレス信号162、第二データ信号163等を用いてメモリ回路190にメモリアクセスを実行する。第二制御ライン信号161は、データアクセスの種別(リード/ライト)を指定する信号である。第二アドレス信号162は、メモリ回路190のアクセス先のアドレスを指定する信号である。第二データ信号163は、実際に書き込む、あるいは、読み出したデータの信号である。以降、制御ライン信号、アドレス信号、データ信号は、その前に付した番号は異なるとしても、その意味は同じものとする。即ち、制御ライン信号は、メモリアクセスの種別を規定するものであり、アドレス信号は、メモリ回路190のアドレスを指定するものであり、データ信号は、実際に転送されるデータの信号を示すものであるとする。
調停部170は、複数のメモリアクセス要求があった場合に、予め定められた優先度に従って一つのメモリアクセス要求を選択する機能を有する。例えば、第1転送マスタ部160以外の転送マスタ(図示せず)もメモリ回路190とのデータ通信を実行する場合に、第1転送マスタ部160と、それ以外の転送マスタとの間に、予め優先順位設定を行っておき、優先度の高いほうのアクセス要求を通す機能を有する。本実施形態においては、調停部170は、第1転送マスタ部160からのアクセスと、テストアクセス部150からのアクセスとを受け付け、テストアクセス部150からのアクセスを優先する。
メモリデータ送受信部180は、第四制御ライン信号171、第四アドレス信号172、第四データ信号173を基に、半導体集積回路10がメモリ回路190へメモリアクセスする際に使用する第一制御ライン信号131、第一アドレス信号132、第一データ信号133、第一ストローブ信号134の遅延処理前の信号である第五制御ライン信号181、第五アドレス信号182、第五データ信号183、第二ストローブ信号184を生成し、遅延調整部100との間で入出力を実行する。
メモリ回路190は、DDR3−SDRAM(Double-Data-Rate3 Synchronous Dynamic Randam Access Memory)などに代表される、外部からの要求によりデータを保持する、あるいは、外部からの要求により保持しているデータを出力する機能を有する半導体からなる電子回路である。メモリ回路190は、半導体集積回路10と、第1制御ライン信号131、第一アドレス信号132、第一データ信号133、第1ストローブ信号134を介して接続される。メモリ回路190は、半導体集積回路10から出力された第一制御ライン信号131に従い、半導体集積回路10から転送されてきたデータを保持する機能を有する。また、メモリ回路190は、半導体集積回路から出力された第一制御ライン信号131に従い、半導体集積回路10に指定されたデータを第一データ信号133に出力する機能も有する。
図2は、テストアクセス部150の詳細の構成例を示す機能ブロック図である。
図2に示すようにテストアクセス部150は、テストアクセス発行部201と、テスト状態保持部202と、テスト領域指定部203と、テストフラグ保持部204と、退避フラグ保持部205と、テスト開始判定部210と、遅延量算出部220と、OK/NG判定部230とを含んで構成される。
テストアクセス発行部201は、テスト状態保持部202からの動作状態を示す信号が、「0」から「1」に変化したタイミングで、テストアクセスを発行する機能を有する。テストアクセス発行部201は、制御ライン信号151を介して、データのリード/ライトを指定し、アドレス信号152を介してメモリ回路190のアクセス先のアドレスを指定し、データ信号153を介して書き込む判定元データの転送と、メモリ回路190から読み取ったデータの転送が行われる。テストアクセス実行時に、テストアクセス発行部201は、OK/NG判定部230の判定元データ保持部231が保持するデータを書き込むためのアクセス要求を発行する。当該アクセス要求に対するアクセス完了を受け付けると、テストアクセス発行部201は次に、書き込んだデータを再度読み取るためのアクセス要求を発行し、当該アクセス要求に応じてメモリ回路190から転送されてきたデータをOK/NG判定部230に転送する。データ信号を介して書き込む判定元データを出力し、メモリ回路190から書き込んだ判定元データを読み取ったデータを受け取る。
テスト状態保持部202は、半導体集積回路10のテストアクセスの状態を示す情報を保持する機能を有する。当該状態には、
・テスト状態かつOK/NG部10001が使用する判定元データ保持部100010に格納する判定元データを読み出す状態、
・テスト状態かつ遅延量を変更してのテストアクセスを行う状態、
・テスト状態かつテストの為のメモリ回路11に対する書き込みを行う状態
・テスト状態かつ第一転送マスタ部101のような本システムからのメモリアクセスが発生した状態
などがある。
なお、テスト状態保持部202の値は、本システム使用者が直接設定可能であり、テスト開始判定部210からのテスト開始要求信号などによっても設定可能である。ここでは、テスト開始判定部210が、テスト開始を示す信号を出力した場合に、テスト状態であることを示す情報を保持するものとし、当該情報を保持していると、テストアクセス発行部201は、テストアクセスのためのアクセス要求を発行する。
テスト領域指定部203は、遅延調整のためのメモリ回路190から読み取った判定元データを、半導体集積回路10が保持するメモリのどの領域に記録するのかを指定する機能を有し、そのアドレスをテストアクセス発行部201に通知する機能を有する。
テストフラグ保持部204は、テストアクセスを実行しているかどうかを示すフラグを保持する機能を有し、当該フラグをテストアクセス発行部201に通知する機能を有する。テストフラグ保持部204が保持する情報は、1ビットのデータであり、「0」であれば通常動作状態、「1」であればテストアクセス状態であることを示す。
退避フラグ保持部205は、データをデータ退避部120に退避すべきかどうかを示すフラグを保持する機能を有し、当該フラグを遅延量保持部140に通知する機能を有する。テスト領域指定部203で指定される領域に既にデータが格納されていた場合に、退避フラグ保持部205が保持するデータは、データ退避部120にデータを退避すべきことを示す「1」となり、それ以外の場合では、「0」となる。
テスト開始判定部210は、テストアクセスを実行するタイミングであるかどうかを判定する機能を有し、テストアクセスを実行すべきタイミングであると判定した場合に、その旨をテスト状態保持部202に通知する機能を有する。テスト開始判定部210は、具体的には、テスト条件設定部211とメモリ幅監視部212と、判定部213とを含んで構成される。
テスト条件設定部211は、テストアクセスを実行するためのタイミングを決定するための条件を設定、保持する機能を有する。当該設定は、例えば半導体装置1に接続されたPCから数値の設定を行ったり、あるいは、半導体装置1に備え付けられたディップスイッチなどにより設定できる。テスト条件設定部211は、テストアクセスを開始するための条件として、使用しているメモリバンド幅が所定の閾値以下であるという条件を保持し、当該条件を判定部213に通知する機能を有する。
メモリ幅監視部212は、第一データ信号133を監視して使用されているメモリバンド幅を監視する機能を有し、使用されているメモリバンド幅を判定部213に定期的(例えば1分毎)に通知する機能を有する。
判定部213は、メモリ幅監視部212から通知された使用しているメモリバンド幅が、テスト条件設定部211から通知された条件を満たしているか否かを判定する機能を有する。当該判定において、肯定的、即ち、条件を満たしていると判定した場合には、判定部213は、テストアクセス状態に移行することをテスト状態保持部202に通知する機能を有する。
遅延量算出部220は、テストアクセスを行って得られた結果から、最新の遅延量を算出する機能を有する。遅延量算出部220は、遅延素子指定部221と、遅延タップ量保持部222と、タップ回数保持部223と、テスト遅延量算出部224と、テスト完了判定部225と、最適値設定部226とを含んで構成される。
遅延素子指定部221は、遅延量保持部140のどの遅延量保持部を用いるのかを指定する信号を出力する機能を有する。
遅延タップ量保持部222は、遅延量の1回の遅延のための遅延量を保持する機能を有する。本実施例においては、遅延タップ量保持部222は、10psという遅延量を保持しているものとする。即ち、遅延調整は、10ps単位で実行されることとなる。
タップ回数保持部223は、テストアクセスを行う際に、何回、遅延量をずらすかを規定する回数を保持する機能を有する。例えば、タップ回数保持部223が3という回数を保持する場合には、テストアクセスは、現在の遅延量と、その前後に遅延タップ量保持部222で保持される遅延量だけずらした遅延量でのテストアクセスが実行されることを意味する。本実施の形態においては、タップ回数保持部223は、7というタップ回数を保持するものとする。遅延タップ量保持部222が保持する遅延量は10psなので、これにより、テストアクセスは、「現行の遅延量−30ps」、「現行の遅延量−20ps」、「現行の遅延量−10ps」、「現行の遅延量」、「現行の遅延量+10ps」、「現行の遅延量+20ps」、「現行の遅延量+30ps」の計7つ分の遅延量でのテストアクセスが実行されることとなる。
テスト遅延量算出部224は、現在の遅延量からどれだけ遅延量を変化させるのかを決定する機能を有し、テストアクセスの際に使用する遅延量を遅延量保持部140に通知する機能を有する。当該遅延量は、遅延量保持部222が保持する遅延量と、タップ回数保持部223で保持されるタップ回数とに基づいて決定され、未実行のテストアクセスの遅延量に決定される。
テスト完了判定部225は、タップ回数保持部223で示される回数だけテストアクセスをそれぞれ所定の回数(本実施の形態では5回分)分だけ行ったかどうかによって、テストアクセスが完了したか否かを判定する機能を有し、テストアクセスが完了した場合には、最適値設定部226にテストアクセスが完了したことを通知する機能を有する。
最適値設定部226は、テスト完了判定部225からテストアクセスの終了を通知されると、OK/NG判定部230が保持する判定結果テーブル234を取得する。そして、最適値設定部226は、判定結果テーブル234から最適となる遅延量を算出し、遅延量保持部140に設定する機能を有する。
OK/NG判定部230は、テストアクセス部150が実行したテストアクセスの成否を判定する機能を有し、その判定結果を示す情報を保持し、当該情報を遅延量算出部220に通知する機能を有する。
OK/NG判定部230は、判定元データ保持部231と、テストリードデータ保持部232と、データ比較部233と、判定結果テーブル234とを含んで構成される。
判定元データ保持部231は、テストアクセスを実行する際に、メモリ回路190に書き込む判定元データを保持する機能を有する。当該判定元データは、メモリ回路190に書き込み可能な形式の特定のパターンのデータであればどのようなものであってもよく、例えば、0x5a5a5a5aといったデータであってもよいし、4ビットや8ビットの数値データなどであってもよい。また、判定元データ保持部231は、保持している判定元データをデータ比較部233に通知する機能も有する。当該判定元データは予め設定されている。
テストリードデータ保持部232は、テストアクセスによって、一度メモリ回路190に書き込んだ判定元データを読み出して得たデータを保持する機能を有し、テストアクセス発行部201から転送されてきたデータを保持する。テストリードデータ保持部232は、一回のテストアクセス毎に読み取ったデータ(以降、読取判定元データとも呼称する)を保持し、保持しているデータが更新されるごとに保持している読取判定元データをデータ比較部233に出力する機能を有する。
データ比較部233は、判定元データ保持部231から出力された判定元データと、テストリードデータ保持部232から出力された読取判定元データとを比較し、一致するかどうかを判定する。一致した場合には、現在のストローブ信号の遅延量でデータ通信に成功したことを意味する。また、一致しなかった場合には、データ通信に失敗したことを意味し、現在のストローブ信号の遅延量ではデータ通信に支障をきたすことを意味する。データ比較部233は、判定元データと読取判定元データとが一致した場合に、そのときのテストアクセスの遅延量に対応付けてデータ通信が成功したことを示す情報を判定結果テーブル234に登録し、一致しなかった場合に、そのときのテストアクセスの遅延量に対応付けてデータ通信が失敗したことを示す情報を判定結果テーブル234に登録する。
判定結果テーブル234は、最適値設定部226が最適な遅延量を算出する際に参照するテストアクセスの成否を示す情報である。図6に、判定結果テーブル234の一構成例となるデータ概念図を示した。
図6に示すように、判定結果テーブル234は、各遅延量に応じて、行ったテストアクセスの成否を示す情報であり、ストローブ信号の遅延量601とOK/NG判定602とを対応付けた情報である。本実施例では、テストアクセスは、各遅延量について5回行うものとし、各回のテストアクセスの成否が登録される。図6の判定結果テーブル234においては、データ転送が成功した場合を「○」で、失敗した場合を「×」で示している。
例えば図6では、「現行の遅延量−10ps」の場合、即ち現行よりも10psだけストローブ信号の立ち上げを早めた場合では、第3回目だけテストアクセスに失敗した例を示している。図6に示した判定結果テーブル234の場合だと、全てのテストアクセスが成功した、「現行」、「現行+10ps」、「現行+20ps」の平均値、即ち、「現行+10ps」、つまり現行の遅延量よりも、10psだけストローブの立ち上がりを遅くした新たな遅延量が遅延量保持部140に保持されることになる。
図3は、遅延量保持部140の機能構成を示す機能ブロック図である。
図3に示すように、遅延量保持部140は、現行制御ライン信号ビット0用遅延量保持部301と、現行制御ライン信号ビット1用遅延量保持部302と、現行アドレスビット0用遅延量保持部303と、現行アドレスビット1用遅延量保持部304と、現行データ信号ビット0用遅延量保持部305と、現行データ信号ビット1用遅延量保持部306と、現行ストローブ信号用遅延量保持部307と、テスト用制御ライン信号ビット0用遅延量保持部311と、テスト用制御ライン信号ビット1用遅延量保持部312と、テスト用アドレスビット0用遅延量保持部313と、テスト用アドレスビット1用遅延量保持部314と、テスト用データ信号ビット0用遅延量保持部315と、テスト用データ信号ビット1用遅延量保持部316と、テスト用ストローブ信号用遅延量保持部317と、セレクタ321〜327とを含んで構成される。
現行制御ライン信号ビット0用遅延量保持部301は、現在使用されている制御ライン信号のビット0の信号線にのる信号を遅延させる遅延量を保持する機能を有し、当該遅延量をセレクタ321に出力する機能を有する。また、現行制御ライン信号ビット0用遅延量保持部301の保持する遅延量は、テストアクセス終了時に、テストアクセス部150により最新のものに更新される。
テスト用制御ライン信号ビット0用遅延量保持部311は、テストアクセス時に使用される制御ライン信号のビット0の信号線にのる信号を遅延させる遅延量を保持する機能を有し、当該遅延量をセレクタ321に出力する機能を有する。テスト用制御ライン信号ビット0用遅延量保持部311の保持する遅延量は、テストアクセスを実行しているときに、遅延量を変更するごとにテストアクセス部150により更新される。
セレクタ321は、テストアクセス部150からの指示に従って、遅延素子指定部221が出力するどの遅延素子部であるかを示す信号が制御ライン信号ビット0であることを示す信号である場合に、テスト状態保持部202から出力されるテスト状態であるか否かを示す信号147に基づいて、現行制御ライン信号ビット0用遅延量保持部301から出力されている信号と、テスト用制御ライン信号ビット0用遅延量保持部311から出力されている信号とのうちのいずれか一方を選択して、遅延素子部130に出力する機能を有する。具体的には、テスト状態保持部202から出力されている信号がテストアクセス実行中であることを示している場合に、テスト用制御ライン信号ビット0用遅延量保持部311が保持する遅延量を選択して出力し、それ以外の場合には、現行制御ライン信号ビット0用遅延量保持部301が保持する遅延量を出力する。
その他の現行用遅延量保持部(302〜307)、テスト用遅延量保持部(312〜317)、セレクタ(322〜327)については、制御対象となるラインと遅延量がそれぞれ異なるだけで、それぞれの機能部の名称で示される信号の遅延量を出力する構成となっているので、詳細な説明を割愛する。
図4は、遅延素子部130の機能構成を示す機能ブロック図である。
図4に示すように、遅延素子部130は、制御ライン信号ビット0用遅延素子部401と、制御ライン信号ビット1用遅延素子部402と、アドレス信号ビット0用遅延素子部403と、アドレス信号ビット1用遅延素子部404と、データ信号ビット0用遅延素子部405と、データ信号ビット1用遅延素子部406と、ストローブ信号用遅延素子部407とを含んで構成される。
制御ライン信号ビット0用遅延素子部401は、制御信号の0ビット目の信号を遅延させるための機能を有する。
制御ライン信号ビット1用遅延素子部402は、制御信号の1ビット目の信号を遅延させるための機能を有する。
アドレス信号ビット0用遅延素子部403は、アドレス信号の0ビット目の信号を遅延させるための機能を有する。
アドレス信号ビット1用遅延素子部404は、アドレス信号の1ビット目の信号を遅延させるための機能を有する。
データ信号ビット0用遅延素子部405は、データ信号の0ビット目の信号を遅延させるための機能を有する。
データ信号ビット1用遅延素子部406は、データ信号の1ビット目の信号を遅延させるための機能を有する。
ストローブ信号用遅延素子部407は、ストローブ信号を遅延させるための機能を有する。
各遅延素子部は、遅延量保持部140内の対応する遅延量保持部から出力された遅延量(331〜337)の分だけ、入力された信号を遅延させて出力する。
本実施の形態にあっては、基本的に遅延調整は、データ信号とストローブ信号との間で行うものであり、この場合重要になる構成は、ストローブ信号用遅延素子部407であるが、制御ライン信号ビット0用遅延素子部401と、制御ライン信号ビット1用遅延素子部402と、アドレス信号ビット0用遅延素子部403と、アドレス信号ビット1用遅延素子部404とを備えることにより、例えばアドレス信号0ビットと、アドレス信号1ビットとの間でずれが発生した場合などにそのずれを修正したりすることができる。アドレス信号間でのずれがあった場合には、正しいアドレスが伝達されないことになるため、そのような事態に対処できる。
図5は、ストローブ信号用遅延素子部407の詳細な回路構成を示すブロック図である。
ストローブ信号用遅延素子部407は、半導体集積回路側からメモリ回路190にデータを書き込む場合と、データをメモリ回路190から読み取る場合とでストローブ信号を遅延させる構成を備える。
図4に示すようにストローブ信号用遅延素子部407は、送信用の遅延素子群(501a〜501n)と、受信用の遅延素子群(502a〜502n)と、セレクタ503と、セレクタ504とを含んで構成される。なお、ここでの遅延素子は、遅延量をずらすために必要な数だけの遅延素子があればよく、例えば、データ信号がデータラインにのっている時間を遅延素子の遅延素子量で割った数以上の遅延素子があればよく、ここでのnは必要とされる任意の数となる。
各遅延素子(501a〜501n、502a〜502n)は、それぞれ、入力された信号を10psだけ遅延させる機能を有し、例えばラッチ回路などにより構成される。
セレクタ503は、遅延量保持部140の遅延素子指定部から指定された遅延素子の出力信号を選択して出力する機能を有する。セレクタ503は、半導体集積回路10側から、メモリ回路190側へのストローブ信号を出力するものであ。
セレクタ504は、遅延量保持部140の遅延素子指定部から指定された遅延素子の出力信号を選択して出力する機能を有する。セレクタ504は、メモリ回路190側から、半導体集積回路10側へのストローブ信号を出力するものである。
なお、その他の遅延素子の回路構成は略同一であるので説明を割愛する。但し、ストローブ信号は、双方向に転送されるので、両方向の構成を備える必要があるが、制御ライン信号と、アドレス信号とについては、半導体集積回路10からメモリ回路190の方向にのみ送信されるので、半導体集積回路10側からメモリ回路190側への方向のみの遅延素子及びセレクタを備えればよい。
<動作>
図7は、遅延調整部100の遅延調整の動作を示すフローチャートである。
半導体装置10は、電源投入、あるいは、システムリセットにより初期化が発生する(ステップS701)。
すると、遅延調整部100は、システム起動時の遅延調整を実行する(ステップS702)。これは予め定められた初期値を設定することとしてもよいし、後述するテストアクセス処理を実行しての遅延調整であってもよい。
テストアクセス部150のメモリ幅監視部212は、常時使用されているメモリバンド幅を検出し、判定部213に通知する。そして、判定部213は、そのメモリバンド幅がテスト条件設定部211に予め定められている閾値未満であるかどうかを定期的(例えば1分毎)に判定する(ステップS703)。
使用されているメモリバンド幅が所定閾値以上である場合には(ステップS703のNO)、何もせずにステップS703に戻る。
使用されているメモリバンド幅が所定閾値未満であった場合であって(ステップS703のYES)、アクセス先変換部110は、退避フラグ保持部205が保持する情報がデータ退避部120を用いることを示すときには、テストアクセス用に用いられるメモリの領域に保持されているデータをデータ退避部120に退避させる(ステップS704)。このとき、テスト状態保持部202は、テスト状態であることを示す情報を保持する。
必要に応じてデータを退避させた後、テスト状態保持部202がテスト状態であることを示す情報を保持したことを契機に、遅延調整部100のテストアクセス部150は、遅延調整のためのテストアクセス処理を実行する(ステップS705)。テストアクセス処理の詳細については、図8を用いて後述する。
テストアクセス部150の遅延量算出部220は、テストアクセス処理を行って得られた結果を用いて、算出された遅延量を現在の遅延量として遅延量保持部140に設定する(ステップS706)。
テストアクセス処理の終了後に、アクセス先変換部110は、変換テーブル111を用いて、データ退避部120にテストアクセス処理のために退避させていたデータを元々格納されていたアドレスに格納しなおし(ステップS707)、ステップS703に戻る。
ステップS703〜S707の処理を繰り返すことによって、使用されているメモリバンド幅が低いときに遅延調整が行われることになり、システム動作中であっても遅延調整を行えるので、システムが動作することに基づく温度変化や経年劣化などにより、発生し得るデータ信号とストローブ信号とのずれを修正することができる。
図8は、図7に示したフローチャートのステップS705におけるテストアクセス処理におけるテストアクセス部150の詳細動作を示すフローチャートである。
テストアクセス発行部201は、OK/NG判定部230から判定元データを取得する(ステップS801)。
遅延量算出部210は、現行の遅延量から、どれだけ遅延量をずらすかを決定し、テストアクセスの際に用いる遅延量を遅延量保持部140に設定する(ステップS802)。具体的には、遅延素子指定部221がストローブ信号を示す情報を出力し、テスト状態保持部202がテスト状態であることを示す情報を出力し、遅延量算出部220がそのときの遅延量を出力することで、遅延量保持部140のテスト用ストローブ信号用遅延量保持部に、遅延量算出部220から出力された遅延量が設定され、その遅延量がセレクタ327により選択されて、信号337として、遅延素子部130に出力される。遅延素子部130のストローブ信号用遅延素子407は、これにより、当該遅延量だけ入力された信号を遅延させたストローブ信号を出力する。
テストアクセス発行部201は、取得した判定元データをメモリ回路190に書き込むためのアクセス要求を調停部170に発行する。調停部170は、テストアクセスを示すアクセス要求を受け付けると、優先してメモリデータ送受信部180に当該アクセス要求を伝達する。そして、メモリ回路190に判定元データを書き込むためのアクセスが実行される。
メモリ回路190からの書き込み完了を示す信号を受け付けると、テストアクセス発行部201は、次に、メモリ回路190に書き込まれたはずの判定元データを読み出すためのアクセス要求を発行する。そして、当該アクセス要求に応じてメモリ回路190から出力された読取判定元データはテストアクセス発行部201を介して、テストリーダ保持部232に書き込まれる(ステップS803)。
すると、データ比較部233は、判定元データ保持部231から出力されている判定元データと、テストリードデータ保持部232から出力されている読取判定元データとが一致するかどうかに基づいてテストアクセスの成否を判定する。そして、データ比較部233は、当該テストアクセスの成否を判定結果テーブル234に登録する(ステップS804)。
遅延量算出部220は、テストアクセスの現在の遅延量で予め定めた回数(ここでは5回)のテストアクセスを実行したかどうかを判定する(ステップS805)。当該判定は自身がテストアクセスを実行した回数をカウンティングして、その回数を保持しておき、その値が予め定めた回数になっているかどうかにより実行される。
実行していない場合には(ステップS805のNO)、ステップS803に戻る。実行していた場合には(ステップS805のYES)、テスト完了判定部225は、タップ回数保持部223で保持されているタップ回数だけ、遅延量を変化させたかどうかに基づいて、予め定められている全遅延量でのテストアクセスを実行しているかどうかを判定する(ステップS806)。
実行していない場合には(ステップS806のNO)、ステップS802に戻る。実行していた場合には(ステップS806のYES)、テスト完了判定部225は、その旨を最適値設定部226に通知する。当該通知を受けて最適値設定部226は、OK/NG判定部230から判定結果テーブル234を取得する。
最適値設定部226は、取得した判定結果テーブル234のうち、各遅延量について、そのテストアクセスの成否が全て成功となっている遅延量を検索する。そして、テストアクセスの成否が全て成功となっている遅延量について、その遅延量の平均値を最適な遅延量として算出する。そして、算出した遅延量を遅延量保持部140の現行ストローブ信号用遅延量保持部に設定して(ステップS807)、テストアクセス処理を終了する。
以上の動作により、遅延調整部100は、初期化タイミングやリセットタイミング以外のタイミング、即ち、システム動作中であっても遅延調整を行って、データ信号とストローブ信号のずれを修正することができる。
<実施の形態2>
上記実施の形態1においては、使用しているメモリバンド幅が、所定閾値を下回っている場合に、遅延調整を実行する手法を説明した。しかし、半導体集積回路10とメモリ回路190との間で、所定の閾値以上でデータ転送を継続していると、上記実施の形態1に示した半導体装置1では、遅延調整を実行できない場合が発生する。
そこで、本実施の形態2においては、そのような事態にも対処できる遅延調整部を備えた半導体装置2を開示する。
<構成>
図9が実施の形態2に係る半導体装置2の機能構成を示す機能ブロック図であり、図10が実施の形態2に係るテストアクセス部950の機能構成を示す機能ブロック図である。実施の形態2に係る半導体装置20は、実施の形態1と異なり、遅延調整部900を備える。遅延調整部900と実施の形態1に示した遅延調整部100との相違点は、テストアクセス部950を備えることにあり、テストアクセス部950とテストアクセス部150との相違点は、テスト開始判定部210の変わりにテスト開始判定部1210を備えていることにある。
テストアクセス部950の違いは、実施の形態1においては、使用しているメモリバンド幅が所定の閾値未満になっているタイミングで遅延調整を実行していたのに対し、半導体装置2の起動時から所定の時間が経過するごとに遅延調整を実行する点にある。
図10に示すようにテスト開始判定部1210は、テスト条件設定部1211と、経過時間測定部1212と、テスト開始判定部1213を含んで構成される。
テスト条件設定部1211は、テストアクセスを実行するための条件を保持し、当該条件を判定部213に通知する機能を有する。当該条件は、前回、遅延調整を行ってから、所定時間が経過することである。
経過時間測定部1212は、経過した時間を計測するタイマであり、カウントしている時刻を判定部213に通知する機能を有する。経過時間測定部1212は、テストアクセスを実行するごとにタイマをリセットする。
テスト開始判定部1213は、テスト条件設定部1211から通知された時間が経過したかどうかを、経過時間測定部1212から通知される時刻に基づいて判定する機能を有する。テスト開始判定部1213は、テスト条件設定部1211から通知された時間が経過していた場合、テスト状態保持部202が保持する動作状態を通常状態からテスト状態に変更する。
<動作>
ここで、実施の形態2に係る半導体装置2の動作を説明する。ここでは、実施の形態1に示した動作と共通する点においては、説明を割愛するものとし、相違点についてのみ説明する。
図11が実施の形態2に係る半導体装置2の動作を示すフローチャートである。図11に示すフローチャートにおいて、図7に示したフローチャートと同じステップ番号をふった動作については同様の動作をするものとしてその説明を割愛するものとする。
実施の形態2における動作が異なる点は、図11に示すフローチャートのステップS1103の動作である。即ち、テストアクセス開始、つまり遅延調整開始のための条件判定が異なる。
テスト開始判定部1010のテスト開始判定部1013は、テスト条件設定部1011に設定されている時間が経過したかどうかを、経過時間測定部1012から通知された時間に基づいて判定する(ステップS1103)。そして、所定時間が経過していた場合に(ステップS1103のYES)、遅延調整の処理、即ちテストアクセス処理を開始する(ステップS704以降の処理)。
これにより、半導体装置2の起動から、所定時間が経過するごとに遅延調整部900は、強制的に遅延調整を実行することができるので、半導体集積回路20とメモリ回路190との間で延々データ転送が実行されていてテストアクセスを実行できない状態であったとしてもデータ信号とストローブ信号とのずれを調整することができる。また、テストアクセスのために用いるメモリ領域に格納されているデータは一旦データ退避部120に退避されることになるので、元々そこにあったデータは、テストアクセス後に復元でき、システム動作になんら支障をきたさない構成とすることができる。
<補足>
上記実施の形態において、本発明の実施の手法について説明してきたが、本発明の実施形態がこれに限られないことは勿論である。以下、上記実施形態以外に本発明として含まれる各種の変形例について説明する。
(1)上記実施の形態1と上記実施の形態2において、使用しているメモリバンド幅が所定の閾値以下の場合と、予め定められた時間ごとという場合とで遅延調整を実行する例を示したが、両実施形態を組み合わせて、遅延調整部は、両方の場合で遅延調整を実行する構成としてもよい。即ち、メモリバンド幅を監視し、所定の閾値以下になったタイミングで遅延調整を実行するとともに、所定の時間が経過するごとにも遅延調整を強制的に実行する構成としてもよい。当該構成にすることにより、一方のみを実行する場合に比して、よりデータ信号とストローブ信号のずれが発生してデータ通信に失敗する確率を低減できる。
(2)上記実施の形態1においては、使用されているメモリバンド幅が所定の閾値未満であった場合には、必ずテストアクセスを実行する構成となっていたが、これは、毎回必ず実行しない構成としてもよい。例えば、前回遅延調整を行ってから、所定時間が経過していない間はテストアクセスを実行しない構成としてもよい。これにより、半導体集積回路10の処理負担を軽減することができる。
(3)上記実施の形態においては、第1転送マスタ部160はデータ信号とストローブ信号とを同時に出力し、ストローブ信号用遅延素子部でストローブ信号を遅延させてメモリ回路190に出力することで、メモリ回路190にデータを読み取らせる構成を示した。
しかし、第1転送マスタ部160がデータの出力側となる場合には、ストローブ信号用遅延素子部に出力用の遅延素子を配さずに、第1転送マスタ部でデータ信号を出力するタイミングから定められた時間だけ遅延させてストローブ信号を出力する構成としてもよい。
(4)上記実施の形態においては、遅延量を決定する際に、現行の遅延量の前後30psまで、10ps単位で計7個の遅延量分のテストアクセスを実行してデータ転送の成否を判定したが、これは、遅延量を決定するに足るデータが取得できるのであれば、例えば前後20psまで、10ps単位で計5個の遅延量分だけの成否を判定するだけでもよい。測定した遅延量の個数が少なければ、遅延量を決定するための時間を短縮でき、個数が多ければ決定した遅延量の信頼度を増すことができる。
また、各遅延量についても5回テストアクセスを実行して、データ転送の成否を判定したが、この回数も5回に限るものではなく、例えば、1回、あるいは、4回、あるいは7回などであってもよい。回数が少なければ、遅延量を決定するための時間を短縮でき、回数が多ければ決定した遅延量の信頼度を増すことができる。
また、上記実施の形態においては、遅延量を10ps単位でずらしてデータ転送の成否を判定したが、遅延素子の遅延量に応じて、5psあるいは20ps単位であってもよい。
また、上記実施の形態においては、遅延量それぞれについて5回全てデータ転送が成功したものを選択して、その平均をとることとしたが、テストアクセスを実行した各遅延量について、5回のうち何回成功したかの割合をかけて得られる各遅延量の平均値をとる構成にしてもよい。
(5)上記実施の形態において、システムの動作状態、とりわけ、動作温度によって、データ信号とストローブ信号とのずれが発生し得ることを記載した。そこで、その温度に応じて、遅延量を決定する構成をここに開示する。当該構成を実現するために、予めシステムをその動作温度に応じての最適な遅延量を予め実機のシミュレーションにより測定しておく。当該シミュレーションにより得られた遅延量の最適値は、温度別遅延情報として遅延調整部が記憶しておく。
その遅延調整部を含む半導体装置の構成を図12に示す。図12に示した遅延調整部1200は、実施の形態1に示したものに加え、更に、温度センサ1201を備える。
温度センサ1201は、周囲の温度を測定する機能を有し、測定した温度を定期的(例えば、30秒毎)にテストアクセス部150に通知する機能を有する。
図13に示すように、テストアクセス部150の遅延量算出部1220は、実施の形態1の遅延量算出部220に示したものに加え、更に、温度別遅延情報1301を保持している。
図14に温度別遅延情報1301の構成例を示す。図14は、温度別遅延情報1301の一構成例を示すデータ概念図である。
図14に示すように温度別遅延情報は、温度センサ1201が測定した温度1401と、そのときの、システムが使用する全メモリバンド幅1402に応じた遅延量を示す情報である。なお、図14に示した遅延量で示される値は、一例であって、システムに応じて異なることは言うまでもなく、搭載されるシステムに応じた最適な値が規定されることとなる。当該値は、半導体装置3の出荷前の動作シミュレーション等により取得する。
当該温度別遅延情報では、温度は、40度未満と、40度以上の場合とで、分けられており、バンド幅は、1200Mbps、2400Mbpsの場合とで分けられている。なお、ここに示したのは、一事例であって、温度及びバンド幅はより細かく細分化されていてもよいし、メモリバンド幅は、固定の値ではなく、所定の幅、例えば、1000Mbps〜2000Mbpsなどという形で規定されていてもよい。
テストアクセス部1250は、テストアクセスを実行するタイミングにおいて、温度センサ1201が通知してきた温度に基づいて、基本遅延量を決定する。
そして、上記実施の形態1に示したように、タップ回数で示される分だけ、この基本遅延量を10ps単位で前後させて、それぞれ5回ずつデータ転送の成否を計測する。そして、データ転送が5回とも成功した遅延量の平均値を新たな、遅延量として設定する。
この構成を備えることにより、システムの温度状況に合わせた適切な遅延量設定を行うことができる。
なお、当該構成は実施の形態2に示した遅延調整部900が保持するものであってもよい。また、温度別遅延情報1301に示される遅延量は、システムの起動時、リセット時に設定される遅延量として用いられてもよい。
また、温度センサ1201を備える場合に、当該温度センサ1201が示す温度が所定の温度を超えた場合(例えば40℃を超えた場合)をテストアクセス実行の契機とする構成にしてもよい。半導体集積回路10の動作温度に応じて、データ信号とストローブ信号とのずれが発生することがあるので、その事態に対応することができる。温度センサ1201の温度を遅延調整の条件とする場合には、温度別遅延情報の有用性は更に高まる。
(6)上記実施の形態において、遅延素子部では、遅延量保持部140から指示される遅延量に応じて、セレクタ503、504が1つの遅延素子からの出力信号を選択して出力する構成とした。これは、以下のような構成にしてもよい。
即ち、図5に示すように遅延素子を直列に接続するのではなく、遅延量がそれぞれ異なる遅延素子(ストローブ信号を10ps遅延させる遅延素子、20ps遅延させる遅延素子、・・・100ps遅延させる遅延素子・・・)を並列に配する。そして、判定元データをそれぞれの遅延素子から出力されたストローブ信号で示されるタイミングでメモリ回路190のそれぞれ異なる領域に書き込み、それぞれ異なる領域に書き込んだデータを読み取って、読み取った各読取判定元データと判定元データとを比較してデータ転送の成否を判定する構成としてもよい。これにより、テストアクセス時に遅延量を変化させながらのテストアクセスを実行せずにすみ、例えば、上記実施の形態1では遅延量7つ分のテストアクセスをそれぞれ5回、計35回のテストアクセスを実行したのに対し、遅延素子を並列に配すると、5回のテストアクセスのみですみ、テストアクセスに要する時間を短縮することができる。
(7)上記実施の形態において示した遅延量は、秒単位で説明したが、これは、信号をどれだけ遅延させるかを規定できるものであればよく、秒以外の単位、即ち、位相(度)で遅延量を規定することとしてもよい。この場合、上記実施の形態に示す遅延調整部は、位相調整部と銘打つのが妥当であり、上記実施の形態における遅延量は、位相変化量として、ストローブ信号の位相を何度遅らせるのかを規定するものとなる。
(8)上記実施の形態においては、一度テストアクセスが開始されると最後までテストアクセスを実行して、遅延量を更新する構成としたが、メモリバンド幅がテストアクセス中に所定の閾値以上になった場合に、テストアクセスを中断する構成としてもよい。
このとき、テストアクセスのデータ(どの遅延量でテストアクセスを実行したか、テストアクセスによるデータ転送の成否の情報)をメモリ等に残しておき、中断後再びメモリバンド幅が所定の閾値未満になった場合に、中断したところからテストアクセスを継続する構成としてもよい。また、テストアクセスを中断後、メモリバンド幅が所定閾値未満になった場合に、再度最初からテストアクセスを実行してもよい。
(9)上記実施の形態1においてメモリバンド幅監視部212は、1分ごとのメモリバンド幅を監視する構成となっているが、これは、1分ごとに限定されるものではなく、システムの動作環境に応じて、変更してもよく、例えば、20秒ごとであってもよいし、2分ごとであってもよい。
(10)図1、2、3、4、9、10、12、13に示した半導体装置1、2、3の各機能部は集積化されて1又は複数のLSI(Large Scale Integration)により実現されてもよい。また、複数の機能部が1のLSIにより実現されてもよい。
LSIは集積度の違いにより、IC(Integrated Circuit)、システムLSI、VLSI(Very Large Scale Integration)、SLSI(Super Large Scale Integration)、ULSI(Ultra Large Scale Integration)などと呼称されることもある。
また、集積回路化の手法はLSIに限られるものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらに、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてあり得る。
(10)上述の実施形態で示した遅延調整に係る動作、遅延量の設定処理等(図7、8等参照)を民生機器等のプロセッサ、及びそのプロセッサに接続された各種回路に実行させるためのプログラムコードからなる制御プログラムを、記録媒体に記録すること、又は各種通信路(例えば、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク)等を介して流通させ頒布させることもできる。このような記録媒体には、ICカード、ハードディスク、光ディスク、フレキシブルディスク、ROM等がある。流通、頒布された制御プログラムはプロセッサに読み出され得るメモリ等に格納されることにより利用に供され、そのプロセッサがその制御プログラムを実行することにより、実施形態で示したような各種機能が実現されるようになる。
(11)以下に本発明に係る遅延調整装置の実施態様とその効果について説明する。
本発明に係る遅延調整装置は、外部メモリと、データ信号がのるデータラインと、データラインにのっているデータ信号を読み取るタイミングを規定するストローブ信号がのるストローブラインとで接続される機器に搭載され、ストローブ信号の遅延調整を行う遅延調整装置であって、前記外部メモリと前記機器との間の通信におけるデータ転送量を示すメモリバンド幅を監視し、逐次当該メモリバンド幅を示すメモリバンド情報を出力するメモリバンド幅監視部と、前記メモリバンド情報で示されるメモリバンド幅に応じて、前記データ信号と、前記ストローブ信号との遅延調整を行う遅延調整手段とを備える。
また、本発明は、外部メモリと、データ信号がのるデータラインと、データラインにのっているデータ信号を読み取るタイミングを規定するストローブ信号がのるストローブラインとで接続される機器間において、遅延調整装置がストローブ信号の遅延調整を行う遅延調整方法であって、前記外部メモリと前記機器との間の通信におけるデータ転送量を示すメモリバンド幅を監視し、逐次当該メモリバンド幅を示すメモリバンド情報を出力するメモリバンド幅監視ステップと、前記メモリバンド情報で示されるメモリバンド幅に応じて、前記データ信号と、前記ストローブ信号との遅延調整を行う遅延調整ステップとを含む。
これにより、遅延調整装置は、データ転送を実行する機器と、当該装置に接続されている外部メモリ間で使用されているメモリバンド幅に応じて、遅延調整を実行することができる。これによって、遅延調整装置は、例えば、機器と外部メモリの間でのデータ転送を実行している場合には、使用しているメモリバンド幅が大きくなるので、実際にデータ転送を行って、その成否によって遅延量を決定する遅延調整を実行するのには適さないが、データ転送を実行していない、あるいは、その転送量が少ない場合には、遅延調整を実行することができる。
また、前記遅延調整手段は、前記メモリバンド幅が所定の閾値を下回った場合に、前記遅延調整を実行することとしてもよい。
これにより、メモリバンド幅が所定の閾値未満になったタイミングを契機として遅延調整を開始することができる。
また、前記遅延調整装置は、更に、遅延調整を行うための条件を定めた遅延調整条件情報を記憶する記憶手段を備え、前記遅延調整手段は、前記記憶手段に記憶されている遅延調整条件情報で定められる条件が成立した場合にも前記遅延調整を実行することとしてもよい。
また、前記所定の条件とは、自装置が起動してから、所定時間が経過するごとであることとしてもよい。
また、本発明は、外部メモリと、データ信号がのるデータラインと、データラインにのっているデータ信号を読み取るタイミングを規定するストローブ信号がのるストローブラインとで接続される機器間において、遅延調整装置がストローブ信号の遅延調整を行う遅延調整方法であって、前回行った遅延調整から所定時間が経過したか否かを判定する判定ステップと、前記判定ステップが肯定的な判定をした場合に、前記データ信号と、前記ストローブ信号との遅延調整を行う遅延調整ステップとを含む。
これにより、メモリバンド幅が所定の閾値未満とならずとも、定期的に遅延調整を実行する構成とすることができ、データ信号とストローブ信号とのずれを発生しにくくすることができる。
また、前記遅延調整手段は、前記外部メモリから出力されるストローブ信号を所定量だけ遅延させて、自装置から前記外部メモリにデータ転送の成否の判定に用いる判定元データを書き込み、当該書き込んだデータを読み取り、読みとったデータと判定元データとを比較してデータ転送の成否を判定して、データ転送に適したストローブ信号の遅延量を決定することで前記遅延調整を実行することとしてもよい。
これにより、実際にデータ転送を行って、その成否を判定した実データに基づいて、遅延量を決定することにより、データ転送が確実に行える遅延量を決定することができる。
また、前記遅延調整装置は、更に、前記遅延調整手段が前記遅延調整を実行する前に、前記内部メモリの前記仮データを書き込む領域に記憶されているデータを退避させるためのメモリデータ退避手段を備えることとしてもよい。
これにより、遅延調整を行うにあたって、実際にデータ転送を実行して、データの書き込みを行う場合に、元々あったデータを退避させることにより、遅延調整を行ったあとでデータを復元することができる。
本発明に係る遅延調整装置は、データラインに乗るデータ信号をストローブ信号で示されるタイミングで読み取ることが規定されているデータ通信を実行する装置において有用である。
1 半導体装置
10 半導体集積回路
100 遅延調整部
110 アクセス先変換部
111 変換テーブル
120 データ退避部
130 遅延素子部
140 遅延量保持部
150 テストアクセス部
160 第1転送マスタ部
170 調停部
180 メモリデータ送受信部
190 メモリ回路
201 テスト領域指定部
202 テスト状態保持部
203 テスト領域設定部
204 テストフラグ保持部
205 退避フラグ保持部
210 テスト開始判定部
211 テスト条件設定部
212 メモリ幅監視部
213 テスト開始判定部
220 遅延量算出部
221 遅延素子指定部
222 遅延タップ量保持部
223 タップ回数保持部
224 テスト遅延量算出部
225 テスト完了判定部
226 最適値設定部
230 OK/NG判定部
231 判定元データ保持部
232 テストリードデータ保持部
233 データ比較部
234 判定結果テーブル
301 現行制御ライン信号ビット0用遅延量保持部301
302 現行制御ライン信号ビット1用遅延量保持部302
303 現行アドレスビット0用遅延量保持部303
304 現行アドレスビット1用遅延量保持部
305 現行データ信号ビット0用遅延量保持部
306 現行データ信号ビット1用遅延量保持部
307 現行ストローブ信号用遅延量保持部
311 テスト用制御ライン信号ビット0用遅延量保持部
312 テスト用制御ライン信号ビット1用遅延量保持部
313 テスト用アドレスビット0用遅延量保持部
314 テスト用アドレスビット1用遅延量保持部
315 テスト用データ信号ビット0用遅延量保持部
316 テスト用データ信号ビット1用遅延量保持部
317 テスト用ストローブ信号用遅延量保持部
321〜327 セレクタ
401 制御ライン信号ビット0用遅延素子部
402 制御ライン信号ビット1用遅延素子部
403 アドレス信号ビット0用遅延素子部
404 アドレス信号ビット1用遅延素子部
405 データ信号ビット0用遅延素子部
406 データ信号ビット1用遅延素子部
407 ストローブ信号遅延素子部
501a〜501n、502a〜502n 遅延素子
503、504 セレクタ
本発明は、データ信号を読み取るべきタイミングを定めるストローブ信号の遅延調整に関する。
従来、データの送受信を実行するSoC(System on Chip)とメモリとの間でのデータ通信において、データを読み取る側は、データラインに乗っているデータ信号を、データ信号の読み取りタイミングを規定するストローブ信号を受け付けたタイミングで読み取る。より具体的には、読み取り側がストローブ信号の立ち上がりエッジを検出して、データラインに乗っているデータ信号を読み取る。
図15に示すように、SoC1500と、メモリ1501とはデータラインとストローブラインとで接続される。データラインにデータがのっているタイミングとストローブ信号の立ち上がりとがずれると、受け取り側は正しくデータを読み取れないため、多少ストローブ信号の立ち上がりエッジが前後してもよいように、ストローブ信号の立ち上がりをデータ信号がデータラインにのっているタイミングの中間点になるように遅延調整を行う必要がある。即ち、図15において、データ信号がデータラインにのっているタイミングにおいて、ストローブ信号の立ち上がりエッジが遅延量Eで示されるタイミングで立ち上がるように、ストローブ信号を遅延させる必要がある。なお、ここでいう遅延量は、データ信号がデータラインに乗り始めたタイミングからストローブ信号が立ち上がるまでの時間をいう。
当該遅延調整においては、SoC1500が自身でデータを出力する場合には、データを載せているタイミングの中点において、ストローブ信号を立ち上げればよい。これは、SoC1500自身はデータ信号をストローブ信号と同じタイミングで出力しつつ、ストローブ信号のみ保持している遅延素子を規定の段数だけ通過させてからメモリ1201に出力する構成をとってもよい。
一方、メモリ1501は、データ信号を出力する出力開始タイミングと出力期間とを、ストローブ信号の立ち上がりエッジと立ち下りエッジとに一致させて出力する機能しかない。そのため、SoC1500は、メモリ1501から受け付けるストローブ信号を自ら遅延させる必要があり、その自ら遅延させたストローブ信号の立ち上がりを検出して、データを読み取る。このストローブ信号をどれだけ遅延させるかを決定し、決定した量だけストローブ信号を遅延させることを遅延調整という。
特許文献1には、この遅延調整を、システムの起動時や、システムリセットが実行されたタイミングにおいて実行する装置が開示されている。
特開2007−202033号公報
ところで、SoCが動作し続けることにより、経年劣化などにより、データ信号とストローブ信号のタイミングとがずれてくることがある。また、SoCは、負荷状態に応じて動作温度が異なり、その温度特性により動作タイミングが変化し、データ信号とストローブ信号とのタイミングがずれることもある。
昨今SoCの動作クロックは高速化してきており、それに併せてデータラインにデータ信号が載っている期間も短くなってきている。これは、とりもなおさず、ストローブ信号の立ち上がりのタイミングもまた非常にシビアなものが要求されることを意味しており、現行のものではピコセカンドオーダーのものを要求される仕様もざらにある。
当該仕様にあっては、データ信号とストローブ信号のずれは、データ通信において、正常なデータ転送がなされず、システムが正常に動作しなくなる要因となる。
そこで、本発明においては、当該ずれをなるべく発生させず、かつ、システムの通常動作をなるべく妨げない遅延調整装置を提供することを目的とする。
上記課題を解決するため、本発明に係る遅延調整装置は、外部メモリと、データ信号がのるデータラインと、データラインにのっているデータ信号を読み取るタイミングを規定するストローブ信号がのるストローブラインとで接続される機器に搭載され、ストローブ信号の遅延調整を行う遅延調整装置であって、前記外部メモリと前記機器との間の通信におけるデータ転送量を示すメモリバンド幅を監視し、逐次当該メモリバンド幅を示すメモリバンド情報を出力するメモリバンド幅監視部と、前記メモリバンド情報で示されるメモリバンド幅に応じて、前記データ信号と、前記ストローブ信号との遅延調整を行う遅延調整手段とを備えることを特徴としている。
上述のような構成によって遅延調整装置は、システムが動作中であっても、装置とメモリ間の使用しているメモリバンド幅を監視し、使用されているメモリバンド幅が少ない状態においては、データ転送を実行する装置とメモリ間のデータ転送がそれほど行われていないことになる。遅延調整は、データ転送を実行する装置とメモリ間においてストローブ信号を何段階かで遅延させつつ、実際にデータ転送を行って、そのデータ転送の成否に応じて、ストローブ信号の遅延量を決定することで行われる。このため、実際にデータ転送を行ってメモリバンド幅を一定以上使用していると、この遅延調整のためのデータ転送を実行できないが、メモリバンド幅の使用量が一定以下である場合には、遅延調整のためのデータ転送を実行できる。よって、システムが動作中であっても遅延調整を行えるので、システムが動作することによる発熱などに応じて変化する動作環境にも対応した遅延調整を行うことができ、従来よりも、データ信号とストローブ信号のずれを従来よりも抑制することができる。
実施の形態1に係る半導体装置1の機能構成を示す機能ブロック図である。 実施の形態1に係るテストアクセス部の機能構成を示す機能ブロック図である。 実施の形態1に係る遅延量保持部の機能構成を示す機能ブロック図である。 実施の形態1に係る遅延素子部の機能構成を示す機能ブロック図である。 実施の形態1に係る遅延素子部の回路構成を示すブロック図である。 テストアクセス時に用いる判定結果テーブルのデータ構成例を示すデータ概念図である。 実施の形態1に係る遅延調整部の遅延調整の動作を示すフローチャートである。 テストアクセス処理における遅延調整部の動作を示すフローチャートである。 実施の形態2に係る半導体装置の機能構成を示す機能ブロック図である。 実施の形態2に係るテストアクセス部の機能構成を示す機能ブロック図である。 実施の形態2に係る遅延調整部の遅延調整の動作を示すフローチャートである。 半導体装置の変形例を示す機能ブロック図である。 半導体装置の変形例に係るテストアクセス部の機能ブロック図である。 温度別遅延情報の構成例を示すデータ概念図である。 遅延調整の内容を示す概要図である。
<実施の形態1>
本発明に係る遅延調整装置の一実施形態である半導体装置について、図面を参照しながら説明する。
<構成>
図1は、半導体装置1の機能構成を示す機能ブロック図である。半導体装置1は、例えば、デジタル放送受信装置、携帯電話、BD(Blu-ray Disc)再生装置、BD録画装置などの民生機器や産業機器で利用される装置である。半導体装置1は、半導体集積回路10とメモリ回路190とを含んで構成される。
半導体集積回路10は、SoCなどの、ビデオデコード処理やデータ転送処理等の様々な機能を実現する半導体で構成された電子回路である。半導体集積回路10は、メモリ回路190との間でデータの送受信を実行する機能を有する。図1に示すように半導体集積回路10は、遅延調整部100と、第1転送マスタ部160と、調停部170と、メモリデータ送受信部180とを含んで構成される。
遅延調整部100は、半導体集積回路10とメモリ回路190との間で行われるデータ送受信におけるデータ信号とストローブ信号との遅延調整を実行する機能を有する。遅延調整部100は、アクセス先変換部110と、データ退避部120と、遅延素子部130と、遅延量保持部140と、テストアクセス部150とを含んで構成される。また、遅延調整部100は、データ信号やストローブ信号だけでなく、制御信号やアドレス信号の遅延調整を実行する機能も有する。
アクセス先変換部110は、テストアクセスを実行する際に、テストアクセス部150からの指示のもと、テストアクセスの際にテストアクセス用のデータを書き込む領域を決定し、テストアクセス部150からデータ退避を示す信号を受け付けている場合に決定した領域にあるデータをデータ退避部120に退避させる機能を有する。また、アクセス先変換部110は、テストアクセスを実行する際に退避させたデータが格納されていたアドレスを変換テーブル111に記憶する機能を有し、テストアクセス終了時にデータ退避部120に退避させたデータを取得し、元々格納されていたアドレスに復元する機能も有する。なお、アクセス先変換部110は、テストアクセスを実行していないタイミングにおいては、メモリデータ送受信部180から転送されてきた信号をそのまま遅延素子部130に転送するか、遅延素子部130から転送されてきた信号をそのままメモリデータ送受信部180に転送する。
データ退避部120は、遅延調整部100が遅延調整を実行するタイミングにおいて、半導体集積回路10内のデータ通信の際のデータを保持するメモリにあるデータの退避先として用いられるメモリであり、テストアクセス実行時にアクセス先変換部110から出力された退避データを保持する機能を有する。また、アクセス先変換部110からの指示に従い、保持していた退避データを出力する機能も有する。
遅延素子部130は、受け取ったデータ信号をそのまま転送するとともに、そのデータ信号を読み取るタイミングを規定するストローブ信号を、遅延量保持部140から指定された遅延量だけ、遅延させて出力する機能を有する。遅延素子部130は、データをメモリ回路190に書き込む場合に、データラインに第1データ信号133を乗せて出力するとともにストローブラインにのる第1ストローブ信号134を遅延させて出力する。遅延素子部130は、データをメモリ回路190から読み出す場合に、メモリ回路から出力されたストローブラインに乗る第1ストローブ信号134を遅延させ、遅延させた第1ストローブ信号134の立ち上がりエッジを検出してデータラインに乗っている第1データ信号133を読み取る。また、遅延素子部130は、その他の信号、即ち、制御信号、アドレス信号、データ信号なども、必要に応じて、遅延させる機能も有する。遅延素子部130の詳細については後述する。
遅延量保持部140は、ストローブ信号をどれだけ遅延させるのかを示す遅延量を保持し、遅延素子部130に通知する機能を有する。また、遅延量保持部140は、ストローブ信号以外の信号をどれだけ遅延させるのかを示す遅延量も保持し、遅延素子部130に通知する機能も有する。各遅延量は、テストアクセス部150から設定される。遅延量保持部140の詳細については後述する。
テストアクセス部150は、条件を満たした場合に、データ信号とストローブ信号との遅延調整を行う機能を有する。テストアクセス部150は、遅延量を定めて、メモリ回路190へのテストアクセスを行って、データ転送の成否によって、遅延調整を実行する。テストアクセス部150は、現在の遅延量及びその前後10ps単位で合計7つの遅延量それぞれで、5回、メモリ回路190にデータを書き込み、書き込んだそのデータを再び読み出し、書き込む前のデータと読み取ったデータが一致するかどうかを判定する。そして、テストアクセス部150は、5回全てのテストアクセスが成功した遅延量の平均値を算出して、算出した遅延量を現在の遅延量として、遅延量保持部140に設定する。このテストアクセスを行って遅延量を算出して、算出した遅延量を現在使用する遅延量とすることを遅延調整という。テストアクセス部150の更なる詳細については、後述する。
第1転送マスタ部160は、CPU(Central Processing Unit)や、DMAC(Direct Memory Access Controler)などのことであり、メモリ190との間でデータ転送を実行する機能を有する。第1転送マスタ部160は、調停部170と第二制御ライン信号161、第二アドレス信号162、第二データ信号163等を用いてメモリ回路190にメモリアクセスを実行する。第二制御ライン信号161は、データアクセスの種別(リード/ライト)を指定する信号である。第二アドレス信号162は、メモリ回路190のアクセス先のアドレスを指定する信号である。第二データ信号163は、実際に書き込む、あるいは、読み出したデータの信号である。以降、制御ライン信号、アドレス信号、データ信号は、その前に付した番号は異なるとしても、その意味は同じものとする。即ち、制御ライン信号は、メモリアクセスの種別を規定するものであり、アドレス信号は、メモリ回路190のアドレスを指定するものであり、データ信号は、実際に転送されるデータの信号を示すものであるとする。
調停部170は、複数のメモリアクセス要求があった場合に、予め定められた優先度に従って一つのメモリアクセス要求を選択する機能を有する。例えば、第1転送マスタ部160以外の転送マスタ(図示せず)もメモリ回路190とのデータ通信を実行する場合に、第1転送マスタ部160と、それ以外の転送マスタとの間に、予め優先順位設定を行っておき、優先度の高いほうのアクセス要求を通す機能を有する。本実施形態においては、調停部170は、第1転送マスタ部160からのアクセスと、テストアクセス部150からのアクセスとを受け付け、テストアクセス部150からのアクセスを優先する。
メモリデータ送受信部180は、第四制御ライン信号171、第四アドレス信号172、第四データ信号173を基に、半導体集積回路10がメモリ回路190へメモリアクセスする際に使用する第一制御ライン信号131、第一アドレス信号132、第一データ信号133、第一ストローブ信号134の遅延処理前の信号である第五制御ライン信号181、第五アドレス信号182、第五データ信号183、第二ストローブ信号184を生成し、遅延調整部100との間で入出力を実行する。
メモリ回路190は、DDR3−SDRAM(Double-Data-Rate3 Synchronous Dynamic Randam Access Memory)などに代表される、外部からの要求によりデータを保持する、あるいは、外部からの要求により保持しているデータを出力する機能を有する半導体からなる電子回路である。メモリ回路190は、半導体集積回路10と、第1制御ライン信号131、第一アドレス信号132、第一データ信号133、第1ストローブ信号134を介して接続される。メモリ回路190は、半導体集積回路10から出力された第一制御ライン信号131に従い、半導体集積回路10から転送されてきたデータを保持する機能を有する。また、メモリ回路190は、半導体集積回路から出力された第一制御ライン信号131に従い、半導体集積回路10に指定されたデータを第一データ信号133に出力する機能も有する。
図2は、テストアクセス部150の詳細の構成例を示す機能ブロック図である。
図2に示すようにテストアクセス部150は、テストアクセス発行部201と、テスト状態保持部202と、テスト領域指定部203と、テストフラグ保持部204と、退避フラグ保持部205と、テスト開始判定部210と、遅延量算出部220と、OK/NG判定部230とを含んで構成される。
テストアクセス発行部201は、テスト状態保持部202からの動作状態を示す信号が、「0」から「1」に変化したタイミングで、テストアクセスを発行する機能を有する。テストアクセス発行部201は、制御ライン信号151を介して、データのリード/ライトを指定し、アドレス信号152を介してメモリ回路190のアクセス先のアドレスを指定し、データ信号153を介して書き込む判定元データの転送と、メモリ回路190から読み取ったデータの転送が行われる。テストアクセス実行時に、テストアクセス発行部201は、OK/NG判定部230の判定元データ保持部231が保持するデータを書き込むためのアクセス要求を発行する。当該アクセス要求に対するアクセス完了を受け付けると、テストアクセス発行部201は次に、書き込んだデータを再度読み取るためのアクセス要求を発行し、当該アクセス要求に応じてメモリ回路190から転送されてきたデータをOK/NG判定部230に転送する。データ信号を介して書き込む判定元データを出力し、メモリ回路190から書き込んだ判定元データを読み取ったデータを受け取る。
テスト状態保持部202は、半導体集積回路10のテストアクセスの状態を示す情報を保持する機能を有する。当該状態には、
・テスト状態かつOK/NG部10001が使用する判定元データ保持部100010に格納する判定元データを読み出す状態、
・テスト状態かつ遅延量を変更してのテストアクセスを行う状態、
・テスト状態かつテストの為のメモリ回路11に対する書き込みを行う状態
・テスト状態かつ第一転送マスタ部101のような本システムからのメモリアクセスが発生した状態
などがある。
なお、テスト状態保持部202の値は、本システム使用者が直接設定可能であり、テスト開始判定部210からのテスト開始要求信号などによっても設定可能である。ここでは、テスト開始判定部210が、テスト開始を示す信号を出力した場合に、テスト状態であることを示す情報を保持するものとし、当該情報を保持していると、テストアクセス発行部201は、テストアクセスのためのアクセス要求を発行する。
テスト領域指定部203は、遅延調整のためのメモリ回路190から読み取った判定元データを、半導体集積回路10が保持するメモリのどの領域に記録するのかを指定する機能を有し、そのアドレスをテストアクセス発行部201に通知する機能を有する。
テストフラグ保持部204は、テストアクセスを実行しているかどうかを示すフラグを保持する機能を有し、当該フラグをテストアクセス発行部201に通知する機能を有する。テストフラグ保持部204が保持する情報は、1ビットのデータであり、「0」であれば通常動作状態、「1」であればテストアクセス状態であることを示す。
退避フラグ保持部205は、データをデータ退避部120に退避すべきかどうかを示すフラグを保持する機能を有し、当該フラグを遅延量保持部140に通知する機能を有する。テスト領域指定部203で指定される領域に既にデータが格納されていた場合に、退避フラグ保持部205が保持するデータは、データ退避部120にデータを退避すべきことを示す「1」となり、それ以外の場合では、「0」となる。
テスト開始判定部210は、テストアクセスを実行するタイミングであるかどうかを判定する機能を有し、テストアクセスを実行すべきタイミングであると判定した場合に、その旨をテスト状態保持部202に通知する機能を有する。テスト開始判定部210は、具体的には、テスト条件設定部211とメモリ幅監視部212と、判定部213とを含んで構成される。
テスト条件設定部211は、テストアクセスを実行するためのタイミングを決定するための条件を設定、保持する機能を有する。当該設定は、例えば半導体装置1に接続されたPCから数値の設定を行ったり、あるいは、半導体装置1に備え付けられたディップスイッチなどにより設定できる。テスト条件設定部211は、テストアクセスを開始するための条件として、使用しているメモリバンド幅が所定の閾値以下であるという条件を保持し、当該条件を判定部213に通知する機能を有する。
メモリ幅監視部212は、第一データ信号133を監視して使用されているメモリバンド幅を監視する機能を有し、使用されているメモリバンド幅を判定部213に定期的(例えば1分毎)に通知する機能を有する。
判定部213は、メモリ幅監視部212から通知された使用しているメモリバンド幅が、テスト条件設定部211から通知された条件を満たしているか否かを判定する機能を有する。当該判定において、肯定的、即ち、条件を満たしていると判定した場合には、判定部213は、テストアクセス状態に移行することをテスト状態保持部202に通知する機能を有する。
遅延量算出部220は、テストアクセスを行って得られた結果から、最新の遅延量を算出する機能を有する。遅延量算出部220は、遅延素子指定部221と、遅延タップ量保持部222と、タップ回数保持部223と、テスト遅延量算出部224と、テスト完了判定部225と、最適値設定部226とを含んで構成される。
遅延素子指定部221は、遅延量保持部140のどの遅延量保持部を用いるのかを指定する信号を出力する機能を有する。
遅延タップ量保持部222は、遅延量の1回の遅延のための遅延量を保持する機能を有する。本実施例においては、遅延タップ量保持部222は、10psという遅延量を保持しているものとする。即ち、遅延調整は、10ps単位で実行されることとなる。
タップ回数保持部223は、テストアクセスを行う際に、何回、遅延量をずらすかを規定する回数を保持する機能を有する。例えば、タップ回数保持部223が3という回数を保持する場合には、テストアクセスは、現在の遅延量と、その前後に遅延タップ量保持部222で保持される遅延量だけずらした遅延量でのテストアクセスが実行されることを意味する。本実施の形態においては、タップ回数保持部223は、7というタップ回数を保持するものとする。遅延タップ量保持部222が保持する遅延量は10psなので、これにより、テストアクセスは、「現行の遅延量−30ps」、「現行の遅延量−20ps」、「現行の遅延量−10ps」、「現行の遅延量」、「現行の遅延量+10ps」、「現行の遅延量+20ps」、「現行の遅延量+30ps」の計7つ分の遅延量でのテストアクセスが実行されることとなる。
テスト遅延量算出部224は、現在の遅延量からどれだけ遅延量を変化させるのかを決定する機能を有し、テストアクセスの際に使用する遅延量を遅延量保持部140に通知する機能を有する。当該遅延量は、遅延量保持部222が保持する遅延量と、タップ回数保持部223で保持されるタップ回数とに基づいて決定され、未実行のテストアクセスの遅延量に決定される。
テスト完了判定部225は、タップ回数保持部223で示される回数だけテストアクセスをそれぞれ所定の回数(本実施の形態では5回分)分だけ行ったかどうかによって、テストアクセスが完了したか否かを判定する機能を有し、テストアクセスが完了した場合には、最適値設定部226にテストアクセスが完了したことを通知する機能を有する。
最適値設定部226は、テスト完了判定部225からテストアクセスの終了を通知されると、OK/NG判定部230が保持する判定結果テーブル234を取得する。そして、最適値設定部226は、判定結果テーブル234から最適となる遅延量を算出し、遅延量保持部140に設定する機能を有する。
OK/NG判定部230は、テストアクセス部150が実行したテストアクセスの成否を判定する機能を有し、その判定結果を示す情報を保持し、当該情報を遅延量算出部220に通知する機能を有する。
OK/NG判定部230は、判定元データ保持部231と、テストリードデータ保持部232と、データ比較部233と、判定結果テーブル234とを含んで構成される。
判定元データ保持部231は、テストアクセスを実行する際に、メモリ回路190に書き込む判定元データを保持する機能を有する。当該判定元データは、メモリ回路190に書き込み可能な形式の特定のパターンのデータであればどのようなものであってもよく、例えば、0x5a5a5a5aといったデータであってもよいし、4ビットや8ビットの数値データなどであってもよい。また、判定元データ保持部231は、保持している判定元データをデータ比較部233に通知する機能も有する。当該判定元データは予め設定されている。
テストリードデータ保持部232は、テストアクセスによって、一度メモリ回路190に書き込んだ判定元データを読み出して得たデータを保持する機能を有し、テストアクセス発行部201から転送されてきたデータを保持する。テストリードデータ保持部232は、一回のテストアクセス毎に読み取ったデータ(以降、読取判定元データとも呼称する)を保持し、保持しているデータが更新されるごとに保持している読取判定元データをデータ比較部233に出力する機能を有する。
データ比較部233は、判定元データ保持部231から出力された判定元データと、テストリードデータ保持部232から出力された読取判定元データとを比較し、一致するかどうかを判定する。一致した場合には、現在のストローブ信号の遅延量でデータ通信に成功したことを意味する。また、一致しなかった場合には、データ通信に失敗したことを意味し、現在のストローブ信号の遅延量ではデータ通信に支障をきたすことを意味する。データ比較部233は、判定元データと読取判定元データとが一致した場合に、そのときのテストアクセスの遅延量に対応付けてデータ通信が成功したことを示す情報を判定結果テーブル234に登録し、一致しなかった場合に、そのときのテストアクセスの遅延量に対応付けてデータ通信が失敗したことを示す情報を判定結果テーブル234に登録する。
判定結果テーブル234は、最適値設定部226が最適な遅延量を算出する際に参照するテストアクセスの成否を示す情報である。図6に、判定結果テーブル234の一構成例となるデータ概念図を示した。
図6に示すように、判定結果テーブル234は、各遅延量に応じて、行ったテストアクセスの成否を示す情報であり、ストローブ信号の遅延量601とOK/NG判定602とを対応付けた情報である。本実施例では、テストアクセスは、各遅延量について5回行うものとし、各回のテストアクセスの成否が登録される。図6の判定結果テーブル234においては、データ転送が成功した場合を「○」で、失敗した場合を「×」で示している。
例えば図6では、「現行の遅延量−10ps」の場合、即ち現行よりも10psだけストローブ信号の立ち上げを早めた場合では、第3回目だけテストアクセスに失敗した例を示している。図6に示した判定結果テーブル234の場合だと、全てのテストアクセスが成功した、「現行」、「現行+10ps」、「現行+20ps」の平均値、即ち、「現行+10ps」、つまり現行の遅延量よりも、10psだけストローブの立ち上がりを遅くした新たな遅延量が遅延量保持部140に保持されることになる。
図3は、遅延量保持部140の機能構成を示す機能ブロック図である。
図3に示すように、遅延量保持部140は、現行制御ライン信号ビット0用遅延量保持部301と、現行制御ライン信号ビット1用遅延量保持部302と、現行アドレスビット0用遅延量保持部303と、現行アドレスビット1用遅延量保持部304と、現行データ信号ビット0用遅延量保持部305と、現行データ信号ビット1用遅延量保持部306と、現行ストローブ信号用遅延量保持部307と、テスト用制御ライン信号ビット0用遅延量保持部311と、テスト用制御ライン信号ビット1用遅延量保持部312と、テスト用アドレスビット0用遅延量保持部313と、テスト用アドレスビット1用遅延量保持部314と、テスト用データ信号ビット0用遅延量保持部315と、テスト用データ信号ビット1用遅延量保持部316と、テスト用ストローブ信号用遅延量保持部317と、セレクタ321〜327とを含んで構成される。
現行制御ライン信号ビット0用遅延量保持部301は、現在使用されている制御ライン信号のビット0の信号線にのる信号を遅延させる遅延量を保持する機能を有し、当該遅延量をセレクタ321に出力する機能を有する。また、現行制御ライン信号ビット0用遅延量保持部301の保持する遅延量は、テストアクセス終了時に、テストアクセス部150により最新のものに更新される。
テスト用制御ライン信号ビット0用遅延量保持部311は、テストアクセス時に使用される制御ライン信号のビット0の信号線にのる信号を遅延させる遅延量を保持する機能を有し、当該遅延量をセレクタ321に出力する機能を有する。テスト用制御ライン信号ビット0用遅延量保持部311の保持する遅延量は、テストアクセスを実行しているときに、遅延量を変更するごとにテストアクセス部150により更新される。
セレクタ321は、テストアクセス部150からの指示に従って、遅延素子指定部221が出力するどの遅延素子部であるかを示す信号が制御ライン信号ビット0であることを示す信号である場合に、テスト状態保持部202から出力されるテスト状態であるか否かを示す信号147に基づいて、現行制御ライン信号ビット0用遅延量保持部301から出力されている信号と、テスト用制御ライン信号ビット0用遅延量保持部311から出力されている信号とのうちのいずれか一方を選択して、遅延素子部130に出力する機能を有する。具体的には、テスト状態保持部202から出力されている信号がテストアクセス実行中であることを示している場合に、テスト用制御ライン信号ビット0用遅延量保持部311が保持する遅延量を選択して出力し、それ以外の場合には、現行制御ライン信号ビット0用遅延量保持部301が保持する遅延量を出力する。
その他の現行用遅延量保持部(302〜307)、テスト用遅延量保持部(312〜317)、セレクタ(322〜327)については、制御対象となるラインと遅延量がそれぞれ異なるだけで、それぞれの機能部の名称で示される信号の遅延量を出力する構成となっているので、詳細な説明を割愛する。
図4は、遅延素子部130の機能構成を示す機能ブロック図である。
図4に示すように、遅延素子部130は、制御ライン信号ビット0用遅延素子部401と、制御ライン信号ビット1用遅延素子部402と、アドレス信号ビット0用遅延素子部403と、アドレス信号ビット1用遅延素子部404と、データ信号ビット0用遅延素子部405と、データ信号ビット1用遅延素子部406と、ストローブ信号用遅延素子部407とを含んで構成される。
制御ライン信号ビット0用遅延素子部401は、制御信号の0ビット目の信号を遅延させるための機能を有する。
制御ライン信号ビット1用遅延素子部402は、制御信号の1ビット目の信号を遅延させるための機能を有する。
アドレス信号ビット0用遅延素子部403は、アドレス信号の0ビット目の信号を遅延させるための機能を有する。
アドレス信号ビット1用遅延素子部404は、アドレス信号の1ビット目の信号を遅延させるための機能を有する。
データ信号ビット0用遅延素子部405は、データ信号の0ビット目の信号を遅延させるための機能を有する。
データ信号ビット1用遅延素子部406は、データ信号の1ビット目の信号を遅延させるための機能を有する。
ストローブ信号用遅延素子部407は、ストローブ信号を遅延させるための機能を有する。
各遅延素子部は、遅延量保持部140内の対応する遅延量保持部から出力された遅延量(331〜337)の分だけ、入力された信号を遅延させて出力する。
本実施の形態にあっては、基本的に遅延調整は、データ信号とストローブ信号との間で行うものであり、この場合重要になる構成は、ストローブ信号用遅延素子部407であるが、制御ライン信号ビット0用遅延素子部401と、制御ライン信号ビット1用遅延素子部402と、アドレス信号ビット0用遅延素子部403と、アドレス信号ビット1用遅延素子部404とを備えることにより、例えばアドレス信号0ビットと、アドレス信号1ビットとの間でずれが発生した場合などにそのずれを修正したりすることができる。アドレス信号間でのずれがあった場合には、正しいアドレスが伝達されないことになるため、そのような事態に対処できる。
図5は、ストローブ信号用遅延素子部407の詳細な回路構成を示すブロック図である。
ストローブ信号用遅延素子部407は、半導体集積回路側からメモリ回路190にデータを書き込む場合と、データをメモリ回路190から読み取る場合とでストローブ信号を遅延させる構成を備える。
図4に示すようにストローブ信号用遅延素子部407は、送信用の遅延素子群(501a〜501n)と、受信用の遅延素子群(502a〜502n)と、セレクタ503と、セレクタ504とを含んで構成される。なお、ここでの遅延素子は、遅延量をずらすために必要な数だけの遅延素子があればよく、例えば、データ信号がデータラインにのっている時間を遅延素子の遅延素子量で割った数以上の遅延素子があればよく、ここでのnは必要とされる任意の数となる。
各遅延素子(501a〜501n、502a〜502n)は、それぞれ、入力された信号を10psだけ遅延させる機能を有し、例えばラッチ回路などにより構成される。
セレクタ503は、遅延量保持部140の遅延素子指定部から指定された遅延素子の出力信号を選択して出力する機能を有する。セレクタ503は、半導体集積回路10側から、メモリ回路190側へのストローブ信号を出力するものであ。
セレクタ504は、遅延量保持部140の遅延素子指定部から指定された遅延素子の出力信号を選択して出力する機能を有する。セレクタ504は、メモリ回路190側から、半導体集積回路10側へのストローブ信号を出力するものである。
なお、その他の遅延素子の回路構成は略同一であるので説明を割愛する。但し、ストローブ信号は、双方向に転送されるので、両方向の構成を備える必要があるが、制御ライン信号と、アドレス信号とについては、半導体集積回路10からメモリ回路190の方向にのみ送信されるので、半導体集積回路10側からメモリ回路190側への方向のみの遅延素子及びセレクタを備えればよい。
<動作>
図7は、遅延調整部100の遅延調整の動作を示すフローチャートである。
半導体装置10は、電源投入、あるいは、システムリセットにより初期化が発生する(ステップS701)。
すると、遅延調整部100は、システム起動時の遅延調整を実行する(ステップS702)。これは予め定められた初期値を設定することとしてもよいし、後述するテストアクセス処理を実行しての遅延調整であってもよい。
テストアクセス部150のメモリ幅監視部212は、常時使用されているメモリバンド幅を検出し、判定部213に通知する。そして、判定部213は、そのメモリバンド幅がテスト条件設定部211に予め定められている閾値未満であるかどうかを定期的(例えば1分毎)に判定する(ステップS703)。
使用されているメモリバンド幅が所定閾値以上である場合には(ステップS703のNO)、何もせずにステップS703に戻る。
使用されているメモリバンド幅が所定閾値未満であった場合であって(ステップS703のYES)、アクセス先変換部110は、退避フラグ保持部205が保持する情報がデータ退避部120を用いることを示すときには、テストアクセス用に用いられるメモリの領域に保持されているデータをデータ退避部120に退避させる(ステップS704)。このとき、テスト状態保持部202は、テスト状態であることを示す情報を保持する。
必要に応じてデータを退避させた後、テスト状態保持部202がテスト状態であることを示す情報を保持したことを契機に、遅延調整部100のテストアクセス部150は、遅延調整のためのテストアクセス処理を実行する(ステップS705)。テストアクセス処理の詳細については、図8を用いて後述する。
テストアクセス部150の遅延量算出部220は、テストアクセス処理を行って得られた結果を用いて、算出された遅延量を現在の遅延量として遅延量保持部140に設定する(ステップS706)。
テストアクセス処理の終了後に、アクセス先変換部110は、変換テーブル111を用いて、データ退避部120にテストアクセス処理のために退避させていたデータを元々格納されていたアドレスに格納しなおし(ステップS707)、ステップS703に戻る。
ステップS703〜S707の処理を繰り返すことによって、使用されているメモリバンド幅が低いときに遅延調整が行われることになり、システム動作中であっても遅延調整を行えるので、システムが動作することに基づく温度変化や経年劣化などにより、発生し得るデータ信号とストローブ信号とのずれを修正することができる。
図8は、図7に示したフローチャートのステップS705におけるテストアクセス処理におけるテストアクセス部150の詳細動作を示すフローチャートである。
テストアクセス発行部201は、OK/NG判定部230から判定元データを取得する(ステップS801)。
遅延量算出部210は、現行の遅延量から、どれだけ遅延量をずらすかを決定し、テストアクセスの際に用いる遅延量を遅延量保持部140に設定する(ステップS802)。具体的には、遅延素子指定部221がストローブ信号を示す情報を出力し、テスト状態保持部202がテスト状態であることを示す情報を出力し、遅延量算出部220がそのときの遅延量を出力することで、遅延量保持部140のテスト用ストローブ信号用遅延量保持部に、遅延量算出部220から出力された遅延量が設定され、その遅延量がセレクタ327により選択されて、信号337として、遅延素子部130に出力される。遅延素子部130のストローブ信号用遅延素子407は、これにより、当該遅延量だけ入力された信号を遅延させたストローブ信号を出力する。
テストアクセス発行部201は、取得した判定元データをメモリ回路190に書き込むためのアクセス要求を調停部170に発行する。調停部170は、テストアクセスを示すアクセス要求を受け付けると、優先してメモリデータ送受信部180に当該アクセス要求を伝達する。そして、メモリ回路190に判定元データを書き込むためのアクセスが実行される。
メモリ回路190からの書き込み完了を示す信号を受け付けると、テストアクセス発行部201は、次に、メモリ回路190に書き込まれたはずの判定元データを読み出すためのアクセス要求を発行する。そして、当該アクセス要求に応じてメモリ回路190から出力された読取判定元データはテストアクセス発行部201を介して、テストリーダ保持部232に書き込まれる(ステップS803)。
すると、データ比較部233は、判定元データ保持部231から出力されている判定元データと、テストリードデータ保持部232から出力されている読取判定元データとが一致するかどうかに基づいてテストアクセスの成否を判定する。そして、データ比較部233は、当該テストアクセスの成否を判定結果テーブル234に登録する(ステップS804)。
遅延量算出部220は、テストアクセスの現在の遅延量で予め定めた回数(ここでは5回)のテストアクセスを実行したかどうかを判定する(ステップS805)。当該判定は自身がテストアクセスを実行した回数をカウンティングして、その回数を保持しておき、その値が予め定めた回数になっているかどうかにより実行される。
実行していない場合には(ステップS805のNO)、ステップS803に戻る。実行していた場合には(ステップS805のYES)、テスト完了判定部225は、タップ回数保持部223で保持されているタップ回数だけ、遅延量を変化させたかどうかに基づいて、予め定められている全遅延量でのテストアクセスを実行しているかどうかを判定する(ステップS806)。
実行していない場合には(ステップS806のNO)、ステップS802に戻る。実行していた場合には(ステップS806のYES)、テスト完了判定部225は、その旨を最適値設定部226に通知する。当該通知を受けて最適値設定部226は、OK/NG判定部230から判定結果テーブル234を取得する。
最適値設定部226は、取得した判定結果テーブル234のうち、各遅延量について、そのテストアクセスの成否が全て成功となっている遅延量を検索する。そして、テストアクセスの成否が全て成功となっている遅延量について、その遅延量の平均値を最適な遅延量として算出する。そして、算出した遅延量を遅延量保持部140の現行ストローブ信号用遅延量保持部に設定して(ステップS807)、テストアクセス処理を終了する。
以上の動作により、遅延調整部100は、初期化タイミングやリセットタイミング以外のタイミング、即ち、システム動作中であっても遅延調整を行って、データ信号とストローブ信号のずれを修正することができる。
<実施の形態2>
上記実施の形態1においては、使用しているメモリバンド幅が、所定閾値を下回っている場合に、遅延調整を実行する手法を説明した。しかし、半導体集積回路10とメモリ回路190との間で、所定の閾値以上でデータ転送を継続していると、上記実施の形態1に示した半導体装置1では、遅延調整を実行できない場合が発生する。
そこで、本実施の形態2においては、そのような事態にも対処できる遅延調整部を備えた半導体装置2を開示する。
<構成>
図9が実施の形態2に係る半導体装置2の機能構成を示す機能ブロック図であり、図10が実施の形態2に係るテストアクセス部950の機能構成を示す機能ブロック図である。実施の形態2に係る半導体装置20は、実施の形態1と異なり、遅延調整部900を備える。遅延調整部900と実施の形態1に示した遅延調整部100との相違点は、テストアクセス部950を備えることにあり、テストアクセス部950とテストアクセス部150との相違点は、テスト開始判定部210の変わりにテスト開始判定部1210を備えていることにある。
テストアクセス部950の違いは、実施の形態1においては、使用しているメモリバンド幅が所定の閾値未満になっているタイミングで遅延調整を実行していたのに対し、半導体装置2の起動時から所定の時間が経過するごとに遅延調整を実行する点にある。
図10に示すようにテスト開始判定部1210は、テスト条件設定部1211と、経過時間測定部1212と、テスト開始判定部1213を含んで構成される。
テスト条件設定部1211は、テストアクセスを実行するための条件を保持し、当該条件を判定部1213に通知する機能を有する。当該条件は、前回、遅延調整を行ってから、所定時間が経過することである。
経過時間測定部1212は、経過した時間を計測するタイマであり、カウントしている時刻を判定部213に通知する機能を有する。経過時間測定部1212は、テストアクセスを実行するごとにタイマをリセットする。
テスト開始判定部1213は、テスト条件設定部1211から通知された時間が経過したかどうかを、経過時間測定部1212から通知される時刻に基づいて判定する機能を有する。テスト開始判定部1213は、テスト条件設定部1211から通知された時間が経過していた場合、テスト状態保持部202が保持する動作状態を通常状態からテスト状態に変更する。
<動作>
ここで、実施の形態2に係る半導体装置2の動作を説明する。ここでは、実施の形態1に示した動作と共通する点においては、説明を割愛するものとし、相違点についてのみ説明する。
図11が実施の形態2に係る半導体装置2の動作を示すフローチャートである。図11に示すフローチャートにおいて、図7に示したフローチャートと同じステップ番号をふった動作については同様の動作をするものとしてその説明を割愛するものとする。
実施の形態2における動作が異なる点は、図11に示すフローチャートのステップS1103の動作である。即ち、テストアクセス開始、つまり遅延調整開始のための条件判定が異なる。
テスト開始判定部1010のテスト開始判定部1013は、テスト条件設定部1011に設定されている時間が経過したかどうかを、経過時間測定部1012から通知された時間に基づいて判定する(ステップS1103)。そして、所定時間が経過していた場合に(ステップS1103のYES)、遅延調整の処理、即ちテストアクセス処理を開始する(ステップS704以降の処理)。
これにより、半導体装置2の起動から、所定時間が経過するごとに遅延調整部900は、強制的に遅延調整を実行することができるので、半導体集積回路20とメモリ回路190との間で延々データ転送が実行されていてテストアクセスを実行できない状態であったとしてもデータ信号とストローブ信号とのずれを調整することができる。また、テストアクセスのために用いるメモリ領域に格納されているデータは一旦データ退避部120に退避されることになるので、元々そこにあったデータは、テストアクセス後に復元でき、システム動作になんら支障をきたさない構成とすることができる。
<補足>
上記実施の形態において、本発明の実施の手法について説明してきたが、本発明の実施形態がこれに限られないことは勿論である。以下、上記実施形態以外に本発明として含まれる各種の変形例について説明する。
(1)上記実施の形態1と上記実施の形態2において、使用しているメモリバンド幅が所定の閾値以下の場合と、予め定められた時間ごとという場合とで遅延調整を実行する例を示したが、両実施形態を組み合わせて、遅延調整部は、両方の場合で遅延調整を実行する構成としてもよい。即ち、メモリバンド幅を監視し、所定の閾値以下になったタイミングで遅延調整を実行するとともに、所定の時間が経過するごとにも遅延調整を強制的に実行する構成としてもよい。当該構成にすることにより、一方のみを実行する場合に比して、よりデータ信号とストローブ信号のずれが発生してデータ通信に失敗する確率を低減できる。
(2)上記実施の形態1においては、使用されているメモリバンド幅が所定の閾値未満であった場合には、必ずテストアクセスを実行する構成となっていたが、これは、毎回必ず実行しない構成としてもよい。例えば、前回遅延調整を行ってから、所定時間が経過していない間はテストアクセスを実行しない構成としてもよい。これにより、半導体集積回路10の処理負担を軽減することができる。
(3)上記実施の形態においては、第1転送マスタ部160はデータ信号とストローブ信号とを同時に出力し、ストローブ信号用遅延素子部でストローブ信号を遅延させてメモリ回路190に出力することで、メモリ回路190にデータを読み取らせる構成を示した。
しかし、第1転送マスタ部160がデータの出力側となる場合には、ストローブ信号用遅延素子部に出力用の遅延素子を配さずに、第1転送マスタ部でデータ信号を出力するタイミングから定められた時間だけ遅延させてストローブ信号を出力する構成としてもよい。
(4)上記実施の形態においては、遅延量を決定する際に、現行の遅延量の前後30psまで、10ps単位で計7個の遅延量分のテストアクセスを実行してデータ転送の成否を判定したが、これは、遅延量を決定するに足るデータが取得できるのであれば、例えば前後20psまで、10ps単位で計5個の遅延量分だけの成否を判定するだけでもよい。測定した遅延量の個数が少なければ、遅延量を決定するための時間を短縮でき、個数が多ければ決定した遅延量の信頼度を増すことができる。
また、各遅延量についても5回テストアクセスを実行して、データ転送の成否を判定したが、この回数も5回に限るものではなく、例えば、1回、あるいは、4回、あるいは7回などであってもよい。回数が少なければ、遅延量を決定するための時間を短縮でき、回数が多ければ決定した遅延量の信頼度を増すことができる。
また、上記実施の形態においては、遅延量を10ps単位でずらしてデータ転送の成否を判定したが、遅延素子の遅延量に応じて、5psあるいは20ps単位であってもよい。
また、上記実施の形態においては、遅延量それぞれについて5回全てデータ転送が成功したものを選択して、その平均をとることとしたが、テストアクセスを実行した各遅延量について、5回のうち何回成功したかの割合をかけて得られる各遅延量の平均値をとる構成にしてもよい。
(5)上記実施の形態において、システムの動作状態、とりわけ、動作温度によって、データ信号とストローブ信号とのずれが発生し得ることを記載した。そこで、その温度に応じて、遅延量を決定する構成をここに開示する。当該構成を実現するために、予めシステムをその動作温度に応じての最適な遅延量を予め実機のシミュレーションにより測定しておく。当該シミュレーションにより得られた遅延量の最適値は、温度別遅延情報として遅延調整部が記憶しておく。
その遅延調整部を含む半導体装置の構成を図12に示す。図12に示した遅延調整部1200は、実施の形態1に示したものに加え、更に、温度センサ1201を備える。
温度センサ1201は、周囲の温度を測定する機能を有し、測定した温度を定期的(例えば、30秒毎)にテストアクセス部150に通知する機能を有する。
図13に示すように、テストアクセス部150の遅延量算出部1220は、実施の形態1の遅延量算出部220に示したものに加え、更に、温度別遅延情報1301を保持している。
図14に温度別遅延情報1301の構成例を示す。図14は、温度別遅延情報1301の一構成例を示すデータ概念図である。
図14に示すように温度別遅延情報は、温度センサ1201が測定した温度1401と、そのときの、システムが使用する全メモリバンド幅1402に応じた遅延量を示す情報である。なお、図14に示した遅延量で示される値は、一例であって、システムに応じて異なることは言うまでもなく、搭載されるシステムに応じた最適な値が規定されることとなる。当該値は、半導体装置3の出荷前の動作シミュレーション等により取得する。
当該温度別遅延情報では、温度は、40度未満と、40度以上の場合とで、分けられており、バンド幅は、1200Mbps、2400Mbpsの場合とで分けられている。なお、ここに示したのは、一事例であって、温度及びバンド幅はより細かく細分化されていてもよいし、メモリバンド幅は、固定の値ではなく、所定の幅、例えば、1000Mbps〜2000Mbpsなどという形で規定されていてもよい。
テストアクセス部1250は、テストアクセスを実行するタイミングにおいて、温度センサ1201が通知してきた温度に基づいて、基本遅延量を決定する。
そして、上記実施の形態1に示したように、タップ回数で示される分だけ、この基本遅延量を10ps単位で前後させて、それぞれ5回ずつデータ転送の成否を計測する。そして、データ転送が5回とも成功した遅延量の平均値を新たな、遅延量として設定する。
この構成を備えることにより、システムの温度状況に合わせた適切な遅延量設定を行うことができる。
なお、当該構成は実施の形態2に示した遅延調整部900が保持するものであってもよい。また、温度別遅延情報1301に示される遅延量は、システムの起動時、リセット時に設定される遅延量として用いられてもよい。
また、温度センサ1201を備える場合に、当該温度センサ1201が示す温度が所定の温度を超えた場合(例えば40℃を超えた場合)をテストアクセス実行の契機とする構成にしてもよい。半導体集積回路10の動作温度に応じて、データ信号とストローブ信号とのずれが発生することがあるので、その事態に対応することができる。温度センサ1201の温度を遅延調整の条件とする場合には、温度別遅延情報の有用性は更に高まる。
(6)上記実施の形態において、遅延素子部では、遅延量保持部140から指示される遅延量に応じて、セレクタ503、504が1つの遅延素子からの出力信号を選択して出力する構成とした。これは、以下のような構成にしてもよい。
即ち、図5に示すように遅延素子を直列に接続するのではなく、遅延量がそれぞれ異なる遅延素子(ストローブ信号を10ps遅延させる遅延素子、20ps遅延させる遅延素子、・・・100ps遅延させる遅延素子・・・)を並列に配する。そして、判定元データをそれぞれの遅延素子から出力されたストローブ信号で示されるタイミングでメモリ回路190のそれぞれ異なる領域に書き込み、それぞれ異なる領域に書き込んだデータを読み取って、読み取った各読取判定元データと判定元データとを比較してデータ転送の成否を判定する構成としてもよい。これにより、テストアクセス時に遅延量を変化させながらのテストアクセスを実行せずにすみ、例えば、上記実施の形態1では遅延量7つ分のテストアクセスをそれぞれ5回、計35回のテストアクセスを実行したのに対し、遅延素子を並列に配すると、5回のテストアクセスのみですみ、テストアクセスに要する時間を短縮することができる。
(7)上記実施の形態において示した遅延量は、秒単位で説明したが、これは、信号をどれだけ遅延させるかを規定できるものであればよく、秒以外の単位、即ち、位相(度)で遅延量を規定することとしてもよい。この場合、上記実施の形態に示す遅延調整部は、位相調整部と銘打つのが妥当であり、上記実施の形態における遅延量は、位相変化量として、ストローブ信号の位相を何度遅らせるのかを規定するものとなる。
(8)上記実施の形態においては、一度テストアクセスが開始されると最後までテストアクセスを実行して、遅延量を更新する構成としたが、メモリバンド幅がテストアクセス中に所定の閾値以上になった場合に、テストアクセスを中断する構成としてもよい。
このとき、テストアクセスのデータ(どの遅延量でテストアクセスを実行したか、テストアクセスによるデータ転送の成否の情報)をメモリ等に残しておき、中断後再びメモリバンド幅が所定の閾値未満になった場合に、中断したところからテストアクセスを継続する構成としてもよい。また、テストアクセスを中断後、メモリバンド幅が所定閾値未満になった場合に、再度最初からテストアクセスを実行してもよい。
(9)上記実施の形態1においてメモリバンド幅監視部212は、1分ごとのメモリバンド幅を監視する構成となっているが、これは、1分ごとに限定されるものではなく、システムの動作環境に応じて、変更してもよく、例えば、20秒ごとであってもよいし、2分ごとであってもよい。
(10)図1、2、3、4、9、10、12、13に示した半導体装置1、2、3の各機能部は集積化されて1又は複数のLSI(Large Scale Integration)により実現されてもよい。また、複数の機能部が1のLSIにより実現されてもよい。
LSIは集積度の違いにより、IC(Integrated Circuit)、システムLSI、VLSI(Very Large Scale Integration)、SLSI(Super Large Scale Integration)、ULSI(Ultra Large Scale Integration)などと呼称されることもある。
また、集積回路化の手法はLSIに限られるものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらに、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてあり得る。
(11)上述の実施形態で示した遅延調整に係る動作、遅延量の設定処理等(図7、8等参照)を民生機器等のプロセッサ、及びそのプロセッサに接続された各種回路に実行させるためのプログラムコードからなる制御プログラムを、記録媒体に記録すること、又は各種通信路(例えば、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク)等を介して流通させ頒布させることもできる。このような記録媒体には、ICカード、ハードディスク、光ディスク、フレキシブルディスク、ROM等がある。流通、頒布された制御プログラムはプロセッサに読み出され得るメモリ等に格納されることにより利用に供され、そのプロセッサがその制御プログラムを実行することにより、実施形態で示したような各種機能が実現されるようになる。
(12)以下に本発明に係る遅延調整装置の実施態様とその効果について説明する。
本発明に係る遅延調整装置は、外部メモリと、データ信号がのるデータラインと、データラインにのっているデータ信号を読み取るタイミングを規定するストローブ信号がのるストローブラインとで接続される機器に搭載され、ストローブ信号の遅延調整を行う遅延調整装置であって、前記外部メモリと前記機器との間の通信におけるデータ転送量を示すメモリバンド幅を監視し、逐次当該メモリバンド幅を示すメモリバンド情報を出力するメモリバンド幅監視部と、前記メモリバンド情報で示されるメモリバンド幅に応じて、前記データ信号と、前記ストローブ信号との遅延調整を行う遅延調整手段とを備える。
また、本発明は、外部メモリと、データ信号がのるデータラインと、データラインにのっているデータ信号を読み取るタイミングを規定するストローブ信号がのるストローブラインとで接続される機器間において、遅延調整装置がストローブ信号の遅延調整を行う遅延調整方法であって、前記外部メモリと前記機器との間の通信におけるデータ転送量を示すメモリバンド幅を監視し、逐次当該メモリバンド幅を示すメモリバンド情報を出力するメモリバンド幅監視ステップと、前記メモリバンド情報で示されるメモリバンド幅に応じて、前記データ信号と、前記ストローブ信号との遅延調整を行う遅延調整ステップとを含む。
これにより、遅延調整装置は、データ転送を実行する機器と、当該装置に接続されている外部メモリ間で使用されているメモリバンド幅に応じて、遅延調整を実行することができる。これによって、遅延調整装置は、例えば、機器と外部メモリの間でのデータ転送を実行している場合には、使用しているメモリバンド幅が大きくなるので、実際にデータ転送を行って、その成否によって遅延量を決定する遅延調整を実行するのには適さないが、データ転送を実行していない、あるいは、その転送量が少ない場合には、遅延調整を実行することができる。
また、前記遅延調整手段は、前記メモリバンド幅が所定の閾値を下回った場合に、前記遅延調整を実行することとしてもよい。
これにより、メモリバンド幅が所定の閾値未満になったタイミングを契機として遅延調整を開始することができる。
また、前記遅延調整装置は、更に、遅延調整を行うための条件を定めた遅延調整条件情報を記憶する記憶手段を備え、前記遅延調整手段は、前記記憶手段に記憶されている遅延調整条件情報で定められる条件が成立した場合にも前記遅延調整を実行することとしてもよい。
また、前記所定の条件とは、自装置が起動してから、所定時間が経過するごとであることとしてもよい。
また、本発明は、外部メモリと、データ信号がのるデータラインと、データラインにのっているデータ信号を読み取るタイミングを規定するストローブ信号がのるストローブラインとで接続される機器間において、遅延調整装置がストローブ信号の遅延調整を行う遅延調整方法であって、前回行った遅延調整から所定時間が経過したか否かを判定する判定ステップと、前記判定ステップが肯定的な判定をした場合に、前記データ信号と、前記ストローブ信号との遅延調整を行う遅延調整ステップとを含む。
これにより、メモリバンド幅が所定の閾値未満とならずとも、定期的に遅延調整を実行する構成とすることができ、データ信号とストローブ信号とのずれを発生しにくくすることができる。
また、前記遅延調整手段は、前記外部メモリから出力されるストローブ信号を所定量だけ遅延させて、自装置から前記外部メモリにデータ転送の成否の判定に用いる判定元データを書き込み、当該書き込んだデータを読み取り、読みとったデータと判定元データとを比較してデータ転送の成否を判定して、データ転送に適したストローブ信号の遅延量を決定することで前記遅延調整を実行することとしてもよい。
これにより、実際にデータ転送を行って、その成否を判定した実データに基づいて、遅延量を決定することにより、データ転送が確実に行える遅延量を決定することができる。
また、前記遅延調整装置は、更に、前記遅延調整手段が前記遅延調整を実行する前に、前記内部メモリの前記仮データを書き込む領域に記憶されているデータを退避させるためのメモリデータ退避手段を備えることとしてもよい。
これにより、遅延調整を行うにあたって、実際にデータ転送を実行して、データの書き込みを行う場合に、元々あったデータを退避させることにより、遅延調整を行ったあとでデータを復元することができる。
本発明に係る遅延調整装置は、データラインに乗るデータ信号をストローブ信号で示されるタイミングで読み取ることが規定されているデータ通信を実行する装置において有用である。
1 半導体装置
10 半導体集積回路
100 遅延調整部
110 アクセス先変換部
111 変換テーブル
120 データ退避部
130 遅延素子部
140 遅延量保持部
150 テストアクセス部
160 第1転送マスタ部
170 調停部
180 メモリデータ送受信部
190 メモリ回路
201 テスト領域指定部
202 テスト状態保持部
203 テスト領域設定部
204 テストフラグ保持部
205 退避フラグ保持部
210 テスト開始判定部
211 テスト条件設定部
212 メモリ幅監視部
213 テスト開始判定部
220 遅延量算出部
221 遅延素子指定部
222 遅延タップ量保持部
223 タップ回数保持部
224 テスト遅延量算出部
225 テスト完了判定部
226 最適値設定部
230 OK/NG判定部
231 判定元データ保持部
232 テストリードデータ保持部
233 データ比較部
234 判定結果テーブル
301 現行制御ライン信号ビット0用遅延量保持部301と、
302 現行制御ライン信号ビット1用遅延量保持部302と、
303 現行アドレスビット0用遅延量保持部303と、
304 現行アドレスビット1用遅延量保持部
305 現行データ信号ビット0用遅延量保持部
306 現行データ信号ビット1用遅延量保持部
307 現行ストローブ信号用遅延量保持部
311 テスト用制御ライン信号ビット0用遅延量保持部
312 テスト用制御ライン信号ビット1用遅延量保持部
313 テスト用アドレスビット0用遅延量保持部
314 テスト用アドレスビット1用遅延量保持部
315 テスト用データ信号ビット0用遅延量保持部
316 テスト用データ信号ビット1用遅延量保持部
317 テスト用ストローブ信号用遅延量保持部
321〜327 セレクタ
401 制御ライン信号ビット0用遅延素子部
402 制御ライン信号ビット1用遅延素子部
403 アドレス信号ビット0用遅延素子部
404 アドレス信号ビット1用遅延素子部
405 データ信号ビット0用遅延素子部
406 データ信号ビット1用遅延素子部
407 ストローブ信号遅延素子部
501a〜501n、502a〜502n 遅延素子
503、504 セレクタ

Claims (9)

  1. 外部メモリと、データ信号がのるデータラインと、データラインにのっているデータ信号を読み取るタイミングを規定するストローブ信号がのるストローブラインとで接続される機器に搭載され、ストローブ信号の遅延調整を行う遅延調整装置であって、
    前記外部メモリと前記機器との間の通信におけるデータ転送量を示すメモリバンド幅を監視し、逐次当該メモリバンド幅を示すメモリバンド情報を出力するメモリバンド幅監視部と、
    前記メモリバンド情報で示されるメモリバンド幅に応じて、前記データ信号と、前記ストローブ信号との遅延調整を行う遅延調整手段とを備える
    ことを特徴とする遅延調整装置。
  2. 前記遅延調整手段は、前記メモリバンド幅が所定の閾値を下回った場合に、前記遅延調整を実行する
    ことを特徴とする請求項1記載の遅延調整装置。
  3. 前記遅延調整装置は、更に、
    遅延調整を行うための条件を定めた遅延調整条件情報を記憶する記憶手段を備え、
    前記遅延調整手段は、前記記憶手段に記憶されている遅延調整条件情報で定められる条件が成立した場合にも前記遅延調整を実行する
    ことを特徴とする請求項1記載の遅延調整装置。
  4. 前記所定の条件とは、自装置が起動してから、所定時間が経過するごとである
    ことを特徴とする請求項3記載の遅延調整装置。
  5. 前記遅延調整手段は、前記外部メモリから出力されるストローブ信号を所定量だけ遅延させて、自装置から前記外部メモリにデータ転送の成否の判定に用いる判定元データを書き込み、当該書き込んだデータを読み取り、読みとったデータと判定元データとを比較してデータ転送の成否を判定して、データ転送に適したストローブ信号の遅延量を決定することで前記遅延調整を実行する
    ことを特徴とする請求項2記載の遅延調整装置。
  6. 前記遅延調整手段は、前記外部メモリから出力されるストローブ信号を所定量だけ遅延させて、自装置から前記外部メモリにデータ転送の成否の判定に用いる判定元データを書き込み、当該書き込んだデータを読み取り、読みとったデータと判定元データとを比較してデータ転送の成否を判定して、データ転送に適したストローブ信号の遅延量を決定することで前記遅延調整を実行する
    ことを特徴とする請求項4記載の遅延調整装置。
  7. 前記遅延調整装置は、更に、
    前記遅延調整手段が前記遅延調整を実行する前に、前記内部メモリの前記仮データを書き込む領域に記憶されているデータを退避させるためのメモリデータ退避手段を備える
    ことを特徴とする請求項4記載の遅延調整装置。
  8. 外部メモリと、データ信号がのるデータラインと、データラインにのっているデータ信号を読み取るタイミングを規定するストローブ信号がのるストローブラインとで接続される機器間において、遅延調整装置がストローブ信号の遅延調整を行う遅延調整方法であって、
    前記外部メモリと前記機器との間の通信におけるデータ転送量を示すメモリバンド幅を監視し、逐次当該メモリバンド幅を示すメモリバンド情報を出力するメモリバンド幅監視ステップと、
    前記メモリバンド情報で示されるメモリバンド幅に応じて、前記データ信号と、前記ストローブ信号との遅延調整を行う遅延調整ステップとを含む
    ことを特徴とする遅延調整方法。
  9. 外部メモリと、データ信号がのるデータラインと、データラインにのっているデータ信号を読み取るタイミングを規定するストローブ信号がのるストローブラインとで接続される機器間において、遅延調整装置がストローブ信号の遅延調整を行う遅延調整方法であって、
    前回行った遅延調整から所定時間が経過したか否かを判定する判定ステップと、
    前記判定ステップが肯定的な判定をした場合に、前記データ信号と、前記ストローブ信号との遅延調整を行う遅延調整ステップとを含む
    ことを特徴とする遅延調整方法。
JP2011515902A 2009-05-27 2010-05-27 遅延調整装置、遅延調整方法 Pending JPWO2010137330A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009127341 2009-05-27
JP2009127341 2009-05-27
PCT/JP2010/003568 WO2010137330A1 (ja) 2009-05-27 2010-05-27 遅延調整装置、遅延調整方法

Publications (1)

Publication Number Publication Date
JPWO2010137330A1 true JPWO2010137330A1 (ja) 2012-11-12

Family

ID=43222456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011515902A Pending JPWO2010137330A1 (ja) 2009-05-27 2010-05-27 遅延調整装置、遅延調整方法

Country Status (5)

Country Link
US (1) US8363492B2 (ja)
EP (1) EP2437175A1 (ja)
JP (1) JPWO2010137330A1 (ja)
CN (1) CN102124451A (ja)
WO (1) WO2010137330A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012168665A (ja) * 2011-02-13 2012-09-06 Ricoh Co Ltd メモリ制御装置、画像処理装置、メモリ制御方法、メモリ制御プログラム及び記録媒体
US8675475B2 (en) * 2011-08-22 2014-03-18 International Business Machines Corporation Techniques for recovery of wireless services following power failures
US8897084B2 (en) * 2011-09-08 2014-11-25 Apple Inc. Dynamic data strobe detection
JP2013065372A (ja) * 2011-09-16 2013-04-11 Elpida Memory Inc 半導体装置およびそれを利用した情報処理システム
US9911470B2 (en) 2011-12-15 2018-03-06 Nvidia Corporation Fast-bypass memory circuit
JP5704654B2 (ja) * 2012-03-02 2015-04-22 Necネットワークプロダクツ株式会社 半導体装置、半導集積回路の制御方法およびそのプログラム
CN103632712A (zh) * 2012-08-27 2014-03-12 辉达公司 存储单元和存储器
US8972818B2 (en) * 2012-10-05 2015-03-03 Qualcomm Incorporated Algorithm for optimal usage of external memory tuning sequence
US9685207B2 (en) 2012-12-04 2017-06-20 Nvidia Corporation Sequential access memory with master-slave latch pairs and method of operating
US9386062B2 (en) * 2012-12-28 2016-07-05 Qualcomm Incorporated Elastic response time to hypertext transfer protocol (HTTP) requests
US10141930B2 (en) 2013-06-04 2018-11-27 Nvidia Corporation Three state latch
US20150046646A1 (en) * 2013-08-07 2015-02-12 Ihab H. Elzind Virtual Network Disk Architectures and Related Systems
JP6417094B2 (ja) * 2013-12-18 2018-10-31 キヤノン株式会社 記録再生装置、記録再生装置の制御方法及びコンピュータプログラム
US20160248829A1 (en) * 2015-02-23 2016-08-25 Qualcomm Incorporated Availability Start Time Adjustment By Device For DASH Over Broadcast
WO2017035266A1 (en) * 2015-08-24 2017-03-02 Src Labs, Llc System and method for retaining dram data when reprogramming reconfigurable devices with dram memory controllers incorporating a data maintenance block colocated with a memory module or subsystem
JP6171066B1 (ja) * 2016-09-01 2017-07-26 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
US9965222B1 (en) * 2016-10-21 2018-05-08 Advanced Micro Devices, Inc. Software mode register access for platform margining and debug
US9984740B1 (en) * 2017-03-21 2018-05-29 Micron Technology, Inc. Timing control for input receiver
CN108664424B (zh) * 2017-03-30 2020-06-23 炬芯(珠海)科技有限公司 一种确定最优延时的方法及设备
JP6832777B2 (ja) * 2017-03-31 2021-02-24 ルネサスエレクトロニクス株式会社 半導体装置
US10691372B1 (en) * 2018-12-07 2020-06-23 Western Digital Technologies, Inc. Transistor threshold voltage maintenance in 3D memory
CN113450867B (zh) * 2020-03-27 2022-04-12 长鑫存储技术有限公司 形成用于存储器测试的数据库的方法及存储器测试方法
CN112667551B (zh) * 2021-03-17 2021-07-06 武汉精立电子技术有限公司 一种基于相位自适应的qspi传输数据的方法及系统
CN113781463A (zh) * 2021-09-17 2021-12-10 成都理工大学 一种定量评价碳酸盐岩烃源岩眼皮的方法、系统
CN115862707B (zh) * 2022-11-25 2024-03-12 湖南兴芯微电子科技有限公司 一种psram相位校准方法及控制器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001154907A (ja) * 1999-11-29 2001-06-08 Nec Kofu Ltd 遅延調整回路及び情報処理装置
JP2003099321A (ja) * 2001-09-21 2003-04-04 Ricoh Co Ltd メモリ制御装置
US6593930B1 (en) * 1999-12-16 2003-07-15 Intel Corporation Method and apparatus to execute a memory maintenance operation during a screen blanking interval
JP2006134196A (ja) * 2004-11-09 2006-05-25 Hitachi Ltd ディスクアレイ装置
JP2009081523A (ja) * 2007-09-25 2009-04-16 Denso Corp タイミング調整装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6570944B2 (en) 2001-06-25 2003-05-27 Rambus Inc. Apparatus for data recovery in a synchronous chip-to-chip system
JP2923860B2 (ja) 1990-07-06 1999-07-26 石川島播磨重工業株式会社 熱可塑性樹脂frp
TW401539B (en) * 1997-08-04 2000-08-11 Matsushita Electric Ind Co Ltd Delay time adjuster and adjusting method between multiple transmission lines
WO2002001363A1 (fr) * 2000-06-27 2002-01-03 Matsushita Electric Industrial, Co., Ltd. Dispositif et procede de commande de memoire
US6918048B2 (en) * 2001-06-28 2005-07-12 Intel Corporation System and method for delaying a strobe signal based on a slave delay base and a master delay adjustment
US7543172B2 (en) * 2004-12-21 2009-06-02 Rambus Inc. Strobe masking in a signaling system having multiple clock domains
JP4795032B2 (ja) 2006-01-30 2011-10-19 エルピーダメモリ株式会社 タイミング調整回路及び半導体装置
US7698589B2 (en) * 2006-03-21 2010-04-13 Mediatek Inc. Memory controller and device with data strobe calibration
US8122275B2 (en) * 2006-08-24 2012-02-21 Altera Corporation Write-leveling implementation in programmable logic devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001154907A (ja) * 1999-11-29 2001-06-08 Nec Kofu Ltd 遅延調整回路及び情報処理装置
US6593930B1 (en) * 1999-12-16 2003-07-15 Intel Corporation Method and apparatus to execute a memory maintenance operation during a screen blanking interval
JP2003099321A (ja) * 2001-09-21 2003-04-04 Ricoh Co Ltd メモリ制御装置
JP2006134196A (ja) * 2004-11-09 2006-05-25 Hitachi Ltd ディスクアレイ装置
JP2009081523A (ja) * 2007-09-25 2009-04-16 Denso Corp タイミング調整装置

Also Published As

Publication number Publication date
WO2010137330A1 (ja) 2010-12-02
CN102124451A (zh) 2011-07-13
US20110128060A1 (en) 2011-06-02
EP2437175A1 (en) 2012-04-04
US8363492B2 (en) 2013-01-29

Similar Documents

Publication Publication Date Title
JPWO2010137330A1 (ja) 遅延調整装置、遅延調整方法
US10990322B2 (en) Memory buffer chip, memory system and method of controlling the memory buffer chip
US8732532B2 (en) Memory controller and information processing system for failure inspection
US6199139B1 (en) Refresh period control apparatus and method, and computer
US8234463B2 (en) Data processing apparatus, memory controller, and access control method of memory controller
US10162406B1 (en) Systems and methods for frequency mode detection and implementation
CN101013883A (zh) 数据延迟控制电路及方法
KR20120062870A (ko) 에러 검출 기법들에 의거한 메모리 쓰기 타이밍의 조정
US20140355367A1 (en) Multiple data rate memory with read timing information
JP2018005902A (ja) メモリ装置へのアクセスを制御するための装置及びそのような装置内においてメンテナンス作業を行う方法
WO2011077574A1 (ja) 信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法
US7949080B2 (en) Phase adjusting function evaluating method, transmission margin measuring method, information processing apparatus and computer readable information recording medium
JP2011170516A (ja) メモリコントローラ、半導体記憶装置およびこれらを備えるメモリシステム
JP5427564B2 (ja) メモリインターフェース回路、及びメモリデバイスのドライブ能力調整方法
US20050165999A1 (en) Memory device having strobe terminals with multiple functions
JP6988092B2 (ja) 並列処理装置およびバーストエラー再現方法
JP2006268390A (ja) 直列インタフェース回路
US8842485B2 (en) Delay circuit, delay controller, memory controller, and information terminal
JP2007087467A (ja) データ転送動作終了検知回路及びこれを備える半導体記憶装置
JP2014016925A (ja) 情報処理システム、データ切替方法およびプログラム
TW200403685A (en) Semiconductor memory device and control method therefor
US20230350809A1 (en) Memory device including address table and operating method for memory controller
JP5907558B2 (ja) マルチインターバルタイマ並びにその制御装置、制御方法及び制御プログラム
JP2007241785A (ja) データ処理装置
GB2456656A (en) Controlling timeouts of an error recovery procedure in a digital circuit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140217

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140606

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140701