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