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

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

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

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022049553
(43)【公開日】2022-03-29
(54)【発明の名称】半導体装置および方法
(51)【国際特許分類】
   G06F 12/00 20060101AFI20220322BHJP
   G06F 13/36 20060101ALI20220322BHJP
   G11C 7/10 20060101ALI20220322BHJP
【FI】
G06F12/00 564A
G06F12/00 597U
G06F13/36 310Z
G11C7/10 420
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2020155800
(22)【出願日】2020-09-16
(71)【出願人】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】鈴木 智明
(72)【発明者】
【氏名】大友 吾一
【テーマコード(参考)】
5B061
5B160
【Fターム(参考)】
5B061GG01
5B160CD15
(57)【要約】
【課題】ホストと複数のメモリチップとの間のデータ転送の効率を向上させること。
【解決手段】一つの実施形態によれば、半導体装置は、第1チップと、複数の第2チップと、複数の第1信号線と、を備える。第1チップは、ホストから第1信号が入力される端子群が電気的に接続されている。第2チップは、第1チップが電気的に接続され、それぞれはレディービジー信号を出力することができる。前記複数の第1信号線は、前記レディービジー信号を転送することができる。前記複数の第2チップは、前記複数の第1信号線のいずれかによって個別に第1チップに接続されている。
【選択図】図14
【特許請求の範囲】
【請求項1】
ホストから第1信号が入力される端子群が電気的に接続された第1チップと、
前記第1チップが電気的に接続され、それぞれはレディービジー信号を出力することができる複数の第2チップと、
前記レディービジー信号を転送する複数の第1信号線と、
を備え、
前記複数の第2チップは、前記複数の第1信号線のいずれかによって個別に第1チップに接続されている、
半導体装置。
【請求項2】
前記第1チップは、第1メモリを備え、
前記複数の第1信号線を介して供給された前記複数の第2チップからのレディービジー信号の内容を第2チップ毎に個別に記憶した第1情報を前記第1メモリに格納する、
請求項1に記載の半導体装置。
【請求項3】
前記端子群は、前記ホストから第2信号が入力され、
前記第1チップは、前記第2信号に応じて前記第1情報を前記ホストに出力する、
請求項2に記載の半導体装置。
【請求項4】
前記ホストと前記第1チップとは、第2信号線で接続され、
前記第1チップは、前記複数の第2チップからのレディービジー信号に対して論理積を含む演算を実行する回路を備え、前記回路からの出力信号を前記第2信号線を介して前記ホストに出力する、
請求項1から3の何れか一項に記載の半導体装置。
【請求項5】
前記第1チップは、前記第1チップに関するレディービジー信号を生成し、
前記回路は、前記複数の第2チップからのレディービジー信号と前記第1チップに関するレディービジー信号との論理積を演算する、
請求項4に記載の半導体装置。
【請求項6】
前記端子群は、前記ホストから第3信号が入力され、
前記第1チップは、
前記第1信号を前記複数の第2チップに転送する第1モードと、前記第1信号を前記第2チップに転送せずに前記第1信号に応じた動作を実行する第2モードと、で動作可能に構成され、
前記第3信号に応じて前記第1モードと前記第2モードとの間の切り替えを実行するように構成され、
前記第2モードにおいて前記第2信号を受信する、
請求項3に記載の半導体装置。
【請求項7】
前記複数の第2チップのそれぞれは、第2メモリを備え、
前記端子群は、前記ホストから第1コマンドが入力され、
前記第1チップは、
第3メモリをさらに備え、
前記第1コマンドに応じて複数の第2コマンドを発生し、前記複数の第2コマンドのそれぞれは、前記複数の第2チップのいずれか1つが備える前記第2メモリ内のデータを読み出すコマンドであり、
発生された前記複数の第2コマンドのそれぞれを前記複数の第2チップのうちのあて先の第2チップに送信し、
前記複数の第2チップが前記第2コマンドに応じて出力するデータを順次、前記第3メモリにバッファし、
前記第3メモリにバッファされた前記データを前記ホストに出力する、
請求項1から6の何れか一項に記載の半導体装置。
【請求項8】
前記第1チップは、前記複数の第2コマンドにかかる前記第2メモリ内における読み出し対象のデータの位置を、アドレス値に対するインクリメントによって順次取得する、
請求項7に記載の半導体装置。
【請求項9】
前記第1チップは、
第1メモリを備え、
前記ホストから読み出し対象のデータの位置を示すアドレス値の一覧を受信して、受信した前記一覧を前記第1メモリに格納し、
前記一覧に基づいて前記複数の第2コマンドを発生する、
請求項7に記載の半導体装置。
【請求項10】
第1チップを制御する方法であって、前記第1チップは、ホストから第1信号が入力される端子群が電気的に接続され、それぞれはレディービジー信号を出力することができる複数の第2チップが電気的に接続され、
前記方法は、
前記複数の第2チップが出力するレディービジー信号を個別に受信すること、
を含む。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、半導体装置および方法に関する。
【背景技術】
【0002】
ホストに接続される外部端子と複数のメモリチップとの間にブリッジチップを配した半導体装置がある。この半導体装置では、ホストから複数のメモリチップへのアクセスがブリッジチップを介して行われる。ホストと複数のメモリチップとの間のデータ転送の効率を向上させることが望まれる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2015-144006号公報
【特許文献2】特開2018-101185号公報
【特許文献3】特開2012-43024号公報
【特許文献4】特開2015-111458号公報
【特許文献5】特許第6321682号公報
【特許文献6】特開2019-49976号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一つの実施形態は、ホストと複数のメモリチップとの間のデータ転送の効率を向上させた半導体装置およびホストと複数のメモリチップとの間のデータ転送の効率を向上させる方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
一つの実施形態によれば、半導体装置は、第1チップと、複数の第2チップと、複数の第1信号線と、を備える。第1チップは、ホストから第1信号が入力される端子群が電気的に接続されている。第2チップは、第1チップが電気的に接続され、それぞれはレディービジー信号を出力することができる。前記複数の第1信号線は、前記レディービジー信号を転送することができる。前記複数の第2チップは、前記複数の第1信号線のいずれかによって個別に第1チップに接続されている。
【図面の簡単な説明】
【0006】
図1図1は、第1の実施形態にかかる半導体装置が適用されるストレージシステムの構成の一例を示す模式的な図である。
図2図2は、第1の実施形態にかかる半導体装置の構成の一例を示す模式的な図である。
図3図3は、ホストがブリッジチップにメモリチップに宛てたコマンドを送信するときの第1の実施形態にかかる半導体装置の動作を説明するためのタイミングチャートである。
図4図4は、ホストがブリッジチップに宛てたコマンドを送信するときの第1の実施形態にかかる半導体装置の動作を説明するためのタイミングチャートである。
図5図5は、ホストがブリッジチップに宛てたコマンドを送信するときの変形例1にかかる半導体装置の動作を説明するためのタイミングチャートである。
図6図6は、第2の実施形態にかかる半導体装置の構成の一例を示す模式的な図である。
図7図7は、第2の実施形態にかかる半導体装置の動作を説明するためのタイミングチャートである。
図8図8は、第2の実施形態にかかるS406の動作の詳細を示すフローチャートである。
図9図9は、変形例2にかかる半導体装置の動作を説明するためのタイミングチャートである。
図10図10は、第3の実施形態にかかる半導体装置の構成の一例を示す模式的な図である。
図11図11は、メモリチップからブリッジチップを介してホストにデータが転送されるときの第3の実施形態にかかる半導体装置の動作を説明するためのタイミングチャートである。
図12図12は、第3の実施形態にかかるブリッジチップが進捗情報を通知する動作(S705の動作)の詳細を示すフローチャートである。
図13図13は、第4の実施形態にかかる半導体装置の構成の一例を示す模式的な図である。
図14図14は、第4の実施形態にかかるR/Bn管理回路の詳細な構成の一例を示す模式的な図である。
図15図15は、第4の実施形態にかかる半導体装置がR/Bn情報をホストに供給する動作を示すフローチャートである。
図16図16は、第5の実施形態にかかる半導体装置の構成の一例を示す模式的な図である。
図17図17は、第5の実施形態にかかるマルチリードコマンドの構成の一例を示す模式的な図である。
図18図18は、第5の実施形態にかかる複数のリードコマンド対の生成の動作を説明するためのフローチャートである。
図19図19は、第5の実施形態にかかるリードコマンド対のコマンドシーケンスの一例を示す模式的な図である。
図20図20は、第5の実施形態にかかるリードコマンド対の送信タイミングの一例を説明するためのタイミングチャートである。
図21図21は、第6の実施形態にかかる半導体装置の構成の一例を示す模式的な図である。
図22図22は、第6の実施形態にかかるアドレステーブルのデータ構造の一例を示す図である。
図23図23は、第6の実施形態にかかるアドレステーブルの書き込み方法を説明するためのタイミングチャートである。
図24図24は、第6の実施形態にかかる複数のリードコマンド対の生成の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【0007】
以下に添付図面を参照して、実施形態にかかる半導体装置および方法を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
【0008】
(第1の実施形態)
実施形態にかかる半導体装置は、ホストが接続可能な外部端子、第1チップであるブリッジチップ、及び第2チップであるメモリチップを備える。メモリチップは、ブリッジチップを介して外部端子に接続される。半導体装置の外部端子には、有線通信路を介してホストが接続される。この半導体装置では、ホストから有線通信路を介した複数のメモリチップへのアクセスがブリッジチップを介して行われる。各メモリチップは、例えば、NAND型フラッシュメモリ等の不揮発性メモリのメモリチップである。
【0009】
半導体装置では、実装密度を向上させるために、搭載されるメモリチップ数は多くなりつつある。例えば、複数のメモリチップを積層することで実装密度を向上させる。このとき、各メモリチップとの接続にかかる負荷を減らし高速化を図るために、FBI(Frequency Boosting Interface)チップと呼ばれるブリッジチップを外部端子に接続し、ブリッジチップと複数のメモリチップ間を複数のチャネルで接続する構成が取られることがある。各チャネルには、複数のメモリチップが接続され得る。
【0010】
ホストからブリッジチップを介してメモリチップにアクセスする時に、ブリッジが無かった時に比べて転送性能をより向上させたい要望がある。しかしデータ通信規格のプロトコルを其のまま使うのではこの要望は達成できない。当該要望に対する1つの解決策としては、ブリッジチップの動作を制御するための独自コマンドを用意することが考えられる。
【0011】
ホストと半導体装置とのデータ通信の規格では、全てのコマンド値に対して、実際の動作が定義されている訳ではない。動作が未定義のコマンド値をベンダーが任意の制御にアサインすることができ、ベンダースペシフィックと呼ばれている。このようなコマンド値を、ブリッジチップの動作を制御するコマンドにアサインすることが可能である。
【0012】
しかしながら、ベンダースペシフィックなコマンド値は、様々な用途に使用され得るため、ブリッジチップの制御にアサイン可能なコマンド値がほとんど残されていない。
【0013】
ベンダースペシフィックなコマンド値を使用しない場合、ステータスリードコマンドや、セット/ゲットフィーチャコマンドなど、規格によって用意されたレジスタアクセス用の既存のコマンドを用いることで、ブリッジチップに設けられた動作制御用のレジスタに情報を書き込んだりレジスタ内の情報を参照したりすることが考えられる。
【0014】
しかしながら、このような既存のコマンドは、ブリッジチップによって受信されるだけでなく、ブリッジチップを通過してメモリチップにも転送される。メモリチップは、当該レジスタアクセス用のコマンドを受信すると、そのコマンドが自身に宛てたものでなくても、規格で定められたなんらかの処理を実行する場合がある。そして、ブリッジチップがレジスタアクセス用のコマンドに応じた処理を終了したとしても、メモリチップにおいて規格で定められた処理の実行に、ブリッジチップでの処理よりも長い時間がかかる場合がある。そのような場合、ホストは、次のコマンドの送信を、メモリチップでの処理が完了するまで待たなければならない。このような無駄な待ち時間が生じる結果、ホストと複数のメモリチップとの間のデータ転送の速度が低下する。
【0015】
第1の実施形態では、ブリッジチップは、ホストから独自の(specific)信号を受信できるように構成されている。そして、ブリッジチップは、独自の信号を受信すると、後続して受信する信号(コマンドを含む)を自身宛の信号として解釈する。また、ブリッジチップは、独自の信号に後続して受信する信号を、何れのメモリチップにも転送しない。よって、メモリチップは、ブリッジチップ宛ての信号に起因した処理を開始しない。これによって、メモリチップがブリッジチップ宛ての信号に応じて意図せぬ処理を実行してしまうことを防止する。
【0016】
下記に、第1の実施形態にかかる半導体装置を説明する。なお、第1の実施形態は、後述される第2~第6の実施形態およびそれらの変形例の何れとも併用され得る。
【0017】
図1は、第1の実施形態にかかる半導体装置1が適用されるストレージシステムSYSの構成の一例を示す模式的な図である。
【0018】
ストレージシステムSYSは、ホストHA及び半導体装置1を含む。半導体装置1は、ブリッジチップ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型フラッシュメモリ等の不揮発性メモリのメモリチップである。
【0019】
ホストHAは、コントローラなどのデバイスであってもよいし、コンピュータまたは携帯端末などの電子機器に備えられ半導体装置1を制御するプロセッサであってもよい。半導体装置1は、有線通信路(例えば、シリアルバスなど)CH0を介してホストHAに接続可能である。半導体装置1とホストHAとは、所定の規格に基づき構成された有線通信路CH0を介して接続される。各メモリチップCP1-1~CP1-4,CP2-1~CP2-4がNAND型フラッシュメモリである場合、所定の規格は、例えば、トグルDDR規格である。例えば、有線通信路CH0はトグルDDRインタフェースとして機能する。
【0020】
ブリッジチップBCは、外部端子群10と複数の(ここでは2)チャネルCH1,CH2との間に電気的に接続されている。外部端子群10は、有線通信路CH0を介してホストHAに電気的に接続可能である。複数のメモリチップCP1-1~CP1-4,CP2-1~CP2-4は、複数のチャネルCH1,CH2を介してブリッジチップBCに接続されている。メモリチップCP1-1~CP1-4は、所定の規格に基づき構成されたチャネルCH1に接続されている。メモリチップCP2-1~CP2-4は、所定の規格に基づき構成されたチャネルCH2に接続されている。各メモリチップ1-1~CP1-4,CP2-1~CP2-4がNAND型フラッシュメモリである場合、所定の規格は、例えば、トグルDDR規格である。
【0021】
図2は、第1の実施形態にかかる半導体装置1の構成の一例を示す模式的な図である。なお、本図では、図示の簡略化のため、メモリチップCP1-1~CP1-4を表す1つのメモリチップCP1と、メモリチップCP2-1~CP2-4を表す1つのメモリチップCP2と、が図示されている。なお、以降、メモリチップCP1-1~CP1-4,CP2-1~CP2-4を総称して、メモリチップCPと表記する場合がある。
【0022】
チャネルCH0は、独自信号であるブリッジチップイネーブル信号BRG_CEnを転送する信号線、チップイネーブル信号CEnを転送する信号線、コマンドラッチ信号CLEを転送する信号線、アドレスラッチ信号ALEを転送する信号線、ライトイネーブル信号WEnを転送する信号線、リードイネーブル信号RE/REnを転送する信号線、データストローブ信号DQS/DQSnを転送する信号線、データ信号DQ[7:0]を転送する信号線、およびレディービジー信号R/Bnを転送する信号線、を含む。外部端子群10は、チャネルCH0を構成する信号線毎に端子を備え、当該端子によって信号線を受信する。なお、信号を表す符号の末尾に記された「n」は、負論理で動作せしめられる信号であることを表す。各信号が負論理で動作せしめられるか正論理で動作せしめられるかは任意に設計され得る。なお、レディービジー信号R/Bnに関しては、ここでは一例としてHレベルがレディー状態を示し、Lレベルがビジー状態を示すこととする。
【0023】
チップイネーブル信号CEnは、アクセスの対象となるメモリチップCPをイネーブル状態とするための信号である。データストローブ信号DQS/DQSnは、データ信号DQ[7:0]で送信されるデータを相手装置に取り込むように指示する信号である。データストローブ信号DQS/DQSnは、データストローブ信号DQSとデータストローブ信号DQSnとによって構成される差動信号である。コマンドラッチイネーブル信号CLEは、データ信号DQ[7:0]がコマンドであることを示す信号である。アドレスラッチイネーブル信号ALEは、データ信号DQ[7:0]がアドレスであることを示す信号である。ライトイネーブル信号WEnは、データ信号DQ[7:0]で送信されるコマンドまたはアドレスを取り込むように相手装置に指示する信号である。リードイネーブル信号RE/REnは、データ信号DQ[7:0]を出力するように相手装置に指示する信号である。リードイネーブル信号RE/REnは、リードイネーブル信号REおよびリードイネーブル信号REnによって構成される差動信号である。リードイネーブル信号RE/REnを受信した相手装置は、当該リードイネーブル信号RE/REnを遅延させることによってデータストローブ信号DQS/DQSnを生成することができる。レディービジー信号R/Bnは、コマンドの受信を待機している状態であるレディー状態(R)であるかコマンドを受信しても実行できない状態であるビジー状態(Bn)であるかを示す信号である。ここでは一例として、チャネルCH0は、チャネルCH1にかかるレディービジー信号R/Bnであるレディービジー信号R/Bn_1を転送する信号線と、チャネルCH2にかかるレディービジー信号R/Bnであるレディービジー信号R/Bn_2を転送する信号線と、を含んでいる。なお、チャネルCH0が含むレディービジー信号R/Bnを転送する信号線の構成は上記された例に限定されない。例えば、チャネルCH0は、レディービジー信号R/Bnに関しては、チャネルCH1にかかるレディービジー信号R/Bnと、チャネルCH1にかかるレディービジー信号R/Bnと、からワイヤー接続などによって生成された一つのレディービジー信号R/Bnを転送するための1つの信号線を備えていてもよい。
【0024】
ブリッジチップイネーブル信号BRG_CEnは、ブリッジチップBCを制御するためのコマンドが送信される際にアクティブ化される信号である。ブリッジチップBCは、ブリッジチップイネーブル信号BRG_CEnがアクティブ状態にある期間においては、当該期間に受信した情報(コマンド、またはコマンドに伴うデータ、等)を、自身に宛てた情報として解釈する。さらに、ブリッジチップイネーブル信号BRG_CEnがアクティブ状態にある期間においては、ホストHAから受信した信号を何れのメモリチップCPにも転送しない。ブリッジチップイネーブル信号BRG_CEnが非アクティブ状態にある期間においては、ホストHAから受信した情報をアクセス対象のメモリチップCPに転送する。
【0025】
以降、ホストHAから受信した信号のメモリチップCPへの転送が遮断され、ブリッジチップBCは、ホストHAから受信した信号をブリッジチップBCに対する信号として解釈する期間を、ブリッジ制御期間と表記する。ブリッジ制御期間以外の期間(非ブリッジ制御期間と表記する)でのブリッジチップBCの動作モード、つまりブリッジチップBCはホストHAから受信した信号をメモリチップCPへ転送する動作モード、は第1モードの一例である。ブリッジ制御期間での動作モード、つまりブリッジチップBCはホストHAから受信した信号をメモリチップCPへ転送せずに実行する動作モードは、第2モードの一例である。
【0026】
チャネルCH1,CH2のそれぞれは、ホストHAとブリッジチップBCとの間で送受信される信号群のうちの、ブリッジチップイネーブル信号BRG_CEnを除く信号群と同種の信号群を送受信できる。即ち、チャネルCH1,CH2のそれぞれは、チップイネーブル信号CEnを転送する信号線、コマンドラッチ信号CLEを転送する信号線、アドレスラッチ信号ALEを転送する信号線、ライトイネーブル信号WEnを転送する信号線、リードイネーブル信号RE/REnを転送する信号線、データストローブ信号DQS/DQSnを転送する信号線、データ信号DQ[7:0]を転送する信号線群、およびレディービジー信号R/Bnを転送する信号線、を備えている。
【0027】
メモリチップCP1-1~CP1-4は、チャネルCH1に共通接続されている。また、メモリチップCP2-1~CP2-4は、チャネルCH2に共通接続されている。なお、チャネルCH1,CH2を構成する信号線のうちの一部は、複数のメモリチップに共通接続されていなくてもよい。例えば、メモリチップCP1-1~CP1-4,CP2-1~CP2-4のそれぞれは、チップイネーブル信号CEnを転送する信号線でコントローラ101と一対一に接続されていてもよい。
【0028】
ブリッジチップBCは、コントローラ101、バッファメモリ102、及びチャネルインタフェース回路103を備える。
【0029】
バッファメモリ102は、ホストHAとメモリチップCPとの間の転送データが一時的に格納(バッファ)されるメモリである。バッファメモリ102は、DRAM(Dynamic Random Access Memory)によって構成されてもよいし、SRAM(Static Random Access Memory)によって構成されてもよい。なお、バッファメモリ102を構成するメモリのタイプはこれらに限定されない。
【0030】
チャネルインタフェース103は、チャネルCH1,CH2を介したメモリチップCPとの間の情報の通信を行う。チャネルインタフェース103は、コントローラ101から供給されたコマンド、アドレス、またはデータ、などをチャネルCH1,CH2経由でメモリチップCPへ転送したり、メモリチップCPから供給されたデータなどをバッファメモリ102へ格納したりコントローラ101へ供給したりする。
【0031】
例えば、チャネルインタフェース103は、外部端子群10に入力されたチップイネーブル信号CEn、コマンドラッチ信号CLE、アドレスラッチ信号ALE、ライトイネーブル信号WEn、およびデータ信号DQ[7:0]をチャネルCH1,CH2を介してメモリチップCPに供給することができる。
【0032】
また、メモリチップCPにデータを出力させるときには、チャネルインタフェース103は、リードイネーブル信号RE/REnをチャネルを介してデータ出力元のメモリチップCPに供給する。そして、チャネルインタフェース103は、データ出力元のメモリチップCPがデータ信号DQ[7:0]として出力したデータを、データ出力元のメモリチップCPがリードイネーブル信号RE/REnに基づいて生成したデータストローブ信号DQS/DQSnに基づくタイミングで取り込むことができる。
【0033】
チャネルインタフェース103が取り込んだデータは、バッファメモリ102に格納される。そして、ホストHAからのリードイネーブル信号RE/REnに応じたタイミングで、バッファメモリ102からホストHAにデータ信号DQ[7:0]として出力される。その際に、コントローラ101は、ホストHAからのリードイネーブル信号RE/REnに応じてデータストローブ信号DQS/DQSnを発生して、ホストHAに供給する。
【0034】
コントローラ101は、外部端子群10とチャネルインタフェース103との間に配されている。コントローラ101は、バッファメモリ102を使って、外部端子群10とチャネルインタフェース103との間の情報の授受を制御する。
【0035】
コントローラ101は、コマンドデコーダ111、マスク回路112、及びレジスタ113を有する。
【0036】
コマンドデコーダ111は、ホストHAから外部端子群10を介して受けたコマンドを解析する。コマンドデコーダ111は、解析結果に応じて、メモリチップCPに対するコマンドを発行することができる。
【0037】
マスク回路112は、メモリチップCPへの信号の供給をブリッジチップイネーブル信号BRG_CEnに応じて遮断することができる回路である。ブリッジチップイネーブル信号BRG_CEnがアクティブ状態にある期間、即ちブリッジ制御期間、には、マスク回路112は、メモリチップCPへの信号の供給を遮断する。ブリッジチップイネーブル信号BRG_CEnが非アクティブ状態にある期間、即ち非ブリッジ制御期間、には、マスク回路112は、メモリチップCPへの信号を透過する。マスク回路112は、例えばアンド回路によって構成される。なお、マスク回路112の構成はこれに限定されない。つまり、マスク回路112は、ブリッジチップイネーブル信号BRG_CEnに基づき、第1モードと第2モードとの間の切り替えを実現する。
【0038】
レジスタ113は、ブリッジチップBCの動作を制御するための各種情報(動作制御情報と表記する)が書き込まれるメモリである。
【0039】
動作制御情報は、特定の情報に限定されない。例えば、動作制御情報は、ブリッジチップBCの制御に使用される設定情報であってもよい。設定情報は、ホストHAから送られてきて、ブリッジチップBCに格納される。コントローラ101は、設定情報に従った動作を実行する。設定情報は、例えば、転送データのサイズ情報である。転送データのサイズ情報については、第2の実施形態において説明する。設定情報は、出力対象のデータの位置を示すアドレス値のリストであってもよい。出力対象のデータの位置を示すアドレス値のリストについては第6の実施形態において説明する。
【0040】
動作制御情報は、ブリッジチップBCのステータス情報であってもよい。ブリッジチップBCは、ホストHAから指示された動作(例えばリードなど)が所定のポイントまで進んだとき、その旨を示す進捗情報をステータス情報としてレジスタ113に書き込む。ホストHAは、レジスタ113内のステータス情報を参照することによって、指示した動作の進捗状況を把握して、次の動作を複数のメモリチップCPに指示するタイミングを判断することができる。進捗情報の例は、第3の実施形態において説明する。
【0041】
ホストHAは、レジスタ113に動作制御情報を書き込む場合には、メモリチップに対する既存のレジスタ書き込み用のコマンド、例えばセットフィーチャコマンド、を使用することができる。また、ホストHAは、レジスタ113内の動作制御情報を読み出す場合には、メモリチップに対する既存のレジスタ読み出し用のコマンド、例えばゲットフィーチャコマンド、を使用することができる。ホストHAは、レジスタ113内のステータス情報を読み出す場合には、メモリチップからステータス情報を読み出すための既存のコマンド、例えばステータスリードコマンド、を使用してもよい。
【0042】
ホストHAは、レジスタ113にアクセスする際には、予めブリッジチップイネーブル信号BRG_CEnをアクティブ状態にしておく。これによって、レジスタ113にアクセスするためのコマンドの何れもメモリチップCPに供給されないようにする。
【0043】
各メモリチップCPは、メモリセルアレイ201、周辺回路202、およびページバッファ203を備える。
【0044】
メモリセルアレイ201は、複数のブロックを備える。各ブロックは、不揮発性のメモリセルトランジスタの集合体である。各メモリセルトランジスタは、ロウおよびカラムに対応付けられており、データを記憶することができる。1つのブロックに格納された全データは、一括にイレースされ得る。
【0045】
メモリセルアレイ201に対するリード動作またはライト動作の際には、ロウを共有するメモリセルトランジスタの群が一括に選択され、選択されたメモリセルトランジスタの群に対してリード動作およびライト動作が一括に実行される。メモリセルアレイ201に対するリード動作およびライト動作の最小単位は、ページと称される。各メモリセルトランジスタが1ビットのデータを格納可能である場合には、ロウを共有するメモリセルトランジスタの群は、1ページ分の記憶容量を有する。各メモリセルトランジスタが2ビット以上のデータを格納可能である場合には、ロウを共有するメモリセルトランジスタの群は、2ページ以上の分の記憶容量を有する。
【0046】
メモリセルアレイ201は、ページバッファ203を介して周辺回路202に接続されている。
【0047】
周辺回路202は、ロウデコーダ、カラムデコーダ、センスアンプ、シーケンサ、コマンドレジスタ、アドレスレジスタ、ステータスレジスタ、フィーチャレジスタ、などを含む。周辺回路202は、メモリセルアレイ201の周辺に配され、チャネルに電気的に接続されている。周辺回路202は、チャネルを介してブリッジチップBCから受けたコマンドに応じて、ページバッファ203を利用して、メモリセルアレイ201の各メモリセルへのアクセス動作(例えば、リード動作、ライト動作)を制御する。
【0048】
ページバッファ203は、チャネルとメモリセルアレイ201との間のデータ転送のためのバッファメモリである。周辺回路202は、ブリッジチップBCから受けたデータリードコマンドに応じて、メモリセルアレイ201からデータを読み出してページバッファ203へ一時的に格納する。そのため、ページバッファ203は、メモリセルアレイ201に対するリード動作の最小単位、つまり1ページ分の記憶容量を有する。なお、メモリセルアレイ201からデータを読み出してページバッファ203へ格納する動作は、センス動作と称される。
【0049】
周辺回路202は、ブリッジチップBCから受けたデータアウトプットコマンドに応じて、ページバッファ203に格納されているデータをブリッジチップBCへ供給する。
【0050】
続いて、第1の実施形態にかかる半導体装置1の動作を説明する。
図3は、ホストHAがブリッジチップBCにメモリチップCPに宛てたコマンドを送信するときの第1の実施形態にかかる半導体装置1の動作を説明するためのタイミングチャートである。ここではメモリチップCPに宛てたコマンドの一例として、セットフィーチャコマンドを挙げる。また、あて先はチャネルCH1に接続された或るメモリチップCP1であることとする。
【0051】
ホストHAは、メモリチップCPに宛てたコマンド(換言するとブリッジチップBCに宛てたコマンドでないコマンド)を送信する際には、ブリッジチップイネーブル信号BRG_CEnを非アクティブ状態(Hレベル)に維持する。図3に示される例では、セットフィーチャコマンドのあて先はメモリチップCP1であるので、ホストHAは、ブリッジチップイネーブル信号BRG_CEnを非アクティブ状態(Hレベル)に維持する。
【0052】
そして、ホストHAは、チャネルCH0のチップイネーブル信号CEをアクティブ状態(Lレベル)に遷移させる(S101)。
【0053】
その後、ホストHAは、セットフィーチャコマンドを送信する(S102)。具体的には、ホストHAは、セットフィーチャコマンドを表すコマンド値C1、アクセス先の位置を表すアドレス値ADD100、および書き込み対象のデータD100、をこの順番で送信する。コマンド値C1の送信の際には、ホストHAは、コマンドラッチイネーブル信号CLEをアクティブ状態(Hレベル)に維持するとともに、ライトイネーブル信号WEnのトグルを行う。アドレス値ADD100の送信の際には、ホストHAは、アドレスラッチイネーブル信号ALEをアクティブ状態(Hレベル)に維持するとともに、ライトイネーブル信号WEnのトグルを行う。データD100の送信の際には、ホストHAは、データストローブ信号DQS/DQSnのトグルを行う。
【0054】
ブリッジチップイネーブル信号BRG_CEnが非アクティブ状態(Hレベル)に維持されているので、ブリッジチップBCのマスク回路112は、ホストHAからの信号をメモリチップCP群に転送する。よって、S102においてホストHAからブリッジチップBCに供給されたセットフィーチャコマンドは、ブリッジチップBCによってそのままチャネルCH1に転送される(S103)。
【0055】
あて先のメモリチップCP1では、周辺回路202は、コマンド値C1、アドレス値ADD100、およびデータD100からなるセットフィーチャコマンドをチャネルCH1を介して受信する。すると、周辺回路202は、受信したセットフィーチャコマンドに応じた処理を実行する。つまり、周辺回路202は、自身が有するフィーチャレジスタのうちのアドレス値ADD100が示す位置に、受信したデータD100を書き込む。周辺回路202がセットフィーチャコマンドに応じた処理を開始する際に、周辺回路202は、チャネルCH1のレディービジー信号R/Bnをビジー状態(Lレベル)に遷移させる(S104)。そして、周辺回路202は、セットフィーチャコマンドに応じた処理を完了した際に、チャネルCH1のレディービジー信号R/Bnをレディー状態に戻す(S105)。このチャネルCH1のレディービジー信号R/Bnは、そのままブリッジチップBCを介してチャネルCH0のレディービジー信号R/Bn_1としてホストHAに転送される。
【0056】
ホストHAは、レディービジー信号R/Bn_1がビジー状態からレディー状態に戻ったことを以て、セットフィーチャコマンドの実行が完了したことを認識し、チャネルCH0のチップイネーブル信号CEを非アクティブ状態(Hレベル)に遷移させる(S106)。
【0057】
このように、ホストHAは、何れかのメモリチップCPにコマンドを送信する際には、ブリッジチップイネーブル信号BRG_CEnを非アクティブ状態に維持する。ブリッジチップBCは、ブリッジチップイネーブル信号BRG_CEnが非アクティブ状態である場合には、ホストHAからのコマンドをチャネルCH1,CH2に透過する。よって、あて先のメモリチップCPは、自身に宛てたコマンドを受信することができる。
【0058】
図4は、ホストHAがブリッジチップBCに宛てたコマンドを送信するときの第1の実施形態にかかる半導体装置1の動作を説明するためのタイミングチャートである。ここではブリッジチップBCに宛てたコマンドの一例として、セットフィーチャコマンドを挙げる。
【0059】
ホストHAは、ブリッジチップBCに宛てたコマンドを送信する際には、ブリッジチップイネーブル信号BRG_CEnをアクティブ状態(Lレベル)に維持する。この例は、セットフィーチャコマンドのあて先はブリッジチップBCであるので、ホストHAは、ブリッジチップイネーブル信号BRG_CEnをアクティブ状態(Lレベル)に遷移させる(S201)。これによって、ブリッジ制御期間が開始する。
【0060】
続いて、ホストHAは、セットフィーチャコマンドを送信する(S202)。なお、この例では、ホストHAは、セットフィーチャコマンドを送信する前にチップイネーブル信号CEnをアクティブ状態(Lレベル)に遷移させている。ホストHAは、チップイネーブル信号CEnの制御を行わなくてもよい。
【0061】
セットフィーチャコマンドの送信の手順は、メモリチップCPに宛てたコマンドを送信する際と同様である。具体的には、ホストHAは、セットフィーチャコマンドを表すコマンド値C1、アクセス先の位置を表すアドレス値ADD101、および書き込み対象のデータD101、をこの順番で送信する。コマンド値C1の送信の際には、ホストHAは、コマンドラッチイネーブル信号CLEをアクティブ状態(Hレベル)に維持するとともに、ライトイネーブル信号WEnのトグルを行う。アドレス値ADD101の送信の際には、ホストHAは、アドレスラッチイネーブル信号ALEをアクティブ状態(Hレベル)に維持するとともに、ライトイネーブル信号WEnのトグルを行う。データD101の送信の際には、ホストHAは、データストローブ信号DQS/DQSnのトグルを行う。
【0062】
ブリッジ制御期間では、ブリッジチップBCのマスク回路112は、ホストHAからの信号のメモリチップCPへの転送を実行しない。
【0063】
また、ブリッジ制御期間では、ブリッジチップBCのコマンドデコーダ111は、コマンド値C1、アドレス値ADD101、およびデータD101は自身に宛てたセットフィーチャコマンドであると解釈する。そして、コントローラ101は、S202によって供給されたセットフィーチャコマンドを実行する。つまり、コントローラ101は、自身が備えるレジスタ113のうちのアドレス値ADD101が示す位置に、データD101を書き込む。
【0064】
ホストHAは、セットフィーチャコマンドの送信を完了すると、ブリッジチップイネーブル信号BRG_CEnを非アクティブ状態(Hレベル)に遷移させる(S203)。これによって、ブリッジ制御期間が終了する。
【0065】
このように、ホストHAは、ブリッジチップBCに宛てたコマンドを送信する際には、ブリッジチップイネーブル信号BRG_CEnをアクティブ状態に維持する。ブリッジチップBCは、ブリッジチップイネーブル信号BRG_CEnがアクティブ状態である場合には、ホストHAからのコマンドをチャネルCH1,CH2に転送しない。よって、何れのメモリチップCPも、ブリッジチップBCに宛てたコマンドを受信することができない。
【0066】
仮に、ブリッジチップBCに宛てたセットフィーチャコマンドを或るメモリチップCPが受信した場合、そのメモリチップCPは、たとえそのセットフィーチャコマンドは自身が実行できるものでなかったとしても、規格で定められたなんらかの処理を実行することがある。つまり、そのメモリチップCPは、誤動作を実行してしまうことがある。そのメモリチップCPは、規格で定められた処理を実行している期間には、たとえその処理が誤動作であっても、レディービジー信号R/Bnをビジー状態に維持し、そのレディービジー信号R/BnはチャネルCH0を介してホストHAに送られる。ホストHAは、チャネルCH0のレディービジー信号R/Bnがビジー状態である期間には、次のコマンドをチャネルCH0を介して送信することができない。
【0067】
第1の実施形態によれば、ブリッジチップBCは、ホストから受信したコマンドをメモリチップCPに転送する第1モード(換言すると非ブリッジ制御期間での動作モード)と、ホストから受信したコマンドをメモリチップCPに転送せずに当該コマンドに応じた動作を実行する第2モード(換言するとブリッジ制御期間での動作モード)と、の切り替えをブリッジチップイネーブル信号BRG_CEnに応じて実行することができるように構成されている。
【0068】
ホストHAは、ブリッジチップイネーブル信号BRG_CEnを用いることによって、ブリッジチップBCに宛てたコマンドがメモリチップCPに到達することを防止することができる。よって、ブリッジチップBCに宛てたコマンドによってメモリチップCPが誤動作を行うことが防止でき、ホストHAが誤動作の完了を待つ時間の発生が防止される。ホストHAは、ブリッジチップBC宛てのコマンドを送信した後、速やかにメモリチップCPに次のコマンドを送信することが可能であるため、ホストHAと複数のメモリチップCPとの間のデータ転送の速度を高速化することが可能である。
【0069】
なお、第1の実施形態では、外部端子群10は、ブリッジチップイネーブル信号BRG_CEnを受信するための専用の端子を含んでいる。
【0070】
(変形例1)
上記第1の実施形態では、ブリッジ制御期間を制御するための独自の信号として、ブリッジチップイネーブル信号BRG_CEnが使用された。ブリッジ制御期間を制御するための独自の信号はこれに限定させない。
【0071】
例えば、ブリッジ制御期間を制御するための独自の信号として、ベンダースペシフィックなコマンド値のうちの1つを利用することができる。変形例1では、ベンダースペシフィックなコマンド値のうちの1つがブリッジ制御コマンドにアサインされる。即ち、変形例1では、ブリッジ制御コマンドがブリッジ制御期間を制御するための独自の信号に相当する。そして、変形例1では、チャネルCH0は、第1の実施形態のチャネルCH0からブリッジチップイネーブル信号BRG_CEnを省略した構成を有している。
【0072】
また、コントローラ101は、内部ブリッジチップイネーブル信号IBRG_CEnの信号線を備えている。内部ブリッジチップイネーブル信号IBRG_CEnは、マスク回路112に対して、ブリッジチップイネーブル信号BRG_CEnと同様の作用を行う。例えば、内部ブリッジチップイネーブル信号IBRG_CEnは、例えばレジスタ113に格納されている。内部ブリッジチップイネーブル信号IBRG_CEnは、信号線によってマスク回路112に入力される。内部ブリッジチップイネーブル信号IBRG_CEnがアクティブ状態(Lレベル)にある期間には、マスク回路112は、メモリチップCPへの信号の供給を遮断する。内部ブリッジチップイネーブル信号IBRG_CEnが非アクティブ状態(Hレベル)にある期間には、マスク回路112は、メモリチップCPへの信号を透過する。内部ブリッジチップイネーブル信号IBRG_CEnがアクティブ状態(Lレベル)である期間が、ブリッジ制御期間に相当する。
【0073】
コマンドデコーダ111は、ホストHAから受信したコマンドがブリッジ制御コマンドであると解釈した場合には、内部ブリッジチップイネーブル信号IBRG_CEnをアクティブ状態(Lレベル)に遷移させる。内部ブリッジチップイネーブル信号IBRG_CEnがアクティブ状態(Lレベル)にある期間において、チャネルCH0のチップイネーブル信号CEnがアクティブ状態(Lレベル)から非アクティブ状態(Hレベル)に遷移すると、コントローラ101は、内部ブリッジチップイネーブル信号IBRG_CEnをアクティブ状態(Lレベル)から非アクティブ状態(Hレベル)に遷移させる。
【0074】
図5は、ホストHAがブリッジチップBCに宛てたコマンドを送信するときの変形例1にかかる半導体装置1の動作を説明するためのタイミングチャートである。ここではブリッジチップBCに宛てたコマンドの一例として、セットフィーチャコマンドを挙げる。
【0075】
変形例1によれば、ホストHAは、あて先がブリッジチップBCであるかメモリチップCPであるかに関わらず、チップイネーブル信号CEnをアクティブ状態(Lレベル)に遷移させる(S301)。
【0076】
そして、ホストHAは、ブリッジチップBCにブリッジ制御期間を開始させるために、ブリッジ制御コマンドを送信する(S302)。S302では、ホストHAは、ブリッジ制御コマンドを表すコマンド値C2をデータ信号DQ[7:0]として送信する。コマンド値C2の送信の際には、ホストHAは、コマンドラッチイネーブル信号CLEをアクティブ状態(Hレベル)に維持するとともに、ライトイネーブル信号WEnのトグルを行う。
【0077】
ブリッジチップBCは、コマンド値C2を受信すると、コマンドデコーダ111は、当該コマンド値C2がブリッジ制御コマンドを表すことを解釈する。すると、コントローラ101は、内部ブリッジチップイネーブル信号IBRG_CEnをアクティブ状態(Lレベル)に遷移させる(S304)。マスク回路112は、内部ブリッジチップイネーブル信号IBRG_CEnがアクティブ状態(Lレベル)に遷移したことに応じて、ホストHAからの信号のメモリチップCPへの供給の遮断を開始する。これによって、ブリッジ制御期間が開始する。
【0078】
ブリッジ制御期間が開始するまでの期間では、内部ブリッジチップイネーブル信号IBRG_CEnは非アクティブ状態(Hレベル)にあった。よって、ブリッジチップBCは、ホストHAから受信したブリッジ制御コマンドを、チャネルCH0,CH1を介してメモリチップCPに転送する(S303)。つまり、メモリチップCPは、ブリッジ制御コマンドを受信する。コマンド値C2は、メモリチップCPのベンダースペシフィックなコマンドとして定義されていない未定義な値の中から選択された値であり、メモリチップCPは解釈することができない。よって、メモリチップCPは、コマンド値C2を受信したとしても、何の処理も開始しない。
【0079】
ブリッジ制御期間が開始すると、図4に示された第1の実施形態の動作と同様に、ホストHAは、セットフィーチャコマンドを送信する(S305)。具体的には、ホストHAは、セットフィーチャコマンドを表すコマンド値C1、アクセス先の位置を表すアドレス値ADD103、および書き込み対象のデータD103をこの順番で送信する。
【0080】
ブリッジ制御期間においては、ブリッジチップBCのコントローラ101は、ホストHAから供給されたコマンド(この場合はセットフィーチャコマンド)は自身に宛てたコマンドであると解釈する。そして、コマンドデコーダ111は、受信したコマンドはセットフィーチャコマンドであると解釈する。そして、コントローラ101は、セットフィーチャコマンドに応じた処理を実行する。つまり、コントローラ101は、自身が備えるレジスタ113のうちのアドレス値ADD103が示す位置に、データD103を書き込む。
【0081】
また、ブリッジ制御期間においては、ホストHAが送信したセットフィーチャコマンドは、メモリチップCPには到達しない。よって、メモリチップCPは、ブリッジチップBCに宛てたセットフィーチャコマンドに応じた動作を実行することはない。
【0082】
ホストHAは、セットフィーチャコマンドの送信を完了すると、チップイネーブル信号CEを非アクティブ状態(Hレベル)に遷移させるS306。すると、ブリッジチップBCのコントローラ101は、内部ブリッジチップイネーブル信号IBRG_CEnを非アクティブ状態(Hレベル)に遷移させる(S306)。これによって、ブリッジ制御期間が終了する。ブリッジ制御期間が終了したことで、ブリッジチップBCは、ホストHAからのコマンドをメモリチップCPに転送することが可能になる。
【0083】
ホストHAがブリッジチップBCにメモリチップCPに宛てたコマンドを送信するときの変形例1にかかる半導体装置1の動作は、図3に示された第1の実施形態にかかるタイミングチャートにおいて、ブリッジチップイネーブル信号BRG_CEnを内部ブリッジチップイネーブル信号IBRG_CEnに読み替えた動作と等しい。よって、ホストHAがブリッジチップBCにメモリチップCPに宛てたコマンドを送信するときの変形例1にかかる半導体装置1の動作の説明は省略される。
【0084】
このように、変形例1によれば、ブリッジチップBCにブリッジ制御期間を開始させるための独自のコマンドであるブリッジ制御コマンドが用意されている。ベンダースペシフィックなコマンド値のうちの1つだけをブリッジ制御コマンドにアサインするだけで、ブリッジ制御期間の制御が可能である。
【0085】
第1の実施形態および変形例1では、ホストHAはブリッジ制御期間において使用されるコマンドの一例として、セットフィーチャコマンドを挙げた。ブリッジチップBCは、ブリッジ制御期間において、セットフィーチャコマンドに限らず、レジスタアクセス用の任意のコマンドを実行可能に構成され得る。例えば、ブリッジチップBCは、ブリッジ制御期間においてゲットフィーチャコマンドを受信すると、レジスタ113の内容をホストHAに供給することができる。また、ブリッジチップBCは、ブリッジ制御期間においてステータスリードコマンドを受信すると、レジスタ113に格納されているステータス情報をホストHAに供給することができる。
【0086】
ブリッジチップBCがブリッジ制御期間において実行可能なコマンドは、セット/ゲットフィーチャコマンドおよびステータスリードコマンドに限定されない。ブリッジチップBCは、ブリッジ制御期間において、任意のコマンドを実行可能に構成され得る。
【0087】
また、ブリッジチップBCがブリッジ制御期間において実行できるコマンドは、特定の規格に縛られることなく、任意に定義され得る。例えば、ブリッジチップBCは、ブリッジ制御期間においては独自に定義されたコマンドが使用可能に構成されてもよい。ブリッジ制御期間においてレジスタ113にアクセスするためのコマンドは、規格によって用意された上述のコマンド(セット/ゲットフィーチャコマンド、またはステータスリードコマンドなど)に限られず、独自に定義されてもよい。また、ブリッジ制御期間においてレジスタ113にアクセスするためのコマンドは、規格によって用意された任意のコマンドを流用したものであってもよい。
【0088】
また、ブリッジ制御期間においては、メモリチップCPには如何なるコマンドも到達しない。よって、ブリッジ制御期間において半導体装置1がホストHAに提供するアドレス空間(第1のアドレス空間と表記する)は、ブリッジ制御期間と異なる期間、つまりブリッジチップBCがコマンドを透過する期間、において半導体装置1がホストHAに提供するアドレス空間(第2のアドレス空間と表記する)と異なっていてもよい。
【0089】
例えば、第1のアドレス空間には、ブリッジチップBCが備えるバッファメモリ102が提供する記憶領域と、ブリッジチップBCが備えるレジスタ113が提供する記憶領域と、がマッピングされている。第1のアドレス空間には、メモリチップCPが提供する記憶領域はマッピングされていなくてもよい。第2のアドレス空間には、メモリチップCPが提供する記憶領域がマッピングされている。第2のアドレス空間には、ブリッジチップBCが提供する記憶領域はマッピングされていなくてもよい。
【0090】
また、第1の実施形態によれば、ベンダースペシフィックなコマンド値は必要とされない。変形例1によれば、ベンダースペシフィックなコマンド値を1つだけブリッジ制御期間の制御にアサインされるだけでよい。
【0091】
つまり、第1の実施形態および変形例1によれば、ベンダースペシフィックなコマンド値をほとんど使用せずに、ブリッジチップBCを制御するコマンドに関して高い設計自由度を得ることができる。
【0092】
また、前述されたように、第1の実施形態および変形例1によれば、ブリッジ制御期間においては何れのコマンドもメモリチップCPに到達しない。よって、ブリッジチップBCを制御するためのコマンドに起因したメモリチップCPの誤作動を防止でき、メモリチップCPの誤作動による無駄な待ち時間の発生が抑制される。その結果、ホストHAと複数のメモリチップCPとの間のデータ転送の速度を向上させることができる。
【0093】
(第2の実施形態)
トグルDDR規格によれば、メモリチップCPにデータを出力させるためのコマンドとして、データアウトプットコマンドが用意されている。データアウトプットコマンドは、出力対象のデータのサイズの指定を含んでいない。出力対象のデータのサイズは、データアウトプットコマンドの後に送信されるリードイネーブル信号RE/REnのトグル数によって指定される。
【0094】
半導体装置に具備されるブリッジチップは、ホストからデータアウトプットコマンドを受信すると、ホストからリードイネーブル信号RE/REnの供給をうける前に、データ出力元のメモリチップに自発的にリードイネーブル信号RE/REnを供給する。これによって、ブリッジチップは、出力対象のデータを、自身が備えるバッファメモリに予め取得する。その後、ブリッジチップは、ホストからリードイネーブル信号RE/REnの入力を受けると、バッファメモリに予め取得された出力対象のデータをホストに供給する。
【0095】
つまり、ブリッジチップは、メモリチップへのリードイネーブル信号RE/REnをドライブして、メモリチップが出力したデータを受け取る。よって、ブリッジチップが複数のチャネル(例えばチャネルCH1,CH2)のうちのあるチャネルを介してメモリチップとの間でリードイネーブル信号RE/REnおよびデータの送受信を行っている期間、チャネルCH0および複数のチャネルのうちの別のチャネルが空いている。つまり、その期間に、ホストは、ブリッジチップへのアクセス(コマンドまたはデータの転送など)を実行したり、当該別のチャネルに接続された別のメモリチップへのブリッジチップを介したアクセス(コマンドまたはデータの転送など)を実行したりすることができる。また、上記期間に、ブリッジチップは、当該別のチャネルに接続された別のメモリチップとの間でリードイネーブル信号RE/REnおよびデータの送受信を行うこともできる。
【0096】
ここで、出力対象のデータのサイズがブリッジチップに知らされていない時点でブリッジチップが出力対象のデータを不足なく取得するためには、ブリッジチップは、データ出力元のメモリチップのページバッファメモリに格納されている全てのデータを取得する必要がある。しかしながら、ページバッファに格納されているデータのうちの一部のみが出力対象のデータである場合、出力対象のデータ以外の不要なデータを取得することになる。当該不要なデータを取得する時間は余分であり、データ転送の効率が低下する。
【0097】
第2の実施形態では、半導体装置は、データアウトプットコマンドなどのデータ転送に関するコマンドが入力される前に転送対象のデータのサイズを指定できるように構成されている。以下に、第2の実施形態の半導体装置について説明する。
【0098】
第2の実施形態にかかる半導体装置を半導体装置1aと表記する。また、半導体装置1aに具備されるブリッジチップBCを、ブリッジチップBCaと表記する。第1の実施形態と同じ構成要素には第1の実施形態と同じ符号を付す。また、第1の実施形態と同じ構成要素については簡略的に説明するか、または説明を省略する。
【0099】
なお、第2の実施形態は、第1の実施形態または第1の実施形態の変形例である変形例1とともに適用される。ここでは一例として、第2の実施形態が第1の実施形態とともに適用される場合について説明する。
【0100】
図6は、第2の実施形態にかかる半導体装置1aの構成の一例を示す模式的な図である。半導体装置1aは、ブリッジチップBCaおよびメモリチップCP1-1~CP1-4,CP2-1~CP2-4を備える。ここでは図2と同様に、メモリチップCP1-1~CP1-4の代表として1つのメモリチップCP1と、メモリチップCP2-1~CP2-4の代表として1つのメモリチップCP2とが描画されている。
【0101】
各メモリチップCPは、メモリセルアレイ201、周辺回路202、およびページバッファ203を備える。
【0102】
ブリッジチップBCaは、コントローラ101a、バッファメモリ102、及びチャネルインタフェース103を備える。コントローラ101aは、コマンドデコーダ111、マスク回路112、レジスタ113、およびRE/REn発生回路114を備える。
【0103】
レジスタ113には、ホストHAから受信したサイズ情報121が格納され得る。レジスタ113へのサイズ情報121の格納は、ブリッジ制御期間において実行される。ホストHAは、ブリッジチップイネーブル信号BRG_CEnをアクティブ状態(Lレベル)に維持した状態で、所定のコマンド(例えば、セットフィーチャコマンド、または独自に定義されたレジスタ書き込み用のコマンド)を用いてサイズ情報121のレジスタ113への書き込みをブリッジチップBCaに指示する。ブリッジチップBCaでは、コマンドデコーダ111がホストHAから受信した上記コマンドがサイズ情報121をレジスタ113に書き込むコマンドであることを解釈すると、コントローラ101aは、サイズ情報121をレジスタ113に格納する。以降にデータアウトプットコマンドをホストHAから受信したとき、コマンドデコーダ111は、サイズ情報121として設定されたサイズを、当該データアウトプットコマンドによって出力対象とされたデータのサイズとして解釈する。
【0104】
RE/REn発生回路114は、ホストHAから受信したコマンドがデータアウトプットコマンドである場合、自律的にリードイネーブル信号RE/REnを発生する。このとき、RE/REn発生回路114は、レジスタ113に格納されたサイズ情報121に対応した数だけリードイネーブル信号RE/REnをトグルする。発生されたリードイネーブル信号RE/REnは、チャネルインタフェース103からチャネルCH1,CH2の何れかを介してデータ出力元のメモリチップCPに供給される。
【0105】
メモリチップCPには、出力対象のデータの先頭位置が、データアウトプットコマンドに含められてブリッジチップBCaから供給される。また、ブリッジチップBCaからメモリチップCPに供給されるリードイネーブル信号RE/REnのトグル数は、出力対象のデータのサイズに対応する。よって、データ出力元のメモリチップCPは、ページバッファ203に予め格納されたデータのうちの出力対象のデータを特定でき、出力対象のデータのみをブリッジチップBCaに供給することができる。
【0106】
ブリッジチップBCaは、データ出力元のメモリチップCPが出力したデータをバッファメモリ102に格納する。ホストHAがブリッジチップBCaにリードイネーブル信号RE/REnを供給すると、コントローラ101aは、ホストHAから供給されたリードイネーブル信号RE/REnに応じてバッファメモリ102内のデータをデータ信号DQ[7:0]としてホストHAに供給する。
【0107】
図7は、第2の実施形態にかかる半導体装置1aの動作を説明するためのタイミングチャートである。ここでは、データ出力元のメモリチップCPは、データリードコマンドを既に受信しており、データリードコマンドに応じて、出力対象のデータを含む読み出し単位のデータ(即ちページ)がページバッファ203に格納されていることとする。
【0108】
まず、ホストHAは、ブリッジチップBCaに宛ててサイズ情報121を送信するために、ブリッジチップイネーブル信号BRG_CEnをアクティブ状態(Lレベル)に遷移させる(S401)。これによって、ブリッジ制御期間が開始する。
【0109】
続いて、ホストHAは、ブリッジチップBCaのレジスタ113にサイズ情報121を書き込むために、セットフィーチャコマンドを送信する(S402)。セットフィーチャコマンドの送信の手順は、第1の実施形態および変形例1で説明された手順と同じである。即ち、S402では、ホストHAは、セットフィーチャコマンドを表すコマンド値C1、アクセス先の位置を表すアドレス値ADD104、および書き込み対象のデータD104、をこの順番で送信する。S402では、書き込み対象のデータD104としてサイズ情報121が送信される。
【0110】
S104のセットフィーチャコマンドの送信の際にはブリッジチップイネーブル信号BRG_CEnがアクティブ状態(Lレベル)に維持されているので、ブリッジチップBCaでは、コントローラ101aは、受信したコマンドは自身に宛てたものであると解釈する。また、コマンドデコーダ111は、受信したコマンドはセットフィーチャコマンドであると解釈する。すると、コントローラ101aは、セットフィーチャコマンドに応じて、サイズ情報121をレジスタ113に格納する。
【0111】
ホストHAは、セットフィーチャコマンドの送信が完了すると、ブリッジチップイネーブル信号BRG_CEnを非アクティブ状態(Hレベル)に遷移させる(S403)。これによって、ブリッジ制御期間が終了する。
【0112】
続いて、ホストHAは、データアウトプットコマンドを送信する(S404)。S404では、ホストHAは、データアウトプットコマンドを表すコマンド値C3,C4の対のうちのコマンド値C3、ページバッファ203に格納されたデータのうちの出力対象のデータの先頭の位置を表すアドレス値ADD105、およびコマンド値C4、をこの順番で送信する。コマンド値C3,C4の送信際には、ホストHAは、コマンドラッチイネーブル信号CLEをアクティブ状態(Hレベル)に維持するとともにライトイネーブル信号WEnをトグルする。アドレス値ADD105の送信の際には、ホストHAは、アドレスラッチイネーブル信号ALEをアクティブ状態(Hレベル)に維持するとともにライトイネーブル信号WEnをトグルする。
【0113】
S404は、ブリッジ制御期間が終わった後に実行されているので、S404においてホストHAからブリッジチップBCaに送信されるデータアウトプットコマンドは、そのままブリッジチップBCaからデータ出力元のメモリチップCPに供給される(S405)。
【0114】
データアウトプットコマンドのあて先のメモリチップCP、つまりデータ出力元のメモリチップCPは、データアウトプットコマンドを受信すると、ページバッファ203に格納されたデータのうちのアドレス値ADD105によって指定された位置のデータの出力の準備を行う。
【0115】
その後、ブリッジチップBCaのRE/REn発生回路114は、リードイネーブル信号RE/REnを発生する。そのリードイネーブル信号RE/REnは、チャネルインタフェース103からデータ出力元のメモリチップCPに供給される(S406)。
【0116】
図8は、第2の実施形態にかかるS406の動作の詳細を示すフローチャートである。まず、RE/REn発生回路114は、レジスタ113に格納されたサイズ情報121を参照する(S501)。そして、RE/REn発生回路114は、サイズ情報121に対応した数だけトグルされたリードイネーブル信号RE/REnを発生する(S502)。そして、チャネルインタフェース103は、発生されたリードイネーブル信号RE/REnをデータ出力元のメモリチップCPに供給する(S503)。そして動作が終了する。
【0117】
図7に説明を戻す。
ブリッジチップBCaによるリードイネーブル信号RE/REnの供給が開始すると、データ出力元のメモリチップCPでは、周辺回路202は、ページバッファ203に格納されたデータを、アドレス値ADD105によって指定された位置のデータから順番にデータ信号DQ[7:0]として出力する(S407)。S407では、周辺回路202は、リードイネーブル信号RE/REnのトグルに同期して、8ビットずつ順番にデータを出力する。
【0118】
周辺回路202は、8ビットずつデータを出力する際に、データストローブ信号DQS/DQSnをトグルする(S408)。なお、周辺回路202は、ブリッジチップBCaから供給されたリードイネーブル信号RE/REnを遅延させることによって、データストローブ信号DQS/DQSnを発生する。
【0119】
ブリッジチップBCaは、データ出力元のメモリチップCPから供給されたデータをデータストローブ信号DQS/DQSnのトグルのタイミングで順次取り込み、取り込んだデータをバッファメモリ102に格納する。これによって、出力対象のデータがバッファメモリ102に格納される。その後、ホストHAは、ブリッジチップBCaにリードイネーブル信号RE/REnを供給すると、ブリッジチップBCaにバッファメモリ102に格納された出力対象のデータをホストHAへ出力させることができる。
【0120】
なお、以上では、サイズ情報121が出力対象のデータのサイズ(より詳しくはページバッファ203から出力するデータのサイズ)の設定値を表す例について説明した。サイズ情報121は、入力対象のデータのサイズ(より詳しくはページバッファ203に入力するデータのサイズ)の設定値を表すものであってもよい。
【0121】
また、サイズ情報121は、アクセス先のメモリチップCP毎またはアクセス先のメモリチップCPが接続されたチャネル毎、など個別に設定が可能であってもよい。
【0122】
このように、第2の実施形態によれば、ブリッジチップBCaは、ページバッファ203に入出力するデータのサイズの設定値である。
【0123】
よって、ブリッジチップBCaは、出力対象のデータのみをメモリチップCPから取得することが可能である。ブリッジチップBCaは、出力対象のデータ以外の不要なデータを取得しないことが可能であるので、不要なデータの取得に要する時間を削減でき、これによってデータ転送の効率の低下を抑制することができる。
【0124】
(変形例2)
第2の実施形態の変形例として、変形例2を説明する。変形例2にかかるブリッジチップBCaは、独自に定義されたコマンドによってサイズ情報121のレジスタ113への書き込みが可能なように構成されている。サイズ情報121を書き込むための独自に定義されたコマンドを、サイズ設定コマンド、と表記する。サイズ設定コマンドは、ブリッジ制御期間において使用可能である。
【0125】
図9は、変形例2にかかる半導体装置1aの動作を説明するためのタイミングチャートである。ここでは、データ出力元のメモリチップCPは、データリードコマンドを既に受信しており、データリードコマンドに応じて、出力対象のデータを含む読み出し単位のデータ(即ちページ)がページバッファ203に格納されていることとする。
【0126】
まず、ホストHAは、ブリッジチップBCaに宛ててサイズ情報121を送信するために、ブリッジチップイネーブル信号BRG_CEnをアクティブ状態(Lレベル)に遷移させる(S601)。これによって、ブリッジ制御期間が開始する。
【0127】
続いて、ホストHAは、ブリッジチップBCaのレジスタ113にサイズ情報121を書き込むために、サイズ設定コマンドを送信する(S602)。S602では、ホストHAは、サイズ設定コマンドを表すコマンド値C5、およびアドレス値ADD106をこの順番で送信する。コマンド値C5の送信の際には、ホストHAは、コマンドラッチイネーブル信号CLEをアクティブ状態(Hレベル)に維持するとともに、ライトイネーブル信号WEnをトグルする。アドレス値ADD106の送信の際には、ホストHAは、アドレスラッチイネーブル信号ALEをアクティブ状態(Hレベル)に維持するとおもに、ライトイネーブル信号WEnをトグルする。
【0128】
ここで、サイズ設定コマンドは、サイズ情報121をアドレス値として送信できるように構成されている。即ち、アドレス値ADD106は、サイズ情報121を表す。サイズ情報121の内容である生の数値情報がアドレス値として送信されてもよい。または、複数の数値情報が予め用意されており、アドレス値によって複数の数値情報のうちの1つをサイズ情報121として選択できるよう、サイズ設定コマンドが構成されていてもよい。
【0129】
S602では、ブリッジチップイネーブル信号BRG_CEnがアクティブ状態(Lレベル)に維持されているので、ブリッジチップBCaのコントローラ101aは、受信したコマンドは自身に宛てたものであると解釈する。また、コマンドデコーダ111は、受信したコマンドはサイズ設定コマンドであると解釈する。すると、コントローラ101aは、サイズ設定コマンドに応じて、サイズ情報121をレジスタ113に格納する。
【0130】
ホストHAは、サイズ設定コマンドの送信が完了すると、ブリッジチップイネーブル信号BRG_CEnを非アクティブ状態(Hレベル)に遷移させる(S603)。これによって、ブリッジ制御期間が終了する。
【0131】
S603によって、サイズ情報121の書き込みが完了する。S603の以降は、第2の実施形態にかかる半導体装置1aと同様に、データアウトプットコマンドの送信などの処理(例えば図7のS404~S408の処理)が実行され得る。
【0132】
このように、サイズ情報121の書き込みのために、独自のコマンド(ここではサイズ設定コマンド)が用意されていてもよい。
【0133】
第2の実施形態および変形例2では、サイズ情報121の書き込みのためのコマンドは、ブリッジチップイネーブル信号BRG_CEnによってブリッジ制御期間が開始された後に送信された。ブリッジ制御期間の開始の方法はブリッジチップイネーブル信号BRG_CEnを用いた方法に限定されない。ブリッジ制御コマンドによってブリッジ制御期間が開始されるよう、ブリッジチップBCaが構成されてもよい。
【0134】
また、サイズ情報121の書き込みのタイミングは、データアウトプットコマンドの直前のタイミングだけに限定されない。サイズ情報121の書き込みは、任意のタイミングで実行され得る。例えば、パワーオンシーケンスの途中でデータアウトプットコマンドとは関係のないタイミングで実施してもよい。
【0135】
サイズ情報121は、使用可能な回数が決められていてもよい。例えば、サイズ情報121は1回だけ使用できるように構成された場合、ブリッジチップBCaのコントローラ101は、サイズ情報121を使用すると、そのサイズ情報121を削除または無効化してもよい。または、サイズ情報121は、ホストHAからの指示によって更新(または削除)されるまで、何度でも使用可能に構成されてもよい。ホストHAは、ブリッジ制御期間において所定のコマンド(例えば、セットフィーチャコマンド、または独自に定義されたレジスタ書き込み用のコマンド)を使用することによって、サイズ情報121を更新(または削除)することができる。
【0136】
また、サイズ情報121がレジスタ113内に存在しない場合や、レジスタ113内のサイズ情報121が無効化されている場合、ブリッジチップBCaは、出力対象のデータのサイズはページサイズであると解釈してもよい。なお、サイズ情報121がレジスタ113内に存在しない場合や、レジスタ113内のサイズ情報121が無効化されている場合の動作はこれに限定されない。
【0137】
(第3の実施形態)
前述されたように、データアウトプットコマンドによって出力対象とされたデータは、メモリチップからブリッジチップのバッファに取得され、そしてブリッジチップのバッファからホストに取得される。ホストは、ブリッジチップが出力対象のデータの全てを取得することを待ってから当該データをブリッジチップから取得する場合、待ち時間が多く、これによってデータ転送の効率が低下する。
【0138】
第3の実施形態では、ブリッジチップは、出力対象のデータの一部を取得すると、当該データのホストへの供給を開始できるように構成されている。
【0139】
第3の実施形態にかかる半導体装置を半導体装置1bと表記する。第3の実施形態にかかるブリッジチップをブリッジチップBCbと表記する。第1または第2の実施形態と同じ構成要素には第1または第2の実施形態と同じ符号を付す。また、第1または第2の実施形態と同じ構成要素については簡略的に説明するか、または説明を省略する。
【0140】
なお、第3の実施形態は、第1の実施形態または第1の実施形態の変形例である変形例1、および第2の実施形態または第2の実施形態の変形例である変形例2とともに適用される。ここでは一例として、第3の実施形態は、第1の実施形態および第2の実施形態ともに適用される場合について説明する。
【0141】
図10は、第3の実施形態にかかる半導体装置1bの構成の一例を示す模式的な図である。半導体装置1bは、ブリッジチップBCbおよびメモリチップCP1-1~CP1-4,CP2-1~CP2-4を備える。ここでは図2と同様に、メモリチップCP1-1~CP1-4の代表として1つのメモリチップCP1と、メモリチップCP2-1~CP2-4の代表として1つのメモリチップCP2とが描画されている。
【0142】
第3の実施形態では、ホストHAとブリッジチップBCbとを接続するチャネルであるチャネルCH0は、ブリッジチップBCbと複数のメモリチップCPとを接続するチャネルであるチャネルCH1,CH2よりも高い周波数でデータ転送が可能に構成され得る。以下の説明では一例として、チャネルCH0は、チャネルCH1,CH2のそれぞれの2倍の周波数でデータ転送が可能であることとする。つまり、チャネルCH0は、チャネルCH1,CH2のそれぞれの2倍の速度でデータ転送を実行することができる。
【0143】
各メモリチップCPは、メモリセルアレイ201、周辺回路202、およびページバッファ203を備える。
【0144】
ブリッジチップBCbは、コントローラ101b、バッファメモリ102、及びチャネルインタフェース103を備える。コントローラ101bは、コマンドデコーダ111、マスク回路112、レジスタ113、およびRE/REn発生回路114を備える。レジスタ113には、ホストHAから受信したサイズ情報121が格納され得る。
【0145】
RE/REn発生回路114は、自律的にリードイネーブル信号RE/REnを発生することができる。RE/REn発生回路114は、レジスタ113に格納されたサイズ情報121に対応した数だけリードイネーブル信号RE/REnをトグルする。発生されたリードイネーブル信号RE/REnは、チャネルインタフェース103からチャネルCH1,CH2の何れかを介してデータ出力元のメモリチップCPに供給される。
【0146】
コントローラ101bは、出力対象のデータのうちの既にバッファメモリ102に取得(バッファ)されたデータの量がしきい値に達したことに応じて、ホストHAに所定の情報(進捗情報と表記する)を通知する。また、ブリッジチップBCbのレジスタ内に、データの量がしきい値に達したことを示す値を格納するようにし、それをホストHAが定期的に確認(ポーリング)するようにしてもよい。
【0147】
進捗情報の通知方法は、特定の方法に限定されない。ここでは一例として、コントローラ101bは、レジスタ113を介して進捗情報をホストHAに通知することとする。具体的には、コントローラ101bは、ステータス情報の1つとして進捗情報122をレジスタ113に格納することができる。ホストHAは、データアウトプットコマンドを送信した後、レジスタ113内のステータス情報を読み出すための所定のコマンド(例えば、ゲットフィーチャコマンド、ステータスリードコマンド、または独自に定義されたレジスタ読み出し用のコマンド)をブリッジチップBCbに供給する。そのとき、ホストHAは、ブリッジ制御期間を開始することによって、レジスタ113内のステータス情報を読み出すためのコマンドがメモリチップCPに到達しないようにする。ホストHAは、ステータス情報の読み出しを繰り返し試みて、進捗情報122が格納されていれば、進捗情報122の取得に成功する。これによって、コントローラ101bからホストHAへの進捗情報122の通知が完了する。
【0148】
なお、コントローラ101bは、外部端子群10を構成する複数の端子のうちのいずれかを用いて進捗情報を通知してもよい。
【0149】
コントローラ101bは、さらに、サイズ情報121と、チャネルCH0,CH1,CH2におけるデータ転送の速度と、に基づいてしきい値を設定する。
【0150】
例えば、チャネルCH0でのデータ転送の速度が、チャネルCH1,CH2のそれぞれでのデータ転送の速度のN倍である場合を考える。そのような場合、コントローラ101bは、サイズ情報121が示す出力対象のデータのサイズに(1-1/N)を乗じて得られるサイズを、しきい値として設定する。
【0151】
仮に、サイズ情報121が示す出力対象のデータのサイズに(1-1/N)を乗じて得られるサイズより小さいサイズがしきい値として設定された場合、バッファメモリ102内のデータの枯渇が発生する。バッファメモリ102内のデータが枯渇すると、バッファメモリ102内に十分なデータが溜まるまで、ホストHAはデータの取得を中断しなくてはならなくなる。つまり、ブリッジチップBCbからホストHAへのデータ転送のためにチャネルCH0を占有する時間が長くなり、チャネルCH0の利用効率が低下し、これによって、メモリチップCPとホストHAとのデータ転送の速度が低下する。
【0152】
また、仮に、サイズ情報121が示す出力対象のデータのサイズに(1-1/N)を乗じて得られるサイズより大幅に大きいサイズがしきい値として設定された場合、ホストHAが出力対象のデータの取得が開始できるまでの待ち時間が長くなる。これによって、メモリチップCPとホストHAとのデータ転送の速度が低下する。
【0153】
第3の実施形態では、サイズ情報121が示す出力対象のデータのサイズに(1-1/N)を乗じて得られるサイズがしきい値として設定されるため、ホストHAが出力対象のデータの取得を開始した後はバッファメモリ102内のデータの枯渇の発生が防止される。また、ホストHAが出力対象のデータの取得が開始できるまでの待ち時間を抑制することができる。
【0154】
続いて、第3の実施形態にかかる半導体装置1bの動作を説明する。
図11は、メモリチップCPからブリッジチップBCbを介してホストHAにデータが転送されるときの第3の実施形態にかかる半導体装置1bの動作を説明するためのタイミングチャートである。なお、ここでは一例として、データ出力元のメモリチップCPはチャネルCH1に接続されていることとしている。本図には、ホストHAとブリッジチップBCbとの間の信号の送受信の動作と、ブリッジチップBCbとチャネルCH1に接続されたデータ出力元のメモリチップCPとの間の信号の送受信の動作と、が図示されている。
【0155】
まず、ホストHAは、データアウトプットコマンドを送信する(S701)。データアウトプットコマンドの送信の手順は、第2の実施形態または変形例2と同様である。ホストHAからブリッジチップBCbに送信されたデータアウトプットコマンドは、そのままブリッジチップBCbからデータ出力元のメモリチップCP1に供給される。
【0156】
続いて、ブリッジチップBCbのRE/REn発生回路114は、リードイネーブル信号RE/REnを発生する。そのリードイネーブル信号RE/REnは、チャネルインタフェース103からデータ出力元のメモリチップCP1に供給される(S702)。なお、S702の処理は、第2の実施形態で述べたS406と同様である。つまり、ブリッジチップBCbからデータ出力元のメモリチップCP1に供給されるリードイネーブル信号RE/REnは、サイズ情報121に対応した数だけトグルされる。
【0157】
ブリッジチップBCbによるリードイネーブル信号RE/REnの供給が開始すると、データ出力元のメモリチップCP1では、周辺回路202は、ページバッファ203に格納されたデータを、データアウトプットコマンドに含まれたアドレス値によって指定された位置のデータから順番にデータ信号DQ[7:0]として出力する(S703)。S703では、周辺回路202は、リードイネーブル信号RE/REnのトグルに同期して、8ビットずつ順番にデータを出力する。
【0158】
また、周辺回路202は、8ビットずつデータを出力する際に、データストローブ信号DQS/DQSnをトグルする(S704)。なお、周辺回路202は、ブリッジチップBCaから供給されたリードイネーブル信号RE/REnを遅延させることによって、データストローブ信号DQS/DQSnを発生する。
【0159】
ブリッジチップBCbでは、データ出力元のメモリチップCPから供給されたデータをデータストローブ信号DQS/DQSnのトグルのタイミングで順次取り込み、取り込んだデータをバッファメモリ102に格納(バッファ)する。そして、バッファメモリ102に格納されたデータの量がしきい値に到達したとき、ブリッジチップBCbのコントローラ101bは、ホストHAに進捗情報122を通知する(S705)。
【0160】
図12は、第3の実施形態にかかるブリッジチップBCbが進捗情報122を通知する動作(つまり図11のS705の動作)の詳細を示すフローチャートである。まず、コントローラ101bは、レジスタ113に格納されたサイズ情報121を参照する(S801)。そして、コントローラ101bは、サイズ情報121が示す出力対象のデータのサイズに(1-1/N)を乗じて得られるサイズを、しきい値として設定する(S802)。Nは、チャネルCH0でのデータ転送の速度を各チャネルCH1,CH2でのデータ転送の速度で除算して得られる値である。ここでは、Nは「2」であることとしているので、コントローラ101bは、サイズ情報121が示す出力対象のデータのサイズに1/2を乗じて得られるサイズをしきい値として設定する。
【0161】
そして、コントローラ101bは、S703の処理によってデータ出力元のメモリチップCPからのデータのバッファメモリ102への取得が開始すると、出力対象のデータのうちのバッファメモリ102にバッファされたデータの量がしきい値に到達したか否かを判定する(S803)。
【0162】
出力対象のデータのうちのバッファメモリ102にバッファされたデータの量がしきい値に到達していない場合(S803:No)、コントローラ101bは、S803の判定を再び実行する。出力対象のデータのうちのバッファメモリ102にバッファされたデータの量がしきい値に到達した場合(S803:Yes)、コントローラ101bは、進捗情報122をレジスタ113に格納する(S804)。これによって、ブリッジチップBCbが進捗情報122を通知する動作が完了する。
【0163】
ホストHAは、ステータス情報の読み出しを繰り返し試みて、進捗情報122が格納されていれば、進捗情報122の取得に成功する。これによって、コントローラ101bからホストHAへ進捗情報122が通知される。
【0164】
図11に説明を戻す。
進捗情報122の通知を取得したホストHAは、ブリッジチップBCbから出力対象のデータを取得するために、まず、チップイネーブル信号CEnをアクティブ状態(Lレベル)に遷移させ(S706)、バッファメモリ102からデータを引き出すためのコマンドを送信する(S707)。
【0165】
なお、バッファメモリ102からデータを引き出すためのコマンドは、独自に定義されたコマンドであってもよい。または、バッファメモリ102からデータを引き出すためのコマンドは、既存の任意のコマンドを流用したものであってもよい。また、S707は、ブリッジ制御期間において実行される。S707では、ホストHAは、独自に定義されたコマンド値C6を送信する。
【0166】
続いて、ホストHAは、リードイネーブル信号RE/REnのブリッジチップBCbへの供給を開始する(S708)。S708においてホストHAがブリッジチップBCbに供給するリードイネーブル信号RE/REnのトグル周波数は、ブリッジチップBCbがメモリチップCPに供給するリードイネーブル信号RE/REnのトグル周波数の2倍である。また、S708においては、ホストHAは、出力対象のデータのサイズに応じた回数だけリードイネーブル信号RE/REnをトグルする。S708においてホストHAがブリッジチップBCbに供給するリードイネーブル信号RE/REnのトグルの回数は、S702においてブリッジチップBCbがデータ出力元のメモリチップCPに供給するリードイネーブル信号RE/REnのトグルの回数と等しい。
【0167】
ホストHAによるリードイネーブル信号RE/REnの供給が開始すると、ブリッジチップBCbでは、コントローラ101bは、バッファメモリ102にバッファされたデータを順番にデータ信号DQ[7:0]としてホストHAに出力する(S709)。S709では、コントローラ101bは、リードイネーブル信号RE/REnのトグルに同期して、8ビットずつ順番にデータを出力する。つまり、ブリッジチップBCbは、データ出力元のメモリチップCPからブリッジチップBCbへのデータ転送の速度の2倍の速度で、データをホストHAに転送する。
【0168】
また、コントローラ101bは、8ビットずつデータを出力する際に、データストローブ信号DQS/DQSnをトグルする(S710)。コントローラ101bは、ホストHAから供給されたリードイネーブル信号RE/REnを遅延させることによって、データストローブ信号DQS/DQSnを発生する。つまり、ブリッジチップBCbは、データ出力元のメモリチップCPからブリッジチップBCbへ供給されるデータストローブ信号DQS/DQSnのトグル周波数の2倍のトグル周波数で、ホストHAに供給するデータストローブ信号DQS/DQSnをトグルする。
【0169】
続いて、データ出力元のメモリチップCP1からブリッジチップBCbへの出力対象のデータの転送が完了する(S711)。S711とほぼ時期を同じくして、ブリッジチップBCbからホストHAへの出力対象のデータの転送が完了する(S712)。
【0170】
なお、S712の時期は、S711の時期よりも若干あとになるように調整される。S712の時期の調整は、例えば、バッファメモリ102にバッファされたデータの量がしきい値に達した(図12のS803:Yes)タイミングから、進捗情報122の通知の処理(図12のS804)までの間に若干の遅延を介在させることで実現される。なお、S712の時期の調整の方法はこれに限定されない。
【0171】
このように、第3の実施形態によれば、ブリッジチップBCbは、メモリチップCPが出力したデータをバッファメモリ102にバッファし、バッファメモリ102にバッファされたデータの量がサイズ情報121に基づいて定められたしきい値に達するに応じてホストHAに進捗情報122を通知する。
【0172】
よって、ブリッジチップが出力対象のデータの全てを取得することを待ってからホストが当該データをブリッジチップから取得する場合に比べてホストの待ち時間を少なくすることができるので、データ転送の速度の低下が抑制される。
【0173】
なお、ブリッジチップBCbは、進捗情報122の通知の後、バッファメモリ102内のデータのホストHAへの供給を開始する。
【0174】
また、ホストHAとブリッジチップBCbとの間のデータ転送の速度が、ブリッジチップBCbとメモリチップCPとの間のデータ転送の速度のN倍である場合、しきい値は、サイズ情報121が示すサイズに(1-1/N)を乗算することによって算出される。
【0175】
これによって、メモリチップCPからブリッジチップBCbへのデータ転送の完了のタイミングと、ブリッジチップBCbからホストHAへのデータ転送の完了のタイミングと、をほぼ同時期にすることができる。ブリッジチップBCbからホストHAへのデータ転送の開始のタイミングを可及的に早めることができるとともに、ブリッジチップBCbからホストHAへのデータ転送の途中にバッファメモリ102内のデータが枯渇することがない。つまり、ブリッジチップBCbからホストHAへのデータ転送の時間がいたずらに長くなることがない。ブリッジチップBCbからホストHAへのデータ転送のためにチャネルCH0を占有する時間を短くすることができるので、チャネルCH0の利用効率が向上する。つまり、ホストHAが別のメモリチップCPにアクセスなどに使用できる時間が多くなる。これによって、メモリチップCPとホストHAとのデータ転送の速度が向上する。
【0176】
(第4の実施形態)
複数のメモリチップが出力するレディービジー信号R/Bnの信号線群が結線されて1つの信号線にまとめられる場合がある。そのような場合、複数のメモリチップの何れかがビジー状態にあるとき、ホストは、複数のメモリチップのうちのビジー状態であるメモリチップを、レディービジー信号R/Bnに基づいて特定することができない。ホストは、ステータスリードコマンドを複数のメモリチップのそれぞれに個別に供給することによって、ステータス情報を複数のメモリチップのそれぞれから取得し、ステータス情報に基づいてビジー状態のメモリチップを特定することができる。なお、メモリチップCPがビジー状態であるとは、当該メモリチップCPがコマンドを受信しても実行できない状態であるビジー状態をいう。また、メモリチップCPがレディー状態であるとは、コマンドの受信を待機している状態をいう。
【0177】
しかしながら、トグルDDR規格によれば、メモリチップは、ステータスリードコマンドを受信すると、トグルDDR規格によって定められた時間の経過後に、ステータス情報を出力する。また、複数のメモリチップは1つのチャネルに共通接続されている場合、ホストは、各メモリチップから出力されるステータス情報をシリアルに取得する必要がある。従って、ビジー状態であるメモリチップの特定には多くの時間を要する。
【0178】
第4の実施形態では、ブリッジチップは、複数のメモリチップから個別にレディービジー信号R/Bnを受信して、これらのレディービジー信号R/Bnに基づき、複数のメモリチップのそれぞれがレディー状態であるかビジー状態であるかを示すレディービジー情報に記憶する。レディービジー情報は、ブリッジチップのレジスタにステータス情報の1つとして格納される。ホストは、レジスタからレディービジー情報を読み出すことによって、複数のメモリチップのそれぞれがレディー状態であるかビジー状態であるかを一括に確認することができる。これによって、複数のメモリチップの個別の状態の確認に要する時間を短縮する。
【0179】
第4の実施形態にかかる半導体装置を半導体装置1cと表記する。第4の実施形態にかかるブリッジチップをブリッジチップBCcと表記する。第1、第2、または第3の実施形態と同じ構成要素には第1、第2、または第3の実施形態と同じ符号を付す。また、第1、第2、または第3の実施形態と同じ構成要素については簡略的に説明するか、または説明を省略する。
【0180】
なお、第4の実施形態は、第1の実施形態、第1の実施形態の変形例である変形例1、第2の実施形態、第2の実施形態の変形例である変形例2、または第3の実施形態とともに適用され得る。ここでは一例として、第4の実施形態は、第1の実施形態、第2の実施形態、および第3の実施形態とともに適用される場合について説明する。
【0181】
図13は、第4の実施形態にかかる半導体装置1cの構成の一例を示す模式的な図である。半導体装置1cは、ブリッジチップBCcおよびメモリチップCP1-1~CP1-4,CP2-1~CP2-4を備える。ここでは図2と同様に、メモリチップCP1-1~CP1-4の代表として1つのメモリチップCP1と、メモリチップCP2-1~CP2-4の代表として1つのメモリチップCP2とが描画されている。
【0182】
各メモリチップCPは、メモリセルアレイ201、周辺回路202、およびページバッファ203を備える。
【0183】
ブリッジチップBCcは、コントローラ101c、バッファメモリ102、及びチャネルインタフェース103を備える。コントローラ101cは、コマンドデコーダ111、マスク回路112、レジスタ113、RE/REn発生回路114b、およびR/Bn管理回路115を備える。レジスタ113には、サイズ情報121、進捗情報122、およびR/Bn情報123が格納され得る。R/Bn情報123は、メモリチップCP1-1~CP1-4,CP2-1~CP2-4がレディー状態であるかビジー状態であるかをメモリチップCP毎に示すR/Bn情報123が格納される。
【0184】
図14は、第4の実施形態にかかるR/Bn管理回路115の詳細な構成の一例を示す模式的な図である。R/Bn管理回路115は、第1アンド回路116-1、第1アンド回路116-2、第2アンド回路117-1、第2アンド回路117-2、を備える。第1アンド回路116-1および第2アンド回路117-1は、チャネルCH1に対応する。第1アンド回路116-2および第2アンド回路117-2は、チャネルCH2に対応する。
【0185】
第1アンド回路116-1は、4個の入力端子を備えている。第1アンド回路116-1は、4個の入力端子によって、チャネルCH1に接続された4個のメモリチップCP1-1~CP1-4からのレディービジー信号R/Bnの個別の入力を受け付ける。つまり、第1アンド回路116-1は、4個の入力端子によって、4個のメモリチップCP1-1~CP1-4のそれぞれと個別に接続されている。第1アンド回路116-1は、メモリチップCP1-1~CP1-4からのレディービジー信号R/Bnの論理積を出力する。
【0186】
第2アンド回路117-1は、2個の入力端子を備えている。第2アンド回路117-1が備える2個の入力端子のうちの一方には、第1アンド回路116-1からの出力信号が入力される。第2アンド回路117-1が備える2個の入力端子のうちの他方には、ブリッジチップBCc自身がレディー状態であるかビジー状態であるかを示すブリッジレディービジー信号BRG_R/Bnが入力される。ブリッジレディービジー信号BRG_R/Bnは、例えばコントローラ101cが発生する。第2アンド回路117-1は、第1アンド回路116-1からの出力信号と、ブリッジレディービジー信号BRG_R/Bnと、の論理積を出力する。
【0187】
第2アンド回路117-1の出力信号は、チャネルCH1にかかるレディービジー信号R/Bn_1としてホストHAに供給される。
【0188】
よって、ホストHAは、レディービジー信号R/Bn_1を参照することによって、ブリッジチップBCcおよび4個のメモリチップCP1-1~CP1-4の全てがレディー状態であるか、またはブリッジチップBCcおよび4個のメモリチップCP1-1~CP1-4のうちの何れかがビジー状態であるか、を確認することができる。
【0189】
第1アンド回路116-1の4個の入力端子と4個のメモリチップCP1-1~CP1-4とを接続するレディービジー信号R/Bn用の4本の信号線のそれぞれは、分岐して、レジスタ113に接続されている。そして、4本のレディービジー信号R/Bnを転送する信号線の内容は、レジスタ113内のR/Bn情報123のうちの一部分(R/Bn情報123-1と表記する)にリアルタイムに記憶される。加えて、R/Bn情報123-1には、ブリッジレディービジー信号BRG_R/Bnの内容もリアルタイムに記憶される。
【0190】
第1アンド回路116-2は、4個の入力端子を備えている。第1アンド回路116-2は、4個の入力端子によって、チャネルCH2に接続された4個のメモリチップCP2-1~CP2-4からのレディービジー信号R/Bnの個別の入力を受け付ける。つまり、第1アンド回路116-2は、4個の入力端子によって、4個のメモリチップCP2-1~CP2-4のそれぞれと1対1に接続されている。第1アンド回路116-2は、メモリチップCP2-1~CP2-4からのレディービジー信号R/Bnの論理積を出力する。
【0191】
第2アンド回路117-2は、2個の入力端子を備えている。第2アンド回路117-2が備える2個の入力端子のうちの一方には、第1アンド回路116-2からの出力信号が入力される。第2アンド回路117-2が備える2個の入力端子のうちの他方には、ブリッジレディービジー信号BRG_R/Bnが入力される。第2アンド回路117-2は、第1アンド回路116-2からの出力信号と、ブリッジレディービジー信号BRG_R/Bnと、の論理積を出力する。
【0192】
第2アンド回路117-2の出力信号は、チャネルCH2にかかるレディービジー信号R/Bn_2としてホストHAに供給される。
【0193】
なお、ブリッジチップBCcは、チャネルCH1にかかるレディービジー信号R/Bn_1と、チャネルCH2にかかるレディービジー信号R/Bn_2と、からアンド回路などによって1つのレディービジー信号R/Bnを生成し、当該レディービジー信号R/BnをホストHAに供給してもよい。
【0194】
第1アンド回路116-2の4個の入力端子と4個のメモリチップCP2-1~CP2-4とを接続するレディービジー信号R/Bn用の4本の信号線のそれぞれは、分岐して、レジスタ113に接続されている。そして、4本のレディービジー信号R/Bnを転送する信号線の内容は、レジスタ113内のR/Bn情報123の他の一部分(R/Bn情報123-2と表記する)にリアルタイムに記憶される。加えて、R/Bn情報123-2には、ブリッジレディービジー信号BRG_R/Bnの内容もリアルタイムに記憶される。
【0195】
よって、ホストHAは、レディービジー信号R/Bn_2を参照することによって、ブリッジチップBCcおよび4個のメモリチップCP2-1~CP2-4の全てがレディー状態であるか、またはブリッジチップBCcおよび4個のメモリチップCP2-1~CP2-4のうちの何れかがビジー状態であるか、を確認することができる。
【0196】
また、ホストHAは、R/Bn情報123を読み出すことによって、ブリッジチップBCcおよび8個のメモリチップCP1-1~CP1-4,CP2-1~CP2-4のそれぞれについてレディー状態であるかビジー状態であるかを一括に確認することができる。
【0197】
図15は、第4の実施形態にかかる半導体装置1cがR/Bn情報123をホストHAに供給する動作を示すフローチャートである。
【0198】
まず、ホストHAによってブリッジチップイネーブル信号BRG_CEnがアクティブ状態(Lレベル)に遷移せしめされて(S901)、ブリッジ制御期間が開始する(S902)。ホストHAは、ブリッジ制御期間において、所定のレジスタ読み出し用のコマンド(例えば、ステータスリードコマンド、ゲットフィーチャコマンド、または独自に定義されたレジスタ読み出し用のコマンド)をブリッジチップBCcに供給する。
【0199】
ブリッジチップBCcは、レジスタ読み出し用のコマンドを受信すると(S903)、コントローラ101cは、R/Bn情報123をレジスタ113から読み出して、データ信号DQ[7:0]によってホストHAに供給する(S904)。
【0200】
なお、レジスタ読み出し用のコマンドは、R/Bn情報123-1,123-2のうちの何れか1つを指定可能に構成されてもよい。そのような場合、S904では、ブリッジチップBCcは、R/Bn情報123-1,123-2のうちの指定されたほうをレジスタ113から読み出してホストHAに供給し得る。
【0201】
S904に続いて、ホストHAによってブリッジチップイネーブル信号BRG_CEnが非アクティブ状態(Hレベル)に遷移せしめされて(S905)、これによってブリッジチップBCcでは、ブリッジ制御期間が終了する(S906)。そして、半導体装置1cがR/Bn情報123をホストHAに供給する動作が終了する。
【0202】
このように、第4の実施形態によれば、ブリッジチップBCcは、複数のメモリチップCPとレディービジー信号R/Bnを転送する複数の信号線の1つによって1対1に接続されている。そして、ブリッジチップBCcでは、複数の信号線によって供給された複数のメモリチップCPからのレディービジー信号R/Bnの内容をメモリチップCP毎に個別にレジスタ113内のR/Bn情報123に記憶する。そして、ブリッジチップBCcは、R/Bn情報123をホストHAに出力する。
【0203】
よって、ホストHAは、複数のメモリチップCPのそれぞれがレディー状態であるかビジー状態であるかを一括に確認することが可能となる。ホストHAは、複数のメモリチップCPのそれぞれに個別にステータスリードコマンドを供給する場合に比べて少ない時間で各メモリチップCPの状態を取得できる。メモリチップCPの状態を取得するための要する時間が抑制されるので、他の用途(例えばメモリチップCPに対するデータ転送)に使用可能な時間が多くなる。よって、ホストHAと複数のメモリチップCPとの間のデータ転送の速度を向上させることが可能である。
【0204】
また、第4の実施形態によれば、R/Bn管理回路115は、複数のメモリチップCPからのレディービジー信号R/Bnに対して論理積を含む演算を実行し、得られた出力信号をレディービジー信号R/Bn_1またはレディービジー信号R/Bn_2としてホストHAに出力する。
【0205】
前述されたように、従来、複数のメモリチップCPが出力するレディービジー信号R/Bnの信号線群が、結線されて1つの信号線にまとめられてホストに接続される場合がある。第4の実施形態では、上記の構成により、ホストHAは、従来のレディービジー信号R/Bnと同等のレディービジー信号R/Bnを取得することが可能となる。
【0206】
また、第4の実施形態によれば、R/Bn管理回路115は、ブリッジチップBCc自身にかかるレディービジー信号であるブリッジレディービジー信号BRG_R/Bnを生成する。そして、R/Bn管理回路115は、複数のメモリチップCPからのレディービジー信号R/Bnとブリッジレディービジー信号BRG_R/Bnとの論理積を演算する。
【0207】
なお、R/Bn管理回路115は、必ずしも複数のメモリチップCPからのレディービジー信号R/Bnとブリッジレディービジー信号BRG_R/Bnとの論理積を演算しなくてもよい。
【0208】
また、第4の実施形態によれば、R/Bn管理回路115は、ブリッジレディービジー信号BRG_R/BnをR/Bn情報123に記憶する。
【0209】
よって、ホストHAは、複数のメモリチップCPのそれぞれに加えてブリッジチップBCcがレディー状態であるかビジー状態であるかを一括に確認することが可能となる。
【0210】
なお、ブリッジチップBCcは、レジスタ読み出し用のコマンド(例えば、ステータスリードコマンド、ゲットフィーチャコマンド、または独自に定義されたレジスタ読み出し用のコマンド)に応じてR/Bn情報123をホストHAに出力する。
【0211】
そして、ブリッジチップBCcは、R/Bn情報123を読み出すためのコマンドをブリッジ制御期間において受信することができる。
【0212】
よって、R/Bn情報123を読み出すためのコマンドがメモリチップCPに転送されない。その結果、メモリチップCPがR/Bn情報123を読み出すためのコマンドによって誤動作を行うことを抑制でき、これによって無駄な待ち時間の発生を抑制できる。その結果、ホストHAと複数のメモリチップCPとの間のデータ転送の速度が向上する。
【0213】
なお、ブリッジチップBCcは、R/Bn情報123を読み出すためのコマンドを非ブリッジ制御期間においても受信できるように構成されてもよい。
【0214】
(第5の実施形態)
通常、ホストは、複数のメモリチップに対してリードを行う場合、データリードコマンドとデータアウトコマンドとの対を送信する必要がある。データリードコマンドとデータアウトコマンドとの対を、リードコマンド対、と表記する。各メモリチップは、データアウトコマンドに応じて最大で1ページ分のデータを出力できる。よって、ホストは、複数ページ分のデータを読み出したい場合には、複数のリードコマンド対を送信する必要がある。
【0215】
出力対象のデータを保持しているメモリチップが複数存在する場合には、出力対象のデータを保持している複数のメモリチップを並列に動作させることによって、ブリッジチップは、当該複数のメモリチップから出力対象のデータの群を途切れなく取得することができる。
【0216】
ブリッジチップに途切れなく取得された出力対象のデータの群を、ホストがブリッジチップから途切れなく取得できれば、ホストとブリッジチップとの間のデータ転送の効率を向上させることができる。しかしながら、前述されたように、ホストは、少なくともページ毎にリードコマンド対を送信する必要がある。リードコマンド対を送信している最中には、ホストとブリッジチップとの間のチャネルがリードコマンド対の転送のために占有されるため、ホストはブリッジチップからのデータの取得を停止しなくてはならない。つまり、ホストが複数のリードコマンド対を送信することに起因して、ホストと複数のメモリチップとの間のデータ転送の速度が低下する。
【0217】
第5の実施形態では、独自のコマンドとしてマルチリードコマンドが定義されている。ブリッジチップは、ホストから1つのマルチリードコマンドを受信すると、当該マルチリードコマンドに応じて、リードコマンド対を複数、自律的に発生する。そして、ブリッジチップは、発生された複数のリードコマンド対のそれぞれをあて先のメモリチップに自律的に送信することができる。ブリッジチップは、複数のリードコマンド対に応じて出力された出力対象のデータの群を、途切れなく取得する。ホストは、リードコマンド対を送信する必要がないので、マルチリードコマンドの送信後は、ブリッジチップに途切れなく取得された出力対象のデータの群を、ブリッジチップから途切れなく取得することができる。
【0218】
以下に、第5の実施形態について説明する。第5の実施形態は、第1の実施形態、第1の実施形態の変形例である変形例1、第2の実施形態、第2の実施形態の変形例である変形例2、第3の実施形態、または第4の実施形態とともに適用され得る。ここでは一例として、第1の実施形態、第2の実施形態、第3の実施形態、および第4の実施形態とともに第5の実施形態が適用される場合について説明する。
【0219】
第5の実施形態にかかる半導体装置を半導体装置1dと表記する。第5の実施形態にかかるブリッジチップをブリッジチップBCdと表記する。第1、第2、第3、または第4の実施形態と同じ構成要素には第1、第2、第3、または第4の実施形態と同じ符号を付す。また、第1、第2、第3、または第4の実施形態と同じ構成要素については簡略的に説明するか、または説明を省略する。
【0220】
図16は、第5の実施形態にかかる半導体装置1dの構成の一例を示す模式的な図である。半導体装置1dは、ブリッジチップBCdおよびメモリチップCP1-1~CP1-4,CP2-1~CP2-4を備える。ここでは図2と同様に、メモリチップCP1-1~CP1-4の代表として1つのメモリチップCP1と、メモリチップCP2-1~CP2-4の代表として1つのメモリチップCP2とが描画されている。
【0221】
各メモリチップCPは、メモリセルアレイ201、周辺回路202、およびページバッファ203を備える。
【0222】
ブリッジチップBCdは、コントローラ101d、バッファメモリ102、及びチャネルインタフェース103を備える。コントローラ101dは、コマンドデコーダ111、マスク回路112、レジスタ113、RE/REn発生回路114b、R/Bn管理回路115、およびコマンド発生回路118を備える。レジスタ113には、サイズ情報121、進捗情報122、およびR/Bn情報123が格納され得る。
【0223】
なお、第5の実施形態では、バッファメモリ102は、2ページ以上の容量を有している。つまり、ブリッジチップBCdは、メモリチップCPからリードされたデータを2ページ分以上、バッファすることが可能である。そして、ホストHAとブリッジチップBCdとの間のデータ転送の速度は、ブリッジチップBCdとメモリチップCPとの間のデータ転送の速度の2倍であることとする。
【0224】
コマンド発生回路118は、ホストHAから受信したコマンドがマルチリードコマンドであるとコマンドデコーダ111が解釈した場合、マルチリードコマンドに従って、2以上のリードコマンド対を生成する。
【0225】
図17は、第5の実施形態にかかるマルチリードコマンドの構成の一例を示す模式的な図である。マルチリードコマンドは、本図に示されるように、マルチリードコマンドを表すコマンド値、アドレス初期値、間隔設定値、およびリード回数設定値を含む。
【0226】
コマンド発生回路118は、アドレス初期値が示す位置に格納されているデータを読み出すためのリードコマンド対を初回に発生する。
【0227】
間隔設定値は、リード位置の間隔を示す。コマンド発生回路118は、初回以降にリードコマンド対を発生する場合には、前回のリードコマンド対において出力対象のデータの位置の指定に使用されたアドレス値に対し、間隔設定値として与えられた値だけインクリメントすることによって、次のリードコマンド対において出力対象のデータの位置の指定に使用するアドレス値を算出する。
【0228】
なお、フルのアドレス値、即ちメモリチップCP1-1~CP1-4,CP2-1~CP2-4の範囲内の位置を一意に特定するためのアドレス値は、2つのチャネルCH1,CH2のうちの1つを指定する第1ビット列と、1つのチャネルに接続された4個のメモリチップCPのうちの1つを指定する第2ビット列と、1つのメモリチップCP内の1つのページを指定する第3ビット列と、1つのページ内の位置を指定する第4ビット列と、を含んでいる。
【0229】
フルのアドレス値のうちの、第1ビット列、第2ビット列、および第3ビット列のそれぞれについて、間隔設定値が指定され得る。第1ビット列の間隔設定値がxであり、第2ビット列の間隔設定値がyであり、第3ビット列の間隔設定値がzである場合に、これらの間隔設定値をまとめて、(x,y,z)と表記することとする。
【0230】
間隔設定値が(0,0,1)である場合、メモリチップCP1-1~CP1-4,CP2-1~CP2-4のうちの、アドレス初期値の第1ビット列および第2ビット列の組み合わせによって特定されるメモリチップCPのみが、リードコマンド対の送信先とされる。リードコマンド対の送信先を、対象のメモリチップCPと表記する。コマンド発生回路118は、対象のメモリチップCPのアドレス初期値の第3ビット列が示すページを、リード位置とした初回のリードコマンド対を発生する。以降、コマンド発生回路118は、リード位置を1ページずつ進めながら、リードコマンド対を順次、発生する。
【0231】
間隔設定値が(0,1,1)である場合、メモリチップCP1-1~CP1-4,CP2-1~CP2-4のうちの、アドレス初期値の第1ビット列によって特定されるチャネルに接続された4個のメモリチップCPの全てが、リードコマンド対の送信先とされる。コマンド発生回路118は、アドレス初期値の第1ビット列および第2ビット列の組み合わせによって特定されるメモリチップCPの、アドレス初期値の第3ビット列が示すページを、リード位置とした初回のリードコマンド対を生成する。続いて、コマンド発生回路118は、第3ビット列を変更せずに第2ビット列を1ずつインクリメントしながら、3回分のリードコマンド対を順次、発生する。これによって、リードコマンド対の送信先とされた4個のメモリチップCPの全てに対し、同じ第3ビット列によって特定されるページをリード位置としたリードコマンド対が発生される。続いて、コマンド発生回路118は、第3ビット列を1だけインクリメントすることによって、リード位置を1ページだけ進める。そして、コマンド発生回路118は、第2ビット列を1ずつインクリメントしながら、4回分のリードコマンド対を順次、発生する。以降、コマンド発生回路118は、同様の動作を繰り返す。これによって、アドレス初期値の第1ビット列によって特定されるチャネルに接続された4個のメモリチップCPの全てから順次、ブリッジチップBCdにデータを取得する動作が実現する。
【0232】
間隔設定値が(1,1,1)である場合、メモリチップCP1-1~CP1-4,CP2-1~CP2-4の全てが、リードコマンド対の送信先とされる。コマンド発生回路118は、アドレス初期値の第1ビット列および第2ビット列の組み合わせによって特定されるメモリチップCPの、アドレス初期値の第3ビット列が示すページを、リード位置とした初回のリードコマンド対を生成する。続いて、コマンド発生回路118は、第3ビット列を変更せずに第2ビット列を1ずつインクリメントしながら、3回分のリードコマンド対を順次、発生する。そして、コマンド発生回路118は、第1ビット列を1だけインクリメントし、その後、コマンド発生回路118は、第2ビット列を1ずつインクリメントしながら、4回分のリードコマンド対を順次、発生する。これによって、リードコマンド対の送信先とされた全てのメモリチップCPに対し、同じ第3ビット列によって特定されるページをリード位置としたリードコマンド対が発生される。続いて、コマンド発生回路118は、第3ビット列を1だけインクリメントすることによって、リード位置を1ページだけ進める。そして、コマンド発生回路118は、第1ビット列と第2ビット列とを1ずつインクリメントしながら、8回分のリードコマンド対を順次、発生する。コマンド発生回路118は、このような動作を繰り返し実行する。以降、コマンド発生回路118は、同様の動作を繰り返す。これによって、8個のメモリチップCPの全てから順次、ブリッジチップBCdにデータを取得する動作が実現する。
【0233】
リード回数設定値は、発生されるリードコマンド対の数の上限数である。コマンド発生回路118は、マルチリードコマンドを受信してから発生したリードコマンド対の数をカウントする。発生したリードコマンド対の数がリード回数設定値によって指定された数に到達すると、コマンド発生回路118は、リードコマンド対の発生を終了し、カウント値をリセットする。
【0234】
なお、間隔設定値は必ずしも明示的にマルチリードコマンドに含まれていなくてもよい。例えば、マルチリードコマンドを表すコマンド値が複数用意されており、コマンド値によって間隔設定値が(0,0,1)、間隔設定値が(0,1,1)、および間隔設定値が(1,1,1)の何れかが指定できるように、マルチリードコマンドが構成されてもよい。
【0235】
また、間隔設定値として設定される値は「1」に限定されない。例えば、第3ビット列にかかる間隔設定値として「2」が設定されることによって、リード位置が1ページ飛ばしに進められてもよい。
【0236】
また、間隔設定値は設定可能でなくてもよい。例えば、マルチリードコマンドから間隔設定値が省略され、ブリッジチップBCdは、マルチリードコマンドを受信した場合、決められた動作(例えば間隔設定値が(1,1,1)である場合の動作)のみ実行するように構成されてもよい。
【0237】
なお、マルチリードコマンドに応じた動作では、ブリッジチップBCは各メモリチップCPからページ単位でデータを取得することとする。
【0238】
図18は、第5の実施形態にかかる複数のリードコマンド対の生成の動作を説明するためのフローチャートである。
【0239】
まず、ホストHAによってブリッジチップイネーブル信号BRG_CEnがアクティブ状態(Lレベル)に遷移せしめされて(S1001)、ブリッジ制御期間が開始する(S1002)。ホストHAは、ブリッジ制御期間において、マルチリードコマンドをブリッジチップBCdに供給することができる。
【0240】
ブリッジチップBCdは、マルチリードコマンドを受信する(S1003)。そして、ホストHAによってブリッジチップイネーブル信号BRG_CEnが非アクティブ状態(Hレベル)に遷移せしめされる(S1004)、これによってブリッジチップBCdでは、ブリッジ制御期間が終了する(S1005)。
【0241】
続いて、ブリッジチップBCdは、マルチリードコマンドに応じた動作を開始する。まず、コマンド発生回路118は、アドレス初期値が示すページを出力対象のデータとするリードコマンド対を発生する(S1006)。
【0242】
そして、コマンド発生回路118は、発生したリードコマンド対の数がリード回数設定値に達したか否かを判定する(S1007)。発生したリードコマンド対の数がリード回数設定値に達していない場合(S1007:No)、コマンド発生回路118は、アドレス値に対してインクリメントを行い(S1008)、インクリメント後のアドレス値が示すページを出力対象のデータとするリードコマンド対を発生する(S1009)。そして、制御がS1007に移行する。
【0243】
発生したリードコマンド対の数がリード回数設定値に達した場合(S1007:Yes)、複数のリードコマンド対の生成の動作が終了する。
【0244】
コマンド発生回路118によって生成された複数のリードコマンド対のそれぞれは、チャネルインタフェース103によってあて先のメモリチップCPに供給される。チャネルインタフェース103は、あて先のメモリチップCPがレディー状態でかつあて先のメモリチップCPが接続されたチャネルが空いていることを各メモリチップCPからのレディービジー信号R/BnまたはR/Bn情報123に基づいて確認して、あて先のメモリチップCPへのリードコマンド対の送信を行う。
【0245】
図19は、第5の実施形態にかかるリードコマンド対のコマンドシーケンスの一例を示す模式的な図である。
【0246】
なお、本図では、各メモリセルトランジスタは2ビット以上のデータを記憶することができることとする。つまり、ロウを共有するメモリセルトランジスタの群は、2以上のページのデータが格納され得る。
【0247】
まず、メモリチップCPに対し、リードコマンド対のうちのデータリードコマンドの送信が実行される(S1101)。S1101では、ページ識別子IP、データリードコマンドを表すコマンド値C8、リード位置を表すアドレス値ADD107、およびコマンド値C8と対を成すコマンド値C9が送信される。
【0248】
アドレス値ADD107は、カラムの位置を示すカラムアドレス値ADD107-1と、ロウの位置を示すロウアドレス値ADD107-2とを含んでいる。ページ識別子IPは、ロウアドレス値ADD107-2がロウを共有するメモリセルトランジスタの群に格納される複数ページの分のデータのうちの1つのページを指定する情報である。ページ識別子IPと、ロウアドレス値ADD107-2と、の組み合わせによって、1つのページが特定される。
【0249】
カラムアドレス値ADD107-1は、ページ内の位置を示す。つまり、カラムアドレス値ADD107-1は、前述した第4ビット列に相当する。
【0250】
データリードコマンドのあて先のメモリチップCPは、当該データリードコマンドを受信すると、周辺回路202は、センス動作を実行する。つまり、周辺回路202は、指定されたページをメモリセルアレイ201からページバッファ203に読み出す。センス動作が完了すると、メモリチップCPは、データアウトプットコマンドに応じたデータの出力が可能になる。
【0251】
センス動作が開始すると、周辺回路202は、レディービジー信号R/Bnをビジー状態に遷移させる(S1102)。センス動作が完了すると、周辺回路202は、レディービジー信号R/Bnをビジー状態からレディー状態に遷移させる(S1103)。つまり、メモリチップCPがセンス動作を完了したか否かは、レディービジー信号R/Bnに基づいて判断することが可能である。
【0252】
センス動作が完了した後に、メモリチップCPに対し、データアウトプットコマンドの送信が実行される(S1104)。S1104で送信されるデータアウトプットコマンドの構成は、第2の実施形態において説明されたデータアウトプットコマンドと同様である。具体的には、データアウトプットコマンドは、データアウトプットコマンドを表すコマンド値C3,C4と、アドレス値ADD108と、によって構成されている。
【0253】
アドレス値ADD108は、カラムの位置を示すカラムアドレス値ADD108-1と、ロウの位置を示すロウアドレス値ADD108-2とを含んでいる。データアウトプットコマンドに含まれるアドレス値108は、ページバッファ203に格納されたデータのうちの出力対象のデータの先頭の位置を表してさえいればよい。よって、アドレス値108にロウアドレス値108-2は不要である。しかしながら、慣用的に、ロウアドレス値ADD108-2は、データリードコマンドに含まれるロウアドレス値107-2と等しい値が使用される。
【0254】
データアウトプットコマンドに含まれるカラムアドレス値ADD108-1は、データリードコマンドに含まれるカラムアドレス値107-1と異なる値が使用され得る。
【0255】
なお、第5の実施形態では、マルチリードコマンドに応じて各メモリチップCPからページ単位でデータが取得されることとしている。よって、マルチリードコマンドに応じて発生されたリードコマンド対の場合、カラムアドレス値ADD107-1およびカラムアドレス値ADD108-1のそれぞれは、ページの先頭を表す。
【0256】
データアウトプットコマンドを受信したメモリチップCPは、データの出力を開始する(S1105)。この手順は、第2の実施形態で説明された手順と同様である。
【0257】
チャネルインタフェース103は、複数のメモリチップCPに複数のリードコマンド対を送信する際には、複数のメモリチップCPがインターリーブ方式で動作するよう、複数のリードコマンド対の送信タイミングを調整する。
【0258】
図20は、第5の実施形態にかかるリードコマンド対の送信タイミングの一例を説明するためのタイミングチャートである。本図に示される例では、半導体装置1は16個のメモリチップCP1-1~CP1-4,CP2-1~CP2-4,CP3-1~CP3-4,CP4-1~CP4-4を備えていることとする。そして、メモリチップCP1-1~CP1-4はチャネルCH1を介してブリッジチップBCdに接続され、メモリチップCP2-1~CP2-4はチャネルCH2を介してブリッジチップBCdに接続され、メモリチップCP3-1~CP3-4はチャネルCH3を介してブリッジチップBCdに接続され、メモリチップCP4-1~CP4-4はチャネルCH4を介してブリッジチップBCdに接続されていることとする。また、ここでは一例として、間隔設定値は(1,1,1)である場合について説明する。
【0259】
図20において、斜線でハッチングされた矩形は、データリードコマンドの送信期間を表す。黒塗りの矩形は、センス動作の実行期間を表す。ドットでハッチングされた矩形は、データアウトプットコマンドの送信期間を表す。データ名DX(Xは整数)が記された白抜きの矩形は、出力対象のデータDXの転送期間を表す。
【0260】
ホストHAからブリッジチップBCdにマルチリードコマンドが供給されると(S1,時刻t0)、コマンド発生回路118が、マルチリードコマンドに応じて、複数のリードコマンド対を生成する。そして、チャネルインタフェース103は、生成された複数のリードコマンド対の供給を開始する(時刻t1)。
【0261】
具体的には、チャネルインタフェース103は、まず、それぞれ異なるチャネルに接続された4個のメモリチップCP1-1,CP2-1,CP3-1,CP4-1に並列にデータリードコマンドを送信する。次に、4個のメモリチップCP1-2,CP2-2,CP3-2,CP4-2に並列にデータリードコマンドを送信する。次に、4個のメモリチップCP1-3,CP2-3,CP3-3,CP4-3に並列にデータリードコマンドを送信する。次に、4個のメモリチップCP1-4,CP2-4,CP3-4,CP4-4に並列にデータリードコマンドを送信する。これによって、16個のメモリチップCP1-1~CP1-4,CP2-1~CP2-4,CP3-1~CP3-4,CP4-1~CP4-4の全てに1つずつデータリードコマンドが供給される。
【0262】
16個のメモリチップCP1-1~CP1-4,CP2-1~CP2-4,CP3-1~CP3-4,CP4-1~CP4-4のそれぞれは、データリードコマンドに応じてセンス動作を実行する。そして、4個のメモリチップCP1-1,CP2-1,CP3-1,CP4-1がセンス動作を完了する(時刻t2)。すると、チャネルインタフェース103は、4個のメモリチップCP1-1,CP2-1,CP3-1,CP4-1にデータアウトコマンドを供給する。
【0263】
ここで、チャネルインタフェース103は、1つのメモリチップCPからページの半分を取得したタイミングで次のメモリチップCPからページの取得が開始されるように、4個のメモリチップCP1-1,CP2-1,CP3-1,CP4-1に時間間隔をあけて順番にデータアウトコマンドを供給する。
【0264】
具体的には、メモリチップCP1-1から1ページ分のデータD1の半分の取得が完了すると、メモリチップCP2-1から1ページ分のデータD2の取得が開始されるように、メモリチップCP2-1に対してデータアウトプットコマンドを供給する。メモリチップCP2-1から1ページ分のデータD2の半分の取得が完了すると、メモリチップCP3-1から1ページ分のデータD3の取得が開始されるように、メモリチップCP3-1に対してデータアウトプットコマンドを供給する。メモリチップCP3-1から1ページ分のデータD3の半分の取得が完了すると、メモリチップCP4-1から1ページ分のデータD4の取得が開始されるように、メモリチップCP4-1に対してデータアウトプットコマンドを供給する。
【0265】
データD1の取得が完了すると、チャネルインタフェース103は、データD17をリードするためのデータリードコマンドをメモリチップCP1-1に送信する。データD2の取得が完了すると、チャネルCH2が空くので、チャネルインタフェース103は、データD18をリードするためのデータリードコマンドをメモリチップCP2-1に送信する。データD3の取得が完了すると、チャネルCH3が空くので、チャネルインタフェース103は、データD19をリードするためのデータリードコマンドをメモリチップCP3-1に送信する。データD4の取得が完了すると、チャネルCH4が空くので、チャネルインタフェース103は、データD20をリードするためのデータリードコマンドをメモリチップCP4-1に送信する。
【0266】
4個のメモリチップCP1-1,CP2-1,CP3-1,CP4-1のそれぞれは、データリードコマンドに応じてセンス動作を開始する。
【0267】
各チャネルは、4個のメモリチップCP1-1,CP2-1,CP3-1,CP4-1のうちの自身に接続されているメモリチップCPにデータリードコマンドが供給された後、利用可能になる。よって、チャネルインタフェース103は、次の4個のメモリチップCP1-2,CP2-2,CP3-2,CP4-2へのデータアウトコマンドの供給を行う。
【0268】
チャネルインタフェース103は、4個のメモリチップCP1-2,CP2-2,CP3-2,CP4-2へのデータアウトコマンドの供給を行う際にも、1つのメモリチップCPからページの半分を取得したタイミングで次のメモリチップCPからページの取得が開始されるように、4個のメモリチップCP1-2,CP2-2,CP3-2,CP4-2に時間間隔をあけて順番にデータアウトコマンドを供給する。
【0269】
さらに、メモリチップCP1-2からのデータD5の取得が完了すると、チャネルインタフェース103は、データD21をリードするためのデータリードコマンドをメモリチップCP1-2に送信する。メモリチップCP2-2からのデータD6の取得が完了すると、チャネルCH2が空くので、チャネルインタフェース103は、データD22をリードするためのデータリードコマンドをメモリチップCP2-2に送信する。メモリチップCP3-2からのデータD7の取得が完了すると、チャネルCH3が空くので、チャネルインタフェース103は、データD23をリードするためのデータリードコマンドをメモリチップCP3-3に送信する。メモリチップCP4-2からのデータD8の取得が完了すると、チャネルCH4が空くので、チャネルインタフェース103は、データD24をリードするためのデータリードコマンドをメモリチップCP4-2に送信する。
【0270】
4個のメモリチップCP1-2,CP2-2,CP3-2,CP4-2のそれぞれは、データリードコマンドに応じてセンス動作を実行する。
【0271】
チャネルインタフェース103、次の4個のメモリチップCP1-3,CP2-3,CP3-3,CP4-3へのデータアウトコマンドの供給を行う。
【0272】
このように、チャネルインタフェース103は、各チャネルにおいて、1つのメモリチップCPがセンス動作を実行している時に次のメモリチップCPにチャネルを介してアクセス(コマンドの送信およびデータの取得)を実行する、という動作を、4チャネルで並列に実行する。これによって、ブリッジチップBCdは、複数のメモリチップCPからデータを途切れなく取得することができる。
【0273】
ブリッジチップBCdのコントローラ101dは、第3の実施形態で述べたように、各データDXのうちの半分を取得したタイミングでホストHAに進捗情報122を通知する(図20には不図示)。ホストHAは、進捗情報122に応じてデータDXの取得を開始する。ホストHAとブリッジチップBCdとの間のデータ転送の速度は、ブリッジチップBCdとメモリチップCPとの間のデータ転送の速度の2倍である。よって、ホストHAは、メモリチップCPからブリッジチップBCに各データDXが取得されたときに要した時間の半分の時間で各データDXを取得することができる。
【0274】
また、バッファメモリ102は、2ページ以上の容量を有している。よって、ブリッジチップBCdは、1つのデータDXがバッファメモリ102に格納されている状態で、次のデータDXを取得することができる。図20に示された例では、1つのメモリチップCPからページの半分を取得したタイミングで次のメモリチップCPからページの取得が開始されるようにデータアウトプットコマンドの供給タイミングが制御されている。また、ホストHAは、データリードコマンドおよびデータアウトプットコマンドの何れもデータDX毎に送信する必要がない。チャネルCH0は、マルチリードコマンドの送信後はコマンド送信に占有されることがない。よって、ホストHAは、データDXの取得を完了すると、すぐに次のデータDXの取得を開始することができる。つまり、バッファメモリ102に途切れなく取得される複数のデータDXを、ホストHAは、途切れなく取得することができる。
【0275】
このように、第5の実施形態によれば、ブリッジチップBCdは、マルチリードコマンドに応じて複数のリードコマンド対を発生する。そして、ブリッジチップBCdは、発生した複数のリードコマンド対のそれぞれをあて先のメモリチップCPに順次送信する。ブリッジチップBCdは、複数のメモリチップCPから順次出力されるデータをバッファメモリ102に順次バッファする。そして、ブリッジチップBCdは、バッファメモリ102にバッファされたデータをホストHAに出力する。
【0276】
ホストHAは、複数のリードコマンド対の送信にチャネルCH0を使用する必要がなく、ブリッジチップBCdからデータを取得することができる。よって、ホストHAと複数のメモリチップCPとの間のデータ転送の速度が向上する。
【0277】
なお、ブリッジチップBCdは、複数のリードコマンド対のそれぞれにかかるリード位置を示すアドレス値を、インクリメントによって順次取得する。
【0278】
(第6の実施形態)
第5の実施形態では、ブリッジチップBCdは、アドレス値に対するインクリメントによって複数のリード位置を取得し、複数のリード位置からデータを取得するための複数のリードコマンド対を自律的に発行した。
【0279】
これに対し、第6の実施形態では、ブリッジチップは、予めホストがから供給されたアドレス値のリストからリード位置を取得する。
【0280】
以下に、第6の実施形態について説明する。第6の実施形態は、第1の実施形態、第1の実施形態の変形例である変形例1、第2の実施形態、第2の実施形態の変形例である変形例2、第3の実施形態、または第4の実施形態とともに適用され得る。ここでは一例として、第1の実施形態、第2の実施形態、第3の実施形態、または第4の実施形態とともに第6の実施形態が適用される場合について説明する。
【0281】
第6の実施形態にかかる半導体装置を半導体装置1eと表記する。第6の実施形態にかかるブリッジチップをブリッジチップBCeと表記する。第1~第5の実施形態のいずれかと同じ構成要素には第1~第5の実施形態のいずれかと同じ符号を付す。また、第1~第5の実施形態の何れかと同じ構成要素については簡略的に説明するか、または説明を省略する。
【0282】
図21は、第6の実施形態にかかる半導体装置1eの構成の一例を示す模式的な図である。半導体装置1eは、ブリッジチップBCeおよびメモリチップCP1-1~CP1-4,CP2-1~CP2-4を備える。ここでは図2と同様に、メモリチップCP1-1~CP1-4の代表として1つのメモリチップCP1と、メモリチップCP2-1~CP2-4の代表として1つのメモリチップCP2とが描画されている。
【0283】
各メモリチップCPは、メモリセルアレイ201、周辺回路202、およびページバッファ203を備える。
【0284】
ブリッジチップBCeは、コントローラ101e、バッファメモリ102、及びチャネルインタフェース103を備える。コントローラ101eは、コマンドデコーダ111、マスク回路112、レジスタ113、RE/REn発生回路114b、R/Bn管理回路115、およびコマンド発生回路118eを備える。レジスタ113には、サイズ情報121、進捗情報122、R/Bn情報123、およびアドレステーブル124が格納され得る。
【0285】
コマンド発生回路118eは、ホストHAから受信したコマンドがマルチリードコマンドであるとコマンドデコーダ111が解釈した場合、アドレステーブル124に従って2以上のリードコマンド対を生成する。
【0286】
図22は、第6の実施形態にかかるアドレステーブル124のデータ構造の一例を示す図である。本図に示されるように、アドレステーブル124は、2以上のアドレス値が記憶されたリストである。アドレステーブル124に記憶された各アドレス値は、チャネルを指定する第1ビット列、メモリチップCPを指定する第2ビット列、ページを指定する第3ビット列、およびページ内の位置を指定する第4ビット列を含む、フルのアドレス値である。アドレステーブル124に記憶された各アドレス値は、リード位置を示す。
【0287】
コマンド発生回路118eは、アドレステーブル124に記憶された各アドレス値について1つのリードコマンド対を生成する。コマンド発生回路118eは、アドレステーブル124の先頭位置から順番にアドレス値を取得して、取得されたアドレス値をリード位置とするリードコマンド対を発生する。なお、アドレステーブル124からのアドレス値の取得の順番はこれに限定されない。
【0288】
また、アドレステーブル124は、チャネル毎に個別に用意されていてもよい。また、アドレステーブル124は、チップ毎に個別に用意されていてもよい。
【0289】
図23は、第6の実施形態にかかるアドレステーブル124の書き込み方法を説明するためのタイミングチャートである。
【0290】
まず、ホストHAは、ブリッジチップBCeに宛ててアドレステーブル124を送信するために、ブリッジチップイネーブル信号BRG_CEnをアクティブ状態(Lレベル)に遷移させる(S1201)。これによって、ブリッジ制御期間が開始する。
【0291】
続いて、ホストHAは、ブリッジチップBCeのレジスタ113にアドレステーブル124を書き込むために、アドレステーブル設定コマンドを送信する(S1202)。S1202では、ホストHAは、アドレステーブル設定コマンドを表すコマンド値C10、およびレジスタ113におけるアドレステーブル124の書き込み位置を示すアドレス値ADD109をこの順番で送信する。
【0292】
S1202のアドレステーブル設定コマンドの送信はブリッジ制御期間において実行されるので、ブリッジチップBCeでは、コントローラ101eは、受信したコマンドは自身に宛てたものであると解釈する。また、コマンドデコーダ111は、受信したコマンドはアドレステーブル設定コマンドであると解釈する。
【0293】
続いて、ホストHAは、データD110を送信することができる(S1203)。D110は、アドレステーブル124の内容である。S1203では、ホストHAは、アドレステーブル124の内容、即ちアドレステーブル124に格納された全てのアドレス値およびエンドコード、をデータ信号[7:0]としてバーストでブリッジチップBCeに供給する。なお、アドレステーブル124の供給方法は、かならずしもバーストでの供給に限定されない。ホストHAは、アドレステーブル124の内容を複数に分割して、分割された内容毎にアドレステーブル設定コマンドとともにアドレステーブル124を供給してもよい。
【0294】
コントローラ101eは、受信したアドレステーブル124を、レジスタ113のアドレス値ADD109が示す位置に格納する。
【0295】
ホストHAは、データD110の送信が完了すると、ブリッジチップイネーブル信号BRG_CEnを非アクティブ状態(Hレベル)に遷移させる(S1204)。これによって、ブリッジ制御期間が終了する。そして、アドレステーブル124の書き込みにかかる動作が完了する。
【0296】
図24は、第6の実施形態にかかる複数のリードコマンド対の生成の動作を説明するためのフローチャートである。
【0297】
まず、ホストHAによって、ブリッジチップイネーブル信号BRG_CEnがアクティブ状態(Lレベル)に遷移される(S1301)。これによって、ブリッジ制御期間が開始する(S1302)。
【0298】
続いて、ホストHAからブリッジチップBCeにマルチリードコマンドを受信する(S1303)。
【0299】
第6の実施形態では、マルチリードコマンドは、マルチリードコマンドを表すコマンド値を少なくとも含む。マルチリードコマンドは、アドレス初期値または間隔設定値を含まなくてもよい。マルチリードコマンドは、アドレステーブル124が格納されている位置を示すアドレス値を含んでいてもよい。また、アドレステーブル124は、リード回数設定値を含んでいてもよい。ここでは、マルチリードコマンドはリード回数設定値を含むこととする。
【0300】
S1303に続いて、ホストHAによって、ブリッジチップイネーブル信号BRG_CEnが非アクティブ状態(Hレベル)に遷移される(S1304)。これによって、ブリッジ制御期間が終了する(S1305)。
【0301】
ブリッジチップBCeがマルチリードコマンドを受信した際には、ブリッジチップイネーブル信号BRG_CEnがアクティブ状態(Lレベル)に維持されているので、コントローラ101eは、受信したコマンドは自身に宛てたものであると解釈する。また、コマンドデコーダ111は、受信したコマンドはマルチリードコマンドであると解釈する。そして、コマンド発生回路118eは、マルチリードコマンドに応じた動作を開始する。
【0302】
まず、コマンド発生回路118eは、アドレステーブル124から1つのレコードを取得する(S1306)。初回は、コマンド発生回路118eは、アドレステーブル124の先頭から1つのレコードを取得する。
【0303】
続いて、コマンド発生回路118eは、取得されたレコードがエンドコードであるか否かを判定する(S1307)。取得されたレコードがエンドコードでない場合(S1307:No)、つまり取得されたレコードがアドレス値である場合、コマンド発生回路118eは、取得されたアドレス値をリード位置とするリードコマンド対を発生する(S1308)。
【0304】
そして、コマンド発生回路118eは、発生したリードコマンド対の数がリード回数設定値に達したか否かを判定する(S1309)。発生したリードコマンド対の数がリード回数設定値に達していない場合(S1309:No)、制御がS1306に移行して、後続するレコードの取得が実行される。
【0305】
取得されたレコードがエンドコードである場合(S1307:Yes)、または発生したリードコマンド対の数がリード回数設定値に達した場合(S1309:Yes)、複数のリードコマンド対の生成の動作が終了する。
【0306】
図21に説明を戻す。
コマンド発生回路118eによって生成された複数のリードコマンド対のそれぞれは、チャネルインタフェース103によってあて先のメモリチップCPに供給される。チャネルインタフェース103は、あて先のメモリチップCPがレディー状態でかつあて先のメモリチップCPが接続されたチャネルが空いていることを各メモリチップCPからのレディービジー信号R/BnまたはR/Bn情報123に基づいて確認して、あて先のメモリチップCPへのリードコマンド対の送信を行う。
【0307】
また、チャネルインタフェース103は、アドレステーブル124によって示された第5の実施形態と同様に、各チャネルにおいて、1つのメモリチップCPがセンス動作を実行している時に次のメモリチップCPへのアクセス(コマンドの送信およびデータの取得)を実行する。また、チャネルインタフェース103は、1つのメモリチップCPがセンス動作を実行している時に次のメモリチップCPへのアクセス(コマンドの送信およびデータの取得)を実行するという動作を、複数のチャネルで並列に実行することができる。これによって、ブリッジチップBCeは、複数のメモリチップCPからデータを途切れなく取得することができる。
【0308】
また、チャネルインタフェース103は、第5の実施形態と同様に、1つのメモリチップCPから半ページ分のデータを取得したタイミングで次のメモリチップCPからデータの取得が開始されるようにデータアウトプットコマンドの供給タイミングを制御することができる。
【0309】
ブリッジチップBCeのコントローラ101eは、半ページ分のデータを取得したタイミングでホストHAに進捗情報122を通知する。ホストHAは、進捗情報122に応じてそのデータの取得を開始する。ホストHAとブリッジチップBCeとの間のデータ転送の速度は、ブリッジチップBCeとメモリチップCPとの間のデータ転送の速度の2倍である。よって、ホストHAは、メモリチップCPからブリッジチップBCに各データDXが取得されたときに要した時間の半分の時間で各データDXを取得することができる。
【0310】
よって、第6の実施形態によれば、アドレステーブル124の構成次第によって、図20に示された動作が可能である。よって、バッファメモリ102に途切れなく取得された複数のデータDXを、ホストHAは、途切れなく取得することができる。
【0311】
このように、第6の実施形態によれば、ブリッジチップBCeは、ホストHAから読み出し対象のデータの位置を示すアドレス値の一覧であるアドレステーブル124を受信して、受信したアドレステーブル124をレジスタ113に格納する。そして、ブリッジチップBCeは、アドレステーブル124に基づいて複数のリードコマンド対を発生する。
【0312】
ホストHAは、複数のリードコマンド対の送信にチャネルCH0を使用する必要がなく、ブリッジチップBCdからデータを取得することができる。よって、ホストHAと複数のメモリチップCPとの間のデータ転送の速度が向上する。
【0313】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0314】
1,1a,1b,1c,1d,1e 半導体装置、HA ホスト、CP メモリチップ、SYS ストレージシステム、BC,BCa,BCb,BCc,BCd,BCe ブリッジチップ、2 外部端子群、101,101a,101b,101c,101d,101e コントローラ、102 バッファメモリ、103 チャネルインタフェース、111 コマンドデコーダ、112 マスク回路、113 レジスタ、114,114b RE/REn発生回路、115 R/Bn管理回路、118,118e コマンド発生回路、121 サイズ情報、122 進捗情報、123 R/Bn情報、124 アドレステーブル、201 メモリセルアレイ、202 周辺回路、203 ページバッファ。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24