JP6524126B2 - メモリ制御装置及びメモリ制御方法 - Google Patents

メモリ制御装置及びメモリ制御方法 Download PDF

Info

Publication number
JP6524126B2
JP6524126B2 JP2017030731A JP2017030731A JP6524126B2 JP 6524126 B2 JP6524126 B2 JP 6524126B2 JP 2017030731 A JP2017030731 A JP 2017030731A JP 2017030731 A JP2017030731 A JP 2017030731A JP 6524126 B2 JP6524126 B2 JP 6524126B2
Authority
JP
Japan
Prior art keywords
data
memory control
memories
control device
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2017030731A
Other languages
English (en)
Other versions
JP2018136735A (ja
Inventor
佐々木 通
通 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2017030731A priority Critical patent/JP6524126B2/ja
Publication of JP2018136735A publication Critical patent/JP2018136735A/ja
Application granted granted Critical
Publication of JP6524126B2 publication Critical patent/JP6524126B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、人工衛星に搭載された複数のメモリを制御するメモリ制御装置及びメモリ制御方法に関する。
人工衛星で使用するセンサデータの記録及び再生を行う装置であるデータレコーダ装置では、不揮発メモリであるNAND型フラッシュメモリが使用されている。しかしながら、宇宙空間の放射線に影響によって、NAND型フラッシュメモリへのデータの書き込み時に不良ブロックが発生する場合がある。なお、不良ブロックとは、NAND型フラッシュセルのうち、書き込み回数または放射線の影響によって永久的に故障したセルを含むブロックである。
不良ブロックが発生した場合、書き込もうとしたデータは、代替領域のブロックである代替ブロックに書き込まれ、不良ブロックに書き込まれていたデータが代替ブロックにコピーされる。そして、不良ブロックのアドレスは、不良ブロック管理テーブルに記録されることによって、今後使用されなくなる。
データ書き込み時に不良ブロックが発生し、データが正しく書き込むことができない問題に対して、例えば特許文献1の技術が提案されている。特許文献1の技術では、データの書き込み時に誤り訂正符号を付加し、データの読み出し時に誤り訂正符号を用いて誤りを訂正しつつ復号することによってデータを復元することができる。この方法では、不良ブロック発生位置をステータス情報として取得し、不良ブロック発生位置を誤り訂正符号に利用することで誤り訂正符号の能力をある程度向上させることができる。しかしながら、誤り訂正符号の限界以上に、不良ブロックが発生すると、誤ったデータを訂正できなくなる。
そこで、誤り訂正符号の限界に達した後に適切な対処が可能な技術が様々に提案されている。例えば特許文献2の技術では、データの読み出し時または検出時に特定領域で発生するビットーエラー発生回数をカウントしておき、閾値を超えた時点で、代替領域への書き戻し動作を行い、閾値以下ならば元の領域への書き戻しを行っている。また例えば特許文献3の技術では、不良ブロックをデータの読み出し時の誤り訂正符号で検出し、検出した不良ブロックの情報を不良ブロックテーブルに記録し、復元したデータを他の領域へ書き戻している。
特開2013−25560号公報 特開2003−058432号公報 特開2013−125513号公報
代替領域または元領域へのデータの書き戻し動作は、本来、データを記憶する動作には不要な動作である。このため、次々にセンサからデータが入力される衛星搭載用のデータレコーダ装置において、代替領域または元領域へのデータの書き戻し動作は、センサからのデータ入力を阻害する原因となる。
しかしながら、NAND型フラッシュメモリへデータ記録時に、まったくデータの書き込みができないエラーが放射線によって発生した場合、連続で不良ブロックが検出される場合がある。このような場合に、記録実行中に代替ブロックへ置き換えると、置き換え処理のために記録速度が低下してしまうという課題がある。また、不良ブロックを代替ブロックへ画一的に置き換えると、代替ブロックがすぐに尽きてしまうという課題がある。
そこで、本発明は、上記のような問題点を鑑みてなされたものであり、適切な代替処理を行うことが可能な技術を提供することを目的とする。
本発明に係るメモリ制御装置は、人工衛星に搭載された複数のメモリを制御するメモリ制御装置であって、前記人工衛星で扱われるデータを、当該データの誤り訂正符号によって符号化する符号処理部と、前記符号処理部で符号化されたデータを前記複数のメモリのそれぞれに規定されたブロックに分散して書き込む書き込み動作、前記複数のメモリに書き込まれたデータを読み出す読み出し動作、前記複数のメモリの前記ブロックのうちの不良ブロックを検出する検出動作、及び、前記複数のメモリに書き込まれたデータを消去する消去動作、が可能なメモリ制御部と、前記読み出し動作によって読み出されたデータを、対応する前記誤り訂正符号によって訂正して復号化する復号処理部と、前記複数のメモリの前記ブロックと代替え可能な代替領域とを備え、前記メモリ制御部は、前記書き込み動作時または前記読み出し動作時ではなく前記消去動作時に、前記不良ブロックとして検出された前記ブロックに代えて前記代替領域を用いる代替処理を行う。
本発明によれば、メモリ制御部は、書き込み動作時または読み出し動作時ではなく消去動作時に、不良ブロックとして検出されたブロックに代えて代替領域を用いる代替処理を行う。これにより、適切な代替処理を行うことができる。
実施の形態1に係るデータ記録再生装置の構成を示すブロック図である。 実施の形態1に係るNAND型フラッシュメモリのブロックを説明するための図である。 実施の形態1に係るデータ記録再生装置の代替領域を説明するための図である。 実施の形態1に係るデータ記録再生装置の記録処理を示すフローチャートである。 実施の形態1に係るデータ記録再生装置の再生処理を示すフローチャートである。 実施の形態1に係るデータ記録再生装置の消去処理を示すフローチャートである。 実施の形態2に係るデータ記録再生装置の構成を示すブロック図である。 実施の形態4に係るデータ記録再生装置の構成を示すブロック図である。 実施の形態5に係るデータ記録再生装置の構成を示すブロック図である。 実施の形態6に係るデータ記録再生装置の構成を示すブロック図である。 実施の形態7に係るデータ記録再生装置の構成を示すブロック図である。
<実施の形態1>
図1は、本発明の実施の形態1に係るデータ記録再生装置の構成を示すブロック図である。データ記録再生装置12は、CPU(Central Processing Unit)3と、IC(Integrated Circuit)回路であるFPGA(Field Programmable Gate Array)8と、複数のNAND型フラッシュメモリ13とを備えている。FPGA8は、符号処理部9と、復号処理部5と、コマンド発行部6と、コマンド分配部17と、不良ブロックカウンタ15と、不良ブロックテーブル16とを備える。
メモリ制御装置であるデータ記録再生装置12は、人工衛星に搭載された複数のメモリを制御する。以下、データ記録再生装置12が制御すべき複数のメモリは、複数のNAND型フラッシュメモリ13であるものとして説明するが、もちろん他の種類のメモリが用いられてもよい。たたし、複数のNAND型フラッシュメモリ13を用いた場合には、比較的安価で大容量の記憶領域を用いることができる。以下、複数のNAND型フラッシュメモリ13は、NAND型フラッシュメモリ13−1〜13−12であるものとして説明するが、複数のNAND型フラッシュメモリ13の個数は、12個に限ったものではない。
データ記録再生装置12は、人工衛星搭載のセンサ1と記録データ入力バス2で接続されており、センサ1で取得された人工衛星で扱われるデータを、NAND型フラッシュメモリ13−1〜13−12に記録する。センサ1は、例えば地球の地形を撮像するカメラやレーダ及び電波受信機である。または、センサ1は、例えば天文観測の目的の放射線センサや衛星自身のセンサでもよい。人工衛星で扱われるデータには、例えば、人工衛星が取得すべきデータ及び人工衛星自身のデータなどが用いられる。
CPU3は、ソフトウェアを実行することによって、データ記録再生装置12の各構成要素を制御する。CPU3は、チップ選択信号線10を通じて複数のNAND型フラッシュメモリ13と接続されている。CPU3は、センサ1で取得されたデータが複数のNAND型フラッシュメモリ13上のしかるべきアドレスに記録されるように、データが記録されるべきアドレスを決定し、当該アドレスを、チップ選択信号線10を通じて複数のNAND型フラッシュメモリ13に選択的に与える。
また、CPU3は、複数のNAND型フラッシュメモリ13を制御するコマンド発行部6及びコマンド分配部17を通じて、複数のNAND型フラッシュメモリ13におけるライト(書き込み)動作、リード(読み出し)動作、イレース(消去)動作、チェック(検出)動作などを行う。さらに、CPU3は、論理アドレスとNAND型フラッシュメモリ13−1〜13−12の物理アドレスとを互いに変換する機能を有している。
FPGA8の符号処理部9及び復号処理部5は、データ線11を通じて複数のNAND型フラッシュメモリ13と接続されている。
符号処理部9は、センサ1で取得されたデータを、当該データの誤り訂正符号によって符号化する。本実施の形態1では、符号処理部9は、センサ1からのデータに、当該データの誤りを訂正するための誤り訂正符号を付加する符号化を行い、符号化されたデータを複数のNAND型フラッシュメモリ13に記録する。各NAND型フラッシュメモリ13のバス幅は8ビットであり、符号処理部9は、各シンボルが8ビットである12シンボルのリードソロモン符号を用いることによって、複数のNAND型フラッシュメモリ13に記録すべきデータを符号化する。なお、以下の説明では、各シンボルが8ビットである12シンボルに対するリードソロモン符号を、「(12,8)形式のリードソロモン符号」と記す。
各NAND型フラッシュメモリ13は、各NAND型フラッシュメモリ13に規定されたブロックというある程度大きな単位で区分されており、各ブロックにアドレスが割り当てられている。そして、ブロックは、各NAND型フラッシュメモリ13に規定されたページという小さな単位で区分されており、64ページで1ブロックが構成されている。各NAND型フラッシュメモリ13にて、データの書き込み動作及び読み出し動作は、ページ単位で行われ、データの消去動作は、ブロック単位で行われる。
1ページ単位のデータの書き込み動作が行われた後には、どのNAND型フラッシュメモリ13で不良ブロックが発生したかを識別する検出動作が行われる。不良ブロックとは、NAND型フラッシュメモリ13のうち、書き込み回数の積み重ねによって摩耗して故障したブロック、または、宇宙環境における放射線の影響によって故障したブロックである。不良ブロックの検出は、例えば、NAND型フラッシュメモリ13に書き込まれる前のデータと、書き込まれた後のデータとを比較することによって行われる。本実施の形態1では、データの書き込み及び検出を行う動作を、最初ページから最終ページまでページごとに行うことによって、1ブロックにおけるデータの書き込み動作及び検出動作が終了する。
復号処理部5は、NAND型フラッシュメモリ13−1〜13−12から1ページ単位で読み出されたデータを、対応する誤り訂正符号によって訂正して復号化する。これにより、書き込み時に不良ブロックが発生していて、正しく書き込みができなかったデータの誤りが訂正される。すなわち、書き込み時に不良ブロックが発生していて、データが完全に書き込めない場合でも、読み出し時に当該データを訂正することができる。
復号処理部5は、訂正及び復号化されたデータを再生データとして、再生データ出力バス4を通じて通信装置7に伝送し、通信装置7は、伝送された再生データを地上局へ転送する。
コマンド発行部6は、コマンドを発行することによって、符号処理部9で符号化されたデータを、複数のNAND型フラッシュメモリ13のそれぞれに規定されたブロックに分散して書き込む書き込み動作、複数のNAND型フラッシュメモリ13に書き込まれたデータを読み出す読み出し動作、複数のNAND型フラッシュメモリ13のブロックのうちの不良ブロックを検出する検出動作、及び、複数のNAND型フラッシュメモリ13に書き込まれたデータを消去する消去動作を行うことが可能である。なお、ライトコマンドは、書き込み動作を行うためのコマンドであり、リードコマンドは、読み出し動作を行うためのコマンドであり、チェックコマンドは、検出動作を行うためのコマンドであり、イレースコマンドは、消去動作を行うためのコマンドである。
コマンド分配部17は、コマンド発行部6で発行されたコマンドを、複数のNAND型フラッシュメモリ13に選択的に付与する。本実施の形態1では、このコマンド分配部17と上述したコマンド発行部6とによって、メモリ制御部が実現されている。
カウンタである不良ブロックカウンタ15は、検出動作によって不良ブロックが検出された検出回数を、一つのNAND型フラッシュメモリ13ごとにカウントする。
テーブルである不良ブロックテーブル16は、不良ブロックのアドレスと、当該不良ブロックが検出されたNAND型フラッシュメモリ13とを識別する情報と、不良ブロックカウンタ15でカウントされた検出回数とを記録する。
次に、本実施の形態1に係る(12,8)形式のリードソロモン符号、及び、不良ブロックについて詳細に説明する。
(12,8)形式のリードソロモン符号は、NAND型フラッシュメモリ13−1〜13−12のうち最大2個のNAND型フラッシュメモリ13が壊れていたり、不良ブロックの発生によって読み出し時に誤ったデータが出力されたりしても、正しいデータに復元可能な符号である。
データ記録再生装置12は、このような(12,8)形式のリードソロモン符号を使用することができるように、12個のNAND型フラッシュメモリ13において同じアドレスを、書き込み用のアドレスとして決定する。これにより、12個のNAND型フラッシュメモリ13の同じアドレスに、8ビット×12個のデータがそれぞれ書き込まれていく。なお、12個のデータには例えば同一のデータが適用される。以上のように、同じアドレスにデータを書き込む方式によれば、装置を簡略化できるので、比較的少ない回路規模で実現することができる。
本実施の形態1では図2に示すように、NAND型フラッシュメモリ13−1〜13−12のブロック24のうち、同じアドレスのブロック24に対して、グループ20−1〜20−Nのようなグループが規定されている。書き込み動作時には、NAND型フラッシュメモリ13−1〜13−12のブロック24のうち、同じグループのブロック24にデータが書き込まれる。また、12個のブロック24のうち1個でも、検出動作時に不良ブロック25が検出された場合には、当該不良ブロック25と同じグループに含まれるすべてのブロック24が不良とみなされ、そのアドレスが不良ブロックテーブル16に記録される。このように、データの書き込み、及び、不良ブロックの管理などの処理はグループ単位で行われる。
データ記録再生装置12は、図3に示すようにNAND型フラッシュメモリ13−1〜13−12のうち通常使用されるブロックを含む通常領域30を備えるだけなく、不良ブロックなどのブロックと代替え可能な代替領域31を備える。本実施の形態1では、代替領域31のグループ数は、不良ブロック数の検出上限値と同一である。なお、代替領域31は、図3に示すようにNAND型フラッシュメモリ13に設けられてもよい。しかしこれに限ったものではなく、図示しないが、データ記録再生装置12が、NAND型フラッシュメモリ13とは別のNAND型フラッシュメモリを備える場合には、当該別のNAND型フラッシュメモリに設けられてもよい。
<動作>
図4、図5及び図6は、本実施の形態1に係るデータ記録再生装置12の動作を示すフローチャートである。データ記録再生装置12の動作は、図4に示す記録処理と、図5に示す再生処理と、図6に示す消去処理とを含む。
まず、図4の記録処理について説明する。
図4のステップS1にて、符号処理部9は、センサ1からのデータを誤り訂正符号によって符号化する。
ステップS2にて、コマンド発行部6はライトコマンドを発行する。
ステップS3にて、当該ライドコマンドに応じて、NAND型フラッシュメモリ13−1〜13−12のうち1グループのブロックに、ステップS1のデータを書き込む書き込み動作が実行される。
ステップS4にて、コマンド発行部6はチェックコマンドを発行する。
ステップS5にて、当該チェックコマンドに応じて、データを書き込んだ際に不良ブロックが発生したかどうかを検出する検出動作が実行される。不良ブロックを検出したと判定した場合には処理がステップS6に進み、不良ブロックを検出しなかったと判定した場合には処理がステップS9に進む。
ステップS6にて、コマンド発行部6は、不良ブロックのグループのアドレスと、複数のNAND型フラッシュメモリ13のうち不良ブロックが検出されたNAND型フラッシュメモリ13を識別する情報とを不良ブロックテーブル16に記録する。また、コマンド発行部6は、不良ブロックカウンタ15によって一つのNAND型フラッシュメモリ13ごとにカウントされた検出回数を、不良ブロックテーブル16に記録する。これにより、NAND型フラッシュメモリ13ごとに不良ブロックが何回検出されたかを示すカウント値が、不良ブロックテーブル16に記録される。
ステップS7にて、コマンド発行部6は、不良ブロックカウンタ15でカウントされた検出回数が、予め定められた上限値である個別上限値に達したか否かを判定する。検出回数が個別上限値に達したと判定した場合には処理がステップS9に進み、検出回数が個別上限値に達していないと判定した場合には処理がステップS8に進む。
ステップS8にて、不良ブロックカウンタ15は、不良ブロックが検出されたNAND型フラッシュメモリ13の検出回数をカウントアップし、不良ブロックが検出されなかったNAND型フラッシュメモリ13の検出回数をそのままにする。その後、処理がステップS9に進む。なお、検出回数が個別上限値に達したと判定した場合には、ステップS8が行われないので、いずれのNAND型フラッシュメモリ13についても検出回数はカウントアップされずにそのままとなる。
ステップS9にて、CPU3は、次のグループのブロックへの書き込み動作を行うためにアドレスをインクリメントする。
ステップS10にて、CPU3は、複数のNAND型フラッシュメモリ13への全データの記録が終了したか否かを判定する。記録が終了したと判定した場合には図4の処理が終了し、記録が終了しなかったと判定した場合には処理がステップS1に戻る。
以上のような図4の処理によれば、1グループのブロックへのデータの書き込み途中において、不良ブロックが検出されても、当該1グループのブロックにすでに書き込んだデータを、代替領域31へ退避せずに、当該1グループの終端のブロックまでデータを書き込んでいく。また、書き込んだデータは正しく書き込めていない可能性があるが、データ記録再生装置12は、次のデータを、複数のNAND型フラッシュメモリ13の次のグループのブロックに書き込む。この動作が繰り返されることによって、データの記録が終了する。
次に、図5の再生処理について説明する。なお、再生処理は、図4の記録処理の後に行われる。
まずステップS21にて、コマンド発行部6はリードコマンドを発行する。
ステップS22にて、当該リードコマンドに応じて、複数のNAND型フラッシュメモリ13の1グループのブロックからデータを読み出す読み出し動作が実行される。
ステップS23にて、復号処理部5は、読み出されたデータを復号し、当該データに誤りがあるか否かを判定する。誤りがあると判定した場合には処理がステップS24に進み、誤りがないと判定した場合には処理がステップS25に進む。
ステップS24にて、復号処理部5は、対応する誤り訂正符号によってデータの誤りを訂正する。その後、処理がステップS25に進む。
ステップS25にて、復号処理部5は、復元されたデータを通信装置7に伝送し、通信装置7は、伝送されたデータを地上局に送信する。
ステップS26にて、CPU3は、次のグループのブロックからの読み出し動作を行うためにアドレスをインクリメントする。
ステップS27にて、CPU3は、複数のNAND型フラッシュメモリ13に記録された全データの再生が終了したか否かを判定する。再生が終了したと判定した場合には処理がステップS28に進み、再生が終了しなかったと判定した場合には処理がステップS21に戻る。
ステップS28にて、FPGA8は、通信装置7が、データを消去してもよいという消去指令を地上局から受信したか否かを判定する。消去指令を受信したと判定した場合には図5の処理が終了し、消去指令を受信なかったと判定した場合には処理がステップS29に進む。
ステップS29にて、CPU3は、読み出し動作が行われるアドレスを初期値に戻す。その後、処理がステップS21に戻る。
さて、ステップS25で通信装置7から送信されたデータが、何らかの理由で地上局において受信されない場合がある。このため、データ記録再生装置12は、地上局からの指令に応じて、複数のNAND型フラッシュメモリ13から先に送信したデータと同じデータを読み出して復元し、当該データを通信装置7から地上局に送信することが望ましい。
そこで、以上のような図5の処理を行う本実施の形態1に係るデータ記録再生装置12は、一度、再生したからといってデータをすぐに消去したり、不良ブロックのデータをすぐに置き換えたりすることはしない。その一方で、本実施の形態1に係るデータ記録再生装置12は、通信装置7が地上局から消去してもよいという指令を受けた場合(ステップS28でYesの場合)に、地上局が人工衛星で扱われるデータを通信装置7から受信したと判定して、次に説明する図6の消去処理を行う。これにより、地上局が、ステップS25で通信装置7から送信されたデータを受信できなかった場合に、データ記録再生装置12は、当該データと同じデータを地上局に送信することができる。
次に、図6の消去処理について説明する。
まず、コマンド発行部6は、ステップS41にて、不良ブロックテーブル16を検索し、ステップS42にて、データを消去しようとしているグループのブロックに、不良ブロックが含まれるかを判定する。不良ブロックが含まれないと判定した場合には処理がステップS43に進み、不良ブロックが含まれると判定した場合には処理がステップS44に進む。
ステップS43にて、コマンド発行部6はイレースコマンドを発行する。当該イレースコマンドに応じて、複数のNAND型フラッシュメモリ13のうちの1グループのブロックからデータを消去する消去動作が実行される。その後、処理がステップS49に進む。
ステップS42からステップS44に進んだ場合、コマンド発行部6は、不良ブロックについて不良ブロックカウンタ15がカウントした検出回数を、不良ブロックテーブル16から検索する。そして、コマンド発行部6は、当該検出回数が、1回以上かつ個別上限値未満であるか、個別上限値に達しているかを判定する。検出回数が、個別上限値に達しておらず、1回以上かつ個別上限値未満であると判定した場合には処理がステップS45に進み、検出回数が個別上限値に達していると判定した場合には処理がステップS47に進む。
ステップS45にて、コマンド発行部6は、不良ブロックとして検出されたブロックに代えて代替領域を用いる代替処理を行う。本実施の形態1では、コマンド発行部6は、不良ブロックとして検出された1グループのブロックに代えて、代替領域における1グループのブロックを用いる代替処理を行う。これにより、CPU3は、論理アドレスと代替グループの物理アドレスとを互いに変換する。なお、代替グループは、代替領域の1グループである。
ステップS46にて、コマンド発行部6はイレースコマンドを発行する。当該イレースコマンドに応じて、代替グループのブロックからデータを消去する消去動作が実行される。その後、処理がステップS49に進む。
このように本実施の形態1では、代替処理時に代替領域のデータを消去する。これにより、データを消去しようとしている1グループに不良ブロックが含まれるか否かに関わらず、消去動作(ステップS43,S46)が実行される。このため、代替処理を行う場合において、10ms程度の時間を要する消去動作が欠けなくなるので、ソフトウェアにおける制御スケジュールが変則的になることを抑制したり、分岐処理の増加を抑制したりすることができる。また、「代替処理を行う場合には、代替処理が行われた元のブロック、つまり不良ブロックには消去動作を行わない」というような分岐処理を付加する必要をなくすことができ、回路規模の増加を抑制することができる。
なお、一般的に、NAND型フラッシュメモリにおける不良ブロック、または、不良ブロックになる確率が高いブロックから、データを消去するのに要する時間は、通常のブロックからデータを消去するのに要する時間よりも長くなる。本実施の形態1では、代替グループのデータを消去するけれども、不良ブロックを含むグループのデータを消去しないので、消去動作の合計時間が長くなることを抑制することができる。
さて、ステップS44からステップS47に進んだ場合、CPU3は、複数のNAND型フラッシュメモリ13のうち、不良ブロックカウンタ15の検出回数が個別上限値に達したNAND型フラッシュメモリ13を、故障メモリとして決定する。そして、CPU3は、故障メモリにアクセスしないように、故障メモリをアクセス対象から除外する処理を行う。本実施の形態1では、この処理は、CPU3が故障メモリのチップ選択信号線10を使用対象から除外することによって行われる。このように、本実施の形態1に係るデータ記録再生装置12は、検出回数が個別上限値に達した場合に、代替処理を行わずに、検出回数が個別上限値に達したNAND型フラッシュメモリ13の使用を停止するように構成されている。
以上のように構成された本実施の形態1に係るデータ記録再生装置12は、故障メモリに固定的に記録されたデータを再生することができる。なお、故障メモリの故障が原因で、読み出し動作時において故障メモリから読み出されたデータは、書き込み動作時において書き込まれたデータと通常異なる。しかしながら、リードソロモン符号の消失訂正アルゴリズムにおいて、誤りデータの位置を利用すれば、故障メモリに記録されたデータでも、書き込み動作時の正しいデータを復元することができる。またこの場合、新たな不良ブロック発生によるエラーデータをさらに1バイト訂正することができる。このため、上述の除外処理及び訂正処理は、NAND型フラッシュメモリ13−1〜13−12のうち2個までの故障に対して実施することができる。
さて、検出回数が個別上限値に達して除外処理が行われたNAND型フラッシュメモリ13では、これ以降、アクセス及び書き込み動作などは行われない。一方、上述したように、不良ブロックと同じグループのブロックは、画一的に不良として検出されているが、実際には不良ブロックではない可能性がある。
そこでステップS47にて除外処理が行われた場合に、ステップS48にて、CPU3は、故障メモリの不良ブロックと同じグループであったブロックを再使用する。本実施の形態1では、不良ブロックテーブル16は、除外処理が行われたNAND型フラッシュメモリ13のアドレスを記録している。CPU3は、不良ブロックテーブル16を検索して、除外処理が行われたNAND型フラッシュメモリ13の不良ブロックのアドレスを復帰させる。これにより、除外処理が行われたNAND型フラッシュメモリ13以外の他のNAND型フラッシュメモリ13のうち、不良ブロックでない可能性があるブロックが復帰する。
具体的なブロックの復帰方法として、CPU3は、除外処理が行われたNAND型フラッシュメモリ13の不良ブロックについてアドレスを不良ブロックテーブル16から削除することにより、他のNAND型フラッシュメモリ13について当該アドレスのグループのブロックを通常領域30に含める。そして、CPU3は、不良ブロックカウンタ15のカウンタをデクリメントする。以上により、通常領域30が尽きてしまうことを抑制することができる。このように不良ブロックのアドレスについて処理を行うことで、宇宙環境のおけるデータ記録再生装置12の寿命を延ばすことができる。
ステップS48の後、上述したようにステップS43にて、コマンド発行部6はイレースコマンドを発行する。当該イレースコマンドに応じて、再使用されるブロックからデータを消去する消去動作が実行される。その後、処理がステップS49に進む。
ステップS49にて、CPU3は、次のグループのブロックへの消去動作を行うためにアドレスをインクリメントする。
ステップS50にて、CPU3は、複数のNAND型フラッシュメモリ13に記録された全データの消去が終了したか否かを判定する。消去が終了したと判定した場合には図6の処理が終了し、消去が終了しなかったと判定した場合には処理がステップS41に戻る。
<実施の形態1のまとめ>
本実施の形態1に係るデータ記録再生装置12によれば、コマンド発行部6は、書き込み動作時または読み出し動作時ではなく消去動作時に代替処理を行う。これにより、書き込み動作時または読み出し動作時に画一的に代替処理が行われないので、代替領域がすぐに尽きてしまったり、代替処理によって記録速度が低下してしまうことを抑制したりすることができる。
また本実施の形態1によれば、代替処理時に代替領域のデータを消去する。これにより、ソフトウェアにおける制御スケジュールが変則的になることを抑制したり、分岐処理の増加を抑制したりすることができる。
ところで、不良ブロックの検出回数、つまり不良ブロックの発生数について一つのNAND型フラッシュメモリ13ごとに個別上限値を設けない場合には、放射線の強い影響によって不良ブロックが連続して発生すると、NAND型フラッシュメモリ13の通常領域30の多くが不良ブロックとなり、代替領域がすぐに尽きてしまう場合がある。
これに対して本実施の形態1によれば、不良ブロックカウンタ15でカウントされた検出回数が個別上限値に達した場合に、代替処理を行わずに、複数のNAND型フラッシュメモリ13のうち検出回数が個別上限値に達したNAND型フラッシュメモリ13の使用を停止する。このような構成によれば、検出回数が個別上限値に達したブロックが代替されないので、通常領域30が尽きてしまうことを抑制することができる。また、誤り訂正符号によって、NAND型フラッシュメモリ13−1〜13−12のうち2個まで故障しても、データを復元することができる。
また本実施の形態1によれば、人工衛星と通信する地上局が、人工衛星で扱われるデータをデータ記録再生装置12から受信した場合に消去動作が行われる。これにより、地上局が、データ記録再生装置12から送信されたデータを受信できなかった場合に、データ記録再生装置12は、当該データと同じデータを地上局に送信することができる。
<実施の形態2>
図7は、本発明の実施の形態2に係るデータ記録再生装置の構成を示すブロック図である。以下、本実施の形態2で説明する構成要素のうち、実施の形態1と同じまたは類似する構成要素については同じ参照符号を付し、異なる構成要素について主に説明する。なお、便宜上、図7では一部の配線を省略している。
実施の形態1では、12個のNAND型フラッシュメモリ13がFPGA8に接続されていた。これに対して本実施の形態2では、12個のNAND型フラッシュメモリ13がラインごとに設けられている。具体的には、第1のラインの12個のNAND型フラッシュメモリ13である12個の第1NAND型フラッシュメモリ13Aと、第2のラインの12個のNAND型フラッシュメモリ13である12個の第2NAND型フラッシュメモリ13BとがFPGA8に接続されている。そして、12個の第1NAND型フラッシュメモリ13Aと、12個の第2NAND型フラッシュメモリ13Bとは、制御信号及びデータ線11を共用しているが、個別のチップ選択信号線10を使用している。このため、CPU3は、第1及び第2NAND型フラッシュメモリ13A,13Bについてデータ線11を同時に使用しない限り、第1及び第2NAND型フラッシュメモリ13A,13Bを独立に制御することができる。
このような構成において、消去動作の時間を短縮化するために、並列的に動作及び処理などを行うメモリインタリーブという手法を用いる。例えば、イレースコマンド及び消去すべきブロックのアドレスが、第1NAND型フラッシュメモリ13Aに出力されれば、その後10ms程度の時間の間、第1NAND型フラッシュメモリ13Aに消去動作が行われる。その消去動作の間に、イレースコマンド及び消去すべきブロックのアドレスが、第2NAND型フラッシュメモリ13Bに出力されれば、オーバヘッドを減らすことができ、消去動作を高速化することが可能となる。
その際、例えば、第2NAND型フラッシュメモリ13Bのうち消去対象のグループにおいて、当該グループのアドレスが不良ブロックテーブル16に記録されている場合などには、第2NAND型フラッシュメモリ13Bの当該グループのブロックを代替ブロックに置き換え、代替ブロックのデータを消去してもよい。
このようにすることで、第1NAND型フラッシュメモリ13Aのブロックに消去動作を行うが、第2NAND型フラッシュメモリ13Bのうち代替ブロックに置き換えられた不良ブロックには消去動作を行わない、というような専用の選択的処理を付加する必要をなくすことができる。また、通常、不良ブロックにおける消去動作には時間がかかるが、不良ブロックを含む第2NAND型フラッシュメモリ13Bにおける消去動作の時間を、不良ブロックを含まない第1NAND型フラッシュメモリ13Aにおける消去動作の時間と同等にすることができる。このため、第2NAND型フラッシュメモリ13Bにおける消去動作の時間が、第1NAND型フラッシュメモリ13Aにおける消去動作の時間よりも長くなってしまうこと、ひいては、第2NAND型フラッシュメモリ13Bにおける消去動作を待たなければならないという状態を抑制することができる。
<実施の形態2のまとめ>
本実施の形態2に係るデータ記録再生装置12によれば、第1NAND型フラッシュメモリ13Aに対するコマンドが発行される時間と、第2NAND型フラッシュメモリ13Bに対するコマンドが発行される時間とが互いにずれている。このため、第1及び第2NAND型フラッシュメモリ13A,13Bの一方が動作実行中でアクセスできない時間に、他方にアクセスして他方を動作させることができる。これにより、各動作の高速化を実現することができる。
<実施の形態3>
本発明の実施の形態3に係るデータ記録再生装置のブロック構成は、実施の形態1のブロック構成(図1)と同じである。以下、本実施の形態3で説明する構成要素のうち、実施の形態1と同じまたは類似する構成要素については同じ参照符号を付し、異なる構成要素について主に説明する。
上述した実施の形態1では、CPU3が故障メモリのチップ選択信号線10を使用対象から除外することによって、検出回数が個別上限値に達したNAND型フラッシュメモリ13へのアクセスを停止し、当該NAND型フラッシュメモリ13の使用を停止した。これに対して本実施の形態3では、ライトイネーブル信号を停止することによって、検出回数が個別上限値に達したNAND型フラッシュメモリ13へのアクセスを停止し、当該NAND型フラッシュメモリ13の使用を停止する。ライトイネーブル信号やリードイネーブル信号は、高速に交互に切り替えられているため、本実施の形態3のようにライトイネーブル信号を停止する構成によれば、消費電力の低減が期待できる。
<実施の形態4>
図8は、本発明の実施の形態4に係るデータ記録再生装置の構成を示すブロック図である。以下、本実施の形態4で説明する構成要素のうち、実施の形態1と同じまたは類似する構成要素については同じ参照符号を付し、異なる構成要素について主に説明する。
上述した実施の形態1では、誤り訂正符号は、(12,8)形式のリードソロモン符号であった。これに対して本実施の形態4では、誤り訂正符号を用いた訂正は、3重多数決の訂正である。なお、3重多数決による訂正では、1つのデータから3分配回路で3つの同一データを複製し、複製した3つのデータを3つのNAND型フラッシュメモリ13にそれぞれ記録する。そして、データ読み出し時に、3つのNAND型フラッシュメモリ13からそれぞれ読み出された3つのデータのうち2つ以上のデータが一致する場合、当該2つ以上のデータのそれぞれを正しいデータとして決定し、それら以外のデータを誤りデータとして排除する。
リードソロモン符号を行う回路に比べて、3重多数決の訂正を行う回路は、小容量の記憶容量のみで実現でき、比較的簡単である。このため、本実施の形態4によれば、回路規模を小さくすることができる。
<実施の形態5>
図9は、本発明の実施の形態5に係るデータ記録再生装置の構成を示すブロック図である。以下、本実施の形態5で説明する構成要素のうち、実施の形態1と同じまたは類似する構成要素については同じ参照符号を付し、異なる構成要素について主に説明する。
上述した実施の形態1では、CPU3とFPGA8とが別々にデータ記録再生装置12に搭載されていた。これに対して、本実施の形態5では、CPU3は、FPGA8に内蔵されている。このような構成によれば、CPUチップを個別に設ける必要がなくなるので、IC回路などの部品の数を低減することができる。
<実施の形態6>
図10は、本発明の実施の形態6に係るデータ記録再生装置の構成を示すブロック図である。以下、本実施の形態6で説明する構成要素のうち、実施の形態1と同じまたは類似する構成要素については同じ参照符号を付し、異なる構成要素について主に説明する。
上述した実施の形態1では、不良ブロックカウンタ15及び不良ブロックテーブル16はいずれも、FPGA8、ひいてはデータ記録装置12に設けられていた。これに対して本実施の形態6では、不良ブロックカウンタ15及び不良ブロックテーブル16は、データ記録装置12に外付け可能な外部装置60に設けられている。このような本実施の形態6によれば、外部装置60に大容量のメモリを持つ装置を用いることができるので、比較的大きな不良ブロックテーブル16を用いることができる。この結果、記憶容量の大きいNAND型フラッシュメモリ13を用いることができる。
なお、以上の説明では、不良ブロックカウンタ15及び不良ブロックテーブル16はいずれも外部装置60に設けられていた。しかしこれに限ったものではなく、不良ブロックカウンタ15及び不良ブロックテーブル16の一方がデータ記録装置12に設けられ、他方が外部装置60に設けられてもよい。
<実施の形態7>
図11は、本発明の実施の形態7に係るデータ記録再生装置の構成を示すブロック図である。以下、本実施の形態7で説明する構成要素のうち、実施の形態1と同じまたは類似する構成要素については同じ参照符号を付し、異なる構成要素について主に説明する。
上述した実施の形態1では、データ記録再生装置12はFPGA8を備えていた。これに対して本実施の形態7では、データ記録再生装置12はFPGA8を備えず、符号処理部9、復号処理部5、コマンド発行部6及びコマンド分配部17などがソフトウェアの機能としてCPU3によって実現されている。そして、CPU3はNAND型フラッシュメモリ13と直接接続され、誤り訂正、各種コマンドの発行などが可能となっている。
このような本実施の形態7によれば、部品点数を低減することができるだけでなく、ソフトウェアを修正することによって処理の修正が可能となるので、処理の修正を容易化することができる。なお、実施の形態5と実施の形態7とをまとめると、符号処理部9、復号処理部5、コマンド発行部6及びコマンド分配部17などが、CPU3及びFPGA8の少なくともいずれか1つによって実現されればよい。
なお、本発明は、その発明の範囲内において、各実施の形態及び各変形例を自由に組み合わせたり、各実施の形態及び各変形例を適宜、変形、省略したりすることが可能である。
3 CPU、5 復号処理部、6 コマンド発行部、8 FPGA、9 符号処理部、12 データ記録再生装置、13 NAND型フラッシュメモリ、13A 第1NAND型フラッシュメモリ、13B 第2NAND型フラッシュメモリ、15 不良ブロックカウンタ、16 不良ブロックテーブル、17 コマンド分配部、20−1〜20−N グループ、24 ブロック、25 不良ブロック、31 代替領域、60 外部装置。

Claims (11)

  1. 人工衛星に搭載された複数のメモリを制御するメモリ制御装置であって、
    前記人工衛星で扱われるデータを、当該データの誤り訂正符号によって符号化する符号処理部と、
    前記符号処理部で符号化されたデータを前記複数のメモリのそれぞれに規定されたブロックに分散して書き込む書き込み動作、前記複数のメモリに書き込まれたデータを読み出す読み出し動作、前記複数のメモリの前記ブロックのうちの不良ブロックを検出する検出動作、及び、前記複数のメモリに書き込まれたデータを消去する消去動作、が可能なメモリ制御部と、
    前記読み出し動作によって読み出されたデータを、対応する前記誤り訂正符号によって訂正して復号化する復号処理部と、
    前記複数のメモリの前記ブロックと代替え可能な代替領域と
    を備え、
    前記メモリ制御部は、
    前記書き込み動作時または前記読み出し動作時ではなく前記消去動作時に、前記不良ブロックとして検出された前記ブロックに代えて前記代替領域を用いる代替処理を行う、メモリ制御装置。
  2. 請求項1に記載のメモリ制御装置であって、
    前記メモリ制御部は、
    前記代替処理時に前記代替領域のデータを消去する、メモリ制御装置。
  3. 請求項1または請求項2に記載のメモリ制御装置であって、
    前記検出動作によって前記不良ブロックが検出された検出回数を前記メモリごとにカウントするカウンタと、
    前記検出回数と、前記不良ブロックに割り当てられたアドレスとを記録するテーブルと
    をさらに備え、
    前記検出回数が予め定められた閾値に達した場合に、前記メモリ制御部の前記代替処理を行わずに、前記複数のメモリのうち前記検出回数が前記閾値に達したメモリの使用を停止する、メモリ制御装置。
  4. 請求項1から請求項3のうちのいずれか1項に記載のメモリ制御装置であって、
    前記人工衛星と通信する地上局が、前記人工衛星で扱われる前記データを受信した場合に、前記消去動作が行われる、メモリ制御装置。
  5. 請求項1から請求項4のうちのいずれか1項に記載のメモリ制御装置であって、
    前記複数のメモリはラインごとに設けられ、
    第1の前記ラインの前記複数のメモリに対するコマンドが発行される時間と、第2の前記ラインの前記複数のメモリに対するコマンドが発行される時間とが互いにずれている、メモリ制御装置。
  6. 請求項1から請求項5のうちのいずれか1項に記載のメモリ制御装置であって、
    前記メモリは、NAND型フラッシュメモリを含む、メモリ制御装置。
  7. 請求項1から請求項6のうちのいずれか1項に記載のメモリ制御装置であって、
    前記誤り訂正符号を用いた訂正は、3重多数決の訂正を含む、メモリ制御装置。
  8. 請求項1から請求項7のうちのいずれか1項に記載のメモリ制御装置であって、
    前記符号処理部、前記メモリ制御部及び前記復号処理部は、CPU(Central Processing Unit)及びIC(Integrated Circuit)回路の少なくともいずれか1つによって実現される、メモリ制御装置。
  9. 請求項3に記載のメモリ制御装置であって、
    前記メモリの使用の停止は、当該メモリへのライトイネーブル信号を停止することによって行われる、メモリ制御装置。
  10. 請求項1または請求項2に記載のメモリ制御装置であって、
    前記検出動作によって前記不良ブロックが検出された検出回数を前記メモリごとにカウントするカウンタ、及び、前記検出回数と前記不良ブロックに割り当てられたアドレスとを記録するテーブル、の少なくともいずれか1つが、前記メモリ制御装置の外部装置に設けられ、
    前記検出回数が予め定められた閾値に達した場合に、前記メモリ制御部の前記代替処理を行わずに、前記複数のメモリのうち前記検出回数が前記閾値に達したメモリの使用を停止する、メモリ制御装置。
  11. 人工衛星に搭載された複数のメモリを制御するメモリ制御方法であって、
    前記人工衛星で扱われるデータを、当該データの誤り訂正符号によって符号化し、
    符号化されたデータを、前記複数のメモリのそれぞれに規定されたブロックに分散して書き込み、
    前記複数のメモリに書き込まれたデータを読み出し、
    前記複数のメモリの前記ブロックのうちの不良ブロックを検出し、
    読み出されたデータを対応する前記誤り訂正符号によって訂正して復号化し、
    前記書き込み時または前記読み出し時ではなく、前記複数のメモリに書き込まれたデータを消去する時に、前記不良ブロックとして検出された前記ブロックに代えて代替領域を用いる代替処理を行う、メモリ制御方法。
JP2017030731A 2017-02-22 2017-02-22 メモリ制御装置及びメモリ制御方法 Expired - Fee Related JP6524126B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017030731A JP6524126B2 (ja) 2017-02-22 2017-02-22 メモリ制御装置及びメモリ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017030731A JP6524126B2 (ja) 2017-02-22 2017-02-22 メモリ制御装置及びメモリ制御方法

Publications (2)

Publication Number Publication Date
JP2018136735A JP2018136735A (ja) 2018-08-30
JP6524126B2 true JP6524126B2 (ja) 2019-06-05

Family

ID=63365559

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017030731A Expired - Fee Related JP6524126B2 (ja) 2017-02-22 2017-02-22 メモリ制御装置及びメモリ制御方法

Country Status (1)

Country Link
JP (1) JP6524126B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020213021A1 (ja) * 2019-04-15 2020-10-22 三菱電機株式会社 記録装置および記録再生装置
US11671607B2 (en) 2019-08-23 2023-06-06 Mitsubishi Electric Corporation Image transmission device, image reception device and computer readable medium
WO2022029952A1 (ja) 2020-08-06 2022-02-10 三菱電機株式会社 データレコーダおよびデータレコーダの使用方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332806A (ja) * 1993-05-25 1994-12-02 Hitachi Ltd フラッシュメモリを記憶媒体とする記憶システムおよびその制御方法
JPH0749815A (ja) * 1993-08-06 1995-02-21 Casio Comput Co Ltd データ記憶装置
JPH11242889A (ja) * 1998-02-25 1999-09-07 Sony Corp 不揮発性半導体記憶装置及びその消去方法
JP4059472B2 (ja) * 2001-08-09 2008-03-12 株式会社ルネサステクノロジ メモリカード及びメモリコントローラ
JP2008191701A (ja) * 2007-01-31 2008-08-21 Toshiba Corp エラー回復処理方法および情報処理装置
JP2013025560A (ja) * 2011-07-21 2013-02-04 Mitsubishi Electric Corp メモリ制御装置

Also Published As

Publication number Publication date
JP2018136735A (ja) 2018-08-30

Similar Documents

Publication Publication Date Title
CN102023815B (zh) 在固态存储器中实现raid
US10459794B2 (en) Memory systems having extended product lifetime and methods of operating the same
US20150019933A1 (en) Memory controller, storage device, and memory control method
CN102301340B (zh) 固态盘中改进的错误校正
JP5426711B2 (ja) メモリコントローラ及び不揮発性記憶装置
US9778985B1 (en) Operating method of data storage device
JP6125087B2 (ja) 利用可能なメモリスペースに基づく冗長ストレージ構成の選択
JP2008287404A (ja) 読み出しによる非アクセスメモリセルのデータ破壊を検出及び回復する装置、及びその方法
JP6524126B2 (ja) メモリ制御装置及びメモリ制御方法
JP4866107B2 (ja) 不揮発性記憶装置及びその書き込み判定方法
US20100287448A1 (en) Flash memory device with rectifiable redundancy bit and method of controlling the same
JP2011060217A (ja) データ蓄積装置及びデータ書込み/読出し方法
US9754682B2 (en) Implementing enhanced performance with read before write to phase change memory
US10514980B2 (en) Encoding method and memory storage apparatus using the same
JP2010079856A (ja) 記憶装置およびメモリ制御方法
US10756764B2 (en) Memory system and control method
CN116880781B (zh) 一种存储设备及其控制方法
CN112051963B (zh) 数据写入方法、存储器控制电路单元以及存储器存储装置
JP2013131095A (ja) メモリコントローラ、記憶装置およびメモリ制御方法
JP5361826B2 (ja) 記録ユニット及び故障チップ特定方法
US10922025B2 (en) Nonvolatile memory bad row management
CN110764693B (zh) 一种提高Nand flash数据稳定性的方法以及装置
US20220254435A1 (en) Semiconductor storage device and error processing method for defective memory cell in the device
JPH08166910A (ja) データ修復方法
US20200379676A1 (en) Data writing method, memory controlling circuit unit and memory storage device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181023

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190313

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190426

R150 Certificate of patent or registration of utility model

Ref document number: 6524126

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees