(57)【要約】【課題】簡単な構成で高速化と小型化を実現した記憶装置を提供する。【解決手段】半導体不揮発性メモリ、半導体揮発性メモリ、上記半導体不揮発性メモリ及び半導体揮発メモリに対してメモリアクセスを行うコントローラを有する。上記コントローラは、中央処理装置と、制御論理回路とを有する。上記制御論理回路は、上記半導体不揮発性メモリと上記半導体揮発性メモリとの間でのデータ転送動作を第１周波数に対応したメモリ制御を分担する。上記中央処理装置は、上記第１周波数よりも低い第２周波数に対応して上記制御論理回路が行うメモリ制御以外のメモリ制御動作を分担する。【選択図】図１
2010026950.tif 000002
【特許請求の範囲】
【請求項１】
半導体不揮発性メモリと、
半導体揮発性メモリと、
上記半導体不揮発性メモリ及び半導体揮発メモリに対してメモリアクセスを行うコントローラとを有し、
上記コントローラは、
中央処理装置と、
制御論理回路とを有し、
上記制御論理回路は、上記半導体不揮発性メモリと上記半導体揮発性メモリとの間でのデータ転送動作を第１周波数に対応したメモリ制御を分担し、
上記中央処理装置は、上記第１周波数よりも低い第２周波数に対応して上記制御論理回路が行うメモリ制御以外のメモリ制御動作を分担する、
記憶装置
【請求項２】
請求項１において、
ハードディスクドライブ互換性の入出力インターフェイスを更に有し、
上記半導体不揮発性メモリは、４値記憶動作が可能にされたＮＡＮＤ型フラッシュメモリであり、
上記半導体揮発性メモリは、シンクロナス・ダイナミック・ランダム・アクセス・メモリである、
記憶装置。
【請求項３】
請求項２において、
コントローラは、ＥＣＣ回路を更に有し、
上記制御論理回路は、上記ＥＣＣ回路を通して上記半導体不揮発性メモリと上記半導体揮発性メモリとの間でのデータ転送を行う信号経路を有する、
記憶装置。
【請求項４】
請求項２又は３において、
上記半導体不揮発性メモリは、１つのメモリセルを共有する第１ワードページと、上記第１ページへの書き込みよもり書き込み時間が長くされた第２ワードページとにより４値での書き込みを行う第１モードと、上記第１ワードページのみにより２値での書き込みを行う第２モードとを有し、
上記第２モードのときの上記制御論理回路の動作周波数は、上記第１周波数よりも高い周波数に対応して上記データ転送動作を行う、
記憶装置。
【請求項５】
請求項４において、
上記第２モードでの上記データ転送動作は、上記入出力インターフェイスから入力されたデータを上記半導体不揮発性メモリに書き込むときに行われる、
記憶装置。
【請求項６】
請求項４又は５において、
電源検出回路と、
電圧保持回路とを更に有し、
上記コントローラは、
電源遮断時において上記電源検出回路の電源遮断検出信号により、上記電圧保持回路の保持電圧を上記コントローラ、半導体揮発性メモリ及び半導体不揮発性メモリの動作電圧に切り替え、上記半導体揮発性メモリの退避対象データを読み出して上記半導体不揮発性メモリに書き込み、
電源投入時において上記電源検出回路の電源投入検出信号により、電源電圧を上記電圧保持回路の入力電圧、上記コントローラ、半導体揮発性メモリ及び半導体不揮発性メモリの動作電圧として供給し、上記半導体不揮発性メモリに保持された退避対象データを読み出して上記半導体揮発性メモリに書き込みを行う、
記憶装置。
【請求項７】
請求項６において、
上記半導体揮発性メモリは、第１クロックに同期して１６ビットの単位でデータの入力と出力とが行われるものであり、
上記半導体不揮発性メモリは、上記第１クロックの１／４の周波数に対応した第２クロックに同期して８ビットの単位でデータの入力と出力とが行われるものであり、
上記制御論理回路は、
上記第１クロックの１／２の周波数に対応した第３クロックに同期して３２ビットの単位でデータ転送を行い、
上記半導体揮発性メモリとの間には、上記第１クロックに同期して１６ビットずつ２回に分けてデータの入出力動作を行うメモリ制御回路を有し、
上記半導体不揮発性メモリとの間には、８個の上記半導体不揮発性メモリに分担させて、上記第２クロックに同期して６４ビットの単位でデータの入出力動作を行うフラッシュメモリインターフェイスを有する、
記憶装置。
【請求項８】
請求項７において、
上記コントローラ、入出力インターフェイス、メモリ制御回路及びフラッシュメモリインターフェイスは、１チップの半導体集積回路に形成される、
記憶装置。
【請求項９】
請求項８において、
上記制御論理回路と中央処理装置との間のデータのやり取りは、上記半導体集積回路に形成され、上記中央処理装置のワークメモリとしても動作するたスタティック・ランダム・アクセス・メモリを介して行われる、
記憶装置。
【請求項１０】
請求項９において、
上記半導体不揮発性メモリ、半導体揮発性メモリ、コントローラ及び入出力インターフェイスは、１インチ〜３．５インチのハードディスクドライブ装置に対応された外型サイズ及びコネクタピンを備えたパッケージに搭載され、
上記１インチ〜３．５インチのハードディスクドライブ装置との互換性を持つ、
記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、記憶装置に関し、例えば、ＮＡＮＤ型フラッシュメモリを用いて構成されてＨＤＤ置き換え可能な記憶装置に利用して有効な技術に関するものである。
【背景技術】
【０００２】
特開平７−３０２１７６号公報及び特開２００７−２８０１４０号公報には、型フラッシュメモリを用いて、例えばＨＤＤ置き換え可能な記憶装置が開示されている。これらの記憶装置では、ＣＰＵ（中央処理装置）のようなマイクロコンピュータを用いてメモリ全体の制御が行われる。
【特許文献１】特開平７−３０２１７６号公報
【特許文献２】特開２００７−２８０１４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ＮＡＮＤ型フラッシュメモリ等のような半導体不揮発性メモリは、半導体技術の進展により大容量と高速化が進められている。同様に、キャッシュメモリ等として搭載されるシンクロナス・ランダム・アクセス・メモリ（以下、単にＳＤＲＡＭという）のような半導体揮発性メモリにおいても高速化が進められている。そこで、本願発明者等においては、ＨＤＤ互換等に向けた記憶装置（Solid State Drive;ＳＳＤ) の高速化の検討において、以下の問題に直面した。例えば、１３０ＭＨｚ程度で動作する上記ＳＤＲＡＭに対応したクロックで動作するＣＰＵにおいては、それに対応した動作速度を実現するために大電流を流す必要があるので発熱量が大きいものとなる。ＨＤＤ互換の記憶装置においては、小さなパッケージに必要な記憶容量を実現するための多数のフラッシュメモリとコントローラとを高密度に実装するので、上記ＣＰＵの発熱がフラッシュメモリのデータ保持特性に悪影響を与えてしまう。したがって、上記のような高速なＣＰＵを用いた場合は、強力な冷却手段が必要になってしまう。このようなＣＰＵの発熱及びその冷却手段は、上記ＨＤＤ互換の記憶装置に要求される低消費電力、小型化を大きく損なうものとなる。
【０００４】
上記ＳＤＲＡＭをキャッシュメモリ又はバッファメモリ等として使用する場合、予期しない電源遮断等に対応すべく、コンデンサ等の保持電荷を利用してＳＤＲＡＭのデータをフラッシュメモリに退避する動作電圧を確保するものでは、上記ＣＰＵの消費電流が大きいと上記データ退避もできなくなってしまう。そして、上記記憶装置のコントローラは、外部入出力インターフェイス、ＥＣＣ（誤り検出・訂正回路）、フラッシュメモリやＳＤＲＡＭとのインターフェイス等の各種回路も必要である。したがって、記憶装置の小型化のためには、ＣＰＵと上記各種回路とを１つの半導体集積回路装置で構成された、いわゆるシステムＬＳＩを用いて構成することが有益であるが、このようなシステムＬＳＩ化は、上記冷却を必要とするＣＰＵの搭載には向かない。
【０００５】
この発明の目的は、簡単な構成で高速化と小型化を実現した記憶装置を提供することにある。ここの発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００６】
本願において開示される１つの実施例は、以下の通りである。記憶装置は、半導体不揮発性メモリ、半導体揮発性メモリ、上記半導体不揮発性メモリ及び半導体揮発メモリに対してメモリアクセスを行うコントローラを有する。上記コントローラは、中央処理装置と、制御論理回路とを有する。上記制御論理回路は、上記半導体不揮発性メモリと上記半導体揮発性メモリとの間でのデータ転送動作を第１周波数に対応したメモリ制御を分担する。上記中央処理装置は、上記第１周波数よりも低い第２周波数に対応して上記制御論理回路が行うメモリ制御以外のメモリ制御動作を分担する。
【発明の効果】
【０００７】
半導体不揮発性メモリと半導体揮発性メモリ等との間の単純なデータ転送に特化することにより簡単な構成となる制御論理回路と、それ以外のメモリ制御動作を低速なＣＰＵで分担させることにより、ＣＰＵにおける発熱等の問題を回避して記憶装置の高速化と小型化を実現できる。
【発明を実施するための最良の形態】
【０００８】
図１には、この発明に係る記憶装置ＳＳＤ（Solid State Drive)の一実施例の概略ブロック図が示されている。この実施例の記憶装置は、ＨＤＤ互換記憶装置として、特に制限されないが、多数個の多値（４値）不揮発性メモリ（フラッシュメモリ）を１つのパッケージの中に搭載して複数ページ分の記憶容量を持つようなファイルメモリを構成するようにされる。上記多値（４値）フラッシュメモリは、１つのメモリセルに２ビットの記憶が可能とされ、２ビットの書き込み情報に応じて４種類のしきい値電圧の分布のうちの１つに対応したしきい値電圧を持つようにされる。
【０００９】
この実施例の記憶装置ＳＳＤでは、半導体揮発性メモリが設けられる。半導体揮発性メモリは、例えばＳＤＲＡＭ（シンクロナス・ダイナミック・ランダム・アクセス・メモリ）からなり、上記多値フラッシュメモリの書き換え耐性を向上させる為、ホストからの書き込みデータ、およびそれらを管理などする非ホストデータを維持、キャッシュするため等に用いられる。
【００１０】
これら多数個の半導体不揮発性メモリは、半導体不揮発性メモリＩ／Ｆ（インターフェイス）を通してデータの入出力を行うコントローラ部の一部を構成する制御論理回路（ルーティングブロック）ＬＴＣに接続される。コントローラ部は、上記論理制御回路ＬＴＣと、中央処理装置ＣＰＵにより構成される。外部とのデータのやり取りは、特に制限されないが、ＡＴＡ（AT Attachment)のようなインターフェイスＩ／Ｆにより行われる。
【００１１】
多値フラッシュメモリは、エラービットの発生が他のメモリデバイスに比べて比較的多く、それを許容することを前提とするデバイスである。データの書き換え及び消去を繰り返していくうちにメモリセルがデータ記憶特性が劣化し、リード時に正常データがリードできなくなることがある。そのために、記憶媒体に半導体不揮発性メモリを使用したＳＳＤを構成する場合、誤り検出・訂正回路ＥＣＣが必須となる。誤り検出・訂正回路ＥＣＣは、誤り検出・訂正を行う場合、ハミング符号／リード・ソロモン符号／ＢＣＨ符号などの符号化、複合化を行う。
【００１２】
この実施例では、電源検出回路ＰＤＴと電源遮断時の動作電圧を確保するためのコンデンサＣＰ及びスイッチＳＷを更に備えている。このコンデンサＣＰは、システム側において予期しない電源遮断が生じた場合でも、その蓄積電荷によって半導体不揮発性メモリやコントローラ部及び半導体揮発性メモリや電源検出回路に電圧を供給して、半導体不揮発性メモリの中断処理を含めた正常終了状態まで動作電圧や、半導体揮発性メモリの退避させるべきデータを半導体不揮発性メモリに退避させる退避時間を確保できるように動作する。コンデンサＣＰは、上記のような中断処理やデータ退避が行われるような動作電圧確保のために必要な容量値を持つようにされる。
【００１３】
上記電源検出回路ＰＤＴは、マイクロコンピュータ等のようなホスト側からの電源電圧を受けて、その電源投入と電源遮断を検出する。これらの電源投入検出信号と電源遮断検出信号は、電源投入又は電源遮断に対応したコントローラ部からの信号、あるいはコントロール線から供給される制御信号に対応してスイッチＳＷの制御や半導体不揮発性メモリと半導体揮発性メモリとの間でのデータ転送動作の指示に用いられる。
【００１４】
スイッチＳＷは、上記その電源投入と電源遮断を検出信号により切り替えられ、コンデンサＣＰが電源電圧による充電動作から、その保持電圧を記憶装置ＳＳＤの内部回路の動作電圧として供給する動作を行う。上記電源検出回路ＰＤＴは、上記コンデンサＣＰの保持電圧が有効に利用できるようにするために、コンデンサＣＰで形成された動作電圧がシステム側に逆流してしまうのを防止するような機能も持つものである。最も簡単な構成は、ダイオード等の一方向性素子を通してシステム側からの電源電圧が、記憶装置ＳＳＤの電源電圧として上記スイッチＳＷを通してコンデンサＣＰにチャージアップされるとともに、コントロール部、半導体不揮発性メモリ、半導体揮発性メモリ、インターフェイス回路Ｉ／Ｆ及び電源検出回路に伝えられる。
【００１５】
システム側において電源遮断等が発生した場合、上記のように電圧検出回路によりコントローラ部及び半導体不揮発性メモリにはコンデンサＣＰから動作電圧が維持される逆流防止が行われるとともに、インターフェイス回路Ｉ／Ｆが上記システム側からの信号に応答しないように制御され、半導体揮発性メモリに退避データが存在するときには半導体不揮発性メモリの予め決められた退避領域にかかる退避データの退避が行われる。もしも半導体不揮発性メモリへの書き込み動作中ならば、リセットコマンドが発行されて半導体半導体不揮発性メモリの書き込み動作の中断処理される。同様に、半導体不揮発性メモリの消去動作中ならばリセットコマンドが発行されて半導体不揮発性メモリの消去動作も中断処理される。
【００１６】
制御論理回路ＬＴＣは、記憶装置ＳＳＤの小型化と高速化を実現するために、半導体不揮発性メモリと半導体揮発性メモリとの間の上記ＥＣＣ回路で符号化、複合化を含んだデータ転送動作に特化した単純なメモリ制御を分担する。例えば、外部から入力されるコマンド等の判定や、記憶装置としての全体の管理等のように高速動作がそれほど要求されないメモリ制御動作については中央処理装置ＣＰＵが分担する。それ故、上記制御論理回路ＬＴＣは、例えば、半導体揮発性メモリの動作周波数に対応した高い周波数のクロックで動作する。これに対して、中央処理装置ＣＰＵは、発熱が問題にならなくて低消費電力にされる比較的低い周波数にされる。つまり、制御論理回路ＬＴＣの動作周波数は、上記中央処理装置ＣＰＵの動作周波数よりも高い周波数にされる。これにより、簡単な構成で記憶装置の高速化と小型化を実現できる。
【００１７】
この実施例では、点線で囲まれた部分がコントローラ部を構成し、それが１つの半導体集積回路装置（システムＬＳＩ）により構成される。つまり、この実施例の記憶装置は、１つのシステムＬＳＩと、１つのＳＤＲＡＭチップ、及び記憶容量に応じて設けられる複数の多値フラシュメモリチップ及びスイッチとコンデンサから構成される。
【００１８】
上記記憶装置ＳＳＤは、例えば２．５インチのハードディスクドライブ装置と同様な外形サイズ（７０．０×１００．０×９．５ｍｍ）又は３．５インチのハードディスクドライブ装置と同様な外形サイズ（１０１．６×１４６．０×２５．４ｍｍ）のパッケージに搭載され、インターフェイス回路ＩＮＦに接続されるコネクタピンも上記２．５インチのハードディスクドライブ装置又は３．５インチのハードディスクドライブ装置と同様なものが用いられる。これにより、この実施例の記憶装置ＳＳＤは、ＨＤＤ（ハードディスクドライブ）互換性記憶装置とされる。
【００１９】
図２には、この発明に係る記憶装置ＳＳＤの一実施例の具体的ブロック図が示されている。この実施例では、揮発性メモリとして１３２ＭＨｚ×１６ビット（bit)で動作するＳＤＲＡＭが用いられる。また、フラッシュメモリ（以下、ＦＬＳＨという）は、３３ＭＨｚ×８ビットで動作するメモリチップＭＣが８個並列形態にされた構成を最小単位として、例えば４単位（３２個）や８単位（６４個）等のような多数個が搭載される。
【００２０】
上記ＳＤＲＡＭに対するデータの書き込み／読み出しは、上記１３２ＭＨｚに同期したクロックで行う必要ある。上記のように１６ビットの単位でデータ転送を行うと、制御論理回路ＬＴＣは、１３２ＭＨｚのような高い周波数で動作する必要がある。この実施例では、制御論理回路ＬＴＣでのデータ転送を３２ビットで行うことにより、上記１３２ＭＨｚの半分の６６ＭＨｚで動作するように工夫されている。
【００２１】
ＳＤＲＡＭ側にはＳＤＲＡＭ制御回路ＳＤＲＡＭＣを配置し、上記１３２ＭＨｚ×１６ビットの単位でのメモリアクセスを行う。メモリ制御回路ＳＤＣは、データバッファＤＢを有しており、上記ＳＤＲＡＭ制御回路ＳＤＲＡＭＣを通して読み出された１３２ＭＨｚ×１６ビットのデータを受けて、その２サイクル分のデータ（２×１６ビット）を記憶し、出力回路ｏｕｔからは６６ＭＨｚ×３２ビットの単位のデータとして制御論理回路ＬＴＣに伝える。一方、上記メモリ制御回路ＳＤＣに対して論理制御回路ＬＴＣから上記のように６６ＭＨｚ×３２ビットの単位でデータが入力されるから、半分の１６ビットを１３２ＭＨｚの前半の第１サイクルで上記ＳＤＲＡＭ制御回路ＳＤＲＡＭＣを通してＳＤＲＡＭに入力し、残り１６ビットを次の第２サイクルで上記同様にＳＤＲＡＭに入力する。メモリ制御回路ＳＤＣに設けられたＤＭＡは、このようなＳＤＲＡＭ制御を行う。
【００２２】
上記ＦＬＳＨに対するデータの書き込み／読み出しは、上記３３ＭＨｚに同期したクロックで行う必要ある。しかしながら、制御論理回路ＬＴＣとの間では６６ＭＨｚ×３２ビットの単位でデータの授受を行う必要があることから、フラッシュメモリインターフェイスＦ−Ｉ／Ｆが設けられる。このフラッシュメモリインターフェイスＦ−Ｉ／Ｆの出力回路ｏｕｔは、制御論理回路ＬＴＣに対して６６ＭＨｚ×３２ビットの単位でデータを出力する。また、入力回路ｉｎは、制御論理回路ＬＴＣからの６６ＭＨｚ×３２ビットの単位でデータを入力する。
【００２３】
上記フラッシュメモリＦＬＳＨは、並列形態にされた８個のメモリチップＭＣにより、３３ＭＨｚ×８×８（６４）ビットの単位でデータの入出力を行うものである。メモリチップＭＣは、１つの半導体集積回路装置として形成されたフラシュメモリである。フラッシュメモリインターフェイスＦ−Ｉ／Ｆは、上記フラッシュメモリＦＬＳＨに向けて４チャネル分のバッファＢＵＦが設けられる。１つのチャネルは、上記２つのメモリチップＭＣに対応して８ビットの単位でデータの一時記憶を行う２つのバッファＢＵＦから構成されている。これにより、制御論理回路ＬＴＣから６６ＭＨｚに対応した３２ビットのデータは、入力回路ｉｎを通して２クロック分が上記フラッシュメモリインターフェイスＦ−Ｉ／Ｆの上記バッファＢＵＦに順次に記憶され、上記３３ＭＨｚのクロックに同期して６４ビットのデータとして８ビットずつに分割してフラシュメモリＦＬＳＨの８個のメモリチップＭＣにそれぞれ入力される。
【００２４】
一方、８個のフラシュメモリＦＬＳＨから３３ＭＨｚのクロックに同期して出力されたた８ビットずつ合計６４ビットからなるデータは、上記フラッシュメモリインターフェイスＦ−Ｉ／Ｆの上記各バッファＢＵＦにそれぞれ記憶され、上記６６ＭＨｚの前半の第１クロックに同期して半分の３２ビットのデータが出力回路ｏｕｔを通して上記制御論理回路ＬＴＣに出力され、後半の第２クロックに同期して残り半分の３２ビットのデータが上記制御論理回路ＬＴＣに出力される。上記のようなデータの入出力を行う上記入力回路ｉｎ、出力回路ｏｕｔ及びバッファＢＵＦに対する制御は、コントローラＦＬＳＨＣにより行われる。
【００２５】
図３には、上記データ転送動作を説明するための波形図が示されている。ＳＤＲＡＭ側においては、１３２ＭＨｚのクロックに同期して、１６ビットのデータが入出力される。これに対して、ＬＴＣ側では６６ＭＨｚで１６ビット×２＝３２ビットのデータが転送される。そして、ＦＬＳＨ側では３３ＭＨｚで８ビット×８＝６４ビットのデータが入出力される。ＳＤＲＡＭとＬＴＣとの間には、上記メモリ制御回路ＳＤＣのバッファＤＢ及びＤＭＡにより、１３２ＭＨｚの前半の第１クロックに同期した１６ビットが一方のバッファＤＢに記憶され、後半の第２クロックに同期した１６ビットが他方のバッファＤＢに記憶されて、６６ＭＨｚのクロックに同期して３２ビットデータとして処理される。
【００２６】
ＬＴＣとＦＬＳＨ間には、上記フラッシュメモリインターフェイスＦ−Ｉ／ＦのバッファＢＵＦ及びＦＬＳＨＣにより、６６ＭＨｚの前半の第１クロックに同期した３２ビットが８ビットずつ４チャネルに分割されて４個の第１バッファＢＵＦに記憶され、後半の第２クロックに同期した６４ビットも８ビットずつ４チャネルに分割されて４個の第２バッファＢＵＦに記憶されて、３３ＭＨｚのクロックに同期して８ビットずつ８個のＦＬＳＨに入力される。逆方向のデータ転送は、同図では省略されているが前記説明から容易に理解されよう。
【００２７】
図２において、制御論理回路ＬＴＣは、セレクタＳＥＬ１ないしＳＥＬ５を有し、これらのセレクタＳＥＬ１〜５により、ＳＤＲＡＭとＦＬＳＨとの間で直接的にデータを伝える信号経路、ＳＤＲＡＭのデータをＥＣＣに送り、それで生成されたパリティを付加してＦＬＳＨに伝える信号経路や、ＦＬＳＨから読み出されたデータをＥＣＣに送り、誤りの検出・訂正を行ったデータをＳＤＲＡＭに記憶させる信号経路、あるいは直接にインターフェイスＡＴＡを介して外部に出力させる経路等、動作モードに応じた信号経路を構成する。かかるセレクタＳＥＬ１〜５の切り替え動作は、論理回路ＬＯＧにより行われる。論理回路ＬＯＧは、各種設定や制御レジスタを有し、上記６６ＭＨｚのクロックに同期して上記各種レジスタに対応して動作モードに対応した信号伝達経路を形成する制御信号を形成する。
【００２８】
論理制御回路ＬＴＣは、ファームウェアにより各種転送動作の制御を行う。例えば、転送開始、転送モード、終了、エラー、割り込みマスクに関するレジスタを持っている。転送開始レジスタに対する起動の指示や転送モードレジスタに対する設定は論理回路ＬＯＧ（ファームウェア）により実行される。上記制御論理回路ＬＴＣと、各ブロックであるＳＤＲＡＭ（ＳＤＣ）、ＦＬＳＨ（Ｆ−Ｉ／Ｆ）、ＥＣＣ、ＡＴＡＣ及びＳＲＡＭ（ＳＲＡＭＣ）とをそれぞれ接続するセレクタＳＥＬ５、ＳＥＬ２、ＳＥＬ３、ＳＥＬ４及びＳＥＬ１の制御は、上記転送レードに応じて上記論理回路ＬＯＧにより実行される。
【００２９】
制御論理回路ＬＴＣは、各ブロックからの処理終了フラグ及びエラー有無の判定通知をもらう。転送処理実行中に何等かの要因で中断したい場合には、各ブロックへ中断信号の送信を行う。制御論理回路ＬＴＣは、中央処理装置ＣＰＵに対する処理終了やエラーの通知をポーリングにより行う。また、制御論理回路ＬＴＣは、冗長データと通常データを区別する信号を上記ＡＴＡブロックを除いた各ブロック間に持つ。各ブロックは、バッファを持っており、そのバッファを通してデータのやり取りを行う。
【００３０】
電源検出レジスタＰＭＣＲは、前記図１の電源検出回路ＰＤＴにより電源電圧がある一定値より低下すると、電源遮断処理を行うための割り込み信号を中央処理装置ＣＰＵ及び制御論理回路ＬＴＣに通知するためのレジスタである。同図においては、前記図１の電源検出回路ＰＤＴ、スイッチＳＷ及びコンデンサＣＰは省略されている。電源遮断や投入についての動作は、前記図１の実施例で説明したと同様である。この電源遮断時におけるＳＤＲＡＭの退避データのＦＬＳＨへの転送も上記制御論理回路ＬＴＣの採用によって高速にできる。これにより、コンデンサＣＰの容量値も中央処理装置ＣＰＵによりデータ退避させる場合によりも小さくできるので、記憶装置の小型化や低コスト化が可能になるものである。
【００３１】
外部入出力インターフェイスは、ＡＴＡ−Ｉ／ＦとそのコントローラＡＴＡＣから構成される。ホトスシステムＨＯＳＴとは、特に制限されないが、２５ＭＨｚ×１６ビットの単位でデータの入出力動作が行われる。
【００３２】
中央処理装置ＣＰＵは、バスＣＰＵ−ＢＵＳに接続されている。このバスＣＰＵ−ＢＵＳは、１６．５ＭＨｚ×３２ビットによりデータ転送が行われる。それ故、中央処理装置ＣＰＵは、その動作クロックが上記のように１６．５ＭＨｚのように上記最も遅いフラシュメモリＦＬＳＨよりも遅い周波数で動作するものであり、それ自体での発熱が問題になることはない。
【００３３】
中央処理装置ＣＰＵは、特に制限されないが、レジスタＲＥＧを介してホストからの動作指示等のコマンド等を受け取る。また、インターフェイスコントローラＡＴＡＣや、上記ＥＣＣあるいは制御論理回路ＬＴＣとの間のデータのやり取りは、クロック周波数が１６．５ＭＨｚと６６ＭＨｚのように異なり、しかも非同期であることからワークメモリとして動作するＳＲＡＭ（スタティック・ランダム・アクセス・メモリ）を介在して行われる。つまり、ＳＲＡＭコントローラＳＲＡＭＣに内蔵されたデータ転送回路ＤＭＡにより、予め決められて記憶エリアを相互にアクセスすることにより行われる。つまり、中央処理装置ＣＰＵから書き込まれたデータを制御論理回路ＬＴＣが読み出すことにより、ＣＰＵからＬＴＣに対してデータを送信することができる。逆に、制御論理回路ＬＴＣから書き込まれたデータを中央処理装置ＣＰＵが読み出すことによりＬＴＣからＣＰＵに対してデータを送信することができる。
【００３４】
この実施例では、上記中央処理装置ＣＰＵを１６．５ＭＨｚのように低い周波数で動作させて発熱の問題を回避しつつ、特定のデータ転送動作に特化した小さな回路規模で構成できる制御論理回路ＬＴＣを用い、それを６６ＭＨｚのような高い周波数で動作させることにより、記憶装置としての高速化を実現することができる。制御論理回路ＬＴＣは、上記のように高い周波数で動作させても、上記特定のデータ転送動作に特化した小さな回路規模で構成できるので発熱量そのものを小さく抑えることができる。ＣＰＵとＬＴＣ及び他の回路も含んだシステムＬＳＩを用いてＦＤＭやＳＳＤを構成でき、記憶装置の高速化と小型化を実現することができる。
【００３５】
図２の実施例では、ＡＴＡ−Ｉ／Ｆにより、２５ＭＨｚ×１６ビットの単位でデータの入出力を行うようにするものであるが、前記のように制御論理回路ＬＴＣでは、３２ビット×６６ＭＨｚでのデータ伝送が可能で、ＳＤＲＡＭに対して１３２ＭＨｚ×１６ビットでアクセスすることが可能であるから、高速ＨＤＤに匹敵する書き込み／読み出し動作を実現することも可能である。
【００３６】
フラシュメモリＦＬＳＨは、特に制限されないが、大記憶容量化のために４値フラシュメモリが用いられる。１つのメモリセルに２ビットの記憶が可能とされる場合、１つのメモリセルに記憶される２ビットは、異なるページのデータとして割り付けられる。例えば、ＮＡＮＤフラッシュメモリでは、２キロバイトや４キロバイト等のページ単位毎にデータの書き込みと読み出しが行われる。上記２ビットを記憶させる場合、１つのメモリセルに２つのロウアドレスに対応するデータが記憶される。それを下位ページ（又は第１ページ）及び上位ページ（第２ページ）というように２つに分けられる。製品によっては、Ａページ、Ｂページというように呼ぶ場合もある。
【００３７】
この実施例の記憶装置では、下位ページのみでフラシュメモリＦＬＳＨをアクセスするモードが設けられる。下位ページのみでフラシュメモリＦＬＳＨをアクセスすると２値のメモリセルとして使用するこができる。このようにメモリセルを２値で書き込み動作させた場合、その動作速度は４値の場合、つまり下位ページと上位ページを用いた場合に比べて書き込み時間を３０％程度に短縮することが知られている。このことは、フラシュメモリＦＬＳＨを６６ＭＨｚ×８ビットで動作させることが可能であることを意味する。
【００３８】
制御論理回路ＬＴＣは、１３２ＭＨｚ×３２ビットで動作させることも可能となる。しかしながら、ＳＤＲＡＭは、前記のように１３２ＭＨｚ×１６ビットで動作することからＳＤＲＡＭからのデータをＦＬＳＨに書き込むときには意味を成さないが、外部入出力インターフェイスＡＴＡ−Ｉ／Ｆに対して、１３２ＭＨｚ×３２ビットに相当する高速データを入力させる機能を付加すると、上記ＦＬＳＨの２値動作による高速化を生かすことができる。つまり、上記ＬＴＣを１３２ＭＨｚで、ＦＬＳＨを６６ＭＨｚで動作させる高速モードにし、外部からＳＤＲＡＭに書き込むよりも高速なデータを直接にＦＬＳＨに書き込むという超高速ダイレクト書き込み機能を実現することができる。この場合、ＡＴＡ−Ｉ／ＦやＡＴＡＣに、そのような高速入力機能を付加すればよい。クロックは、ＳＤＲＡＭ用クロックをＬＴＣに流用し、ＬＴＣ用クロックをＦＬＳＨに流用すればよい。
【００３９】
図４には、この発明に係る記憶装置ＳＳＤの他の一実施例の具体的ブロック図が示されている。この実施例では、ＳＣＳＩ(Small Computer System Interface) のようなインターフェイスＩ／Ｆに変更される。これに対応して、コントローラもＳＣＳＩＣのように変更される。他の構成は、前記図２の実施例と同様である。
【００４０】
図５には、この発明に係る記憶装置ＳＳＤの更に他の一実施例の具体的ブロック図が示されている。この実施例では、ＳＡＴＡ(Serial Advanced Technology Attachment) のようなインターフェイスＳＡＴＡ−Ｉ／Ｆに変更される。ＳＡＴＡは、パソコンにハードディスクや光ドライブを接続するためのインターフェイス規格であり、これに対応して、コントローラもＳＡＴＡＣのように変更される。他の構成は、前記図２の実施例と同様である。
【００４１】
以上本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、フラシュメモリはＮＡＮＤフラシュメモリの他、ＮＯＲフラシュメモリを用いるものであってもよい。ＳＤＲＡＭやＦＬＳＨの動作周波数は、採用する製品によって異なるものである。入出力ビット数も同様に異なる。したがって、制御論理回路ＬＴＣでは、それに接続されるＳＤＲＡＭやＦＬＳＨの動作周波数及び入出力ビット数に対応して最も高速になる組み合わせを選ぶようにすればよい。フラシュメモリに対してデータの書き込みや読み出しを行うためのコマンド、アドレス等の入力方法は、使用するフラシュメモリに対応して決められる。この実施例の記憶装置は、１インチや１．８インチのように前記２．５や３．５インチそれよりも小さな外形サイズのＨＤＤパッケージと同等パッケージに搭載れるもの、あるいは独自に開発されたパッケージあるいは単に実装基板上に搭載されるもの等種々の実施形態を採ることができる。
【産業上の利用可能性】
【００４２】
この発明は、フラッシュメモリのような半導体不揮発性メモリを用いた記憶装置に広く利用することができる。
【図面の簡単な説明】
【００４３】
【図１】この発明に係る記憶装置の一実施例の概略ブロック図である。
【図２】この発明に係る記憶装置の一実施例の具体的ブロック図である。
【図３】図２の記憶装置のデータ転送動作を説明するための波形図である。
【図４】この発明に係る記憶装置の他の一実施例の具体的ブロック図である。
【図５】この発明に係る記憶装置の更に他の一実施例の具体的ブロック図である。
【符号の説明】
【００４４】
ＳＷ…スイッチ、ＣＰ…コンデンサ、ＰＤＴ…電源検出回路、ＣＰＵ…中央処理装置、ＳＤＲＡＭ…シンクロナス・ダイナミック・ランダム・メモリ（半導体揮発性メモリ）、ＦＬＳＨ…フラシュメモリ（半導体不揮発性メモリ）、ＭＣ…メモリチップ、ＬＴＣ…制御論理回路、ＳＥＬ１〜５…セレクタ、ＬＯＧ…論理回路（ファームウェア）、ＥＣＣ…誤り検出・訂正回路、ＳＤＣ…メモリ制御回路、ＤＢ…データバッファ、Ｆ−Ｉ／Ｆ…フラッシュメモリインターフェイス、ＢＵＦ…バッファ、ＦＬＳＨＣ…コントローラ、ＳＲＡＭ…スタティック・ランダム・アクセス・メモリ（ワークメモリ）、ＳＲＡＭＣ…ＳＲＡＭ制御回路、ＰＭＣＲ…電源検出レジスタ、ＡＴＡ，ＳＣＳＩ，ＳＡＴＡ−Ｉ／Ｆ…外部入出力インターフェイス、ＡＴＡＣ，ＳＣＳＩＣ，ＳＡＴＡＣ…インターフェイスコントローラ、
【図１】
2010026950.tif 000003
【図２】
2010026950.tif 000004
【図３】
2010026950.tif 000005
【図４】
2010026950.tif 000006
【図５】
2010026950.tif 000007