KR20190045121A - Method and apparatus for managing data of non-volatile memory in hybrid main memory system - Google Patents

Method and apparatus for managing data of non-volatile memory in hybrid main memory system Download PDF

Info

Publication number
KR20190045121A
KR20190045121A KR1020190046820A KR20190046820A KR20190045121A KR 20190045121 A KR20190045121 A KR 20190045121A KR 1020190046820 A KR1020190046820 A KR 1020190046820A KR 20190046820 A KR20190046820 A KR 20190046820A KR 20190045121 A KR20190045121 A KR 20190045121A
Authority
KR
South Korea
Prior art keywords
data
memory module
memory
random
cache
Prior art date
Application number
KR1020190046820A
Other languages
Korean (ko)
Other versions
KR102144124B1 (en
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 고려대학교 산학협력단
Priority to KR1020190046820A priority Critical patent/KR102144124B1/en
Publication of KR20190045121A publication Critical patent/KR20190045121A/en
Application granted granted Critical
Publication of KR102144124B1 publication Critical patent/KR102144124B1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories

Abstract

According to the present invention, a method for operating a data server system comprises the following steps of: storing valid cache data of a first memory module in accordance with a flush operation in a second memory module; generating random cache data in response to an invalidation request for the valid cache data in the second memory module; and overwriting the valid cache data with the random data in the second memory module. The first memory module includes a DRAM, the second memory module includes a NAND flash memory, and the random data is generated from pieces of data corresponding to a writable state with respect to a value of a current state corresponding to the valid cache data. According to the present invention, it is possible to invalidate data stored in a non-volatile memory, especially, personal data, thereby efficiently protecting the personal data.

Description

하이브리드 메인 메모리 시스템의 비휘발성 메모리의 데이터 관리 방법 및 장치 {Method and apparatus for managing data of non-volatile memory in hybrid main memory system}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method and apparatus for managing data in a non-volatile memory of a hybrid main memory system,

본 발명은 하이브리드 메인 메모리 시스템의 비휘발성 메모리의 데이터 관리 방법 및 그 장치에 관한 것이다. 보다 자세하게는 잊혀질 권리(Duty to Delete)를 비휘발성 메모리에 적용하여, 하이브리드 메인 메모리 시스템의 비휘발성 메모리에 저장된 데이터를 무효화(invalid) 하는 방법 및 그 방법을 수행하는 장치에 관한 것이다.The present invention relates to a method and an apparatus for managing data in a nonvolatile memory of a hybrid main memory system. More particularly, to a method of invalidating data stored in a nonvolatile memory of a hybrid main memory system by applying a duty to delete to a nonvolatile memory and an apparatus performing the method.

최근 개인 정보의 보호에 대한 관심이 커지고 있다. 이러한 관심은 개인 정보 보호법(Personal Information Protection Law)으로 이어지고 있다. 우리나라에서도 개인 정보 보호법이 2011년 제정되어 시행되고 있으며, 유럽 위원회(European Commission)에서는 2016년 4월 27일 개인 정보 보호 규정(General Data Protection Regulation)을 채택한 바 있다. 유럽의 개인 정보 보호 규정 제65조에 따르면, 개인 정보의 주체는 몇 가지 예외 상황을 제외하고는 목적에 맞지 않는 개인 정보의 삭제를 요청할 수 있음을 명시하고 있다.Recently, interest in the protection of personal information is growing. This interest has led to the Personal Information Protection Law. In Korea, the Personal Information Protection Act was enacted in 2011, and the European Commission adopted the General Data Protection Regulation on April 27, 2016. In accordance with Article 65 of the European Privacy Act, the subject of personal information specifies that, except in a few exceptions, it may ask for the deletion of personal information that does not fit the purpose.

미국의 경우에는 헌법 제1조의 표현의 자유가 사생활 보호보다 더 강조되고 있었으나, 2012년 오바마 대통령이 "네트워크 환경에서의 개인 정보 보호: 글로벌 디지털 경제에서 개인 정보 보호와 혁신 촉진을 위한 기본 아이디어 (Consumer Information Privacy in Network World: A Fundamental Idea for Privacy Protection and Innovation Promotion in the Global Digital Economy)"를 발표하면서, 개인 정보 보호에 보다 초점을 맞추는 방향으로 변화하고 있다.In the United States, freedom of expression in Article 1 of the Constitution was more emphasized than privacy, but President Obama in 2012 "Protecting personal information in a networked environment: a basic idea for promoting privacy and innovation in the global digital economy" And "Information Privacy in Network World: A Fundamental Idea for Privacy Protection and Innovation Promotion in the Global Digital Economy".

이러한 세계적인 변화의 흐름을 통해, 이제는 서비스를 제공하는데 불필요한 개인 정보는 의무적으로 삭제해야 한다는 것을 알 수 있다. 물론 이른바 "잊혀질 권리"(the right to be forgotten)에 있어서 삭제를 요청할 수 있는 개인 정보의 범위는 다를 수 있다. 그러나 개인 정보의 주체가 자신의 개인 정보의 삭제를 요청할 수 있다는 것이 현재의 추세이다.Through this global trend of change, we can see that mandatory deletion of personal information is no longer necessary to provide services. Of course, the so-called right to be forgotten, the range of personal information that may be requested for deletion may vary. However, the current trend is that the subject of personal information can request the deletion of his / her personal information.

개인 정보의 주체가 자신의 개인 정보의 삭제를 요청하면, 개인 정보를 관리하는 회사, 개인 정보를 이용해서 서비스를 제공하는 회사들은 자신의 시스템 상에서 이를 "삭제해야 할 의무"(the duty to delete)가 있다. 하지만 일반적으로 메모리 상에서 개인 정보를 삭제하더라도 삭제된 정보는 메모리 상에 그대로 남아있는 경우가 많다. 이처럼 종래에는 삭제한 정보이더라도 디지털 포렌식(Digital Forensics)에 의해서 복구가 가능한 경우가 있었다.When a subject of personal information requests deletion of his or her personal information, a company that manages personal information, or a company that provides services using personal information, must "delete" the duty to delete it on his / . However, in general, even if personal information is deleted from the memory, the deleted information is often left in the memory. As described above, there has been a case where the deleted information can be recovered by digital forensics.

이에 하이브리드 메인 메모리 시스템의 메모리의 데이터를 무효화 할 수 있는 별도의 데이터 관리 방법이 요구된다. 특히 전원이 공급되지 않아도 저장된 정보를 계속 유지할 수 있는 하드 디스크 등과 같은 비휘발성 메모리의 데이터를 무효화 할 수 있는 별도의 데이터 관리 방법이 필요하다.Therefore, a separate data management method capable of invalidating data in the memory of the hybrid main memory system is required. There is a need for a separate data management method capable of invalidating data in a nonvolatile memory such as a hard disk that can keep stored information even when power is not supplied.

KR 2015-0112076 A "하이브리드 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 데이터 처리 방법" (2015.10.07)KR 2015-0112076 A " Hybrid memory device, memory system including it and method of processing data thereof " (2015.10.07) US 2007-0276995 A1 "Hybrid solid state disk drive with controller" (2007.11.29)US 2007-0276995 A1 "Hybrid solid state disk drive with controller" (2007.11.29)

본 발명이 해결하고자 하는 기술적 과제는 하이브리드 메인 메모리 시스템의 비휘발성 메모리의 데이터를 관리하는 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a method for managing data in a nonvolatile memory of a hybrid main memory system and an apparatus for performing the method.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the above-mentioned technical problems, and other technical problems which are not mentioned can be clearly understood by those skilled in the art from the following description.

본 발명의 실시 예에 따른 제 1 메모리 모듈, 제 2 메모리 모듈, 및 상기 제 1 및 제 2 메모리 모듈들을 제어하는 중앙 처리 장치를 포함하는 데이터 서버 시스템의 동작 방법은, 상기 제 2 메모리 모듈에서 플러쉬 동작(flush operation)에 따라 제 1 메모리 모듈의 유효 캐시 데이터를 저장하는 단계; 상기 제 2 메모리 모듈에서 상기 유효 캐시 데이터에 대한 무효화 요청에 응답하여 랜덤 캐시 데이터를 생성하는 단계; 및 상기 제 2 메모리 모듈에서 상기 유효 캐시 데이터를 상기 랜덤 데이터로 덮어쓰는 단계를 포함하고, 상기 제 1 메모리 모듈은 DRAM(Dynamic Random Access Memory)를 포함하고, 상기 제 2 메모리 모듈은 NAND 플래시 메모리를 포함하고, 상기 랜덤 데이터는 상기 유효 캐시 데이터에 대응하는 현재 상태의 값을 기준으로 쓰기 가능한 상태에 대응하는 데이터 중에서 생성되는 것을 특징으로 한다.A method of operating a data server system including a first memory module, a second memory module, and a central processing unit controlling the first and second memory modules, according to an embodiment of the present invention, Storing effective cache data of a first memory module according to a flush operation; Generating random cache data in response to an invalidation request for the valid cache data in the second memory module; And overwriting the valid cache data with the random data in the second memory module, wherein the first memory module includes a Dynamic Random Access Memory (DRAM), and the second memory module includes a NAND flash memory And the random data is generated from data corresponding to a writable state based on a value of a current state corresponding to the valid cache data.

실시 예에 있어서, 상기 제 1 및 제 2 메모리 모듈들은 DDR(Double Data Rate) 인테페이스에 의해 상기 중앙 처리 장치에 연결되는 것을 특징으로 한다.In an embodiment, the first and second memory modules are connected to the central processing unit by a double data rate (DDR) interface.

실시 예에 있어서, 상기 유효 캐시 데이터는 개인 정보를 갖는 캐시 데이터 및 상기 캐시 데이터의 유효성을 지시하는 관리 비트를 포함할 수 있다.In an embodiment, the valid cache data may include cache data having private information and a management bit indicating validity of the cache data.

실시 예에 있어서, 상기 랜덤 데이터로 덮어쓰는 단계는, 상기 유효 캐시 데이터의 일부를 상기 랜덤 데이터로 덮어쓰는 단계를 포함할 수 있다.In an embodiment, overwriting with the random data may include overwriting a portion of the valid cache data with the random data.

실시 예에 있어서, 상기 데이터 서버 시스템은 관계형 데이터베이스 서버 시스템(RDBMS; Relational Database Management System)를 포함할 수 있다.In an embodiment, the data server system may include a relational database management system (RDBMS).

본 발명에 의하면 하이브리드 메인 메모리 시스템의 비휘발성 메모리에 저장된 데이터, 특히 개인 정보를 보다 확실하게 무효화 할 수 있다. 이를 통해 개인 정보를 효율적으로 보호하고, 해킹과 같은 불의의 사고가 발생하더라도 개인 정보를 안전하게 보호할 수 있다.According to the present invention, data stored in a nonvolatile memory of a hybrid main memory system, particularly personal information, can be more reliably invalidated. This protects personal information efficiently and safeguards personal information even if unexpected accidents such as hacking occur.

본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood to those of ordinary skill in the art from the following description.

도 1은 하이브리드 메인 메모리 시스템을 설명하기 위한 도면이다.
도 2는 일반적으로 비휘발성 메모리에 저장된 데이터의 관리 방법을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 비휘발성 메모리에 저장된 데이터의 관리 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 비휘발성 메모리에 저장된 데이터의 관리 장치를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시 예에 따른 NAND 플래시 메모리의 랜덤 데이터 생성 과정을 설명하기 위한 도면이다.
도 6은 본 발명의 다른 실시 예에 따른 비휘발성 메모리에 저장된 데이터의 관리 방법을 설명하기 위한 도면이다.
1 is a view for explaining a hybrid main memory system.
2 is a diagram for explaining a method of managing data stored in a nonvolatile memory.
3 is a diagram for explaining a method of managing data stored in a nonvolatile memory according to an embodiment of the present invention.
4 is a diagram for explaining an apparatus for managing data stored in a nonvolatile memory according to an embodiment of the present invention.
5 is a diagram for explaining a random data generating process of a NAND flash memory according to an embodiment of the present invention.
6 is a diagram for explaining a method of managing data stored in a nonvolatile memory according to another embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing. The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items. It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof. Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

이하, 본 발명에 따른 바람직한 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 하이브리드 메인 메모리 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 하이브리드 메인 메모리 시스템(100)은 중앙 처리 장치(CPU; Central Processing Unit; 110)과 디램(DRAM; Dynamic Random Access Memory)을 갖는 적어도 하나의 제 1 메모리 모듈(120) 및 비휘발성 메모리(NVM; Non-Volatile Memory)을 갖는 적어도 하나의 제 2 메모리 모듈(130)을 포함할 수 있다.1 is a view for explaining a hybrid main memory system. 1, the hybrid main memory system 100 includes at least one first memory module 120 having a central processing unit (CPU) 110 and a dynamic random access memory (DRAM) And at least one second memory module 130 having a non-volatile memory (NVM).

중앙 처리 장치(110)는 메인 메모리 시스템(100)의 전반적인 동작을 제어하도록 구현될 수 있다. 실시 예에 있어서, 중앙 처리 장치(100)는 적어도 하나의 프로세서, GPU(graphic processing unit), 메모리 제어기(memory controller) 등을 포함할 수 있다. 여기서, 프로세서는 범용 마이크로프로세서, 멀티코어 프로세서, 디지털 신호 프로세서(DSP; digital signal processor), ASIC(application specific integrated circuit), 혹은 그것들의 조합을 포함할 수 있다.The central processing unit 110 may be implemented to control the overall operation of the main memory system 100. In an embodiment, the central processing unit 100 may include at least one processor, a graphics processing unit (GPU), a memory controller, and the like. Here, the processor may comprise a general purpose microprocessor, a multicore processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), or a combination thereof.

제 1 메모리 모듈(120)은 중앙 처리 장치(110)의 동작을 수행하는데 필요한 데이터를 임시로 저장하도록 구현될 수 있다. 실시 예에 있어서, 제 1 메모리 모듈(120)은 DDRx(double data rate, x는 generation 의미함, 예를 들어 x는 4, 5 등이 될 수 있다.) 인터페이스에 따라 중앙 처리 장치(110)에 연결될 수 있다. 하지만, 본 발명의 인터페이스가 여기에 제한되지는 않을 것이다.The first memory module 120 may be configured to temporarily store data required to perform operations of the central processing unit 110. [ In an embodiment, the first memory module 120 may be coupled to the central processing unit 110 in accordance with DDRx (double data rate, where x is a generation means, e.g., x may be 4, 5, etc.) Can be connected. However, the interface of the present invention is not limited thereto.

제 2 메모리 모듈(130)은 전원이 공급되지 않아도 저장된 정보를 계속 유지하도록 구현될 수 있다. 실시 예에 있어서, 제 2 메모리 모듈(130)은 DDRx 인터페이스에 따라 중앙 처리 장치(110)에 연결될 수 있다. 하지만, 본 발명의 인터페이스가 여기에 제한되지는 않을 것이다.The second memory module 130 can be implemented so as to keep the stored information even when power is not supplied. In an embodiment, the second memory module 130 may be coupled to the central processing unit 110 in accordance with a DDRx interface. However, the interface of the present invention is not limited thereto.

예를 들어, 제 2 메모리 모듈(130)는 NVMe(non-volatile memory express), PCIe(peripheral component interconnect express), SATA(serial advanced technology attachment), SCSI(small computer system interface), SAS(serial attached SCSI), UAS(USB(universal storage bus) attached SCSI), iSCSI(internet small computer system interface), Fiber Channel, FCoE(fiber channel over Ethernet) 중에서 적어도 하나에 의해 중앙 처리 장치(110)에 연결될 수 있다.For example, the second memory module 130 may be a non-volatile memory (NVMe), a peripheral component interconnect (PCIe), a serial advanced technology attachment (SATA), a small computer system interface ), UAS (Universal Storage Bus (USB) attached SCSI), Internet Small Computer System Interface (iSCSI), Fiber Channel, and Fiber Channel over Ethernet (FCoE).

실시 예에 있어서, 제 2 메모리 모듈(130)은, 예를 들어, NVDIMM(nonvolatile dual in-line memory module), SSD(solid state drive), UFS(universal flash storage), eMMC(embedded multimedia card), SD(secure digital) 카드, DRAM(dynamic random access memory), SRAM(static random access memory), nand flash memory, vertical nand flash memory, PRAM(phase random access memory), RRAM(resistive random access memory) 등 일 수 있다.In an embodiment, the second memory module 130 may include, for example, a nonvolatile dual in-line memory module (NVDIMM), a solid state drive (SSD), a universal flash storage (UFS) Such as a secure digital (SD) card, a dynamic random access memory (DRAM), a static random access memory (SRAM), a nand flash memory, a vertical nand flash memory, a phase random access memory (PRAM) have.

중앙 처리 장치(110)는 제 1 메모리 모듈(120)의 캐시를 통해 보다 빠르게 데이터에 접근할 수 있다. 만약 중앙 처리 장치(110)가 미리 정해진 시간 동안 캐시(Cache)를 사용하지 않으면, 캐시 정책에 의해 제 1 메모리 모듈(120)의 캐시에 저장된 데이터는 제 2 메모리 모듈(130)로 옮겨지게 된다. 이를 플러쉬(Flush) 과정이라고 한다.The central processing unit 110 can access the data more quickly through the cache of the first memory module 120. [ If the central processing unit 110 does not use the cache for a predetermined time, the data stored in the cache of the first memory module 120 is transferred to the second memory module 130 by the cache policy. This is called a flush process.

플러쉬 과정 이후에는 데이터는 비휘발성 메모리에 남아있게 된다. 한편, 본 발명의 하이브리드 메인 메모리(100)의 캐시 동작이 여기에 제한되지 않을 것이다. 하이브리드 메인 메모리(100)의 캐시 동작은 다양하게 구현될 수 있다고 이해되어야 할 것이다. 예를 들어, 중앙 처리 장치(110)는 동작에 필요한 캐시를 제 1 메모리 모듈(120) 및 제 2 메모리 모듈(130)에 동시에 전송할 수 있다.After the flushing process, the data remains in nonvolatile memory. On the other hand, the cache operation of the hybrid main memory 100 of the present invention will not be limited thereto. It should be understood that the cache operation of the hybrid main memory 100 can be variously implemented. For example, the central processing unit 110 may simultaneously transmit the cache necessary for operation to the first memory module 120 and the second memory module 130. [

또한, 제 2 메모리 모듈(130)에 저장된 캐시는 추후 중앙 처리 장치(110)에 의해 관리 될 수 있다. 이때, 중앙 처리 장치(110)는 제 2 메모리 모듈(130)에 저장된 캐시의 valid/invalid 비트를 업데이트 하여 캐시를 관리할 수 있다. 즉 실제 데이터는 삭제하지는 않고, 데이터의 유효성에 관한 비트만 업데이트하여 캐시를 관리할 수 있다.In addition, the cache stored in the second memory module 130 may be managed by the central processing unit 110 in the future. At this time, the central processing unit 110 can update the valid / invalid bit of the cache stored in the second memory module 130 to manage the cache. That is, the actual data is not deleted, but the cache can be managed by updating only the bits related to the validity of the data.

도 2는 일반적으로 비휘발성 메모리에 저장된 데이터의 관리 방법을 설명하기 위한 도면이다. 도 2를 참고하면 제 2 메모리 모듈(130)에 캐시 5와 캐시 6이 valid 상태로 저장되어 있는 것을 볼 수 있다. 이때 해당 캐시에 대한 무효화 요청(invalidation request)이 오면, 중앙 처리 장치(110)는 제 2 메모리 모듈(130)의 캐시 5와 캐시 6의 유효성에 관한 비트만 invalid로 업데이트 한다. 즉 실제의 데이터는 아직 그대로 저장되어 있는 것을 볼 수 있다.2 is a diagram for explaining a method of managing data stored in a nonvolatile memory. Referring to FIG. 2, it can be seen that cache 5 and cache 6 are stored in the second memory module 130 in a valid state. At this time, when an invalidation request is received for the cache, the central processing unit 110 updates only the bits related to the validity of the cache 5 and the cache 6 of the second memory module 130 to invalid. In other words, the actual data is still stored as it is.

실시 예에 있어서, 무효화 요청은 비식별(de-identification) 기술과 관련된 요청일 수 있다. 이러한 비식별 기술은, 가명처리(pseudonymization; 휴리스틱 가명화, 암호화, 교환), 총계처리(aggregation; 총계처리, 부분총계, 라운딩, 재배열), 데이터 삭제(data reduction; 식별자 삭제, 식별자 부분 삭제, 레코드 삭제, 식별요소 전부삭제), 데이터 범주화(data suppressed; 감추기, 랜덤라운딩, 범위 방법, 제어 라운딩), 데이터 마스킹(data masking; 임의 잡음 추가, 공백과 대체) 포함할 수 있다.In an embodiment, the revocation request may be a request associated with a de-identification technique. Such non-identification techniques include pseudonymization, heuristic pseudonymization, encryption, exchange, aggregation, partial sum, rounding, reordering, data reduction, Data suppression, random rounding, range method, control rounding), data masking (random noise addition, blank and substitute).

실시 예에 있어서, 무효화 요청은, 비식별 대상인 데이터 관련 주소, 및 비식별 기술 종류 등을 포함하는 커맨드 형태로, 중앙 처리 장치(110)로부터 제 2 메모리 모듈(130)에 전송될 수 있다. 도시되지 않았지만, 제 2 메모리 모듈(130)은 비식별 조치 후, 비식별 조치가 완료되었다는 정보를 중앙 처리 장치(110)로 전송할 수 있다.In the embodiment, the invalidation request may be transmitted from the central processing unit 110 to the second memory module 130 in the form of a command including a non-identifying data-related address, a non-identifying technology type, and the like. Although not shown, the second memory module 130 may send information to the central processing unit 110 that the non-identifying action has been completed after the non-identifying action.

이와 같이 캐시를 관리하게 되면, 추후 디지털 포렌식에 의해서 유효성에 관한 비트가 invalid 상태라고 하더라도, 캐시 5와 캐시 6에 저장된 원래의 데이터를 복구할 수 있다. 즉 해킹과 같은 최악의 상황이 발생하면 개인 정보의 유출이 발생할 수 있는 문제점이 있다. 이를 해결하기 위해서는 단순히 유효성에 관한 비트만 관리할 것이 아니라 데이터도 함께 관리해야 한다.When the cache is managed as described above, the original data stored in the cache 5 and the cache 6 can be recovered even if the bit for validity is invalidated by the digital forensic later. That is, when the worst situation such as hacking occurs, leakage of personal information may occur. In order to solve this problem, it is necessary to manage not only the bits related to the validity but also the data.

도 3은 본 발명의 일 실시 예에 따른 비휘발성 메모리에 저장된 데이터의 관리 방법을 설명하기 위한 도면이다. 도 3을 참고하면 본 발명에서 제안하는 제 2 메모리 모듈(130)에 저장된 데이터의 관리 방법은 캐시에 대한 무효화 요청을 수신하면 유효성을 관리하는 비트만 변경하는 것이 아니라, 캐시 데이터도 값을 변경하는 것을 특징으로 한다. 이때 캐시 데이터에 저장할 새로운 값은 임의로 생성되는 값이다.3 is a diagram for explaining a method of managing data stored in a nonvolatile memory according to an embodiment of the present invention. Referring to FIG. 3, in the method of managing data stored in the second memory module 130 proposed in the present invention, when receiving a cache invalidation request, not only the bit for managing the validity is changed, . At this time, the new value to be stored in the cache data is a randomly generated value.

이렇게 임의로 생성한 값으로 원래의 데이터를 변경함으로써, 개인 정보를 효율적으로 관리할 수 있다. 특히, 제 2 메모리 모듈(130)에 개인 정보를 보다 확실하게 무효화 할 수 있다. 이를 통해 개인 정보를 효율적으로 보호하고, 해킹과 같은 불의의 사고가 발생하더라도 개인 정보를 안전하게 보호할 수 있다.By changing the original data to the value arbitrarily generated, the individual information can be efficiently managed. Particularly, personal information can be more reliably invalidated in the second memory module 130. This protects personal information efficiently and safeguards personal information even if unexpected accidents such as hacking occur.

이때, 제 2 메모리 모듈(130)이 PRAM, MRAM, ReRAM, 3DXpoint Memory과 같이 overwritable 메모리인 경우에는 임의의 랜덤 데이터를 생성해서, 캐시 데이터를 변경할 수 있다. 그러나, 제 2 메모리 모듈(130)이 NAND flash memory와 같이 non-overwritable 메모리인 경우에는 제한된 환경에서 랜덤 캐시 데이터를 생성해서 원래의 캐시 데이터를 변경할 수 있다. 이에 관한 보다 자세한 설명은 추후에 하기로 한다.At this time, if the second memory module 130 is an overwritable memory such as a PRAM, an MRAM, a ReRAM, and a 3DXpoint memory, random random data can be generated and the cache data can be changed. However, when the second memory module 130 is a non-overwritable memory such as a NAND flash memory, the original cache data can be changed by generating random cache data in a limited environment. A more detailed explanation will be given later.

도 4는 본 발명의 일 실시 예에 따른 비휘발성 메모리에 저장된 데이터의 관리 장치를 설명하기 위한 도면이다. 도 4를 참고하면 본 발명에서 제안하는 제 2 메모리 모듈(130)의 데이터 관리 장치는 메모리 제어기(210) 및 비휘발성 메모리부(230)를 포함할 수 있다. 그리고 메모리 제어기(210)는 DDN 처리부(220)를 포함할 수 있다. 여기서 DDN은 삭제할 의무(Duty to Delete)를 비휘발성 메모리(Non-volatile memory)에 적용하기 위한 별도의 처리부를 말한다.4 is a diagram for explaining an apparatus for managing data stored in a nonvolatile memory according to an embodiment of the present invention. Referring to FIG. 4, the data management apparatus of the second memory module 130 proposed by the present invention may include a memory controller 210 and a non-volatile memory unit 230. The memory controller 210 may include a DDN processing unit 220. Here, DDN refers to a separate processing unit for applying duty to delete to a non-volatile memory.

메모리 제어기(210)의 DDN 처리부(220)는 무효화 요청에 대한 응답으로 랜덤 데이터(221)를 생성할 수 있다. 여기서 무효화 요청은 비휘발성 메모리부(230)의 어느 데이터를 무효화 할지에 대한 주소 정보를 포함할 수 있다. 랜덤 데이터(221)를 생성한 후, DDN 처리부(220)는 비휘발성 메모리부(230)의 해당 주소의 실제 공간에 랜덤 데이터(221)를 덮어 쓸 수 있다.The DDN processing unit 220 of the memory controller 210 may generate the random data 221 in response to the invalidation request. Here, the invalidation request may include address information on which data of the non-volatile memory unit 230 is to be invalidated. After generating the random data 221, the DDN processing unit 220 can overwrite the random data 221 in the actual space of the corresponding address of the nonvolatile memory unit 230.

이때 비휘발성 메모리부(230)의 종류에 따라 랜덤 데이터(221)를 덮어쓰는 과정은 크게 2가지로 나눠질 수 있다. 하나는 비휘발성 메모리부(230)의 종류가 PRAM, MRAM, ReRAM, 3DXpoint Memory과 같이 overwritable 메모리인 경우에는 난수를 이용하여 랜덤 데이터(221)를 생성할 수 있다. 이때 난수는 난수 발생기를 이용하여 생성할 수 있다. 난수를 이용하여 랜덤 데이터(221)를 생성한 후에는 실제 공간에 랜덤 데이터(221)를 덮어 쓸 수 있다. 이후, 무효화 요청이 완료되었다는 정보를 중앙 처리 장치(110)에 전송될 수 있다.At this time, the process of overwriting the random data 221 according to the type of the nonvolatile memory unit 230 can be largely divided into two processes. In the case where the non-volatile memory unit 230 is an overwritable memory such as a PRAM, an MRAM, a ReRAM, or a 3DX memory, the random data 221 can be generated using a random number. In this case, random numbers can be generated using a random number generator. After generating the random data 221 using the random number, the random data 221 can be overwritten in the actual space. Then, the central processing unit 110 can be informed that the invalidation request has been completed.

반면에 비휘발성 메모리부(230)의 종류가 NAND memory와 같이 non-overwritable 메모리인 경우에는 overwritable 메모리와 같이 난수를 이용한 데이터의 생성은 불가능하며, 제한된 환경에서 랜덤 데이터(221)를 생성해야 한다. 즉, 무효화 대상이 되는 메모리의 실제 캐시 데이터를 읽은 다음에 읽은 캐시 데이터에 기초하여 랜덤 데이터(221)를 생성한다. 실제 캐시 데이터의 값에 기초하여 랜덤 데이터(221)를 생성한 후에는 실제 공간에 랜덤 데이터(221)를 덮어 쓴다. 이후, 무효화 요청이 완료되었다는 정보를 중앙 처리 장치(110)에 전송될 수 있다.On the other hand, when the non-volatile memory unit 230 is a non-overwritable memory such as a NAND memory, it is impossible to generate data using a random number like an overwritable memory, and random data 221 must be generated in a limited environment. That is, after the actual cache data of the invalidation target memory is read, the random data 221 is generated based on the read cache data. After generating the random data 221 based on the value of the actual cache data, the random data 221 is overwritten in the actual space. Then, the central processing unit 110 can be informed that the invalidation request has been completed.

즉 이때 비휘발성 메모리부(230)의 종류에 따라 랜덤 데이터(221)의 생성 방법이 달라질 수 있다. 다만, 랜덤 데이터(221)를 생성한 후에는 유효성을 나타내는 비트의 값을 valid에서 invalid로 변경하는 것과 함께, 실제 데이터를 랜덤 데이터(221)로 덮어쓰는 과정을 통해 개인 정보를 완전하게 무효화 할 수 있다.That is, the method of generating the random data 221 may vary depending on the type of the non-volatile memory unit 230. However, after generating the random data 221, the value of the validity bit is changed from valid to invalid, and the personal information can be completely invalidated by overwriting the actual data with the random data 221 have.

본 발명에서 제안하는 제 2 메모리 모듈(130)의 데이터 관리 방법과 일반적인 데이터 관리 방법을 비교하면 다음의 표 1과 같다.The data management method of the second memory module 130 proposed by the present invention is compared with a general data management method, as shown in the following Table 1.

Read timeRead time Write timeWrite time Random Data Gen. timeRandom Data Gen. time Erase timeErase time GC OverheadGC Overhead DDN ProcessDDN Process 0.049 ms0.049 ms 0.6 ms0.6 ms < 0.1 ms<0.1 ms NoneNone NoneNone Prior ErasePrior Erase 4ms4ms Non-expectedNon-expected

본 발명에서 제안하는 제 2 메모리 모듈(130)의 데이터 관리 방법은 제 2 메모리 모듈(130)가 non-overwritable 메모리인 경우, 메모리를 읽고 쓰는 시간을 모두 포함해야 한다. 예를 들어 NAND 플래시 메모리의 경우 non-overwritable 메모리이므로 데이터를 읽는 시간이 추가로 더 필요하다.예를 들어 표 1에 값이 표시된 3D NAND 플래시 메모리의 경우, 페이지 읽기 시간은 0.049ms 미만이고, 페이지 쓰기 시간은 0.6 ms 미만이다. 여기에 랜덤 데이터(221)를 생성하는 시간을 모두 포함해도 1ms 미만이다. 이에 비해 일반적인 데이터 관리 방법은 소거 시간에 4ms 정도를 소요한다.The data management method of the second memory module 130 proposed by the present invention should include both reading and writing time of the memory when the second memory module 130 is a non-overwritable memory. For example, NAND flash memory is non-overwritable and requires more time to read data. For example, for a 3D NAND flash memory with a value in Table 1, the page read time is less than 0.049 ms, Write time is less than 0.6 ms. It is less than 1 ms including the time for generating the random data 221. On the other hand, a typical data management method takes about 4 ms in erase time.

게다가 일반적인 데이터 관리 방법은 가비지 콜렉션(GC; Gavage Collection)로 인한 부하도 추가로 고려해야 한다. 즉 일반적인 데이터 관리 방법에 비해서 본 발명에서 제안하는 제 2 메모리 모듈(130)의 데이터 관리 방법을 사용할 경우 데이터를 무효화 하는데 소모되는 시간과 비용을 줄일 수 있다.In addition, common data management methods require additional load due to garbage collection (GC). That is, when the data management method of the second memory module 130 proposed in the present invention is used as compared with the general data management method, the time and cost consumed in invalidating the data can be reduced.

도 5는 본 발명의 일 실시 예에 따른 NAND 플래시 메모리의 랜덤 데이터 생성 과정을 설명하기 위한 도면이다. 도 5를 참고하면 NAND 플래시 메모리의 경우, 원래 저장되어 있던 데이터에 따라 현재 생성할 수 있는 랜덤 데이터(221)가 달라진다. 예를 들면 현재 S5 "100"의 값을 가지고 있다면, 랜덤 데이터(221)는 해당 S5 이후의 상태인 S6, S7, S8의 값인 101, 110, 111 중에서만 생성이 가능하다. 한편, 도 5에 도시된 상태들에 대응하는 데이터는 하나의 실시 예로써, 본 발명을 제한하지 않는다고 이해되어야 할 것이다.5 is a diagram for explaining a random data generating process of a NAND flash memory according to an embodiment of the present invention. Referring to FIG. 5, in the case of the NAND flash memory, the random data 221 that can be generated at present depends on the originally stored data. For example, if the current data has a value of S5 " 100 ", the random data 221 can be generated only from the values S6, S7 and S8 of the states after the corresponding S5. On the other hand, it should be understood that the data corresponding to the states shown in Fig. 5 are not limitative of the present invention as one embodiment.

이는 NAND 플래시 메모리가 셀 단위로 데이터를 쓰고 지우기 때문이다. 즉 NAND 플래시 메모리의 S5 상태에서는 데이터를 소거하지 않는 이상 S6, S7, S8 상태의 데이터만 기록이 가능하다. 즉 셀의 데이터를 소거(Erase) 해야만 다시 S1 상태로 돌아갈 수 있기 때문에, 현재 상태 S5를 기준으로 쓰기가 가능한 데이터 중에서 랜덤 데이터(221)를 생성하는 것이다.This is because the NAND flash memory writes and erases data on a cell-by-cell basis. That is, in the S5 state of the NAND flash memory, only the data in the states S6, S7 and S8 can be written unless data is erased. That is, if the data of the cell is erased, it is possible to return to the S1 state. Therefore, the random data 221 is generated from the data that can be written based on the current state S5.

NAND 플래시 메모리의 경우, 이렇게 현재 상태의 값을 기준으로 랜덤 데이터(221)를 생성해서 쓰는 과정이 데이터를 소거(Erase)하고 S1 상태로 돌아가는 것보다 시간 및 비용 측면에서 훨씬 효율적이다.In the case of the NAND flash memory, the process of generating and writing the random data 221 based on the current state value is more efficient in terms of time and cost than erasing the data and returning to the S1 state.

도 6은 본 발명의 다른 실시 예에 따른 비휘발성 메모리에 저장된 데이터의 관리 방법을 설명하기 위한 도면이다. 도 6을 참고하면, 무효화가 필요한 원래의 캐시 데이터(Original Cache Data)를 전부 랜덤 데이터(221)로 덮어쓰는 방법 외에도 부분적으로 덮어쓰는 방법도 가능하다. 이렇게 부분적으로 덮어쓰더라도 온전한 개인 정보의 복구는 불가능하기 때문이다.6 is a diagram for explaining a method of managing data stored in a nonvolatile memory according to another embodiment of the present invention. Referring to FIG. 6, it is possible to partially overwrite original cache data (original cache data) which need to be invalidated, in addition to overwriting all of the original cache data with random data 221. This is because it is impossible to restore complete personal information even if partially overwritten.

이 경우에는 랜덤 데이터 대신에 비-랜덤 데이터를 활용할 수 있다. 즉 임의로 생성한 데이터가 아닌 "000" 또는 "111"과 같은 특정 데이터의 값을 고정으로 사용할 수 있다. 이때에는 도 6의 (a)와 같이 대상 영역을 전부 덮어쓰는 것도 가능하고 (b)와 같이 절반 영역만, (c)나 (d)와 같이 원래의 데이터와 특정 데이터를 교대로 나타나도록 덮어쓰는 것도 가능하다.In this case, non-random data can be utilized instead of random data. That is, the value of specific data such as " 000 " or " 111 " At this time, it is possible to overwrite the entire target area as shown in FIG. 6 (a), and only the half area as shown in FIG. 6 (b) It is also possible.

또한, 캐시 데이터가 플러쉬 과정 이후 비활성 메모리(130)에 저장된 이후에, 기 설정된 일정한 시간이 경과한 때에는 자동으로 캐시 데이터를 무효화 할 수 있다. 이때 본 발명에서 제안하는 랜덤 데이터를 이용하여 캐시 데이터를 무효화 할 수 있다.Also, after the cache data is stored in the non-volatile memory 130 after the flushing process, the cache data may be automatically invalidated when a predetermined time has elapsed. At this time, the cache data can be invalidated using the random data proposed in the present invention.

한편, 본 발명은 데이터 서버에 응용 가능하다. 본 발명의 실시 예에 따른 데이터 서버 시스템은 관계형 데이터베이스 관리 시스템(RDBMS; Relational Database Management System), 캐시 서버, 및 어플리케이션 서버를 포함할 수 있다. 캐시 서버는 데이터 베이스 관리 시스템으로부터 무효화 통지에 대응하여 서로 다른 키(key), 값(value) 쌍을 유지하고, 삭제하는 키값 저장을 포함할 수 있다. 데이터 베이스 관리 시스템(RDBMS), 캐시 서버, 및 어플리케이션 서버 중 적어도 하나는 도 1 내지 도 6에서 설명된 비휘발성 메모리의 무효화 기술로 구현될 수 있다.Meanwhile, the present invention is applicable to a data server. A data server system according to an embodiment of the present invention may include a relational database management system (RDBMS), a cache server, and an application server. The cache server may include a key value storage for holding and deleting different key, value pairs in response to the invalidation notification from the database management system. At least one of the database management system (RDBMS), the cache server, and the application server can be implemented with the technique of invalidating the nonvolatile memory described in Figs.

이상 첨부된 도면을 참조하여 본 발명의 실시 예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, You will understand. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive.

100: 하이브리드 메인 메모리 시스템
110: 중앙 처리 장치(CPU)
120: 제 1 메모리 모듈
130: 제 2 메모리 모듈
210: 메모리 제어기
220: DDN 처리부
230: 비휘발성 메모리부
100: Hybrid main memory system
110: central processing unit (CPU)
120: first memory module
130: second memory module
210: memory controller
220: DDN processor
230: Nonvolatile memory unit

Claims (6)

제 1 메모리 모듈, 제 2 메모리 모듈, 및 상기 제 1 및 제 2 메모리 모듈들을 제어하는 중앙 처리 장치를 포함하는 데이터 서버 시스템의 동작 방법에 있어서,
상기 제 2 메모리 모듈에서 플러쉬 동작(flush operation)에 따라 제 1 메모리 모듈의 유효 캐시 데이터를 저장하는 단계;
상기 제 2 메모리 모듈에서 상기 유효 캐시 데이터에 대한 무효화 요청에 응답하여 랜덤 캐시 데이터를 생성하는 단계; 및
상기 제 2 메모리 모듈에서 상기 유효 캐시 데이터를 상기 랜덤 데이터로 덮어쓰는 단계를 포함하고,
상기 제 1 메모리 모듈은 DRAM(Dynamic Random Access Memory)를 포함하고,
상기 제 2 메모리 모듈은 NAND 플래시 메모리를 포함하고,
상기 랜덤 데이터는 상기 유효 캐시 데이터에 대응하는 현재 상태의 값 이후에 생성 가능한 값들 중 선택되는 것을 특징으로 하는 방법.
A method of operating a data server system including a first memory module, a second memory module, and a central processing unit controlling the first and second memory modules,
Storing effective cache data of a first memory module according to a flush operation in the second memory module;
Generating random cache data in response to an invalidation request for the valid cache data in the second memory module; And
And overwriting the valid cache data with the random data in the second memory module,
The first memory module includes a dynamic random access memory (DRAM)
Wherein the second memory module includes a NAND flash memory,
Wherein the random data is selected among values that can be generated after the value of the current state corresponding to the valid cache data.
제 1 항에 있어서,
상기 제 1 및 제 2 메모리 모듈들은 DDR(Double Data Rate) 인테페이스에 의해 상기 중앙 처리 장치에 연결되는 것을 특징으로 하는 방법.
The method according to claim 1,
Wherein the first and second memory modules are coupled to the central processing unit by a Double Data Rate (DDR) interface.
제 1 항에 있어서,
상기 유효 캐시 데이터는 개인 정보를 갖는 캐시 데이터 및 상기 캐시 데이터의 유효성을 지시하는 관리 비트를 포함하는 방법.
The method according to claim 1,
Wherein the valid cache data comprises cache data having private information and a management bit indicating validity of the cache data.
제 1 항에 있어서,
상기 랜덤 데이터로 덮어쓰는 단계는,
상기 유효 캐시 데이터의 일부를 상기 랜덤 데이터로 덮어쓰는 단계를 포함하는 방법.
The method according to claim 1,
Wherein overwriting with the random data comprises:
And overwriting a portion of the valid cache data with the random data.
제 1 항에 있어서,
상기 데이터 서버 시스템은 관계형 데이터베이스 서버 시스템(RDBMS; Relational Database Management System)를 포함하는 방법.
The method according to claim 1,
Wherein the data server system comprises a relational database management system (RDBMS).
제 1 항 내지 제5항 중 어느 한 항에 있어서,
상기 중앙 처리 장치가 미리 정해진 시간 동안 캐시를 사용하지 않으면 상기 제1 메모리 모듈의 캐시에 저장된 데이터가 상기 제2 메모리 모듈로 옮겨지는 플러쉬 동작이 수행되는 것을 특징으로 하는 방법.
6. The method according to any one of claims 1 to 5,
Wherein a flush operation is performed in which data stored in the cache of the first memory module is transferred to the second memory module if the central processing unit does not use the cache for a predetermined time.
KR1020190046820A 2019-04-22 2019-04-22 Method and apparatus for managing data of non-volatile memory in hybrid main memory system KR102144124B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190046820A KR102144124B1 (en) 2019-04-22 2019-04-22 Method and apparatus for managing data of non-volatile memory in hybrid main memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190046820A KR102144124B1 (en) 2019-04-22 2019-04-22 Method and apparatus for managing data of non-volatile memory in hybrid main memory system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170046915A Division KR20180114774A (en) 2017-04-11 2017-04-11 Method and apparatus for managing data of non-volatile memory in hybrid main memory system

Publications (2)

Publication Number Publication Date
KR20190045121A true KR20190045121A (en) 2019-05-02
KR102144124B1 KR102144124B1 (en) 2020-08-13

Family

ID=66581740

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190046820A KR102144124B1 (en) 2019-04-22 2019-04-22 Method and apparatus for managing data of non-volatile memory in hybrid main memory system

Country Status (1)

Country Link
KR (1) KR102144124B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210072730A (en) * 2019-12-09 2021-06-17 고려대학교 산학협력단 Method of destroying privacy data in a nand flash memory
WO2021118232A1 (en) * 2019-12-09 2021-06-17 고려대학교 산학협력단 Method for discarding personal information in nand flash memory

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240003750A (en) 2022-07-02 2024-01-09 안나영 Storage device hving real-time secure deletion function and operating method thereof

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100578143B1 (en) * 2004-12-21 2006-05-10 삼성전자주식회사 Storage system with scheme capable of invalidating data stored in buffer memory and computing system including the same
KR20090094195A (en) * 2008-03-01 2009-09-04 가부시끼가이샤 도시바 Memory system and data erasing method thereof
KR100936086B1 (en) * 2002-02-11 2010-01-12 어드밴스드 마이크로 디바이시즈, 인코포레이티드 Partial page programming of multi level flash semiconductor memory
KR20100123133A (en) * 2009-05-14 2010-11-24 구진국 Management method for temporary files used in applications
KR101284465B1 (en) * 2013-03-26 2013-07-09 서울과학기술대학교 산학협력단 Page mapping scheme that supports secure file deletion for nand-based block device, and thereof recording medium
KR20140051685A (en) * 2012-10-23 2014-05-02 삼성전자주식회사 Data storage device and controller, and operation method of data storage device
KR20150112076A (en) 2014-03-26 2015-10-07 삼성전자주식회사 Hybrid memory, memory system including the same and data processing method thereof
KR20160016481A (en) * 2014-07-31 2016-02-15 삼성전자주식회사 Memory controller for controlling data sanitization and memory system including the same
KR101704702B1 (en) * 2016-04-18 2017-02-08 (주)케이사인 Tagging based personal data de-identification system and de-identification method of personal data

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100936086B1 (en) * 2002-02-11 2010-01-12 어드밴스드 마이크로 디바이시즈, 인코포레이티드 Partial page programming of multi level flash semiconductor memory
KR100578143B1 (en) * 2004-12-21 2006-05-10 삼성전자주식회사 Storage system with scheme capable of invalidating data stored in buffer memory and computing system including the same
KR20090094195A (en) * 2008-03-01 2009-09-04 가부시끼가이샤 도시바 Memory system and data erasing method thereof
KR20100123133A (en) * 2009-05-14 2010-11-24 구진국 Management method for temporary files used in applications
KR20140051685A (en) * 2012-10-23 2014-05-02 삼성전자주식회사 Data storage device and controller, and operation method of data storage device
KR101284465B1 (en) * 2013-03-26 2013-07-09 서울과학기술대학교 산학협력단 Page mapping scheme that supports secure file deletion for nand-based block device, and thereof recording medium
KR20150112076A (en) 2014-03-26 2015-10-07 삼성전자주식회사 Hybrid memory, memory system including the same and data processing method thereof
KR20160016481A (en) * 2014-07-31 2016-02-15 삼성전자주식회사 Memory controller for controlling data sanitization and memory system including the same
KR101704702B1 (en) * 2016-04-18 2017-02-08 (주)케이사인 Tagging based personal data de-identification system and de-identification method of personal data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
US 2007-0276995 A1 "Hybrid solid state disk drive with controller" (2007.11.29)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210072730A (en) * 2019-12-09 2021-06-17 고려대학교 산학협력단 Method of destroying privacy data in a nand flash memory
WO2021118232A1 (en) * 2019-12-09 2021-06-17 고려대학교 산학협력단 Method for discarding personal information in nand flash memory
US11899958B2 (en) 2019-12-09 2024-02-13 Korea University Research And Business Foundation Method for discarding personal information in NAND flash memory

Also Published As

Publication number Publication date
KR102144124B1 (en) 2020-08-13

Similar Documents

Publication Publication Date Title
US10127166B2 (en) Data storage controller with multiple pipelines
US10275310B2 (en) Updating exclusive-or parity data
CN113508382B (en) Selective erasure of data in SSDs
US11416417B2 (en) Method and apparatus to generate zero content over garbage data when encryption parameters are changed
US11580029B2 (en) Memory system, computing system, and methods thereof for cache invalidation with dummy address space
KR102233400B1 (en) Data storage device and operating method thereof
KR102144124B1 (en) Method and apparatus for managing data of non-volatile memory in hybrid main memory system
US10019315B2 (en) Control device for a storage apparatus, system, and method of controlling a storage apparatus
US20180260151A1 (en) Data Storage Device and Operating Method Therefor
CN107402719B (en) Data storage method and data recovery method for data storage device, and data storage device using the same
KR102530583B1 (en) Storage device and memory system
US20140219041A1 (en) Storage device and data processing method thereof
US20140325168A1 (en) Management of stored data based on corresponding attribute data
KR20160024550A (en) Data storage device and operating method thereof
JP2005339231A (en) Memory card, semiconductor device, and method for controlling semiconductor memory
US20190377693A1 (en) Method to generate pattern data over garbage data when encryption parameters are changed
US10146688B2 (en) Safe write-back cache replicating only dirty data
KR20180114774A (en) Method and apparatus for managing data of non-volatile memory in hybrid main memory system
Ahn et al. Duty to delete on non-volatile memory
JP2013062616A (en) Storage device, data storage method, and data controller
KR20210095711A (en) Data integrity protection to relocate data in memory systems
TW201621668A (en) Data storage device and data writing method thereof
US11360912B2 (en) Method for performing adaptive locking range management, associated data storage device and controller thereof
JP6378111B2 (en) Information processing apparatus and program
KR20210079894A (en) Data storage device and operating method thereof

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right