# EXPRESS: Exploiting Energy-Accuracy Tradeoffs in 3D NAND Flash Memory for Energy-Efficient Storage
## 4 Experimental Evaluation
### Effects of Page-to-Page Variability
These slow LSB pages constitute the upper tail (\(\sim\)10%) of the cumulative distribution in Figure 11a. The average \(t_{prog}\) for the MSB pages is distinctively higher than the average \(t_{prog}\) for the LSB pages. Unlike the LSB pages, the \(t_{prog}\) variability for the MSB pages is relatively small. The first MSB pages in a layer do not require a higher \(t_{prog}\) than the other MSB pages in the given layer. Figure 11: (**a**) Cumulative distribution of program times for LSB (blue) and MSB (red) pages in a block in fresh condition; (**b**) Express algorithm for MSB pages. The numbers represent the nominal \(t_{prog}\) values in \(\upmu\)s corresponding to the page location. Figure 10: Classification of different SLC pages of the same memory block. The numbers represent measured \(t_{prog}\) values in \(\upmu\)s corresponding to the page location. Since LSB pages behave similarly to SLC pages, the algorithm for implementing EXPRESS on LSB pages can mirror the algorithm proposed for the SLC pages, as described above. For the MSB pages, a slight modification of the algorithm is introduced by treating the first MSB page (\(P_{0}^{L_{j}}\)) in a given layer as the learning page. Figure 11b shows the EXPRESS algorithm for MSB pages where the \(t_{prog}\) is learned from the first MSB page of a given layer, \(P_{0}^{L_{j}}\). Equation (2) is used to estimate the \(t_{pp}\) from the corresponding \(t_{prog}\), and that value is applied to the remaining \(P_{n}^{L_{j}}\) (\(n=\)1, 3,..., 15) pages. Next, we will discuss the energy benefits obtained with these algorithms when implemented in the 3D NAND chip under evaluation. The adaptive learning algorithm for EXPRESS widens the opportunity window for performance and energy enhancement. Table 2 summarizes the measured \(t_{prog}\) (or nominal program time of a page), and the corresponding optimal \(t_{pp}\), for pages in both the SLC and MLC configurations. The table also quantifies the effectiveness of EXPRESS by reporting the bit error rate and the average percentage of energy saved. The results are broken down on the basis of the page types, as discussed above. We calculate the number of program loops that can be skipped for EXPRESS to acquire an acceptable accuracy loss (<1%) for each page type. We find an optimal value of the parameter, \(n_{skip}\), in Equation (2): \(n_{skip}=1\) or 2 for SLC pages, depending on their type, and \(n_{skip}=2\) for MLC pages. For higher values of the \(n_{skip}\), the BER in the written data is found to be more than 1%. However, the \(n_{skip}\) needs to be precharacterized for each class of chips for optimal EXPRESS implementation. Note that the table is prepared on the basis of data collected from 1024 pages of an MLC flash block, and from 512 pages of an SLC flash block. We find that EXPRESS can save an average of 20 to 50% of the write energy, depending on the page type, whereas the exact figure for energy savings may differ for flash memory chips that have a different organization, or that are manufactured in different technology nodes. The proposed technique applies to all of them because it exploits the accuracy-energy disproportionality that is common for all modern flash memory chips.