(57)【要約】【課題】データの書き込み速度の高速化を図ると共にＲＲＡＭの劣化を抑制する。【解決手段】ホスト装置１０から書き込み要求信号が入力されたときには、ホスト装置１０から入力されたデータを順次エンコーダ３０に入力し、エンコーダ３０から出力されたデータがＲＲＡＭ２４に記憶されるようＲＲＡＭ２４を制御し、ＲＲＡＭ２４に記憶されているデータのサイズが所定サイズＳｒｅｆに至ったときにはＲＲＡＭ２４に記憶されて所定サイズＳｒｅｆのデータが読み出されるようＲＲＡＭ２４を制御し、ＲＲＡＭ２４から読み出されたデータをエンコーダ３２に入力し、エンコーダ３２から出力されたデータがフラッシュメモリ２２に記憶されるようフラッシュメモリ２２を制御する。これにより、データの書き込み速度の向上とデータの信頼性の向上を図ることができる。【選択図】図１
2012063871.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置と、データを記憶する不揮発性の記憶装置として構成された第１記憶装置と、前記第１記憶装置よりデータの書き込み速度が速い不揮発性メモリとして構成された第２記憶装置と、の間のデータのやりとりを制御する制御装置であって、
前記ホスト装置から前記第１記憶装置へのデータの書き込みを要求する書き込み要求信号が入力されているときには、前記ホスト装置から入力されたデータが順次前記第２記憶装置に記憶されるよう前記第２記憶装置を制御し、前記書き込み要求信号が入力されているときに前記第２記憶装置に記憶されたデータのサイズが所定サイズに至ったときには、前記第２記憶装置に記憶されている前記所定サイズのデータが読み出されるよう前記第２記憶装置を制御すると共に前記読み出されたデータが前記第１記憶装置に記憶されるよう前記第１記憶装置を制御するデータ書き込み処理手段と、
前記ホスト装置から前記第１記憶装置に記憶されているデータの読み出しを要求する読み出し要求信号が入力されているときには、前記第１記憶装置に記憶されているデータが読み出されるよう前記第１記憶装置を制御すると共に前記読み出されたデータを前記第２記憶装置を介さずに前記ホスト装置に出力するデータ読み出し処理手段と、
を備える制御装置。
【請求項２】
請求項１記載の制御装置であって、
入力されたデータを所定のエラー訂正符号に符号化して出力する第１符号化回路と、
入力されたデータを所定のエラー訂正符号を用いてエラー訂正した後に復号して出力する復号回路と、
を備え、
前記データ書き込み処理手段は、前記書き込み要求信号が入力されているときには、前記ホスト装置から入力されたデータを前記第１符号化回路に入力し、前記第１符号化回路から出力されたデータが前記第２記憶装置に順次記憶されるよう前記第２記憶装置を制御する手段であり、
前記データ読み出し処理手段は、前記読み出し要求信号が入力されているときには、前記第１記憶装置から読み出されたデータを前記復号回路に入力し、前記復号回路から出力されたデータを前記ホスト装置に出力する手段である、
制御装置。
【請求項３】
請求項２記載の制御装置であって、
入力されたデータを前記所定のエラー訂正符号に符号化して出力する第２符号化回路、  を備え、
前記データ書き込み処理手段は、前記書き込み要求信号が入力されているときに前記第２記憶装置に記憶されたデータのサイズが前記所定サイズに至ったときには、前記第２記憶装置に記憶されている前記所定サイズのデータが読み出されるよう前記第２記憶装置を制御し、前記読み出されたデータを前記復号回路に入力し、前記復号回路から出力されたデータを前記第２符号化回路に入力し、前記第２符号化回路から出力されたデータが前記第１記憶装置に記憶されるよう前記第１記憶装置を制御する手段である、
制御装置。
【請求項４】
請求項３記載の制御装置であって、
前記第１記憶装置は、不揮発性の記憶装置として前記第２記憶装置を構成する不揮発性メモリと異なる種類の不揮発性メモリが搭載された半導体チップをｎ個（ｎは、１以上の整数数）有し、前記ｎ個のチップに並列にデータを読み書き可能な装置であり、
前記第２記憶装置は、不揮発性メモリとして不揮発性ランダムアクセスメモリが搭載された半導体チップをｍ個（ｍは、１以上の整数）有し、前記ｍ個のチップにデータを並列に読み書き可能な装置であり、
前記第１符号化回路は、入力されたデータを符号化する際のデータの長さである符号長がｌ（ｌは、１以上の整数）のｍ個の所定のエラー訂正符号に符号化して出力可能な回路であり、
前記第２符号化回路は、入力されたデータを前記符号長がｋ（ｋは、式１を満たす１以上の整数）のｎ個の所定のエラー訂正符号に符号化して出力する回路であり、
前記復号回路は、前記第１記憶装置からデータが入力されたときには前記符号長がｋのｎ個の所定のエラー訂正符号として入力されたデータをエラー訂正した後に復号して出力し、前記第２記憶装置からデータが入力されたときには前記符号長がｌのｍ個の所定のエラー訂正符号として入力されたデータをエラー訂正した後に復号して出力する回路であり、
前記データ書き込み処理手段は、前記書き込み要求信号が入力されているときには、前記ホスト装置から入力されたデータを前記第１符号化回路に入力し、前記第１符号化回路から出力されたデータが前記第２記憶装置の各半導体チップに記憶されるよう前記第２記憶装置を制御し、前記書き込み要求信号が入力されているときに前記第２記憶装置に記憶されたデータのサイズが前記所定サイズに至ったときには、前記第２記憶装置の各半導体チップから並列にデータが読み出されるよう前記第２記憶装置を制御し、前記第２記憶装置から読み出したデータを前記復号回路に入力し、前記復号回路から出力されたデータを前記第２符号化回路に入力し、前記第２符号化回路から出力されたｎ個のデータが前記第１記憶装置の各半導体チップに並列に記憶されるよう前記第２記憶装置を制御する手段であり、
前記データ読み出し処理手段は、前記読み出し要求信号が入力されているときには、前記第１記憶装置の各半導体チップから並列にデータが読み出されるよう前記第１記憶装置を制御し、前記第１記憶装置から読み出されたｎ個のデータを前記復号回路に入力し、前記復号回路から出力されたデータを前記ホスト装置に出力する手段であり、
前記式１は、ｍ・ｌ＝ｎ・ｋである、
制御装置。
【請求項５】
請求項１ないし４いずれか１つの請求項に記載の制御装置であって、
前記所定のエラー訂正符号は、ＢＣＨ符号およびブロック符号および畳み込み符号のいずれかである、
制御装置。
【請求項６】
データを記憶するデータ記憶装置であって、
請求項１記載の制御装置と、
前記第１記憶装置としてのハードディスクドライブと、
前記第２記憶装置としての抵抗変化ランダムアクセスメモリおよび強誘電体ランダムアクセスメモリおよび磁気抵抗ランダムアクセスメモリおよび相変化ランダムアクセスメモリおよびフラッシュメモリのいずれかと、
を備えるデータ記憶装置。
【請求項７】
データを記憶するデータ記憶装置であって、
請求項１ないし５いずれか１つの請求項に記載の制御装置と、
前記第１記憶装置としてのフラッシュメモリと、
前記第２記憶装置としての抵抗変化ランダムアクセスメモリおよび強誘電体ランダムアクセスメモリおよび磁気抵抗ランダムアクセスメモリおよび相変化ランダムアクセスメモリのいずれかと、
を備えるデータ記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置およびデータ記憶装置に関する。
【背景技術】
【０００２】
従来、この種の制御装置としては、ＰＣシステムからのデータがキャッシュメモリとして電力の供給が遮断されても記憶しているデータを保持する不揮発性のランダムアクセスメモリであるＦｅＲＡＭ（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
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に、上述の装置では、ＰＣシステムから比較的高速にデータが入力される一方で入力されたデータをＨＤＤへ書き込む際の書き込み速度が比較的低速であるため、ＰＣシステムからデータが入力されると、一旦ＰＣシステムからのデータの入力の受付を中断し、入力されたデータがＨＤＤに書き込まれるのを待って次のデータの入力の受付を再開する処理が行なわれている。こうした処理では、ＰＣシステムからＨＤＤにデータを書き込む際の書き込み速度がＨＤＤの書き込み速度で律速されてしまうため、データの書き込み速度が低下してしまう。また、ＦｅＲＡＭなどの不揮発性メモリは、一般に、書き込み回数が多くなるほど劣化が進む傾向を示すため、こうした不揮発メモリにおいて書き込み回数を低減して劣化を抑制することが望まれている。
【０００５】
本発明の制御装置およびデータ記憶装置は、データの書き込み速度の高速化を図ると共に不揮発性ランダムアクセスメモリとして構成された記憶装置の劣化を抑制することを主目的とする。
【課題を解決するための手段】
【０００６】
本発明の制御装置およびデータ記憶装置は、上述の主目的を達成するために以下の手段を採った。
【０００７】
本発明の制御装置は、
ホスト装置と、データを記憶する不揮発性の記憶装置として構成された第１記憶装置と、前記第１記憶装置よりデータの書き込み速度が速い不揮発性メモリとして構成された第２記憶装置と、の間のデータのやりとりを制御する制御装置であって、
前記ホスト装置から前記第１記憶装置へのデータの書き込みを要求する書き込み要求信号が入力されているときには、前記ホスト装置から入力されたデータが順次前記第２記憶装置に記憶されるよう前記第２記憶装置を制御し、前記書き込み要求信号が入力されているときに前記第２記憶装置に記憶されたデータのサイズが所定サイズに至ったときには、前記第２記憶装置に記憶されている前記所定サイズのデータが読み出されるよう前記第２記憶装置を制御すると共に前記読み出されたデータが前記第１記憶装置に記憶されるよう前記第１記憶装置を制御するデータ書き込み処理手段と、
前記ホスト装置から前記第１記憶装置に記憶されているデータの読み出しを要求する読み出し要求信号が入力されているときには、前記第１記憶装置に記憶されているデータが読み出されるよう前記第１記憶装置を制御すると共に前記読み出されたデータを前記第２記憶装置を介さずに前記ホスト装置に出力するデータ読み出し処理手段と、
を備えることを要旨とする。
【０００８】
この本発明の制御装置では、ホスト装置から第１記憶装置へのデータの書き込みを要求する書き込み要求信号が入力されているときには、ホスト装置から入力されたデータが順次第２記憶装置に記憶されるよう第２記憶装置を制御し、書き込み要求信号が入力されているときに第２記憶装置に記憶されたデータのサイズが所定サイズに至ったときには、第２記憶装置に記憶されている所定サイズのデータが読み出されるよう第２記憶装置を制御すると共に読み出されたデータが第１記憶装置に記憶されるよう第１記憶装置を制御する。第２記憶装置に記憶されたデータのサイズが所定サイズに至るまでホスト装置から順次データを入力するから、ホスト装置からのデータの入力を中断する時間をより短くすることができ、データの書き込み速度の高速化を図ることができる。そして、ホスト装置から第１記憶装置に記憶されているデータの読み出しを要求する読み出し要求信号が入力されているときには、第１記憶装置に記憶されているデータが読み出されるよう第１記憶装置を制御すると共に読み出されたデータを第２記憶装置を介さずにホスト装置に出力する。これにより、読み出し要求信号が入力されているときでも第１記憶装置から読み出されたデータを第２記憶装置に一旦記憶させてホスト装置に出力するものに比して、第２記憶装置へのデータの書き込み回数を低減させることができ、第２記憶装置の劣化を抑制することができる。この結果、データの書き込み速度の高速化を図ると共に第２記憶装置の劣化を抑制することができる。ここで、「所定のエラー訂正符号」として、ＢＣＨ符号，ブロック符号，畳み込み符号などを用いることができる。
【０００９】
こうした本発明の制御装置において、入力されたデータを所定のエラー訂正符号に符号化して出力する第１符号化回路と、入力されたデータを所定のエラー訂正符号を用いてエラー訂正した後に復号して出力する復号回路と、を備え、前記データ書き込み処理手段は、前記書き込み要求信号が入力されているときには、前記ホスト装置から入力されたデータを前記第１符号化回路に入力し、前記第１符号化回路から出力されたデータが前記第２記憶装置に順次記憶されるよう前記第２記憶装置を制御する手段であり、前記データ読み出し処理手段は、前記読み出し要求信号が入力されているときには、前記第１記憶装置から読み出されたデータを前記復号回路に入力し、前記復号回路から出力されたデータを前記ホスト装置に出力する手段であるものとすることもできる。こうすれば、第１記憶装置や第２記憶装置において、記憶しているデータに何らかの要因でエラーが生じたときにエラーを訂正することができ、データの信頼性の向上を図ることができる。
【００１０】
第１符号化回路と復号回路とを備える態様の本発明の制御装置において、入力されたデータを前記所定のエラー訂正符号に符号化して出力する第２符号化回路、を備え、前記データ書き込み処理手段は、前記書き込み要求信号が入力されているときに前記第２記憶装置に記憶されたデータのサイズが前記所定サイズに至ったときには、前記第２記憶装置に記憶されている前記所定サイズのデータが読み出されるよう前記第２記憶装置を制御し、前記読み出されたデータを前記復号回路に入力し、前記復号回路から出力されたデータを前記第２符号化回路に入力し、前記第２符号化回路から出力されたデータが前記第１記憶装置に記憶されるよう前記第１記憶装置を制御する手段であるものとすることもできる。こうすれば、データの信頼性をより高くすることができる。また、データを書き込む際に第１記憶装置から出力されたデータを復号するための回路と第２記憶装置からデータを読み出す際に第２記憶装置から出力するデータを復号するための回路とを共通化することができるから、回路面積の増加を抑制することができる。
【００１１】
第１符号化回路と第２の符号化回路と復号回路とを備える態様の本発明の制御装置において、前記第１記憶装置は、不揮発性の記憶装置として前記第２記憶装置を構成する不揮発性メモリと異なる種類の不揮発性メモリが搭載された半導体チップをｎ個（ｎは、１以上の整数数）有し、前記ｎ個のチップに並列にデータを読み書き可能な装置であり、前記第２記憶装置は、不揮発性メモリとして不揮発性ランダムアクセスメモリが搭載された半導体チップをｍ個（ｍは、１以上の整数）有し、前記ｍ個のチップにデータを並列に読み書き可能な装置であり、前記第１符号化回路は、入力されたデータを符号化する際のデータの長さである符号長がｌ（ｌは、１以上の整数）のｍ個の所定のエラー訂正符号に符号化して出力可能な回路であり、前記第２符号化回路は、入力されたデータを前記符号長がｋ（ｋは、式１を満たす１以上の整数）のｎ個の所定のエラー訂正符号に符号化して出力する回路であり、前記復号回路は、前記第１記憶装置からデータが入力されたときには前記符号長がｋのｎ個の所定のエラー訂正符号として入力されたデータをエラー訂正した後に復号して出力し、前記第２記憶装置からデータが入力されたときには前記符号長がｌのｍ個の所定のエラー訂正符号として入力されたデータをエラー訂正した後に復号して出力する回路であり、前記データ書き込み処理手段は、前記書き込み要求信号が入力されているときには、前記ホスト装置から入力されたデータを前記第１符号化回路に入力し、前記第１符号化回路から出力されたデータが前記第２記憶装置の各半導体チップに記憶されるよう前記第２記憶装置を制御し、前記書き込み要求信号が入力されているときに前記第２記憶装置に記憶されたデータのサイズが前記所定サイズに至ったときには、前記第２記憶装置の各半導体チップから並列にデータが読み出されるよう前記第２記憶装置を制御し、前記第２記憶装置から読み出したデータを前記復号回路に入力し、前記復号回路から出力されたデータを前記第２符号化回路に入力し、前記第２符号化回路から出力されたｎ個のデータが前記第１記憶装置の各半導体チップに並列に記憶されるよう前記第２記憶装置を制御する手段であり、前記データ読み出し処理手段は、前記読み出し要求信号が入力されているときには、前記第１記憶装置の各半導体チップから並列にデータが読み出されるよう前記第１記憶装置を制御し、前記第１記憶装置から読み出されたｎ個のデータを前記復号回路に入力し、前記復号回路から出力されたデータを前記ホスト装置に出力する手段であり、前記式１は、ｍ・ｌ＝ｎ・ｋである、ものとすることもできる。
【００１２】
本発明の第１のデータ記憶装置は、
データを記憶するデータ記憶装置であって、
本発明の制御装置、即ち、ホスト装置と、データを記憶する不揮発性の記憶装置として構成された第１記憶装置と、前記第１記憶装置よりデータの書き込み速度が速い不揮発性メモリとして構成された第２記憶装置と、の間のデータのやりとりを制御する制御装置であって、前記ホスト装置から前記第１記憶装置へのデータの書き込みを要求する書き込み要求信号が入力されているときには、前記ホスト装置から入力されたデータが順次前記第２記憶装置に記憶されるよう前記第２記憶装置を制御し、前記書き込み要求信号が入力されているときに前記第２記憶装置に記憶されたデータのサイズが所定サイズに至ったときには、前記第２記憶装置に記憶されている前記所定サイズのデータが読み出されるよう前記第２記憶装置を制御すると共に前記読み出されたデータが前記第１記憶装置に記憶されるよう前記第１記憶装置を制御するデータ書き込み処理手段と、前記ホスト装置から前記第１記憶装置に記憶されているデータの読み出しを要求する読み出し要求信号が入力されているときには、前記第１記憶装置に記憶されているデータが読み出されるよう前記第１記憶装置を制御すると共に前記読み出されたデータを前記第２記憶装置を介さずに前記ホスト装置に出力するデータ読み出し処理手段と、を備える制御装置と、
前記第１記憶装置としてのハードディスクドライブと、
前記第２記憶装置としての抵抗変化ランダムアクセスメモリおよび強誘電体ランダムアクセスメモリおよび磁気抵抗ランダムアクセスメモリおよび相変化ランダムアクセスメモリおよびフラッシュメモリのいずれかと、
を備えることを要旨とする。
【００１３】
この本発明の第１のデータ記憶装置では、上述した態様の本発明の制御装置を備えているから、上述した本発明の制御装置が奏する効果、例えば、データの書き込み速度の高速化を図ると共に第２記憶装置の劣化を抑制する効果などと同様の効果を奏することができる。
【００１４】
本発明の第２のデータ記憶装置は、
データを記憶するデータ記憶装置であって、
上述したいずれかの態様の本発明の制御装置、即ち、基本的には、ホスト装置と、データを記憶する不揮発性の記憶装置として構成された第１記憶装置と、前記第１記憶装置よりデータの書き込み速度が速い不揮発性メモリとして構成された第２記憶装置と、の間のデータのやりとりを制御する制御装置であって、前記ホスト装置から前記第１記憶装置へのデータの書き込みを要求する書き込み要求信号が入力されているときには、前記ホスト装置から入力されたデータが順次前記第２記憶装置に記憶されるよう前記第２記憶装置を制御し、前記書き込み要求信号が入力されているときに前記第２記憶装置に記憶されたデータのサイズが所定サイズに至ったときには、前記第２記憶装置に記憶されている前記所定サイズのデータが読み出されるよう前記第２記憶装置を制御すると共に前記読み出されたデータが前記第１記憶装置に記憶されるよう前記第１記憶装置を制御するデータ書き込み処理手段と、前記ホスト装置から前記第１記憶装置に記憶されているデータの読み出しを要求する読み出し要求信号が入力されているときには、前記第１記憶装置に記憶されているデータが読み出されるよう前記第１記憶装置を制御すると共に前記読み出されたデータを前記第２記憶装置を介さずに前記ホスト装置に出力するデータ読み出し処理手段と、を備える制御装置と、
前記第１記憶装置としてのフラッシュメモリと、
前記第２記憶装置としての抵抗変化ランダムアクセスメモリおよび強誘電体ランダムアクセスメモリおよび磁気抵抗ランダムアクセスメモリおよび相変化ランダムアクセスメモリのいずれかと、
を備えることを要旨とする。
【００１５】
この本発明の第１のデータ記憶装置では、上述したいずれかの態様の本発明の制御装置を備えているから、上述した本発明の制御装置が奏する効果、例えば、データの書き込み速度の高速化を図ると共に第２記憶装置の劣化を抑制する効果などと同様の効果を奏することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施例としてのＳＳＤ（Solid State Drive）２０の構成の概略を示す説明図である。
【図２】抵抗変化素子４６の構成の概略を示す説明図である。
【図３】データ書き込み動作の際のデータの流れの概略を示す説明図である。
【図４】データ読み出し動作の際のデータの流れの概略を示す説明図である。
【図５】変形例のＳＳＤ２０Ｂの構成の概略を示す説明図である。
【発明を実施するための形態】
【００１７】
次に、本発明を実施するための形態を実施例を用いて説明する。
【実施例】
【００１８】
図１は、パーソナルコンピュータなどのホスト装置１０からのデータを記憶する本発明の実施例としてのＳＳＤ（Solid State Drive）２０の構成の概略を示す説明図である。ＳＳＤ２０は、各種アプリケーションプログラムや各種データを記憶する大容量のデータ記憶装置として構成されており、ＮＡＮＤ型フラッシュメモリとして構成されたフラッシュメモリ２２と、抵抗変化ランダムアクセスメモリ（Resistance Random Access Memory、ＲＲＡＭ）として構成されたＲＲＡＭ２４と、入力されたデータをＢＣＨ符号に符号化して出力するエンコーダ３０、３２と、入力されたデータをＢＣＨ符号を用いてエラー訂正すると共に復号して出力するデコーダ３４と、フラッシュメモリ２２とＲＲＡＭ２４とを制御すると共にホスト装置１０やエンコーダ３０，３２，デコーダ３４へのデータの入出力を行なうメモリコントローラ３６と、から構成されている。
【００１９】
フラッシュメモリ２２は、フローティングゲートへの電子注入やフローティングゲートからの電子の引き抜きにより閾値電圧が変化するフラッシュメモリセルを複数有するフラッシュメモリセルアレイ（図示せず）を備えるＮＡＮＤ型フラッシュメモリを搭載した１６個の半導体チップ２２ａから構成されている。半導体チップ２２ａには、フラッシュメモリセルアレイの他にロウデコーダ，カラムデコーダ，センスアンプなど（いずれも図示せず）が搭載されている。フラッシュメモリ２２では、ページ単位でデータを書き込んだり読み出したりして、複数ページからなるブロック単位で記憶しているデータを消去する。フラッシュメモリ２２では、１６個の半導体チップ２２ａにデータを並列に読み書きする。フラッシュメモリ２２のデータの書き込み速度は、実施例では、１個の半導体チップ２２ａあたり１６０Ｍｂｐｓ（bit per second)であり、フラッシュメモリ２２全体で約２．６Ｇｂｐｓであるものとした。また、フラッシュメモリ２２のデータの読み出し速度は、１個の半導体チップ２２ａあたり６２５Ｍｂｐｓであり、フラッシュメモリ２２全体で約１０Ｇｂｐｓであるものとした。
【００２０】
ＲＲＡＭ２４は、チタン（Ｔｉ）や白金（Ｐｔ）などの金属から形成された上部電極４０とチタン（Ｔｉ）や白金（Ｐｔ）などの金属から形成された下部電極４２とで金属酸化物４４を挟み込んで形成された図２に例示する抵抗変化素子４６と、抵抗変化素子４６に接続されたＭＯＳトランジスタ（図示せず）とから構成されるＲＲＡＭセルを複数有するＲＲＡＭセルアレイ（図示せず）を備えるＲＲＡＭを搭載した１個の半導体チップ（図示せず）から構成されている。この半導体チップには、ＲＲＡＭセルアレイの他にロウデコーダ，カラムデコーダ，センスアンプなど（いずれも図示せず）が搭載されている。ＲＲＡＭセルは、上部電極４０に印加される電圧Ｖ１が下部電極４２に印加される電圧Ｖ２より高いときにセット（低抵抗化）され、電圧Ｖ１が電圧Ｖ２より低いときにリセット（高抵抗化）されるバイポーラ動作を行なう素子として形成されている。こうしたバイポーラ動作を行なうＲＲＡＭセルは、一般に、動作速度が比較的速く消費電力が少ない素子であるため、ＲＲＡＭ２４は、動作速度が比較的早く消費電力が少ないメモリとして構成されている。なお、金属酸化物４４としては、チタン酸化物（ＴｉＯｘ）やニッケル酸化物（ＮｉＯｘ），銅酸化物（ＣｕＯｘ），ハフニウム酸化物（ＨｆＯｘ）などの金属酸化物またはこれらの金属酸化物を複数積層された積層構造とするのが望ましいと考えられる。こうして構成されたＲＲＡＭ２４は、ＲＲＡＭ２４にデータを書き込む際の書き込み速度がフラッシュメモリ２２より高速でデータを読み出す際の読み出し速度がフラッシュメモリと同程度であり、実施例では、書き込み速度および読み出し速度が共に１０Ｇｂｐｓであるものとした。
【００２１】
エンコーダ３０は、複数の論理素子を有する論理回路として構成され、入力されたデータを１個の３２ＫＢの符号長のＢＣＨ符号に符号化してＲＲＡＭ２４に順次出力するよう構成されている。
【００２２】
エンコーダ３２は、複数の論理素子を有する論理回路として構成され、入力されたデータを２ＫＢの符号長のＢＣＨ符号に符号化するエンコーダ３２ａを１６個有し、全体として１６個の２ＫＢの符号長のＢＣＨ符号に符号化されたデータをフラッシュメモリ２２の各半導体チップ２２ａに並列に出力する。
【００２３】
デコーダ３４は、複数の論理素子を有する論理回路として構成され、入力されたデータを２ＫＢの符号長のＢＣＨ符号としてエラー訂正すると共に復号する小デコーダ３４ａを１６個有する。デコーダ３４は、フラッシュメモリ２２の半導体チップ２２ａから並列にデータが入力されたときには、入力されたデータを各小デコーダ３４ａで２ＫＢの符号長のＢＣＨ符号としてエラー訂正すると共に復号し、ＲＲＡＭ２４からデータが入力されたときには、入力されたデータを各小デコーダ３４ａで１個の３２ＫＢの符号長のＢＣＨ符号としてエラー訂正すると共に復号できるよう構成されている。
【００２４】
メモリコントローラ３６は、複数の論理素子を有する論理回路として構成され、各種制御や演算処理を実行する。メモリコントローラ３６には、ホスト装置１０から各種制御信号やデータなどが入力されており、メモリコントローラ３６は、入力された制御信号に基づいて、フラッシュメモリ２２やＲＲＡＭ２４にデータが記憶されるようフラッシュメモリ２２やＲＲＡＭ２４を制御したり、フラッシュメモリ２２やＲＲＡＭ２４からデータが読み出されるようフラッシュメモリ２２やＲＲＡＭ２４を制御したり、ホスト装置１０からのデータをエンコーダ３０に入力したり、デコーダ３４からのデータをエンコーダ３２に入力したり、デコーダ３４からのデータをホスト装置１０に出力したりする。メモリコントローラ３６は、ホスト装置１０と比較的高速に（例えば、１０Ｇｂｐｓなど）各種制御信号やデータをやりとりするものとした。
【００２５】
次に、こうして構成されたＳＳＤ２０の動作、特に、ホスト装置１０から入力されたデータをフラッシュメモリ２２に記憶したり、フラッシュメモリ２２に記憶しているデータをホスト装置１０に出力する際の動作について説明する。最初に、ホスト装置１０から入力されたデータをフラッシュメモリ２２に記憶するデータ書き込み動作について説明する。
【００２６】
図３にデータ書き込み動作の際のデータの流れの概略を示す。ホスト装置１０から書き込み要求信号がメモリコントローラ３６に入力されると、メモリコントローラ３６は、ホスト装置１０から入力されたデータを順次エンコーダ３０に入力する。データを入力されたエンコーダ３０は、入力されたデータを３２ＫＢの符号長のＢＣＨ符号に符号化してＲＲＡＭ２４に順次出力する。メモリコントローラ３６は、ＲＲＡＭ２４のデータが予め定めた所定サイズＳｒｅｆになるまで、ホスト装置１０からのデータの入力を受け付けて、エンコーダ３０からのデータがＲＲＡＭ２４に記憶されるようＲＲＡＭ２４を制御する。ここで、所定サイズＳｒｅｆは、エンコーダ３０で符号化されたデータを復号して、さらに、後述するエンコーダ３２で２ＫＢの符号長のＢＣＨ符号に符号化したときにフラッシュメモリの１ページ分のデータに相当するサイズやその倍数などであるものとした。
【００２７】
ＲＲＡＭ２４に所定サイズＳｒｅｆのデータが記憶されると、メモリコントローラ３６は、ホスト装置１０からのデータの入力を一時中断して、ＲＲＡＭ２４に記憶されているデータがデコーダ３４に出力されるようＲＲＡＭ２４を制御する。デコーダ３４へのデータの出力が終了すると、メモリコントローラ３６は、ホスト装置１０からのデータの入力を再開する。
【００２８】
データを入力されたデコーダ３４は、入力されたデータを３２ＫＢの符号長のＢＣＨ符号としてエラー訂正すると共に復号し、メモリコントローラ３６に出力する。こうした処理により、ＲＲＡＭ２４に記憶されているデータにエラーが生じたときには、エラー訂正を行なってメモリコントローラ３６に出力するから、より正しいデータをメモリコントローラ３６に出力することができる。
【００２９】
続いて、メモリコントローラ３６は、デコーダ３４からのデータをエンコーダ３２に出力する。データを入力されたエンコーダ３２は、入力されたデータを１６個の２ＫＢの符号長のＢＣＨ符号に符号化して、フラッシュメモリ２２の１６個の半導体チップ２２ａのそれぞれに出力し、メモリコントローラ３６は、出力されたデータが半導体チップ２２ａに搭載されたフラッシュメモリに記憶されるようフラッシュメモリ２２を制御する。こうした処理により、フラッシュメモリ２２には、２ＫＢの符号長のＢＣＨ符号に符号化されたデータが記憶させることになる。
【００３０】
今、ホスト装置１０の書き込み速度（１０Ｇｂｐｓ）に比してフラッシュメモリ２２の書き込み速度（２．６Ｇｂｐｓ）が遅い場合を考えており、ホスト装置１０からＲＲＡＭ２４を介さずにフラッシュメモリ２２にデータを書き込むと、ホスト装置１０からデータが入力されてからフラッシュメモリ２２での書き込みが終了するまで、ホスト装置１０からのデータの入力を中断させる必要があり、ホスト装置１０からのデータの入力を中断させる時間が比較的長くなって書き込み速度が低下すると考えられる。実施例では、ホスト装置１０から入力されたデータをフラッシュメモリ２２より書き込み速度が速いＲＲＡＭ２４（書き込み速度が１０Ｇｂｐｓ）に一旦記憶させ、ＲＲＡＭ２４に記憶されているデータのサイズが所定サイズＳｒｅｆに至ったときにホスト装置１０からのデータの入力を中断してＲＲＡＭ２４に記憶しているデータをデコーダ３４に出力した後に、デコーダ３４，エンコーダ３２における処理を実行しながらホスト装置１０からのデータの処理を再開させることができる。ＲＲＡＭ２４は、データの読み出し速度が比較的速く１０Ｇｂｐｓであるため、ホスト装置１０からのデータの入力を中断する時間が比較的短くて済む。このように、ホスト装置１０からのデータの入力を中断させる時間をより短くすることができるから、書き込み速度の高速化を図ることができる。
【００３１】
次に、フラッシュメモリ２２に記憶されているデータをホスト装置１０に読み出すデータ読み出し動作について説明する。図４にデータ読み出し動作の際のデータの流れの概略を示す。ホスト装置１０からフラッシュメモリ２２に記憶されているデータの読み出しを要求するデータ読み出し要求信号が入力されると、メモリコントローラ３６は、フラッシュメモリ２２の各半導体チップ２２ａから記憶されているデータがデコーダ３４の小デコーダ３４ａにそれぞれ並列に読み出されるようフラッシュメモリ２２を制御する。
【００３２】
フラッシュメモリ２２からのデータを入力されたデコーダ３４は、入力されたデータを２ＫＢの符号長のＢＣＨ符号としてエラー訂正すると共に復号してメモリコントローラ３６に出力し、データが入力されたメモリコントローラ３６は、入力されたデータをホスト装置１０に出力する。こうした処理により、フラッシュメモリ２２に記憶されているデータにエラーが生じたときには、エラー訂正を行なったデータをホスト装置１０に出力するから、より正しいデータをホスト装置１０に出力することができ、信頼性の向上を図ることができる。また、フラッシュメモリ２２に記憶されているデータをホスト装置１０に読み出す際には、ＲＲＡＭ２４を介さないため、ＲＲＡＭ２４を介するものに比して、ＲＲＡＭ２４の書き込み回数の増加を抑制することができ、ＲＲＡＭ２４の劣化を抑制することができる。さらに、フラッシュメモリ２２から入力された符号化されたデータのエラー訂正および復号を、データ書き込み時にＲＲＡＭ２４からのデータのエラー訂正および復号を行なうデコーダ３４を用いて行なうため、別途デコーダを設けるものに比して、回路面積の増加を抑制することができる。
【００３３】
以上説明した実施例のＳＳＤ２０によれば、ホスト装置１０から書き込み要求信号が入力されたときには、ホスト装置１０から入力されたデータを順次エンコーダ３０に入力し、エンコーダ３０から出力されたデータがＲＲＡＭ２４に記憶されるようＲＲＡＭ２４を制御し、ＲＲＡＭ２４に記憶されているデータのサイズが所定サイズＳｒｅｆに至ったときにはＲＲＡＭ２４に記憶されて所定サイズＳｒｅｆのデータが読み出されるようＲＲＡＭ２４を制御し、ＲＲＡＭ２４から読み出されたデータをエンコーダ３２に入力し、エンコーダ３２から出力されたデータがフラッシュメモリ２２に記憶されるようフラッシュメモリ２２を制御する。これにより、データの書き込み速度の向上とデータの信頼性の向上を図ることができる。また、ホスト装置１０からデータ読み出し信号が入力されたときには、フラッシュメモリ２２に記憶されているデータが読み出されるようフラッシュメモリ２２を制御し、読み出されたデータをデコーダ３４に入力し、デコーダ３４からのデータをホスト装置１０に出力する。これにより、ホスト装置１０に出力するデータの信頼性の向上を図ると共にＲＲＡＭ２４の劣化を抑制することができ、回路面積の増加を抑制することができる。
【００３４】
実施例のＳＳＤ２０では、ＲＲＡＭ２４を１個の３２ＫＢのデータを読み書きすることができるものとし、エンコーダ３０を１個の３２ＫＢの符号長のＢＣＨ符号にデータを符号化するものとしたが、エンコーダ３０の仕様はＲＲＡＭ２４で一度に並列に読み可能なデータのサイズや個数に応じて適宜変更してもよく、例えば、ＲＲＡＭ２４が２個の１６ＫＢのデータを並列に読み書き可能であればエンコーダ３０を２個の１６ＫＢの符号長のＢＣＨ符号にデータを符号化するものとしてもよい。また、フラッシュメモリ２２を１６個の２２ＫＢのデータを並列に読み書きすることができるものとし、エンコーダ３２を１６個の２ＫＢの符号長のＢＣＨ符号にデータを符号化するものとしたが、エンコーダ３２の仕様はフラッシュメモリ２２で一度に並列に読み可能なデータのサイズや個数に応じて適宜変更してもよく、例えば、フラッシュメモリ２２が４個の１６ＫＢのデータを並列に読み書き可能であればエンコーダ３２を４個の１６ＫＢの符号長のＢＣＨ符号にデータを符号化するものとしてもよい。デコーダは、エンコーダ３０，３２で符号化したデータをエラー訂正および復号できるものであれば如何なるものとしても構わない。
【００３５】
実施例のＳＳＤ２０では、エンコーダ３０，３２を入力されたデータを互いに異なる符号長のＢＣＨ符号に符号化し、デコーダ３４を２種類の符号長のＢＣＨ符号のエラー訂正と復号とを行なうことが可能なものとしたが、エンコーダ３０，３２を入力されたデータを互いに符号長が同じ（例えば、２ＫＢ）ＢＣＨ符号に符号化するものし、デコーダ３４を１種類の符号長（例えば、２ＫＢ）のＢＣＨ符号のエラー訂正と復号とを行なうものとしてもよい。
【００３６】
実施例のＳＳＤ２０では、２つのエンコーダ３０，３２を備えるものとしたが、図５の変形例のＳＳＤ２０Ｂに例示するように、エンコーダ３２を備えないものとしてもよい。この場合、ホスト装置１０からデータ書き込み要求信号が入力されたときにＲＲＡＭ２４に記憶された符号化されたデータが所定サイズＳｒｅｆを超えたときには、ＲＲＡＭ２４に記憶されたデータをデコーダ３４を介さずに フラッシュメモリ２２に記憶されるようフラッシュメモリ２２を制御し、ホスト装置１０からデータ読み出し要求信号が入力されたときにはフラッシュメモリ２２から読み出されたデータをデコーダ３４に入力し、データ３４から出力されたデータをホスト装置１０に出力するものとすればよい。また、こうしたエンコーダ３０，３２，デコーダを備えないものとして、ホスト装置１０からデータ書き込み要求信号が入力されたときにはＲＲＡＭ２４にデータを記憶させ、ＲＲＡＭ２４に記憶されたデータが所定サイズＳｒｅｆを超えたときにＲＲＡＭ２４に記憶されたデータがフラッシュメモリ２２に記憶されるようフラッシュメモリ２２を制御し、ホスト装置１０からデータ読み出し要求信号が入力されたときには、フラッシュメモリ２２からデータが読み出されるようフラッシュメモリ２２を制御し、フラッシュメモリ２２から読み出されたデータをホスト装置１０に出力するものとすればよい。
【００３７】
実施例のＳＳＤ２０では、データをＢＣＨ符号に符号化するものとしたが、こうしたエラー訂正を行なうための符号としては、ＢＣＨ符号に限定されるものではなく、リード・ソロモン符号などのブロック符号やＬＤＰＣ符号などの畳み込み符号に符号化するものとしてもよい。
【００３８】
実施例のＳＳＤ２０では、ＲＲＡＭ２４はバイポーラ動作を行なう素子として形成されたＲＲＡＭセルを備えているものとしたが、ＲＲＡＭセルを抵抗変化素子４６とダイオード（図示せず）とにより構成すると共に、電圧Ｖ１に電圧Ｖ２より高い電圧が印加されたときにセット（低抵抗化）され、電圧Ｖ１に電圧Ｖ２より高くＲＲＡＭセルをセットする電圧より低い電圧が印加されたときにリセット（高抵抗化）されるユニポーラ動作を行なう素子として形成するものとしてもよい。こうしたユニポーラ動作を行なうＲＲＡＭセルは、一般に、バイポーラ動作を行なうＲＲＡＭセルに比して小さいセルサイズで簡単なセル構成で構成するため、ＲＲＡＭ２４の面積を小さくすることができ、ＳＳＤ２０の小型化を図ることができる。
【００３９】
実施例のＳＳＤ２０では、ＲＲＡＭ２４を備えているものとしたが、ＲＲＡＭ２４に代えて他の不揮発性ランダムアクセスメモリ、例えば、２つの電極で強誘電体材料を挟み込んだキャパシタを有する強誘電体ランダムアクセスメモリやトンネル磁気抵抗膜を磁性体膜で挟み込んだ構造のＭＴＪ素子を有する磁気抵抗ランダムアクセスメモリや２つの電極で相変化材料を挟み込んだ素子を有する相変化ランダムアクセスメモリなどを備えるものとしてもよい。
【００４０】
実施例のＳＳＤ２０は、パーソナルコンピュータとして構成されたホスト装置１０とデータをやりとりするものとしたが、ホスト装置１０としてはパーソナルコンピュータとして構成されたものに限定されるものではなく、例えば、携帯電話やデジタルスチルカメラなどＳＳＤ２０とデータのやりとりが可能なものであれば如何なるものとしても構わない。
【００４１】
実施例では、フラッシュメモリ２２を備えているＳＳＤ２０に本発明を適用するものとしたが、フラッシュメモリ２２に代えて他の不揮発性の記憶装置、例えば、ハードディスクドライブなどを備えている記憶装置に適用するものとしてもよい。この場合、ハードディスクドライブは書き込み回数が多くてもさほど劣化が進まないことから、図５に例示した変形例のＳＳＤ２０Ｂのように、エンコーダ３２を備えていない構成するのが望ましい。また、この場合、ＲＲＡＭ２４に代えてフラッシュメモリなどのランダムアクセスメモリではない不揮発性メモリを備えるものとしてもよい。
【００４２】
実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。実施例では、メモリコントローラ３６が「データ書き込み処理手段」に相当し、メモリコントローラ３６が「データ読み出し処理手段」に相当する。また、エンコーダ３０が「第１符号化回路」に相当し、デコーダ３４が「復号回路」に相当し、エンコーダ３２が「第２符号化回路」に相当する。
【００４３】
以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。
【産業上の利用可能性】
【００４４】
本発明は、制御装置やデータ記憶装置の製造産業等に利用可能である。
【符号の説明】
【００４５】
１０  ホスト装置、２０，２０Ｂ  ＳＳＤ、２２  フラッシュメモリ、２２ａ  半導体チップ、２４  ＲＲＡＭ、３０，３２  エンコーダ、３４  デコーダ、３６  メモリコントローラ、４０  上部電極、４２  下部電極、４４  金属酸化物、４６  抵抗変化素子。
【図１】
2012063871.tif 000003
【図２】
2012063871.tif 000004
【図３】
2012063871.tif 000005
【図４】
2012063871.tif 000006
【図５】
2012063871.tif 000007