Whenever you buy a computer, you will find that the storage configuration introduction is always different, either pure solid state (SSD) hard drives, or pure mechanical hard drives, or a combination of solid state + mechanical hard drives.
The main difference between the two is that solid-state storage is semiconductor, while mechanical storage is electromagnetic. The maximum reading speed of solid state drives is 400-600MB/s, while the maximum reading speed of mechanical hard drives does not exceed 200MB/s.
Although the speed of SSD is much faster than that of mechanical hard disk, it has a more serious problem, that is, after using it for a long time, the speed will obviously decrease. What is the actual cause?
First, we must first understand the basic concepts of SSD. Solid-state hard drives refer to hard drives made of solid-state electronic memory chip arrays. It consists of a control unit and a storage unit.
At present, solid-state hard drives on the market are divided into two categories. The first category uses flash memory (FLASH chips) as the storage medium, and the second category uses DRAM as the storage medium.
Solid-state hard drives that based on flash memory are also commonly known as SSDs. This kind of hard disk has a wide range of applications. Notebook hard disks, USB Flash, memory cards, etc. are all SSDs.
SSD is mainly composed of main control, flash memory and cache. Among them, flash memory plays a key role, because it is the flash memory particle responsible for storing data, and largely determines the performance life of SSD.
Flash memory refers to a form of electronically erasable programmable read-only memory that allows memory to be erased or written multiple times during operation.
There are currently four types of flash memory particles, namely SLC, MLC, TLC, and QLC. A SLC flash memory cell can only store 1 bit of data, in other words, it can only store one 0 or one 1, a total of two states. An MLC flash memory cell can store 2 bits of data, 0 and 1 can be permuted and combined, with four states of 00, 01, 10, and 11. By analogy, QLC is the latest flash memory particle, its storage capacity is 8 times that of SLC, 0 and 1 can form 16 states.
Although the flash memory capacity of SSD is increasing, the erasing and writing times have decreased. This also means that the service life of the SSD is shortened. Compared with QLC, the service life of SLC is 100 times longer.
In addition to flash memory, SSD interfaces are also divided into four categories, they are SATA, mSATA, M.2 and PCI-E.
SATA is a kind of computer bus. There are three specifications, SATA, 1.5Gbit/s, SATA 3Gbit/s, and SATA 6Gbit/s, respectively. The reading and writing speed are 150MB/s, 300MB/s, and 600MB/s, respectively, which are suitable for almost all desktops and notebooks.
mSATA is a mini version of SATA interface. It has two specifications: M50 msata and M30 msata. The reading speed and writing speeds are both 520MB/s. It is mainly suitable for ultrabooks, such as Lenovo's E220s, E420s, Y460, etc.
M.2 is a new interface specification introduced by Intel to replace mSATA. It has two types: Socket 2 and Socket 3. The maximum reading speed of Socket 2 can reach 700MB/s, while the theoretical bandwidth of Socket 3 can reach 4GB/s. Socket 2 is suitable for some low-end notebooks, while Socket 3 is almost suitable for all newly listed desktop motherboards and mid-to-high-end notebooks.
PCI-E is a high-speed serial computer bus. It has 5 versions, from 1.0 to the latest 5.0. The reading speed and writing speeds are 250MB/s, 500MB/s, 984.6MB/s, 1969MB/s, and 3938MB/s, respectively. It is applicable to almost all desktop computers.
To sum up, the different SSD flash memory particles have different reading speed, writing speed, and erase times. The larger the capacity of the flash memory, the more limited the service life. The difference in the SSD interface directly affects the reading speed and writing speed.
However, the above two reasons affect the speed of the SSD before use. The reasons for the decrease in speed after use are mainly divided into two aspects: write amplification (WA) and garbage collection (GC).
WA is an undesirable phenomenon in flash memory and SSD, that is, the actual amount of physical data written is many times larger than real amount. Because the FLASH chip needs to be erased and then rewritten, it needs to read the entire document where the target data is located and buffer it in the buffer, then overwrite the data you want to rewrite to the buffer, and finally write the buffer to another document. So, even if you only update one byte, you actually write 4KB of data to the FLASH chip. This also caused the phenomenon of doubling the size of the files written to the SSD, resulting in smaller and smaller hard disk capacity and lower writing speed.
GC is when there is no more blank document that can be written directly in the FLASH chip, JVW (java virtual machine) will call the garbage collection mechanism to reclaim the memory space. GC will look for the discarded or deleted manuscript in the FLASH chip, and then erase the manuscript to store your new data, but because the erasing unit of GC and FLASH is inconsistent, the writing is done according to the manuscript, and the erase is done according to the Block file type. There are 16 manuscripts in one Block, so when the GC finds one manuscript, it actually needs to move the remaining 15 files in the Block to another place first to modify the manuscript. Therefore, when you update 1 byte, there are actually 16 documents written in the background. The size of one document is only 4KB, but the size of 16 documents are 64KB. This will reduce the capacity of the SSD exponentially, resulting in a decrease in writing speed.
Garbage collection principle map
4 pages of data. Write A to D into Block X
Write 4 new page E to F. Rewrite page A to D. Mark them as A+~D+. Redirect LBA to new address. Former A-D lose efficiency.
If you need to write new data on former A to D page, you need to wipe them first. The main controller transport data, write them on Block Y and then wipe Block X so it could be used again.
To put it simple, when your SSD stores more data, there will be fewer blank documents. In order to make extra space, GC will look for discarded documents. As that becomes more frequent, the speed of the SSD will naturally be slower.
In addition, GC does not dispatch when you need to write data. Even if the SSD is idle, it will operate quietly and reserve some space in advance.
So how to avoid SSD slowing down due to excessive data storage?
Manufacturers formulate different solutions according to the SSD level. For example, the entry-level SSD reserves a part of the space by reducing the available capacity to prevent the SSD from being completely filled. The most intuitive example is that some computers have a storage capacity of 512GB, but only 480GB can be used.
For mid-to-high-end SSDs, they will be additionally equipped with cache to reduce write amplification. Like Samsung 970 PRO NVMe M.2 1T, it is equipped with 4GB of cache capacity.
Users can reduce write amplification through functional mechanisms such as 4K alignment, Trim commands, and wear leveling.
In order to further confirm whether the speed is really affected when the SSD capacity is full, we conducted a test.
Before the test, the remaining capacity of the SSD of the MacBook Air (2018 model) was 71.58GB. The reading speed and writing speed tested by Disk Speed Test was 1832MB/s and 492.1MB/s, respectively.
Next, we need to reduce the available capacity of the computer, reserve 9.02GB of space, and then measure the speed of the SSD again. At this time, the writing speed of the SSD becomes 448.2MB/s, and the reading speed is 1791MB/s.
Comparing with the previous set of data, you will find that as the available capacity of the SSD decreases, both the writing speed and the reading speed decrease.
After testing on the PC side, let's take a look at the mobile side. MoFirLee has an iPhone 11 with a capacity of 64GB. The remaining capacity of the hard disk is 27.2GB. The hard disk writing speed measured by DiskBench are 201.7MB/s, 142.1MB/s, and 135.2MB/s, with an average writing speed of 159.7 MB/s. The tested reading speed are 360.6MB/s, 485.9MB/s, and 387.1MB/s, with an average reading speed of 411.2MB/s.
After the available capacity of the mobile hard disk shrinks to 1.17GB, the writing speed are 183.7MB/s, 159.6MB/s, and 195.5MB/s, with an average writing speed of 160.6MB/s, the reading speed are 609.7MB/s, 610.3MB/s, 510.6MB/s, with an average reading speed of 510.7MB/s.
Compared with the previous set of data, the writing speed of the hard disk tested for the first time has indeed decreased, but the second and third data set are faster than the previous one, and the reading speed are all faster than the previous set. This may due to the main control algorithm and optimization, so the measured data is different.
The final conclusion is that when the available capacity of the SSD becomes smaller, the writing speed and reading speed will decrease, but in fact the main control may have other optimization or control measures to solve these problems Also different algorithms may result in differences.
Nowadays, 8 words can be used to describe the situation of SSD. There is a kind of recession called progress. The SSDs currently on the market have more advanced process technology, but shorter lifespan, in exchange for faster speed. It can be seen from the sideway that manufacturers have chosen to sacrifice something when existing technologies cannot break through.
Before use, the factors that affect the speed of the SSD include flash memory particles, interface type, quality of the main control, and upgrade firmware. When SSDs are put into use, write amplification, garbage collection mechanisms, and poor storage habits are the main reasons that affect the speed of SSDs. Although a good SSD is fast, the service life will be reduced and the price will be higher. Inexpensive SSDs have average speeds but have a longer service life. As for how to choose, it depends entirely on personal needs.
In order to avoid the problem of slower the speed due to insufficient available capacity, it is best to back up all the data on each hard drive, and then do a 4K alignment. If you just bought a computer and the hard disk type is solid, you can perform advanced formatting of the SSD before use. In this way, the speed of your SSD will not drop so easily.