(57)【要約】  物理的エントロピー源が状態Aにあるか、または状態Bにあるかを検出し、物理的エントロピー源の状態を100%未満の確実さで確率的に反対の状態にシフトすることを試み、検出された状態および試行されたシフトの前の物理的エントロピー源の状態に基づき4つの出力のうちの1つを生成することによって状態Aおよび状態Bを有する物理的エントロピー源から2進乱数列を生成するための方法および装置。出力は、第1および第2のキューに入れられ、各キューから対で抽出される。2進乱数ビット(random binary bit)が、各キューから抽出された列に基づき出力される。
2016513313.tif 000002
【特許請求の範囲】
【請求項１】
2進乱数列を生成するための方法であって、
状態Aおよび状態Bを有する物理的エントロピー源を実現するステップであって、前記状態AおよびBは双安定状態である、ステップと、
前記物理的エントロピー源を前記状態Aにするための第1の論理手段を実現するステップであって、前記第1の論理手段は前記物理的エントロピー源が前記状態Bにあるときに100%未満の第1の確率で前記物理的エントロピー源を前記状態Aにし、前記物理的エントロピー源が前記状態Aにあるときに100%の確率で前記物理的エントロピー源を前記状態Aにする、ステップと、
前記物理的エントロピー源を状態Bにするための第2の論理手段を実現するステップであって、前記第2の論理手段は前記物理的エントロピー源が前記状態Aにあるときに100%未満の第2の確率で前記物理的エントロピー源を前記状態Bにし、前記物理的エントロピー源が前記状態Bにあるときに100%の確率で前記物理的エントロピー源を前記状態Bにする、ステップと、
a)前記物理的エントロピー源が前記状態Aにあるか、または前記状態Bにあるかを検出するステップと、
b)前記物理的エントロピー源が前記状態Aにある場合に、前記第1の論理手段を使用して前記物理的エントロピー源を前記状態Bにし、前記物理的エントロピー源が前記状態Bにある場合に、前記第2の論理手段を使用して前記物理的エントロピー源を前記状態Aにするステップと、
c)前記物理的エントロピー源が前記状態Aにあるか、または前記状態Bにあるかを、前記第1の論理手段を使用して前記物理的エントロピー源を前記状態Bにした後、または前記第2の論理手段を使用して前記物理的エントロピー源を前記状態Aにした後に判定するステップと、
d)前記物理的エントロピー源の前記検出された状態が前記状態Aであり、前記物理的エントロピー源の前記判定された状態が前記状態Aである場合に、第1のシンボルを出力し、前記物理的エントロピー源の前記検出された状態が前記状態Aであり、前記物理的エントロピー源の前記判定された状態が前記状態Bである場合に、第2のシンボルを出力し、前記物理的エントロピー源の前記検出された状態が前記状態Bであり、前記物理的エントロピー源の前記判定された状態が前記状態Aである場合に、第3のシンボルを出力し、前記物理的エントロピー源の前記検出された状態が前記状態Bであり、前記物理的エントロピー源の前記判定された状態が前記状態Bである場合に、第4のシンボルを出力し、前記第1、第2、第3、および第4のシンボルは相互に区別可能である、ステップと、
e)前記第1および第2のシンボルを第1のキューに入れるステップと、
f)前記第3および第4のシンボルを第2のキューに入れるステップと、
g)アクションa〜fを複数回繰り返すステップと、
h)前記第1のキューからシンボルの対を抽出するステップと、
i)前記第1のキューから抽出されたシンボルの前記対が第1のキューの第1の列である場合に第1の値を生成し、前記第1のキューから抽出されたシンボルの前記対が前記第1のキューの第1の列と異なる第1のキューの第2の列である場合に前記第1の値と異なる第2の値を生成するステップと、
j)前記第1および第2の値を前記2進乱数列として出力するステップとを含む方法。
【請求項２】
iの前に、前記第1のキューから抽出されたシンボルの前記対の中の前記シンボルを比較するステップと、前記第1のキューから抽出されたシンボルの前記対の中の前記シンボルが同一である場合にシンボルの前記抽出された対を破棄するステップとを含む請求項1に記載の方法。
【請求項３】
iの前に、前記第1のキューから抽出されたシンボルの前記対の中の前記シンボルを比較するステップと、シンボルの前記抽出された対が同一である場合に、最初にシンボルの1つの同一の対が検出されたときに前記第1の値を出力し、2度目にシンボルの前記1つの同一の対が検出されたときに前記第2の値を出力するステップとを含む請求項1に記載の方法。
【請求項４】
iの前に、前記第1のキューから抽出されたシンボルの前記対の中の前記シンボルを比較するステップと、シンボルの前記抽出された対が同一である場合に、疑似乱数ビットを生成し、出力するステップとを含む請求項1に記載の方法。
【請求項５】
前記第2のキューからシンボルの対を抽出するステップと、
前記第2のキューから抽出されたシンボルの前記対が第2のキューの第1の列である場合に前記第1の値を生成し、前記第2のキューから抽出されたシンボルの前記対が前記第2のキューの第1の列と異なる第2のキューの第2の列である場合に前記第2の値を生成するステップとを含む請求項1に記載の方法。
【請求項６】
前記第2のキューから抽出されたシンボルの前記対の中のシンボルを比較するステップと、前記第2のキューから抽出されたシンボルの前記対の中の前記シンボルが同一である場合に前記第2のキューから抽出されたシンボルの前記対を破棄するステップとを含む請求項5に記載の方法。
【請求項７】
前記第2のキューから抽出されたシンボルの前記対の中のシンボルを比較するステップと、前記第2のキューから抽出されたシンボルの前記対の中の前記シンボルが同一である場合に、最初にシンボルの1つの同一の対が検出されたときに前記第1の値を出力し、2度目にシンボルの前記1つの同一の対が検出されたときに前記第2の値を出力するステップとを含む請求項5に記載の方法。
【請求項８】
前記第2のキューから抽出されたシンボルの前記対の中のシンボルを比較するステップと、前記第2のキューから抽出されたシンボルの前記対の中の前記シンボルが同一である場合に、疑似乱数ビットを生成し、出力するステップとを含む請求項5に記載の方法。
【請求項９】
前記2進乱数列は、前記第1のキューから生成された前記第1および第2の値から、また前記第2のキューから生成された前記第1および第2の値から多重化されたストリームを含む請求項1に記載の方法。
【請求項１０】
前記物理的エントロピー源は、磁気トンネル接合を含む請求項9に記載の方法。
【請求項１１】
磁気トンネル接合は、スピントルク転移磁気トンネル接合を含む請求項10に記載の方法。
【請求項１２】
前記第1のキューからシンボルの対を抽出するステップは、先入れ先出し方式で前記第1のキューからシンボルの対を抽出するステップを含む請求項1に記載の方法。
【請求項１３】
2進乱数列を生成するための装置であって、
状態Aおよび状態Bを有し、前記状態AおよびBは双安定状態である、物理的エントロピー源と、
前記物理的エントロピー源を前記状態Aにするための第1の論理手段であって、前記物理的エントロピー源が前記状態Bにあるときに100%未満の第1の確率で前記物理的エントロピー源を前記状態Aにし、前記物理的エントロピー源が前記状態Aにあるときに100%の確率で前記物理的エントロピー源を前記状態Aにするように構成された、第1の論理手段と、
前記物理的エントロピー源を状態Bにするための第2の論理手段であって、前記物理的エントロピー源が前記状態Aにあるときに100%未満の第2の確率で前記物理的エントロピー源を前記状態Bにし、前記物理的エントロピー源が前記状態Bにあるときに100%の確率で前記物理的エントロピー源を前記状態Bにするように構成された、第2の論理手段と、
制御装置であって、
a)前記物理的エントロピー源が前記状態Aにあるか、または前記状態Bにあるかを検出し、前記物理的エントロピー源が前記状態Aにある場合に、前記第1の論理手段を制御して前記物理的エントロピー源を前記状態Bにし、前記物理的エントロピー源が前記状態Bにある場合に、前記第2の論理手段を制御して前記物理的エントロピー源を前記状態Aにし、
b)アクションaが実行された後に前記物理的エントロピー源が前記状態Aにあるか、または前記状態Bにあるかを判定し、
c)前記物理的エントロピー源の前記検出された状態が前記状態Aであり、前記物理的エントロピー源の前記判定された状態が前記状態Aである場合に、第1のシンボルを出力し、前記物理的エントロピー源の前記検出された状態が前記状態Aであり、前記物理的エントロピー源の前記判定された状態が前記状態Bである場合に、第2のシンボルを出力し、前記物理的エントロピー源の前記検出された状態が前記状態Bであり、前記物理的エントロピー源の前記判定された状態が前記状態Aである場合に、第3のシンボルを出力し、前記物理的エントロピー源の前記検出された状態が前記状態Bであり、前記物理的エントロピー源の前記判定された状態が前記状態Bである場合に、第4のシンボルを出力し、前記第1、第2、第3、および第4のシンボルは相互に区別可能であり、
d)前記第1および第2のシンボルを第1のキューに入れ、
e)前記第3および第4のシンボルを第2のキューに入れ、
f)前記第1のキューからシンボルの対を抽出し、
g)前記第1のキューから抽出されたシンボルの前記対が第1のキューの第1の列である場合に第1の値を生成し、前記第1のキューから抽出されたシンボルの前記対が第1のキューの第2の列である場合に前記第1の値と異なる第2の値を生成し、
h)前記第1および第2の値を前記2進乱数列として出力する、ように構成された制御装置とを備える装置。
【請求項１４】
前記制御装置は、前記第1のキューから抽出されたシンボルの前記対の中の前記シンボルを比較し、前記第1のキューから抽出されたシンボルの前記対の中の前記シンボルが同一である場合にシンボルの前記抽出された対を破棄するようにさらに構成される請求項13に記載の装置。
【請求項１５】
前記制御装置は、前記第1のキューから抽出されたシンボルの前記対の中の前記シンボルを比較し、シンボルの前記抽出された対が同一である場合に、最初にシンボルの1つの同一の対が検出されたときに前記第1の値を出力し、2度目にシンボルの前記1つの同一の対が検出されたときに前記第2の値を出力するようにさらに構成される請求項13に記載の装置。
【請求項１６】
前記制御装置は、前記第1のキューから抽出されたシンボルの前記対の中の前記シンボルを比較し、シンボルの前記抽出された対が同一である場合に、疑似乱数ビットを生成し、出力するようにさらに構成される請求項13に記載の装置。
【請求項１７】
前記制御装置は、
前記第2のキューからシンボルの対を抽出し、
前記第2のキューから抽出されたシンボルの前記対が第2のキューの第1の列である場合に前記第1の値を生成し、前記第2のキューから抽出されたシンボルの前記対が前記第2のキューの第1の列と異なる第2のキューの第2の列である場合に前記第2の値を生成するようにさらに構成される請求項13に記載の装置。
【請求項１８】
前記制御装置は、前記第2のキューから抽出されたシンボルの前記対の中の前記シンボルを比較し、前記第2のキューから抽出されたシンボルの前記対の中の前記シンボルが同一である場合にシンボルの前記抽出された対を破棄するようにさらに構成される請求項17に記載の装置。
【請求項１９】
前記制御装置は、前記第2のキューから抽出されたシンボルの前記対の中の前記シンボルを比較し、前記第2のキューから抽出されたシンボルの前記対の中の前記シンボルが同一である場合に、最初にシンボルの1つの同一の対が検出されたときに前記第1の値を出力し、2度目にシンボルの前記1つの同一の対が検出されたときに前記第2の値を出力するようにさらに構成される請求項17に記載の装置。
【請求項２０】
前記制御装置は、前記第2のキューから抽出されたシンボルの前記対の中の前記シンボルを比較し、前記第2のキューから抽出されたシンボルの前記対の中の前記シンボルが同一である場合に、疑似乱数ビットを生成し、出力するようにさらに構成される請求項17に記載の装置。
【請求項２１】
前記第1のキューからの生成された値および前記第2のキューからの生成された値を受け取り、受け取った生成された値から2進乱数ストリームを出力するように構成されたマルチプレクサをさらに備える請求項13に記載の装置。
【請求項２２】
前記物理的エントロピー源は、磁気トンネル接合を含む請求項13に記載の装置。
【請求項２３】
前記磁気トンネル接合は、スピントルク転移磁気トンネル接合を含む請求項22に記載の装置。
【請求項２４】
少なくとも1つの半導体ダイ内に集積化される請求項13に記載の装置。
【請求項２５】
請求項13に記載の2進乱数列を生成するための前記装置を含む、セットトップボックス、音楽プレーヤー、ビデオプレーヤー、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定ロケーションデータユニット、およびコンピュータからなる群から選択されるデバイス。
【請求項２６】
2進乱数列を生成するための方法であって、
状態Aおよび状態Bを有し、前記状態AおよびBは双安定状態である、物理的エントロピー源を実現するためのステップと、
前記物理的エントロピー源を前記状態Aにするための第1の論理手段を実現するためのステップであって、前記第1の論理手段は前記物理的エントロピー源が前記状態Bにあるときに100%未満の第1の確率で前記物理的エントロピー源を前記状態Aにし、前記物理的エントロピー源が前記状態Aにあるときに100%の確率で前記物理的エントロピー源を前記状態Aにする、ステップと、
前記物理的エントロピー源を状態Bにするための第2の論理手段を実現するためのステップであって、前記第2の論理手段は前記物理的エントロピー源が前記状態Aにあるときに100%未満の第2の確率で前記物理的エントロピー源を前記状態Bにし、前記物理的エントロピー源が前記状態Bにあるときに100%の確率で前記物理的エントロピー源を前記状態Bにする、ステップと、
a)前記物理的エントロピー源が前記状態Aにあるか、または前記状態Bにあるかを検出するためのステップと、
b)前記物理的エントロピー源が前記状態Aにある場合に、前記第1の論理手段を使用して前記物理的エントロピー源を前記状態Bにするためのステップと、前記物理的エントロピー源が前記状態Bにある場合に、前記第2の論理手段を使用して前記物理的エントロピー源を前記状態Aにするためのステップと、
c)前記物理的エントロピー源が前記状態Aにあるか、または前記状態Bにあるかを、前記第1の論理手段を使用して前記物理的エントロピー源を前記状態Bにするためのステップの後、または前記第2の論理手段を使用して前記物理的エントロピー源を前記状態Aにするためのステップの後に判定するためのステップと、
d)前記物理的エントロピー源の前記検出された状態が前記状態Aであり、前記物理的エントロピー源の前記判定された状態が前記状態Aである場合に、第1のシンボルを出力するためのステップと、前記物理的エントロピー源の前記検出された状態が前記状態Aであり、前記物理的エントロピー源の前記判定された状態が前記状態Bである場合に、第2のシンボルを出力するためのステップと、前記物理的エントロピー源の前記検出された状態が前記状態Bであり、前記物理的エントロピー源の前記判定された状態が前記状態Aである場合に、第3のシンボルを出力するためのステップと、前記物理的エントロピー源の前記検出された状態が前記状態Bであり、前記物理的エントロピー源の前記判定された状態が前記状態Bである場合に、第4のシンボルを出力するためのステップであって、前記第1、第2、第3、および第4のシンボルは相互に区別可能である、ステップと、
e)前記第1および第2のシンボルを第1のキューに入れるためのステップと、
f)前記第3および第4のシンボルを第2のキューに入れるためのステップと、
g)アクションa〜fを複数回繰り返すためのステップと、
h)前記第1のキューからシンボルの対を抽出するためのステップと、
i)前記第1のキューから抽出されたシンボルの前記対が第1のキューの第1の列である場合に第1の値を生成するためのステップと、前記第1のキューから抽出されたシンボルの前記対が前記第1のキューの第1の列と異なる第1のキューの第2の列である場合に前記第1の値と異なる第2の値を生成するためのステップと、
j)前記第1および第2の値を前記2進乱数列として出力するためのステップとを含む方法。
【請求項２７】
iの前に、前記第1のキューから抽出されたシンボルの前記対の中の前記シンボルを比較するためのステップと、前記第1のキューから抽出されたシンボルの前記対の中の前記シンボルが同一である場合にシンボルの前記抽出された対を破棄するためのステップとを含む請求項26に記載の方法。
【請求項２８】
iの前に、前記第1のキューから抽出されたシンボルの前記対の中の前記シンボルを比較するためのステップと、シンボルの前記抽出された対が同一である場合に、最初にシンボルの1つの同一の対が検出されたときに前記第1の値を出力するためのステップと、2度目にシンボルの前記1つの同一の対が検出されたときに前記第2の値を出力するためのステップとを含む請求項26に記載の方法。
【請求項２９】
iの前に、前記第1のキューから抽出されたシンボルの前記対の中の前記シンボルを比較するためのステップと、シンボルの前記抽出された対が同一である場合に、疑似乱数ビットを生成し、出力するためのステップとを含む請求項26に記載の方法。
【請求項３０】
2進乱数列を生成するための装置であって、
状態Aおよび状態Bを有し、前記状態AおよびBは双安定状態である、物理的エントロピー源と、
前記物理的エントロピー源を前記状態Aにするための第1の論理手段であって、前記第1の論理手段は前記物理的エントロピー源が前記状態Bにあるときに100%未満の第1の確率で前記物理的エントロピー源を前記状態Aにするためのものであり、また前記物理的エントロピー源が前記状態Aにあるときに100%の確率で前記物理的エントロピー源を前記状態Aにするためのものである、第1の論理手段と、
前記物理的エントロピー源を状態Bにするための第2の論理手段であって、前記第2の論理手段は前記物理的エントロピー源が前記状態Aにあるときに100%未満の第2の確率で前記物理的エントロピー源を前記状態Bにし、前記物理的エントロピー源が前記状態Bにあるときに100%の確率で前記物理的エントロピー源を前記状態Bにする、第2の論理手段と、
制御装置手段であって、
a)前記物理的エントロピー源が前記状態Aにあるか、または前記状態Bにあるかを検出し、前記物理的エントロピー源が前記状態Aにある場合に、前記第1の論理手段を制御して前記物理的エントロピー源を状態Bにし、前記物理的エントロピー源が前記状態Bにある場合に、前記第2の論理手段を使用して前記物理的エントロピー源を前記状態Aにし、
b)アクションaが実行された後に前記物理的エントロピー源が前記状態Aにあるか、または前記状態Bにあるかを判定し、
c)前記物理的エントロピー源の前記検出された状態が前記状態Aであり、前記物理的エントロピー源の前記判定された状態が前記状態Aである場合に、第1のシンボルを出力し、前記物理的エントロピー源の前記検出された状態が前記状態Aであり、前記物理的エントロピー源の前記判定された状態が前記状態Bである場合に、第2のシンボルを出力し、前記物理的エントロピー源の前記検出された状態が前記状態Bであり、前記物理的エントロピー源の前記判定された状態が前記状態Aである場合に、第3のシンボルを出力し、前記物理的エントロピー源の前記検出された状態が前記状態Bであり、前記物理的エントロピー源の前記判定された状態が前記状態Bである場合に、第4のシンボルを出力し、前記第1、第2、第3、および第4のシンボルは相互に区別可能であり、
d)前記第1および第2のシンボルを第1のキューに入れ、
e)前記第3および第4のシンボルを第2のキューに入れ、
f)前記第1のキューからシンボルの対を抽出し、
g)前記第1のキューから抽出されたシンボルの前記対が第1のキューの第1の列である場合に第1の値を生成し、前記第1のキューから抽出されたシンボルの前記対が第1のキューの第2の列である場合に前記第1の値と異なる第2の値を生成し、
h)前記第1および第2の値を前記2進乱数列として出力するための制御装置手段とを備える装置。
【請求項３１】
前記制御装置手段は、さらに、前記第1のキューから抽出されたシンボルの前記対の中の前記シンボルを比較し、前記第1のキューから抽出されたシンボルの前記対の中の前記シンボルが同一である場合にシンボルの前記抽出された対を破棄するためのものである請求項30に記載の装置。
【請求項３２】
前記制御装置手段は、さらに、前記第1のキューから抽出されたシンボルの前記対の中の前記シンボルを比較し、シンボルの前記抽出された対が同一である場合に、最初にシンボルの1つの同一の対が検出されたときに前記第1の値を出力し、2度目にシンボルの前記1つの同一の対が検出されたときに前記第2の値を出力するためのものである請求項30に記載の装置。
【請求項３３】
前記制御装置手段は、さらに、前記第1のキューから抽出されたシンボルの前記対の中の前記シンボルを比較し、シンボルの前記抽出された対が同一である場合に、疑似乱数ビットを生成し、出力するためのものである請求項30に記載の装置。
【請求項３４】
コンピュータによって実行されたときに、前記コンピュータに、第1の論理手段、第2の論理手段から、また状態Aおよび状態Bを有する物理的エントロピー源から2進乱数列を生成するステップを実行させる命令を格納する非一時的コンピュータ可読記録媒体であって、
前記状態AおよびBは双安定状態であり、
前記第1の論理手段は前記物理的エントロピー源が前記状態Bにあるときに100%未満の第1の確率で前記物理的エントロピー源を前記状態Aにし、前記物理的エントロピー源が前記状態Aにあるときに100%の確率で前記物理的エントロピー源を前記状態Aにし、
前記第2の論理手段は前記物理的エントロピー源が前記状態Aにあるときに100%未満の第2の確率で前記物理的エントロピー源を前記状態Bにし、前記物理的エントロピー源が前記状態Bにあるときに100%の確率で前記物理的エントロピー源を前記状態Bにし、
前記命令は
a)前記物理的エントロピー源が前記状態Aにあるか、または前記状態Bにあるかを検出するための命令と、
b)前記物理的エントロピー源が前記状態Aにある場合に、前記第1の論理手段に前記物理的エントロピー源を前記状態Bにするステップを実行させ、前記物理的エントロピー源が前記状態Bにある場合に、前記第2の論理手段に前記物理的エントロピー源を前記状態Aにするステップを実行させるための命令と、
c)前記物理的エントロピー源が前記状態Aにあるか、または前記状態Bにあるかを、前記第1の論理手段に前記物理的エントロピー源を前記状態Bにするステップを実行させた後、または前記第2の論理手段に前記物理的エントロピー源を前記状態Aにするステップを実行させた後に判定するための命令と、
d)前記物理的エントロピー源の前記検出された状態が前記状態Aであり、前記物理的エントロピー源の前記判定された状態が前記状態Aである場合に、第1のシンボルを出力し、前記物理的エントロピー源の前記検出された状態が前記状態Aであり、前記物理的エントロピー源の前記判定された状態が前記状態Bである場合に、第2のシンボルを出力し、前記物理的エントロピー源の前記検出された状態が前記状態Bであり、前記物理的エントロピー源の前記判定された状態が前記状態Aである場合に、第3のシンボルを出力し、前記物理的エントロピー源の前記検出された状態が前記状態Bであり、前記物理的エントロピー源の前記判定された状態が前記状態Bである場合に、第4のシンボルを出力するための命令であって、前記第1、第2、第3、および第4のシンボルは相互に区別可能である、命令と、
e)前記第1および第2のシンボルを第1のキューに入れるための命令と、
f)前記第3および第4のシンボルを第2のキューに入れるための命令と、
g)アクションa〜fを複数回繰り返すための命令と、
h)前記第1のキューからシンボルの対を抽出するための命令と、
i)前記第1のキューから抽出されたシンボルの前記対が第1のキューの第1の列である場合に第1の値を生成し、前記第1のキューから抽出されたシンボルの前記対が前記第1のキューの第1の列と異なる第1のキューの第2の列である場合に前記第1の値と異なる第2の値を生成するための命令と、
j)前記第1および第2の値を前記2進乱数列として出力するための命令とを含む非一時的コンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、物理的エントロピー源を乱数生成器(RNG)として使用する方法、および物理的エントロピー源を含むRNGを対象とし、より具体的には、磁気トンネル接合(MTJ)を、逐次生成乱数間のMTJの状態をセットすることなく使用して乱数を生成する方法を対象とし、その方法を実行するように構成されたRNGを対象とする。
【背景技術】
【０００２】
ベルヌーイ2進数列(Bernoulli binary sequence)は、ビット列(たとえば、0と1の列)であり、各ビットが「1」となる特定の確率を有し、その確率は数列内の他のビットの値から独立しているものである。ときには簡単に「乱数」とも称される、2進乱数列は、特定のビットが「1」となる確率が50%であるベルヌーイ数列の特別な場合である。2進乱数列は、シード値に基づき複雑な数式から計算されるときに疑似乱数と称され得る。しかし、数列内の次の疑似乱数は、シード値および数式が知られている場合に予測可能であるものとしてよく、これらには、多くの場合、ある程度の相関関係がある。真の無相関の乱数が、予測不可能な状態を有する物理的エントロピー源を測定または観測することによって生成され得る。状態が量子力学的現象に基づくシステムは、システムの次の状態が予測困難であるだけでなく、不可知であるという点で乱数列を生成するのに特に有用である。
【０００３】
スピントルク転移(STT)磁気トンネル接合(MTJ)は、2つの2進状態のうちの一方に存在し得る、これらの2つの状態のスイッチングが確率的である、物理的エントロピー源の一例である。したがって、STT-MTJは、ベルヌーイ数列または乱数生成器のコンポーネントとして使用するのに適している。図1および図2は、固定層102、バリア層104、および自由層106の3つの層から形成されているSTT-MTJ素子100を示している。固定層102および自由層106は、強磁性体から形成され、固定層102の磁化方向は、ピン止めまたは固定される。この層は、「基準」層とも称され得る。他方で、自由層106の磁化方向は、電流をSTT-MTJ素子100に印加することによって変化させることができ、自由層106の磁化方向が固定層102の磁化方向に平行である平行状態と自由層106の磁化方向が固定層102の磁化方向と反対の方向または反平行である反平行状態との間でスイッチング可能である。図1は、反平行状態のSTT-MTJ素子100を示しており、図2は、平行状態のSTT-MTJ素子100を示している。この2状態デバイスは、平行および反平行状態のうちの一方が、論理「0」を表し、他方が論理「1」を表す記憶素子として使用可能である。
【０００４】
データは、スピントルク転移磁化スイッチングによってSTT-MTJ素子100に書き込まれる。電流をSTT-MTJ素子100に印加することで、電子はバリア層104をトンネル現象で通過し、自由層106の磁化方向に影響を及ぼす。電流を一方の方向に印加すると、磁化方向は平行から反平行にスイッチングし、電流の方向を逆にすると、自由層106の磁化状態は反平行から平行にスイッチングする。STT-MTJ素子100は、自由層106の磁化方向に依存する抵抗値を有する。データは、小さい読出し電流をSTT-MTJ素子100に流し、STT-MTJ100の抵抗を測定することによってSTT-MTJ素子100から読み出される。図2の平行状態にあるSTT-MTJ素子100の抵抗は、典型的には、反平行状態にあるSTT-MTJ素子100の抵抗の約1/2である。
【０００５】
上記のように、一方の状態から他方の状態へのSTT-MTJ素子100のスイッチングは確率的である。一方の状態から他方の状態へSTT-MTJ素子100がスイッチングする確率は、STT-MTJ素子100に印加される電圧または電流のレベルと電圧または電流が印加されている時間との組合せに基づく。したがって、電圧および電流が高いほど、STT-MTJ素子100が一方の状態から他方の状態にスイッチングするのに要する時間は、低い電圧または電流のときよりも短く、電圧または電流が長く印加されるほど、状態スイッチングが生じる確率は高くなる。本明細書の説明のために、スイッチング確率は、定電圧(または定電流)がSTT-MTJ素子100に印加されている時間を制御することによって制御されると仮定される。
【０００６】
図3は、特定のスイッチング電圧が印加されている時間に基づきSTT-MTJ素子100が一方の状態から他方の状態にスイッチングする確率のグラフである。下側の線は、0.6ボルトの基準電圧が印加されたときのスイッチング確率を示しており、上側線は、0.7ボルトの基準電圧が印加されたときのスイッチング確率を示している。いずれの電圧レベルでも、電圧が極めて短い時間の間印加されたときにSTT-MTJ素子100がスイッチングする確率は極めて小さい。下側の線は、0.6ボルトが、より長い時間の間、STT-MTJ素子100に印加されたときに、スイッチングの確率が高くなるが、100nsが経過しても、0.6ボルトでSTT-MTJ素子100がスイッチングする確率は50%未満であることを示している。しかし、0.7ボルトが印加された場合に、STT-MTJ素子100がスイッチングする確率は、約20ns後に約50%である。0.7ボルトがより長い時間にわたって印加された場合に、STT-MTJ素子100のスイッチング確率は、80ns後に100%に極めて近くなる。そこで、図3は、極めて短い期間、または低電圧レベルにおいて、STT-MTJ素子100の状態をスイッチングする確率は、約0であることを示している。したがって、STT-MTJ素子100の状態は、STT-MTJ素子100の状態のスイッチングを回避するために十分に低い、および/または十分に短い持続時間の読出し電圧によって読み出され得る。
【０００７】
STT-MTJ素子に基づく従来の乱数生成器は、STT-MTJの状態を平行または反平行のいずれかにセットし、次いで、それに、STT-MTJ素子を反対の状態にスイッチングする50%の確率を有する信号を印加し、次いで、STT-MTJ素子の状態が測定される。STT-MTJ素子が状態をスイッチングした場合に、反対の電流を印加することで、素子が開始状態に戻る確率は50%となる。数列内の各ビットが数列内のすべてのビットに適用可能である1である特異的な確率を有する無相関2進数列を生成し、それにより、確率pが1であるベルヌーイ2進数列を形成するために、一般的に、スイッチングの各試行後に、または少なくともSTT-MTJ素子の状態を変化させる各スイッチングの試行後にSTT-MTJ素子を共通の知られている状態にセットまたはリセットする必要がある。また、図3に示されているように、スイッチング確率が100%に近づくとともにSTT-MTJ素子を一方の状態から他方の状態にスイッチングするのにより高い電流および/またはより長い時間を要する(100%のスイッチング確率は、理論上、無限大のプログラミング電流パルス振幅および幅でしか到達できない)。そのため、すべての測定の半分が行われた後であってもSTT-MTJ素子をセットまたはリセットするのに、著しい量の電力および時間を費やす。さらに、確率的スイッチングのまさしくその性質のせいで、有限のパルス振幅および幅のSTT-MTJのセットまたはリセットの後であっても、共通の知られている状態に到達できる保証はなく、したがって、各ビットが1である同じ確率pを有する乱数列を生成するという前提条件が脅かされる。
【０００８】
さらに、STT-MTJが正確に50%の確率でスイッチングすることを保証することは実際には不可能でないとしても困難な場合がある。たとえば、STT-MTJまたはそのコンポーネントパーツのサイズおよび構成のプロセス変動が、公称的に同一であるSTT-MTJ素子にスイッチング変動を引き起こし得る。いくつかのアプリケーションでは、正確に50%である1と0のランダム分布を必要とする。幸運なことに、均等に分布していない2進乱数入力に基づき0である、または1であることが正確に50%となる確率を有する乱数ビット列を生成するための方法が知られている。
【０００９】
このような一方法は、乱数抽出器と称され、乱数抽出器の一種にフォンノイマン抽出器として知られているものがある。フォンノイマン抽出器は、入力として、無相関でランダムに生成されるが、必ずしも50%の確率で生成されないビットの対を取り、所与の値を有することが正確に50%である確率を持つビットのストリームを出力する。同一である入力の対は、破棄されるか、または無視される。異なるビットを有する対の場合に、対の中の第1のビットは乱数とみなされる。したがって、たとえば、入力の対(0,0)および(1,1)は破棄され、対(0,1)は「0」と解釈され、対(1,0)は1と解釈される。1および0を生成する確率が、正確に50%ではないが、一定である場合に、0を取得する確率と1を取得する確率との積は、一定となる。たとえば、0を取得する確率が60%、1を取得する確率が40%であると仮定すると、(0,1)または(1,0)のいずれかを取得する確率は、0.6に0.4を掛けた値すなわち0.24となり、各結果のこの等しい確率は、抽出器の出力における0および1の50/50の分布を保証する。
【００１０】
乱数抽出器の使用により、特定のSTT-MTJを1ビットの値または他の値の正確に50%を出力するようにセットする必要性が減じる。しかし、効率上の理由から、一般的に、各ビットが約50%の確率で出力されるように現在の適用時間を較正することが望ましい。
【００１１】
多数のランダム無相関ビットが高いビットレートで要求される様々な電子的な、コンピュータ関係のアプリケーションがある。これらは、たとえば、確率的または確率論的計算および様々な暗号法を含む。乱数生成は、大量の電力を消費することが知られており、そのようなアプリケーションに必要な乱数生成の高ビットレートは、熱放散問題を引き起こし、電池または容量の限られている他の電源を使い果たしてしまう可能性のある速さで電力を消費する。したがって、従来の方法よりも効率的にベルヌーイ数列を生成することが望ましい。
【発明の概要】
【課題を解決するための手段】
【００１２】
本発明の例示的な実施形態について以下で説明されているが、本開示の第1の態様は、状態Aおよび状態Bを有し、状態AおよびBは双安定状態である、物理的エントロピー源を実現するステップを含む2進乱数列を生成するための方法を含む。この方法は、物理的エントロピー源を状態Aにするための第1の論理手段を実現するステップであって、第1の論理手段は物理的エントロピー源が状態Bにあるときに100%未満の第1の確率で物理的エントロピー源を状態Aにし、物理的エントロピー源が状態Aにあるときに100%の確率で物理的エントロピー源を状態Aにする、ステップと、物理的エントロピー源を状態Bにするための第2の論理手段を実現するステップであって、第2の論理手段は物理的エントロピー源が状態Aにあるときに100%未満の第2の確率で物理的エントロピー源を状態Bにし、物理的エントロピー源が状態Bにあるときに100%の確率で物理的エントロピー源を状態Bにする、ステップとを含む。この方法は、a)物理的エントロピー源が状態Aにあるか、または状態Bにあるかを検出するステップと、b)物理的エントロピー源が状態Aにある場合に、第1の論理手段を使用して物理的エントロピー源を状態Bにし、物理的エントロピー源が状態Bにある場合に、第2の論理手段を使用して物理的エントロピー源を状態Aにするステップと、c)物理的エントロピー源が状態Aにあるか、または状態Bにあるかを、第1の論理手段を使用して物理的エントロピー源を状態Bにした後、または第2の論理手段を使用して物理的エントロピー源を状態Aにした後に判定するステップも含む。この方法は、d)物理的エントロピー源の検出された状態が状態Aであり、物理的エントロピー源の判定された状態が状態Aである場合に、第1のシンボルを出力し、物理的エントロピー源の検出された状態が状態Aであり、物理的エントロピー源の判定された状態が状態Bである場合に、第2のシンボルを出力し、物理的エントロピー源の検出された状態が状態Bであり、物理的エントロピー源の判定された状態が状態Aである場合に、第3のシンボルを出力し、物理的エントロピー源の検出された状態が状態Bであり、物理的エントロピー源の判定された状態が状態Bである場合に、第4のシンボルを出力する、ステップも含み、第1、第2、第3、および第4のシンボルは、相互に区別可能である。この方法は、e)第1および第2のシンボルを第1のキューに入れるステップと、f)第3および第4のシンボルを第2のキューに入れるステップと、g)アクションa〜fを複数回繰り返すステップと、h)第1のキューからシンボルの対を抽出するステップと、i)第1のキューから抽出されたシンボルの対が第1のキューの第1の列である場合に第1の値を生成し、第1のキューから抽出されたシンボルの対が第1のキューの第1の列と異なる第1のキューの第2の列である場合に第1の値と異なる第2の値を生成するステップと、j)第1および第2の値を2進乱数列として出力するステップをさらに含む。
【００１３】
本開示の別の態様は、状態Aおよび状態Bを有する物理的エントロピー源を備える2進乱数列を生成するための装置であって、状態AおよびBは双安定状態である、装置と、物理的エントロピー源を状態Aにするための第1の論理手段と、物理的エントロピー源を状態Bにするための第2の論理手段とを備える。第1の論理手段は、物理的エントロピー源が状態Bにあるときに100%未満の第1の確率で物理的エントロピー源を状態Aにし、物理的エントロピー源が状態Aにあるときに100%の確率で物理的エントロピー源を状態Aにするように構成され、第2の論理手段は、物理的エントロピー源が状態Aにあるときに100%未満の第2の確率で物理的エントロピー源を状態Bにし、物理的エントロピー源が状態Bにあるときに100%の確率で物理的エントロピー源を状態Bにするように構成される。装置は、a)物理的エントロピー源が状態Aにあるか、または状態Bにあるかを検出し、物理的エントロピー源が状態Aにある場合に、第1の論理手段を制御して物理的エントロピー源を状態Bにし、物理的エントロピー源が状態Bにある場合に、第2の論理手段を制御して物理的エントロピー源を状態Aにするように構成された制御装置を備える。制御装置は、b)アクションaが実行された後に物理的エントロピー源が状態Aにあるか、または状態Bにあるかを判定し、c)物理的エントロピー源の検出された状態が状態Aであり、物理的エントロピー源の判定された状態が状態Aである場合に、第1のシンボルを出力し、物理的エントロピー源の検出された状態が状態Aであり、物理的エントロピー源の判定された状態が状態Bである場合に、第2のシンボルを出力し、物理的エントロピー源の検出された状態が状態Bであり、物理的エントロピー源の判定された状態が状態Aである場合に、第3のシンボルを出力し、物理的エントロピー源の検出された状態が状態Bであり、物理的エントロピー源の判定された状態が状態Bである場合に、第4のシンボルを出力する、ようにも構成され、第1、第2、第3、および第4のシンボルは相互に区別可能である。制御装置は、d)第1および第2のシンボルを第1のキューに入れ、e)第3および第4のシンボルを第2のキューに入れ、f)第1のキューからシンボルの対を抽出し、g)第1のキューから抽出されたシンボルの対が第1のキューの第1の列である場合に第1の値を生成し、第1のキューから抽出されたシンボルの対が第1のキューの第2の列である場合に第1の値と異なる第2の値を生成し、h)第1および第2の値を2進乱数列として出力する、ようにも構成される。
【００１４】
本開示の別の態様は、状態Aおよび状態Bを有し、状態AおよびBは双安定状態である、物理的エントロピー源を実現するためのステップを含む2進乱数列を生成するための方法を含む。この方法は、物理的エントロピー源を状態Aにするための第1の論理手段を実現するためのステップであって、第1の論理手段は物理的エントロピー源が状態Bにあるときに100%未満の第1の確率で物理的エントロピー源を状態Aにするステップと、物理的エントロピー源が状態Aにあるときに100%の確率で物理的エントロピー源を状態Aにするためのステップと、物理的エントロピー源を状態Bにするための第2の論理手段を実現するためのステップであって、第2の論理手段は物理的エントロピー源が状態Aにあるときに100%未満の第2の確率で物理的エントロピー源を状態Bにし、物理的エントロピー源が状態Bにあるときに100%の確率で物理的エントロピー源を状態Bにする、ステップとを含む。この方法は、a)物理的エントロピー源が状態Aにあるか、または状態Bにあるかを検出するためのステップと、b)物理的エントロピー源が状態Aにある場合に、第1の論理手段を使用して物理的エントロピー源を状態Bにするためのステップと、物理的エントロピー源が状態Bにある場合に、第2の論理手段を使用して物理的エントロピー源を状態Aにするためのステップと、c)物理的エントロピー源が状態Aにあるか、または状態Bにあるかを、第1の論理手段を使用して物理的エントロピー源を状態Bにするためのステップの後、または第2の論理手段を使用して物理的エントロピー源を状態Aにするためのステップの後に判定するためのステップも含む。この方法は、d)物理的エントロピー源の検出された状態が状態Aであり、物理的エントロピー源の判定された状態が状態Aである場合に、第1のシンボルを出力するためのステップと、物理的エントロピー源の検出された状態が状態Aであり、物理的エントロピー源の判定された状態が状態Bである場合に、第2のシンボルを出力するためのステップと、物理的エントロピー源の検出された状態が状態Bであり、物理的エントロピー源の判定された状態が状態Aである場合に、第3のシンボルを出力するためのステップと、物理的エントロピー源の検出された状態が状態Bであり、物理的エントロピー源の判定された状態が状態Bである場合に、第4のシンボルを出力するためのステップも含み、第1、第2、第3、および第4のシンボルは相互に区別可能である。この方法は、e)第1および第2のシンボルを第1のキューに入れるためのステップと、f)第3および第4のシンボルを第2のキューに入れるためのステップと、g)アクションa〜fを複数回繰り返すためのステップと、h)第1のキューからシンボルの対を抽出するためのステップと、i)第1のキューから抽出されたシンボルの対が第1のキューの第1の列である場合に第1の値を生成し、第1のキューから抽出されたシンボルの対が第1のキューの第1の列と異なる第1のキューの第2の列である場合に第1の値と異なる第2の値を生成するためのステップと、j)第1および第2の値を2進乱数列として出力するためのステップとをさらに含む。
【００１５】
本開示のさらなる態様は、状態Aおよび状態Bを有する物理的エントロピー源を備える2進乱数列を生成するための装置であって、状態AおよびBは双安定状態である、装置と、物理的エントロピー源を状態Aにするための第1の論理手段と、物理的エントロピー源を状態Bにするための第2の論理手段とを備える。第1の論理手段は、物理的エントロピー源が状態Bにあるときに100%未満の第1の確率で物理的エントロピー源を状態Aにし、物理的エントロピー源が状態Aにあるときに100%の確率で物理的エントロピー源を状態Aにするように構成される。第2の論理手段は、物理的エントロピー源が状態Aにあるときに100%未満の第2の確率で物理的エントロピー源を状態Bにし、物理的エントロピー源が状態Bにあるときに100%の確率で物理的エントロピー源を状態Bにするように構成される。装置は、a)物理的エントロピー源が状態Aにあるか、または状態Bにあるかを検出し、物理的エントロピー源が状態Aにある場合に、第1の論理手段を制御して物理的エントロピー源を状態Bにし、物理的エントロピー源が状態Bにある場合に、第2の論理手段を制御して物理的エントロピー源を状態Aにし、b)アクションaが実行された後に物理的エントロピー源が状態Aにあるか、または状態Bにあるかを判定するための制御装置手段も備える。制御装置手段は、c)物理的エントロピー源の検出された状態が状態Aであり、物理的エントロピー源の判定された状態が状態Aである場合に、第1のシンボルを出力し、物理的エントロピー源の検出された状態が状態Aであり、物理的エントロピー源の判定された状態が状態Bである場合に、第2のシンボルを出力し、物理的エントロピー源の検出された状態が状態Bであり、物理的エントロピー源の判定された状態が状態Aである場合に、第3のシンボルを出力し、物理的エントロピー源の検出された状態が状態Bであり、物理的エントロピー源の判定された状態が状態Bである場合に、第4のシンボルを出力するためのものでもあり、第1、第2、第3、および第4のシンボルは相互に区別可能である。制御装置手段は、d)第1および第2のシンボルを第1のキューに入れ、e)第3および第4のシンボルを第2のキューに入れ、f)第1のキューからシンボルの対を抽出し、g)第1のキューから抽出されたシンボルの対が第1のキューの第1の列である場合に第1の値を生成し、第1のキューから抽出されたシンボルの対が第1のキューの第2の列である場合に第1の値と異なる第2の値を生成し、h)第1および第2の値を2進乱数列として出力するためのものでもある。
【００１６】
本開示の別の態様は、コンピュータによって実行されたときに、コンピュータに、第1の論理手段、第2の論理手段から、また状態Aおよび状態Bを有し、状態AおよびBは双安定状態である、物理的エントロピー源から2進乱数列を生成するステップを実行させる命令を格納する非一時的コンピュータ可読媒体を備える。第1の論理手段は、物理的エントロピー源が状態Bにあるときに100%未満の第1の確率で物理的エントロピー源を状態Aにし、物理的エントロピー源が状態Aにあるときに100%の確率で物理的エントロピー源を状態Aにし、第2の論理手段は、物理的エントロピー源が状態Aにあるときに100%未満の第2の確率で物理的エントロピー源を状態Bにし、物理的エントロピー源が状態Bにあるときに100%の確率で物理的エントロピー源を状態Bにする。これらの命令は、コンピュータに、a)物理的エントロピー源が状態Aにあるか、または状態Bにあるかを検出するステップを実行させ、b)物理的エントロピー源が状態Aにある場合に、第1の論理手段に物理的エントロピー源を状態Bにするステップを実行させ、物理的エントロピー源が状態Bにある場合に、第2の論理手段に物理的エントロピー源を状態Aにするステップを実行させる。これらの命令は、コンピュータに、c)物理的エントロピー源が状態Aにあるか、または状態Bにあるかを、第1の論理手段に物理的エントロピー源を状態Bにするステップを実行させた後、または第2の論理手段に物理的エントロピー源を状態Aにするステップを実行させた後に判定し、d)物理的エントロピー源の検出された状態が状態Aであり、物理的エントロピー源の判定された状態が状態Aである場合に、第1のシンボルを出力し、物理的エントロピー源の検出された状態が状態Aであり、物理的エントロピー源の判定された状態が状態Bである場合に、第2のシンボルを出力し、物理的エントロピー源の検出された状態が状態Bであり、物理的エントロピー源の判定された状態が状態Aである場合に、第3のシンボルを出力し、物理的エントロピー源の検出された状態が状態Bであり、物理的エントロピー源の判定された状態が状態Bである場合に、第4のシンボルを出力するステップも実行させ、第1、第2、第3、および第4のシンボルは相互に区別可能である。これらの命令は、コンピュータに、e)第1および第2のシンボルを第1のキューに入れ、f)第3および第4のシンボルを第2のキューに入れ、g)アクションa〜fを複数回繰り返し、h)第1のキューからシンボルの対を抽出し、i)第1のキューから抽出されたシンボルの対が第1のキューの第1の列である場合に第1の値を生成し、第1のキューから抽出されたシンボルの対が第1のキューの第1の列と異なる第1のキューの第2の列である場合に第1の値と異なる第2の値を生成し、j)第1および第2の値を2進乱数列として出力するステップも実行させる。
【００１７】
添付図面は、本発明の実施形態の説明を補助するために用意されたものであり、実施形態の例示のみを目的として提示されており、それを制限するものとして提示されていない。
【図面の簡単な説明】
【００１８】
【図１】反平行状態にあるスピントルク転移(STT)磁気トンネル接合(MTJ)素子の概略図である。
【図２】平行状態にある図1のSTT-MTJ素子の概略図である。
【図３】現在のアプリケーションの異なる長さにおける図1のSTT-MTJのスイッチング確率を示すグラフである。
【図４】第1の実施形態によるSTT-MTJ素子などの物理的エントロピーデバイスからベルヌーイ数列を取得する方法を示す状態図である。
【図５】第2の実施形態によるSTT-MTJ素子などの物理的エントロピーデバイスからベルヌーイ数列を取得する方法を示す状態図である。
【図６】乱数ビットの2つのキューの各々におけるビットの対毎の比較から乱数ビットのストリームを生成するシステムの概略図である。
【図７】STT-MTJ素子およびベルヌーイ数列を生成するためにそれに関連付けられている制御ロジックを示す回路図である。
【図８Ａ】一実施形態による方法を示す流れ図である。
【図８Ｂ】一実施形態による方法を示す流れ図である。
【図９】本開示の実施形態が使用され得る例示的なワイヤレス通信システムの概略図である。
【発明を実施するための形態】
【００１９】
本発明の態様は、本発明の特定の実施形態を対象とする以下の説明および関連する図面において開示されている。代替的実施形態は、本発明の範囲から逸脱することなく考案され得る。それに加えて、本発明の関連する詳細が分かりにくくならないようにするため、本発明のよく知られている要素は、詳しく説明されないか、または省略される。
【００２０】
「例示的な」という単語は、本明細書では、「一例、事例、または例示として使用する」ことを意味するために使用される。本明細書で「例示的な」と説明されている実施形態は、必ずしも、他の実施形態よりも好ましい、または有利であると解釈されるべきではない。同様に、「本発明の実施形態」という言い回しは、本発明のすべての実施形態が説明されている特徴、利点、または動作モードを含むことを要求するわけではない。
【００２１】
本明細書で使用されている用語は、特定の実施形態のみについて説明することを目的としており、本発明の実施形態の範囲を制限することは意図されていない。本明細書で使用されているように、「1つの(または使わない場合もある)」および「その(使わない場合もある)」(英語原文の単数形の冠詞「a」、「an」、および「the」)は、文脈上明らかにそうでないことを示していない限り、複数形も含むことが意図されている。さらに、「備える」、「備えること」、「含む」、および/または「含むこと」という言い回しは、本明細書で使用されている場合、記載されている特徴、整数、工程、動作、要素、および/またはコンポーネント(または構成要素)の存在を意味し、1つまたは複数の他の特徴、領域、整数、工程、動作、要素、コンポーネント(または構成要素)、および/またはそれらからなる群の存在もしくは追加を除外しないことも理解されるであろう。
【００２２】
さらに、多くの実施形態が、たとえば、コンピューティングデバイスの要素によって実行されるアクションの順序に関して説明されている。本明細書で説明されている様々なアクションは、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって、1つまたは複数のプロセッサによって実行されるプログラム命令によって、またはこれらの組合せによって実行され得ることは理解されるであろう。それに加えて、本明細書で説明されているアクションのこれらの順序は、実行されると関連付けられているプロセッサに本明細書で説明されている機能を実行させる対応する一組のコンピュータ命令が中に格納されている任意の形態のコンピュータ可読記憶媒体内に完全に具現化されるものと考えることができる。したがって、本発明の様々な態様は、多数の異なる形態により具現化することができ、そのすべてが請求されている発明対象の範囲内にあるものと考えられている。それに加えて、本明細書において説明されている実施形態のそれぞれについて、そのような実施形態の対応する形態は、本明細書では、たとえば、説明されているアクションを実行する「ように構成された論理(回路)」として記述され得る。
【００２３】
図4は、STT-MTJ素子100を2つの異なる状態(平行/反平行)のうちの一方にセットするステップおよびセットするアクションの実行前および実行後のSTT-MTJ素子100の状態に基づき4つの相互に区別可能な出力のうちの1つを生成するステップに関係する一連のアクションを示している。特に、上で説明されているように、STT-MTJ素子は、2つの状態、平行または反平行のうちの一方の状態にあるものとしてよく、これは論理0または論理1を表し得る。これらの状態は、0がSTT-MTJの平行または反平行の状態で表されるかどうかに関係なく、これ以降、「0」および「1」と称される。「セット(する)」は、STT-MTJ素子100を1状態にすることを指し、「リセット(する)」は、STT-MTJ素子100を0状態にすることを指す。論理手段の出力は、これ以降「P」、「Q」、「R」、および「S」の出力と称される、4つの相互に区別可能なシンボルのうちの1つとして表される。これらの指示記号は、参照しやすくするためのものであり、実際の出力は、たとえば、本開示よる方法を実行するシステムによって認識され、操作され得る電圧レベルまたは他の相互に区別可能なシンボルとすることが可能である。図面内で、またこれ以降使用されているように、シンボル「W」は、書込みオペレーションを指し、シンボル「R」は、読出しオペレーションを指し、「W」または「R」に隣接する番号0または1は、0または1が書き込まれるか、または読み出されることを示している。たとえば、「W1R」という文字列は、「値1を書き込み、次いで、書込みオペレーションの後にSTT-MTJ素子100の状態を読み出す」ことを意味する。
【００２４】
図4において、プロセスは、セットオペレーション402またはリセットオペレーション404のいずれかから始まる。セットオペレーション402で、STT-MTJ100の状態は、論理1を表す平行状態および反平行状態のうちの一方にセットされる。このセットオペレーションの際に、セットオペレーションの後にSTT-MTJ素子100が1状態にある確率が実質的に100%である十分な時間の間、電流が印加される。代替的に、リセットオペレーション404の際に、リセットオペレーションの後にSTT-MTJ素子100が0状態にある確率が実質的に100%である十分な時間の間、電流が印加される。これらのセット402およびリセット404のアクションは、この実施形態の方法の後続の部分よりも時間がかかるが、各ビットが生成された後にセットまたはリセットオペレーションを必要とする従来のデバイスと異なり、本発明の方法では、セット402またはリセット404のオペレーションは、システムが初期化されるときに1回だけ実行される。所与のシステムは、セット402およびリセット404のアクションのうちの一方を実行する能力を必要とするだけである - 両方の種類のアクションは、図4において利用可能なものとして図示されているが、システムは、一般的に、これらのオペレーションのうちの1つのみを実行する。したがって、次の説明では、セットオペレーション402のみを取りあげる。
【００２５】
セットオペレーション402の後に、STT-MTJ素子100は1状態にある。1状態にあるときに0をSTT-MTJ素子100に書き込もうとするか、または0状態にあるときに1をSTT-MTJ素子100に書き込もうとする書込みオペレーションは、約50%の確率でSTT-MTJ素子100の状態をスイッチングする。すでに0状態にあるときに0をSTT-MTJ素子100に書き込もうとするか、または1状態にあるときに1をSTT-MTJ素子100に書き込もうとするその後の書込みオペレーションは、100%の確率でSTT-MTJ素子100を既存の状態のままにする。使用する電圧または電流レベルおよびこの確率的スイッチングを引き起こすための電圧または電流パルスの持続時間は、較正プロセスにおいて決定される。
【００２６】
ブロック406は、1状態にある間にSTT-MTJ素子100上で書込みオペレーションが実行されて、その状態を0状態にスイッチングすることを試み、続いて読出しオペレーションが実行されることを示している。0をSTT-MTJ素子100に書き込んだ後、決定ブロック408において、MTJの状態が0または1であるかの判定が行われる。書込みオペレーションの後もSTT-MTJ素子100の状態がまだ1である場合、上で説明されている4つの相互に区別可能なシンボルのうちの1つである、「S」の出力が、ブロック410において、図6に示されている第1のキュー(先入れ先出しまたはFIFOキュー)604に出力され、プロセスは、ブロック406に戻り、そこで、さらなるW0Rオペレーションが実行される。この第2のW0Rオペレーションの後に、決定ブロック408において、STT-MTJ素子100の状態が現在0であると判定されると仮定する。STT-MTJ素子100の0状態を検出したことに応答して、4つの相互に区別可能なシンボルのうちの第2のシンボルである、「R」が、ブロック412において、第1のキュー604に出力される。
【００２７】
STT-MTJ素子100が0状態にあるので、W1Rオペレーションは、ブロック414で実行され、決定ブロック416において、STT-MTJ素子100が0または1状態にあるかどうかの判定が行われる。決定ブロック416において、STT-MTJ素子100が0状態に留まっていると判定された場合、4つの相互に区別可能なシンボルのうちの第3のシンボルである、「P」が、ブロック418において、図6の第2のキュー602に出力され、プロセスはブロック414に戻り、そこで、第2のW1Rオペレーションが、STT-MTJ素子100上で実行される。決定ブロック416において、STT-MTJ素子100が0または1状態であるかどうかの判定が行われる。この書込みオペレーションの後に、STT-MTJ素子100は、現在、1状態にあると仮定する。この最新の書込みオペレーションの後にSTT-MTJ素子100の1状態を検出したことに応答して、4つの相互に区別可能なシンボルのうちの第4のシンボルである、「Q」が、ブロック420において、第2のキュー602に出力される。
【００２８】
前述の説明では、様々な書込みオペレーションが出力S、R、P、Qをその順序で生成するプロセスについて説明している。所与の書込みオペレーションの後にSTT-MTJ素子100が状態をスイッチングする確率は約50%なので、いくつかのシンボルが繰り返されることが可能であり、複数のSが、たとえば、ブロック406におけるW0RアクションがSTT-MTJ素子100の状態を変えない場合に生成され、複数のPが、ブロック414におけるW1RアクションがSTT-MTJ素子100の状態を変えない場合に生成され得る。しかし、Q出力の後には、常に、RまたはSが続き、R出力の後には、常に、PまたはQが続く。これ以降で説明される2つの別々のキュー602、604の使用は、出力シンボルP、Q、R、およびSを2つのグループ/キューに、各キュー/グループ内のシンボル({P,Q}または{R,S})がシンボル({P,Q}または{R,S})に対する同じ共通状態を有するように分離することである。これにより、フォンノイマン乱数抽出器を各キューに適用することができ、また乱数をこれらの出力から生成することができる。
【００２９】
第1および第2のキュー602、604のオペレーションについて説明する前に、相互に区別可能なシンボルP、Q、R、Sを生成するための第2の手順について、図5を参照しつつ説明する。上で説明されている手順のブロックと同じであるこの手順のブロックは、類似の参照番号で識別される。この手順は、上で説明されているように初期セットまたはリセットオペレーションを必要としない。その代わりに、この手順はブロック502から始まり、そこで、STT-MTJ素子100の初期読出しが実行される。決定ブロック504において、STT-MTJ素子100が0状態にあることを初期読出しが示していると判定される場合、プロセスはブロック414に進み、そこで、W1Rオペレーションが実行され、手順は上で説明されているように続く。初期読出し時に、STT-MTJ素子100が1状態にあると判定された場合、手順はブロック406にシフトし、そこで、W0Rアクションが実行される。この初期化にはセットまたはリセットオペレーションがないこと以外、図5の手順は、図4の手順と同じである。
【００３０】
次に、第1のキュー602および第2のキュー604において相互に区別可能なシンボルP、Q、R、Sの使用について図6を参照しつつ説明する。上で説明されているように、第1のキュー602および第2のキュー604のそれぞれは、図4および図5の手順によって一連のシンボルで満たされているFIFOキューである。第1のキュー602の最後でマッピング機能606は、第1のキュー602からシンボルの対を抽出し、それらを比較する。シンボルの対が第1の順序(P,Q)を有する場合、マッピング機能606は、論理0をマルチプレクサ608に出力し、シンボルの対が第2の順序(Q,P)を有する場合、マッピング機能は、論理1をマルチプレクサ608に出力する。シンボルの抽出された対が同じである、つまり、(P,P)または(Q,Q)のいずれかである場合、3つのオプションのうちの1つが取られる。第1のオプションは、シンボルのマッチする対を破棄し、マルチプレクサ608への出力を生成せず、第1のキュー602からシンボルの第2の対を取り出すものである。第2のオプションとして、マッピング機能606が(P,P)列が最初に検出されたときに1を出力し、(P,P)列が次に検出されたときに0を出力する「トグル」機能が実行され得る。第3のオプションでは、線形フィードバックシフトレジスタ(LFSR)などの疑似乱数生成器(図示せず)から疑似乱数ビットが、各(P,P)および各(Q,Q)に割り当てられ得る。
【００３１】
列(Q,Q)も同様に処理される。この段取りにより、一定の2進乱数ストリームをマルチプレクサ608に供給しやすくなる。同一シンボルの対が破棄される場合に、本発明の方法はそれでも実施され得るが、マルチプレクサ608のところで入ってくるビットをバッファリングすることが必要になるか、またはマルチプレクサ608の出力が詰まる可能性がある。
【００３２】
第2のキュー604では、同様にしてRおよびSシンボルの対を処理し、順序対(R,S)については0を、順序対(S,R)については1を出力し、同一のシンボル(R,R)および(S,S)を有する列を破棄するか、またはトグル機能を実行するか、または上で説明されているような疑似乱数ビットを割り当てる。第1のキュー602および第2のキュー604は、0と1からなる乱数ストリームをマルチプレクサ608に供給し、マルチプレクサ608は、これらの数をシリアル化して真の乱数ビットの出力ストリームを形成する。特定のビットストリームが生成され得る速度よりも速い速度で乱数ビットストリームを生成するために、2つよりも多いビットストリームが多重化され得る。
【００３３】
図7は、STT-MTJ素子100への読出しおよび書込みを制御し、乱数ビットストリームを生成するための回路700を示している。回路700は、たとえば、半導体ダイ(図示せず)で具現化され得る。回路700は、STT-MTJ素子100、0書込み(W0)電流源702、1書込み(W1)電流源704、読出し電流源706、および制御装置708を備え、これはセンス増幅器を備えるか、または含み得る。0書込みイネーブル(W0_ENB)スイッチ710の対は、W0電流源702をSTT-MTJ素子100に選択的に接続し、STT-MTJ素子100を平行から反平行に(または反平行から平行に)シフトする。1書込みイネーブル(W1_ENB)スイッチ712の対は、W1電流源704をSTT-MTJ素子100に選択的に接続し、電流をSTT-MTJ素子100に反対方向で流し、STT-MTJ素子100を上記の状態から反対の状態にスイッチングする。読出しイネーブル(RD_ENB)スイッチ714の対は、読出し電流をSTT-MTJ素子100に供給する。STT-MTJ素子100の抵抗は、それが平衡状態であるか、または反平行状態であるかに依存し、これは、ライン716によって読出しイネーブルスイッチ714に接続されている制御装置708によって検出され得る予測可能な仕方でSTT-MTJ素子100内を流れる電流に影響を及ぼす。読出しイネーブルスイッチ714、0書込みイネーブルスイッチ710、および1書込みイネーブルスイッチ712は、上で説明されている方法を実行するように制御装置708によって制御される。したがって、制御装置708は、100%の確率でSTT-MTJ素子100をセットもしくはリセットする、または約50%の確率でSTT-MTJ素子100をスイッチングするために様々な読出しおよび書込みイネーブルスイッチが閉じられる時間を制御する。第1のキュー602、第2のキュー604、およびマルチプレクサ608は、制御装置708内に配置されるか、または代替的に、制御装置708の制御の下にある別の論理素子を備え得る。制御装置708は、ハードウェアまたはソフトウェアで実装され得る、本開示の方法を実施するために必要なすべての論理手段を備える。
【００３４】
図8Aおよび図8Bは、状態Aおよび状態Bを有し、状態AおよびBは双安定状態である、物理的エントロピー源を実現するブロック802、ならびに物理的エントロピー源を状態Aにするための第1の論理手段を実現するブロック804を備える一実施形態により2進乱数列を生成する方法を示している。第1の論理手段は、物理的エントロピー源が状態Bにあるときに100%未満の第1の確率で物理的エントロピー源を状態Aにし、物理的エントロピー源が状態Aにあるときに100%の確率で物理的エントロピー源を状態Aにする。この方法は、物理的エントロピー源を状態Bにするための第2の論理手段を実現するブロック806も含む。第2の論理手段は、物理的エントロピー源が状態Aにあるときに100%未満の第2の確率で物理的エントロピー源を状態Bにし、物理的エントロピー源が状態Bにあるときに100%の確率で物理的エントロピー源を状態Bにする。この方法は、物理的エントロピー源が状態Aにあるか、または状態Bにあるかを検出するブロック808と、物理的エントロピー源が状態Aにある場合に、第1の論理手段を使用して物理的エントロピー源を状態Bにし、物理的エントロピー源が状態Bにある場合に、第2の論理手段を使用して物理的エントロピー源を状態Aにするブロック810も含む。この方法は、物理的エントロピー源が状態Aにあるか、または状態Bにあるかを、第1の論理手段を使用して物理的エントロピー源を状態Bにした後、または第2の論理手段を使用して物理的エントロピー源を状態Aにした後に判定するブロック812をさらに含む。それに加えて、この方法は、物理的エントロピー源の検出された状態が状態Aであり、物理的エントロピー源の判定された状態が状態Aである場合に、第1のシンボルを出力し、物理的エントロピー源の検出された状態が状態Aであり、物理的エントロピー源の判定された状態が状態Bである場合に、第2のシンボルを出力し、物理的エントロピー源の検出された状態が状態Bであり、物理的エントロピー源の判定された状態が状態Aである場合に、第3のシンボルを出力し、物理的エントロピー源の検出された状態が状態Bであり、物理的エントロピー源の判定された状態が状態Bである場合に、第4のシンボルを出力し、第1、第2、第3、および第4のシンボルは相互に区別可能である、ブロック814を含む。この方法は、第1および第2のシンボルを第1のキューに入れるブロック816と、第3および第4のシンボルを第2のキューに入れるブロック818と、ブロック808〜818を複数回繰り返すブロック820も含む。この方法は、第1のキューからシンボルの対を抽出するブロック822と、第1のキューから抽出されたシンボルの対が第1のキューの第1の列である場合に第1の値を生成し、第1のキューから抽出されたシンボルの対が第1のキューの第1の列と異なる第1のキューの第2の列である場合に第1の値と異なる第2の値を生成するブロック824と、第1および第2の値を2進乱数列として出力するブロック826とをさらに含む。この方法は、第2のキューからシンボルの対を抽出するステップと、第2のキューから抽出されたシンボルの対が第2のキューの第1の列である場合に第1の値を生成し、第2のキューから抽出されたシンボルの対が第2のキューの第1の列と異なる第2のキューの第2の列である場合に第2の値を生成するステップと、第1および第2の値を2進乱数列として出力するステップ��をさらに含み得る。
【００３５】
図9は、本開示の1つまたは複数の実施形態を有利に利用できる例示的なワイヤレス通信システム900を示している。例示を目的として、図9は、3つのリモートユニット920、930、および950、ならびに2つの基地局940を示している。従来のワイヤレス通信システムは、さらに多くのリモートユニットおよび基地局を有することができることは理解されるであろう。リモートユニット920、930、および950は、以下でさらに説明されているように本開示の実施形態に含まれる、集積回路または他の半導体素子925、935、および955(本明細書で開示されているようなベルヌーイ数列生成器を含む)を備える。図9は、基地局940およびリモートユニット920、930、および950からの順方向リンク信号980ならびにリモートユニット920、930、および950から基地局940への逆方向リンク信号990を示している。
【００３６】
図9において、リモートユニット920は、携帯電話として図示され、リモートユニット930は、携帯型コンピュータとして図示され、リモートユニット950は、ワイヤレスローカルループシステム内の固定位置リモートユニットとして図示されている。たとえば、リモートユニットは、通信デバイス、携帯電話、ハンドヘルド型パーソナルコミュニケーションシステム(PCS)ユニット、携帯情報端末(PDA)などの携帯型データユニット、ナビゲーションデバイス(GPS対応デバイスなど)、セットトップボックス、音楽プレーヤー、ビデオプレーヤー、エンターテインメントユニット、メーター読み取り機器などの固定ロケーションデータユニット、またはデータもしくはコンピュータ命令を格納するか、もしくは取り出す他のデバイス、またはこれらの任意の組合せであってよい。図9は、本開示の教示によるリモートユニットを示しているが、本開示は、これらの図示されている例示的なユニットに限定されない。本開示の実施形態は、テストおよび特徴付けのためメモリおよびオンチップ回路を含むアクティブ集積回路を有する任意のデバイスにおいて適宜使用され得る。
【００３７】
当業者であれば、情報および信号は、様々な異なる技術および技法を任意に使用して表され得ることを理解するであろう。たとえば、上の説明全体を通して参照されていると思われるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場または磁気粒子、光場または光粒子、これらの任意の組合せにより表すことができる。
【００３８】
さらに、当業者であれば、本明細書で開示されている実施形態に関して説明されている様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装することができることを理解するであろう。ハードウェアとソフトウェアとを入れ替えて使用できることを明確に例示するために、上では、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、一般的にその機能に関して説明されている。このような機能がハードウェアまたはソフトウェアとして実装されるかどうかは、特定の応用例とシステム全体に課される設計制約とに依存する。当業者であれば、それぞれの特定の用途について様々な方法により説明されている機能を実装することができるが、そのような実装決定は、本発明の範囲からの逸脱を引き起こすものとして解釈されるべきではない。
【００３９】
本明細書で開示されている実施形態に関して説明されている方法、順序、および/またはアルゴリズムは、ハードウェアで直接、プロセッサにより実行されるソフトウェアモジュールにより、またはこれら2つの組合せにより具現化され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、取り外し可能ディスク、CD-ROM、または当技術分野で知られている他の形態の記憶媒体に格納することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み込み、記憶媒体に情報を書き込めるようにプロセッサに結合されている。代替的形態では、記憶媒体は、プロセッサと一体であってもよい。
【００４０】
したがって、本発明の一実施形態は、ベルヌーイ数列を生成するための方法を具現化するコンピュータ可読媒体を含み得る。したがって、本発明は、示されている例に限定されず、本明細書で説明されている機能を実行するための手段は、本発明の実施形態に含まれる。
【００４１】
前記の開示では本発明の例示的な実施形態が示されているが、付属の請求項で定義されているように、本発明の範囲から逸脱することなく、本明細書において様々な変更および修正を加えられることに留意されたい。本明細書で説明されている本発明の実施形態による方法の請求項の機能、ステップ、および/またはアクションは、特定の順序で実行される必要はない。さらに、本発明の要素は、単数形で説明または請求されている場合があるが、単数形に限定されることが明示的に述べられていない限り、複数形が企図される。
【符号の説明】
【００４２】
100  STT-MTJ素子
102  固定層
104  バリア層
106  自由層
402  セットオペレーション
404  リセットオペレーション
602  第2のキュー
604  第1のキュー
606  マッピング機能
608  マルチプレクサ
700  回路
702  0書込み(W0)電流源
704  1書込み(W1)電流源
706  読出し電流源
708  制御装置
710  0書込みイネーブル(W0_ENB)スイッチ
712  1書込みイネーブル(W1_ENB)スイッチ
714  読出しイネーブル(RD_ENB)スイッチ
716  ライン
920、930、950  リモートユニット
940  基地局
980  順方向リンク信号
990  逆方向リンク信号
【図１】
2016513313.tif 000003
【図２】
2016513313.tif 000004
【図３】
2016513313.tif 000005
【図４】
2016513313.tif 000006
【図５】
2016513313.tif 000007
【図６】
2016513313.tif 000008
【図７】
2016513313.tif 000009
【図８Ａ】
2016513313.tif 000010
【図８Ｂ】
2016513313.tif 000011
【図９】
2016513313.tif 000012
【国際調査報告】
2016513313.tif 000013
2016513313.tif 000014
2016513313.tif 000015