So, the computer’s RAM, which is also called volatile. She – DRAM (Dynamic Random Access Memory) – dynamic random access memory or random access memory, in abbreviated form – RAM.
Let’s see why it is called that way? While the computer is in operation, all data and programs that are running while the user is working are stored in RAM. The word “volatile” in relation to memory means only that when the system unit is turned off (shut down), the computer’s RAM is reset. All its contents disappear.
There is also non-volatile memory – this is the hard drive of your computer, because the data on it is saved even after turning off the power.
“Dynamic memory with random access”: access (access) to its different cells occurs in an arbitrary order and at different points in time, hence the definition. But with the word “dynamic” the situation is more complicated. Let’s figure it out!
The smallest unit of the structure of the computer’s RAM is a cell. An array of closely spaced cells is combined into conditional rectangular tables called matrices. The horizontal rulers of such a matrix are called rows, and the vertical columns. The entire matrix rectangle is called “page”, and the collection of pages is called a bank. All these things are a bit virtual, in the sense that, for example, a “bank” can be called a whole DIMM module or a separate part of it (memory chips located on one side of it).
In any case, a diagram of the structure of the computer’s RAM (its fragment) can be seen in the picture below:
Scheme of the structure of random access memory
As we have said, the smallest unit at the physical level is a cell. The cell consists of one micro-capacitor (indicated in the diagram above as C) and three transistors (VT). The capacitor stores a small charge, and transistors act as “keys”, which, on the one hand, do not allow the capacitor to drain spontaneously, and on the other hand, allow / prohibit access to the capacitor for reading or changing.
Each capacitor can store the smallest unit of information – one bit of data. If the capacitor is charged, then, according to the binary number system used in computers, it is a logical “unit”, if there is no charge, it is a logical “zero” and there is no data.
In theory, the RAM operation organization scheme looks beautiful, but there are no ideal solutions, and in practice, developers have to deal with the fact that the charge leaves the capacitor quickly enough or its partial spontaneous discharge occurs (the position and the “keys” do not save), so there is nothing else way out, how to recharge it periodically. How often? A few dozen times per second! And this despite the fact that there are several million such capacitors in one memory chip!
As a result, the state of the entire memory should be constantly read and updated again in a short period of time (otherwise, all its data will simply disappear). That is why it was called “dynamic”, meaning its dynamic automatic update or regeneration. In the photo above we can see its special blocks that are responsible for this function.
It is also necessary to take into account that the reading process in DRAM is destructive: after accessing any cell, its capacitor is discharged and in order not to lose the data contained in it, the capacitor needs to be charged again. The second “surprise” is that, due to design features, the row / column address decoder gives the command to read not one specific cell, but the entire row (or column) at once. The read data is completely stored in the data buffer and then the data requested by the application are already selected from them. After that, you immediately need to recharge a number of cells!
Although it may seem that the process of regeneration (renewal) is somewhat chaotic, but it is not. The controller of random access memory at regular intervals takes a strictly regulated technological pause and at this time conducts a full cycle of regeneration of all data.
Once I read a good phrase: “Dynamic memory can be compared to a leaky bucket. If it is not constantly replenished, then all the water will flow out! ”Something conditionally similar happens in the situation with DRAM. Naturally, all these additional commands and charge-discharge cycles lead to additional delays in operation and are not a sign of high efficiency of the final product. So why can’t you come up with something more effective? Can! And it has already been invented – static random access memory (SRAM – Static Random Access Memory).
Static memory is much faster than dynamic by switching triggers and does not need regeneration. It is successfully used in building CPU caches and in frame buffers of discrete graphics cards.