しかし、上記特許文献1に開示された技術によると、基準となる電源端子及びグランド端子は端子切替の対象外であり、その端子位置は固定されている。従って、不正コピーを企てる第三者は、全ての外部端子のうち電源端子及びグランド端子として機能する外部端子を容易に特定でき、その結果、電源端子及びグランド端子を除く残りの外部端子を、データ端子として容易に特定することができる。従って、コンテンツデータの不正コピーを効果的に防止するためには、第三者によってデータ端子の位置が容易に特定されないような改良が望まれる。
本発明はかかる事情に鑑みて成されたものであり、第三者によるデータ端子位置の特定を困難化することにより、各外部端子の機能特定をより複雑化することが可能なデータ処理システムを得ることを目的とするものである。
本発明の第1の態様に係るデータ処理システムは、ホスト装置と、前記ホスト装置に接続されるメモリ装置と、を備え、前記ホスト装置は、前記メモリ装置に接続される複数のホスト側外部端子と、前記ホスト側外部端子に接続される、電源端子、グランド端子、及び複数のデータ端子を有するデータ処理部と、前記複数のホスト側外部端子と前記データ処理部の前記電源端子、前記グランド端子、及び前記データ端子との接続関係を切り替えるホスト側端子切替部と、前記ホスト側端子切替部による端子切替を制御するホスト側切替制御部と、を有し、前記メモリ装置は、前記複数のホスト側外部端子に接続される複数のメモリ側外部端子と、前記メモリ側外部端子に接続される、電源端子、グランド端子、及び複数のデータ端子を有するメモリ部と、前記複数のメモリ側外部端子と前記メモリ部の前記電源端子、前記グランド端子、及び前記データ端子との接続関係を切り替えるメモリ側端子切替部と、前記ホスト側切替制御部による切替制御に対応して、前記メモリ側端子切替部による端子切替を制御するメモリ側切替制御部と、を有することを特徴とするものである。
第1の態様に係るデータ処理システムによれば、ホスト側端子切替部は、ホスト側外部端子とデータ処理部の内部端子(電源端子、グランド端子、及びデータ端子)との接続関係を切り替え、メモリ側端子切替部は、メモリ側外部端子とメモリ部の内部端子(電源端子、グランド端子、及びデータ端子)との接続関係を切り替える。つまり、データ端子のみならず、電源端子及びグランド端子に関しても、外部端子と内部端子との接続関係が切り替えられる。従って、不正コピーを企てる第三者が、基準となる電源端子及びグランド端子として機能する外部端子を特定することは困難であるため、データ端子として機能する外部端子を特定することも困難となる。つまり、第三者による外部端子の機能特定を困難化することができる。その結果、データ端子間で送受信されるデータの解析が困難となるため、メモリ装置に格納されたコンテンツデータの不正コピーを効果的に防止することが可能となる。
本発明の第2の態様に係るデータ処理システムは、第1の態様に係るデータ処理システムにおいて特に、前記ホスト側外部端子の総数は、前記データ処理部の前記電源端子、前記グランド端子、及び前記データ端子の総数よりも多く、前記メモリ側外部端子の総数は、前記メモリ部の前記電源端子、前記グランド端子、及び前記データ端子の総数よりも多いことを特徴とするものである。
第2の態様に係るデータ処理システムによれば、ホスト側外部端子の総数はデータ処理部の内部端子の総数よりも多く、メモリ側外部端子の総数はメモリ部の内部端子の総数よりも多い。つまり、全てのホスト側外部端子の中にはデータ処理部の内部端子に接続されないダミー端子が存在し、全てのメモリ側外部端子の中にはメモリ部の内部端子に接続されないダミー端子が存在する。従って、第三者による外部端子の機能特定をさらに困難化することが可能となる。
本発明の第3の態様に係るデータ処理システムは、第2の態様に係るデータ処理システムにおいて特に、前記ホスト側切替制御部は、前記複数のホスト側外部端子のうち前記データ処理部の前記電源端子、前記グランド端子、及び前記データ端子のいずれにも接続されないホスト側ダミー端子を切り替え、前記メモリ側切替制御部は、前記複数のメモリ側外部端子のうち前記メモリ部の前記電源端子、前記グランド端子、及び前記データ端子のいずれにも接続されないメモリ側ダミー端子を切り替えることを特徴とするものである。
第3の態様に係るデータ処理システムによれば、ホスト側切替制御部は、ホスト側外部端子のうちデータ処理部の内部端子に接続されないホスト側ダミー端子を切り替え、メモリ側切替制御部は、メモリ側外部端子のうちメモリ部の内部端子に接続されないメモリ側ダミー端子を切り替える。このように、ダミー端子を固定するのではなく能動的に切り替えることにより、第三者による外部端子の機能特定をさらに困難化することが可能となる。
本発明の第4の態様に係るデータ処理システムは、第1の態様に係るデータ処理システムにおいて特に、前記ホスト側切替制御部は、一つの前記ホスト側外部端子に対して、前記データ処理部の2個以上の前記データ端子を接続し、前記メモリ側切替制御部は、一つの前記メモリ側外部端子に対して、前記メモリ部の2個以上の前記データ端子を接続することを特徴とするものである。
第4の態様に係るデータ処理システムによれば、ホスト側切替制御部は、一つのホスト側外部端子に対してデータ処理部の2個以上のデータ端子を接続し、メモリ側切替制御部は、一つのメモリ側外部端子に対してメモリ部の2個以上のデータ端子を接続する。このように、外部端子と内部端子とを一対一で接続するのではなく、一つの外部端子に2個以上の内部端子を接続することにより、第三者による外部端子の機能特定をさらに困難化することが可能となる。
本発明の第5の態様に係るデータ処理システムは、第4の態様に係るデータ処理システムにおいて特に、前記ホスト側切替制御部は、一つの前記ホスト側外部端子に接続される前記データ処理部の2個以上の前記データ端子の組み合わせを切り替え、前記メモリ側切替制御部は、一つの前記メモリ側外部端子に接続される前記メモリ部の2個以上の前記データ端子の組み合わせを切り替えることを特徴とするものである。
第5の態様に係るデータ処理システムによれば、ホスト側切替制御部は、一つのホスト側外部端子に接続されるデータ処理部の2個以上のデータ端子の組み合わせを切り替え、メモリ側切替制御部は、一つのメモリ側外部端子に接続されるメモリ部の2個以上のデータ端子の組み合わせを切り替える。このように、一つの外部端子に接続される2個以上のデータ端子の組み合わせを固定するのではなく能動的に切り替えることにより、第三者による外部端子の機能特定をさらに困難化することが可能となる。
本発明の第6の態様に係るデータ処理システムは、第2〜第5のいずれか一つの態様に係るデータ処理システムにおいて特に、前記ホスト側切替制御部及び前記メモリ側切替制御部は、前記複数のホスト側外部端子のうち前記データ処理部の前記電源端子、前記グランド端子、及び前記データ端子のいずれにも接続されないホスト側ダミー端子と、前記複数のメモリ側外部端子のうち前記メモリ部の前記電源端子、前記グランド端子、及び前記データ端子のいずれにも接続されないメモリ側ダミー端子との間で、無意味なデータを送受信することを特徴とするものである。
第6の態様に係るデータ処理システムによれば、ホスト側切替制御部及びメモリ側切替制御部は、ホスト側ダミー端子とメモリ側ダミー端子との間で無意味なデータを送受信する。従って、ダミー端子とデータ端子との区別が困難となるため、第三者による外部端子の機能特定をさらに困難化することが可能となる。
本発明の第7の態様に係るデータ処理システムは、第1〜第6のいずれか一つの態様に係るデータ処理システムにおいて特に、前記データ処理部及び前記メモリ部の各前記電源端子に対応する前記ホスト側外部端子及び前記メモリ側外部端子を切り替える場合には、前記ホスト側切替制御部は、切替前の前記ホスト側外部端子と前記データ処理部の前記電源端子との接続を解除するより前に、切替後の前記ホスト側外部端子と前記データ処理部の前記電源端子とを接続し、前記メモリ側切替制御部は、切替前の前記メモリ側外部端子と前記メモリ部の前記電源端子との接続を解除するより前に、切替後の前記メモリ側外部端子と前記メモリ部の前記電源端子とを接続することを特徴とするものである。
第7の態様に係るデータ処理システムによれば、電源端子として機能する外部端子を切り替える場合には、ホスト側切替制御部は、切替前のホスト側外部端子とデータ処理部の電源端子との接続を解除するより前に、切替後のホスト側外部端子とデータ処理部の電源端子とを接続し、メモリ側切替制御部は、切替前のメモリ側外部端子とメモリ部の電源端子との接続を解除するより前に、切替後のメモリ側外部端子とメモリ部の電源端子とを接続する。従って、電源端子を切り替える際にホスト装置からメモリ装置への電源供給が瞬間的に遮断されることを確実に回避できるため、電源供給の瞬断に起因するメモリ装置の誤動作を防止することが可能となる。また、電源端子の切替タイミングの前後において電池等の給電部からメモリ装置に駆動電力を供給する場合と比較すると、メモリ装置への給電部の実装が不要となるため、コスト及び回路規模を削減することが可能となる。
本発明の第8の態様に係るデータ処理システムは、第1〜第6のいずれか一つの態様に係るデータ処理システムにおいて特に、前記メモリ装置は、前記メモリ装置の駆動電力を供給する給電部をさらに有し、前記データ処理部及び前記メモリ部の各前記電源端子に対応する前記ホスト側外部端子及び前記メモリ側外部端子を切り替える場合には、当該切替タイミングの前後において前記給電部が前記メモリ装置に駆動電力を供給することを特徴とするものである。
第8の態様に係るデータ処理システムによれば、メモリ装置は電池等の給電部を有し、電源端子として機能する外部端子を切り替える場合には、当該切替タイミングの前後において給電部がメモリ装置に駆動電力を供給する。従って、電源端子を切り替える際にメモリ装置への電源供給が瞬間的に遮断されることを確実に回避できるため、電源供給の瞬断に起因するメモリ装置の誤動作を防止することが可能となる。また、電源端子の切替タイミングの前後において新旧の電源端子を重複させる重複期間を設ける場合と比較すると、通信の中断期間の発生を回避することが可能となる。
本発明の第9の態様に係るデータ処理システムは、第1〜第8のいずれか一つの態様に係るデータ処理システムにおいて特に、前記データ処理システムの起動時において、前記ホスト側切替制御部は、前記データ処理部の前記電源端子及び前記グランド端子を、予め定められた特定の前記ホスト側外部端子にそれぞれ接続し、前記メモリ側切替制御部は、前記メモリ部の前記電源端子及び前記グランド端子を、予め定められた特定の前記メモリ側外部端子にそれぞれ接続することを特徴とするものである。
第9の態様に係るデータ処理システムによれば、データ処理システムの起動時において、ホスト側切替制御部は、データ処理部の電源端子及びグランド端子を、予め定められた特定のホスト側外部端子にそれぞれ接続し、メモリ側切替制御部は、メモリ部の電源端子及びグランド端子を、予め定められた特定のメモリ側外部端子にそれぞれ接続する。このように、システムの起動時には電源端子及びグランド端子を特定の外部端子に固定することにより、ホスト装置及びメモリ装置の起動処理を速やかに実行することが可能となる。
本発明の第10の態様に係るデータ処理システムは、第1〜第8のいずれか一つの態様に係るデータ処理システムにおいて特に、前記データ処理システムの起動時において、前記ホスト側切替制御部は、前記データ処理部の前記電源端子及び前記グランド端子を、任意の前記ホスト側外部端子にそれぞれ接続し、前記メモリ側切替制御部は、前記複数のメモリ側外部端子のうち、電源電位とグランド電位との差に相当する電位差が生じている二つのメモリ側外部端子を、前記メモリ部の前記電源端子及び前記グランド端子にそれぞれ接続することを特徴とするものである。
第10の態様に係るデータ処理システムによれば、データ処理システムの起動時において、ホスト側切替制御部は、データ処理部の電源端子及びグランド端子を任意のホスト側外部端子にそれぞれ接続し、メモリ側切替制御部は、電源電位とグランド電位との差に相当する電位差が生じている二つのメモリ側外部端子を、メモリ部の電源端子及びグランド端子にそれぞれ接続する。従って、システムの起動時においても電源端子及びグランド端子を任意に設定できるため、第三者による外部端子の機能特定をさらに困難化することが可能となる。
本発明の第11の態様に係るデータ処理システムは、第1〜第10のいずれか一つの態様に係るデータ処理システムにおいて特に、前記ホスト側切替制御部及び前記メモリ側切替制御部が端子の切替処理を実行する実行条件には、前回の切替処理が完了してから、予め設定された所定時間が経過したことが含まれることを特徴とするものである。
第11の態様に係るデータ処理システムによれば、前回の切替処理が完了してから予め設定された所定時間が経過した場合に、外部端子の切替処理が実行される。このように、時間の経過に基づいて外部端子の切替処理を実行することにより、外部端子の機能が定期的に変更されるため、第三者による外部端子の機能特定をさらに困難化することが可能となる。
本発明の第12の態様に係るデータ処理システムは、第1〜第11のいずれか一つの態様に係るデータ処理システムにおいて特に、前記ホスト側切替制御部及び前記メモリ側切替制御部が端子の切替処理を実行する実行条件には、切替処理の実行を指示する所定のコマンドが前記ホスト装置から前記メモリ装置に送信されたことが含まれることを特徴とするものである。
第12の態様に係るデータ処理システムによれば、切替処理の実行を指示する所定のコマンドがホスト装置からメモリ装置に送信された場合に、外部端子の切替処理が実行される。このように、切替処理の実行を指示する専用コマンドがホスト装置から発行された場合に外部端子の切替処理を実行することにより、外部端子の機能が不定期的に変更されるため、第三者による外部端子の機能特定をさらに困難化することが可能となる。
本発明の第13の態様に係るデータ処理システムは、第1〜第12のいずれか一つの態様に係るデータ処理システムにおいて特に、前記ホスト側切替制御部及び前記メモリ側切替制御部が端子の切替処理を実行する実行条件には、予め設定された所定値のデータが前記ホスト装置と前記メモリ装置との間で送受信されたことが含まれることを特徴とするものである。
第13の態様に係るデータ処理システムによれば、予め設定された所定値のデータがホスト装置とメモリ装置との間で送受信された場合に、外部端子の切替処理が実行される。このように、両装置間で送受信されるデータの内容に基づいて外部端子の切替処理を実行することにより、外部端子の機能が不定期的に変更されるため、第三者による外部端子の機能特定をさらに困難化することが可能となる。
本発明の第14の態様に係るデータ処理システムは、第1〜第13のいずれか一つの態様に係るデータ処理システムにおいて特に、前記ホスト装置及び/又は前記メモリ装置は、所定の外部環境要因を測定する測定部をさらに有し、前記ホスト側切替制御部及び前記メモリ側切替制御部が端子の切替処理を実行する実行条件には、前記測定部による測定値が所定のしきい値を超えたことが含まれることを特徴とするものである。
第14の態様に係るデータ処理システムによれば、測定部による外部環境要因の測定値が所定のしきい値を超えた場合に、外部端子の切替処理が実行される。このように、外部環境要因の測定結果に基づいて外部端子の切替処理を実行することにより、外部端子の機能が不定期的に変更されるため、第三者による外部端子の機能特定をさらに困難化することが可能となる。
本発明の第15の態様に係るデータ処理システムは、第11〜第14のいずれか一つの態様に係るデータ処理システムにおいて特に、前記ホスト装置及び/又は前記メモリ装置は、前記ホスト側外部端子と前記メモリ側外部端子との間に外部機器が接続されているか否かを検出する検出部をさらに有し、前記ホスト側切替制御部及び前記メモリ側切替制御部は、前記検出部が前記外部機器を検出している場合には、前記検出部が前記外部機器を検出していない場合よりも、端子の切替処理の実行頻度を高く設定することを特徴とするものである。
第15の態様に係るデータ処理システムによれば、ホスト側切替制御部及びメモリ側切替制御部は、ホスト側外部端子とメモリ側外部端子との間に外部機器が接続されていることを検出部が検出している場合には、検出部が外部機器を検出していない場合よりも、端子の切替処理の実行頻度を高く設定する。このように、プローブ等の外部機器が接続されていることが検出された場合には、端子の切替処理の実行頻度を高く設定することにより、第三者による外部端子の機能特定をさらに困難化することが可能となる。
本発明の第16の態様に係るデータ処理システムは、第11〜第15のいずれか一つの態様に係るデータ処理システムにおいて特に、前記ホスト側切替制御部及び前記メモリ側切替制御部が前記電源端子及び前記グランド端子に関する切替処理を実行する第1の実行条件と、前記ホスト側切替制御部及び前記メモリ側切替制御部が前記データ端子に関する切替処理を実行する第2の実行条件とは、互いに異なることを特徴とするものである。
第16の態様に係るデータ処理システムによれば、電源端子及びグランド端子に関する切替処理を実行する第1の実行条件と、データ端子に関する切替処理を実行する第2の実行条件とを互いに異ならせることにより、電源端子及びグランド端子の切替処理とデータ端子の切替処理とは異なるタイミングで実行される。その結果、第三者による外部端子の機能特定をさらに困難化することが可能となる。
本発明の第17の態様に係るデータ処理システムは、第1〜第16のいずれか一つの態様に係るデータ処理システムにおいて特に、前記ホスト装置及び前記メモリ装置は、端子切替パターンが複数設定されたテーブルデータを格納するデータ格納部をさらに有し、前記ホスト側切替制御部及び前記メモリ側切替制御部は、前記テーブルデータに基づいて端子の切替処理を実行することを特徴とするものである。
第17の態様に係るデータ処理システムによれば、ホスト装置及びメモリ装置のデータ格納部には、端子切替パターンが複数設定されたテーブルデータが格納されており、ホスト側切替制御部及びメモリ側切替制御部は、当該テーブルデータに基づいて端子の切替処理を実行する。このように、端子切替パターンが複数設定されたテーブルデータを予め準備してデータ格納部に格納しておくことにより、当該テーブルデータに基づいて外部端子と内部端子との接続関係を能動的に切り替えることが可能となる。また、ランダムな端子切替パターンをテーブルデータに設定できるため、端子切替のランダム性を向上することが可能となる。
本発明の第18の態様に係るデータ処理システムは、第1〜第16のいずれか一つの態様に係るデータ処理システムにおいて特に、前記ホスト側切替制御部及び前記メモリ側切替制御部は、共通のアルゴリズムによって同一の端子切替パターンをそれぞれ作成し、当該端子切替パターンに基づいて端子の切替処理を実行することを特徴とするものである。
第18の態様に係るデータ処理システムによれば、ホスト側切替制御部及びメモリ側切替制御部は、共通のアルゴリズムによって同一の端子切替パターンをそれぞれ作成し、当該端子切替パターンに基づいて端子の切替処理を実行する。このように、ホスト側切替制御部及びメモリ側切替制御部が同一の端子切替パターンをそれぞれ作成することにより、当該端子切替パターンに基づいて外部端子と内部端子との接続関係を能動的に切り替えることが可能となる。また、端子切替パターンが複数設定されたテーブルデータが不要となるため、当該テーブルデータを格納するデータ格納部を省略することが可能となる。さらに、乱数生成アルゴリズムによってランダムな端子切替パターンを作成することにより、端子切替のランダム性を向上することが可能となる。また、ホスト側切替制御部及びメモリ側切替制御部が端子切替パターンをそれぞれ作成するため、ホスト装置とメモリ装置との間で端子切替パターンを送受信する必要がない。そのため、端子切替パターンの外部漏洩を防止することが可能となる。
本発明の第19の態様に係るデータ処理システムは、第1〜第16のいずれか一つの態様に係るデータ処理システムにおいて特に、前記ホスト側切替制御部は、端子切替パターンを作成し、当該端子切替パターンに基づいて端子の切替処理を実行し、前記メモリ側切替制御部は、前記端子切替パターンを前記ホスト側切替制御部から取得し、当該端子切替パターンに基づいて端子の切替処理を実行することを特徴とするものである。
第19の態様に係るデータ処理システムによれば、ホスト側切替制御部は自ら作成した端子切替パターンに基づいて端子の切替処理を実行し、メモリ側切替制御部はホスト側切替制御部から取得した端子切替パターンに基づいて端子の切替処理を実行する。このように、ホスト側切替制御部が端子切替パターンを作成することにより、ホスト装置及びメモリ装置の双方において、当該端子切替パターンに基づいて外部端子と内部端子との接続関係を能動的に切り替えることが可能となる。また、端子切替パターンが複数設定されたテーブルデータが不要となるため、当該テーブルデータを格納するデータ格納部を省略することが可能となる。さらに、ホスト側切替制御部が乱数生成アルゴリズムによってランダムな端子切替パターンを作成することにより、端子切替のランダム性を向上することが可能となる。しかも、ホスト側切替制御部は、端子切替パターンを作成するためのアルゴリズムを任意に変更することが可能となる。
本発明の第20の態様に係るデータ処理システムは、第1〜第16のいずれか一つの態様に係るデータ処理システムにおいて特に、前記メモリ側切替制御部は、端子切替パターンを作成し、当該端子切替パターンに基づいて端子の切替処理を実行し、前記ホスト側切替制御部は、前記端子切替パターンを前記メモリ側切替制御部から取得し、当該端子切替パターンに基づいて端子の切替処理を実行することを特徴とするものである。
第20の態様に係るデータ処理システムによれば、メモリ側切替制御部は自ら作成した端子切替パターンに基づいて端子の切替処理を実行し、ホスト側切替制御部はメモリ側切替制御部から取得した端子切替パターンに基づいて端子の切替処理を実行する。このように、メモリ側切替制御部が端子切替パターンを作成することにより、メモリ装置及びホスト装置の双方において、当該端子切替パターンに基づいて外部端子と内部端子との接続関係を能動的に切り替えることが可能となる。また、端子切替パターンが複数設定されたテーブルデータが不要となるため、当該テーブルデータを格納するデータ格納部を省略することが可能となる。さらに、メモリ側切替制御部が乱数生成アルゴリズムによってランダムな端子切替パターンを作成することにより、端子切替のランダム性を向上することが可能となる。しかも、メモリ側切替制御部は、端子切替パターンを作成するためのアルゴリズムを任意に変更することが可能となる。
本発明の第21の態様に係るデータ処理システムは、第1〜第16のいずれか一つの態様に係るデータ処理システムにおいて特に、端子切替パターンを作成するパターン作成装置をさらに備え、前記ホスト側切替制御部及び前記メモリ側切替制御部は、前記端子切替パターンを前記パターン作成装置から取得し、当該端子切替パターンに基づいて端子の切替処理を実行することを特徴とするものである。
第21の態様に係るデータ処理システムによれば、パターン作成装置が端子切替パターンを作成し、ホスト側切替制御部及びメモリ側切替制御部は、パターン作成装置から取得した端子切替パターンに基づいて端子の切替処理を実行する。このように、パターン作成装置が端子切替パターンを作成することにより、ホスト装置及びメモリ装置の双方において、当該端子切替パターンに基づいて外部端子と内部端子との接続関係を能動的に切り替えることが可能となる。また、端子切替パターンが複数設定されたテーブルデータが不要となるため、当該テーブルデータを格納するデータ格納部を省略することが可能となる。さらに、パターン作成装置が乱数生成アルゴリズムによってランダムな端子切替パターンを作成することにより、端子切替のランダム性を向上することが可能となる。しかも、パターン作成装置は、端子切替パターンを作成するためのアルゴリズムを任意に変更することが可能となる。
本発明によれば、第三者によるデータ端子位置の特定を困難化することにより、各外部端子の機能特定をより複雑化することが可能となる。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
図1は、本発明の実施の形態に係るデータ処理システム1の構成を示す図である。図1に示すようにデータ処理システム1は、ホスト装置2と、ホスト装置2に着脱自在に外部接続されるメモリ装置3とを備えて構成されている。
ホスト装置2は、CPU等のデータ処理部11と、端子切替部12と、切替制御部13と、データ格納部14と、複数の外部端子B(この例では10個の外部端子B0〜B9)とを備えて構成されている。データ処理部11は、複数の内部端子A(この例では10個の内部端子A0〜A9)を有している。この例において、内部端子A0は電源端子であり、内部端子A9はグランド端子であり、内部端子A1〜A8はデータ端子(入力端子、出力端子、又は入出力端子)であるものとする。以下の説明では、内部端子A0を「電源端子」とも称し、内部端子A9を「グランド端子」とも称し、内部端子A1〜A8を「データ端子」とも称する。なお、第三者によってデータ処理部11と端子切替部12との間の送受信データが解析されないようにするために、データ処理部11と端子切替部12とはワンチップ化されているのが望ましい。
メモリ装置3は、端子切替部21と、メモリコントローラ及びメモリアレイを有するメモリ部22と、切替制御部23と、データ格納部24と、複数の外部端子C(この例では10個の外部端子C0〜C9)とを備えて構成されている。メモリ部22は、複数の内部端子D(この例では10個の内部端子D0〜D9)を有している。この例において、内部端子D0は電源端子であり、内部端子D9はグランド端子であり、内部端子D1〜D8はデータ端子(入力端子、出力端子、又は入出力端子)であるものとする。以下の説明では、内部端子D0を「電源端子」とも称し、内部端子D9を「グランド端子」とも称し、内部端子D1〜D8を「データ端子」とも称する。なお、第三者によってメモリ部22と端子切替部21との間の送受信データが解析されないようにするために、メモリ部22と端子切替部21とはワンチップ化されているのが望ましい。
図2は、端子切替部12の構成の一部を示す図である。端子切替部12は、スイッチ回路31,32を有して構成されている。内部端子A1〜A8は、スイッチ回路31の選択端子に接続されている。内部端子A0、スイッチ回路31の共通端子、及び内部端子A9は、スイッチ回路32の選択端子に接続されている。スイッチ回路32の共通端子は、外部端子B0に接続されている。切替制御部13から入力される制御信号に基づいてスイッチ回路31,32がスイッチ動作を行うことにより、内部端子A0〜A9のうちの任意の一つが外部端子B0に接続される。なお、図2には外部端子B0に対応する構成のみを示したが、外部端子B1〜B9に対応する構成も図2と同様である。つまり、端子切替部12は、切替制御部13による端子切替制御によって、内部端子A0〜A9と外部端子B0〜B9との接続関係を任意に切り替える。
図3は、端子切替部21の構成の一部を示す図である。端子切替部21は、スイッチ回路41,42を有して構成されている。外部端子C0は、スイッチ回路42の共通端子に接続されている。スイッチ回路42の選択端子は、内部端子D0、スイッチ回路41の共通端子、及び内部端子D9に接続されている。スイッチ回路41の選択端子は、内部端子D1〜D8に接続されている。切替制御部23から入力される制御信号に基づいてスイッチ回路41,42がスイッチ動作を行うことにより、外部端子C0は、内部端子D0〜D9のうちの任意の一つに接続される。なお、図3には外部端子C0に対応する構成のみを示したが、外部端子C1〜C9に対応する構成も図3と同様である。つまり、端子切替部21は、切替制御部23による端子切替制御によって、内部端子D0〜D9と外部端子C0〜C9との接続関係を任意に切り替える。
図4は、データ格納部14,24に格納されているテーブルデータ100を示す図である。テーブルデータ100には、内部端子A,Dと外部端子B,Cとの接続関係を規定するための複数の端子切替パターンP(この例では256個の端子切替パターンP0〜P255)が設定されている。インデックス値を指定することにより、対応する端子切替パターンを任意に選択することができる。
図1を参照して、同一のテーブルデータ100が予めデータ格納部14,24に格納されていても良いし、データ格納部14,24の一方のみに予めテーブルデータ100が格納されていても良い。テーブルデータ100が予めデータ格納部14のみに格納されている場合には、データ処理システム1の起動時にメモリ装置3がホスト装置2から外部端子B,Cを介してテーブルデータ100を取得して、当該テーブルデータ100をデータ格納部24に格納する。テーブルデータ100が予めデータ格納部24のみに格納されている場合には、データ処理システム1の起動時にホスト装置2がメモリ装置3から外部端子B,Cを介してテーブルデータ100を取得して、当該テーブルデータ100をデータ格納部14に格納する。なお、テーブルデータ100を送受信する際には、テーブルデータ100を暗号化することが望ましい。また、システム起動時にテーブルデータ100の送受信を実行するのではなく、ホスト装置2が専用コマンドを発行することによって、テーブルデータ100の送受信を実行しても良い。また、テーブルデータ100を送受信するための専用外部端子を、外部端子B,Cとは別に設けても良い。また、メモリ部22内のメモリアレイの一部の領域を、データ格納部24として使用しても良い。
図5は、データ処理システム1の起動時に設定される端子切替パターンの一例を示す図である。システム起動時には、切替制御部13,23は予め定められた固定の端子切替パターンを端子切替部12,21に設定する。図5に示した例では、外部端子B0,C0は電源端子である内部端子A0,D0に、外部端子B9,C9はグランド端子である内部端子A9,D9に、外部端子B1〜B8,C1〜C8はデータ端子である内部端子A1〜A8,D1〜D8に、それぞれ接続される。
図6は、データ処理システム1の起動処理の完了直後に設定される端子切替パターンの一例を示す図である。システムの起動処理が完了すると、切替制御部13,23は、テーブルデータ100を参照することにより、インデックス値「0」で示される先頭の端子切替パターンP0を端子切替部12,21に設定する。図6に示した例では、外部端子B4,C4は電源端子である内部端子A0,D0に、外部端子B1,C1はグランド端子である内部端子A9,D9に、外部端子B0,B2,B3,B5,B6,B7,B8,B9,C0,C2,C3,C5,C6,C7,C8,C9はデータ端子である内部端子A8,A5,A2,A7,A3,A4,A1,A6,D8,D5,D2,D7,D3,D4,D1,D6に、それぞれ接続される。
図7は、図6に示した状態から端子切替処理が実行されることにより設定される端子切替パターンの一例を示す図である。前回の端子切替パターンP0への端子切替処理が完了してから、予め設定された所定時間(第三者によるデータ解析の所要時間より短い時間に設定されている)が経過すると、切替制御部13,23は、テーブルデータ100を参照することにより、次のインデックス値「1」で示される端子切替パターンP1を端子切替部12,21に設定する。図7に示した例では、外部端子B8,C8は電源端子である内部端子A0,D0に、外部端子B5,C5はグランド端子である内部端子A9,D9に、外部端子B0,B1,B2,B3,B4,B6,B7,B9,C0,C1,C2,C3,C4,C6,C7,C9はデータ端子である内部端子A3,A4,A7,A8,A2,A1,A6,A5,D3,D4,D7,D8,D2,D1,D6,D5に、それぞれ接続される。
以降は同様に切替制御部13,23は、前回の端子切替パターンへの端子切替処理が完了してから所定時間が経過する度に、次のインデックス値で示される端子切替パターンを端子切替部12,21に設定する。また、末尾の端子切替パターンP255の次には、先頭の端子切替パターンP0が設定される。
なお、システムの起動処理の完了直後に必ずしも先頭の端子切替パターンP0から開始する必要はなく、システムの起動処理の完了直後にデータ処理部11が専用コマンドを発行し、当該専用コマンド内でインデックス値を指定することによって、テーブルデータ100における端子切替パターンの開始位置を切替制御部13,23に指定しても良い。この場合、データ処理部11は、任意の乱数生成アルゴリズムを用いることにより、あるいは、システム起動処理の開始時刻等の任意の変動要因を用いることにより、システムの起動処理毎に異なるインデックス値を指定することが望ましい。
図6,7に示した例では、端子切替処理によって、電源端子が外部端子B4,C4から外部端子B8,C8に切り替えられ、グランド端子が外部端子B1,C1から外部端子B5,C5に切り替えられている。メモリ装置3はホスト装置2から駆動電力の供給を受けているため、電源端子及びグランド端子の切り替えが確実に行われなければ、メモリ装置3への駆動電力の供給が瞬間的に遮断され、データ消失等のメモリ装置3の誤動作を引き起こす。以下、電源端子及びグランド端子を切り替える際の瞬断対策について説明する。
図8は、電源端子及びグランド端子を切り替える際の瞬断対策処理を示すタイミングチャートである。図8では、電源端子を外部端子B4,C4から外部端子B8,C8に切り替え、グランド端子を外部端子B1,C1から外部端子B5,C5に切り替える場合の例を示している。
まず時刻T1において切替制御部13,23は、ホスト装置2とメモリ装置3とのデータ通信を停止する。また、時刻T1において切替制御部13,23は、切替前の電源端子の接続関係(外部端子B4,C4と内部端子A0,D0との接続関係)及び切替前のグランド端子の接続関係(外部端子B1,C1と内部端子A9,D9との接続関係)を維持した状態で、切替後の電源端子の接続関係(外部端子B8,C8と内部端子A0,D0との接続関係)及び切替後のグランド端子の接続関係(外部端子B5,C5と内部端子A9,D9との接続関係)を構築する。
次に、時刻T1から所定時間が経過した時刻T2において、切替制御部13,23は、切替前の電源端子の接続関係(外部端子B4,C4と内部端子A0,D0との接続関係)及び切替前のグランド端子の接続関係(外部端子B1,C1と内部端子A9,D9との接続関係)を解除する。その後、切替制御部13,23は、データ端子に関して切替後の新たな接続関係を構築し、当該新たな接続関係を用いてホスト装置2とメモリ装置3とのデータ通信を再開する。
なお、図8に示した瞬断対策よりも簡易な以下の手法を採用しても良い。すなわち、両装置間のデータ通信を中断してメモリ装置3を正常終了するとともに、ホスト装置2からメモリ装置3への電力供給を一時的に停止し、その状態で切替制御部13が端子切替部12の端子切替処理を実行する。そして、端子切替部12の端子切替処理が完了した後にホスト装置2からメモリ装置3への電力供給を再開し、切替制御部23が端子切替部21の端子切替処理を実行する。端子切替部21の端子切替処理が完了した後、両装置間のデータ通信を再開する。
このように本実施の形態に係るデータ処理システム1によれば、端子切替部12は、外部端子Bとデータ処理部11の内部端子A(電源端子A0、グランド端子A9、及びデータ端子A1〜A8)との接続関係を切り替え、端子切替部21は、外部端子Cとメモリ部22の内部端子D(電源端子D0、グランド端子D9、及びデータ端子D1〜D8)との接続関係を切り替える。つまり、データ端子A1〜A8,D1〜D8のみならず、電源端子A0,D0及びグランド端子A9,D9に関しても、外部端子B,Cと内部端子A,Dとの接続関係が切り替えられる。従って、不正コピーを企てる第三者が、基準となる電源端子及びグランド端子として機能する外部端子B,Cを特定することは困難であるため、データ端子として機能する外部端子B,Cを特定することも困難となる。つまり、第三者による外部端子B,Cの機能特定を困難化することができる。その結果、データ端子間で送受信されるデータの解析が困難となるため、メモリ装置3に格納されたコンテンツデータの不正コピーを効果的に防止することが可能となる。
また、図8に示したように本実施の形態に係るデータ処理システム1によれば、電源端子として機能する外部端子B,Cを切り替える場合には、切替制御部13,23は、切替前の外部端子B4,C4と電源端子A0,D0との接続を解除するより前に、切替後の外部端子B8,C8と電源端子A0,D0とを接続する。従って、電源端子を切り替える際にホスト装置2からメモリ装置3への電源供給が瞬間的に遮断されることを確実に回避できるため、電源供給の瞬断に起因するメモリ装置3の誤動作を防止することが可能となる。また、電源端子の切替タイミングの前後において電池等の給電部54からメモリ装置3に駆動電力を供給する場合(図15)と比較すると、メモリ装置3への給電部54の実装が不要となるため、コスト及び回路規模を削減することが可能となる。
また、図5に示したように本実施の形態に係るデータ処理システム1によれば、システム起動時において、切替制御部13は、データ処理部11の電源端子A0及びグランド端子A9を、予め定められた特定の外部端子B0,B9にそれぞれ接続し、切替制御部23は、メモリ部22の電源端子D0及びグランド端子D9を、予め定められた特定の外部端子C0,C9にそれぞれ接続する。このように、システム起動時には電源端子及びグランド端子を特定の外部端子に固定することにより、メモリ装置3による電源端子及びグランド端子の探索処理が不要となるため、ホスト装置2及びメモリ装置3の起動処理を速やかに実行することが可能となる。
また、本実施の形態に係るデータ処理システム1によれば、前回の端子切替処理が完了してから予め設定された所定時間が経過した場合に、外部端子B,Cの端子切替処理が実行される。このように、時間の経過に基づいて外部端子B,Cの端子切替処理を実行することにより、外部端子B,Cの機能が定期的に変更されるため、第三者による外部端子B,Cの機能特定をさらに困難化することが可能となる。
また、本実施の形態に係るデータ処理システム1によれば、ホスト装置2及びメモリ装置3のデータ格納部14,24には、端子切替パターンPが複数設定されたテーブルデータ100が格納されており、切替制御部13,23は、当該テーブルデータ100に基づいて端子切替処理を実行する。このように、端子切替パターンPが複数設定されたテーブルデータ100を予め準備してデータ格納部14,24に格納しておくことにより、当該テーブルデータ100に基づいて外部端子B,Cと内部端子A,Dとの接続関係を能動的に切り替えることが可能となる。また、ランダムな端子切替パターンPをテーブルデータ100に設定できるため、端子切替のランダム性を向上することが可能となる。
<第1の変形例>
上記実施の形態では、切替制御部13,23はデータ格納部14,24に格納されているテーブルデータ100に基づいて端子切替処理を実行したが、テーブルデータ100を参照するのではなく、切替制御部13,23の双方が自ら端子切替パターンを作成しても良い。
図9は、第1の変形例に係るデータ処理システム1の構成を示す図である。図1に示した構成からデータ格納部14,24が省略されている。
切替制御部13,23は、共通のアルゴリズムによって同一の端子切替パターンをそれぞれ作成し、当該端子切替パターンに基づいて端子切替部12,21の端子切替処理を実行する。端子切替パターンを作成するためのアルゴリズムとしては、例えば、任意の乱数生成アルゴリズムを用いることができる。
第1の変形例に係るデータ処理システム1によれば、切替制御部13,23は、共通のアルゴリズムによって同一の端子切替パターンをそれぞれ作成し、当該端子切替パターンに基づいて端子切替処理を実行する。このように、切替制御部13,23が同一の端子切替パターンをそれぞれ作成することにより、当該端子切替パターンに基づいて外部端子B,Cと内部端子A,Dとの接続関係を能動的に切り替えることが可能となる。また、テーブルデータ100が不要となるため、当該テーブルデータ100を格納するデータ格納部14,24を省略することが可能となる。さらに、乱数生成アルゴリズムによってランダムな端子切替パターンを作成することにより、端子切替のランダム性を向上することが可能となる。また、切替制御部13,23が端子切替パターンをそれぞれ作成するため、ホスト装置2とメモリ装置3との間で端子切替パターンを送受信する必要がない。そのため、端子切替パターンの外部漏洩を防止することが可能となる。
<第2の変形例>
上記実施の形態では、切替制御部13,23はデータ格納部14,24に格納されているテーブルデータ100に基づいて端子切替処理を実行したが、テーブルデータ100を参照するのではなく、切替制御部13,23の一方が端子切替パターンを作成しても良い。
第2の変形例に係るデータ処理システム1の構成は、図9と同様である。
切替制御部13が端子切替パターンを作成する第1の例として、切替制御部13は、任意の乱数生成アルゴリズムによって乱数を生成し、当該乱数を用いてランダムな端子切替パターンを作成する。
切替制御部13が端子切替パターンを作成する第2の例として、切替制御部13は、メモリ装置3に送信するコマンド内又はメモリ装置3から受信したデータ内の特定領域の値を抽出し、抽出値をそのまま用いることにより、あるいは抽出値に対して所定の演算を行うことにより、端子切替パターンを作成する。
切替制御部13が端子切替パターンを作成する第3の例として、切替制御部13は、上記実施の形態と同様のテーブルデータ100を内部に保持しておき、上記抽出値をインデックス値として用いて、そのインデックス値に対応する端子切替パターンをテーブルデータ100から読み出すことによって、端子切替パターンを作成する。
切替制御部13が端子切替パターンを作成する第4の例として、図10に示すように、温度、湿度、照度、又は音圧等の任意の外部環境要因を測定する測定部51をホスト装置2に実装しておき、切替制御部13は、測定部51から出力されたアナログの測定値をA/D変換することによって得られるディジタルの電圧値をそのまま用いることにより、あるいは当該電圧値に対して所定の演算を行うことにより、端子切替パターンを作成する。
切替制御部13が端子切替パターンを作成する第5の例として、切替制御部13は、現在設定されている端子切替パターンに対して、端子配置を所定方向に所定数ずつシフトする、あるいは、固定又は可変の特定外部端子を基準として端子配置を上下反転することによって、新たな端子切替パターンを簡易に作成する。
切替制御部13が端子切替パターンを作成する第6の例として、切替制御部13は、データ端子として機能する複数の外部端子Bを対象として、端子切替パターンが前回切り替えられてから、データ端子上の信号値がLowからHighに早く遷移した端子の順序(あるいはその逆の順序)を記録しておき、その順序に従って次の端子切替パターンを作成する。
上記第1〜第6の例は任意に組み合わせて適用可能であり、また、他の任意の例を組み合わせることもできる。
切替制御部13は、上記の例で自ら作成した端子切替パターンに基づいて、端子切替部12の端子切替処理を実行する。また、切替制御部23は、外部端子B,Cを介して、あるいは端子切替パターンを送受信するための専用外部端子を介して、切替制御部13から端子切替パターンを取得する。そして、切替制御部13から取得した端子切替パターンに基づいて、端子切替部21の端子切替処理を実行する。なお、端子切替パターンを送受信する際には、端子切替パターンを暗号化することが望ましい。また、端子切替パターンは、リードコマンド又はライトコマンド等の通常のコマンド内に埋め込んで送受信しても良いし、端子切替パターンを送受信するための専用コマンドによって送受信しても良い。また、上記第3の例においては、切替制御部23内にも切替制御部13と同様のテーブルデータ100を保持しておくことにより、切替制御部13から切替制御部23にインデックス値のみを送信すればよい。
第2の変形例に係るデータ処理システム1によれば、切替制御部13は自ら作成した端子切替パターンに基づいて端子切替部12の端子切替処理を実行し、切替制御部23は切替制御部13から取得した端子切替パターンに基づいて端子切替部21の端子切替処理を実行する。このように、切替制御部13が端子切替パターンを作成することにより、ホスト装置2及びメモリ装置3の双方において、当該端子切替パターンに基づいて外部端子B,Cと内部端子A,Dとの接続関係を能動的に切り替えることが可能となる。また、テーブルデータ100が不要となるため、当該テーブルデータ100を格納するデータ格納部14,24を省略することが可能となる。さらに、切替制御部13が乱数生成アルゴリズムによってランダムな端子切替パターンを作成することにより、端子切替のランダム性を向上することが可能となる。しかも、切替制御部13は、端子切替パターンを作成するためのアルゴリズムを任意に変更することが可能となる。
なお、以上の説明では切替制御部13が端子切替パターンを作成し、切替制御部23は切替制御部13から端子切替パターンを取得する例について述べたが、これとは逆に、切替制御部23が端子切替パターンを作成し、切替制御部13が切替制御部23から端子切替パターンを取得する構成としても良く、上記と同様の効果を得ることができる。
<第3の変形例>
上記実施の形態では、切替制御部13,23はデータ格納部14,24に格納されているテーブルデータ100に基づいて端子切替処理を実行したが、テーブルデータ100を参照するのではなく、ホスト装置2及びメモリ装置3の外部において端子切替パターンを作成しても良い。
図11は、第3の変形例に係るデータ処理システム1の構成を示す図である。図1に示した構成からデータ格納部14,24が省略されるとともに、ホスト装置2及びメモリ装置3の外部にパターン作成装置4が追加されている。
パターン作成装置4は、任意の乱数生成アルゴリズムによって乱数を生成し、当該乱数を用いてランダムな端子切替パターンを作成する。
切替制御部13は、パターン作成装置4から端子切替パターンを取得する。また、切替制御部23は、パターン作成装置4からホスト装置2を介して端子切替パターンを取得する。具体的に、切替制御部23は、外部端子B,Cを介して、あるいは端子切替パターンを送受信するための専用外部端子を介して、切替制御部13から端子切替パターンを取得する。なお、上記の例とは逆に、切替制御部23が、端子切替パターンをパターン作成装置4から取得し、切替制御部13が、当該端子切替パターンをパターン作成装置4からメモリ装置3を介して取得しても良い。
第3の変形例に係るデータ処理システム1によれば、パターン作成装置4が端子切替パターンを作成し、切替制御部13,23はパターン作成装置4から取得した端子切替パターンに基づいて端子切替処理を実行する。このように、パターン作成装置4が端子切替パターンを作成することにより、ホスト装置2及びメモリ装置3の双方において、当該端子切替パターンに基づいて外部端子B,Cと内部端子A,Dとの接続関係を能動的に切り替えることが可能となる。また、テーブルデータ100が不要となるため、当該テーブルデータ100を格納するデータ格納部14,24を省略することが可能となる。さらに、パターン作成装置4が乱数生成アルゴリズムによってランダムな端子切替パターンを作成することにより、端子切替のランダム性を向上することが可能となる。しかも、パターン作成装置4は、端子切替パターンを作成するためのアルゴリズムを任意に変更することが可能となる。
<第4の変形例>
上記実施の形態では、切替制御部13,23は、前回の端子切替パターンへの端子切替処理が完了してから所定時間が経過することによって次の端子切替処理を実行したが、経過時間以外の要因に基づいて次の端子切替処理を実行しても良い。
第4の変形例に係るデータ処理システム1の構成は、図1と同様である。
第1の例として、切替制御部13,23は、端子切替処理の実行を指示する専用コマンドがホスト装置2からメモリ装置3に送信されたことを条件として、端子切替処理を実行する。当該専用コマンドは、外部端子B,Cを介して、あるいは当該専用コマンドを送受信するための専用外部端子を介して、ホスト装置2からメモリ装置3に送信される。
第2の例として、切替制御部13,23は、予め設定された所定値のデータがホスト装置2とメモリ装置3との間で送受信されたことを条件として、端子切替処理を実行する。例えば、上記所定値のデータとして8ビットの「5E」(h)が設定されている場合において、メモリ装置3からホスト装置2に送信されたデータが「5E」(h)である場合に、切替制御部13,23は端子切替処理を実行する。
第3の例として、図12に示すように、温度、湿度、照度、又は音圧等の任意の外部環境要因を測定する測定部52をホスト装置2(又はメモリ装置3)に実装しておき、測定部52から出力された測定値が所定のしきい値を超えた場合に、切替制御部13,23は端子切替処理を実行する。なお、ホスト装置2及びメモリ装置3の双方に測定部52を実装しておき、両者の測定値の差が所定のしきい値を超えた場合に端子切替処理を実行する構成としても良い。
第4の例として、図13に示すように、静電容量又は負荷の測定等によってプローブ等の外部機器が外部端子B,C間に接続されているか否かを検出する検出部53を、ホスト装置2及びメモリ装置3の少なくとも一方に実装しておき、検出部53が外部機器の接続を検出している場合には、切替制御部13,23は、端子切替処理の実行頻度を通常時(非検出時)よりも高く設定する。例えば、通常時には1秒間隔で端子切替処理を実行している場合において、検出部53が外部機器の接続を検出した場合には端子切替処理の実行間隔を0.5秒に設定する。あるいは、通常時には端子切替処理を実行せず、検出部53が外部機器の接続を検出した場合に所定の時間間隔で端子切替処理を実行しても良い。
上記第1〜第4の例は任意に組み合わせて適用可能であり、また、他の任意の例を組み合わせることもできる。
また、上記実施の形態では、全ての外部端子B,Cに関して一括して端子切替処理を実行したが、電源端子及びグランド端子と、データ端子とで、端子切替処理の実行条件を異ならせても良い。
図14は、定期的に実行される5回の端子切替処理を示すタイミングチャートである。時刻T1では、電源端子及びグランド端子に関する実行条件が成立し、データ端子に関する実行条件が成立しなかったことにより、電源端子及びグランド端子のみを対象とする端子切替処理が実行されている。この場合には、例えば、電源端子とグランド端子とを入れ替える端子切替処理が実行される。時刻T3では、電源端子及びグランド端子に関する実行条件は成立せず、データ端子に関する実行条件が成立したことにより、データ端子のみを対象とする端子切替処理が実行されている。時刻T2,T4,T5では、電源端子及びグランド端子に関する実行条件と、データ端子に関する実行条件とがいずれも成立したことにより、電源端子、グランド端子、及びデータ端子の全てを対象とする端子切替処理が実行されている。
第4の変形例に係るデータ処理システム1によれば、端子切替処理の実行を指示する所定のコマンドがホスト装置2からメモリ装置3に送信された場合に、端子切替処理が実行される。このように、端子切替処理の実行を指示する専用コマンドがホスト装置2から発行された場合に端子切替処理を実行することにより、外部端子B,Cの機能が不定期的に変更されるため、第三者による外部端子B,Cの機能特定をさらに困難化することが可能となる。
また、第4の変形例に係るデータ処理システム1によれば、予め設定された所定値のデータがホスト装置2とメモリ装置3との間で送受信された場合に、端子切替処理が実行される。このように、両装置間で送受信されるデータの内容に基づいて端子切替処理を実行することにより、外部端子B,Cの機能が不定期的に変更されるため、第三者による外部端子B,Cの機能特定をさらに困難化することが可能となる。
また、第4の変形例に係るデータ処理システム1によれば、測定部52による外部環境要因の測定値が所定のしきい値を超えた場合に、端子切替処理が実行される。このように、外部環境要因の測定結果に基づいて端子切替処理を実行することにより、外部端子B,Cの機能が不定期的に変更されるため、第三者による外部端子の機能特定をさらに困難化することが可能となる。
また、第4の変形例に係るデータ処理システム1によれば、切替制御部13,23は、外部端子B,C間に外部機器が接続されていることを検出部53が検出している場合には、検出部53が外部機器を検出していない場合よりも、端子切替処理の実行頻度を高く設定する。このように、プローブ等の外部機器が接続されていることが検出された場合には、端子切替処理の実行頻度を高く設定することにより、第三者による外部端子B,Cの機能特定をさらに困難化することが可能となる。
また、第4の変形例に係るデータ処理システム1によれば、電源端子及びグランド端子に関する端子切替処理を実行する実行条件と、データ端子に関する端子切替処理を実行する実行条件とを互いに異ならせることにより、電源端子及びグランド端子の切替処理とデータ端子の切替処理とは異なるタイミングで実行される。その結果、第三者による外部端子B,Cの機能特定をさらに困難化することが可能となる。
<第5の変形例>
上記実施の形態では、電源端子及びグランド端子に関して端子切替の前後の接続関係を一定期間重複させることによって瞬断対策を行ったが、他の方法によって瞬断対策を行うこともできる。
図15は、第5の変形例に係るデータ処理システム1の構成を示す図である。図1に示した構成に対して、メモリ装置3に電池等の給電部54が追加されている。
図16は、電源端子及びグランド端子を切り替える際の瞬断対策処理を示すタイミングチャートである。図16では、電源端子を外部端子B4,C4から外部端子B8,C8に切り替え、グランド端子を外部端子B1,C1から外部端子B5,C5に切り替える場合の例を示している。
切替制御部13,23は、時刻T1において端子切替処理を実行する。
切替制御部23は、切替タイミング(時刻T1)の前後の所定期間(例えば1秒)において、給電部54からメモリ装置3に駆動電力を供給させる。具体的には、時刻T1より前の時刻T2から、時刻T1より後の時刻T3までの期間において、給電部54からメモリ装置3への給電が行われる。時刻T3以降は、給電部54からの給電は停止される。なお、上記実施の形態とは異なり、切替タイミングの前後においてホスト装置2とメモリ装置3とのデータ通信を中断する必要はない。
第5の変形例に係るデータ処理システム1によれば、メモリ装置3は電池等の給電部54を有し、電源端子として機能する外部端子を切り替える場合には、当該切替タイミングの前後において給電部54がメモリ装置3に駆動電力を供給する。従って、電源端子を切り替える際にメモリ装置3への電源供給が瞬間的に遮断されることを確実に回避できるため、電源供給の瞬断に起因するメモリ装置3の誤動作を防止することが可能となる。また、電源端子の切替タイミングの前後において新旧の電源端子を重複させる重複期間を設ける場合(図8)と比較すると、データ通信の中断期間の発生を回避することが可能となる。
<第6の変形例>
上記実施の形態では、システム起動時には、電源端子A0,D0は固定の外部端子B0,C0に接続され、グランド端子A9,D9は固定の外部端子B9,C9に接続されたが、システム起動時においても、電源端子A0,D0及びグランド端子A9,D9に接続される外部端子B,Cを任意に設定することができる。
図17,18は、データ処理システム1の起動時に設定される端子切替パターンの一例を示す図である。図17を参照して、まず切替制御部13は、グランド端子A9に接続される外部端子Bを任意に設定する。この例では、グランド端子A9に接続される外部端子として外部端子B6が設定され、外部端子B6とグランド端子A9とが接続される。これにより、グランド端子A9から外部端子B6,C6にグランド電位が供給される。
次に切替制御部23は、外部端子C0〜C9の各々の電位を測定することにより、グランド電位が供給されている外部端子C6を特定し、外部端子C6をグランド端子D9に接続する。
次に切替制御部13は、電源端子A0に接続される外部端子Bを任意に設定する。この例では、電源端子A0に接続される外部端子として外部端子B7が設定され、外部端子B7と電源端子A0とが接続される。これにより、電源端子A0から外部端子B7,C7に電源電位が供給される。
次に切替制御部23は、グランド端子として特定した外部端子C6と、他の外部端子C0〜C5,C7〜C9の各々との電位差を測定することにより、電源電位とグランド電位との電位差に相当する電位差が生じている外部端子C7を特定する。そして、特定した外部端子C7を電源端子D0に接続する。
図18を参照して、次に切替制御部13は、グランド端子及び電源端子として設定した外部端子B6,B7以外の外部端子B0〜B5,B8,B9をデータ端子として設定し、所定の順序でデータ端子A1〜A8に接続する。同様に、切替制御部23は、グランド端子及び電源端子として設定した外部端子C6,C7以外の外部端子C0〜C5,C8,C9をデータ端子として設定し、上記所定の順序と同一の順序でデータ端子D1〜D8に接続する。
第6の変形例に係るデータ処理システム1によれば、システム起動時において、切替制御部13は、データ処理部11の電源端子A0及びグランド端子A9を任意の外部端子B7,B6にそれぞれ接続し、切替制御部23は、電源電位とグランド電位との差に相当する電位差が生じている二つの外部端子C7,C6を、メモリ部22の電源端子D0及びグランド端子D9にそれぞれ接続する。従って、システム起動時においても電源端子及びグランド端子を任意に設定できるため、第三者による外部端子B,Cの機能特定をさらに困難化することが可能となる。
<第7の変形例>
図19は、第7の変形例に係るデータ処理装置1の構成を示す図である。ホスト装置2には内部端子Aの総数よりも多い外部端子Bが設けられており、メモリ装置3には内部端子Dの総数よりも多い外部端子Cが設けられている。この例では、それぞれ14個の外部端子B0〜B13,C0〜C13が設けられている。
図20は、端子切替部12,21に設定される端子切替パターンの一例を示す図である。図20に示した例では、外部端子B11,C11は電源端子に設定され、外部端子B2,C2はグランド端子に設定され、外部端子B1,B3,B5〜B9,B13,C1,C3,C5〜C9,C13はデータ端子に設定されている。
外部端子B0〜B13のうちいずれの内部端子A0〜A9にも接続されない残余の外部端子B0,B4,B10,B12は、ダミー端子として設定される。同様に、外部端子C0〜C13のうちいずれの内部端子D0〜D9にも接続されない残余の外部端子C0,C4,C10,C12は、ダミー端子として設定される。
切替制御部13,23は、ホスト装置2側のダミー端子である外部端子B0,B4,B10,B12と、メモリ装置3側のダミー端子である外部端子C0,C4,C10,C12との間で、ダミーデータとして無意味なランダムデータの送受信を行う。
図21は、図20に示した状態から端子切替処理が実行されることにより設定される端子切替パターンの一例を示す図である。切替制御部13,23は、端子切替処理によって電源端子、グランド端子、及びデータ端子を切り替えるとともに、ダミー端子も切り替える。図21に示した例では、外部端子B1,B5,B8,B13,C1,C5,C8,C13がダミー端子として設定されている。
第7の変形例に係るデータ処理システム1によれば、外部端子Bの総数はデータ処理部11の内部端子Aの総数よりも多く、外部端子Cの総数はメモリ部22の内部端子Dの総数よりも多い。つまり、全ての外部端子B0〜B13の中にはデータ処理部11の内部端子A0〜A9に接続されないダミー端子が存在し、全ての外部端子C0〜C13の中にはメモリ部22の内部端子D0〜D9に接続されないダミー端子が存在する。従って、第三者による外部端子B,Cの機能特定をさらに困難化することが可能となる。
また、第7の変形例に係るデータ処理システム1によれば、切替制御部13,23は、端子切替処理によってダミー端子を切り替える。このように、ダミー端子を固定するのではなく能動的に切り替えることにより、第三者による外部端子B,Cの機能特定をさらに困難化することが可能となる。
また、第7の変形例に係るデータ処理システム1によれば、切替制御部13,23は、ホスト装置2側のダミー端子とメモリ装置3側のダミー端子との間でダミーデータを送受信する。従って、ダミー端子とデータ端子との区別が困難となるため、第三者による外部端子B,Cの機能特定をさらに困難化することが可能となる。
<第8の変形例>
第8の変形例に係るデータ処理システム1の構成は、図1と同様である。
図22は、端子切替部12,21に設定される端子切替パターンの一例を示す図である。図22に示した例では、外部端子B4,C4は電源端子に設定され、外部端子B1,C1はグランド端子に設定されている。また、外部端子B0,B2,B6,B8,C0,C2,C6,C8はデータ端子に設定されている。外部端子B0〜B9,C0〜C9のうちいずれの内部端子A0〜A9,D0〜D9にも接続されない残余の外部端子B3,B5,B7,B9,C3,C5,C7,C9は、ダミー端子として設定される。切替制御部13,23は、ホスト装置2側のダミー端子である外部端子B3,B5,B7,B9と、メモリ装置3側のダミー端子である外部端子C3,C4,C7,C9との間で、ダミーデータとして無意味なランダムデータの送受信を行う。
データ端子に設定されている外部端子B0,B2,B6,B8の各々には、データ処理部11のデータ端子A1〜A8のうち2個のデータ端子がそれぞれ接続される。例えば、外部端子B0にはデータ端子A6,A7が接続され、外部端子B2にはデータ端子A1,A4が接続される。同様に、データ端子に設定されている外部端子C0,C2,C6,C8の各々には、メモリ部22のデータ端子D1〜D8のうち2個のデータ端子がそれぞれ接続される。例えば、外部端子C6にはデータ端子D2,D8が接続され、外部端子C8にはデータ端子D3,D5が接続される。
図23は、一つの外部端子によって二つの信号の論理状態を表現する手法を示す図である。図23に示すように、外部端子から出力されるパルスの電圧値を4通り(この例では0V,2V,3V、及び5V)に設定することによって、1ビットの二つの信号の論理状態を表現することができる。
なお、一つの外部端子B,Cに三つ以上の内部端子A,Dを接続する構成としても良く、例えば、パルスの電圧値を8通りに設定することによって1ビットの三つの信号の論理状態を表現することができる。
図24は、図22に示した状態から端子切替処理が実行されることにより設定される端子切替パターンの一例を示す図である。切替制御部13,23は、端子切替処理によって電源端子、グランド端子、及びデータ端子を切り替えるとともに、ダミー端子も切り替える。図24に示した例では、外部端子B0,B2,B6,B8,C0,C2,C6,C8がダミー端子として設定されている。
また、切替制御部13は、端子切替処理によって、一つの外部端子Bに接続されるデータ端子A1〜A8の組み合わせを切り替える。例えば、図22ではデータ端子に関して(A6,A7)、(A1,A4)、(A2,A8)、(A3,A5)の組み合わせが設定されていたが、図24では(A1,A7)、(A2,A4)、(A3,A6)、(A5,A8)の組み合わせが設定されている。同様に、切替制御部23は、端子切替処理によって、一つの外部端子Cに接続されるデータ端子D1〜D8の組み合わせを切り替える。
第8の変形例に係るデータ処理システム1によれば、切替制御部13は、一つの外部端子Bに対してデータ処理部11の2個以上のデータ端子A1〜A8を接続し、切替制御部23は、一つの外部端子Cに対してメモリ部22の2個以上のデータ端子D1〜D8を接続する。このように、外部端子B,Cと内部端子A,Dとを一対一で接続するのではなく、一つの外部端子B,Cに2個以上の内部端子A,Dを接続することにより、第三者による外部端子B,Cの機能特定をさらに困難化することが可能となる。
また、第8の変形例に係るデータ処理システム1によれば、切替制御部13は、端子切替処理によって、一つの外部端子Bに接続されるデータ端子A1〜A8の組み合わせを切り替え、切替制御部23は、端子切替処理によって、一つの外部端子Cに接続されるデータ端子D1〜D8の組み合わせを切り替える。このように、一つの外部端子B,Cに接続されるデータ端子A1〜A8,D1〜D8の組み合わせを固定するのではなく能動的に切り替えることにより、第三者による外部端子B,Cの機能特定をさらに困難化することが可能となる。
また、第8の変形例に係るデータ処理システム1によれば、切替制御部13,23は、端子切替処理によってダミー端子を切り替える。このように、ダミー端子を固定するのではなく能動的に切り替えることにより、第三者による外部端子B,Cの機能特定をさらに困難化することが可能となる。
また、第8の変形例に係るデータ処理システム1によれば、切替制御部13,23は、ホスト装置2側のダミー端子とメモリ装置3側のダミー端子との間でダミーデータを送受信する。従って、ダミー端子とデータ端子との区別が困難となるため、第三者による外部端子B,Cの機能特定をさらに困難化することが可能となる。
なお、上述した第1〜第8の変形例は、必要に応じて適宜に組み合わせて適用することが可能である。