Journal of Computer Science and Technology ›› 2019, Vol. 34 ›› Issue (1): 61-76.doi: 10.1007/s11390-019-1899-7

Special Issue: Computer Architecture and Systems

• Computer Architecture and Systems • Previous Articles     Next Articles

ROCO: Using a Solid State Drive Cache to Improve the Performance of a Host-Aware Shingled Magnetic Recording Drive

Wen-Guo Liu1, Ling-Fang Zeng1,*, Senior Member, CCF, Member, ACM, IEEE Dan Feng1, Senior Member, CCF, Member, ACM, IEEE, and Kenneth B. Kent2, Senior Member, IEEE   

  1. 1 School of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan 430074, China;
    2 Faculty of Computer Science, University of New Brunswick, Fredericton, E3B 5A3, Canada
  • Received:2018-01-08 Revised:2018-10-09 Online:2019-01-05 Published:2019-01-12
  • Contact: Ling-Fang Zeng
  • About author:Wen-Guo Liu received his B.E. degree in information and computing science from Jinan University, Jinan, in 2008, and M.E. degree in computer science and technology from Hunan University, Changsha, in 2011. He is currently working toward his Ph.D. degree in the School of Computer Science and Technology from Huazhong University of Science and Technology (HUST), Wuhan. His research interest includes solid state drives, shingle magnetic recording, and hybrid storage systems.
  • Supported by:
    This work was supported by the National Natural Science Foundation of China under Grant No. 61472153.

Shingled magnetic recording (SMR) can effectively increase the capacity of hard disk drives (HDDs). Hostaware SMR (HA-SMR) is expected to be more popular than other SMR models because of its backward compatibility and new SMR-specific APIs. However, an HA-SMR drive often suffers performance degradation under write-intensive workloads because of frequent non-sequential writes buffered in the disk cache. The non-sequential writes mainly come from update writes, small random writes and out-of-order writes. In this paper, we propose a hybrid storage system called ROCO which aims to use a solid state drive (SSD) cache to improve the performance of an HA-SMR drive. ROCO reorders out-of-order writes belonging to the same zone and uses the SSD cache to absorb update writes and small random writes. We also design a data replacement algorithm called CREA for the SSD cache. CREA first conducts zone-oriented hot/cold data identification to identify cold-cached zones and hot-cached zones, and then evicts data blocks belonging to colder zones with higher priorities that can be sequentially written or written through host-side read-modify-write operations. It gives the lowest priority to data blocks belonging to the hottest-cached zone that have to be non-sequentially written. Experimental results show that ROCO can effectively reduce non-sequential writes to the HA-SMR drive and improve the performance of the HA-SMR drive.

Key words: solid state drive (SSD) cache; host-aware shingled magnetic recording (HA-SMR) drive; zone-oriented block reordering; zone-oriented hot/cold data identification; data replacement algorithm;

[1] Wood R, Williams M, Kavcic A, Miles J. The feasibility of magnetic recording at 10 terabits per square inch on conventional media. IEEE Trans. Magnetics, 2009, 45(2):917-923.
[2] Venkataraman K S, Dong G, Zhang T. Techniques mitigating update-induced latency overhead in shingled magnetic recording. IEEE Trans. Magnetics, 2012, 48(5):1899-1905.
[3] Feldman T, Gibson G. Shingled magnetic recording areal density increase requires new data management. Login:the USENIX Magazine, 2013, 38(3):22-30.
[4] Zeng L F, Zhang Z H, Wang Y, Feng D, Kent K B. CosaFS:A cooperative shingle-aware file system. ACM Trans. Storage, 2017, 13(4):Article No. 34.
[5] Aghayev A, Shafaei M, Desnoyers P. Skylight-A window on shingled disk operation. ACM Trans. Storage, 2015, 11(4):Article No. 16.
[6] Wu F G, Yang M C, Fan Z Q, Zhang B Q, Ge X Z, Du D H. Evaluating host aware SMR drives. In Proc. the 8th USENIX Workshop on Hot Topics in Storage and File Systems, June 2016, pp.31-35.
[7] Wu F G, Fan Z Q, Yang M C, Zhang B Q, Ge X Z, Du D H. Performance evaluation of host aware shingled magnetic recording (HA-SMR) drives. IEEE Trans. Computers, 2017, 66(11):1932-1945.
[8] Wang C L, Wang D D, Chai Y P, Wang C W, Sun D S. Larger, cheaper, but faster:SSD-SMR hybrid storage boosted by a new SMR-oriented cache framework. In Proc. the 33rd Int. Conf. Massive Storage Systems and Technology, May 2017, pp.1-16.
[9] Chen F, Koufaty D A, Zhang X. Hystor:Making the best use of solid state drives in high performance storage systems. In Proc. the 25th Int. Conf. Supercomputing, May 2011, pp.22-32.
[10] Luo D, Wan J G, Zhu Y F, Zhao N N, Li F, Xie C S. Design and implementation of a hybrid shingled write disk system. IEEE Trans. Parallel and Distributed Systems, 2015, 27(4):1017-1029.
[11] Kim H, Shin D, Jeong Y et al. SHRD:Improving spatial locality in flash storage accesses by sequentializing in host and randomizing in device. In Proc. the 15th USENIX Conf. File and Storage Technologies, February 2017, pp.271-284.
[12] Bucy J S, Schindler J, Schlosser S W, Greger G R. The DiskSim simulation environment version 4.0 reference manual. Technical Report, Carnegie Mellon University, 2008., May 2018.
[13] Narayanan D, Donnelly A, Rowstron A. Write off-loading:Practical power management for enterprise storage. ACM Trans. Storage, 2008, 4(3):Article No. 10.
[14] Cassuto Y, Sanvido M A A, Guyot C, Hall D R, Bandic Z Z. Indirection systems for shingled-recording disk drives. In Proc. the 26th IEEE Symp. Mass Storage Systems and Technologies, May 2010.
[15] Lin C I, Park D, He W P, Du D H. H-SWD:Incorporating hot data identification into shingled write disks. In Proc. the 20th IEEE Int. Symp. Modeling, Analysis and Simulation of Computer and Telecommunication Systems, August 2012, pp.321-330.
[16] Jones S N, Amer A, Miller E L, Long D D E, Pitchumani R, Strong C R. Classifying data to reduce long-term data movement in shingled write disks. ACM Trans. Storage, 2016, 12(1):Article No. 2.
[17] He W, Du D. SMaRT:An approach to shingled magnetic recording translation. In Proc. the 15th USENIX Conf. File and Storage Technologies, February 2017, pp.121-133.
[18] Xie T, Sun Y. Dynamic data reallocation in hybrid disk arrays. IEEE Trans. Parallel and Distributed Systems, 2010, 21(9):1330-1341.
[19] Mao B, Jiang H, Wu S Z, Tian L, Feng D, Chen J X, Zeng L F. HPDA:A hybrid parity-based disk array for enhanced performance and reliability. ACM Trans. Storage, 2012, 8(1):Article No. 4.
[20] Zeng L F, Feng D, Chen J X, Wei Q S, Veeravalli B, Liu W G. HRAID6ML:A hybrid RAID6 storage architecture with mirrored logging. In Proc. the 28th IEEE Symp. Mass Storage Systems and Technologies. April 2012.
[21] Jung H, Shim H, Park S, Kang S, Cha J. LRU-WSR:Integration of LRU and writes sequence reordering for flash memory. IEEE Trans. Consumer Electronics, 2008, 54(3):1215-1223.
[22] Park S, Jung D, Kang J, Kim J, Lee J. CFLRU:A replacement algorithm for flash memory. In Proc. the 2006 Int. Conf. Compilers, Architecture and Synthesis for Embedded Systems, October 2006, pp.234-241.
[23] Fan Z Q, Haghdoost A, Du D H, Voigt D. I/O-Cache:A non-volatile memory based buffer cache policy to improve storage performance. In Proc. the 23rd IEEE Int. Symp. Modeling, Analysis and Simulation of Computer and Telecommunication Systems, October 2015, pp.102-111.
[24] Fan Z, Wu F, Park D, Diehl J, Voigt D, Du D H. Hibachi:A cooperative hybrid cache with NVRAM and DRAM for storage arrays. In Proc. the 33rd IEEE Symp. Mass Storage Systems and Technologies, May 2017, pp.90-101.
[25] Park D, Fan Z Q, Nam Y J, Du D H. A lookahead read cache:Improving read performance for deduplication backup storage. Journal of Computer Science and Technology, 2017, 32(1):26-40.
No related articles found!
Full text



[1] Liu Mingye; Hong Enyu;. Some Covering Problems and Their Solutions in Automatic Logic Synthesis Systems[J]. , 1986, 1(2): 83 -92 .
[2] Chen Shihua;. On the Structure of (Weak) Inverses of an (Weakly) Invertible Finite Automaton[J]. , 1986, 1(3): 92 -100 .
[3] Gao Qingshi; Zhang Xiang; Yang Shufan; Chen Shuqing;. Vector Computer 757[J]. , 1986, 1(3): 1 -14 .
[4] Chen Zhaoxiong; Gao Qingshi;. A Substitution Based Model for the Implementation of PROLOG——The Design and Implementation of LPROLOG[J]. , 1986, 1(4): 17 -26 .
[5] Huang Heyan;. A Parallel Implementation Model of HPARLOG[J]. , 1986, 1(4): 27 -38 .
[6] Min Yinghua; Han Zhide;. A Built-in Test Pattern Generator[J]. , 1986, 1(4): 62 -74 .
[7] Wu Yunzeng;. On the Development of Applications of Logic in Programming[J]. , 1987, 2(1): 30 -34 .
[8] Tang Tonggao; Zhao Zhaokeng;. Stack Method in Program Semantics[J]. , 1987, 2(1): 51 -63 .
[9] Zhong Renbao; Xing Lin; Ren Zhaoyang;. An Interactive System SDI on Microcomputer[J]. , 1987, 2(1): 64 -71 .
[10] Min Yinghua;. Easy Test Generation PLAs[J]. , 1987, 2(1): 72 -80 .

ISSN 1000-9000(Print)

CN 11-2296/TP

Editorial Board
Author Guidelines
Journal of Computer Science and Technology
Institute of Computing Technology, Chinese Academy of Sciences
P.O. Box 2704, Beijing 100190 P.R. China
  Copyright ©2015 JCST, All Rights Reserved