cancel
Showing results for 
Search instead for 
Did you mean: 

Intel SSD 530 NAND Write Problem

fZhan14
New Contributor II

Hello, everyone:

I bought an Intel SSD 530 120G for my laptop several days ago. It worked well with the OS Win8.1 Pro x64.

When I paid attention to the NAND writes, something make me confused.

The situation is as follow:

The SSD with the OS is the first(primary) Disk, and the HDD is the second one. I have moved the cache of IE, chrome and Firefox to the Hard Drive using IE setting or mklink command, and verified it correctly. With the explorer working, the written data stream from cache is produced in the HDD partition theoretically, also I have got this conclusion through the System's Resource Monitor and the Diskmon from Microsoft website. When I cached several Movies embedded in any explorer without other operation separately, there are lots of written data traffic produced in the HDD partition, and just little data wrote in system disk(SSD), it's no doubt. Finally, each test(using one kind of explorer) improved less than 200Mb in Total Host Writes which is normal for system operating, but this process also consumed about 3Gb SSD's Total NAND writes in total in the CrystalDiskInfo 6.0.1. Also I have got the same result with the newly Intel SSD Toolbox, AIDA64 3.20 and CrystalDiskInfo 6.0.1. In fact, this written data traffic produced by explorer's cache in HDD is calculated into the SSD's total NAND writes.

Actually I'm not care of the SSD's wear, and I'm sure it couldn't reach the limited lifespan with normal usage until next generation product arrives. This accidental discovery confused me now, and the result above make me suspect the theory, Putting IE/Chrome or System cache into other medium/drive saving your SSD's wear.

Q:Here, I want to know what makes this strange condition happen, the drivers, system's bug, bad support for old mainboard, the system's setting&config or the special system log?

Testing condition:

Thinkpad R400(GM45 motherboard)/P8700/8Gb RAM/Intel 530 SSD+Hitachi 7k500/Intel 5300 AGN/Win 8.1 Pro X64 with the Win 8.1's Default config and drivers, except trunning the service Superfetch off mannually.

I could make sure the location of explorer cache(IE, Chrome, Firefox) in HDD, also the written data traffic in HDD, and the vast imprived NAND writes in SSD simultaneously.

Thanks for your help.

154 REPLIES 154

CPop
New Contributor

Windows service that php_monkey shared with us works great.

Wonder why Intel does not implement this workaround for now / until a better solution (if there is any) is found.

QMa3
New Contributor

My two months old SSD 535 has the same issue. Host write is around 400GB while nand write is around 2600GB (powered on around 180 hours); write amplification is around 6.5. Tried php_monkey's tool and it works better now (hats off to php_monkey).

The below document has detailed description about device sleep feature. 530/535 SSD will go to devSleep state if Device Sleep Idle Timeout (DITO) is reached. The actual DITO value is calculated by DITO * (DM + 1), where DM is DITO Multiplier.

http://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/serial-ata-ahci... http://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/serial-ata-ahci...

According to http://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/ssd-535-spec.pdf http://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/ssd-535-spec.pdf

SSD 535 's default DITO value is 375ms and default DM value is 15; thus the default actual DITO value is 375ms * (15 + 1) = 6000ms = 6s.

So by default SSD 535 will go to devSleep state if it is idle for 6 seconds (the above document does state that "For the Intel SSD 535 Series, the recommended total time to DevSleep for system active state is 6 sec."). However, those DITO and DM values could be set by host according to the document.

I could not find any info about how to figure out these two values for my system......

If the actual DTO value is just 6 seconds, we probably can increase the 500ms interval in php_monkey's tool to a bigger value.

CPop
New Contributor

I also read that PDF, not so sure about those 6 seconds. In power management there is this Hard Disk think, AHCI Power Management, can be set to HIPM (Host Initiated Power Management / Device Initiated Power Management). I tried to play with them, in the end as service did the job, I just gave up on looking for any other solution. In order to have these entries in power management I had to play with registry as by default they are not present there.

The high temperature for my SSD is related to something else, not to service I did. Behavior is same with either service (mine or the one php_monkey created), temperature goes high from time to time. (could be intensive logging from Windows 10 Pro I have installed). Anyway I prefere php_monkey's service, as is reading data randomly from SSD (mine was reading same file over and over with a flag to not use cache).

In past 13 days Host writes got from 461 GB to 505 GB while Total NAND Writes got from 1997 GB to 2118 GB. (121 / 44 = 2.75 Write amplification, much better then 33 x - the worse I had).

Powered for some 350 hours.

DLuka1
New Contributor

@php_monkey, thank you for your workaround.

@jonathan_intel, could you pass the following info to firmware team?

  1. According to the Intel specification page 21 (see above for link) DevSleep should be activated after 6000 ms = 375 ms × (15 + 1).
  2. I have tested php_monkey's developed workaround and found that if random 512 bytes are read every 700 ms, background writes do not appear. If 512 bytes are read every 800 ms, background writes appear again.
  3. I suggest that firmware bug is the following: DevSleep multiplier is 1 instead of 15, so DevSleep is activated not after 6000 ms, but after 750 ms = 375 ms × (1 + 1).

Here are some smart logs:

2016-06-05 18:00:00,06

241 Host_Writes_32MiB -O--CK 100 100 000 - 30845

249 NAND_Writes_1GiB -O--CK 100 100 000 - 12085

2016-06-05 19:00:00,04

241 Host_Writes_32MiB -O--CK 100 100 000 - 30945

249 NAND_Writes_1GiB -O--CK 100 100 000 - 12110

2016-06-05 20:00:00,06

241 Host_Writes_32MiB -O--CK 100 100 000 - 30955

249 NAND_Writes_1GiB -O--CK 100 100 000 - 12137

2016-06-05 21:00:00,07

241 Host_Writes_32MiB -O--CK 100 100 000 - 30966

249 NAND_Writes_1GiB -O--CK 100 100 000 - 12164

2016-06-05 22:00:00,05

241 Host_Writes_32MiB -O--CK 100 100 000 - 31018

249 NAND_Writes_1GiB -O--CK 100 100 000 - 12191

2016-06-05 22:09:37,78

241 Host_Writes_32MiB -O--CK 100 100 000 - 31020

249 NAND_Writes_1GiB -O--CK 100 100 000 - 12195

2016-06-05 23:00:00,14

241 Host_Writes_32MiB -O--CK 100 100 000 - 31182

249 NAND_Writes_1GiB -O--CK 100 100 000 - 12215

IIanM
New Contributor II

This issue probably has nothing to do with DevSleep. On my laptop DevSleep is unsupported and DIPM isn't enabled.

However, as mentioned in the above docs, the most common DevSleep multiplier is 1, which means your explanation also makes sense.