IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 東芝メモリ株式会社の特許一覧

特開2022-96389半導体集積回路、半導体記憶装置、および制御方法
<>
  • 特開-半導体集積回路、半導体記憶装置、および制御方法 図1
  • 特開-半導体集積回路、半導体記憶装置、および制御方法 図2
  • 特開-半導体集積回路、半導体記憶装置、および制御方法 図3
  • 特開-半導体集積回路、半導体記憶装置、および制御方法 図4
  • 特開-半導体集積回路、半導体記憶装置、および制御方法 図5
  • 特開-半導体集積回路、半導体記憶装置、および制御方法 図6
  • 特開-半導体集積回路、半導体記憶装置、および制御方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022096389
(43)【公開日】2022-06-29
(54)【発明の名称】半導体集積回路、半導体記憶装置、および制御方法
(51)【国際特許分類】
   H04L 7/033 20060101AFI20220622BHJP
   G06F 12/00 20060101ALI20220622BHJP
   G11C 7/10 20060101ALI20220622BHJP
【FI】
H04L7/033
G06F12/00 564A
G06F12/00 597U
G11C7/10 460
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2020209460
(22)【出願日】2020-12-17
(71)【出願人】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】鈴木 智明
【テーマコード(参考)】
5B160
5K047
【Fターム(参考)】
5B160CC01
5K047AA06
5K047GG11
5K047MM26
(57)【要約】
【課題】データ転送のためのタイミング信号のジッタを抑制すること。
【解決手段】半導体集積回路は、レジスタと、第1インタフェース回路と、第1クロックを生成する発振回路と、位相同期回路と、制御回路と、第2インタフェース回路と、を備える。レジスタは、データのサイズに対応した数値情報が格納される。第1インタフェース回路は、データの転送のための第1タイミング信号を第1装置から受信する。制御回路は、第1タイミング信号を受信した場合、第1タイミング信号を位相同期回路に入力して第1タイミング信号のトグル数をカウントする。制御回路は、第1タイミング信号のトグル数のカウント値が数値情報に対応した値に至った場合、第1クロックを位相同期回路に入力する。第2インタフェース回路は、第1タイミング信号又は第1クロックに基づいて位相同期回路が生成した第2クロックに対応した第2タイミング信号を第2装置に送信する。
【選択図】図2
【特許請求の範囲】
【請求項1】
第1装置と第2装置との間で転送される第1データのサイズに対応した数値情報が格納されるレジスタと、
前記第1データの転送のための第1タイミング信号を前記第1装置から受信する第1インタフェース回路と、
第1クロックを生成する発振回路と、
第2クロックを生成する位相同期回路と、
前記第1タイミング信号のトグルが開始された場合、前記位相同期回路へ前記第1タイミング信号を入力して前記第1タイミング信号のトグル数をカウントし、前記第1タイミング信号のトグル数のカウント値が前記数値情報に対応した値に至った場合、前記位相同期回路へ前記第1クロックを入力する制御回路と、
前記第1タイミング信号又は前記第1クロックに基づいて前記位相同期回路が生成した前記第2クロックに対応した第2タイミング信号を前記第2装置に送信する第2インタフェース回路と、
を備える半導体集積回路。
【請求項2】
前記制御回路は、
前記位相同期回路への前記第1クロックの入力を開始する第1のタイミングに前記第2タイミング信号を遮断し、
前記第1のタイミングの後でかつ前記位相同期回路がロック状態になった後の第2のタイミングに前記第2タイミング信号の遮断を解除する、
請求項1に記載の半導体集積回路。
【請求項3】
前記第1タイミング信号のレベルの変更が実行され、前記レベルの変更の後に前記第1タイミング信号のトグルが開始され、
前記制御回路は、
前記レベルの変更に応じて前記位相同期回路への前記第1タイミング信号の入力を開始し、
前記位相同期回路への前記第1タイミング信号の入力を開始する第3のタイミングに前記第2タイミング信号を遮断し、
前記第3のタイミングの後でかつ前記位相同期回路がロック状態になった後の第4のタイミングに前記第2タイミング信号の遮断を解除する、
請求項1または2に記載の半導体集積回路。
【請求項4】
前記第1インタフェース回路と前記第2インタフェース回路との間にFIFO(First-In First-Out)メモリが配され、
前記第1インタフェース回路は、前記第1タイミング信号に同期して前記第1データを前記FIFOメモリに入力し、
前記第2インタフェース回路は、前記FIFOメモリから前記第2タイミング信号に同期して前記第1データを取得して、取得した前記第1データを前記第2タイミング信号に同期して前記第2装置に送信する、
請求項3に記載の半導体集積回路。
【請求項5】
前記FIFOメモリは、前記第1データのうちに前記第3のタイミングから前記第4のタイミングまでに前記第1インタフェース回路が受信する第2データのサイズ以上の容量を有する、
請求項4に記載の半導体集積回路。
【請求項6】
前記第1インタフェース回路は、第1信号を受信し、
前記第1信号に応じて前記数値情報を前記レジスタに書き込む、
請求項1から請求項5の何れか一項に記載の半導体集積回路。
【請求項7】
前記第1インタフェース回路は、第2信号および前記第1信号を含む第3信号を受信可能であり、
前記第1インタフェース回路が前記第3信号を受信したことに応じて前記第2インタフェース回路が前記第3信号に対応した第4信号を前記第2装置に送信し、
前記第1インタフェース回路が前記第3信号の受信の前に前記第2信号を受信した場合、前記第2インタフェース回路は前記第3信号を前記第2装置に送信しない、
請求項6に記載の半導体集積回路。
【請求項8】
前記第2信号を受信する第1端子と、
前記第3信号を受信する前記第1端子と異なる第2端子と、
をさらに備える
請求項7に記載の半導体集積回路。
【請求項9】
前記第2信号および前記第3信号の何れも受信可能な端子をさらに備える、
請求項7に記載の半導体集積回路。
【請求項10】
ホストに接続可能な半導体集積回路と、
前記半導体集積回路に接続されたメモリチップと、
を備え、
前記半導体集積回路は、
前記ホストから前記メモリチップに転送されるデータのサイズに対応した数値情報が格納されるレジスタと、
前記データの転送のための第1タイミング信号を前記ホストから受信する第1インタフェース回路と、
第1クロックを生成する発振回路と、
第2クロックを生成する位相同期回路と、
前記第1タイミング信号のトグルが開始された場合、前記位相同期回路へ前記第1タイミング信号を入力して前記第1タイミング信号のトグル数をカウントし、前記第1タイミング信号のトグル数のカウント値が前記数値情報に対応した値に至った場合、前記位相同期回路へ前記第1クロックを入力する制御回路と、
前記第1タイミング信号又は前記第1クロックに基づいて前記位相同期回路が生成した前記第2クロックに対応した第2タイミング信号を前記メモリチップに送信する第2インタフェース回路と、
を備える、
半導体記憶装置。
【請求項11】
第1装置と第2装置との間に配される半導体集積回路の制御方法であって、
前記第1装置と前記第2装置との間で転送される第1データのサイズに対応した数値情報をレジスタに格納することと、
前記第1データの転送のための第1タイミング信号を前記第1装置から受信することと、
第1クロックを生成することと、
前記第1タイミング信号のトグルが開始された場合、前記第1タイミング信号の位相に位相が同期した第2クロックを生成して前記第2クロックに対応した第2タイミング信号を前記第2装置に送信することと、
前記第1タイミング信号のトグル数をカウントすることと、
前記第1タイミング信号のトグル数のカウント値が前記数値情報に対応した値に至った場合、前記第1クロックの位相に位相が同期した第3クロックを生成して前記第3クロックに対応した第3タイミング信号を前記第2装置に送信することと、
を含む制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、半導体集積回路、半導体記憶装置、および制御方法に関する。
【背景技術】
【0002】
ホストに接続される外部端子群と複数のメモリチップとの間にブリッジチップと称される半導体集積回路を配した半導体記憶装置がある。この半導体記憶装置では、ホストと複数のメモリチップとの間のデータ転送がブリッジチップを介して行われる。ホストとメモリチップとの間のデータ転送の際には、データストローブ信号などのタイミング信号が使用される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特表2014-518036号公報
【特許文献2】特開2019-121927号公報
【特許文献3】特許第5420641号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一つの実施形態は、データ転送のためのタイミング信号のジッタを抑制できる半導体集積回路、半導体記憶装置、および制御方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
一つの実施形態によれば、ブリッジチップは、レジスタと、第1インタフェース回路と、発振回路と、位相同期回路と、制御回路と、第2インタフェース回路と、を備える。レジスタは、第1装置と第2装置との間で転送される第1データのサイズに対応した数値情報が格納される。第1インタフェース回路は、第1データの転送のための第1タイミング信号を第1装置から受信する。発振回路は、第1クロックを生成する。位相同期回路は、第2クロックを生成する。制御回路は、第1タイミング信号を受信した場合、第1タイミング信号を位相同期回路に入力して第1タイミング信号のトグル数をカウントする。制御回路は、第1タイミング信号のトグル数のカウント値が数値情報に対応した値に至った場合、第1クロックを位相同期回路に入力する。第2インタフェース回路は、第2クロックに対応した第2タイミング信号を第2装置に送信する。
【図面の簡単な説明】
【0006】
図1図1は、実施形態にかかる半導体記憶装置が適用されたストレージシステムの構成の一例を示す模式的な図である。
図2図2は、実施形態にかかるブリッジチップのさらに詳細な構成を示す模式的な図である。
図3図3は、実施形態にかかる半導体記憶装置の非ブリッジ制御モードでの動作の一例を説明するためのタイミングチャートである。
図4図4は、実施形態にかかる半導体記憶装置のブリッジ制御モードでの動作の一例を説明するためのタイミングチャートである。
図5図5は、実施形態にかかる半導体記憶装置のブリッジ制御モードでの動作の別の一例を説明するためのタイミングチャートである。
図6図6は、実施形態の制御回路の動作の一例を説明するためのフローチャートである。
図7図7は、図6に示された一連の動作の実行時の実施形態の各信号の状態遷移の一例を示すタイミングチャートである。
【発明を実施するための形態】
【0007】
以下に添付図面を参照して、実施形態にかかるブリッジチップ、半導体記憶装置、および方法を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【0008】
(実施形態)
実施形態にかかる半導体記憶装置は、ホストが接続可能な外部端子、ブリッジチップ、およびメモリチップを備える。ブリッジチップは、外部端子に接続されており、外部端子を介してホストに電気的に接続され得る。メモリチップは、ブリッジチップに電気的に接続されている。半導体記憶装置がホストに接続される場合、外部端子は、有線通信路を介してホストに接続される。この半導体記憶装置では、ホストから有線通信路を介した複数のメモリチップへのアクセスがブリッジチップを介して行われる。各メモリチップは、例えば、NAND型フラッシュメモリ等の不揮発性メモリのメモリチップである。
【0009】
半導体記憶装置の記憶容量を増加させるために、搭載されるメモリチップ数は多くなりつつある。例えば、複数のメモリチップを積層することで実装密度を向上させる。このとき、各メモリチップとの接続にかかる電気的な負荷を減らし高速化を図るために、ブリッジチップと複数のメモリチップ間を複数のチャネルで接続する構成が取られることがある。各チャネルには、複数のメモリチップが接続され得る。
【0010】
例えばトグルDDR(Double-Data-Rate)規格のように、2つの装置間のデータ通信の際に、データストローブ信号と称されるタイミング信号が使用される場合がある。データストローブ信号は、所定のビット幅(例えば8ビット)のデータ信号として転送されるデータとともに転送される信号であって、データ信号の送信先の装置にデータ信号を取り込む(acquire)タイミングを指示する信号である。データストローブ信号のトグル回数は、データの転送長(換言すると転送データのサイズ)に対応する。
【0011】
すなわち、ホストとメモリチップとの間のデータ転送の際に、データ信号とともにデータストローブ信号が転送されることがある。この場合、データストローブ信号が伝送経路中の論理回路を通過する毎にデータストローブ信号のジッタが増加する。ブリッジチップが、送信元(ホストおよびメモリチップの一方)から送信されたデータストローブ信号を送信先(ホストおよびメモリチップの他方)にそのまま転送する場合、非常に大きなジッタが乗ったデータストローブ信号が送信先に届くことで、メモリチップがデータを正しく受信できなくなる可能性がある。
【0012】
実施形態では、ブリッジチップに位相同期回路(Phase Locked Loop:PLL)が設けられている。このPLLによってタイミング信号に関するタイミングアーク(換言すると遅延パス)を切る(divide)ことで、データストローブ信号のジッタをブリッジチップにおいて解消(cancel)する。具体的には、PLLは、送信元から受信したデータストローブ信号を参照クロックとして用いることで新たなクロックを生成し、生成した新たなクロックに対応した新たなデータストローブ信号を送信先に転送する。これによって、メモリチップは、PLLが無かった場合に比べてジッタが抑制されたデータストローブ信号を受信することが可能となる。
【0013】
ここで、トグルDDR規格などでは、データストローブ信号は、転送データが転送されている期間にしか転送されない。よって、転送データが転送されていない間は、PLLに入力される参照クロックが無いことによって、PLLが出力するクロックの品質が保証できない。
【0014】
転送データが転送されていない期間でも品質が高いクロックをPLLが出力できるようにするために、ブリッジチップは、オシレータをさらに備える。具体的には、ブリッジチップは、転送データが転送されている間は、データストローブ信号をPLLの参照クロックとして使用し、転送データが転送されていない間は、オシレータが生成するクロックを参照クロックとして使用する。
【0015】
なお、ホストとメモリチップとの間のデータ転送に関しては、ホストがデータの転送元となる場合もあるし、メモリチップがデータの転送元となる場合もある。データストローブ信号は、データの転送元によって当該データとともに転送される。データストローブ信号をジッタの抑制の対象のタイミング信号と考える場合、ホストおよびメモリチップのうちのデータストローブ信号の転送元は、第1装置に対応する。ホストおよびメモリチップのうちのデータストローブ信号の転送先は、第2装置に対応する。
【0016】
ここでは一例として、ホストからメモリチップまで転送されるデータストローブ信号を、ジッタの抑制の対象のタイミング信号であることとして説明する。つまり、第1装置はホストであり、第2装置はメモリチップである。
【0017】
図1は、実施形態にかかる半導体記憶装置1が適用されたストレージシステムSYSの構成の一例を示す模式的な図である。
【0018】
ストレージシステムSYSは、ホストHA及び半導体記憶装置1を含む。半導体記憶装置1は、外部端子群10、ブリッジチップBC、および複数のメモリチップCP1-1~CP1-4,CP2-1~CP2-4を備える。半導体記憶装置1は、メモリチップCP1-1~CP1-4及びメモリチップCP2-1~CP2-4それぞれが積層されたMCP(Multi Chip Package)として実装され得る。半導体記憶装置1がMCPとして実装される場合、半導体記憶装置1では、ブリッジチップBC及び複数のメモリチップCP1-1~CP1-4,CP2-1~CP2-4の周囲が、モールド樹脂で封止されていてもよい。図1では、チャネルCH1を介してブリッジチップBCに4つのメモリチップCP1-1~CP1-4が接続され、チャネルCH2を介してブリッジチップBCに4つのメモリチップCP2-1~CP2-4が接続される構成が例示されている。すなわち、半導体記憶装置1は、複数の(ここでは8)メモリチップCP1-1~CP1-4,CP2-1~CP2-4を含むマルチメモリチップモジュールとして構成され得る。各メモリチップCP1-1~CP1-4,CP2-1~CP2-4は、例えば、NAND型フラッシュメモリ等の不揮発性メモリのメモリチップである。なお、半導体記憶装置1が備えるメモリチップCPの数は8個に限定されない。また、ブリッジチップBCと複数のメモリチップCPとを接続するチャネルの数は2個に限定されない。
【0019】
以降では、メモリチップCP1-1~CP1-4をメモリチップCP1と総称することがある。メモリチップCP2-1~CP2-4をメモリチップCP2と総称することがある。メモリチップCP1-1~CP1-4,CP2-1~CP2-4をメモリチップCPと総称することがある。
【0020】
ホストHAは、コントローラなどのデバイスであってもよいし、コンピュータまたは携帯端末などの電子機器に備えられ半導体記憶装置1を制御するプロセッサであってもよい。半導体記憶装置1は、有線通信路であるチャネルCH0を介してホストHAに接続可能である。半導体記憶装置1とホストHAとは、所定の規格に基づき構成された有線通信路CH0を介して接続される。各メモリチップCP1-1~CP1-4,CP2-1~CP2-4がNAND型フラッシュメモリである場合、所定の規格は、例えば、トグルDDR規格又はONFi規格である。例えば、チャネルCH0はトグルDDRインタフェースとして機能する。
【0021】
ブリッジチップBCは、ホストHAに電気的に接続可能な外部端子群10に電気的に接続されている。ホストHAと外部端子群10とは、チャネルCH0で接続される。また、ブリッジチップBCは、複数の(ここでは2)チャネルCH1,CH2に電気的に接続されている。複数のメモリチップCP1-1~CP1-4,CP2-1~CP2-4は、複数のチャネルCH1,CH2を介してブリッジチップBCに接続されている。メモリチップCP1-1~CP1-4は、所定の規格に基づき構成されたチャネルCH1に接続されている。メモリチップCP2-1~CP2-4は、所定の規格に基づき構成されたチャネルCH2に接続されている。各メモリチップCPがNAND型フラッシュメモリである場合、所定の規格は、例えば、トグルDDR規格又はONFi規格である。以降、各メモリチップCPはNAND型のフラッシュメモリであり、所定の規格はトグルDDR規格であることとする。
【0022】
チャネルCH0は、ブリッジチップイネーブル信号BRG_CEnを転送する信号線、チップイネーブル信号CEnを転送する信号線、コマンドラッチ信号CLEを転送する信号線、アドレスラッチ信号ALEを転送する信号線、ライトイネーブル信号WEnを転送する信号線、リードイネーブル信号RE/REnを転送する信号線、データストローブ信号DQS/DQSnを転送する信号線、所定のビット幅(ここでは一例として8ビットの幅)を有するデータ信号DQ[7:0]を転送する信号線、およびレディービジー信号R/Bnを転送する信号線、を含む。なお、信号を表す符号の末尾に記された「n」は、負論理で動作せしめられる信号であることを表す。各信号が負論理で動作せしめられるか正論理で動作せしめられるかは任意に設計され得る。
【0023】
チップイネーブル信号CEnは、アクセスの対象となるメモリチップCPをイネーブル状態とするための信号である。データストローブ信号DQS/DQSnは、データ信号DQ[7:0]で送信されるデータを取り込むタイミングを表す信号である。つまり、データストローブ信号DQS/DQSnは、データ転送のためのタイミング信号である。データストローブ信号DQS/DQSnは、データストローブ信号DQSとデータストローブ信号DQSnとによって構成される差動信号である。コマンドラッチイネーブル信号CLEは、データ信号DQ[7:0]がコマンドであることを示す信号である。アドレスラッチイネーブル信号ALEは、データ信号DQ[7:0]がアドレスであることを示す信号である。ライトイネーブル信号WEnは、データ信号DQ[7:0]で送信されるコマンドまたはアドレスを取り込むように送信先(相手装置)に指示する信号である。リードイネーブル信号RE/REnは、メモリチップCPがデータ信号DQ[7:0]を出力するタイミングを指示する信号である。リードイネーブル信号RE/REnは、リードイネーブル信号REおよびリードイネーブル信号REnによって構成される差動信号である。レディービジー信号R/Bnは、コマンドの受信を待機している状態であるレディー状態(Ry)であるかコマンドを受信しても実行できない状態であるビジー状態(By)であるかを示す信号である。ここでは一例として、チャネルCH0は、チャネルCH1にかかるレディービジー信号R/Bnであるレディービジー信号R/Bn_1を転送する信号線と、チャネルCH2にかかるレディービジー信号R/Bnであるレディービジー信号R/Bn_2を転送する信号線と、を含んでいる。なお、チャネルCH0においてレディービジー信号R/Bnを転送する信号線の構成は上記された例に限定されない。例えば、チャネルCH0は、チャネルCH1にかかるレディービジー信号R/Bnと、チャネルCH2にかかるレディービジー信号R/Bnと、をOR演算することなどによって生成された一つのレディービジー信号R/Bnを転送するための1つの信号線を備えていてもよい。
【0024】
ブリッジチップイネーブル信号BRG_CEnは、ブリッジチップBCを制御するためのコマンドが送信される際にアクティブ状態とされる信号である。ブリッジチップBCは、ブリッジチップイネーブル信号BRG_CEnがアクティブ状態にある期間において受信した信号(即ちコマンド、アドレス、およびデータ)を、自身に宛てた信号として解釈する。さらに、ブリッジチップBCは、ブリッジチップイネーブル信号BRG_CEnがアクティブ状態にある期間にホストHAから受信した信号を何れのメモリチップCPにも転送しない。ブリッジチップBCは、ブリッジチップイネーブル信号BRG_CEnが非アクティブ状態にある期間にホストHAから受信した信号をアクセス対象のメモリチップCPに転送する。
【0025】
以降、ホストHAから受信した信号のメモリチップCPへの転送を遮断して、ブリッジチップBCは、ホストHAから受信した信号をブリッジチップBCに対する信号として解釈する動作モードを、ブリッジ制御モードと表記する。ホストHAから受信した信号をメモリチップCPへ転送する動作モードを、非ブリッジ制御モードと表記する。つまり、ブリッジチップイネーブル信号BRG_CEnは、ブリッジチップBCの動作モードを非ブリッジ制御モードとブリッジ制御モードとの間で切り替えるための信号であるとも言える。
【0026】
チャネルCH1,CH2のそれぞれは、ブリッジチップイネーブル信号BRG_CEnを転送する信号線およびデータ信号DQ[7:0]を転送する信号線群を除き、チャネルCH.0を構成する信号群と同じ構成の信号群を有する。具体的には、チャネルCH1,CH2のそれぞれは、チップイネーブル信号CEnを転送する信号線、コマンドラッチ信号CLEを転送する信号線、アドレスラッチ信号ALEを転送する信号線、ライトイネーブル信号WEnを転送する信号線、リードイネーブル信号RE/REnを転送する信号線、データ信号DQ[15:0]を転送する信号線群、データストローブ信号DQS/DQSnを転送する信号線、およびレディービジー信号R/Bnを転送する信号線、を備える。
【0027】
つまり、チャネルCH1,CH2のそれぞれは、ブリッジチップイネーブル信号BRG_CEnを転送する信号線を有さない。また、チャネルCH1,CH2のそれぞれが備えるデータ信号DQ[15:0]を転送する信号線群のビット幅は、チャネルCH0が備えるデータ信号DQ[7:0]を転送する信号線群のビット幅の2倍である。よって、チャネルCH1,CH2を介したデータ転送の周波数がチャネルCH0を介したデータ転送の周波数の半分であっても、チャネルCH0でのデータ転送レートと、チャネルCH1,CH2のそれぞれでのデータ転送レートと、を等しくすることが可能である。
【0028】
なお、チャネルCH0と、チャネルCH1,CH2のそれぞれと、の間のデータ転送の周波数の比は、2対1に限定でなくてもよい。例えば、チャネルCH0のデータ転送の周波数は、チャネルCH1,CH2のそれぞれのデータ転送の周波数と同じであってもよい。チャネルCH0のデータ転送の周波数が、チャネルCH1,CH2のそれぞれのデータ転送の周波数と同じである場合、チャネルCH1,CH2のそれぞれにおいて転送されるデータ信号DQのビット幅を、チャネルCH0において転送されるデータ信号DQ[7:0]のビット幅と同じにすればよい。
【0029】
以降では、説明を簡単にするために、データストローブ信号DQS/DQSnに関しては、データストローブ信号DQSnの説明を省略して、特にデータストローブ信号DQSについて説明する。
【0030】
ブリッジチップBCは、第1インタフェース101と、2つの第2インタフェース102(102-1,102-2)と、コントローラ103と、バッファメモリ104と、を備える。
【0031】
第1インタフェース101は、ホストHAに対してチャネルCH0を介した電気信号の送受信を行うPHY回路である。第1インタフェース101は、第1装置であるホストHAからデータストローブ信号DQSを受信する第1インタフェース回路の一例である。
【0032】
2つの第2インタフェース102のうちの第2インタフェース102-1は、4個のメモリチップCP1-1~CP1-4に対してチャネルCH1を介した電気信号の送受信を行うPHY回路である。2つの第2インタフェース102のうちの第2インタフェース102-2は、4個のメモリチップCP2-1~CP2-4に対してチャネルCH2を介した電気信号の送受信を行うPHY回路である。各第2インタフェース102は、第2装置であるメモリチップCPにデータストローブ信号DQSを送信する第2インタフェース回路の一例である。
【0033】
バッファメモリ104は、ホストHAとメモリチップCPとの間の転送データが一時的に格納され得るメモリである。バッファメモリ104は、DRAM(Dynamic Random Access Memory)によって構成されてもよいし、SRAM(Static Random Access Memory)によって構成されてもよい。なお、バッファメモリ104を構成するメモリのタイプはこれらに限定されない。
【0034】
コントローラ103は、第1インタフェース101と、2つの第2インタフェース102と、の間に配されている。コントローラ103は、バッファメモリ104を使って、第1インタフェース101と、2つの第2インタフェース102と、の間の情報の授受を制御する。情報は、コマンド、アドレス、またはデータなどである。
【0035】
コントローラ103は、コマンドデコーダ111、信号転送回路112、マスク回路113、およびレジスタ114を有する。
【0036】
コマンドデコーダ111は、ホストHAからチャネルCH0を介して受けたコマンドを解析する。コマンドデコーダ111は、解析結果に応じて、メモリチップCPに対するコマンドを発行することができる。コマンドデコーダ111がメモリチップCPに対して発行するコマンドは、ホストHAから受けたコマンドと同じであってもよい。コマンドデコーダ111がメモリチップCPに対して発行するコマンドは、ホストHAから受けたコマンドに関連するが厳密には同じでなくてもよい。つまり、コマンドデコーダ111は、ホストHAからチャネルCH0を介して受けたコマンドに対応したコマンドを発行することができる。
【0037】
信号転送回路112は、第1インタフェース101と第2インタフェース102とを接続するデータパスに設けられる回路である。信号転送回路112は、チャネルCH0から第1インタフェース101を介して受信したライトデータのデータ信号DQおよびデータストローブ信号DQSを第2インタフェース102-1,102-2に送信する。信号転送回路112から出力されたデータ信号DQおよびデータストローブ信号DQSは、第2インタフェース102-1,102-2の何れかを介してチャネルCH1,CH2の何れかに供給される。
【0038】
以降、チャネルCH0から第1インタフェース101を介して受信したデータ信号DQ[7:0]を、データ信号H_DQ[7:0]またはデータ信号H_DQと表記することがある。また、チャネルCH0から第1インタフェース101を介して受信したデータストローブ信号DQSを、データストローブ信号H_DQSと表記することがある。また、第2インタフェース102-1,102-2を介してチャネルCH1,CH2に送信されるデータ信号DQ[15:0]を、データ信号N_DQ[15:0]またはデータ信号N_DQと表記することがある。また、第2インタフェース102-1,102-2を介してチャネルCH1,2に供給されるデータストローブ信号DQSを、データストローブ信号N_DQSと表記することがある。
【0039】
マスク回路113は、メモリチップCPへの信号の供給をブリッジチップイネーブル信号BRG_CEnに応じて遮断することができる回路である。ブリッジチップイネーブル信号BRG_CEnがアクティブ状態にある期間の動作モード、つまりブリッジ制御モードにおいては、マスク回路113は、メモリチップCPへの信号の供給を遮断する。ブリッジチップイネーブル信号BRG_CEnが非アクティブ状態にある期間の動作モード、つまり非ブリッジ制御モードにおいては、マスク回路113は、メモリチップCPへの信号を通過させる。つまり、マスク回路113は、ブリッジチップイネーブル信号BRG_CEnに基づき、ブリッジ制御モードと非ブリッジ制御モードとの間の切り替えを実現する。
【0040】
レジスタ114は、ブリッジチップBCの動作を制御するための各種情報(動作制御情報と表記する)が書き込まれるメモリである。動作制御情報は、特定の情報に限定されない。例えば、動作制御情報は、ブリッジチップBCの制御に使用される設定情報であってもよい。設定情報は、ホストHAから送られてきて、ブリッジチップBCに格納される。コントローラ103は、設定情報に従った動作を実行する。設定情報は、例えば、データの転送サイズに対応した数値情報であるサイズ情報115を含む。サイズ情報115の利用方法については後述される。
【0041】
サイズ情報115のレジスタ114への書き込みは、例えば、ブリッジチップBCがブリッジ制御モードにあるときに、ホストHAからのレジスタ書き込み用のコマンドに応じて実行される。これによって、サイズ情報115をレジスタ114に書き込むためのコマンドが何れのメモリチップCPにも到達しない。
【0042】
ブリッジチップBCは、ブリッジ制御モードにおいては、ホストHAからの如何なるコマンドもチャネルCH1,CH2に転送しない。よって、ブリッジ制御モードにおいてブリッジチップBCを動作させるためのコマンドは、任意に定義され得る。例えば、ブリッジ制御モードにおいてブリッジチップBCを動作させるためのコマンドは、トグルDDR規格によって定められたコマンドを流用したものであってもよいし、特定の規格によって定められることなく定義されたコマンドであってもよい。トグルDDR規格によって定められたコマンドが流用される場合、レジスタ114へのサイズ情報115の書き込みとして、例えば、セットフィーチャコマンドを使用することが可能である。なお、レジスタ114へのサイズ情報115の書き込みに使用されるコマンドはこれに限定されない。
【0043】
図2は、実施形態にかかるブリッジチップBCのさらに詳細な構成を示す模式的な図である。なお、図2では、図の簡単化のために、第2インタフェース102-2およびメモリチップCP2-1~CP2-4の図示が省略されている。なお、信号転送回路112は、第2インタフェース102毎に設けられていてもよい。または、第2インタフェース102-1および第2インタフェース102-2は、1つの信号転送回路112を共用してもよい。信号転送回路112の出力側に、信号転送回路112の出力信号を第2インタフェース102-1および第2インタフェース102-2の間で切り替えるセレクタが設けられていてもよい。
【0044】
第1インタフェース101は、2つのDフリップフロップFF10,FF11を備える。各DフリップフロップFF10,FF11のD入力端子には、データ信号H_DQ[7:0]が入力される。DフリップフロップFF10のクロック入力端子には、データストローブ信号H_DQSが入力される。DフリップフロップFF11のクロック入力端子には、データストローブ信号H_DQSを否定回路によって反転した信号が入力される。この構成により、第1インタフェース101は、データ信号H_DQ[7:0]の転送方式をDDR(Double-Data-Rate)からSDR(Single-Data-Rate)に変更する。第1インタフェース101は、データストローブ信号H_DQSの立ち上がりのタイミングで受信したデータ信号H_DQ[7:0]と、データストローブ信号H_DQSの立ち下がりのタイミングで受信したデータ信号H_DQ[7:0]と、に基づいて、データストローブ信号H_DQSの立ち上がりのタイミングで転送される16ビットの幅のデータ信号を出力する。
【0045】
送受信装置112は、オシレータ120、セレクタSEL20、PLL121、分周器122、制御回路123、ゲーティング回路124、およびFIFO(First In, First Out)メモリ130を備える。FIFOメモリ130は、セレクタSEL21,SEL22、複数のDフリップフロップ(ここでは一例として4つのDフリップフロップFF20-FF23)、およびDフリップフロップFF24を備える。
【0046】
オシレータ120は、所定の周波数のクロック信号を生成する発振回路である。オシレータ120としては、任意のタイプの発振回路が採用され得る。例えば、水晶発振回路またはRC発振回路などが、オシレータ120として採用され得る。オシレータ120が生成したクロックを、オシレータクロックと表記する。
【0047】
セレクタSEL20は、2つの入力端子を備える。セレクタSEL20が備える2つの入力端子のうちの1つには、データストローブ信号H_DQSが入力される。セレクタSEL20が備える2つの入力端子のうちの他の1つには、オシレータクロックが入力される。セレクタSEL20の出力端子は、PLL121の入力端子に接続されている。つまり、セレクタSEL20は、PLL121の参照クロックを、データストローブ信号H_DQSとオシレータクロックとの間で切り替える。セレクタSEL20の制御端子は、制御回路123によって制御される。
【0048】
PLL121は、参照クロックと位相が同期したクロックを生成する。ここでは一例として、PLL121は、参照クロックの周波数と等しい周波数のクロックを生成することとする。PLL121が生成したクロックを、PLLクロックと表記する。
【0049】
分周器122は、PLLクロックの周波数を1/2に分周することによって、PLLクロックの周波数の1/2である周波数のクロックを生成する。分周器122が生成したクロックを、分周器クロックと表記する。
【0050】
ゲーティング回路124は、後続の回路への分周器クロックの供給を遮断したり後続の回路に分周器クロックを供給したりすることができる。
【0051】
なお、ゲーティング回路124を通過した分周器クロックは、データストローブ信号N_DQSとして出力される。また、ゲーティング回路124は、制御回路123によって制御される。つまり、制御回路123は、ゲーティング回路124を制御することによって、データストローブ信号N_DQSを遮断したり、データストローブ信号N_DQSの遮断を解除したりすることができる。
【0052】
セレクタSEL21の入力端子には、第1インタフェース101によってデータ信号H_DQ[7:0]から変換された信号である16ビットの幅のデータ信号DQが入力される。セレクタSEL21は、複数の出力端子を備える。ここでは、セレクタSEL21は、4つの出力端子を備えるセレクタSELとして描画されている。
【0053】
DフリップフロップFF20~FF23のそれぞれは、16ビットのデータを取り込むことができる。即ち、DフリップフロップFF20~FF23のそれぞれは、16個のDフリップフロップの群である。DフリップフロップFF20~FF23のそれぞれのD入力端子は、セレクタSEL21のそれぞれ異なる出力端子に接続されている。DフリップフロップFF20~FF23のそれぞれのクロック入力端子には、データストローブ信号H_DQSが入力される。
【0054】
DフリップフロップFF20~FF23のそれぞれのQ出力端子は、セレクタSEL22のそれぞれ異なる入力端子に接続されている。セレクタSEL22の出力端子は、DフリップフロップFF24のD入力端子に接続されている。DフリップフロップFF24のクロック入力端子には、ゲーティング回路124を通過した分周器クロック、つまりデータストローブ信号N_DQSが入力される。
【0055】
よって、セレクタSEL21,SEL22、DフリップフロップFF20~FF23、およびDフリップフロップFF24は、協働して、FIFOメモリ130として機能する。FIFOメモリ130には、データストローブ信号H_DQSに同期して(より正確にはデータストローブ信号H_DQSの立ち上がりのタイミングで)16ビットのデータが格納される。格納位置は、DフリップフロップFF20~FF23に対してラウンドロビン方式で選択される。FIFOメモリ130は、自身に格納された16ビットのデータを2セットまとめた32ビットのデータを、データストローブ信号N_DQSに同期して(より正確にはデータストローブ信号N_DQSの立ち上がりのタイミングで)第2インタフェース102-1に渡す。ここで、DフリップフロップFF20~FF23のうちのデータの出力元のDフリップフロップは、FIFOのルールに従って選択される。よって、FIFOメモリ130の出力対象の2セットのデータは、FIFOメモリ130に格納された順番で選択される。
【0056】
セレクタSEL21,SEL22は、任意の回路によって制御される。一例では、セレクタSEL21,SEL22は、制御回路123によって制御される。
【0057】
なお、FIFOメモリ130の構成は上記に限定されない。例えば、FIFOメモリ130を構成するDフリップフロップFF20~FF23のそれぞれに格納されるデータのサイズは、16ビットに限定されない。また、FIFOメモリ130は、SRAMなど、他のタイプのメモリによって構成されてもよい。
【0058】
図2では、FIFOメモリ130は、図の簡単化のために、16ビットのデータを4つまで記憶できるように構成されたFIFOメモリとして描画されている。FIFOメモリ130の容量はこれに限定されない。要求されるFIFOメモリ130の容量については後述する。
【0059】
制御回路123は、データストローブ信号H_DQSの入力の開始を検出したり、データストローブ信号H_DQSおよびデータストローブ信号N_DQSのトグル数をカウントしたりすることができる。また、制御回路123は、レジスタ114に格納されているサイズ情報115を読み出すことができる。
【0060】
制御回路123は、データストローブ信号H_DQSの入力の開始を検出した場合、データストローブ信号H_DQSがPLL121に参照クロックとして入力されるようにセレクタSEL20を制御する。データストローブ信号H_DQSの入力の開始に応じて、制御回路123は、データストローブ信号H_DQSのトグル数のカウントを開始する。
【0061】
そして、制御回路123は、データストローブ信号H_DQSのトグル数のカウント値に基づき、データストローブ信号H_DQSの入力が完了したか否かを判定する。データストローブ信号H_DQSの入力が完了した場合、制御回路123は、オシレータクロックが参照クロックとしてPLL121に入力されるようにセレクタSEL20を制御する。
【0062】
レジスタ114には、データストローブ信号H_DQSの入力よりも前にサイズ情報115が格納される。サイズ情報115は、後に転送されるデータのサイズに対応する。つまり、サイズ情報115は、データストローブ信号H_DQSの予定トグル数に対応する。制御回路123は、データストローブ信号H_DQSのトグル数のカウント値が予定トグル数に至ったか否かに基づいて、データストローブ信号H_DQSの入力が完了したか否かを判定する。具体的には、データストローブ信号H_DQSのトグル数のカウント値が予定トグル数に至っていない場合、制御回路123は、データストローブ信号H_DQSの入力が完了していないと判定する。データストローブ信号H_DQSのトグル数のカウント値が予定トグル数に至った場合、制御回路123は、データストローブ信号H_DQSの入力が完了したと判定する。
【0063】
また、参照クロックの切り替え直後には、PLLクロックの位相は、切り替え後の参照クロックの位相に同期した状態(つまりロック状態)になっていない。PLLクロックの位相が参照クロックの位相に同期していない状態を、非ロック状態と表記する。参照クロックの切り替えからその後にPLL121がロック状態になるまでには、時間を要する。制御回路123は、参照クロックの切り替え後のPLL121が非ロック状態にある期間には、ゲーティング回路124を制御することによって、データストローブ信号N_DQSを遮断する。PLL121がロック状態になった後、制御回路123は、データストローブ信号N_DQSの遮断を解除する。
【0064】
PLL121がロック状態になったか否かは、任意の方法で判定され得る。
【0065】
一例では、制御回路123は、参照クロックの切り替えを実行してからの経過時間に基づいてPLL121がロック状態になったか否かを判定する。PLL121が非ロック状態になってからロック状態になるまでの時間は、PLL121の性能によって決まる。制御回路123は、参照クロックの切り替えを実行した後、経過時間の計測を行い、経過時間がPLL121がロック状態になるまでに要する時間に至ったか否かを判定する。経過時間の計測には、PLLクロックまたはPLLクロックと異なる任意のクロックのカウントが利用され得る。経過時間がPLL121がロック状態になるまでに要する時間に至っていない場合、未だPLL121がロック状態になっていないと推定されるので、制御回路123は、データストローブ信号N_DQSの遮断を継続する。経過時間がPLL121がロック状態になるまでに要する時間に至った場合、PLL121がロック状態になったと推定されるので、制御回路123は、データストローブ信号N_DQSの遮断を解除する。
【0066】
別の例では、PLL121のフィードバック信号と参照クロックとの位相の差分の信号を監視することによって、PLL121がロック状態になったか否かを判定することができる。当該差分の信号のレベルが所定のレベルより大きい場合、未だPLL121がロック状態になっていないと推定されるので、制御回路123は、データストローブ信号N_DQSの遮断を継続する。当該差分の信号のレベルが所定のレベルより小さい場合、PLL121がロック状態にあると推定されるので、制御回路123は、データストローブ信号N_DQSの遮断を解除する。
【0067】
第2インタフェース102は、2つのDフリップフロップFF30,FF31を備える。DフリップフロップFF30のD入力端子には、FIFOメモリ130から出力された32ビットのデータのうちの一部の16ビットのデータ、換言すると当該32ビットのデータを構成する2セットの16ビットのデータのうちのFIFOメモリ130に入力されたタイミングが早いほうのデータ、が入力される。DフリップフロップFF31のD入力端子には、FIFOメモリ130から出力された32ビットのデータのうちの他の一部の16ビットのデータ、換言すると当該32ビットのデータを構成する2セットの16ビットのデータのうちのFIFOメモリ130に入力されたタイミングが遅いほうのデータ、が入力される。DフリップフロップFF30のクロック入力端子には、データストローブ信号N_DQSが入力される。DフリップフロップFF31のクロック入力端子には、データストローブ信号N_DQSを否定回路によって反転した信号が入力される。この構成により、第2インタフェース102は、FIFOメモリ130から出力された32ビットのデータからDDRで転送されるデータ信号N_DQ[15:0]を生成することができる。第2インタフェース102は、生成したデータ信号N_DQ[15:0]を、データストローブ信号N_DQSとともに送信先のメモリチップCP1に出力する。
【0068】
なお、ここでは、チャネルCH0と、チャネルCH1,CH2のそれぞれと、の間のデータ転送の周波数の比は2対1であることとしている。よって、データストローブ信号H_DQSが入力されている期間においては、データストローブ信号H_DQSに基づいて生成されたPLLクロックが分周器122によって周波数が1/2に分周されることで、周波数がデータストローブ信号H_DQSの周波数の半分であるデータストローブ信号N_DQSが生成される。設計者は、分周器122による分周比を、チャネルCH0と、チャネルCH1,CH2のそれぞれと、の間のデータ転送の周波数の比の設定に応じて決めることができる。チャネルCH0のデータ転送の周波数が、チャネルCH1,CH2のそれぞれのデータ転送の周波数と等しい場合、分周器122は省略され得る。場合によっては、PLLクロックに対し、分周のほかの処理(例えば逓倍)が行われることによって、データストローブ信号N_DQSが生成されてもよい。
【0069】
PLLクロックに対して分周や逓倍などの処理を行うことによって生成されたクロックをデータストローブ信号N_DQSとして使用するか、PLLクロックそのものをデータストローブ信号N_DQSとして使用するかは、設計者によって任意に決定される。ブリッジチップBCは、PLL121によってPLLクロックを生成し、生成したPLLクロックに対応したクロック(即ち、PLLクロック、またはPLLクロックに対して分周や逓倍などの処理を行うことによって生成されたクロック)をデータストローブ信号N_DQSとしてメモリチップCPに送信する。
【0070】
上記の構成により、ブリッジチップBCは、ジッタを有さない(またはジッタが含まれていてもそのジッタはわずかである)データストローブ信号N_DQSをメモリチップCPに送信することができる。その結果、ブリッジチップBCがデータストローブ信号H_DQSをそのままメモリチップCPに転送する場合に比べて、メモリチップCPは、ジッタがより小さく抑制されたデータストローブ信号を受信することができる。
【0071】
なお、前述したように、ホストHAは、コマンド、アドレス、およびデータをデータ信号H_DQ[7:0]として送信する。信号転送回路112は、データ信号H_DQ[7:0]として受信するコマンド、アドレス、およびデータのうちのデータを転送する。データ信号H_DQ[7:0]として受信するコマンド、アドレス、およびデータのうちのコマンドおよびアドレスは、信号転送回路112と異なる経路(不図示)によって転送される。コントローラ103は、ホストHAが送信したコマンド、アドレス、データからデータを選択して信号転送回路112に入力するセレクタ(不図示)を備える。当該セレクタは、データ信号H_DQ[7:0]として受信したコマンド、アドレス、データのうちから当該データを、例えばコマンドラッチイネーブル信号CLEおよびアドレスラッチイネーブル信号ALEに基づいて選択することができる。
【0072】
続いて、実施形態にかかる半導体記憶装置1の動作を説明する。
【0073】
前述したように、サイズ情報115のレジスタ114への書き込みは、ブリッジチップBCがブリッジ制御モードにあるときに実行される。そこで、まず、ブリッジ制御モードでの動作と非ブリッジ制御モードでの動作との違いを説明する。
【0074】
図3は、実施形態にかかる半導体記憶装置1の非ブリッジ制御モードでの動作の一例を説明するためのタイミングチャートである。ホストHAがブリッジチップBCにメモリチップCPに宛てたコマンドを送信するとき、非ブリッジ制御モードが使用される。ここでは、ホストHAがチャネルCH1に接続された或るメモリチップCP1に宛てたセットフィーチャコマンドを送信する例を説明する。
【0075】
ホストHAは、メモリチップCPに宛てたコマンド(換言するとブリッジチップBCに宛てたコマンドでないコマンド)を送信する際には、ブリッジチップイネーブル信号BRG_CEnを非アクティブ状態(Hレベル)に維持する。つまり、図3に示される例では、ホストHAは、ブリッジチップイネーブル信号BRG_CEnを非アクティブ状態(Hレベル)に維持する。
【0076】
そして、ホストHAは、チャネルCH0のチップイネーブル信号CEをアクティブ状態(Lレベル)に遷移させる(S101)。これに応じてチャネルCH1のチップイネーブル信号CEもアクティブ状態(Lレベル)に遷移する。
【0077】
その後、ホストHAは、セットフィーチャコマンドを送信する(S102)。具体的には、ホストHAは、セットフィーチャコマンドを表すコマンド値C1、アクセス先の位置を表すアドレス値ADD100、および書き込み対象のデータD100、をこの順番で、データ信号H_DQ[7:0]として送信する。コマンド値C1の送信の際には、ホストHAは、コマンドラッチイネーブル信号CLEをアクティブ状態(Hレベル)に維持するとともに、ライトイネーブル信号WEnのトグルを行う。アドレス値ADD100の送信の際には、ホストHAは、アドレスラッチイネーブル信号ALEをアクティブ状態(Hレベル)に維持するとともに、ライトイネーブル信号WEnのトグルを行う。データD100の送信の際には、ホストHAは、データストローブ信号H_DQSのトグルを行う。
【0078】
ブリッジチップイネーブル信号BRG_CEnが非アクティブ状態(Hレベル)に維持されているので、ブリッジチップBCのマスク回路113は、ホストHAからの信号をメモリチップCP群に転送する。よって、S102においてホストHAからブリッジチップBCに供給されたセットフィーチャコマンドは、ブリッジチップBCによってそのままチャネルCH1に転送される(S103)。なお、ブリッジチップBCがホストHAからセットフィーチャコマンドを受信するタイミングとブリッジチップBCがメモリチップCP群に送信するタイミングとの間に微小な遅延があり得る。
【0079】
送信先のメモリチップCP1は、コマンド値C1、アドレス値ADD100、およびデータD100からなるセットフィーチャコマンドをチャネルCH1を介して受信する。すると、送信先のメモリチップCP1は、受信したセットフィーチャコマンドに応じた処理を実行する。つまり、送信先のメモリチップCP1は、自身が有するフィーチャレジスタのうちのアドレス値ADD100が示す位置に、受信したデータD100を書き込む。送信先のメモリチップCP1は、セットフィーチャコマンドに応じた処理を開始する際に、チャネルCH1のレディービジー信号R/Bnをビジー状態(Lレベル)に遷移させる(S104)。そして、送信先のメモリチップCP1は、セットフィーチャコマンドに応じた処理を完了した際に、チャネルCH1のレディービジー信号R/Bnをレディー状態に戻す(S105)。このチャネルCH1のレディービジー信号R/Bnは、そのままもしくは微小な遅延をもってブリッジチップBCを介してチャネルCH0のレディービジー信号R/Bn_1としてホストHAに転送される。
【0080】
ホストHAは、レディービジー信号R/Bn_1がビジー状態からレディー状態に戻ったことを以て、セットフィーチャコマンドの実行が完了したことを認識し、チャネルCH0のチップイネーブル信号CEを非アクティブ状態(Hレベル)に遷移させる(S106)。これに応じてチャネルCH1のチップイネーブル信号CEも非アクティブ状態(Hレベル)に遷移する。
【0081】
このように、ホストHAは、何れかのメモリチップCPにコマンドを送信する際には、ブリッジチップイネーブル信号BRG_CEnを非アクティブ状態に維持する。ブリッジチップBCは、ブリッジチップイネーブル信号BRG_CEnが非アクティブ状態である場合には、ホストHAからのコマンドをチャネルCH1,CH2に転送する。よって、送信先のメモリチップCPは、自身に宛てたコマンドを受信することができる。
【0082】
図4は、実施形態にかかる半導体記憶装置1のブリッジ制御モードでの動作の一例を説明するためのタイミングチャートである。ブリッジ制御モードは、ホストHAがブリッジチップBCに宛てたコマンドを送信するときに使用される。ここでは、ホストHAが送信するブリッジチップBCに宛てたコマンドとして、レジスタ114にサイズ情報115を書き込むためのセットフィーチャコマンドを例にして説明する。
【0083】
ホストHAは、まず、ブリッジチップイネーブル信号BRG_CEnをアクティブ状態(Lレベル)に遷移させる(S201)。これによって、ブリッジチップBCの動作モードは非ブリッジ制御モードからブリッジ制御モードに遷移する。
【0084】
続いて、ホストHAは、セットフィーチャコマンドを送信する(S202)。なお、図4の例では、ホストHAは、セットフィーチャコマンドを送信する前にチップイネーブル信号CEnをアクティブ状態(Lレベル)に遷移させている。ホストHAは、チップイネーブル信号CEnの制御を行わなくてもよい。
【0085】
セットフィーチャコマンドの送信の手順は、図3に例示したメモリチップCPに宛てたコマンドを送信する手順と同様である。具体的には、ホストHAは、セットフィーチャコマンドを表すコマンド値C1、アクセス先の位置を表すアドレス値ADD101、および書き込み対象のデータD101、をこの順番で、データ信号H_DQ[7:0]として送信する。コマンド値C1の送信の際には、ホストHAは、コマンドラッチイネーブル信号CLEをアクティブ状態(Hレベル)に維持するとともに、ライトイネーブル信号WEnのトグルを行う。アドレス値ADD101の送信の際には、ホストHAは、アドレスラッチイネーブル信号ALEをアクティブ状態(Hレベル)に維持するとともに、ライトイネーブル信号WEnのトグルを行う。データD101の送信の際には、ホストHAは、データストローブ信号H_DQSのトグルを行う。
【0086】
このセットフィーチャコマンドによってサイズ情報115のレジスタ114への書き込みを行う場合、書き込み対象のデータD101は、サイズ情報115である。
【0087】
ブリッジ制御モードでは、ブリッジチップBCのマスク回路113は、ホストHAからの信号のメモリチップCPへの供給を遮断する。また、ブリッジ制御モードでは、ブリッジチップBCのコマンドデコーダ111は、コマンド値C1、アドレス値ADD101、およびデータD101は自身に宛てたセットフィーチャコマンドであると解釈する。そして、コントローラ103は、S202によって供給されたセットフィーチャコマンドを実行する。つまり、コントローラ103は、自身が備えるレジスタ114のうちのアドレス値ADD101が示す位置に、データD101として受信したサイズ情報115を書き込む。
【0088】
ホストHAは、セットフィーチャコマンドの送信を完了すると、ブリッジチップイネーブル信号BRG_CEnを非アクティブ状態(Hレベル)に遷移させる(S203)。これによって、ブリッジチップBCの動作モードはブリッジ制御モードから非ブリッジ制御モードに遷移する。
【0089】
このように、ホストHAは、ブリッジチップBCに宛てたコマンドを送信する際には、ブリッジチップイネーブル信号BRG_CEnをアクティブ状態に維持する。ブリッジチップBCは、ブリッジチップイネーブル信号BRG_CEnがアクティブ状態である場合には、ホストHAからのコマンドをチャネルCH1,CH2に転送しない。よって、何れのメモリチップCPも、ブリッジチップBCに宛てたコマンドを受信することができない。
【0090】
仮に、ブリッジチップBCに宛てたセットフィーチャコマンドを或るメモリチップCPが受信した場合、そのメモリチップCPは、たとえそのセットフィーチャコマンドが自身宛てでなかったとしても、規格で定められたなんらかの処理を実行することがある。つまり、そのメモリチップCPは、誤動作し得る。そのメモリチップCPは、規格で定められた処理を実行している期間には、たとえその処理が誤動作であっても、レディービジー信号R/Bnをビジー状態に維持し、そのレディービジー信号R/BnはチャネルCH0を介してホストHAに送られる。ホストHAは、チャネルCH0のレディービジー信号R/Bnがビジー状態である期間には、次のコマンドをチャネルCH0を介して送信することができない。
【0091】
ホストHAは、ブリッジチップイネーブル信号BRG_CEnを用いることによって、ブリッジチップBCに宛てたコマンドがメモリチップCPに到達することを防止することができる。よって、ブリッジチップBCに宛てたコマンドによってメモリチップCPが誤動作を行うことが防止でき、ホストHAが誤動作の完了を待つ時間の発生が防止される。即ち、図4に示されるように、メモリチップCPは、ブリッジチップBCに宛てたコマンドに応じてレディービジー信号R/Bnをビジー状態に遷移させることがないため、メモリチップCPのレディービジー信号R/Bnは、ブリッジチップBCに宛てた当該コマンドに関係なくレディー状態で維持される。メモリチップCPのレディービジー信号R/Bnは、ホストHAにレディービジー信号R/Bn_1として転送される。つまり、ホストHAに入力されるレディービジー信号R/Bn_1は、ブリッジチップBCに宛てた当該コマンドに関係なくレディー状態で維持される。したがって、ホストHAは、ブリッジチップBC宛てのコマンドを送信した後、速やかにメモリチップCPに次のコマンドを送信することが可能である。その結果、ホストHAと複数のメモリチップCPとの間のデータ転送の速度を高速化することが可能である。
【0092】
なお、ブリッジチップBCの動作モードを非ブリッジ制御モードとブリッジ制御モードとの間で切り替えるための信号は、ブリッジチップイネーブル信号BRG_CEnを用いた方法に限定されない。
【0093】
例えば、ホストHAと半導体記憶装置1とのデータ通信の規格では、全てのコマンド値に対して、実際の動作が定義されている訳ではない。動作が未定義のコマンド値をベンダーが任意の制御にアサインすることができ、ベンダースペシフィックと呼ばれている。このようなコマンド値を、モード切り替えを行うための独自の信号として利用することができる。モード切り替えを行うための独自の信号として、ベンダースペシフィックなコマンド値が使用される場合、チャネルCh0からブリッジチップイネーブル信号BRG_CEnを転送するための信号線を省略することが可能である。ブリッジチップイネーブル信号BRG_CEnを転送するための信号線が省略されるかわりに、コントローラ103は、内部ブリッジチップイネーブル信号IBRG_CEnの信号線が設けられる。内部ブリッジチップイネーブル信号IBRG_CEnは、マスク回路113に対して、ブリッジチップイネーブル信号BRG_CEnと同様の作用を行う。例えば、内部ブリッジチップイネーブル信号IBRG_CEnは、レジスタ114に格納されている。内部ブリッジチップイネーブル信号IBRG_CEnは、信号線によってマスク回路113に入力される。内部ブリッジチップイネーブル信号IBRG_CEnがアクティブ状態(Lレベル)にある期間には、マスク回路113は、メモリチップCPへの信号の供給を遮断する。内部ブリッジチップイネーブル信号IBRG_CEnが非アクティブ状態(Hレベル)にある期間には、マスク回路113は、メモリチップCPに信号を転送する。内部ブリッジチップイネーブル信号IBRG_CEnがアクティブ状態(Lレベル)である期間、ブリッジチップBCはブリッジ制御モードで動作する。
【0094】
コマンドデコーダ111は、ホストHAから受信したコマンドがブリッジ制御コマンドであると解釈した場合には、内部ブリッジチップイネーブル信号IBRG_CEnをアクティブ状態(Lレベル)に遷移させる。内部ブリッジチップイネーブル信号IBRG_CEnがアクティブ状態(Lレベル)にある期間において、チャネルCH0のチップイネーブル信号CEnがアクティブ状態(Lレベル)から非アクティブ状態(Hレベル)に遷移すると、コントローラ103は、内部ブリッジチップイネーブル信号IBRG_CEnをアクティブ状態(Lレベル)から非アクティブ状態(Hレベル)に遷移させる。
【0095】
図5は、実施形態にかかる半導体記憶装置1のブリッジ制御モードでの動作の別の一例を説明するためのタイミングチャートである。ここでは、図4のケースと同様に、ホストHAが送信するブリッジチップBCに宛てたコマンドとして、レジスタ114にサイズ情報115を書き込むためのセットフィーチャコマンドを例にして説明する。
【0096】
図5に示す例によれば、ホストHAは、送信先がブリッジチップBCであるかメモリチップCPであるかに関わらず、チップイネーブル信号CEnをアクティブ状態(Lレベル)に遷移させる(S301)。
【0097】
そして、ホストHAは、ブリッジチップBCの動作モードをブリッジ制御モードに遷移させるために、ブリッジ制御コマンドを送信する(S302)。S302では、ホストHAは、ブリッジ制御コマンドを表すコマンド値C2をデータ信号H_DQ[7:0]として送信する。コマンド値C2の送信の際には、ホストHAは、コマンドラッチイネーブル信号CLEをアクティブ状態(Hレベル)に維持するとともに、ライトイネーブル信号WEnのトグルを行う。
【0098】
コマンド値C2を受信すると、ブリッジチップBCのコマンドデコーダ111は、当該コマンド値C2がブリッジ制御コマンドを表すことを解釈する。すると、コントローラ103は、内部ブリッジチップイネーブル信号IBRG_CEnをアクティブ状態(Lレベル)に遷移させる(S304)。マスク回路113は、内部ブリッジチップイネーブル信号IBRG_CEnがアクティブ状態(Lレベル)に遷移したことに応じて、ホストHAからの信号のメモリチップCPへの供給の遮断を開始する。これによって、ブリッジチップBCの動作モードは非ブリッジ制御モードからブリッジ制御モードに遷移する。
【0099】
ブリッジチップBCの動作モードがブリッジ制御モードに遷移する前までの期間では、内部ブリッジチップイネーブル信号IBRG_CEnは非アクティブ状態(Hレベル)にあった。よって、ブリッジチップBCは、ホストHAから受信したブリッジ制御コマンドを、チャネルCH0,CH1を介してメモリチップCPに転送する(S303)。つまり、メモリチップCPは、ブリッジ制御コマンドを受信する。コマンド値C2は、メモリチップCPのベンダースペシフィックなコマンドとして定義されていない未定義な値の中から選択された値であり、メモリチップCPは解釈することができない。よって、メモリチップCPは、コマンド値C2を受信したとしても、何の処理も開始しない。
【0100】
ブリッジチップBCの動作モードがブリッジ制御モードに遷移すると、図4に例示した動作と同様に、ホストHAは、セットフィーチャコマンドを送信する(S305)。具体的には、ホストHAは、セットフィーチャコマンドを表すコマンド値C1、アクセス先の位置を表すアドレス値ADD103、および書き込み対象のデータD103をこの順番で、データ信号H_DQ[7:0]として送信する。書き込み対象のデータD103は、例えばサイズ情報115である。
【0101】
ブリッジ制御モードにおいては、ブリッジチップBCのコントローラ103は、ホストHAから供給されたコマンド(この場合はセットフィーチャコマンド)は自身に宛てたコマンドであると解釈する。また、コマンドデコーダ111は、受信したコマンドはセットフィーチャコマンドであると解釈する。そして、コントローラ103は、セットフィーチャコマンドに応じた処理を実行する。つまり、コントローラ103は、自身が備えるレジスタ114のうちのアドレス値ADD103が示す位置に、データD103として受信したサイズ情報115を書き込む。
【0102】
また、ブリッジ制御モードにおいては、ホストHAが送信したセットフィーチャコマンドは、メモリチップCPには到達しない。よって、メモリチップCPは、ブリッジチップBCに宛てたセットフィーチャコマンドに応じた動作を実行することはない。
【0103】
ホストHAは、セットフィーチャコマンドの送信を完了すると、チップイネーブル信号CEを非アクティブ状態(Hレベル)に遷移させる(S306)。すると、ブリッジチップBCのコントローラ103は、内部ブリッジチップイネーブル信号IBRG_CEnを非アクティブ状態(Hレベル)に遷移させる(S307)。これによって、ブリッジチップBCの動作モードはブリッジ制御モードから非ブリッジ制御モードに遷移する。ブリッジ制御モードが終了したことで、ブリッジチップBCは、ホストHAからのコマンドをメモリチップCPに転送することが可能になる。
【0104】
なお、モード切り替えを行うための独自の信号としてベンダースペシフィックなコマンド値のうちの1つが使用される構成において、非ブリッジ制御モードでの半導体記憶装置1の動作は、図3に示された動作と同様である。
【0105】
このように、ブリッジチップBCの動作モードを切り替えるために、独自のコマンドであるブリッジ制御コマンドを用いることができる。ベンダースペシフィックなコマンド値のうちの1つをブリッジ制御コマンドにアサインすることで、ブリッジチップBCの動作モードの切り替えが可能となる。
【0106】
図6は、実施形態の制御回路123の動作の一例を説明するためのフローチャートである。
【0107】
トグルDDR規格によれば、ホストHAは、データ信号H_DQ[7:0]の入力の開始の直前に、データストローブ信号H_DQSのレベルを一回、HレベルからLレベルに変更する。つまり、データ信号H_DQ[7:0]が入力されていない状態でデータストローブ信号H_DQSのレベルがHレベルからLレベルに遷移することは、まもなくデータ信号H_DQ[7:0]の入力およびデータストローブ信号H_DQSのトグルが開始することを意味する。制御回路123は、データストローブ信号H_DQSを監視し、データストローブ信号H_DQSのレベルがHレベルからLレベルに遷移したか否かを判定する(S401)。
【0108】
データストローブ信号H_DQSのレベルがHレベルからLレベルに遷移していない場合(S401:No)、制御回路123は、S401の処理を再び実行する。
【0109】
データストローブ信号H_DQSのレベルがHレベルからLレベルに遷移した場合(S401:Yes)、制御回路123は、セレクタSEL20を制御することによってPLL121へのデータストローブ信号H_DQSの入力を開始し、ゲーティング回路124を制御することによってデータストローブ信号N_DQSの遮断を開始する(S402)。なお、S402の処理が開始するまでは、PLL121には、例えばオシレータクロックが参照クロックとして入力されている。
【0110】
続いて、データストローブ信号H_DQSのトグルが開始されると、制御回路123は、データストローブ信号H_DQSのトグル数のカウントを開始する(S403)。
【0111】
なお、データストローブ信号H_DQSのトグルと同時に、データ信号H_DQ[7:0]の入力が開始される。入力されたデータ信号H_DQ[7:0]は、第1インタフェース101によって、SDRで転送される16ビット幅のデータ信号に変換される。信号転送回路F112は、変換後のデータ信号をFIFOメモリ130に順次格納する。
【0112】
参照クロックのオシレータクロックからデータストローブ信号H_DQSへの切り替えによって、PLL121は、ロック状態から非ロック状態になる。そして、しばらくしてPLL121は、再びロック状態になる。制御回路123は、PLL121がロック状態になったか否かを判定する(S404)。
【0113】
前述したとおり、PLL121がロック状態になったか否かは任意の方法で判定され得る。PLL121がロック状態になっていない場合(S404:No)、制御回路123は、S404の処理を再び実行する。
【0114】
PLL121がロック状態になった場合(S404:Yes)、制御回路123は、ゲーティング回路124を制御することによってデータストローブ信号N_DQSの遮断を解除する(S405)。これによって、分周器クロックは、データストローブ信号N_DQSとして出力される。ここで出力されるデータストローブ信号N_DQSは、データストローブ信号H_DQSに基づいて生成された信号である。
【0115】
なお、データストローブ信号N_DQSのトグルが開始されると、信号転送回路112は、FIFOメモリ130から16ビット幅のデータ信号を順次読み出す。第2インタフェース102は、FIFOメモリ130から順次読み出されたSDRで転送される32ビット幅のデータ信号から、DDRで転送される16ビット幅のデータ信号を生成する。そして、第2インタフェース102は、DDRで転送される16ビット幅のデータ信号をデータ信号N_DQ[15:0]として送信先のメモリチップCPに出力する。第2インタフェース102は、データ信号N_DQ[15:0]を、データストローブ信号N_DQSとともに出力する。
【0116】
また、データストローブ信号N_DQSのトグルが開始されると、制御回路123は、データストローブ信号N_DQSのトグル数のカウントを開始する(S406)。
【0117】
制御回路123は、データストローブ信号H_DQSのトグル数のカウント値がサイズ情報115に対応する値に至ったか否かを判定する(S407)。この処理は、データストローブ信号H_DQSのトグル、換言するとデータ信号H_DQ[7:0]の入力、が完了したか否かを判定する処理に相当する。データストローブ信号H_DQSのトグル数のカウント値がサイズ情報115に対応する値に至っていない場合(S407:No)、制御回路123は、S407の処理を再び実行する。
【0118】
データストローブ信号H_DQSのトグル数のカウント値がサイズ情報115に対応する値に至った場合(S407:Yes)、制御回路123は、セレクタSEL20を制御することによってPLL121へのオシレータクロックの入力を開始し、ゲーティング回路124を制御することによってデータストローブ信号N_DQSの遮断を開始する(S408)。
【0119】
S408の処理によって、PLL121はロック状態から非ロック状態になる。そして、しばらくしてPLL121は、再びロック状態になる。制御回路123は、PLL121がロック状態になったか否かを判定する(S409)。
【0120】
PLL121がロック状態になったか否かは任意の方法で判定され得る。PLL121がロック状態になっていない場合(S409:No)、制御回路123は、S409の処理を再び実行する。
【0121】
PLL121がロック状態になった場合(S409:Yes)、制御回路123は、ゲーティング回路124を制御することによってデータストローブ信号N_DQSの遮断を解除する(S410)。これによって、データストローブ信号N_DQSの出力が再開される。ここで出力されるデータストローブ信号N_DQSは、オシレータクロックに基づいて生成されたものである。
【0122】
制御回路123は、データストローブ信号N_DQSのトグル数のカウント値がサイズ情報115に対応する値に至ったか否かを判定する(S411)。この処理は、データ信号H_DQ[7:0]として受信したデータを全てメモリチップCPに出力したか否かを判定する処理に相当する。データストローブ信号N_DQSのトグル数のカウント値がサイズ情報115に対応する値に至っていない場合(S411:No)、制御回路123は、S411の処理を再び実行する。
【0123】
データストローブ信号N_DQSのトグル数のカウント値がサイズ情報115に対応する値に至った場合(S411:Yes)、制御回路123は、データストローブ信号N_DQSの出力を停止する(S412)。そして、制御回路123は一連の動作を終了する。
【0124】
図7は、図6に示された一連の動作の実行時の実施形態の各信号の状態遷移の一例を示すタイミングチャートである。なお、図7では、オシレータクロックは、一例として、図2には不図示の逓倍器によって周波数が2倍に逓倍された後にPLL121に入力されることとしている。
【0125】
例えば、データストローブ信号H_DQSのレベルがHレベルからLレベルに遷移する前(例えば図7の時刻t0)においては、PLL121は、オシレータクロックを参照クロックとして用いることによってPLLクロックを生成している。分周器122は、オシレータクロックに基づいて生成されたPLLクロックに基づいて分周器クロックを生成している。
【0126】
データストローブ信号H_DQSのレベルがHレベルからLレベルに遷移すると(時刻t1)、制御回路123は、S402およびS403(何れも図6を参照)の処理を実行する。これによって、PLL121の参照クロックが、オシレータクロックからデータストローブ信号H_DQSに切り替えられる。また、データストローブ信号N_DQSの遮断が開始され、データストローブ信号N_DQSは、データストローブ信号N_DQSの遮断中は、データストローブ信号N_DQSはLレベルに固定される。
【0127】
その後、時刻t2において、データストローブ信号H_DQSのトグルおよびデータ信号H_DQ[7:0]の入力が開始される。すると、PLL121は、PLLクロックの位相がデータストローブ信号H_DQSの位相と同期したロック状態になるように動作する。
【0128】
そして、PLL121がロック状態になると(時刻t3)、制御回路123は、S405(図6を参照)の処理を実行する。これによって、データストローブ信号N_DQSの出力とデータ信号N_DQ[15:0]の出力とが開始される。
【0129】
なお、時刻t2から時刻t3までにホストHAからデータ信号H_DQ[7:0]として受信したデータは、FIFOメモリ130に蓄えられる。つまり、FIFOメモリ130は、データ信号H_DQ[7:0]の入力が開始してからPLL121がロック状態になってデータストローブ信号N_DQSの遮断が解除されるまでにホストHAから受信するデータを全て蓄積できる容量を有している必要がある。設計者は、データ信号H_DQ[7:0]の入力が開始してからPLL121がロック状態になるまでにホストHAから受信するデータのサイズを実験または計算によって求め、FIFOメモリ130の容量が、求めたサイズ以上の容量となるように、FIFOメモリ130を設計する。
【0130】
時刻t3から、データストローブ信号N_DQSおよびデータ信号N_DQ[15:0]の出力が開始される。分周器122により、データストローブ信号N_DQSおよびデータ信号N_DQ[15:0]の周波数は、データストローブ信号H_DQSおよびデータ信号H_DQ[7:0]の周波数の1/2とされている。
【0131】
データストローブ信号H_DQSのトグルおよびデータ信号H_DQ[7:0]の入力が完了すると(時刻t4)、制御回路123は、S408(図6を参照)の処理を実行する。これによって、PLL121の参照クロックが、データストローブ信号H_DQSからオシレータクロックに切り替えられる。また、データストローブ信号N_DQSの遮断が開始され、データストローブ信号N_DQSは、データストローブ信号N_DQSの遮断中は、データストローブ信号N_DQSはLレベルに固定される。
【0132】
PLL121の参照クロックがデータストローブ信号H_DQSからオシレータクロックに切り替えられると、PLL121は、PLLクロックの位相がオシレータクロックの位相と同期したロック状態になるように動作する。
【0133】
PLL121が再びロック状態になると(時刻t5)、制御回路123は、S410(図6を参照)の処理を実行する。これによって、データストローブ信号N_DQSの出力とデータ信号N_DQ[15:0]の出力とが再開される。
【0134】
データストローブ信号H_DQSのトグルおよびデータ信号H_DQ[7:0]の入力が完了した時刻t4では、FIFOメモリ130(および信号転送回路112がパイプラインを含む場合にはパイプライン)には、未だメモリチップCPに出力されていないデータが残っている。時刻t5では、未出力のデータの出力が開始する。
【0135】
ここで、時刻t4から時刻t5の期間においては、PLL121は非ロック状態となっている。仮にこの期間においてデータストローブ信号N_DQSを出力できるように構成された場合、この期間におけるデータストローブ信号N_DQSの品質が保証できない。信号転送回路112は、PLL121がロック状態になるまで待ってからデータストローブ信号N_DQSの出力を再開する。よって、ブリッジチップBCは、データ信号H_DQ[7:0]が入力されていない期間(例えば図7の時刻t4の後の期間)においても品質が高いデータストローブ信号N_DQSを出力することができる。
【0136】
なお、時刻t5の後に出力されるデータストローブ信号N_DQSは、オシレータクロックに基づいて生成されている。データストローブ信号N_DQSの周波数がデータストローブ信号H_DQSの周波数よりも高い場合、送信先のメモリチップCPがセットアップのタイミングエラーを起こす可能性がある。タイミングエラーの発生を防止するために、設計者は、時刻t5の後に出力されるデータストローブ信号N_DQSの周波数がデータストローブ信号H_DQSの周波数よりも若干低くなるように、オシレータ120を選択してもよい。
【0137】
以上述べたように、実施形態によれば、以下の処理が実行される。ずなわち、ホストHAとメモリチップCPとの間で転送されるデータのサイズに対応した数値情報であるサイズ情報115がレジスタ114に格納される。第1インタフェース回路である第1インタフェース101は、データ転送のためのタイミング信号であるデータストローブ信号H_DQSを受信する。発振回路であるオシレータ120は、オシレータクロックを生成する。位相同期回路であるPLL121は、PLLクロックを生成する。制御回路123は、データストローブ信号H_DQSがトグルされた場合、PLL121へデータストローブ信号H_DQSを入力してデータストローブ信号H_DQSのトグル数をカウントする。制御回路123は、データストローブ信号H_DQSのトグル数のカウント値がサイズ情報115に対応した値に至った場合、PLL121へオシレータクロックを入力する。第2インタフェース回路である第2インタフェース102は、データストローブ信号H_DQS又はオシレータクロックに基づいてPLL121が生成したPLLクロックに対応した、データストローブ信号N_DQSをメモリチップCPに送信する。
【0138】
よって、ブリッジチップBCがデータストローブ信号H_DQSをそのままメモリチップCPに転送する場合に比べて、メモリチップCPは、ジッタが小さいデータストローブ信号を受信することができる。つまり、データ転送のためのタイミング信号としてのデータストローブ信号のジッタを抑制することが可能である。
【0139】
なお、以上では、ジッタが抑制されるタイミング信号の例として、ホストHAからメモリチップCPに向けて転送されるデータストローブ信号DQSを挙げた。実施形態の技術は、ホストHAからメモリチップCPに向けて転送されるデータストローブ信号DQSの他のタイミング信号にも適用され得る。
【0140】
一例では、メモリチップCPがホストHAに宛ててデータを転送する際にメモリチップCPがタイミング信号として送信するデータストローブ信号DQSに対して実施形態の技術を適用することができる。即ち、メモリチップCPが第1装置に対応し、ホストHAが第2装置に対応する。その場合、メモリチップCPが送信するデータストローブ信号DQSおよびデータ信号DQを転送するために、第1インタフェース101は、第2インタフェース回路としての機能を有し、第2インタフェース102は、第1インタフェース回路としての機能を有する。この場合、データストローブ信号DQSおよびデータ信号DQを第2インタフェース102から第1インタフェース101に転送するための送受信回路が別途、設けられればよい。
【0141】
別の例では、ホストHAがメモリシステムSYSからデータを読み出す際にメモリシステムSYSに送信するタイミング信号であるリードイネーブル信号RE/REnに対して実施形態の技術を適用することができる。その場合、PLL121は、リードイネーブル信号RE/REnに基づいてPLLクロックを生成して、第2インタフェース102は、生成されたPLLクロックに対応した新しいリードイネーブル信号RE/REnをメモリチップCPに送信する。
【0142】
また、実施形態によれば、制御回路123は、PLL121へのオシレータクロックの入力を開始する第1のタイミング(例えば図7の時刻t4参照)に、ゲーティング回路124を制御することによって、データストローブ信号N_DQSを遮断する。そして、制御回路123は、第1のタイミングの後でかつPLL121がロック状態になった後の第2のタイミング(例えば図7の時刻t5参照)に、ゲーティング回路124を制御することによって、データストローブ信号N_DQSの遮断を解除する。
【0143】
よって、PLL121が非ロック状態であるときのPLLクロックに対応したクロックがデータストローブ信号N_DQSとしてメモリチップCPに送信されることを防止できる。つまり、品質が保証されていない信号がデータストローブ信号N_DQSとして使用されることを防止することができる。
【0144】
なお、実施形態によれば、制御回路123は、データストローブ信号N_DQSのレベルの変更(遷移)に応じてデータストローブ信号H_DQSのPLL121への入力を開始する(例えば図6のS401,S402、図7の時刻t1参照)。制御回路123は、データストローブ信号H_DQSのPLL121への入力を開始する第3のタイミング(例えば図7の時刻t1参照)に、ゲーティング回路124を制御することによって、データストローブ信号N_DQSを遮断する。そして、制御回路123は、第3のタイミングの後でかつPLL121がロック状態になった後の第4のタイミング(例えば図7の時刻t3参照)に、ゲーティング回路124を制御することによって、データストローブ信号N_DQSの遮断を解除する。
【0145】
よって、PLL121が非ロック状態であるときのPLLクロックに対応したクロックがデータストローブ信号N_DQSとしてメモリチップCPに送信されることを防止できる。つまり、品質が保証されていない信号がデータストローブ信号N_DQSとして使用されることを防止することができる。
【0146】
なお、実施形態によれば、第1インタフェース101と第2インタフェース102との間にFIFOメモリが配されている。第1インタフェース101は、データ信号DQとして受信したデータをデータストローブ信号H_DQSに同期してFIFOメモリ130に入力する。第2インタフェース102は、FIFOメモリ130からデータを取得して、取得したデータをデータストローブ信号N_DQSに同期してメモリチップCPに送信する。
【0147】
よって、ブリッジチップBCは、データストローブ信号N_DQSが遮断されている期間、つまり第3のタイミング(例えば図7の時刻t1参照)から第4のタイミング(例えば図7の時刻t3参照)までの期間、に受信したデータをバッファしておくことが可能となる。
【0148】
また、実施形態によれば、FIFOメモリ130は、第3のタイミング(例えば図7の時刻t1参照)から第4のタイミング(例えば図7の時刻t3参照)までの期間に受信するデータのサイズ以上の容量を有する。
【0149】
よって、ブリッジチップBCは、データストローブ信号N_DQSが遮断されている期間の後の期間に受信したデータをバッファしておくことが可能となる。
【0150】
なお、実施形態と比較される1つの技術として、オシレータクロックのみをPLL121の参照クロックとして使用する構成が考えられる。この構成を、比較例と表記する。オシレータクロックをPLL121の参照信号として使用する場合、ホストHAとブリッジチップBCとの間のデータ転送レートと、ブリッジチップBCとメモリチップCPとの間のデータ転送レートと、を一致させることが困難である。ホストHAとブリッジチップBCとの間のデータ転送レートが、ブリッジチップBCとメモリチップCPとの間のデータ転送レートよりも僅かでも大きい場合、これらのデータ転送レートの差分とデータの転送長との積に比例するサイズのデータがブリッジチップBCに蓄積され得る。よって、比較例によれば、大容量のFIFOメモリが必要となる。
【0151】
実施形態によれば、FIFOメモリ130は、少なくともデータストローブ信号N_DQSが遮断されている期間に受信したデータを蓄積できるだけの容量があれば十分である。よって、実施形態によれば、比較例に比べてFIFOメモリ130に必要な容量を低減することが可能である。
【0152】
また、実施形態によれば、第1インタフェース101は、図4および図5を用いて説明したように、レジスタ114にサイズ情報115を書き込むためのコマンド(例えば、セットフィーチャコマンド)を受信することができる。このコマンドを第1信号と表記する。ブリッジチップBCは、当該第1信号に応じてサイズ情報115をレジスタ114に書き込む。
【0153】
ここで、図4および図5を用いて説明したように、第1インタフェース101は、ブリッジチップイネーブル信号BRG_CEnまたはブリッジ制御コマンドなど、ブリッジチップBCの動作モードの切り替えのための信号を受信することができる。ブリッジチップBCの動作モードの切り替えのための信号を、第2信号と表記する。また、第1インタフェース101は、図3図4、および図5を用いて説明したように、第1信号およびメモリチップCPに宛てたコマンドなど、種々のコマンドを受信することができる。第1信号およびメモリチップCPに宛てたコマンドなどを第3信号と総称する。
【0154】
そして、実施形態によれば、第1インタフェース101が第3信号を受信したことに応じて第2インタフェース102が第3信号に対応した第4信号をメモリチップCPへ送信する。第4信号は、第3信号と等価であってもよいし、コマンドデコーダ111によって第3信号に基づいて生成された信号であってもよい。そして、第1インタフェース101が第3信号の前に第2信号を受信した場合、第2インタフェースは、第3信号をメモリチップCPへ送信しない。
【0155】
よって、ホストHAは、第1信号を送信する前に第2信号を送信すれば、第1信号によってメモリチップCPが誤動作を行うことが防止でき、ホストHAが誤動作の完了を待つ時間の発生が防止される。ホストHAは、第1信号を送信した後、速やかにメモリチップCPに宛てた次のコマンドを送信することが可能であるため、ホストHAと複数のメモリチップCPとの間のデータ転送の速度を高速化することが可能である。
【0156】
なお、ホストHAは、第1信号を送信する前に必ずしも第2信号を送信しなくてもよい。つまり、ホストHAは、ブリッジチップBCが非ブリッジ制御モードであるときに、レジスタ114にサイズ情報115を書き込むためのコマンドを送信してもよい。また、ブリッジチップBCは、必ずしもブリッジ制御モードで動作が可能に構成されていなくてもよい。つまり、レジスタ114にサイズ情報115を書き込む方法は、任意に構成され得る。
【0157】
なお、実施形態によれば、ブリッジチップBCは、図1に示されるように、第2信号としてのブリッジチップイネーブル信号BRG_CEnを受信するための専用の端子を備える。ブリッジチップイネーブル信号BRG_CEnを受信するための端子は、コマンド、データ、アドレスを送受信するための他の端子とは独立に設けられている。他の端子は、例えば、チップイネーブル信号CEn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、リードイネーブル信号RE/REn、データストローブ信号H_DQS、データ信号H_DQ、レディービジー信号R/Bnなどを転送する端子の群である。
【0158】
よって、ベンダースペシフィックなコマンド値を要することなくブリッジチップBCの動作モードの切り替えが可能となる。
【0159】
または、実施形態によれば、ブリッジチップBCは、第2信号としてのブリッジ制御コマンドおよび第3信号としての種々のコマンドの何れも受信可能な端子を備える。第2信号としてのブリッジ制御コマンドおよび第3信号としての種々のコマンドの何れも受信可能な端子は、例えば、チップイネーブル信号CEn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、リードイネーブル信号RE/REn、データストローブ信号H_DQS、データ信号H_DQ、レディービジー信号R/Bnなどを転送する端子の群である。
【0160】
よって、専用の端子を備えずとも、ベンダースペシフィックなコマンド値のうちの1つをブリッジ制御コマンドにアサインすることでも、ブリッジチップBCの動作モードの切り替えが可能となる。
【0161】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0162】
1 半導体記憶装置、10 外部端子群、101 第1インタフェース、102,102-1,102-2 第2インタフェース、103 コントローラ、104 バッファメモリ、111 コマンドデコーダ、112 信号転送回路、113 マスク回路、114 レジスタ、115 サイズ情報、120 オシレータ、121 PLL、122 分周器、123 制御回路、124 ゲーティング回路、130 FIFOメモリ。
図1
図2
図3
図4
図5
図6
図7