説明

メモリシステム

【課題】
実施形態は、複数のバッファ部それぞれに保持されたデータを交換可能なメモリシステムを提供する。
【解決手段】
本実施形態のメモリシステムは、データを保持可能なページバッファを含むNAND型フラッシュメモリと、前記NAND型フラッシュメモリとデータバスを介して電気的に接続された複数の記憶部と、前記NAND型フラッシュメモリ、前記複数の記憶部を制御する制御部とを備え、前記データバスの幅は、前記データの容量よりも小さく、前記制御部は、前記NAND型フラッシュメモリに書き込み又は読み出しを行うとき、前記ページバッファに保持するデータと前記複数の記憶部のうち1の記憶部に保持するータとを交換することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、メモリシステムに関し、例えば、複数種類のメモリを1チップに集積した半導体記憶装置等に適用されるものである。
【背景技術】
【0002】
複数種類のメモリを1チップに集積した半導体記憶装置として、例えばNAND型フラッシュメモリ(記憶部)と、SRAM(Static Random Access Memory)とを1チップで集積された半導体記憶装置がある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−73141号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
実施形態は、ページバッファとバッファ部それぞれに保持されたデータを交換可能なメモリシステムを提供する。
【課題を解決するための手段】
【0005】
本実施形態のメモリシステムによれば、データを保持可能なページバッファを含むNAND型フラッシュメモリと、前記NAND型フラッシュメモリとデータバスを介して電気的に接続された複数の記憶部と、前記NAND型フラッシュメモリ、前記複数の記憶部を制御する制御部とを備え、前記データバスの幅は、前記データの容量よりも小さく、前記制御部は、前記NAND型フラッシュメモリに書き込み又は読み出しを行うとき、前記ページバッファに保持するデータと前記複数の記憶部のうち1の記憶部に保持するデータとを交換することを特徴とする。
【図面の簡単な説明】
【0006】
【図1】第1の実施形態のメモリシステムを示すブロック図。
【図2】第1の実施形態のメモリセルアレイを示す回路図。
【図3】第1の実施形態のメモリシステムを用いたデータ転送方法を示すフローチャート図。
【図4】第1の実施形態のメモリシステムを用いたデータ転送方法を示すフローチャート図。
【図5】第2の実施形態のメモリシステムを用いたデータ転送方法を示すフローチャート図。
【発明を実施するための形態】
【0007】
(第1の実施形態)
次に、第1の実施形態について図面を参照しながら説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。また、図面の寸法比率は、図示の比率に限定されるものではない。
【0008】
[メモリシステムの構成]
第1の実施形態に係るメモリシステムについて、図1のブロック図を用いて説明する。
【0009】
図1に示すように、メモリシステム100は、NAND型フラッシュメモリ10、入出力部20、制御部30を備える。例えば、メモリシステム100では、NAND型フラッシュメモリ10、入出力部20、及び制御部30は、同一の半導体基板上に形成され、1つのチップに集積される。
【0010】
<NAND型フラッシュメモリ>
まず、NAND型フラッシュメモリ10について、図1及び図2の回路図を用いて説明する。
【0011】
NAND型フラッシュメモリ10は、メモリシステム100の主記憶部として機能する。図1に示すように、NAND型フラッシュメモリ10は、メモリセルアレイ11、ロウデコーダ12、センスアンプ13、ページバッファ14、カラムデコーダ15、電圧発生回路16、シーケンサ17、及びオシレータ18、19を備えている。
【0012】
<<メモリセルアレイ>>
図2に示すように、メモリセルアレイ11は、マトリックス状に配置された複数のNANDストリングNSで構成される。また、メモリセルアレイ11は、通常データが保存される第1領域と、第1領域のスペア領域として用いられデータが保存される第2領域を含む。第2領域には、例えばエラーを訂正するパリティを保存する。
【0013】
複数のビット線BL0乃至BLmは、NANDストリングNSが延在する方向(第1の方向)に延在して配置され、半導体基板(図示略)上のNANDストリングNSの上方に配置され、NANDストリングNSの端部と電気的に接続されている。
【0014】
一方、複数のワード線WL0乃至WL31は、NANDストリングNSが延在する方向(活性領域の延びる方向でもある)に対して直交する方向(第2の方向)に延び、且つ第1の方向に所定の間隔をおいて配置されている。
【0015】
複数の選択ゲート線SGS,SGDが、この複数のワード線WL0乃至WL31を挟むように、ワード線WL0とワード線WL31の両端にそれぞれ平行に配置されている。
【0016】
NANDストリングNSは、複数のメモリセルMT0乃至MT31と、第1及び第2の選択ゲートトランジスタST1、ST2とで構成される。メモリセルMTは、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層と、電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲートとを有する積層ゲート構造を備えている。なお、メモリセルMTの個数は32個に限られず、8個や16個、34個、128個、256個等であってもよく、その数は限定されるものではない。また、メモリセルトランジスタMTは、窒化膜に電子をトラップさせる方式を用いたMONOS(Metal Oxide Nitride Oxide Silicon)構造であっても良い。
【0017】
複数のメモリセルMT0乃至MT31それぞれは、上記の各ワード線WLと各ビット線BLとの交点のそれぞれ対応する部分に形成され、各活性領域(図示略)の延びる方向(第1の方向)に直列接続されている。
【0018】
また、図2に示すように、ビット線BL側の第1の選択ゲートトランジスタST1は、メモリセルMT31と直列接続され、ソース線SL側の第2の選択ゲートトランジスタST2は、メモリセルMT0と直列接続されている。ソース線SLは各NANDストリングNSに共通に接続されている。
【0019】
図2に示すように、各NANDストリングNSにおいて、第2の方向に配列された対応するメモリセルMTの制御ゲートがそれぞれ共通のワード線WLに接続されている。また、第2の方向に配列された対応する第1の選択ゲートトランジスタST1の制御ゲートは、第1の選択ゲート線SGDに、第2の方向に配列された対応する第2の選択ゲートトランジスタST2の制御ゲートは、第2の選択ゲート線SGSに接続されている。
【0020】
複数のNANDストリングNSは、メモリセルアレイ11内にマトリックス状に形成されており、1つのワード線WLを共有する各NANDストリングNS内のメモリセルMTの集合は、データ読み出し及び書き込みの単位となるページを構成する。また、ワード線WLを共有する複数のNANDストリングNSの集合は、データ消去の単位となるブロックを構成する。
【0021】
<<センスアンプ及びページバッファ>>
センスアンプ(図1では、S/Aに対応する)13及びページバッファ14は、1ページ分のデータを保持可能なバッファメモリであり、NAND型フラッシュメモリ10における2次データキャッシュとして機能する。なお、NAND型フラッシュメモリ10における1次データキャッシュについては後述する。
【0022】
センスアンプ13は、データリード(データの読み出しともいう)時には、メモリセルアレイ11から読み出されたデータをセンス・増幅して一時的に保持し、ページバッファ14へ転送する。また、データライト(データの書き込みともいう)時には、ページバッファ14から転送されたデータをビット線BLに転送して、データのプログラムを実行する。
【0023】
ページバッファ14は、NANDデータバス(図1のNAND Data Bus)を介して入出力部20に接続される。このデータパスの幅は4バイトである。データリード時に、センスアンプ13から転送されたデータを入出力部20に転送する。他方、データライト時には、入出力部20から転送されたデータを一時的に保持し、これをセンスアンプ13に転送する。
【0024】
センスアンプ13及びページバッファ14は、例えばビット線BL毎に設けられたラッチ回路を備え、これにより1ページ分のデータ(ページサイズは、例えば4Kバイト)を保持できる。
【0025】
<<ロウデコーダ及びカラムデコーダ>>
ロウデコーダ12は、メモリセルアレイ11における所望のワード線WLを選択する。また、カラムデコーダ15は、メモリセルアレイ11における所望のカラム、すなわちビット線BLを選択する。
【0026】
<<電圧発生回路>>
電圧発生回路16は、外部から与えられる電圧を昇圧または降圧することにより、データのプログラム、読み出し、及び消去に必要な電圧を発生する。そして発生した電圧を、例えばロウデコーダ12に供給する。電圧発生回路16で発生された電圧が、ワード線WLに印加される。
【0027】
<<シーケンサ>>
シーケンサ17は、NAND型フラッシュメモリ10全体の動作を司る。シーケンサ17は、制御部30からNANDインターフェースコマンド(NAND I/F Command)を受けると、このNANDインターフェースコマンドに対応するシーケンス(例えば、データのプログラムを実行するためのシーケンス)を実行する。シーケンサ17は、このシーケンスにしたがって、センスアンプ13、ページバッファ14等の動作を制御する。このシーケンサ17は、後述するオシレータ18から転送される内部クロックICLKに同期して動作する。
【0028】
<<オシレータ>>
オシレータ18(クロック生成器)は内部クロックICLKを生成する。オシレータ18は、この生成した内部クロックICLKをシーケンサ17に転送する。
【0029】
オシレータ19(クロック生成器)は内部クロックACLKを生成する。そして、オシレータ18は、生成した内部クロックACLKを、制御部30などに転送する。この内部クロックACLKは、制御部30などが同期して動作する基準となるクロックである。
【0030】
<入出力部>
図1に示すように入出力部20は、バッファ部21、バーストバッファ(burst buffer)22、インターフェース23、アクセスコントローラ24、及びECC部25を備える。
【0031】
<<バッファ部>>
図1に示すように、バッファ部21は、複数のデータRAM(記憶部ともいう)21a、1つのブートRAM(記憶部ともいう)21b、SRAMバッファ21cを備える。このバッファ部21は、NAND型フラッシュメモリ10における1次データキャッシュとしての機能を担う。
【0032】
図1における例で示す2個のデータRAM21aは、第1データRAM(図1におけるData Buffer0)と第2データRAM(図1におけるData Buffer1)である。第1データRAMは、バーストバッファ22を介してホスト機器と間でデータの送受信をするときに用いるデータRAMである。他方で、第2データRAMは、ページバッファ14のデータを一時的に保持するためのデータRAMである。この情報は、例えばステートマシン32のROMに予めテーブルとして保存されている。Data Buffer0は第1データRAMに対応し、Data Buffer1は第2データRAMに対応するよう保存されている。第1及び第2データRAMの容量は、例えば4Kバイトである。
【0033】
図1に示すように、複数のデータRAM21a及びブートRAM21bは、それぞれ、メモリセルアレイ、センスアンプ、及びロウデコーダを備える。
【0034】
複数のデータRAM21aのメモリセルアレイは、データ保持可能な複数のSRAMセルを備える。SRAMセルはそれぞれ、ワード線及びビット線対に接続される。このデータRAM21aのメモリセルアレイも、メモリセルアレイ11と同様に、メインデータを保持する領域と、パリティ等を保持する領域とを備えている。このデータRAM21aのセンスアンプは、SRAMセルからビット線対に読み出したデータをセンス・増幅する。またこのデータRAM21aのセンスアンプは、SRAMバッファ31c内のデータをSRAMセルに書き込む際の負荷としても機能する。このデータRAM21aのロウデコーダは、このデータRAM21aのメモリセルアレイにおけるワード線を選択する。
【0035】
ブートRAM21bは、例えばメモリシステム100を起動するためのブートコード(boot code)を一時的に保持する。ブートRAMの容量は、例えば1Kバイトである。
【0036】
SRAMバッファ21cは、データRAM21aまたはブートRAM21bにデータを書き込む、または読み出す際に、一時的にデータを保持する。
【0037】
図1に示すように、SARMバッファ21cは、ECCデータバス(図1のECC Data Bus)を介してECCバッファ25aと電気的に接続される。その結果、SRAMバッファ21cとECCバッファ25aとの間で、SRAMバッファ21cはデータ転送できる。
【0038】
また、SRAMバッファ21cは、RAM/Registerバスを用いて、後述するバーストバッファ(burst buffer)との間でデータ転送できる。SRAMバッファ21cは、メインデータを保持する領域と、パリティ等を保持する領域とを備えている。
【0039】
<<バーストバッファ(burst buffer)>>
バーストバッファ22は、RAM/Registerバスを介してSRAMバッファ21cと制御部30と電気的に接続されている。その結果、バーストバッファ22は、SRAMバッファ21c及び制御部30との間でデータ転送できる。また、バーストバッファ22は、インターフェース(図1のPureNAND User I/F及びOneNAND User I/F)23との間でデータ転送できる。バーストバッファ22は、ホスト機器からインターフェース23を介して与えられるデータ、またはSRAMバッファ21cから与えられるデータを、一時的に保持する。
【0040】
<<インターフェース>>
インターフェース23は、メモリシステム100外部のホスト機器と接続可能とされ、ホスト機器との間でデータ、制御信号、及びアドレスAdd等、種々の信号の入出力を司る。
【0041】
制御信号の一例は、メモリシステム100全体をイネーブルにするチップイネーブル信号/CE、アドレスをラッチさせるためのアドレスバリッド信号/AVD、バーストリード(burst read)用のクロックCLK、書き込み動作をイネーブルにするライトイネーブル信号/WE、データの外部への出力をイネーブルにするアウトプットイネーブル信号/OE、などである。
【0042】
インターフェース23は、Data Input/Data Outoutバスを介してバーストバッファ22と電気的に接続される。
【0043】
そしてインターフェース23は、ホスト機器からのデータのリード要求、ロード要求、ライト要求、及びプログラム要求等に係る制御信号をアクセスコントローラ24に転送する。データリード時には、バーストバッファ22内のデータをホスト機器へ出力する。またデータライト時には、ホスト機器から与えられるデータをバーストバッファ22に転送する。
【0044】
<<アクセスコントローラ>>
アクセスコントローラ24は、インターフェース23から制御信号及びアドレスを受け
取る。そして、ホスト機器の要求を満たす動作を実行するよう、バッファ部21及び制御部30を制御する。
【0045】
より具体的には、ホスト機器の要求に応じて、アクセスコントローラ24は、バッファ部21又は制御部30内のレジスタ33のいずれかをアクティブ状態とする。そして、バッファ部21に対してデータのライトコマンドまたはリードコマンド(Write/Read)、またはレジスタ33に対するライトコマンドまたはリードコマンド(Write/Read、以下、これをレジスタライトコマンドまたはレジスタリードコマンドと呼ぶ)を発行する。その結果、バッファ部21または制御部30は動作を開始する。
【0046】
<<ECC部>>
ECC部25は、データリード時には、NAND型フラッシュメモリ10から読み出されたデータについてエラーの検出及び訂正を行う。他方、ECC部25は、データライト時には、プログラムすべきデータについてパリティの生成を行う。
【0047】
ECC部25は、ECCバッファ25a、ECCエンジン25bを備える。ここで、ECCバッファ25aは、NANDデータバスを介してNAND型フラッシュメモリ10のページバッファ14と接続される。また、ECCバッファ25aはECCデータバスを介してバッファ部21と接続される。
【0048】
ECCバッファ25aは、データリード時に、ページバッファ14から転送されるデータを保持すると共に、ECC処理済み(データロード時は誤り訂正済み)のデータをバッファ部21に転送する。他方、データライト時に、バッファ部21から転送されるデータを保持すると共に、バッファ部21から転送されたデータとパリティとをページバッファ12に転送する。
【0049】
ECCエンジン25bは、ECCバッファ25aに保持されるデータを用いてECC処理を行う。ECCエンジンは、例えばハミングコードを用いた1ビット訂正方式を用いる。そして、訂正処理に必要な最小限のパリティデータを使用する。
【0050】
<制御部>
図1に示すように制御部30は、アドレス/コマンド発生回路(図1におけるNAND Add/Command Generator)31、ステートマシン32、レジスタ33、CUI(Command User Interface)34、アドレス/タイミング発生回路(SRAM Add/Timing)35を備える。
【0051】
<<アドレス/コマンド発生回路>>
アドレス/コマンド発生回路31は、内部シーケンス動作時に、必要に応じてNAND型フラッシュメモリ10に対する、アドレス信号およびコマンドなどの制御信号を生成する役割を担う。
【0052】
<<ステートマシン>>
ステートマシン32は、アドレス/コマンド発生回路31よりコマンドが発行されたこと、または、後述するCUI34からの内部コマンド信号を受けて、コマンドの種類に応じた内部シーケンス動作を制御するものである。
【0053】
<<レジスタ>>
レジスタ33は、ファンクションの動作状態を設定するためのものであって、外部アドレス空間の一部を割り当てることにより、インターフェース23を介して、外部のホスト装置によるアドレス信号またはコマンドなどの制御信号の読み出しまたは書き込みが行われる。
【0054】
<<CUI>>
CUI34は、レジスタ33の所定の外部アドレス空間にアドレス信号またはコマンドなどの制御信号が書き込まれることで、ファンクション実行コマンドが与えられたことを認識し、内部コマンド信号を発行する。
【0055】
<<アドレス/タイミング発生回路>>
アドレス/タイミング発生回路35は、内部シーケンス動作時に、必要に応じてバッファ部21などを制御するための、アドレス信号およびタイミングなどの制御信号を生成するものである。
【0056】
[メモリシステムの動作方法]
次に、第1の実施形態に係るメモリシステムの動作方法について、図3のフローチャート図を用いて説明する。説明の便宜上、NAND型フラッシュメモリ10のデータを上書きする場合に、バッファ部21に保持されたデータ(上書きされた第1データ)とNAND型フラッシュメモリ10のページバッファに保持されたデータ(第2データ)とを入れ替え(交換)する例をもとに説明する。
【0057】
まず、ステップS1で、制御部30のステートマシン32は、アドレス/コマンド発生回路31にNAND型フラッシュメモリ10のデータのうち上書きするデータ(第1データ)を読み出すデータリードのコマンドを生成するよう制御信号を出力する。
【0058】
ステップS2で、アドレス/コマンド発生回路31は、制御信号に対して、アドレス及び対応するコマンドを生成し、シーケンサ17に出力する。このアドレス及びコマンドに基づいて、シーケンサ17は1ページ分の第1データをページバッファ14に保持できるようにセンス動作を制御する。その結果、ページバッファ14に第1データが保持される。
【0059】
ステップS3で、第1データをページバッファ14が保持すると、シーケンサ17はセンス動作が終了したready信号をステートマシン32に出力する。その結果、ステートマシン32はページバッファに第1データが保持されたことを検知する。
【0060】
ステップS4で、ステートマシン32は、ページバッファ14に保持された第1データを、バッファ部21のうち第1データRAMに転送するよう、アドレス/コマンド発生回路31を制御する。
【0061】
第1データが第1データRAMに転送される具体的なステップを、図4のフローチャート図を用いて説明する。
【0062】
ステップS4−1で、ステートマシン32は、アドレス/コマンド発生回路31に所望のコマンドを発行するよう要求する。その結果、ステートマシン32の要求により、アドレス/コマンド発生回路31からのコマンドをシーケンサ17へ発行することによって、NANDデータバスにページバッファ14内の第1データを読み出し、そのデータをECCバッファ25aに転送し、ECCバッファ25aを介してECCエンジン25bにも転送する。
【0063】
ステップS4−2で、アドレス/タイミング発生回路35を介して、ステートマシン33から転送信号(ECCバッファ25aからSRAMバッファ21cへの転送を行うための信号)が発行されることにより、ECCエンジン25bは、ECCバッファ25aから第1データをSRAMバッファ21cに転送する。
【0064】
ステップS4−3で、SRAMバッファ21cは、例えば、第1データをSRAMデータバスからセンスアンプを経て、第1データRAMに転送する。第1データRAM内のSRAMセルアレイは、SRAMアドレスにしたがってデータ書き込みを行う。
【0065】
以上により、第1データが第1データRAMに転送される。
【0066】
ステップS5で、ユーザが、外部のホスト機器からインターフェース23を通じて、第1データを読み出すための制御信号を入力することにより、アクセスコントローラ24は、そのデータを第1データRAM内よりSRAMバッファ21cに読み出す。そして、たとえばRAM/Registerデータバス、バーストバッファ22、インターフェース23を介して、ホスト機器に第1データを出力させる。また、ユーザが、ホスト機器から上書きされた第1データを書き込むための制御信号を入力することにより、アクセスコントローラ24は、第1データRAMに上書きされた第1データを書き込む。
【0067】
ステップS6で、制御部30のステートマシン32は、アドレス/コマンド発生回路31にNAND型フラッシュメモリ10における所定アドレスのデータ(第2データ)を読み出すデータリードのコマンドを生成するよう制御信号を出力する。
【0068】
ステップS7で、アドレス/コマンド発生回路31は、制御信号に対して、アドレス及び対応するコマンドを生成し、シーケンサ17に出力する。このアドレス及びコマンドに基づいて、シーケンサ17は1ページ分の第2データをページバッファ14に保持できるようにセンス動作を制御する。その結果、ページバッファ14に第2データが保持される。
【0069】
ステップS8で、第2データをページバッファが保持すると、シーケンサ17はセンス動作が終了したready信号をステートマシン32に出力する。その結果、ステートマシン32はページバッファに第2データが保持されたことを検知する。
【0070】
ステップS9で、ステップS4と同様に、ステートマシン32は、ページバッファ14に保持された第2データを、バッファ部21のうち、上書きされた第1データが保持されてないデータRAM21a(すなわち第2データRAM)に転送するよう、アドレス/コマンド発生回路31、ECCエンジン25bを制御する。これにより、第2データは第2データRAMに転送され、保持される。
【0071】
ステップS10で、ステートマシン32は、上書きされた第1データを第1データRAMからページバッファ14に転送するよう、アドレス/タイミング発生回路35を制御する。具体的には、ステートマシン32はアドレス/タイミング発生回路35を制御し、アドレス/タイミング発生回路35はアドレスと制御信号を生成し、アクセスコントローラ24、ECCエンジン25bに出力する。これにより、上書きされた第1データを第1データRAMからページバッファ14に転送する。
【0072】
ステップS11で、ステートマシン32は、ページバッファから読み出された第2データを第2データRAMから第1データRAMに転送するよう、アクセスコントローラ24を制御する。
【0073】
ステップS12、上書きされた第1データをNAND型フラッシュメモリのメモリセルアレイに書き込むよう、ステートマシン32はアドレス/コマンド発生回路31を制御し、アドレス/コマンド発生回路31により発行されたアドレス及びコマンドに基づいて、シーケンス17は、上書きされた第1データをメモリセルアレイ11に書き込む。
【0074】
[第1の実施形態の効果]
以上により、本実施形態のメモリシステムは、ページバッファとバッファ部それぞれに保持されたデータを交換可能なメモリシステムを提供できる。以下、具体的に説明する。
【0075】
本実施形態のメモリシステムは、1次データキャッシュと2次データキャッシュとを電気的に接続するデータバス幅が1次データキャッシュや2次データキャッシュの容量と同じメモリシステム(比較例)と異なり、1次データキャッシュのデータRAMと2次データキャッシュのページバッファとを電気的に接続するデータバス幅が1次データキャッシュや2次データキャッシュの容量より小さい。このため、1次データキャッシュと2次データキャッシュそれぞれのデータを入れ替え(交換)できなかった。
【0076】
しかし、本実施形態のメモリシステムでは、データRAMを複数設けて、制御部30のステートマシン32によって、データRAMに上書きされたデータと読み出されたデータを共に保持できるよう制御することで、1次データキャッシュと2次データキャッシュそれぞれのデータを入れ替えできる。
【0077】
(変形例1)
[変形例1のメモリシステムの構成]
本実施形態のメモリシステムでは、第1データを第1データRAMに保持するが、変形例1では、第1データをブートRAMに保持してもよい。これにより、複数のデータRAMを設ける必要がなく、1つのデータRAMと1つのブートRAMを設けることにより、1次データキャッシュと2次データキャッシュそれぞれのデータを入れ替え(交換)できる。その結果、データRAMを削減する分、変形例1のメモリシステムの回路面積を縮小できる。
【0078】
[変形例1のメモリシステムの動作方法]
1次データキャッシュと2次データキャッシュそれぞれのデータを入れ替え(交換)できる。変形例1では、データRAMの容量が4Kバイトで、ブートRAMの容量が1Kバイトの場合を例にすると、本実施形態のメモリシステムの動作であるステップS9からステップS11までを4回繰り返すことにより、1次データキャッシュと2次データキャッシュそれぞれのデータを入れ替え(交換)する。つまり、1Kバイトの容量ごとに、第1データを上書きし、第2データをページバッファ14から第2データRAMに転送する動作を4回行う。
【0079】
(変形例2)
[変形例2のメモリシステムの構成]
本実施形態のメモリシステムでは、第1データRAMは、バーストバッファ22を介してホスト機器と間でデータの送受信をするときに用いるデータRAMであり、第2データRAMは、ページバッファ14のデータを一時的に保持するためのデータRAMであるが、変形例2では、本実施形態のメモリシステムの動作方法におけるステップS11の前に、第1データRAMと第2データRAMの定義を入れ替えるようにしてもよい。つまり、図1に示すData Buffer0を第2データRAMとして、Data Buffer1を第1データRAMとして定義し直す。これにより、上記のステップS11を行う必要がない。その結果、変形例2のメモリシステムは、本実施形態のメモリシステムより例えば上書きする際の動作が高速になる。
【0080】
[変形例2のメモリシステムの動作方法]
変形例2では、本実施形態のメモリシステムの動作方法におけるステップS10とステップS11との間に、ステートマシン32は、ステートマシン32内のROMに保存されているテーブルにアクセスし、Data Buffer0は第2データRAMに対応し、Data Buffer1は第1データRAMに対応するよう情報を変更する。
【0081】
その上で、ステップS11を行わない制御を行う。
【0082】
(第2の実施形態)
[メモリシステムの動作方法]
第1の実施形態のメモリシステムの別の動作方法について、図5のフローチャート図を用いて説明する。第2の実施形態に係るメモリシステムの動作方法は、第1の実施形態のメモリシステムの動作方法と、読み出しまたは書き込み時に、ECC処理が施される点で相違する。その他の動作方法については第1の実施形態と同様である。
【0083】
第1の実施形態のメモリシステムの動作方法のうち、ステップS1乃至ステップS3まで、ステップS6乃至ステップS8まで、ステップS11及びステップS12は、第2の実施形態のメモリシステムの動作方法と同様である。
【0084】
第2の実施形態において、第1データが第1データRAMに転送される具体的なステップを、図5のフローチャート図を用いて説明する。
【0085】
ステップS4−1で、ステートマシン32は、アドレス/コマンド発生回路31に所望のコマンドを発行するよう要求する。その結果、ステートマシン32の要求により、アドレス/コマンド発生回路31からのコマンドをシーケンサ17へ発行することによって、NANDデータバスにページバッファ14内の第1データを読み出し、そのデータをECCバッファ25aに転送し、ECCバッファ25aを介してECCエンジン25bにも転送する。
【0086】
ステップS4−2で、アドレス/タイミング発生回路35を介して、ステートマシン33から転送信号(ECCバッファ25aからSRAMバッファ21cへの転送を行うための信号)が発行されることにより、ECCエンジン25bは、ECCバッファ25aから第1データをSRAMバッファ21cに転送する。
【0087】
ステップS4−3で、SRAMバッファ21cは、例えば、第1データをSRAMデータバスからセンスアンプを経て、第1データRAMに転送する。第1データRAM内のSRAMセルアレイは、SRAMアドレスにしたがってデータ書き込みを行う。
【0088】
次に、ステートマシン32からECC訂正開始制御信号が発行されることにより、ECCエンジン25bは、ECCバッファ25aからの第1データに誤りがある場合に誤り訂正し、その誤り訂正した後の第1データをECCバッファ25aに出力する。そして、ECCバッファ25a内の誤り訂正後の第1データをECCデータバスに読み出し、SRAMバッファ21cへと転送する。SRAMバッファ21cは、誤り訂正した後の第1データをSRAMデータバスからセンスアンプを経て、第1データRAMに転送する。第1データRAM内のSRAMセルアレイに、訂正後の第1データを書き込む。既に第1データRAMに第1データが保持されているとき、第1データRAM内のデータを誤り訂正後の第1データに書き換える。この誤り訂正後の第1データを新たに第1データと呼ぶ。
【0089】
なお、ステップS9も同様にECC処理が施される。
【0090】
ステップS10では、ステートマシン32は、上書きされた第1データを第1データRAMからページバッファ14に転送するよう、アドレス/タイミング発生回路35を制御する。以下で、具体的なステップを説明する。
【0091】
ステップS10−1で、ステートマシン32はアドレス/タイミング発生回路35を制御し、アドレス/タイミング発生回路35はアドレスと制御信号を生成し、アクセスコントローラ24に出力する。これにより、上書きされた第1データはECCデータバスを介してECCバッファに読み出され、そのデータをECCバッファ25aに転送させる。
【0092】
ステップS10−2で、NANDデータバスを介して上書きされた第1データをページバッファ14に書き込むよう、ステートマシン32はECCエンジン25bを制御する。
【0093】
ステートマシン32からECCパリティ発生開始制御信号が発行されることにより、ECCエンジン25bは、ECCバッファからの上書きされた第1データ対応するパリティを発生する。
【0094】
そして、NANDデータバスを介して発生されたパリティをページバッファ14に書き込むよう、ステートマシン32はECCエンジン25bを制御する。
【0095】
以上により、上書きされた第1データと対応するパリティがページバッファ14に保持される。
【0096】
[第2の実施形態の効果]
以上により、本実施形態のメモリシステムは、第1の実施形態と同様に、ページバッファとバッファ部それぞれに保持されたデータを交換可能なメモリシステムを提供できる。
【0097】
また、本実施形態のメモリシステムでは、第1の実施形態と異なり、ページバッファにデータの読み出しまたは書き込みを行う時に、ECC処理が施される。このため、ECC処理された第1データ又は第2データデータを交換可能なメモリシステムを提供できる。
【0098】
(変形例3)
第3の実施形態のメモリシステムでは、第1データを第1データRAMに保持するが、変形例2では、第1データをブートRAMに保持してもよい。これにより、複数のデータRAMを設ける必要がなく、1つのデータRAMと1つのブートRAMを設けることにより、1次データキャッシュと2次データキャッシュそれぞれのデータを入れ替え(交換)できる。その結果、データRAMを削減する分、変形例3のメモリシステムの回路面積を縮小できる。
【0099】
本変形例3のメモリシステムの動作は、第2の実施形態に対して変形例1のメモリシステムの動作方法を適用することによって可能となる。
【0100】
(変形例4)
本実施形態のメモリシステムでは、第1データRAMは、バーストバッファ22を介してホスト機器と間でデータの送受信をするときに用いるデータRAMであり、第2データRAMは、ページバッファ14のデータを一時的に保持するためのデータRAMであるが、変形例4では、本実施形態のメモリシステムの動作方法におけるステップS11の前に、第1データRAMと第2データRAMの定義を入れ替えるようにしてもよい。つまり、図1に示すData Buffer0を第2データRAMとして、Data Buffer1を第1データRAMとして定義し直す。これにより、上記のステップS11を行う必要がない。その結果、変形例2のメモリシステムは、本実施形態のメモリシステムより例えば上書きする際の動作が高速になる。
【0101】
本変形例3のメモリシステムの動作は、第2の実施形態に対して変形例2のメモリシステムの動作方法を適用することによって可能となる。
【0102】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【符号の説明】
【0103】
10…NAND型フラッシュメモリ
11…メモリセルアレイ
12…ロウデコーダ
13…センスアンプ
14…ページバッファ
15…カラムデコーダ
16…電圧発生回路
17…シーケンサ
18 19…オシレータ
20…入出力部
21…バッファ部
22…バーストバッファ
23…インターフェース
24…アクセスコントローラ
25…ECC部
30…制御部
31…アドレス/コマンド発生回路
32…ステートマシン
33…レジスタ
34…CUI
35…アドレス/タイミング発生回路
100…メモリシステム

【特許請求の範囲】
【請求項1】
データを保持可能なページバッファを含むNAND型フラッシュメモリと、
前記NAND型フラッシュメモリとデータバスを介して電気的に接続された複数の記憶部と、
前記NAND型フラッシュメモリ、前記複数の記憶部を制御する制御部と
を備え、
前記データバスの幅は、前記データの容量よりも小さく、
前記制御部は、前記NAND型フラッシュメモリに書き込み又は読み出しを行うとき、前記ページバッファに保持するデータと前記複数の記憶部のうち1の記憶部に保持するデータとを交換することを特徴とする半導体記憶装置。
【請求項2】
前記ページバッファに第1データが保持されて、前記複数の記憶部のうち1の記憶部に第2データが保持されており、
前記制御部は、前記NAND型フラッシュメモリに書き込み又は読み出しを行うとき、前記第1データを前記複数の記憶部のうち前記第2データを保持していない記憶部に転送し、前記第2データを前記ページバッファに転送することを特徴とする請求項1記載の半導体記憶装置。
【請求項3】
前記ページバッファに第1データが保持されており、前記複数の記憶部は、第2データが保持された第1記憶部と、第2データを保持していない第2記憶部を含み、
前記制御部は、前記NAND型フラッシュメモリに書き込み又は読み出しを行うとき、前記第1データを前記第2記憶部に転送し、前記第2データを前記ページバッファに転送し、前記第1データを前記第1記憶部に転送することを特徴とする請求項1又は請求項2記載の半導体記憶装置。
【請求項4】
請求項3記載の半導体記憶装置に、
前記NAND型フラッシュメモリに書き込みを行うときにパリティを生成し、前記NAND型フラッシュメモリに読み出しを行うときに前記ページバッファに保持されたデータのパリティを用いてエラー検出を行うエラー訂正回路を有するECC部をさらに備え、
前記制御部は、前記NAND型フラッシュメモリに書き込み又は読み出しを行う場合に、前記第1データを前記第2記憶部及び前記ECC部に転送し、前記第1データにエラーが存在するとき前記ECC部から出力されたエラー訂正を前記第2記憶部に保存された第1データに上書きし、前記第2データを前記ページバッファ及び前記ECC部に転送し、前記ECC部から出力されたパリティを前記第2データと一体となるよう前記ページバッファに転送することを特徴とする請求項1乃至請求項3いずれか1項記載の半導体記憶装置。
【請求項5】
前記第2記憶部の容量は、前記第1記憶部の容量より小さいことを特徴とする請求項2乃至請求項4記載の半導体記憶装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−88816(P2012−88816A)
【公開日】平成24年5月10日(2012.5.10)
【国際特許分類】
【出願番号】特願2010−233104(P2010−233104)
【出願日】平成22年10月15日(2010.10.15)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】