How to Obtain the Maximum Performance through your Memory Card Readers

By ProGrade Digital | March 17, 2020

ProGrade Digital prides itself in providing the most reliable and fastest memory cards and workflow readers in the industry. All of our readers have a minimum of a USB3.2/3.1 Gen2 interface, which is capable of maximum theoretical speeds of 10Gb/s that is equivalent to 1,250MB/s. Due to some overhead in operating systems however, the realistic expectation should be no more than 700MB/s – 900MB/s depending on the operating system and processor that resides in the computer.

It should be noted that the fastest SD and CFast cards available in the market have maximum read speed of 300MB/s and 550MB/s respectively. Their speed clearly falls within the 700MB/s – 900MB/s speed that our dual-slot card readers with a USB3.2/3.1 Gen 2 interface are capable of.

Note: ProGrade Digital’s dual-slot card reader is able to combine the speed of each individual card together due to a Multi-IN capability support. This capability prevents the slower card (i.e. SD) to not be the bottleneck for the faster card (i.e. CFast) to communicate with the host/computer since the communications for both cards is being transmitted through one cable. This capability exists from the introduction of USB 3.1 Gen2 standard but must be designed-in to both computer and devices that support multiple devices within them, such as all of ProGrade Digital’s dual-slot readers or hubs that one may be using today in their workflow environment.

Since the introduction of the first ProGrade reader to the market, we occasionally get calls from customers who have purchased our readers indicating that they are not getting the type of speed that they expected to get from the reader. Our support team starts asking questions about the customer’s equipment to identify the weakest link since a chain is only as strong as the weakest link.

As you can see in Fig. 1 below, the throughput of this water piping system is limited by the middle section with the smallest diameter that controls the water flow. No increase in throughput can be obtained in this system by increasing the diameter of the pipe after the bottleneck.

The same concept holds true in electronic devices. In a typical workflow, one may have a memory card inserted into a reader that is connected through a cable to a hub that is subsequently connected through another cable to a port in the computer that may have a hard drive or a Solid State Drive (SSD) as an internal storage device. Alternatively, the storage device could reside externally through another cable to a port to the computer directly or going through the same hub that the reader is connected to.

The memory card, reader, cable, hub, computer and its internal/external drives, and their internal/external ports of each of these devices could be represented as one of the segments in the pipe example that we showed earlier and as illustrated in Fig. 2.

It goes without saying that the ideal set up is one where every link/pipe throughout the chain has the same pipe diameter/speed as the widest pipe/fastest speed in the chain as illustrated in Fig.3 below.

ProGrade Digital’s card readers are designed from ground up to at least support a USB 3.2/3.1 Gen2 speed (10Gb/s) with Multi-IN capability in our dual-slot readers to ensure concurrent read from both cards without impacting and slowing down the maximum throughput possible from the reader. In addition, we include a USB C-C and USB C-A cable that have been tested to ensure they are capable of transferring the data at the same speed that the reader is capable of. Last but not least, all of ProGrade Digital cards show the maximum read speed on their labels.

Any other devices to the right of the Cable in Fig. 3 falls within the user’s workflow environment. If a hub is used within that environment, the user should make sure that the hub supports the following:

  1. The interface to the hub is capable of USB 3.2/3.1 Gen 2 speed
  2. The hub supports Multi-IN capabilities of USB 3.1+ Gen2 just in case other devices are connected to it and it’s being used at the same time

Note: Please be aware that the maximum throughput in the hub even with Multi-IN support is still limited to maximum speed of the host/computer interface that the hub is connected to and if multiple readers are connected to the same hub and are being used at the same time.

When it comes to the computer that is connected to the reader directly or to the hub, make sure the hub or the reader is connected to its USB 3.2/3.1 Gen2 port. If the computer only supports USB 3.1 Gen1/USB 3.0 speed (5Gbps), realistically you may only get maximum of 350MB/s – 450MB/s through that port. This means you will still be okay to read the fastest SD card at 300MB/s. But if you have a dual-slot reader with two SD slots or combination of CFast/CF and SD slots, then the maximum throughput will be limited to 350MB/s – 450MB/s.

Last but not least, even if you have a USB 3.2/3.1 Gen2 port on your computer, the storage device and its interface (PATA, SATA) is the last link in the chain. If you have a typical 7200 RPM hard drive in your computer, then the read speed will be limited to the write speed of the hard drive which could be in the range of 80MB/s – 160MB/s. However, if you have a consumer Solid State Drive (SSD) that typically comes with SATA, PCIe interfaces, they provide much faster throughput for your write and reads.

It should be noted that both hard drives and SSDs have a high-speed cache/DRAM within them to allow the incoming data to be read/cached extremely fast for better user experience before the data is written into the hard drive or flash in case of SSDs. But that cache is very limited in size (typically no more than 2GB) and if the data that the user is transferring is in multiple GB size, that cache will get full really fast and the speed will be dropped to the maximum speed of hard drive or flash within the SSD as we will show in examples below.

With introduction of new CFexpress memory cards in the market that offer read speeds in excess of 1600MB/s, professional photographers now have the opportunity to optimize their workflow environment that was not imaginable a few years ago. However as shown in Fig 1, a chain is only as strong as the weakest link. Due to the fact that USB 3.2/3.1 Gen2 is only capable of 700MB/s – 900MB/s throughput, ProGrade decided to introduce a CFexpress/XQD card reader with a Thunderbolt3 (TB3) interface that is capable of up 40Gbps or 5000MB/s. This has eliminated the bottleneck from card and reader for CFexpress card to mostly the speed of the internal SSD drives of the computers that have a TB3 port in them.

While most of the new laptops and computers have an internal SSD with a PCIe (M.2) interface in them, majority if not all of them are not able of sustaining sequential speeds of 1600MB/s through the internal SSD of the computer. After a short period of time reading the data between 700MB/s – 1600MB/s (depending on SSD type and its interface) filling up their internal cache, their performance drops to the lowest denominator media in that SSD depending on if MLC or TLC or QLC flash is used in them.

Below is a list of tests that were performed leveraging ProGrade Digital’s 325GB Cobalt CFexpress card with read speed of 1600MB/s, and a ProGrade Digital CFexpress reader with USB 3.2/3.1 Gen 2 interface and/or the latest CFexpress/XQD reader with a TB3 interface. The same 20GB data that contained various sizes of videos within the folder was used in all the tests. In addition, the same USB 3.2/3.1 Gen2 cable or TB3 cable was used for consistency of the results to illustrate the point behind this article.

Test 1:

325GB CFexpress card, TB3 Reader, TB3 enabled desktop computer with Windows 10, and another CFexpress 325GB Cobalt (limited to 2 lanes of PCIe) as internal storage leveraging an Add-In-Card (AIC) adaptor. CFexpress Cobalt was used because it is the fastest CFexpress card in the world when it comes to write speed leveraging SLC flash instead of other SSDs that may use slower MLC, TLC or even QLC flash.

The results of this test scenario are shown in Fig. 4 below. As you can see while the cards can run up to 1600MB/s and the internal storage is capable of minimum sustained write of 1300MB/s, due to the computer overhead, we are able to read the content of this card consistently at around 1200MB/s. Even though this is a great result to obtain, nevertheless, in this case the bottleneck is the speed of internal storage. With an SSD with 4 lanes of PCIe, we should get as close as maximum 1600MB/s read speed.

Test 2:

In this case, we keep everything same as Test 1 except that we use the actual internal SSD of the computer

As you can see in Fig. 5, below, the initial speed of the internal SSD is great and similar to Test 1 when the data is being written into the SSD’s internal cache/DRAM. However, when that cache gets full and the SSD tries to transfer that cached data to flash, then the performance drops to around 300MB/s as seen in Fig.6. SSD vendors always advertise their performance based on the performance of the cached area (i.e. Fig. 5). They never advertise the performance for writing 20GB of data in one shot. At the end of the day, unless you are a professional photographer, an average user does not read large amount of data on a daily basis.

Test 3:

In this test, we kept everything same as Test 2 except that we use a rotating hard disk drive with a SATA interface as an internal storage of the computer.

As shown in Fig.7, even HDD starts out okay because it too has a built-in cache. But similar to Test 2, when that cache is full, the performance drops to HDD performance of roughly 160MB/s.

Test 4:

In this test, we will use the same memory card, but instead of using a TB3 reader, we use a USB 3.2/3.1 Gen 2 reader writing into the CFexpress Cobalt card that we used in Test1 as internal storage.

As shown in Fig. 8, in this case the speed of the memory card and internal storage are faster than the speed of reader and computer with USB 3.2/3.1 Gen2 interface/port. Nevertheless, the performance is still great at the limit of what USB 3.2 Gen2 can provide.

Test 5:

In this test, we keep everything same as Test 4, but instead we use the internal SSD of the computer that we also used in Test 2.

As shown in Fig. 9 and as we had seen in Test 2, the initial performance of SSD when its internal cache is being filled is limited by the USB 3.2/3.1 Gen2 performance. However, once the cache is full, the performance drops to flash performance. Please note that it takes a bit longer to fill the cache in comparison to Test 2 because the pipe that feeds the cache is narrower and slower.

Test 6:

In this test, we kept everything same as Test 5 except that we use a rotating hard disk drive with a SATA interface as an internal storage of the computer.

As shown in Fig.10, even HDD starts out okay because it too has a built-in cache for the initial 2GB of data. But similar to Test 2, when that cache is full, the performance drops to HDD performance of roughly 160MB/s as shown in Fig 11 below.

Finally, in this section of the tests, we wanted to see the impact of various USB ports that one may find on their computer on the performance. Cables have similar impact as USB ports since they are designed for specific USB speeds.

Test 7:

In Test 5, we already showed the performance through a USB 3.2/3.1 Gen2 port. Fig. 12 show the results of the same test if we use USB 3.0 instead.

USB 3.0 runs at half the speed of USB 3.2/3.1 Gen2 at maximum theoretical limit of 5Gbps. As seen in Fig. 12, the bottleneck is the steady-state performance of the internal SSD that maxes at roughly around 300MB/s. But the difference that can be observed between Fig. 12 and Fig. 9 is that the performance is much higher when internal SSD of cache is being filled.

Test 8:

In this test, we will do the same test as Test 7 with the exception of using a USB 2.0 port on the computer.

As shown in Fig. 13, the maximum throughput in this test is being dictated by the maximum performance allowed through the USB 2.0 port of the computer at theoretical limit of 60MB/s. In this case due to computer overhead, the actual speed is around 40MB/s for duration of data transfer from the card to internal SSD.

It is clear based on the above tests, other than taking advantage of performance that one can expect to gain from ProGrade Digital’s memory cards and workflow readers, having the right internal SSD in the computer for a sustained sequential write speed is one of the most critical links in the chain to maximize performance. Afterall, USB 3.2/3.1 Gen2 have become a ubiquitous port in most computers these days and TB3 ports are standards in Mac computers and have started showing up in Windows based computers as well. The only point of caution is that one only has to make sure that these ports are being leveraged properly.

Finally, these days the TB3 Add-In-Card (AIC) for Windows’s desktop or new laptops or MacBook Pros come with two TB3 ports next to one another. Some of the MacBook Pros actually have two on each side of the computer as shown in Fig. 14.

Note: In MacBook Pro laptops with 4 x TB3 ports, two ports can source 15 Watts power and two ports can source 7.5 Watts of power. These ports are on a first come first save basis, meaning that if you connect the first two devices on one side, those two ports will support 15 Watts and the other two ports on the opposite side each will support 7.5 Watts. Alternatively, if you connect the first two devices one on each side, then those ports will supply 15 Watts of power and the remaining ports will be limited to 7.5 Watts each. This is important because in MacBook Pro models that only have 2 TB3 ports (i.e. MacBook Pro 14), one port can support 15 Watts and the other 7.5 Watts. Therefore, you may need a self-powered device if the power requirement for both devices exceeds 7.5 Watts (see Fig. 17 error message if you exceed power requirements).

Please also be aware that if you decide to leverage and connect one TB3 port for an external TB3 SSD drive while connecting the other TB3 port next to it to the latest ProGrade Digital’s CFexpress/XQD Thunderbolt3 reader, in many cases especially with Add-In-Cards (AIC) shown in top-right picture of Fig. 14, the communication between the two ports adjacent to one another goes through the same chipset internally. That means half the speed of the total throughput will be realized in this case, which is still at least 2x faster than using internal SSDs with same profile as we saw in above tests. For example, in Test 1 scenario, we were able to obtain close to 1,200MB/s throughput leveraging one TB3 with “optimized” internal SSD leveraging ProGrade Digital’s CFexpress Cobalt card. However, if we use two adjacent TB3 ports, that performance is dropped to 600+MB/s shown in Fig. 15.

Below is a list of tests that we were able to run on various models of MacBook Pro that should provide more insights on what is possible and what is not in terms of connectivity and speed that you may obtain leveraging internal SSD vs. using multiple ports to connect a reader and an external SSD through TB3 port.

As shown in Fig. 16, this MacBook Pro14 has Two Thunderbolt 3 ports. It was released in June 2017. Only one TB3 port on this MacBook supports 15 Watts power supply and the other only 7.5 Watts. Because of this, when two ProGrade Digital’s TB3 readers are connected to the two TB3 ports, MacBook Pro prompts the following message as shown in Fig. 17 due to power supply issue:

In this case, we were only able to test the speed of the internal SSD reading the data through the TB3 reader. As shown in Fig. 18, the internal drive on this MacBook Pro 14 performed better than some of the internal SSDs that we had seen on Windows machine (around 800MB/s).

We then tested an older MacBook Pro 13 model released in November of 2016 with four TB3 ports as shown in Fig. 19. This MacBook 13 did not have the power issue connecting two TB3 reader and surprisingly the internal SSD was faster than MacBook Pro 14 shown in Fig. 18. We think this older model may be leveraging an SSD built with MLC flash that has a faster write speed compared to recent SSD’s leveraging TLC flash.

Fig. 20 below shows the performance through two TB3 readers with one reading the data and the other writing the data into. Two third of the way through copying our data, we were able to obtain close to 1,300MB/s which is very impressive.

Finally, we tested the latest MacBook Pro 16 that was released in November of 2019. This is the first laptop that supports PCIe Gen4. See the detailed spec in Fig. 21 below.

As shown in Fig. 22, we were able to copy the data up to 1,300MB/s using two TB3 readers and surprisingly up to 1,900MB/s reading from a TB3 reader and writing into this MacBook Pro 16 internal SSD drive.

In summary, as you can see in Fig 23 summary table below, your workflow needs to be optimized throughout its chain. ProGrade Digital is doing its part to offer the fastest memory cards and workflow readers in the market to ensure the bottleneck is not stemming from our solutions. The user has to make sure that they have the fastest ports and more importantly the right SSD solution in the computer to be able to optimize their workflow.

Featured