(57)【要約】 【課題】  本体からＤＲＡＭなどの半導体メモリが取り外され、半導体メモリに記憶されたデータが読み出されても、読み出されたデータが解読される危険性を少なくすることができるデータ転送システムを提供する。【解決手段】  スクランブラ２０は、ＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０から供給されるＷｒｉｔｅ  Ｂｕｓｙ／Ｒｅａｄｙ信号に同期してスクランブルデータを変更し、変更されたスクランブルデータに基づいてデータ転送経路の接続先の組み換えを行うことによって、ＷＲ  ＦｉＦｏ１０から受け取ったデータをスクランブルする。スクランブルされたデータは、そのデータがスクランブルされたときに用いられたスクランブルデータとともに、ＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０から出力されるＳＤＲＡＭ  Ｄａｔａ  Ｓｔｒｏｂｅに同期して、ＤＤＲ  ＳＤＲＡＭ４に書き込まれる。【選択図】      図１
2007183834.tif 000002
【特許請求の範囲】
【請求項１】
複数の第１の接続点を有する第１のデータ処理装置から複数の第２の接続点を有する第２のデータ処理装置へデータを転送するデータ転送システムであって、
複数の第１の接続点と複数の第２の接続点とを接続する複数のデータ転送経路と、
その複数のデータ転送経路の接続先の組み換えを行う組み換え手段と、
前記複数のデータ転送経路によって第１のデータ処理装置から第２のデータ処理装置へデータを転送する際、予め定める第１の時間が経過する度に、または予め定める第２の時間の整数倍の時間が経過する度に、組み換え手段によってデータ転送経路の接続先の組み換えを行わせる制御手段とを含むことを特徴とするデータ転送システム。
【請求項２】
前記第２のデータ処理装置は、転送されたデータを記憶する記憶手段であることを特徴とする請求項１に記載のデータ転送システム。
【請求項３】
前記制御手段は、断続するバースト転送によって前記記憶手段へのデータ転送を行い、隣接するバースト転送間の期間に、前記組み換え手段によってデータ転送経路の接続先の組み換えを行わせることを特徴とする請求項２に記載のデータ転送システム。
【請求項４】
組み換えが行われたデータ転送経路を特定するための組み換えデータを前記記憶手段に転送するための組み換えデータ転送経路をさらに含み、
前記組み換え手段は、組み換えを行うと、組み換えが行われたデータ転送経路の組み換えデータを生成し、
前記制御手段は、記憶手段へデータを転送する際、組み換え手段によって生成された組み換えデータを付加して転送することを特徴とする請求項２または３に記載のデータ転送システム。
【請求項５】
前記制御手段は、ＤＤＲ−ＳＤＲＡＭコントローラであり、
前記記憶手段は、ＤＤＲ−ＳＤＲＡＭであることを特徴とする請求項２〜４のいずれか１つに記載のデータ転送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリなどの装置にデータを転送するデータ転送システムに関する。
【背景技術】
【０００２】
画像の処理を行う画像処理装置に搭載された半導体メモリ、たとえばＤＲＡＭには、画像データが書き込まれる。ＤＲＡＭが装置本体から取り外された場合、ＤＲＡＭが不揮発性であればもちろん、揮発性であっても自然放電が完了するまでは、ＤＲＡＭに記憶されている画像データを読み出すことは可能である。
【０００３】
近年のセキュリティ向上の要求に答えるため、ＤＲＡＭなどの半導体メモリに記憶されたデータについても、半導体メモリから読み出されたデータを不正に利用することができないようにするための何らかの対策を施す必要がある。
【０００４】
たとえば、従来の技術として、外部へデータを暗号化して出力するマイクロコンピュータがある。このマイクロコンピュータは、外部とデータを入出力する入力部と、データを記憶するＲＡＭなどの記憶部およびデータの演算を行う演算部との間のバスラインを切り換えることによって、外部に出力されるデータに対してスクランブル処理を施し、出力されたデータの解読を困難にするものである（たとえば特許文献１参照）。
【０００５】
【特許文献１】特開平４−１４９６５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来の技術はデータバスラインの接続を切り換えることによって出力されるデータを暗号化するものであるが、データバスラインの接続の組み換えが、たとえば１つのタスクプログラム内では常に一定であるので、組み換え後の接続が知られると、データが解読されてしまう危険性が高いという問題がある。さらにＲＡＭなどの半導体メモリに記憶されるデータは暗号化されていないので、半導体メモリを本体から取り外せば、データは簡単に読み出されてしまうという問題がある。
【０００７】
本発明の目的は、解読される危険性を少なくしたデータを出力することができるデータ転送システムを提供することである。
【０００８】
さらに本発明の目的は、本体からＤＲＡＭなどの半導体メモリが取り外され、半導体メモリに記憶されたデータが読み出されても、読み出されたデータが解読される危険性を少なくすることができるデータ転送システムを提供することである。
【課題を解決するための手段】
【０００９】
本発明は、複数の第１の接続点を有する第１のデータ処理装置から複数の第２の接続点を有する第２のデータ処理装置へデータを転送するデータ転送システムであって、
複数の第１の接続点と複数の第２の接続点とを接続する複数のデータ転送経路と、
その複数のデータ転送経路の接続先の組み換えを行う組み換え手段と、
前記複数のデータ転送経路によって第１のデータ処理装置から第２のデータ処理装置へデータを転送する際、予め定める第１の時間が経過する度に、または予め定める第２の時間の整数倍の時間が経過する度に、組み換え手段によってデータ転送経路の接続先の組み換えを行わせる制御手段とを含むことを特徴とするデータ転送システムである。
【００１０】
本発明に従えば、複数の第１の接続点を有する第１のデータ処理装置から複数の第２の接続点を有する第２のデータ処理装置へデータを転送するにあたって、複数のデータ転送経路によって、複数の第１の接続点と複数の第２の接続点とが接続され、制御手段によって、前記複数のデータ転送経路によって第１のデータ処理装置から第２のデータ処理装置へデータを転送する際、予め定める第１の時間が経過する度に、または予め定める第２の時間の整数倍の時間が経過する度に、組み換え手段によってデータ転送経路の接続先の組み換えが行われる。
【００１１】
このように、第１のデータ処理装置の複数の第１の接続点と第２のデータ処理装置の複数の第２の接続点とを接続する複数のデータ転送経路によって、第１のデータ処理装置から第２のデータ処理装置へデータを転送する際、予め定める第１の時間が経過する度に、または予め定める第２の時間の整数倍の時間が経過する度に、組み換え手段によって複数のデータ転送経路の接続先を組み換えるので、出力されるデータは何度もスクランブルされ、解読される危険性を少なくしたデータを出力することができる。
【００１２】
また本発明は、前記第２のデータ処理装置は、転送されたデータを記憶する記憶手段であることを特徴とする。
【００１３】
本発明に従えば、第２のデータ処理装置は、転送されたデータを記憶するための記憶手段であるので、記憶手段に記憶されたデータは何度もスクランブルされており、本体から記憶手段たとえば半導体メモリが取り外され、半導体メモリに記憶されたデータが読み出されても、読み出されたデータが解読される危険性を少なくすることができる。
【００１４】
また本発明は、前記制御手段は、断続するバースト転送によって前記記憶手段へのデータ転送を行い、隣接するバースト転送間の期間に、前記組み換え手段によってデータ転送経路の接続先の組み換えを行わせることを特徴とする。
【００１５】
本発明に従えば、断続するバースト転送によって記憶手段へデータ転送を行う際、隣接するバースト転送間の期間に、データ転送経路の接続先の組み換えを行うので、データ転送速度を下げることなく記憶手段へのデータ転送を行うことができる。
【００１６】
また本発明は、組み換えが行われたデータ転送経路を特定するための組み換えデータを前記記憶手段に転送するための組み換えデータ転送経路をさらに含み、
前記組み換え手段は、組み換えを行うと、組み換えが行われたデータ転送経路の組み換えデータを生成し、
前記制御手段は、記憶手段へデータを転送する際、組み換え手段によって生成された組み換えデータを付加して転送することを特徴とする。
【００１７】
本発明に従えば、組み換えが行われたデータ転送経路を特定するための組み換えデータを、組み換えが行なわれたデータに付加して、記憶手段に転送するので、記憶手段に記憶されている組み換えデータに基づいて、組み換えが行われたときのデータ転送経路にしてデータを復元することができる。さらに組み換えデータは何度も変更され、しかも、組み換えデータから実際に組み換えを行なうためのスクランブルパタンへの変換テーブルが装置内にあるので、読み出されたデータが解読される危険性を少なくすることができる。
【００１８】
また本発明は、前記制御手段は、ＤＤＲ−ＳＤＲＡＭコントローラであり、
前記記憶手段は、ＤＤＲ−ＳＤＲＡＭであることを特徴とする。
【００１９】
本発明に従えば、制御手段は、ＤＤＲ−ＳＤＲＡＭコントローラであり、記憶手段は、ＤＤＲ−ＳＤＲＡＭであるので、高速にデータ転送することができる。
【発明の効果】
【００２０】
本発明によれば、出力されるデータは何度もスクランブルされ、解読される危険性を少なくしたデータを出力することができるので、出力するデータのセキュリティを向上することができる。
【００２１】
また本発明によれば、記憶手段に記憶されたデータは何度もスクランブルされており、本体から記憶手段たとえば半導体メモリが取り外され、半導体メモリに記憶されたデータが読み出されても、読み出されたデータが解読される危険性を少なくすることができるので、半導体メモリに記憶されたデータのセキュリティを向上することができる。
【００２２】
また本発明によれば、データ転送速度を下げることなく記憶手段へのデータ転送を行うことができるので、高速転送で記憶するデータに対してスクランブル処理を行うことができる。
【００２３】
また本発明によれば、組み換えデータは何度も変更され、しかも、組み換えデータから実際に組み換えを行なうためのスクランブルパタンへの変換テーブルが装置内にあるので、読み出されたデータが解読される危険性を少なくすることができるので、半導体メモリに記憶されたデータのセキュリティを向上することができる。
【００２４】
また本発明によれば、高速にデータ転送することができるので、高速転送で記憶するデータに対してスクランブル処理を行うことができる。
【発明を実施するための最良の形態】
【００２５】
図１は、本発明の実施の一形態であるデータ転送システム１の構成を示すブロック図である。データ転送システム１は、たとえば画像を形成する画像形成装置などの画像処理装置に搭載される回路であり、図１には、データ転送システム１に関連する他の回路、具体的には、ＬＳＩ（Large Scale Integration）２、ＢＵＳ  Ｉ／Ｆ３、およびＤＤＲ  ＳＤＲＡＭ（Double Data Rate Synchronous Dynamic Random Access Memory）４も示している。
【００２６】
データ転送システム１は、ＷＲ  ＦｉＦｏ（Write Fast In Fast Out）１０、スクランブラ２０、ＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ（Interface）３０、ＲＤ  ＦｉＦｏ（Read Fast
In Fast Out）４０、およびデスクランブラ５０を含む。データ転送システム１は、ＢＵＳ  Ｉ／Ｆ３とＤＤＲ  ＳＤＲＡＭ４とのデータ転送経路の接続先を組み換えることによって、ＤＤＲ  ＳＤＲＡＭ４へ書き込むデータに対してスクランブル処理を行い、さらにＤＤＲ  ＳＤＲＡＭ４から読み出されたデータに対して逆スクランブル処理を行う回路である。
【００２７】
データをＢＵＳ  Ｉ／Ｆ３からＤＤＲ  ＳＤＲＡＭ４へ転送するためのデータ転送経路は、ＷＲ  ＦｉＦｏ１０、スクランブラ２０、およびＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０を含んで構成され、ＢＵＳ  Ｉ／Ｆ３の各ビットの出力端子とＤＤＲ  ＳＤＲＡＭ４の各ビットの入力端子とを接続する。同様に、データをＤＤＲ  ＳＤＲＡＭ４からＢＵＳ  Ｉ／Ｆ３へ転送するためのデータ転送経路は、ＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０、ＲＤ  ＦｉＦｏ４０、およびデスクランブラ５０を含んで構成され、ＤＤＲ  ＳＤＲＡＭ４の各ビットの出力端子とＢＵＳ  Ｉ／Ｆ３の各ビットの入力端子とを接続する。
【００２８】
データ転送システム１は、スクランブル処理でＢＵＳ  Ｉ／Ｆ３から受け取ったデータをスクランブルするために用いたスクランブルデータを、スクランブルされたデータとともにＤＤＲ  ＳＤＲＡＭ４に書き込む。さらに逆スクランブル処理では、ＤＤＲ  ＳＤＲＡＭ４から読み出されたスクランブルデータに基づいて、ＤＤＲ  ＳＤＲＡＭ４から読み出されたスクランブルされたデータを逆スクランブルして、ＢＵＳ  Ｉ／Ｆ３に送る。
【００２９】
ＬＳＩ２は、たとえば画像処理装置を制御するＣＰＵ（Central Processing Unit）あるいは画像処理を行うＡＳＩＣ（Application Specific Integrated Circuit）などの集積回路であり、たとえばＲＧＢ（Red-Green-Blue）の３色を各８ビットで表す画像データ、つまり２４ビットのデータを、ＢＵＳ  Ｉ／Ｆ３とやり取りする。ＢＵＳ  Ｉ／Ｆ３は、たとえばＣＰＵと他の回路とのデータ転送を行うためのＣＰＵ  Ｉ／Ｆであり、ＬＳＩ２から受け取ったデータをデータ転送システム１のＷＲ  ＦｉＦｏ１０に転送し、データ転送システム１のＲＤ  ＦｉＦｏ５０から受け取ったデータをＬＳＩ２に転送する。
【００３０】
ＤＤＲ  ＳＤＲＡＭ４は、データを記憶するための記憶装置であり、たとえば半導体メモリであるＤＤＲ  ＳＤＲＡＭによって構成され、３２ビット幅のデータを記憶する。図１には、ＤＤＲ  ＳＤＲＡＭを用いた実施例を示したが、ＤＤＲ  ＳＤＲＡＭに限定されるものではなく、たとえばＳＤＲ  ＳＤＲＡＭ（Single Data Rate SDRAM）を用いてもよいし、ＨＤＤ（Hard Disk Drive）などの他の記憶装置であってもよい。データ幅３２ビットは、画像データ２４ビットとスクランブルデータ８ビットとからなる。データのビット数は２４ビット、およびスクランブルデータのビット数は８ビットに限定されるものではなく、処理するデータの種類に応じて増減してもよい。
【００３１】
ＷＲ  ＦｉＦｏ１０は、ＬＳＩ２側のデータ転送速度からＤＤＲ  ＳＤＲＡＭ４側のデータ転送速度への速度変換を行なうためのバッファメモリであり、ＲＡＭ（Random
Access Memory）などの半導体メモリによって構成される。ＷＲ  ＦｉＦｏ１０は、ＢＵＳ  Ｉ／Ｆ３からのデータをＬＳＩ２側のクロックであるＬＳＩ  ＢＵＳ  Ｃｌｏｃｋに同期して書き込み、ＤＤＲ  ＳＤＲＡＭ４側のクロックであるＳＤＲＡＭ  Ｃｌｏｃｋに同期してデータを読み出し、スクランブラ２０に送る。
【００３２】
スクランブラ２０は、ＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０から供給されるＷｒｉｔｅ  Ｂｕｓｙ／Ｒｅａｄｙ信号に同期してスクランブルデータを変更し、変更されたスクランブルデータに基づいてデータ転送経路の接続先つまりデータバスの接続先の組み換えを行うことによって、ＷＲ  ＦｉＦｏ１０から受け取ったデータをスクランブルする。スクランブルされたスクランブル後データは、そのデータがスクランブルされたときに用いられたスクランブルデータとともに、ＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０に送られる。
【００３３】
ＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０は、ＤＤＲ  ＳＤＲＡＭ４へのデータの書き込みおよびＤＤＲ  ＳＤＲＡＭ４からのデータの読み出しを行うためのＤＤＲ  ＳＤＲＡＭコントローラによって構成される。ＤＤＲ  ＳＤＲＡＭ４へのデータの書き込み時、スクランブラ２０から受け取ったスクランブル後データおよびスクランブルデータを、ＳＤＲＡＭ  Ｄａｔａ  Ｓｔｒｏｂｅ信号に同期させて、ＤＤＲ  ＳＤＲＡＭ４に書き込む。さらに、ＤＤＲ  ＳＤＲＡＭ４からのデータの読み出し時、ＳＤＲＡＭ  Ｄａｔａ  Ｓｔｒｏｂｅ信号に同期して、スクランブル後データおよびスクランブルデータをＤＤＲ  ＳＤＲＡＭ４から読み出して、ＲＤ  ＦｉＦｏ４０へ送る。
【００３４】
ＲＤ  ＦｉＦｏ４０は、ＤＤＲ  ＳＤＲＡＭ４側のデータ転送速度からＬＳＩ２側のデータ転送速度への速度変換を行なうためのバッファメモリであり、ＲＡＭなどの半導体メモリによって構成される。ＲＤ  ＦｉＦｏ４０は、ＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０から受け取ったスクランブル後データおよびスクランブルデータをＳＤＲＡＭ  Ｃｌｏｃｋに同期して書き込み、ＬＳＩ  ＢＵＳ  Ｃｌｏｃｋに同期してデータを読み出し、ＢＵＳ  Ｉ／Ｆ３に送る。
【００３５】
デスクランブラ５０は、ＲＤ  ＦｉＦｏ４０から受け取ったスクランブルデータに基づいて、ＲＤ  ＦｉＦｏ４０から受け取ったスクランブル後データを逆スクランブルする。逆スクランブルされたデータは、ＢＵＳ  Ｉ／Ｆ３へ送られる。
【００３６】
図１に示したデータ転送システム１では、スクランブラ２０をＷＲ  ＦｉＦｏ１０とＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０との間に配置している。これは、スクランブルデータの変更をバースト転送と次のバースト転送との間で行う必要があり、ＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０から出力されるＷｒｔｅ  Ｂｕｓｙ／Ｒｅａｄｙ信号に同期してスクランブルデータの変更を行うためである。デスクランブラ５０は、ＲＤ  ＦｉＦｏ４０の直後に配置している。これは、ＲＤ  ＦｉＦｏ４０の出力側のデータ転送速度が、ＲＤ  ＦｉＦｏ４０の入力側のデータ転送速度よりも遅いので、デスクランブラ５０の遅延に対する許容範囲および余裕度を大きくするためである。デスクランブラ５０を高速ロジックで構成する場合は、ＲＤ  ＦｉＦｏ４０の入力側、すなわちＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０とＲＤ  ＦｉＦｏ４０との間に配置してもよい。
【００３７】
図２は、図１に示したスクランブラ２０の構成を示すブロック図およびスクランブル変換テーブルを示す。図２（ａ）は、スクランブラ２０の構成を示すブロック図である。スクランブラ２０は、乱数発生器２１、ＷＲデータテーブル選択器２２、ＷＲデータ組み換え器２３、および合成器２４を含む。
【００３８】
乱数発生器２１は、ｎビットの乱数ｉを発生する回路であり、乱数カウンタなどによって構成してもよく、出力を不規則に変化させることができるものであれば他のもので構成してもよい。乱数ｉは、０〜２ｎ−１の整数のうちのいずれかの整数である。乱数発生器２１は、ＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０から出力されるＷｒｉｔｅ  Ｂｕｓｙ／Ｒｅａｄｙ信号に同期して、乱数ｉを発生し、スクランブルデータとして、ＷＲデータテーブル選択器２２および合成器２４に送る。Ｗｒｉｔｅ  Ｂｕｓｙ／Ｒｅａｄｙ信号は、ＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０からＤＤＲ  ＳＤＲＡＭ４に出力されるＳＤＲＡＭ  Ｄａｔａ  Ｓｔｒｏｂｅ信号が出力される期間Ｂｕｓｙ状態となり、その他の期間はＲｅａｄｙ状態となる。乱数ｉの発生は、Ｗｒｉｔｅ  Ｂｕｓｙ／Ｒｅａｄｙ信号がＢｕｓｙ状態からＲｅａｄｙ状態に変化したときに行われる。
【００３９】
ＷＲデータテーブル選択器２２は、乱数発生器２１から受け取ったスクランブルデータｉに対応するスクランブルパタンＡｉを、図２（ｂ）に示すスクランブル変換テーブルから選択し、選択したスクランブルパタンＡｉをＷＲデータ組み換え器２３に送る。
【００４０】
ＷＲデータ組み換え器２３は、ＷＲデータテーブル選択器２２から受け取ったスクランブルパタンＡｉに基づいて、データバスの組み換えを行い、ＷＲ  ＦｉＦｏ１０から受け取ったデータＤをスクランブルする。スクランブルされたスクランブル後データＤ´は、合成器２４に送られる。
【００４１】
合成器２４は、ＷＲデータ組み換え器２３から受け取った２４ビットのスクランブル後データと、乱数発生器２１から受け取った８ビットのスクランブルデータとをまとめて、３２ビットのスクランブラ出力データとして出力する。スクランブラ出力データは、ＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０に送られる。
【００４２】
図２（ｂ）は、図２（ａ）に示したＷＲデータテーブル選択器２２で用いられるスクランブル変換テーブルを示す。テーブル左側の入力ｉは、スクランブルデータつまり乱数発生器２１の出力である。スクランブルデータは、０〜ｍの範囲の整数であり、スクランブルデータのビット数がｎビットであるので、ｍ＝２ｎ−１である。テーブル右側の出力であるテーブル行列Ａｉは、ｋ行ｋ列の行列からなるスクランブルパタンであり、Ａ０〜Ａｍのｍ個の行列がある。ｋは、ＷＲ  ＦｉＦｏ出力データＤのビット数である。ａｊをｊ番目の要素が「１」で、他の要素がすべて「０」である１行ｋ列の行列とすると、テーブル行列Ａｉは、（１）式で表される。ｊは、１〜ｋの整数である。
【００４３】
【数１】
2007183834.tif 000003
【００４４】
ここに、ｌ１〜ｌｋは、１〜ｋの整数を任意の順番で並び換えた整数である。すなわち行列ａ１〜行列ａｋを並び換えている。この順番は、固定する必要はなく、順番を並び換えるための回路を追加して、並び換えを可能にしてもよい。あるいは、装置の電源が投入される度に、新たに順番を並び換えてもよい。
【００４５】
ＷＲデータ組み換え器２３の出力であるスクランブル後データＤ´は、（２）式で表される。
【００４６】
【数２】
2007183834.tif 000004
【００４７】
ここに、ＷＲ  ＦｉＦｏ出力データＤおよびスクランブル後データＤ´は、それぞれｋビットのデータＤ０〜ＤｋおよびｋビットのデータＤ´０〜Ｄ´ｋの行列で表わされている。図２（ａ）に示した例では、画像データが２４ビットおよびスクランブルデータが８ビットであるので、ｋ＝２４およびｎ＝８である。
【００４８】
図３は、図１に示したデスクランブラ５０の構成を示すブロック図およびスクランブル逆変換テーブルを示す。図３（ａ）は、デスクランブラ５０の構成を示すブロック図である。デスクランブラ５０は、分離器５１、ＲＤデータテーブル選択器５２、およびＲＤデータ組み換え器５３を含む。
【００４９】
分離器５１は、ＲＤ  ＦｉＦｏ４０から受け取ったＲＤ  ＦｉＦｏ出力データ３２ビットを、スクランブル後データ２４ビットおよびスクランブルデータ８ビットに分離し、スクランブル後データ２４ビットをＲＤデータ組み換え器５３に送り、スクランブルデータ８ビットをＲＤデータテーブル選択器５２に送る。
【００５０】
ＲＤデータテーブル選択器５２は、分離器５１から受け取ったスクランブルデータｉに対応するデスクランブルパタンＡｉＴを、図３（ｂ）に示すスクランブル逆変換テーブルから選択し、選択したデスクランブルパタンＡｉＴをＲＤデータ組み換え器５３に送る。
【００５１】
ＲＤデータ組み換え器５３は、ＲＤデータテーブル選択器５２から受け取ったデスクランブルパタンＡｉＴに基づいて、データバスの組み換えを行い、分離器５１から受け取ったスクランブル後データＤ´を逆スクランブルする。逆スクランブルされたデスクランブラ出力データＤは、ＢＵＳ  Ｉ／Ｆ３に送られる。
【００５２】
図３（ｂ）は、図３（ａ）に示したＲＤデータテーブル選択器５２で用いられるスクランブル逆変換テーブルを示す。テーブル左側の入力ｉは、分離器５１から受け取ったスクランブルデータである。スクランブルデータは、０〜ｍの範囲の整数であり、スクランブルデータのビット数がｎビットであるので、ｍ＝２ｎ−１である。テーブル右側の出力であるテーブル行列ＡｉＴは、ｋ行ｋ列の行列からなるデスクランブルパタンであり、Ａ０Ｔ〜ＡｍＴのｍ個の行列がある。ｋは、スクランブル後データＤ´のビット数である。テーブル行列ＡｉＴは、テーブル行列Ａｉの転置行列であり、（３）式の関係がある。
【００５３】
【数３】
2007183834.tif 000005
【００５４】
つまり、ＡｉＴＡｉ＝Ｉである。ここに、Ｉは単位行列である。テーブル行列Ａｉは、たとえば（４）式で示される行列であり、テーブル行列ＡｉＴは、たとえば（５）式で示される行列である。
【００５５】
【数４】
2007183834.tif 000006
【００５６】
【数５】
2007183834.tif 000007
【００５７】
ＲＤデータ組み換え器５３の出力であるデスクランブラ出力データＤは、（６）式で表される。
【００５８】
【数６】
2007183834.tif 000008
【００５９】
図４は、図２に示したＷＲデータ組み換え器２３の構成を示す回路である。図４（ａ）は、ＷＲデータ組み換え器２３の出力であるスクランブル後データＤ´のビット０のデータＤ´０を出力するための回路である。
【００６０】
ＷＲ  ＦｉＦｏ１０から出力されたＷＲ  ＦｉＦｏ出力データＤの各ビットＤ０〜Ｄｋ−１について、それぞれゲート２３ａ０〜ゲート２３ａｋ−１が設けられている。ゲート２３ａ０〜ゲート２３ａｋ−１の出力は、結合されてビット０の出力Ｄ´０となる。ゲート２３ａ０〜ゲート２３ａｋ−１には、それぞれＷＲデータテーブル選択器２２の出力であるスクランブルパタンＡｉつまり（１）式で示したスクランブルパタンＡｉのうちのａｌ１の各値を入力する信号がゲート制御信号として入力されている。行列ａｌ１の第１列の値がゲート２３ａ０へ、行列ａｌ１の第２列の値がゲート２３ａ１へと、行列ａｌ１の各列の値が順次次のゲートに入力され、行列ａｌ１の最後の列つまり第ｋ列の値がゲート２３ａｋ−１へ入力される。行列ａｌ１は、１つの要素が「１」で、他の要素がすべて「０」であるので、ゲート２３ａ０〜ゲート２３ａｋ−１のうちの１つのゲートのみが有効になり、有効になったゲートへ入力されたデータが、ビット０のデータＤ´０として出力される。
【００６１】
図４（ｂ）は、ＷＲデータ組み換え器２３の出力であるスクランブル後データＤ´のビットｘのデータＤ´ｘを出力するための回路である。図４（ａ）は、ビット０についての回路であったが、図４（ｂ）は、ビットを特定せずにビットｘとして一般化したものである。ＷＲ  ＦｉＦｏ１０からの出力されたＷＲ  ＦｉＦｏ出力データＤの各ビットＤ０〜Ｄｋ−１について、それぞれゲート２３ｘ０〜ゲート２３ｘｋ−１が設けられ、ゲート２３ｘ０〜ゲート２３ｘｋ−１には、それぞれＷＲデータテーブル選択器２２の出力であるスクランブルパタンＡｉのうちのａｌｘ＋１の各値を入力する信号がゲート制御信号として入力されている。ここに、ｘは、０〜ｋ−１の整数である。行列ａｌｘ＋１は、１つの要素が「１」で、他の要素がすべて「０」であるので、ゲート２３ｘ０〜ゲート２３ｘｋ−１のうちの１つのゲートのみが有効になり、有効になったゲートへ入力されたデータが、ビットｘのデータＤ´ｘとして出力される。
【００６２】
図３に示したＲＤデータ組み換え器５３の構成の回路は、図４に示したＷＲデータ組み換え器２３の構成の回路と基本的な構成は同じであるが、入力が、ＲＤ  ＦｉＦｏ出力データ３２ビットのデータのうちのスクランブル後データ２４ビットのデータＤ´０〜Ｄ´ｋ−１となり、ゲート２３ｘ０〜ゲート２３ｘｋ−１へ入力されるゲート制御信号は、ＲＤデータテーブル選択器５２の出力であるデスクランブルパタンＡｉＴの各行のうち上から（ｘ＋１）番目の行の各列の値を入力する信号である。ゲート２３ｘ０〜ゲート２３ｘｋ−１のうちの有効な１つのゲートの出力がビットｘの出力Ｄｘとなる。
【００６３】
図５は、図１に示したＤＤＲ  ＳＤＲＡＭ４へデータを書き込むタイムチャートである。このタイムチャートは、ＷＲ  ＦｉＦｏ１０へデータを書き込み、書き込まれたデータをＷＲ  ＦｉＦｏ１０から読み出してスクランブル処理を行った後、ＤＤＲ  ＳＤＲＡＭ４へ書込むまでのタイムチャートである。
【００６４】
ＷＲ  ＦｉＦｏ入力データつまりＢＵＳ  Ｉ／Ｆ３からの出力データは、ＷＲ  ＦｉＦｏ  Ｗｒｉｔｅ  Ｃｌｏｃｋつまり図１に示したＬＳＩ  ＢＵＳ  Ｃｌｏｃｃｋの立ち上がり時に、ＷＲ  ＦｉＦｏ１０に書き込まれる。
【００６５】
ＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０から出力されるＷｒｉｔｅ  Ｂｕｓｙ／Ｒｅａｄｙ信号は、ＨｉｇｈレベルのときにＢｕｓｙ状態であり、ＬｏｗレベルのときにＲｅａｄｙ状態である。Ｂｕｓｙ状態からＲｅａｄｙ状態へ変化したときつまりＷｒｉｔｅ  Ｂｕｓｙ／Ｒｅａｄｙ信号の立ち下り時、乱数発生器２１で乱数つまりスクランブルデータが発生され、ＷＲデータテーブル選択器２２から出力されるスクランブルパタンＡｉが変化する。図５には、スクランブルパタンＡｘからスクランブルパタンＡｙへの更新と、スクランブルパタンＡｙからスクランブルパタンＡｚへの更新とが示されている。
【００６６】
ＷＲ  ＦｉＦｏ１０からのデータの読み出しを許可するＷＲ  ＦｉＦｏ  Ｒｅａｄ  Ｅｎａｂｌｅ信号がＨｉｇｈレベルの状態のとき、ＷＲ  ＦｉＦｏ１０からのデータの読み出しが可能である。ＷＲ  ＦｉＦｏ  Ｒｅａｄ  Ｅｎａｂｌｅ信号がＨｉｇｈレベルの状態の期間、ＷＲ  ＦｉＦｏ  Ｒｅａｄ  Ｃｌｏｃｋつまり図１に示したＳＤＲＡＭ  Ｃｌｏｃｋの立ち上がり時に、ＷＲ  ＦｉＦｏ１０に記憶されているデータが読み出される。読み出されたデータは、ＷＲデータ組み換え器２３でスクランブルされ、スクランブルデータと合成されてスクランブラ出力データとして出力され、ＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０へ送られる。この例では、スクランブルパタンがＡｙでのスクランブラ出力データおよびスクランブルパタンがＡｚでのスクランブラ出力データが示されている。
【００６７】
スクランブラ出力データは、ＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０で一時保留され、ＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０から出力されるＳＤＲＡＭ  Ｄａｔａ  Ｓｔｒｏｂｅ信号が変化するとき、つまり立ち上がり時および立ち下がり時、ＳＤＲＡＭ入力データとして、ＤＤＲ  ＳＤＲＡＭ４に、バースト転送で書き込まれる。この例では、バースト長が４の場合の例を示しており、スクランブルパタンがＡｘでのデータの書き込みおよびスクランブルパタンがＡｙでのデータの書き込みが示されている。
【００６８】
Ｗｒｉｔｅ  Ｂｕｓｙ／Ｒｅａｄｙ信号がＢｕｓｙ状態からＲｅａｄｙ状態へ変化するのは、バースト転送と次のバースト転送との間の期間である。図５に示した実施の形態では、Ｗｒｉｔｅ  Ｂｕｓｙ／Ｒｅａｄｙ信号がＢｕｓｙ状態からＲｅａｄｙ状態へ変化する度に、つまり予め定める時間が経過する度に、スクランブルパタンを変更しているが、必ずしもＷｒｉｔｅ  Ｂｕｓｙ／Ｒｅａｄｙ信号がＢｕｓｙ状態からＲｅａｄｙ状態へ変化するすべてのタイミングで変更する必要はなく、たとえばＷｒｉｔｅ  Ｂｕｓｙ／Ｒｅａｄｙ信号がＢｕｓｙ状態からＲｅａｄｙ状態へ変化するタイミングのうち、予め定める不規則なタイミングだけで変更してもよい。すなわち、予め定める時間の整数倍の時間が経過する度にスクランブルパタンを変更してもよい。たとえば予め定める時間をＴｓとすると、４Ｔｓ、２Ｔｓ、３Ｔｓ、５Ｔｓ、Ｔｓ、・・・のように、整数倍の値を不規則に変化させたタイミングで、スクランブルパタンを変更する。
【００６９】
図６は、図１に示したＤＤＲ  ＳＤＲＡＭ４からデータを読み出すタイムチャートである。このタイムチャートは、ＤＤＲ  ＳＤＲＡＭ４からデータを読み出してＲＤ  ＦｉＦｏ４０に書き込み、書き込まれたデータをＲＤ  ＦｉＦｏ４０から読み出して、逆スクランブル処理を行うまでのタイムチャートである。
【００７０】
ＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０から出力されるＳＤＲＡＭ  Ｄａｔａ  Ｓｔｒｏｂｅ信号が変化するとき、つまり立ち上がり時および立ち下がり時、ＤＤＲ  ＳＤＲＡＭ４に記憶されているデータが読み出され、読み出されたＳＤＲＡＭ出力データは、バースト転送でＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０に送られる。この例では、バースト長が４の場合の例を示しており、スクランブルパタンＡｘで書き込まれたデータおよびスクランブルパタンＡｙで書き込まれたデータの読み込みが示されている。
【００７１】
ＳＤＲＡＭ出力データは、ＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ３０で一時保留され、ＲＤ  ＦｉＦｏ  Ｗｒｉｔｅ  Ｅｎａｂｌｅ信号が出ている期間に、ＲＤ  ＦｉＦｏ  Ｗｒｉｔｅ  Ｃｌｏｃｋつまり図１に示したＳＤＲＡＭ  Ｃｌｏｃｋの立ち上がり時に、ＲＤ  ＦｉＦｏ入力データとしてＲＤ  ＦｉＦｏ４０へ書き込まれる。
【００７２】
ＲＤ  ＦｉＦｏ  Ｒｅａｄ  Ｃｌｏｃｋつまり図１に示したＬＳＩ  ＢＵＳ  Ｃｌｏｃｋの立ち上がり時に、ＲＤ  ＦｉＦｏ４０から読み出されたＲＤ  ＦｉＦｏ出力データは、デスクランブラ５０に入力され、逆スクランブル処理が行われて、デスクランブラ出力データとして出力される。デスクランブラ出力データは、ＢＵＳ  Ｉ／Ｆ３に送られる。
【００７３】
このように、第１のデータ処理装置の複数の第１の接続点たとえばＬＳＩ２およびＢＵＳ  Ｉ／Ｆ３の各ビットの出力端子と、第２のデータ処理装置の複数の第２の接続点たとえばＤＤＲ  ＳＤＲＡＭ４の各ビットの入力端子とを接続する複数のデータ転送経路によって、第１のデータ処理装置から第２のデータ処理装置へデータを転送する際、予め定める第１の時間が経過する度に、または予め定める第２の時間の整数倍の時間が経過する度に、すなわちＷｒｉｔｅ  Ｂｕｓｙ／Ｒｅａｄｙ信号に同期して、組み換え手段であるスクランブラ２０によって複数のデータ転送経路の接続先を組み換えるので、出力されるデータは何度もスクランブルされ、解読される危険性を少なくしたデータを出力することができる。したがって、出力するデータのセキュリティを向上することができる。
【００７４】
さらに、第２のデータ処理装置は、転送されたデータを記憶するための記憶手段であるので、記憶手段に記憶されたデータは何度もスクランブルされており、本体から記憶手段たとえば半導体メモリが取り外され、半導体メモリに記憶されたデータが読み出されても、読み出されたデータが解読される危険性を少なくすることができる。したがって、半導体メモリに記憶されたデータのセキュリティを向上することができる。
【００７５】
さらにまた、断続するバースト転送によって記憶手段へデータ転送を行う際、隣接するバースト転送間の期間に、データ転送経路の接続先の組み換えを行うので、データ転送速度を下げることなく記憶手段へのデータ転送を行うことができる。したがって、高速転送で記憶するデータに対してスクランブル処理を行うことができる。
【００７６】
さらに、組み換えが行われたデータ転送経路を特定するための組み換えデータであるスクランブルデータを、組み換えが行なわれたデータに付加して、記憶手段に転送するので、記憶手段に記憶されている組み換えデータに基づいて、組み換えが行われたときのデータ転送経路にしてデータを復元することができる。さらに組み換えデータは何度も変更され、しかも、組み換えデータから実際に組み換えを行なうためのスクランブルパタンへの変換テーブルが装置内にあるので、読み出されたデータが解読される危険性を少なくすることができる。したがって、半導体メモリに記憶されたデータのセキュリティを向上することができる。
【００７７】
さらにまた、制御手段は、ＤＤＲ−ＳＤＲＡＭコントローラであり、記憶手段は、ＤＤＲ−ＳＤＲＡＭであるので、高速にデータ転送することができる。したがって、高速転送で記憶するデータに対してスクランブル処理を行うことができる。
【図面の簡単な説明】
【００７８】
【図１】本発明の実施の一形態であるデータ転送システム１の構成を示すブロック図である。
【図２】図１に示したスクランブラ２０の構成を示すブロック図およびスクランブル変換テーブルを示す。
【図３】図１に示したデスクランブラ５０の構成を示すブロック図およびスクランブル逆変換テーブルを示す。
【図４】図２に示したＷＲデータ組み換え器２３の構成を示す回路である。
【図５】図１に示したＤＤＲ  ＳＤＲＡＭ４へデータを書き込むタイムチャートである。
【図６】図１に示したＤＤＲ  ＳＤＲＡＭ４からデータを読み出すタイムチャートである。
【符号の説明】
【００７９】
１  データ転送システム
２  ＬＳＩ
３  ＢＵＳ  Ｉ／Ｆ
４  ＤＤＲ  ＳＤＲＡＭ
１０  ＷＲ  ＦｉＦｏ
２０  スクランブラ
２１  乱数発生器
２２  ＷＲデータテーブル選択器
２３  ＷＲデータ組み換え器
２４  合成器
３０  ＤＤＲ  ＳＤＲＡＭ  Ｉ／Ｆ
４０  ＲＤ  ＦｉＦｏ
５０  デスクランブラ
５１  分離器
５２  ＲＤデータテーブル選択器
５３  ＲＤデータ組み換え器
【図１】
2007183834.tif 000009
【図２】
2007183834.tif 000010
【図３】
2007183834.tif 000011
【図４】
2007183834.tif 000012
【図５】
2007183834.tif 000013
【図６】
2007183834.tif 000014