Cookie Information

We use cookies to improve the website experience of our users. To learn more about our cookies, visit our Cookies Policy page.


Add Bookmark(s)



Bookmark(s) shared successfully!

Please provide at least one email address.

Microchip background

Software is the Bottleneck, Not Flash Storage

Software is the Bottleneck, Not Flash Storage

 Traditionally, advanced embedded systems have focused on CPU and memory speeds, which outpaced improvements in storage speed. Conventional thinking considers the storage device a bottleneck in system I/O performance, driving a need for storage devices with faster I/O speeds. Linux is a widely used embedded OS that also manages block devices such as e.MMC, UFS and SSD. At a high level Linux deals with I/O requests from the user space and explores the parameters that impact access performance.  The current Linux storage stack is based on legacy HDD, and some of its mechanisms benefit legacy storage devices. Our tests show that new-generation, flash-based storage devices have a negative impact on I/O performance and that software overhead has increased as a proportion of system overhead.

Higher-performance storage devices translate to higher costs, and in our white paper: Linux® Storage System Analysis for e.MMC with Command Queuing, the available bandwidth is often consumed by the storage software rather than being passed to the end user.   This study also indicates a need for optimization of the existing storage stack, including VFS optimizations and direct I/O and I/O scheduler improvements because the existing Linux I/O stack is an obstacle for realizing maximum performance from flash-based, high-speed storage devices.


  • Muhammad Jawaid Siddiqi on August 25, 2017

    nice and informative article. Thanks.

Login or Sign Up Now for an account to leave a comment.