Originally posted by: Idontcare
Originally posted by: coolVariable
Originally posted by: Idontcare
Well you have to consider what causes stutter. Stutter is induced by overloading the internal buffers when attempting to write small files to random address locations in the media (be it SSD or spindle drive).
http://www.anandtech.com/cpuch...howdoc.aspx?i=3403&p=9
On SSD's with MLC chips the way the controller handles the cache buffer being entirely filled with write requests is it times out on any addressing any further additional requests (be they read or large file write, etc) until the myriad of small files are written.
Spindle-drives for whatever reason handle this situation more gracefully, so while you get lower 4KB random writes with spindle drives (BTW my 500GB 7200rpm
Hitachi scores ~1.6MB/s) you do not get stutter.
What this particular benchmark is doing for us is giving us information as to how well a given drive handles small file random writes. The thinking is that the better it handles them (the higher the bandwidth results) the less likely it is that the drive will ever end up in a situation where the internal cache is overloaded and the drive starts to stutter.
So basically higher is better, all else being equal. So if you have the choice between an Apex drive with say 5 MB/s of 4KB random write performance versus a G.Skill SSD which has 3 MB/s of 4KB random write performance then going with the OCZ in this example would increase your odds of not experiencing stutter with the SSD in your rig.
It's just a proxy for gauging likelihood of stutter. Intel drives with 40MB/s bandwidth at 4KB random writes appears to be the holy-grail. We want cheaper drives from OCZ, Samsung, Corsair, etc to get their 4KB/s random write performance up to this level and we should feel reasonably confident at that point that there won't be any more stuttering to be concerned about.
I would say you are 90% there to a correct answer.
The difference being that intel drives and Samsung drives don't choke or time out on random writes. Only the jmicron controllers seem to be doing that (intel and samsung found a way around the issue).
OCZ is in fact one of the worst offenders concerning random writes and most people would be happy to get 5MB/s or even 3MB/s out of them.
The g.skill titan and the apex try to circumvent the issue by having 2 controllers ... giving you more random writes per second but still not addressing the issue ... which is why people still see stuttering, if somewhat less.
If stuttering is caused by a cache buffer getting filled then you have two ways to address it - increase the size of the cache buffer (this is what raid cards with dedicated cache effectively accomplish) or increase the aggregate write speed to the media so the flush rate on the cache is likely to be high enough to avoid cases where the cache is overloaded.
I am arguing that measuring 4KB random write bandwidth is giving us a gauge for how fast the system is handling flushing the cache. Higher 4KB random writes means the cache is being emptied at a faster rate, meaning for a given usage environment the user is less likely to overwhelm the cache on-board.
To my knowledge this is not a specific issue of the Jmicron controller, it is a specific issue of the underlying storage medium. MLC flash. What Intel and Samsung have done is increase the cache size (less likely to become fully filled) and increased the intelligence of the algorithms that handle preparing MLC cells for writes in advance (staging hidden capacity to be used, etc).
So I still believe that when it comes to gauging the propensity for a given SSD to induce stuttering, 4KB random write bandwidth is precisely the metric we want the drive to be evaluated with.
Based on this metric, and user reports thus far, it would appear that common desktop environments do not generate a small-file random write sequence that will overload the buffer on Intel's and Samsung's SSDs when the buffer flush rate (bandwidth of writing to the media) are taken into account. This minimum necessary bandwidth appears to be somewhere between 25MB/s and 40MB/s as determined by the 4KB/s random write benchmark of the crystaldiskmark program.
I have no doubt that a person could code a program that generated such a volume of small file random write sequences that even Intel's and Samsung's SSD buffers would be overwhelmed and stuttering would transpire unless the small file random write bandwidth were higher, say 60MB/s for example. But it would appear at present time the typical apps that desktop users are using do not cross this threshold, as such Intel and Samsung SSD's appear to be incapable of stuttering. There is a difference between not being able to stutter (as in physical/electrical impossibility) versus being engineered to not likely have stuttering in real-world usage environments (cache size and write bandwidth to the underlying storage media).