Excellent answerer on the topic of central processing unit (CPU).hard disk ssd
At this time,bulk ssd hard drives SSD OEM hard disk ssd this article is inevitably suspected of rubbing hot spots. But as a graduate student in computer architecture, my curiosity can’t be suppressed when these terms are flying around, and I want to explore these technologies. This article does not review a particular event, but only analyzes and compares these three technologies from a technical point of view. hard disk ssd Even if it is used as its own technical reserve + science popularization.
First of all, these three technologies belong to different kinds of flash memory , the differences are mainly in the controller, interface standards and the lower level of Flash chip standards. Their main role in systems such as computers/mobile phones is as storage devices(storage)/file systems. (Note that although they are also called memory, they are completely different from the memory of the memory)hard disk ssd
In the past, the main storage devices in computer systems were mechanical disks, which were slow to access, large in size,【hard disk ssd】high in power consumption, and very sensitive to vibration, so it was difficult to use in miniaturized mobile devices. After the emergence of Flash Memory, because there were no moving parts, it almost perfectly solved the various problems of the above mechanical hard disks, so it was quickly widely used in various mobile devices. (Of course, flash write operations and longevity issues are also more complicated, but this is not the focus of this article) and Flash-based SSD hard disks generally perform better than traditional mechanical hard disks, so they have become the mainstream storage devices for PCs/servers.
So since SSD, eMMC, and UFS are all Flash, what is the difference between them?
To understand the difference between them, first understand the problems they solve.
The main role of an SSD is to replace the HDD hard disk on a PC/server, which requires:
- Large capacity (100 GB ~ TB level)
- Extremely high parallelism improves performance
- It is not sensitive to power consumption, volume, etc. requirements
- Compatible with existing interface technologies (SATA, PCI, etc.)
EMMC and UFS, on the other hand, were invented primarily for mobile devices, requiring:
- Appropriate capacity
- Proper performance
- Extremely sensitive to power consumption, volume requirements
- Only a certain interface standard needs to be followed (explained later)
In order to intuitively feel the difference, I just found a PCIe SSD, as shown in the following figure, the black chip on it is Flash:
I took down another phone, and the Flash chip inside it looked like this (the biggest black chip in the middle):
See the difference? (The articles i wrote before were stolen by people, so I had to code the picture, forgive me)
An SSD, in order to achieve high parallel and high performance requirements, there are multiple Flash chips, so that independent read and write operations can be performed on each chip, in parallelism to improve hard disk throughput, but also to increase redundant backups. In order to save space and power consumption in mobile phones, there is usually only one Flash chip with higher density.
Managing a Flash chip, and managing multiple Flash chips, the strategy is definitely different, so their controllers are completely different. And the PC needs to be compatible with SATA or PCIe or m2 interface, so that when your computer hard disk is broken, you can unplug it and replace it with another hard disk with the same interface. Most of the Flash chips on the mobile phone are directly soldered on the motherboard, basically do not need to consider the replacement problem, so as long as you follow a specific standard, you can communicate with the CPU normally. Therefore, the difference in interface is also one of the important differences between SSD and eMMC, UFS.hard disk ssd
Well, the difference between SSD and (eMMC, UFS) is over, let’s talk about the difference between eMMC and UFS that many people may be concerned about.
Both eMMC and UFS are standards for mobile Flash, except that their interface technologies are very different.
eMMC is an earlier technology, the full name is embedded MultiMedia Card, why is e alone lowercase? Because there is an MMC first. The so-called MMC, you may not have heard of it but may have seen it, the camera is used more, and the SD card looks very similar (the previous picture is mistaken, thanks for the reminder in the comments).
MMC has been preceded by an epimedided, mainly to highlight that the device is now emmbedded on the board. Like MMC, eMMC inherits an 8-bit parallel interface. In the era of low transmission rates, this interface is sufficient. However, as devices demand more and more bandwidth from interfaces, it becomes increasingly difficult to increase the rate of parallel interfaces. The latest 5.1 standard theory of eMMC can reach a maximum of 400 MB/s, and it is not impossible to increase the frequency further, but it may not be cost-effective.
Fortunately, in recent years, the tide of interface serialization has been vigorous. The so-called interface serialization, in simple terms, engineers have found that instead of using a relatively wide parallel interface to transmit at a lower rate, it seems more cost-effective to use a serial interface to transmit at a very high rate (bandwidth, power, cost and other aspects of the comprehensive consideration). So at this time, UFS came into being, replacing the parallel interface with a high-speed serial interface, and it is also full-duplex, that is, it can read and write at the same time. Therefore, compared with eMMC, the theoretical performance of UFS is much improved, and it can even reach the level of some SSDs. You can intuitively feel it in the following figure, the blue is UFS, the red is eMMC, of course, the higher the better:
(Image from [1] Micron’s documentation)
Finally, you may be more concerned about a question: I designed a system that uses UFS, and then sadly found that there is no UFS to use, so can I directly change to eMMC?
The answer is no, because the UFS and eMMC interfaces are completely incompatible, and the controller is not universal. The following two diagrams are the interfaces of eMMC and UFS (image quoted from [2][3] JEDEC standard).
Even in the schematic, you can see the obvious difference between the two. The eMMC has two buses that transmit instruction data inputs and outputs, and because it is a parallel bus, there are additional data strobes. UFS, on the other hand, has two differential data lanes, and both instructions and data are sent in the form of packets. Not to mention that the electrical characteristics of the signal lines of the two are also very different. These will directly lead to very different controller and circuit designs for the control side (CPU side) SoC.
Therefore, the SoC and circuit board of a system must be redesigned to replace the UFS with eMMC, which is not as simple as changing a Flash chip on the production line, and it has to go through a long period of design and testing. Otherwise, if you want to come up with an alternative quickly, I am afraid that you will have to design a compatible two sets of solutions from the beginning, well.
—————————————————
There is a lot of discussion in the industry in the comments, and we can probably draw the following new conclusions:
A SoC can be designed to be compatible with both standards.
Correspondingly, the board can also be compatible with two standards with one solution, or even use two different solutions, but the cost is not high.
The software drivers of the two schemes are also different.
—————————————————-
[1] UFS is here, and it’s very fast!
[2] JEDEC-JESD84-B51
[3] JEDEC-JESD220Cbulk ssd hard drives SSD OEMhard disk ssd