Ext4 flash devices showing erratic behavior once storage reaches capacity
TORONTO — Gone are the days of having to manually defrag your hard drive because it's done automatically, and flash doesn't experience file fragmentation. Or does it?
It may be that your smartphone is running slow because it can't keep up with software updates and bloating, but that its flash storage is experiencing file fragmentation. Joel Catala, director of Embedded Solutions at Tuxera, said that contrary to popular belief, fragmentation can significantly affect performance of a flash device. Recent research suggests that as flash storage hardware gets faster, the software I/O stack overhead is an I/O performance bottleneck, he said in a telephone interview with EE Times. It's not the flash or the controller responsible for the bottleneck.
“Any flash vendor will tell you the controller is totally fine with it,” he said. But there's many more read calls to different areas of the flash drive that leads to fragmented data, said Catala. “That's where we have seen that performance gets a big drop.”
Much of the research on flash fragmentation is based on smartphone use cases. But Tuxera's position is that it becomes more than just an inconvenience as flash gets integrated into mission critical systems for automotive.
In a recent whitepaper, the company cites research that found an aged file system caused a performance slowdown on mobile flash hardware of two to five times. For most users, the degradation is rather fleeting, and the performance costs of aging are built into their expectations of file systems performance. Quite simply, we expect our smartphones to slow down, assuming it's because of the app and OS updates, and replace the device within two or three years.
Because smart cars use similar flash storage technologies, Tuxera suspects these mobile storage issues also plague automotive storage, said Catala. Its solution is a proprietary file system instead of Ext4, which is not only one of the most commonly used file systems in mobile phones, but in the automotive industry as well. Ext4 is considered a good option for low-data or single-stream automotive use cases, and it's open-source. However, he said, when it comes to applications that handle a lot of data and multiple data streams, things get trickier, and over the long term the degree of fragmentation gets worse as more data is written to the storage, and performance consequently drops.
Tuxera found the degree of fragmentation and impact on performance varies depending on the automotive use case. In applications with intensive reading, writing, and rewriting of data, such as cameras for autonomous driving, fragmentation may cause anything from small errors to critical system failure. If the storage is full and heavily fragmented, there will definitely be read/write issues, said Catala. Tuxera's answer isn't that flash needs to be defragmented, but that flash needs a smarter file system
The file fragmentation problem for flash illustrates how despite differing from spinning disk, flash storage is often managed using the same paradigms as hard drives, although this is changing.
As noted by Gregory Wong, founder and principal analyst with Forward Insights, defragging a drive means moving data around, and this impacts the endurance of the flash. Enterprises systems that use flash are getting smarter at managing this storage technology and moving away from the paradigms of spinning disk. Thanks to technologies such as NVMe, we're no longer replacing a hard drive with an SSD in the same form factor.
“There is an effort to modify the host systems to manage the flash as flash,” Wong said.
Wong said the cloud companies are moving faster to address this by building their own systems while the OEMs are moving to NVMe so that they're optimized to take full advantage of flash.
—Gary Hilson is a general contributing editor with a focus on memory and flash technologies for EE Times.