Building With DNA bricks
Recently an article on building with DNA bricks, reminded me of a concept I came up with over ten years ago, configurable 3 dimensional NAND gates.
In the article (slideshow) they discussed using single strand DNA, to self assemble custom designed nano scale structures. Each of the bricks shown to the left is, 25-nanometers on a side, they are composed of ~1,000 voxels (I think it is 500 DNA strand, 2 voxels per strand) unique single strands of DNA, each with 32 nucleotides. Each strand is like a jigsaw puzzle piece and can only bind in one location. This is due to the fact that nucleotides only bind to their opposites, A to T and G to C. These DNA strands can be designed to self assemble into pretty much any shape, as shown in the image above.
This is where things get very interesting. This process does not just produce a single brick at a time, it creates as many as the available resources allow, all at the same time or over time. If you want a million identical bricks, you give it all the different varieties of single strand DNA it requires to create a million of them. Due to their small size you could create several billion in a shot glass.
A one inch cube could hold 1,000,000,000,000,000,000 of these 25 nm bricks.
n = (1 billion nm per meter / 25 nm / 100 cm per meter * 2.5 cm per inch)^3
Using two simple techniques, you can build much larger structures out of smaller ones. The first technique is to create binding sites, on each of the six sides of the brick. The second technique is to create a spacer-binder with matching but opposite nucleotides to bind to. Where A binds to T and G binds to C in the DNA sequences of the binding sites. When mixed these should self assemble into a larger structure.
Truth be told, to create a perfect cube like the one to the left, would take far more than just two different building blocks. It would take approximately 18.
Using just two different building blocks, one brick and one matching spacer-binder, you would end up with no limits as to how far, or in which direction the growth expands. The end result would be an amorphous blob, with an internally perfect lattice of bricks and spacer-binders. Since this is an article about, Infinitely Expandable Computing Using Three Dimensional Configurable NAND Gates, and not building the perfect cube shaped nano-processor, I will gloss over that point (amorphous blob) and get on with the article.
Three Dimensional Configurable NAND Gate
The NAND logic gate is the universal gate, with it you can build all other logic gates, NOT, AND, OR, NOR, XOR, and XNOR. By extension, using only NAND gates you can build any logic circuit imaginable, processor, memory, and any other logic circuit you can conceive of or need.
The concept for the Three Dimensional Configurable NAND Gate is simple. It is a cube with a NAND gate inside. The cube NAND gate has the following specifications.
- A cube NAND gate has six sides, each side can be individually turned on for input, output, or set as unused.
- A used cube NAND gate, must have at least one input and one output.
- When only one input is used, the gate acts as a NOT gate.
- All outputs of a single cube NAND gate output the same signal.
- A cube NAND gate can either be in use and logically connected to other cube NAND gates, or unused and not logically connect to any other NAND gates.
While this seems like a simple set of specifications it is really very powerful. It allows for any logic circuit to be configured, and any software to be run. In essence, by loading the logic for every chip in a computer system, and all the interconnections between those chips, it can become that system. It can become any processor Intel, Arm, Motorola, Zilog, IBM mainframe, Sun Sparc and run the software associated with those machines without any software conversion needed.
This is a wonderful thing, for people who wan to run old IBM reel to reel applications to impress their friends (snicker), but that is not it greatest strength. The true power comes from the fact that this makes software and hardware the same thing. Software becomes nothing more than the configuration of the 3D NAND array. This removes a huge amount of overhead, allows optimization in ways that can not be done on standard computer systems, and speeds up processing immensely for most applications.
Tying it all together, combing DNA bricks with configurable 3D NAND
Over the past several years, transistors using small molecules (1) (2) (3) (4) (5) (6) (7) have been theorized, designed, and or built. There are currently under ten groups that have actually built and tested molecular transistors in the lab. Combining these molecular scale transistors, the ability to recognize and bind to molecules (Host Guest) precisely, and using DNA bricks and-or a technology like DNA Origami to transport the and place individual components, is what will allow us to create configurable 3D NAND gates. Adding spacer-binders to the mix, allows for the self assembly of individual 3D NAND gates into a large scale, infinitely configurable, nano-processor. The size of which should only be limited by the raw materials available.
Go large, or go home. Lets see what a 6 inch cube of configurable 3D NAND gates can do. First we need to know how many NAND gates fit into a 6 inch brick.
n = (1 billion nm per meter / 25 nm / 100 cm per meter * 2.5 cm per inch)^3 * 6 inches^3
n = 216,000,000,000,000,000,000 individual NAND gates. This does not take into account the spacer binders, the need for cooling, long range (> 1,000 nm) communications, and power, and I am going to ignore them because this is a speculative piece.
Note: adding all the missing pieces listed above takes about half the volume and ~halves the number of NAND gates, again we are ignoring that. Speculation, and just wanting to see roughly what can be done and all.
Totally Kludged Numbers Follow To Show What is Possible
With 216 x 10^18 gates, how many maxed out 8-Core Itanium Poulson, with max memory, and 1 Tb storage, can this emulate at once using a 6 inch 3D NAND brick. For this we are going to use worst case numbers for the gates. Each transistor on the Intel processor is going to be 3 NAND gates, all memory and storage will be 5 gates per bit. That is way overkill on both of them (see below).
To make the numbers even worse I am going to use transistor count on an Intel 8 core Itanium processor, instead of gate count, due to the fact that after an hour of looking, gate count was no where to be found. An Intel 8-Core Itanium Poulson has 3,100,000,000 transistors, a memory address space of 2^50 ( 1 petabyte ). Since an address space of 2^50, would require 125,000,000 of 8 gigabyte RAM modules, we will reduce that to something more reasonable, like 2 terabytes, or 250 8 gigabyte RAM modules. I am certain we can somehow shoe horn them into a actual rack mounted server, right next to the 1 terabyte hard drive.
The system consist of
- An Intel 8-Core Itanium Poulson
- 2 Terabytes of RAM
- 1 Terabyte hard drive
Now lets count the NAND gates needed.
Name Transistors-bits NAND gates per Item Total NAND gates
Processor 3,100,000,000 3 9,300,000,000
Memory 16,000,000,000,000 5 80,000,000,000,000
Hard Drive 8,000,000,000,000 5 40,000,000,000,000
Total NAND gates 120,009,300,000,000
We now know we need 128 quadrillion NAND gates to build the system specified above, and a 6 inch cube has 216,000,000,000,000,000,000 individual NAND gates. So lets see how many of these systems fit in or 6 inch box.
n = 216,000,000,000,000,000,000 / 120,009,300,000,000
n = 1,799,860.51
So in a six inch cube of 3D NAND we can fit ~1.8 million maxed out Intel 8 core systems.
Please take these numbers with a grain of salt, they are back of the envelope calculations just meant to show how much further we can go once this technology is available.
Afterword
While this is not currently possible to do. In very short order, the knowledge and techniques required to create these configurable 3D NAND gates will exist. The ability to selectively attach or bind to specific nano-scale structures or specific chemicals and move them into position, with atomic precision, will more than likely occur within the next 3 to 6 years. By combing the technology of DNA bricks and selective manipulation of nano-scale objects, devices such as the configurable 3D NAND gate can be constructed. This is just one small step away from full blown nanotechnology (Drexlerian or other).
The repercussions of this are profound.