(57)【要約】【課題】メモリ素子の情報を正常に読み出すことができる記憶媒体再生装置を提供すること。【解決手段】電荷量の大小に関連付けて情報を記憶する記憶部１１０と、第１の閾値と、記憶部１１０に記憶された電荷量とを比較して、比較結果に基づいて記憶部１１０から電荷量に関連付けられた情報を読み出す比較部１０４ａ〜１０４ｃと、読出した情報に誤りが存在するか否かを判断する誤り検出部１０６と、情報に誤りが存在すると判断した場合に、比較部１０４ａ〜１０４ｃが情報を読み出す際に用いた第１の閾値と異なる値の第２の閾値を生成する閾値生成部１０７とを備え、比較部１０４ａ〜１０４ｃは、情報に誤りが存在すると判断した場合に、閾値生成部１０７が生成した第２の閾値を第１の閾値として記憶部１１０から情報読み出すことを特徴とする。【選択図】        図１
2010055746.tif 000002
【特許請求の範囲】
【請求項１】
電荷量の大小に関連付けて情報を記憶する記憶手段と、
第１の閾値と、前記記憶手段に記憶された電荷量とを比較して、比較結果に基づいて前記記憶手段から電荷量に関連付けられた情報を読み出す比較手段と、
ＣＲＣ符号およびチェックサムのいずれか一方である誤り検出符号を用いて、前記比較手段が読出した情報に誤りが存在するか否かを判断する誤り検出手段と、
前記誤り検出手段が情報に誤りが存在すると判断した場合に、前記比較手段が情報を読み出す際に用いた前記第１の閾値と異なる値の第２の閾値を生成する閾値生成手段と、を備え、
前記比較手段は、前記誤り検出手段が情報に誤りが存在すると判断した場合に、前記閾値生成手段が生成した前記第２の閾値を前記第１の閾値として前記記憶手段から情報を読み出すことを特徴とする記憶媒体再生装置。
【請求項２】
予め定められた複数の閾値を記憶する閾値候補記憶手段をさらに備え、
前記閾値生成手段は、前記誤り検出手段が情報に誤りが存在すると判断した場合に、前記閾値候補記憶手段に記憶された前記複数の閾値から任意の閾値を取得し、取得した閾値を前記第２の閾値として生成することを特徴とする請求項１に記載の記憶媒体再生装置。
【請求項３】
前記閾値生成手段は、前記誤り検出手段が情報に誤りが存在すると判断した場合に、前記比較手段が情報を読み出す際に用いた前記第１の閾値より小さい閾値を前記閾値候補記憶手段から取得し、取得した閾値を前記第２の閾値として生成することを特徴とする請求項２に記載の記憶媒体再生装置。
【請求項４】
前記閾値候補記憶手段は、前記記憶手段に蓄積された電荷が放電されていないときに用いる初期閾値と、前記電荷の放電特性に応じて予め定められた閾値であって、前記初期閾値より小さい複数の閾値とを記憶し、
前記閾値生成手段は、前記誤り検出手段が情報に誤りが存在すると判断した場合に、前記比較手段が情報を読み出す際に用いた前記第１の閾値より小さい閾値を前記閾値候補記憶手段から取得し、取得した閾値を前記第２の閾値として生成することを特徴とする請求項２に記載の記憶媒体再生装置。
【請求項５】
前記比較手段が情報を読み出す際に用いた前記第１の閾値を記憶する読出し閾値記憶手段をさらに備え、
前記閾値生成手段は、前記誤り検出手段が情報に誤りが存在しないと判断した場合に、前記比較手段が情報を読み出す際に用いた前記第１の閾値を前記読出し閾値記憶手段に記憶し、
前記比較手段は、前記読出し閾値記憶手段に記憶されている前記第１の閾値を読出し、読出した前記第１の閾値を用いて前記記憶手段に記憶された電荷量との比較を行うことを特徴とする請求項１に記載の記憶媒体再生装置。
【請求項６】
予め定められた複数の閾値を記憶する閾値候補記憶手段をさらに備え、
前記閾値生成手段は、前記誤り検出手段が情報に誤りが存在すると判断した場合に、前記比較手段が情報を読み出す際に用いた前記第１の閾値より小さい閾値を前記閾値候補記憶手段から取得し、取得した閾値を前記第２の閾値として生成することを特徴とする請求項５に記載の記憶媒体再生装置。
【請求項７】
前記閾値候補記憶手段は、前記記憶手段に蓄積された電荷が放電されていないときに用いる初期閾値と、前記電荷の放電特性に応じて予め定められた閾値であって、前記初期閾値より小さい複数の閾値とを記憶し、
前記閾値生成手段は、前記誤り検出手段が情報に誤りが存在すると判断した場合に、前記比較手段が情報を読み出す際に用いた前記第１の閾値より小さい閾値を前記閾値候補記憶手段から取得し、取得した閾値を前記第２の閾値として生成することを特徴とする請求項６に記載の記憶媒体再生装置。
【請求項８】
前記誤り検出手段が情報に誤りが存在しないと判断した場合に、前記第１の閾値と予め定められた第１の基準値とを比較し、前記第１の基準値より小さい場合に、前記記憶手段の電荷量を正常値に保持するリフレッシュ動作を行うリフレッシュ制御手段をさらに備えたことを特徴とする請求項１に記載の記憶媒体再生装置。
【請求項９】
第１の閾値と、電荷量の大小に関連付けて情報を記憶する記憶手段に記憶された電荷量とを比較して、比較結果に基づいて前記記憶手段から電荷量に関連付けられた情報を読み出す比較ステップと、
ＣＲＣ符号およびチェックサムのいずれか一方である誤り検出符号を用いて、前記比較ステップが読出した情報に誤りが存在するか否かを判断する誤り検出ステップと、
前記誤り検出ステップが情報に誤りが存在すると判断した場合に、前記比較ステップが情報を読み出す際に用いた前記第１の閾値と異なる値の第２の閾値を生成する閾値生成ステップと、を備え、
前記比較ステップは、前記誤り検出ステップが情報に誤りが存在すると判断した場合に、前記閾値生成ステップが生成した前記第２の閾値を前記第１の閾値として前記記憶手段から情報読み出すことを特徴とする記憶媒体再生方法。
【請求項１０】
第１の閾値と、電荷量の大小に関連付けて情報を記憶する記憶手段に記憶された電荷量とを比較して、比較結果に基づいて前記記憶手段から電荷量に関連付けられた情報を読み出す比較手順と、
ＣＲＣ符号およびチェックサムのいずれか一方である誤り検出符号を用いて、前記比較手順が読出した情報に誤りが存在するか否かを判断する誤り検出手順と、
前記誤り検出手順が情報に誤りが存在すると判断した場合に、前記比較手順が情報を読み出す際に用いた前記第１の閾値と異なる値の第２の閾値を生成する閾値生成手順と、を備え、
前記比較手順は、前記誤り検出手順が情報に誤りが存在すると判断した場合に、前記閾値生成手順が生成した前記第２の閾値を前記第１の閾値として前記記憶手段から情報読み出すことをコンピュータに実行させる記憶媒体再生プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、記憶媒体に記憶された情報を読み出す記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラムに関するものである。
【背景技術】
【０００２】
近年、保持された電荷量に応じて情報を記憶するフラッシュメモリなどの半導体メモリ素子が広く知られている。また、電荷量の閾値を複数設定することにより２ビット以上の情報を記憶する多値メモリ技術も開発されている。
【０００３】
電荷を蓄積するタイプのメモリ素子は、メモリ素子に寄生する抵抗やセンスアンプの入力抵抗などを原因として、時間経過とともに、また、読出し操作のたびに放電する。自然放電による電荷蓄積量の低下は、読み書き操作を長時間行わない場合にも発生するため、特に不揮発メモリで長時間電源が投入されなかったときに情報の読出しが不能になる状況が発生しやすくなる。また、特に多値メモリでは放電によるメモリ素子の出力の低下の影響が大きく、読出し可能回数の制限の原因となっている。
【０００４】
そこで、情報の読出しが不能になる状況が生じる前に、メモリ素子の出力電圧を検知し、出力電圧が低下している場合に、再度情報の記憶をやり直すリフレッシュ動作を行うことにより、正しく情報を読み出せるように維持する技術が提案されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第５９０９４４９号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の方法では、書き込みから長期間が経過して大きくメモリ素子の出力電圧が低下していると、リフレッシュ動作で書き込むための正常な情報をメモリ素子群から読み出すことができないという問題があった。このため、書き込みから長期間が経過したメモリ素子に対してリフレッシュ動作を行うことができず、結果として正常に情報を読み出すことができないという問題があった。
【０００７】
本発明は、上記に鑑みてなされたものであって、長期間の放電により出力電圧が低下したメモリ素子の情報を正常に読み出すことができる記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、記憶媒体再生装置において、電荷量の大小に関連付けて情報を記憶する記憶手段と、第１の閾値と、前記記憶手段に記憶された電荷量とを比較して、比較結果に基づいて前記記憶手段から電荷量に関連付けられた情報を読み出す比較手段と、ＣＲＣ符号およびチェックサムのいずれか一方である誤り検出符号を用いて、前記比較手段が読出した情報に誤りが存在するか否かを判断する誤り検出手段と、前記誤り検出手段が情報に誤りが存在すると判断した場合に、前記比較手段が情報を読み出す際に用いた前記第１の閾値と異なる値の第２の閾値を生成する閾値生成手段と、を備え、前記比較手段は、前記誤り検出手段が情報に誤りが存在すると判断した場合に、前記閾値生成手段が生成した前記第２の閾値を前記第１の閾値として前記記憶手段から情報を読み出すことを特徴とする。
【０００９】
また、本発明は、上記装置を実行することができる記憶媒体再生方法および記憶媒体再生プログラムである。
【発明の効果】
【００１０】
本発明によれば、読出した情報に誤りが存在する場合に、メモリ素子に記憶された符号を判定するための閾値を変更して再度情報を読み出すことができる。このため、放電が進んだメモリ素子であっても、正常に情報を読み出すことができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態にかかる記憶媒体再生装置の構成を示すブロック図である。
【図２】記憶部を構成するメモリ素子の等価回路の一例を示す説明図である。
【図３】メモリ素子の電荷量分布の一例を示した説明図である。
【図４】閾値生成部の詳細な構成を示すブロック図である。
【図５】ＲＯＭに記憶された閾値電圧の組の格納例を示す説明図である。
【図６】第１の実施の形態における情報読出し処理の全体の流れを示すフローチャートである。
【図７】第２の実施の形態にかかる記憶媒体再生装置の構成を示すブロック図である。
【図８】第２の実施の形態における情報読出し処理の全体の流れを示すフローチャートである。
【図９】第２の実施の形態における情報読出し処理の別の例を示すフローチャートである。
【図１０】第３の実施の形態にかかる記憶媒体再生装置の構成を示すブロック図である。
【図１１】第３の実施の形態における情報読出し処理の全体の流れを示すフローチャートである。
【図１２】リフレッシュ処理の全体の流れを示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、この発明にかかる記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラムの最良な実施の形態を詳細に説明する。
【００１３】
（第１の実施の形態）
第１の実施の形態にかかる記憶媒体再生装置は、読出した情報の誤りを検出し、誤りが検出された場合に、メモリ素子に記憶された符号を判定するための閾値を変更して再度情報を読み出すものである。
【００１４】
図１は、第１の実施の形態にかかる記憶媒体再生装置１００の構成を示すブロック図である。同図に示すように、記憶媒体再生装置１００は、記憶部１１０と、誤り検出符号生成部１０１と、誤り訂正符号生成部１０２と、書込み制御部１０３ａ〜１０３ｃと、比較部１０４ａ〜ｃと、誤り訂正部１０５と、誤り検出部１０６と、閾値生成部１０７とを備えている。
【００１５】
記憶部１１０は、予め定められた電荷量の閾値に対する電荷量の大小により情報を記憶するメモリ素子であり、フラッシュメモリ、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの一般的に利用されている半導体メモリにより構成することができる。記憶部１１０は、１つの閾値を有し、“０”か“１”かの２値を記憶する２値のメモリ素子で構成してもよいし、複数の閾値を有する多値メモリ素子により構成してもよい。以下では、３つの閾値を有する４値メモリ素子により記憶部１１０を構成した例について説明する。
【００１６】
記憶部１１０は、情報記憶部１１０ａと、誤り検出符号記憶部１１０ｂと、誤り訂正符号記憶部１１０ｃとを備えている。情報記憶部１１０ａは、４値メモリ素子であるメモリセルを複数備えた記憶部であり、記憶部１１０に記憶する情報そのものを格納する記憶部である。
【００１７】
誤り検出符号記憶部１１０ｂは、情報記憶部１１０ａと同様に４値メモリ素子であるメモリセルを備えた記憶部であり、記憶する情報に対応する誤り検出符号を格納する。
【００１８】
誤り訂正符号記憶部１１０ｃは、情報記憶部１１０ａと同様に４値メモリ素子であるメモリセルを備えた記憶部であり、記憶する情報に対応する誤り訂正符号を格納する。
【００１９】
図２は、記憶部１１０を構成するメモリ素子の等価回路の一例を示す説明図である。同図の（ａ）は４値のメモリ素子の等価回路を表し、同図の（ｂ）は８値のメモリ素子の等価回路を表している。
【００２０】
なお、同図の右側の回路は、後述する比較部１０４ａ〜ｃの等価回路を示しており、同図の左側の回路が電荷を蓄積するメモリ素子の等価回路を示している。また、同図では、１つのメモリ素子だけを表しているが、実際の記憶部１１０は、このようなメモリ素子を複数並列に備えている。すなわち、複数のメモリ素子の一部が情報記憶部１１０ａに相当し、それ以外の部分が、誤り検出符号記憶部１１０ｂおよび誤り訂正符号記憶部１１０ｃに相当し、全体として記憶部１１０を構成している。
【００２１】
４値のメモリ素子の場合、蓄積した電荷量をコンパレータによって３つの閾値と比較することにより、ビットＢ０およびビットＢ１の２ビットの情報を出力することができ、これによって４値の情報（０１、００、１０、１１）を格納している。
【００２２】
同図に示すような等価回路で表せるメモリ素子としては、ＥＥＰ−ＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＤＲＡＭ等が存在する。このようなメモリ素子は、同図のコンデンサＣｍに蓄えた電荷の量で情報を表現する。抵抗Ｒｄは比較的低抵抗であるが、抵抗ＲＧはデバイス構成上生じる寄生的抵抗であり高い値の抵抗である。
【００２３】
コンデンサＣｍに蓄えられた電荷はスイッチＳＷｄをオンにすると抵抗Ｒｄを経由して短時間で放電することができる。例えばＥＥＰ−ＲＯＭやフラッシュメモリの消去の際に、このような放電操作が行われる。放電が終了したらスイッチＳＷｃを解放する。
【００２４】
このメモリ素子に対する情報の記憶は、一度消去操作を行った後に、スイッチＳＷｃをオンにして規定量の電荷をコンデンサＣｍに充電することによって行う。例えば、４値（２ｂｉｔ）を記憶する場合は、満充電時のＣｍの両端の電圧を基準として、符号“１１”が０％、符号“１０”が３３％、符号“００”が６７％、符号“０１”が１００％のように電荷量を規定する。そして、記憶する符号に応じてスイッチＳＷｃをオンにする時間を調節することにより蓄積する電荷量を制御し、情報を記憶する。
【００２５】
なお、各符号に割り当てる電荷量は上記割合に限られるものではなく、メモリ素子の特性に応じて増減するように構成してもよい。また電荷量の調節方法は上記例に限られるものではなく、予め規定した電荷量を蓄えるように調整する方法であればどのような方法でもよい。
【００２６】
読出しの際には、スイッチＳＷｒをオンにし、予め定められた閾値電圧（Ｅｔｈ０、Ｅｔｈ１、Ｅｔｈ２）と比較することによって各符号を判定する。判定が終了したらスイッチＳＷｒをオフにする。
【００２７】
本実施の形態では、多数のメモリ素子に対し並列に情報を記憶再生する。多数のメモリ素子に情報の記憶を行うと製造上の理由からメモリ素子同士の特性のばらつきが生ずる。
【００２８】
図３は、メモリ素子の電荷量分布の一例を示した説明図である。同図の左側は、書き込み直後の電荷量分布を表し、同図の中央は、時間経過後の電荷量分布を表している。同図の右側は、さらに時間が経過した後の電荷量分布を示している。なお、Ｅｔｈ０〜Ｅｔｈ２は電荷量の閾値を表している。
【００２９】
同図に示すように、情報記憶直後の各メモリ素子の電荷量はある程度の幅の範囲に分布するため、各符号を分離する閾値電圧はこの分布を勘案して決定すればよい。ところが、時間経過や情報の読出しに伴い、抵抗ＲＧや抵抗ＲＬにより徐々にコンデンサＣｍの電荷が放電され、同図の中央に示すように出力電圧が閾値電圧に接近するメモリ素子が生じる。仮に出力電圧が閾値を超えて低下した場合、そのメモリ素子の符号の値は誤って判別される。
【００３０】
本実施の形態では、情報の読出しの誤りが発生した場合、閾値電圧の値を変更して再度読出しを行い、正常に情報が読み出せるまでこれを繰り返す。これにより、時間経過による放電が発生した場合でも正常に情報を読み出すことが可能となる。
【００３１】
誤り検出符号生成部１０１は、情報の書込み処理時に、情報の誤り検出符号を生成するものである。誤り検出符号の生成方法は、記憶する情報が誤っているか否かを検出できる検出符号を生成するものであれば、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）符号（ＣＲＣ１６、ＣＲＣ３２等）、チェックサムなどの従来から用いられているあらゆる方法を適用することができる。
【００３２】
誤り訂正符号生成部１０２は、情報の書込み処理時に、記憶する情報と、誤り検出符号生成部１０１が生成した誤り検出符号とを合わせた情報から、誤り訂正符号を生成するものである。誤り訂正符号の生成方法は、即時誤り訂正が可能な方法であれば、ＢＣＨ（Ｂｏｓｅ−Ｃｈａｕｄｈｕｒｉ−Ｈｏｃｑｕｅｎｇｈｅｍ）符号、ＲＳ（Ｒｅｅｄ−Ｓｏｌｏｍｏｎ）符号などの従来から用いられているあらゆる方法を適用することができる。
【００３３】
なお、誤り訂正を行わず、誤り検出だけを行うように構成してもよい。この場合は、誤り訂正符号生成部１０２、誤り訂正符号記憶部１１０ｃ、後述する誤り訂正部１０５は不要となる。
【００３４】
誤り検出符号生成部１０１および誤り訂正符号生成部１０２が生成した誤り検出符号および誤り訂正符号は、記憶する情報とともに記憶部１１０を構成するメモリ素子群に記憶される。なお、例えば、誤り検出にＣＲＣ１６を用い、ＢＣＨ符号を用いて訂正符号を含めて４ｂｉｔまでの誤りの訂正を行うとすると、誤り検出に１６ｂｉｔ、誤り訂正に４８ｂｉｔが必要となる。すなわち、誤り検出符号記憶部１１０ｂに必要な記憶容量は１６ｂｉｔであり、誤り訂正符号記憶部１１０ｃに必要な記憶容量は４８ｂｉｔとなる。
【００３５】
情報記憶部１１０ａに２０４８ｂｉｔの情報を記憶する場合は、記憶部１１０を構成するメモリ素子群は、記憶する情報、誤り検出符号および誤り訂正符号を記憶する容量として２１１２ｂｉｔ（＝２０４８＋１６＋４８）が必要となる。
【００３６】
なお、このような記憶部１１０を並列に並べ、記憶部１１０以外の構成を共通で使用することにより、大容量の記憶装置を実現するように構成してもよい。すなわち、記憶する情報と誤り検出符号と誤り訂正符号とを１単位（例えば２１１２ｂｉｔ）としたメモリ素子群を複数個並列に配置し、書込み処理および読出し処理時には、書き込み制御部１０３ａ〜１０３ｃや比較部１０４ａ〜ｃを切替えて接続するように構成する。
【００３７】
書込み制御部１０３ａ〜１０３ｃは、記憶部１１０に対する情報、誤り検出符号、誤り訂正符号の書込み処理を制御するものである。なお、書込み制御部１０３ａ、１０３ｂ、１０３ｃは、それぞれ情報記憶部１１０ａ、誤り検出符号記憶部１１０ｂ、誤り訂正符号記憶部１１０ｃに対して書込み処理を行う。
【００３８】
比較部１０４ａ〜ｃは、閾値電圧と、記憶部１１０に記憶された電荷量とを比較することにより記憶部１１０から情報を読み出すものである。閾値電圧の初期値は、書き込み直後に正常に符号が判別できる値を用いる。
【００３９】
なお、比較部１０４ａ、１０４ｂ、１０４ｃは、それぞれ情報記憶部１１０ａ、誤り検出符号記憶部１１０ｂ、誤り訂正符号記憶部１１０ｃから情報を読み出す。
【００４０】
後述する誤り検出部１０６により読み出した情報に誤りが存在することが検出された場合、比較部１０４ａ〜ｃは、後述する閾値生成部１０７により生成された新たな閾値電圧を用いて、再度記憶部１１０に記憶された電荷量と比較して情報を読み出す。
【００４１】
誤り訂正部１０５は、比較部１０４ｃが読み出した誤り訂正符号を用いて、情報記憶部１１０ａから読み出した情報と、誤り検出符号記憶部１１０ｂから読み出した誤り検出符号とを合わせた情報に対する誤り訂正処理を行うものである。誤り訂正では、ＢＣＨ符号、ＲＳ符号を用いた誤り訂正などの従来から用いられているあらゆる誤り訂正技術を適用することができる。
【００４２】
誤り検出部１０６は、比較部１０４ｂが読み出して誤り訂正部１０５が訂正した誤り検出符号を用いて、比較部１０４ａが読み出して誤り訂正部１０５が訂正した情報に誤りが含まれているか否かを判断するものである。誤り検出では、ＣＲＣ符号、チェックサムなどを用いた誤り検出などの従来から用いられているあらゆる誤り検出技術を適用することができる。なお、誤り訂正を行わない構成の場合は、誤り検出部１０６は、比較部１０４ａが読み出した情報に誤りが含まれているか否かを判断する。
【００４３】
閾値生成部１０７は、誤り検出部１０６が読み出した情報に誤りが存在することを検出した場合、そのときに比較に用いた閾値電圧と異なる値の閾値電圧を生成するものである。なお、閾値生成部１０７は、初回の読み出し時には書き込み直後に正常に符号が判別できる閾値電圧の初期値を生成する。
【００４４】
図４は、閾値生成部１０７の詳細な構成を示すブロック図である。同図に示すように、閾値生成部１０７は、閾値生成制御部４０１と、レジスタ４０２と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）４０３と、Ｄ／Ａ（Ｄｉｇｉｔａｌ／Ａｎａｌｏｇ）コンバータ４０４と、を備えている。
【００４５】
閾値生成制御部４０１は、閾値生成処理を制御する制御部である。レジスタ４０２は、現在使用している閾値電圧の値を記憶する記憶部である。ＲＯＭ４０３は、予め定められた複数の閾値電圧の組を記憶する記憶部である。なお、複数の閾値電圧の組を記憶する記憶部は、閾値生成部１０７の外部に備えるように構成してもよい。
【００４６】
図５は、ＲＯＭ４０３に記憶された閾値電圧の組の格納例を示す説明図である。同図に示すように、ＲＯＭ４０３には、閾値電圧の組を一意に識別するための設定ＩＤと、各閾値電圧（Ｅｔｈ２、Ｅｔｈ１、Ｅｔｈ０）とが対応づけて格納されている。
【００４７】
閾値電圧の組のうち一つは、閾値電圧の初期値として、書き込み直後に誤りなく符号が判別できる閾値の組合せを指定する。同図に示す例では、閾値Ｅｔｈ２に０．８３、閾値Ｅｔｈ１に０．５０、閾値Ｅｔｈ０に０．１７が設定された設定ＩＤ＝１の組が初期値として指定されている。これは記憶素子の出力が、符号“０１”（満充電時）に対し１．００［Ｖ］、符号“００”に対し０．６７［Ｖ］、符号“１０”に対し０．３３［Ｖ］、符号“１１”に対し０．００［Ｖ］となることを想定した値である。
【００４８】
なお、ＲＯＭ４０３に記憶する値は、メモリ素子の放電特性に合わせて判定誤りが少なくなるように値を調整しておくことが望ましい。同図では、放電特性に合わせて調整された４つの閾値電圧の組が示されている。
【００４９】
Ｄ／Ａコンバータ４０４は、ＲＯＭ４０３に記憶された閾値電圧の値を比較部１０４ａ〜１０４ｃが比較に用いることができるようにアナログ信号に変換して出力するものである。
【００５０】
閾値生成制御部４０１は、誤りが検出された場合に、レジスタ４０２に記憶された現在の閾値電圧の設定値を参照し、この設定値と異なっている設定値を選択してレジスタ４０２に記憶する。選択の方法は任意であり、例えば無作為に選択するように構成する。
【００５１】
なお、誤り検出や誤り訂正を適用する関係上、これらのメモリ素子群に含まれる各メモリ素子の読出し回数は同一となる。そのため、蓄積電荷の放電量はメモリ素子群内のメモリ素子内ではほとんど差がないと考えてよいので、同一のメモリ素子群内のメモリ素子に対しては同一の閾値電圧を用いる。
【００５２】
次に、このように構成された第１の実施の形態にかかる記憶媒体再生装置１００による情報読出し処理について説明する。図６は、第１の実施の形態における情報読出し処理の全体の流れを示すフローチャートである。
【００５３】
まず、閾値生成部１０７が、ＲＯＭ４０３を参照して、比較部１０４ａ〜ｃが比較に用いる閾値電圧を生成する（ステップＳ６０１）。閾値生成部１０７は、読出し指示を受けて最初の比較処理では、閾値電圧の初期値をＲＯＭ４０３から取得して閾値電圧を生成する。
【００５４】
次に、閾値生成部１０７は、閾値電圧が生成できたか否かを判断し（ステップＳ６０２）、生成できなかった場合は（ステップＳ６０２：ＮＯ）、比較部１０４ａ〜ｃが、エラーが発生したことを出力し（ステップＳ６０３）、情報読出し処理を終了する。
【００５５】
ここで、閾値電圧が生成できないとは、ＲＯＭ４０３に格納されているすべての閾値電圧の候補を使い果たした場合をいう。これは、放電が進行したため、いずれの閾値電圧を用いて情報の読出しを行っても正常に情報を読み出せない場合が該当する。
【００５６】
閾値電圧が生成できた場合は（ステップＳ６０２：ＹＥＳ）、比較部１０４ａ〜ｃが、閾値生成部１０７により生成された閾値と比較することにより、記憶部１１０から符号を読み出す（ステップＳ６０４）。
【００５７】
次に、誤り訂正部１０５が、比較部１０４ｃが読み出した誤り訂正符号を用いて、誤り訂正処理を実行する（ステップＳ６０５）。誤り訂正部１０５は、比較部１０４ａが情報記憶部１１０ａから読み出した情報、および、比較部１０４ｂが誤り検出符号記憶部１１０ｂから読み出した誤り検出符号を合わせた情報を誤り訂正の対象とする。
【００５８】
次に、誤り検出部１０６が、誤り訂正部１０５による誤り訂正処理の結果に誤りが存在するか否かを判断する（ステップＳ６０６）。具体的には、誤り検出部１０６は、比較部１０４ａが読み出して誤り訂正部１０５が訂正した情報に対して、比較部１０４ｂが読み出して誤り訂正部１０５が訂正した誤り検出符号を用いて、誤りが存在するか否かを判断する。
【００５９】
誤りが存在する場合は（ステップＳ６０６：ＹＥＳ）、閾値生成部１０７は、現在の閾値電圧と異なる値の閾値電圧をＲＯＭ４０３から取得して、新たに閾値電圧を生成し（ステップＳ６０１）、以降の処理を繰り返す。
【００６０】
なお、閾値生成部１０７は、新たに生成する閾値電圧の値を、ＲＯＭ４０３からランダムに選択する。ランダムに選択する場合であっても、閾値電圧の値は有限であるので、適切な閾値電圧を簡易な回路構成で高速に生成することが可能となる。
【００６１】
また、閾値生成部１０７は、新たに生成する閾値電圧の値を、閾値電圧が減少するような値を選択するように構成してもよい。メモリ素子に蓄積された電荷は、記憶のやり直しを行わない限り放電する一方であり、出力電圧は単調に減少することに対応するためである。
【００６２】
例えば、図５に示すような閾値電圧の設定がＲＯＭ４０３に格納されていることを前提とすると、現在、設定ＩＤ＝１の閾値電圧を用いているならば、新たな閾値電圧の値として、設定ＩＤ＝２の閾値電圧を、新たな閾値電圧の値として生成する。このように構成することにより、適切な閾値電圧をより高速に生成することが可能となる。
【００６３】
ステップＳ６０６で、閾値生成部１０７が、誤りが存在しないと判断した場合は（ステップＳ６０６：ＮＯ）、正常に情報を読み出せているため、情報読出し処理を終了する。
【００６４】
このように、第１の実施の形態にかかる記憶媒体再生装置では、読出した情報の誤りを検出し、誤りが検出された場合にメモリ素子に記憶された符号を判定するための閾値を変更して再度情報を読み出すことができる。このため、放電が進んだメモリ素子であっても、正常に情報を読み出すことができる。これにより、正常に情報を読出し可能な期間と回数を増大させることが可能となる。
【００６５】
（第２の実施の形態）
第２の実施の形態にかかる記憶媒体再生装置は、読出した情報の誤りが検出されなかったときの閾値を記憶し、以降の読出し時に参照することにより、情報読出し処理の高速化を図るものである。
【００６６】
図７は、第２の実施の形態にかかる記憶媒体再生装置７００の構成を示すブロック図である。同図に示すように、記憶媒体再生装置７００は、記憶部１１０と、読出し閾値記憶部７１１と、誤り検出符号生成部１０１と、誤り訂正符号生成部１０２と、書込み制御部１０３ａ〜１０３ｃと、比較部１０４ａ〜ｃと、誤り訂正部１０５と、誤り検出部１０６と、閾値生成部７０７とを備えている。
【００６７】
第２の実施の形態では、読出し閾値記憶部７１１を追加したこと、および、閾値生成部７０７の機能が第１の実施の形態と異なっている。その他の構成および機能は、第１の実施の形態にかかる記憶媒体再生装置１００の構成を表すブロック図である図１と同様であるので、同一符号を付し、ここでの説明は省略する。
【００６８】
読出し閾値記憶部７１１は、情報を正常に読み出せたときの閾値電圧の値を記憶する記憶部である。
【００６９】
閾値生成部７０７は、情報を正常に読み出せた場合に、そのときに用いていた閾値電圧の値を読出し閾値記憶部７１１に記憶するものである。また、次に情報を読み出す際には、読出し閾値記憶部７１１に記憶されている値に対応する閾値電圧を生成する。
【００７０】
これにより、正常に読出しが行われるまでの時間を短縮し、読出し処理を高速化することが可能となる。なお、読出し閾値記憶部７１１は、メモリ素子群への書き込みが行われたときには初期値に設定を戻すものとする。
【００７１】
次に、このように構成された第２の実施の形態にかかる記憶媒体再生装置７００による情報読出し処理について説明する。図８は、第２の実施の形態における情報読出し処理の全体の流れを示すフローチャートである。
【００７２】
まず、閾値生成部７０７が、読出し閾値記憶部７１１から前回読み出したときの閾値（以下、読出し閾値という。）を読み出す（ステップＳ８０１）。次に、閾値生成部７０７が、読出し閾値またはＲＯＭ４０３を参照して閾値電圧を生成する（ステップＳ８０２）。
【００７３】
具体的には、閾値生成部７０７は、読出し閾値記憶部７１１から読出し閾値を読み出した直後は、当該読出し閾値に対応する閾値電圧を生成する。読出し閾値に対応する閾値電圧で正常に読出せず、再度ステップＳ８０２を実行するときには、ＲＯＭ４０３を参照して異なる値の閾値電圧を生成する。
【００７４】
ステップＳ８０３からステップＳ８０７までの、閾値電圧生成判定処理、比較処理、誤り訂正処理、誤り検出処理は、第１の実施の形態にかかる記憶媒体再生装置１００におけるステップＳ６０２からステップＳ６０６までと同様の処理なので、その説明を省略する。
【００７５】
ステップＳ８０７で、誤り検出部１０６が、誤り訂正処理の結果に誤りが存在しないと判断した場合（ステップＳ８０７：ＮＯ）、閾値生成部７０７は、この時点で用いていた閾値電圧を読出し閾値記憶部７１１に保存し（ステップＳ８０８）、情報読出し処理を終了する。
【００７６】
上述の処理では、誤り訂正で訂正された個数に関わらず、誤りが検出されずに正常に情報が読み出せた時点で閾値の変更を終了している。しかし、誤り訂正数が多い場合は、次の読出し時には誤りが発生し、閾値を変更しなければならない可能性が高いと考えられる。
【００７７】
そこで、正常に情報が読み出せた場合であっても、再度閾値を変更して情報の読み出しを繰り返し、誤り訂正数が最小となる閾値を求めて読出し閾値記憶部７１１に保存して、以降の読出し時に用いるように構成してもよい。
【００７８】
以下に、このような構成での情報読出し処理について説明する。図９は、第２の実施の形態における情報読出し処理の別の例を示すフローチャートである。
【００７９】
ステップＳ９０１からステップＳ９０７までの、閾値電圧生成処理、閾値電圧生成判定処理、比較処理、誤り訂正処理、誤り検出処理は、図８の例におけるステップＳ８０１からステップＳ８０７までと同様の処理なので、その説明を省略する。
【００８０】
ステップＳ９０７で、誤り検出部１０６が、誤り訂正処理の結果に誤りが存在しないと判断した場合（ステップＳ９０７：ＮＯ）、閾値生成部７０７は、この時点で用いていた閾値電圧と異なる値の閾値電圧を、ＲＯＭ４０３を参照して生成する（ステップＳ９０８）。具体的には、この時点で用いていた閾値電圧より小さい値の閾値電圧をＲＯＭ４０３から取得し、取得した値で閾値電圧を生成する。
【００８１】
次に、閾値生成部７０７は、閾値電圧が生成できたか否かを判断し（ステップＳ９０９）、生成できなかった場合は（ステップＳ９０９：ＮＯ）、閾値電圧の値を読出し閾値記憶部７１１に保存し（ステップＳ９１４）、情報読出し処理を終了する。
【００８２】
閾値電圧を生成できた場合（ステップＳ９０９：ＹＥＳ）、ステップＳ９０９からステップＳ９１１までの比較処理、誤り訂正処理を実行する。ステップＳ９０９からステップＳ９１１までの比較処理、誤り訂正処理は、図９のステップＳ９０５からステップＳ９０６までと同様の処理なので、その説明を省略する。
【００８３】
ステップＳ９１１で、誤り訂正部１０５が誤り訂正処理を実行した後、誤り検出部１０６が、訂正された誤りの数が増加したか否かを判断する（ステップＳ９１２）。具体的には、ステップＳ９０６で実行した誤り訂正処理で訂正した誤りの数、または、前回実行したステップＳ９１１での誤り訂正処理で訂正した誤りの数と、今回実行した誤り訂正処理で訂正した誤りの数を比較することにより、誤りの数が増加したか否かを判断する。
【００８４】
誤り検出部１０６が、訂正された誤りの数が増加していないと判断した場合は（ステップＳ９１２：ＮＯ）、閾値生成部７０７は、現在の閾値電圧と異なる値の閾値電圧をＲＯＭ４０３から取得して、新たに閾値電圧を生成し（ステップＳ９０８）、以降の処理を繰り返す。
【００８５】
訂正された誤りの数が増加したと判断した場合は（ステップＳ９１２：ＹＥＳ）、閾値生成部７０７は、閾値電圧を１つ前の値に設定し（ステップＳ９１３）、その閾値を読出し閾値記憶部７１１に保存し（ステップＳ９１４）、読出し処理を終了する。
【００８６】
誤りの数が増加したということは、閾値電圧を過剰に減少させたと判断することができるためである。このようにして、誤り訂正数が最小となる閾値を求めることができる。誤り訂正数が最小となる閾値を用いて、次回以降の読出しに用いることにより、最適な閾値電圧へ到達する試行回数をさらに削減することができる。
【００８７】
このように、第２の実施の形態にかかる記憶媒体再生装置では、読出した情報の誤りが検出されなかったときの閾値を記憶手段に記憶し、以降の読出し時に参照することにより、正常に読み出せる閾値の判定処理および情報読出し処理の高速化を図ることができる。
【００８８】
（第３の実施の形態）
第３の実施の形態にかかる記憶媒体再生装置は、正常に情報を読出した際の閾値が所定の基準値より小さい場合に、電荷量を正常値に保持するリフレッシュ動作を行うものである。
【００８９】
図１０は、第３の実施の形態にかかる記憶媒体再生装置１０００の構成を示すブロック図である。同図に示すように、記憶媒体再生装置１０００は、記憶部１１０と、誤り検出符号生成部１０１と、誤り訂正符号生成部１０２と、書込み制御部１０３ａ〜１０３ｃと、比較部１０４ａ〜ｃと、誤り訂正部１０５と、誤り検出部１０６と、閾値生成部１０７と、リフレッシュ制御部１００８とを備えている。
【００９０】
第３の実施の形態では、リフレッシュ制御部１００８を追加したことが第１の実施の形態と異なっている。その他の構成および機能は、第１の実施の形態にかかる記憶媒体再生装置１００の構成を表すブロック図である図１と同様であるので、同一符号を付し、ここでの説明は省略する。
【００９１】
リフレッシュ制御部１００８は、情報が正常に読み出せたときの閾値が予め定められた基準値より小さい場合に、記憶部１１０の電荷量を正常値に保持するリフレッシュ動作を行うものである。情報を正常に読み出せた場合であっても、閾値が低い場合は、各符号を分離できる余裕が小さくなっていると推定されるので、読出し時の誤りの発生を回避する必要があるためである。
【００９２】
次に、このように構成された第３の実施の形態にかかる記憶媒体再生装置１０００による情報読出し処理について説明する。図１１は、第３の実施の形態における情報読出し処理の全体の流れを示すフローチャートである。
【００９３】
ステップＳ１１０１からステップＳ１１０６までの、閾値電圧生成処理、閾値電圧生成判定処理、比較処理、誤り訂正処理、誤り検出処理は、第１の実施の形態にかかる記憶媒体再生装置１００におけるステップＳ６０１からステップＳ６０６までと同様の処理なので、その説明を省略する。
【００９４】
第３の実施の形態では、情報読出し処理の最後に、必要に応じてリフレッシュ動作を行うリフレッシュ処理を実行する点が、第１の実施の形態と異なっている（ステップＳ１１０７）。
【００９５】
以下に、ステップＳ１１０７に示したリフレッシュ処理の詳細について説明する。図１２は、リフレッシュ処理の全体の流れを示すフローチャートである。
【００９６】
まず、リフレッシュ制御部１００８が、情報を読み出すときに用いた閾値電圧が、予め定められた基準値より小さいか否かを判断する（ステップＳ１２０１）。基準値より小さくない場合は（ステップＳ１２０１：ＮＯ）、リフレッシュを行う必要がないため、リフレッシュ処理を終了する。
【００９７】
基準値より小さい場合は（ステップＳ１２０１：ＹＥＳ）、リフレッシュ制御部１００８は、訂正された誤りの数が、予め定められた別の基準値より大きいか否かを判断する（ステップＳ１２０２）。
【００９８】
多数の誤りが訂正できる誤り訂正符号を使用している場合には、閾値のみでリフレッシュの判断をしていると過剰にリフレッシュを行ってしまうことが考えられる。そこで、訂正された誤りの数が少ないときにはリフレッシュを行わないようにするための判定をここで行っている。
【００９９】
訂正された誤りの数が基準値より大きくないと判断した場合は（ステップＳ１２０２：ＮＯ）、リフレッシュを行う必要がないため、リフレッシュ処理を終了する。
【０１００】
なお、訂正した誤りの数を判定せずに、閾値電圧だけでリフレッシュの要否を判断するように構成してもよい。
【０１０１】
ステップＳ１２０２で、訂正された誤りの数が基準値より大きいと判断した場合は（ステップＳ１２０２：ＹＥＳ）、リフレッシュ制御部１００８は、記憶部１１０の情報を消去する（ステップＳ１２０３）。なお、書込み前に情報を消去する必要のない種類のメモリ素子である場合は、本ステップを省略することができる。
【０１０２】
次に、書込み制御部１０３ａ〜１０３ｃが、誤り訂正がなされた情報を記憶部１１０に書込み（ステップＳ１２０４）、リフレッシュ処理を終了する。
【０１０３】
このように、第３の実施の形態にかかる記憶媒体再生装置では、正常に情報を読出した際の閾値が所定の基準値より小さい場合に、電荷量を正常値に保持するリフレッシュ動作を行うことができる。また、誤り訂正数が所定の基準値より大きいか否かを考慮してリフレッシュ動作を行うか否かを判断することができる。これにより、電荷量を適切に維持することができ、正常に情報を読出し可能な期間と回数を増大させることが可能となる。
【０１０４】
なお、第１〜第３の実施の形態にかかる記憶媒体再生装置で実行される記憶媒体再生プログラムは、ＲＯＭ等に予め組み込まれて提供される。
【０１０５】
第１〜第３の実施の形態にかかる記憶媒体再生装置で実行される記憶媒体再生プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅｃｏｒｄａｂｌｅ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【０１０６】
さらに、第１〜第３の実施の形態にかかる記憶媒体再生装置で実行される記憶媒体再生プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第１〜第３の実施の形態にかかる記憶媒体再生装置で実行される記憶媒体再生プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１０７】
第１〜第３の実施の形態にかかる記憶媒体再生装置で実行される記憶媒体再生プログラムは、上述した各部（誤り検出符号生成部、誤り訂正符号生成部、書込み制御部、比較部、誤り訂正部、誤り検出部、閾値生成部、リフレッシュ制御部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が上記ＲＯＭから記憶媒体再生プログラムを読出して実行することにより上記各部が主記憶装置上にロードされ、各部が主記憶装置上に生成されるようになっている。
【符号の説明】
【０１０８】
１００  記憶媒体再生装置
１０１  誤り検出符号生成部
１０２  誤り訂正符号生成部
１０３ａ、１０３ｂ、１０３ｃ  書込み制御部
１０４ａ、１０４ｂ、１０４ｃ  比較部
１０５  誤り訂正部
１０６  誤り検出部
１０７  閾値生成部
１１０  記憶部
１１０ａ  情報記憶部
１１０ｂ  誤り検出符号記憶部
１１０ｃ  誤り訂正符号記憶部
４０１  閾値生成制御部
４０２  レジスタ
４０３  ＲＯＭ
４０４  Ｄ／Ａコンバータ
７００  記憶媒体再生装置
７０７  閾値生成部
７１１  読出し閾値記憶部
１０００  記憶媒体再生装置
１００８  リフレッシュ制御部
【図１】
2010055746.tif 000003
【図２】
2010055746.tif 000004
【図３】
2010055746.tif 000005
【図４】
2010055746.tif 000006
【図５】
2010055746.tif 000007
【図６】
2010055746.tif 000008
【図７】
2010055746.tif 000009
【図８】
2010055746.tif 000010
【図９】
2010055746.tif 000011
【図１０】
2010055746.tif 000012
【図１１】
2010055746.tif 000013
【図１２】
2010055746.tif 000014