Warning: fopen(data/log202007151747.log): failed to open stream: No space left on device in /home/jp321/public_html/header.php on line 106

Warning: flock() expects parameter 1 to be resource, boolean given in /home/jp321/public_html/header.php on line 107

Warning: fclose() expects parameter 1 to be resource, boolean given in /home/jp321/public_html/header.php on line 112
記憶装置 - 株式会社日立コミュニケーションテクノロジー
米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 株式会社日立コミュニケーションテクノロジー

発明の名称 記憶装置
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2003−30045(P2003−30045A)
公開日 平成15年1月31日(2003.1.31)
出願番号 特願2001−215755(P2001−215755)
出願日 平成13年7月16日(2001.7.16)
代理人 【識別番号】100084032
【弁理士】
【氏名又は名称】三品 岩男 (外1名)
【テーマコード(参考)】
5B018
5B060
【Fターム(参考)】
5B018 GA01 GA06 HA01 KA14 KA17 NA06 QA15 
5B060 AB17 CA15
発明者 田崎 和人 / 渡辺 芳美
要約 課題
より高速にデータの書き込み処理を行なうことのできる不揮発性半導体メモリを用いた記憶装置を提供する。

解決手段
主制御部1は、フラッシュメモリ2〜2のうちの少なくとも2つに対し連続して消去命令を発行する場合、メモリIF部3を介して、命令発行先のフラッシュメモリ2へのセレクト信号線74を選択状態に遷移させて、消去命令をバス73より送出する。消去命令の送出が完了したならば、レディ/ビジィ信号線75がビジィ状態からレディ状態へ遷移するのを待つことなく、フラッシュメモリ2へのセレクト信号線74を選択状態から非選択状態に戻す。そして、直ちに、次の命令発行先のフラッシュメモリ2x+1へのセレクト信号線74を選択状態に遷移させ、消去命令をバス73より送出する。
特許請求の範囲
【請求項1】複数の電気的に書き換え可能な不揮発性半導体メモリと、前記複数の不揮発性半導体メモリとのインターフェースをとるメモリインターフェース部と、主制御部と、を備えた記憶装置であって、前記メモリインターフェース部は、少なくとも、前記複数の不揮発性半導体メモリに共通のメモリバスと、前記複数の不揮発性半導体メモリ毎に設けられたセレクト信号線とを介して、前記複数の不揮発性半導体メモリに接続されており、前記主制御部は、前記複数の不揮発性半導体メモリのうちの少なくとも2つに対し連続して消去命令を発行する場合、前記メモリインターフェース部を介して、命令発行先の前記不揮発性半導体メモリへの前記セレクト信号線を選択状態として、消去命令を前記メモリバスより送出し、前記消去命令の送出が完了したならば、前記命令発行先の前記不揮発性半導体メモリでの消去処理が完了するのを待つことなく、前記命令発行先の前記不揮発性半導体メモリへの前記セレクト信号線を選択状態から非選択状態に戻し、次の命令発行先の前記不揮発性半導体メモリへの前記セレクト信号線を選択状態として、消去命令を前記メモリバスより送出することを特徴とする記憶装置。
【請求項2】請求項1記載の記憶装置であって、外部装置とのインターフェースをとる外部装置インターフェース部と、前記外部装置インターフェース部を介して前記外部装置より送られてきたデータを一時格納するためのバッファと、前記主制御部よりの指示に従い、前記外部装置インターフェース部を介して、前記外部装置よりのデータを前記バッファに格納し、それから、前記メモリインターフェース部を介して、前記バッファに格納したデータを前記不揮発性半導体メモリに転送するメモリアクセスコントローラと、をさらに有し、前記主制御部は、前記複数の不揮発性半導体メモリのうちの少なくとも2つに対して前記外部装置よりのデータを書き込む場合、前記メモリインターフェース部を介して、前記少なくとも2つの不揮発性半導体メモリに対し連続して消去命令を発行すると共に、前記少なくとも2つの前記不揮発性半導体メモリでの消去処理が完了するのを待つことなく、前記メモリアクセスコントローラに、前記外部装置よりのデータを前記バッファに格納させる処理を開始させることを特徴とする記憶装置。
【請求項3】主制御部と、少なくとも1つの電気的に書き換え可能な不揮発性半導体メモリと、前記複数の不揮発性半導体メモリとのインターフェースをとるメモリインターフェース部と、外部装置とのインターフェースをとる外部装置インターフェース部と、前記主制御部よりの指示に従い、前記外部装置インターフェース部および前記メモリインターフェース部と協調して、前記外部装置よりのデータを前記不揮発性半導体メモリに転送するメモリアクセスコントローラと、を備えた記憶装置であって、前記外部装置インターフェース部を介して前記外部装置より送られてきたデータを一時格納するための第1のバッファと、前記メモリインターフェース部を介して前記不揮発性半導体メモリより送られてきたデータを一時格納するための第2のバッファと、をさらに有し、前記メモリアクセスコントローラは、前記主制御部よりの指示に従い、前記外部装置よりのデータを前記第1のバッファに格納し、当該データを前記第1のバッファから読み出して前記不揮発性半導体メモリに転送すると共に、前記不揮発性半導体メモリから読み出された、前記不揮発性半導体メモリに転送したデータを、前記第2のバッファに格納し、前記第2のバッファに格納したデータと、前記第1のバッファに格納されている、前記不揮発性半導体メモリに転送したデータとを比較して、前記不揮発性半導体メモリへの書き込みエラーを検出することを特徴とする記憶装置。
【請求項4】請求項3記載の記憶装置であって、前記主制御部は、前記メモリアクセスコントローラによって前記不揮発性半導体メモリへの書き込みエラーが検出された場合、前記第1のバッファに格納されているデータが書き込まれた前記不揮発性半導体メモリのセクタを、欠陥セクタとして管理すると共に、前記メモリアクセスコントローラに、前記第1のバッファに格納されているデータを前記不揮発性半導体メモリに再度転送させて、前記不揮発性半導体メモリに予め用意しておいた代替セクタへ書き込むことを特徴とする記憶装置。
発明の詳細な説明
【0001】
【発明の属する技術分野】本発明は、不揮発性半導体メモリを用いた記憶装置に関し、特に、交換機システムの外部記憶装置として好適な記憶装置に関する。
【0002】
【従来の技術】局データや交換機システムのシステムファイルなどを記憶する、交換機システムの外部記憶装置として、ハードディスク装置が使われることが多い。しかし、ハードディスク装置は、駆動系などのメカ部品を多用して構成されており、高信頼性が要求される交換機システムの外部記憶装置として使用するためには、定期的なメンテナンスや交換が必要であった。
【0003】
【発明が解決しようとする課題】ところで、不揮発性半導体メモリは、ハードディスク装置に比べメカ部品が少なく、故障等も少ない。また、不揮発性半導体メモリには、セクタの書き換え回数に制限があるが、セクタの書き換え回数を平均化することにより不揮発性半導体メモリの寿命を延命させる技術も提案されている。このため、メンテナンスの負担を軽減すべく、不揮発性半導体メモリを利用した記憶装置を交換機システムの外部記憶装置として用いることも考えられる。
【0004】しかし、不揮発性半導体メモリへのデータ書き込みには、そのデータ書き込み対象セクタに記憶されているデータを一旦消去してから、データを書き込む必要がある。そして、複数の不揮発性半導体メモリを共通のメモリバスで接続して記憶装置を構成した場合において、データ書き込み対象セクタが複数の不揮発性半導体メモリにわたる場合、従来は、上記の消去処理を、ある不揮発性半導体メモリに対する消去処理が完了してから、次の不揮発性半導体メモリに対する消去処理を開始するといったように、前記複数の不揮発性半導体メモリに対して順番に行なっている。このため、データ書き込み処理に要する処理時間が長くなってしまう。
【0005】また、不揮発性半導体メモリでは、データ書き込み処理後に、不揮発性半導体メモリのステータスを確認することで、データ書き込み対象セクタの欠陥の有無をチェックしている。しかし、このステータス確認では、書き込んだデータ中のビット「1」の不揮発性半導体メモリでの書き込み位置をチェックすることで、データ書き込み対象セクタの欠陥の有無をチェックしている。ビット「0」の不揮発性半導体メモリでの書き込み位置についてはチェックされない。これでは、不揮発性半導体メモリの故障モードの1つであるビット干渉により、不揮発性半導体メモリに書き込むべきビット「1」がビット「0」として書き込まれてしまう現象(いわゆるビット化け)を検出できない。
【0006】本発明は、上記事情に鑑みてなされたものであり、本発明の目的の1つは、より高速にデータの書き込み処理を行なうことのできる不揮発性半導体メモリを用いた記憶装置を提供することにある。また、本発明の目的の他の1つは、より確実にデータの書き込みエラーを検出できる不揮発性半導体メモリを用いた記憶装置を提供することにある。
【0007】
【課題を解決するための手段】上記課題を解決するために、本発明の記憶装置は、複数の電気的に書き換え可能な不揮発性半導体メモリと、前記複数の不揮発性半導体メモリとのインターフェースをとるメモリインターフェース部と、主制御部と、を備える。
【0008】そして、前記メモリインターフェース部は、少なくとも、前記複数の不揮発性半導体メモリに共通のメモリバスと、前記複数の不揮発性半導体メモリ毎に設けられたセレクト信号線とを介して、前記複数の不揮発性半導体メモリに接続されている。また、前記主制御部は、前記複数の不揮発性半導体メモリのうちの少なくとも2つに対し連続して消去命令を発行する場合、前記メモリインターフェース部を介して、命令発行先の前記不揮発性半導体メモリへの前記セレクト信号線を選択状態として、消去命令を前記メモリバスより送出し、前記消去命令の送出が完了したならば、前記命令発行先の前記不揮発性半導体メモリでの消去処理が完了するのを待つことなく、前記命令発行先の前記不揮発性半導体メモリへの前記セレクト信号線を選択状態から非選択状態に戻して、次の命令発行先の前記不揮発性半導体メモリへの前記セレクト信号線を選択状態として、消去命令を前記メモリバスより送出する。
【0009】このように構成すれば、ある不揮発性半導体メモリに対する消去処理が完了するのを待つことなく、次の不揮発性半導体メモリに対する消去処理を開始するので、複数の不揮発性半導体メモリに対する消去処理を従来に比べて高速化できる。したがって、より高速にデータの書き込み処理を行なうことが可能となる。
【0010】また、上記課題を解決するために、本発明の記憶装置は、主制御部と、少なくとも1つの電気的に書き換え可能な不揮発性半導体メモリと、前記複数の不揮発性半導体メモリとのインターフェースをとるメモリインターフェース部と、外部装置とのインターフェースをとる外部装置インターフェース部と、前記主制御部よりの指示に従い、前記外部装置インターフェース部および前記メモリインターフェース部と協調して、前記外部装置よりのデータを前記不揮発性半導体メモリに転送するメモリアクセスコントローラと、前記外部装置インターフェース部を介して前記外部装置より送られてきたデータを一時格納するための第1のバッファと、前記メモリインターフェース部を介して前記不揮発性半導体メモリより送られてきたデータを一時格納するための第2のバッファと、を備える。
【0011】そして、前記メモリアクセスコントローラは、前記主制御部よりの指示に従い、前記外部装置よりのデータを前記第1のバッファに格納し、当該データを前記第1のバッファから読み出して前記不揮発性半導体メモリに転送すると共に、前記主制御部によって前記不揮発性半導体メモリから読み出された、前記不揮発性半導体メモリに転送したデータを、前記第2のバッファに格納し、前記第2のバッファに格納したデータと、前記第1のバッファに格納されている、前記不揮発性半導体メモリに転送したデータとを比較して、前記不揮発性半導体メモリへの書き込みエラーを検出する。
【0012】このように構成すれば、データが前記不揮発性半導体メモリに正しく書き込まれたか否かをより正確に確認することができる。
【0013】なお、上記構成の記憶装置において、前記主制御部は、前記メモリアクセスコントローラによって前記不揮発性半導体メモリへの書き込みエラーが検出された場合、前記第1のバッファに格納されているデータを記憶した前記不揮発性半導体メモリのセクタを、欠陥セクタとして管理するとよい。そして、前記メモリアクセスコントローラに、前記第1のバッファに格納されているデータを前記不揮発性半導体メモリに再度転送させて、前記不揮発性半導体メモリに予め用意しておいた代替セクタへ書き込むとよい。
【0014】
【発明の実施の形態】以下、本発明の実施の形態について説明する。
【0015】図1は、本発明の一実施形態が適用された記憶装置の概略構成図である。
【0016】図示するように、本実施形態の記憶装置は、複数のフラッシュメモリ2〜2と、複数のフラッシュメモリ2〜2とのインターフェースをとるメモリIF部3と、交換機システムの制御装置などの外部装置とのインターフェースをとる外部装置IF部4と、第1バッファ61と、第2バッファ62と、メモリアクセスコントローラ5と、上記の各装置を統括的に制御する主制御部1とを備える。
【0017】メモリIF部3は、フラッシュメモリ2〜2に共通のバス73と、フラッシュメモリ2〜2毎に設けられたセレクト信号線74と、フラッシュメモリ2〜2に共通のレディ/ビジィ信号線75とを介して、フラッシュメモリ2〜2に接続されている。バス73は、フラッシュメモリ2〜2へ読み書きすべきデータの転送、および、消去命令や書き込み命令や読み出し命令などのフラッシュメモリ2〜2に対する各種命令の転送のために使用される。セレクト信号線74は、バス73を利用可能とするフラッシュメモリ2〜2を選択するために使用される。そして、レディ/ビジィ信号線75は、フラッシュメモリ2〜2の動作状態(レディかビジィか)を伝えるために使用される。
【0018】ここで、各フラッシュメモリ2〜2のレディ/ビジィ信号出力端子は、オープンコレクタとなっており、各フラッシュメモリ2〜2のいずれか1つでも、ビジィ(レディ/ビジィ信号出力端子が短絡状態すなわちロー出力)であれば、メモリIF部3にはビジィ状態が伝えられるように構成されている。なお、各フラッシュメモリ2〜2のレディ/ビジィ信号出力端子をオープンコレクタで構成する代わりに、レディ/ビジィ信号線75をワイアードオアで構成し、各フラッシュメモリ2〜2のいずれか1つでもビジィであれば、メモリIF部3にビジィ状態が伝えられるようにしてもよい。
【0019】メモリIF部3、外部装置IF部4、第1バッファ61、第2バッファ62およびメモリアクセスコントローラ5は、バス71を介して相互接続されている。ここで、第1バッファ61および第2バッファ62は、同じメモリを用いて構成されたものであってもよい。
【0020】メモリアクセスコントローラ5は、主制御部1よりの指示に従い、外部装置IF部4およびメモリIF部3と協調して、外部装置およびフラッシュメモリ2〜2間のデータ転送を行なう。
【0021】具体的には、フラッシュメモリ2〜2に記憶されたデータを外部装置へ転送する場合、つまり、読み出し処理の場合、まず、フラッシュメモリ2〜2から読み出されたデータを、メモリIF部3を介して、第1バッファ61に格納する。そして、第1バッファ61へのデータ格納が完了したならば、第1バッファ61からデータを読み出し、これを外部装置IF部4を介して、外部装置へ送信する。
【0022】また、外部装置よりのデータをフラッシュメモリ2〜2へ転送する場合、つまり、書き込み処理の場合、まず、外部装置よりのデータを、外部装置IF部4を介して、第1バッファ61に格納する。そして、第1バッファ61へのデータ格納が完了したならば、第1バッファ61からデータを読み出し、これをメモリIF部4を介してフラッシュメモリ2〜2へ転送する。これにより、データがフラッシュメモリ2〜2に書き込まれる。
【0023】さらに、本実施形態のメモリアクセスコントローラ5は、上記の書き込み処理後、主制御部1よりの指示に従い、フラッシュメモリ2〜2から読み出された、上記の書き込み処理でフラッシュメモリ2〜2に書き込まれたデータを、メモリIF部3を介して、第2バッファ62に格納する。そして、第2バッファ62へのデータ格納が完了したならば、第1バッファ61に格納されているフラッシュメモリ2〜2へ転送したデータと、第2バッファ62に格納したデータとを読み出して、両者を比較することにより、フラッシュメモリ2〜2へデータが適正に書き込まれたか否かを確認する。もし、適正に書き込まれていない場合は、その旨を主制御部1に通知する。
【0024】主制御部1は、CPU11と、CPU11が実行すべき各種プログラムやデータを保持するROM12と、CPU11のワークエリアとして機能するRAM14と、を備えて構成されている。ここで、CPU11、ROM12、RAM13、メモリIF部3、外部装置IF部4およびメモリアクセスコントローラ5は、バス72を介して相互接続されている。
【0025】なお、本実施形態において、メモリアクセスコントローラ5、外部装置IF部4およびメモリIF部3は、DMA(Direct Memory Access)機能を有するものとする。ここで、メモリアクセスコントローラ5、外部装置IF部4およびメモリIF部3は、ASIC(Application Specific Integrated Circuits)、FPGA(Field Programmable Gate Array)などの集積ロジックICによりハード的に実現されるものでもよいし、あるいは、DSP(Digital Signal Processor)などの計算機によりソフトウエア的に実現されるものでもよい。
【0026】次に、フラッシュメモリ2〜2の記憶領域の構造と、主制御部1が管理するフラッシュメモリ2〜2の記憶領域のアドレスとについて説明する。
【0027】図2は、フラッシュメモリ2〜2の記憶領域の構造例を示す図である。
【0028】図示するように、各フラッシュメモリ2〜2の記憶領域は、複数のセクタ20で構成される。セクタ20は、フラッシュメモリに対する消去、書き込みおよび読み出しの単位となる領域である。一般に、データを格納するためのユーザデータ領域と、このデータに付与した誤り訂正符号(ECC)を格納するためのECC領域とで構成される。このような複数のセクタ20で構成される記憶領域には、外部装置がデータの記憶のために利用できる領域であるユーザ領域21と、ユーザ領域21内に発生した欠陥セクタの代替セクタとして使用するための代替領域22と、ユーザ領域21内に発生した欠陥セクタと、当該欠陥セクタのために代替領域22内に用意した代替セクタとの対応関係を管理するための管理領域23と、が設けられている。本実施形態では、フラッシュメモリ2〜2の全てについて、ユーザ領域21、代替領域22および管理領域23のセクタ20への割り当てを同じにしている。
【0029】図3は、ユーザ領域21に発生した欠陥セクタと、この欠陥セクタを管理するために管理領域23に記憶されるデータと、この欠陥セクタの代替のために代替領域22に用意される代替セクタとの関係を説明するための図である。
【0030】図示するように、管理領域23には、ユーザ領域21内に発生した欠陥セクタ各々のセクタドレスが、欠陥セクタの発生順番に従って登録されている。また、代替領域22には、ユーザ領域21内に発生した欠陥セクタ各々の代替セクタが、管理領域23での欠陥セクタアドレスの登録順番に従って設けられている。したがって、主制御部1は、欠陥セクタのセクタアドレスが管理領域23に何番目に登録されているかを調べることで、この欠陥セクタの代替セクタが代替領域22の何番目のセクタに割り当てられているかを知ることができる。
【0031】図4は、主制御部1が管理するフラッシュメモリ2〜2の記憶領域のアドレスを説明するための図である。
【0032】図示するように、主制御部1は、フラッシュメモリ2〜2の記憶領域を、フラッシュメモリ2〜2の識別情報であるチップアドレス24と、セクタアドレス25とからなる物理アドレスで管理している。
【0033】本実施形態において、主制御部1は、フラッシュメモリ2〜2の全てについて、ユーザ領域22、代替領域23および管理領域24のセクタ20への割り当てが同じであることを利用して、外部装置より指定された論理アドレスの物理アドレスへの変換を計算により求めるようにしている。
【0034】例えば、フラッシュメモリのセクタ21内に設けられたユーザデータ領域のサイズが2048バイトであり、外部装置が扱うデータサイズの単位(以下、ユニットと呼ぶ)が1024バイトであるとする。この場合、1セクタに2ユニットが格納されることになる。1つのフラッシュメモリ内のユーザ領域21のセクタ数をmとし、論理アドレス/2mの計算式より求められる商をa、余りをbとすると、論理アドレスの対応する物理アドレスは、チップアドレス=a、セクタアドレス=(ユーザ領域21の開始セクタドレス+b/2)となる。また、論理アドレスが奇数ならば、その論理アドレスが付与されたユニットは、その論理アドレスの対応する物理アドレスにより特定されるセクタの前半(前半側のカラムアドレス)に位置する。また、論理アドレスが偶数ならば、その論理アドレスが付与されたユニットは、その論理アドレスの対応する物理アドレスにより特定されるセクタの後半(後半側のカラムアドレス)に位置する。
【0035】以上、本実施形態の記憶装置の構成について説明した。
【0036】次に、本実施形態の記憶装置の動作について説明する。
【0037】なお、上述したように、外部装置が扱うデータのユニットサイズとフラッシュメモリのセクタサイズとは、必ずしも一致しない。ユニットサイズがセクタサイズよりも小さい場合、フラッシュメモリの消去処理等にいわゆる書き戻し処理(例えば、1セクタに2ユニットが含まれているような場合において、そのうちの1ユニットのみ消去する場合に、残りの1ユニットをメモリ等に一旦退避させ、セクタデータ消去後に、この退避させたユニットのデータを書き戻す処理)が必要となることがある。しかし、以下の動作説明では、本発明の理解を容易にするために、ユニットサイズとセクタサイズとが一致するものとして説明する。
【0038】本実施形態の記憶装置は、使用開始時に、フラッシュメモリ2〜2の欠陥セクタを検出し管理するための処理(初期欠陥セクタ検出処理)を行なう。
【0039】図5は、初期欠陥セクタ検出処理の動作シーケンスを示す図である。
【0040】(1)第1バッファ転送処理S501主制御部1は、予め定められた順番に従いフラッシュメモリ2(1≦x≦n)を選択し、このフラッシュメモリ2のユーザ領域21からセクタデータを読み出す。
【0041】具体的には、メモリIF部3を介して、フラッシュメモリ2のセレクト信号線74を選択状態にする。それから、メモリIF部3およびバス73を介して、このフラッシュメモリ2に、セクタアドレスを伴う読み出し命令(READ)を送出し、その後、メモリIF部3およびメモリアクセスコントローラ5に対して、DMA起動(DMA)を命令し、バス73、メモリIF部3およびバス71を介して、第1バッファ61にセクタデータ(DATA)を格納する。
【0042】(2)比較処理S502主制御部1は、バス72を介して、メモリアクセスコントローラ5に対して、初期欠陥セクタ検出のための比較命令(COMPARE)を送出する。これを受けて、メモリアクセスコントローラ5は、第1バッファ61に格納されたセクタデータの所定カラムアドレスのデータ値が、未使用状態のフラッシュメモリに記憶されている正常データ(この正常データは、例えばフラッシュメモリの製造・出荷時等に記憶される)と一致するか否かを調べ、その結果(RESULT)を主制御部1に通知する。
【0043】主制御部1は、メモリアクセスコントローラ5より通知された比較結果がNGの場合、このセクタデータの物理アドレス(チップアドレスおよびセクタアドレス)を欠陥セクタドレスとして管理する。
【0044】具体的には、フラッシュメモリ毎に欠陥セクタアドレス管理テーブルをRAM13等に予め用意しておく。そして、比較結果NGが通知されたセクタのチップアドレスにより特定されるフラッシュメモリ2の欠陥セクタアドレス管理テーブルに、このセクタのセクタアドレスを登録する。このとき、欠陥セクタアドレス管理テーブルに、少なくとも1つのセクタアドレスが既に登録されているならば、登録すべきセクタドレスの順番が登録済みのセクタアドレスの次となるように登録する。
【0045】それから、主制御部1は、現在選択しているフラッシュメモリ2について、ユーザ領域21内の全てのセクタに対し、上記の比較処理が完了したか否かを調べる。完了していないならば、S501に戻り、現在選択しているフラッシュメモリ2のユーザ領域21から、上記の比較処理を行なったセクタの次のセクタデータを読み出す。一方、完了している場合は、全てのフラッシュメモリ2に対して、上記の比較処理が完了したか否かをさらに調べ、完了していないならば、前記予め定められた順番上、現在選択しているフラッシュメモリ2の次のフラッシュメモリ2x+1を新たに選択し、この新たに選択したフラッシュメモリ2x+1のユーザ領域21からセクタデータを読み出す。
【0046】以上のようにして、全てのフラッシュメモリ2〜2について、ユーザ領域21に発生している欠陥セクタを検出し、欠陥セクタのセクタアドレスを欠陥セクタアドレス管理テーブルに登録する。
【0047】(3)連続消去処理S503主制御部1は、全てのフラッシュメモリ2〜2の管理領域23内のセクタデータを順番に消去する(連続消去処理)。この連続消去処理については、後で詳述する。
【0048】(4)書き込み処理S504主制御部1は、予め定められた順番に従いフラッシュメモリ2(1≦x≦n)を選択し、選択したフラッシュメモリ2の欠陥セクタアドレス管理テーブルの内容を、前記選択したフラッシュメモリ2の管理領域23に書き込む。
【0049】具体的には、メモリIF部3を介して、前記選択したフラッシュメモリ2のセレクト信号線74を選択状態にする。それから、メモリIF部3およびバス73を介して、前記選択したフラッシュメモリ2に、セクタアドレスを伴う書き込み命令(WRITE)を送出し、その後、メモリIF部3に対してDMA起動(DMA)を命令し、バス72、メモリIF部3およびバス73を介して、RAM13等に記憶されている、前記選択したフラッシュメモリ2の欠陥セクタアドレス管理テーブルの内容(DATA)を、前記選択したフラッシュメモリ2の管理領域23に書き込む。
【0050】上記の処理を、全てのフラッシュメモリ2〜2について、対応する欠陥セクタアドレス管理テーブルの内容が管理領域23に書き込まれるまで繰り返す。
【0051】なお、本実施形態の記憶装置は、使用中において、定期的に、あるいは、ユーザの指示等の所定のイベント発生時に、上記のS503およびS504の処理を行なう。これにより、主制御部1が管理している各フラッシュメモリ2〜2の欠陥セクタアドレス管理テーブルの内容と、各フラッシュメモリ2〜2のの管理領域23の登録内容との同期をとるようにしている。
【0052】次に、外部装置よりの依頼に従い、フラッシュメモリ2〜2からデータを読み出して外部装置へ送信する処理(読み出し処理)について説明する。
【0053】図6は、読み出し処理の動作シーケンスを示す図である。
【0054】(1)第1バッファ転送処理S601主制御部1は、外部装置IF部4を介して、外部装置からデータの読み出し命令を受けたことを検出すると、外部装置より指定された読み出し対象データの論理アドレスを物理アドレスに変換する。
【0055】次に、主制御部1は、変換した物理アドレスのチップアドレスが示すフラッシュメモリ2(1≦x≦n)を選択し、このフラッシュメモリ2のユーザ領域21から、前記変換した物理アドレスのセクタアドレスが示すセクタデータを読み出して、第1バッファ61に格納する。このとき、主制御部1は、前記選択したフラッシュメモリ2の欠陥セクタアドレス管理テーブルに、前記変換した物理アドレスのセクタアドレスが登録されているならば、前記セクタアドレスの欠陥セクタアドレス管理テーブルでの登録順番より代替セクタアドレスを特定し、前記選択したフラッシュメモリ2の代替領域22から前記代替セクタアドレスのセクタデータを読み出して、第1バッファ61に格納する。
【0056】具体的には、メモリIF部3を介して、前記選択したフラッシュメモリ2のセレクト信号線74を選択状態にする。それから、メモリIF部3およびバス73を介して、前記選択したフラッシュメモリ2に、前記変換した物理アドレスのセクタアドレス、あるいは、このセクタアドレスの欠陥セクタアドレス管理テーブルでの登録順番によって特定される代替セクタアドレスを伴う読み出し命令(READ)を送出し、その後、メモリIF部3およびメモリアクセスコントローラ5に対して、DMA起動(DMA)を命令し、バス73、メモリIF部3およびバス71を介して、第1バッファ61にセクタデータ(DATA)を格納する。
【0057】(2)読み出し処理S602主制御部1は、第1バッファ61に格納したデータを外部装置に転送する。具体的には、外部装置IF部4およびメモリアクセスコントローラ5に対して、DMA起動(DMA)を命令し、バス71および外部装置IF部4を介して、第1バッファ61に格納したデータ(DATA)を外部装置へ転送する。
【0058】それから、主制御部1は、外部装置より指定された全ての読み出し対象データのフラッシュメモリ2〜2からの読み出しが、完了したか否かを調べる。完了していないならば、S601に戻り、残りの読み出し対象データについて、フラッシュメモリ2〜2から第1バッファ61へ転送する処理を続ける。
【0059】次に、外部装置よりの依頼に従い、外部装置よりデータを受け取ってフラッシュメモリ2〜2に書き込む処理(書き込み処理)について説明する。
【0060】図7は、書き込み処理の動作シーケンスを示す図である。
【0061】(1)連続消去処理S701主制御部1は、外部装置IF部4を介して、外部装置からデータの書き込み命令を受けたことを検出すると、外部装置より指定された書き込み対象データの論理アドレスを物理アドレスに変換する。
【0062】次に、主制御部1は、変換した物理アドレスのチップアドレスが示すフラッシュメモリ2(1≦x≦n)を選択し、この選択したフラッシュメモリ2のユーザ領域21内の、前記変換した物理アドレスのセクタアドレスが示すセクタデータを消去する。このとき、主制御部1は、前記選択したフラッシュメモリ2の欠陥セクタアドレス管理テーブルに、前記変換した物理アドレスのセクタアドレスが登録されているならば、前記セクタアドレスの欠陥セクタアドレス管理テーブルでの登録順番より代替セクタアドレスを特定し、前記選択したフラッシュメモリ2の代替領域22内の、前記代替セクタアドレスが示すセクタデータを消去する。
【0063】具体的には、メモリIF部3を介して、前記選択したフラッシュメモリ2のセレクト信号線74を選択状態にする。それから、メモリIF部3およびバス73を介して、前記選択したフラッシュメモリ2に、前記変換した物理アドレスのセクタアドレス、あるいは、このセクタアドレスの欠陥セクタアドレス管理テーブルでの登録順番によって特定される代替セクタアドレスを伴う消去命令(ERASE)を送出し、前記選択したフラッシュメモリ2の前記セクタアドレスあるいは前記代替セクタアドレスが示すセクタのデータを消去する。
【0064】このとき、主制御部1は、外部装置より指定された全ての書き込み対象データの論理アドレスを、物理アドレスに変換した結果、前記全ての書き込み対象データの書き込み領域が、複数のフラッシュメモリに亘ることが判明した場合、前記複数のフラッシュメモリに対して、上記の消去処理を順番に行なう(連続消去処理)。ここで、図5のS503および図7のS701で行なわれる連続消去処理について詳述する。
【0065】図8は、連続消去処理においてメモリIF部3およびフラッシュメモリ2〜2間でやり取りされる各種信号のタイミングを示す図である。この図では、全てのフラッシュメモリ2〜2に対し、フラッシュメモリ2からフラッシュメモリ2への順番で、連続消去処理を行なう場合を示している。
【0066】まず、主制御部1は、メモリIF部3を介して、フラッシュメモリ2(1≦y≦n)のセレクト信号線74を非選択状態(ハイ状態)から選択状態(ロー状態)に遷移させ、メモリIF部3およびバス73を介して消去命令(ERASE)を送出する。これにより、フラッシュメモリ2は、消去命令により指定された領域の消去処理を開始すると共に、レディ/ビジィ信号出力端子をレディ状態(解放状態)からビジィ状態(短絡状態)に遷移させる。そして、消去処理が完了すると、レディ/ビジィ信号出力端子をビジィ状態からレディ状態に遷移させる。
【0067】ここで、主制御部1は、フラッシュメモリ2に対する消去命令の送出が完了したならば、フラッシュメモリ2での消去処理が完了するのを待つことなく、つまり、レディ/ビジィ信号線75がビジィ状態からレディ状態に遷移するのを待つことなく、メモリIF部3を介して、フラッシュメモリ2のセレクト信号線74を選択状態から非選択状態に戻すと共に、フラッシュメモリ2y+1のセレクト信号線74を非選択状態から選択状態に遷移させ、メモリIF部3およびバス73を介して消去命令(ERASE)を送出する。
【0068】上記の処理をyが1からn-1となるまで順番に行なうことにより、フラッシュメモリ2〜2に対して連続消去処理を行なう。
【0069】(2)第1バッファ転送処理S702主制御部1は、上記のS701において、外部装置より指定された書き込み対象データの書き込み領域に割り当てられている全てのフラッシュメモリに対して、消去命令の送出が完了したならば、前記全てのフラッシュメモリでの消去処理が完了するのを待つことなく、つまり、レディ/ビジィ信号線75がビジィ状態からレディ状態に遷移するのを待つことなく、外部装置IF部4およびメモリアクセスコントローラ5に対して、DMA起動(DMA)を命令し、外部装置IF部4およびバス71を介して、外部装置より受け取った書き込み対象データ(DATA)を、第1バッファ61に格納する。
【0070】(3)書き込み処理S703主制御部1は、第1バッファ61に格納されている1セクタ分のデータを、このデータの論理アドレスから得られた物理アドレスにより特定される、フラッシュメモリのセクタアドレス(ユーザ領域21)へ書き込む。このとき、主制御部1は、前記フラッシュメモリの欠陥セクタアドレス管理テーブルに、前記セクタアドレスが登録されているならば、前記セクタアドレスの欠陥セクタアドレス管理テーブルでの登録順番より代替セクタアドレスを特定し、前記1セクタ分のデータを、前記フラッシュメモリの前記代替セクタアドレス(代替領域22)へ書き込む。
【0071】具体的には、メモリIF部3を介して、前記物理アドレスのチップアドレスにより特定されるフラッシュメモリのセレクト信号線74を選択状態にする。それから、メモリIF部3およびバス73を介して、前記フラッシュメモリに、前記物理アドレスのセクタアドレス、あるいは、このセクタアドレスの欠陥セクタアドレス管理テーブルでの登録順番によって特定される代替セクタアドレスを伴う書き込み命令(WRITE)を送出し、メモリIF部3およびメモリアクセスコントローラ5に対してDMA起動(DMA)を命令し、バス71、メモリIF部3およびバス73を介して、第1バッファ61に格納されている1セクタ分のデータ(DATA)を、前記フラッシュメモリの前記物理アドレスのセクタアドレスあるいはその代替セクタアドレスに書き込む。
【0072】(4)第2バッファ転送処理S704主制御部1は、上記のS703において、フラッシュメモリのユーザ領域21に1セクタ分のデータを書き込んだ場合、この1セクタ分のデータを読み出して、第2バッファ62に格納する。
【0073】具体的には、メモリIF部3を介して、前記1セクタ分のデータを書き込んだフラッシュメモリのセレクト信号線74を選択状態にする。それから、メモリIF部3およびバス73を介して、前記フラッシュメモリに、前記1セクタ分のデータを書き込んだユーザ領域21のセクタアドレスを伴う読み出し命令(READ)を送出し、また、メモリIF部3およびメモリアクセスコントローラ5に対してDMA起動(DMA)を命令して、バス73、メモリIF部3およびバス71を介して、上記のS703でフラッシュメモリのユーザ領域21に書き込んだ1セクタ分のデータ(DATA)を、第2バッファ62に格納する。
【0074】なお、主制御部1は、上記のS703において、フラッシュメモリの代替領域22に1セクタ分のデータを書き込んだ場合、フラッシュメモリに未だ書き込まれていないデータが第1バッファ61に残っているか否かを調べ、残っているならば、S703に戻って、フラッシュメモリに未だ書き込まれていないデータのフラッシュメモリへの書き込みを行なう。
【0075】(5)比較処理S705上記のS704により、データを第2バッファ62へ格納した場合、主制御部1は、バス72を介して、メモリアクセスコントローラ5に対して、ユーザ領域21内に発生したデータ書き込み先欠陥セクタ検出のための比較命令(COMPARE)を送出する。これを受けて、メモリアクセスコントローラ5は、第1バッファ61に格納されている、上記のS703にてフラッシュメモリのユーザ領域21に書き込んだ1セクタ分のデータが、上記のS704にて第2バッファ62に格納したデータと一致するか否かを調べ、その結果(RESULT)を主制御部1に通知する。
【0076】主制御部1は、メモリアクセスコントローラ5より通知された比較結果がNGの場合、書き込みエラーが発生したものと判断し、このセクタデータの物理アドレス(チップアドレスおよびセクタアドレス)を欠陥セクタドレスとして管理する。具体的には、比較結果NGが通知されたセクタのチップアドレスにより特定されるフラッシュメモリの欠陥セクタアドレス管理テーブルに、このセクタのセクタアドレスを登録する。このとき、欠陥セクタアドレス管理テーブルに、少なくとも1つのセクタアドレスが既に登録されているならば、登録すべきセクタドレスの順番が登録済みのセクタアドレスの次となるように登録する。それから、主制御部1は、後述する代替書き込み処理S706を行なう。
【0077】一方、主制御部1は、メモリアクセスコントローラ5より通知された比較結果がOKの場合、フラッシュメモリに未だ書き込まれていないデータが第1バッファ61に残っているか否かを調べ、残っているならば、S703に戻って、フラッシュメモリに未だ書き込まれていないデータのフラッシュメモリへの書き込みを行なう。
【0078】(6)代替書き込み処理S706上記のS704により書き込みエラーが発生したものと判断した場合、主制御部1は、上記のS703にてフラッシュメモリに書き込んだ1セクタ分のデータのセクタアドレス(ユーザ領域21)の、前記フラッシュメモリの欠陥セクタアドレス管理テーブルでの登録順番より、前記セクタアドレスの代替セクタアドレスを特定する。そして、第1バッファ61に格納されている前記1セクタ分のデータを、前記フラッシュメモリの前記特定した代替セクタアドレス(代替領域22)へ書き込む。それから、主制御部1は、フラッシュメモリに未だ書き込まれていないデータが第1バッファ61に残っているか否かを調べ、残っているならば、S703に戻って、フラッシュメモリに未だ書き込まれていないデータのフラッシュメモリへの書き込みを行なう。
【0079】以上、本発明の一実施形態について説明した。
【0080】本実施形態において、主制御部1は、フラッシュメモリ2〜2のうちの少なくとも2つに対し連続して消去命令を発行する場合、メモリIF部3を介して、命令発行先のフラッシュメモリ2へのセレクト信号線74を選択状態に遷移させて、消去命令をバス73より送出する。消去命令の送出が完了したならば、レディ/ビジィ信号線75がビジィ状態からレディ状態へ遷移するのを待つことなく、フラッシュメモリ2へのセレクト信号線74を選択状態から非選択状態に戻す。そして、直ちに、次の命令発行先のフラッシュメモリ2x+1へのセレクト信号線74を選択状態に遷移させ、消去命令をバス73より送出する。したがって、あるフラッシュメモリに対する消去処理が完了するのを待つことなく、次のフラッシュメモリに対する消去処理を開始するので、複数のフラッシュメモリに対する消去処理を従来に比べて高速化できる。このため、フラッシュメモリへのデータ書き込みをより高速に行なうことが可能となる。
【0081】また、本実施形態において、主制御部1は、フラッシュメモリ2〜2のうちの少なくとも2つに対して書き込み命令を発行する場合、メモリIF部3を介して、少なくとも2つのフラッシュメモリに対し連続して消去命令を発行し、これらのフラッシュメモリでの消去処理が完了するのを待つことなく、つまり、レディ/ビジィ信号線75がビジィ状態からレディ状態へ遷移するのを待つことなく、メモリアクセスコントローラ5に、外部装置よりのデータを第1バッファに格納させる処理を開始させる。このため、フラッシュメモリへのデータ書き込みをさらに高速に行なうことが可能となる。
【0082】また、本実施形態において、メモリアクセスコントローラ5は、主制御部1よりの指示に従い、外部装置IF部4と協調し、外部装置よりのデータを第1バッファ61に格納する。それから、メモリIF部3と協調し、第1バッファ61からデータを読み出して、フラッシュメモリ2〜2に転送し書き込む。また、メモリIF部3と協調し、フラッシュメモリ2〜2に書き込んだデータを第2バッファ62に格納し、この第2バッファ62に格納したデータと、第1バッファ61に格納されているフラッシュメモリ2〜2に書き込んだデータとを比較する。したがって、データがフラッシュメモリ2〜2に正しく書き込まれたか否かを確認することができる。
【0083】さらに、本実施形態において、主制御部1は、メモリアクセスコントローラ5によってフラッシュメモリ2〜2への書き込みエラーが検出された場合、第1バッファ62に格納されているデータを書き込んだフラッシュメモリ2〜2のセクタアドレスを、欠陥セクタのアドレスとして管理している。そして、第1バッファ61に格納されているこのデータを、書き込みエラーが検出されたフラッシュメモリ内に予め用意しておいた代替セクタへ書き込むようにしている。このようにすることで、より確実にデータの書き込み処理を行なうことが可能となる。
【0084】なお、本発明は、上記の実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【0085】例えば、上記の実施形態において、メモリアクセスコントローラ5に、フラッシュメモリ2〜2に書き込んだデータを第2バッファ62に格納し、この第2バッファ62に格納したデータと、第1バッファ61に格納されているフラッシュメモリ2〜2に書き込んだデータとを比較する処理を、その比較結果がNGの場合は、このデータに対して再度行なうようにしてもよい。そして、その比較結果が再度NGの場合にのみ、このデータのフラッシュメモリ2〜2への書き込みをエラーと判定するようにしてもよい。
【0086】また、本発明は、電気的に書き換え可能な不揮発性半導体メモリを用いた記憶装置に広く適用できる。
【0087】
【発明の効果】以上説明したように、本発明によれば、より高速にデータの書き込み処理を行なうことのできる不揮発性半導体メモリを用いた記憶装置を提供できる。また、より確実にデータの書き込みエラーを検出できる不揮発性半導体メモリを用いた記憶装置を提供できる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013