Memory Circuits - PatternAgents/Electronics_One_Workshop GitHub Wiki

Volatile and Non-Volatile Memory

Volatile Memory is memory that needs to have power to function(to remember), where Non-Volatile Memory is able to remember and retain it's contents without power.

Most computer memory systems use Volatile Memory as their main memory system, and they store a copy of that main memory on a hard disk or other Non-Volatile Memory when they go to sleep or hibernate. Most computer systems systems also contain some Non-Volatile Memory, which they use to tell them what to do when they first get powered on. This Non-Volatile Memory usually contains the BIOS (Basic Input Output System), that tells the computer how to read it's hard disk, and how to "Boot" the system.

Non-Volatile Memory types include Flash Memory, EEPROM, SDCards, FRAM, and NVSRAM. Most microcontrollers have some small amount of Non-Volatile Memory, typically Flash Memory.

mem

So what do some of these memory acronyms mean?

  • RAM Random Access Memory, reads and writes, typically volatile.
  • ROM Read-Only-Memory, non-volatile.

Then we have subtypes, that usually are based on a different manufacturing process.

  • OTP One-Time Programmable, you can write it exactly once, better get it right!
  • UV Erases with Ultraviolet Light
  • S or D Static or Dynamic(which needs to be "refreshed")
  • F Ferrous - uses magnetic fields
  • M Magnetic - a different variety of magnetic storage
  • P Phase Change Memory

As we get into more complex components, or chips, you will notice that their schematic symbols are usually just a simple box or rectangle, with each of the pins labeled. In order to determine the function, you'll need to refer to the Data Sheet for the actual component. Each component's function can be found by referencing the Data Sheet for that part number. Check below if you would like some good tutorials about reading a Data Sheet.

memsym

Bits, Nibbles, Bytes, and more

A bit, also known as a Shannon, is the basic unit of information in computing and digital communications. A bit can have only one of two values, and may therefore be physically implemented with a two-state device. These values are most commonly represented as either a 0 or 1 (or LOW & HIGH, or FALSE and TRUE, etc.). The term bit is a portmanteau of binary digit.

The byte is a unit of digital information that consists of eight bits.

Bite

Lookup Tables

A telephone directory book is a large Lookup Table, we access the phone number by looking up the person's name. In a electronic lookup table, we program a memory to hold some function, and we use the address of the memory to access that function.

Lookup Tables are very useful for creating functions using just basic components. For example, we can program a memory to act as a Lookup Table for a Sine Wave function, an alternating current waveform.

sinewave

The amount of memory we can devote to holding a function, and the maximum speed we can read out that memory will determine how accurately we can create any arbitrary function. Below you can see graphically how different a higher precision (16-bit) lookup table is from the blocky approximation of a low precision (3-bit) lookup table.

digiwave

If we wanted to produce a Sine Waveform, we would just need to count out the locations of the Lookup Tables in order, and send them to a Digital-to-Analog converter, which converts the raw digital numbers into an output voltage.

DAC

This was exactly how early digital drum machines, like the Linn Drum and the Drumulator worked to make those great drum sounds of the '80's.

Next ->


Further (Links)