(57)【要約】【課題】本発明は、所定の目的のために、その内容をそのまま利用できるデータであるＲＯＭコードのセキュリティを向上させることができるメモリシステムを提供することを目的とする。【解決手段】メモリシステム１００，２００において、メモリ１，５１では、アドレス生成部２から出力される少なくとも２以上のアドレスに従って、各アドレスにより一義的に特定される各ページ１ａの夫々から、データが読み出される。また、データ生成部３では、各ページ１ａから読み出された、少なくとも２以上のデータに基づいて、１つのデータを生成する。【選択図】図１
2008040941.tif 000002
【特許請求の範囲】
【請求項１】
複数のページにより分割されており、前記ページ単位でのデータの読み出しが可能なメモリと、
入力信号に基づいて所定のアドレスを生成し、少なくとも２以上のアドレスを出力するアドレス生成部とを、備えており、
前記メモリは、
前記アドレス生成部から出力される前記少なくとも２以上のアドレスに従って、各前記アドレスにより一義的に特定される異なる各前記ページの夫々から、少なくとも２以上のデータが読み出され、
前記メモリの異なる前記ページの夫々から読み出された、前記少なくとも２以上のデータに基づいて、１つのデータを生成するデータ生成部を、さらに備えている、
ことを特徴とするメモリシステム。
【請求項２】
前記メモリは、
複数の前記ページから成る複数のセクタにより分割されており、前記セクタ単位でのデータの消去が可能であり、
前記少なくとも２以上のデータが格納されている、前記メモリの異なる前記ページの夫々は、異なる前記セクタに属している、
ことを特徴とする請求項１に記載のメモリシステム。
【請求項３】
前記入力信号は、第１のアドレスを含む信号であり、
前記アドレス生成部は、
前記第１のアドレスと、前記入力信号に基づいて一義的に生成される少なくとも１以上の第２のアドレスとを、出力する、
ことを特徴とする請求項１または請求項２に記載のメモリシステム。
【請求項４】
前記アドレス生成部は、
前記入力信号に基づいて、一義的に、少なくとも２以上の生成アドレスを生成すると共に、前記生成アドレスを出力する、
ことを特徴とする請求項１または請求項２に記載のメモリシステム。
【請求項５】
前記アドレス生成部は、
前記入力信号に対して所定の暗号化処理を施すことにより、前記第２のアドレスまたは前記生成アドレスを生成する、
ことを特徴とする請求項３または請求項４に記載のメモリシステム。
【請求項６】
前記アドレス生成部は、
前記入力信号と予め設定されているテーブルとに基づいて、前記第２のアドレスまたは前記生成アドレスを生成する、
ことを特徴とする請求項３または請求項４に記載のメモリシステム。
【請求項７】
前記アドレス生成部は、
前記入力信号に対して所定の演算処理を施すことにより、前記第２のアドレスまたは前記生成アドレスを生成する、
ことを特徴とする請求項３または請求項４に記載のメモリシステム。
【請求項８】
前記データ生成部は、
前記メモリから読み出された前記少なくとも２以上のデータの各々を、連結することにより、前記１つのデータを生成する、
ことを特徴とする請求項１または請求項２に記載のメモリシステム。
【請求項９】
前記データ生成部は、
前記メモリから読み出された前記少なくとも２以上のデータ間において、論理演算を実施することにより、前記１つのデータを生成する、
ことを特徴とする請求項１または請求項２に記載のメモリシステム。
【請求項１０】
前記メモリから読み出された前記少なくとも２以上のデータは、
誤りデータを含む第１のデータと、
前記第１のデータの誤りを訂正する誤り訂正符号から成る第２のデータと、から構成されており、
前記データ生成部は、
前記第２のデータを用いて、前記第１のデータの誤りを訂正することにより、前記１つのデータを生成する、
ことを特徴とする請求項１または請求項２に記載のメモリシステム。
【請求項１１】
前記メモリの前記ページは、
ＮＡＮＤ型メモリのデータ部と、ＮＡＮＤ型メモリの冗長部とから構成されている、
ことを特徴とする請求項１に記載のメモリシステム。
【請求項１２】
前記メモリの各前記セクタは、データの読み出し単位であるページにより、前記各セクタの領域が複数に分割されており、
前記ページは、
ＮＡＮＤ型メモリのデータ部と、ＮＡＮＤ型メモリの冗長部とから構成されている、
ことを特徴とする請求項２に記載のメモリシステム。
【請求項１３】
前記アドレス生成部と前記データ生成部とは、一のコントローラ内に形成されている、
ことを特徴とする請求項１または請求項２に記載のメモリシステム。
【請求項１４】
前記メモリと前記アドレス生成部とが形成される、第１の装置と、
前記第１の装置とは独立の装置であり、前記データ生成部が形成されている第２の装置とを、備えている、
ことを特徴とする請求項１または請求項２に記載のメモリシステム。
【請求項１５】
複数のページにより分割されており、前記ページ単位でのデータの読み出しが可能なメモリからデータを読み出し、当該読み出したデータに基づいてデータを生成するデータ読み出し・生成方法において、
（Ａ）入力信号に基づいて所定のアドレスを生成し、少なくとも２以上のアドレスを出力するステップと、
（Ｂ）前記ステップ（Ａ）において出力された前記少なくとも２以上のアドレスに従って、各前記アドレスにより一義的に特定される各前記ページの夫々から、データを読み出すことにより、少なくとも２以上のデータを読み出すステップと、
（Ｃ）前記ステップ（Ｂ）において、異なる前記ページから読み出された前記少なくとも２以上のデータに基づいて、１つのデータを生成するステップとを、備えている、
ことを特徴とするデータ読み出し・生成方法。
【請求項１６】
前記メモリは、複数の前記ページから成る複数のセクタにより分割されており、前記セクタ単位でのデータの消去が可能であり、
前記ステップ（Ｂ）は、
各前記アドレスにより一義的に特定される、各々が異なる前記セクタに属する各前記ページの夫々から、データを読み出すことにより、少なくとも２以上のデータを読み出すステップである、
ことを特徴とする請求項１５に記載のデータ読み出し・生成方法。
【請求項１７】
前記入力信号には、
第１のアドレスが含まれており、
前記ステップ（Ａ）は、
前記第１のアドレスと、前記入力信号に基づいて一義的に生成される少なくとも１以上の第２のアドレスとを、出力するステップである、
ことを特徴とする請求項１５または請求項１６に記載のデータ読み出し・生成方法。
【請求項１８】
前記ステップ（Ａ）は、
前記入力信号に基づいて、一義的に、少なくとも２以上の生成アドレスを生成し、前記生成アドレスを出力するステップである、
ことを特徴とする請求項１５または請求項１６に記載のデータ読み出し・生成方法。
【請求項１９】
前記ステップ（Ａ）は、
前記入力信号に対して所定の暗号化処理を施すことにより、前記第２のアドレスまたは前記生成アドレスを生成するステップである、
ことを特徴とする請求項１７または請求項１８に記載のデータ読み出し・生成方法。
【請求項２０】
前記ステップ（Ａ）は、
前記入力信号と予め設定されているテーブルとに基づいて、前記第２のアドレスまたは前記生成アドレスを生成するステップである、
ことを特徴とする請求項１７または請求項１８に記載のデータ読み出し・生成方法。
【請求項２１】
前記ステップ（Ａ）は、
前記入力信号に対して所定の演算処理を施すことにより、前記第２のアドレスまたは前記生成アドレスを生成するステップである、
ことを特徴とする請求項１７または請求項１８に記載のデータ読み出し・生成方法。
【請求項２２】
前記ステップ（Ｃ）は、
前記ステップ（Ｂ）において読み出された前記少なくとも２以上のデータの各々を、連結することにより、前記１つのデータを生成するステップである、
ことを特徴とする請求項１５または請求項１６に記載のデータ読み出し・生成方法。
【請求項２３】
前記ステップ（Ｃ）は、
前記ステップ（Ｂ）において読み出された前記少なくとも２以上のデータ間において、論理演算を実施することにより、前記１つのデータを生成するステップである、
ことを特徴とする請求項１５または請求項１６に記載のデータ読み出し・生成方法。
【請求項２４】
前記ステップ（Ｂ）において読み出された前記少なくとも２以上のデータは、
誤りデータを含む第１のデータと、
前記第１のデータの誤りを訂正する誤り訂正符号から成る第２のデータと、から構成されており、
前記ステップ（Ｃ）は、
前記第２のデータを用いて、前記第１のデータの誤りを訂正することにより、前記１のデータを生成するステップである、
ことを特徴とする請求項１５または請求項１６に記載のデータ読み出し・生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、メモリシステムおよびデータ読み出し・生成方法に係る発明であり、たとえば、ゲームデータなどのコンテンツを格納する不揮発性メモリを備えるメモリシステム、および当該不揮発性メモリからデータを読み出し、当該読み出しデータから新たなデータを生成するデータ読み出し・生成方法に適用することができる。
【背景技術】
【０００２】
ゲームデータなどのコンテンツを格納する用途のために用いられる、不揮発性の半導体メモリは従来より存する。また、当該不揮発性の半導体メモリと、当該不揮発性の半導体メモリからデータを読み出すコントローラから成るメモリシステムも従来から存在している（たとえば特許文献１）。
【０００３】
また、不揮発性の半導体メモリに関する先行技術として、たとえば特許文献２が存在する。特許文献２に係わる技術は、不揮発性メモリに内蔵されたデータの保護を可能とするものである。
【０００４】
【特許文献１】特開２００３−１６２４３３号公報
【特許文献２】特開２００２−２４０９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、特許文献１，２に係わる技術では、不揮発性の半導体メモリ（以下単に、不揮発性メモリと称する）内にはＲＯＭコード（所定の目的のために、その内容をそのまま利用できるデータのことを、ＲＯＭコードと称することとする）がそのまま格納されている。
【０００６】
したがって、不揮発性メモリにアクセスすれば（つまり、チップ単体を観測することにより）、当該不揮発性メモリに格納されている上記ＲＯＭコードが抽出される。このように、その内容が容易に利用できる状態のＲＯＭコードがそのまま簡単に抽出されてしまうので、当該不揮発性メモリ内に格納されるゲームデータなどのコンテンツがＲＯＭコードとして格納されている場合には、当該ゲームデータなどのコンテンツ（ＲＯＭコードとも把握できる）のセキュリティを確保することができなかった。
【０００７】
そこで、本発明は、ＲＯＭコードのセキュリティを向上させることができるメモリシステムおよび、データの読み出し・生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明に係る請求項１に記載のメモリシステムは、複数のページにより分割されており、前記ページ単位でのデータの読み出しが可能なメモリと、入力信号に基づいて所定のアドレスを生成し、少なくとも２以上のアドレスを出力するアドレス生成部とを、備えており、前記メモリは、前記アドレス生成部から出力される前記少なくとも２以上のアドレスに従って、各前記アドレスにより一義的に特定される異なる各前記ページの夫々から、少なくとも２以上のデータが読み出され、前記メモリの異なる前記ページの夫々から読み出された、前記少なくとも２以上のデータに基づいて、１つのデータを生成するデータ生成部を、さらに備えている。
【０００９】
また、本発明に係わる請求項２に記載のメモリシステムは、請求項１に記載のメモリシステムであって、前記メモリは、複数の前記ページから成る複数のセクタにより分割されており、前記セクタ単位でのデータの消去が可能であり、前記少なくとも２以上のデータが格納されている、前記メモリの異なる前記ページの夫々は、異なる前記セクタに属している。
【００１０】
また、本発明に係わる請求項３に記載のメモリシステムは、請求項１または請求項２に記載のメモリシステムであって、前記入力信号は、第１のアドレスを含む信号であり、前記アドレス生成部は、前記第１のアドレスと、前記入力信号に基づいて一義的に生成される少なくとも１以上の第２のアドレスとを、出力する。
【００１１】
また、本発明に係わる請求項４に記載のメモリシステムは、請求項１または請求項２に記載のメモリシステムであって、前記アドレス生成部は、前記入力信号に基づいて、一義的に、少なくとも２以上の生成アドレスを生成すると共に、前記生成アドレスを出力する。
【００１２】
また、本発明に係わる請求項５に記載のメモリシステムは、請求項３または請求項４に記載のメモリシステムであって、前記アドレス生成部は、前記入力信号に対して所定の暗号化処理を施すことにより、前記第２のアドレスまたは前記生成アドレスを生成する。
【００１３】
また、本発明に係わる請求項６に記載のメモリシステムは、請求項３または請求項４に記載のメモリシステムであって、前記アドレス生成部は、前記入力信号と予め設定されているテーブルとに基づいて、前記第２のアドレスまたは前記生成アドレスを生成する。
【００１４】
また、本発明に係わる請求項７に記載のメモリシステムは、請求項３または請求項４に記載のメモリシステムであって、前記アドレス生成部は、前記入力信号に対して所定の演算処理を施すことにより、前記第２のアドレスまたは前記生成アドレスを生成する。
【００１５】
また、本発明に係わる請求項８に記載のメモリシステムは、請求項１または請求項２に記載のメモリシステムであって、前記データ生成部は、前記メモリから読み出された前記少なくとも２以上のデータの各々を、連結することにより、前記１つのデータを生成する。
【００１６】
また、本発明に係わる請求項９に記載のメモリシステムは、請求項１または請求項２に記載のメモリシステムであって、前記データ生成部は、前記メモリから読み出された前記少なくとも２以上のデータ間において、論理演算を実施することにより、前記１つのデータを生成する。
【００１７】
また、本発明に係わる請求項１０に記載のメモリシステムは、請求項１または請求項２に記載のメモリシステムであって、前記メモリから読み出された前記少なくとも２以上のデータは、誤りデータを含む第１のデータと、前記第１のデータの誤りを訂正する誤り訂正符号から成る第２のデータと、から構成されており、前記データ生成部は、前記第２のデータを用いて、前記第１のデータの誤りを訂正することにより、前記１つのデータを生成する。
【００１８】
また、本発明に係わる請求項１１に記載のメモリシステムは、請求項１に記載のメモリシステムであって、前記メモリの前記ページは、ＮＡＮＤ型メモリのデータ部と、ＮＡＮＤ型メモリの冗長部とから構成されている。
【００１９】
また、本発明に係わる請求項１２に記載のメモリシステムは、請求項２に記載のメモリシステムであって、前記メモリの各前記セクタは、データの読み出し単位であるページにより、前記各セクタの領域が複数に分割されており、前記ページは、ＮＡＮＤ型メモリのデータ部と、ＮＡＮＤ型メモリの冗長部とから構成されている。
【００２０】
また、本発明に係わる請求項１３に記載のメモリシステムは、請求項１または請求項２に記載のメモリシステムであって、前記アドレス生成部と前記データ生成部とは、一のコントローラ内に形成されている。
【００２１】
また、本発明に係わる請求項１４に記載のメモリシステムは、請求項１または請求項２に記載のメモリシステムであって、前記メモリと前記アドレス生成部とが配設される、第１の装置と、前記第１の装置とは独立の装置であり、前記データ生成部が形成されている第２の装置とを、備えている。
【００２２】
また、本発明に係わる請求項１５に記載のデータ読み出し・生成方法は、複数のページにより分割されており、前記ページ単位でのデータの読み出しが可能なメモリからデータを読み出し、当該読み出したデータに基づいてデータを生成するデータ読み出し・生成方法において、（Ａ）入力信号に基づいて所定のアドレスを生成し、少なくとも２以上のアドレスを出力するステップと、（Ｂ）前記ステップ（Ａ）において出力された前記少なくとも２以上のアドレスに従って、各前記アドレスにより一義的に特定される各前記ページの夫々から、データを読み出すことにより、少なくとも２以上のデータを読み出すステップと、（Ｃ）前記ステップ（Ｂ）において、異なる前記ページから読み出された前記少なくとも２以上のデータに基づいて、１つのデータを生成するステップとを、備えている。
【００２３】
また、本発明に係わる請求項１６に記載のデータ読み出し・生成方法は、請求項１５に記載のデータ読み出し・生成方法であって、前記メモリは、複数の前記ページから成る複数のセクタにより分割されており、前記セクタ単位でのデータの消去が可能であり、前記ステップ（Ｂ）は、各前記アドレスにより一義的に特定される、各々が異なる前記セクタに属する各前記ページの夫々から、データを読み出すことにより、少なくとも２以上のデータを読み出すステップである。
【００２４】
また、本発明に係わる請求項１７に記載のデータ読み出し・生成方法は、請求項１５または請求項１６に記載のデータ読み出し・生成方法であって、前記入力信号には、第１のアドレスが含まれており、前記ステップ（Ａ）は、前記第１のアドレスと、前記入力信号に基づいて一義的に生成される少なくとも１以上の第２のアドレスとを、出力するステップである。
【００２５】
また、本発明に係わる請求項１８に記載のデータ読み出し・生成方法は、請求項１５または請求項１６に記載のデータ読み出し・生成方法であって、前記ステップ（Ａ）は、  前記入力信号に基づいて、一義的に、少なくとも２以上の生成アドレスを生成し、前記生成アドレスを出力するステップである。
【００２６】
また、本発明に係わる請求項１９に記載のデータ読み出し・生成方法は、請求項１７または請求項１８に記載のデータ読み出し・生成方法であって、前記ステップ（Ａ）は、前記入力信号に対して所定の暗号化処理を施すことにより、前記第２のアドレスまたは前記生成アドレスを生成するステップである。
【００２７】
また、本発明に係わる請求項２０に記載のデータ読み出し・生成方法は、請求項１７または請求項１８に記載のデータ読み出し・生成方法であって、前記ステップ（Ａ）は、前記入力信号と予め設定されているテーブルとに基づいて、前記第２のアドレスまたは前記生成アドレスを生成するステップである。
【００２８】
また、本発明に係わる請求項２１に記載のデータ読み出し・生成方法は、請求項１７または請求項１８に記載のデータ読み出し・生成方法であって、前記ステップ（Ａ）は、前記入力信号に対して所定の演算処理を施すことにより、前記第２のアドレスまたは前記生成アドレスを生成するステップである。
【００２９】
また、本発明に係わる請求項２２に記載のデータ読み出し・生成方法は、請求項１５または請求項１６に記載のデータ読み出し・生成方法であって、前記ステップ（Ｃ）は、前記ステップ（Ｂ）において読み出された前記少なくとも２以上のデータの各々を、連結することにより、前記１つのデータを生成するステップである。
【００３０】
また、本発明に係わる請求項２３に記載のデータ読み出し・生成方法は、請求項１５または請求項１６に記載のデータ読み出し・生成方法であって、前記ステップ（Ｃ）は、前記ステップ（Ｂ）において読み出された前記少なくとも２以上のデータ間において、論理演算を実施することにより、前記１つのデータを生成するステップである。
【００３１】
また、本発明に係わる請求項２４に記載のデータ読み出し・生成方法は、請求項１５または請求項１６に記載のメモリシステムであって、前記ステップ（Ｂ）において読み出された前記少なくとも２以上のデータは、誤りデータを含む第１のデータと、前記第１のデータの誤りを訂正する誤り訂正符号から成る第２のデータと、から構成されており、前記ステップ（Ｃ）は、前記第２のデータを用いて、前記第１のデータの誤りを訂正することにより、前記１のデータを生成するステップである。
【発明の効果】
【００３２】
本発明の請求項１および請求項１５に記載の発明は、メモリから読み出された少なくとも２以上のデータに基づいて、１のデータ（当該１のデータが複数集まることにより、所定の目的のために、その内容をそのまま利用できるデータであるＲＯＭコードが生成される）を生成している。したがって、たとえメモリから各データが抽出されたとしても、データ生成部におけるデータ生成方法が分からなければ、当該抽出された各データに基づいて、上記したデータであるＲＯＭコードを再現することができない。よって、当該発明は、ＲＯＭコードのセキュリティを向上を図ることができる。さらに、当該発明は、メモリから少なくとも２以上のデータを読み出すに際して、アドレス生成部は、入力信号に基づいて所定のアドレスを生成し、少なくとも２以上のアドレスを出力している。したがって、アドレス生成部におけるアドレス生成方法が分からなければ、メモリから、１のデータ（当該１のデータは、ＲＯＭコードの構成要素である）の作成の基となる各データを抽出することができない。よって、この点においても、当該発明は、上記ＲＯＭコードのセキュリティを向上を図ることができる。
【００３３】
また、本発明の請求項２および請求項１６に記載の発明は、メモリから読み出された少なくとも２以上のデータに基づいて、１のデータ（当該１のデータが複数集まることにより、所定の目的のために、その内容をそのまま利用できるデータであるＲＯＭコードが構成される）を生成している。したがって、たとえメモリから各データが抽出されたとしても、データ生成部におけるデータ生成方法が分からなければ、当該抽出された各データに基づいて、上記ＲＯＭコードを再現することができない。よって、当該発明は、ＲＯＭコードのセキュリティを向上を図ることができる。さらに、当該発明は、メモリから少なくとも２以上のデータを読み出すに際して、アドレス生成部は、入力信号に基づいて所定のアドレスを生成し、少なくとも２以上のアドレスを出力している。したがって、アドレス生成部におけるアドレス生成方法が分からなければ、メモリから、１のデータ（当該１のデータは、ＲＯＭコードの構成要素となる）の作成の基となる各データを抽出することができない。よって、この点においても、当該発明は、ＲＯＭコードのセキュリティを向上を図ることができる。さらに、メモリから読み出される各データは、各々異なるセクタに属している（格納されている）。したがって、前記１つのデータの生成の基となる各データを容易に読み出すことができない。よって、この点においてもＲＯＭコードのセキュリティをより向上させることができる。
【００３４】
また、本発明の請求項３および請求項１７に記載の発明は、第１のアドレスと、入力信号に基づいて一義的に生成される少なくとも１以上の第２のアドレスとを、出力する。よって、当該一義的な関係が不明であれば、上記第２のアドレスの生成も不可能であるので、上記１つのデータの生成の基となるデータを、メモリから読み出すことがより困難となる。
【００３５】
また、本発明の請求項４および請求項１８に記載の発明は、入力信号に基づいて、一義的に、少なくとも２以上の生成アドレスを生成し、当該生成アドレスを出力する。よって、当該一義的な関係が不明であれば、上記生成アドレスの生成も不可能であるので、上記１つのデータの生成の基となるデータを、メモリから読み出すことがより困難となる。
【００３６】
また、本発明の請求項５および請求項１９に記載の発明は、入力信号に対して所定の暗号化処理を施すことにより、第２のアドレスまたは生成アドレスを生成する。したがって、当該暗号を知らない者がメモリからデータを抽出することを、防止できる。なお、暗号化処理の場合には、暗号化処理前のアドレスと暗号化処理後のアドレスとの間における関係性がとても複雑である。よって、入力信号から一義的に決定されるアドレスを容易に生成することできない。つまり、結果としてＲＯＭコードのセキュリティをより向上させることができる。
【００３７】
また、請求項６および請求項２０に記載の発明は、入力信号と予め設定されているテーブルとに基づいて、第２のアドレスまたは生成アドレスを生成する。したがって、当該テーブルを知らない者がメモリからデータを抽出することを、防止できる。また、テーブルの参酌のみにより、入力信号に基づいて一義的にアドレスを生成することができる。よって、入力信号の入力からアドレス生成までの処理時間の短縮化を図ることができる。
【００３８】
また、請求項７および請求項２１に記載の発明は、入力信号に対して所定の演算処理を施すことにより、第２のアドレスまたは生成アドレスを生成する。したがって、所定の演算処理コードを知らない者がメモリからデータを抽出することを、防止できる。また、所定の演算処理を施すだけで、入力信号に基づいて一義的にアドレスを生成することができる。よって、暗号化処理の場合と比較して、入力信号の入力からアドレス生成までの処理時間の短縮化を図ることができる。
【００３９】
また、請求項８および請求項２２に記載の発明は、メモリから読み出された少なくとも２以上のデータの各々を、連結することにより、１つのデータを生成する。したがって、第三者が当該データの連結の関係性を知らなければ、メモリから読み出された各データから、上記１つのデータ（当該一つのデータが複数集まることにより、所定の目的のために、その内容をそのまま利用できるデータであるＲＯＭコードが構成される）を再現することできない。したがって、上記ＲＯＭコードのセキュリティをより向上させることができる。
【００４０】
また、請求項９および請求項２３に記載の発明は、メモリから読み出された少なくとも２以上のデータ間において、論理演算を実施することにより、１つのデータを生成する。したがって、第三者が当該データの論理演算の関係性を知らなければ、メモリから読み出された各データから、１のデータ（当該１のデータが複数集まることにより、所定の目的のために、その内容をそのまま利用できるデータであるＲＯＭコードが構成される）を再現することできない。よって、ＲＯＭコードのセキュリティをより向上させることができる。
【００４１】
また、請求項１０および請求項２４に記載の発明は、第２のデータを用いて、第１のデータの誤りを訂正することにより、１つのデータを生成する。したがって、第三者が、当該訂正の仕組みを知らなければ、メモリから読み出された各データから、１のデータ（当該１のデータが複数集まることにより、所定の目的のために、その内容をそのまま利用できるデータであるＲＯＭコードが構成される）を再現することできない。よって、ＲＯＭコードのセキュリティをより向上させることができる。
【００４２】
また、請求項１１および請求項１２に記載の発明は、メモリを構成する各ページは、ＮＡＮＤ型メモリのデータ部と、ＮＡＮＤ型メモリの冗長部とから構成されている。したがって、メモリシステムにおいて、より実用的な（つまり、より安価で、より大容量である）メモリを提供することができる。
【００４３】
また、請求項１３に記載の発明は、アドレス生成部とデータ生成部とは、一のコントローラ内に形成されている。したがって、よりコンパクトな構成のメモリシステムを実現することができる。
【００４４】
また、請求項１４に記載の発明は、メモリとアドレス生成部とが形成される第１の装置と、第１の装置とは独立の装置であり、データ生成部が形成されている第２の装置とを、備えている。したがって、データ生成部のデータ生成の方法（たとえば、連結、論理演算、や訂正コード等に関する情報）を、必要なときに、必要に応じて容易に変更することができる。
【発明を実施するための最良の形態】
【００４５】
以下、この発明をその実施の形態を示す図面に基づいて具体的に説明する。
【００４６】
＜実施の形態１＞
図１は、本実施の形態に係わるメモリシステムの構成を示すブロック図である。図１に示すように、メモリシステム１００は、不揮発性の半導体メモリ（以下単に、不揮発性メモリと称する）１、アドレス生成部２、およびデータ生成部３を備えている。ここで、本実施の形態に係わるメモリシステム１００では、アドレス生成部２およびデータ生成部３は各々、同一のコントローラ１０内に配設されている。
【００４７】
不揮発性メモリ１は、図２に示すように、複数のページ１ａにより分割されている。なお、図２では、不揮発性メモリ１は、「１５」のページ１ａにより分割されているが、当該分割数はこれに限るものでは無く、任意に決定できる。また、不揮発性メモリ１は、上記ページ１ａ単位でのデータの読み出しが可能である。つまり、不揮発性メモリ１に格納されているデータを読み出す場合には、一のページ１ａに格納されているデータを一つの塊として１の読み出処理により、まとめて読み出される。また、各ページ１ａには、不揮発性メモリ１内における領域位置を規定するアドレスが各々付されている。
【００４８】
アドレス生成部２は、入力される信号ｉ１（当該信号は、メモリシステム１００外部からのデータの読み出し要求と把握できる。以下、入力信号ｉ１と称する）に基づいて所定のアドレスを一義的に生成し、少なくとも２以上のアドレスを出力する。本実施の形態では、図１に示すように、入力信号ｉ１には、アドレス（第１のアドレスと把握できる）Ａに関する情報（アドレスＡ自体も含む）が含まれている。そして、本実施の形態では、アドレス生成部２は、上記入力信号ｉ１（アドレスＡの情報を含む）に基づいて、１以上のアドレス（第２のアドレスと把握できる）を一義的に生成する。ここで、本実施の形態では、入力信号ｉ１に基づいて１のアドレスＢが生成されるものとする。そして、当該アドレス生成部２は、上記アドレスＡとアドレスＢとを、不揮発性メモリ１に向けて出力する。
【００４９】
また、本実施の形態では、アドレス生成部２は、上記入力信号ｉ１に対して所定の暗号化処理を施すことにより、一義的に上記アドレスＢを生成する。ここで、本実施の形態では、アドレス生成部２には、暗号化処理の際に使用される暗号コードが予め設定されている。
【００５０】
データ生成部３は、不揮発性メモリ１の異なるページ１ａから各々読み出された、少なくとも２以上のデータに基づいて、１つのデータを生成する。ここで、少なくとも２以上のデータに基づいて、１つのデータを生成する方法として、多くの方法が想定することができる。本実施の形態に係わるデータ生成部３では、不揮発性メモリ１から読み出された少なくとも２以上のデータの各々を、連結することにより、１つのデータを生成する。
【００５１】
ここで、不揮発性メモリ１は、アドレス生成部２から出力される少なくとも２以上のアドレスに従って、各アドレスにより一義的に特定される各ページ１ａの夫々から、データが読み出される（つまり、異なるページ１ａに格納されているデータが各々読み出される）。たとえば、アドレス生成部２からアドレスＡおよびアドレスＢが出力されたとする。すると、不揮発性メモリ１からは、アドレスＡにより一義的に特定されるページ１ａｓに格納されているデータａ（図２参照）、およびアドレスＢにより一義的に特定されるページ１ａｔに格納されているデータｂ（図２参照）が、各々読み出される。
【００５２】
したがって、上記の場合には、データ生成部３は、不揮発性メモリ１から読み出された、二つのデータａ，ｂに基づいて、１つのデータｃを生成する。当該生成される１つのデータは、ＲＯＭコードの構成要素である。
【００５３】
ここで、所定の目的のために、その内容をそのまま利用できるデータのことを、ＲＯＭコードと称することとする。よって、不揮発性メモリ１に格納されている全データを単に抽出しただけでは、上記ＲＯＭコードを再現することができない。データ生成部３の動作により、ＲＯＭコードの構成要素となる１つのデータｃを生成し、当該１つのデータｃを複数集めることにより、ＲＯＭコードが生成される。
【００５４】
つまり、データａ，ｂ等を不揮発性メモリ１から抽出しても、データ生成部３における所定の動作の内容が不明であれば、結果としてＲＯＭコードを再現することができない（つまり、所定の目的のために、その内容をそのまま利用できるデータ（データｃの集まり）を取得できない）。
【００５５】
なお、不揮発性メモリ１から上述の通りデータａ，ｂが読み出された場合には、本実施の形態に係わるデータ生成部３は、図３に示すように、データａとデータｂとを連結することにより、一のデータｃ（ＲＯＭコードの構成要素となるデータであると把握できる）を生成する。
【００５６】
次に、本実施の形態に係わるメモリシステムの動作（つまり、データの読み出し・生成方法）について、図４の動作ステップの流れを示す図を用いて説明する。
【００５７】
まず、図１に示すように、コントローラ１０は（より具体的には、アドレス生成部２の入力部において）、入力信号ｉ１を受信する（ステップＳ１）。ここで、本実施の形態では、入力信号ｉ１には、アドレスＡに関する情報（アドレスＡ自体も含む）が含まれている。
【００５８】
次に、アドレス生成部２は、入力信号ｉ１に基づいて所定のアドレスを一義的に生成し、当該アドレス生成後、少なくとも２以上のアドレスを出力する（ステップＳ２）。本実施の形態に係わるアドレス生成部２の動作をより具体的に説明すると、当該アドレス生成部２は、入力信号ｉ１に対して所定の暗号化処理を施す。ここで、上述の通りアドレス生成部２には予め、所定の暗号コードが設定されている。そして、当該暗号化処理の結果アドレスＢを一義的に生成する（ステップＳ２）。当該アドレスの生成後、アドレス生成部２は、入力信号ｉ１に含まれているアドレスＡと、生成したアドレスＢとを出力する（ステップＳ２）。
【００５９】
次に、アドレス生成部２から出力された少なくとも２以上のアドレスを受信した不揮発性メモリ１では、当該受信したアドレスに従って、各アドレスにより一義的に特定される各ページ１ａの夫々から、データが読み出される（ステップＳ３）。
【００６０】
たとえば、アドレス生成部２からアドレスＡとアドレスＢとが出力されたとする。この場合、図２を参照して、アドレスＡにより一義的に特定されるページ１ａｓ格納されているデータａ、およびアドレスＢにより一義的に特定されるページ１ａｔに格納されているデータｂが、不揮発性メモリ１（より具体的には、ページ１ａｓ，１ａｔ）から、各々読み出される（ステップＳ３）。
【００６１】
ステップＳ３において不揮発性メモリ１から各データが読み出されると、当該読み出された各データは、データ生成部３に入力される。当該各データを受信したデータ生成部３では、受信した各データに基づいて、１つのデータ（ＲＯＭコードの構成要素となるデータ）を生成する（ステップＳ４）。具体的に本実施の形態では、データ生成部３は以下の動作を行う。
【００６２】
データ生成部３が、不揮発性メモリ１から読み出されたデータａ，ｂを受信したとする。すると、本実施の形態に係わるデータ生成部３は、図３に示すように、データａとデータｂとを連結することにより、１つのデータｃ（ＲＯＭコードの構成要素となるデータ）を生成する（ステップＳ４）。本発明では、ＲＯＭコードは、たとえばゲームプレイの目的のために、その内容をそのまま利用できるゲームデータであり、上述から理解できるように、各データを当該不揮発性メモリ１から全データを単に抽出しただけでは、当該ＲＯＭコードを再現することはできない。
【００６３】
ステップＳ４においてデータ生成部３がＲＯＭコードの構成要素となる１のデータを生成した後は、当該データ生成部３は、生成した１のデータをメモリシステム１００外へと出力する（ステップＳ５）。
【００６４】
以上のように、本実施の形態に係わるメモリシステム１００では、不揮発性メモリ１から読み出された少なくとも２以上のデータ（当該読み出されたデータは、コンソールが期待するデータとは異なる。つまり、そのままの状態では上記ＲＯＭコードを再現できないデータである）に基づいて、所定の目的のために実際に利用可能なＲＯＭコードの構成要素となるデータｃを生成している。
【００６５】
したがって、たとえ不揮発性メモリ１から各データが抽出されたとしても、データ生成部３におけるデータ生成方法（たとえば、データａ，ｂからデータｃを作成する方法（関連性））が分からなければ、不揮発性メモリ１から抽出された全データに基づいて、実際に利用できるＲＯＭコードを再現することができない。よって、本実施の形態に係わるメモリシステム１００は、ＲＯＭコードのセキュリティを向上を図ることができる。
【００６６】
さらに、本実施の形態に係わるメモリシステム１００では、不揮発性メモリ１から少なくとも２以上のデータ（当該読み出されたデータは、コンソールが期待するデータとは異なる。つまり、そのままの状態ではＲＯＭコードを再現できないデータ）を読み出すに際して、アドレス生成部２は、入力信号ｉ１に基づいて所定のアドレスを生成し、少なくとも２以上のアドレスを出力している。
【００６７】
したがって、アドレス生成部２におけるアドレス生成方法（たとえば、入力信号ｉ１からアドレスＡ，Ｂを作成する方法（関連性））が分からなければ、不揮発性メモリ１から、上記１つのデータの作成の基となる各データを抽出することができない。よって、この点においても、本実施の形態に係わるメモリシステム１００は、ＲＯＭコードのセキュリティの向上を図ることができる。
【００６８】
また、本実施の形態に係わるメモリシステム１００では、入力信号ｉ１には所定のアドレスが含まれており、また当該入力信号ｉ１に基づいて一義的に他のアドレスを生成している。
【００６９】
したがって、当該一義的な関係が不明であれば、上記他のアドレスの生成も不可能であるので、上記１つのデータの生成の基となるデータを、不揮発性メモリ１から読み出すことがより困難となる。
【００７０】
なお、本実施の形態では、入力信号ｉ１が所定のアドレス情報を含んでおり、アドレス生成部２は、上記入力信号ｉ１に基づいて一義的に生成される少なくとも１以上のアドレス（第２のアドレスと把握できる）と、入力信号ｉ１に含まれている所定のアドレス（第１のアドレスと把握できる）とを、各々出力する形態について言及した（第１のアドレス生成形態と称する）。
【００７１】
しかし、入力信号ｉ１はアドレス情報を含まず、アドレス生成部２は、入力信号ｉ１に基づいて、一義的に、少なくとも２以上のアドレス（生成アドレスと把握できる）を生成すると共に、当該生成アドレスを出力する形態を採用することもできる（第２のアドレス生成形態と称する）。たとえば、当該第２のアドレス生成形態では、入力信号ｉ１に基づいて一義的に、アドレスＡ（生成アドレス）およびアドレスＢ（生成アドレス）を生成する。
【００７２】
当該第２のアドレス生成形態においても、上記第１のアドレス生成形態と同様に、当該一義的な関係が不明であれば、上記他のアドレスの生成も不可能であるので、上記１つのデータの生成の基となるデータを、不揮発性メモリ１から読み出すことがより困難となる。
【００７３】
また、本実施の形態に係わるメモリシステム１００では、アドレス生成部２は、入力信号ｉ１に対して所定の暗号化処理を施すことにより、上記入力信号ｉ１に基づいて一義的に少なくとも１以上のアドレスを生成している（上記第１のアドレス生成形態の場合）。また、上記した第２のアドレス生成形態において、アドレス生成部２は、入力信号ｉ１に対して所定の暗号化処理を施すことにより、少なくとも２以上のアドレス（生成アドレスと把握できる）を生成する方法も採用できる。
【００７４】
このように、入力信号ｉ１に対して暗号処理を施すことにより、上記の通りアドレスを生成することにより、当該暗号を知らない者が不揮発性メモリ１からデータを抽出することを、防止できる。なお、暗号化処理の場合には、暗号化処理前のアドレスと暗号化処理後のアドレスとの間における関係性がとても複雑であるので、入力信号ｉ１から一義的に決定されるアドレス（上記の場合たとえばアドレスＢ）を容易に生成することできない。つまり、結果としてＲＯＭコードのセキュリティをより向上させることができる。
【００７５】
また、本実施の形態に係わるメモリシステム１００では、データ生成部３は、不揮発性メモリ１から読み出された少なくも２以上のデータの各々を連結することにより、１のデータｃ（上記ＲＯＭコードの構成要素となるデータ）を生成している。
【００７６】
したがって、第三者が当該データの連結の関係性を知らなければ、不揮発性メモリ１から読み出された各データから、上記１つのデータｃを生成することができない。よって、結果として、所定の目的のために実際に利用できるＲＯＭコードを再現することできない。よって、ＲＯＭコードのセキュリティをより向上させることができる。
【００７７】
なお、上記第１のアドレス生成形態の場合、上記例示では、アドレスＡの情報を含む入力信号ｉ１に基づいて、一義的にアドレスＢを生成させていた（図１参照）。つまり、アドレス生成部２から当該２つのアドレスＡ，Ｂを出力し、当該２つのアドレスに従って、不揮発性メモリ１から２つのデータａ，ｂを読み出し、そしてデータ生成部３では当該２つのデータａ，ｂに基づいて１つのデータｃ（ＲＯＭコードの構成要素となるデータ）を生成していた（図１参照）。
【００７８】
しかし、アドレスＡの情報を含む入力信号ｉ１に基づいて、一義的に、少なくとも２以上のアドレス（たとえば、アドレスＢ，Ｃ等）を生成させても良い。当該場合には、アドレス生成部２からは、計少なくとも３以上のアドレス（たとえば、アドレスＡ，Ｂ，Ｃ等）が出力される。そして、不揮発性メモリ１からは、当該出力されたアドレスの数と同数のデータが読み出される。そして、データ生成部３では、不揮発性メモリ１から読み出された少なくとも３以上のデータに基づいて、１つのデータｃ（ＲＯＭコードの構成要素となるデータ）が生成される。
【００７９】
また、上述したように第２のアドレス生成形態の場合には、たとえば、アドレス情報を含まない入力信号に基づいて、一義的にアドレスＡ，Ｂを生成している。そして、アドレス生成部２から当該生成した２つのアドレスＡ，Ｂを出力し、当該２つのアドレスに従って、不揮発性メモリ１から２つのデータａ，ｂを読み出し、そしてデータ生成部３では当該２つのデータａ，ｂに基づいて１つのデータｃ（ＲＯＭコードの構成要素となるデータ）を生成している。さらに、第２のアドレス生成形態の場合には、下記の形態も考え得る。
【００８０】
つまり、たとえば、アドレス情報を含ま無い入力信号に基づいて、一義的に、少なくとも３以上のアドレス（たとえば、アドレスＡ，Ｂ，Ｃ等）を生成させても良い。当該場合には、アドレス生成部２からは、計少なくとも３以上のアドレス（たとえば、アドレスＡ，Ｂ，Ｃ等）が出力される。そして、不揮発性メモリ１からは、当該出力されたアドレスの数と同数のデータが読み出される。そして、データ生成部３では、不揮発性メモリ１から読み出された少なくとも３以上のデータに基づいて、１つのデータｃ（ＲＯＭコードの構成要素となるデータ）が生成される。
【００８１】
なお、通常メモリは、データの消去単位であるセクタにより、当該メモリ領域が複数に分割されている。そして、各セクタは、データの読み出し単位であるページにより、当該セクタの領域が複数に分割されている。ここで、当該記載から分かるように、セクタの容量はページの容量よりも大きい。
【００８２】
本実施の形態に係わる不揮発性メモリ１においても、上記メモリ構成を有する。この場合、ＲＯＭコードのセキュリティ向上の観点から、１の入力信号ｉ１の入力に起因して当該不揮発性メモリ１から読み出される各データは、各々異なるセクタに属していることが望ましい（１つのデータの生成の基となる各データを容易に読み出すことができないので、ＲＯＭコードのセキュリティが向上する）。もちろん、上述したように、当該各データは異なるページに各々格納されている。なお、詳細については、実施の形態６において説明する。
【００８３】
＜実施の形態２＞
実施の形態１の上記第１のアドレス生成形態の場合では、アドレス生成部２は、アドレス情報を含む入力信号ｉ１に対して所定の暗号化処理を施すことにより、少なくとも１以上のアドレスを生成していた。本実施の形態では、他のアドレス生成方法により、アドレス生成部２が少なくとも１以上のアドレスを生成する場合に言及する。
【００８４】
つまり、本実施の形態では、アドレス生成部２は、入力信号と所定のテーブル（たとえば、図５ないし８）とに基づいて、所定のアドレスを生成している。ここで、当該所定のテーブルは、アドレス生成部２に予め設定されている。また、アドレス生成部２は、入力されてきた入力信号に基づいて、一義的に、所定のアドレスを生成している。
【００８５】
たとえば、上記第１のアドレス生成形態において、図５に示すテーブルがアドレス生成部２に設定されているとする。
【００８６】
当該場合には、アドレス生成部２では、アドレスＡ（第一のアドレスと把握できる）の情報が含まれている入力信号ｉ１と図５のテーブルとに基づいて、アドレスＢ（第２のアドレスと把握できる）が一義的に生成される。また、アドレス生成部２では、アドレスＣ（第一のアドレスと把握できる）の情報が含まれている入力信号ｉ２と図５のテーブルとに基づいて、アドレスＤ（第２のアドレスと把握できる）が一義的に生成される。また、アドレス生成部２では、アドレスＥ（第一のアドレスと把握できる）の情報が含まれている入力信号ｉ３と図５のテーブルとに基づいて、アドレスＦ（第２のアドレスと把握できる）が一義的に生成される。さらに、アドレス生成部２では、アドレスＧ（第一のアドレスと把握できる）の情報が含まれている入力信号ｉ４と図５のテーブルとに基づいて、アドレスＨ（第２のアドレスと把握できる）が一義的に生成される。
【００８７】
なお、上記のように入力信号ｉ１〜ｉ４と図５とに従って所定のアドレスが生成された場合には、アドレス生成部２からは、図５に示すアドレスが出力される。
【００８８】
つまり、入力信号ｉ１がアドレス生成部２に入力した場合には、当該アドレス生成部２からはアドレスＡ，Ｂが出力される。また、入力信号ｉ２がアドレス生成部２に入力した場合には、当該アドレス生成部２からはアドレスＣ，Ｄが出力される。また、入力信号ｉ３がアドレス生成部２に入力した場合には、当該アドレス生成部２からはアドレスＥ，Ｆが出力される。さらに、入力信号ｉ４がアドレス生成部２に入力した場合には、当該アドレス生成部２からはアドレスＧ，Ｈが出力される。
【００８９】
またたとえば、上記第１のアドレス生成形態において、図６に示すテーブルがアドレス生成部２に設定されているとする。
【００９０】
当該場合には、アドレス生成部２では、アドレスＡ（第一のアドレスと把握できる）の情報が含まれている入力信号ｉ１と図６のテーブルとに基づいて、アドレスＢ，Ｃ，Ｄ（第２のアドレスと把握できる）が一義的に生成される。また、アドレス生成部２では、アドレスＥ（第一のアドレスと把握できる）の情報が含まれている入力信号ｉ２と図６のテーブルとに基づいて、アドレスＦ，Ｇ，Ｈ（第２のアドレスと把握できる）が一義的に生成される。また、アドレス生成部２では、アドレスＩ（第一のアドレスと把握できる）の情報が含まれている入力信号ｉ３と図６のテーブルとに基づいて、アドレスＪ，Ｋ，Ｌ（第２のアドレスと把握できる）が一義的に生成される。さらに、アドレス生成部２では、アドレスＭ（第一のアドレスと把握できる）の情報が含まれている入力信号ｉ４と図６のテーブルとに基づいて、アドレスＮ，Ｏ，Ｐ（第２のアドレスと把握できる）が一義的に生成される。
【００９１】
なお、上記のように入力信号ｉ１〜ｉ４と図６とに従って所定のアドレスが生成された場合には、アドレス生成部２からは、図６に示すアドレスが出力される。
【００９２】
つまり、入力信号ｉ１がアドレス生成部２に入力した場合には、当該アドレス生成部２からはアドレスＡ，Ｂ，Ｃ，Ｄが出力される。また、入力信号ｉ２がアドレス生成部２に入力した場合には、当該アドレス生成部２からはアドレスＥ，Ｆ，Ｇ，Ｈが出力される。また、入力信号ｉ３がアドレス生成部２に入力した場合には、当該アドレス生成部２からはアドレスＩ，Ｊ，Ｋ，Ｌが出力される。さらに、入力信号ｉ４がアドレス生成部２に入力した場合には、当該アドレス生成部２からはアドレスＭ，Ｎ，Ｏ，Ｐが出力される。
【００９３】
上記図５，６で例示したように、第１のアドレス生成形態である場合の本実施の形態では、アドレス情報（第１のアドレスと把握できる）を含む入力信号と所定のテーブルとに基づいて、アドレス生成部２は、少なくとも１以上のアドレス（第２のアドレスと把握できる）を一義的に生成し、計少なくとも２以上のアドレス（第１のアドレスおよび第２のアドレスと把握できる）を出力している。
【００９４】
またたとえば、上記第２のアドレス生成形態において、図７に示すテーブルがアドレス生成部２に設定されているとする。なお、実施の形態１で説明したように、第２のアドレス生成形態の場合には、アドレス生成部２に入力される入力信号には、アドレス情報が含まれていない。
【００９５】
当該場合には、アドレス生成部２では、入力信号Ｉ１と図７のテーブルとに基づいて、アドレスＡ，Ｂ（生成アドレスと把握できる）が一義的に生成される。また、アドレス生成部２では、入力信号Ｉ２と図７のテーブルとに基づいて、アドレスＣ，Ｄ（生成アドレスと把握できる）が一義的に生成される。また、アドレス生成部２では、入力信号Ｉ３と図７のテーブルとに基づいて、アドレスＥ，Ｆ（生成アドレスと把握できる）が一義的に生成される。さらに、アドレス生成部２では、入力信号Ｉ４と図７のテーブルとに基づいて、アドレスＧ，Ｈ（生成アドレスと把握できる）が一義的に生成される。
【００９６】
なお、上記のように入力信号Ｉ１〜Ｉ４と図７とに従って所定のアドレスが生成された場合には、アドレス生成部２からは、図７に示すアドレスが出力される。
【００９７】
つまり、入力信号Ｉ１がアドレス生成部２に入力した場合には、当該アドレス生成部２からはアドレスＡ，Ｂが出力される。また、入力信号Ｉ２がアドレス生成部２に入力した場合には、当該アドレス生成部２からはアドレスＣ，Ｄが出力される。また、入力信号Ｉ３がアドレス生成部２に入力した場合には、当該アドレス生成部２からはアドレスＥ，Ｆが出力される。さらに、入力信号Ｉ４がアドレス生成部２に入力した場合には、当該アドレス生成部２からはアドレスＧ，Ｈが出力される。
【００９８】
またたとえば、上記第２のアドレス生成形態において、図８に示すテーブルがアドレス生成部２に設定されているとする。なお、実施の形態１で説明したように、第２のアドレス生成形態の場合には、アドレス生成部２に入力される入力信号には、アドレス情報が含まれていない。
【００９９】
当該場合には、アドレス生成部２では、入力信号Ｉ１と図８のテーブルとに基づいて、アドレスＡ，Ｂ，Ｃ（生成アドレスと把握できる）が一義的に生成される。また、アドレス生成部２では、入力信号Ｉ２と図８のテーブルとに基づいて、アドレスＤ，Ｅ，Ｆ（生成アドレスと把握できる）が一義的に生成される。また、アドレス生成部２では、入力信号Ｉ３と図８のテーブルとに基づいて、アドレスＧ，Ｈ，Ｉ（生成アドレスと把握できる）が一義的に生成される。さらに、アドレス生成部２では、入力信号Ｉ４と図８のテーブルとに基づいて、アドレスＪ，Ｋ，Ｌ（生成アドレスと把握できる）が一義的に生成される。
【０１００】
なお、上記のように入力信号Ｉ１〜Ｉ４と図８とに従って所定のアドレスが生成された場合には、アドレス生成部２からは、図８に示すアドレスが出力される。
【０１０１】
つまり、入力信号Ｉ１がアドレス生成部２に入力した場合には、当該アドレス生成部２からはアドレスＡ，Ｂ，Ｃが出力される。また、入力信号Ｉ２がアドレス生成部２に入力した場合には、当該アドレス生成部２からはアドレスＤ，Ｅ，Ｆが出力される。また、入力信号Ｉ３がアドレス生成部２に入力した場合には、当該アドレス生成部２からはアドレスＧ，Ｈ，Ｉが出力される。さらに、入力信号Ｉ４がアドレス生成部２に入力した場合には、当該アドレス生成部２からはアドレスＪ，Ｋ，Ｌが出力される。
【０１０２】
上記図７，８で例示したように、第２のアドレス生成形態の場合である本実施の形態では、入力信号と所定のテーブルとに基づいて、アドレス生成部２は、少なくとも２以上のアドレス（生成アドレスと把握できる）を一義的に生成し、計少なくとも２以上のアドレス（生成アドレスと把握できる）を出力している。
【０１０３】
以上のように、本実施の形態では、アドレス生成部２は、所定のテーブルと入力信号とに基づいて所定のアドレスを生成し、少なくとも２以上のアドレスを出力している。
【０１０４】
したがって、上記で例示した所定のテーブル（図５〜８）を知らない者が不揮発性メモリ１からデータを抽出することを、防止できる。また、アドレス生成部２では、所定のテーブルの参酌のみにより、入力信号ｉ１に基づいて一義的にアドレスを生成することができる。よって、当該アドレス生成部２における、入力信号ｉ１の入力からアドレス生成までの処理時間の短縮化を図ることができる。
【０１０５】
＜実施の形態３＞
本実施の形態では、実施の形態１，２とは異なる他のアドレス生成方法により、アドレス生成部２が少なくとも１以上のアドレスを生成する場合に言及する。
【０１０６】
つまり、本実施の形態では、アドレス生成部２は、入力信号に対して所定の演算処理を施すことにより、所定のアドレスを生成している。ここで、当該所定の演算処理のコードは、アドレス生成部２に予め設定されている。また、アドレス生成部２は、入力されてきた入力信号に基づいて、一義的に、所定のアドレスを生成している。
【０１０７】
たとえば、実施の形態１で定義した第１のアドレス生成形態の場合を例にとり、本実施の形態を簡単に説明すると下記の通りである。なお、以下の説明では、アドレスＡからＢへの、オフセット付き加算の場合について述べる。
【０１０８】
たとえば、説明簡略化のため、不揮発性メモリ１のページ１ａは、０から７まで８分割されており、各々ページ１ａにアドレス（簡単のため各アドレスは、「０」ないし「７」であるとする）が付されている場合を想定する。さらに、当該場合において、本実施の形態に係わるアドレス生成部２は、「アドレスＢ＝アドレスＡ＋４」、という演算処理コードが予め設定されているとする。
【０１０９】
当該状態において、アドレスＡ＝「０」である情報を含む入力信号がアドレス生成部２に入力されたとする。すると、アドレス生成部２では、上記演算処理コードに基づいて、アドレスが「４」であるアドレスＢが生成される。また、アドレスＡ＝「１」である情報を含む入力信号がアドレス生成部２に入力されたとする。すると、アドレス生成部２では、上記演算処理コードに基づいて、アドレスが「５」であるアドレスＢが生成される。また、アドレスＡ＝「２」である情報を含む入力信号がアドレス生成部２に入力されたとする。すると、アドレス生成部２では、上記演算処理コードに基づいて、アドレスが「６」であるアドレスＢが生成される。
【０１１０】
また、アドレスＡ＝「４」である情報を含む入力信号がアドレス生成部２に入力されたとする。すると、アドレス生成部２における上記演算処理コードに基づく計算の結果、アドレスＢはアドレス「８」を超えてしまうので、先頭にラップさせる。したがって、アドレス生成部２では、アドレスが「０」であるアドレスＢが生成される。同様の考察により、アドレスＡ＝「５」である情報を含む入力信号がアドレス生成部２に入力されたとする。すると、アドレス生成部２では、上記演算処理コードに基づいて、アドレスが「１」であるアドレスＢが生成される。
【０１１１】
なお、上記記載を参酌すれば、第２のアドレス生成形態の場合について本実施の形態（つまり、入力信号に対して所定の演算処理を施すことにより、所定のアドレスを生成している方法）を適用することは容易である。たとえば、以下の方法を採用することができる。
【０１１２】
つまり、第２のアドレス生成形態の場合に本実施の形態を適用する場合、たとえば入力信号ｉには、不揮発性メモリ１のメモリ領域外のアドレス情報が含まれている。さらに、アドレス生成部２は複数のオフセット計算式が設定されている。このような構成において、アドレス生成部２に前記入力信号ｉが入力されると、前記複数のオフセット計算式を用いた演算処理により、不揮発性メモリ１のメモリ領域内に属する、少なくとも２以上のアドレスが生成される。その後、当該生成された少なくとも２以上のアドレスを、アドレス生成部２は不揮発性メモリ１に向けて送出する。
【０１１３】
以上のように、本実施の形態では、アドレス生成部２は、入力信号に対して所定の演算処理を施すことにより、少なくとも１以上のアドレス（第２のアドレスまたは生成アドレスと把握できる）を生成する。
【０１１４】
したがって、上記所定の演算処理コードを知らない者が不揮発性メモリ１からデータを抽出することを、防止できる。また、アドレス生成部２では、所定の演算処理を施すだけで、入力信号に基づいて一義的にアドレスを生成することができる。よって、実施の形態１で説明した暗号化処理の場合と比較して、当該アドレス生成部２における、入力信号の入力からアドレス生成までの処理時間の短縮化を図ることができる。
【０１１５】
＜実施の形態４＞
実施の形態１の場合では、データ生成部３は、不揮発性メモリ１から読み出された少なくとも２以上のデータの各々を連結することにより、１つのデータｃを生成していた。本実施の形態では、他のデータ生成方法により、データ生成部３が１つのデータｃを生成する場合に言及する。
【０１１６】
つまり、本実施の形態に係わるデータ生成部３は、図９に示すように、不揮発性メモリ１から読み出された少なくとも２以上のデータ（たとえばデータａ，ｂ）間において、論理演算（たとえば排他論理和）を実施することにより、１つのデータｃ（ＲＯＭコードの構成要素となるデータ）を生成する。
【０１１７】
たとえば、データａ，ｂが同じ数のビットで構成されているとする。この場合、データａの先頭ビットとデータｂの先頭ビットとの、たとえば排他論理和を計算する。そして、当該計算結果をデータｃの先頭ビットとする。また、データａの２番目のビットとデータｂの２番目のビットとの、たとえば排他論理和を計算する。そして、当該計算結果をデータｃの２番目のビットとする。また、データａのｎ番目のビットとデータｂのｎ番目のビットとの、たとえば排他論理和を計算する。そして、当該計算結果をデータｃのｎ番目のビットとする。このように、データ生成部３は、当該論理演算処理をデータａ，ｂを構成する全てのビットに対して施し、１つのデータｃ（ＲＯＭコードの構成要素となるデータ）を生成する。
【０１１８】
以上のように、本実施の形態に係わるデータ生成部３は、不揮発性メモリ１から読み出された少なくとも２以上のデータ間において論理演算を実施することにより、１つのデータｃ（ＲＯＭコードの構成要素となるデータ）を生成する。
【０１１９】
したがって、第三者が当該データの論理演算の関係性を知らなければ、不揮発性メモリ１から読み出された各データから、所定の目的のために実際に利用できるＲＯＭコードを再現することできない。よって、ＲＯＭコードのセキュリティをより向上させることができる。
【０１２０】
＜実施の形態５＞
本実施の形態では、実施の形態１，４とは異なる他のデータ生成方法により、データ生成部３が１つのデータｃを生成する場合に言及する。
【０１２１】
つまり、本実施の形態では、不揮発性メモリ１から読み出された少なくとも２以上のデータは、誤りデータを含む第１のデータと、当該第１のデータの誤りを訂正する誤り訂正符号から成る第２のデータと、から構成されている。そして、データ生成部３は、第２のデータを用いて、第１のデータの誤りを訂正することにより、１つのデータｃ（ＲＯＭコードの構成要素となるデータ）を生成する。つまり、誤りが訂正された第１のデータが、１つのデータｃ（ＲＯＭコードの構成要素となる）である。
【０１２２】
ここで、上記データの誤り訂正の動作として、周知の各方法を採用することができる。たとえば特開２００５−４４４２７号公報に開示されている方法を採用することができる。
【０１２３】
以上のように、本実施の形態に係わるデータ生成部３は、上記第２のデータを用いて、上記第１のデータの誤りを訂正することにより、１つのデータｃ（ＲＯＭコードの構成要素となるデータ）を生成している。
【０１２４】
したがって、第三者が、不揮発性メモリ１から読み出されるデータが上記第１のデータと上記第２のデータから構成されていること（つまり、上記訂正の仕組み）を知らなければ、不揮発性メモリ１から読み出された各データから、所定の目的のために実際に利用できるＲＯＭコードを再現することできない。よって、ＲＯＭコードのセキュリティをより向上させることができる。
【０１２５】
＜実施の形態６＞
上記各実施の形態では、不揮発性メモリ１は、複数のページ１ａにより分割されており、当該ページ１ａ単位でのデータの読み出しが可能であった。ここで、一般的に、不揮発性メモリ１は、複数のセクタにより分割されており、当該セクタ単位でのデータの消去が可能である。ここで、各セクタは、実施の形態１で説明した、複数のページ１ａを有する（つまり、各セクタは、複数のページ１ａにより分割されている）。
【０１２６】
本実施の形態に係わるメモリシステム２００は、上記各実施の形態に係わるメモリシステム１００において、不揮発性メモリ１を、上記複数のセクタにより分割された不揮発性メモリ５１に置き換えることを特徴とする（図１０参照）。
【０１２７】
本実施の形態に係わる不揮発性メモリ５１は、図１１に示すように、複数のセクタＳ１〜Ｓ４により分割されている。なお、図１１では、不揮発性メモリ５１は、「４」のセクタＳ１〜Ｓ４により分割されているが、当該分割数はこれに限るものでは無く、任意に決定できる。
【０１２８】
また、不揮発性メモリ５１は、上記セクタ単位でのデータの消去が可能である。つまり、不揮発性メモリ５１に格納されているデータを消去する場合には、一のセクタに格納されているデータを一つの塊として、当該一塊のデータが１の消去処理によりまとめて消去される。なお、上述のように、各セクタＳ１〜Ｓ４は、複数のページ１ａを有している（つまり、各セクタＳ１〜Ｓ４は、各々複数のページ１ａにより分割されている）。ここで、ページ１ａは実施の形態１で説明したように、データ読み出し単位で構成されている。
【０１２９】
また、本実施の形態においても、データ生成部３におけるデータｃの生成の際に、少なくとも２以上データが不揮発性メモリ５１から読み出される。ここで、当該読み出される少なくとも２以上のデータの各データは、図１１に示す不揮発性メモリ５１において異なるセクタＳ１〜Ｓ４に格納されている。換言すれば、当該少なくとも２以上のデータの各データが夫々、異なるセクタＳ１〜Ｓ４に格納されるように、当該各データを不揮発性メモリ１内に配置する。
【０１３０】
たとえば、データ生成部３において１つのデータｃを生成するに際して、データａ，ｂが必要であるとする。当該場合、たとえば図１１に示すように、データａをセクタＳ１に格納し、データｂをセクタＳ３を格納する。ここで、明白であるように、セクタＳ１とセクタＳ３とは、各々セクタが異なる。
【０１３１】
さらに、本実施の形態ではアドレス生成部２は、データｃの生成の際に、上記のように格納された少なくとも２以上のデータを読み出すことができる、少なくとも１以上（または少なくも２以上）のアドレスを生成することができるように、設計される。
【０１３２】
たとえば、一つのデータｃを生成するに際して、データａ，ｂが必要であるとする。そして、たとえば、データａは、セクタＳ１に属する第１のページ１ａに格納されており、データｂは、セクタＳ３に属する第２のぺージ１ａに格納されているとする。当該場合には、アドレス生成部２は、所定のアドレスを生成し、当該第１、２のページ１ａを特定する二つのアドレスを出力する。
【０１３３】
なお、本実施の形態に係わるメモリシステム２００の動作は、上記実施の形態１と同様である。ただし、不揮発性メモリ５１およびアドレス生成部２は上記のように設計されている。したがって、１つのデータｃを生成するために必要な、少なくとも２以上のデータは、各々異なるセクタＳ１〜Ｓ４から読み出される。
【０１３４】
したがって、本実施の形態に係わるメモリシステム２００は、実施の形態１で説明した効果と同様の効果（つまり、ＲＯＭコードのセキュリティを向上を図る効果）を有することができる。
【０１３５】
また、上述の通り、各実施の形態で説明した各態様を、本実施の形態に係わるメモリシステム２００に適用することができる。したがって、メモリシステム２００に対して当該適用を行った場合には、適用される各態様に起因して、各実施の形態で説明した効果と同様な効果も有することが可能である。
【０１３６】
さらに、当該不揮発性メモリ５１から読み出される少なくとも２以上のデータの各データは、各々異なるセクタＳ１〜Ｓ４に属している（格納されている）。したがって、上記１つのデータの生成の基となる各データを容易に読み出すことができない。よって、ＲＯＭコードのセキュリティをより向上させることができる。
【０１３７】
＜その他の形態＞
なお、上記各実施の形態に係わる不揮発性メモリ１，５１（より具体的には、図２，１１に示した、データの読み出し単位であるページ１ａ）は、以下の構成のものを採用することができる。つまり、ページ１ａは、ＮＡＮＤ型メモリのデータ部と、ＮＡＮＤ型メモリの冗長部とから構成されている。
【０１３８】
図２，１１に示した各ページ１ａにおいて上記構成を採用することにより、メモリシステム１００，２００において、より実用的な（つまり、より安価で、より大容量である）不揮発性メモリ１，５１を提供することができる。
【０１３９】
また、上記各実施の形態では図１，１０に示したように、アドレス生成部２とデータ生成部３とは、同一のコントローラ１０内に形成されている。したがって、よりコンパクトな構成のメモリシステム１００，２００を実現することができる。
【０１４０】
なお、上記（図１，１０の構成）と異なり、各実施の形態において、不揮発性メモリ１とアドレス生成部２とが形成される第１の装置と、データ生成部３が形成される第２の装置とから、メモリシステムを構成することも可能である。ここで、第１の装置と第２の装置とは別個独立の装置であり、両装置間における通信は可能である。
【０１４１】
図１２に示すように、メモリシステム１００，２００は、第１の装置３００と第２の装置４００とから構成されている。第１の装置３００内には、不揮発性メモリ１（または５１）とアドレス生成部２が形成されている。第２の装置４００内には、データ生成部３が形成されている。なお、当該メモリシステム１００，２００の動作は、上記各実施の形態で説明した内容と同じである。
【０１４２】
たとえば、ゲーム機本体側に上記第２の装置４００がハード的にもしくはソフト的に構成されており、当該ゲーム機本体に対して着脱可能な第１の装置３００が存在する場合が、図１２を用いた形態の一具体例である。
【０１４３】
図１２に示すように、メモリシステム１００，２００を、第１の装置３００と当該第１の装置３００とは別個独立に配置される第２の装置４００とから構成することにより、データ生成部３のデータ生成の方法（たとえば、連結、論理演算や訂正コード等に関する情報）を、必要なときに、必要に応じて容易に変更することができる。
【０１４４】
なお、上記各実施の形態では、各データ（たとえば上記データａ，ｂ）は、読み出し単位ごと（つまりページ１ａ単位）または消去単位ごと（つまり、セクタＳ１〜Ｓ４単位）に分散配置されていた。しかし、たとえば、各データ（たとえば上記データａ，ｂ）は、不揮発性メモリにおいて書き込み単位ごとに分散配置されていても良い。
【図面の簡単な説明】
【０１４５】
【図１】実施の形態１に係わるメモリシステムの構成を示すブロック図である。
【図２】不揮発性メモリの構成を示す図である。
【図３】二つデータを連結することにより１のデータを生成することを説明するための図である。
【図４】実施の形態１に係わるメモリシステムの動作の流れを示すフロー図である。
【図５】第１のアドレス生成形態の一態様を説明するための図である。
【図６】第１のアドレス生成形態の他の態様を説明するための図である。
【図７】第２のアドレス生成形態の一態様を説明するための図である。
【図８】第２のアドレス生成形態の他の態様を説明するための図である。
【図９】二つのデータ間において論理演算処理を施すことにより、１のデータを生成することを説明するための図である。
【図１０】実施の形態５に係わるメモリシステムの構成を示すブロック図である。
【図１１】不揮発性メモリの構成を示す図である。
【図１２】メモリシステムの他の構成例を示すブロック図である。
【符号の説明】
【０１４６】
１，５１  不揮発性メモリ
１ａ  ページ
Ｓ１，Ｓ２，Ｓ３，Ｓ４  セクタ
２  アドレス生成部
３  データ生成部
１０  コントローラ
１００，２００  メモリシステム
３００  第１の装置
４００  第２の装置
【図１】
2008040941.tif 000003
【図２】
2008040941.tif 000004
【図３】
2008040941.tif 000005
【図４】
2008040941.tif 000006
【図５】
2008040941.tif 000007
【図６】
2008040941.tif 000008
【図７】
2008040941.tif 000009
【図８】
2008040941.tif 000010
【図９】
2008040941.tif 000011
【図１０】
2008040941.tif 000012
【図１１】
2008040941.tif 000013
【図１２】
2008040941.tif 000014