Programs for checking ssd for errors. Programs for checking SSD disks for errors and speed

We all know that SSD drives do not have the problems that were typical for classic HDDs and they do not have bad sectors, broken magnetic heads, or surface defects. But solid-state drives are not immortal either; they have their own parameters that need to be monitored: the state of memory cells, the number of rewrite cycles, etc. How to check the status of an SSD disk and monitor its performance?! Very simple! There are special programs for this, which I will talk about now.

In my opinion, everyone who has a solid state drive installed on their computer or laptop should have the program installed SSD Life Free to check the disk status.

For the average user, the capabilities of the free version are more than enough. The utility shows the total operating time of the SSD drive, the number of starts and the current state of the device. A huge number of disks from different manufacturers and models are supported - from old to the most modern. Unfortunately, this application only has access to S.M.A.R.T diagnostic data in the Pro version.

But don’t be discouraged here either - real heroes always take a detour! Another program for checking and testing an SSD disk will help us, which is called SSD-Z and absolutely free! This software is suitable for more advanced users, as it provides more information and opportunities.

Open the tab S.M.A.R.T. and look at the available information. It also displays the total operating time of the device in hours, a counter for the number of starts, rewrite cycles, errors, etc. By the way, on the tab Benchmark You can test the current speed parameters of your SSD.

In this article you will learn how to find out the main characteristics of solid-state drives, as well as how to test them. For this operation, we took the SSD-Z utility, which we will review today. It is free and has useful features in its arsenal. You can download it immediately from here.

When you first launch the program, many users will immediately say that it is similar to or other similar utilities, and yes it is, so it will be easier for them to understand it.

On the tab Device shows all disk information. Now I will explain each point presented, this is for those who do not know English.

  • Device name – name of the solid-state drive;
  • Firmware - ;
  • Serial Number – serial number;
  • Controller – controller used in the disk;
  • Technology – production technology;
  • Сells – type of memory cells used;
  • Launch Date – drive creation date;
  • TRIM – Availability;
  • Capabilities – technologies supported in SSD;
  • Interface – interface through which the disk is connected;
  • SMART – disk status;
  • Temperature – current disk temperature;
  • POH – operating time;
  • Capacity – disk capacity;
  • Bytes Written – byte written;
  • Volumes – drive letter;
  • Partitions – partition type ();
  • Sector Size – size of one sector.

This is interesting:

As you can see, there are a lot of parameters and this is only on one tab. All information is important and may be useful in some situations. Of course, if the utility database contains your drive model, then the information will certainly be found. Unfortunately, it will not be possible to recognize information about the newly released disc. Although there are utilities that take information from the system and other sources for absolutely any drive.

Checking the SSD Status

I already wrote an article about how this program has a similar function and it’s called S.M.A.R.T. I will write more about this technology, so stay tuned for updates on the site.

In this section you will find information on read errors, disk operating time, temperature and other useful information. Of course, when using the utility you will get much more information.

When you go to a tab Partitions we receive data about the partitions and disks that exist on the computer. To select another disk, you need to select it at the bottom of the program.

SSD speed testing

The SSD-Z utility also has an SSD speed testing function. It is located on the tab Benchmark. Since the program is still raw, it is better not to expect objective information from the results.

The remaining tabs do not provide particularly useful information. I think the program is not bad and it still has room for improvement. It would not be bad if all the functions were organized in the best possible way and collected in one place, so as not to use several programs.

Epigraph

“Never trust a computer that you can’t throw out the window.”
Steve Wozniak

Two months ago I installed an SSD drive in my laptop. It worked great, but last week it suddenly died due to cell depletion (I believe). This article is about how it happened and what I did wrong.

Description of the environment

  • User: Web developer. That is, such things as virtual machines, eclipse, and frequent updates of repositories are in use.
  • OS: Gentoo. That is, the world is often “reassembled.”
  • FS: ext4. That is, a journal is being written.

So, the story begins in April, when I finally got around to copying the partitions to a 64GB SSD broom, purchased back in September. I deliberately do not disclose the manufacturer and model, because I haven’t really figured out what happened yet, and it doesn’t really matter.

What did I do to make it work longer?

Of course, I studied numerous publications on how to take care of SSD drives. And this is what I did:
  • Put noatime for partitions, so that when accessing a file, the record of the last access time is not updated.
  • I increased the RAM to maximum and disabled swap.
I didn’t do anything else, because I believed that the computer should serve the user, and not vice versa, and unnecessary dancing with a tambourine is wrong.

S.M.A.R.T.

Three days before the fall, I became concerned with the question: how do I know how much happiness I have? I tried the utility smartmontools, but it displayed incorrect information. I had to download Datasheet and write a patch for them.
After writing the patch, I dug up one interesting parameter: average_number_of_erases/maximum_number_of_erases = 35000/45000. But after reading that MLC cells can only withstand 10,000 cycles, I decided that these parameters did not mean exactly what I thought they meant, and I gave up on them.

Chronicle of the fall

Suddenly, inexplicable things began to happen while working, for example, new programs did not start. Out of curiosity, I looked at that same S.M.A.R.T. parameter, it was already 37000/50000 (+2000/5000 in three days). It was no longer possible to restart; the file system of the main partition could not be read.
I started from the compact and started checking. The check showed a lot of broken nodes. During the repair process, the utility began testing for bad sectors and marking them. It all ended the next day with the following result: 60GB of 64GB were marked as bad.
Note: In SSD hard drives, a cell is considered broken if new information cannot be written there. Reading from such a cell will still be possible. Using this, run the utility badblocks in read-only mode, it is unlikely to find anything.

I decided to run the flashing utility, because it not only flashes, but also reformats the disk. The utility started formatting, groaned and reported that the reasonable permissible number of bad sectors had been exceeded, and that there were failures, so it was not possible to complete the formatting.
After this, the disk began to be identified as a disk with a very strange name, model number and size of 4GB. And, in the future, no one sees it except for specialized utilities.
I wrote a letter in support of the manufacturer. They recommended that I reflash it, and if it doesn’t work, then return it to the seller. The warranty is still 2 years old, so I'll give it a try.
I conclude this section with thanks to Steve Wozniak, who taught me how to make periodic backups.

What happened

To be honest, I don’t know myself. I assume the following: S.M.A.R.T. I didn’t lie and the cells were really worn out (this is indirectly confirmed by the backup that I made two days before the fall; when unpacking it showed that the creation dates of some files had been reset). And when checking for bad sectors, the disk controller simply allowed all cells to be marked as bad, in which the permissible number of write cycles was exceeded.

What to do if you have an SSD

Windows
Install Windows 7, everything is optimized for such disks as much as possible. Also install a lot of RAM.
MacOs
Most likely, only those computers that will be immediately sold with SSD are optimized.
FreeBSD
Install 9.0. Read tips for Linux, think about what you can do with them.
Linux
  • Install kernel 2.6.33, which has optimization for such disks in the form of the TRIM command.
  • Increase memory so that you can safely disable swap.
  • Set for mounted partitions noatime.
  • Used a copy-on-write file system or an unjournaled file system (such as ext2).
    At the moment, copy-on-write FS is quite difficult to use. ZFS currently only works through FUSE. And nilfs and btrfs swear when mounting that their format has not yet been finalized.
  • Turn on NOOP IO Scheduler it will allow you not to perform unnecessary useless actions for the SSD.
  • Conceptually correct, but it will not help the disk much - transferring temporary files to tmpfs.
  • For systems that intensively write to the log, it should be stored in a different location. This is mainly true for servers for which the log server can be raised without problems.
  • Get S.M.A.R.T. utilities that correctly display the state of the SSD disk, so that you can periodically monitor the disk.
  • Just spare the disk. And for the gentushniks, this additionally means not “reassembling the world.”

Questions for the habra community

  • Is it really possible to kill MLC cells in 2 months? Of course, I understand that I didn’t spare the disk, but I didn’t do anything supernatural, I just worked as usual.
  • Is this a warranty case?

UPD: The disk I had was Transcend TS64GSSD25S-M.
UPD2: There are very good reviews in the comments about Intel and SAMSUNG SSDs. In addition, people are surprised how it is possible to kill an SSD with a broom so quickly. Believe me, I was perplexed in exactly the same way. However, it is possible that this is a hastily tailored SSD series and can be killed quickly.
UPD3: In the comments and

There is an opinion that one of the most significant disadvantages of solid-state drives is their finite and, moreover, relatively low reliability. Indeed, due to the limited resource of flash memory, which is caused by the gradual degradation of its semiconductor structure, any SSD sooner or later loses its ability to store information. The question of when this can happen remains key for many users, so many buyers, when choosing drives, are guided not so much by their performance as by reliability indicators. Manufacturers themselves add fuel to the fire of doubts, who, for marketing reasons, stipulate relatively low volumes of permitted recording in the warranty conditions for their consumer products.

However, in practice, mass-produced solid-state drives demonstrate more than sufficient reliability so that they can be trusted to store user data. An experiment that showed the absence of real reasons for worrying about the finiteness of their resource was conducted some time ago by the website TechReport. They carried out a test that showed that, despite all the doubts, the endurance of the SSD has already increased so much that you don’t have to think about it at all. As part of the experiment, it was practically confirmed that most models of consumer drives are capable of transferring records of about 1 PB of information before they fail, and especially successful models, like the Samsung 840 Pro, remain alive after digesting 2 PB of data. Such recording volumes are practically unattainable in a conventional personal computer, so the lifespan of a solid-state drive simply cannot come to an end before it becomes completely obsolete and is replaced by a new model.

However, this testing failed to convince skeptics. The fact is that it was carried out in 2013-2014, when solid-state drives built on the basis of planar MLC NAND, which is manufactured using a 25-nm process technology, were in use. Such memory before its degradation is capable of withstanding about 3000-5000 programming-erasing cycles, but now completely different technologies are in use. Today, flash memory with a three-bit cell has come to mass-produced SSD models, and modern planar technological processes use a resolution of 15-16 nm. At the same time, flash memory with a fundamentally new three-dimensional structure is becoming widespread. Any of these factors can radically change the reliability situation, and in total, modern flash memory promises only a resource of 500-1500 rewrite cycles. Are drives deteriorating along with memory, and do we need to start worrying about their reliability again?

Most likely no. The fact is that along with changes in semiconductor technologies, there is a continuous improvement of controllers that control flash memory. They introduce more advanced algorithms that should compensate for the changes occurring in NAND. And, as manufacturers promise, current SSD models are at least as reliable as their predecessors. But objective grounds for doubt still remain. Indeed, on a psychological level, drives based on the old 25-nm MLC NAND with 3000 rewrite cycles look much more solid than modern SSD models with 15/16-nm TLC NAND, which, all other things being equal, can guarantee only 500 rewrite cycles. The increasingly popular TLC 3D NAND, which, although produced according to higher technological standards, is also subject to stronger mutual influence of cells, is also not very encouraging.

Taking all this into account, we decided to conduct our own experiment, which would allow us to determine what kind of endurance can be guaranteed by current drive models based on the currently most popular types of flash memory.

Controllers decide

The finite lifespan of drives built on flash memory has not surprised anyone for a long time. Everyone has long been accustomed to the fact that one of the characteristics of NAND memory is a guaranteed number of rewrite cycles, after exceeding which the cells can begin to distort information or simply fail. This is explained by the very principle of operation of such a memory, which is based on capturing electrons and storing charge inside a floating gate. The change in cell states occurs due to the application of relatively high voltages to the floating gate, due to which electrons overcome a thin layer of dielectric in one direction or the other and are retained in the cell.

Semiconductor structure of a NAND cell

However, this movement of electrons is akin to breakdown - it gradually wears out the insulating material, and ultimately this leads to a breakdown of the entire semiconductor structure. In addition, there is a second problem that entails the gradual deterioration of cell performance - when tunneling occurs, electrons can get stuck in the dielectric layer, preventing the correct recognition of the charge stored in the floating gate. All this means that the moment when flash memory cells stop working normally is inevitable. New technological processes only aggravate the problem: with decreasing production standards, the dielectric layer only becomes thinner, which reduces its resistance to negative influences.

However, to say that there is a direct relationship between the resource of flash memory cells and the life expectancy of modern SSDs would not be entirely correct. The operation of a solid state drive is not a straightforward process of writing and reading to flash memory cells. The fact is that NAND memory has a rather complex organization and special approaches are required to interact with it. Cells are organized into pages, and pages are organized into blocks. Writing data is only possible to blank pages, but in order to clear a page, the entire block must be reset. This means that writing, or even worse, changing data, turns into a complex multi-step process, including reading the page, changing it and re-writing it to free space, which must first be cleared. Moreover, preparing free space is a separate headache, requiring “garbage collection” - the formation and cleaning of blocks from pages that have already been used, but have become irrelevant.

Scheme of operation of flash memory of a solid-state drive

As a result, the actual volume of writes to flash memory may differ significantly from the volume of operations initiated by the user. For example, changing even one byte can entail not only writing an entire page, but even the need to rewrite several pages at once to first free a clean block.

The ratio between the amount of writes performed by the user and the actual load on the flash memory is called write gain. This coefficient is almost always higher than one, and in some cases it is much higher. However, modern controllers, through buffering operations and other intelligent approaches, have learned to effectively reduce write amplification. Technologies useful for extending the life of cells, such as SLC caching and wear leveling, have become widespread. On the one hand, they transfer a small part of the memory into a sparing SLC mode and use it to consolidate small disparate operations. On the other hand, they make the load on the memory array more uniform, preventing unnecessary multiple rewrites of the same area. As a result, storing the same amount of user data on two different drives from the point of view of the flash memory array can cause completely different loads - it all depends on the algorithms used by the controller and firmware in each specific case.

There is another side: garbage collection and TRIM technologies, which, in order to improve performance, pre-prepare clean blocks of flash memory pages and therefore can transfer data from place to place without any user intervention, make an additional and significant contribution to the wear of the NAND array . But the specific implementation of these technologies also largely depends on the controller, so the differences in how SSDs manage their own flash memory resources can be significant here too.

Ultimately, all this means that the practical reliability of two different drives with the same flash memory can differ very noticeably only due to different internal algorithms and optimizations. Therefore, when talking about the resource of a modern SSD, you need to understand that this parameter is determined not only and not so much by the endurance of the memory cells, but by how carefully the controller handles them.

The operating algorithms of SSD controllers are constantly being improved. Developers are not only trying to optimize the volume of write operations in flash memory, but are also introducing more efficient methods of digital signal processing and read error correction. In addition, some of them resort to allocating a large reserve area on the SSD, due to which the load on the NAND cells is further reduced. All this also affects the resource. Thus, SSD manufacturers have a lot of leverage in their hands to influence what final endurance their product will demonstrate, and flash memory resource is only one of the parameters in this equation. This is precisely why conducting endurance tests on modern SSDs is of such interest: despite the widespread introduction of NAND memory with relatively low endurance, current models do not necessarily have to be less reliable than their predecessors. Progress in controllers and the operating methods they use is quite capable of compensating for the flimsiness of modern flash memory. And this is precisely why the study of current consumer SSDs is interesting. Compared to SSDs of previous generations, only one thing remains unchanged: the resource of solid-state drives is finite in any case. But how it has changed in recent years is precisely what our testing should show.

Testing methodology

The essence of SSD endurance testing is very simple: you need to continuously rewrite data in the drives, trying to practically establish the limit of their endurance. However, a simple linear recording does not quite meet the purpose of testing. In the previous section, we talked about the fact that modern drives have a whole bunch of technologies aimed at reducing the write amplification factor, and in addition, they perform garbage collection and wear leveling procedures differently, and also react differently to the TRIM operating system command . That is why the most correct approach is to interact with the SSD through the file system with an approximate repetition of the profile of real operations. Only then can we get a result that ordinary users can consider as a guide.

Therefore, in our endurance test we use drives formatted with the NTFS file system, on which two types of files are continuously and alternately created: small - with a random size from 1 to 128 KB and large - with a random size from 128 KB to 10 MB. During the test, these randomly filled files are multiplied until more than 12 GB of free space remains on the drive; when this threshold is reached, all created files are deleted, a short pause is made, and the process is repeated again. In addition, the tested drives simultaneously contain a third type of file - permanent. Such files with a total volume of 16 GB are not involved in the erase-rewrite process, but are used to check the correct operation of the drives and the stable readability of the stored information: each cycle of filling the SSD, we check the checksum of these files and compare it with a reference, pre-calculated value.

The described test scenario is reproduced by the special program Anvil’s Storage Utilities version 1.1.0; the status of drives is monitored using the CrystalDiskInfo utility version 7.0.2. The test system is a computer with an ASUS B150M Pro Gaming motherboard, a Core i5-6600 processor with integrated Intel HD Graphics 530 and 8 GB DDR4-2133 SDRAM. Drives with a SATA interface are connected to the SATA 6 Gb/s controller built into the motherboard chipset and operate in AHCI mode. The driver used is Intel Rapid Storage Technology (RST) 14.8.0.1042.

The list of SSD models taking part in our experiment currently includes more than five dozen items:

  1. (AGAMMIXS11-240GT-C, firmware SVN139B);
  2. ADATA XPG SX950 (ASX950SS-240GM-C, firmware Q0125A);
  3. ADATA Ultimate SU700 256 GB (ASU700SS-256GT-C, firmware B170428a);
  4. (ASU800SS-256GT-C, firmware P0801A);
  5. (ASU900SS-512GM-C, firmware P1026A);
  6. Crucial BX500 240 GB (CT240BX500SSD1, firmware M6CR013);
  7. Crucial MX300 275 GB (CT275MX300SSD1, firmware M0CR021);
  8. (CT250MX500SSD1, firmware M3CR010);
  9. GOODRAM CX300 240 GB ( SSDPR-CX300-240, firmware SBFM71.0);
  10. (SSDPR-IRIDPRO-240, firmware SAFM22.3);
  11. (SSDPED1D280GAX1, firmware E2010325);
  12. (SSDSC2KW256G8, firmware LHF002C);