Thread: Memory Cells on my Memory Modules

  1. #1
    Set Apart -- jrahhali's Avatar
    Join Date
    Nov 2002
    Posts
    256

    Memory Cells on my Memory Modules

    I am trying to understand how bits are wrote to and read from memory chips. I understand semiconductors, though I don't seem to have a full grip on what a transistor, diode, and capasitors are, and cannot relate how the three work together to make up a memory cell. I can't seem to complete this story by myself, and so, like always, turn to the heroic cboard team!
    The following is what I have compiled through a bit of reading and some imagination. Please, correct me on anything, and add to!

    A memory cell has three pins: input, select, and output. In order for the cell to retain a voltage, recognizable by its ouput pin, both the select and input pins have to be supplied with a similar voltage at exactly the same time. Once either of the voltages leaves, or leaves as a whole, the cell loses its voltage, and the cell now supplies no voltage to the output pin: a binary 0.

    Here, I cannot go further. These are my problems: since there are thousands of memory cells in a chip, how can each one have a 'pin'. my solution is that, each chip has wires running vertically and horizontally through them (the input and select pins respectivally?), and when they meet, turn 'on' a cell. These are the metal 'legs' that appear on the chip. Am i wrong here? Which brings me to another problem. Nowadays, there are billions of cells in a single chip. if the above explination was true, could there be THAT many vert. and hor. wires running through the chips? Is there another explination, because the most 'legs' i see on one of my chips is around 32, on any one side.

    Secondly, the above was how they chips got written to. How are the actually READ, in relationship with the output pin?
    Thirdly, and a follow up to the second quetion just above, many chips have wire 'legs' on all their 4 sides. why the extra 2? does current run through the first 2 (select and input) and out the other 2? are the other two the output? How is that actually READ?
    On the other hand, some chips only have a pair of 'legs,' along 2 opposite sides. How does this work?

    Lengthy, but hopefully someone will find it enjoyable to help. Thank you.
    Clear the mines from our Shazbot!
    Get the enemy Shazbot!

  2. #2
    Registered User
    Join Date
    Sep 2004
    Location
    California
    Posts
    3,268
    Memory is usually stored via components like latches and flip-flops. These are made up of simple logic gates like NAND or NOR gates with a feedback connection. Do a google search on these, and you should get plenty of information.

    In order for the cell to retain a voltage, recognizable by its ouput pin, both the select and input pins have to be supplied with a similar voltage at exactly the same time.
    No, not at all. A cell should be able to retain it's voltage level without its input being high. Take a RS flip-flop for instance: If both R and S are low, then its output stays constant at either high or low. Send a high pulse on S will set the flip-flop's output. Send a high pulse on R will clear the output. The only constant voltage that a memory cell needs is the voltage necessary to power the NOR gates themselves.

    These are my problems: since there are thousands of memory cells in a chip, how can each one have a 'pin'
    They don't have a pin in the sense that they have a pin-out from the component itself. They just have an output from each cell.

    These are the metal 'legs' that appear on the chip. Am i wrong here?
    Yes, you are wrong. Each memory cell does not have a pin which serves as an output from the chip. Sets of cell's values are set and retreived in parallel from whatever the memory chip is connected to. The chip as a whole has select bits which tell the chip which memory cells are being accessed.

    How are the actually READ, in relationship with the output pin?
    Chips are read the same way they are written to. Then is a single select line to the chip which tells the chip whether the bits are being read from, or written to. When the bit is set to WE (write enable), then the chip's output value is undefined, and it is up to the mainboard to ignore it. When the chip's WE is not set, then the chip's output is set properly and read by the mainboard.

    Thirdly, and a follow up to the second quetion just above, many chips have wire 'legs' on all their 4 sides. why the extra 2?
    I can't really answer this. There are many different implementations of memory. My advice to you is to learn how a flip-flop works. Then figure out how you can string multiple flipflops in a row to create memory. Then all you need is some logic surrounding the flip-flops to select certain flip-flops to read/write data. Think of it as a giant multiplexor.

  3. #3
    Set Apart -- jrahhali's Avatar
    Join Date
    Nov 2002
    Posts
    256
    bithub, thank a lot for pointing me in the right direction! This is interesting and fun!
    Clear the mines from our Shazbot!
    Get the enemy Shazbot!

  4. #4
    Set Apart -- jrahhali's Avatar
    Join Date
    Nov 2002
    Posts
    256
    Cool. For anyone else coming across this thread and wanting to know how ram *really* works, on a transistor/circuit level, here are two links your should read fully in order. Man! That's interesting!

    1) http://www.spsu.edu/cs/faculty/bbrown/web_lectures/
    2) http://www.geocities.com/SiliconVall...2/ramworks.htm

    The first one lays the foundation of circuits, and how switches work. Then goes into explaining transistors, as well as amplifier, AND, OR, NOT, NOR, and NAND gates, and how they work with transitors to produce an output. It even has a really cool 800k program you can download that let's you create your own electrical circuits and test them! cool! Very interactive, and good for novices.

    the second url assumes you have a knoweldge on the logic gates (which is explaned in the first) and explains how RAM works by explaining a SR latch first, then a D flip flop, and so on.

    thank again to bithub for directing me!
    Last edited by jrahhali; 02-03-2006 at 09:45 PM.
    Clear the mines from our Shazbot!
    Get the enemy Shazbot!

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. tools for finding memory leaks
    By stanlvw in forum C++ Programming
    Replies: 4
    Last Post: 04-03-2009, 11:41 AM
  2. Replies: 4
    Last Post: 01-13-2008, 02:14 AM
  3. Question regarding Memory Leak
    By clegs in forum C++ Programming
    Replies: 29
    Last Post: 12-07-2007, 01:57 AM
  4. Memory problem with Borland C 3.1
    By AZ1699 in forum C Programming
    Replies: 16
    Last Post: 11-16-2007, 11:22 AM
  5. Shared Memory - shmget questions
    By hendler in forum C Programming
    Replies: 1
    Last Post: 11-29-2005, 02:15 AM