Design and Implementation of Sequential Read Ahead in Zoned Namespaces for Solid State Drives
In the day and age of data and information, the ability to retrieve the information becomes of paramount importance. The cutting edge technology in terms of data storage is currently Solid State Devices which use NAND gates to store data. This relatively new method of storing data presents numerous avenues of research and breakthroughs. The concept of Zoned Namespaces in SSD firmware is one such major avenue of ongoing research. The objective of this paper is to understand the need for higher data accessing speeds and envisioning the advancements made possible by improving basic read and write speeds in SSD's. The goal is to allow for writing sequential data in namespaces where the data related to each other holds a granularity of a single zone. The idea is achieved by implementing sequential read ahead where the sequential data is read ahead of time by anticipating host read request to that data. This gives the host, cache hit on requested data which greatly improves performance. The pre-fetched data is cleared from cache once the data has been read or any disabling condition occurs thus not hampering normal functioning of the drive. The implementation was tested on a 8 TB form factor SSD. The results for reads were 70 MB/s for ZNS before SRA and 275 MB/s after SRA enablement. Thus a very significant increase is observed which proves that the objective was achieved.