KR20240003750A - Storage device hving real-time secure deletion function and operating method thereof - Google Patents

Storage device hving real-time secure deletion function and operating method thereof Download PDF

Info

Publication number
KR20240003750A
KR20240003750A KR1020230046511A KR20230046511A KR20240003750A KR 20240003750 A KR20240003750 A KR 20240003750A KR 1020230046511 A KR1020230046511 A KR 1020230046511A KR 20230046511 A KR20230046511 A KR 20230046511A KR 20240003750 A KR20240003750 A KR 20240003750A
Authority
KR
South Korea
Prior art keywords
data
erase
secure
storage device
page
Prior art date
Application number
KR1020230046511A
Other languages
Korean (ko)
Inventor
안나영
Original Assignee
안나영
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 안나영 filed Critical 안나영
Publication of KR20240003750A publication Critical patent/KR20240003750A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/403Error protection encoding, e.g. using parity or ECC codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명에 따른 저장 장치의 동작 방법은, 호스트로부터 파일에 대한 보안 삭제 요청을 수신하는 단계, 상기 보안 삭제 요청에 응답하여 상기 파일에 대한 적어도 하나의 논리 어드레스를 물리 어드레스로 변환하는 단계, 상기 보안 삭제 요청에 대응하는 에러 정정 패리티를 생성하는 단계, 상기 변환된 물리 어드레스에 대응하는 페이지의 스페어 영역에 상기 에러 정정 패리티를 부분 프로그램 동작을 수행하는 단계, 상기 부분 프로그램 동작 완료 후에 상기 변환된 물리 어드레스에 대응하는 페이지에 대한 읽기 동작을 수행하는 단계, 및 상기 읽기 동작이 에러 정정 불가능할 때, 상기 보안 삭제 요청에 대한 완료 정보를 상기 호스트로 출력하는 단계를 포함할 수 있다.A method of operating a storage device according to the present invention includes receiving a secure deletion request for a file from a host, converting at least one logical address for the file to a physical address in response to the secure deletion request, and Generating error correction parity corresponding to a deletion request, performing a partial programming operation on the error correction parity in a spare area of a page corresponding to the converted physical address, and completing the partial programming operation, performing a partial programming operation on the converted physical address. It may include performing a read operation on the page corresponding to and, when error correction is not possible in the read operation, outputting completion information regarding the secure deletion request to the host.

Description

실시간 보안 삭제 기능을 갖는 저장 장치 및 그것의 동작 방법{STORAGE DEVICE HVING REAL-TIME SECURE DELETION FUNCTION AND OPERATING METHOD THEREOF}Storage device having real-time secure deletion function and operating method thereof {STORAGE DEVICE HVING REAL-TIME SECURE DELETION FUNCTION AND OPERATING METHOD THEREOF}

본 발명은 실시간 보안 삭제 기능을 갖는 저장 장치 및 그것의 동작 방법에 관한 것이다.The present invention relates to a storage device having a real-time secure erase function and a method of operating the same.

일반적으로, 개인 정보의 비식별화는 빅 데이터 생태계에서 중요한 문제이다. 프라이버시를 강화하기 위해서는 재식별의 위협을 줄이기 위한 비식별화 기술이 필요하며, 특히 단일 출력, 연결 가능성, 추론 및 비구별 가능성을 중심으로 활발히 논의되고 있다. 단일 출력은 전체 데이터 세트에서 특정 개인에 해당하는 세트를 식별할 수 있는 정도를 의미한다. 연계성(linkability)은 개인화된 정보가 다른 정보와 연계되어 특정 개인의 정보로 식별되는 정도를 의미한다. 추론 가능성은 특정 정보의 속성 값을 통해 특정 개인을 추론하는 정도를 의미한다. 비구별성(Indistinguishability)은 특정 정보 값이 특정 집단이나 소속에 포함된 특정 개인과 구별되는 정도를 의미한다. 일반적으로 비식별화 기법은 마스킹, 가명화, 익명성, 다양성, 유사성, 샘플링, 집계 등 다양한 방식으로 도입된다. 유럽연합은 빅데이터의 프라이버시를 설계하기 위해 데이터 수집, 데이터 분석, 데이터 저장, 데이터 사용의 4단계에 적합한 요구사항을 제시하고 있다.In general, de-identification of personal information is an important issue in the big data ecosystem. To enhance privacy, de-identification technologies are needed to reduce the threat of re-identification, and are being actively discussed, especially focusing on single output, linkability, inference, and de-identification. Single output refers to the extent to which a set corresponding to a specific individual can be identified from the entire data set. Linkability refers to the degree to which personalized information can be linked to other information and identified as information about a specific individual. Inference possibility refers to the degree to which a specific individual can be inferred through the attribute values of specific information. Indistinguishability refers to the degree to which a specific information value is distinguishable from a specific individual included in a specific group or affiliation. Generally, de-identification techniques are introduced in various ways, such as masking, pseudonymization, anonymity, diversity, similarity, sampling, and aggregation. To design privacy for big data, the European Union proposes requirements appropriate for the four stages of data collection, data analysis, data storage, and data use.

NAND 플래시 메모리는 저전력 소모와 고성능 읽기/쓰기 기능을 가진 비휘발성 메모리이다. 이 때문에 스마트폰, IoT기기, SSD 등 저장장치에 낸드플래시 메모리를 사용하는 사례가 폭발적으로 늘고 있다. 낸드 플래시 메모리는 쓰기 동작(혹은 프로그램 동작)과 이레이즈(erase) 동작의 단위가 근본적으로 다르다. 또한 낸드 플래시 메모리는 덮어쓰기가 불가능하다는 것이 일반적으로 알려져 있다. 이러한 이유로 NAND 플래시 메모리는 수명을 연장하고 성능을 향상시키기 위해 다양한 내부 동작을 수행한다. 이러한 내부 동작과 관련하여 최근 포렌식의 위험성에 대한 연구가 제기되고 있다.NAND flash memory is a non-volatile memory with low power consumption and high-performance read/write functions. For this reason, the use of NAND flash memory in storage devices such as smartphones, IoT devices, and SSDs is explosively increasing. NAND flash memory has fundamentally different units of write operations (or program operations) and erase operations. Additionally, it is generally known that NAND flash memory cannot be overwritten. For this reason, NAND flash memory performs various internal operations to extend its lifespan and improve performance. In relation to these internal operations, recent research has been conducted on the risks of forensics.

등록특허 10-2445057 "낸드 플래시 메모리에서 개인 정보 폐기 방법"Registered Patent 10-2445057 “Method for disposing personal information from NAND flash memory” 등록특허 10-2144124 "하이브리드 메인 메모리 시스템의 비휘발성 메모리의 데이터 관리 방법 및 장치"Registered Patent 10-2144124 “Data management method and device for non-volatile memory of hybrid main memory system”

K. Patel and G. B. Jethava, "Privacy Preserving Techniques for Big Data: A Survey," 2018 Second International Conference on Inventive Communication and Computational Technologies (ICICCT), Coimbatore, 2018, pp. 194-199, doi: 10.1109/ICICCT.2018.8473289 M. Shamila, K. Vinuthna and A. K. Tyagi, "A Review on Several Critical Issues and Challenges in IoT based e-Healthcare System," 2019 International Conference on Intelligent Computing and Control Systems (ICCS), Madurai, India, 2019, pp. 1036-1043, doi: 10.1109/ICCS45141.2019.9065831. B. Alabdullah, N. Beloff and M. White, "Rise of Big Data - Issues and Challenges," 2018 21st Saudi Computer Society National Computer Conference (NCC), Riyadh, 2018, pp. 1-6, doi: 10.1109/NCG.2018.8593166. K. El Emam, "Risk-Based De-Identification of Health Data," in IEEE Security & Privacy, vol. 8, no. 3, pp. 64-67, May-June 2010, doi: 10.1109/MSP.2010.103. A. Kassem, G. cs, C. Castelluccia and C. Palamidessi, "Differential Inference Testing: A Practical Approach to Evaluate Sanitizations of Datasets," 2019 IEEE Security and Privacy Workshops (SPW), San Francisco, CA, USA, 2019, pp. 72-79, doi: 10.1109/SPW.2019.00024. Q. N. Hong, N. N. Tuan, T. T. Quang, D. N. Tien and C. V. Le, "Deep spatio-temporal network for accurate person re-identification," 2017 International Conference on Information and Communications (ICIC), Hanoi, 2017, pp. 208-213, doi: 10.1109/INFOC.2017.8001673. J. R. Pinto, M. V. Correia and J. S. Cardoso, "Secure Triplet Loss: Achieving Cancelability and Non-Linkability in End-to-End Deep Biometrics," in IEEE Transactions on Biometrics, Behavior, and Identity Science, doi: 10.1109/TBIOM.2020.3046620. M. Mendieta et al., "A Novel Application/Infrastructure Co-design Approach for Real-time Edge Video Analytics," 2019 SoutheastCon, Huntsville, AL, USA, 2019, pp. 1-7, doi: 10.1109/SoutheastCon42311.2019.9020639. J. Soria-Comas and J. Domingo-Ferrer, "Probabilistic k-anonymity through microaggregation and data swapping," 2012 IEEE International Conference on Fuzzy Systems, Brisbane, QLD, Australia, 2012, pp. 1-8, doi: 10.1109/FUZZ-IEEE.2012.6251280. P. Silva, E. Monteiro and P. Simes, "Privacy in the Cloud: A Survey of Existing Solutions and Research Challenges," in IEEE Access, vol. 9, pp. 10473-10497, 2021, doi: 10.1109/ACCESS.2021.3049599. S. Niksefat, P. Kaghazgaran and B. Sadeghiyan, "Privacy issues in intrusion detection systems: A taxonomy survey and future directions", Comput. Sci. Rev., vol. 25, pp. 69-78, Aug. 2017. N. Mehta, A. Pandit, and M. Kulkarni. "Elements of Healthcare Big Data Analytics," In: Kulkarni A. et al. (eds) Big Data Analytics in Healthcare. Studies in Big Data, vol 66. Springer, Cham. 2020, https://doi.org/10.1007/978-3-030-31672-3_2 C. Park, Jeong-Uk Kang, Seon-Yeong Park and Jin-Soo Kim, "Energy-aware demand paging on NAND flash-based embedded storages," Proceedings of the 2004 International Symposium on Low Power Electronics and Design (IEEE Cat. No.04TH8758), Newport Beach, CA, USA, 2004, pp. 338-343, doi: 10.1109/LPE.2004.241161. Soo-Young Kim and Sung-In Jung, "A Log-based Flash Translation Layer for Large NAND flash memory," 2006 8th International Conference Advanced Communication Technology, Phoenix Park, Korea (South), 2006, pp. 1641-1644, doi: 10.1109/ICACT.2006.206302. N. Y. Ahn and D. H. Lee, "Duty to delete on non-volatile memory", arXiv:1707.02842, Jul. 2017, [online] Available: https://arxiv.org/abs/1707.02842. A. Nisbet and R. Jacob, "TRIM, Wear Levelling and Garbage Collection on Solid State Drives: A Prediction Model for Forensic Investigators," 2019 18th IEEE International Conference On Trust, Security And Privacy In Computing And Communications/13th IEEE International Conference On Big Data Science And Engineering (TrustCom/BigDataSE), Rotorua, New Zealand, 2019, pp. 419-426, doi: 10.1109/TrustCom/BigDataSE.2019.00063. N. Y. Ahn and D. H. Lee, "Schemes for Privacy Data Destruction in NAND Flash Memory," in IEEE Access, vol. 7, pp. 181305-181313, 2019, doi: 10.1109/ACCESS.2019.2958628. M. Gibson, N. Medina, and Z. Nail. "SSD Forensics: Evidence Generation and Analysis," In: Zhang X., Choo KK. (eds) Digital Forensic Education. Studies in Big Data, vol 61. Springer, Cham. 2020. https://doi.org/10.1007/978-3-030-23547-5_11 W. -C. Wang, C. -C. Ho, Y. -M. Chang and Y. -H. Chang, "Challenges and Designs for Secure Deletion in Storage Systems," 2020 Indo - Taiwan 2nd International Conference on Computing, Analytics and Networks (Indo-Taiwan ICAN), Rajpura, India, 2020, pp. 181-189, doi: 10.1109/Indo-TaiwanICAN48429.2020.9181335. N. Y. Ahn and D. H. Lee, "Forensics and Anti-Forensics of NAND Flash Memory: From a Copy-Back Program Perspective," in IEEE Access, vol. 9, pp. 14130-14137, 2021, doi: 10.1109/ACCESS.2021.3052353. N. Y. Ahn and D. H. Lee, "Forensic Issues and Techniques to Improve Security in SSD with Flex Capacity Feature," in IEEE Access, vol. 9, pp. 15130-15137, 2021, doi: 10.1109/ACCESS.2021.3136483. S. Jia, L. Xia, B. Chen and P. Liu, "NFPS: Adding undetectable secure deletion to flash translation layer", Proc. 11th ACM Asia Conf. Comput. Commun. Security (ASIA CCS), pp. 305-316, 2016. W. -C. Wang, C. -C. Ho, Y. -H. Chang, T. -W. Kuo and P. -H. Lin, "Scrubbing-Aware Secure Deletion for 3-D NAND Flash," in IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 37, no. 11, pp. 2790-2801, Nov. 2018, doi: 10.1109/TCAD.2018.2857260. L. Yang, T. Wei, F. Zhang and J. Ma, "SADUS: Secure data deletion in user space for mobile devices", Comput. Security, vol. 77, pp. 612-626, Aug. 2018. B. Fitzgerald, C. Ryan and J. Sullivan, "An Early-Life NAND Flash Endurance Prediction System," in IEEE Access, vol. 9, pp. 148635-148649, 2021, doi: 10.1109/ACCESS.2021.3124604. B. R. Reddy, H. C. Shadakshri V., S. Anand and S. K.P., "Error-free Communication in NB-IoT using ECC Approach," 2020 Fourth World Conference on Smart Trends in Systems, Security and Sustainability (WorldS4), 2020, pp. 174-180, doi: 10.1109/WorldS450073.2020.9210266. Z. Qin, Y. Wang, D. Liu, Z. Shao and Y. Guan, "MNFTL: An efficient flash translation layer for MLC NAND flash memory storage systems," 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC), 2011, pp. 17-22. P. Lin, Y. Chang, Y. Li, W. Wang, C. Ho and Y. Chang, "Achieving Fast Sanitization with Zero Live Data Copy for MLC Flash Memory," 2018 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), 2018, pp. 1-8, doi: 10.1145/3240765.3240773. J. Park, M. Kim, M. Chun, L. Orosa, J. Kim and O. Mutlu, "Reducing solid-state drive read latency by optimizing read-retry", Proc. 26th ACM Int. Conf. Archit. Support Program. Lang. Oper. Syst., pp. 702-716, 2021. K. Patel and G. B. Jethava, “Privacy Preserving Techniques for Big Data: A Survey,” 2018 Second International Conference on Inventive Communication and Computational Technologies (ICICCT), Coimbatore, 2018, pp. 194-199, doi: 10.1109/ICICCT.2018.8473289 M. Shamila, K. Vinuthna and AK Tyagi, "A Review on Several Critical Issues and Challenges in IoT based e-Healthcare System," 2019 International Conference on Intelligent Computing and Control Systems (ICCS), Madurai, India, 2019, pp. 1036-1043, doi: 10.1109/ICCS45141.2019.9065831. B. Alabdullah, N. Beloff and M. White, "Rise of Big Data - Issues and Challenges," 2018 21st Saudi Computer Society National Computer Conference (NCC), Riyadh, 2018, pp. 1-6, doi: 10.1109/NCG.2018.8593166. K. El Emam, “Risk-Based De-Identification of Health Data,” in IEEE Security & Privacy, vol. 8, no. 3, pp. 64-67, May-June 2010, doi: 10.1109/MSP.2010.103. A. Kassem, G. cs, C. Castelluccia and C. Palamidessi, "Differential Inference Testing: A Practical Approach to Evaluate Sanitizations of Datasets," 2019 IEEE Security and Privacy Workshops (SPW), San Francisco, CA, USA, 2019, pp. 72-79, doi: 10.1109/SPW.2019.00024. QN Hong, NN Tuan, TT Quang, DN Tien and CV Le, "Deep spatio-temporal network for accurate person re-identification," 2017 International Conference on Information and Communications (ICIC), Hanoi, 2017, pp. 208-213, doi: 10.1109/INFOC.2017.8001673. JR Pinto, MV Correia and JS Cardoso, “Secure Triplet Loss: Achieving Cancelability and Non-Linkability in End-to-End Deep Biometrics,” in IEEE Transactions on Biometrics, Behavior, and Identity Science, doi: 10.1109/TBIOM.2020.3046620. M. Mendieta et al., "A Novel Application/Infrastructure Co-design Approach for Real-time Edge Video Analytics," 2019 SoutheastCon, Huntsville, AL, USA, 2019, pp. 1-7, doi: 10.1109/SoutheastCon42311.2019.9020639. J. Soria-Comas and J. Domingo-Ferrer, "Probabilistic k-anonymity through microaggregation and data swapping," 2012 IEEE International Conference on Fuzzy Systems, Brisbane, QLD, Australia, 2012, pp. 1-8, doi: 10.1109/FUZZ-IEEE.2012.6251280. P. Silva, E. Monteiro and P. Simes, “Privacy in the Cloud: A Survey of Existing Solutions and Research Challenges,” in IEEE Access, vol. 9, pp. 10473-10497, 2021, doi: 10.1109/ACCESS.2021.3049599. S. Niksefat, P. Kaghazgaran and B. Sadeghiyan, “Privacy issues in intrusion detection systems: A taxonomy survey and future directions”, Comput. Sci. Rev., vol. 25, pp. 69-78, Aug. 2017. N. Mehta, A. Pandit, and M. Kulkarni. “Elements of Healthcare Big Data Analytics,” In: Kulkarni A. et al. (eds) Big Data Analytics in Healthcare. Studies in Big Data, vol 66. Springer, Cham. 2020, https://doi.org/10.1007/978-3-030-31672-3_2 C. Park, Jeong-Uk Kang, Seon-Yeong Park and Jin-Soo Kim, "Energy-aware demand paging on NAND flash-based embedded storages," Proceedings of the 2004 International Symposium on Low Power Electronics and Design (IEEE Cat. No.04TH8758), Newport Beach, CA, USA, 2004, pp. 338-343, doi: 10.1109/LPE.2004.241161. Soo-Young Kim and Sung-In Jung, "A Log-based Flash Translation Layer for Large NAND flash memory," 2006 8th International Conference Advanced Communication Technology, Phoenix Park, Korea (South), 2006, pp. 1641-1644, doi: 10.1109/ICACT.2006.206302. NY Ahn and DH Lee, "Duty to delete on non-volatile memory", arXiv:1707.02842, Jul. 2017, [online] Available: https://arxiv.org/abs/1707.02842. A. Nisbet and R. Jacob, "TRIM, Wear Leveling and Garbage Collection on Solid State Drives: A Prediction Model for Forensic Investigators," 2019 18th IEEE International Conference On Trust, Security And Privacy In Computing And Communications/13th IEEE International Conference On Big Data Science And Engineering (TrustCom/BigDataSE), Rotorua, New Zealand, 2019, pp. 419-426, doi: 10.1109/TrustCom/BigDataSE.2019.00063. NY Ahn and DH Lee, "Schemes for Privacy Data Destruction in NAND Flash Memory," in IEEE Access, vol. 7, pp. 181305-181313, 2019, doi: 10.1109/ACCESS.2019.2958628. M. Gibson, N. Medina, and Z. Nail. “SSD Forensics: Evidence Generation and Analysis,” In: Zhang X., Choo KK. (eds) Digital Forensic Education. Studies in Big Data, vol 61. Springer, Cham. 2020. https://doi.org/10.1007/978-3-030-23547-5_11 W.-C. Wang, C.-C. Ho, Y.-M. Chang and Y.-H. Chang, "Challenges and Designs for Secure Deletion in Storage Systems," 2020 Indo - Taiwan 2nd International Conference on Computing, Analytics and Networks (Indo-Taiwan ICAN), Rajpura, India, 2020, pp. 181-189, doi: 10.1109/Indo-TaiwanICAN48429.2020.9181335. NY Ahn and DH Lee, "Forensics and Anti-Forensics of NAND Flash Memory: From a Copy-Back Program Perspective," in IEEE Access, vol. 9, pp. 14130-14137, 2021, doi: 10.1109/ACCESS.2021.3052353. NY Ahn and DH Lee, "Forensic Issues and Techniques to Improve Security in SSD with Flex Capacity Feature," in IEEE Access, vol. 9, pp. 15130-15137, 2021, doi: 10.1109/ACCESS.2021.3136483. S. Jia, L. Xia, B. Chen and P. Liu, "NFPS: Adding undetectable secure deletion to flash translation layer", Proc. 11th ACM Asia Conf. Comput. Commun. Security (ASIA CCS), pp. 305-316, 2016. W.-C. Wang, C.-C. Ho, Y.-H. Chang, T.-W. Kuo and P.-H. Lin, “Scrubbing-Aware Secure Deletion for 3-D NAND Flash,” in IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 37, no. 11, pp. 2790-2801, Nov. 2018, doi: 10.1109/TCAD.2018.2857260. L. Yang, T. Wei, F. Zhang and J. Ma, “SADUS: Secure data deletion in user space for mobile devices”, Comput. Security, vol. 77, pp. 612-626, Aug. 2018. B. Fitzgerald, C. Ryan and J. Sullivan, “An Early-Life NAND Flash Endurance Prediction System,” in IEEE Access, vol. 9, pp. 148635-148649, 2021, doi: 10.1109/ACCESS.2021.3124604. BR Reddy, H.C. Shadakshri V., S. Anand and SKP, "Error-free Communication in NB-IoT using ECC Approach," 2020 Fourth World Conference on Smart Trends in Systems, Security and Sustainability (WorldS4), 2020, pp. 174-180, doi: 10.1109/WorldS450073.2020.9210266. Z. Qin, Y. Wang, D. Liu, Z. Shao and Y. Guan, "MNFTL: An efficient flash translation layer for MLC NAND flash memory storage systems," 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC) , 2011, pp. 17-22. P. Lin, Y. Chang, Y. Li, W. Wang, C. Ho and Y. Chang, "Achieving Fast Sanitization with Zero Live Data Copy for MLC Flash Memory," 2018 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), 2018, pp. 1-8, doi: 10.1145/3240765.3240773. J. Park, M. Kim, M. Chun, L. Orosa, J. Kim and O. Mutlu, "Reducing solid-state drive read latency by optimizing read-retry", Proc. 26th ACM Int. Conf. Archit. Support Program. Lang. Opera. Syst., pp. 702-716, 2021.

본 발명의 목적은 실시간 보안 삭제가 가능한 저장 장치 및 그것의 동작 방법을 제공하는데 있다.The purpose of the present invention is to provide a storage device capable of real-time secure deletion and a method of operating the same.

본 발명의 실시 예에 따른 저장 장치의 동작 방법은, 호스트로부터 파일에 대한 보안 삭제 요청을 수신하는 단계; 상기 보안 삭제 요청에 응답하여 상기 파일에 대한 적어도 하나의 논리 어드레스를 물리 어드레스로 변환하는 단계; 상기 보안 삭제 요청에 대응하는 에러 정정 패리티를 생성하는 단계; 상기 변환된 물리 어드레스에 대응하는 페이지의 스페어 영역에 상기 에러 정정 패리티를 부분 프로그램 동작을 수행하는 단계; 상기 부분 프로그램 동작 완료 후에 상기 변환된 물리 어드레스에 대응하는 페이지에 대한 읽기 동작을 수행하는 단계; 및 상기 읽기 동작이 에러 정정 불가능할 때, 상기 보안 삭제 요청에 대한 완료 정보를 상기 호스트로 출력하는 단계를 포함할 수 있다.A method of operating a storage device according to an embodiment of the present invention includes receiving a secure deletion request for a file from a host; converting at least one logical address for the file into a physical address in response to the secure deletion request; generating error correction parity corresponding to the secure deletion request; performing a partial program operation to apply the error correction parity to a spare area of a page corresponding to the converted physical address; performing a read operation on a page corresponding to the converted physical address after completing the partial program operation; and when the read operation is unable to correct an error, outputting completion information for the secure deletion request to the host.

본 발명의 실시 예에 따른 저장 장치 및 그것의 동작 방법은, 에러 정정 코드를 조정함으로써 실시간 보안 삭제 및 그것의 보안 검증 동작을 수행할 수 있다.The storage device and its operating method according to an embodiment of the present invention can perform real-time secure deletion and its security verification operations by adjusting an error correction code.

이하에 첨부되는 도면들은 본 실시 예에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 실시 예들을 제공한다.
도 1은 일반적인 NAND 플래시 메모리의 물리적 페이지 구성을 보여주는 도면이다.
도 2는 ECC 인코딩 과정을 보여주는 도면이다.
도 3은 ECC 디코딩 과정을 보여주는 도면이다.
도 4는 본 발명의 실시 예에 따른 온-칩 보안 삭제 대상을 보여주는 도면이다.
도 5는 예비 영역에 대한 부분 프로그래밍을 예시적으로 보여주는 도면이다.
도 6은 본 발명의 실시 예에 따른 실시간 읽기 실패 출력을 예시적으로 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 ECC 패리티를 사용하여 제안된 보안 삭제 동작을 보여주는 래더 다이어그램이다.
도 8은 본 발명의 실시 예에 따른 저장 장치(10)를 예시적으로 보여주는 도면이다.
The drawings attached below are intended to aid understanding of the present embodiment and provide examples along with a detailed description.
Figure 1 is a diagram showing the physical page configuration of a typical NAND flash memory.
Figure 2 is a diagram showing the ECC encoding process.
Figure 3 is a diagram showing the ECC decoding process.
Figure 4 is a diagram showing an on-chip secure deletion target according to an embodiment of the present invention.
Figure 5 is a diagram illustrating partial programming for a spare area.
Figure 6 is a diagram illustrating real-time read failure output according to an embodiment of the present invention.
Figure 7 is a ladder diagram showing the proposed secure erase operation using ECC parity according to an embodiment of the present invention.
FIG. 8 is a diagram illustrating a storage device 10 according to an embodiment of the present invention.

아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시 할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.Below, using the drawings, the content of the present invention will be described clearly and in detail so that a person skilled in the art can easily implement it.

일반적으로 보안 삭제(secure deletion)는 오프-칩(off-chip) 보안 삭제 방식과 온-칩(on-chip) 보안 삭제 방식으로 구분된다. 오프-칩 보안 삭제 방식은 블록 단위의 이레이즈(erase) 동작을 기반으로 하기 때문에 실시간(real-time) 트림(trim) 동작을 수행할 수 없다. 이 때문에 기본적으로 해킹 위협에 노출되어 있다. 한편, 온-칩 보안 삭제 방식은 페이지 단위 삭제 동작을 수행하기 때문에 실시간 트림(trim) 동작이 가능하다. 하지만 온-칩 보안 삭제 방식은 인접 페이지 데이터에 대한 프로그램 디스터번스(disturbance) 문제가 있다. 제안하는 온-칩 이레이즈 방식은 부분적인 프로그램 동작을 통한 ECC 코드의 변조를 이용하여 인접 페이지 데이터에 대한 프로그램 디스터번스(disturbance) 문제를 획기적으로 줄일 수 있다. 또한, 제안된 코드 변조 보안 삭제 방식은 실시간으로 원본 데이터의 삭제 여부를 검증할 수 있다.In general, secure deletion is divided into an off-chip secure deletion method and an on-chip secure deletion method. Because the off-chip secure erase method is based on a block-level erase operation, it cannot perform a real-time trim operation. Because of this, it is basically exposed to hacking threats. Meanwhile, since the on-chip secure erase method performs a page-by-page erase operation, a real-time trim operation is possible. However, the on-chip secure deletion method has a program disturbance problem with adjacent page data. The proposed on-chip erase method can dramatically reduce program disturbance problems for adjacent page data by using ECC code modulation through partial program operations. Additionally, the proposed code tampering secure deletion method can verify whether the original data has been deleted in real time.

최근 무효화 영역, 특히 OP 영역에 대한 악성코드 주입 공격 가능성에 대한 논의가 이슈가 되고 있다. 이러한 문제는 기존 트림 동작이 불완전하기 때문에 발생한다. 실시간 트림 동작을 수행하지 않기 때문에 불가피하게 문제가 발생한다. 호스트가 트림 명령을 전송하더라도 저장 장치는 트림 동작을 실제로 수행하지 않고 트림 동작을 시뮬레이션할 뿐이므로 원본 데이터는 여전히 저장 장치에 남아 있다. 이 문제는 근본적으로 삭제 동작을 기반으로 수행되는 이전의 보안 삭제 기술에 의해 발생한다. 최근에는 페이지 단위 보안 삭제 기술이 공개되었다. 이러한 페이지 단위 보안 삭제 기법은 실시간 트림(trim) 동작을 수행할 수 있는 장점이 있다. Recently, discussion about the possibility of malware injection attacks on invalidation areas, especially OP areas, has become an issue. This problem occurs because the existing trim behavior is imperfect. Problems inevitably arise because real-time trim operations are not performed. Even if the host sends a trim command, the storage device does not actually perform the trim operation but only simulates the trim operation, so the original data still remains in the storage device. This issue is fundamentally caused by previous secure delete techniques that perform based on delete operations. Recently, page-level secure deletion technology was released. This page-level secure deletion technique has the advantage of performing a real-time trim operation.

본 발명은 오프-칩 보안 삭제 방식과 같은 기존 보안 삭제 방식을 검토하고 기존 보안 삭제 기술의 한계에 대해 논의한다. 또한 본발명은 온-칩 보안 삭제 기술에 대해 논의한다. 또한 본 발명은 ECC 변조 보안 삭제 기법을 제안한다. 5장에서는 기존의 오프-칩 보안 삭제 방식과 온-칩 보안 삭제 방식의 성능을 비교한 후, 다양한 온-칩 보안 삭제 방식과 제안하는 온-칩 보안 삭제 방식의 성능을 비교한다. The present invention reviews existing secure erase methods, such as off-chip secure erase methods, and discusses the limitations of existing secure erase technologies. The present invention also discusses on-chip secure erase technology. Additionally, the present invention proposes an ECC modulation secure deletion technique. Chapter 5 compares the performance of the existing off-chip secure erase method and the on-chip secure erase method, and then compares the performance of various on-chip secure erase methods and the proposed on-chip secure erase method.

본발명은 경제적이고 합리적이며 실시간 트림 동작을 수행하기 위해 쉽게 구현할 수 있는 온-칩 보안 삭제 기술을 제안하는 데 기여한다. The present invention contributes to proposing an on-chip secure erase technique that is economical, reasonable, and can be easily implemented to perform real-time trim operations.

운영체제가 기본적으로 파일을 삭제할 때 실제로 파일을 삭제하는 것이 아니라 해당 파일에 대한 메타데이터(metadata)를 삭제한다. 파일을 관리할 때 파일 시스템은 실제 파일과 함께 해당 파일에 대한 정보를 저장하는 메타데이터를 관리한다. 이 메타데이터는 해당 파일이 실제로 저장 장치에 저장되어 있는 위치, 파일 크기, 파일 이름, 파일에 대한 접근 권한 등 파일 관리에 필요한 정보이다. 반대로 특정 파일에 대한 메타데이터가 사라지면 해당 파일은 저장 장치 내부에 존재하지 않는 것으로 처리된다. 즉, 메타데이터가 삭제되면 파일도 삭제된 것으로 처리된다. 보안 삭제는 파일의 메타데이터 뿐만 아니라 실제 파일도 완전히 삭제하는 것을 의미한다.Basically, when the operating system deletes a file, it does not actually delete the file, but rather deletes the metadata about the file. When managing files, the file system manages metadata that stores information about the file along with the actual file. This metadata is information necessary for file management, such as the location where the file is actually stored on the storage device, file size, file name, and access rights to the file. Conversely, if the metadata for a specific file disappears, the file is treated as if it does not exist inside the storage device. In other words, when metadata is deleted, the file is also treated as deleted. Secure deletion means completely deleting not only the file's metadata, but also the actual file.

트림(TRIM)은 메타 데이터가 삭제된 파일을 저장 장치 내부에서 실제로 삭제하는 동작을 수행하는 것을 의미한다. 트림은 필요한 공간을 확보하기 위해 저장 장치 내부의 무효화된 데이터를 완전히 삭제하는 동작이다. 일반적으로 이러한 트림 설정은 저장 장치의 쓰기 속도를 높이고 빈 공간을 효율적으로 사용함으로써 저장 장치의 수명을 연장시킬 수 있다. 자동 트림 기능은 Windows 7 운영 체제부터 지원된다. 저장 장치는 트림 기능을 내부적으로 지원한다. 일반적으로 트림 명령은 호스트에서 저장 장치로 전달되는 명령이다.TRIM means performing the operation of actually deleting a file with deleted metadata from inside the storage device. Trim is an operation that completely deletes invalidated data inside a storage device to secure the necessary space. In general, these trim settings can increase the storage device's write speed and extend the life of the storage device by using free space more efficiently. The auto trim function is supported starting from the Windows 7 operating system. The storage device supports the trim function internally. Generally, a trim command is a command passed from the host to the storage device.

NAND 플래시 메모리는 물리적 구조에 따라 Read/Program 동작의 크기와 Erase 동작의 크기가 다르게 설정된다. 낸드 플래시 메모리는 복수의 메모리 블록을 포함하고, 복수의 메모리 블록 각각은 복수의 페이지를 포함하며, 복수의 페이지 각각은 하나의 워드라인에 연결된 복수의 메모리 셀을 포함한다. 일반적으로 읽기/프로그램 동작은 페이지 크기로 이루어지며 이레이즈 동작은 블록 크기로 이루어진다. 일반적으로 NAND 플래시 메모리는 수명 관리 측면에서 상대적으로 이레이즈(erase) 동작이 적게 관리된다. 이는 사용자가 파일을 완전히 삭제하고자 하는 시점과 파일이 저장 장치 내부에서 완전히 삭제되는 시점이 다를 수 있음을 의미한다. 이는 낸드플래시 메모리의 구조적, 내재적 한계에서 발생하는 문제다. 일반적으로 이레이즈 동작은 전하 트랩층의 전하를 대량으로 제거하는 블록 단위 동작이다. 한편, 프로그램/읽기 동작은 블록의 크기보다 훨씬 작은 크기의 페이지 단위로 수행된다. 단, 삭제 동작을 기반으로 기존 트림 동작을 수행하고 있다. 따라서 트림 동작은 보안상 매우 필요한 동작이지만, 저장 장치의 성능 및 수명 관리 측면에서 피해야 할 동작이기도 하다.For NAND flash memory, the size of the Read/Program operation and the size of the Erase operation are set differently depending on the physical structure. NAND flash memory includes a plurality of memory blocks, each of the plurality of memory blocks includes a plurality of pages, and each of the plurality of pages includes a plurality of memory cells connected to one word line. In general, read/program operations are performed with page size, and erase operations are performed with block size. In general, NAND flash memory is managed with relatively few erase operations in terms of lifespan management. This means that the time when a user wants to completely delete a file and the time when the file is completely deleted from inside the storage device may be different. This is a problem that arises from the structural and inherent limitations of NAND flash memory. In general, the erase operation is a block-level operation that removes a large amount of charge from the charge trap layer. Meanwhile, program/read operations are performed in pages with a size much smaller than the block size. However, the existing trim operation is performed based on the delete operation. Therefore, the trim operation is a very necessary operation for security purposes, but it is also an operation that should be avoided in terms of performance and lifespan management of the storage device.

트림 동작은 기본적으로 이레이즈(erase) 동작 전에 가비지 컬렉션(garbage collection)을 수행한다. 가비지 컬렉션은 적어도 2개 이상의 블록에서 유효한 페이지를 새로운 블록으로 모으는 동작을 말한다. 2개 이상의 블록으로 구성된 유효한 페이지만 가비지 수집에 의해 새 메모리 블록으로 복사된다. 이러한 방식으로 유효한 페이지로만 구성된 새 블록이 호스트에서 액세스할 수 있는 블록에 매핑 된다. 또한 이레이즈(erase) 동작을 통해 두 개 이상의 블록을 재사용 가능한 메모리 블록으로 재생성 한다. 이러한 가비지 컬렉션은 저장 장치의 성능을 저하시키므로 백그라운드 동작으로 수행되거나 유휴 상태에서 수행되고 있다.The trim operation basically performs garbage collection before the erase operation. Garbage collection refers to the operation of collecting valid pages from at least two blocks into a new block. Only valid pages consisting of two or more blocks are copied to a new memory block by garbage collection. In this way, a new block consisting only of valid pages is mapped to a block accessible to the host. Additionally, an erase operation regenerates two or more blocks into reusable memory blocks. Since this garbage collection degrades the performance of the storage device, it is performed as a background operation or in an idle state.

데이터는 암호화 키를 사용하여 암호화 및 저장된다. 데이터 삭제 시 암호화 키만 삭제된다. 이 암호화 체계를 사용하면 빠르고 보안 삭제가 가능한다. 하지만 파일의 모든 키를 삭제하면 상당한 오버헤드가 발생한다. 따라서 모든 키를 하나의 메모리 블록에 저장했다가 한번에 삭제하는 방식도 제안된다. 하지만 이러한 암호키 삭제 방식은 실시간 무효화 방식이 적용된 데이터베이스에 적용하기 어렵다.Data is encrypted and stored using an encryption key. When deleting data, only the encryption key is deleted. This encryption scheme allows for fast and secure deletion. However, deleting all keys in a file incurs significant overhead. Therefore, a method of storing all keys in one memory block and then deleting them at once is also proposed. However, this encryption key deletion method is difficult to apply to a database with real-time invalidation method applied.

감지할 수 없는 보안 삭제를 위해 삭제된 데이터를 제거하면 호스트에서 접근할 수 없게 되며, 삭제된 데이터가 과거에 삭제된 사실을 알 수 없도록 삭제 내역도 숨겨진다. 풀 스크러빙 방식은 모든 페이지 데이터를 제로 페이지로 만드는 방식이다. 부분 스크러빙 방식은 페이지 데이터의 일부를 제로 데이터로 만드는 방식이다. 이 방식을 NFPS(NAND Flash Partial Scrubbing)라고 한다. 이 부분 스크러빙 방식은 삭제된 파일의 존재를 감지하기 어렵게 만든다. 예를 들어 부분 스크러빙에는 부분 페이지 재프로그래밍이 포함된다.When deleted data is removed for undetectable secure deletion, it becomes inaccessible to hosts and the deletion history is hidden so that no one knows that the deleted data was deleted in the past. The full scrubbing method turns all page data into zero pages. The partial scrubbing method converts part of the page data into zero data. This method is called NFPS (NAND Flash Partial Scrubbing). This partial scrubbing method makes it difficult to detect the presence of deleted files. For example, partial scrubbing involves partial page reprogramming.

삭제 펄스 인가 방식은 페이지 단위 리프로그래밍 방식과 유사하다. 하지만 재프로그래밍 방식은 특정 데이터, 예를 들어 제로 비트로 데이터를 프로그래밍하는 것이다. 하지만 삭제 펄스 인가 방식은 해당 워드라인에 복수의 삭제 펄스를 인가하여 반드시 최상위 비트를 획득하지 않더라도 부분 덮어쓰기를 수행한다. 이레이즈 펄스의 레벨 및 개수는 선험적으로 결정될 수 있다. 예를 들어, 에러 정정 코드로 복구할 수 없는 정도까지만 데이터를 변경하도록 삭제 펄스의 레벨과 개수를 정할 수 있다. 삭제 펄스 인가 방식에 따라 원본 데이터는 임의의 데이터로 변경된다. 특히, 멀티 비트 메모리 셀의 경우 삭제 펄스 인가 방식이 더 유용하고 간단하게 적용할 수 있다.The deletion pulse application method is similar to the page-by-page reprogramming method. However, the reprogramming method is to program the data with specific data, for example, zero bits. However, the erase pulse application method applies a plurality of erase pulses to the relevant word line to perform partial overwriting even if the most significant bit is not necessarily obtained. The level and number of erase pulses can be determined a priori. For example, the level and number of erase pulses can be determined to change data only to the extent that it cannot be recovered with an error correction code. Depending on the deletion pulse application method, the original data is changed to random data. In particular, in the case of multi-bit memory cells, the erase pulse application method is more useful and simple to apply.

트림 동작은 기본적으로 호스트의 요청에 따라 저장 장치의 파일을 완전히 삭제하는 동작을 의미한다. 트림 동작과 관련된 명령이 저장 장치로 전송되면, 호스트는 저장 장치에서 트림 동작이 수행되었음을 알리는 완료 메시지를 수신하였기 때문에 트림 동작이 완료되었다고 믿는다. 하지만 실제로 이러한 트림(TRIM) 동작의 완료는 호스트에서 인식하지 못한 채 스토리지 장치 내부에서만 처리되며, 실제로 원본 데이터를 삭제하지 않고 관련 메타데이터만 삭제하는 경우도 드물지 않다. 불행하게도 대부분의 보안 삭제 체계는 이 상태에 있다. 그렇기 때문에 저장 장치의 포렌식은 상대적으로 쉽습니다. 원본 데이터는 삭제되지 않고 관련 메타데이터만 삭제되며 보안 삭제가 완료되었음을 호스트에 알리기 때문이다. 해커는 메타데이터 복구를 열망하는 반면 저장 장치 관리자는 메타데이터 복구를 불가능하게 만드는 체계를 연구하고 있다.The trim operation basically means the operation of completely deleting files on the storage device at the host's request. When a command related to a trim operation is sent to the storage device, the host believes that the trim operation has been completed because it has received a completion message from the storage device indicating that the trim operation has been performed. However, in reality, the completion of this TRIM operation is only processed inside the storage device without being recognized by the host, and it is not uncommon for only the related metadata to be deleted without actually deleting the original data. Unfortunately, most secure erase schemes are in this state. For this reason, forensics of storage devices is relatively easy. This is because the original data is not deleted, only related metadata is deleted, and the host is notified that secure deletion has been completed. While hackers are eager to recover metadata, storage administrators are researching schemes to make metadata recovery impossible.

고객의 입장에서는 전체 트림 동작이 필요한다. 하지만 기존의 보안 삭제 방식에서는 전체 트림(TRIM) 동작을 수행할 때 원본 데이터를 삭제하기 위해 유효 블록 혹은 무효 블록에 대해 이레이즈(erase) 동작을 수행해야 한다. 이러한 방식은 저장 장치의 수명과 비용 측면에서 무리가 있기 때문에 저장 장치 제조업체는 호스트의 요청을 부분적으로 손상시키는 수준에서 보안 삭제를 진행하고 있다. 결국 고객사는 풀-트림 동작을 요청하고 있지만 저장장치는 이 요청을 100% 받아들이지 않고 라인 중간에서 불완전한 트림 동작을 수행하고 있다.From the customer's perspective, a full trim operation is required. However, in the existing secure deletion method, when performing a full TRIM operation, an erase operation must be performed on valid or invalid blocks to delete the original data. Because this method is unreasonable in terms of the lifespan and cost of the storage device, storage device manufacturers are performing secure deletion at a level that partially compromises the host's request. Ultimately, the customer is requesting a full-trim operation, but the storage device does not 100% accept this request and performs an incomplete trim operation in the middle of the line.

이러한 문제는 기본적으로 이레이즈 동작은 블록 단위로 수행되고 프로그램 동작은 페이지 단위로 수행되기 때문에 발생한다. 이것은 당업자에게 잘 알려진 사실이다. 하지만 당업자는 그것이 페이지 단위의 삭제 동작에 대한 해결책이라는 것을 알면서도 진행하지 않는다. 일부 연구자들은 2016년부터 이 솔루션을 제안하고 있다. 예를 들어, 2016년에는 스크러빙 방식이 제시되었고, 2017년에는 임의 데이터 덮어쓰기 방식과 삭제 펄스 인가 방식이 제안되었으며, 다중 레벨 변조를 위한 하위 프로그램 방식이 제안되었다. 2018년에 단일 레벨 프로그램으로 프로그램이 제안되었습니다. 이러한 페이지 수준 보안 삭제 체계를 온-칩 보안 삭제 체계라고 한다. 다른 것들은 물론 오프-칩 보안 체계라고 불릴 것이다.This problem occurs because basically erase operations are performed in block units and program operations are performed in page units. This is a well known fact to those skilled in the art. However, those skilled in the art do not proceed even though they know that this is a solution to the page-level deletion operation. Some researchers have been proposing this solution since 2016. For example, a scrubbing method was proposed in 2016, a random data overwriting method and a deletion pulse application method were proposed in 2017, and a subprogram method for multi-level modulation was proposed. The program was proposed as a single-level program in 2018. This page-level secure erase system is called an on-chip secure erase system. Others will of course be called off-chip security systems.

칩 외부 보안 삭제 체계는 본질적으로 제한적이다. 트림 동작을 수행하도록 호스트에 알리고 잘못된 완료를 보고한다. 트림(TRIM) 동작의 엄격한 정의에 따르면 원본 데이터는 삭제되지 않지만 삭제와 동일한 효과가 있으므로 안심하시기 바란다. 맞는 말인가? 아니다. 답이 틀렸다는 것은 당업자가 누구보다 잘 안다. 예를 들어, 원본 데이터를 암호화하고 암호화 키를 삭제하기 때문에 암호화 키가 누락되어 원본 데이터를 복구할 가능성이 낮다는 주장이다. 하지만 기술은 상당히 빠르게 발전하고 있다. 양자컴퓨팅 기술은 이제 머지않아 상용화될 것으로 알려졌다. 이것은 무엇을 의미 하는가? 이는 해커도 양자 컴퓨팅 기술을 사용할 수 있음을 의미한다. 암호화된 데이터를 양자 컴퓨팅으로 복구할 수 있는 가능성은 부인할 수 없다. 암호화된 데이터를 복구하는 비용이 양자 컴퓨팅을 사용하는 비용보다 크면 해커는 반드시 암호화된 원본 데이터를 복구하려고 시도할 것이다.Off-chip secure erase schemes are inherently limited. Notifies the host to perform a trim operation and reports an incorrect completion. Please be assured that although the strict definition of the TRIM operation does not delete the original data, it has the same effect as deleting. Is this true? no. Those skilled in the art know better than anyone else that the answer is wrong. For example, the argument is that because the original data is encrypted and the encryption key is deleted, the possibility of recovering the original data due to missing encryption key is low. But technology is advancing quite rapidly. Quantum computing technology is expected to be commercialized in the near future. What does this mean? This means that even hackers can use quantum computing technology. The possibility of recovering encrypted data using quantum computing is undeniable. If the cost of recovering encrypted data is greater than the cost of using quantum computing, hackers will inevitably attempt to recover the original encrypted data.

저장 장치 관리를 어렵게 만드는 것은 WAF(Write Amplification Factor)이다. 저장 장치는 이레이즈(erase) 단위와 프로그램 단위가 다르기 때문에 WAF는 시간이 지남에 따라 증가하고 있다. 일반적으로 무효 블록과 검증 블록은 저장 장치 내부에 존재한다. WAF가 증가함에 따라 이러한 무효 블록과 유효성 검사 블록이 점점 더 많이 발생하는 것은 당연한다. 하지만 무효 블록에는 무효화 페이지만 존재하지만 유효 블록과 무효 블록에는 무효화 페이지 뿐만 아니라 무효화 페이지도 존재할 수 있다. 이러한 상황은 원본 데이터를 관리하기 어렵게 만든다. 하나 이상의 원본 데이터가 유효성 검사 블록에 있거나 무효 블록에 하나 이상의 데이터가 있을 수 있다. 호스트가 저장 장치의 원본 데이터를 삭제하라는 명령을 내리면 전체 트림(TRIM) 동작을 통해 저장 장치 전체에서 유효하지 않은/유효한 블록의 모든 원본 데이터를 삭제해야 한다. 전체 트림(TRIM) 동작을 수행하기 위해서는 가비지 수집 및 삭제 이력을 종합적으로 살펴볼 필요가 있다. 이는 저장 장치 관리 측면에서 상당한 부담이 되고 있다.What makes storage device management difficult is WAF (Write Amplification Factor). Because storage devices have different erase units and program units, WAF is increasing over time. Generally, invalid blocks and verification blocks exist inside the storage device. As WAFs grow, it is natural to see more and more of these invalid and validation blocks. However, only invalid pages exist in an invalid block, but invalid pages as well as invalid pages can exist in valid blocks and invalid blocks. This situation makes it difficult to manage the original data. There may be one or more original data in a validation block or one or more data in an invalid block. When the host issues a command to delete original data on a storage device, a global TRIM operation must be performed to delete all original data in invalid/valid blocks across the storage device. In order to perform a full TRIM operation, it is necessary to comprehensively look at the garbage collection and deletion history. This poses a significant burden in terms of storage device management.

본질적으로 이러한 문제를 피하기 위해서는 온-칩 보안 삭제 방식을 실시간으로 적용해야 한다. 트림 요청과 관계없이 저장 장치는 데이터 업데이트 혹은 데이터 삭제 동작이 수행되는 시점에 실시간으로 온-칩 보안 삭제 방식을 적용할 수 있다. 이는 선천적으로 발생할 수 있는 무효화된 페이지에 원본 데이터가 존재하는 것을 방지할 수 있다. 또한 무효 블록에 원본 데이터가 근본적으로 존재하는 것을 방지할 수 있다. 온-칩 보안 삭제 방식을 적용하면 원본 데이터는 검증된 블록의 검증된 페이지에만 존재한다. 이것은 원본 데이터의 관리를 매우 가볍게 만든다.Essentially, to avoid these problems, on-chip secure erase methods must be applied in real time. Regardless of the trim request, the storage device can apply an on-chip secure erase method in real time at the time a data update or data delete operation is performed. This can prevent original data from existing on invalidated pages, which can occur congenitally. It can also fundamentally prevent original data from existing in invalid blocks. When applying the on-chip secure erasure method, the original data exists only on the verified pages of the verified block. This makes the management of the original data very light.

제안된 온-칩 보안 삭제 방식Proposed on-chip secure erasure method

호스트의 완전한 트림 동작을 위해서는 온-칩 보안 삭제가 불가피하게 적용되어야 하는 저장장치 기술이다. 호스트 혹은 고객의 요청에 따라 온-칩 보안 삭제는 저장 장치의 필수 기술로 발전할 가능성이 높다.It is a storage technology that inevitably requires on-chip secure erase for complete trim operation of the host. Depending on the host or customer's request, on-chip secure erase is likely to develop into an essential technology for storage devices.

전통적인 온-칩 보안 삭제 방식Traditional on-chip secure erase method

기존의 온-칩 보안 삭제 방식은 기본적으로 덮어쓰기 기술을 사용하여 원본 데이터로 변조하는 데 중점을 둔다. 스크러빙 방식은 메모리 셀의 문턱 전압을 최상위 비트로 변환하는 방식이다. 부분 덮어쓰기 방식은 임의의 데이터를 생성하고 재프로그래밍하는 것이다. 삭제 펄스 인가 방식은 ECC에서 에러 정정이 불가능한 정도까지만 원본 데이터를 변조하기 위해 펄스를 인가한다.Existing on-chip secure erasure methods basically focus on tampering with the original data using overwrite technology. The scrubbing method converts the threshold voltage of a memory cell into the most significant bit. The partial overwrite method generates random data and reprograms it. The deletion pulse application method applies pulses to modulate the original data only to the extent that error correction is impossible in ECC.

스크러빙 방식은 최상위 비트까지 메모리 셀을 프로그래밍하는 데 상당한 시간이 걸린다. 또한 상위 상태 프로그램이 상대적으로 과도하게 실행되면 페이지가 물리적으로 파괴될 가능성이 높다. 부분 덮어쓰기 방식은 스크러빙 방식에 비해 상대적으로 물리적 파괴 가능성을 줄일 수 있지만, 프로그래밍 가능한 랜덤 데이터를 생성하고 프로그래밍하는 데 필요한 시간이 추가되어야 한다.The scrubbing method takes a significant amount of time to program the memory cells up to the most significant bit. Additionally, if the upper state program executes relatively excessively, there is a high possibility that the page will be physically destroyed. Partial overwriting can reduce the likelihood of physical destruction relative to scrubbing, but requires the added time required to generate and program programmable random data.

스크러빙 방식과 부분 덮어쓰기 방식에 비해 삭제 펄스 인가 방식은 페이지 단위의 원본 데이터를 간단하고 효율적으로 삭제할 수 있으면서도 물리적인 파괴 위험을 줄일 수 있다. 하지만 인접한 유효 워드라인에 연결된 데이터가 변형될 가능성이 우려된다. 즉, 이레이즈 펄스 디스터번스가 발생할 가능성이 있다.Compared to the scrubbing method and partial overwriting method, the deletion pulse application method can simply and efficiently delete original data on a page basis while reducing the risk of physical destruction. However, there is concern that data connected to adjacent valid word lines may be modified. In other words, there is a possibility that erase pulse disturbance may occur.

도 1은 일반적인 NAND 플래시 메모리의 물리적 페이지 구성을 보여주는 도면이다. 물리적 페이지는 사용자 데이터를 저장하는 메인 영역과 메타 데이터를 저장하는 예비 영역을 포함한다. 여기서 메타데이터에는 사용자 데이터의 ECC가 포함된다.Figure 1 is a diagram showing the physical page configuration of a typical NAND flash memory. A physical page includes a main area that stores user data and a spare area that stores metadata. Here, metadata includes ECC of user data.

NAND 플래시 메모리에 저장된 데이터는 불완전한다. 누설 전류가 많고 프로그램/읽기 디스터번스로 인한 데이터 변형이 많다. 이에 따라 데이터의 신뢰성을 확보하기 위한 많은 기술들이 개발되어 왔다. 가장 기본적인 방식은 데이터 복구 방식으로 에러 정정 방식을 적용하는 것이다. 프로그램할 원본 데이터의 복구에 필요한 패리티를 생성하고 쓰기 동작을 수행하면 원본 데이터와 패리티가 동시에 저장된다. 읽기 동작을 수행할 때 원본 데이터와 패리티를 읽고 패리티를 사용하여 원본 데이터의 에러를 정정한다. 도 1을 참조하면, NAND 플래시 메모리 장치는 복수의 평면을 포함한다. 복수의 플레인 각각은 워드라인 및 비트라인에 연결된 복수의 블록을 포함한다. 복수의 블록 각각은 각각의 워드라인에 대응하는 페이지를 포함한다. 각 페이지에는 기본 영역과 예비 영역이 포함된다. 예비 영역은 에러 관리 기능에 사용할 수 있다.Data stored in NAND flash memory is incomplete. There is a lot of leakage current and data corruption due to program/read disturbance. Accordingly, many technologies have been developed to ensure data reliability. The most basic method is to apply error correction as a data recovery method. When the parity needed to recover the original data to be programmed is created and a write operation is performed, the original data and parity are stored simultaneously. When performing a read operation, the original data and parity are read and errors in the original data are corrected using the parity. Referring to Figure 1, a NAND flash memory device includes a plurality of planes. Each of the plurality of planes includes a plurality of blocks connected to word lines and bit lines. Each of the plurality of blocks includes pages corresponding to each word line. Each page includes a basic area and a spare area. The spare area can be used for error management functions.

또한, 실시예에 따라 메인 영역 혹은 스페어 필드 영역에 페이지 및/혹은 블록 별 메타데이터( 예 : 이레이즈 횟수, 주소 정보, 배드 블록 정보 등)가 저장될 수 있다. NAND 플래시 메모리에서 필요한 예비 영역 크기는 페이지 크기, 프로세스 기술, 셀당 비트 수(즉, 셀당 1비트, 셀당 2비트, 셀당 3비트 등) 및 비트의 함수이다. 에러율. NAND 플래시 메모리의 초기 생성 시 페이지 크기는 기본 영역의 경우 512바이트, 예비 영역의 경우 16바이트였습니다. 이 페이지 크기는 더 큰 메모리 밀도를 달성할 수 있는 프로세스 기술이 발전함에 따라 커졌습니다. 하지만 이러한 성장으로 인해 높은 비트 에러율이 발생했으며 이러한 이유로 더 강력한 에러 정정 코딩을 사용해야 한다. 최신 페이지 크기의 예는 기본 영역의 경우 8K 바이트이고 예비 영역의 경우 256바이트이다.Additionally, depending on the embodiment, metadata for each page and/or block (e.g., number of erases, address information, bad block information, etc.) may be stored in the main area or spare field area. In NAND flash memory, the required spare area size is a function of page size, process technology, number of bits per cell (i.e. 1 bit per cell, 2 bits per cell, 3 bits per cell, etc.) and bits. Error rate. When NAND flash memory was initially created, the page size was 512 bytes for the primary area and 16 bytes for the spare area. This page size has grown as processing technology has advanced to achieve greater memory densities. However, this growth has resulted in high bit error rates, which require the use of more robust error correction coding. Examples of modern page sizes are 8K bytes for the primary area and 256 bytes for the spare area.

도 2는 ECC 인코딩 과정을 보여주는 도면이다. ECC 엔진은 사용자 데이터에 응답하여 패리티를 생성한다. 도 2를 참조하면, ECC 엔진은 패리티 생성기를 포함하고 있다. 패리티 생성기는 낸드 플래시 메모리 장치의 타겟 페이지의 입력 데이터를 이용하여 패리티 데이터를 생성한다. 여기서, 패리티 데이터는 입력 데이터의 세그먼트(예를 들어 , 4KB 중 1KB) 혹은 전체 입력 데이터를 이용하여 생성될 수 있다. 입력 데이터는 대상 페이지의 메인 영역에 프로그래밍 되고 패리티 데이터는 대상 페이지의 예비 영역에 프로그래밍된다.Figure 2 is a diagram showing the ECC encoding process. The ECC engine generates parity in response to user data. Referring to Figure 2, the ECC engine includes a parity generator. The parity generator generates parity data using input data of the target page of the NAND flash memory device. Here, parity data can be generated using a segment of input data (for example, 1KB out of 4KB) or the entire input data. Input data is programmed in the main area of the target page and parity data is programmed in the spare area of the target page.

도 3은 ECC 디코딩 과정을 보여주는 도면이다. 도 3을 참조하면, ECC 엔진은 신드롬 생성기, Berlekamp 블록, Chien 블록 및 데이터 보정기로 구성된다. 에러가 있다. 신드롬은 에러 위치 다항식과 에러 수를 결정하는 Berlecamp 블록에 입력된다. Chien 블록은 Berleykamp 블록의 에러 위치 지정자 다항식 출력에서 다항식의 제곱근을 찾는다. 마지막으로 Qian 블록의 출력을 기준으로 에러가 있는 경우 데이터 정정기에 의해 출력 데이터를 정정할 수 있다. 데이터 정정의 출력은 정정된 데이터이다.Figure 3 is a diagram showing the ECC decoding process. Referring to Figure 3, the ECC engine consists of a syndrome generator, Berlekamp block, Chien block, and data corrector. There is an error. The syndrome is input to the Berlecamp block, which determines the error location polynomial and error number. The Chien block finds the square root of a polynomial in the error locator polynomial output of the Berleykamp block. Lastly, if there is an error based on the output of the Qian block, the output data can be corrected using a data corrector. The output of data correction is corrected data.

도 4는 본 발명의 실시 예에 따른 온-칩 보안 삭제 대상을 보여주는 도면이다. 주로 패리티 변조를 사용하는 새로운 온-칩 보안 삭제 방식이 제안된다. 상대적으로 큰 원본 데이터를 변조하는 것보다 상대적으로 작은 패리티를 변조하여 보안 삭제를 달성하는 데 필요한 시간과 비용을 줄일 수 있다. 따라서 호스트의 요청에 따라 보안 삭제를 수행할 때 패리티 변조 기반의 보안 삭제 방식을 제안한다. 이를 위해 원본 데이터와 관련된 워드라인에 연결된 스페어 영역의 데이터에 대해 부분 프로그램 동작을 수행할 수 있다. 부분 프로그램 동작은 일반적으로 하나의 워드라인에 대해 4회 이상을 초과하지 않는 것으로 정의된다.Figure 4 is a diagram showing an on-chip secure deletion target according to an embodiment of the present invention. A new on-chip secure erase scheme that mainly uses parity modulation is proposed. The time and cost required to achieve secure deletion can be reduced by tampering with relatively small parity rather than tampering with relatively large original data. Therefore, we propose a parity modulation-based secure erase method when performing secure erase upon the host's request. To this end, a partial program operation can be performed on data in the spare area connected to the word line related to the original data. A partial program operation is generally defined as no more than four operations per word line.

도 5는 예비 영역에 대한 부분 프로그래밍을 예시적으로 보여주는 도면이다.제안된 온-칩 보안 삭제 방식은 패리티가 저장되어 있는 여분의 영역에 대한 부분적인 프로그램 동작을 포함할 수 있다. 여기서, 부분 프로그램 동작은 제로 비트로 프로그램을 수행하거나 패리티가 저장된 부분에 소정의 프로그램 펄스를 인가할 수 있다. FIG. 5 is a diagram illustrating partial programming of a spare area. The proposed on-chip secure erase method may include a partial programming operation of a spare area where parity is stored. Here, the partial program operation can perform programming with zero bits or apply a predetermined program pulse to the part where parity is stored.

도 6은 본 발명의 실시 예에 따른 실시간 읽기 실패 출력을 예시적으로 보여주는 도면이다. ECC 엔진에는 에러 정정 가능한 비트 수가 있다. 기술의 발달로 정정 가능한 에러의 수가 점차 증가하고 있다. 에러 정정이 불가능한 경우 일반적으로 NAND 플래시 메모리 장치는 복구 코드를 수행한다. 방어 코드는 다양한 방법으로 페이지 읽기 동작을 수행한다. 방어 코드에서도 에러 정정이 불가능할 때 낸드 플래시 메모리 장치는 결국 읽기 실패를 호스트로 전송한다. 제안하는 방법은 패리티 데이터의 변조를 통해 방어부호를 적용하더라도 에러 정정이 불가능할 가능성이 매우 높다. 따라서 도 6에 도시된 바와 같이 읽기 실패를 호스트로 출력한다. 하지만 제안하는 방식은 이러한 추가적인 검증 동작을 필요로 하지 않는다. 유효하지 않은/유효한 페이지에 대한 읽기 동작이 불가능하다는 것을 온-칩 보안 삭제 동작을 통해 즉시 확인할 수 있다.Figure 6 is a diagram illustrating real-time read failure output according to an embodiment of the present invention. The ECC engine has a number of bits available for error correction. With the development of technology, the number of errors that can be corrected is gradually increasing. When error correction is not possible, NAND flash memory devices typically perform recovery codes. Defense code performs page reading operations in a variety of ways. When error correction is not possible even in the defense code, the NAND flash memory device eventually transmits a read failure to the host. In the proposed method, there is a very high possibility that error correction will not be possible even if a defense code is applied through modulation of parity data. Therefore, as shown in FIG. 6, a read failure is output to the host. However, the proposed method does not require this additional verification operation. The impossibility of read operations on invalid/valid pages can be immediately confirmed through the on-chip secure erase operation.

도 7은 본 발명의 실시 예에 따른 ECC 패리티를 사용하여 제안된 보안 삭제 동작을 보여주는 래더 다이어그램이다. 도 7을 참조하면, 저장 장치(SSD)는 컨트롤러와 NAND 플래시 메모리를 포함한다. 컨트롤러는 보안 이레이즈 요청에 대한 응답으로 부분 프로그래밍을 이용한 ECC 변조를 수행하고, 에러 정정이 불가능한 경우 보안 이레이즈 완료 메시지를 호스트로 전송한다.Figure 7 is a ladder diagram showing the proposed secure erase operation using ECC parity according to an embodiment of the present invention. Referring to FIG. 7, the storage device (SSD) includes a controller and NAND flash memory. The controller performs ECC modulation using partial programming in response to the security erase request, and if error correction is not possible, it transmits a security erase completion message to the host.

도 7를 다시 참조하면, 호스트는 저장 장치 SSD에 저장된 파일에 대한 보안 삭제 요청을 전송한다. 저장 장치의 컨트롤러는 호스트의 보안 삭제 요청에 응답하여 해당 파일과 관련된 논리 주소를 물리 주소로 변환한다. 컨트롤러는 보안 삭제를 위해 ECC 패리티를 생성한다. 컨트롤러는 물리 주소에 해당하는 워드라인을 통해 ECC 영역에 대한 부분적인 프로그램 동작을 수행하기 위한 명령을 낸드 플래시 메모리 장치로 전송한다. 낸드 플래시 메모리 장치는 부분 프로그램 명령에 응답하여 스페어 영역에 대해 생성된 ECC 패리티를 이용하여 부분 프로그램 동작을 수행한다. 비휘발성 메모리 장치는 부분 프로그램 동작의 완료를 컨트롤러로 전송한다. 이후 컨트롤러는 해당 워드라인을 통해 불휘발성 메모리 장치에 읽기 명령을 전송한다. 불휘발성 메모리 장치는 읽기 명령에 응답하여 읽기 데이터를 컨트롤러로 전송한다. 컨트롤러는 읽은 데이터에 대한 에러 정정이 가능한지 여부를 결정한다. 읽은 데이터가 정정할 수 없는 경우 컨트롤러는 보안 삭제 완료 메시지를 호스트로 전송한다.Referring again to FIG. 7, the host transmits a secure deletion request for a file stored in the storage device SSD. The storage device's controller converts the logical address associated with the file into a physical address in response to the host's secure deletion request. The controller generates ECC parity for secure erase. The controller transmits a command to perform a partial program operation for the ECC area to the NAND flash memory device through the word line corresponding to the physical address. The NAND flash memory device performs a partial program operation using ECC parity generated for the spare area in response to the partial program command. A non-volatile memory device transmits completion of a partial program operation to the controller. Afterwards, the controller transmits a read command to the non-volatile memory device through the corresponding word line. The nonvolatile memory device transmits read data to the controller in response to a read command. The controller determines whether error correction for the read data is possible. If the read data cannot be corrected, the controller sends a secure erase complete message to the host.

상술한 보안 삭제 동작은 저장 장치의 방어 코드(혹은 읽기 재시도)와 관련하여 수행될 수 있다. 한편, 저장 장치는 보안 삭제를 위해 별도의 ECC 패리티를 생성하더라도 이 과정을 삭제하고 ECC를 저장한 스페어 영역에 소정 개수의 이레이즈 펄스를 인가하는 동작을 수행할 수 있다.The above-described secure erase operation may be performed in connection with the storage device's defense code (or read retry). Meanwhile, even if the storage device generates a separate ECC parity for secure erase, it can delete this process and perform an operation of applying a predetermined number of erase pulses to the spare area where the ECC is stored.

제안하는 보안 삭제 기법은 실시간으로 삭제 동작을 수행할 수 있으며 삭제 검증도 실시간으로 수행할 수 있다. 또한 제안하는 보안 삭제 기법은 데이터에 대한 프로그램 동작을 수행하지 않기 때문에 기존의 온-칩 보안 삭제 기법에 비해 유효 데이터에 대한 디스터번스(disturbance)를 크게 줄일 수 있다. 한편, ECC 엔진은 온-칩 구조의 낸드 플래시 메모리에 구현될 수 있다. 이 경우 보안 삭제의 개념은 향후 연구를 위한 좋은 주제가 될 것이다.The proposed secure deletion technique can perform deletion operations in real time and deletion verification can also be performed in real time. Additionally, because the proposed secure erase technique does not perform program operations on data, it can significantly reduce disturbance to valid data compared to the existing on-chip secure erase technique. Meanwhile, the ECC engine can be implemented in NAND flash memory with an on-chip structure. In this case, the concept of secure deletion would be a good topic for future research.

성능 비교Performance Comparison

오프-칩 보안 삭제 방식과 온-칩 보안 삭제 방식을 비교하면 다음과 같다. 오프-칩 보안 삭제 방식은 기본적으로 암호화 방식과 이레이즈(erase) 동작을 갖는 트림 방식이다. 한편, 온-칩 보안 삭제 방식은 스크러빙 방식, 부분 덮어쓰기 방식, 다운 비트 프로그래밍 방식, 삭제 펄스 인가 방식, 그리고 제안된 코드 변조 보안 삭제 방식이다.A comparison between the off-chip secure erase method and the on-chip secure erase method is as follows. The off-chip secure erase method is basically a trim method with an encryption method and an erase operation. Meanwhile, on-chip secure erase methods include scrubbing method, partial overwrite method, down bit programming method, erase pulse application method, and the proposed code tampering secure erase method.

먼저 오프-칩 보안 삭제 방식과 온-칩 보안 삭제 방식의 성능을 비교하면 다음 표 1과 같다. First, the performance of the off-chip secure erase method and the on-chip secure erase method is compared as shown in Table 1 below.

접근Access 삭제 크기delete size 실시간 응답Real-time response 간접비overhead 칩 외부 보안 삭제Off-chip secure erase 블록 단위block unit 불가능한impossible 관리비maintenance cost 온-칩 보안 삭제On-chip secure erase 페이지 단위per page 가능한possible 프로그램 디스터번스Program Disturbance

오프-칩 보안 삭제 방식에서 이레이즈 동작은 블록 단위로 수행된다. 일반적으로 낸드 플래시 메모리 장치는 관리상의 문제로 인해 블록 단위로 이레이즈 동작, 즉 이레이즈 동작을 자주 수행하지 않는다. 알려진 바와 같이 NAND 플래시 메모리 제조업체는 기본적으로 블록에서 1000개의 이레이즈(erase) 동작을 보장한다. 하나의 블록이 1000회 이상 이레이즈(erase) 동작을 수행하면 저장 장치를 사용하기 어려워진다. 이 때문에 오프-칩 보안 삭제 방식은 실시간 트림 동작을 수행할 수 없다. 트림 동작을 실시간으로 수행할 수 없기 때문에 블록 관리 비용이 불가피하게 발생한다. 한편, 온-칩 보안 삭제 방식은 페이지 단위로 이레이즈 동작을 수행할 수 있다. 스크러빙 방식, 부분 덮어쓰기 방식, 다운 프로그래밍 방식, 삭제 펄스 인가 방식, 제안하는 코드 변조 방식 모두 워드라인 단위로 원본 데이터를 삭제할 수 있다. 이러한 페이지 단위는 삭제할 수 있으므로 실시간 트림(trim) 동작을 수행할 수 있다. 하지만 페이지 단위 방식은 기본적으로 워드라인에 일정한 전압 레벨을 인가하기 때문에 인접한 유효 페이지에 영향을 미칠 수 있다. 즉, 프로그램 디스터번스가 발생하는 단점이 있다. In the off-chip secure erase method, the erase operation is performed on a block basis. In general, NAND flash memory devices do not frequently perform an erase operation on a block-by-block basis due to management issues. As is known, NAND flash memory manufacturers basically guarantee 1000 erase operations in a block. If one block is erased more than 1000 times, it becomes difficult to use the storage device. For this reason, off-chip secure erase methods cannot perform real-time trim operations. Since trim operations cannot be performed in real time, block management costs inevitably occur. Meanwhile, the on-chip secure erase method can perform an erase operation on a page-by-page basis. The scrubbing method, partial overwriting method, down programming method, deletion pulse application method, and the proposed code modulation method can all delete the original data on a word line basis. Since these page units can be deleted, real-time trim operations can be performed. However, since the page-by-page method basically applies a constant voltage level to the word line, adjacent valid pages may be affected. In other words, there is a disadvantage in that program disturbance occurs.

아래에서는 표 2를 참조하여 온-칩 보안 삭제 방식의 성능을 비교한다.Below, Table 2 compares the performance of on-chip secure erase methods.

온-칩 보안 삭제 체계On-chip secure erase scheme 데이터 생성data generation 지구력endurance 프로그램 디스터번스Program Disturbance 확인보고Confirmation report 스크러빙
scrubbing
제로비트zero beat 셀 마모 증가Increased cell wear 높은High 없음doesn't exist
부분 덮어쓰기
Partial overwrite
가능한 임의 비트Possible random bits 없음doesn't exist 중간middle 없음doesn't exist
다운비트 프로그래밍downbeat programming SLC 데이터 비트SLC data bit 없음doesn't exist 낮은low 없음doesn't exist 삭제 펄스 적용Apply Delete Pulse 없음doesn't exist 없음doesn't exist 낮은low 없음doesn't exist 코드 변조 보안 삭제Code Tampering Secure Erase 없음doesn't exist 없음doesn't exist 낮은low 읽기 실패read failed

기본적으로 온-칩 삭제 방식은 덮어쓰기를 기반으로 하므로 임의의 데이터를 생성해야 한다. 스크러빙 방식은 최상위 비트, 즉 0비트를 생성한다. 부분 덮어쓰기 방식에서는 다중 레벨 셀에 따른 프로그램 된 데이터의 상태와 비교하여 프로그램 가능한 상태에서 임의의 데이터를 생성할 필요가 있다. 다운 비트 프로그래밍 방식은 다중 레벨 셀 데이터를 단일 레벨 셀로 변환하여 데이터를 생성해야 한다. 이 경우 다운비트 프로그램 방식은 저장 용량이 변하지 않도록 별도의 관리가 필요하다. 삭제 펄스 인가 방식은 표준화된 데이터를 프로그래밍하는 것이 아니라 복수의 삭제 펄스를 적용하는 방식이다. 이 방식은 다른 온-칩 보안 삭제 방식에 비해 데이터 생성에 필요한 시간을 없앨 수 있다. 코드 변조 보안 삭제 방식은 경우에 따라 임의의 데이터를 생성할 수 있다. 코드 변조 보안 삭제 방식은 삭제 펄스 인가 방식과 같이 복수의 펄스를 적용하는 형태로 구현될 수 있다.Basically, the on-chip erasure method is based on overwriting, so random data must be generated. The scrubbing method generates the most significant bit, that is, bit 0. In the partial overwrite method, it is necessary to generate random data in a programmable state by comparing it with the state of programmed data according to the multi-level cell. The down-bit programming method requires generating data by converting multi-level cell data into single-level cells. In this case, the downbit program method requires separate management to ensure that the storage capacity does not change. The erase pulse application method is a method of applying a plurality of erase pulses rather than programming standardized data. This method can eliminate the time required for data generation compared to other on-chip secure erasure methods. Code tampering secure deletion method may generate random data in some cases. The code modulation secure erase method can be implemented by applying a plurality of pulses, like the erase pulse application method.

다음으로 내구성과 관련된 지표를 비교하면 다음과 같다. 스크러빙 방식이 가장 높은 상태에서 프로그래밍되기 때문에 셀의 마모율이 크게 증가할 수밖에 없다. 스크러빙 방식을 자주 사용하는 것보다 블록 단위로 이레이즈(erase) 동작을 수행하는 것이 내구성 측면에서 더 나을 수 있다. 부분 덮어쓰기 방식, 다운 비트 프로그래밍 방식, 삭제 펄스 인가 방식, 부호 변조 보안 이레이즈 방식은 내구성 문제가 없다. 온-칩 보안 삭제 방식은 기본적으로 덮어쓰기를 기반으로 하기 때문에 프로그램 디스터번스가 불가피하다. 스크러빙 방식은 가장 높은 상태에서 데이터를 쓰기 때문에 상위 프로그램으로 진행할 수밖에 없다. 따라서, 스크러빙 방식은 상대적으로 높은 프로그램 디스터번스(disturbance)를 유발할 수 있다. 인접한 유효한 페이지에 대한 데이터 관리가 추가로 수행될 가능성이 높다. 스크러빙 방식과 유사하게 부분 덮어쓰기 방식은 상대적으로 높은 수준의 프로그램을 진행할 가능성이 있어 필연적으로 프로그램 디스터번스를 야기한다. 하지만 부분 덮어쓰기 방식은 스크러빙 방식의 가장 높은 상태의 데이터가 아니기 때문에 중간 정도의 프로그램 디스터번스(disturbance)가 발생한다. 다운 비트 프로그래밍 방식, 삭제 펄스 인가 방식, 코드 변조 보안 이레이즈 방식은 스크러빙 방식 및 부분 덮어쓰기 방식에 비해 상대적으로 프로그램 디스터번스가 적다.Next, comparing indicators related to durability are as follows. Since the scrubbing method is programmed at the highest level, the wear rate of the cell is bound to increase significantly. In terms of durability, performing an erase operation on a block basis may be better than frequently using the scrubbing method. The partial overwrite method, down-bit programming method, erase pulse application method, and code modulation security erase method do not have durability problems. Since the on-chip secure erase method is basically based on overwriting, program disruption is inevitable. Since the scrubbing method writes data at the highest level, it has no choice but to proceed to the upper level program. Therefore, the scrubbing method can cause relatively high program disturbance. It is highly likely that additional data management for adjacent valid pages will be performed. Similar to the scrubbing method, the partial overwriting method has the potential to proceed with relatively high-level programs, inevitably causing program disturbance. However, the partial overwrite method causes moderate program disturbance because the data is not in the highest state of the scrubbing method. The down-bit programming method, erase pulse application method, and code tampering security erase method have relatively less program disturbance than the scrubbing method and partial overwriting method.

마지막으로 스크러빙 방식, 부분 덮어쓰기 방식, 다운 비트 프로그래밍 방식, 삭제 펄스 인가 방식에서 낸드 플래시 메모리 장치에서 원본 데이터가 완전히 지워졌는지 확인하는 동작은 별도로 수행해야 한다. 반면 제안하는 코드 변조 보안 삭제 방식은 읽기 동작에 읽기 실패를 출력하므로 별도의 검증 동작이 필요하지 않다.Lastly, in the scrubbing method, partial overwriting method, down bit programming method, and erase pulse application method, an operation to check whether the original data is completely erased from the NAND flash memory device must be performed separately. On the other hand, the proposed code tampering secure deletion method outputs a read failure during the read operation, so a separate verification operation is not required.

보안 삭제에서 다듬기 동작의 불완전성을 살펴보았다. 기존의 오프-칩 보안 삭제 방식은 기본적으로 이레이즈(erase) 동작을 기반으로 하므로 관리 측면에서 실시간 트림(trim) 동작을 수행할 수 없다. 반면, 온-칩 보안 삭제 방식은 페이지 단위 삭제 동작을 수행하므로 실시간 트림(trim) 동작이 가능하다. 이러한 온-칩 보안 삭제 방식은 오프-칩 보안 삭제 방식에 비해 완전한 트림 동작을 보장한다. 온-칩 보안 삭제 방식은 페이지 단위의 워드라인에만 펄스를 인가하기 때문에 프로그램 디스터번스가 발생했다. 제안된 온-칩 보안 삭제 방식은 부분 프로그래밍을 사용하는 ECC 변조를 기반으로 프로그램 디스터번스 문제를 최소화하면서 삭제를 단순화하고 쉽게 보호한다. 다른 온-칩 보안 삭제 방식과 비교하여 ECC 변조 보안 삭제 방식은 프로그램 디스터번스 문제를 최소화하고 실시간으로 원본 데이터의 삭제 확인을 가능하게 한다. 제안된 보안 삭제 방식은 저장 장치의 무효화된 영역에 있는 데이터를 검증하는데 유용하게 적용될 수 있다. 향후 저장장치에 대한 안티 포렌식 기술로 제안된 코드 변조 보안 삭제 방식이 탑재될 가능성이 높다.We looked at the imperfections of the trim operation in secure erase. The existing off-chip secure erase method is basically based on an erase operation, so it cannot perform a real-time trim operation from a management perspective. On the other hand, the on-chip secure erase method performs a page-by-page erase operation, so a real-time trim operation is possible. This on-chip secure erase method guarantees a complete trim operation compared to the off-chip secure erase method. Because the on-chip secure erase method applies pulses only to word lines on a page basis, program disturbance occurred. The proposed on-chip secure erase method is based on ECC modulation using partial programming to simplify erasure and easily protect while minimizing program disturbance problems. Compared to other on-chip secure erase methods, the ECC modulation secure erase method minimizes program disturbance problems and enables confirmation of deletion of original data in real time. The proposed secure deletion method can be usefully applied to verify data in invalidated areas of a storage device. It is highly likely that the code tampering secure deletion method proposed as an anti-forensic technology for storage devices will be installed in the future.

도 8은 본 발명의 실시 예에 따른 저장 장치(10)를 예시적으로 보여주는 도면이다. 도 8을 참조하면, 저장 장치(10)는 적어도 하나의 비휘발성 메모리 장치(NVM(s), 100) 및 제어기(200)를 포함할 수 있다.FIG. 8 is a diagram illustrating a storage device 10 according to an embodiment of the present invention. Referring to FIG. 8 , the storage device 10 may include at least one non-volatile memory device (NVM(s), 100) and a controller 200.

적어도 하나의 비휘발성 메모리 장치(100)는 데이터를 저장하도록 구현될 수 있다. 비휘발성 메모리 장치(100)는 낸드 플래시 메모리(NAND flash memory), 수직형 낸드 플래시 메모리, 노아 플래시 메모리(NOR flash memory), 저항성 램(resistive random access memory; RRAM), 상변화 메모리(phase-change memory; PRAM), 자기저항 메모리(magnetoresistive random access memory; MRAM), 강유전체 메모리(ferroelectric random access memory; FRAM), 스핀주입 자화반전 메모리(spin transfer torque random access memory; STT-RAM) 등이 될 수 있다. 비휘발성 메모리 장치(100)는 복수의 메모리 블록들을 갖는 메모리 셀 어레이를 포함할 수 있다. 복수의 메모리 블록들의 각각은 워드라인들과 비트라인들 사이에 연결된 복수의 메모리 셀들을 포함하고 있다. 복수의 메모리 셀들의 각각은 적어도 하나의 비트를 저장할 수 있다.At least one non-volatile memory device 100 may be implemented to store data. The non-volatile memory device 100 includes NAND flash memory, vertical NAND flash memory, NOR flash memory, resistive random access memory (RRAM), and phase-change memory. memory; PRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), spin transfer torque random access memory (STT-RAM), etc. . The non-volatile memory device 100 may include a memory cell array having a plurality of memory blocks. Each of the plurality of memory blocks includes a plurality of memory cells connected between word lines and bit lines. Each of the plurality of memory cells can store at least one bit.

제어기(200)는 제어 신호들(예를 들어, CLE, ALE, CE(s), WE, RE, 등)을 전송하는 복수의 제어 핀들을 통하여 적어도 하나의 비휘발성 메모리 장치(100)에 연결될 수 있다. 또한, 제어 신호들(CLE, ALE, CE(s), WE, RE 등)을 이용하여 비휘발성 메모리 장치(100)를 제어하도록 구현될 수 있다. 또한, 제어기(200)는 전반적인 동작을 제어하도록 구현될 수 있다. 제어기(200)는 캐시/버퍼 관리, 펌웨어 관리, 가비지 컬렉션 관리, 웨어 레벨링 관리, 데이터 중복 제거 관리, 리드 리프레쉬/리클레임 관리, 배드 블록 관리, 멀티-스트림 관리, 호스트 데이터와 비휘발성 메모리의 맵핑 관리, QoS(quality of service) 관리, 시스템 리소스 할당 관리, 비휘발성 메모리 큐(queue) 관리, 리드 레벨 관리, 소거/프로그램 관리, 핫/콜드 데이터 관리, 전력 손실 보호 관리, 동적 열관리, 초기화 관리, RAID(redundant array of inexpensive disk) 관리 등과 같은 다양한 관리 동작들을 수행할 수 있다.Controller 200 may be coupled to at least one non-volatile memory device 100 through a plurality of control pins that transmit control signals (e.g., CLE, ALE, CE(s), WE, RE, etc.). there is. Additionally, the non-volatile memory device 100 may be controlled using control signals (CLE, ALE, CE(s), WE, RE, etc.). Additionally, the controller 200 may be implemented to control overall operations. The controller 200 performs cache/buffer management, firmware management, garbage collection management, wear leveling management, data deduplication management, read refresh/reclaim management, bad block management, multi-stream management, and mapping of host data and non-volatile memory. Management, QoS (quality of service) management, system resource allocation management, non-volatile memory queue management, read level management, erase/program management, hot/cold data management, power loss protection management, dynamic thermal management, initialization management, Various management operations such as RAID (redundant array of inexpensive disk) management can be performed.

제어기(200)는 실시간 트림 모듈(211)을 포함할 수 있다. 실시간 트림 모듈(211)는 ECC 코드를 변조함으로써 실시간 트림 동작을 수행하고, 실시간 보안 삭제에 대한 검증 동작을 수행할 수 있다.Controller 200 may include a real-time trim module 211. The real-time trim module 211 can perform a real-time trim operation by modulating the ECC code and a verification operation for real-time secure deletion.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/혹은 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시 예에서 설명된 장치 및 구성요소는, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 혹은 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 혹은 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 혹은 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 혹은 하나의 프로세서 및 하나의 제어기를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented with hardware components, software components, and/or a combination of hardware components and software components. For example, the devices and components described in the embodiment include a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), and a programmable logic unit (PLU). It may be implemented using one or more general-purpose or special-purpose computers, such as a unit, microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. Additionally, a processing device may access, store, manipulate, process, and generate data in response to the execution of software. For ease of understanding, a single processing device may be described as being used; however, those skilled in the art will understand that a processing device includes multiple processing elements or multiple types of processing elements. You can see that it can be done. For example, a processing device may include a plurality of processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are possible.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 혹은 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 혹은 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/혹은 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 혹은 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 혹은 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of these, and may configure a processing unit to operate as desired, or to process independently or collectively. You can command the device. Software and/or data may be used by any type of machine, component, physical device, virtual equipment, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. It can be embodied in . Software may be distributed over networked computer systems and thus stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

한편, 상술된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 활용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함 할 것이다.Meanwhile, the contents of the present invention described above are only specific examples for carrying out the invention. The present invention will include not only concrete and practically usable means, but also technical ideas, which are abstract and conceptual ideas that can be used as technology in the future.

10: 저장 장치
100: 비휘발성 메모리 장치
200: 제어기
10: storage device
100: non-volatile memory device
200: controller

Claims (1)

저장 장치의 동작 방법에 있어서,
호스트로부터 파일에 대한 보안 삭제 요청을 수신하는 단계;
상기 보안 삭제 요청에 응답하여 상기 파일에 대한 적어도 하나의 논리 어드레스를 물리 어드레스로 변환하는 단계;
상기 보안 삭제 요청에 대응하는 에러 정정 패리티를 생성하는 단계;
상기 변환된 물리 어드레스에 대응하는 페이지의 스페어 영역에 상기 에러 정정 패리티를 부분 프로그램 동작을 수행하는 단계;
상기 부분 프로그램 동작 완료 후에 상기 변환된 물리 어드레스에 대응하는 페이지에 대한 읽기 동작을 수행하는 단계; 및
상기 읽기 동작이 에러 정정 불가능할 때, 상기 보안 삭제 요청에 대한 완료 정보를 상기 호스트로 출력하는 단계를 포함하는 방법.
In a method of operating a storage device,
Receiving a secure delete request for a file from a host;
converting at least one logical address for the file to a physical address in response to the secure deletion request;
generating error correction parity corresponding to the secure deletion request;
performing a partial program operation to apply the error correction parity to a spare area of a page corresponding to the converted physical address;
performing a read operation on a page corresponding to the converted physical address after completing the partial program operation; and
When the read operation is unable to correct an error, outputting completion information for the secure deletion request to the host.
KR1020230046511A 2022-07-02 2023-04-09 Storage device hving real-time secure deletion function and operating method thereof KR20240003750A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202263367604P 2022-07-02 2022-07-02
US63/367,604 2022-07-02

Publications (1)

Publication Number Publication Date
KR20240003750A true KR20240003750A (en) 2024-01-09

Family

ID=89538573

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230046511A KR20240003750A (en) 2022-07-02 2023-04-09 Storage device hving real-time secure deletion function and operating method thereof

Country Status (1)

Country Link
KR (1) KR20240003750A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102144124B1 (en) 2019-04-22 2020-08-13 고려대학교 산학협력단 Method and apparatus for managing data of non-volatile memory in hybrid main memory system
KR102445057B1 (en) 2019-12-09 2022-09-21 고려대학교 산학협력단 Method of destroying privacy data in a nand flash memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102144124B1 (en) 2019-04-22 2020-08-13 고려대학교 산학협력단 Method and apparatus for managing data of non-volatile memory in hybrid main memory system
KR102445057B1 (en) 2019-12-09 2022-09-21 고려대학교 산학협력단 Method of destroying privacy data in a nand flash memory

Non-Patent Citations (29)

* Cited by examiner, † Cited by third party
Title
A. Kassem, G. cs, C. Castelluccia and C. Palamidessi, "Differential Inference Testing: A Practical Approach to Evaluate Sanitizations of Datasets," 2019 IEEE Security and Privacy Workshops (SPW), San Francisco, CA, USA, 2019, pp. 72-79, doi: 10.1109/SPW.2019.00024.
A. Nisbet and R. Jacob, "TRIM, Wear Levelling and Garbage Collection on Solid State Drives: A Prediction Model for Forensic Investigators," 2019 18th IEEE International Conference On Trust, Security And Privacy In Computing And Communications/13th IEEE International Conference On Big Data Science And Engineering (TrustCom/BigDataSE), Rotorua, New Zealand, 2019, pp. 419-426, doi: 10.1109/TrustCom/BigDataSE.2019.00063.
B. Alabdullah, N. Beloff and M. White, "Rise of Big Data - Issues and Challenges," 2018 21st Saudi Computer Society National Computer Conference (NCC), Riyadh, 2018, pp. 1-6, doi: 10.1109/NCG.2018.8593166.
B. Fitzgerald, C. Ryan and J. Sullivan, "An Early-Life NAND Flash Endurance Prediction System," in IEEE Access, vol. 9, pp. 148635-148649, 2021, doi: 10.1109/ACCESS.2021.3124604.
B. R. Reddy, H. C. Shadakshri V., S. Anand and S. K.P., "Error-free Communication in NB-IoT using ECC Approach," 2020 Fourth World Conference on Smart Trends in Systems, Security and Sustainability (WorldS4), 2020, pp. 174-180, doi: 10.1109/WorldS450073.2020.9210266.
C. Park, Jeong-Uk Kang, Seon-Yeong Park and Jin-Soo Kim, "Energy-aware demand paging on NAND flash-based embedded storages," Proceedings of the 2004 International Symposium on Low Power Electronics and Design (IEEE Cat. No.04TH8758), Newport Beach, CA, USA, 2004, pp. 338-343, doi: 10.1109/LPE.2004.241161.
J. Park, M. Kim, M. Chun, L. Orosa, J. Kim and O. Mutlu, "Reducing solid-state drive read latency by optimizing read-retry", Proc. 26th ACM Int. Conf. Archit. Support Program. Lang. Oper. Syst., pp. 702-716, 2021.
J. R. Pinto, M. V. Correia and J. S. Cardoso, "Secure Triplet Loss: Achieving Cancelability and Non-Linkability in End-to-End Deep Biometrics," in IEEE Transactions on Biometrics, Behavior, and Identity Science, doi: 10.1109/TBIOM.2020.3046620.
J. Soria-Comas and J. Domingo-Ferrer, "Probabilistic k-anonymity through microaggregation and data swapping," 2012 IEEE International Conference on Fuzzy Systems, Brisbane, QLD, Australia, 2012, pp. 1-8, doi: 10.1109/FUZZ-IEEE.2012.6251280.
K. El Emam, "Risk-Based De-Identification of Health Data," in IEEE Security & Privacy, vol. 8, no. 3, pp. 64-67, May-June 2010, doi: 10.1109/MSP.2010.103.
K. Patel and G. B. Jethava, "Privacy Preserving Techniques for Big Data: A Survey," 2018 Second International Conference on Inventive Communication and Computational Technologies (ICICCT), Coimbatore, 2018, pp. 194-199, doi: 10.1109/ICICCT.2018.8473289
L. Yang, T. Wei, F. Zhang and J. Ma, "SADUS: Secure data deletion in user space for mobile devices", Comput. Security, vol. 77, pp. 612-626, Aug. 2018.
M. Gibson, N. Medina, and Z. Nail. "SSD Forensics: Evidence Generation and Analysis," In: Zhang X., Choo KK. (eds) Digital Forensic Education. Studies in Big Data, vol 61. Springer, Cham. 2020. https://doi.org/10.1007/978-3-030-23547-5_11
M. Mendieta et al., "A Novel Application/Infrastructure Co-design Approach for Real-time Edge Video Analytics," 2019 SoutheastCon, Huntsville, AL, USA, 2019, pp. 1-7, doi: 10.1109/SoutheastCon42311.2019.9020639.
M. Shamila, K. Vinuthna and A. K. Tyagi, "A Review on Several Critical Issues and Challenges in IoT based e-Healthcare System," 2019 International Conference on Intelligent Computing and Control Systems (ICCS), Madurai, India, 2019, pp. 1036-1043, doi: 10.1109/ICCS45141.2019.9065831.
N. Mehta, A. Pandit, and M. Kulkarni. "Elements of Healthcare Big Data Analytics," In: Kulkarni A. et al. (eds) Big Data Analytics in Healthcare. Studies in Big Data, vol 66. Springer, Cham. 2020, https://doi.org/10.1007/978-3-030-31672-3_2
N. Y. Ahn and D. H. Lee, "Duty to delete on non-volatile memory", arXiv:1707.02842, Jul. 2017, [online] Available: https://arxiv.org/abs/1707.02842.
N. Y. Ahn and D. H. Lee, "Forensic Issues and Techniques to Improve Security in SSD with Flex Capacity Feature," in IEEE Access, vol. 9, pp. 15130-15137, 2021, doi: 10.1109/ACCESS.2021.3136483.
N. Y. Ahn and D. H. Lee, "Forensics and Anti-Forensics of NAND Flash Memory: From a Copy-Back Program Perspective," in IEEE Access, vol. 9, pp. 14130-14137, 2021, doi: 10.1109/ACCESS.2021.3052353.
N. Y. Ahn and D. H. Lee, "Schemes for Privacy Data Destruction in NAND Flash Memory," in IEEE Access, vol. 7, pp. 181305-181313, 2019, doi: 10.1109/ACCESS.2019.2958628.
P. Lin, Y. Chang, Y. Li, W. Wang, C. Ho and Y. Chang, "Achieving Fast Sanitization with Zero Live Data Copy for MLC Flash Memory," 2018 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), 2018, pp. 1-8, doi: 10.1145/3240765.3240773.
P. Silva, E. Monteiro and P. Simes, "Privacy in the Cloud: A Survey of Existing Solutions and Research Challenges," in IEEE Access, vol. 9, pp. 10473-10497, 2021, doi: 10.1109/ACCESS.2021.3049599.
Q. N. Hong, N. N. Tuan, T. T. Quang, D. N. Tien and C. V. Le, "Deep spatio-temporal network for accurate person re-identification," 2017 International Conference on Information and Communications (ICIC), Hanoi, 2017, pp. 208-213, doi: 10.1109/INFOC.2017.8001673.
S. Jia, L. Xia, B. Chen and P. Liu, "NFPS: Adding undetectable secure deletion to flash translation layer", Proc. 11th ACM Asia Conf. Comput. Commun. Security (ASIA CCS), pp. 305-316, 2016.
S. Niksefat, P. Kaghazgaran and B. Sadeghiyan, "Privacy issues in intrusion detection systems: A taxonomy survey and future directions", Comput. Sci. Rev., vol. 25, pp. 69-78, Aug. 2017.
Soo-Young Kim and Sung-In Jung, "A Log-based Flash Translation Layer for Large NAND flash memory," 2006 8th International Conference Advanced Communication Technology, Phoenix Park, Korea (South), 2006, pp. 1641-1644, doi: 10.1109/ICACT.2006.206302.
W. -C. Wang, C. -C. Ho, Y. -H. Chang, T. -W. Kuo and P. -H. Lin, "Scrubbing-Aware Secure Deletion for 3-D NAND Flash," in IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 37, no. 11, pp. 2790-2801, Nov. 2018, doi: 10.1109/TCAD.2018.2857260.
W. -C. Wang, C. -C. Ho, Y. -M. Chang and Y. -H. Chang, "Challenges and Designs for Secure Deletion in Storage Systems," 2020 Indo - Taiwan 2nd International Conference on Computing, Analytics and Networks (Indo-Taiwan ICAN), Rajpura, India, 2020, pp. 181-189, doi: 10.1109/Indo-TaiwanICAN48429.2020.9181335.
Z. Qin, Y. Wang, D. Liu, Z. Shao and Y. Guan, "MNFTL: An efficient flash translation layer for MLC NAND flash memory storage systems," 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC), 2011, pp. 17-22.

Similar Documents

Publication Publication Date Title
Wei et al. Reliably erasing data from {flash-based} solid state drives
US9817752B2 (en) Data integrity enhancement to protect against returning old versions of data
US11100011B2 (en) Flash translation layer with hierarchical security
US9824007B2 (en) Data integrity enhancement to protect against returning old versions of data
KR102564774B1 (en) Apparatus for diagnosing memory system or data processing system and operating method of memory system or data processing system based on diagnosis
TWI496161B (en) Memory identification code generating method, management method, controller and storage system
CN110046506A (en) Store equipment and including the storage system for storing equipment and the method operated using it
KR20140027596A (en) Memory system and security method of memory system
US20130080787A1 (en) Memory storage apparatus, memory controller and password verification method
JP7096829B2 (en) How and system to verify data deletion process
US20240086337A1 (en) Data integrity protection for relocating data in a memory system
US11818248B2 (en) Encoder and decoder using physically unclonable functions
US20230004320A1 (en) Method of managing debugging log in storage device
Ahn et al. Forensics and anti-forensics of a NAND flash memory: From a copy-back program perspective
Ahn et al. Security of IoT device: perspective forensic/anti-forensic issues on invalid area of NAND flash memory
US10642531B2 (en) Atomic write method for multi-transaction
US11782782B2 (en) Memory system and data processing system
KR20240003750A (en) Storage device hving real-time secure deletion function and operating method thereof
US11531476B2 (en) Memory system and memory system discard method
KR102445057B1 (en) Method of destroying privacy data in a nand flash memory
KR20190069803A (en) Memory system and operating method of memory system
Ahn et al. IoT security: On-chip secure deletion scheme using ECC modulation in IoT appliances
KR20220036569A (en) Memory system and operating method of memory system
KR20240009363A (en) Storage device for verifying secure deletion and operating method thereof
US10073685B2 (en) Methods of system optimization by over-sampling read