(57)【要約】【課題】誤りのあるメモリを利用する上で、データの正当性をチェックするための管理技術を提供することを課題とする。【解決手段】書込装置２は、まず、ＮＡＮＤ型フラッシュメモリであるメモリ１から不良領域情報を取得し、不良領域と代替領域との関係を示す代替情報を含むエラーコントロールデータ５２を作成する。次に、エラーコントロールデータ５２からチェックサムを計算し、不良領域のブロック数などとともに記憶部３に格納する。また、予め計算されていたユーザデータ５１のチェックサムについても、ユーザデータ５１のバイト数とともに記憶部３に格納される。そして、書込装置２は、ユーザデータ５１とエラーコントロールデータ５２とをメモリ１に格納する。【選択図】図１
2008108162.tif 000002
【特許請求の範囲】
【請求項１】
ユーザデータが格納されるメモリを管理する方法であって、
前記メモリから不良領域情報を取得する工程と、
取得した不良領域情報に基づいて、前記メモリの不良領域の代替情報を含む誤り管理情報を作成する工程と、
前記誤り管理情報から固有情報を抽出し、所定の記憶手段に格納する工程と、
前記メモリにユーザデータを格納する工程と、
前記メモリに前記誤り管理情報を格納する工程と、
を備えることを特徴とするメモリ管理方法。
【請求項２】
請求項１に記載のメモリ管理方法において、
前記固有情報は、
前記誤り管理情報から演算されたチェックサム、
を含むことを特徴とするメモリ管理方法。
【請求項３】
請求項１に記載のメモリ管理方法において、
前記固有情報は、
前記誤り管理情報から演算されたハッシュ値、
を含むことを特徴とするメモリ管理方法。
【請求項４】
請求項１に記載のメモリ管理方法において、
前記固有情報は、
前記メモリの不良領域のブロック数、
を含むことを特徴とするメモリ管理方法。
【請求項５】
請求項１に記載のメモリ管理方法において、
前記固有情報は、
前記メモリの不良領域のアドレス情報、
を含むことを特徴とするメモリ管理方法。
【請求項６】
請求項１ないし請求項５のいずれかに記載のメモリ管理方法において、
前記メモリは、
ＮＡＮＤ型フラッシュメモリ、
を含むことを特徴とするメモリ管理方法。
【請求項７】
請求項１ないし請求項６のいずれかに記載のメモリ管理方法において、
前記所定の記憶手段は、
前記メモリ、
を含むことを特徴とするメモリ管理方法。
【請求項８】
ユーザデータが格納される不良領域の存在するメモリを管理する方法であって、
格納するユーザデータから所定のアルゴリズムを用いて固有情報を抽出し、所定の記憶手段に格納する工程と、
前記メモリから不良領域情報を取得する工程と、
取得した不良領域情報に基づいて、前記メモリの不良領域の代替情報を含む誤り管理情報を作成する工程と、
前記メモリにユーザデータを格納する工程と、
前記メモリに前記誤り管理情報を格納する工程と、
不良領域については前記代替情報に基づいて代替された領域のデータを読み出すことにより、ＮＯＲ型フラッシュメモリに対する読み出し処理をエミュレートすることで、前記メモリからユーザデータを全て読み出す工程と、
読み出したユーザデータから前記所定のアルゴリズムと同じアルゴリズムを用いて情報を抽出し、前記記憶手段に格納されている前記固有情報と比較することで、格納されているユーザデータの正当性を判定する工程と、
を備えることを特徴とするメモリ管理方法。
【請求項９】
請求項８に記載のメモリ管理方法において、
前記固有情報は、
前記誤り管理情報から演算されたチェックサム、
を含むことを特徴とするメモリ管理方法。
【請求項１０】
請求項８に記載のメモリ管理方法において、
前記固有情報は、
前記誤り管理情報から演算されたハッシュ値、
を含むことを特徴とするメモリ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不良領域の存在するメモリの管理技術に関する。
【背景技術】
【０００２】
アプリケーションプログラムなどのコンテンツデータを格納するメモリとしては、ＮＯＲ型フラッシュメモリが使用されている。ＮＯＲ型フラッシュメモリは、誤りのないメモリ（不良領域の存在しないメモリ、あるいはビット誤りの発生しないメモリ）であり、コンテンツの格納用に適している。たとえば、携帯電話機、携帯情報端末、パチンコ機、パチスロ機においては、アプリケーションプログラムなどのコンテンツデータ格納用としてＮＯＲ型フラッシュメモリが使用されている。
【０００３】
ＮＯＲ型フラッシュメモリに格納されているコンテンツデータの正当性をチェックするためには、チェックサムの利用が有効である。図６は、ＮＯＲ型フラッシュメモリに、たとえば、アプリケーションデータなどのユーザデータが格納されている様子を示している。このユーザデータの正当性をチェックするために、全物理アドレスからデータの単純読み出しを行い、ユーザデータのチェックサムが計算される。そして、予め計算されていた正しいチェックサムと比較することで、正当性の判断を行うのである。
【０００４】
チェックサムを利用したＲＯＭデータのチェック方法については、下記特許文献１にも開示されている。また、下記特許文献２では、ＲＯＭに記録されたチェックサムを変更することなく、データを書き換える技術について開示されている。
【０００５】
【特許文献１】特開２００２−１０８７２３号公報
【特許文献２】特開２００２−３５１７４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したように、ＮＯＲ型フラッシュメモリでは、チェックサムによるデータ正当性チェックが有効であり、コンテンツメモリを安定して供給することが可能である。しかし、ＮＯＲ型フラッシュメモリは、誤りがないという優れた特徴を備える一方、メモリ単価が高いという問題がある。
【０００７】
たとえば、パチンコ機、パチスロ機のコンテンツ格納用として考えた場合であっても、機器の台数が非常に多いため、メモリ単価の与える影響は大きい。したがって、メモリ単価を下げることができれば、製品供給コストを大幅に低減させることが可能となる。
【０００８】
そこで、ＮＯＲ型フラッシュメモリよりも安価なＮＡＮＤ型フラッシュメモリを使用するという選択肢が考えられる。ＮＡＮＤ型フラッシュメモリは、誤りのあるメモリ（不良領域が存在するメモリ、あるいはビット誤りが発生するメモリ）であるが、大容量化、低コスト化を実現している。
【０００９】
図７は、ＮＡＮＤ型フラッシュメモリにユーザデータを格納した様子を示している。図に示すように、ＮＡＮＤ型フラッシュメモリの記憶領域には、不良領域（ＩＮＶＡＬＩＤ  ＢＬＯＣＫあるいはＢＡＤ  ＢＬＯＣＫ）が混在している。不良領域は、デバイスの出荷時点で使用不可能な領域である。不良領域には、データを記録することができないため、別の代替領域にデータが格納されることになる。この不良領域と代替領域の対応関係を示す代替情報は、エラーコントロールデータとして、図に示すようにメモリ内に格納される。
【００１０】
ここで、問題となるのが、データ正当性のチェックである。上述したように、ＮＯＲ型フラッシュメモリにおいては、全物理アドレスの単純読み出しにより、全ての固体で同一のチェックサムを計算することができる。しかし、ＮＡＮＤ型フラッシュメモリの場合、不良領域に格納することができなかったデータについては、代替領域に格納されるため、データの格納位置がデバイスごとで異なることになる。たとえば、格納されているアドレスも考慮してチェックサムを計算する場合、不良領域の発生箇所がデバイスによって異なれば、デバイスによってチェックサムが変化することになる。
【００１１】
ＮＡＮＤ型フラッシュメモリでは、デバイスごとに不良領域のばらつきがあるため、通常は、何らかの方法で論理アドレスと物理アドレスの変換を行ってデータを読み出している。このため、単純に誤りがないメモリと同一の方法で全物理アドレスに対するアクセスを行い、読み出したデータに対してチェックサムを計算する方法では、内容確認を行えないのである。
【００１２】
また、そもそも、不良領域については、データ値が不定であるため、チェックサムがデバイスごとに異なることになる。したがって、いずれにしても、誤りのないメモリと同じ方法をそのまま用いてもデータ正当性のチェックを行うことができない。
【００１３】
そこで、本発明は前記問題点に鑑み、誤りのあるメモリを利用する上で、データの正当性をチェックするための管理技術を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するため、請求項１記載の発明は、ユーザデータが格納されるメモリを管理する方法であって、前記メモリから不良領域情報を取得する工程と、取得した不良領域情報に基づいて、前記メモリの不良領域の代替情報を含む誤り管理情報を作成する工程と、前記誤り管理情報から固有情報を抽出し、所定の記憶手段に格納する工程と、前記メモリにユーザデータを格納する工程と、前記メモリに前記誤り管理情報を格納する工程と、を備えることを特徴とする。
【００１５】
請求項２記載の発明は、請求項１に記載のメモリ管理方法において、前記固有情報は、前記誤り管理情報から演算されたチェックサム、を含むことを特徴とする。
【００１６】
請求項３記載の発明は、請求項１に記載のメモリ管理方法において、前記固有情報は、前記誤り管理情報から演算されたハッシュ値、を含むことを特徴とする。
【００１７】
請求項４記載の発明は、請求項１に記載のメモリ管理方法において、前記固有情報は、前記メモリの不良領域のブロック数、を含むことを特徴とする。
【００１８】
請求項５記載の発明は、請求項１に記載のメモリ管理方法において、前記固有情報は、前記メモリの不良領域のアドレス情報、を含むことを特徴とする。
【００１９】
請求項６記載の発明は、請求項１ないし請求項５のいずれかに記載のメモリ管理方法において、前記メモリは、ＮＡＮＤ型フラッシュメモリ、を含むことを特徴とする。
【００２０】
請求項７記載の発明は、請求項１ないし請求項６のいずれかに記載のメモリ管理方法において、前記所定の記憶手段は、前記メモリ、を含むことを特徴とする。
【００２１】
請求項８記載の発明は、ユーザデータが格納される不良領域の存在するメモリを管理する方法であって、格納するユーザデータから所定のアルゴリズムを用いて固有情報を抽出し、所定の記憶手段に格納する工程と、前記メモリから不良領域情報を取得する工程と、取得した不良領域情報に基づいて、前記メモリの不良領域の代替情報を含む誤り管理情報を作成する工程と、前記メモリにユーザデータを格納する工程と、前記メモリに前記誤り管理情報を格納する工程と、不良領域については前記代替情報に基づいて代替された領域のデータを読み出すことにより、ＮＯＲ型フラッシュメモリに対する読み出し処理をエミュレートすることで、前記メモリからユーザデータを全て読み出す工程と、読み出したユーザデータから前記所定のアルゴリズムと同じアルゴリズムを用いて情報を抽出し、前記記憶手段に格納されている前記固有情報と比較することで、格納されているユーザデータの正当性を判定する工程と、を備えることを特徴とする。
【００２２】
請求項９記載の発明は、請求項８に記載のメモリ管理方法において、前記固有情報は、前記誤り管理情報から演算されたチェックサム、を含むことを特徴とする。
【００２３】
請求項１０記載の発明は、請求項８に記載のメモリ管理方法において、前記固有情報は、前記誤り管理情報から演算されたハッシュ値、を含むことを特徴とする。
【発明の効果】
【００２４】
本発明のメモリ管理方法は、メモリから取得した不良領域情報に基づいて、誤り管理情報を作成し、誤り管理情報から固有情報を抽出して、所定の記憶手段に格納する。これにより、ユーザデータが格納されるメモリのデバイスごとによって異なる固有情報が保存されることになり、ユーザデータが、代替情報に基づいて正しく記録されていることを確認する手段を与えることができる。
【００２５】
また、本発明のメモリ管理方法は、ＮＯＲ型フラッシュメモリに対する読み出し処理をエミュレートすることで、不良領域の存在するメモリ（例えば、ＮＡＮＤ型フラッシュメモリ）からユーザデータを全て読み出し、保持しておいた固有情報と比較することで、ユーザデータの正当性を判定する。これにより、ＮＯＲ型フラッシュメモリで使用していた同様の方法で、ユーザデータの正当性をチェックすることが可能である。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照しつつ本発明の実施の形態について説明する。図１は、ＮＡＮＤ型フラッシュメモリ１（以下、メモリ１とする。）と、メモリ１にデータを書き込む書込装置２とを示す図である。
【００２７】
メモリ１は、たとえば、パチンコ機やパチスロ機のコンテンツデータを書き込む用途に用いられる。メモリ１は、上述したように、ＮＡＮＤ型フラッシュメモリであり、図１の（ａ）に示すように、データを書き込むことのできる正常領域１１と、データを書き込むことのできない不良領域１２とを含んでいる。
【００２８】
書込装置２には、別の工程で作成されたユーザデータ５１が与えられる。書込装置２によってメモリ１に、ユーザデータ５１が記録されると、図１の（ｂ）に示すように、ユーザデータ５１とともに、エラーコントロールデータ５２が記録されることになる。エラーコントロールデータ５２には、各不良領域がどの代替領域に代替されているかを示す代替情報が含まれている。また、エラーコントロールデータ５２には、ビット誤りの訂正に必要な情報（ＥＣＣなど）が含まれている。さらに、エラーコントロールデータ５２には、不良領域のブロック数や、不良領域のアドレス情報（アドレスリスト）などを記録するようにしてもよい。
【００２９】
ユーザデータ５１は、前述した例であれば、パチンコ機やパチスロ機のコンテンツデータのことである。ユーザデータ５１は、別の工程で作成されている。このユーザデータ５１は、大量生産される全てのメモリに共通のものである。つまり、このユーザデータ５１が、次々にＮＡＮＤ型フラッシュメモリに格納されることで、コンテンツ格納メモリが作成されるのである。
【００３０】
そして、この共通のユーザデータ５１に対しては、さらに別の工程で、固有情報が計算されている。固有情報とは、たとえば、チェックサムやハッシュ値などである。この固有情報は、固有情報記憶部３に格納されている。
【００３１】
書込装置２は、ユーザデータ５１をＮＡＮＤ型フラッシュメモリであるメモリ１に格納する装置である。以下、図２のフローチャートを参照しつつ、書込装置２によるメモリ１に対するデータの書込み手順について説明する。
【００３２】
まず、書込装置２は、新たなメモリ１と接続されると、メモリ１にアクセスし、メモリ１の不良領域情報を取得する（ステップＳ１）。つまり、書込装置２は、全ての不良領域のアドレスと、各不良領域が代替される領域のアドレスを取得する。また、これにより、不良領域のブロック数を得ることができる。
【００３３】
次に、書込装置２は、ステップＳ１で取得した不良領域情報に基づいて、エラーコントロールデータ５２を作成する（ステップＳ２）。このエラーコントロールデータ５２には、代替情報が含まれる。代替情報は、不良領域と代替領域との対応関係を示す情報である。また、エラーコントロールデータ５２には、ビット誤りの訂正に必要な情報が格納される。さらには、エラーコントロールデータ５２に、不良領域のブロック数や不良領域のアドレス情報を格納するようにしてもよい。
【００３４】
次に、書込装置２は、ステップＳ２で作成したエラーコントロールデータ５２の固有情報を計算する（ステップＳ３）。あるいは、書込装置２は、ステップＳ２で作成したエラーコントロールデータ５２に含まれる情報から固有情報を得る。
【００３５】
固有情報としては、たとえば、チェックサムを利用することができる。図３は、チェックサムを利用した固有情報を示す図である。まず、ユーザデータ５１については、上述したように、予め別の工程でユーザデータ５１のチェックサムが計算されている。そして、ユーザデータ５１のチェックサムとユーザデータ５１のバイト数を固有情報として、固有情報記憶部３に格納しておくのである。
【００３６】
図で示した例では、ＣＲＣ演算方式によって計算されたユーザデータ５１のチェックサム（８桁）を１６進表示している。
【００３７】
このチェックサムは、ユーザデータ５１が、誤りのないメモリ（たとえばＮＯＲ型フラッシュメモリ）に格納されたと仮定した場合に計算されるチェックサムと同じものである。つまり、ユーザデータを、図６で示したように、不良領域の存在しないＮＯＲ型フラッシュメモリの先頭アドレスから順に格納した場合に、その格納されたデータを全物理アドレスについて順に読み出すことによって計算されるチェックサムと同じものである。なお、ブランクも含めてチェックサムを計算するようにしてもよい。
【００３８】
ユーザデータ５１は、全てのデバイスに共通のデータであるので、ユーザデータ５１に対する固有情報は、上記のように予め別の工程で作成され、固有情報記憶部３に格納されている。そして、このステップＳ３では、デバイスによって異なるデータであるエラーコントロールデータ５２に基づいて、書込装置２が、チェックサムを計算する。そして、計算されたチェックサムと不良領域のブロック数を固有情報として固有情報記憶部３に格納するのである（ステップＳ４）。
【００３９】
図で示した例では、エラーコントロールデータ５２の８桁のチェックサムを１６進表示している。また、不良領域のブロック数に代えて、不良領域のアドレスリストを固有情報として格納するようにしてもよい。なお、不良領域のブロック数や、不良領域のアドレスリストについては、エラーコントロールデータ５２に含めることなく、固有情報として固有情報記憶部３に格納するようにしてもよい。
【００４０】
このように、ユーザデータ５１については、共通のチェックサム、つまり、誤りのないメモリに格納された場合に計算されるチェックサムと同様の値を計算して保持するとともに、不良領域の存在するＮＡＮＤ型フラッシュメモリでデバイスごとに異なるエラーコントロールデータ５２についても、固有情報を保持しておくのである。
【００４１】
また、固有情報としては、ハッシュ値を利用することもできる。図４は、ＳＨＡ１のハッシュ値を利用した固有情報を示す図である。まず、ユーザデータ５１からは、上述したように、予め別の工程で、ユーザデータ５１のハッシュ値が計算されている。そして、ユーザデータ５１のハッシュ値とユーザデータ５１のバイト数を固有情報として、固有情報記憶部３に格納しておくのである。なお、ハッシュ値の計算には、ＭＤ５を利用してもよい。
【００４２】
チェックサムの場合と同様、ユーザデータ５１は、全てのデバイスに共通のデータであるので、ユーザデータ５１に対する固有情報は、上記のように予め別の工程で作成され、固有情報記憶部３に格納されている。そして、ステップＳ３では、デバイスによって異なるデータであるエラーコントロールデータ５２に基づいて、書込装置２が、ハッシュ値を計算する。そして、計算されたハッシュ値と不良領域のブロック数を固有情報として固有情報記憶部３に格納するのである（ステップＳ４）。あるいは、不良領域のブロック数に代えて、不良領域のアドレスリストを固有情報として格納するようにしてもよい。
【００４３】
なお、ステップＳ４において、固有情報を格納する記憶部は、メモリ１の記憶領域内であってもよいし、この実施の形態のようにメモリ１の外部であってもよい。
【００４４】
ステップＳ４において、エラーコントロールデータ５２の固有情報を固有情報記憶部３に格納した後、書込装置２は、ユーザデータ５１とエラーコントロールデータ５２をメモリ１に書き込むのである（ステップＳ５）。このようにして、ユーザデータ５１とエラーコントロールデータ５２が書き込まれた状態のメモリ１は、図１の（ｂ）で示した状態となる。なお、図１の（ｂ）では、ユーザデータ５１の書込み領域にだけ不良領域１２が混在しているが、もちろん、エラーコントロールデータ５２の書込み領域についても、不良領域１２が存在している場合はある。
【００４５】
このように、本実施の形態においては、全デバイスで共通のデータであるユーザデータ５１に対しては、共通のチェックサムやハッシュ値を計算するとともに、ユーザデータ５１のデータサイズ（バイト数）を固有情報として保持している。これにより、ユーザデータ５１の正当性をチェックする情報として利用可能である。
【００４６】
さらに、本実施の形態においては、各デバイスで異なるデータであるエラーコントロールデータ５２について、それぞれチェックサムやハッシュ値を計算し、固有情報として保持するようにしている。ここで、エラーコントロールデータ５２には、不良領域の代替情報が含まれている。したがって、この固有情報を利用することで、代替情報に基づいて正当にデータが格納されていることを確認するための情報を提供可能となる。また、固有情報として、不良領域のブロック数やアドレス情報を保持するので、これによっても、誤りのあるＮＡＮＤ型フラッシュメモリに対して、正しく不良領域が代替されて維持されている状態を確認可能である。
【００４７】
図５は、上記の手順で管理されているメモリ１の正当性をチェックするシステムを示す図である。このシステムは、ホストコンピュータ５と、メモリ１を含むメモリデバイス１０とで構成される。メモリデバイス１０は、メモリ１と、メモリ１へのアクセスをコントロールするコントローラ４とを備えている。
【００４８】
コントローラ４は、動作モードとして、ＮＯＲインタフェースモードを設定可能となっている。コントローラ４が、ＮＯＲインタフェースモードに設定されている場合、メモリ１に対して、連続的に全物理アドレスに対してデータ読み出しを行うと、不良領域については、代替領域の情報が読み出されて、ホストコンピュータ５に対して読み出しデータが転送される。つまり、ホストコンピュータ５は、ユーザデータ５１が、ＮＯＲ型フラッシュメモリに格納されている場合と同様の手順、インタフェースで、読み出しデータを入力することができるのである。
【００４９】
そして、ホストコンピュータ５は、メモリデバイス１０から読み出したユーザデータ５１に対して、上記実施の形態で説明した場合と同じアルゴリズムを用いて、チェックサムあるいはハッシュ値を計算するのである。そして、固有情報記憶部３に保持しておいたユーザデータ５１のチェックサムあるいはハッシュ値と計算された値とを比較することで、データの正当性をチェックすることが可能である。
【００５０】
このように、本実施の形態によれば、ＮＡＮＤ型フラッシュメモリに格納されたユーザデータについても、ＮＯＲ型フラッシュメモリに格納されていたユーザデータと同じ固有情報を利用して、データ正当性のチェックを行うことが可能である。
【００５１】
なお、上記の実施の形態においては、ユーザデータ５１やエラーコントロールデータ５２から固有情報を計算するアルゴリズムとしては、ＣＲＣ演算方式やＳＨＡ１、ＭＤ５などを例に説明したが、固有情報の計算に利用するアルゴリズムは特に限定されるものではない。
【００５２】
本実施の形態で説明したメモリ１の管理方法は、メモリ１に格納されたデータの正当性をチェックするために利用可能である。したがって、メモリ１に格納されたデータを読み出したとき、固有情報記憶部３に格納されている固有情報を参照することで、データの改竄検知を行うことも可能である。そして、改竄を検知した場合には、システムが動作しないように制御すれば、効果的である。また、エラーコントロールデータ５２の中に、ユーザデータ５１に関するパラメータも挿入するようにしておけば、ユーザデータ５１の改竄を効果的に検知可能である。
【図面の簡単な説明】
【００５３】
【図１】本実施の形態に係るメモリと書込装置とを示す図である。
【図２】ユーザデータおよびエラーコントロールデータの書込みフローチャートである。
【図３】固有情報としてのチェックサムを示す図である。
【図４】固有情報としてのハッシュ値を示す図である。
【図５】ユーザデータの正当性をチェックするシステムを示す図である。
【図６】ＮＯＲ型フラッシュメモリに対するユーザデータの格納形態を示す図である。
【図７】ＮＡＮＤ型フラッシュメモリに対するユーザデータの格納形態を示す図である。
【符号の説明】
【００５４】
１    メモリ（ＮＡＮＤ型フラッシュメモリ）
１１  正常領域
１２  不良領域
５１  ユーザデータ
５２  エラーコントロールデータ
【図１】
2008108162.tif 000003
【図２】
2008108162.tif 000004
【図３】
2008108162.tif 000005
【図４】
2008108162.tif 000006
【図５】
2008108162.tif 000007
【図６】
2008108162.tif 000008
【図７】
2008108162.tif 000009