Researchers create a computer entirely from non-volatile memory
28-04-2022 | By Robin Mitchell
Recently, researchers developed a computer and operating system that only uses non-volatile memory to demonstrate how effective such a setup could be. What challenges do non-volatile memories present, what did the researchers develop, and could it lead to a future where the only thing that becomes forgotten is volatile memory itself?
What challenges do non-volatile memories present?
If there is one problem that has persisted in computers since their introduction in the 1950s, it’s that the moment power is lost, then so is the current state of the computer as well as any data that was being held in RAM. Of course, there are numerous methods for getting around this, including using uninterruptable power supplies and constantly remembering to save documents (as extreme as it may seem, I will often do a quick Ctrl + S after each sentence out of habit).
The only reason why computers forget data held in RAM and in registers is because of their volatile nature. For example, RAM used in computers is almost always DRAM, and this uses capacitors to store charge, representing digital information. As these capacitors are leaky, they require constant refreshing, which means that the moment power is lost, they will start to discharge (usually takes less than a second).
CPUs, however, use SRAM for internal registers and counters, which use transistor latches instead of DRAM. While this means that SRAM does not require periodic refreshing, it does mean that the instance power is lost then so is the state of each latch. After considering all of this, why do computers still use volatile memory?
Simply put, non-volatile memories such as EEPROM, FLASH, and FRAM have very slow write speeds, making them impractical for any application that needs to write to memory frequently. For example, CPU registers are written on each clock cycle and using a slow memory technology would drastically reduce performance (that and many non-volatile memories have a limited number of write cycles).
While non-volatile memories have a significant size advantage compared to volatile ones, they can also be complex to interface with. For example, FLASH memory stores information serially (with data bits being stored in a long chain of floating gate transistors). As such, their access speed is still slower than that of SRAM technologies which can be read in parallel. While NOR flash can be accessed quickly due to its parallel design, it has slower write speeds than NAND flash. But the use of serial transistors in NAND flash requires an entire row to be erased before it can be written to.
Researchers create non-volatile computer
Recently, researchers from the Korean Advanced Institute of Science and Technology (KAIST) developed a new computer system that uses non-volatile memory as its main program memory. The new design, called LightPC, allows for powering up and down during mid-execution without experiencing data loss. The new design also demonstrated a faster application execution speed of 4.3 compared to traditional computing systems. The use of non-volatile memory allowed for up to 8 times more memory (remember that non-volatile memory often allows for increased memory densities).
According to the researchers, current systems that try to deploy non-volatile memories can use checkpointing, which involves regular backups of volatile memory into a non-volatile memory source. While this does allow for restoration, it has the drawback that it takes additional time and power to perform the backup, and the system still takes a long time to reboot after a power cut.
While the exact technical details of the new computer are somewhat mysterious, the researchers did mention that they designed a custom RISC-V processor with a memory controller that gives the CPU direct access to the non-volatile memory as well as increases parallelism to service requests immediately. This may have been achieved with the use of multiple NAND flash memories in parallel, with each one servicing a single bit (thus, parallel operations can be done at the speed of serial NAND flash).
Furthermore, the researchers developed a custom OS that uses persistent execution states without the need for checkpointing. This allows the computer to instantly restart its operation as power is removed, and this was demonstrated in a video released by the team.
Will non-volatile computers dominate the future?
If non-volatile memories that operate at the same speed as volatile memories can be produced commercially, it is highly likely that such non-volatile memories would make DRAM and SRAM extinct extremely fast. The ability to store information even when a computer is shut down allows operating systems to boot up and resume operation without needing to use energy in booting, loading services, and restarting programs. This could see computers that reduce power consumption to virtually nothing when unused for more than a few minutes and may even lead to computers that never reboot (with the exception of installing updates).
Another significant advantage that non-volatile memories could present is the ability to create unified memory. This is where a computer uses a single memory unit to run programs from, store temporary data, and store long-term data. Such a design would end the need for RAM while also significantly speeding up operations; writing to a file would be as fast as a program storing variables.
Of course, engineers are still yet to crack the unified memory challenge, and technologies such as DRAM and SRAM will continue to play a critical role in computing.