"第1から第nnは2以上の整数のM系列データの組をクロック毎に生成するランダムデータ生成回路であって、供給されたシードデータに基づいて、第iiは1からnの整数のM系列データはM系列生成回路で前記シードデータをi段シフトしたデータと等しい前記第1から第nのM系列データを生成する、データ生成部と、前記第nのM系列データを前記クロックに応じて保持して、保持されたデータを前記シードデータとして前記データ生成部に供給する、データ保持部と、を備えることを特徴とするランダムデータ生成回路。前記データ生成部は、第1から第nのデータ処理回路を有し、前記各データ処理回路は、フリップフロップと論理回路で構成されたM系列生成回路からフリップフロップが除かれた構成を有すると共に、複数のデータ入力端子及び複数のデータ出力端子を有し、前記M系列生成回路において各フリップフロップの出力端子に接続されていた信号線が、対応するデータ入力端子に接続され、前記M系列生成回路において各フリップフロップの入力端子に接続されていた信号線が、対応するデータ出力端子に接続され、前記第1のデータ処理回路の前記複数のデータ入力端子には、前記シードデータが並列に供給され、第kkは1からn-1までの整数のデータ処理回路の前記複数のデータ出力端子は、第kのM系列データを並列に出力すると共に、それぞれ第k1のデータ処理回路の対応するデータ入力端子に接続され、前記第nのデータ処理回路の前記複数のデータ出力端子は、前記第nのM系列データを並列に出力すると共に、前記データ保持部に接続されていることを特徴とする請求項1のランダムデータ生成回路。前記第nのM系列データと、第mmは1からn-1までの整数のM系列データと、の何れかを選択して、選択されたデータを前記データ保持部に供給する、第1の選択回路を更に備え、前記データ保持部は、前記第1の選択回路から供給されたデータを前記クロックに応じて保持して、保持されたデータを前記シードデータとして前記データ生成部に供給することを特徴とする請求項1又は請求項2のランダムデータ生成回路。初期値データを出力する初期値出力回路と、前記初期値データと、前記データ保持部に保持されたデータと、の何れかを選択して、前記シードデータとして前記データ生成部に供給する、第2の選択回路と、を更に備えることを特徴とする請求項1から請求項3のランダムデータ生成回路。NAND型フラッシュメモリと、入力された書き込みデータをスクランブルして、スクランブルされたデータを前記フラッシュメモリに書き込むと共に、前記フラッシュメモリから読み出された読み出しデータをスクランブル解除する、スクランブル回路と、を備え、前記スクランブル回路は、請求項1から請求項4の何れかのランダムデータ生成回路と、前記各M系列データの所定のビット目の値からなるランダムデータと、前記書き込みデータと、を演算して、前記書き込みデータをスクランブルする、第1の演算回路と、前記ランダムデータと、前記読み出しデータと、を演算して、前記読み出しデータをスクランブル解除する、第2の演算回路と、を有することを特徴とするメモリシステム。本発明の目的は、ランダム性能が高いランダムデータ生成回路及びこれを備えたメモリシステムを提供することにある。実施形態によれば、ランダムデータ生成回路は、データ生成部と、データ保持部と、を備える。ランダムデータ生成回路は、第1から第nnは2以上の整数のM系列データの組をクロック毎に生成する。前記データ生成部は、供給されたシードデータに基づいて、第iiは1からnの整数のM系列データはM系列生成回路で前記シードデータをi段シフトしたデータと等しい前記第1から第nのM系列データを生成する。前記データ保持部は、前記第nのM系列データを前記クロックに応じて保持して、保持されたデータを前記シードデータとして前記データ生成部に供給する。本発明の実施形態の説明に先立ち、発明者らが本発明をなすに至った経緯について説明する。まず、発明者らが知得する比較例のランダムデータ生成回路について説明する。ここでは、16ビットのデータを同時に書き込み又は読み出しできる16ビットのデータ幅のNAND型フラッシュメモリに適用可能なランダムデータ生成回路について説明する。このランダムデータ生成回路は、M系列生成回路によってランダムデータを生成している。1M系列生成回路M系列生成回路とは、シフトレジスタと排他的論理和回路を使用することで擬似的にランダムなデータを生成できる回路である。図6に、ガロア型のM系列生成回路の一例として13ビットM系列生成回路を示す。この13ビットM系列生成回路は、シフトレジスタを構成する13個のレジスタフリップフロップR1~R13と、3個の排他的論理和回路EO1~EO3と、を備える。ランダムデータの生成は、シード初期値をレジスタR1~R13にセットし、その後、クロック毎に各レジスタ値を1ビット右へシフトさせ、レジスタR13のレジスタ値を1ビットずつ出力することで行われる。13ビットM系列生成回路は、互いに異なる2の13乗-1種類のデータパターンのM系列データを生成する。データパターンとは、レジスタR1~R13に保持されているデータレジスタ値のパターンである。つまり、13ビットM系列生成回路は、第1のデータパターンから第2の13乗-1のデータパターンまでを順番に生成する。従って、13ビットM系列生成回路は、2の13乗-1の周期を有する。2比較例のランダムデータ生成回路の構成図7に示すように、比較例のランダムデータ生成回路は、16個のM系列生成回路を備えている。そして、フラッシュメモリの16ビット幅のビット線BL0~BL15物理的なビットの並びに対して、それぞれ次のようにM系列生成回路が割り当てられている。BL0、BL4、BL8、BL12:13ビットM系列生成回路BL1、BL5、BL9、BL13:17ビットM系列生成回路BL2、BL6、BL10、BL14:19ビットM系列生成回路BL3、BL7、BL11、BL15:23ビットM系列生成回路このように、比較例のランダムデータ生成回路は、周期の異なる4種類のM系列生成回路を使用している。17ビットM系列生成回路は、図8aに示す構成を有し、19ビットM系列生成回路は、図8bに示す構成を有し、23ビットM系列生成回路は、図8cに示す構成を有している。但し、一般に、あるビット長のM系列生成回路は、複数の回路構成で実現可能である。従って、図6及び図8に示した回路構成は、一例である。3比較例のランダムデータ生成回路におけるランダムデータ生成フロー図9は、比較例のランダムデータ生成回路の動作を説明する図である。ランダムデータの生成は、次の5つの手順で行われる。下記に示す手順はビット線BL0についての説明であり、同様の手順がビット線BL1~BL15に対しても行われる。手順1前述したように、ビット線アドレスBitLineアドレスに応じて、使用するM系列生成回路が決まる。同様に、選択回路402により、ビット線アドレスに応じて各M系列生成回路の種類ごとにテーブル401から基本シードテーブルを選択する。ここでは、13ビットM系列生成回路用の基本シードテーブルが選択される。手順2選択回路403により、seedindex信号の値ここでは、ページアドレス[2:0]に応じて、手順1で選択された基本シードテーブルから基本シード値0~7の1つを選択する。ここでは、基本シード値00x056cが選択されたとする。手順3ローテーション回路404により、手順2で選択された基本シード値を、seedrotate信号の値ここでは、ページアドレス[6:3]に応じてローテーションする。ここでは、1ビットローテーションしたとする。手順4使用するフラッシュメモリのサイズによっては、手順3で生成したローテーション後のシード値ではランダム性能が全体として下がってしまう。そのため、選択回路406により、clmbasesel信号の値に応じて、あるページ単位ごとに固有値を選択し、選択された固有値とローテーション後のシード値との排他的論理和を、排他的論理和回路405により演算する。ここでは、選択された固有値は0であるとする。手順5手順4で生成された新シード値を、13ビットM系列生成回路407にシード初期値としてセットし、データ出力の度に1ビット右へシフトさせて、ランダムデータを生成する。このようにして、各M系列生成回路はクロック毎に1ビットのランダムデータを生成する。従って、クロック毎に16ビットのランダムデータが得られる。フラッシュメモリへの書き込み時には、スクランブル回路により、16ビットのランダムデータと16ビットの書き込みデータとのビット毎の排他的論理和を演算して、書き込みデータをスクランブルする。スクランブルされたデータは、ページアドレスで指定されたページのビット線BL0~BL15に対応するメモリセルに書き込まれる。同一ページの次フレームに書き込みを行う次の書き込みタイミングにおいて、16個のM系列生成回路は、ビット線BL0~BL15に隣接する16本のビット線BL16~BL31に割り当てられる。そして、次のクロックにより、各M系列生成回路は1ビットのランダムデータを生成して、16ビットのランダムデータが得られる。このランダムデータと書き込みデータとのビット毎の排他的論理和を演算して、書き込みデータをスクランブルする。スクランブルされたデータは、同一ページのビット線BL16~BL31に対応するメモリセルに書き込まれる。このような動作を繰り返して、データの書き込みを行う。このように、ページアドレスに応じてシード初期値が決定されるため、読み出し時にも、書き込み時に使用されたランダムデータを得ることができる。従って、任意のページにおいて、書き込み時に使用されたランダムデータと、フラッシュメモリから読み出された読み出しデータとを演算して、読み出しデータをスクランブル解除できる。4比較例のランダムデータ生成回路の問題点この比較例のランダムデータ生成回路について、発明者らは、以下の問題点を独自に知得した。問題点1:比較例のランダムデータ生成回路では、M系列生成回路を各ビット線に割り当てるため、データ幅分だけM系列生成回路を必要とし、回路規模が大きくなってしまうという問題がある。これは、特に、フリップフロップの数が多いことが原因である。問題点2:M系列生成回路は、採用する式ビット長によって周期が決まる。13ビットM系列生成回路ならば2の13乗-1の周期を持っており、NビットM系列生成回路ならば2のN乗-1の周期を持っている。比較例の回路は、ビット線によっては周期の低いM系列生成回路を使用している。そのため、このようなビット線に関しては、周期の長いM系列生成回路を使用しているビット線に比べてランダム性能が劣っている。問題点3:比較例の回路では、回路規模を小さくするためにテーブル401に含まれるシード値の数を少なくし、ローテーションなどによりシード初期値の重複を抑えている。しかし、設定されたシード初期値によっては、M系列生成回路を動作させている間のランダムデータが重複する可能性がある。例えば、シード初期値が次のように設定された場合を考える。即ち、第1ページの第1フレームにおいて、ビット線BL0の13ビットM系列生成回路に第Aのデータパターンがシード初期値として設定され、ビット線BL4の13ビットM系列生成回路に第A8のデータパターンがシード初期値として設定されたとする。また、1ページは8フレームからなると仮定する。この例の場合、第2ページの第1フレームにおいて、ビット線BL0の13ビットM系列生成回路に第A8のデータパターンが現れる。即ち、近接する第1ページの第1フレームのビット線BL4と、第2ページの第1フレームのビット線BL0とに関して、同一の第A8のデータパターンが重複して現れることになり、ランダム性能が低下する。発明者らは、上述した独自の知得に基づいて本発明をなすに至った。以下に、図面を参照して本発明の実施形態について説明する。これらの実施形態は、本発明を限定するものではない。第1の実施形態図1は、本発明の第1の実施形態に係るランダムデータ生成回路10の構成を示すブロック図である。図1に示すように、ランダムデータ生成回路10は、初期値出力回路11と、選択回路第2の選択回路12と、データ生成部13と、選択回路14第1の選択回路と、データ保持部15と、を備える。このランダムデータ生成回路10は、第1から第nnは2以上の整数のM系列データD0[12:0]~Dn-1[12:0]の組を、クロック信号CLKのクロック毎に順次生成する。本実施形態では、nは32であるとして説明する。また、説明を明確化するために、各M系列データは13ビットM系列データであるものとして説明するが、本来はNAND型フラッシュメモリの記憶容量と同程度の周期をもったM系列データを使用するのが望ましい。このことについては後述する。また、ランダムデータ生成回路10は、生成されたM系列データD0[12:0]~D31[12:0]に基づいて、1サイクル1クロックに32ビット幅のランダムデータDo[31:0]又は16ビット幅のランダムデータDo[15:0]を出力する。初期値出力回路11は、13ビットの初期値データDi[12:0]を出力する。初期値出力回路11は、シード初期値テーブル11-1と、選択回路11-2とを有する。シード初期値テーブル11-1は、シードデータの初期設定が必要な数のシード初期値Seed0~Seed1031を有する。各シード初期値Seed0~Seed1031は、13ビットのデータである。選択回路11-2は、SeedSelect信号によって、シード初期値Seed0~Seed1031の中の何れかを選択して、初期値データDi[12:0]として出力する。選択回路12は、シードデータ選択信号SSELに応じて、初期値データDi[12:0]と、後述するデータ保持部15に保持されたデータDf[12:0]と、の何れかを選択して、選択されたデータを13ビットのシードデータDs[12:0]としてデータ生成部13に供給する。データ生成部13は、供給されたシードデータDs[12:0]に基づいて、第1から第32のM系列データD0[12:0]~D31[12:0]を生成する。これら第1から第32のM系列データD0[12:0]~D31[12:0]のうち、第iiは1から32の整数のM系列データは、図6の13ビットM系列生成回路でシードデータDs[12:0]をi段シフトしたデータと等しい。即ち、第1のM系列データD0[12:0]は、図6の13ビットM系列生成回路でシードデータDs[12:0]を1段1クロックシフトしたデータと等しい。以降同様に、第32のM系列データD31[12:0]は、図6の13ビットM系列生成回路でシードデータDs[12:0]を31段31クロックシフトしたデータと等しい。但し、後述するように、本実施形態では、データ生成部502は、図6の構成の13ビットM系列生成回路を複数使用することなく、第1から第32のM系列データD0[12:0]~D31[12:0]を生成するように構成されている。データ生成部13は、各M系列データD0[12:0]~D31[12:0]の所定のビット目の値からなる32ビット幅のランダムデータDo[31:0]、又は、各M系列データD0[12:0]~D15[12:0]の所定のビット目の値からなる16ビット幅のランダムデータDo[15:0]を出力する。本実施形態では、所定のビット目は、上位ビットから1ビット目である。つまり、データ生成部13は、M系列データD0[12]の値つまり、シードデータDs[0]の値を、ランダムデータDo[0]として出力する。以降同様に、データ生成部13は、M系列データD31[12]の値つまり、M系列データD30[0]の値を、ランダムデータDo[31]として出力する。データ生成部13は、第1から第32のデータ処理回路13-1~13-32を有する。データ処理回路について、図2を参照して詳細に説明する。図2は、本発明の第1の実施形態に係るデータ処理回路の構成を説明するブロック図である。図2aは、フリップフロップと論理回路で構成された13ビットM系列生成回路を示し、図2bは、データ処理回路を示す。各データ処理回路13-1~13-32は、13個のフリップフロップR1~R13と3個の排他的論理和回路EO1~EO3で構成された図2aの13ビットM系列生成回路から、フリップフロップR1~R13が除かれた構成を有する。つまり、各データ処理回路13-1~13-32は、13ビットM系列生成回路の論理部分から構成されている。各データ処理回路13-1~13-32は、13個のデータ入力端子Ti0~Ti12及び13個のデータ出力端子To0~To12を有する。各データ処理回路13-1~13-32に関して、図2aの13ビットM系列生成回路において各フリップフロップR1~R13の出力端子に接続されていた信号線が、対応するデータ入力端子Ti0~Ti12に接続されている。また、図2aの13ビットM系列生成回路において各フリップフロップR1~R13の入力端子に接続されていた信号線が、対応するデータ出力端子To0~To12に接続されている。つまり、フリップフロップR1の入力端子に接続されていた信号線は、データ出力端子To12に接続され、その出力端子に接続されていた信号線は、データ入力端子Ti12に接続されている。以降同様に、フリップフロップR13の入力端子に接続されていた信号線は、データ出力端子To0に接続され、その出力端子に接続されていた信号線は、データ入力端子Ti0に接続されている。従って、データ入力端子Ti0は、ランダムデータDoを出力すると共に、排他的論理和回路EO1,EO2,EO3の各々の第1入力端子と、データ出力端子To12とに接続されている。データ入力端子Ti1は、データ出力端子To0に接続されている。データ入力端子Ti2は、データ出力端子To1に接続されている。データ入力端子Ti3は、データ出力端子To2に接続されている。データ入力端子Ti4は、データ出力端子To3に接続されている。データ入力端子Ti5は、データ出力端子To4に接続されている。データ入力端子Ti6は、データ出力端子To5に接続されている。データ入力端子Ti7は、データ出力端子To6に接続されている。データ入力端子Ti8は、データ出力端子To7に接続されている。データ入力端子Ti9は、排他的論理和回路EO3の第2入力端子に接続されている。排他的論理和回路EO3の出力端子は、データ出力端子To8に接続されている。データ入力端子Ti10は、排他的論理和回路EO2の第2入力端子に接続されている。排他的論理和回路EO2の出力端子は、データ出力端子To9に接続されている。データ入力端子Ti11は、データ出力端子To10に接続されている。データ入力端子Ti12は、排他的論理和回路EO1の第2入力端子に接続されている。排他的論理和回路EO1の出力端子は、データ出力端子To11に接続されている。このような構成により、各データ処理回路13-1~13-32は、データ入力端子Ti0~Ti12に入力されたデータを処理して、処理されたデータをデータ出力端子To0~To12から出力する。各データ処理回路13-1~13-32における上記処理は、図2aの13ビットM系列生成回路でデータを1段1クロックシフトする処理と等価である。図1に示すように、第1のデータ処理回路13-1の13個のデータ入力端子Ti0~Ti12には、シードデータDs[12:0]が並列に供給される。第kkは1から31までの整数のデータ処理回路の13個のデータ出力端子To0~To12は、第kのM系列データDk-1[12:0]を並列に出力すると共に、それぞれ第k1のデータ処理回路の対応するデータ入力端子Ti0~Ti12に接続されている。第16のデータ処理回路13-16の13個のデータ出力端子To0~To12は、選択回路14を介してデータ保持部15にも接続されている。第32のデータ処理回路13-32の13個のデータ出力端子To0~To12は、第32のM系列データD31[12:0]を並列に出力すると共に、選択回路14を介してデータ保持部15に接続されている。このように、データ生成部13は、13ビットM系列生成回路の論理部分を並列に接続した構成を有している。選択回路14は、データ幅選択信号DSELに応じて、第32のM系列データD31[12:0]と、第16のM系列データD15[12:0]と、の何れかを選択して、選択されたデータをデータ保持部15に供給する。つまり、選択回路14は、第nのM系列データと、第mmは1からn-1までの整数のM系列データと、の何れかを選択するように構成されている。データ保持部15は、選択回路14から供給されたデータをクロック信号CLKのクロックに応じて保持して、保持されたデータDf[12:0]を、選択回路12を介して、シードデータDs[12:0]としてデータ生成部13に供給する。本実施形態では、データ保持部15は、13個のフリップフロップで構成されている。つまり、データ保持部15は、第16のM系列データD16[12:0]と、第32のM系列データD31[12:0]との何れかを、クロックCLKに応じて保持して、保持されたデータDf[12:0]を、選択回路12を介して、シードデータDs[12:0]としてデータ生成部13に供給する。次に、ランダムデータ生成回路10の動作を説明する。ランダムデータDoの生成は次の3つの手順で行われる。手順1SeedSelect信号によって、シード初期値テーブル11-1のシード初期値Seed0~Seed1031から、1つのシード初期値を選択する。SeedSelect信号は、シード初期値を選択するための信号である。フラッシュメモリのページ単位でシード初期値をセットするのであれば、ページアドレスをセットする。この場合、例えば、SeedSelect100={ページアドレス[8:0]フレームアドレス[3:2]}とすることができる。手順2選択回路12により、手順1で選択されたシード初期値を、シードデータDs[12:0]として、データ生成部13に供給する。これにより、データ生成部13によって、13ビットM系列生成回路でシードデータDs[12:0]を複数回シフトした動作と等価な動作が再現され、M系列データD0[12:0]~D31[12:0]及び32ビット幅のランダムデータDo[31:0]が生成される。1クロックで生成されるランダムデータのビット幅は、データ幅選択信号DSELによって選択可能である。前述のように、本実施形態では、16ビット幅と32ビット幅の選択が可能である。ここでは、32ビット幅を選択しているとして説明する。即ち、選択回路14により、第32のM系列データD31[12:0]が選択されて、データ保持部15に供給される。手順3クロック信号CLKの次のクロックに応じて、データ保持部15により、第32のM系列データD31[12:0]を保持する。選択回路12により、データ保持部15に保持されたデータDf[12:0]を選択し、選択されたデータをデータ生成部13に供給して、新たなランダムデータDo[31:0]を生成する。SeedSelect信号が変化するまでは、クロック信号CLKのクロックに応じて手順3を繰り返し、ランダマイズ処理を行う。手順4SeedSelect信号が変化した場合、上記手順1~3を同様に繰り返す。このようにして、32ビット幅の場合、M系列データD0[12:0]~D31[12:0]として、2の13乗-1種類のデータパターンを、クロックに応じて32種類ずつ順番に生成できる。これにより、クロックに応じて32ビット幅のランダムデータDo[31:0]が出力される。また、16ビット幅の場合、M系列データD0[12:0]~D15[12:0]として、2の13乗-1種類のデータパターンを、クロックに応じて16種類ずつ順番に生成できる。これにより、クロックに応じて16ビット幅のランダムデータDo[15:0]が出力される。次に、上述のランダムデータ生成回路10を備えたメモリシステムについて説明する。図3は、本発明の第1の実施形態に係るメモリシステムの構成を示すブロック図である。このメモリシステムは、NAND型フラッシュメモリ100と、スクランブル回路110と、を備える。スクランブル回路110は、入力された書き込みデータをスクランブルして、スクランブルされたデータをフラッシュメモリ100に書き込むと共に、フラッシュメモリ100から読み出された読み出しデータをスクランブル解除する。具体的には、スクランブル回路110は、ページアドレス発生回路111と、フレームアドレス発生回路112と、データ入力部113と、ランダムデータ生成回路10と、第1の演算回路114と、第2の演算回路115と、データ出力部116と、を有する。本実施形態では、第1の演算回路114と、第2の演算回路115は、それぞれ排他的論理和回路である。ページアドレス発生回路111は、ページアドレスを発生する。フレームアドレス発生回路112は、フレームアドレスを発生する。データ入力部113は、入力された書き込みデータを第1の演算回路114に出力する。ランダムデータ生成回路10は、ページアドレス及びフレームアドレスに応じたシード初期値に基づいて、前述のように、各M系列データの所定のビット目の値からなるランダムデータDo[31:0]を生成する。第1の演算回路114は、ランダムデータDo[31:0]と、書き込みデータと、を演算して、書き込みデータをスクランブルする。本実施形態では、第1の演算回路114は、32ビットのランダムデータDo[31:0]と32ビットの書き込みデータとのビット毎の排他的論理和を演算する。スクランブルされたデータはフラッシュメモリ100に書き込まれる。例えば、32ビットのスクランブルされたデータは、第1ページの第1フレームに書き込まれる。そして、次の書き込みタイミングで、新たな32ビットのスクランブルされたデータは、第1ページの第2フレームに書き込まれる。以降、同様に書き込まれる。第2の演算回路115は、ランダムデータDo[31:0]と、フラッシュメモリ100から読み出された読み出しデータと、を演算して、読み出しデータをスクランブル解除する。本実施形態では、第2の演算回路115は、32ビットのランダムデータDo[31:0]と32ビットの読み出しデータとのビット毎の排他的論理和を演算する。データ出力部116は、スクランブル解除された読み出しデータを外部に出力する。前述のように、ランダムデータ生成回路10が16ビットのランダムデータDo[15:0]を生成するように設定された場合、第1の演算回路114は、16ビットのランダムデータDo[15:0]と16ビットの書き込みデータとのビット毎の排他的論理和を演算する。第2の演算回路115も、同様に、16ビットの演算を行う。以上で説明したランダムデータ生成回路10により、例えば、次の効果が得られる。1ランダムデータ生成回路10は、M系列生成回路の論理部分を並列に接続する構成を有するため、フリップフロップはM系列生成回路1つ分13個しか持たない。これによって、比較例に比して、フリップフロップの使用数を大幅に減らすことが可能である。従って、回路規模を小さくできる。初期値出力回路11を除くM系列データを生成する回路部分のみの回路規模は、25ビットM系列生成回路に基づいて本実施形態の回路を構成した場合、図7の比較例の回路の約10分の1程度になる。ランダムデータ生成回路10全体としては、シード初期値テーブル11-1が大きくなるため、シード初期値テーブル11-1が25ビットのシード初期値を1032個有する場合、比較例の回路の約10分の7程度になる。2データ幅の選択を行う構成を有する場合、データ処理回路13-1~13-32の途中のM系列データを選択する構成を有することで、拡張のための設計がわかりやすい。即ち、異なるデータ幅に容易に設計変更できる。また、必要とする最大ビット幅にかかわらずデータ保持部15のフリップフロップの数は変わらないため、回路規模の増大を抑えることが可能である。3高い周期のM系列生成回路に基づいてランダムデータ生成回路10を構成することで、ランダムデータに周期の低い部分をなくし、高いランダム性能を実現可能である。M系列生成回路のビット長の選択方法としては、次の方法が考えられる。M系列生成回路のビット長は、ランダム性能を出したい範囲によって決定できる。1ページのサイズがαバイトであるメモリのβページの範囲に関してランダム性能を出したいのであれば、次の関係を満たすようにすると効果が出る。α×8×β<M系列生成回路の周期のサイズなお、左辺の8は、1バイトが8ビットであるため使用されている。例えば、1ページのサイズが18キロバイトであるメモリの21ページの範囲に関してランダム性能を出したいのであれば、次の関係を満たすようにする。18×1024×8×21<M系列生成回路の周期のサイズこの場合、18×1024×8×21は2の21乗から2の22乗の間の値であるため、21ビットM系列生成回路、又は、21ビットより大きなビット長のM系列生成回路に基づいて、21ページの範囲に関してランダム性能を出すことができる。即ち、21ページの範囲に関して、互いに異なるデータパターンのM系列データD0[12:0]~D31[12:0]を生成できる。従って、21ページの範囲に関して、ランダム性が高いランダムデータDo[31:0]を出力できる。図4は、第1の実施形態に係るランダムデータ生成回路10のM系列データのデータパターンの分布を説明する図である。ここでは、説明を明確化するため、フラッシュメモリの1ページは8フレームからなり、1フレームは32ビットからなると仮定する。図4に示すように、ランダムデータ生成回路10は、例えば、第1ページの第1フレームでは第1から第32のデータパターンを生成し、第1ページの第8フレームでは第225から第256のデータパターンを生成し、第2ページの第1フレームでは第257から第288のデータパターンを生成する。前述のように、このようにすると、複数のページの範囲に関してデータパターンが重複しないので、ランダム性能が高くなる。4シード初期値テーブル11-1のシード初期値をランダム性能が向上するように設定すれば、比較例のように計算によってシード初期値を生成するよりも高いランダム性能を実現することが可能である。例えば、Kの2乗-1個のデータが存在するフラッシュメモリを使用する場合を考える。この場合、予め、KビットのM系列生成回路をKの2乗-1回シフトさせて、シード初期値を選択するタイミングのデータパターンをサンプリングしておく。KビットのM系列生成回路としては、例えば、K個のフリップフロップを有した従来のM系列生成回路を使用すれば良い。即ち、フラッシュメモリの任意のページ及びフレームに対して書き込み又は読み出しできるように、例えば、第1ページの第1フレームと、第2ページの第1フレーム等の、書き込み又は読み出しを開始するページ及びフレームに対応するタイミングのデータパターンをサンプリングしておく。前述した図4の例では、第1のデータパターンと、第257のデータパターン等をサンプリングしておく。そして、サンプリングされた値をシード初期値テーブル11-1のシード初期値とする。これにより、ページアドレス及びフレームアドレスに応じてシード初期値を選択すれば、任意のページ及びフレームからでも、図4のデータパターンの分布を再現することができる。従って、ビット線方向のどのK個においてもデータパターンが重ならないようすることが可能である。5ランダム性能よりも回路規模を優先したい場合、複数のシード初期値を有するシード初期値テーブル11-1を使用せずに、比較例のように計算によってシード初期値を生成することで、回路規模を比較例の回路よりも大幅に小さくすることが可能である。以上で説明したように、本実施形態によれば、データ生成部13が、供給されたシードデータDs[12:0]に基づいて、第1から第32のM系列データD0[12:0]~D31[12:0]を生成するようにしている。これら第1から第32のM系列データD0[12:0]~D31[12:0]のうち、第iiは1から32の整数のM系列データは、13ビットM系列生成回路でシードデータDs[12:0]をi段シフトしたデータと等しい。また、データ保持部15が、第32のM系列データD31[12:0]をクロック信号CLKのクロックに応じて保持して、保持されたデータをシードデータDs[12:0]として供給するようにしている。これにより、クロック信号CLKのクロックに応じて、互いにデータパターンが重複することなく、第1から第32のM系列データD0[12:0]~D31[12:0]の組を順次生成できる。従って、ランダム性能を高くできる。変形例上記実施形態では、ガロア型のM系列生成回路に基づいて構成されたデータ処理回路の一例について説明したが、フィボナッチ型のM系列生成回路に基づいてデータ処理回路を構成しても良い。図5は、本発明の第1の実施形態の変形例に係るデータ処理回路の構成を説明するブロック図である。図5aは、フリップフロップと論理回路で構成されたフィボナッチ型の13ビットM系列生成回路を示し、図5bは、データ処理回路を示す。第1の実施形態と同様に、各データ処理回路13-1~13-32は、フリップフロップR1~R13と排他的論理和回路EO1~EO3で構成された図5aの13ビットM系列生成回路からフリップフロップR1~R13が除かれた構成を有する。各データ処理回路13-1~13-32は、13個のデータ入力端子Ti0~Ti12及び13個のデータ出力端子To0~To12を有する。各データ処理回路13-1~13-32に関して、図5aの13ビットM系列生成回路において各フリップフロップの出力端子に接続されていた信号線が、対応するデータ入力端子Ti0~Ti12に接続されている。また、図5aの13ビットM系列生成回路において各フリップフロップの入力端子に接続されていた信号線が、対応するデータ出力端子To0~To12に接続されている。このようなフィボナッチ型のM系列生成回路に基づいたデータ処理回路を使用しても、第1の実施形態と同様な効果を得ることができる。他の変形例例えば、データ幅を選択しない場合、選択回路14を備えなくても良い。また、第1の実施形態では、各データ処理回路13-1~13-32は、図2aの構成の13ビットM系列生成回路からフリップフロップR1~R13が除かれた構成を有する一例について説明したが、他の構成の13ビットM系列生成回路からフリップフロップR1~R13が除かれた構成を有しても良い。前述のように、あるビット長のM系列生成回路は、複数の回路構成で実現可能であるが、どのような回路構成のM系列生成回路に基づいても本実施形態のデータ処理回路を構成できる。また、他のビット長のM系列生成回路からフリップフロップが除かれた構成を有しても良い。また、第1の実施形態では、各データ処理回路13-1~13-32は、同一の13ビットM系列生成回路に基づいて構成されている一例について説明したが、ビット長が異なる複数種類のM系列生成回路に基づいて構成されても良い。以上で説明した実施形態によれば、ランダム性能が高いランダムデータ生成回路及びこれを備えたメモリシステムを提供できる。以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。"