Our ProtectUSB solutions for content and software are used by many (most?) USB duplication services around the globe. For these services, the solution of choice must come at a reasonable cost, be reliable, fast and must keep manual work at lowest levels.
To achieve this, ProtectUSB is capable of handling large amounts of USB sticks in parallel. For example, the picture you see below shows one of our tests boards, which features 8 USB hubs with 13 ports each (incl. power supplies). After cascading one of these boards result in 99 sticks being written parallel (in this case connected to three USB root hubs - two on board and one a PCI card).
These boards help us a lot when testing on different PCs, because they can easily be carried around and are connected with only four cables (incl. power).
Take two of these boards, and you can handle 198 sticks being written in one pass on one PC. In the event, that an individual stick fails, ProtectUSB’s layout feature allows you to locate the stick in an instant and retry with the next pass or discard it.
To handle such a large number of USB ports/sticks in parallel, it is all important to follow a few basic guidelines. Without them, the process will fail or will slow down significantly.
Below is the list of the recommended best practices. Make sure to follow them and you’ll be happy with the results. Don’t follow them, and you’ll likely run into problems.
General computer software
- Do not run any anti-virus software (this inlcudes out-of-the box solutions as Windows Defender). Disabling is often not enough and uninstalling is highly recommended. Anti-virus software is known to cause system instability issues (especially in connection with USB drives) and causes a huge resource drain when writing to a large amount of USB sticks in parallel.
- Disable power saving schemes of the computer used for writing.
- Disable auto-insert notification (e.g as described here: https://technet.microsoft.com/en-us/library/cc959381.aspx).
- Disable Search Indexer Service
General computer hardware
- You can connect significantly more USB2 devices than USB3 devices. Therefore, if you don’t specifically aim at USB3, it is recommended to use USB2 controllers and USB2 hubs (or USB3 hubs connected with USB2 cables) for the duplication.
- You should keep the USB hub device tree flat by connecting as many hubs as possible directly to the root USB hub instead of “daisy chaining” from one hub to the next.
- One USB root hub can control up to 127 endpoints, which is hubs and USB sticks. Since a physical hub often contains multiple logical hubs and a USB stick usually contains 2 end points, you can connect about 50 USB sticks per root controller for USB2. With USB3 this is a fraction, often about 1/3.
- In addition to the root hub on the motherboard you can add additional USB controller cards. It is no problem to mix different bus types such as PCI-Express or PCI. Note that although these cards may have multiple connections, they still have only one (max. 2) root hubs.
- The computer you use for writing should be well equipped with RAM to be able to cache the source data. Processor speed is less important and even older models generally do fine.
- Use high quality, separately powered USB hubs with as many ports as possible (>10 ports per physical hub is a good number).
- Make sure the hubs you use are stable, preferably hard mounted to a solid underground and the ports are easily accessible (e.g. from the top) as you will insert/remove a large number of sticks.
- Use hubs with LED indications for inserted/active sticks. This way you can directly tell if an inserted stick is working.
- The USB sticks you use are an important (very often dominating) factor for the overall speed.
- Do not change/disconnect hubs as this breaks the physical layout’s pot associations.
- If you switch on power to hubs with inserted sticks, do this one by one and not all at the same time.
- Be aware that the first symptoms of the computer not being able to handle the amount of sticks are random non-working ports. In this case you should reduce the number of ports/sticks and/or change your configuration/components to stabilize the system.
- You need to define a physical layout and map the ports of your hubs to it. This has the following benefits:
- You will get a warning if a port/stick is not detected correctly
- You are able to directly identify a failed stick’s physical location after the write process
- The source data for the duplication should be on a local drive (no network share). This is especially important if you write the data on multiple computers in parallel. This way the network load is reduced and the network does not become a bottle neck.
- Use the verify feature to ensure the data integrity on the sticks.