# Data Placement Using a Classifier for SLC/QLC Hybrid SSDs
## 3 A Classifier-Based Data Placement
This regular updating schedule allows the model to adapt to changes in workload characteristics and SSD status, maintaining its high predictive accuracy and ensuring that the data placement decisions it informs are as efficient and timely as possible. The decision-making core of our data placement scheme is the determination module, which is responsible for assigning the appropriate placement locations for incoming write requests in the hybrid SSD. This module operates based on the outputs of the trained ANN model. It processes the features collected by the feature collector and employs the ANN's forward propagation mechanism to generate a binary result, indicating whether each write request should be placed in the SLC cache or directly in the QLC region. In terms of design, our ANN model is meticulously structured to balance efficiency with complexity. Each neuron within the network consists of a weight and a bias, and for \begin{table}
\begin{tabular}{l l} \hline \hline
**Features** & **Description** \\ \hline LBA & Logical block address of the I/O request \\ Size & Size of the I/O request in bytes \\ Type & Type of the I/O request (read/write) \\ Frequency & The number of accesses to the same I/O request within a window \\ Interval & The number of accesses since the most recent request for the same data \\ Location & Location where the same request was most recently sent to \\ Ratio & Ratio of SLC cache space to the QLC region \\ SSD utilization & SSD space utilization \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Features used for the classification. storage purposes, each neuron is allocated 16 bytes. The total storage space required for the entire neural network is thus calculated using the formula \(\sum_{i=1}^{4}16*N_{i}\), where \(N_{i}\) is the number of neurons in the \(i\)th layer of the network. To further detail the computational aspect, the number of floating-point operations (specifically, multiplications) needed for the forward propagation process in the network is given by \(\sum_{i=0}^{3}N_{i}*N_{i+1}\). Our neural network's architecture comprises 8 input neurons in the input layer. The hidden layers are designed with 32 neurons each, while the output layer contains 2 neurons. Given this configuration, the spatial and computational overheads of implementing our neural network within the SSD's data management system are minimal. This efficient design ensures that the neural network adds negligible additional burden to the SSD's operational resources while still providing advanced data placement decision-making capabilities. This balance is crucial, as it allows our scheme to enhance the SSD's performance and efficiency without compromising its existing functionality or adding significant complexity to its operation. Based on the outcome of the binary classification from our neural network, each incoming write request in our hybrid SSD system undergoes a series of steps before its final storage destination is determined. Initially, the write request is processed by the flash translation layer that maps logical block addresses to physical flash memory locations. Once the flash translation layer has processed the request, the path of the write request diverges based on the classification result. If the request is classified for the SLC cache (indicating a high likelihood of re-access in the near future), it is then handled by the SLC cache manager. Conversely, if the request is classified for the QLC region (typically indicating less frequent access), it is directed to the QLC region manager. The SLC cache manager plays a crucial role in optimizing the limited SLC cache space in hybrid SSDs. When the SLC cache is full, it employs a replacement algorithm to transfer data that is unlikely to be accessed again soon from the SLC cache to the QLC region, therefore making space for new requests. The SLC cache can be set up either as a write-only structure or as an integrated structure.