JP4528242B2 - メモリシステムおよびメモリシステムの動作方法 - Google Patents

メモリシステムおよびメモリシステムの動作方法 Download PDF

Info

Publication number
JP4528242B2
JP4528242B2 JP2005305621A JP2005305621A JP4528242B2 JP 4528242 B2 JP4528242 B2 JP 4528242B2 JP 2005305621 A JP2005305621 A JP 2005305621A JP 2005305621 A JP2005305621 A JP 2005305621A JP 4528242 B2 JP4528242 B2 JP 4528242B2
Authority
JP
Japan
Prior art keywords
data
volatile
memory
error correction
nonvolatile
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005305621A
Other languages
English (en)
Other versions
JP2007115013A (ja
Inventor
好治 加藤
義博 竹前
敏男 小川
哲彦 遠藤
義憲 岡島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2005305621A priority Critical patent/JP4528242B2/ja
Priority to US11/583,129 priority patent/US7827468B2/en
Publication of JP2007115013A publication Critical patent/JP2007115013A/ja
Application granted granted Critical
Publication of JP4528242B2 publication Critical patent/JP4528242B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/104Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Description

本発明は、不揮発性メモリと揮発性メモリとを有するメモリシステムおよびこのメモリシステムの動作方法に関する。
携帯電話、デジタルカメラ等の携帯機器は、各種パラメータなどのデータを一時的に保持するDRAM等の揮発性メモリと、電源のオフ時にプログラムやデータを保持するためのフラッシュメモリ等の不揮発性メモリを有している。一般に、NANDタイプのフラッシュメモリは、データをランダムにアクセスできず、アクセス時間が遅い。このため、NANDタイプのフラッシュメモリにMPUのプログラムが格納される場合、MPUは、プログラムを円滑に実行できない。この問題を解決するために、従来、フラッシュメモリとDRAMとによりメモリシステムを形成し、電源のオン時にフラッシュメモリからDRAMにプログラムを転送している。そして、MPUは、DRAMからプログラムを読み出している。この際、フラッシュメモリからDRAMへのデータ(プログラム)の転送をMPUに負荷をかけることなく実施するメモリコントローラが提案されている(例えば、特許文献1参照)。このメモリコントローラは、フラッシュメモリ上の実データをエラー訂正コードとともに読み出し、実データをエラー訂正し、訂正した実データのみをDRAMに書き込む。
また、不揮発性メモリおよび揮発性メモリのデータ線をスイッチを介して互いに接続し、一方のメモリから読み出されたデータをスイッチを介して他方のメモリに転送する手法が提案されている(例えば、特許文献2参照)。この手法では、不揮発性メモリは、エラー訂正コードが格納される領域を有していない。さらに、NANDタイプのフラッシュメモリのエラー訂正回路、コントローラ回路およびインタフェース回路を揮発性メモリ内に形成する手法が提案されている(例えば、特許文献3参照)。
特開2002−328836号公報 特開昭63−181194号公報 特開2002−251884号公報
上述したように、NANDタイプのフラッシュメモリにプログラムを格納する場合、MPUは、フラッシュメモリからDRAMに転送されたプログラムを読み出す必要がある。この場合、プログラムがフラッシュメモリから読み出され、エラー訂正されたプログラムがDRAMに全て転送された後に、プログラムの読み出しは開始される。このため、フラッシュメモリからDRAMにプログラムの転送を開始してから、MPUがプログラムの読み出しを開始するまでに多大な時間が掛かってしまう。
特に、パワーオン時にフラッシュメモリからDRAMにプログラムを転送するシステムでは、パワーオンからMPUが実際にプログラムを実行するまでの時間が掛かってしまう。具体的には、ユーザが機器の電源をオンしてから機器を操作できるまでの時間が長いため、機器の使い勝手が悪くなる。
一方、MPUによるプログラムの読み出しが、DRAMへの転送前に開始されると、プログラムの実行が長時間停止するおそれがある。具体的には、DRAMに転送されていないプログラムの読み出しが要求されたときに、MPUは、このプログラムがDRAMに転送されるまで長時間待たなくてはならない。MPUの動作が停止することでシステムに不
具合が生じてしまう。
本発明の目的は、不揮発性メモリにデータとエラー訂正コードとが格納され、かつ揮発性メモリ内のデータをアクセスするために不揮発性メモリから揮発性メモリにデータの転送が必要なメモリシステムにおいて、転送の開始からデータがアクセス可能になるまでの時間を短縮することにある。
本発明の一形態では、不揮発性メモリは、データを記憶する不揮発データ領域とエラー訂正コードとを記憶する不揮発付加領域を有する。エラー訂正コードは、不揮発データ領域に記憶されるデータのエラーを訂正するために使用される。揮発性メモリは、不揮発データ領域および不揮発付加領域にそれぞれ対応する揮発データ領域および揮発付加領域を有する。すなわち、揮発性メモリは、不揮発性メモリ用のエラー訂正コードを記憶する揮発付加領域を有する。
メモリコントローラは、不揮発データ領域および不揮発付加領域からデータおよびエラー訂正コードを読み出し、読み出したデータおよびエラー訂正コードを揮発データ領域および揮発付加領域にそれぞれ書き込む。不揮発性メモリに記憶されたデータをエラー訂正することなく、エラー訂正コードとともに揮発性メモリに転送することで、不揮発性メモリから揮発性メモリへのデータの転送時間を短くできる。したがって、不揮発性メモリから揮発性メモリに転送が開始されてからデータがアクセス可能になるまでの時間を短縮できる。
これに対して、エラー訂正しながら不揮発性メモリから揮発性メモリにデータのみを転送する場合、揮発性メモリからのデータの読み出しは、全てのデータが揮発性メモリに書き込まれるまで実施することができない。全てのデータが揮発性メモリに書き込まれるまでの時間は、全てのデータのエラー訂正時間を含むため長くなる。このため、従来、揮発性メモリへの転送の開始から揮発性メモリ内のデータがアクセス可能になるまでの時間は長い。
本発明の一形態における好ましい例では、メモリコントローラは、不揮発性メモリを読み出しアクセスするための不揮発読み出しアクセス信号または揮発性メモリを書き込みアクセスするための揮発書き込みアクセス信号を生成する。これにより、不揮発データ領域および不揮発付加領域に記憶されたデータおよびエラー訂正コードは、揮発データ領域および揮発付加領域に直接転送される。例えば、不揮発性メモリのデータ端子と揮発性メモリのデータ端子とは、共通のデータバス線により互いに接続されている。不揮発性メモリの読み出し動作と、揮発性メモリの書き込み動作を同時に実施することにより、データおよびエラー訂正コードの転送時間を短縮できる。この結果、不揮発性メモリから揮発性メモリへの転送の開始からデータがアクセス可能になるまでの時間をさらに短縮できる。
本発明の一形態における好ましい例では、メモリコントローラは、メモリシステムのパワーオンに基づいて、不揮発読み出しアクセス信号または揮発書き込みアクセス信号の生成を開始する。パワーオン時のデータ転送時間が短縮されるため、パワーオン後にシステムが動作を開始するまでの時間を従来より短縮できる。この結果、システムの使い勝手を向上できる。
本発明の一形態における好ましい例では、エラー訂正回路は、データおよびエラー訂正コードが揮発性メモリに書き込まれた後に、揮発性メモリに書き込まれたデータをエラー訂正コードを用いて訂正する。すなわち、エラー訂正は、不揮発性メモリから読み出されるデータに対してではなく、揮発性メモリから読み出されるデータに対して実施される。
揮発性メモリに転送されたデータは、エラーを含んでいる可能性がある。しかし、エラー訂正回路により、データが必要になった時点でそのデータのエラー訂正ができる。この結果、不揮発性メモリから揮発性メモリに転送が開始されてからデータがアクセス可能になるまでの時間を短縮できる。
本発明の一形態における好ましい例では、フラグ領域は、揮発データ領域内のデータの格納位置にそれぞれ対応するフラグを有する。各フラグは、エラー訂正回路により訂正動作が実施されたときにセットされる。エラー訂正回路は、セットされていないフラグに対応するデータのみエラー訂正を実施する。エラー訂正されたデータが再びエラー訂正されることが防止されるため、エラー訂正の頻度を少なくでき、エラー訂正に必要な総時間を短縮できる。この結果、システムによるデータの読み出し効率を向上できる。
本発明の一形態における好ましい例では、揮発メモリ制御回路は、データを誤り訂正するために、データおよびエラー訂正コードを揮発性メモリから読み出すとともに、エラー訂正回路により訂正されたデータおよび訂正されたデータに対応するエラー訂正コードを揮発性メモリに書き戻す。正しいデータが揮発性メモリに書き戻された後、そのデータのエラー訂正は不要である。各データについて、エラーが1回訂正されればよい。この結果、エラー訂正の頻度を低くでき、アクセス時間の平均値を短縮できる。
本発明の一形態における好ましい例では、揮発メモリ制御回路は、メモリシステムの外部からのアクセス要求に応答して、揮発性メモリからデータおよびエラー訂正コードを読み出し、エラー訂正されたデータおよびこのデータに対応するエラー訂正コードを揮発性メモリに書き戻す。メモリコントローラは、エラー訂正されたデータをメモリシステムの外部に出力する。アクセス要求毎にエラー訂正を実施することで、必要なデータのみエラー訂正できる。必要最小限のエラー訂正のみ実施することで、アクセス要求からデータが出力されるまでの時間が長くなることを防止できる。この結果、システムによるデータの読み出し効率を向上できる。
例えば、揮発メモリ制御回路は、揮発性メモリのアイドル中に、データおよびエラー訂正コードを揮発性メモリから読み出す。また、揮発メモリ制御回路は、エラー訂正されたデータおよびこのデータに対応するエラー訂正コードを揮発性メモリに書き戻す。エラー訂正をバックグラウンドで実施することで、データの読み出し時にエラー訂正する頻度を下げることができる。この結果、システムによるデータの読み出し効率を向上できる。
本発明の一形態における好ましい例では、リフレッシュ制御回路は、リフレッシュ要求を周期的に生成する。揮発性メモリは、リフレッシュ動作が必要なダイナミックメモリセルを有する。揮発メモリ制御回路は、リフレッシュ要求に応答して、データおよびエラー訂正コードを揮発性メモリから読み出す。これにより、リフレッシュ動作とエラー訂正動作を同時に実施することができる。また、エラー訂正によりソフトエラー等の不良を救済できるため、揮発性メモリの信頼性を向上できる。
本発明の一形態における好ましい例では、メモリコントローラは、揮発性メモリを読み出しアクセスするための揮発読み出しアクセス信号または不揮発性メモリを書き込みアクセスするための不揮発書き込みアクセス信号を生成する。これにより、揮発性メモリの揮発データ領域および揮発付加領域に記憶されたデータおよびエラー訂正コードは、不揮発性メモリの不揮発データ領域および不揮発付加領域に直接転送される。揮発性メモリの読み出し動作と、不揮発性メモリの書き込み動作が同時に実施されるため、データおよびエラー訂正コードの転送時間を短縮できる。
例えば、揮発性メモリから不揮発性メモリへのデータおよびエラー訂正コードの転送は
、メモリシステムのパワーオフに基づいて、パワーオフの前に実施される。これにより、パワーオフシーケンスに必要な時間を短縮できる。
本発明では、不揮発性メモリから揮発性メモリに転送が開始されてからデータがアクセス可能になるまでの時間を短縮できる。
以下、本発明の実施形態を図面を用いて説明する。図中、太線で示した信号線は、複数本で構成されている。また、太線が接続されているブロックの一部は、複数の回路で構成されている。信号が伝達される信号線には、信号名と同じ符号を使用する。先頭に”/”の付いている信号は、負論理を示している。
図1は、本発明の第1の実施形態を示している。メモリシステムMSYSは、システムオンチップSOCに形成されたメモリコントローラMCNTと、SOCに接続されたNANDタイプのフラッシュメモリFLASH、DDR−SDRAM(Double Data Rate Synchronous DRAM)と、SOC、FLASH、SDRAMの間に配線された信号線とにより形成されている。SOC、FLASH、SDRAMは、図示しない他のチップとともに、システム基板SYS上に搭載されている。システム基板SYSは、SOC、FLASHおよびSDRAMが動作可能な期間に、システムリセット信号/RSTを高論理レベルに維持する。システム基板SYSは、例えば、携帯電話のメイン基板として使用される。
SOCは、携帯電話の動作を制御するマイクロコントローラMPU(システムコントローラ)、無線通信機能を実現するための周辺回路IP1、携帯電話の画面表示を制御するための周辺回路IP2、クロック信号CLKを生成するクロック生成器CG、メモリコントローラMCNT、およびMPU、IP1、IP2、MCNTに接続されたシステムバスSBUSを有している。
FLASHは、クロック非同期式の汎用の不揮発性メモリである。FLASHは、レディ/ビジー端子R/B、チップイネーブル端子/CE1、ライトイネーブル端子/WE1、リードイネーブル端子/RE、コマンドラッチイネーブル端子CLE、アドレスラッチイネーブル端子ALEおよびデータ端子I/O0−7を有している。FLASHは、実データを記憶するデータ領域D1(メインメモリ、不揮発データ領域)と、エラー訂正コードを記憶するエラー訂正コード領域E1(スペアエリア、不揮発付加領域)とを有している。この実施形態では、予め、携帯電話を動作させるためにMPUが実行するためのプログラムが、データ領域D1に記憶され、データ領域D1に記憶されるプログラムのエラー訂正コードがエラー訂正コード領域E1に記憶される。
FLASHは、例えば、記憶領域として32k個のページを有している。各ページは、512バイト(4096ビット)のデータ領域D1と16バイト(128ビット)のエラー訂正コード領域E1とで構成される。なお、この実施形態では、4096ビットのデータに対して、1ビットエラーの検出、訂正または2ビットエラーの検出が可能である。このために13ビットのエラー訂正コード(Error Correction Code)が必要である。したがって、エラー訂正コード領域E1のビット幅は、最低13ビットあればよい。エラー訂正コード領域E1のビット幅(128ビット)に余裕があるため、2ビット以上のエラー検出、訂正をすることも可能である。
SDRAMは、クロック同期式の汎用の揮発性メモリであり、リフレッシュ動作が必要なダイナミックメモリセルを有している。SDRAMは、クロック端子CLK、/CLK、クロックイネーブル端子CKE、チップセレクト端子/CS、ライトイネーブル端子/
WE、ロウアドレスストローブ端子/RAS、コラムアドレスストローブ端子/CAS、データストローブ信号DQS、アドレス端子ADおよびデータ端子I/O0−7を有している。SDRAMは、データ領域D1に対応するデータ領域D2(揮発データ領域)と、エラー訂正コード領域E1に対応するエラー訂正コード領域E2(揮発付加領域)とを有している。なお、本発明は、SDR(Single Data Rate)方式のSDRAMにも適用できる。
データ領域D2は、FLASHのデータ領域D1から読み出されるプログラムを記憶するために割り当てられている。エラー訂正コード領域E2は、FLASHのエラー訂正コード領域E1から読み出されるエラー訂正コードを記憶するために割り当てられている。また、SDRAMは、領域D2、E2以外に、携帯電話の動作に必要なデータを記憶するための図示しないバッファ領域を有している。
FLASH、SDRAMおよびメモリコントローラMCNTの間には、FLASHおよびSDRAMに共有される共通のデータバス線I/O0−7と、FLASHおよびSDRAMにそれぞれ専用の制御信号線(/CE1、/CSなど)が配線されている。
メモリコントローラMCNTは、FLASHの読み出し動作、プログラム動作(書き込み動作)を制御するコントロール部CNT1と、SDRAMの読み出し動作、書き込み動作およびリフレッシュ動作を制御するコントロール部CNT21(揮発メモリ制御回路)とを有している。コントロール部CNT1は、クロック信号CLKに同期してFLASHをアクセスするための信号を出力する。
コントロール部CNT21は、エラー訂正回路ECC、フラグ領域FLGおよびバッファ領域BUFを有している。コントロール部CNT21は、クロック信号CLKに同期して動作し、SDRAMをアクセスするための信号を出力する。コントロール部CNT21は、SDRAMから読み出されたプログラムデータおよびエラー訂正コードを、バッファ領域BUFに保持するとともに、エラー訂正回路ECCに転送する。さらに、コントロール部CNT21は、エラーが訂正されたプログラムデータおよびこのプログラムデータのエラーを訂正するためのエラー訂正コードをバッファ領域BUFおよびSDRAMに書き戻す機能を有している。
また、コントロール部CNT21は、クロック信号CLKと逆の位相を有するクロック信号/CLKと、データストローブ信号DQSとを出力する。データストローブ信号DQSは、SDRAMの書き込み動作時に、書き込みデータ信号I/O0−7に同期してコントロール部CNT21から出力される。一方、データストローブ信号DQSは、SDRAMの読み出し動作時に、読み出しデータ信号I/O0−7に同期してSDRAMから出力される。なお、コントロール部CNT21は、SDRAMをリフレッシュ動作させるリフレッシュ制御回路の機能も有している。
エラー訂正回路ECCは、SDRAMから読み出されたプログラムデータおよびエラー訂正コードを用いて、プログラムデータのエラーを訂正する機能を有している。エラー訂正回路ECCをメモリコントローラMCNTに形成することで、従来のエラー訂正回路を利用できる。この結果、回路設計を容易にできる。1回の読み出し、エラー訂正および書き戻しは、512バイトのデータおよび2バイトのエラー訂正コード(合計514バイト、FLASHの1ページに対応)を1単位として実施される。このために、コントロール部CNT21は、バッファ領域BUFを利用して少なくとも514バイトのバースト読み出し動作および514バイトのバースト書き込み動作を実施する機能を有している。
フラグ領域FLGは、エラー訂正回路ECCにプログラムデータが供給され、エラー訂
正が実施されたことを記憶する複数のフラグを有している。各フラグは、SDRAMの1ページ(514バイト;データの格納位置)に対応して形成されている。コントロール部CNT21は、パワーオン時に各フラグをリセットし、エラー訂正回路ECCへのプログラムデータの供給に同期して、対応するフラグをセットする。
フラグは、エラーの有無に関わりなく、エラー訂正動作が実施されたときにセットされる。なお、フラグは、エラー訂正回路ECCによりセットされてもよい。また、コントロール部CNT21は、フラグがセットされているページ(プログラムデータおよびエラー訂正コード)を読み出した場合、このプログラムデータのエラーを訂正済みと判断し、エラー訂正しない。したがって、この場合、書き戻し動作も実施されない。すなわち、各ページのエラー訂正および書き戻しは、メモリシステムMSYSのパワーオン後に1回しか実施されない。これにより、エラー訂正の頻度を少なくでき、エラー訂正に必要な総時間を短縮できる。この結果、アクセス時間の平均値を短縮でき、MPUによるプログラムデータの読み出し効率を向上できる。
図2は、図1に示したメモリシステムMSYSのパワーオン時の動作を示している。システム基板SYSに電源電圧VDDが供給され(PON)、電源電圧VDDが所定の電圧に到達すると、システムリセット信号/RSTが低論理レベルから高論理レベルに変化する(図2(a))。SOCは、システムリセット信号/RSTの高論理レベルへの変化に応答してクロック信号CLKの生成を開始する(図2(b))。クロック信号CLKは、コントロール部CNT1、SDRAMおよびMPU、IP1、IP2等のSOC内の機能ブロックに供給される。コントロール部CNT21は、所定のクロック数後にクロックイネーブル信号CKEを高論理レベルに変化させる(図2(c))
次に、コントロール部CNT21は、SDRAMのパワーオンシーケンスPONSを実施するために、プリチャージコマンドやオートリフレッシュコマンド、モードレジスタセットコマンドなどの所定のコマンド群をSDRAMに供給する(図2(d))。パワーオンシーケンスPONSの完了後、コントロール部CNT1は、FLASHからプログラムデータおよびエラー訂正コードを読み出すための読み出しコマンド(不揮発読み出しアクセス信号)をFLASHに順次出力する。コントロール部CNT21は、FLASHから読み出したプログラムデータおよびエラー訂正コードをSDRAMに書き込むための書き込みコマンド(揮発書き込みアクセス信号)をSDRAMに順次出力する。すなわち、読み出しコマンドおよび書き込みコマンドの生成は、パワーオンに同期して開始される。そして、FLASHからSDRAMにプログラムデータおよびエラー訂正コードが転送される転送動作TRFDが実施される(図2(e))。なお、転送動作TRFDの詳細は、後述する図3で説明する。
転送動作TRFDの完了により、FLASHに格納されていたプログラムデータおよびそのエラー訂正コードは、SDRAMに書き込まれる。但し、この状態では、プログラムデータのエラーは訂正されていない。このため、MPUは、プログラムを読み出して実行することはできない。
図3は、図2に示したFLASHからSDRAMへのデータの転送動作TRFDの詳細を示している。なお、予め、SDRAMは、モードレジスタセットコマンドによりバースト転送モードを選択している。
まず、コントロール部CNT1は、FLASHからプログラムデータおよびエラー訂正コードを読み出すために、読み出しコードRDおよび開始アドレスをデータバス線I/O0−7に出力する(図3(a))。コントロール部CNT21は、コントロール部CNT1が受けたR/B信号の高論理レベルに応答して/RAS信号を活性化し、同時にロウア
ドレスRAを出力する(図3(b、c))。
コントロール部CNT1は、/RAS信号の活性化から所定時間後に、/RE信号をクロック信号CLKに同期して出力する(図3(d))。/RE信号の立ち下がりエッジに同期してFLASHからデータ(プログラム)が読み出される(図3(e))。コントロール部CNT21は、/RE信号の最初の立ち下がりエッジに同期して/CAS信号および/WE信号を活性化し、同時にコラムアドレスCA(書き込みアドレス)を出力する(図3(f))。これにより、FLASHから読み出されたプログラムは、共通のデータバス線I/O0−7を介してSDRAMに直接書き込みされる。
転送動作TRFDでは、FLASHへの読み出しコマンド(/RE)およびSDRAMへの書き込みコマンド(/WE)は、互いに同期して供給される。これにより、プログラムデータおよびエラー訂正コードをFLASHからSDRAMに直接転送できる。したがって、プログラムデータおよびエラー訂正コードの転送時間を短縮でき、パワーオンからMPUによるアクセス開始までの時間を短縮できる。なお、エラー訂正コードのFLASHからSDRAMへの転送も同様にして実施される。
図4は、図1に示したMPUからアクセス要求を受けたときのコントロール部CNT21の動作を示している。この動作は、コントロール部CNT21に形成されるハードウエアにより実施される。ここで、アクセス要求は、MPUによるプログラムのフェッチ動作に対応する。本実施形態では、プログラムデータのエラー訂正は、アクセス要求毎に実施される。これにより、MPUが必要としているプログラムデータのみをエラー訂正できる。また、各ページにおいてエラー訂正は一度しか実施されない。必要最小限のエラー訂正のみ実施することで、アクセス要求からデータが出力されるまでの時間が長くなることを防止できる。この結果、システムによるデータの読み出し効率を向上できる。
まず、ステップS10において、コントロール部CNT21は、アクセス要求に応答してSDRAMから対応する1ページ分のプログラムデータを読み出し、読み出したプログラムデータをバッファ領域BUFに保持する。ステップS12において、コントロール部CNT21は、読み出したプログラムデータがエラー訂正済みか否かを判定する。すわなち、読み出したページに対応するフラグがセットされているか否かが判定される。フラグがセットされている場合、エラー訂正回路ECCによる訂正動作が実施済みのため、処理はステップS22に移行する。フラグがセットされていない場合、読み出したプログラムデータをエラー訂正するために、処理はステップS14に移行する。
ステップS14において、エラー訂正回路ECCによる読み出したプログラムデータのエラーの有無が判定される(エラー検出)。エラーがない場合、処理はステップS20に移行する。すなわち、エラーが検出されない場合、後述するステップS18のエラー訂正動作および書き戻し動作は実施されない。これにより、後述するステップS22が早く実施されるため、プログラムデータをMPUに迅速に出力できる。一方、エラーがある場合、処理はステップS16に移行する。ステップS16において、エラー訂正回路ECCによりエラー訂正が実施される。
次に、ステップS18において、コントロール部CNT21は、訂正されたプログラムデータと新たに生成されたエラー訂正コードをバッファ領域BUFおよびSDRAMに書き戻す。ステップS20において、コントロール部CNT21は、読み出したページに対応するフラグをセットする。次に、ステップS22において、コントロール部CNT21は、バッファ領域BUFに保持されているプログラムデータをシステムバスSBUSを介してMPUに順次に出力する(例えば、32ビット単位)。そして、アクセス要求に応答するプログラムデータの出力動作が完了する。
なお、コントロール部CNT21は、エラー訂正等によりプログラムデータをMPUに一時的に出力できない場合、MPUにウエイト信号を出力する。この際、ステップS18とステップS22を同時に実施することで、ウエイト信号の出力期間を短くできる。このため、MPUは、プログラムデータを早くフェッチできる。
図5は、パワーオンからMPUが動作を開始するまでの時間を示している。本発明では、MPUは、SDRAMから読み出された最初の1ページ分のデータがエラー訂正された直後に、プログラムをフェッチ可能である。また、エラー訂正は、MPUからのアクセス要求に応答して実施される。このため、分岐命令等により異なるページのアクセス要求が発生する場合にも、ウエイト期間は、1ページ分のエラー訂正期間で済む。
これに対して、従来では、MPUは、FLASHから読み出されエラー訂正されたプログラムデータがSDRAMに全て転送された後でなければ、プログラムをフェッチできない。これは、FLASHからSDRAMへの転送およびエラー訂正が、例えば、下位アドレスから上位アドレスに向けて順次実施されるため、分岐命令が発生したときに対応できないためである。
以上、第1の実施形態では、FLASHに記憶されたプログラムデータをエラー訂正することなく、エラー訂正コードとともにSDRAMに転送することで、FLASHからSDRAMへのプログラムデータの転送時間を短くできる。したがって、FLASHからSDRAMに転送が開始されてからデータがアクセス可能になるまでの時間を短縮できる。さらに、アクセス要求毎に読み出されるプログラムデータのエラー訂正することで、FLASHからSDRAMへのログラムデータの転送の開始からプログラムデータがMPUによりアクセス可能になるまでの時間を短縮できる。特に、パワーオンからMPUによるアクセス開始までの時間をさらに短縮できる。この結果、携帯電話の使い勝手を向上できる。
図6は、本発明の第2の実施形態を示している。第1の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、第1の実施形態のコントロール部CNT21の代わりに、コントロール部CNT22が形成されている。その他の構成は、第1の実施形態と同じである。コントロール部CNT22は、第1の実施形態のコントロール部CNT21からフラグ領域FLGを除いて構成されている。
図7は、第2の実施形態において、MPUからアクセス要求を受けたときのコントロール部CNT22の動作を示している。この実施形態のコントロール部CNT22の動作フローは、図4に示したフローからステップS12およびステップS20を除いて構成されている。すなわち、コントロール部CNT22は、エラー訂正を、1ページのプログラムデータを読み出す毎に必ず実施する。これにより、ソフトエラー等によりSDRAM内で発生した不良を救済でき、MPUにエラー訂正されたプログラムデータを出力できる。
以上、第2の実施形態においても第1の実施形態と同様の効果を得ることができる。さらに、不良が救済できるため、SDRAMの信頼性を向上できる。また、フラグ領域FLGが不要なため、メモリコントローラMCNTの回路規模を削減できる。
図8は、本発明の第3の実施形態を示している。第1の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、第1の実施形態のコントロール部CNT21の代わりに、コントロール部CNT23が形成されている。また、FLASHは、プログラムを記憶するプログラム領
域FPGと、データを記憶するデータ領域FDTとが割り当てられている。SDRAMは、プログラムを記憶するプログラム領域DPGと、データを記憶するデータ領域DDTとが割り当てられている。その他の構成は、第1の実施形態と同じである。システム基板SYSは、例えば、カメラ機能を有する携帯電話のメイン基板として使用される。
プログラム領域FPG、DPGには、MPUが実行するプログラムデータが記憶される。データ領域FDT、DDTには、携帯電話の動作に必要な各種パラメータ、起動画面、カメラ機能により撮影された画像データ等が記憶される。一般に、プログラムデータは、パワーオンからパワーオフの間で変化しない。一方、パラメータ等のデータは、パワーオン後のユーザの操作により変更され、パワーオフ後も保持する必要がある。また、カメラ機能により撮影された画像データは、パワーオフまでにFLASHにセーブする必要がある。このため、本実施形態では、パワーオフ時と撮影時に、SDRAMからFLASHにデータを転送する。なお、撮影された画像データは、撮影毎にエラー訂正コードとともにSDRAMに書き込まれる。エラー訂正コードは、画像データを用いてエラー訂正回路ECCにより生成される。画像データおよび画像データに対応するエラー訂正コードのFLASHへの書き込みは、SDRAMに記憶された画像データおよびエラー訂正コードを用いて実施される。
図9は、図8に示したメモリシステムMSYSのパワーオフ時の動作を示している。パワーオン時の動作は、上述した図2および図3と同じである。まず、ユーザの操作等によりパワースイッチがオフされたとき(パワーオフ要求)、MPUは、パワーオフシーケンスPOFSを実施する。パワーオフシーケンスPOFSと並行して、コントロール部CNT23は、SDRAMからFLASHへのデータの転送動作TRDFを実施する。転送動作TRDFは、SDRAMに保持されているプログラム、データおよびこれらのエラー訂正コードを全てFLASHに書き込む動作である。転送動作TRDFの完了後、システム基板SYSによりリセット信号/RSTが低論理レベルに活性化され、クロック信号CLKが停止し、クロックイネーブル信号CKEが非活性化される。この後、電源電圧VDDの供給が停止され、メモリシステムMSYSは、パワーオフされる(POFF)。すなわち、転送動作TRDFは、メモリシステムMSYSのパワーオフに同期して、パワーオフの直前に実施される。
より詳細には、コントロール部CNT23は、SDRAMからプログラム、データおよびこれらのエラー訂正コードをSDRAMから読み出すための読み出しコマンド(揮発読み出しアクセス信号)をSDRAMに出力する。コントロール部CNT1は、SDRAMから読み出したプログラム、データおよびこれらのエラー訂正コードをFLASHに書き込むための書き込みコマンド(不揮発書き込みアクセス信号)をFLASHに出力する。なお、転送動作TRDFの詳細は、後述する図10で説明する。
図10は、図9に示したSDRAMからFLASHへのデータの転送動作TRDFの詳細を示している。転送動作TRDFは、パワーオフに同期して実施される。あるいは、転送動作TRDFは、カメラ機能による撮影時に、画像データがシステム基板SYS側からSDRAMに書き込まれたことに同期して実施される。なお、予め、SDRAMは、モードレジスタセットコマンドによりバースト転送モードを選択している。
まず、コントロール部CNT1は、FLASHにプログラム、データおよびエラー訂正コードを書き込むために、書き込みコードWR(ページプログラムコード)および開始アドレスをデータバス線I/O0−7に出力する(図10(a))。コントロール部CNT23は、/RAS信号を活性化し、同時にロウアドレスRAを出力する(図10(b、c))。さらに、コントロール部CNT23は、/RAS信号の活性化から所定時間後に/CAS信号を活性化し、同時にコラムアドレスCA(読み出しアドレス)を出力する(図
10(d、e))。/WE信号が高論理レベルに保持されているため、SDRAMのバースト読み出し動作が実施される。
コントロール部CNT1は、SDRAMからデータが出力されるタイミングに同期して/WE信号を繰り返し活性化する(図10(f))。これにより、SDRAMから読み出されたプログラムは、共通のデータバス線I/O0−7を介してFLASHのデータレジスタ(ページバッファ)に書き込まれる。このように、転送動作TRDFでは、SDRAMへの読み出しコマンド(/WE=High)およびFLASHへの書き込みコマンド(/WE)は、互いに同期して供給される。これにより、プログラムデータおよびエラー訂正コードをSDRAMからFLASHに直接転送できる。したがって、プログラムデータおよびエラー訂正コードの転送時間を短縮でき、パワーオフシーケンスに必要な時間を短縮できる。
この後、FLASHは、コントロール部CNT1からのプログラムコードPGを受けて、データレジスタ内のデータをメモリセルアレイにプログラムする(図10(g))。FLASHは、プログラム動作中にR/B信号を低論理レベルに保持する(図10(h))。コントロール部CNT1は、R/B信号の高論理レベルへの変化によりプログラム動作の終了を検出する(図10(i))。さらに、コントロール部CNT1は、プログラム結果を確認するためにステータスコードSTをFLASHに書き込み、パス/フェイルコードPFをFLASHから受け取る(図10(j))。そして、転送動作TRDFが完了する。なお、エラー訂正コードのSDRAMからFLASHへの転送も同様にして実施される。
以上、第3の実施形態においても第1の実施形態と同様の効果を得ることができる。さらに、FLASHにデータを書き込む必要があるシステムにおいて、SDRAMからFLASHへのデータおよびエラー訂正コードの転送時間を短縮できる。特に、パワーオフに同期してデータ転送TRDFを実施する場合、パワーオフシーケンスに必要な時間を短縮できる。
図11は、本発明の第4の実施形態を示している。第1の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、第1の実施形態のコントロール部CNT21の代わりに、コントロール部CNT24が形成されている。また、SDRAMは、エラー訂正回路ECCと、エラー訂正回路ECCの動作を制御するためのコントロール部CNT3(揮発メモリ制御回路)と、フラグ領域FLGとを有している。SDRAMは、エラー訂正処理中にビジー信号BSYを出力する端子を有している。その他の構成は、第1の実施形態と同じである。
コントロール部CNT24は、第1の実施形態のコントロール部CNT21からエラー訂正回路ECCとフラグ領域FLGを除いて構成されている。すなわち、この実施形態では、FLASHからSDRAMに転送されたプログラムのエラー訂正と、各ページ(5122バイト+16バイト)のエラー訂正の有無の管理は、SDRAMにより実施される。エラー訂正回路ECCをSDRAM内に形成することで、エラー訂正動作時にデータおよびエラー訂正コードを外部に出力する必要がない。この結果、エラー訂正動作を短時間で効率的に実施することができる。
MPUからアクセス要求を受けたときのSDRAMの動作は、図4に示したコントロール部CNT21の動作と同じである。但し、図4のステップS22に対応する動作では、プログラムデータは、コントロール部CNT24を介してMPUに出力され、同時にバッファ領域BUFに保持される。また、SDRAMは、図4のステップS14−S20の間、ビジー信号BSYを出力する。
なお、SDRAMのアーキテクチャを工夫することで、1ページ(4224ビット)のデータは、1回の読み出しサイクルで読み出し可能である。具体的には、1本のワード線に4224個のダイナミックメモリセルを接続し、ワード線を選択し続けた状態で読み出し動作と書き戻し動作を実施すればよい。これにより、読み出し、エラー訂正、書き戻しおよびフラグセット(ステップS14−S20に相当する)を数クロックサイクル(例えば、4クロックサイクル)で実施できる。すなわち、MPUの動作中に挿入されるウエイトサイクル数を最小限にできる。
以上、第4の実施形態においても第1の実施形態と同様の効果を得ることができる。さらに、エラー訂正回路ECCをSDRAM内に形成することで、エラー訂正動作を短時間で効率的に実施することができる。
図12は、本発明の第5の実施形態を示している。第1および第4の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、第4の実施形態のコントロール部CNT3の代わりに、コントロール部CNT4が形成されている。その他の構成は、第4の実施形態と同じである。
コントロール部CNT4は、第4の実施形態のコントロール部CNT3の機能に加えて、SDRAMに対するアクセス要求がないアイドル中にエラー訂正動作を実施する機能を有している。ここで、エラー訂正動作とは、上述した図4に示したステップS10−S20に対応する動作である。アイドル中にエラー訂正を実施することで、各ページに対応するフラグを、MPUのフェッチ動作と無関係にセットできる。この結果、MPUの動作中に挿入されるウエイトサイクルの総数を削減でき、システムの動作効率を向上できる。
以上、第5の実施形態においても第1および第4の実施形態と同様の効果を得ることができる。さらに、エラー訂正をバックグラウンドで実施することで、データの読み出し時にエラー訂正する頻度を下げることができる。この結果、システムによるデータの読み出し効率を向上できる。
図13は、本発明の第6の実施形態を示している。第1および第4の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、第4の実施形態のSDRAMの代わりに、FCRAM(Fast Cycle RAM)が形成されている。FCRAMは、クロック非同期式の擬似SRAMである。その他の構成は、第4の実施形態と同じである。
FCRAMは、チップイネーブル端子/CE1、CE2、ライトイネーブル端子/WE、アウトプットイネーブル端子/OE、アドレス端子AD、ビジー端子BSYおよびデータ端子I/O0−7を有している。FCRAMは、DRAMのメモリセル(ダイナミックメモリセル)を有し、SRAMのインタフェースを有する擬似SRAMの一種である。FCRAMは、外部からリフレッシュコマンドを受けることなく、チップ内部で定期的にリフレッシュ動作を実施し、メモリセルに書き込まれたデータを保持する。このため、FCRAMは、エラー訂正回路ECC、コントロール部CNT3およびフラグ領域FLGに加えて、リフレッシュ動作を制御するリフレッシュ制御回路REFを有している。エラー訂正回路ECC、コントロール部CNT3およびフラグ領域FLGの構成および機能は、上述した第4の実施形態と同じである。
リフレッシュ制御回路REFは、リフレッシュ要求RREQを周期的に生成するリフレッシュタイマと、リフレッシュするページ番号を示すページカウンタ(何れも図示せず)を有している。MPUからアクセス要求を受けたときのFCRAMの動作は、第4の実施
形態と同じである。すなわち、ステップS22の動作を除き、図4に示したコントロール部CNT21の動作と同じである。
図14は、図13に示したコントロール部CNT3、エラー訂正回路ECCおよびリフレッシュ制御回路REFの動作を示している。この動作は、各回路(ハードウエア)により実施される。ステップS32、S34、S36の動作は、図4に示したステップS10、S16、S18と同じである。
まず、ステップS30において、リフレッシュ制御回路REFは、リフレッシュ要求RREQの生成を待つ。リフレッシュ要求RREQが生成されたとき、処理は、ステップS32に移行する。ステップS32において、コントロール部CNT3は、アクセス要求に応答してFCRAMのメモリセルアレイから1ページ分のプログラムデータを読み出す。
次に、ステップS34において、エラー訂正回路ECCによりエラー訂正が実施される。ステップS36において、コントロール部CNT3(揮発メモリ制御回路)は、訂正されたプログラムデータと新たに生成されたエラー訂正コードをFCRAMに書き戻す。すなわち、リフレッシュ要求RREQに応答して1ページ分のエラー訂正動作および書き戻し動作(リフレッシュ動作)が実施される。書き戻されるプログラムデータは、エラー訂正されている。このため、ソフトエラー等によりメモリセルアレイ内で発生した不良を救済できる。この後、ステップS38において、アドレスカウンタは、ページ番号を1つ進める。
以上、第6の実施形態においても第1および第4の実施形態と同様の効果を得ることができる。さらに、リフレッシュ動作とエラー訂正動作を同時に実施することができ、制御回路の規模を削減できる。また、エラー訂正によりソフトエラー等の不良を救済できるため、揮発性メモリの信頼性を向上できる。
なお、上述した実施形態では、本発明を携帯電話に適用する例について述べた。例えば、本発明は、デジタルカメラ等の他の携帯機器にも適用可能である。
上述した実施形態では、メモリコントローラMCNTをSOC内に形成する例について述べた。しかし、メモリコントローラMCNTは、単独のチップで形成されてもよい。この場合、例えば、メモリコントローラMCNT、FLASHおよびSDRAMによりマルチチップモジュール(メモリシステム)を形成してもよい。さらに、メモリコントローラMCNT、FLASHおよびSDRAMを、1チップで形成してもよい。あるいは、メモリコントローラMCNTとともに、SOC内にFLASHおよびSDRAMを搭載してもよい。
上述した実施形態では、本発明をFLASHとSDRAMとを有するメモリシステムに適用する例について述べた。これに限定されず、本発明は、実データ領域とエラー訂正コードの格納領域とを有する不揮発性メモリと、揮発性メモリ(SDRAM、DRAM、擬似SRAM、FCRAM、SRAMのいずれか)とを有するメモリシステムに適用できる。この際、各半導体メモリは、クロック同期式でもよく、クロック非同期式でもよい。
上述した第3の実施形態では、カメラ機能による撮影毎に画像データおよびそのエラー訂正コードをFLASHに書き込む例について述べた。例えば、パワーオンの間、画像データおよびエラー訂正コードをSDRAMに保持しておき、パワーオフ時にSDRAMからFLASHに画像データおよびエラー訂正コードを転送してもよい。この場合、エラー訂正コードは、撮影毎(SDRAMへの書き込み毎)に生成しているため、パワーオフ時にエラー訂正を実施する必要はない。この結果、パワーオフ時の処理時間を短縮できる。
上述した第2、第4−第6の実施形態に、第3の実施形態のパワーオフ時のFLASHへの転送動作TRDFの機能を加えてもよい。さらに、第1−第3の実施形態において、エラー訂正回路ECCは、コントロール部CNT21、22、23の外に形成してもよく、あるいは、メモリコントローラMCNTの外に形成してもよい。
以上の実施形態において説明した発明を整理して、付記として開示する。
(付記1)
データを記憶する不揮発データ領域と前記不揮発データ領域に記憶されるデータのエラーを訂正するためのエラー訂正コードとを記憶する不揮発付加領域を有する不揮発性メモリと、
前記不揮発データ領域および前記不揮発付加領域にそれぞれ対応する揮発データ領域および揮発付加領域を有する揮発性メモリと、
前記不揮発データ領域および前記不揮発付加領域からデータおよびエラー訂正コードを読み出し、読み出したデータおよびエラー訂正コードを前記揮発データ領域および前記揮発付加領域にそれぞれ書き込むメモリコントローラとを備えていることを特徴とするメモリシステム。
(付記2)
付記1記載のメモリシステムにおいて、
前記不揮発性メモリのデータ端子と前記揮発性メモリのデータ端子を互いに接続する共通のデータバス線を備え、
前記メモリコントローラは、前記不揮発データ領域および前記不揮発付加領域に記憶されたデータおよびエラー訂正コードを、前記データバス線を介して前記揮発データ領域および前記揮発付加領域に転送するために、前記不揮発性メモリを読み出しアクセスするための不揮発読み出しアクセス信号または前記揮発性メモリを書き込みアクセスするための揮発書き込みアクセス信号を生成することを特徴とするメモリシステム。
(付記3)
付記2記載のメモリシステムにおいて、
前記メモリコントローラは、メモリシステムのパワーオンに基づいて、前記不揮発読み出しアクセス信号または前記揮発書き込みアクセス信号の生成を開始することを特徴とするメモリシステム。
(付記4)
付記1記載のメモリシステムにおいて、
データおよびエラー訂正コードが前記揮発性メモリに書き込まれた後に、前記揮発性メモリに書き込まれたデータをエラー訂正コードを用いて訂正するエラー訂正回路を備えていることを特徴とするメモリシステム。
(付記5)
付記4記載のメモリシステムにおいて、
前記揮発データ領域内のデータの格納位置にそれぞれ対応するフラグを有し、前記エラー訂正回路により訂正動作が実施されたデータに対応するフラグがセットされるフラグ領域を備え、
前記エラー訂正回路は、セットされていないフラグに対応するデータのみエラー訂正を実施することを特徴とするメモリシステム。
(付記6)
付記4記載のメモリシステムにおいて、
データおよびエラー訂正コードを誤り訂正するために前記揮発性メモリから読み出すとともに、前記エラー訂正回路により訂正されたデータおよび訂正されたデータに対応するエラー訂正コードを前記揮発性メモリに書き戻す揮発メモリ制御回路を備えていることを特徴とするメモリシステム。
(付記7)
付記6記載のメモリシステムにおいて、
前記揮発メモリ制御回路は、メモリシステムの外部からのアクセス要求に応答して、データおよびエラー訂正コードを前記揮発性メモリから読み出し、エラー訂正されたデータおよびこのデータに対応するエラー訂正コードを前記揮発性メモリに書き戻し、
前記メモリコントローラは、エラー訂正されたデータをメモリシステムの外部に出力することを特徴とするメモリシステム。
(付記8)
付記7記載のメモリシステムにおいて、
前記揮発メモリ制御回路は、前記揮発性メモリのアイドル中に、データおよびエラー訂正コードを前記揮発性メモリから読み出し、エラー訂正されたデータおよびこのデータに対応するエラー訂正コードを前記揮発性メモリに書き戻すことを特徴とするメモリシステム。
(付記9)
付記1記載のメモリシステムにおいて、
リフレッシュ要求を周期的に生成するリフレッシュ制御回路を備え、
前記揮発性メモリは、リフレッシュ動作が必要なダイナミックメモリセルを有し、
前記揮発メモリ制御回路は、前記リフレッシュ要求に応答して、データおよびエラー訂正コードを前記揮発性メモリから読み出すことを特徴とするメモリシステム。
(付記10)
付記1記載のメモリシステムにおいて、
前記メモリコントローラは、前記揮発性メモリの前記揮発データ領域および前記揮発付加領域に記憶されたデータおよびエラー訂正コードを、前記不揮発性メモリの前記不揮発データ領域および前記不揮発付加領域に転送するために、前記揮発性メモリを読み出しアクセスするための揮発読み出しアクセス信号または前記不揮発性メモリを書き込みアクセスするための不揮発書き込みアクセス信号を生成することを特徴とするメモリシステム。
(付記11)
付記10記載のメモリシステムにおいて、
前記揮発性メモリから前記不揮発性メモリへのデータおよびエラー訂正コードの転送は、メモリシステムのパワーオフに基づいて、パワーオフの前に実施されることを特徴とするメモリシステム。
(付記12)
付記10記載のメモリシステムにおいて、
データおよびエラー訂正コードが前記揮発性メモリに書き込まれた後に、前記揮発性メモリに書き込まれたデータをエラー訂正コードを用いて訂正するエラー訂正回路を備え、
前記エラー訂正回路は、メモリシステムの外部から前記メモリコントローラに供給されるデータのエラー訂正コードを生成し、生成したエラー訂正コードを供給されたデータとともに前記揮発性メモリの前記揮発データ領域および前記揮発付加領域に書き込み、
前記揮発性メモリから前記不揮発性メモリへのデータおよびエラー訂正コードの転送は、メモリシステムの外部から前記揮発性メモリへのデータの書き込みに同期して実施されることを特徴とするメモリシステム。
(付記13)
付記1記載のメモリシステムにおいて、
前記エラー訂正回路は、前記メモリコントローラ内および前記揮発性メモリ内のいずれかに備えられることを特徴とするメモリシステム。
(付記14)
データを記憶する不揮発データ領域と前記不揮発データ領域に記憶されるデータのエラーを訂正するためのエラー訂正コードとを記憶する不揮発付加領域を有する不揮発性メモリと、前記不揮発データ領域および前記不揮発付加領域にそれぞれ対応する揮発データ領域および揮発付加領域を有する揮発性メモリとを備えたメモリシステムの動作方法であって、
前記不揮発データ領域および前記不揮発付加領域からデータおよびエラー訂正コードを読み出し、読み出したデータおよびエラー訂正コードを前記揮発データ領域および前記揮発付加領域にそれぞれ書き込むことを特徴とするメモリシステムの動作方法。
(付記15)
付記14記載のメモリシステムの動作方法において、
前記不揮発性メモリから前記揮発性メモリへのデータおよびエラー訂正コードの転送を、メモリシステムのパワーオンに基づいて実施することを特徴とするメモリシステムの動作方法。
(付記16)
付記14記載のメモリシステムの動作方法において、
データおよびエラー訂正コードが前記揮発性メモリに書き込まれた後に、前記揮発性メモリに書き込まれたデータをエラー訂正コードを用いて訂正することを特徴とするメモリシステムの動作方法。
(付記17)
付記16記載のメモリシステムの動作方法において、
前記揮発データ領域内のデータのエラー訂正を、そのデータの揮発データ領域からの最初の読み出し時のみ実施することを特徴とするメモリシステムの動作方法。
(付記18)
付記16記載のメモリシステムの動作方法において、
訂正されたデータおよび訂正されたデータに対応するエラー訂正コードを前記揮発性メモリに書き戻すことを特徴とするメモリシステムの動作方法。
(付記19)
付記18記載のメモリシステムの動作方法において、
メモリシステムの外部からのアクセス要求に応答して、データをエラー訂正するために、データおよびエラー訂正コードを前記揮発性メモリから読み出し、
エラー訂正されたデータおよびこのデータに対応するエラー訂正コードを前記揮発性メモリに書き戻し、
エラー訂正されたデータをメモリシステムの外部に出力することを特徴とするメモリシステムの動作方法。
(付記20)
付記14記載のメモリシステムの動作方法において、
前記揮発性メモリを読み出しアクセスするための揮発読み出しアクセス信号または前記不揮発性メモリを書き込みアクセスするための不揮発書き込みアクセス信号を生成し、
前記揮発性メモリの前記揮発データ領域および前記揮発付加領域に記憶されたデータおよびエラー訂正コードを、前記不揮発性メモリの前記不揮発データ領域および前記不揮発付加領域に転送することを特徴とするメモリシステムの動作方法。
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
本発明は、不揮発性メモリと揮発性メモリとを有するメモリシステムに適用できる。
本発明の第1の実施形態を示すブロック図である。 図1に示したメモリシステムのパワーオン時の動作を示すタイミング図である。 図2に示したFLASHからSDRAMへのデータの転送動作の詳細を示すタイミング図である。 図1に示したMPUからアクセス要求を受けたときのコントロール部CNT21の動作を示すフローチャートである。 パワーオンからMPUが動作を開始するまでの時間を示す説明図である。 本発明の第2の実施形態を示すブロック図である。 図6に示したMPUからアクセス要求を受けたときのコントロール部CNT22の動作を示すフローチャートである。 本発明の第3の実施形態を示すブロック図である。 図8に示したメモリシステムのパワーオフ時の動作を示すタイミング図である。 図8に示したSDRAMからFLASHへのデータの転送動作の詳細を示すタイミング図である。 本発明の第4の実施形態を示すブロック図である。 本発明の第5の実施形態を示すブロック図である。 本発明の第6の実施形態を示すブロック図である。 図13に示したコントロール部、エラー訂正回路およびリフレッシュ制御回路の動作を示すフローチャートである。
符号の説明
BUF‥バッファ領域;D1、D2‥データ領域;CG‥クロック生成器;CNT21、CNT1、CNT22、CNT23、CNT24、CNT3、CNT4‥コントロール部;E1、E2‥エラー訂正コード領域;ECC‥エラー訂正回路;FLG‥フラグ領域;IP1、IP2‥周辺回路;MCNT‥メモリコントローラ;MSYS‥メモリシステム;REF‥リフレッシュ制御回路;SOC‥システムオンチップ;SYS‥システム基板

Claims (10)

  1. データを記憶する不揮発データ領域と前記不揮発データ領域に記憶されるデータのエラーを訂正するためのエラー訂正コードとを記憶する不揮発付加領域を有する不揮発性メモリと、
    前記不揮発データ領域および前記不揮発付加領域にそれぞれ対応する揮発データ領域および揮発付加領域を有する揮発性メモリと、
    前記不揮発データ領域および前記不揮発付加領域からデータおよびエラー訂正コードを読み出し、読み出したデータおよびエラー訂正コードを前記揮発データ領域および前記揮発付加領域にそれぞれ書き込むメモリコントローラと、
    前記不揮発性メモリのデータ端子と前記揮発性メモリのデータ端子を互いに接続する共通のデータバス線とを備え、
    前記メモリコントローラは、前記不揮発データ領域および前記不揮発付加領域に記憶されたデータおよびエラー訂正コードを、前記データバス線を介して前記揮発データ領域および前記揮発付加領域に直接転送するために、前記不揮発性メモリを読み出しアクセスするための不揮発読み出しアクセス信号および前記揮発性メモリを書き込みアクセスするための揮発書き込みアクセス信号を互いに同期して生成することを特徴とするメモリシステム。
  2. 請求項1記載のメモリシステムにおいて、
    前記メモリコントローラは、メモリシステムのパワーオンに基づいて、前記不揮発読み出しアクセス信号または前記揮発書き込みアクセス信号の生成を開始することを特徴とするメモリシステム。
  3. 請求項1記載のメモリシステムにおいて、
    データおよびエラー訂正コードが前記揮発性メモリに書き込まれた後に、前記揮発性メモリに書き込まれたデータをエラー訂正コードを用いて訂正するエラー訂正回路を備えていることを特徴とするメモリシステム。
  4. 請求項3記載のメモリシステムにおいて、
    前記揮発データ領域内のデータの格納位置にそれぞれ対応するフラグを有し、前記エラー訂正回路により訂正動作が実施されたデータに対応するフラグがセットされるフラグ領域を備え、
    前記エラー訂正回路は、セットされていないフラグに対応するデータのみエラー訂正を実施することを特徴とするメモリシステム。
  5. 請求項3記載のメモリシステムにおいて、
    データおよびエラー訂正コードを誤り訂正するために前記揮発性メモリから読み出すとともに、前記エラー訂正回路により訂正されたデータおよび訂正されたデータに対応するエラー訂正コードを前記揮発性メモリに書き戻す揮発メモリ制御回路を備えていることを特徴とするメモリシステム。
  6. 請求項5記載のメモリシステムにおいて、
    前記揮発メモリ制御回路は、メモリシステムの外部からのアクセス要求に応答して、データおよびエラー訂正コードを前記揮発性メモリから読み出し、エラー訂正されたデータおよびこのデータに対応するエラー訂正コードを前記揮発性メモリに書き戻し、
    前記メモリコントローラは、エラー訂正されたデータをメモリシステムの外部に出力することを特徴とするメモリシステム。
  7. 請求項1記載のメモリシステムにおいて、
    リフレッシュ要求を周期的に生成するリフレッシュ制御回路を備え、
    前記揮発性メモリは、リフレッシュ動作が必要なダイナミックメモリセルを有し、
    前記揮発メモリ制御回路は、前記リフレッシュ要求に応答して、データおよびエラー訂正コードを前記揮発性メモリから読み出すことを特徴とするメモリシステム。
  8. データを記憶する不揮発データ領域と前記不揮発データ領域に記憶されるデータのエラーを訂正するためのエラー訂正コードとを記憶する不揮発付加領域を有する不揮発性メモリと、
    前記不揮発データ領域および前記不揮発付加領域にそれぞれ対応する揮発データ領域および揮発付加領域を有する揮発性メモリと、
    前記不揮発データ領域および前記不揮発付加領域からデータおよびエラー訂正コードを読み出し、読み出したデータおよびエラー訂正コードを前記揮発データ領域および前記揮発付加領域にそれぞれ書き込むメモリコントローラと、
    前記不揮発性メモリのデータ端子と前記揮発性メモリのデータ端子を互いに接続する共通のデータバス線とを備え、
    前記メモリコントローラは、前記揮発性メモリの前記揮発データ領域および前記揮発付加領域に記憶されたデータおよびエラー訂正コードを、前記データバス線を介して前記不揮発性メモリの前記不揮発データ領域および前記不揮発付加領域に直接転送するために、前記揮発性メモリを読み出しアクセスするための揮発読み出しアクセス信号および前記不揮発性メモリを書き込みアクセスするための不揮発書き込みアクセス信号を互いに同期して生成することを特徴とするメモリシステム。
  9. 請求項8記載のメモリシステムにおいて、
    データおよびエラー訂正コードが前記揮発性メモリに書き込まれた後に、前記揮発性メモリに書き込まれたデータをエラー訂正コードを用いて訂正するエラー訂正回路を備え、
    前記エラー訂正回路は、メモリシステムの外部から前記メモリコントローラに供給されるデータのエラー訂正コードを生成し、生成したエラー訂正コードを供給されたデータとともに前記揮発性メモリの前記揮発データ領域および前記揮発付加領域に書き込み、
    前記揮発性メモリから前記不揮発性メモリへのデータおよびエラー訂正コードの転送は、メモリシステムの外部から前記揮発性メモリへのデータの書き込みに同期して実施されることを特徴とするメモリシステム。
  10. データを記憶する不揮発データ領域と前記不揮発データ領域に記憶されるデータのエラーを訂正するためのエラー訂正コードとを記憶する不揮発付加領域を有する不揮発性メモリと、前記不揮発データ領域および前記不揮発付加領域にそれぞれ対応する揮発データ領域および揮発付加領域を有する揮発性メモリと、前記不揮発性メモリのデータ端子と前記揮発性メモリのデータ端子を互いに接続する共通のデータバス線とを備えたメモリシステムの動作方法であって、
    前記不揮発データ領域および前記不揮発付加領域に記憶されたデータおよびエラー訂正コードを、前記データバス線を介して前記揮発データ領域および前記揮発付加領域に直接転送するために、前記不揮発性メモリを読み出しアクセスするための不揮発読み出しアクセス信号および前記揮発性メモリを書き込みアクセスするための揮発書き込みアクセス信号を互いに同期して生成することを特徴とするメモリシステムの動作方法。
JP2005305621A 2005-10-20 2005-10-20 メモリシステムおよびメモリシステムの動作方法 Expired - Fee Related JP4528242B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005305621A JP4528242B2 (ja) 2005-10-20 2005-10-20 メモリシステムおよびメモリシステムの動作方法
US11/583,129 US7827468B2 (en) 2005-10-20 2006-10-19 Memory system including nonvolatile memory and volatile memory and operating method of same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005305621A JP4528242B2 (ja) 2005-10-20 2005-10-20 メモリシステムおよびメモリシステムの動作方法

Publications (2)

Publication Number Publication Date
JP2007115013A JP2007115013A (ja) 2007-05-10
JP4528242B2 true JP4528242B2 (ja) 2010-08-18

Family

ID=37985208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005305621A Expired - Fee Related JP4528242B2 (ja) 2005-10-20 2005-10-20 メモリシステムおよびメモリシステムの動作方法

Country Status (2)

Country Link
US (1) US7827468B2 (ja)
JP (1) JP4528242B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10249381B2 (en) 2017-03-09 2019-04-02 Toshiba Memory Corporation Semiconductor memory device and data write method

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7379368B2 (en) * 2005-02-25 2008-05-27 Frankfurt Gmbh, Llc Method and system for reducing volatile DRAM power budget
JP2008310896A (ja) * 2007-06-15 2008-12-25 Spansion Llc 不揮発性記憶装置、不揮発性記憶システムおよび不揮発性記憶装置の制御方法
US8122322B2 (en) * 2007-07-31 2012-02-21 Seagate Technology Llc System and method of storing reliability data
JP2009087509A (ja) * 2007-10-03 2009-04-23 Toshiba Corp 半導体記憶装置
US8352671B2 (en) * 2008-02-05 2013-01-08 Spansion Llc Partial allocate paging mechanism using a controller and a buffer
US8275945B2 (en) 2008-02-05 2012-09-25 Spansion Llc Mitigation of flash memory latency and bandwidth limitations via a write activity log and buffer
US20100169708A1 (en) * 2008-12-29 2010-07-01 John Rudelic Method and apparatus to profile ram memory objects for displacment with nonvolatile memory
KR101626084B1 (ko) * 2009-11-25 2016-06-01 삼성전자주식회사 멀티 칩 메모리 시스템 및 그것의 데이터 전송 방법
JP5605238B2 (ja) * 2011-01-25 2014-10-15 ソニー株式会社 メモリシステムおよびその動作方法
TW201239893A (en) * 2011-03-25 2012-10-01 Silicon Motion Inc Method for enhancing data protection performance, and associated personal computer and storage medium
US9495242B2 (en) 2014-07-30 2016-11-15 International Business Machines Corporation Adaptive error correction in a memory system
CN104217765B (zh) * 2014-09-09 2017-11-24 武汉新芯集成电路制造有限公司 闪存芯片操作时间的测量方法
KR20230003301A (ko) * 2015-02-26 2023-01-05 가부시키가이샤 한도오따이 에네루기 켄큐쇼 메모리 시스템 및 정보 처리 시스템
US10296238B2 (en) * 2015-12-18 2019-05-21 Intel Corporation Technologies for contemporaneous access of non-volatile and volatile memory in a memory device
KR20210022260A (ko) 2019-08-20 2021-03-03 삼성전자주식회사 메모리 컨트롤러의 구동방법, 메모리 컨트롤러 및 스토리지 장치
WO2022103584A1 (en) * 2020-11-10 2022-05-19 Sunrise Memory Corporation System and method for data integrity in memory systems that include quasi-volatile memory circuits

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002328836A (ja) * 2001-02-28 2002-11-15 Fujitsu Ltd メモリ装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63181194A (ja) 1987-01-23 1988-07-26 Hitachi Ltd 半導体集積回路装置
JPH05299616A (ja) * 1992-04-16 1993-11-12 Hitachi Ltd 半導体記憶装置
JPH06195258A (ja) * 1992-07-08 1994-07-15 Nec Corp 半導体記憶装置
JPH06250936A (ja) * 1993-02-26 1994-09-09 Toshiba Corp コンピュータシステム
JPH0877066A (ja) * 1994-08-31 1996-03-22 Tdk Corp フラッシュメモリコントローラ
KR100488822B1 (ko) * 1996-10-21 2005-08-05 텍사스 인스트루먼츠 인코포레이티드 에러정정메모리
JP2002251884A (ja) 2001-02-21 2002-09-06 Toshiba Corp 半導体記憶装置及びそのシステム装置
JP4059473B2 (ja) * 2001-08-09 2008-03-12 株式会社ルネサステクノロジ メモリカード及びメモリコントローラ
US7216284B2 (en) * 2002-05-15 2007-05-08 International Business Machines Corp. Content addressable memory having reduced power consumption
US7143332B1 (en) * 2003-12-16 2006-11-28 Xilinx, Inc. Methods and structures for providing programmable width and error correction in memory arrays in programmable logic devices
US7350044B2 (en) * 2004-01-30 2008-03-25 Micron Technology, Inc. Data move method and apparatus
US7263649B2 (en) * 2004-08-09 2007-08-28 Phison Electronics Corporation Converting circuit for preventing wrong error correction codes from occurring due to an error correction rule during data reading operation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002328836A (ja) * 2001-02-28 2002-11-15 Fujitsu Ltd メモリ装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10249381B2 (en) 2017-03-09 2019-04-02 Toshiba Memory Corporation Semiconductor memory device and data write method

Also Published As

Publication number Publication date
US20070091678A1 (en) 2007-04-26
JP2007115013A (ja) 2007-05-10
US7827468B2 (en) 2010-11-02

Similar Documents

Publication Publication Date Title
JP4528242B2 (ja) メモリシステムおよびメモリシステムの動作方法
US20190189194A1 (en) Semiconductor memory devices, memory systems and methods of operating a semiconductor memory device
US7675800B2 (en) Semiconductor memory, memory controller, system, and operating method of semiconductor memory
US20190146870A1 (en) Semiconductor memory devices, memory systems and methods of operating semiconductor memory devices
US10957413B2 (en) Shared error check and correct logic for multiple data banks
US7315970B2 (en) Semiconductor device to improve data retention characteristics of DRAM
KR20190137281A (ko) 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
JP5045242B2 (ja) 半導体メモリ、半導体メモリの動作方法およびシステム
US10803919B2 (en) Memory controller for controlling refresh operation and memory system including the same
US8358554B2 (en) Semiconductor memory device performing partial self refresh and memory system including same
TWI588826B (zh) 記憶體裝置及包含其之記憶體系統
US7911874B2 (en) Semiconductor integrated circuit
JP2010170596A (ja) 半導体記憶装置
US9472297B2 (en) Semiconductor memory device
US10733113B2 (en) Memory system having nonvolatile memory and volatile memory
CN104810043A (zh) 突发长度控制电路
EP3971901A1 (en) Dram with combined scrubbing with combined refresh and scrubing operation
CN113160868A (zh) 半导体存储器设备和操作半导体存储器设备的方法
US8069303B2 (en) Method and apparatus for controlling memory precharge operation
US7000846B2 (en) Semiconductor memory device
US9514800B1 (en) DRAM and self-refresh method
US10325643B2 (en) Method of refreshing memory device and memory system based on storage capacity
US9502095B1 (en) Memory system
JP3705276B2 (ja) 半導体メモリ装置におけるリフレッシュ制御および内部電圧の生成
JP5200914B2 (ja) 半導体メモリおよびシステム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090421

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090619

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100601

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100604

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130611

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140611

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees