(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024000794
(43)【公開日】2024-01-09
(54)【発明の名称】半導体記憶装置およびメモリシステム
(51)【国際特許分類】
G06F 13/16 20060101AFI20231226BHJP
G06F 12/06 20060101ALI20231226BHJP
G06F 13/36 20060101ALI20231226BHJP
G06F 13/38 20060101ALI20231226BHJP
【FI】
G06F13/16 520B
G06F12/06 550A
G06F13/16 510E
G06F13/36 310E
G06F13/38 330Z
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022099706
(22)【出願日】2022-06-21
(71)【出願人】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】大友 吾一
【テーマコード(参考)】
5B160
【Fターム(参考)】
5B160AA13
5B160CD00
5B160MM01
(57)【要約】
【課題】ブリッジチップと複数のメモリチップとの間の複数のデータ転送を並列に制御すること。
【解決手段】半導体記憶装置は、第1チップと、第2チップと、第3チップとを備える。第3チップは、第1チャネルを介して第1チップに接続され、第2チャネルを介して第2チップに接続される。第3チップは、第1チップを示す値のチップ識別番号を含む第1アドレスを含むデータ転送用の第1コマンドシーケンスを第1装置から受信した場合、第1アドレスを含むデータ転送用の第2コマンドシーケンスを第1チャネルを介して第1チップに転送し、第1アドレスのうちのチップ識別番号を第1チップを示す値から第2チップを示す値に差し替えた第2アドレスを含むデータ転送用の第3コマンドシーケンスを第2チャネルを介して第2チップに転送する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
第1メモリセルアレイを備える第1チップと、
第2メモリセルアレイを備える第2チップと、
第1装置に接続可能であり、第1チャネルを介して前記第1チップに接続され、第2チャネルを介して前記第2チップに接続され、
前記第1チップを示す値のチップ識別番号を含み前記第1メモリセルアレイ内の位置を示す第1アドレスを含むデータ転送用の第1コマンドシーケンスを前記第1装置から受信した場合、
前記第1アドレスを含む前記データ転送用の第2コマンドシーケンスを前記第1チャネルを介して前記第1チップに転送し、
前記第1アドレスのうちの前記チップ識別番号を前記第1チップを示す値から前記第2チップを示す値に差し替えた第2アドレスを含む前記データ転送用の第3コマンドシーケンスを前記第2チャネルを介して前記第2チップに転送する、
第3チップと、
を備える半導体記憶装置。
【請求項2】
前記第3チップは、前記第2コマンドシーケンスの転送と、前記第3コマンドシーケンスの転送と、を並列的に実行する、
請求項1に記載の半導体記憶装置。
【請求項3】
前記第3チップは、前記第1コマンドシーケンスの受信を開始すると、前記第1コマンドシーケンスの受信が完了する前に前記第2コマンドシーケンスの転送と前記第3コマンドシーケンスの転送と、を開始する、
請求項2に記載の半導体記憶装置。
【請求項4】
前記第1チャネルには前記第1チップを含む複数の第4チップが接続され、
前記第2チャネルには前記第2チップを含む複数の第5チップが接続され、
前記第3チップは、前記第1アドレスに含まれる前記第1チップを示す値を用いた算術演算によって、前記第2チップを示す値を取得する、
請求項1に記載の半導体記憶装置。
【請求項5】
前記第3チップは、前記第1コマンドシーケンスを複製することによって前記第2コマンドシーケンスと第4コマンドシーケンスとを生成し、前記第4コマンドシーケンスに含まれる前記第1アドレスのうちの前記チップ識別番号を前記第1チップを示す値から前記第2チップを示す値に差し替えて、前記第3コマンドシーケンスを生成する、
請求項1に記載の半導体記憶装置。
【請求項6】
第1メモリセルアレイを備える第1チップと、
第2メモリセルアレイを備える第2チップと、
第1装置に接続可能であり、第1チャネルを介して前記第1チップに接続され、第2チャネルを介して前記第2チップに接続され、
前記第1メモリセルアレイ内の位置を示す第1アドレスと、前記第2メモリセルアレイ内の位置を示す第2アドレスと、を含むデータ転送用の第1コマンドシーケンスを前記第1装置から受信した場合、
前記第1アドレスを含み前記第2アドレスを含まない前記データ転送用の第2コマンドシーケンスを前記第1チャネルを介して前記第1チップに転送し、
前記第2アドレスを含み前記第1アドレスを含まない前記データ転送用の第3コマンドシーケンスを前記第2チャネルを介して前記第2チップに転送する、
第3チップと、
を備える半導体記憶装置。
【請求項7】
前記第3チップは、前記第1コマンドシーケンスを複製することによって第4コマンドシーケンスと第5コマンドシーケンスとを生成し、前記第4コマンドシーケンスに含まれる前記第2アドレスをマスクして前記第2コマンドシーケンスを生成し、前記第5コマンドシーケンスに含まれる前記第1アドレスをマスクして前記第3コマンドシーケンスを生成する、
請求項6に記載の半導体記憶装置。
【請求項8】
前記第1コマンドシーケンスは、前記データ転送を要求する第1コマンドと、並列動作を指示する第2コマンドと、を含み、
前記第3チップは、前記第4コマンドシーケンスおよび前記第5コマンドシーケンスに含まれる前記第1コマンドをマスクせず、前記第4コマンドシーケンスおよび前記第5コマンドシーケンスに含まれる前記第2コマンドをマスクする、
請求項7に記載の半導体記憶装置。
【請求項9】
前記第1アドレスは、前記第1メモリセルアレイ内の位置を示す完全なアドレスであり、
前記第2アドレスは、前記第2メモリセルアレイ内の位置を示す完全なアドレスである第3アドレスのうちの一部であり前記第1アドレスにも含まれる部分である第1部分が省略されたアドレスであり、
前記第3チップは、前記第1コマンドシーケンスを複製することによって第4コマンドシーケンスと第5コマンドシーケンスとを生成し、前記第4コマンドシーケンスに含まれる前記第2アドレスをマスクすることによって前記第2コマンドシーケンスを生成し、前記第5コマンドシーケンスに含まれる前記第1アドレスのうちの前記第1部分を除く第2部分をマスクすることによって前記第3コマンドシーケンスを生成する、
請求項6に記載の半導体記憶装置。
【請求項10】
前記第2アドレスは、ブロック識別番号とチップ識別番号とを含み、前記ブロック識別番号は第2メモリセルアレイに含まれる複数のブロックを識別可能な番号である、
請求項9に記載の半導体記憶装置。
【請求項11】
請求項1から請求項10の何れか一項に記載の半導体記憶装置と、
前記第1装置と、
を備えるメモリシステム。
【請求項12】
第1装置と、
第1メモリセルアレイを備える第1チップと、
第2メモリセルアレイを備える第2チップと、
前記第1装置に接続され、第1チャネルを介して前記第1チップに接続され、第2チャネルを介して前記第2チップに接続され、
前記第1チップを示す値のチップ識別番号を含み前記第1メモリセルアレイ内の位置を示す第1アドレスを含み、前記第2メモリセルアレイ内の位置を示す第2アドレスを含まない、データ転送用の第1コマンドシーケンスを前記第1装置から受信した場合、
前記第1アドレスを含む前記データ転送用の第2コマンドシーケンスを前記第1チャネルを介して前記第1チップに転送し、
前記第1アドレスのうちの前記チップ識別番号を前記第1チップを示す値から前記第2チップを示す値に差し替えた第3アドレスを含む前記データ転送用の第3コマンドシーケンスを前記第2チャネルを介して前記第2チップに転送し、
前記第1メモリセルアレイ内の位置を示す第4アドレスと、前記第2メモリセルアレイ内の位置を示す第5アドレスと、を含むデータ転送用の第4コマンドシーケンスを前記第1装置から受信した場合、
前記第4アドレスを含み前記第5アドレスを含まない前記データ転送用の第5コマンドシーケンスを前記第1チャネルを介して前記第1チップに転送し、
前記第5アドレスを含み前記第4アドレスを含まない前記データ転送用の第6コマンドシーケンスを前記第2チャネルを介して前記第2チップに転送する、
第3チップと、
を備えるメモリシステム。
【請求項13】
前記第1装置は、
前記第1メモリセルアレイのうちの第1ブロックと、前記第2メモリセルアレイのうちの前記第1ブロックを示す第6アドレス情報のうちの前記チップ識別番号を前記第1チップを示す値から前記第2チップを示す値に差し替えた第7アドレス情報が示す第2ブロックとが前記データ転送の対象である場合、前記第1コマンドシーケンスを前記第3チップに転送し、
前記第1ブロックと、前記第2メモリセルアレイのうちの前記第7アドレス情報と異なる第8アドレス情報が示す第3ブロックとが前記データ転送の対象である場合、前記第4コマンドシーケンスを前記第3チップに転送する、
請求項12に記載のメモリシステム。
【請求項14】
前記第1装置は、
前記第1ブロックと前記第2ブロックとがともに使用可である場合、前記第1ブロックと前記第2ブロックとを前記第1コマンドシーケンスの転送が可能な第1グループとして管理し、
前記第2ブロックが使用不可になった場合、前記第1グループを解除して前記第1ブロックと、使用可である複数のブロックのうちの前記第3ブロックと、を前記第4コマンドシーケンスの転送が可能な第2グループとして管理する、
請求項12に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、半導体記憶装置およびメモリシステムに関する。
【背景技術】
【0002】
外部のコントローラ(以降、メモリコントローラと表記する)に接続される外部端子群と複数のメモリチップとの間にブリッジチップと称される半導体集積回路を配した半導体記憶装置がある。この半導体記憶装置では、メモリコントローラと複数のメモリチップとの間のデータ転送がブリッジチップを介して行われる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
一つの実施形態は、ブリッジチップと複数のメモリチップとの間の複数のデータ転送を並列に制御できる半導体記憶装置およびメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【0005】
一つの実施形態によれば、半導体記憶装置は、第1チップと、第2チップと、第3チップとを備える。第1チップは第1メモリセルアレイを備える。第2チップは第2メモリセルアレイを備える。第3チップは第1装置に接続可能であり、第1チャネルを介して第1チップに接続され、第2チャネルを介して第2チップに接続される。第3チップは、第1チップを示す値のチップ識別番号を含み第1メモリセルアレイ内の位置を示す第1アドレスを含むデータ転送用の第1コマンドシーケンスを第1装置から受信した場合、第1アドレスを含むデータ転送用の第2コマンドシーケンスを第1チャネルを介して第1チップに転送し、第1アドレスのうちのチップ識別番号を第1チップを示す値から第2チップを示す値に差し替えた第2アドレスを含むデータ転送用の第3コマンドシーケンスを第2チャネルを介して第2チップに転送する。
【図面の簡単な説明】
【0006】
【
図1】第1の実施形態にかかる半導体記憶装置が適用されるメモリシステムの構成の一例を示す模式的な図。
【
図2】第1の実施形態の各メモリチップに与えられたLUNおよびチップグループについて説明するための模式的な図。
【
図3】第1の実施形態のメモリチップの構成の一例を示す模式的な図。
【
図4】第1の実施形態にかかるメモリシステムにおいてライト動作の指示の際に各チャネルにおいて転送される情報の一例を示すタイミングチャート。
【
図5】第1の実施形態のデータインコマンドシーケンスに含んで転送されるアドレス情報の構成の一例を示す模式的な図。
【
図6】第1の実施形態にかかるメモリシステムにおいてセンス動作の指示の際に各チャネルにおいて転送される情報の一例を示すタイミングチャート。
【
図7】第1の実施形態にかかるメモリシステムにおいてデータアウト動作の指示の際に各チャネルにおいて転送される情報の一例を示すタイミングチャート。
【
図8】第1の実施形態にかかるブリッジチップの、データ転送用のコマンドシーケンスの処理に関する動作の一例を示すフローチャート。
【
図9】第2の実施形態にかかる半導体記憶装置が適用されるメモリシステムの一例を示す模式的な図。
【
図10】第2の実施形態にかかるメモリシステムにおいてライト動作の指示の際に各チャネルにおいて転送される情報の一例を示すタイミングチャート。
【
図11】第2の実施形態にかかるメモリシステムにおいてセンス動作の指示の際に各チャネルにおいて転送される情報の一例を示すタイミングチャート。
【
図12】第2の実施形態にかかるメモリシステムにおいてデータアウト動作の指示の際に各チャネルにおいて転送される情報の一例を示すタイミングチャート。
【
図13】第2の実施形態の変形例にかかるメモリシステムにおいてライト動作の指示の際に各チャネルにおいて転送される情報の一例を示すタイミングチャート。
【
図14】第3の実施形態にかかる半導体記憶装置が適用されるメモリシステムの一例を示す模式的な図。
【
図15】第3の実施形態にかかる第1情報および第2情報のデータ構成の一例を示す模式的な図。
【
図16】第3の実施形態にかかる第1の初期化処理の一例を示すフローチャート。
【
図17】第3の実施形態にかかる第1の初期化処理の後のブロック管理情報の内容の一例を示す図。
【
図18】第3の実施形態にかかる第2の初期化処理の一例を示すフローチャート。
【
図19】第3の実施形態にかかる第2の初期化処理が実行された後のブロック管理情報の内容の一例を示す図。
【
図20】第3の実施形態にかかる第3の初期化処理の一例を示すフローチャート。
【
図21】第3の実施形態にかかる第3の初期化処理が実行された後のブロック管理情報の内容の一例を示す図。
【
図22】第3の実施形態にかかるメモリシステムの動作中のブロック管理情報の更新の処理の一例を示すフローチャート。
【
図23】第3の実施形態にかかるブロック管理情報の更新の処理によるブロック管理情報の内容の遷移の一例を示す図。
【
図24】第3の実施形態にかかるブロック管理情報の更新の処理によるブロック管理情報の内容の遷移の一例を示す図。
【
図25】第4の実施形態にかかる半導体記憶装置が適用されるメモリシステムの一例を示す模式的な図。
【
図26】第4の実施形態にかかるメモリシステムにおいてステータス情報を取得する際に各チャネルにおいて転送される情報の一例を示すタイミングチャート。
【
図27】第4の実施形態の変形例1にかかるメモリシステムにおいてステータス情報を取得する際に各チャネルにおいて転送される情報の一例を示すタイミングチャート。
【
図28】第4の実施形態の変形例2にかかるメモリシステムにおいてステータス情報を取得する際に各チャネルにおいて転送される情報の一例を示すタイミングチャート。
【
図29】第4の実施形態の変形例3にかかる第1ステータス情報および第2ステータス情報のデータ構成の一例を示す模式的な図。
【
図30】第4の実施形態の変形例3にかかるメモリシステムにおいてステータス情報を取得する際に各チャネルにおいて転送される情報の一例を示すタイミングチャート。
【発明を実施するための形態】
【0007】
以下に添付図面を参照して、実施形態にかかる半導体記憶装置およびメモリシステムを詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
【0008】
(第1の実施形態)
図1は、第1の実施形態にかかる半導体記憶装置1が適用されるメモリシステムSYSの構成の一例を示す模式的な図である。
【0009】
メモリシステムSYSは、メモリコントローラMCおよび半導体記憶装置1を含む。半導体記憶装置1は、外部端子群10、ブリッジチップBC、および複数のメモリチップCP1-0~CP1-3,CP2-0~CP2-3を備える。
【0010】
なお、メモリコントローラMCは第1装置の一例である。ブリッジチップBCは第3チップの一例である。
【0011】
半導体記憶装置1は、メモリチップCP1-0~CP1-3およびメモリチップCP2-0~CP2-3それぞれが積層されたMCP(Multi Chip Package)として実装され得る。半導体記憶装置1がMCPとして実装される場合、半導体記憶装置1では、ブリッジチップBCおよび複数のメモリチップCP1-0~CP1-3,CP2-0~CP2-3の周囲が、モールド樹脂で封止されていてもよい。
【0012】
図1では、チャネルCH1を介してブリッジチップBCに4つのメモリチップCP1-0~CP1-3が接続され、チャネルCH2を介してブリッジチップBCに4つのメモリチップCP2-0~CP2-3が接続される構成が例示されている。すなわち、半導体記憶装置1は、複数の(ここでは8個)メモリチップCP1-0~CP1-3,CP2-0~CP2-3を含むマルチメモリチップモジュールとして構成され得る。
【0013】
各メモリチップCP1-0~CP1-3,CP2-0~CP2-3は、例えば、NAND型フラッシュメモリ等の不揮発性メモリのメモリチップである。なお、半導体記憶装置1が備えるメモリチップCPの数は8個に限定されない。また、ブリッジチップBCと複数のメモリチップCPとを接続するチャネルの数は2個に限定されない。
【0014】
半導体記憶装置1は、有線通信路を介してメモリコントローラMCに接続可能である。この有線通信路は、チャネルCH0と表記される。チャネルCH0は、所定の規格に基づき構成される。各メモリチップCP1-0~CP1-3,CP2-0~CP2-3がNAND型フラッシュメモリである場合、所定の規格は、例えば、トグルDDR規格である。
【0015】
ブリッジチップBCは、複数(ここでは2個)のチャネルCH1,CH2に電気的に接続されている。複数のメモリチップCP1-0~CP1-3,CP2-0~CP2-3は、複数のチャネルCH1,CH2を介してブリッジチップBCに接続されている。メモリチップCP1-0~CP1-3は、所定の規格に基づき構成されたチャネルCH1に接続されている。メモリチップCP2-0~CP2-3は、所定の規格に基づき構成されたチャネルCH2に接続されている。各メモリチップCPがNAND型フラッシュメモリである場合、所定の規格は、例えば、トグルDDR規格である。以降、各メモリチップCPはNAND型のフラッシュメモリであり、所定の規格はトグルDDR規格であることとする。
【0016】
チャネルCH0は、チップイネーブル信号CEnを転送する信号線、コマンドラッチ信号CLEを転送する信号線、アドレスラッチ信号ALEを転送する信号線、ライトイネーブル信号WEnを転送する信号線、リードイネーブル信号RE/REnを転送する信号線、データストローブ信号DQS/DQSnを転送する信号線、所定のビット幅(ここでは一例として8ビットの幅)を有するデータ信号DQ[7:0]を転送する信号線、レディービジー信号R/Bn_1を転送する信号線、およびレディービジー信号R/Bn_2を転送する信号線を含む。なお、信号を表す符号の末尾に記された「n」は、負論理で動作せしめられる信号であることを表す。各信号が負論理で動作せしめられるか正論理で動作せしめられるかは任意に設計され得る。
【0017】
チップイネーブル信号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によって構成される差動信号である。レディービジー信号R/Bn_1およびレディービジー信号R/Bn_2は、コマンドの受信を待機している状態であるレディー状態であるかコマンドを受信しても実行できない状態であるビジー状態であるかを示す信号である。なお、チャネルCH0が含むレディービジー信号R/Bnを転送する信号線の構成は上記された例に限定されない。例えば、チャネルCH0は、レディービジー信号R/Bnに関しては、チャネルCH1にかかるレディービジー信号R/Bnと、チャネルCH1にかかるレディービジー信号R/Bnと、からワイヤードOR接続などによって生成された一つのレディービジー信号R/Bnを転送するための1つの信号線を備えていてもよい。
【0018】
チャネルCH1,CH2のそれぞれは、チャネルCH0の信号群と同種の信号群を送受信できる。即ち、チャネルCH1,CH2のそれぞれは、チップイネーブル信号CEnを転送する信号線、コマンドラッチ信号CLEを転送する信号線、アドレスラッチ信号ALEを転送する信号線、ライトイネーブル信号WEnを転送する信号線、リードイネーブル信号RE/REnを転送する信号線、データストローブ信号DQS/DQSnを転送する信号線、データ信号DQ[7:0]を転送する信号線群、およびレディービジー信号R/Bnを転送する信号線、を備えている。
【0019】
ブリッジチップBCは、第1インタフェース101と、2つの第2インタフェース102と、コントローラ103と、バッファメモリ104と、を備える。
【0020】
第1インタフェース101は、メモリコントローラMCに対してチャネルCH0を介した電気信号の送受信を行うPHY回路である。
【0021】
2つの第2インタフェース102のうちの第2インタフェース102-1は、4個のメモリチップCP1-0~CP1-3に対してチャネルCH1を介した電気信号の送受信を行うPHY回路である。2つの第2インタフェース102のうちの第2インタフェース102-2は、4個のメモリチップCP2-0~CP2-3に対してチャネルCH2を介した電気信号の送受信を行うPHY回路である。
【0022】
バッファメモリ104は、メモリコントローラMCとメモリチップCPとの間の転送データが一時的に格納されるメモリである。バッファメモリ104は、DRAM(Dynamic Random Access Memory)によって構成されてもよいし、SRAM(Static Random Access Memory)によって構成されてもよい。なお、バッファメモリ104を構成するメモリのタイプはこれらに限定されない。
【0023】
コントローラ103は、第1インタフェース101と、2つの第2インタフェース102と、の間に配されている。コントローラ103は、バッファメモリ104を使って、第1インタフェース101と、2つの第2インタフェース102と、の間の情報の授受を制御する。
【0024】
コントローラ103は、コマンドデコーダ111、信号転送/処理回路112、およびレジスタ113を有する。
【0025】
コマンドデコーダ111は、メモリコントローラMCからチャネルCH0を介して受けたコマンドを解析する。コマンドデコーダ111は、解析結果に応じて、メモリチップCPに対するコマンドを発行することができる。
【0026】
レジスタ113は、ブリッジチップBCの動作を制御するための各種情報(動作制御情報と表記する)が格納されるメモリである。動作制御情報は、特定の情報に限定されない。例えば、動作制御情報は、ブリッジチップBCの制御に使用される設定情報であってもよい。設定情報は、メモリコントローラMCから送られてきて、ブリッジチップBCに格納される。コントローラ103は、設定情報に従った動作を実行する。
【0027】
信号転送/処理回路112は、第1インタフェース101と2つの第2インタフェース102との間の信号の転送および当該信号に対する処理を実行する。特に、コマンドデコーダ111による解析によってメモリコントローラMCからチャネルCH0を介して受けたコマンドがデータ転送用のコマンドであることが判明した場合、信号転送/処理回路112は、コマンドおよびアドレス情報を含むコマンドシーケンスの複製、転送、および操作を行う。
【0028】
各メモリチップCPには、半導体記憶装置1内でユニークな識別番号であるLUN(Logical Unit Number)が与えられている。ブリッジチップBCは、LUNを用いたシンプルな関係に基づいて、それぞれ異なるチャネルに接続された複数(ここでは2個)のメモリチップCPを1つのグループとして管理する。以降、グループは、チップグループと表記される。なお、LUNはチップ識別番号の一例である。
【0029】
信号転送/処理回路112は、1つのチップグループを構成する2個のメモリチップCPとの間のデータ転送が同時に(並列的に)実行されるよう、コマンドシーケンスの複製と、複製によって生成された2個のコマンドシーケンスのそれぞれ異なるチャネルを介した転送と、を行う。
【0030】
2個のコマンドシーケンスの転送の際、信号転送/処理回路112は、各コマンドシーケンスが1つのチップグループを構成する2個のメモリチップCPのそれぞれに届くよう、いずれか一方のコマンドシーケンスに含まれるアドレス情報の操作を行う。
【0031】
図2は、第1の実施形態の各メモリチップCPに与えられたLUNおよびチップグループについて説明するための模式的な図である。
【0032】
図2に示される例では、メモリチップCP1-0にはLUN0、メモリチップCP1-1にはLUN1、メモリチップCP1-2にはLUN2、メモリチップCP1-3にはLUN3、メモリチップCP2-0にはLUN4、メモリチップCP2-1にはLUN5、メモリチップCP2-2にはLUN6、メモリチップCP2-3にはLUN7が与えられている。
【0033】
LUN0が与えられたメモリチップCP1-0とLUN4が与えられたメモリチップCP2-0とによってチップグループG0が構成される。LUN1が与えられたメモリチップCP1-1とLUN5が与えられたメモリチップCP2-1とによってチップグループG1が構成される。LUN2が与えられたメモリチップCP1-2とLUN6が与えられたメモリチップCP2-2とによってチップグループG2が構成される。LUN3が与えられたメモリチップCP1-3とLUN7が与えられたメモリチップCP2-3とによってチップグループG3が構成される。
【0034】
つまり、LUNiが与えられたメモリチップCPとLUN(i+4)が与えられたメモリチップCPとによって1つのチップグループGiが構成される。ただし、iは0から3までの整数である。信号転送/処理回路112は、或るメモリチップCPのLUNが判明すれば、当該LUNを用いたシンプルな算術演算によって当該メモリチップCPと同じチップグループに属する別のメモリチップCPを特定することができる。
【0035】
図3は、第1の実施形態のメモリチップCPの構成の一例を示す模式的な図である。
【0036】
メモリチップCPは、2つのサブアレイ204に分割されたメモリセルアレイ201と、2つのページバッファ202と、2つのデータキャッシュ203と、を備える。2つのページバッファ202および2つのデータキャッシュ203は、例えば、それぞれSRAM(Static Random Access Memory)で構成される。2つのページバッファ202および2つのデータキャッシュ203は、フリップフロップで構成されてもよい。
【0037】
メモリセルアレイ201に対するアクセスは、ライト(プログラムとも称される)、リード、およびイレースを含む。各サブアレイ204は、2つのページバッファ202のうちの1つおよび2つのデータキャッシュ203のうちの1つとともに、1つのプレーンを構成する。つまり、メモリチップCPは、2つのプレーンを備える。
【0038】
2つのプレーンは、互いに独立に動作可能である。各メモリチップCP内の各プレーンは、プレーン番号(PL#)によって識別される。プレーン番号がX(Xは0以上の整数)のプレーンは、プレーンPL#Xと表記される。つまり、メモリチップCPは、プレーンPL#0およびプレーンPL#1を備える。
【0039】
なお、メモリチップCPが備えるプレーンの数は2に限定されない。メモリチップCPは、複数のプレーンに分割されていなくてもよい。
【0040】
メモリコントローラMCから入力されたデータをメモリチップCPが受け取り、入力されたデータをメモリチップCPがメモリセルアレイ201にライトする一連の動作は、本明細書では、ライト動作と表記される。メモリコントローラMCからメモリチップCPに入力されるデータは、ライトデータとも表記される。メモリチップCPがメモリセルアレイ201からデータをリードしてメモリコントローラMCに出力する一連の動作は、リード動作と表記される。メモリチップCPからメモリコントローラMCに出力されるデータは、リードデータとも表記される。
【0041】
ライト動作では、メモリチップCPは、外部(この場合はブリッジチップBC)から入力されたライトデータをデータキャッシュ203に受ける。データキャッシュ203にライトデータを入力する動作は、データイン動作とも称される。データイン動作の後、メモリチップCPは、データキャッシュ203に受けたライトデータをページバッファ202に転送し、転送完了後に、ページバッファ202からメモリセルアレイ201にライトデータをライトする。ページバッファ202からメモリセルアレイ201にデータをライトする動作は、プログラム動作とも称される。
【0042】
リード動作では、メモリチップCPは、まず、リードデータをメモリセルアレイ201からページバッファ202に転送する。メモリセルアレイ201からページバッファ202にリードデータを転送する動作は、センス動作とも称される。メモリチップCPは、センス動作によってページバッファ202に格納されたリードデータを、ページバッファ202からデータキャッシュ203に転送する。そして、メモリチップCPは、データキャッシュ203から外部(この場合はブリッジチップBC)にリードデータを出力する。データキャッシュ203から外部にリードデータを出力する動作は、データアウト動作とも称される。
【0043】
各サブアレイ204は、複数のブロックを備える。1つのブロックにライトされたデータは、一括にイレースされる。
【0044】
なお、各ブロックは、複数のページを備える。ページは、サブアレイ204に対するプログラム動作によるデータのライトおよびセンス動作によるデータのリードの単位の記憶領域である。サブアレイ204に対してページ単位でプログラム動作およびセンス動作が実行できるよう、各データキャッシュ203および各ページバッファ202は、少なくとも1ページ分の記憶容量を有する。
【0045】
第1の実施形態では、ブリッジチップBCは、メモリコントローラMCから或るメモリチップCPを指定したデータ転送用のコマンドシーケンスを受信すると、当該ターゲットのメモリチップCPが属するチップグループを構成する全メモリチップCPをターゲットとして解釈する。そして、ブリッジチップBCは、そのチップグループを構成する全メモリチップCPに宛ててデータ転送用のコマンドシーケンスを送信する。
【0046】
データ転送用のコマンドシーケンスは、メモリチップCPにデータイン動作を行うためのデータインコマンドシーケンス、メモリチップCPにセンス動作を実行させるセンスコマンドシーケンス、およびメモリチップCPにデータアウト動作を実行させるデータアウトコマンドシーケンスを含む。
【0047】
データ転送用のコマンドシーケンスに限らず、各コマンドシーケンスはコマンドを含む。コマンドデコーダ111は、コマンドシーケンスに含まれるコマンドに基づき、受信したコマンドシーケンスがデータ転送用のコマンドシーケンスであるか否かを判定する。また、コマンドデコーダ111は、コマンドシーケンスに含まれるコマンドに基づき、データ転送の種類を判定する。データ転送の種類は、データイン動作、センス動作、またはデータアウト動作を含む。
【0048】
図4は、第1の実施形態にかかるメモリシステムSYSにおいてライト動作の指示の際に各チャネルにおいて転送される情報の一例を示すタイミングチャートである。本図には、チャネルCH0で転送されるデータ信号DQ[7:0]の波形と、チャネルCH1で転送されるデータ信号DQ[7:0]の波形と、チャネルCH2で転送されるデータ信号DQ[7:0]の波形と、が示されている。以降に説明するいくつかのタイミングチャートにおいても同様である。
【0049】
メモリコントローラMCは、まず、データインコマンドシーケンスSQin-0をブリッジチップBCに入力する(時刻t0)。データインコマンドシーケンスSQin-0は、データインコマンドC0およびアドレス情報によって構成される。データインコマンドC0は、データイン動作を要求するコマンドである。アドレス情報は、この例では、それぞれは8個のデータストローブ信号DQS/DQSnによって転送される最小単位の情報である1バイトのアドレス片(address segment)A1~A6として転送される。なお、このデータインコマンドシーケンスSQin-0の構成は、トグルDDR規格に準拠する。
【0050】
ブリッジチップBCにおいて、コマンドデコーダ111がデータインコマンドC0を解釈すると、信号転送/処理回路112は、データインコマンドシーケンスSQin-0を複製することによって2つのデータインコマンドシーケンスSQin-1,SQin-2を生成する。そして、信号転送/処理回路112は、2つのデータインコマンドシーケンスSQin-1,SQin-2の転送を開始する(時刻t1)。データインコマンドシーケンスSQin-1は、チャネルCH1を介して或るメモリチップCPに宛てて転送され、データインコマンドシーケンスSQin-2は、チャネルCH2を介して別のメモリチップCPに宛てて転送される。
【0051】
信号転送/処理回路112は、データインコマンドシーケンスSQin-0に含まれるアドレス情報に基づき、当該アドレス情報が示すメモリチップCPと同じチップグループに属する別のメモリチップCPを特定する。そして、2つのデータインコマンドシーケンスSQin-1,SQin-2のうちのうちの一方に含まれるアドレス情報を、別のメモリチップCPを示すアドレス情報に差し替える(replace)。以降、第1の実施形態の説明では、メモリコントローラMCからブリッジチップBCに転送されたコマンドシーケンスに含まれるアドレス情報が示すメモリチップCPは第1メモリチップCPと表記される。第1メモリチップCPと同じチップグループに属する別のメモリチップCPは、第2メモリチップCPと表記される。なお、第1メモリチップCPは第1チップの一例である。第2メモリチップCPは第2チップの一例である。
【0052】
チャネルCH1に接続された或るメモリチップCH1が第1メモリチップCPに該当する場合、信号転送/処理回路112は、データインコマンドシーケンスSQin-1に対してはアドレス情報の差し替えを行わず、データインコマンドシーケンスSQin-2に対してアドレス情報の差し替えを行う。これによって、第1メモリチップCPはデータインコマンドシーケンスSQin-1を受信でき、第2メモリチップCPはデータインコマンドシーケンスSQin-2を受信できる。
【0053】
チャネルCH2に接続された或るメモリチップCH2が第1メモリチップCPに該当する場合、信号転送/処理回路112は、データインコマンドシーケンスSQin-2に対してはアドレス情報の差し替えを行わず、データインコマンドシーケンスSQin-1に対してアドレス情報の差し替えを行う。これによって、第1メモリチップCPはデータインコマンドシーケンスSQin-2を受信でき、第2メモリチップCPはデータインコマンドシーケンスSQin-1を受信できる。
【0054】
図4に示される例によれば、データインコマンドシーケンスSQin-0には6バイトのアドレス片A1~A6がアドレス情報として含まれている。信号転送/処理回路112は、6バイトのアドレス片A1~A6のうちのLUNを含む1以上のアドレス片に対し、LUNの値の差し替えを行う。
【0055】
図5は、第1の実施形態のデータインコマンドシーケンスに含んで転送されるアドレス情報の構成の一例を示す模式的な図である。なお、このアドレス情報の構成は、後述のセンスコマンドシーケンスおよびデータアウトコマンドシーケンスでも共通に使用される。
【0056】
図5に示される例では、アドレス情報は、カラムアドレスおよびロウアドレスをこの順で配列された構成を有する。ロウアドレスは、ワードライン番号(WL#)、プレーン番号(PL#)、ブロック番号(BLK#)、およびLUNをこの順で配列された構成を有する。なお、ブロック番号は、プレーン内(複数のプレーンに分割されていないメモリチップではメモリチップCP内)でユニークな識別番号であり、ブロック識別番号の一例である。
【0057】
アドレス片A1,A2は、アドレス情報のうちのカラムアドレスを含む。アドレス片A3はワードライン番号のビット列の一部を含む。アドレス片A4はワードライン番号のビット列のうちの残りの部分と、プレーン番号と、ブロック番号のビット列のうちの一部と、を含む。アドレス片A5は、LUNのビット列のうちの一部を含む。アドレス片A6は、LUNのビット列のうちの残りの部分を含む。
【0058】
信号転送/処理回路112は、第2メモリチップCPに宛てたコマンドシーケンスを転送する際には、6バイトのアドレス片A1~A6のうちのアドレス片A5,A6に含まれるLUNを、第1メモリチップCPを示す値から第2メモリチップCPを示す値に差し替える。LUNの値の差し替え後のアドレス片A5,A6は、アドレス片A5’,A6’と表記される。
【0059】
図4に示される例では、チャネルCH1に接続された或るメモリチップCH1が第1メモリチップCPに該当する。よって、データインコマンドシーケンスSQin-1ではブリッジチップBCが受信したアドレス情報がそのまま転送され、データインコマンドシーケンスSQin-2ではアドレス片A5,A6がアドレス片A5’,A6’に差し替えられたアドレス情報が転送される。
【0060】
メモリコントローラMCは、ブリッジチップBCへのデータインコマンドシーケンスSQin-0の入力後、ライトデータの入力を開始する(時刻t2)。第1メモリチップCPに宛てたライトデータ(第1ライトデータと表記する)と、第2メモリチップCPに宛てたライトデータ(第2ライトデータと表記する)と、が所定サイズ(ここでは例えば1バイト)毎に交互にブリッジチップBCに入力される。ブリッジチップBCは、入力されたライトデータを1バイト毎にチャネルCH1,CH2に振り分ける。
【0061】
図4に示される例では、それぞれは1バイトのサイズのデータ片D0,D1,D2,D3,D4,D5,D6,~がチャネルCH0を転送される。データ片D0,D2,D4,D6,~はチャネルCH1を介して転送され、データ片D1,D3,D5,~はチャネルCH2を介して転送される。
【0062】
このように、ブリッジチップBCは、第1ライトデータと第2ライトデータとを或るサイズずつ交互に受信するため、ライトデータの受信の開始後、すぐに第1ライトデータの第1メモリチップCPへの転送と第2ライトデータの第2メモリチップCPへの転送とを開始することができる。
【0063】
なお、チャネルCH0を転送されるライトデータの転送レートは、チャネルCH1,CH2のそれぞれを転送されるライトデータの転送レートの複数倍とされる。ここでは一例として、チャネルCH0を転送されるデータの転送レートは、チャネルCH1,CH2のそれぞれを転送されるデータの転送レートの2倍とされる。
【0064】
ブリッジチップBCは、メモリコントローラMCからのライトデータの受信の開始後、すぐに、かつ同時に、第1ライトデータの第1メモリチップCPへの転送と第2ライトデータの第2メモリチップCPへの転送とを開始する(時刻t3)。
【0065】
メモリコントローラMCは、ブリッジチップBCへのライトデータの入力後、プログラムコマンドC1をブリッジチップBCに入力する(時刻t4)。プログラムコマンドC1は、プログラム動作の開始を指示するコマンドである。
【0066】
ブリッジチップBCにおいて、コマンドデコーダ111がプログラムコマンドC1を解釈すると、信号転送/処理回路112は、プログラムコマンドC1を複製することによって2つのプログラムコマンドC1を生成する。そして、信号転送/処理回路112は、2つのプログラムコマンドC1の一を第1メモリチップCPに、2つのプログラムコマンドC1の他を第2メモリチップCPに同時に転送する(時刻t5)。第1メモリチップCPおよび第2メモリチップCPは、同時にプログラムコマンドC1を受信し、これによって同時にプログラム動作を開始する。
【0067】
図6は、第1の実施形態にかかるメモリシステムSYSにおいてセンス動作の指示の際に各チャネルにおいて転送される情報の一例を示すタイミングチャートである。
【0068】
メモリコントローラMCは、センスコマンドシーケンスSQsen-0をブリッジチップBCに入力する(時刻t10)。センスコマンドシーケンスSQsen-0は、センスコマンドC2およびアドレス情報(アドレス片A1~A6)によって構成される。センスコマンドC2は、センス動作を要求するコマンドである。このセンスコマンドシーケンスSQsen-0の構成は、トグルDDR規格に準拠する。
【0069】
ブリッジチップBCにおいて、コマンドデコーダ111がセンスコマンドC2を解釈すると、信号転送/処理回路112は、センスコマンドシーケンスSQsen-0を複製することによって2つのセンスコマンドシーケンスSQsen-1,SQsen-2を生成する。そして、2つのセンスコマンドシーケンスSQsen-1,SQsen-2の転送が開始される(時刻t11)。センスコマンドシーケンスSQsen-1は、チャネルCH1を介して或るメモリチップCPに宛てて転送され、データインコマンドシーケンスSQin-2は、チャネルCH2を介して別のメモリチップCPに宛てて転送される。
【0070】
信号転送/処理回路112は、ライト動作の際と同様、センスコマンドシーケンスSQsen-0に含まれるアドレス情報に基づき、第2メモリチップCPを特定する。そして、2つのセンスコマンドシーケンスSQsen-1,SQsen-2のうちのうちの一方に含まれるアドレス情報を、第2メモリチップCPを示すアドレス情報に差し替える。
【0071】
図6に示される例では、チャネルCH1に接続された或るメモリチップCP1が第1メモリチップCPに該当する。よって、センスコマンドシーケンスSQsen-1では受信したアドレス情報がそのまま転送され、センスコマンドシーケンスSQsen-2ではアドレス片A5,A6が第2メモリチップCPを示すLUNを含むアドレス片A5’,A6’に差し替えられたアドレス情報が転送される。
【0072】
第1メモリチップCPは、センスコマンドシーケンスSQsen-1の受信に応じてセンス動作を開始する。第2メモリチップCPは、センスコマンドシーケンスSQsen-2の受信に応じてセンス動作を開始する。
【0073】
図7は、第1の実施形態にかかるメモリシステムSYSにおいてデータアウト動作の指示の際に各チャネルにおいて転送される情報の一例を示すタイミングチャートである。
【0074】
メモリコントローラMCは、データアウトコマンドシーケンスSQout-0をブリッジチップBCに入力する(時刻t20)。データアウトコマンドシーケンスSQout-0は、データアウトコマンドC3、アドレス情報(アドレス片A1~A6)、および準備コマンドC4を備える。データアウトコマンドC3は、データアウト動作を要求するコマンドである。準備コマンドC4は、データアウト動作の準備を指示するコマンドである。このデータアウトコマンドシーケンスSQout-0の構成は、トグルDDR規格に準拠する。
【0075】
ブリッジチップBCにおいて、コマンドデコーダ111がデータアウトコマンドC3を解釈すると、信号転送/処理回路112は、データアウトコマンドシーケンスSQout-0を複製することによって2つのデータアウトコマンドシーケンスSQout-1,SQout-2を生成する。そして、2つのデータアウトコマンドシーケンスSQout-1,SQout-2の転送が開始される(時刻t21)。データアウトコマンドシーケンスSQout-1は、チャネルCH1を介して或るメモリチップCPに宛てて転送され、データアウトコマンドシーケンスSQout-2は、チャネルCH2を介して別のメモリチップCPに宛てて転送される。
【0076】
信号転送/処理回路112は、ライト動作の際と同様、データアウトコマンドシーケンスSQout-0に含まれるアドレス情報に基づき、第2メモリチップCPを特定する。そして、2つのデータアウトコマンドシーケンスSQout-1,SQout-2のうちのうちの一方に含まれるアドレス情報を、第2メモリチップCPを示すアドレス情報に差し替える。
【0077】
図7に示される例では、チャネルCH1に接続された或るメモリチップCH1が第1メモリチップCPに該当する。よって、データアウトコマンドシーケンスSQout-1では受信したアドレス情報がそのまま転送され、データアウトコマンドシーケンスSQout-2ではアドレス片A5,A6が第2メモリチップCPを示すLUNを含むアドレス片A5’,A6’に差し替えられたアドレス情報が転送される。
【0078】
ブリッジチップBCは、データアウトコマンドシーケンスSQout-1,SQout-2の転送の完了後、チャネルCH1,CH2を転送されるリードイネーブル信号RE/REnのトグルを同時に開始する(不図示)。すると、第1メモリチップCPからのリードデータ(第1リードデータと表記する)の出力と、第2メモリチップCPからのリードデータ(第2リードデータと表記する)の出力と、が開始する(時刻t22)。
【0079】
ブリッジチップBCは、第1リードデータおよび第2リードデータのそれぞれの受信した部分から1バイトずつデータを取得する。ブリッジチップBCは、第1リードデータから取得した1バイトのデータのメモリコントローラMCへの転送と、第2リードデータから取得した1バイトのデータのメモリコントローラMCへの転送と、を例えば連続して行う。これ以降、ブリッジチップBCは、第1リードデータから取得した1バイトのデータのメモリコントローラMCへの転送と、第2リードデータから取得した1バイトのデータのメモリコントローラMCへの転送と、を交互に行う。
【0080】
例えば、ブリッジチップBCは、第1リードデータを構成する1バイトのデータ片D0,D2,D4をこの順で受信し、第2リードデータを構成する1バイトのデータ片D1,D3,D5をこの順で受信した場合、データ片D0,D1,D2,D3,D4,D5をこの順でメモリコントローラMCに転送する。なお、チャネルCH0を転送されるデータの転送レートは、チャネルCH1,CH2のそれぞれを転送されるデータの転送レートの2倍とされる。
【0081】
このように、ブリッジチップBCは、第1リードデータと第2リードデータとを或るサイズ(ここでは1バイト)ずつ交互にメモリコントローラMCに転送するため、第1リードデータおよび第2リードデータの受信の開始後、すぐに第1リードデータおよび第2リードデータのブリッジチップBCへの転送を開始することができる。
【0082】
図8は、第1の実施形態にかかるブリッジチップBCにおいて、以上説明されたデータ転送用のコマンドシーケンスの処理に関する動作の一例を示すフローチャートである。
【0083】
ブリッジチップBCは、メモリコントローラMCからデータ転送用のコマンドシーケンス(第1の実施形態の説明において第1コマンドシーケンスと表記する)の受信を開始すると(S101)、信号転送/処理回路112は、第1コマンドシーケンスを複製することで2つのコマンドシーケンス(第1の実施形態の説明において第2コマンドシーケンスと表記する)の生成を開始する(S102)。そして、信号転送/処理回路112は、チャネルCH1およびチャネルCH2のそれぞれを介した第2コマンドシーケンスの転送を開始する(S103)。
【0084】
なお、第1コマンドシーケンスは、データインコマンドシーケンス、センスコマンドシーケンス、またはデータアウトコマンドシーケンスを含む。
【0085】
信号転送/処理回路112は、第1コマンドシーケンスの受信中に、第1コマンドシーケンスに含まれるアドレス片A4,A5を検出する(S104)。信号転送/処理回路112は、アドレス片A4,A5に含まれるLUN(
図8の説明において第1LUNと表記する)が示すメモリチップCP(第1メモリチップCP)と同じチップグループに属するメモリチップCP(第2メモリチップCP)のLUN(
図8の説明において第2LUNと表記する)を特定する(S105)。
【0086】
信号転送/処理回路112は、第2メモリチップCPに転送される第2コマンドシーケンスに含まれるアドレス片A4,A5を、第2LUNを含むアドレス片A4’,A5’に差し替える(S106)。これによって、第2メモリチップCPには、アドレス片A4’,A5’を含む第2コマンドシーケンスが転送される。
【0087】
続いて、第1コマンドシーケンスの受信、2つの第2コマンドシーケンスの生成、および2つの第2コマンドシーケンスの転送が順次完了し(S107)、ブリッジチップBCにおけるデータ転送用のコマンドシーケンスの処理が終了する。
【0088】
なお、アドレス片A4’,A5’を含み、第2メモリチップCPに転送される第2コマンドシーケンスは、第1の実施形態の説明において、第3コマンドシーケンスと表記される。
【0089】
このように、第1の実施形態によれば、ブリッジチップBCは、メモリコントローラMCから第1コマンドシーケンスを受信した場合、第1コマンドシーケンスを複製して2つの第2コマンドシーケンスを生成する。そして、ブリッジチップBCは、2つの第2コマンドシーケンスのうちのひとつを、第1コマンドシーケンスに含まれるアドレス情報が示す第1メモリチップCPに転送する。また、ブリッジチップBCは、2つの第2コマンドシーケンスのうちの他のひとつを、LUNの値を第2メモリチップCPを示す値に差し替えたアドレス情報を含む第3コマンドシーケンスとして第2メモリチップCPに転送する。
【0090】
よって、メモリコントローラMCは、1つのコマンドシーケンスの入力によってブリッジチップBCと2個のメモリチップCPとの間の複数のデータ転送を制御することが可能である。つまり、半導体記憶装置1は、ブリッジチップBCと複数のメモリチップCPとの間の複数のデータ転送を同時に制御することが可能な構成を有する。
【0091】
また、第1の実施形態では、ブリッジチップBCは、第2コマンドシーケンスの転送と、第3コマンドシーケンスの転送と、を同時に(並列的に)実行する。
【0092】
よって、第1メモリチップCPにかかるデータ転送と、第2メモリチップCPにかかるデータ転送と、が同時に(並列的に)実行される。
【0093】
また、第1の実施形態では、ブリッジチップBCは、第1コマンドシーケンスの受信を開始すると、第1コマンドシーケンスの受信が完了する前に、第1メモリチップCPに対する第2コマンドシーケンスおよび第2メモリチップCPに対する第3コマンドシーケンスの転送を開始する。
【0094】
よって、半導体記憶装置1におけるメモリコントローラMCから受信した第1コマンドシーケンスの処理に要する時間が抑制される。
【0095】
なお、ブリッジチップBCは、第1コマンドシーケンスの受信を完了した後、第2コマンドシーケンスの転送および第3コマンドシーケンスの転送を開始してもよい。
【0096】
また、第1の実施形態では、信号転送/処理回路112は、第1メモリチップCPを示すLUNの値を用いた算術演算によって、第2メモリチップCPを示すLUNの値を取得する。
【0097】
よって、信号転送/処理回路112は、各チップグループの構成をテーブルなどサイズが大きい情報を用いることなく特定することが可能である。また、メモリコントローラMCと半導体記憶装置1とで算術演算の方法を簡単に共有することが可能である。
【0098】
また、第1の実施形態では、ブリッジチップBCは、第1コマンドシーケンスを複製することによって2つの第2コマンドシーケンスを生成し、当該2つの第2コマンドシーケンスのうちのひとつに含まれるアドレス情報のうちのLUNを第1メモリチップCPを示す値から第2メモリチップCPを示す値に差し替えることで、第3コマンドシーケンスを生成する。
【0099】
なお、第3コマンドシーケンスの生成方法はこれに限定されない。ブリッジチップBCは、第1コマンドシーケンスをバッファメモリ104に格納し、バッファメモリ104上で第2コマンドシーケンスおよび第3コマンドシーケンスを生成してもよい。
【0100】
(第2の実施形態)
第2の実施形態では、同時のデータ転送の実行対象とされる複数のメモリチップのそれぞれについて、カラムアドレス、ワードライン番号、プレーン番号、およびブロック番号をメモリコントローラが指定できるように、ブリッジチップは、複数セットのアドレス情報を含むコマンドシーケンスを処理可能に構成される。
【0101】
第2の実施形態では、第1の実施形態と異なる事項について説明し、第1の実施形態と同じ事項については簡略的に説明するかまたは説明を省略する。
【0102】
図9は、第2の実施形態にかかる半導体記憶装置1aが適用されるメモリシステムSYSaの一例を示す模式的な図である。
【0103】
メモリシステムSYSaは、メモリコントローラMCaおよび半導体記憶装置1aを含む。半導体記憶装置1aは、外部端子群10、ブリッジチップBCa、および複数のメモリチップCP1-0~CP1-3,CP2-0~CP2-3を備える。チャネルCH1を介してブリッジチップBCaに4つのメモリチップCP1-0~CP1-3が接続され、チャネルCH2を介してブリッジチップBCaに4つのメモリチップCP2-0~CP2-3が接続される。
【0104】
ブリッジチップBCaは、第1インタフェース101と、2つの第2インタフェース102と、コントローラ103aと、バッファメモリ104と、を備える。
【0105】
コントローラ103aは、バッファメモリ104を使って、第1インタフェース101と、2つの第2インタフェース102と、の間の情報の授受を制御する。
【0106】
コントローラ103aは、コマンドデコーダ111a、信号転送/処理回路112a、およびレジスタ113を有する。
【0107】
コマンドデコーダ111aは、第1の実施形態のコマンドデコーダ111の機能に加えて、並列動作コマンド(並列動作コマンドC10)を解釈することができる。並列動作コマンドは、複数のメモリチップCPにかかる同時の処理をブリッジチップBCaに指示するコマンドである。並列動作コマンドC10は、例えば、トグルDDR規格では定義されていない特殊なコマンドである。
【0108】
なお、並列動作コマンドC10は、第2の実施形態では、データ転送用のコマンドシーケンス(即ち、データインコマンドシーケンス、センスコマンドシーケンス、およびデータアウトコマンドシーケンス)に含まれ得る。メモリコントローラMCaは、複数のメモリチップCPに対する同時のデータ転送をブリッジチップBCaに実行させる際には、コマンドシーケンスに並列動作コマンドおよび複数のメモリチップCPを示す複数セットのアドレス情報を含める。同時のデータ転送の実行対象とされるメモリチップCPの群は、一例として、接続されるチャネルが異なる2つのメモリチップCPによって構成される。よって、テータ転送用のコマンドシーケンスには並列動作コマンドC10とともに2セットのアドレス情報が含まれ得る。
【0109】
信号転送/処理回路112aは、メモリコントローラMCaがチャネルCH0を介して受けたコマンドシーケンスに並列動作コマンドC10が含まれていることが判明した場合、当該コマンドシーケンスに含まれる2セットのアドレス情報のうちそれぞれ異なる1セットのアドレス情報を含む2つのコマンドシーケンスを生成し、生成したそれぞれのコマンドシーケンスを宛先のメモリチップCPに転送する。
【0110】
このように、信号転送/処理回路112aによって生成された複数コマンドシーケンスの宛先は、メモリコントローラMCaからのコマンドシーケンスに含まれる複数セットのアドレス情報によって指定される。つまり、同時のデータ転送の実行対象とされる複数のメモリチップCPがメモリコントローラMCaによって直接に指定される。よって、信号転送/処理回路112aは、第1の実施形態にかかる信号転送/処理回路112と異なり、各チップグループの構成を記憶しておく必要がない。
【0111】
図10は、第2の実施形態にかかるメモリシステムSYSaにおいてライト動作の指示の際に各チャネルにおいて転送される情報の一例を示すタイミングチャートである。
【0112】
メモリコントローラMCaは、まずデータインコマンドシーケンスSQin-0aをブリッジチップBCaに入力する(時刻t30)。データインコマンドシーケンスSQin-0aは、トグルDDR規格によって定義された構成とは異なり、データインコマンドC0、並列動作コマンドC10、第1アドレス情報(アドレス片A1~A6)、および第2アドレス情報(アドレス片A1’~A6’)を含む。
【0113】
第1アドレス情報、つまりアドレス片A1~A6は、例えば、
図5で示された構成を有する。第2アドレス情報、つまりアドレス片A1’~A6’は、第1アドレス情報と同様の構成を有するが、転送されるアドレス値が、LUNのほか、カラムアドレス、ワードライン番号、プレーン番号、およびブロック番号のうちの任意の部分において値が第1アドレス情報と異なる。
【0114】
データインコマンドシーケンスSQin-0aに含まれる2セットのアドレス情報のそれぞれがチャネルCH1,CH2のうちの何れのチャネルを介して転送すべきかは、任意の方法で事前に設定されている。ここでは一例として、第1アドレス情報はチャネルCH1に接続された或るメモリチップCPに宛てたものであり、第2アドレス情報はチャネルCH2に接続された或るメモリチップCPに宛てたものであることがブリッジチップBCaに設定されていることとする。
【0115】
第2の実施形態およびその変形例の説明において、第1アドレス情報(正確には第1アドレス情報に含まれるLUN)が示すメモリチップCPは、第1メモリチップCPと表記される。第2アドレス情報(正確には第2アドレス情報に含まれるLUN)が示すメモリチップCPは、第2メモリチップCPと表記される。
【0116】
ブリッジチップBCaにおいて、コマンドデコーダ111aがデータインコマンドC0および並列動作コマンドC10を解釈すると、信号転送/処理回路112aは、データインコマンドシーケンスSQin-0aを複製することによって2つのデータインコマンドシーケンスSQin-1a,SQin-2aを生成する。そして、信号転送/処理回路112aは、2つのデータインコマンドシーケンスSQin-1a,SQin-2aの転送を開始する(時刻t31)。2つのデータインコマンドシーケンスSQin-1a,SQin-2aのうちのデータインコマンドシーケンスSQin-1aは、第1メモリチップCPに宛てたデータコマンドシーケンスである。データインコマンドシーケンスSQin-2aは、第2メモリチップCPに宛てたデータコマンドシーケンスである。
【0117】
信号転送/処理回路112aは、2つのデータインコマンドシーケンスSQin-1a,SQin-2aを転送するとき、並列動作コマンドC10をマスクする。信号転送/処理回路112aは、データインコマンドシーケンスSQin-1aを転送するとき、第2アドレス情報をマスクする。信号転送/処理回路112aは、データインコマンドシーケンスSQin-2aを転送するとき、第1アドレス情報をマスクする。
【0118】
よって、データインコマンドシーケンスSQin-1a,SQin-2aのそれぞれは、データインコマンドC0および1セットのアドレス情報を備えた、トグルDDR規格に準拠した構成の信号として宛先のメモリチップCPに転送される。
【0119】
なお、並列動作コマンドC10およびアドレス情報をマスクする方法は特定の方法に限定されない。例えば信号転送/処理回路112aは、複製によって生成されたデータインコマンドシーケンスを転送するとき、データ信号DQ[7:0]をトグルしないようにしてもよいし、ライトイネーブル信号WEnをディスエーブル状態にしてもよい。
【0120】
メモリコントローラMCaは、ブリッジチップBCaへのデータインコマンドシーケンスSQin-0aの入力後、ライトデータの入力を開始する(時刻t32)。ブリッジチップBCaは、入力されたライトデータを1バイト毎にチャネルCH1,CH2に振り分ける(時刻t33)。
【0121】
メモリコントローラMCaは、ブリッジチップBCaへのライトデータの入力後、プログラムコマンドC1をブリッジチップBCに入力する(時刻t34)。信号転送/処理回路112aは、プログラムコマンドC1を複製することによって2つのプログラムコマンドC1を生成する。そして、信号転送/処理回路112aは、2つのプログラムコマンドC1の一を第1メモリチップCPに、2つのプログラムコマンドC2の他を第2メモリチップCPに同時に転送する(時刻t35)。第1メモリチップCPおよび第2メモリチップCPは、同時にプログラムコマンドC1を受信し、これによって同時にプログラム動作を開始する。
【0122】
図11は、第2の実施形態にかかるメモリシステムSYSaにおいてセンス動作の指示の際に各チャネルにおいて転送される情報の一例を示すタイミングチャートである。
【0123】
メモリコントローラMCaは、センスコマンドシーケンスSQsen-0aをブリッジチップBCaに入力する(時刻t40)。センスコマンドシーケンスSQsen-0aは、センスコマンドC2、並列動作コマンドC10、第1アドレス情報(アドレス片A1~A6)、および第2アドレス情報(アドレス片A1’~A6’)を含む。なお、このセンスコマンドシーケンスSQsen-0aの構成は、トグルDDR規格に準拠していない。
【0124】
ブリッジチップBCaにおいて、コマンドデコーダ111aがセンスコマンドC2および並列動作コマンドC10を解釈すると、信号転送/処理回路112aは、センスコマンドシーケンスSQsen-0aを複製することによって2つのセンスコマンドシーケンスSQsen-1a,SQsen-2aを生成する。そして、信号転送/処理回路112aは、2つのセンスコマンドシーケンスSQsen-1a,SQsen-2aの転送を開始する(時刻t41)。センスコマンドシーケンスSQsen-1aは、第1メモリチップCPに宛てたセンスコマンドシーケンスである。センスコマンドシーケンスSQsen-2aは、第2メモリチップCPに宛てたセンスコマンドシーケンスである。
【0125】
信号転送/処理回路112aは、データインコマンドシーケンスSQin-1a,SQin-2aを転送するときと同様、各種情報のマスクを実行する。具体的には、信号転送/処理回路112aは、2つのセンスコマンドシーケンスSQsen-1a,SQsen-2aを転送するとき、並列動作コマンドC10をマスクする。信号転送/処理回路112aは、センスコマンドシーケンスSQsen-1aを転送するとき、第2アドレス情報をマスクする。信号転送/処理回路112aは、センスコマンドシーケンスSQsen-2aを転送するとき、第1アドレス情報をマスクする。
【0126】
よって、2つのセンスコマンドシーケンスSQsen-1a,SQsen-2aのそれぞれは、データインコマンドC0および1セットのアドレス情報を備えた、トグルDDR規格に準拠した構成の信号として宛先のメモリチップCPに転送される。
【0127】
第1メモリチップCPは、センスコマンドシーケンスSQsen-1aの受信に応じてセンス動作を開始する。第2メモリチップCPは、センスコマンドシーケンスSQsen-2aの受信に応じてセンス動作を開始する。
【0128】
図12は、第2の実施形態にかかるメモリシステムSYSaにおいてデータアウト動作の指示の際に各チャネルにおいて転送される情報の一例を示すタイミングチャートである。
【0129】
メモリコントローラMCaは、データアウトコマンドシーケンスSQout-0aをブリッジチップBCに入力する(時刻t50)。データアウトコマンドシーケンスSQout-0aは、データアウトコマンドC3、並列動作コマンドC10、アドレス情報(アドレス片A1~A6)、および準備コマンドC4を備える。このデータアウトコマンドシーケンスSQout-0aの構成は、トグルDDR規格に準拠していない。。
【0130】
ブリッジチップBCaにおいて、コマンドデコーダ111aがデータアウトコマンドC3および並列動作コマンドC10を解釈すると、信号転送/処理回路112aは、データアウトコマンドシーケンスSQout-0aを複製することによって2つのデータアウトコマンドシーケンスSQout-1a,SQout-2aを生成する。そして、信号転送/処理回路112aは、2つのデータアウトコマンドシーケンスSQout-1a,SQout-2aの転送を開始する(時刻t51)。データアウトコマンドシーケンスSQout-1aは、第1メモリチップCPに宛てたデータアウトコマンドシーケンスである。データアウトコマンドシーケンスSQout-2aは、第2メモリチップCPに宛てたデータアウトコマンドシーケンスである。
【0131】
信号転送/処理回路112aは、データインコマンドシーケンスSQin-1a,SQin-2aを転送するときと同様、各種情報のマスクを実行する。具体的には、信号転送/処理回路112aは、2つのデータアウトコマンドシーケンスSQout-1a,SQout-2aを転送するとき、並列動作コマンドC10をマスクする。信号転送/処理回路112aは、データアウトコマンドシーケンスSQout-1aを転送するとき、第2アドレス情報をマスクする。信号転送/処理回路112aは、データアウトコマンドシーケンスSQout-2aを転送するとき、第1アドレス情報をマスクする。
【0132】
よって、2つのデータアウトコマンドシーケンスSQout-1a,SQout-2aのそれぞれは、データアウトコマンドC3、1セットのアドレス情報、および準備コマンドC4を備えた、トグルDDR規格に準拠した構成の信号として宛先のメモリチップCPに転送される。
【0133】
ブリッジチップBCaは、データアウトコマンドシーケンスSQout-1a,SQout-2aの転送の完了後、チャネルCH1,CH2を転送されるリードイネーブル信号RE/REnのトグルを同時に開始する(不図示)。すると、第1メモリチップCPからのリードデータ(第1リードデータと表記する)の出力と、第2メモリチップCPからのリードデータ(第2リードデータと表記する)の出力と、が開始する(時刻t52)。
【0134】
ブリッジチップBCaは、第1リードデータおよび第2リードデータのそれぞれの受信した部分から1バイトずつデータを取得して、第1リードデータから取得した1バイトのデータのメモリコントローラMCaへの転送と、第2リードデータから取得した1バイトのデータのメモリコントローラMCaへの転送と、を行う(時刻t53)。以降、ブリッジチップBCaは、第1リードデータから取得した1バイトのデータのメモリコントローラMCaへの転送と、第2リードデータから取得した1バイトのデータのメモリコントローラMCaへの転送と、を交互に行う。
【0135】
このように、第2の実施形態によれば、ブリッジチップBUaは、第1アドレス情報と第2アドレス情報とを含むコマンドシーケンス(第2の実施形態の説明において第1コマンドシーケンスと表記する)を処理することができる。メモリコントローラMCaから第1コマンドシーケンスを受信した場合、ブリッジチップBUaは、第1アドレス情報を含み第2アドレス情報を含まないコマンドシーケンス(第2の実施形態の説明において第2コマンドシーケンスと表記する)を第1メモリチップCPに転送する。ブリッジチップBUaは、第2アドレス情報を含み第1アドレス情報を含まないコマンドシーケンス(第2の実施形態の説明において第3コマンドシーケンスと表記する)を第2メモリチップCPに転送する。
【0136】
よって、メモリコントローラMCaは、1つのコマンドシーケンスの入力によってブリッジチップBCaと2個のメモリチップCPとの間の複数のデータ転送を制御することが可能である。つまり、半導体記憶装置1aは、ブリッジチップBCaと複数のメモリチップCPとの間の複数のデータ転送を同時に制御することが可能な構成を有する。
【0137】
また、第2の実施形態によれば、ブリッジチップBCaは、第1コマンドシーケンスを複製することによって第2コマンドシーケンスおよび第3コマンドシーケンスを生成する。ブリッジチップBCaは、第2コマンドシーケンスに含まれる第2アドレス情報をマスクする。ブリッジチップBCaは、第3コマンドシーケンスに含まれる第1アドレス情報をマスクする。
【0138】
よって、ブリッジチップBCaは、第1コマンドシーケンスの受信を完了する前に第2コマンドシーケンスおよび第3コマンドシーケンスの転送を開始することが可能である。
【0139】
なお、第1の実施形態と同様、ブリッジチップBCaは、第1コマンドシーケンスの受信を完了した後、第2コマンドシーケンスの転送および第3コマンドシーケンスの転送を開始してもよい。
【0140】
また、第2の実施形態によれば、第1コマンドシーケンスは、並列動作コマンドC10を含む。ブリッジチップBCaは、第2コマンドシーケンスおよび第3コマンドシーケンスに含まれる並列動作コマンドC10をマスクする。
【0141】
よって、ブリッジチップBCaは、トグルDDR規格に準拠した構成を有する信号として第2コマンドシーケンスおよび第3コマンドシーケンスのそれぞれをメモリチップCPに転送することができる。
【0142】
(第2の実施形態の変形例)
第2の実施形態の変形例では、第2アドレス情報のうちの第1アドレス情報と共通する部分については省略される。省略される部分は予め決められている。ここでは一例として、完全なアドレス情報を構成するカラムアドレス、ワードライン番号、LUN、プレーン番号、およびブロック番号のうち、カラムアドレス、ワードライン番号、およびプレーン番号が第2アドレス情報において省略されるケースについて説明する。つまり、この構成では、第1アドレス情報と第2アドレス情報とは、ブロック番号とLUNとにおいて異なる値を有し得る。なお、省略される部分はこれらに限定されない。
【0143】
第2の実施形態の変形例では、第2の実施形態と異なる事項について説明する。
【0144】
図13は、第2の実施形態の変形例にかかるメモリシステムSYSaにおいてライト動作の指示の際に各チャネルにおいて転送される情報の一例を示すタイミングチャートである。
【0145】
メモリコントローラMCaは、まずデータインコマンドシーケンスSQin-0bをブリッジチップBCaに入力する(時刻t60)。データインコマンドシーケンスSQin-0bは、第1アドレス情報としてアドレス片A1~A6を含み、第2アドレス情報としてアドレス片A4’~A6’を含む。つまり、第2の実施形態にかかる第2アドレス情報として転送された完全なアドレス情報(アドレス片A1’~A6’)のうち、アドレス片A1’~A3’が省略される。アドレス片A4~A6とアドレス片A4’~A6’とで、LUNとして転送される値が異なる。さらに、アドレス片A4~A6とアドレス片A4’~A6’とで、ブロック番号として転送される値が異なり得る。
【0146】
ブリッジチップBCaにおいて、コマンドデコーダ111aがデータインコマンドC0および並列動作コマンドC10を解釈すると、信号転送/処理回路112aは、データインコマンドシーケンスSQin-0bを複製することによって2つのデータインコマンドシーケンスSQin-1b,SQin-2bを生成する。そして、2つのデータインコマンドシーケンスSQin-1b,SQin-2bの転送が開始される(時刻t61)。2つのデータインコマンドシーケンスSQin-1b,SQin-2bのうちのデータインコマンドシーケンスSQin-1bは、第1メモリチップCPに宛てたデータコマンドシーケンスである。データインコマンドシーケンスSQin-2bは、第2メモリチップCPに宛てたデータコマンドシーケンスである。
【0147】
信号転送/処理回路112aは、2つのデータインコマンドシーケンスSQin-1b,SQin-2bを転送するとき、並列動作コマンドC10をマスクする。信号転送/処理回路112aは、データインコマンドシーケンスSQin-1bを転送するとき、第2アドレス情報をマスクする。信号転送/処理回路112aは、データインコマンドシーケンスSQin-2bを転送するとき、第1アドレス情報のうちのアドレス片A1~A3をマスクせず、アドレス片A4~アドレス片A6をマスクする。
【0148】
よって、2つのデータインコマンドシーケンスSQin-1b,SQin-2bのそれぞれは、データインコマンドC0および1セットのアドレス情報を備えた、トグルDDR規格に準拠した構成の信号として宛先のメモリチップCPに転送される。
【0149】
なお、センスコマンドシーケンスおよびデータアウトコマンドシーケンスにおいても、データインコマンドシーケンスSQin-0bと同様、メモリコントローラMCaは、並列動作コマンドC10、第1アドレス情報としてアドレス片A1~A6を含み、第2アドレス情報としてアドレス片A4’~A6’を含むコマンドシーケンスをブリッジチップBCaに入力する。信号転送/処理回路112aは、受信したコマンドシーケンスを複製し、複製によって生成された2つのコマンドシーケンスをそれぞれ宛先のメモリチップCPに転送する。2つのコマンドシーケンスのうちの一を第1メモリチップCPに転送するとき、信号転送/処理回路112aは、並列動作コマンドC10のマスクと、第2アドレス情報のマスクと、を行う。2つのコマンドシーケンスのうちの他を第2メモリチップCPに転送するとき、信号転送/処理回路112aは、並列動作コマンドC10のマスクをマスクし、第1アドレス情報のうちのアドレス片A1~A3をマスクせず、アドレス片A4~A6をマスクする。
【0150】
このように、第2の実施形態の変形例によれば、ブリッジチップBCaは、完全なアドレス情報の構成を有する第1アドレス情報と、完全なアドレス情報の構成のうちの一部での部分であり第1アドレス情報にも含まれる部分(第2の実施形態の変形例の説明において第1部分と表記する)が省略された構成を有する第2アドレス情報と、を含む第1コマンドシーケンスを受信することができる。ブリッジチップBCaは、メモリコントローラMCaからそのような第1コマンドシーケンスを受信した場合、第1コマンドシーケンスを複製することによって第2コマンドシーケンスおよび第3コマンドシーケンスを生成する。ブリッジチップBCaは、第2コマンドシーケンスに含まれる第2アドレス情報をマスクする。ブリッジチップBCaは、第3コマンドシーケンスに含まれる第1アドレス情報のうちの第1部分を除く部分である第2部分をマスクする。
【0151】
よって、メモリコントローラMCaが転送する第1コマンドシーケンスの長さを抑制することが可能である。
【0152】
なお、第2の実施形態の変形例の説明では、第2アドレス情報は、ブロック番号とLUNとを含むアドレス片A4’~A6’として転送された。第2アドレス情報の構成はこれに限定されない。
【0153】
(第3の実施形態)
プログラム動作およびイレース動作のサイクルの実行回数が増加するにつれ、メモリセルアレイに含まれるメモリセルが疲弊し、当該メモリセルに記憶されるデータの信頼性が低下する。記憶されるデータの信頼性が要求されるレベルに満たなくなったブロックは、不良ブロック(defective block)として登録される。また、使用中に素子の故障などによってリードが困難になったフロックも、不良ブロックとして登録される。不良ブロックとして登録されたブロックは、使用不可とされる。つまり、半導体記憶装置が備える各ブロックは、動作中に不良ブロックになり得る。
【0154】
第3の実施形態によれば、ブリッジチップは、第1の実施形態の方式でも第2の実施形態の方式でもコマンドシーケンスの処理を行うことが可能に構成される。メモリコントローラは、第1の実施形態にて説明されたLUN間のシンプルな関係に基づき、それぞれは複数のブロックからなる複数のブロックグループを構築する。つまり、チップグループを構成する複数のメモリチップのうちの、同一のブロック番号が与えられたブロックの群が、ブロックグループとして管理される。メモリコントローラは、各ブロックグループに対して第1の実施形態の方式で複数のメモリチップに対するデータ転送の同時制御を行う。或るブロックグループを構成する或るブロックが不良ブロックとして登録された場合、メモリコントローラは、そのブロックグループを不良ブロックでない複数のブロックで再構築する。メモリコントローラは、再構築されたブロックグループに対しては、第2の実施形態の方式で複数のメモリチップに対するデータ転送の同時制御を行う。
【0155】
なお、第3の実施形態では、第1の実施形態および第2の実施形態と同様、複数のメモリチップは、2つのチャネルCH1,CH2の何れかを介してブリッジチップに接続されている例を説明する。そして、第1の実施形態の方式は1アドレスモードと表記され、第2の実施形態の方式は2アドレスモードと表記される。
【0156】
第3の実施形態では、第1の実施形態または第2の実施形態と同じ事項については簡略的に説明するか、または説明を省略する。
【0157】
図14は、第3の実施形態にかかる半導体記憶装置1bが適用されるメモリシステムSYSbの一例を示す模式的な図である。
【0158】
メモリシステムSYSbは、メモリコントローラMCbおよび半導体記憶装置1bを含む。半導体記憶装置1bは、外部端子群10、ブリッジチップBCb、および複数のメモリチップCP1-0~CP1-3,CP2-0~CP2-3を備える。チャネルCH1を介してブリッジチップBCaに4つのメモリチップCP1-0~CP1-3が接続され、チャネルCH2を介してブリッジチップBCaに4つのメモリチップCP2-0~CP2-3が接続される。
【0159】
ブリッジチップBCbは、第1インタフェース101と、2つの第2インタフェース102と、コントローラ103bと、バッファメモリ104と、を備える。
【0160】
コントローラ103bは、バッファメモリ104を使って、第1インタフェース101と、2つの第2インタフェース102と、の間の情報の授受を制御する。
【0161】
コントローラ103bは、コマンドデコーダ111a、信号転送/処理回路112b、およびレジスタ113を有する。
【0162】
信号転送/処理回路112bは、第1の実施形態にかかる信号転送/処理回路112の機能および第2の実施形態にかかる信号転送/処理回路112aの機能を備える。
【0163】
メモリコントローラMCbは、プロセッサ21およびメモリ22を備える。
【0164】
プロセッサ21は、例えばコンピュータプログラムに従って動作するCPU(Central Processing Unit)である。プロセッサ21は、ファームウェアプログラムに基づき、メモリコントローラMCbの制御を司る。プロセッサ21は、メモリコントローラMCbの制御の一環として、複数のブロックグループの構築、不良ブロックの検出、不良ブロックの検出に応じたブロックグループの再構築、などを行う。なお、プロセッサ21の機能の一部または全部は、FPGA(Field-Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)などのハードウェア回路によって実現されてもよい。
【0165】
メモリ22は、例えばRAM(Random Access Memory)などの高速な動作が可能なメモリである。メモリ22には、ブロック管理情報300が格納される。ブロック管理情報300は、第1情報301および第2情報302を含む。プロセッサ21は、第1情報301および第2情報302を用いることによって、各ブロックグループを管理する。
【0166】
第1情報301には、各ブロックのステータスが記録される。ステータスは、何れのブロックグループにも属していないことを意味する「未使用」、何れかのブロックグループに属していることを意味する「使用中」、および不良ブロックを意味する「NG」を含む。
【0167】
第2情報302には、各ブロックグループの構成が記録される。
【0168】
図15は、第3の実施形態にかかる第1情報301および第2情報302のデータ構成の一例を示す模式的な図である。本図には、ブロック管理情報300が生成された直後の状態の第1情報301および第2情報302の構成が描画されている。
【0169】
第1情報301は、チャネル番号、LUN、およびブロック番号の組み合わせ毎にステータスが記録される、テーブルのデータ構造を有する。ブロック管理情報300が生成された直後の状態においては、各ブロックのステータスは「未使用」とされる。
【0170】
第2情報302は、基本アドレス、アドレスモード、第1アドレス、および第2アドレスが記録されるフィールドを備えたエントリがブロックグループ毎に設けられた、テーブルのデータ構造を有する。
【0171】
各ブロックグループには、通し番号が与えられる。この通し番号は、ブロック管理番号と表記される。第2情報302には、各エントリのインデックスとしてブロック管理番号が記録される。
【0172】
基本アドレスは、ブロック管理情報300が生成された直後の状態におけるブロックグループの構成を示す。
【0173】
ブロック管理情報300が生成された直後の状態においては、一例として、1アドレスモードでブロックグループが使用される場合の管理情報の構成が、基本アドレスのフィールドに記録される。より具体的には、第2情報302の基本アドレスのフィールドには、LUNの対とブロック番号とが記録される。このフィールドに記録されるLUNの対は、それぞれブロックグループを構成する1つのブロックを含む2つのメモリチップCPを示す。このフィールドに記録されるブロック番号は、LUNの対によって示される2つのメモリチップCPのそれぞれに含まれる、ブロックグループを構成するブロックを示す。
【0174】
基本アドレスのフィールドには、シンプルなルールに基づいて決められたLUNの対およびブロック番号が記録される。
図15に示された例によれば、LUNiとLUN(i+4)との対が基本アドレスのフィールドに記録される。ただしiは0から3までの整数である。基本アドレスのフィールドにそれぞれ異なる値のLUNの対が記録された4エントリを1セットとして、セット毎に異なる値のブロック番号が記録される。
【0175】
アドレスモードのフィールドには、コマンドシーケンスを1アドレスモードおよび2アドレスモードの何れで処理するかが記録される。ブロック管理情報300が生成された直後の状態においては、各エントリのアドレスモードのフィールドには、まだ設定が済んでいないことを意味する「未定義」が記録されている。
【0176】
第1アドレスおよび第2アドレスは、実際のブロックグループの構成を示す。第1アドレスは、ブロックグループを構成する2つのブロックのうちの一を示し、第2アドレスは、当該2つのブロックのうちの他を示す。ブロック管理情報300が生成された直後の状態においては、第1アドレスのフィールドおよび第2アドレスのフィールドには何れの値も記録されていない。
【0177】
ブロック管理情報300は、複数の初期化処理を経て使用可能な状態になる。複数の初期化処理は、第1の初期化処理、第2の初期化処理、および第3の初期化処理を含む。プロセッサ21は、第1の初期化処理、第2の初期化処理、および第3の初期化処理を、この順で実行する。
【0178】
図16は、第3の実施形態にかかる第1の初期化処理の一例を示すフローチャートである。なお、本図に示される一連の処理は、ループ処理を備える。ループ処理のためのカウンタをp、qと表記する。
【0179】
プロセッサ21は、まず、pに0をセットし(S201)、qに0をセットする(S202)。そして、プロセッサ21は、LUNがqであるメモリチップCPに含まれるブロック番号がpであるブロック(
図16の説明において対象ブロックと表記する)は不良ブロックであるか否かを判定する(S203)。
【0180】
メモリチップCPまたは半導体記憶装置1bの製造時には、各ブロックに対する欠陥検査が実行される。製造時の欠陥検査によって使用に適さないレベルの欠陥が発見されたブロックの情報は、そのブロックを備えるメモリチップCP内の任意の不揮発性の記憶領域に不良ブロックとして記録される。不揮発性の記憶領域は、例えばヒューズROMである。S203では、プロセッサ21は、対象ブロックが不揮発性の記憶領域に不良ブロックとして記録されているか否かを確認する。対象ブロックが不良ブロックとして記録されている場合、プロセッサ21は、対象ブロックは不良ブロックであると判定する。対象ブロックが不良ブロックとして記録されていない場合、プロセッサ21は、対象ブロックは不良ブロックでないと判定する。
【0181】
対象ブロックは不良ブロックである場合(S203:Yes)、プロセッサ21は、第1情報301に、対象ブロックのステータスとして「NG」を設定する(S204)。対象ブロックは不良ブロックでない場合(S203:No)、S204の処理はスキップされる。
【0182】
続いて、プロセッサ21は、qはLUNの最大値と等しいか否かを判定する(S205)。qはLUNの最大値と等しくない場合(S205:No)、プロセッサ21は、qを1だけインクリメントし(S206)、制御がS203に移行する。
【0183】
qはLUNの最大値と等しい場合(S205:Yes)、プロセッサ21は、pはブロックアドレスの最大値と等しいか否かを判定する(S207)。pはブロックアドレスの最大値と等しくない場合(S207:No)、プロセッサ21は、pを1だけインクリメントし(S208)、制御がS202に移行する。
【0184】
pはブロックアドレスの最大値と等しい場合(S207:Yes)、第1の初期化処理が終了する。
【0185】
このように、プロセッサ21は、第1の初期化処理においては、各ブロックが不良ブロックであるか否かを製造時の欠陥検査の結果に基づいて判定する。そして、プロセッサ21は、不良ブロックであると判定されたブロックがある場合、第1情報301には、そのブロックのステータスとして「NG」を設定する。
【0186】
図17は、第3の実施形態にかかる第1の初期化処理の後のブロック管理情報300の内容の一例を示す図である。本図に示される例では、LUNが7であるメモリチップCPに含まれるブロック番号が0であるブロック、LUNが0であるメモリチップCPに含まれるブロック番号が3であるブロック、およびLUNが4であるメモリチップCPに含まれるブロック番号が3であるブロック、のステータスが「NG」に設定されている。残りの全てのブロックのステータスは「未使用」に維持されている。
【0187】
図18は、第3の実施形態にかかる第2の初期化処理の一例を示すフローチャートである。なお、本図に示される一連の処理は、ループ処理を備える。ループ処理のためのカウンタをmと表記する。
【0188】
プロセッサ21は、まず、mに0をセットする(S301)。そして、プロセッサ21は、ブロック管理番号がmであるブロックグループに関し、基本アドレスによって定義された2つのブロックのうちの一方または両方が不良ブロックであるか否かを判定する(S302)。プロセッサ21は、第1情報301を参照することによってS302の判定処理を実行する。
【0189】
基本アドレスによって定義された2つのブロックのうちのいずれも不良ブロックではない場合(S302:No)、プロセッサ21は、ブロック管理番号がmであるブロックグループに関し、第2情報302に、アドレスモードとして「1アドレスモード」を設定する(S303)。プロセッサ21は、第2情報302に、第1アドレスおよび第2アドレスとして、基本アドレスによって定義された2つのブロックのアドレスを設定する(S304)。プロセッサ21は、第1情報301に、基本アドレスによって定義された2つのブロックのそれぞれについて、ステータスとして「使用中」を設定する(S305)。
【0190】
S305の後、または基本アドレスによって定義された2つのブロックのうちのいずれかまたは両方が不良ブロックである場合(S302:Yes)、プロセッサ21は、mはブロック管理番号の最大値と等しいか否かを判定する(S306)。mはブロック管理番号の最大値と等しくない場合(S306:No)、mの値を1だけインクリメントし(S307)、制御がS302に移行する。
【0191】
mはブロック管理番号の最大値と等しい場合(S306:Yes)、第2の初期化処理が終了する。
【0192】
図19は、
図17に例示されたブロック管理情報300に対して第3の実施形態にかかる第2の初期化処理が実行された後のブロック管理情報300の内容の一例を示す図である。
【0193】
第1情報301によれば、LUNが7であるメモリチップCPに含まれるブロック番号が0であるブロックのステータスは「NG」である。また、LUNが0であるメモリチップCPに含まれるブロック番号が3であるブロックと、LUNが4であるメモリチップCPに含まれるブロック番号が3であるブロックと、のステータスは「NG」である。第2情報302によれば、ステータスが「NG」であるこれらのブロックは、ブロック管理番号が3であるブロックグループを構成する2つのブロックの一方のブロック、または、ブロック管理番号が12であるブロックグループを構成する2つのブロック、に該当する。
【0194】
よって、第2情報302においては、ブロック管理番号が3であるブロックグループおよびブロック管理番号が12であるブロックグループを除くすべてのブロックグループについて、アドレスモードとして「1アドレスモード」が設定され、基本アドレスによって設定された2つのアドレスが第1アドレスおよび第2アドレスとして記録される。
【0195】
第1情報301においては、LUNが3であるメモリチップCPに含まれるブロック番号が0であるブロックのステータスは、「未使用」に維持される。このブロックは、ブロック管理番号が3であるブロックグループを構成する2つのブロックのうちの不良ブロックでないブロックである。また、第1情報301においては、LUNが7であるメモリチップCPに含まれるブロック番号が0であるブロック、LUNが0であるメモリチップCPに含まれるブロック番号が3であるブロック、およびLUNが4であるメモリチップCPに含まれるブロック番号が0であるブロック、のステータスは、「NG」に維持される。これら以外のブロックのステータスとして、「使用中」が記録される。
【0196】
図20は、第3の実施形態にかかる第3の初期化処理の一例を示すフローチャートである。なお、本図に示される一連の処理は、ループ処理を備える。ループ処理のためのカウンタをnと表記する。
【0197】
プロセッサ21は、まず、nに0をセットする(S401)。そして、プロセッサ21は、ブロック管理番号がnであるブロックグループのアドレスモードは「未定義」であるか否かを判定する(S402)。
【0198】
ブロック管理番号がnであるブロックグループのアドレスモードは「未定義」である場合(S402:Yes)、プロセッサ21は、第2情報302を参照して、ブロック管理番号がnであるブロックグループに関する基本アドレスによって定義されたLUNの対が示すメモリチップCPの対のうちチャネルCH1に接続されたメモリチップCP1を特定する(S403)。そして、プロセッサ21は、第1情報301を参照して、S403によって特定されたメモリチップCP1にステータスが「未使用」のブロックがあるか否かを判定する(S404)。
【0199】
S404の判定処理においてNoと判定された場合、プロセッサ21は、チャネルCH1に接続された何れかのメモリチップCH1にステータスが「未使用」のブロックがあるか否かを判定する(S405)。
【0200】
S404およびS405の何れかの判定処理においてYesと判定された場合、プロセッサ21は、S404およびS405の何れかの判定処理において見つかったステータスが「未使用」のブロックを一時的に記憶しておく。そして、プロセッサ21は、第2情報302を参照して、ブロック管理番号がnであるブロックグループの基本アドレスで定義されたLUNの対が示す2つのメモリチップCPのうちのうちのチャネルCH2に接続されたメモリチップCP2を特定する(S406)。そして、プロセッサ21は、第1情報301を参照して、S406によって特定されたメモリチップCP2にステータスが「未使用」のブロックがあるか否かを判定する(S407)。
【0201】
S407の判定処理においてNoと判定された場合、プロセッサ21は、チャネルCH2に接続された何れかのメモリチップCH2にステータスが「未使用」のブロックがあるか否かを判定する(S408)。
【0202】
S407およびS408の何れかの判定処理においてYesと判定された場合、プロセッサ21は、S407およびS408の判定処理の何れかにおいて見つかったステータスが「未使用」のブロックを一時的に記憶しておく。そして、プロセッサ21は、第2情報302に、ブロック管理番号がnであるブロックグループのアドレスモードとして「2アドレスモード」を設定する(S409)。
【0203】
プロセッサ21は、S404およびS405の何れかの判定処理において見つかったステータスが「未使用」のブロックのアドレスを、第2情報302に、ブロック管理番号がnであるブロックグループの第1アドレスとして設定する(S410)。同様に、S407およびS408の何れかの判定処理において見つかったステータスが「未使用」のブロックのアドレスを、第2情報302に、ブロック管理番号がnであるブロックグループの第2アドレスとして設定する(S411)。
【0204】
プロセッサ21は、第1情報301に、S404およびS405の何れかの判定処理において見つかったブロックのステータスとして「使用中」を設定する(S412)。同様に、プロセッサ21は、第1情報301に、S407およびS408の何れかの判定処理において見つかったブロックのステータスとして「使用中」を設定する(S413)。
【0205】
S413の後、またはS402、S405、およびS408の何れかの判定処理においてNoと判定された場合、プロセッサ21は、nはブロック管理番号の最大値と等しいか否かを判定する(S414)。nはブロック管理番号の最大値と等しくない場合(S414:No)、プロセッサ21は、nを1だけインクリメントして(S415)、制御がS402に移行する。
【0206】
nはブロック管理番号の最大値と等しい場合(S414:Yes)、第3の初期化処理が終了する。
【0207】
図21は、
図18に例示されたブロック管理情報300に対して第3の実施形態にかかる第3の初期化処理が実行された後のブロック管理情報300の内容の一例を示す図である。
【0208】
図21に示される例では、ブロック管理番号が3であるブロックグループおよびブロック管理番号が12であるブロックグループについて、アドレスモードとして「2アドレスモード」が設定される。そして、ブロック管理番号が3であるブロックグループおよびブロック管理番号が12であるブロックグループのそれぞれについて、第1アドレスおよび第2アドレスとして、未使用のブロックから取得されたブロックのアドレスが新たに設定される。
【0209】
LUNが3であるメモリチップCPに含まれるブロック番号が0であるブロックは、
図19に示された例では第1情報301にステータスとして「未使用」が設定されたブロックである。このブロックは、第3の初期化処理によって、ブロック管理番号が3であるブロックグループに組み込まれて、そのブロックのアドレスは第1アドレスとして第2情報302に設定される。そして、第1情報301において、このブロックのステータスは、「未使用」から「使用中」に変更される。
【0210】
第3の初期化処理を経た後、メモリシステムSYSbは、動作を開始することが可能となる。メモリシステムSYSbが動作しているとき、メモリセルの疲弊や素子の故障などによって、新たに不良ブロックが発生する場合がある。そのため、メモリコントローラMCbは、使用中の各ブロックは不良ブロックに該当するか否かの判定を適時、実行する。この判定によって新たな不良ブロックが検出された場合、プロセッサ21は、ブロック管理情報300の更新を行って、いくつかのブロックグループの再構成およびアドレスモードの変更を行う。
【0211】
図22は、第3の実施形態にかかるメモリシステムSYSbの動作中のブロック管理情報300の更新の処理の一例を示すフローチャートである。
【0212】
プロセッサ21は、新たな不良ブロックを検出すると(S501)、新たな不良ブロックとして検出されたブロックの第1情報301におけるステータスを「使用中」から「NG」に変更する(S502)。
図22の説明において、S501によって新たな不良ブロックとして検出されたブロックは、対象ブロックと表記される。
【0213】
続いて、プロセッサ21は、第2情報302を参照して、対象ブロックを含むブロックグループを特定する(S503)。
図22の説明において、S503によって特定されたブロックグループは、対象ブロックグループと表記される。
【0214】
プロセッサ21は、第2情報302において、対象ブロックグループのアドレスモードを「未定義」に変更する(S504)。
【0215】
プロセッサ21は、第2情報302を参照して、対象ブロックグループの基本アドレスで定義されたLUNの対が示す2つのメモリチップCPのうちのうちのチャネルCH1に接続されたメモリチップCP1を特定する(S505)。そして、プロセッサ21は、第1情報301を参照して、S505によって特定されたメモリチップCP1にステータスが「未使用」のブロックがあるか否かを判定する(S506)。
【0216】
S506の判定処理においてNoと判定された場合、プロセッサ21は、チャネルCH1に接続された何れかのメモリチップCH1にステータスが「未使用」のブロックがあるか否かを判定する(S507)。
【0217】
S506およびS507の何れかの判定処理においてYesと判定された場合、プロセッサ21は、S506およびS507の何れかの判定処理において見つかったステータスが「未使用」のブロックを一時的に記憶しておく。そして、プロセッサ21は、第2情報302を参照して、対象ブロックグループの基本アドレスで定義されたLUNの対が示す2つのメモリチップCPのうちのうちのチャネルCH2に接続されたメモリチップCP2を特定する(S508)。そして、プロセッサ21は、第1情報301を参照して、S508によって特定されたメモリチップCP2にステータスが「未使用」のブロックがあるか否かを判定する(S509)。
【0218】
S509の判定処理においてNoと判定された場合、プロセッサ21は、チャネルCH2に接続された何れかのメモリチップCH2にステータスが「未使用」のブロックがあるか否かを判定する(S510)。
【0219】
S509およびS510の判定処理の何れかにおいてYesと判定された場合、プロセッサ21は、S509およびS510の判定処理の何れかにおいて見つかったステータスが「未使用」のブロックを一時的に記憶しておく。そして、プロセッサ21は、第2情報302において、対象ブロックグループのアドレスモードを「2アドレスモード」に変更する(S511)。
【0220】
プロセッサ21は、第2情報302において、対象ブロックグループの第1アドレスを、S506およびS507の何れかの判定処理において見つかったステータスが「未使用」のブロックのアドレスで更新する(S512)。同様に、プロセッサ21は、第2情報302において、対象ブロックグループの第2アドレスを、S509およびS510の何れかの判定処理において見つかったステータスが「未使用」のブロックのアドレスで更新する(S513)。
【0221】
プロセッサ21は、第1情報301において、S506およびS507の何れかの判定処理において見つかったブロックのステータスを「未使用」から「使用中」に変更する(S514)。同様に、プロセッサ21は、第1情報301に記録されているS509およびS510の何れかの判定処理において見つかったブロックのステータスを「未使用」から「使用中」に変更する(S515)。
【0222】
S515の後、または、S507およびS510の何れかの判定処理においてNoと判定された場合、ブロック管理情報300の更新の処理が終了する。
【0223】
図23および
図24は、
図22に示された第3の実施形態にかかるブロック管理情報300の更新の処理によるブロック管理情報300の内容の遷移の一例を示す図である。
【0224】
一例として、LUNが3であるメモリチップCPに含まれるブロック番号が1のブロックが新たな不良ブロックとして検出されたこととする。そのような場合、
図22のS502の処理によって、
図23に示されるように、LUNが3であるメモリチップCPに含まれるブロック番号が1のブロックのステータスが「NG」に変更される。
【0225】
さらに、
図22のS503の処理によって、
図23に示されるように、LUNが3であるメモリチップCPに含まれるブロック番号が1のブロックを含むブロックグループは、ブロック管理番号が7のブロックグループであることが特定される。そして、ブロック管理番号が7のブロックグループのアドレスモードが「1アドレスモード」から「未定義」に変更される。
【0226】
図22のS505およびS508の処理によって、ブロック管理番号が7のブロックグループは、チャネルCH1に接続されたメモリチップCP1-3に含まれるブロックと、チャネルCH2に接続されたメモリチップCP2-7に含まれるブロックと、によって構成されることが特定される。
【0227】
図22のS506の処理によって、メモリチップCP1-3のうちからステータスが「未使用」のブロックとして、ブロック番号が273のブロックが見つかる。また、S509の処理によって、メモリチップCP2-7のうちからステータスが「未使用」のブロックとして、ブロック番号が1のブロックが見つかる。
【0228】
そして、
図22のS511の処理によって、
図24に示されるように、ブロック管理番号が7のブロックグループのアドレスモードが「未定義」から「2アドレスモード」に変更される。さらに、
図22のS512の処理によって、
図24に示されるように、ブロック管理番号が7のブロックグループの第1アドレスは、メモリチップCP1-3に含まれるブロック番号が273のブロックのアドレスで更新される。
図22のS513の処理によって、
図24に示されるように、ブロック管理番号が7のブロックグループの第2アドレスは、メモリチップCP2-7に含まれるブロック番号が1のブロックで更新される。
【0229】
上記の動作によって、ブロックグループ毎にコマンドシーケンスの処理方法が1アドレスモードであるか2アドレスモードであるかが管理される。1アドレスモードが設定されたブロックグループを構成する2つのブロックがデータ転送の対象である場合、メモリコントローラMCbは、第1の実施形態の方式でコマンドシーケンスをブリッジチップBCbに入力する。2アドレスモードが設定されたブロックグループを構成する2つのブロックがデータ転送の対象である場合、メモリコントローラMCbは、第2の実施形態の方式でコマンドシーケンスをブリッジチップBCbに入力する。
【0230】
換言すると、あるアドレス情報(第3の実施形態の説明において第1アドレス情報と表記する)が示す第1ブロックと、第1アドレス情報のうちのLUNの値を基本アドレスによって定義されたLUNの対に基づいて差し替えを行ったアドレス情報(第3の実施形態の説明において第2アドレス情報と表記する)が示す第2ブロックと、がデータ転送の対象である場合、メモリコントローラMCbは、第1の実施形態の方式に従ってコマンドシーケンスをブリッジチップBCbに転送する。第1ブロックと、第2ブロックと異なる第3ブロックとがデータ転送の対象である場合、メモリコントローラMCbは、第2の実施形態の方式に従ってコマンドシーケンスをブリッジチップBCbに転送する。
【0231】
また、メモリコントローラMCbは、第1ブロックと第2ブロックとが不良ブロックでない場合、換言すると、第1ブロック第2ブロックとがともに使用可に設定されている場合、第1ブロックと第2ブロックとを第1の実施形態の方式に従ったコマンドシーケンスの使用が可能なグループとして管理する。第2ブロックが不良ブロックになった場合、換言すると、第2ブロックが使用不可になった場合、第1ブロックと第2ブロックとのグループを解除して、第1ブロックと、不良ブロックでない第3ブロックと、を新たなグループとして管理する。
【0232】
よって、メモリシステムSYSbが動作を行っているうちに不良ブロックが発生したとしても、アドレスモードの切り替えによって、複数のメモリチップに対するデータ転送の同時制御を継続することが可能である。
【0233】
(第4の実施形態)
メモリチップが或るコマンドシーケンスに応じて内部動作を開始すると、そのメモリチップはビジー状態に遷移し、内部動作が完了するとそのメモリチップはレディー状態に遷移する。
【0234】
また、メモリコントローラは、メモリチップが内部動作の実行に成功したか否かを知りたいケースがある。
【0235】
メモリチップがレディー状態であるかビジー状態であるか、またはメモリチップにおける内部動作の実行に成功(pass)したか否かを知るために、メモリコントローラは、ターゲットのメモリチップを指定してリードステータスコマンドシーケンスを送信することができる。ターゲットのメモリチップは、リードステータスコマンドに応じてステータス情報を出力する。ステータス情報は、メモリチップがレディー状態であるかビジー状態であるかを示す値、または内部動作の実行に成功したか否かを示す値、を含む。
【0236】
トグルDDR規格では、メモリチップに対してリードステータスコマンドシーケンスの転送を完了したタイミングと、メモリチップにステータス情報を出力させるためのリードイネーブル信号RE/REnの転送の開始のタイミングとの間に、時間tWHR以上の時間を空けることが定められている。
【0237】
ここで、第4の実施形態と比較される技術について説明する。第4の実施形態と比較される技術は比較例と表記される。比較例は、第1~第3の実施形態に係る技術を用いない。比較例によれば、メモリコントローラは、まず、ブリッジチップを介して或るメモリチップに宛てて、リードステータスコマンドシーケンスの転送、およびリードイネーブル信号RE/REnの転送を行い、当該メモリチップからブリッジチップを介してステータス情報を取得する。次に、メモリコントローラは、ブリッジチップを介して別の或るメモリチップに宛てて、リードステータスコマンドシーケンスの転送、およびリードイネーブル信号RE/REnの転送を行い、当該メモリチップからブリッジチップを介してステータス情報を取得する。
【0238】
つまり、比較例によれば、複数のメモリチップからステータス情報を取得するためにリードステータスコマンドシーケンスの転送およびリードイネーブル信号RE/REnの転送を複数のメモリチップに対して時間的にシリアルに実行する。よって、時間tWHR以上待機する処理がターゲットのメモリチップの数だけ発生し、全てのターゲットのメモリチップからステータス情報を取得するために多大な時間を要する。
【0239】
第4の実施形態では、第1~第3の実施形態におけるデータ転送のケースと同様に、ブリッジチップは、複数(ここでは一例として2つ)のメモリチップからのステータス情報の取得を一つのリードステータスコマンドシーケンスによって同時に制御できるように構成される。ブリッジチップは、メモリコントローラから入力された一つのリードステータスコマンドシーケンスに基づいてそれぞれ異なるメモリチップに宛てた複数のリードステータスコマンドシーケンスを生成し、複数のリードステータスコマンドシーケンスのそれぞれをそれぞれ異なるメモリチップに並列的に転送する。これによって、時間tWHR以上待機する複数の処理の一部または全部を時間的に重複させることができ、その結果として、複数のメモリチップの全てからステータス情報を取得するために要する時間が抑制される。
【0240】
第4の実施形態では、第1の実施形態、第2の実施形態、第2の実施形態の変形例、または第3の実施形態と同じ事項については簡略的に説明するか、または説明を省略する。
【0241】
図25は、第4の実施形態にかかる半導体記憶装置1cが適用されるメモリシステムSYScの一例を示す模式的な図である。
【0242】
メモリシステムSYScは、メモリコントローラMCcおよび半導体記憶装置1cを含む。半導体記憶装置1cは、外部端子群10、ブリッジチップBCc、および複数のメモリチップCP1-0~CP1-3,CP2-0~CP2-3を備える。チャネルCH1を介してブリッジチップBCcに4つのメモリチップCP1-0~CP1-3が接続され、チャネルCH2を介してブリッジチップBCcに4つのメモリチップCP2-0~CP2-3が接続される。
【0243】
ブリッジチップBCcは、第1インタフェース101と、2つの第2インタフェース102と、コントローラ103cと、バッファメモリ104と、を備える。
【0244】
コントローラ103cは、バッファメモリ104を使って、第1インタフェース101と、2つの第2インタフェース102と、の間の情報の授受を制御する。
【0245】
コントローラ103cは、コマンドデコーダ111c、信号転送/処理回路112c、およびレジスタ113cを有する。
【0246】
コマンドデコーダ111cは、並列動作コマンドC10を解釈することができる。第4の実施形態では、リードステータスコマンドシーケンスに並列動作コマンドC10が含まれ得る。より詳しくは、第4の実施形態では、リードステータスコマンドシーケンスは、第2の実施形態で説明されたデータ転送用のコマンドシーケンスと同様、並列動作コマンドC10と2セットのアドレス情報とを含み得る。
【0247】
信号転送/処理回路112cは、メモリコントローラMCcがチャネルCH0を介して受けたリードステータスコマンドシーケンスに並列動作コマンドC10が含まれていることが判明した場合、当該リードステータスコマンドシーケンスに含まれる2セットのアドレス情報のうちそれぞれ異なる1セットのアドレス情報を含む2つのリードステータスコマンドシーケンスを生成し、生成したそれぞれのリードステータスコマンドシーケンスを宛先のメモリチップCPに転送する。
【0248】
また、2つのリードステータスコマンドシーケンスの転送後にトグルDDR規格で定められた時間tWHRが経過すると、信号転送/処理回路112cは、チャネルCH1,CH2においてリードイネーブル信号RE/REnを1回トグルすることによって、リードステータスシーケンスの宛先の各メモリチップCPからステータス情報を取得する。リードステータスシーケンスの宛先の各メモリチップCPから取得されたステータス情報は、レジスタ113cに格納される。
【0249】
リードステータスシーケンスの宛先の各メモリチップCPからステータス情報を取得した後にメモリコントローラMCcからのリードイネーブル信号RE/REnがトグルされる。信号転送/処理回路112cは、リードイネーブル信号RE/REnのトグルに基づいて、各メモリチップCPから取得されレジスタ113cに格納されたステータス情報をメモリコントローラMCcに転送する。
【0250】
図26は、第4の実施形態にかかるメモリシステムSYScにおいてステータス情報を取得する際に各チャネルを介して転送される情報の一例を示すタイミングチャートである。本図では、チップイネーブル信号CEn、リードイネーブル信号RE/REnのうちのリードイネーブル信号REn、データストローブ信号DQS/DQSnのうちのデータストローブ信号DQS、およびデータ信号DQ[7:0]の波形が示されている。
【0251】
メモリコントローラMCcは、チャネルCH0のチップイネーブル信号CEnを活性化、即ちLowレベルに設定して、リードステータスコマンドシーケンスSQrs-0をブリッジチップBCcに入力する(時刻t70)。リードステータスコマンドシーケンスSQrs-0は、リードステータスコマンドC5、並列動作コマンドC10、第1アドレス情報(アドレス片A7,A8,A9)、および第2アドレス情報(アドレス片A7,A8,A9’)を備える。リードステータスコマンドC5は、ステータス情報を要求するコマンドである。このリードステータスコマンドシーケンスSQrs-0の構成は、トグルDDR規格に準拠していない。
【0252】
図26に示された例においては、アドレス片A7,A8,A9(またはA9’)のセットは、完全なアドレス情報からカラムアドレスが省略されたものである。つまり、アドレス片A7,A8,A9(またはA9’)のセットは、ロウアドレスを含む。アドレス片A7,A8,A9(またはA9’)のそれぞれは、8個のデータストローブ信号DQSを用いて転送される最小単位の情報、つまり1バイトの情報、である。アドレス片A7,A8,A9(またはA9’)のうち、アドレス片A9(またはA9’)にはLUNが含まれる。アドレス片A9に含まれるLUNは、チャネルCH1,2のうちの一に接続されたメモリチップCPを示し、アドレス片A9’に含まれるLUNは、チャネルCH1,2のうちの他に接続されたメモリチップCPを示す。
【0253】
第2の実施形態と同様、リードステータスコマンドシーケンスSQrs-0に含まれる2セットのアドレス情報のそれぞれがチャネルCH1,CH2のうちの何れのチャネルを介して転送すべきかは、任意の方法で事前に設定されている。ここでは一例として、第1アドレス情報はチャネルCH1に接続された或るメモリチップCPに宛てたものであり、第2アドレス情報はチャネルCH2に接続された或るメモリチップCPに宛てたものであることがブリッジチップBCcに設定されていることとする。第4の実施形態の説明においては、第1アドレス情報が示すメモリチップCPは、第1メモリチップCP、第2アドレス情報が示すメモリチップCPは第2メモリチップCPと表記される。
【0254】
ブリッジチップBCcにおいて、コマンドデコーダ111cがリードステータスコマンドC5および並列動作コマンドC10を解釈すると、信号転送/処理回路112cは、リードステータスコマンドシーケンスSQrs-0を複製することによって2つのリードステータスコマンドシーケンスSQrs-1,SQrs-2を生成する。そして、2つのリードステータスコマンドシーケンスSQrs-1,SQrs-2の転送が開始される(時刻t71)。リードステータスコマンドシーケンスSQrs-1は、第1メモリチップCPに宛てたデータアウトコマンドシーケンスである。リードステータスコマンドシーケンスSQrs-2は、第2メモリチップCPに宛てたデータアウトコマンドシーケンスである。
【0255】
信号転送/処理回路112cは、第2の実施形態と同様、各種情報のマスクを実行する。具体的には、信号転送/処理回路112cは、2つのリードステータスコマンドシーケンスSQrs-1,SQrs-2を転送するとき、並列動作コマンドC10をマスクする。信号転送/処理回路112cは、リードステータスコマンドシーケンスSQrs-1を転送するとき、第2アドレス情報をマスクする。信号転送/処理回路112cは、リードステータスコマンドシーケンスSQrs-2を転送するとき、第1アドレス情報をマスクする。
【0256】
よって、2つのリードステータスコマンドシーケンスSQrs-1,SQrs-2のそれぞれは、リードステータスコマンドC5および1セットのアドレス情報を備えた、トグルDDR規格に準拠した構成の信号として宛先のメモリチップCPに転送される。
【0257】
第1メモリチップCPおよび第2メモリチップCPは、リードステータスコマンドシーケンスの受信に応じてステータス情報を生成する。
【0258】
ブリッジチップBCcは、リードステータスコマンドシーケンスSQrs-1,SQrs-2の転送を完了すると(時刻t72)、トグルDDR規格で定められた時間tWHRの経過を待つ。時刻t72から時間tWHRが経過したとき(時刻t73)、チャネルCH1,CH2においてリードイネーブル信号REnをLowレベルに遷移させることで、第1メモリチップCPおよび第2メモリチップCPにステータス情報の出力の準備を促す。すると、第1メモリチップCPおよび第2メモリチップCPのそれぞれは、データ信号DQ[7:0]としてステータス情報の出力を開始するとともに、データストローブ信号DQSをLowレベルに遷移させる(時刻t74)。
【0259】
ブリッジチップBCcは、チャネルCH1,CH2においてデータストローブ信号DQSがLowレベルに遷移されたことを検知すると、チャネルCH1,CH2においてリードイネーブル信号REnを一回トグルする(時刻t75)。
【0260】
第1メモリチップCPおよび第2メモリチップCPのそれぞれは、1回トグルされたリードイネーブル信号REnに基づくデータストローブ信号DQSを返送する(時刻t76)。ブリッジチップBCcは、チャネルCH1,CH2においてデータ信号DQ[7:0]として出力されているステータス情報を、データストローブ信号DQSのトグルに応じて取り込んで、チャネルCH1,CH2のそれぞれから取り込まれたステータス情報をレジスタ113cに格納する(時刻t76)。なお、チャネルCH1から取り込まれたステータス情報は、第1メモリチップCPから出力されたステータス情報である。チャネルCH2から取り込まれたステータス情報は、第2メモリチップCPから出力されたステータス情報である。
【0261】
メモリコントローラMCcは、チャネルCH0において、リードイネーブル信号REnを2回トグルする(時刻t77,t79)。
【0262】
ブリッジチップBCcは、リードイネーブル信号REnのトグルに応じて、レジスタ113cに格納されている2個のステータス情報を出力する。例えば、ブリッジチップBCcは、リードイネーブル信号REnの1回目のトグルに応じて、第1メモリチップCPにかかるステータス情報をデータ信号DQ[7:0]として出力し、1回トグルされたリードイネーブル信号REnに基づくデータストローブ信号DQSを返送する(時刻t78)。ブリッジチップBCcは、リードイネーブル信号REnの2回目のトグルに応じて、第2メモリチップCPにかかるステータス情報をデータ信号DQ[7:0]として出力し、1回トグルされたリードイネーブル信号REnに基づくデータストローブ信号DQSを返送する(時刻t80)。メモリコントローラMCcは、第1メモリチップCPにかかるステータス情報および第2メモリチップCPにかかるステータス情報をデータストローブ信号DQSのトグルに応じて取り込む。
【0263】
なお、
図26の説明では、ブリッジチップBCcは、リードステータスコマンドシーケンスSQrs-1,SQrs-2の転送を完了した後にトグルDDR規格で定められた時間t
WHRが経過したとき、チャネルCH1,CH2においてリードイネーブル信号REnをLowレベルに遷移させた。リードステータスコマンドシーケンスSQrs-1,SQrs-2の転送を完了したタイミングと、チャネルCH1,CH2においてリードイネーブル信号REnがLowレベルに遷移されるタイミングとの間の時間は時間t
WHRと等しくなくてもよい。ブリッジチップBCcは、リードステータスコマンドシーケンスSQrs-1,SQrs-2の転送を完了したタイミングから時間t
WHR以上の時間が経過したときに、リードイネーブル信号REnをLowレベルに遷移させるよう、構成されてもよい。
【0264】
このように、第4の実施形態によれば、ブリッジチップBCcは、メモリコントローラMCcから第1メモリチップCPを示す第1アドレス情報および第2メモリチップCPを示す第2アドレス情報を含むリードステータスコマンドシーケンスSQrs-0を受信する。これに応じて、ブリッジチップBCcは、第1アドレス情報を含み第2アドレス情報を含まないリードステータスコマンドシーケンスSQrs-1の第1メモリチップCPへの転送と、第2アドレス情報を含み第1アドレス情報を含まないリードステータスコマンドシーケンスSQrs-2の第2メモリチップCPへの転送と、を実行する。リードステータスコマンドシーケンスSQrs-1およびリードステータスコマンドシーケンスSQrs-2の転送が完了してから少なくとも時間tWHRが経過した後、ブリッジチップBCcは、チャネルCH1,CH2に転送されるリードイネーブル信号RE/REnを同時に(並列的に)トグルすることによって、チャネルCH1,CH2のそれぞれを介してステータス情報を同時に(並列的に)取得する。ブリッジチップBCcは、チャネルCH0においてリードイネーブル信号RE/REnがトグルされると、チャネルCH1,CH2のそれぞれを介して受信したステータス情報をチャネルCH0におけるリードイネーブル信号RE/REnのトグルに基づいてメモリコントローラMCcに出力する。
【0265】
よって、複数のメモリチップからステータス情報を取得するために要する時間が抑制される。
【0266】
また、第4の実施形態によれば、リードステータスコマンドシーケンスSQrs-0は、第2の実施形態のメモリコントローラMCaがブリッジチップBCaに転送するデータ転送用のコマンドシーケンスと同様、第1メモリチップCPを示す第1アドレス情報と、第2メモリチップCPを示す第2アドレス情報と、を含む構成を備える。
【0267】
なお、リードステータスコマンドシーケンスSQrs-0の構成はこれに限定されない。例えば、並列動作コマンドC10を有しない第2の実施形態のデータ転送用のコマンドシーケンスと同様に、リードステータスコマンドシーケンスSQrs-0は並列動作コマンドC10を有していなくてもよい。リードステータスコマンドシーケンスSQrs-0のその他の構成例は、いくつかの変形例において説明される。
【0268】
(第4の実施形態の変形例1)
第4の実施形態の変形例1によれば、メモリコントローラがブリッジチップに転送するリードステータスコマンドシーケンスの構成が第4の実施形態と異なる。ここでは、第4の実施形態と同じ事項については説明を省略するか、簡略的に説明する。
【0269】
図27は、第4の実施形態の変形例1にかかるメモリシステムSYScにおいてステータス情報を取得する際に各チャネルを介して転送される情報の一例を示すタイミングチャートである。
【0270】
メモリコントローラMCcは、チャネルCH0のチップイネーブル信号CEnを活性化、即ちLowレベルに設定して、リードステータスコマンドシーケンスSQrs-0aをブリッジチップBCcに入力する(時刻t90)。リードステータスコマンドシーケンスSQrs-0aは、リードステータスコマンドC5、並列動作コマンドC10、および第1アドレス情報(アドレス片A7,A8,A9)を備える。このリードステータスコマンドシーケンスSQrs-0aの構成は、トグルDDR規格に準拠していない。
【0271】
第1アドレス情報のアドレス片A9にはLUNが含まれている。第1アドレス情報のアドレス片A9に含まれるLUNが示すメモリチップCPは、第4の実施形態の変形例1の説明において第1メモリチップCPと表記される。
【0272】
第4の実施形態では、第1の実施形態と同様、ブリッジチップBCcは、LUNを用いたシンプルな関係に基づいて、それぞれ異なるチャネルに接続された複数(ここでは2個)のメモリチップCPを1つのチップグループとして管理する。1つのチップグループを構成する2個のメモリチップCPのうちの第1メモリチップCPと異なるメモリチップCPは、第4の実施形態の変形例1の説明において、第2メモリチップCPと表記される。
【0273】
ブリッジチップBCcにおいて、コマンドデコーダ111cがリードステータスコマンドC5および並列動作コマンドC10を解釈すると、信号転送/処理回路112cは、リードステータスコマンドシーケンスSQrs-0aを複製することによって2つのリードステータスコマンドシーケンスSQrs-1a,SQrs-2aを生成する。そして、信号転送/処理回路112cは、2つのリードステータスコマンドシーケンスSQrs-1a,SQrs-2aの転送を開始する(時刻t91)。リードステータスコマンドシーケンスSQrs-1aは、第1メモリチップCPに宛てたデータアウトコマンドシーケンスである。リードステータスコマンドシーケンスSQrs-2aは、第2メモリチップCPに宛てたデータアウトコマンドシーケンスである。
【0274】
信号転送/処理回路112cは、ステータスコマンドシーケンスSQrs-2aを転送する際には、第1の実施形態と同様の方法で、アドレス片A7~A9のうちのアドレス片A9に含まれるLUNを、第1メモリチップCPを示す値から第2メモリチップCPを示す値に差し替える。LUNの差し替え後のアドレス片A9は、アドレス片A9’と表記される。
【0275】
また、信号転送/処理回路112cは、2つのリードステータスコマンドシーケンスSQrs-1a,SQrs-2aを転送するとき、並列動作コマンドC10をマスクする。
【0276】
よって、2つのリードステータスコマンドシーケンスSQrs-1a,SQrs-2aのそれぞれは、リードステータスコマンドC5および1セットのアドレス情報を備えた、トグルDDR規格に準拠した構成の信号として宛先のメモリチップCPに転送される。
【0277】
ブリッジチップBCcは、リードステータスコマンドシーケンスSQrs-1a,SQrs-2aの転送を完了すると(時刻t92)、トグルDDR規格で定められた時間tWHRの経過を待つ。時刻t92から時間tWHRが経過した以降(時刻t93~)、第4の実施形態で説明された動作と同様の動作が実行される。
【0278】
このように、第4の実施形態の変形例1によれば、リードステータスコマンドシーケンスSQrs-0aは、第1の実施形態のメモリコントローラMCがブリッジチップBCに転送するデータ転送用のコマンドシーケンスと同様、第1アドレス情報を含み、第2アドレス情報を含まない構成を備える。ブリッジチップBCcは、第1アドレス情報のうちのLUNを第1メモリチップCPを示す値から第2メモリチップCPを示す値に差し替えることによって第2アドレス情報を取得する。
【0279】
また、第4の実施形態の変形例1によれば、リードステータスコマンドシーケンスSQrs-0aは、ステータス情報を要求するリードステータスコマンドC5と、並列動作を指示する並列動作コマンドC10と、を含む。リードステータスコマンドシーケンスSQrs-1a,SQrs-2aは、リードステータスコマンドC5を含むが、並列動作コマンドC10を含まない。
【0280】
(第4の実施形態の変形例2)
第4の実施形態の変形例2として、メモリコントローラがブリッジチップに転送するリードステータスコマンドシーケンスの構成のさらに別の例を説明する。ここでは、第4の実施形態と同じ事項については説明を省略するか、簡略的に説明する。
【0281】
図28は、第4の実施形態の変形例2にかかるメモリシステムSYScにおいてステータス情報を取得する際に各チャネルにおいて転送される情報の一例を示すタイミングチャートである。
【0282】
メモリコントローラMCcは、チャネルCH0のチップイネーブル信号CEnを活性化、即ちLowレベルに設定して、リードステータスコマンドシーケンスSQrs-0bをブリッジチップBCcに入力する(時刻t110)。リードステータスコマンドシーケンスSQrs-0bは、並列リードステータスコマンドC20および第1アドレス情報(アドレス片A7,A8,A9)を備える。並列リードステータスコマンドC20は、リードステータスコマンドC5と並列動作コマンドC10との組み合わせと同じ意味を有する。このリードステータスコマンドシーケンスSQrs-0bの構成は、トグルDDR規格に準拠していない。
【0283】
第1アドレス情報のアドレス片A9にはLUNが含まれている。第1アドレス情報のアドレス片A9に含まれるLUNが示すメモリチップCPは、第4の実施形態の変形例2の説明において第1メモリチップCPと表記される。
【0284】
なお、第4の実施形態の変形例1と同様、ブリッジチップBCcは、LUNを用いたシンプルな関係に基づいて、それぞれ異なるチャネルに接続された複数(ここでは2個)のメモリチップCPを1つのチップグループとして管理する。1つのチップグループを構成する2個のメモリチップCPのうちの第1メモリチップCPと異なるメモリチップCPは、第4の実施形態の変形例2の説明において、第2メモリチップCPと表記される。
【0285】
ブリッジチップBCcにおいて、コマンドデコーダ111cが並列リードステータスコマンドC20を解釈すると、信号転送/処理回路112cは、リードステータスコマンドシーケンスSQrs-0bを複製することによって2つのリードステータスコマンドシーケンスSQrs-1b,SQrs-2bを生成する。そして、信号転送/処理回路112cは、2つのリードステータスコマンドシーケンスSQrs-1b,SQrs-2bの転送を開始する(時刻t111)。
【0286】
信号転送/処理回路112cは、ステータスコマンドシーケンスSQrs-2bを転送する際には、第1の実施形態および第4の実施形態の変形例1と同様の方法で、アドレス片A7~A9のうちのアドレス片A9に含まれるLUNを、第1メモリチップCPを示す値から第2メモリチップCPを示す値に差し替える。LUNの差し替え後のアドレス片A9は、アドレス片A9’と表記される。
【0287】
ブリッジチップBCcは、リードステータスコマンドシーケンスSQrs-1b,SQrs-2bの転送を完了すると(時刻t112)、トグルDDR規格で定められた時間tWHRの経過を待つ。時刻t112から時間tWHRが経過した以降(時刻t113~)、第4の実施形態で説明された動作と同様の動作が実行される。
【0288】
このように、リードステータスコマンドシーケンスSQrs-0bは、ステータス情報の要求と、並列動作の指示と、を含む限り、任意のコマンドを有し得る。
【0289】
(第4の実施形態の変形例3)
第4の実施形態の変形例3では、ブリッジチップBCcは、各メモリチップCPから1バイトのデータ信号DQ[7:0]として取得したステータス情報(第1ステータス情報と表記する)をマージして、1バイトの新たなステータス情報(第2ステータス情報と表記する)を生成する。そして、ブリッジチップは、第2ステータス情報をメモリコントローラに転送する。
【0290】
なお、第4の実施形態の変形例3は、第4の実施形態、第4の実施形態の変形例1、および第4の実施形態の変形例2のうちのいずれとも併用され得る。ここでは一例として、第4の実施形態の変形例3が第4の実施形態の変形例1と併用されたケースについて説明する。
【0291】
図29は、第4の実施形態の変形例3にかかる第1ステータス情報および第2ステータス情報のデータ構成の一例を示す模式的な図である。
【0292】
第1ステータス情報および第2ステータス情報は、共通のデータ構成を有する。第1ステータス情報および第2ステータス情報は、1バイト(=8ビット)の情報として転送される。第1ステータス情報および第2ステータス情報のうちのビットDQ0,DQ1のそれぞれは、内部動作の実行に成功(pass)したか失敗(fail)したかを示す。ここでは一例として、「0」は内部動作の実行に成功したことを示し、「1」は内部動作の実行に失敗したことを示す。第1ステータス情報および第2ステータス情報のうちのビットDQ5,DQ6のそれぞれは、メモリチップCPがレディー状態であるかビジー状態であるかを示す。ここでは一例として、「0」はメモリチップCPがビジー状態であることを示し、「1」はメモリチップCPがレディー状態であることを示す。
【0293】
ブリッジチップBCcが第1メモリチップCPおよび第2メモリチップCPのそれぞれから第1ステータス情報を取得すると、信号転送/処理回路112cは、第1メモリチップCPから取得した第1ステータス情報に含まれるビットDQ0と第2メモリチップCPから取得した第1ステータス情報に含まれるビットDQ0との論理和を演算し、論理和によって得られた値を第2ステータス情報のビットDQ0とする。信号転送/処理回路112cは、第1メモリチップCPから取得した第1ステータス情報に含まれるビットDQ1と第2メモリチップCPから取得した第1ステータス情報に含まれるビットDQ1との論理和を演算し、論理和によって得られた値を第2ステータス情報のビットDQ1とする。信号転送/処理回路112cは、第1メモリチップCPから取得した第1ステータス情報に含まれるビットDQ5と第2メモリチップCPから取得した第1ステータス情報に含まれるビットDQ5との論理積を演算し、論理積によって得られた値を第2ステータス情報のビットDQ5とする。信号転送/処理回路112cは、第1メモリチップCPから取得した第1ステータス情報に含まれるビットDQ6と第2メモリチップCPから取得した第1ステータス情報に含まれるビットDQ6との論理積を演算し、論理積によって得られた値を第2ステータス情報のビットDQ6とする。
【0294】
よって、第2ステータス情報は、ビットDQ0,DQ1のそれぞれに、第1メモリチップCPおよび第2メモリチップCPがともに内部動作の実行に成功した場合には「0」を示し、第1メモリチップCPおよび第2メモリチップCPの一方または両方が内部動作の実行に失敗した場合には「1」を示す値を含む。第2ステータス情報は、ビットDQ5,DQ6のそれぞれに、第1メモリチップCPおよび第2メモリチップCPがともにレディー状態である場合には「1」を示し、第1メモリチップCPおよび第2メモリチップCPの一方または両方がビジー状態である場合には「0」を示す値を含む。
【0295】
よって、メモリコントローラMCcは、第2ステータス情報によって、第1メモリチップCPおよび第2メモリチップCPにおいてともに内部動作の実行に成功したか否かと、第1メモリチップCPおよび第2メモリチップCPがともにレディー状態であるか否かを認識することができる。
【0296】
図30は、第4の実施形態の変形例3にかかるメモリシステムSYScにおいてステータス情報を取得する際に各チャネルを介して転送される情報の一例を示すタイミングチャートである。
【0297】
第4の実施形態の変形例1と同様、メモリコントローラMCcは、リードステータスコマンドシーケンスSQrs-0aをブリッジチップBCcに入力する。ブリッジチップBCcは、2つのリードステータスコマンドシーケンスSQrs-1a,SQrs-2aを生成し、2つのリードステータスコマンドシーケンスSQrs-1a,SQrs-2aの転送を開始する。
【0298】
ブリッジチップBCcは、リードステータスコマンドシーケンスSQrs-1a,SQrs-2aの転送を完了すると、トグルDDR規格で定められた時間tWHRの経過を待つ。リードステータスコマンドシーケンスSQrs-1a,SQrs-2aの転送が完了してから時間tWHRが経過したとき(時刻t120)、信号転送/処理回路112cは、チャネルCH1,CH2においてリードイネーブル信号REnをLowレベルに遷移させることで、第1メモリチップCPおよび第2メモリチップCPにステータス情報の出力の準備を促す。すると、第1メモリチップCPおよび第2メモリチップCPのそれぞれは、データ信号DQ[7:0]として第1ステータス情報の出力を開始して、データストローブ信号DQSをLowレベルに遷移させる(時刻t121)。
【0299】
ブリッジチップBCcは、チャネルCH1,CH2においてデータストローブ信号DQSがLowレベルに遷移されたことを検知すると、チャネルCH1,CH2においてリードイネーブル信号REnを一回トグルする(時刻t122)。
【0300】
第1メモリチップCPおよび第2メモリチップCPのそれぞれは、1回トグルされたリードイネーブル信号REnに基づくデータストローブ信号DQSを返送する(時刻t123)。信号転送/処理回路112cは、チャネルCH1,CH2においてデータ信号DQ[7:0]として出力されている第1ステータス情報を、データストローブ信号DQSのトグルに応じて取り込んで、チャネルCH1,CH2のそれぞれから取り込まれた第1ステータス情報に基づいて第2ステータス情報を生成する。そして、信号転送/処理回路112cは、第2ステータス情報をレジスタ113cに格納する。
【0301】
メモリコントローラMCcは、チャネルCH0において、リードイネーブル信号REnを1回トグルする(時刻t124)。
【0302】
ブリッジチップBCcは、リードイネーブル信号REnのトグルに応じて、レジスタ113cに格納されている第2ステータス情報を出力し、1回トグルされたリードイネーブル信号REnに基づくデータストローブ信号DQSを返送する(時刻t125)。メモリコントローラMCcは、第2ステータス情報をデータストローブ信号DQSのトグルに応じて取り込む。
【0303】
このように、第4の実施形態の変形例3によれば、ブリッジチップBCcは、第1メモリチップCPから出力された第1ステータス情報と第2メモリチップCPから出力された第1ステータス情報との論理積または論理和によって第2ステータス情報を取得する。そして、ブリッジチップBCcは、メモリコントローラMCcからのリードイネーブル信号RE/REnに基づいて第2ステータス情報をメモリコントローラMCcに転送する。
【0304】
2個のステータス情報の内容が1個の第2ステータス情報にマージされるので、2個の第1ステータス情報をシリアルにメモリコントローラMCcに転送する場合に比べて、ステータス情報の転送に要する時間が短縮される。
【0305】
第4の実施形態、第4の実施形態の変形例1、第4の実施形態の変形例2、第4の実施形態の変形例3で述べたように、ブリッジチップBCcは、メモリコントローラMCcから少なくとも第1アドレス情報を含むリードステータスコマンドシーケンスSQrs-0,SQrs-0a,またはSQrs-0bを受信した場合、第1アドレス情報を含むリードステータスコマンドシーケンスSQrs-1,SQrs-1a,またはSQrs-1bの転送と、第2アドレス情報を含むリードステータスコマンドシーケンスSQrs-2,SQrs-2a,またはSQrs-2bの転送と、を実行する。リードステータスコマンドシーケンスSQrs-1,SQrs-1a,またはSQrs-1bの転送と、リードステータスコマンドシーケンスSQrs-2,SQrs-2a,またはSQrs-2bの転送と、が完了してから時間tWHRが経過した後、チャネルCH0およびチャネルCH1に同時にリードイネーブル信号RE/REnを転送することによって、第1メモリチップCPおよび第2メモリチップCPからステータス情報を同時に(並列的に)取得する。ブリッジチップBCcは、メモリコントローラMCcからリードイネーブル信号RE/REnを受信した場合、第1メモリチップCPおよび第2メモリチップCPから取得したステータス情報をリードイネーブル信号RE/REnに基づいてメモリコントローラMCcに転送する。
【0306】
よって、複数のメモリチップからステータス情報を取得するために要する時間が抑制される。
【0307】
第1の実施形態、第2の実施形態、第2の実施形態の変形例、第3の実施形態、第4の実施形態、第4の実施形態の変形例1、第4の実施形態の変形例2、第4の実施形態の変形例3では、コマンドおよびアドレス情報は、データ信号DQ[7:0]として転送された。コマンドまたはアドレス情報は、データ信号DQ[7:0]と異なる他の信号を転送する1以上の信号線を介して転送されてもよい。
【0308】
例えば、コマンドまたはアドレス情報は、アドレスラッチイネーブル信号ALEを転送する信号線およびコマンドラッチイネーブル信号CLEを転送する信号線を介して2ビット幅の信号として転送されてもよい。その場合、ライトイネーブル信号WEnがクロック信号として使用されてもよい。アドレスラッチイネーブル信号ALEを転送する信号線およびコマンドラッチイネーブル信号CLEを転送する信号線を介して転送される情報がコマンドであるかアドレス情報であるかは、例えば、転送開始時の1から数ビットに相当するアドレスラッチイネーブル信号ALEの論理とコマンドラッチイネーブル信号CLEの論理との組み合わせによって通知され得る。クロック信号の立ち上がりエッジ、立ち下りエッジ、またはそれら両方が、コマンドまたはアドレス情報の取り込みタイミングとして使用され得る。
【0309】
または、コマンドまたはアドレス情報は、アドレスラッチイネーブル信号ALEを転送する信号線およびコマンドラッチイネーブル信号CLEを転送する信号線のうちのひとつを介して1ビット幅の信号として転送されてもよい。その場合、アドレスラッチイネーブル信号ALEを転送する信号線およびコマンドラッチイネーブル信号CLEを転送する信号線のうちの他のひとつが、クロック信号を転送する信号線として使用されてもよいし、ライトイネーブル信号WEnがクロック信号として使用されてもよい。クロック信号の立ち上がりエッジ、立ち下りエッジ、またはそれら両方が、コマンドまたはアドレス情報の取り込みタイミングとして使用され得る。
【0310】
なお、第1の実施形態、第2の実施形態、第2の実施形態の変形例、第3の実施形態、第4の実施形態、第4の実施形態の変形例1、第4の実施形態の変形例2、第4の実施形態の変形例3では、ブリッジチップBC,BCa,BCb,またはBCcが2つのチャネルCH1,CH2によって複数のメモリチップCPに接続される構成例を説明した。全ての実施形態および全ての変形例は、ブリッジチップBC,BCa,BCb,またはBCcが3以上のチャネルによって複数のメモリチップCPに接続される場合であっても適用され得る。ブリッジチップBC,BCa,BCb,またはBCcが3以上のチャネルによって複数のメモリチップCPに接続される構成において、それぞれ異なるチャネルに接続される3以上のメモリチップのうちのひとつを第1メモリチップCPとして見なし、3以上のメモリチップのうちの第1メモリチップCPを除くそれぞれのメモリチップを第2メモリチップCPと見なすことで、当該構成に第1の実施形態、第2の実施形態、第2の実施形態の変形例、第3の実施形態、第4の実施形態、第4の実施形態の変形例1、第4の実施形態の変形例2、および第4の実施形態の変形例3を適用することが可能である。
【0311】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0312】
1,1a,1b,1c 半導体記憶装置、10 外部端子群、21 プロセッサ、22 メモリ、101 第1インタフェース、102-1,102-2 第2インタフェース、103,103a,103b,103c コントローラ、104 バッファメモリ、111,111a,111c コマンドデコーダ、112,112a,112b,112c 信号転送/処理回路、113,113c レジスタ、201 メモリセルアレイ、202 ページバッファ、203 データキャッシュ、204 サブアレイ、300 ブロック管理情報、301 第1情報、302 第2情報。