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

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

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

<>
  • 特許-半導体装置 図1
  • 特許-半導体装置 図2
  • 特許-半導体装置 図3
  • 特許-半導体装置 図4
  • 特許-半導体装置 図5
  • 特許-半導体装置 図6
  • 特許-半導体装置 図7
  • 特許-半導体装置 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-04
(45)【発行日】2024-01-15
(54)【発明の名称】半導体装置
(51)【国際特許分類】
   G06F 12/00 20060101AFI20240105BHJP
【FI】
G06F12/00 560B
G06F12/00 597U
【請求項の数】 8
(21)【出願番号】P 2020050570
(22)【出願日】2020-03-23
(65)【公開番号】P2021149729
(43)【公開日】2021-09-27
【審査請求日】2022-09-12
(73)【特許権者】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】鈴木 智明
【審査官】松平 英
(56)【参考文献】
【文献】特開2015-111458(JP,A)
【文献】特開2012-208961(JP,A)
【文献】特開2018-206389(JP,A)
【文献】特開2018-163434(JP,A)
【文献】特開2019-204565(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F12/00-12/06
13/16-13/18
G11C 7/00-8/20
11/00
11/401-11/4099
11/56
14/00
16/00-17/18
H03K 5/04-5/07
5/13-5/145
19/098-19/23
(57)【特許請求の範囲】
【請求項1】
ホストからの信号が入力される端子が電気的に接続された第1のチップと、
前記第1のチップが電気的に接続された第2のチップと、
前記第2のチップと並列に前記第1のチップが電気的に接続された第3のチップと、
を備え、
前記第1のチップは、
前記第2のチップに対応した第1のバッファメモリと、
前記第3のチップに対応した第2のバッファメモリと、
を有し、
前記第2のチップ及び前記第3のチップは、それぞれ、メモリチップであり、
前記第1のチップは、
第1のリクエストを前記ホストから受信し、
前記第1のリクエストを受信した後、前記第2のチップに第1のコマンドを発行し、
第2のリクエストを前記ホストから受信し、
前記第2のリクエストを受信した後、前記第3のチップに第2のコマンドを発行し、
前記第2のチップは、
前記第1のコマンドに応じて第1のデータを読み出し、
読み出した前記第1のデータを前記第1のチップへ送信し、
前記第3のチップは、
前記第2のコマンドに応じて第2のデータを読み出し、
読み出した前記第2のデータを前記第1のチップへ送信し、
前記第1のチップは、
前記第2のチップから受信された前記第1のデータを前記第1のバッファメモリへ格納する第1の動作、及び前記第3のチップから受信された前記第2のデータを前記第2のバッファメモリへ格納する第2の動作、と並行して、前記第2のチップから前記第1のデータの受信が完了する前の所定のタイミングで、前記第2のチップから前記第1のチップへの前記第1のデータの転送レートよりも速い転送レートで、前記第1のバッファメモリに格納された前記第1のデータを前記ホストへ送信する第3の動作を開始する
半導体装置。
【請求項2】
ホストからの信号が入力される端子が電気的に接続された第1のチップと、
前記第1のチップが電気的に接続された第2のチップと、
前記第2のチップと並列に前記第1のチップが電気的に接続された第3のチップと、
を備え、
前記第1のチップは、
前記第2のチップに対応した第1のバッファメモリと、
前記第3のチップに対応した第2のバッファメモリと、
を有し、
前記第2のチップ及び前記第3のチップは、それぞれ、メモリチップであり、
前記第1のチップは、
第1のリクエストを前記ホストから受信し、
前記第1のリクエストを受信した後、前記第2のチップに第1のコマンドを発行し、
第2のリクエストを前記ホストから受信し、
前記第2のリクエストを受信した後、前記第3のチップに第2のコマンドを発行し、
前記第2のチップは、
前記第1のコマンドに応じて第1のデータを読み出し、
読み出した前記第1のデータを前記第1のチップへ送信し、
前記第3のチップは、
前記第2のコマンドに応じて第2のデータを読み出し、
読み出した前記第2のデータを前記第1のチップへ送信し、
前記第1のチップは、
第1の期間において、前記第2のチップから受信された前記第1のデータを前記第1のバッファメモリへ格納する第1の動作を行い、前記第1の期間の一部に重複する第2の期間において、前記第3のチップから受信された前記第2のデータを前記第2のバッファメモリへ格納する第2の動作を行い、前記第1の期間の開始後で且つ前記第1の期間の完了前に開始する第3の期間において、前記第2のチップから前記第1のチップへの前記第1のデータの転送レートよりも速い転送レートで、前記第1のバッファメモリに格納された前記第1のデータを前記ホストへ送信する第3の動作を行う
半導体装置。
【請求項3】
前記第2のチップは、第3のバッファメモリを有し、
前記第3のチップは、第4のバッファメモリを有し、
前記第1のバッファメモリの容量は、前記第3のバッファメモリの容量以上であり、
前記第2のバッファメモリの容量は、前記第4のバッファメモリの容量以上である
請求項1または請求項2に記載の半導体装置。
【請求項4】
記第1のバッファメモリの容量は、前記第2のチップにおけるデータの読み出し単位となるデータサイズの整数倍であり、
前記第2のバッファメモリの容量は、前記第3のチップにおけるデータの読み出し単位となるデータサイズの整数倍である
請求項1または請求項2に記載の半導体装置。
【請求項5】
前記第1のチップは、前記第1の動作と並行して、前記ホストに対して前記第2のチップに関する信号を送受信する第の動作を行う
請求項1または請求項2に記載の半導体装置。
【請求項6】
前記第1のチップは、前記第1の動作と並行して、前記第のチップに対して信号を送受信する第の動作を行う
請求項1または請求項2に記載の半導体装置。
【請求項7】
前記第1のチップは、前記第1のコマンドの発行に応じて、前記第2のチップに第1の信号を供給し、
前記第2のチップは、前記第1のコマンドと前記第1の信号とに応じてデータを読み出して前記第1のチップへ送信する
請求項1または請求項2に記載の半導体装置。
【請求項8】
前記第1のチップは、
データ端子と、
前記第1のバッファメモリと前記データ端子との間に電気的に接続された複数のフリップフロップと、
を有し、
前記第1のチップは、前記第1の信号が非活性化される第1の期間において、前記複数のフリップフロップのデータをセーブし、前記第1の信号が活性化される第2の期間において、前記セーブされたデータをリストアする
請求項7に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、半導体装置に関する。
【背景技術】
【0002】
ホストに接続される外部端子と複数のチップとの間にブリッジチップを配した半導体装置がある。この半導体装置では、ホストから複数のチップへのアクセスがブリッジチップを介して行われる。このとき、複数のチップへのアクセスを高速に行うことが望まれる。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2018-156708号公報
【文献】特開2000-187637号公報
【文献】特開2019-204565号公報
【文献】特開2006-195990号公報
【文献】特開2015-99570号公報
【文献】特開2019-179455号公報
【文献】国際公開第2016/143009号
【発明の概要】
【発明が解決しようとする課題】
【0004】
一つの実施形態は、複数のチップへのアクセスを高速化できる半導体装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
一つの実施形態によれば、第1のチップと第2のチップと第3のチップとを有する半導体装置が提供される。第1のチップは、ホストからの信号が入力される端子が電気的に接続されている。第2のチップは、第1のチップが電気的に接続されている。第3のチップは、第2のチップと並列に第1のチップが電気的に接続されている。第1のチップは、第1のバッファメモリと第2のバッファメモリとを有する。第1のバッファメモリは、第2のチップに対応している。第2のバッファメモリは、第3のチップに対応している。第2のチップ及び第3のチップは、それぞれ、メモリチップである。第1のチップは、第1のリクエストを前記ホストから受信し、第1のリクエストを受信した後、第2のチップに第1のコマンドを発行し、第2のリクエストを前記ホストから受信し、第2のリクエストを受信した後、第3のチップに第2のコマンドを発行する。第2のチップは、第1のコマンドに応じて第1のデータを読み出し、読み出した前記第1のデータを前記第1のチップへ送信する。第3のチップは、第2のコマンドに応じて第2のデータを読み出し、読み出した前記第2のデータを前記第1のチップへ送信する。第1のチップは、第1の動作及び第2の動作と並行して、第2のチップから第1のデータの受信が完了する前の所定のタイミングで、第2のチップから第1のチップへの第1のデータの転送レートよりも速い転送レートで、第3の動作を開始する。第1の動作では、第2のチップから受信された第1のデータを第1のバッファメモリへ格納する。第2の動作では、第3のチップから受信された前記第2のデータを前記第2のバッファメモリへ格納する。第3の動作は、第1のバッファメモリに格納された第1のデータをホストへ送信する。
【図面の簡単な説明】
【0006】
図1図1は、実施形態にかかる半導体装置が適用されるストレージシステムの構成を示す図である。
図2図2は、実施形態にかかる半導体装置の構成を示す図である。
図3図3は、実施形態にかかる半導体装置の動作を示す波形図である。
図4図4は、実施形態にかかる半導体装置の動作を示す図である。
図5図5は、実施形態にかかる半導体装置の動作を示す図である。
図6図6は、実施形態の変形例にかかる半導体装置の動作を示す波形図である。
図7図7は、実施形態の変形例におけるコントローラの構成の一部を示す図である。
図8図8は、実施形態の変形例におけるコントローラの動作を示す図である。
【発明を実施するための形態】
【0007】
以下に添付図面を参照して、実施形態にかかる半導体装置を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【0008】
(実施形態)
実施形態にかかる半導体装置は、ホストが接続可能な外部端子、ブリッジチップ、及び複数のチップを備える。複数のチップは、ブリッジチップを介して外部端子に接続される。半導体装置の外部端子には、有線通信路を介してホストが接続される。この半導体装置では、ホストから有線通信路を介した複数のチップへのアクセスがブリッジチップを介して行われる。各チップは、例えば、NAND型フラッシュメモリ等の不揮発性メモリのメモリチップである。
【0009】
各チップがメモリチップである場合、半導体装置では、実装密度を向上させるために、搭載されるチップ数は多くなりつつある。例えば、チップを積層することで実装密度を向上させる。このとき、各チップとの接続にかかる負荷を減らし高速化を図るために、FBI(Frequency Boosting Interface)チップと呼ばれるブリッジチップを外部端子に接続し、ブリッジチップと複数のチップ間を複数のチャネルで接続する構成が取られることがある。各チャネルには、複数のチップが接続され得る。有線通信路の帯域は、各チャネルの帯域と等しく、各チャネルの合計の帯域より小さい。複数のチャネルのうち1つのチャネルが択一的に使用されるため、ブリッジチップ及び各チップ間の通信速度が遅い傾向にある。
【0010】
そこで、本実施形態では、半導体装置において、ブリッジチップ内に、複数のチャネルに対応した複数のバッファメモリを各チップの入出力用のバッファメモリの容量以上の容量で設けることで、ブリッジチップを介したホスト及び複数のチップ間のデータ転送速度の向上を図る。
【0011】
具体的には、半導体装置1が適用されるストレージシステムSYSは、図1に示すように構成される。図1は、半導体装置1が適用されるストレージシステムSYSの構成を示す図である。
【0012】
ストレージシステム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型フラッシュメモリ等の不揮発性メモリのメモリチップである。
【0013】
ホストHAは、コントローラなどのデバイスであってもよいし、コンピュータ又は携帯端末などの電子機器に備えられ半導体装置1を制御するプロセッサであってもよい。半導体装置1は、有線通信路(例えば、シリアルバスなど)CH0を介してホストHAに接続可能である。半導体装置1とホストHAとは、所定の規格に基づき構成された有線通信路CH0を介して接続される。各チップ1-1~CP1-4,CP2-1~CP2-4がNAND型フラッシュメモリである場合、所定の規格は、例えば、トグルDDR規格またはONFi規格である。例えば、有線通信路CH0はトグルDDRインタフェースとして機能する。
【0014】
ブリッジチップBCは、外部端子群1aと複数の(ここでは2)チャネルCH1,CH2との間に電気的に接続されている。外部端子群1aは、有線通信路CH0を介してホストHAに電気的に接続可能である。複数のチップCP1-1~CP1-4,CP2-1~CP2-4は、複数のチャネルCH1,CH2を介してブリッジチップBCに接続されている。ブリッジチップBCと各チップ1-1~CP1-4,CP2-1~CP2-4とは、所定の規格に基づき構成されたチャネルCH1,CH2を介して接続される。各チップ1-1~CP1-4,CP2-1~CP2-4がNAND型フラッシュメモリである場合、所定の規格は、例えば、トグルDDR規格またはONFi規格である。例えば、有線通信路CH1,CH2はトグルDDRインタフェースとして機能する。
【0015】
例えば、外部端子群1aは、図2に示すように、データ信号DQ[7:0]用の端子1a1-7~1a1-0、リードイネーブル信号RE ̄/RE用の端子1a2-1,1a2-2、データストローブ信号DQS/DQS ̄用の端子1a3-1,1a3-2、R/B ̄信号用の端子1a4を含む。図2は、半導体装置1の構成を示す図である。図2では、図示の簡略化のため、各チャネルCH1,CH2を介して接続される各チップ1-1~CP1-4,CP2-1~CP2-4は、1つのチップCP1,CP2として図示されている。
【0016】
要求されるアクセススピードの高速化に伴い、半導体装置1では、転送データの取り込みのためのタイミング用の信号のダブルエッジに同期してコマンドに関する動作が行われ得る。転送データの一例は、データ信号DQ[7:0]であり、タイミング用の信号の一例は、データストローブ信号DQS/DQS ̄である。このため、タイミング用の信号が差動信号で構成され得る。リードイネーブル信号RE ̄とリードイネーブル信号REとは、一対の差動信号を構成する。データストローブ信号DQSとデータストローブ信号DQS ̄とは、一対の差動信号を構成する。
【0017】
ブリッジチップBCは、バッファメモリ101、バッファメモリ102、コントローラ103、及びチャネルインタフェース104を有する。
【0018】
コントローラ103は、端子1a1-7~1a1-0,1a2-1,1a2-2,1a3-1,1a3-2,1a4とチャネルインタフェース104との間に配されている。コントローラ103は、バッファメモリ101,102を使って、端子1a1-7~1a1-0,1a2-1,1a2-2,1a3-1,1a3-2,1a4とチャネルインタフェース104との間の情報の授受を制御する。
【0019】
コントローラ103は、コマンドデコーダ103a及びRE ̄/RE発生部103bを有する。コマンドデコーダ103aは、ホストHAから端子1a1-7~1a1-0を介して受けたコマンドを解析し、解析結果に応じて、チップCP1,CP2に対するコマンドを発行する。発行されたコマンドは、チャネルインタフェース104からチャネルCH1,CH2の何れかを経由してチップCP1,CP2の何れかへ供給される。例えば、コマンドデコーダ103aは、リード・データ・コマンド又はデータ・アウトプット・コマンドをホストHAから受けることがある。リード・データ・コマンドは、チップCP1,CP2のメモリセルアレイ111からバッファメモリ113へのデータ転送を指示するコマンドである。データ・アウトプット・コマンドは、チップCP1,CP2のバッファメモリ113に格納されたデータをチップCP1,CP2から出力させることを指示するコマンドである。コマンドデコーダ103aは、各コマンドの受領に応じて、対応するコマンドを、チャネルインタフェース104からチャネルCH1,CH2の何れかを経由してチップCP1,CP2の何れかへ供給する。
【0020】
RE ̄/RE発生部103bは、コマンドデコーダ103aの解析結果に応じて、コマンドがデータ・アウトプット・コマンドである場合、自律的に、リードイネーブル信号RE ̄/REを発生する。発生されたリードイネーブル信号RE ̄/REはチャネルインタフェース104からチャネルCH1,CH2の何れかを経由してチップCP1,CP2の何れかへ供給される。
【0021】
コントローラ103は、ホストHAからリードイネーブル信号RE ̄/REを端子群1a2-1,1a2-2経由で受けた場合、リードイネーブル信号RE ̄/REからデータストローブ信号DQS/DQS ̄を生成して端子群1a3-1,1a3-2経由で出力する。リードイネーブル信号RE ̄/REは、ホストHAから供給されるタイミング用の信号である。データストローブ信号DQS/DQS ̄は、ホストHAからのデータの読み出しの要求に対して、ホストHAへ出力されるタイミング用の信号である。
【0022】
バッファメモリ101は、チャネルCH1を介して接続されたチップCP1に対応して設けられている。バッファメモリ101の容量は、チップCP1に備えられるバッファメモリ113の容量以上である。コントローラ103は、バッファメモリ113に格納された情報が一括してブリッジチップBCへ転送された場合であっても、その情報をバッファメモリ101に格納できる。バッファメモリ101は、例えば、SRAMで構成され得る。
【0023】
バッファメモリ102は、チャネルCH2を介して接続されたチップCP2に対応して設けられている。バッファメモリ102の容量は、チップCP2に備えられるバッファメモリ113の容量以上である。コントローラ103は、バッファメモリ113に格納された情報が一括してブリッジチップBCへ転送された場合であっても、その情報をバッファメモリ102に格納できる。バッファメモリ102は、例えば、SRAMで構成され得る。
【0024】
チャネルインタフェース104は、チャネルCH1,CH2を介したチップCP1,CP2との間の接続を行う。チャネルインタフェース104は、コントローラ103から供給されたコマンド、アドレス、又はデータ、などをチャネルCH1,CH2経由でチップCP1,CP2へ転送したり、チップCP1,CP2から供給されたデータなどをバッファメモリ101,102へ格納したりコントローラ103へ供給したりする。
【0025】
各チップCP1は、端子群TM1~TM4、メモリセルアレイ111、周辺回路112、及びバッファメモリ113を有する。端子群TM1~TM4は、1系統のチャネルCH1を介してチャネルインタフェース104に電気的に接続されている。複数のチップCP1-1~CP1-4それぞれの端子群TM1同士、TM2同士、TM3同士、及び端子MT4同士は、互いに電気的に接続されている。端子群TM1~TM3及び端子MT4は、周辺回路112及びチャネルCH1の一端に電気的に接続されている。チャネルCH1の他端は、チャネルインタフェース104に電気的に接続されている。以下では、説明の簡略化のため、チップCP1-1~CP1-4のそれぞれをチップCP1として示し、チャネルCH1にチップCP1が接続された構成で説明することがある。
【0026】
端子群TM1は、データ信号DQ[7:0]用の端子群である。端子群TM1は、データ信号DQ[7:0]のビット幅(例えば、8ビット幅)に対応した個数の端子を含む。
【0027】
端子群TM2は、リードイネーブル信号RE ̄/RE用の端子群である。端子群TM2は、リードイネーブル信号RE ̄/REのビット幅(例えば、2ビット)に対応した個数の端子を含む。
【0028】
端子群TM3は、データストローブ信号DQS/DQS ̄用の端子群である。端子群TM3は、データストローブ信号DQS/DQS ̄のビット幅(例えば、2ビット)に対応した個数の端子を含む。
【0029】
端子TM4は、レディービジー信号R/B ̄用の端子である。端子TM4は、レディービジー信号R/B ̄のビット幅(例えば、1ビット)に対応した1の端子である。
【0030】
メモリセルアレイ111は、複数のメモリセルが2次元的に又は3次元的に配列されている。メモリセルアレイ111は、周辺回路112に接続されている。周辺回路112は、メモリセルアレイ111の周辺に配され、端子群TM1~TM3、端子TM4、及びバッファメモリ113とメモリセルアレイ111との間に電気的に接続されている。周辺回路112は、端子群TM1を介してブリッジチップBCから受けたコマンドに応じて、バッファメモリ113を利用して、メモリセルアレイ111の各メモリセルへのアクセス動作(例えば、リード動作、ライト動作)を制御する。
【0031】
バッファメモリ113は、チップCP1-1~CP1-4のそれぞれにおける端子群TM1を介した入出力用のバッファであり、入出力用データラッチ又はページバッファとも呼ばれる。周辺回路112は、ブリッジチップBCから受けたリード・データ・コマンドに応じて、メモリセルアレイ111からデータを読み出してバッファメモリ113へ一時的に格納する。そのため、バッファメモリ113の容量は、チップCP1におけるデータの読み出し単位となるデータサイズ(例えば、16[kB])を有する。
【0032】
周辺回路112は、ブリッジチップBCから受けたデータ・アウトプット・コマンドに応じて、バッファメモリ113に格納されたデータを端子群TM1及びチャネルCH1経由でブリッジチップBCへ供給する。このとき、ブリッジチップBCのコントローラ103は、チップCP1から受けたデータをバッファメモリ101に一時的に格納する。
【0033】
ここで、ブリッジチップBCのバッファメモリ101の容量は、チップCP1のデータの読み出し単位となるデータサイズに対して、その整数倍(例えば、16×N[kB]、Nは任意の正の整数)である。これにより、バッファメモリ101は、チップCP1から読み出しデータが連続的に出力される場合に、連続的に読み出しデータを保持できる。
【0034】
チャネルCH2に接続された各チップCP2は、端子群TM1~TM3、端子TM4、メモリセルアレイ111、及び周辺回路112を有する。各構成については、チャネルCH1に接続された各チップCP1と同様であるため、説明を省略する。
【0035】
次に、半導体装置1の動作について図3図5を用いて説明する。図3は、半導体装置1の動作を示す波形図である。図3(A)は、ホストHAとブリッジチップBCとの間で有線通信路CH0を介してやり取りされる信号のレベルを示す。図3(B)は、ブリッジチップBCと各チップCP1との間でチャネルCH1を介してやりとりされる信号のレベルを示す。図3(C)は、ブリッジチップBCと各チップCP2との間でチャネルCH2を介してやりとりされる信号のレベルを示す。図4は、半導体装置1の動作を示す図である。図5は、半導体装置1の他の動作を示す図である。
【0036】
図3に示すタイミングt1において、ブリッジチップBCのコントローラ103は、ホストHAから、チップCP1向けのリード・データ・コマンドCM1をDQ用の端子1a1を介して受け、そのコマンドがチップCP1向けのコマンドであることを認識する。コントローラ103は、リード・データ・コマンドCM1の最終バイトを見ることで、そのコマンドがリード・データ・コマンドであることを認識できる。これに応じて、コントローラ103は、図4(a)に点線で示すように、リード・データ・コマンドCM1をチャネルCH1経由でチップCP1のDQ用の端子群TM1へ転送する。チップCP1において、周辺回路112は、端子群TM1を介してリード・データ・コマンドCM1を受ける。
【0037】
図3に示すタイミングt2において、チップCP1の周辺回路112は、リード・データ・コマンドの受領に応じて、レディービジー信号R/B ̄をHレベル(レディー)からLレベル(ビジー)へ遷移させて端子TM4及びチャネルCH1経由でブリッジチップBCへ供給する。それとともに、チップCP1の周辺回路112は、メモリセルアレイ111からリード・データ・コマンドに対応するデータを読み出してバッファメモリ113へ一時的に格納する。
【0038】
タイミングt3において、ブリッジチップBCのコントローラ103は、ホストHAから、チップCP2向けのリード・データ・コマンドCM11をDQ用の端子1a1を介して受け、そのコマンドがチップCP2向けのコマンドであることを認識する。これに応じて、コントローラ103は、図4(b)に点線で示すように、リード・データ・コマンドCM11をチャネルCH2経由でチップCP2のDQ用の端子群TM1へ転送する。チップCP2において、周辺回路112は、端子群TM1を介してリード・データ・コマンドCM11を受ける。
【0039】
タイミングt4において、チップCP1の周辺回路112は、読み出しデータのバッファメモリ113への格納が完了したことに応じて、レディービジー信号R/B ̄をLレベル(ビジー)からHレベル(レディー)へ遷移させて端子TM4及びチャネルCH1経由でブリッジチップBCへ供給する。
【0040】
図3に示すタイミングt5において、チップCP2の周辺回路112は、リード・データ・コマンドの受領に応じて、レディービジー信号R/B ̄をHレベル(レディー)からLレベル(ビジー)へ遷移させて端子TM4及びチャネルCH2経由でブリッジチップBCへ供給する。それとともに、チップCP2の周辺回路112は、メモリセルアレイ111からリード・データ・コマンドに対応するデータを読み出してバッファメモリ113へ一時的に格納する。
【0041】
タイミングt6において、ブリッジチップBCのコントローラ103は、ホストHAからチップCP1に対するデータ・アウトプット・コマンドCM2をDQ用の端子1a1を介して受け、そのコマンドがチップCP1向けのコマンドでありデータ・アウトプット・コマンドであることを認識する。コントローラ103は、データ・アウトプット・コマンドCM2の最終バイトを見ることで、そのコマンドがデータ・アウトプット・コマンドであることを認識できる。これに応じて、コントローラ103は、チャネルCH1をホストHAから独立して制御する。
【0042】
チップCP2がビジーであるタイミングt5以降の期間において、コントローラ103は、チップCP1に対するコマンドを受領したことに応じて、チップCP1にアクセスすることができる。すなわち、タイミングt6において、コントローラ103は、データ・アウトプット・コマンドCM2をチャネルCH1経由でチップCP1のDQ用の端子群TM1へ転送する。チップCP1において、周辺回路112は、端子群TM1を介してデータ・アウトプット・コマンドCM2を受ける。また、コントローラ103は、リードイネーブル信号RE ̄/REを発生させてチップCP1へ端子群TM2を介して転送する。チップCP1において、周辺回路112は、端子群TM2を介してリードイネーブル信号RE ̄/REを受ける。
【0043】
図3に示すタイミングt8~t13の期間において、チップCP1の周辺回路112は、データ・アウトプット・コマンドCM2の受領に応じて、バッファメモリ113に格納されたデータを端子群TM1からチャネルCH1経由でデータ信号DQとしてブリッジチップBCへ供給する。周辺回路112は、入力されたリードイネーブル信号RE ̄/REからデータストローブ信号DQS/DQS ̄を生成して端子群TM3及びチャネルCH1経由でブリッジチップBCへ供給する。このとき、データ信号DQとデータストローブ信号DQSとは同期している。
【0044】
これに応じて、ブリッジチップBCのコントローラ103は、図5(a)に点線で示すように、チップCP1から受けたデータをバッファメモリ101に一時的に格納する。
【0045】
図3に示すタイミングt8~t13の期間における少なくとも前半の期間では、ホストHAとブリッジチップBCとの間の有線通信路CH0は、チャネルCH1を介したチップCP1へのアクセス動作で使用されない。このため、ホストHA及びコントローラ103は、有線通信路CH0を他のチャネルCH2を介したチップCP2へのアクセス動作のために使用可能である。
【0046】
タイミングt8において、コントローラ103は、有線通信路CH0のR/B ̄信号をHレベルとしたまま、図5(a)に一点鎖線で示すように、自律的に、リードイネーブル信号RE ̄/REを発生させてチャネルCH1経由でチップCP1のRE ̄/RE用の端子群TM2へ転送する。リードイネーブル信号REを受けた周辺回路112は、R/B ̄信号をLレベルにする。
【0047】
タイミングt9において、チップCP2の周辺回路112は、読み出しデータのバッファメモリ113への格納が完了したことに応じて、レディービジー信号R/B ̄をLレベル(ビジー)からHレベル(レディー)へ遷移させて端子TM4及びチャネルCH1経由でブリッジチップBCへ供給する。
【0048】
タイミングt10において、ブリッジチップBCのコントローラ103は、ホストHAから、チップCP2向けのデータ・アウトプット・コマンドCM12をDQ用の端子1a1を介して受け、そのコマンドがチップCP2向けのコマンドでありデータ・アウトプット・コマンドであることを認識する。コントローラ103は、データ・アウトプット・コマンドCM12の最終バイトを見ることで、そのコマンドがデータ・アウトプット・コマンドであることを認識できる。これに応じて、コントローラ103は、チャネルCH2をホストHAから独立して制御する。
【0049】
チップCP1がビジーであるタイミングt8以降の期間において、コントローラ103は、チップCP2に対するコマンドを受領したことに応じて、チップCP2にアクセスすることができる。すなわち、タイミングt10において、コントローラ103は、図5(a)に点線で示すように、データ・アウトプット・コマンドCM12をチャネルCH2経由でチップCP2のDQ用の端子群TM1へ転送する。チップCP2において、周辺回路112は、端子群TM1及びバッファメモリ113を介してデータ・アウトプット・コマンドCM12を受ける。
【0050】
図3に示すタイミングt11において、コントローラ103は、有線通信路CH0のR/B ̄信号をHレベルとしたまま、図5(b)に一点鎖線で示すように、自律的に、リードイネーブル信号RE ̄/REを発生させる。コントローラ103は、発生させたリードイネーブル信号RE ̄/REをチャネルCH2経由でチップCP2のRE ̄/RE用の端子群TM2へ転送する。リードイネーブル信号REを受けた周辺回路112は、R/B ̄信号をLレベルにする。
【0051】
図3に示すタイミングt11~t16の期間において、チップCP2の周辺回路112は、データ・アウトプット・コマンドCM12に応じて、バッファメモリ113に格納されたデータ(R2_Data)を端子群TM1及びチャネルCH2経由でブリッジチップBCへ供給する。周辺回路112は、入力されたリードイネーブル信号RE ̄/REからデータストローブ信号DQS/DQS ̄を生成して端子群TM3及びチャネルCH2経由でブリッジチップBCへ供給する。このとき、データ信号DQとデータストローブ信号DQSとは同期している。
【0052】
これに応じて、ブリッジチップBCのコントローラ103は、図5(b)に点線で示すように、チップCP2から受けたデータ(R2_Data)をバッファメモリ102に一時的に格納する。
【0053】
図3に示すタイミングt12になると、ブリッジチップBCのコントローラ103は、リードイネーブル信号RE ̄/REをホストHAから受信すると、リードイネーブル信号RE ̄/REに応じてデータストローブ信号DQS/DQS ̄を生成して有線通信路CH経由でホストHAへ送信し始める。それとともに、コントローラ103は、バッファメモリ101に格納されたデータ(R1_Data)を読み出して有線通信路CH0経由でホストHAへ送信し始める。このとき、図5(b)に太い点線の矢印で示すように、データR1_DataがチャネルCH1,CH2を介したデータ転送に比べて速いデータ転送レートでホストHAへ送信される。
【0054】
なお、チップCP1からチャネルCH1を介してブリッジチップBCへデータが転送されるタイミングt8~t13の期間(チップ間データ転送期間)と、ブリッジチップBCから有線通信路CHを介してホストHAへデータが転送されるタイミングt12~t14の期間(チップ・ホスト間データ転送期間)とは、重複期間(タイミングt12~t13の期間)を有する。チップ間データ転送期間とチップ・ホスト間データ転送期間との重複期間が長すぎると、チップ・ホスト間データ転送期間の途中にバッファメモリ101が空になりチップ間データ転送による追加のデータがバッファメモリ101に格納されるまで待つ状態(アンダーフロー状態)が生じて、データ転送効率が低下する。そのため、アンダーフロー状態が生じない程度に重複期間の長さを抑制することを考慮して、タイミングt12が決められ得る。
【0055】
図3に示すタイミングt13において、コントローラ103は、チップCP1のバッファメモリ113からのデータ転送が完了したことを認識し、チップCP1からのデータのバッファメモリ101への格納を完了させる。また、チップCP1の周辺回路112は、レディービジー信号R/B ̄をHレベル(レディー)に維持させて端子TM4及びチャネルCH1経由でブリッジチップBCへ供給する。
【0056】
このとき、コントローラ103は、バッファメモリ101から有線通信路CH0を介してホストHAへデータ(R1_Data)を転送する動作を継続している。
【0057】
図3に示すタイミングt14において、ホストHAは、バッファメモリ101からホストHAへ転送されたデータ量を監視することなどにより、バッファメモリ101からホストHAへのデータ転送が完了したことを認識する。このとき、ホストHAは、次のデータ転送があることを認識しており、リードイネーブル信号RE ̄/REを引き続き半導体装置1(ブリッジチップBC)へ送信し続けている。ブリッジチップBCのコントローラ103は、リードイネーブル信号RE ̄/REをホストHAから受信し続け、リードイネーブル信号RE ̄/REに応じてデータストローブ信号DQS/DQS ̄を生成して有線通信路CH経由でホストHAへ送信し続けている。
【0058】
タイミングt15において、コントローラ103は、バッファメモリ101からホストHAへのデータ転送が完了したことに応じて、バッファメモリ102に格納されたデータ(R2_Data)を読み出して有線通信路CH0経由でホストHAへ送信し始める。このとき、図5(c)に太い点線の矢印で示すように、データR2_DataがチャネルCH1,CH2を介したデータ転送に比べて速いデータ転送レートでホストHAへ送信される。
【0059】
なお、チップCP2からチャネルCH2を介してブリッジチップBCへデータが転送されるタイミングt11~t16の期間(チップ間データ転送期間)と、ブリッジチップBCから有線通信路CH0を介してホストHAへデータが転送されるタイミングt15~t17の期間(チップ・ホスト間データ転送期間)とは、重複期間(タイミングt15~t16の期間)を有する。チップ間データ転送期間とチップ・ホスト間データ転送期間との重複期間が長すぎると、チップ・ホスト間データ転送期間の途中にバッファメモリ101が空になりチップ間データ転送による追加のデータがバッファメモリ102に格納されるまで待つ状態(アンダーフロー状態)が生じて、データ転送効率が低下する。そのため、アンダーフロー状態が生じない程度に重複期間の長さを抑制することを考慮して、タイミングt15が決められ得る。
【0060】
図3に示すタイミングt16において、コントローラ103は、チップCP2のバッファメモリ113からのデータ転送が完了したことを認識し、チップCP2からのデータのバッファメモリ101への格納を完了させる。また、チップCP2の周辺回路112は、レディービジー信号R/B ̄をLレベル(ビジー)からHレベル(レディー)に維持させて端子TM4及びチャネルCH2経由でブリッジチップBCへ供給する。
【0061】
このとき、コントローラ103は、バッファメモリ102から有線通信路CH0を介してホストHAへデータ(R2_Data)を転送する動作を継続している。
【0062】
図3に示すタイミングt17において、ホストHAは、バッファメモリ102からホストHAへ転送されたデータ量を監視することなどにより、バッファメモリ102からホストHAへのデータ転送が完了したことを認識する。このとき、ホストHAは、次のデータ転送がないと判断し、リードイネーブル信号RE ̄/REのトグルを停止させる。ブリッジチップBCのコントローラ103は、リードイネーブル信号RE ̄/REのトグルが停止したことに応じて、データストローブ信号DQS/DQS ̄のトグルを停止させる。
【0063】
以上のように、本実施形態では、半導体装置1において、ブリッジチップBC内に、複数のチャネルCH1,CH2に対応した複数のバッファメモリ101,102を各チップの入出力用のバッファメモリ113の容量以上の容量で設ける。これにより、ブリッジチップBCを介したホストHA及び複数のチップCP1,CP2間のデータ転送速度を向上できる。したがって、ホストHAの制御を複雑にさせることなく且つチップCP1,CP2側のデータ転送速度で律速されることなく、トグルDDRインタフェースとしての有線通信路CH及びチャネルCH1,CH2を効率的に活用できる。
【0064】
(変形例)
トグルDDRの規格では、チップに対するリードアクセスを一度とめて、他のコマンドを転送するリードホールドという機能が定義されている。リードホールドでは、リードアクセスが再開されると、リード途中であったデータの続きからリードデータをホストHAへ返すことが要求される。しかし、リードホールドの転送動作の再開に関する許容時間は短く、通常転送の事前準備の再開では間に合わない。
【0065】
例えば、ブリッジチップBCにおいて、チップCP2からのリードデータをバッファメモリ102に一時的に格納しながら、バッファメモリ102からホストHAへのリードデータの転送を行っている途中で、ホストHAからのライトコマンドを受けたことに応じて、リードホールドを行った場合を図6に示す。図6は、実施形態の変形例にかかる半導体装置1の動作を示すCH1又はCH2における波形図である。図6において、チップイネーブル信号CE ̄は、アクティブレベル(Lレベル)でチップをイネーブルするための信号である。コマンドラッチイネーブル信号CLEは、アクティブレベル(Hレベル)でDQがコマンドであることを通知する信号である。アドレスラッチイネーブル信号CLEは、アクティブレベル(Hレベル)でDQがアドレスであることを通知する信号である。WE ̄は、アクティブレベル(Lレベル)でライトアクセスをイネーブルする信号である。
【0066】
ホストHAは、半導体装置1からのデータ信号DQの転送途中に、外部(例えば、上位のコントローラ)からの所定の要求を受けたことに応じて、タイミングt21において、リードイネーブル信号RE ̄/REのトグルを停止させる。このとき、先にホストHAから半導体装置1へ送信されたホストリードコマンドに応じた半導体装置1からホストHAへのリードデータの転送が途中で中断されている。
【0067】
タイミングt21から期間tRPSTが経過したタイミングt22において、コントローラ103は、チップイネーブル信号CE ̄がノンアクティブレベルへデアサートされたことに応じて、データストローブ信号DQS/DQS ̄及びデータDQの出力を停止する。
【0068】
タイミングt22からtRPSTHが経過したタイミングt23において、ホストHAは、リードイネーブル信号RE ̄/REをノンアクティブレベルにし、所定の要求に応じた処理を開始する。例えば、ホストHAは、半導体装置1におけるホストリードコマンドでリードアクセスされていたチップと異なる他のチップに対するアクセス動作を要求するアクセスコマンドを発行して半導体装置1へ送信し、半導体装置1は、アクセスコマンドを受けて、他のチップに対するアクセス動作を開始する。
【0069】
タイミングt24において、ホストHAは、所定の要求に応じた処理が終了すると、チップイネーブル信号CE ̄をアクティブレベルへアサートする。
【0070】
チップイネーブル信号CE ̄がアサートされたことに応じて、タイミングt25において、ホストHAは、リードイネーブル信号RE ̄/REをアクティブレベル(ここでは、RE ̄=Lレベル、RE=Hレベル)にアサートする。
【0071】
タイミングt25から期間tRPREが経過したタイミングt26において、ホストHAは、リードイネーブル信号RE ̄/REのトグルを再開させる。ブリッジチップBCのコントローラ103は、リードイネーブル信号RE ̄/REのトグルが再開されたことに応じて、データストローブ信号DQS/DQS ̄及びデータDQの出力を再開する。
【0072】
図6において、期間tRPSTがリードホールドに入るための転送終了処理期間であり、期間tRPSTH+tCRES+tCRがリードホールド期間であり、期間tRPREがリードホールドからリードアクセスに復帰するための転送処理待ち期間である。この期間tRPREは、例えば10数ns程度であり、非常に短い。
【0073】
一方、転送が高速化すると、内部処理用に分周クロックを用いざるを得ない。このため、コントローラ103におけるバッファメモリ101,102からDQ用の端子1a1までのデータ転送経路には、図7に示すように、クロックのタイミング収束や周波数変換のためのN+1個(Nは2以上の整数)のフリップフロップFF-0~FF-N、セレクタSL、フリップフロップFFが置かれる。図7は、実施形態の変形例におけるコントローラ103の構成の一部を示す図である。この構成により、データ転送経路におけるデータ転送のレイテンシが伸びる傾向(ホストHAから見た場合のコマンド応答時間が長くなる傾向)にある。このレイテンシ期間は、データ・アウトプット・コマンドに応じて最初にリードデータを出すときに、チップCP2側のデータ準備期間を隠蔽できる。
【0074】
しかし、リードホールドを行った後の再開動作は規格上短い時間(すなわち、期間tRPRE)で行うことが要求される。図7に示すように、バッファメモリ101,102からのリードを一度止めて、他の動作(例えば、ライトアクセス)を行うとデータ転送経路のリードデータがライトデータで上書きされることなどにより失われる。このため、リードホールドからの再開時には再セットアップが必要になるが、バッファメモリ102からデータを再度読み出していては、期間tRPREより長い時間が掛り、間に合わない可能性がある。
【0075】
そこで、本変形例では、データ転送経路における各フリップフロップFFをリテンションフリップフロップにすることで、リードホールドからの復帰時における迅速なデータの再セットアップを可能にする。
【0076】
具体的には、この構成によれば、図6に示すように、リードホールド開始時の転送終了処理期間tRPSTと復帰時の転送処理待ち期間tRPREとのいずれにおいても、リードイネーブル信号RE ̄/REが固定レベルに維持される。リードイネーブル信号RE ̄/REは、フリップフロップFF-0~FF-Nのクロック端子に供給される信号であり、固定レベルに維持されていれば、フリップフロップFF-0~FF-Nがデータを安定的に保持できる。
【0077】
各フリップフロップFFをリテンションフリップフロップにするために、図7に示すように、N個のフリップフロップFF-1~FF-Nのそれぞれに、セーブ用のスイッチSW1、ラッチ回路LT、リストア用のスイッチSW2を配する。スイッチSW1は、一端がフリップフロップFFのデータ出力端子に接続され、他端がラッチ回路LTの入力ノードに接続される。スイッチSW2は、一端がラッチ回路の出力ノードに接続され、他端がフリップフロップFFのデータ入力端子に接続される。
【0078】
例えば、図6に示すタイミングt21において、図8(a)に斜線のハッチングで示すように、コントローラ103におけるN個のフリップフロップFF-1~FF-Nのそれぞれがリードデータを保持しているとする。図8は、実施形態の変形例におけるコントローラ103の動作を示す図である。
【0079】
図6に示すリードホールド開始時の転送終了処理期間tRPSTになると、コントローラ103は、N個のフリップフロップFF-1~FF-Nに接続されたそれぞれのスイッチSW1をオン状態に維持し、図8(b)に斜線のハッチングで示すように、フリップフロップFFに保持されたリードデータをラッチ回路LTにラッチしてセーブする。このとき、各フリップフロップFF-1~FF-Nに接続されたスイッチSW2は、オフ状態に維持されている。
【0080】
リードホールド期間の開始タイミングt22になると、図8(a)に示すように、各フリップフロップFF-1~FF-Nに接続されたスイッチSW1及びスイッチSW2のいずれも、オフ状態に維持する。
【0081】
図6に示すリードホールドからの復帰時の転送処理待ち期間tRPREになると、コントローラ103は、N個のフリップフロップFF-1~FF-Nに接続されたそれぞれのスイッチSW2をオン状態に維持し、図8(c)に斜線のハッチングで示すように、ラッチ回路LTにセーブされたリードデータをフリップフロップFFに戻してリストアする。このとき、各フリップフロップFF-1~FF-Nに接続されたスイッチSW1は、オフ状態に維持されている。
【0082】
リードアクセスの開始タイミングt26になると、図8(a)に示すように、各フリップフロップFF-1~FF-Nに接続されたスイッチSW1及びスイッチSW2のいずれも、オフ状態に維持する。
【0083】
このように、本変形例では、データ転送経路における各フリップフロップFF-1~FF-Nをリテンションフリップフロップにする。これにより、リードホールドからの復帰時において、リードデータの再セットアップを迅速に行うことができる。
【0084】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0085】
1 半導体装置、101,102,113 バッファメモリ、BC ブリッジチップ、CP1,CP1-1~CP1-4,CP2,CP2-1~CP2-4 チップ。
図1
図2
図3
図4
図5
図6
図7
図8