(57)【特許請求の範囲】
【請求項１】
データを処理するデータ処理装置であって、
ダイナミックランダムアクセスメモリとして構成された第１メモリと、
不揮発性ランダムアクセスメモリとして構成されたデータを記憶する第２メモリと、
書き込むべき書き込みデータが書き換え回数が多い高書き換えデータであるときには前記書き込みデータが前記第１メモリに記憶されるよう前記第１メモリを制御すると共に前記書き込みデータが前記高書き換えデータでないときには前記第２メモリへのデータの書き込みを要求する第２メモリ書き込み要求信号と前記書き込みデータとを出力する第１制御手段と、前記第２メモリ書き込み要求信号が入力されたときには前記入力された書き込みデータが前記第２メモリに書き込まれるよう前記第２メモリを制御する第２制御手段と、を有する制御処理手段と、
を備え、
前記制御処理手段の第１制御手段は、前記書き込みデータが前記高書き換えデータでないときには前記第２メモリ書き込み要求信号および前記書き込みデータと共に論理アドレス情報を出力する手段であり、
前記制御処理手段の第２制御手段は、
ダイナミックランダムアクセスメモリと異なる種類の揮発性ランダムアクセスメモリとして構成された揮発性記憶部と、
前記第２メモリ書き込み要求信号が入力されたとき、前記第２メモリのデータを記憶可能な記憶領域のうち書き換え回数が比較的少ない領域のデータが書き換えられるよう前記入力された論理アドレス情報を前記第２メモリの物理アドレス情報に変換する際の前記論理アドレス情報と前記物理アドレス情報との関係であるアドレス変換テーブルを生成して記憶する変換テーブル記憶部と、
前記第２メモリ書き込み要求信号が入力されたとき、前記入力された書き込みデータが所定サイズ以上のデータであるときには前記記憶されているアドレス変換テーブルを読み出して該読み出したアドレス変換テーブルを用いて前記入力された論理アドレス情報を前記物理アドレス情報に変換すると共に前記変換後の物理アドレス情報に対応する前記第２メモリの領域に前記書き込みデータが記憶されるよう前記第２メモリを制御し、前記入力された書き込みデータが前記所定サイズ未満のデータであるときには前記第２メモリ書き込み要求信号が入力されたときであっても前記揮発性記憶部の前記入力された論理アドレス情報に対応する領域に前記書き込みデータを記憶されるよう前記揮発性記憶部を制御する記憶制御部と、
を有する手段である
データ処理装置。
【請求項２】
請求項１記載のデータ処理装置であって、
前記制御処理手段の第２制御手段は、
前記書き込みデータとして前記所定サイズ未満のデータが入力されてからの経過時間を計測する計時部
を有し、
前記記憶制御部は、前記経過時間が所定時間を経過するまでに、前記第１制御手段から逐次入力されるデータのサイズが前記所定サイズ以上であるときには前記揮発性記憶部に記憶されているデータを読み出して該読み出したデータが前記第２メモリに記憶されるよう前記第２メモリを制御する制御部である
データ処理装置。
【請求項３】
データを処理するデータ処理装置であって、
ダイナミックランダムアクセスメモリとして構成された第１メモリと、
不揮発性ランダムアクセスメモリとして構成されたデータを記憶する第２メモリと、
不揮発性の記憶装置として構成された不揮発性記憶装置と、
前記不揮発性ランダムアクセスメモリとして構成された第４メモリと、
書き込むべき書き込みデータが書き換え回数が多い高書き換えデータであるときには前記書き込みデータが前記第１メモリに記憶されるよう前記第１メモリを制御し、前記書き込みデータが前記高書き換えデータでないときには前記第２メモリへのデータの書き込みを要求する第２メモリ書き込み要求信号と前記書き込みデータとを出力する第１制御手段と、前記第２メモリ書き込み要求信号が入力されたときには、前記入力された書き込みデータが前記第２メモリに書き込まれるよう前記第２メモリを制御する第２制御手段と、を有する制御処理手段と、
とを備え、
前記制御処理手段の第１制御手段は、前記不揮発性記憶装置へのデータの書き込みの要求がなされたときには記憶装置書き込み要求信号と前記書き込みデータとを前記第２制御手段に出力し、前記不揮発性記憶装置からのデータの読み出しが要求されたときには記憶装置読み出し要求信号を前記第２制御手段に出力し、前記第２メモリからのデータの読み出しが要求されたときには第２メモリ読み出し要求信号を前記第２制御手段に出力する手段であり、
前記制御処理手段の第２制御手段は、
前記記憶装置書き込み要求信号が入力されたとき、前記入力された書き込みデータが読み書きの頻度が高い高頻度アクセスデータでないときには前記入力された書き込みデータが前記記憶装置に記憶されるよう前記不揮発性記憶装置を制御し、前記入力された書き込みデータが前記高頻度アクセスデータであるときには前記入力された書き込みデータを第１のエラー訂正符号に符号化すると共に該符号化したデータが前記第４メモリに記憶されるよう前記第４メモリを制御する第１符号化処理部と、
前記第２メモリ書き込み要求信号が入力されたときには、前記入力された書き込みデータを前記第１のエラー訂正符号より訂正可能なビットエラー数が少ない第２のエラー訂正符号に符号化すると共に該符号化したデータが前記第２メモリに記憶されるよう前記第２メモリを制御する第２符号化処理部と、
前記記憶装置読み出し要求信号が入力されたとき、出力すべき出力データが前記高頻度アクセスデータでないときに前記不揮発性記憶装置からデータが読み出されるよう前記不揮発性記憶装置を制御し、前記出力データが前記高頻度アクセスデータであるときには前記第４メモリからデータが読み出されるよう前記第４メモリを制御して該読み出したデータに対して前記第１のエラー訂正符号を用いてエラー訂正した後に復号して前記第１制御手段に出力する第１復号処理部と、
前記第２メモリ読み出し要求信号が入力されたときには、前記第２メモリからデータが読み出されるよう前記第２メモリを制御して該読み出したデータに対して前記第２のエラー訂正符号を用いてエラー訂正した後に復号して前記第１制御手段に出力する第２復号処理部と、
を有する手段である
データ処理装置。
【請求項４】
請求項３記載のデータ処理装置であって、
前記第１のエラー訂正符号は前記書き込みデータにパリティビットを付加してなるコードワードが第１のサイズのＢＣＨ符号であり、前記第２のエラー訂正符号は前記コードワードが前記第１のサイズより小さい第２のサイズのＢＣＨ符号である
データ処理装置。
【請求項５】
請求項３または４記載のデータ処理装置であって、
前記第２メモリと前記第４メモリは、同一の半導体チップに搭載されてなる
データ処理装置。
【請求項６】
請求項３ないし５いずれか１つの請求項に記載のデータ処理装置であって、
前記第１メモリと前記制御処理手段とは、第１の半導体チップに搭載されてなり、
前記第２メモリおよび前記第４メモリは、前記第１の半導体チップと異なる第２の半導体チップに搭載されてなり、
前記不揮発性記憶装置は、前記第１の半導体チップおよび前記第２の半導体チップと異なる第３の半導体チップに搭載されたフラッシュメモリであり、
前記第１の半導体チップおよび前記第２の半導体チップおよび前記第３の半導体チップの３つのチップが積層されてなり、前記３つのチップ間は各チップに形成された複数の貫通孔に充填された導電性の金属電極により電気的に接続されてなる
データ処理装置。
【請求項７】
請求項３ないし５いずれか１つの請求項に記載のデータ処理装置であって、
前記不揮発性の装置は、ハードディスクドライブである
データ処理装置。
【請求項８】
請求項１ないし７いずれか１つの請求項に記載のデータ処理装置であって、
前記制御処理手段は、前記データ処理装置を休止させる休止要求がなされたときには、前記第１メモリに記憶されているデータを読み出して該読み出したデータが前記第２メモリに記憶されるよう前記第１メモリと前記第２メモリとを制御し、前記第２メモリでのデータの記憶が終了した後に外部電源から前記第１メモリおよび前記第２メモリへの電力の供給を遮断する手段である
データ処理装置。
【請求項９】
請求項８記載のデータ処理装置であって、
ダイナミックランダムアクセスメモリと異なる種類の揮発性ランダムアクセスメモリとして構成された第３メモリ
を備え、
前記制御処理手段は、前記データ処理装置を休止させる休止要求がなされたときには、前記第１メモリに記憶されているデータと前記第３メモリに記憶されているデータとを読み出して該読み出したデータが前記第２メモリに記憶されるよう前記第１メモリと前記第２メモリと前記第３メモリとを制御し、前記第３メモリにおけるデータの記憶が終了した後に前記外部電源から前記第１メモリおよび前記第２メモリおよび前記第３メモリへの電力の供給を遮断する手段である
データ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置および制御装置並びにデータ記憶装置に関する。
【背景技術】
【０００２】
従来、この種のデータ処理装置としては、キャッシュメモリとして不揮発性のランダムアクセスメモリであるＦｅＲＡＭ（Ferroelectric Random Access Memory、強誘電体ランダムメモリ）を有するＨＤＤにデータを記憶させるものが提案されている（例えば、非特許文献１参照）。この装置では、電源が遮断されてもキャッシュメモリに記憶されているデータが保持されるから、キャッシュメモリのデータをＨＤＤに定期的に退避させるフラッシュキャッシュコマンドを無視することができ、キャッシュメモリに記憶させるデータを大きくしてキャッシュヒット率の向上を図ることができるとしている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】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
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＣＰＵ（Central Processing Unit）で演算処理したデータを主記憶装置としてのＤＲＡＭ（Dynamic Random Access Memory,ダイナミックランダムアクセスメモリ）に記憶させるデータ処理装置では、ＤＲＡＭに記憶されているデータを保持するために定期的にＤＲＡＭからデータを読み出して読み出したデータをＤＲＡＭに再書き込みするリフレッシュ動作を行なう必要があるが、こうしたリフレッシュ動作を実行する回数が多いほど装置全体の消費電力が増大するため、リフレッシュ動作の回数を低減して消費電力の低減を図ることが望まれている。消費電力の低減を図る手法として、主記憶装置としてＤＲＡＭに代えてリフレッシュ動作が不要な不揮発性ＲＡＭ（Random Access Memory,ランダムアクセスメモリ）を用いることも考えるが、一般に、不揮発性ＲＡＭは書き換え回数が多くなるほど劣化が進むため、頻繁にデータが書き換えられると記憶されているデータに生じるエラーが増大してしまう。
【０００５】
また、こうしたデータ処理装置では、システムを休止する際にＣＰＵに内蔵されているレジスタやキャッシュメモリとしてのＳＲＡＭ（Static Random Access Memory,スタティックランダムアクセスメモリ）に記憶されているデータをＤＲＡＭに退避させた後に外部からＣＰＵに供給されている電力を遮断して消費電力を低減する制御が行なわれている。しかしながら、この場合、ＤＲＡＭに記憶させているデータを保持するためにシステムを休止する際にもＤＲＡＭへの電力の供給を継続する必要があり、消費電力を十分に低減することができなくなってしまう。
【０００６】
さらに、ＨＤＤなどの不揮発性の記憶装置とキャッシュメモリとしての不揮発性ＲＡＭとから構成される記憶装置では、不揮発性ＲＡＭの書き換え回数が多くなるほど不揮発性ＲＡＭを構成するメモリセルの劣化が進みデータエラーが起こる確率が高くなると考えられることから、不揮発性ＲＡＭのエラーを抑制することが重要な課題として認識されている。不揮発性ＲＡＭのエラーを抑制する手法として、１メモリセルあたりの書き換え回数を平滑化するウェアレベリングを行なう手法が考えられるが、不揮発性ＲＡＭのようにランダムアクセスが可能なメモリでは比較的頻繁に小さなサイズのデータを読み書きすることが想定され、書き込みデータのサイズが小さくなるとウェアレベリングを行なう際に論理アドレスを物理アドレスに変換するためのアドレス変換テーブルを記憶させるために必要な記憶領域のサイズが大きくなってしまう。また、不揮発性ＲＡＭのエラーを抑制する別の手法として、データの誤り訂正（Error Correcting Code,ＥＣＣ）を行なうことが考えられるが、比較的小さなサイズのデータを頻繁に読み書きする場合、ＥＣＣを行なうとデータを符号化したりデータを復号するための処理時間が増大してしまう。こうしたアドレス変換テーブル用の記憶領域のサイズの増大やＥＣＣの処理時間の増大は、高速化の観点から好ましくないため、抑制されることが望まれている。
【０００７】
そして、不揮発性メモリに記憶されているプログラムを読み出して読み出したプログラムに応じてデータ処理を行なうデータ処理装置では、不揮発性メモリとして比較的高速にデータを読み出し可能なＮＯＲ型のフラッシュメモリを用いることによりプログラムの読み出し速度の向上が図られているが、更なる読み出し速度の向上が望まれている。
【０００８】
本発明のデータ処理装置は、消費電力をより低減させることを主目的とする。また、本発明の制御装置並びにデータ記憶装置では、記憶領域の増大を抑制することを主目的とする。さらに、本発明の制御装置並びにデータ記憶装置では、データをより高速に読み書きすることを主目的とする。そして、本発明のデータ処理装置は、データの読み出し速度の向上を図ることを主目的とする。
【課題を解決するための手段】
【０００９】
本発明のデータ処理装置および制御装置並びにデータ記憶装置は、上述の主目的を達成するために以下の手段を採った。
【００１０】
本発明の第１のデータ処理装置は、
データを処理するデータ処理装置であって、
ダイナミックランダムアクセスメモリとして構成された第１メモリと、
不揮発性ランダムアクセスメモリとして構成されたデータを記憶する第２メモリと、
書き込むべき書き込みデータが書き換え回数が多い高書き換えデータであるときには前記書き込みデータが前記第１メモリに記憶されるよう該第１メモリを制御し、前記書き込みデータが前記高書き換えデータでないときには前記書き込みデータが前記第２メモリに記憶されるよう前記第２メモリを制御する制御処理手段と、
を備えることを要旨とする。
【００１１】
この本発明の第１のデータ処理装置では、書き込むべき書き込みデータが書き換え回数が多い高書き換えデータであるときには書き込みデータが第１メモリに記憶されるよう第１メモリを制御する。第１メモリはダイナミックランダムアクセスメモリとして構成されているため定期的にリフレッシュ動作が必要であるが、書き込みデータが高書き換えデータであるときには書き込みデータが第１メモリに記憶されるよう第１メモリを制御することにより、書き込みデータが書き換え回数が多いデータであるか否かに拘わらず書き込みデータを第１メモリに記憶させるものに比して第１メモリのデータをより頻繁に書き換えることができ、第１メモリのリフレッシュ動作の回数を減少させることができ、消費電力の低減を図ることができる。また、書き込みデータが高書き換えデータでないときには書き込みデータが第２メモリに記憶されるよう第２メモリを制御する。第２メモリは不揮発性ランダムアクセスメモリとして構成されているため書き換え回数が多くなるほど劣化が進むと考えられるが、書き込みデータが高書き換えデータでないときには書き込みデータが第２メモリに記憶されるよう第２メモリを制御することにより、第２メモリを書き換える回数が低減され、第２メモリの劣化を抑制することができる。この結果、第２メモリの劣化を抑制しながら消費電力の低減を図ることができる。ここで、「不揮発性ランダムアクセスメモリ」には、抵抗変化ランダムアクセスメモリや強誘電体ランダムアクセスメモリ，磁気抵抗ランダムアクセスメモリ，相変化ランダムアクセスメモリなど含まれる。
【００１２】
こうした本発明の第１のデータ処理装置において、前記制御処理手段は、前記書き込みデータが前記高書き換えデータであるときには前記書き込みデータが前記第１メモリに記憶されるよう前記第１メモリを制御し、前記書き込みデータが前記高書き換えデータでないときには前記第２メモリへのデータの書き込みを要求する第２メモリ書き込み要求信号と前記書き込みデータとを出力する前記第１制御手段と、前記第２メモリ書き込み要求信号が入力されたときには、前記入力された書き込みデータが前記第２メモリに書き込まれるよう前記第２メモリを制御する第２制御手段と、を有する手段であるものとすることもできる。
【００１３】
また、第１制御手段と第２制御手段とを備える態様の本発明の第１のデータ処理装置において、前記制御処理手段の第１制御手段は、前記書き込みデータが前記高書き換えデータでないときには前記第２メモリ書き込み要求信号および前記書き込みデータと共に論理アドレス情報を出力する手段であり、前記制御処理手段の第２制御手段は、揮発性ランダムアクセスメモリとして構成された揮発性記憶部と、前記第２メモリ書き込み要求信号が入力されたとき、前記第２メモリのデータを記憶可能な記憶領域のうち書き換え回数が比較的少ない領域のデータが書き換えられるよう前記入力された論理アドレス情報を前記第２メモリの物理アドレス情報に変換する際の前記論理アドレス情報と前記物理アドレス情報との関係であるアドレス変換テーブルを生成して記憶する変換テーブル記憶部と、前記第２メモリ書き込み要求信号が入力されたとき、前記入力された書き込みデータが所定サイズ以上のデータであるときには前記記憶されているアドレス変換テーブルを読み出して該読み出したアドレス変換テーブルを用いて前記入力された論理アドレス情報を前記物理アドレス情報に変換すると共に前記変換後の物理アドレス情報に対応する前記第２メモリの領域に前記書き込みデータが記憶されるよう前記第２メモリを制御し、前記入力された書き込みデータが前記所定サイズ未満のデータであるときには前記第２メモリ書き込み要求信号が入力されたときであっても前記揮発性記憶部の前記入力された論理アドレス情報に対応する領域に前記書き込みデータを記憶されるよう前記揮発性記憶部を制御する記憶制御部と、を有する手段であるものとすることもできる。一般に、書き込みデータのサイズが小さいほどアドレス変換テーブルを記憶させるために必要な記憶領域のサイズが大きくなる傾向にある。入力された書き込みデータが所定サイズ以上のデータであるときには記憶されているアドレス変換テーブルを読み出して該読み出したアドレス変換テーブルを用いて入力された論理アドレス情報を物理アドレス情報に変換すると共に変換後の物理アドレス情報に対応する第２メモリの領域に書き込みデータを第２メモリに記憶させ、入力された書き込みデータが所定サイズ未満のデータであるときには揮発性記憶部の入力された論理アドレス情報に対応する領域に書き込みデータを記憶させることにより、入力された書き込みデータのサイズに拘わらず全ての書き込みデータに対してアドレス変換テーブルを用いて論理アドレス情報を物理アドレス情報に変換するものに比して、アドレス変換テーブルを記憶させる領域を小さくすることができる。
【００１４】
第１制御手段と第２制御手段とを備え、入力された書き込みデータが所定サイズ以上のデータであるときには記憶されているアドレス変換テーブルを読み出して読み出したアドレス変換テーブルを用いて入力された論理アドレス情報を物理アドレス情報に変換する態様の本発明の第１のデータ処理装置において、前記制御処理手段の第２制御手段は、前記書き込みデータとして前記所定サイズ未満のデータが入力されてからの経過時間を計測する計時部を有し、前記記憶制御部は、前記経過時間が所定時間を経過するまでに、前記第１制御手段から逐次入力されるデータのサイズが前記所定サイズ以上であるときには前記揮発性記憶部に記憶されているデータを読み出して該読み出したデータが前記第２メモリに記憶されるよう前記第２メモリを制御する制御部であるものとすることもできる。データ処理装置へ供給される電力が予期せずに遮断されると揮発性記憶部に記憶されているデータが消失してしまうが、経過時間が所定時間を経過するまでに、第１制御手段から逐次入力されるデータのサイズが所定サイズ以上であるときには揮発性記憶部に記憶されているデータを読み出して読み出したデータが第２メモリに記憶されるよう第２メモリを制御することにより、揮発性記憶部に記憶されているデータを第２メモリに退避させることができ、データ処理装置へ供給される電力の予期しない遮断に対してより適正に対処することができる。ここで、「揮発性ランダムアクセスメモリ」には、ダイナミックランダムアクセスメモリやスタティックランダムアクセスメモリなどが含まれる。
【００１５】
さらに、第１制御手段と第２制御手段とを備える態様の本発明の第１のデータ処理装置において、不揮発性の記憶装置として構成された不揮発性記憶装置と、前記不揮発性ランダムアクセスメモリとして構成された第４メモリと、を備え、前記制御処理手段の第１制御手段は、前記不揮発性記憶装置へのデータの書き込みの要求がながされたときには記憶装置書き込み要求信号と前記書き込みデータとを前記第２制御手段に出力し、前記不揮発性記憶装置からのデータの読み出しが要求されたときには記憶装置読み出し要求信号を前記第２制御手段に出力し、前記第２メモリからのデータの読み出しが要求されたときには第２メモリ読み出し要求信号を前記第２制御手段に出力する手段であり、前記制御処理手段の第２制御手段は、前記記憶装置書き込み要求信号が入力されたとき、前記入力された書き込みデータが読み書きの頻度が高い高頻度アクセスデータでないときには前記入力された書き込みデータが前記記憶装置に記憶されるよう前記不揮発性記憶装置を制御し、前記入力された書き込みデータが前記高頻度アクセスデータであるときには前記入力された書き込みデータを第１のエラー訂正符号に符号化すると共に該符号化したデータが前記第４メモリに記憶されるよう前記第４メモリを制御する第１符号化処理部と、前記第２メモリ書き込み要求信号が入力されたときには、前記入力された書き込みデータを前記第１のエラー訂正符号より訂正可能なビットエラー数が少ない第２のエラー訂正符号に符号化すると共に該符号化したデータが前記第２メモリに記憶されるよう前記第２メモリを制御する第２符号化処理部と、前記記憶装置読み出し要求信号が入力されたとき、出力すべき出力データが前記高頻度アクセスデータでないときに前記不揮発性記憶装置からデータが読み出されるよう前記不揮発性記憶装置を制御し、前記出力データが前記高頻度アクセスデータであるときには前記第４メモリからデータが読み出されるよう前記第４メモリを制御して該読み出したデータに対して前記第１のエラー訂正符号を用いてエラー訂正した後に復号して前記第１制御手段に出力する第１復号処理部と、前記第２メモリ読み出し要求信号が入力されたときには、前記第２メモリからデータが読み出されるよう前記第２メモリを制御して該読み出したデータに対して前記第２のエラー訂正符号を用いてエラー訂正した後に復号して前記第１制御手段に出力する第２復号処理部と、を有する手段であるものとすることもできる。一般に、エラー訂正符号によるデータの符号化やエラー訂正、データの復号に要する処理時間は、エラー訂正符号により訂正可能なビットエラー数が少ないほど短くなる傾向にある。よって、記憶装置書き込み要求信号が入力されたときに入力された書き込みデータが高頻度アクセスデータであるときには入力された書き込みデータを第１のエラー訂正符号に符号化すると共に符号化したデータが第４メモリに記憶されるよう前記第４メモリを制御し、第２メモリ書き込み要求信号が入力されたときには入力された書き込みデータを第１のエラー訂正符号より訂正可能なビットエラー数が少ない第２のエラー訂正符号に符号化すると共に符号化したデータが第２メモリに記憶されるよう第２メモリを制御することにより、第２メモリ書き込み要求信号が入力されたときにはより高速に書き込みデータを符号化して第２メモリに記憶させることができる。また、記憶装置読み出し要求信号が入力されたときに出力データが高頻度アクセスデータであるときには第４メモリからデータが読み出されるよう第４メモリを制御して読み出したデータに対して第１のエラー訂正符号を用いてエラー訂正した後に復号して第１制御手段に出力し、第２メモリ読み出し要求信号が入力されたときには第２メモリからデータが読み出されるよう第２メモリを制御して読み出したデータに対して第２のエラー訂正符号を用いてエラー訂正した後に復号して第１制御手段に出力することにより、第２メモリ読み出し要求信号が入力されたときにはより高速に第２メモリから読み出したデータに対してエラー訂正すると共に復号して第１制御手段に出力することができる。これにより、処理の高速化を図ることができる。
【００１６】
第１制御手段と第２制御手段と第１符号化処理部と第２符号化処理部とを備える態様の本発明の第１のデータ処理装置において、前記第１のエラー訂正符号は前記書き込みデータにパリティビットを付加してなるコードワードが第１のサイズのＢＣＨ符号であり、前記第２のエラー訂正符号は前記コードワードが前記第１のサイズより小さい第２のサイズのＢＣＨ符号であるものとすることもできる。また、この場合において、前記第２メモリと前記第４メモリは、同一の半導体チップに搭載されてなるものとすることもできるし、前記第１メモリと前記制御処理手段とは、第１の半導体チップに搭載されてなり、前記第２メモリおよび前記第４メモリは、前記第１の半導体チップと異なる第２の半導体チップに搭載されてなり、前記不揮発性記憶装置は、前記第１の半導体チップおよび前記第２の半導体チップと異なる第３の半導体チップに搭載されたフラッシュメモリであり、前記第１の半導体チップおよび前記第２の半導体チップおよび前記第３の半導体チップの３つのチップが積層されてなり、前記３つのチップ間は各チップに形成された複数の貫通孔に充填された導電性の金属電極により電気的に接続されてなるものとしたり、前記不揮発性の装置は、ハードディスクドライブであるものとすることもできる。
【００１７】
そして、こうした第１制御手段と第２制御手段とを備える態様の本発明の第１のデータ処理装置において、前記制御処理手段の第１制御手段は、前記データ処理装置を休止させる休止要求がなされたときには、前記第１メモリに記憶されているデータを読み出して前記第２メモリ書き込み要求信号を出力すると共に前記読み出したデータを前記書き込みデータとして前記第２制御手段に出力し、その後、外部電源から前記第１メモリおよび前記第２メモリおよび前記第２制御手段への電力の供給を遮断する手段であるものとすることもできる。こうすれば、休止要求がなされたときに第１メモリや第２メモリ，第２制御手段への電力の供給を継続するものに比して、消費電力をより低減することができる。この場合において、揮発性ランダムアクセスメモリとして構成された第３メモリを備え、前記制御処理手段の第１制御手段は、前記データ処理装置を休止させる休止要求がなされたときには、前記第１メモリに記憶されているデータと前記第３メモリに記憶されているデータとを読み出して前記第２メモリ書き込み要求信号を出力すると共に前記読み出したデータを前記書き込みデータとして前記第２制御手段に出力し、その後、前記外部電源から前記第１メモリおよび前記第２メモリおよび前記第３メモリおよび前記第２制御手段への電力の供給を遮断する手段であるものとすることもできる。こうすれば、休止要求がなされたときに第１メモリや第２メモリ，第２制御手段，第３メモリへの電力の供給を継続するものに比して、消費電力をより低減することができる。ここで、「揮発性ランダムアクセスメモリ」には、ダイナミックランダムアクセスメモリまたはスタティックランダムアクセスメモリなどが含まれる。
【００１８】
また、本発明の第１のデータ処理装置において、前記制御処理手段は、前記データ処理装置を休止させる休止要求がなされたときには、前記第１メモリに記憶されているデータを読み出して該読み出したデータが前記第２メモリに記憶されるよう前記第１メモリと前記第２メモリとを制御し、前記第２メモリでのデータの記憶が終了した後に外部電源から前記第１メモリおよび前記第２メモリへの電力の供給を遮断する手段であるものとすることもできる。こうすれば、休止要求がなされたときに第１メモリや第２メモリへの電力の供給を継続するものに比して、消費電力をより低減することができる。この場合において、揮発性ランダムアクセスメモリとして構成された第３メモリを備え、前記制御処理手段は、前記データ処理装置を休止させる休止要求がなされたときには、前記第１メモリに記憶されているデータと前記第３メモリに記憶されているデータとを読み出して該読み出したデータが前記第２メモリに記憶されるよう前記第１メモリと前記第２メモリと前記第３メモリとを制御し、前記第３メモリにおけるデータの記憶が終了した後に前記外部電源から前記第１メモリおよび前記第２メモリおよび前記第３メモリへの電力の供給を遮断する手段であるものとすることもできる。こうすれば、休止要求がなされたときに第１メモリや第２メモリ，第３メモリへの電力の供給を継続するものに比して、消費電力をより低減することができる。ここで、「揮発性ランダムアクセスメモリ」には、ダイナミックランダムアクセスメモリやスタティックランダムアクセスメモリなどが含まれる。
【００１９】
本発明の第２のデータ処理装置は、
データを処理するデータ処理装置であって、
揮発性ランダムアクセスメモリとして構成された第１メモリと、
不揮発性ランダムアクセスメモリとして構成されたデータを記憶する第２メモリと、
前記データ処理装置を休止させる休止要求がなされたときには、前記第１メモリに記憶されているデータを読み出して該読み出したデータが前記第２メモリに記憶されるよう前記第１メモリと前記第２メモリとを制御し、前記第２メモリでのデータの記憶が終了した後に外部電源から前記第１メモリおよび前記第２メモリへの電力の供給を遮断する制御処理手段と、
を備えることを要旨とする。
【００２０】
この本発明の第２のデータ処理装置では、データ処理装置を休止させる休止要求がなされたときには、第１メモリに記憶されているデータを読み出して読み出したデータが第２メモリに記憶されるよう第１メモリと第２メモリとを制御し、第２メモリでのデータの記憶が終了した後に外部電源から第１メモリおよび第２メモリへの電力の供給を遮断する。これにより、休止要求がなされたときに第１メモリや第２メモリへの電力の供給を継続するものに比して、消費電力をより低減することができる。この場合において、前記第２メモリへのデータの書き込みを要求する第２メモリ書き込み要求信号が入力されたときには、入力されたデータが前記第２メモリに記憶されるよう前記第２メモリを制御した後に第２メモリ書き込み終了信号を出力する第２メモリ制御手段と、前記休止要求がなされたときには前記第１メモリに記憶されているデータを読み出して該読み出したデータと前記第２メモリ書き込み要求信号とを前記第２メモリ制御手段に出力し、前記第２メモリ書き込み終了信号が入力されたときには外部電源から前記第１メモリおよび前記第２メモリおよび前記第２メモリ制御手段への電力の供給を遮断する第１メモリ制御手段と、を有する手段であるものとすることもできる。休止要求がなされたときには第１メモリに記憶されているデータを読み出され、読み出されたデータと第２メモリ書き込み要求信号とが第２メモリ制御手段に出力され、第２メモリへのデータの書き込みを要求する第２メモリ書き込み要求信号が入力されたときには、入力されたデータが第２メモリに記憶されるよう第２メモリが制御された後に第２メモリ書き込み終了信号が出力され、第２メモリ書き込み終了信号が入力されたときには外部電源から第１メモリおよび第２メモリおよび第２メモリ制御手段への電力の供給が遮断される。こうすれば、休止要求がなされたときに、第１メモリや第２メモリ，第２メモリ制御手段への電力の供給を遮断することができ、消費電力の低減を図ることができる。ここで、「揮発性ランダムアクセスメモリ」にはダイナミックランダムアクセスメモリやスタティックランダムアクセスメモリなどが含まれ、「不揮発性ランダムアクセスメモリ」には抵抗変化ランダムアクセスメモリや強誘電体ランダムアクセスメモリ，磁気抵抗ランダムアクセスメモリ，相変化ランダムアクセスメモリなどが含まれる。
【００２１】
本発明の第１の制御装置は、
ホスト装置から逐次入力された書き込みデータが不揮発性ランダムアクセスメモリとして構成された不揮発性メモリの記憶領域のうち前記ホスト装置から入力された論理アドレス情報に対応する領域に記憶されるよう前記不揮発性ランダムアクセスメモリを制御する制御装置であって、
揮発性ランダムアクセスメモリとして構成された揮発性記憶部と、
前記ホスト装置から前記不揮発性メモリへのデータの書き込みを要求する書き込み要求信号が入力されたとき、前記不揮発性メモリのデータを記憶可能な記憶領域のうち書き換え回数が比較的少ない領域のデータが書き換えられるよう
前記入力された論理アドレス情報を前記不揮発性メモリの物理アドレス情報に変換する際の前記論理アドレス情報と前記物理アドレス情報との関係であるアドレス変換テーブルを生成して記憶する変換テーブル記憶部と、
前記書き込み要求信号が入力されたとき、前記入力された書き込みデータが所定サイズ以上のデータであるときには前記記憶されているアドレス変換テーブルを用いて前記入力された論理アドレス情報を前記物理アドレス情報に変換すると共に前記変換後の物理アドレス情報に対応する前記不揮発性メモリの領域に前記書き込みデータが記憶されるよう前記不揮発性メモリを制御し、前記入力された書き込みデータが前記所定サイズ未満のデータであるときには前記揮発性記憶部の前記入力された論理アドレス情報に対応する領域に前記書き込みデータを記憶されるよう前記揮発性記憶部を制御する記憶制御部と、
を備えることを要旨とする。
【００２２】
この本発明の第１の制御装置では、書き込み要求信号が入力されたとき、入力された書き込みデータが所定サイズ以上のデータであるときには記憶されているアドレス変換テーブルを用いて入力された論理アドレス情報を物理アドレス情報に変換すると共に変換後の物理アドレス情報に対応する不揮発性メモリの領域に書き込みデータが記憶されるよう不揮発性メモリを制御し、入力された書き込みデータが高頻度アクセスデータであるときには揮発性記憶部の入力された論理アドレス情報に対応する領域に書き込みデータを記憶されるよう揮発性記憶部を制御する。これにより、入力された書き込みデータのサイズに拘わらず全ての書き込みデータに対してアドレス変換テーブルを用いて論理アドレス情報を物理アドレス情報に変換するものに比して、アドレス変換テーブルを記憶させる領域を小さくすることができ、記憶領域の増加を抑制することができる。ここで、「揮発性ランダムアクセスメモリ」には、スタティックランダムアクセスメモリが含まれる。
【００２３】
こうした本発明の第１の制御装置において、前記書き込みデータとして前記所定サイズ未満のデータが入力されてからの経過時間を計測する計時部を有し、前記記憶制御部は、前記経過時間が所定時間を経過するまでに前記逐次入力された書き込みデータのサイズがいずれも前記所定サイズ以上であるときには前記揮発性記憶部に記憶されているデータを読み出して該読み出したデータが前記不揮発性メモリに記憶されるよう前記不揮発性メモリを制御する制御部であるものとすることもできる。制御装置へ供給される電力が予期せずに遮断されると揮発性記憶部に記憶されているデータが消失してしまうが、経過時間が所定時間を経過するまでにホスト装置から逐次入力されたデータのサイズが所定サイズ以上であるときには揮発性記憶部に記憶されているデータを読み出して読み出したデータが第２メモリに記憶されるよう第２メモリを制御することにより、揮発性記憶部に記憶されているデータを第２メモリに退避させることができ、制御装置へ供給される電力の予期しない遮断に対してより適正に対処することができる。
【００２４】
本発明の第１のデータ記憶装置は、
データを記憶するデータ記憶装置であって、
上述したいずれかの態様の本発明の第１の制御装置、すなわち、基本的には、ホスト装置から入力された書き込みデータが不揮発性ランダムアクセスメモリとして構成された不揮発性メモリの記憶領域のうち前記ホスト装置から入力された論理アドレス情報に対応する領域に記憶されるよう前記不揮発性ランダムアクセスメモリを制御する制御装置であって、揮発性ランダムアクセスメモリとして構成された揮発性記憶部と、前記ホスト装置から前記不揮発性メモリへのデータの書き込みを要求する書き込み要求信号が入力されたとき、前記不揮発性メモリのデータを記憶可能な記憶領域のうち書き換え回数が比較的少ない領域のデータが書き換えられるよう前記入力された論理アドレス情報を前記不揮発性メモリの物理アドレス情報に変換する際の前記論理アドレス情報と前記物理アドレス情報との関係であるアドレス変換テーブルを生成して記憶する変換テーブル記憶部と、前記書き込み要求信号が入力されたとき、前記入力された書き込みデータが所定サイズ以上のデータであるときには前記記憶されているアドレス変換テーブルを用いて前記入力された論理アドレス情報を前記物理アドレス情報に変換すると共に前記変換後の物理アドレス情報に対応する前記不揮発性メモリの領域に前記書き込みデータが記憶されるよう前記不揮発性メモリを制御し、前記入力された書き込みデータが前記所定サイズ未満のデータであるときには前記揮発性記憶部の前記入力された論理アドレス情報に対応する領域に前記書き込みデータを記憶されるよう前記揮発性記憶部を制御する記憶制御部と、を備える制御装置と、
不揮発性の記憶装置である第１の記憶装置と、
前記不揮発性メモリとしての第２の記憶装置と、
を備えることを要旨とする。
【００２５】
この本発明の第１のデータ記憶装置は、上述したいずれかの態様の本発明の第１の制御装置を備えているから、本発明の第１の制御装置が奏する効果、例えば、記憶領域の増加を抑制できる効果などと同様の効果を奏することができる。
【００２６】
こうした本発明の第１のデータ記憶装置において、前記第１の記憶装置は、フラッシュメモリまたはハードディスクドライブであり、前記第２の記憶装置は、抵抗変化ランダムアクセスメモリおよび強誘電体ランダムアクセスメモリおよび磁気抵抗ランダムアクセスメモリおよび相変化ランダムアクセスメモリのいずれかであるものとすることもできる。
【００２７】
本発明の第２のデータ記憶装置は、
ホスト装置と不揮発性の記憶装置として構成された不揮発性記憶装置と不揮発性ランダムアクセスメモリとして構成された第１不揮発性メモリと前記不揮発性ランダムアクセスメモリとして構成された第２不揮発性メモリとの間のデータのやりとりを制御する制御装置であって、
前記ホスト装置から前記不揮発性記憶装置へのデータの書き込みを要求する記憶装置書き込み要求信号が入力されたとき、前記ホスト装置から入力された書き込みデータが読み書きの頻度が高い高頻度アクセスデータでないときには前記入力された書き込みデータが前記不揮発性記憶装置に記憶されるよう前記不揮発性記憶装置を制御し、前記入力された書き込みデータが前記高頻度アクセスデータであるときには前記入力された書き込みデータを第１のエラー訂正符号に符号化すると共に該符号化したデータが前記第１不揮発性メモリに記憶されるよう前記第１不揮発性メモリを制御する第１符号化処理部と、
前記ホスト装置から前記第２不揮発性メモリへのデータの書き込みを要求するメモリ書き込み要求信号が入力されたときには、前記入力された書き込みデータを前記第１のエラー訂正符号より訂正可能なビットエラー数が少ない第２のエラー訂正符号に符号化すると共に該符号化したデータが前記第２不揮発性メモリに記憶されるよう前記第２不揮発性メモリを制御する第２符号化処理部と、
前記ホスト装置から前記不揮発性記憶装置からのデータの読み出しを要求する記憶装置読み出し要求信号が入力されたとき、出力すべき出力データが前記高頻度アクセスデータでないときに前記不揮発性記憶装置からデータが読み出されるよう前記不揮発性記憶装置を制御し、前記出力データが前記高頻度アクセスデータであるときには前記第１不揮発性メモリからデータが読み出されるよう前記第１不揮発性メモリを制御して該読み出したデータに対して前記第１のエラー訂正符号を用いてエラー訂正した後に復号して前記ホスト装置に出力する第１復号処理部と、
前記ホスト装置から前記第２不揮発性メモリからのデータの読み出しを要求するメモリ読み出し要求信号が入力されたときには、前記第２不揮発性メモリからデータが読み出されるよう前記第２不揮発性メモリを制御して該読み出したデータに対して前記第２のエラー訂正符号を用いてエラー訂正した後に復号して前記ホスト装置に出力する第２復号処理部と、
を備えることを要旨とする。
【００２８】
この本発明の第２の制御装置は、ホスト装置から不揮発性記憶装置へのデータの書き込みを要求する記憶装置書き込み要求信号が入力されたとき、ホスト装置から入力された書き込みデータが読み書きの頻度が高い高頻度アクセスデータでないときには入力された書き込みデータが不揮発性記憶装置に記憶されるよう不揮発性記憶装置を制御し、入力された書き込みデータが高頻度アクセスデータであるときには入力された書き込みデータを第１のエラー訂正符号に符号化すると共に符号化したデータが第１不揮発性メモリに記憶されるよう第１不揮発性メモリを制御し、ホスト装置から第２不揮発性メモリへのデータの書き込みを要求するメモリ書き込み要求信号が入力されたときには、入力された書き込みデータを第１のエラー訂正符号より訂正可能なビットエラー数が少ない第２のエラー訂正符号に符号化すると共に符号化したデータが第２不揮発性メモリに記憶されるよう第２不揮発性メモリを制御する。一般に、エラー訂正符号によるデータの符号化やエラー訂正、データの復号に要する処理時間は、エラー訂正符号により訂正可能なビットエラー数が少ないほど短くなる傾向にあるから、メモリ書き込み要求信号が入力されたときには入力された書き込みデータを第１のエラー訂正符号より訂正可能なビットエラー数が少ない第２のエラー訂正符号に符号化すると共に符号化したデータが第２不揮発性メモリに記憶されるよう第２不揮発性メモリを制御することにより、メモリ書き込み要求信号が入力されたときにはより高速に書き込みデータを符号化することができる。そして、ホスト装置から不揮発性記憶装置からのデータの読み出しを要求する記憶装置読み出し要求信号が入力されたとき、出力すべき出力データが高頻度アクセスデータでないときに不揮発性記憶装置からデータが読み出されるよう不揮発性記憶装置を制御し、出力データが高頻度アクセスデータであるときには第１不揮発性メモリからデータが読み出されるよう第１不揮発性メモリを制御して読み出したデータに対して第１のエラー訂正符号を用いてエラー訂正した後に復号してホスト装置に出力し、ホスト装置から第２不揮発性メモリからのデータの読み出しを要求するメモリ読み出し要求信号が入力されたときには、第２不揮発性メモリからデータが読み出されるよう第２不揮発性メモリを制御して読み出したデータに対して第２のエラー訂正符号を用いてエラー訂正した後に復号してホスト装置に出力する。これにより、第２メモリ読み出し要求信号が入力されたときにはより高速に第２メモリから読み出したデータに対してエラー訂正すると共に復号して第１制御手段に出力することができる。この結果、処理の高速化を図ることができる。
【００２９】
こうした本発明の第２の制御装置において、前記第１のエラー訂正符号は前記書き込みデータにパリティビットを付加してなるコードワードが第１のサイズのＢＣＨ符号であり、前記第２のエラー訂正符号は前記コードワードが前記第１のサイズより小さい第２のサイズのＢＣＨ符号であるものとすることもできる。
【００３０】
本発明の第２のデータ記憶装置は、
データを記憶するデータ記憶装置であって、
上述したいずれかの態様の本発明の制御装置、すなわち、基本的には、ホスト装置と不揮発性の記憶装置として構成された不揮発性記憶装置と不揮発性ランダムアクセスメモリとして構成された第１不揮発性メモリと前記不揮発性ランダムアクセスメモリとして構成された第２不揮発性メモリとの間のデータのやりとりを制御する制御装置であって、前記ホスト装置から前記不揮発性記憶装置へのデータの書き込みを要求する記憶装置書き込み要求信号が入力されたとき、前記ホスト装置から入力された書き込みデータが読み書きの頻度が高い高頻度アクセスデータでないときには前記入力された書き込みデータが前記不揮発性記憶装置に記憶されるよう前記不揮発性記憶装置を制御し、前記入力された書き込みデータが前記高頻度アクセスデータであるときには前記入力された書き込みデータを第１のエラー訂正符号に符号化すると共に該符号化したデータが前記第１不揮発性メモリに記憶されるよう前記第１不揮発性メモリを制御する第１符号化処理部と、前記ホスト装置から前記第２不揮発性メモリへのデータの書き込みを要求するメモリ書き込み要求信号が入力されたときには、前記入力された書き込みデータを前記第１のエラー訂正符号より訂正可能なビットエラー数が少ない第２のエラー訂正符号に符号化すると共に該符号化したデータが前記第２不揮発性メモリに記憶されるよう前記第２不揮発性メモリを制御する第２符号化処理部と、前記ホスト装置から前記不揮発性記憶装置からのデータの読み出しを要求する記憶装置読み出し要求信号が入力されたとき、出力すべき出力データが前記高頻度アクセスデータでないときに前記不揮発性記憶装置からデータが読み出されるよう前記不揮発性記憶装置を制御し、前記出力データが前記高頻度アクセスデータであるときには前記第１不揮発性メモリからデータが読み出されるよう前記第１不揮発性メモリを制御して該読み出したデータに対して前記第１のエラー訂正符号を用いてエラー訂正した後に復号して前記ホスト装置に出力する第１復号処理部と、前記ホスト装置から前記第２不揮発性メモリからのデータの読み出しを要求するメモリ読み出し要求信号が入力されたときには、前記第２不揮発性メモリからデータが読み出されるよう前記第２不揮発性メモリを制御して該読み出したデータに対して前記第２のエラー訂正符号を用いてエラー訂正した後に復号して前記ホスト装置に出力する第２復号処理部と、を備える制御装置と、
前記不揮発性記憶装置としての第１の記憶装置と、
前記第１不揮発性メモリと、前記第２不揮発性メモリと、を有する第２の記憶装置と、
を備えることを要旨とする。
【００３１】
この本発明の第２のデータ記憶装置では、上述したいずれかの態様の本発明の第２の制御装置を備えているから、本発明の第２の制御装置が奏する効果、例えば、処理の高速化を図ることができる効果などと同様の効果を奏することができる。
【００３２】
こうした本発明の第２のデータ記憶装置において、前記第１の記憶装置は、フラッシュメモリまたはハードディスクドライブであり、前記第２の記憶装置の前記第１不揮発性メモリおよび前記第２不揮発性メモリは、抵抗変化ランダムアクセスメモリおよび強誘電体ランダムアクセスメモリおよび磁気抵抗ランダムアクセスメモリおよび相変化ランダムアクセスメモリのいずれかであるものとすることもできる。
【００３３】
本発明の第３のデータ処理装置は、
データを処理するデータ処理装置であって、
不揮発性ランダムアクセスメモリとして構成されたデータを記憶する不揮発性メモリと、
前記不揮発性メモリの信頼性に関する情報を含む信頼性情報を出力する情報出力手段と、
前記出力された信頼性情報を用いて所定の処理を実行する制御処理手段と、
を備えることを要旨とする。
【００３４】
この本発明の第３のデータ処理装置では、出力された信頼性情報を用いて所定の処理を実行する。これにより、信頼性情報に応じてより適正に所定の処理を実行することができる。
【００３５】
こうした本発明の第３のデータ処理装置において、前記信頼性情報は、前記不揮発性メモリに記憶されたデータのうちエラーが生じているビット数である第１情報と、現在から所定期間が経過するまでに前記不揮発性メモリを書き換え可能な回数の最大値である第２情報と、前記データ処理装置の使用が開始されてからの総書き換え回数である第３情報と、前記不揮発性メモリにおける現在から前記所定期間が経過するまでに書き換え可能なビット数である第４情報と前記不揮発性メモリにおける前記データ処理装置の使用が開始されてからの総書き換えビット数である第５情報と、のうちの少なくとも１つを含む情報であるものとすることもできる。
【００３６】
本発明の第４のデータ処理装置は、
データを処理するデータ処理装置であって、
プログラムを記憶する抵抗変化メモリと、
プログラムを読み出すプログラム読み出し要求がなされたときには、前記抵抗変化メモリに記憶されているプログラムが読み出されるよう前記抵抗変化メモリを制御する制御処理手段と、
を備えることを要旨とする。
【００３７】
この本発明の第４のデータ処理装置では、プログラムを読み出すプログラム読み出し要求がなされたときには、抵抗変化メモリに記憶されているプログラムが読み出されるよう抵抗変化メモリを制御する。一般に、抵抗変化メモリは、ＮＯＲ型のフラッシュメモリより高速にデータを読み書きすることができるから、抵抗変化メモリにプログラムを記憶し、抵抗変化メモリに記憶されているプログラムを読み出すことにより、プログラムを高速に読み出すことができる。これにより、データの処理の高速化を図ることができる。
【００３８】
こうした本発明の第４のデータ処理装置において、前記制御処理手段は、前記プログラム読み出し要求がなされたときに、プログラム読み出し信号を出力する第１制御手段と、前記プログラム読み出し信号が入力されたときには、前記抵抗変化メモリに記憶されているプログラムが読み出されるよう前記抵抗変化メモリを制御する第２制御手段と、を有する手段であるものとすることもできる。
【図面の簡単な説明】
【００３９】
【図１】本発明の第１実施例としてのデータ処理装置であるＰＣ１０の構成の概略を示す説明図である。
【図２】ＰＣ１０に搭載されたＳＳＤ（Solid State Drive）３０の構成の概略を示す説明図である。
【図３】抵抗変化素子５６の構成の概略を示す説明図である。
【図４】半導体チップ６０，６２，６４が積層されている様子を説明するための説明図である。
【図５】ＣＰＵ２２により実行されるデータ書き込み処理ルーチンの一例を示すフローチャートである。
【図６】ＳＳＤ３０のメモリコントローラ４０により実行される記憶処理ルーチンの一例を示すフローチャートである。
【図７】本発明の第２実施例としてのデータ処理装置であるＰＣ１１０の構成の概略を示す説明図である。
【図８】ＰＣ１１０に搭載されたＳＳＤ１３０の構成の概略を示す説明図である。
【図９】抵抗変化素子１５６の構成の概略を示す説明図である。
【図１０】半導体チップ１６０，１６２，１６４が積層されている様子を説明するための説明図である。
【図１１】ＣＰＵ１２２により実行されるデータ書き込み処理ルーチンの一例を示すフローチャートである。
【図１２】ＳＳＤ１３０のメモリコントローラ１４０に内蔵された制御処理回路１４１により実行される書き込み処理ルーチンの一例を示すフローチャートである。
【図１３】ＣＰＵ１２２により実行されるデータ読み出し処理ルーチンの一例を示すフローチャートである。
【図１４】ＳＳＤ１３０のメモリコントローラ１４０に内蔵された制御処理回路１４１により実行される読み出し処理ルーチンの一例を示すフローチャートである。
【図１５】本発明の第３実施例としてのデータ処理装置であるＰＣ２１０の構成の概略を示す説明図である。
【図１６】抵抗変化素子２５６の構成の概略を示す説明図である。
【図１７】半導体チップ２６０，２６２，２６４が積層されている様子を説明するための説明図である。
【図１８】ＣＰＵ２２２により実行される休止時処理ルーチンの一例を示すフローチャートである。
【図１９】ＳＳＤ２３０のメモリコントローラ２４０で実行される記憶処理ルーチンの一例を示すフローチャートである。
【図２０】本発明の第４実施例としてのデータ処理装置であるＰＣ３１０の構成の概略を示す説明図である。
【図２１】抵抗変化素子３５６の構成の概略を示す説明図である。
【図２２】ＣＰＵ３２２により実行されるデータ書き込み処理ルーチンの一例を示すフローチャートである。
【図２３】ＣＰＵ３２２により実行される休止時処理ルーチンの一例を示すフローチャートである。
【図２４】ＲＲＡＭ３２６から出力される信頼性情報の一例を示す説明図である。
【図２５】本発明の第５実施例としてのデータ処理装置である携帯電話４１０の構成の概略を示す説明図である。
【図２６】抵抗変化素子４５６の構成の概略を示す説明図である。
【図２７】変形例の携帯電話５１０の構成の概略を示す説明図である。
【発明を実施するための形態】
【００４０】
次に、本発明を実施するための形態を実施例を用いて説明する。
【実施例１】
【００４１】
図１は本発明の第１実施例としてのデータ処理装置であるＰＣ１０の構成の概略を示す説明図であり、図２はＰＣ１０に搭載されたＳＳＤ３０の構成の概略を示す説明図である。ＰＣ１０は、パーソナルコンピュータとして構成されており、キャッシュメモリとしてのＳＲＡＭ２０を内蔵し各種演算処理や制御を実行するホスト装置としてのＣＰＵ２２と、データを一時的に記憶する主記憶装置としてのＤＲＡＭ２４と、各種アプリケーションプログラムや各種データを記憶する大容量のデータ記憶装置としてのＳＳＤ３０とを備えている。ＣＰＵ２２とＤＲＡＭ２４とＳＳＤ３０とは、互いにバス３１を介してデータや各種信号などをやりとりできるよう構成されている。
【００４２】
ＣＰＵ２２は、ＳＳＤ３０が記憶している各種アプリケーションプログラムや各種データファイルがＤＲＡＭ２４に記憶されるようＳＳＤ３０やＤＲＡＭ２４を制御して、ＤＲＡＭ２４に記憶させた各種アプリケーションプログラムに応じた演算処理を実行し、実行した結果をデータとしてＤＲＡＭ２４やＳＳＤ３０に記憶されるようＤＲＡＭ２４やＳＳＤ３０を制御したり、定期的にＤＲＡＭ２４に記憶されているデータを読み出した後に読み出したデータをＤＲＡＭ２４に書き込むリフレッシュ動作がなされるようＤＲＡＭ２４を制御する。
【００４３】
ＳＳＤ３０は、図２に例示するように、ＮＡＮＤ型フラッシュメモリとして構成されたフラッシュメモリ３２と、抵抗変化ランダムアクセスメモリ（Resistance Random Access Memory，ＲＲＡＭ）として構成されたＲＲＡＭ３４と、フラッシュメモリ３２とＲＲＡＭ３４とを制御する制御装置としてのメモリコントローラ４０と、から構成されている。
【００４４】
フラッシュメモリ３２は、フローティングゲートへの電子注入やフローティングゲートからの電子の引き抜きにより閾値電圧が変化するフラッシュメモリセルを複数有するフラッシュメモリセルアレイ（図示せず）を備えるＮＡＮＤ型フラッシュメモリとして構成されており、フラッシュメモリセルアレイの他にロウデコーダ，カラムデコーダ，センスアンプなど（いずれも図示せず）を備える。フラッシュメモリ３２では、ページ単位（実施例では、８Ｋバイトなど）でデータを書き込んだりデータを読み出し、複数ページからなるブロック単位（実施例では、１Ｍバイトなど）で記憶しているデータを消去する。
【００４５】
ＲＲＡＭ３４は、チタン（Ｔｉ）や白金（Ｐｔ）などの金属から形成された上部電極５０とチタン（Ｔｉ）や白金（Ｐｔ）などの金属から形成された下部電極５２とで金属酸化物５４を挟み込んで形成された図３に例示する抵抗変化素子５６と、抵抗変化素子５６に接続されたＭＯＳトランジスタ（図示せず）とから構成されるＲＲＡＭセルを複数有するＲＲＡＭセルアレイ（図示せず）を備えるＲＲＡＭとして構成されており、ＲＲＡＭセルアレイの他にロウデコーダ，カラムデコーダ，センスアンプなど（いずれも図示せず）を備える。ＲＲＡＭセルは、上部電極５０に印加される電圧Ｖ１が下部電極５２に印加される電圧Ｖ２より高いときにセット（低抵抗化）され、電圧Ｖ１が電圧Ｖ２より低いときにリセット（高抵抗化）されるバイポーラ動作を行なう素子として形成されている。こうしたバイポーラ動作を行なうＲＲＡＭセルは、一般に、動作速度が比較的速く消費電力が少ない素子であるため、ＲＲＡＭ３４は、動作速度が比較的早く消費電力が少ないメモリとして構成されている。なお、金属酸化物５４としては、チタン酸化物（ＴｉＯｘ）やニッケル酸化物（ＮｉＯｘ），銅酸化物（ＣｕＯｘ），ハフニウム酸化物（ＨｆＯｘ）などの金属酸化物またはこれらの金属酸化物を複数積層された積層構造とするのが望ましいと考えられる。
【００４６】
メモリコントローラ４０は、複数の論理素子を有する論理回路として構成され各種制御や演算処理を行なう制御処理回路４１と、時間を計測するオンチップタイマー回路４２と、データを記憶するＳＲＡＭ４４と、データを一時的に記憶するレジスタ４６とが搭載されている。メモリコントローラ４０には、ＣＰＵ２２から各種制御信号やデータなどが入力されており、入力された制御信号に基づいてフラッシュメモリ３２やＲＲＡＭ３４にデータが記憶されるようフラッシュメモリ３２やＲＲＡＭ３４を制御したり、フラッシュメモリ３２やＲＲＡＭ３４からデータが読み出されるようフラッシュメモリ３２やＲＲＡＭ３４を制御して読み出したデータをＣＰＵ２２に出力する。また、メモリコントローラ４０は、ＲＲＡＭ３４の記憶領域毎の書き換え回数の監視を行なっている。
【００４７】
ＰＣ１０では、図４に示すように、ＣＰＵ２２，ＳＲＡＭ２０，ＤＲＡＭ２４，ＳＳＤ３０のメモリコントローラ４０が同一の半導体チップ６０に搭載されており、ＳＳＤ３０のＲＲＡＭ３４が半導体チップ６２に搭載されおり、フラッシュメモリ３２が半導体チップ６４に搭載されている。半導体チップ６０，６２，６４は積層されており、半導体チップ６０，６２，６４の３つのチップ間は各チップに形成された貫通孔に充填された銅（Ｃｕ）などの導電性の複数の金属電極６６により電気的に接続されており、半導体チップ６０，６２，６４は、金属電極６６を介してデータや各種制御信号などのやりとりを行なっている。
【００４８】
こうして構成された実施例のＰＣ１０では、ＳＳＤ３０のフラッシュメモリ３２に記憶されているプログラムがＣＰＵ２２に読み込まれ、読み込まれたプログラムに応じてＳＲＡＭ２０やＤＲＡＭ２４，ＳＳＤ３０からデータが読み出されるようＳＲＡＭ２０やＤＲＡＭ２４，ＳＳＤ３０が制御される。そして、読み出されたデータにはプログラムに応じた演算処理が施され、例えば動作の履歴を示すデータであるかなどのデータの種類や１秒間あたりに読み書きする回数であるアクセス頻度などの情報を含むヘッダ情報を演算処理結果としてのデータに付加してＳＲＡＭ２０やＤＲＡＭ２４，ＳＳＤ３０に書き込まれるようＳＲＡＭ２０やＤＲＡＭ２４，ＳＳＤ３０が制御される。
【００４９】
次に、こうして構成されたＰＣ１０の動作、特に、データをＤＲＡＭ２４またはＳＳＤ３０に書き込む際の動作について説明する。図５はＣＰＵ２２により実行されるデータ書き込み処理ルーチンの一例を示すフローチャートである。このルーチンは、プログラムを実行している最中などＣＰＵ２２で演算したデータを一時的に保存するときに実行される。
【００５０】
書き込み処理ルーチンが実行されると、ＣＰＵ２２は、保存すべき書き込みデータＤのヘッダ情報を調べることにより書き込みデータＤの種類を調べる（ステップＳ１００）、書き込みデータＤが書き換え回数が多い高書き換えデータ（例えば、動作の履歴を書き込むファイルや各種アプリケーションのユーザデータなど）であるときにはＤＲＡＭ２４に書き込みデータＤが記憶されるようＤＲＡＭ２４を制御する（ステップＳ１１０）。こうした処理により、書き込みデータＤが高書き換えデータであるときには書き込みデータＤをＤＲＡＭ２４に記憶させることができる。
【００５１】
書き込みデータＤが高書き換えデータでないときにはＲＲＡＭ書き込み要求信号と書き込みデータＤと書き込みデータＤの論理アドレスＡｄｄｌとをＳＳＤ３０のメモリコントローラ４０に出力して（ステップＳ１２０）、本ルーチンを終了する。ＲＲＡＭ書き込み要求信号と書き込みデータＤと書き込みデータＤの論理アドレスＡｄｄｌとが入力されたＳＳＤ３０のメモリコントローラ４０は、図６に例示する記憶処理ルーチンを実行する。ここで、図５のデータ書き込み処理ルーチンの説明を中断して、メモリコントローラ４０の動作について説明する。
【００５２】
記憶処理ルーチンが実行されると、メモリコントローラ４０の制御処理回路４１は、ＣＰＵ２２からの論理アドレスＡｄｄｌと書き込みデータＤとを入力する処理を実行し（ステップＳ２００）、参照サイズＳｒｅｆ未満の書き込みデータＤが入力されてから次に参照サイズＳｒｅｆ未満の書き込みデータＤが入力されるまでの経過時間Ｔを参照時間Ｔｒｅｆと比較する（ステップＳ２１０）。ここで、経過時間Ｔは、オンチップタイマー回路４２により計時されたものを用いるものとした。また、参照時間Ｔｒｅｆは、予期しない電力の遮断に備えてＳＲＡＭ４４に記憶されているデータをＲＲＡＭ３４に退避すべき時間として予め定めた時間（例えば、１０ｍｓ，５０ｍｓ，１００ｍｓなど）を用いるものとした。したがって、ステップＳ２１０の処理は、ＳＲＡＭ４４に記憶されているデータをＲＲＡＭ３４に退避すべきか否かを判定する処理になる。
【００５３】
経過時間Ｔが参照時間Ｔｒｅｆ未満であるときには（ステップＳ２１０）、ＳＲＡＭ４４に記憶されているデータをＲＲＡＭ３４に退避させる必要がないと判断して、続いて、入力された書き込みデータＤのサイズであるデータサイズＳｄを参照サイズＳｒｅｆと比較する（ステップＳ２２０）。ここで、参照サイズＳｒｅｆは、ＲＲＡＭ３４において、ＲＲＡＭセルの１セルあたりの書き換え回数を平滑化するためのウェアレベリングで書き込みデータＤの論理アドレスＡｄｄｌを物理アドレスＡｄｄｐに変換する際に用いるウェアレベリング用アドレス変換テーブルのサイズが大きくなり、ウェアレベリング用アドレス変換テーブルに確保するメモリ領域の増加が無視できなくなるデータサイズの上限として予め定めたもの（例えば、５１２Ｋバイト、１Ｍバイト、１．５Ｍバイトなど）を用いるものとした。このように参照サイズＳｒｅｆを設定したのは、一般に、書き込みデータＤのサイズが小さくなるほどアドレス変換テーブルのサイズが大きくなることに基づく。したがって、ステップＳ２２０の処理は、ウェアレベリングを実行しても差し支えないか否かを判定する処理になる。
【００５４】
データサイズＳｄが参照サイズＳｒｅｆ以上であるときには（ステップＳ２２０）、ウェアレベリングを実行しても差し支えないため、ＲＲＡＭ３４に書き込みデータＤを記憶させてもよいと判断して、ＲＲＡＭ３４の記憶領域毎の書き換え回数を用いて同じ記憶領域にデータの書き換えが集中しないよう論理アドレスを物理アドレスに変換するためのアドレス変換テーブルを生成してメモリコントローラ４０のレジスタ４６に記憶させ（ステップＳ２３０）、記憶させたアドレス変換テーブルを用いて論理アドレスを物理アドレスに変換すると共に変換後の物理アドレスに対応するＲＲＡＭ３４の記憶領域に書き込みデータＤを記憶させ（ステップＳ２４０）、本処理ルーチンを終了する。このように書き込みデータＤのサイズが参照サイズＳｒｅｆ以上であるときには、ウェアレベリングを実行してＲＲＡＭ３４に書き込みデータＤを記憶させることにより、ＲＲＡＭ３４の記憶領域毎の書き換え回数が平滑化され、ＲＲＡＭ３４の劣化を抑制することができる。
【００５５】
データサイズＳｄが参照サイズＳｒｅｆ未満であるときには（ステップＳ２２０）、ウェアレベリングを実行すべきではないため、ＲＲＡＭ３４に書き込みデータＤを記憶させるべきではないと判断して、書き込みデータＤがＳＲＡＭ４４に記憶されるようＳＲＡＭ４４を制御して（ステップＳ２５０）、本処理ルーチンを終了する。上述したように、書き込みデータＤのサイズが小さいほどウェアレベリングする際に生成するウェアレベリング用アドレス変換テーブルの大きくなる傾向にあるが、書き込みデータＤのサイズが参照サイズＳｒｅｆ未満であるときにはＳＲＡＭ４４に書き込みデータＤを記憶させることにより、書き込みデータＤのサイズに拘わらず一律にウェアレベリング用アドレス変換テーブルを生成してウェアレベリングを行なうものに比して、ウェアレベリング用アドレス変換テーブルに確保する記憶領域の増加を抑制することができる。
【００５６】
経過時間Ｔが参照時間Ｔｒｅｆ以上であるときには（ステップＳ２１０）、一定期間逐次入力される書き込みデータＤのデータサイズがＳｄ参照サイズＳｒｅｆ以上でＳＲＡＭ４４への新たなデータの書き込みがないため停電など予期しない電力の遮断に備えてＳＲＡＭ４４に記憶されているデータをＲＲＡＭ３４に退避させる必要があると判断して、ＳＲＡＭ４４に記憶されているデータがＲＲＡＭ３４に記憶されるようＲＲＡＭ３４を制御して（ステップＳ２６０）、本処理ルーチンを終了する。こうした処理により、ＳＲＡＭ４４に記憶されているデータの消失を抑制することができる。以上、ＲＲＡＭ書き込み要求信号と書き込みデータＤと書き込みデータＤの論理アドレスＡｄｄｌとが入力されたＳＳＤ３０のメモリコントローラ４０の動作について説明した。
【００５７】
ここで、図５のデータ書き込み処理ルーチンの説明に戻る。上述したように、図５のデータ書き込み処理ルーチンでは、書き込みデータＤが高書き換えデータであるときにはＤＲＡＭ２４に書き込みデータＤを記憶させ（ステップＳ１００，Ｓ１１０）、書き込みデータＤが高書き換えデータでないときにはＳＳＤ３０のＲＲＡＭ３４またはＳＲＡＭ４４に書き込みデータＤが記憶される（ステップＳ１００，Ｓ１２０）。一般に、ＤＲＡＭは、定期的（例えば、数μｓ毎）に記憶しているデータを読み出した後に読み出したデータをＤＲＡＭに再書き込みするリフレッシュ動作を行なう必要があるが、書き込みデータＤが高書き換えデータであるときにはＤＲＡＭ２４に書き込みデータＤを記憶させることにより、ＤＲＡＭ２４に記憶しているデータが頻繁に書き換えられることになり、書き込みデータＤの種類に拘わらず書き込みデータＤをＤＲＡＭに記憶させるものに比して、ＤＲＡＭ２４のリフレッシュ動作の時間間隔を長くして、リフレッシュ回数を低減させることができる。これにより、消費電力の低減を図ることができる。また、一般に、ＲＲＡＭは同じ領域への書き換え回数が多くなるほど劣化が進むと考えられるが、書き込みデータＤが高書き換えデータでないときに書き込みデータＤをＲＲＡＭ３４またはＳＲＡＭ４４に記憶させることにより、ＲＲＡＭ３４の書き換え回数を減少させることができ、ＲＲＡＭ３４の劣化を抑制することができる。こうした処理により、ＲＲＡＭ３４の劣化を抑制しながら消費電力の低減を図ることができる。
【００５８】
以上説明した第１実施例のＰＣ１０では、書き込みデータＤが高書き換えデータであるときにはＤＲＡＭ２４に書き込みデータＤが記憶されるようＤＲＡＭ２４を制御し、書き込みデータＤが高書き換えデータでないときに書き込みデータＤがＲＲＡＭ３４またはＳＲＡＭ４４に記憶させられるようＲＲＡＭ３４，ＳＲＡＭ４４を制御することにより、ＲＲＡＭ３４の劣化を抑制しながら消費電力の低減を図ることができる。また、ＲＲＡＭ３４またはＳＲＡＭ４４に書き込みデータＤを記憶させる際に、経過時間Ｔが参照時間Ｔｒｅｆ未満であるときには、書き込みデータＤのサイズであるデータサイズＳｄが参照サイズＳｒｅｆ以上であるときにはウェアレベリング用アドレス変換テーブルを生成してメモリコントローラ４０のレジスタ４６に記憶させ、記憶させたアドレス変換テーブルを用いて論理アドレスを物理アドレスに変換すると共に変換後の物理アドレスに対応するＲＲＡＭ３４の記憶領域に書き込みデータＤを記憶させることにより、書き込みデータＤのサイズに拘わらず一律にウェアレベリング用アドレス変換テーブルを生成してウェアレベリングを行なうものに比して、ウェアレベリング用アドレス変換テーブルに確保する記憶領域の増加を抑制することができる。さらに、経過時間Ｔが参照時間Ｔｒｅｆ以上であるときには、ＳＲＡＭ４４に記憶されているデータがＲＲＡＭ３４に記憶されるようＲＲＡＭ３４を制御することにより、ＳＲＡＭ４４に記憶されているデータの消失を抑制することができる。
【００５９】
第１実施例のＰＣ１０では、ステップＳ２１０，Ｓ２６０の処理で経過時間Ｔが参照時間Ｔｒｅｆ以上であるときにはＳＲＡＭ４４に記憶されているデータがＲＲＡＭ３４に記憶されるようＲＲＡＭ３４を制御するものとしたが、こうしたステップＳ２１０，Ｓ２６０の処理を行なわず、ステップＳ２００，Ｓ２２０〜Ｓ２５０の処理を行なうものとしてもよい。
【００６０】
第１実施例のＰＣ１０では、メモリコントローラ４０がＳＲＡＭ４４を内蔵するものとしたが、ＳＲＡＭ４４に代えて電力の供給が遮断されたときに記憶が消失する他の揮発性のランダムアクセスメモリ、例えば、ＤＲＡＭなどを内蔵するものとしてもよい。
【００６１】
第１実施例のＰＣ１０では、ＳＳＤ３０は、フラッシュメモリ３２を備えているものとしたが、フラッシュメモリ３２に代えて他の不揮発性の記憶装置、例えば、ハードディスクドライブなどを備えているものとしてもよい。
【００６２】
第１実施例のＰＣ１０では、ＲＲＡＭ３４のＲＲＡＭセルをバイポーラ動作を行なう素子として形成されているものとしたが、ＲＲＡＭセルを抵抗変化素子５６とダイオード（図示せず））とにより構成すると共に、電圧Ｖ１に電圧Ｖ２より高い電圧が印加されたときにセット（低抵抗化）され、電圧Ｖ１に電圧Ｖ２より高くＲＲＡＭセルをセットする電圧より低い電圧が印加されたときにリセット（高抵抗化）されるユニポーラ動作を行なう素子として形成するものとしてもよい。こうしたユニポーラ動作を行なうＲＲＡＭセルは、一般に、バイポーラ動作を行なうＲＲＡＭセルに比して小さいセルサイズで簡単なセル構成で構成するため、ＲＲＡＭセルをバイポーラ動作を行なう素子として形成するものに比して、動作が若干遅くなるものの、面積をより小さくすることができる。
【００６３】
第１実施例のＰＣ１０では、ＳＳＤ３０がＲＲＡＭ３４を備えているものとしたが、ＲＲＡＭ３４に代えて他の不揮発性ランダムアクセスメモリ、例えば、二つの電極で強誘電体材料を挟み込んだキャパシタを有する強誘電体ランダムアクセスメモリやトンネル磁気抵抗膜を磁性体膜で挟み込んだ構造のＭＴＪ（Magneto Tunnel Junction）素子を有する磁気抵抗ランダムアクセスメモリや二つの電極で相変化材料を挟み込んだ素子を有する相変化ランダムアクセスメモリなどを備えるものとしてもよい。
【００６４】
第１実施例のＰＣ１０では、ＲＲＡＭ３４が半導体チップ６４に搭載されているものとしたが、ＲＲＡＭ３４を複数に分割して分割したＲＲＡＭがそれぞれ異なる半導体チップに搭載されているものとしてもよい。
【００６５】
第１実施例のＰＣ１０では、ＣＰＵ２２，ＳＲＡＭ２０，ＤＲＡＭ２４，ＳＳＤ３０のメモリコントローラ４０が同一の半導体チップ６０に搭載されているものとしたが、ＣＰＵ２２，ＳＲＡＭ２０，ＤＲＡＭ２４，ＳＳＤ３０のメモリコントローラ４０がそれぞれ異なる半導体チップに搭載されているものとしても構わない。
【００６６】
第１実施例のＰＣ１０では、半導体チップ６０，６２，６４の３つのチップ間は積層され、複数の金属電極６６により電気的に接続されているものとしたが、半導体チップ６０，６２，６４がそれぞれ個別に樹脂パッケージ等の内部に封止され、こうして封止されたものが１枚または複数の配線基板に載置されるものとしてもよい。
【００６７】
第１実施例では、本発明をパーソナルコンピュータに適用する場合を例示したが、データを処理するデータ処理装置であれば如何なるものに用いてもよく、例えば、携帯電話やデジタルスチルカメラやデジタルビデオカメラなどに用いるものとしても構わない。
【００６８】
第１実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。第１実施例では、本発明の第１のデータ処理装置において、ＤＲＡＭ２４が「第１メモリ」に相当し、ＲＲＡＭ３４が「第２メモリ」に相当し、ＣＰＵ２２とメモリコントローラ４０とを組み合わせたものが「制御処理手段」に相当する。また、本発明の第１の制御装置において、ＣＰＵ２２が「ホスト装置」に相当し、ＳＲＡＭ４４が「揮発性記憶部」に相当し、ウェアレベリング用アドレス変換テーブルを生成してレジスタ４６に記憶させる処理を実行するメモリコントローラ４０の制御処理回路４１とレジスタ４６とが「変換テーブル記憶部」に相当し、書き込みデータＤのサイズに応じて書き込みデータＤがＲＲＡＭ３４またはＳＲＡＭ４４に記憶されるようＲＲＡＭ３４やＳＲＡＭ４４を制御する処理を実行する制御処理回路４１が「記憶制御部」に相当する。さらに、本発明の第１のデータ記憶装置において、フラッシュメモリ３２が「第１の記憶装置」に相当し、ＲＲＡＭ３４が「第２の記憶装置」に相当する。
【実施例２】
【００６９】
図７は本発明の第２実施例としてのデータ処理装置であるＰＣ１１０の構成の概略を示す説明図であり、図８はＰＣ１１０に搭載されたＳＳＤ１３０の構成の概略を示す説明図である。ＰＣ１１０は、パーソナルコンピュータとして構成されており、キャッシュメモリとしてのＳＲＡＭ１２０を内蔵し各種演算処理や制御を実行するホスト装置としてのＣＰＵ１２２と、データを一時的に記憶する主記憶装置としてのＤＲＡＭ１２４と、各種アプリケーションプログラムや各種データを記憶する大容量のデータ記憶装置としてのＳＳＤ１３０とを備えている。ＣＰＵ１２２とＤＲＡＭ１２４とＳＳＤ１３０とは、互いにバス１３１を介してデータや各種信号などをやりとりできるよう構成されている。
【００７０】
ＣＰＵ１２２は、ＳＳＤ１３０が記憶している各種アプリケーションプログラムや各種データファイルがＤＲＡＭ１２４に記憶されるようＳＳＤ１３０やＤＲＡＭ１２４を制御して、ＤＲＡＭ１２４に記憶させた各種アプリケーションプログラムに応じた演算処理を実行し、実行した結果をデータとしてＤＲＡＭ１２４やＳＳＤ１３０に記憶されるようＤＲＡＭ１２４やＳＳＤ１３０を制御したり、定期的にＤＲＡＭ１２４に記憶されているデータを読み出した後に読み出したデータをＤＲＡＭ１２４に書き込むリフレッシュ動作がなされるようＤＲＡＭ１２４を制御する。
【００７１】
ＳＳＤ１３０は、図８に例示するように、ＮＡＮＤ型フラッシュメモリとして構成されたフラッシュメモリ１３２と、抵抗変化ランダムアクセスメモリ（Resistance Random Access Memory，ＲＲＡＭ）として構成されたＲＲＡＭ１３４，１３６と、フラッシュメモリ１３２とＲＲＡＭ１３４，１３６とを制御する制御装置としてのメモリコントローラ１４０と、から構成されている。
【００７２】
フラッシュメモリ１３２は、フローティングゲートへの電子注入やフローティングゲートからの電子の引き抜きにより閾値電圧が変化するフラッシュメモリセルを複数有するフラッシュメモリセルアレイ（図示せず）を備えるＮＡＮＤ型フラッシュメモリとして構成されており、フラッシュメモリセルアレイの他にロウデコーダ，カラムデコーダ，センスアンプなど（いずれも図示せず）を備える。フラッシュメモリ１３２では、ページ単位（実施例では、８Ｋバイトなど）でデータを書き込んだりデータを読み出し、複数ページからなるブロック単位（実施例では、１Ｍバイトなど）で記憶しているデータを消去する。
【００７３】
ＲＲＡＭ１３４は、チタン（Ｔｉ）や白金（Ｐｔ）などの金属から形成された上部電極１５０とチタン（Ｔｉ）や白金（Ｐｔ）などの金属から形成された下部電極１５２とで金属酸化物１５４を挟み込んで形成された図９に例示する抵抗変化素子１５６と、抵抗変化素子１５６に接続されたＭＯＳトランジスタ（図示せず）とから構成されるＲＲＡＭセルを複数有するＲＲＡＭセルアレイ（図示せず）を備えるＲＲＡＭとして構成されており、ＲＲＡＭセルアレイの他にロウデコーダ，カラムデコーダ，センスアンプなど（いずれも図示せず）を備える。ＲＲＡＭセルは、上部電極１５０に印加される電圧Ｖ１が下部電極１５２に印加される電圧Ｖ２より高いときにセット（低抵抗化）され、電圧Ｖ１が電圧Ｖ２より低いときにリセット（高抵抗化）されるバイポーラ動作を行なう素子として形成されている。こうしたバイポーラ動作を行なうＲＲＡＭセルは、一般に、動作速度が比較的速く消費電力が少ない素子であるため、ＲＲＡＭ１３４は、動作速度が比較的早く消費電力が少ないメモリとして構成されている。ＲＲＡＭ１３６は、ＲＲＡＭ１３４と同一の構成のＲＲＡＭセルから構成されている。なお、金属酸化物１５４としては、チタン酸化物（ＴｉＯｘ）やニッケル酸化物（ＮｉＯｘ），銅酸化物（ＣｕＯｘ），ハフニウム酸化物（ＨｆＯｘ）などの金属酸化物またはこれらの金属酸化物を複数積層された積層構造とするのが望ましいと考えられる。
【００７４】
メモリコントローラ１４０は、複数の論理素子を有する論理回路として構成され各種制御や演算処理を行なう制御処理回路４１が搭載されている。メモリコントローラ１４０には、ＣＰＵ１２２から各種制御信号やデータなどが入力されており、入力された制御信号に基づいてフラッシュメモリ１３２やＲＲＡＭ１３４，１３６にデータが記憶されるようフラッシュメモリ１３２やＲＲＡＭ１３４，１３６を制御したり、フラッシュメモリ１３２やＲＲＡＭ１３４，１３６からデータが読み出されるようフラッシュメモリ１３２やＲＲＡＭ１３４，１３６を制御して読み出したデータをＣＰＵ１２２に出力する。
【００７５】
ＰＣ１１０では、図１０に示すように、ＣＰＵ１２２，ＳＲＡＭ１２０，ＤＲＡＭ１２４，ＳＳＤ１３０のメモリコントローラ１４０が同一の半導体チップ１６０に搭載されており、ＳＳＤ１３０のＲＲＡＭ１３４，１３６が同一の半導体チップ１６２に搭載されおり、フラッシュメモリ１３２が半導体チップ１６４に搭載されている。半導体チップ１６０，１６２，１６４は積層されており、半導体チップ１６０，１６２，１６４の３つのチップ間は各チップに形成された貫通孔に充填された銅（Ｃｕ）などの導電性の複数の金属電極１６６により電気的に接続されており、半導体チップ１６０，１６２，１６４は、金属電極１６６を介してデータや各種制御信号などのやりとりを行なっている。
【００７６】
こうして構成された実施例のＰＣ１１０では、ＳＳＤ１３０のフラッシュメモリ１３２に記憶されているプログラムがＣＰＵ１２２に読み込まれ、読み込まれたプログラムに応じてＳＲＡＭ１２０やＤＲＡＭ１２４，ＳＳＤ１３０からデータが読み出されるようＳＲＡＭ１２０やＤＲＡＭ１２４，ＳＳＤ１３０が制御される。そして、読み出されたデータにはプログラムに応じた演算処理が施されて、その結果としての書き込みデータがＳＲＡＭ１２０やＤＲＡＭ１２４，ＳＳＤ１３０に書き込まれるようＳＲＡＭ１２０やＤＲＡＭ１２４，ＳＳＤ１３０が制御される。
【００７７】
次に、こうして構成されたＰＣ１１０の動作、特に、データをＳＳＤ１３０に書き込む際の動作について説明する。図１１はＣＰＵ１２２により実行されるデータ書き込み処理ルーチンの一例を示すフローチャートである。このルーチンは、ＣＰＵ１２２で演算したデータをＳＳＤ１３０に書き込む書き込み要求がなされたときに実行される。
【００７８】
データ書き込み処理ルーチンが実行されると、ＣＰＵ１２２は、書き込み要求がＲＲＡＭ１３４への書き込み要求であるかフラッシュメモリ１３２への書き込み要求であるかを調べる処理を実行する（ステップＳ３００）。ここで、ＲＲＡＭ１３４への書き込み要求は、例えば、プログラムを実行している最中などデータを一時的に保存する必要が生じた際に書き込みデータＤが書き換え回数が多い高書き換えデータであるときになされるものとした。また、フラッシュメモリ１３２への書き込み要求は、例えば、プログラムを終了するときなどデータを長期間保存すべきときになされるものとした。
【００７９】
書き込み要求がＲＲＡＭ１３４への書き込み要求であるときにはＲＲＡＭ書き込み要求信号と論理アドレスＡｄｄｌをＳＳＤ１３０へ出力すると共にＣＰＵ１２２で演算されたデータを書き込みデータＤとしてＳＳＤ１３０に出力し（ステップＳ３１０）、書き込み要求がフラッシュメモリ１３２への書き込み要求であるときにはフラッシュメモリ書き込み要求信号と論理アドレスＡｄｄｌとをＳＳＤ１３０へ出力すると共にＣＰＵ１２２で演算されたデータを書き込みデータＤとしてＳＳＤ１３０へ出力して（ステップＳ３２０）、本処理ルーチンを終了する。
【００８０】
続いて、こうした書き込み要求が入力されたＳＳＤ１３０の動作について説明する。図１２は、ＳＳＤ１３０のメモリコントローラ１４０に内蔵された制御処理回路１４１により実行される書き込み処理ルーチンの一例を示すフローチャートである。このルーチンは、ＣＰＵ１２２からのＲＲＡＭ書き込み要求信号またはフラッシュメモリ書き込み要求信号がＳＳＤ１３０のメモリコントローラ１４０の制御処理回路１４１に入力されたときに実行される。
【００８１】
書き込み処理ルーチンが実行されると、メモリコントローラ１４０の制御処理回路１４１は、ＣＰＵ１２２から入力された書き込み要求信号の種類を調べる処理を実行する（ステップＳ４００）。書き込み要求信号がフラッシュメモリ書き込み要求信号であるときには、書き込みデータＤを比較的長い期間（例えば、１年間など）保持する必要があると判断して、続いて、ＣＰＵ１２２から入力された書き込みデータＤのヘッダ情報を調べ、書き込みデータＤが１秒あたりに読み書きする回数であるアクセス頻度が比較的多い高頻度アクセスデータ（例えば、各種アプリケーションのユーザデータなど）である否かを調べる（ステップＳ４１０）。
【００８２】
書き込みデータＤが高頻度アクセスデータでないときには、フラッシュメモリ１３２，ＲＲＡＭ１３６においてデータを保持可能な期間が１年間程度の比較的強いエラー訂正符号（Error Correcting Code,ECC）として予め定められた第１ＥＣＣ（例えば、書き込みデータＤにパリティビットを付加したコードワードが３２ｋＢのＢＣＨ符号）になるよう書き込みデータＤに誤り訂正ビットを付加して書き込みデータＤを符号化して（ステップＳ４２０）、符号化したデータが論理アドレスＡｄｄlに対応するフラッシュメモリ１３２の記憶領域に記憶されるようフラッシュメモリ１３２を制御し（ステップＳ４３０）、書き込みデータＤが高頻度アクセスデータであるときには、第１ＥＣＣに書き込みデータＤを符号化して（ステップＳ４４０）、符号化したデータが論理アドレスＡｄｄｌに対応するＲＲＡＭ１３６の記憶領域に記憶されるようＲＲＡＭ１３６を制御して（ステップＳ４５０）、本処理ルーチンを終了する。こうした処理により、書き込みデータＤが高頻度アクセスデータであるときには、第１ＥＣＣにより符号化された書き込みデータＤをＲＲＡＭ１３６に記憶させることができる。一般に、ＲＲＡＭは、データを読み書き（アクセス）するために要する時間であるアクセス時間がフラッシュメモリのアクセス時間の１／１０程度であるため、こうした高速なメモリに高頻度アクセスデータＤを記憶させることにより、アクセスを高速化することができる。また、比較的強いＥＣＣである第１ＥＣＣに書き込みデータＤを符号化するから、書き込みデータＤをより長く保持することができる。
【００８３】
書き込み要求信号がＲＲＡＭ書き込み要求信号であるときには（ステップＳ４００）、書き込みデータＤをさほど長く保持する必要がないと判断して、第１ＥＣＣより検出可能なエラービット数が少なくＲＲＡＭ１３４においてデータを保持できる期間が１日程度の比較的弱い第２ＥＣＣ（例えば、コードワードが２ｋＢのＢＣＨ符号など）になるよう書き込みデータＤに誤り訂正ビットを付加して書き込みデータＤを符号化して（ステップＳ４６０）、符号化したデータが論理アドレスＡｄｄｌに対応するＲＲＡＭ１３４の記憶領域に記憶されるようＲＲＡＭ１３４を制御して（ステップＳ４７０）、本処理ルーチンを終了する。一般に、ＥＣＣでは、検出可能なエラービット数が少なくなるほど書き込みデータＤに付加する誤り訂正ビットのサイズが小さくなり、書き込みデータＤを符号化する際の処理速度も速くなるため、書き込みデータＤを第２ＥＣＣに符号化して符号化したデータをＲＲＡＭ１３４に記憶させることにより、書き込みデータＤを第１ＥＣＣで符号化した場合に比してより高速に書き込みデータＤを符号化してＲＲＡＭ１３４に記憶させることができる。
【００８４】
続いて、こうして構成されたＰＣ１１０において、データをＳＳＤ１３０から読み出す際の動作について説明する。図１３はＣＰＵ１２２により実行されるデータ読み出し処理ルーチンの一例を示すフローチャートである。このルーチンは、ＣＰＵ１２２でＳＳＤ１３０に保存しているデータを読み出す読み出し要求がなされたときに実行される。
【００８５】
データ読み出し処理ルーチンが実行されると、ＣＰＵ１２２は、読み出し要求がＲＲＡＭ１３４への読み出し要求であるかフラッシュメモリ１３２への読み出し要求であるかを調べる処理を実行する（ステップＳ５００）。ここで、ＲＲＡＭ１３４への読み出し要求は、例えば、プログラムを実行している最中などＲＲＡＭ１３４へ一時的に保存しているデータを読み出す必要が生じた際、すなわち、書き込みデータＤが書き換え回数が多い高書き換えデータであってＲＲＡＭ１３４に記憶されているときになされるものとした。また、フラッシュメモリ１３２への読み出し要求は、例えば、プログラムを起動してフラッシュメモリ１３２に保存されているデータ（ファイル）がユーザにより選択され、選択されたデータを読み出すときになされるものとした。
【００８６】
読み出し要求がＲＲＡＭ１３４への読み出し要求であるときにはＲＲＡＭ読み出し要求信号と読み出すべきデータの論理アドレスＡｄｄｌとをＳＳＤ１３０へ出力し（ステップＳ５１０）、読み出し要求がフラッシュメモリ１３２への読み出し要求であるときにはフラッシュメモリ読み出し要求信号と読み出すべきデータの論理アドレスＡｄｄｌをＳＳＤ１３０へ出力して（ステップＳ５２０）、本処理ルーチンを終了する。
【００８７】
続いて、こうした読み出し要求が入力されたＳＳＤ１３０の動作について説明する。図１４は、ＳＳＤ１３０のメモリコントローラ１４０に内蔵された制御処理回路１４１により実行される読み出し処理ルーチンの一例を示すフローチャートである。このルーチンは、ＣＰＵ１２２からのＲＲＡＭ読み出し要求信号またはフラッシュメモリ読み出し要求信号がＳＳＤ１３０のメモリコントローラ１４０の制御処理回路１４１に入力されたときに実行される。
【００８８】
読み出し処理ルーチンが実行されると、メモリコントローラ１４０の制御処理回路１４１は、ＣＰＵ１２２から入力された読み出し要求信号の種類を調べる処理を実行する（ステップＳ６００）。読み出し要求信号がフラッシュメモリ読み出し要求信号であるときには、入力された論理アドレスＡｄｄｌに基づいて読み出すべきデータが高頻度アクセスデータであるか否かを調べる（ステップＳ６１０）。この処理では、入力された論理アドレスＡｄｄがＲＲＡＭ１３６の記憶領域を示しているときには、読み出すべきデータが高頻度アクセスデータであると判定するものとした。
【００８９】
読み出すべきデータが高頻度アクセスデータでないときには、入力された論理アドレスＡｄｄｌに対応するフラッシュメモリ１３２の記憶領域に記憶されるデータを読み出して（ステップＳ６２０）読み出したデータに対して第１ＥＣＣを用いてエラー訂正を行なった後に復号し（ステップＳ６４０）、復号したデータをＣＰＵ１２２に出力し（ステップＳ６７０）、読み出すべきデータが高頻度アクセスデータであるときには、入力された論理アドレスＡｄｄｌに対応するフラッシュメモリ１３２の記憶領域に記憶されるデータを読み出して（ステップＳ６３０）読み出したデータに対して第１ＥＣＣを用いてエラー訂正を行なった後に復号し（ステップＳ６４０）、復号したデータをＣＰＵ１２２に出力して（ステップＳ６７０）、本処理ルーチンを終了する。こうした処理により、フラッシュメモリ１３２またはＲＲＡＭ１３６に記憶されているデータにエラーが生じたときに、生じたエラーを訂正した上でデータをＣＰＵ１２２に出力することができ、データエラーの発生を抑制することができる。
【００９０】
読み出し要求信号がフラッシュメモリ読み出し要求信号でないとき、即ち、読み出し要求信号がＲＲＡＭ読み出し要求信号であるときには、入力された論理アドレスＡｄｄｌに対応するＲＲＡＭ１３４の記憶領域に記憶されるデータを読み出して（ステップＳ６５０）読み出したデータに対して第２ＥＣＣを用いてエラー訂正を行なった後に復号し（ステップＳ６６０）、復号したデータをＣＰＵ１２２に出力して（ステップＳ６７０）、本処理ルーチンを終了する。こうした処理により、ＲＲＡＭ１３４に記憶されているデータにエラーが生じたときに、生じたエラーを訂正した上でデータをＣＰＵ１２２に出力することができ、データエラーの発生を抑制することができる。一般に、ＥＣＣでは、検出可能なエラービット数が少なくなるほどデータに付加されている誤り訂正ビットのサイズが小さくなり、データにエラー訂正を行なう際やデータを復号するときの処理速度も速くなる。このように、書き込みデータＤを第２ＥＣＣで符号化して符号化したデータをＲＲＡＭ１３４に記憶させることにより、書き込みデータＤを第１ＥＣＣでエラー訂正すると共に復号する場合に比して、より高速にＲＲＡＭ１３４に記憶されているデータを復号してＣＰＵ１２２に出力することができる。こうした処理により、データをＳＳＤ１３０のＲＲＡＭ１３４に読み書きする処理の高速化を図ることができる。なお、第２ＥＣＣは第１ＥＣＣより訂正可能なエラービット数が少なく弱いエラー訂正であるため、第１ＥＣＣを用いた場合に比して、ＲＲＡＭ１３４から読み出したデータにエラーが生じる可能性が高くなるが、ＲＲＡＭ１３４に記憶されているデータはさほど長く保持する必要がないデータであるため、弱いエラー訂正を用いても差し支えない。
【００９１】
以上説明した第２実施例のＰＣ１１０では、ＲＲＡＭ書き込み要求がなされたときには、書き込みデータＤをＲＲＡＭ１３４にデータを記憶させる際に用いる第１ＥＣＣより訂正可能なビット数が少ない第２ＥＣＣに符号化すると共に符号化したデータをＲＲＡＭ１３４に記憶させるから、より高速に書き込みデータＤをＲＲＡＭ１３４に記憶させることができる。また、ＲＲＡＭ読み出し要求がなされたときには、ＲＲＡＭ１３４から読み出したデータを第２ＥＣＣでエラー訂正すると共に復号してＣＰＵ１２２に出力するから、より高速にＲＲＡＭ１３４からデータを読み出すことができる。これにより、ＲＲＡＭ１３４へデータを読み書きする処理の高速化を図ることができる。
【００９２】
第２実施例のＰＣ１１０では、第１ＥＣＣがコードワードが３２ｋＢのＢＣＨ符号であり、第２ＥＣＣがコードワードが２ｋＢのＢＣＨ符号であるものとしたが、コードワードとしては、第２ＥＣＣが第１ＥＣＣより訂正可能なエラービット数が少ないコードワードであれば如何なるものとしても構わない。また、ＢＣＨ符号に限定されるものではなく、リード・ソロモン符号などのブロック符号やＬＤＰＣ符号などの畳込み符号に符号化するものとしてもよい。
【００９３】
第２実施例のＰＣ１１０では、ＳＳＤ１３０は、フラッシュメモリ１３２を備えているものとしたが、フラッシュメモリ１３２に代えて他の不揮発性の記憶装置、例えば、ハードディスクドライブなどを備えているものとしてもよい。この場合、図１２の書き込み処理ルーチンにおいて、ステップＳ４２０，Ｓ４３０の処理に代えて、ＣＰＵ１２２からの書き込みデータＤを第１ＥＣＣで符号化せずにハードディスクドライブに記憶させればよい。
【００９４】
第２実施例のＰＣ１１０では、ＳＳＤ１３０は、ＲＲＡＭ１３４，１３６を備えているものとしたが、ＲＲＡＭ１３４，１３６に代えて他の不揮発性ランダムアクセスメモリ、例えば、二つの電極で強誘電体材料を挟み込んだキャパシタを有する強誘電体ランダムアクセスメモリやトンネル磁気抵抗膜を磁性体膜で挟み込んだ構造のＭＴＪ（素子を有する磁気抵抗ランダムアクセスメモリや二つの電極で相変化材料を挟み込んだ素子を有する相変化ランダムアクセスメモリなどを備えるものとしてもよい。
【００９５】
第２実施例のＰＣ１１０では、ＲＲＡＭ１３６をバイポーラ動作をＲＲＡＭセルから構成されるものとしたが、ＲＲＡＭセルを抵抗変化素子５６とダイオード（図示せず）とにより構成すると共に、ＲＲＡＭ１３６を電圧Ｖ１に電圧Ｖ２より高い電圧が印加されたときにセット（低抵抗化）されると共に電圧Ｖ１に電圧Ｖ２より高くＲＲＡＭセルをセットする電圧より低い電圧が印加されたときにリセット（高抵抗化）されるユニポーラ動作を行なうＲＲＡＭセルから構成されるものとしてもよい。こうしたユニポーラ動作を行なうＲＲＡＭセルは、一般に、バイポーラ動作を行なうＲＲＡＭセルに比して簡単なセル構造になると考えられる。したがって、ＲＲＡＭセルをユニポーラ動作を行なうＲＲＡＭセルから構成することにより、ＲＲＡＭ１３６の面積をより小さくすることができる。また、ＲＲＡＭ１３４，１３６を共にユニポーラ動作を行なうＲＲＡＭセルから構成してもよい。こうすれば、ＲＲＡＭ１３４，１３６の面積をより小さくすることができる。
【００９６】
第２実施例のＰＣ１１０では、ＲＲＡＭ１３４，１３６が同一の半導体チップに搭載されているものとしたが、別の半導体チップに搭載されているものとしてもよい。
【００９７】
第２実施例のＰＣ１１０では、ＣＰＵ１２２，ＳＲＡＭ１２０，ＤＲＡＭ１２４，ＳＳＤ１３０のメモリコントローラ１４０が半導体チップ１６０に搭載されているものとしたが、ＣＰＵ１２２，ＳＲＡＭ１２０，ＤＲＡＭ１２４，ＳＳＤ１３０のメモリコントローラ１４０がそれぞれ異なる半導体チップに搭載されているものとしても構わない。
【００９８】
第２実施例のＰＣ１１０では、半導体チップ１６０，１６２，１６４の３つのチップ間は積層され、複数の金属電極１６６により電気的に接続されているものとしたが、半導体チップ１６０，１６２，１６４がそれぞれ個別に樹脂パッケージ等の内部に封止され、封止したものが１枚または複数の配線基板に載置されるものとしてもよい。
【００９９】
第２実施例では、本発明をパーソナルコンピュータに適用する場合を例示したが、データを処理するデータ処理装置であれば如何なるものに用いてもよく、例えば、携帯電話やデジタルスチルカメラやデジタルビデオカメラ、パーソナルコンピュータなどに用いるものとしても構わない。
【０１００】
第２実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。第２実施例では、本発明の第１のデータ処理装置において、ＤＲＡＭ１２４が「第１メモリ」に相当し、ＲＲＡＭ１３４が「第２メモリ」に相当し、ＣＰＵ１２２とメモリコントローラ１４０とを組み合わせたものが「制御処理手段」に相当する。また、本発明の第２の制御装置において、ＣＰＵ１２２が「ホスト装置」に相当し、フラッシュメモリ書き込み要求信号が入力されたときにＣＰＵ１２２から入力された書き込みデータＤが高頻度アクセスデータでないときには書き込みデータＤがフラッシュメモリ１３２に記憶されるようフラッシュメモリ１３２を制御し、書き込みデータＤが高頻度アクセスデータであるときには書き込みデータＤを第１ＥＣＣに符号化すると共に符号化したデータがＲＲＡＭ１３６に記憶されるようＲＲＡＭ１３６を制御するメモリコントローラ１４０の制御処理回路１４１が「第１符号化処理部」に相当し、ＲＲＡＭ書き込み要求信号が入力されたときには書き込みデータＤを第２ＥＣＣに符号化すると共に符号化したデータがＲＲＡＭ１３４に記憶されるようＲＲＡＭ１３４を制御する制御処理回路１４１が「第２符号化処理部」に相当し、フラッシュメモリ読み出し要求信号が入力されたときに出力すべきデータが高頻度アクセスデータでないときにはフラッシュメモリ１３２からデータが読み出されるようフラッシュメモリ１３２を制御し、出力すべきデータが高頻度アクセスデータであるときにはＲＲＡＭ１３６からデータが読み出されるようＲＲＡＭ１３６を制御して読み出したデータに対して第１ＥＣＣを用いてエラー訂正した後に復号してＣＰＵ１２２に出力する処理を実行する制御処理回路１４１が「第１復号処理部」に相当し、ＲＲＡＭ読み出し要求信号が入力されたときには、ＲＲＡＭ１３４からデータが読み出されるようＲＲＡＭ１３４を制御すると共に読み出したデータに対して第２ＥＣＣを用いてエラー訂正した後に復号してＣＰＵ１２２に出力する制御処理回路１４１が「第２復号処理部」に相当する。さらに、本発明の第２のデータ記憶装置において、フラッシュメモリ１３２が「第１の記憶装置」に相当し、ＲＲＡＭ１３４とＲＲＡＭ１３６とを組み合わせたものが「第２の記憶装置」に相当する。
【実施例３】
【０１０１】
図１５は本発明の第３実施例としてのデータ処理装置であるＰＣ２１０の構成の概略を示す説明図である。ＰＣ２１０は、パーソナルコンピュータとして構成されており、キャッシュメモリとしてのＳＲＡＭ２２０を内蔵し各種演算処理や制御を実行するＣＰＵ２２２と、データを一時的に記憶する主記憶装置としてのＤＲＡＭ２２４と、各種アプリケーションプログラムや各種データを記憶する大容量のデータ記憶装置としてのＳＳＤ（Solid State Drive）２３０とを備えている。ＣＰＵ２２２とＤＲＡＭ２２４とＳＳＤ２３０とは、互いにバス２３１を介してデータや各種信号などをやりとりできるよう構成されている。
【０１０２】
ＣＰＵ２２２は、ＳＳＤ２３０が記憶している各種アプリケーションプログラムや各種データファイルがＤＲＡＭ２２４に記憶されるようＳＳＤ２３０やＤＲＡＭ２２４を制御して、ＤＲＡＭ２２４に記憶させた各種アプリケーションプログラムに応じた演算処理を実行し、実行した結果をデータとしてＤＲＡＭ２２４やＳＳＤ２３０に記憶されるようＤＲＡＭ２２４やＳＳＤ２３０を制御したり、定期的にＤＲＡＭ２２４に記憶されているデータを読み出した後に読み出したデータをＤＲＡＭ２２４に書き込むリフレッシュ動作がなされるようＤＲＡＭ２２４を制御する。また、ＣＰＵ２２２は、外部の電源からＳＲＡＭ２２０，ＤＲＡＭ２２４，ＳＳＤ２３０への電力の供給を遮断することができる。
【０１０３】
ＳＳＤ２３０は、ＮＡＮＤ型フラッシュメモリとして構成されたフラッシュメモリ２３２と、抵抗変化ランダムアクセスメモリ（Resistance Random Access Memory，ＲＲＡＭ）として構成されたＲＲＡＭ２３４と、フラッシュメモリとＲＲＡＭ２３４とを制御する制御装置としてのメモリコントローラ２４０と、から構成されている。
【０１０４】
フラッシュメモリ２３２は、フローティングゲートへの電子注入やフローティングゲートからの電子の引き抜きにより閾値電圧が変化するフラッシュメモリセルを複数有するフラッシュメモリセルアレイ（図示せず）を備えるＮＡＮＤ型フラッシュメモリとして構成されており、フラッシュメモリセルアレイの他にロウデコーダ，カラムデコーダ，センスアンプなど（いずれも図示せず）を備える。フラッシュメモリ２３２では、ページ単位（実施例では、８Ｋバイトなど）でデータを書き込んだりデータを読み出し、複数ページからなるブロック単位（実施例では、１Ｍバイトなど）で記憶しているデータを消去する。
【０１０５】
ＲＲＡＭ２３４は、チタン（Ｔｉ）や白金（Ｐｔ）などの金属から形成された上部電極２５０とチタン（Ｔｉ）や白金（Ｐｔ）などの金属から形成された下部電極２５２とで金属酸化物２５４を挟み込んで形成された図１６に例示する抵抗変化素子５６と、抵抗変化素子５６に接続されたＭＯＳトランジスタ（図示せず）とから構成されるＲＲＡＭセルを複数有するＲＲＡＭセルアレイ（図示せず）を備えるＲＲＡＭとして構成されており、ＲＲＡＭセルアレイの他にロウデコーダ，カラムデコーダ，センスアンプなど（いずれも図示せず）を備える。ＲＲＡＭセルは、上部電極２５０に印加される電圧Ｖ１が下部電極２５２に印加される電圧Ｖ２より高いときにセット（低抵抗化）され、電圧Ｖ１が電圧Ｖ２より低いときにリセット（高抵抗化）されるバイポーラ動作を行なう素子として形成されている。こうしたバイポーラ動作を行なうＲＲＡＭセルは、一般に、動作速度が比較的速く消費電力が少ない素子であるため、ＲＲＡＭ２３４は、動作速度が比較的早く消費電力が少ないメモリとして構成されている。なお、金属酸化物２５４としては、チタン酸化物（ＴｉＯｘ）やニッケル酸化物（ＮｉＯｘ），銅酸化物（ＣｕＯｘ），ハフニウム酸化物（ＨｆＯｘ）などの金属酸化物またはこれらの金属酸化物を複数積層された積層構造とするのが望ましいと考えられる。
【０１０６】
メモリコントローラ２４０は、複数の論理素子を有する論理回路として構成されており、メモリコントローラ２４０には、ＣＰＵ２２２から各種制御信号やデータなどが入力されており、入力された制御信号に基づいてフラッシュメモリ２３２やＲＲＡＭ２３４にデータが記憶されるようフラッシュメモリ２３２やＲＲＡＭ２３４を制御したり、フラッシュメモリ２３２やＲＲＡＭ２３４からデータが読み出されるようフラッシュメモリ２３２やＲＲＡＭ２３４を制御して読み出したデータをＣＰＵ２２２に出力する。また、メモリコントローラ２４０は、ＲＲＡＭ２３４の記憶領域毎の書き換え回数の監視を行なっている。
【０１０７】
ＰＣ２１０では、図１７に示すように、ＣＰＵ２２２，ＳＲＡＭ２２０，ＤＲＡＭ２２４，ＳＳＤ２３０のメモリコントローラ２４０が同一の半導体チップ２６０に搭載されており、ＳＳＤ２３０のＲＲＡＭ２３４が半導体チップ２６２に搭載されおり、フラッシュメモリ２３２が半導体チップ２６４に搭載されている。半導体チップ２６０，２６２，２６４は積層されており、半導体チップ２６０，２６２，２６４の３つのチップ間は各チップに形成された貫通孔に充填された銅（Ｃｕ）などの導電性の複数の金属電極２６６により電気的に接続されており、半導体チップ２６０，２６２，２６４は、金属電極２６６を介してデータや各種制御信号などのやりとりを行なっている。
【０１０８】
こうして構成された実施例のＰＣ２１０では、ＳＳＤ２３０のフラッシュメモリ２３２に記憶されているプログラムがＣＰＵ２２２に読み込まれ、読み込まれたプログラムに応じてＳＲＡＭ２２０やＤＲＡＭ２２４，ＳＳＤ２３０からデータが読み出されるようＳＲＡＭ２２０やＤＲＡＭ２２４，ＳＳＤ２３０が制御される。そして、読み出されたデータにはプログラムに応じた演算処理が施され、例えば動作の履歴を示すデータであるかなどのデータの種類や１秒間あたりに読み書きする回数であるアクセス頻度などの情報を含むヘッダ情報を演算処理結果としてのデータに付加してＳＲＡＭ２２０やＤＲＡＭ２２４，ＳＳＤ２３０に書き込まれるようＳＲＡＭ２２０やＤＲＡＭ２２４，ＳＳＤ２３０が制御される。
【０１０９】
次に、こうして構成されたＰＣ２１０の動作、特に、データ処理装置の動作を休止させる際の動作について説明する。図１８は、ＣＰＵ２２２により実行される休止時処理ルーチンの一例を示すフローチャートである。このルーチンは、データ処理装置の動作を休止させる休止要求がなされたときに実行される。
【０１１０】
休止時処理ルーチンが実行されると、ＣＰＵ２２２は、ＳＲＡＭ２２０とＤＲＡＭ２２４からデータを読み出す処理を実行し（ステップＳ７００）、読み出したデータとＲＲＡＭ書き込み要求信号とをＳＳＤ２３０に出力し（ステップＳ７１０）、ＳＳＤ２３０のメモリコントローラ２４０からデータの記憶が終了したときに出力される書き込み終了信号が入力されるのを待つ（ステップＳ７２０）。ここで、休止時処理ルーチンの説明をいったん中断して、ＲＲＡＭ書き込み要求信号が入力されたＳＳＤ２３０のメモリコントローラ２４０で実行される処理について説明する。
【０１１１】
図１９は、ＳＳＤ２３０のメモリコントローラ２４０で実行される記憶処理ルーチンの一例を示すフローチャートである。この処理は、ＳＳＤ２３０のメモリコントローラ２４０にＲＲＡＭ書き込み要求信号が入力されたときに実行される。記憶処理ルーチンが実行されると、メモリコントローラ２４０は、入力されたデータがＲＲＡＭ２３４に記憶されるようＲＲＡＭ２３４を制御し（ステップＳ８００）、データをＲＲＡＭ２３４に記憶させる制御が終了したら、書き込み終了信号をＣＰＵ２２２に出力して（ステップＳ８１０）、本処理ルーチンを終了する。こうした処理により、入力されたデータをＲＲＡＭ２３４に記憶させることができる。以上、ＲＲＡＭ書き込み要求信号が入力されたＳＳＤ２３０のメモリコントローラ２４０で実行される処理について説明した。
【０１１２】
ここで、図１８の休止時処理ルーチンの説明に戻る。書き込み終了信号が入力されたら（ステップＳ７２０）、ＳＲＡＭ２２０，ＤＲＡＭ２２４に記憶されているデータのＲＲＡＭ２３４への待避が終了したと判断して、ＳＲＡＭ２２０，ＤＲＡＭ２２４，ＳＳＤ２３０へ供給する電力を遮断して（ステップＳ７３０）、本処理を終了する。ＳＳＤ２３０のＲＲＡＭ２３４は、電力の供給が遮断されても記憶しているデータを保持することができるから、データ処理装置の休止要求がなされたときには、ＳＲＡＭ２２０，ＤＲＡＭ２２４に記憶されているデータをＲＲＡＭ２３４に記憶させて、その後、ＳＲＡＭ２２０，ＤＲＡＭ２２４，ＳＳＤ２３０への電力を遮断することにより、ＲＲＡＭ２３４に記憶されているデータを保持しつつ、消費電力の低減を図ることができる。さらに、ＲＲＡＭ２３４は、データを読み書きするアクセス時間が比較的短いため、休止しているデータ処理装置を起動させる際に、迅速にＲＲＡＭ２３４に記憶させているデータをＳＲＡＭ２２０，ＤＲＡＭ２２４で読み込んで迅速にデータ処理装置を起動させることができる。
【０１１３】
以上説明した第３実施例のＰＣ２１０では、データ処理装置の休止要求がなされたときには、ＳＲＡＭ２２０，ＤＲＡＭ２２４に記憶されているデータをＲＲＡＭ２３４に記憶させて、その後、ＳＲＡＭ２２０，ＤＲＡＭ２２４，ＳＳＤ２３０への電力を遮断することにより、消費電力の低減を図ることができる。
【０１１４】
第３実施例のＰＣ２１０では、ＳＲＡＭ２２０，ＤＲＡＭ２２４からデータを読み出して、読み出したデータをＳＳＤ２３０のＲＲＡＭ２３４に記憶させるものとしたが、ＳＲＡＭ２２０に記憶されているデータおよびＤＲＡＭ２２４に記憶されているデータのいずれか一方のみをＳＳＤ２３０のＲＲＡＭ２３４に記憶させるものとしてもよい。また、ＳＲＡＭ２２０，ＤＲＡＭ２２４に記憶されているデータの全てをＳＳＤ２３０のＲＲＡＭ２３４に記憶させてもよいし、ＳＲＡＭ２２０，ＤＲＡＭ２２４に記憶されているデータの一部をＳＳＤ２３０のＲＲＡＭ２３４に記憶させるものとしてもよい。
【０１１５】
第３実施例のＰＣ２１０では、ステップＳ８００の処理で、入力されたデータをそのままＲＲＡＭ２３４に記憶させるものとしたが、入力されたデータをＢＣＨ符号などのエラー訂正符号を用いて符号化するものとしたり、ＲＲＡＭ２３４の記憶領域毎の書き換え回数に基づいてＲＲＡＭセルの１セルあたりの書き換え回数を平滑化するためのウェアレベリングで行ないながら入力されたデータをＲＲＡＭ２３４に記憶させるものとしてもよい。
【０１１６】
第３実施例のＰＣ２１０では、ＳＳＤ２３０は、フラッシュメモリ２３２を備えているものとしたが、フラッシュメモリ２３２に代えて他の不揮発性の記憶装置、例えば、ハードディスクドライブなどを備えているものとしてもよい。
【０１１７】
第３実施例のＰＣ２１０では、ＲＲＡＭ２３４のＲＲＡＭセルをバイポーラ動作を行なう素子として形成されているものとしたが、ＲＲＡＭセルを抵抗変化素子２５６とダイオード（図示せず）とにより構成すると共に、電圧Ｖ１に電圧Ｖ２より高い電圧が印加されたときにセット（低抵抗化）され、電圧Ｖ１に電圧Ｖ２より高くＲＲＡＭセルをセットする電圧より低い電圧が印加されたときにリセット（高抵抗化）されるユニポーラ動作を行なう素子として形成するものとしてもよい。こうしたユニポーラ動作を行なうＲＲＡＭセルは、一般に、バイポーラ動作を行なうＲＲＡＭセルに比して小さいセルサイズで簡単なセル構成で構成するため、ＲＲＡＭセルをバイポーラ動作を行なう素子として形成するものに比して、動作が若干遅くなるものの、面積をより小さくすることができる。
【０１１８】
第３実施例のＰＣ２１０では、ＳＳＤ２３０は、ＲＲＡＭ２３４を備えているものとしたが、ＲＲＡＭ２３４に代えて他の不揮発性ランダムアクセスメモリ、例えば、二つの電極で強誘電体材料を挟み込んだキャパシタを有する強誘電体ランダムアクセスメモリやトンネル磁気抵抗膜を磁性体膜で挟み込んだ構造のＭＴＪ素子を有する磁気抵抗ランダムアクセスメモリや二つの電極で相変化材料を挟み込んだ素子を有する相変化ランダムアクセスメモリなどを備えるものとしてもよい。
【０１１９】
第３実施例のＰＣ２１０では、ＲＲＡＭ２３４が半導体チップ２６４に搭載されているものとしたが、ＲＲＡＭ２３４を複数に分割して分割したＲＲＡＭがそれぞれ異なる半導体チップに搭載されているものとしてもよい。
【０１２０】
第３実施例のＰＣ２１０では、ＣＰＵ２２２，ＳＲＡＭ２２０，ＤＲＡＭ２２４，ＳＳＤ２３０のメモリコントローラ２４０が半導体チップ２６０に搭載されているものとしたが、ＣＰＵ２２２，ＳＲＡＭ２２０，ＤＲＡＭ２２４，ＳＳＤ２３０のメモリコントローラ２４０がそれぞれ異なる半導体チップに搭載されているものとしても構わない。
【０１２１】
第３実施例のＰＣ２１０では、半導体チップ２６０，２６２，２６４の３つのチップ間は積層され、複数の金属電極２６６により電気的に接続されているものとしたが、半導体チップ２６０，２６２，２６４がそれぞれ個別に樹脂パッケージ等の内部に封止され、封止したものが１枚または複数の配線基板に載置されるものとしてもよい。
【０１２２】
第３実施例では、本発明をパーソナルコンピュータに適用する場合を例示したが、データを処理するデータ処理装置であれば如何なるものに用いてもよく、例えば、携帯電話などに用いるものとしても構わない。
【０１２３】
第３実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。第１実施例では、本発明の第１のデータ処理装置において、ＤＲＡＭ２２４が「第１メモリ」に相当し、ＲＲＡＭ２３４が「第２メモリ」に相当し、データ処理装置の休止要求がなされたときにはＳＲＡＭ２２０，ＤＲＡＭ２２４に記憶されているデータをＲＲＡＭ２３４に記憶させて、その後、ＳＲＡＭ２２０，ＤＲＡＭ２２４，ＳＳＤ２３０への電力を遮断するＣＰＵ２２２とメモリコントローラ２４０とを組み合わせたものが「制御処理手段」に相当する。
【実施例４】
【０１２４】
図２０は本発明の第４実施例としてのデータ処理装置であるＰＣ３１０の構成の概略を示す説明図である。ＰＣ３１０は、パーソナルコンピュータとして構成されており、キャッシュメモリとしてのＳＲＡＭ３２０を内蔵し各種演算処理や制御を実行するホスト装置としてのＣＰＵ３２２と、データを一時的に記憶する主記憶装置としてのＤＲＡＭ３２４と、データを記憶するＲＲＡＭ３２６と、各種アプリケーションプログラムや各種データを記憶する大容量のデータ記憶装置としてのＳＳＤ（Solid State Drive）３３０とを備えている。ＣＰＵ３２２とＤＲＡＭ３２４とＲＲＡＭ３２６とＳＳＤ３３０とは、互いにバス３３１を介してデータや各種信号などをやりとりできるよう構成されている。
【０１２５】
ＲＲＡＭ３２６は、チタン（Ｔｉ）や白金（Ｐｔ）などの金属から形成された上部電極３５０とチタン（Ｔｉ）や白金（Ｐｔ）などの金属から形成された下部電極３５２とで金属酸化物３５４を挟み込んで形成された図２１に例示する抵抗変化素子３５６と、抵抗変化素子３５６に接続されたＭＯＳトランジスタ（図示せず）とから構成されるＲＲＡＭセルを複数有するＲＲＡＭセルアレイ（図示せず）を備えるＲＲＡＭとして構成されており、ＲＲＡＭセルアレイの他にロウデコーダ，カラムデコーダ，センスアンプなど（いずれも図示せず）を備える。ＲＲＡＭセルは、上部電極３５０に印加される電圧Ｖ１が下部電極３５２に印加される電圧Ｖ２より高いときにセット（低抵抗化）され、電圧Ｖ１が電圧Ｖ２より低いときにリセット（高抵抗化）されるバイポーラ動作を行なう素子として形成されている。こうしたバイポーラ動作を行なうＲＲＡＭセルは、一般に、動作速度が比較的速く消費電力が少ない素子であるため、ＲＲＡＭ３２６は、動作速度が比較的早く消費電力が少ないメモリとして構成されている。なお、金属酸化物３５４としては、チタン酸化物（ＴｉＯｘ）やニッケル酸化物（ＮｉＯｘ），銅酸化物（ＣｕＯｘ），ハフニウム酸化物（ＨｆＯｘ）などの金属酸化物またはこれらの金属酸化物を複数積層された積層構造とするのが望ましいと考えられる。
【０１２６】
ＳＳＤ３３０は、電力の供給が遮断されてもデータを保持可能な不揮発性の記憶装置として構成されており、ＮＡＮＤ型フラッシュメモリとして構成されたフラッシュメモリ（図示せず）と、フラッシュメモリを制御するメモリコントローラ（図示せず）と、から構成されており、バス３３１を介して入力されたデータをフラッシュメモリに記憶したり、フラッシュメモリに記憶しているデータをバス３３１に出力する。ＳＳＤ３３０のフラッシュメモリには各種アプリケーションプログラムや各種データファイルが記憶させれている。
【０１２７】
ＣＰＵ３２２は、ＳＳＤ３３０が記憶している各種アプリケーションプログラムや各種データファイルがＤＲＡＭ３２４やＲＲＡＭ３２６に記憶されるようＤＲＡＭ３２４やＲＲＡＭ３２６，ＳＳＤ３３０を制御して、ＤＲＡＭ３２４に記憶させた各種アプリケーションプログラムに応じた演算処理を実行し、実行した結果をデータとしてＤＲＡＭ３２４やＲＲＡＭ３２６，ＳＳＤ３３０に記憶されるようＤＲＡＭ３２４やＲＲＡＭ３２６，ＳＳＤ３３０を制御したり、定期的にＤＲＡＭ３２４に記憶されているデータを読み出した後に読み出したデータをＤＲＡＭ３２４に書き込むリフレッシュ動作がなされるようＤＲＡＭ３２４を制御する。
【０１２８】
こうして構成された実施例のＰＣ３１０では、ＳＳＤ３３０のフラッシュメモリに記憶されているプログラムがＣＰＵ３２２に読み込まれ、読み込まれたプログラムに応じてＳＲＡＭ３２０やＤＲＡＭ３２４，ＲＲＡＭ３２６，ＳＳＤ３３０からデータが読み出されるようＳＲＡＭ３２０やＤＲＡＭ３２４，ＲＲＡＭ３２６，ＳＳＤ３３０が制御される。そして、読み出されたデータにはプログラムに応じた演算処理が施され、例えば動作の履歴を示すデータであるかなどのデータの種類や１秒間あたりに読み書きする回数であるアクセス頻度などの情報を含むヘッダ情報を演算処理結果としてのデータに付加してＳＲＡＭ３２０やＤＲＡＭ３２４，ＲＲＡＭ３２６，ＳＳＤ３３０に書き込まれるようＳＲＡＭ３２０やＤＲＡＭ３２４，ＲＲＡＭ３２６，ＳＳＤ３３０が制御される。
【０１２９】
次に、こうして構成されたＰＣ３１０の動作、特に、データをＤＲＡＭ３２４またはＲＲＡＭ３２６に書き込む際の動作とＰＣ３１０を休止させる際の動作とについて説明する。まずは、データをＤＲＡＭ３２４またはＲＲＡＭ３２６に書き込む際の動作について説明する。図２２はＣＰＵ３２２により実行されるデータ書き込み処理ルーチンの一例を示すフローチャートである。このルーチンは、プログラムを実行している最中などＣＰＵ３２２で演算したデータを一時的に保存するときに実行される。
【０１３０】
データ書き込み処理ルーチンが実行されると、ＣＰＵ３２２は、保存すべき書き込みデータＤのヘッダ情報を調べることにより書き込みデータＤの種類を調べる（ステップＳ９００）、書き込みデータＤが書き換え回数が多い高書き換えデータ（例えば、動作の履歴を書き込むファイルや各種アプリケーションのユーザデータなど）であるときにはＤＲＡＭ３２４に書き込みデータＤが記憶されるようＤＲＡＭ３２４を制御して（ステップＳ９１０）、本処理ルーチンを終了する。こうした処理により、書き込みデータＤが高書き換えデータであるときには書き込みデータＤをＤＲＡＭ３２４に記憶させることができる。
【０１３１】
書き込みデータＤが高書き換えデータでないときには、ＲＲＡＭ３２６に書き込みデータＤが記憶されるようＲＲＡＭ３２６を制御して（ステップＳ９２０）、本処理ルーチンを終了する。一般に、ＤＲＡＭは、定期的（例えば、数μｓ毎）に記憶しているデータを読み出した後に読み出したデータをＤＲＡＭに再書き込みするリフレッシュ動作を行なう必要があるが、書き込みデータＤが高書き換えデータであるときにはＤＲＡＭ３２４に書き込みデータＤを記憶させることにより、ＤＲＡＭ３２４に記憶しているデータが頻繁に書き換えられることになり、書き込みデータＤの種類に拘わらず書き込みデータＤをＤＲＡＭ３２４に記憶させるものに比して、ＤＲＡＭ３２４のリフレッシュ動作の時間間隔を長くしてリフレッシュ回数を減少させることができ、消費電力の低減を図ることができる。また、一般に、ＲＲＡＭは同じ領域への書き換え回数が多くなるほど劣化が進むと考えられるが、書き込みデータＤが高書き換えデータでないときに書き込みデータＤをＲＲＡＭ３２６に記憶させることにより、ＲＲＡＭ３２６の書き換え回数を減少させることができ、ＲＲＡＭ３２６の劣化を抑制することができる。こうした処理により、ＲＲＡＭ３２６の劣化を抑制しながら消費電力の低減を図ることができる。
【０１３２】
次に、ＰＣ３１０を休止させる際の動作について説明する。図２３は、ＣＰＵ３２２により実行される休止時処理ルーチンの一例を示すフローチャートである。このルーチンは、データ処理装置の動作を休止させる休止要求がなされたときに実行される。
【０１３３】
休止時処理ルーチンが実行されると、ＣＰＵ３２２は、ＳＲＡＭ３２０とＤＲＡＭ３２４からデータが読み出されるようＳＲＡＭ３２０とＤＲＡＭ３２４とを制御する処理を実行し（ステップＳ１０００）、読み出したデータがＲＲＡＭ３２６に記憶されるようＲＲＡＭ３２６を制御し（ステップＳ１０１０）、ＲＲＡＭ３２６でのデータの書き込みが終了するまで待つ（ステップＳ１０２０）。こうした処理により、入力されたデータをＲＲＡＭ３２６に記憶させることができる。
【０１３４】
書き込みが終了したら（ステップＳ１０２０）、ＳＲＡＭ３２０，ＤＲＡＭ３２４に記憶されているデータのＲＲＡＭ３２６への待避が終了したと判断して、ＳＲＡＭ３２０，ＤＲＡＭ３２４，ＲＲＡＭ３２６，ＳＳＤ３３０へ供給する電力を遮断して（ステップＳ１０３０）、本処理ルーチンを終了する。ＳＳＤ３３０のＲＲＡＭ３２６は、電力の供給が遮断されても記憶しているデータを保持することができるから、データ処理装置の休止要求がなされたときには、ＳＲＡＭ３２０，ＤＲＡＭ３２４に記憶されているデータをＲＲＡＭ３２６に記憶させて、その後、ＳＲＡＭ３２０，ＤＲＡＭ３２４，ＲＲＡＭ３２６，ＳＳＤ３３０への電力を遮断することにより、ＲＲＡＭ３２６に記憶されているデータを保持しながら、消費電力の低減を図ることができる。さらに、ＲＲＡＭ３２６は、データを読み書きするアクセス時間が比較的短いため、休止しているデータ処理装置を起動させる際に、迅速にＲＲＡＭ３２６に記憶させているデータをＳＲＡＭ３２０，ＤＲＡＭ３２４で読み込んで迅速にデータ処理装置を起動させることができる。
【０１３５】
以上説明した第４実施例のＰＣ３１０では、書き込みデータＤが高書き換えデータであるときにはＤＲＡＭ３２４に書き込みデータＤが記憶されるようＤＲＡＭ３２４を制御し、書き込みデータＤが高書き換えデータでないときに書き込みデータＤがＲＲＡＭ３２６に記憶させられるようＲＲＡＭ３２６を制御することにより、ＲＲＡＭ３２６の劣化を抑制しながら消費電力の低減を図ることができる。また、データ処理装置の休止要求がなされたときには、ＳＲＡＭ３２０，ＤＲＡＭ３２４に記憶されているデータをＲＲＡＭ３２６に記憶させて、その後、ＳＲＡＭ３２０，ＤＲＡＭ３２４，ＲＲＡＭ３２６，ＳＳＤ３３０への電力を遮断することにより、消費電力の低減を図ることができる。
【０１３６】
第４実施例のＰＣ３１０では、ＳＲＡＭ３２０，ＤＲＡＭ３２４からデータを読み出して、読み出したデータをＳＳＤ３３０のＲＲＡＭ３２６に記憶させるものとしたが、ＳＲＡＭ３２０に記憶されているデータおよびＤＲＡＭ３２４に記憶されているデータのいずれか一方のみをＳＳＤ３３０のＲＲＡＭ３２６に記憶させるものとしてもよい。また、ＳＲＡＭ３２０，ＤＲＡＭ３２４に記憶されているデータの全てをＳＳＤ３３０のＲＲＡＭ３２６に記憶させてもよいし、ＳＲＡＭ３２０，ＤＲＡＭ３２４に記憶されているデータの一部をＳＳＤ３３０のＲＲＡＭ３２６に記憶させるものとしてもよい。
【０１３７】
第４実施例のＰＣ３１０では、ステップＳ１０１０の処理で、入力されたデータをそのままＲＲＡＭ３２６に記憶させるものとしたが、入力されたデータをＢＣＨ符号などのエラー訂正符号を用いて符号化するものとしたり、ＲＲＡＭ３２６の記憶領域毎の書き換え回数に基づいてＲＲＡＭセルの１セルあたりの書き換え回数を平滑化するためのウェアレベリングで行ないながら入力されたデータをＲＲＡＭ３２６に記憶させるものとしてもよい。
【０１３８】
第４実施例のＰＣ３１０では、ＣＰＵ３２２はＲＲＡＭ３２６を制御するものとしたが、ＲＲＡＭ３２６は書き換え回数の増加と共に劣化していく傾向にあるため、ＲＲＡＭ３２６からＣＰＵ３２２にＲＲＡＭ３２６の信頼性に関する情報を含むデータを出力し、ＣＰＵ３２２はこうした信頼性に関する情報を用いてエラー訂正符号を用いたエラー訂正やＲＲＡＭセルの１セルあたりの書き換え回数を平滑化するためのウェアレベリングを実行するものとしてもよい。ＲＲＡＭ３２６が出力する信頼性に関する情報としては、図２４に例示するように、ＲＲＡＭ３２６に記憶されたデータのうちエラーが生じているビット数や現在から予め定めたＰＣ３１０の製品寿命を迎えるとき（例えば、現在から１０年，１２年，１４年など）までにＲＲＡＭ３２６を書き換え可能な回数の最大値，ＰＣ３１０の使用が開始されてからの総書き換え回数、現在から予め定めたＰＣ３１０の製品寿命を迎えるとき（例えば、現在から１０年，１２年，１４年など）までに書き換え可能なビット数，ＰＣ３１０の使用が開始されてからＲＲＡＭ３２６で書き換えられたビット数の総数である総書き換えビット数などを少なくとも１つ含むものとするのが望ましい。
【０１３９】
第４実施例のＰＣ３１０では、ＳＳＤ３３０は、フラッシュメモリを備えているものとしたが、フラッシュメモリに代えて他の不揮発性の記憶装置、例えば、ハードディスクドライブなどを備えているものとしてもよい。
【０１４０】
第４実施例のＰＣ３１０では、ＲＲＡＭ３２６のＲＲＡＭセルをバイポーラ動作を行なう素子として形成されているものとしたが、ＲＲＡＭセルを抵抗変化素子３５６とダイオード（図示せず）とにより構成すると共に、電圧Ｖ１に電圧Ｖ２より高い電圧が印加されたときにセット（低抵抗化）され、電圧Ｖ１に電圧Ｖ２より高くＲＲＡＭセルをセットする電圧より低い電圧が印加されたときにリセット（高抵抗化）されるユニポーラ動作を行なう素子として形成するものとしてもよい。こうしたユニポーラ動作を行なうＲＲＡＭセルは、一般に、バイポーラ動作を行なうＲＲＡＭセルに比して小さいセルサイズで簡単なセル構成で構成するため、ＲＲＡＭセルをバイポーラ動作を行なう素子として形成するものに比して、動作が若干遅くなるものの、面積をより小さくすることができる。
【０１４１】
第４実施例のＰＣ３１０では、ＲＲＡＭ３２６を備えているものとしたが、ＲＲＡＭ３２６に代えて他の不揮発性ランダムアクセスメモリ、例えば、二つの電極で強誘電体材料を挟み込んだキャパシタを有する強誘電体ランダムアクセスメモリやトンネル磁気抵抗膜を磁性体膜で挟み込んだ構造のＭＴＪ素子を有する磁気抵抗ランダムアクセスメモリや二つの電極で相変化材料を挟み込んだ素子を有する相変化ランダムアクセスメモリなどを備えるものとしてもよい。
【０１４２】
第４実施例では、本発明をパーソナルコンピュータに適用する場合を例示したが、データを処理するデータ処理装置であれば如何なるものに用いてもよく、例えば、携帯電話やデジタルスチルカメラ，デジタルビデオカメラなどに用いるものとしても構わない。
【０１４３】
第４実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。第４実施例では、本発明の第１のデータ処理装置において、ＤＲＡＭ３２４が「第１メモリ」に相当し、ＲＲＡＭ３２６が「第２メモリ」に相当し、書き込みデータＤが高書き換えデータであるときにはＤＲＡＭ３２４に書き込みデータＤが記憶されるようＤＲＡＭ３２４を制御し、書き込みデータＤが高書き換えデータでないときに書き込みデータＤがＲＲＡＭ３２６に記憶させられるようＲＲＡＭ３２６を制御するＣＰＵ３２２が「制御処理手段」に相当する。また、データ処理装置の休止要求がなされたときには、ＳＲＡＭ３２０，ＤＲＡＭ３２４に記憶されているデータをＲＲＡＭ３２６に記憶させて、その後、ＳＲＡＭ３２０，ＤＲＡＭ３２４，ＲＲＡＭ３２６，ＳＳＤ３３０への電力を遮断するＣＰＵ３２２も「制御処理手段」に相当する。
【０１４４】
第４実施例では、本発明の第２のデータ処理装置において、ＤＲＡＭ３２４が「第１メモリ」に相当し、ＲＲＡＭ３２６が「第２メモリ」に相当し、データ処理装置の休止要求がなされたときには、ＳＲＡＭ３２０，ＤＲＡＭ３２４に記憶されているデータをＲＲＡＭ３２６に記憶させて、その後、ＳＲＡＭ３２０，ＤＲＡＭ３２４，ＲＲＡＭ３２６，ＳＳＤ３３０への電力を遮断するＣＰＵ３２２が「制御処理手段」に相当する。
【０１４５】
第４実施例では、本発明の第３のデータ処理装置において、ＲＲＡＭ３２６が「不揮発性メモリ」に相当し、ＲＲＡＭ３２６の信頼性に関する情報を出力するＲＲＡＭ３２６が「情報出力手段」に想到し、出力された信頼性データを用いてエラー訂正の処理を行なうＣＰＵ３２２が「制御処理手段」に相当する。
【実施例５】
【０１４６】
図２５は本発明の第５実施例としてのデータ処理装置である携帯電話４１０の構成の概略を示す説明図である。携帯電話４１０は、移動体通信システムにおける携帯端末として構成されており、各種演算処理や制御を実行するＣＰＵ４２２と、データを一時的に記憶する主記憶装置としてのＤＲＡＭ４２４と、各種アプリケーションプログラムや各種データを記憶する大容量のデータ記憶装置としてのＳＤメモリカード４３０とを備えている。ＣＰＵ４２２とＤＲＡＭ４２４とＳＤメモリカード４３０とは、互いにバス４３１を介してデータや各種信号などをやりとりできるよう構成されている。
【０１４７】
ＣＰＵ４２２は、ＳＤメモリカード４３０が記憶している各種アプリケーションプログラムや各種データファイルがＤＲＡＭ４２４に記憶されるようＳＤメモリカード４３０やＤＲＡＭ４２４を制御して、ＤＲＡＭ４２４に記憶させた各種アプリケーションプログラムに応じた演算処理を実行し、実行した結果をデータとしてＤＲＡＭ４２４やＳＤメモリカード４３０に記憶されるようＤＲＡＭ４２４やＳＤメモリカード４３０を制御したり、定期的にＤＲＡＭ４２４に記憶されているデータを読み出した後に読み出したデータをＤＲＡＭ４２４に書き込むリフレッシュ動作がなされるようＤＲＡＭ４２４を制御する。また、ＣＰＵ４２２は、外部の電源からＤＲＡＭ４２４，ＳＤメモリカード４３０への電力の供給を遮断することができる。
【０１４８】
ＳＤメモリカード４３０は、ＮＡＮＤ型フラッシュメモリとして構成されたフラッシュメモリ４３２と、抵抗変化ランダムアクセスメモリ（Resistance Random Access Memory，ＲＲＡＭ）として構成されたＲＲＡＭ４３４と、フラッシュメモリ４３２とＲＲＡＭ４３４とを制御する制御装置としてのメモリコントローラ４４０と、から構成されている。
【０１４９】
フラッシュメモリ４３２は、フローティングゲートへの電子注入やフローティングゲートからの電子の引き抜きにより閾値電圧が変化するフラッシュメモリセルを複数有するフラッシュメモリセルアレイ（図示せず）を備えるＮＡＮＤ型フラッシュメモリとして構成されており、フラッシュメモリセルアレイの他にロウデコーダ，カラムデコーダ，センスアンプなど（いずれも図示せず）を備える。フラッシュメモリ４３２では、ページ単位（実施例では、８Ｋバイトなど）でデータを書き込んだりデータを読み出し、複数ページからなるブロック単位（実施例では、１Ｍバイトなど）で記憶しているデータを消去する。
【０１５０】
ＲＲＡＭ４３４は、チタン（Ｔｉ）や白金（Ｐｔ）などの金属から形成された上部電極４５０とチタン（Ｔｉ）や白金（Ｐｔ）などの金属から形成された下部電極４５２とで金属酸化物４５４を挟み込んで形成された図２６に例示する抵抗変化素子４５６と、抵抗変化素子４５６に接続されたＭＯＳトランジスタ（図示せず）とから構成されるＲＲＡＭセルを複数有するＲＲＡＭセルアレイ（図示せず）を備えるＲＲＡＭとして構成されており、ＲＲＡＭセルアレイの他にロウデコーダ，カラムデコーダ，センスアンプなど（いずれも図示せず）を備える。ＲＲＡＭセルは、上部電極４５０に印加される電圧Ｖ１が下部電極４５２に印加される電圧Ｖ２より高いときにセット（低抵抗化）され、電圧Ｖ１が電圧Ｖ２より低いときにリセット（高抵抗化）されるバイポーラ動作を行なう素子として形成されている。こうしたバイポーラ動作を行なうＲＲＡＭセルは、一般に、動作速度が比較的速く消費電力が少ない素子であるため、ＲＲＡＭ４３４は、動作速度が比較的早く消費電力が少ないメモリとして構成されている。なお、金属酸化物４５４としては、チタン酸化物（ＴｉＯｘ）やニッケル酸化物（ＮｉＯｘ），銅酸化物（ＣｕＯｘ），ハフニウム酸化物（ＨｆＯｘ）などの金属酸化物またはこれらの金属酸化物を複数積層された積層構造とするのが望ましいと考えられる。
【０１５１】
メモリコントローラ４４０は、複数の論理素子を有する論理回路として構成されており、メモリコントローラ４４０には、ＣＰＵ４２２から各種制御信号やデータなどが入力されており、入力された制御信号に基づいてフラッシュメモリ４３２やＲＲＡＭ４３４にデータが記憶されるようフラッシュメモリ４３２やＲＲＡＭ４３４を制御したり、フラッシュメモリ４３２やＲＲＡＭ４３４からデータが読み出されるようフラッシュメモリ４３２やＲＲＡＭ４３４を制御して読み出したデータをＣＰＵ４２２に出力する。また、メモリコントローラ４４０は、ＲＲＡＭ４３４の記憶領域毎の書き換え回数の監視を行なっている。
【０１５２】
こうして構成された実施例の携帯電話４１０では、ＳＤメモリカード４３０のＲＲＡＭ４３４にアプリケーションなど各種プログラムが記憶されており、ユーザにより携帯電話４１０が操作されてプログラム読み出し要求がなされたとき、ＣＰＵ４２２はプログラム読み出し信号をＳＤメモリカード４３０に出力し、プログラム読み出し信号を入力されたＳＤメモリカード４３０のメモリコントローラ４４０は、ＲＲＡＭ４３４に記憶されるプログラムが読み出されるようＲＲＡＭ４３４を制御し、ＣＰＵ４２２は出力されたプログラムを読み込む。こうしてＣＰＵ４２２でプログラムが読み込まれると、ＣＰＵなどを４２２は、読み込まれたプログラムに応じてＤＲＡＭ４２４，ＳＤメモリカード４３０のフラッシュメモリ４３２，ＲＲＡＭ４３４からデータが読み出されるようＤＲＡＭ４２４，ＳＤメモリカード４３０を制御する。一般に、ＲＲＡＭはフラッシュメモリより高速にデータを読み書きすることができる。したがって、ＲＲＡＭ４３４に各種プログラムを記憶することにより、各種プログラムをフラッシュメモリに記憶するものより高速に各種プログラムを読み出すことができ、データの処理をより高速に行なうことができる。
【０１５３】
以上説明した第５実施例の携帯電話４１０では、ＳＤメモリカード４３０のＲＲＡＭ４３４に各種プログラムが記憶されており、プログラム読み出し要求がなされたとき、ＣＰＵ４２２はプログラム読み出し信号をＳＤメモリカード４３０に出力し、プログラム読み出し信号を入力されたＳＤメモリカード４３０のメモリコントローラ４４０は、ＲＲＡＭ４３４に記憶されるプログラムが読み出されるようＲＲＡＭ４３４を制御する。これにより、データの処理をより高速に行なうことができる。
【０１５４】
第５実施例の携帯電話４１０では、ＲＲＡＭ４３４のＲＲＡＭセルをバイポーラ動作を行なう素子として形成されているものとしたが、ＲＲＡＭセルを抵抗変化素子４５６とダイオードとにより構成すると共に、電圧Ｖ１に電圧Ｖ２より高い電圧が印加されたときにセット（低抵抗化）され、電圧Ｖ１に電圧Ｖ２より高くＲＲＡＭセルをセットする電圧より低い電圧が印加されたときにリセット（高抵抗化）されるユニポーラ動作を行なう素子として形成するものとしてもよい。こうしたユニポーラ動作を行なうＲＲＡＭセルは、一般に、バイポーラ動作を行なうＲＲＡＭセルに比して小さいセルサイズで簡単なセル構成で構成するため、ＲＲＡＭセルをバイポーラ動作を行なう素子として形成するものに比して、動作が若干遅くなるものの、面積をより小さくすることができる。
【０１５５】
第５実施例の携帯電話４１０では、ＳＤメモリカード４３０は、ＲＲＡＭ４３４を備えているものとしたが、ＲＲＡＭ４３４に代えて他の不揮発性ランダムアクセスメモリ、例えば、二つの電極で強誘電体材料を挟み込んだキャパシタを有する強誘電体ランダムアクセスメモリやトンネル磁気抵抗膜を磁性体膜で挟み込んだ構造のＭＴＪ素子を有する磁気抵抗ランダムアクセスメモリや二つの電極で相変化材料を挟み込んだ素子を有する相変化ランダムアクセスメモリなどを備えるものとしてもよい。
【０１５６】
第５実施例の携帯電話４１０では、ＳＤメモリカード４３０は、フラッシュメモリ４３２を備えているものとしたが、フラッシュメモリ４３２に代えて他の不揮発性の記憶装置、例えば、ハードディスクドライブなどを備えているものとしてもよい。
【０１５７】
第５実施例の携帯電話４１０では、ＲＲＡＭ４３４はＳＤメモリカード４３０に搭載されているものとしたが、図２７の変形例の携帯電話５１０に例示するように、ＲＲＡＭ４３４がＳＤメモリカード４３０に搭載されていないものとして、ＲＲＡＭ４３４がＣＰＵ４２２から制御されるものとしてもよい。この場合において、プログラム読み出し要求がなされたとき、ＣＰＵ４２２はＲＲＡＭ４３４に記憶されるプログラムが読み出されるようＲＲＡＭ４３４を制御するものとするのが望ましい。
【０１５８】
第５実施例では、本発明を携帯電話に適用する場合を例示したが、データを処理するデータ処理装置であれば如何なるものに用いてもよく、例えば、デジタルスチルカメラやデジタルビデオカメラ、パーソナルコンピュータなど用いるものとしても構わない。
【０１５９】
第５実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。第５実施例では、本発明の第４のデータ処理装置において、ＲＲＡＭ４３４が「抵抗変化メモリ」に相当し、プログラム読み出し要求がなされたときプログラム読み出し信号をＳＤメモリカード４３０に出力するＣＰＵ４２２とプログラム読み出し信号を入力されたときにＲＲＡＭ４３４に記憶されるプログラムが読み出されるようＲＲＡＭ４３４を制御するＳＤメモリカード４３０のメモリコントローラ４４０とが「制御処理手段」に相当する。
【０１６０】
以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。
【産業上の利用可能性】
【０１６１】
本発明は、データ処理装置や制御装置，データ記憶装置などの製造産業に利用可能である。
【符号の説明】
【０１６２】
１０，１１０，２１０，３１０  ＰＣ、２０，１２０，２２０，３２０  ＳＲＡＭ、２２，１２２，２２２，３２２，４２２  ＣＰＵ、２４，１２４，２２４，３２４，４２４  ＤＲＡＭ、３０，１３０，２３０，３３０  ＳＳＤ、３１，１３１，２３１，３３１，４３１  バス、３２，１３２，２３２，４３２  フラッシュメモリ、３４，１３４，１３６，２３４，３２６，４３４  ＲＲＡＭ、４０，１４０，２４０，４４０  メモリコントローラ、４１，１４１  制御処理回路、４２  オンチップタイマー回路、４４  ＳＲＡＭ、４６  レジスタ、５０，１５０，２５０，３５０，４５０  上部電極、５２，１５２，２５２，３５２，４５２  下部電極、５４，１５４，２５４，３５４，４５４  金属酸化物、５６，１５６，２５６，３５６，４５６  抵抗変化素子、６０，６２，６４，１６０，１６２，１６４，２６０，２６２，２６４  半導体チップ、６６，１６６，２６６  金属電極、４１０，５１０  携帯電話、４３０  ＳＤメモリカード、４３５  プログラム。
【図１】
0005553309.tif 000002
【図２】
0005553309.tif 000003
【図３】
0005553309.tif 000004
【図４】
0005553309.tif 000005
【図５】
0005553309.tif 000006
【図６】
0005553309.tif 000007
【図７】
0005553309.tif 000008
【図８】
0005553309.tif 000009
【図９】
0005553309.tif 000010
【図１０】
0005553309.tif 000011
【図１１】
0005553309.tif 000012
【図１２】
0005553309.tif 000013
【図１３】
0005553309.tif 000014
【図１４】
0005553309.tif 000015
【図１５】
0005553309.tif 000016
【図１６】
0005553309.tif 000017
【図１７】
0005553309.tif 000018
【図１８】
0005553309.tif 000019
【図１９】
0005553309.tif 000020
【図２０】
0005553309.tif 000021
【図２１】
0005553309.tif 000022
【図２２】
0005553309.tif 000023
【図２３】
0005553309.tif 000024
【図２４】
0005553309.tif 000025
【図２５】
0005553309.tif 000026
【図２６】
0005553309.tif 000027
【図２７】
0005553309.tif 000028