KR20170020324A - 보안 소거 동작을 완료하기 위한 방법 - Google Patents

보안 소거 동작을 완료하기 위한 방법 Download PDF

Info

Publication number
KR20170020324A
KR20170020324A KR1020167032577A KR20167032577A KR20170020324A KR 20170020324 A KR20170020324 A KR 20170020324A KR 1020167032577 A KR1020167032577 A KR 1020167032577A KR 20167032577 A KR20167032577 A KR 20167032577A KR 20170020324 A KR20170020324 A KR 20170020324A
Authority
KR
South Korea
Prior art keywords
storage device
secure erase
computer
signal
data
Prior art date
Application number
KR1020167032577A
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 인스콘스 데이터 테크놀로지, 엘엘씨.
Publication of KR20170020324A publication Critical patent/KR20170020324A/ko

Links

Images

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/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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • 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/80Protecting 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 storage media based on magnetic or optical technology, e.g. disks with sectors
    • 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/062Securing 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

고체 상태 드라이브와 같은 스토리지 디바이스를 신뢰성있게 소거할 수 있는 시스템이 개시되어 있다. 이 시스템은 스토리지 디바이스에 대해 소거 커맨드를 발행한다. 이러한 커맨드는 소거될 하나 이상의 스토리지 디바이스에 처리 유닛을 접속하는 버스를 통해 발행될 수 있다. 스토리지 디바이스를 포함하여 이 시스템은 하나 이상의 동작을 수행하는 것을 통해 소거 동작에 대해 준비될 수 있다. 그러한 동작들은 시스템의 하드웨어를 이용하여 스토리지 디바이스의 하드 리셋을 개시하는 것; 소거 동작이 수행되고 있는 동안에 스토리지 디바이스에 대한 액세스를 방지하는 것; 및/또는 스토리지 디바이스 상의 숨겨진 영역들을 소거하는 것을 포함할 수 있다. 이 시스템은 하드 리셋을 수행하도록 구성될 수 있으며, 보안 소거를 수행하라는 커맨드를 변경하지 않도록 구성될 수 있다. 또한, 소거 프로세스는 소거가 수행되었다는 것을 확인하기 위해 스토리지 디바이스의 특정 영역들에 서명을 기입하는 것을 포함할 수 있다.

Description

보안 소거 동작을 완료하기 위한 방법{METHOD FOR COMPLETING A SECURE ERASE OPERATION}
컴퓨터 및 데이터 보안은 개인들, 사업체들 및 정부들에 대해 중요한 관심사항들이다. 특히, 전자적으로 저장된 데이터를 소거하거나 다른 방식으로 처분(disposing)하기 위한 보안 기술들은 성장하는 관심사항들이다. 미국 특허 제7,725,674호 및 미국 특허 출원 공개 공보 제2004/0252628호(Ensconce Data Technology, Inc.에 공동으로 양도되었으며 본 명세서에 참조로 포함되어 있음)는 개인들, 사업체들 및 정부들에 대한 보안 데이터 파괴의 중요성을 설명한다. 제정법(legislation)은 선두에서 데이터 보안의 중요성을 또한 푸시하였다. 연방 법규들을 준수하기 위해서, 회사들은 지금 드라이브의 재이용 또는 처분 이전에 하드 드라이브들 상의 모든 민감 데이터를 완전하게 그리고 신뢰성있게 제거할 필요가 있다. 구체적으로, 금융 서비스 현대화법(Financial Services Modernization Act)(2003)(Gramm-Leach-Bliley), 공정 신용 거래법(Fair and Accurate Credit Transaction Act)(2003)(FACT 법), 법인 범죄 사기 책임법(Corporate and Criminal Fraud Accountability Act)(2002)(Sarbanes-Oxley) 및 건강 보험 양도 책임법(Health Insurance Portability and Accountability Act)(HIPPA)의 프로비전들 모두는 데이터 보안 요건들을 포함한다. 이러한 법들 하의 법규들은 민감 데이터를 안전하게 핸들링하기 위한 요건들을 설정한다.
컴퓨터 및 데이터 보안에 대한 증가하는 필요성에 응답하여, 전자적으로 저장된 데이터를 소거하거나 파괴하기 위한 기술들이 개발되었다. 이러한 하나의 개발은 데이터 소거기 소프트웨어이며, 이 소프트웨어는 삭제된 파일들을 복구불가능하게 만들 뿐만 아니라, 많은 애플리케이션, 특히 인터넷을 수반하는 것들에 의해 생성 및 저장되는 관련없는 데이터(extraneous data)를 제거하도록 의도된다. 이러한 소프트웨어는 삭제될 정보를 저장하는 하드 드라이브를 포함하는 컴퓨터 상에서 구동된다. 이 소프트웨어는 하드 드라이브 상의 특정 데이터의 오버라이트를 야기시킨다.
또한, 고체 상태 하드 드라이브들(SSD)과 같은 다양한 스토리지 디바이스들이 중요하게 되었다. ATA(Advanced Technology Attachment) 규격은, 알려진 포렌식 데이터 복구 기술들에 의해 데이터가 복구불가능하도록 이 데이터의 소거를 도울 수 있는, SSD들을 포함한 하드 드라이브들을 위한 보안 소거(Secure Erase)(SE) 피처를 정의한다.
고체 상태 드라이브와 같은 스토리지 디바이스를 안전하게 소거하기 위한 기술들은, 보안 소거 커맨드가 실행되기 이전에, 실행되는 동안에 또는 실행된 이후에 하나 이상의 동작과 함께 보안 소거 커맨드를 이용하여 구현될 수 있다. 이러한 동작들은, 예컨대 스토리지 디바이스에 액세스하기 위해 이용되는 버스를 장악(seizing)하는 것에 의해, 보안 소거 커맨드의 실행 동안 스토리지 디바이스로의 액세스를 배제하는 것을 포함할 수 있다. 본 명세서에 설명된 다른 동작들은 스토리지 디바이스 상의 숨겨진 영역들을 소거하는 것 및 소거 이전에 스토리지 디바이스의 하드웨어 리셋을 수행하는 것을 포함한다. 또한, 서명이 스토리지 디바이스의 일부에 기입되고, 소거가 성공적으로 구현되었다는 것을 확인하기 위해 보안 소거 커맨드의 실행 이후에 이용될 수 있다.
따라서, 본 발명의 특정 양태들은 스토리지 디바이스들을 안전하게 소거하기 위한 시스템, 디바이스의 동작의 전부 또는 일부를 제어하기 위한 컴퓨터 실행가능 명령어들, 및/또는 스토리지 디바이스를 안전하게 소거하는 방법으로서 구현될 수 있다.
전술한 내용은 첨부 청구항들에 의해 정의되는 본 발명의 비제한적인 요약이다. 본 명세서에 설명 및 청구되는 동작들은 첨부 청구항들의 다른 조합들에서 명백하게 기재되어 있지 않더라도 그러한 조합들에서 이용될 수 있다는 점이 인식되어야 한다. 특히, 2개 이상의 종속 청구항들에 기재된 동작들은 그러한 청구항들이 종속하는 독립 청구항들에 기재된 동작들 없이 스토리지 디바이스를 소거하는 방법 또는 시스템에서 함께 이용될 수 있다.
첨부 도면들은 비례에 맞게 그려진 것으로 의도되지는 않는다. 이러한 도면들에서, 다양한 도면들에 예시되는 각각의 동일하거나 거의 동일한 컴포넌트는 유사한 번호에 의해 표현된다. 명료성을 위해, 모든 도면에서 모든 컴포넌트가 라벨링되지는 않을 수 있다. 도면들에서:
도 1은 일부 실시예들이 동작할 수 있는 예시적인 시스템의 블록도이다.
도 2는 일부 실시예들에서 이용될 수 있는 예시적인 기술의 플로우차트이다.
도 3은 일부 실시예들에서 이용될 수 있는 다른 예시적인 기술의 플로우차트이다.
도 4는 일부 실시예들에서 이용될 수 있는 추가의 예시적인 기술의 플로우차트이다.
도 5는 일부 실시예들에서 이용될 수 있는 추가적인 예시적인 기술의 플로우차트이다.
도 6은 본 발명의 양태들이 구현될 수 있는 컴퓨팅 시스템 환경의 예를 예시한다.
표준화된 보안 소거(SE)는 모든 하드 드라이브들에 대한 모든 정황들에서 의도된 바와 같이 수행되지 않을 수 있다. 본 발명자들은, SE의 수행 시에 이용되는 방법 및/또는 장치가 하나 이상의 기준을 충족할 때, 특히 고체 상태 드라이브들(SSD들)에 대해, 수락가능한 정도의 신뢰성으로 SE를 이용하는 이점들이 달성될 수 있다는 점을 인지 및 인식하였다. 이러한 접근법은 적어도 섹터 오버라이트들을 이용하는 것만큼 양호한 신뢰성을 가질 수 있지만, 휠씬 더 빠를 수 있다. 버스에 걸쳐 어떠한 데이터도 푸시되어서는 안 되기 때문에, 소거 프로세스는 하드 드라이브가 수행할 수 있는 모든 속도로 동작한다. SSD들의 경우에, 이것은 64 또는 128 기가바이트만큼 높은 용량들에 대한 수분의 소거 시간을 의미한다.
본 발명자들은, 예상되는 바와 같이 실행되지 않는 시스템 호출들에 대한 의존성을 포함하여, 하드 드라이브 제조자들 사이의 ATA 규격의 불일치하는 구현 및 다른 이슈들 때문에, 하드 드라이브, 특히 SSD에 대한 SE 동작이 완전한 소거를 생성하지 않을 수 있다는 점을 인지 및 인식하였다. 본 발명자들은, SE 동작의 신뢰성있는 실행을 보장하는 방식은, SE 동작을 개시하고/하거나 특정 구성을 이용하기 이전에, 본 명세서에서 더 상세하게 설명되는 바와 같이, 하나 이상의 특정 단계를 취하는 것을 수반할 수 있다는 점을 인지 및 인식하였다. 본 명세서에 설명된 바와 같은 기술들은 SE 동작의 유효성을 개선하고, SE 동작이 버스, 특히 범용 직렬 버스(USB)를 통해 다양한 하드 드라이브 타입들에 대해 성공적으로 수행되는 것을 가능하게 할 수 있다.
전통적으로 SE 동작을 수행하기 위한 접근법들은 SE 동작을 수행하기 위해 시스템 호출들 및 ATA 규격에 의존하는 것을 수반하였다. 이러한 접근법에 있어서, 소프트웨어는, 운영 체제 및 소프트웨어를 구동하는 컴퓨터 시스템에 연결된 하드 드라이브에 대해 이 프로세스를 시작하기 위해 운영 체제 및/또는 기본 입/출력 시스템(BIOS)을 통해 시스템 호출들을 송신할 수 있다.
본 발명자들은, 이러한 접근법이 하나 이상의 이유로 신뢰성있는 소거를 초래하지 않을 수 있다는 점을 인지 및 인식하였다. 예를 들어, 이러한 접근법은 SE 동작이 진행 중인 동안에 하드 드라이브를 하우스키핑 동작들(housekeeping operations)을 위해 운영 체제에 액세스가능한 상태로 남겨둘 수 있다. SE 동작 중에 하드 드라이브가 응답하지 않는 동안 운영 체제가 일부 하우스키핑 동작들을 개시하는 경우, 운영 체제는 소거 동작 동안 하드 드라이브를 중단할 수 있다. 이러한 중단은 하드 드라이브를 예측불가능한 상태로 남겨 두고, 잠재적으로는 하드 드라이브에 대한 영구적인 손상을 야기시킬 수 있는데, 그 이유는 하드 드라이브가 그 예측불가능한 상태로부터 복구할 수도 동작할 수도 없기 때문이다. 손상의 위험은, 하드 드라이브가 USB를 통해 접속되는 경우에 특히 높다. 이러한 이해에 기초하여, 본 발명자들은, SE 동작을 실행하는 동안에 하드 드라이브 및/또는 버스에 대한 액세스를 방지하는 것이 SE 동작의 성공을 가능하게 할 수 있다는 점을 인지 및 인식하였다.
본 발명자들은, SE 동작을 개시하기 이전의 하드 드라이브의 전력 사이클링(power cycling) 또는 하드 리셋이 SE 동작의 성공을 가능하게 할 수 있다는 점을 추가로 인지 및 인식하였다. ATA 규격이 요구하지 않는 이러한 단계가 없으면, SE 동작은 일부 하드 드라이브들에 대해서는 실패할 수 있다.
추가적으로, 본 발명자들은, 하드 드라이브의 호스트 보호 영역(host protected area)(HPA) 및/또는 디바이스 구성 오버레이(device configuration overlay)(DCO)의 소거가, 부분적으로는 그렇게 행하지 않으면 SE 동작이 완료된 이후에도 하드 드라이브의 이러한 영역들에서 데이터를 온전하게 남겨둘 수 있기 때문에, SE 동작이 성공하는 것을 또한 가능하게 할 수 있다는 점을 인지 및 인식하였다. 이 문제점은 사용자가 SE 동작에 대한 보안을 잘못 감지하게 남겨둘 수 있는데, 그 이유는 사용자는 알려진 포렌식 데이터 복구 기술들에 의해 데이터가 복구불가능하도록 모든 데이터가 소거되었다고 믿을 수 있지만, 실제로는 일부 데이터는 남아있을 수 있고, 사용자는 그것을 알 길이 없을 수 있기 때문이다. 본 발명자들은, 하드 드라이브의 전력 사이클링 이전에 HPA 및/또는 DCO의 이러한 소거를 수행하는 것은 SE 동작이 성공하는 것을 가능하게 할 수 있다는 점을 추가적으로 인지 및 인식하였다. 따라서, 본 발명자들은, ATA 규격에 의해 촉구되는 것을 넘는 전력 사이클링은 스토리지 디바이스의 효과적인 소거를 촉진할 수 있다는 점을 인지 및 인식하였다.
또한, 사용자 인식에 관련하여, 본 발명자들은, 이 동작의 결과들에 관한 사용자로의 검증 기반 피드백은 SE 동작의 성공 시에 사용자의 신뢰도를 증대시킬 수 있다는 점을 인지 및 인식하였다. 이러한 검증 기반 피드백이 없으면, 사용자는 단순히 이 동작이 완료되었기 때문에 이 동작이 성공적이라고 믿을 수 있다. 그러나, 하드 드라이브의 일부가 소거되지 않았을 수 있기 때문에, 완료는 성공과 동일하지 않을 수 있다. 대조적으로, 일부 전통적인 접근법들은 결코 사용자에게 어떠한 피드백도 제공하지 않을 수 있다.
또한, 본 발명자들은, 특정 BIOS 특성들이 SE 동작의 성공을 가능하게 할 수 있다는 점을 인지 및 인식하였다. 예를 들어, 표준 BIOS는, 종종 악성 코드가 하드 드라이브에 대해 SE 동작을 개시하는 것을 방지하려는 목적으로, 하드 드라이브에 발행된 SE 커맨드를 보안 프리즈 커맨드(Secure Freeze command)에 재매핑할 수 있다. 결과는, 비악성 코드, 특히 SE를 이용하여 하드 드라이브를 소거하도록 의도된 것이 또한 이러한 표준 BIOS 하에서 SE 동작을 개시할 수 없게 할 수 있다는 것이다.
본 명세서에 설명된 일부 실시예들에 따르면, 본 명세서에 설명된 기술들 중 하나 이상을 적용하도록 되어 있는 시스템 또는 방법은 SE 동작을 완료하는데 이용될 수 있다. 본 발명자들은, SE 동작을 성공적으로 수행하는 것은 적절한 구성 및 방법론을 고려하여 USB를 통해서도 달성될 수 있다는 점을 인지 및 인식하였다. 이러한 구성 및 방법론은 SE 동작에 대해 준비하는 것, 및 SE 동작을 개시하기 위해 버스를 통해 소거기 디바이스로부터 SE 신호를 송신하는 것을 포함할 수 있는데, 이 버스는 SSD를 포함하는 하드 드라이브일 수 있는 스토리지 디바이스에 소거기 디바이스를 접속한다. SE 신호는 운영 체제 레벨 아래에 있을 수 있는 스토리지 디바이스의 하드웨어 레벨에서 기능할 수 있다. 또한, SE 신호 내의 SE 커맨드(들)는 소거기 디바이스의 BIOS에 의해 변경되지 않은 채로 유지될 수 있다. SE 동작에 대해 준비하는 것은 스토리지 디바이스로 하드 리셋 신호를 송신하는 것, 및 SE 동작을 실행하는 동안에 스토리지 디바이스 및/또는 버스에 대한 액세스를 방지하는 것을 포함할 수 있다. 하드 리셋 신호는, 버스 상에 또한 있는 디바이스인 맞춤형 하드웨어(예컨대 마이크로컨트롤러 및 스토리지 베이 전력 컴포넌트(microcontroller and storage bay power component)(190))에 의해, 그리고/또는 스토리지 디바이스를 물리적으로/수동으로 전력 사이클링하도록 (예컨대 사용자 인터페이스 상에 명령어들을 제시함으로써) 사용자에게 프롬프트하는 것에 의해 구현될 수 있다. 이러한 구성 및 방법론은, 스토리지 디바이스가 전력 사이클링된 다음에 버스 상에 재확립 및 열거되는 것을 고려하는 것을 포함할 수 있다. SE 동작에 대해 준비하는 것은, 스토리지 디바이스로 하드 리셋 신호를 송신하기 이전에, 스토리지 디바이스로 숨겨진 영역(즉, HPA 및/또는 DCO) 소거 신호를 송신하는 것을 또한 포함할 수 있다. 마지막으로, 이러한 구성 및 방법론은, SE 동작에 대해 준비한 이후에 그리고 SE 신호를 송신하기 이전에, 스토리지 디바이스가 스토리지 디바이스 상의 위치들에 기입하게 하기 위해 스토리지 디바이스로 기입 신호를 송신하는 것; SE 신호의 송신 및 SE 동작의 완료 이후에, 스토리지 디바이스가 이러한 위치들로부터 판독하게 하기 위해 스토리지 디바이스로 판독 신호를 송신하는 것; 및 스토리지 디바이스로부터의 판독이 이러한 위치들에 기입되었던 것의 소거 상태를 나타내는 경우, SE 동작의 성공을 표시하는 피드백을 사용자에게 제공하는 것을 포함할 수 있다. 이러한 기술들 중 하나 이상은 동시에 다수의 하드 드라이브를 소거하도록 구성될 수 있는 시스템에 적용될 수 있다.
도 1은 예시적인 실시예에 따른 스토리지 디바이스 소거 시스템(100)을 예시한다. 시스템(100)은 SSD들과 같은 하드 드라이브들을 포함하는 스토리지 디바이스들의 보안 소거 능력을 제공하는 독립형 시스템일 수 있다. 시스템(100)은, 데이터가 포렌식으로 복구불가능하도록 스토리지 디바이스들이 소거되는 것을 가능하게 할 수 있다.
시스템(100)은, 운영 체제(120) 및 BIOS(115)를 지원할 수 있는 소거기 디바이스(110)를 포함할 수 있다. 예를 들어, 소거기 디바이스(110)는 퍼스널 컴퓨터, 서버, 모바일 디바이스 또는 임의의 다른 적합한 디바이스일 수 있다. 운영 체제(120)는 리눅스 운영 체제, 유닉스 운영 체제 또는 임의의 다른 적합한 운영 체제일 수 있다. 일부 실시예들에서, 소거기 디바이스(110)는, 알려진 프로그래밍 기술들을 이용하여, 하나의 또는 복수의 스토리지 디바이스와 인터페이스하도록 구성된 인쇄 회로 보드(PCB)에 커맨드들을 송신하도록 프로그래밍될 수 있다. PCB는 스토리지 디바이스들에 인터페이스하여, 본 명세서에 설명된 기능들 중 일부 또는 전부를 수행하는 회로와 함께, 이러한 스토리지 디바이스들에 대한 소거 동작들을 제어하도록 설계될 수 있다.
운영 체제(120)는 도 2에 예시적으로 예시되어 있는 보안 소거 흐름(130)을 구현하기 위한 프로그래밍 및 애플리케이션 계층을 지원할 수 있다. 운영 체제(120)는, 사용자가, 시스템(100)에 접속된 하나 이상의 스토리지 디바이스를 소거하기 위한 커맨드들을 포함한 정보를 시스템(100)에 입력하고, 시스템(100)으로부터 정보를 얻는 것을 가능하게 할 수 있는 사용자 인터페이스(135)를 추가로 지원할 수 있다. 바람직하게는, 사용자 인터페이스(135)는 그래픽 사용자 인터페이스(GUI)일 수 있다. 사용자 인터페이스(135)는 예를 들어 디스플레이 디바이스와 키보드, 터치 스크린 모니터, 음성 인터페이스 및/또는 임의의 다른 적합한 사용자 인터페이스일 수 있다.
애플리케이션 계층 및 보안 소거 흐름(130)은 운영 체제(120)가 또한 지원할 수 있는 데몬(160)으로부터 스토리지 디바이스 정보(165)를 수신할 수 있다. 애플리케이션 계층 및 보안 소거 흐름(130)은, 도 3 내지 도 5에 예시적으로 예시되어 있으며 운영 체제(120)가 또한 지원할 수 있는 소거 루틴들(140)과 논리적으로 인터페이스할 수 있다. 소거 루틴들(140) 및 데몬(160)은 운영 체제(120)가 또한 지원할 수 있는 버스 라이브러리(150)와 논리적으로 인터페이스할 수 있다. 버스 라이브러리(150)는, PCB(170)에 접속되며 그 상에 있을 수 있는 버스(180)와 논리적으로 인터페이스할 수 있다.
PCB(170)는 소거기 디바이스(110)로부터 분리될 수 있다. 그러나, PCB(170)의 기능성은 소거기 디바이스(110)와 동일한 하우징으로 물리적으로 통합되거나 또는 임의의 다른 적합한 방식으로 구현될 수 있다는 점이 인식되어야 한다. 버스(180)는, PCB(170)에 접속되고/되거나 그 상에 있을 수 있는 마이크로컨트롤러 및 스토리지 베이 전력 컴포넌트(190)에 접속될 수 있다. 마이크로컨트롤러 및 스토리지 베이 전력 컴포넌트(190)는, 버스(180)에 접속될 수 있는 임의의 개수의 스토리지 베이, 예컨대 스토리지 베이들(183, 186 및 189)을 제어하고 이러한 스토리지 베이들에 전력을 공급할 수 있다.
각각의 스토리지 베이는 적어도 하나의 스토리지 디바이스(도시되지 않음)를 수용하도록 구성될 수 있다. 스토리지 베이에 삽입될 때, 스토리지 디바이스는 본 명세서에 설명된 바와 같은 기술들을 이용하여 소거될 수 있다. 스토리지 디바이스들은, SSD들을 포함하여, 데이터를 저장할 수 있는 임의의 형태의 메모리일 수 있다.
일부 실시예들에 따르면, 소거기 디바이스(110)는, 운영 체제(120) 및/또는 애플리케이션 계층 및 보안 소거 흐름(130)을 저장하는 것과 동일한 스토리지 디바이스일 수 있거나 또는 별개의 스토리지 디바이스일 수 있는, 소거를 위해 지정된 스토리지 디바이스(도시되지 않음) 외의 스토리지 디바이스 상에 각각의 소거 절차에 대한 데이터가 저장되게 할 수 있다. 이러한 방식으로, 시스템(100)은 소거 절차들의 로그를 유지할 수 있다. 이러한 스토리지 디바이스 상에 저장된 데이터는 다음의 것의 임의의 조합을 포함할 수 있다: 하드 드라이브 식별 정보, 예컨대 하드 드라이브 시리얼 번호, 제조자, 모델 및 용량; 시작 날짜/타임 스탬프; 종료 날짜/타임 스탬프; 소거 방법; 성공 또는 실패의 표시; 소거 절차를 개시한 사용자; 소거 인증서(erase certificates); 및 임의의 다른 적합한 데이터.
시스템(100)은 동시에 다수의 스토리지 디바이스의 소거를 지원할 수 있다. 스토리지 베이들은 적어도 하나의 타입의 스토리지 디바이스를 지원할 수 있지만, 이들은 바람직하게는 다수의 스토리지 디바이스 타입을 지원할 수 있다. 선택적으로, 각각의 스토리지 베이는 로킹 메커니즘(도시되지 않음), 및 스토리지 베이에서의 스토리지 디바이스의 상태를 시그널링하기 위한 상태 표시자(도시되지 않음)를 포함할 수 있다. 상태 표시자는 사용자 인터페이스(135) 상에 디스플레이되거나 스토리지 베이 상에 있을 수 있다.
각각의 스토리지 베이는 다른 스토리지 베이들에 독립적으로 동작할 수 있고, 개별 스토리지 디바이스는 다른 스토리지 베이들의 동작과 간섭하지 않고 스토리지 베이들로부터 접속해제 및 이러한 스토리지 베이들에 접속될 수 있다. 따라서, 사용자 또는 다른 메커니즘, 예컨대 로봇 암은 진행 중인 소거 절차를 중단하거나 시스템(100)을 파워 다운하지 않으면서 하나의 스토리지 디바이스를 제거하고 다른 스토리지 디바이스를 접속할 수 있다. 이러한 방식으로, 다수의 스토리지 디바이스는 계속하여 급속하게 소거될 수 있다.
스토리지 베이들은 하나 이상의 스토리지 디바이스들과 시스템(100) 사이의 통신을 위해 구성될 수 있고, 그에 의해 시스템(100)은 스토리지 디바이스 상에 포함된 데이터를 소거하는 제어 신호들을 발생시킬 수 있다. 선택적으로, 시스템(100)은, 시스템의 사용자 인터페이스와의 상호작용 또는 시스템(100)을 다른 방식으로 제어하는 것에 의해, 사용자가 사용자 인터페이스(135)를 통하여 스토리지 베이에 있는 스토리지 디바이스 상의 데이터에 액세스(판독 및/또는 기입)할 수 있도록 구성될 수 있다.
각각의 스토리지 베이는 적어도 하나의 접속 디바이스, 예컨대 커넥터, 포트, 케이블, 프로브, 또는 시스템(100)과 스토리지 디바이스 사이의 통신을 확립하는 임의의 디바이스, 메커니즘 또는 수단을 포함할 수 있다. 이러한 통신을 확립하는 수단은 표준화된 커넥터이거나 또는 산업 표준에 따라 다른 방식으로 구성될 수 있다. 그러나, 임의의 적합한 메커니즘이 이용될 수 있다. 예를 들어, 일부 실시예들에서, 드라이브 베이(110)는 스토리지 디바이스에 접속할 수 있는 하나 이상의 케이블(도시되지 않음), 예를 들어 데이터 케이블 및 전력 케이블을 포함할 수 있다. 시스템(100)과 스토리지 디바이스 사이의 통신을 제공하는 다른 디바이스들 및 수단이 대안적으로 또는 추가적으로 이용될 수 있다. 시스템(100)은 상이한 접속 요건들 및/또는 상이한 데이터 스토리지 기술들을 갖는 상이한 스토리지 디바이스 타입들을 수용할 수 있다.
추가적으로, 스토리지 베이는 전형적인 케이블 연결 위치들과는 다른 위치들에서 스토리지 디바이스에 연결될 수 있는 프로브를 포함할 수 있다. 예를 들어, 프로브는 스토리지 디바이스의 인쇄 회로 보드에 신호를 주입하도록 접속될 수 있다. 대안적으로, 시스템(100)은 인시튜로, 즉 퍼스널 컴퓨터와 같은 특정 디바이스에서 발견되는 바와 같이 스토리지 디바이스와 통신하도록 구성될 수 있다. 시스템(100)은 하나 이상의 스토리지 베이를 포함할 수 있고, 인시튜로 하나 이상의 스토리지 디바이스에 직접 접속하도록 구성될 수 있다는 점이 이해되어야 한다.
일부 실시예들에 따르면, 시스템(100)은, 예를 들어 소거 동작의 레코드를 인쇄하는 것, 이메일링하는 것, 컴퓨터 데이터베이스에 저장하는 것에 의해 스토리지 디바이스들의 상태 및 소거 인증서들과 같은 정보를 출력하기 위한 출력 디바이스(도시되지 않음), 또는 임의의 다른 적합한 출력 메커니즘과 통신할 수 있다. 출력은, 소거가 완전하게 수행되었다는 인증서 또는 다른 증거를 포함하여 임의의 적합한 형태로 이루어질 수 있다. 일부 실시예들에 따르면, 예를 들어, 출력 디바이스는 특정 스토리지 디바이스가 소거되었다고 증명하는 인증서들을 (예를 들어, 라벨들의 형태로) 인쇄하기 위한 프린터일 수 있다. 대안적으로 또는 추가적으로, 출력 디바이스는 시스템(100)과 통합될 수 있다.
일부 실시예들에 따르면, 시스템(100)은 인터넷(151) 또는 임의의 다른 적합한 네트워크(도시되지 않음)와 통신할 수 있다. 시스템(100)에 연결된 사용자 인터페이스를 통해 직접적으로 제공될 수 있는 임의의 입력 또는 출력은 일부 실시예들에서 이러한 통신 네트워크를 통해 제공될 수 있다. 예를 들어, 소거 디바이스(120)는, 시스템(100) 사용자에 독립적인 제3자에 의해 제어될 수 있는 네트워크의 일부일 수 있는 컴퓨터와 같은 원격 디바이스(도시되지 않음)로 소거 인증서들 및 로그들을 제공하도록 구성될 수 있다. 일부 실시예들에 따르면, 제3자는 다양한 소스들로부터, 예를 들어 다수의 시스템(100)으로부터 소거 인증서들을 수신할 수 있으며, 이러한 소거 인증서들을 저장할 수 있다. 이러한 방식으로, 제3자는 필요에 따라 손쉽게 액세스될 수 있는 스토리지 디바이스 소거들에 관한 데이터를 유지할 수 있다.
도 2는 시스템(100)(도 1)을 이용하여 스토리지 디바이스를 소거하기 위해 일부 실시예들에서 이용될 수 있는 예시적인 기술의 플로우차트이다. 도 2에 예시된 예시적인 기술은 애플리케이션 계층에서 또는 임의의 다른 적합한 계층에서 소거기 디바이스(110)를 프로그래밍함으로써 구현될 수 있다. 이러한 프로그래밍의 실행은, 예를 들어, 하나 이상의 스토리지 디바이스를 소거하기 위해 시스템(100)을 갖는 하드웨어 컴포넌트들에 대한 제어 신호들을 발생시키도록 소거기 디바이스(110)를 제어할 수 있다. 도 2와 관련하여 설명된 단계들의 시퀀스는 변경될 수 있고/있거나 추가적인 단계들이 추가될 수 있다는 점이 이해되어야 한다.
사용자 인터페이스(135)를 이용하여, 사용자는 아래에 더 상세하게 설명되는 소거 절차를 시작할 수 있다. 소거 절차는 단계(210)에서 시작할 수 있는데, 이는 사용자 입력 또는 임의의 다른 적합한 트리거에 의해 트리거될 수 있다. 이를 위해, 사용자는 소거될 스토리지 디바이스를 설치할 수 있다. 대안적으로, 시스템(100)은 인시튜로 스토리지 디바이스에 접속될 수 있다. 그러나, 소거 절차는 스토리지 베이로의 스토리지 디바이스의 삽입과 같은 임의의 적합한 트리거에 응답하여 개시될 수 있다는 점이 인식되어야 한다.
단계(213)에서, 시스템(100)은 스토리지 디바이스의 언록(unlocking)을 개시할 수 있다. 단계(216)에서, 시스템(100)은 스토리지 디바이스의 언록을 완료할 수 있다. 이러한 동작들은 표준화된 커맨드들을 이용하는 것을 포함하여 임의의 적합한 방식으로 수행될 수 있다.
단계(220)에서, 시스템(100)은 스토리지 디바이스 상의 HPA 및/또는 DCO의 소거를 개시할 수 있다. 단계(230)에서, 시스템(100)은 스토리지 디바이스 상의 HPA 및/또는 DCO의 소거를 완료할 수 있다. 단계(235)에서, 시스템(100)은 스토리지 디바이스의 하드 리셋을 개시할 수 있다. 그렇게 행하면서, 시스템(100)은, 하드 리셋이 시작될 때 스토리지 디바이스가 버스(180)로부터 "사라질" 것이라고 운영 체제(120), 버스 라이브러리(150), 데몬(160) 및/또는 임의의 다른 적합한 컴포넌트들에 통지할 수 있다. 시스템(100)은, 스토리지 디바이스가 버스(180) 상에 "다시 나타날" 때, 하드 리셋 이전과 유사한 열거 파라미터들로 스토리지 디바이스를 재열거하도록 버스 라이브러리(150), 데몬(160) 및/또는 임의의 다른 적합한 컴포넌트들에 또한 명령할 수 있다. 시스템(100)은 스토리지 베이 로크를 언록하지 않으면서 이것을 행할 수 있다. 단계(240)에서, 시스템(100)은 스토리지 디바이스의 하드 리셋을 완료할 수 있다. 이것을 행하기 위해서, 소거기 디바이스(110)는 스토리지 디바이스의 하드 리셋을 수행하기 위해 마이크로컨트롤러 및 스토리지 베이 전력 컴포넌트(190)로 그리고/또는 스토리지 디바이스로 하드 리셋 신호를 송신할 수 있다. 다른 동작들에서와 같이, 이러한 동작들은 스토리지 디바이스 자체 및/또는 시스템(100)의 요소들이 응답하도록 구성되는 커맨드들을 발행함으로써 수행될 수 있다. 일부 실시예들에서, 스토리지 디바이스의 이러한 영역들은 표시된 순서로 소거된다.
단계(250)에서, 시스템(100)은 스토리지 디바이스가 스토리지 디바이스 상의 위치들에 서명 데이터를 기입하게 할 수 있다. 서명 데이터는 임의의 적합한 값들을 가질 수 있다. 일부 실시예들에서, 서명 데이터는 랜덤하게 발생할 가능성이 없는 패턴을 가질 수 있고, 그에 의해 그 패턴에 대해 체크함으로써, 서명 데이터가 존재하는지 또는 스토리지 디바이스로부터 소거되었는지에 관하여 결정이 이루어질 수 있다. 서명 데이터는 임의의 적합한 방식으로 획득될 수 있다. 일부 실시예들에서, 서명 데이터는 소거 디바이스(110)와 연관된 메모리에 저장될 수 있다. 대안적으로 또는 추가적으로, 서명 데이터는 프로그램의 실행에 의해서와 같이 알고리즘적으로 발생될 수 있다.
단계(260)에서, 시스템(100)은 스토리지 디바이스에 대해 SE 동작을 개시할 수 있다. 이것을 행하기 위해서, 소거기 디바이스(110)는 버스(180)를 통해 스토리지 디바이스로 SE 신호를 송신할 수 있으며, 스토리지 디바이스는 단계(265)에서 SE 동작을 실행할 수 있다.
일부 실시예들에서, 단계(266)에서, 처리는 단계(235)로 리턴하여 하드 리셋을 재개시하고, 다음에 단계들(240, 250, 260 등)로 진행할 수 있다. 하드 리셋은 임의의 적합한 방식으로 구현될 수 있다. 일부 실시예들에서, 하드 리셋은, 소거되는 스토리지 디바이스로 송신되는 커맨드에 의해 개시되는 것보다는, 하드웨어 요소들에 의해 개시될 수 있다. 일례로서, 하드 리셋은 마이크로컨트롤러 및 스토리지 베이 전력 컴포넌트(190)가 스토리지 디바이스로의 전력을 셧오프하는 것에 의해 개시될 수 있다.
단계(270)에서, 시스템(100)은 스토리지 디바이스의 재전력 공급(repowering)을 개시할 수 있다. 단계(275)에서, 시스템(100)은 스토리지 디바이스의 재전력 공급을 완료할 수 있다. 이러한 파워 오프 및 파워 온 동작들은 마이크로컨트롤러 및 스토리지 베이 전력 컴포넌트(190)가 소거 디바이스(110)로부터의 커맨드들에 응답하는 결과로서 또는 임의의 다른 적합한 방식으로 수행될 수 있다. 일부 실시예들에서, 시스템(100)은 수동으로 스토리지 디바이스를 전력 사이클링하도록 사용자에게 프롬프트할 수 있다.
단계(280)에서, 시스템(100)은 스토리지 디바이스로 하여금 서명 데이터가 기입된 위치들로부터 데이터를 판독하게 할 수 있다. 이러한 위치들로부터 판독된 데이터가 서명 데이터의 소거 상태를 나타내는 경우, 시스템(100)은 SE 동작의 성공을 표시하는 출력을 제공할 수 있다. 이러한 출력은 사용자 인터페이스(135), 프린터 및/또는 임의의 다른 적합한 방식을 통해 제공될 수 있다.
대안적으로, 서명 데이터가 소거되지 않았다고 이러한 위치들로부터 판독된 데이터가 표시하는 경우, 출력은 불완전한 또는 비성공적인 소거를 표시할 수 있다. 이러한 시나리오에서, 시스템(100)은 대안적으로 또는 추가적으로 임의의 다른 적합한 방식으로 응답하거나 소거를 다시 시도하기 위해 도 2의 단계들을 반복할 수 있다.
단계(285)에서, 시스템(100)은 도 2에 도시된 소거 절차를 완료할 수 있다.
도 3은 시스템(100)(도 1)을 이용하여 스토리지 디바이스를 소거하기 위해 일부 실시예들에서 이용될 수 있는 예시적인 기술을 예시한다. 도 3과 관련하여 설명된 단계들의 시퀀스는 변경될 수 있고/있거나 추가적인 단계들이 추가될 수 있다는 점이 이해되어야 한다. 본 명세서에 예시된 다른 플로우차트들에서와 같이, 도 3에 예시된 처리는 컴퓨터화된 소거 디바이스(110) 상에서 실행되는 프로그래밍의 제어 하에서 또는 임의의 다른 적합한 방식으로 수행될 수 있다.
소거 절차는 단계(310)에서 시작할 수 있다. 소거 절차는 임의의 적합한 방식으로 트리거될 수 있다. 예를 들어, 사용자 인터페이스(135)를 이용하여, 사용자는 아래에 더 상세하게 설명되는 소거 절차를 시작할 수 있다. 이를 위해, 사용자는 소거될 스토리지 디바이스를 설치할 수 있다. 대안적으로, 시스템(100)은 인시튜로 스토리지 디바이스에 접속될 수 있다. 단계(320)에서, 시스템(100)은 스토리지 디바이스를 식별할 수 있다. SEC_FLAG_ENABLED 조건이 충족되는 경우, 처리는 단계(330)로 진행할 수 있고, 이는 단계(333)에서 시작할 수 있다. 이러한 조건은 소거되는 스토리지 디바이스로부터 상태 정보를 판독하기 위한 알려진 커맨드를 이용하여 또는 임의의 다른 적합한 방식으로 결정될 수 있다. 그렇지 않은 경우, 처리는 단계(340)로 진행할 수 있다.
단계(333)에서, SEC_FLAG_LOCKED 조건이 충족되는 경우, 처리는 단계(336)로 진행할 수 있다. 그렇지 않은 경우, 처리는 단계(340)로 진행할 수 있다. 단계(336)에서, 시스템(100)은 스토리지 디바이스를 언록할 수 있다. 단계(340)에서, 사용자는 사용자 인터페이스(135)를 이용하여 스토리지 디바이스의 마스터 패스워드를 설정할 수 있다. 본 명세서에 설명된 다른 동작들에서와 같이, 이러한 동작들은 예컨대 버스(180)를 통해 스토리지 디바이스로 알려진 커맨드들을 송신함으로써 또한 개시될 수 있다.
단계(350)에서, 시스템(100)은 스토리지 디바이스의 하드 리셋을 수행할 수 있다. 단계(360)에서, 시스템(100)은 스토리지 디바이스를 식별할 수 있다. 하드 리셋은 도 2의 실시예와 관련하여 설명된 바와 같이 하드웨어 컴포넌트들을 이용하여 수행될 수 있다.
단계(370)에서, 시스템(100)은 스토리지 디바이스의 소거 시간을 추정할 수 있다. 시스템(100)은 사용자 인터페이스(135)를 통해 사용자에게 추정된 소거 시간을 제공할 수 있다. 대안적으로 또는 추가적으로, 이러한 정보는 소거 동작의 레코드를 만드는 것을 포함하여 임의의 다른 적합한 방식으로 이용될 수 있다. 일부 실시예들에 따르면, 시스템은, 소거 절차로 진행할지 또는 소거 절차를 취소할지를 사용자가 선택할 수 있도록 사용자 인터페이스(135)를 통해 제어 옵션들을 제시할 수 있다. 그러나, 이러한 정보는 대안적으로 또는 추가적으로 시스템(100)의 자동화된 제어의 일부로서 이용될 수 있다는 점이 인식되어야 한다.
단계(380)에서, 시스템(100)은 SE 동작에 대해 준비할 수 있다. 이러한 준비는, SE 동작이 실행되는 동안에 스토리지 디바이스 및/또는 버스에 대한 액세스를 방지하는 것, HPA 및/또는 DCO의 소거를 수행하는 것, 및/또는 스토리지 디바이스의 하드 리셋을 수행하는 것을 포함할 수 있다.
단계(390)에서, 시스템(100)은 스토리지 디바이스에 대해 SE 동작을 개시할 수 있다. 이것을 행하기 위해서, 소거기 디바이스(110)는 버스(180)를 통해 스토리지 디바이스로 SE 신호를 송신할 수 있고, 스토리지 디바이스는 SE 동작을 실행할 수 있다.
단계(393)에서, 시스템(100)은 도 3에 도시된 소거 절차를 완료할 수 있다.
도 4는 시스템(100)(도 1)을 이용하여 스토리지 디바이스를 소거하기 위해 일부 실시예들에서 이용될 수 있는 예시적인 기술을 예시한다. 도 4와 관련하여 설명된 단계들의 시퀀스는 변경될 수 있고/있거나 추가적인 단계들이 추가될 수 있다는 점이 이해되어야 한다. 도 2 및 도 3에 예시된 처리에서와 같이, 도 4의 처리는 소거 디바이스(110) 상에서 소프트웨어를 실행한 결과로서 또는 임의의 다른 적합한 방식으로 수행될 수 있다.
아래에 더 상세하게 설명되는 소거 절차는 사용자 인터페이스(135)를 통해 사용자가 커맨드들을 입력하는 것과 같이 임의의 적합한 방식으로 개시될 수 있다. 이러한 시나리오에서, 사용자는 단계(410)에서 소거 절차를 시작할 수 있다. 이를 위해, 사용자는 소거될 스토리지 디바이스를 설치할 수 있다. 대안적으로, 시스템(100)은 인시튜로 스토리지 디바이스에 접속될 수 있다. 단계(420)에서, 시스템(100)은 스토리지 디바이스를 식별할 수 있다. 단계(433)에서 시작할 수 있는 단계(430)에서, SEC_FLAG_ENABLED 조건이 충족되는 경우, 처리는 단계(436)로 진행할 수 있다. 그렇지 않은 경우, 처리는 단계(440)로 진행할 수 있다. 단계(436)에서, 시스템(100)은 스토리지 디바이스의 하드 리셋을 수행할 수 있다. 단계(439)에서, 시스템(100)은 스토리지 디바이스를 식별하여, 보안 플래그들이 인에이블되는지를 체크할 수 있다.
단계(440)에서, 시스템(100)은 스토리지 디바이스를 식별할 수 있다.
단계(453)에서, SEC_FLAG_ENABLED 조건이 충족되는 경우, 처리는 단계(456)로 진행할 수 있다. 그렇지 않은 경우, 처리는 단계(460)로 진행할 수 있다. 단계(456)에서, SEC_FLAG_LOCKED 조건이 충족되는 경우, 처리는 단계(459)로 진행할 수 있다. 그렇지 않은 경우, 처리는 단계(460)로 진행할 수 있다. 단계(459)에서, 시스템(100)은 스토리지 디바이스를 언록할 수 있다.
단계(460)에서, 스토리지 디바이스의 마스터 패스워드가 설정될 수 있다. 이 패스워드는 예컨대 사용자 인터페이스(135)를 통해 사용자로부터 수신될 수 있다. 그러나, 패스워드는, 랜덤하게 발생되는 것 또는 미리 결정된 디폴트 값으로 설정되는 것과 같이 임의의 적합한 방식으로 결정될 수 있다는 점이 인식되어야 한다.
단계(470)에서, 시스템(100)은 스토리지 디바이스의 소거 시간을 추정할 수 있다. 시스템(100)은 사용자 인터페이스(135)를 통해 사용자에게 추정된 소거 시간을 제공하거나 또는 임의의 다른 적합한 방식으로 이 정보를 이용할 수 있다. 일부 실시예들에 따르면, 사용자는, 사용자 인터페이스(135)를 통해, 소거 절차로 진행할지 또는 소거 절차를 취소할지를 선택할 수 있다.
단계(480)에서, 시스템(100)은 SE 동작에 대해 준비할 수 있다. 이러한 준비는, SE 동작이 실행되는 동안에 스토리지 디바이스 및/또는 버스에 대한 액세스를 방지하는 것, HPA 및/또는 DCO의 소거를 수행하는 것, 및/또는 스토리지 디바이스의 하드 리셋을 수행하는 것을 포함할 수 있다. 일부 실시예들에서, 스토리지 디바이스의 이러한 영역들은 표시된 순서로 소거된다.
단계(490)에서, 시스템(100)은 스토리지 디바이스에 대해 SE 동작을 개시할 수 있다. 이것을 행하기 위해서, 소거기 디바이스(110)는 버스(180)를 통해 스토리지 디바이스로 SE 신호를 송신할 수 있고, 스토리지 디바이스는 SE 동작을 실행할 수 있다.
단계(493)에서, 시스템(100)은 도 4에 도시된 소거 절차를 완료할 수 있다.
도 5는 시스템(100)(도 1)을 이용하여 스토리지 디바이스를 소거하기 위해 일부 실시예들에서 이용될 수 있는 예시적인 기술을 예시한다. 도 5와 관련하여 설명된 단계들의 시퀀스는 변경될 수 있고/있거나 추가적인 단계들이 추가될 수 있다는 점이 이해되어야 한다.
이 실시예에서, 소거는 사용자 입력에 의해 개시될 수 있다. 따라서, 사용자 인터페이스(135)를 이용하여, 사용자는 아래에 더 상세하게 설명되는 소거 절차를 시작할 수 있다. 사용자는 단계(510)에서 소거 절차를 시작할 수 있다. 이를 위해, 사용자는 소거될 스토리지 디바이스를 설치할 수 있다. 대안적으로, 시스템(100)은 인시튜로 스토리지 디바이스에 접속될 수 있다. 단계(520)에서, 시스템(100)은 스토리지 디바이스를 식별할 수 있다. 단계(533)에서 시작할 수 있는 단계(530)에서, SEC_FLAG_LOCKED 조건이 충족되는 경우, 처리는 단계(536)로 진행할 수 있다. 그렇지 않은 경우, 처리는 단계(540)로 진행할 수 있다. 단계(536)에서, 시스템(100)은 스토리지 디바이스를 언록할 수 있고, 처리는 단계(539)로 진행할 수 있다. 단계(539)에서, 처리는 마스터 패스워드의 설정을 바이패스하고, 단계(550)로 진행할 수 있다.
단계(543)에서 시작할 수 있는 단계(540)에서, 사용자는 사용자 인터페이스(135)를 이용하여 스토리지 디바이스의 마스터 패스워드를 설정할 수 있다. 이것이 실패하는 경우, 처리는 단계(546)로 진행할 수 있다. 단계(546)에서, 사용자는 사용자 인터페이스(135)를 이용하여 스토리지 디바이스의 마스터 패스워드를 설정할 수 있다.
단계(550)에서, 시스템(100)은 스토리지 디바이스의 하드 리셋을 수행할 수 있다. 단계(560)에서, 시스템(100)은 스토리지 디바이스를 식별할 수 있다.
단계(570)에서, 시스템(100)은 스토리지 디바이스의 소거 시간을 추정할 수 있다. 시스템(100)은 사용자 인터페이스(135) 또는 임의의 다른 적합한 방식을 통해 사용자에게 추정된 소거 시간을 제공할 수 있다. 일부 실시예들에 따르면, 사용자는, 사용자 인터페이스(135)를 통해, 소거 절차로 진행할지 또는 소거 절차를 취소할지를 선택할 수 있다.
단계(580)에서, 시스템(100)은 SE 동작에 대해 준비할 수 있다. 이러한 준비는, SE 동작이 실행되는 동안에 스토리지 디바이스 및/또는 버스에 대한 액세스를 방지하는 것, HPA 및/또는 DCO의 소거를 수행하는 것, 및/또는 스토리지 디바이스의 하드 리셋을 수행하는 것을 포함할 수 있다.
단계(590)에서, 시스템(100)은 스토리지 디바이스에 대해 SE 동작을 개시할 수 있다. 이것을 행하기 위해서, 소거기 디바이스(110)는 버스(180)를 통해 스토리지 디바이스로 SE 신호를 송신할 수 있고, 스토리지 디바이스는 SE 동작을 실행할 수 있다.
단계(593)에서, 시스템(100)은 도 5에 도시된 소거 절차를 완료할 수 있다.
도 2 내지 도 5에 예시된 기술들은 대안적으로 또는 함께 이용될 수 있다. 일부 실시예들에서, 도 3 내지 도 5에 예시된 기술들 중 하나 이상은 도 2에 예시된 처리의 일부로서 이용될 수 있다. 특정의 비제한적인 예로서, 도 3 내지 도 5에 예시된 기술들 중 하나는 블록(265)(도 2)에서 소거 동작을 수행하도록 선택될 수 있다. 기술들은, 성공적인 소거가 달성될 때까지 순차적으로 또는 임의의 다른 적합한 순서로 이용될 수 있다.
또한, 다양한 동작들이 도 2 내지 도 5에서 설명된다는 점이 인식되어야 한다. 이러한 동작들의 일부는 도면들 중 하나보다 많은 도면에 대해 공통이다. 본 명세서에 설명된 접근법의 일반성을 예시하기 위해서, 유사한 동작들은 도면들 중 상이한 것들과 관련하여 상이하게 실행되거나 트리거되는 것으로서 설명될 수 있다. 도면들 중 하나와 관련하여 설명된 바와 같은 동작의 개시 또는 수행은 대안적으로 또는 추가적으로 다른 도면에 예시된 유사한 동작과 관련하여 이용될 수 있다는 점이 인식되어야 한다.
도 6은 본 발명이 구현될 수 있는 적합한 컴퓨팅 시스템 환경(600)의 예를 예시한다. 컴퓨팅 시스템 환경(600)은 적합한 컴퓨팅 환경의 일례일 뿐이며, 본 발명의 용도 또는 기능성의 범위에 관하여 임의의 제한을 암시하는 것으로 의도되지는 않는다. 컴퓨팅 환경(600)은 예시적인 동작 환경(600)에 예시된 컴포넌트들 중 임의의 하나 또는 이러한 컴포넌트들의 조합에 관한 임의의 종속성 또는 요건을 갖는 것으로서 해석되어서도 안 된다.
본 발명은 다수의 다른 범용 또는 특수 목적 컴퓨팅 시스템 환경 또는 구성에서 동작된다. 본 발명과 함께 이용하기에 적합할 수 있는 잘 알려진 컴퓨팅 시스템들, 환경들 및/또는 구성들의 예들은 퍼스널 컴퓨터들, 서버 컴퓨터들, 핸드헬드 또는 랩톱 디바이스들, 멀티프로세서 시스템들, 마이크로프로세서 기반 시스템들, 셋톱 박스들, 프로그래머블 가전들, 네트워크 PC들, 미니컴퓨터들, 메인프레임 컴퓨터들, 위의 시스템들 또는 디바이스들 중 임의의 것을 포함하는 분산형 컴퓨팅 환경들 등을 포함하지만, 이에 제한되지는 않는다.
컴퓨팅 환경은 프로그램 모듈들과 같은 컴퓨터 실행가능 명령어들을 실행할 수 있다. 일반적으로, 프로그램 모듈들은, 특정 태스크들을 수행하거나 특정 추상 데이터 타입들을 구현하는 루틴들, 프로그램들, 오브젝트들, 컴포넌트들, 데이터 구조들 등을 포함한다. 본 발명은 통신 네트워크를 통해 링크되는 원격 처리 디바이스들에 의해 태스크들이 수행되는 분산형 컴퓨팅 환경들에서 또한 실시될 수 있다. 분산형 컴퓨팅 환경에서, 프로그램 모듈들은 메모리 스토리지 디바이스들을 포함하는 로컬 및 원격 컴퓨터 저장 매체 양쪽 모두에 위치될 수 있다.
도 6을 참조하면, 본 발명을 구현하기 위한 예시적인 시스템은 컴퓨터(610)의 형태의 범용 컴퓨팅 디바이스를 포함한다. 본 명세서에 설명된 바와 같은 기능들을 수행하기 위한 프로그래밍 또는 다른 수정을 갖는 컴퓨터(610)가 소거기 디바이스(610)를 구현하는데 이용될 수 있다. 도 6에 도시되지 않지만, 이러한 수정들은 PCB(170)에 기인하는 임의의 기능들을 포함하기 위한 수정들을 포함할 수 있다. 대안적으로 또는 추가적으로, 컴퓨터(610)는, 전용 소거기 디바이스인 것보다는, 통상 동작에서 스토리지 디바이스로부터 정보를 검색하거나 저장하는 컴퓨터일 수 있다. 그 시나리오에서, 컴퓨터(610)는 본 명세서에 설명된 바와 같은 기술들을 이용하여 스토리지 디바이스를 소거하도록 프로그래밍된 사용자의 컴퓨터일 수 있다.
컴퓨터(610)의 컴포넌트들은 처리 유닛(620), 시스템 메모리(630), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트들을 처리 유닛(620)에 결합하는 시스템 버스(621)를 포함할 수 있지만, 이에 제한되지는 않는다. 시스템 버스(621)는 메모리 버스 또는 메모리 제어기, 주변 장치 버스, 및 다양한 버스 아키텍처들 중 임의의 것을 이용하는 로컬 버스를 포함한 수개의 타입의 버스 구조 중 임의의 것일 수 있다. 제한이 아니라 예로서, 이러한 아키텍처들은 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 및 메자닌 버스로 또한 알려져 있는 PCI(Peripheral Component Interconnect) 버스를 포함한다.
컴퓨터(610)는 전형적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(610)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있고, 휘발성 및 비휘발성 매체, 착탈식 및 비착탈식 매체 양쪽 모두를 포함한다. 제한이 아니라 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는, 컴퓨터 판독가능 명령어들, 데이터 구조들, 프로그램 모듈들 또는 다른 데이터와 같은 정보의 스토리지를 위해 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 착탈식 및 비착탈식 매체 양쪽 모두를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disks) 또는 다른 광학 디스크 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스, 또는 원하는 정보를 저장하는데 이용될 수 있으며 컴퓨터(610)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 제한되지는 않는다. 전형적으로, 통신 매체는, 반송파 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호에서 컴퓨터 판독가능 명령어들, 데이터 구조들, 프로그램 모듈들 또는 다른 데이터를 구현하고, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호에 정보를 인코딩하는 방식으로 변경되거나 설정된 특성들 중 하나 이상을 갖는 신호를 의미한다. 제한이 아니라 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다. 위의 것들 중 임의의 것의 조합들은 컴퓨터 판독가능 매체의 범위 내에 또한 포함되어야 한다.
시스템 메모리(630)는, 판독 전용 메모리(ROM)(631) 및 랜덤 액세스 메모리(RAM)(632)와 같은 휘발성 및/또는 비휘발성 메모리의 형태의 컴퓨터 저장 매체를 포함한다. 스타트업 동안과 같이 컴퓨터(610) 내의 요소들 사이의 정보 전송을 돕는 기본 루틴들을 포함하는 기본 입/출력 시스템(633)(BIOS)은 전형적으로 ROM(631)에 저장된다. RAM(632)은, 처리 유닛(620)에 의해 현재 연산되고/되거나 즉시 액세스가능한 데이터 및/또는 프로그램 모듈들을 전형적으로 포함한다. 제한이 아니라 예로서, 도 6은 운영 체제(634), 애플리케이션 프로그램들(635), 다른 프로그램 모듈들(636) 및 프로그램 데이터(637)를 예시한다.
컴퓨터(610)는 다른 착탈식/비착탈식, 휘발성/비휘발성 컴퓨터 저장 매체를 또한 포함할 수 있다. 단지 예로서, 도 6은, 비착탈식, 비휘발성 자기 매체로부터 판독하거나 이러한 자기 매체에 기입하는 하드 디스크 드라이브(641), 착탈식, 비휘발성 자기 디스크(652)로부터 판독하거나 이러한 자기 디스크에 기입하는 자기 디스크 드라이브(651), 및 CD ROM이나 다른 광학 매체와 같은 착탈식, 비휘발성 광학 디스크(656)로부터 판독하거나 이러한 광학 디스크에 기입하는 광학 디스크 드라이브(655)를 예시한다. 예시적인 동작 환경에서 이용될 수 있는 다른 착탈식/비착탈식, 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래시 메모리 카드, DVD(digital versatile disks), 디지털 비디오 테이프, 고체 상태 RAM, 고체 상태 ROM 등을 포함하지만, 이에 제한되지는 않는다. 하드 디스크 드라이브(641)는 전형적으로 인터페이스(640)와 같은 비착탈식 메모리 인터페이스를 통해 시스템 버스(621)에 접속되고, 자기 디스크 드라이브(651) 및 광학 디스크 드라이브(655)는 전형적으로 인터페이스(650)와 같은 착탈식 메모리 인터페이스에 의해 시스템 버스(621)에 접속된다.
도 6에 예시되며 위에서 논의된 드라이브들 및 그들의 연관된 컴퓨터 저장 매체는 컴퓨터(610)를 위한 컴퓨터 판독가능 명령어들, 데이터 구조들, 프로그램 모듈들 및 다른 데이터의 스토리지를 제공한다. 도 6에서, 예를 들어, 하드 디스크 드라이브(641)는 운영 체제(644), 애플리케이션 프로그램들(645), 다른 프로그램 모듈들(646) 및 프로그램 데이터(647)를 저장하는 것으로서 예시되어 있다. 이러한 컴포넌트들은 운영 체제(634), 애플리케이션 프로그램들(635), 다른 프로그램 모듈들(636) 및 프로그램 데이터(637)와 동일하거나 상이할 수 있다는 점에 유의한다. 여기서, 운영 체제(644), 애플리케이션 프로그램들(645), 다른 프로그램 모듈들(646) 및 프로그램 데이터(647)에는, 최소한도로 이들이 상이한 카피들이라는 것을 예시하기 위해서 상이한 번호들이 주어진다. 사용자는, 마우스, 트랙볼 또는 터치 패드로 일반적으로 지칭되는 포인팅 디바이스(661) 및 키보드(662)와 같은 입력 디바이스들을 통해 커맨드들 및 정보를 컴퓨터(610)에 입력할 수 있다. 다른 입력 디바이스들(도시되지 않음)은 마이크로폰, 조이스틱, 게임 패드, 위성 안테나(satellite dish), 스캐너 등을 포함할 수 있다. 이러한 입력 디바이스들 및 다른 입력 디바이스들은 종종 시스템 버스에 결합되는 사용자 입력 인터페이스(660)를 통해 처리 유닛(620)에 접속되지만, 병렬 포트, 게임 포트 또는 범용 직렬 버스(USB)와 같은 다른 인터페이스 및 버스 구조에 의해서도 접속될 수 있다. 모니터(691) 또는 다른 타입의 디스플레이 디바이스가 비디오 인터페이스(690)와 같은 인터페이스를 통해 시스템 버스(621)에 또한 접속된다. 모니터에 추가하여, 컴퓨터들은 스피커들(697) 및 프린터(696)와 같은 다른 주변 장치 출력 디바이스들을 또한 포함할 수 있으며, 이들은 출력 주변 장치 인터페이스(695)를 통해 접속될 수 있다.
컴퓨터(610)는 원격 컴퓨터(680)와 같은 하나 이상의 원격 컴퓨터에 대한 논리 접속들을 이용하여 네트워킹된 환경에서 동작할 수 있다. 원격 컴퓨터(680)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 디바이스 또는 다른 일반적인 네트워크 노드일 수 있고, 전형적으로 컴퓨터(610)에 대하여 위에서 설명된 많은 또는 모든 요소들을 포함하지만, 도 6에는 메모리 스토리지 디바이스(681)만이 예시되었다. 도 6에 도시된 논리 접속들은 로컬 영역 네트워크(LAN)(671) 및 광역 네트워크(WAN)(673)를 포함하지만, 다른 네트워크들도 또한 포함할 수 있다. 이러한 네트워킹 환경들은 사무실들, 엔터프라이즈 광역 컴퓨터 네트워크들, 인트라넷들 및 인터넷에서 흔하다.
LAN 네트워킹 환경에서 이용될 때, 컴퓨터(610)는 네트워크 인터페이스 또는 어댑터(670)를 통해 LAN(671)에 접속된다. WAN 네트워킹 환경에서 이용될 때, 컴퓨터(610)는 전형적으로 인터넷과 같은 WAN(673)을 통해 통신을 확립하기 위한 모뎀(672) 또는 다른 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(672)은 사용자 입력 인터페이스(660) 또는 다른 적절한 메커니즘을 통해 시스템 버스(621)에 접속될 수 있다. 네트워킹된 환경에서, 컴퓨터(610)에 대하여 도시된 프로그램 모듈들 또는 그것의 부분들은 원격 메모리 스토리지 디바이스에 저장될 수 있다. 제한이 아니라 예로서, 도 6은 원격 애플리케이션 프로그램들(685)을 메모리 디바이스(681) 상에 상주하는 것으로서 예시한다. 도시된 네트워크 접속들은 예시적이며, 컴퓨터들 사이에 통신 링크를 확립하는 다른 수단이 이용될 수 있다는 점이 인식될 것이다.
따라서, 본 발명의 적어도 하나의 실시예의 수개의 양태가 설명되었지만, 다양한 변경, 수정 및 개선이 본 기술분야의 통상의 기술자에게 손쉽게 일어날 것이라는 점이 인식되어야 한다.
예를 들어, 스토리지 디바이스의 소거는, 스토리지 디바이스의 디바이스 구성 오버레이 및/또는 호스트 보호 영역을 소거하는 것; 후속하여, 스토리지 디바이스의 하드 리셋을 수행하는 것; 및 후속하여, 스토리지 디바이스에 대해 보안 소거 동작을 개시하는 것을 포함하는 동작들을 순서대로 수반할 수 있다. 그러나, 하드 리셋은 SE 동작을 시행하려는 상이한 "시도들" 동안에(이러한 동작을 시행하려고 시도할 때), 그 이전이나 이후에 이루어질 수 있다. 추가적으로, 스토리지 디바이스의 보안 소거 동안, 소거를 보장하기 위해 이용되는 동작들의 다양한 조합들 및 순서들로 동일한 영역에 대해 다수의 시도가 이루어질 수 있다. 또한, 동작들의 상이한 조합들 및 순서들은 하드 드라이브의 상이한 HPA, DCO 및 다른 영역들에 대해 제기될 수 있다.
이러한 변경들, 수정들 및 개선들은 본 개시내용의 일부인 것으로 의도되며, 본 발명의 사상 및 범위 내에 있는 것으로 의도된다. 또한, 본 발명의 이점들이 표시되지만, 본 발명의 모든 실시예가 모든 설명된 이점을 포함하지는 않는다는 점이 인식되어야 한다. 일부 실시예들은 본 명세서에서 그리고 일부 경우에 유리한 것으로서 설명된 임의의 피처들을 구현하지 않을 수 있다. 따라서, 전술한 설명 및 도면들은 단지 예로서 이루어진다.
본 발명의 위에서 설명된 실시예들은 다수의 방식 중 임의의 방식으로 구현될 수 있다. 예를 들어, 이러한 실시예들은 하드웨어, 소프트웨어 또는 이들의 조합을 이용하여 구현될 수 있다. 소프트웨어로 구현될 때, 소프트웨어 코드는, 단일 컴퓨터에 제공되든지 또는 다수의 컴퓨터 사이에 분산되든지 간에, 임의의 적합한 프로세서 또는 프로세서들의 집합 상에서 실행될 수 있다. 이러한 프로세서들은 집적 회로들로서 구현될 수 있으며, 하나 이상의 프로세서는, CPU 칩들, GPU 칩들, 마이크로프로세서, 마이크로컨트롤러 또는 코프로세서와 같은 명칭들로 본 기술분야에 알려진 상업적으로 입수가능한 집적 회로 컴포넌트들을 포함하는 집적 회로 컴포넌트에 있다. 대안적으로, 프로세서는, ASIC과 같은 맞춤형 회로, 또는 프로그래머블 로직 디바이스를 구성하는 것으로부터 기인하는 반맞춤형 회로로 구현될 수 있다. 추가 대안으로서, 프로세서는, 상업적으로 입수가능하든지, 반맞춤형이든지 또는 맞춤형이든지 간에, 더 큰 회로 또는 반도체 디바이스의 일부일 수 있다. 특정 예로서, 일부 상업적으로 입수가능한 마이크로프로세서들은 다수의 코어를 갖고, 그에 의해 그러한 코어들 중 하나 또는 서브세트는 프로세서를 구성할 수 있다. 그렇지만, 프로세서는 임의의 적합한 포맷의 회로를 이용하여 구현될 수 있다.
또한, 컴퓨터는, 랙 장착 컴퓨터, 데스크톱 컴퓨터, 랩톱 컴퓨터 또는 태블릿 컴퓨터와 같이 다수의 형태 중 임의의 형태로 구현될 수 있다는 점이 인식되어야 한다. 추가적으로, 컴퓨터는, PDA(Personal Digital Assistant), 스마트폰, 또는 임의의 다른 적합한 휴대용 또는 고정형 전자 디바이스를 포함하여, 일반적으로 컴퓨터로 간주되지는 않지만 적합한 처리 능력들을 갖는 디바이스에 임베딩될 수 있다.
또한, 컴퓨터는 하나 이상의 입력 및 출력 디바이스를 가질 수 있다. 이러한 디바이스들은, 다른 것들 중에서, 사용자 인터페이스를 제시하기 위해 이용될 수 있다. 사용자 인터페이스를 제공하는데 이용될 수 있는 출력 디바이스들의 예들은 출력의 시각적 제시를 위한 프린터들이나 디스플레이 스크린들, 및 출력의 가청 제시를 위한 스피커들 또는 다른 사운드 발생 디바이스들을 포함한다. 사용자 인터페이스를 위해 이용될 수 있는 입력 디바이스들의 예들은 키보드들 및 포인팅 디바이스들, 예컨대 마우스들, 터치 패드들 및 디지타이징 태블릿들을 포함한다. 다른 예로서, 컴퓨터는 음성 인식을 통해 또는 다른 가청 포맷으로 입력 정보를 수신할 수 있다.
이러한 컴퓨터들은, 로컬 영역 네트워크 또는 광역 네트워크, 예컨대 엔터프라이즈 네트워크 또는 인터넷을 포함하여, 임의의 적합한 형태의 하나 이상의 네트워크에 의해 상호접속될 수 있다. 이러한 네트워크들은 임의의 적합한 기술에 기초할 수 있고, 임의의 적합한 프로토콜에 따라 동작할 수 있으며, 무선 네트워크들, 유선 네트워크들 또는 광섬유 네트워크들을 포함할 수 있다.
또한, 본 명세서에 개략 설명된 다양한 방법들 또는 프로세스들은 다양한 운영 체제들 또는 플랫폼들 중 임의의 하나를 이용하는 하나 이상의 프로세서 상에서 실행가능한 소프트웨어로서 코딩될 수 있다. 추가적으로, 이러한 소프트웨어는 다수의 적합한 프로그래밍 언어 및/또는 프로그래밍 또는 스크립팅 툴 중 임의의 것을 이용하여 작성될 수 있고, 또한 프레임워크 또는 가상 머신 상에서 실행되는 실행가능한 머신 언어 코드 또는 중간 코드(intermediate code)로서 컴파일링될 수 있다.
이 점에 있어서, 본 발명은, 하나 이상의 컴퓨터 또는 다른 프로세서들 상에서 실행될 때, 위에서 논의된 본 발명의 다양한 실시예들을 구현하는 방법들을 수행하는 하나 이상의 프로그램으로 인코딩된 컴퓨터 판독가능 저장 매체(또는 다수의 컴퓨터 판독가능 매체)(예를 들어, 컴퓨터 메모리, 하나 이상의 플로피 디스크, 컴팩트 디스크(CD), 광학 디스크, 디지털 비디오 디스크(DVD), 자기 테이프, 플래시 메모리, 필드 프로그래머블 게이트 어레이 또는 다른 반도체 디바이스에서의 회로 구성, 또는 다른 유형의 컴퓨터 저장 매체)로서 구현될 수 있다. 전술한 예들로부터 명백한 바와 같이, 컴퓨터 판독가능 저장 매체는 비일시적인 형태로 컴퓨터 실행가능 명령어들을 제공하기에 충분한 시간 동안 정보를 보유할 수 있다. 이러한 컴퓨터 판독가능 저장 매체 또는 매체들은 전송가능할 수 있고, 그에 의해 거기에 저장된 프로그램 또는 프로그램들은 위에서 논의된 바와 같은 본 발명의 다양한 양태들을 구현하기 위해 하나 이상의 상이한 컴퓨터 또는 다른 프로세서들 상에 로딩될 수 있다. 본 명세서에서 이용되는 바와 같이, "컴퓨터 판독가능 저장 매체"라는 용어는 제조물(즉, 제조 물품) 또는 머신으로 고려될 수 있는 컴퓨터 판독가능 매체만을 포괄한다. 대안적으로 또는 추가적으로, 본 발명은 전파 신호와 같이 컴퓨터 판독가능 저장 매체와는 다른 컴퓨터 판독가능 매체로서 구현될 수 있다.
"프로그램" 또는 "소프트웨어"라는 용어는, 위에서 논의된 바와 같은 본 발명의 다양한 양태들을 구현하도록 컴퓨터 또는 다른 프로세서를 프로그래밍하는데 이용될 수 있는 임의의 타입의 컴퓨터 코드 또는 컴퓨터 실행가능 명령어들의 세트를 지칭하기 위해 일반적인 의미로 본 명세서에서 이용된다. 추가적으로, 이 실시예의 일 양태에 따르면, 실행될 때 본 발명의 방법들을 수행하는 하나 이상의 컴퓨터 프로그램은 단일 컴퓨터 또는 프로세서 상에 상주할 필요는 없고, 본 발명의 다양한 양태들을 구현하기 위해 다수의 상이한 컴퓨터 또는 프로세서 사이에 모듈 방식으로 분산될 수 있다는 점이 인식되어야 한다.
컴퓨터 실행가능 명령어들은 하나 이상의 컴퓨터 또는 다른 디바이스들에 의해 실행되는 프로그램 모듈들과 같이 많은 형태로 이루어질 수 있다. 일반적으로, 프로그램 모듈들은, 특정 태스크들을 수행하거나 특정 추상 데이터 타입들을 구현하는 루틴들, 프로그램들, 오브젝트들, 컴포넌트들, 데이터 구조들 등을 포함한다. 전형적으로, 프로그램 모듈들의 기능성은 다양한 실시예들에서 요구되는 바와 같이 결합되거나 분산될 수 있다.
또한, 데이터 구조들은 임의의 적합한 형태로 컴퓨터 판독가능 매체에 저장될 수 있다. 예시의 단순성을 위해, 데이터 구조들은 데이터 구조에서의 위치를 통해 관련되는 필드들을 갖는 것으로 도시될 수 있다. 마찬가지로, 이러한 관계는 필드들 사이의 관계를 전달하는 컴퓨터 판독가능 매체에서의 위치들을 갖는 필드들에 대한 스토리지를 할당함으로써 달성될 수 있다. 그러나, 데이터 요소들 사이의 관계를 확립하는 포인터들, 태그들 또는 다른 메커니즘들의 이용을 통하는 것을 포함하여, 데이터 구조의 필드들에서의 정보 사이의 관계를 확립하는데 임의의 적합한 메커니즘이 이용될 수 있다.
본 발명의 다양한 양태들은 단독으로, 조합하여, 또는 전술한 내용에서 설명된 실시예들에 구체적으로 논의되지는 않은 다양한 배열들로 이용될 수 있으며, 따라서 그것의 애플리케이션에서는 전술한 설명에 제시되거나 도면들에 예시된 컴포넌트들의 배열 및 상세들로 제한되지는 않는다. 예를 들어, 일 실시예에 설명된 양태들은 다른 실시예들에 설명된 양태들과 임의의 방식으로 결합될 수 있다.
또한, 본 발명은 방법으로서 구현될 수 있으며, 이 방법의 예가 제공되었다. 이 방법의 일부로서 수행되는 동작들은 임의의 적합한 방식으로 순서화될 수 있다. 따라서, 동작들이 예시된 것과는 상이한 순서로 수행되는 실시예들이 구성될 수 있으며, 이는 예시적인 실시예들에서 순차적인 동작들로서 도시될 지라도 일부 동작들을 동시에 수행하는 것을 포함할 수 있다.
청구항 요소를 수식하기 위해 청구항들에서 "제1", "제2", "제3" 등과 같은 서수 용어들을 이용하는 것은 그것만으로 하나의 청구항 요소의 다른 청구항 요소에 대한 임의의 우선순위, 우선권 또는 순서, 또는 방법의 동작이 수행되는 시간 순서를 내포하지는 않으며, 청구항 요소들을 구별하기 위해 특정 명칭을 갖는 하나의 청구항 요소를 동일한 명칭을 갖는(그러나 서수 용어를 이용함) 다른 요소와 구별하는 라벨들로서 단지 이용된다.
또한, 본 명세서에서 이용되는 어구 및 용어는 설명을 위한 것이며, 제한하는 것으로 간주되어서는 안 된다. 본 명세서에서의 "포함하는(including)", "포함하는(comprising)", 또는 "갖는(having)", "포함하는(containing)", "수반하는(involving)" 및 그것의 변형들의 이용은 그 이후에 열거되는 항목들 및 그것의 등가물들뿐만 아니라 추가적인 항목들을 포괄하는 것을 의미한다.
인식되어야 하는 바와 같이, 일부 실시예들은, 컴퓨터에 의해 실행될 때, 컴퓨터가 방법을 수행하게 하는 컴퓨터 실행가능 명령어들로 인코딩된 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 이 방법은 실행가능한 데이터 소거 기술들(viable data erasure techniques)을 식별하는 단계; 보안 소거 동작이 지원될 때, 보안 소거 동작을 관리하기 위해 준비하는 단계; 및 보안 소거 동작을 개시하기 위해 소거기 디바이스로부터 스토리지 디바이스로 보안 소거 신호를 송신하는 단계를 포함할 수 있다.
추가 실시예들은, 컴퓨터에 의해 실행될 때, 컴퓨터가 스토리지 디바이스를 안전하게 소거하는 방법을 수행하게 하는 컴퓨터 실행가능 명령어들로 인코딩된 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 이 방법은 스토리지 디바이스의 디바이스 구성 오버레이 및/또는 호스트 보호 영역을 소거하는 단계; 후속하여, 스토리지 디바이스의 하드 리셋을 수행하는 단계; 및 후속하여, 스토리지 디바이스에 대해 보안 소거 동작을 개시하는 단계를 포함할 수 있다.
추가적인 실시예들은 보안 소거 동작을 완료하기 위한 방법을 포함할 수 있다. 이 방법은 실행가능한 데이터 소거 기술들을 식별하는 단계; 보안 소거 동작이 지원될 때, 보안 소거 동작을 관리하기 위해 준비하는 단계; 및 보안 소거 동작을 개시하기 위해 소거기 디바이스로부터 스토리지 디바이스로 보안 소거 신호를 송신하는 단계를 포함할 수 있다.
일부 실시예들에 따르면, 스토리지 디바이스는 고체 상태 메모리를 포함할 수 있다. 추가적으로, 스토리지 디바이스는 자기 디스크 메모리를 더 포함할 수 있다. 예를 들어, 스토리지 디바이스는, 자기 하드 디스크 메모리와 고체 상태 메모리(예를 들어, 빈번하게 이용되는 데이터를 위한 캐시로서 이용되는 NAND 플래시 메모리)를 결합하는 하이브리드 드라이브를 포함할 수 있으며, 이는 고체 상태 하이브리드 드라이브로 지칭될 수 있다.
일부 실시예들에 따르면, 보안 소거 신호를 송신하는 단계는, 버스를 통해 소거기 디바이스로부터 스토리지 디바이스로 보안 소거 신호를 송신하는 단계를 포함할 수 있다. 추가적으로, 버스는 소거기 디바이스를 스토리지 디바이스에 접속하도록 구성될 수 있다. 또한, 버스는 범용 직렬 버스를 포함할 수 있다.
일부 실시예들에 따르면, 보안 소거 동작을 관리하기 위해 준비하는 단계는, 스토리지 디바이스가 보안 소거 동작을 실행하는 동안에, 버스에 접속된 스토리지 디바이스, 및/또는 버스에 대한 액세스를 방지하는 단계를 포함할 수 있다.
대안적으로 또는 추가적으로, 보안 소거 동작을 관리하기 위해 준비하는 단계는 스토리지 디바이스로 하드 리셋 신호를 송신하는 단계를 포함할 수 있다. 추가적으로, 하드 리셋 신호는, 스토리지 디바이스가 스토리지 디바이스 상의 내부 상태 머신들 및/또는 스토리지 동작들을 중단하게 하고/하거나 리셋하게 하도록 구성될 수 있다.
대안적으로 또는 추가적으로, 보안 소거 동작을 관리하기 위해 준비하는 단계는 스토리지 디바이스로 하드 리셋 신호를 송신하는 단계를 포함할 수 있다. 추가적으로, 하드 리셋 신호는, 스토리지 디바이스가 스토리지 디바이스 상에서 전력을 사이클링하게 하도록 구성될 수 있다. 또한, 보안 소거 동작을 관리하기 위해 준비하는 단계는, 스토리지 디바이스로 하드 리셋 신호를 송신하기 이전에, 스토리지 디바이스로 숨겨진 영역 소거 신호를 송신하는 단계를 더 포함할 수 있다. 추가적으로, 숨겨진 영역 소거 신호는, 스토리지 디바이스가 스토리지 디바이스의 디바이스 구성 오버레이 및/또는 호스트 보호 영역을 소거하게 하도록 구성될 수 있다. 또한, 숨겨진 영역 소거 신호는, 스토리지 디바이스가 스토리지 디바이스의 시스템 영역 데이터를 보존하면서 스토리지 디바이스의 디바이스 구성 오버레이 및/또는 호스트 보호 영역을 소거하게 하도록 구성될 수 있다.
일부 실시예들에 따르면, 보안 소거 신호는 스토리지 디바이스의 하드웨어 레벨에서 기능할 수 있다. 하드웨어 레벨은 운영 체제 레벨 아래에 있을 수 있다.
일부 실시예들에 따르면, 소거기 디바이스는 보안 소거 신호 내의 데이터를 보존하도록 구성될 수 있고, 그에 의해 이 데이터는 소거기 디바이스의 기본 입/출력 시스템에 의해 변경되지 않은 채로 유지되는 보안 소거 동작을 위한 명령어들을 포함한다.
일부 실시예들에 따르면, 이 방법은, 보안 소거 동작을 관리하기 위해 준비한 이후에 그리고 보안 소거 신호를 송신하기 이전에, 스토리지 디바이스로 기입 신호를 송신하는 단계; 보안 소거 신호의 송신 및 보안 소거 동작의 완료 이후에, 스토리지 디바이스로 판독 신호를 송신하는 단계; 및 제2 데이터가 제1 데이터의 소거 상태를 나타내는 경우, 보안 소거 동작의 성공을 표시하는 피드백을 사용자에게 제공하는 단계를 더 포함할 수 있다. 추가적으로, 기입 신호는, 스토리지 디바이스가 스토리지 디바이스 상의 위치들에 제1 데이터를 기입하게 하도록 구성될 수 있다. 또한, 판독 신호는, 스토리지 디바이스가 이러한 위치들로부터 제2 데이터를 판독하게 하도록 구성될 수 있다.

Claims (20)

  1. 컴퓨터에 의해 실행될 때, 상기 컴퓨터가 방법을 수행하게 하는 컴퓨터 실행가능 명령어들로 인코딩된 컴퓨터 판독가능 저장 매체로서,
    상기 방법은,
    실행가능한 데이터 소거 기술들(viable data erasure techniques)을 식별하는 단계;
    보안 소거 동작이 지원될 때, 상기 보안 소거 동작을 관리하기 위해 준비하는 단계; 및
    상기 보안 소거 동작을 개시하기 위해 소거기 디바이스로부터 스토리지 디바이스로 보안 소거 신호를 송신하는 단계
    를 포함하는 컴퓨터 판독가능 저장 매체.
  2. 제1항에 있어서,
    상기 스토리지 디바이스는 고체 상태 메모리를 포함하는 컴퓨터 판독가능 저장 매체.
  3. 제2항에 있어서,
    상기 스토리지 디바이스는 자기 디스크 메모리를 더 포함하는 컴퓨터 판독가능 저장 매체.
  4. 제1항에 있어서,
    상기 보안 소거 신호를 송신하는 단계는, 버스를 통해 상기 소거기 디바이스로부터 상기 스토리지 디바이스로 상기 보안 소거 신호를 송신하는 단계를 포함하고, 상기 버스는 상기 소거기 디바이스를 상기 스토리지 디바이스에 접속하도록 구성되는 컴퓨터 판독가능 저장 매체.
  5. 제4항에 있어서,
    상기 버스는 범용 직렬 버스(universal serial bus)를 포함하는 컴퓨터 판독가능 저장 매체.
  6. 제4항에 있어서,
    상기 보안 소거 동작을 관리하기 위해 준비하는 단계는, 상기 스토리지 디바이스가 상기 보안 소거 동작을 실행하는 동안에,
    상기 버스에 접속된 상기 스토리지 디바이스, 및/또는
    상기 버스
    에 대한 액세스를 방지하는 단계를 포함하는 컴퓨터 판독가능 저장 매체.
  7. 제1항에 있어서,
    상기 보안 소거 동작을 관리하기 위해 준비하는 단계는 상기 스토리지 디바이스로 하드 리셋 신호를 송신하는 단계를 포함하고, 상기 하드 리셋 신호는, 상기 스토리지 디바이스가 상기 스토리지 디바이스 상의 내부 상태 머신들 및/또는 스토리지 동작들을 중단(interrupt)하게 하고/하거나 리셋하게 하도록 구성되는 컴퓨터 판독가능 저장 매체.
  8. 제1항에 있어서,
    상기 보안 소거 동작을 관리하기 위해 준비하는 단계는 상기 스토리지 디바이스로 하드 리셋 신호를 송신하는 단계를 포함하고, 상기 하드 리셋 신호는, 상기 스토리지 디바이스가 상기 스토리지 디바이스 상에서 전력을 사이클링하게 하도록 구성되는 컴퓨터 판독가능 저장 매체.
  9. 제8항에 있어서,
    상기 보안 소거 동작을 관리하기 위해 준비하는 단계는, 상기 스토리지 디바이스로 상기 하드 리셋 신호를 송신하기 이전에, 상기 스토리지 디바이스로 숨겨진 영역 소거 신호(hidden area erase signal)를 송신하는 단계를 더 포함하고, 상기 숨겨진 영역 소거 신호는, 상기 스토리지 디바이스가 상기 스토리지 디바이스의 디바이스 구성 오버레이(device configuration overlay) 및/또는 호스트 보호 영역(host protected area)을 소거하게 하도록 구성되는 컴퓨터 판독가능 저장 매체.
  10. 제9항에 있어서,
    상기 숨겨진 영역 소거 신호는, 상기 스토리지 디바이스가 상기 스토리지 디바이스의 시스템 영역 데이터를 보존하면서 상기 스토리지 디바이스의 상기 디바이스 구성 오버레이 및/또는 상기 호스트 보호 영역을 소거하게 하도록 구성되는 컴퓨터 판독가능 저장 매체.
  11. 제1항에 있어서,
    상기 보안 소거 신호는 스토리지 디바이스의 하드웨어 레벨에서 기능하고, 상기 하드웨어 레벨은 운영 체제 레벨 아래에 있는 컴퓨터 판독가능 저장 매체.
  12. 제1항에 있어서,
    상기 소거기 디바이스는 상기 보안 소거 신호 내의 데이터를 보존하도록 구성되고, 그에 의해 상기 데이터는 상기 소거기 디바이스의 기본 입/출력 시스템에 의해 변경되지 않은 채로 유지되는 상기 보안 소거 동작을 위한 명령어들을 포함하는 컴퓨터 판독가능 저장 매체.
  13. 제1항에 있어서,
    상기 방법은,
    상기 보안 소거 동작을 관리하기 위해 준비한 이후에 그리고 상기 보안 소거 신호를 송신하기 이전에, 상기 스토리지 디바이스로 기입 신호를 송신하는 단계 - 상기 기입 신호는, 상기 스토리지 디바이스가 상기 스토리지 디바이스 상의 위치들에 제1 데이터를 기입하게 하도록 구성됨 -;
    상기 보안 소거 신호의 송신 및 상기 보안 소거 동작의 완료 이후에, 상기 스토리지 디바이스로 판독 신호를 송신하는 단계 - 상기 판독 신호는, 상기 스토리지 디바이스가 상기 위치들로부터 제2 데이터를 판독하게 하도록 구성됨 -; 및
    상기 제2 데이터가 상기 제1 데이터의 소거 상태를 나타내는 경우, 상기 보안 소거 동작의 성공을 표시하는 피드백을 사용자에게 제공하는 단계
    를 더 포함하는 컴퓨터 판독가능 저장 매체.
  14. 컴퓨터에 의해 실행될 때, 상기 컴퓨터가 스토리지 디바이스를 안전하게 소거하는 방법을 수행하게 하는 컴퓨터 실행가능 명령어들로 인코딩된 컴퓨터 판독가능 저장 매체로서,
    상기 방법은,
    상기 스토리지 디바이스의 디바이스 구성 오버레이 및/또는 호스트 보호 영역을 소거하는 단계;
    후속하여, 상기 스토리지 디바이스의 하드 리셋을 수행하는 단계; 및
    후속하여, 상기 스토리지 디바이스에 대해 보안 소거 동작을 개시하는 단계
    를 포함하는 컴퓨터 판독가능 저장 매체.
  15. 제14항에 있어서,
    상기 스토리지 디바이스의 디바이스 구성 오버레이 및/또는 호스트 보호 영역을 소거하는 단계는, 상기 스토리지 디바이스의 시스템 영역 데이터를 보존하면서 상기 스토리지 디바이스의 상기 디바이스 구성 오버레이 및/또는 상기 호스트 보호 영역을 소거하는 단계를 포함하는 컴퓨터 판독가능 저장 매체.
  16. 보안 소거 동작을 완료하기 위한 방법으로서,
    실행가능한 데이터 소거 기술들을 식별하는 단계;
    상기 보안 소거 동작이 지원될 때, 상기 보안 소거 동작을 관리하기 위해 준비하는 단계; 및
    상기 보안 소거 동작을 개시하기 위해 소거기 디바이스로부터 스토리지 디바이스로 보안 소거 신호를 송신하는 단계
    를 포함하는 방법.
  17. 제16항에 있어서,
    상기 스토리지 디바이스는 고체 상태 메모리를 포함하는 방법.
  18. 제16항에 있어서,
    상기 보안 소거 신호를 송신하는 단계는, 버스를 통해 상기 소거기 디바이스로부터 상기 스토리지 디바이스로 상기 보안 소거 신호를 송신하는 단계를 포함하고, 상기 버스는 상기 소거기 디바이스를 상기 스토리지 디바이스에 접속하도록 구성되는 방법.
  19. 제16항에 있어서,
    상기 보안 소거 동작을 관리하기 위해 준비하는 단계는 상기 스토리지 디바이스로 하드 리셋 신호를 송신하는 단계를 포함하고, 상기 하드 리셋 신호는, 상기 스토리지 디바이스가 상기 스토리지 디바이스 상의 내부 상태 머신들 및/또는 스토리지 동작들을 중단하게 하고/하거나 리셋하게 하도록 구성되는 방법.
  20. 제16항에 있어서,
    상기 소거기 디바이스는 상기 보안 소거 신호 내의 데이터를 보존하도록 구성되고, 그에 의해 상기 데이터는 상기 소거기 디바이스의 기본 입/출력 시스템에 의해 변경되지 않은 채로 유지되는 상기 보안 소거 동작을 위한 명령어들을 포함하는 방법.
KR1020167032577A 2014-04-23 2015-04-23 보안 소거 동작을 완료하기 위한 방법 KR20170020324A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461983430P 2014-04-23 2014-04-23
US61/983,430 2014-04-23
PCT/US2015/027242 WO2015164576A1 (en) 2014-04-23 2015-04-23 Method for completing a secure erase operation

Publications (1)

Publication Number Publication Date
KR20170020324A true KR20170020324A (ko) 2017-02-22

Family

ID=54333168

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167032577A KR20170020324A (ko) 2014-04-23 2015-04-23 보안 소거 동작을 완료하기 위한 방법

Country Status (6)

Country Link
US (1) US10817211B2 (ko)
KR (1) KR20170020324A (ko)
CN (1) CN106716333B (ko)
MY (1) MY184342A (ko)
SG (2) SG10201809337SA (ko)
WO (1) WO2015164576A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG10201809337SA (en) 2014-04-23 2018-11-29 Ensconce Data Technology Llc Method for completing a secure erase operation
JP6875808B2 (ja) * 2016-09-09 2021-05-26 キヤノン株式会社 情報処理装置
US10536538B2 (en) * 2016-09-16 2020-01-14 Microsoft Technology Licensing, Llc Secure data erasure verification in hyperscale computing systems
US20180082066A1 (en) * 2016-09-16 2018-03-22 Microsoft Technology Licensing, Llc Secure data erasure in hyperscale computing systems
GB201701747D0 (en) * 2017-02-02 2017-03-22 Blancco Tech Group Ip Oy Intelligent verification of cryptographic erase and other firmware erasure processes
US11113227B2 (en) * 2019-04-10 2021-09-07 Steven Bress Erasing device for long-term memory devices
US11531498B2 (en) * 2020-11-20 2022-12-20 Western Digital Technologies, Inc. Peer storage device messaging over control bus
KR20240020846A (ko) * 2022-08-09 2024-02-16 박종성 단말장치 및 이를 이용한 데이터를 복구 불가능하게 삭제하는 방법

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621687A (en) * 1995-05-31 1997-04-15 Intel Corporation Programmable erasure and programming time for a flash memory
US20020133702A1 (en) * 2001-03-16 2002-09-19 Stevens Curtis E. Methods of granting access to a protected area
JP2004030438A (ja) * 2002-06-27 2004-01-29 Renesas Technology Corp マイクロコンピュータ
US7904583B2 (en) * 2003-07-11 2011-03-08 Ge Fanuc Automation North America, Inc. Methods and systems for managing and controlling an automation control module system
JP2005149715A (ja) * 2003-11-13 2005-06-09 Samsung Electronics Co Ltd Otpブロックが含まれたフラッシュメモリを有するメモリシステム
KR100604833B1 (ko) 2004-02-18 2006-07-26 삼성전자주식회사 기록 매체의 데이터 보안 소거 방법 및 이를 이용한디스크 드라이브
JP2005275812A (ja) * 2004-03-24 2005-10-06 Canon Inc 情報処理装置及びその制御方法、並びに制御プログラム及び記憶媒体
US7502256B2 (en) 2004-11-30 2009-03-10 Siliconsystems, Inc. Systems and methods for reducing unauthorized data recovery from solid-state storage devices
US20070180204A1 (en) * 2005-01-31 2007-08-02 Wilson Christopher S Method and system of erasing data pool residing over multiple data storage drives
US8006050B2 (en) * 2007-04-19 2011-08-23 International Business Machines Corporation System for determining allocation of tape drive resources for a secure data erase process
US9207876B2 (en) * 2007-04-19 2015-12-08 Microsoft Technology Licensing, Llc Remove-on-delete technologies for solid state drive optimization
US8001340B2 (en) * 2007-04-19 2011-08-16 International Business Machines Corporation Method for determining allocation of tape drive resources for a secure data erase process
CN101842129B (zh) * 2007-08-30 2013-10-23 K·巴斯卡 喉罩
US20100138588A1 (en) * 2008-12-02 2010-06-03 Silicon Storage Technology, Inc. Memory controller and a method of operating an electrically alterable non-volatile memory device
US20100217751A1 (en) * 2009-02-25 2010-08-26 Comodo Security Solutions, Inc. Method and system for safely deleting information from a computer
US8321956B2 (en) * 2009-06-17 2012-11-27 Microsoft Corporation Remote access control of storage devices
JP5538970B2 (ja) 2010-03-25 2014-07-02 キヤノン株式会社 情報処理装置、データ処理方法、プログラム
US9436831B2 (en) * 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
SG10201809337SA (en) 2014-04-23 2018-11-29 Ensconce Data Technology Llc Method for completing a secure erase operation

Also Published As

Publication number Publication date
MY184342A (en) 2021-04-01
CN106716333A (zh) 2017-05-24
US20150309925A1 (en) 2015-10-29
SG11201608791UA (en) 2016-11-29
WO2015164576A1 (en) 2015-10-29
SG10201809337SA (en) 2018-11-29
US10817211B2 (en) 2020-10-27
CN106716333B (zh) 2020-01-17

Similar Documents

Publication Publication Date Title
US10817211B2 (en) Method for completing a secure erase operation
US9898368B1 (en) Computing device with recovery mode
TWI559167B (zh) 統一可延伸韌體介面(uefi)相容計算裝置和用於在uefi相容計算裝置中管控一安全啓動之方法
US8122256B2 (en) Secure bytecode instrumentation facility
CN103718165B (zh) Bios闪存攻击保护和通知
US7290276B2 (en) Information processing apparatus for secure information recovery
US20140115316A1 (en) Boot loading of secure operating system from external device
US20080155216A1 (en) Protection and Recovery System for Automatic Disk Recovery
CN103262092B (zh) 基于存储驱动器的防恶意软件方法和装置
US20090138969A1 (en) Device and method for blocking autorun of malicious code
CN101373437A (zh) 通过嵌入式控制器访问安全存储设备而增强系统安全
US20160004648A1 (en) Data erasing apparatus, data erasing method, and computer-readable storage medium
CN102385671A (zh) 软件加密方法及系统
JP5319830B2 (ja) データ保護方法とコンピュータ装置
CN109214204B (zh) 数据处理方法和存储设备
KR101769714B1 (ko) Bad usb 활성화 방지 시스템 및 방법
CN110096882B (zh) 一种设备运行过程中的安全度量方法
US20030051125A1 (en) Method and device for safeguarding a digital process device
TW201305842A (zh) 在儲存裝置上即時監控檔案系統以維護安全的方法與裝置
CN104361298A (zh) 信息安全保密的方法和装置
JP2006146358A (ja) Usb周辺機器制御システム、及びusb周辺機器制御方法
JP2018139025A (ja) データ消去方法、データ消去プログラム、データ消去プログラムを備えたコンピュータおよびデータ消去管理サーバ
JP2010146401A (ja) 制御支援システム、情報処理装置及びコンピュータプログラム
KR20090054359A (ko) 악성코드 자동실행 차단 장치 및 방법
US9280666B2 (en) Method and electronic device for protecting data