説明

データ処理装置および制御装置並びにデータ記憶装置

【課題】消費電力をより低減させる。
【解決手段】書き込みデータDが高書き換えデータであるときにはDRAMに書き込みデータDが記憶されるようDRAMを制御し(ステップS100,S110)、書き込みデータDが高書き換えデータでないときにはRRAM書き込み要求信号と書き込みデータDとをSSDに送信し(ステップS100,S120)、RRAM書き込み要求信号が入力されたSSDのメモリコントローラは書き込みデータDがRRAMまたはSRAMに記憶させられるようRRAM,SRAMを制御する。こうすれば、DRAMに記憶されているデータが頻繁に書き換えられることになり、DRAMのリフレッシュ動作の回数を低減して、消費電力の低減を図ることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理装置および制御装置並びにデータ記憶装置に関する。
【背景技術】
【0002】
従来、この種のデータ処理装置としては、キャッシュメモリとして不揮発性のランダムアクセスメモリであるFeRAM(Ferroelectric Random Access Memory、強誘電体ランダムメモリ)を有するHDDにデータを記憶させるものが提案されている(例えば、非特許文献1参照)。この装置では、電源が遮断されてもキャッシュメモリに記憶されているデータが保持されるから、キャッシュメモリのデータをHDDに定期的に退避させるフラッシュキャッシュコマンドを無視することができ、キャッシュメモリに記憶させるデータを大きくしてキャッシュヒット率の向上を図ることができるとしている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Daisaburo Takashima et al,「A 128Mb ChainFeRAMTM and System Designs for HDD Application and Enhanced HDD Performance」,IEEE Asian Solid-State Circuits Conference, November 16-18, 2009,Taipei,Taiwan
【発明の概要】
【発明が解決しようとする課題】
【0004】
CPU(Central Processing Unit)で演算処理したデータを主記憶装置としてのDRAM(Dynamic Random Access Memory,ダイナミックランダムアクセスメモリ)に記憶させるデータ処理装置では、DRAMに記憶されているデータを保持するために定期的にDRAMからデータを読み出して読み出したデータをDRAMに再書き込みするリフレッシュ動作を行なう必要があるが、こうしたリフレッシュ動作を実行する回数が多いほど装置全体の消費電力が増大するため、リフレッシュ動作の回数を低減して消費電力の低減を図ることが望まれている。消費電力の低減を図る手法として、主記憶装置としてDRAMに代えてリフレッシュ動作が不要な不揮発性RAM(Random Access Memory,ランダムアクセスメモリ)を用いることも考えるが、一般に、不揮発性RAMは書き換え回数が多くなるほど劣化が進むため、頻繁にデータが書き換えられると記憶されているデータに生じるエラーが増大してしまう。
【0005】
また、こうしたデータ処理装置では、システムを休止する際にCPUに内蔵されているレジスタやキャッシュメモリとしてのSRAM(Static Random Access Memory,スタティックランダムアクセスメモリ)に記憶されているデータをDRAMに退避させた後に外部からCPUに供給されている電力を遮断して消費電力を低減する制御が行なわれている。しかしながら、この場合、DRAMに記憶させているデータを保持するためにシステムを休止する際にもDRAMへの電力の供給を継続する必要があり、消費電力を十分に低減することができなくなってしまう。
【0006】
さらに、HDDなどの不揮発性の記憶装置とキャッシュメモリとしての不揮発性RAMとから構成される記憶装置では、不揮発性RAMの書き換え回数が多くなるほど不揮発性RAMを構成するメモリセルの劣化が進みデータエラーが起こる確率が高くなると考えられることから、不揮発性RAMのエラーを抑制することが重要な課題として認識されている。不揮発性RAMのエラーを抑制する手法として、1メモリセルあたりの書き換え回数を平滑化するウェアレベリングを行なう手法が考えられるが、不揮発性RAMのようにランダムアクセスが可能なメモリでは比較的頻繁に小さなサイズのデータを読み書きすることが想定され、書き込みデータのサイズが小さくなるとウェアレベリングを行なう際に論理アドレスを物理アドレスに変換するためのアドレス変換テーブルを記憶させるために必要な記憶領域のサイズが大きくなってしまう。また、不揮発性RAMのエラーを抑制する別の手法として、データの誤り訂正(Error Correcting Code,ECC)を行なうことが考えられるが、比較的小さなサイズのデータを頻繁に読み書きする場合、ECCを行なうとデータを符号化したりデータを復号するための処理時間が増大してしまう。こうしたアドレス変換テーブル用の記憶領域のサイズの増大やECCの処理時間の増大は、高速化の観点から好ましくないため、抑制されることが望まれている。
【0007】
そして、不揮発性メモリに記憶されているプログラムを読み出して読み出したプログラムに応じてデータ処理を行なうデータ処理装置では、不揮発性メモリとして比較的高速にデータを読み出し可能なNOR型のフラッシュメモリを用いることによりプログラムの読み出し速度の向上が図られているが、更なる読み出し速度の向上が望まれている。
【0008】
本発明のデータ処理装置は、消費電力をより低減させることを主目的とする。また、本発明の制御装置並びにデータ記憶装置では、記憶領域の増大を抑制することを主目的とする。さらに、本発明の制御装置並びにデータ記憶装置では、データをより高速に読み書きすることを主目的とする。そして、本発明のデータ処理装置は、データの読み出し速度の向上を図ることを主目的とする。
【課題を解決するための手段】
【0009】
本発明のデータ処理装置および制御装置並びにデータ記憶装置は、上述の主目的を達成するために以下の手段を採った。
【0010】
本発明の第1のデータ処理装置は、
データを処理するデータ処理装置であって、
ダイナミックランダムアクセスメモリとして構成された第1メモリと、
不揮発性ランダムアクセスメモリとして構成されたデータを記憶する第2メモリと、
書き込むべき書き込みデータが書き換え回数が多い高書き換えデータであるときには前記書き込みデータが前記第1メモリに記憶されるよう該第1メモリを制御し、前記書き込みデータが前記高書き換えデータでないときには前記書き込みデータが前記第2メモリに記憶されるよう前記第2メモリを制御する制御処理手段と、
を備えることを要旨とする。
【0011】
この本発明の第1のデータ処理装置では、書き込むべき書き込みデータが書き換え回数が多い高書き換えデータであるときには書き込みデータが第1メモリに記憶されるよう第1メモリを制御する。第1メモリはダイナミックランダムアクセスメモリとして構成されているため定期的にリフレッシュ動作が必要であるが、書き込みデータが高書き換えデータであるときには書き込みデータが第1メモリに記憶されるよう第1メモリを制御することにより、書き込みデータが書き換え回数が多いデータであるか否かに拘わらず書き込みデータを第1メモリに記憶させるものに比して第1メモリのデータをより頻繁に書き換えることができ、第1メモリのリフレッシュ動作の回数を減少させることができ、消費電力の低減を図ることができる。また、書き込みデータが高書き換えデータでないときには書き込みデータが第2メモリに記憶されるよう第2メモリを制御する。第2メモリは不揮発性ランダムアクセスメモリとして構成されているため書き換え回数が多くなるほど劣化が進むと考えられるが、書き込みデータが高書き換えデータでないときには書き込みデータが第2メモリに記憶されるよう第2メモリを制御することにより、第2メモリを書き換える回数が低減され、第2メモリの劣化を抑制することができる。この結果、第2メモリの劣化を抑制しながら消費電力の低減を図ることができる。ここで、「不揮発性ランダムアクセスメモリ」には、抵抗変化ランダムアクセスメモリや強誘電体ランダムアクセスメモリ,磁気抵抗ランダムアクセスメモリ,相変化ランダムアクセスメモリなど含まれる。
【0012】
こうした本発明の第1のデータ処理装置において、前記制御処理手段は、前記書き込みデータが前記高書き換えデータであるときには前記書き込みデータが前記第1メモリに記憶されるよう前記第1メモリを制御し、前記書き込みデータが前記高書き換えデータでないときには前記第2メモリへのデータの書き込みを要求する第2メモリ書き込み要求信号と前記書き込みデータとを出力する前記第1制御手段と、前記第2メモリ書き込み要求信号が入力されたときには、前記入力された書き込みデータが前記第2メモリに書き込まれるよう前記第2メモリを制御する第2制御手段と、を有する手段であるものとすることもできる。
【0013】
また、第1制御手段と第2制御手段とを備える態様の本発明の第1のデータ処理装置において、前記制御処理手段の第1制御手段は、前記書き込みデータが前記高書き換えデータでないときには前記第2メモリ書き込み要求信号および前記書き込みデータと共に論理アドレス情報を出力する手段であり、前記制御処理手段の第2制御手段は、揮発性ランダムアクセスメモリとして構成された揮発性記憶部と、前記第2メモリ書き込み要求信号が入力されたとき、前記第2メモリのデータを記憶可能な記憶領域のうち書き換え回数が比較的少ない領域のデータが書き換えられるよう前記入力された論理アドレス情報を前記第2メモリの物理アドレス情報に変換する際の前記論理アドレス情報と前記物理アドレス情報との関係であるアドレス変換テーブルを生成して記憶する変換テーブル記憶部と、前記第2メモリ書き込み要求信号が入力されたとき、前記入力された書き込みデータが所定サイズ以上のデータであるときには前記記憶されているアドレス変換テーブルを読み出して該読み出したアドレス変換テーブルを用いて前記入力された論理アドレス情報を前記物理アドレス情報に変換すると共に前記変換後の物理アドレス情報に対応する前記第2メモリの領域に前記書き込みデータが記憶されるよう前記第2メモリを制御し、前記入力された書き込みデータが前記所定サイズ未満のデータであるときには前記第2メモリ書き込み要求信号が入力されたときであっても前記揮発性記憶部の前記入力された論理アドレス情報に対応する領域に前記書き込みデータを記憶されるよう前記揮発性記憶部を制御する記憶制御部と、を有する手段であるものとすることもできる。一般に、書き込みデータのサイズが小さいほどアドレス変換テーブルを記憶させるために必要な記憶領域のサイズが大きくなる傾向にある。入力された書き込みデータが所定サイズ以上のデータであるときには記憶されているアドレス変換テーブルを読み出して該読み出したアドレス変換テーブルを用いて入力された論理アドレス情報を物理アドレス情報に変換すると共に変換後の物理アドレス情報に対応する第2メモリの領域に書き込みデータを第2メモリに記憶させ、入力された書き込みデータが所定サイズ未満のデータであるときには揮発性記憶部の入力された論理アドレス情報に対応する領域に書き込みデータを記憶させることにより、入力された書き込みデータのサイズに拘わらず全ての書き込みデータに対してアドレス変換テーブルを用いて論理アドレス情報を物理アドレス情報に変換するものに比して、アドレス変換テーブルを記憶させる領域を小さくすることができる。
【0014】
第1制御手段と第2制御手段とを備え、入力された書き込みデータが所定サイズ以上のデータであるときには記憶されているアドレス変換テーブルを読み出して読み出したアドレス変換テーブルを用いて入力された論理アドレス情報を物理アドレス情報に変換する態様の本発明の第1のデータ処理装置において、前記制御処理手段の第2制御手段は、前記書き込みデータとして前記所定サイズ未満のデータが入力されてからの経過時間を計測する計時部を有し、前記記憶制御部は、前記経過時間が所定時間を経過するまでに、前記第1制御手段から逐次入力されるデータのサイズが前記所定サイズ以上であるときには前記揮発性記憶部に記憶されているデータを読み出して該読み出したデータが前記第2メモリに記憶されるよう前記第2メモリを制御する制御部であるものとすることもできる。データ処理装置へ供給される電力が予期せずに遮断されると揮発性記憶部に記憶されているデータが消失してしまうが、経過時間が所定時間を経過するまでに、第1制御手段から逐次入力されるデータのサイズが所定サイズ以上であるときには揮発性記憶部に記憶されているデータを読み出して読み出したデータが第2メモリに記憶されるよう第2メモリを制御することにより、揮発性記憶部に記憶されているデータを第2メモリに退避させることができ、データ処理装置へ供給される電力の予期しない遮断に対してより適正に対処することができる。ここで、「揮発性ランダムアクセスメモリ」には、ダイナミックランダムアクセスメモリやスタティックランダムアクセスメモリなどが含まれる。
【0015】
さらに、第1制御手段と第2制御手段とを備える態様の本発明の第1のデータ処理装置において、不揮発性の記憶装置として構成された不揮発性記憶装置と、前記不揮発性ランダムアクセスメモリとして構成された第4メモリと、を備え、前記制御処理手段の第1制御手段は、前記不揮発性記憶装置へのデータの書き込みの要求がながされたときには記憶装置書き込み要求信号と前記書き込みデータとを前記第2制御手段に出力し、前記不揮発性記憶装置からのデータの読み出しが要求されたときには記憶装置読み出し要求信号を前記第2制御手段に出力し、前記第2メモリからのデータの読み出しが要求されたときには第2メモリ読み出し要求信号を前記第2制御手段に出力する手段であり、前記制御処理手段の第2制御手段は、前記記憶装置書き込み要求信号が入力されたとき、前記入力された書き込みデータが読み書きの頻度が高い高頻度アクセスデータでないときには前記入力された書き込みデータが前記記憶装置に記憶されるよう前記不揮発性記憶装置を制御し、前記入力された書き込みデータが前記高頻度アクセスデータであるときには前記入力された書き込みデータを第1のエラー訂正符号に符号化すると共に該符号化したデータが前記第4メモリに記憶されるよう前記第4メモリを制御する第1符号化処理部と、前記第2メモリ書き込み要求信号が入力されたときには、前記入力された書き込みデータを前記第1のエラー訂正符号より訂正可能なビットエラー数が少ない第2のエラー訂正符号に符号化すると共に該符号化したデータが前記第2メモリに記憶されるよう前記第2メモリを制御する第2符号化処理部と、前記記憶装置読み出し要求信号が入力されたとき、出力すべき出力データが前記高頻度アクセスデータでないときに前記不揮発性記憶装置からデータが読み出されるよう前記不揮発性記憶装置を制御し、前記出力データが前記高頻度アクセスデータであるときには前記第4メモリからデータが読み出されるよう前記第4メモリを制御して該読み出したデータに対して前記第1のエラー訂正符号を用いてエラー訂正した後に復号して前記第1制御手段に出力する第1復号処理部と、前記第2メモリ読み出し要求信号が入力されたときには、前記第2メモリからデータが読み出されるよう前記第2メモリを制御して該読み出したデータに対して前記第2のエラー訂正符号を用いてエラー訂正した後に復号して前記第1制御手段に出力する第2復号処理部と、を有する手段であるものとすることもできる。一般に、エラー訂正符号によるデータの符号化やエラー訂正、データの復号に要する処理時間は、エラー訂正符号により訂正可能なビットエラー数が少ないほど短くなる傾向にある。よって、記憶装置書き込み要求信号が入力されたときに入力された書き込みデータが高頻度アクセスデータであるときには入力された書き込みデータを第1のエラー訂正符号に符号化すると共に符号化したデータが第4メモリに記憶されるよう前記第4メモリを制御し、第2メモリ書き込み要求信号が入力されたときには入力された書き込みデータを第1のエラー訂正符号より訂正可能なビットエラー数が少ない第2のエラー訂正符号に符号化すると共に符号化したデータが第2メモリに記憶されるよう第2メモリを制御することにより、第2メモリ書き込み要求信号が入力されたときにはより高速に書き込みデータを符号化して第2メモリに記憶させることができる。また、記憶装置読み出し要求信号が入力されたときに出力データが高頻度アクセスデータであるときには第4メモリからデータが読み出されるよう第4メモリを制御して読み出したデータに対して第1のエラー訂正符号を用いてエラー訂正した後に復号して第1制御手段に出力し、第2メモリ読み出し要求信号が入力されたときには第2メモリからデータが読み出されるよう第2メモリを制御して読み出したデータに対して第2のエラー訂正符号を用いてエラー訂正した後に復号して第1制御手段に出力することにより、第2メモリ読み出し要求信号が入力されたときにはより高速に第2メモリから読み出したデータに対してエラー訂正すると共に復号して第1制御手段に出力することができる。これにより、処理の高速化を図ることができる。
【0016】
第1制御手段と第2制御手段と第1符号化処理部と第2符号化処理部とを備える態様の本発明の第1のデータ処理装置において、前記第1のエラー訂正符号は前記書き込みデータにパリティビットを付加してなるコードワードが第1のサイズのBCH符号であり、前記第2のエラー訂正符号は前記コードワードが前記第1のサイズより小さい第2のサイズのBCH符号であるものとすることもできる。また、この場合において、前記第2メモリと前記第4メモリは、同一の半導体チップに搭載されてなるものとすることもできるし、前記第1メモリと前記制御処理手段とは、第1の半導体チップに搭載されてなり、前記第2メモリおよび前記第4メモリは、前記第1の半導体チップと異なる第2の半導体チップに搭載されてなり、前記不揮発性記憶装置は、前記第1の半導体チップおよび前記第2の半導体チップと異なる第3の半導体チップに搭載されたフラッシュメモリであり、前記第1の半導体チップおよび前記第2の半導体チップおよび前記第3の半導体チップの3つのチップが積層されてなり、前記3つのチップ間は各チップに形成された複数の貫通孔に充填された導電性の金属電極により電気的に接続されてなるものとしたり、前記不揮発性の装置は、ハードディスクドライブであるものとすることもできる。
【0017】
そして、こうした第1制御手段と第2制御手段とを備える態様の本発明の第1のデータ処理装置において、前記制御処理手段の第1制御手段は、前記データ処理装置を休止させる休止要求がなされたときには、前記第1メモリに記憶されているデータを読み出して前記第2メモリ書き込み要求信号を出力すると共に前記読み出したデータを前記書き込みデータとして前記第2制御手段に出力し、その後、外部電源から前記第1メモリおよび前記第2メモリおよび前記第2制御手段への電力の供給を遮断する手段であるものとすることもできる。こうすれば、休止要求がなされたときに第1メモリや第2メモリ,第2制御手段への電力の供給を継続するものに比して、消費電力をより低減することができる。この場合において、揮発性ランダムアクセスメモリとして構成された第3メモリを備え、前記制御処理手段の第1制御手段は、前記データ処理装置を休止させる休止要求がなされたときには、前記第1メモリに記憶されているデータと前記第3メモリに記憶されているデータとを読み出して前記第2メモリ書き込み要求信号を出力すると共に前記読み出したデータを前記書き込みデータとして前記第2制御手段に出力し、その後、前記外部電源から前記第1メモリおよび前記第2メモリおよび前記第3メモリおよび前記第2制御手段への電力の供給を遮断する手段であるものとすることもできる。こうすれば、休止要求がなされたときに第1メモリや第2メモリ,第2制御手段,第3メモリへの電力の供給を継続するものに比して、消費電力をより低減することができる。ここで、「揮発性ランダムアクセスメモリ」には、ダイナミックランダムアクセスメモリまたはスタティックランダムアクセスメモリなどが含まれる。
【0018】
また、本発明の第1のデータ処理装置において、前記制御処理手段は、前記データ処理装置を休止させる休止要求がなされたときには、前記第1メモリに記憶されているデータを読み出して該読み出したデータが前記第2メモリに記憶されるよう前記第1メモリと前記第2メモリとを制御し、前記第2メモリでのデータの記憶が終了した後に外部電源から前記第1メモリおよび前記第2メモリへの電力の供給を遮断する手段であるものとすることもできる。こうすれば、休止要求がなされたときに第1メモリや第2メモリへの電力の供給を継続するものに比して、消費電力をより低減することができる。この場合において、揮発性ランダムアクセスメモリとして構成された第3メモリを備え、前記制御処理手段は、前記データ処理装置を休止させる休止要求がなされたときには、前記第1メモリに記憶されているデータと前記第3メモリに記憶されているデータとを読み出して該読み出したデータが前記第2メモリに記憶されるよう前記第1メモリと前記第2メモリと前記第3メモリとを制御し、前記第3メモリにおけるデータの記憶が終了した後に前記外部電源から前記第1メモリおよび前記第2メモリおよび前記第3メモリへの電力の供給を遮断する手段であるものとすることもできる。こうすれば、休止要求がなされたときに第1メモリや第2メモリ,第3メモリへの電力の供給を継続するものに比して、消費電力をより低減することができる。ここで、「揮発性ランダムアクセスメモリ」には、ダイナミックランダムアクセスメモリやスタティックランダムアクセスメモリなどが含まれる。
【0019】
本発明の第2のデータ処理装置は、
データを処理するデータ処理装置であって、
揮発性ランダムアクセスメモリとして構成された第1メモリと、
不揮発性ランダムアクセスメモリとして構成されたデータを記憶する第2メモリと、
前記データ処理装置を休止させる休止要求がなされたときには、前記第1メモリに記憶されているデータを読み出して該読み出したデータが前記第2メモリに記憶されるよう前記第1メモリと前記第2メモリとを制御し、前記第2メモリでのデータの記憶が終了した後に外部電源から前記第1メモリおよび前記第2メモリへの電力の供給を遮断する制御処理手段と、
を備えることを要旨とする。
【0020】
この本発明の第2のデータ処理装置では、データ処理装置を休止させる休止要求がなされたときには、第1メモリに記憶されているデータを読み出して読み出したデータが第2メモリに記憶されるよう第1メモリと第2メモリとを制御し、第2メモリでのデータの記憶が終了した後に外部電源から第1メモリおよび第2メモリへの電力の供給を遮断する。これにより、休止要求がなされたときに第1メモリや第2メモリへの電力の供給を継続するものに比して、消費電力をより低減することができる。この場合において、前記第2メモリへのデータの書き込みを要求する第2メモリ書き込み要求信号が入力されたときには、入力されたデータが前記第2メモリに記憶されるよう前記第2メモリを制御した後に第2メモリ書き込み終了信号を出力する第2メモリ制御手段と、前記休止要求がなされたときには前記第1メモリに記憶されているデータを読み出して該読み出したデータと前記第2メモリ書き込み要求信号とを前記第2メモリ制御手段に出力し、前記第2メモリ書き込み終了信号が入力されたときには外部電源から前記第1メモリおよび前記第2メモリおよび前記第2メモリ制御手段への電力の供給を遮断する第1メモリ制御手段と、を有する手段であるものとすることもできる。休止要求がなされたときには第1メモリに記憶されているデータを読み出され、読み出されたデータと第2メモリ書き込み要求信号とが第2メモリ制御手段に出力され、第2メモリへのデータの書き込みを要求する第2メモリ書き込み要求信号が入力されたときには、入力されたデータが第2メモリに記憶されるよう第2メモリが制御された後に第2メモリ書き込み終了信号が出力され、第2メモリ書き込み終了信号が入力されたときには外部電源から第1メモリおよび第2メモリおよび第2メモリ制御手段への電力の供給が遮断される。こうすれば、休止要求がなされたときに、第1メモリや第2メモリ,第2メモリ制御手段への電力の供給を遮断することができ、消費電力の低減を図ることができる。ここで、「揮発性ランダムアクセスメモリ」にはダイナミックランダムアクセスメモリやスタティックランダムアクセスメモリなどが含まれ、「不揮発性ランダムアクセスメモリ」には抵抗変化ランダムアクセスメモリや強誘電体ランダムアクセスメモリ,磁気抵抗ランダムアクセスメモリ,相変化ランダムアクセスメモリなどが含まれる。
【0021】
本発明の第1の制御装置は、
ホスト装置から逐次入力された書き込みデータが不揮発性ランダムアクセスメモリとして構成された不揮発性メモリの記憶領域のうち前記ホスト装置から入力された論理アドレス情報に対応する領域に記憶されるよう前記不揮発性ランダムアクセスメモリを制御する制御装置であって、
揮発性ランダムアクセスメモリとして構成された揮発性記憶部と、
前記ホスト装置から前記不揮発性メモリへのデータの書き込みを要求する書き込み要求信号が入力されたとき、前記不揮発性メモリのデータを記憶可能な記憶領域のうち書き換え回数が比較的少ない領域のデータが書き換えられるよう
前記入力された論理アドレス情報を前記不揮発性メモリの物理アドレス情報に変換する際の前記論理アドレス情報と前記物理アドレス情報との関係であるアドレス変換テーブルを生成して記憶する変換テーブル記憶部と、
前記書き込み要求信号が入力されたとき、前記入力された書き込みデータが所定サイズ以上のデータであるときには前記記憶されているアドレス変換テーブルを用いて前記入力された論理アドレス情報を前記物理アドレス情報に変換すると共に前記変換後の物理アドレス情報に対応する前記不揮発性メモリの領域に前記書き込みデータが記憶されるよう前記不揮発性メモリを制御し、前記入力された書き込みデータが前記所定サイズ未満のデータであるときには前記揮発性記憶部の前記入力された論理アドレス情報に対応する領域に前記書き込みデータを記憶されるよう前記揮発性記憶部を制御する記憶制御部と、
を備えることを要旨とする。
【0022】
この本発明の第1の制御装置では、書き込み要求信号が入力されたとき、入力された書き込みデータが所定サイズ以上のデータであるときには記憶されているアドレス変換テーブルを用いて入力された論理アドレス情報を物理アドレス情報に変換すると共に変換後の物理アドレス情報に対応する不揮発性メモリの領域に書き込みデータが記憶されるよう不揮発性メモリを制御し、入力された書き込みデータが高頻度アクセスデータであるときには揮発性記憶部の入力された論理アドレス情報に対応する領域に書き込みデータを記憶されるよう揮発性記憶部を制御する。これにより、入力された書き込みデータのサイズに拘わらず全ての書き込みデータに対してアドレス変換テーブルを用いて論理アドレス情報を物理アドレス情報に変換するものに比して、アドレス変換テーブルを記憶させる領域を小さくすることができ、記憶領域の増加を抑制することができる。ここで、「揮発性ランダムアクセスメモリ」には、スタティックランダムアクセスメモリが含まれる。
【0023】
こうした本発明の第1の制御装置において、前記書き込みデータとして前記所定サイズ未満のデータが入力されてからの経過時間を計測する計時部を有し、前記記憶制御部は、前記経過時間が所定時間を経過するまでに前記逐次入力された書き込みデータのサイズがいずれも前記所定サイズ以上であるときには前記揮発性記憶部に記憶されているデータを読み出して該読み出したデータが前記不揮発性メモリに記憶されるよう前記不揮発性メモリを制御する制御部であるものとすることもできる。制御装置へ供給される電力が予期せずに遮断されると揮発性記憶部に記憶されているデータが消失してしまうが、経過時間が所定時間を経過するまでにホスト装置から逐次入力されたデータのサイズが所定サイズ以上であるときには揮発性記憶部に記憶されているデータを読み出して読み出したデータが第2メモリに記憶されるよう第2メモリを制御することにより、揮発性記憶部に記憶されているデータを第2メモリに退避させることができ、制御装置へ供給される電力の予期しない遮断に対してより適正に対処することができる。
【0024】
本発明の第1のデータ記憶装置は、
データを記憶するデータ記憶装置であって、
上述したいずれかの態様の本発明の第1の制御装置、すなわち、基本的には、ホスト装置から入力された書き込みデータが不揮発性ランダムアクセスメモリとして構成された不揮発性メモリの記憶領域のうち前記ホスト装置から入力された論理アドレス情報に対応する領域に記憶されるよう前記不揮発性ランダムアクセスメモリを制御する制御装置であって、揮発性ランダムアクセスメモリとして構成された揮発性記憶部と、前記ホスト装置から前記不揮発性メモリへのデータの書き込みを要求する書き込み要求信号が入力されたとき、前記不揮発性メモリのデータを記憶可能な記憶領域のうち書き換え回数が比較的少ない領域のデータが書き換えられるよう前記入力された論理アドレス情報を前記不揮発性メモリの物理アドレス情報に変換する際の前記論理アドレス情報と前記物理アドレス情報との関係であるアドレス変換テーブルを生成して記憶する変換テーブル記憶部と、前記書き込み要求信号が入力されたとき、前記入力された書き込みデータが所定サイズ以上のデータであるときには前記記憶されているアドレス変換テーブルを用いて前記入力された論理アドレス情報を前記物理アドレス情報に変換すると共に前記変換後の物理アドレス情報に対応する前記不揮発性メモリの領域に前記書き込みデータが記憶されるよう前記不揮発性メモリを制御し、前記入力された書き込みデータが前記所定サイズ未満のデータであるときには前記揮発性記憶部の前記入力された論理アドレス情報に対応する領域に前記書き込みデータを記憶されるよう前記揮発性記憶部を制御する記憶制御部と、を備える制御装置と、
不揮発性の記憶装置である第1の記憶装置と、
前記不揮発性メモリとしての第2の記憶装置と、
を備えることを要旨とする。
【0025】
この本発明の第1のデータ記憶装置は、上述したいずれかの態様の本発明の第1の制御装置を備えているから、本発明の第1の制御装置が奏する効果、例えば、記憶領域の増加を抑制できる効果などと同様の効果を奏することができる。
【0026】
こうした本発明の第1のデータ記憶装置において、前記第1の記憶装置は、フラッシュメモリまたはハードディスクドライブであり、前記第2の記憶装置は、抵抗変化ランダムアクセスメモリおよび強誘電体ランダムアクセスメモリおよび磁気抵抗ランダムアクセスメモリおよび相変化ランダムアクセスメモリのいずれかであるものとすることもできる。
【0027】
本発明の第2のデータ記憶装置は、
ホスト装置と不揮発性の記憶装置として構成された不揮発性記憶装置と不揮発性ランダムアクセスメモリとして構成された第1不揮発性メモリと前記不揮発性ランダムアクセスメモリとして構成された第2不揮発性メモリとの間のデータのやりとりを制御する制御装置であって、
前記ホスト装置から前記不揮発性記憶装置へのデータの書き込みを要求する記憶装置書き込み要求信号が入力されたとき、前記ホスト装置から入力された書き込みデータが読み書きの頻度が高い高頻度アクセスデータでないときには前記入力された書き込みデータが前記不揮発性記憶装置に記憶されるよう前記不揮発性記憶装置を制御し、前記入力された書き込みデータが前記高頻度アクセスデータであるときには前記入力された書き込みデータを第1のエラー訂正符号に符号化すると共に該符号化したデータが前記第1不揮発性メモリに記憶されるよう前記第1不揮発性メモリを制御する第1符号化処理部と、
前記ホスト装置から前記第2不揮発性メモリへのデータの書き込みを要求するメモリ書き込み要求信号が入力されたときには、前記入力された書き込みデータを前記第1のエラー訂正符号より訂正可能なビットエラー数が少ない第2のエラー訂正符号に符号化すると共に該符号化したデータが前記第2不揮発性メモリに記憶されるよう前記第2不揮発性メモリを制御する第2符号化処理部と、
前記ホスト装置から前記不揮発性記憶装置からのデータの読み出しを要求する記憶装置読み出し要求信号が入力されたとき、出力すべき出力データが前記高頻度アクセスデータでないときに前記不揮発性記憶装置からデータが読み出されるよう前記不揮発性記憶装置を制御し、前記出力データが前記高頻度アクセスデータであるときには前記第1不揮発性メモリからデータが読み出されるよう前記第1不揮発性メモリを制御して該読み出したデータに対して前記第1のエラー訂正符号を用いてエラー訂正した後に復号して前記ホスト装置に出力する第1復号処理部と、
前記ホスト装置から前記第2不揮発性メモリからのデータの読み出しを要求するメモリ読み出し要求信号が入力されたときには、前記第2不揮発性メモリからデータが読み出されるよう前記第2不揮発性メモリを制御して該読み出したデータに対して前記第2のエラー訂正符号を用いてエラー訂正した後に復号して前記ホスト装置に出力する第2復号処理部と、
を備えることを要旨とする。
【0028】
この本発明の第2の制御装置は、ホスト装置から不揮発性記憶装置へのデータの書き込みを要求する記憶装置書き込み要求信号が入力されたとき、ホスト装置から入力された書き込みデータが読み書きの頻度が高い高頻度アクセスデータでないときには入力された書き込みデータが不揮発性記憶装置に記憶されるよう不揮発性記憶装置を制御し、入力された書き込みデータが高頻度アクセスデータであるときには入力された書き込みデータを第1のエラー訂正符号に符号化すると共に符号化したデータが第1不揮発性メモリに記憶されるよう第1不揮発性メモリを制御し、ホスト装置から第2不揮発性メモリへのデータの書き込みを要求するメモリ書き込み要求信号が入力されたときには、入力された書き込みデータを第1のエラー訂正符号より訂正可能なビットエラー数が少ない第2のエラー訂正符号に符号化すると共に符号化したデータが第2不揮発性メモリに記憶されるよう第2不揮発性メモリを制御する。一般に、エラー訂正符号によるデータの符号化やエラー訂正、データの復号に要する処理時間は、エラー訂正符号により訂正可能なビットエラー数が少ないほど短くなる傾向にあるから、メモリ書き込み要求信号が入力されたときには入力された書き込みデータを第1のエラー訂正符号より訂正可能なビットエラー数が少ない第2のエラー訂正符号に符号化すると共に符号化したデータが第2不揮発性メモリに記憶されるよう第2不揮発性メモリを制御することにより、メモリ書き込み要求信号が入力されたときにはより高速に書き込みデータを符号化することができる。そして、ホスト装置から不揮発性記憶装置からのデータの読み出しを要求する記憶装置読み出し要求信号が入力されたとき、出力すべき出力データが高頻度アクセスデータでないときに不揮発性記憶装置からデータが読み出されるよう不揮発性記憶装置を制御し、出力データが高頻度アクセスデータであるときには第1不揮発性メモリからデータが読み出されるよう第1不揮発性メモリを制御して読み出したデータに対して第1のエラー訂正符号を用いてエラー訂正した後に復号してホスト装置に出力し、ホスト装置から第2不揮発性メモリからのデータの読み出しを要求するメモリ読み出し要求信号が入力されたときには、第2不揮発性メモリからデータが読み出されるよう第2不揮発性メモリを制御して読み出したデータに対して第2のエラー訂正符号を用いてエラー訂正した後に復号してホスト装置に出力する。これにより、第2メモリ読み出し要求信号が入力されたときにはより高速に第2メモリから読み出したデータに対してエラー訂正すると共に復号して第1制御手段に出力することができる。この結果、処理の高速化を図ることができる。
【0029】
こうした本発明の第2の制御装置において、前記第1のエラー訂正符号は前記書き込みデータにパリティビットを付加してなるコードワードが第1のサイズのBCH符号であり、前記第2のエラー訂正符号は前記コードワードが前記第1のサイズより小さい第2のサイズのBCH符号であるものとすることもできる。
【0030】
本発明の第2のデータ記憶装置は、
データを記憶するデータ記憶装置であって、
上述したいずれかの態様の本発明の制御装置、すなわち、基本的には、ホスト装置と不揮発性の記憶装置として構成された不揮発性記憶装置と不揮発性ランダムアクセスメモリとして構成された第1不揮発性メモリと前記不揮発性ランダムアクセスメモリとして構成された第2不揮発性メモリとの間のデータのやりとりを制御する制御装置であって、前記ホスト装置から前記不揮発性記憶装置へのデータの書き込みを要求する記憶装置書き込み要求信号が入力されたとき、前記ホスト装置から入力された書き込みデータが読み書きの頻度が高い高頻度アクセスデータでないときには前記入力された書き込みデータが前記不揮発性記憶装置に記憶されるよう前記不揮発性記憶装置を制御し、前記入力された書き込みデータが前記高頻度アクセスデータであるときには前記入力された書き込みデータを第1のエラー訂正符号に符号化すると共に該符号化したデータが前記第1不揮発性メモリに記憶されるよう前記第1不揮発性メモリを制御する第1符号化処理部と、前記ホスト装置から前記第2不揮発性メモリへのデータの書き込みを要求するメモリ書き込み要求信号が入力されたときには、前記入力された書き込みデータを前記第1のエラー訂正符号より訂正可能なビットエラー数が少ない第2のエラー訂正符号に符号化すると共に該符号化したデータが前記第2不揮発性メモリに記憶されるよう前記第2不揮発性メモリを制御する第2符号化処理部と、前記ホスト装置から前記不揮発性記憶装置からのデータの読み出しを要求する記憶装置読み出し要求信号が入力されたとき、出力すべき出力データが前記高頻度アクセスデータでないときに前記不揮発性記憶装置からデータが読み出されるよう前記不揮発性記憶装置を制御し、前記出力データが前記高頻度アクセスデータであるときには前記第1不揮発性メモリからデータが読み出されるよう前記第1不揮発性メモリを制御して該読み出したデータに対して前記第1のエラー訂正符号を用いてエラー訂正した後に復号して前記ホスト装置に出力する第1復号処理部と、前記ホスト装置から前記第2不揮発性メモリからのデータの読み出しを要求するメモリ読み出し要求信号が入力されたときには、前記第2不揮発性メモリからデータが読み出されるよう前記第2不揮発性メモリを制御して該読み出したデータに対して前記第2のエラー訂正符号を用いてエラー訂正した後に復号して前記ホスト装置に出力する第2復号処理部と、を備える制御装置と、
前記不揮発性記憶装置としての第1の記憶装置と、
前記第1不揮発性メモリと、前記第2不揮発性メモリと、を有する第2の記憶装置と、
を備えることを要旨とする。
【0031】
この本発明の第2のデータ記憶装置では、上述したいずれかの態様の本発明の第2の制御装置を備えているから、本発明の第2の制御装置が奏する効果、例えば、処理の高速化を図ることができる効果などと同様の効果を奏することができる。
【0032】
こうした本発明の第2のデータ記憶装置において、前記第1の記憶装置は、フラッシュメモリまたはハードディスクドライブであり、前記第2の記憶装置の前記第1不揮発性メモリおよび前記第2不揮発性メモリは、抵抗変化ランダムアクセスメモリおよび強誘電体ランダムアクセスメモリおよび磁気抵抗ランダムアクセスメモリおよび相変化ランダムアクセスメモリのいずれかであるものとすることもできる。
【0033】
本発明の第3のデータ処理装置は、
データを処理するデータ処理装置であって、
不揮発性ランダムアクセスメモリとして構成されたデータを記憶する不揮発性メモリと、
前記不揮発性メモリの信頼性に関する情報を含む信頼性情報を出力する情報出力手段と、
前記出力された信頼性情報を用いて所定の処理を実行する制御処理手段と、
を備えることを要旨とする。
【0034】
この本発明の第3のデータ処理装置では、出力された信頼性情報を用いて所定の処理を実行する。これにより、信頼性情報に応じてより適正に所定の処理を実行することができる。
【0035】
こうした本発明の第3のデータ処理装置において、前記信頼性情報は、前記不揮発性メモリに記憶されたデータのうちエラーが生じているビット数である第1情報と、現在から所定期間が経過するまでに前記不揮発性メモリを書き換え可能な回数の最大値である第2情報と、前記データ処理装置の使用が開始されてからの総書き換え回数である第3情報と、前記不揮発性メモリにおける現在から前記所定期間が経過するまでに書き換え可能なビット数である第4情報と前記不揮発性メモリにおける前記データ処理装置の使用が開始されてからの総書き換えビット数である第5情報と、のうちの少なくとも1つを含む情報であるものとすることもできる。
【0036】
本発明の第4のデータ処理装置は、
データを処理するデータ処理装置であって、
プログラムを記憶する抵抗変化メモリと、
プログラムを読み出すプログラム読み出し要求がなされたときには、前記抵抗変化メモリに記憶されているプログラムが読み出されるよう前記抵抗変化メモリを制御する制御処理手段と、
を備えることを要旨とする。
【0037】
この本発明の第4のデータ処理装置では、プログラムを読み出すプログラム読み出し要求がなされたときには、抵抗変化メモリに記憶されているプログラムが読み出されるよう抵抗変化メモリを制御する。一般に、抵抗変化メモリは、NOR型のフラッシュメモリより高速にデータを読み書きすることができるから、抵抗変化メモリにプログラムを記憶し、抵抗変化メモリに記憶されているプログラムを読み出すことにより、プログラムを高速に読み出すことができる。これにより、データの処理の高速化を図ることができる。
【0038】
こうした本発明の第4のデータ処理装置において、前記制御処理手段は、前記プログラム読み出し要求がなされたときに、プログラム読み出し信号を出力する第1制御手段と、前記プログラム読み出し信号が入力されたときには、前記抵抗変化メモリに記憶されているプログラムが読み出されるよう前記抵抗変化メモリを制御する第2制御手段と、を有する手段であるものとすることもできる。
【図面の簡単な説明】
【0039】
【図1】本発明の第1実施例としてのデータ処理装置であるPC10の構成の概略を示す説明図である。
【図2】PC10に搭載されたSSD(Solid State Drive)30の構成の概略を示す説明図である。
【図3】抵抗変化素子56の構成の概略を示す説明図である。
【図4】半導体チップ60,62,64が積層されている様子を説明するための説明図である。
【図5】CPU22により実行されるデータ書き込み処理ルーチンの一例を示すフローチャートである。
【図6】SSD30のメモリコントローラ40により実行される記憶処理ルーチンの一例を示すフローチャートである。
【図7】本発明の第2実施例としてのデータ処理装置であるPC110の構成の概略を示す説明図である。
【図8】PC110に搭載されたSSD130の構成の概略を示す説明図である。
【図9】抵抗変化素子156の構成の概略を示す説明図である。
【図10】半導体チップ160,162,164が積層されている様子を説明するための説明図である。
【図11】CPU122により実行されるデータ書き込み処理ルーチンの一例を示すフローチャートである。
【図12】SSD130のメモリコントローラ140に内蔵された制御処理回路141により実行される書き込み処理ルーチンの一例を示すフローチャートである。
【図13】CPU122により実行されるデータ読み出し処理ルーチンの一例を示すフローチャートである。
【図14】SSD130のメモリコントローラ140に内蔵された制御処理回路141により実行される読み出し処理ルーチンの一例を示すフローチャートである。
【図15】本発明の第3実施例としてのデータ処理装置であるPC210の構成の概略を示す説明図である。
【図16】抵抗変化素子256の構成の概略を示す説明図である。
【図17】半導体チップ260,262,264が積層されている様子を説明するための説明図である。
【図18】CPU222により実行される休止時処理ルーチンの一例を示すフローチャートである。
【図19】SSD230のメモリコントローラ240で実行される記憶処理ルーチンの一例を示すフローチャートである。
【図20】本発明の第4実施例としてのデータ処理装置であるPC310の構成の概略を示す説明図である。
【図21】抵抗変化素子356の構成の概略を示す説明図である。
【図22】CPU322により実行されるデータ書き込み処理ルーチンの一例を示すフローチャートである。
【図23】CPU322により実行される休止時処理ルーチンの一例を示すフローチャートである。
【図24】RRAM326から出力される信頼性情報の一例を示す説明図である。
【図25】本発明の第5実施例としてのデータ処理装置である携帯電話410の構成の概略を示す説明図である。
【図26】抵抗変化素子456の構成の概略を示す説明図である。
【図27】変形例の携帯電話510の構成の概略を示す説明図である。
【発明を実施するための形態】
【0040】
次に、本発明を実施するための形態を実施例を用いて説明する。
【実施例1】
【0041】
図1は本発明の第1実施例としてのデータ処理装置であるPC10の構成の概略を示す説明図であり、図2はPC10に搭載されたSSD30の構成の概略を示す説明図である。PC10は、パーソナルコンピュータとして構成されており、キャッシュメモリとしてのSRAM20を内蔵し各種演算処理や制御を実行するホスト装置としてのCPU22と、データを一時的に記憶する主記憶装置としてのDRAM24と、各種アプリケーションプログラムや各種データを記憶する大容量のデータ記憶装置としてのSSD30とを備えている。CPU22とDRAM24とSSD30とは、互いにバス31を介してデータや各種信号などをやりとりできるよう構成されている。
【0042】
CPU22は、SSD30が記憶している各種アプリケーションプログラムや各種データファイルがDRAM24に記憶されるようSSD30やDRAM24を制御して、DRAM24に記憶させた各種アプリケーションプログラムに応じた演算処理を実行し、実行した結果をデータとしてDRAM24やSSD30に記憶されるようDRAM24やSSD30を制御したり、定期的にDRAM24に記憶されているデータを読み出した後に読み出したデータをDRAM24に書き込むリフレッシュ動作がなされるようDRAM24を制御する。
【0043】
SSD30は、図2に例示するように、NAND型フラッシュメモリとして構成されたフラッシュメモリ32と、抵抗変化ランダムアクセスメモリ(Resistance Random Access Memory,RRAM)として構成されたRRAM34と、フラッシュメモリ32とRRAM34とを制御する制御装置としてのメモリコントローラ40と、から構成されている。
【0044】
フラッシュメモリ32は、フローティングゲートへの電子注入やフローティングゲートからの電子の引き抜きにより閾値電圧が変化するフラッシュメモリセルを複数有するフラッシュメモリセルアレイ(図示せず)を備えるNAND型フラッシュメモリとして構成されており、フラッシュメモリセルアレイの他にロウデコーダ,カラムデコーダ,センスアンプなど(いずれも図示せず)を備える。フラッシュメモリ32では、ページ単位(実施例では、8Kバイトなど)でデータを書き込んだりデータを読み出し、複数ページからなるブロック単位(実施例では、1Mバイトなど)で記憶しているデータを消去する。
【0045】
RRAM34は、チタン(Ti)や白金(Pt)などの金属から形成された上部電極50とチタン(Ti)や白金(Pt)などの金属から形成された下部電極52とで金属酸化物54を挟み込んで形成された図3に例示する抵抗変化素子56と、抵抗変化素子56に接続されたMOSトランジスタ(図示せず)とから構成されるRRAMセルを複数有するRRAMセルアレイ(図示せず)を備えるRRAMとして構成されており、RRAMセルアレイの他にロウデコーダ,カラムデコーダ,センスアンプなど(いずれも図示せず)を備える。RRAMセルは、上部電極50に印加される電圧V1が下部電極52に印加される電圧V2より高いときにセット(低抵抗化)され、電圧V1が電圧V2より低いときにリセット(高抵抗化)されるバイポーラ動作を行なう素子として形成されている。こうしたバイポーラ動作を行なうRRAMセルは、一般に、動作速度が比較的速く消費電力が少ない素子であるため、RRAM34は、動作速度が比較的早く消費電力が少ないメモリとして構成されている。なお、金属酸化物54としては、チタン酸化物(TiOx)やニッケル酸化物(NiOx),銅酸化物(CuOx),ハフニウム酸化物(HfOx)などの金属酸化物またはこれらの金属酸化物を複数積層された積層構造とするのが望ましいと考えられる。
【0046】
メモリコントローラ40は、複数の論理素子を有する論理回路として構成され各種制御や演算処理を行なう制御処理回路41と、時間を計測するオンチップタイマー回路42と、データを記憶するSRAM44と、データを一時的に記憶するレジスタ46とが搭載されている。メモリコントローラ40には、CPU22から各種制御信号やデータなどが入力されており、入力された制御信号に基づいてフラッシュメモリ32やRRAM34にデータが記憶されるようフラッシュメモリ32やRRAM34を制御したり、フラッシュメモリ32やRRAM34からデータが読み出されるようフラッシュメモリ32やRRAM34を制御して読み出したデータをCPU22に出力する。また、メモリコントローラ40は、RRAM34の記憶領域毎の書き換え回数の監視を行なっている。
【0047】
PC10では、図4に示すように、CPU22,SRAM20,DRAM24,SSD30のメモリコントローラ40が同一の半導体チップ60に搭載されており、SSD30のRRAM34が半導体チップ62に搭載されおり、フラッシュメモリ32が半導体チップ64に搭載されている。半導体チップ60,62,64は積層されており、半導体チップ60,62,64の3つのチップ間は各チップに形成された貫通孔に充填された銅(Cu)などの導電性の複数の金属電極66により電気的に接続されており、半導体チップ60,62,64は、金属電極66を介してデータや各種制御信号などのやりとりを行なっている。
【0048】
こうして構成された実施例のPC10では、SSD30のフラッシュメモリ32に記憶されているプログラムがCPU22に読み込まれ、読み込まれたプログラムに応じてSRAM20やDRAM24,SSD30からデータが読み出されるようSRAM20やDRAM24,SSD30が制御される。そして、読み出されたデータにはプログラムに応じた演算処理が施され、例えば動作の履歴を示すデータであるかなどのデータの種類や1秒間あたりに読み書きする回数であるアクセス頻度などの情報を含むヘッダ情報を演算処理結果としてのデータに付加してSRAM20やDRAM24,SSD30に書き込まれるようSRAM20やDRAM24,SSD30が制御される。
【0049】
次に、こうして構成されたPC10の動作、特に、データをDRAM24またはSSD30に書き込む際の動作について説明する。図5はCPU22により実行されるデータ書き込み処理ルーチンの一例を示すフローチャートである。このルーチンは、プログラムを実行している最中などCPU22で演算したデータを一時的に保存するときに実行される。
【0050】
書き込み処理ルーチンが実行されると、CPU22は、保存すべき書き込みデータDのヘッダ情報を調べることにより書き込みデータDの種類を調べる(ステップS100)、書き込みデータDが書き換え回数が多い高書き換えデータ(例えば、動作の履歴を書き込むファイルや各種アプリケーションのユーザデータなど)であるときにはDRAM24に書き込みデータDが記憶されるようDRAM24を制御する(ステップS110)。こうした処理により、書き込みデータDが高書き換えデータであるときには書き込みデータDをDRAM24に記憶させることができる。
【0051】
書き込みデータDが高書き換えデータでないときにはRRAM書き込み要求信号と書き込みデータDと書き込みデータDの論理アドレスAddlとをSSD30のメモリコントローラ40に出力して(ステップS120)、本ルーチンを終了する。RRAM書き込み要求信号と書き込みデータDと書き込みデータDの論理アドレスAddlとが入力されたSSD30のメモリコントローラ40は、図6に例示する記憶処理ルーチンを実行する。ここで、図5のデータ書き込み処理ルーチンの説明を中断して、メモリコントローラ40の動作について説明する。
【0052】
記憶処理ルーチンが実行されると、メモリコントローラ40の制御処理回路41は、CPU22からの論理アドレスAddlと書き込みデータDとを入力する処理を実行し(ステップS200)、参照サイズSref未満の書き込みデータDが入力されてから次に参照サイズSref未満の書き込みデータDが入力されるまでの経過時間Tを参照時間Trefと比較する(ステップS210)。ここで、経過時間Tは、オンチップタイマー回路42により計時されたものを用いるものとした。また、参照時間Trefは、予期しない電力の遮断に備えてSRAM44に記憶されているデータをRRAM34に退避すべき時間として予め定めた時間(例えば、10ms,50ms,100msなど)を用いるものとした。したがって、ステップS210の処理は、SRAM44に記憶されているデータをRRAM34に退避すべきか否かを判定する処理になる。
【0053】
経過時間Tが参照時間Tref未満であるときには(ステップS210)、SRAM44に記憶されているデータをRRAM34に退避させる必要がないと判断して、続いて、入力された書き込みデータDのサイズであるデータサイズSdを参照サイズSrefと比較する(ステップS220)。ここで、参照サイズSrefは、RRAM34において、RRAMセルの1セルあたりの書き換え回数を平滑化するためのウェアレベリングで書き込みデータDの論理アドレスAddlを物理アドレスAddpに変換する際に用いるウェアレベリング用アドレス変換テーブルのサイズが大きくなり、ウェアレベリング用アドレス変換テーブルに確保するメモリ領域の増加が無視できなくなるデータサイズの上限として予め定めたもの(例えば、512Kバイト、1Mバイト、1.5Mバイトなど)を用いるものとした。このように参照サイズSrefを設定したのは、一般に、書き込みデータDのサイズが小さくなるほどアドレス変換テーブルのサイズが大きくなることに基づく。したがって、ステップS220の処理は、ウェアレベリングを実行しても差し支えないか否かを判定する処理になる。
【0054】
データサイズSdが参照サイズSref以上であるときには(ステップS220)、ウェアレベリングを実行しても差し支えないため、RRAM34に書き込みデータDを記憶させてもよいと判断して、RRAM34の記憶領域毎の書き換え回数を用いて同じ記憶領域にデータの書き換えが集中しないよう論理アドレスを物理アドレスに変換するためのアドレス変換テーブルを生成してメモリコントローラ40のレジスタ46に記憶させ(ステップS230)、記憶させたアドレス変換テーブルを用いて論理アドレスを物理アドレスに変換すると共に変換後の物理アドレスに対応するRRAM34の記憶領域に書き込みデータDを記憶させ(ステップS240)、本処理ルーチンを終了する。このように書き込みデータDのサイズが参照サイズSref以上であるときには、ウェアレベリングを実行してRRAM34に書き込みデータDを記憶させることにより、RRAM34の記憶領域毎の書き換え回数が平滑化され、RRAM34の劣化を抑制することができる。
【0055】
データサイズSdが参照サイズSref未満であるときには(ステップS220)、ウェアレベリングを実行すべきではないため、RRAM34に書き込みデータDを記憶させるべきではないと判断して、書き込みデータDがSRAM44に記憶されるようSRAM44を制御して(ステップS250)、本処理ルーチンを終了する。上述したように、書き込みデータDのサイズが小さいほどウェアレベリングする際に生成するウェアレベリング用アドレス変換テーブルの大きくなる傾向にあるが、書き込みデータDのサイズが参照サイズSref未満であるときにはSRAM44に書き込みデータDを記憶させることにより、書き込みデータDのサイズに拘わらず一律にウェアレベリング用アドレス変換テーブルを生成してウェアレベリングを行なうものに比して、ウェアレベリング用アドレス変換テーブルに確保する記憶領域の増加を抑制することができる。
【0056】
経過時間Tが参照時間Tref以上であるときには(ステップS210)、一定期間逐次入力される書き込みデータDのデータサイズがSd参照サイズSref以上でSRAM44への新たなデータの書き込みがないため停電など予期しない電力の遮断に備えてSRAM44に記憶されているデータをRRAM34に退避させる必要があると判断して、SRAM44に記憶されているデータがRRAM34に記憶されるようRRAM34を制御して(ステップS260)、本処理ルーチンを終了する。こうした処理により、SRAM44に記憶されているデータの消失を抑制することができる。以上、RRAM書き込み要求信号と書き込みデータDと書き込みデータDの論理アドレスAddlとが入力されたSSD30のメモリコントローラ40の動作について説明した。
【0057】
ここで、図5のデータ書き込み処理ルーチンの説明に戻る。上述したように、図5のデータ書き込み処理ルーチンでは、書き込みデータDが高書き換えデータであるときにはDRAM24に書き込みデータDを記憶させ(ステップS100,S110)、書き込みデータDが高書き換えデータでないときにはSSD30のRRAM34またはSRAM44に書き込みデータDが記憶される(ステップS100,S120)。一般に、DRAMは、定期的(例えば、数μs毎)に記憶しているデータを読み出した後に読み出したデータをDRAMに再書き込みするリフレッシュ動作を行なう必要があるが、書き込みデータDが高書き換えデータであるときにはDRAM24に書き込みデータDを記憶させることにより、DRAM24に記憶しているデータが頻繁に書き換えられることになり、書き込みデータDの種類に拘わらず書き込みデータDをDRAMに記憶させるものに比して、DRAM24のリフレッシュ動作の時間間隔を長くして、リフレッシュ回数を低減させることができる。これにより、消費電力の低減を図ることができる。また、一般に、RRAMは同じ領域への書き換え回数が多くなるほど劣化が進むと考えられるが、書き込みデータDが高書き換えデータでないときに書き込みデータDをRRAM34またはSRAM44に記憶させることにより、RRAM34の書き換え回数を減少させることができ、RRAM34の劣化を抑制することができる。こうした処理により、RRAM34の劣化を抑制しながら消費電力の低減を図ることができる。
【0058】
以上説明した第1実施例のPC10では、書き込みデータDが高書き換えデータであるときにはDRAM24に書き込みデータDが記憶されるようDRAM24を制御し、書き込みデータDが高書き換えデータでないときに書き込みデータDがRRAM34またはSRAM44に記憶させられるようRRAM34,SRAM44を制御することにより、RRAM34の劣化を抑制しながら消費電力の低減を図ることができる。また、RRAM34またはSRAM44に書き込みデータDを記憶させる際に、経過時間Tが参照時間Tref未満であるときには、書き込みデータDのサイズであるデータサイズSdが参照サイズSref以上であるときにはウェアレベリング用アドレス変換テーブルを生成してメモリコントローラ40のレジスタ46に記憶させ、記憶させたアドレス変換テーブルを用いて論理アドレスを物理アドレスに変換すると共に変換後の物理アドレスに対応するRRAM34の記憶領域に書き込みデータDを記憶させることにより、書き込みデータDのサイズに拘わらず一律にウェアレベリング用アドレス変換テーブルを生成してウェアレベリングを行なうものに比して、ウェアレベリング用アドレス変換テーブルに確保する記憶領域の増加を抑制することができる。さらに、経過時間Tが参照時間Tref以上であるときには、SRAM44に記憶されているデータがRRAM34に記憶されるようRRAM34を制御することにより、SRAM44に記憶されているデータの消失を抑制することができる。
【0059】
第1実施例のPC10では、ステップS210,S260の処理で経過時間Tが参照時間Tref以上であるときにはSRAM44に記憶されているデータがRRAM34に記憶されるようRRAM34を制御するものとしたが、こうしたステップS210,S260の処理を行なわず、ステップS200,S220〜S250の処理を行なうものとしてもよい。
【0060】
第1実施例のPC10では、メモリコントローラ40がSRAM44を内蔵するものとしたが、SRAM44に代えて電力の供給が遮断されたときに記憶が消失する他の揮発性のランダムアクセスメモリ、例えば、DRAMなどを内蔵するものとしてもよい。
【0061】
第1実施例のPC10では、SSD30は、フラッシュメモリ32を備えているものとしたが、フラッシュメモリ32に代えて他の不揮発性の記憶装置、例えば、ハードディスクドライブなどを備えているものとしてもよい。
【0062】
第1実施例のPC10では、RRAM34のRRAMセルをバイポーラ動作を行なう素子として形成されているものとしたが、RRAMセルを抵抗変化素子56とダイオード(図示せず))とにより構成すると共に、電圧V1に電圧V2より高い電圧が印加されたときにセット(低抵抗化)され、電圧V1に電圧V2より高くRRAMセルをセットする電圧より低い電圧が印加されたときにリセット(高抵抗化)されるユニポーラ動作を行なう素子として形成するものとしてもよい。こうしたユニポーラ動作を行なうRRAMセルは、一般に、バイポーラ動作を行なうRRAMセルに比して小さいセルサイズで簡単なセル構成で構成するため、RRAMセルをバイポーラ動作を行なう素子として形成するものに比して、動作が若干遅くなるものの、面積をより小さくすることができる。
【0063】
第1実施例のPC10では、SSD30がRRAM34を備えているものとしたが、RRAM34に代えて他の不揮発性ランダムアクセスメモリ、例えば、二つの電極で強誘電体材料を挟み込んだキャパシタを有する強誘電体ランダムアクセスメモリやトンネル磁気抵抗膜を磁性体膜で挟み込んだ構造のMTJ(Magneto Tunnel Junction)素子を有する磁気抵抗ランダムアクセスメモリや二つの電極で相変化材料を挟み込んだ素子を有する相変化ランダムアクセスメモリなどを備えるものとしてもよい。
【0064】
第1実施例のPC10では、RRAM34が半導体チップ64に搭載されているものとしたが、RRAM34を複数に分割して分割したRRAMがそれぞれ異なる半導体チップに搭載されているものとしてもよい。
【0065】
第1実施例のPC10では、CPU22,SRAM20,DRAM24,SSD30のメモリコントローラ40が同一の半導体チップ60に搭載されているものとしたが、CPU22,SRAM20,DRAM24,SSD30のメモリコントローラ40がそれぞれ異なる半導体チップに搭載されているものとしても構わない。
【0066】
第1実施例のPC10では、半導体チップ60,62,64の3つのチップ間は積層され、複数の金属電極66により電気的に接続されているものとしたが、半導体チップ60,62,64がそれぞれ個別に樹脂パッケージ等の内部に封止され、こうして封止されたものが1枚または複数の配線基板に載置されるものとしてもよい。
【0067】
第1実施例では、本発明をパーソナルコンピュータに適用する場合を例示したが、データを処理するデータ処理装置であれば如何なるものに用いてもよく、例えば、携帯電話やデジタルスチルカメラやデジタルビデオカメラなどに用いるものとしても構わない。
【0068】
第1実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。第1実施例では、本発明の第1のデータ処理装置において、DRAM24が「第1メモリ」に相当し、RRAM34が「第2メモリ」に相当し、CPU22とメモリコントローラ40とを組み合わせたものが「制御処理手段」に相当する。また、本発明の第1の制御装置において、CPU22が「ホスト装置」に相当し、SRAM44が「揮発性記憶部」に相当し、ウェアレベリング用アドレス変換テーブルを生成してレジスタ46に記憶させる処理を実行するメモリコントローラ40の制御処理回路41とレジスタ46とが「変換テーブル記憶部」に相当し、書き込みデータDのサイズに応じて書き込みデータDがRRAM34またはSRAM44に記憶されるようRRAM34やSRAM44を制御する処理を実行する制御処理回路41が「記憶制御部」に相当する。さらに、本発明の第1のデータ記憶装置において、フラッシュメモリ32が「第1の記憶装置」に相当し、RRAM34が「第2の記憶装置」に相当する。
【実施例2】
【0069】
図7は本発明の第2実施例としてのデータ処理装置であるPC110の構成の概略を示す説明図であり、図8はPC110に搭載されたSSD130の構成の概略を示す説明図である。PC110は、パーソナルコンピュータとして構成されており、キャッシュメモリとしてのSRAM120を内蔵し各種演算処理や制御を実行するホスト装置としてのCPU122と、データを一時的に記憶する主記憶装置としてのDRAM124と、各種アプリケーションプログラムや各種データを記憶する大容量のデータ記憶装置としてのSSD130とを備えている。CPU122とDRAM124とSSD130とは、互いにバス131を介してデータや各種信号などをやりとりできるよう構成されている。
【0070】
CPU122は、SSD130が記憶している各種アプリケーションプログラムや各種データファイルがDRAM124に記憶されるようSSD130やDRAM124を制御して、DRAM124に記憶させた各種アプリケーションプログラムに応じた演算処理を実行し、実行した結果をデータとしてDRAM124やSSD130に記憶されるようDRAM124やSSD130を制御したり、定期的にDRAM124に記憶されているデータを読み出した後に読み出したデータをDRAM124に書き込むリフレッシュ動作がなされるようDRAM124を制御する。
【0071】
SSD130は、図8に例示するように、NAND型フラッシュメモリとして構成されたフラッシュメモリ132と、抵抗変化ランダムアクセスメモリ(Resistance Random Access Memory,RRAM)として構成されたRRAM134,136と、フラッシュメモリ132とRRAM134,136とを制御する制御装置としてのメモリコントローラ140と、から構成されている。
【0072】
フラッシュメモリ132は、フローティングゲートへの電子注入やフローティングゲートからの電子の引き抜きにより閾値電圧が変化するフラッシュメモリセルを複数有するフラッシュメモリセルアレイ(図示せず)を備えるNAND型フラッシュメモリとして構成されており、フラッシュメモリセルアレイの他にロウデコーダ,カラムデコーダ,センスアンプなど(いずれも図示せず)を備える。フラッシュメモリ132では、ページ単位(実施例では、8Kバイトなど)でデータを書き込んだりデータを読み出し、複数ページからなるブロック単位(実施例では、1Mバイトなど)で記憶しているデータを消去する。
【0073】
RRAM134は、チタン(Ti)や白金(Pt)などの金属から形成された上部電極150とチタン(Ti)や白金(Pt)などの金属から形成された下部電極152とで金属酸化物154を挟み込んで形成された図9に例示する抵抗変化素子156と、抵抗変化素子156に接続されたMOSトランジスタ(図示せず)とから構成されるRRAMセルを複数有するRRAMセルアレイ(図示せず)を備えるRRAMとして構成されており、RRAMセルアレイの他にロウデコーダ,カラムデコーダ,センスアンプなど(いずれも図示せず)を備える。RRAMセルは、上部電極150に印加される電圧V1が下部電極152に印加される電圧V2より高いときにセット(低抵抗化)され、電圧V1が電圧V2より低いときにリセット(高抵抗化)されるバイポーラ動作を行なう素子として形成されている。こうしたバイポーラ動作を行なうRRAMセルは、一般に、動作速度が比較的速く消費電力が少ない素子であるため、RRAM134は、動作速度が比較的早く消費電力が少ないメモリとして構成されている。RRAM136は、RRAM134と同一の構成のRRAMセルから構成されている。なお、金属酸化物154としては、チタン酸化物(TiOx)やニッケル酸化物(NiOx),銅酸化物(CuOx),ハフニウム酸化物(HfOx)などの金属酸化物またはこれらの金属酸化物を複数積層された積層構造とするのが望ましいと考えられる。
【0074】
メモリコントローラ140は、複数の論理素子を有する論理回路として構成され各種制御や演算処理を行なう制御処理回路41が搭載されている。メモリコントローラ140には、CPU122から各種制御信号やデータなどが入力されており、入力された制御信号に基づいてフラッシュメモリ132やRRAM134,136にデータが記憶されるようフラッシュメモリ132やRRAM134,136を制御したり、フラッシュメモリ132やRRAM134,136からデータが読み出されるようフラッシュメモリ132やRRAM134,136を制御して読み出したデータをCPU122に出力する。
【0075】
PC110では、図10に示すように、CPU122,SRAM120,DRAM124,SSD130のメモリコントローラ140が同一の半導体チップ160に搭載されており、SSD130のRRAM134,136が同一の半導体チップ162に搭載されおり、フラッシュメモリ132が半導体チップ164に搭載されている。半導体チップ160,162,164は積層されており、半導体チップ160,162,164の3つのチップ間は各チップに形成された貫通孔に充填された銅(Cu)などの導電性の複数の金属電極166により電気的に接続されており、半導体チップ160,162,164は、金属電極166を介してデータや各種制御信号などのやりとりを行なっている。
【0076】
こうして構成された実施例のPC110では、SSD130のフラッシュメモリ132に記憶されているプログラムがCPU122に読み込まれ、読み込まれたプログラムに応じてSRAM120やDRAM124,SSD130からデータが読み出されるようSRAM120やDRAM124,SSD130が制御される。そして、読み出されたデータにはプログラムに応じた演算処理が施されて、その結果としての書き込みデータがSRAM120やDRAM124,SSD130に書き込まれるようSRAM120やDRAM124,SSD130が制御される。
【0077】
次に、こうして構成されたPC110の動作、特に、データをSSD130に書き込む際の動作について説明する。図11はCPU122により実行されるデータ書き込み処理ルーチンの一例を示すフローチャートである。このルーチンは、CPU122で演算したデータをSSD130に書き込む書き込み要求がなされたときに実行される。
【0078】
データ書き込み処理ルーチンが実行されると、CPU122は、書き込み要求がRRAM134への書き込み要求であるかフラッシュメモリ132への書き込み要求であるかを調べる処理を実行する(ステップS300)。ここで、RRAM134への書き込み要求は、例えば、プログラムを実行している最中などデータを一時的に保存する必要が生じた際に書き込みデータDが書き換え回数が多い高書き換えデータであるときになされるものとした。また、フラッシュメモリ132への書き込み要求は、例えば、プログラムを終了するときなどデータを長期間保存すべきときになされるものとした。
【0079】
書き込み要求がRRAM134への書き込み要求であるときにはRRAM書き込み要求信号と論理アドレスAddlをSSD130へ出力すると共にCPU122で演算されたデータを書き込みデータDとしてSSD130に出力し(ステップS310)、書き込み要求がフラッシュメモリ132への書き込み要求であるときにはフラッシュメモリ書き込み要求信号と論理アドレスAddlとをSSD130へ出力すると共にCPU122で演算されたデータを書き込みデータDとしてSSD130へ出力して(ステップS320)、本処理ルーチンを終了する。
【0080】
続いて、こうした書き込み要求が入力されたSSD130の動作について説明する。図12は、SSD130のメモリコントローラ140に内蔵された制御処理回路141により実行される書き込み処理ルーチンの一例を示すフローチャートである。このルーチンは、CPU122からのRRAM書き込み要求信号またはフラッシュメモリ書き込み要求信号がSSD130のメモリコントローラ140の制御処理回路141に入力されたときに実行される。
【0081】
書き込み処理ルーチンが実行されると、メモリコントローラ140の制御処理回路141は、CPU122から入力された書き込み要求信号の種類を調べる処理を実行する(ステップS400)。書き込み要求信号がフラッシュメモリ書き込み要求信号であるときには、書き込みデータDを比較的長い期間(例えば、1年間など)保持する必要があると判断して、続いて、CPU122から入力された書き込みデータDのヘッダ情報を調べ、書き込みデータDが1秒あたりに読み書きする回数であるアクセス頻度が比較的多い高頻度アクセスデータ(例えば、各種アプリケーションのユーザデータなど)である否かを調べる(ステップS410)。
【0082】
書き込みデータDが高頻度アクセスデータでないときには、フラッシュメモリ132,RRAM136においてデータを保持可能な期間が1年間程度の比較的強いエラー訂正符号(Error Correcting Code,ECC)として予め定められた第1ECC(例えば、書き込みデータDにパリティビットを付加したコードワードが32kBのBCH符号)になるよう書き込みデータDに誤り訂正ビットを付加して書き込みデータDを符号化して(ステップS420)、符号化したデータが論理アドレスAddlに対応するフラッシュメモリ132の記憶領域に記憶されるようフラッシュメモリ132を制御し(ステップS430)、書き込みデータDが高頻度アクセスデータであるときには、第1ECCに書き込みデータDを符号化して(ステップS440)、符号化したデータが論理アドレスAddlに対応するRRAM136の記憶領域に記憶されるようRRAM136を制御して(ステップS450)、本処理ルーチンを終了する。こうした処理により、書き込みデータDが高頻度アクセスデータであるときには、第1ECCにより符号化された書き込みデータDをRRAM136に記憶させることができる。一般に、RRAMは、データを読み書き(アクセス)するために要する時間であるアクセス時間がフラッシュメモリのアクセス時間の1/10程度であるため、こうした高速なメモリに高頻度アクセスデータDを記憶させることにより、アクセスを高速化することができる。また、比較的強いECCである第1ECCに書き込みデータDを符号化するから、書き込みデータDをより長く保持することができる。
【0083】
書き込み要求信号がRRAM書き込み要求信号であるときには(ステップS400)、書き込みデータDをさほど長く保持する必要がないと判断して、第1ECCより検出可能なエラービット数が少なくRRAM134においてデータを保持できる期間が1日程度の比較的弱い第2ECC(例えば、コードワードが2kBのBCH符号など)になるよう書き込みデータDに誤り訂正ビットを付加して書き込みデータDを符号化して(ステップS460)、符号化したデータが論理アドレスAddlに対応するRRAM134の記憶領域に記憶されるようRRAM134を制御して(ステップS470)、本処理ルーチンを終了する。一般に、ECCでは、検出可能なエラービット数が少なくなるほど書き込みデータDに付加する誤り訂正ビットのサイズが小さくなり、書き込みデータDを符号化する際の処理速度も速くなるため、書き込みデータDを第2ECCに符号化して符号化したデータをRRAM134に記憶させることにより、書き込みデータDを第1ECCで符号化した場合に比してより高速に書き込みデータDを符号化してRRAM134に記憶させることができる。
【0084】
続いて、こうして構成されたPC110において、データをSSD130から読み出す際の動作について説明する。図13はCPU122により実行されるデータ読み出し処理ルーチンの一例を示すフローチャートである。このルーチンは、CPU122でSSD130に保存しているデータを読み出す読み出し要求がなされたときに実行される。
【0085】
データ読み出し処理ルーチンが実行されると、CPU122は、読み出し要求がRRAM134への読み出し要求であるかフラッシュメモリ132への読み出し要求であるかを調べる処理を実行する(ステップS500)。ここで、RRAM134への読み出し要求は、例えば、プログラムを実行している最中などRRAM134へ一時的に保存しているデータを読み出す必要が生じた際、すなわち、書き込みデータDが書き換え回数が多い高書き換えデータであってRRAM134に記憶されているときになされるものとした。また、フラッシュメモリ132への読み出し要求は、例えば、プログラムを起動してフラッシュメモリ132に保存されているデータ(ファイル)がユーザにより選択され、選択されたデータを読み出すときになされるものとした。
【0086】
読み出し要求がRRAM134への読み出し要求であるときにはRRAM読み出し要求信号と読み出すべきデータの論理アドレスAddlとをSSD130へ出力し(ステップS510)、読み出し要求がフラッシュメモリ132への読み出し要求であるときにはフラッシュメモリ読み出し要求信号と読み出すべきデータの論理アドレスAddlをSSD130へ出力して(ステップS520)、本処理ルーチンを終了する。
【0087】
続いて、こうした読み出し要求が入力されたSSD130の動作について説明する。図14は、SSD130のメモリコントローラ140に内蔵された制御処理回路141により実行される読み出し処理ルーチンの一例を示すフローチャートである。このルーチンは、CPU122からのRRAM読み出し要求信号またはフラッシュメモリ読み出し要求信号がSSD130のメモリコントローラ140の制御処理回路141に入力されたときに実行される。
【0088】
読み出し処理ルーチンが実行されると、メモリコントローラ140の制御処理回路141は、CPU122から入力された読み出し要求信号の種類を調べる処理を実行する(ステップS600)。読み出し要求信号がフラッシュメモリ読み出し要求信号であるときには、入力された論理アドレスAddlに基づいて読み出すべきデータが高頻度アクセスデータであるか否かを調べる(ステップS610)。この処理では、入力された論理アドレスAddがRRAM136の記憶領域を示しているときには、読み出すべきデータが高頻度アクセスデータであると判定するものとした。
【0089】
読み出すべきデータが高頻度アクセスデータでないときには、入力された論理アドレスAddlに対応するフラッシュメモリ132の記憶領域に記憶されるデータを読み出して(ステップS620)読み出したデータに対して第1ECCを用いてエラー訂正を行なった後に復号し(ステップS640)、復号したデータをCPU122に出力し(ステップS670)、読み出すべきデータが高頻度アクセスデータであるときには、入力された論理アドレスAddlに対応するフラッシュメモリ132の記憶領域に記憶されるデータを読み出して(ステップS630)読み出したデータに対して第1ECCを用いてエラー訂正を行なった後に復号し(ステップS640)、復号したデータをCPU122に出力して(ステップS670)、本処理ルーチンを終了する。こうした処理により、フラッシュメモリ132またはRRAM136に記憶されているデータにエラーが生じたときに、生じたエラーを訂正した上でデータをCPU122に出力することができ、データエラーの発生を抑制することができる。
【0090】
読み出し要求信号がフラッシュメモリ読み出し要求信号でないとき、即ち、読み出し要求信号がRRAM読み出し要求信号であるときには、入力された論理アドレスAddlに対応するRRAM134の記憶領域に記憶されるデータを読み出して(ステップS650)読み出したデータに対して第2ECCを用いてエラー訂正を行なった後に復号し(ステップS660)、復号したデータをCPU122に出力して(ステップS670)、本処理ルーチンを終了する。こうした処理により、RRAM134に記憶されているデータにエラーが生じたときに、生じたエラーを訂正した上でデータをCPU122に出力することができ、データエラーの発生を抑制することができる。一般に、ECCでは、検出可能なエラービット数が少なくなるほどデータに付加されている誤り訂正ビットのサイズが小さくなり、データにエラー訂正を行なう際やデータを復号するときの処理速度も速くなる。このように、書き込みデータDを第2ECCで符号化して符号化したデータをRRAM134に記憶させることにより、書き込みデータDを第1ECCでエラー訂正すると共に復号する場合に比して、より高速にRRAM134に記憶されているデータを復号してCPU122に出力することができる。こうした処理により、データをSSD130のRRAM134に読み書きする処理の高速化を図ることができる。なお、第2ECCは第1ECCより訂正可能なエラービット数が少なく弱いエラー訂正であるため、第1ECCを用いた場合に比して、RRAM134から読み出したデータにエラーが生じる可能性が高くなるが、RRAM134に記憶されているデータはさほど長く保持する必要がないデータであるため、弱いエラー訂正を用いても差し支えない。
【0091】
以上説明した第2実施例のPC110では、RRAM書き込み要求がなされたときには、書き込みデータDをRRAM134にデータを記憶させる際に用いる第1ECCより訂正可能なビット数が少ない第2ECCに符号化すると共に符号化したデータをRRAM134に記憶させるから、より高速に書き込みデータDをRRAM134に記憶させることができる。また、RRAM読み出し要求がなされたときには、RRAM134から読み出したデータを第2ECCでエラー訂正すると共に復号してCPU122に出力するから、より高速にRRAM134からデータを読み出すことができる。これにより、RRAM134へデータを読み書きする処理の高速化を図ることができる。
【0092】
第2実施例のPC110では、第1ECCがコードワードが32kBのBCH符号であり、第2ECCがコードワードが2kBのBCH符号であるものとしたが、コードワードとしては、第2ECCが第1ECCより訂正可能なエラービット数が少ないコードワードであれば如何なるものとしても構わない。また、BCH符号に限定されるものではなく、リード・ソロモン符号などのブロック符号やLDPC符号などの畳込み符号に符号化するものとしてもよい。
【0093】
第2実施例のPC110では、SSD130は、フラッシュメモリ132を備えているものとしたが、フラッシュメモリ132に代えて他の不揮発性の記憶装置、例えば、ハードディスクドライブなどを備えているものとしてもよい。この場合、図12の書き込み処理ルーチンにおいて、ステップS420,S430の処理に代えて、CPU122からの書き込みデータDを第1ECCで符号化せずにハードディスクドライブに記憶させればよい。
【0094】
第2実施例のPC110では、SSD130は、RRAM134,136を備えているものとしたが、RRAM134,136に代えて他の不揮発性ランダムアクセスメモリ、例えば、二つの電極で強誘電体材料を挟み込んだキャパシタを有する強誘電体ランダムアクセスメモリやトンネル磁気抵抗膜を磁性体膜で挟み込んだ構造のMTJ(素子を有する磁気抵抗ランダムアクセスメモリや二つの電極で相変化材料を挟み込んだ素子を有する相変化ランダムアクセスメモリなどを備えるものとしてもよい。
【0095】
第2実施例のPC110では、RRAM136をバイポーラ動作をRRAMセルから構成されるものとしたが、RRAMセルを抵抗変化素子56とダイオード(図示せず)とにより構成すると共に、RRAM136を電圧V1に電圧V2より高い電圧が印加されたときにセット(低抵抗化)されると共に電圧V1に電圧V2より高くRRAMセルをセットする電圧より低い電圧が印加されたときにリセット(高抵抗化)されるユニポーラ動作を行なうRRAMセルから構成されるものとしてもよい。こうしたユニポーラ動作を行なうRRAMセルは、一般に、バイポーラ動作を行なうRRAMセルに比して簡単なセル構造になると考えられる。したがって、RRAMセルをユニポーラ動作を行なうRRAMセルから構成することにより、RRAM136の面積をより小さくすることができる。また、RRAM134,136を共にユニポーラ動作を行なうRRAMセルから構成してもよい。こうすれば、RRAM134,136の面積をより小さくすることができる。
【0096】
第2実施例のPC110では、RRAM134,136が同一の半導体チップに搭載されているものとしたが、別の半導体チップに搭載されているものとしてもよい。
【0097】
第2実施例のPC110では、CPU122,SRAM120,DRAM124,SSD130のメモリコントローラ140が半導体チップ160に搭載されているものとしたが、CPU122,SRAM120,DRAM124,SSD130のメモリコントローラ140がそれぞれ異なる半導体チップに搭載されているものとしても構わない。
【0098】
第2実施例のPC110では、半導体チップ160,162,164の3つのチップ間は積層され、複数の金属電極166により電気的に接続されているものとしたが、半導体チップ160,162,164がそれぞれ個別に樹脂パッケージ等の内部に封止され、封止したものが1枚または複数の配線基板に載置されるものとしてもよい。
【0099】
第2実施例では、本発明をパーソナルコンピュータに適用する場合を例示したが、データを処理するデータ処理装置であれば如何なるものに用いてもよく、例えば、携帯電話やデジタルスチルカメラやデジタルビデオカメラ、パーソナルコンピュータなどに用いるものとしても構わない。
【0100】
第2実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。第2実施例では、本発明の第1のデータ処理装置において、DRAM124が「第1メモリ」に相当し、RRAM134が「第2メモリ」に相当し、CPU122とメモリコントローラ140とを組み合わせたものが「制御処理手段」に相当する。また、本発明の第2の制御装置において、CPU122が「ホスト装置」に相当し、フラッシュメモリ書き込み要求信号が入力されたときにCPU122から入力された書き込みデータDが高頻度アクセスデータでないときには書き込みデータDがフラッシュメモリ132に記憶されるようフラッシュメモリ132を制御し、書き込みデータDが高頻度アクセスデータであるときには書き込みデータDを第1ECCに符号化すると共に符号化したデータがRRAM136に記憶されるようRRAM136を制御するメモリコントローラ140の制御処理回路141が「第1符号化処理部」に相当し、RRAM書き込み要求信号が入力されたときには書き込みデータDを第2ECCに符号化すると共に符号化したデータがRRAM134に記憶されるようRRAM134を制御する制御処理回路141が「第2符号化処理部」に相当し、フラッシュメモリ読み出し要求信号が入力されたときに出力すべきデータが高頻度アクセスデータでないときにはフラッシュメモリ132からデータが読み出されるようフラッシュメモリ132を制御し、出力すべきデータが高頻度アクセスデータであるときにはRRAM136からデータが読み出されるようRRAM136を制御して読み出したデータに対して第1ECCを用いてエラー訂正した後に復号してCPU122に出力する処理を実行する制御処理回路141が「第1復号処理部」に相当し、RRAM読み出し要求信号が入力されたときには、RRAM134からデータが読み出されるようRRAM134を制御すると共に読み出したデータに対して第2ECCを用いてエラー訂正した後に復号してCPU122に出力する制御処理回路141が「第2復号処理部」に相当する。さらに、本発明の第2のデータ記憶装置において、フラッシュメモリ132が「第1の記憶装置」に相当し、RRAM134とRRAM136とを組み合わせたものが「第2の記憶装置」に相当する。
【実施例3】
【0101】
図15は本発明の第3実施例としてのデータ処理装置であるPC210の構成の概略を示す説明図である。PC210は、パーソナルコンピュータとして構成されており、キャッシュメモリとしてのSRAM220を内蔵し各種演算処理や制御を実行するCPU222と、データを一時的に記憶する主記憶装置としてのDRAM224と、各種アプリケーションプログラムや各種データを記憶する大容量のデータ記憶装置としてのSSD(Solid State Drive)230とを備えている。CPU222とDRAM224とSSD230とは、互いにバス231を介してデータや各種信号などをやりとりできるよう構成されている。
【0102】
CPU222は、SSD230が記憶している各種アプリケーションプログラムや各種データファイルがDRAM224に記憶されるようSSD230やDRAM224を制御して、DRAM224に記憶させた各種アプリケーションプログラムに応じた演算処理を実行し、実行した結果をデータとしてDRAM224やSSD230に記憶されるようDRAM224やSSD230を制御したり、定期的にDRAM224に記憶されているデータを読み出した後に読み出したデータをDRAM224に書き込むリフレッシュ動作がなされるようDRAM224を制御する。また、CPU222は、外部の電源からSRAM220,DRAM224,SSD230への電力の供給を遮断することができる。
【0103】
SSD230は、NAND型フラッシュメモリとして構成されたフラッシュメモリ232と、抵抗変化ランダムアクセスメモリ(Resistance Random Access Memory,RRAM)として構成されたRRAM234と、フラッシュメモリとRRAM234とを制御する制御装置としてのメモリコントローラ240と、から構成されている。
【0104】
フラッシュメモリ232は、フローティングゲートへの電子注入やフローティングゲートからの電子の引き抜きにより閾値電圧が変化するフラッシュメモリセルを複数有するフラッシュメモリセルアレイ(図示せず)を備えるNAND型フラッシュメモリとして構成されており、フラッシュメモリセルアレイの他にロウデコーダ,カラムデコーダ,センスアンプなど(いずれも図示せず)を備える。フラッシュメモリ232では、ページ単位(実施例では、8Kバイトなど)でデータを書き込んだりデータを読み出し、複数ページからなるブロック単位(実施例では、1Mバイトなど)で記憶しているデータを消去する。
【0105】
RRAM234は、チタン(Ti)や白金(Pt)などの金属から形成された上部電極250とチタン(Ti)や白金(Pt)などの金属から形成された下部電極252とで金属酸化物254を挟み込んで形成された図16に例示する抵抗変化素子56と、抵抗変化素子56に接続されたMOSトランジスタ(図示せず)とから構成されるRRAMセルを複数有するRRAMセルアレイ(図示せず)を備えるRRAMとして構成されており、RRAMセルアレイの他にロウデコーダ,カラムデコーダ,センスアンプなど(いずれも図示せず)を備える。RRAMセルは、上部電極250に印加される電圧V1が下部電極252に印加される電圧V2より高いときにセット(低抵抗化)され、電圧V1が電圧V2より低いときにリセット(高抵抗化)されるバイポーラ動作を行なう素子として形成されている。こうしたバイポーラ動作を行なうRRAMセルは、一般に、動作速度が比較的速く消費電力が少ない素子であるため、RRAM234は、動作速度が比較的早く消費電力が少ないメモリとして構成されている。なお、金属酸化物254としては、チタン酸化物(TiOx)やニッケル酸化物(NiOx),銅酸化物(CuOx),ハフニウム酸化物(HfOx)などの金属酸化物またはこれらの金属酸化物を複数積層された積層構造とするのが望ましいと考えられる。
【0106】
メモリコントローラ240は、複数の論理素子を有する論理回路として構成されており、メモリコントローラ240には、CPU222から各種制御信号やデータなどが入力されており、入力された制御信号に基づいてフラッシュメモリ232やRRAM234にデータが記憶されるようフラッシュメモリ232やRRAM234を制御したり、フラッシュメモリ232やRRAM234からデータが読み出されるようフラッシュメモリ232やRRAM234を制御して読み出したデータをCPU222に出力する。また、メモリコントローラ240は、RRAM234の記憶領域毎の書き換え回数の監視を行なっている。
【0107】
PC210では、図17に示すように、CPU222,SRAM220,DRAM224,SSD230のメモリコントローラ240が同一の半導体チップ260に搭載されており、SSD230のRRAM234が半導体チップ262に搭載されおり、フラッシュメモリ232が半導体チップ264に搭載されている。半導体チップ260,262,264は積層されており、半導体チップ260,262,264の3つのチップ間は各チップに形成された貫通孔に充填された銅(Cu)などの導電性の複数の金属電極266により電気的に接続されており、半導体チップ260,262,264は、金属電極266を介してデータや各種制御信号などのやりとりを行なっている。
【0108】
こうして構成された実施例のPC210では、SSD230のフラッシュメモリ232に記憶されているプログラムがCPU222に読み込まれ、読み込まれたプログラムに応じてSRAM220やDRAM224,SSD230からデータが読み出されるようSRAM220やDRAM224,SSD230が制御される。そして、読み出されたデータにはプログラムに応じた演算処理が施され、例えば動作の履歴を示すデータであるかなどのデータの種類や1秒間あたりに読み書きする回数であるアクセス頻度などの情報を含むヘッダ情報を演算処理結果としてのデータに付加してSRAM220やDRAM224,SSD230に書き込まれるようSRAM220やDRAM224,SSD230が制御される。
【0109】
次に、こうして構成されたPC210の動作、特に、データ処理装置の動作を休止させる際の動作について説明する。図18は、CPU222により実行される休止時処理ルーチンの一例を示すフローチャートである。このルーチンは、データ処理装置の動作を休止させる休止要求がなされたときに実行される。
【0110】
休止時処理ルーチンが実行されると、CPU222は、SRAM220とDRAM224からデータを読み出す処理を実行し(ステップS700)、読み出したデータとRRAM書き込み要求信号とをSSD230に出力し(ステップS710)、SSD230のメモリコントローラ240からデータの記憶が終了したときに出力される書き込み終了信号が入力されるのを待つ(ステップS720)。ここで、休止時処理ルーチンの説明をいったん中断して、RRAM書き込み要求信号が入力されたSSD230のメモリコントローラ240で実行される処理について説明する。
【0111】
図19は、SSD230のメモリコントローラ240で実行される記憶処理ルーチンの一例を示すフローチャートである。この処理は、SSD230のメモリコントローラ240にRRAM書き込み要求信号が入力されたときに実行される。記憶処理ルーチンが実行されると、メモリコントローラ240は、入力されたデータがRRAM234に記憶されるようRRAM234を制御し(ステップS800)、データをRRAM234に記憶させる制御が終了したら、書き込み終了信号をCPU222に出力して(ステップS810)、本処理ルーチンを終了する。こうした処理により、入力されたデータをRRAM234に記憶させることができる。以上、RRAM書き込み要求信号が入力されたSSD230のメモリコントローラ240で実行される処理について説明した。
【0112】
ここで、図18の休止時処理ルーチンの説明に戻る。書き込み終了信号が入力されたら(ステップS720)、SRAM220,DRAM224に記憶されているデータのRRAM234への待避が終了したと判断して、SRAM220,DRAM224,SSD230へ供給する電力を遮断して(ステップS730)、本処理を終了する。SSD230のRRAM234は、電力の供給が遮断されても記憶しているデータを保持することができるから、データ処理装置の休止要求がなされたときには、SRAM220,DRAM224に記憶されているデータをRRAM234に記憶させて、その後、SRAM220,DRAM224,SSD230への電力を遮断することにより、RRAM234に記憶されているデータを保持しつつ、消費電力の低減を図ることができる。さらに、RRAM234は、データを読み書きするアクセス時間が比較的短いため、休止しているデータ処理装置を起動させる際に、迅速にRRAM234に記憶させているデータをSRAM220,DRAM224で読み込んで迅速にデータ処理装置を起動させることができる。
【0113】
以上説明した第3実施例のPC210では、データ処理装置の休止要求がなされたときには、SRAM220,DRAM224に記憶されているデータをRRAM234に記憶させて、その後、SRAM220,DRAM224,SSD230への電力を遮断することにより、消費電力の低減を図ることができる。
【0114】
第3実施例のPC210では、SRAM220,DRAM224からデータを読み出して、読み出したデータをSSD230のRRAM234に記憶させるものとしたが、SRAM220に記憶されているデータおよびDRAM224に記憶されているデータのいずれか一方のみをSSD230のRRAM234に記憶させるものとしてもよい。また、SRAM220,DRAM224に記憶されているデータの全てをSSD230のRRAM234に記憶させてもよいし、SRAM220,DRAM224に記憶されているデータの一部をSSD230のRRAM234に記憶させるものとしてもよい。
【0115】
第3実施例のPC210では、ステップS800の処理で、入力されたデータをそのままRRAM234に記憶させるものとしたが、入力されたデータをBCH符号などのエラー訂正符号を用いて符号化するものとしたり、RRAM234の記憶領域毎の書き換え回数に基づいてRRAMセルの1セルあたりの書き換え回数を平滑化するためのウェアレベリングで行ないながら入力されたデータをRRAM234に記憶させるものとしてもよい。
【0116】
第3実施例のPC210では、SSD230は、フラッシュメモリ232を備えているものとしたが、フラッシュメモリ232に代えて他の不揮発性の記憶装置、例えば、ハードディスクドライブなどを備えているものとしてもよい。
【0117】
第3実施例のPC210では、RRAM234のRRAMセルをバイポーラ動作を行なう素子として形成されているものとしたが、RRAMセルを抵抗変化素子256とダイオード(図示せず)とにより構成すると共に、電圧V1に電圧V2より高い電圧が印加されたときにセット(低抵抗化)され、電圧V1に電圧V2より高くRRAMセルをセットする電圧より低い電圧が印加されたときにリセット(高抵抗化)されるユニポーラ動作を行なう素子として形成するものとしてもよい。こうしたユニポーラ動作を行なうRRAMセルは、一般に、バイポーラ動作を行なうRRAMセルに比して小さいセルサイズで簡単なセル構成で構成するため、RRAMセルをバイポーラ動作を行なう素子として形成するものに比して、動作が若干遅くなるものの、面積をより小さくすることができる。
【0118】
第3実施例のPC210では、SSD230は、RRAM234を備えているものとしたが、RRAM234に代えて他の不揮発性ランダムアクセスメモリ、例えば、二つの電極で強誘電体材料を挟み込んだキャパシタを有する強誘電体ランダムアクセスメモリやトンネル磁気抵抗膜を磁性体膜で挟み込んだ構造のMTJ素子を有する磁気抵抗ランダムアクセスメモリや二つの電極で相変化材料を挟み込んだ素子を有する相変化ランダムアクセスメモリなどを備えるものとしてもよい。
【0119】
第3実施例のPC210では、RRAM234が半導体チップ264に搭載されているものとしたが、RRAM234を複数に分割して分割したRRAMがそれぞれ異なる半導体チップに搭載されているものとしてもよい。
【0120】
第3実施例のPC210では、CPU222,SRAM220,DRAM224,SSD230のメモリコントローラ240が半導体チップ260に搭載されているものとしたが、CPU222,SRAM220,DRAM224,SSD230のメモリコントローラ240がそれぞれ異なる半導体チップに搭載されているものとしても構わない。
【0121】
第3実施例のPC210では、半導体チップ260,262,264の3つのチップ間は積層され、複数の金属電極266により電気的に接続されているものとしたが、半導体チップ260,262,264がそれぞれ個別に樹脂パッケージ等の内部に封止され、封止したものが1枚または複数の配線基板に載置されるものとしてもよい。
【0122】
第3実施例では、本発明をパーソナルコンピュータに適用する場合を例示したが、データを処理するデータ処理装置であれば如何なるものに用いてもよく、例えば、携帯電話などに用いるものとしても構わない。
【0123】
第3実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。第1実施例では、本発明の第1のデータ処理装置において、DRAM224が「第1メモリ」に相当し、RRAM234が「第2メモリ」に相当し、データ処理装置の休止要求がなされたときにはSRAM220,DRAM224に記憶されているデータをRRAM234に記憶させて、その後、SRAM220,DRAM224,SSD230への電力を遮断するCPU222とメモリコントローラ240とを組み合わせたものが「制御処理手段」に相当する。
【実施例4】
【0124】
図20は本発明の第4実施例としてのデータ処理装置であるPC310の構成の概略を示す説明図である。PC310は、パーソナルコンピュータとして構成されており、キャッシュメモリとしてのSRAM320を内蔵し各種演算処理や制御を実行するホスト装置としてのCPU322と、データを一時的に記憶する主記憶装置としてのDRAM324と、データを記憶するRRAM326と、各種アプリケーションプログラムや各種データを記憶する大容量のデータ記憶装置としてのSSD(Solid State Drive)330とを備えている。CPU322とDRAM324とRRAM326とSSD330とは、互いにバス331を介してデータや各種信号などをやりとりできるよう構成されている。
【0125】
RRAM326は、チタン(Ti)や白金(Pt)などの金属から形成された上部電極350とチタン(Ti)や白金(Pt)などの金属から形成された下部電極352とで金属酸化物354を挟み込んで形成された図21に例示する抵抗変化素子356と、抵抗変化素子356に接続されたMOSトランジスタ(図示せず)とから構成されるRRAMセルを複数有するRRAMセルアレイ(図示せず)を備えるRRAMとして構成されており、RRAMセルアレイの他にロウデコーダ,カラムデコーダ,センスアンプなど(いずれも図示せず)を備える。RRAMセルは、上部電極350に印加される電圧V1が下部電極352に印加される電圧V2より高いときにセット(低抵抗化)され、電圧V1が電圧V2より低いときにリセット(高抵抗化)されるバイポーラ動作を行なう素子として形成されている。こうしたバイポーラ動作を行なうRRAMセルは、一般に、動作速度が比較的速く消費電力が少ない素子であるため、RRAM326は、動作速度が比較的早く消費電力が少ないメモリとして構成されている。なお、金属酸化物354としては、チタン酸化物(TiOx)やニッケル酸化物(NiOx),銅酸化物(CuOx),ハフニウム酸化物(HfOx)などの金属酸化物またはこれらの金属酸化物を複数積層された積層構造とするのが望ましいと考えられる。
【0126】
SSD330は、電力の供給が遮断されてもデータを保持可能な不揮発性の記憶装置として構成されており、NAND型フラッシュメモリとして構成されたフラッシュメモリ(図示せず)と、フラッシュメモリを制御するメモリコントローラ(図示せず)と、から構成されており、バス331を介して入力されたデータをフラッシュメモリに記憶したり、フラッシュメモリに記憶しているデータをバス331に出力する。SSD330のフラッシュメモリには各種アプリケーションプログラムや各種データファイルが記憶させれている。
【0127】
CPU322は、SSD330が記憶している各種アプリケーションプログラムや各種データファイルがDRAM324やRRAM326に記憶されるようDRAM324やRRAM326,SSD330を制御して、DRAM324に記憶させた各種アプリケーションプログラムに応じた演算処理を実行し、実行した結果をデータとしてDRAM324やRRAM326,SSD330に記憶されるようDRAM324やRRAM326,SSD330を制御したり、定期的にDRAM324に記憶されているデータを読み出した後に読み出したデータをDRAM324に書き込むリフレッシュ動作がなされるようDRAM324を制御する。
【0128】
こうして構成された実施例のPC310では、SSD330のフラッシュメモリに記憶されているプログラムがCPU322に読み込まれ、読み込まれたプログラムに応じてSRAM320やDRAM324,RRAM326,SSD330からデータが読み出されるようSRAM320やDRAM324,RRAM326,SSD330が制御される。そして、読み出されたデータにはプログラムに応じた演算処理が施され、例えば動作の履歴を示すデータであるかなどのデータの種類や1秒間あたりに読み書きする回数であるアクセス頻度などの情報を含むヘッダ情報を演算処理結果としてのデータに付加してSRAM320やDRAM324,RRAM326,SSD330に書き込まれるようSRAM320やDRAM324,RRAM326,SSD330が制御される。
【0129】
次に、こうして構成されたPC310の動作、特に、データをDRAM324またはRRAM326に書き込む際の動作とPC310を休止させる際の動作とについて説明する。まずは、データをDRAM324またはRRAM326に書き込む際の動作について説明する。図22はCPU322により実行されるデータ書き込み処理ルーチンの一例を示すフローチャートである。このルーチンは、プログラムを実行している最中などCPU322で演算したデータを一時的に保存するときに実行される。
【0130】
データ書き込み処理ルーチンが実行されると、CPU322は、保存すべき書き込みデータDのヘッダ情報を調べることにより書き込みデータDの種類を調べる(ステップS900)、書き込みデータDが書き換え回数が多い高書き換えデータ(例えば、動作の履歴を書き込むファイルや各種アプリケーションのユーザデータなど)であるときにはDRAM324に書き込みデータDが記憶されるようDRAM324を制御して(ステップS910)、本処理ルーチンを終了する。こうした処理により、書き込みデータDが高書き換えデータであるときには書き込みデータDをDRAM324に記憶させることができる。
【0131】
書き込みデータDが高書き換えデータでないときには、RRAM326に書き込みデータDが記憶されるようRRAM326を制御して(ステップS920)、本処理ルーチンを終了する。一般に、DRAMは、定期的(例えば、数μs毎)に記憶しているデータを読み出した後に読み出したデータをDRAMに再書き込みするリフレッシュ動作を行なう必要があるが、書き込みデータDが高書き換えデータであるときにはDRAM324に書き込みデータDを記憶させることにより、DRAM324に記憶しているデータが頻繁に書き換えられることになり、書き込みデータDの種類に拘わらず書き込みデータDをDRAM324に記憶させるものに比して、DRAM324のリフレッシュ動作の時間間隔を長くしてリフレッシュ回数を減少させることができ、消費電力の低減を図ることができる。また、一般に、RRAMは同じ領域への書き換え回数が多くなるほど劣化が進むと考えられるが、書き込みデータDが高書き換えデータでないときに書き込みデータDをRRAM326に記憶させることにより、RRAM326の書き換え回数を減少させることができ、RRAM326の劣化を抑制することができる。こうした処理により、RRAM326の劣化を抑制しながら消費電力の低減を図ることができる。
【0132】
次に、PC310を休止させる際の動作について説明する。図23は、CPU322により実行される休止時処理ルーチンの一例を示すフローチャートである。このルーチンは、データ処理装置の動作を休止させる休止要求がなされたときに実行される。
【0133】
休止時処理ルーチンが実行されると、CPU322は、SRAM320とDRAM324からデータが読み出されるようSRAM320とDRAM324とを制御する処理を実行し(ステップS1000)、読み出したデータがRRAM326に記憶されるようRRAM326を制御し(ステップS1010)、RRAM326でのデータの書き込みが終了するまで待つ(ステップS1020)。こうした処理により、入力されたデータをRRAM326に記憶させることができる。
【0134】
書き込みが終了したら(ステップS1020)、SRAM320,DRAM324に記憶されているデータのRRAM326への待避が終了したと判断して、SRAM320,DRAM324,RRAM326,SSD330へ供給する電力を遮断して(ステップS1030)、本処理ルーチンを終了する。SSD330のRRAM326は、電力の供給が遮断されても記憶しているデータを保持することができるから、データ処理装置の休止要求がなされたときには、SRAM320,DRAM324に記憶されているデータをRRAM326に記憶させて、その後、SRAM320,DRAM324,RRAM326,SSD330への電力を遮断することにより、RRAM326に記憶されているデータを保持しながら、消費電力の低減を図ることができる。さらに、RRAM326は、データを読み書きするアクセス時間が比較的短いため、休止しているデータ処理装置を起動させる際に、迅速にRRAM326に記憶させているデータをSRAM320,DRAM324で読み込んで迅速にデータ処理装置を起動させることができる。
【0135】
以上説明した第4実施例のPC310では、書き込みデータDが高書き換えデータであるときにはDRAM324に書き込みデータDが記憶されるようDRAM324を制御し、書き込みデータDが高書き換えデータでないときに書き込みデータDがRRAM326に記憶させられるようRRAM326を制御することにより、RRAM326の劣化を抑制しながら消費電力の低減を図ることができる。また、データ処理装置の休止要求がなされたときには、SRAM320,DRAM324に記憶されているデータをRRAM326に記憶させて、その後、SRAM320,DRAM324,RRAM326,SSD330への電力を遮断することにより、消費電力の低減を図ることができる。
【0136】
第4実施例のPC310では、SRAM320,DRAM324からデータを読み出して、読み出したデータをSSD330のRRAM326に記憶させるものとしたが、SRAM320に記憶されているデータおよびDRAM324に記憶されているデータのいずれか一方のみをSSD330のRRAM326に記憶させるものとしてもよい。また、SRAM320,DRAM324に記憶されているデータの全てをSSD330のRRAM326に記憶させてもよいし、SRAM320,DRAM324に記憶されているデータの一部をSSD330のRRAM326に記憶させるものとしてもよい。
【0137】
第4実施例のPC310では、ステップS1010の処理で、入力されたデータをそのままRRAM326に記憶させるものとしたが、入力されたデータをBCH符号などのエラー訂正符号を用いて符号化するものとしたり、RRAM326の記憶領域毎の書き換え回数に基づいてRRAMセルの1セルあたりの書き換え回数を平滑化するためのウェアレベリングで行ないながら入力されたデータをRRAM326に記憶させるものとしてもよい。
【0138】
第4実施例のPC310では、CPU322はRRAM326を制御するものとしたが、RRAM326は書き換え回数の増加と共に劣化していく傾向にあるため、RRAM326からCPU322にRRAM326の信頼性に関する情報を含むデータを出力し、CPU322はこうした信頼性に関する情報を用いてエラー訂正符号を用いたエラー訂正やRRAMセルの1セルあたりの書き換え回数を平滑化するためのウェアレベリングを実行するものとしてもよい。RRAM326が出力する信頼性に関する情報としては、図24に例示するように、RRAM326に記憶されたデータのうちエラーが生じているビット数や現在から予め定めたPC310の製品寿命を迎えるとき(例えば、現在から10年,12年,14年など)までにRRAM326を書き換え可能な回数の最大値,PC310の使用が開始されてからの総書き換え回数、現在から予め定めたPC310の製品寿命を迎えるとき(例えば、現在から10年,12年,14年など)までに書き換え可能なビット数,PC310の使用が開始されてからRRAM326で書き換えられたビット数の総数である総書き換えビット数などを少なくとも1つ含むものとするのが望ましい。
【0139】
第4実施例のPC310では、SSD330は、フラッシュメモリを備えているものとしたが、フラッシュメモリに代えて他の不揮発性の記憶装置、例えば、ハードディスクドライブなどを備えているものとしてもよい。
【0140】
第4実施例のPC310では、RRAM326のRRAMセルをバイポーラ動作を行なう素子として形成されているものとしたが、RRAMセルを抵抗変化素子356とダイオード(図示せず)とにより構成すると共に、電圧V1に電圧V2より高い電圧が印加されたときにセット(低抵抗化)され、電圧V1に電圧V2より高くRRAMセルをセットする電圧より低い電圧が印加されたときにリセット(高抵抗化)されるユニポーラ動作を行なう素子として形成するものとしてもよい。こうしたユニポーラ動作を行なうRRAMセルは、一般に、バイポーラ動作を行なうRRAMセルに比して小さいセルサイズで簡単なセル構成で構成するため、RRAMセルをバイポーラ動作を行なう素子として形成するものに比して、動作が若干遅くなるものの、面積をより小さくすることができる。
【0141】
第4実施例のPC310では、RRAM326を備えているものとしたが、RRAM326に代えて他の不揮発性ランダムアクセスメモリ、例えば、二つの電極で強誘電体材料を挟み込んだキャパシタを有する強誘電体ランダムアクセスメモリやトンネル磁気抵抗膜を磁性体膜で挟み込んだ構造のMTJ素子を有する磁気抵抗ランダムアクセスメモリや二つの電極で相変化材料を挟み込んだ素子を有する相変化ランダムアクセスメモリなどを備えるものとしてもよい。
【0142】
第4実施例では、本発明をパーソナルコンピュータに適用する場合を例示したが、データを処理するデータ処理装置であれば如何なるものに用いてもよく、例えば、携帯電話やデジタルスチルカメラ,デジタルビデオカメラなどに用いるものとしても構わない。
【0143】
第4実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。第4実施例では、本発明の第1のデータ処理装置において、DRAM324が「第1メモリ」に相当し、RRAM326が「第2メモリ」に相当し、書き込みデータDが高書き換えデータであるときにはDRAM324に書き込みデータDが記憶されるようDRAM324を制御し、書き込みデータDが高書き換えデータでないときに書き込みデータDがRRAM326に記憶させられるようRRAM326を制御するCPU322が「制御処理手段」に相当する。また、データ処理装置の休止要求がなされたときには、SRAM320,DRAM324に記憶されているデータをRRAM326に記憶させて、その後、SRAM320,DRAM324,RRAM326,SSD330への電力を遮断するCPU322も「制御処理手段」に相当する。
【0144】
第4実施例では、本発明の第2のデータ処理装置において、DRAM324が「第1メモリ」に相当し、RRAM326が「第2メモリ」に相当し、データ処理装置の休止要求がなされたときには、SRAM320,DRAM324に記憶されているデータをRRAM326に記憶させて、その後、SRAM320,DRAM324,RRAM326,SSD330への電力を遮断するCPU322が「制御処理手段」に相当する。
【0145】
第4実施例では、本発明の第3のデータ処理装置において、RRAM326が「不揮発性メモリ」に相当し、RRAM326の信頼性に関する情報を出力するRRAM326が「情報出力手段」に想到し、出力された信頼性データを用いてエラー訂正の処理を行なうCPU322が「制御処理手段」に相当する。
【実施例5】
【0146】
図25は本発明の第5実施例としてのデータ処理装置である携帯電話410の構成の概略を示す説明図である。携帯電話410は、移動体通信システムにおける携帯端末として構成されており、各種演算処理や制御を実行するCPU422と、データを一時的に記憶する主記憶装置としてのDRAM424と、各種アプリケーションプログラムや各種データを記憶する大容量のデータ記憶装置としてのSDメモリカード430とを備えている。CPU422とDRAM424とSDメモリカード430とは、互いにバス431を介してデータや各種信号などをやりとりできるよう構成されている。
【0147】
CPU422は、SDメモリカード430が記憶している各種アプリケーションプログラムや各種データファイルがDRAM424に記憶されるようSDメモリカード430やDRAM424を制御して、DRAM424に記憶させた各種アプリケーションプログラムに応じた演算処理を実行し、実行した結果をデータとしてDRAM424やSDメモリカード430に記憶されるようDRAM424やSDメモリカード430を制御したり、定期的にDRAM424に記憶されているデータを読み出した後に読み出したデータをDRAM424に書き込むリフレッシュ動作がなされるようDRAM424を制御する。また、CPU422は、外部の電源からDRAM424,SDメモリカード430への電力の供給を遮断することができる。
【0148】
SDメモリカード430は、NAND型フラッシュメモリとして構成されたフラッシュメモリ432と、抵抗変化ランダムアクセスメモリ(Resistance Random Access Memory,RRAM)として構成されたRRAM434と、フラッシュメモリ432とRRAM434とを制御する制御装置としてのメモリコントローラ440と、から構成されている。
【0149】
フラッシュメモリ432は、フローティングゲートへの電子注入やフローティングゲートからの電子の引き抜きにより閾値電圧が変化するフラッシュメモリセルを複数有するフラッシュメモリセルアレイ(図示せず)を備えるNAND型フラッシュメモリとして構成されており、フラッシュメモリセルアレイの他にロウデコーダ,カラムデコーダ,センスアンプなど(いずれも図示せず)を備える。フラッシュメモリ432では、ページ単位(実施例では、8Kバイトなど)でデータを書き込んだりデータを読み出し、複数ページからなるブロック単位(実施例では、1Mバイトなど)で記憶しているデータを消去する。
【0150】
RRAM434は、チタン(Ti)や白金(Pt)などの金属から形成された上部電極450とチタン(Ti)や白金(Pt)などの金属から形成された下部電極452とで金属酸化物454を挟み込んで形成された図26に例示する抵抗変化素子456と、抵抗変化素子456に接続されたMOSトランジスタ(図示せず)とから構成されるRRAMセルを複数有するRRAMセルアレイ(図示せず)を備えるRRAMとして構成されており、RRAMセルアレイの他にロウデコーダ,カラムデコーダ,センスアンプなど(いずれも図示せず)を備える。RRAMセルは、上部電極450に印加される電圧V1が下部電極452に印加される電圧V2より高いときにセット(低抵抗化)され、電圧V1が電圧V2より低いときにリセット(高抵抗化)されるバイポーラ動作を行なう素子として形成されている。こうしたバイポーラ動作を行なうRRAMセルは、一般に、動作速度が比較的速く消費電力が少ない素子であるため、RRAM434は、動作速度が比較的早く消費電力が少ないメモリとして構成されている。なお、金属酸化物454としては、チタン酸化物(TiOx)やニッケル酸化物(NiOx),銅酸化物(CuOx),ハフニウム酸化物(HfOx)などの金属酸化物またはこれらの金属酸化物を複数積層された積層構造とするのが望ましいと考えられる。
【0151】
メモリコントローラ440は、複数の論理素子を有する論理回路として構成されており、メモリコントローラ440には、CPU422から各種制御信号やデータなどが入力されており、入力された制御信号に基づいてフラッシュメモリ432やRRAM434にデータが記憶されるようフラッシュメモリ432やRRAM434を制御したり、フラッシュメモリ432やRRAM434からデータが読み出されるようフラッシュメモリ432やRRAM434を制御して読み出したデータをCPU422に出力する。また、メモリコントローラ440は、RRAM434の記憶領域毎の書き換え回数の監視を行なっている。
【0152】
こうして構成された実施例の携帯電話410では、SDメモリカード430のRRAM434にアプリケーションなど各種プログラムが記憶されており、ユーザにより携帯電話410が操作されてプログラム読み出し要求がなされたとき、CPU422はプログラム読み出し信号をSDメモリカード430に出力し、プログラム読み出し信号を入力されたSDメモリカード430のメモリコントローラ440は、RRAM434に記憶されるプログラムが読み出されるようRRAM434を制御し、CPU422は出力されたプログラムを読み込む。こうしてCPU422でプログラムが読み込まれると、CPUなどを422は、読み込まれたプログラムに応じてDRAM424,SDメモリカード430のフラッシュメモリ432,RRAM434からデータが読み出されるようDRAM424,SDメモリカード430を制御する。一般に、RRAMはフラッシュメモリより高速にデータを読み書きすることができる。したがって、RRAM434に各種プログラムを記憶することにより、各種プログラムをフラッシュメモリに記憶するものより高速に各種プログラムを読み出すことができ、データの処理をより高速に行なうことができる。
【0153】
以上説明した第5実施例の携帯電話410では、SDメモリカード430のRRAM434に各種プログラムが記憶されており、プログラム読み出し要求がなされたとき、CPU422はプログラム読み出し信号をSDメモリカード430に出力し、プログラム読み出し信号を入力されたSDメモリカード430のメモリコントローラ440は、RRAM434に記憶されるプログラムが読み出されるようRRAM434を制御する。これにより、データの処理をより高速に行なうことができる。
【0154】
第5実施例の携帯電話410では、RRAM434のRRAMセルをバイポーラ動作を行なう素子として形成されているものとしたが、RRAMセルを抵抗変化素子456とダイオードとにより構成すると共に、電圧V1に電圧V2より高い電圧が印加されたときにセット(低抵抗化)され、電圧V1に電圧V2より高くRRAMセルをセットする電圧より低い電圧が印加されたときにリセット(高抵抗化)されるユニポーラ動作を行なう素子として形成するものとしてもよい。こうしたユニポーラ動作を行なうRRAMセルは、一般に、バイポーラ動作を行なうRRAMセルに比して小さいセルサイズで簡単なセル構成で構成するため、RRAMセルをバイポーラ動作を行なう素子として形成するものに比して、動作が若干遅くなるものの、面積をより小さくすることができる。
【0155】
第5実施例の携帯電話410では、SDメモリカード430は、RRAM434を備えているものとしたが、RRAM434に代えて他の不揮発性ランダムアクセスメモリ、例えば、二つの電極で強誘電体材料を挟み込んだキャパシタを有する強誘電体ランダムアクセスメモリやトンネル磁気抵抗膜を磁性体膜で挟み込んだ構造のMTJ素子を有する磁気抵抗ランダムアクセスメモリや二つの電極で相変化材料を挟み込んだ素子を有する相変化ランダムアクセスメモリなどを備えるものとしてもよい。
【0156】
第5実施例の携帯電話410では、SDメモリカード430は、フラッシュメモリ432を備えているものとしたが、フラッシュメモリ432に代えて他の不揮発性の記憶装置、例えば、ハードディスクドライブなどを備えているものとしてもよい。
【0157】
第5実施例の携帯電話410では、RRAM434はSDメモリカード430に搭載されているものとしたが、図27の変形例の携帯電話510に例示するように、RRAM434がSDメモリカード430に搭載されていないものとして、RRAM434がCPU422から制御されるものとしてもよい。この場合において、プログラム読み出し要求がなされたとき、CPU422はRRAM434に記憶されるプログラムが読み出されるようRRAM434を制御するものとするのが望ましい。
【0158】
第5実施例では、本発明を携帯電話に適用する場合を例示したが、データを処理するデータ処理装置であれば如何なるものに用いてもよく、例えば、デジタルスチルカメラやデジタルビデオカメラ、パーソナルコンピュータなど用いるものとしても構わない。
【0159】
第5実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。第5実施例では、本発明の第4のデータ処理装置において、RRAM434が「抵抗変化メモリ」に相当し、プログラム読み出し要求がなされたときプログラム読み出し信号をSDメモリカード430に出力するCPU422とプログラム読み出し信号を入力されたときにRRAM434に記憶されるプログラムが読み出されるようRRAM434を制御するSDメモリカード430のメモリコントローラ440とが「制御処理手段」に相当する。
【0160】
以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。
【産業上の利用可能性】
【0161】
本発明は、データ処理装置や制御装置,データ記憶装置などの製造産業に利用可能である。
【符号の説明】
【0162】
10,110,210,310 PC、20,120,220,320 SRAM、22,122,222,322,422 CPU、24,124,224,324,424 DRAM、30,130,230,330 SSD、31,131,231,331,431 バス、32,132,232,432 フラッシュメモリ、34,134,136,234,326,434 RRAM、40,140,240,440 メモリコントローラ、41,141 制御処理回路、42 オンチップタイマー回路、44 SRAM、46 レジスタ、50,150,250,350,450 上部電極、52,152,252,352,452 下部電極、54,154,254,354,454 金属酸化物、56,156,256,356,456 抵抗変化素子、60,62,64,160,162,164,260,262,264 半導体チップ、66,166,266 金属電極、410,510 携帯電話、430 SDメモリカード、435 プログラム。

【特許請求の範囲】
【請求項1】
データを処理するデータ処理装置であって、
ダイナミックランダムアクセスメモリとして構成された第1メモリと、
不揮発性ランダムアクセスメモリとして構成されたデータを記憶する第2メモリと、
書き込むべき書き込みデータが書き換え回数が多い高書き換えデータであるときには前記書き込みデータが前記第1メモリに記憶されるよう該第1メモリを制御し、前記書き込みデータが前記高書き換えデータでないときには前記書き込みデータが前記第2メモリに記憶されるよう前記第2メモリを制御する制御処理手段と、
を備えるデータ処理装置。
【請求項2】
請求項1記載のデータ処理装置であって、
前記制御処理手段は、
前記書き込みデータが前記高書き換えデータであるときには前記書き込みデータが前記第1メモリに記憶されるよう前記第1メモリを制御し、前記書き込みデータが前記高書き換えデータでないときには前記第2メモリへのデータの書き込みを要求する第2メモリ書き込み要求信号と前記書き込みデータとを出力する第1制御手段と、
前記第2メモリ書き込み要求信号が入力されたときには、前記入力された書き込みデータが前記第2メモリに書き込まれるよう前記第2メモリを制御する第2制御手段と、
を有する手段である、
データ処理装置。
【請求項3】
請求項2記載のデータ処理装置であって、
前記制御処理手段の第1制御手段は、前記書き込みデータが前記高書き換えデータでないときには前記第2メモリ書き込み要求信号および前記書き込みデータと共に論理アドレス情報を出力する手段であり、
前記制御処理手段の第2制御手段は、
ダイナミックランダムアクセスメモリと異なる種類の揮発性ランダムアクセスメモリとして構成された揮発性記憶部と、
前記第2メモリ書き込み要求信号が入力されたとき、前記第2メモリのデータを記憶可能な記憶領域のうち書き換え回数が比較的少ない領域のデータが書き換えられるよう前記入力された論理アドレス情報を前記第2メモリの物理アドレス情報に変換する際の前記論理アドレス情報と前記物理アドレス情報との関係であるアドレス変換テーブルを生成して記憶する変換テーブル記憶部と、
前記第2メモリ書き込み要求信号が入力されたとき、前記入力された書き込みデータが所定サイズ以上のデータであるときには前記記憶されているアドレス変換テーブルを読み出して該読み出したアドレス変換テーブルを用いて前記入力された論理アドレス情報を前記物理アドレス情報に変換すると共に前記変換後の物理アドレス情報に対応する前記第2メモリの領域に前記書き込みデータが記憶されるよう前記第2メモリを制御し、前記入力された書き込みデータが前記所定サイズ未満のデータであるときには前記第2メモリ書き込み要求信号が入力されたときであっても前記揮発性記憶部の前記入力された論理アドレス情報に対応する領域に前記書き込みデータを記憶されるよう前記揮発性記憶部を制御する記憶制御部と、
を有する手段である
データ処理装置。
【請求項4】
請求項3記載のデータ処理装置であって、
前記制御処理手段の第2制御手段は、
前記書き込みデータとして前記所定サイズ未満のデータが入力されてからの経過時間を計測する計時部
を有し、
前記記憶制御部は、前記経過時間が所定時間を経過するまでに、前記第1制御手段から逐次入力されるデータのサイズが前記所定サイズ以上であるときには前記揮発性記憶部に記憶されているデータを読み出して該読み出したデータが前記第2メモリに記憶されるよう前記第2メモリを制御する制御部である
データ処理装置。
【請求項5】
請求項2記載のデータ処理装置であって、
不揮発性の記憶装置として構成された不揮発性記憶装置と、
前記不揮発性ランダムアクセスメモリとして構成された第4メモリと、
を備え、
前記制御処理手段の第1制御手段は、前記不揮発性記憶装置へのデータの書き込みの要求がなされたときには記憶装置書き込み要求信号と前記書き込みデータとを前記第2制御手段に出力し、前記不揮発性記憶装置からのデータの読み出しが要求されたときには記憶装置読み出し要求信号を前記第2制御手段に出力し、前記第2メモリからのデータの読み出しが要求されたときには第2メモリ読み出し要求信号を前記第2制御手段に出力する手段であり、
前記制御処理手段の第2制御手段は、
前記記憶装置書き込み要求信号が入力されたとき、前記入力された書き込みデータが読み書きの頻度が高い高頻度アクセスデータでないときには前記入力された書き込みデータが前記記憶装置に記憶されるよう前記不揮発性記憶装置を制御し、前記入力された書き込みデータが前記高頻度アクセスデータであるときには前記入力された書き込みデータを第1のエラー訂正符号に符号化すると共に該符号化したデータが前記第4メモリに記憶されるよう前記第4メモリを制御する第1符号化処理部と、
前記第2メモリ書き込み要求信号が入力されたときには、前記入力された書き込みデータを前記第1のエラー訂正符号より訂正可能なビットエラー数が少ない第2のエラー訂正符号に符号化すると共に該符号化したデータが前記第2メモリに記憶されるよう前記第2メモリを制御する第2符号化処理部と、
前記記憶装置読み出し要求信号が入力されたとき、出力すべき出力データが前記高頻度アクセスデータでないときに前記不揮発性記憶装置からデータが読み出されるよう前記不揮発性記憶装置を制御し、前記出力データが前記高頻度アクセスデータであるときには前記第4メモリからデータが読み出されるよう前記第4メモリを制御して該読み出したデータに対して前記第1のエラー訂正符号を用いてエラー訂正した後に復号して前記第1制御手段に出力する第1復号処理部と、
前記第2メモリ読み出し要求信号が入力されたときには、前記第2メモリからデータが読み出されるよう前記第2メモリを制御して該読み出したデータに対して前記第2のエラー訂正符号を用いてエラー訂正した後に復号して前記第1制御手段に出力する第2復号処理部と、
を有する手段である
データ処理装置。
【請求項6】
請求項5記載のデータ処理装置であって、
前記第1のエラー訂正符号は前記書き込みデータにパリティビットを付加してなるコードワードが第1のサイズのBCH符号であり、前記第2のエラー訂正符号は前記コードワードが前記第1のサイズより小さい第2のサイズのBCH符号である
データ処理装置。
【請求項7】
請求項5または6記載のデータ処理装置であって、
前記第2メモリと前記第4メモリは、同一の半導体チップに搭載されてなる
データ処理装置。
【請求項8】
請求項5ないし7いずれか1つの請求項に記載のデータ処理装置であって、
前記第1メモリと前記制御処理手段とは、第1の半導体チップに搭載されてなり、
前記第2メモリおよび前記第4メモリは、前記第1の半導体チップと異なる第2の半導体チップに搭載されてなり、
前記不揮発性記憶装置は、前記第1の半導体チップおよび前記第2の半導体チップと異なる第3の半導体チップに搭載されたフラッシュメモリであり、
前記第1の半導体チップおよび前記第2の半導体チップおよび前記第3の半導体チップの3つのチップが積層されてなり、前記3つのチップ間は各チップに形成された複数の貫通孔に充填された導電性の金属電極により電気的に接続されてなる
データ処理装置。
【請求項9】
請求項5ないし7いずれか1つの請求項に記載のデータ処理装置であって、
前記不揮発性の装置は、ハードディスクドライブである
データ処理装置。
【請求項10】
請求項2記載のデータ処理装置であって、
前記制御処理手段の第1制御手段は、前記データ処理装置を休止させる休止要求がなされたときには、前記第1メモリに記憶されているデータを読み出して前記第2メモリ書き込み要求信号を出力すると共に前記読み出したデータを前記書き込みデータとして前記第2制御手段に出力し、その後、外部電源から前記第1メモリおよび前記第2メモリおよび前記第2制御手段への電力の供給を遮断する手段である
データ処理装置。
【請求項11】
請求項2または10記載のデータ処理装置であって、
ダイナミックランダムアクセスメモリと異なる種類の揮発性ランダムアクセスメモリとして構成された第3メモリ
を備え、
前記制御処理手段の第1制御手段は、前記データ処理装置を休止させる休止要求がなされたときには、前記第1メモリに記憶されているデータと前記第3メモリに記憶されているデータとを読み出して前記第2メモリ書き込み要求信号を出力すると共に前記読み出したデータを前記書き込みデータとして前記第2制御手段に出力し、その後、前記外部電源から前記第1メモリおよび前記第2メモリおよび前記第3メモリおよび前記第2制御手段への電力の供給を遮断する手段である
データ処理装置。
【請求項12】
請求項1ないし11いずれか1つの請求項に記載のデータ処理装置であって、
前記制御処理手段は、前記データ処理装置を休止させる休止要求がなされたときには、前記第1メモリに記憶されているデータを読み出して該読み出したデータが前記第2メモリに記憶されるよう前記第1メモリと前記第2メモリとを制御し、前記第2メモリでのデータの記憶が終了した後に外部電源から前記第1メモリおよび前記第2メモリへの電力の供給を遮断する手段である
データ処理装置。
【請求項13】
請求項12記載のデータ処理装置であって、
ダイナミックランダムアクセスメモリと異なる種類の揮発性ランダムアクセスメモリとして構成された第3メモリ
を備え、
前記制御処理手段は、前記データ処理装置を休止させる休止要求がなされたときには、前記第1メモリに記憶されているデータと前記第3メモリに記憶されているデータとを読み出して該読み出したデータが前記第2メモリに記憶されるよう前記第1メモリと前記第2メモリと前記第3メモリとを制御し、前記第3メモリにおけるデータの記憶が終了した後に前記外部電源から前記第1メモリおよび前記第2メモリおよび前記第3メモリへの電力の供給を遮断する手段である
データ処理装置。
【請求項14】
データを処理するデータ処理装置であって、
揮発性ランダムアクセスメモリとして構成された第1メモリと、
不揮発性ランダムアクセスメモリとして構成されたデータを記憶する第2メモリと、
前記データ処理装置を休止させる休止要求がなされたときには、前記第1メモリに記憶されているデータを読み出して該読み出したデータが前記第2メモリに記憶されるよう前記第1メモリと前記第2メモリとを制御し、前記第2メモリでのデータの記憶が終了した後に外部電源から前記第1メモリおよび前記第2メモリへの電力の供給を遮断する制御処理手段と、
を備えるデータ処理装置。
【請求項15】
請求項14記載のデータ処理装置であって、
前記制御処理手段は、
前記第2メモリへのデータの書き込みを要求する第2メモリ書き込み要求信号が入力されたときには、入力されたデータが前記第2メモリに記憶されるよう前記第2メモリを制御した後に第2メモリ書き込み終了信号を出力する第2メモリ制御手段と、
前記休止要求がなされたときには前記第1メモリに記憶されているデータを読み出して該読み出したデータと前記第2メモリ書き込み要求信号とを前記第2メモリ制御手段に出力し、前記第2メモリ書き込み終了信号が入力されたときには外部電源から前記第1メモリおよび前記第2メモリおよび前記第2メモリ制御手段への電力の供給を遮断する第1メモリ制御手段と、
を有する手段である、
データ処理装置。
【請求項16】
請求項4〜6,14,15いずれか1つの請求項に記載のデータ処理装置であって、
前記揮発性ランダムアクセスメモリは、ダイナミックランダムアクセスメモリまたはスタティックランダムアクセスメモリである
データ処理装置。
【請求項17】
請求項1ないし16いずれか1つの請求項に記載のデータ処理装置であって、
前記不揮発性ランダムアクセスメモリは、抵抗変化ランダムアクセスメモリおよび強誘電体ランダムアクセスメモリおよび磁気抵抗ランダムアクセスメモリおよび相変化ランダムアクセスメモリのいずれかである
データ処理装置。
【請求項18】
ホスト装置から逐次入力された書き込みデータが不揮発性ランダムアクセスメモリとして構成された不揮発性メモリの記憶領域のうち前記ホスト装置から入力された論理アドレス情報に対応する領域に記憶されるよう前記不揮発性ランダムアクセスメモリを制御する制御装置であって、
揮発性ランダムアクセスメモリとして構成された揮発性記憶部と、
前記ホスト装置から前記不揮発性メモリへのデータの書き込みを要求する書き込み要求信号が入力されたとき、前記不揮発性メモリのデータを記憶可能な記憶領域のうち書き換え回数が比較的少ない領域のデータが書き換えられるよう前記入力された論理アドレス情報を前記不揮発性メモリの物理アドレス情報に変換する際の前記論理アドレス情報と前記物理アドレス情報との関係であるアドレス変換テーブルを生成して記憶する変換テーブル記憶部と、
前記書き込み要求信号が入力されたとき、前記入力された書き込みデータが所定サイズ以上のデータであるときには前記記憶されているアドレス変換テーブルを用いて前記入力された論理アドレス情報を前記物理アドレス情報に変換すると共に前記変換後の物理アドレス情報に対応する前記不揮発性メモリの領域に前記書き込みデータが記憶されるよう前記不揮発性メモリを制御し、前記入力された書き込みデータが前記所定サイズ未満のデータであるときには前記揮発性記憶部の前記入力された論理アドレス情報に対応する領域に前記書き込みデータを記憶されるよう前記揮発性記憶部を制御する記憶制御部と、
を備える制御装置。
【請求項19】
請求項18記載の制御装置であって、
前記書き込みデータとして前記所定サイズ未満のデータが入力されてからの経過時間を計測する計時部
を有し、
前記記憶制御部は、前記経過時間が所定時間を経過するまでに前記逐次入力された書き込みデータのサイズがいずれも前記所定サイズ以上であるときには前記揮発性記憶部に記憶されているデータを読み出して該読み出したデータが前記不揮発性メモリに記憶されるよう前記不揮発性メモリを制御する制御部である
制御装置。
【請求項20】
請求項18または19記載の制御装置であって、
前記揮発性ランダムアクセスメモリは、スタティックランダムアクセスメモリである
制御装置。
【請求項21】
データを記憶するデータ記憶装置であって、
請求項18ないし20いずれか1つの請求項に記載の制御装置と、
不揮発性の記憶装置である第1の記憶装置と、
前記不揮発性メモリとしての第2の記憶装置と、
を備えるデータ記憶装置。
【請求項22】
請求項21記載のデータ記憶装置であって、
前記第1の記憶装置は、フラッシュメモリまたはハードディスクドライブであり、
前記第2の記憶装置は、抵抗変化ランダムアクセスメモリおよび強誘電体ランダムアクセスメモリおよび磁気抵抗ランダムアクセスメモリおよび相変化ランダムアクセスメモリのいずれかである、
データ記憶装置。
【請求項23】
ホスト装置と不揮発性の記憶装置として構成された不揮発性記憶装置と不揮発性ランダムアクセスメモリとして構成された第1不揮発性メモリと前記不揮発性ランダムアクセスメモリとして構成された第2不揮発性メモリとの間のデータのやりとりを制御する制御装置であって、
前記ホスト装置から前記不揮発性記憶装置へのデータの書き込みを要求する記憶装置書き込み要求信号が入力されたとき、前記ホスト装置から入力された書き込みデータが読み書きの頻度が高い高頻度アクセスデータでないときには前記入力された書き込みデータが前記不揮発性記憶装置に記憶されるよう前記不揮発性記憶装置を制御し、前記入力された書き込みデータが前記高頻度アクセスデータであるときには前記入力された書き込みデータを第1のエラー訂正符号に符号化すると共に該符号化したデータが前記第1不揮発性メモリに記憶されるよう前記第1不揮発性メモリを制御する第1符号化処理部と、
前記ホスト装置から前記第2不揮発性メモリへのデータの書き込みを要求するメモリ書き込み要求信号が入力されたときには、前記入力された書き込みデータを前記第1のエラー訂正符号より訂正可能なビットエラー数が少ない第2のエラー訂正符号に符号化すると共に該符号化したデータが前記第2不揮発性メモリに記憶されるよう前記第2不揮発性メモリを制御する第2符号化処理部と、
前記ホスト装置から前記不揮発性記憶装置からのデータの読み出しを要求する記憶装置読み出し要求信号が入力されたとき、出力すべき出力データが前記高頻度アクセスデータでないときに前記不揮発性記憶装置からデータが読み出されるよう前記不揮発性記憶装置を制御し、前記出力データが前記高頻度アクセスデータであるときには前記第1不揮発性メモリからデータが読み出されるよう前記第1不揮発性メモリを制御して該読み出したデータに対して前記第1のエラー訂正符号を用いてエラー訂正した後に復号して前記ホスト装置に出力する第1復号処理部と、
前記ホスト装置から前記第2不揮発性メモリからのデータの読み出しを要求するメモリ読み出し要求信号が入力されたときには、前記第2不揮発性メモリからデータが読み出されるよう前記第2不揮発性メモリを制御して該読み出したデータに対して前記第2のエラー訂正符号を用いてエラー訂正した後に復号して前記ホスト装置に出力する第2復号処理部と、
を備える制御装置。
【請求項24】
請求項23記載の制御装置であって、
前記第1のエラー訂正符号は前記書き込みデータにパリティビットを付加してなるコードワードが第1のサイズのBCH符号であり、前記第2のエラー訂正符号は前記コードワードが前記第1のサイズより小さい第2のサイズのBCH符号である
制御装置。
【請求項25】
データを記憶するデータ記憶装置であって、
請求項23または24記載の制御装置と、
前記不揮発性記憶装置としての第1の記憶装置と、
前記第1不揮発性メモリと、前記第2不揮発性メモリと、を有する第2の記憶装置と、
を備えるデータ記憶装置。
【請求項26】
請求項25記載のデータ記憶装置であって、
前記第1の記憶装置は、フラッシュメモリまたはハードディスクドライブであり、
前記第2の記憶装置の前記第1不揮発性メモリおよび前記第2不揮発性メモリは、抵抗変化ランダムアクセスメモリおよび強誘電体ランダムアクセスメモリおよび磁気抵抗ランダムアクセスメモリおよび相変化ランダムアクセスメモリのいずれかである、
データ記憶装置。
【請求項27】
データを処理するデータ処理装置であって、
不揮発性ランダムアクセスメモリとして構成されたデータを記憶する不揮発性メモリと、
前記不揮発性メモリの信頼性に関する情報を含む信頼性情報を出力する情報出力手段と、
前記出力された信頼性情報を用いて所定の処理を実行する制御処理手段と、
を備えるデータ処理装置。
【請求項28】
請求項27記載のデータ処理装置であって、
前記信頼性情報は、前記不揮発性メモリに記憶されたデータのうちエラーが生じているビット数である第1情報と、現在から所定期間が経過するまでに前記不揮発性メモリを書き換え可能な回数の最大値である第2情報と、前記データ処理装置の使用が開始されてからの総書き換え回数である第3情報と、前記不揮発性メモリにおける現在から前記所定期間が経過するまでに書き換え可能なビット数である第4情報と、前記不揮発性メモリにおける前記データ処理装置の使用が開始されてからの総書き換えビット数である第5情報と、のうちの少なくとも1つを含む情報である
データ処理装置。
【請求項29】
データを処理するデータ処理装置であって、
プログラムを記憶する抵抗変化メモリと、
プログラムを読み出すプログラム読み出し要求がなされたときには、前記抵抗変化メモリに記憶されているプログラムが読み出されるよう前記抵抗変化メモリを制御する制御処理手段と、
を備えるデータ処理装置。
【請求項30】
請求項29記載のデータ処理装置であって、
前記制御処理手段は、
前記プログラム読み出し要求がなされたときに、プログラム読み出し信号を出力する第1制御手段と、
前記プログラム読み出し信号が入力されたときには、前記抵抗変化メモリに記憶されているプログラムが読み出されるよう前記抵抗変化メモリを制御する第2制御手段と、
を有する手段である
データ処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate


【公開番号】特開2012−38233(P2012−38233A)
【公開日】平成24年2月23日(2012.2.23)
【国際特許分類】
【出願番号】特願2010−180087(P2010−180087)
【出願日】平成22年8月11日(2010.8.11)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.RRAM
【出願人】(504137912)国立大学法人 東京大学 (1,942)
【Fターム(参考)】