[go: up one dir, main page]

JP2014222394A - 半導体記憶装置および乱数発生器 - Google Patents

半導体記憶装置および乱数発生器 Download PDF

Info

Publication number
JP2014222394A
JP2014222394A JP2013101302A JP2013101302A JP2014222394A JP 2014222394 A JP2014222394 A JP 2014222394A JP 2013101302 A JP2013101302 A JP 2013101302A JP 2013101302 A JP2013101302 A JP 2013101302A JP 2014222394 A JP2014222394 A JP 2014222394A
Authority
JP
Japan
Prior art keywords
random number
coefficient
number sequence
selector
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013101302A
Other languages
English (en)
Inventor
陽介 近藤
Yosuke Kondo
陽介 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013101302A priority Critical patent/JP2014222394A/ja
Priority to US13/945,186 priority patent/US9280317B2/en
Publication of JP2014222394A publication Critical patent/JP2014222394A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

【課題】回路規模を小さくしつつ、複数の乱数系列を用いる場合に乱数系列間で高いランダム性を有する乱数系列を生成すること。【解決手段】本発明の一つの実施形態は、半導体メモリ30と、乱数系列を発生する乱数発生器10と、前記乱数系列を用いて半導体メモリ30にデータを記憶するデータ書き込み部20とを有する。乱数発生器10は、M個のシフトレジスタの一部に対するフィードバックループを有し、Mビットの乱数系列を生成する乱数生成部を持つ。また、乱数生成部で乱数系列の生成を開始する場合、第1の係数を乱数生成部へ出力し、乱数生成部で乱数系列の生成を継続する場合、第2の係数を乱数生成部へ出力する係数選択部を持つ。また、選択パターンに従って乱数生成部から出力されたMビットの乱数系列からNビットを選択してなる乱数系列を出力するビット選択部を持つ。【選択図】図1

Description

本発明の実施形態は、半導体記憶装置および乱数発生器に関する。
従来、M系列のような単純な乱数アルゴリズムから得られる乱数系列は、1次元方向にはランダム性が高い。ここで、C個の要素を持つ1次元の乱数系列を、初期値を変えてR個用意し、R×Cの2次元配列のように並べた場合、隣り合う行(Row)の初期値間のハミング距離が小さいと、得られる乱数系列同士に相関があり、列(Column)方向の乱数系列内の0または1が偏る。場合によっては、R個すべてが0または1となってしまう等、ランダム性が低くなる。
しかしながら、従来技術では、2次元配列のように並べた場合にランダム性を高くしようとすると、回路規模が大きくなってしまう、という問題がある。
特開2005−352904号公報 特開2012−216154号公報
本発明の一つの実施形態は、回路規模を小さくしつつ、複数の乱数系列を用いる場合に乱数系列間で高いランダム性を有する乱数系列を生成可能な半導体記憶装置および乱数発生器を提供することを目的とする。
本発明の一つの実施形態の半導体記憶装置は、半導体メモリを持つ。また、前記半導体メモリにデータを記憶する際に用いられる乱数系列を発生する乱数発生器を持つ。また、前記乱数発生器で発生された乱数系列を用いて前記半導体メモリにデータを記憶するデータ書き込み部を持つ。前記乱数発生器は、M(Mは正の整数)個のシフトレジスタを備え、前記M個のシフトレジスタの一部に対するフィードバックループを有し、Mビットの乱数系列を生成する乱数生成部を持つ。また、前記乱数生成部による前記乱数系列の生成を開始する場合、第1の値に基づいて、前記フィードバックループの有効または無効を指示する複数の第1の係数群から1つを選択して前記乱数生成部へ出力し、前記乱数生成部での前記乱数系列の生成を継続する場合、前記第1の係数とは異なり前記フィードバックループの有効または無効を指示する第2の係数を前記乱数生成部へ出力する係数選択部を持つ。また、前記第1の値とは異なる第2の値に基づいて、複数の選択パターンから1つを選択し、選択した選択パターンに従って前記乱数生成部から出力されたMビットの乱数系列からN(NはM≧Nとなる正の整数)ビットを選択してなる乱数系列を出力するビット選択部を持つ。
図1は、第1の実施形態にかかる半導体記憶装置の構成例を示す図である。 図2は、第1の実施形態にかかる乱数発生器の構成例を示す図である。 図3は、第1の実施形態の乱数発生器を使用した場合のColumn方向の乱数系列内の0の数を示す図である。 図4は、第4の実施形態において初期値ループ用係数を減らした場合のColumn方向の乱数系列内の0の数を示す図である。
以下に添付図面を参照して、実施形態にかかる半導体記憶装置および乱数発生器を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
(第1の実施形態)
図1は、第1の実施形態にかかる半導体記憶装置の構成例を示す図である。半導体記憶装置は、乱数発生器10と、データ書き込み部20と、半導体メモリ30と、を備える。乱数発生器10は、データ書き込み部20が半導体メモリ30にデータを書き込む(記憶する)際に用いる乱数を発生する。データ書き込み部20は、乱数発生器10で発生された乱数を用いて、半導体メモリ30にデータを書き込む。半導体メモリ30は、データを記憶するためのメモリ(記憶部)である。
つぎに、背景技術に示すような乱数系列内の0または1の偏りを無くして、複数の乱数系列を用いる場合に高いランダム性を有する乱数系列を生成可能な乱数発生器10の動作について詳細に説明する。乱数発生器は様々な分野で使用されているが、本第1の実施形態では、一例として、半導体記憶装置に搭載したときの乱数発生器10の動作について説明する。すなわち、本第1の実施形態では、乱数発生器10におけるランダマイズ(乱数発生)対象の系列となるデータは、半導体記憶装置が備える半導体メモリ30に記録されるデータ(これ以降では、記録データとも称する)となる。なお、以降で説明する乱数発生器10の用途は、半導体記憶装置に限定するものではない。乱数発生器10は、他の用途においては記録データ以外のデータをランダマイズ対象とすることが可能である。図2は、第1の実施形態にかかる乱数発生器の構成例を示す図である。乱数発生器10は、セレクタ1と、セレクタ2と、乱数生成部3と、セレクタ4と、を備える。
乱数生成部3は、M(Mは正の整数)段のシフトレジスタ5−1〜5−Mと、2段目以降のシフトレジスタ5−2〜5−Mに対応したM−1個の論理積演算処理部(AND)6−1〜6−(M−1)と、2段目以降のシフトレジスタ5−2〜5−Mに対応したM−1個の排他的論理和演算処理部(EX−OR)7−1〜7−(M−1)と、を備える。乱数生成部3は、クロック毎に、M段のシフトレジスタ5−1〜5−Mから出力される値からなるMビットの乱数系列を出力する。乱数生成部3では、M段のシフトレジスタ5−1〜5−Mのうち、シフトレジスタ5−2〜5−Mの入力側に、論理積演算処理部6−1〜6−(M−1)および排他的論理和演算処理部7−1〜7−(M−1)を経由するフィードバックループがついている。各フィードバックループが有効か無効かは、論理積演算処理部6−1〜6−(M−1)の演算処理(AND)の結果、詳細には、選択された係数の各ビット値(「0」または「1」)とシフトレジスタ5−Mの出力値との演算処理(AND)によって決まる構成である。ここで、選択された係数とは、M−1ビットの係数であって、乱数系列生成用係数または初期値ループ用係数のことである。また、各シフトレジスタ5−2〜5−Mでは、排他的論理和演算処理部7−1〜7−(M−1)の演算処理(EX−OR)の結果、詳細には、論理積演算処理部6−1〜6−(M−1)からの出力値と前段のシフトレジスタ5−1〜5−(M−1)からの出力値との演算処理(EX−OR)によって得られた値を入力値とする。なお、シフトレジスタ5−1では、シフトレジスタ5−Mから出力された値を入力値とする。
乱数系列生成用係数とは、M系列の原始多項式であり、乱数系列を生成する際の1〜M−1段目のシフトレジスタ5−1〜5−(M−1)の出力に対するフィードバックループの結線情報となる情報である。
初期値ループ用係数とは、ランダマイズ対象の系列(ここでは、半導体メモリ30への記録データをアドレス毎に2次元方向に展開した場合のRowまたはColumnとする)となる記録データを記録する半導体メモリ30のアドレス値に基づいて、乱数系列生成の際に使用する初期値を得るための、各フィードバックループの結線情報となる情報である。初期値ループ用係数は、乱数系列生成用係数とは異なる係数とすることが好ましい。
ここで、選択された係数を用いてアドレス値をビットシフトして初期値を得るのは、できるだけ元の値(アドレス値)からかけ離れた値となるようにするためである。また、乱数系列生成用係数とは別の、複数の係数(初期値ループ用係数)を用意しているのは、前後する初期値間のハミング距離を大きくすることで、できるだけ各係数間の相関を小さくするためである。
例えば、Row毎に乱数系列を発生させる場合を想定する。初期値ループ用係数に全て同じ値を使用した場合のColumn方向の乱数系列内の0の発生頻度は、1つのColumn内で0の数が偏ってしまい、データパターンによっては乱数性が悪くなる可能性がある。実験からこのような結果が得られている。そのため、乱数発生器10では、与えられるアドレス値に応じて係数を変えるためのセレクタ1を備える。なお、初期値ループ用係数は、必ずしも原始多項式である必要はなく、また、ビットシフトさせる回数(LOOP1の回数)も、シフトレジスタの段数、システムの動作周波数に応じて決めてよい。シフトレジスタの段数が多いほど、またシステムの動作周波数が高いほど、ビットシフトさせないように回数を決めることが好ましい。
セレクタ1は、ランダマイズ対象の系列となる記録データ(例えば、RowまたはColumn)のアドレス値の下位3ビットを、用意された複数の初期値ループ用係数(複数の第1の係数群)に割り当てて、複数の初期値ループ用係数から1つを選択する。この場合、予め23=8パターンの初期値ループ用係数、具体的には、8パターンの初期値ループ用係数を格納したテーブルを用意する。なお、8パターンの初期値ループ用係数を用意するのは一例であって、例えば、アドレス値の下位4ビットを割り当てる場合は、24=16パターンの初期値ループ用係数を用意することになる。
セレクタ2は、乱数生成部3において、これからビットシフトさせるのが初期値を得るためなのか、実際の乱数系列を発生させるためなのかに応じて、出力する係数を選択する。通常、セレクタ2は、選択された係数として乱数系列生成用係数(第2の係数)を出力するようにしており、ランダマイズ対象の記録データのアドレス値が切り替えられて初期値を再度得る必要がある場合は、選択された係数としてセレクタ1側からの係数を出力する。セレクタ2では、予め、乱数系列生成用係数、具体的には、乱数系列生成用係数を格納したテーブルを用意する。すなわち、セレクタ1およびセレクタ2により、乱数生成部3へ係数を出力する係数選択部を構成する。
上述のように、ランダマイズ対象の記録データのアドレス値に応じて、別々の係数を用いてビットシフトさせて初期値を得ることで、前後する初期値から得られる乱数系列間の相関性は弱くなる。しかし、乱数生成部3からの値をそのまま乱数系列として使用すると、初期値を得るときにビットシフトさせる係数を変えなかったときと同様に、Column方向の乱数系列内における0または1の数が偏ってしまい、データパターンによっては乱数性が悪くなる可能性がある。
初期値ループ用係数に全て同じ値を使用した場合と同様、Row毎に乱数系列を発生させる場合を想定する。乱数系列の出力として乱数生成部3のシフトレジスタ5−1〜5−Mの値をそのまま使用した場合のColumn方向の乱数系列内の0の発生頻度は、1つのColumn内で0の数が偏ってしまい、データパターンによっては乱数性が悪くなる可能性がある。実験からこのような結果が得られている。そのため、乱数発生器10では、乱数生成部3のMビットの値からNビットの乱数系列を得るためのセレクタ4を備える。
セレクタ4は、乱数生成部3のシフトレジスタ5−1〜5−Mから出力されるMビットの系列から、例えば、アドレス値の一部に応じてN(NはM≧Nとなる正の整数)ビット分の値を選択(抽出)し、Nビットの乱数系列として出力する。すなわち、セレクタ4は、乱数系列のビットの割り当てを変えるビット選択部である。ここで、アドレス値の一部とは、例えば、アドレス値のうち、セレクタ1で使用した3ビットを用いた値(第1の値)とは異なる3ビットを用いた値(第2の値)とする。セレクタ1で使用したビットとは異なるビットを使用するのは、セレクタ4から出力される乱数係数間の相関を小さくするためである。これにより、セレクタ4では、乱数生成部3のシフトレジスタ5−1〜5−Mから出力されるMビットの系列からNビット分の値を選択するためのビットの選択パターンを23=8パターンとすることができる。なお、8つの選択パターンを用意するのは一例であって、例えば、アドレス値のうち4ビットを割り当てる場合は、24=16パターンの選択パターンを用意することになる。
このようにして得られる乱数系列は、Row、Column方向ともにランダムな系列であり、また、図3のように各Column方向の乱数系列内の0または1の数も正規分布となるので、データパターンに依存せずランダム性が高いと言える。図3は、第1の実施形態の乱数発生器を使用した場合のColumn方向の乱数系列内の0の数を示す図である。初期値ループ用係数に全て同じ値を使用した場合、また、乱数系列の出力として乱数生成部3のシフトレジスタ5−1〜5−Mの値をそのまま使用した場合と異なり、0の発生頻度が正規分布となっている。実験からこのような結果が得られている。
したがって、2次元方向に高いランダム性を備えた乱数発生器10を、主に、M系列のシフトレジスタと、3つのセレクタと、2つのテーブルで構成される、非常に小規模な回路で実現することができる。
つぎに、乱数発生器10において、具体的に乱数系列を出力する動作について説明する。ここでは、一例として、各Rowについて乱数系列を発生させる場合について説明する。なお、Columnについて乱数系列を発生させる場合も同様の動作で行うことが可能である。
まず、乱数発生器10では、乱数系列を発生させるための事前の準備として、セレクタ2用の乱数系列生成用係数およびセレクタ1用の初期値ループ用係数を用意する。乱数系列生成用係数は、M系列の原始多項式であり一意に決定することができる。初期値ループ用係数は、上記の例では、アドレス値の下位3ビットで異なる係数となるように8パターンを用意する。8パターンの初期値ループ用係数については、各初期値ループ用係数において相関のない係数とする。
つぎに、乱数発生器10では、乱数生成部3を初期化する。乱数生成部3では、ランダマイズ対象(ここでは、1つのRow)の系列の記録データのアドレス値をシフトレジスタ5−1〜5−Mへセットする。このとき、セレクタ1は、アドレス値の下位3ビットに基づいて、8パターンの初期値ループ用係数から1つを選択して出力する。セレクタ2は、セレクタ1からの初期値ループ用係数を選択し、乱数生成部3のフィードバックループの結線情報として出力する。そして、乱数生成部3は、シフトレジスタ5−1〜5−Mにセットされたアドレス値を、初期値ループ用係数を用いてビットシフトし、何回かループした後の値を初期値として利用する。このとき、ループさせる回数は任意に設定可能である。
乱数発生器10では、乱数生成部3のシフトレジスタ5−1〜5−Mに初期値がセットされると、つぎに、乱数系列を実際に発生させるため、セレクタ2は、出力する係数をセレクタ1からの初期値ループ用係数から乱数系列生成用係数に切り替える。乱数生成部3は、フィードバックループの結線情報として乱数系列生成用係数をセットする。そして、乱数生成部3は、初期値に対して、乱数系列生成用係数を用いて所定の回数ビットシフトし、乱数系列を生成して出力する。このとき、乱数生成部3のシフトレジスタ5−1〜5−Mからの出力はMビットである。セレクタ4では、乱数生成部3のシフトレジスタ5−1〜5−MからMビットを入力すると、セレクタ1で使用したアドレス値の3ビットとは異なる3ビットを用いて選択パターンを決定し、決定した選択パターンに基づいてNビットを出力する。
そして、乱数発生器10では、Rowについて乱数系列を生成している場合では、セレクタ4からColumnのビット数分を出力するように、乱数生成部3のシフトレジスタ5−1〜5−Mでのシフトを所定の回数だけ繰り返し実行する。所定の回数とは、例えば、Column数が128ビット、乱数生成部3のシフトレジスタ5−1〜5−Mからセレクタ4への出力が32ビット、セレクタ4からの選択後の出力が16ビットとした場合、乱数発生器10から128ビット分出力するためには、セレクタ4から128/16=8回分の出力が必要となる。そのため、乱数生成部3のシフトレジスタは、少なくとも8回以上のシフトを行うことになる。
乱数発生器10では、1つのRowについてColumn数分の乱数系列を発生すると、次のRowの乱数発生処理に切り替える。ここでは、次のランダマイズ対象(Row)の系列の記録データのアドレス値を乱数生成部3のシフトレジスタへセットすることで、前回のRowの計算で使用したシフトレジスタ内の情報を初期化する。乱数発生器10における以降の動作は上述の動作と同様である。そして、乱数発生器10は、Rowの数だけ上記の乱数系列を発生する動作を繰り返し実行する。これにより、乱数発生器10は、2次元の乱数配列において、ランダム性の高い乱数系列を得ることができる。
なお、本第1の実施形態にかかる乱数発生器10は、1つのRow分の乱数系列を発生させてから次のRowの乱数系列を発生させるようにしたが、一例であり、これに限定するものではない。例えば、乱数発生器10では、あるRowについてセレクタ4からの出力分だけ乱数系列を出力した後、つぎに、別のRowについて乱数系列を発生して出力するように、セレクタ4からの出力単位で乱数を発生させるRowを切り替えていくことも可能である。
半導体記憶装置では、データ書き込み部20が、乱数発生器10で得られた乱数系列を用いて半導体メモリ30に記録データを書き込むことで、特定の記録データについてデータパターンの記憶が集中することを防止する、詳細には、記録データの系列が相関性を有する場合でも隣り合うセル同士のビット値の相関性を無くすことができる。
以上説明したように、第1の実施形態によれば、乱数発生器は、ランダマイズ対象の記録データのアドレス値により複数の初期値ループ用係数から1つを選択して乱数生成時に使用する初期値を生成し、生成した初期値に対して乱数系列生成用係数を用いてシフト処理を行ってMビットの乱数系列を生成する。そして、生成されたMビットの乱数系列から、Nビットを選択したものを乱数系列として使用することとした。その結果、回路規模を小さくしつつ、複数の乱数系列を用いる場合に乱数系列間で高いランダム性を有する乱数系列を生成できる、という効果を得ることができる。
(第2の実施形態)
第1の実施形態において、乱数発生器10では、乱数生成部3がM−1個の論理積演算処理部(AND)6−1〜6−(M−1)およびM−1個の排他的論理和演算処理部(EX−OR)7−1〜7−(M−1)を備えている。これは、乱数系列生成用係数および初期値ループ用係数がどのような値の係数であっても対応できるようにしているためである。そのため、用意された乱数系列生成用係数および初期値ループ用係数の全ての係数内において、「1」がたってないビット位置があれば、乱数生成部3では、そのビット位置に対応するフィードバックループ、論理積演算処理部(AND)および排他的論理和演算処理部(EX−OR)については回路構成として設定しなくてもよい。
これにより、第1の実施形態と同様の効果を得つつ、さらに、回路規模を小さくすることができる。
(第3の実施形態)
第1の実施形態において、係数として乱数系列生成用係数および初期値ループ用係数を用意したが、初期値ループ用係数の代わりに、アドレス値に応じて、乱数系列生成用係数の原始多項式を切り替えてもよい。具体的には、図2において、セレクタ1およびセレクタ1用に用意した初期値ループ用係数を設けず、セレクタ2において、初期値ループ用係数の代替えとなる係数を、第1の実施形態の場合であれば8パターン用意する。すなわち、セレクタ2は、乱数生成部3において初期値を得る場合には、初期値ループ用係数の代替えとなる係数を、アドレス値の下位3ビットに基づいて出力する。また、セレクタ2は、乱数生成部3において実際に乱数系列を発生させる場合には、元々備えている乱数系列生成用係数を出力する。第1の実施形態では2つのセレクタで係数選択部を構成していたが、第3の実施形態では1つのセレクタで係数選択部を構成する。
これにより、第1の実施形態と同様の効果を得つつ、セレクタの数を減らせることから、さらに、回路規模を小さくすることができる。
(第4の実施形態)
第1の実施形態では、セレクタ1用に初期値ループ用係数を8パターン用意し、また、セレクタ4用にNビットの出力の選択方法も8パターン用意した。これにより、Column内の乱数系列の0の数を図3に示すように正規分布で発生させることができた。ここで、例えば、初期値ループ用係数を4パターンにすると、図4に示すように正規分布が乱れる。図4は、第4の実施形態において初期値ループ用係数を減らした場合のColumn方向の乱数系列内の0の数を示す図である。セレクタ4における出力の選択パターンを減らしても同様に正規分布が乱れる。実験からこのような結果が得られている。このことから、係数および出力の選択方法は、いずれも8パターン以上用意することが望ましい。
なお、システムによってはその限りではない。例えば、セレクタ1における初期値ループ用係数の数、および、セレクタ4における選択パターンの数を削減しても、セレクタ4から出力される乱数系列が所望のランダム性を満たしている場合には、初期値ループ用係数の数、選択パターンの数を削減することができる。
(第5の実施形態)
第1の実施形態では、2次元方向にランダム性の高い乱数系列を生成する場合について説明したが、乱数発生器10では、さらに、別の要素を含めてランダム性の高い乱数系列を生成することも可能である。例えば、乱数発生器10を半導体記憶装置に用いた場合に、データを書き込む際のアクセス回数に応じて乱数系列を生成することができる。
この場合、図2に示す乱数発生器10において、セレクタ1では、アドレス値の下位3ビットに対する8つの初期値ループ用係数の他、各初期値ループ用係数に対してアクセス回数用に23=8つの初期値ループ用係数(合計8×8=64パターン)を用意する。同様に、セレクタ4では、アドレス値の3ビットに対する8つの選択パターンの他、各選択パターンに対してアクセス回数用に23=8つの選択パターン(合計8×8=64パターン)を用意する。
これにより、半導体記憶装置では、2次元方向にランダム性の高い乱数系列を生成することに加えて、アクセス回数などの別の要素に対してもランダム性の高い乱数系列を生成することができる。
なお、第1の実施形態で説明したように、乱数発生器10は、半導体記憶装置以外の用途に適用可能であり、半導体記憶装置以外の用途に適用した場合にも、本第5の実施形態と同様の対応をとることが可能である。すなわち、半導体記憶装置以外の用途において乱数系列発生対象の系列が追加された場合、乱数発生器10では、セレクタ1は、追加前の複数の第1の係数群(半導体記憶装置では初期値ループ用係数に相当)よりも多くの第1の係数から1つを選択して出力する。また、セレクタ4は、追加前の選択パターンよりも多くの選択パターンから選択した1つの選択パターンに従って、Nビット分の値を選択して乱数系列を出力する。この場合においても、乱数発生器10は、ランダム性の高い乱数系列を生成することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 セレクタ、2 セレクタ、3 乱数生成部、4 セレクタ、5−1〜5−M シフトレジスタ、6−1〜6−(M−1) 論理積演算処理部、7−1〜7−(M−1) 排他的論理和演算処理部、10 乱数発生器、20 データ書き込み部、30 半導体メモリ。

Claims (7)

  1. 半導体メモリと、
    前記半導体メモリにデータを記憶する際に用いられる乱数系列を発生する乱数発生器と、
    前記乱数発生器で発生された乱数系列を用いて前記半導体メモリにデータを記憶するデータ書き込み部と、
    を具備し、
    前記乱数発生器は、
    M(Mは正の整数)個のシフトレジスタを備え、前記M個のシフトレジスタの一部に対するフィードバックループを有し、Mビットの乱数系列を生成する乱数生成部と、
    前記乱数生成部による前記乱数系列の生成を開始する場合、第1の値に基づいて、前記フィードバックループの有効または無効を指示する複数の第1の係数群から1つを選択して前記乱数生成部へ出力し、前記乱数生成部での前記乱数系列の生成を継続する場合、前記第1の係数とは異なり前記フィードバックループの有効または無効を指示する第2の係数を前記乱数生成部へ出力する係数選択部と、
    前記第1の値とは異なる第2の値に基づいて、複数の選択パターンから1つを選択し、選択した選択パターンに従って前記乱数生成部から出力されたMビットの乱数系列からN(NはM≧Nとなる正の整数)ビットを選択してなる乱数系列を出力するビット選択部と、
    を備える半導体記憶装置。
  2. 前記第1及び第2の値は、前記乱数生成部で生成する前記乱数系列の対象となるデータにかかる値である、
    請求項1に記載の半導体記憶装置。
  3. 前記乱数生成部は、前記第1の係数および前記第2の係数のいずれの係数においても値が0のビット位置がある場合、当該ビット位置に対応する前記フィードバックループを設定しない、
    請求項1または2に記載の半導体記憶装置。
  4. 前記ビット選択部から出力される乱数系列が所望のランダム性を満たしている場合、
    前記係数選択部では、前記第1の係数の数を削減し、
    前記ビット選択部では、前記選択パターンの数を削減する、
    請求項1,2または3の何れか1項に記載の半導体記憶装置。
  5. 前記半導体メモリに対するアクセス回数に応じて乱数系列を生成する場合、
    前記係数選択部は、前記複数の第1の係数群よりも多くの第1の係数から1つを選択して出力し、
    前記ビット選択部は、前記複数の選択パターンよりも多くの選択パターンから1つを選択し、当該選択パターンに従ってNビットを選択してなる乱数系列を出力する、
    請求項1から4の何れか1項に記載の半導体記憶装置。
  6. 前記係数選択部は、第1のセレクタと、第2のセレクタと、を備え、
    前記第1のセレクタは、前記乱数生成部による前記乱数系列の生成を開始する場合、前記乱数生成部で生成する前記乱数系列の対象となるデータにかかる第1の値に基づいて、前記フィードバックループの有効または無効を指示する複数の第1の係数群から1つを選択して前記第2のセレクタへ出力し、
    前記第2のセレクタは、前記乱数生成部による前記乱数系列の生成を開始する場合、前記第1のセレクタから入力した前記第1の係数を前記乱数生成部へ出力し、前記乱数生成部での前記乱数系列の生成を継続する場合、前記フィードバックループの有効または無効を指示する前記第1の係数とは異なる第2の係数を前記乱数生成部へ出力する、
    請求項1から5の何れか1項に記載の半導体記憶装置。
  7. M(Mは正の整数)個のシフトレジスタを備え、前記M個のシフトレジスタの一部に対するフィードバックループを有し、Mビットの乱数系列を生成する乱数生成部と、
    前記乱数生成部による前記乱数系列の生成を開始する場合、第1の値に基づいて、前記フィードバックループの有効または無効を指示する複数の第1の係数群から1つを選択して前記乱数生成部へ出力し、前記乱数生成部での前記乱数系列の生成を継続する場合、前記第1の係数とは異なり前記フィードバックループの有効または無効を指示する第2の係数を前記乱数生成部へ出力する係数選択部と、
    前記第1の値とは異なる第2の値に基づいて、複数の選択パターンから1つを選択し、選択した選択パターンに従って前記乱数生成部から出力されたMビットの乱数系列からN(NはM≧Nとなる正の整数)ビットを選択してなる乱数系列を出力するビット選択部と、
    を備える乱数発生器。
JP2013101302A 2013-05-13 2013-05-13 半導体記憶装置および乱数発生器 Pending JP2014222394A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013101302A JP2014222394A (ja) 2013-05-13 2013-05-13 半導体記憶装置および乱数発生器
US13/945,186 US9280317B2 (en) 2013-05-13 2013-07-18 Semiconductor memory device and random number generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013101302A JP2014222394A (ja) 2013-05-13 2013-05-13 半導体記憶装置および乱数発生器

Publications (1)

Publication Number Publication Date
JP2014222394A true JP2014222394A (ja) 2014-11-27

Family

ID=51865628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013101302A Pending JP2014222394A (ja) 2013-05-13 2013-05-13 半導体記憶装置および乱数発生器

Country Status (2)

Country Link
US (1) US9280317B2 (ja)
JP (1) JP2014222394A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017102844A (ja) * 2015-12-04 2017-06-08 株式会社東芝 乱数発生回路および半導体記憶装置
JP2019194873A (ja) * 2019-06-11 2019-11-07 東芝メモリ株式会社 ランダマイザおよび半導体記憶装置
JP2021108259A (ja) * 2019-12-27 2021-07-29 アイリスオーヤマ株式会社 誘導加熱調理器
RU2815485C1 (ru) * 2023-10-09 2024-03-18 федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) Генератор псевдослучайных чисел

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04362809A (ja) * 1991-06-10 1992-12-15 Sony Corp ランダム系列発生装置
JPH0651957A (ja) * 1992-07-31 1994-02-25 Ricoh Co Ltd 乱数発生装置
JPH1188294A (ja) * 1997-09-02 1999-03-30 Matsushita Electric Ind Co Ltd Pn符号発生装置及び移動無線通信システム
JP2002170333A (ja) * 2000-11-28 2002-06-14 Pioneer Electronic Corp 情報記録方法、情報記録装置、情報再生方法及び情報再生装置
JP2008010923A (ja) * 2006-06-27 2008-01-17 Megachips Lsi Solutions Inc 半導体メモリ及びデータ授受システム
JP2012216154A (ja) * 2011-04-01 2012-11-08 Toshiba Corp 乱数発生回路及び半導体記憶装置
JP2013016173A (ja) * 2011-06-30 2013-01-24 Samsung Electronics Co Ltd データ処理装置及びその動作方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5060265A (en) * 1990-07-23 1991-10-22 Motorola, Inc. Method of protecting a linear feedback shift register (LFSR) output signal
JP3455748B2 (ja) 1999-12-21 2003-10-14 独立行政法人通信総合研究所 ベクトル列の出力装置、出力方法、および、情報記録媒体
US6668265B1 (en) 1999-03-29 2003-12-23 Communications Research Laboratory, Ministry Of Posts And Telecommunications Apparatus and method for outputting sequence of vectors, data recording medium, and carrier wave signal
US20060064448A1 (en) * 2001-11-20 2006-03-23 Ip-First, Llc. Continuous multi-buffering random number generator
US9298423B2 (en) * 2012-07-24 2016-03-29 Ternarylogic Llc Methods and systems for determining characteristics of a sequence of n-state symbols
US7512645B2 (en) * 2004-03-19 2009-03-31 Texas Instruments Incorporated System and method for generating pseudorandom numbers
JP4418713B2 (ja) 2004-06-11 2010-02-24 キヤノン株式会社 乱数発生方法及び乱数発生装置
US9075674B2 (en) * 2012-12-12 2015-07-07 Freescale Semiconductor, Inc. Systems with adjustable sampling parameters and methods of their operation

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04362809A (ja) * 1991-06-10 1992-12-15 Sony Corp ランダム系列発生装置
JPH0651957A (ja) * 1992-07-31 1994-02-25 Ricoh Co Ltd 乱数発生装置
JPH1188294A (ja) * 1997-09-02 1999-03-30 Matsushita Electric Ind Co Ltd Pn符号発生装置及び移動無線通信システム
JP2002170333A (ja) * 2000-11-28 2002-06-14 Pioneer Electronic Corp 情報記録方法、情報記録装置、情報再生方法及び情報再生装置
JP2008010923A (ja) * 2006-06-27 2008-01-17 Megachips Lsi Solutions Inc 半導体メモリ及びデータ授受システム
JP2012216154A (ja) * 2011-04-01 2012-11-08 Toshiba Corp 乱数発生回路及び半導体記憶装置
JP2013016173A (ja) * 2011-06-30 2013-01-24 Samsung Electronics Co Ltd データ処理装置及びその動作方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017102844A (ja) * 2015-12-04 2017-06-08 株式会社東芝 乱数発生回路および半導体記憶装置
US10430101B2 (en) 2015-12-04 2019-10-01 Toshiba Memory Corporation Semiconductor memory device that randomizes data and randomizer thereof
JP2019194873A (ja) * 2019-06-11 2019-11-07 東芝メモリ株式会社 ランダマイザおよび半導体記憶装置
JP2021108259A (ja) * 2019-12-27 2021-07-29 アイリスオーヤマ株式会社 誘導加熱調理器
JP7373190B2 (ja) 2019-12-27 2023-11-02 アイリスオーヤマ株式会社 誘導加熱調理器
RU2815485C1 (ru) * 2023-10-09 2024-03-18 федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) Генератор псевдослучайных чисел

Also Published As

Publication number Publication date
US20140337395A1 (en) 2014-11-13
US9280317B2 (en) 2016-03-08

Similar Documents

Publication Publication Date Title
CN103098018B (zh) 比特序列生成器
JP2937919B2 (ja) 疑似乱数発生回路
EP3709157B1 (en) Random number generator
US8880574B2 (en) State machine and generator for generating a description of a state machine feedback function
US10007488B2 (en) Secured pseudo-random number generator
JP6793747B2 (ja) 乱数生成及び取得の方法及びデバイス
US9158500B2 (en) Device and method for processing data including generating a pseudo random number sequence
US11586418B2 (en) Random number generator, random number generating circuit, and random number generating method
JP2014222394A (ja) 半導体記憶装置および乱数発生器
JP4418713B2 (ja) 乱数発生方法及び乱数発生装置
US8745113B2 (en) Pseudo-random bit sequence generator
US9389834B2 (en) Pseudorandom number generating circuit and method
JP2002261587A (ja) 疑似ランダム信号発生回路
WO2022048245A1 (zh) 随机数产生电路
Wu et al. Ultra-lightweight true random number generators
CN114978470B (zh) 随机数产生器
JP2009259013A (ja) 擬似乱数生成装置
US10776079B2 (en) True random number generation device and generation method thereof
KR20180005900A (ko) 다중 엔트로피 풀 지원 난수 발생기
Moghadam et al. Designing a random number generator with novel parallel LFSR substructure for key stream ciphers
Tan et al. Layered cellular automata for pseudorandom number generation
US20040143614A1 (en) Hiding the internal state of a random number generator
TWI696111B (zh) 隨機碼產生器
Deshmukh et al. Pseudo-Random Number Generation by Fibonacci and Galois LFSR Implemented on FPGA
JP4532637B2 (ja) データ順序変更装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150812

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20151102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160719

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170131