(57)【要約】【課題】小規模なデータ訂正を情報記憶装置で実行し、大規模なエラー訂正を情報処理装置が実行することにより、コストを大幅に増大させることなくデータの信頼性を大幅に向上させる。【解決手段】情報処理装置２からユーザデータのリード転送要求があると、制御回路４は、該ユーザデータおよび管理データを誤り検出回路６に転送し、ユーザデータの誤りをチェックする。誤りがない場合、ユーザデータが転送可能であることを情報処理装置２に通知して情報処理装置２に転送する。ユーザデータに誤りがある場合には、ユーザデータ、および管理データをＸ箇所誤り位置および訂正データ算出回路８によって訂正箇所、および訂正データを算出し、該訂正箇所が訂正可能か否かを判断する。訂正不可（訂正箇所がＸ箇所よりも多い場合）の場合には、情報処理装置２にユーザデータが訂正不可であることを通知し、その後、ユーザデータ、および管理データを情報処理装置２に転送する。【選択図】図１
2008198234.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性半導体メモリと、
動作プログラムに基づいて前記不揮発性半導体メモリに格納されたデータを読み出し、所定の処理やデータの書き込み動作指示などを行う情報処理部と、
前記不揮発性半導体メモリから読み出したリードデータに含まれるエラーが所定数以下の小規模エラーがある際には、前記小規模エラーを訂正して転送し、前記リードデータに含まれるエラー数が所定数より多い大規模エラーがある場合には、前記大規模エラーを訂正せずに転送する転送処理部とを備えたことを特徴とする情報記憶装置。
【請求項２】
請求項１記載の情報記憶装置において、
前記小規模エラーの場合は、訂正したデータを前記不揮発性半導体メモリに書き込むことを特徴とする情報記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報記憶装置における信頼性の向上技術に関し、特に、不揮発性半導体メモリを用いて構成された情報記憶装置におけるデータ保護に適用して有効な技術に関するものである。
【背景技術】
【０００２】
パーソナルコンピュータや多機能端末機などの外部記憶メディアとして、たとえば、ＣＦ（Ｃｏｍｐａｃｔ  Ｆｌａｓｈ）カード、スマートメディア、メモリスティックやマルチメディアカードなどの情報記憶装置が広く知られている。
【０００３】
このような情報記憶装置においては、たとえば、ホスト側において、誤り位置、および誤り訂正データ算出を行うことによってリード／ライトデータの信頼性を向上させているものがある。
【０００４】
また、情報記憶装置に誤り訂正回路を設けることによってリード／ライトデータの信頼性を向上させているものもある。この場合、データのリード／ライト処理において、高度の信頼性が要求されるデータに対しては誤り訂正モードにして誤り訂正回路を通し、高度の信頼性が要求されないデータに対しては誤り訂正回路を通さないものや（たとえば、特許文献１参照）、アクセス速度に応じて訂正能力を可変させることにより、最適な誤り訂正を行うものがある（たとえば、特許文献２参照）。
【特許文献１】特開平４−９５２９９号公報
【特許文献２】特開平６−１６１９０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、上記のような情報記憶装置のリード／ライト処理における誤り訂正技術では、次のような問題点があることが本発明者により見い出された。
【０００６】
たとえば、ホスト側において誤り位置、および誤り訂正データ算出を行う場合、それらの処理をソフトウェアにより実行することになり、該ホストの性能が大幅に低下してしまうという問題がある。
【０００７】
また、情報記憶装置に誤り訂正回路を設けた場合、すべての誤りデータに対してデータ訂正を行うことになると、誤り訂正回路が大規模化してしまい、情報記憶装置が大型化してしまい、コストも高くなってしまうという問題がある。
【０００８】
本発明の目的は、小規模なデータ訂正のみを情報記憶装置内で実行し、大規模なエラー訂正を情報処理装置において実行することにより、情報処理システムの処理性能を低下させず、コストの増大を最小限に抑え、かつ回路規模を増大させることなくデータの信頼性を大幅に向上させることのできる情報記憶装置および情報処理システムを提供することにある。
【０００９】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１１】
本発明は、不揮発性半導体メモリと、動作プログラムに基づいて該不揮発性半導体メモリに格納されたデータを読み出し、所定の処理やデータの書き込み動作指示などを行う情報処理部と、該不揮発性半導体メモリから読み出したリードデータに含まれるエラーが所定数以下の小規模エラーがある際には、該小規模エラーを訂正して転送し、リードデータに含まれるエラー数が所定数より多い大規模エラーがある場合には、該大規模エラーを訂正せずに転送する転送処理部とを備えたものである。
【００１２】
また、本願のその他の発明の概要を簡単に示す。
【００１３】
本発明は、前記小規模エラーの場合に訂正したデータを不揮発性半導体メモリに書き込むものである。
【発明の効果】
【００１４】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１５】
（１）発生確率の高い小規模なエラーは情報記憶装置が訂正し、発生確率の低い大規模なエラーは情報処理装置が訂正することにより、情報処理装置のオーバヘッドを小さくすることができる。
【００１６】
（２）また、小規模なエラー訂正のみを情報記憶装置で行うことによって、該情報記憶装置を小型化でき、低コストにすることができる。
【００１７】
（３）情報処理装置が、大規模なエラー訂正を行うか否かを任意に選択することができるので、取り扱うデータに応じて最適な情報処理システムを構築することができる。
【００１８】
（４）上記（１）〜（３）により、情報処理システムの性能、ならびに信頼性を大幅に向上することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２０】
図１は、本発明の実施の形態による情報処理システムのブロック図、図２は、図１の情報処理システムにおけるＥＣＣ訂正不可時の読み出し転送処理のフローチャート、図３は、図１の情報処理システムにおけるユーザデータのライト転送処理のフローチャート、図４は、図１の情報処理システムにおけるＥＣＣ訂正が可能なユーザデータのリード転送処理の一例を示すフローチャート、図５は、図１の情報処理システムにおけるＥＣＣ訂正が可能なデータのリード転送処理の他の例を示すフローチャート、図６は、図１の情報処理システムにおけるユーザデータのＥＣＣ訂正がない場合のリード転送処理のフローチャート、図７は、図１の情報処理システムに設けられた情報記憶装置におけるユーザデータのライト転送時の内部処理のフローチャート、図８は、図１の情報処理システムに設けられた情報記憶装置におけるユーザデータのリード転送時の内部処理の一例を示すフローチャート、図９は、図１の情報処理システムに設けられた情報記憶装置におけるユーザデータのリード転送時の内部処理の他の例を示すフローチャートである。
【００２１】
本実施の形態において、情報処理システム１は、図１に示すように、情報処理装置２、および情報記憶装置３から構成されている。情報処理装置２は、ホストであり、パーソナルコンピュータや多機能端末機などからなる。この情報処理装置２には、Ｙ箇所誤り位置および訂正データ算出回路（第２のデータ訂正算出部）２ａが設けられている。Ｙ箇所誤り位置および訂正データ算出回路２ａは、情報記憶装置３から転送されたユーザデータのＹ箇所の誤り位置と訂正用データとを算出する。
【００２２】
情報記憶装置３は、情報処理装置２の外部記憶メディアとして用いられる。この情報記憶装置３は、たとえば、フラッシュメモリなどを用いて構成されたメモリカードからなる。
【００２３】
情報記憶装置３は、制御回路（情報処理部）４、入出力回路（転送処理部）５、誤り検出回路（転送処理部、誤り検出部）６、Ｙ箇所訂正用ＥＣＣコード生成回路（転送処理部、管理データ生成部）７、Ｘ箇所誤り位置および訂正データ算出回路（転送処理部、第１のデータ訂正算出部）８、および情報記憶回路（半導体メモリ）９などから構成されている。ここでは、情報記憶回路９が１つ設けられた構成としたが、該情報記憶回路は複数個であってもよい。
【００２４】
制御回路４には、入出力回路５、誤り検出回路６、Ｙ箇所訂正用ＥＣＣコード生成回路７、Ｘ箇所誤り位置および訂正データ算出回路８、ならびに情報記憶回路９が内部バスを介して相互に接続されている。
【００２５】
制御回路４は、動作プログラムに基づいて情報記憶回路９に格納されたプログラムやデータなどを読み出し、所定の処理やデータの書き込み動作指示などを行う。
【００２６】
入出力回路５は、情報記憶回路９と情報処理装置２とのデータのやり取りの制御を行う。誤り検出回路６は、リード処理されたデータに誤りがないか否かを検出する。
【００２７】
Ｙ箇所訂正用ＥＣＣコード生成回路７は、Ｙ箇所訂正用のＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）情報を生成する。Ｘ箇所誤り位置および訂正データ算出回路８は、Ｘ箇所の誤り位置と訂正用データとを算出する。
【００２８】
また、エラーの検出は、ＥＣＣだけでなく、たとえば、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）やパリティチェックなどの簡単な検出機能であってもよい。
【００２９】
ここで、誤り検出におけるＸ箇所とＹ箇所とは、Ｘ箇所＜Ｙ箇所の関係となっている。ここで半導体メモリを用いたメモリカードでの、Ｘ，Ｙ、訂正長に関し具体的な例を示す。ユーザデータが５１２バイトとすると、Ｘ箇所は１箇所、多くとも２箇所程度、ＹはＸ＋１またはＸ＋２箇所程度である。Ｘ箇所、およびＹ箇所の単位は訂正長の長さであり、訂正長が１バイトの場合には、該１バイトが１箇所となる。
【００３０】
Ｘ，Ｙの値が大きいほど、さらに訂正長は長いほど情報処理システム１のデータ信頼性が高くなる。しかし、その反面回路およびプログラムの規模、ならびに管理領域が増大し、コストアップにつながる。よって、情報記憶回路９の特性、および要求される情報処理システム１の信頼性を考慮して最適化することが望ましい。
【００３１】
情報記憶回路９は、たとえば、フラッシュメモリなどの不揮発性半導体メモリから構成されている。また、情報記憶回路９には、ユーザデータ（０）〜（Ｎ）、および該ユーザデータに対応する管理データ（０）〜（Ｎ）などが格納されている。管理データ（０）〜（Ｎ）は、データ訂正を行う際に用いられるＥＣＣ情報が含まれている。
【００３２】
なお、情報記憶回路９は、フラッシュメモリ以外であってもよく、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）、ＭＲＡＭ（Ｍａｇｎｅｔｒｏｒｅｓｉｓｔｉｖｅ  ＲＡＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などのデータを記憶できるメモリであれば何でもよい。本発明の実施の形態では、コントローラとメモリとを分離しているが、その２つおよび周辺部品を１つにした混載半導体としても構わない。
【００３３】
さらに、情報処理装置２と入出力回路５とは、情報処理装置バスＰＣＢを介して接続されている。この情報処理装置バスＰＣＢは、機械的結合手段を有し、電気的に接続される接触タイプ、あるいは電波などの情報伝送媒体によって情報を伝達する非接触タイプのいずれであってもよい。
【００３４】
この情報処理装置２には、Ｙ箇所誤り位置および訂正データ算出回路２ａが備えられている。Ｙ箇所誤り位置および訂正データ算出回路２ａは、Ｙ箇所のデータ誤り位置と訂正データとを算出する。
【００３５】
次に、本実施の形態における情報処理システム１の作用について説明する。
【００３６】
始めに、情報処理システム１によるＥＣＣ訂正不可時の読み出し転送処理について、図２のフローチャートを用いて説明する。
【００３７】
まず、情報処理装置２が、情報記憶装置３に対してユーザデータ（０）のリード転送を要求する（ステップＳ１０１）。このとき、ユーザデータ（０）にＸ箇所より多い誤りがある場合、情報記憶装置３は、該情報記憶装置３によるユーザデータ（０）の訂正ができないことを情報処理装置２に対して通知する（ステップＳ１０２）。
【００３８】
そして、情報記憶装置３は、情報処理装置２に対して、ユーザデータ（０）に対応した管理データ（０）を転送し（ステップＳ１０３）、その後、ユーザデータ（０）のリードデータを転送する（ステップＳ１０４）。
【００３９】
情報処理装置２は、訂正が必要であれば転送されたリードデータをＹ箇所誤り位置および訂正データ算出回路２ａによって訂正し、訂正が不要であれば、エラー訂正せずに所定の処理を行う。
【００４０】
また、ユーザデータ（０）のライト転送処理について、図３のフローチャートを用いて説明する。
【００４１】
情報処理装置２から情報記憶装置３にユーザデータ（０）のライト転送要求があると（ステップＳ２０１）、該情報記憶装置３は、情報処理装置２に対してユーザデータ（０）のライトデータ転送通知を行う（ステップＳ２０２）。その後、情報処理装置２から、ユーザデータ（０）のライトデータが情報記憶装置３に順次転送される（ステップＳ２０３）。
【００４２】
そして、情報記憶装置３は、ユーザデータ（０）のライト処理が終了すると、情報処理装置２に対してライト処理完了を通知する（ステップＳ２０４）。
【００４３】
次に、ＥＣＣ訂正が可能なユーザデータのリード転送処理について、図４のフローチャートを用いて説明する。
【００４４】
まず、情報処理装置２が、情報記憶装置３に対してユーザデータ（０）のリード転送を要求する（ステップＳ３０１）。ユーザデータ（０）にＸ箇所以下の誤りがある場合、情報記憶装置３は、ユーザデータ（０）が訂正可能であることを情報処理装置２に通知する（ステップＳ３０２）。その後、情報記憶装置３は、ユーザデータ（０）の誤り箇所を訂正した後、情報処理装置２に訂正したユーザデータ（０）を転送する（ステップＳ３０３）。
【００４５】
よって、図４では、ＥＣＣ訂正したユーザデータ（０）は、情報処理装置２に転送されるだけで、情報記憶装置３内のユーザデータ（０）は書き戻されずに処理が終了となる。
【００４６】
また、ＥＣＣ訂正が可能なデータのリード転送処理の他の例について、図５のフローチャートを用いて説明する。この図５では、ＥＣＣ訂正したユーザデータ（０）が情報処理装置２に転送されるとともに、情報記憶装置３内のユーザデータ（０）もＥＣＣ訂正されたユーザデータ（０）に書き戻される処理について記載する。
【００４７】
まず、情報処理装置２が、情報記憶装置３に対してユーザデータ（０）のリード転送を要求する（ステップＳ４０１）。ユーザデータ（０）にＸ箇所以下の誤りがある場合、情報記憶装置３は、ユーザデータ（０）が訂正可能であることを情報処理装置２に通知する（ステップＳ４０２）。
【００４８】
そして、情報記憶装置３は、ユーザデータ（０）の誤り箇所を訂正した後、情報処理装置２に訂正したユーザデータ（０）を転送する（ステップＳ４０３）。その後、情報処理装置２は、情報記憶装置３に対してＥＣＣ訂正したユーザデータ（０）の書き戻しを要求し（ステップＳ４０４）、該情報記憶装置３が、ユーザデータ（０）を訂正したユーザデータに書き戻す。
【００４９】
図５のフローチャートでは、ユーザデータの転送の後に書き戻し要求を行っているが、これを先に書き戻し要求を行った後にユーザデータの転送を行っても本発明は実現することができる。
【００５０】
次に、ユーザデータのＥＣＣ訂正がない場合のリード転送処理について、図６のフローチャートを用いて説明する。
【００５１】
まず、情報処理装置２が、情報記憶装置３に対してユーザデータ（０）のリード転送を要求する（ステップＳ５０１）。その要求を受けて、情報記憶装置３は、ユーザデータ（０）の転送可能を情報処理装置２に通知し（ステップＳ５０２）、その後、リードしたユーザデータ（０）を情報処理装置２に転送する（ステップＳ５０３）。
【００５２】
また、図３において示したユーザデータのライト転送処理のうち、情報記憶装置３におけるユーザデータのライト転送処理を図７のフローチャートを用いて説明する。
【００５３】
まず、情報処理装置２からユーザデータ（ｍ）のライト処理要求があると（ステップＳ６０１）、情報記憶回路９に当該エリアがあるか否かを制御回路４が判断する（ステップＳ６０２）。
【００５４】
当該エリアがない場合、制御回路４は、当該エリアがないことを情報処理装置２に通知して（ステップＳ６０３）処理が終了となる。また、当該エリアがある場合、制御回路４は、情報処理装置２から転送されたユーザデータ（ｍ）を情報記憶回路９に記憶させる（ステップＳ６０４）。
【００５５】
その後、Ｙ箇所訂正用ＥＣＣコード生成回路７がユーザデータ（ｍ）から算出した複数訂正用ＥＣＣコードを生成し、管理データ（ｍ）として情報記憶回路９に格納する（ステップＳ６０５）。そして、制御回路４は、情報処理装置２にライトデータの転送通知を行い（ステップＳ６０６）、処理が終了する。
【００５６】
これによって、情報処理装置２はＥＣＣコードを生成しなくてもよく、処理負荷を小さくすることができる。ここでは、情報記憶装置３によってＥＣＣコードを生成する場合について記載したが、該ＥＣＣコードを情報処理装置２にＹ箇所訂正用ＥＣＣコード生成回路を別に設け、ＥＣＣコードを生成し、管理データ（ｍ）として情報記憶回路９に格納するようにしてもよい。
【００５７】
次に、情報記憶装置３におけるユーザデータのリード転送処理の一例を図８のフローチャートを用いて説明する。
【００５８】
まず、情報処理装置２から情報記憶装置３に対してユーザデータ（ｍ）のリード転送要求があると、制御回路４は、該ユーザデータ（ｍ）、ならびに管理データ（ｍ）を誤り検出回路６に転送する（ステップＳ７０１）。
【００５９】
そして、誤り検出回路６がユーザデータ（ｍ）に誤りがあるか否かをチェックする（ステップＳ７０２）。ユーザデータ（ｍ）に誤りがない場合、制御回路４は、ユーザデータ（ｍ）が転送可能であることを情報処理装置２に通知する（ステップＳ７０３）。
【００６０】
続いて、制御回路４は、ユーザデータ（ｍ）を入出力回路５を介して情報処理装置２に転送し（ステップＳ７０４）、処理が終了となる。
【００６１】
また、ステップＳ７０２の処理において、ユーザデータ（ｍ）に誤りがある場合、制御回路４は、ユーザデータ（ｍ）、および管理データ（ｍ）をＸ箇所誤り位置および訂正データ算出回路８に転送する（ステップＳ７０５）。
【００６２】
Ｘ箇所誤り位置および訂正データ算出回路８は、ユーザデータ（ｍ）の訂正箇所、および訂正データを算出し（ステップＳ７０６）、該訂正箇所が訂正可能か否かを判断する（ステップＳ７０７）。
【００６３】
そして、訂正箇所が訂正不可の場合、すなわち、訂正箇所がＸ箇所よりも多い場合には、情報処理装置２に対してユーザデータ（ｍ）が訂正不可であることを通知する（ステップＳ７０８）。
【００６４】
その後、制御回路４は、ユーザデータ（ｍ）、および管理データ（ｍ）を入出力回路５を介して情報処理装置２に転送し（ステップＳ７０９）、処理が終了となる。
【００６５】
情報処理装置２は、ユーザデータ（ｍ）と管理データ（ｍ）とを受け取り、必要であればＹ箇所誤り位置および訂正データ算出回路２ａによってユーザデータ（ｍ）の訂正箇所を訂正する。
【００６６】
たとえば、多少の誤データ（たとえば、音声の途切れや画像のノイズなど）が含まれていても該データを連続して途切れなく転送することを要求される音声データや画像データなどでは誤り訂正を行わず、システムデータなどの重要なデータである場合にはユーザデータ（ｍ）の訂正を行う。
【００６７】
また、ステップＳ７０７の処理において、訂正箇所が訂正可能、すなわち、訂正箇所がＸ箇所以下の場合、制御回路４は、情報処理装置２に対して、誤り箇所があるが該誤り箇所は訂正可能であることを通知する（ステップＳ７１０）。
【００６８】
続いて、訂正前のユーザデータ（ｍ）を情報記憶回路９から入出力回路５に読み出し、Ｘ箇所誤り位置および訂正データ算出回路８が算出した訂正箇所に訂正データを置き換えて情報処理装置２に転送して（ステップＳ７１１）処理が終了となる。
【００６９】
また、ステップＳ７１１の処理において、Ｘ箇所誤り位置および訂正データ算出回路８が算出した訂正箇所に訂正データを置き換えて情報処理装置２に転送する際に、情報記憶回路９に格納されている誤りのあるユーザデータ（ｍ）を訂正データに置き換えたユーザデータ（ｍ）に書き換えするようにしてもよい。
【００７０】
その場合、情報処理装置２によってコマンドや制御フラグなどを設定することにより、自動的に訂正されたユーザデータ（ｍ）に書き換えが行われることになる。
【００７１】
次に、情報記憶装置３におけるユーザデータのリード転送処理の他の例を図９のフローチャートを用いて説明する。
【００７２】
まず、情報処理装置２から情報記憶装置３に対してユーザデータ（ｍ）のリード転送要求があると、制御回路４は、該ユーザデータ（ｍ）、ならびに管理データ（ｍ）を誤り検出回路６に転送する（ステップＳ８０１）。
【００７３】
誤り検出回路６は、ユーザデータ（ｍ）に誤りがあるか否かをチェックし（ステップＳ８０２）、該ユーザデータ（ｍ）に誤りがない場合、制御回路４は、ユーザデータ（ｍ）が転送可能であることを情報処理装置２に通知する（ステップＳ８０３）。そして、制御回路４は、ユーザデータ（ｍ）を入出力回路５を介して情報処理装置２に転送し（ステップＳ８０４）、処理が終了となる。
【００７４】
また、ステップＳ８０２の処理において、ユーザデータ（ｍ）に誤りがある場合、制御回路４は、ユーザデータ（ｍ）、および管理データ（ｍ）をＸ箇所誤り位置および訂正データ算出回路８に転送する（ステップＳ８０５）。
【００７５】
続いて、Ｘ箇所誤り位置および訂正データ算出回路８は、ユーザデータ（ｍ）の訂正箇所、および訂正データを算出し（ステップＳ８０６）、該訂正箇所が訂正可能か否かを判断する（ステップＳ８０７）。
【００７６】
訂正箇所が訂正不可の場合、すなわち、訂正箇所がＸ箇所よりも多い場合には、情報処理装置２に対してユーザデータ（ｍ）が訂正不可であることを通知する（ステップＳ８０８）。
【００７７】
そして、制御回路４は、ユーザデータ（ｍ）、および管理データ（ｍ）を入出力回路５を介して情報処理装置２に転送し（ステップＳ８０９）、処理が終了となる。情報処理装置２は、ユーザデータ（ｍ）と管理データ（ｍ）とを受け取り、必要であればＹ箇所誤り位置および訂正データ算出回路２ａによってユーザデータ（ｍ）の訂正箇所を訂正する。
【００７８】
また、ステップＳ８０７の処理において、訂正箇所が訂正可能、すなわち、訂正箇所がＸ箇所以下の場合、制御回路４は、誤り箇所があるが該誤り箇所は訂正可能であることを情報処理装置２に通知する（ステップＳ８１０）。
【００７９】
続いて、制御回路４は、情報処理装置２から転送開始の要求があるか否かを判断する（ステップＳ８１１）。転送が開始されると、訂正前のユーザデータ（ｍ）を情報記憶回路９から入出力回路５に読み出し、Ｘ箇所誤り位置および訂正データ算出回路８が算出した訂正箇所に訂正データを置き換えて情報処理装置２に転送する（ステップＳ８１２）。
【００８０】
そして、ステップＳ８１１の処理で、情報処理装置２から転送開始の要求がない場合、またはステップＳ８１２の処理が終了した際には、制御回路４が、情報処理装置２からユーザデータの訂正要求があるか否かを判断する（ステップＳ８１３）。
【００８１】
情報処理装置２からユーザデータの訂正要求がある場合、訂正前のユーザデータ（ｍ）を情報記憶回路９から入出力回路５に読み出し、Ｘ箇所誤り位置および訂正データ算出回路８が算出した訂正箇所を訂正データに書き換えて情報記憶回路９に格納する（ステップＳ８１４）。
【００８２】
ステップＳ８１４の処理、あるいは情報処理装置２からユーザデータの訂正要求がない場合には、処理が終了となる。
【００８３】
それにより、本実施の形態によれば、発生確率の高い小規模なエラー訂正は情報記憶装置３で行い、発生確率の低い大規模なエラー訂正は情報処理装置２によって行うので、該情報処理装置２のオーバヘッドを小さくすることができる。
【００８４】
また、小規模なエラー訂正のみを情報記憶装置３で行うことによって、該情報記憶装置３の回路規模を小さくすることができる。
【００８５】
さらに、情報処理装置２によって、大規模なエラー訂正を行うか否かを任意に選択して実行することができるので、データに応じた最適な信頼度の情報処理システム１を構築することができる。
【００８６】
以上、本発明者によってなされた発明を発明の実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【図面の簡単な説明】
【００８７】
【図１】本発明の実施の形態による情報処理システムのブロック図である。
【図２】図１の情報処理システムにおけるＥＣＣ訂正不可時の読み出し転送処理のフローチャートである。
【図３】図１の情報処理システムにおけるユーザデータのライト転送処理のフローチャートである。
【図４】図１の情報処理システムにおけるＥＣＣ訂正が可能なユーザデータのリード転送処理の一例を示すフローチャートである。
【図５】図１の情報処理システムにおけるＥＣＣ訂正が可能なユーザデータのリード転送処理の他の例を示すフローチャートである。
【図６】図１の情報処理システムにおけるユーザデータのＥＣＣ訂正がない場合のリード転送処理のフローチャートである。
【図７】図１の情報処理システムに設けられた情報記憶装置におけるユーザデータのライト転送時の内部処理のフローチャートである。
【図８】図１の情報処理システムに設けられた情報記憶装置におけるユーザデータのリード転送時の内部処理のフローチャートである。
【図９】図１の情報処理システムに設けられた情報記憶装置におけるユーザデータのリード転送時の内部処理の他の例を示すフローチャートである。
【符号の説明】
【００８８】
１  情報処理システム
２  情報処理装置
２ａ  Ｙ箇所誤り位置および訂正データ算出回路（第２のデータ訂正算出部）
３  情報記憶装置
４  制御回路（情報処理部）
５  入出力回路（転送処理部）
６  誤り検出回路（転送処理部、誤り検出部）
７  Ｙ箇所訂正用ＥＣＣコード生成回路（転送処理部、管理データ生成部）
８  Ｘ箇所誤り位置および訂正データ算出回路（転送処理部、第１のデータ訂正算出部）
９  情報記憶回路（半導体メモリ）
【図１】
2008198234.tif 000003
【図２】
2008198234.tif 000004
【図３】
2008198234.tif 000005
【図４】
2008198234.tif 000006
【図５】
2008198234.tif 000007
【図６】
2008198234.tif 000008
【図７】
2008198234.tif 000009
【図８】
2008198234.tif 000010
【図９】
2008198234.tif 000011