06-28-2016 07:38 PM - edited 06-28-2016 08:07 PM
We're getting occasional errors logging sample data to SSD.
The error we're getting shows up in /var/local/natinst/log/kern.log as in the attached.
Our hardware setup is a 500GB Samsung EVO 850 SSD connected to the USB port of the cRIO 9064 via Startech SATA-to-USB3.0 cable
We're logging approximately 120kB/s to disk in the form of TDMS files.
We've got about 20 - 25 systems in 24/7 operation with this same setup and across these we typically get two or three of these events per week. Most if not all systems have had this issue at least once. There's no obvious pattern to the failures.
Occasionally we've noticed data corruption on the disk following these errors. This suggests to me the issue is not with our code, since to my knowledge Labview doesn't provide low level access through its VIs that would let one break filesystems or corrupt drive data. We're using all off-the-shelf VIs for file IO.
I'm guessing this is a hardware issue or USB driver/compatibility problem. One theory I have is that the drive is generally receiving sufficient current from the USB bus but under certain heavy load conditions falls short and these errors are the result. Any other theories?
06-29-2016 11:49 AM
It looks like this is a power issue.
According to the product page for your SSD, http://www.samsung.com/us/computer/memory-storage/MZ-75E500B/AM, the average power consumption and max power consumption is 3.1W and 3.6W, respectively.
The cRIO 9064 has a USB 2.0 port, http://www.ni.com/pdf/manuals/376901a_02.pdf.
USB 2.0 has a max current output of .5 A and max voltage output of 5 V. Thus, the max power a USB 2.0 port can supply or handle is 2.5 W. This is quite below what your SSD is looking for.
Thus, it seems that you are just reaching this limit every once and awhile leading to this error.
Essentially, you need to power the SSDs externally because they need USB 3.0 specs which don't come with your cRIO. USB 3.0 can handle .9 A and 5 V, so 4.5 W which would be able to handle the power needs of your SSD.
07-07-2016 10:25 AM
Thanks. I've investigated some solutions that should address this if in fact it is a power issue (powered USB hub, or a USB Y-cable to draw additional power from another source)
What I'd ideally like is to find a test which will reliabily reproduce the issue so I can have confidence that my solution solves it. So far I've tried stress testing the drive by writing and reading to it as fast as possible, but to no avail.
Another thing I could do is to leech current from the USB supply by way of a parallel resistor to ground.
Any other ideas?
07-07-2016 01:30 PM
You might try tracking when the drives get this error with your setup. This way you can see what state you were in when the lose of communication occured. Then try reproducing this state and see if you can regularly reproduce this issue.
I would also try draining the power from the hard drives and see the drives stop communication at a specific power level?
You also may try reaching out to Samsung support to see if they have any more information on the hard drive side of things. They may be able to give you a better idea on the power constriants of the hard disks.