There are three major components in a mobile phone: CPU, memory DDR, and storage device (EMMC/UFS, etc.). The memory is used to temporarily store the data required for program execution (data is lost when power is off), while the storage device is used to store data permanently (data is not lost when power is off).
On mobile phones, from SD cards to EMMC, and then to UFS cards, the speed of memory cards is getting faster and faster. Now ordinary mobile phones are configured with EMMC, while flagship mobile phones are configured with UFS. It is obvious that UFS will be the mainstream mobile phone storage for some time to come, and speed is the only reason.
The so-called UFS stands for Universal Flash storage. This concept usually represents two meanings:
(1) Mobile phone storage interface protocol, similar to SATA, PCIE/NVME and other concepts;
(2) Storage devices using the protocol;
Compared with EMMC, UFS is much faster, and the most important thing is that its signal is differential transmission, which is the basis of UFS data transmission speed. All high-speed transmission lines, such as SATA, PCie, and SAS, are serial differential signals.
Serial signals can use faster clocks (clock information can be embedded in the data stream) and differential signals, that is, the level difference between the two signal lines is 0 or 1.
Compared with single-ended signal transmission, differential signal has stronger anti-interference ability and can provide wider bandwidth. Secondly, UFS, like PCIE, supports multi-channel data transmission, currently supporting up to two channels. Multi-channel allows UFS to make trade-offs between cost, power consumption and performance.
UFS supports command queues, which means that the host can send many commands at once, and the UFS device supports parallel and out-of-order execution. The one that completes first returns the status first. This command processing method is called asynchronous command processing. Its predecessor, eMMC, does not support command queues. Commands are executed one by one, or in packets (each packet contains several commands). If the previous command is not completed, the subsequent command cannot be sent. This command processing method is called synchronous command processing.
Let's compare the command processing methods and command execution efficiency of "full-duplex + asynchronous command processing" and "half-duplex + synchronous command processing".
Half-duplex + synchronous
The host sends a write command W1 to the device, and then the host writes the data to the device; because it is a synchronous transmission mode, the commands are processed one by one, so before sending the read command R2, the previous write command W1 must be completed; similarly, before sending the write command W3, the R2 command must be completed.
Full-duplex + asynchronous
Because it supports command queues, the host can send several commands to the device at once. As shown in the figure above, the host sends a write command W1 and a read command R2 to the device at once. The device can process these two commands in parallel. Since the protocol supports full-duplex operation, the host transmits the data of the write command W1 to the device at the same time.
The device can also return the data of the read command R2 to the host. The processing of the subsequent commands R3, R4, W5... is similar.
Let's use the example of moving goods to compare the eMMC and UFS command execution methods:
Today's mobile phones have a wide variety of applications. You can play Landlord, listen to music, chat on WeChat, and perform multi-threaded operations. Due to the existence of full-duplex and command queues, the efficiency of UFS in processing commands is greatly improved, giving users an excellent experience.
Earlier we made some comparisons between UFS and eMMC, but I seem to have forgotten what eMMC is. Some people may be confused, what is eMMC?
eMMC, Embedded Multi Media Card, like UFS, is also a mobile storage protocol developed by JEDEC. It is the previous generation protocol standard of UFS.
The latest eMMC standard is eMMC5.1 released in 2015, with a maximum speed of 400MB/s. JEDEC already has UFS, and it is uncertain whether it will release a new eMMC standard. After all, parallel transmission of eMMC is limited by physical signals, so it is unrealistic to expect a qualitative leap in speed.
Previous article:Analysis of wireless audio security technology solutions
Next article:Build a 2x32 Watt Audio Amplifier Circuit Using TDA2050
- Popular Resources
- Popular amplifiers
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- Sn-doped CuO nanostructure-based ethanol gas sensor for real-time drunk driving detection in vehicles
- Design considerations for automotive battery wiring harness
- Do you know all the various motors commonly used in automotive electronics?
- What are the functions of the Internet of Vehicles? What are the uses and benefits of the Internet of Vehicles?
- Power Inverter - A critical safety system for electric vehicles
- Analysis of the information security mechanism of AUTOSAR, the automotive embedded software framework
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- Comparison table of domestic 32-bit MCU and ST, GD compatible models
- Foxconn insider steals iPhone parts and resells them for 300 million yuan, alarming Cook, Apple is investigating
- The impact of water depth on power supply and communications.
- MSP430G2755 Main Memory Bootloader UART Porting Guide
- A simple temperature control circuit to help you understand the circuit diagram
- 【CH579M-R1】3. ADC internal temperature measurement, external channel and touch button test
- How to migrate from GCC Linker to SEGGER Linker in Embedded Studio?
- Based on PSOC6 development board simulation I2C solution X-NUCLEO-IKS01A3 LPS22HH
- 【CH579M-R1】+OTA first experience
- Xunwei i.MX6ULL Terminator to view the real-time value of variables