Not sure how to get Intel to listen, but the freezing problem is caused by a read immediately followed by a write.
I wrote a rough and dirty program that Seeks to a random spot in an existing file, then writes to the same file in the next indexed spot. Crash! every time it locks up.
The index is the size of the buffer used to read/write. Using a 512 Byte Buffer, I Seek to random spot and read the BufferLen, then move the file pointer 512 (BufferLen) Bytes ahead and write the buffer back.
If I add at least a 10 millisecond delay between the read and write it all runs fine.
I tried differing BufferLen but it still crashes. The only thing that stops the freeze is inserting the delay. And, that delay needs to be about 8 to 10 mS minimum. Less than 8 it still freezes.
Have you also tried the routine with another SSD (perhaps a non-Sandforce based) on the same machine to confirm that the outcome is linked to the drive and not the platform?
What chipset/SATA controller does your test machine have?
Do you think it would be possible to make a version of the test program that is safe for general consumption? Perhaps with a bundled dummy test file and the source code included.
I have various Intel* and Samsung SSDs I could run the test on. However, none of my drives (or combinations of drives and mainboard chipsets) suffer from any freezes in daily operation.
*Only one is Sandforce-based, though. A 60GB 520 series.
You mean for example if 1st sector is read and then next (2nd sector) is written to, the freezing occurs?
The solution is increasing delay and could be as well for skipping the next sector to write data too.
I can consistently reproduce the freeze/hang at will using CrystalDiskMark3_0_1c x64 too.
Run random 512K block size test with the tool, test size does't matter.
Reads are all good with ~450MB/s.
For Write, sometimes it can finish 1 or 2 loop with ~150MB/s, and then the hdd led goes off and freeze!!
I have to do hard reset.
Tried everything but no luck....
1. installed latest IRST (before i've done this, random BSOD)
2. disable all CPU C-state in bios
3. enable hot plug of the SATA device in bios
4. registry edit trick
5. disable trim
Would you bother to try my CrystalDiskMark test case also?
The test goes well for me and turning off Windows write-cache buffer flushing did not do anything. I could also try turning off write-caching but I doubt it will do anything.
What registry edit did you perform? Was it about disabling DPMI?