KR20160016481A - 데이터 완전삭제를 제어하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 - Google Patents

데이터 완전삭제를 제어하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 Download PDF

Info

Publication number
KR20160016481A
KR20160016481A KR1020140129521A KR20140129521A KR20160016481A KR 20160016481 A KR20160016481 A KR 20160016481A KR 1020140129521 A KR1020140129521 A KR 1020140129521A KR 20140129521 A KR20140129521 A KR 20140129521A KR 20160016481 A KR20160016481 A KR 20160016481A
Authority
KR
South Korea
Prior art keywords
information
memory
storage unit
overwrite
information storage
Prior art date
Application number
KR1020140129521A
Other languages
English (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 US14/700,606 priority Critical patent/US20160034217A1/en
Publication of KR20160016481A publication Critical patent/KR20160016481A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

데이터 완전삭제를 제어하는 메모리 컨트롤러가 개시된다. 본 발명의 예시적 실시예에 따른 메모리 컨트롤러는, 제1 또는 제2 정보를 비휘발적으로 저장하는 완전삭제 정보 저장부, 및 비휘발성 메모리에 저장된 데이터의 완전삭제가 완료되면 완전삭제 정보 저장부에 제1 정보를 저장하고, 호스트의 기입 커맨드에 응답하여 완전삭제 정보 저장부에 제2 정보를 저장하는 제어부를 포함할 수 있다.

Description

데이터 완전삭제를 제어하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템{MEMORY CONTROLLER FOR CONTROLLING DATA SANITIZATION AND MEMORY SYSTEM INCLUDING THE SAME}
본 발명의 기술적 사상은 메모리 컨트롤러 및 이를 포함하는 메모리 시스템에 관한 것으로서, 자세하게는 데이터 완전삭제(data sanitization)를 제어하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템에 관한 것이다.
비휘발성 메모리는 전원이 차단되어도 저장하고 있는 데이터를 유지하는 메모리의 종류를 말한다. 최근 고용량의 비휘발성 메모리를 포함하는 데이터 스토리지들이 널리 사용되고 있으며, 데이터 스토리지들은 많은 양의 데이터를 저장하거나 이동시키는데 유용하게 사용되고 있다.
데이터 스토리지가 점차 고용량화 되고, 휴대성이 개선됨에 따라 방대한 양의 데이터를 은밀하게 이동시키는 수단으로 악용될 가능성이 높아지고 있다. 특히, 보안이 필요한 정보를 이용하는 제조업체, 국가기관, 금융기관 등은 이러한 데이터 스토리지를 이용한 정보의 반출을 막기 위한 조치가 필수적이다.
본 발명의 기술적 사상은 메모리를 제어하는 방법, 그 방법을 수행하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템에 관한 것으로서, 비휘발성 메모리에 저장된 데이터의 완전삭제를 제어하는 방법, 그 방법을 수행하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템을 제공한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 기술적 사상의 일측면에 따른 메모리 컨트롤러는, 제1 정보 또는 제2 정보를 비휘발적으로 저장하는 완전삭제(sanitization) 정보 저장부, 및 호스트의 완전삭제 커맨드에 응답하여 비휘발성 메모리에 저장된 데이터의 완전삭제가 완료되면 상기 완전삭제 정보 저장부에 상기 제1 정보를 저장하고, 호스트의 기입 커맨드에 응답하여 상기 완전삭제 정보 저장부에 상기 제2 정보를 저장하는 제어부를 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 상기 제어부는 호스트의 체크 커맨드에 응답하여 상기 완전삭제 정보 저장부에 저장된 정보를 독출하고, 독출된 정보를 호스트에 전달할 수 있다.
본 발명의 예시적 실시예에 따라, 상기 제어부는 상기 완전삭제 정보 저장부에 저장된 정보를 독출하고, 독출된 정보에 따라 제어 신호를 출력할 수 있다.
본 발명의 예시적 실시예에 따라, 상기 제어부는 복수개의 명령어들을 실행함으로써 상기 완전삭제 정보 저장부를 엑세스하는 프로세서일 수 있고, 상기 메모리 컨트롤러는 상기 복수개의 명령어들을 저장하고 상기 프로세서에 의해 엑세스되는 롬(ROM)을 더 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 상기 제1 정보는 상기 데이터의 완전삭제의 유형에 대한 정보를 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 상기 데이터의 완전삭제는 보안 삭제(Secure Erase) 또는 암호키 삭제(Crypto Erase)를 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 상기 제2 정보는 호스트의 적어도 하나의 기입 커맨드에 응답하여 상기 비휘발성 메모리에 저장된 데이터의 크기 정보를 포함할 수 있다.
본 발명의 기술적 사상의 일측면에 따른 메모리 시스템은, 비휘발성 메모리 및 상기 비휘발성 메모리를 제어하는 메모리 컨트롤러를 포함할 수 있다. 상기 메모리 컨트롤러는, 제1 정보 또는 제2 정보를 비휘발적으로 저장하는 완전삭제(sanitization) 정보 저장부, 및 호스트의 완전삭제 커맨드에 응답하여 비휘발성 메모리에 저장된 데이터의 완전삭제가 완료되면 상기 완전삭제 정보 저장부에 상기 제1 정보를 저장하고, 호스트의 기입 커맨드에 응답하여 상기 완전삭제 정보 저장부에 상기 제2 정보를 저장하는 제어부를 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 상기 제어부는 호스트의 체크 커맨드에 응답하여 상기 완전삭제 정보 저장부에 저장된 정보를 독출하고, 독출된 정보를 호스트에 전달할 수 있다.
본 발명의 예시적 실시예에 따라, 상기 제어부는 상기 완전삭제 정보 저장부에 저장된 정보를 독출하고, 독출된 정보에 따라 제어 신호를 출력할 수 있고, 상기 메모리 시스템은 상기 제어 신호에 기초하여 가시적인 신호를 출력하는 표시부를 더 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 상기 표시부는 LED 또는 전자잉크(e-ink) 패널을 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 상기 완전삭제 정보 저장부와 연결된 무선통신 모듈을 더 포함할 수 있고, 상기 무선통신 모듈은 상기 완전삭제 정보 저장부에 저장된 정보에 기초하여 무선 신호를 출력할 수 있다.
본 발명의 예시적 실시예에 따라, 상기 제어부는 복수개의 명령어들을 실행함으로써 상기 완전삭제 정보 저장부를 엑세스하는 프로세서일 수 있고, 상기 메모리 컨트롤러는 상기 복수개의 명령어들을 저장하고, 상기 프로세서에 의해 엑세스되는 롬(ROM)을 더 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 상기 비휘발성 메모리는 반도체 메모리 장치 또는 자기 디스크 장치일 수 있다.
본 발명의 예시적 실시예에 따라, 상기 완전삭제 정보 저장부와 연결되고, 상기 메모리 시스템에 대한 침습성 공격을 감지하는 감지부를 더 포함할 수 있고, 상기 완전삭제 정보 저장부는 상기 감지부가 침습성 공격을 감지한 경우 상기 제2 정보 또는 상기 제1 및 제2 정보와 다른 제3 정보에 대응하는 신호를 출력하도록 재구성될 수 있다.
본 발명의 기술적 사상의 일측면에 따른 메모리 시스템에서의 데이터 완전삭제의 인증 방법은, 호스트로부터 수신된 완전삭제 커맨드에 응답하여, 비휘발성 메모리에 저장된 데이터의 완전삭제를 수행하는 단계, 상기 완전삭제가 완료되면 완전삭제 정보 저장부에 제1 정보를 저장하는 단계, 호스트로부터 수신된 기입 커맨드에 응답하여, 상기 비휘발성 메모리에 데이터를 기입하는 단계, 및 상기 완전삭제 정보 저장부에 제2 정보를 저장하는 단계를 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 데이터 완전삭제의 인증 방법은 호스트로부터 수신된 체크 커맨드에 응답하여 상기 완전삭제 정보 저장부에 저장된 정보를 독출하고, 독출된 정보를 호스트에 전달하는 단계를 더 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 데이터 완전삭제의 인증 방법은 상기 완전삭제 정보 저장부에 저장된 정보를 독출하고, 독출된 정보에 따라 제어 신호를 출력하는 단계, 및 상기 제어 신호에 기초하여 가시적인 신호를 출력하는 단계를 더 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 상기 제2 정보를 저장하는 단계는, 상기 완전삭제 정보 저장부에 저장된 정보를 독출하는 단계, 상기 비휘발성 메모리에 기입된 데이터의 크기에 기초하여 상기 독출된 정보를 갱신하는 단계, 및 상기 완전삭제 정보 저장부에 상기 갱신된 정보를 상기 제2 정보로서 저장하는 단계를 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 상기 데이터 완전삭제의 인증 방법은 상기 메모리 시스템에 대한 침습성 공격을 감지하는 단계, 및 상기 침습성 공격을 감지한 경우, 상기 제1 및 제2 정보와 다른 제3 정보에 대응하는 신호를 출력하도록 상기 완전삭제 정보 저장부를 재구성하는 단계를 더 포함할 수 있다.
본 발명의 기술적 사상에 의하면, 비휘발성 메모리 시스템에 포함된 비휘발성 메모리에서 데이터 완전삭제가 완료되었는지 여부를 사용자가 용이하게 알 수 있다.
또한, 사용자는 데이터 완전삭제 여부와 함께 다른 정보를 쉽게 확인할 수 있으므로, 비휘발성 메모리 시스템의 현재 상태를 용이하게 파악할 수 있다.
도 1은 본 발명의 예시적 실시예에 따른 메모리 컨트롤러를 포함하는 메모리 시스템을 나타내는 도면이다.
도 2는 본 발명의 예시적 실시예에 따라 도 1의 메모리 시스템 및 호스트의 동작의 예시를 나타내는 도면이다.
도 3a 및 3b는 본 발명의 예시적 실시예들에 따라 도 1의 완전삭제 정보 저장부의 예시들을 나타내는 도면이다.
도 4는 본 발명의 예시적 실시예에 따라 표시부를 포함하는 메모리 시스템을 나타내는 도면이다.
도 5는 본 발명의 예시적 실시예에 따라 무선 통신 모듈을 포함하는 메모리 시스템을 나타내는 도면이다.
도 6은 본 발명의 예시적 실시예에 따라 감지부를 포함하는 메모리 시스템를 나타내는 도면이다.
도 7은 본 발명의 예시적 실시예에 따른 메모리 컨트롤러를 포함하는 메모리 시스템을 나타내는 도면이다.
도 8은 본 발명의 예시적 실시예에 따른 데이터 완전삭제의 인증 방법을 나타내는 순서도이다.
도 9는 본 발명의 예시적 실시예에 따라 도 8의 제2 정보를 저장하는 단계의 예시를 나타내는 순서도이다.
도 10은 본 발명의 예시적 실시예에 따라 메모리 시스템에서 호스트로 데이터의 완전삭제 관련 정보를 전송하는 방법을 나타내는 순서도이다.
도 11은 본 발명의 예시적 실시예에 따라 도 4의 제어부의 동작을 나타내는 순서도이다.
도 12는 본 발명의 예시적 실시예에 따라 도 6의 감지부의 동작을 나타내는 순서도이다.
도 13은 본 발명의 예시적 실시예에 따른 SSD(Solid State Drive)를 도시한다.
도 14는 본 발명의 예시적 실시예에 따른 메모리 카드를 나타내는 도면이다.
도 15는 본 발명의 예시적 실시예에 따라 비휘발성 스토리지를 장착한 컴퓨팅 시스템을 도시한다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 예시적 실시예에 따른 메모리 컨트롤러(1100)를 포함하는 메모리 시스템(1000)을 나타내는 도면이다. 도 1은 본 명세서 전체에서 참조된다.
도 1에 도시된 바와 같이, 메모리 시스템(1000)은 호스트(2000)와 통신할 수 있으며, 비휘발성 메모리(1200) 및 비휘발성 메모리(1200)를 제어하는 메모리 컨트롤러(1100)를 포함할 수 있다. 호스트(2000)는 메모리 시스템(1000)에 커맨드를 전송할 수 있고, 메모리 시스템(1000)은 수신된 커맨드에 응답하여 필요한 동작을 수행할 수 있다. 메모리 시스템(1000) 및 호스트(2000)는 비제한적인 예시로서 ATA, SCSI, NVMe, eMMC, SD 등과 같은 통신 인터페이스에 따라 커맨드 및/또는 데이터를 주고 받을 수 있다.
비휘발성 메모리(1200)는 전원이 차단되어도 저장하고 있는 데이터가 유지되는 특성을 가지는 메모리 또는 메모리 장치를 지칭할 수 있다. 비휘발성 메모리(1200)는, 비제한적인 예시로서 낸드 플래시 메모리메모리(NAND Flash Memory), 수직형 낸드 플래시 메모리(Vertical NAND; VNAND), 노아 플래시 메모리(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) 등이 될 수 있다. 또한, 비휘발성 메모리 장치는 3차원 어레이 구조(three-dimensional 10 array structure) 등으로 구현될 수 있다. 또한, 비휘발성 메모리(1200)는 반도체 메모리 장치뿐만 아니라, 자기 디스크 장치로 구현될 수도 있다. 본 발명의 기술적 사상에 따른 실시예는 전하 저장층이 전도성 부유 게이트로 구성된 플래시 메모리는 물론, 전하 저장층이 절연막으로 구성된 차지 트랩형 플래시(charge trap flash; CTF)에도 모두 적용 가능하다. 이하에서는 설명의 편의를 위하여 비휘발성 메모리(1200)는 낸드 플래시 메모리인 것으로 설명되나, 본 발명의 기술적 사상이 이에 제한되지 않는 점은 이해될 것이다.
비휘발성 메모리(1200)에 저장된 데이터의 삭제(delete)는 다양한 방식으로 실현될 수 있다. 예를 들면, 삭제 대상인 데이터에 엑세스하기 위해 비휘발성 메모리(1200)의 특정 영역에 저장된 정보를 포함하는 메타 데이터가 삭제될 수 있다. 또한, 플래시 메모리에 포함된 블록(block)의 소거(erase)와 같이 삭제 대상인 데이터가 특정 상태로 변경될 수도 있다. 비휘발성 메모리(1200)에 저장된 데이터의 삭제 방식은 호스트(2000)로부터 수신되는 커맨드에 따라 결정될 수도 있고, 비휘발성 메모리(1200)를 제어하는 메모리 컨트롤러(1100)에 의해서 결정될 수도 있다.
비휘발성 메모리(1200)에 저장된 데이터를 삭제하는 방식에 따라, 삭제된 데이터를 복구하는 수단이 있을 수 있다. 예를 들면, 호스트(2000)의 파일 시스템 레벨에서 메모리 시스템(1000)에 저장된 파일을 삭제하는 경우, 파일에 대응하는 비휘발성 메모리(1200)에 저장된 데이터는 물리적으로 삭제되는 대신, 저장된 데이터를 엑세스하기 위한 정보만이 삭제되고, 저장된 데이터가 차지하는 비휘발성 메모리(1200)의 영역이 사용가능 상태로 할당될 수 있다. 이러한 경우, 삭제된 파일의 내용은 메모리 시스템(1000)의 비휘발성 메모리(1200)에 그대로 잔존할 수 있고, 잔존하는 데이터를 복구함으로써 파일의 내용을 복구하는 수단이 있을 수 있다.
메모리 시스템(1000)을 재사용하거나 폐기할 때 또는 다른 목적으로, 메모리 시스템(1000)에 저장된 (즉, 메모리 시스템의 비휘발성 메모리(1200)에 저장된) 보안이 필요한 데이터의 유출을 방지할 필요가 있다. 이를 위하여 메모리 시스템(1000) 및 호스트(2000) 사이 통신 인터페이스는 데이터 완전삭제(data sanitization)를 지원할 수 있다. 예를 들면, 통신 인터페이스에 따라, 호스트(2000)는 데이터 완전삭제를 지시하는 커맨드를 메모리 시스템(1000)에 전송할 수 있고, 메모리 시스템(1000)에 포함된 메모리 컨트롤러(1100)는 수신된 커맨드에 응답하여 비휘발성 메모리(1200)에 저장된 데이터를 완전삭제할 수 있다. 미국 정부 표준 문서인 NIST SP 800-88는 데이터 완전삭제를 수준에 따라 3가지, 즉 'Clear', 'Purge', 'Destroy'로 분류하고 있다.
도 1에 도시된 바와 같이, 메모리 시스템(1000)의 메모리 컨트롤러(1100)(컨트롤러라고 지칭될 수도 있다)는 비휘발성 메모리(1200) 및 호스트(2000)와 연결될 수 있다. 메모리 컨트롤러(1100)는 호스트(2000)로부터 커맨드를 수신할 수 있고, 수신된 커맨드에 응답하여 비휘발성 메모리(1200)를 제어할 수 있다. 예를 들면, 메모리 컨트롤러(1100)는 호스트(2000)로부터 데이터 기입(write) 커맨드를 수신할 수 있고, 수신된 커맨드에 수반된 데이터를 비휘발성 메모리(1200)에 기입할 수 있다. 또한, 메모리 컨트롤러(1100)는 호스트(2000)로부터 데이터 완전삭제 커맨드을 수신할 수 있고, 수신된 커맨드에 응답하여 비휘발성 메모리(1200)를 제어함으로써 비휘발성 메모리(1200)에 저장된 데이터의 완전삭제를 수행할 수 있다.
비휘발성 메모리(1200)에 저장된 데이터의 완전삭제를 수행하는데 걸리는 시간은 비교적 길 수 있다. 예를 들면, 비휘발성 메모리(1200)에 저장된 데이터를 복구하는 것을 방지하기 위하여, 메모리 컨트롤러(1100)는 호스트(2000)로부터 수신된 데이터 완전삭제 커맨드에 응답하여, 임의의 데이터를 덮어쓰기(overwrite)할 수 있고, 이에 따라 완전삭제의 대상이 되는 데이터의 크기가 클수록 메모리 컨트롤러(1100)가 완전삭제를 완료하는데 걸리는 시간은 길어질 수 있다.
도 1에 도시된 바와 같이, 메모리 컨트롤러(1100)는 완전삭제 정보 저장부(1120) 및 제어부(1140)를 포함할 수 있다. 제어부(1140)는 메모리 컨트롤러(1100)의 동작, 예컨대 데이터의 기입, 독출 또는 완전삭제 등을 제어할 수 있고, 완전삭제 정보 저장부(1120)를 엑세스할 수 있다. 완전삭제 정보 저장부(1120)는 데이터의 완전삭제에 관련된 정보를 저장할 수 있다.
본 발명의 예시적 실시예에 따라, 완전삭제 정보 저장부(1120)는 제1 정보 또는 제2 정보를 저장할 수 있다. 제어부(1140)는 호스트(2000)의 완전삭제 커맨드에 응답하여 비휘발성 메모리(1200)에 저장된 데이터의 완전삭제가 완료되면 완전삭제 정보 저장부(1120)에 제1 정보를 저장할 수 있다. 또한, 제어부(1140)는 호스트(2000)의 기입 커맨드에 응답하여 비휘발성 메모리(1200)에 데이터가 기입되면 완전삭제 정보 저장부(1120)에 제2 정보를 저장할 수 있다.
비휘발성 메모리(1200)의 데이터가 완전삭제된 상태인지 확인하는 방법으로서, 비휘발성 메모리(1200)에 직접 엑세스함으로써 비휘발성 메모리(1200)에 저장된 데이터를 독출하고 독출된 데이터를 확인할 수 있다. 비휘발성 메모리(1200)의 용량이 클수록, 비휘발성 메모리(1200)에 저장된 데이터 전체를 독출하는 작업은 긴 시간이 소요될 수 있다. 또한, 비휘발성 메모리(12000)에 저장된 데이터를 독출하는 대신, 다시 완전삭제를 수행하는 것 역시 전술한 바와 같이 긴 시간이 소요될 수 있다.
완전삭제 정보 저장부(1120)는 제1 정보를 저장함으로써 메모리 시스템(1000)에 포함된 비휘발성 메모리(1200)의 데이터가 완전삭제된 상태임을 저장할 수 있으며, 제2 정보를 저장함으로써 비휘발성 메모리(1200)가 완전삭제 상태로부터 벗어난 상태임을 저장할 수 있다. 후술하는 바와 같이, 완전삭제 정보 저장부(1120)에 저장된 정보에 기초하여, 메모리 시스템(1000)은 사용자에게 메모리 시스템(1000)에 포함된 비휘발성 메모리(1200)의 상태를 전달함으로써, 사용자는 메모리 시스템(1000)의 상태를 용이하게 파악할 수 있다.
도 2는 본 발명의 예시적 실시예에 따라 도 1의 메모리 시스템(1000) 및 호스트(2000)의 동작의 예시를 나타내는 도면이다. 도 2에서 시간은 좌측으로부터 우측으로 진행되고, 비휘발성 메모리(1200)에서 음영 처리된 부분은 호스트(2000)로부터 수신된 기입 커맨드에 따라 기입된 데이터를 저장하는 영역을 나타내고, 음영 처리되지 않은 부분은 완전삭제된 영역을 나타낸다.
본 발명의 예시적 실시예에 따라, 도 1의 제어부(1140)는 완전삭제 정보 저장부(1120)에 엑세스함으로써 완전삭제 정보 저장부(1120)에 정보를 저장하거나 완전삭제 정보 저장부(1120)에 저장된 정보를 독출할 수 있다. 또한, 제어부(1140)는 체크 커맨드(CMD_CK)에 응답하여 완전삭제 정보 저장부(1120)에 저장된 정보를 독출할 수 있고, 독출된 정보 또는 독출된 정보에 기초한 데이터를 호스트(2000)에 전송할 수 있다. 예를 들면, 체크 커맨드(CMD_CK)는 호스트(2000) 및 메모리 시스템(1000) 사이 통신 인터페이스에서 지원하는 식별(identify) 커맨드일 수 있다. 이에 따라, 호스트(2000)는 메모리 시스템(1000)의 상태, 즉 비휘발성 메모리(1200)가 완전삭제 상태에 있는지 여부를 용이하게 알 수 있다.
도 2에 도시된 바와 같이, T1 이전에 비휘발성 메모리(1200)는 호스트(2000)로부터 수신된 기입 커맨드에 따라 기입된 데이터를 저장할 수 있고, 완전삭제 정보 저장부(1120)는 제2 정보(INFO_2)를 저장할 수 있다. 즉, 완전삭제 정보 저장부(1120)의 제2 정보(INFO_2)는 비휘발성 메모리(1200)가 완전삭제 상태가 아님을 나타낼 수 있다.
도 2에 도시된 바와 같이, T1에서 호스트(2000)는 데이터 완전삭제 커맨드(CMD_SA)를 메모리 시스템(1000)에 전송할 수 있다. 메모리 시스템(1000)의 메모리 컨트롤러(1100)는 수신된 데이터 완전삭제 커맨드(CMD_SA)에 응답하여, 제어부(1140)의 제어에 의해서 비휘발성 메모리(1200)에 저장된 데이터의 완전삭제를 수행할 수 있다. 제어부(1140)는 데이터의 완전삭제가 완료되면, 도 2에 도시된 바와 같이 완전삭제 정보 저장부에 제1 정보를 저장할 수 있다.
도 2에 도시된 바와 같이, T2에서 호스트(2000)는 체크 커맨드(CMD_CK)를 메모리 시스템(1000)에 전송할 수 있다. 메모리 컨트롤러(1100)에 포함된 제어부(1140)는 수신된 체크 커맨드(CMD_CK)에 응답하여 완전삭제 정보 저장부(1120)에 저장된 정보, 즉 제1 정보(INFO_1)를 독출할 수 있고, 독출된 제1 정보(INFO_1) 또는 제1 정보(INFO_1)에 기초한 데이터를 포함하는 응답(RES_SET)을 호스트(2000)에 전송할 수 있다. T2에서 호스트(2000)로부터 수신된 체크 커맨드(CMD_CK)에 응답하여 제어부(1140)가 전송한 응답(RES_SET)은 비휘발성 메모리(1200)가 완전삭제 상태에 있음을 나타내는 정보, 예컨대 특정 비트(또는, 플래그(flag))가 'SET'된 데이터를 포함할 수 있다.
도 2에 도시된 바와 같이, T3에서 호스트(2000)는 데이터 기입 커맨드(CMD_WR)를 메모리 시스템(1000)에 전송할 수 있다. 메모리 컨트롤러(1100)는 수신된 기입 커맨드(CMD_WR)에 응답하여, 기입 커맨드(CMD_WR)에 수반된 어드레스에 기초하여 비휘발성 메모리(1200)의 특정 영역에 기입 커맨드(CMD_WR)에 수반된 데이터를 저장할 수 있다. 제어부(1140)는 기입 커맨드(CMD_WR)를 수신하면, 도 2에 도시된 바와 같이 완전삭제 정보 저장부(1120)에 제2 정보를 저장할 수 있다.
도 2에 도시된 바와 같이, T4에서 호스트(2000)는 체크 커맨드(CMD_CK)를 메모리 시스템(1000)에 전송할 수 있다. 제어부(1140)는 수시된 체크 커맨드(CMD_CK)에 응답하여 완전삭제 정보 저장부(1120)에 저장된 정보, 즉 제2 정보(INFO_2)를 독출할 수 있고, 독출된 제2 정보(INFO_2) 또는 제2 정보(INFO_2)에 기초한 데이터를 포함하는 응답(RES_CLR)을 호스트(2000)에 전송할 수 있다. T4에서 호스트(2000)로부터 수신된 체크 커맨드(CMD_CK)에 응답하여 제어부(1140)가 전송한 응답(RES_CLR)은, 완전삭제 상태 이후 발생된 기입 커맨드(예컨대, T3에서 기입 커맨드(CMD_WR))에 의해서 비휘발성 메모리(1200)가 완전삭제 상태로부터 벗어난 상태임을 나타내는 정보, 예컨대 특정 비트(또는, 플래그)가 'CLEAR'된 데이터를 포함할 수 있다.
도 2에 도시된 예시와 같이, 호스트(2000)는 체크 커맨드(CMD_CK)의 전송을 통해서 메모리 시스템(1000)의 비휘발성 메모리(1200)가 완전삭제 상태에 있는지 여부를 용이하게 알 수 있다. 한편, 도 2에서 T1 내지 T4 시점에서 호스트(2000)는 동일하게 도시되었지만, 메모리 시스템(1000)은 각 시점에서 서로 다른 호스트(2000)와 통신할 수 있다. 예를 들면, 비휘발성 메모리(1200)의 완전삭제 상태 여부를 확인하기 위하여 체크 커맨드(CMD_CK)를 전송하는 호스트(2000)는 보안 구역의 출입구에 배치된 전용 단말기일 수 있다.
도 3a 및 3b는 본 발명의 예시적 실시예들에 따라 도 1의 완전삭제 정보 저장부(1120)의 예시들을 나타내는 도면이다. 전술한 바와 같이, 본 발명의 예시적 실시예에 따라 완전삭제 정보 저장부(1120)는 제어부(1140)에 의해서 제1 정보(INFO_1) 또는 제2 정보(INFO_2)를 저장할 수 있다. 제1 정보(INFO_1)는 비휘발성 메모리(1200)가 완전삭제 상태에 있음을 나타낼 수 있고, 제2 정보(INFO_2)는 비휘발성 메모리(1200)가 완전삭제 상태로부터 벗어났음을 나타낼 수 있다. 도 3a 및 3b에 도시된 내용은 예시들일 뿐이며, 본 발명의 기술적 사상에 따른 완전삭제 정보 저장부(1120)는 도 3a 및 3b에 도시된 예시들에 제한되지 않는다.
본 발명의 예시적 실시예에 따라, 제1 정보(INFO_1)는 데이터의 완전삭제의 유형에 대한 정보를 포함할 수 있다. 전술한 바와 같이 데이터의 완전삭제는, 완전삭제의 수준에 따라 또는 완전삭제를 달성하는 방식에 따라 다양한 유형을 가질 수 있다. 예를 들면, 제1 정보(INFO_1)는 전술한 NIST SP 800-88의 'Clear' 및 'Purge'와 관련된 정보를 포함할 수도 있고, 'Purge'에 해당하는 보안 삭제(Secure Erase), 암호키 삭제(Crypto Erase) 등과 같은 완전삭제의 방식을 나타내는 정보를 포함할 수도 있다. 보안 삭제는 비휘발성 메모리(1200)에 저장된 데이터를 완전히 삭제하는 것을 지칭하며, 메모리 시스템(1000)의 종류에 따라 구체적인 구현 방식이 상이할 수 있다. 암호키 삭제는 메모리 시스템(1000)이 암호화 기능, 즉 데이터를 암호화하고 암호화된 데이터를 비휘발성 메모리(1200)에 저장하는 기능을 제공하는 경우, 암호키를 삭제함으로써 비휘발성 메모리(1200)에 저장된 데이터의 해독이 불가능하게 할 수 있다.
본 발명의 예시적 실시예에 따라, 제2 정보(INFO_2)는 호스트(2000)로부터 수신된 기입 커맨드에 응답하여 비휘발성 메모리(1200)에 저장된 데이터의 크기 정보를 포함할 수 있다. 예컨대, 제2 정보(INFO_2)는 비휘발성 메모리(1200)에 기입된 데이터의 절대량을 나타내는 정보를 포함할 수도 있고, 비휘발성 메모리(1200)의 전체 크기 대비 기입된 데이터의 크기에 대한 비율을 나타내는 정보를 포함할 수도 있다.
도 3a에 도시된 예시에서, 완전삭제 정보 저장부(1120')는 3개의 영역들, 즉 'SAN', 'TYPE', 'SIZE'로 구분될 수 있다. 'SAN' 영역은 비휘발성 메모리(1200)가 완전삭제 상태에 있는지 여부를 나타낼 수 있고, 'TYPE' 영역은 데이터 완전삭제의 유형에 대한 정보를 나타낼 수 있으며, 'SIZE' 영역은 비휘발성 메모리(1200)에 기입된 데이터의 크기 정보를 나타낼 수 있다.
본 발명의 예시적 실시예에 따라, 'SAN' 영역에서 제1 정보(INFO_1)는 값 '1'을 포함할 수 있고, 제2 정보(INFO_2)는 값 '0'을 포함할 수 있다. 'SAN' 영역에 대응하는 값에 의해서, 제어부(1140) 및 호스트(2000)는 제1 정보(INFO_1) 또는 제2 정보(INFO_2)를 식별할 수 있다. 이에 따라, 제어부(1140) 및 호스트(2000)는 비휘발성 메모리(1200)가 완전삭제 상태에 있는지 여부를 인식할 수 있다.
본 발명의 예시적 실시예에 따라, 제1 정보(INFO_1)는 'TYPE' 영역에서 값 'X'를 포함할 수 있다. 전술한 바와 같이, 값 'X'는 메모리 시스템(1000)에서 수행된 데이터의 완전삭제의 유형에 대한 정보를 나타낼 수 있다. 한편, 도 3a의 예시에서, 제2 정보(INFO_2)는 'TYPE' 영역에서 제1 정보(INFO_1)와 동일하게 값 'X'를 포함하는 것으로 도시되었으나, 이는 예시에 불과하며 제2 정보(INFO_2)는 미리 정해진 값을 'TYPE'영역에서 가질 수도 있다.
본 발명의 예시적 실시예에 따라, 제2 정보(INFO_2)는 'SIZE' 영역에서 값 'Y'를 포함할 수 있다. 전술한 바와 같이, 값 'Y'는 비휘발성 메모리(1200)에 기입된 데이터의 크기에 대한 정보를 나타낼 수 있다. 한편, 도 3a의 예시에서, 제1 정보(INFO_1)는 'SIZE' 영역에서 값 '0'을 포함하는 것으로 도시되었으나, 이는 예시에 불과하며 제1 정보(INFO_1)는 미리 정해진 값을 포함할 수도 있고, 또는 완전삭제 동작의 착수 이전 완전삭제 정보 저장부(1120)에 저장된 제2 정보(INFO_2)의 값 'Y'를 그대로 포함할 수도 있다.
도 3b에 도시된 예시에서, 완전삭제 정보 저장부(1120'')는 2개의 영역들, 즉 'SAN', 'TYPE/SIZE'로 구분될 수 있다. 도 3a에 도시된 예시와 같이, 'SAN' 영역은 비휘발성 메모리(1200)가 완전삭제 상태에 있는지 여부를 나타낼 수 있고, 'TYPE/SIZE' 영역은 제1 정보(INFO_1) 또는 제2 정보(INFO_2)에 따라 데이터 완전삭제의 유형에 대한 정보 또는 비휘발성 메모리(1200)에 기입된 데이터의 크기 정보를 나타낼 수 있다.
본 발명의 예시적 실시예에 따라, 비휘발성 메모리(1200)가 완전삭제 상태에 있음을 나타내는 제1 정보(INFO_1)는 'TYPE/SIZE' 영역에서 메모리 시스템(1000)에서 수행된 데이터의 완전삭제의 유형에 대한 정보를 나타내는 값 'X'를 포함할 수 있다. 또한, 비휘발성 메모리(1200)가 완전삭제 상태로부터 벗어났음을 나타내는 제2 정보(INFO_2)는 'TYPE/SIZE' 영역에서 비휘발성 메모리(1200)에 기입된 데이터의 크기 정보를 나타내는 값 'Y'를 포함할 수 있다.
도 4는 본 발명의 예시적 실시예에 따라 표시부(1300)를 포함하는 메모리 시스템(1000a)을 나타내는 도면이다. 도 1의 메모리 시스템(1000)과 유사하게, 메모리 시스템(1000a)은 메모리 컨트롤러(1100a) 및 비휘발성 메모리(1200a)를 포함할 수 있다. 메모리 컨트롤러(1100a)는 비휘발성 메모리(1200a)를 제어할 수 있고, 완전삭제 정보 저장부(1120a) 및 제어부(1140a)를 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 제어부(1140a)는 완전삭제 정보 저장부(1120a)에 저장된 정보에 기초하여 제어 신호(CTRL)를 출력할 수 있다. 제어부(1140a)가 출력하는 제어 신호(CTRL)는 메모리 시스템(1000a)에 포함된 다른 구성요소에 전달될 수 있고, 제어 신호(CTRL)를 수신하는 구성요소는 메모리 시스템(1000a)의 상태, 즉 비휘발성 메모리(1200a)가 완전삭제 상태에 있는지 여부를 메모리 시스템(1000a)의 외부로 알려줄 수 있다. 예를 들면, 도 4에 도시된 바와 같이, 메모리 시스템(1000a)은 표시부(1300)를 포함할 수 있다. 표시부(1300)는 메모리 컨트롤러(1100a)의 제어부(1140a)가 출력하는 제어 신호(CTRL)에 따라 메모리 시스템(1000a) 외부로 가시적인 신호를 출력할 수 있다. 예를 들면, 표시부(1300)는 LED 또는 전자잉크(e-ink) 패널을 포함할 수 있고, 제어 신호(CTRL)에 따라 서로 다른 특성을 가지는 가시적인 신호를 출력하거나, 가시적인 신호를 선택적으로 출력할 수 있다.
본 발명의 예시적 실시예에 따라 메모리 시스템(1000)은 내부 전력을 포함할 수 있고, LED와 같은 표시부(1300)는 내부 전력을 이용하여 가시적인 신호를 출력할 수 있다. 또한, 본 발명의 예시적 실시예에 따라 메모리 시스템(1000)은 내부 전력을 포함하지 않을 수 있고, 이 경우 호스트(2000)와 연결되어 호스트(2000)로부터 전력을 공급받을 때 표시부(1300)는 가시적인 신호를 출력할 수 있다. 특히, 전자잉크는 공급되는 전력이 차단되어도 표시상태가 유지되는 특성을 가지므로, 본 발명의 예시적 실시예에 따라 전자잉크 패널을 포함하는 표시부(1300)는 호스트(2000)에 연결된 상태에서 제어부(1140)의 제어 신호(CTRL)에 의해 가시적인 신호를 출력하고, 메모리 시스템(1000)이 호스트(2000)로부터 분리된 경우에도 가시적인 신호를 유지할 수 있다.
도 4의 실시예에서 표시부(1300)는 제어부(1140a)에 연결되어 제어 신호(CTRL)를 수신하는 것으로 도시되었으나, 이는 예시에 불과하다. 즉, 본 발명의 예시적 실시예에 따라 표시부(1300)는 완전삭제 정보 저장부(1120a)와 연결될 수 있고, 저장하고 있는 정보(즉, 제1 정보 또는 제2 정보)에 따라 완전삭제 정보 저장부(1120a)가 출력하는 신호를 수신할 수 있다. 표시부(1300)는 완전삭제 정보 저장부(1120a)로부터 수신된 신호에 따라 메모리 시스템(1000a) 외부로 가시적인 신호를 출력할 수 있다.
도 5는 본 발명의 예시적 실시예에 따라 무선 통신 모듈(1400)을 포함하는 메모리 시스템(1000b)을 나타내는 도면이다. 도 1의 메모리 시스템(1000)과 유사하게, 메모리 시스템(1000b)은 메모리 컨트롤러(1100b) 및 비휘발성 메모리(1200b)를 포함할 수 있다. 메모리 컨트롤러(1100b)는 비휘발성 메모리(1200b)를 제어할 수 있고, 완전삭제 정보 저장부(1120b) 및 제어부(1140b)를 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 완전삭제 정보 저장부(1120b)는 저장하고 있는 정보(즉, 제1 정보 또는 제2 정보)에 따라 신호를 출력할 수 있다. 완전삭제 정보 저장부(1120b)가 출력하는 신호는 메모리 시스템(1000b)에 포함된 다른 구성 요소에 전달될 수 있고, 완전삭제 정보 저장부(1120b)가 출력하는 신호를 수신한 구성요소는 비휘발성 메모리(1200b)가 완전삭제 상태에 있는지 여부를 메모리 시스템(1000b)의 외부로 알려줄 수 있다. 예를 들면, 도 5에 도시된 바와 같이, 메모리 시스템(1000b)는 무선 통신 모듈(1400)을 포함할 수 있다. 무선 통신 모듈(1400)은 완전삭제 정보 저장부(1120b)가 출력하는 신호에 따라 무선 신호를 통해서 메모리 시스템(1000b) 외부의 무선 통신 장치로 데이터를 송신할 수 있다. 예를 들면, 무선 통신 모듈(1400)은 RF 모듈을 포함할 수 있고, 완전삭제 정보 저장부(1120b)가 출력하는 신호에 따라 서로 다른 값을 가지는 무선 신호를 메모리 시스템(1000b) 외부의 RF 단말기에 전송할 수 있다.
도 5의 실시예에서 무선 통신 모듈(1400)은 완전삭제 정보 저장부(1120b)에 연결된 것으로 도시되었으나, 이는 예시에 불과하다. 즉, 본 발명의 예시적 실시예에 따라 도 4에 도시된 실시예와 같이, 무선 통신 모듈(1400)은 제어부(1140b)와 연결될 수 있고, 제어부(1140b)로부터 제어 신호(CTRL)를 수신할 수도 있다. 무선 통신 모듈(1400)은 수신된 제어 신호(CTRL)에 따라 메모리 시스템(1000b) 외부로 무선 신호를 송신할 수 있다.
도 6은 본 발명의 예시적 실시예에 따라 감지부(1500)를 포함하는 메모리 시스템(1000c)를 나타내는 도면이다. 도 1의 메모리 시스템(1000)과 유사하게, 메모리 시스템(1000c)은 메모리 컨트롤러(1100c) 및 비휘발성 메모리(1200c)를 포함할 수 있다. 메모리 컨트롤러(1100c)는 비휘발성 메모리(1200c)를 제어할 수 있고, 완전삭제 정보 저장(1120c) 및 제어부(1140c)를 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 메모리 시스템(1000c)는 감지부(1500)를 포함할 수 있다. 감지부(1500)는 완전삭제 정보 저장부(1120c)와 연결될 수 있고, 메모리 시스템(1000c)에 대한 침습성 공격을 감지할 수 있다. 예를 들면, 감지부(1500)는 메모리 시스템(1000c)의 케이스를 해체하려는 시도와 같은 물리적 또는 화학적 공격을 감지할 수 있고, 이러한 침습성 공격이 감지되면 구성 신호(CONF)를 출력할 수 있다.
도 6에 도시된 바와 같이, 완전삭제 정보 저장부(1120c)는 감지부(1500)가 침습성 공격을 감지함으로써 출력하는 구성 신호(CONF)를 수신할 수 있다. 완전삭제 정보 저장부(1120c)는 수신된 구성 신호(CONF)에 따라 제2 정보에 대응하는 신호를 출력하도록 구성되거나, 또는 제1 및 제2 정보와 다른 제3 정보에 대응하는 신호를 출력하도록 구성될 수 있다. 즉, 이전에 수행된 데이터 완전삭제에도 불구하고, 메모리 시스템(1000c)에서 침습성 공격이 감지된 경우, 완전삭제 정보 저장부(1120c)에 저장된 제1 정보는 유효하지 않을 수 있다. 예를 들면, 공격자는 메모리 시스템(1000c)에 장착된 비휘발성 메모리를 보안이 필요한 데이터가 저장된 다른 비휘발성 메모리로 대체할 수 있다. 따라서, 완전삭제 정보 저장부(1120c)는 침습성 공격이 감지된 경우 제2 정보, 또는 제1 및 제2 정보와 다른 제3 정보에 대응하는 신호를 출력함으로써, 메모리 시스템(1000c) 외부로 비휘발성 메모리(1200c)가 완전삭제 상태에 있지 않을 수 있음을 알릴 수 있다.
도 7은 본 발명의 예시적 실시예에 따른 메모리 컨트롤러(1100d)를 포함하는 메모리 시스템(1000d)을 나타내는 도면이다. 도 7에 도시된 바와 같이, 메모리 시스템(1000d)은 메모리 컨트롤러(1100d) 및 비휘발성 메모리(1200d)를 포함할 수 있다. 도 1의 실시예와 유사하게, 메모리 컨트롤러(1100d)는 완전삭제 정보 저장부(1120d) 및 제어부(1140d)를 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 제어부(1140d)는 명령어(instruction)를 실행하는 프로세서일 수 있다. 프로세서는 일련의 명령어들을 실행함으로써 원하는 동작을 수행할 수 있으며, 프로세서 내부에 포함된 메모리 또는 외부의 메모리를 엑세스하여 명령어를 수신할 수 있다. 본 실시예에서 제어부(1140d)는 복수개의 명령어들을 실행함으로써 완전삭제 정보 저장부(1120d)를 엑세스할 수 있다.
본 발명의 예시적 실시예에 따라, 메모리 컨트롤러(1100d)는 프로세서인 제어부(1140d)에 의해 엑세스되는 ROM(1160)을 포함할 수 있다. ROM(Read Only Memory)(1160)은 저장된 데이터의 변경이 불가능한 메모리로서, 제조과정에서 데이터가 기입되거나 또는 비가역적인 프로그램 동작을 통해서 데이터가 기입될 수 있다. ROM(1160)은 제어부(1140d)가 완전삭제 정보 저장부(1120d)를 엑세스하는 동작과 관련된 복수개의 명령어들을 포함할 수 있다. 이에 따라, 제어부(1140d)가 재프로그그램이 가능한 메모리가 아닌 ROM(1160)에 저장된 복수개의 명령어들을 실행함으로써, 완전삭제 정보 저장부(1120d)를 엑세스하는 동작을 변경하려는 시도가 방지될 수 있다.
비록 도 7은 제어부(1140d)가 프로세서인 실시예를 도시하였지만, 본 발명의 기술적 사상은 이에 제한되지 않는다. 즉, 도 1의 제어부(1140)는 복수개의 로직 게이트를 포함하는 디지털 회로일 수 있고, 명령어를 수행하는 대신 내부에 구현된 스테이트 머신 등을 사용함으로써 완전삭제 정보 저장부(1120)에 엑세스할 수 있다.
도 8은 본 발명의 예시적 실시예에 따른 데이터 완전삭제의 인증 방법을 나타내는 순서도이다. 도 1을 함께 참조하면, 메모리 시스템(1000)의 메모리 컨트롤러(1100)는 호스트(2000)로부터 수신된 커맨드가 완전삭제 커맨드인지 판단할 수 있다(S100). 호스트(2000)로부터 수신된 커맨드가 완전삭제 커맨드인 경우, 메모리 컨트롤러(1100)는 비휘발성 메모리(1200)에 저장된 데이터의 완전삭제를 수행할 수 있다(S120). 데이터의 완전삭제가 완료되면, 메모리 컨트롤러(1100)(또는 제어부(1140))는 완전삭제 정보 저장부(1120)에 제1 정보를 저장할 수 있다(S130).
메모리 시스템(1000)의 메모리 컨트롤러(1100)는 호스트(2000)로부터 수신된 커맨드가 데이터 기입 커맨드인지 판단할 수 있다(S140). 호스트(2000)로부터 수신된 커맨드가 데이터 기입 커맨드인 경우, 메모리 컨트롤러(1100)는 기입 커맨드에 수반된 데이터를 비휘발성 메모리(1200)에 기입할 수 있다(S150). 비휘발성 메모리(1200)에 데이터가 기입되면, 메모리 컨트롤러(1100)(또는 제어부(1140))는 완전삭제 정보 저장부(1120)에 제2 정보를 저장할 수 있다(S160).
본 발명의 예시적 실시예에 따라, 제어부(1140)는 완전삭제 동작이 완료되면 완전삭제 정보 저장부(1120)에 제1 정보를 저장할 수 있고, 호스트(2000)로부터 기입 커맨드가 수신되면 완전삭제 정보 저장부(1120)에 제2 정보를 저장할 수 있다. 즉, 본 발명의 예시적 실시예에 따라 완전삭제 정보 저장부(1120)에 저장된 정보의 신뢰도를 높이기 위하여, 제1 정보는 완전삭제 동작이 완료된 시점에서 완전삭제 정보 저장부(1120)에 저장될 수 있고, 제2 정보는 호스트(2000)로부터 기입 커맨드가 수신된 시점에서 완전삭제 정보 저장부(1120)에 저장될 수 있다.
도 9는 본 발명의 예시적 실시예에 따라 도 8의 제2 정보를 저장하는 단계의 예시(S160a)를 나타내는 순서도이다. 도 1을 함께 참조하면, 제어부(1140)는 완전삭제 정보 저장부(1120)에 저장된 정보를 독출할 수 있다(S161a). 제어부(1140)는 수신된 기입 커맨드에 따라 기입된 데이터의 크기에 기초하여 독출된 정보를 갱신할 수 있다(S162a). 예를 들면, 완전삭제 정보 저장부(1120)로부터 독출한 정보가 제1 정보인 경우, 제어부(1140)는 수신된 기입 커맨드에 따라 기입된 데이터의 크기 정보를 포함하는 제2 정보를 생성할 수 있다. 또한, 완전삭제 정보 저장부(1120)로부터 독출한 정보가 제2 정보인 경우, 제어부(1140)는 기입 커맨드 수신전 비휘발성 메모리(1200)에 저장된 데이터의 크기를 독출된 제2 정보로부터 획득하고, 수신된 기입 커맨드에 따라 기입된 데이터의 크기를 획득된 정보에 누적시킬 수 있다. 그 다음에, 제어부(1140)는 완전삭제 정보 저장부(1120)에 제2 정보를 저장할 수 있다(S163a).
도 10은 본 발명의 예시적 실시예에 따라 메모리 시스템(1000)에서 호스트(2000)로 데이터의 완전삭제 관련 정보를 전송하는 방법을 나타내는 순서도이다. 도 1을 함께 참조하면, 메모리 시스템(1000)의 메모리 컨트롤러(1100)는 호스트(2000)로부터 체크 커맨드를 수신할 수 있다. 수신된 체크 커맨드에 응답하여, 메모리 컨트롤러(1100)(또는 제어부(1140))는 완전삭제 정보 저장부(1120)에 저장된 정보를 독출할 수 있다(S220). 메모리 컨트롤러(1100)(또는 제어부(1140))는 독출된 정보 또는 독출된 정보에 기초한 데이터를 포함하는 응답을 호스트(2000)로 전송할 수 있다(S230).
도 11은 본 발명의 예시적 실시예에 따라 도 4의 메모리 시스템(1000a)의 동작을 나타내는 순서도이다. 도 4를 함께 참조하면, 제어부(1140a)는 완전삭제 정보 저장부(1120a)에 저장된 정보를 독출할 수 있다(S240). 제어부(1140a)는 독출된 정보에 기초하여 제어 신호(CTRL)를 출력할 수 있다(S250). 제어 신호(CTRL)는 표시부(1300)에 전달될 수 있고, 제어 신호(CTRL)를 수신한 표시부(1300)는 수신된 제어 신호(CTRL)에 기초하여 가시적인 신호를 출력할 수 있다(S260).
도 12는 본 발명의 예시적 실시예에 따라 도 6의 감지부(1500)의 동작을 나타내는 순서도이다. 도 6을 함께 참조하면, 감지부(1500)는 메모리 시스템(1000c)에 대한 침습성 공격을 감지할 수 있다(S270). 침습성 공격이 감지된 경우, 감지부(1500)는 완전삭제 정보 저장부(1120c)를 재구성할 수 있다(S280). 즉, 감지부(1500)는 구성 신호(CONF)를 출력함으로써, 완전삭제 정보 저장부(1120c)가 제2 정보에 대응하는 신호를 출력하거나, 또는 제1 및 제2 정보와 다른 제3 정보에 대응하는 신호를 출력하도록 완전삭제 정보 저장부(1120c)를 구성할 수 있다. 예를 들면, 구성 신호(CONF)는 완전삭제 정보 저장부(1120c)의 출력 신호 라인에 연결된 소자의 물리적 상태를 변경함으로써 완전삭제 정보 저장부(1120c)의 출력 신호를 특정 상태로 강제할 수 있다.
도 13은 본 발명의 예시적 실시예에 따른 SSD(Solid State Drive)(3000)를 도시한다. 도 13에 도시된 바와 같이, SSD(3000)는 복수개의 비휘발성 메모리 장치들(3200), 복수개의 채널들(CH1~CHn)을 통해서 비휘발성 메모리 장치들(3200)과 연결된 컨트롤러(3100), 표시부(3300)를 포함할 수 있다. 컨트롤러(3100)는 전술한 본 발명의 예시적 실시예에 따른 동작을 수행할 수 있다. 예를 들면, 컨트롤러(3100)는 호스트의 데이터 완전삭제 커맨드에 응답하여 비휘발성 메모리 장치들(3200)에 저장된 데이터의 완전삭제를 수행할 수 있고, 완전삭제 정보 저장부(3120), 및 도 1의 제어부(1140)에 대응하는 적어도 하나의 프로세서(3140)를 포함할 수 있다.
도 13에 도시된 바와 같이, 컨트롤러(3100)는 적어도 하나의 프로세서(3140), ROM(3160), 버퍼 메모리(3180), 호스트 인터페이스(3170) 및 비휘발성 메모리 인터페이스(3190)를 포함할 수 있고, 컨트롤러(3100)에 포함된 구성요소들 각각은 버스에 연결될 수 있다. 버퍼 메모리(3180)는 컨트롤러(3100)의 동작에 필요한 데이터를 저장할 수 있고, 예를 들면, 논리 어드레스 및 물리 어드레스 사이의 맵핑 정보를 저장하는 맵핑 테이블을 저장할 수 있다. ROM(3160)은 적어도 하나의 프로세서(3140)에 의해 실행되는 복수개의 명령어들을 저장할 수 있고, 호스트 인터페이스(3170)는 SSD(3000) 외부의 호스트와의 인터페이스 기능을 제공할 수 있고, 비휘발성 메모리 인터페이스(3190)는 비휘발성 메모리 장치(3200)와의 인터페이스 기능을 제공할 수 있다.
표시부(3300)는 메모리 컨트롤러(3100)로부터 수신되는 신호에 따라 SSD(3000) 외부로 비휘발성 메모리 장치(3200)가 완전삭제 상태에 있는 여부를 나타내는 가시적인 신호를 출력할 수 있다. 비록 도 13은 표시부(3300)가 적어도 하나의 프로세서(3140)과 연결된 실시예를 도시하지만, 본 발명의 기술적 사상은 이네 제한되지 않는다. 즉, 표시부(3300)는 완전삭제 정보 저장부(3120)로부터 신호를 수신할 수도 있다.
도 14는 본 발명의 예시적 실시예에 따른 메모리 카드(4000)를 나타내는 도면이다. 메모리 카드(4000)는 모바일 기기나 데스크 탑 컴퓨터와 같은 전자기기에 연결하여 사용할 수 있는 휴대용 저장장치의 일예이다. 메모리 카드(4000)는 다양한 카드 프로토콜(예컨대, UFDs, MMC, SD(Secure Digital), mini SD, Micro SD 등)에 의해 호스트와 통신할 수 있다.
도 14에 도시된 바와 같이, 메모리 카드(4000)는 컨트롤러(4100), 비휘발성 메모리 장치(4200), RF 모듈(4400) 및 포트 영역(4900)을 포함할 수 있다. 컨트롤러(4100)는 이상에서 설명된 본 발명의 예시적 실시예에 따른 메모리 컨트롤러의 동작을 수행할 수 있다. 예를 들면, 컨트롤러(4100)는 포트 영역(4900)을 통해서 외부 호스트로부터 데이터 완전삭제 커맨드를 수신할 수 있고, 비휘발성 메모리 장치(4200)에 저장된 데이터의 완전삭제를 수행할 수 있다. 또한, 컨트롤러(4100)는 완전삭제 정보 저장부를 포함할 수 있으며, 완전삭제 정보 저장부는 비휘발성 메모리 장치(4200)가 완전삭제 상태에 있는지 여부를 나타내는 정보를 저장할 수 있다.
도 14에 도시된 바와 같이, 메모리 카드(4000)는 RF 모듈(4400)을 포함할 수 있다. RF 모듈(4400)은 컨트롤러(4100)에 포함된 완전삭제 정보 저장부에 저장된 정보에 기초한 신호를 컨트롤러(4100)로부터 수신할 수 있다. RF 모듈(4400)은 컨트롤러(4100)로부터 수신한 신호에 기초하여 메모리 카드(4000) 외부의 RF 단말기에 무선신호를 전달함으로써, 메모리 카드(4000)의 비휘발성 메모리 장치(4200)가 완전삭제 상태에 있는지 여부를 메모리 카드(4000) 외부로 알려줄 수 있다.
도 15는 본 발명의 예시적 실시예에 따라 비휘발성 스토리지(5400)를 장착한 컴퓨팅 시스템(5000)을 도시한다. 모바일 기기나 데스크 탑 컴퓨터와 같은 컴퓨팅 시스템(5000)에서 본 발명의 예시적 실시예에 다른 메모리 시스템이 비휘발성 스토리지(5400)로서 장착될 수 있다. 비휘발성 스토리지(5400)로서 장착되는 메모리 시스템은 전술된 본 발명의 예시적 실시예에 따른 메모리 컨트롤러 및 비휘발성 메모리를 포함할 수 있다. 예를 들면, 메모리 컨트롤러는 비휘발성 스토리지(5400) 외부 호스트로부터 데이터 완전삭제 커맨드를 수신할 수 있고, 비휘발성 메모리에 저장된 데이터의 완전삭제를 수행할 수 있다. 또한, 메모리 컨트롤러는 완전삭제 정보 저장부를 포함할 수 있으며, 완전삭제 정보 저장부는 비휘발성 메모리가 완전삭제 상태에 있는지 여부를 나타내는 정보를 저장할 수 있다.
본 발명의 예시적 실시예에 따른 컴퓨팅 시스템(5000)은 중앙처리장치(5100), 램(5200), 유저 인터페이스(5300) 및 비휘발성 스토리지(5400)를 포함할 수 있고, 이들 구성요소들은 버스(5500)에 각각 연결될 수 있다. 중앙처리장치(5100)는 컴퓨팅 시스템(5000)을 전반적으로 제어할 수 있고, 예컨대 어플리케이션 프로세서(AP)일 수 있다. 램(5200)은 중앙처리장치(5100)의 데이터 메모리로서 기능할 수 있고, 시스템-온-칩(SOC) 기술 또는 패키지-온-패키지(POP)에 의해 중앙처리장치(5100)와 하나의 칩으로 구현될 수 있다. 유저 인터페이스(5300)는 유저로부터 입력을 수신하거나 유저에게 영상 및/또는 음성 등을 통해서 신호를 출력할 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 발명의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. 제1 정보 또는 제2 정보를 비휘발적으로 저장하는 완전삭제(sanitization) 정보 저장부; 및
    호스트의 완전삭제 커맨드에 응답하여 비휘발성 메모리에 저장된 데이터의 완전삭제가 완료되면 상기 완전삭제 정보 저장부에 상기 제1 정보를 저장하고, 호스트의 기입 커맨드에 응답하여 상기 완전삭제 정보 저장부에 상기 제2 정보를 저장하는 제어부를 포함하는 메모리 컨트롤러.
  2. 제1항에 있어서,
    상기 제1 정보는 상기 데이터의 완전삭제의 유형에 대한 정보를 포함하는 것을 특징으로 하는 메모리 컨트롤러.
  3. 제2항에 있어서,
    상기 데이터의 완전삭제는 보안 삭제(Secure Erase) 또는 암호키 삭제(Crypto Erase)를 포함하는 것을 특징으로 하는 메모리 컨트롤러.
  4. 제1항에 있어서,
    상기 제2 정보는 호스트의 적어도 하나의 기입 커맨드에 응답하여 상기 비휘발성 메모리에 저장된 데이터의 크기 정보를 포함하는 것을 특징으로 하는 메모리 컨트롤러.
  5. 비휘발성 메모리 및 상기 비휘발성 메모리를 제어하는 메모리 컨트롤러를 포함하고,
    상기 메모리 컨트롤러는,
    제1 정보 또는 제2 정보를 비휘발적으로 저장하는 완전삭제(sanitization) 정보 저장부; 및
    호스트의 완전삭제 커맨드에 응답하여 비휘발성 메모리에 저장된 데이터의 완전삭제가 완료되면 상기 완전삭제 정보 저장부에 상기 제1 정보를 저장하고, 호스트의 기입 커맨드에 응답하여 상기 완전삭제 정보 저장부에 상기 제2 정보를 저장하는 제어부를 포함하는 것을 특징으로 하는 메모리 시스템.
  6. 제5항에 있어서,
    상기 제어부는 상기 완전삭제 정보 저장부에 저장된 정보를 독출하고, 독출된 정보에 따라 제어 신호를 출력하고,
    상기 메모리 시스템은 상기 제어 신호에 기초하여 가시적인 신호를 출력하는 표시부를 더 포함하는 것을 특징으로 하는 메모리 시스템.
  7. 제6항에 있어서,
    상기 표시부는 LED 또는 전자잉크(e-ink) 패널을 포함하는 것을 특징으로 하는 메모리 시스템.
  8. 제5항에 있어서,
    상기 완전삭제 정보 저장부와 연결된 무선통신 모듈을 더 포함하고,
    상기 무선통신 모듈은 상기 완전삭제 정보 저장부에 저장된 정보에 기초하여 무선 신호를 출력하는 것을 특징으로 하는 메모리 시스템.
  9. 제5항에 있어서,
    상기 비휘발성 메모리는 반도체 메모리 장치 또는 자기 디스크 장치인 것을 특징으로 하는 메모리 시스템.
  10. 제5항에 있어서,
    상기 완전삭제 정보 저장부와 연결되고, 상기 메모리 시스템에 대한 침습성 공격을 감지하는 감지부를 더 포함하고,
    상기 완전삭제 정보 저장부는 상기 감지부가 침습성 공격을 감지한 경우 상기 제2 정보 또는 상기 제1 및 제2 정보와 다른 제3 정보에 대응하는 신호를 출력하도록 재구성되는 것을 특징으로 하는 메모리 시스템.
KR1020140129521A 2014-07-31 2014-09-26 데이터 완전삭제를 제어하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 KR20160016481A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/700,606 US20160034217A1 (en) 2014-07-31 2015-04-30 Memory controller configured to control data sanitization and memory system including the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462031446P 2014-07-31 2014-07-31
US62/031,446 2014-07-31

Publications (1)

Publication Number Publication Date
KR20160016481A true KR20160016481A (ko) 2016-02-15

Family

ID=55357198

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140129521A KR20160016481A (ko) 2014-07-31 2014-09-26 데이터 완전삭제를 제어하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템

Country Status (1)

Country Link
KR (1) KR20160016481A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190045121A (ko) * 2019-04-22 2019-05-02 고려대학교 산학협력단 하이브리드 메인 메모리 시스템의 비휘발성 메모리의 데이터 관리 방법 및 장치
WO2020072321A1 (en) * 2018-10-01 2020-04-09 Micron Technology, Inc. Data erasure in memory sub-systems
US10922010B2 (en) 2019-03-25 2021-02-16 Micron Technology, Inc. Secure data removal

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020072321A1 (en) * 2018-10-01 2020-04-09 Micron Technology, Inc. Data erasure in memory sub-systems
US10628076B1 (en) 2018-10-01 2020-04-21 Micron Technology, Inc. Data erasure in memory sub-systems
US11237755B2 (en) 2018-10-01 2022-02-01 Micron Technology, Inc. Data erasure in memory sub-systems
US11775198B2 (en) 2018-10-01 2023-10-03 Micron Technology, Inc. Data erasure in memory sub-systems
US10922010B2 (en) 2019-03-25 2021-02-16 Micron Technology, Inc. Secure data removal
US11836373B2 (en) 2019-03-25 2023-12-05 Micron Technology, Inc. Modified erase
KR20190045121A (ko) * 2019-04-22 2019-05-02 고려대학교 산학협력단 하이브리드 메인 메모리 시스템의 비휘발성 메모리의 데이터 관리 방법 및 장치

Similar Documents

Publication Publication Date Title
CN111354408B (zh) 低成本且低时延的逻辑单元擦除
US20160034217A1 (en) Memory controller configured to control data sanitization and memory system including the same
CN111539043B (zh) 提供对受保护存储器的存取的系统
KR102377365B1 (ko) 호스트 기반 플래시 메모리 유지관리 기술
KR102292641B1 (ko) 메모리 컨트롤러, 그 동작 방법 및 이를 포함하는 메모리 시스템
CN110046506A (zh) 存储设备和包括存储设备的存储系统及使用其进行操作的方法
US11669644B2 (en) Storage device and data destruction method thereof
KR20160105625A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN113196245A (zh) 主机常驻转换层有效性检查技术
KR20160097657A (ko) 데이터 저장 장치 그리고 그것의 동작 방법
KR20170110810A (ko) 데이터 처리 시스템 및 그것의 동작 방법
CN108073523A (zh) 算术电路及半导体器件
KR20160016481A (ko) 데이터 완전삭제를 제어하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
KR102140297B1 (ko) 불휘발성 메모리 장치 및 그것을 포함하는 데이터 저장 장치
US11513719B2 (en) Fast purge on storage devices
CN111338995B (zh) 数据存储装置及操作数据存储装置的方法
EP4180977A1 (en) Parameter change command for storage device interface tuning
US11644983B2 (en) Storage device having encryption
US20150149740A1 (en) Data storage device and data processing system including the same
US11550906B2 (en) Storage system with separated RPMB sub-systems and method of operating the same
US20160211024A1 (en) Decoding data using a reserved word line
US20190179749A1 (en) Memory system, operating method thereof and nonvolatile memory device
KR102509646B1 (ko) 스토리지 장치
KR20200015260A (ko) 데이터 저장 장치 및 그것의 동작 방법
US12008257B2 (en) Fast purge on storage devices

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination