(57)【要約】【課題】  実施形態は、複数のバッファ部それぞれに保持されたデータを交換可能なメモリシステムを提供する。【解決手段】  本実施形態のメモリシステムは、データを保持可能なページバッファを含むＮＡＮＤ型フラッシュメモリと、前記ＮＡＮＤ型フラッシュメモリとデータバスを介して電気的に接続された複数の記憶部と、前記ＮＡＮＤ型フラッシュメモリ、前記複数の記憶部を制御する制御部とを備え、前記データバスの幅は、前記データの容量よりも小さく、前記制御部は、前記ＮＡＮＤ型フラッシュメモリに書き込み又は読み出しを行うとき、前記ページバッファに保持するデータと前記複数の記憶部のうち１の記憶部に保持するータとを交換することを特徴とする。【選択図】図１
2012088816.tif 000002
【特許請求の範囲】
【請求項１】
データを保持可能なページバッファを含むＮＡＮＤ型フラッシュメモリと、
前記ＮＡＮＤ型フラッシュメモリとデータバスを介して電気的に接続された複数の記憶部と、
前記ＮＡＮＤ型フラッシュメモリ、前記複数の記憶部を制御する制御部と
を備え、
前記データバスの幅は、前記データの容量よりも小さく、
前記制御部は、前記ＮＡＮＤ型フラッシュメモリに書き込み又は読み出しを行うとき、前記ページバッファに保持するデータと前記複数の記憶部のうち１の記憶部に保持するデータとを交換することを特徴とする半導体記憶装置。
【請求項２】
前記ページバッファに第１データが保持されて、前記複数の記憶部のうち１の記憶部に第２データが保持されており、
前記制御部は、前記ＮＡＮＤ型フラッシュメモリに書き込み又は読み出しを行うとき、前記第１データを前記複数の記憶部のうち前記第２データを保持していない記憶部に転送し、前記第２データを前記ページバッファに転送することを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記ページバッファに第１データが保持されており、前記複数の記憶部は、第２データが保持された第１記憶部と、第２データを保持していない第２記憶部を含み、
前記制御部は、前記ＮＡＮＤ型フラッシュメモリに書き込み又は読み出しを行うとき、前記第１データを前記第２記憶部に転送し、前記第２データを前記ページバッファに転送し、前記第１データを前記第１記憶部に転送することを特徴とする請求項１又は請求項２記載の半導体記憶装置。
【請求項４】
請求項３記載の半導体記憶装置に、
前記ＮＡＮＤ型フラッシュメモリに書き込みを行うときにパリティを生成し、前記ＮＡＮＤ型フラッシュメモリに読み出しを行うときに前記ページバッファに保持されたデータのパリティを用いてエラー検出を行うエラー訂正回路を有するＥＣＣ部をさらに備え、
前記制御部は、前記ＮＡＮＤ型フラッシュメモリに書き込み又は読み出しを行う場合に、前記第１データを前記第２記憶部及び前記ＥＣＣ部に転送し、前記第１データにエラーが存在するとき前記ＥＣＣ部から出力されたエラー訂正を前記第２記憶部に保存された第１データに上書きし、前記第２データを前記ページバッファ及び前記ＥＣＣ部に転送し、前記ＥＣＣ部から出力されたパリティを前記第２データと一体となるよう前記ページバッファに転送することを特徴とする請求項１乃至請求項３いずれか１項記載の半導体記憶装置。
【請求項５】
前記第２記憶部の容量は、前記第１記憶部の容量より小さいことを特徴とする請求項２乃至請求項４記載の半導体記憶装置。 
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、メモリシステムに関し、例えば、複数種類のメモリを１チップに集積した半導体記憶装置等に適用されるものである。
【背景技術】
【０００２】
複数種類のメモリを１チップに集積した半導体記憶装置として、例えばＮＡＮＤ型フラッシュメモリ（記憶部）と、ＳＲＡＭ（Static Random Access Memory）とを１チップで集積された半導体記憶装置がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−７３１４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
実施形態は、ページバッファとバッファ部それぞれに保持されたデータを交換可能なメモリシステムを提供する。
【課題を解決するための手段】
【０００５】
本実施形態のメモリシステムによれば、データを保持可能なページバッファを含むＮＡＮＤ型フラッシュメモリと、前記ＮＡＮＤ型フラッシュメモリとデータバスを介して電気的に接続された複数の記憶部と、前記ＮＡＮＤ型フラッシュメモリ、前記複数の記憶部を制御する制御部とを備え、前記データバスの幅は、前記データの容量よりも小さく、前記制御部は、前記ＮＡＮＤ型フラッシュメモリに書き込み又は読み出しを行うとき、前記ページバッファに保持するデータと前記複数の記憶部のうち１の記憶部に保持するデータとを交換することを特徴とする。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態のメモリシステムを示すブロック図。
【図２】第１の実施形態のメモリセルアレイを示す回路図。
【図３】第１の実施形態のメモリシステムを用いたデータ転送方法を示すフローチャート図。
【図４】第１の実施形態のメモリシステムを用いたデータ転送方法を示すフローチャート図。
【図５】第２の実施形態のメモリシステムを用いたデータ転送方法を示すフローチャート図。
【発明を実施するための形態】
【０００７】
（第１の実施形態）
次に、第１の実施形態について図面を参照しながら説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。また、図面の寸法比率は、図示の比率に限定されるものではない。
【０００８】
［メモリシステムの構成］
第１の実施形態に係るメモリシステムについて、図１のブロック図を用いて説明する。
【０００９】
図１に示すように、メモリシステム１００は、ＮＡＮＤ型フラッシュメモリ１０、入出力部２０、制御部３０を備える。例えば、メモリシステム１００では、ＮＡＮＤ型フラッシュメモリ１０、入出力部２０、及び制御部３０は、同一の半導体基板上に形成され、１つのチップに集積される。
【００１０】
＜ＮＡＮＤ型フラッシュメモリ＞
まず、ＮＡＮＤ型フラッシュメモリ１０について、図１及び図２の回路図を用いて説明する。
【００１１】
ＮＡＮＤ型フラッシュメモリ１０は、メモリシステム１００の主記憶部として機能する。図１に示すように、ＮＡＮＤ型フラッシュメモリ１０は、メモリセルアレイ１１、ロウデコーダ１２、センスアンプ１３、ページバッファ１４、カラムデコーダ１５、電圧発生回路１６、シーケンサ１７、及びオシレータ１８、１９を備えている。
【００１２】
＜＜メモリセルアレイ＞＞
図２に示すように、メモリセルアレイ１１は、マトリックス状に配置された複数のＮＡＮＤストリングＮＳで構成される。また、メモリセルアレイ１１は、通常データが保存される第１領域と、第１領域のスペア領域として用いられデータが保存される第２領域を含む。第２領域には、例えばエラーを訂正するパリティを保存する。
【００１３】
複数のビット線ＢＬ０乃至ＢＬｍは、ＮＡＮＤストリングＮＳが延在する方向（第１の方向）に延在して配置され、半導体基板（図示略）上のＮＡＮＤストリングＮＳの上方に配置され、ＮＡＮＤストリングＮＳの端部と電気的に接続されている。
【００１４】
一方、複数のワード線ＷＬ０乃至ＷＬ３１は、ＮＡＮＤストリングＮＳが延在する方向（活性領域の延びる方向でもある）に対して直交する方向（第２の方向）に延び、且つ第１の方向に所定の間隔をおいて配置されている。
【００１５】
複数の選択ゲート線ＳＧＳ，ＳＧＤが、この複数のワード線ＷＬ０乃至ＷＬ３１を挟むように、ワード線ＷＬ０とワード線ＷＬ３１の両端にそれぞれ平行に配置されている。
【００１６】
ＮＡＮＤストリングＮＳは、複数のメモリセルＭＴ０乃至ＭＴ３１と、第１及び第２の選択ゲートトランジスタＳＴ１、ＳＴ２とで構成される。メモリセルＭＴは、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層と、電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲートとを有する積層ゲート構造を備えている。なお、メモリセルＭＴの個数は３２個に限られず、８個や１６個、３４個、１２８個、２５６個等であってもよく、その数は限定されるものではない。また、メモリセルトランジスタＭＴは、窒化膜に電子をトラップさせる方式を用いたＭＯＮＯＳ（Metal Oxide Nitride Oxide Silicon）構造であっても良い。
【００１７】
複数のメモリセルＭＴ０乃至ＭＴ３１それぞれは、上記の各ワード線ＷＬと各ビット線ＢＬとの交点のそれぞれ対応する部分に形成され、各活性領域（図示略）の延びる方向（第１の方向）に直列接続されている。
【００１８】
また、図２に示すように、ビット線ＢＬ側の第１の選択ゲートトランジスタＳＴ１は、メモリセルＭＴ３１と直列接続され、ソース線ＳＬ側の第２の選択ゲートトランジスタＳＴ２は、メモリセルＭＴ０と直列接続されている。ソース線ＳＬは各ＮＡＮＤストリングＮＳに共通に接続されている。
【００１９】
図２に示すように、各ＮＡＮＤストリングＮＳにおいて、第２の方向に配列された対応するメモリセルＭＴの制御ゲートがそれぞれ共通のワード線ＷＬに接続されている。また、第２の方向に配列された対応する第１の選択ゲートトランジスタＳＴ１の制御ゲートは、第１の選択ゲート線ＳＧＤに、第２の方向に配列された対応する第２の選択ゲートトランジスタＳＴ２の制御ゲートは、第２の選択ゲート線ＳＧＳに接続されている。
【００２０】
複数のＮＡＮＤストリングＮＳは、メモリセルアレイ１１内にマトリックス状に形成されており、１つのワード線ＷＬを共有する各ＮＡＮＤストリングＮＳ内のメモリセルＭＴの集合は、データ読み出し及び書き込みの単位となるページを構成する。また、ワード線ＷＬを共有する複数のＮＡＮＤストリングＮＳの集合は、データ消去の単位となるブロックを構成する。
【００２１】
＜＜センスアンプ及びページバッファ＞＞
センスアンプ（図１では、Ｓ／Ａに対応する）１３及びページバッファ１４は、１ページ分のデータを保持可能なバッファメモリであり、ＮＡＮＤ型フラッシュメモリ１０における２次データキャッシュとして機能する。なお、ＮＡＮＤ型フラッシュメモリ１０における１次データキャッシュについては後述する。
【００２２】
センスアンプ１３は、データリード（データの読み出しともいう）時には、メモリセルアレイ１１から読み出されたデータをセンス・増幅して一時的に保持し、ページバッファ１４へ転送する。また、データライト（データの書き込みともいう）時には、ページバッファ１４から転送されたデータをビット線ＢＬに転送して、データのプログラムを実行する。
【００２３】
ページバッファ１４は、ＮＡＮＤデータバス（図１のＮＡＮＤ  Ｄａｔａ  Ｂｕｓ）を介して入出力部２０に接続される。このデータパスの幅は４バイトである。データリード時に、センスアンプ１３から転送されたデータを入出力部２０に転送する。他方、データライト時には、入出力部２０から転送されたデータを一時的に保持し、これをセンスアンプ１３に転送する。
【００２４】
センスアンプ１３及びページバッファ１４は、例えばビット線ＢＬ毎に設けられたラッチ回路を備え、これにより１ページ分のデータ（ページサイズは、例えば４Ｋバイト）を保持できる。
【００２５】
＜＜ロウデコーダ及びカラムデコーダ＞＞
ロウデコーダ１２は、メモリセルアレイ１１における所望のワード線ＷＬを選択する。また、カラムデコーダ１５は、メモリセルアレイ１１における所望のカラム、すなわちビット線ＢＬを選択する。
【００２６】
＜＜電圧発生回路＞＞
電圧発生回路１６は、外部から与えられる電圧を昇圧または降圧することにより、データのプログラム、読み出し、及び消去に必要な電圧を発生する。そして発生した電圧を、例えばロウデコーダ１２に供給する。電圧発生回路１６で発生された電圧が、ワード線ＷＬに印加される。
【００２７】
＜＜シーケンサ＞＞
シーケンサ１７は、ＮＡＮＤ型フラッシュメモリ１０全体の動作を司る。シーケンサ１７は、制御部３０からＮＡＮＤインターフェースコマンド（NAND I/F Command）を受けると、このＮＡＮＤインターフェースコマンドに対応するシーケンス（例えば、データのプログラムを実行するためのシーケンス）を実行する。シーケンサ１７は、このシーケンスにしたがって、センスアンプ１３、ページバッファ１４等の動作を制御する。このシーケンサ１７は、後述するオシレータ１８から転送される内部クロックＩＣＬＫに同期して動作する。
【００２８】
＜＜オシレータ＞＞
オシレータ１８（クロック生成器）は内部クロックＩＣＬＫを生成する。オシレータ１８は、この生成した内部クロックＩＣＬＫをシーケンサ１７に転送する。
【００２９】
オシレータ１９（クロック生成器）は内部クロックＡＣＬＫを生成する。そして、オシレータ１８は、生成した内部クロックＡＣＬＫを、制御部３０などに転送する。この内部クロックＡＣＬＫは、制御部３０などが同期して動作する基準となるクロックである。
【００３０】
＜入出力部＞
図１に示すように入出力部２０は、バッファ部２１、バーストバッファ（burst buffer）２２、インターフェース２３、アクセスコントローラ２４、及びＥＣＣ部２５を備える。
【００３１】
＜＜バッファ部＞＞
図１に示すように、バッファ部２１は、複数のデータＲＡＭ（記憶部ともいう）２１ａ、１つのブートＲＡＭ（記憶部ともいう）２１ｂ、ＳＲＡＭバッファ２１ｃを備える。このバッファ部２１は、ＮＡＮＤ型フラッシュメモリ１０における１次データキャッシュとしての機能を担う。
【００３２】
図１における例で示す２個のデータＲＡＭ２１ａは、第１データＲＡＭ（図１におけるＤａｔａ  Ｂｕｆｆｅｒ０）と第２データＲＡＭ（図１におけるＤａｔａ  Ｂｕｆｆｅｒ１）である。第１データＲＡＭは、バーストバッファ２２を介してホスト機器と間でデータの送受信をするときに用いるデータＲＡＭである。他方で、第２データＲＡＭは、ページバッファ１４のデータを一時的に保持するためのデータＲＡＭである。この情報は、例えばステートマシン３２のＲＯＭに予めテーブルとして保存されている。Ｄａｔａ  Ｂｕｆｆｅｒ０は第１データＲＡＭに対応し、Ｄａｔａ  Ｂｕｆｆｅｒ１は第２データＲＡＭに対応するよう保存されている。第１及び第２データＲＡＭの容量は、例えば４Ｋバイトである。
【００３３】
図１に示すように、複数のデータＲＡＭ２１ａ及びブートＲＡＭ２１ｂは、それぞれ、メモリセルアレイ、センスアンプ、及びロウデコーダを備える。
【００３４】
複数のデータＲＡＭ２１ａのメモリセルアレイは、データ保持可能な複数のＳＲＡＭセルを備える。ＳＲＡＭセルはそれぞれ、ワード線及びビット線対に接続される。このデータＲＡＭ２１ａのメモリセルアレイも、メモリセルアレイ１１と同様に、メインデータを保持する領域と、パリティ等を保持する領域とを備えている。このデータＲＡＭ２１ａのセンスアンプは、ＳＲＡＭセルからビット線対に読み出したデータをセンス・増幅する。またこのデータＲＡＭ２１ａのセンスアンプは、ＳＲＡＭバッファ３１ｃ内のデータをＳＲＡＭセルに書き込む際の負荷としても機能する。このデータＲＡＭ２１ａのロウデコーダは、このデータＲＡＭ２１ａのメモリセルアレイにおけるワード線を選択する。
【００３５】
ブートＲＡＭ２１ｂは、例えばメモリシステム１００を起動するためのブートコード（boot code）を一時的に保持する。ブートＲＡＭの容量は、例えば１Ｋバイトである。
【００３６】
ＳＲＡＭバッファ２１ｃは、データＲＡＭ２１ａまたはブートＲＡＭ２１ｂにデータを書き込む、または読み出す際に、一時的にデータを保持する。
【００３７】
図１に示すように、ＳＡＲＭバッファ２１ｃは、ＥＣＣデータバス（図１のＥＣＣ  Ｄａｔａ  Ｂｕｓ）を介してＥＣＣバッファ２５ａと電気的に接続される。その結果、ＳＲＡＭバッファ２１ｃとＥＣＣバッファ２５ａとの間で、ＳＲＡＭバッファ２１ｃはデータ転送できる。
【００３８】
また、ＳＲＡＭバッファ２１ｃは、ＲＡＭ／Ｒｅｇｉｓｔｅｒバスを用いて、後述するバーストバッファ（burst buffer）との間でデータ転送できる。ＳＲＡＭバッファ２１ｃは、メインデータを保持する領域と、パリティ等を保持する領域とを備えている。
【００３９】
＜＜バーストバッファ（burst buffer）＞＞
バーストバッファ２２は、ＲＡＭ／Ｒｅｇｉｓｔｅｒバスを介してＳＲＡＭバッファ２１ｃと制御部３０と電気的に接続されている。その結果、バーストバッファ２２は、ＳＲＡＭバッファ２１ｃ及び制御部３０との間でデータ転送できる。また、バーストバッファ２２は、インターフェース（図１のＰｕｒｅＮＡＮＤ  Ｕｓｅｒ  Ｉ／Ｆ及びＯｎｅＮＡＮＤ  Ｕｓｅｒ  Ｉ／Ｆ）２３との間でデータ転送できる。バーストバッファ２２は、ホスト機器からインターフェース２３を介して与えられるデータ、またはＳＲＡＭバッファ２１ｃから与えられるデータを、一時的に保持する。
【００４０】
＜＜インターフェース＞＞
インターフェース２３は、メモリシステム１００外部のホスト機器と接続可能とされ、ホスト機器との間でデータ、制御信号、及びアドレスＡｄｄ等、種々の信号の入出力を司る。
【００４１】
制御信号の一例は、メモリシステム１００全体をイネーブルにするチップイネーブル信号／ＣＥ、アドレスをラッチさせるためのアドレスバリッド信号／ＡＶＤ、バーストリード（burst read）用のクロックＣＬＫ、書き込み動作をイネーブルにするライトイネーブル信号／ＷＥ、データの外部への出力をイネーブルにするアウトプットイネーブル信号／ＯＥ、などである。
【００４２】
インターフェース２３は、Ｄａｔａ  Ｉｎｐｕｔ／Ｄａｔａ  Ｏｕｔｏｕｔバスを介してバーストバッファ２２と電気的に接続される。
【００４３】
そしてインターフェース２３は、ホスト機器からのデータのリード要求、ロード要求、ライト要求、及びプログラム要求等に係る制御信号をアクセスコントローラ２４に転送する。データリード時には、バーストバッファ２２内のデータをホスト機器へ出力する。またデータライト時には、ホスト機器から与えられるデータをバーストバッファ２２に転送する。
【００４４】
＜＜アクセスコントローラ＞＞
アクセスコントローラ２４は、インターフェース２３から制御信号及びアドレスを受け
取る。そして、ホスト機器の要求を満たす動作を実行するよう、バッファ部２１及び制御部３０を制御する。
【００４５】
より具体的には、ホスト機器の要求に応じて、アクセスコントローラ２４は、バッファ部２１又は制御部３０内のレジスタ３３のいずれかをアクティブ状態とする。そして、バッファ部２１に対してデータのライトコマンドまたはリードコマンド（Write/Read）、またはレジスタ３３に対するライトコマンドまたはリードコマンド（Write/Read、以下、これをレジスタライトコマンドまたはレジスタリードコマンドと呼ぶ）を発行する。その結果、バッファ部２１または制御部３０は動作を開始する。
【００４６】
＜＜ＥＣＣ部＞＞
ＥＣＣ部２５は、データリード時には、ＮＡＮＤ型フラッシュメモリ１０から読み出されたデータについてエラーの検出及び訂正を行う。他方、ＥＣＣ部２５は、データライト時には、プログラムすべきデータについてパリティの生成を行う。
【００４７】
ＥＣＣ部２５は、ＥＣＣバッファ２５ａ、ＥＣＣエンジン２５ｂを備える。ここで、ＥＣＣバッファ２５ａは、ＮＡＮＤデータバスを介してＮＡＮＤ型フラッシュメモリ１０のページバッファ１４と接続される。また、ＥＣＣバッファ２５ａはＥＣＣデータバスを介してバッファ部２１と接続される。
【００４８】
ＥＣＣバッファ２５ａは、データリード時に、ページバッファ１４から転送されるデータを保持すると共に、ＥＣＣ処理済み（データロード時は誤り訂正済み）のデータをバッファ部２１に転送する。他方、データライト時に、バッファ部２１から転送されるデータを保持すると共に、バッファ部２１から転送されたデータとパリティとをページバッファ１２に転送する。
【００４９】
ＥＣＣエンジン２５ｂは、ＥＣＣバッファ２５ａに保持されるデータを用いてＥＣＣ処理を行う。ＥＣＣエンジンは、例えばハミングコードを用いた１ビット訂正方式を用いる。そして、訂正処理に必要な最小限のパリティデータを使用する。
【００５０】
＜制御部＞
図１に示すように制御部３０は、アドレス／コマンド発生回路（図１におけるＮＡＮＤ  Ａｄｄ／Ｃｏｍｍａｎｄ  Ｇｅｎｅｒａｔｏｒ）３１、ステートマシン３２、レジスタ３３、ＣＵＩ（Ｃｏｍｍａｎｄ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）３４、アドレス／タイミング発生回路（ＳＲＡＭ  Ａｄｄ／Ｔｉｍｉｎｇ）３５を備える。
【００５１】
＜＜アドレス／コマンド発生回路＞＞
アドレス／コマンド発生回路３１は、内部シーケンス動作時に、必要に応じてＮＡＮＤ型フラッシュメモリ１０に対する、アドレス信号およびコマンドなどの制御信号を生成する役割を担う。
【００５２】
＜＜ステートマシン＞＞
ステートマシン３２は、アドレス／コマンド発生回路３１よりコマンドが発行されたこと、または、後述するＣＵＩ３４からの内部コマンド信号を受けて、コマンドの種類に応じた内部シーケンス動作を制御するものである。
【００５３】
＜＜レジスタ＞＞
レジスタ３３は、ファンクションの動作状態を設定するためのものであって、外部アドレス空間の一部を割り当てることにより、インターフェース２３を介して、外部のホスト装置によるアドレス信号またはコマンドなどの制御信号の読み出しまたは書き込みが行われる。
【００５４】
＜＜ＣＵＩ＞＞
ＣＵＩ３４は、レジスタ３３の所定の外部アドレス空間にアドレス信号またはコマンドなどの制御信号が書き込まれることで、ファンクション実行コマンドが与えられたことを認識し、内部コマンド信号を発行する。
【００５５】
＜＜アドレス／タイミング発生回路＞＞
アドレス／タイミング発生回路３５は、内部シーケンス動作時に、必要に応じてバッファ部２１などを制御するための、アドレス信号およびタイミングなどの制御信号を生成するものである。
【００５６】
［メモリシステムの動作方法］
次に、第１の実施形態に係るメモリシステムの動作方法について、図３のフローチャート図を用いて説明する。説明の便宜上、ＮＡＮＤ型フラッシュメモリ１０のデータを上書きする場合に、バッファ部２１に保持されたデータ（上書きされた第１データ）とＮＡＮＤ型フラッシュメモリ１０のページバッファに保持されたデータ（第２データ）とを入れ替え（交換）する例をもとに説明する。
【００５７】
まず、ステップＳ１で、制御部３０のステートマシン３２は、アドレス／コマンド発生回路３１にＮＡＮＤ型フラッシュメモリ１０のデータのうち上書きするデータ（第１データ）を読み出すデータリードのコマンドを生成するよう制御信号を出力する。
【００５８】
ステップＳ２で、アドレス／コマンド発生回路３１は、制御信号に対して、アドレス及び対応するコマンドを生成し、シーケンサ１７に出力する。このアドレス及びコマンドに基づいて、シーケンサ１７は１ページ分の第１データをページバッファ１４に保持できるようにセンス動作を制御する。その結果、ページバッファ１４に第１データが保持される。
【００５９】
ステップＳ３で、第１データをページバッファ１４が保持すると、シーケンサ１７はセンス動作が終了したｒｅａｄｙ信号をステートマシン３２に出力する。その結果、ステートマシン３２はページバッファに第１データが保持されたことを検知する。
【００６０】
ステップＳ４で、ステートマシン３２は、ページバッファ１４に保持された第１データを、バッファ部２１のうち第１データＲＡＭに転送するよう、アドレス／コマンド発生回路３１を制御する。
【００６１】
第１データが第１データＲＡＭに転送される具体的なステップを、図４のフローチャート図を用いて説明する。
【００６２】
ステップＳ４−１で、ステートマシン３２は、アドレス／コマンド発生回路３１に所望のコマンドを発行するよう要求する。その結果、ステートマシン３２の要求により、アドレス／コマンド発生回路３１からのコマンドをシーケンサ１７へ発行することによって、ＮＡＮＤデータバスにページバッファ１４内の第１データを読み出し、そのデータをＥＣＣバッファ２５ａに転送し、ＥＣＣバッファ２５ａを介してＥＣＣエンジン２５ｂにも転送する。
【００６３】
ステップＳ４−２で、アドレス／タイミング発生回路３５を介して、ステートマシン３３から転送信号（ＥＣＣバッファ２５ａからＳＲＡＭバッファ２１ｃへの転送を行うための信号）が発行されることにより、ＥＣＣエンジン２５ｂは、ＥＣＣバッファ２５ａから第１データをＳＲＡＭバッファ２１ｃに転送する。
【００６４】
ステップＳ４−３で、ＳＲＡＭバッファ２１ｃは、例えば、第１データをＳＲＡＭデータバスからセンスアンプを経て、第１データＲＡＭに転送する。第１データＲＡＭ内のＳＲＡＭセルアレイは、ＳＲＡＭアドレスにしたがってデータ書き込みを行う。
【００６５】
以上により、第１データが第１データＲＡＭに転送される。
【００６６】
ステップＳ５で、ユーザが、外部のホスト機器からインターフェース２３を通じて、第１データを読み出すための制御信号を入力することにより、アクセスコントローラ２４は、そのデータを第１データＲＡＭ内よりＳＲＡＭバッファ２１ｃに読み出す。そして、たとえばＲＡＭ／Ｒｅｇｉｓｔｅｒデータバス、バーストバッファ２２、インターフェース２３を介して、ホスト機器に第１データを出力させる。また、ユーザが、ホスト機器から上書きされた第１データを書き込むための制御信号を入力することにより、アクセスコントローラ２４は、第１データＲＡＭに上書きされた第１データを書き込む。
【００６７】
ステップＳ６で、制御部３０のステートマシン３２は、アドレス／コマンド発生回路３１にＮＡＮＤ型フラッシュメモリ１０における所定アドレスのデータ（第２データ）を読み出すデータリードのコマンドを生成するよう制御信号を出力する。
【００６８】
ステップＳ７で、アドレス／コマンド発生回路３１は、制御信号に対して、アドレス及び対応するコマンドを生成し、シーケンサ１７に出力する。このアドレス及びコマンドに基づいて、シーケンサ１７は１ページ分の第２データをページバッファ１４に保持できるようにセンス動作を制御する。その結果、ページバッファ１４に第２データが保持される。
【００６９】
ステップＳ８で、第２データをページバッファが保持すると、シーケンサ１７はセンス動作が終了したｒｅａｄｙ信号をステートマシン３２に出力する。その結果、ステートマシン３２はページバッファに第２データが保持されたことを検知する。
【００７０】
ステップＳ９で、ステップＳ４と同様に、ステートマシン３２は、ページバッファ１４に保持された第２データを、バッファ部２１のうち、上書きされた第１データが保持されてないデータＲＡＭ２１ａ（すなわち第２データＲＡＭ）に転送するよう、アドレス／コマンド発生回路３１、ＥＣＣエンジン２５ｂを制御する。これにより、第２データは第２データＲＡＭに転送され、保持される。
【００７１】
ステップＳ１０で、ステートマシン３２は、上書きされた第１データを第１データＲＡＭからページバッファ１４に転送するよう、アドレス／タイミング発生回路３５を制御する。具体的には、ステートマシン３２はアドレス／タイミング発生回路３５を制御し、アドレス／タイミング発生回路３５はアドレスと制御信号を生成し、アクセスコントローラ２４、ＥＣＣエンジン２５ｂに出力する。これにより、上書きされた第１データを第１データＲＡＭからページバッファ１４に転送する。
【００７２】
ステップＳ１１で、ステートマシン３２は、ページバッファから読み出された第２データを第２データＲＡＭから第１データＲＡＭに転送するよう、アクセスコントローラ２４を制御する。
【００７３】
ステップＳ１２、上書きされた第１データをＮＡＮＤ型フラッシュメモリのメモリセルアレイに書き込むよう、ステートマシン３２はアドレス／コマンド発生回路３１を制御し、アドレス／コマンド発生回路３１により発行されたアドレス及びコマンドに基づいて、シーケンス１７は、上書きされた第１データをメモリセルアレイ１１に書き込む。
【００７４】
［第１の実施形態の効果］
以上により、本実施形態のメモリシステムは、ページバッファとバッファ部それぞれに保持されたデータを交換可能なメモリシステムを提供できる。以下、具体的に説明する。
【００７５】
本実施形態のメモリシステムは、１次データキャッシュと２次データキャッシュとを電気的に接続するデータバス幅が１次データキャッシュや２次データキャッシュの容量と同じメモリシステム（比較例）と異なり、１次データキャッシュのデータＲＡＭと２次データキャッシュのページバッファとを電気的に接続するデータバス幅が１次データキャッシュや２次データキャッシュの容量より小さい。このため、１次データキャッシュと２次データキャッシュそれぞれのデータを入れ替え（交換）できなかった。
【００７６】
しかし、本実施形態のメモリシステムでは、データＲＡＭを複数設けて、制御部３０のステートマシン３２によって、データＲＡＭに上書きされたデータと読み出されたデータを共に保持できるよう制御することで、１次データキャッシュと２次データキャッシュそれぞれのデータを入れ替えできる。
【００７７】
（変形例１）
［変形例１のメモリシステムの構成］
本実施形態のメモリシステムでは、第１データを第１データＲＡＭに保持するが、変形例１では、第１データをブートＲＡＭに保持してもよい。これにより、複数のデータＲＡＭを設ける必要がなく、１つのデータＲＡＭと１つのブートＲＡＭを設けることにより、１次データキャッシュと２次データキャッシュそれぞれのデータを入れ替え（交換）できる。その結果、データＲＡＭを削減する分、変形例１のメモリシステムの回路面積を縮小できる。
【００７８】
［変形例１のメモリシステムの動作方法］
１次データキャッシュと２次データキャッシュそれぞれのデータを入れ替え（交換）できる。変形例１では、データＲＡＭの容量が４Ｋバイトで、ブートＲＡＭの容量が１Ｋバイトの場合を例にすると、本実施形態のメモリシステムの動作であるステップＳ９からステップＳ１１までを４回繰り返すことにより、１次データキャッシュと２次データキャッシュそれぞれのデータを入れ替え（交換）する。つまり、１Ｋバイトの容量ごとに、第１データを上書きし、第２データをページバッファ１４から第２データＲＡＭに転送する動作を４回行う。
【００７９】
（変形例２）
［変形例２のメモリシステムの構成］
本実施形態のメモリシステムでは、第１データＲＡＭは、バーストバッファ２２を介してホスト機器と間でデータの送受信をするときに用いるデータＲＡＭであり、第２データＲＡＭは、ページバッファ１４のデータを一時的に保持するためのデータＲＡＭであるが、変形例２では、本実施形態のメモリシステムの動作方法におけるステップＳ１１の前に、第１データＲＡＭと第２データＲＡＭの定義を入れ替えるようにしてもよい。つまり、図１に示すＤａｔａ  Ｂｕｆｆｅｒ０を第２データＲＡＭとして、Ｄａｔａ  Ｂｕｆｆｅｒ１を第１データＲＡＭとして定義し直す。これにより、上記のステップＳ１１を行う必要がない。その結果、変形例２のメモリシステムは、本実施形態のメモリシステムより例えば上書きする際の動作が高速になる。
【００８０】
［変形例２のメモリシステムの動作方法］
変形例２では、本実施形態のメモリシステムの動作方法におけるステップＳ１０とステップＳ１１との間に、ステートマシン３２は、ステートマシン３２内のＲＯＭに保存されているテーブルにアクセスし、Ｄａｔａ  Ｂｕｆｆｅｒ０は第２データＲＡＭに対応し、Ｄａｔａ  Ｂｕｆｆｅｒ１は第１データＲＡＭに対応するよう情報を変更する。
【００８１】
その上で、ステップＳ１１を行わない制御を行う。
【００８２】
（第２の実施形態）
［メモリシステムの動作方法］
第１の実施形態のメモリシステムの別の動作方法について、図５のフローチャート図を用いて説明する。第２の実施形態に係るメモリシステムの動作方法は、第１の実施形態のメモリシステムの動作方法と、読み出しまたは書き込み時に、ＥＣＣ処理が施される点で相違する。その他の動作方法については第１の実施形態と同様である。
【００８３】
第１の実施形態のメモリシステムの動作方法のうち、ステップＳ１乃至ステップＳ３まで、ステップＳ６乃至ステップＳ８まで、ステップＳ１１及びステップＳ１２は、第２の実施形態のメモリシステムの動作方法と同様である。
【００８４】
第２の実施形態において、第１データが第１データＲＡＭに転送される具体的なステップを、図５のフローチャート図を用いて説明する。
【００８５】
ステップＳ４−１で、ステートマシン３２は、アドレス／コマンド発生回路３１に所望のコマンドを発行するよう要求する。その結果、ステートマシン３２の要求により、アドレス／コマンド発生回路３１からのコマンドをシーケンサ１７へ発行することによって、ＮＡＮＤデータバスにページバッファ１４内の第１データを読み出し、そのデータをＥＣＣバッファ２５ａに転送し、ＥＣＣバッファ２５ａを介してＥＣＣエンジン２５ｂにも転送する。
【００８６】
ステップＳ４−２で、アドレス／タイミング発生回路３５を介して、ステートマシン３３から転送信号（ＥＣＣバッファ２５ａからＳＲＡＭバッファ２１ｃへの転送を行うための信号）が発行されることにより、ＥＣＣエンジン２５ｂは、ＥＣＣバッファ２５ａから第１データをＳＲＡＭバッファ２１ｃに転送する。
【００８７】
ステップＳ４−３で、ＳＲＡＭバッファ２１ｃは、例えば、第１データをＳＲＡＭデータバスからセンスアンプを経て、第１データＲＡＭに転送する。第１データＲＡＭ内のＳＲＡＭセルアレイは、ＳＲＡＭアドレスにしたがってデータ書き込みを行う。
【００８８】
次に、ステートマシン３２からＥＣＣ訂正開始制御信号が発行されることにより、ＥＣＣエンジン２５ｂは、ＥＣＣバッファ２５ａからの第１データに誤りがある場合に誤り訂正し、その誤り訂正した後の第１データをＥＣＣバッファ２５ａに出力する。そして、ＥＣＣバッファ２５ａ内の誤り訂正後の第１データをＥＣＣデータバスに読み出し、ＳＲＡＭバッファ２１ｃへと転送する。ＳＲＡＭバッファ２１ｃは、誤り訂正した後の第１データをＳＲＡＭデータバスからセンスアンプを経て、第１データＲＡＭに転送する。第１データＲＡＭ内のＳＲＡＭセルアレイに、訂正後の第１データを書き込む。既に第１データＲＡＭに第１データが保持されているとき、第１データＲＡＭ内のデータを誤り訂正後の第１データに書き換える。この誤り訂正後の第１データを新たに第１データと呼ぶ。
【００８９】
なお、ステップＳ９も同様にＥＣＣ処理が施される。
【００９０】
ステップＳ１０では、ステートマシン３２は、上書きされた第１データを第１データＲＡＭからページバッファ１４に転送するよう、アドレス／タイミング発生回路３５を制御する。以下で、具体的なステップを説明する。
【００９１】
ステップＳ１０−１で、ステートマシン３２はアドレス／タイミング発生回路３５を制御し、アドレス／タイミング発生回路３５はアドレスと制御信号を生成し、アクセスコントローラ２４に出力する。これにより、上書きされた第１データはＥＣＣデータバスを介してＥＣＣバッファに読み出され、そのデータをＥＣＣバッファ２５ａに転送させる。
【００９２】
ステップＳ１０−２で、ＮＡＮＤデータバスを介して上書きされた第１データをページバッファ１４に書き込むよう、ステートマシン３２はＥＣＣエンジン２５ｂを制御する。
【００９３】
ステートマシン３２からＥＣＣパリティ発生開始制御信号が発行されることにより、ＥＣＣエンジン２５ｂは、ＥＣＣバッファからの上書きされた第１データ対応するパリティを発生する。
【００９４】
そして、ＮＡＮＤデータバスを介して発生されたパリティをページバッファ１４に書き込むよう、ステートマシン３２はＥＣＣエンジン２５ｂを制御する。
【００９５】
以上により、上書きされた第１データと対応するパリティがページバッファ１４に保持される。
【００９６】
［第２の実施形態の効果］
以上により、本実施形態のメモリシステムは、第１の実施形態と同様に、ページバッファとバッファ部それぞれに保持されたデータを交換可能なメモリシステムを提供できる。
【００９７】
また、本実施形態のメモリシステムでは、第１の実施形態と異なり、ページバッファにデータの読み出しまたは書き込みを行う時に、ＥＣＣ処理が施される。このため、ＥＣＣ処理された第１データ又は第２データデータを交換可能なメモリシステムを提供できる。
【００９８】
（変形例３）
第３の実施形態のメモリシステムでは、第１データを第１データＲＡＭに保持するが、変形例２では、第１データをブートＲＡＭに保持してもよい。これにより、複数のデータＲＡＭを設ける必要がなく、１つのデータＲＡＭと１つのブートＲＡＭを設けることにより、１次データキャッシュと２次データキャッシュそれぞれのデータを入れ替え（交換）できる。その結果、データＲＡＭを削減する分、変形例３のメモリシステムの回路面積を縮小できる。
【００９９】
本変形例３のメモリシステムの動作は、第２の実施形態に対して変形例１のメモリシステムの動作方法を適用することによって可能となる。
【０１００】
（変形例４）
本実施形態のメモリシステムでは、第１データＲＡＭは、バーストバッファ２２を介してホスト機器と間でデータの送受信をするときに用いるデータＲＡＭであり、第２データＲＡＭは、ページバッファ１４のデータを一時的に保持するためのデータＲＡＭであるが、変形例４では、本実施形態のメモリシステムの動作方法におけるステップＳ１１の前に、第１データＲＡＭと第２データＲＡＭの定義を入れ替えるようにしてもよい。つまり、図１に示すＤａｔａ  Ｂｕｆｆｅｒ０を第２データＲＡＭとして、Ｄａｔａ  Ｂｕｆｆｅｒ１を第１データＲＡＭとして定義し直す。これにより、上記のステップＳ１１を行う必要がない。その結果、変形例２のメモリシステムは、本実施形態のメモリシステムより例えば上書きする際の動作が高速になる。
【０１０１】
本変形例３のメモリシステムの動作は、第２の実施形態に対して変形例２のメモリシステムの動作方法を適用することによって可能となる。
【０１０２】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【符号の説明】
【０１０３】
１０…ＮＡＮＤ型フラッシュメモリ
１１…メモリセルアレイ
１２…ロウデコーダ
１３…センスアンプ
１４…ページバッファ
１５…カラムデコーダ
１６…電圧発生回路
１７…シーケンサ
１８  １９…オシレータ
２０…入出力部
２１…バッファ部
２２…バーストバッファ
２３…インターフェース
２４…アクセスコントローラ
２５…ＥＣＣ部
３０…制御部
３１…アドレス／コマンド発生回路
３２…ステートマシン
３３…レジスタ
３４…ＣＵＩ
３５…アドレス／タイミング発生回路
１００…メモリシステム 
【図１】
2012088816.tif 000003
【図２】
2012088816.tif 000004
【図３】
2012088816.tif 000005
【図４】
2012088816.tif 000006
【図５】
2012088816.tif 000007