iSCSI Virtual Disk

Flok works with big, expensive IBM iSCSI (Internet Small Computer System Interface) boxes, so the thought occurred: what about the opposite extreme with a microcontroller and SD card? This experiment on Teensy and other boards yielded interesting benchmark results.

Usually benchmarks measure performance of 1 subsysten. But iSCSI requires simultaneous performance from networking and storage systems. Even if each can perform well on its own, what matters is how well they perform when used together.

Based on a Teensy 4.1 with Ethernet, the system yields speeds of up to 6MB/s while reading the SD card, significantly faster than other widely used microcontrollers as shown in the results below.

The device can be used as a SAN (Storage Area Network) by a remotely-connected PC via iSCSI, allowing, for example, the booting of a VMWare cluster from a SD card. Of course a microcontroller and SD card aren’t practical for real-world SAN usage. This project is really only useful as an academic exercise and way to benchmark the relative performance of microcontroller platforms when used with a demanding application which requires simultaneous networking and storage performance.

More information can be found on the project’s web page, with source available on GitHub.