As increasing the usage of NAND flash memory, many file systems or DBMSs are built on it. They need index structure such as $B^+$ -Tree to manage matadata or indexing information. $B^+$ -Tree is the most popular index structure, but it is not efficient in NAND flash memory. To overcome the problems of $B^+$ -Tree, $\mu$-Tree was proposed. However, the page utilization of $\mu$-Tree is always half of that of $B^+$ -Tree because of its page layout.
This paper proposes $\mu^*$-Tree, which is an improved version of $\mu$-Tree. $\mu*$-Tree has generalized layout, thus the page utilization can be configured according to characteristics of workloads. Furthermore, $\mu^*$-Tree has an adaptive layout scheme, which dynamically adjusts page layout of $\mu^*$-Tree according to I/O pattern on-the-fly. The adaptive scheme helps to configure $\mu^*$-Tree to have better performance automatically. Our evaluation results show that $\mu^*$-Tree outperforms the original $\mu$-Tree by up to 25% and $B^+$-Tree by up to 55% in real workload results.