KR101574257B1 - Data storage device and data storage system having the same - Google Patents

Data storage device and data storage system having the same Download PDF

Info

Publication number
KR101574257B1
KR101574257B1 KR1020090048021A KR20090048021A KR101574257B1 KR 101574257 B1 KR101574257 B1 KR 101574257B1 KR 1020090048021 A KR1020090048021 A KR 1020090048021A KR 20090048021 A KR20090048021 A KR 20090048021A KR 101574257 B1 KR101574257 B1 KR 101574257B1
Authority
KR
South Korea
Prior art keywords
command
data storage
instruction
host
cdb
Prior art date
Application number
KR1020090048021A
Other languages
Korean (ko)
Other versions
KR20100129454A (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 KR1020090048021A priority Critical patent/KR101574257B1/en
Priority to US12/783,827 priority patent/US8850600B2/en
Publication of KR20100129454A publication Critical patent/KR20100129454A/en
Application granted granted Critical
Publication of KR101574257B1 publication Critical patent/KR101574257B1/en

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/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

Landscapes

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

Abstract

데이터 저장 장치에 저장되어 있는 보안 코드를 보호할 수 있는 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템이 제공된다. 본 발명의 실시예에 따른 데이터 저장 장치는, 롬 코드에 의해서만 CDB 정보가 판독될 수 있도록 함으로써 제 3자의 보안 코드에 대한 무단 액세스를 효율적으로 예방할 수 있다.There is provided a data storage device capable of protecting a security code stored in a data storage device and a data storage system including the same. The data storage device according to the embodiment of the present invention can effectively prevent the unauthorized access to the security code of the third party by allowing the CDB information to be read only by the ROM code.

Description

데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템{Data storage device and data storage system having the same}[0001] The present invention relates to a data storage device and a data storage system including the same,

본 발명에 따른 실시예는 데이터 보안 기술에 관한 것으로서, 보다 구체적으로 롬 코드에 의해서만 CDB 정보가 판독될 수 있도록 함으로써 제 3자의 보안 코드에 대한 무단 액세스를 효율적으로 예방할 수 있는 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템에 관한 것이다.An embodiment of the present invention relates to a data security technology, and more particularly, to a data storage device capable of effectively preventing unauthorized access to a security code of a third party by allowing CDB information to be read only by a ROM code Lt; / RTI >

최근 들어 하드 디스크 드라이브(HDD; hard disk drive)는 랜덤 액세스가 가능하고 데이터 전송 속도가 우수하며 다른 보조 기억 장치들에 비해 저가이면서도 대용량화가 용이하다는 장점으로 인하여 멀티미디어 데이터 저장을 위해 많이 사용되고 있는 추세이다. Recently, a hard disk drive (HDD) has been widely used for storing multimedia data because it has a random access capability, an excellent data transfer speed, and an advantage of being low cost and high capacity compared to other auxiliary storage devices .

이러한 하드 디스크 드라이브의 사용이 증가함에 따라 하드 디스크 드라이브에 저장된 데이터에 대한 보안 문제가 중요한 이슈로 떠오르고 있으며, 따라서 하드 디스크 드라이브에 저장된 데이터 등을 암호화하거나 사용자 인증 등의 절차를 수행하는 경우가 상당히 증가하고 있다.As the use of such a hard disk drive increases, a problem of security for data stored in the hard disk drive becomes an important issue. Therefore, the case of encrypting data stored in a hard disk drive or performing a procedure such as user authentication is considerably increased .

이렇게 보안 기능을 구비한 하드 디스크 드라이브에 있어서 인증이나 데이터 암호화를 위해서는 암호키를 필요로 하고, 상기 암호키는 제3자의 공격으로부터 안전해야 하며 사용자가 원하는 시기에 용이하게 변경이 가능하여야 한다. In the hard disk drive having the security function, a cryptographic key is required for authentication and data encryption. The cryptographic key must be safe from attack by a third party and must be easily changeable at a desired time.

상기 하드 디스크 드라이브와 같은 데이터 저장 장치의 소정 영역에는 보안 코드를 저장할 수 있는데, 제3자는 상기 하드 디스크 드라이브에 저장된 보안 코드를 변경시킴으로써 데이터의 보안 기능을 무력화할 수 있다.The security code may be stored in a predetermined area of the data storage device such as the hard disk drive. The third party may disable the security function of the data by changing the security code stored in the hard disk drive.

데이터 저장 장치는 보안 기능을 포함한 펌웨어(firmware)를 기본적으로 변경하지 않는 것을 원칙으로 하지만, 코드 버그(code bug)에 대한 펌웨어 업그레이트 등을 위해 펌웨어 다운로드 기능을 보유하고 있는 것이 일반적이다. 이러한 펌웨어 다운로드 기능을 특정인(예컨대, 제조자)에게만 허용하는 보안 다운로드 기능이 구현되기도 하지만, 이러한 기능 역시 보안 기능을 무력화시킬 수 있는 특정 집단을 허용할 수밖에 없다는 점에서 한계를 갖게 된다.The data storage device does not basically change the firmware including the security function. However, it is general that the data storage device has a firmware download function for upgrading the firmware to a code bug. Although a security download function that permits such a firmware download function only to a specific person (e.g., a manufacturer) is implemented, such a function also has a limitation in that it can not allow a specific group that can disable the security function.

따라서, 본 발명에 따른 실시예는 상기의 문제점을 해결하고자 안출된 것으로서, 본 발명에 따른 실시예는 펌웨어 다운로드 기능을 훼손하지 않으면서도 보안 코드에 대한 공격을 효과적으로 방어할 수 있는 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템을 제공하는 것을 목적으로 한다.The embodiments of the present invention are directed to a data storage device capable of effectively protecting an attack against a security code without damaging a firmware download function and a data storage device And to provide a data storage system including the data storage system.

상기의 기술적 과제를 해결하기 위한 데이터 저장 장치는, 호스트로부터 출력된 명령어를 저장하기 위한 명령어 기술자 블록(CDB); 상기 명령어 기술자 블록(CDB)에 저장된 명령어에 기초하여 데이터의 액세스 동작을 제어하기 위한 컨트롤러; 및 상기 호스트에서 출력된 명령어가 상기 컨트롤러에 선택적으로 제공될 수 있도록 하는 스위칭 회로를 포함할 수 있다.According to an aspect of the present invention, there is provided a data storage device including: a command descriptor block (CDB) for storing a command output from a host; A controller for controlling an access operation of data based on an instruction stored in the instruction descriptor block (CDB); And a switching circuit that allows the command output from the host to be selectively provided to the controller.

상기 스위칭 회로는, 상기 명령어 기술자 블록(CDB)에 저장된 상기 명령어가 리드/라이트 명령어인지 또는 보안 명령어인지를 판단하기 위한 명령어 판단부; 상기 명령어 판단부의 판단 결과에 기초하여 스위칭 제어 신호를 출력하기 위한 플립 플롭 회로; 및 상기 플립 플롭 회로에서 출력된 상기 스위칭 제어 신호에 응답하여 상기 호스트와 상기 컨트롤러 사이의 명령어 전송 경로를 제어하기 위한 버퍼를 포함할 수 있다.Wherein the switching circuit comprises: a command determination unit for determining whether the command stored in the command descriptor block (CDB) is a read / write command or a security command; A flip-flop circuit for outputting a switching control signal based on a result of the judgment by the instruction judging section; And a buffer for controlling a command transmission path between the host and the controller in response to the switching control signal output from the flip-flop circuit.

상기 플립 플롭 회로는, 상기 명령어 판단부의 상기 판단 결과를 세트 입력으로 갖고, 상기 명령어 기술자 블록(CDB)에 저장된 상기 명령어가 상기 리드/라이 트 명령어인 경우에 상기 세트 입력이 활성화될 수 있다.The flip-flop circuit may have the set determination result of the instruction determination unit as a set input, and the set input may be activated when the instruction stored in the instruction descriptor block (CDB) is the read / write instruction.

상기 명령어 판단부는 롬(ROM)에서 수행되고, 상기 세트 입력은 롬 인에이블 신호일 수 있다. The instruction determiner may be implemented in a ROM, and the set input may be a ROM enable signal.

상기 플립 플롭 회로는 상기 활성화된 세트 입력에 응답하여 제1 스위칭 제어 신호를 출력하고, 상기 버퍼는 상기 제1 스위칭 제어 신호에 응답하여 인에이블될 수 있다.The flip-flop circuit outputs a first switching control signal in response to the activated set input, and the buffer may be enabled in response to the first switching control signal.

상기 플립 플롭 회로는, 상기 명령어 판단부의 상기 판단 결과를 리세트 입력으로 갖고, 상기 명령어 기술자 블록(CDB)에서 출력된 상기 명령어가 상기 보안 명령어인 경우에 상기 리세트 입력이 활성화될 수 있다.The flip-flop circuit may have the reset result of the command determiner as a reset input, and the reset input may be activated when the command output from the command descriptor block (CDB) is the security command.

상기 플립 플롭 회로는 상기 활성화된 리세트 입력에 응답하여 제2 스위칭 제어 신호를 출력하고, 상기 버퍼는 상기 제2 스위칭 제어 신호에 응답하여 디스에이블될 수 있다.The flip-flop circuit outputs a second switching control signal in response to the activated reset input, and the buffer may be disabled in response to the second switching control signal.

상기의 기술적 과제를 해결하기 위한 데이터 저장 시스템은, 호스트; 및 상기 호스트로부터 출력된 명령어에 응답하여 액세스 동작을 수행하기 위한 데이터 저장 장치를 포함하고, 상기 데이터 저장 장치는, 상기 호스트로부터 출력된 명령어를 저장하기 위한 명령어 기술자 블록(CDB); 상기 명령어 기술자 블록(CDB)에 저장된 명령어에 기초하여 데이터의 액세스 동작을 제어하기 위한 컨트롤러; 및 상기 호스트에서 출력된 명령어가 상기 컨트롤러에 선택적으로 제공될 수 있도록 하는 스위칭 회로를 포함할 수 있다.According to an aspect of the present invention, there is provided a data storage system comprising: a host; And a data storage device for performing an access operation in response to an instruction output from the host, the data storage device comprising: a command descriptor block (CDB) for storing a command output from the host; A controller for controlling an access operation of data based on an instruction stored in the instruction descriptor block (CDB); And a switching circuit that allows the command output from the host to be selectively provided to the controller.

상기 명령어 기술자 블록(CDB)에 저장된 상기 명령어가 리드/라이트 명령어 인지 또는 보안 명령어인지를 판단하기 위한 명령어 판단부; 상기 명령어 판단부의 판단 결과에 기초하여 스위칭 제어 신호를 출력하기 위한 플립 플롭 회로; 및 상기 플립 플롭 회로에서 출력된 상기 스위칭 제어 신호에 응답하여 상기 호스트와 상기 컨트롤러 사이의 명령어 전송 경로를 제어하기 위한 버퍼를 포함할 수 있다.A command determiner for determining whether the command stored in the command descriptor block (CDB) is a read / write command or a security command; A flip-flop circuit for outputting a switching control signal based on a result of the judgment by the instruction judging section; And a buffer for controlling a command transmission path between the host and the controller in response to the switching control signal output from the flip-flop circuit.

상기 데이터 저장 장치는 하드 디스크 드라이브일 수 있다.The data storage device may be a hard disk drive.

본 발명의 실시예에 따른 데이터 저장 장치는, 펌웨어 다운로드 기능을 유지하면서 보안 코드에 대한 공격을 효과적으로 예방할 수 있다.The data storage device according to the embodiment of the present invention can effectively prevent the attack on the security code while maintaining the firmware download function.

특정한 구조 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니된다.It is to be understood that the specific structure or functional description is illustrative only for the purpose of describing an embodiment in accordance with the concept of the present invention and that the embodiments according to the concept of the present invention may be embodied in various forms, Should not be construed as limited to these.

본 발명의 개념에 따른 실시예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시예들은 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시 형태에 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The embodiments according to the concept of the present invention can make various changes and have various forms, so that specific embodiments are illustrated in the drawings and described in detail in this specification or application. However, it should be understood that the embodiments according to the concept of the present invention are not intended to limit the present invention to specific modes of operation, but include all changes, equivalents, and alternatives included in the spirit and scope of the present invention.

제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 한정되지는 않는다. 상기 용어들은 하 나의 구성 요소를 다른 구성 요소들로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다. The terms first and / or second etc. may be used to describe various components, but the components are not limited to these terms. The terms may be named as a second component only for the purpose of distinguishing one component from another, for example, without departing from the scope of the right according to the concept of the present invention, The second component may also be referred to as a first component.

어떠한 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떠한 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 또는 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하기 위한 다른 표현들, 즉 '∼사이에'와 '바로 ∼사이에' 또는 '∼에 이웃하는'과 '∼에 직접 이웃하는' 등의 표현도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when it is mentioned that an element is "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Other expressions to describe the relationship between components, such as 'between' and 'between' or 'neighboring to' and 'directly adjacent to' should be interpreted as well.

본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서 '포함하다' 또는 '가지다' 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. It will be understood by those skilled in the art that the term " comprises " or " having " in the present specification is intended to specify the presence of stated features, integers, But do not preclude the presence or addition of steps, operations, elements, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전의 정의 되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless expressly defined herein, are to be construed as an ideal or overly formal sense Do not.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명하도록 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 데이터 저장 장치(100)의 개략적인 블록도이다. 본 발명의 실시예에 따른 데이터 저장 장치(100)는, 명령어 기술자 블록(CDB, 110), 컨트롤러(130), 및 스위칭 회로(190)를 포함할 수 있다.1 is a schematic block diagram of a data storage device 100 according to an embodiment of the present invention. A data storage device 100 according to an embodiment of the present invention may include a command descriptor block (CDB) 110, a controller 130, and a switching circuit 190.

상기 명령어 기술자 블록(CDB, command descriptor block, 110)은 호스트(200)로부터 출력된 명령어를 저장할 수 있다. 실시예에 따라, 상기 명령어 기술자 블록(110)은 동작 코드(operation code), 논리적 블록 어드레스(logical block address), 전송 길이(transfer length), 제어 바이트(control byte) 등을 포함할 수 있다. The command descriptor block (CDB) 110 may store a command output from the host 200. According to an embodiment, the instruction descriptor block 110 may include an operation code, a logical block address, a transfer length, a control byte, and the like.

상기 컨트롤러(controller, 130)는 상기 명령어 기술자 블록(110)으로부터 출력된 명령어에 기초하여 데이터의 액세스 동작을 제어할 수 있다. 상기 액세스 동작은, 데이터의 프로그램 동작, 라이트 동작, 이레이즈 동작, 및 리드 동작 등을 포함할 수 있다. 즉, 상기 명령어 기술자 블록(110)은 상기 호스트(200)에서 출력된 명령어가 상기 컨트롤러(130)로 전송될 경우에, 상기 명령어를 일시적으로 저장하는 역할을 수행할 수 있다.The controller 130 may control the access operation of the data based on the command word output from the command descriptor block 110. The access operation may include a program operation of data, a write operation, an erase operation, a read operation, and the like. That is, the command descriptor block 110 may temporarily store the command when the command output from the host 200 is transmitted to the controller 130.

또한, 상기 스위칭 회로(switching circuit, 190)는 상기 호스트(200)에서 출력된 명령어가 상기 컨트롤러(130)에 선택적으로 제공될 수 있도록 상기 호스트(200)와 상기 컨트롤러(130) 사이에 위치한 버퍼(120)의 인에이블/디스에이블 동작을 제어할 수 있다. The switching circuit 190 may include a buffer 130 disposed between the host 200 and the controller 130 so that a command output from the host 200 may be selectively provided to the controller 130. [ 120 in response to the request signal.

보다 구체적으로, 상기 스위칭 회로(190)는 명령어 판단부(140), 플립 플롭 회로(160), 및 버퍼(120)를 포함할 수 있다. More specifically, the switching circuit 190 may include an instruction determiner 140, a flip-flop circuit 160, and a buffer 120.

상기 명령어 판단부(command classifier, 140)는 상기 명령어 기술자 블록(110)에 저장된 명령어가 리드/라이트 명령어(read/write command)인지 보안 명령어(security command)인지 여부를 판단할 수 있다. 본 발명에 따른 실시예에서는 액세스 동작의 일 예로서 리드/라이트를 예시하지만, 상기 리드/라이트 명령어 이외에도 프로그램 명령어(program command)와 이레이즈 명령어(erase command)를 더 포함할 수도 있다.The command classifier 140 may determine whether the command stored in the command descriptor block 110 is a read / write command or a security command. In the embodiment according to the present invention, read / write is exemplified as an example of an access operation, but it may further include a program command and an erase command in addition to the read / write command.

또한, 상기 명령어 판단부(140)는 롬(ROM; read only memory)에 의해서 동작이 수행될 수 있으며, 따라서 상기 명령어 판단부(140)는 제3자가 임의로 접근할 수 없으며 데이터 저장 장치의 제품 출하 후에도 변경이 불가능하다.In addition, the command determination unit 140 can be operated by a ROM (read only memory), so that the command determination unit 140 can not arbitrarily access a third party, It is not possible to change it later.

상기 명령어 판단부(140)에 의해서 명령어의 종류가 판단되면, 판단된 명령어의 종류에 따라 명령어가 각각 디스패치(dispatch)될 수 있다. 도 1 및 도 2를 참조하여, 상기 디스패치 동작을 구체적으로 설명하면, 상기 명령어 판단부(140)는 상기 명령어 기술자 블록(110)에 저장된 명령어를 리드하여(S210), 저장된 명령어가 보안 명령어인지 리드/라이트 명령어인지를 판단할 수 있다(S220). If the type of the instruction is determined by the instruction determination unit 140, the instruction may be dispatched according to the type of the determined instruction. 1 and 2, the instruction determiner 140 reads a command stored in the command descriptor block 110 (S210) and determines whether the stored command is a security command or a read command / Write command (S220).

판단 결과, 저장된 명령어가 보안 명령어(security command)이면 상기 명령어 판단부(140)는 제1 디스패처(first dispatcher, 171)를 활성화할 수 있고, 상기 제1 디스패처(171)는 보안 명령어 디스패처(security command dispatcher)일 수 있다. If the stored command is a security command, the command determination unit 140 may activate a first dispatcher 171, and the first dispatcher 171 may be a security command dispatcher dispatcher).

판단 결과, 저장된 명령어가 리드/라이트 명령어(read/write command)이면 상기 명령어 판단부(140)는 제2 디스패처(second dispatcher, 172)를 활성화할 수 있고, 상기 제2 디스패처(172)는 리드/라이트 명령어 디스패처(R/W command dispatcher)일 수 있다. As a result of the determination, if the stored instruction is a read / write command, the instruction determination unit 140 may activate a second dispatcher 172, and the second dispatcher 172 may activate the second dispatcher 172, And may be a R / W command dispatcher.

상기 디스패처들(171 및 172)은 뉴 커맨드 인터럽트(new_command interrupt) 등의 방법으로 디스패치 동작을 수행할 수 있으며, 예컨대 상기 디스패치 동작은 상기 호스트(200)로부터 출력된 명령어를 수행하기 위한 함수 또는 그들의 집합을 호출하는 것을 포함할 수 있다. The dispatchers 171 and 172 may perform a dispatch operation such as a new command interrupt or the like. For example, the dispatch operation may be a function for performing a command output from the host 200, Lt; / RTI >

또한, 도 1에 도시된 바와 같이, 상기 명령어 판단부(140)에서 판단된 판단 결과는 활성화 제어부(activation control unit, 150)로 전달될 수 있다. 상기 활성화 제어부(150)는, 상기 명령어 판단부(140)의 판단 결과에 기초하여, 제1 인에이블 신호(예컨대, 활성화 신호) 또는 제2 인에이블 신호(예컨대, 비활성화 신호) 중에서 어느 하나를 선택적으로 출력할 수 있다. Also, as shown in FIG. 1, the determination result of the command determination unit 140 may be transmitted to an activation control unit 150. [ The activation control unit 150 selects either the first enable signal (for example, the activation signal) or the second enable signal (for example, the deactivation signal) on the basis of the determination result of the command determination unit 140 As shown in FIG.

예컨대, 상기 명령어 판단부(140)와 상기 제1 디스패처(171)가 롬 코드(ROM code)로 구현되고 상기 제2 디스패처(172)가 램 코드(RAM code) 또는 플래시 코드(Flash code)로서 구현되는 실시예에서, 상기 명령어 판단부(140)에 의해 상기 명령어 기술자 블록(110)에 저장된 명령어가 리드/라이트 명령어인 것으로 판단되면 상기 제2 디스패처(172)가 수행되어 상기 활성화 제어부(150)가 비활성화되고 동시에 상기 램 인에이블 신호(RAM Enable) 또는 플래시 인에이블 신호(Flash Enable)가 활성화될 수 있다. For example, when the instruction determiner 140 and the first dispatcher 171 are implemented as ROM code and the second dispatcher 172 is implemented as a RAM code or a Flash code, The second dispatcher 172 is executed by the instruction determiner 140 so that the activation controller 150 determines whether the instruction stored in the instruction descriptor block 110 is a read / And the RAM enable signal or the flash enable signal (Flash Enable) may be activated at the same time.

따라서, 상기 연산 소자(177)의 배타적 논리합 연산(Exclusive OR)에 의해 상기 버퍼(120)가 인에이블될 수 있고, 그 결과 상기 버퍼(120)에 저장된 데이터가 상기 컨트롤러(130) 또는 상기 호스트(200)로 전송 또는 수신이 가능하다. Accordingly, the buffer 120 can be enabled by the exclusive OR operation of the arithmetic element 177 so that the data stored in the buffer 120 is transferred to the controller 130 or the host 200).

유사하게, 상기 명령어 기술자 블록(110)에 저장된 명령어가 상기 명령어 판단부(140)에 의해 보안 명령어인 것으로 판단될 경우, 상기 제1 디스패처(171)가 수행되고 동시에 상기 롬 인에이블 신호(ROM Enable)가 활성화될 수 있다.Similarly, when it is determined that the command stored in the command descriptor block 110 is a security command by the command determiner 140, the first dispatcher 171 is executed and at the same time, the ROM enable signal Can be activated.

따라서, 배타적 논리합 연산에 의해 상기 버퍼(120)가 인에이블될 수 있고, 그 결과 상기 버퍼(120)에 저장된 데이터가 상기 컨트롤러(130) 또는 상기 호스트(200)로 전송 또는 수신이 가능하다. Therefore, the buffer 120 can be enabled by the exclusive-OR operation, and as a result, the data stored in the buffer 120 can be transmitted or received to the controller 130 or the host 200.

만일, 상기 제1 디스패처(171)가 롬이 아닌 램/플래시에서 동작할 경우에, 상기 활성화 제어부(140)는 활성화되지만 상기 램 인에이블 신호(RAM Enable)에 의해 상기 플립 플롭 회로(160)이 비활성화 되므로 상기 버퍼(120)는 디스에이블되고, 따라서 상기 버퍼(120)에 저장된 데이터가 상기 호스트(200)에 전송되는 것이 차단될 수 있다. If the first dispatcher 171 operates in a non-ROM RAM / flash, the activation control unit 140 is activated, but the RAM-enable signal causes the flip-flop circuit 160 The buffer 120 is disabled so that the data stored in the buffer 120 can be blocked from being transmitted to the host 200. [

도 1에 도시된 바와 같이, 상기 플립 플롭 회로(160)의 세트 입력 신호로는 롬 인에이블 신호가 사용될 수 있으며, 상기 플립 플롭 회로(160)의 리세트 입력 신호로는 플래시 인에이블 신호 또는 램 인에이블 신호가 사용될 수 있다. As shown in FIG. 1, a ROM enable signal may be used as a set input signal of the flip-flop circuit 160. The reset input signal of the flip-flop circuit 160 may be a flash enable signal, An enable signal may be used.

즉, 명령어 기술자 블록(110)에 저장된 정보는 반드시 ROM 코드에 의해서만 리드될 수 있기 때문에 그 이외의 어떠한 방법으로도 상기 명령어 기술자 블록(110)에 저장된 정보에 액세스할 수 없으며, 따라서 제3자의 보안 코드에 대한 접근이 원칙적으로 차단될 수 있다.That is, since the information stored in the command descriptor block 110 can be read only by the ROM code, the information stored in the command descriptor block 110 can not be accessed by any other method, Access to code can, in principle, be blocked.

또한, 도 1에 도시된 바와 같이 데이터 저장 장치(100)가 구현될 경우에는 상기 보안 코드를 바이패스(bypass)시키는 것이 불가능하게 된다. 예컨대, 상기 보안 코드를 바이패스시키기 위해서 뉴 커맨드 인터럽트(new_command interrupt)의 브랜지 어드레스(branch address; 분기 주소)를 상기 보안 코드가 아닌 다른 영역(예컨대, 플래시 또는 램)을 선정할 경우에 상기 명령어 지시자 블록(110)의 정보를 리드하지 못하게 되어 정상적인 리드/라이트 동작의 수행이 불가능할 수 있다.In addition, when the data storage device 100 is implemented as shown in FIG. 1, it is impossible to bypass the security code. For example, when an area other than the security code (e.g., flash or RAM) is selected as a branch address (branch address) of a new command interrupt to bypass the security code, It is impossible to read the information of the indicator block 110 and it may be impossible to perform a normal read / write operation.

상기와 같이, 보안 코드가 제3자에 의해 변경되는 것을 방지하기 위해서 롬 저장 영역에 상기 보안 코드를 저장할 수 있다. 하지만, 실시예에 따라, 롬 저장 영역 이외의 영역에도 상기 보안 코드가 저장될 수 있는데, 이에 대해서 기술하기로 한다.As described above, the security code may be stored in the ROM storage area to prevent the security code from being changed by a third party. However, according to the embodiment, the security code may be stored in an area other than the ROM storage area, which will be described.

일반적인 데이터 저장 장치(예컨대, 디스크 또는 플래시 등)는 버퍼 메모리(buffer memory)를 포함할 수 있는데, 상기 버퍼 메모리와 저장 공간 사이에 암호화 블록(encryption/decryption block)을 구비할 수 있다. 상기 암호화 블록은 암호화 동작을 위하여 암호키(key)를 사용할 수 있으며, 상기 암호키는 데이터 저장 장치에 대한 정상적인 인증과정이 수행된 경우에만 올바르게 설정되고 그렇지 않으면 잘못된 키가 설정될 수 있다. 따라서, 암호화된 메시지(또는 데이터)는 복호화를 수행하더라고 원래의 메시지(또는 데이터)를 복원할 수 없게 된다.A typical data storage device (e.g., disk or flash) may include a buffer memory, which may include an encryption / decryption block between the buffer memory and the storage space. The cryptographic block may use a cryptographic key for the cryptographic operation, and the cryptographic key may be set correctly only when a normal authentication process for the data storage device is performed, or an incorrect key may be set. Thus, the encrypted message (or data) is unable to restore the original message (or data) even though it is performing the decryption.

이러한 보안 기능을 갖는 데이터 저장 장치에서 보안 명령어에 의해 수행되는 보안 코드는 암호화되어 저장 장치에 저장될 수 있고, 리드/라이트 코드는 평문(plain text)의 형태로 저장될 수 있다. In the data storage device having such a security function, the security code performed by the security command may be encrypted and stored in the storage device, and the read / write code may be stored in the form of plain text.

상기 보안 코드를 수행시키기 위하여 본 발명의 실시예에 따른 데이터 저장 장치(100)는 코드 오버레이(code overlay) 기능을 더 구비할 수 있으며, 오버레이 코드 또한 롬 저장 영역에 저장되어 제3자가 임의적으로 변경할 수 없도록 할 수 있다.In order to execute the security code, the data storage device 100 according to the embodiment of the present invention may further include a code overlay function. The overlay code may also be stored in the ROM storage area, Can not be done.

이때, 리드/라이트 코드의 경우는 일반적인 드라이브처럼 코드 다운로드가 가능하지만,상기 보안 코드의 경우에는 정상적인 인증과정을 거쳐 데이터 저장 장치가 언락(unlock)된 경우에만 업데이트가 가능하다. 따라서, 제3자가 상기 보안 코드의 저장 위치를 알고 있더라고 정상적인 인증 과정을 거치지 않고서는 업데이트된 코드를 획득할 수 없게 된다.At this time, in the case of the read / write code, the code can be downloaded as in a general drive, but in the case of the security code, the data can be updated only when the data storage device is unlocked through a normal authentication process. Therefore, even if the third party knows the storage location of the security code, the updated code can not be obtained without a normal authentication process.

도 3은 본 발명의 실시예에 따른 데이터 저장 시스템(1)의 개략적인 블록도이다. 도 3을 참조하면, 본 발명의 실시예에 따른 데이터 저장 시스템(1)은 시스템 버스(system bus, 110)에 접속된 데이터 저장 장치(100)와 프로세서(processor, 120)를 포함할 수 있다.3 is a schematic block diagram of a data storage system 1 according to an embodiment of the present invention. Referring to FIG. 3, a data storage system 1 according to an embodiment of the present invention may include a data storage device 100 and a processor 120 connected to a system bus 110.

상기 프로세서(120)는 상기 데이터 저장 장치(100)의 프로그램 동작(또는 기입 동작), 독출 동작, 또는 검증 동작을 제어하기 위한 제어 신호들을 생성할 수 있다. 따라서, 상기 데이터 저장 장치(100)의 제어 블록(미도시)은 상기 프로세서(120)로부터 출력된 제어 신호에 응답하여 프로그램 동작(또는 기입 동작), 독출 동작, 또는 검증 동작 등을 수행할 수 있다. The processor 120 may generate control signals for controlling a program operation (or a write operation), a read operation, or a verify operation of the data storage device 100. [ Accordingly, the control block (not shown) of the data storage device 100 may perform a program operation (or a write operation), a read operation, a verify operation, or the like in response to the control signal output from the processor 120 .

본 발명의 실시예에 따른 데이터 저장 방법 또는 데이터 암호화 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. The data storage method or the data encryption method according to an embodiment of the present invention may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and configured for the present invention or may be available to those skilled in the art of computer software.

컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), PRAM, RRAM, FRAM, 플래시(Flash) 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Includes hardware devices that are specially configured to store and execute program instructions such as magneto-optical media and ROM, RAM, PRAM, RRAM, FRAM, Flash memory, and the like.

프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명에 따른 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules for performing the operations of the embodiments of the present invention, and vice versa.

실시예에 따라, 본 발명의 실시예에 따른 데이터 저장 시스템(1)이 휴대용 어플리케이션(portalble application)으로 구현되는 경우에, 본 발명의 실시예에 따른 데이터 저장 시스템(1)은 상기 데이터 저장 장치(100)와 상기 프로세서(120)로 동작 전원을 공급하기 위한 배터리(battery, 150)를 더 포함할 수 있다.According to an embodiment, when the data storage system 1 according to the embodiment of the present invention is implemented as a portal application, the data storage system 1 according to the embodiment of the present invention may be implemented as a data storage system 100 and a battery 150 for supplying operating power to the processor 120. [

상기 휴대용 어플리케이션은, 휴대용 컴퓨터(portable computer), 디지털 카메라(digital camera), PDA(personal digital assistance), 휴대 전화기(cellular telephone), MP3 플레이어, PMP(portable multimedia player), 차량자동항법장치(automotive navigation system), 메모리 카드(memory card), 시스템 카드(system card), 게임기, 전자 사전, 또는 솔리드 스테이트 디스크(solid state disk)를 포함할 수 있다.The portable application may be a portable computer, a digital camera, a personal digital assistance (PDA), a cellular telephone, an MP3 player, a portable multimedia player (PMP), an automotive navigation system system, a memory card, a system card, a game machine, an electronic dictionary, or a solid state disk.

본 발명의 실시예에 따른 데이터 저장 시스템(1)은 외부의 데이터 처리 장치와 데이터를 주고 받을 수 있도록 하는 인터페이스, 예컨대 입/출력 장치(130)를 더 포함할 수 있다.The data storage system 1 according to an embodiment of the present invention may further include an interface (e.g., an input / output device 130) for exchanging data with an external data processing apparatus.

본 발명의 실시예에 따른 데이터 저장 시스템(1)이 무선 시스템인 경우, 본 발명의 실시예에 따른 데이터 저장 시스템(1)은 무선 인터페이스(140)를 더 포함할 수 있다. 이 경우 무선 인터페이스(140)는 프로세서(120)에 접속되고 시스템 버스(110)를 통하여 무선으로 외부 무선 장치와 데이터를 송수신할 수 있다.When the data storage system 1 according to the embodiment of the present invention is a wireless system, the data storage system 1 according to an embodiment of the present invention may further include a wireless interface 140. [ In this case, the wireless interface 140 may be connected to the processor 120 and wirelessly transmit and receive data to and from the external wireless device via the system bus 110. [

상기 무선 시스템은 PDA, 휴대용 컴퓨터, 무선 전화기, 페이저(pager), 디지털 카메라와 같은 무선 장치, RFID 리더, 또는 RFID 시스템일 수 있다. 또한, 상기 무선 시스템은 WLAN(Wireless Local Area Network) 시스템 또는 WPAN(Wireless Personal Area Network) 시스템일 수 있다. 또한, 상기 무선 시스템은 이동 전화 네트워크(Cellular Network)일 수 있다.The wireless system may be a PDA, a portable computer, a wireless telephone, a wireless device such as a pager, a digital camera, an RFID reader, or an RFID system. In addition, the wireless system may be a wireless local area network (WLAN) system or a wireless personal area network (WPAN) system. The wireless system may also be a cellular network.

본 발명의 실시예에 따른 데이터 저장 시스템(1)이 이미지 촬상 장치(image pick-up device)인 경우, 본 발명의 실시예에 따른 데이터 저장 시스템(1)은 광학 신호를 전기 신호로 변환할 수 있는 이미지 센서(image sensor, 160)를 더 포함할 수 있다. 상기 이미지 센서(160)는 전자 결합 소자(CCD; charge-coupled device)를 이용한 이미지 센서일 수 있고, 또는 CMOS(complementary metal-oxide semiconductor) 이미지 센서일 수 있다. 이 경우 본 발명의 실시예에 따른 데이터 저장 시스템(1)은 디지털 카메라 또는 디지털 카메라가 부착된 이동 전화기일 수 있다. 또한, 본 발명의 실시예에 따른 데이터 저장 시스템(1)은 카메라가 부착된 인공 위성 시스템(satellite system)일 수 있다. When the data storage system 1 according to the embodiment of the present invention is an image pick-up device, the data storage system 1 according to the embodiment of the present invention can convert an optical signal into an electric signal And may further include an image sensor 160. The image sensor 160 may be an image sensor using a charge-coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) image sensor. In this case, the data storage system 1 according to the embodiment of the present invention may be a digital camera or a mobile phone with a digital camera attached thereto. In addition, the data storage system 1 according to an embodiment of the present invention may be a satellite system with a camera attached thereto.

또한, 본 발명에 따른 실시예는 컴퓨터로 판독할 수 있는 기록 매체에 컴퓨터가 판독할 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 판독할 수 있는 기록 매체는 컴퓨터 시스템에 의하여 판독될 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함할 수 있다. 컴퓨터가 판독할 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예컨대, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함될 수 있다. 또한, 컴퓨터가 판독할 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터가 판독할 수 있는 코드로 저장되고 실행될 수 있다.In addition, the embodiment according to the present invention can be embodied as computer-readable code on a computer-readable recording medium. The computer-readable recording medium may include any type of recording device in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and may be implemented in the form of a carrier wave . In addition, the computer-readable recording medium may be stored in a computer-readable code distributed in a distributed manner in a computer system connected to the network and executed.

또한, 본 발명의 실시예에 따른 데이터 저장 장치는 다양한 패키지(package) 형태로 구현될 수 있으며, 상기 패키지의 형태로는 PoP(Package On Package), BGAs(Ball Grid Arrays), CSPs(Chip Scale Packages), PLCC({lastic Leaded Chip Carrier), PDIP(Plastic Dual In-Line Package), Die in Waffle Pack, Din in Wafer Form, COB(Chip Ob Board), CERDIP(CERamic Dual In-Line Package), MQFP(plastic metric quad flat pack), TQFP(Thin Quad FlatPack), SOIC(small outline), SSOP(shrink small outline package), TSOP(thin small outline), SIP(system in package), MCP(multi chip package), WFP(wafer-level fabricated package), 또는 WSP(wafer-level processed stack package) 등을 예시할 수 있다.The data storage device according to an embodiment of the present invention may be implemented in various packages. In the form of a package, a Package On Package (PoP), Ball Grid Arrays (BGAs), Chip Scale Packages ), PLCC (Plastic Leaded Chip Carrier), PDIP (Plastic Dual In-Line Package), Die in Waffle Pack, Din in Wafer Form, COB (Chip Ob Board), CERDIP plastic metric quad flat pack, thin quad flat pack (TQFP), small outline (SOIC), shrink small outline package (SSOP), thin small outline (TSOP), system in package (SIP) (wafer-level fabricated package), or a wafer-level processed stack package (WSP).

본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 것을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.BRIEF DESCRIPTION OF THE DRAWINGS A brief description of each drawing is provided to more fully understand the drawings recited in the description of the invention.

도 1은 본 발명의 실시예에 따른 데이터 저장 장치의 개략적인 블록도.1 is a schematic block diagram of a data storage device according to an embodiment of the present invention;

도 2는 본 발명의 실시예에 따른 디스패치 동작을 설명하기 위한 순서도.2 is a flowchart illustrating a dispatch operation according to an embodiment of the present invention;

도 3은 본 발명의 실시예에 따른 데이터 저장 시스템의 개략적인 블록도.3 is a schematic block diagram of a data storage system in accordance with an embodiment of the present invention.

Claims (10)

호스트로부터 출력된 명령어를 저장하기 위한 명령어 기술자 블록(CDB); A command descriptor block (CDB) for storing a command output from the host; 상기 명령어 기술자 블록(CDB)에 저장된 명령어에 기초하여 데이터의 액세스 동작을 제어하기 위한 컨트롤러; 및A controller for controlling an access operation of data based on an instruction stored in the instruction descriptor block (CDB); And 상기 호스트로부터 출력된 명령어가 상기 컨트롤러에 선택적으로 제공될 수 있도록 하는 스위칭 회로를 포함하고,And a switching circuit for allowing a command output from the host to be selectively provided to the controller, 상기 스위칭 회로는,Wherein the switching circuit comprises: 상기 명령어 기술자 블록(CDB)에 저장된 상기 명령어가 리드/라이트 명령어인지 또는 보안 명령어인지를 판단하기 위한 명령어 판단부;A command determiner for determining whether the command stored in the command descriptor block (CDB) is a read / write command or a security command; 상기 명령어 판단부의 판단 결과에 기초하여 스위칭 제어 신호를 출력하기 위한 플립 플롭 회로; 및A flip-flop circuit for outputting a switching control signal based on a result of the judgment by the instruction judging section; And 상기 플립 플롭 회로로부터 출력된 상기 스위칭 제어 신호에 응답하여 상기 호스트와 상기 컨트롤러 사이의 명령어 전송 경로를 제어하기 위한 버퍼를 포함하는,And a buffer for controlling a command transmission path between the host and the controller in response to the switching control signal output from the flip-flop circuit. 데이터 저장 장치.Data storage device. 삭제delete 제1항에 있어서, 상기 플립 플롭 회로는,2. The flip-flop circuit according to claim 1, 상기 명령어 판단부의 상기 판단 결과를 세트 입력으로 갖고,And the result of the determination by the instruction determination unit is set as the input, 상기 명령어 기술자 블록(CDB)에 저장된 상기 명령어가 리드/라이트 명령어인 경우에 상기 세트 입력이 활성화되는 데이터 저장 장치.Wherein the set input is activated when the instruction stored in the instruction descriptor block (CDB) is a read / write instruction word. 제3항에 있어서, The method of claim 3, 상기 명령어 판단부는 롬(ROM)에서 수행되고, 상기 세트 입력은 롬 인에이블 신호인 데이터 저장 장치.Wherein the command decision unit is implemented in a ROM and the set input is a ROM enable signal. 제3항에 있어서, 상기 플립 플롭 회로는,4. The flip-flop circuit according to claim 3, 상기 활성화된 세트 입력에 응답하여 제1 스위칭 제어 신호를 출력하고, Outputting a first switching control signal in response to the activated set input, 상기 버퍼는, 상기 제1 스위칭 제어 신호에 응답하여 인에이블되는 데이터 저장 장치.Wherein the buffer is enabled in response to the first switching control signal. 제1항에 있어서, 상기 플립 플롭 회로는,2. The flip-flop circuit according to claim 1, 상기 명령어 판단부의 상기 판단 결과를 리세트 입력으로 갖고,And the result of the determination by the instruction determination unit is a reset input, 상기 명령어 기술자 블록(CDB)로부터 출력된 상기 명령어가 상기 보안 명령어인 경우에 상기 리세트 입력이 활성화되는 데이터 저장 장치.Wherein the reset input is activated when the command output from the command descriptor block (CDB) is the security command. 제6항에 있어서, 상기 플립 플롭 회로는,7. The circuit of claim 6, wherein the flip- 상기 활성화된 리세트 입력에 응답하여 제2 스위칭 제어 신호를 출력하고,Outputting a second switching control signal in response to the activated reset input, 상기 버퍼는, 상기 제2 스위칭 제어 신호에 응답하여 디스에이블되는 데이터 저장 장치.Wherein the buffer is disabled in response to the second switching control signal. 호스트; 및 Host; And 상기 호스트로부터 출력된 명령어에 응답하여 액세스 동작을 수행하기 위한 데이터 저장 장치를 포함하고, And a data storage device for performing an access operation in response to an instruction output from the host, 상기 데이터 저장 장치는, The data storage device includes: 상기 호스트로부터 출력된 명령어를 저장하기 위한 명령어 기술자 블록(CDB); A command descriptor block (CDB) for storing a command output from the host; 상기 명령어 기술자 블록(CDB)에 저장된 명령어에 기초하여 데이터의 액세스 동작을 제어하기 위한 컨트롤러; 및A controller for controlling an access operation of data based on an instruction stored in the instruction descriptor block (CDB); And 상기 호스트로부터 출력된 명령어가 상기 컨트롤러에 선택적으로 제공될 수 있도록 하는 스위칭 회로를 포함하고,And a switching circuit for allowing a command output from the host to be selectively provided to the controller, 상기 스위칭 회로는, Wherein the switching circuit comprises: 상기 명령어 기술자 블록(CDB)에 저장된 상기 명령어가 리드/라이트 명령어인지 또는 보안 명령어인지를 판단하기 위한 명령어 판단부;A command determiner for determining whether the command stored in the command descriptor block (CDB) is a read / write command or a security command; 상기 명령어 판단부의 판단 결과에 기초하여 스위칭 제어 신호를 출력하기 위한 플립 플롭 회로; 및A flip-flop circuit for outputting a switching control signal based on a result of the judgment by the instruction judging section; And 상기 플립 플롭 회로로부터 출력된 상기 스위칭 제어 신호에 응답하여 상기 호스트와 상기 컨트롤러 사이의 명령어 전송 경로를 제어하기 위한 버퍼를 포함하는,And a buffer for controlling a command transmission path between the host and the controller in response to the switching control signal output from the flip-flop circuit. 데이터 저장 시스템. Data storage system. 삭제delete 제8항에 있어서,9. The method of claim 8, 상기 데이터 저장 장치는 하드 디스크 드라이브(HDD)인 데이터 저장 시스템. Wherein the data storage device is a hard disk drive (HDD).
KR1020090048021A 2009-06-01 2009-06-01 Data storage device and data storage system having the same KR101574257B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090048021A KR101574257B1 (en) 2009-06-01 2009-06-01 Data storage device and data storage system having the same
US12/783,827 US8850600B2 (en) 2009-06-01 2010-05-20 Data storage device and data storage system including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090048021A KR101574257B1 (en) 2009-06-01 2009-06-01 Data storage device and data storage system having the same

Publications (2)

Publication Number Publication Date
KR20100129454A KR20100129454A (en) 2010-12-09
KR101574257B1 true KR101574257B1 (en) 2015-12-03

Family

ID=43221813

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090048021A KR101574257B1 (en) 2009-06-01 2009-06-01 Data storage device and data storage system having the same

Country Status (2)

Country Link
US (1) US8850600B2 (en)
KR (1) KR101574257B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9152553B1 (en) * 2011-12-15 2015-10-06 Marvell International Ltd. Generic command descriptor for controlling memory devices
KR101253778B1 (en) * 2012-05-10 2013-04-12 홍승명 A disposable capsule coffee extract device

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4941174A (en) * 1988-04-19 1990-07-10 General Electric Company Digital radio with security system for selectively enabling software controlled options
KR0146067B1 (en) 1990-03-09 1998-09-15 문정환 Rom data protective method and apparatus
JP3849951B2 (en) * 1997-02-27 2006-11-22 株式会社日立製作所 Main memory shared multiprocessor
JPH1173309A (en) 1997-08-27 1999-03-16 Nec Corp Instruction code protection system
DE69837113T2 (en) * 1998-01-20 2007-06-06 Fujitsu Ltd., Kawasaki Data storage arrangement and control method therefor
JP4260984B2 (en) * 1999-06-04 2009-04-30 株式会社東芝 Information processing apparatus and information processing method
US6792528B1 (en) * 2000-05-17 2004-09-14 Chien-Tzu Hou Method and apparatus for securing data contents of a non-volatile memory device
US7404021B2 (en) * 2000-11-17 2008-07-22 Aristos Logic Corporation Integrated input/output controller

Also Published As

Publication number Publication date
US8850600B2 (en) 2014-09-30
US20100306857A1 (en) 2010-12-02
KR20100129454A (en) 2010-12-09

Similar Documents

Publication Publication Date Title
NL2010681C2 (en) Apparatus for generating secure key using device id and user authentication information.
US8347112B2 (en) Encryption/decryption engine with secure modes for key decryption and key derivation
NL2010643C2 (en) Apparatus and method for content encryption and decrytion based on storage device id.
KR101859646B1 (en) Secure data protecting memory device, data protecting method using the secure data
JP4157595B2 (en) Secure processing apparatus, method, and program
KR20150034640A (en) Data storage in persistent memory
EP2717186A1 (en) Information processing device and information processing method
US20150242657A1 (en) Self-encrypting drive and user device including the same
US9239934B2 (en) Mobile computing system for providing high-security execution environment
WO2012177295A1 (en) Requested and allowed cryptographic operations comparison
KR20030071460A (en) Memory card
CN117378173A (en) Transfer of ownership of computing device via secure processor
KR20100125875A (en) Data storage device and data storage system having the same
CN105847011A (en) Key loading method and device
KR101574257B1 (en) Data storage device and data storage system having the same
US9509495B2 (en) Data protection method and apparatus
KR101736444B1 (en) Computing system
US20140189370A1 (en) Memory devices, and systems and methods for verifying secure data storage
JP5528198B2 (en) Information processing apparatus and program
JP2008152593A (en) Information terminal equipment
JP2008310678A (en) Storage device, information apparatus, and content conversion method
JP4869815B2 (en) Portable terminal device, control method thereof, and program
JP5539024B2 (en) Data encryption apparatus and control method thereof
CN101763485A (en) Data protecting method
JP2002140172A (en) Storage and its control method

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal