(57)【要約】【課題】データ処理装置を提供する。【解決手段】データ処理装置は、直列接続された複数のシフトレジスタを含む擬似乱数発生器と、複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか１つから出力される擬似乱数シーケンスを受信し、該受信された擬似乱数シーケンスを用いて第１データを第２データに変換する変換回路と、を含む。【選択図】図８
2013016173.tif 000002
【特許請求の範囲】
【請求項１】
直列接続された複数のシフトレジスタ（ｓｈｉｆｔ  ｒｅｇｉｓｔｅｒｓ）を含む擬似乱数発生器と、
前記複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか１つから出力される擬似乱数シーケンスを受信し、該受信された擬似乱数シーケンス（ｓｅｑｕｅｎｃｅ）を用いて第１データを第２データに変換する変換回路と、
を含むデータ処理装置。
【請求項２】
前記擬似乱数発生器は、前記第１データまたは前記第２データのメモリアクセスパラメータ（ｍｅｍｏｒｙ  ａｃｃｅｓｓ  ｐａｒａｍｅｔｅｒ）によって、前記擬似乱数発生器のフィードバック多項式（ｆｅｅｄｂａｃｋ  ｐｏｌｙｎｏｍｉａｌ）を決定するフィードバック多項式決定器を含む請求項１に記載のデータ処理装置。
【請求項３】
前記変換は、ランダマイズされた（ｒａｎｄｏｍｉｚｅｄ）前記第２データを得るために、前記第１データをランダマイズ（ｒａｎｄｏｍｉｚｉｎｇ）することを含み、前記変換回路は、前記第１データと前記擬似乱数シーケンスとに対してモジュロ加算演算（ｍｏｄｕｌｏ  ａｄｄｉｔｉｏｎ  ｏｐｅｒａｔｉｏｎ）を行う請求項２に記載のデータ処理装置。
【請求項４】
前記変換は、デランダマイズされた（ｄｅ−ｒａｎｄｏｍｉｚｅｄ）前記第２データを得るために、前記第１データをデランダマイズ（ｄｅ−ｒａｎｄｏｍｉｚｉｎｇ）することを含み、前記変換回路は、前記第１データと前記擬似乱数シーケンスとに対してモジュロ減算演算（ｍｏｄｕｌｏ  ｓｕｂｔｒａｃｔｉｏｎ  ｏｐｅｒａｔｉｏｎ）を行う請求項２に記載のデータ処理装置。
【請求項５】
前記擬似乱数発生器は、複数のブール論理ゲート（Ｂｏｏｌｅａｎ  ｌｏｇｉｃ  ｇａｔｅｓ）を含み、前記第１データまたは前記第２データのメモリアクセスパラメータによって、前記擬似乱数シーケンスに相応する論理出力を決定する論理ゲートアレイ（ｌｏｇｉｃ  ｇａｔｅ  ａｒｒａｙ）を含む請求項１に記載のデータ処理装置。
【請求項６】
前記メモリアクセスパラメータは、ワードラインアドレス（ｗｏｒｄ  ｌｉｎｅ  ａｄｄｒｅｓｓ）またはビットラインアドレス（ｂｉｔ  ｌｉｎｅ  ａｄｄｒｅｓｓ）である請求項２に記載のデータ処理装置。
【請求項７】
前記メモリアクセスパラメータの前記メモリが、複数のページ（ｐａｇｅｓ）を含むブロック（ｂｌｏｃｋ）を含むフラッシュメモリ（ｆｌａｓｈ  ｍｅｍｏｒｙ）である時、
前記メモリアクセスパラメータは、ブロックアドレス（ｂｌｏｃｋ  ａｄｄｒｅｓｓ）、ページアドレス（ｐａｇｅ  ａｄｄｒｅｓｓ）、ワードラインアドレス、ビットラインアドレス、前記メモリのチップＩＤ（ｃｈｉｐ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）、プログラム回数（ｐｒｏｇｒａｍ  ｃｏｕｎｔ）、及びイレーズ回数（ｅｒａｓｅ  ｃｏｕｎｔ）のうちの少なくとも１つである請求項２に記載のデータ処理装置。
【請求項８】
前記擬似乱数発生器は、フィボナッチ線形フィードバック（Ｆｉｂｏｎａｃｃｉ  ｌｉｎｅａｒ  ｆｅｅｄｂａｃｋ）擬似乱数発生器、ガロア（Ｇａｌｏｉｓ）線形フィードバック擬似乱数発生器、フィボナッチ非線形フィードバック擬似乱数発生器、及びガロア非線形フィードバック擬似乱数発生器のうちの何れか１つである請求項２に記載のデータ処理装置。
【請求項９】
直列接続された複数のシフトレジスタを含む擬似乱数発生器と、
前記複数のシフトレジスタのうちの少なくとも２つのシフトレジスタの出力信号を組み合わせる組み合わせ回路と、
前記組み合わせ回路から出力された擬似乱数シーケンスを受信し、該受信された擬似乱数シーケンスを用いて第１データを第２データに変換する変換回路と、
を含むデータ処理装置。
【請求項１０】
前記擬似乱数発生器は、前記第１データまたは前記第２データのメモリアクセスパラメータによって、前記擬似乱数発生器のフィードバック多項式を決定するフィードバック多項式決定器を含む請求項９に記載のデータ処理装置。
【請求項１１】
前記変換は、ランダマイズされた前記第２データを得るために、前記第１データをランダマイズすることを含み、前記変換回路は、前記第１データと前記擬似乱数シーケンスとに対してモジュロ加算演算を行う請求項１０に記載のデータ処理装置。
【請求項１２】
前記変換は、デランダマイズされた前記第２データを得るために、前記第１データをデランダマイズすることを含み、前記変換回路は、前記第１データと前記擬似乱数シーケンスとに対してモジュロ減算演算を行う請求項１０に記載のデータ処理装置。
【請求項１３】
前記擬似乱数発生器は、複数のブール論理ゲートを含み、前記第１データまたは前記第２データのメモリアクセスパラメータによって、前記擬似乱数シーケンスに相応する論理出力を決定する論理ゲートアレイを含む請求項９に記載のデータ処理装置。
【請求項１４】
前記組み合わせ回路は、前記第１データまたは前記第２データのメモリアクセスパラメータによって、前記複数のシフトレジスタのうち、前記少なくとも２つのシフトレジスタの出力信号を選択的に組み合わせる請求項９に記載のデータ処理装置。
【請求項１５】
前記組み合わせ回路は、前記第１データまたは前記第２データのメモリアクセスパラメータによって、前記少なくとも２つのシフトレジスタの出力信号を組み合わせるための第１動作と第２動作とのうちの少なくとも１つを選択し、
前記第１動作は、モジュロ−Ｐ加算（Ｍｏｄｕｌｏ−Ｐ  ａｄｄｉｔｉｏｎ）であり、前記第２動作は、モジュロ−Ｐ乗算（Ｍｏｄｕｌｏ−Ｐ  ｍｕｌｔｉｐｌｉｃａｔｉｏｎ）であり、Ｐは、２以上の自然数である請求項９に記載のデータ処理装置。
【請求項１６】
前記メモリアクセスパラメータは、ワードラインアドレスまたはビットラインアドレスである請求項１０に記載のデータ処理装置。
【請求項１７】
前記メモリアクセスパラメータの前記メモリが、複数のページを含むブロックを含むフラッシュメモリである時、
前記メモリアクセスパラメータは、ブロックアドレス、ページアドレス、ワードラインアドレス、ビットラインアドレス、前記メモリのチップＩＤ、プログラム回数、及びイレーズ回数のうちの少なくとも１つである請求項１０に記載のデータ処理装置。
【請求項１８】
メモリと、
直列接続された複数のシフトレジスタを含む擬似乱数発生器と、
前記複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか１つから出力される擬似乱数シーケンスを用いて、前記メモリに保存される第２データを得るために、第１データをランダマイズするランダマイザーと、
デランダマイズされた第４データを得るために、前記メモリから出力された第３データを前記擬似乱数シーケンスを用いてデランダマイズするデランダマイザーと、
を含むデータ処理装置。
【請求項１９】
前記擬似乱数発生器は、前記第２データと前記第３データのそれぞれのメモリアクセスパラメータによって、前記擬似乱数発生器のフィードバック多項式を決定するフィードバック多項式決定器を含む請求項１８に記載のデータ処理装置。
【請求項２０】
メモリと、
直列接続された複数のシフトレジスタを含む擬似乱数発生器と、
前記複数のシフトレジスタのうちの少なくとも２つのシフトレジスタの出力信号を組み合わせる組み合わせ回路と、
前記組み合わせ回路から出力された擬似乱数シーケンスを用いて、前記メモリに保存される第２データを得るために、第１データをランダマイズするランダマイザーと、
デランダマイズされた第４データを得るために、前記メモリから出力された第３データを前記擬似乱数シーケンスを用いてデランダマイズするデランダマイザーと、
を含むデータ処理装置。
【請求項２１】
前記組み合わせ回路は、前記第２データと前記第３データのそれぞれのメモリアクセスパラメータによって、前記少なくとも２つのシフトレジスタの出力信号を組み合わせるための第１動作と第２動作とのうちの少なくとも１つを選択し、
前記第１動作は、モジュロ−Ｐ加算であり、前記第２動作は、モジュロ−Ｐ乗算であり、Ｐは、２以上の自然数である請求項２０に記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、データ処理技術に係り、特に、擬似乱数シーケンス（ｐｓｅｕｄｏｒａｎｄｏｍ  ｎｕｍｂｅｒ  ｓｅｑｕｅｎｃｅ）を発生する新たな構造のデータ処理装置とその動作方法とに関する。
【背景技術】
【０００２】
擬似乱数シーケンス（ｐｓｅｕｄｏ  ｒａｎｄｏｍ  ｎｕｍｂｅｒ  ｓｅｑｕｅｎｃｅｓ）は、通信システムとデータ保存システムとを含むデータ処理のための電子／コンピュータシステムで広く使われる。
【０００３】
前記擬似乱数シーケンスは、線形フィードバックシフトレジスタ（ｌｉｎｅａｒ  ｆｅｅｄｂａｃｋ  ｓｈｉｆｔ  ｒｅｇｉｓｔｅｒ、ＬＦＳＲ）の出力を用いて生成される。生成されたシーケンスは、ＬＦＳＲの状態（ｓｔａｔｅ）またはシード（ｓｅｅｄ）に依存的である。例えば、シードは、ＬＦＳＲの動作フィードバックタップ構成（ｏｐｅｒａｔｉｏｎａｌ  ｆｅｅｄｂａｃｋ  ｔａｐ  ｃｏｎｆｉｇｕｒａｔｉｏｎ）を左右する。
【０００４】
互いに異なる擬似乱数シーケンスは、互いに異なるシードを有するＬＦＳＲの初期化によって生成されうる。擬似乱数シーケンスのうちの１つの使用例は、伝送または保存されるデータのランダム化（ｒａｎｄｏｍｉｚａｔｉｏｎ）である。ランダマイザー（ｒａｎｄｏｍｉｚｅｒ）装置は、ＬＦＳＲによって生成された擬似乱数シーケンスを用いて、元のデータをランダマイズされたデータに変換する。また、デランダマイザー（ｄｅｒａｎｄｏｍｉｚｅｒ）装置は、前記ＬＦＳＲによって生成された同じ擬似乱数シーケンスを用いてランダマイズされたデータを元のデータに変換する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする技術的な課題は、線形フィードバックシフトレジスタに含まれた複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか１つの出力によって擬似乱数シーケンスを生成させる新たな構造を有するデータ処理装置及びその動作方法を提供するところにある。
【０００６】
また、本発明が解決しようとする技術的な課題は、線形フィードバックシフトレジスタに含まれた複数のシフトレジスタのうちの少なくとも２つ以上のシフトレジスタの出力を組み合わせて、組み合わせ結果によって擬似乱数シーケンスを生成させる新たな構造を有するデータ処理装置及びその動作方法を提供するところにある。
【課題を解決するための手段】
【０００７】
本発明の実施形態によるデータ処理装置は、直列接続された複数のシフトレジスタ（ｓｈｉｆｔ  ｒｅｇｉｓｔｅｒｓ）を含む擬似乱数発生器と、前記複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか１つから出力される擬似乱数シーケンスを受信し、該受信された擬似乱数シーケンス（ｓｅｑｕｅｎｃｅ）を用いて第１データを第２データに変換する変換回路と、を含む。
【０００８】
前記擬似乱数発生器は、前記第１データまたは前記第２データのメモリアクセスパラメータ（ｍｅｍｏｒｙ  ａｃｃｅｓｓ  ｐａｒａｍｅｔｅｒ）によって、前記擬似乱数発生器のフィードバック多項式（ｆｅｅｄｂａｃｋ  ｐｏｌｙｎｏｍｉａｌ）を決定するフィードバック多項式決定器を含む。
【０００９】
実施形態によって、前記変換は、ランダマイズされた（ｒａｎｄｏｍｉｚｅｄ）前記第２データを得るために、前記第１データをランダマイズ（ｒａｎｄｏｍｉｚｉｎｇ）することを含み、前記変換回路は、前記第１データと前記擬似乱数シーケンスとに対してモジュロ加算演算（ｍｏｄｕｌｏ  ａｄｄｉｔｉｏｎ  ｏｐｅｒａｔｉｏｎ）を行う。他の実施形態によって、前記変換は、デランダマイズされた（ｄｅ−ｒａｎｄｏｍｉｚｅｄ）前記第２データを得るために、前記第１データをデランダマイズ（ｄｅ−ｒａｎｄｏｍｉｚｉｎｇ）することを含み、前記変換回路は、前記第１データと前記擬似乱数シーケンスとに対してモジュロ減算演算（ｍｏｄｕｌｏ  ｓｕｂｔｒａｃｔｉｏｎ  ｏｐｅｒａｔｉｏｎ）を行う。
【００１０】
前記擬似乱数発生器は、複数のブール論理ゲート（Ｂｏｏｌｅａｎ  ｌｏｇｉｃ  ｇａｔｅｓ）を含み、前記第１データまたは前記第２データのメモリアクセスパラメータによって、前記擬似乱数シーケンスに相応する論理出力を決定する論理ゲートアレイ（ｌｏｇｉｃ  ｇａｔｅ  ａｒｒａｙ）を含む。
【００１１】
前記メモリアクセスパラメータは、ワードラインアドレス（ｗｏｒｄ  ｌｉｎｅ  ａｄｄｒｅｓｓ）またはビットラインアドレス（ｂｉｔ  ｌｉｎｅ  ａｄｄｒｅｓｓ）であり得る。
【００１２】
前記メモリアクセスパラメータの前記メモリが、複数のページ（ｐａｇｅｓ）を含むブロック（ｂｌｏｃｋ）を含むフラッシュメモリ（ｆｌａｓｈ  ｍｅｍｏｒｙ）である時、前記メモリアクセスパラメータは、ブロックアドレス（ｂｌｏｃｋ  ａｄｄｒｅｓｓ）、ページアドレス（ｐａｇｅ  ａｄｄｒｅｓｓ）、ワードラインアドレス、ビットラインアドレス、前記メモリのチップＩＤ（ｃｈｉｐ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）、プログラム回数（ｐｒｏｇｒａｍ  ｃｏｕｎｔ）、及びイレーズ回数（ｅｒａｓｅ  ｃｏｕｎｔ）のうちの少なくとも１つであり得る。
【００１３】
前記擬似乱数発生器は、フィボナッチ線形フィードバック（Ｆｉｂｏｎａｃｃｉ  ｌｉｎｅａｒ  ｆｅｅｄｂａｃｋ）擬似乱数発生器、ガロア（Ｇａｌｏｉｓ）線形フィードバック擬似乱数発生器、フィボナッチ非線形フィードバック擬似乱数発生器、及びガロア非線形フィードバック擬似乱数発生器のうちの何れか１つであり得る。
【００１４】
本発明の他の実施形態によるデータ処理装置は、直列接続された複数のシフトレジスタを含む擬似乱数発生器と、前記複数のシフトレジスタのうちの少なくとも２つのシフトレジスタの出力信号を組み合わせる組み合わせ回路と、前記組み合わせ回路から出力された擬似乱数シーケンスを受信し、該受信された擬似乱数シーケンスを用いて第１データを第２データに変換する変換回路と、を含む。
【００１５】
前記擬似乱数発生器は、前記第１データまたは前記第２データのメモリアクセスパラメータによって、前記擬似乱数発生器のフィードバック多項式を決定するフィードバック多項式決定器を含む。
【００１６】
前記組み合わせ回路は、前記第１データまたは前記第２データのメモリアクセスパラメータによって、前記少なくとも２つのシフトレジスタの出力信号を組み合わせるための第１動作と第２動作とのうちの少なくとも１つを選択し、前記第１動作は、モジュロ−Ｐ加算（Ｍｏｄｕｌｏ−Ｐ  ａｄｄｉｔｉｏｎ）であり、前記第２動作は、モジュロ−Ｐ乗算（Ｍｏｄｕｌｏ−Ｐ  ｍｕｌｔｉｐｌｉｃａｔｉｏｎ）であり、Ｐは、２以上の自然数である。
【００１７】
本発明のさらに他の実施形態によるデータ処理装置は、メモリと、直列接続された複数のシフトレジスタを含む擬似乱数発生器と、前記複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか１つから出力される擬似乱数シーケンスを用いて、前記メモリに保存される第２データを得るために、第１データをランダマイズするランダマイザーと、デランダマイズされた第４データを得るために、前記メモリから出力された第３データを前記擬似乱数シーケンスを用いてデランダマイズするデランダマイザーと、を含む。
【００１８】
前記擬似乱数発生器は、前記第２データと前記第３データのそれぞれのメモリアクセスパラメータによって、前記擬似乱数発生器のフィードバック多項式を決定するフィードバック多項式決定器を含む。
【００１９】
本発明のさらに他の実施形態によるデータ処理装置は、メモリと、直列接続された複数のシフトレジスタを含む擬似乱数発生器と、前記複数のシフトレジスタのうちの少なくとも２つのシフトレジスタの出力信号を組み合わせる組み合わせ回路と、前記組み合わせ回路から出力された擬似乱数シーケンスを用いて、前記メモリに保存される第２データを得るために、第１データをランダマイズするランダマイザーと、デランダマイズされた第４データを得るために、前記メモリから出力された第３データを前記擬似乱数シーケンスを用いてデランダマイズするデランダマイザーと、を含む。
【００２０】
前記組み合わせ回路は、前記第２データと前記第３データのそれぞれのメモリアクセスパラメータによって、前記少なくとも２つのシフトレジスタの出力信号を組み合わせるための第１動作と第２動作とのうちの少なくとも１つを選択し、前記第１動作は、モジュロ−Ｐ加算であり、前記第２動作は、モジュロ−Ｐ乗算であり、Ｐは、２以上の自然数である。
【発明の効果】
【００２１】
本発明の実施形態によるデータ処理装置は、ハードウェア複雑さ（ｈａｒｄｗａｒｅ  ｃｏｍｐｌｅｘｉｔｙ）を増加させず、ランダム性（ｒａｎｄｏｍｎｅｓｓ）が増加した擬似乱数シーケンスを生成させ、前記擬似乱数シーケンスを用いてデータのランダム性をさらに増加させる。
本発明の詳細な説明で引用される図面をより十分に理解するために、各図面の詳細な説明が提供される。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態による擬似乱数発生器を含むデータ処理装置のブロック図を示す。
【図２】図１に示された擬似乱数発生器を含むランダマイザーの一実施形態を示す。
【図３】図２に示された擬似乱数発生器の一例を示す。
【図４】図１に示された擬似乱数発生器を含むデランダマイザーの一実施形態を示す。
【図５】本発明の他の実施形態による擬似乱数発生器を含むデータ処理装置のブロック図を示す。
【図６】図５に示された擬似乱数発生器を含むランダマイザーの一実施形態を示す。
【図７】図５に示された擬似乱数発生器を含むデランダマイザーの一実施形態を示す。
【図８】図５に示された擬似乱数発生器を含むランダマイザーの他の実施形態を示す。
【図９】図５に示された擬似乱数発生器を含むデランダマイザーの他の実施形態を示す。
【図１０】図５に示された擬似乱数発生器を含むランダマイザーのさらに他の実施形態を示す。
【図１１】図５に示された擬似乱数発生器を含むデランダマイザーのさらに他の実施形態を示す。
【図１２】図５に示された擬似乱数発生器を含むランダマイザーのさらに他の実施形態を示す。
【図１３】図５に示された擬似乱数発生器を含むデランダマイザーのさらに他の実施形態を示す。
【図１４】図５に示された擬似乱数発生器を含むランダマイザーのさらに他の実施形態を示す。
【図１５】図５に示された擬似乱数発生器を含むデランダマイザーのさらに他の実施形態を示す。
【図１６Ａ】本発明の実施形態による擬似乱数発生器と変換回路とがデータ処理装置で具現された一実施形態を示す。
【図１６Ｂ】図１６Ａに示された変換回路の一実施形態を示すブロック図である。
【図１７】本発明の実施形態による擬似乱数発生器と変換回路とがデータ処理装置で具現された他の実施形態を示す。
【図１８】本発明の実施形態による擬似乱数発生器と変換回路とがデータ処理装置で具現されたさらに他の実施形態を示す。
【図１９】本発明の実施形態によるランダマイザーとデランダマイザーとがデータ処理装置で具現された一実施形態を示す。
【図２０】本発明の実施形態によるランダマイザーとデランダマイザーとがデータ処理装置で具現された他の実施形態を示す。
【図２１】本発明の実施形態によるランダマイザーとデランダマイザーとがデータ処理装置で具現されたさらに他の実施形態を示す。
【図２２】本発明の一実施形態によるデータ処理装置の動作方法を示すフローチャートである。
【図２３】本発明の他の実施形態によるデータ処理装置の動作方法を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、添付した図面を参照して、本発明を詳しく説明する。
【００２４】
図１は、本発明の一実施形態による擬似乱数発生器を含むデータ処理装置のブロック図を示す。図１を参照すると、データ処理装置１０は、擬似乱数発生器２０、多項式係数コントローラ３０、及びテーブル（ｔａｂｌｅ）４０を含む。例えば、テーブル４０は、不揮発性メモリによって構成することができる。
【００２５】
データ処理装置１０は、ランダマイザーまたはデランダマイザーのうちの少なくとも１つを含む、現在知られたか、または現在開発中である、あらゆるデータ処理装置を意味する。
【００２６】
したがって、データ処理装置１０は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、タブレット（ｔａｂｌｅｔ）ＰＣ、ノート型パソコン、メモリカード（ｍｅｍｏｒｙ  ｃａｒｄ）、スマートカード（ｓｍａｒｔ  ｃａｒｄ）、携帯電話、スマートフォン（ｓｍａｒｔ  ｐｈｏｎｅ）、車両用ナビゲーター（ｎａｖｉｇａｔｏｒ）、データサーバ（ｄａｔａｓｅｒｖｅｒ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、またはネットワーク接続ストレージ（Ｎｅｔｗｏｒｋ−ａｔｔａｃｈｅｄ  ｓｔｏｒａｇｅ、ＮＡＳ）として具現可能である。
【００２７】
例えば、擬似乱数発生器２０は、多項式係数コントローラ３０から出力されたメモリアクセスパラメータまたはパラメータＭＰによって多様な擬似乱数シーケンス（ｐｓｅｕｄｏ  ｒａｎｄｏｍ  ｎｕｍｂｅｒ  ｇｅｎｅｒａｔｏｒ；ＲＳ）を発生させうる。したがって、擬似乱数発生器２０に含まれた構成要素によって、擬似乱数発生器２０は、線形擬似乱数シーケンスＲＳまたは非線形擬似乱数シーケンスＲＳを発生させうる。
【００２８】
電子回路、ロジック（ｌｏｇｉｃ）装置、ソフトウェアコード（ｓｏｆｔｗａｒｅ  ｃｏｄｅ）、またはこれらの組合わせで具現可能な多項式係数コントローラ３０は、テーブル４０に保存されたデータを参照して、擬似乱数発生器２０の動作、例えば、フィードバック多項式または特性多項式（ｃｈａｒａｃｔｅｒｉｓｔｉｃ  ｐｏｌｙｎｏｍｉａｌ）を決定するためのパラメータＭＰを擬似乱数発生器２０に伝送する。
【００２９】
擬似乱数シーケンスＲＳは、前記フィードバック多項式または前記特性多項式によって決定されうる。パラメータＭＰは、テーブル４０に保存されたデータのその自体であり、多項式係数コントローラ３０によって処理されたデータであり得る。
【００３０】
テーブル４０は、メモリ装置に対するアクセス（ａｃｃｅｓｓ）動作、例えば、リード（ｒｅａｄ）動作、ライト（ｗｒｉｔｅ）動作、プログラム（ｐｒｏｇｒａｍ）動作、またはイレーズ（ｅｒａｓｅ）動作に必要なデータを保存することができる。アクセスされるメモリ装置は、揮発性メモリ装置または不揮発性メモリ装置であり得る。
【００３１】
例えば、テーブル４０に保存されたデータに相応するパラメータＭＰは、ワードラインアドレス、またはビットラインアドレスのうちの少なくとも１つを含む。また、アクセス動作の対象となったメモリが複数のブロックを含み、前記複数のブロックのそれぞれが複数のページを含むフラッシュ、例えば、ＮＡＮＤフラッシュメモリである時、パラメータＭＰは、ブロックアドレス、ワードラインアドレス、ビットラインアドレス、ページアドレス、前記メモリのＩＤ（ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）を表わすメモリチップ（ｃｈｉｐ）ＩＤ、プログラム回数、またはイレーズ回数のうちの少なくとも１つを含みうる。したがって、パラメータＭＰは、メモリ（例えば、揮発性メモリセルまたは不揮発性メモリセル）に対するアクセス動作に必要な情報を意味する。パラメータＭＰは、１ビットまたはそれ以上のビットを含みうる。
【００３２】
図２は、図１に示された擬似乱数発生器を含むランダマイザーの一実施形態を示す。図１と図２とを参照すると、ランダマイザー１００は、擬似乱数発生器２０ａと変換回路５０ａとを含む。図１の擬似乱数発生器２０の一例である擬似乱数発生器２０ａは、複数のシフトレジスタまたは直列（または、カスケード（ｃａｓｃａｄｅ））接続された複数のシフトレジスタ２１−１〜２１−４と、フィードバック多項式決定器２２とを含む。
【００３３】
複数のシフトレジスタ２１−１〜２１−４のうち、最後のシフトレジスタ（例えば、２１−４）を除いた残りのシフトレジスタのうちの何れか１つ（例えば、２１−２）の出力端子は、電気的な回路パターンを通じて変換回路５０ａに接続される。
【００３４】
変換回路５０ａは、入力データを出力ランダムデータＲ＿ＤＡＴＡ１にランダマイズすることができる。変換回路５０ａは、複数のシフトレジスタ２１−１〜２１−４のうち、最後のシフトレジスタ（例えば、２１−４）を除いた残りのシフトレジスタのうちの何れか１つ（例えば、２１−２）の出力端子から出力される擬似乱数シーケンスＲＳを用いて、第１データ、例えば、ユーザデータＵＤＡＴＡ１を第２データＲ＿ＤＡＴＡ１にランダマイズすることができる。例えば、第１データＵＤＡＴＡ１は、原本データ（ｏｒｉｇｉｎａｌ  ｄａｔａ）を意味する。
【００３５】
この際、擬似乱数発生器２０ａによって発生した擬似乱数シーケンスＲＳは、二進シーケンス（ｂｉｎａｒｙ  ｓｅｑｕｅｎｃｅ）または非二進シーケンス（ｎｏｎ−ｂｉｎａｒｙ  ｓｅｑｕｅｎｃｅ）であり得る。例えば、変換回路５０ａは、擬似乱数シーケンスＲＳと第１データＵＤＡＴＡ１とをモジュロ加算（ｍｏｄｕｌｏ  ａｄｄｉｔｉｏｎ）し、その結果としてランダマイズされた第２データＲ＿ＤＡＴＡ１を出力することができる。
【００３６】
実施形態によって、変換回路５０ａは、ブール論理ゲート（Ｂｏｏｌｅａｎ  ｌｏｇｉｃｇａｔｅ）、例えば、ＡＮＤゲート、ＯＲゲート、ＮＯＴゲート、ＸＯＲ（ｅｘｃｌｕｓｉｖｅ−ｏｒ）ゲート、ＸＮＯＲ（ｅｘｃｌｕｓｉｖｅ−ｎｏｒ）ゲート、またはこれらの組合わせで具現可能である。
【００３７】
変換回路５０ａから出力されたランダマイズされた第２データＲ＿ＤＡＴＡ１は、メモリ（例えば、図１６Ａ〜図２１に示された３１０）にライトまたはプログラムされる。
【００３８】
例えば、前記メモリは、複数のワードライン、複数のビットライン、及びそれぞれが前記複数のワードラインのそれぞれと前記複数のビットラインのそれぞれとの間に接続された複数のメモリセルを含むメモリセルアレイと、前記メモリセルアレイに／からランダマイズされた第２データＲ＿ＤＡＴＡ１をライト／リードするためのライト回路／リード回路を含む。すなわち、ランダマイズされた第２データＲ＿ＤＡＴＡ１は、前記ライト回路を通じて前記メモリセルアレイにライトされる。
【００３９】
前記複数のメモリセルのそれぞれは、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、Ｔ−ＲＡＭ（Ｔｈｙｒｉｓｔｏｒ  ＲＡＭ）、Ｚ−ＲＡＭ（Ｚｅｒｏ  ｃａｐａｃｉｔｏｒ  ＲＡＭ）、またはＴＴＲＡＭ（Ｔｗｉｎ  Ｔｒａｎｓｉｓｔｏｒ  ＲＡＭ）のように現存する揮発性メモリセル（ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ  ｃｅｌｌ）と現在開発中である揮発性メモリセルとを含む。
【００４０】
また、前記複数のメモリセルのそれぞれは、不揮発性（ｎｏｎ−ｖｏｌａｔｉｌｅ）メモリセルとして具現可能である。前記不揮発性メモリセルは、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュ（ｆｌａｓｈ）メモリ、ＭＲＡＭ（Ｍａｇｎｅｔｉｃ  ＲＡＭ）、スピン伝達トルクＭＲＡＭ（Ｓｐｉｎ−Ｔｒａｎｓｆｅｒ  Ｔｏｒｑｕｅ  ＭＲＡＭ）、Ｃｏｎｄｕｃｔｉｖｅ  ｂｒｉｄｇｉｎｇ  ＲＡＭ（ＣＢＲＡＭ）、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  ＲＡＭ）、ＯＵＭ（Ｏｖｏｎｉｃ  Ｕｎｉｆｉｅｄ  Ｍｅｍｏｒｙ）とも呼ばれるＰＲＡＭ（Ｐｈａｓｅ  ｃｈａｎｇｅ  ＲＡＭ）、抵抗メモリ（Ｒｅｓｉｓｔｉｖｅ  ＲＡＭ：ＲＲＡＭ（登録商標）またはＲｅＲＡＭ）、ナノチューブＲＲＡＭ（登録商標）（Ｎａｎｏｔｕｂｅ  ＲＲＡＭ）、ポリマーＲＡＭ（Ｐｏｌｙｍｅｒ  ＲＡＭ：ＰｏＲＡＭ）、ナノ浮遊ゲートメモリ（Ｎａｎｏ  Ｆｌｏａｔｉｎｇ  Ｇａｔｅ  Ｍｅｍｏｒｙ：ＮＦＧＭ）、ホログラフィックメモリ（ｈｏｌｏｇｒａｐｈｉｃ  ｍｅｍｏｒｙ）、分子電子メモリ素子（Ｍｏｌｅｃｕｌａｒ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｍｅｍｏｒｙ  Ｄｅｖｉｃｅ）、または絶縁抵抗変化メモリ（Ｉｎｓｕｌａｔｏｒ  Ｒｅｓｉｓｔａｎｃｅ  Ｃｈａｎｇｅ  Ｍｅｍｏｒｙ）を含みうる。前記不揮発性メモリセルは、１ビットまたはそれ以上のビットを保存することができる。
【００４１】
フィードバック多項式決定器２２は、メモリ（例えば、図１６Ａ〜図２１の３１０）のアクセスに必要なパラメータＭＰを用いて、擬似乱数発生器２０ａのフィードバック多項式または特性多項式を決定することができる。例えば、フィードバック多項式決定器２２が、複数のブール論理ゲートを含む論理ゲートアレイ２４を含む時、論理ゲートアレイ２４は、パラメータＭＰを用いて最初のシフトレジスタ２１−１にフィードバックされる論理出力を決定する。
【００４２】
図２に示されたｇｉ（０≦ｉ≦ｍ）は、フィードバック加重値（ｆｅｅｄｂａｃｋ  ｗｅｉｇｈｔ）、フィードバックタップ（ｆｅｅｄｂａｃｋ  ｔａｐ）、またはフィードバック多項式の係数（ｃｏｅｆｆｉｃｉｅｎｔ）を意味するものであって、‘０’は非接触（ｎｏ  ｃｏｎｎｅｃｔｉｏｎ）、‘１’以上はフィードバックを意味する。したがって、フィードバック多項式決定器２２のｇｉ（０≦ｉ≦ｍ）及び／または論理ゲートアレイ２４の論理出力は、パラメータＭＰによって調節または決定されうる。
【００４３】
従来のＬＦＳＲ（ｌｉｎｅａｒ  ｆｅｅｄｂａｃｋ  ｓｈｉｆｔ  ｒｅｇｉｓｔｅｒ）は、直列に接続された複数のシフトレジスタから最後のシフトレジスタから出力されるビットを擬似乱数シーケンスとして出力した。
【００４４】
しかし、本発明の実施形態による図２に示された擬似乱数発生器２０ａは、複数のシフトレジスタ２１−１〜２１−４のうち、最後のシフトレジスタ２１−４を除いた残りのシフトレジスタのうちの何れか１つから出力されるビットを擬似乱数シーケンスＲＳとして出力する。また、擬似乱数シーケンスＲＳは、パラメータＭＰによって決定されるので、擬似乱数シーケンスＲＳのランダム性がさらに増加する。
【００４５】
図３は、図２に示された擬似乱数発生器の一例を示す。図３に示された擬似乱数発生器２０ａは、１６ビットフィボナッチ（Ｆｉｂｏｎａｃｃｉ）ＬＦＳＲとして具現されたものであって、１６個のシフトレジスタから最後のシフトレジスタを除いた１５個のシフトレジスタのうちの何れか１つから出力された擬似乱数シーケンスＲＳは、図２に示された変換回路５０ａに伝送される。
【００４６】
実施形態によって、擬似乱数発生器２０ａは、ガロアＬＦＳＲとして具現可能である。この際、ガロアＬＦＳＲに含まれた複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか１つから出力された擬似乱数シーケンスは、図２に示された変換回路５０ａに伝送することができる。
【００４７】
擬似乱数発生器２０ａが、ガロアＬＦＳＲとして具現される時、論理ゲートアレイ２４の論理出力は、ガロアＬＦＳＲに含まれた複数のシフトレジスタのうちの何れか１つのシフトレジスタの入力にフィードバックされうる。したがって、本明細書で説明する図１または図５の擬似乱数発生器２０は、フィボナッチ線形フィードバック擬似乱数発生器、ガロア線形フィードバック擬似乱数発生器、フィボナッチ非線形フィードバック擬似乱数発生器、またはガロア非線形フィードバック擬似乱数発生器として具現可能である。
【００４８】
二進擬似乱数発生器として具現された図３の擬似乱数発生器２０ａは、図２に示されたフィードバック多項式決定器２２がパラメータＭＰを用いてフィードバック多項式または特性多項式を決定できるということを説明するための例示に過ぎない。したがって、論理ゲートアレイ２４が、複数のＸＯＲゲートを含んでいる時、パラメータＭＰによってそれぞれのｇｉ（０≦ｉ≦ｍ）の‘１’または‘０’が決定されれば、これによって論理ゲートアレイ２４の論理出力が決定される。
【００４９】
図４は、図１に示された擬似乱数発生器を含むデランダマイザーの一実施形態を示す。入出力されるデータＵＤＡＴＡ２とＲ＿ＤＡＴＡ２の方向と、変換回路５０ｂがランダマイズされた第３データＲ＿ＤＡＴＡ２から擬似乱数シーケンスＲＳをモジュロ減算（ｍｏｄｕｌｏ  ｓｕｂｔｒａｃｔｉｏｎ）して、第４データＵＤＡＴＡ２を生成することを除けば、図２に示されたランダマイザー１００の構造と図４に示されたデランダマイザー１０１の構造は、実質的に同一である。擬似乱数シーケンスＲＳが二進シーケンスであり、変換回路５０ａまたは５０ｂがＸＯＲゲートとして具現される時、モジュロ−２加算演算結果とモジュロ−２減算演算結果は、互いに同一である。
【００５０】
実施形態によって、変換回路５０ｂは、ブール論理ゲート、例えば、ＡＮＤゲート、ＯＲゲート、ＮＯＴゲート、ＸＯＲゲート、ＸＮＯＲゲート、またはこれらの組合わせで具現可能である。
【００５１】
デランダマイザー１０１の変換回路５０ｂは、複数のシフトレジスタ２１−１〜２１−４のうち、最後のシフトレジスタ２１−４を除いた残りのシフトレジスタのうちの何れか１つ（例えば、２１−２）から出力される擬似乱数シーケンスＲＳを用いて、ランダマイズされた第３データＲ＿ＤＡＴＡ２を第４データＵＤＡＴＡ２にデランダマイズする。
【００５２】
この際、複数のシフトレジスタ２１−１〜２１−４のうち、最後のシフトレジスタ２１−４を除いた残りのシフトレジスタのうちの何れか１つ（例えば、２１−２）から出力される擬似乱数シーケンスＲＳは、第３データＲ＿ＤＡＴＡ２を保存するメモリ（図１６Ａ〜図２１の３１０）のアクセスに必要なパラメータＭＰを用いて決定されたフィードバック多項式によって決定される。
【００５３】
表１は、複数のビットを含むパラメータＭＰによってフィードバック多項式が決定されうるということを例示的に表わす表である。
【００５４】
【表１】
2013016173.tif 000003
【００５５】
図５は、本発明の他の実施形態による擬似乱数発生器を含むデータ処理装置のブロック図を示す。図１と図５とを参照すると、擬似乱数発生器２０に含まれた複数のシフトレジスタのうちの少なくとも２つのシフトレジスタの出力信号を選択して組み合わせ、該組み合わせられた信号を擬似乱数シーケンスＲＳとして出力する組み合わせ回路２００を除けば、図１のデータ処理装置１０の構造と図５のデータ処理装置１１の構造は、実質的に同一である。
【００５６】
この際、組み合わせ回路２００は、テーブル４０から出力された選択信号ＳＥＬまたは第２パラメータＭＰ２に応答して、擬似乱数発生器２０に含まれた複数のシフトレジスタのうちの少なくとも２つのシフトレジスタの出力信号を選択する選択動作（ｓｅｌｅｃｔｉｏｎ  ｏｐｅｒａｔｉｏｎ）及び／または前記選択された少なくとも２つのシフトレジスタの出力信号の組み合わせ方法（ｃｏｍｂｉｎａｔｉｏｎ  ｍｅｔｈｏｄ）を選択することができる。前記組み合わせ方法は、モジュロ−Ｐ加算（Ｍｏｄｕｌｏ−Ｐ  ａｄｄｉｔｉｏｎ）、モジュロ−Ｐ減算（ｍｏｄｕｌｏ−Ｐ  ｓｕｂｔｒａｃｔｉｏｎ）、またはモジュロ−Ｐ乗算（Ｍｏｄｕｌｏ−Ｐ  ｍｕｌｔｉｐｌｉｃａｔｉｏｎ）であり、Ｐは、２以上の自然数である。
【００５７】
例えば、擬似乱数シーケンスＲＳが、二進シーケンスである時、組み合わせ回路２００は、複数のビットを含む第２パラメータＭＰ２によって、モジュロ−２加算、モジュロ−２減算、またはモジュロ−２乗算を行うことができる。また、擬似乱数シーケンスが、Ｐ−ａｒｙシーケンスである時、組み合わせ回路２００は、第２パラメータＭＰ２によって、モジュロ−Ｐ加算、モジュロ−Ｐ減算、またはモジュロ−Ｐ乗算を行うことができる。
【００５８】
図６は、図５に示された擬似乱数発生器を含むランダマイザーの一実施形態を示す。図６を参照すると、ランダマイザー１１０は、図５に示された擬似乱数発生器２０の一実施形態として具現された擬似乱数発生器２０ｂ、図５に示された組み合わせ回路２００の一例として具現された選択器２００Ａ、及び変換回路５０ａを含む。
【００５９】
選択器２００Ａは、擬似乱数発生器２０ｂに含まれた複数のシフトレジスタ２１−１〜２１−４のそれぞれから出力された出力信号を受信し、選択信号ＳＥＬによって複数のシフトレジスタ２１−１〜２１−４のうち、最後のシフトレジスタ２１−４を除いた残りのシフトレジスタのうちの何れか１つの出力信号を選択し、該選択された出力信号を擬似乱数シーケンスＲＳとして変換回路５０ａに出力する。
【００６０】
選択信号ＳＥＬとして前述したパラメータＭＰが使われる。選択信号ＳＥＬは、１ビットまたはそれ以上のビットであり、選択器２００Ａは、マルチフレクサとして具現可能である。モジュロ加算を行うことができる変換回路５０ａは、選択器２００Ａから出力された擬似乱数シーケンスＲＳによって、第１データＵＤＡＴＡ１を第２データＲ＿ＤＡＴＡ１にランダマイズする。
【００６１】
図７は、図５に示された擬似乱数発生器を含むデランダマイザーの一実施形態を示す。入出力されるデータＵＤＡＴＡ２とＲ＿ＤＡＴＡ２の方向と、変換回路５０ｂがランダマイズされた第３データＲ＿ＤＡＴＡ２から擬似乱数シーケンスＲＳをモジュロ減算して、第４データＵＤＡＴＡ２を生成することを除けば、図６に示されたランダマイザー１１０の構造と図７に示されたデランダマイザー１１１の構造は、実質的に同一である。
【００６２】
変換回路５０ｂは、選択器２００Ａから出力された擬似乱数シーケンスＲＳによってランダマイズされた第３データＲ＿ＤＡＴＡ２を第４データＵＤＡＴＡ２にデランダマイズする。前述したように、擬似乱数シーケンスＲＳは、最後のシフトレジスタ２１−４を除いた残りのシフトレジスタ２１−１〜２１−４のうちから如何なるシフトレジスタの出力が選択されるか否かによって決定される。
【００６３】
図８は、図５に示された擬似乱数発生器を含むランダマイザーの他の実施形態を示す。図８を参照すると、ランダマイザー１２０は、図５に示された擬似乱数発生器２０の他の実施形態として具現された擬似乱数発生器２０ｃ、図５に示された組み合わせ回路２００の他の例として具現された組み合わせ回路２００Ｂ、及び変換回路５０ａを含む。
【００６４】
組み合わせ回路２００Ｂは、擬似乱数発生器２０ｃに含まれた複数のシフトレジスタ２１−１〜２１−４のそれぞれから出力された出力信号を受信し、第２パラメータＭＰ２によって複数のシフトレジスタ２１−１〜２１−４のうちの少なくとも２つのシフトレジスタの出力信号を選択する選択動作及び／または前記選択された少なくとも２つのシフトレジスタの出力信号の組み合わせ方法を選択することができる。
【００６５】
第２パラメータＭＰ２によって選択された前記組み合わせ方法は、モジュロ−Ｐ加算またはモジュロ−Ｐ乗算であり、Ｐは、２以上の自然数である。組み合わせ回路２００Ｂは、前記選択動作及び／または前記組み合わせ方法によって決定された擬似乱数シーケンスＲＳを出力する。
【００６６】
例えば、第２パラメータＭＰ２が５ビットであり、擬似乱数発生器２０が４個のシフトレジスタを含み、第２パラメータＭＰ２のＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）がモジュロ−Ｐ加算（例えば、ＭＳＢが１である場合）またはモジュロ−Ｐ乗算（例えば、ＭＳＢが０である場合）を選択し、擬似乱数シーケンスＲＳが二進シーケンスであり、第２パラメータＭＰ２が１１００１である時、組み合わせ回路２００Ｃは、４個のシフトレジスタのうちから最初のシフトレジスタの出力と最後のシフトレジスタの出力とをモジュロ−２加算することができる。
【００６７】
また、同じ条件で、第２パラメータＭＰ２が０１１１０である時、組み合わせ回路２００Ｃは、４個のシフトレジスタのうちから最初のシフトレジスタから三番目のシフトレジスタの出力をモジュロ−２乗算することができる。
【００６８】
実施形態によって、第２パラメータＭＰ２は、前述したパラメータＭＰと同じパラメータであり、パラメータＭＰと互いに異なるパラメータであり得る。しかし、第２パラメータＭＰ２も、メモリ（例えば、揮発性メモリまたは不揮発性メモリ）に対するアクセス動作、例えば、リード動作、ライト動作、プログラム動作、またはイレーズ動作に必要なパラメータであり得る。
【００６９】
変換回路５０ａは、組み合わせ回路２００Ｂから出力された擬似乱数シーケンスＲＳによって第１データＵＤＡＴＡ１を第２データＲ＿ＤＡＴＡ１にランダマイズする。
【００７０】
図９は、図５に示された擬似乱数発生器を含むデランダマイザーの他の実施形態を示す。入出力されるデータＵＤＡＴＡ２とＲ＿ＤＡＴＡ２の方向と、変換回路５０ｂがランダマイズされた第３データＲ＿ＤＡＴＡ２から擬似乱数シーケンスＲＳをモジュロ減算して、第４データＵＤＡＴＡ２を生成することを除けば、図８に示されたランダマイザー１２０の構造と図９に示されたデランダマイザー１２１の構造は、実質的に同一である。
【００７１】
モジュロ減算を行うことができる変換回路５０ｂは、組み合わせ回路２００Ｂから出力された擬似乱数シーケンスＲＳによってランダマイズされた第３データＲ＿ＤＡＴＡ２を第４データＵＤＡＴＡ２にデランダマイズする。
【００７２】
図１０は、図５に示された擬似乱数発生器を含むランダマイザーのさらに他の実施形態を示す。図１０を参照すると、ランダマイザー１３０は、図５の擬似乱数発生器２０のさらに他の実施形態による擬似乱数発生器２０ｄ、図５に示された組み合わせ回路２００のさらに他の例として具現されたブール論理ゲート２００Ｃ、及び変換回路５０ａを含む。図１０には、説明の便宜上、ブール論理ゲート２００ＣとしてＸＯＲゲートが例示的に示されている。実施形態によって、ブール論理ゲート２００Ｃは、モジュロ−Ｐ加算またはモジュロ−Ｐ乗算を行うことができる他の組み合わせ回路に代替されうる。
【００７３】
ブール論理ゲート２００Ｃは、擬似乱数発生器２０ｄに含まれた複数のシフトレジスタ２１−１〜２１−４のうちから２つのシフトレジスタ２１−１と２１−３の出力信号をブール論理結合して、該結合の結果として擬似乱数シーケンスＲＳを出力する。
【００７４】
モジュロ加算を行うことができる変換回路５０ａは、ブール論理ゲート２００Ｃから出力された擬似乱数シーケンスＲＳを用いて第１データＵＤＡＴＡ１を第２データＲ＿ＤＡＴＡ１にランダマイズする。
【００７５】
図１１は、図５に示された擬似乱数発生器を含むデランダマイザーのさらに他の実施形態を示す。入出力されるデータＵＤＡＴＡ２とＲ＿ＤＡＴＡ２の方向と、変換回路５０ｂがランダマイズされた第３データＲ＿ＤＡＴＡ２から擬似乱数シーケンスＲＳをモジュロ減算して、第４データＵＤＡＴＡ２を生成することを除けば、図１０に示されたランダマイザー１３０の構造と図１１に示されたデランダマイザー１３１の構造は、実質的に同一である。変換回路５０ｂは、ブール論理ゲート２００Ｃから出力された擬似乱数シーケンスＲＳによってランダマイズされた第３データＲ＿ＤＡＴＡ２を第４データＵＤＡＴＡ２にデランダマイズする。
【００７６】
図１２は、図５に示された擬似乱数発生器を含むランダマイザーのさらに他の実施形態を示す。図１２を参照すると、ランダマイザー１４０は、図５の擬似乱数発生器２０のさらに他の実施形態である擬似乱数発生器２０ｅ、図５に示された組み合わせ回路２００のさらに他の例として具現されたブール論理ゲート２００Ｄ、及び変換回路５０ａを含む。図１２には、説明の便宜上、ブール論理ゲート２００ＤとしてＸＯＲゲートが例示的に示されている。実施形態によって、ブール論理ゲート２００Ｄは、モジュロ−Ｐ加算またはモジュロ−Ｐ乗算を行うことができる他の組み合わせ回路に代替されうる。
【００７７】
ブール論理ゲート２００Ｄは、擬似乱数発生器２０ｅに含まれた複数のシフトレジスタ２１−１〜２１−４のうちから３つのシフトレジスタ２１−１、２１−３、及び２１−４の出力信号をブール論理結合して、該結合の結果として擬似乱数シーケンスＲＳを出力する。
【００７８】
変換回路５０ａは、ブール論理ゲート２００Ｄから出力された擬似乱数シーケンスＲＳによって第１データＵＤＡＴＡ１を第２データＲ＿ＤＡＴＡ１にランダマイズする。
【００７９】
図１３は、図５に示された擬似乱数発生器を含むデランダマイザーのさらに他の実施形態を示す。入出力されるデータＵＤＡＴＡ２とＲ＿ＤＡＴＡ２の方向と、変換回路５０ｂがランダマイズされた第３データＲ＿ＤＡＴＡから擬似乱数シーケンスＲＳをモジュロ減算して、第４データＵＤＡＴＡ２を生成することを除けば、図１２に示されたランダマイザー１４０の構造と図１３に示されたデランダマイザー１４１の構造は、実質的に同一である。変換回路５０ｂは、ブール論理ゲート２００Ｄから出力された擬似乱数シーケンスＲＳによってランダマイズされた第３データＲ＿ＤＡＴＡ２を第４データＵＤＡＴＡ２にデランダマイズする。
【００８０】
図１４は、図５に示された擬似乱数発生器を含むランダマイザーのさらに他の実施形態を示す。図１４を参照すると、ランダマイザー１５０は、図５の擬似乱数発生器２０のさらに他の実施形態である擬似乱数発生器２０ｆ、図５に示された組み合わせ回路２００のさらに他の例として具現されたブール論理ゲート２００Ｅ、及び変換回路５０ａを含む。図１４には、説明の便宜上、ブール論理ゲート２００ＥとしてＸＯＲゲートが例示的に示されている。実施形態によって、ブール論理ゲート２００Ｅは、モジュロ−Ｐ加算またはモジュロ−Ｐ乗算を行うことができる他の組み合わせ回路に代替されうる。
【００８１】
ブール論理ゲート２００Ｅは、擬似乱数発生器２０ｆに含まれた複数のシフトレジスタ２１−１〜２１−４のいずれもの出力信号をブール論理結合して、該結合の結果として擬似乱数シーケンスＲＳを出力する。変換回路５０ａは、ブール論理ゲート２００Ｅから出力された擬似乱数シーケンスＲＳによって第１データＵＤＡＴＡ１を第２データＲ＿ＤＡＴＡ１にランダマイズする。
【００８２】
図１５は、図５に示された擬似乱数発生器を含むデランダマイザーのさらに他の実施形態を示す。入出力されるデータＵＤＡＴＡ２とＲ＿ＤＡＴＡ２の方向と、変換回路５０ｂがランダマイズされた第３データＲ＿ＤＡＴＡ２から擬似乱数シーケンスＲＳをモジュロ減算して、第４データＵＤＡＴＡ２を生成することを除けば、図１４に示されたランダマイザー１５０の構造と図１５に示されたデランダマイザー１５１の構造は、実質的に同一である。変換回路５０ｂは、ブール論理ゲート２００Ｅから出力された擬似乱数シーケンスＲＳによってランダマイズされた第３データＲ＿ＤＡＴＡ２を第４データＵＤＡＴＡ２にデランダマイズする。
【００８３】
図１６Ａは、本発明の実施形態による擬似乱数発生器と変換回路とがデータ処理装置で具現された一実施形態を示す。１つのチップに具現可能なデータ処理装置３００は、擬似乱数発生器２０、変換回路５０ｃ、及びメモリ３１０を含む。擬似乱数発生器２０は、前述した擬似乱数発生器２０ａ、２０ｂ、２０ｃ、２０ｄ、２０ｅ、及び２０ｆのうちの何れか１つとして具現可能である。
【００８４】
ライト（または、プログラム）動作の間に、変換回路５０ｃは、擬似乱数発生器２０から出力された擬似乱数シーケンスＲＳによって第１データＵＤＡＴＡｉ（ｉは、１）を第２データＲ＿ＤＡＴＡｉ（ｉは、１）にランダマイズし、該ランダマイズされた第２データＲ＿ＤＡＴＡｉは、ライト回路を通じてメモリ３１０にライト（または、プログラム）される。リード動作の間に、変換回路５０ｃは、メモリ３１０からリードされたランダマイズされた第３データＲ＿ＤＡＴＡｉ（ｉは、２）を擬似乱数発生器２０から出力された擬似乱数シーケンスＲＳによって第４データＵＤＡＴＡｉ（ｉは、２）にデランダマイズすることができる。
【００８５】
図１６Ｂは、図１６Ａに示された変換回路の一実施形態を示すブロック図である。図１６Ａと図１６Ｂとを参照すると、１つの擬似乱数発生器２０を共有する変換回路５０ｃは、第１変換回路５０−１と第２変換回路５０−２とを含む。
【００８６】
ライト動作の間に、ハイレベルを有するライトイネーブル信号ＷＥによってイネーブルされた第１変換回路５０−１は、擬似乱数シーケンスＲＳを用いて第１データＵＤＡＴＡ１を第２データＲ＿ＤＡＴＡ１にランダマイズすることができる。リード動作の間に、ハイレベルを有するリードイネーブル信号ＲＥによってイネーブルされた第２変換回路５０−２は、ランダマイズされた第３データＲ＿ＤＡＴＡ２を擬似乱数シーケンスＲＳを用いて第４データＵＤＡＴＡ２にデランダマイズすることができる。
【００８７】
ライトイネーブル信号ＷＥがハイレベルに変更される時点とリードイネーブル信号ＲＥがハイレベルに変更される時点とを適切に調節できるならば、前記ライト動作と前記リード動作は、互いに異なる時点に行われ、または同時に行われる。
【００８８】
第１変換回路５０−１は、モジュロ加算を行うことができる変換回路５０ａとして具現可能であり、第２変換回路５０−２は、モジュロ減算を行うことができる変換回路５０ｂとして具現可能である。
【００８９】
図１７は、本発明の実施形態による擬似乱数発生器と変換回路とがデータ処理装置で具現された他の実施形態を示す。データ処理装置４００は、メモリ３１０と、メモリ３１０の動作を制御することができるコントローラ４１０とを含む。擬似乱数発生器２０と変換回路５０ｃは、メモリ３１０が集積されたチップと別個のチップとして具現されたコントローラ４１０に集積される。
【００９０】
ライト（または、プログラム）動作の間に、変換回路５０ｃは、擬似乱数シーケンスＲＳを用いて第１データＵＤＡＴＡｉ（ｉは、１）を第２データＲ＿ＤＡＴＡｉ（ｉは、１）をランダマイズし、該ランダマイズされた第２データＲ＿ＤＡＴＡｉ（ｉは、１）をデータバスを通じてメモリ３１０に伝送する。リード動作の間に、変換回路５０ｃは、メモリ３１０からリードされたランダマイズされた第３データＲ＿ＤＡＴＡｉ（ｉは、２）を擬似乱数シーケンスＲＳを用いて第４データＵＤＡＴＡｉ（ｉは、２）にデランダマイズすることができる。
【００９１】
図１８は、本発明の実施形態による擬似乱数発生器と変換回路とがデータ処理装置で具現されたさらに他の実施形態を示す。データ処理装置５００は、メモリ３１０、メモリ３１０の動作を制御することができるコントローラ５１０、及びランダマイザー／デランダマイザー５２０を含む。
【００９２】
擬似乱数発生器２０と変換回路５０ｃとを含むランダマイザー／デランダマイザー５２０は、メモリ３１０とコントローラ５１０との間に具現可能である。この際、ランダマイザー／デランダマイザー５２０は、別個のチップとして具現可能である。したがって、ライト（または、プログラム）動作の間に、変換回路５０ｃは、擬似乱数発生器２０から出力された擬似乱数シーケンスＲＳを用いてコントローラ５１０から出力されたデータＵＤＡＴＡｉをランダマイズし、該ランダマイズされたデータＲ＿ＤＡＴＡｉをメモリ３１０に伝送しうる。
【００９３】
リード動作の間に、変換回路５０ｃは、メモリ３１０から出力されたランダマイズされたデータＲ＿ＤＡＴＡｉを擬似乱数発生器２０から出力された擬似乱数シーケンスＲＳを用いてデランダマイズし、該デランダマイズされたデータＵＤＡＴＡｉをコントローラ５１０に伝送しうる。
【００９４】
図１９、図２０、及び図２１に示された各データ処理装置６００、７００、及び８００は、ライト（または、プログラム）動作とリード動作とを同時に行うことができる構造を有する。
【００９５】
図１９は、本発明の実施形態によるランダマイザーとデランダマイザーとがデータ処理装置で具現された一実施形態を示す。メモリ３１０、ランダマイザー６１０、及びデランダマイザー６２０は、１つのチップ６０１に集積されうる。ライト（または、プログラム）動作の間に、複数のランダマイザー１００、１１０、１２０、１３０、１４０、及び１５０のうちの何れか１つとして具現可能なランダマイザー６１０は、各構成要素２０ａ、２００Ａ、２００Ｂ、２００Ｃ、２００Ｄ、または２００Ｅから出力された擬似乱数シーケンスＲＳによって第１データＵＤＡＴＡ１を第２データＲ＿ＤＡＴＡ１にランダマイズし、該ランダマイズされた第２データＲ＿ＤＡＴＡ１をメモリ３１０に伝送する。
【００９６】
それと同時に、リード動作の間に、複数のデランダマイザー１０１、１１１、１２１、１３１、１４１、及び１５１のうちの何れか１つとして具現可能なデランダマイザー６２０は、メモリ３１０から出力されたランダマイズされた第３データＲ＿ＤＡＴＡ２を各構成要素２０ａ、２００Ａ、２００Ｂ、２００Ｃ、２００Ｄ、または２００Ｅから出力された擬似乱数シーケンスＲＳによって第４データＵＤＡＴＡ２にデランダマイズする。
【００９７】
図２０は、本発明の実施形態によるランダマイザーとデランダマイザーとがデータ処理装置で具現された他の実施形態を示す。データ処理装置７００は、メモリ３１０と、メモリ３１０の動作を制御することができるコントローラ７１０とを含む。ランダマイザー７１０とデランダマイザー７２０は、コントローラ７１０に集積される。
【００９８】
ライト（または、プログラム）動作の間に、複数のランダマイザー１００、１１０、１２０、１３０、１４０、及び１５０のうちの何れか１つとして具現可能なランダマイザー７２０は、各構成要素２０ａ、２００Ａ、２００Ｂ、２００Ｃ、２００Ｄ、または２００Ｅから出力された擬似乱数シーケンスＲＳによって第１データＵＤＡＴＡ１を第２データＲ＿ＤＡＴＡ１にランダマイズし、該ランダマイズされた第２データＲ＿ＤＡＴＡ１をメモリ３１０に伝送する。
【００９９】
それと同時に、リード動作の間に、複数のデランダマイザー１０１、１１１、１２１、１３１、１４１、及び１５１のうちの何れか１つとして具現可能なデランダマイザー７３０は、メモリ３１０から出力されたランダマイズされた第３データＲ＿ＤＡＴＡ２を各構成要素２０ａ、２００Ａ、２００Ｂ、２００Ｃ、２００Ｄ、または２００Ｅから出力された擬似乱数シーケンスＲＳによって第４データＵＤＡＴＡ２にデランダマイズする。
【０１００】
図２１は、本発明の実施形態によるランダマイザーとデランダマイザーとがデータ処理装置で具現されたさらに他の実施形態を示す。データ処理装置８００は、メモリ３１０、メモリ３１０の動作を制御することができるコントローラ８１０、及びランダマイザー／デランダマイザー８２０を含む。ランダマイザー／デランダマイザー８２０は、メモリ３１０とコントローラ８１０との間に具現される。
【０１０１】
ライト（または、プログラム）動作の間に、複数のランダマイザー１００、１１０、１２０、１３０、１４０、及び１５０のうちの何れか１つとして具現可能なランダマイザー８３０は、各構成要素２０ａ、２００Ａ、２００Ｂ、２００Ｃ、２００Ｄ、または２００Ｅから出力された擬似乱数シーケンスＲＳによって、コントローラ８１０から出力された第１データＵＤＡＴＡ１を第２データＲ＿ＤＡＴＡ１にランダマイズし、該ランダマイズされた第２データＲ＿ＤＡＴＡ１をメモリ３１０に伝送する。
【０１０２】
それと同時に、リード動作の間に、複数のデランダマイザー１０１、１１１、１２１、１３１、１４１、及び１５１のうちの何れか１つとして具現可能なデランダマイザー８４０は、メモリ３１０から出力されたランダマイズされた第３データＲ＿ＤＡＴＡ２を各構成要素２０ａ、２００Ａ、２００Ｂ、２００Ｃ、２００Ｄ、または２００Ｅから出力された擬似乱数シーケンスＲＳによって第４データＵＤＡＴＡ２にデランダマイズし、該デランダマイズされた第４データＵＤＡＴＡ２をコントローラ８１０に出力する。
【０１０３】
図２２は、本発明の一実施形態によるデータ処理装置の動作方法を示すフローチャートである。図１、図２、図４、図６、図７、及び図２２を参照すると、擬似乱数発生器２０は、複数のシフトレジスタ２１−１〜２１−４のうち、最後のシフトレジスタ２１−４を除いた残りのシフトレジスタのうちの何れか１つのシフトレジスタを用いて擬似乱数シーケンスＲＳを発生させる（ステップＳ１０）。
【０１０４】
プログラム動作の間に、変換回路５０ａは、擬似乱数シーケンスＲＳを用いて第１データＵＤＡＴＡ１を第２データＲ＿ＤＡＴＡ１にランダマイズする。リード動作の間に、変換回路５０ｂは、擬似乱数シーケンスＲＳによってランダマイズされた第３データＲ＿ＵＤＡＴＡ２を第４データＵＤＡＴＡ２にデランダマイズする（ステップＳ２０）。
【０１０５】
図２３は、本発明の他の実施形態によるデータ処理装置の動作方法を示すフローチャートである。図５、図８ないし図１５、及び図２３を参照すると、各組み合わせ回路２００Ａ、２００Ｂ、２００Ｃ、２００Ｄ、及び２００Ｅは、擬似乱数発生器２０ｂ、２０ｃ、２０ｄ、２０ｅ、及び２０ｆに含まれた複数のシフトレジスタ２１−１〜２１−４のうちの少なくとも２つのシフトレジスタの出力信号を選択する選択動作及び／または前記少なくとも２つのシフトレジスタの出力信号の組み合わせ方法を用いて擬似乱数シーケンスＲＳを生成させる（ステップＳ１１０）。
【０１０６】
プログラム動作の間に、変換回路５０ａは、擬似乱数シーケンスＲＳを用いて第１データＵＤＡＴＡ１を第２データＲ＿ＤＡＴＡ１にランダマイズして、メモリ３１０に伝送する。リード動作の間に、変換回路５０ｂは、擬似乱数シーケンスＲＳを用いてランダマイズされた第３データＲ＿ＵＤＡＴＡ２を第４データＵＤＡＴＡ２にデランダマイズする（ステップＳ１２０）。
【０１０７】
実施形態によって、ライト（または、プログラム）動作の間に使われたパラメータとリード動作の間に使われたパラメータは、互いに同じパラメータであり、互いに異なるパラメータであり得る。
【０１０８】
本明細書で示された前方向タップ（ｆｅｅｄｆｏｒｗａｒｄ  ｔａｐｓ；Ｔｊ、０≦ｊ≦ｍ）は、ｇｉ（０≦ｉ≦ｍ）とは異なって、組み合わせ回路２００に入力される加重値または係数を意味する。
【０１０９】
本発明は、図面に示された一実施形態を参考にして説明されたが、これは例示的なものに過ぎず、当業者ならば、これより多様な変形及び均等な他実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決定されるべきである。
【産業上の利用可能性】
【０１１０】
本発明は、データ処理装置に利用されうる。
【符号の説明】
【０１１１】
２０、２０ａ、２０ｂ、２０ｃ、２０ｄ、及び２０ｅ：擬似乱数発生器
２１−１〜２１−４：シフトレジスタ
２２：フィードバック多項式決定器
２４：論理ゲートアレイ
３０：多項式係数コントローラ
４０：テーブル
５０、５０ａ、及び５０ｂ：変換回路
２００：組み合わせ回路
２００Ａ：選択器
【図１】
2013016173.tif 000004
【図２】
2013016173.tif 000005
【図３】
2013016173.tif 000006
【図４】
2013016173.tif 000007
【図５】
2013016173.tif 000008
【図６】
2013016173.tif 000009
【図７】
2013016173.tif 000010
【図８】
2013016173.tif 000011
【図９】
2013016173.tif 000012
【図１０】
2013016173.tif 000013
【図１１】
2013016173.tif 000014
【図１２】
2013016173.tif 000015
【図１３】
2013016173.tif 000016
【図１４】
2013016173.tif 000017
【図１５】
2013016173.tif 000018
【図１６Ａ】
2013016173.tif 000019
【図１６Ｂ】
2013016173.tif 000020
【図１７】
2013016173.tif 000021
【図１８】
2013016173.tif 000022
【図１９】
2013016173.tif 000023
【図２０】
2013016173.tif 000024
【図２１】
2013016173.tif 000025
【図２２】
2013016173.tif 000026
【図２３】
2013016173.tif 000027