(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-10-09
(45)【発行日】2024-10-18
(54)【発明の名称】半導体装置および半導体装置の動作方法
(51)【国際特許分類】
G06F 12/06 20060101AFI20241010BHJP
G06F 12/00 20060101ALI20241010BHJP
G06F 12/02 20060101ALI20241010BHJP
G11C 5/04 20060101ALI20241010BHJP
【FI】
G06F12/06 515J
G06F12/00 597U
G06F12/02 580A
G06F12/06 522A
G11C5/04 210
(21)【出願番号】P 2023097574
(22)【出願日】2023-06-14
【審査請求日】2023-06-14
(73)【特許権者】
【識別番号】511062254
【氏名又は名称】ウィンボンド エレクトロニクス コーポレーション
(74)【代理人】
【識別番号】100098497
【氏名又は名称】片寄 恭三
(72)【発明者】
【氏名】矢野 勝
(72)【発明者】
【氏名】神永 雄大
【審査官】北村 学
(56)【参考文献】
【文献】特開2007-183961(JP,A)
【文献】米国特許出願公開第2015/0248921(US,A1)
【文献】特開平07-093980(JP,A)
【文献】特表2012-532373(JP,A)
【文献】米国特許出願公開第2010/0312952(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
IPC G06F 12/00 - 12/06
G11C 5/04
(57)【特許請求の範囲】
【請求項1】
入出力回路と、
前記入出力回路に内部バスを介して接続されたNOR型フラッシュメモリおよびNAND型フラッシュメモリと、
前記入出力回路から受け取ったコマンドに基づきNOR型フラッシュメモリおよびNAND型フラッシュメモリの動作を制御するコントローラとを含み、
前記コントローラは、前記入出力回路から受け取ったデータをNOR型フラッシュメモリとNAND型フラッシュメモリの双方にプログラムす
る、半導体装置。
【請求項2】
入出力回路と、
前記入出力回路に内部バスを介して接続されたNOR型フラッシュメモリおよびNAND型フラッシュメモリと、
前記入出力回路から受け取ったコマンドに基づきNOR型フラッシュメモリおよびNAND型フラッシュメモリの動作を制御するコントローラとを含み、
前記コントローラは、前記入出力回路から受け取ったデータをNOR型フラッシュメモリにプログラムしている間に、NAND型フラッシュメモリにプログラムす
る、半導体装置。
【請求項3】
入出力回路と、
前記入出力回路に内部バスを介して接続されたNOR型フラッシュメモリおよびNAND型フラッシュメモリと、
前記入出力回路から受け取ったコマンドに基づきNOR型フラッシュメモリおよびNAND型フラッシュメモリの動作を制御するコントローラとを含み、
前記コントローラは、NAND型フラッシュメモリにプログラムしたデータを読出し、読み出したデータをNOR型フラッシュメモリにプログラムす
る、半導体装置。
【請求項4】
入出力回路と、
前記入出力回路に内部バスを介して接続されたNOR型フラッシュメモリおよびNAND型フラッシュメモリと、
前記入出力回路から受け取ったコマンドに基づきNOR型フラッシュメモリおよびNAND型フラッシュメモリの動作を制御するコントローラとを含み、
前記コントローラは、連続プログラムのコマンドに応じてNOR型フラッシュメモリにデータを連続プログラムす
る、半導体装置。
【請求項5】
入出力回路と、
前記入出力回路に内部バスを介して接続されたNOR型フラッシュメモリおよびNAND型フラッシュメモリと、
前記入出力回路から受け取ったコマンドに基づきNOR型フラッシュメモリおよびNAND型フラッシュメモリの動作を制御するコントローラとを含み、
前記コントローラは、連続読出しコマンドに応じてNOR型フラッシュメモリの第1のページを読出した後、当該第1のページの次に連続する第2のページをNAND型フラッシュメモリから読み出
す、半導体装置。
【請求項6】
第1のページの読出しデータが出力される間に、前記第2のページのアレイ読出しが行われる、請求項
5に記載の半導体装置。
【請求項7】
入出力回路と、
前記入出力回路に内部バスを介して接続されたNOR型フラッシュメモリおよびNAND型フラッシュメモリと、
前記入出力回路から受け取ったコマンドに基づきNOR型フラッシュメモリおよびNAND型フラッシュメモリの動作を制御するコントローラとを含み、
前記コントローラは、前記入出力回路からNOR型フラッシュメモリへのコマンドを受け取り、当該コマンドに応じてNAND型フラッシュメモリへのコマンドを生成す
る、半導体装置。
【請求項8】
前記コントローラは、前記入出力回路からNOR型フラッシュメモリへのアドレスを受け取り、当該アドレスに応じてNAND型フラッシュメモリへのアドレスを生成する、請求項
1ないし7いずれか1つに記載の半導体装置。
【請求項9】
NOR型フラッシュメモリが形成されたチップと、NAND型フラッシュメモリが形成されたチップとが積層される、請求項
1ないし7いずれか1つに記載の半導体装置。
【請求項10】
NOR型フラッシュメモリおよびNAND型フラッシュメモリを含む半導体装置の動作方法であって、
コントローラは、入出力回路を介して受け取ったコマンドに基づきNOR型フラッシュメモリおよびNAND型フラッシュメモリの動作を制御し、
前記コントローラは、前記入出力回路から受け取ったデータをNOR型フラッシュメモリおよびNAND型フラッシュメモリの双方にプログラムす
る、動作方法。
【請求項11】
NOR型フラッシュメモリおよびNAND型フラッシュメモリを含む半導体装置の動作方法であって、
コントローラは、入出力回路を介して受け取ったコマンドに基づきNOR型フラッシュメモリおよびNAND型フラッシュメモリの動作を制御し、
前記コントローラは、前記入出力回路から受け取ったデータをNOR型フラッシュメモリにプログラムしている間に、NAND型フラッシュメモリにプログラムす
る、動作方法。
【請求項12】
NOR型フラッシュメモリおよびNAND型フラッシュメモリを含む半導体装置の動作方法であって、
コントローラは、入出力回路を介して受け取ったコマンドに基づきNOR型フラッシュメモリおよびNAND型フラッシュメモリの動作を制御し、
前記コントローラは、NAND型フラッシュメモリにプログラムしたデータを読出し、読み出したデータをNOR型フラッシュメモリにプログラムす
る、動作方法。
【請求項13】
前記コントローラは、前記入出力回路から受け取ったデータをNAND型フラッシュメモリにプログラムした後、NAND型フラッシュメモリからデータを読出し、読み出したデータをNOR型フラッシュメモリに提供する、請求項
12に記載の動作方法。
【請求項14】
NOR型フラッシュメモリおよびNAND型フラッシュメモリを含む半導体装置の動作方法であって、
コントローラは、入出力回路を介して受け取ったコマンドに基づきNOR型フラッシュメモリおよびNAND型フラッシュメモリの動作を制御し、
前記コントローラは、連続プログラムのコマンドに応じてNOR型フラッシュメモリにデータを連続プログラムす
る、動作方法。
【請求項15】
NOR型フラッシュメモリの1ページの単位がMバイト、NAND型フラッシュメモリの1ページの単位がM×k(kは、正の整数)であるとき、
前記コントローラは、NOR型フラッシュメモリの先頭ページP0のプログラムが終了した後、NAND型フラッシュメモリから
読み出されたデータに基づきNOR型フラッシュメモリのページP0以降をプログラムする、
請求項12に記載の動作方法。
【請求項16】
前記コントローラは、NOR型フラッシュメモリのページP1をプログラムするとき、NAND型フラッシュメモリの選択ページから読み出されたデータからページP1に対応するデータを選択的に読み出す、請求項
15に記載の動作方法。
【請求項17】
前記コントローラは、ページP1のプログラムをしている間に、
入出力回路からNAND型フラッシュメモリの次のページにプログラムするデータをロードする、請求項
16に記載の動作方法。
【請求項18】
NOR型フラッシュメモリおよびNAND型フラッシュメモリを含む半導体装置の動作方法であって、
コントローラは、入出力回路を介して受け取ったコマンドに基づきNOR型フラッシュメモリおよびNAND型フラッシュメモリの動作を制御し、
前記コントローラは、連続読出しコマンドに応じてNOR型フラッシュメモリの第1のページを読出した後、当該第1のページの次に連続する第2のページをNAND型フラッシュメモリから読み出
す、動作方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、NOR型フラッシュメモリとNAND型フラッシュメモリとを含む半導体装置に関する。
【背景技術】
【0002】
NOR型フラッシュメモリは、ランダムアクセスが可能であり、高速読出しが可能であるのに対し、NAND型フラッシュメモリは、集積度の高いメモリセルアレイを実現し、大容量のデータを高速にプログラムすることができるが、NOR型フラッシュメモリと比較して読出しに要する時間が長くなる。
【0003】
近年のフラッシュメモリでは、少ない端子数で入出力データの高速化を図るシリアルインターフェースを搭載するものも増えている。シリアルインターフェースには、例えば、8ビットの命令コードおよび24ビットのアドレスを必要とする標準シリアルペリフェラルインターフェースSPI(Serial Peripheral Interface)がある。
【0004】
NOR型フラッシュメモリには、バーストモードまたはページモードのように、データ入出力を連続的に行う機能が搭載される。例えば、読出し動作では、
図1(A)に示すように、チップセレクト信号/CSがローアクティブにされ、シリアルクロック信号に同期して外部端子から読出し命令およびアドレスが入力されると、列アドレスが自動的にインクリメントされ、読み出したデータが、順次シリアルクロック信号に同期して外部端子から出力される。プログラム動作では、外部端子からプログラム命令およびアドレスが入力されると、列アドレスが自動的にインクリメントされ、シリアルクロック信号に同期して外部端子から入力したプログラムデータがメモリセルにプログラムされる。このような連続読出しまたは連続書込みは、チップセレクト信号/CSをハイレベルにすることで終了する(特許文献1)。
【0005】
一方、NAND型フラッシュメモリにおいても、NOR型シリアルフラッシュとの互換性を図るため、シリアルインターフェースを搭載するものが実用化されている。NAND型フラッシュメモリで連続読出しを行う場合、外部端子から連続読出し命令およびアドレスが入力されると、メモリセルアレイのページから読み出されたデータがページバッファ/センス回路に保持され、列アドレスが自動的にインクリメントされ、シリアルクロック信号に同期してページバッファ/センス回路に保持されたデータが外部端子から出力される。
【0006】
図1(B)に、NAND型フラッシュメモリの連続読出し動作のタイミングチャートを示す。チップセレクト信号CSがローアクティブにされ、8ビットのページデータ読出し命令(例えば、「13h」)と、16ビットのページアドレスPA(ブロックおよびページを選択するための行アドレス)とが入力され、メモリセルアレイの選択ページのデータがページバッファ/センス回路に転送された時間に相当するレイテンシィの後、連続読出しのための8ビットの読出し命令および16ビットのアドレス(これは、空のダミーアドレス)が入力される。NAND型フラッシュメモリは、これらの一連の命令およびアドレスの入力により、連続読出しモードとなり、入力されたページアドレスPAが自動的にインクリメントされ、順次、読み出されたページデータがシリアルクロックに同期して外部にシリアル出力される。チップセレクト信号CSがローレベルである期間中、すなわち、連続読出しモードである間、フラッシュメモリには、ページデータ読出し命令およびページアドレスPAの入力は不要である(特許文献1)。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
NOR型フラッシュメモリは、ランダムアクセスによる高速読出しが可能であり、耐久性やリテンション特性が優れているため、システム起動用のブートコードやファームウエア等を格納するのに適している。その反面、NOR型フラッシュメモリは、バイト当たりのプログラム時間がNAND型フラッシュメモリに比べて数十倍も大きく、また、プログラムの際の電力消費も大きいため、格納には優れているとは言えない。
【0009】
そこで、NOR型フラッシュメモリのチップ(ダイ)とNAND型フラッシュメモリのチップ(ダイ)とをスタックさせたスタック型フラッシュメモリが実用化されている。スタック型フラッシュメモリを使用する場合、ホスト装置は、
図1(A)、(B)に示したように、チップセレクト信号CSによりNOR型フラッシュメモリまたはNAND型フラッシュメモリのいずれかをアクティブにし、例えば、NAND型フラッシュメモリに大容量のデータをプログラムし、NOR型フラッシュメモリに高速読出しを必要とする小容量のデータをプログラムする。
【0010】
しかしながら、従来のスタック型フラッシュメモリにおける動作方法は、NOR型フラッシュメモリとNAND型フラッシュメモリのそれぞれを個別に選択して動作させなければならず、ホスト装置側の処理が煩雑となり、スタック型フラッシュメモリの動作方法の改善が求められている。
【0011】
本発明は、このような従来の課題を解決し、NOR型フラッシュメモリの実力を下げることなく、NAND型フラッシュメモリを融合させて半導体装置の動作を改善することを目的とする
【課題を解決するための手段】
【0012】
本発明に係る半導体装置は、入出力回路と、前記入出力回路に内部バスを介して接続されたNOR型フラッシュメモリおよびNAND型フラッシュメモリと、前記入出力回路から受け取ったコマンドに基づきNOR型フラッシュメモリおよびNAND型フラッシュメモリの動作を制御するコントローラとを含む。
【0013】
ある態様では、前記コントローラは、前記入出力回路から受け取ったデータをNOR型フラッシュメモリとNAND型フラッシュメモリの双方にプログラムする。ある態様では、前記コントローラは、前記入出力回路から受け取ったデータをNOR型フラッシュメモリにプログラムしている間に、NAND型フラッシュメモリにプログラムする。ある態様では、前記コントローラは、NAND型フラッシュメモリにプログラムしたデータを読出し、読み出したデータをNOR型フラッシュメモリにプログラムする。ある態様では、前記コントローラは、連続プログラムのコマンドに応じてNOR型フラッシュメモリにデータを連続プログラムする。ある態様では、前記コントローラは、連続読出しコマンドに応じてNOR型フラッシュメモリの第1のページを読出した後、当該第1のページの次に連続する第2のページをNAND型フラッシュメモリから読み出す。ある態様では、前記コントローラは、連続読出しコマンドに応じてNOR型フラッシュメモリの第1のページを読出した後、当該第1のページの次の第2のページをNAND型フラッシュメモリから読み出す。ある態様では、前記コントローラは、前記入出力回路からNOR型フラッシュメモリへのコマンドを受け取り、当該コマンドに応じてNAND型フラッシュメモリへのコマンドを生成する。ある態様では、前記コントローラは、前記入出力回路からNOR型フラッシュメモリへのアドレスを受け取り、当該アドレスに応じてNAND型フラッシュメモリへのアドレスを生成する。ある態様では、NOR型フラッシュメモリが形成されたチップと、NAND型フラッシュメモリが形成されたチップとが積層される。
【0014】
本発明に係るNOR型フラッシュメモリおよびNAND型フラッシュメモリを含む半導体装置の動作方法は、NOR型フラッシュメモリのコントローラは、入出力回路を介して受け取ったコマンドに基づきNOR型フラッシュメモリおよびNAND型フラッシュメモリの動作を制御する。
【0015】
ある態様では、前記コントローラは、前記入出力回路から受け取ったデータをNOR型フラッシュメモリおよびNAND型フラッシュメモリの双方にプログラムする。ある態様では、前記コントローラは、前記入出力回路から受け取ったデータをNOR型フラッシュメモリにプログラムしている間に、NAND型フラッシュメモリにプログラムする。ある態様では、前記コントローラは、NAND型フラッシュメモリにプログラムしたデータを読出し、読み出したデータをNOR型フラッシュメモリにプログラムする。ある態様では、前記コントローラは、前記入出力回路から受け取ったデータをNAND型フラッシュメモリにプログラムした後、NAND型フラッシュメモリからデータを読出し、読み出したデータをNOR型フラッシュメモリに提供する。ある態様では、前記コントローラは、連続プログラムのコマンドに応じてNOR型フラッシュメモリにデータを連続プログラムする。ある態様では、NOR型フラッシュメモリの1ページの単位がMバイト、NAND型フラッシュメモリの1ページの単位がM×k(kは、正の整数)であるとき、前記コントローラは、NOR型フラッシュメモリの先頭ページP0のプログラムが終了した後、NAND型フラッシュメモリから読み出されデータに基づきNOR型フラッシュメモリのページP0以降をプログラムする。ある態様では、前記コントローラは、NOR型フラッシュメモリのページP1をプログラムするとき、NAND型フラッシュメモリの選択ページから読み出されたデータからページP1に対応するデータを選択的に読み出す。ある態様では、前記コントローラは、ページP1のプログラムをしている間に、前記入出力回路からNAND型フラッシュメモリの次のページにプログラムするデータをロードする。
【発明の効果】
【0016】
本発明によれば、入出力回路から受け取ったコマンドに基づきNOR型フラッシュメモリおよびNAND型フラッシュメモリの動作を制御するようにしたので、NOR型フラッシュメモリとNAND型フラッシュメモリとの連携ないし協働の動作が可能となり、ホスト装置の処理を軽減し、かつ半導体装置の利便性を向上させることができる。
【図面の簡単な説明】
【0017】
【
図1】
図1(A)は、NOR型フラッシュメモリの連続読出し動作を説明するタイミングチャート、
図1(B)は、NAND型フラッシュメモリの連続読出し動作を説明するタイミングチャートである。
【
図2】本発明の実施例に係るスタック型フラッシュメモリの全体構成を示すブロック図である。
【
図3】本発明の実施例に係るスタック型フラッシュメモリの内部構成を示す図である。
【
図4】本発明の実施例に係るスタック型フラッシュメモリをデュアルモードの書込み/読出しを行うときのタイミングチャートである。
【
図5】本実施例のスタック型フラッシュメモリにおけるプログラム動作を説明する図である。
【
図6】本実施例のスタック型フラッシュメモリにおけるプログラム動作を説明する図である。
【
図7】本実施例のスタック型フラッシュメモリにおける読出し動作を説明する図である。
【
図8】本発明の実施例に係るスタック型フラッシュメモリの他の構成例を示す図である。
【
図9】本発明の実施例に係るスタック型フラッシュメモリの他の構成例を示す図である。
【発明を実施するための形態】
【0018】
本発明に係る半導体装置は、異種タイプのフラッシュメモリとして、少なくとも1つのNOR型フラッシュメモリと少なくとも1つのNAND型フラッシュメモリとを含んで構成される。ある態様では、半導体装置は、NOR型フラッシュメモリが形成されたチップとNAND型フラッシュメモリが形成されたチップとを積層したパッケージを含んで構成される。
【実施例】
【0019】
次に、本発明の実施例について図面を参照して説明する。本発明の実施例に係るスタック型フラッシュメモリ10は、
図2に示すように、外部バス20を介してホスト装置30に接続される。スタック型フラッシュメモリ10は、NOR型フラッシュメモリ100、NAND型フラッシュメモリ200、コントローラ300、および内部バス400を含んで構成される。NOR型フラッシュメモリ100、NAND型フラッシュメモリ200、コントローラ300は、内部バス400を介して相互に接続され、これらの間で内部バス400を介してデータの転送が可能である。外部バス20は、特に限定されないが、例えばSPI、クワッドSPI、オクタルSPIであり、外部バス20がSPIに対応している場合には、内部バス400も同様にSPIに対応する。
【0020】
スタック型フラッシュメモリ10は、特に限定されないが、NOR型フラッシュメモリ100およびコントローラ300が形成されたチップ(またはダイ)と、NAND型フラッシュメモリ200が形成されたチップ(またはダイ)の積層を含む。スタックされたチップは、相互に電気的に接続され、例えば、一方のチップ表面に形成された導電パッドが他方のチップ表面に形成された導電パッドに直接的にあるいは導電部材を介して間接的に接続される。あるいは、スタックされたチップ間を貫通する導電部材によってチップ間の電気的接続が実現されるようにしてもよい。
【0021】
スタック型フラッシュメモリ10は、積層されたチップを収容するパッケージ(例えば、樹脂封止やセラミック封止など)を含む。パッケージは、内部チップと外部との間の電気的インターフェースを提供するための外部端子を含む。外部端子は、例えば、パッケージ裏面に形成されたBGAやLGAなどを含み、外部端子は、データ入出力用端子、アドレス端子、クロック端子、制御端子、電源端子などを含み得る。
【0022】
ホスト装置30は、外部バス20を介してスタック型フラッシュメモリ10にコマンド(命令)、アドレス、クロック信号、制御信号等を出力し、スタック型フラッシュメモリ10に所望の動作を実行させる。ここで留意すべきは、ホスト装置30が用いるコマンドは、NOR型フラッシュメモリの仕様に準拠するものであり、つまり、ホスト装置30は、スタック型フラッシュメモリ10をあたかもNOR型フラッシュメモリとして使用し、NOR型フラッシュメモリのためのプログラムコマンド、読出しコマンド、消去コマンドを発し、ユーザーから見えないところでNAND型フラッシュメモリ200が動作される。
【0023】
図3は、本実施例のスタック型フラッシュメモリ10の内部構成を示す図である。NOR型フラッシュメモリ100は、ビット線とソース線間に複数のメモリセルが並列に接続されたNOR型メモリセルアレイ110、行アドレスに基づきワード線の選択・駆動を行うX-DEC120、メモリセルから読み出されたデータをセンスしたり、メモリセルにデータを書込むSA/WA130、プログラム動作時に入出力回路330から受け取った1ページ分のデータを保持し、列アドレスに基づき選択されたデータをSA/WA130に転送するバッファ140、列アドレスに基づきビット線の選択等を行うY-DEC150を含んで構成される。
【0024】
NOR型フラッシュメモリ100は、データ入出力を連続的に行う機能を搭載し、その際、ページ単位でデータの読出しやプログラムを行うことができる。1ページの単位は、特に限定されず、任意設定が可能であるが、例えば256バイトである。ある態様では、NOR型フラッシュメモリ100のバッファ140は、1ページ分のデータを格納することができ、プログラム動作時、バッファ140は、入出力回路330を介して受け取ったデータを保持する。バッファ140に保持したデータは、Y-DEC150の列アドレスに基づき選択され、選択されたデータがSA/WA(センスアンプ/書込みアンプ)130に転送され、SA/WA130は、転送されたデータに基づき選択ビットの選択メモリセルにプログラムする。
【0025】
NAND型フラッシュメモリ200は、行列状に配列された複数のメモリセルがNANDストリングを形成するように直列に接続されたNAND型メモリセルアレイ210、行アドレスに基づきブロックおよびワード線の選択・駆動を行うX-DEC220、メモリセルアレイ210の選択ページから読み出されたデータを保持したり、選択ページにプログラムするデータを保持するページバッファ/センス回路230、ページバッファ/センス回路230との間でデータ転送(例えば、1/2ページ単位)を行うキャッシュレジスタ240と、列アドレスに基づきビット線の選択等を行うY-DEC250、内部バス400に接続されたコントローラ260を含んで構成される。また、ここには図示しないがスタック型フラッシュメモリ10は、データの読出し、プログラムおよび消去等のために必要な電圧などを生成する電圧発生回路やクロック生成回路などを含み得る。
【0026】
コントローラ300は、NOR制御310およびNAND制御320を含み、コントローラ300は、内部バス400を介して入出力回路330に接続される。入出力回路330は、外部バス20を介してホスト装置30に接続され、ホスト装置30からコマンド、アドレス、データ等を受け取る。また、入出力回路330は、内部バス400を介してNOR型フラッシュメモリ100およびNAND型フラッシュメモリ200に接続される。
【0027】
入出力回路330は、SPIに対応し、より好ましくはクワッドSPIまたはオクタルSPIに対応し、外部バス20および内部バス400におけるデータ転送はクロック信号に同期して行われる。
【0028】
ある態様では、入出力回路330は、入出力端子、クロック端子等を含み、クロック端子に供給されたクロック信号の立ち上がりエッジおよび/または立下りエッジに同期してデータの入出力を行う。プログラム動作時、入出力回路330を介して取り込まれたデータは、内部バス400を介してNOR型フラッシュメモリ100やNAND型フラッシュメモリ200に提供され、NOR型フラッシュメモリ100やNAND型フラッシュメモリ200へのプログラムが可能である。
【0029】
コントローラ300は、ホスト装置30から受け取ったコマンド等に基づきNOR型フラッシュメモリ100やNAND型フラッシュメモリ200の動作を制御し、さらに内部バス400のデータ転送を制御する。NOR制御310は、NOR型フラッシュメモリ100の動作を制御し、NAND制御320は、NAND型フラッシュメモリ200の動作を制御する。より具体的には、NOR制御310は、入出力回路330を介して受け取ったコマンドに基づきNOR型フラッシュメモリ100の読出し、プログラム、消去等の動作を制御したり、あるいは入出力回路330から受け取った特定のコマンドに基づきNAND制御320にNANDフラッシュメモリ200を制御するための内部コマンドや内部アドレスを生成させる。
【0030】
例えば、ホスト装置30からの特定のコマンドがNAND型フラッシュメモリ200へのプログラムを含むコマンドに該当する場合、NOR制御310は、NAND制御320にNAND型フラッシュメモリ200をプログラムするための内部コマンドおよび内部アドレスを生成させ、生成した内部コマンドおよび内部アドレスを入出力回路330および内部バス400を介してNAND型フラッシュメモリ200のコントローラ260に提供する。NAND制御320は、例えばLUTを参照し、ホスト装置30から受け取ったアドレスに対応する内部アドレスを生成する。NAND型フラッシュメモリ200のコントローラ260は、受け取った内部コマンドに応答して、入出力回路330および内部バス400を介して受け取ったデータをNAND型メモリアレイ210の選択ページにプログラムする。
【0031】
また、特定のコマンドがNAND型フラッシュメモリ200の読出しを含むコマンドに該当する場合、NOR制御310は、NAND制御320にNAND型フラッシュメモリ200を読み出すための内部コマンドおよび内部アドレスを生成させ、生成した内部コマンドおよび内部アドレスを入出力回路330および内部バス400を介してNAND型フラッシュメモリ200のコントローラ260に提供する。NAND型フラッシュメモリ200のコントローラ260は、受け取った内部コマンドに応答して、NAND型メモリアレイ210の選択ページから読み出されたデータを内部バス400および入出力回路330を介して外部バス20に出力する。
【0032】
ある態様では、スタック型フラッシュメモリ10は、ホスト装置30からNOR型フラッシュメモリに準拠する命令(コマンド)を受け取ると、NOR制御310は、当該命令に応じてNOR型フラッシュメモリ100および/またはNAND制御320を介してNAND型フラッシュメモリ200を制御する。例えば、ホスト装置30は、ブートコードやファームウエアなどのデータをスタック型フラッシュメモリ10にプログラムするとき、特定のコマンド(例えば、連続書込みのコマンドやページモード書込みのコマンドなど)、アドレス、データを発行する。
【0033】
ある態様では、NOR制御310は、入出力回路330を介してホスト装置30からの特定のコマンドを受け取ると、NOR型フラッシュメモリ100のプログラムを制御し、かつNAND制御320からNANDフラッシュメモリ200をプログラムするための内部コマンドおよび内部アドレスを発行させる。NOR型フラッシュメモリ100は、入出力回路330から受け取ったデータをNOR型アレイ110に書込み、NAND型フラッシュメモリ200は、NOR型フラッシュメモリ100の書込みと並行して、あるいは単独で、入出力回路330から受け取ったデータをNAND型アレイ210に書込む。
【0034】
ある態様では、ホスト装置30は、ブートデータやファームウエアなどのデータをスタック型フラッシュメモリ10から読み出すとき、特定のコマンド(例えば、連続読出しのコマンドやページモード読出しのコマンドなど)、アドレスを発行する。NOR制御310は、入出力回路330を介してホスト装置30から特定のコマンドを受け取ると、NOR型フラッシュメモリの読出しを制御し、かつNAND制御320からNAND型フラッシュメモリ200を読み出すための内部コマンドおよび内部アドレスを発行させる。NOR型フラッシュメモリ100は、NOR型アレイ110から読み出したデータを入出力回路330から出力し、NAND型フラッシュメモリ200は、NOR型フラッシュメモリの読出し後に、あるいは単独でNAND型アレイ210から読み出したデータを入出力回路330から出力する。
【0035】
次に、本実施例のスタック型フラッシュメモリ10にデータを連続プログラムする例について説明する。
図4は、データをプログラムするときのタイミングチャート、
図5、
図6は、NOR型フラッシュメモリとNAND型フラッシュメモリの動作遷移を説明する図である。図中、Tpgm_NORは、NOR型フラッシュメモリの1ページ分のプログラム時間、Tpgm_NANDは、NAND型フラッシュメモリの2ページ分のプログラム時間、Treadは、NAND型フラッシュメモリからNOR型フラッシュメモリへのデータ読出し時間である。
【0036】
ここでは、一例として、NOR型フラッシュメモリ100の1ページが256バイト、NAND型フラッシュメモリ200の1ページが2Kバイトであると仮定する。つまり、NAND型フラッシュメモリ200の1ページのデータは、NOR型フラッシュメモリ100の8ページのデータに相当する。
【0037】
プログラム動作時、NOR型フラッシュメモリ100は、256バイトのデータをバッファ140に格納し、ビット単位、バイト単位あるいはワード単位でバッファ140から読み出されたデータを選択ページの選択メモリセルにプログラムする。一方、NAND型フラッシュメモリ200は、2Kバイトのデータをキャッシュレジスタ240/ページバッファSA230にそれぞれ格納し、ページバッファ/SA230に保持されたデータをページ単位で選択ページにプログラムする。それ故、NAND型フラッシュメモリは、高速プログラムが可能であり、NOR型フラッシュメモリ100の単位ビット当たりのプログラム時間は、NAND型フラッシュメモリ200よりも非常に大きくなる。
【0038】
コントローラ300は、ホスト装置30から入出力回路330を介してコマンド、アドレスを受け取ると、NORフラッシュメモリ100およびNAND型フラッシュメモリ200にページモードでデータの連続書込みを行う。連続書込みでは、例えば、NOR型フラッシュメモリ100の先頭の行アドレスが指定され、その後、行アドレスおよび列アドレスは、カウンタによって自動的に生成される。NAND型フラッシュメモリ200の行アドレスは、NAND制御320またはコントローラ260によって自動的に生成される。連続書込みの終了は、例えば、従来と同様にCS/信号をトグルさせるか(
図1(A)を参照)、あるいは、連続書き込みの終了コマンドをスタック型フラッシュメモリ10に入力する。
【0039】
連続書込み動作が開始されると、外部バス20から入出力回路330を介してデータが取り込まれる。
図4の時刻t0-t1の期間において、NAND型フラッシュメモリ200の2ページ分のデータが入出力回路330から取り込まれる。取り込まれたデータは、内部バス400を介してNOR型フラッシュメモリ100のバッファ140に順次格納され、これと並行して、NAND型フラッシュメモリ200のキャッシュレジスタ240にも順次格納される。キャッシュレジスタ240は、1ページ分のデータを格納すると、この1ページ分のデータをページバッファ/SA230に転送し、次の1ページ分のデータをロードする。
【0040】
バッファ140に格納されたデータは、ビット単位あるいは複数ビット単位でSA/WA140に転送され、SA/WA140は、受け取ったデータを選択ページP0の選択メモリセル(1ビットまたは複数ビット)にプログラムする。この様子を
図5(A)に示す。時刻t1のとき、
図5(B)に示すように、外部バス20からNAND型フラッシュメモリ200のキャッシュレジスタ240への2ページ分のデータロードが終了する。
【0041】
時刻t1で外部バス20からのデータロードが終了すると、時刻t1-t2の期間において、NAND型フラッシュメモリ200は、格納した2ページ分のデータをプログラムする。この様子を
図5(C)に示す。ページバッファ/SA230に保持された最初の1ページ分のデータがNAND型アレイの選択ページP0にプログラムされ、その後、キャッシュレジスタ240に保持されたデータがページバッファ/SA230に転送され、このデータが選択ページP1にプログラムされる。NAND型フラッシュメモリ200のプログラムが行われている間、NOR型フラッシュメモリ100では、ページP0のプログラムが行われている。
【0042】
時刻t2-t3の期間において、次の2ページ分のデータがNAND型フラッシュメモリ200にロードされる。この様子を
図5(D)に示す。時刻t3において、データロードが終了するとき、NOR型フラッシュメモリ100におけるページP0のプログラムが終了する。この様子を
図5(E)に示す。
【0043】
時刻t3-t4の期間において、NAND型フラッシュメモリ200は、格納した2ページ分のデータをプログラムする。この様子を
図5(F)に示す。NAND型アレイ210の選択ページP2、P3にデータがプログラムされる。時刻t4でNAND型フラッシュメモリ200のプログラムが終了したときの様子を
図6(G)に示す。
【0044】
時刻t4でプログラムが終了するや否や、時刻t4-t5の期間において、NOR型フラッシュメモリ100のページP1にプログラムするため、NAND型フラッシュメモリのページP0のデータが読出され、読みだされたデータがNOR型フラッシュメモリ100のページP1にプログラムされる。この様子を
図6(H)に示す。NAND型メモリアレイの選択ページP0のデータがページバッファ/SA230に読み出され、次いで、読み出されたデータがキャッシュレジスタ240に転送される。キャッシュレジスタ240に保持されたページP0のデータは、NOR型フラッシュメモリ100のページP0~P7の8ページ分のデータを含むものである。コントローラ260は、Y-DEC250を介してキャッシュレジスタ240の列アドレス257-512の256バイトのデータを選択し、この256バイトのデータを内部バス400に出力させる。NOR型フラッシュメモリ100は、内部バス400から受け取った256バイトのデータをバッファ140に順次格納し、次いで、Y-DEC150を介してバッファ140の選択されたデータをSA/WA130に転送し、NOR型メモリアレイのページP1の選択メモリセルにプログラムを行う。
【0045】
時刻t5でバッファ140へのデータ転送が終了し、このときの様子を
図6(I)に示す。NAND型フラッシュメモリ200のページバッファ/SA230およびキャッシュレジスタ240に保持されたデータがリセットされ、次の2ページ分のデータをロードするための準備が成される。
【0046】
時刻t5-t6の期間において、次の2ページ分のデータが外部バス20からNAND型フラッシュメモリ200にロードされる。この様子を
図6(J)に示す。この間、NOR型フラッシュメモリ100ではページP1のプログラムが行われている。時刻t6-t7の期間において、NAND型フラッシュメモリ200は、ロードした2ページ分のデータをページP4、P5にプログラムする。この様子を
図6(K)に示す。時刻t7で、NAND型フラッシュメモリ200におけるページP5のプログラムが終了し、これとほぼ同じタイミングでNOR型フラッシュメモリ100におけるページP1のプログラムが終了する。この様子を
図6(L)に示す。
【0047】
こうして、NOR型フラッシュメモリ100のページP1以降は、NAND型フラッシュメモリ200から読み出されたデータがプログラムされる。
図4は、NAND型フラッシュメモリ200にプログラムされたページP0、P1の2ページ分のデータを、NOR型フラシュメモリ100にプログラムしたときのタイミングチャートである。SPIによるクロック信号が100MHzであり、DTR(立ち上がりエッジおよび立下りエッジ)に同期してデータ出力が行われ、Tpgm_NOR≒0.7ms、Tread=400usと仮定すると、本実施例のスタック型フラッシュメモリ10においてNOR型フラッシュメモリ100に16ページ(NOR_Page0~Page15)をプログラムするのに要する時間Taは、
Ta≒(400us×16)+0.7ms<8msとなる。
他方、従来のスタック型フラッシュメモリにおいてNOR型フラシュメモリに16ページをプログラムするために要する時間Tbは、
Tb≒16×0.7ms=11.2msとなる。
このように、プログラム動作時に、高速プログラム可能なNAND型フラッシュメモリにデータを格納し、これをあたかもキャッシュメモリのように使用することで、NOR型フラッシュメモリのプログラムに要する時間を大幅に短縮することができる。
【0048】
図6に示すように、NANDフラッシュメモリ200にプログラムされたページP0~P5の6ページ分のデータをNOR型フラッシュメモリ100にプログラムするならば、NOR型フラッシュメモリ100には、48ページのデータがプログラムされることになる。NOR型フラッシュメモリ100にプログラムするデータサイズが大きいほど、プログラムに要する時間の短縮が大きくすることができる。
【0049】
このように本実施例によれば、NOR型フラッシュメモリとNAND型フラッシュメモリとを連携ないし協働させ、プログラム動作時に、NORフラッシュメモリ100とNAND型フラッシュメモリ200にデータをロードし、NAND型フラッシュメモリ200にプログラムしたデータをそこから読出し、読み出したデータをNOR型フラッシュメモリ100にプログラムするようにしたので、NOR型フラッシュメモリ単体にデータをプログラムする場合と比べて、プログラム時間を大幅に短縮させることができる。
【0050】
次に、本実施例のスタック型フラッシュメモリ10からデータを連続的に読み出す動作について説明する。ここでは、
図4に示したように、NOR型フラッシュメモリ100がNOR_Page0~Page15(1ページは、256バイトであり、NOR_Page0~Page15は、NANDフラッシュメモリのページP0、P1の2ページに対応)を格納し、NAND型フラッシュメモリ200がページP0~P63を格納するものとする(1ページは、2Kバイトである)。ページP0~P63は、例えば、NAND型メモリアレイの1ブロックのデータに対応し、読み出されるデータは、例えば、1Mb(128Kバイト)のブートデータである。コントローラ300は、例えば、LUTを参照し、NOR型フラッシュメモリに格納されるNOR_Page0~Page15のアドレス、NAND型フラッシュメモリに格納されるページP0~P63のアドレスを管理する。
【0051】
図7(A)は、ページP0~P63のデータを連続読み出しするときのタイミングチャート、
図7(B)~(E)は、NOR型フラシュメモリとNAND型フラッシュメモリの動作遷移を説明する図である。
【0052】
コントローラ300は、ホスト装置30からNOR仕様の連続読み出しコマンドを受け取ると、当該コマンドに応じて、NOR型フラッシュメモリ100およびNAND型フラッシュメモリ200の連続読み出しをそれぞれ制御する。まず、NOR型フラッシュメモリ100は、ホスト装置30から受け取ったアドレス、あるいは、読み出すアドレスが予め決められている場合には当該予め決められたアドレスに基づき、NORメモリアレイ110からNOR_Page0から順にPage15までの16ページ分の4Kバイトのデータを連続的に読み出す。NOR_Page0~Page15は、上記したように、NAND型フラッシュのページP0、P1の4Kバイトに対応する。
【0053】
NORメモリアレイ110からの読み出しの単位は、ビット単位、バイト単位、ワード単位、あるいはそれ以外のいずれであっても良い。X-DEC120は、NOR_Page0~Page15を読み出すための行アドレスを生成する。また、Y-DEC150は、例えば、アドレスカウンタを自動的にインクリメントし、NOR_Page0の読出しのための列アドレス0~255を生成し、NOR_Page0の読み出しが終了すると、再び、アドレスカウンタをリセットし、NOR_Page1の連続読出しのための列アドレス~255を生成する。NORメモリアレイ110から読み出したデータは、バッファ140に一時的に格納されるようにしてもよいし、バッファ140に格納されることなく内部バス400を介して入出力回路330に出力されるようにしてもよい。
【0054】
NOR型フラッシュメモリ100によるNOR_Page0~Page15の連続読み出しが行われている間に、レディ状態にあるNAND型フラッシュメモリ200は、X-DEC220を介してNAND型メモリアレイ210のページP2を選択し、ページP2の読み出しを行い、ページP2のデータをキャッシュレジスタ240に転送した後、次のページP3を選択し、ページP3の読み出しを行う。この様子を
図7(B)に示す。
【0055】
NOR型フラッシュメモリ100によるNOR_Page0~Page15の連続読出しが終了すると、次に、NAND型フラッシュメモリ200によるページP2~P63の読出しが行われる。
【0056】
例えば、SPIによるクロック信号が100MHzであり、DTRに同期してデータ読み出しが行われるとき、
図7(A)に示すように、NOR型フラッシュメモリ100からNOR_Page0~Page15の4KBの読出しに要する時間は、約40usである。この読出し時間は、NAND型フラッシュメモリ200のアレイ読出しのレイテンシィと概ね等しいかそれよりも幾分大きい。それ故、NOR型フラッシュメモリ100がNOR_Page0~Page15の連続読み出しを行うまでの間に、NAND型フラッシュメモリ200は、ページP2のアレイ読出しを終了し、ページP2のデータをページバッファ/SA230を介してキャッシュレジスタ240にセットする。
【0057】
こうして、NOR型フラッシュメモリ100によるNOR_Page0~Page15の4KB(2×2KB)の連続読み出しが終了するや否や、NANDフラッシュメモリ200からページP2の連続読出しが開始される。この様子を
図7(C)に示す。以後、NAND型フラッシュメモリは、順次、ページP3~ページP63までの連続読出しを行う。この様子を
図7(D)、(E)に示す。
【0058】
NAND型フラッシュメモリ200によるP2~P63までの62ページ分の連続読出しに要する時間は、NAND型フラッシュメモリの1ページの読出しに要する時間を40usとすると、40us×62=2480となり、その結果、64ページの連続読み出しに要する時間は、40us+(40us×62)≒2.6msとなる。
【0059】
このような本実施例による連続読出しは、事実上、NAND型フラッシュメモリによるアレイ読出しレイテンシを相殺するものであるから、NAND型フラッシュメモリ単体から64ページのデータを連続読出すときよりも高速読出しを可能にする。
【0060】
上記実施例では、NOR型フラッシュメモリ100に外部バスからロードしたデータの一部をプログラムし、残りのデータをNAND型フラッシュメモリ200からプログラムする例を示したが、NAND型フラッシュメモリ200にプログラムされたデータは、例えば、スタック型フラッシュメモリ10が使用されていないとき、あるいはバックグラウンド処理等によって、NOR型フラッシュメモリ100にコピーすることも可能である。その場合、NAND型フラッシュメモリ200には、NOR型フラッシュメモリ100に書込んだデータのバックアップを残すことができ、ブートデータのような信頼性を必要とするデータを保証することができる。
【0061】
上記実施例では、スタック型フラッシュメモリ10にプログラムする例を説明したが、読出しでは、NOR型フラッシュメモリ100あるいはNAND型フラッシュメモリ200の単体からそれぞれデータを読出すことが可能である。例えば、NOR型フラッシュメモリ100にプログラムされたブートデータは、従来と同様に、SPIによる高速読出しが可能である。バッファ140は、読出し速度に影響を与えないように、データをスルーさせるように機能するか、あるいはバイパスされる。
【0062】
上記実施例では、
図3に示すように、入出力回路330を内部バス400を介してコントローラ300に接続させたが、これに限らず、
図8に示すように、コントローラ300Aが入出力回路330を包含し、コントローラ300Aが外部バス20に接続されるようにしてよい。また、NAND型フラッシュメモリ200がコントローラ260を備えるように構成したが、
図8に示すように、コントローラ300Aが入出力回路330を介してNAND型フラッシュメモリ200を直接制御するようにしてもよい。この場合、NAND制御320が生成した内部コマンドおよび内部アドレスは、入出力回路330、内部バス400を介してNAND型フラッシュメモリ200に提供される。
【0063】
さらに上記実施例では、NOR型フラッシュメモリ100がプログラムデータを保持するバッファ140を備えるように構成したが、バッファ140は、
図9に示すように入出力回路330に包含させるようにしてもよい。この場合、NAND型フラッシュメモリ200から読み出したデータは、入出力回路330のバッファ140に保持され、入出力回路330からNOR型フラッシュメモリ100にデータが内部バス400を介して提供される。また、
図5の時刻t5-t6に示すように、NAND型フラッシュメモリ200には、外部バス200からデータをロードする必要があるため、入出力回路330は、外部バス20から取り込んだデータを、バッファ140に干渉させることなくNAND型フラッシュメモリ200に内部バス400を介して提供する。
【0064】
上記実施例では、スタック型フラッシュメモリにブートコードやファームウエアをプログラムする例を示したが、これは一例であり、プログラムすべきデータのサイズや種類は特に限定されない。NOR型フラッシュメモリ100やNAND型フラッシュメモリ200のメモリ容量は、プログラムすべきデータや使用環境に応じて適宜選択することができる。また、上記実施例で示したNOR型フラッシュメモリ100の1ページのデータサイズやNAND型フラッシュメモリ200の1ページのデータサイズは一例であり、これらのデータサイズは、スタック型フラッシュメモリの動作設計に応じて適宜変更することが可能である。
【0065】
本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0066】
10、10A:スタック型フラッシュメモリ
20:外部バス
30:ホスト装置
100:NOR型フラッシュメモリ
200:NAND型フラッシュメモリ
300:コントローラ
400:内部バス
【要約】
【課題】 NOR型フラッシュメモリとNAND型フラッシュメモリとを含む半導体装置の動作方法を改善する。
【解決手段】 本発明のフラッシュメモリ10は、NOR型フラッシュメモリ100、NAND型フラッシュメモリ200、コントローラ300、NOR型フラッシュメモリ100およびNAND型フラッシュメモリ200とコントローラ300との間を連結する内部バス400を含んで構成される。コントローラ400は、外部から受け取ったコマンドに基づきNOR型フラッシュメモリ100、またはNOR型フラッシュメモリ100およびNAND型フラッシュメモリ200を制御する。
【選択図】
図3