user7908: I know that it is possible to write data in ROM(Read Only Memory).
But what about if I want to write data in RAM(Random Access Memory)?
Can I do it using "Arduino Uno R3"?
RAM is normally associated with volatile types of memory.
There are several examples about writing data in EEPROM as in a (Read Only Memory) which may have 8 pins.
In order to store values read from analog input 0 into the EEPROM we need to use the "EEPROM.write()" function.
These values will stay in the EEPROM when the board is turned off and may be retrieved later by another sketch.
ROM is a Non-volatile type memory.
SD card is also Non-volatile type of memory.
We know that there are few SD card shields for "Arduino Uno" and it is possible create your own shields.       
But what about volatile types of memory?
what about if I want to write data in RAM like a "DDR SDRAM" or in a DDR3 memory which may have 240 pins instead of 8 pins?
So my question is is it possible to write data in "DDR SDRAM" using "Arduiono Uno R3"?
How? Where should I connect those 240 pins?           

user10394: The easiest way to read and write DDR SRAM would be to install it in a PC and write a serial server that allowed the Arduino to access the data by requesting it over the serial port.  
Now although that is possible to do, the performance probably won't be great.  So it might be worth looking into memory that interfaces over SPI or IIC, there are several ICs that you could use.  Most of them would have libraries already available and you would be looking at about £1 per 256kbits.
But like it has been said above if you are looking at storing multi-GBs of data then you probably want SD cards.  If the write speed is going to be a problem then look at multiplexing the data over many SD cards.

user368: DRAM of any kind requires a memory controller which is not present in any AVR device. Larger AVR devices such as the ATmega64A and ATmega128A do have an external memory bus that can be used for SRAM and MMIO.

user297: Your program is already using the on board RAM:
int a = 5; // This is RAM. Where did you think it goes? (This might go to a CPU Reg)
int a[5000]; // This is RAM

DDR3 RAMs require (typically) 1633 MHz clocks, and store gigabytes of data, not something you use with Arduino, which has a 16 MHz CPU. 
If you need EXTRA (emphasis on extra) RAM, my first advice would be to refactor your project, and reduce processing on Arduino.
However, if must have more RAM, get SRAM. In most cases, DDR3 trade high maintenance for cost. Have a look here.

7908: <p>I know that it is possible to write data in <a href="https://en.wikipedia.org/wiki/Read-only_memory" rel="nofollow">ROM</a>(Read Only Memory).<br>
But what about if I want to write data in <a href="https://en.wikipedia.org/wiki/Random-access_memory" rel="nofollow">RAM</a>(Random Access Memory)?<br>
Can I do it using "Arduino Uno R3"?<br>
RAM is normally associated with <a href="https://en.wikipedia.org/wiki/Volatile_memory" rel="nofollow">volatile</a> types of memory.</p>

<p>There are several examples about writing data in <a href="https://en.wikipedia.org/wiki/EEPROM" rel="nofollow">EEPROM</a> as in a (Read Only Memory) which may have 8 pins.<br>
In order to store values read from analog input 0 into the EEPROM we need to use the "EEPROM.write()" function.<br>
These values will stay in the EEPROM when the board is turned off and may be retrieved later by another sketch.<br>
ROM is a <a href="https://en.wikipedia.org/wiki/Non-volatile_memory" rel="nofollow">Non-volatile</a> type memory.<br>
SD card is also Non-volatile type of memory.<br>
We know that there are few SD card shields for "Arduino Uno" and it is possible create your own shields.       </p>

<p>But what about volatile types of memory?<br>
what about if I want to write data in RAM like a "<a href="https://en.wikipedia.org/wiki/DDR_SDRAM" rel="nofollow">DDR SDRAM</a>" or in a DDR3 memory which may have 240 pins instead of 8 pins?<br>
So my question is is it possible to write data in "DDR SDRAM" using "Arduiono Uno R3"?<br>
How? Where should I connect those 240 pins?           </p>
 10394: <p>The easiest way to read and write DDR SRAM would be to install it in a PC and write a serial server that allowed the Arduino to access the data by requesting it over the serial port.  </p>

<p>Now although that is possible to do, the performance probably won't be great.  So it might be worth looking into memory that interfaces over SPI or IIC, there are several ICs that you could use.  Most of them would have libraries already available and you would be looking at about £1 per 256kbits.</p>

<p>But like it has been said above if you are looking at storing multi-GBs of data then you probably want SD cards.  If the write speed is going to be a problem then look at multiplexing the data over many SD cards.</p>
 368: <p>DRAM of any kind requires a memory controller which is not present in any AVR device. Larger AVR devices such as the <a href="http://www.atmel.com/devices/ATMEGA64A.aspx" rel="nofollow">ATmega64A</a> and <a href="http://www.atmel.com/devices/ATMEGA128A.aspx" rel="nofollow">ATmega128A</a> do have an external memory bus that can be used for SRAM and MMIO.</p>
 297: <p>Your program is already using the on board RAM:</p>

<pre class="lang-c++ prettyprint-override"><code>int a = 5; // This is RAM. Where did you think it goes? (This might go to a CPU Reg)
int a[5000]; // This is RAM
</code></pre>

<p><strong>DDR3 RAMs</strong> require (typically) <code>1633 MHz</code> clocks, and store gigabytes of data, not something you use with Arduino, which has a <code>16 MHz</code> CPU. </p>

<p>If you need <strong>EXTRA</strong> (emphasis on extra) <code>RAM</code>, my first advice would be to refactor your project, and reduce processing on <em>Arduino</em>.</p>

<p>However, if must have more <code>RAM</code>, get <code>SRAM</code>. In most cases, <code>DDR3</code> trade high maintenance for cost. Have a look <a href="http://playground.arduino.cc/Main/SpiRAM" rel="nofollow">here</a>.</p>
