editor's blog
Subscribe Now

A Bit of Memory With Your Logic?

The recent ICCAD show had a session dedicated to MRAM and memristors. Spintec had a presentation on MRAM that went beyond the normal discussion of memory, and proposed a hybrid logic/memory (or logic-in-memory) usage of MRAM cells – or, more precisely, of magnetic tunnel junctions (MTJs).

At the very simplest end of this is a so-called non-volatile flip-flop (NVFF). It normally acts as a standard flip-flop or SRAM cell (with equivalent performance), but on the pull-up end of things are a couple of MTJs oppositely biased. Those can act as a permanently stored state: when an “auto-zero” function is performed using an additional transistor, the FF stops acting like a FF and acts like a sense amp instead. The unbalancing of what is essentially a diff pair biases the circuit in one direction so that, in a few hundred picoseconds, you can restore the stored state. Add a couple transistors needed to provide the heating current for thermally-assisted switching of the MTJs, and you have a way to dynamically change the non-volatile state.

This can help, for example, when powering down a block to save power. Before doing so, if you save the value in the MTJ pair, then the block can save its state and come back up with no loss of memory. Another example of this concept is a non-volatile L2 cache that can be powered-down and restored with no loss.

The Laboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier (LIRMM) has gone so far as to put together an FPGA where the flip-flops and SRAM cells have been replaced by MTJs. Now, after capturing the FPGA content via a serial stream and storing it in the MTJs, you can have sub-1-ns configuration after power-up from then on – no serial loading.

The logic-in-memory concept embeds MTJs into standard logic circuits. They showed an adder example where two added transistors act as a latch above a current-mode adder. There’s an MTJ in each leg of the adder above the current source. The current source itself is dynamic, being clocked to reduce power.

This all works because the MTJ can be built above the logic rather than next to the logic, as is typical for CMOS or other memory. This allows more seamless mixing of MTJs and logic, and it reduces the distance between logic and computation, improving performance and increasing the opportunities for interconnectivity. The MTJ can be programmed quickly (on the order of 10 ns vs a 2-ns write time for a volatile SRAM bit).

In the adder example, area and performance improved nominally using the hybrid approach, but dynamic power went from over 70 µW to just over 16 µW; standby power went from 0.9 nW to 0 nW (since the current source can be shut off). The only metric that went in the wrong direction was the amount of energy needed to write the cell: it went from 4 pJ in the pure CMOS implementation to almost 7 pJ for the hybrid version – and just over 20 pJ for writing the MTJ.

Leave a Reply

featured blogs
Sep 24, 2018
For the second year, the Electronic Design Process Symposium (EDPS) took place in Milpitas, having been at Monterey for many years. This was apparently the 25th year EDPS has run. I find EDPS to be a fascinating conference, and I think it is a shame that more people don'...
Sep 21, 2018
  FPGA luminary David Laws has just published a well-researched blog on the Computer History Museum'€™s Web site titled '€œWho invented the Microprocessor?'€ If you'€™re wildly waving your raised hand right now, going '€œOoo, Ooo, Ooo, Call on me!'€ to get ...
Sep 20, 2018
Last week, NVIDIA announced the release of the Jetson Xavier developer kit. The Jetson Xavier, which was developed in OrCAD, is designed to help developers prototype with robots, drones, and other......
Sep 18, 2018
Samtec performs several tests in-house as part of our qualification testing on a product series; including Low Level Contact Resistance (LLCR). It measures the amount of resistance in a position on a part. LLCR is used in combination with several other tests to track the over...