« BackInside a Ferroelectric RAM Chiprighto.comSubmitted by chmaynard 14 hours ago
  • jonathrg 13 hours ago

    Texas Instruments has FRAM in some of their microcontrollers. It's really pleasant to use. You write to it like any other part of RAM, the only difference being that the bytes stay where they are when you lose power. With something flash you need to be more careful with how you use it.

    • technothrasher 13 hours ago

      I've been using it in a few projects at work as a replacement for flash backed serial RAM. It drops right in, as it is pin and function compatible with other small SPI and I2C nvram and eeprom chips, and isn't really much more expensive in small capacities.

      • beeflet 11 hours ago

        What is the latency like vs DRAM?

        • polpo 10 hours ago

          In my experience with parallel FRAM, it’s as fast as SRAM and is a drop in replacement with the same timing.

          A lot of folks have replaced battery backed SRAM with FRAM on game consoles.

          • beeflet 8 hours ago

            Holy cow thats cool. So It's like an expensive nonvolatile replacement for volatile memory. I wonder if in the future there could be computers with no sense of "memory vs storage", that it would all just be a single contiguous "memory".

            Instead of turning off the computer and hibernating, you just turn off the LCD backlight and the IO.

            • jasomill 7 hours ago

              While implemented virtually rather than physically, two well-known (and very different) examples of systems that unify memory and secondary storage under a single addressing scheme are Multics (1969) and the IBM System/38 (1978).

              Note that the present-day IBM i née AS/400 is a direct descendent of the System/38.

              References:

              https://en.wikipedia.org/wiki/Single-level_store

              https://dl.acm.org/doi/pdf/10.1145/363095.363139

              http://bitsavers.org/pdf/ibm/system38/G580-0237-1_IBM_System...

              https://archive.org/details/insideas4000000solt/page/171/mod...

              • grishka 8 hours ago

                You would still need to turn the CPU off though. Or do you suggest replacing the registers and caches and all other volatile memory with this stuff?

                • soganess 7 hours ago

                  I'm not sure what the performance/persistence implications of this (FRAM) actually are...

                  But to your point, simply copying the processor state to a known location in FRAM (0xFFFFFFF0) and having the start routine read state from that location seem like a very low overhead solution to the problem.

                  How long would it really take to do something your computer does as part of preemptive multi-tasking? Nanoseconds? Milliseconds? We are talking about $order(hundred) of instructions

                  • gmueckl 3 hours ago

                    This may work on something with the complexity of a microcontroller or SoC, but becomes tricky beyond that. Any peripherals, especially removable ones would still need to be rediscovered and reinitialized on boot. Network connections may have died/reset while the system was off.

                    Essentially, this scheme has all the major complications of resuming from sleep/hibernation in practice.

          • therein 8 hours ago

            I really like their FRAM products too. Ultra low power, high data endurance. They have this NFC FRAM MCU product that can be powered by the reader itself.

            I want someone to incorporate these into their hardware wallet products. Would also be very cool for high endurance data storage. I understand we are talking about kilobytes of storage but still they have very small packaging anyway, just use them (the SPI bus FRAM products) by the dozens.

          • heironimus 7 hours ago

            These saved me from a redesign 25 years ago. I had an 8051 with 256 bytes of RAM and a serial EEPROM with limited writes. Replacing the EEPROM with a serial FRAM allowed me to increase the effective RAM. I had to do some tweaking and figuring because it was so much slower. Also, FRAMs had limited writes AND reads, but on the order of billions instead of millions. Billions of reads are a lot, but you still had to be careful.

            • kens 14 hours ago

              Author here if anyone has questions about ferroelectric RAM...

              • throwaway81523 13 hours ago

                FRAM seems great and I wonder why it's not used more. TI has some MSP430 processors that include it, but when they went to the MSP432 (ARM architecture), they said something about a process incompatibility. Some ARM or Risc-V processors with FRAM would be great.

                Any idea what the process issue is? Would you say FRAM is on the decline? Super low powered CMOS ram used to also be a thing, but I haven't seen that in a while either.

                Added: article mentions flash memory is $15/gbit. I guess that is NOR flash? NAND is way way cheaper, more like $15/terabit.

                Another question: is it reasonable to say that FRAM automatically implements secure erasure? Like if you overwrite a cell, can you be sure that the old contents are gone? With flash, you have to worry about stuff like sector remapping other the covers.

                Here's a 4 mbit Adafruit FRAM breakout, out of stock but smaller sizes are available: https://www.adafruit.com/product/4719

                TI MSP430FR5969 development board: https://www.ti.com/tool/MSP-EXP430FR5969 That is a fancy MSP430 processor with 64KB of FRAM and 2KB of regular ram. The board is $16. The regular ram is I think a little bit faster than the FRAM and good for "infinite" write cycles instead of mere trillions, so I guess you need both. They have a few more of these boards including one with 128KB of FRAM if I remember right.

                • kens 13 hours ago

                  The metal ions from the ferroelectric material can contaminate the silicon production line. I read that they would manufacture the silicon die at one facility (i.e. make the transistors) and then do the rest of the fabrication (the ferroelectric material, top metal, etc.) at another facility to avoid contamination. Maybe that's the process incompatibility that you mentioned. I don't know if FRAM is on a decline or will hold on as a niche product.

                  • cushychicken 11 hours ago

                    It’s real popular in the niches that use it. Industrial controls systems really seem to love it.

                    I’ve heard that some real fast control systems like to have it as a recovery method to save state in event of major system hiccups.

                    • throwaway81523 7 hours ago

                      Hmm, thanks, I'm surprised those MSP430 cpus aren't more expensive if their fabrication is that complicated. So it sounds like the ARM designs (I guess basically hard macros from ARM Ltd.?) aren't compatible with that type of process. I wonder if a RISC-V design starting with downloaded HDL would be easier. I hope it happens: FRAM is really cool in concept and I've had a few application ideas where it would be great.

                  • kragen 14 hours ago

                    minor correction: the central atoms in pzt are not zircon but zirconium. zircon is zirconium silicate, the form in which zirconium is almost always found in nature. there is no silicate in pzt

                    also, the atom that can substitute for zirconium in that central position is not lead but titanium. you do explain this in the following sentence, but first you say 'causes the lead or [zirconium] atom to physically move', which is wrong

                    • kens 13 hours ago

                      Thanks, I've fixed those!

                      • kragen 13 hours ago

                        happy to help!

                    • rwmj 14 hours ago

                      Bubble memory next please! It was the next big thing for storage for a brief period in the late 1980s.

                      • MBCook 7 hours ago

                        Oh wow I’d never heard of bubble memory before. That’s crazy.

                        The (in retrospect) strange and complicated things people came up with to store bits before magnetic core got popular and then later silicon wiped the field are so much more interesting than what we’ve got now.

                        I get why silicon won. But it’s just nowhere near as fun as bubble memory, delay lines, or CRTs.

                        • physicsguy 5 hours ago

                          I did my PhD on a purported successor to this - rather than using magnetic bubbles the idea was to use things called Skyrmions which emerge naturally in some materials as either information carriers or to store data in place. In practice it’s never really been taken up by industry for a few different reasons (density, can’t move the skyrmions in a straight line with a current, difficult to read whether one exists or not in a specific place).

                          • kens 13 hours ago

                            Someone gave me a board with bubble memory chips to examine, but when I opened up the chip it turned out to be regular DRAM; they were mistaken about the type of memory.

                          • johnklos 13 hours ago

                            I've always wondered if the ROMs on my VAXstation 4000/90a are ferroelectric. The DEC manuals refer to it as flash ROM, but I've also heard / read it referred to as FRAM, although I couldn't say I remember where or when.

                            But 512KB of FRAM at $3 per megabit would make that pricier than the machine! So I wonder what it has in it instead.

                            Interesting! Thanks :)

                            • kens 13 hours ago

                              It wouldn't make sense to use FRAM for ROM, since the big feature of FRAM is fast write speed. I found one DEC document that says the Flash ROM on one product is the Intel 28F008SA, an 8Mb flash chip. So I expect the VAXstation uses boring flash too, rather than costly FRAM.

                              Link: https://bitsavers.org/pdf/dec/semiconductor/arm/EC-QU5KA-TE_...

                              • sroussey 12 hours ago

                                What would be good for DRAM read speeds, and not care too much write speeds?

                                I’m thinking of keeping an LLM’s weights in a storage RAM, where it would be updated only every few months.

                                • namibj 11 hours ago

                                  DRAM or SLC NAND. Be careful with read-induced disturbance on the latter, though.

                            • aidenn0 12 hours ago

                              Are the parts pin-compatible with parallel sram? I've always thought it would be nice to replace the battery-backed SRAM in old video game cartridges with MRAM or FeRAM

                              • polpo 10 hours ago

                                I’ve replaced battery backed SRAM in several game consoles and other devices with FRAM (Neo Geo CD, Sega Saturn, an HP oscilloscope) and for some it’s drop-in, and in a few you have to bodge some lines.

                                • rbanffy 6 hours ago

                                  Won’t that negatively impact the life expectancy of the device? FRAM is rated for trillions of reads and, if the SRAM is frequently read, a trillion reads isn’t that much.

                                  • formerly_proven 25 minutes ago

                                    >100 trillion reads per location over 30 years still means you gotta read locations at over 100 kHz 24/7. Not good enough for main memory, sufficient even for frequently accessed configuration values.

                                • kens 11 hours ago

                                  The FM1808B and FM1608B might work for you. These are 32Kx8 and 8K×8 FRAM chips with standard SRAM pinouts, in DIP packages. If you don't need a DIP, you have a lot more choices.

                                  • aidenn0 11 hours ago

                                    The SOIC look like they could work as-is in a gameboy, which (thanks to Pokemon) is the most common request for replacing batteries. The DIPs could be made to work in most NES games too, I suspect.

                                • jaygreco 13 hours ago

                                  I have one! Any idea if the PZT cubes are added using the typical photoresist masking/etching or are they placed on die using some other process?

                                  • kens 13 hours ago

                                    From looking at various patents, I believe they put down a layer of PZT and then etch it into cubes with photolithography. Look at the process diagram at the bottom of my article, step 1128.

                                  • anonymousDan 13 hours ago

                                    Any thoughts on how it compares to Intel Optane NVM? Also is there any particular material you envision as a potential successor for it?

                                  • djmips 5 hours ago

                                    Just musing around the word Ferroelectric, I was expecting perhaps something related to iron in the PZT but it's lead, zirconium, titanium, and oxygen. So I learned that Ferromagnetic simply means "iron-like magnetic" and that ferroelectric was coined by analogy to the hysterisis curve of ferromagnets in a magnetic field (MH curve) but in ferroelectric it's an electric field (P-E curve).

                                    • Brian_K_White 11 hours ago

                                      I've been using MRAM instead as soon as I read that the way FRAM works internally is that every read is actually destructive and but written right back after the read.

                                      I don't want that in something that's meant to replace a mask rom.

                                      • therein 8 hours ago

                                        I remember there being some document in which TI describes how this is done atomically at a physical level so there is no way that you can end up losing power and having the read-triggered write fail to complete.

                                      • tonetegeatinst 13 hours ago

                                        I wonder if I could sketch a single fram using klayout. Hmmmm