(57)【要約】【課題】適切な代替処理を行うことが可能な技術を提供することを目的とする。【解決手段】メモリ制御装置は、符号処理部で符号化されたデータを複数のメモリのそれぞれに規定されたブロックに分散して書き込む書き込み動作、複数のメモリに書き込まれたデータを読み出す読み出し動作、複数のメモリのブロックのうちの不良ブロックを検出する検出動作、及び、複数のメモリに書き込まれたデータを消去する消去動作、が可能なメモリ制御部を備える。メモリ制御部は、書き込み動作時または読み出し動作時ではなく消去動作時に、不良ブロックとして検出されたブロックに代えて代替領域を用いる代替処理を行う。【選択図】図１
2018136735.tif 000002
【特許請求の範囲】
【請求項１】
人工衛星に搭載された複数のメモリを制御するメモリ制御装置であって、
前記人工衛星で扱われるデータを、当該データの誤り訂正符号によって符号化する符号処理部と、
前記符号処理部で符号化されたデータを前記複数のメモリのそれぞれに規定されたブロックに分散して書き込む書き込み動作、前記複数のメモリに書き込まれたデータを読み出す読み出し動作、前記複数のメモリの前記ブロックのうちの不良ブロックを検出する検出動作、及び、前記複数のメモリに書き込まれたデータを消去する消去動作、が可能なメモリ制御部と、
前記読み出し動作によって読み出されたデータを、対応する前記誤り訂正符号によって訂正して復号化する復号処理部と、
前記複数のメモリの前記ブロックと代替え可能な代替領域と
を備え、
前記メモリ制御部は、
前記書き込み動作時または前記読み出し動作時ではなく前記消去動作時に、前記不良ブロックとして検出された前記ブロックに代えて前記代替領域を用いる代替処理を行う、メモリ制御装置。
【請求項２】
請求項１に記載のメモリ制御装置であって、
前記メモリ制御部は、
前記代替処理時に前記代替領域のデータを消去する、メモリ制御装置。
【請求項３】
請求項１または請求項２に記載のメモリ制御装置であって、
前記検出動作によって前記不良ブロックが検出された検出回数を前記メモリごとにカウントするカウンタと、
前記検出回数と、前記不良ブロックに割り当てられたアドレスとを記録するテーブルと
をさらに備え、
前記検出回数が予め定められた閾値に達した場合に、前記メモリ制御部の前記代替処理を行わずに、前記複数のメモリのうち前記検出回数が前記閾値に達したメモリの使用を停止する、メモリ制御装置。
【請求項４】
請求項１から請求項３のうちのいずれか１項に記載のメモリ制御装置であって、
前記人工衛星と通信する地上局が、前記人工衛星で扱われる前記データを受信した場合に、前記消去動作が行われる、メモリ制御装置。
【請求項５】
請求項１から請求項４のうちのいずれか１項に記載のメモリ制御装置であって、
前記複数のメモリはラインごとに設けられ、
第１の前記ラインの前記複数のメモリに対するコマンドが発行される時間と、第２の前記ラインの前記複数のメモリに対するコマンドが発行される時間とが互いにずれている、メモリ制御装置。
【請求項６】
請求項１から請求項５のうちのいずれか１項に記載のメモリ制御装置であって、
前記メモリは、ＮＡＮＤ型フラッシュメモリを含む、メモリ制御装置。
【請求項７】
請求項１から請求項６のうちのいずれか１項に記載のメモリ制御装置であって、
前記誤り訂正符号を用いた訂正は、３重多数決の訂正を含む、メモリ制御装置。
【請求項８】
請求項１から請求項７のうちのいずれか１項に記載のメモリ制御装置であって、
前記符号処理部、前記メモリ制御部及び前記復号処理部は、ＣＰＵ（Central Processing Unit）及びＩＣ（Integrated Circuit）回路の少なくともいずれか１つによって実現される、メモリ制御装置。
【請求項９】
請求項３に記載のメモリ制御装置であって、
前記メモリの使用の停止は、当該メモリへのライトイネーブル信号を停止することによって行われる、メモリ制御装置。
【請求項１０】
請求項１または請求項２に記載のメモリ制御装置であって、
前記検出動作によって前記不良ブロックが検出された検出回数を前記メモリごとにカウントするカウンタ、及び、前記検出回数と前記不良ブロックに割り当てられたアドレスとを記録するテーブル、の少なくともいずれか１つが、前記メモリ制御装置の外部装置に設けられ、
前記検出回数が予め定められた閾値に達した場合に、前記メモリ制御部の前記代替処理を行わずに、前記複数のメモリのうち前記検出回数が前記閾値に達したメモリの使用を停止する、メモリ制御装置。
【請求項１１】
人工衛星に搭載された複数のメモリを制御するメモリ制御方法であって、
前記人工衛星で扱われるデータを、当該データの誤り訂正符号によって符号化し、
符号化されたデータを、前記複数のメモリのそれぞれに規定されたブロックに分散して書き込み、
前記複数のメモリに書き込まれたデータを読み出し、
前記複数のメモリの前記ブロックのうちの不良ブロックを検出し、
読み出されたデータを対応する前記誤り訂正符号によって訂正して復号化し、
前記書き込み時または前記読み出し時ではなく、前記複数のメモリに書き込まれたデータを消去する時に、前記不良ブロックとして検出された前記ブロックに代えて代替領域を用いる代替処理を行う、メモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人工衛星に搭載された複数のメモリを制御するメモリ制御装置及びメモリ制御方法に関する。
【背景技術】
【０００２】
人工衛星で使用するセンサデータの記録及び再生を行う装置であるデータレコーダ装置では、不揮発メモリであるＮＡＮＤ型フラッシュメモリが使用されている。しかしながら、宇宙空間の放射線に影響によって、ＮＡＮＤ型フラッシュメモリへのデータの書き込み時に不良ブロックが発生する場合がある。なお、不良ブロックとは、ＮＡＮＤ型フラッシュセルのうち、書き込み回数または放射線の影響によって永久的に故障したセルを含むブロックである。
【０００３】
不良ブロックが発生した場合、書き込もうとしたデータは、代替領域のブロックである代替ブロックに書き込まれ、不良ブロックに書き込まれていたデータが代替ブロックにコピーされる。そして、不良ブロックのアドレスは、不良ブロック管理テーブルに記録されることによって、今後使用されなくなる。
【０００４】
データ書き込み時に不良ブロックが発生し、データが正しく書き込むことができない問題に対して、例えば特許文献１の技術が提案されている。特許文献１の技術では、データの書き込み時に誤り訂正符号を付加し、データの読み出し時に誤り訂正符号を用いて誤りを訂正しつつ復号することによってデータを復元することができる。この方法では、不良ブロック発生位置をステータス情報として取得し、不良ブロック発生位置を誤り訂正符号に利用することで誤り訂正符号の能力をある程度向上させることができる。しかしながら、誤り訂正符号の限界以上に、不良ブロックが発生すると、誤ったデータを訂正できなくなる。
【０００５】
そこで、誤り訂正符号の限界に達した後に適切な対処が可能な技術が様々に提案されている。例えば特許文献２の技術では、データの読み出し時または検出時に特定領域で発生するビットーエラー発生回数をカウントしておき、閾値を超えた時点で、代替領域への書き戻し動作を行い、閾値以下ならば元の領域への書き戻しを行っている。また例えば特許文献３の技術では、不良ブロックをデータの読み出し時の誤り訂正符号で検出し、検出した不良ブロックの情報を不良ブロックテーブルに記録し、復元したデータを他の領域へ書き戻している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−２５５６０号公報
【特許文献２】特開２００３−０５８４３２号公報
【特許文献３】特開２０１３−１２５５１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
代替領域または元領域へのデータの書き戻し動作は、本来、データを記憶する動作には不要な動作である。このため、次々にセンサからデータが入力される衛星搭載用のデータレコーダ装置において、代替領域または元領域へのデータの書き戻し動作は、センサからのデータ入力を阻害する原因となる。
【０００８】
しかしながら、ＮＡＮＤ型フラッシュメモリへデータ記録時に、まったくデータの書き込みができないエラーが放射線によって発生した場合、連続で不良ブロックが検出される場合がある。このような場合に、記録実行中に代替ブロックへ置き換えると、置き換え処理のために記録速度が低下してしまうという課題がある。また、不良ブロックを代替ブロックへ画一的に置き換えると、代替ブロックがすぐに尽きてしまうという課題がある。
【０００９】
そこで、本発明は、上記のような問題点を鑑みてなされたものであり、適切な代替処理を行うことが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係るメモリ制御装置は、人工衛星に搭載された複数のメモリを制御するメモリ制御装置であって、前記人工衛星で扱われるデータを、当該データの誤り訂正符号によって符号化する符号処理部と、前記符号処理部で符号化されたデータを前記複数のメモリのそれぞれに規定されたブロックに分散して書き込む書き込み動作、前記複数のメモリに書き込まれたデータを読み出す読み出し動作、前記複数のメモリの前記ブロックのうちの不良ブロックを検出する検出動作、及び、前記複数のメモリに書き込まれたデータを消去する消去動作、が可能なメモリ制御部と、前記読み出し動作によって読み出されたデータを、対応する前記誤り訂正符号によって訂正して復号化する復号処理部と、前記複数のメモリの前記ブロックと代替え可能な代替領域とを備え、前記メモリ制御部は、前記書き込み動作時または前記読み出し動作時ではなく前記消去動作時に、前記不良ブロックとして検出された前記ブロックに代えて前記代替領域を用いる代替処理を行う。
【発明の効果】
【００１１】
本発明によれば、メモリ制御部は、書き込み動作時または読み出し動作時ではなく消去動作時に、不良ブロックとして検出されたブロックに代えて代替領域を用いる代替処理を行う。これにより、適切な代替処理を行うことができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１に係るデータ記録再生装置の構成を示すブロック図である。
【図２】実施の形態１に係るＮＡＮＤ型フラッシュメモリのブロックを説明するための図である。
【図３】実施の形態１に係るデータ記録再生装置の代替領域を説明するための図である。
【図４】実施の形態１に係るデータ記録再生装置の記録処理を示すフローチャートである。
【図５】実施の形態１に係るデータ記録再生装置の再生処理を示すフローチャートである。
【図６】実施の形態１に係るデータ記録再生装置の消去処理を示すフローチャートである。
【図７】実施の形態２に係るデータ記録再生装置の構成を示すブロック図である。
【図８】実施の形態４に係るデータ記録再生装置の構成を示すブロック図である。
【図９】実施の形態５に係るデータ記録再生装置の構成を示すブロック図である。
【図１０】実施の形態６に係るデータ記録再生装置の構成を示すブロック図である。
【図１１】実施の形態７に係るデータ記録再生装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
＜実施の形態１＞
図１は、本発明の実施の形態１に係るデータ記録再生装置の構成を示すブロック図である。データ記録再生装置１２は、ＣＰＵ（Central Processing Unit）３と、ＩＣ（Integrated Circuit）回路であるＦＰＧＡ（Field Programmable Gate Array）８と、複数のＮＡＮＤ型フラッシュメモリ１３とを備えている。ＦＰＧＡ８は、符号処理部９と、復号処理部５と、コマンド発行部６と、コマンド分配部１７と、不良ブロックカウンタ１５と、不良ブロックテーブル１６とを備える。
【００１４】
メモリ制御装置であるデータ記録再生装置１２は、人工衛星に搭載された複数のメモリを制御する。以下、データ記録再生装置１２が制御すべき複数のメモリは、複数のＮＡＮＤ型フラッシュメモリ１３であるものとして説明するが、もちろん他の種類のメモリが用いられてもよい。たたし、複数のＮＡＮＤ型フラッシュメモリ１３を用いた場合には、比較的安価で大容量の記憶領域を用いることができる。以下、複数のＮＡＮＤ型フラッシュメモリ１３は、ＮＡＮＤ型フラッシュメモリ１３−１〜１３−１２であるものとして説明するが、複数のＮＡＮＤ型フラッシュメモリ１３の個数は、１２個に限ったものではない。
【００１５】
データ記録再生装置１２は、人工衛星搭載のセンサ１と記録データ入力バス２で接続されており、センサ１で取得された人工衛星で扱われるデータを、ＮＡＮＤ型フラッシュメモリ１３−１〜１３−１２に記録する。センサ１は、例えば地球の地形を撮像するカメラやレーダ及び電波受信機である。または、センサ１は、例えば天文観測の目的の放射線センサや衛星自身のセンサでもよい。人工衛星で扱われるデータには、例えば、人工衛星が取得すべきデータ及び人工衛星自身のデータなどが用いられる。
【００１６】
ＣＰＵ３は、ソフトウェアを実行することによって、データ記録再生装置１２の各構成要素を制御する。ＣＰＵ３は、チップ選択信号線１０を通じて複数のＮＡＮＤ型フラッシュメモリ１３と接続されている。ＣＰＵ３は、センサ１で取得されたデータが複数のＮＡＮＤ型フラッシュメモリ１３上のしかるべきアドレスに記録されるように、データが記録されるべきアドレスを決定し、当該アドレスを、チップ選択信号線１０を通じて複数のＮＡＮＤ型フラッシュメモリ１３に選択的に与える。
【００１７】
また、ＣＰＵ３は、複数のＮＡＮＤ型フラッシュメモリ１３を制御するコマンド発行部６及びコマンド分配部１７を通じて、複数のＮＡＮＤ型フラッシュメモリ１３におけるライト（書き込み）動作、リード（読み出し）動作、イレース（消去）動作、チェック（検出）動作などを行う。さらに、ＣＰＵ３は、論理アドレスとＮＡＮＤ型フラッシュメモリ１３−１〜１３−１２の物理アドレスとを互いに変換する機能を有している。
【００１８】
ＦＰＧＡ８の符号処理部９及び復号処理部５は、データ線１１を通じて複数のＮＡＮＤ型フラッシュメモリ１３と接続されている。
【００１９】
符号処理部９は、センサ１で取得されたデータを、当該データの誤り訂正符号によって符号化する。本実施の形態１では、符号処理部９は、センサ１からのデータに、当該データの誤りを訂正するための誤り訂正符号を付加する符号化を行い、符号化されたデータを複数のＮＡＮＤ型フラッシュメモリ１３に記録する。各ＮＡＮＤ型フラッシュメモリ１３のバス幅は８ビットであり、符号処理部９は、各シンボルが８ビットである１２シンボルのリードソロモン符号を用いることによって、複数のＮＡＮＤ型フラッシュメモリ１３に記録すべきデータを符号化する。なお、以下の説明では、各シンボルが８ビットである１２シンボルに対するリードソロモン符号を、「（１２，８）形式のリードソロモン符号」と記す。
【００２０】
各ＮＡＮＤ型フラッシュメモリ１３は、各ＮＡＮＤ型フラッシュメモリ１３に規定されたブロックというある程度大きな単位で区分されており、各ブロックにアドレスが割り当てられている。そして、ブロックは、各ＮＡＮＤ型フラッシュメモリ１３に規定されたページという小さな単位で区分されており、６４ページで１ブロックが構成されている。各ＮＡＮＤ型フラッシュメモリ１３にて、データの書き込み動作及び読み出し動作は、ページ単位で行われ、データの消去動作は、ブロック単位で行われる。
【００２１】
１ページ単位のデータの書き込み動作が行われた後には、どのＮＡＮＤ型フラッシュメモリ１３で不良ブロックが発生したかを識別する検出動作が行われる。不良ブロックとは、ＮＡＮＤ型フラッシュメモリ１３のうち、書き込み回数の積み重ねによって摩耗して故障したブロック、または、宇宙環境における放射線の影響によって故障したブロックである。不良ブロックの検出は、例えば、ＮＡＮＤ型フラッシュメモリ１３に書き込まれる前のデータと、書き込まれた後のデータとを比較することによって行われる。本実施の形態１では、データの書き込み及び検出を行う動作を、最初ページから最終ページまでページごとに行うことによって、１ブロックにおけるデータの書き込み動作及び検出動作が終了する。
【００２２】
復号処理部５は、ＮＡＮＤ型フラッシュメモリ１３−１〜１３−１２から１ページ単位で読み出されたデータを、対応する誤り訂正符号によって訂正して復号化する。これにより、書き込み時に不良ブロックが発生していて、正しく書き込みができなかったデータの誤りが訂正される。すなわち、書き込み時に不良ブロックが発生していて、データが完全に書き込めない場合でも、読み出し時に当該データを訂正することができる。
【００２３】
復号処理部５は、訂正及び復号化されたデータを再生データとして、再生データ出力バス４を通じて通信装置７に伝送し、通信装置７は、伝送された再生データを地上局へ転送する。
【００２４】
コマンド発行部６は、コマンドを発行することによって、符号処理部９で符号化されたデータを、複数のＮＡＮＤ型フラッシュメモリ１３のそれぞれに規定されたブロックに分散して書き込む書き込み動作、複数のＮＡＮＤ型フラッシュメモリ１３に書き込まれたデータを読み出す読み出し動作、複数のＮＡＮＤ型フラッシュメモリ１３のブロックのうちの不良ブロックを検出する検出動作、及び、複数のＮＡＮＤ型フラッシュメモリ１３に書き込まれたデータを消去する消去動作を行うことが可能である。なお、ライトコマンドは、書き込み動作を行うためのコマンドであり、リードコマンドは、読み出し動作を行うためのコマンドであり、チェックコマンドは、検出動作を行うためのコマンドであり、イレースコマンドは、消去動作を行うためのコマンドである。
【００２５】
コマンド分配部１７は、コマンド発行部６で発行されたコマンドを、複数のＮＡＮＤ型フラッシュメモリ１３に選択的に付与する。本実施の形態１では、このコマンド分配部１７と上述したコマンド発行部６とによって、メモリ制御部が実現されている。
【００２６】
カウンタである不良ブロックカウンタ１５は、検出動作によって不良ブロックが検出された検出回数を、一つのＮＡＮＤ型フラッシュメモリ１３ごとにカウントする。
【００２７】
テーブルである不良ブロックテーブル１６は、不良ブロックのアドレスと、当該不良ブロックが検出されたＮＡＮＤ型フラッシュメモリ１３とを識別する情報と、不良ブロックカウンタ１５でカウントされた検出回数とを記録する。
【００２８】
次に、本実施の形態１に係る（１２，８）形式のリードソロモン符号、及び、不良ブロックについて詳細に説明する。
【００２９】
（１２，８）形式のリードソロモン符号は、ＮＡＮＤ型フラッシュメモリ１３−１〜１３−１２のうち最大２個のＮＡＮＤ型フラッシュメモリ１３が壊れていたり、不良ブロックの発生によって読み出し時に誤ったデータが出力されたりしても、正しいデータに復元可能な符号である。
【００３０】
データ記録再生装置１２は、このような（１２，８）形式のリードソロモン符号を使用することができるように、１２個のＮＡＮＤ型フラッシュメモリ１３において同じアドレスを、書き込み用のアドレスとして決定する。これにより、１２個のＮＡＮＤ型フラッシュメモリ１３の同じアドレスに、８ビット×１２個のデータがそれぞれ書き込まれていく。なお、１２個のデータには例えば同一のデータが適用される。以上のように、同じアドレスにデータを書き込む方式によれば、装置を簡略化できるので、比較的少ない回路規模で実現することができる。
【００３１】
本実施の形態１では図２に示すように、ＮＡＮＤ型フラッシュメモリ１３−１〜１３−１２のブロック２４のうち、同じアドレスのブロック２４に対して、グループ２０−１〜２０−Ｎのようなグループが規定されている。書き込み動作時には、ＮＡＮＤ型フラッシュメモリ１３−１〜１３−１２のブロック２４のうち、同じグループのブロック２４にデータが書き込まれる。また、１２個のブロック２４のうち１個でも、検出動作時に不良ブロック２５が検出された場合には、当該不良ブロック２５と同じグループに含まれるすべてのブロック２４が不良とみなされ、そのアドレスが不良ブロックテーブル１６に記録される。このように、データの書き込み、及び、不良ブロックの管理などの処理はグループ単位で行われる。
【００３２】
データ記録再生装置１２は、図３に示すようにＮＡＮＤ型フラッシュメモリ１３−１〜１３−１２のうち通常使用されるブロックを含む通常領域３０を備えるだけなく、不良ブロックなどのブロックと代替え可能な代替領域３１を備える。本実施の形態１では、代替領域３１のグループ数は、不良ブロック数の検出上限値と同一である。なお、代替領域３１は、図３に示すようにＮＡＮＤ型フラッシュメモリ１３に設けられてもよい。しかしこれに限ったものではなく、図示しないが、データ記録再生装置１２が、ＮＡＮＤ型フラッシュメモリ１３とは別のＮＡＮＤ型フラッシュメモリを備える場合には、当該別のＮＡＮＤ型フラッシュメモリに設けられてもよい。
【００３３】
＜動作＞
図４、図５及び図６は、本実施の形態１に係るデータ記録再生装置１２の動作を示すフローチャートである。データ記録再生装置１２の動作は、図４に示す記録処理と、図５に示す再生処理と、図６に示す消去処理とを含む。
【００３４】
まず、図４の記録処理について説明する。
【００３５】
図４のステップＳ１にて、符号処理部９は、センサ１からのデータを誤り訂正符号によって符号化する。
【００３６】
ステップＳ２にて、コマンド発行部６はライトコマンドを発行する。
【００３７】
ステップＳ３にて、当該ライドコマンドに応じて、ＮＡＮＤ型フラッシュメモリ１３−１〜１３−１２のうち１グループのブロックに、ステップＳ１のデータを書き込む書き込み動作が実行される。
【００３８】
ステップＳ４にて、コマンド発行部６はチェックコマンドを発行する。
【００３９】
ステップＳ５にて、当該チェックコマンドに応じて、データを書き込んだ際に不良ブロックが発生したかどうかを検出する検出動作が実行される。不良ブロックを検出したと判定した場合には処理がステップＳ６に進み、不良ブロックを検出しなかったと判定した場合には処理がステップＳ９に進む。
【００４０】
ステップＳ６にて、コマンド発行部６は、不良ブロックのグループのアドレスと、複数のＮＡＮＤ型フラッシュメモリ１３のうち不良ブロックが検出されたＮＡＮＤ型フラッシュメモリ１３を識別する情報とを不良ブロックテーブル１６に記録する。また、コマンド発行部６は、不良ブロックカウンタ１５によって一つのＮＡＮＤ型フラッシュメモリ１３ごとにカウントされた検出回数を、不良ブロックテーブル１６に記録する。これにより、ＮＡＮＤ型フラッシュメモリ１３ごとに不良ブロックが何回検出されたかを示すカウント値が、不良ブロックテーブル１６に記録される。
【００４１】
ステップＳ７にて、コマンド発行部６は、不良ブロックカウンタ１５でカウントされた検出回数が、予め定められた上限値である個別上限値に達したか否かを判定する。検出回数が個別上限値に達したと判定した場合には処理がステップＳ９に進み、検出回数が個別上限値に達していないと判定した場合には処理がステップＳ８に進む。
【００４２】
ステップＳ８にて、不良ブロックカウンタ１５は、不良ブロックが検出されたＮＡＮＤ型フラッシュメモリ１３の検出回数をカウントアップし、不良ブロックが検出されなかったＮＡＮＤ型フラッシュメモリ１３の検出回数をそのままにする。その後、処理がステップＳ９に進む。なお、検出回数が個別上限値に達したと判定した場合には、ステップＳ８が行われないので、いずれのＮＡＮＤ型フラッシュメモリ１３についても検出回数はカウントアップされずにそのままとなる。
【００４３】
ステップＳ９にて、ＣＰＵ３は、次のグループのブロックへの書き込み動作を行うためにアドレスをインクリメントする。
【００４４】
ステップＳ１０にて、ＣＰＵ３は、複数のＮＡＮＤ型フラッシュメモリ１３への全データの記録が終了したか否かを判定する。記録が終了したと判定した場合には図４の処理が終了し、記録が終了しなかったと判定した場合には処理がステップＳ１に戻る。
【００４５】
以上のような図４の処理によれば、１グループのブロックへのデータの書き込み途中において、不良ブロックが検出されても、当該１グループのブロックにすでに書き込んだデータを、代替領域３１へ退避せずに、当該１グループの終端のブロックまでデータを書き込んでいく。また、書き込んだデータは正しく書き込めていない可能性があるが、データ記録再生装置１２は、次のデータを、複数のＮＡＮＤ型フラッシュメモリ１３の次のグループのブロックに書き込む。この動作が繰り返されることによって、データの記録が終了する。
【００４６】
次に、図５の再生処理について説明する。なお、再生処理は、図４の記録処理の後に行われる。
【００４７】
まずステップＳ２１にて、コマンド発行部６はリードコマンドを発行する。
【００４８】
ステップＳ２２にて、当該リードコマンドに応じて、複数のＮＡＮＤ型フラッシュメモリ１３の１グループのブロックからデータを読み出す読み出し動作が実行される。
【００４９】
ステップＳ２３にて、復号処理部５は、読み出されたデータを復号し、当該データに誤りがあるか否かを判定する。誤りがあると判定した場合には処理がステップＳ２４に進み、誤りがないと判定した場合には処理がステップＳ２５に進む。
【００５０】
ステップＳ２４にて、復号処理部５は、対応する誤り訂正符号によってデータの誤りを訂正する。その後、処理がステップＳ２５に進む。
【００５１】
ステップＳ２５にて、復号処理部５は、復元されたデータを通信装置７に伝送し、通信装置７は、伝送されたデータを地上局に送信する。
【００５２】
ステップＳ２６にて、ＣＰＵ３は、次のグループのブロックからの読み出し動作を行うためにアドレスをインクリメントする。
【００５３】
ステップＳ２７にて、ＣＰＵ３は、複数のＮＡＮＤ型フラッシュメモリ１３に記録された全データの再生が終了したか否かを判定する。再生が終了したと判定した場合には処理がステップＳ２８に進み、再生が終了しなかったと判定した場合には処理がステップＳ２１に戻る。
【００５４】
ステップＳ２８にて、ＦＰＧＡ８は、通信装置７が、データを消去してもよいという消去指令を地上局から受信したか否かを判定する。消去指令を受信したと判定した場合には図５の処理が終了し、消去指令を受信なかったと判定した場合には処理がステップＳ２９に進む。
【００５５】
ステップＳ２９にて、ＣＰＵ３は、読み出し動作が行われるアドレスを初期値に戻す。その後、処理がステップＳ２１に戻る。
【００５６】
さて、ステップＳ２５で通信装置７から送信されたデータが、何らかの理由で地上局において受信されない場合がある。このため、データ記録再生装置１２は、地上局からの指令に応じて、複数のＮＡＮＤ型フラッシュメモリ１３から先に送信したデータと同じデータを読み出して復元し、当該データを通信装置７から地上局に送信することが望ましい。
【００５７】
そこで、以上のような図５の処理を行う本実施の形態１に係るデータ記録再生装置１２は、一度、再生したからといってデータをすぐに消去したり、不良ブロックのデータをすぐに置き換えたりすることはしない。その一方で、本実施の形態１に係るデータ記録再生装置１２は、通信装置７が地上局から消去してもよいという指令を受けた場合（ステップＳ２８でＹｅｓの場合）に、地上局が人工衛星で扱われるデータを通信装置７から受信したと判定して、次に説明する図６の消去処理を行う。これにより、地上局が、ステップＳ２５で通信装置７から送信されたデータを受信できなかった場合に、データ記録再生装置１２は、当該データと同じデータを地上局に送信することができる。
【００５８】
次に、図６の消去処理について説明する。
【００５９】
まず、コマンド発行部６は、ステップＳ４１にて、不良ブロックテーブル１６を検索し、ステップＳ４２にて、データを消去しようとしているグループのブロックに、不良ブロックが含まれるかを判定する。不良ブロックが含まれないと判定した場合には処理がステップＳ４３に進み、不良ブロックが含まれると判定した場合には処理がステップＳ４４に進む。
【００６０】
ステップＳ４３にて、コマンド発行部６はイレースコマンドを発行する。当該イレースコマンドに応じて、複数のＮＡＮＤ型フラッシュメモリ１３のうちの１グループのブロックからデータを消去する消去動作が実行される。その後、処理がステップＳ４９に進む。
【００６１】
ステップＳ４２からステップＳ４４に進んだ場合、コマンド発行部６は、不良ブロックについて不良ブロックカウンタ１５がカウントした検出回数を、不良ブロックテーブル１６から検索する。そして、コマンド発行部６は、当該検出回数が、１回以上かつ個別上限値未満であるか、個別上限値に達しているかを判定する。検出回数が、個別上限値に達しておらず、１回以上かつ個別上限値未満であると判定した場合には処理がステップＳ４５に進み、検出回数が個別上限値に達していると判定した場合には処理がステップＳ４７に進む。
【００６２】
ステップＳ４５にて、コマンド発行部６は、不良ブロックとして検出されたブロックに代えて代替領域を用いる代替処理を行う。本実施の形態１では、コマンド発行部６は、不良ブロックとして検出された１グループのブロックに代えて、代替領域における１グループのブロックを用いる代替処理を行う。これにより、ＣＰＵ３は、論理アドレスと代替グループの物理アドレスとを互いに変換する。なお、代替グループは、代替領域の１グループである。
【００６３】
ステップＳ４６にて、コマンド発行部６はイレースコマンドを発行する。当該イレースコマンドに応じて、代替グループのブロックからデータを消去する消去動作が実行される。その後、処理がステップＳ４９に進む。
【００６４】
このように本実施の形態１では、代替処理時に代替領域のデータを消去する。これにより、データを消去しようとしている１グループに不良ブロックが含まれるか否かに関わらず、消去動作（ステップＳ４３，Ｓ４６）が実行される。このため、代替処理を行う場合において、１０ｍｓ程度の時間を要する消去動作が欠けなくなるので、ソフトウェアにおける制御スケジュールが変則的になることを抑制したり、分岐処理の増加を抑制したりすることができる。また、「代替処理を行う場合には、代替処理が行われた元のブロック、つまり不良ブロックには消去動作を行わない」というような分岐処理を付加する必要をなくすことができ、回路規模の増加を抑制することができる。
【００６５】
なお、一般的に、ＮＡＮＤ型フラッシュメモリにおける不良ブロック、または、不良ブロックになる確率が高いブロックから、データを消去するのに要する時間は、通常のブロックからデータを消去するのに要する時間よりも長くなる。本実施の形態１では、代替グループのデータを消去するけれども、不良ブロックを含むグループのデータを消去しないので、消去動作の合計時間が長くなることを抑制することができる。
【００６６】
さて、ステップＳ４４からステップＳ４７に進んだ場合、ＣＰＵ３は、複数のＮＡＮＤ型フラッシュメモリ１３のうち、不良ブロックカウンタ１５の検出回数が個別上限値に達したＮＡＮＤ型フラッシュメモリ１３を、故障メモリとして決定する。そして、ＣＰＵ３は、故障メモリにアクセスしないように、故障メモリをアクセス対象から除外する処理を行う。本実施の形態１では、この処理は、ＣＰＵ３が故障メモリのチップ選択信号線１０を使用対象から除外することによって行われる。このように、本実施の形態１に係るデータ記録再生装置１２は、検出回数が個別上限値に達した場合に、代替処理を行わずに、検出回数が個別上限値に達したＮＡＮＤ型フラッシュメモリ１３の使用を停止するように構成されている。
【００６７】
以上のように構成された本実施の形態１に係るデータ記録再生装置１２は、故障メモリに固定的に記録されたデータを再生することができる。なお、故障メモリの故障が原因で、読み出し動作時において故障メモリから読み出されたデータは、書き込み動作時において書き込まれたデータと通常異なる。しかしながら、リードソロモン符号の消失訂正アルゴリズムにおいて、誤りデータの位置を利用すれば、故障メモリに記録されたデータでも、書き込み動作時の正しいデータを復元することができる。またこの場合、新たな不良ブロック発生によるエラーデータをさらに１バイト訂正することができる。このため、上述の除外処理及び訂正処理は、ＮＡＮＤ型フラッシュメモリ１３−１〜１３−１２のうち２個までの故障に対して実施することができる。
【００６８】
さて、検出回数が個別上限値に達して除外処理が行われたＮＡＮＤ型フラッシュメモリ１３では、これ以降、アクセス及び書き込み動作などは行われない。一方、上述したように、不良ブロックと同じグループのブロックは、画一的に不良として検出されているが、実際には不良ブロックではない可能性がある。
【００６９】
そこでステップＳ４７にて除外処理が行われた場合に、ステップＳ４８にて、ＣＰＵ３は、故障メモリの不良ブロックと同じグループであったブロックを再使用する。本実施の形態１では、不良ブロックテーブル１６は、除外処理が行われたＮＡＮＤ型フラッシュメモリ１３のアドレスを記録している。ＣＰＵ３は、不良ブロックテーブル１６を検索して、除外処理が行われたＮＡＮＤ型フラッシュメモリ１３の不良ブロックのアドレスを復帰させる。これにより、除外処理が行われたＮＡＮＤ型フラッシュメモリ１３以外の他のＮＡＮＤ型フラッシュメモリ１３のうち、不良ブロックでない可能性があるブロックが復帰する。
【００７０】
具体的なブロックの復帰方法として、ＣＰＵ３は、除外処理が行われたＮＡＮＤ型フラッシュメモリ１３の不良ブロックについてアドレスを不良ブロックテーブル１６から削除することにより、他のＮＡＮＤ型フラッシュメモリ１３について当該アドレスのグループのブロックを通常領域３０に含める。そして、ＣＰＵ３は、不良ブロックカウンタ１５のカウンタをデクリメントする。以上により、通常領域３０が尽きてしまうことを抑制することができる。このように不良ブロックのアドレスについて処理を行うことで、宇宙環境のおけるデータ記録再生装置１２の寿命を延ばすことができる。
【００７１】
ステップＳ４８の後、上述したようにステップＳ４３にて、コマンド発行部６はイレースコマンドを発行する。当該イレースコマンドに応じて、再使用されるブロックからデータを消去する消去動作が実行される。その後、処理がステップＳ４９に進む。
【００７２】
ステップＳ４９にて、ＣＰＵ３は、次のグループのブロックへの消去動作を行うためにアドレスをインクリメントする。
【００７３】
ステップＳ５０にて、ＣＰＵ３は、複数のＮＡＮＤ型フラッシュメモリ１３に記録された全データの消去が終了したか否かを判定する。消去が終了したと判定した場合には図６の処理が終了し、消去が終了しなかったと判定した場合には処理がステップＳ４１に戻る。
【００７４】
＜実施の形態１のまとめ＞
本実施の形態１に係るデータ記録再生装置１２によれば、コマンド発行部６は、書き込み動作時または読み出し動作時ではなく消去動作時に代替処理を行う。これにより、書き込み動作時または読み出し動作時に画一的に代替処理が行われないので、代替領域がすぐに尽きてしまったり、代替処理によって記録速度が低下してしまうことを抑制したりすることができる。
【００７５】
また本実施の形態１によれば、代替処理時に代替領域のデータを消去する。これにより、ソフトウェアにおける制御スケジュールが変則的になることを抑制したり、分岐処理の増加を抑制したりすることができる。
【００７６】
ところで、不良ブロックの検出回数、つまり不良ブロックの発生数について一つのＮＡＮＤ型フラッシュメモリ１３ごとに個別上限値を設けない場合には、放射線の強い影響によって不良ブロックが連続して発生すると、ＮＡＮＤ型フラッシュメモリ１３の通常領域３０の多くが不良ブロックとなり、代替領域がすぐに尽きてしまう場合がある。
【００７７】
これに対して本実施の形態１によれば、不良ブロックカウンタ１５でカウントされた検出回数が個別上限値に達した場合に、代替処理を行わずに、複数のＮＡＮＤ型フラッシュメモリ１３のうち検出回数が個別上限値に達したＮＡＮＤ型フラッシュメモリ１３の使用を停止する。このような構成によれば、検出回数が個別上限値に達したブロックが代替されないので、通常領域３０が尽きてしまうことを抑制することができる。また、誤り訂正符号によって、ＮＡＮＤ型フラッシュメモリ１３−１〜１３−１２のうち２個まで故障しても、データを復元することができる。
【００７８】
また本実施の形態１によれば、人工衛星と通信する地上局が、人工衛星で扱われるデータをデータ記録再生装置１２から受信した場合に消去動作が行われる。これにより、地上局が、データ記録再生装置１２から送信されたデータを受信できなかった場合に、データ記録再生装置１２は、当該データと同じデータを地上局に送信することができる。
【００７９】
＜実施の形態２＞
図７は、本発明の実施の形態２に係るデータ記録再生装置の構成を示すブロック図である。以下、本実施の形態２で説明する構成要素のうち、実施の形態１と同じまたは類似する構成要素については同じ参照符号を付し、異なる構成要素について主に説明する。なお、便宜上、図７では一部の配線を省略している。
【００８０】
実施の形態１では、１２個のＮＡＮＤ型フラッシュメモリ１３がＦＰＧＡ８に接続されていた。これに対して本実施の形態２では、１２個のＮＡＮＤ型フラッシュメモリ１３がラインごとに設けられている。具体的には、第１のラインの１２個のＮＡＮＤ型フラッシュメモリ１３である１２個の第１ＮＡＮＤ型フラッシュメモリ１３Ａと、第２のラインの１２個のＮＡＮＤ型フラッシュメモリ１３である１２個の第２ＮＡＮＤ型フラッシュメモリ１３ＢとがＦＰＧＡ８に接続されている。そして、１２個の第１ＮＡＮＤ型フラッシュメモリ１３Ａと、１２個の第２ＮＡＮＤ型フラッシュメモリ１３Ｂとは、制御信号及びデータ線１１を共用しているが、個別のチップ選択信号線１０を使用している。このため、ＣＰＵ３は、第１及び第２ＮＡＮＤ型フラッシュメモリ１３Ａ，１３Ｂについてデータ線１１を同時に使用しない限り、第１及び第２ＮＡＮＤ型フラッシュメモリ１３Ａ，１３Ｂを独立に制御することができる。
【００８１】
このような構成において、消去動作の時間を短縮化するために、並列的に動作及び処理などを行うメモリインタリーブという手法を用いる。例えば、イレースコマンド及び消去すべきブロックのアドレスが、第１ＮＡＮＤ型フラッシュメモリ１３Ａに出力されれば、その後１０ｍｓ程度の時間の間、第１ＮＡＮＤ型フラッシュメモリ１３Ａに消去動作が行われる。その消去動作の間に、イレースコマンド及び消去すべきブロックのアドレスが、第２ＮＡＮＤ型フラッシュメモリ１３Ｂに出力されれば、オーバヘッドを減らすことができ、消去動作を高速化することが可能となる。
【００８２】
その際、例えば、第２ＮＡＮＤ型フラッシュメモリ１３Ｂのうち消去対象のグループにおいて、当該グループのアドレスが不良ブロックテーブル１６に記録されている場合などには、第２ＮＡＮＤ型フラッシュメモリ１３Ｂの当該グループのブロックを代替ブロックに置き換え、代替ブロックのデータを消去してもよい。
【００８３】
このようにすることで、第１ＮＡＮＤ型フラッシュメモリ１３Ａのブロックに消去動作を行うが、第２ＮＡＮＤ型フラッシュメモリ１３Ｂのうち代替ブロックに置き換えられた不良ブロックには消去動作を行わない、というような専用の選択的処理を付加する必要をなくすことができる。また、通常、不良ブロックにおける消去動作には時間がかかるが、不良ブロックを含む第２ＮＡＮＤ型フラッシュメモリ１３Ｂにおける消去動作の時間を、不良ブロックを含まない第１ＮＡＮＤ型フラッシュメモリ１３Ａにおける消去動作の時間と同等にすることができる。このため、第２ＮＡＮＤ型フラッシュメモリ１３Ｂにおける消去動作の時間が、第１ＮＡＮＤ型フラッシュメモリ１３Ａにおける消去動作の時間よりも長くなってしまうこと、ひいては、第２ＮＡＮＤ型フラッシュメモリ１３Ｂにおける消去動作を待たなければならないという状態を抑制することができる。
【００８４】
＜実施の形態２のまとめ＞
本実施の形態２に係るデータ記録再生装置１２によれば、第１ＮＡＮＤ型フラッシュメモリ１３Ａに対するコマンドが発行される時間と、第２ＮＡＮＤ型フラッシュメモリ１３Ｂに対するコマンドが発行される時間とが互いにずれている。このため、第１及び第２ＮＡＮＤ型フラッシュメモリ１３Ａ，１３Ｂの一方が動作実行中でアクセスできない時間に、他方にアクセスして他方を動作させることができる。これにより、各動作の高速化を実現することができる。
【００８５】
＜実施の形態３＞
本発明の実施の形態３に係るデータ記録再生装置のブロック構成は、実施の形態１のブロック構成（図１）と同じである。以下、本実施の形態３で説明する構成要素のうち、実施の形態１と同じまたは類似する構成要素については同じ参照符号を付し、異なる構成要素について主に説明する。
【００８６】
上述した実施の形態１では、ＣＰＵ３が故障メモリのチップ選択信号線１０を使用対象から除外することによって、検出回数が個別上限値に達したＮＡＮＤ型フラッシュメモリ１３へのアクセスを停止し、当該ＮＡＮＤ型フラッシュメモリ１３の使用を停止した。これに対して本実施の形態３では、ライトイネーブル信号を停止することによって、検出回数が個別上限値に達したＮＡＮＤ型フラッシュメモリ１３へのアクセスを停止し、当該ＮＡＮＤ型フラッシュメモリ１３の使用を停止する。ライトイネーブル信号やリードイネーブル信号は、高速に交互に切り替えられているため、本実施の形態３のようにライトイネーブル信号を停止する構成によれば、消費電力の低減が期待できる。
【００８７】
＜実施の形態４＞
図８は、本発明の実施の形態４に係るデータ記録再生装置の構成を示すブロック図である。以下、本実施の形態４で説明する構成要素のうち、実施の形態１と同じまたは類似する構成要素については同じ参照符号を付し、異なる構成要素について主に説明する。
【００８８】
上述した実施の形態１では、誤り訂正符号は、（１２，８）形式のリードソロモン符号であった。これに対して本実施の形態４では、誤り訂正符号を用いた訂正は、３重多数決の訂正である。なお、３重多数決による訂正では、１つのデータから３分配回路で３つの同一データを複製し、複製した３つのデータを３つのＮＡＮＤ型フラッシュメモリ１３にそれぞれ記録する。そして、データ読み出し時に、３つのＮＡＮＤ型フラッシュメモリ１３からそれぞれ読み出された３つのデータのうち２つ以上のデータが一致する場合、当該２つ以上のデータのそれぞれを正しいデータとして決定し、それら以外のデータを誤りデータとして排除する。
【００８９】
リードソロモン符号を行う回路に比べて、３重多数決の訂正を行う回路は、小容量の記憶容量のみで実現でき、比較的簡単である。このため、本実施の形態４によれば、回路規模を小さくすることができる。
【００９０】
＜実施の形態５＞
図９は、本発明の実施の形態５に係るデータ記録再生装置の構成を示すブロック図である。以下、本実施の形態５で説明する構成要素のうち、実施の形態１と同じまたは類似する構成要素については同じ参照符号を付し、異なる構成要素について主に説明する。
【００９１】
上述した実施の形態１では、ＣＰＵ３とＦＰＧＡ８とが別々にデータ記録再生装置１２に搭載されていた。これに対して、本実施の形態５では、ＣＰＵ３は、ＦＰＧＡ８に内蔵されている。このような構成によれば、ＣＰＵチップを個別に設ける必要がなくなるので、ＩＣ回路などの部品の数を低減することができる。
【００９２】
＜実施の形態６＞
図１０は、本発明の実施の形態６に係るデータ記録再生装置の構成を示すブロック図である。以下、本実施の形態６で説明する構成要素のうち、実施の形態１と同じまたは類似する構成要素については同じ参照符号を付し、異なる構成要素について主に説明する。
【００９３】
上述した実施の形態１では、不良ブロックカウンタ１５及び不良ブロックテーブル１６はいずれも、ＦＰＧＡ８、ひいてはデータ記録装置１２に設けられていた。これに対して本実施の形態６では、不良ブロックカウンタ１５及び不良ブロックテーブル１６は、データ記録装置１２に外付け可能な外部装置６０に設けられている。このような本実施の形態６によれば、外部装置６０に大容量のメモリを持つ装置を用いることができるので、比較的大きな不良ブロックテーブル１６を用いることができる。この結果、記憶容量の大きいＮＡＮＤ型フラッシュメモリ１３を用いることができる。
【００９４】
なお、以上の説明では、不良ブロックカウンタ１５及び不良ブロックテーブル１６はいずれも外部装置６０に設けられていた。しかしこれに限ったものではなく、不良ブロックカウンタ１５及び不良ブロックテーブル１６の一方がデータ記録装置１２に設けられ、他方が外部装置６０に設けられてもよい。
【００９５】
＜実施の形態７＞
図１１は、本発明の実施の形態７に係るデータ記録再生装置の構成を示すブロック図である。以下、本実施の形態７で説明する構成要素のうち、実施の形態１と同じまたは類似する構成要素については同じ参照符号を付し、異なる構成要素について主に説明する。
【００９６】
上述した実施の形態１では、データ記録再生装置１２はＦＰＧＡ８を備えていた。これに対して本実施の形態７では、データ記録再生装置１２はＦＰＧＡ８を備えず、符号処理部９、復号処理部５、コマンド発行部６及びコマンド分配部１７などがソフトウェアの機能としてＣＰＵ３によって実現されている。そして、ＣＰＵ３はＮＡＮＤ型フラッシュメモリ１３と直接接続され、誤り訂正、各種コマンドの発行などが可能となっている。
【００９７】
このような本実施の形態７によれば、部品点数を低減することができるだけでなく、ソフトウェアを修正することによって処理の修正が可能となるので、処理の修正を容易化することができる。なお、実施の形態５と実施の形態７とをまとめると、符号処理部９、復号処理部５、コマンド発行部６及びコマンド分配部１７などが、ＣＰＵ３及びＦＰＧＡ８の少なくともいずれか１つによって実現されればよい。
【００９８】
なお、本発明は、その発明の範囲内において、各実施の形態及び各変形例を自由に組み合わせたり、各実施の形態及び各変形例を適宜、変形、省略したりすることが可能である。
【符号の説明】
【００９９】
３  ＣＰＵ、５  復号処理部、６  コマンド発行部、８  ＦＰＧＡ、９  符号処理部、１２  データ記録再生装置、１３  ＮＡＮＤ型フラッシュメモリ、１３Ａ  第１ＮＡＮＤ型フラッシュメモリ、１３Ｂ  第２ＮＡＮＤ型フラッシュメモリ、１５  不良ブロックカウンタ、１６  不良ブロックテーブル、１７  コマンド分配部、２０−１〜２０−Ｎ  グループ、２４  ブロック、２５  不良ブロック、３１  代替領域、６０  外部装置。
【図１】
2018136735.tif 000003
【図２】
2018136735.tif 000004
【図３】
2018136735.tif 000005
【図４】
2018136735.tif 000006
【図５】
2018136735.tif 000007
【図６】
2018136735.tif 000008
【図７】
2018136735.tif 000009
【図８】
2018136735.tif 000010
【図９】
2018136735.tif 000011
【図１０】
2018136735.tif 000012
【図１１】
2018136735.tif 000013