The non-volatile memory technique advanced rapidly in recent years. First, ma-ture NAND flash memory is getting cheaper and denser. It has impacted our daily life. Second, emerging persistent memory technologies such as 3d XPoint have demon- strated great potentials in revolutionizing modern memory hierarchy. In this research, we first carry out a project on the mature NAND-flash-based solid state drives. We propose a new RAID5 technique called CR5M to enhance data reliability within a single SSD for safety-critical mobile applications. We also proposed an associated data reconstruction strategy called MCR to further shrink the window of vulnerability. Compared with traditional RAID5, CR5M can achieve up to 40.2% performance improvement. The data recovery speed is also improved by 7.5%. Because persistent memory is byte-addressable and has near-DRAM access speed, it exhibits a huge potential to build a hybrid memory system where both DRAM and PM are directly connected to a CPU. We designed a concurrent hash-assisted radix tree for DRAM-PM Hybrid Memory Systems. In such a system, an e cient indexing data structure such as a persistent tree becomes an indispensable component. Design-ing a capable persistent tree, however, is challenging as it has to ensure consistency, persistence, and scalability without substantially degrading performance. We pro- pose a novel concurrent and persistent tree called HART (Hash-assisted ART), which employs a hash table to manage ARTs. HART not only optimize its performance but also prevent persistent memory leaks. In most cases, HART significantly outperforms WOART and FPTree, two state-of-the-art persistent trees. Also, it scales well in concurrent scenarios. Then, we proposed multi-hashing, a dual-level hash table indexing for a high- performance, large-capacity, and low-cost in-memory database. Multi-hashing is also built on a DRAM-PM hybrid memory system. On the DRAM level, an indexing structure is designed to be memorycient to manage hot indexes. On the PM level, another indexing data structure is designed to be performance-optimized. The indexes in DRAM will be merged into PM periodically. Our experimental results show that multi-hashing shows better performance under Sparse workloads when compared with HART. It also consumes less memory under both Dense and Sparse workloads.