Zhihu Tan

dblp:70/6545 · also Zhi-hu Tan · DBLP profile ↗
← Back
14ranked-venue papers
0as first author
7since 2021 · last 2026
0000-0003-3422-6537ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 13 · 7 since 2021Software engineering, systems software and programming languages · 1
YearPublicationVenuePosition
2026 Crash-Consistent SSD Array With Hardware-Guaranteed Transactional Atomicity
abstract
Crash consistency is a critical challenge that storage systems need to address carefully in multiple layers, including the database, file system, and block-layer RAID. Software approaches typically resort to logging to ensure transactional atomicity, which causes significant performance overhead and write amplification over underlying high-speed SSDs. Motivated by the out-of-place update feature of SSD-internalflash translation layer (FTL), previous studies propose crash-consistent SSDs to offload transactional atomicity guarantee and demonstrate their effectiveness in eliminating software-based logging overheads. However, existing hardware offloading approaches only consider single-SSD systems and would fail in an SSD array. This paper presents a crash-consistent SSD array, using FTLs and coordinating multiple SSDs to provide transactional atomicity across the array. The key is to design anarray-wide transaction commit (ARC)protocol, which resolves the multi-SSD coordination challenge and tolerates disk failures. We implement an ARC array manager and ARC SSDs to verify the design. Two case studies are conducted, where the ARC array is utilized to address the transaction logging overhead in the SQLite database and the stripe write-hole problem in the RAID subsystem. Experimental results demonstrate that the ARC SSD array can improve system performance by 32% to 93% and reduce write amplification by 39% to 49%, on average, compared with software-based logging approaches.
Zeyu Niu, Xiang Chen 0028, You Zhou 0009, Zibin Sun, Zhihu Tan, Changsheng Xie 0001, Fei Wu 0005
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.5
2025 DShuffle: DPU-Optimized Shuffle Framework for Large-scale Data Processing
Chen Ding 0012, Sicen Li, Kai Lu 0002, Ting Yao 0001, Daohui Wang, Huatao Wu, Jiguang Wan 0001, Zhihu Tan, Changsheng Xie 0001
USENIX ATC8
2024 WIPE: A Write-Optimized Learned Index for Persistent Memory
abstract
Learned Index, which utilizes effective machine learning models to accelerate locating sorted data positions, has gained increasing attention in many big data scenarios. Using efficient learned models, the learned indexes build large nodes and flat structures, thereby greatly improving the performance. However, most of the state-of-the-art learned indexes are designed for DRAM, and there is hence an urgent need to enable high-performance learned indexes for emerging Non-Volatile Memory (NVM). In this article, we first evaluate and analyze the performance of the existing learned indexes on NVM. We discover that these learned indexes encounter severe write amplification and write performance degradation due to the requirements of maintaining large sorted/semi-sorted data nodes. To tackle the problems, we propose a novel three-tiered architecture of write-optimized persistent learned index, which is named WIPE , by adopting unsorted fine-granularity data nodes to achieve high write performance on NVM. Thereinto, we devise a new root node construction algorithm to accelerate searching numerous small data nodes. The algorithm ensures stable flat structure and high read performance in large-size datasets by introducing an intermediate layer (i.e., index nodes) and achieving accurate prediction of index node positions from the root node. Our extensive experiments on Intel DCPMM show that WIPE can improve write throughput and read throughput by up to 3.9× and 7×, respectively, compared to the state-of-the-art learned indexes. Also, WIPE can recover from a system crash in ∼ 18 ms. WIPE is free as an open-source software package. 1
Zhonghua Wang 0001, Chen Ding 0012, Fengguang Song, Kai Lu 0002, Jiguang Wan 0001, Zhihu Tan, Changsheng Xie 0001, Guokuan Li
ACM Trans. Archit. Code Optim.6
2022 Accelerating range queries of primary and secondary indices for key-value separation
abstract
Primary and secondary indices in LSM-tree-based key-value (KV) stores play significant roles for real-world applications, but they suffer severe I/O amplification due to compaction operations. Prior works show that KV separation can mitigate the I/O amplification under various workloads for either primary or secondary indices. However, range queries of primary and secondary indices only achieve suboptimal efficiency for two reasons: (1) KV separation improves insert/update performance by sacrificing the performance of range queries, (2) range queries of primary and secondary indices may conflict with each other.
Chenlei Tang, Jiguang Wan 0001, Zhihu Tan, Guokuan Li
SoCC3
2022 RepKV: A Replicated Key-Value Store to Boost Multiple Indices for Key-Value Separation
abstract
Primary and secondary indices are demanded in real-world applications. Recent works show that key-value(KV) separation is efficient to improve queries of multiple secondary indices in LSM-based KV stores. It stores the value in a separate value log and only stores keys and the value address in primary and secondary indices. However, this share-value scheme on multiple indices results in suboptimal efficiency: (1) queries on secondary indices and range queries on all indices cannot fully exploit the bandwidth of SSD devices simultaneously (2) the put operation is inefficient to update secondary indices.To address the above inefficiency, we propose RepKV, a replicated KV store aiming to boost operations of multiple in-dices. Firstly, RepKV uses a primary-backup replication scheme. Each replication stores the same KV pairs but adopts different organizations to exploit the benefit of SSD devices. Secondly, RepKV proposes a lightweight replication scheme to mitigate the extra KV pairs synchronized in replications. Thirdly, RepKV uses a parallel parsing policy to boost the put operation. Experimental results show that RepKV can improve the query performance on secondary indices by up to 22.24%, the range query performance of all indices by up to 31.38%, and the put performance by up to 13.8%. Besides, RepKV can reduce the I/O amplification of replication by up to 3.05x via the lightweight replication scheme.
Chenlei Tang, Jiguang Wan 0001, Zhihu Tan, Guokuan Li
ICCD3
2022 Building a Fast and Efficient LSM-tree Store by Integrating Local Storage with Cloud Storage
abstract
The explosive growth of modern web-scale applications has made cost-effectiveness a primary design goal for their underlying databases. As a backbone of modern databases, LSM-tree based key–value stores (LSM store) face limited storage options. They are either designed for local storage that is relatively small, expensive, and fast or for cloud storage that offers larger capacities at reduced costs but slower. Designing an LSM store by integrating local storage with cloud storage services is a promising way to balance the cost and performance. However, such design faces challenges such as data reorganization, metadata overhead, and reliability issues. In this article, we propose RocksMash , a fast and efficient LSM store that uses local storage to store frequently accessed data and metadata while using cloud to hold the rest of the data to achieve cost-effectiveness. To improve metadata space-efficiency and read performance, RocksMash uses an LSM-aware persistent cache that stores metadata in a space-efficient way and stores popular data blocks by using compaction-aware layouts. Moreover, RocksMash uses an extended write-ahead log for fast parallel data recovery. We implemented RocksMash by embedding these designs into RocksDB. The evaluation results show that RocksMash improves the performance by up to 1.7 \( \times \) compared to the state-of-the-art schemes and delivers high reliability, cost-effectiveness, and fast recovery.
Jiguang Wan 0001, Shuning Chen, Yuanhui Zhou, Hadeel Albahar, Zhihu Tan
ACM Trans. Archit. Code Optim.10
2022 TriangleKV: Reducing Write Stalls and Write Amplification in LSM-Tree Based KV Stores With Triangle Container in NVM
abstract
Popular LSM-tree based key-value stores suffer from suboptimal and unpredictable performance due to write amplification and write stalls that cause application performance to periodically drop to nearly zero. Our preliminary experimental studies reveal that (1) write stalls mainly stem from the significantly large amount of data involved in each compaction between$L_{0}$-$L_{1}$(i.e., the first two levels of LSM-tree), and (2) write amplification increases with the depth of LSM-trees. Existing work mainly focus on reducing write amplification, while only a couple of them target mitigating write stalls. In this paper, we exploit unique features of non-volatile memory (NVM) to address these two limitations and propose TriangleKV, a new LSM-tree based persistent KV store with multi-tier DRAM-NVM-SSD storage. TriangleKV's design principles include performing smaller and cheaper$L_{0}$-$L_{1}$compaction to reduce write stalls while reducing the depth of LSM-trees to mitigate write amplification. To this end, four novel techniques are proposed. First, we relocate and manage the$L_{0}$level in NVM with our proposedtriangle container. Second, the newright-angle side compactionis devised to compact$L_{0}$to$L_{1}$at fine-grained key ranges, thus substantially reducing the amount of compaction data. Third, TriangleKV increases the width of each level to decrease the depth of LSM-trees thus mitigating write amplification. Finally, thecross-row hint searchis introduced for the triangle container to keep adequate read performance. We implement TriangleKV based on MatrixKV and evaluate it on a hybrid DRAM/NVM/SSD system using Intel's latest 3D Xpoint NVM device Optane DC PMM. Evaluation results show that, with the same amount of NVM, TriangleKV outperforms RocksDB, NoveLSM and MatrixKV in 99th-percentile latencies by$5.5\times$,$2.1\times$and$1.1\times$, and random write throughput by$4.9\times$,$3.5\times$and$1.4\times$respectively.
Chen Ding 0012, Ting Yao 0001, Hong Jiang 0001, Qiu Cui, Jiguang Wan 0001, Zhihu Tan
IEEE Trans. Parallel Distributed Syst.8
2020 Using Error Modes Aware LDPC to Improve Decoding Performance of 3-D TLC NAND Flash
abstract
3-D triple-level cell (3-D TLC) NAND flash has high storage density and capacity, but degrading data reliability due to high raw bit error rates induced by a certain number of program/erase cycles. To guarantee data reliability, low-density parity-check (LDPC) codes are selected as the error correction codes in modern flash memories because of strong error correction capability. However, directly adopting LDPC codes induces high decoding latency due to iterative updating of log-likelihood ratio (LLR) information in the decoding process. Increasing LLR information accuracy can greatly improve decoding performance. In this paper, we propose EMAL: using error modes aware LDPC codes for further enhancing the decoding performance of 3-D TLC NAND flash. We first obtain 3-D TLC error modes based on an FPGA testing platform, and then exploit the error modes to optimize LLR information and enable the decoding to converge at a high speed. The simulation results show that the decoding performance is significantly improved, resulting in reduced bit error rates and decoding latency.
Fei Wu 0005, Meng Zhang 0014, Yajuan Du, Zuo Lu, Jiguang Wan 0001, Zhihu Tan, Changsheng Xie 0001
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.7
2019 SEALDB: An Efficient LSM-tree Based KV Store on SMR Drives with Sets and Dynamic Bands
abstract
Key-value (KV) stores play an increasingly critical role in supporting diverse large-scale applications in modern data centers hosting terabytes of KV items which even might reside on a single server due to virtualization purposes. The combination of the ever-growing volume of KV items and storage/application consolidation is driving a trend of high storage density for KV stores. Shingled Magnetic Recording (SMR) represents a promising technology for increasing disk capacity, which however comes with the increased complexity of handling random writes. To take the best advantages of SMR drives, applications are expected to work in an SMR-friendly way. In this work, we present SEALDB, a Log-Structured Merge tree (LSM-tree) based key-value store that is specifically optimized for SMR drives via avoiding random writes and the corresponding write amplification on SMR drives. First, for LSM-trees, SEALDB collects and groups participating data of each compaction into sets. Using a set as the basic unit for compactions, SEALDB improves compaction efficiency by reducing random I/Os. Second, SEALDB creates variable sized bands on original HM-SMR drives, named dynamic bands. Dynamic bands store sets in an SMR-friendly way to eliminate the auxiliary write amplification from SMR drives. Third, SEALDB employs two light-weight garbage collection (GC) policies to further improve the space efficiency. We demonstrate the advantages of SEALDB via extensive experiments with various workloads. Overall, SEALDB delivers impressive performance compared with LevelDB, e.g., 3.42×/2.65× faster for random writes (without or with GCs), and 3.96× faster for sequential reads.
Ting Yao 0001, Zhihu Tan, Jiguang Wan 0001, Ping Huang 0001, Changsheng Xie 0001, Xubin He
IEEE Trans. Parallel Distributed Syst.2
2018 OSPADA: One-Shot Programming Aware Data Allocation Policy to Improve 3D NAND Flash Read Performance
abstract
Charge trap (CT) based 3D NAND flash is predominating the flash storage market due to higher density, better performance and endurance than planar flash. CT-based 3D flash programs multiple pages in a word line at a time, called one-shot programming, unlike planar flash which programs one page at a time. Solid state drives (SSDs) utilize the internal parallelism to improve the performance, but one-shot programming is likely to program logically sequential data into one parallel unit (i.e., a plane) and thus degrades the read parallelism. In this paper, we propose a one-shot programming aware data allocation policy, called OSPADA, to improve the read performance of CT flash based SSDs by enhancing read parallelism. OSPADA reorders written data to distribute logically sequential data into different parallel units using the distance aware round-robin strategy. Experimental results show that OSPADA improves the read performance by up to 22.8% compared with traditional dynamic data allocation policies.
Fei Wu 0005, Zuo Lu, You Zhou 0009, Xubin He, Zhihu Tan, Changsheng Xie 0001
ICCD5
2018 A Set-Aware Key-Value Store on Shingled Magnetic Recording Drives with Dynamic Band
abstract
Key-value (KY) stores play an increasingly critical role in supporting diverse large-scale applications in modern data centers hosting terabytes of KY items which even might reside on a single server due to virtualization purpose. The combination of ever growing volume of KY items and storage/application consolidation is driving a trend of high storage density for KY stores. Shingled Magnetic Recording (SMR) represents a promising technology for increasing disk capacity, but it comes at a cost of poor random write performance and severe I/O amplification. Applications/software working with SMR devices need to be designed and optimized in an SMR-friendly manner. In this work, we present SEALDB, a Log-Structured Merge tree (LSM-tree) based key-value store that is specifically optimized for and works well with SMR drives via adequately addressing the poor random writes and severe I/O amplification issues. First, for LSM-trees, SEALDB concatenates SSTables of each compaction, and groups them into sets. Taking sets as the basic unit for compactions, SEALDB improves compaction efficiency by mitigating random I/Os. Second, SEALDB creates varying size bands on HM-SMR drives, named dynamic bands. Dynamic bands not only accommodate the storage of sets, but also eliminate the auxiliary write amplification from SMR drives. We demonstrate the advantages of SEALDB via extensive experiments in various workloads. Overall, SEALDB delivers impressive performance improvement. Compared with LevelDB, SEALDB is 3.42× faster on random load due to improved compaction efficiency and eliminated auxiliary write amplification on SMR drives.
Ting Yao 0001, Zhihu Tan, Jiguang Wan 0001, Ping Huang 0001, Changsheng Xie 0001, Xubin He
IPDPS2
2014 sJournal: A New Design of Journaling for File Systems to Provide Crash Consistency
abstract
Maintain consistency is one of the major challenges faced by modern file systems in the presence of system crashes. File systems have evolved various techniques to provide crash consistency, in which journaling technique is one of the most important. Unfortunately, journaling introduces a write-twice problem: the write traffic is firstly written to the journal space, and latter is written back to the file system space. This problem is critical when version consistency is required in data management applications. To address this problem, we present sJournal, a smart journaling layer which can provide version consistency to the upper file systems efficiently. The key idea of sJournal is to understand the block I/O traffic issued from upper file systems, and redirect the I/O traffic between the journal space and the file system space intelligently. This includes four techniques: 1) detect the upper file system and extract the disk block allocation status, 2) identify and log all the overwrite traffic to the journal space while issuing non-overwrite traffic to the file system space directly, 3) redirect read traffic to the journal space if the target block is logged, 4) checkpoint all the logged data to the file system space at proper timing. We implemented a prototype of sJournal, and incorporated it with Ext3. Through experiments, we compared the performance of Ext3 running with ordered mode, data journal mode and sJournal, respectively. The results show that Ext3 with sJournal support can provide comparable performance to ordered journal mode, while ensuring the version consistency guaranteed in data journal mode.
Zhihu Tan, Fei Wu 0005, Changsheng Xie 0001
NAS2
2013 A reliability optimization method for RAID-structured storage systems based on active data migration
Zhihu Tan, Jiguang Wan 0001, Changsheng Xie 0001
J. Syst. Softw.2
2012 A Reliability Optimization Method Using Disk Reliability Degree and Data Heat Degree
abstract
The reliability of the traditional storage system can utilize data recovery and reconstruction operations to recover data in case of the disk failure; however it will result in longer data recovery time and increase the possibility of secondary failure. Hence, reliability optimization has become one of the key subjects of storage system research. In this paper we propose a novel reliability optimization method, which uses disk reliability degree to evaluate the reliability of disk based on SMART technology. And it uses data heat degree to compute the heat degree of data and the utilization degree of disk at the present time, so according to disk reliability degree and disk utilization degree we can protect current hotspots data. Data heat degree also predicts hotspots data in the future based on the current rank of data access frequency and Zipf-like distribution; we can also protect predicted new hotspots data according to disk reliability degree. Our experiment shows that disk reliability degree satisfies the actual usage and data heat degree achieves very high prediction accuracy. In order to evaluate the system performance's influence of our method, the experimental results of data migration based on RAID system demonstrate that reliability optimization method has little or no impact on the normal system performance, and outperforms the traditional reconstruct RAID system.
Zhihu Tan, Jiguang Wan 0001, Changsheng Xie 0001
NAS2