JP4712328B2 - フォールトトレラントなセル・アレイ - Google Patents
フォールトトレラントなセル・アレイ Download PDFInfo
- Publication number
- JP4712328B2 JP4712328B2 JP2004220823A JP2004220823A JP4712328B2 JP 4712328 B2 JP4712328 B2 JP 4712328B2 JP 2004220823 A JP2004220823 A JP 2004220823A JP 2004220823 A JP2004220823 A JP 2004220823A JP 4712328 B2 JP4712328 B2 JP 4712328B2
- Authority
- JP
- Japan
- Prior art keywords
- cell
- half memory
- adjacent
- memory
- certain
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Logic Circuits (AREA)
Description
前記それぞれのメモリの複数のビット群のうちひとつ以上が異なるハーフメモリ対の値を示した場合,それを他のビット群が示すハーフメモリ対の値と同じ値を示すように修正した後,それぞれのメモリ含まれる複数のビット群の遷移が行われるフォールトトレラントなセル・アレイである。
あるセルに関連した4つのハーフメモリのうちひとつが[1]であり,残りが[0]である場合であって,
(i)この状態[1]のハーフメモリ位置が当該あるセルの右の場合であって,当該あるセルの右に隣接するセルの左のハーフメモリが[1]であって、当該あるセルの左に隣接するセルの右のハーフメモリが[0]であって、当該あるセルの下に隣接するセルの上のハーフメモリが[0]である場合は,当該あるセルの上に隣接するセルの下のハーフメモリが[1]のとき,そのハーフメモリが[0]となり,当該あるセルの左のハーフメモリが[1]となり,当該あるセルの下に隣接するセルの上のハーフメモリが[1]のとき,そのハーフメモリが[0]となり,当該あるセルの左のハーフメモリが[1]となり;
(ii)この状態[1]のハーフメモリ位置が当該あるセルの左の場合であって,当該あるセルの左に隣接するセルの右のハーフメモリが[1]であって、当該あるセルの右に隣接するセルの左のハーフメモリが[0]であって、当該あるセルの上に隣接するセルの下のハーフメモリが[0]である場合は,当該あるセルの上に隣接するセルの下のハーフメモリが[1]のとき,そのハーフメモリが[0]となり,当該あるセルの右のハーフメモリが[1]となり,当該あるセルの下に隣接するセルの上のハーフメモリが[1]のとき,そのハーフメモリが[0]となり,当該あるセルの右のハーフメモリが[1]となり;
(iii)この状態[1]のハーフメモリ位置が当該あるセルの上の場合であって,当該あるセルの上に隣接するセルの下のハーフメモリが[1]であって、当該あるセルの下に隣接するセルの上のハーフメモリが[0]であって、当該あるセルの右に隣接するセルの左のハーフメモリが[0]である場合は,当該あるセルの右に隣接するセルの左のハーフメモリが[1]のとき,そのハーフメモリが[0]となり,当該あるセルの下のハーフメモリが[1]となり,当該あるセルの左に隣接するセルの右のハーフメモリが[1]のとき,そのハーフメモリが[0]となり,当該あるセルの下のハーフメモリが[1]となり;そして,
(iv)この状態[1]のハーフメモリ位置が当該あるセルの下の場合であって,当該あるセルの下に隣接するセルの上のハーフメモリが[1]であって、当該あるセルの上に隣接するセルの下のハーフメモリが[0]であって、当該あるセルの左に隣接するセルの右のハーフメモリが[0]である場合は,当該あるセルの右に隣接するセルの左のハーフメモリが[1]のとき,そのハーフメモリが[0]となり,当該あるセルの上のハーフメモリが[1]となり,当該あるセルの左に隣接するセルの右のハーフメモリが[1]のとき,そのハーフメモリが[0]となり,当該あるセルの上のハーフメモリが[1]となる。
あるセルに関連した4つのハーフメモリのうちひとつが[1]であり,残りが[0]である場合であって,
(i)この状態[1]のハーフメモリ位置が当該あるセルの右の場合であり,当該あるセルの右に隣接するセルの左のハーフメモリが[1]である場合であって,当該あるセルの左に隣接するセルの右のハーフメモリが[0]であり,かつ当該あるセルの上に隣接するセルの下のハーフメモリが[1]であり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[1]のとき,それら2のハーフメモリのうちいずれかが[0]となり,当該あるセルの左のハーフメモリが[1]となり,
(ii)この状態[1]のハーフメモリ位置が当該あるセルの左の場合であり,当該あるセルの左に隣接するセルの右のハーフメモリが[1]である場合であって,当該あるセルの右に隣接するセルの左のハーフメモリが[0]であり,かつ当該あるセルの上に隣接するセルの下のハーフメモリが[1]であり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[1]のとき,それら2のハーフメモリのうちいずれかが[0]となり,当該あるセルの右のハーフメモリが[1]となり,ハーフメモリハーフメモリハーフメモリハーフメモリ
(iii)この状態[1]のハーフメモリ位置が当該あるセルの上の場合であり,当該あるセルの上に隣接するセルの下のハーフメモリが[1]である場合であって,当該あるセルの下に隣接するセルの上のハーフメモリが[0]であり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[1]であり,かつ当該あるセルの左に隣接するセルの右のハーフメモリが[1]のとき,それら2のハーフメモリのうちいずれかが[0]となり,当該あるセルの下のハーフメモリが[1]となりハーフメモリハーフメモリハーフメモリハーフメモリ;そして,
(iv)この状態[1]のハーフメモリ位置が当該あるセルの下の場合であり,当該あるセルの下に隣接するセルの上のハーフメモリが[1]である場合であって,当該あるセルの上に隣接するセルの下のハーフメモリが[0]であり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[1]であり,かつ当該あるセルの左に隣接するセルの右のハーフメモリが[1]のとき,それら2のハーフメモリのうちいずれかが[0]となり,当該あるセルの上のハーフメモリが[1]とハーフメモリハーフメモリハーフメモリハーフメモリなる。
あるセルに関連した4つのハーフメモリのうちひとつが[1]であり,残りが[0]である場合であって,
(i)この状態[1]のハーフメモリ位置が当該あるセルの上の場合であり,当該あるセルの上に隣接するセルの下のハーフメモリが[0]である場合であって,当該あるセルの右に隣接するセルの左のハーフメモリが[1]であり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[1]であり,かつ当該あるセルの左に隣接するセルの右のハーフメモリが[0]のとき,当該あるセルの右に隣接するセルの左のハーフメモリが[0]となり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[0]となり;
(ii)この状態[1]のハーフメモリ位置が当該あるセルの下の場合であり,当該あるセルの下に隣接するセルの上のハーフメモリが[0]である場合であって,当該あるセルの上に隣接するセルの下のハーフメモリが[1]であり,かつ当該あるセルの左に隣接するセルの右のハーフメモリが[1]であり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[0]のとき,当該あるセルの上に隣接するセルの下のハーフメモリが[0]となり,かつ当該あるセルの左に隣接するセルの右のハーフメモリが[0]となり;
(iii)この状態[1]のハーフメモリ位置が当該あるセルの右の場合であり,当該あるセルの右に隣接するセルの左のハーフメモリが[0]である場合であって,当該あるセルの左に隣接するセルの右のハーフメモリが[1]であり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[1]であり,かつ当該あるセルの上に隣接するセルの下のハーフメモリが[0]のとき,当該あるセルの左に隣接するセルの右のハーフメモリが[0]となり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[0]となり;
(iv)この状態[1]のハーフメモリ位置が当該あるセルの左の場合であり,当該あるセルの左に隣接するセルの右のハーフメモリが[0]である場合であって,当該あるセルの上に隣接するセルの下のハーフメモリが[1]であり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[1]であり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[0]のとき,当該あるセルの上に隣接するセルの下のハーフメモリが[0]となり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[0]となり;
(v)この状態[1]のハーフメモリ位置が当該あるセルの上の場合であり,当該あるセルの上に隣接するセルの下のハーフメモリが[0]である場合であって,当該あるセルの左に隣接するセルの右のハーフメモリが[1]であり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[1]であり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[0]のとき,当該あるセルの左に隣接するセルの右のハーフメモリが[0]となり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[0]となり;
(vi)この状態[1]のハーフメモリ位置が当該あるセルの下の場合であり,当該あるセルの下に隣接するセルの上のハーフメモリが[0]である場合であって,当該あるセルの上に隣接するセルの下のハーフメモリが[1]であり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[1]であり,かつ当該あるセルの左に隣接するセルの右のハーフメモリが[0]のとき,当該あるセルの上に隣接するセルの下のハーフメモリが[0]となり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[0]となり;
(vii)この状態[1]のハーフメモリ位置が当該あるセルの右の場合であり,当該あるセルの右に隣接するセルの左のハーフメモリが[0]である場合であって,当該あるセルの左に隣接するセルの右のハーフメモリが[1]であり,かつ当該あるセルの上に隣接するセルの下のハーフメモリが[1]であり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[0]のとき,当該あるセルの左に隣接するセルの右のハーフメモリが[0]となり,かつ当該あるセルの上に隣接するセルの下のハーフメモリが[0]となり;そして,
(viii)この状態[1]のハーフメモリ位置が当該あるセルの左の場合であり,当該あるセルの左に隣接するセルの右のハーフメモリが[0]である場合であって,当該あるセルの下に隣接するセルの上のハーフメモリが[1]であり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[1]であり,かつ当該あるセルの上に隣接するセルの下のハーフメモリが[0]のとき,当該あるセルの下に隣接するセルの上のハーフメモリが[0]となり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[0]となる。
あるセルに関連した4つのハーフメモリのうちひとつが[1]であり,残りが[0]である場合であって,
(i)この状態[1]のハーフメモリ位置が当該あるセルの上の場合であり,当該あるセルの上に隣接するセルの下のハーフメモリが[0]である場合であり,当該あるセルの下に隣接するセルの上のハーフメモリが[0]である場合であって,当該あるセルの左に隣接するセルの右のハーフメモリが[0]である場合であって,当該あるセルの右に隣接するセルの左のハーフメモリが[1]のとき,当該あるセルの右に隣接するセルの左のハーフメモリが[0]となり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[1]となり,当該あるセルの左のハーフメモリが[1]となり;
(ii)この状態[1]のハーフメモリ位置が当該あるセルの下の場合であり,当該あるセルの下に隣接するセルの上のハーフメモリが[0]である場合であり,当該あるセルの上に隣接するセルの下のハーフメモリが[0]である場合であって,当該あるセルの右に隣接するセルの左のハーフメモリが[0]である場合であって,当該あるセルの左に隣接するセルの右のハーフメモリが[1]のとき,当該あるセルの左に隣接するセルの右のハーフメモリが[0]となり,かつ当該あるセルの上に隣接するセルの下のハーフメモリが[1]となり,当該あるセルの右のハーフメモリが[1]となり;
(iii)この状態[1]のハーフメモリ位置が当該あるセルの右の場合であり,当該あるセルの右に隣接するセルの左のハーフメモリが[0]である場合であり,当該あるセルの左に隣接するセルの右のハーフメモリが[0]である場合であって,当該あるセルの上に隣接するセルの下のハーフメモリが[0]である場合であって,当該あるセルの下に隣接するセルの上のハーフメモリが[1]のとき,当該あるセルの下に隣接するセルの上のハーフメモリが[0]となり,かつ当該あるセルの左に隣接するセルの右のハーフメモリが[1]となり,当該あるセルの上のハーフメモリが[1]となり;
(iv)この状態[1]のハーフメモリ位置が当該あるセルの左の場合であり,当該あるセルの左に隣接するセルの右のハーフメモリが[0]である場合であり,当該あるセルの右に隣接するセルの左のハーフメモリが[0]である場合であって,当該あるセルの下に隣接するセルの上のハーフメモリが[0]である場合であって,当該あるセルの上に隣接するセルの下のハーフメモリが[1]のとき,当該あるセルの上に隣接するセルの下のハーフメモリが[0]となり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[1]となり,当該あるセルの下のハーフメモリが[1]となり;
(v)この状態[1]のハーフメモリ位置が当該あるセルの上の場合であり,当該あるセルの上に隣接するセルの下のハーフメモリが[0]である場合であり,当該あるセルの下に隣接するセルの上のハーフメモリが[0]である場合であって,当該あるセルの右に隣接するセルの左のハーフメモリが[0]である場合であって,当該あるセルの左に隣接するセルの右のハーフメモリが[1]のとき,当該あるセルの左に隣接するセルの右のハーフメモリが[0]となり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[1]となり,当該あるセルの右のハーフメモリが[1]となり;
(vi)この状態[1]のハーフメモリ位置が当該あるセルの下の場合であり,当該あるセルの下に隣接するセルの上のハーフメモリが[0]である場合であり,当該あるセルの上に隣接するセルの下のハーフメモリが[0]である場合であって,当該あるセルの左に隣接するセルの右のハーフメモリが[0]である場合であって,当該あるセルの右に隣接するセルの左のハーフメモリが[1]のとき,当該あるセルの右に隣接するセルの左のハーフメモリが[0]となり,かつ当該あるセルの上に隣接するセルの下のハーフメモリが[1]となり,当該あるセルの左のハーフメモリが[1]となり;
(vii)この状態[1]のハーフメモリ位置が当該あるセルの右の場合であり,当該あるセルの右に隣接するセルの左のハーフメモリが[0]である場合であり,当該あるセルの左に隣接するセルの右のハーフメモリが[0]である場合であって,当該あるセルの下に隣接するセルの上のハーフメモリが[0]である場合であって,当該あるセルの上に隣接するセルの下のハーフメモリが[1]のとき,当該あるセルの上に隣接するセルの下のハーフメモリが[0]となり,かつ当該あるセルの左に隣接するセルの右のハーフメモリが[1]となり,当該あるセルの下のハーフメモリが[1]となり;そして,
(viii)この状態[1]のハーフメモリ位置が当該あるセルの左の場合であり,当該あるセルの左に隣接するセルの右のハーフメモリが[0]である場合であり,当該あるセルの右に隣接するセルの左のハーフメモリが[0]である場合であって,当該あるセルの上に隣接するセルの下のハーフメモリが[0]である場合であって,当該あるセルの下に隣接するセルの上のハーフメモリが[1]のとき,当該あるセルの下に隣接するセルの上のハーフメモリが[0]となり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[1]となり,当該あるセルの上のハーフメモリが[1]となる。
本発明のセル・アレイは,格子状に並んだセル・アレイを構成する各セルは,そのセルの上下左右にそれぞれ2つの状態(これを{[0],[1]}とする。)を持つセル・アレイであって,以下のフォーク,マージ,及びRカウンタからなる3つプリミティブによる,以下の6つ規則により信号の流れが制御されるセル・アレイである。
図1は,それぞれ4つのメモリ(小さい四角)にアクセス可能なセル(太い線で結ばれた大きい四角)からなるセル・アレイを示す図である。メモリは、2つのセルによって共用され、数ビットの情報を記憶する。このメモリはセルごとに分散したものをハーフメモリとする。セルは、少数の遷移規則(本明細書では6つ)によってメモリ上で作動する。
「耐遅延回路」とは、動作の正確さが回路素子と相互接続線における信号の遅延の影響を受けない回路のことである。耐遅延回路の動作は、信号によって駆動される。各回路素子は、適切な1組の入力信号を受け取るまで非活動状態であり、その後信号を処理、出力し、再び非活動状態になる。耐遅延回路は、クロックを必要とせず、大きいクラスの非同期回路に属し、同期回路よりも優れたいくつかの長所を持。ナノテクノロジー実装の分野においては、次のような利点が重要である。
表1のプリミティブ・モジュールの組を使って、例えば,[J. Lee, F. Peper, S. Adachi, and S. Mashiko, Universal delay-insensitive circuits with buffering lines,” IEEE Transactions on Computers, Vol. 53, No. 8, pp. 1034-1046, 2004] に示したような任意の耐遅延回路を構成することができる。
これまで説明したセル・アレイは、フォールトトレラントではなく、したがって、例えばノイズによる遷移の誤りやメモリ・ビットの反転によってセルが誤動作した場合は回復が不可能であり、セル・アレイは、設計通りに動作しなくなる。本発明では,誤り訂正エンコード理論による手法を利用してセル・アレイにフォールトトレランス機能をもたせる。
(14, 4, 9)コードによる5つまたは6つの誤りの訂正
(14, 4, 9)コードは、距離d=9だけを考えた場合に最大4つまでの誤りしか訂正できない場合でも、ケースによって5つまたは6つの誤りを訂正できることがある。重要なことは、距離比較訂正方法を適用することである。解決可能なケースの割合は、以下で得られる。
C(5, 3)C(4, 1)C(5, 1)+C(5, 1)C(4, 3)C(5, 1)+
C(5, 1)C(4, 1)C(5, 3) = 500
C(5, 2)C(4, 2)C(5, 1)+C(5, 2)C(4, 1)C(5, 2)+C(5, 1)C(4, 2)C(5, 2)= 1000.
(14, 4, 7)コードによる4つ、5つまたは6つの誤りの訂正
(14, 4, 7)コードは、距離d=7だけを考えた場合に最大3つまでの誤りしか訂正できない場合でも、ケースによって4つ、5つまたは6つの誤りを訂正できることがある。ビット対の中では、どのパターンが多数派であるかを決めるに重要なことは、多数決訂正方法を適用することである。解決可能なケースの割合は、以下で得られる。語に4つのビット誤りがある場合は、以下のケースの誤りを訂正することができる。
C(7, 1)C(6, 2)22 = 420.
これにより、因子22は2つのビット対からそれぞれの1つのビットを選択する数である。
C(7, 4)C(4, 2)C(2, 2)= 210.
C(7, 2)C(5, 1)2 = 210.
これにより、因子2は1つのビット対から1つのビットを選択する数である。
C(7, 1)C(6, 1)2 C(5, 2)= 840.
3つのビット対の全てのビットの誤りがある。このようのビットを選択する場合の数は、
C(7, 3)= 35
C(7, 2)C(5, 2)22 = 840
これにより、因子22は1つの誤りがある2つのビット対からそれぞれの1つのビットを選択する数である。これによって、C(14, 6)= 3003の場合の中から6つの誤りが起こる場合の総数は、840+35 = 875である。すなわち、多数決方法によって、6ビット誤りの割合約29.1%を訂正することができる。
フォールトトレラントな設計のセル・アレイのメモリの容量が大きくなるほどセルは複雑になる。フォールトトレラントなセル・アレイを適切に実現するためには、第一に、セル・アレイを使用するために示された仮定に忠実であることが重要である。すなわち、セルはできるだけ単純であることが好ましく、基礎構造は滑らかな層の上にできるだけ規則的であることが好ましい。さらに、セル・アレイ内の誤りの発生は、長期間にわたる場合でも、誤りが小さい部分にしか影響を及ぼさないという意味で局在化することが好ましい。そのような要件で、セルは、互いに類似しかつ互いに独立した個別のユニットにさらに細かく分割される。以下では,そのような構成がどのようにすれば得られるかを説明し、特に、遷移を実行するセルの機構を、互いに独立した単純かつ同一のユニットとしてどのように実現できるかを説明する。
1.セルと関連付けられたメモリの状態を、遷移規則の左側と一致させることができるかどうか確認する。この操作はランダムな時間に行われる。
図16は,(original)非フォールトトレラントなセル・アレイ内のセルの上側のメモリの状態を示す図である。図16(a)は,(14, 4, 9)コードに基づくフォールトトレラント・セル・アレイ内の垂直ビット対の対応状態を示す図である。図16(b)は,セルの外側の水平ビット対の対応状態を示す図である。図16(c)は,内側の水平ビット対の対応状態を示す図である。(5, 4, 3)コードと(14, 4, 9)コードの一対一の対応は、それぞれ、図15(a)および(b)と同じようなメモリ・ビットのグループ化によって得ることができる。これを(14, 4, 9)コードに関してより詳しく検討する。(5, 4, 3)コードのケースは、似ているがあまり実際的ではない。このケースでは各メモリ内の2つのビット・グループしか区別できず、それらのグループが異なる数のビットを有するためである。(14, 4, 9)コードに関して、図16(オリジナル)のセルの上側にあるメモリの4つの状態を検討する。これらのメモリ状態は、図12のように(14, 4, 9)コードの符号語によってエンコードされる。次に、図15(b)による符号語の14ビットのグループ分けにより、3つの異なるパターン、すなわち図16(a)、(b)、(c)のグループができる。一方の(a)、(b)、(c)のそれぞれのパターンと、他方の図16(オリジナル)の元のメモリ状態との間には一対一の対応があり、これは、対応するグループの遷移規則を公式化できることを意味する。
参考文献
[1] A. Bachtold, P. Hadley, T. Nakanishi, and C. Dekker, "Logic circuits with carbon nanotube transistors," Science, vol. 294, pp. 1317〜1320, 2001.
[2] C.P. Collier, E.W. Wong, M.Belohradsky, F.M. Raymo, J.F. Stoddard, P.J. Kuekes, R.S. Williams, and J.R. Heath, "Electronically configurable molecular-based logic gates," Science, vol. 285, pp. 391〜394, 1999.
[3] Y. Cui and C. Lieber, "Functional nanoscale electronic devices assembled using silicon nanowire building blocks," Science, vol. 291, pp. 851〜853, 2001.
[4] Y. Huang, X. Duan, Y. Cui, L.J. Lauhon, K. Kim, and C. M. Lieber, "Logic gates and computation from assembled nanowire building blocks," Science, vol. 294, pp. 1313〜1317, 2001.
[5] H.W.Ch. Postma, T. Teepen, Z. Yao, M. Grifoni, and C. Dekker, "Carbon nanotube single-electron transistors at room temperature," Science, vol. 293, pp. 76〜79, 2001.
[6] M.A. Reed, J. Chen, A.M. Rawlett, D.W. Price, and J.M. Tour, "Molecular random access memory cell," Appl. Phys. Lett., vol. 78, pp. 3735〜3737, 2001.
[7] T. Rueckes, K. Kim, E. Joselevich, G.Y. Tseng, C. Cheung, and C.M. Lieber, "Carbon nanotube-based nonvolatile random access memory for molecular computing," Science, vol. 289, pp. 94〜97, 2000.
[8] W. Porod, "Nanoelectronic circuit architectures", Handbook of Nanoscience, Engineering, and Technology, Eds. W.A. Goddard III, D.W. Brenner, S.E. Lyshevski, and G.J. Lafrate, Chemical Rubber Company Press, Boca Raton, FL, chapter 5, 2002.
[9] P. Beckett and A. Jennings, "Towards nanocomputer architecture," In: Proc. 7th Asia-Pacific Computer Systems Architecture Conf., ACSAC'2002 (Conf. on Research and Practice in Information Technology), F.~Lai and J.~Morris, Eds., vol. 6, 2002.
[10] M. Biafore, "Cellular automata for nanometre-scale computation," Physica D, vol. 70, pp. 415〜433, 1995.
[11] J. Lyke, G. Donohoe, and S. Karna, "Reconfigurable cellular array architectures for molecular electronics," Tech. Rep. AFRL-VS-TR-2001-1039, Air Force Research Laboratory, 2001.
[12] L.J.K. Durbeck and N.J. Macias, "The cell matrix: an architecture for nanocomputing," Nanotechnology, vol. 12, pp. 217〜230, 2001.
[13] F. Peper, J. Lee, S. Adachi, and S. Mashiko, "Laying out circuits on asynchronous cellular arrays : a step towards feasible nano-computers," Nanotechnology, vol. 14, pp. 469〜485, 2003.
[14] K.L. Wang, "Issues of nanoelectronics: a possible roadmap," Journal of nanoscience and nanotechnology, vol. 2, no. 3/4, pp. 235〜266, 2002.
[15] K. Nakamura, "Asynchronous cellular automata and their computational ability," Systems, Computers, Controls, vol. 5, no. 5, pp. 58〜66, 1974.
[16] J. Lee, S. Adachi, F. Peper, and K. Morita, "Embedding universal delay-insensitive circuits in asynchronous cellular spaces," Fundamenta Informaticae, Vol. 58, No. 3/4, pp. 295〜320, Dec. 2003,.
[17] S. Adachi, F. Peper, and J. Lee, "Computation by asynchronously updating cellular automata," Journal of Statistical Physics, vol. 114, No. 1/2, pp. 261〜289, 2004.
[18] S. Hauck, "Asynchronous design methodologies: an overview," Proc. IEEE, vol. 83, pp. 69〜93, 1995.
[19] C. Joachim, J.K. Gimzewski, and A. Aviram, "Electronics using hybrid-molecular and mono-molecular devices," Nature, vol. 408, pp. 541〜548, 2000.
[20] A.J. Heinrich, C.P. Lutz, J.A. Gupta, and D.M. Eigler, "Molecule cascades," Science, vol. 298, pp. 1381〜1387, 2002.
[21] Y. Kameda, S.V. Polonsky, M. Maezawa, and T. Nanya, "Self-timed parallel adders based on DI RSFQ primitives," IEEE Trans. on Applied Superconductivity, vol. 9, no. 2, pp. 4040〜4045, 1999.
[22] P. Patra, S. Polonsky, and D.S. Fussell, "Delay-insensitive logic for RSFQ superconductor technology," In: Proc. 3rd Int. Symp. on Adv. Res. in Asynchronous Circuits and Systems, IEEE CS Press, pp. 42〜53, 1997.
[23] C.S. Lent and P.D. Tougaw, "A device architecture for computing with quantum dots," Proc. IEEE, vol. 85, pp. 541〜557, 1997.
[24] R.P Cowburn and M.E. Welland, "Room temperature magnetic quantum cellular automata," Science, vol. 287, pp. 1466〜1468, 2000.
[25] J.R. Heath, P.J. Kuekes, G.S. Snider, and R.S. Williams, "A defect-tolerant computer architecture: Opportunities for nanotechnology," Science, vol. 280, pp. 1716〜1721, 1996.
[26] J. von Neumann, "Probabilistic Logics and the Synthesis of Reliable Organisms from Unreliable Components", In: Automata Studies, Eds. C.E. Sharmon and J. McCarthy, Princeton Univ. Press, pp. 43〜98, 1956.
[27] R.L. Dobrushin and S.I. Ortyukov, "Upper bound on the redundancy of self-correcting arrangements of unreliable functional elements," Problems of Information Transmission, vol. 13, pp. 203〜218, 1977.
[28] N. Pippenger, "On networks of noisy gates," In: 26th IEEE Symp. on Foundations of Computer Science, pp. 30〜38, 1985.
[29] N. Pippenger, "Invariance of complexity measures for networks with unreliable gates," Journal of the Association for Computing Machinery, vol. 36, no. 3, pp. 531〜539, July 1989.
[30] P.G. Depledge, "Fault-tolerant computer system," IEE Proc., vol. 128, pp. 257〜272, 1981.
[31] S. Spagocci and T. Fountain, "Fault rates in nanochip devices," Electrochem. Soc. Proc., vol. 99, pp. 354〜368, 1999.
[32] K. Nikolic, A. Sadek, and M. Forshaw, "Fault-tolerant techniques for nanocomputers," Nanotechnology, vol. 13, pp. 357〜362, 2002.
[33] J. Han and P. Jonker, "A defect- and fault-tolerant architecture for nanocomputers," Nanotechnology, vol. 14, pp. 224〜230, 2003.
[34] F.J. MacWilliams and N.J. Sloane, The Theory of Error-Correcting Codes, NorthHolland, 1978.
[35] D.A. Spielman, "Highly fault-tolerant parallel computation," In: Proceedings of the 37th Annual IEEE Conference on Foundations of Computer Science, pp. 154〜163, 1996.
[36] H. Nishio and Y. Kobuchi, "Fault tolerant cellular spaces," Journal of Computer and System Sciences, vol. 11, pp. 150〜170, 1975.
[37] M. Harao and S. Noguchi, "Fault tolerant cellular automata," Journal of Computer and System Sciences, vol. 11, pp. 171〜185, 1975.
[38] P. Gacs, "Reliable computation with cellular automata," Journal of Computer System Science, vol. 32, no. 1, pp. 15〜78, 1986.
[39] P. Gacs, "Self-correcting two-dimensional arrays," In: Advances in Computing Research (a scientific annual), Ed. Silvio Micali, vol. 5: Randomness in Computation, JAI Press, Greenwich, Conn., pp. 223〜326, 1989.
[40] P. Gacs and J. Reif, "A simple three-dimensional real-time reliable cellular array," Journal of Computer and System Sciences, vol. 36, no. 2, pp. 125〜147, 1988.
[41] W. Wang, An Asynchronous Two-Dimensional Self-Correcting Cellular Automaton, Ph.D. thesis, Boston University, Boston, MA 02215, 1990, Short version: In Proc. 32nd IEEE Symposium on the Foundations of Computer, IEEE Press, pp.188〜192, 1991.
[42] P. Gacs, "Reliable cellular automata with self-organization," Journal of Statistical Physics, Vol. 103, No. 1/2, pp. 45〜267, 2001, short version in: IEEE Symposium on Foundations of Computer Science, pp. 90〜99, 1997.
[43] T. Isokawa, F. Abo, F. Peper, S. Adachi, J. Lee, N. Matsui, and S. Mashiko, "Fault-tolerant nanocomputers based on asynchronous cellular automata," International Journal of Modern Physics, in print, 2004.
[44] J. Lee, F. Peper, S. Adachi, and S. Mashiko, "Universal delay-insensitive systems with buffering lines," IEEE Transactions on Circuits and Systems I, accepted , 2004.
[45] Ed: A.W. Burks J. von Neumann, The theory of Self-Reproducing Automata, University of Illinois Press, Champaign, IL, 1966.
[46] E.F. Codd, Cellular Automata, Academic, New York, 1968.
[47] K. Morita and S. Ueno, "Computation-universal models of two-dimensional 16-state reversible cellular automata," IEICE Trans. Inf. & Syst., vol. E-75-D, no. 1, pp. 141〜147, 1992.
[48] J. Lee, F. Peper, S. Adachi, K. Morita, and S. Mashiko, "Reversible computation in asynchronous cellular automata," In: Third International Conference on Unconventional Models of Computation 2002, Eds. C.S. Calude, M.J. Dinneen, and F. Peper, Springer, pp. 220〜229, 2002.
[49] A. Davis and S.M. Nowick, "An introduction to asynchronous circuit design," Tech. Rep. UUCS-97-013, Computer Science Department, University of Utah, 1997, available at http://www.cs.columbia.edu/async/publications.html.
[50] J. Lee, F. Peper, S. Adachi, and S. Mashiko, "Universal delay-insensitive circuits with bidirectional and buffering lines," IEEE Transactions on Computers, Vol. 53, No. 8, pp. 1034〜1046,, 2004.
[51] R.M. Keller, "Towards a theory of universal speed-independent modules," IEEE Trans. Comput., vol. C-23, pp. 21〜33, 1974.
[52] J.C. Ebergen, "A formal approach to designing delay-insensitive circuits," Distrib. Comput., vol. 5, pp. 107〜119, 1991.
[53] P. Patra, Approaches to the design of circuits for low-power computation, Ph.D. thesis, University of Texas at Austin, 1995.
[54] S.M. Ornstein, M.J Stucki, and W.A. Clark, "A functional description of macromodules," In: Proc. Spring Joint Computer Conf. (AFIPS), pp. 337〜355, 1967.
[55] "Encyclopedia of delay-insensitive systems (edis)," Available at http://edis.win.tue.nl/edis.html.
[56] J.A. Reggia, S.L. Armentrout, H.-H. Chou, and Y. Peng, "Simple systems that exhibit self-directed replication," Science, vol. 259, pp. 1282〜1287, 1993.
[57] M. Kutrib and R. Vollmar, "Minimal time synchronization in restricted defective cellular automata," J. Inform. Process. Cybern., vol. 3, pp. 179〜196, 1991.
[58] M. Kutrib and R. Vollmar, "The firing squad synchronization problem in defective cellular automata," IEICE TRANS. INF. & SYST., vol. E78-D, no. 7, pp. 895〜900, 1995.
[59] H. Umeo, "A fault-tolerant scheme for optimum-time firing squad synchronization," Parallel Computing: Trends and Applications, pp. 223〜230, 1994.
Claims (13)
- 2つの状態(これを{[0],又は[1]}とする。)の組(00,01,10及び11)であるビット情報を有するハーフメモリ対に基づく遷移規則を実現するセル・アレイであって,
前記セル・アレイを構成する各セルは複数のメモリを有し,
前記あるセルに含まれる複数のメモリのそれぞれは,当該あるセルに隣接するセルに含まれるメモリと前記ハーフメモリ対を構成し,
前記セル・アレイを構成するメモリは,前記ハーフメモリ対に対応した複数のビット群を有し,
前記各ビット群は,
前記ハーフメモリ対に基づく遷移規則を実現し,
前記ハーフメモリ対に基づく遷移規則は,前記あるセルに含まれる複数のメモリのそれぞれ及び当該それぞれのメモリとハーフメモリ対を構成するメモリによるビット群が所定の状態となった場合に,当該ビット群を別の所定の状態へ変化させるものであり,
前記それぞれのメモリの複数のビット群のうちひとつ以上が異なるハーフメモリ対の値を示した場合,それを他のビット群が示すハーフメモリ対の値と同じ値を示すように修正した後,
それぞれのメモリに含まれる複数のビット群の遷移が行われるフォールトトレラントなセル・アレイ。 - 前記セル・アレイは,格子状,三角格子状,六角格子状,又は直方体状のものである請求項1に記載のセル・アレイ。
- 格子状に並んだセル・アレイを構成する各セルは,そのセルの上下左右にそれぞれ2つの状態(これを{[0],又は[1]}とする。)をとりうるハーフメモリを具備するセル・アレイであって,以下のフォーク,マージ,及びRカウンタからなる3つプリミティブによる,以下の6つ規則により信号の流れが制御されるセル・アレイ。
規則1(信号伝播規則):あるセルに関連した4のハーフメモリが全て[0]である場合,そのセルに隣接するそのセルの上,下,右,又は左のいずれかのセルにおけるそれぞれ下,上,左,又は右に位置するハーフメモリが[1]である場合は,そのハーフメモリ[1]の状態が[0]となり,当該あるセルのそれぞれ下,上,左,又は右に位置するハーフメモリが[1]となる。
規則2(フォーク用の規則):あるセルに関連した4つのハーフメモリのうちひとつが[1]であり,残りが[0]である場合であって,
この状態[1]のハーフメモリ位置が当該あるセルの右の場合であって,当該あるセルの右に隣接するセルの左のハーフメモリが[1]であって、当該あるセルの上に隣接するセルの下のハーフメモリが[0]であって、当該あるセルの下に隣接するセルの上のハーフメモリが[0]である場合は,当該あるセルの左に隣接するセルの右のハーフメモリが[1]のとき,そのハーフメモリが[0]となり,当該あるセルの上と下のハーフメモリがそれぞれ[1]となり,
この状態[1]のハーフメモリ位置が当該あるセルの左の場合は,当該あるセルの左に隣接するセルの右のハーフメモリが[1]であって、当該あるセルの上に隣接するセルの下のハーフメモリが[0]であって、当該あるセルの下に隣接するセルの上のハーフメモリが[0]である場合は,当該あるセルの右に隣接するセルの左のハーフメモリが[1]のとき,そのハーフメモリが[0]となり,当該あるセルの上と下のハーフメモリがそれぞれ[1]となり,
この状態[1]のハーフメモリ位置が当該あるセルの上の場合は,当該あるセルの上に隣接するセルの下のハーフメモリが[1]であって、当該あるセルの右に隣接するセルの左のハーフメモリが[0]であって、当該あるセルの左に隣接するセルの右のハーフメモリが[0]である場合は,当該あるセルの下に隣接するセルの上のハーフメモリが[1]のとき,そのハーフメモリが[0]となり,当該あるセルの右と左のハーフメモリがそれぞれ[1]となり,
この状態[1]のハーフメモリ位置が当該あるセルの下の場合は,当該あるセルの下に隣接するセルの上のハーフメモリが[1]であって、当該あるセルの右に隣接するセルの左のハーフメモリが[0]であって、当該あるセルの左に隣接するセルの右のハーフメモリが[0]である場合は,当該あるセルの上に隣接するセルの下のハーフメモリが[1]のとき,そのハーフメモリが[0]となり,当該あるセルの右と左のハーフメモリがそれぞれ[1]となる。
規則3(マージ用の規則−1−):
あるセルに関連した4つのハーフメモリのうちひとつが[1]であり,残りが[0]である場合であって,
(i)この状態[1]のハーフメモリ位置が当該あるセルの右の場合であって,当該あるセルの右に隣接するセルの左のハーフメモリが[1]であって、当該あるセルの左に隣接するセルの右のハーフメモリが[0]であって、当該あるセルの下に隣接するセルの上のハーフメモリが[0]である場合は,
当該あるセルの上に隣接するセルの下のハーフメモリが[1]のとき,そのハーフメモリが[0]となり,当該あるセルの左のハーフメモリが[1]となり,
当該あるセルの下に隣接するセルの上のハーフメモリが[1]のとき,そのハーフメモリが[0]となり,当該あるセルの左のハーフメモリが[1]となり;
(ii)この状態[1]のハーフメモリ位置が当該あるセルの左の場合であって,当該あるセルの左に隣接するセルの右のハーフメモリが[1]であって、当該あるセルの右に隣接するセルの左のハーフメモリが[0]であって、当該あるセルの上に隣接するセルの下のハーフメモリが[0]である場合は,
当該あるセルの上に隣接するセルの下のハーフメモリが[1]のとき,そのハーフメモリが[0]となり,当該あるセルの右のハーフメモリが[1]となり,
当該あるセルの下に隣接するセルの上のハーフメモリが[1]のとき,そのハーフメモリが[0]となり,当該あるセルの右のハーフメモリが[1]となり;
(iii)この状態[1]のハーフメモリ位置が当該あるセルの上の場合であって,当該あるセルの上に隣接するセルの下のハーフメモリが[1]であって、当該あるセルの下に隣接するセルの上のハーフメモリが[0]であって、当該あるセルの右に隣接するセルの左のハーフメモリが[0]である場合は,
当該あるセルの右に隣接するセルの左のハーフメモリが[1]のとき,そのハーフメモリが[0]となり,当該あるセルの下のハーフメモリが[1]となり,
当該あるセルの左に隣接するセルの右のハーフメモリが[1]のとき,そのハーフメモリが[0]となり,当該あるセルの下のハーフメモリが[1]となり;そして,
(iv)この状態[1]のハーフメモリ位置が当該あるセルの下の場合であって,当該あるセルの下に隣接するセルの上のハーフメモリが[1]であって、当該あるセルの上に隣接するセルの下のハーフメモリが[0]であって、当該あるセルの左に隣接するセルの右のハーフメモリが[0]である場合は,
当該あるセルの右に隣接するセルの左のハーフメモリが[1]のとき,そのハーフメモリが[0]となり,当該あるセルの上のハーフメモリが[1]となり,
当該あるセルの左に隣接するセルの右のハーフメモリが[1]のとき,そのハーフメモリが[0]となり,当該あるセルの上のハーフメモリが[1]となる。
規則4(マージ用の規則−2−):
あるセルに関連した4つのハーフメモリのうちひとつが[1]であり,残りが[0]である場合であって,
(i)この状態[1]のハーフメモリ位置が当該あるセルの右の場合であり,当該あるセルの右に隣接するセルの左のハーフメモリが[1]である場合であって,当該あるセルの左に隣接するセルの右のハーフメモリが[0]であり,かつ当該あるセルの上に隣接するセルの下のハーフメモリが[1]であり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[1]のとき,
それら2のハーフメモリのうちいずれかが[0]となり,当該あるセルの左のハーフメモリが[1] となり,
(ii)この状態[1]のハーフメモリ位置が当該あるセルの左の場合であり,当該あるセルの左に隣接するセルの右のハーフメモリが[1]である場合であって,当該あるセルの右に隣接するセルの左のハーフメモリが[0]であり,かつ当該あるセルの上に隣接するセルの下のハーフメモリが[1]であり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[1]のとき,
それら2のハーフメモリのうちいずれかが[0]となり,当該あるセルの右のハーフメモリが[1]となり,
(iii)この状態[1]のハーフメモリ位置が当該あるセルの上の場合であり,当該あるセルの上に隣接するセルの下のハーフメモリが[1]である場合であって,当該あるセルの下に隣接するセルの上のハーフメモリが[0]であり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[1]であり,かつ当該あるセルの左に隣接するセルの右のハーフメモリが[1]のとき,
それら2のハーフメモリのうちいずれかが[0]となり,当該あるセルの下のハーフメモリが[1]となり;そして,
(iv)この状態[1]のハーフメモリ位置が当該あるセルの下の場合であり,当該あるセルの下に隣接するセルの上のハーフメモリが[1]である場合であって,当該あるセルの上に隣接するセルの下のハーフメモリが[0]であり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[1]であり,かつ当該あるセルの左に隣接するセルの右のハーフメモリが[1]のとき,
それら2のハーフメモリのうちいずれかが[0]となり,当該あるセルの上のハーフメモリが[1] となる。
規則5(Rカウンタの規則−1−)
あるセルに関連した4つのハーフメモリのうちひとつが[1]であり,残りが[0]である場合であって,
(i)この状態[1]のハーフメモリ位置が当該あるセルの上の場合であり,当該あるセルの上に隣接するセルの下のハーフメモリが[0]である場合であって,当該あるセルの右に隣接するセルの左のハーフメモリが[1]であり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[1]であり,かつ当該あるセルの左に隣接するセルの右のハーフメモリが[0]のとき,
当該あるセルの右に隣接するセルの左のハーフメモリが[0]となり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[0]となり;
(ii)この状態[1]のハーフメモリ位置が当該あるセルの下の場合であり,当該あるセルの下に隣接するセルの上のハーフメモリが[0]である場合であって,当該あるセルの上に隣接するセルの下のハーフメモリが[1]であり,かつ当該あるセルの左に隣接するセルの右のハーフメモリが[1]であり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[0]のとき,
当該あるセルの上に隣接するセルの下のハーフメモリが[0]となり,かつ当該あるセルの左に隣接するセルの右のハーフメモリが[0]となり;
(iii)この状態[1]のハーフメモリ位置が当該あるセルの右の場合であり,当該あるセルの右に隣接するセルの左のハーフメモリが[0]である場合であって,当該あるセルの左に隣接するセルの右のハーフメモリが[1]であり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[1]であり,かつ当該あるセルの上に隣接するセルの下のハーフメモリが[0]のとき,
当該あるセルの左に隣接するセルの右のハーフメモリが[0]となり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[0]となり;
(iv)この状態[1]のハーフメモリ位置が当該あるセルの左の場合であり,当該あるセルの左に隣接するセルの右のハーフメモリが[0]である場合であって,当該あるセルの上に隣接するセルの下のハーフメモリが[1]であり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[1]であり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[0]のとき,
当該あるセルの上に隣接するセルの下のハーフメモリが[0]となり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[0]となり;
(v)この状態[1]のハーフメモリ位置が当該あるセルの上の場合であり,当該あるセルの上に隣接するセルの下のハーフメモリが[0]である場合であって,当該あるセルの左に隣接するセルの右のハーフメモリが[1]であり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[1]であり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[0]のとき,
当該あるセルの左に隣接するセルの右のハーフメモリが[0]となり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[0]となり;
(vi)この状態[1]のハーフメモリ位置が当該あるセルの下の場合であり,当該あるセルの下に隣接するセルの上のハーフメモリが[0]である場合であって,当該あるセルの上に隣接するセルの下のハーフメモリが[1]であり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[1]であり,かつ当該あるセルの左に隣接するセルの右のハーフメモリが[0]のとき,
当該あるセルの上に隣接するセルの下のハーフメモリが[0]となり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[0]となり;
(vii)この状態[1]のハーフメモリ位置が当該あるセルの右の場合であり,当該あるセルの右に隣接するセルの左のハーフメモリが[0]である場合であって,当該あるセルの左に隣接するセルの右のハーフメモリが[1]であり,かつ当該あるセルの上に隣接するセルの下のハーフメモリが[1]であり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[0]のとき,
当該あるセルの左に隣接するセルの右のハーフメモリが[0]となり,かつ当該あるセルの上に隣接するセルの下のハーフメモリが[0]となり;そして,
(viii)この状態[1]のハーフメモリ位置が当該あるセルの左の場合であり,当該あるセルの左に隣接するセルの右のハーフメモリが[0]である場合であって,当該あるセルの下に隣接するセルの上のハーフメモリが[1]であり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[1]であり,かつ当該あるセルの上に隣接するセルの下のハーフメモリが[0]のとき,
当該あるセルの下に隣接するセルの上のハーフメモリが[0]となり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[0]となる。
規則6(Rカウンタの規則−2−)
あるセルに関連した4つのハーフメモリのうちひとつが[1]であり,残りが[0]である場合であって,
(i)この状態[1]のハーフメモリ位置が当該あるセルの上の場合であり,当該あるセルの上に隣接するセルの下のハーフメモリが[0]である場合であり,当該あるセルの下に隣接するセルの上のハーフメモリが[0]である場合であって,当該あるセルの左に隣接するセルの右のハーフメモリが[0]である場合であって,当該あるセルの右に隣接するセルの左のハーフメモリが[1]のとき,
当該あるセルの右に隣接するセルの左のハーフメモリが[0]となり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[1]となり,当該あるセルの左のハーフメモリが[1]となり;
(ii)この状態[1]のハーフメモリ位置が当該あるセルの下の場合であり,当該あるセルの下に隣接するセルの上のハーフメモリが[0]である場合であり,当該あるセルの上に隣接するセルの下のハーフメモリが[0]である場合であって,当該あるセルの右に隣接するセルの左のハーフメモリが[0]である場合であって,当該あるセルの左に隣接するセルの右のハーフメモリが[1]のとき,
当該あるセルの左に隣接するセルの右のハーフメモリが[0]となり,かつ当該あるセルの上に隣接するセルの下のハーフメモリが[1]となり,当該あるセルの右のハーフメモリが[1]となり;
(iii)この状態[1]のハーフメモリ位置が当該あるセルの右の場合であり,当該あるセルの右に隣接するセルの左のハーフメモリが[0]である場合であり,当該あるセルの左に隣接するセルの右のハーフメモリが[0]である場合であって,当該あるセルの上に隣接するセルの下のハーフメモリが[0]である場合であって,当該あるセルの下に隣接するセルの上のハーフメモリが[1]のとき,
当該あるセルの下に隣接するセルの上のハーフメモリが[0]となり,かつ当該あるセルの左に隣接するセルの右のハーフメモリが[1]となり,当該あるセルの上のハーフメモリが[1]となり;
(iv)この状態[1]のハーフメモリ位置が当該あるセルの左の場合であり,当該あるセルの左に隣接するセルの右のハーフメモリが[0]である場合であり,当該あるセルの右に隣接するセルの左のハーフメモリが[0]である場合であって,当該あるセルの下に隣接するセルの上のハーフメモリが[0]である場合であって,当該あるセルの上に隣接するセルの下のハーフメモリが[1]のとき,
当該あるセルの上に隣接するセルの下のハーフメモリが[0]となり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[1]となり,当該あるセルの下のハーフメモリが[1]となり;
(v)この状態[1]のハーフメモリ位置が当該あるセルの上の場合であり,当該あるセルの上に隣接するセルの下のハーフメモリが[0]である場合であり,当該あるセルの下に隣接するセルの上のハーフメモリが[0]である場合であって,当該あるセルの右に隣接するセルの左のハーフメモリが[0]である場合であって,当該あるセルの左に隣接するセルの右のハーフメモリが[1]のとき,
当該あるセルの左に隣接するセルの右のハーフメモリが[0]となり,かつ当該あるセルの下に隣接するセルの上のハーフメモリが[1]となり,当該あるセルの右のハーフメモリが[1]となり;
(vi)この状態[1]のハーフメモリ位置が当該あるセルの下の場合であり,当該あるセルの下に隣接するセルの上のハーフメモリが[0]である場合であり,当該あるセルの上に隣接するセルの下のハーフメモリが[0]である場合であって,当該あるセルの左に隣接するセルの右のハーフメモリが[0]である場合であって,当該あるセルの右に隣接するセルの左のハーフメモリが[1]のとき,
当該あるセルの右に隣接するセルの左のハーフメモリが[0]となり,かつ当該あるセルの上に隣接するセルの下のハーフメモリが[1]となり,当該あるセルの左のハーフメモリが[1]となり;
(vii)この状態[1]のハーフメモリ位置が当該あるセルの右の場合であり,当該あるセルの右に隣接するセルの左のハーフメモリが[0]である場合であり,当該あるセルの左に隣接するセルの右のハーフメモリが[0]である場合であって,当該あるセルの下に隣接するセルの上のハーフメモリが[0]である場合であって,当該あるセルの上に隣接するセルの下のハーフメモリが[1]のとき,
当該あるセルの上に隣接するセルの下のハーフメモリが[0]となり,かつ当該あるセルの左に隣接するセルの右のハーフメモリが[1]となり,当該あるセルの下のハーフメモリが[1]となり;そして,
(viii)この状態[1]のハーフメモリ位置が当該あるセルの左の場合であり,当該あるセルの左に隣接するセルの右のハーフメモリが[0]である場合であり,当該あるセルの右に隣接するセルの左のハーフメモリが[0]である場合であって,当該あるセルの上に隣接するセルの下のハーフメモリが[0]である場合であって,当該あるセルの下に隣接するセルの上のハーフメモリが[1]のとき,
当該あるセルの下に隣接するセルの上のハーフメモリが[0]となり,かつ当該あるセルの右に隣接するセルの左のハーフメモリが[1]となり,当該あるセルの上のハーフメモリが[1]となる。
なお,上記の規則においては,特に断らない限り当該あるセルの上下左右のハーフメモリ,及び当該あるセルの上下左右に位置する隣接するセルのそれぞれ下上右左のハーフメモリは[0]であるとする。 - 前記セル・アレイの各ハーフメモリが1ビットハーフメモリである請求項3に記載のセル・アレイ。
- 前記セル・アレイの各ハーフメモリが2ビット以上のハーフメモリである請求項3に記載のセル・アレイ。
- 前記セル・アレイが非同期セル・アレイである請求項1又は請求項3に記載のセル・アレイ。
- 請求項1又は請求項3に記載のセル・アレイを用いた耐遅延回路(Delay-Insensitive Circuits)。
- 請求項3に記載のセル・アレイを用いたフォールトトレラントなセル・アレイ。
- 請求項1又は請求項3に記載のセル・アレイを用いたNAND回路。
- 請求項1又は請求項3に記載のセル・アレイを用いたコンピュータ。
- 請求項1又は請求項3に記載のセル・アレイをコンピュータで実現させるために,コンピュータを上記の各規則を実現する複数の手段として機能させるためのプログラム。
- 請求項1又は請求項3に記載のセル・アレイをコンピュータで実現させるためのプログラムを記憶した記録媒体。
- 請求項1,又は請求項3に記載の2つの状態(これを{[0],又は[1]}とする。)の組(00, 01, 10, 及び 11)であるハーフメモリ対に基づく遷移規則を実現する複数のメモリを有するセル・アレイを前記セルに関連するメモリが誤り訂正機能を持つように遷移させるための方法であって,
それぞれのメモリは複数のビット対を有し,
前記各ビット対は前記ハーフメモリ対に対応し,[00,01,10,11],[00,01,11,10],[00,10,01,11],[00,11,01,10],[00,10,11,01],[00,11,10,01],[01,00,10,11],[01,00,11,10],[10,00,01,11],[10,00,11,01],[11,00,01,10],[11,00,10,01],[01,10,00,11],[10,01,00,11],[01,11,00,10],[10,11,00,01],[11,01,00,10],[11,10,00,01],[01,10,11,00],[01,11,10,00],[10,01,11,00],[11,01,10,00],[11,10,01,00],及び[10,11,01,00]の24通りのうちのいずれかと一対一に対応づけるようにされ;
ビット対は,前記遷移規則に従って状態遷移起こし,
前記それぞれのメモリの複数のビット対のうちひとつ以上が異なるハーフメモリ対の値を示した場合(間違っている場合),それを他のビット対が示すハーフメモリ対の値と同じ値を示すように修正した後,
それぞれのメモリ含まれる複数のビット対の遷移が行われる方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004220823A JP4712328B2 (ja) | 2004-07-28 | 2004-07-28 | フォールトトレラントなセル・アレイ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004220823A JP4712328B2 (ja) | 2004-07-28 | 2004-07-28 | フォールトトレラントなセル・アレイ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006040451A JP2006040451A (ja) | 2006-02-09 |
JP4712328B2 true JP4712328B2 (ja) | 2011-06-29 |
Family
ID=35905266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004220823A Expired - Fee Related JP4712328B2 (ja) | 2004-07-28 | 2004-07-28 | フォールトトレラントなセル・アレイ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4712328B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008008629A2 (en) * | 2006-06-28 | 2008-01-17 | Achronix Semiconductor Corporation | Reconfigurable logic fabrics for integrated circuits and systems and methods for configuring reconfigurable logic fabrics |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3139738B2 (ja) * | 1996-09-06 | 2001-03-05 | 日本電気株式会社 | 論理回路 |
JP2002374165A (ja) * | 2001-06-13 | 2002-12-26 | Hitachi Ltd | 半導体集積回路装置および製造方法 |
-
2004
- 2004-07-28 JP JP2004220823A patent/JP4712328B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006040451A (ja) | 2006-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Peper et al. | Fault-tolerance in nanocomputers: a cellular array approach | |
Copsey et al. | Toward a scalable, silicon-based quantum computing architecture | |
Vasic et al. | An information theoretical framework for analysis and design of nanoscale fault-tolerant memories based on low-density parity-check codes | |
Peper et al. | Laying out circuits on asynchronous cellular arrays: a step towards feasible nanocomputers? | |
Fujiwara et al. | Entanglement-assisted quantum low-density parity-check codes | |
TW201119247A (en) | Decoder and decoding method for low-density parity check codes constructed based on reed-solomon codes | |
Ghosh et al. | Dynamic low-density parity check codes for fault-tolerant nano-scale memory | |
TW200935754A (en) | Data decoding apparatus, data decoding method, data tramsmitting/receiving system, data receiving apparatus, data receiving method and program | |
Zhang et al. | Design and simulation of turbo encoder in quantum-dot cellular automata | |
Camara et al. | Constructions and performance of classes of quantum LDPC codes | |
Mappouras et al. | GreenFlag: Protecting 3D-racetrack memory from shift errors | |
Suma et al. | Simulation and synthesis of efficient majority logic fault detector using EG-LDPC codes to reduce access time for memory applications | |
JP4712328B2 (ja) | フォールトトレラントなセル・アレイ | |
Sun et al. | Defect and transient fault-tolerant system design for hybrid CMOS/nanodevice digital memories | |
Zhang et al. | A programmable hamming encoder/decoder system design with quantum-dot cellular automata | |
Misra et al. | Approach to design a high performance fault-tolerant reversible ALU | |
Nagarajan et al. | High-throughput VLSI implementations of iterative decoders and related code construction problems | |
Boykin et al. | Reversible fault-tolerant logic | |
DeHon | Law of large numbers system design | |
Graham et al. | Nanocomputing in the presence of defects and faults: A survey | |
Goto | Many-hypercube codes: High-rate quantum error-correcting codes for high-performance fault-tolerant quantum computation | |
Isokawa et al. | Fault-tolerant nanocomputers based on asynchronous cellular automata | |
Chakrabarty et al. | Reliability analysis of a noiseless code converter using quantum dot cellular automata | |
Vasić et al. | Low complexity memory architectures based on LDPC codes: Benefits and disadvantages | |
Nagarajan et al. | High-throughput VLSI implementations of iterative decoders and related code construction problems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070215 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070613 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100329 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100526 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110317 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110323 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |