(57)【特許請求の範囲】
【請求項１】
ＮＡＮＤインターフェースに準拠する命令を発行するコントローラと、前記命令によって制御される第１のＮＡＮＤ型フラッシュメモリとを有する第１の部品と、
前記命令によって制御される第２のＮＡＮＤ型フラッシュメモリを有し、前記第１の部品から着脱可能な第２の部品と
を具備し、
前記コントローラは、前記第１のＮＡＮＤ型フラッシュメモリ及び前記第２のＮＡＮＤ型フラッシュメモリのいずれかにデータを書き込み、前記第２のＮＡＮＤ型フラッシュメモリに書き込んだデータのうち書き換え回数が第１の基準値より低いブロックのデータを、前記第１のＮＡＮＤ型フラッシュメモリに移動させ、前記第１のＮＡＮＤ型フラッシュメモリに書き込んだデータのうち書き換え回数が前記第１の基準値以上であるブロックのデータを、前記第２のＮＡＮＤ型フラッシュメモリに移動させる、
半導体記憶装置。
【請求項２】
前記コントローラは、前記書き換え回数が前記第１の基準値以上であるブロックの前記データを前記第２のＮＡＮＤ型フラッシュメモリに、前記書き換え回数が前記第１の基準値より低いブロックの前記データを前記第１のＮＡＮＤ型フラッシュメモリに、保持させる、請求項１に記載の半導体記憶装置。
【請求項３】
前記コントローラは、前記第１及び第２のＮＡＮＤ型フラッシュメモリの空き容量に応じて、前記第１の基準値を変化させる、請求項１又は２に記載の半導体記憶装置。
【請求項４】
前記第１のＮＡＮＤ型フラッシュメモリと前記コントローラとの間の入出力信号用の配線、及び、前記第２のＮＡＮＤ型フラッシュメモリと前記コントローラとの間の入出力信号用の配線の少なくとも一方は、シリアル配線である、請求項１乃至３の何れか１項に記載の半導体記憶装置。
【請求項５】
前記第２のＮＡＮＤ型フラッシュメモリの不良ブロック数が第２の基準値に達した場合、前記コントローラは、前記第２の部品を前記第１の部品から取りはずし、前記命令によって制御される第３のＮＡＮＤ型フラッシュメモリを有する第３の部品を前記第１の部品に接続するように、警告を発する、請求項１乃至４の何れか１項に記載の半導体記憶装置。
【請求項６】
第１の回路基板と、
前記第１の回路基板と異なる第２の回路基板と、
前記第１の回路基板に搭載された第１のＮＡＮＤ型フラッシュメモリと、
前記第２の回路基板に搭載された第２のＮＡＮＤ型フラッシュメモリと、
前記第２の回路基板に搭載されたコントローラと、
を具備し、
前記コントローラと前記第１及び第２のＮＡＮＤ型フラッシュメモリとの間の入出力信号用の配線は、シリアル配線であり、
前記コントローラは、前記第１のＮＡＮＤ型フラッシュメモリ又は前記第２のＮＡＮＤ型フラッシュメモリにデータを書き込み、前記第１のＮＡＮＤ型フラッシュメモリに書き込んだデータのうち書き換え回数が第１の基準値より低いブロックのデータを、前記第２のＮＡＮＤ型フラッシュメモリに移動させ、前記第２のＮＡＮＤ型フラッシュメモリに書き込んだデータのうち書き換え回数が前記第１の基準値以上であるブロックのデータを、前記第１のＮＡＮＤ型フラッシュメモリに移動させる、
半導体記憶装置。
【請求項７】
前記シリアル配線は、差動シリアル配線である、請求項６に記載の半導体記憶装置。
【請求項８】
前記第１の回路基板と前記第２の回路基板とを接続するコネクタをさらに具備する、請求項６又は７に記載の半導体記憶装置。
【請求項９】
前記コントローラと前記第１のＮＡＮＤ型フラッシュメモリとの間の配線構成は、前記コントローラと前記第２のＮＡＮＤ型フラッシュメモリとの間の配線構成と同じである、請求項６乃至８の何れか１項に記載の半導体記憶装置。
【請求項１０】
前記コントローラと前記第１のＮＡＮＤ型フラッシュメモリとの間の通信方式は、前記コントローラと前記第２のＮＡＮＤ型フラッシュメモリとの間の通信方式と同じである、請求項６乃至９の何れか１項に記載の半導体記憶装置。
【請求項１１】
前記第１の回路基板は、前記第２の回路基板から着脱可能であり、
前記第１のＮＡＮＤ型フラッシュメモリの不良ブロック数が第２の基準値に達した場合、前記コントローラは、前記第１の回路基板を前記第２の回路基板から取りはずし、且つ、第３のＮＡＮＤ型フラッシュメモリが搭載された第３の回路基板を前記第２の回路基板に接続するように、警告を発する、請求項６乃至１０の何れか１項に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、不揮発性半導体メモリを有する半導体記憶装置に関する。
【背景技術】
【０００２】
コンピュータシステムに用いられるメモリシステムとして、ＮＡＮＤ型フラッシュメモリを搭載したＳＳＤ（Solid State Drive）が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−５２９９８号公報
【特許文献２】特開２０１３−２５４４０３号公報
【特許文献３】特開２０１１−２２９３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
コストを低減しつつ、装置の寿命を延ばすことが可能な半導体記憶装置を提供する。
【課題を解決するための手段】
【０００５】
実施形態の半導体記憶装置は、ＮＡＮＤインターフェースに準拠する命令を発行するコントローラと、前記命令によって制御される第１のＮＡＮＤ型フラッシュメモリとを有する第１の部品と、前記命令によって制御される第２のＮＡＮＤ型フラッシュメモリを有し、前記第１の部品から着脱可能な第２の部品とを具備し、前記コントローラは、前記第１のＮＡＮＤ型フラッシュメモリ及び前記第２のＮＡＮＤ型フラッシュメモリのいずれかにデータを書き込み、前記第２のＮＡＮＤ型フラッシュメモリに書き込んだデータのうち書き換え回数が第１の基準値より低いブロックのデータを、前記第１のＮＡＮＤ型フラッシュメモリに移動させ、前記第１のＮＡＮＤ型フラッシュメモリに書き込んだデータのうち書き換え回数が前記第１の基準値以上であるブロックのデータを、前記第２のＮＡＮＤ型フラッシュメモリに移動させる。
【図面の簡単な説明】
【０００６】
【図１】一実施形態に従った半導体記憶装置のブロック図。
【図２】一実施形態に従った半導体記憶装置の部品の接続状態を示す図。
【図３】一実施形態に従った半導体記憶装置の部品の着脱状態を示す図。
【図４】一実施形態に従ったストレージ制御装置の機能ブロック図。
【図５】一実施形態に従った半導体記憶装置のデータ移動に関する図。
【図６】一実施形態に従った半導体記憶装置の書き込み動作の第１の例のフロー図。
【図７】一実施形態に従った半導体記憶装置の書き込み動作の第２の例のフロー図。
【図８】一実施形態に従った半導体記憶装置のリムーバブルメモリの交換モードのフロー図。
【図９】一実施形態に従った半導体記憶装置のパラレル配線接続に関する図。
【図１０】一実施形態に従った半導体記憶装置のシリアル配線接続に関する図。
【図１１】一実施形態に従ったメモリシステムの構成例１のブロック図。
【図１２】一実施形態に従ったメモリシステムの構成例２のブロック図。
【発明を実施するための形態】
【０００７】
以下、実施形態について図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【０００８】
［１］半導体記憶装置１００
図１乃至図３を用いて、一実施形態に係る半導体記憶装置１００について説明する。ここで、半導体記憶装置１００としては、例えばソリッドステートデバイス（ＳＳＤ）等が挙げられる。ＳＳＤとは、ＮＡＮＤ型フラッシュメモリ等の不揮発性半導体メモリを外部記憶装置として用いるドライブのことである。
【０００９】
図１に示すように、半導体記憶装置１００は、不揮発性半導体メモリを有するリムーバブルメモリ１０及び固定メモリ２０、コントローラ（ストレージ制御装置）３０を備えている。
【００１０】
リムーバブルメモリ１０及び固定メモリ２０の不揮発性半導体メモリは、例えばＮＡＮＤ型フラッシュメモリである。ＮＡＮＤ型フラッシュメモリは、複数のメモリセルを備え、データを不揮発に記憶する。ＮＡＮＤ型フラッシュメモリは、ユーザデータやプログラム、メモリシステム内の内部データ等の保存用の記憶部として使用される。具体的には、ホスト装置（図示せず）側によって指定されたデータを記憶したり、ＮＡＮＤ型フラッシュメモリでのデータ格納位置を管理する管理情報やファームウェアプログラム等の不揮発に保存したいデータを記憶したりする。ＮＡＮＤ型フラッシュメモリでは、消去はブロック単位で行われ、書き込みと読み出しはページ単位で行われる。ＮＡＮＤ型フラッシュメモリは、複数のメモリセルがマトリクス状に配列されたメモリセルアレイを含み、このメモリセルアレイは、データ消去の単位である物理ブロックを複数配列して構成される。ＮＡＮＤ型フラッシュメモリでは、物理ページごとにデータの書き込み及びデータの読み出しが行われる。物理ページは、複数のメモリセルから構成される。物理ブロック（メモリブロック、データブロック）は、複数の物理ページから構成される。
【００１１】
リムーバブルメモリ１０及び固定メモリ２０は、ＮＡＮＤインターフェース（Ｉ／Ｆ）回路１０ａ、２０ａを有している。ＮＡＮＤインターフェース回路１０ａ、２０ａは、コントローラ３０との間の信号の授受を司る。ＮＡＮＤインターフェース回路１０ａ、２０ａは、データの書き込み時には、コントローラ３０から制御信号（書き込みコマンド及びアドレス）及び書き込みデータを受信し、データの読み出し時には、コントローラ３０から制御信号（読み出しコマンド及びアドレス）を受信し、読み出しデータをコントローラ３０に転送する。
【００１２】
コントローラ３０は、ホスト装置（図示せず）からの命令に応答して、ＮＡＮＤ型フラッシュメモリに対して読み出し、書き込み、消去等を命令する。コントローラ３０は、ＮＡＮＤ型フラッシュメモリのメモリ空間を管理する。
【００１３】
コントローラ３０は、ＮＡＮＤインターフェース（Ｉ／Ｆ）回路３０ａ、ホストインターフェース（Ｉ／Ｆ）回路３０ｂ、ＣＰＵ（Central Processing Unit）３０ｃ、ＲＯＭ（Read Only Memory）３０ｄ及びＲＡＭ（Random Access Memory）３０ｅ等を備えている。
【００１４】
ＮＡＮＤインターフェース回路３０ａは、ＮＡＮＤバス６０を介してＮＡＮＤ型フラッシュメモリ（リムーバブルメモリ１０及び固定メモリ２０）と接続され、ＮＡＮＤ型フラッシュメモリとの通信を司る。ＮＡＮＤインターフェース回路３０ａは、ＮＡＮＤインターフェースに準拠する命令を発行し、ＮＡＮＤ型フラッシュメモリは、この命令を受信し、そして受信した命令によって制御される。
【００１５】
ＮＡＮＤインターフェース回路３０ａとＮＡＮＤ型フラッシュメモリとの間では、例えば、チップイネーブル信号／ＣＥ、コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、ライトイネーブル信号／ＷＥ、リードイネーブル信号／ＲＥ、ライトプロテクト信号／ＷＰ及びパワーオンセレクト信号ＰＳＬを送受信する。／ＣＥは、ＮＡＮＤ型フラッシュメモリをイネーブルにするための信号である。ＣＬＥは、入力信号がコマンドであることをＮＡＮＤ型フラッシュメモリに通知する信号である。ＡＬＥは、入力信号がアドレス信号であることをＮＡＮＤ型フラッシュメモリに通知する信号である。／ＷＥは、入力信号をＮＡＮＤ型フラッシュメモリに取り込ませるための信号である。／ＲＥは、出力信号をＮＡＮＤ型フラッシュメモリから取り出すための信号である。/ＷＰは、書き込み及び消去からＮＡＮＤ型フラッシュメモリを保護するための信号である。ＰＳＬは、ＮＡＮＤ型フラッシュメモリの初期設定を行う場合に使われる信号である。
【００１６】
ホストインターフェース回路３０ｂは、ホスト装置（図示せず）と接続され、ホスト装置との通信を司る。ホストインターフェース回路３０ｂは、ホスト装置から受信した命令及びデータを、ＣＰＵ３０ｃに転送する。ホストインターフェース回路３０ｂは、ＣＰＵ３０ｃの命令に応答して、ホスト装置へデータを転送する。ホストインターフェース回路３０ｂとしては、例えば、ＳＡＴＡインターフェース等が用いられる。ＳＡＴＡインターフェースとは、Serial Advanced Technology Attachment規格に準拠するインターフェースである。尚、インターフェース規格については、ＳＡＴＡ以外は、ＳＡＳ（Serial Attached SCSI）、ＰＣＩｅ（PCI Express）等でもよい。
【００１７】
ＣＰＵ３０ｃは、コントローラ３０全体の動作を制御する。例えばＣＰＵ３０ｃは、ホスト装置から読み出し命令を受信した際には、これに応答して、ＮＡＮＤインターフェースに基づく読み出し命令を発行する。書き込み及び消去の際も同様である。ＣＰＵ３０ｃは、ウェアレベリング、各ブロックのデータ書き換え回数としてデータ消去回数の管理等、ＮＡＮＤ型フラッシュメモリを管理するための様々な処理を実行する。ＣＰＵ３０ｃは、例えば、データの暗号化処理やランダマイズ処理等の各種の演算を実行する。
【００１８】
ＲＯＭ３０ｄは、ＣＰＵ３０ｃにより制御される制御プログラム等を格納する。ＲＡＭ３０ｅは、ＣＰＵ３０ｃのワークエリアとして使用され、制御プログラム等を一時的に記憶する。ＲＡＭ３０ｅは、論理アドレス管理テーブルを有している。論理アドレス管理テーブルは、論理ブロックアドレスを物理ブロックアドレスに変換する論理アドレス／物理アドレス変換テーブルと、物理ブロックのデータ消去回数とを含んでいる。
【００１９】
以上のような本実施形態の半導体記憶装置１００では、図２及び図３に示すように、固定メモリ２０及びコントローラ３０は、第１の部品４０ａに配置され、リムーバブルメモリ１０は、第２の部品４０ｂに配置されている。このため、固定メモリ２０及びコントローラ３０とリムーバブルメモリ１０とは、異なる部品４０ａ、４０ｂに設けられている。換言すると、リムーバブルメモリ１０は、固定メモリ２０及びコントローラ３０が搭載された回路基板（例えばマザーボード）と異なる回路基板に搭載されている。第２の部品４０ｂのコネクタ５０ｂは、第１の部品４０ａのコネクタ５０ａに差し込む又は取り外すことができ、第２の部品４０ｂは、第１の部品４０ａから着脱可能である。
【００２０】
リムーバブルメモリ１０は、例えば、書き換え耐性（Endurance）が高いメモリで構成され、ｅＭＬＣ（enterprise Multi Level Cell）やＳＬＣ（Single Level Cell）タイプのＮＡＮＤ型フラッシュメモリ等が用いられる。尚、書き換え耐性が高いメモリとは、例えば、データを所定数書き換えた後の読み出しエラー率が低いメモリ等をいう。
【００２１】
固定メモリ２０は、例えば、書き換え耐性が低く、かつ大容量のメモリで構成され、最先端ＴＬＣ（Tree Level Cell）タイプのＮＡＮＤ型フラッシュメモリ等が用いられる。
【００２２】
リムーバブルメモリ１０及び固定メモリ２０内のデータは、コントローラ３０によって、ブロックの書き換え回数（頻度）に応じて振り分けられる。これにより、リムーバブルメモリ１０は、書き換え回数が基準値Ａ以上のブロックのデータを有し、固定メモリ２０は、書き換え回数が基準値Ａより低いブロックのデータを有するようになる。従って、リムーバブルメモリ１０は、固定メモリ２０よりも、書き換え回数が高いデータを有している。
【００２３】
尚、第１の部品４０ａは、固定メモリ２０を有さず、コントローラ３０のみを有してもよい。複数の第２の部品４０ｂが、第１の部品４０ａに挿し込まれてもよい。
【００２４】
［２］コントローラ３０
図４を用いて、一実施形態に係るコントローラ３０について説明する。尚、コントローラ３０は、リムーバブルメモリ１０及び固定メモリ２０のメモリセルへのデータ入出力を管理する独立したＩＣチップであり、メモリセルの周辺に配置される周辺回路とは異なる。
【００２５】
図４に示すように、コントローラ３０は、ＣＰＵ３０ｃを用いて、モニタリング部３１、比較部３２、データ転送部３３及び警告部３４を備えたプログラムを実行するように構成されている。このプログラムは、例えば、ＲＯＭ３０ｄ又はＲＡＭ３０ｅに格納されている。
【００２６】
モニタリング部３１は、リムーバブルメモリ１０内のデータの書き換え回数のモニタリング、リムーバブルメモリ１０内の不良ブロック数のモニタリングを行う。尚、モニタリング部３１は、固定メモリ２０内のデータの書き換え回数のモニタリングを行うことも可能である。また、不揮発性半導体メモリがＮＡＮＤ型フラッシュメモリの場合、データの書き換え回数は、例えば、ブロック毎の消去回数と考えてもよい。
【００２７】
比較部３２は、データの書き換え回数に対する基準値Ａと不良ブロック数に対する基準値Ｂを有している。比較部３２は、データの書き換え回数と基準値Ａとを比較し、不良ブロック数と基準値Ｂとを比較する。基準値Ａ及びＢは、例えば、ＲＯＭ３０ｄ又はＲＡＭ３０ｅに格納されている。尚、基準値Ａ及びＢは、コントローラ３０内で制御情報をもとに生成してもよいし、コントローラ３０の外部から入力することも可能である。
【００２８】
データ転送部３３は、データの書き換え回数と基準値Ａの比較結果に応じて、リムーバブルメモリ１０及び固定メモリ２０間のデータ移動を制御する。具体的には、データ転送部３３は、書き換え回数の高いデータを書き換え耐性が高いリムーバブルメモリ１０に移動させ、書き換え回数の低いデータを書き換え耐性が低い固定メモリ２０に移動させる。データ転送部３３のデータ移動は、例えば、ＮＡＮＤインターフェース回路３０ａにより行われる。
【００２９】
警告部３４は、不良ブロック数と基準値Ｂの比較結果に応じて、警告を発する。具体的には、警告部３４は、不良ブロック数が基準値Ｂ以上になる場合、アラーム等で警告を行う。
【００３０】
コントローラ３０は、上述する機能に限定されず、リムーバブルメモリ１０及び固定メモリ２０に対して、ガベージコレクションやウェアレベリングを適宜行う。
【００３１】
リムーバブルメモリ１０及び固定メモリ２０のＮＡＮＤ型フラッシュメモリにおけるデータの書き換えでは、メモリセルへの上書きができないため、空いたセルに書き込み、元のセルは無効とする。また、消去は、ブロック単位でしかできないため、無効となったセルが虫食い状にブロック内に増える。このような場合に、そのブロック内の必要なデータを別のブロックに整理した上でコピーし、元のブロックをまとめて消去（フラッシュ）する。このように、コントローラ３０によって、ガベージコレクションが行われる。
【００３２】
ウェアレベリングは、リムーバブルメモリ１０及び固定メモリ２０の各ユニット内で適宜実行され、書き換え回数が高いセルから書き換え回数が低いセルへデータを移動させて、各ユニット内で全てのセルの書き換え回数を均一化させる。
【００３３】
尚、コントローラ３０は、上述するモニタリング部３１、比較部３２、データ転送部３３及び警告部３４についての特定の機能を有する専用ハードウェア回路を備えるように構成されてもよい。
【００３４】
［３］動作
図５に示すように、一実施形態では、書き換え回数の高いデータは書き換え耐性が高い領域（リムーバブルメモリ１０）に移動させ、書き換え回数の低いデータは書き換え耐性が低い領域（固定メモリ２０）に移動させる。
【００３５】
［３−１］書き込み動作の第１の例
図６を用いて、書き込み動作の第１の例について説明する。この第１の例では、データ書き込みの際、はじめに全てのデータをリムーバブルメモリ１０側に書き込み、書き換え回数の低いデータを固定メモリ２０に移動させる。
【００３６】
まず、コントローラ３０は、リムーバブルメモリ１０におけるデータの書き換え回数を例えばファイル単位でモニタリングする（ＳＴ１）。
【００３７】
次に、コントローラ３０は、データの書き換え回数と基準値Ａを比較する（ＳＴ２）。その結果、コントローラ３０は、次の処理を行う。
【００３８】
データの書き換え回数が基準値Ａより低い場合（書き換え回数＜基準値Ａ）、そのデータは固定メモリ２０に移動させる（ＳＴ３）。一方、データの書き換え回数が基準値Ａ以上の高い場合（書き換え回数≧基準値Ａ）、そのデータはそのままリムーバブルメモリ１０に残す（ＳＴ４）。
【００３９】
次に、コントローラ３０は、リムーバブルメモリ１０及び固定メモリ２０に対し、必要に応じて、ガベージコレクションを行う（ＳＴ５）。
【００４０】
次に、コントローラ３０は、リムーバブルメモリ１０内の不良ブロック数をモニタリングする（ＳＴ６）。
【００４１】
次に、コントローラ３０は、不良ブロック数と基準値Ｂを比較する（ＳＴ７）。その結果、コントローラ３０は、次の処理を行う。
【００４２】
不良ブロック数が基準値Ｂに達した場合（不良ブロック数≧基準値Ｂ）、アラーム等で基準値オーバーの警告を行う（ＳＴ８）。その後、再度、書き換え回数のモニタリングが行われ、ステップＳＴ１から再度繰り返される（ＳＴ９）。一方、不良ブロック数が基準値Ｂより低い場合（不良ブロック数＜基準値Ｂ）も、再びステップＳＴ１に戻り、書き換え回数のモニタリングから再度繰り返される（ＳＴ１０）。
【００４３】
尚、基準値Ａは、必ずしも常に一定である必要はなく、変更することが可能である。例えば、データを移動させた結果、固定メモリ２０の空き容量が例えば全体容量の１／５以下に小さくなった場合は、基準値Ａを例えば２０％下げる。これにより、リムーバブルメモリ１０から固定メモリ２０へのデータの移動量を増大させることができる。その結果、固定メモリ２０の空き容量を増大でき、システムの動作を安定化させることができる。また、その逆の動作も可能である。リムーバブルメモリ１０及び固定メモリ２０の空き容量の変化、基準値Ａの増減は、コントローラ３０の管理及び制御によって行われる。
【００４４】
［３−２］書き込み動作の第２の例
図７を用いて、書き込み動作の第２の例について説明する。この第２の例では、データ書き込みの際、リムーバブルメモリ１０と固定メモリ２０のいずれかにデータを書き込み、書き換え回数の高いデータはリムーバブルメモリ１０に移動させ、書き換え回数の低いデータは固定メモリ２０に移動させる。
【００４５】
まず、コントローラ３０は、リムーバブルメモリ１０及び固定メモリ２０の両方におけるデータの書き換え回数を例えばファイル単位でモニタリングする（ＳＴ１’）。
【００４６】
次に、コントローラ３０は、データの書き換え回数と基準値Ａを比較する（ＳＴ２）。その結果、コントローラ３０は、次の処理を行う。
【００４７】
データの書き換え回数が基準値Ａより低い場合（書き換え回数＜基準値Ａ）、リムーバブルメモリ１０のデータは固定メモリ２０に移動させ、固定メモリ２０のデータは移動させずに固定メモリ２０に残す（ＳＴ３’）。一方、データの書き換え回数が基準値Ａ以上の高い場合（書き換え回数≧基準値Ａ）、リムーバブルメモリ１０のデータは移動させずにそのままリムーバブルメモリ１０に残し、固定メモリ２０のデータはリムーバブルメモリ１０に移動させる（ＳＴ４’）。
【００４８】
その後は、図６の第１の例と同じステップＳＴ５〜ＳＴ１０を行う。
【００４９】
［３−３］リムーバブルメモリ１０の交換
図８を用いて、リムーバブルメモリ１０の交換モードについて説明する。この交換対象は、図６及び図７のステップＳＴ８において、不良ブロック数が基準値Ｂ以上であると警告を受けたリムーバブルメモリ１０である。
【００５０】
まず、コントローラ３０は、交換対象のリムーバブルメモリ１０内のデータを再構築（Re-build）する（ＳＴ１１）。
【００５１】
次に、コントローラ３０は、交換対象のリムーバブルメモリ１０内のデータを、固定メモリ２０又は基準値オーバーの警告を受けていない交換対象外のリムーバブルメモリ１０へ移動させる（ＳＴ１２）。
【００５２】
その後、例えばユーザが、交換対象のリムーバブルメモリ１０を有する第２の部品４０ｂを第１の部品４０ａから着脱し、新しいリムーバブルメモリ１０を有する部品に交換する（ＳＴ１３）。その後、再スタートを行う。
【００５３】
尚、交換モードは、あるマージンを持った基準値Ｂを設けておいて、警告を受けた場合、システム（ユーザ）が人間の判断で半導体記憶装置１００に交換モードのコマンドを出すことで開始されてもよい。また、マージンを持たずに基準値Ｂを設けておいて、基準値オーバーの警告を受けた一定時間経過後に、自動で交換モードが開始されてもよい。
【００５４】
また、ステップＳＴ１１のデータの再構築は、図６及び図７のステップＳＴ８において、不良ブロック数が基準値Ｂ以上である場合に、警告を発する前に行われてもよい。
【００５５】
また、ユーザが新しい部品４０ｂに交換した後は、次のような処理が行われる。新しい第２の部品４０ｂを第１の部品４０ａに挿し込むと、新しい第２の部品４０ｂ内のリムーバブルメモリ１０に対して、コントローラ３０によって、初期化（イニシャライズ）として、物理フォーマット及び論理フォーマットが行われる。その後、コントローラ３０は、一時的に転送されたデータを、固定メモリ２０又は交換対象外のリムーバブルメモリ１０から新しい第２の部品４０ｂ内のリムーバブルメモリ１０へ移動させる。
【００５６】
［４］ＮＡＮＤバス６０
図９及び図１０を用いて、コントローラ３０とリムーバブルメモリ１０及び固定メモリ２０とを接続するＮＡＮＤバス６０について説明する。
【００５７】
ＮＡＮＤバス６０は、コントローラ３０とＮＡＮＤ型フラッシュメモリ（リムーバブルメモリ１０及び固定メモリ２０）との間で、入出力信号（Ｉ／Ｏ１〜８又はＩ／Ｏ１〜１６）、コマンド信号（／ＣＥ、ＣＬＥ、ＡＬＥ、／ＷＥ、／ＲＥ、／ＷＰ及びＰＳＬ）、レディー／ビジー信号（ＲＹ／ＢＹ）等のやりとりに用いられる。ここでは、ＮＡＮＤバス６０の中の入出力信号用の配線に着目する。
【００５８】
図９に示すように、コントローラ３０と固定メモリ２０及びリムーバブルメモリ１０との入出力信号用の接続は、パラレル配線（パラレルバス）で行われてもよい。具体的には、コントローラ３０と固定メモリ２０とはパラレル配線６０ａを用いて接続され、コントローラ３０とコネクタ５０ａとはパラレル配線６０ｂを用いて接続され、コネクタ５０ｂとリムーバブルメモリ１０とは、パラレル配線６０ｃを用いて接続される。本図では、入出力信号がＩ／Ｏ１〜１６の場合、１６本の配線が用いられている。
【００５９】
図１０に示すように、コントローラ３０と固定メモリ２０及びリムーバブルメモリ１０との入出力信号用の接続は、シリアル配線（シリアルバス）で行われてもよい。シリアル配線としては、例えば、差動シリアル配線が用いられる。具体的には、コントローラ３０と固定メモリ２０とはシリアル配線７０ａを用いて接続され、コントローラ３０とコネクタ５０ａとはシリアル配線７０ｂを用いて接続され、コネクタ５０ｂとリムーバブルメモリ１０とは、シリアル配線７０ｃを用いて接続される。図１０に示すように、入出力信号Ｉ／Ｏ１〜１６を差動シリアル化した場合、２本の配線が用いられ、Ｉ／Ｏ１〜１６用の信号ピンも２つとなる。
【００６０】
このようにシリアル配線を用いた場合、信号ピン及び配線本数を削減できるため、コネクタあたりに接続できるメモリの大容量化が可能となる。また、信号ピン及び配線本数を削減できるため、コネクタ部分を縮小することも可能である。
【００６１】
このような半導体記憶装置１００では、リムーバブルメモリ１０及び固定メモリ２０は、複数のメモリパッケージから構成されており、１パッケージあたりＮ本の配線がコントローラ３０に接続される。このため、Ｍ個のパッケージがある場合、トータルＮ×Ｍ本の配線で、コントローラ３０とリムーバブルメモリ１０及び固定メモリ２０との間が接続される。
【００６２】
尚、コントローラ３０とリムーバブルメモリ１０との接続は、コントローラ３０と固定メモリ２０との接続と異なる配線にしてもよい。例えば、コントローラ３０と固定メモリ２０との接続をパラレル配線にし、コントローラ３０とリムーバブルメモリ１０との接続を差動シリアル配線にすることも可能である。
【００６３】
また、図１０の半導体記憶装置１００では、第１の部品４０ａ内のコントローラ３０及び固定メモリ２０が搭載された回路基板Ａは、第２の部品４０ｂ内のリムーバブルメモリ１０が搭載された回路基板Ｂと異なる。そして、回路基板Ａと回路基板Ｂとは、コネクタ５０ａ、５０ｂで接続されている。
【００６４】
ここで、コントローラ３０とリムーバブルメモリ１０との間の配線構成（通信方式）は、コントローラ３０と固定メモリ２０との間の配線構成（通信方式）と同じである。例えば、両者の配線構成は、２本の導体配線からなる差動シリアル配線であり、信号チャネル（伝送路）の数が等しい。両者の通信方式は、ＮＡＮＤインターフェース規格に準拠した通信方式である。これにより、コントローラ３０側のメモリインターフェイスの仕様を統一することが可能になる。
【００６５】
リムーバブルメモリ１０及び固定メモリ２０の信号チャネル数は、回路基板Ａ及び回路基板Ｂのパッケージ実装密度及び配線収容能力によって決定される。アプリケーションに応じて、これらのバランスを調整することにより、全ての不揮発性メモリの容量と全転送帯域の最適化を図ることが可能となる。
【００６６】
［５］メモリシステム
［５−１］構成例１
図１１を用いて、メモリシステム２００の構成例１について説明する。
【００６７】
図１１に示すように、メモリシステム２００は、半導体記憶装置（情報蓄積装置）１００と情報処理装置（ホスト装置）９０とを備えている。
【００６８】
半導体記憶装置１００は、例えば、ＳＳＤである。半導体記憶装置１００は、上述するように、リムーバブルメモリ１０、固定メモリ２０及びコントローラ３０を含んでいる。リムーバブルメモリ１０を有する第２の部品４０ｂは、固定メモリ２０及びコントローラ３０を有する第１の部品４０ａから着脱可能である。
【００６９】
半導体記憶装置１００は、情報処理装置９０の内部に実装された状態として使用してもよいし、情報処理装置９０が備えるインターフェースに接続した状態で、追加デバイスとして使用してもよい。
【００７０】
情報処理装置９０は、半導体記憶装置１００と通信を行う装置であり、半導体記憶装置１００に対してデータの書き込み、読み出し及び消去命令等を行う。情報処理装置９０は、例えば、サーバ、ルータ、パーソナルコンピュータ等である。情報処理装置９０は、ブリッジチップ９１、ＣＰＵ（Central Processing Unit）９２及びメインメモリ９３を含んでいる。
【００７１】
ブリッジチップ９１は、半導体記憶装置１００と情報処理装置９０との間のデータの送受信の制御を行う。ＣＰＵ９２は、情報処理装置９０における種々の演算及び制御を行い、例えば、ＯＳ（オペレーティングシステム）やユーザプログラムを実行する。メインメモリ９３は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）で構成され、プログラムやデータを一時的に記憶し、ＣＰＵ９２のワークエリアとして機能する。
【００７２】
［５−２］構成例２
図１２を用いて、メモリシステム２００の構成例２について説明する。
【００７３】
図１２に示すように、構成例２において、構成例１と異なる点は、コントローラ３０を情報処理装置９０側に設けている点である。従って、リムーバブルメモリ１０を有する部品４０ｂは、情報処理装置９０にコネクタ（図示せず）で着脱可能となっている。
【００７４】
尚、情報処理装置９０は、上述するコントローラ３０により制御される固定メモリ２０を有してもよい。
【００７５】
［６］実施形態の効果
ＮＡＮＤ型フラッシュメモリは、書き換え回数に制限がある。一方、データセンタ等で用いられるエンタープライズＳＳＤでは、アプリケーションによっては、高い書き換え回数が要求される。また、データセンタの顧客では、５年程度の使用期間保証が要求される。このため、ＳＳＤでは、余分な容量を搭載し、かつウェアレベリングによりブロックの書き換え回数を均等化することで、要求寿命を確保してきた。しかし、近年のフラッシュメモリセルの微細化に伴い、セルの書き換え耐性が低下している。
【００７６】
そこで、上述した実施形態では、ＮＡＮＤ型フラッシュメモリのリムーバブルメモリ１０を有する部品４０ｂを半導体記憶装置１００（部品４０ｂ）から着脱可能とし、この部品４０ｂだけを半導体記憶装置１００から容易に交換できるようにする。これにより、半導体記憶装置１００に余分な容量を搭載する必要がないため、コストを削減することができる。また、半導体記憶装置１００については、リムーバブルメモリ１０を有する部品４０ｂだけを交換することで、寿命を延ばすことができる。
【００７７】
尚、上記実施形態では、不揮発性半導体メモリとして、ＮＡＮＤ型フラッシュメモリを例に挙げたが、例えば、ＲｅＲＡＭ（Resistive Random Access Memory）、ＰＣＲＡＭ（Phase Change Random Access Memory）、ＭＲＡＭ（Magnetic Random Access Memory）等に適用することも可能である。この場合、リムーバブルメモリ１０と固定メモリ２０は、同じ種類の不揮発性半導体メモリを用いてもよいし、異なる種類の不揮発性半導体メモリを用いてもよい。例えば、リムーバブルメモリ１０としては、ＲｅＲＡＭ等が用いられ、固定メモリ２０としては、例えば、ＮＡＮＤ型フラッシュメモリ等が用いられてもよい。
【００７８】
尚、本発明の実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７９】
１０…リムーバブルメモリ、１０ａ、２０ａ、３０ａ…ＮＡＮＤインターフェース（Ｉ／Ｆ）回路、２０…固定メモリ、３０…コントローラ、３０ｂ…ホストインターフェース（Ｉ／Ｆ）回路、３０ｃ…ＣＰＵ、３０ｄ…ＲＯＭ、３０ｅ…ＲＡＭ、３１…モニタリング部、３２…比較部、３３…データ転送部、３４…警告部、４０ａ…第１の部品、４０ｂ…第２の部品、５０ａ、５０ｂ…コネクタ、６０…ＮＡＮＤバス、６０ａ、６０ｂ、６０ｃ…パラレル配線、７０ａ、７０ｂ、７０ｃ…シリアル配線、９０…情報処理装置、９１…ブリッジチップ、９２…ＣＰＵ、９３…メインメモリ、１００…半導体記憶装置、２００…メモリシステム。
【図１】
0006313245.tif 000002
【図２】
0006313245.tif 000003
【図３】
0006313245.tif 000004
【図４】
0006313245.tif 000005
【図５】
0006313245.tif 000006
【図６】
0006313245.tif 000007
【図７】
0006313245.tif 000008
【図８】
0006313245.tif 000009
【図９】
0006313245.tif 000010
【図１０】
0006313245.tif 000011
【図１１】
0006313245.tif 000012
【図１２】
0006313245.tif 000013