(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-15
(45)【発行日】2024-03-26
(54)【発明の名称】メモリシステム
(51)【国際特許分類】
G06F 12/00 20060101AFI20240318BHJP
G06F 12/06 20060101ALI20240318BHJP
G06F 12/0862 20160101ALI20240318BHJP
【FI】
G06F12/00 560B
G06F12/00 597U
G06F12/06 525B
G06F12/0862 100
(21)【出願番号】P 2022572829
(86)(22)【出願日】2020-12-28
(86)【国際出願番号】 JP2020049130
(87)【国際公開番号】W WO2022144969
(87)【国際公開日】2022-07-07
【審査請求日】2023-03-22
(73)【特許権者】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】菅原 昭雄
(72)【発明者】
【氏名】藤生 政樹
【審査官】後藤 彰
(56)【参考文献】
【文献】特開2003-233529(JP,A)
【文献】特開2005-267148(JP,A)
【文献】特開2008-59057(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00
G06F 12/06
G06F 12/0862
(57)【特許請求の範囲】
【請求項1】
第1プレーンと、第1入出力回路とを含む第1チップと、
前記第1チップを制御するためのコマンドを発行可能なコントローラと
を備え、
前記第1プレーンは、複数の第1メモリセルトランジスタを有する第1メモリセルアレイと、前記第1メモリセルアレイから読み出された第1読み出しデータを記憶可能な第1ラッチ回路とを含み、
前記第1入出力回路は、前記第1ラッチ回路から前記第1読み出しデータを取り込み可能な第1FIFO回路を含み、
前記コントローラは、前記第1プレーンにおいて読み出し動作を実行している期間内に、前記第1チップに、前記第1ラッチ回路から前記第1FIFO回路への前記第1読み出しデータの取り込みを命令する第1コマンドを送信可能である、メモリシステム。
【請求項2】
前記第1プレーンにおいて読み出し動作を実行している期間内に、前記第1ラッチ回路から前記第1FIFO回路に前記第1読み出しデータが取り込まれる、請求項1記載のメモリシステム。
【請求項3】
前記メモリシステムは、第2プレーンと、第2入出力回路とを含む第2チップを更に備え、
前記第2プレーンは、複数の第2メモリセルトランジスタを有する第2メモリセルアレイと、前記第2メモリセルアレイから読み出された第2読み出しデータを記憶可能な第2ラッチ回路とを含み、
前記第2入出力回路は、前記第2ラッチ回路から前記第2読み出しデータを取り込み可能な第2FIFO回路を含み、
前記コントローラは、前記第2チップを制御するためのコマンドを発行可能であり、
前記コントローラは、前記第1チップに前記第1コマンドを送信した後、前記第2プレーンにおいて読み出し動作を実行している期間内に、前記第2チップに、前記第2ラッチ回路から前記第2FIFO回路への前記第2読み出しデータの取り込みを命令する第2コマンドを送信可能である、請求項1記載のメモリシステム。
【請求項4】
前記第2プレーンにおいて読み出し動作を実行している期間内に、前記第2ラッチ回路から前記第2FIFO回路に前記第2読み出しデータが取り込まれる、請求項3記載のメモリシステム。
【請求項5】
前記第1チップは、第3プレーンを更に含み、
前記第3プレーンは、複数の第3メモリセルトランジスタを有する第3メモリセルアレイと、前記第3メモリセルアレイから読み出された第3読み出しデータを記憶可能な第3ラッチ回路とを含み、
前記第1FIFO回路は、前記第3ラッチ回路から前記第3読み出しデータを取り込み可能であり、
前記コントローラは、前記第2チップに前記第2コマンドを送信した後、前記第1チップに、前記第1FIFO回路から前記コントローラへの前記第1読み出しデータの出力を命令する第3コマンドを送信し、前記第3コマンドに基づいて前記第1FIFO回路から前記コントローラに前記第1読み出しデータが出力された後、前記第1チップに、前記第3ラッチ回路から前記第1FIFO回路への前記第3読み出しデータの取り込みを命令する第4コマンドを送信する、請求項3記載のメモリシステム。
【請求項6】
前記第1チップは、第2プレーンを更に含み、
前記第2プレーンは、複数の第2メモリセルトランジスタを有する第2メモリセルアレイと、前記第2メモリセルアレイから読み出された第2読み出しデータを記憶可能な第2ラッチ回路とを含み、
前記第1入出力回路は、前記第2ラッチ回路から前記第2読み出しデータを取り込み可能な第2FIFO回路を更に含み、
前記コントローラは、前記第2プレーンにおいて読み出し動作を実行している期間内に、前記第1チップに、前記第2ラッチ回路から前記第2FIFO回路への前記第2読み出しデータの取り込みを命令する第2コマンドを送信可能である、請求項1記載のメモリシステム。
【請求項7】
前記第2プレーンにおいて読み出し動作を実行している期間内に、前記第2ラッチ回路から前記第2FIFO回路に前記第2読み出しデータが取り込まれる、請求項6記載のメモリシステム。
【請求項8】
前記第1チップは、第3プレーンを更に含み、
前記第3プレーンは、複数の第3メモリセルトランジスタを有する第3メモリセルアレイと、前記第3メモリセルアレイから読み出された第3読み出しデータを記憶可能な第3ラッチ回路とを含み、
前記第1FIFO回路は、前記第3ラッチ回路から前記第3読み出しデータを取り込み可能であり、
前記コントローラは、前記第1チップに前記第2コマンドを送信した後、前記第1チップに、前記第1FIFO回路から前記コントローラへの前記第1読み出しデータの出力を命令する第3コマンドを送信し、前記第3コマンドに基づいて前記第1FIFO回路から前記コントローラに前記第1読み出しデータが出力された後、前記第1チップに、前記第3ラッチ回路から前記第1FIFO回路への前記第3読み出しデータの取り込みを命令する第4コマンドを送信する、請求項6記載のメモリシステム。
【請求項9】
前記第1チップは、第2プレーンを更に含み、
前記第2プレーンは、複数の第2メモリセルトランジスタを有する第2メモリセルアレイと、前記第2メモリセルアレイから読み出された第2読み出しデータを記憶可能な第2ラッチ回路とを含み、
前記第1FIFO回路は、前記第2ラッチ回路から前記第2読み出しデータを取り込み可能であり、
前記コントローラは、前記第1チップに前記第1コマンドを送信した後、前記第1チップに、前記第1FIFO回路から前記コントローラへの前記第1読み出しデータの出力を命令する第2コマンドを送信し、前記第2コマンドに基づいて前記第1FIFO回路から前記コントローラに前記第1読み出しデータが出力されている期間内に、前記第2ラッチ回路から前記第1FIFO回路に前記第2読み出しデータが取り込まれる、請求項1記載のメモリシステム。
【請求項10】
前記メモリシステムは、前記第1FIFO回路と前記第1ラッチ回路との接続、及び前記第1FIFO回路と前記第2ラッチ回路との接続を切り替えるスイッチを更に備え、
前記第1ラッチ回路から前記第1FIFO回路に前記第1読み出しデータが転送された後、前記スイッチは、前記第1FIFO回路と前記第1ラッチ回路との接続から、前記第1FIFO回路と前記第2ラッチ回路との接続に切り替えられる、請求項9記載のメモリシステム。
【請求項11】
前記コントローラは、前記第1プレーン及び前記第2プレーンにおいて読み出し動作を実行している期間内に、前記第1チップに前記第1コマンドを送信可能である、請求項9記載のメモリシステム。
【請求項12】
第1プレーンと、第2プレーンと、入出力回路とを含むチップと、
前記チップを制御するためのコマンドを発行可能なコントローラと
を備え、
前記第1プレーンは、複数の第1メモリセルトランジスタを有する第1メモリセルアレイと、前記第1メモリセルアレイから読み出された第1読み出しデータを記憶可能な第1ラッチ回路とを含み、
前記第2プレーンは、複数の第2メモリセルトランジスタを有する第2メモリセルアレイと、前記第2メモリセルアレイから読み出された第2読み出しデータを記憶可能な第2ラッチ回路とを含み、
前記入出力回路は、前記第1ラッチ回路から前記第1読み出しデータを取り込み可能、且つ前記第2ラッチ回路から前記第2読み出しデータを取り込み可能なFIFO回路を含み、
前記コントローラは、前記チップに、前記第2ラッチ回路から前記FIFO回路への前記第2読み出しデータの取り込みを命令する第1コマンドを送信し、
前記コントローラは、前記チップに前記第1コマンドを送信した後、且つ前記FIFO回路から前記コントローラへの前記第2読み出しデータの出力が開始される前に、前記第1プレーンに対して、前記第1メモリセルアレイから前記第1ラッチ回路への前記第1読み出しデータの読み出しを実行する第2コマンドを発行する、メモリシステム。
【発明の詳細な説明】
【技術分野】
【0001】
実施形態は、メモリシステム、及び、メモリシステムに含まれる半導体記憶装置に関する。
【背景技術】
【0002】
半導体記憶装置としてNAND型フラッシュメモリを含むメモリシステムが知られている。
【先行技術文献】
【特許文献】
【0003】
【文献】米国特許出願公開第2019/0080763号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
動作を高速化できるメモリシステムを提供する。
【課題を解決するための手段】
【0005】
本実施形態に係るメモリシステムは、第1プレーンと、第1入出力回路とを含む第1チップと、第1チップを制御するためのコマンドを発行可能なコントローラとを備える。第1プレーンは、複数の第1メモリセルトランジスタを有する第1メモリセルアレイと、第1メモリセルアレイから読み出された第1読み出しデータを記憶可能な第1ラッチ回路とを含む。第1入出力回路は、第1ラッチ回路から第1読み出しデータを取り込み可能な第1FIFO回路を含む。コントローラは、第1プレーンにおいて読み出し動作を実行している期間内に、第1チップに、第1ラッチ回路から第1FIFO回路への第1読み出しデータの取り込みを命令する第1コマンドを送信可能である。
【図面の簡単な説明】
【0006】
【
図1】
図1は、第1実施形態に係るメモリシステムのブロック図である。
【
図2】
図2は、第1実施形態に係るメモリシステムに含まれる半導体記憶装置のブロック図である。
【
図3】
図3は、第1実施形態に係るメモリシステムに含まれる半導体記憶装置内のNANDチップのブロック図である。
【
図4】
図4は、第1実施形態に係るメモリシステムに含まれるNANDチップの構成を、プレーンに着目して示したブロック図である。
【
図5】
図5は、第1実施形態に係るメモリシステムに含まれるプレーン内のメモリセルアレイの回路図である。
【
図6】
図6は、第1実施形態に係るメモリシステムに含まれるNANDチップの構成を、入出力回路及びレジスタに着目して示したブロック図である。
【
図7】
図7は、第1実施形態に係るメモリシステムに含まれる入出力回路内のFIFO(first In first Out)回路の一例を示すブロック図である。
【
図8】
図8は、第1実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図9】
図9は、第1実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図10】
図10は、第1実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図11】
図11は、第1実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図12】
図12は、第1実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図13】
図13は、第1実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図14】
図14は、第1実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図15】
図15は、第1実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図16】
図16は、第1実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図17】
図17は、第1実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図18】
図18は、第2実施形態に係るメモリシステムに含まれるNANDチップの構成を、入出力回路及びレジスタに着目して示したブロック図である。
【
図19】
図19は、第2実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図20】
図20は、第2実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図21】
図21は、第2実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図22】
図22は、第2実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図23】
図23は、第2実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図24】
図24は、第3実施形態に係るメモリシステムに含まれるNANDチップの構成を、入出力回路及びレジスタに着目して示したブロック図である。
【
図25】
図25は、第3実施形態に係るメモリシステムの読み出し動作におけるデータフローの概要を説明する図である。
【
図26】
図26は、第3実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図27】
図27は、第3実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図28】
図28は、第3実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図29】
図29は、第3実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図30】
図30は、第4実施形態に係るメモリシステムに含まれるNANDチップの構成を、入出力回路及びレジスタに着目して示したブロック図である。
【
図31】
図31は、第4実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図32】
図32は、第4実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図33】
図33は、第4実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図34】
図34は、第4実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図35】
図35は、第4実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図36】
図36は、第5実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図37】
図37は、第5実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図38】
図38は、第5実施形態に係るメモリシステムの読み出し動作におけるコマンドシーケンスの一例を示す図である。
【
図39】
図39は、比較例に係るNANDチップの動作を示す図である。
【
図40】
図40は、第1実施形態に係るメモリシステムに含まれるNANDチップの動作を示す図である。
【発明を実施するための形態】
【0007】
以下、実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【0008】
1.第1実施形態
第1実施形態に係るメモリシステムについて説明する。以下では、半導体記憶装置としてNAND型フラッシュメモリ(以下、「NANDチップ」と表記する)を含むメモリシステムを例に挙げて説明する。
【0009】
1.1 構成
1.1.1 メモリシステムの全体構成
本実施形態に係るメモリシステムの全体構成について、
図1を用いて説明する。
図1は、本実施形態に係るメモリシステムのブロック図である。
【0010】
メモリシステム100は、半導体記憶装置200、及びメモリコントローラ300を含む。メモリシステム100は、ホストデバイス(以下、単に「ホスト」と表記する)400によって制御される。メモリシステム100は、ホスト400から受信する要求信号に基づく処理を行う。メモリシステム100は、例えばSSD(solid state drive)、USB(Universal Serial Bus)メモリ、MMC(Multi-Media Card)、またはSDTMカードである。ホスト400は、例えばデジタルカメラやパーソナルコンピュータである。
【0011】
半導体記憶装置200は、例えば、I/Fチップと、NANDチップを含み、データを不揮発に記憶する。NANDチップは半導体記憶装置200内に複数設けられてもよい。また、I/Fチップは省略されてもよい。この場合、NANDチップが半導体記憶装置として機能する。半導体記憶装置200は、メモリコントローラ300によって制御される。なお、半導体記憶装置200は、メモリシステム100内に複数設けられてもよい。この場合、複数の半導体記憶装置200は、メモリコントローラ300の制御により、それぞれが独立して動作可能である。
【0012】
メモリコントローラ300は、ホスト400からホストバスを介して要求信号を受信する。ホストバスのタイプ及びホストバスを介して伝送される要求信号は、メモリシステム100に適用されるアプリケーションに依存する。メモリシステム100がSSDである場合、ホストバスとして、例えばSAS(Serial Attached SCSI)、SATA(Serial ATA)、PCIeTM(Programmable Communications Interface Express)、またはUFS(Universal Flash Storage)規格のインターフェースが用いられる。メモリシステム100がUSBメモリである場合、ホストバスとしてUSBが用いられる。メモリシステム100がMMCの場合、ホストバスとしてeMMC規格のインターフェースが用いられる。メモリシステム100がSDTMカードの場合、ホストバスとしてSDTM規格のインターフェースが用いられる。
【0013】
メモリコントローラ300は、ホスト400から受信した要求信号に基づいて、半導体記憶装置200を制御する。そのために、メモリコントローラ300は、NANDバスを介して半導体記憶装置200と接続されている。NANDバスは、NANDインターフェースに従った信号の送受信を行う。この信号の具体例は、チップイネーブル信号CEn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、リードイネーブル信号REn及びRE、ライトプロテクト信号WPn、データストローブ信号DQS及びDQSn、入出力信号DQ、及びレディ/ビジー信号RBnである。
【0014】
信号CEnは、半導体記憶装置200内のNANDチップをイネーブルにするための信号であり、例えばLow(“L”)レベルでアサートされる。なお、「アサート」とは、信号(または論理)が有効(アクティブ)な状態とされていることを意味する。信号CLEは、信号DQがコマンドであることを示す信号であり、例えばHigh(“H”)レベルでアサートされる。信号ALEは、信号DQがアドレスであることを示す信号であり、例えば“H”レベルでアサートされる。信号WEnは、受信した信号を半導体記憶装置200内へ取り込むための信号であり、例えば“L”レベルでアサートされる。WEnがトグルされるたびに、半導体記憶装置200は、信号DQを取り込む。信号REn及びREは、メモリコントローラ300が、半導体記憶装置200からデータを読み出すための信号である。信号REnは信号REの反転信号である。信号REn及びREがトグルされるたびに、半導体記憶装置200は、メモリコントローラ300に信号DQを出力する。信号WPnは、半導体記憶装置200の書き込みまたは消去を禁止するための信号であり、例えば“L”レベルでアサートされる。信号CEn、CLE、ALE、WEn、REn、RE、及びWPnは、メモリコントローラ300から半導体記憶装置200に送信される。
【0015】
信号DQS及びDQSnは、信号DQの送受信のタイミングを制御するために使用される。信号DQSnは信号DQSの反転信号である。例えば、データの書き込み時には、書き込みデータDQと共に信号DQS及び信号DQSnがメモリコントローラ300から半導体記憶装置200に送信される。半導体記憶装置200は、信号DQS及び信号DQSnに同期して書き込みデータDQを受信する。また、データの読み出し時には、読み出しデータDQと共に信号DQS及び信号DQSnが半導体記憶装置200からメモリコントローラ300に送信される。信号DQS及び信号DQSnは、前述の信号REnに基づいて生成される。メモリコントローラ300は、信号DQS及び信号DQSnに同期して読み出しデータDQを受信する。
【0016】
入出力信号DQは、例えば、8ビットの信号(以下、8個の信号DQを区別する場合は、それぞれDQ0~DQ7と表記し、区別しない場合は、単に信号DQと表記する)である。入出力信号DQは、半導体記憶装置200とメモリコントローラ300との間で送受信されるデータの実体であり、例えばコマンドCMD、アドレスADD、書き込みデータまたは読み出しデータDAT、及びステータス情報STSである。
【0017】
信号RBnは、半導体記憶装置200内のNANDチップがビジー状態であるかレディ状態であるかを示す信号であり、例えばNANDチップがビジー状態のときに“L”レベルとされる。信号RBnがレディ状態の場合、NANDチップは、メモリコントローラ300からコマンドを受信可能であり、信号RBnがビジー状態の場合、NANDチップは、メモリコントローラ300からコマンドを受信不可能である。信号RBnは、半導体記憶装置200からメモリコントローラ300に送信される。
【0018】
メモリコントローラ300は、ホストインターフェース回路(ホストI/F)310、メモリインターフェース回路(メモリI/F)320、ROM(read only memory)330、CPU(central processing unit)340、及びRAM(random access memory)350を含む。
【0019】
ホストインターフェース回路310は、ホストバスを介してホスト400と接続され、メモリコントローラ300とホスト400との通信を司る。
【0020】
メモリインターフェース回路320は、NANDバスを介して半導体記憶装置200と接続され、メモリコントローラ300と半導体記憶装置200との通信を司る。
【0021】
ROM330は、メモリコントローラ300が種々の動作、並びにホストインターフェース回路310及びメモリインターフェース回路320の機能の一部を実行するためのファームウェア(プログラム)を記憶する。ファームウェアは、メモリコントローラ300に、各実施形態として記述される動作を行わせることができるように構成されている。
【0022】
CPU340は、メモリコントローラ300全体の動作を制御する。例えば、CPU340は、ホスト400から読み出しに関する要求信号を受信した際には、それに基づいて、メモリインターフェース回路320に半導体記憶装置200への読み出しコマンドを発行させる。CPU340は、ホスト400から書き込みに関する要求信号を受信した際も、同様の動作を行う。
【0023】
RAM350は、CPU340の作業領域として使用される。RAM350は、例えばDRAMやSRAM等の半導体メモリである。RAM350は、例えば上述のファームウェアを記憶する。上述のファームウェアは、例えばメモリシステム100のパワーオン直後に、メモリコントローラ300によってRAM350にロードされる。
【0024】
1.1.2 半導体記憶装置200の構成
半導体記憶装置200の構成について、
図2を用いて説明する。
図2は、本実施形態に係るメモリシステム100に含まれる半導体記憶装置200のブロック図である。
【0025】
半導体記憶装置200は、I/Fチップ210、NANDチップ0(CP0)、及びNANDチップ1(CP1)を含む。I/Fチップ210は、NANDバスを介してメモリコントローラ300と接続され、メモリコントローラ300と、NANDチップ0(CP0)及びNANDチップ1(CP1)との通信を司る。NANDチップ0(CP0)及びNANDチップ1(CP1)は、NAND型フラッシュメモリである。以下、「NANDチップ0」を単に「チップ0」、「NANDチップ1」を単に「チップ1」とそれぞれ表記することもある。なお、半導体記憶装置200内に設けられるNANDチップの個数は、2個に限定されるものではなく、1個でもよく、2個より多くてもよい。NANDチップ0(CP0)及びNANDチップ1(CP1)は、メモリコントローラ300によって制御される。NANDチップ0(CP0)及びNANDチップ1(CP1)は、共通のデータバスDBに接続される。なお、NANDチップは、必ずしも共通のデータバスDBにより接続される必要はなく、1つのデータバスDBに複数のNANDチップが接続された構成であればよい。
【0026】
メモリコントローラ300は、NANDチップ毎に異なる信号CEnを送信してもよく、複数のNANDチップに対して共通の信号CEnを送信してもよい。例えば、NANDチップ毎に異なる信号CEnが送信される場合、信号CEnは、NANDチップ0(CP0)及びNANDチップ1(CP1)にそれぞれ対応する信号CEn1及びCEn2を含む。また、複数のNANDチップに共通の信号CEnが送信される場合、NANDチップは、信号CEnとNANDチップを指定するアドレスとに基づいて選択される。信号RBnは、NANDチップ0(CP0)及びNANDチップ1(CP1)にそれぞれ対応する信号RBn1及びRBn2を含む。なお、信号RBnの個数は、半導体記憶装置200内に設けられるNANDチップの個数と同じ数とされる。
【0027】
I/Fチップ210は、信号CEn1、CEn2、CLE、ALE、WEn、REn、RE、WPn、DQS、DQSn、及びDQをメモリコントローラ300から受信する。I/Fチップ210は、受信した信号CLE、ALE、WEn、REn、RE、WPn、DQS、DQSn、及びDQを、データバスDBを介してNANDチップ0(CP0)及びNANDチップ1(CP1)に送信する。I/Fチップ210は、受信した信号CEn1を、NANDチップ0(CP0)に送信する。I/Fチップ210は、受信した信号CEn2を、NANDチップ1(CP1)に送信する。
【0028】
I/Fチップ210は、信号DQS、DQSn、及びDQをNANDチップ0(CP0)及びNANDチップ1(CP1)から受信する。I/Fチップ210は、受信した信号DQS、DQSn、及びDQをメモリコントローラ300に送信する。
【0029】
NANDチップ0(CP0)は、信号RBn1をメモリコントローラ300に送信する。NANDチップ1(CP1)は、信号RBn2をメモリコントローラ300に送信する。
【0030】
NANDチップ0(CP0)及びNANDチップ1(CP1)のうち、選択された1つにデータが書き込まれる。また、NANDチップ0(CP0)及びNANDチップ1(CP1)のうち、選択された1つからデータが読み出される。
【0031】
1.1.3 NANDチップ0(CP0)の構成
NANDチップ0(CP0)の構成について、
図3を用いて説明する。
図3は、本実施形態に係るメモリシステム100に含まれる半導体記憶装置200内のNANDチップ0(CP0)のブロック図である。なお、
図3では、各ブロック間の接続の一部を矢印線で示しているが、ブロック間の接続はこれに限定されない。以下では、NANDチップ0(CP0)について説明するが、NANDチップ1(CP1)も同じ構成を有する。
【0032】
NANDチップ0(CP0)は、入出力回路10、レジスタ20、シーケンサ30、電圧生成回路40、及びプレーン0~プレーン3(PL0~PL3)を含む。
【0033】
入出力回路10は、メモリコントローラ300から信号CEn1、CLE、ALE、WEn、REn、RE、及びWPnを受信する。入出力回路10は、メモリコントローラ300との間で信号DQS、DQSn、及びDQを送受信する。入出力回路10は、メモリコントローラ300に信号RBn1を送信する。
【0034】
レジスタ20は、ステータスレジスタ21、アドレスレジスタ22、及びコマンドレジスタ23を含む。ステータスレジスタ21は、例えばデータの書き込み、読み出し、及び消去動作におけるステータス情報STSを一時的に記憶する。アドレスレジスタ22は、入出力回路10を介してメモリコントローラ300から受信したアドレスADDを一時的に記憶する。このアドレスADDには、ロウアドレスRA及びカラムアドレスCAが含まれる。コマンドレジスタ23は、入出力回路10を介してメモリコントローラ300から受信したコマンドCMDを一時的に記憶する。
【0035】
シーケンサ30は、NANDチップ0(CP0)全体の動作を制御する。シーケンサ30は、コマンドレジスタ23からコマンドCMDを受信する。シーケンサ30は、受信したコマンドCMDに基づいて、入出力回路10、ステータスレジスタ21、電圧生成回路40、及びプレーン0~プレーン3(PL0~PL3)を制御し、書き込み、読み出し、及び消去動作等を実行する。
【0036】
電圧生成回路40は、NANDチップ0(CP0)の外部から電源電圧を受信し、シーケンサ30の制御に基づいて電源電圧から種々の電圧を生成する。電圧生成回路40は、生成した電圧をプレーン0~プレーン3(PL0~PL3)に印加する。
【0037】
プレーン0~プレーン3(PL0~PL3)は、シーケンサ30によって独立に制御される。プレーン0~プレーン3(PL0~PL3)は、後述するメモリセルトランジスタへのデータの書き込み、及び後述するメモリセルトランジスタからのデータの読み出しを行うユニットである。プレーン0~プレーン3(PL0~PL3)は、データを書き込むときには、入出力回路10を介してメモリコントローラ300から書き込みデータDATを受信する。また、プレーン0~プレーン3(PL0~PL3)は、データを読み出すときには、読み出されたデータDATを、入出力回路10を介してメモリコントローラ300に送信する。
【0038】
プレーン0(PL0)の構成について、
図4を用いて説明する。
図4は、本実施形態に係るメモリシステム100に含まれるNANDチップ0(CP0)の構成を、プレーン0(PL0)に着目して示したブロック図である。以下では、プレーン0(PL0)について説明するが、プレーン1(PL1)、プレーン2(PL2)、及びプレーン3(PL3)も同じ構成を有する。なお、
図4では、ステータスレジスタ21、コマンドレジスタ23、及びプレーン1~プレーン3(PL1~PL3)は省略されている。
【0039】
プレーン0(PL0)は、メモリセルアレイ51A、ロウデコーダ52A、センスアンプ53A、データレジスタ54A、及びカラムデコーダ55Aを含む。
【0040】
メモリセルアレイ51Aは、ロウ及びカラムに対応付けられた不揮発性のメモリセルトランジスタを含む複数のブロックBLK(BLK0~BLKn、但しnは1以上の自然数)を有する。なお、メモリセルアレイ51A内のブロックBLKの個数は任意である。メモリセルアレイ51Aの詳細については後述される。メモリセルアレイ51Aには、電圧生成回路40から電圧が印加される。
【0041】
ロウデコーダ52Aは、シーケンサ30によって制御される。ロウデコーダ52Aは、アドレスレジスタ22からロウアドレスRAを受信する。ロウデコーダ52Aは、受信したロウアドレスRAをデコードし、デコード結果に基づいて、選択されたメモリセルトランジスタに、電圧生成回路40から供給された電圧を印加する。
【0042】
センスアンプ53Aは、シーケンサ30によって制御される。センスアンプ53Aには、電圧生成回路40から電圧が印加される。センスアンプ53Aは、データを読み出すときには、メモリセルアレイ51Aから読み出されたデータDATをセンスする。センスアンプ53Aは、読み出されたデータDATをデータレジスタ54Aに送信する。また、センスアンプ53Aは、データを書き込むときには、書き込みデータDATをメモリセルアレイ51Aに送信する。
【0043】
データレジスタ54Aは、シーケンサ30によって制御される。データレジスタ54Aには、電圧生成回路40から電圧が印加される。データレジスタ54Aは、図示せぬ複数のラッチ回路を含む。ラッチ回路は、書き込みデータ及び読み出しデータDATを記憶する。例えば、データを書き込むときには、データレジスタ54Aは、入出力回路10から受信した書き込みデータDATを一時的に記憶し、センスアンプ53Aに送信する。また、データを読み出すときには、データレジスタ54Aは、センスアンプ53Aから受信した読み出しデータDATを一時的に記憶し、入出力回路10に送信する。
【0044】
カラムデコーダ55Aは、シーケンサ30によって制御される。カラムデコーダ55Aには、電圧生成回路40から電圧が印加される。カラムデコーダ55Aは、アドレスレジスタ22からカラムアドレスCAを受信する。カラムデコーダ55Aは、例えば書き込み、読み出し、及び消去動作の際、カラムアドレスCAをデコードし、デコード結果に応じてデータレジスタ54A内のラッチ回路を選択する。
【0045】
1.1.4 メモリセルアレイ51Aの回路構成
メモリセルアレイ51Aの回路構成について、
図5を用いて説明する。
図5は、本実施形態に係るメモリシステム100に含まれるプレーン0(PL0)内のメモリセルアレイ51Aの回路図である。
【0046】
図5は、メモリセルアレイ51Aの回路構成の一例を、メモリセルアレイ51Aに含まれる複数のブロックBLKのうち1個のブロックBLKを抽出して示している。他のブロックBLKも、全て
図5に示される構成を有する。
【0047】
ブロックBLKは、例えば4個のストリングユニットSU0~SU3を含んでいる。なお、ブロックBLK内のストリングユニットSUの個数は任意である。各ストリングユニットSUは、複数のNANDストリングNSを含んでいる。複数のNANDストリングNSは、それぞれビット線BL0~BLm(mは1以上の自然数)に関連付けられている。各NANDストリングNSは、例えばメモリセルトランジスタMC0~MC7、並びに選択トランジスタST1及びST2を含んでいる。メモリセルトランジスタMCは、制御ゲート及び電荷蓄積層を含み、データを不揮発に記憶する。選択トランジスタST1及びST2のそれぞれは、各種動作時におけるストリングユニットSUの選択に使用される。
【0048】
各NANDストリングNSにおいて、メモリセルトランジスタMC0~MC7は、直列接続される。同一のブロックBLKにおいて、メモリセルトランジスタMC0~MC7の制御ゲートは、それぞれワード線WL0~WL7に共通に接続される。
【0049】
各NANDストリングNSにおいて、選択トランジスタST1のドレインは、関連付けられたビット線BLに接続され、選択トランジスタST1のソースは、直列接続されたメモリセルトランジスタMC0~MC7の一端に接続される。同一のブロックBLKにおいて、ストリングユニットSU0~SU3内の選択トランジスタST1のゲートは、それぞれ選択ゲート線SGD0~SGD3に共通に接続される。
【0050】
各NANDストリングNSにおいて、選択トランジスタST2のドレインは、直列接続されたメモリセルトランジスタMC0~MC7の他端に接続される。同一のブロックBLKにおいて、選択トランジスタST2のソースは、ソース線SLに接続され、選択トランジスタST2のゲートは、選択ゲート線SGSに共通に接続される。
【0051】
以上で説明したメモリセルアレイ51Aの回路構成において、ビット線BLは、例えばブロックBLK毎に対応する複数のNANDストリングNS間で共有される。ソース線SLは、例えば複数のブロックBLK間で共有される。
【0052】
1.1.5 入出力回路10の構成
入出力回路10の構成について、
図6を用いて説明する。
図6は、本実施形態に係るメモリシステム100に含まれるNANDチップ0(CP0)の構成を、入出力回路10及びレジスタ20に着目して示したブロック図である。なお、
図6では、ステータスレジスタ21及び電圧生成回路40は省略されている。
【0053】
プレーン0(PL0)と同様に、プレーン1(PL1)は、メモリセルアレイ51B、ロウデコーダ52B、センスアンプ53B、データレジスタ54B、及びカラムデコーダ55Bを含む。プレーン2(PL2)は、メモリセルアレイ51C、ロウデコーダ52C、センスアンプ53C、データレジスタ54C、及びカラムデコーダ55Cを含む。プレーン3(PL3)は、メモリセルアレイ51D、ロウデコーダ52D、センスアンプ53D、データレジスタ54D、及びカラムデコーダ55Dを含む。以下、メモリセルアレイ51A~51Dを区別しない場合は、単にメモリセルアレイ51と表記し、データレジスタ54A~54Dを区別しない場合は、単にデータレジスタ54と表記する。
【0054】
入出力回路10は、DQパッド11及びFIFO回路12を含む。DQパッド11は、入出力回路10とNANDバスとを接続する。また、DQパッド11は、FIFO回路12を介してデータレジスタ54A~54Dに接続される。DQパッド11は、NANDチップ0(CP0)の外部から、ある出力インピーダンスを有する1つの出力端子として認識され得る。
【0055】
FIFO回路12は、プレーン0~プレーン3(PL0~PL3)から読み出されたデータDATを後述のライトクロックWclkに基づいて取り込む。また、FIFO回路12は、記憶している信号を後述のリードクロックRclkに基づいてDQパッド11に送信する。FIFO回路12の詳細については後述される。
【0056】
1.1.6 レジスタ20の構成
レジスタ20の構成について、
図6を用いて説明する。
【0057】
アドレスレジスタ22は、ロウアドレスレジスタ0(RR0)~ロウアドレスレジスタ3(RR3)、ロウアドレスレジスタ0’(RR0’)~ロウアドレスレジスタ3’(RR3’)、カラムアドレスレジスタ0(CR0)、及びカラムアドレスレジスタ0’(CR0’)を含む。
【0058】
ロウアドレスレジスタ0(RR0)は、入出力回路10及びプレーン0(PL0)に接続され、入出力回路10から受信したプレーン0(PL0)のロウアドレスRAを記憶する。ロウアドレスレジスタ0(RR0)は、ロウアドレスRAをロウデコーダ52Aに送信する。ロウアドレスレジスタ1(RR1)は、入出力回路10及びプレーン1(PL1)に接続され、入出力回路10から受信したプレーン1(PL1)のロウアドレスRAを記憶する。ロウアドレスレジスタ1(RR1)は、ロウアドレスRAをロウデコーダ52Bに送信する。ロウアドレスレジスタ2(RR2)は、入出力回路10及びプレーン2(PL2)に接続され、入出力回路10から受信したプレーン2(PL2)のロウアドレスRAを記憶する。ロウアドレスレジスタ2(RR2)は、ロウアドレスRAをロウデコーダ52Cに送信する。ロウアドレスレジスタ3(RR3)は、入出力回路10及びプレーン3(PL3)に接続され、入出力回路10から受信したプレーン3(PL3)のロウアドレスRAを記憶する。ロウアドレスレジスタ3(RR3)は、ロウアドレスRAをロウデコーダ52Dに送信する。
【0059】
ロウアドレスレジスタ0’(RR0’)は、ロウアドレスレジスタ0(RR0)及びプレーン0(PL0)に接続され、ロウアドレスレジスタ0(RR0)から受信した(コピーされた)ロウアドレスRAを記憶する。ロウアドレスレジスタ0’(RR0’)は、ロウアドレスRAをロウデコーダ52Aに送信する。ロウアドレスレジスタ1’(RR1’)は、ロウアドレスレジスタ1(RR1)及びプレーン1(PL1)に接続され、ロウアドレスレジスタ1(RR1)から受信した(コピーされた)ロウアドレスRAを記憶する。ロウアドレスレジスタ1’(RR1’)は、ロウアドレスRAをロウデコーダ52Bに送信する。ロウアドレスレジスタ2’(RR2’)は、ロウアドレスレジスタ2(RR2)及びプレーン2(PL2)に接続され、ロウアドレスレジスタ2(RR2)から受信した(コピーされた)ロウアドレスRAを記憶する。ロウアドレスレジスタ2’(RR2’)は、ロウアドレスRAをロウデコーダ52Cに送信する。ロウアドレスレジスタ3’(RR3’)は、ロウアドレスレジスタ3(RR3)及びプレーン3(PL3)に接続され、ロウアドレスレジスタ3(RR3)から受信した(コピーされた)ロウアドレスRAを記憶する。ロウアドレスレジスタ3’(RR3’)は、ロウアドレスRAをロウデコーダ52Dに送信する。
【0060】
カラムアドレスレジスタ0(CR0)は、入出力回路10及びプレーン0~プレーン3(PL0~PL3)に接続され、入出力回路10から受信したプレーン0~プレーン3(PL0~PL3)のカラムアドレスCAを記憶する。カラムアドレスレジスタ0’(CR0’)は、カラムアドレスレジスタ0(CR0)及びプレーン0~プレーン3(PL0~PL3)に接続され、カラムアドレスレジスタ0(CR0)から受信した(コピーされた)カラムアドレスCAを記憶する。
【0061】
カラムアドレスレジスタ0(CR0)は、カラムアドレスカウンタ回路CC0を含み、カラムアドレスレジスタ0’(CR0’)は、カラムアドレスカウンタ回路CC0’を含む。カラムアドレスカウンタ回路CC0及びCC0’は、カラムアドレスCAを1ずつインクリメントする。
【0062】
カラムアドレスレジスタ0(CR0)は、カラムデコーダ55A~55DにカラムアドレスCAを送信する。より具体的には、カラムアドレスレジスタ0(CR0)は、カラムアドレスCAで指定されるプレーンの最初のカラムアドレスCAをカラムデコーダ55A~55Dに送信する。最初のカラムアドレスCAがカラムデコーダ55A~55Dに送信されると、カラムアドレスカウンタ回路CC0は、カラムアドレスCAを1だけインクリメントし、カラムアドレスレジスタ0(CR0)は、最初のカラムアドレスCAの次のカラムアドレスCAをカラムデコーダ55A~55Dに送信する。最後のカラムアドレスCAがカラムデコーダ55A~55Dに送信されると、カラムデコーダ55A~55DへのカラムアドレスCAの送信は終了となる。カラムアドレスレジスタ0’(CR0’)は、カラムアドレスレジスタ0(CR0)と同様にカラムデコーダ55A~55DにカラムアドレスCAを送信する。
【0063】
コマンドレジスタ23は、コマンドレジスタ0(MR0)~コマンドレジスタ3(MR3)、及びコマンドレジスタ0’(MR0’)~コマンドレジスタ3’(MR3’)を含む。
【0064】
コマンドレジスタ0(MR0)は、入出力回路10及びシーケンサ30に接続され、入出力回路10から受信したプレーン0(PL0)に関するコマンドCMDを記憶する。コマンドレジスタ0(MR0)は、コマンドCMDをシーケンサ30に送信する。コマンドレジスタ1(MR1)は、入出力回路10及びシーケンサ30に接続され、入出力回路10から受信したプレーン1(PL1)に関するコマンドCMDを記憶する。コマンドレジスタ1(MR1)は、コマンドCMDをシーケンサ30に送信する。コマンドレジスタ2(MR2)は、入出力回路10及びシーケンサ30に接続され、入出力回路10から受信したプレーン2(PL2)に関するコマンドCMDを記憶する。コマンドレジスタ2(MR2)は、コマンドCMDをシーケンサ30に送信する。コマンドレジスタ3(MR3)は、入出力回路10及びシーケンサ30に接続され、入出力回路10から受信したプレーン3(PL3)に関するコマンドCMDを記憶する。コマンドレジスタ3(MR3)は、コマンドCMDをシーケンサ30に送信する。
【0065】
コマンドレジスタ0’(MR0’)は、コマンドレジスタ0(MR0)及びシーケンサ30に接続され、コマンドレジスタ0(MR0)から受信した(コピーされた)コマンドCMDを記憶する。コマンドレジスタ0’(MR0’)は、コマンドCMDをシーケンサ30に送信する。コマンドレジスタ1’(MR1’)は、コマンドレジスタ1(MR1)及びシーケンサ30に接続され、コマンドレジスタ1(MR1)から受信した(コピーされた)コマンドCMDを記憶する。コマンドレジスタ1’(MR1’)は、コマンドCMDをシーケンサ30に送信する。コマンドレジスタ2’(MR2’)は、コマンドレジスタ2(MR2)及びシーケンサ30に接続され、コマンドレジスタ2(MR2)から受信した(コピーされた)コマンドCMDを記憶する。コマンドレジスタ2’(MR2’)は、コマンドCMDをシーケンサ30に送信する。コマンドレジスタ3’(MR3’)及びシーケンサ30は、コマンドレジスタ3(MR3)に接続され、コマンドレジスタ3(MR3)から受信した(コピーされた)コマンドCMDを記憶する。コマンドレジスタ3’(MR3’)は、コマンドCMDをシーケンサ30に送信する。
【0066】
1.1.7 FIFO回路12の構成
FIFO回路12の構成について、
図7を用いて説明する。
図7は、本実施形態に係るメモリシステム100に含まれる入出力回路10内のFIFO回路12の一例を示すブロック図である。
【0067】
FIFO回路12は、マルチプレクサ(以下、「MUX」と表記する)60、フリップフロップ(以下、「FF」と表記する)61~63、MUX64、ライトクロック生成回路65、ライトポインタ生成回路66、リードクロック生成回路67、及びリードポインタ生成回路68を含む。
【0068】
MUX60は、ライトポインタ生成回路66から受信したライトポインタWptrに基づいて、FF61~63のいずれかを選択する。MUX60によって選択されたFFに、データレジスタ54Aから受信した信号が送信される。ライトポインタWptrの詳細については後述される。
【0069】
FF61~63は、MUX60から信号を受信する。FF61~63は、MUX60から受信した信号を、ライトクロックWclkが“L”レベルから“H”レベルに立ち上がるタイミングで取り込み、取り込んだ信号を記憶する。
【0070】
MUX64は、リードポインタ生成回路68から受信したリードポインタRptrに基づいて、FF61~63のいずれかを選択する。リードポインタRptrの詳細については後述される。
【0071】
ライトクロック生成回路65は、FF61~63に信号を取り込むタイミングを規定するライトクロックWclkを生成する。ライトクロック生成回路65は、生成したライトクロックWclkをライトポインタ生成回路66に送信する。
【0072】
ライトポインタ生成回路66は、データレジスタ54Aから受信した信号をFF61~63のうちのどのFFに取り込むかを規定するライトポインタWptrを生成する。ライトポインタWptrは、ライトクロックWclkが“L”レベルから“H”レベルに立ち上がるタイミングでインクリメントされ、これによりライトポインタWptrが生成される。
【0073】
リードクロック生成回路67は、FF61~63のいずれかとMUX64との接続を切り替えるタイミングを規定するリードクロックRclkを生成する。リードクロック生成回路67は、生成したリードクロックRclkをリードポインタ生成回路68に送信する。
【0074】
リードポインタ生成回路68は、FF61~63のうちのどのFFから受信した信号を出力するかを規定するリードポインタRptrを生成する。リードポインタRptrは、リードクロックRclkが“L”レベルから“H”レベルに立ち上がるタイミングでインクリメントされ、これによりリードポインタRptrが生成される。
【0075】
なお、FF61~63は、MUX60とMUX64との間に多段に設けられてもよい。
【0076】
1.2 動作
本実施形態に係るメモリシステム100の動作について、
図8~
図17を用いて説明する。
図8~
図17は、本実施形態に係るメモリシステム100の読み出し動作におけるコマンドシーケンスの一例を示す図である。以下では、信号CEn1及びCEn2が同じ信号(CEn1=CEn2=CEn)であり、チップ0のプレーン0、チップ1のプレーン0、チップ0のプレーン1、チップ1のプレーン1、チップ0のプレーン2、チップ1のプレーン2、チップ0のプレーン3、チップ1のプレーン3の順に繰り返しデータを読み出す場合を例に挙げて説明する。
【0077】
図8~
図17には、チップ0(CP0)及びチップ1(CP1)の各プレーンのキャッシュビジー信号CBも示されている。なお、本明細書において、「キャッシュビジー信号CB」とは、対象のプレーンがビジー状態であるかレディ状態であるかを示す信号を意味する。信号CBは、プレーン毎に設けられており、例えば対応するプレーンがビジー状態のときに“L”レベルとされる。信号CBがビジー状態の場合、対応するプレーンのデータレジスタ54(データDAT)にアクセスできない状態である。信号CBがレディ状態の場合、対応するプレーンのデータレジスタ54(データDAT)にアクセス可能な状態である。信号CBは、ステータスレジスタ21に記憶される。メモリコントローラ300は、ステータスレジスタ21からステータス情報STSを読み出すことにより、各プレーンの信号CBの状態を確認する。以下、チップ0(CP0)のプレーン0~プレーン3(PL0~PL3)の信号CBを、それぞれ信号CB00、信号CB01、信号CB02、及び信号CB03と表記し、チップ1(CP1)のプレーン0~プレーン3(PL0~PL3)の信号CBを、それぞれ信号CB10、信号CB11、信号CB12、及び信号CB13と表記する。なお、信号RBは、シーケンサ30がチップ内の各プレーンの信号CBをAND演算した結果である。例えば、チップ0(CP0)において、プレーン0~プレーン3(PL0~PL3)いずれかの信号CBが“L”レベルである場合、信号RBは“L”レベルとなり、プレーン0~プレーン3(PL0~PL3)すべての信号CBが“H”レベルである場合、信号RBは“H”レベルとなる。これにより、信号RBは、各チップにおいて、すべてのプレーンがレディ状態であるか否かを示す。
【0078】
本実施形態の読み出し動作は、シングルプレーンリードである。なお、本明細書において、「シングルプレーンリード」とは、各プレーンから独立してデータDATを読み出す動作を意味する。
【0079】
まず、
図8~
図9に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のノーマルリードを実行する。なお、本明細書において、「ノーマルリード」とは、対象のプレーンにおいて、メモリセルアレイ51からデータレジスタ54に読み出しデータDATが格納されるまで(信号CBがレディ状態になるまで)、対象プレーンに対する次のコマンドを受け付けない読み出し動作を意味する。
【0080】
より具体的には、メモリコントローラ300は、信号CEnを“L”レベルにした後、チップ0(CP0)のプレーン0(PL0)のノーマルリードを実行するために、コマンド<00h>、アドレス<Ad00>、及びコマンド<30h>を発行する。コマンド“00h”は、読み出しを命令するためのコマンドである。アドレス“Ad00”は、チップ0のプレーン0のアドレスを指定するものである。コマンド“30h”は、シングルプレーンリードにおいてノーマルリードを実行させるためのコマンドである。
【0081】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad00>、及びコマンド<30h>を受信する。入出力回路10は、アドレス<Ad00>に基づいて、受信したコマンド<00h>をチップ0(CP0)のコマンドレジスタ0(MR0)に送信する。入出力回路10は、受信したアドレス<Ad00>のロウアドレスRAをチップ0(CP0)のロウアドレスレジスタ0(RR0)に送信し、受信したアドレス<Ad00>のカラムアドレスCAをチップ0(CP0)のカラムアドレスレジスタ0(CR0)に送信する。入出力回路10は、アドレス<Ad00>に基づいて、受信したコマンド<30h>をチップ0(CP0)のコマンドレジスタ0(MR0)に送信する。
【0082】
アドレス<Ad00>のロウアドレスRAがロウアドレスレジスタ0(RR0)に格納されると、ロウアドレスレジスタ0(RR0)は、ロウアドレスRAをロウデコーダ52Aに送信する。
【0083】
コマンドレジスタ0(MR0)からコマンド<30h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン0(PL0)においてノーマルリードを開始する。シーケンサ30は、信号CB00をビジー状態にする。信号CB00は、ステータスレジスタ21に格納される。チップ0(CP0)のプレーン0(PL0)においてノーマルリードが終わると、シーケンサ30は、信号CB00をレディ状態にする。チップ0(CP0)のプレーン0(PL0)は、次のコマンドを受け付け可能となる。
【0084】
次に、メモリコントローラ300は、チップ1(CP1)のプレーン0(PL0)のノーマルリードを実行する。
【0085】
より具体的には、コマンド<00h>、アドレス<Ad00>、及びコマンド<30h>が発行された後、メモリコントローラ300は、チップ1(CP1)のプレーン0(PL0)のノーマルリードを実行するために、コマンド<00h>、アドレス<Ad10>、及びコマンド<30h>を発行する。アドレス“Ad10”は、チップ1のプレーン0のアドレスを指定するものである。
【0086】
チップ1(CP1)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad10>、及びコマンド<30h>を受信する。この後、チップ0(CP0)のプレーン0(PL0)の前述したノーマルリードと同様に、チップ1(CP1)のプレーン0(PL0)のノーマルリードが開始される。チップ1(CP1)のシーケンサ30は、信号CB10をビジー状態にする。信号CB10は、ステータスレジスタ21に格納される。チップ1(CP1)のプレーン0(PL0)においてノーマルリードが終わると、シーケンサ30は、信号CB10をレディ状態にする。チップ1(CP1)のプレーン0(PL0)は、次のコマンドを受け付け可能となる。
【0087】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のノーマルリードを実行する。
【0088】
より具体的には、コマンド<00h>、アドレス<Ad10>、及びコマンド<30h>が発行された後、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のノーマルリードを実行するために、コマンド<00h>、アドレス<Ad01>、及びコマンド<30h>を発行する。アドレス“Ad01”は、チップ0のプレーン1のアドレスを指定するものである。
【0089】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad01>、及びコマンド<30h>を受信する。入出力回路10は、アドレス<Ad01>に基づいて、受信したコマンド<00h>をチップ0(CP0)のコマンドレジスタ1(MR1)に送信する。入出力回路10は、受信したアドレス<Ad01>のロウアドレスRAをチップ0(CP0)のロウアドレスレジスタ1(RR1)に送信し、受信したアドレス<Ad01>のカラムアドレスCAをチップ0(CP0)のカラムアドレスレジスタ0(CR0)に送信する。入出力回路10は、アドレス<Ad01>に基づいて、受信したコマンド<30h>をチップ0(CP0)のコマンドレジスタ1(MR1)に送信する。
【0090】
アドレス<Ad01>のロウアドレスRAがロウアドレスレジスタ1(RR1)に格納されると、ロウアドレスレジスタ1(RR1)は、ロウアドレスRAをロウデコーダ52Bに送信する。
【0091】
コマンドレジスタ1(MR1)からコマンド<30h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン1(PL1)においてノーマルリードを開始する。シーケンサ30は、信号CB01をビジー状態にする。信号CB01は、ステータスレジスタ21に格納される。チップ0(CP0)のプレーン1(PL1)においてノーマルリードが終わると、シーケンサ30は、信号CB01をレディ状態にする。チップ0(CP0)のプレーン1(PL1)は、次のコマンドを受け付け可能となる。
【0092】
次に、メモリコントローラ300は、チップ1(CP1)のプレーン1(PL1)のノーマルリードを実行する。
【0093】
より具体的には、コマンド<00h>、アドレス<Ad01>、及びコマンド<30h>が発行された後、メモリコントローラ300は、チップ1(CP1)のプレーン1(PL1)のノーマルリードを実行するために、コマンド<00h>、アドレス<Ad11>、及びコマンド<30h>を発行する。アドレス“Ad11”は、チップ1のプレーン1のアドレスを指定するものである。
【0094】
チップ1(CP1)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad11>、及びコマンド<30h>を受信する。この後、チップ0(CP0)のプレーン1(PL1)の前述したノーマルリードと同様に、チップ1(CP1)のプレーン1(PL1)のノーマルリードが開始される。チップ1(CP1)のシーケンサ30は、信号CB11をビジー状態にする。信号CB11は、ステータスレジスタ21に格納される。チップ1(CP1)のプレーン1(PL1)においてノーマルリードが終わると、シーケンサ30は、信号CB11をレディ状態にする。チップ1(CP1)のプレーン1(PL1)は、次のコマンドを受け付け可能となる。
【0095】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のノーマルリードを実行する。
【0096】
より具体的には、コマンド<00h>、アドレス<Ad11>、及びコマンド<30h>が発行された後、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のノーマルリードを実行するために、コマンド<00h>、アドレス<Ad02>、及びコマンド<30h>を発行する。アドレス“Ad02”は、チップ0のプレーン2のアドレスを指定するものである。
【0097】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad02>、及びコマンド<30h>を受信する。入出力回路10は、アドレス<Ad02>に基づいて、受信したコマンド<00h>をチップ0(CP0)のコマンドレジスタ2(MR2)に送信する。入出力回路10は、受信したアドレス<Ad02>のロウアドレスRAをチップ0(CP0)のロウアドレスレジスタ2(RR2)に送信し、受信したアドレス<Ad02>のカラムアドレスCAをチップ0(CP0)のカラムアドレスレジスタ0(CR0)に送信する。入出力回路10は、アドレス<Ad02>に基づいて、受信したコマンド<30h>をチップ0(CP0)のコマンドレジスタ2(MR2)に送信する。
【0098】
アドレス<Ad02>のロウアドレスRAがロウアドレスレジスタ2(RR2)に格納されると、ロウアドレスレジスタ2(RR2)は、ロウアドレスRAをロウデコーダ52Cに送信する。
【0099】
コマンドレジスタ2(MR2)からコマンド<30h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン2(PL2)においてノーマルリードを開始する。シーケンサ30は、信号CB02をビジー状態にする。信号CB02は、ステータスレジスタ21に格納される。チップ0(CP0)のプレーン2(PL2)においてノーマルリードが終わると、シーケンサ30は、信号CB02をレディ状態にする。チップ0(CP0)のプレーン2(PL2)は、次のコマンドを受け付け可能となる。
【0100】
次に、メモリコントローラ300は、チップ1(CP1)のプレーン2(PL2)のノーマルリードを実行する。
【0101】
より具体的には、コマンド<00h>、アドレス<Ad02>、及びコマンド<30h>が発行された後、メモリコントローラ300は、チップ1(CP1)のプレーン2(PL2)のノーマルリードを実行するために、コマンド<00h>、アドレス<Ad12>、及びコマンド<30h>を発行する。アドレス“Ad12”は、チップ1のプレーン2のアドレスを指定するものである。
【0102】
チップ1(CP1)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad12>、及びコマンド<30h>を受信する。この後、チップ0(CP0)のプレーン2(PL2)の前述したノーマルリードと同様に、チップ1(CP1)のプレーン2(PL2)のノーマルリードが開始される。チップ1(CP1)のシーケンサ30は、信号CB12をビジー状態にする。信号CB12は、ステータスレジスタ21に格納される。チップ1(CP1)のプレーン2(PL2)においてノーマルリードが終わると、シーケンサ30は、信号CB12をレディ状態にする。チップ1(CP1)のプレーン2(PL2)は、次のコマンドを受け付け可能となる。
【0103】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のノーマルリードを実行する。
【0104】
より具体的には、コマンド<00h>、アドレス<Ad12>、及びコマンド<30h>が発行された後、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のノーマルリードを実行するために、コマンド<00h>、アドレス<Ad03>、及びコマンド<30h>を発行する。アドレス“Ad03”は、チップ0のプレーン3のアドレスを指定するものである。
【0105】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad03>、及びコマンド<30h>を受信する。入出力回路10は、アドレス<Ad03>に基づいて、受信したコマンド<00h>をチップ0(CP0)のコマンドレジスタ3(MR3)に送信する。入出力回路10は、受信したアドレス<Ad03>のロウアドレスRAをチップ0(CP0)のロウアドレスレジスタ3(RR3)に送信し、受信したアドレス<Ad03>のカラムアドレスCAをチップ0(CP0)のカラムアドレスレジスタ0(CR0)に送信する。入出力回路10は、アドレス<Ad03>に基づいて、受信したコマンド<30h>をチップ0(CP0)のコマンドレジスタ3(MR3)に送信する。
【0106】
アドレス<Ad03>のロウアドレスRAがロウアドレスレジスタ3(RR3)に格納されると、ロウアドレスレジスタ3(RR3)は、ロウアドレスRAをロウデコーダ52Dに送信する。
【0107】
コマンドレジスタ3(MR3)からコマンド<30h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン3(PL3)においてノーマルリードを開始する。シーケンサ30は、信号CB03をビジー状態にする。信号CB03は、ステータスレジスタ21に格納される。チップ0(CP0)のプレーン3(PL3)においてノーマルリードが終わると、シーケンサ30は、信号CB03をレディ状態にする。チップ0(CP0)のプレーン3(PL3)は、次のコマンドを受け付け可能となる。
【0108】
次に、メモリコントローラ300は、チップ1(CP1)のプレーン3(PL3)のノーマルリードを実行する。
【0109】
より具体的には、コマンド<00h>、アドレス<Ad03>、及びコマンド<30h>が発行された後、メモリコントローラ300は、チップ1(CP1)のプレーン3(PL3)のノーマルリードを実行するために、コマンド<00h>、アドレス<Ad13>、及びコマンド<30h>を発行する。アドレス“Ad13”は、チップ1のプレーン3のアドレスを指定するものである。
【0110】
チップ1(CP1)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad13>、及びコマンド<30h>を受信する。この後、チップ0(CP0)のプレーン3(PL3)の前述したノーマルリードと同様に、チップ1(CP1)のプレーン3(PL3)のノーマルリードが開始される。チップ1(CP1)のシーケンサ30は、信号CB13をビジー状態にする。信号CB13は、ステータスレジスタ21に格納される。チップ1(CP1)のプレーン3(PL3)においてノーマルリードが終わると、シーケンサ30は、信号CB13をレディ状態にする。チップ1(CP1)のプレーン3(PL3)は、次のコマンドを受け付け可能となる。
【0111】
次に、
図10に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のステータスリードを実行する。
【0112】
より具体的には、コマンド<00h>、アドレス<Ad13>、及びコマンド<30h>が発行された後、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のステータスリードを実行するために、コマンド<78h>及びアドレス<Ad00>を発行する。コマンド“78h”は、ステータスレジスタ21からステータス情報STSを読み出すコマンドである。
【0113】
チップ0(CP0)のシーケンサ30は、アドレス<Ad00>に対応する信号CB00についてのステータス情報STSをメモリコントローラ300に送信する。
【0114】
次に、ステータスレジスタ21からレディ状態を示す信号CB00を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のキャッシュリードを実行する。なお、本明細書において、「キャッシュリード」とは、対象のプレーンにおいて、メモリセルアレイ51からデータレジスタ54への読み出しデータDATの格納が完了していなくても(信号CBがビジー状態でも)、対象プレーンに対する次のコマンドを受け付ける読み出し動作を意味する。
【0115】
より具体的には、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のキャッシュリードを実行するために、コマンド<00h>、アドレス<Ad00>、及びコマンド<31h>を発行する。コマンド“31h”は、シングルプレーンリードにおいてキャッシュリードを実行させるためのコマンドである。
【0116】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad00>、及びコマンド<31h>を受信する。この後、チップ0(CP0)のプレーン0(PL0)の前述したノーマルリードと同様に、チップ0(CP0)のプレーン0(PL0)のキャッシュリードが開始される。チップ0(CP0)のシーケンサ30は、信号CB00をビジー状態にする。チップ0(CP0)のプレーン0(PL0)においてキャッシュ転送(キャッシュリード実行中のメモリセルアレイ51から対応するデータレジスタ54への読み出しデータDATの転送)が終わると、シーケンサ30は、信号CB00をレディ状態にする。ただし、シーケンサ30は、後述のプリフェッチの実行を指示するコマンドが受け付けられている場合には、キャッシュ転送に続き、プリフェッチを実行した後に、レディ状態にする。
【0117】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)で実行されたノーマルリードの読み出しデータのプリフェッチを予約する。なお、本明細書において、「プリフェッチ」とは、メモリセルアレイ51からデータレジスタ54に読み出されたデータDATを、データレジスタ54からFIFO回路12に取り込む動作を意味する。また、「プリフェッチを予約する」とは、プリフェッチ実行の準備をしてプリフェッチ実行の待機状態に入ることを意味する。
【0118】
より具体的には、コマンド<00h>、アドレス<Ad00>、及びコマンド<31h>が発行され、キャッシュリードが実行されている期間(すなわち信号CB00がビジー状態の期間)に、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のプリフェッチを予約するために、コマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>を発行する。コマンド“05h”は、プリフェッチを命令するためのコマンドである。コマンド“E0h”は、プリフェッチの実行を指示するコマンドである。
【0119】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>を受信する。入出力回路10は、アドレス<Ad00>に基づいて、受信したコマンド<05h>をチップ0(CP0)のコマンドレジスタ0(MR0)に送信するとともに、コマンド<05h>をチップ0(CP0)のコマンドレジスタ0’(MR0’)にコピーする。入出力回路10は、受信したアドレス<Ad00>のロウアドレスRAをチップ0(CP0)のロウアドレスレジスタ0(RR0)に送信するとともに、アドレス<Ad00>のロウアドレスRAをチップ0(CP0)のロウアドレスレジスタ0’(RR0’)にコピーする。入出力回路10は、受信したアドレス<Ad00>のカラムアドレスCAをチップ0(CP0)のカラムアドレスレジスタ0(CR0)に送信するとともに、アドレス<Ad00>のカラムアドレスCAをチップ0(CP0)のカラムアドレスレジスタ0’(CR0’)にコピーする。入出力回路10は、アドレス<Ad00>に基づいて、受信したコマンド<E0h>をチップ0(CP0)のコマンドレジスタ0(MR0)に送信するとともに、コマンド<E0h>をチップ0(CP0)のコマンドレジスタ0’(MR0’)にコピーする。
【0120】
アドレス<Ad00>のロウアドレスRAがロウアドレスレジスタ0’(RR0’)にコピーされると、ロウアドレスレジスタ0’(RR0’)は、ロウアドレスRAをロウデコーダ52Aに送信する。
【0121】
コマンドレジスタ0’(MR0’)からコマンド<E0h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン0(PL0)においてプリフェッチを予約する。そして、シーケンサ30は、プリフェッチを開始する。信号CB00がビジー状態のときにコマンド<E0h>を受信すると、シーケンサ30は、信号CB00がビジー状態の期間に、チップ0(CP0)のプレーン0(PL0)のプリフェッチを実行する。より具体的には、チップ0(CP0)のシーケンサ30は、信号CB00がビジー状態のときにコマンド<E0h>を受信すると、キャッシュ転送に続いて、プリフェッチを実行し、プリフェッチを実行した後に、信号CB00をレディ状態にする。
【0122】
プリフェッチが開始されると、チップ0(CP0)のシーケンサ30は、カラムアドレスカウンタ回路CC0’のカウンタ値CNTを0にリセットする。カラムアドレスレジスタ0’(CR0’)は、最初のカラムアドレスCAから最後のカラムアドレスCAまでをカラムデコーダ55A~55Dに送信する。カラムデコーダ55Aでは、アドレス<Ad00>のカラムアドレスCAをデコードした結果に基づいて、データレジスタ54A内の対応するラッチ回路を選択する。順に選択されたラッチ回路のデータが、FIFO回路12に送信される。
【0123】
次に、
図10に示すように、メモリコントローラ300は、チップ1(CP1)のプレーン0(PL0)のステータスリードを実行する。
【0124】
より具体的には、コマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>が発行された後、メモリコントローラ300は、チップ1(CP1)のプレーン0(PL0)のステータスリードを実行するために、コマンド<78h>及びアドレス<Ad10>を発行する。
【0125】
チップ1(CP1)のシーケンサ30は、アドレス<Ad10>に対応する信号CB10についてのステータス情報STSをメモリコントローラ300に送信する。
【0126】
次に、ステータスレジスタ21からレディ状態を示す信号CB10を受信すると、メモリコントローラ300は、チップ1(CP1)のプレーン0(PL0)のキャッシュリードを実行する。
【0127】
より具体的には、メモリコントローラ300は、チップ1(CP1)のプレーン0(PL0)のキャッシュリードを実行するために、コマンド<00h>、アドレス<Ad10>、及びコマンド<31h>を発行する。
【0128】
チップ1(CP1)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad10>、及びコマンド<31h>を受信する。この後、チップ0(CP0)のプレーン0(PL0)の前述したキャッシュリードと同様に、チップ1(CP1)のプレーン0(PL0)のキャッシュリードが開始される。チップ1(CP1)のシーケンサ30は、信号CB10をビジー状態にする。チップ1(CP1)のプレーン0(PL0)においてキャッシュ転送が終わると、シーケンサ30は、信号CB10をレディ状態にする。ただし、シーケンサ30は、プリフェッチの実行を指示するコマンドが受け付けられている場合には、キャッシュ転送に続き、プリフェッチを実行した後に、レディ状態にする。
【0129】
次に、メモリコントローラ300は、チップ1(CP1)のプレーン0(PL0)で実行されたノーマルリードの読み出しデータのプリフェッチを予約する。
【0130】
より具体的には、コマンド<00h>、アドレス<Ad10>、及びコマンド<31h>が発行され、キャッシュリードが実行されている期間(すなわち信号CB10がビジー状態の期間)に、メモリコントローラ300は、チップ1(CP1)のプレーン0(PL0)のプリフェッチを予約するために、コマンド<05h>、アドレス<Ad10>、及びコマンド<E0h>を発行する。
【0131】
チップ1(CP1)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad10>、及びコマンド<E0h>を受信する。この後、チップ0(CP0)のプレーン0(PL0)のプリフェッチの予約及び実行と同様に、チップ1(CP1)のプレーン0(PL0)のプリフェッチが予約され、プリフェッチが開始される。信号CB10がビジー状態のときにコマンド<E0h>を受信すると、チップ1(CP1)のシーケンサ30は、信号CB10がビジー状態の期間に、チップ1(CP1)のプレーン0(PL0)のプリフェッチを実行する。より具体的には、チップ1(CP1)のシーケンサ30は、信号CB10がビジー状態のときにコマンド<E0h>を受信すると、キャッシュ転送に続いて、プリフェッチを実行し、プリフェッチを実行した後に、信号CB10をレディ状態にする。
【0132】
次に、
図10に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のステータスリードを実行する。
【0133】
より具体的には、コマンド<05h>、アドレス<Ad10>、及びコマンド<E0h>が発行された後、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のステータスリードを実行するために、コマンド<78h>及びアドレス<Ad01>を発行する。
【0134】
チップ0(CP0)のシーケンサ30は、アドレス<Ad01>に対応する信号CB01についてのステータス情報STSをメモリコントローラ300に送信する。
【0135】
次に、ステータスレジスタ21からレディ状態を示す信号CB01を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のキャッシュリードを実行する。
【0136】
より具体的には、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のキャッシュリードを実行するために、コマンド<00h>、アドレス<Ad01>、及びコマンド<31h>を発行する。
【0137】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad01>、及びコマンド<31h>を受信する。この後、チップ0(CP0)のプレーン1(PL1)の前述したノーマルリードと同様に、チップ0(CP0)のプレーン1(PL1)のキャッシュリードが開始される。チップ0(CP0)のシーケンサ30は、信号CB01をビジー状態にする。チップ0(CP0)のプレーン1(PL1)においてキャッシュ転送が終わると、シーケンサ30は、信号CB01をレディ状態にする。
【0138】
次に、
図11に示すように、メモリコントローラ300は、チップ1(CP1)のプレーン1(PL1)のステータスリードを実行する。
【0139】
より具体的には、コマンド<00h>、アドレス<Ad01>、及びコマンド<31h>が発行された後、メモリコントローラ300は、チップ1(CP1)のプレーン1(PL1)のステータスリードを実行するために、コマンド<78h>及びアドレス<Ad11>を発行する。
【0140】
チップ1(CP1)のシーケンサ30は、アドレス<Ad11>に対応する信号CB11についてのステータス情報STSをメモリコントローラ300に送信する。
【0141】
次に、ステータスレジスタ21からレディ状態を示す信号CB11を受信すると、メモリコントローラ300は、チップ1(CP1)のプレーン1(PL1)のキャッシュリードを実行する。
【0142】
より具体的には、メモリコントローラ300は、チップ1(CP1)のプレーン1(PL1)のキャッシュリードを実行するために、コマンド<00h>、アドレス<Ad11>、及びコマンド<31h>を発行する。
【0143】
チップ1(CP1)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad11>、及びコマンド<31h>を受信する。この後、チップ0(CP0)のプレーン1(PL1)の前述したキャッシュリードと同様に、チップ1(CP1)のプレーン1(PL1)のキャッシュリードが開始される。チップ1(CP1)のシーケンサ30は、信号CB11をビジー状態にする。チップ1(CP1)のプレーン1(PL1)においてキャッシュ転送が終わると、シーケンサ30は、信号CB11をレディ状態にする。
【0144】
次に、
図11に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のステータスリードを実行する。
【0145】
より具体的には、コマンド<00h>、アドレス<Ad11>、及びコマンド<31h>が発行された後、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のステータスリードを実行するために、コマンド<78h>及びアドレス<Ad02>を発行する。
【0146】
チップ0(CP0)のシーケンサ30は、アドレス<Ad02>に対応する信号CB02についてのステータス情報STSをメモリコントローラ300に送信する。
【0147】
次に、ステータスレジスタ21からレディ状態を示す信号CB02を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のキャッシュリードを実行する。
【0148】
より具体的には、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のキャッシュリードを実行するために、コマンド<00h>、アドレス<Ad02>、及びコマンド<31h>を発行する。
【0149】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad02>、及びコマンド<31h>を受信する。この後、チップ0(CP0)のプレーン2(PL2)の前述したノーマルリードと同様に、チップ0(CP0)のプレーン2(PL2)のキャッシュリードが開始される。チップ0(CP0)のシーケンサ30は、信号CB02をビジー状態にする。チップ0(CP0)のプレーン2(PL2)においてキャッシュ転送が終わると、シーケンサ30は、信号CB02をレディ状態にする。
【0150】
次に、
図11に示すように、メモリコントローラ300は、チップ1(CP1)のプレーン2(PL2)のステータスリードを実行する。
【0151】
より具体的には、コマンド<00h>、アドレス<Ad02>、及びコマンド<31h>が発行された後、メモリコントローラ300は、チップ1(CP1)のプレーン2(PL2)のステータスリードを実行するために、コマンド<78h>及びアドレス<Ad12>を発行する。
【0152】
チップ1(CP1)のシーケンサ30は、アドレス<Ad12>に対応する信号CB12についてのステータス情報STSをメモリコントローラ300に送信する。
【0153】
次に、ステータスレジスタ21からレディ状態を示す信号CB12を受信すると、メモリコントローラ300は、チップ1(CP1)のプレーン2(PL2)のキャッシュリードを実行する。
【0154】
より具体的には、メモリコントローラ300は、チップ1(CP1)のプレーン2(PL2)のキャッシュリードを実行するために、コマンド<00h>、アドレス<Ad12>、及びコマンド<31h>を発行する。
【0155】
チップ1(CP1)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad12>、及びコマンド<31h>を受信する。この後、チップ0(CP0)のプレーン2(PL2)の前述したキャッシュリードと同様に、チップ1(CP1)のプレーン2(PL2)のキャッシュリードが開始される。チップ1(CP1)のシーケンサ30は、信号CB12をビジー状態にする。チップ1(CP1)のプレーン2(PL2)においてキャッシュ転送が終わると、シーケンサ30は、信号CB12をレディ状態にする。
【0156】
次に、
図11に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のステータスリードを実行する。
【0157】
より具体的には、コマンド<00h>、アドレス<Ad12>、及びコマンド<31h>が発行された後、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のステータスリードを実行するために、コマンド<78h>及びアドレス<Ad03>を発行する。
【0158】
チップ0(CP0)のシーケンサ30は、アドレス<Ad03>に対応する信号CB03についてのステータス情報STSをメモリコントローラ300に送信する。
【0159】
次に、ステータスレジスタ21からレディ状態を示す信号CB03を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のキャッシュリードを実行する。
【0160】
より具体的には、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のキャッシュリードを実行するために、コマンド<00h>、アドレス<Ad03>、及びコマンド<31h>を発行する。
【0161】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad03>、及びコマンド<31h>を受信する。この後、チップ0(CP0)のプレーン3(PL3)の前述したノーマルリードと同様に、チップ0(CP0)のプレーン3(PL3)のキャッシュリードが開始される。チップ0(CP0)のシーケンサ30は、信号CB03をビジー状態にする。チップ0(CP0)のプレーン3(PL3)においてキャッシュ転送が終わると、シーケンサ30は、信号CB03をレディ状態にする。
【0162】
次に、
図12に示すように、メモリコントローラ300は、チップ1(CP1)のプレーン3(PL3)のステータスリードを実行する。
【0163】
より具体的には、コマンド<00h>、アドレス<Ad03>、及びコマンド<31h>が発行された後、メモリコントローラ300は、チップ1(CP1)のプレーン3(PL3)のステータスリードを実行するために、コマンド<78h>及びアドレス<Ad13>を発行する。
【0164】
チップ1(CP1)のシーケンサ30は、アドレス<Ad13>に対応する信号CB13についてのステータス情報STSをメモリコントローラ300に送信する。
【0165】
次に、ステータスレジスタ21からレディ状態を示す信号CB13を受信すると、メモリコントローラ300は、チップ1(CP1)のプレーン3(PL3)のキャッシュリードを実行する。
【0166】
より具体的には、メモリコントローラ300は、チップ1(CP1)のプレーン3(PL3)のキャッシュリードを実行するために、コマンド<00h>、アドレス<Ad13>、及びコマンド<31h>を発行する。
【0167】
チップ1(CP1)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad13>、及びコマンド<31h>を受信する。この後、チップ0(CP0)のプレーン3(PL3)の前述したキャッシュリードと同様に、チップ1(CP1)のプレーン3(PL3)のキャッシュリードが開始される。チップ1(CP1)のシーケンサ30は、信号CB13をビジー状態にする。チップ1(CP1)のプレーン3(PL3)においてキャッシュ転送が終わると、シーケンサ30は、信号CB13をレディ状態にする。
【0168】
次に、
図12に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のステータスリードを実行する。コマンド<00h>、アドレス<Ad13>、及びコマンド<31h>が発行された後、コマンド<78h>及びアドレス<Ad00>が発行されることによって実行されるこのステータスリードの詳細は、チップ0(CP0)のプレーン0(PL0)の前述したステータスリードと同様である。
【0169】
次に、ステータスレジスタ21からレディ状態を示す信号CB00を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のデータアウトを実行する。なお、本明細書において、「データアウト」とは、データレジスタ54からFIFO回路12に取り込まれたデータDATを、FIFO回路12からDQパッド11を介してメモリコントローラ300に出力する動作を意味する。
【0170】
より具体的には、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のデータアウトを実行するために、コマンド<XXh>を発行する。コマンド“XXh”はチップ及びプレーンを選択してデータアウトを実行させるためのコマンドである。
【0171】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<XXh>を受信する。入出力回路10は、受信したコマンド<XXh>をチップ0(CP0)のコマンドレジスタ0(MR0)に送信する。
【0172】
コマンドレジスタ0(MR0)からコマンド<XXh>を受信すると、チップ0(CP0)のシーケンサ30は、プリフェッチを実行したプレーン0(PL0)のデータアウトを開始する。
【0173】
次に、
図12に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)で実行されたノーマルリードの読み出しデータのプリフェッチを予約する。
【0174】
より具体的には、チップ0(CP0)のプレーン0(PL0)においてデータアウトが終わると、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のプリフェッチを予約するために、コマンド<05h>、アドレス<Ad01>、及びコマンド<E0h>を発行する。
【0175】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad01>、及びコマンド<E0h>を受信する。入出力回路10は、アドレス<Ad01>に基づいて、受信したコマンド<05h>をチップ0(CP0)のコマンドレジスタ1(MR1)に送信するとともに、コマンド<05h>をチップ0(CP0)のコマンドレジスタ1’(MR1’)にコピーする。入出力回路10は、受信したアドレス<Ad01>のロウアドレスRAをチップ0(CP0)のロウアドレスレジスタ1(RR1)に送信するとともに、アドレス<Ad01>のロウアドレスRAをチップ0(CP0)のロウアドレスレジスタ1’(RR1’)にコピーする。入出力回路10は、受信したアドレス<Ad01>のカラムアドレスCAをチップ0(CP0)のカラムアドレスレジスタ0(CR0)に送信するとともに、アドレス<Ad01>のカラムアドレスCAをチップ0(CP0)のカラムアドレスレジスタ0’(CR0’)にコピーする。入出力回路10は、アドレス<Ad01>に基づいて、受信したコマンド<E0h>をチップ0(CP0)のコマンドレジスタ1(MR1)に送信するとともに、コマンド<E0h>をチップ0(CP0)のコマンドレジスタ1’(MR1’)にコピーする。
【0176】
アドレス<Ad01>のロウアドレスRAがロウアドレスレジスタ1’(RR1’)にコピーされると、ロウアドレスレジスタ1’(RR1’)は、ロウアドレスRAをロウデコーダ52Bに送信する。
【0177】
コマンドレジスタ1’(MR1’)からコマンド<E0h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン1(PL1)においてプリフェッチを予約する。そして、シーケンサ30は、プリフェッチを開始する。信号CB01がレディ状態のときにコマンド<E0h>を受信すると、シーケンサ30は、即座にチップ0(CP0)のプレーン1(PL1)のプリフェッチを実行する。
【0178】
プリフェッチが開始されると、チップ0(CP0)のシーケンサ30は、カラムアドレスカウンタ回路CC0’のカウンタ値CNTを0にリセットする。カラムアドレスレジスタ0’(CR0’)は、最初のカラムアドレスCAから最後のカラムアドレスCAまでをカラムデコーダ55A~55Dに送信する。カラムデコーダ55Bでは、アドレス<Ad01>のカラムアドレスCAをデコードした結果に基づいて、データレジスタ54B内の対応するラッチ回路を選択する。順に選択されたラッチ回路のデータが、FIFO回路12に送信される。
【0179】
次に、
図12に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のキャッシュリードを実行する。コマンド<05h>、アドレス<Ad01>、及びコマンド<E0h>が発行された後、コマンド<00h>、アドレス<Ad00>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、チップ0(CP0)のプレーン0(PL0)の前述したキャッシュリードと同様である。このキャッシュリードが開始されると、チップ0(CP0)のシーケンサ30は、信号CB00をビジー状態にする。チップ0(CP0)のプレーン0(PL0)においてキャッシュ転送が終わると、シーケンサ30は、信号CB00をレディ状態にする。
【0180】
次に、
図13に示すように、メモリコントローラ300は、チップ1(CP1)のプレーン0(PL0)のステータスリードを実行する。コマンド<00h>、アドレス<Ad00>、及びコマンド<31h>が発行された後、コマンド<78h>及びアドレス<Ad10>が発行されることによって実行されるこのステータスリードの詳細は、チップ1(CP1)のプレーン0(PL0)の前述したステータスリードと同様である。
【0181】
次に、ステータスレジスタ21からレディ状態を示す信号CB10を受信すると、メモリコントローラ300は、チップ1(CP1)のプレーン0(PL0)のデータアウトを実行する。
【0182】
より具体的には、メモリコントローラ300は、チップ1(CP1)のプレーン0(PL0)のデータアウトを実行するために、コマンド<XXh>を発行する。
【0183】
チップ1(CP1)において、入出力回路10は、メモリコントローラ300が発行したコマンド<XXh>を受信する。この後、チップ0(CP0)のプレーン0(PL0)のデータアウトと同様に、プリフェッチを実行したプレーン0(PL0)のデータアウトが開始される。
【0184】
次に、
図13に示すように、メモリコントローラ300は、チップ1(CP1)のプレーン1(PL1)で実行されたノーマルリードの読み出しデータのプリフェッチを予約する。
【0185】
より具体的には、チップ1(CP1)のプレーン0(PL0)においてデータアウトが終わると、メモリコントローラ300は、チップ1(CP1)のプレーン1(PL1)のプリフェッチを予約するために、コマンド<05h>、アドレス<Ad11>、及びコマンド<E0h>を発行する。
【0186】
チップ1(CP1)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad11>、及びコマンド<E0h>を受信する。この後、チップ0(CP0)のプレーン1(PL1)のプリフェッチの予約及び実行と同様に、チップ1(CP1)のプレーン1(PL1)のプリフェッチが予約され、プリフェッチが開始される。信号CB11がレディ状態のときにコマンド<E0h>を受信すると、チップ1(CP1)のシーケンサ30は、即座にチップ1(CP1)のプレーン1(PL1)のプリフェッチを実行する。
【0187】
次に、メモリコントローラ300は、チップ1(CP1)のプレーン0(PL0)のキャッシュリードを実行する。コマンド<05h>、アドレス<Ad11>、及びコマンド<E0h>が発行された後、コマンド<00h>、アドレス<Ad10>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、チップ1(CP1)のプレーン0(PL0)の前述したキャッシュリードと同様である。このキャッシュリードが開始されると、チップ1(CP1)のシーケンサ30は、信号CB10をビジー状態にする。チップ1(CP1)のプレーン0(PL0)においてキャッシュ転送が終わると、シーケンサ30は、信号CB10をレディ状態にする。
【0188】
次に、
図13に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のステータスリードを実行する。コマンド<00h>、アドレス<Ad10>、及びコマンド<31h>が発行された後、コマンド<78h>及びアドレス<Ad01>が発行されることによって実行されるこのステータスリードの詳細は、チップ0(CP0)のプレーン1(PL1)の前述したステータスリードと同様である。
【0189】
次に、ステータスレジスタ21からレディ状態を示す信号CB01を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のデータアウトを実行する。
【0190】
より具体的には、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のデータアウトを実行するために、コマンド<XXh>を発行する。
【0191】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<XXh>を受信する。入出力回路10は、受信したコマンド<XXh>をチップ0(CP0)のコマンドレジスタ1(MR1)に送信する。
【0192】
コマンドレジスタ1(MR1)からコマンド<XXh>を受信すると、チップ0(CP0)のシーケンサ30は、プリフェッチを実行したプレーン1(PL1)のデータアウトを開始する。
【0193】
次に、
図14に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)で実行されたノーマルリードの読み出しデータのプリフェッチを予約する。
【0194】
より具体的には、チップ0(CP0)のプレーン1(PL1)においてデータアウトが終わると、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のプリフェッチを予約するために、コマンド<05h>、アドレス<Ad02>、及びコマンド<E0h>を発行する。
【0195】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad02>、及びコマンド<E0h>を受信する。入出力回路10は、アドレス<Ad02>に基づいて、受信したコマンド<05h>をチップ0(CP0)のコマンドレジスタ2(MR2)に送信するとともに、コマンド<05h>をチップ0(CP0)のコマンドレジスタ2’(MR2’)にコピーする。入出力回路10は、受信したアドレス<Ad02>のロウアドレスRAをチップ0(CP0)のロウアドレスレジスタ2(RR2)に送信するとともに、アドレス<Ad02>のロウアドレスRAをチップ0(CP0)のロウアドレスレジスタ2’(RR2’)にコピーする。入出力回路10は、受信したアドレス<Ad02>のカラムアドレスCAをチップ0(CP0)のカラムアドレスレジスタ0(CR0)に送信するとともに、アドレス<Ad02>のカラムアドレスCAをチップ0(CP0)のカラムアドレスレジスタ0’(CR0’)にコピーする。入出力回路10は、アドレス<Ad02>に基づいて、受信したコマンド<E0h>をチップ0(CP0)のコマンドレジスタ2(MR2)に送信するとともに、コマンド<E0h>をチップ0(CP0)のコマンドレジスタ2’(MR2’)にコピーする。
【0196】
アドレス<Ad02>のロウアドレスRAがロウアドレスレジスタ2’(RR2’)にコピーされると、ロウアドレスレジスタ2’(RR2’)は、ロウアドレスRAをロウデコーダ52Cに送信する。
【0197】
コマンドレジスタ2’(MR2’)からコマンド<E0h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン2(PL2)においてプリフェッチを予約する。そして、シーケンサ30は、プリフェッチを開始する。信号CB02がレディ状態のときにコマンド<E0h>を受信すると、シーケンサ30は、即座にチップ0(CP0)のプレーン2(PL2)のプリフェッチを実行する。
【0198】
プリフェッチが開始されると、チップ0(CP0)のシーケンサ30は、カラムアドレスカウンタ回路CC0’のカウンタ値CNTを0にリセットする。カラムアドレスレジスタ0’(CR0’)は、最初のカラムアドレスCAから最後のカラムアドレスCAまでをカラムデコーダ55A~55Dに送信する。カラムデコーダ55Cでは、アドレス<Ad02>のカラムアドレスCAをデコードした結果に基づいて、データレジスタ54C内の対応するラッチ回路を選択する。順に選択されたラッチ回路のデータが、FIFO回路12に送信される。
【0199】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のキャッシュリードを実行する。コマンド<05h>、アドレス<Ad02>、及びコマンド<E0h>が発行された後、コマンド<00h>、アドレス<Ad01>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、チップ0(CP0)のプレーン1(PL1)の前述したキャッシュリードと同様である。このキャッシュリードが開始されると、チップ0(CP0)のシーケンサ30は、信号CB01をビジー状態にする。チップ0(CP0)のプレーン1(PL1)においてキャッシュ転送が終わると、シーケンサ30は、信号CB01をレディ状態にする。
【0200】
次に、
図14に示すように、メモリコントローラ300は、チップ1(CP1)のプレーン1(PL1)のステータスリードを実行する。コマンド<00h>、アドレス<Ad01>、及びコマンド<31h>が発行された後、コマンド<78h>及びアドレス<Ad11>が発行されることによって実行されるこのステータスリードの詳細は、チップ1(CP1)のプレーン1(PL1)の前述したステータスリードと同様である。
【0201】
次に、ステータスレジスタ21からレディ状態を示す信号CB11を受信すると、メモリコントローラ300は、チップ1(CP1)のプレーン1(PL1)のデータアウトを実行する。
【0202】
より具体的には、メモリコントローラ300は、チップ1(CP1)のプレーン1(PL1)のデータアウトを実行するために、コマンド<XXh>を発行する。
【0203】
チップ1(CP1)において、入出力回路10は、メモリコントローラ300が発行したコマンド<XXh>を受信する。この後、チップ0(CP0)のプレーン1(PL1)のデータアウトと同様に、プリフェッチを実行したプレーン1(PL1)のデータアウトが開始される。
【0204】
次に、
図14に示すように、メモリコントローラ300は、チップ1(CP1)のプレーン2(PL2)で実行されたノーマルリードの読み出しデータのプリフェッチを予約する。
【0205】
より具体的には、チップ1(CP1)のプレーン1(PL1)においてデータアウトが終わると、メモリコントローラ300は、チップ1(CP1)のプレーン2(PL2)のプリフェッチを予約するために、コマンド<05h>、アドレス<Ad12>、及びコマンド<E0h>を発行する。
【0206】
チップ1(CP1)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad12>、及びコマンド<E0h>を受信する。この後、チップ0(CP0)のプレーン2(PL2)のプリフェッチの予約及び実行と同様に、チップ1(CP1)のプレーン2(PL2)のプリフェッチが予約され、プリフェッチが開始される。信号CB12がレディ状態のときにコマンド<E0h>を受信すると、チップ1(CP1)のシーケンサ30は、即座にチップ1(CP1)のプレーン2(PL2)のプリフェッチを実行する。
【0207】
次に、メモリコントローラ300は、チップ1(CP1)のプレーン1(PL1)のキャッシュリードを実行する。コマンド<05h>、アドレス<Ad12>、及びコマンド<E0h>が発行された後、コマンド<00h>、アドレス<Ad11>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、チップ1(CP1)のプレーン1(PL1)の前述したキャッシュリードと同様である。このキャッシュリードが開始されると、チップ1(CP1)のシーケンサ30は、信号CB11をビジー状態にする。チップ1(CP1)のプレーン1(PL1)においてキャッシュ転送が終わると、シーケンサ30は、信号CB11をレディ状態にする。
【0208】
次に、
図15に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のステータスリードを実行する。コマンド<00h>、アドレス<Ad11>、及びコマンド<31h>が発行された後、コマンド<78h>及びアドレス<Ad02>が発行されることによって実行されるこのステータスリードの詳細は、チップ0(CP0)のプレーン2(PL2)の前述したステータスリードと同様である。
【0209】
次に、ステータスレジスタ21からレディ状態を示す信号CB02を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のデータアウトを実行する。
【0210】
より具体的には、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のデータアウトを実行するために、コマンド<XXh>を発行する。
【0211】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<XXh>を受信する。入出力回路10は、受信したコマンド<XXh>をチップ0(CP0)のコマンドレジスタ2(MR2)に送信する。
【0212】
コマンドレジスタ2(MR2)からコマンド<XXh>を受信すると、チップ0(CP0)のシーケンサ30は、プリフェッチを実行したプレーン2(PL2)のデータアウトを開始する。
【0213】
次に、
図15に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)で実行されたノーマルリードの読み出しデータのプリフェッチを予約する。
【0214】
より具体的には、チップ0(CP0)のプレーン2(PL2)においてデータアウトが終わると、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のプリフェッチを予約するために、コマンド<05h>、アドレス<Ad03>、及びコマンド<E0h>を発行する。
【0215】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad03>、及びコマンド<E0h>を受信する。入出力回路10は、アドレス<Ad03>に基づいて、受信したコマンド<05h>をチップ0(CP0)のコマンドレジスタ3(MR3)に送信するとともに、コマンド<05h>をチップ0(CP0)のコマンドレジスタ3’(MR3’)にコピーする。入出力回路10は、受信したアドレス<Ad03>のロウアドレスRAをチップ0(CP0)のロウアドレスレジスタ3(RR3)に送信するとともに、アドレス<Ad03>のロウアドレスRAをチップ0(CP0)のロウアドレスレジスタ3’(RR3’)にコピーする。入出力回路10は、受信したアドレス<Ad03>のカラムアドレスCAをチップ0(CP0)のカラムアドレスレジスタ0(CR0)に送信するとともに、アドレス<Ad03>のカラムアドレスCAをチップ0(CP0)のカラムアドレスレジスタ0’(CR0’)にコピーする。入出力回路10は、アドレス<Ad03>に基づいて、受信したコマンド<E0h>をチップ0(CP0)のコマンドレジスタ3(MR3)に送信するとともに、コマンド<E0h>をチップ0(CP0)のコマンドレジスタ3’(MR3’)にコピーする。
【0216】
アドレス<Ad03>のロウアドレスRAがロウアドレスレジスタ3’(RR3’)にコピーされると、ロウアドレスレジスタ3’(RR3’)は、ロウアドレスRAをロウデコーダ52Dに送信する。
【0217】
コマンドレジスタ3’(MR3’)からコマンド<E0h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン3(PL3)においてプリフェッチを予約する。そして、シーケンサ30は、プリフェッチを開始する。信号CB03がレディ状態のときにコマンド<E0h>を受信すると、シーケンサ30は、即座にチップ0(CP0)のプレーン3(PL3)のプリフェッチを実行する。
【0218】
プリフェッチが開始されると、チップ0(CP0)のシーケンサ30は、カラムアドレスカウンタ回路CC0’のカウンタ値CNTを0にリセットする。カラムアドレスレジスタ0’(CR0’)は、最初のカラムアドレスCAから最後のカラムアドレスCAまでをカラムデコーダ55A~55Dに送信する。カラムデコーダ55Dでは、アドレス<Ad03>のカラムアドレスCAをデコードした結果に基づいて、データレジスタ54D内の対応するラッチ回路を選択する。順に選択されたラッチ回路のデータが、FIFO回路12に送信される。
【0219】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のキャッシュリードを実行する。コマンド<05h>、アドレス<Ad03>、及びコマンド<E0h>が発行された後、コマンド<00h>、アドレス<Ad02>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、チップ0(CP0)のプレーン2(PL2)の前述したキャッシュリードと同様である。このキャッシュリードが開始されると、チップ0(CP0)のシーケンサ30は、信号CB02をビジー状態にする。チップ0(CP0)のプレーン2(PL2)においてキャッシュ転送が終わると、シーケンサ30は、信号CB02をレディ状態にする。
【0220】
次に、
図15に示すように、メモリコントローラ300は、チップ1(CP1)のプレーン2(PL2)のステータスリードを実行する。コマンド<00h>、アドレス<Ad02>、及びコマンド<31h>が発行された後、コマンド<78h>及びアドレス<Ad12>が発行されることによって実行されるこのステータスリードの詳細は、チップ1(CP1)のプレーン2(PL2)の前述したステータスリードと同様である。
【0221】
次に、ステータスレジスタ21からレディ状態を示す信号CB12を受信すると、メモリコントローラ300は、チップ1(CP1)のプレーン2(PL2)のデータアウトを実行する。
【0222】
より具体的には、メモリコントローラ300は、チップ1(CP1)のプレーン2(PL2)のデータアウトを実行するために、コマンド<XXh>を発行する。
【0223】
チップ1(CP1)において、入出力回路10は、メモリコントローラ300が発行したコマンド<XXh>を受信する。この後、チップ0(CP0)のプレーン2(PL2)のデータアウトと同様に、プリフェッチを実行したプレーン2(PL2)のデータアウトが開始される。
【0224】
次に、
図16に示すように、メモリコントローラ300は、チップ1(CP1)のプレーン3(PL3)で実行されたノーマルリードの読み出しデータのプリフェッチを予約する。
【0225】
より具体的には、チップ1(CP1)のプレーン2(PL2)においてデータアウトが終わると、メモリコントローラ300は、チップ1(CP1)のプレーン3(PL3)のプリフェッチを予約するために、コマンド<05h>、アドレス<Ad13>、及びコマンド<E0h>を発行する。
【0226】
チップ1(CP1)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad13>、及びコマンド<E0h>を受信する。この後、チップ0(CP0)のプレーン3(PL3)のプリフェッチの予約及び実行と同様に、チップ1(CP1)のプレーン3(PL3)のプリフェッチが予約され、プリフェッチが開始される。信号CB13がレディ状態のときにコマンド<E0h>を受信すると、チップ1(CP1)のシーケンサ30は、即座にチップ1(CP1)のプレーン3(PL3)のプリフェッチを実行する。
【0227】
次に、メモリコントローラ300は、チップ1(CP1)のプレーン2(PL2)のキャッシュリードを実行する。コマンド<05h>、アドレス<Ad13>、及びコマンド<E0h>が発行された後、コマンド<00h>、アドレス<Ad12>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、チップ1(CP1)のプレーン2(PL2)の前述したキャッシュリードと同様である。このキャッシュリードが開始されると、チップ1(CP1)のシーケンサ30は、信号CB12をビジー状態にする。チップ1(CP1)のプレーン2(PL2)においてキャッシュ転送が終わると、シーケンサ30は、信号CB12をレディ状態にする。
【0228】
次に、
図16に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のステータスリードを実行する。コマンド<00h>、アドレス<Ad12>、及びコマンド<31h>が発行された後、コマンド<78h>及びアドレス<Ad03>が発行されることによって実行されるこのステータスリードの詳細は、チップ0(CP0)のプレーン3(PL3)の前述したステータスリードと同様である。
【0229】
次に、ステータスレジスタ21からレディ状態を示す信号CB03を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のデータアウトを実行する。
【0230】
より具体的には、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のデータアウトを実行するために、コマンド<XXh>を発行する。
【0231】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<XXh>を受信する。入出力回路10は、受信したコマンド<XXh>をチップ0(CP0)のコマンドレジスタ3(MR3)に送信する。
【0232】
コマンドレジスタ3(MR3)からコマンド<XXh>を受信すると、チップ0(CP0)のシーケンサ30は、プリフェッチを実行したプレーン3(PL3)のデータアウトを開始する。
【0233】
次に、
図16に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)で実行されたキャッシュリードの読み出しデータのプリフェッチを予約する。
【0234】
より具体的には、チップ0(CP0)のプレーン3(PL3)においてデータアウトが終わると、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のプリフェッチを予約するために、コマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>を発行する。
【0235】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>を受信する。この後、チップ0(CP0)のプレーン0(PL0)の前述したプリフェッチの予約及び実行と同様に、チップ0(CP0)のプレーン0(PL0)のプリフェッチが予約され、プリフェッチが開始される。信号CB00がビジー状態のときにコマンド<E0h>を受信すると、チップ0(CP0)のシーケンサ30は、信号CB00がビジー状態の期間に、チップ0(CP0)のプレーン0(PL0)のプリフェッチを実行する。
【0236】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のキャッシュリードを実行する。コマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>が発行された後、コマンド<00h>、アドレス<Ad03>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、チップ0(CP0)のプレーン3(PL3)の前述したキャッシュリードと同様である。このキャッシュリードが開始されると、チップ0(CP0)のシーケンサ30は、信号CB03をビジー状態にする。チップ0(CP0)のプレーン3(PL3)においてキャッシュ転送が終わると、シーケンサ30は、信号CB03をレディ状態にする。
【0237】
次に、
図17に示すように、メモリコントローラ300は、チップ1(CP1)のプレーン3(PL3)のステータスリードを実行する。コマンド<00h>、アドレス<Ad03>、及びコマンド<31h>が発行された後、コマンド<78h>及びアドレス<Ad13>が発行されることによって実行されるこのステータスリードの詳細は、チップ1(CP1)のプレーン3(PL3)の前述したステータスリードと同様である。
【0238】
次に、ステータスレジスタ21からレディ状態を示す信号CB13を受信すると、メモリコントローラ300は、チップ1(CP1)のプレーン3(PL3)のデータアウトを実行する。
【0239】
より具体的には、メモリコントローラ300は、チップ1(CP1)のプレーン3(PL3)のデータアウトを実行するために、コマンド<XXh>を発行する。
【0240】
チップ1(CP1)において、入出力回路10は、メモリコントローラ300が発行したコマンド<XXh>を受信する。この後、チップ0(CP0)のプレーン3(PL3)のデータアウトと同様に、プリフェッチを実行したプレーン3(PL3)のデータアウトが開始される。
【0241】
次に、
図17に示すように、メモリコントローラ300は、チップ1(CP1)のプレーン0(PL0)で実行されたキャッシュリードの読み出しデータのプリフェッチを予約する。
【0242】
より具体的には、チップ1(CP1)のプレーン3(PL3)においてデータアウトが終わると、メモリコントローラ300は、チップ1(CP1)のプレーン0(PL0)のプリフェッチを予約するために、コマンド<05h>、アドレス<Ad10>、及びコマンド<E0h>を発行する。
【0243】
チップ1(CP1)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad10>、及びコマンド<E0h>を受信する。この後、チップ1(CP1)のプレーン0(PL0)の前述したプリフェッチの予約及び実行と同様に、チップ1(CP1)のプレーン0(PL0)のプリフェッチが予約され、プリフェッチが開始される。信号CB10がビジー状態のときにコマンド<E0h>を受信すると、チップ1(CP1)のシーケンサ30は、信号CB10がビジー状態の期間に、チップ1(CP1)のプレーン0(PL0)のプリフェッチを実行する。
【0244】
次に、メモリコントローラ300は、チップ1(CP1)のプレーン3(PL3)のキャッシュリードを実行する。コマンド<05h>、アドレス<Ad10>、及びコマンド<E0h>が発行された後、コマンド<00h>、アドレス<Ad13>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、チップ1(CP1)のプレーン3(PL3)の前述したキャッシュリードと同様である。このキャッシュリードが開始されると、チップ1(CP1)のシーケンサ30は、信号CB13をビジー状態にする。チップ1(CP1)のプレーン3(PL3)においてキャッシュ転送が終わると、シーケンサ30は、信号CB13をレディ状態にする。
【0245】
以降は、チップ0(CP0)のプレーン0~プレーン3(PL0~PL3)、及びチップ1(CP1)のプレーン0~プレーン3(PL0~PL3)内の読み出し対象の全てのデータがデータアウトされるまでE~Kの期間のコマンドシーケンスが繰り返される。
【0246】
1.3 効果
図39に、比較例に係るNANDチップの動作を示す。比較例に係るNANDチップは、メモリコントローラ300から、キャッシュリードを実行させるためのコマンド<00h>、アドレス<Ad00>、及びコマンド<31h>を受け付けてから、データアウトを実行させるためのコマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>を受け付ける。そして、比較例に係るNANDチップは、メモリコントローラ300が発行するコマンド“31h”を受け付けてから、信号CBがレディ状態となった後に、コマンド“05h”を受け付けることによって、プリフェッチとデータアウトを実行する。
【0247】
これに対して、本実施形態に係るメモリシステム100においては、メモリコントローラ300は、半導体記憶装置200に、キャッシュリードを実行させるためのコマンド<00h>、アドレス<Ad00>、及びコマンド<31h>を発行してから、データアウトを実行させるためのコマンド“XXh”を発行するまでの間に、プリフェッチを予約するためのコマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>を発行する。本実施形態に係るNANDチップは、信号CBがビジー状態であるかレディ状態であるかに関係なく、コマンド“05h”を受け付けることができる。これにより、本実施形態に係るNANDチップは、メモリコントローラ300が発行するコマンド“31h”を受け付けてからコマンド“XXh”を受け付けるまでの間にコマンド“05h”を受け付けると、プリフェッチの予約をすることができる。
【0248】
図40に、本実施形態に係るNANDチップにおいて、信号CBがビジー状態であるときにコマンド“05h”を受け付けた場合の動作を示す。この場合、シーケンサ30は、キャッシュ転送に続いてプリフェッチを実行し、プリフェッチを実行した後に、信号CBをレディ状態にする。これにより、信号CBがレディ状態となる前に、メモリセルアレイ51からデータレジスタ54に読み出されたデータDATが、データレジスタ54からFIFO回路12に取り込まれている。従って、信号CBがレディ状態となった後、即座に、データアウトを実行することができる。
【0249】
本実施形態に係る構成によれば、メモリコントローラ300は、チップ内の各プレーンについて、コマンド“31h”を発行してからコマンド“XXh”を発行するまでの間に、信号CBがビジー状態であるかレディ状態であるかに関係なく、コマンド“05h”を発行することができる。すなわち、読み出し動作中にプリフェッチを予約できるため、読み出し動作が終わってからプリフェッチを予約する場合よりもデータアウトを開始するまでの期間を短くすることができる。よって、メモリシステムの動作を高速化できる。
【0250】
また、
図8~17に示すように、本実施形態に係るメモリシステム100において、メモリコントローラ300は、半導体記憶装置200に含まれる複数のNANDチップのいずれかにプリフェッチを予約するためのコマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>を発行した後、当該NANDチップにおいてプリフェッチが実行されている間に、他のNANDチップに対して、例えば、キャッシュリードを指示させるめのコマンドを発行することができる。従って、1つのデータバスDBに複数のNANDチップが接続された構成において、データバスDBが使用されない時間を抑制し、データバスDBの使用効率を向上させることができる。
【0251】
2.第2実施形態
第2実施形態に係るメモリシステム100について説明する。本実施形態に係るメモリシステム100は、第1実施形態に係るメモリシステム100において、入出力回路10内に2つのFIFO回路が設けられ、アドレスレジスタ22内に4つのカラムアドレスレジスタが設けられたものである。以下では、第1実施形態と異なる点を中心に説明する。
【0252】
2.1 入出力回路10の構成
入出力回路10の構成について、
図18を用いて説明する。
図18は、本実施形態に係るメモリシステム100に含まれるNANDチップ0(CP0)の構成を、入出力回路10及びレジスタ20に着目して示したブロック図である。なお、
図18では、ステータスレジスタ21及び電圧生成回路40は省略されている。
【0253】
入出力回路10は、DQパッド11、並びにFIFO回路12A及び12Bを含む。DQパッド11は、FIFO回路12Aを介してデータレジスタ54A及び54Cに接続される。また、DQパッド11は、FIFO回路12Bを介してデータレジスタ54B及び54Dに接続される。FIFO回路12A及び12Bは、第1実施形態の
図6で説明したFIFO回路12と同じ構成を有する。
【0254】
2.2 レジスタ20の構成
レジスタ20の構成について、
図18を用いて説明する。
【0255】
アドレスレジスタ22は、第1実施形態の
図6で説明したアドレスレジスタ22において、カラムアドレスレジスタ1(CR1)、及びカラムアドレスレジスタ1’(CR1’)を更に含む。カラムアドレスレジスタ1(CR1)は、第1実施形態の
図6で説明したカラムアドレスレジスタ0(CR0)と同じ構成を有する。カラムアドレスレジスタ1’(CR1’)は、第1実施形態の
図6で説明したカラムアドレスレジスタ0’(CR0’)と同じ構成を有する。
【0256】
カラムアドレスレジスタ0(CR0)は、入出力回路10、並びにプレーン0及びプレーン2(PL0及びPL2)に接続され、入出力回路10から受信したプレーン0及びプレーン2(PL0及びPL2)のカラムアドレスCAを記憶する。カラムアドレスレジスタ0’(CR0’)は、カラムアドレスレジスタ0(CR0)、並びにプレーン0及びプレーン2(PL0及びPL2)に接続され、カラムアドレスレジスタ0(CR0)から受信した(コピーされた)カラムアドレスCAを記憶する。
【0257】
カラムアドレスレジスタ1(CR1)は、入出力回路10、並びにプレーン1及びプレーン3(PL1及びPL3)に接続され、入出力回路10から受信したプレーン1及びプレーン3(PL1及びPL3)のカラムアドレスCAを記憶する。カラムアドレスレジスタ1’(CR1’)は、カラムアドレスレジスタ1(CR1)、並びにプレーン1及びプレーン3(PL1及びPL3)に接続され、カラムアドレスレジスタ1(CR1)から受信した(コピーされた)カラムアドレスCAを記憶する。
【0258】
カラムアドレスレジスタ0(CR0)は、カラムデコーダ55A及び55CにカラムアドレスCAを送信する。より具体的には、カラムアドレスレジスタ0(CR0)は、カラムアドレスCAで指定されるプレーンの最初のカラムアドレスCAをカラムデコーダ55A及び55Cに送信する。最初のカラムアドレスCAがカラムデコーダ55A及び55Cに送信されると、カラムアドレスカウンタ回路CC0は、カラムアドレスCAを1だけインクリメントし、カラムアドレスレジスタ0(CR0)は、最初のカラムアドレスCAの次のカラムアドレスCAをカラムデコーダ55A及び55Cに送信する。最後のカラムアドレスCAがカラムデコーダ55A及び55Cに送信されると、カラムデコーダ55A及び55CへのカラムアドレスCAの送信は終了となる。カラムアドレスレジスタ0’(CR0’)は、カラムアドレスレジスタ0(CR0)と同様にカラムデコーダ55A及び55CにカラムアドレスCAを送信する。
【0259】
カラムアドレスレジスタ1(CR1)は、カラムデコーダ55B及び55DにカラムアドレスCAを送信する。より具体的には、カラムアドレスレジスタ1(CR1)は、カラムアドレスCAで指定されるプレーンの最初のカラムアドレスCAをカラムデコーダ55B及び55Dに送信する。最初のカラムアドレスCAがカラムデコーダ55B及び55Dに送信されると、カラムアドレスカウンタ回路CC1は、カラムアドレスCAを1だけインクリメントし、カラムアドレスレジスタ1(CR1)は、最初のカラムアドレスCAの次のカラムアドレスCAをカラムデコーダ55B及び55Dに送信する。最後のカラムアドレスCAがカラムデコーダ55B及び55Dに送信されると、カラムデコーダ55B及び55DへのカラムアドレスCAの送信は終了となる。カラムアドレスレジスタ1’(CR1’)は、カラムアドレスレジスタ1(CR1)と同様にカラムデコーダ55B及び55DにカラムアドレスCAを送信する。
【0260】
2.3 動作
本実施形態に係るメモリシステム100の動作について、
図19~
図23を用いて説明する。
図19~
図23は、本実施形態に係るメモリシステム100の読み出し動作におけるコマンドシーケンスの一例を示す図である。以下では、信号CEn1及びCEn2が同じ信号(CEn1=CEn2=CEn)であり、チップ0(CP0)において、プレーン0~プレーン3(PL0~PL3)の順に繰り返しデータを読み出す場合を例に挙げて説明する。
図19~
図23には、チップ0(CP0)の各プレーンの信号CB00~信号CB03も示されている。チップ1(CP1)からデータを読み出す場合も同様である。本実施形態の読み出し動作は、シングルプレーンリードである。
【0261】
まず、
図19に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のノーマルリードを実行する。
【0262】
より具体的には、メモリコントローラ300は、信号CEnを“L”レベルにした後、チップ0(CP0)のプレーン0(PL0)のノーマルリードを実行するために、コマンド<00h>、アドレス<Ad00>、及びコマンド<30h>を発行する。
【0263】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad00>、及びコマンド<30h>を受信する。入出力回路10は、アドレス<Ad00>に基づいて、受信したコマンド<00h>をコマンドレジスタ0(MR0)に送信する。入出力回路10は、受信したアドレス<Ad00>のロウアドレスRAをロウアドレスレジスタ0(RR0)に送信し、受信したアドレス<Ad00>のカラムアドレスCAをカラムアドレスレジスタ0(CR0)に送信する。入出力回路10は、アドレス<Ad00>に基づいて、受信したコマンド<30h>をコマンドレジスタ0(MR0)に送信する。
【0264】
アドレス<Ad00>のロウアドレスRAがロウアドレスレジスタ0(RR0)に格納されると、ロウアドレスレジスタ0(RR0)は、ロウアドレスRAをロウデコーダ52Aに送信する。
【0265】
コマンドレジスタ0(MR0)からコマンド<30h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン0(PL0)においてノーマルリードを開始する。シーケンサ30は、信号CB00をビジー状態にする。信号CB00は、ステータスレジスタ21に格納される。チップ0(CP0)のプレーン0(PL0)においてノーマルリードが終わると、シーケンサ30は、信号CB00をレディ状態にする。チップ0(CP0)のプレーン0(PL0)は、次のコマンドを受け付け可能となる。
【0266】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のノーマルリードを実行する。
【0267】
より具体的には、コマンド<00h>、アドレス<Ad00>、及びコマンド<30h>が発行された後、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のノーマルリードを実行するために、コマンド<00h>、アドレス<Ad01>、及びコマンド<30h>を発行する。
【0268】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad01>、及びコマンド<30h>を受信する。入出力回路10は、アドレス<Ad01>に基づいて、受信したコマンド<00h>をコマンドレジスタ1(MR1)に送信する。入出力回路10は、受信したアドレス<Ad01>のロウアドレスRAをロウアドレスレジスタ1(RR1)に送信し、受信したアドレス<Ad01>のカラムアドレスCAをカラムアドレスレジスタ1(CR1)に送信する。入出力回路10は、アドレス<Ad01>に基づいて、受信したコマンド<30h>をコマンドレジスタ1(MR1)に送信する。
【0269】
アドレス<Ad01>のロウアドレスRAがロウアドレスレジスタ1(RR1)に格納されると、ロウアドレスレジスタ1(RR1)は、ロウアドレスRAをロウデコーダ52Bに送信する。
【0270】
コマンドレジスタ1(MR1)からコマンド<30h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン1(PL1)においてノーマルリードを開始する。シーケンサ30は、信号CB01をビジー状態にする。信号CB01は、ステータスレジスタ21に格納される。チップ0(CP0)のプレーン1(PL1)においてノーマルリードが終わると、シーケンサ30は、信号CB01をレディ状態にする。チップ0(CP0)のプレーン1(PL1)は、次のコマンドを受け付け可能となる。
【0271】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のノーマルリードを実行する。
【0272】
より具体的には、コマンド<00h>、アドレス<Ad01>、及びコマンド<30h>が発行された後、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のノーマルリードを実行するために、コマンド<00h>、アドレス<Ad02>、及びコマンド<30h>を発行する。
【0273】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad02>、及びコマンド<30h>を受信する。入出力回路10は、アドレス<Ad02>に基づいて、受信したコマンド<00h>をコマンドレジスタ2(MR2)に送信する。入出力回路10は、受信したアドレス<Ad02>のロウアドレスRAをロウアドレスレジスタ2(RR2)に送信し、受信したアドレス<Ad02>のカラムアドレスCAをカラムアドレスレジスタ0(CR0)に送信する。入出力回路10は、アドレス<Ad02>に基づいて、受信したコマンド<30h>をコマンドレジスタ2(MR2)に送信する。
【0274】
アドレス<Ad02>のロウアドレスRAがロウアドレスレジスタ2(RR2)に格納されると、ロウアドレスレジスタ2(RR2)は、ロウアドレスRAをロウデコーダ52Cに送信する。
【0275】
コマンドレジスタ2(MR2)からコマンド<30h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン2(PL2)においてノーマルリードを開始する。シーケンサ30は、信号CB02をビジー状態にする。信号CB02は、ステータスレジスタ21に格納される。チップ0(CP0)のプレーン2(PL2)においてノーマルリードが終わると、シーケンサ30は、信号CB02をレディ状態にする。チップ0(CP0)のプレーン2(PL2)は、次のコマンドを受け付け可能となる。
【0276】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のノーマルリードを実行する。
【0277】
より具体的には、コマンド<00h>、アドレス<Ad02>、及びコマンド<30h>が発行された後、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のノーマルリードを実行するために、コマンド<00h>、アドレス<Ad03>、及びコマンド<30h>を発行する。
【0278】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad03>、及びコマンド<30h>を受信する。入出力回路10は、アドレス<Ad03>に基づいて、受信したコマンド<00h>をコマンドレジスタ3(MR3)に送信する。入出力回路10は、受信したアドレス<Ad03>のロウアドレスRAをロウアドレスレジスタ3(RR3)に送信し、受信したアドレス<Ad03>のカラムアドレスCAをカラムアドレスレジスタ1(CR1)に送信する。入出力回路10は、アドレス<Ad03>に基づいて、受信したコマンド<30h>をコマンドレジスタ3(MR3)に送信する。
【0279】
アドレス<Ad03>のロウアドレスRAがロウアドレスレジスタ3(RR3)に格納されると、ロウアドレスレジスタ3(RR3)は、ロウアドレスRAをロウデコーダ52Dに送信する。
【0280】
コマンドレジスタ3(MR3)からコマンド<30h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン3(PL3)においてノーマルリードを開始する。シーケンサ30は、信号CB03をビジー状態にする。信号CB03は、ステータスレジスタ21に格納される。チップ0(CP0)のプレーン3(PL3)においてノーマルリードが終わると、シーケンサ30は、信号CB03をレディ状態にする。チップ0(CP0)のプレーン3(PL3)は、次のコマンドを受け付け可能となる。
【0281】
次に、
図20に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のステータスリードを実行する。コマンド<00h>、アドレス<Ad03>、及びコマンド<30h>が発行された後、コマンド<78h>及びアドレス<Ad00>が発行されることによって実行されるこのステータスリードの詳細は、第1実施形態と同様である。
【0282】
次に、ステータスレジスタ21からレディ状態を示す信号CB00を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のキャッシュリードを実行する。
【0283】
より具体的には、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のキャッシュリードを実行するために、コマンド<00h>、アドレス<Ad00>、及びコマンド<31h>を発行する。
【0284】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad00>、及びコマンド<31h>を受信する。この後、チップ0(CP0)のプレーン0(PL0)の前述したノーマルリードと同様に、チップ0(CP0)のプレーン0(PL0)のキャッシュリードが開始される。チップ0(CP0)のシーケンサ30は、信号CB00をビジー状態にする。
【0285】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)で実行されたノーマルリードの読み出しデータのプリフェッチを予約する。
【0286】
より具体的には、コマンド<00h>、アドレス<Ad00>、及びコマンド<31h>が発行され、キャッシュリードが実行されている期間(すなわち信号CB00がビジー状態の期間)に、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のプリフェッチを予約するために、コマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>を発行する。
【0287】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>を受信する。入出力回路10は、アドレス<Ad00>に基づいて、受信したコマンド<05h>をコマンドレジスタ0(MR0)に送信するとともに、コマンド<05h>をコマンドレジスタ0’(MR0’)にコピーする。入出力回路10は、受信したアドレス<Ad00>のロウアドレスRAをロウアドレスレジスタ0(RR0)に送信するとともに、アドレス<Ad00>のロウアドレスRAをロウアドレスレジスタ0’(RR0’)にコピーする。入出力回路10は、受信したアドレス<Ad00>のカラムアドレスCAをカラムアドレスレジスタ0(CR0)に送信するとともに、アドレス<Ad00>のカラムアドレスCAをカラムアドレスレジスタ0’(CR0’)にコピーする。入出力回路10は、アドレス<Ad00>に基づいて、受信したコマンド<E0h>をコマンドレジスタ0(MR0)に送信するとともに、コマンド<E0h>をコマンドレジスタ0’(MR0’)にコピーする。
【0288】
アドレス<Ad00>のロウアドレスRAがロウアドレスレジスタ0’(RR0’)にコピーされると、ロウアドレスレジスタ0’(RR0’)は、ロウアドレスRAをロウデコーダ52Aに送信する。
【0289】
コマンドレジスタ0’(MR0’)からコマンド<E0h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン0(PL0)においてプリフェッチを予約する。そして、シーケンサ30は、プリフェッチを開始する。信号CB00がビジー状態のときにコマンド<E0h>を受信すると、シーケンサ30は、信号CB00がビジー状態の期間に、チップ0(CP0)のプレーン0(PL0)のプリフェッチを実行する。より具体的には、シーケンサ30は、信号CB00がビジー状態のときにコマンド<E0h>を受信すると、キャッシュ転送に続いて、プリフェッチを実行する。
【0290】
プリフェッチが開始されると、チップ0(CP0)のシーケンサ30は、カラムアドレスカウンタ回路CC0’のカウンタ値CNTを0にリセットする。カラムアドレスレジスタ0’(CR0’)は、最初のカラムアドレスCAから最後のカラムアドレスCAまでをカラムデコーダ55A及び55Cに送信する。カラムデコーダ55Aでは、アドレス<Ad00>のカラムアドレスCAをデコードした結果に基づいて、データレジスタ54A内の対応するラッチ回路を選択する。順に選択されたラッチ回路のデータが、FIFO回路12Aに送信される。プリフェッチが完了すると、シーケンサ30は、信号CB00をレディ状態にする。
【0291】
次に、
図20に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のステータスリードを実行する。コマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>が発行された後、コマンド<78h>及びアドレス<Ad01>が発行されることによって実行されるこのステータスリードの詳細は、第1実施形態と同様である。
【0292】
次に、ステータスレジスタ21からレディ状態を示す信号CB01を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のキャッシュリードを実行する。
【0293】
より具体的には、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のキャッシュリードを実行するために、コマンド<00h>、アドレス<Ad01>、及びコマンド<31h>を発行する。
【0294】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad01>、及びコマンド<31h>を受信する。この後、チップ0(CP0)のプレーン1(PL1)の前述したノーマルリードと同様に、チップ0(CP0)のプレーン1(PL1)のキャッシュリードが開始される。チップ0(CP0)のシーケンサ30は、信号CB01をビジー状態にする。
【0295】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)で実行されたノーマルリードの読み出しデータのプリフェッチを予約する。
【0296】
より具体的には、コマンド<00h>、アドレス<Ad01>、及びコマンド<31h>が発行され、キャッシュリードが実行されている期間(すなわち信号CB01がビジー状態の期間)に、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のプリフェッチを予約するために、コマンド<05h>、アドレス<Ad01>、及びコマンド<E0h>を発行する。
【0297】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad01>、及びコマンド<E0h>を受信する。入出力回路10は、アドレス<Ad01>に基づいて、受信したコマンド<05h>をコマンドレジスタ1(MR1)に送信するとともに、コマンド<05h>をコマンドレジスタ1’(MR1’)にコピーする。入出力回路10は、受信したアドレス<Ad01>のロウアドレスRAをロウアドレスレジスタ1(RR1)に送信するとともに、アドレス<Ad01>のロウアドレスRAをロウアドレスレジスタ1’(RR1’)にコピーする。入出力回路10は、受信したアドレス<Ad01>のカラムアドレスCAをカラムアドレスレジスタ1(CR1)に送信するとともに、アドレス<Ad01>のカラムアドレスCAをカラムアドレスレジスタ1’(CR1’)にコピーする。入出力回路10は、アドレス<Ad01>に基づいて、受信したコマンド<E0h>をコマンドレジスタ1(MR1)に送信するとともに、コマンド<E0h>をコマンドレジスタ1’(MR1’)にコピーする。
【0298】
アドレス<Ad01>のロウアドレスRAがロウアドレスレジスタ1’(RR1’)にコピーされると、ロウアドレスレジスタ1’(RR1’)は、ロウアドレスRAをロウデコーダ52Bに送信する。
【0299】
コマンドレジスタ1’(MR1’)からコマンド<E0h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン1(PL1)においてプリフェッチを予約する。そして、シーケンサ30は、プリフェッチを開始する。信号CB01がビジー状態のときにコマンド<E0h>を受信すると、シーケンサ30は、信号CB01がビジー状態の期間に、チップ0(CP0)のプレーン1(PL1)のプリフェッチを実行する。より具体的には、シーケンサ30は、信号CB01がビジー状態のときにコマンド<E0h>を受信すると、キャッシュ転送に続いて、プリフェッチを実行する。
【0300】
プリフェッチが開始されると、チップ0(CP0)のシーケンサ30は、カラムアドレスカウンタ回路CC1’のカウンタ値CNTを0にリセットする。カラムアドレスレジスタ1’(CR1’)は、最初のカラムアドレスCAから最後のカラムアドレスCAまでをカラムデコーダ55B及び55Dに送信する。カラムデコーダ55Bでは、アドレス<Ad01>のカラムアドレスCAをデコードした結果に基づいて、データレジスタ54B内の対応するラッチ回路を選択する。順に選択されたラッチ回路のデータが、FIFO回路12Bに送信される。プリフェッチが完了すると、シーケンサ30は、信号CB01をレディ状態にする。
【0301】
次に、
図20に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のステータスリードを実行する。コマンド<05h>、アドレス<Ad01>、及びコマンド<E0h>が発行された後、コマンド<78h>及びアドレス<Ad02>が発行されることによって実行されるこのステータスリードの詳細は、第1実施形態と同様である。
【0302】
次に、ステータスレジスタ21からレディ状態を示す信号CB02を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のキャッシュリードを実行する。
【0303】
より具体的には、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のキャッシュリードを実行するために、コマンド<00h>、アドレス<Ad02>、及びコマンド<31h>を発行する。
【0304】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad02>、及びコマンド<31h>を受信する。この後、チップ0(CP0)のプレーン2(PL2)の前述したノーマルリードと同様に、チップ0(CP0)のプレーン2(PL2)のキャッシュリードが開始される。チップ0(CP0)のシーケンサ30は、信号CB02をビジー状態にする。チップ0(CP0)のプレーン2(PL2)においてキャッシュ転送が終わると、シーケンサ30は、信号CB02をレディ状態にする。
【0305】
次に、
図21に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のステータスリードを実行する。コマンド<00h>、アドレス<Ad02>、及びコマンド<31h>が発行された後、コマンド<78h>及びアドレス<Ad03>が発行されることによって実行されるこのステータスリードの詳細は、第1実施形態と同様である。
【0306】
次に、ステータスレジスタ21からレディ状態を示す信号CB03を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のキャッシュリードを実行する。
【0307】
より具体的には、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のキャッシュリードを実行するために、コマンド<00h>、アドレス<Ad03>、及びコマンド<31h>を発行する。
【0308】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad03>、及びコマンド<31h>を受信する。この後、チップ0(CP0)のプレーン3(PL3)の前述したノーマルリードと同様に、チップ0(CP0)のプレーン3(PL3)のキャッシュリードが開始される。チップ0(CP0)のシーケンサ30は、信号CB03をビジー状態にする。チップ0(CP0)のプレーン3(PL3)においてキャッシュ転送が終わると、シーケンサ30は、信号CB03をレディ状態にする。
【0309】
次に、
図21に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のステータスリードを実行する。コマンド<00h>、アドレス<Ad03>、及びコマンド<31h>が発行された後、コマンド<78h>及びアドレス<Ad00>が発行されることによって実行されるこのステータスリードの詳細は、第1実施形態と同様である。
【0310】
次に、ステータスレジスタ21からレディ状態を示す信号CB00を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のデータアウトを実行する。メモリコントローラ300がステータスレジスタ21からレディ状態を示す信号CB00を受信した後、コマンド<XXh>が発行されることによって実行されるこのデータアウト(プリフェッチを実行したプレーン0(PL0)のデータアウト)の詳細は、第1実施形態と同様である。
【0311】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)で実行されたノーマルリードの読み出しデータのプリフェッチを予約する。
【0312】
より具体的には、チップ0(CP0)のプレーン0(PL0)においてデータアウトが終わると、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のプリフェッチを予約するために、コマンド<05h>、アドレス<Ad02>、及びコマンド<E0h>を発行する。
【0313】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad02>、及びコマンド<E0h>を受信する。入出力回路10は、アドレス<Ad02>に基づいて、受信したコマンド<05h>をコマンドレジスタ2(MR2)に送信するとともに、コマンド<05h>をコマンドレジスタ2’(MR2’)にコピーする。入出力回路10は、受信したアドレス<Ad02>のロウアドレスRAをロウアドレスレジスタ2(RR2)に送信するとともに、アドレス<Ad02>のロウアドレスRAをロウアドレスレジスタ2’(RR2’)にコピーする。入出力回路10は、受信したアドレス<Ad02>のカラムアドレスCAをカラムアドレスレジスタ0(CR0)に送信するとともに、アドレス<Ad02>のカラムアドレスCAをカラムアドレスレジスタ0’(CR0’)にコピーする。入出力回路10は、アドレス<Ad02>に基づいて、受信したコマンド<E0h>をコマンドレジスタ2(MR2)に送信するとともに、コマンド<E0h>をコマンドレジスタ2’(MR2’)にコピーする。
【0314】
アドレス<Ad02>のロウアドレスRAがロウアドレスレジスタ2’(RR2’)にコピーされると、ロウアドレスレジスタ2’(RR2’)は、ロウアドレスRAをロウデコーダ52Cに送信する。
【0315】
コマンドレジスタ2’(MR2’)からコマンド<E0h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン2(PL2)においてプリフェッチを予約する。そして、シーケンサ30は、プリフェッチを開始する。信号CB02がレディ状態のときにコマンド<E0h>を受信すると、シーケンサ30は、即座にチップ0(CP0)のプレーン2(PL2)のプリフェッチを実行する。
【0316】
プリフェッチが開始されると、チップ0(CP0)のシーケンサ30は、カラムアドレスカウンタ回路CC0’のカウンタ値CNTを0にリセットする。カラムアドレスレジスタ0’(CR0’)は、最初のカラムアドレスCAから最後のカラムアドレスCAまでをカラムデコーダ55A及び55Cに送信する。カラムデコーダ55Cでは、アドレス<Ad02>のカラムアドレスCAをデコードした結果に基づいて、データレジスタ54C内の対応するラッチ回路を選択する。順に選択されたラッチ回路のデータが、FIFO回路12Aに送信される。
【0317】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のキャッシュリードを実行する。コマンド<05h>、アドレス<Ad02>、及びコマンド<E0h>が発行された後、コマンド<00h>、アドレス<Ad00>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、チップ0(CP0)のプレーン0(PL0)の前述したキャッシュリードと同様である。このキャッシュリードが開始されると、チップ0(CP0)のシーケンサ30は、信号CB00をビジー状態にする。チップ0(CP0)のプレーン0(PL0)においてキャッシュ転送が終わると、シーケンサ30は、信号CB00をレディ状態にする。
【0318】
次に、
図22に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のステータスリードを実行する。コマンド<00h>、アドレス<Ad00>、及びコマンド<31h>が発行された後、コマンド<78h>及びアドレス<Ad01>が発行されることによって実行されるこのステータスリードの詳細は、第1実施形態と同様である。
【0319】
次に、ステータスレジスタ21からレディ状態を示す信号CB01を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のデータアウトを実行する。メモリコントローラ300がステータスレジスタ21からレディ状態を示す信号CB01を受信した後、コマンド<XXh>が発行されることによって実行されるこのデータアウト(プリフェッチを実行したプレーン1(PL1)のデータアウト)の詳細は、第1実施形態と同様である。
【0320】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)で実行されたノーマルリードの読み出しデータのプリフェッチを予約する。
【0321】
より具体的には、チップ0(CP0)のプレーン1(PL1)においてデータアウトが終わると、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のプリフェッチを予約するために、コマンド<05h>、アドレス<Ad03>、及びコマンド<E0h>を発行する。
【0322】
チップ0(CP0)において入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad03>、及びコマンド<E0h>を受信する。入出力回路10は、アドレス<Ad03>に基づいて、受信したコマンド<05h>をコマンドレジスタ3(MR3)に送信するとともに、コマンド<05h>をコマンドレジスタ3’(MR3’)にコピーする。入出力回路10は、受信したアドレス<Ad03>のロウアドレスRAをロウアドレスレジスタ3(RR3)に送信するとともに、アドレス<Ad03>のロウアドレスRAをロウアドレスレジスタ3’(RR3’)にコピーする。入出力回路10は、受信したアドレス<Ad03>のカラムアドレスCAをカラムアドレスレジスタ1(CR1)に送信するとともに、アドレス<Ad03>のカラムアドレスCAをカラムアドレスレジスタ1’(CR1’)にコピーする。入出力回路10は、アドレス<Ad03>に基づいて、受信したコマンド<E0h>をコマンドレジスタ3(MR3)に送信するとともに、コマンド<E0h>をコマンドレジスタ3’(MR3’)にコピーする。
【0323】
アドレス<Ad03>のロウアドレスRAがロウアドレスレジスタ3’(RR3’)にコピーされると、ロウアドレスレジスタ3’(RR3’)は、ロウアドレスRAをロウデコーダ52Dに送信する。
【0324】
コマンドレジスタ3’(MR3’)からコマンド<E0h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン3(PL3)においてプリフェッチを予約する。そして、シーケンサ30は、プリフェッチを開始する。信号CB03がレディ状態のときにコマンド<E0h>を受信すると、シーケンサ30は、即座にチップ0(CP0)のプレーン3(PL3)のプリフェッチを実行する。
【0325】
プリフェッチが開始されると、チップ0(CP0)のシーケンサ30は、カラムアドレスカウンタ回路CC1’のカウンタ値CNTを0にリセットする。カラムアドレスレジスタ1’(CR1’)は、最初のカラムアドレスCAから最後のカラムアドレスCAまでをカラムデコーダ55B及び55Dに送信する。カラムデコーダ55Dでは、アドレス<Ad03>のカラムアドレスCAをデコードした結果に基づいて、データレジスタ54D内の対応するラッチ回路を選択する。順に選択されたラッチ回路のデータが、FIFO回路12Bに送信される。
【0326】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のキャッシュリードを実行する。コマンド<05h>、アドレス<Ad03>、及びコマンド<E0h>が発行された後、コマンド<00h>、アドレス<Ad01>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、チップ0(CP0)のプレーン1(PL1)の前述したキャッシュリードと同様である。このキャッシュリードが開始されると、チップ0(CP0)のシーケンサ30は、信号CB01をビジー状態にする。チップ0(CP0)のプレーン1(PL1)においてキャッシュ転送が終わると、シーケンサ30は、信号CB01をレディ状態にする。
【0327】
次に、
図22に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のステータスリードを実行する。コマンド<00h>、アドレス<Ad01>、及びコマンド<31h>が発行された後、コマンド<78h>及びアドレス<Ad02>が発行されることによって実行されるこのステータスリードの詳細は、第1実施形態と同様である。
【0328】
次に、ステータスレジスタ21からレディ状態を示す信号CB02を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のデータアウトを実行する。メモリコントローラ300がステータスレジスタ21からレディ状態を示す信号CB02を受信した後、コマンド<XXh>が発行されることによって実行されるこのデータアウト(プリフェッチを実行したプレーン2(PL2)のデータアウト)の詳細は、第1実施形態と同様である。
【0329】
次に、
図23に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)で実行されたキャッシュリードの読み出しデータのプリフェッチを予約する。
【0330】
より具体的には、チップ0(CP0)のプレーン2(PL2)においてデータアウトが終わると、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のプリフェッチを予約するために、コマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>を発行する。
【0331】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>を受信する。この後、チップ0(CP0)のプレーン0(PL0)の前述したプリフェッチの予約及び実行と同様に、チップ0(CP0)のプレーン0(PL0)のプリフェッチが予約され、プリフェッチが開始される。信号CB00がビジー状態のときにコマンド<E0h>を受信すると、チップ0(CP0)のシーケンサ30は、信号CB00がビジー状態の期間に、チップ0(CP0)のプレーン0(PL0)のプリフェッチを実行する。
【0332】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のキャッシュリードを実行する。コマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>が発行された後、コマンド<00h>、アドレス<Ad02>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、チップ0(CP0)のプレーン2(PL2)の前述したキャッシュリードと同様である。このキャッシュリードが開始されると、チップ0(CP0)のシーケンサ30は、信号CB02をビジー状態にする。チップ0(CP0)のプレーン2(PL2)においてキャッシュ転送が終わると、シーケンサ30は、信号CB02をレディ状態にする。
【0333】
次に、
図23に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のステータスリードを実行する。コマンド<00h>、アドレス<Ad02>、及びコマンド<31h>が発行された後、コマンド<78h>及びアドレス<Ad03>が発行されることによって実行されるこのステータスリードの詳細は、第1実施形態と同様である。
【0334】
次に、ステータスレジスタ21からレディ状態を示す信号CB03を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のデータアウトを実行する。メモリコントローラ300がステータスレジスタ21からレディ状態を示す信号CB03を受信した後、コマンド<XXh>が発行されることによって実行されるこのデータアウト(プリフェッチを実行したプレーン3(PL3)のデータアウト)の詳細は、第1実施形態と同様である。
【0335】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)で実行されたキャッシュリードの読み出しデータのプリフェッチを予約する。
【0336】
より具体的には、チップ0(CP0)のプレーン3(PL3)においてデータアウトが終わると、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のプリフェッチを予約するために、コマンド<05h>、アドレス<Ad01>、及びコマンド<E0h>を発行する。
【0337】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad01>、及びコマンド<E0h>を受信する。この後、チップ0(CP0)のプレーン1(PL1)の前述したプリフェッチの予約及び実行と同様に、チップ0(CP0)のプレーン1(PL1)のプリフェッチが予約され、プリフェッチが開始される。信号CB01がビジー状態のときにコマンド<E0h>を受信すると、チップ0(CP0)のシーケンサ30は、信号CB01がビジー状態の期間に、チップ0(CP0)のプレーン1(PL1)のプリフェッチを実行する。
【0338】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のキャッシュリードを実行する。コマンド<05h>、アドレス<Ad01>、及びコマンド<E0h>が発行された後、コマンド<00h>、アドレス<Ad03>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、チップ0(CP0)のプレーン3(PL3)の前述したキャッシュリードと同様である。このキャッシュリードが開始されると、チップ0(CP0)のシーケンサ30は、信号CB03をビジー状態にする。チップ0(CP0)のプレーン3(PL3)においてキャッシュ転送が終わると、シーケンサ30は、信号CB03をレディ状態にする。
【0339】
以降は、チップ0(CP0)のプレーン0~プレーン3(PL0~PL3)内の読み出し対象の全てのデータがデータアウトされるまでC~Fの期間のコマンドシーケンスが繰り返される。
【0340】
2.4 効果
本実施形態に係る構成によれば、第1実施形態と同様に、読み出し動作中にプリフェッチを予約できるため、読み出し動作が終わってからプリフェッチを予約する場合よりもデータアウトを開始するまでの期間を短くすることができる。よって、メモリシステムの動作を高速化できる。
【0341】
3.第3実施形態
第3実施形態に係るメモリシステム100について説明する。本実施形態に係るメモリシステム100は、第1実施形態に係るメモリシステム100において、NANDチップ0(CP0)内にバススイッチBSWが設けられたものである。以下では、第1実施形態と異なる点を中心に説明する。
【0342】
3.1 入出力回路10の構成
入出力回路10の構成について、
図24を用いて説明する。
図24は、本実施形態に係るメモリシステム100に含まれるNANDチップ0(CP0)の構成を、入出力回路10及びレジスタ20に着目して示したブロック図である。なお、
図24では、ステータスレジスタ21及び電圧生成回路40は省略されている。
【0343】
NANDチップ0(CP0)は、バススイッチBSWを含む。バススイッチBSWは、FIFO回路12に接続されている。バススイッチBSWは、データレジスタ54A~54Dに接続可能とされる。バススイッチBSWは、データレジスタ54A~54Dのいずれかを選択して接続できるように構成されている。
【0344】
3.2 データフローの概要
本実施形態に係るメモリシステム100の読み出し動作におけるデータフローの概要について、
図25を用いて説明する。以下では、メモリセルアレイ51A~51Dからデータレジスタ54A~54DにそれぞれnビットのデータDATが読み出される場合を例に挙げて説明する。なお、
図25では、メモリコントローラ300によって発行されたコマンドCMD及びアドレスADDがメモリコントローラ300からDQパッド11に送信される期間は省略されている。
【0345】
まず、プレーン0(PL0)のデータレジスタ54Aに、nビットのデータDAT(以下、ビット1~ビットnと表記する。
図25の1~nは、ビット1~ビットnに対応する)が格納されている。ビット1~ビットnは、ビット1から順に、カラムアドレスカウンタ回路CC0のカウンタ値CNTのカウントアップに対応する。
【0346】
この状態において、バススイッチBSWは、データレジスタ54Aと接続される。そして、プレーン0(PL0)においてプリフェッチが開始される。ビット1~ビットnは、ビット1から順に、データレジスタ54AからFIFO回路12に転送される。
【0347】
FIFO回路12に転送されたビット1~ビットnのデータは、転送された順に、DQパッド11を介してデータアウトされる。
【0348】
データレジスタ54AからFIFO回路12へのデータの転送が終わると、バススイッチBSWは、データレジスタ54Aからデータレジスタ54Bに接続を切り替える。そして、プレーン1(PL1)においてプリフェッチが開始される。データレジスタ54Bに格納されているnビットのデータDAT(以下、ビットn+1~ビット2nと表記する。
図25のn+1~2nは、ビットn+1~ビット2nに対応する)は、ビットn+1から順に、データレジスタ54BからFIFO回路12に転送される。
【0349】
FIFO回路12に転送されたビットn+1~ビット2nのデータは、転送された順に、DQパッド11を介してデータアウトされる。
【0350】
データレジスタ54BからFIFO回路12へのデータの転送が終わると、バススイッチBSWは、データレジスタ54Bからデータレジスタ54Cに接続を切り替える。そして、プレーン2(PL2)においてプリフェッチが開始される。データレジスタ54Cに格納されているnビットのデータDAT(以下、ビット2n+1~ビット3nと表記する。
図25の2n+1~3nは、ビット2n+1~ビット3nに対応する)は、ビット2n+1から順に、データレジスタ54CからFIFO回路12に転送される。
【0351】
FIFO回路12に転送されたビット2n+1~ビット3nのデータは、転送された順に、DQパッド11を介してデータアウトされる。
【0352】
データレジスタ54CからFIFO回路12へのデータの転送が終わると、バススイッチBSWは、データレジスタ54Cからデータレジスタ54Dに接続を切り替える。そして、プレーン3(PL3)においてプリフェッチが開始される。データレジスタ54Dに格納されているnビットのデータDAT(以下、ビット3n+1~ビット4nと表記する。
図25の3n+1~4nは、ビット3n+1~ビット4nに対応する)は、ビット3n+1から順に、データレジスタ54DからFIFO回路12に転送される。
【0353】
FIFO回路12に転送されたビット3n+1~ビット4nのデータは、転送された順に、DQパッド11を介してデータアウトされる。
【0354】
なお、バススイッチBSWからFIFO回路12までの構成は、ウェーブパイプラインとFIFO回路12とで構成してもよい。
【0355】
3.3 動作
本実施形態に係るメモリシステム100の動作について、
図26~
図29を用いて説明する。
図26~
図29は、本実施形態に係るメモリシステム100の読み出し動作におけるコマンドシーケンスの一例を示す図である。以下では、信号CEn1及びCEn2が同じ信号(CEn1=CEn2=CEn)であり、チップ0(CP0)において、プレーン0~プレーン3(PL0~PL3)の順に繰り返しデータを読み出す場合を例に挙げて説明する。
図26~
図29には、チップ0(CP0)の各プレーンの信号CB00~信号CB03も示されている。チップ1(CP1)からデータを読み出す場合も同様である。
【0356】
本実施形態の読み出し動作は、マルチプレーンリードである。なお、本明細書において、「マルチプレーンリード」とは、対象のチップにおいて、各プレーンから同時にデータDATを読み出す動作を意味する。
【0357】
まず、
図26に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のノーマルリードを実行する。
【0358】
より具体的には、信号CEnを“L”レベルにした後、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のノーマルリードを実行するために、コマンド<00h>、アドレス<Ad00>、及びコマンド<32h>を発行する。コマンド“32h”は、マルチプレーンリードにおいてノーマルリードを実行させるためのコマンドである。
【0359】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad00>、及びコマンド<32h>を受信する。入出力回路10は、アドレス<Ad00>に基づいて、受信したコマンド<00h>をコマンドレジスタ0(MR0)に送信する。入出力回路10は、受信したアドレス<Ad00>のロウアドレスRAをロウアドレスレジスタ0(RR0)に送信し、受信したアドレス<Ad00>のカラムアドレスCAをカラムアドレスレジスタ0(CR0)に送信する。入出力回路10は、アドレス<Ad00>に基づいて、受信したコマンド<32h>をコマンドレジスタ0(MR0)に送信する。
【0360】
アドレス<Ad00>のロウアドレスRAがロウアドレスレジスタ0(RR0)に格納されると、ロウアドレスレジスタ0(RR0)は、ロウアドレスRAをロウデコーダ52Aに送信する。
【0361】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のノーマルリードを実行する。
【0362】
より具体的には、コマンド<00h>、アドレス<Ad00>、及びコマンド<32h>が発行された後、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のノーマルリードを実行するために、コマンド<00h>、アドレス<Ad01>、及びコマンド<32h>を発行する。
【0363】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad01>、及びコマンド<32h>を受信する。入出力回路10は、アドレス<Ad01>に基づいて、受信したコマンド<00h>をコマンドレジスタ1(MR1)に送信する。入出力回路10は、受信したアドレス<Ad01>のロウアドレスRAをロウアドレスレジスタ1(RR1)に送信し、受信したアドレス<Ad01>のカラムアドレスCAをカラムアドレスレジスタ0(CR0)に送信する。入出力回路10は、アドレス<Ad01>に基づいて、受信したコマンド<32h>をコマンドレジスタ1(MR1)に送信する。
【0364】
アドレス<Ad01>のロウアドレスRAがロウアドレスレジスタ1(RR1)に格納されると、ロウアドレスレジスタ1(RR1)は、ロウアドレスRAをロウデコーダ52Bに送信する。
【0365】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のノーマルリードを実行する。
【0366】
より具体的には、コマンド<00h>、アドレス<Ad01>、及びコマンド<32h>が発行された後、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のノーマルリードを実行するために、コマンド<00h>、アドレス<Ad02>、及びコマンド<32h>を発行する。
【0367】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad02>、及びコマンド<32h>を受信する。入出力回路10は、アドレス<Ad02>に基づいて、受信したコマンド<00h>をコマンドレジスタ2(MR2)に送信する。入出力回路10は、受信したアドレス<Ad02>のロウアドレスRAをロウアドレスレジスタ2(RR2)に送信し、受信したアドレス<Ad02>のカラムアドレスCAをカラムアドレスレジスタ0(CR0)に送信する。入出力回路10は、アドレス<Ad02>に基づいて、受信したコマンド<32h>をコマンドレジスタ2(MR2)に送信する。
【0368】
アドレス<Ad02>のロウアドレスRAがロウアドレスレジスタ2(RR2)に格納されると、ロウアドレスレジスタ2(RR2)は、ロウアドレスRAをロウデコーダ52Cに送信する。
【0369】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のノーマルリードを実行する。
【0370】
より具体的には、コマンド<00h>、アドレス<Ad02>、及びコマンド<32h>が発行された後、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のノーマルリードを実行するために、コマンド<00h>、アドレス<Ad03>、及びコマンド<30h>を発行する。
【0371】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad03>、及びコマンド<30h>を受信する。入出力回路10は、アドレス<Ad03>に基づいて、受信したコマンド<00h>をコマンドレジスタ3(MR3)に送信する。入出力回路10は、受信したアドレス<Ad03>のロウアドレスRAをロウアドレスレジスタ3(RR3)に送信し、受信したアドレス<Ad03>のカラムアドレスCAをカラムアドレスレジスタ0(CR0)に送信する。入出力回路10は、アドレス<Ad03>に基づいて、受信したコマンド<30h>をコマンドレジスタ3(MR3)に送信する。
【0372】
アドレス<Ad03>のロウアドレスRAがロウアドレスレジスタ3(RR3)に格納されると、ロウアドレスレジスタ3(RR3)は、ロウアドレスRAをロウデコーダ52Dに送信する。
【0373】
コマンドレジスタ3(MR3)からコマンド<30h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン0~プレーン3(PL0~PL3)においてノーマルリードを開始する。シーケンサ30は、信号CB00~信号CB03をビジー状態にする。信号CB00~信号CB03は、ステータスレジスタ21に格納される。チップ0(CP0)のプレーン0~プレーン3(PL0~PL3)においてノーマルリードが終わると、シーケンサ30は、信号CB00~信号CB03をレディ状態にする。
【0374】
次に、
図27に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のステータスリードを実行する。
【0375】
より具体的には、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のステータスリードを実行するために、コマンド<78h>及びアドレス<Ad00>を発行する。
【0376】
チップ0(CP0)のシーケンサ30は、アドレス<Ad00>~<Ad03>に対応する信号CB00~信号CB03についてのステータス情報STSをメモリコントローラ300に送信する。
【0377】
次に、ステータスレジスタ21からレディ状態を示す信号CB00~信号CB03を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のノーマルリードを実行する。
【0378】
より具体的には、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のノーマルリードを実行するために、コマンド<00h>、アドレス<Ad00>、及びコマンド<32h>を発行する。
【0379】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad00>、及びコマンド<32h>を受信する。この後、チップ0(CP0)のプレーン0(PL0)の前述したノーマルリードと同様に、コマンド<00h>及びコマンド<32h>がコマンドレジスタ0(MR0)に送信され、アドレス<Ad00>のロウアドレスRAがロウアドレスレジスタ0(RR0)を介してロウデコーダ52Aに送信される。
【0380】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のノーマルリードを実行する。
【0381】
より具体的には、コマンド<00h>、アドレス<Ad00>、及びコマンド<32h>が発行された後、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のノーマルリードを実行するために、コマンド<00h>、アドレス<Ad01>、及びコマンド<32h>を発行する。
【0382】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad01>、及びコマンド<32h>を受信する。この後、チップ0(CP0)のプレーン1(PL1)の前述したノーマルリードと同様に、コマンド<00h>及びコマンド<32h>がコマンドレジスタ1(MR1)に送信され、アドレス<Ad01>のロウアドレスRAがロウアドレスレジスタ1(RR1)を介してロウデコーダ52Bに送信される。
【0383】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のノーマルリードを実行する。
【0384】
より具体的には、コマンド<00h>、アドレス<Ad01>、及びコマンド<32h>が発行された後、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のノーマルリードを実行するために、コマンド<00h>、アドレス<Ad02>、及びコマンド<32h>を発行する。
【0385】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad02>、及びコマンド<32h>を受信する。この後、チップ0(CP0)のプレーン2(PL2)の前述したノーマルリードと同様に、コマンド<00h>及びコマンド<32h>がコマンドレジスタ2(MR2)に送信され、アドレス<Ad02>のロウアドレスRAがロウアドレスレジスタ2(RR2)を介してロウデコーダ52Cに送信される。
【0386】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のキャッシュリードを実行する。
【0387】
より具体的には、コマンド<00h>、アドレス<Ad02>、及びコマンド<32h>が発行された後、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のキャッシュリードを実行するために、コマンド<00h>、アドレス<Ad03>、及びコマンド<31h>を発行する。
【0388】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<00h>、アドレス<Ad03>、及びコマンド<31h>を受信する。この後、チップ0(CP0)のプレーン3(PL3)の前述したノーマルリードと同様に、コマンド<00h>及びコマンド<31h>がコマンドレジスタ3(MR3)に送信され、アドレス<Ad03>のロウアドレスRAがロウアドレスレジスタ3(RR3)を介してロウデコーダ52Dに送信される。
【0389】
コマンドレジスタ3(MR3)からコマンド<31h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン0~プレーン2(PL0~PL2)においてノーマルリードを開始し、チップ0(CP0)のプレーン3(PL3)においてキャッシュリードを開始する。シーケンサ30は、信号CB00~信号CB03をビジー状態にする。
【0390】
次に、
図28に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)で実行されたノーマルリードの読み出しデータのプリフェッチを予約する。
【0391】
より具体的には、コマンド<00h>、アドレス<Ad03>、及びコマンド<31h>が発行され、キャッシュリードが実行されている期間(すなわち信号CB00がビジー状態の期間)に、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のプリフェッチを予約するために、コマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>を発行する。
【0392】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>を受信する。入出力回路10は、アドレス<Ad00>に基づいて、受信したコマンド<05h>をコマンドレジスタ0(MR0)に送信するとともに、コマンド<05h>をコマンドレジスタ0’(MR0’)にコピーする。入出力回路10は、受信したアドレス<Ad00>のロウアドレスRAをロウアドレスレジスタ0(RR0)に送信するとともに、アドレス<Ad00>のロウアドレスRAをロウアドレスレジスタ0’(RR0’)にコピーする。入出力回路10は、受信したアドレス<Ad00>のカラムアドレスCAをカラムアドレスレジスタ0(CR0)に送信するとともに、アドレス<Ad00>のカラムアドレスCAをカラムアドレスレジスタ0’(CR0’)にコピーする。入出力回路10は、アドレス<Ad00>に基づいて、受信したコマンド<E0h>をコマンドレジスタ0(MR0)に送信するとともに、コマンド<E0h>をコマンドレジスタ0’(MR0’)にコピーする。
【0393】
アドレス<Ad00>のロウアドレスRAがロウアドレスレジスタ0’(RR0’)にコピーされると、ロウアドレスレジスタ0’(RR0’)は、ロウアドレスRAをロウデコーダ52Aに送信する。
【0394】
コマンドレジスタ0’(MR0’)からコマンド<E0h>を受信すると、チップ0(CP0)のシーケンサ30は、バススイッチBSWをデータレジスタ54Aに接続し、プレーン0(PL0)においてプリフェッチを予約する。そして、シーケンサ30は、プリフェッチを開始する。すなわち、データレジスタ54AからFIFO回路12へのデータの転送が開始される。信号CB00がビジー状態のときにコマンド<E0h>を受信すると、シーケンサ30は、信号CB00がビジー状態の期間に、チップ0(CP0)のプレーン0(PL0)のプリフェッチを実行する。より具体的には、シーケンサ30は、信号CB00がビジー状態のときにコマンド<E0h>を受信すると、キャッシュ転送に続いて、プリフェッチを実行する。
【0395】
プリフェッチが開始されると、チップ0(CP0)のシーケンサ30は、カラムアドレスカウンタ回路CC0’のカウンタ値CNTを0にリセットする。カラムアドレスレジスタ0’(CR0’)は、最初のカラムアドレスCAから最後のカラムアドレスCAまでをカラムデコーダ55A~55Dに送信する。カラムデコーダ55Aでは、アドレス<Ad00>のカラムアドレスCAをデコードした結果に基づいて、データレジスタ54A内の対応するラッチ回路を選択する。順に選択されたラッチ回路のデータが、FIFO回路12に送信される。
【0396】
次に、
図28に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のステータスリードを実行する。コマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>が発行された後、コマンド<78h>及びアドレス<Ad00>が発行されることによって実行されるこのステータスリードの詳細は、チップ0(CP0)のプレーン0(PL0)の前述したステータスリードと同様である。
【0397】
次に、ステータスレジスタ21からレディ状態を示す信号CB00~信号CB3を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のデータアウトを実行する。
【0398】
より具体的には、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のデータアウトを実行するために、コマンド<YYh>を発行する。コマンド“YYh”は、チップ、及びチップ内の複数のプレーンを選択してデータアウトを実行させるためのコマンドである。
【0399】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<YYh>を受信する。入出力回路10は、受信したコマンド<YYh>をコマンドレジスタ0(MR0)に送信する。
【0400】
コマンドレジスタ0(MR0)からコマンド<YYh>を受信すると、チップ0(CP0)のシーケンサ30は、プリフェッチを実行したプレーン0(PL0)のデータアウトを開始する。
【0401】
チップ0(CP0)のプレーン0(PL0)において、データレジスタ54AからFIFO回路12へのデータの転送が終わると、
図24、
図25及び
図28に示すように、チップ0(CP0)のシーケンサ30は、バススイッチBSWをデータレジスタ54Bに接続する。シーケンサ30は、チップ0(CP0)のプレーン0(PL0)のデータアウトの途中でバススイッチBSWをデータレジスタ54Bとの接続に切り替えると、チップ0(CP0)のプレーン1(PL1)においてプリフェッチを開始する。すなわち、データレジスタ54BからFIFO回路12へのデータの転送が開始される。
【0402】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のデータアウトを実行する。
【0403】
より具体的には、チップ0(CP0)のプレーン0(PL0)においてデータアウトが終わると、チップ0(CP0)のシーケンサ30は、プリフェッチを実行したプレーン1(PL1)のデータアウトを開始する。
【0404】
チップ0(CP0)のプレーン1(PL1)において、データレジスタ54BからFIFO回路12へのデータの転送が終わると、
図24、
図25及び
図29に示すように、チップ0(CP0)のシーケンサ30は、バススイッチBSWをデータレジスタ54Cに接続する。シーケンサ30は、チップ0(CP0)のプレーン1(PL1)のデータアウトの途中でバススイッチBSWをデータレジスタ54Cとの接続に切り替えると、チップ0(CP0)のプレーン2(PL2)においてプリフェッチを開始する。すなわち、データレジスタ54CからFIFO回路12へのデータの転送が開始される。
【0405】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のデータアウトを実行する。
【0406】
より具体的には、チップ0(CP0)のプレーン1(PL1)においてデータアウトが終わると、チップ0(CP0)のシーケンサ30は、プリフェッチを実行したプレーン2(PL2)のデータアウトを開始する。
【0407】
チップ0(CP0)のプレーン2(PL2)において、データレジスタ54CからFIFO回路12へのデータの転送が終わると、
図24、
図25及び
図29に示すように、チップ0(CP0)のシーケンサ30は、バススイッチBSWをデータレジスタ54Dに接続する。シーケンサ30は、チップ0(CP0)のプレーン2(PL2)のデータアウトの途中でバススイッチBSWをデータレジスタ54Dとの接続に切り替えると、チップ0(CP0)のプレーン3(PL3)においてプリフェッチを開始する。すなわち、データレジスタ54DからFIFO回路12へのデータの転送が開始される。
【0408】
このように、本実施形態では、チップ0(CP0)のプレーンp(pは0~2の整数)のデータアウトの期間内に、プレーンp+1のプリフェッチを実行することができる。
【0409】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のデータアウトを実行する。
【0410】
より具体的には、チップ0(CP0)のプレーン2(PL2)においてデータアウトが終わると、チップ0(CP0)のシーケンサ30は、プリフェッチを実行したプレーン3(PL3)のデータアウトを開始する。
【0411】
チップ0(CP0)のプレーン3(PL3)においてデータアウトが終わると、チップ0(CP0)のプレーン0~プレーン3(PL0~PL3)内の読み出し対象の全てのデータがデータアウトされるまでB~Eの期間のコマンドシーケンスが繰り返される。
【0412】
3.4 効果
本実施形態に係る構成によれば、第1実施形態と同様に、読み出し動作中にプリフェッチを予約できるため、読み出し動作が終わってからプリフェッチを予約する場合よりもデータアウトを開始するまでの期間を短くすることができる。また、チップ内のプレーンpのデータアウトの期間内に、プレーンp+1のプリフェッチを実行することができる。このため、プレーンpのデータアウトと、プレーンp+1のプリフェッチとが重なる期間だけ、プレーンp+1のデータアウトを開始するまでの期間を短くすることができる。よって、メモリシステムの動作を高速化できる。
【0413】
4.第4実施形態
第4実施形態に係るメモリシステム100について説明する。本実施形態に係るメモリシステム100は、第1実施形態に係るメモリシステム100において、アドレスレジスタ22内に1つのカラムアドレスレジスタが設けられたものである。以下では、第1実施形態と異なる点を中心に説明する。
【0414】
4.1 レジスタ20の構成
レジスタ20の構成について、
図30を用いて説明する。
図30は、本実施形態に係るメモリシステム100に含まれるNANDチップ0(CP0)の構成を、入出力回路10及びレジスタ20を中心に示したブロック図である。なお、
図30では、ステータスレジスタ21及び電圧生成回路40は省略されている。
【0415】
図30に示すように、アドレスレジスタ22は、第1実施形態の
図6で説明したアドレスレジスタ22からカラムアドレスレジスタ0’(CR0’)を廃した構成と同じである。
【0416】
4.2 動作
本実施形態に係るメモリシステム100の動作について、
図31~
図35を用いて説明する。
図31~
図35は、本実施形態に係るメモリシステム100の読み出し動作におけるコマンドシーケンスの一例を示す図である。以下では、信号CEn1及びCEn2が同じ信号(CEn1=CEn2=CEn)であり、チップ0(CP0)において、プレーン0~プレーン3(PL0~PL3)の順に繰り返しデータを読み出す場合を例に挙げて説明する。
図31~
図35には、チップ0(CP0)の各プレーンの信号CB00~信号CB03も示されている。チップ1(CP1)からデータを読み出す場合も同様である。本実施形態の読み出し動作は、シングルプレーンリードである。
【0417】
まず、メモリコントローラ300は、チップ0(CP0)において、プレーン0~プレーン3(PL0~PL3)の順にノーマルリードを実行する。メモリコントローラ300が信号CEnを“L”レベルにしてからチップ0(CP0)のプレーン3(PL3)においてノーマルリードが実行されるまでの期間におけるコマンドシーケンス及び信号CB00~信号CB03は、第2実施形態の
図19のAまでの期間と同じである。なお、この期間において、入出力回路10は、受信したアドレス<Ad01>のカラムアドレスCAをカラムアドレスレジスタ0(CR0)に送信する。入出力回路10は、受信したアドレス<Ad03>のカラムアドレスCAをカラムアドレスレジスタ0(CR0)に送信する。この期間における他の動作は、第2実施形態と同じである。
【0418】
次に、
図31に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のステータスリードを実行する。コマンド<00h>、アドレス<Ad03>、及びコマンド<30h>が発行された後、コマンド<78h>及びアドレス<Ad00>が発行されることによって実行されるこのステータスリードの詳細は、第1実施形態と同様である。
【0419】
次に、ステータスレジスタ21からレディ状態を示す信号CB00を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のキャッシュリードを実行する。メモリコントローラ300がステータスレジスタ21からレディ状態を示す信号CB00を受信した後、コマンド<00h>、アドレス<Ad00>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、第1実施形態と同様である。このキャッシュリードが開始されると、チップ0(CP0)のシーケンサ30は、信号CB00をビジー状態にする。チップ0(CP0)のプレーン0(PL0)においてキャッシュ転送が終わると、シーケンサ30は、信号CB00をレディ状態にする。
【0420】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のステータスリードを実行する。コマンド<00h>、アドレス<Ad00>、及びコマンド<31h>が発行された後、コマンド<78h>及びアドレス<Ad01>が発行されることによって実行されるこのステータスリードの詳細は、第1実施形態と同様である。
【0421】
次に、ステータスレジスタ21からレディ状態を示す信号CB01を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のキャッシュリードを実行する。メモリコントローラ300がステータスレジスタ21からレディ状態を示す信号CB01を受信した後、コマンド<00h>、アドレス<Ad01>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、第1実施形態と同様である。このキャッシュリードが開始されると、チップ0(CP0)のシーケンサ30は、信号CB01をビジー状態にする。チップ0(CP0)のプレーン1(PL1)においてキャッシュ転送が終わると、シーケンサ30は、信号CB01をレディ状態にする。
【0422】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のステータスリードを実行する。コマンド<00h>、アドレス<Ad01>、及びコマンド<31h>が発行された後、コマンド<78h>及びアドレス<Ad02>が発行されることによって実行されるこのステータスリードの詳細は、第1実施形態と同様である。
【0423】
次に、ステータスレジスタ21からレディ状態を示す信号CB02を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のキャッシュリードを実行する。メモリコントローラ300がステータスレジスタ21からレディ状態を示す信号CB02を受信した後、コマンド<00h>、アドレス<Ad02>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、第1実施形態と同様である。このキャッシュリードが開始されると、チップ0(CP0)のシーケンサ30は、信号CB02をビジー状態にする。チップ0(CP0)のプレーン2(PL2)においてキャッシュ転送が終わると、シーケンサ30は、信号CB02をレディ状態にする。
【0424】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のステータスリードを実行する。コマンド<00h>、アドレス<Ad02>、及びコマンド<31h>が発行された後、コマンド<78h>及びアドレス<Ad03>が発行されることによって実行されるこのステータスリードの詳細は、第1実施形態と同様である。
【0425】
次に、ステータスレジスタ21からレディ状態を示す信号CB03を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のキャッシュリードを実行する。メモリコントローラ300がステータスレジスタ21からレディ状態を示す信号CB03を受信した後、コマンド<00h>、アドレス<Ad03>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、第1実施形態と同様である。このキャッシュリードが開始されると、チップ0(CP0)のシーケンサ30は、信号CB03をビジー状態にする。チップ0(CP0)のプレーン3(PL3)においてキャッシュ転送が終わると、シーケンサ30は、信号CB03をレディ状態にする。
【0426】
次に、
図32に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のステータスリードを実行する。コマンド<00h>、アドレス<Ad03>、及びコマンド<31h>が発行された後、コマンド<78h>及びアドレス<Ad00>が発行されることによって実行されるこのステータスリードの詳細は、第1実施形態と同様である。
【0427】
次に、ステータスレジスタ21からレディ状態を示す信号CB00を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のプリフェッチを実行する。
【0428】
より具体的には、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のプリフェッチを実行するために、コマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>を発行する。
【0429】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>を受信する。入出力回路10は、アドレス<Ad00>に基づいて、受信したコマンド<05h>をコマンドレジスタ0(MR0)に送信する。入出力回路10は、受信したアドレス<Ad00>のロウアドレスRAをロウアドレスレジスタ0(RR0)に送信する。入出力回路10は、受信したアドレス<Ad00>のカラムアドレスCAをカラムアドレスレジスタ0(CR0)に送信する。入出力回路10は、アドレス<Ad00>に基づいて、受信したコマンド<E0h>をコマンドレジスタ0(MR0)に送信する。
【0430】
アドレス<Ad00>のロウアドレスRAがロウアドレスレジスタ0(RR0)に格納されると、ロウアドレスレジスタ0(RR0)は、ロウアドレスRAをロウデコーダ52Aに送信する。
【0431】
コマンドレジスタ0(MR0)からコマンド<E0h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン0(PL0)においてプリフェッチを開始する。信号CB00がレディ状態のときにコマンド<E0h>を受信すると、シーケンサ30は、即座にチップ0(CP0)のプレーン0(PL0)のプリフェッチを実行する。より具体的には、シーケンサ30は、カラムアドレスカウンタ回路CC0のカウンタ値CNTを0にリセットする。カラムアドレスレジスタ0(CR0)は、最初のカラムアドレスCAから最後のカラムアドレスCAまでをカラムデコーダ55A~55Dに送信する。カラムデコーダ55Aでは、アドレス<Ad00>のカラムアドレスCAをデコードした結果に基づいて、データレジスタ54A内の対応するラッチ回路を選択する。順に選択されたラッチ回路のデータが、FIFO回路12に送信される。
【0432】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のデータアウトを実行する。
【0433】
より具体的には、チップ0(CP0)のプレーン0(PL0)においてプリフェッチが終わると、チップ0(CP0)のシーケンサ30は、プリフェッチを実行したプレーン0(PL0)のデータアウトを開始する。
【0434】
次に、
図33に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のステータスリードを実行する。チップ0(CP0)のプレーン0(PL0)におけるデータアウト終了後、コマンド<78h>及びアドレス<Ad01>が発行されることによって実行されるこのステータスリードの詳細は、第1実施形態と同様である。
【0435】
次に、ステータスレジスタ21からレディ状態を示す信号CB01を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のプリフェッチを実行する。
【0436】
より具体的には、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のプリフェッチを実行するために、コマンド<05h>、アドレス<Ad01>、及びコマンド<E0h>を発行する。
【0437】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad01>、及びコマンド<E0h>を受信する。入出力回路10は、アドレス<Ad01>に基づいて、受信したコマンド<05h>をコマンドレジスタ1(MR1)に送信する。入出力回路10は、受信したアドレス<Ad01>のロウアドレスRAをロウアドレスレジスタ1(RR1)に送信する。入出力回路10は、受信したアドレス<Ad01>のカラムアドレスCAをカラムアドレスレジスタ0(CR0)に送信する。入出力回路10は、アドレス<Ad01>に基づいて、受信したコマンド<E0h>をコマンドレジスタ1(MR1)に送信する。
【0438】
アドレス<Ad01>のロウアドレスRAがロウアドレスレジスタ1(RR1)に格納されると、ロウアドレスレジスタ1(RR1)は、ロウアドレスRAをロウデコーダ52Bに送信する。
【0439】
コマンドレジスタ1(MR1)からコマンド<E0h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン1(PL1)においてプリフェッチを開始する。信号CB01がレディ状態のときにコマンド<E0h>を受信すると、シーケンサ30は、即座にチップ0(CP0)のプレーン1(PL1)のプリフェッチを実行する。より具体的には、シーケンサ30は、カラムアドレスカウンタ回路CC0のカウンタ値CNTを0にリセットする。カラムアドレスレジスタ0(CR0)は、最初のカラムアドレスCAから最後のカラムアドレスCAまでをカラムデコーダ55A~55Dに送信する。カラムデコーダ55Bでは、アドレス<Ad01>のカラムアドレスCAをデコードした結果に基づいて、データレジスタ54B内の対応するラッチ回路を選択する。順に選択されたラッチ回路のデータが、FIFO回路12に送信される。
【0440】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のキャッシュリードを実行する。コマンド<05h>、アドレス<Ad01>、及びコマンド<E0h>が発行された後、コマンド<00h>、アドレス<Ad00>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、第1実施形態と同様である。このキャッシュリードが開始されると、チップ0(CP0)のシーケンサ30は、信号CB00をビジー状態にする。チップ0(CP0)のプレーン0(PL0)においてキャッシュ転送が終わると、シーケンサ30は、信号CB00をレディ状態にする。
【0441】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のデータアウトを実行する。
【0442】
より具体的には、コマンド<00h>、アドレス<Ad00>、及びコマンド<31h>が発行され、チップ0(CP0)のプレーン1(PL1)においてプリフェッチが終わると、チップ0(CP0)のシーケンサ30は、プリフェッチを実行したプレーン1(PL1)のデータアウトを開始する。
【0443】
次に、
図34に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のステータスリードを実行する。チップ0(CP0)のプレーン1(PL1)におけるデータアウト終了後、コマンド<78h>及びアドレス<Ad02>が発行されることによって実行されるこのステータスリードの詳細は、第1実施形態と同様である。
【0444】
次に、ステータスレジスタ21からレディ状態を示す信号CB02を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のプリフェッチを実行する。
【0445】
より具体的には、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のプリフェッチを実行するために、コマンド<05h>、アドレス<Ad02>、及びコマンド<E0h>を発行する。
【0446】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad02>、及びコマンド<E0h>を受信する。入出力回路10は、アドレス<Ad02>に基づいて、受信したコマンド<05h>をコマンドレジスタ2(MR2)に送信する。入出力回路10は、受信したアドレス<Ad02>のロウアドレスRAをロウアドレスレジスタ2(RR2)に送信する。入出力回路10は、受信したアドレス<Ad02>のカラムアドレスCAをカラムアドレスレジスタ0(CR0)に送信する。入出力回路10は、アドレス<Ad02>に基づいて、受信したコマンド<E0h>をコマンドレジスタ2(MR2)に送信する。
【0447】
アドレス<Ad02>のロウアドレスRAがロウアドレスレジスタ2(RR2)に格納されると、ロウアドレスレジスタ2(RR2)は、ロウアドレスRAをロウデコーダ52Cに送信する。
【0448】
コマンドレジスタ2(MR2)からコマンド<E0h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン2(PL2)においてプリフェッチを開始する。信号CB02がレディ状態のときにコマンド<E0h>を受信すると、シーケンサ30は、即座にチップ0(CP0)のプレーン2(PL2)のプリフェッチを実行する。より具体的には、プリフェッチが開始されると、シーケンサ30は、カラムアドレスカウンタ回路CC0のカウンタ値CNTを0にリセットする。カラムアドレスレジスタ0(CR0)は、最初のカラムアドレスCAから最後のカラムアドレスCAまでをカラムデコーダ55A~55Dに送信する。カラムデコーダ55Cでは、アドレス<Ad02>のカラムアドレスCAをデコードした結果に基づいて、データレジスタ54C内の対応するラッチ回路を選択する。順に選択されたラッチ回路のデータが、FIFO回路12に送信される。
【0449】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のキャッシュリードを実行する。コマンド<05h>、アドレス<Ad02>、及びコマンド<E0h>が発行された後、コマンド<00h>、アドレス<Ad01>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、第1実施形態と同様である。このキャッシュリードが開始されると、チップ0(CP0)のシーケンサ30は、信号CB01をビジー状態にする。チップ0(CP0)のプレーン1(PL1)においてキャッシュ転送が終わると、シーケンサ30は、信号CB01をレディ状態にする。
【0450】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のデータアウトを実行する。
【0451】
より具体的には、コマンド<00h>、アドレス<Ad01>、及びコマンド<31h>が発行され、チップ0(CP0)のプレーン2(PL2)においてプリフェッチが終わると、チップ0(CP0)のシーケンサ30は、プリフェッチを実行したプレーン2(PL2)のデータアウトを開始する。
【0452】
次に、
図35に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のステータスリードを実行する。チップ0(CP0)のプレーン2(PL2)におけるデータアウト終了後、コマンド<78h>及びアドレス<Ad03>が発行されることによって実行されるこのステータスリードの詳細は、第1実施形態と同様である。
【0453】
次に、ステータスレジスタ21からレディ状態を示す信号CB03を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のプリフェッチを実行する。
【0454】
より具体的には、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のプリフェッチを実行するために、コマンド<05h>、アドレス<Ad03>、及びコマンド<E0h>を発行する。
【0455】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad03>、及びコマンド<E0h>を受信する。入出力回路10は、アドレス<Ad03>に基づいて、受信したコマンド<05h>をコマンドレジスタ3(MR3)に送信する。入出力回路10は、受信したアドレス<Ad03>のロウアドレスRAをロウアドレスレジスタ3(RR3)に送信する。入出力回路10は、受信したアドレス<Ad03>のカラムアドレスCAをカラムアドレスレジスタ0(CR0)に送信する。入出力回路10は、アドレス<Ad03>に基づいて、受信したコマンド<E0h>をコマンドレジスタ3(MR3)に送信する。
【0456】
アドレス<Ad03>のロウアドレスRAがロウアドレスレジスタ3(RR3)に格納されると、ロウアドレスレジスタ3(RR3)は、ロウアドレスRAをロウデコーダ52Dに送信する。
【0457】
コマンドレジスタ3(MR3)からコマンド<E0h>を受信すると、チップ0(CP0)のシーケンサ30は、プレーン3(PL3)においてプリフェッチを開始する。信号CB03がレディ状態のときにコマンド<E0h>を受信すると、シーケンサ30は、即座にチップ0(CP0)のプレーン3(PL3)のプリフェッチを実行する。より具体的には、プリフェッチが開始されると、シーケンサ30は、カラムアドレスカウンタ回路CC0のカウンタ値CNTを0にリセットする。カラムアドレスレジスタ0(CR0)は、最初のカラムアドレスCAから最後のカラムアドレスCAまでをカラムデコーダ55A~55Dに送信する。カラムデコーダ55Dでは、アドレス<Ad03>のカラムアドレスCAをデコードした結果に基づいて、データレジスタ54D内の対応するラッチ回路を選択する。順に選択されたラッチ回路のデータが、FIFO回路12に送信される。
【0458】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のキャッシュリードを実行する。コマンド<05h>、アドレス<Ad03>、及びコマンド<E0h>が発行された後、コマンド<00h>、アドレス<Ad02>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、第1実施形態と同様である。このキャッシュリードが開始されると、チップ0(CP0)のシーケンサ30は、信号CB02をビジー状態にする。チップ0(CP0)のプレーン2(PL2)においてキャッシュ転送が終わると、シーケンサ30は、信号CB02をレディ状態にする。
【0459】
このように、本実施形態では、メモリコントローラ300がチップ0(CP0)のプレーンq(qは0~2の整数)のコマンド<00h>、アドレス<Ad0q>、及びコマンド<31h>を送信する期間内に、プレーンq+1のプリフェッチを実行することができる。
【0460】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のデータアウトを実行する。
【0461】
より具体的には、コマンド<00h>、アドレス<Ad02>、及びコマンド<31h>が発行され、チップ0(CP0)のプレーン3(PL3)においてプリフェッチが終わると、チップ0(CP0)のシーケンサ30は、プリフェッチを実行したプレーン3(PL3)のデータアウトを開始する。
【0462】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のキャッシュリードを実行する。チップ0(CP0)のプレーン3(PL3)におけるデータアウト終了後、コマンド<00h>、アドレス<Ad03>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、第1実施形態と同様である。このキャッシュリードが開始されると、チップ0(CP0)のシーケンサ30は、信号CB03をビジー状態にする。チップ0(CP0)のプレーン3(PL3)においてキャッシュ転送が終わると、シーケンサ30は、信号CB03をレディ状態にする。
【0463】
以降は、チップ0(CP0)のプレーン0~プレーン3(PL0~PL3)内の読み出し対象の全てのデータがデータアウトされるまでC~Gの期間のコマンドシーケンスが繰り返される。
【0464】
4.3 効果
本実施形態に係る構成によれば、メモリコントローラ300は、チップ内のプレーンq+1のコマンド“05h”が発行された後、プレーンq+1のデータアウトが開始される前に、プレーンqのコマンド“31h”を発行することができる。すなわち、メモリコントローラ300がチップ0(CP0)のプレーンqのコマンド<00h>、アドレス<Ad0q>、及びコマンド<31h>を送信する期間内に、プレーンq+1のプリフェッチを実行することができる。このため、プレーンqのコマンド<00h>、アドレス<Ad0q>、及びコマンド<31h>の送信と、プレーンq+1のプリフェッチとが重なる期間だけ、プレーンq+1のデータアウトを開始するまでの期間を短くすることができる。よって、メモリシステムの動作を高速化できる。
【0465】
5.第5実施形態
第5実施形態に係るメモリシステム100について説明する。本実施形態に係るメモリシステム100は、第3実施形態に係るメモリシステム100において、シングルプレーンリードによってデータを読み出すものである。以下では、第3実施形態と異なる点を中心に説明する。
【0466】
5.1 動作
本実施形態に係るメモリシステム100の動作について、
図36~
図38を用いて説明する。
図36~
図38は、本実施形態に係るメモリシステム100の読み出し動作におけるコマンドシーケンスの一例を示す図である。以下では、信号CEn1及びCEn2が同じ信号(CEn1=CEn2=CEn)であり、チップ0(CP0)において、プレーン0~プレーン3(PL0~PL3)の順に繰り返しデータを読み出す場合を例に挙げて説明する。
図36~
図38には、NANDチップ0(CP0)の各プレーンの信号CB00~信号CB03も示されている。チップ1(CP1)からデータを読み出す場合も同様である。本実施形態の読み出し動作は、シングルプレーンリードである。
【0467】
まず、メモリコントローラ300は、チップ0(CP0)において、プレーン0~プレーン3(PL0~PL3)の順にノーマルリードを実行する。メモリコントローラ300が信号CEnを“L”レベルにしてからチップ0(CP0)のプレーン3(PL3)においてノーマルリードが実行されるまでの期間におけるコマンドシーケンス及び信号CB00~信号CB03は、第2実施形態の
図19のAまでの期間と同じである。なお、この期間における動作は、第4実施形態と同じである。
【0468】
次に、メモリコントローラ300は、チップ0(CP0)において、プレーン0~プレーン3(PL0~PL3)の順にステータスリード及びキャッシュリードを実行する。チップ0(CP0)のプレーン3(PL3)においてノーマルリードが実行されてからチップ0(CP0)のプレーン3(PL3)においてキャッシュリードが実行されるまでの期間におけるコマンドシーケンス及び信号CB00~信号CB03は、第4実施形態の
図31のA~Bまでの期間と同じである。なお、この期間における動作は、第4実施形態と同じである。
【0469】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)で実行されたノーマルリードの読み出しデータのプリフェッチを予約する。
【0470】
より具体的には、
図36に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のプリフェッチを予約するために、コマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>を発行する。なお、メモリコントローラ300は、第3実施形態と同様に、コマンド<00h>、アドレス<Ad03>、及びコマンド<31h>が発行され、キャッシュリードが実行されている期間(すなわち信号CB00がビジー状態の期間)にコマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>を発行することができる。
【0471】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>を受信する。入出力回路10は、アドレス<Ad00>に基づいて、受信したコマンド<05h>をコマンドレジスタ0(MR0)に送信するとともに、コマンド<05h>をコマンドレジスタ0’(MR0’)にコピーする。入出力回路10は、受信したアドレス<Ad00>のロウアドレスRAをロウアドレスレジスタ0(RR0)に送信するとともに、アドレス<Ad00>のロウアドレスRAをロウアドレスレジスタ0’(RR0’)にコピーする。入出力回路10は、受信したアドレス<Ad00>のカラムアドレスCAをカラムアドレスレジスタ0(CR0)に送信するとともに、アドレス<Ad00>のカラムアドレスCAをカラムアドレスレジスタ0’(CR0’)にコピーする。入出力回路10は、アドレス<Ad00>に基づいて、受信したコマンド<E0h>をコマンドレジスタ0(MR0)に送信するとともに、コマンド<E0h>をコマンドレジスタ0’(MR0’)にコピーする。
【0472】
アドレス<Ad00>のロウアドレスRAがロウアドレスレジスタ0’(RR0’)にコピーされると、ロウアドレスレジスタ0’(RR0’)は、ロウアドレスRAをロウデコーダ52Aに送信する。
【0473】
コマンドレジスタ0’(MR0’)からコマンド<E0h>を受信すると、チップ0(CP0)のシーケンサ30は、バススイッチBSWをデータレジスタ54Aに接続し、プレーン0(PL0)においてプリフェッチを予約する。そして、シーケンサ30は、プリフェッチを開始する。すなわち、データレジスタ54AからFIFO回路12へのデータの転送が開始される。信号CB00がレディ状態のときにコマンド<E0h>を受信すると、シーケンサ30は、即座にチップ0(CP0)のプレーン0(PL0)のプリフェッチを実行する。なお、第3実施形態と同様に、信号CB00がビジー状態のときにコマンド<E0h>を受信した場合には、シーケンサ30は、信号CB00がビジー状態の期間に、チップ0(CP0)のプレーン0(PL0)のプリフェッチを実行する。より具体的には、シーケンサ30は、信号CB00がビジー状態のときにコマンド<E0h>を受信すると、キャッシュ転送に続いて、プリフェッチを実行する。
【0474】
プリフェッチが開始されると、チップ0(CP0)のシーケンサ30は、カラムアドレスカウンタ回路CC0’のカウンタ値CNTを0にリセットする。カラムアドレスレジスタ0’(CR0’)は、最初のカラムアドレスCAから最後のカラムアドレスCAまでをカラムデコーダ55A~55Dに送信する。カラムデコーダ55Aでは、アドレス<Ad00>のカラムアドレスCAをデコードした結果に基づいて、データレジスタ54A内の対応するラッチ回路を選択する。順に選択されたラッチ回路のデータが、FIFO回路12に送信される。
【0475】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のステータスリードを実行する。コマンド<05h>、アドレス<Ad00>、及びコマンド<E0h>が発行された後、コマンド<78h>及びアドレス<Ad00>が発行されることによって実行されるこのステータスリードの詳細は、第1実施形態と同様である。
【0476】
次に、ステータスレジスタ21からレディ状態を示す信号CB00を受信すると、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のデータアウトを実行する。
【0477】
より具体的には、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のデータアウトを実行するために、コマンド<YYh>を発行する。
【0478】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<YYh>を受信する。入出力回路10は、受信したコマンド<YYh>をコマンドレジスタ0(MR0)に送信する。
【0479】
コマンドレジスタ0(MR0)からコマンド<YYh>を受信すると、チップ0(CP0)のシーケンサ30は、プリフェッチを実行したプレーン0(PL0)のデータアウトを開始する。
【0480】
チップ0(CP0)のプレーン0(PL0)において、データレジスタ54AからFIFO回路12へのデータの転送が終わると、
図24、
図25及び
図36に示すように、チップ0(CP0)のシーケンサ30は、バススイッチBSWをデータレジスタ54Bに接続する。シーケンサ30は、チップ0(CP0)のプレーン0(PL0)のデータアウトの途中でバススイッチBSWをデータレジスタ54Bとの接続に切り替えると、チップ0(CP0)のプレーン1(PL1)においてプリフェッチを開始する。すなわち、データレジスタ54BからFIFO回路12へのデータの転送が開始される。
【0481】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン0(PL0)のキャッシュリードを実行する。チップ0(CP0)のプレーン0(PL0)におけるデータアウト終了後、コマンド<00h>、アドレス<Ad00>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、第1実施形態と同様である。このキャッシュリードが開始されると、チップ0(CP0)のシーケンサ30は、信号CB00をビジー状態にする。チップ0(CP0)のプレーン0(PL0)においてキャッシュ転送が終わると、シーケンサ30は、信号CB00をレディ状態にする。
【0482】
次に、
図37に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のデータアウトを実行する。
【0483】
より具体的には、コマンド<00h>、アドレス<Ad00>、及びコマンド<31h>が発行された後、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のデータアウトを実行するために、コマンド<YYh>を発行する。
【0484】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<YYh>を受信する。入出力回路10は、受信したコマンド<YYh>をコマンドレジスタ1(MR1)に送信する。
【0485】
コマンドレジスタ1(MR1)からコマンド<YYh>を受信すると、チップ0(CP0)のシーケンサ30は、プリフェッチを実行したプレーン1(PL1)のデータアウトを開始する。
【0486】
チップ0(CP0)のプレーン1(PL1)において、データレジスタ54BからFIFO回路12へのデータの転送が終わると、
図24、
図25及び
図37に示すように、チップ0(CP0)のシーケンサ30は、バススイッチBSWをデータレジスタ54Cに接続する。シーケンサ30は、チップ0(CP0)のプレーン1(PL1)のデータアウトの途中でバススイッチBSWをデータレジスタ54Cとの接続に切り替えると、チップ0(CP0)のプレーン2(PL2)においてプリフェッチを開始する。すなわち、データレジスタ54CからFIFO回路12へのデータの転送が開始される。
【0487】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン1(PL1)のキャッシュリードを実行する。チップ0(CP0)のプレーン1(PL1)におけるデータアウト終了後、コマンド<00h>、アドレス<Ad01>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、第1実施形態と同様である。このキャッシュリードが開始されると、チップ0(CP0)のシーケンサ30は、信号CB01をビジー状態にする。チップ0(CP0)のプレーン1(PL1)においてキャッシュ転送が終わると、シーケンサ30は、信号CB01をレディ状態にする。
【0488】
次に、
図37に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のデータアウトを実行する。
【0489】
より具体的には、コマンド<00h>、アドレス<Ad01>、及びコマンド<31h>が発行された後、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のデータアウトを実行するために、コマンド<YYh>を発行する。
【0490】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<YYh>を受信する。入出力回路10は、受信したコマンド<YYh>をコマンドレジスタ2(MR2)に送信する。
【0491】
コマンドレジスタ2(MR2)からコマンド<YYh>を受信すると、チップ0(CP0)のシーケンサ30は、プリフェッチを実行したプレーン2(PL2)のデータアウトを開始する。
【0492】
チップ0(CP0)のプレーン2(PL2)について、データレジスタ54CからFIFO回路12へのデータの転送が終わると、
図24、
図25及び
図37に示すように、チップ0(CP0)のシーケンサ30は、バススイッチBSWをデータレジスタ54Dに接続する。シーケンサ30は、チップ0(CP0)のプレーン2(PL2)のデータアウトの途中でバススイッチBSWをデータレジスタ54Dとの接続に切り替えると、チップ0(CP0)のプレーン3(PL3)においてプリフェッチを開始する。すなわち、データレジスタ54DからFIFO回路12へのデータの転送が開始される。
【0493】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン2(PL2)のキャッシュリードを実行する。チップ0(CP0)のプレーン2(PL2)におけるデータアウト終了後、コマンド<00h>、アドレス<Ad02>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、第1実施形態と同様である。このキャッシュリードが開始されると、チップ0(CP0)のシーケンサ30は、信号CB02をビジー状態にする。チップ0(CP0)のプレーン2(PL2)においてキャッシュ転送が終わると、シーケンサ30は、信号CB02をレディ状態にする。
【0494】
次に、
図38に示すように、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のデータアウトを実行する。
【0495】
より具体的には、コマンド<00h>、アドレス<Ad02>、及びコマンド<31h>が発行された後、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のデータアウトを実行するために、コマンド<YYh>を発行する。
【0496】
チップ0(CP0)において、入出力回路10は、メモリコントローラ300が発行したコマンド<YYh>を受信する。入出力回路10は、受信したコマンド<YYh>をコマンドレジスタ3(MR3)に送信する。
【0497】
コマンドレジスタ3(MR3)からコマンド<YYh>を受信すると、チップ0(CP0)のシーケンサ30は、プリフェッチを実行したプレーン3(PL3)のデータアウトを開始する。
【0498】
次に、メモリコントローラ300は、チップ0(CP0)のプレーン3(PL3)のキャッシュリードを実行する。チップ0(CP0)のプレーン3(PL3)におけるデータアウト終了後、コマンド<00h>、アドレス<Ad03>、及びコマンド<31h>が発行されることによって実行されるこのキャッシュリードの詳細は、第1実施形態と同様である。このキャッシュリードが開始されると、チップ0(CP0)のシーケンサ30は、信号CB03をビジー状態にする。チップ0(CP0)のプレーン3(PL3)においてキャッシュ転送が終わると、シーケンサ30は、信号CB03をレディ状態にする。
【0499】
以降は、チップ0(CP0)のプレーン0~プレーン3(PL0~PL3)内の読み出し対象の全てのデータがデータアウトされるまでB~Eの期間のコマンドシーケンスが繰り返される。
【0500】
5.2 効果
本実施形態に係る構成によれば、第1実施形態と同様に、読み出し動作中にプリフェッチを予約できるため、読み出し動作が終わってからプリフェッチを予約する場合よりもデータアウトを開始するまでの期間を短くすることができる。また、第3実施形態と同様に、チップ内のプレーンpのデータアウトの期間内に、プレーンp+1のプリフェッチを実行することができるため、プレーンpのデータアウトと、プレーンp+1のプリフェッチとが重なる期間だけ、プレーンp+1のデータアウトを開始するまでの期間を短くすることができる。よって、メモリシステムの動作を高速化できる。
【0501】
6.変形例等
上記のように、実施形態に係るメモリシステムは、第1プレーン(PL0)と、第1入出力回路(10)とを含む第1チップ(CP0)と、第1チップを制御するためのコマンドを発行可能なコントローラ(300)とを備える。第1プレーンは、複数の第1メモリセルトランジスタ(MC)を有する第1メモリセルアレイ(51A)と、第1メモリセルアレイから読み出された第1読み出しデータを記憶可能な第1ラッチ回路(54A)とを含む。第1入出力回路は、第1ラッチ回路から第1読み出しデータを取り込み可能な第1FIFO回路(12(12A))を含む。コントローラは、第1プレーンにおいて読み出し動作を実行している期間内に、第1チップに、第1ラッチ回路から第1FIFO回路への第1読み出しデータの取り込みを命令する第1コマンド(05h)を送信可能である。
【0502】
なお、実施形態は上記説明した形態に限定されるものではなく、種々の変形が可能である。
【0503】
FIFO回路は、FILO(First In Last Out)回路であってもよい。
【0504】
また、上記実施形態では半導体記憶装置としてNAND型フラッシュメモリを例に説明したが、NAND型フラッシュメモリに限らず、その他の半導体メモリ全般に適用でき、更には半導体メモリ以外の種々の記憶装置に適用できる。
【0505】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。