(57)【要約】【課題】  データが不正にコピーされることを防止することができるメモリ装置、そのメモリ装置にデータを格納するデータ格納方法、およびそのメモリ装置に格納したデータを読み出して出力するデータ出力方法を提供する。【解決手段】  複数のアドレスのそれぞれにデータを格納するＲＯＭ本体１１と、それぞれ異なるデータ変換を行う変換機（ｆ０）１２＿０，…，変換機（ｆｘ）１２＿２ｎ−１と、クロック信号ＣＬＫに同期して変換機（ｆ０）１２＿０，…，変換機（ｆｘ）１２＿２ｎ−１を順番に選択する選択信号（Ｑ０，…，Ｑｎ−１）を生成するアップカウンタ１３とを有し、ＲＯＭ本体１１から読み出したデータを、選択信号（Ｑ０，…，Ｑｎ−１）によって選択された変換機によるデータ変換を行ってからマルチプレクサ１４で選択して出力する。【選択図】  図１
2008077419.tif 000002
【特許請求の範囲】
【請求項１】
複数のアドレスのそれぞれにデータを格納するＲＯＭ本体と、
それぞれ異なるデータ変換を行う複数の変換機と、
クロック信号に同期して前記複数の変換機を所定の順番に選択する選択信号を生成する選択信号生成機とを有し、
前記ＲＯＭ本体から読み出した前記データを、前記選択信号によって選択された前記変換機によるデータ変換を行ってから出力することを特徴とするメモリ装置。
【請求項２】
前記クロック信号に同期して前記複数のアドレスの少なくとも一部を順番に指定するアドレス信号の供給を受け、該アドレス信号によって順番に指定されるアドレスから読み出した前記データを、それぞれ、前記選択信号によって順番に選択された変換機で変換して、出力することを特徴とする請求項１記載のメモリ装置。
【請求項３】
複数のアドレスを有するＲＯＭ本体と、それぞれ異なるデータ変換を行う複数の変換機と、クロック信号に同期して前記複数の変換機を所定の順番に選択する選択信号を生成する選択信号生成機とを有し、前記ＲＯＭ本体から読み出したデータを、前記選択信号によって選択された変換機によるデータ変換を行って出力するメモリ装置に、データを格納する方法であって、
格納対象のデータを、前記複数のアドレスから選ばれた特定のアドレスに、前記複数の変換機の中から選択した特定の変換機によるデータ変換の逆変換を行ってから格納するとともに、前記特定のアドレスと、前記特定の変換機を選択する前記選択信号との対応を、前記メモリ装置外に記録することを特徴とするデータ格納方法。
【請求項４】
複数のアドレスを有するＲＯＭ本体と、それぞれ異なるデータ変換を行う複数の変換機と、クロック信号に同期して前記複数の変換機を所定の順番に選択する選択信号を生成する選択信号生成機と、前記ＲＯＭ本体から読み出したデータを、前記選択信号によって選択された変換機によるデータ変換を行って出力するメモリ装置の、前記複数のアドレスから選ばれた少なくとも１つの特定アドレスに、前記複数の変換機の中からそれぞれ選ばれた特定の変換機によるデータ変換の逆変換を行ってから格納した出力対象データを、読み出して出力する方法であって、
前記特定アドレスを指定するアドレス信号を、前記選択信号の生成とタイミングを合わせて供給することにより、前記出力対象データを前記特定のアドレスから読み出し、前記特定の変換機で変換して、出力することを特徴とするデータ出力方法。
【請求項５】
前記少なくとも１つの特定アドレスが複数の特定アドレスを含み、前記アドレス信号が該複数の特定アドレスを特定の順番に指定するものであり、前記出力対象データを前記複数の特定アドレスから前記特定の順番に読み出すとともに、前記選択信号によって前記複数の変換機を前記所定の順番に選択することにより、該読み出した出力対象データをそれぞれ、対応する前記特定の変換機で変換して出力することを特徴とする請求項４記載のデータ出力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のアドレスのそれぞれにデータを格納するＲＯＭ本体を有するメモリ装置、そのメモリ装置にデータを格納するデータ格納方法、およびそのメモリ装置に格納したデータを読み出して出力するデータ出力方法に関する。
【背景技術】
【０００２】
複数のアドレスのそれぞれにデータを格納するＲＯＭ本体を有するメモリ装置において、そのメモリ装置が有するＲＯＭ本体には、ソフトウェアのプログラムコード等のデータが格納される。一般に、メモリ装置に格納されているデータは、ＲＯＭライタ等を使用してコピーすることができる。しかし、メモリ装置に格納されているデータがそのように簡単にコピーされてしまっては、ソフトウェア開発者がそのソフトウェアの開発に要した多大な時間、費用、および労力に見合う利益を正当に享受できなくなるという問題がある。
【０００３】
そこで、従来より、メモリ装置に格納されているデータを不正にコピーすることを防止する技術が提案されている。例えば、入力されたアドレスと特定アドレス記憶部に記憶されている特定アドレスとを比較し、一致した場合にノイズを発生してデータの読出しを不安定にすることにより、メモリ装置に格納されているデータを不正にコピーすることを防止する技術が提案されている（特許文献１参照）。
【０００４】
また、入力されたアドレスと特定アドレス記憶部に記憶されている特定アドレスとが一致したことを示す一致信号が所定回数に達する毎にカウンタからパルス信号を出力し、このパルス信号に基づいて読出しデータ中に誤データを混入させることにより、ＲＯＭ本体に格納されているデータを不正にコピーすることを防止する技術が提案されている（特許文献２参照）。
【特許文献１】特開２００６−１２４１１号公報
【特許文献２】特開２００１−２２２４７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１，２に提案された技術では、不正アクセスによって得られたデータを解析することで、特定アドレスを見つけ出すことが可能である。また、メモリ装置の内部を直接観察することでも、特定アドレスを見つけ出すことが可能である。特定アドレスを見つけ出すことができれば、その特定アドレスを飛ばしてデータを読み出すことにより、正しいデータを得ることが可能である。従って、メモリ装置に格納されているデータを不正にコピーすることを防止する点に欠けるという問題がある。
【０００６】
本発明は、上記事情に鑑み、データが不正にコピーされることを防止することができるメモリ装置、そのメモリ装置にデータを格納するデータ格納方法、およびそのメモリ装置に格納したデータを読み出して出力するデータ出力方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成する本発明のメモリ装置は、
複数のアドレスのそれぞれにデータを格納するＲＯＭ本体と、
それぞれ異なるデータ変換を行う複数の変換機と、
クロック信号に同期して上記複数の変換機を所定の順番に選択する選択信号を生成する選択信号生成機とを有し、
上記ＲＯＭ本体から読み出した上記データを、上記選択信号によって選択された上記変換機によるデータ変換を行ってから出力することを特徴とする。
【０００８】
本発明のメモリ装置は、それぞれ異なるデータ変換を行う複数の変換機をクロック信号に同期して所定の順番に選択し、選択された変換機によりＲＯＭ本体から読み出したデータを変換して出力するものである。このため、本発明のメモリ装置から正しいデータを読み出すためには、そのデータがどの変換機で変換すべきであるのかの対応関係を示す情報が必要である。このような情報は、正規のユーザ以外のユーザには提供されない。従って、正規なユーザ以外のユーザが、ＲＯＭ本体に格納されているデータを読み出そうとしても、ＲＯＭ本体のアドレスに格納されているデータが、どの変換機で変換すべきであるのかは分からないため、本発明のメモリ装置から正しいデータを読み出すことは困難である。これにより、データが不正にコピーされることを防止することができる。
【０００９】
ここで、上記クロック信号に同期して上記複数のアドレスの少なくとも一部を順番に指定するアドレス信号の供給を受け、そのアドレス信号によって順番に指定されるアドレスから読み出した上記データを、それぞれ、上記選択信号によって順番に選択された変換機で変換して、出力することが好ましい。
【００１０】
このようにすると、ＲＯＭ本体の複数のアドレスに格納されているデータを順番に読み出して変換機で変換して出力することができる。
【００１１】
また、上記目的を達成する本発明のデータ格納方法は、複数のアドレスを有するＲＯＭ本体と、それぞれ異なるデータ変換を行う複数の変換機と、クロック信号に同期して上記複数の変換機を所定の順番に選択する選択信号を生成する選択信号生成機とを有し、上記ＲＯＭ本体から読み出したデータを、上記選択信号によって選択された変換機によるデータ変換を行って出力するメモリ装置に、データを格納する方法であって、
格納対象のデータを、上記複数のアドレスから選ばれた特定のアドレスに、上記複数の変換機の中から選択した特定の変換機によるデータ変換の逆変換を行ってから格納するとともに、上記特定のアドレスと、上記特定の変換機を選択する上記選択信号との対応を、上記メモリ装置外に記録することを特徴とする。
【００１２】
本発明のデータ格納方法は、上記本発明のメモリ装置にデータを格納するにあたり、特定のアドレスと、上記特定の変換機を選択する選択信号との対応を、上記メモリ装置外に記録するものである。メモリ装置外に記録された特定のアドレスと選択信号との対応は、上記メモリ装置から正しいデータを読み出すために必要な情報であり、この情報は、正規のユーザ以外のユーザには提供されない。従って、正規なユーザ以外のユーザが、ＲＯＭ本体に格納されているデータを読み出そうとしても、ＲＯＭ本体のアドレスに格納されているデータが、どの変換機で変換すべきであるのかは分からないため、上記メモリ装置から正しいデータを読み出すことは困難である。これにより、データが不正にコピーされることを防止することができる。
【００１３】
さらに、上記目的を達成する本発明のデータ出力方法は、複数のアドレスを有するＲＯＭ本体と、それぞれ異なるデータ変換を行う複数の変換機と、クロック信号に同期して上記複数の変換機を所定の順番に選択する選択信号を生成する選択信号生成機と、上記ＲＯＭ本体から読み出したデータを、上記選択信号によって選択された変換機によるデータ変換を行って出力するメモリ装置の、上記複数のアドレスから選ばれた少なくとも１つの特定アドレスに、上記複数の変換機の中からそれぞれ選ばれた特定の変換機によるデータ変換の逆変換を行ってから格納した出力対象データを、読み出して出力する方法であって、
上記特定アドレスを指定するアドレス信号を、上記選択信号の生成とタイミングを合わせて供給することにより、上記出力対象データを上記特定のアドレスから読み出し、上記特定の変換機で変換して、出力することを特徴とする。
【００１４】
本発明のデータ出力方法は、上記本発明のメモリ装置に格納した出力対象データを読み出して出力するにあたり、特定アドレスを指定するアドレス信号を、選択信号の生成とタイミングを合わせて供給することにより、上記出力対象データを上記特定のアドレスから読み出し、特定の変換機で変換して出力する方法である。上記メモリ装置から正しいデータを読み出すために必要な、ＲＯＭ本体のアドレスと、そのアドレスに格納した出力対象データにどの変換機による変換の逆変換が行なわれているのかの対応関係を示す情報は、正規のユーザ以外のユーザには提供されない。このため正規なユーザ以外のユーザが出力対象データを読み出して出力することは困難であり、従ってデータが不正にコピーされることを防止することができる。
【００１５】
ここで、上記少なくとも１つの特定アドレスが複数の特定アドレスを含み、上記アドレス信号がそれら複数の特定アドレスを特定の順番に指定するものであり、上記出力対象データを上記複数の特定アドレスから上記特定の順番に読み出すとともに、上記選択信号によって上記複数の変換機を上記所定の順番に選択することにより、その読み出した出力対象データをそれぞれ、対応する上記特定の変換機で変換して出力することが好ましい。
【００１６】
このようにすると、アドレスの順番を入れ替えることにより、複数の特定アドレスに格納された出力対象データを、順に、正しいデータ変換を行って出力することができる。
【発明の効果】
【００１７】
本発明によれば、データが不正にコピーされることを防止することができるメモリ装置、そのメモリ装置にデータを格納するデータ格納方法、およびそのメモリ装置に格納したデータを読み出して出力するデータ出力方法を提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して本発明の実施の形態を説明する。
【００１９】
図１は、本発明の一実施形態のメモリ装置の回路構成を示す図である。
【００２０】
図１に示すメモリ装置１０には、複数のアドレスのそれぞれにデータを格納するＲＯＭ本体１１が備えられている。このＲＯＭ本体１１には、クロック信号ＣＬＫと、そのクロック信号ＣＬＫに同期して複数のアドレスを順番に指定するアドレス信号ＡＤＲＳが供給される。
【００２１】
また、このメモリ装置１０には、それぞれ異なるデータ変換を行なう変換機（ｆ０）１２＿０，…，変換機（ｆｘ：ｘ＝２ｎ−１）１２＿２ｎ−１が備えられている。
【００２２】
さらに、このメモリ装置１０には、クロック信号ＣＬＫが入力され、そのクロック信号ＣＬＫでカウントアップすることにより、変換機（ｆ０）１２＿０，…，変換機（ｆｘ）１２＿２ｎ−１を順番に選択するｎビットの選択信号（Ｑ０，…，Ｑｎ-1）を生成するアップカウンタ１３（本発明にいう選択信号生成機の一例に相当）が備えられている。
【００２３】
また、このメモリ装置１０には、アップカウンタ１３からの選択信号（Ｑ０，…，Ｑｎ-1）に応じて、変換機（ｆ０）１２＿０，…，変換機（ｆｘ）１２＿２ｎ−１で変換が行なわれた変換データを選択して出力するマルチプレクサ（ＭＵＸ）１４が備えられている。
【００２４】
このメモリ装置１０は、それぞれ異なるデータ変換を行う変換機（ｆ０）１２＿０，…，変換機（ｆｘ）１２＿２ｎ−１をクロック信号ＣＬＫに同期して順番に選択し、選択された変換機によりＲＯＭ本体１１から読み出したデータを変換して出力するものである。このため、このメモリ装置１０から正しいデータを読み出すためには、それぞれのアドレスに格納されたデータがどの変換機で変換されるのかの対応関係を示す情報が必要である。このような情報は、正規のユーザ以外のユーザには提供されない。従って、正規なユーザ以外のユーザが、ＲＯＭ本体１１に格納されているデータを読み出そうとしても、正しいデータを読み出すことは困難であり、データが不正にコピーされることを防止することができる。
【００２５】
また、このメモリ装置１０は、クロック信号ＣＬＫに同期して複数のアドレスの少なくとも一部を順番に指定するアドレス信号ＡＤＲＳの供給を受け、そのアドレス信号ＡＤＲＳによって順番に指定されるアドレスから読み出したデータを、それぞれ、選択信号（Ｑ０，…，Ｑｎ-1）によって順番に選択された変換機で変換して、出力するものである。このため、ＲＯＭ本体１１の複数のアドレスに格納されているデータを順番に読み出して変換機で変換して出力することができる。以下、具体的に説明する。
【００２６】
ＲＯＭ本体１１には、各アドレスごとに、各変換機（ｆ０）１２＿０，…，変換機（ｆｘ）１２＿２ｎ−１による変換の逆変換がなされたデータ（逆変換データ）が格納される。この逆変換データを正しく読み出すためには、各アドレスごとに定められた各変換機によって変換されたデータを、マルチプレクサ１４で選択して出力することにより行なう。このためには、ＲＯＭ本体１１の各アドレスに格納されているデータ（逆変換データ）が、どの変換機による変換の逆変換がなされているのかの上述した対応関係を示す情報が必要である。
【００２７】
ここで、図２を参照して、あるアドレス（ここではアドレス１とする）に格納されている逆変換データを正しく読み出せる場合と読み出せない場合との例について説明する。
【００２８】
図２は、アドレス１に格納されている逆変換データを正しく読み出せる場合と読み出せない場合とを説明するための図である。
【００２９】
ここでは、便宜上、３ビットのアップカウンタの例で説明する。
【００３０】
アップカウンタが３ビットであるため、８個の変換機ｆ０，ｆ１，…，ｆ７が用意される。詳細には、アップカウンタ１３から出力される３ビットの選択信号（Ｑ０，Ｑ１，Ｑ２）の論理値による８通りの組み合わせ（０，０，０），（０，０，１），（０，１，０），（０，１，１），（１，０，０），（１，０，１），（１，１，０），（１，１，１）に対応する８個の変換機ｆ０，ｆ１，ｆ２，ｆ３，ｆ４，ｆ５，ｆ６，ｆ７が用意される。また、ここでは、ＲＯＭ本体１１のアドレス１に格納されている逆変換データは、変換機ｆ５による変換の逆変換がなされたデータｆ５−１（Ｄ１）であるものとする。ＲＯＭ本体１１からは、アドレス１の指定を受けて、このデータｆ５−１（Ｄ１）が出力されている。
【００３１】
図２に示すように、アップカウンタ１３の、クロック信号ＣＬＫが入力される前の選択信号（Ｑ０，Ｑ１，Ｑ２）の論理値が（１，０，０）の場合、クロック信号ＣＬＫの入力により選択信号（Ｑ０，Ｑ１，Ｑ２）の論理値は（１，０，１）に変化する。すると、マルチプレクサ１４からは、ＲＯＭ本体１１から出力されているデータｆ５−１（Ｄ１）を変換機ｆ５で変換したデータが選択されて出力される。このデータは、変換機ｆ５による変換の逆変換がなされた上記データｆ５−１（Ｄ１）をその変換機ｆ５で変換したデータであるため、正しいデータ（Ｄ１）が出力されることとなる。
【００３２】
一方、アップカウンタ１３の、クロック信号ＣＬＫが入力される前の選択信号（Ｑ０，Ｑ１，Ｑ２）の論理値が（１，０，０）以外の場合は、クロック信号ＣＬＫの入力により選択信号（Ｑ０，Ｑ１，Ｑ２）の論理値は（１，０，１）以外に変化する。すると、変換機ｆ５以外で変換したデータが選択されて出力される。従って、正しいデータ（Ｄ１）以外の誤データが出力される。
【００３３】
次に、正規なユーザ以外のユーザが、メモリ装置１０に格納されているデータを不正に読み出そうとする場合の例について、図３および図４を参照して説明する。
【００３４】
図３は、メモリ装置のアドレスに対する、真の値およびＲＯＭ本体に格納されている値を示す図、図４は、メモリ装置に格納されているデータを不正に読み出そうとする場合のタイミングチャートである。
【００３５】
図３に示すように、メモリ装置１０に対してアドレス０を指定した場合、そのメモリ装置１０から出力されるべき正しいデータはデータＤ０である。即ち、メモリ装置１０のアドレス０に対する真の値はデータＤ０である。また、そのアドレス０に対応してＲＯＭ本体１１に格納されている値は、変換機ｆ０による変換の逆変換がなされたデータｆ０−１（Ｄ０）である。
【００３６】
同様にして、アドレス１に対する真の値はデータＤ１であり、ＲＯＭ本体１１に格納されている値は変換機ｆ５による変換の逆変換がなされたデータｆ５−１（Ｄ１）である。さらに、アドレス２に対する真の値はデータＤ２であり、ＲＯＭ本体１１に格納されている値は変換機ｆ１による変換の逆変換がなされたデータｆ１−１（Ｄ２）である。また、アドレス３に対する真の値はデータＤ３であり、ＲＯＭ本体１１に格納されている値は変換機ｆ３による変換の逆変換がなされたデータｆ３−１（Ｄ３）である。以下、途中のアドレスである例えばアドレスαに対する真の値はデータＤαであり、ＲＯＭ本体１１に格納されている値は変換機ｆ２による変換の逆変換がなされたデータｆ２−１（Ｄα）である。また、最終的なアドレスであるアドレスｍ-1に対する真の値はデータＤｍ-1であり、ＲＯＭ本体１１に格納されている値は変換機ｆ４による変換の逆変換がなされたデータｆ４−１（Ｄｍ-1）である。
【００３７】
図４には、クロック信号ＣＬＫと、アドレス信号ＡＤＲＳと、アップカウンタ１３から出力される選択信号（Ｑ０，Ｑ１，Ｑ２）と、ＲＯＭ本体１１から出力される逆変換データと、それぞれの変換機から出力される変換データと、マルチプレクサ１４から出力されるデータとが示されている。
【００３８】
最初の時点では、ＲＯＭ本体１１に供給されているアドレス信号ＡＤＲＳによりアドレス０が指定されている。この状態でクロック信号ＣＬＫが入力される。すると、ＲＯＭ本体１１からは、クロック信号ＣＬＫの１回目の立ち上がりエッジから所定の読み出し時間だけ遅れて逆変換データｆ０−１（Ｄ０）が出力される。また、アップカウンタ１３から出力されている選択信号（Ｑ０，Ｑ１，Ｑ２）の論理値は、クロック信号ＣＬＫの１回目の立ち上がりエッジから所定のカウント時間だけ遅れて（１，１，１）から（０，０，０）に変化する。すると、マルチプレクサ１４では、変換機ｆ０で変換されたデータｆ０・ｆ０−１（Ｄ０）が選択されて出力される。このデータｆ０・ｆ０−１（Ｄ０）は、変換機ｆ０による変換の逆変換がなされたデータｆ０−１（Ｄ０）をその変換機ｆ０で変換したデータＤ０であるため、この時点では正しいデータが出力されることとなる。
【００３９】
次に、アドレス０がアドレス１に変更される。すると、ＲＯＭ本体１１からは、クロック信号ＣＬＫの２回目の立ち上がりエッジから所定の読み出し時間だけ遅れて逆変換データｆ５−１（Ｄ１）が出力される。また、選択信号（Ｑ０，Ｑ１，Ｑ２）の論理値が（０，０，０）から（０，０，１）に変化する。すると、マルチプレクサ１４からは変換機ｆ１で変換されたデータｆ１・ｆ５−１（Ｄ１）が出力される。このデータｆ１・ｆ５−１（Ｄ１）は、変換機ｆ５による変換の逆変換がなされたデータｆ５−１（Ｄ１）をその変換機ｆ５で変換したデータＤ１ではないため、誤データが出力されることとなる。
【００４０】
さらに、アドレス１がアドレス２に変更される。すると、ＲＯＭ本体１１からは、クロック信号ＣＬＫの３回目の立ち上がりエッジから所定の読み出し時間だけ遅れて逆変換データｆ１−１（Ｄ２）が出力される。また、選択信号（Ｑ０，Ｑ１，Ｑ２）の論理値が（０，０，１）から（０，１，０）に変化する。すると、マルチプレクサ１４からは変換機ｆ２で変換されたデータｆ２・ｆ１−１（Ｄ２）が出力される。このデータｆ２・ｆ１−１（Ｄ２）は、変換機ｆ１による変換の逆変換がなされたデータｆ１−１（Ｄ２）をその変換機ｆ１で変換したデータＤ２ではないため、やはり誤データが出力されることとなる。
【００４１】
さらに、アドレス２がアドレス３に変更される。すると、ＲＯＭ本体１１からは、クロック信号ＣＬＫの４回目の立ち上がりエッジから所定の読み出し時間だけ遅れて逆変換データｆ３−１（Ｄ３）が出力される。また、選択信号（Ｑ０，Ｑ１，Ｑ２）の論理値が（０，１，０）から（０，１，１）に変化する。すると、マルチプレクサ１４からは変換機ｆ３で変換されたデータｆ３・ｆ３−１（Ｄ３）が出力される。このデータｆ３・ｆ３−１（Ｄ３）は、変換機ｆ３による変換の逆変換がなされたデータｆ３−１（Ｄ３）をその変換機ｆ３で変換したデータＤ３であるため、今度は正しいデータが出力されることとなる。
【００４２】
このように、１回目のアクセスでは、アドレス０に対する真の値であるデータＤ０を出力するための変換機（ｆ０）と、実際にマルチプレクサ１４で選択される変換機（ｆ０）がたまたま一致しているので、正しいデータＤ０が出力される。しかし、２回目および３回目のアクセスでは、真の値であるデータＤ１，Ｄ２を出力するための変換機（ｆ５，ｆ１）と、実際にマルチプレクサ１４で選択される変換機（ｆ１，ｆ２）が一致していないので、意味の無いデータｆ１・ｆ５−１（Ｄ１），ｆ２・ｆ１−１（Ｄ２）が出力される。また、４回目のアクセスでは、真のデータであるデータＤ３を出力するための変換機（ｆ３）と、実際にマルチプレクサ１４で選択される変換機（ｆ３）がやはりたまたま一致しているので、正しいデータＤ３が出力される。このように、不正なユーザは、メモリ装置１０の各アドレスに格納されているデータ（逆変換データ）が、どの変換機で逆変換されているのかの情報を予め把握していないため、正しいデータや誤ったデータがランダムに出力されることとなり、従ってメモリ装置１０に格納されているデータを不正にコピーすることは困難である。
【００４３】
一方、正規のユーザは、ＲＯＭ本体１１の各アドレスに格納されている逆変換データが、どの変換機による変換の逆変換がなされているのかの情報を予め把握しているため、上述したアドレス０〜３に対する真のデータＤ０，Ｄ１，Ｄ２，Ｄ３を読み出そうとするときは、例えば、アクセス順を変更するか、あるいは、正しい変換機が使用されるように、ＲＯＭ本体１１に対して、同じアドレスに複数回アクセスするか、もしくは、チップセレクト信号（図示せず）を入力せずにクロック信号ＣＬＫだけを複数回入力してアップカウンタ１３をカウントアップした後に、読み出したいデータのアドレスにアクセスすればよい。以下、図５を参照して説明する。
【００４４】
図５は、正規のユーザがメモリ装置に格納されているデータを読み出そうとする場合のタイミングチャートである。ここでは、アドレス順の入れ替えによって正しいデータを読み出す場合の例で説明する。
【００４５】
正規のユーザは、上述した情報に基づいて、先ず、アドレス０を指定する。これにより、ＲＯＭ本体１１からは、クロック信号ＣＬＫの１回目の立ち上がりエッジから所定の読み出し時間だけ遅れて逆変換データｆ０−１（Ｄ０）が出力される。また、アップカウンタ１３から出力されている選択信号（Ｑ０，Ｑ１，Ｑ２）の論理値は（１，１，１）から（０，０，０）に変化する。すると、マルチプレクサ１４からは変換機ｆ０で変換されたデータｆ０・ｆ０−１（Ｄ０）が出力される。このデータｆ０・ｆ０−１（Ｄ０）は、変換機ｆ０による変換の逆変換がなされたデータｆ０−１（Ｄ０）をその変換機ｆ０で変換したデータＤ０であるため、正しいデータが出力されることとなる。
【００４６】
次に、アドレス０をアドレス２に変更する。すると、ＲＯＭ本体１１からは、クロック信号ＣＬＫの２回目の立ち上がりエッジから所定の読み出し時間だけ遅れて逆変換データｆ１−１（Ｄ２）（図３参照）が出力される。また、選択信号（Ｑ０，Ｑ１，Ｑ２）の論理値が（０，０，０）から（０，０，１）に変化する。すると、マルチプレクサ１４からは変換機ｆ１で変換されたデータｆ１・ｆ１−１（Ｄ２）が出力される。このデータｆ１・ｆ１−１（Ｄ２）は、変換機ｆ１による変換の逆変換がなされたデータｆ１−１（Ｄ２）をその変換機ｆ１で変換したデータＤ１であるため、やはり正しいデータが出力される。
【００４７】
さらに、アドレス２をアドレスαに変更する。すると、ＲＯＭ本体１１からは、クロック信号ＣＬＫの３回目の立ち上がりエッジから所定の読み出し時間だけ遅れて逆変換データｆ２−１（Ｄα）（図３参照）が出力される。また、選択信号（Ｑ０，Ｑ１，Ｑ２）の論理値が（０，０，１）から（０，１，０）に変化する。すると、マルチプレクサ１４からは変換機ｆ２で変換されたデータｆ２・ｆ２−１（Ｄα）が出力される。このデータｆ２・ｆ２−１（Ｄα）は、変換機ｆ２による変換の逆変換がなされたデータｆ２−１（Ｄα）をその変換機ｆ２で変換したデータＤαであるため、やはり正しいデータが出力される。
【００４８】
さらに、アドレスαをアドレス３に変更する。すると、ＲＯＭ本体１１からは、クロック信号ＣＬＫの４回目の立ち上がりエッジから所定の読み出し時間だけ遅れて逆変換データｆ３−１（Ｄ３）が出力される。また、選択信号（Ｑ０，Ｑ１，Ｑ２）の論理値が（０，１，０）から（０，１，１）に変化する。すると、マルチプレクサ１４からは変換機ｆ３で変換されたデータｆ３・ｆ３−１（Ｄ３）が出力される。このデータｆ３・ｆ３−１（Ｄ３）は、変換機ｆ３による変換の逆変換がなされたデータｆ３−１（Ｄ３）をその変換機ｆ３で変換したデータＤ３であるため、やはり正しいデータが出力される。このようにして、正規のユーザは、メモリ装置１０に格納されているデータを正しく読み出すことができる。
【００４９】
尚、本実施形態のメモリ装置１０では、本発明にいう選択信号生成機として、入力されたクロック信号ＣＬＫでカウントアップすることにより変換機（ｆ０）１２＿０，…，変換機（ｆｘ）１２＿２ｎ−１を順番に選択する選択信号（Ｑ０，…，Ｑｎ-1）を生成するアップカウンタ１３の例で説明した。しかし、本発明にいう選択信号生成機は、クロック信号に同期して複数の変換機を所定の順番に選択する選択信号を生成するものであればよい。
【００５０】
次に、本発明の一実施形態のデータ格納方法について説明する。
【００５１】
本発明の一実施形態のデータ格納方法は、図１に示すメモリ装置１０に、データを格納する方法であって、格納対象のデータを、複数のアドレス０，…，ｍ−１から選ばれた特定のアドレスに、複数の変換機（ｆ０）１２＿０，…，変換機（ｆｘ）１２＿２ｎ−１の中から選択した特定の変換機によるデータ変換の逆変換を行ってから格納するとともに、特定のアドレスと、特定の変換機を選択する選択信号（Ｑ０，…，Ｑｎ-1）との対応を、メモリ装置１０の外部に記録する方法である。以下、図６を参照して説明する。
【００５２】
図６は、本発明の一実施形態のデータ格納方法の手順を示す図である。
【００５３】
先ず、手順Ｓ１において、複数のアドレス０，…，ｍ−１から特定のアドレスを選択する。
【００５４】
次に、手順Ｓ２において、複数の変換機（ｆ０）１２＿０，…，変換機（ｆｘ）１２＿２ｎ−１の中から特定の変換機を選択する。
【００５５】
さらに、手順Ｓ３において、手順Ｓ１で選択した特定のアドレスに格納するデータに対して、手順Ｓ２で選択した特定の変換機で行われるデータ変換の逆変換を行う。
【００５６】
次に、手順Ｓ４において、逆変換したデータを、ＲＯＭ本体１１の特定のアドレスに格納する。
【００５７】
さらに、手順Ｓ５において、特定のアドレスと、特定の変換機を選択する選択信号（Ｑ０，…，Ｑｎ−１）との対応を、メモリ装置１０の外部に記録して、この手順を終了する。
【００５８】
以上の手順Ｓ１〜Ｓ５により、１つの特定のアドレスに特定の変換機による変換の逆変換を行ったデータを格納することができる。実際には、手順Ｓ１〜Ｓ３をメモリ装置１０の外部であらかじめ行ってから、特定アドレスを指定するアドレス信号ＡＤＲＳと、逆変換したデータとをＲＯＭ本体１１に供給することにより、手順４の格納をＲＯＭ本体１１の特定アドレスに対して行うことができる。
【００５９】
また、複数のデータを複数の特定アドレスに格納する揚合には、１つのデータについて手順Ｓ１〜Ｓ５を行ってから、次のデータについて手順Ｓ１〜Ｓ５を繰り返して行ってもよい。しかし、手順Ｓ１〜Ｓ５のそれぞれにおいて、複数の特定アドレスの選択、複数の特定の変換機の選択、格納対象の複数のデータの逆変換、逆変換した複数のデータの複数の特定アドレスヘの格納、および、複数の特定アドレスと複数の選択信号との対応の記録を、連続して行うようにしてもよい。後者の場合、複数の特定アドレスを連続して選択するアドレス信号ＡＤＲＳをクロック信号ＣＬＫに同期してＲＯＭ本体１１に供給するとともに、やはりクロック信号ＣＬＫに同期して複数の逆変換済みデータをＲＯＭ本体１１に供給することにより、クロック信号ＣＬＫに同期して手順Ｓ４の特定アドレスヘの格納を行うことができる。
【００６０】
本発明の一実施形態のデータ格納方法は、メモリ装置１０にデータを格納するにあたり、特定のアドレスと、特定の変換機を選択する選択信号（Ｑ０，…，Ｑｎ−１）との対応を、メモリ装置１０の外部に記録するものである。メモリ装置１０の外部に記録された特定のアドレスと選択信号（Ｑ０，…，Ｑｎ−１）との対応は、メモリ装置１０から正しいデータを読み出すために必要な情報であり、この情報は、正規のユーザ以外のユーザに提供されない。従って、正規なユーザ以外のユーザが、ＲＯＭ本体１１に格納されているデータを読み出そうとしても、ＲＯＭ本体１１のアドレスに格納されているデータが、どの変換機による変換の逆変換がなされているのかは分からない。このため、メモリ装置１０から正しいデータを読み出すことは困難であり、データが不正にコピーされることを防止することができる。
【００６１】
次に、本発明の一実施形態のデータ出力方法について説明する。
【００６２】
本発明の一実施形態のデータ出力方法は、図１に示すメモリ装置１０の、複数のアドレス０，…，ｎから選ばれた少なくとも１つの特定アドレスに、複数の変換機（ｆ０）１２＿０，…，変換機（ｆｘ）１２＿２ｎ−１の中からそれぞれ選ばれた特定の変換機によるデータ変換の逆変換を行ってから格納した出力対象データを、読み出して出力する方法であって、特定アドレスを指定するアドレス信号ＡＤＲＳを、選択信号（Ｑ０，…，Ｑｎ−１）の生成とタイミングを合わせて供給することにより、出力対象データを上記特定のアドレスから読み出し、特定の変換機で変換して、出力する方法である。以下、図７を参照して説明する。
【００６３】
図７は、本発明の一実施形態のデータ出力方法の手順を示す図である。
【００６４】
先ず、手順Ｓ１１において、特定のアドレスを指定するアドレス信号ＡＤＲＳを、特定の変換機を選択する選択信号（Ｑ０，…，Ｑｎ−１）の生成のタイミングに合せて、すなわち、例えば、共通のクロック信号ＣＬＫに同期させてＲＯＭ本体１１に供給する。
【００６５】
次に、手順Ｓ１２において、ＲＯＭ本体１１に格納されている出力対象のデータを、その特定のアドレスから読み出す。
【００６６】
さらに、手順Ｓ１３において、読み出した出力対象データを、特定の変換機で変換して出力する。
【００６７】
以上の手順Ｓ１１〜Ｓ１３により、１つの特定アドレスに格納された出力対象のデータを、そのアドレスに対応した特定の変換機で変換して、出力することができる。
【００６８】
また、複数の特定アドレスから複数のデータを読み出し、それぞれに対応した特定の変換機で変換して出力する場合には、手順Ｓ１１において、複数の特定アドレスを特定の順番に指定するアドレス信号ＡＤＲＳを、例えば図５に例示されたように、それぞれの特定アドレスに対応した特定の変換機を選択する選択信号（Ｑ０，…，Ｑｎ−１）の生成のタイミングに合わせて、ＲＯＭ本体に供給する。これにより、複数の変換機(ｆ０)１２―０，….，変換機（ｆｘ）１２＿２ｎ−１を所定の順番に選択するとともに、手順Ｓ１２において、複数の出力対象データを複数の特定アドレスから特定の順番で読み出す。そして、手順Ｓ１３において、読み出した複数の出力対象データのそれぞれを、選択された特定の変換機で変換して、出力することができる。ここで、読み出した複数の出力対象データのそれぞれに対して、正しいデータ変換を行って出力することができるよう、アドレスを指定する順番を特定する。すなわち、アドレスの順番に指定するのではなく、例えぱ図５に例示されたように、必要に応じて入れ替えた順番で指定する。
【００６９】
本発明の一実施形態のデータ出力方法は、メモリ装置１０に格納した出力対象データを読み出して出力するにあたり、特定アドレスを指定するアドレス信号ＡＤＲＳを、選択信号（Ｑ０，…，Ｑｎ−１）の生成とタイミングを合わせて供給することにより、出力対象データを上記特定のアドレスから読み出し、特定の変換機で変換して出力する方法である。ここで、メモリ装置１０から正しいデータを読み出すために必要な、ＲＯＭ本体１１の各アドレスと、そのアドレスに格納した出力対象データがどの変換機による変換の逆変換がなされて格納されているのかの対応関係を示す情報は、正規のユーザ以外のユーザには提供されない。このため正規なユーザ以外のユーザが出力対象データを読み出して出力することは困難であり、従ってデータが不正にコピーされることを防止することができる。
【００７０】
尚、例えば、アドレス信号ＡＤＲＳを一旦ラッチに保持してから出力対象データの読み出しを行ったり、出力対象データの読み出しとデータ変換とをパイプライン動作で行ったりする等、メモリ装置１０に格納した出力対象データを様々な態様で読み出して出力することができる。この場合、アドレス信号が供給される時点と数クロック分だけ前後にタイミングがずれて生成された選択信号（Ｑ０，…，Ｑｎ−１）によって変換機を選択することもある。
【図面の簡単な説明】
【００７１】
【図１】本発明の一実施形態のメモリ装置の回路構成を示す図である。
【図２】アドレス１に格納されている逆変換データを正しく読み出せる場合と読み出せない場合とを説明するための図である。
【図３】メモリ装置のアドレスに対する、真の値およびＲＯＭ本体に格納されている値を示す図である。
【図４】メモリ装置に格納されているデータを不正に読み出そうとする場合のタイミングチャートである。
【図５】正規のユーザがメモリ装置に格納されているデータを読み出そうとする場合のタイミングチャートである。
【図６】本発明の一実施形態のデータ格納方法の手順を示す図である。
【図７】本発明の一実施形態のデータ出力方法の手順を示す図である。
【符号の説明】
【００７２】
１０  メモリ装置
１１  ＲＯＭ本体
１２＿０，…，１２＿ｎ  変換機
１３  アップカウンタ
１４  マルチプレクサ
【図１】
2008077419.tif 000003
【図２】
2008077419.tif 000004
【図３】
2008077419.tif 000005
【図４】
2008077419.tif 000006
【図５】
2008077419.tif 000007
【図６】
2008077419.tif 000008
【図７】
2008077419.tif 000009