データ処理装置及びその動作方法
【課題】データ処理装置を提供する。
【解決手段】データ処理装置は、直列接続された複数のシフトレジスタを含む擬似乱数発生器と、複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか1つから出力される擬似乱数シーケンスを受信し、該受信された擬似乱数シーケンスを用いて第1データを第2データに変換する変換回路と、を含む。
【解決手段】データ処理装置は、直列接続された複数のシフトレジスタを含む擬似乱数発生器と、複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか1つから出力される擬似乱数シーケンスを受信し、該受信された擬似乱数シーケンスを用いて第1データを第2データに変換する変換回路と、を含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、データ処理技術に係り、特に、擬似乱数シーケンス(pseudorandom number sequence)を発生する新たな構造のデータ処理装置とその動作方法とに関する。
【背景技術】
【0002】
擬似乱数シーケンス(pseudo random number sequences)は、通信システムとデータ保存システムとを含むデータ処理のための電子/コンピュータシステムで広く使われる。
【0003】
前記擬似乱数シーケンスは、線形フィードバックシフトレジスタ(linear feedback shift register、LFSR)の出力を用いて生成される。生成されたシーケンスは、LFSRの状態(state)またはシード(seed)に依存的である。例えば、シードは、LFSRの動作フィードバックタップ構成(operational feedback tap configuration)を左右する。
【0004】
互いに異なる擬似乱数シーケンスは、互いに異なるシードを有するLFSRの初期化によって生成されうる。擬似乱数シーケンスのうちの1つの使用例は、伝送または保存されるデータのランダム化(randomization)である。ランダマイザー(randomizer)装置は、LFSRによって生成された擬似乱数シーケンスを用いて、元のデータをランダマイズされたデータに変換する。また、デランダマイザー(derandomizer)装置は、前記LFSRによって生成された同じ擬似乱数シーケンスを用いてランダマイズされたデータを元のデータに変換する。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明が解決しようとする技術的な課題は、線形フィードバックシフトレジスタに含まれた複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか1つの出力によって擬似乱数シーケンスを生成させる新たな構造を有するデータ処理装置及びその動作方法を提供するところにある。
【0006】
また、本発明が解決しようとする技術的な課題は、線形フィードバックシフトレジスタに含まれた複数のシフトレジスタのうちの少なくとも2つ以上のシフトレジスタの出力を組み合わせて、組み合わせ結果によって擬似乱数シーケンスを生成させる新たな構造を有するデータ処理装置及びその動作方法を提供するところにある。
【課題を解決するための手段】
【0007】
本発明の実施形態によるデータ処理装置は、直列接続された複数のシフトレジスタ(shift registers)を含む擬似乱数発生器と、前記複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか1つから出力される擬似乱数シーケンスを受信し、該受信された擬似乱数シーケンス(sequence)を用いて第1データを第2データに変換する変換回路と、を含む。
【0008】
前記擬似乱数発生器は、前記第1データまたは前記第2データのメモリアクセスパラメータ(memory access parameter)によって、前記擬似乱数発生器のフィードバック多項式(feedback polynomial)を決定するフィードバック多項式決定器を含む。
【0009】
実施形態によって、前記変換は、ランダマイズされた(randomized)前記第2データを得るために、前記第1データをランダマイズ(randomizing)することを含み、前記変換回路は、前記第1データと前記擬似乱数シーケンスとに対してモジュロ加算演算(modulo addition operation)を行う。他の実施形態によって、前記変換は、デランダマイズされた(de−randomized)前記第2データを得るために、前記第1データをデランダマイズ(de−randomizing)することを含み、前記変換回路は、前記第1データと前記擬似乱数シーケンスとに対してモジュロ減算演算(modulo subtraction operation)を行う。
【0010】
前記擬似乱数発生器は、複数のブール論理ゲート(Boolean logic gates)を含み、前記第1データまたは前記第2データのメモリアクセスパラメータによって、前記擬似乱数シーケンスに相応する論理出力を決定する論理ゲートアレイ(logic gate array)を含む。
【0011】
前記メモリアクセスパラメータは、ワードラインアドレス(word line address)またはビットラインアドレス(bit line address)であり得る。
【0012】
前記メモリアクセスパラメータの前記メモリが、複数のページ(pages)を含むブロック(block)を含むフラッシュメモリ(flash memory)である時、前記メモリアクセスパラメータは、ブロックアドレス(block address)、ページアドレス(page address)、ワードラインアドレス、ビットラインアドレス、前記メモリのチップID(chip Identification)、プログラム回数(program count)、及びイレーズ回数(erase count)のうちの少なくとも1つであり得る。
【0013】
前記擬似乱数発生器は、フィボナッチ線形フィードバック(Fibonacci linear feedback)擬似乱数発生器、ガロア(Galois)線形フィードバック擬似乱数発生器、フィボナッチ非線形フィードバック擬似乱数発生器、及びガロア非線形フィードバック擬似乱数発生器のうちの何れか1つであり得る。
【0014】
本発明の他の実施形態によるデータ処理装置は、直列接続された複数のシフトレジスタを含む擬似乱数発生器と、前記複数のシフトレジスタのうちの少なくとも2つのシフトレジスタの出力信号を組み合わせる組み合わせ回路と、前記組み合わせ回路から出力された擬似乱数シーケンスを受信し、該受信された擬似乱数シーケンスを用いて第1データを第2データに変換する変換回路と、を含む。
【0015】
前記擬似乱数発生器は、前記第1データまたは前記第2データのメモリアクセスパラメータによって、前記擬似乱数発生器のフィードバック多項式を決定するフィードバック多項式決定器を含む。
【0016】
前記組み合わせ回路は、前記第1データまたは前記第2データのメモリアクセスパラメータによって、前記少なくとも2つのシフトレジスタの出力信号を組み合わせるための第1動作と第2動作とのうちの少なくとも1つを選択し、前記第1動作は、モジュロ−P加算(Modulo−P addition)であり、前記第2動作は、モジュロ−P乗算(Modulo−P multiplication)であり、Pは、2以上の自然数である。
【0017】
本発明のさらに他の実施形態によるデータ処理装置は、メモリと、直列接続された複数のシフトレジスタを含む擬似乱数発生器と、前記複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか1つから出力される擬似乱数シーケンスを用いて、前記メモリに保存される第2データを得るために、第1データをランダマイズするランダマイザーと、デランダマイズされた第4データを得るために、前記メモリから出力された第3データを前記擬似乱数シーケンスを用いてデランダマイズするデランダマイザーと、を含む。
【0018】
前記擬似乱数発生器は、前記第2データと前記第3データのそれぞれのメモリアクセスパラメータによって、前記擬似乱数発生器のフィードバック多項式を決定するフィードバック多項式決定器を含む。
【0019】
本発明のさらに他の実施形態によるデータ処理装置は、メモリと、直列接続された複数のシフトレジスタを含む擬似乱数発生器と、前記複数のシフトレジスタのうちの少なくとも2つのシフトレジスタの出力信号を組み合わせる組み合わせ回路と、前記組み合わせ回路から出力された擬似乱数シーケンスを用いて、前記メモリに保存される第2データを得るために、第1データをランダマイズするランダマイザーと、デランダマイズされた第4データを得るために、前記メモリから出力された第3データを前記擬似乱数シーケンスを用いてデランダマイズするデランダマイザーと、を含む。
【0020】
前記組み合わせ回路は、前記第2データと前記第3データのそれぞれのメモリアクセスパラメータによって、前記少なくとも2つのシフトレジスタの出力信号を組み合わせるための第1動作と第2動作とのうちの少なくとも1つを選択し、前記第1動作は、モジュロ−P加算であり、前記第2動作は、モジュロ−P乗算であり、Pは、2以上の自然数である。
【発明の効果】
【0021】
本発明の実施形態によるデータ処理装置は、ハードウェア複雑さ(hardware complexity)を増加させず、ランダム性(randomness)が増加した擬似乱数シーケンスを生成させ、前記擬似乱数シーケンスを用いてデータのランダム性をさらに増加させる。
本発明の詳細な説明で引用される図面をより十分に理解するために、各図面の詳細な説明が提供される。
【図面の簡単な説明】
【0022】
【図1】本発明の一実施形態による擬似乱数発生器を含むデータ処理装置のブロック図を示す。
【図2】図1に示された擬似乱数発生器を含むランダマイザーの一実施形態を示す。
【図3】図2に示された擬似乱数発生器の一例を示す。
【図4】図1に示された擬似乱数発生器を含むデランダマイザーの一実施形態を示す。
【図5】本発明の他の実施形態による擬似乱数発生器を含むデータ処理装置のブロック図を示す。
【図6】図5に示された擬似乱数発生器を含むランダマイザーの一実施形態を示す。
【図7】図5に示された擬似乱数発生器を含むデランダマイザーの一実施形態を示す。
【図8】図5に示された擬似乱数発生器を含むランダマイザーの他の実施形態を示す。
【図9】図5に示された擬似乱数発生器を含むデランダマイザーの他の実施形態を示す。
【図10】図5に示された擬似乱数発生器を含むランダマイザーのさらに他の実施形態を示す。
【図11】図5に示された擬似乱数発生器を含むデランダマイザーのさらに他の実施形態を示す。
【図12】図5に示された擬似乱数発生器を含むランダマイザーのさらに他の実施形態を示す。
【図13】図5に示された擬似乱数発生器を含むデランダマイザーのさらに他の実施形態を示す。
【図14】図5に示された擬似乱数発生器を含むランダマイザーのさらに他の実施形態を示す。
【図15】図5に示された擬似乱数発生器を含むデランダマイザーのさらに他の実施形態を示す。
【図16A】本発明の実施形態による擬似乱数発生器と変換回路とがデータ処理装置で具現された一実施形態を示す。
【図16B】図16Aに示された変換回路の一実施形態を示すブロック図である。
【図17】本発明の実施形態による擬似乱数発生器と変換回路とがデータ処理装置で具現された他の実施形態を示す。
【図18】本発明の実施形態による擬似乱数発生器と変換回路とがデータ処理装置で具現されたさらに他の実施形態を示す。
【図19】本発明の実施形態によるランダマイザーとデランダマイザーとがデータ処理装置で具現された一実施形態を示す。
【図20】本発明の実施形態によるランダマイザーとデランダマイザーとがデータ処理装置で具現された他の実施形態を示す。
【図21】本発明の実施形態によるランダマイザーとデランダマイザーとがデータ処理装置で具現されたさらに他の実施形態を示す。
【図22】本発明の一実施形態によるデータ処理装置の動作方法を示すフローチャートである。
【図23】本発明の他の実施形態によるデータ処理装置の動作方法を示すフローチャートである。
【発明を実施するための形態】
【0023】
以下、添付した図面を参照して、本発明を詳しく説明する。
【0024】
図1は、本発明の一実施形態による擬似乱数発生器を含むデータ処理装置のブロック図を示す。図1を参照すると、データ処理装置10は、擬似乱数発生器20、多項式係数コントローラ30、及びテーブル(table)40を含む。例えば、テーブル40は、不揮発性メモリによって構成することができる。
【0025】
データ処理装置10は、ランダマイザーまたはデランダマイザーのうちの少なくとも1つを含む、現在知られたか、または現在開発中である、あらゆるデータ処理装置を意味する。
【0026】
したがって、データ処理装置10は、PC(Personal Computer)、タブレット(tablet)PC、ノート型パソコン、メモリカード(memory card)、スマートカード(smart card)、携帯電話、スマートフォン(smart phone)、車両用ナビゲーター(navigator)、データサーバ(dataserver)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、またはネットワーク接続ストレージ(Network−attached storage、NAS)として具現可能である。
【0027】
例えば、擬似乱数発生器20は、多項式係数コントローラ30から出力されたメモリアクセスパラメータまたはパラメータMPによって多様な擬似乱数シーケンス(pseudo random number generator;RS)を発生させうる。したがって、擬似乱数発生器20に含まれた構成要素によって、擬似乱数発生器20は、線形擬似乱数シーケンスRSまたは非線形擬似乱数シーケンスRSを発生させうる。
【0028】
電子回路、ロジック(logic)装置、ソフトウェアコード(software code)、またはこれらの組合わせで具現可能な多項式係数コントローラ30は、テーブル40に保存されたデータを参照して、擬似乱数発生器20の動作、例えば、フィードバック多項式または特性多項式(characteristic polynomial)を決定するためのパラメータMPを擬似乱数発生器20に伝送する。
【0029】
擬似乱数シーケンスRSは、前記フィードバック多項式または前記特性多項式によって決定されうる。パラメータMPは、テーブル40に保存されたデータのその自体であり、多項式係数コントローラ30によって処理されたデータであり得る。
【0030】
テーブル40は、メモリ装置に対するアクセス(access)動作、例えば、リード(read)動作、ライト(write)動作、プログラム(program)動作、またはイレーズ(erase)動作に必要なデータを保存することができる。アクセスされるメモリ装置は、揮発性メモリ装置または不揮発性メモリ装置であり得る。
【0031】
例えば、テーブル40に保存されたデータに相応するパラメータMPは、ワードラインアドレス、またはビットラインアドレスのうちの少なくとも1つを含む。また、アクセス動作の対象となったメモリが複数のブロックを含み、前記複数のブロックのそれぞれが複数のページを含むフラッシュ、例えば、NANDフラッシュメモリである時、パラメータMPは、ブロックアドレス、ワードラインアドレス、ビットラインアドレス、ページアドレス、前記メモリのID(identification)を表わすメモリチップ(chip)ID、プログラム回数、またはイレーズ回数のうちの少なくとも1つを含みうる。したがって、パラメータMPは、メモリ(例えば、揮発性メモリセルまたは不揮発性メモリセル)に対するアクセス動作に必要な情報を意味する。パラメータMPは、1ビットまたはそれ以上のビットを含みうる。
【0032】
図2は、図1に示された擬似乱数発生器を含むランダマイザーの一実施形態を示す。図1と図2とを参照すると、ランダマイザー100は、擬似乱数発生器20aと変換回路50aとを含む。図1の擬似乱数発生器20の一例である擬似乱数発生器20aは、複数のシフトレジスタまたは直列(または、カスケード(cascade))接続された複数のシフトレジスタ21−1〜21−4と、フィードバック多項式決定器22とを含む。
【0033】
複数のシフトレジスタ21−1〜21−4のうち、最後のシフトレジスタ(例えば、21−4)を除いた残りのシフトレジスタのうちの何れか1つ(例えば、21−2)の出力端子は、電気的な回路パターンを通じて変換回路50aに接続される。
【0034】
変換回路50aは、入力データを出力ランダムデータR_DATA1にランダマイズすることができる。変換回路50aは、複数のシフトレジスタ21−1〜21−4のうち、最後のシフトレジスタ(例えば、21−4)を除いた残りのシフトレジスタのうちの何れか1つ(例えば、21−2)の出力端子から出力される擬似乱数シーケンスRSを用いて、第1データ、例えば、ユーザデータUDATA1を第2データR_DATA1にランダマイズすることができる。例えば、第1データUDATA1は、原本データ(original data)を意味する。
【0035】
この際、擬似乱数発生器20aによって発生した擬似乱数シーケンスRSは、二進シーケンス(binary sequence)または非二進シーケンス(non−binary sequence)であり得る。例えば、変換回路50aは、擬似乱数シーケンスRSと第1データUDATA1とをモジュロ加算(modulo addition)し、その結果としてランダマイズされた第2データR_DATA1を出力することができる。
【0036】
実施形態によって、変換回路50aは、ブール論理ゲート(Boolean logicgate)、例えば、ANDゲート、ORゲート、NOTゲート、XOR(exclusive−or)ゲート、XNOR(exclusive−nor)ゲート、またはこれらの組合わせで具現可能である。
【0037】
変換回路50aから出力されたランダマイズされた第2データR_DATA1は、メモリ(例えば、図16A〜図21に示された310)にライトまたはプログラムされる。
【0038】
例えば、前記メモリは、複数のワードライン、複数のビットライン、及びそれぞれが前記複数のワードラインのそれぞれと前記複数のビットラインのそれぞれとの間に接続された複数のメモリセルを含むメモリセルアレイと、前記メモリセルアレイに/からランダマイズされた第2データR_DATA1をライト/リードするためのライト回路/リード回路を含む。すなわち、ランダマイズされた第2データR_DATA1は、前記ライト回路を通じて前記メモリセルアレイにライトされる。
【0039】
前記複数のメモリセルのそれぞれは、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、T−RAM(Thyristor RAM)、Z−RAM(Zero capacitor RAM)、またはTTRAM(Twin Transistor RAM)のように現存する揮発性メモリセル(volatile memory cell)と現在開発中である揮発性メモリセルとを含む。
【0040】
また、前記複数のメモリセルのそれぞれは、不揮発性(non−volatile)メモリセルとして具現可能である。前記不揮発性メモリセルは、EEPROM(Electrically Erasable Programmable Read−Only Memory)、フラッシュ(flash)メモリ、MRAM(Magnetic RAM)、スピン伝達トルクMRAM(Spin−Transfer Torque MRAM)、Conductive bridging RAM(CBRAM)、FeRAM(Ferroelectric RAM)、OUM(Ovonic Unified Memory)とも呼ばれるPRAM(Phase change RAM)、抵抗メモリ(Resistive RAM:RRAM(登録商標)またはReRAM)、ナノチューブRRAM(登録商標)(Nanotube RRAM)、ポリマーRAM(Polymer RAM:PoRAM)、ナノ浮遊ゲートメモリ(Nano Floating Gate Memory:NFGM)、ホログラフィックメモリ(holographic memory)、分子電子メモリ素子(Molecular Electronics Memory Device)、または絶縁抵抗変化メモリ(Insulator Resistance Change Memory)を含みうる。前記不揮発性メモリセルは、1ビットまたはそれ以上のビットを保存することができる。
【0041】
フィードバック多項式決定器22は、メモリ(例えば、図16A〜図21の310)のアクセスに必要なパラメータMPを用いて、擬似乱数発生器20aのフィードバック多項式または特性多項式を決定することができる。例えば、フィードバック多項式決定器22が、複数のブール論理ゲートを含む論理ゲートアレイ24を含む時、論理ゲートアレイ24は、パラメータMPを用いて最初のシフトレジスタ21−1にフィードバックされる論理出力を決定する。
【0042】
図2に示されたgi(0≦i≦m)は、フィードバック加重値(feedback weight)、フィードバックタップ(feedback tap)、またはフィードバック多項式の係数(coefficient)を意味するものであって、‘0’は非接触(no connection)、‘1’以上はフィードバックを意味する。したがって、フィードバック多項式決定器22のgi(0≦i≦m)及び/または論理ゲートアレイ24の論理出力は、パラメータMPによって調節または決定されうる。
【0043】
従来のLFSR(linear feedback shift register)は、直列に接続された複数のシフトレジスタから最後のシフトレジスタから出力されるビットを擬似乱数シーケンスとして出力した。
【0044】
しかし、本発明の実施形態による図2に示された擬似乱数発生器20aは、複数のシフトレジスタ21−1〜21−4のうち、最後のシフトレジスタ21−4を除いた残りのシフトレジスタのうちの何れか1つから出力されるビットを擬似乱数シーケンスRSとして出力する。また、擬似乱数シーケンスRSは、パラメータMPによって決定されるので、擬似乱数シーケンスRSのランダム性がさらに増加する。
【0045】
図3は、図2に示された擬似乱数発生器の一例を示す。図3に示された擬似乱数発生器20aは、16ビットフィボナッチ(Fibonacci)LFSRとして具現されたものであって、16個のシフトレジスタから最後のシフトレジスタを除いた15個のシフトレジスタのうちの何れか1つから出力された擬似乱数シーケンスRSは、図2に示された変換回路50aに伝送される。
【0046】
実施形態によって、擬似乱数発生器20aは、ガロアLFSRとして具現可能である。この際、ガロアLFSRに含まれた複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか1つから出力された擬似乱数シーケンスは、図2に示された変換回路50aに伝送することができる。
【0047】
擬似乱数発生器20aが、ガロアLFSRとして具現される時、論理ゲートアレイ24の論理出力は、ガロアLFSRに含まれた複数のシフトレジスタのうちの何れか1つのシフトレジスタの入力にフィードバックされうる。したがって、本明細書で説明する図1または図5の擬似乱数発生器20は、フィボナッチ線形フィードバック擬似乱数発生器、ガロア線形フィードバック擬似乱数発生器、フィボナッチ非線形フィードバック擬似乱数発生器、またはガロア非線形フィードバック擬似乱数発生器として具現可能である。
【0048】
二進擬似乱数発生器として具現された図3の擬似乱数発生器20aは、図2に示されたフィードバック多項式決定器22がパラメータMPを用いてフィードバック多項式または特性多項式を決定できるということを説明するための例示に過ぎない。したがって、論理ゲートアレイ24が、複数のXORゲートを含んでいる時、パラメータMPによってそれぞれのgi(0≦i≦m)の‘1’または‘0’が決定されれば、これによって論理ゲートアレイ24の論理出力が決定される。
【0049】
図4は、図1に示された擬似乱数発生器を含むデランダマイザーの一実施形態を示す。入出力されるデータUDATA2とR_DATA2の方向と、変換回路50bがランダマイズされた第3データR_DATA2から擬似乱数シーケンスRSをモジュロ減算(modulo subtraction)して、第4データUDATA2を生成することを除けば、図2に示されたランダマイザー100の構造と図4に示されたデランダマイザー101の構造は、実質的に同一である。擬似乱数シーケンスRSが二進シーケンスであり、変換回路50aまたは50bがXORゲートとして具現される時、モジュロ−2加算演算結果とモジュロ−2減算演算結果は、互いに同一である。
【0050】
実施形態によって、変換回路50bは、ブール論理ゲート、例えば、ANDゲート、ORゲート、NOTゲート、XORゲート、XNORゲート、またはこれらの組合わせで具現可能である。
【0051】
デランダマイザー101の変換回路50bは、複数のシフトレジスタ21−1〜21−4のうち、最後のシフトレジスタ21−4を除いた残りのシフトレジスタのうちの何れか1つ(例えば、21−2)から出力される擬似乱数シーケンスRSを用いて、ランダマイズされた第3データR_DATA2を第4データUDATA2にデランダマイズする。
【0052】
この際、複数のシフトレジスタ21−1〜21−4のうち、最後のシフトレジスタ21−4を除いた残りのシフトレジスタのうちの何れか1つ(例えば、21−2)から出力される擬似乱数シーケンスRSは、第3データR_DATA2を保存するメモリ(図16A〜図21の310)のアクセスに必要なパラメータMPを用いて決定されたフィードバック多項式によって決定される。
【0053】
表1は、複数のビットを含むパラメータMPによってフィードバック多項式が決定されうるということを例示的に表わす表である。
【0054】
【表1】
【0055】
図5は、本発明の他の実施形態による擬似乱数発生器を含むデータ処理装置のブロック図を示す。図1と図5とを参照すると、擬似乱数発生器20に含まれた複数のシフトレジスタのうちの少なくとも2つのシフトレジスタの出力信号を選択して組み合わせ、該組み合わせられた信号を擬似乱数シーケンスRSとして出力する組み合わせ回路200を除けば、図1のデータ処理装置10の構造と図5のデータ処理装置11の構造は、実質的に同一である。
【0056】
この際、組み合わせ回路200は、テーブル40から出力された選択信号SELまたは第2パラメータMP2に応答して、擬似乱数発生器20に含まれた複数のシフトレジスタのうちの少なくとも2つのシフトレジスタの出力信号を選択する選択動作(selection operation)及び/または前記選択された少なくとも2つのシフトレジスタの出力信号の組み合わせ方法(combination method)を選択することができる。前記組み合わせ方法は、モジュロ−P加算(Modulo−P addition)、モジュロ−P減算(modulo−P subtraction)、またはモジュロ−P乗算(Modulo−P multiplication)であり、Pは、2以上の自然数である。
【0057】
例えば、擬似乱数シーケンスRSが、二進シーケンスである時、組み合わせ回路200は、複数のビットを含む第2パラメータMP2によって、モジュロ−2加算、モジュロ−2減算、またはモジュロ−2乗算を行うことができる。また、擬似乱数シーケンスが、P−aryシーケンスである時、組み合わせ回路200は、第2パラメータMP2によって、モジュロ−P加算、モジュロ−P減算、またはモジュロ−P乗算を行うことができる。
【0058】
図6は、図5に示された擬似乱数発生器を含むランダマイザーの一実施形態を示す。図6を参照すると、ランダマイザー110は、図5に示された擬似乱数発生器20の一実施形態として具現された擬似乱数発生器20b、図5に示された組み合わせ回路200の一例として具現された選択器200A、及び変換回路50aを含む。
【0059】
選択器200Aは、擬似乱数発生器20bに含まれた複数のシフトレジスタ21−1〜21−4のそれぞれから出力された出力信号を受信し、選択信号SELによって複数のシフトレジスタ21−1〜21−4のうち、最後のシフトレジスタ21−4を除いた残りのシフトレジスタのうちの何れか1つの出力信号を選択し、該選択された出力信号を擬似乱数シーケンスRSとして変換回路50aに出力する。
【0060】
選択信号SELとして前述したパラメータMPが使われる。選択信号SELは、1ビットまたはそれ以上のビットであり、選択器200Aは、マルチフレクサとして具現可能である。モジュロ加算を行うことができる変換回路50aは、選択器200Aから出力された擬似乱数シーケンスRSによって、第1データUDATA1を第2データR_DATA1にランダマイズする。
【0061】
図7は、図5に示された擬似乱数発生器を含むデランダマイザーの一実施形態を示す。入出力されるデータUDATA2とR_DATA2の方向と、変換回路50bがランダマイズされた第3データR_DATA2から擬似乱数シーケンスRSをモジュロ減算して、第4データUDATA2を生成することを除けば、図6に示されたランダマイザー110の構造と図7に示されたデランダマイザー111の構造は、実質的に同一である。
【0062】
変換回路50bは、選択器200Aから出力された擬似乱数シーケンスRSによってランダマイズされた第3データR_DATA2を第4データUDATA2にデランダマイズする。前述したように、擬似乱数シーケンスRSは、最後のシフトレジスタ21−4を除いた残りのシフトレジスタ21−1〜21−4のうちから如何なるシフトレジスタの出力が選択されるか否かによって決定される。
【0063】
図8は、図5に示された擬似乱数発生器を含むランダマイザーの他の実施形態を示す。図8を参照すると、ランダマイザー120は、図5に示された擬似乱数発生器20の他の実施形態として具現された擬似乱数発生器20c、図5に示された組み合わせ回路200の他の例として具現された組み合わせ回路200B、及び変換回路50aを含む。
【0064】
組み合わせ回路200Bは、擬似乱数発生器20cに含まれた複数のシフトレジスタ21−1〜21−4のそれぞれから出力された出力信号を受信し、第2パラメータMP2によって複数のシフトレジスタ21−1〜21−4のうちの少なくとも2つのシフトレジスタの出力信号を選択する選択動作及び/または前記選択された少なくとも2つのシフトレジスタの出力信号の組み合わせ方法を選択することができる。
【0065】
第2パラメータMP2によって選択された前記組み合わせ方法は、モジュロ−P加算またはモジュロ−P乗算であり、Pは、2以上の自然数である。組み合わせ回路200Bは、前記選択動作及び/または前記組み合わせ方法によって決定された擬似乱数シーケンスRSを出力する。
【0066】
例えば、第2パラメータMP2が5ビットであり、擬似乱数発生器20が4個のシフトレジスタを含み、第2パラメータMP2のMSB(Most Significant Bit)がモジュロ−P加算(例えば、MSBが1である場合)またはモジュロ−P乗算(例えば、MSBが0である場合)を選択し、擬似乱数シーケンスRSが二進シーケンスであり、第2パラメータMP2が11001である時、組み合わせ回路200Cは、4個のシフトレジスタのうちから最初のシフトレジスタの出力と最後のシフトレジスタの出力とをモジュロ−2加算することができる。
【0067】
また、同じ条件で、第2パラメータMP2が01110である時、組み合わせ回路200Cは、4個のシフトレジスタのうちから最初のシフトレジスタから三番目のシフトレジスタの出力をモジュロ−2乗算することができる。
【0068】
実施形態によって、第2パラメータMP2は、前述したパラメータMPと同じパラメータであり、パラメータMPと互いに異なるパラメータであり得る。しかし、第2パラメータMP2も、メモリ(例えば、揮発性メモリまたは不揮発性メモリ)に対するアクセス動作、例えば、リード動作、ライト動作、プログラム動作、またはイレーズ動作に必要なパラメータであり得る。
【0069】
変換回路50aは、組み合わせ回路200Bから出力された擬似乱数シーケンスRSによって第1データUDATA1を第2データR_DATA1にランダマイズする。
【0070】
図9は、図5に示された擬似乱数発生器を含むデランダマイザーの他の実施形態を示す。入出力されるデータUDATA2とR_DATA2の方向と、変換回路50bがランダマイズされた第3データR_DATA2から擬似乱数シーケンスRSをモジュロ減算して、第4データUDATA2を生成することを除けば、図8に示されたランダマイザー120の構造と図9に示されたデランダマイザー121の構造は、実質的に同一である。
【0071】
モジュロ減算を行うことができる変換回路50bは、組み合わせ回路200Bから出力された擬似乱数シーケンスRSによってランダマイズされた第3データR_DATA2を第4データUDATA2にデランダマイズする。
【0072】
図10は、図5に示された擬似乱数発生器を含むランダマイザーのさらに他の実施形態を示す。図10を参照すると、ランダマイザー130は、図5の擬似乱数発生器20のさらに他の実施形態による擬似乱数発生器20d、図5に示された組み合わせ回路200のさらに他の例として具現されたブール論理ゲート200C、及び変換回路50aを含む。図10には、説明の便宜上、ブール論理ゲート200CとしてXORゲートが例示的に示されている。実施形態によって、ブール論理ゲート200Cは、モジュロ−P加算またはモジュロ−P乗算を行うことができる他の組み合わせ回路に代替されうる。
【0073】
ブール論理ゲート200Cは、擬似乱数発生器20dに含まれた複数のシフトレジスタ21−1〜21−4のうちから2つのシフトレジスタ21−1と21−3の出力信号をブール論理結合して、該結合の結果として擬似乱数シーケンスRSを出力する。
【0074】
モジュロ加算を行うことができる変換回路50aは、ブール論理ゲート200Cから出力された擬似乱数シーケンスRSを用いて第1データUDATA1を第2データR_DATA1にランダマイズする。
【0075】
図11は、図5に示された擬似乱数発生器を含むデランダマイザーのさらに他の実施形態を示す。入出力されるデータUDATA2とR_DATA2の方向と、変換回路50bがランダマイズされた第3データR_DATA2から擬似乱数シーケンスRSをモジュロ減算して、第4データUDATA2を生成することを除けば、図10に示されたランダマイザー130の構造と図11に示されたデランダマイザー131の構造は、実質的に同一である。変換回路50bは、ブール論理ゲート200Cから出力された擬似乱数シーケンスRSによってランダマイズされた第3データR_DATA2を第4データUDATA2にデランダマイズする。
【0076】
図12は、図5に示された擬似乱数発生器を含むランダマイザーのさらに他の実施形態を示す。図12を参照すると、ランダマイザー140は、図5の擬似乱数発生器20のさらに他の実施形態である擬似乱数発生器20e、図5に示された組み合わせ回路200のさらに他の例として具現されたブール論理ゲート200D、及び変換回路50aを含む。図12には、説明の便宜上、ブール論理ゲート200DとしてXORゲートが例示的に示されている。実施形態によって、ブール論理ゲート200Dは、モジュロ−P加算またはモジュロ−P乗算を行うことができる他の組み合わせ回路に代替されうる。
【0077】
ブール論理ゲート200Dは、擬似乱数発生器20eに含まれた複数のシフトレジスタ21−1〜21−4のうちから3つのシフトレジスタ21−1、21−3、及び21−4の出力信号をブール論理結合して、該結合の結果として擬似乱数シーケンスRSを出力する。
【0078】
変換回路50aは、ブール論理ゲート200Dから出力された擬似乱数シーケンスRSによって第1データUDATA1を第2データR_DATA1にランダマイズする。
【0079】
図13は、図5に示された擬似乱数発生器を含むデランダマイザーのさらに他の実施形態を示す。入出力されるデータUDATA2とR_DATA2の方向と、変換回路50bがランダマイズされた第3データR_DATAから擬似乱数シーケンスRSをモジュロ減算して、第4データUDATA2を生成することを除けば、図12に示されたランダマイザー140の構造と図13に示されたデランダマイザー141の構造は、実質的に同一である。変換回路50bは、ブール論理ゲート200Dから出力された擬似乱数シーケンスRSによってランダマイズされた第3データR_DATA2を第4データUDATA2にデランダマイズする。
【0080】
図14は、図5に示された擬似乱数発生器を含むランダマイザーのさらに他の実施形態を示す。図14を参照すると、ランダマイザー150は、図5の擬似乱数発生器20のさらに他の実施形態である擬似乱数発生器20f、図5に示された組み合わせ回路200のさらに他の例として具現されたブール論理ゲート200E、及び変換回路50aを含む。図14には、説明の便宜上、ブール論理ゲート200EとしてXORゲートが例示的に示されている。実施形態によって、ブール論理ゲート200Eは、モジュロ−P加算またはモジュロ−P乗算を行うことができる他の組み合わせ回路に代替されうる。
【0081】
ブール論理ゲート200Eは、擬似乱数発生器20fに含まれた複数のシフトレジスタ21−1〜21−4のいずれもの出力信号をブール論理結合して、該結合の結果として擬似乱数シーケンスRSを出力する。変換回路50aは、ブール論理ゲート200Eから出力された擬似乱数シーケンスRSによって第1データUDATA1を第2データR_DATA1にランダマイズする。
【0082】
図15は、図5に示された擬似乱数発生器を含むデランダマイザーのさらに他の実施形態を示す。入出力されるデータUDATA2とR_DATA2の方向と、変換回路50bがランダマイズされた第3データR_DATA2から擬似乱数シーケンスRSをモジュロ減算して、第4データUDATA2を生成することを除けば、図14に示されたランダマイザー150の構造と図15に示されたデランダマイザー151の構造は、実質的に同一である。変換回路50bは、ブール論理ゲート200Eから出力された擬似乱数シーケンスRSによってランダマイズされた第3データR_DATA2を第4データUDATA2にデランダマイズする。
【0083】
図16Aは、本発明の実施形態による擬似乱数発生器と変換回路とがデータ処理装置で具現された一実施形態を示す。1つのチップに具現可能なデータ処理装置300は、擬似乱数発生器20、変換回路50c、及びメモリ310を含む。擬似乱数発生器20は、前述した擬似乱数発生器20a、20b、20c、20d、20e、及び20fのうちの何れか1つとして具現可能である。
【0084】
ライト(または、プログラム)動作の間に、変換回路50cは、擬似乱数発生器20から出力された擬似乱数シーケンスRSによって第1データUDATAi(iは、1)を第2データR_DATAi(iは、1)にランダマイズし、該ランダマイズされた第2データR_DATAiは、ライト回路を通じてメモリ310にライト(または、プログラム)される。リード動作の間に、変換回路50cは、メモリ310からリードされたランダマイズされた第3データR_DATAi(iは、2)を擬似乱数発生器20から出力された擬似乱数シーケンスRSによって第4データUDATAi(iは、2)にデランダマイズすることができる。
【0085】
図16Bは、図16Aに示された変換回路の一実施形態を示すブロック図である。図16Aと図16Bとを参照すると、1つの擬似乱数発生器20を共有する変換回路50cは、第1変換回路50−1と第2変換回路50−2とを含む。
【0086】
ライト動作の間に、ハイレベルを有するライトイネーブル信号WEによってイネーブルされた第1変換回路50−1は、擬似乱数シーケンスRSを用いて第1データUDATA1を第2データR_DATA1にランダマイズすることができる。リード動作の間に、ハイレベルを有するリードイネーブル信号REによってイネーブルされた第2変換回路50−2は、ランダマイズされた第3データR_DATA2を擬似乱数シーケンスRSを用いて第4データUDATA2にデランダマイズすることができる。
【0087】
ライトイネーブル信号WEがハイレベルに変更される時点とリードイネーブル信号REがハイレベルに変更される時点とを適切に調節できるならば、前記ライト動作と前記リード動作は、互いに異なる時点に行われ、または同時に行われる。
【0088】
第1変換回路50−1は、モジュロ加算を行うことができる変換回路50aとして具現可能であり、第2変換回路50−2は、モジュロ減算を行うことができる変換回路50bとして具現可能である。
【0089】
図17は、本発明の実施形態による擬似乱数発生器と変換回路とがデータ処理装置で具現された他の実施形態を示す。データ処理装置400は、メモリ310と、メモリ310の動作を制御することができるコントローラ410とを含む。擬似乱数発生器20と変換回路50cは、メモリ310が集積されたチップと別個のチップとして具現されたコントローラ410に集積される。
【0090】
ライト(または、プログラム)動作の間に、変換回路50cは、擬似乱数シーケンスRSを用いて第1データUDATAi(iは、1)を第2データR_DATAi(iは、1)をランダマイズし、該ランダマイズされた第2データR_DATAi(iは、1)をデータバスを通じてメモリ310に伝送する。リード動作の間に、変換回路50cは、メモリ310からリードされたランダマイズされた第3データR_DATAi(iは、2)を擬似乱数シーケンスRSを用いて第4データUDATAi(iは、2)にデランダマイズすることができる。
【0091】
図18は、本発明の実施形態による擬似乱数発生器と変換回路とがデータ処理装置で具現されたさらに他の実施形態を示す。データ処理装置500は、メモリ310、メモリ310の動作を制御することができるコントローラ510、及びランダマイザー/デランダマイザー520を含む。
【0092】
擬似乱数発生器20と変換回路50cとを含むランダマイザー/デランダマイザー520は、メモリ310とコントローラ510との間に具現可能である。この際、ランダマイザー/デランダマイザー520は、別個のチップとして具現可能である。したがって、ライト(または、プログラム)動作の間に、変換回路50cは、擬似乱数発生器20から出力された擬似乱数シーケンスRSを用いてコントローラ510から出力されたデータUDATAiをランダマイズし、該ランダマイズされたデータR_DATAiをメモリ310に伝送しうる。
【0093】
リード動作の間に、変換回路50cは、メモリ310から出力されたランダマイズされたデータR_DATAiを擬似乱数発生器20から出力された擬似乱数シーケンスRSを用いてデランダマイズし、該デランダマイズされたデータUDATAiをコントローラ510に伝送しうる。
【0094】
図19、図20、及び図21に示された各データ処理装置600、700、及び800は、ライト(または、プログラム)動作とリード動作とを同時に行うことができる構造を有する。
【0095】
図19は、本発明の実施形態によるランダマイザーとデランダマイザーとがデータ処理装置で具現された一実施形態を示す。メモリ310、ランダマイザー610、及びデランダマイザー620は、1つのチップ601に集積されうる。ライト(または、プログラム)動作の間に、複数のランダマイザー100、110、120、130、140、及び150のうちの何れか1つとして具現可能なランダマイザー610は、各構成要素20a、200A、200B、200C、200D、または200Eから出力された擬似乱数シーケンスRSによって第1データUDATA1を第2データR_DATA1にランダマイズし、該ランダマイズされた第2データR_DATA1をメモリ310に伝送する。
【0096】
それと同時に、リード動作の間に、複数のデランダマイザー101、111、121、131、141、及び151のうちの何れか1つとして具現可能なデランダマイザー620は、メモリ310から出力されたランダマイズされた第3データR_DATA2を各構成要素20a、200A、200B、200C、200D、または200Eから出力された擬似乱数シーケンスRSによって第4データUDATA2にデランダマイズする。
【0097】
図20は、本発明の実施形態によるランダマイザーとデランダマイザーとがデータ処理装置で具現された他の実施形態を示す。データ処理装置700は、メモリ310と、メモリ310の動作を制御することができるコントローラ710とを含む。ランダマイザー710とデランダマイザー720は、コントローラ710に集積される。
【0098】
ライト(または、プログラム)動作の間に、複数のランダマイザー100、110、120、130、140、及び150のうちの何れか1つとして具現可能なランダマイザー720は、各構成要素20a、200A、200B、200C、200D、または200Eから出力された擬似乱数シーケンスRSによって第1データUDATA1を第2データR_DATA1にランダマイズし、該ランダマイズされた第2データR_DATA1をメモリ310に伝送する。
【0099】
それと同時に、リード動作の間に、複数のデランダマイザー101、111、121、131、141、及び151のうちの何れか1つとして具現可能なデランダマイザー730は、メモリ310から出力されたランダマイズされた第3データR_DATA2を各構成要素20a、200A、200B、200C、200D、または200Eから出力された擬似乱数シーケンスRSによって第4データUDATA2にデランダマイズする。
【0100】
図21は、本発明の実施形態によるランダマイザーとデランダマイザーとがデータ処理装置で具現されたさらに他の実施形態を示す。データ処理装置800は、メモリ310、メモリ310の動作を制御することができるコントローラ810、及びランダマイザー/デランダマイザー820を含む。ランダマイザー/デランダマイザー820は、メモリ310とコントローラ810との間に具現される。
【0101】
ライト(または、プログラム)動作の間に、複数のランダマイザー100、110、120、130、140、及び150のうちの何れか1つとして具現可能なランダマイザー830は、各構成要素20a、200A、200B、200C、200D、または200Eから出力された擬似乱数シーケンスRSによって、コントローラ810から出力された第1データUDATA1を第2データR_DATA1にランダマイズし、該ランダマイズされた第2データR_DATA1をメモリ310に伝送する。
【0102】
それと同時に、リード動作の間に、複数のデランダマイザー101、111、121、131、141、及び151のうちの何れか1つとして具現可能なデランダマイザー840は、メモリ310から出力されたランダマイズされた第3データR_DATA2を各構成要素20a、200A、200B、200C、200D、または200Eから出力された擬似乱数シーケンスRSによって第4データUDATA2にデランダマイズし、該デランダマイズされた第4データUDATA2をコントローラ810に出力する。
【0103】
図22は、本発明の一実施形態によるデータ処理装置の動作方法を示すフローチャートである。図1、図2、図4、図6、図7、及び図22を参照すると、擬似乱数発生器20は、複数のシフトレジスタ21−1〜21−4のうち、最後のシフトレジスタ21−4を除いた残りのシフトレジスタのうちの何れか1つのシフトレジスタを用いて擬似乱数シーケンスRSを発生させる(ステップS10)。
【0104】
プログラム動作の間に、変換回路50aは、擬似乱数シーケンスRSを用いて第1データUDATA1を第2データR_DATA1にランダマイズする。リード動作の間に、変換回路50bは、擬似乱数シーケンスRSによってランダマイズされた第3データR_UDATA2を第4データUDATA2にデランダマイズする(ステップS20)。
【0105】
図23は、本発明の他の実施形態によるデータ処理装置の動作方法を示すフローチャートである。図5、図8ないし図15、及び図23を参照すると、各組み合わせ回路200A、200B、200C、200D、及び200Eは、擬似乱数発生器20b、20c、20d、20e、及び20fに含まれた複数のシフトレジスタ21−1〜21−4のうちの少なくとも2つのシフトレジスタの出力信号を選択する選択動作及び/または前記少なくとも2つのシフトレジスタの出力信号の組み合わせ方法を用いて擬似乱数シーケンスRSを生成させる(ステップS110)。
【0106】
プログラム動作の間に、変換回路50aは、擬似乱数シーケンスRSを用いて第1データUDATA1を第2データR_DATA1にランダマイズして、メモリ310に伝送する。リード動作の間に、変換回路50bは、擬似乱数シーケンスRSを用いてランダマイズされた第3データR_UDATA2を第4データUDATA2にデランダマイズする(ステップS120)。
【0107】
実施形態によって、ライト(または、プログラム)動作の間に使われたパラメータとリード動作の間に使われたパラメータは、互いに同じパラメータであり、互いに異なるパラメータであり得る。
【0108】
本明細書で示された前方向タップ(feedforward taps;Tj、0≦j≦m)は、gi(0≦i≦m)とは異なって、組み合わせ回路200に入力される加重値または係数を意味する。
【0109】
本発明は、図面に示された一実施形態を参考にして説明されたが、これは例示的なものに過ぎず、当業者ならば、これより多様な変形及び均等な他実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決定されるべきである。
【産業上の利用可能性】
【0110】
本発明は、データ処理装置に利用されうる。
【符号の説明】
【0111】
20、20a、20b、20c、20d、及び20e:擬似乱数発生器
21−1〜21−4:シフトレジスタ
22:フィードバック多項式決定器
24:論理ゲートアレイ
30:多項式係数コントローラ
40:テーブル
50、50a、及び50b:変換回路
200:組み合わせ回路
200A:選択器
【技術分野】
【0001】
本発明の実施形態は、データ処理技術に係り、特に、擬似乱数シーケンス(pseudorandom number sequence)を発生する新たな構造のデータ処理装置とその動作方法とに関する。
【背景技術】
【0002】
擬似乱数シーケンス(pseudo random number sequences)は、通信システムとデータ保存システムとを含むデータ処理のための電子/コンピュータシステムで広く使われる。
【0003】
前記擬似乱数シーケンスは、線形フィードバックシフトレジスタ(linear feedback shift register、LFSR)の出力を用いて生成される。生成されたシーケンスは、LFSRの状態(state)またはシード(seed)に依存的である。例えば、シードは、LFSRの動作フィードバックタップ構成(operational feedback tap configuration)を左右する。
【0004】
互いに異なる擬似乱数シーケンスは、互いに異なるシードを有するLFSRの初期化によって生成されうる。擬似乱数シーケンスのうちの1つの使用例は、伝送または保存されるデータのランダム化(randomization)である。ランダマイザー(randomizer)装置は、LFSRによって生成された擬似乱数シーケンスを用いて、元のデータをランダマイズされたデータに変換する。また、デランダマイザー(derandomizer)装置は、前記LFSRによって生成された同じ擬似乱数シーケンスを用いてランダマイズされたデータを元のデータに変換する。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明が解決しようとする技術的な課題は、線形フィードバックシフトレジスタに含まれた複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか1つの出力によって擬似乱数シーケンスを生成させる新たな構造を有するデータ処理装置及びその動作方法を提供するところにある。
【0006】
また、本発明が解決しようとする技術的な課題は、線形フィードバックシフトレジスタに含まれた複数のシフトレジスタのうちの少なくとも2つ以上のシフトレジスタの出力を組み合わせて、組み合わせ結果によって擬似乱数シーケンスを生成させる新たな構造を有するデータ処理装置及びその動作方法を提供するところにある。
【課題を解決するための手段】
【0007】
本発明の実施形態によるデータ処理装置は、直列接続された複数のシフトレジスタ(shift registers)を含む擬似乱数発生器と、前記複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか1つから出力される擬似乱数シーケンスを受信し、該受信された擬似乱数シーケンス(sequence)を用いて第1データを第2データに変換する変換回路と、を含む。
【0008】
前記擬似乱数発生器は、前記第1データまたは前記第2データのメモリアクセスパラメータ(memory access parameter)によって、前記擬似乱数発生器のフィードバック多項式(feedback polynomial)を決定するフィードバック多項式決定器を含む。
【0009】
実施形態によって、前記変換は、ランダマイズされた(randomized)前記第2データを得るために、前記第1データをランダマイズ(randomizing)することを含み、前記変換回路は、前記第1データと前記擬似乱数シーケンスとに対してモジュロ加算演算(modulo addition operation)を行う。他の実施形態によって、前記変換は、デランダマイズされた(de−randomized)前記第2データを得るために、前記第1データをデランダマイズ(de−randomizing)することを含み、前記変換回路は、前記第1データと前記擬似乱数シーケンスとに対してモジュロ減算演算(modulo subtraction operation)を行う。
【0010】
前記擬似乱数発生器は、複数のブール論理ゲート(Boolean logic gates)を含み、前記第1データまたは前記第2データのメモリアクセスパラメータによって、前記擬似乱数シーケンスに相応する論理出力を決定する論理ゲートアレイ(logic gate array)を含む。
【0011】
前記メモリアクセスパラメータは、ワードラインアドレス(word line address)またはビットラインアドレス(bit line address)であり得る。
【0012】
前記メモリアクセスパラメータの前記メモリが、複数のページ(pages)を含むブロック(block)を含むフラッシュメモリ(flash memory)である時、前記メモリアクセスパラメータは、ブロックアドレス(block address)、ページアドレス(page address)、ワードラインアドレス、ビットラインアドレス、前記メモリのチップID(chip Identification)、プログラム回数(program count)、及びイレーズ回数(erase count)のうちの少なくとも1つであり得る。
【0013】
前記擬似乱数発生器は、フィボナッチ線形フィードバック(Fibonacci linear feedback)擬似乱数発生器、ガロア(Galois)線形フィードバック擬似乱数発生器、フィボナッチ非線形フィードバック擬似乱数発生器、及びガロア非線形フィードバック擬似乱数発生器のうちの何れか1つであり得る。
【0014】
本発明の他の実施形態によるデータ処理装置は、直列接続された複数のシフトレジスタを含む擬似乱数発生器と、前記複数のシフトレジスタのうちの少なくとも2つのシフトレジスタの出力信号を組み合わせる組み合わせ回路と、前記組み合わせ回路から出力された擬似乱数シーケンスを受信し、該受信された擬似乱数シーケンスを用いて第1データを第2データに変換する変換回路と、を含む。
【0015】
前記擬似乱数発生器は、前記第1データまたは前記第2データのメモリアクセスパラメータによって、前記擬似乱数発生器のフィードバック多項式を決定するフィードバック多項式決定器を含む。
【0016】
前記組み合わせ回路は、前記第1データまたは前記第2データのメモリアクセスパラメータによって、前記少なくとも2つのシフトレジスタの出力信号を組み合わせるための第1動作と第2動作とのうちの少なくとも1つを選択し、前記第1動作は、モジュロ−P加算(Modulo−P addition)であり、前記第2動作は、モジュロ−P乗算(Modulo−P multiplication)であり、Pは、2以上の自然数である。
【0017】
本発明のさらに他の実施形態によるデータ処理装置は、メモリと、直列接続された複数のシフトレジスタを含む擬似乱数発生器と、前記複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか1つから出力される擬似乱数シーケンスを用いて、前記メモリに保存される第2データを得るために、第1データをランダマイズするランダマイザーと、デランダマイズされた第4データを得るために、前記メモリから出力された第3データを前記擬似乱数シーケンスを用いてデランダマイズするデランダマイザーと、を含む。
【0018】
前記擬似乱数発生器は、前記第2データと前記第3データのそれぞれのメモリアクセスパラメータによって、前記擬似乱数発生器のフィードバック多項式を決定するフィードバック多項式決定器を含む。
【0019】
本発明のさらに他の実施形態によるデータ処理装置は、メモリと、直列接続された複数のシフトレジスタを含む擬似乱数発生器と、前記複数のシフトレジスタのうちの少なくとも2つのシフトレジスタの出力信号を組み合わせる組み合わせ回路と、前記組み合わせ回路から出力された擬似乱数シーケンスを用いて、前記メモリに保存される第2データを得るために、第1データをランダマイズするランダマイザーと、デランダマイズされた第4データを得るために、前記メモリから出力された第3データを前記擬似乱数シーケンスを用いてデランダマイズするデランダマイザーと、を含む。
【0020】
前記組み合わせ回路は、前記第2データと前記第3データのそれぞれのメモリアクセスパラメータによって、前記少なくとも2つのシフトレジスタの出力信号を組み合わせるための第1動作と第2動作とのうちの少なくとも1つを選択し、前記第1動作は、モジュロ−P加算であり、前記第2動作は、モジュロ−P乗算であり、Pは、2以上の自然数である。
【発明の効果】
【0021】
本発明の実施形態によるデータ処理装置は、ハードウェア複雑さ(hardware complexity)を増加させず、ランダム性(randomness)が増加した擬似乱数シーケンスを生成させ、前記擬似乱数シーケンスを用いてデータのランダム性をさらに増加させる。
本発明の詳細な説明で引用される図面をより十分に理解するために、各図面の詳細な説明が提供される。
【図面の簡単な説明】
【0022】
【図1】本発明の一実施形態による擬似乱数発生器を含むデータ処理装置のブロック図を示す。
【図2】図1に示された擬似乱数発生器を含むランダマイザーの一実施形態を示す。
【図3】図2に示された擬似乱数発生器の一例を示す。
【図4】図1に示された擬似乱数発生器を含むデランダマイザーの一実施形態を示す。
【図5】本発明の他の実施形態による擬似乱数発生器を含むデータ処理装置のブロック図を示す。
【図6】図5に示された擬似乱数発生器を含むランダマイザーの一実施形態を示す。
【図7】図5に示された擬似乱数発生器を含むデランダマイザーの一実施形態を示す。
【図8】図5に示された擬似乱数発生器を含むランダマイザーの他の実施形態を示す。
【図9】図5に示された擬似乱数発生器を含むデランダマイザーの他の実施形態を示す。
【図10】図5に示された擬似乱数発生器を含むランダマイザーのさらに他の実施形態を示す。
【図11】図5に示された擬似乱数発生器を含むデランダマイザーのさらに他の実施形態を示す。
【図12】図5に示された擬似乱数発生器を含むランダマイザーのさらに他の実施形態を示す。
【図13】図5に示された擬似乱数発生器を含むデランダマイザーのさらに他の実施形態を示す。
【図14】図5に示された擬似乱数発生器を含むランダマイザーのさらに他の実施形態を示す。
【図15】図5に示された擬似乱数発生器を含むデランダマイザーのさらに他の実施形態を示す。
【図16A】本発明の実施形態による擬似乱数発生器と変換回路とがデータ処理装置で具現された一実施形態を示す。
【図16B】図16Aに示された変換回路の一実施形態を示すブロック図である。
【図17】本発明の実施形態による擬似乱数発生器と変換回路とがデータ処理装置で具現された他の実施形態を示す。
【図18】本発明の実施形態による擬似乱数発生器と変換回路とがデータ処理装置で具現されたさらに他の実施形態を示す。
【図19】本発明の実施形態によるランダマイザーとデランダマイザーとがデータ処理装置で具現された一実施形態を示す。
【図20】本発明の実施形態によるランダマイザーとデランダマイザーとがデータ処理装置で具現された他の実施形態を示す。
【図21】本発明の実施形態によるランダマイザーとデランダマイザーとがデータ処理装置で具現されたさらに他の実施形態を示す。
【図22】本発明の一実施形態によるデータ処理装置の動作方法を示すフローチャートである。
【図23】本発明の他の実施形態によるデータ処理装置の動作方法を示すフローチャートである。
【発明を実施するための形態】
【0023】
以下、添付した図面を参照して、本発明を詳しく説明する。
【0024】
図1は、本発明の一実施形態による擬似乱数発生器を含むデータ処理装置のブロック図を示す。図1を参照すると、データ処理装置10は、擬似乱数発生器20、多項式係数コントローラ30、及びテーブル(table)40を含む。例えば、テーブル40は、不揮発性メモリによって構成することができる。
【0025】
データ処理装置10は、ランダマイザーまたはデランダマイザーのうちの少なくとも1つを含む、現在知られたか、または現在開発中である、あらゆるデータ処理装置を意味する。
【0026】
したがって、データ処理装置10は、PC(Personal Computer)、タブレット(tablet)PC、ノート型パソコン、メモリカード(memory card)、スマートカード(smart card)、携帯電話、スマートフォン(smart phone)、車両用ナビゲーター(navigator)、データサーバ(dataserver)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、またはネットワーク接続ストレージ(Network−attached storage、NAS)として具現可能である。
【0027】
例えば、擬似乱数発生器20は、多項式係数コントローラ30から出力されたメモリアクセスパラメータまたはパラメータMPによって多様な擬似乱数シーケンス(pseudo random number generator;RS)を発生させうる。したがって、擬似乱数発生器20に含まれた構成要素によって、擬似乱数発生器20は、線形擬似乱数シーケンスRSまたは非線形擬似乱数シーケンスRSを発生させうる。
【0028】
電子回路、ロジック(logic)装置、ソフトウェアコード(software code)、またはこれらの組合わせで具現可能な多項式係数コントローラ30は、テーブル40に保存されたデータを参照して、擬似乱数発生器20の動作、例えば、フィードバック多項式または特性多項式(characteristic polynomial)を決定するためのパラメータMPを擬似乱数発生器20に伝送する。
【0029】
擬似乱数シーケンスRSは、前記フィードバック多項式または前記特性多項式によって決定されうる。パラメータMPは、テーブル40に保存されたデータのその自体であり、多項式係数コントローラ30によって処理されたデータであり得る。
【0030】
テーブル40は、メモリ装置に対するアクセス(access)動作、例えば、リード(read)動作、ライト(write)動作、プログラム(program)動作、またはイレーズ(erase)動作に必要なデータを保存することができる。アクセスされるメモリ装置は、揮発性メモリ装置または不揮発性メモリ装置であり得る。
【0031】
例えば、テーブル40に保存されたデータに相応するパラメータMPは、ワードラインアドレス、またはビットラインアドレスのうちの少なくとも1つを含む。また、アクセス動作の対象となったメモリが複数のブロックを含み、前記複数のブロックのそれぞれが複数のページを含むフラッシュ、例えば、NANDフラッシュメモリである時、パラメータMPは、ブロックアドレス、ワードラインアドレス、ビットラインアドレス、ページアドレス、前記メモリのID(identification)を表わすメモリチップ(chip)ID、プログラム回数、またはイレーズ回数のうちの少なくとも1つを含みうる。したがって、パラメータMPは、メモリ(例えば、揮発性メモリセルまたは不揮発性メモリセル)に対するアクセス動作に必要な情報を意味する。パラメータMPは、1ビットまたはそれ以上のビットを含みうる。
【0032】
図2は、図1に示された擬似乱数発生器を含むランダマイザーの一実施形態を示す。図1と図2とを参照すると、ランダマイザー100は、擬似乱数発生器20aと変換回路50aとを含む。図1の擬似乱数発生器20の一例である擬似乱数発生器20aは、複数のシフトレジスタまたは直列(または、カスケード(cascade))接続された複数のシフトレジスタ21−1〜21−4と、フィードバック多項式決定器22とを含む。
【0033】
複数のシフトレジスタ21−1〜21−4のうち、最後のシフトレジスタ(例えば、21−4)を除いた残りのシフトレジスタのうちの何れか1つ(例えば、21−2)の出力端子は、電気的な回路パターンを通じて変換回路50aに接続される。
【0034】
変換回路50aは、入力データを出力ランダムデータR_DATA1にランダマイズすることができる。変換回路50aは、複数のシフトレジスタ21−1〜21−4のうち、最後のシフトレジスタ(例えば、21−4)を除いた残りのシフトレジスタのうちの何れか1つ(例えば、21−2)の出力端子から出力される擬似乱数シーケンスRSを用いて、第1データ、例えば、ユーザデータUDATA1を第2データR_DATA1にランダマイズすることができる。例えば、第1データUDATA1は、原本データ(original data)を意味する。
【0035】
この際、擬似乱数発生器20aによって発生した擬似乱数シーケンスRSは、二進シーケンス(binary sequence)または非二進シーケンス(non−binary sequence)であり得る。例えば、変換回路50aは、擬似乱数シーケンスRSと第1データUDATA1とをモジュロ加算(modulo addition)し、その結果としてランダマイズされた第2データR_DATA1を出力することができる。
【0036】
実施形態によって、変換回路50aは、ブール論理ゲート(Boolean logicgate)、例えば、ANDゲート、ORゲート、NOTゲート、XOR(exclusive−or)ゲート、XNOR(exclusive−nor)ゲート、またはこれらの組合わせで具現可能である。
【0037】
変換回路50aから出力されたランダマイズされた第2データR_DATA1は、メモリ(例えば、図16A〜図21に示された310)にライトまたはプログラムされる。
【0038】
例えば、前記メモリは、複数のワードライン、複数のビットライン、及びそれぞれが前記複数のワードラインのそれぞれと前記複数のビットラインのそれぞれとの間に接続された複数のメモリセルを含むメモリセルアレイと、前記メモリセルアレイに/からランダマイズされた第2データR_DATA1をライト/リードするためのライト回路/リード回路を含む。すなわち、ランダマイズされた第2データR_DATA1は、前記ライト回路を通じて前記メモリセルアレイにライトされる。
【0039】
前記複数のメモリセルのそれぞれは、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、T−RAM(Thyristor RAM)、Z−RAM(Zero capacitor RAM)、またはTTRAM(Twin Transistor RAM)のように現存する揮発性メモリセル(volatile memory cell)と現在開発中である揮発性メモリセルとを含む。
【0040】
また、前記複数のメモリセルのそれぞれは、不揮発性(non−volatile)メモリセルとして具現可能である。前記不揮発性メモリセルは、EEPROM(Electrically Erasable Programmable Read−Only Memory)、フラッシュ(flash)メモリ、MRAM(Magnetic RAM)、スピン伝達トルクMRAM(Spin−Transfer Torque MRAM)、Conductive bridging RAM(CBRAM)、FeRAM(Ferroelectric RAM)、OUM(Ovonic Unified Memory)とも呼ばれるPRAM(Phase change RAM)、抵抗メモリ(Resistive RAM:RRAM(登録商標)またはReRAM)、ナノチューブRRAM(登録商標)(Nanotube RRAM)、ポリマーRAM(Polymer RAM:PoRAM)、ナノ浮遊ゲートメモリ(Nano Floating Gate Memory:NFGM)、ホログラフィックメモリ(holographic memory)、分子電子メモリ素子(Molecular Electronics Memory Device)、または絶縁抵抗変化メモリ(Insulator Resistance Change Memory)を含みうる。前記不揮発性メモリセルは、1ビットまたはそれ以上のビットを保存することができる。
【0041】
フィードバック多項式決定器22は、メモリ(例えば、図16A〜図21の310)のアクセスに必要なパラメータMPを用いて、擬似乱数発生器20aのフィードバック多項式または特性多項式を決定することができる。例えば、フィードバック多項式決定器22が、複数のブール論理ゲートを含む論理ゲートアレイ24を含む時、論理ゲートアレイ24は、パラメータMPを用いて最初のシフトレジスタ21−1にフィードバックされる論理出力を決定する。
【0042】
図2に示されたgi(0≦i≦m)は、フィードバック加重値(feedback weight)、フィードバックタップ(feedback tap)、またはフィードバック多項式の係数(coefficient)を意味するものであって、‘0’は非接触(no connection)、‘1’以上はフィードバックを意味する。したがって、フィードバック多項式決定器22のgi(0≦i≦m)及び/または論理ゲートアレイ24の論理出力は、パラメータMPによって調節または決定されうる。
【0043】
従来のLFSR(linear feedback shift register)は、直列に接続された複数のシフトレジスタから最後のシフトレジスタから出力されるビットを擬似乱数シーケンスとして出力した。
【0044】
しかし、本発明の実施形態による図2に示された擬似乱数発生器20aは、複数のシフトレジスタ21−1〜21−4のうち、最後のシフトレジスタ21−4を除いた残りのシフトレジスタのうちの何れか1つから出力されるビットを擬似乱数シーケンスRSとして出力する。また、擬似乱数シーケンスRSは、パラメータMPによって決定されるので、擬似乱数シーケンスRSのランダム性がさらに増加する。
【0045】
図3は、図2に示された擬似乱数発生器の一例を示す。図3に示された擬似乱数発生器20aは、16ビットフィボナッチ(Fibonacci)LFSRとして具現されたものであって、16個のシフトレジスタから最後のシフトレジスタを除いた15個のシフトレジスタのうちの何れか1つから出力された擬似乱数シーケンスRSは、図2に示された変換回路50aに伝送される。
【0046】
実施形態によって、擬似乱数発生器20aは、ガロアLFSRとして具現可能である。この際、ガロアLFSRに含まれた複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか1つから出力された擬似乱数シーケンスは、図2に示された変換回路50aに伝送することができる。
【0047】
擬似乱数発生器20aが、ガロアLFSRとして具現される時、論理ゲートアレイ24の論理出力は、ガロアLFSRに含まれた複数のシフトレジスタのうちの何れか1つのシフトレジスタの入力にフィードバックされうる。したがって、本明細書で説明する図1または図5の擬似乱数発生器20は、フィボナッチ線形フィードバック擬似乱数発生器、ガロア線形フィードバック擬似乱数発生器、フィボナッチ非線形フィードバック擬似乱数発生器、またはガロア非線形フィードバック擬似乱数発生器として具現可能である。
【0048】
二進擬似乱数発生器として具現された図3の擬似乱数発生器20aは、図2に示されたフィードバック多項式決定器22がパラメータMPを用いてフィードバック多項式または特性多項式を決定できるということを説明するための例示に過ぎない。したがって、論理ゲートアレイ24が、複数のXORゲートを含んでいる時、パラメータMPによってそれぞれのgi(0≦i≦m)の‘1’または‘0’が決定されれば、これによって論理ゲートアレイ24の論理出力が決定される。
【0049】
図4は、図1に示された擬似乱数発生器を含むデランダマイザーの一実施形態を示す。入出力されるデータUDATA2とR_DATA2の方向と、変換回路50bがランダマイズされた第3データR_DATA2から擬似乱数シーケンスRSをモジュロ減算(modulo subtraction)して、第4データUDATA2を生成することを除けば、図2に示されたランダマイザー100の構造と図4に示されたデランダマイザー101の構造は、実質的に同一である。擬似乱数シーケンスRSが二進シーケンスであり、変換回路50aまたは50bがXORゲートとして具現される時、モジュロ−2加算演算結果とモジュロ−2減算演算結果は、互いに同一である。
【0050】
実施形態によって、変換回路50bは、ブール論理ゲート、例えば、ANDゲート、ORゲート、NOTゲート、XORゲート、XNORゲート、またはこれらの組合わせで具現可能である。
【0051】
デランダマイザー101の変換回路50bは、複数のシフトレジスタ21−1〜21−4のうち、最後のシフトレジスタ21−4を除いた残りのシフトレジスタのうちの何れか1つ(例えば、21−2)から出力される擬似乱数シーケンスRSを用いて、ランダマイズされた第3データR_DATA2を第4データUDATA2にデランダマイズする。
【0052】
この際、複数のシフトレジスタ21−1〜21−4のうち、最後のシフトレジスタ21−4を除いた残りのシフトレジスタのうちの何れか1つ(例えば、21−2)から出力される擬似乱数シーケンスRSは、第3データR_DATA2を保存するメモリ(図16A〜図21の310)のアクセスに必要なパラメータMPを用いて決定されたフィードバック多項式によって決定される。
【0053】
表1は、複数のビットを含むパラメータMPによってフィードバック多項式が決定されうるということを例示的に表わす表である。
【0054】
【表1】
【0055】
図5は、本発明の他の実施形態による擬似乱数発生器を含むデータ処理装置のブロック図を示す。図1と図5とを参照すると、擬似乱数発生器20に含まれた複数のシフトレジスタのうちの少なくとも2つのシフトレジスタの出力信号を選択して組み合わせ、該組み合わせられた信号を擬似乱数シーケンスRSとして出力する組み合わせ回路200を除けば、図1のデータ処理装置10の構造と図5のデータ処理装置11の構造は、実質的に同一である。
【0056】
この際、組み合わせ回路200は、テーブル40から出力された選択信号SELまたは第2パラメータMP2に応答して、擬似乱数発生器20に含まれた複数のシフトレジスタのうちの少なくとも2つのシフトレジスタの出力信号を選択する選択動作(selection operation)及び/または前記選択された少なくとも2つのシフトレジスタの出力信号の組み合わせ方法(combination method)を選択することができる。前記組み合わせ方法は、モジュロ−P加算(Modulo−P addition)、モジュロ−P減算(modulo−P subtraction)、またはモジュロ−P乗算(Modulo−P multiplication)であり、Pは、2以上の自然数である。
【0057】
例えば、擬似乱数シーケンスRSが、二進シーケンスである時、組み合わせ回路200は、複数のビットを含む第2パラメータMP2によって、モジュロ−2加算、モジュロ−2減算、またはモジュロ−2乗算を行うことができる。また、擬似乱数シーケンスが、P−aryシーケンスである時、組み合わせ回路200は、第2パラメータMP2によって、モジュロ−P加算、モジュロ−P減算、またはモジュロ−P乗算を行うことができる。
【0058】
図6は、図5に示された擬似乱数発生器を含むランダマイザーの一実施形態を示す。図6を参照すると、ランダマイザー110は、図5に示された擬似乱数発生器20の一実施形態として具現された擬似乱数発生器20b、図5に示された組み合わせ回路200の一例として具現された選択器200A、及び変換回路50aを含む。
【0059】
選択器200Aは、擬似乱数発生器20bに含まれた複数のシフトレジスタ21−1〜21−4のそれぞれから出力された出力信号を受信し、選択信号SELによって複数のシフトレジスタ21−1〜21−4のうち、最後のシフトレジスタ21−4を除いた残りのシフトレジスタのうちの何れか1つの出力信号を選択し、該選択された出力信号を擬似乱数シーケンスRSとして変換回路50aに出力する。
【0060】
選択信号SELとして前述したパラメータMPが使われる。選択信号SELは、1ビットまたはそれ以上のビットであり、選択器200Aは、マルチフレクサとして具現可能である。モジュロ加算を行うことができる変換回路50aは、選択器200Aから出力された擬似乱数シーケンスRSによって、第1データUDATA1を第2データR_DATA1にランダマイズする。
【0061】
図7は、図5に示された擬似乱数発生器を含むデランダマイザーの一実施形態を示す。入出力されるデータUDATA2とR_DATA2の方向と、変換回路50bがランダマイズされた第3データR_DATA2から擬似乱数シーケンスRSをモジュロ減算して、第4データUDATA2を生成することを除けば、図6に示されたランダマイザー110の構造と図7に示されたデランダマイザー111の構造は、実質的に同一である。
【0062】
変換回路50bは、選択器200Aから出力された擬似乱数シーケンスRSによってランダマイズされた第3データR_DATA2を第4データUDATA2にデランダマイズする。前述したように、擬似乱数シーケンスRSは、最後のシフトレジスタ21−4を除いた残りのシフトレジスタ21−1〜21−4のうちから如何なるシフトレジスタの出力が選択されるか否かによって決定される。
【0063】
図8は、図5に示された擬似乱数発生器を含むランダマイザーの他の実施形態を示す。図8を参照すると、ランダマイザー120は、図5に示された擬似乱数発生器20の他の実施形態として具現された擬似乱数発生器20c、図5に示された組み合わせ回路200の他の例として具現された組み合わせ回路200B、及び変換回路50aを含む。
【0064】
組み合わせ回路200Bは、擬似乱数発生器20cに含まれた複数のシフトレジスタ21−1〜21−4のそれぞれから出力された出力信号を受信し、第2パラメータMP2によって複数のシフトレジスタ21−1〜21−4のうちの少なくとも2つのシフトレジスタの出力信号を選択する選択動作及び/または前記選択された少なくとも2つのシフトレジスタの出力信号の組み合わせ方法を選択することができる。
【0065】
第2パラメータMP2によって選択された前記組み合わせ方法は、モジュロ−P加算またはモジュロ−P乗算であり、Pは、2以上の自然数である。組み合わせ回路200Bは、前記選択動作及び/または前記組み合わせ方法によって決定された擬似乱数シーケンスRSを出力する。
【0066】
例えば、第2パラメータMP2が5ビットであり、擬似乱数発生器20が4個のシフトレジスタを含み、第2パラメータMP2のMSB(Most Significant Bit)がモジュロ−P加算(例えば、MSBが1である場合)またはモジュロ−P乗算(例えば、MSBが0である場合)を選択し、擬似乱数シーケンスRSが二進シーケンスであり、第2パラメータMP2が11001である時、組み合わせ回路200Cは、4個のシフトレジスタのうちから最初のシフトレジスタの出力と最後のシフトレジスタの出力とをモジュロ−2加算することができる。
【0067】
また、同じ条件で、第2パラメータMP2が01110である時、組み合わせ回路200Cは、4個のシフトレジスタのうちから最初のシフトレジスタから三番目のシフトレジスタの出力をモジュロ−2乗算することができる。
【0068】
実施形態によって、第2パラメータMP2は、前述したパラメータMPと同じパラメータであり、パラメータMPと互いに異なるパラメータであり得る。しかし、第2パラメータMP2も、メモリ(例えば、揮発性メモリまたは不揮発性メモリ)に対するアクセス動作、例えば、リード動作、ライト動作、プログラム動作、またはイレーズ動作に必要なパラメータであり得る。
【0069】
変換回路50aは、組み合わせ回路200Bから出力された擬似乱数シーケンスRSによって第1データUDATA1を第2データR_DATA1にランダマイズする。
【0070】
図9は、図5に示された擬似乱数発生器を含むデランダマイザーの他の実施形態を示す。入出力されるデータUDATA2とR_DATA2の方向と、変換回路50bがランダマイズされた第3データR_DATA2から擬似乱数シーケンスRSをモジュロ減算して、第4データUDATA2を生成することを除けば、図8に示されたランダマイザー120の構造と図9に示されたデランダマイザー121の構造は、実質的に同一である。
【0071】
モジュロ減算を行うことができる変換回路50bは、組み合わせ回路200Bから出力された擬似乱数シーケンスRSによってランダマイズされた第3データR_DATA2を第4データUDATA2にデランダマイズする。
【0072】
図10は、図5に示された擬似乱数発生器を含むランダマイザーのさらに他の実施形態を示す。図10を参照すると、ランダマイザー130は、図5の擬似乱数発生器20のさらに他の実施形態による擬似乱数発生器20d、図5に示された組み合わせ回路200のさらに他の例として具現されたブール論理ゲート200C、及び変換回路50aを含む。図10には、説明の便宜上、ブール論理ゲート200CとしてXORゲートが例示的に示されている。実施形態によって、ブール論理ゲート200Cは、モジュロ−P加算またはモジュロ−P乗算を行うことができる他の組み合わせ回路に代替されうる。
【0073】
ブール論理ゲート200Cは、擬似乱数発生器20dに含まれた複数のシフトレジスタ21−1〜21−4のうちから2つのシフトレジスタ21−1と21−3の出力信号をブール論理結合して、該結合の結果として擬似乱数シーケンスRSを出力する。
【0074】
モジュロ加算を行うことができる変換回路50aは、ブール論理ゲート200Cから出力された擬似乱数シーケンスRSを用いて第1データUDATA1を第2データR_DATA1にランダマイズする。
【0075】
図11は、図5に示された擬似乱数発生器を含むデランダマイザーのさらに他の実施形態を示す。入出力されるデータUDATA2とR_DATA2の方向と、変換回路50bがランダマイズされた第3データR_DATA2から擬似乱数シーケンスRSをモジュロ減算して、第4データUDATA2を生成することを除けば、図10に示されたランダマイザー130の構造と図11に示されたデランダマイザー131の構造は、実質的に同一である。変換回路50bは、ブール論理ゲート200Cから出力された擬似乱数シーケンスRSによってランダマイズされた第3データR_DATA2を第4データUDATA2にデランダマイズする。
【0076】
図12は、図5に示された擬似乱数発生器を含むランダマイザーのさらに他の実施形態を示す。図12を参照すると、ランダマイザー140は、図5の擬似乱数発生器20のさらに他の実施形態である擬似乱数発生器20e、図5に示された組み合わせ回路200のさらに他の例として具現されたブール論理ゲート200D、及び変換回路50aを含む。図12には、説明の便宜上、ブール論理ゲート200DとしてXORゲートが例示的に示されている。実施形態によって、ブール論理ゲート200Dは、モジュロ−P加算またはモジュロ−P乗算を行うことができる他の組み合わせ回路に代替されうる。
【0077】
ブール論理ゲート200Dは、擬似乱数発生器20eに含まれた複数のシフトレジスタ21−1〜21−4のうちから3つのシフトレジスタ21−1、21−3、及び21−4の出力信号をブール論理結合して、該結合の結果として擬似乱数シーケンスRSを出力する。
【0078】
変換回路50aは、ブール論理ゲート200Dから出力された擬似乱数シーケンスRSによって第1データUDATA1を第2データR_DATA1にランダマイズする。
【0079】
図13は、図5に示された擬似乱数発生器を含むデランダマイザーのさらに他の実施形態を示す。入出力されるデータUDATA2とR_DATA2の方向と、変換回路50bがランダマイズされた第3データR_DATAから擬似乱数シーケンスRSをモジュロ減算して、第4データUDATA2を生成することを除けば、図12に示されたランダマイザー140の構造と図13に示されたデランダマイザー141の構造は、実質的に同一である。変換回路50bは、ブール論理ゲート200Dから出力された擬似乱数シーケンスRSによってランダマイズされた第3データR_DATA2を第4データUDATA2にデランダマイズする。
【0080】
図14は、図5に示された擬似乱数発生器を含むランダマイザーのさらに他の実施形態を示す。図14を参照すると、ランダマイザー150は、図5の擬似乱数発生器20のさらに他の実施形態である擬似乱数発生器20f、図5に示された組み合わせ回路200のさらに他の例として具現されたブール論理ゲート200E、及び変換回路50aを含む。図14には、説明の便宜上、ブール論理ゲート200EとしてXORゲートが例示的に示されている。実施形態によって、ブール論理ゲート200Eは、モジュロ−P加算またはモジュロ−P乗算を行うことができる他の組み合わせ回路に代替されうる。
【0081】
ブール論理ゲート200Eは、擬似乱数発生器20fに含まれた複数のシフトレジスタ21−1〜21−4のいずれもの出力信号をブール論理結合して、該結合の結果として擬似乱数シーケンスRSを出力する。変換回路50aは、ブール論理ゲート200Eから出力された擬似乱数シーケンスRSによって第1データUDATA1を第2データR_DATA1にランダマイズする。
【0082】
図15は、図5に示された擬似乱数発生器を含むデランダマイザーのさらに他の実施形態を示す。入出力されるデータUDATA2とR_DATA2の方向と、変換回路50bがランダマイズされた第3データR_DATA2から擬似乱数シーケンスRSをモジュロ減算して、第4データUDATA2を生成することを除けば、図14に示されたランダマイザー150の構造と図15に示されたデランダマイザー151の構造は、実質的に同一である。変換回路50bは、ブール論理ゲート200Eから出力された擬似乱数シーケンスRSによってランダマイズされた第3データR_DATA2を第4データUDATA2にデランダマイズする。
【0083】
図16Aは、本発明の実施形態による擬似乱数発生器と変換回路とがデータ処理装置で具現された一実施形態を示す。1つのチップに具現可能なデータ処理装置300は、擬似乱数発生器20、変換回路50c、及びメモリ310を含む。擬似乱数発生器20は、前述した擬似乱数発生器20a、20b、20c、20d、20e、及び20fのうちの何れか1つとして具現可能である。
【0084】
ライト(または、プログラム)動作の間に、変換回路50cは、擬似乱数発生器20から出力された擬似乱数シーケンスRSによって第1データUDATAi(iは、1)を第2データR_DATAi(iは、1)にランダマイズし、該ランダマイズされた第2データR_DATAiは、ライト回路を通じてメモリ310にライト(または、プログラム)される。リード動作の間に、変換回路50cは、メモリ310からリードされたランダマイズされた第3データR_DATAi(iは、2)を擬似乱数発生器20から出力された擬似乱数シーケンスRSによって第4データUDATAi(iは、2)にデランダマイズすることができる。
【0085】
図16Bは、図16Aに示された変換回路の一実施形態を示すブロック図である。図16Aと図16Bとを参照すると、1つの擬似乱数発生器20を共有する変換回路50cは、第1変換回路50−1と第2変換回路50−2とを含む。
【0086】
ライト動作の間に、ハイレベルを有するライトイネーブル信号WEによってイネーブルされた第1変換回路50−1は、擬似乱数シーケンスRSを用いて第1データUDATA1を第2データR_DATA1にランダマイズすることができる。リード動作の間に、ハイレベルを有するリードイネーブル信号REによってイネーブルされた第2変換回路50−2は、ランダマイズされた第3データR_DATA2を擬似乱数シーケンスRSを用いて第4データUDATA2にデランダマイズすることができる。
【0087】
ライトイネーブル信号WEがハイレベルに変更される時点とリードイネーブル信号REがハイレベルに変更される時点とを適切に調節できるならば、前記ライト動作と前記リード動作は、互いに異なる時点に行われ、または同時に行われる。
【0088】
第1変換回路50−1は、モジュロ加算を行うことができる変換回路50aとして具現可能であり、第2変換回路50−2は、モジュロ減算を行うことができる変換回路50bとして具現可能である。
【0089】
図17は、本発明の実施形態による擬似乱数発生器と変換回路とがデータ処理装置で具現された他の実施形態を示す。データ処理装置400は、メモリ310と、メモリ310の動作を制御することができるコントローラ410とを含む。擬似乱数発生器20と変換回路50cは、メモリ310が集積されたチップと別個のチップとして具現されたコントローラ410に集積される。
【0090】
ライト(または、プログラム)動作の間に、変換回路50cは、擬似乱数シーケンスRSを用いて第1データUDATAi(iは、1)を第2データR_DATAi(iは、1)をランダマイズし、該ランダマイズされた第2データR_DATAi(iは、1)をデータバスを通じてメモリ310に伝送する。リード動作の間に、変換回路50cは、メモリ310からリードされたランダマイズされた第3データR_DATAi(iは、2)を擬似乱数シーケンスRSを用いて第4データUDATAi(iは、2)にデランダマイズすることができる。
【0091】
図18は、本発明の実施形態による擬似乱数発生器と変換回路とがデータ処理装置で具現されたさらに他の実施形態を示す。データ処理装置500は、メモリ310、メモリ310の動作を制御することができるコントローラ510、及びランダマイザー/デランダマイザー520を含む。
【0092】
擬似乱数発生器20と変換回路50cとを含むランダマイザー/デランダマイザー520は、メモリ310とコントローラ510との間に具現可能である。この際、ランダマイザー/デランダマイザー520は、別個のチップとして具現可能である。したがって、ライト(または、プログラム)動作の間に、変換回路50cは、擬似乱数発生器20から出力された擬似乱数シーケンスRSを用いてコントローラ510から出力されたデータUDATAiをランダマイズし、該ランダマイズされたデータR_DATAiをメモリ310に伝送しうる。
【0093】
リード動作の間に、変換回路50cは、メモリ310から出力されたランダマイズされたデータR_DATAiを擬似乱数発生器20から出力された擬似乱数シーケンスRSを用いてデランダマイズし、該デランダマイズされたデータUDATAiをコントローラ510に伝送しうる。
【0094】
図19、図20、及び図21に示された各データ処理装置600、700、及び800は、ライト(または、プログラム)動作とリード動作とを同時に行うことができる構造を有する。
【0095】
図19は、本発明の実施形態によるランダマイザーとデランダマイザーとがデータ処理装置で具現された一実施形態を示す。メモリ310、ランダマイザー610、及びデランダマイザー620は、1つのチップ601に集積されうる。ライト(または、プログラム)動作の間に、複数のランダマイザー100、110、120、130、140、及び150のうちの何れか1つとして具現可能なランダマイザー610は、各構成要素20a、200A、200B、200C、200D、または200Eから出力された擬似乱数シーケンスRSによって第1データUDATA1を第2データR_DATA1にランダマイズし、該ランダマイズされた第2データR_DATA1をメモリ310に伝送する。
【0096】
それと同時に、リード動作の間に、複数のデランダマイザー101、111、121、131、141、及び151のうちの何れか1つとして具現可能なデランダマイザー620は、メモリ310から出力されたランダマイズされた第3データR_DATA2を各構成要素20a、200A、200B、200C、200D、または200Eから出力された擬似乱数シーケンスRSによって第4データUDATA2にデランダマイズする。
【0097】
図20は、本発明の実施形態によるランダマイザーとデランダマイザーとがデータ処理装置で具現された他の実施形態を示す。データ処理装置700は、メモリ310と、メモリ310の動作を制御することができるコントローラ710とを含む。ランダマイザー710とデランダマイザー720は、コントローラ710に集積される。
【0098】
ライト(または、プログラム)動作の間に、複数のランダマイザー100、110、120、130、140、及び150のうちの何れか1つとして具現可能なランダマイザー720は、各構成要素20a、200A、200B、200C、200D、または200Eから出力された擬似乱数シーケンスRSによって第1データUDATA1を第2データR_DATA1にランダマイズし、該ランダマイズされた第2データR_DATA1をメモリ310に伝送する。
【0099】
それと同時に、リード動作の間に、複数のデランダマイザー101、111、121、131、141、及び151のうちの何れか1つとして具現可能なデランダマイザー730は、メモリ310から出力されたランダマイズされた第3データR_DATA2を各構成要素20a、200A、200B、200C、200D、または200Eから出力された擬似乱数シーケンスRSによって第4データUDATA2にデランダマイズする。
【0100】
図21は、本発明の実施形態によるランダマイザーとデランダマイザーとがデータ処理装置で具現されたさらに他の実施形態を示す。データ処理装置800は、メモリ310、メモリ310の動作を制御することができるコントローラ810、及びランダマイザー/デランダマイザー820を含む。ランダマイザー/デランダマイザー820は、メモリ310とコントローラ810との間に具現される。
【0101】
ライト(または、プログラム)動作の間に、複数のランダマイザー100、110、120、130、140、及び150のうちの何れか1つとして具現可能なランダマイザー830は、各構成要素20a、200A、200B、200C、200D、または200Eから出力された擬似乱数シーケンスRSによって、コントローラ810から出力された第1データUDATA1を第2データR_DATA1にランダマイズし、該ランダマイズされた第2データR_DATA1をメモリ310に伝送する。
【0102】
それと同時に、リード動作の間に、複数のデランダマイザー101、111、121、131、141、及び151のうちの何れか1つとして具現可能なデランダマイザー840は、メモリ310から出力されたランダマイズされた第3データR_DATA2を各構成要素20a、200A、200B、200C、200D、または200Eから出力された擬似乱数シーケンスRSによって第4データUDATA2にデランダマイズし、該デランダマイズされた第4データUDATA2をコントローラ810に出力する。
【0103】
図22は、本発明の一実施形態によるデータ処理装置の動作方法を示すフローチャートである。図1、図2、図4、図6、図7、及び図22を参照すると、擬似乱数発生器20は、複数のシフトレジスタ21−1〜21−4のうち、最後のシフトレジスタ21−4を除いた残りのシフトレジスタのうちの何れか1つのシフトレジスタを用いて擬似乱数シーケンスRSを発生させる(ステップS10)。
【0104】
プログラム動作の間に、変換回路50aは、擬似乱数シーケンスRSを用いて第1データUDATA1を第2データR_DATA1にランダマイズする。リード動作の間に、変換回路50bは、擬似乱数シーケンスRSによってランダマイズされた第3データR_UDATA2を第4データUDATA2にデランダマイズする(ステップS20)。
【0105】
図23は、本発明の他の実施形態によるデータ処理装置の動作方法を示すフローチャートである。図5、図8ないし図15、及び図23を参照すると、各組み合わせ回路200A、200B、200C、200D、及び200Eは、擬似乱数発生器20b、20c、20d、20e、及び20fに含まれた複数のシフトレジスタ21−1〜21−4のうちの少なくとも2つのシフトレジスタの出力信号を選択する選択動作及び/または前記少なくとも2つのシフトレジスタの出力信号の組み合わせ方法を用いて擬似乱数シーケンスRSを生成させる(ステップS110)。
【0106】
プログラム動作の間に、変換回路50aは、擬似乱数シーケンスRSを用いて第1データUDATA1を第2データR_DATA1にランダマイズして、メモリ310に伝送する。リード動作の間に、変換回路50bは、擬似乱数シーケンスRSを用いてランダマイズされた第3データR_UDATA2を第4データUDATA2にデランダマイズする(ステップS120)。
【0107】
実施形態によって、ライト(または、プログラム)動作の間に使われたパラメータとリード動作の間に使われたパラメータは、互いに同じパラメータであり、互いに異なるパラメータであり得る。
【0108】
本明細書で示された前方向タップ(feedforward taps;Tj、0≦j≦m)は、gi(0≦i≦m)とは異なって、組み合わせ回路200に入力される加重値または係数を意味する。
【0109】
本発明は、図面に示された一実施形態を参考にして説明されたが、これは例示的なものに過ぎず、当業者ならば、これより多様な変形及び均等な他実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決定されるべきである。
【産業上の利用可能性】
【0110】
本発明は、データ処理装置に利用されうる。
【符号の説明】
【0111】
20、20a、20b、20c、20d、及び20e:擬似乱数発生器
21−1〜21−4:シフトレジスタ
22:フィードバック多項式決定器
24:論理ゲートアレイ
30:多項式係数コントローラ
40:テーブル
50、50a、及び50b:変換回路
200:組み合わせ回路
200A:選択器
【特許請求の範囲】
【請求項1】
直列接続された複数のシフトレジスタ(shift registers)を含む擬似乱数発生器と、
前記複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか1つから出力される擬似乱数シーケンスを受信し、該受信された擬似乱数シーケンス(sequence)を用いて第1データを第2データに変換する変換回路と、
を含むデータ処理装置。
【請求項2】
前記擬似乱数発生器は、前記第1データまたは前記第2データのメモリアクセスパラメータ(memory access parameter)によって、前記擬似乱数発生器のフィードバック多項式(feedback polynomial)を決定するフィードバック多項式決定器を含む請求項1に記載のデータ処理装置。
【請求項3】
前記変換は、ランダマイズされた(randomized)前記第2データを得るために、前記第1データをランダマイズ(randomizing)することを含み、前記変換回路は、前記第1データと前記擬似乱数シーケンスとに対してモジュロ加算演算(modulo addition operation)を行う請求項2に記載のデータ処理装置。
【請求項4】
前記変換は、デランダマイズされた(de−randomized)前記第2データを得るために、前記第1データをデランダマイズ(de−randomizing)することを含み、前記変換回路は、前記第1データと前記擬似乱数シーケンスとに対してモジュロ減算演算(modulo subtraction operation)を行う請求項2に記載のデータ処理装置。
【請求項5】
前記擬似乱数発生器は、複数のブール論理ゲート(Boolean logic gates)を含み、前記第1データまたは前記第2データのメモリアクセスパラメータによって、前記擬似乱数シーケンスに相応する論理出力を決定する論理ゲートアレイ(logic gate array)を含む請求項1に記載のデータ処理装置。
【請求項6】
前記メモリアクセスパラメータは、ワードラインアドレス(word line address)またはビットラインアドレス(bit line address)である請求項2に記載のデータ処理装置。
【請求項7】
前記メモリアクセスパラメータの前記メモリが、複数のページ(pages)を含むブロック(block)を含むフラッシュメモリ(flash memory)である時、
前記メモリアクセスパラメータは、ブロックアドレス(block address)、ページアドレス(page address)、ワードラインアドレス、ビットラインアドレス、前記メモリのチップID(chip Identification)、プログラム回数(program count)、及びイレーズ回数(erase count)のうちの少なくとも1つである請求項2に記載のデータ処理装置。
【請求項8】
前記擬似乱数発生器は、フィボナッチ線形フィードバック(Fibonacci linear feedback)擬似乱数発生器、ガロア(Galois)線形フィードバック擬似乱数発生器、フィボナッチ非線形フィードバック擬似乱数発生器、及びガロア非線形フィードバック擬似乱数発生器のうちの何れか1つである請求項2に記載のデータ処理装置。
【請求項9】
直列接続された複数のシフトレジスタを含む擬似乱数発生器と、
前記複数のシフトレジスタのうちの少なくとも2つのシフトレジスタの出力信号を組み合わせる組み合わせ回路と、
前記組み合わせ回路から出力された擬似乱数シーケンスを受信し、該受信された擬似乱数シーケンスを用いて第1データを第2データに変換する変換回路と、
を含むデータ処理装置。
【請求項10】
前記擬似乱数発生器は、前記第1データまたは前記第2データのメモリアクセスパラメータによって、前記擬似乱数発生器のフィードバック多項式を決定するフィードバック多項式決定器を含む請求項9に記載のデータ処理装置。
【請求項11】
前記変換は、ランダマイズされた前記第2データを得るために、前記第1データをランダマイズすることを含み、前記変換回路は、前記第1データと前記擬似乱数シーケンスとに対してモジュロ加算演算を行う請求項10に記載のデータ処理装置。
【請求項12】
前記変換は、デランダマイズされた前記第2データを得るために、前記第1データをデランダマイズすることを含み、前記変換回路は、前記第1データと前記擬似乱数シーケンスとに対してモジュロ減算演算を行う請求項10に記載のデータ処理装置。
【請求項13】
前記擬似乱数発生器は、複数のブール論理ゲートを含み、前記第1データまたは前記第2データのメモリアクセスパラメータによって、前記擬似乱数シーケンスに相応する論理出力を決定する論理ゲートアレイを含む請求項9に記載のデータ処理装置。
【請求項14】
前記組み合わせ回路は、前記第1データまたは前記第2データのメモリアクセスパラメータによって、前記複数のシフトレジスタのうち、前記少なくとも2つのシフトレジスタの出力信号を選択的に組み合わせる請求項9に記載のデータ処理装置。
【請求項15】
前記組み合わせ回路は、前記第1データまたは前記第2データのメモリアクセスパラメータによって、前記少なくとも2つのシフトレジスタの出力信号を組み合わせるための第1動作と第2動作とのうちの少なくとも1つを選択し、
前記第1動作は、モジュロ−P加算(Modulo−P addition)であり、前記第2動作は、モジュロ−P乗算(Modulo−P multiplication)であり、Pは、2以上の自然数である請求項9に記載のデータ処理装置。
【請求項16】
前記メモリアクセスパラメータは、ワードラインアドレスまたはビットラインアドレスである請求項10に記載のデータ処理装置。
【請求項17】
前記メモリアクセスパラメータの前記メモリが、複数のページを含むブロックを含むフラッシュメモリである時、
前記メモリアクセスパラメータは、ブロックアドレス、ページアドレス、ワードラインアドレス、ビットラインアドレス、前記メモリのチップID、プログラム回数、及びイレーズ回数のうちの少なくとも1つである請求項10に記載のデータ処理装置。
【請求項18】
メモリと、
直列接続された複数のシフトレジスタを含む擬似乱数発生器と、
前記複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか1つから出力される擬似乱数シーケンスを用いて、前記メモリに保存される第2データを得るために、第1データをランダマイズするランダマイザーと、
デランダマイズされた第4データを得るために、前記メモリから出力された第3データを前記擬似乱数シーケンスを用いてデランダマイズするデランダマイザーと、
を含むデータ処理装置。
【請求項19】
前記擬似乱数発生器は、前記第2データと前記第3データのそれぞれのメモリアクセスパラメータによって、前記擬似乱数発生器のフィードバック多項式を決定するフィードバック多項式決定器を含む請求項18に記載のデータ処理装置。
【請求項20】
メモリと、
直列接続された複数のシフトレジスタを含む擬似乱数発生器と、
前記複数のシフトレジスタのうちの少なくとも2つのシフトレジスタの出力信号を組み合わせる組み合わせ回路と、
前記組み合わせ回路から出力された擬似乱数シーケンスを用いて、前記メモリに保存される第2データを得るために、第1データをランダマイズするランダマイザーと、
デランダマイズされた第4データを得るために、前記メモリから出力された第3データを前記擬似乱数シーケンスを用いてデランダマイズするデランダマイザーと、
を含むデータ処理装置。
【請求項21】
前記組み合わせ回路は、前記第2データと前記第3データのそれぞれのメモリアクセスパラメータによって、前記少なくとも2つのシフトレジスタの出力信号を組み合わせるための第1動作と第2動作とのうちの少なくとも1つを選択し、
前記第1動作は、モジュロ−P加算であり、前記第2動作は、モジュロ−P乗算であり、Pは、2以上の自然数である請求項20に記載のデータ処理装置。
【請求項1】
直列接続された複数のシフトレジスタ(shift registers)を含む擬似乱数発生器と、
前記複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか1つから出力される擬似乱数シーケンスを受信し、該受信された擬似乱数シーケンス(sequence)を用いて第1データを第2データに変換する変換回路と、
を含むデータ処理装置。
【請求項2】
前記擬似乱数発生器は、前記第1データまたは前記第2データのメモリアクセスパラメータ(memory access parameter)によって、前記擬似乱数発生器のフィードバック多項式(feedback polynomial)を決定するフィードバック多項式決定器を含む請求項1に記載のデータ処理装置。
【請求項3】
前記変換は、ランダマイズされた(randomized)前記第2データを得るために、前記第1データをランダマイズ(randomizing)することを含み、前記変換回路は、前記第1データと前記擬似乱数シーケンスとに対してモジュロ加算演算(modulo addition operation)を行う請求項2に記載のデータ処理装置。
【請求項4】
前記変換は、デランダマイズされた(de−randomized)前記第2データを得るために、前記第1データをデランダマイズ(de−randomizing)することを含み、前記変換回路は、前記第1データと前記擬似乱数シーケンスとに対してモジュロ減算演算(modulo subtraction operation)を行う請求項2に記載のデータ処理装置。
【請求項5】
前記擬似乱数発生器は、複数のブール論理ゲート(Boolean logic gates)を含み、前記第1データまたは前記第2データのメモリアクセスパラメータによって、前記擬似乱数シーケンスに相応する論理出力を決定する論理ゲートアレイ(logic gate array)を含む請求項1に記載のデータ処理装置。
【請求項6】
前記メモリアクセスパラメータは、ワードラインアドレス(word line address)またはビットラインアドレス(bit line address)である請求項2に記載のデータ処理装置。
【請求項7】
前記メモリアクセスパラメータの前記メモリが、複数のページ(pages)を含むブロック(block)を含むフラッシュメモリ(flash memory)である時、
前記メモリアクセスパラメータは、ブロックアドレス(block address)、ページアドレス(page address)、ワードラインアドレス、ビットラインアドレス、前記メモリのチップID(chip Identification)、プログラム回数(program count)、及びイレーズ回数(erase count)のうちの少なくとも1つである請求項2に記載のデータ処理装置。
【請求項8】
前記擬似乱数発生器は、フィボナッチ線形フィードバック(Fibonacci linear feedback)擬似乱数発生器、ガロア(Galois)線形フィードバック擬似乱数発生器、フィボナッチ非線形フィードバック擬似乱数発生器、及びガロア非線形フィードバック擬似乱数発生器のうちの何れか1つである請求項2に記載のデータ処理装置。
【請求項9】
直列接続された複数のシフトレジスタを含む擬似乱数発生器と、
前記複数のシフトレジスタのうちの少なくとも2つのシフトレジスタの出力信号を組み合わせる組み合わせ回路と、
前記組み合わせ回路から出力された擬似乱数シーケンスを受信し、該受信された擬似乱数シーケンスを用いて第1データを第2データに変換する変換回路と、
を含むデータ処理装置。
【請求項10】
前記擬似乱数発生器は、前記第1データまたは前記第2データのメモリアクセスパラメータによって、前記擬似乱数発生器のフィードバック多項式を決定するフィードバック多項式決定器を含む請求項9に記載のデータ処理装置。
【請求項11】
前記変換は、ランダマイズされた前記第2データを得るために、前記第1データをランダマイズすることを含み、前記変換回路は、前記第1データと前記擬似乱数シーケンスとに対してモジュロ加算演算を行う請求項10に記載のデータ処理装置。
【請求項12】
前記変換は、デランダマイズされた前記第2データを得るために、前記第1データをデランダマイズすることを含み、前記変換回路は、前記第1データと前記擬似乱数シーケンスとに対してモジュロ減算演算を行う請求項10に記載のデータ処理装置。
【請求項13】
前記擬似乱数発生器は、複数のブール論理ゲートを含み、前記第1データまたは前記第2データのメモリアクセスパラメータによって、前記擬似乱数シーケンスに相応する論理出力を決定する論理ゲートアレイを含む請求項9に記載のデータ処理装置。
【請求項14】
前記組み合わせ回路は、前記第1データまたは前記第2データのメモリアクセスパラメータによって、前記複数のシフトレジスタのうち、前記少なくとも2つのシフトレジスタの出力信号を選択的に組み合わせる請求項9に記載のデータ処理装置。
【請求項15】
前記組み合わせ回路は、前記第1データまたは前記第2データのメモリアクセスパラメータによって、前記少なくとも2つのシフトレジスタの出力信号を組み合わせるための第1動作と第2動作とのうちの少なくとも1つを選択し、
前記第1動作は、モジュロ−P加算(Modulo−P addition)であり、前記第2動作は、モジュロ−P乗算(Modulo−P multiplication)であり、Pは、2以上の自然数である請求項9に記載のデータ処理装置。
【請求項16】
前記メモリアクセスパラメータは、ワードラインアドレスまたはビットラインアドレスである請求項10に記載のデータ処理装置。
【請求項17】
前記メモリアクセスパラメータの前記メモリが、複数のページを含むブロックを含むフラッシュメモリである時、
前記メモリアクセスパラメータは、ブロックアドレス、ページアドレス、ワードラインアドレス、ビットラインアドレス、前記メモリのチップID、プログラム回数、及びイレーズ回数のうちの少なくとも1つである請求項10に記載のデータ処理装置。
【請求項18】
メモリと、
直列接続された複数のシフトレジスタを含む擬似乱数発生器と、
前記複数のシフトレジスタから最後のシフトレジスタを除いた残りのシフトレジスタのうちの何れか1つから出力される擬似乱数シーケンスを用いて、前記メモリに保存される第2データを得るために、第1データをランダマイズするランダマイザーと、
デランダマイズされた第4データを得るために、前記メモリから出力された第3データを前記擬似乱数シーケンスを用いてデランダマイズするデランダマイザーと、
を含むデータ処理装置。
【請求項19】
前記擬似乱数発生器は、前記第2データと前記第3データのそれぞれのメモリアクセスパラメータによって、前記擬似乱数発生器のフィードバック多項式を決定するフィードバック多項式決定器を含む請求項18に記載のデータ処理装置。
【請求項20】
メモリと、
直列接続された複数のシフトレジスタを含む擬似乱数発生器と、
前記複数のシフトレジスタのうちの少なくとも2つのシフトレジスタの出力信号を組み合わせる組み合わせ回路と、
前記組み合わせ回路から出力された擬似乱数シーケンスを用いて、前記メモリに保存される第2データを得るために、第1データをランダマイズするランダマイザーと、
デランダマイズされた第4データを得るために、前記メモリから出力された第3データを前記擬似乱数シーケンスを用いてデランダマイズするデランダマイザーと、
を含むデータ処理装置。
【請求項21】
前記組み合わせ回路は、前記第2データと前記第3データのそれぞれのメモリアクセスパラメータによって、前記少なくとも2つのシフトレジスタの出力信号を組み合わせるための第1動作と第2動作とのうちの少なくとも1つを選択し、
前記第1動作は、モジュロ−P加算であり、前記第2動作は、モジュロ−P乗算であり、Pは、2以上の自然数である請求項20に記載のデータ処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16A】
【図16B】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16A】
【図16B】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【公開番号】特開2013−16173(P2013−16173A)
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願番号】特願2012−148312(P2012−148312)
【出願日】平成24年7月2日(2012.7.2)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung−ro,Yeongtong−gu,Suwon−si,Gyeonggi−do,Republic of Korea
【Fターム(参考)】
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願日】平成24年7月2日(2012.7.2)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung−ro,Yeongtong−gu,Suwon−si,Gyeonggi−do,Republic of Korea
【Fターム(参考)】
[ Back to top ]