LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

usb errors while logging to SSD on cRIO 9064

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?

 

 

0 Kudos
Message 1 of 4
(3,522 Views)

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.

Message 2 of 4
(3,491 Views)

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?

0 Kudos
Message 3 of 4
(3,431 Views)

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.

0 Kudos
Message 4 of 4
(3,421 Views)