【文献】
吉田 雅一 他,量子誤り訂正符号を用いたエンタングルメント蒸留プロトコルの性能評価に関する検討,電子情報通信学会技術研究報告,2010年 9月14日,第110巻,第205号,pp.51-56,IT2010-42
(58)【調査した分野】(Int.Cl.,DB名)
前記デコーダから受信されるシンドローム値に基づいて、前記符号化されたエンタングル量子ビット状態におけるエラーを訂正するように構成された状態回復回路をさらに備えており、
前記状態回復回路は、さらに、
シンドローム値の訂正された組に基づいて、前記符号化されたエンタングル量子ビット状態における起こりそうなエラーに対応するエラー・オペレータを決定し、また、
その中の前記起こりそうなエラーを訂正する方法において、前記エラー・オペレータに基づいて前記符号化されたエンタングル量子ビット状態を処理する、
ように構成されており、また、
前記装置は、複数の符号化されたエンタングル量子ビット状態を記憶するためのアレイをさらに備えており、
前記装置は、
前記アレイから前記レジスタへと選択された符号化されたエンタングル量子ビット状態を転送し、また、
前記エラー・オペレータに基づいて、前記選択されたエンタングル量子ビット状態を修正することに応じて、前記レジスタから前記アレイへと前記選択された符号化されたエンタングル量子ビット状態を転送する、
ように構成されている、請求項1に記載の装置。
前記第1の組の中の前記測定モジュールは、対数尤度比(LLR)値として前記それぞれのシンドローム値を生成するように構成されたそれぞれのソフト出力検出器を備えており、また、
前記第2の組の中の前記測定モジュールは、LLR値として前記それぞれのパリティ値を生成するように構成されたそれぞれのソフト出力検出器を備えている、請求項6に記載の装置。
前記デコーダは、前記LDPCエラー訂正コードに対応するメッセージ・パッシング復号アルゴリズムを実行することにより、前記測定エラーを訂正するように構成されており、
前記メッセージ・パッシング復号アルゴリズムは、前記測定モジュールによって生成される前記LLR値を使用して、初期化される、請求項7に記載の装置。
前記符号化されたエンタングル量子ビット状態は、前記冗長測定のために使用される前記LDPCコードに比べて異なるLDPCコードである前記量子スタビライザ・コードを使用して生成される、請求項1に記載の装置。
【発明を実施するための形態】
【0028】
2013年、1月15日に出願された米国仮特許出願第61/752,646号は、その全体が参照により本明細書に組み込まれている。
【0029】
図1は、本開示の一実施形態によるメモリ・システム100のブロック図を示すものである。メモリ・システム100は、1つまたは複数の量子状態をそれに記憶するように構成された量子ビット・アレイ110を備えている。量子状態は、入出力(I/O:input/output)インターフェース120を経由して、量子ビット・アレイ110に書き込まれ、また量子ビット・アレイ110から読み出される可能性がある。メモリ・システム100は、エラーを蓄積しないように量子ビット・アレイ110に記憶される量子状態を効果的に保護するように動作する量子ビット状態リフレッシュ(QSR:qubit−state−refresh)モジュール130をさらに備えており、それによってメモリ・システム100が、比較的長い時間にわたって比較的高い忠実度で量子状態を記憶することを可能にしている。
【0030】
本明細書において使用されるように、用語「量子ビット」は、2状態量子力学システムを備えているメモリ素子またはセルのことを意味している。適切な2状態量子力学システムの例は、それだけには限定されないが、(i)1/2というスピンを有する粒子の2つのスピン状態と、(ii)原子の基底状態および励起状態と、(iii)単一のフォトンの2つの偏光状態と、(iv)FQHE(部分量子ホール効果)液滴のエッジ状態とを含む。量子ビット・アレイ110を実施するために使用され得る量子ビットの様々な追加の実施形態は、例えば、それら特許のすべてが、その全体が参照により本明細書に組み込まれている、米国特許第7,732,804号、ならびに米国特許出願公開第2004/0000666号および第2013/0107617号の中で開示される。
【0031】
量子ビットの状態が測定され得る2つの状態は、基礎状態と称される。非エンタングル量子ビット状態は、基礎状態の線形重ね合わせである。マルチ量子ビット状態は、前者がエンタングルメント(Entanglement,もつれ)を示すように形成され得る点で、古典的な多ビット状態とは異なる。エンタングル量子ビット状態は、単一の量子ビット基礎状態の簡単な積には分解されない可能性があるが、もっと正確に言えば、それは、単一の量子ビット基礎状態の異なる積の線形の組合せ、または重ね合わせとして表される可能性がある。QSRモジュール130は、その中で量子ビット状態におけるエラーを蓄積しないように量子ビット・アレイ110を効果的に保護するために、例えば、以下でさらに詳細に説明されるようにマルチ量子ビット状態のもつれた性質を使用するように構成されている。
【0032】
いくつかの実施形態によれば、量子ビット・アレイ110に記憶される各エンタングル量子ビット状態は、量子スタビライザ・コード、Qを使用して符号化される。長さnと、次元kとの量子スタビライザ・コードQは、複素空間S
Dの中の次元2
kの線形部分空間の上で、動作し、ここで、D=2
nである。量子スタビライザ・コードQの1つの表現は、基数(cardinality)|G|=2
r(ここで、r=n−k)のグループGである。そのグループは、r個のジェネレータを有しており、そこでは各ジェネレータは、おのおの2nビットの二値ベクトルg=(g
1,g
2,...,g
2n−1,g
2n)である。本明細書においては、そのような2値ベクトルの2nビットは、n個のビット対へとグループ分けされる。グループGからの任意の2つのベクトルgは、以下の制約条件、すなわち、
g,g’∈Gである場合、そのときにはg
*g’=0
を満たし、式中で、
「*」符号は、二値ベクトルgおよびg’のシンプレクティック内積を示しており、このシンプレクティック内積は、ベクトルgとg’との対応するビット対を混合している。例えば、以下の4つの二値ベクトルは、長さn=5と、次元k=1との量子スタビライザ・コードQを表すことができる。
g
1=(10 01 01 10 00)
g
2=(10 00 10 01 01)
g
3=(00 10 01 01 10)
g
4=(01 10 00 10 01) (1)
【0033】
wt(g)と示されるベクトルgの重みは、その中の非ゼロのビット対g
2t−1、g
2tの数であり、ここで、t=1、...、nである。とりわけ、そのようなビットの対(g
2t−1,g
2t)は、g
2t−1とg
2tとのうちの少なくとも一方が、非ゼロである限りは、非ゼロであり、
wt(g)=|{g
2t−1,g
2t≠(0,0),t=1,...,n}| (2)
式中で、|x|は、集合xの基数を示すものである。例えば、式(1)によって規定されるベクトルg
1の重みは、g
1の中の5つのビット対のうちのただ1つが、00であるので、4(すなわち、wt(g
1)=4)である。
【0034】
ベクトルgは、その重みwt(g)が、ベクトルの長さnに比べて小さい(例えば、<10%)である場合、「スパース」ベクトルと称される。例えば、その重みwt(g)(=3)が、その長さn(=33)よりもずっと小さいので、ベクトルg=(00 00 00 00 00 00 00 11 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00)は、スパースである。グループGが、r個のスパース・ベクトルg
1,g
2,...,g
rから成る場合、そのときにはグループGは、量子LDPC(低密度パリティ・チェック)コードを表す。いくつかの実施形態においては、メモリ・システム100は、量子LDPCコードを使用して生成されているエンタングル量子状態を記憶し、読み取り、また書き込むように構成されている。
【0035】
動作中に、QSRモジュール130は、量子ビット・アレイ110に記憶される異なるエンタングル量子状態を処理することを連続的に受けさせるように構成されている。異なるエンタングル量子状態に対応する量子ビットの組は、例えば、ラウンド・ロビン・シーケンスで、あらかじめ設定されたスケジュールに基づいて、一度に1つの組で、QSRモジュール130に対して転送されることもある。QSRモジュール130は、さらに、例えば、以下でさらに説明されるように、量子ビットのおのおのの受信された組がエラー訂正処理を受けるように構成されている。
【0036】
一実施形態においては、QSRモジュール130におけるエラー訂正処理は、(i)エンタングル量子状態に対応する量子ビットの受信された組が、エラーを有するか否かを判定するステップと、(ii)エラーが検出される場合、そのときには検出されたエラーを訂正するように量子ビット状態を変更するステップとを実行する。今や、変更され、また推定されるようにエラー・フリー・エンタングル量子状態にある量子ビットの組は、量子ビット・アレイ110に対して転送して戻される。QSRモジュール130が、量子ビット状態にあるエラーを検出しない場合、そのときには対応するエンタングル量子状態は、エラー・フリーであるように推定され、また量子ビットの組は、量子ビット状態に対する変更なしに、量子ビット・アレイ110に対して転送して戻される可能性がある。
【0037】
一実施形態においては、QSRモジュール130は、
図1に示されるように相互接続された量子ビット・バッファ134と、エラー検出回路138と、量子状態回復回路148とを備えている。量子ビット・バッファ134は、対応するエラー訂正処理の持続時間にわたって受信された量子ビットを保持するように構成された1つまたは複数の量子ビット・レジスタを備えている。エラー検出回路138は、エラー訂正処理についての上記で指定されたステップ(i)を実施するように構成されている。量子状態回復回路148は、エラー訂正処理についての上記で指定されたステップ(ii)を実施するように、量子ビット・バッファ134において、エンタングル量子状態に作用するように構成されている。
【0038】
一実施形態においては、エラー検出回路138は、
図1に示されるように、QSRモジュール130の中で、互いに結合され、また他の回路に結合されるシンドローム測定回路140と、デコーダ144とを含んでいる。
【0039】
シンドローム測定回路140は、シンドローム値の組の、量子ビット・バッファ134の中の符号化されたエンタングル量子状態についての冗長測定を実行するように構成された量子回路である。測定の下の符号化されたエンタングル量子状態は、量子スタビライザ・コードQを使用して、最初に生成されている。この測定の結果は、N個の2進数値を含む二値ベクトルv=(s
1,...,s
r,p
1,...,p
N−r)である。ベクトルvの中の最初のr個の2進数値(s
1,...,s
r)は、量子スタビライザ・コードQに対応するシンドローム・ビット、例えば、シンドローム値を搬送する。ベクトルvの中の次のN−r個の2進数値(p
1,...,p
N−r)は、シンドローム・ビットの測定において可能性のあるエラーに対して保護する助けを行うパリティ・ビットを搬送する。上記で既に示されるように、シンドローム測定回路140など、量子回路の中の量子ゲートは、比較的高い固有レベルのエラーを有しており、これは、誤りのあるシンドローム測定の確率が、それに応じて比較的高くなるようにさせる。それゆえに、シンドローム測定回路140は、ブロック・エラー訂正コードCに従って、冗長測定を実行するように構成されている。この目的のために、シンドローム測定回路140は、2進数値s
1、...、s
r、p
1、...、p
N−rのすべてが、正確に測定されるときに、生成された二値ベクトルvが、ブロック・エラー訂正コードCのコードワードであるようにさせる量子回路を含んでいる。本開示の一実施形態による、そのような量子回路の代表的な例は、
図2A〜2Cを参照して、以下でより詳細に説明される。
【0040】
シンドローム測定回路140によって生成されるベクトルvが、ブロック・エラー訂正コードCのコードワードである場合、そのときにはデコーダ144は、ベクトルvを切り捨てて、パリティ値p
1、...、p
N−rを取り除き、また測定されたシンドローム値s
1、...、s
rを量子状態回復回路148に対して渡す。
【0041】
シンドローム測定回路140によって生成されるベクトルvが、ブロック・エラー訂正コードCの有効なコードワードではないことが決定される場合、そのときには2進数値s
1、...、s
r、p
1、...、p
N−rは、正確に測定されていないものとして処理される。この場合には、デコーダ144は、測定されたベクトルvに対応する最も可能性の高い有効なコードワードを決定するように、ブロック・エラー訂正コードCに従って、測定されたベクトルvを処理するように構成されている。本開示の一実施形態によるそのような処理の代表的な例は、
図3および4を参照して以下で詳細に説明される。様々な代替的な実施形態によるそのような処理についての追加の例は、その全体が、参照により本明細書に組み込まれている本出願と同じ日付で出願され、また「SYNDROME OF DEGRADED QUANTUM REDUNDANCY CODED STATES」という名称の、Alexei Ashikhminによる米国特許出願第1x/xxx,xxx号、アトーニー・ドケット参照番号813437−US−NPの中で開示される。そのような処理の後に、デコーダ144は、決定された最も可能性の高いコードワードを切り捨て、またその対応する最も可能性の高いシンドローム値s
1、...、s
rを量子状態回復回路148に対して渡す。
【0042】
量子状態回復回路148は、デコーダ144から受信されるシンドローム値s
1、...、s
rを使用して、量子ビット・バッファ134に記憶されるエンタングル量子状態の中のエラーを(もしあれば)訂正する。より具体的には、デコーダ144から受信されるシンドローム値s
1、...、s
rが、すべてゼロである場合、そのときには量子ビット・バッファ134の中のエンタングル量子状態は、エラー・フリーであることが推定され、またエラー訂正は、量子状態回復回路148によってそれに対して実行されない。しかしながら、デコーダ144から受信されるシンドローム値s
1、...、s
rのうちのどれもがゼロでない場合、そのときには量子ビット・バッファ134の中のエンタングル量子状態は、エラーを有することが推定される。この場合には、量子状態回復回路148は、デコーダ144から受信されるシンドローム値s
1、...、s
rを使用して、対応する元のエンタングル量子状態が、これらのシンドローム値を戻したエンタングル量子状態へと変換されるようにさせている最も可能性の高いエラー・オペレータEを決定する。Frank Gaitanによる「Quantum Error Correction and Fault Tolerant Quantum Computing」という表題が付けられた書物、Taylor & Francis、2008年は、本開示の一実施形態による量子状態回復回路148におけるこの決定のために使用され得る適切なアルゴリズムを開示している。Frank Gaitanによるこの書物は、その全体が参照により本明細書に組み込まれている。代替的な実施形態においては、量子スタビライザ・コードQのシンドローム値s
1、...、s
rに基づいたエラー・オペレータEの決定のための他の適切なアルゴリズムもまた、使用される可能性がある。
【0043】
一実施形態においては、エラー・オペレータEは、正方複素値行列として表されることもある。エラー・オペレータEに対応するエラーを訂正するために、量子状態回復回路148は、最初に、例えば、適切な従来の行列反転アルゴリズムを使用して、エラー・オペレータEの逆元を見出すように構成されている。結果として生ずる逆行列は、E
−1と示される。E
−1に基づいて、次いで、量子状態回復回路148は、エラー・オペレータEによって引き起こされるエラーを訂正する方法で、量子ビット・バッファ134の中に保持されるエンタングル量子状態を変更する刺激150を生成するように構成されている。エラー訂正が適切に実行される場合、そのときには量子ビット・バッファ134の中の訂正されたエンタングル量子状態は、すべてゼロのシンドロームを有する可能性が最も高いであろう。
【0044】
例証目的のために、またどのような暗に示される限定もなしに、いくつかの実施形態についての後続の説明は、以下の生成行列G(C)、すなわち、
【0045】
【数1】
を有するブロック・エラー訂正コードCの一例を参照して与えられる。このブロック・エラー訂正コードは、r=4であり、またN=12であるコードの例である。このブロック・エラー訂正コードCに対応するシンドローム測定回路140の一実施形態は、ベクトルv=(s
1,...,s
4,p
1,...,p
8)を生成するように動作する。
【0046】
式(3)によって与えられるような、生成行列G(C)は、G(C)=[I
4|P]の形式を有しており、式中で、I
4は、4×4の恒等行列であり、またPは、ブロック・エラー訂正コードCに対応するr×(N−r)二値行列であることに注意すべきである。行列Pは、以下では、パリティ・ビット生成部分行列と称される。この形式の生成行列G(C)に対応するパリティ・チェック行列、H(C)は、H(C)=[P
T|I
N−r]の形式を有しており、式中で、I
N−rは、(N−r)×(N−r)恒等行列であり、またP
Tは、転置されたPである。式(3)によって与えられる生成行列G(C)に対応するパリティ・チェック行列H(C)は、式(4)、すなわち、
【0047】
【数2】
によって与えられる。このパリティ・チェック行列H(C)は、シンドローム測定回路140によって生成されるベクトルvのパリティ・ビットp
1、...、p
8が、シンドローム・ビットs
1、...、s
4との次の関係、すなわち、
p
1=s
1+s
3
p
2=s
2+s
3
p
3=s
1+s
2
p
4=s
1+s
2+s
4
p
5=s
1+s
3+s
4
p
6=s
3+s
4
p
7=s
1+s
2+s
3+s
4
p
8=s
2+s
4 (5)
を有するようにさせる。式(5)の中のすべての加算は、2を法として実行されることに注意すべきである。
【0048】
図2A〜2Cは、本開示の一実施形態による、シンドローム測定回路140(
図1)として使用され得るシンドローム測定回路200のブロック図を示すものである。より詳細には、
図2Aは、シンドローム測定回路200の全体的なブロック図を示すものである。
図2Bは、シンドローム・ビットs
1の値を測定するように構成された回路200の中のモジュール210
1のブロック図を示すものである。
図2Cは、パリティ・ビットp
1の値を測定するように構成された回路200の中のモジュール210
5のブロック図を示すものである。
図2Bおよび2Cの中に示されるブロック図と、以下で提供される対応する説明とに基づいて、当業者なら、回路200の中の残りの10個のモジュール210のおのおのについてのブロック図を構成することができるであろう。シンドローム測定回路200は、式(3)によって与えられる生成行列G(C)を有するブロック・エラー訂正コードCに従って、測定を実行するように設計されている。
【0049】
図2Aを参照すると、シンドローム測定回路200は、量子ビットq
1〜q
5の形で符号化されるエンタングル量子状態についてのシンドローム測定を実行するように構成されている。この測定は、ベクトルv=(s
1,...,s
4,p
1,...,p
8)を生成することにより実行される。ベクトルvの各成分は、測定モジュール210
1〜210
12のうちの対応する1つによって生成され、そこでは、測定モジュール210
1〜210
4は、それぞれ、ベクトル成分s
1〜s
4を生成するように構成されており、また測定モジュール210
5〜210
12は、それぞれ、ベクトル成分p
1〜p
8を生成するように構成されている。
【0050】
測定モジュール210
1〜210
4のおのおのは、量子ビットq
1〜q
5のエンタングル量子状態についての測定を実行することによりシンドローム値s
1〜s
4のうちのそれぞれ1つを生成するように構成されており、この測定は、量子スタビライザ・コードQを表す二値ベクトルgのうちのそれぞれ1つに基づいたものである。
図2A〜2Cに示される実施形態では、これらの二値ベクトルは、式(1)によって与えられるベクトルg
1〜g
4である。測定モジュール210
5〜210
12のおのおのは、量子ビットq
1〜q
5のエンタングル量子状態についての測定を実行することにより、パリティ値p
1〜p
8のうちのそれぞれ1つを生成するように構成されており、この測定は、二値ベクトルf
1〜f
8のうちのそれぞれ1つに基づいている。二値ベクトルf
1〜f
8は、二値ベクトルgの対応する線形の組合せが量子スタビライザ・コードQを表すように、ブロック・エラー訂正コードCの中で実施されるパリティ・チェックに基づいて、生成される。例えば、式(3)によって与えられる生成行列G(C)を有するブロック・エラー訂正コードCでは、二値ベクトルf
1〜f
8は、次式、すなわち、
f
1=g
1+g
3
f
2=g
2+g
3
f
3=g
1+g
2
f
4=g
1+g
2+g
4
f
5=g
1+g
3+g
4
f
6=g
3+g
4
f
7=g
1+g
2+g
3+g
4
f
8=g
2+g
4 (6)
のように、式(6)によって表される。また式(5)と(6)との間の類似性にも注意すべきである。
【0051】
図2Bは、本開示の一実施形態による測定モジュール210
1のブロック図を示すものである。測定モジュール210
1は、ベクトルvについてのシンドローム値を生成するように構成された測定モジュールの一例である。より詳細には、測定モジュール210
1は、上記で説明された量子スタビライザ・コードQ(式(1)を参照)の二値ベクトルg
1=(10 01 01 10 00)によって規定される結合に基づいて、量子ビットq
1〜q
5のエンタングル量子状態を補助的量子ビットの基準状態に結合することによって形成される状態を測定するように構成されている。補助的量子ビットは、当技術分野において知られているように、特定のあらかじめ選択された量子状態の中にあるように準備される基準量子ビットである。
【0052】
測定モジュール210
1は、すべてが
図2Bに示されるように構成される、4つの量子アダマール・ゲートHまたは
【0053】
【数3】
と、4つの量子CNOTゲート
【0054】
【数4】
と、4つの量子測定ゲートMとを備えている。当業者なら、量子アダマール・ゲートと、量子CNOTゲートと、量子測定ゲートとは、ユニバーサル量子ゲートの組からの基本的量子ゲートであることを認識することになり、このユニバーサル量子ゲートの組は、量子回路の構成において従来から使用されている。そのような基本的量子ゲートの説明は、例えば、(i)A.Barenco他、「Elementary Gates for Quantum Computation」、Physical Review A、1995年、52巻、3457〜3467頁と、(ii)Goong Chen他による書物、「QUANTUM COMPUTING DEVICES:PRINCIPLES, DESIGNS, AND ANALYSIS」、CRC Press、2007年と、(iii)M.NielsenおよびI.Chuangによる書物、「Quantum Computation and Quantum Information」、Cambridge University Press、2000年との中で見出される可能性があり、これらの文献のすべては、それらの全体が参照により本明細書に組み込まれている。量子アダマール・ゲートと、量子CNOTゲートとの追加の説明は、例えば、Frank Gaitanによる上記で引用された書物と、Alexei Ashikhminによる上記で引用された米国特許出願(アトーニー・ドケット参照番号813437−US−NP)との中で見出される可能性がある。
【0055】
g
1の中の第1のビット対は、10である。それに応じて、測定モジュール210
1は、アダマール・ゲートと、CNOTゲートとを経由して、量子ビットq
1と、補助的量子ビットとを結合するように構成されている。g
1の中の第2のビット対は、01である。それに応じて、測定モジュール210
1は、CNOTゲートを経由して、量子ビットq
2と、補助的量子ビットとを結合するように構成されているが、アダマール・ゲートは使用されていない。g
1の中の第3のビット対は、再び01である。それに応じて、測定モジュール210
1は、量子ビットq
2のそれと類似した方法で、量子ビットq
3と、補助的量子ビットとを結合するように構成されている。g
1の中の第4のビット対は、再び01である。それに応じて、測定モジュール210
1は、量子ビットq
1のそれと類似した方法で、量子ビットq
4と、補助的量子ビットとを結合するように構成されている。g
1の中の第5のビット対は、00である。それに応じて、測定モジュール210
1は、量子ビットq
5と、補助的量子ビットとを結合することはない。
【0056】
測定モジュール210
1の中の各量子測定ゲートMは、(i)その入力ポート(
図2Bの中のゲートの左側に位置している)に対して適用される量子ビット状態を測定し、また(ii)その測定に基づいて、その出力ポート(
図2Bの中のゲートの右側に位置している)において対応する電気出力信号208
i(i=1、2、3、4)を生成するように構成されている。次いで、各量子測定ゲートMは、電気出力信号208
1〜208
4を受信するように接続されたパリティ論理回路212に対して電気出力信号208
iを印加する。
【0057】
一実施形態においては、パリティ論理回路212は、信号208
1〜208
4のおのおのをスライスするように構成されており、それによってそれらのおのおのをそれぞれの2進数値(0または1)へと変換している。パリティ論理回路212は、さらに、(i)信号208
1〜208
4から生成されるゼロの数が偶数である場合に2進数「0」を出力し、また(ii)信号208
1〜208
4から生成されるゼロの数が奇数である場合に2進数「1」を出力するように構成されている。事実上、パリティ論理回路212の後者の機能は、従来の4入力の排他的論理和(XOR:exclusive−OR)ゲートの機能と同じである。
【0058】
代替的な一実施形態においては、パリティ論理回路212は、ソフト出力検出器(
図2Bの中には明示的に示されてはいない)を含んでいる。より詳細には、この実施形態においては、信号208
1〜208
4をシンドローム・ビットs
1についての「ハード」2進数値(0または1)へと変換する代わりに、パリティ論理回路212は、ソフト出力検出器を使用して、信号208
1〜208
4を、シンドローム・ビットs
1を表す対数尤度比(LLR)の値へと変換する。可能性のある一実施形態においては、LLR値は、(i)シンドローム・ビットs
1のハード値に関する検出器の最良の推測を表す符号ビットと、(ii)ハード値の形で検出器の信頼度を表す1つまたは複数の大きさビットとを含む。例えば、パリティ論理回路212は、5ビットのLLR値を出力するように構成されていることもあり、ここでは、最上位ビットは、符号ビットであり、また4つの最下位ビットは、信頼度ビットである。例として、また限定することなしに、00000という5ビットのLLR値は、最小信頼度を有する0というハード値を示しているが、01111という5ビットのLLR値は、最大信頼度を有する0というハード値を示している。信頼度ビットについての中間の値(例えば、0000と、1111との間の)は、中間の信頼度レベルを表す。同様に、10001という5ビットのLLR値は、最小信頼度を有する1というハード値を示しているが、11111という5ビットのLLR値は、最大信頼度を有する1というハードの決定を示しており、そこでは、10000という2進数値は、通常は使用されていない。ビットの他の数と、信頼度レベルの他の表現とが、代わりに同様に使用される可能性もある。
【0059】
一実施形態においては、パリティ論理回路212の中のソフト出力検出器は、おのおのが信号208
1〜208
4のうちのそれぞれ1つに基づいている、4つの中間のLLR値を生成するように構成されている。次いで、パリティ論理回路212は、例えば、ソフト入力/ソフト出力(SISO:soft−input/soft−output)XORゲートを使用して、これら4つの中間のLLR値を処理し、それによってそれらを、シンドローム・ビットs
1を表す対応するLLR値へと変換している。
【0060】
一般に、パリティ論理回路212の中のソフト出力検出器によって生成される中間のLLR値は、対応する量子ビット測定経路の中の量子ゲートのタイプ及びその数に依存する。例えば、量子ビットq
1についての量子ビット測定経路は、3つの量子ゲートを、すなわち、量子アダマール・ゲートHと、量子CNOTゲート
【0061】
【数5】
と、量子測定ゲートMと、を含む。結果として、量子ビットq
1(P
err(q
1))に対応する誤りのある測定の対応する確率は、例えば、以下、すなわち、
P
err(q
1)≒1−(1−p
H)×(1−p
CNOT)×(1−p
M) (7)
のような、q
1−測定経路の内部の3つの個別の量子ゲートの中のエラーの確率を使用して表現される可能性があり、式中で、p
H、p
CNOT、p
Mは、q
1−測定経路の中の、それぞれ量子アダマール・ゲートHと、量子CNOTゲート
【0062】
【数6】
と、量子測定ゲートMとの中のエラーの確率である。一実施形態においては、パリティ論理回路212の中のソフト出力検出器は、当技術分野において知られているように、信号208
1に対応するLLR値の信頼度ビットへとエラーのこの確率を変換するように構成されている可能性がある。
【0063】
別の例として、量子ビットq
2についての量子ビット測定経路は、2つの量子ゲートを、すなわち、量子CNOTゲート
【0064】
【数7】
と、量子測定ゲートMとを含んでいる。結果として、量子ビットq
2(P
err(q
2))に対応する誤りのある測定の対応する確率は、これら2つの個別の量子ゲートの中のエラーの確率を使用して、表現される可能性がある。パリティ論理回路212の中のソフト出力検出器は、同様に、信号208
2に対応するLLR値の信頼度ビットへとエラーのこの特定の確率を変換するように構成されている可能性がある。
【0065】
式(8)は、測定モジュール210
1が、シンドローム・ビットs
1の誤りのあるハード値を生成する確率(P
err(g
1))についての近似的な表現、すなわち、
【0066】
【数8】
を与えており、式中で、p
qgは、測定モジュール210
1の中の個別の量子ゲート(任意のタイプの)におけるエラーの平均の確率であり、またwt(g
1)は、二値ベクトルg
1、すなわち、測定モジュール210
1において実行される測定に対応する上記で説明された量子スタビライザ・コードQの二値ベクトルの重みである。一実施形態においては、パリティ論理回路212は、SISO XORゲートの中の中間のLLR値の上記で述べられた処理に基づくのではなくて、式(8)に基づいて、シンドローム・ビットs
1を表すLLR値の信頼度ビットを生成するように構成されている可能性がある。
【0067】
図2Cは、本開示の一実施形態による測定モジュール210
5のブロック図を示すものである。測定モジュール210
5は、ベクトルvについてのパリティ・ビット値を生成するように構成された測定モジュールの一例である。より詳細には、測定モジュール210
5は、二値ベクトルf
1=(10 11 00 11 10)(式(6)を参照)によって規定される結合に基づいて、量子ビットq
1〜q
5のエンタングル量子状態を補助的量子ビットの基準状態に結合することにより形成される状態を測定するように構成されている。
【0068】
f
1の中の第1のビット対は、10である。それに応じて、測定モジュール210
5は、アダマール・ゲートと、CNOTゲートとを経由して、量子ビットq
1と、補助的量子ビットとを結合するように構成されている。f
1の中の第2のビット対は、11である。それに応じて、測定モジュール210
5は、アダマール・ゲート
【0069】
【数9】
と、CNOTゲートとを経由して、量子ビットq
2と、補助的量子ビットとを結合するように構成されている。f
1の中の第3のビット対は、00である。それに応じて、測定モジュール210
5は、量子ビットq
3と、補助的量子ビットとを結合することはない。f
1の中の第4のビット対は、この場合にも11である。それに応じて、測定モジュール210
5は、量子ビットq
2のそれと類似した方法で、量子ビットq
4と、補助的量子ビットとを結合するように構成されている。f
1の中の第5のビット対は、10である。それに応じて、測定モジュール210
5は、量子ビットq
1のそれに類似した方法で、量子ビットq
5と、補助的量子ビットとを結合するように構成されている。測定モジュール210
5の中の量子測定ゲートMと、パリティ論理回路212とは、測定モジュール210
1(
図2B)の中のそれらと同様に動作する。
【0070】
当業者なら、例えば、式(7)と、(8)とをそれぞれ、例として使用して、測定モジュール210
5の中のパリティ論理回路212のソフト出力の実施形態について、どのようにして、(P
err(q
k))(式中で、k=1、2、...、5)と、(P
err(f
1))とについての適切な表現を構成すべきかを理解するであろう。当業者なら、さらに、異なる測定モジュール210
j(j=1、2、...、12)に対応するエラーの確率についての表現が、上流の量子回路の中のそれぞれの量子ビット・ラインの上に配置される量子ゲートのタイプと、数とに依存する可能性もあることも理解するであろう。例えば、測定モジュール210
3(
図2A参照)に対応するエラーの確率についての表現は、測定モジュール210
1と、210
2との中のそれぞれの量子ビット・ラインの上に配置される量子ゲートのタイプ及びその数に依存する可能性がある。測定モジュール210
6(
図2A参照)に対応するエラーの確率についての表現は、測定モジュール210
1から210
5などの中のそれぞれの量子ビット・ラインの上に配置される量子ゲートのタイプ及びその数に依存する可能性がある。
【0071】
様々な代替的な実施形態による、動作する量子スタビライザ・コードQと、ブロック・エラー訂正コードCとに基づいた測定モジュール210
1〜210
12をどのようにして構成すべきかについてのさらなる詳細は、例えば、上記で引用されたAlexei Ashikhminによる米国特許出願(アトーニー・ドケット参照番号813437−US−NP)において見出される可能性がある。
【0072】
図3は、本開示の一実施形態による、デコーダ144(
図1)の中で使用され得るメッセージ・パッシング復号アルゴリズムに対応する二部グラフ300を示すものである。より詳細には、二部グラフ300は、式(4)によって与えられるパリティ・チェック行列H(C)に対応する。したがって、二部グラフ300に基づいたメッセージ・パッシング復号アルゴリズムを使用して、シンドローム測定回路200(
図2A)によって生成されるベクトルv=(s
1,...,s
4,p
1,...,p
8)における測定エラーを訂正することができる。さらに、二部グラフ300の説明は、
図4を参照して以下で与えられる。
【0073】
図4は、本開示の一実施形態による、デコーダ144(
図1)の中で使用され得る復号方法400を示すものである。方法400は、ベクトル成分が、例えば、上記で説明されるように、測定モジュール210
1〜210
12(
図2A〜2Cを参照)の中のそれぞれのパリティ論理回路212によって生成されるLLR値であるベクトルvを受信するように構成されたデコーダ144の一実施形態の中で、使用される可能性がある。提供された説明に基づいて、当業者なら、異なるブロック・エラー訂正コードCおよび/または異なる量子スタビライザ・コードQと互換性のある代替的な一実施形態のために、どのようにして復号方法400を修正すべきかを理解するであろう。
【0074】
方法400は、ブロック・エラー訂正コードCのコードワードc=(c
1,c
2,c
3,...,c
N)の中の与えられたビットc
iが、シンドローム測定回路200(
図2A)から受信される特定のベクトルvに基づいて、1(または0)に等しいという事後確率を計算することを対象としている。対応するLLR値、L(c
i)は、式(9)、すなわち、
L(c
i)=log(Pr(c
i=0|v)/Pr(c
i=1|v)) (9)
によって与えられ、式中で、Pr()は、括弧()の中の状態についての事後確率を示している。方法400は、ブロック・エラー訂正コードCの二部グラフ、例えば、二部グラフ300(
図3)に基づいた反復メッセージ・パッシング復号アルゴリズムに依存している。このアルゴリズムによれば、二部グラフの中の可変ノードは、1つのタイプのプロセッサを表しており、二部グラフの中のチェック・ノードは、別のタイプのプロセッサを表し、また可変ノードと、チェック・ノードとの間のエッジは、メッセージ経路を表す。
【0075】
方法400のステップ402において、二部グラフの可変ノードは、量子ビット・バッファ134(
図1)に保持されるエンタングル量子状態のシンドロームを測定するプロセスにおいて、シンドローム測定回路144(
図1)または200(
図2A)によって生成されるLLR値を受信することにより、例えば、
図3において示されるように、初期化される。一実施形態においては、この初期化についての様々なLLR値は、例えば、以下のように、すなわち、
L(s
i)=log((1−P
err(g
i))/P
err(g
i))、s’
i=0である場合 (10a)
L(s
i)=−log((1−P
err(g
i))/P
err(g
i))、s’
i=1である場合 (10b)
L(p
j)=log((1−P
err(f
j))/P
err(f
j))、p’
j=0である場合 (10c)
L(p
j)=−log((1−P
err(f
j))/P
err(f
j))、p’
j=1である場合 (10d)
のように式(10a)〜(10d)に基づいて計算され、式中で、i=1、2、...、rであり、j=1、2、...、N−rであり、P
err(g
i)は、対応する測定モジュール210が、シンドローム・ビットs
iの誤りのあるハード値s’
iを生成する確率であり、またP
err(f
j)は、対応する測定モジュール210が、パリティ・ビットp
jの誤りのあるハード値p’
jを生成する確率である。様々な実施形態においては、P
err(g
i)と、P
err(f
j)との値は、例えば、式(7)に基づいて、または式(8)に基づいて計算される可能性がある。P
err(g
i)と、P
err(f
j)との値を計算するための他の適切な方法もまた、使用される可能性がある。
【0076】
ステップ404において、二部グラフの中の可変ノードの各プロセッサは、それぞれのチェック・ノードから対応するメッセージ経路を経由して受信されるその入力メッセージを処理する。ステップ404の第1の発生においては、メッセージがチェック・ノードからまだ受信されていないときに、ステップ402の初期のLLR値が、入力メッセージの代わりに使用されることに注意すべきである。受信された入力メッセージに基づいて、可変ノードのプロセッサのおのおのは、その中のそれぞれのLLR値をアップデートし、それぞれのチェック・ノードについての出力メッセージを生成し、また二部グラフの中の対応するメッセージ経路を経由して、これらのメッセージを送信する。送信されたメッセージの中の情報は、log(Pr(c
i=0|m
i)/Pr(c
i=1|m
i))の値を含むことができ、式中で、m
iは、i−番目の可変ノードによって受信される入力メッセージの組を示している。他の関連のある情報は、当技術分野において知られているように、同様に通信されることもある。
【0077】
ステップ406において、二部グラフの中のチェック・ノードの各プロセッサは、それぞれの可変ノードから対応するメッセージ経路を経由して受信されるその入力メッセージを処理する。受信された入力メッセージに基づいて、チェック・ノードのプロセッサのおのおのは、可変ノードのそれぞれのプロセッサについての出力メッセージを生成し、また二部グラフの中の対応するメッセージ経路を経由してこれらのメッセージを送信する。送信されたメッセージの中の情報は、log(Pr(チェックが満たされる|M
j)/Pr(チェックが満たされない|M
ij))の値を含むことができ、式中で、M
jは、j−番目のチェック・ノードによって受信される入力メッセージの組を示している。他の関連のある情報は、当技術分野において知られているように、同様に通信されることもある。
【0078】
ステップ408において、反復停止判断基準は、デコーダ、例えばデコーダ144(
図1)によってチェックされる。様々な実施形態においては、停止判断基準は、反復の指示された最大数が実行されているとき、またはc’H
T(C)=0であるときに、満たされる可能性があり、式中で、c’は、暫定的に復号されたコードワードであり、またH
T(C)は、ブロック・エラー訂正コードC(例えば、式(4)を参照)の転置されたパリティ・チェック行列である。いくつかの実施形態においては、1つまたは複数の代替的な、かつ/または追加の停止状態が、使用される可能性もある。反復停止判断基準が満たされない場合、そのときには方法400の処理は、ステップ404へと向けて戻される。反復停止判断基準が、満たされる場合、そのときには方法400の処理は、ステップ410へと向けられる。
【0079】
ステップ410において、現在のLLR値、L(s
1)からL(s
r)の符号ビットは、可変ノードのプロセッサから読み取られ、また測定されたシンドローム・ベクトルS=(s
1,...,s
r)として量子状態回復回路148に対して提示される。既に上記で示されているように、量子状態回復回路148は、受信された測定されたシンドローム・ベクトルSを使用して、量子ビット・バッファ134の中に保持されるエンタングル量子状態の中のエラーを(もしあれば)訂正するための適切な刺激を生成する。
【0080】
そのようなメッセージ・パッシング復号アルゴリズムを実施する追加の例と、デコーダ144のために有用な対応する回路とは、例えば、それらの全体が、その全体が参照により本明細書に組み込まれている米国特許第8,327,215号と、第7.805,654号と、第7,793,201号と、第7,676,734号と、第7,519,898号と、第7,373,581号との中で開示される。当業者なら、これらの特許に基づいて、デコーダ144と、方法400とについての様々な代替的な実施形態をどのようにして作り、また使用すべきかを理解するであろう。関連のある文献においては、デコーダ144における使用のために適切である可能性のあるいくつかのメッセージ・パッシング復号アルゴリズムは、和積アルゴリズム(sum−product algorithms)または確率伝搬アルゴリズム(belief−propagation algorithms)と称されることもあることにも注意すべきである。
【0081】
いくつかのブロック・エラー訂正コードCの使用は、メモリ・システム100についての、他の使用よりも良い性能をもたらすことを、認識すべきである。ブロック・エラー訂正コードCをよりよく実行することについてのあるものは、スパース(Sparse、例えば、低密度の)生成行列G(C)=[I
r|P](また式(3)を参照)を使用して構成される可能性がある。生成行列G(C)が、スパースであるためには、対応するパリティ・ビット生成部分行列Pは、同様にスパースである必要がある。スパースなPでは、代表的なパリティ・ビット、p
j=s
i1+s
i2+...+s
itは、シンドローム・ビットの比較的小さな数(t)の和であり、ここで、t<<rである。この特性はまた、ブロック・エラー訂正コードCに対応する二値ベクトルf
j(=g
i1+g
i2+...+g
it)が、比較的小さな重み、wt(f
j)(また式(2)および(6)を参照)を有することも意味している。後者の陳述は、以下の重みの特性に、すなわち、
wt(f
j)≦wt(g
i1)+wt(g
i2)+...+wt(g
it) (11)
に起因して、真である。一実施形態においては、スパース生成行列G(C)を有する上記で説明されたブロック・エラー訂正コードCは、低密度の生成行列(LDGM)コードとすることができる。LDGMコードは、LDPCコードのサブファミリーである。代替的な一実施形態においては、メモリ・システム100において使用される量子スタビライザ・コードは、第1のLDPCコードとすることができるが、ブロック・エラー訂正コードCは、第1のLDPCコードとは異なる第2のLDPCコードである。一実施形態においては、生成行列G(C)の中の各列は、(N−r)の10%よりも小さい重みを有する。
【0082】
式(11)と、式(8)とは、スパース・パリティ・ビット生成部分行列Pを有するブロック・エラー訂正コードCが、P
err(f
j)の比較的小さな値を有することを意味している。P
err(f
j)の比較的小さな値は、さらに、シンドローム測定回路140(
図1)の対応する実施形態における比較的高精度のシンドローム測定値とすることができる。
【0083】
本開示の一実施形態によれば、スパース・パリティ・ビット生成部分行列Pを有するブロック・エラー訂正コードCは、例えば、それらの両方が、それらの全体が参照により本明細書に組み込まれている、米国特許第7,251,769号と、第7,751,491号との中で一般的に概説されるEXIT−関数アプローチを使用して、メモリ・システム100における使用のために改善されることもある。とりわけ、EXIT−関数アプローチを使用して、最適化問題を定式化することができ、この最適化問題の問題解決手法は、設計下のメモリ・システム100の特定の一実施形態のために比較的最適であるブロック・エラー訂正コードCを構成するために、メモリ・システム100の設計者によって使用される可能性がある。本開示の一実施形態による、この最適化問題の1つの可能性のある定式化が、以下で提供される。当業者なら、例えば、適切な計算ツールを使用して、この最適化問題をどのようにして数値的に解決すべきかを簡単に理解するであろう。
【0084】
本発明者等の目標は、パリティ・チェック行列H(C)=[P
T|I
N−r]を構成することであり、このパリティ・チェック行列においては、転置されたパリティ・ビット生成部分行列P
Tの中のすべての行は、同じ一定の重み、mを有する。これは、対応する二部グラフ(二部グラフ300、
図3など)においては、すべてのチェック・ノードは、同じ次数、m+1を有することを意味している。比較のために、二部グラフ300の中の可変ノードの次数は、一定ではなくて、1から5まで変化する。P
Tは、r個の列と、(N−r)個の行とを有することを思い出して欲しい。
【0085】
EXIT−関数分析は、Nと、mと、rという値の間の以下の関係を、すなわち、
【0086】
【数10】
を与えており、式中でc
i値の組は、P
Tの中の列の重み分布を表し、各個別のc
iの値は、重みiの列の中で発生する「1」についての部分であり、またdは、P
Tの中の最大の列の重みである。シンドローム測定回路200(
図2A)などの量子回路の性質に起因して、他の関連のある性能判断基準もまた満たされることを仮定すると、例えば、できるだけ小さなNの値を保持しようと試みるNについての比較的小さな値を有することが、有利である。実際には、Nの値は、異なる実施形態においてはかなり変化する可能性があり、また約10と、約10
5との間の任意の値を有することができる。式(12)を使用して、対応する最適化問題は、以下の制約条件、すなわち、
【0087】
【数11】
を受ける次式、すなわち、
【0088】
【数12】
のように定式化される可能性があり、式中で、
【0089】
【数13】
は、二部グラフの可変ノードにおける処理を説明するEXIT関数であり、
【0090】
【数14】
は、二部グラフのチェック・ノードにおける処理を説明するEXIT関数であり、
【0091】
【数15】
は、対応する逆関数を示しており、また
【0093】
【数17】
の状態によって規定される。頭字語EXITは外因性情報転送(EXtrinsic Information Transfer)を表す。式(14)によって表される制約条件は、実際には、引き数xの指定された範囲にわたって交差しない2つのEXIT関数を必要とする。
【0094】
量子スタビライザ・コードQ(式(1)を参照)を表すr個の二値ベクトルg
jのおのおのが、同じ重みwt(g
j)=w
i(式(2)を参照)を有する場合、そのときには確率P
err(g
j)はまた、同じ値P
err(g
j)=P
1(式(8)を参照)を有する。P
1の値は、シンドローム測定回路140(
図1)や200(
図2A)など、対応する量子測定回路の特定の実現に依存しており、また式(8)を使用して、推定される可能性がある。さらに、この場合には、二値ベクトルg
jの線形の組合せとしてP
Tに基づいて生成される二値ベクトルf
jはまた、同じ重みw
2=mw
1を近似的に有している。結果として、確率P
err(f
j)は、同様に、式(8)に類似した式を使用して推定され得る同じ値P
err(f
j)=P
2を近似的に有する。
【0096】
【数18】
は、式(15)、すなわち、
【0097】
【数19】
によって与えられるように、複数のEXIT関数
【0098】
【数20】
の線形の組合せであり、式中で、
【0099】
【数21】
は、対応する二部グラフにおいて次数tの可変ノードのEXIT関数を示しており、またI
Aは、二部グラフにおいてエッジに沿って渡されるメッセージの中に含まれるコードワード(s
1,...,s
r,p
1,...,p
N−r)のビットについての平均外因性情報である。EXIT関数
【0100】
【数22】
は、次のように、すなわち、
【0101】
【数23】
のように、P
1の値を使用して、順に近似される可能性があり、式中で、
【0103】
【数25】
であり、
v=(t−1)voであり、また
vは、
【0106】
【数27】
は、次のように、すなわち、
【0107】
【数28】
のように、P
2の値を使用して、近似される可能性があり、式中で、
【0110】
図5は、本開示の一実施形態による、メモリ・システム100(
図1)のためのブロック・エラー訂正コードを構成する方法500のフローチャートを示すものである。より詳細には、方法500は、式(13)および(14)において定式化される最適化問題を解決することに基づいている。
【0111】
方法500のステップ502において、mと、rとの値は、入力パラメータとして指定される。r(=n−k)の値は、方法500を使用して構成されているブロック・エラー訂正コードCに関連して対応するメモリ・システムの中で使用されることになる量子スタビライザ・コードQの中で使用される二値ベクトルgの数であることを思い出して欲しい。mの値は、ブロック・エラー訂正コードCの転置されたパリティ・ビット生成部分行列P
Tの中の行の一定の(固定された)重みである。
【0112】
ステップ504において、メモリ・システムにおいて使用されようとしている、量子測定回路140や200などの量子回路は、その固有のエラー確率P
err(g
j)およびP
err(f
j)の観点から、すなわち、測定されたシンドローム・ビットと、パリティ・ビットとが、誤りのある値を有する可能性がある確率の観点から評価される。一実施形態においては、これらの確率は、それぞれ、P
1と、P2という上記で述べられた値を使用して近似される可能性がある。使用された量子測定回路の構成と、エラー確率P
err(g
j)およびP
err(f
j)との間の関係は、式(7)および(8)を参照して既に上記で説明されている。エラー確率P
err(g
j)およびP
err(f
j)は、方法500における追加の入力パラメータとしての機能を果たす。
【0113】
ステップ506において、式(13)および(14)の形で定式化される数学的問題を解決する条件付き最適化プロシージャは、転置されたパリティ・ビット生成部分行列P
Tのための近似的に最適な列の重み分布(例えば、c
i値の最適な組)を決定するように実行される。式(14)によって表現される状態は、ブロック・エラー訂正コードCのEXIT関数に基づいていること、および二部グラフの中の可変ノード及びチェック・ノードに対応するEXIT関数は、交差すべきでないことを断言することを思い出して欲しい。ステップ506の条件付き最適化プロシージャは、ステップ502および504において指定される/決定されるパラメータに依存する。
【0114】
ステップ508において、Nの値は、ステップ506において決定される列の重み分布に基づいて決定される。一実施形態においては、式(12)は、この目的のために使用される可能性がある。Nの値は、量子測定回路200(
図2A)における測定モジュール210など、対応する量子測定回路の中の測定モジュールの数を決定することを思い出して欲しい。Nの値はまた、転置されたパリティ・ビット生成部分行列P
Tのサイズを決定し、このパリティ・ビット生成部分行列P
Tは、r個の列と、(N−r)個の行とを有する。
【0115】
ステップ510において、転置されたパリティ・ビット生成部分行列P
Tは、ステップ508において決定されるNの値と、ステップ506において決定される列の重み分布と、ステップ502において指定されるmとrとの値とを使用して構成される。
【0116】
ステップ512において、転置されたパリティ・ビット生成部分行列P
Tを使用して、ブロック・エラー訂正コードCについてのパリティ・チェック行列H(C)と、生成行列G(C)とを生成する。H(C)=[P
T|I
N−r]であり、またG(C)=[I
r|P]であることを思い出して欲しい。当業者なら、行列H(C)と、G(C)とは、完全にブロック・エラー訂正コードCを規定することを理解するであろう。
【0117】
一実施形態によれば、ブロック・エラー訂正コードを構成するマシン実施された方法が、提供され、本方法は、量子メモリ・システム(例えば、100)についての量子スタビライザ・コード(例えば、Q)を選択するステップと、量子メモリ・システムにおける量子測定回路(例えば、200)についての固有のエラー確率を決定するステップと、量子スタビライザ・コードと、前記固有のエラー確率とに基づいてブロック・エラー訂正コードの転置されたパリティ・ビット生成部分行列(例えば、P
T)についての列の重み分布を決定するステップと、決定された列の重み分布を有する転置されたパリティ・ビット生成部分行列を構成するステップと、構成された転置されたパリティ・ビット生成部分行列に基づいて、ブロック・エラー訂正コードについてのパリティ・チェック行列(例えば、H(C))と、生成行列(例えば、G(C))とを生成するステップとを含む。
【0118】
上記の方法のいくつかの実施形態においては、ブロック・エラー訂正コードの転置されたパリティ・ビット生成部分行列の中のすべての行は、同じ一定の重み(例えば、m)を有する。
【0119】
上記の方法のいずれかについてのいくつかの実施形態においては、列の重み分布を決定するステップは、ブロック・エラー訂正コードの二部グラフの可変ノードと、チェック・ノードとに対応するEXIT関数が、交差しないという状態の下で、スケール変更された列の重み(例えば、式(13))の和を近似的に最大にする条件付き最適化プロシージャを実行するステップを含んでいる。
【0120】
上記の方法のいずれかについてのいくつかの実施形態においては、固有のエラー確率を決定するステップは、シンドローム・ビットを測定するように構成された量子測定回路の中の測定モジュール(例えば、210
1)の回路構成に基づいて、第1のエラー確率推定値(例えば、P
1)を導き出すステップと、パリティ・ビットを測定するように構成された量子測定回路の中の測定モジュール(例えば、210
5)の回路構成に基づいて、第2のエラー確率推定値(例えば、P
2)を導き出すステップとを含む。
【0121】
スパース二値行列は、ゼロを主として埋め込んだ行列である。対照的に、多数の要素が、1である場合、そのときには行列は、高密度行列と称される。行列の中の要素の総数の中のゼロ要素(非ゼロ要素)の割合は、行列のスパース性(密度)と呼ばれる。スパース性値と、密度値とは、絶対的な割合の値(0と1との間の範囲の中の)として、またはパーセンテージとして提示される可能性がある。
【0122】
一実施形態においては、パリティ・ビット生成部分行列Pは、約0.4(または40%)よりも小さい密度を有する。可能性のある一実施形態においては、パリティ・ビット生成部分行列Pは、約0.05(または5%)と、約0.25(または25%)との間にある密度を有する。さらに別の可能性のある実施形態においては、パリティ・ビット生成部分行列Pは、約0.1(または10%)よりも小さい密度を有する。
【0123】
本発明は、例証的な実施形態を参照して、説明されてきているが、本説明は、限定的な意味で解釈されることを意図してはいない。本発明が関連する当業者にとって明らかである、説明された実施形態についての様々な修正形態、ならびに本発明の他の実施形態は、添付の特許請求の範囲の中で表されるように、本発明の原理と範囲との内部にあるように見なされる。
【0124】
いくつかの実施形態は、単一の集積回路の上での可能性のある実装形態を含めて、回路ベースのプロセスとして、実施されることもある。
【0125】
それ以外の方法で明示的に述べられていない限り、おのおのの数値と範囲とは、まるで、単語、「ほとんど」または「近似的に」が、値または範囲の値に前置きされたかのように、近似的であるように解釈されるべきである。
【0126】
本発明の性質を説明するために説明され、また例証されている部分についての詳細、材料、および構成における様々な変更は、添付の特許請求の範囲において表されるように、本発明の範囲を逸脱することなく、当業者によって行われ得ることが、さらに理解されるであろう。
【0127】
添付の方法請求項における要素は、もしあれば、対応するラベリングを有する特定のシーケンスで列挙されるが、請求項の列挙が、これらの要素のうちの一部または全部を実施するための特定のシーケンスをそれ以外の方法で暗示していない限り、これらの要素は、必ずしも、その特定のシーケンスで実施されるものに限られることを意図しているとは限らない。
【0128】
「一実施形態」または「実施形態」に対する本明細書における参照は、実施形態に関連して説明される特定の特徴、構成、または特性が、本発明の少なくとも1つの実施形態の中に含まれ得ることを意味している。明細書の中の様々な場所における「一実施形態における」という熟語の出現は、必ずしもすべてが、同じ実施形態のことを意味しているとは限らず、また別の、または代替的な実施形態が、他の実施形態について必ずしも相互に排他的であるとも限らない。同じことが、用語「実装形態」にも当てはまる。
【0129】
また、この説明の目的のために、用語「結合する」、「結合すること」、「結合される」、「接続する」、「接続すること」、または「接続される」は、エネルギーが、2つ以上の要素の間で転送されることが許可される、当技術分野において知られており、または後で開発される任意の方法のことを意味しており、また1つまたは複数の追加の要素の介在が、必要とはされないが、企図されている。逆に、用語「直接に結合される」、「直接に接続される」などは、そのような追加の要素のないことを暗示している。
【0130】
また、この説明の目的のために、すべてのゲートは、固定された電圧電源ドメイン(または複数のドメイン)と、それ以外の方法で示されていない限り、グラウンドとから電源が供給されることが、理解される。それに応じて、すべてのデジタル信号は、一般に、近似的にグラウンド電位から電源ドメインのうちの1つの電位に及び、また急速に遷移する(変化する(slew))電圧を有する。しかしながら、またそれ以外の方法で述べられていない限り、グラウンドは、近似的にゼロ・ボルトの電圧を有する電源と考えられることもあり、また任意の望ましい電圧を有する電源が、グラウンドの代わりに代用されることもある。それゆえに、すべてのゲートは、少なくとも2つの電源によって電源を供給され、それからの付随するデジタル信号は、それらの電源の近似的な電圧の間に広がる電圧を有している。
【0131】
本説明と、図面とは、単に本発明の原理を示しているにすぎない。したがって、当業者なら、本明細書において明示的に説明されても、または示されてもいないが、本発明の原理を実施し、またその精神および範囲の内部に含まれる様々な構成を工夫することができるようになることが、理解されるであろう。さらに、本明細書において列挙されるすべての例は、本発明の原理と、当技術分野を推進するために本発明者(単数または複数)によって寄与される概念とを理解する際に読者を助ける教育的な目的のためにすぎないように、主として明示的に意図されており、またそのような具体的に列挙された例および状態だけに限定することのないものとして解釈されるべきである。さらに、本発明の原理、態様、および実施形態、ならびにそれらの特定の例を列挙している、本明細書におけるすべての陳述は、それらの同等形態を包含することが、意図されている。
【0132】
「プロセッサ」、「制御装置」、「デコーダ」および「論理回路」とラベル付けされ、または称される任意の機能ブロックを含めて、図面の中で示される様々な要素の機能は、専用のハードウェア、ならびに適切なソフトウェアに関連してソフトウェアを実行することができるハードウェアの使用を通して、提供されることもある。さらに、これらの用語の明示的な使用は、ソフトウェアを実行することができるハードウェアだけを排他的に意味するように解釈されるべきではなく、また限定することなしに、デジタル信号プロセッサ(DSP:digital signal processor)ハードウェアと、特定用途向け集積回路(ASIC:application specific integrated circuit)と、フィールド・プログラマブル・ゲート・アレイ(FPGA:field programmable gate array)と、ソフトウェアを記憶するためのリード・オンリー・メモリ(ROM:read only memory)と、ランダム・アクセス・メモリ(RAM:random access memory)と、不揮発性ストレージとを暗黙のうちに含むことができる。他のハードウェアもまた、従来のものであれ、および/またはカスタムであれ、含まれることもある。
【0133】
本明細書における任意のブロック図が、本発明の原理を実施する実例となる回路の概念図を表すことが、当業者によって理解されるべきである。同様に、任意のフローチャートと、流れ図と、状態遷移図と、擬似コードなどは、コンピュータ読取り可能媒体の形で実質的に表され、そのようなコンピュータまたはプロセッサが、明示的に示されているか否かにかかわらず、そのようにしてコンピュータまたはプロセッサによって実行される可能性がある様々なプロセスを表すことが、理解されるであろう。