Recently, smartphone users are requiring faster and more extensive data input and output alongside increased communication speeds. However, the increasing complexity of the system makes it more challenging to accurately assess and enhance the performa...
Recently, smartphone users are requiring faster and more extensive data input and output alongside increased communication speeds. However, the increasing complexity of the system makes it more challenging to accurately assess and enhance the performance of applications on the Android smartphone operating system. The purpose of this study is to identify the factors affecting performance in the Universal Flash Storage (UFS) devices used as storage in Android smartphones using machine learning, and to demonstrate that limiting the range of addresses requested at the host application layer has the most significant impact on the performance of random workloads.
And we aimed to identify the factors affecting UFS performance by conducting performance evaluations and analyses using the Flexible Input Output tester (FIO) application in an Android environment. By changing FIO's job parameters and measuring performance, we analyzed the data using machine learning models such as Linear Regression, Decision Tree Regressor, and Random Forest, as well as deep learning models like Long Short-Term Memory (LSTM). As a result, block size and total size were identified as the two factors most closely correlated with performance.
It was found that as the block size used for each request by the host application increases, the sequential workload performance of the UFS device improves. Similarly, in random workloads, performance also increases proportionally with block size. That means, when limiting the total size, which represents the range of all addresses requested by the application, to perform random read workloads within a certain range, total size showed an inverse relationship with performance. This is due to the constraints of the address map buffer size within the device. When the host application requests data with random addresses, the address map used to convert the address to access the NAND address within the device can cause additional address map loading operations within the device, resulting in overall performance overhead.
In summary, if the range of addresses requested by the host application is restricted to minimize the address map loading within the UFS device, higher performance in random workloads can be expected. This was proven through experiments on actual UFS devices, and through this, we can expect to maintain consistently high performance when performing random reads within a limited range.