SuperSpeed USB and NAND FlashNazia Gadhia
6/20/2012 3:20 AM EDT
There is a trend observed in the market for designing products with SuperSpeed USB and NAND Flash inside. There are camera manufacturers, printer manufacturers as well as FLASH drive manufacturers involved in the trend. It is crucial, at this point of time in the market, to have a proper knowhow on what factors affect such designs and what can be done to achieve a successful and a longlife design.
The typical requirement consists of data coming either from a video streaming device or a camera or a data logging device and stored in the NAND Flash. This is then, to be transferred to and from the SuperSpeed Host using either a mass storage or a streaming protocol.
There is a word in the development community about NAND Flash being the bottleneck for USB performance. Eric Huang has listed the dependencies very interestingly in his blog. I am listing them here.
The USB transfer speed is affected by the following factors:
Number of applications running on the host machine
The speed of the application itself
The quality of the drivers (host as well as device)
The bus on the hardware that moves data from USB controller to CPU (on host as well as device side)
The USB PHY
The USB Cable
In idealized system, as Eric Huang says, the controllers and PHYs can achieve SuperSpeed USB 3.0 speeds of 400 Megabytes per second (or 4 Gigabits per second).
Looking into a non-idealized system, the SLS USB 3.0 Device IP Core tests performed on GigaByte A75 Motherboard have indicated the performance ~2.1Gigabits per second (262.5 Megabytes per second) with mass storage interface and ~2.7Gigabits per second (337.5 Megabytes per second) with raw interface.
Moving further on tests with NAND Flash interface, mass storage performance tests with SLS SuperSpeed IP and ONFI controller IP (without ECC overload) have indicated speed upto 101.5 MBps (812 Mbps).
What does this mean?
Transferring 1 Gb (125MB) data from the flash drive to the PC would take a second, which takes more than 6 seconds at present with USB 2.0 interface and RAM memory
Copying 5Gb (625MB) data from flash drive to PC would take 5 seconds, which is right now taking 31 seconds using USB 2.0 interface and RAM memory
Data that takes 5 minutes to transfer using USB 2.0 interface and RAM at present (6000MB) would be transferred in 48 seconds!
Any thoughts on this are most welcomed...