2 ms·
Having worked on this for quite a few years (compute in memory with a variety of emerging memories: RRAM, MRAM others) with a substantial research team, our con
by bippingchip 4y ago
Having worked on this for quite a few years (compute in memory with a variety of emerging memories: RRAM, MRAM others) with a substantial research team, our conclusion ended up being you are better off with SRAM based solutions. And most likely tightly coupled memory with digital compute is better than doing compute in memory.
The newer memories like RRAM are simply not stable enough: too much variations, drift with temperature, reliability etc. On some cases you can try and re engineer the devices to be better suited but they invariably end up being larger, or more power hungry, and often both. See for example https://ieeexplore.ieee.org/document/9405305 https://ieeexplore.ieee.org/document/9405305 (sorry for the paywall - no open access available)
Adding insult to injury, none of these emerging memories can be integrated with highly scaled digital CMOS. (22nm is about a low as you can go for eg MRAM and RRAM - where they are offered as embedded flash alternatives) But you will always need flexible, programmable digital compute in order to have an AI accelerator that can do more than 1 flavor of resnets.
SRAM, in the meantime does scale relatively nicely and co integrates well with digital logic across the whole spectrum down to 5nm FinFETs and below.
- NextHendrix 4y agoOn the whole, at this point in time, I agree. For general purpose NVM stuff you're better off going with the less exotic, but SRAM isn't suitable for this specific use case. Some eNVMs are essentially analogue (CBRAM, OxRAM, PCM etc) whereby you can partially set a single memory cell much like a variable resistor. MRAM obviously had its specific two states so is unsuitable for neuromorphic computation, and SRAM is the same. I disagree though that 22nm is the limit for (STT) MRAM and ReRAM, they both have excellent scalability. SRAM scales nicely but is volatile, takes up lots of area and obviously isn't BEOL compatible. You can stack MTJs between metal layers just fine.