KR102415330B1 - 스토리지 장치의 동작 방법 및 시스템 - Google Patents

스토리지 장치의 동작 방법 및 시스템 Download PDF

Info

Publication number
KR102415330B1
KR102415330B1 KR1020180002312A KR20180002312A KR102415330B1 KR 102415330 B1 KR102415330 B1 KR 102415330B1 KR 1020180002312 A KR1020180002312 A KR 1020180002312A KR 20180002312 A KR20180002312 A KR 20180002312A KR 102415330 B1 KR102415330 B1 KR 102415330B1
Authority
KR
South Korea
Prior art keywords
authentication
storage device
address
random
host device
Prior art date
Application number
KR1020180002312A
Other languages
English (en)
Other versions
KR20190084492A (ko
Inventor
홍희석
오승준
임세민
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020180002312A priority Critical patent/KR102415330B1/ko
Priority to CN201811566898.3A priority patent/CN110018972A/zh
Priority to US16/239,676 priority patent/US11250121B2/en
Publication of KR20190084492A publication Critical patent/KR20190084492A/ko
Application granted granted Critical
Publication of KR102415330B1 publication Critical patent/KR102415330B1/ko

Links

Images

Classifications

    • 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/1458Protection against unauthorised use of memory or access to memory by checking the subject access 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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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
    • 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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

본 개시의 기술적 사상의 일측면에 따른 중간 변환 장치를 통해 호스트 장치와 연결되는 스토리지 장치의 동작 방법으로서, 인증 동작을 수행하는 인증 모드로 진입하는 단계, 및 인증 동작을 수행하는 단계를 포함하고, 인증 동작을 수행하는 단계는, 호스트 장치로부터 독출 커맨드 및 제1 랜덤 인증 어드레스를 수신하는 단계, 제1 랜덤 인증 어드레스 중 적어도 일부에 기초하여, 인증 알고리즘을 수행하는 단계, 및 인증 알고리즘을 수행한 결과 데이터를 생성하는 단계를 포함할 수 있다.

Description

스토리지 장치의 동작 방법 및 시스템{Operating Method And System For Storage Device}
본 개시의 기술적 사상은 스토리지 장치의 동작 방법 및 시스템에 관한 것으로, 특히 중간 변환 장치를 통해 호스트 장치와 연결되는 스토리지 장치의 동작 방법 및 시스템에 관한 것이다.
스토리지 시스템(storage system)은 호스트 장치와 스토리지 장치(storage device)로 구성되며, 스토리지 장치는 예를 들어, 데이터를 저장하거나 메모리의 확장 등에 사용되는 메모리 카드를 포함할 수 있다. 메모리 카드의 종류로는 메모리 스틱(MS), 멀티미디어(MMC), XD 픽쳐(XD), 시큐어 디지털(SD), 컴팩트 플래쉬(CF), 스마트 미디어(SMC), 마이크로 드라이브(MD) 등이 있다.
이러한 스토리지 장치들은 그 자체의 특정한 표준 규약에 따라야만 하기 때문에, 사용하는 스토리지 장치에 따라 전용 카드 리더기 또는 멀티형 카드 리더기와 같은 중간 변환 장치를 사용할 수 있다. 중간 변환 장치는 스토리지 장치로/로부터 데이터를 입출력할 수 있다. 따라서, 중간 변환 장치를 통해 스토리지 장치와 호스트 장치가 연결되는 경우에 호스트 장치에서 스토리지 장치의 부가 기능을 인식할 수 있는 방법이 필요하다.
본 개시의 기술적 사상이 해결하려는 과제는, 중간 변환 장치를 통해 호스트 장치와 연결되는 스토리지 장치의 동작 방법 및 스토리지 장치를 인증하는 시스템을 제공하는 데에 있다.
본 개시의 기술적 사상의 일측면에 따른 중간 변환 장치를 통해 호스트 장치와 연결되는 스토리지 장치의 동작 방법으로서, 인증 동작을 수행하는 인증 모드로 진입하는 단계, 및 인증 동작을 수행하는 단계를 포함하고, 인증 동작을 수행하는 단계는, 호스트 장치로부터 독출 커맨드 및 제1 랜덤 인증 어드레스를 수신하는 단계, 제1 랜덤 인증 어드레스 중 적어도 일부에 기초하여, 인증 알고리즘을 수행하는 단계, 및 인증 알고리즘을 수행한 결과 데이터를 생성하는 단계를 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따른 중간 변환 장치를 통해 호스트 장치와 연결되는 스토리지 장치의 동작 방법으로서, 인증 동작을 수행하는 인증 모드로 진입하는 단계, 및 인증 동작을 수행하는 단계를 포함하고, 인증 동작을 수행하는 단계는, 호스트 장치로부터 기입 커맨드 및 제1 랜덤 인증 어드레스를 수신하는 단계, 제1 랜덤 인증 어드레스 중 적어도 일부에 기초하여, 인증 알고리즘을 수행하는 단계, 및 인증 알고리즘을 수행한 결과 데이터를 생성하는 단계를 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따른 인증 모드에서 인증 동작을 수행하는 스토리지 장치, 및 스토리지 장치에서 수행되는 인증 동작을 실행시키는 프로그램이 내장되고, 스토리지 장치와 연결되는 중간 변환 장치를 포함하는 호스트 장치를 포함하고, 인증 모드에서 상기 스토리지 장치는, 호스트 장치로부터 독출 커맨드 및 랜덤 인증 어드레스를 수신하고, 랜덤 인증 어드레스 중 적어도 일부에 기초하여 인증 알고리즘을 수행하며, 인증 알고리즘을 수행한 결과 데이터를 생성할 수 있다.
본 개시의 일 실시예에 따른 스토리지 장치의 동작 방법 및 스토리지 장치를 인증하는 시스템에 따르면, 스토리지 장치는 인증 동작에 별도의 저장 용량을 요구하지 않고, 쓰기 방지(write protect)가 설정된 경우에도 인증 동작이 수행 가능하다. 스토리지 장치는 프로그램에 의해 제조 업체가 독자적으로 지원하는 특별한 기능을 수행하므로, 제품 차별화를 통해 저장 장치의 판매를 증진시킬 수 있다.
도 1은 본 개시의 예시적 실시예에 따른 시스템을 개략적으로 나타내는 블록도이다.
도 2는 본 개시의 예시적 실시예에 따른 스토리지 장치를 나타내는 블록도이다.
도 3은 본 개시의 예시적 실시예에 따른 스토리지 장치를 인증하는 시스템의 동작을 설명하는 순서도이다.
도 4는 본 개시의 예시적 실시예에 따른 시스템에 포함된 스토리지 장치의 동작을 설명하는 순서도이다.
도 5는 본 개시의 예시적 실시예에 따른 시스템에 포함된 호스트 장치의 동작을 설명하는 순서도이다.
도 6는 본 개시의 예시적 실시예에 따른 시스템의 동작을 설명하는 순서도이다.
도 7는 본 개시의 예시적 실시예에 따른 시스템의 동작 방법을 설명하는 순서도이다.
도 8은 본 개시의 예시적 실시예에 따른 시스템의 동작 방법을 설명하는 순서도이다.
도 9는 본 개시의 예시적 실시예에 따른 시스템의 동작 방법을 설명하는 순서도이다.
도 10은 본 개시의 예시적 실시예에 따른 시스템에 포함된 호스트 장치의 동작을 설명하는 순서도이다.
도 11은 본 개시의 예시적 실시예에 따른 시스템의 동작 방법을 설명하는 순서도이다.
도 12는 본 개시의 예시적 실시예에 따른 시스템의 동작 방법을 설명하는 순서도이다.
도 13은 본 개시의 예시적 실시예에 따른 시스템의 동작 방법을 설명하는 순서도이다.
도 1은 본 개시의 예시적 실시예에 따른 시스템을 개략적으로 나타내는 블록도이다.
도 1을 참조하면, 스토리지 장치(300)를 인증하는 시스템(10)은 호스트 장치(100), 중간 변환 장치(Intermediate Converter, 200), 중간 변환 장치(140)를 통해 연결되는 호스트 장치(100)와 연결되는 스토리지 장치(300)를 포함한다.
호스트 장치(100)는 CPU(Central Processing Unit, 110), 메인 메모리(120), 사용자 인터페이스(130) 및 중간 변환 장치(140)를 포함할 수 있다. CPU(110)는 호스트 장치(100)의 제반 동작을 제어하고, 논리 연산을 수행할 수 있다. 예를 들어, CPU(110)는 범용 프로세서, 특수 목적 프로세서 등을 포함할 수 있다.
메인 메모리(120)는 CPU(110)의 동작 메모리일 수 있다. 메인 메모리(120)는 CPU(110)에 의해 구동되는 코드들 및 데이터를 저장할 수 있다. 메인 메모리(120)는 랜덤 액세스 메모리(RAM)일 수 있다. 메인 메모리(120)는 DRAM, SRAM, SDRAM 등과 같은 휘발성 랜덤 액세스 메모리를 포함할 수 있다. 메인 메모리(120)는 FRAM, PRAM, MRAM, RRAM 등과 같은 비휘발성 랜덤 액세스 메모리를 포함할 수 있다.
CPU(110)에 의해 실행되는 프로그램(121)이 메인 메모리(120)에 저장될 수 있다. 프로그램(121)은 스토리지 장치(300)에서 제공하는 특별한 부가 기능을 실행시키는 프로그램으로, 일 실시예에서, 스토리지 장치(300)와 호스트 장치(100)가 서로 인증 단계를 수행할 수 있도록 프로그램(121)은 스토리지 장치(300)의 인증 기능을 실행시킬 수 있다. 본 개시의 예시적 실시예에 따른 시스템(10)에 있어서, 스토리지 장치(300)를 인증하기 위해 프로그램(121)은 미리 약속된 섹터 어드레스들을 스토리지 장치(300)로 순차적으로 출력할 수 있다. 상기 섹터 어드레스들은 중간 변환 장치(140)를 통해 스토리지 장치(300)로 전송되고, 스토리지 장치(300)는 인증 동작을 수행하는 인증 모드로 진입할 수 있다. 스토리지 장치(300)가 인증 모드로 진입하면, 인증 알고리즘을 수행한 결과 데이터를 호스트 장치(100)으로 전송하고, 프로그램(121)은 상기 결과 데이터에 기초하여, 스토리지 장치(300)에 대한 인증 동작의 성공 여부를 확인할 수 있다.
사용자 인터페이스(130)는 CPU(110)의 제어에 따라 사용자와 통신할 수 있다. 예를 들어, 사용자 인터페이스(130)는 키보드, 키패드, 버튼, 터치 패널, 터치 스크린, 터치 패드, 터치 볼, 카메라, 마이크, 자이로스코프 센서, 진동 센서, 등과 같은 사용자 입력 인터페이스들을 포함할 수 있다. 사용자 인터페이스(130)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diode) 표시 장치, AMOLED (Active Matrix OLED) 표시 장치, LED, 스피커, 모터 등과 같은 사용자 출력 인터페이스들을 포함할 수 있다.
중간 변환 장치(140)는 스토리지 장치(300)를 판독하고, 스토리지 장치(300)에 저장되어 있는 정보를 판독한다. 중간 변환 장치(140)에 연결되는 스토리지 장치(300)로는, 메모리 스틱(MS), 멀티미디어 카드(MMC), XD 픽쳐(XD), 시큐어 디지털 카드(SD), 컴팩트 플래쉬(CF), 스마트 미디어 카드(SMC), 마이크로 드라이브(MD), 솔리드 스테이트 드라이브(SSD), UFS(Universal Flash card) 및 USB(Universal Serial Bus Drive) 등이 사용될 수 있다.
스토리지 장치(300)는 해당 제조 업체에서 독자적으로 지원하는 특별한 기능을 수행하는 데, 호스트 장치(100)에 의해 스토리지 장치(300)가 인증된 후 프로그램(121)에 의해 그 기능이 실행될 수 있다. 스토리지 장치(300)는 인증 모드로 진입하기 위해 프로그램(121)과 약속된 섹터 어드레스들을 순차적으로 수신할 수 있다. 스토리지 장치(300)는 프로그램(121)에 의해 요청되는 인증 알고리즘을 실행하는 펌웨어를 포함할 수 있다.
도 2는 본 개시의 예시적 실시예에 따른 스토리지 장치를 나타내는 블록도이다.
도 2를 참조하면, 스토리지 장치(300)는 호스트 인터페이스(310), 프로세서(320), 로컬 메모리(230) 및 비휘발성 메모리(340)를 포함할 수 있다.
비휘발성 메모리(340)는 플래시 메모리, FRAM(Ferroelectrics Random Access Memory), PRAM(Phase-change Random Access Memory), MRAM(Magnetic Random Access Memory), RRAM(Resistive Random Access Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory) 등을 포함할 수 있다. 프로세서(320)는 호스트 인터페이스(310)를 통해 수신되는 커맨드 및 어드레스에 응답하여, 비휘발성 메모리(340)에 액세스할 수 있다.
로컬 메모리(330)는 프로세서(320)의 동작 메모리일 수 있다. 로컬 메모리(330)는 버퍼 메모리 또는 캐시 메모리일 수 있다. 로컬 메모리(330)는 SRAM, DRAM, SDRAM, FRAM, PRAM, MRAM, RRAM 등과 같은 휘발성 또는 비휘발성 랜덤 액세스 메모리를 포함할 수 있다.
호스트 인터페이스(310)는 호스트(HOST)와의 통신을 중개할 수 있다. 프로세서(320)는 호스트 인터페이스(310)를 통해 정상 커맨드 및 어드레스를 수신하고, 수신된 커맨드 및 어드레스에 따라 비휘발성 메모리(340)에 액세스할 수 있다. 프로세서(320)는 호스트 인터페이스(310)를 통해, 미리 정해진 규칙에 따른 커맨드 및 어드레스들을 수신하고, 수신된 커맨드 및 어드레스들에 응답하여 특수 동작을 수행할 수 있다. 프로세서(320)는 미리 약속된 섹터 어드레스들이 순차적으로 수신되면, 인증 모드로 진입할 수 있다. 프로세서(320)는 인증 모드에서 인증 알고리즘을 수행할 수 있고, 인증 알고리즘을 수행한 결과를 호스트 인터페이스(310)를 통해 호스트로 출력할 수 있다. 스토리지 장치(300)는 인증 알고리즘을 수행하는 펌웨어를 포함할 수 있고, 프로세서(320)는 상기 펌웨어를 실행함으로써 인증 알고리즘을 수행할 수 있다. 다만, 인증 알고리즘은 펌웨어로 구현되는 것에 한정되지 않으며, 별도의 하드 웨어로 구현될 수도 있다.
본 개시의 예시적 실시예에 따른 시스템(10)에 포함된 스토리지 장치(300)는 일반 모드 또는 인증 모드로 설정될 수 있다. 일반 모드에서는 호스트(HOST)로부터 수신되는 커맨드에 의해 요청되는 동작을 수행할 수 있다. 예를 들어, 호스트(HOST)로부터 독출 커맨드 및 어드레스가 수신되면, 어드레스에 대응되는 메모리 영역의 데이터를 독출하여, 호스트(HOST)로 출력할 수 있다. 호스트(HOST)로부터 기입 커맨드 및 어드레스가 수신되면, 기입 커맨드와 함께 수신되는 데이터를, 어드레스에 대응되는 메모리 영역에 기입할 수 있다.
반면, 스토리지 장치(300)가 인증 모드로 설정되는 경우에는, 인증 동작을 수행할 수 있다. 예를 들면, 스토리지 장치(300)는 커맨드(독출 커맨드 또는 기입 커맨드)와 함께 수신되는 랜덤 인증 어드레스를, 인증 알고리즘을 수행하기 위한 데이터로 사용할 수 있다. 일 실시예에서, 스토리지 장치(300)는 인증 모드에서 독출 커맨드 또는 기입 커맨드가 수신되어도, 일반 모드와 달리 비휘발성 메모리(340)에 대한 독출 동작 또는 기입 동작을 수행하지 않을 수 있다.
도 3은 본 개시의 예시적 실시예에 따른 스토리지 장치를 인증하는 시스템의 동작을 설명하는 순서도이다.
도 1 및 도 3을 참조하면, 스토리지 장치(300)는 인증 동작을 수행하는 인증 모드로 진입(S10)하게 되면, 인증 동작을 수행(S20)할 수 있다. 스토리지 장치(300)는 일반 모드 또는 인증 모드로 설정될 수 있고, 각 모드에 따라 호스트 장치(100)로부터 수신되는 커맨드 및 어드레스의 처리 방식이 달라질 수 있다. 스토리지 장치(300)는 일반 모드로 동작하던 중, 사용자의 제어에 따라 인증 모드로 진입할 수도 있고, 또는, 중간 변환 장치(140)와 연결된 후 사용자의 제어에 따라 인증 모드로 진입할 수 있다.
호스트 장치(100)는 스토리지 장치(300)가 인증 모드로 진입(S10)하면, 독출 커맨드 및 랜덤 인증 어드레스를 전송(S210)할 수 있다. 스토리지 장치(300)는 인증 모드(S20)에서, 독출 커맨드 및 랜덤 인증 어드레스를 수신(S110)할 수 있다. 랜덤 인증 어드레스는 정해진 특정 값이 아니며, 랜덤한 값을 가질 수 있다.
스토리지 장치(300)는 인증 알고리즘을 수행할 수 있다(S120). 예를 들어, 수신된 랜덤 인증 어드레스 중 적어도 일부를, 인증 알고리즘을 수행하기 위한 데이터로 이용하여, 인증 알고리즘을 수행할 수 있다. 스토리지 장치(300)는 인증 알고리즘을 수해함으로써 결과 데이터를 생성할 수 있다.
일 실시예에서, 스토리지 장치(300)는 인증 모드(S20)에서는 독출 커맨드 또는 기입 커맨드가 수신되어도, 그에 따른 동작을 수행하지 않을 수 있다. 스토리지 장치(300)는 커맨드와 함께 수신된 랜덤 인증 어드레스를 이용하여, 인증 동작을 수행할 수 있다. 본 도면에서는, 독출 커맨드가 수신되는 경우에 대해서 설명하고 있으나, 본 개시에 따른 시스템은 이에 한정되지 않으며, 도 8 등에서 기입 커맨드가 수신되는 경우에 대해서 후술하겠다.
인증을 위한 내부의 인증 알고리즘은 예를 들어, HMAC(Hash-based Message Authentication Code), RSA(Rivest-Shamir-Adleman), Custom Algorithm, RSA(Rivest?Shamir?Adleman), DSA(Digital Signature Algorithm), ECDSA(Elliptic Curve Digital Signature Algorithm), CBC-MAC(cipher block chaining message authentication code), MD5, SHA256(Secure Hash Algorithm-256), HAS160(Hash Algorithm Standard 160), SEED, 또는 CRYPTON과 같은 다양한 공개 또는 비공개 알고리즘이 사용될 수 있으며, 본 개시에 따른 시스템은 인증 알고리즘의 종류에 한정되지 않는다.
일 실시예에서, 스토리지 장치(300)는 독출 커맨드 및 랜덤 인증 어드레스를 복수회 수신할 수 있다. 스토리지 장치(300)가 독출 커맨드 및 랜덤 인증 어드레스를 수신하는 횟수는 인증 알고리즘을 수행하기 위해 필요한 데이터의 비트 수에 따라 달라질 수 있다. 스토리지 장치(300)가 독출 커맨드 및 랜덤 인증 어드레스를 복수회 수신하는 경우에 대해서는 도 7 등에서 후술하겠다.
스토리지 장치(300)는 인증 알고리즘을 수행한 결과에 따른 결과 데이터를 출력(S130)할 수 있다. 결과 데이터는 호스트 장치(100)로 전송될 수 있다.
호스트 장치(100)는 결과 데이터를 수신할 수 있고, 호스트 장치(100)는 결과 데이터를 기초로, 인증이 성공 여부를 판단(S220)할 수 있다. 호스트 장치(100)는 스토리지 장치(300)와 동일한 내부 인증 알고리즘을 포함할 수 있으며, 내부 인증 알고리즘을 수행한 결과와 수신된 결과 데이터를 비교하여, 스토리지 장치(300)의 인증 동작의 성공 여부를 판단할 수 있다. 호스트 장치(100)의 프로그램(121)은 결과 데이터에 기초하여, 정해진 방식대로 인증 동작이 수행되었는지를 판단할 수 있다.
본 개시에 따른 스토리지 장치를 인증하는 시스템(10)에 따르면, 스토리지 장치(300)에 독출 커맨드를 전송하여 인증 동작을 수행하므로, 기입 커맨드 및 기입 데이터를 전송함으로써 인증 동작을 수행하는 경우와 달리, 스토리지 장치(300)의 비휘발성 메모리(예를 들어, 도 2의 340)에 인증 동작을 수행하기 위한 추가적인 저장 용량을 요구하지 않는다. 따라서, 스토리지 장치(300)의 비휘발성 메모리가 풀(Full)인 상태에서도 시스템(10)은 인증 동작이 가능하다.
또한, 독출 커맨드를 이용하여 인증 동작을 수행하므로, 스토리지 장치(300)에 쓰기 방지(write protect)가 설정된 경우에도 스토리지 장치(300)는 인증 동작을 수행할 수 있다.
도 4는 본 개시의 예시적 실시예에 따른 시스템의 동작을 설명하는 순서도로서, 도 3의 인증 모드 진입 단계(S10)의 일 실시예를 설명하기 위한 순서도이다. 본 도면은 스토리지 장치의 동작을 구체적으로 설명하기 위한 도면이다. 일 실시예에서, 인증 모드 진입 단계(S10)는 사용자가 사용자 인터페이스(예를 들어, 도 1의 130)를 통해 인증 모드가 수행되도록 요청한 경우에 수행될 수 있고, 또 다른 일 실시예에서는, 인증 모드 진입 단계(S10)는 스토리지 장치(예를 들어, 도 1의 300)가 중간 변환 장치(예를 들어, 도 1의 140)와 연결된 후, 사용자의 제어에 따라 수행될 수도 있다.
도 1 및 도 4를 참조하면, 인증 모드 진입 단계(S10)에서, 스토리지 장치(300)는 중간 변환 장치(140)를 통해 커맨드 및 제n 어드레스를 수신(S12)할 수 있다. 이 때, n은 1부터 k까지의 자연수일 수 있다. k는 2 이상의 자연수 일 수 있다. 따라서, 인증 모드 진입 단계(S10)가 시작되면, 스토리지 장치(300)는 커맨드 및 제1 어드레스를 수신(S11)할 수 있다.
스토리지 장치(300)는 수신된 커맨드가 독출 커맨드인지 확인(S13)할 수 있다. 수신된 커맨드가 독출 커맨드인 경우에는, 스토리지 장치(300)는 제n 어드레스가 인증 모드로 진입하기 위한 n번째 제n 섹터 어드레스와 일치하는지 확인(S14)할 수 있다. 제n 어드레스와 제n 섹터 어드레스가 서로 일치하는 경우에는, n이 k와 일치하는지 확인(S16)할 수 있고, n이 k와 일치하지 않으면, S17단계에서, n 대신 n+1에 대하여 S12단계, S13단계, S14단계 및 S16단계를 다시 수행할 수 있다.
예를 들어, 스토리지 장치(300)는 제1 어드레스가 인증 모드 진입 단계의 시작을 약속한 제1 섹터 어드레스와 일치되는 경우에는, 이어서 커맨드 및 제2 어드레스를 수신할 수 있다. 스토리지 장치(300)는 제2 어드레스가 인증 모드로 진입하기 위한 2번째인 제2 섹터 어드레스와 일치하는지 확인할 수 있다.
일 실시예에서, 인증 모드로 진입하기 위하여, 호스트 장치(100)와 스토리지 장치(300)는 스토리지 장치(300) 내 소정의 제1 내지 제k 섹터 어드레스들을 약속하고 있는 것으로 설정될 수 있다. 따라서, 스토리지 장치(300)는 호스트 장치(100)으로부터 연속적으로 수신되는 제1 내지 제k 어드레스들이, 인증 모드로 진입하기 위해 필요한 소정의 제1 내지 제k 섹터 어드레스들과 일치하는지 순차적으로 확인할 수 있다. k번째 입력되는 제k 어드레스가 제k 섹터 어드레스와 일치하는 경우에는, 스토리지 장치(300)는 인증 모드에서 인증 동작을 수행(S20)할 수 있다. 이 때, 제k 어드레스는 스토리지 장치(300)가 인증 모드로 진입하기 위해 수신해야 하는 어드레스 중 가장 마지막 어드레스일 수 있다.
수신된 커맨드가 독출 커맨드가 아닌 기입 커맨드인 경우, 또는, 수신된 제n 어드레스가 인증 모드로 진입하기 위한 n번째 섹터 어드레스와 일치하지 않는 경우에는, 인증 모드 진입을 위한 상태가 리셋(S15)될 수 있다. 따라서, 스토리지 장치(300)는 이후에 수신되는 어드레스가 제1 섹터 어드레스와 일치하는지 확인하여, 인증 모드 진입 단계(S10)를 다시 시작할 수 있다.
스토리지 장치(300)는 독출 커맨드 및 제1 내지 제k 어드레스가 수신되는 동안, 제1 내지 제k 어드레스에 각각 대응되는 제1 내지 제k 메모리 영역에 저장된 데이터가 있는 경우에는, 제1 내지 제k 메모리 영역에 각각 저장된 제1 내지 제k 데이터를 출력할 수 있다. 출력된 제1 내지 제k 데이터는 호스트 장치(100)으로 전송될 수 있다.
도 5는 본 개시의 예시적 실시예에 따른 시스템의 동작을 설명하는 순서도이다. 도 5는 도 4에서, 가장 마지막 어드레스인 제k 어드레스를 수신하고, 제k 어드레스가 제k 섹터 어드레스와 일치되는 경우에 수행되는 단계에 대한 순서도이다. 본 도면은 호스트 장치의 동작을 구체적으로 설명하기 위한 도면이다.
도 1, 도 4 및 도 5를 참조하면, 스토리지 장치(300)로 독출 커맨드 및 k번째 입력되는 제k 어드레스가 수신되면, 스토리지 장치(300)는 미리 지정(Signature)된 지정 데이터를 출력할 수 있다.
호스트 장치(100)는 지정 데이터를 수신(S211)할 수 있다. 호스트 장치(100)는 수신된 지정 데이터에 기초하여, 스토리지 장치(300)가 인증 모드로 진입함을 확인(S212)할 수 있다. 이 후, 호스트 장치(100)는 스토리지 장치(300)가 인증 모드로 진입함에 따라, 스토리지 장치(300)가 인증 알고리즘 동작을 수행할 수 있도록, 커맨드 및 랜덤 어드레스를 출력할 수 있다. 스토리지 장치(300)는 수신되는 랜덤 어드레스를 기초로 인증 동작을 수행할 수 있다.
일 실시예에서, 지정 데이터에 대한 정보는 호스트 장치(100) 내의 메인 메모리(120)에 미리 저장되어 있을 수 있다. 예를 들어, 프로그램(121)은 메인 메모리(120)에 저장된 지정 데이터에 대한 정보와, 중간 변환 장치(140)를 통해 수신된 지정 데이터를 서로 비교하고, 비교 결과에 따라 스토리지 장치(300)에서 인증 모드가 수행됨을 확인할 수 있다. 즉, 호스트 장치(100)는 스토리지 장치(300)가 인증 모드로 진입할 수 있도록 순차적으로 제1 내지 제k 어드레스를 출력할 수 있고, 마지막으로 수신되는 지정 데이터에 기초하여, 스토리지 장치(300)가 인증 모드로 진입하였는지를 판단할 수 있다.
도 6는 본 개시의 예시적 실시예에 따른 시스템의 동작을 설명하는 순서도로서, 도 3의 스토리지 장치가 인증 모드에서 인증 동작을 수행하는 단계(S20)의 일 실시예를 설명하기 위한 순서도이다. 스토리지 장치(300)는 인증 모드(S20)에서 제1 인증 모드 동작(S20_1) 및 제2 인증 모드 동작(S20_2)을 수행할 수 있다. 제1 인증 모드 동작(S20_1)은 특정 값으로 설정된 특정 인증 어드레스를 수신함으로써 수행될 수 있고, 제2 인증 모드 동작(S20_2)은 랜덤한 랜덤 인증 어드레스를 수신함으로써 수행될 수 있다. 제2 인증 모드 동작(S20_2)은 도 3의 인증 모드(S20)에서의 동작과 유사하게 수행될 수 있다.
도 1 및 도 6을 참조하면, 호스트 장치(100)는 스토리지 장치(300)가 인증 모드에 진입하면, 독출 커맨드 및 특정 인증 어드레스를 전송(S210_1)할 수 있다. 상기 특정 인증 어드레스는, 랜덤 인증 어드레스와 달리, 호스트 장치(100)와 스토리지 장치(300) 사이에 약속된 어드레스, 즉, 미리 정해진 어드레스일 수 있다.
스토리지 장치(300)는 중간 변환 장치(140)로부터 독출 커맨드 및 특정 인증 어드레스를 수신(S110_1)함으로써 제1 인증 모드 동작(20_1)을 수행할 수 있다. 스토리지 장치(300)는 특정 인증 어드레스에 대응되는 특정 데이터를 출력(S120_1)할 수 있다. 특정 데이터 값은 제1 인증 단계(20_1)를 수행하기 위하여 호스트 장치(100)와 스토리지 장치(300) 간에 서로 약속된 값일 수 있다.
호스트 장치(100)는 특정 데이터를 수신하고, 특정 데이터에 기초하여, 스토리지 장치(300)의 제1 인증 모드 동작(20_1)의 성공 여부를 판단(S220_1)할 수 있다. 즉, 특정 데이터의 값이 호스트 장치(100)와 스토리지 장치(300) 간에 서로 약속된 값인 경우에는 제1 인증 모드 동작(S20_1)이 성공한 것으로 판단하고, 제2 인증 모드 동작(S20_2)을 수행할 수 있다. 특정 데이터 값이 약속된 값과 다를 경우에는 인증 실패한 것으로 판단할 수 있다.
호스트 장치(100)는 스토리지 장치(300)의 제1 인증 모드 동작(20_1)이 성공한 것으로 판단되면, 스토리지 장치(300)가 제2 인증 모드 동작(S20_2)을 수행할 수 있도록 독출 커맨드 및 특정 인증 어드레스와 상이한 랜덤 인증 어드레스를 전송(S210_2)할 수 있다.
스토리지 장치(300)는 중간 변환 장치(140)를 통해 독출 커맨드 및 랜덤 인증 어드레스를 수신(S110_2)할 수 있다. 랜덤 인증 어드레스는 정해진 특정 값이 아니며, 랜덤한 값을 가질 수 있다. 다만, 랜덤 인증 어드레스는 제1 인증 모드 동작(20_1) 시에 사용되었던 특정 인증 어드레스와는 상이할 수 있다.
스토리지 장치(300)는 수신된 랜덤 인증 어드레스 중 적어도 일부를, 인증 알고리즘을 수행하기 위한 데이터로 이용하여, 인증 알고리즘을 수행(S120_2)할 수 있다. 스토리지 장치(300)는 인증 알고리즘을 수행함에 따라 결과 데이터를 생성하고, 결과 데이터를 출력(S130_2)할 수 있다. 따라서, 스토리지 장치(300)는 특정 인증 어드레스가 수신되는 경우에만 특정 인증 어드레스에 대응되는 특정 데이터를 출력하고, 이외의 랜덤 인증 어드레스가 수신되는 경우에는 랜덤 인증 어드레스의 적어도 일부를 인증 알고리즘의 데이터로 이용할 수 있다.
호스트 장치(100)는 결과 데이터를 수신하고, 결과 데이터에 기초하여, 스토리지 장치(300)의 제2 인증 모드 동작(20_2)의 성공 여부를 판단(S220_2)할 수 있다.
본 도면에서의 설명은 제1 인증 모드 동작(S20_1) 후에 제2 인증 모드 동작(S20_2)이 수행하는 것으로 도시되었으나, 본 개시의 실시예에 따른 시스템 및 스토리지 장치의 인증 방법은 이에 한정되지 않는다. 제2 인증 모드 동작(S20_2)이 수행된 후에 제1 인증 모드 동작(S20_1)이 수행될 수도 있다.
호스트 장치(100)는 제1 인증 모드 동작(S20_1) 및 제2 인증 모드 동작(S20_2)의 성공 여부를 기초로, 전체 인증 동작의 성공 여부를 판단할 수 있다.
본 개시에 따른 스토리지 장치를 인증하는 시스템(10)에 따르면, 스토리지 장치(300)에 독출 커맨드를 전송하여 제1 인증 모드 동작(S20_1) 및 제2 인증 모드 동작(S20_2)을 수행하므로, 기입 커맨드 및 기입 데이터를 이용하는 경우와 달리, 스토리지 장치(300)에 추가적인 저장 용량을 요구하지 않는다. 따라서, 스토리지 장치(300)가 풀인 상태에서도 시스템(10)은 인증 동작이 가능하다.
또한, 독출 커맨드를 이용하여 제1 인증 모드 동작(S20_1) 및 제2 인증 모드 동작(S20_2)을 수행하므로, 스토리지 장치(300)에 쓰기 방지가 설정된 경우에도 스토리지 장치(300)는 인증 동작을 수행할 수 있다.
도 7는 본 개시의 예시적 실시예에 따른 시스템의 동작 방법을 설명하는 순서도로서, 도 3의 스토리지 장치가 인증 모드에서 인증 동작을 수행하는 단계(S20)의 일 실시예를 설명하기 위한 순서도이다. 스토리지 장치(300)가 독출 커맨드 및 랜덤 인증 어드레스를 복수회 수신하는 경우를 설명하기 위한 도면이다.
도 1 및 도 7을 참조하면, 스토리지 장치(300)는 독출 커맨드 및 랜덤 인증 어드레스를 복수회 수신할 수 있다. 인증 알고리즘을 수행하기 위해 필요한 데이터의 비트 수가 랜덤 인증 어드레스의 비트 수보다 많은 경우에, 스토리지 장치(300)는 랜덤 인증 어드레스를 복수회 수신하여, 수신된 복수의 랜덤 인증 어드레스들로부터 인증 알고리즘을 수행하기 위해 필요한 데이터를 얻을 수 있다. 이하에서는 예시적으로 제1 랜덤 인증 어드레스 및 제2 랜덤 인증 어드레스를 수신하는 경우에 대해서 설명하겠다.
호스트 장치(100)는 스토리지 장치(300)가 인증 모드에 진입하면, 독출 커맨드 및 제1 랜덤 인증 어드레스를 전송(S211)할 수 있다. 제1 랜덤 인증 어드레스는 정해진 특정 값이 아니며, 랜덤한 값을 가질 수 있다.
스토리지 장치(300)는 중간 변환 장치(140)로부터 독출 커맨드 및 제1 랜덤 인증 어드레스를 수신(S111)할 수 있다. 제1 랜덤 인증 어드레스 중에서 인증 알고리즘을 수행하는 데 사용될 적어도 일부는 스토리지 장치(300) 내부의 로컬 메모리(예를 들어, 도 2의 330)에 일시적으로 저장할 수 있다.
스토리지 장치(300)는 수신된 독출 커맨드에 대한 응답으로 랜덤 데이터를 출력(S112)할 수 있다. 랜덤 데이터는 독출 커맨드 및 제1 랜덤 인증 어드레스를 성공적으로 수신하였음을 알리는 메시지 또는, 제1 랜덤 인증 어드레스 중에서 적어도 일부가 내부 메모리에 저장되었음을 알리는 메시지를 포함할 수 있으며, 랜덤 데이터는 인증 알고리즘 수행과는 무관한 데이터일 수 있다.
호스트 장치(100)는 랜덤 데이터를 수신하고, 독출 커맨드 및 제2 랜덤 인증 어드레스를 전송(S212)할 수 있다. 스토리지 장치(300)는 중간 변환 장치(140)로부터 독출 커맨드 및 제2 랜덤 인증 어드레스를 수신(S113)할 수 있다. 제2 랜덤 인증 어드레스 중에서 인증 알고리즘을 수행하는 데 사용될 적어도 일부는 스토리지 장치(300) 내부의 로컬 메모리에 일시적으로 저장할 수 있다.
스토리지 장치(300)는 저장된 제1 랜덤 인증 어드레스 중 적어도 일부 및 제2 인증 어드레스의 적어도 일부를, 인증 알고리즘을 수행하기 위한 데이터로 이용하여 인증 알고리즘을 수행(S121)할 수 있다. 본 도면에서는 제1 랜덤 인증 어드레스 및 제2 랜덤 인증 어드레스를 설명하고 있으나, 스토리지 장치(300)가 독출 커맨드 및 랜덤 인증 어드레스를 수신하는 횟수는 인증 알고리즘을 수행하기 위해 필요한 데이터의 비트 수에 따라 달라질 수 있고, 수신되는 랜덤 인증 어드레스의 비트 수에 따라 달라질 수 있다. 인증 알고리즘을 수행하기 위해 필요한 데이터의 비트 수가 커질수록 호스트 장치(100)가 랜덤 인증 어드레스를 출력하는 횟수가 증가되고, 스토리지 장치(300)가 랜덤 인증 어드레스를 수신하는 횟수도 증가될 수 있다. 호스트 장치(100) 및 스토리지 장치(300)가 서로 송수신하는 랜덤 인증 어드레스의 횟수는 미리 정해져 있을 수 있다.
스토리지 장치(300)는 인증 알고리즘을 수행한 결과에 따른 결과 데이터를 출력(S131)할 수 있다. 호스트 장치(100) 및 스토리지 장치(300)는 서로 송수신하는 랜덤 인증 어드레스의 횟수가 미리 정해져 있으므로, 호스트 장치(100)는 결과 데이터가 이전에 수신하였던 랜덤 데이터와 달리 인증 알고리즘을 수행한 결과라는 것을 알 수 있다.
호스트 장치(100)는 결과 데이터를 수신하고, 결과 데이터에 기초하여, 스토리지 장치(300)의 인증 동작의 성공 여부를 판단(S220)할 수 있다. 호스트 장치(100)의 프로그램(121)은 결과 데이터에 기초하여, 정해진 방식대로 인증 동작이 수행되었는지를 판단할 수 있다.
도 8은 본 개시의 예시적 실시예에 따른 시스템의 동작 방법을 설명하는 순서도로서, 도 3의 스토리지 장치가 인증 모드에서 인증 동작을 수행하는 단계(S20)의 일 실시예를 설명하기 위한 순서도이다. 스토리지 장치(300)가 랜덤 인증 어드레스를 복수회 수신하는 경우를 설명하기 위한 도면으로, 도 7과 달리 스토리지 장치(300)는 기입 커맨드를 수신할 수 있다. 도 8에서 도 7에서와 중복되는 부호에 대해서는 중복 설명을 생략하겠다.
도 1 및 도 8을 참조하면, 호스트 장치(100)는 독출 커맨드 및 제1 랜덤 인증 어드레스를 전송(S211)한 후, 랜덤 데이터를 수신하고, 기입 커맨드 및 제2 랜덤 인증 어드레스를 전송(S212_1)할 수 있다. 이 때, 호스트 장치(100)는 기입 요청의 대상이 되는 기입 데이터를 함께 출력할 수 있다.
스토리지 장치(300)는 중간 변환 장치(140)로부터 기입 커맨드 및 제2 랜덤 인증 어드레스를 수신(S113_1)할 수 있다. 제2 랜덤 인증 어드레스 중에서 인증 알고리즘을 수행하는 데 사용될 적어도 일부는 스토리지 장치(300) 내부의 로컬 메모리(예를 들어, 도 2의 330)에 일시적으로 저장될 수 있다. 스토리지 장치(300)는 기입 요청의 대상이 되는 기입 데이터를 함께 수신할 수 있으나, 스토리지 장치(300)가 일반 동작이 아닌 인증 동작을 수행 중이므로 수신되는 기입 데이터가 스토리지 장치(300)에 기입되지는 않는다. 본 도면에서는, S111 단계가 수행된 후, S113_1단계가 수행되는 것으로 도시되어 있으나, 본 개시에 따른 시스템은 이에 한정되지 않는다. 따라서, 기입 커맨드 및 제2 랜덤 인증 어드레스를 수신한 후, 독출 커맨드 및 제1 랜덤 인증 어드레스를 수신할 수도 있다.
스토리지 장치(300)는 저장된 제1 랜덤 인증 어드레스 중 적어도 일부 및 제2 인증 어드레스의 적어도 일부를 데이터로 이용하여, 인증 알고리즘을 수행(S121)할 수 있다. 스토리지 장치(300)는 독출 커맨드 또는 기입 커맨드들과 함께 수신되는 랜덤 인증 어드레스들을 데이터로 이용하여, 인증 알고리즘을 수행할 수 있다.
호스트 장치(100)는 독출 커맨드를 스토리지 장치(300)로 전송(S213)할 수 있다. 이 때의 독출 커맨드는 스토리지 장치(300)가 인증 알고리즘을 수행한 결과 데이터를 출력하여, 호스트 장치(100)로 전송할 수 있도록 하기 위한 커맨드이다.
스토리지 장치(300)는 독출 커맨드에 응답하여, 인증 알고리즘을 수행한 결과에 따른 결과 데이터를 출력(S131)할 수 있다. 스토리지 장치(300)는 컴퓨팅 결과 데이터에 기초하여, 스토리지 장치(300)의 인증 동작의 성공 여부를 판단(S220)할 수 있다.
본 도면에서는 제1 랜덤 인증 어드레스 및 제2 랜덤 인증 어드레스를 설명하고 있으나, 스토리지 장치(300)가 독출/기입 커맨드 및 랜덤 인증 어드레스를 수신하는 횟수는 인증 알고리즘을 수행하기 위해 필요한 데이터의 비트 수에 따라 달라질 수 있고, 수신되는 랜덤 인증 어드레스의 비트 수에 따라 달라질 수 있다.
본 개시에 예시적 실시예에 따른 시스템에 포함된 스토리지 장치(300)는, 인증 모드에서 독출 커맨드 또는 기입 커맨드가 수신될 때 커맨드에 대응되는 동작을 수행하지 않으므로, 커맨드의 종류와 무관하게 커맨드와 함께 수신되는 랜덤 인증 어드레스를 기초로 인증 동작을 수행할 수 있다. 따라서, 스토리지 장치(300)는 인증 모드에서 독출 커맨드를 수신할 수도, 기입 커맨드를 수신할 수도 있다.
도 9는 본 개시의 예시적 실시예에 따른 시스템의 동작 방법을 설명하는 순서도로서, 도 3의 스토리지 장치가 인증 모드에서 인증 동작을 수행하는 단계(S20)의 일 실시예를 설명하기 위한 순서도이다. 스토리지 장치(300)가 인증 모드에서 독출 커맨드 또는 기입 커맨드를 복수회 수신하는 경우를 설명하기 위한 도면으로, 도 7과 달리 스토리지 장치(300)는 기입 커맨드를 수신할 수 있다. 도 9에서 도 7에서와 중복되는 부호에 대해서는 중복 설명을 생략하겠다.
도 1 및 도 9를 참조하면, 호스트 장치(100)는 독출 커맨드 및 제1 랜덤 인증 어드레스를 전송(S211)한 후, 랜덤 데이터를 수신하고, 기입 커맨드 및 랜덤 기입 데이터를 전송(S212_2)할 수 있다. 이 때, 호스트 장치(100)는 기입 어드레스를 함께 출력할 수 있다.
스토리지 장치(300)는 중간 변환 장치(140)로부터 기입 커맨드 및 랜덤 기입 데이터를 수신(S113_2)할 수 있다. 이 때, 랜덤 기입 데이터를 수신하는 경우에는, 랜덤 인증 어드레스를 수신하는 경우와 비교하여, 인증 알고리즘을 수행하기 위해 필요한 정보가 더 많이 스토리지 장치(300)로 전달될 수 있다. 따라서, 랜덤 기입 데이터를 수신하여, 인증 알고리즘을 수행하는데 사용할 경우, 호스트 장치(100)와 스토리지 장치(300)가 커맨드, 랜덤 인증 어드레스 및 랜덤 기입 데이터를 송수신하는 횟수가 감소될 수 있다.
스토리지 장치(300)는 랜덤 기입 데이터 중에서 인증 알고리즘을 수행하는데 사용될 적어도 일부를, 스토리지 장치(300) 내부의 로컬 메모리(예를 들어, 도 2의 330)에 일시적으로 저장할 수 있다. 스토리지 장치(300)는 인증 동작을 수행 중이므로, 랜덤 기입 데이터를 스토리지 장치(300)의 비휘발성 메모리(예를 들어, 도 2의 340)에 기입하는 동작을 수행하지 않을 수 있다. 랜덤 기입 데이터는 인증 동작을 수행하는 데에만 사용될 수 있다. 본 도면에서는, S111단계가 수행된 후, S113_2단계가 수행되는 것으로 도시되어 있으나, 본 개시에 따른 시스템은 이에 한정되지 않는다. 따라서, 기입 커맨드 및 랜덤 기입 데이터를 수신한 후, 독출 커맨드 및 제1 랜덤 인증 어드레스를 수신할 수도 있다.
스토리지 장치(300)는 저장된 제1 랜덤 인증 어드레스 중 적어도 일부 및 랜덤 기입 데이터 중 적어도 일부를 인증 알고리즘을 위한 데이터로 이용하여, 인증 알고리즘을 수행(S121_2)할 수 있다.
호스트 장치(100)는 스토리지 장치(300)가 인증 알고리즘을 수행한 결과 데이터를 출력하기 위한 독출 커맨드를 스토리지 장치(300)로 전송(S213)할 수 있다. 스토리지 장치(300)는 독출 커맨드에 응답하여, 인증 알고리즘을 수행한 결과에 따른 결과 데이터를 출력(S131)할 수 있고, 컴퓨팅 결과 데이터에 기초하여, 스토리지 장치(300)의 인증 동작의 성공 여부를 판단(S220)할 수 있다.
도 10은 본 개시의 예시적 실시예에 따른 시스템의 동작을 설명하는 순서도로서, 도 3의 S220단계를 설명하기 위한 도면이다. 본 도면은 호스트 장치의 동작을 구체적으로 설명하기 위한 도면이다.
도 1 및 도 10을 참조하면, 호스트 장치(100)는 결과 데이터를 수신(S211)할 수 있고, 호스트 장치(100)는 결과 데이터를 기초로, 인증 동작을 수행한 결과 인증이 성공 여부를 판단(S222)할 수 있다. 호스트 장치(100)의 프로그램(121)은 스토리지 장치(300)에 저장된 것과 동일한 내부 알고리즘을 포함할 수 있다. 프로그램(121)은 내부 알고리즘 수행 결과와 수신된 결과 데이터를 비교하여, 스토리지 장치(300)의 인증 동작의 성공 여부를 판단할 수 있다. 예를 들어, 내부 알고리즘 수행 결과와 수신된 결과 데이터가 서로 무관한 경우에는 인증에 실패한 것으로 판단할 수 있다.
스토리지 장치(300)에 대한 인증 동작의 성공한 경우에는, 스토리지 장치(300)에 인증 플래그를 셋팅(S223)할 수 있다. 인증 플래그는 스토리지 장치(300)가 인증이 완료되었다는 플래그로써, 스토리지 장치(300)에 저장될 수 있다. 호스트 장치(100)는 스토리지 장치(300)에 대한 차별화된 요구가 있을 때에 스토리지 장치(300)에 저장된 인증 플래그를 확인고, 스토리지 장치(300)에 대한 인증 동작이 완료되었음을 확인한 후, 특수 동작을 수행하도록 스토리지 장치(300)에 요청할 수 있다.
도 11은 본 개시의 예시적 실시예에 따른 스토리지 장치를 인증하는 시스템의 인증 방법을 설명하는 순서도이다. 도 11에서 도 3과 동일한 부호에 대해서는 중복되는 설명을 생략하겠다. 도 11은 도 3과 달리 기입 커맨드가 스토리지 장치로 수신되는 경우를 설명하는 도면이다.
도 1 및 도 11을 참조하면, 스토리지 장치(300)는 인증 동작을 수행하는 인증 모드로 진입(S10)하게 되면, 인증 모드에서 인증 동작을 수행(S20')할 수 있다. 인증 모드로 진입하는 단계(S10)는 도 4에 대한 설명이 적용될 수 있다.
호스트 장치(100)는 스토리지 장치(300)가 인증 모드로 진입(S10)하면, 기입 커맨드 및 랜덤 인증 어드레스를 전송(S310)할 수 있다. 스토리지 장치(300)는 인증 모드(S20)에서, 중간 변환 장치(140)를 통해 기입 커맨드 및 랜덤 인증 어드레스를 수신(S110')할 수 있다. 랜덤 인증 어드레스는 정해진 특정 값이 아니며, 랜덤한 값을 가질 수 있다.
스토리지 장치(300)는 수신된 랜덤 인증 어드레스 중 적어도 일부를, 인증 알고리즘을 수행하기 위한 데이터로 이용하여, 인증 알고리즘을 수행할 수 있다(S120). 스토리지 장치(300)는 일반 모드와 인증 모드(S20)에서는 기입 커맨드가 수신되어도, 그에 따른 동작을 수행하지 않을 수 있다. 따라서, S310단계에서, 기입 커맨드 및 랜덤 인증 어드레스와 함께 기입 데이터가 출력되고, 스토리지 장치(300)가 기입 데이터를 수신하여도, 기입 데이터에 대한 기입 동작을 수행하지 않을 수 있다.
일 실시예에서, 스토리지 장치(300)는 기입 커맨드 및 랜덤 인증 어드레스를 복수회 수신할 수 있다. 스토리지 장치(300)가 기입 커맨드 및 랜덤 인증 어드레스를 수신하는 횟수는 인증 알고리즘을 수행하기 위해 필요한 데이터의 비트 수에 따라 달라질 수 있다. 스토리지 장치(300)가 기입 커맨드 및 랜덤 인증 어드레스를 복수회 수신하는 경우에 대해서는 도 12에서 후술하겠다.
호스트 장치(100)는 독출 커맨드를 스토리지 장치(300)로 전송(S320)할 수 있다. 이 때의 독출 커맨드는 스토리지 장치(300)가 인증 알고리즘을 수행한 결과 데이터를 출력하여, 호스트 장치(100)로 전송할 수 있도록 하기 위한 커맨드이다.
스토리지 장치(300)는 독출 커맨드에 응답하여, 인증 알고리즘을 수행한 결과에 따른 결과 데이터를 출력(S130)할 수 있다. 결과 데이터는 호스트 장치(100)로 전송될 수 있다. 호스트 장치(100)는 결과 데이터를 중간 변환 장치를 통해 수신할 수 있고, 호스트 장치(100)는 결과 데이터를 기초로, 인증이 성공 여부를 판단(S220)할 수 있다.
본 개시에 따른 스토리지 장치를 인증하는 시스템(10)에 따르면, 스토리지 장치(300)에 기입 커맨드를 전송하여 인증 동작을 수행하지만, 인증 모드에서는 실질적으로 기입 동작을 수행하지 않을 수 있다. 따라서, 인증 동작을 수행하기 위해 스토리지 장치(300)의 비휘발성 메모리(예를 들어, 도 2의 340)에 추가적인 저장 용량을 요구하지 않으며, 스토리지 장치(300)의 비휘발성 메모리가 풀인 상태에서도 시스템(10)은 인증 동작을 수행하는 것이 가능하다.
도 12는 본 개시의 예시적 실시예에 따른 시스템의 동작 방법을 설명하는 순서도로서, 도 11의 스토리지 장치가 인증 모드에서 인증 동작을 수행하는 단계(S20')의 일 실시예를 설명하기 위한 순서도이다. 스토리지 장치(300)가 기입 커맨드 및 랜덤 인증 어드레스를 복수회 수신하는 경우를 설명하기 위한 도면이다.
도 12를 참조하면, 스토리지 장치(300)는 기입 커맨드 및 랜덤 인증 어드레스를 복수회 수신할 수 있다. 인증 알고리즘을 수행하기 위해 필요한 데이터의 비트 수가 랜덤 인증 어드레스의 비트 수보다 많은 경우에, 스토리지 장치(300)는 랜덤 인증 어드레스를 복수회 수신하여, 수신된 복수의 랜덤 인증 어드레스들로부터 인증 알고리즘을 수행하기 위해 필요한 데이터를 얻을 수 있다.
호스트 장치(100)는 스토리지 장치(300)가 인증 모드에 진입하면, 기입 커맨드 및 제1 랜덤 인증 어드레스를 전송(S311)할 수 있다. 제1 랜덤 인증 어드레스는 정해진 특정 값이 아니며, 랜덤한 값을 가질 수 있다.
스토리지 장치(300)는 중간 변환 장치(140)로부터 기입 커맨드 및 제1 랜덤 인증 어드레스를 수신(S111')할 수 있다. 제1 랜덤 인증 어드레스 중에서 인증 알고리즘을 수행하는 데 사용될 적어도 일부는 스토리지 장치(300) 내부의 로컬 메모리(예를 들어, 도 2의 330)에 일시적으로 저장할 수 있다. 호스트 장치(100)는 독출 커맨드를 스토리지 장치(300)로 전송(S312)할 수 있다. 상기 독출 커맨드는 제1 랜덤 인증 어드레스를 수신한 결과를 출력시키기 위한 커맨드일 수 있다. 스토리지 장치(300)는 상기 독출 커맨드에 응답하여, 응답을 출력(S112')할 수 있다. 상기 응답은 기입 커맨드 및 제1 랜덤 인증 어드레스를 성공적으로 수신하였음을 알리는 메시지 또는, 제1 랜덤 인증 어드레스 중에서 적어도 일부가 내부 메모리에 저장되었음을 알리는 메시지를 포함할 수 있으며, 상기 응답은 인증 알고리즘 수행과는 무관한 데이터일 수 있다.
호스트 장치(100)는 랜덤 데이터를 수신하고, 기입 커맨드 및 제2 랜덤 인증 어드레스를 전송(S313)할 수 있다. 스토리지 장치(300)는 중간 변환 장치(140)로부터 기입 커맨드 및 제2 랜덤 인증 어드레스를 수신(S113')할 수 있다. 제2 랜덤 인증 어드레스 중에서 인증 알고리즘을 수행하는 데 사용될 적어도 일부는 스토리지 장치(300) 내부의 로컬 메모리에 일시적으로 저장할 수 있다.
스토리지 장치(300)는 저장된 제1 랜덤 인증 어드레스 중 적어도 일부 및 제2 인증 어드레스의 적어도 일부를, 인증 알고리즘을 수행하기 위한 데이터로 이용하여, 인증 알고리즘을 수행(S121)할 수 있다. 본 도면에서는 제1 랜덤 인증 어드레스 및 제2 랜덤 인증 어드레스를 설명하고 있으나, 스토리지 장치(300)가 랜덤 인증 어드레스를 수신하는 횟수는 인증 알고리즘을 수행하기 위해 필요한 데이터의 비트 수에 따라 달라질 수 있고, 수신되는 랜덤 인증 어드레스의 비트 수에 따라 달라질 수 있다. 호스트 장치(100) 및 스토리지 장치(300)가 서로 송수신하는 랜덤 인증 어드레스의 횟수는 미리 정해져 있을 수 있다.
호스트 장치(100)는 독출 커맨드를 전송(S213)할 수 있다. 이 때의 독출 커맨드는 스토리지 장치(300)가 인증 알고리즘을 수행한 결과를 출력하여, 호스트 장치(100)로 전송할 수 있도록 하기 위한 커맨드이다. 스토리지 장치(300)는 상기 독출 커맨드에 응답하여, 인증 알고리즘을 수행한 결과에 따른 결과 데이터를 출력(S131)할 수 있다. 호스트 장치(100)는 결과 데이터를 수신하고, 결과 데이터에 기초하여, 스토리지 장치(300)의 인증 동작의 성공 여부를 판단(S220)할 수 있다.
도 13은 본 개시의 예시적 실시예에 따른 시스템의 동작 방법을 설명하는 순서도로서, 도 11의 스토리지 장치가 인증 모드에서 인증 동작을 수행하는 단계(S20')의 일 실시예를 설명하기 위한 순서도이다. 스토리지 장치(300)가 인증 모드에서 기입 커맨드를 복수회 수신하는 경우를 설명하기 위한 도면이다.
도 13을 참조하면, 호스트 장치(100)는 기입 커맨드 및 제1 랜덤 인증 어드레스를 전송(S311)한 후, 독출 커맨드를 전송(S312)하여, 이에 따른 응답을 수신할 수 있다. 호스트 장치(100)는 수신된 응답에 기초하여, 기입 커맨드 및 랜덤 기입 데이터를 전송(S313_2)할 수 있다. 이 때, 호스트 장치(100)는 기입 어드레스를 함께 출력할 수 있다.
스토리지 장치(300)는 중간 변환 장치(140)로부터 기입 커맨드 및 랜덤 기입 데이터를 수신(S113_2')할 수 있다. 랜덤 기입 데이터 중에서 인증 알고리즘을 수행하는데 사용될 적어도 일부는, 스토리지 장치(300) 내부의 로컬 메모리(예를 들어, 도 2의 330)에 일시적으로 저장될 수 있다. 스토리지 장치(300)는 인증 동작을 수행 중이므로, 랜덤 기입 데이터를 스토리지 장치(300)의 비휘발성 메모리(예를 들어, 도 2의 340)에 기입하는 동작을 수행하지는 않는다. 랜덤 기입 데이터는 인증 동작을 수행하는 데에만 사용될 수 있다.
본 도면에서는, S111' 단계가 수행된 후, S113_2'단계가 수행되는 것으로 도시되어 있으나, 본 개시에 따른 시스템은 이에 한정되지 않는다. 따라서, 기입 커맨드 및 랜덤 기입 데이터를 수신한 후, 독출 커맨드 및 제1 랜덤 인증 어드레스를 수신할 수도 있다.
스토리지 장치(300)는 저장된 제1 랜덤 인증 어드레스 중 적어도 일부 및 랜덤 기입 데이터 중 적어도 일부를 인증 알고리즘을 위한 데이터로 이용하여, 인증 알고리즘을 수행(S121_2')할 수 있다.
호스트 장치(100)는 스토리지 장치(300)가 인증 알고리즘을 수행한 결과를 출력하여, 호스트 장치(100)로 전송할 수 있도록 독출 커맨드를 전송(S213)할 수 있다. 스토리지 장치(300)는 독출 커맨드에 응답하여, 인증 알고리즘을 수행한 결과에 따른 결과 데이터를 출력(S131)할 수 있고, 컴퓨팅 결과 데이터에 기초하여, 스토리지 장치(300)의 인증 동작의 성공 여부를 판단(S220)할 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 발명의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: 호스트 장치
140: 중간 변환 장치
300: 스토리지 장치

Claims (20)

  1. 중간 변환 장치를 통해 호스트 장치와 연결되는 스토리지 장치의 동작 방법으로서,
    인증 동작을 수행하는 인증 모드로 진입하는 단계; 및
    상기 인증 동작을 수행하는 단계;를 포함하고,
    상기 인증 동작을 수행하는 단계는,
    상기 호스트 장치로부터 독출 커맨드를 제1 랜덤 인증 어드레스와 함께 수신하는 단계;
    상기 제1 랜덤 인증 어드레스 중 적어도 일부를 이용하여, 인증 알고리즘을 수행하는 단계; 및
    상기 인증 알고리즘을 수행한 결과 데이터를 생성하는 단계;를 포함하는 것을 특징으로 하는 동작 방법.
  2. 제1 항에 있어서,
    상기 인증 모드로 진입하는 단계는,
    상기 중간 변환 장치를 통해 상기 호스트 장치로부터 커맨드 및 제1 내지 제k 어드레스를 순차적으로 수신하는 단계; 및
    상기 스토리지 장치로 수신된 상기 제1 내지 제k 어드레스 각각이 인증 모드로 진입하기 위한 제1 내지 제k 섹터 어드레스와 일치하는지 확인하는 단계; 를 포함하고,
    상기 일치하는지 확인하는 단계에서, 일치하는 경우에는 상기 인증 동작을 수행하는 단계를 수행하며, 상기 k는 양의 정수인 것을 특징으로 하는 동작 방법.
  3. 제2 항에 있어서,
    상기 인증 모드로 진입하는 단계에서,
    기입 커맨드를 수신하는 경우에는, 인증 모드 진입을 위한 상태를 리셋하는 단계를 더 포함하는 것을 특징으로 하는 동작 방법.
  4. 제2 항에 있어서,
    상기 제1 내지 제k 어드레스 각각이 상기 제1 내지 제k 섹터 어드레스와 일치하지 않는 경우에는, 인증 모드 진입을 위한 상태를 리셋하는 단계를 더 포함하는 것을 특징으로 하는 동작 방법.
  5. 제1 항에 있어서,
    상기 인증 동작을 수행하는 단계는,
    상기 호스트 장치로부터 독출 커맨드 및 미리 정해진 특정 인증 어드레스를 수신하는 단계; 및
    상기 특정 인증 어드레스에 대응되는 특정 데이터를 출력하는 단계;를 포함하는 것을 특징으로 하는 동작 방법.
  6. 제5 항에 있어서,
    상기 제1 랜덤 인증 어드레스는, 상기 특정 인증 어드레스와 서로 상이한 것을 특징으로 하는 동작 방법.
  7. 제1 항에 있어서,
    상기 인증 동작을 수행하는 단계는,
    호스트 장치로부터 독출 커맨드를 제2 랜덤 인증 어드레스와 함께 수신하는 단계; 및
    상기 제2 랜덤 인증 어드레스 중 적어도 일부를 이용하여, 인증 알고리즘을 수행하는 단계;를 더 포함하는 것을 특징으로 하는 동작 방법.
  8. 제1 항에 있어서,
    상기 인증 동작을 수행하는 단계는,
    상기 호스트 장치로부터 기입 커맨드를 제2 랜덤 인증 어드레스와 함께 수신하는 단계; 및
    상기 제2 랜덤 인증 어드레스 중 적어도 일부를 이용하여, 인증 알고리즘을 수행하는 단계;를 더 포함하는 것을 특징으로 하는 동작 방법.
  9. 제1 항에 있어서,
    상기 인증 동작을 수행하는 단계는,
    상기 호스트 장치로부터 기입 커맨드 및 기입 데이터를 수신하는 단계; 및
    제2 랜덤 인증 어드레스 중 적어도 일부에 기초하여, 인증 알고리즘을 수행하는 단계;를 더 포함하는 것을 특징으로 하는 동작 방법.
  10. 중간 변환 장치를 통해 호스트 장치와 연결되는 스토리지 장치의 동작 방법으로서,
    인증 동작을 수행하는 인증 모드로 진입하는 단계; 및
    상기 인증 동작을 수행하는 단계;를 포함하고,
    상기 인증 동작을 수행하는 단계는,
    상기 호스트 장치로부터 기입 커맨드를 제1 랜덤 인증 어드레스와 함께 수신하는 단계;
    상기 제1 랜덤 인증 어드레스 중 적어도 일부를 이용하여, 인증 알고리즘을 수행하는 단계; 및
    상기 인증 알고리즘을 수행한 결과 데이터를 생성하는 단계;를 포함하는 것을 특징으로 하는 동작 방법.
  11. 제10 항에 있어서,
    상기 인증 모드로 진입하는 단계는,
    상기 호스트 장치로부터 독출 커맨드 및 제1 내지 제k 어드레스를 순차적으로 수신하는 단계; 및
    상기 제1 내지 제k 어드레스 각각이 인증 모드로 진입하기 위한 제1 내지 제k 섹터 어드레스와 일치하는지 확인하는 단계;를 포함하고,
    상기 일치하는지 확인하는 단계에서, 일치하는 경우에는 상기 인증 동작을 수행하는 단계를 수행하며, 상기 k는 양의 정수인 것을 특징으로 하는 동작 방법.
  12. 제10 항에 있어서,
    상기 인증 동작을 수행하는 단계는,
    상기 호스트 장치로부터 기입 커맨드 및 제2 랜덤 인증 어드레스를 수신하는 단계;
    상기 제2 랜덤 인증 어드레스 중 적어도 일부에 기초하여, 인증 알고리즘을 수행하는 단계;를 더 포함하는 것을 특징으로 하는 동작 방법.
  13. 제10 항에 있어서,
    상기 인증 동작을 수행하는 단계는,
    상기 호스트 장치로부터 기입 커맨드 및 기입 데이터를 수신하는 단계;
    상기 기입 데이터 중 적어도 일부에 기초하여, 인증 알고리즘을 수행하는 단계;를 더 포함하는 것을 특징으로 하는 동작 방법.
  14. 인증 모드에서 인증 동작을 수행하는 스토리지 장치; 및
    상기 스토리지 장치에서 수행되는 상기 인증 동작을 실행시키는 프로그램이 내장되고, 상기 스토리지 장치와 연결되는 중간 변환 장치를 포함하는 호스트 장치; 를 포함하고,
    상기 인증 모드에서 상기 스토리지 장치는,
    상기 호스트 장치로부터 독출 커맨드를 랜덤 인증 어드레스와 함께 수신하고, 상기 랜덤 인증 어드레스 중 적어도 일부를 이용하여 인증 알고리즘을 수행하며, 상기 인증 알고리즘을 수행한 결과 데이터를 생성하는 것을 특징으로 하는 시스템.
  15. 제14 항에 있어서,
    상기 호스트 장치는 독출 커맨드 및 제1 내지 제k 어드레스를 출력하고,
    상기 스토리지 장치는,
    상기 호스트 장치로부터 수신된 제1 내지 제k 어드레스 각각이, 인증 모드로 진입하기 위한 제1 내지 제k 섹터 어드레스와 일치되는 경우에, 상기 인증 동작을 수행하는 것을 특징으로 하는 시스템.
  16. 제15 항에 있어서,
    상기 스토리지 장치는 상기 제k 어드레스에 대응되는 제k 데이터를 출력하고,
    상기 호스트 장치는, 상기 제k 데이터를 수신하고, 상기 제k 데이터에 기초하여 상기 독출 커맨드를 상기 랜덤 인증 어드레스와 함께 상기 스토리지 장치로 전송하는 것을 특징으로 하는 시스템.
  17. 제14 항에 있어서,
    상기 인증 모드에서 상기 스토리지 장치는,
    상기 호스트 장치로부터 독출 커맨드 및 미리 정해진 특정 인증 어드레스를 수신하고, 상기 특정 인증 어드레스에 대응되는 특정 데이터를 출력하는 것을 특징으로 하는 시스템.
  18. 제14 항에 있어서,
    인증 모드에서 상기 스토리지 장치는,
    상기 독출 커맨드를 상기 랜덤 인증 어드레스와 함께 복수회 수신하고, 복수회 수신한 상기 랜덤 인증 어드레스들 중 적어도 일부를 이용하여 상기 인증 알고리즘을 수행하는 것을 특징으로 하는 시스템.
  19. 제18 항에 있어서,
    상기 호스트 장치 및 상기 스토리지 장치는 각각 내부 메모리를 포함하고,
    상기 호스트 장치의 내부 메모리 및 상기 스토리지 장치의 내부 메모리에는, 상기 독출 커맨드 및 상기 랜덤 인증 어드레스를 송수신하는 횟수가 저장되는 것을 특징으로 하는 시스템.
  20. 제14 항에 있어서,
    상기 호스트 장치는, 상기 결과 데이터를 수신하고,
    상기 결과 데이터에 기초하여, 상기 스토리지 장치에 인증 플래그를 셋팅하는 것을 특징으로 하는 시스템.
KR1020180002312A 2018-01-08 2018-01-08 스토리지 장치의 동작 방법 및 시스템 KR102415330B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180002312A KR102415330B1 (ko) 2018-01-08 2018-01-08 스토리지 장치의 동작 방법 및 시스템
CN201811566898.3A CN110018972A (zh) 2018-01-08 2018-12-19 操作存储装置的方法和用于存储装置的系统
US16/239,676 US11250121B2 (en) 2018-01-08 2019-01-04 Method of operating storage device, and system for storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180002312A KR102415330B1 (ko) 2018-01-08 2018-01-08 스토리지 장치의 동작 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20190084492A KR20190084492A (ko) 2019-07-17
KR102415330B1 true KR102415330B1 (ko) 2022-06-30

Family

ID=67139470

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180002312A KR102415330B1 (ko) 2018-01-08 2018-01-08 스토리지 장치의 동작 방법 및 시스템

Country Status (3)

Country Link
US (1) US11250121B2 (ko)
KR (1) KR102415330B1 (ko)
CN (1) CN110018972A (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100287380A1 (en) * 2007-09-04 2010-11-11 Nintendo Co., Ltd. Writing area security system
US20150242657A1 (en) * 2014-02-27 2015-08-27 Jisoo Kim Self-encrypting drive and user device including the same

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8100323B1 (en) * 2002-12-26 2012-01-24 Diebold Self-Service Systems Division Of Diebold, Incorporated Apparatus and method for verifying components of an ATM
US20080103412A1 (en) 2006-11-01 2008-05-01 Yem Chin Removing Tissue
FR2908131B1 (fr) 2006-11-03 2009-01-09 Univ Haute Alsace Etablissemen Derives d'aminobenzocycloheptene,leurs procedes de preparation et leur utilisation en therapeutique
KR100875978B1 (ko) 2007-02-06 2008-12-26 삼성전자주식회사 메모리 카드 및 그것을 포함한 메모리 시스템
KR101535226B1 (ko) 2008-12-16 2015-07-27 삼성전자주식회사 중간 변환 장치를 통해 연결된 저장 장치 인증 방법 및 시스템
WO2011119169A1 (en) * 2010-03-26 2011-09-29 Hewlett-Packard Development Company, L.P. Storage device access authentication upon resuming from a standby mode of a computing device
JP5824849B2 (ja) 2011-04-22 2015-12-02 ソニー株式会社 情報処理装置および情報処理方法
EP2546754A1 (en) 2011-07-14 2013-01-16 Samsung Electronics Co., Ltd. Memory control device and method
JP5112555B1 (ja) 2011-12-02 2013-01-09 株式会社東芝 メモリカード、ストレージメディア、及びコントローラ
KR20130139604A (ko) 2012-06-13 2013-12-23 삼성전자주식회사 복수의 메모리 칩을 구비한 메모리 장치, 그 인증 시스템 및 인증 방법
JP6069120B2 (ja) 2013-07-11 2017-02-01 株式会社メガチップス 情報処理システム
KR20150100076A (ko) 2014-02-24 2015-09-02 삼성전자주식회사 메모리로 커맨드를 이슈하는 커맨드 이슈 방법 및 메모리의 커맨드 처리 방법
US9984007B2 (en) * 2014-03-28 2018-05-29 Samsung Electronics Co., Ltd. Storage system and method for performing and authenticating write-protection thereof
US10257192B2 (en) * 2014-05-29 2019-04-09 Samsung Electronics Co., Ltd. Storage system and method for performing secure write protect thereof
JP6202030B2 (ja) 2015-03-27 2017-09-27 コニカミノルタ株式会社 認証システム、認証システムを制御するコンピュータプログラム、およびその認証システムに用いる読取装置
US9934411B2 (en) * 2015-07-13 2018-04-03 Texas Instruments Incorporated Apparatus for physically unclonable function (PUF) for a memory array
US10102356B1 (en) * 2016-03-09 2018-10-16 EMC IP Holding Company LLC Securing storage control path against unauthorized access

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100287380A1 (en) * 2007-09-04 2010-11-11 Nintendo Co., Ltd. Writing area security system
US20150242657A1 (en) * 2014-02-27 2015-08-27 Jisoo Kim Self-encrypting drive and user device including the same

Also Published As

Publication number Publication date
KR20190084492A (ko) 2019-07-17
US20190213320A1 (en) 2019-07-11
US11250121B2 (en) 2022-02-15
CN110018972A (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
US10324864B2 (en) Storage system and method for performing and authenticating write-protection thereof
US10528491B2 (en) Storage system and method for performing and authenticating write-protection thereof
US9256744B2 (en) System-on-chip and booting method thereof
CN110457236B (zh) 存储系统以及对存储系统执行和验证写保护的方法
US11238161B2 (en) Secure boot and apparatus, and terminal device
US11783041B2 (en) Electronic device for updating firmware based on user authentication and an operating method thereof
KR102655347B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US11520483B2 (en) Operating method for performing firmware image chunk update and verification of whether damage as occurred on storage device
US11720249B2 (en) Data storage device and method for rewriting parameters thereof
KR20210130240A (ko) 암호화 해시를 사용하여 메모리에 저장된 데이터 검정
KR102415330B1 (ko) 스토리지 장치의 동작 방법 및 시스템
KR20230091660A (ko) 소프트웨어의 무결성 검증 방법 및 그 장치
KR20220045758A (ko) 저장 장치 및 그 동작 방법
CN110069934B (zh) 存储器存储系统、主机系统验证方法及存储器存储装置
CN110990840A (zh) 设备开机的方法及装置
US20230134534A1 (en) Memory controller and storage device
TWI761915B (zh) 資料儲存裝置以及參數改寫方法
JP2016081344A (ja) Icカード、携帯可能電子装置、及び、icカード処理装置
CN114510752A (zh) 数据存储装置及操作数据存储装置的方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant