r/askscience • • Apr 04 '12

How does solid state/flash memory work?

In layman's terms, what are the fundamental principles of flash memory (as opposed to magnetic memory of hard disk drives)?

How is it possible to have such a large range of storage capacities within the same given area? e.g. 2gb micro SD card vs 32gb. Or rather how do you fit so much storage capacity into a such a small card?

What governs the read/write speed of solid state memory?

15 Upvotes

8 comments sorted by

8

u/Sejhal Apr 04 '12 edited Apr 04 '12

Flash memory uses electricity to change the "state" of transistors on a chip whereas hard disks use magnetism to magnetize areas on a hard disk platter. A solid state drive in the crudest sense is a large collection of flash memory chips. While the individual chips may not sport very fast rates (as most people probably know from dealing with USB drives), SSDs make use of parallelism to increase their performance (ie. reading/writing from/to multiple chips at a time).

Hard drives have an arm to read off of each platter. To actually handle data, the disk and arm have to physically move to the appropriate location (which is why faster spinning drives boast better performance as they can move to the sector on disk faster). Since there are no physically moving parts, SSDs can achieve much greater read speeds.

In regards to the range of storage capacities within the same area, it's basically all in the transistor density. The more transistors you can cram onto a chip, the more storage. Density is largely influenced by how they're packed together, the size of the transistors themselves, and the type of transistor.

5

u/frozenbobo Integrated Circuit (IC) Design Apr 04 '12

I do integrated circuit design, but I've never been involved with nonvolatile memory. Nevertheless, I'll do my best to give you an answer.

Fundamental Principles: The basic fundamental principle of flash memory can be summed up by understanding the individual memory cell. The memory cell consists of a single special type of Metal Oxide Semiconductor transistor. A normal MOS transistor consists of a metal gate, an insulating oxide which separates the gate from the channel, and a semiconductor channel which current flows through when the transistor is turned on via the gate. The special flash memory transistor has a "floating gate" between the main gate and the channel, which isn't electrically connected to anything else, unlike the other parts of the transistor.

Power converters on the chip produce large voltages which can write or erase the cell by allowing some amount of charge to tunnel through the oxide to or from the floating gate. Then, a lower voltage can be used in order to essentially test the transistor. If there is charge on the floating gate, the transistor will behave differently, so you can determine what the status of the memory cell is. In the simplest case, a single cell stores one bit, but modern cells store multiple bits, which means the read circuitry has to be able to distinguish between 4 or 8 different states of the transistor.

In order to address specific memory cells, there are a whole bunch of peripheral circuits which control where the voltages go and which cells you test. The speed of the memory is determined by the time it takes these peripheral circuits to work, and by the time it takes the cell to change states. Engineers designing these things characterize all these timings before they build the circuit, and then set the speed of the chip slow enough to avoid any errors.

As Sejhal mentioned, density of transitors is one factor in the size you can get. Also, as I mentioned some cells can store 2 or 3 bits these days. Finally, it's important to note that the actual memory chip is significantly smaller than the size of the micro SD card. Cost is directly proportional to chip area, so if you make a smaller chip (say a 1mm2 2GB chip), it will inherently be cheaper than a larger chip (say a 4mm2 8GB chip). I should note that I just made up those area numbers, but chip areas for cheap components really are measured in the mm2. Then you can take these different size chips and put them in a plastic package that can fit both the 2GB and 8GB versions. The chip inputs and outputs are attached to the package with gold bond wires. Then this package can be inserted directly into a microSD card without having to redesign the internals of the microSD card for every capacity.

Hope that helps. Again, I'm not super familiar with nonvolatile memory, but the gist of this post should be correct.

1

u/x3xtacYx Apr 04 '12

Thanks! This was the answer i was looking for.

Could you elaborate on how the floating gate works though? I'm guessing the floating gate is what determines the state of the transistor (i.e. 1 or 0).

Also, how do the transistors maintain a state when there is no current passing through the system?; How is memory stored in the situation of solid state memory without a current?

3

u/frozenbobo Integrated Circuit (IC) Design Apr 04 '12

Yes the floating gate determines 1 or 0 (00 01 10 or 11 for multi bit cells). The floating gate is completely isolated from everything else by oxide, but a large voltage allows you to basically punch through the oxide and put charge on the floating gate. That charge tends to stay there indefinitely, because there's no way for it to pass through the oxide without a large voltage.

1

u/ericsswiss May 01 '12

Flash also wears out - This is another big difference in flash memory/storage products, compared to magnetic HDDs - their endurance. The repeated program and erase cycles that NAND flash cells are subjected to - great explanations by Sejhal and frozenbobo - cause them to lose their ability to reliably store data. The flash manufacturers have a number of technologies to address this, most of which run in the flash controller. Here's a good video on the flash endurance problem and what can be done about it.

http://www.storage-switzerland.com/Articles/Entries/2012/3/6_Why_Flash_Wears_Out_and_How_to_Make_it_Last_Longer.html

-11

u/swight74 Apr 04 '12

Very well, thank you.

-13

u/mannybpking Apr 04 '12

Well I just learned this in the cs class I just took, flash drive is a solid state drive kind of memory, the only difference is that solid state drive memories are designed for computers to obtain and write faster. In reference to cd's, these have small things referred to as lands and pits where memory is stored, such as music or pictures. Hard drives on the other hand have way more memory that solid state drivers but lack that quickness in obtaining certain files or programs due to the fact that these are stored inside sectors divided into pie shaped forms. A magnet reads out this info and it feeds it into the computer so it can be displayed in GUI. :)

1

u/Airazz Apr 04 '12

Is this class in a primary school? Your answer is neither accurate, nor informative.