KR20050016232A - Real time data encryption/decryption system and method for ide/ata data transfer - Google Patents

Real time data encryption/decryption system and method for ide/ata data transfer

Info

Publication number
KR20050016232A
KR20050016232A KR1020040063347A KR20040063347A KR20050016232A KR 20050016232 A KR20050016232 A KR 20050016232A KR 1020040063347 A KR1020040063347 A KR 1020040063347A KR 20040063347 A KR20040063347 A KR 20040063347A KR 20050016232 A KR20050016232 A KR 20050016232A
Authority
KR
South Korea
Prior art keywords
data
ide
data storage
ata
storage device
Prior art date
Application number
KR1020040063347A
Other languages
Korean (ko)
Other versions
KR100711190B1 (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
Priority claimed from US10/635,833 external-priority patent/US7386734B2/en
Application filed by 에노바 테크놀러지 코포레이션 filed Critical 에노바 테크놀러지 코포레이션
Publication of KR20050016232A publication Critical patent/KR20050016232A/en
Application granted granted Critical
Publication of KR100711190B1 publication Critical patent/KR100711190B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols

Abstract

PURPOSE: A system and a method for real-time data encryption/decryption of the IDE(Integrated Drive Electronics)/ATA(AT(Advanced Technology) Attachment) data transfer including an encryption interface are provided to offer the encryption interface adapted to perform the real-time data encryption/decryption between a host device and a data storage device during the IDE/ATA data transfer. CONSTITUTION: The system includes at least one host device(16) and data storage device(18), and the encryption interface(10). The encryption interface is effectively combined between the host device and the data storage device. The encryption interface is adapted to delay transfer of an IDE/ATA data flow control signal between the host device and the data storage device, when the data is not streamed during the IDE/ATA data transfer between the host device and the data storage device.

Description

IDE/ATA 데이터 전송을 위한 실시간 데이터 암호화/암호해제 시스템 및 방법{REAL TIME DATA ENCRYPTION/DECRYPTION SYSTEM AND METHOD FOR IDE/ATA DATA TRANSFER} REAL TIME DATA ENCRYPTION / DECRYPTION SYSTEM AND METHOD FOR IDE / ATA DATA TRANSFER}

본 출원은 발명의 명칭이 "데이터 저장용 암호화/암호해제 디바이스"이고 2000년 11월 3일에 출원되어 계류 중인 미국특허출원 제09/704,769호에 연속하는 내용이 일부 동일한 출원이다.This application is entitled “Encryption / Decryption Device for Data Storage” and is partly identical to US Patent Application Serial No. 09 / 704,769, filed on November 3, 2000, pending.

본 발명은 일반적으로 데이터 암호화/암호해제에 관한 것이며 특히 IDE/ATA데이터 전송용 실시간 데이터 암호화/암호해제 시스템에 관한 것이다.The present invention relates generally to data encryption / decryption, and more particularly to a real-time data encryption / decryption system for IDE / ATA data transmission.

인테그레이티드 드라이브 일렉트로닉스(IDE)는 컴퓨터 마더보드 버스와 디스크 저장 디바이스들간에 사용되는 표준 전자 인터페이스이다. IDE는 미국 국립 표준 협회(ANSI)에 의해 표준으로 채택되었으며, 이에 의해 ANSI는 IDE에 대해 어드밴스드 테크롤러지 어태치먼트(ATA)로 명명하였다. IDE/ATA는 컴퓨터 또는 호스트 디바이스가 데이터 저장 디바이드와 데이터를 송수신하는데 사용되는 전자 프로토콜로도 칭해진다. IDE에 사용되는 데이터 전송 방법으로는 2가지가 있는 바, 이것은 프로그램된 입력/출력(PIO) 및 다이렉트 메모리 액세스(DMA)이다. PIO 모드에서는, 데이터 전송이 호스트 디바이스에 의해 초기화되어 수행된다. DMA 모드에서는, 데이터 전송이 호스트 디바이스와 데이터 저장 디바이스 사이의 핸드쉐이킹을 위한 신호에 의해 제어된다. Integrated Drive Electronics (IDE) is a standard electronic interface used between computer motherboard buses and disk storage devices. The IDE was adopted as a standard by the American National Standards Institute (ANSI), whereby ANSI named the Advanced Technology Attachment (ATA) for the IDE. IDE / ATA is also referred to as an electronic protocol used by computers or host devices to send and receive data to and from data storage devices. There are two data transfer methods used in the IDE: programmed input / output (PIO) and direct memory access (DMA). In the PIO mode, data transfer is initiated and performed by the host device. In DMA mode, data transfer is controlled by signals for handshaking between the host device and the data storage device.

물리적 액세스 제어가 보장되지 않는 저장 매체에 독점 정보를 유지하고 있는 경우, 데이터 암호화 및 암호해제는 허가되지 않은 액세스로부터 데이터를 보호하는 메커니즘을 제공한다. 데이터는 호스트 디바이스로부터 데이터 저장 디바이스로 송신될 때 데이터를 암호화하고, 호스트 디바이스가 데이터 저장 디바이스로부터 데이터를 검색할 때 그 저장된 데이터를 암호해제함으로써 암호적으로 보호된다.When maintaining proprietary information in a storage medium where physical access control is not guaranteed, data encryption and decryption provide a mechanism to protect data from unauthorized access. The data is cryptographically protected by encrypting the data as it is sent from the host device to the data storage device and decrypting the stored data when the host device retrieves the data from the data storage device.

종래의 데이터 중계 방법에서는, 호스트 디바이스와 데이터 저장 디바이스 사이에 직렬로 설치된 IDE 브릿지나 인터페이스를 통해 데이터를 전송한다. 이러한 유형의 데이터 전송에서는, IDE 제어기가 데이터 버퍼링/데이터흐름 제어를 위해 IDE 인터페이스의 양측에 대해 완전한 ATA 프로토콜을 지원하는 IDE 제어기를 실행해야 한다. IDE 인터페이스는 IDE/ATA 데이터 전송 동안 데이터 저장 디바이드와 함께 가상의 호스트 디바이스 역할을 하고 동시에 호스트 디바이스와 함께 가상의 데이터 저장 디바이스 역할을 한다. 상기 데이터 중계 방법에 있는 문제점은 IDE 인터페이스가 데이터흐름 제어를 유지하기 위해 대용량 데이터 버퍼를 실행해야만 한다는 점이다. 이러한 대용량 데이터 버퍼는 고가의 정적 랜덤-액세스 매모리(SRAM) 등을 사용해서 IDE 애플리케이션 고유의 집적회로(ASIC)에 대해 자주실행되며, 이에 칩제조비용이 고가로 되어 버린다.In the conventional data relay method, data is transmitted through an IDE bridge or an interface provided in series between the host device and the data storage device. In this type of data transfer, the IDE controller must run an IDE controller that supports the full ATA protocol on both sides of the IDE interface for data buffering / dataflow control. The IDE interface acts as a virtual host device along with the data storage device during IDE / ATA data transfers and simultaneously acts as a virtual data storage device with the host device. The problem with the data relay method is that the IDE interface must run a large data buffer to maintain data flow control. These large data buffers are often run on integrated circuits (ASICs) inherent in IDE applications, using expensive static random-access memory (SRAM) and so on, resulting in expensive chip manufacturing costs.

본 발명은 일반적으로 적어도 하나의 호스트 디바이스와 적어도 하나의 데이터 저장 디바이스 사이에 효과적으로 결합되며, 전체적인 데이터 전송 효율에 영향을 주지 않고 IDE/ATA 데이터 전송 동안 상기 적어도 하나의 호스트 디바이스와 상기 적어도 하나의 데이터 저장 디바이스 사이에 실시간 데이터 암호화 및 암호해제를 수행하도록 적응되어 있는 적어도 하나의 암호 인터페이스를 포함하는 것을 특징으로 하는 데이터 암호화 시스템에 관한 것이다.The present invention is generally effectively coupled between at least one host device and at least one data storage device and wherein said at least one host device and said at least one data during IDE / ATA data transfer without affecting overall data transfer efficiency. And at least one cryptographic interface adapted to perform real-time data encryption and decryption between storage devices.

본 발명의 일실시예에서, IDE/ATA 데이터 전송 조정을 위한 암호화 인터페이스는 일부의 ATA 프로토콜을 지원하는 제1 IDE 제어기, 및 일부의 ATA 프로토콜을 지원하는 제2 IDE 제어기를 포함한다. 상기 제1 IDE 제어기에 효과적으로 결합되어 있다. 상기 제1 및 제2 IDE 제어기는 적어도 하나의 호스트 디바이스와 적어도 하나의 데이터 저장 디바이스 사이에 IDE/ATA 데이터 전송 동안 데이터가 스트리밍되고 있을 때에는 상기 적어도 하나의 호스트 디바이스의 적어도 하나의 호스트 IDE 제어기와 상기 적어도 하나의 데이터 저장 디바이스의 데이터 저장 IDE 제어기 사이에 IDE/ATA 데이터흐름 제어 신호를 전송하도록 적응되어 있다. 상기 적어도 하나의 호스트 IDE 제어기와 상기 적어도 하나의 데이터 저장 IDE 제어기는 완전한 ATA 프로토콜을 지원한다.In one embodiment of the present invention, the encryption interface for coordinating IDE / ATA data transfer includes a first IDE controller supporting some ATA protocols, and a second IDE controller supporting some ATA protocols. It is effectively coupled to the first IDE controller. The first and second IDE controllers include at least one host IDE controller of the at least one host device when the data is being streamed during the IDE / ATA data transfer between the at least one host device and the at least one data storage device. It is adapted to transmit IDE / ATA dataflow control signals between data storage IDE controllers of at least one data storage device. The at least one host IDE controller and the at least one data storage IDE controller support full ATA protocol.

본 발명의 다른 실시예에서, IDE/ATA 데이터 전송 조정을 위한 암호화 인터페이스는 일부의 ATA 프로토콜을 지원하는 제1 IDE 제어기, 및 일부의 ATA 프로토콜을 지원하는 제2 IDE 제어기를 포함한다. 상기 제1 IDE 제어기에 효과적으로 결합되어 있다. 상기 제1 및 제2 IDE 제어기는 적어도 하나의 호스트 디바이스와 적어도 하나의 데이터 저장 디바이스 사이에 IDE/ATA 데이터 전송 동안 데이터가 스트리밍되고 있지 않을 때에는 상기 적어도 하나의 호스트 디바이스의 적어도 하나의 호스트 IDE 제어기와 상기 적어도 하나의 데이터 저장 디바이스의 데이터 저장 IDE 제어기 사이에 IDE/ATA 데이터흐름 제어 신호의 전송을 지연시키도록 적응되어 있다. 상기 적어도 하나의 호스트 IDE 제어기와 상기 적어도 하나의 데이터 저장 IDE 제어기는 완전한 ATA 프로토콜을 지원한다.In another embodiment of the present invention, the encryption interface for coordinating IDE / ATA data transfers includes a first IDE controller supporting some ATA protocols, and a second IDE controller supporting some ATA protocols. It is effectively coupled to the first IDE controller. The first and second IDE controllers may include at least one host IDE controller of the at least one host device when data is not being streamed during IDE / ATA data transfer between at least one host device and at least one data storage device. And adapted to delay transmission of the IDE / ATA dataflow control signal between the data storage IDE controllers of the at least one data storage device. The at least one host IDE controller and the at least one data storage IDE controller support full ATA protocol.

본 발명의 또 다른 실시예에서, 호스트 디바이스와 데이터 저장 디바이스 사이의 IDE/ATA 데이터 전달 동안 데이터를 암호화하는 방법은,In another embodiment of the invention, a method of encrypting data during IDE / ATA data transfer between a host device and a data storage device,

상기 호스트 디바이스와 상기 데이터 저장 디바이스 사이에 적어도 하나의 IDE/ATA 데이터 전송을 차단하는 단계, 상기 호스트 디바이스와 상기 데이터 저장디바이스 사이에 데이터가 스트리밍하고 있을 때에는 상기 호스트 디바이스와 상기 데이터 저장 디바이스 사이에 IDE/ATA 데이터흐름 제어 신호를 전송하는 단계, 상기 호스트 디바이스와 상기 데이터 저장 디바이스 사이에 데이터가 스트리밍하고 있지 않을 때에는 상기 호스트 디바이스와 상기 데이터 저장 디바이스 사이에 IDE/ATA 데이터흐름 제어 신호의 전송을 지연시키는 단계, 및 데이터의 실시간 암호화를 투명하게 실시하는 단계를 포함한다.Blocking at least one IDE / ATA data transfer between the host device and the data storage device; when data is streaming between the host device and the data storage device, an IDE between the host device and the data storage device. Transmitting an ATA / ATA dataflow control signal, delaying transmission of an IDE / ATA dataflow control signal between the host device and the data storage device when data is not streaming between the host device and the data storage device. And transparently performing real-time encryption of data.

본 발명의 상기 및 다른 특징은 첨부된 도면과 본 발명의 후술하는 상세한 설명의 검토로부터 분명하게 이해하게 될 것이다.These and other features of the present invention will become apparent from a review of the accompanying drawings and the following detailed description of the invention.

본 발명은 본 발명은 첨부된 도면과 함께 읽을 때 후술하는 상세한 설명으로부터 가장 잘 이해할 수 있다. 통상적인 실행에 따라, 도면의 다양한 특징 부분을 축척대로 도시하지 않았음을 강조하는 바이다. 대조적으로, 상기 다양한 특징의 치수는 간략화를 위해 임의로 확대 또는 감소시킨 것이다. 도면에서 동일한 도면부호는 동일한 구성요소를 나타낸다.The present invention is best understood from the following detailed description when read in conjunction with the accompanying drawings. In accordance with common practice, it is emphasized that various features of the figures are not drawn to scale. In contrast, the dimensions of the various features are optionally enlarged or reduced for simplicity. Like reference numerals in the drawings denote like elements.

본 발명의 일실시예들이 도 1 내지 도 9를 참조하여 상세하게 설명되어 있다. 본 발명의 다른 실시예, 특징 및/또는 장점은 아래의 상세한 설명으로부터 명백해질 것이고, 또는 본 발명을 실시함으로써 습득될 수 있다.One embodiment of the present invention is described in detail with reference to FIGS. Other embodiments, features and / or advantages of the invention will be apparent from the following detailed description, or may be learned by practice of the invention.

도 1은 IDE/ATA 데이터 전송을 위한 실시간 데이터 암호화/ 복호화(encryption/decryption) 시스템(8)의 개략적인 블록도이다. 실시간 데이터 암호화/복호화 시스템(8)은 호스트 장치(16)의 IDE 컨트롤러(12)와 데이터 저장 장치(18)의 IDE 컨트롤러(14)의 사이에 실효적으로 연결되어 있는 암호작성 인터페이스(10)를 포함한다. 암호작성 인터페이스(10)은, 전체적인 데이터 전송 효율에 나쁜 영향을 주지 않으면서, 호스트 장치(16)와 데이터 저장 장치(18) 사이의 IDE/ATA 데이터 전송동안 실시간 데이터 암호화/복호화를 확실히 수행하도록 되어있다.1 is a schematic block diagram of a real-time data encryption / decryption system 8 for IDE / ATA data transmission. The real-time data encryption / decryption system 8 uses an encryption interface 10 that is effectively connected between the IDE controller 12 of the host device 16 and the IDE controller 14 of the data storage device 18. Include. The encryption interface 10 is configured to perform real time data encryption / decryption during IDE / ATA data transfer between the host device 16 and the data storage device 18 without adversely affecting the overall data transfer efficiency. have.

IDE 컨트롤러(12)는 ATA 프로토콜 규격을 전적으로 따르고, 데이터 흐름 제어를 위한 일반적인 대형 데이터 버퍼(20)를 포함한다. 또한, IDE 컨트롤러(14)도 ATA 프로토콜 규격을 전적으로 따르고, 데이터 흐름 제어를 위한 일반적인 대형 데이터 버퍼(22)를 포함한다. 일반적으로, 호스트 장치(16)는 데스크톱, 노트북 컴퓨터, 마이크로프로세서, 라우터, 인터페이스 카드, 또는 데이터를 생성할 수 있는 다른 장치일 수 있고, 데이터 저장 장치(18)는 디스크 드라이브, 테이프 드라이브, 프롤피 디스켓, 콤팩트 디스크 드라이브, 광자기 드라이브, 디지털 비디오 레코더, 플래쉬 메모리 카드, PCMCIA 카드 또는 추출을 위해 데이터를 저장할 수 있는 다른 장치일 수 있다.The IDE controller 12 is fully compliant with the ATA protocol specification and includes a general large data buffer 20 for data flow control. In addition, the IDE controller 14 also fully complies with the ATA protocol specification and includes a general large data buffer 22 for data flow control. In general, host device 16 may be a desktop, notebook computer, microprocessor, router, interface card, or other device capable of generating data, and data storage device 18 may be a disk drive, tape drive, profil. Diskette, compact disc drive, magneto-optical drive, digital video recorder, flash memory card, PCMCIA card, or other device capable of storing data for extraction.

본 발명의 일실시예에서는, 도 1에 도시된 바와 같이, 암호작성 인터페이스(10)는 호스트 장치(16)와 데이터 저장 장치(18) 사이의 IDE/ATA 데이터 전송을 인터셉트하고, 소형 입력 데이터 버퍼(26)와 소형 출력 데이터 버퍼(28) 사이에 실효적으로 연결된 사이퍼 엔진(cipher engine)(24)에 의해 암호화/복호화를 확실하게 행하도록 프로그래밍되어 있다.In one embodiment of the invention, as shown in FIG. 1, the cryptographic interface 10 intercepts IDE / ATA data transfer between the host device 16 and the data storage device 18, and provides a small input data buffer. It is programmed to reliably perform encryption / decryption by a cipher engine 24 effectively connected between the 26 and the small output data buffer 28.

암호작성 인터페이스(10)의 사이퍼 엔진(24)은, 호스트 장치(16)과 데이터 저장 장치(18) 사이의 IDE/ATA 데이터 전송동안, DES(Data Encryption Standard), TDES(Triple DES), 또는 AES(Advanced Encryption Standard)와 같은 여러 가지의 알려진 암호작성 알고리즘을 이용하여, 여러개의 표준 파이프라인 단계(standard pipeline stage)에서 데이터를 암호화/복호화 한다. 사이퍼 엔진의 다른 형태 및/또는 암호작성 알고리즘 또한 본 발명의 실시에 사용될 수 있다.The cipher engine 24 of the cryptographic interface 10 may be configured to perform Data Encryption Standard (DES), Triple DES (TDES), or AES during IDE / ATA data transfer between the host device 16 and the data storage device 18. Several known cryptographic algorithms, such as the Advanced Encryption Standard, are used to encrypt / decrypt data at multiple standard pipeline stages. Other forms of cipher engines and / or cryptographic algorithms may also be used in the practice of the present invention.

본 발명의 다른 실시예에서, 암호작성 인터페이스(10)은, 데이터가 호스트 장치(16)과 데이터 저장 장치(18) 사이에 흐르는 동안, 호스트 장치측 IDE 컨트롤러(30)와 데이터 저장 장치측 IDE 컨트롤러(32)에 의해, 호스트 장치(16)에서 데이터 저장 장치(18)로 또는 그 반대로 IDE/ATA 데이터 흐름 제어 신호를 직접 전달/통과시키도록 프로그래밍되어 있다. 각각의 IDE 컨트롤러(30,32)는, 도 1에 도시되어 있듯이, 부분적으로 ATA 프로토콜을 지원하도록 되어 있다. 도 1에 도시된 바와 같이, 암호작성 인터페이스(10)은, 호스트 장치측 IDE 컨트롤러(30)에 의해 호스트 IDE/ATA 데이터 흐름 제어 신호를 인터셉팅하고, 데이터 저장 장치측 IDE 컨트롤러(32)에 의해 데이터 저장 장치(18)에 대한 제어 신호를 생성함으로써, 호스트 장치(16)에서 데이터 저장 장치(18)로 IDE/ATA 데이터 흐름 제어 신호를 전달한다.In another embodiment of the invention, the cryptographic interface 10 includes a host device side IDE controller 30 and a data storage device side IDE controller while data flows between the host device 16 and the data storage device 18. 32 is programmed to directly pass / pass IDE / ATA data flow control signals from host device 16 to data storage 18 or vice versa. Each of the IDE controllers 30 and 32 is designed to partially support the ATA protocol, as shown in FIG. As shown in FIG. 1, the cryptographic interface 10 intercepts the host IDE / ATA data flow control signal by the host device side IDE controller 30, and by the data storage device side IDE controller 32. By generating a control signal for the data storage device 18, the host device 16 transmits an IDE / ATA data flow control signal to the data storage device 18.

마찬가지로, 암호작성 인터페이스(10)은, 데이터 저장 장치측 IDE 컨트롤러(32)에 의해 호스트 IDE/ATA 데이터 흐름 제어 신호를 인터셉팅하고, 호스트 장치측 IDE 컨트롤러(30)에 의해 호스트 장치(18)에 대한 제어 신호를 생성함으로써, 데이터 저장 장치(18)에서 호스트 장치(18)로 IDE/ATA 데이터 흐름 제어 신호를 전송한다. 사이퍼 엔진(24)과 조합하여 IDE 컨트롤러(30,32)에 부분적인 ATA 프로토콜을 구현한 것은, 암호작성 인터페이스(10)가 호스트 장치(16)와 데이터 저장 장치918) 사이의 IDE/ATA 데이터 전송동안 실시간으로 데이터를 확실하게 암호화/복호화할 수 있도록 한다. 암호작성 인터페이스(10)는 전체 데이터 전송 효율을 손상시키지 않도록 적어도 호스트 장치(16) 및 데이터 저장 장치(18)만큼은 빠르게 데이터를 처리하도록 구성되어 있다.Similarly, the cryptographic interface 10 intercepts the host IDE / ATA data flow control signal by the data storage device-side IDE controller 32 and sends it to the host device 18 by the host device-side IDE controller 30. By generating a control signal for the device, the IDE / ATA data flow control signal is transmitted from the data storage device 18 to the host device 18. The implementation of the partial ATA protocol in the IDE controllers 30 and 32 in combination with the cipher engine 24 indicates that the cryptographic interface 10 transfers IDE / ATA data between the host device 16 and the data storage device 918. Ensures that data is encrypted / decrypted in real time. The cryptographic interface 10 is configured to process data at least as fast as at least the host device 16 and the data storage device 18 so as not to impair the overall data transfer efficiency.

본 발명의 다른 실시예에서, 암호작성 인터페이스(10)는, 도 7의 단계(148 및 152)를 참조하여 후술하는 바와 같이, 호스트 장치(16)와 데이터 저장 장치(18)사이에 데이터가 흐르지 않으면, 호스트 장치(16)에서 데이터 저장 장치(18)로의 또는 그 반대로의 IDE/ATA 데이터 흐름 제어 신호의 전달을 지연하도록 프로그래밍되어 있다.In another embodiment of the invention, the cryptographic interface 10 does not flow data between the host device 16 and the data storage device 18, as described below with reference to steps 148 and 152 of FIG. If not, it is programmed to delay the transfer of IDE / ATA data flow control signals from host device 16 to data storage 18 and vice versa.

IDE 컨트롤러(12,14)의 기능적 측면에서 보면, IDE/ATA 데이터 전송은, 암호작성 인터페이스(10)에 의한 간섭없이, 호스트 장치916)와 데이터 저장 장치918) 사이에 직접적으로 행해지고 있다. 따라서, 암호작성 인터페이스(10)는, 관련 기술분야에서 종래에 행해졌듯이, 대형 데이터 버퍼와 전체 ATA 프로토콜의 지원과 같은 기존의 데이터 버퍼링/데이터 흐름 제어 능력을 포함할 필요가 없다. 또한, 호스트 장치와 데이터 저장 장치 사이의 IDE/ATA 데이터 전송을, 호스트 장치(16)과 암호작성 인터페이스(10) 사이와 같이, 두 개의 독립된 데이터 전송으로 분리할 필요가 없다. IDE 컨트롤러(12,14)는 각각 IDE/ATA 데이터 전송동안 데이터 버퍼링/데이터 흐름 제어의 핸들링을 담당한다. 암호작성 인터페이스(10)는 일반적으로 "전달자(forwarder)", 또는 IDE/ATA 데이터 전송동안 호스트 장치(16)와 데이터 저장 장치(18) 사이의 IDE/ATA 순응 데이터 흐름 제어 신호 통과 다리로서, 기능한다. 암호작성 인터페이스(10)의 IDE 컨트롤러(30,32)는 사이터 데이터 처리를 수행하기 위해 요구되는 ATA 명령을 해석하기만 하면 된다.In terms of the functional aspects of the IDE controllers 12 and 14, IDE / ATA data transfer is directly performed between the host device 916 and the data storage device 918 without interference by the cryptographic interface 10. Thus, the cryptographic interface 10 need not include existing data buffering / data flow control capabilities, such as support for large data buffers and the full ATA protocol, as has been done in the art. In addition, the IDE / ATA data transfer between the host device and the data storage device does not need to be separated into two separate data transfers, such as between the host device 16 and the cryptographic interface 10. IDE controllers 12 and 14 are each responsible for handling data buffering / data flow control during IDE / ATA data transfer. The cryptographic interface 10 generally functions as a "forwarder", or as an IDE / ATA compliant data flow control signal passing bridge between the host device 16 and the data storage device 18 during IDE / ATA data transfer. do. The IDE controllers 30 and 32 of the cryptographic creation interface 10 only need to interpret the ATA commands required to perform the site data processing.

도 1에 또 도시된 바와 같이, 호스트 장치(16)는, 소형 입력 데이터 버퍼(26), 사이퍼 엔진(24), 및 소형 출력 데이터 버퍼(28)을 통해 실시간으로 들어오는 데이터는 확실하게 암호화하는 암호작성 인터페이스(10)에 의해 데이터 저장 장치(18)에 데이터를 저장할 수 있다. 호스트 장치(16)는 소형 입력 데이터 버퍼(26), 사이퍼 엔진(24), 및 소형 출력 데이터 버퍼(28)을 통해 실시간으로 데이터를 확실하게 복호화하는 암호작성 인터페이스(10)에 의해 데이터 저장 장치(18)로부터 암호화된 데이터를 추출할 수 있다.As also shown in FIG. 1, the host device 16 encrypts data that is securely encrypted in real time through the small input data buffer 26, the cipher engine 24, and the small output data buffer 28 in real time. The creation interface 10 can store data in the data storage device 18. The host device 16 is provided with a data storage device by a cryptographic interface 10 which reliably decrypts data in real time through the small input data buffer 26, the cipher engine 24, and the small output data buffer 28. 18) encrypted data can be extracted.

본 발명의 또 다른 실시예에서, 암호작성 인터페이스(10)는 ASIC으로서 구현될 수 있다. 사이퍼 에니진(24)의 파이프라인 스테이지에 데이터를 유지하기 위해 사용되는 소형 입력 데이터 버퍼(26)과 작성 출력 데이터 버퍼(28)는 래치 또는 레지스터를 이용하여 구현될 수 있다. 이러한 구현은 고가인 SRAM 매크로와 같은 것의 사용을 피할 수 있다. 본 발명의 의도한 사상과 범위에 부함하는 다른 구현에 의해 암호작성 인터페이스(10)의 다른 구현이 가능하다.In another embodiment of the present invention, the cryptographic interface 10 may be implemented as an ASIC. The small input data buffer 26 and write output data buffer 28 used to hold data in the pipeline stage of the cipher engin 24 can be implemented using latches or registers. This implementation can avoid the use of such expensive SRAM macros. Other implementations that fall within the intended spirit and scope of the present invention enable other implementations of the cryptographic interface 10.

도 2는 UDMA/Multi-world DMA 데이터아웃 전송의 개략도이다. UDMA는 컴퓨터 버스를 통해 하드디스크 드라이브에서 컴퓨터의 RAM으로 데이터를 전송하기 위한 프로토콜이다. UDAM 프로토콜은 버스트 모드(burst mode)로 데이터를 전송하고, ATA 데이터 전송동안 데이터 보호를 위해 실린드리컬 리던던시 체킹(CRC:Cylindrical Redundancy Checking)을 이용한다. 데이터 버스트 모드는 데이터 버스트 초기화, 데이터 버스트 포징(pausing), 및 데이터 버스트 종료 절차를 가진다. 일례로서, UDMA/Multi-word DMA 데이터아웃 전송은 호스트 장치(16)에서 데이터 저장 장치(18)로의 UDMA/Multi-word DMA 데이터 전송으로 정의될 수 있다. 다른 예로서, UDMA/Multi-wod DMA 데이터아웃 전송은 데이터 저장 장치(18)에서 호스트 장치(16)로의 UDMA/Multi-word DMA 데이터 전송으로 정의될 수 있다.2 is a schematic diagram of a UDMA / Multi-world DMA dataout transmission. UDMA is a protocol for transferring data from a hard disk drive to a computer's RAM via a computer bus. The UDAM protocol transmits data in burst mode and uses Cylindrical Redundancy Checking (CRC) for data protection during ATA data transmission. The data burst mode has a data burst initialization, data burst pausing, and data burst termination procedures. As one example, a UDMA / Multi-word DMA dataout transfer may be defined as a UDMA / Multi-word DMA data transfer from the host device 16 to the data storage device 18. As another example, UDMA / Multi-wod DMA dataout transfer may be defined as UDMA / Multi-word DMA data transfer from data storage device 18 to host device 16.

데이터 버스트 초기화 절차의 개시 전에, 암호작성 인터페이스(10)는, 데이터 전송 모드, 데이터 전송 크기 등과 같은 중요한 IDE/ATA 데이터 저송 파라미터를 인터셉트하여, 도 2의 단계(50)에 개략적으로 나타낸 바와 같이, 이들 파라미터에 따라 호스트 장치(16)와 데이터 저장 장치(18) 사이의 UDMA/Multi-word DMA 데이터 전송을 준비한다.Prior to initiation of the data burst initialization procedure, the cryptographic interface 10 intercepts important IDE / ATA data storage parameters such as data transfer mode, data transfer size, and the like, as outlined in step 50 of FIG. According to these parameters, the UDMA / Multi-word DMA data transfer between the host device 16 and the data storage device 18 is prepared.

여러 개의 데이터 버스트로 구성되는 UDMA/Multi-word DMA 데이터아웃 전송의 초기에는, 암호작성 인터페이스(10)는, 데이터 전송을 초기화하고 소형 입력 버퍼(26)(도 1에 도시됨)를 통해 사이퍼 엔진(24)(도 1에 도시됨)으로 들어오는 데이터를 보내기 위해, 호스트 장치(16)와 함께 버스트 초기화 절차를 수행한다. 들어오는 데이터가 암호화되고, 소형 출력 데이터 버퍼(28)(도 1에 도시됨)로 전송된 후에는, 도 2의 단계(52)에 개략적으로 도시된 바와 같이, 암호작성 인터페이스(10)가 데이터 저장 장치918)와 함께 버스트 초기화 절차를 수행하고, 암호화된 데이터를 데이터 저장 장치918)로 보낸다.In the beginning of a UDMA / Multi-word DMA dataout transfer consisting of multiple data bursts, the cryptographic interface 10 initiates the data transfer and passes the cipher engine through a small input buffer 26 (shown in FIG. 1). To send incoming data to 24 (shown in FIG. 1), a burst initialization procedure is performed with the host device 16. After the incoming data is encrypted and sent to the small output data buffer 28 (shown in FIG. 1), the encryption interface 10 stores the data, as schematically shown in step 52 of FIG. 2. Perform a burst initialization procedure with device 918 and send the encrypted data to data storage device 918;

데이터 버스트의 전송동안, 만일 호스트 장치(16) 또는 데이터 저장 장치(18)가 데이터 흐름 제어 문제때문에 데이터 전송에 일시정지를 요청하면, 암호작성 인터페이스(10)는, 도 2의 단계(58)에 개략적으로 도시된 바와 같이, 일시적인 데이터 전송의 중지를 위해 호스트 장치(16)와 데이터 저장 장치(18) 사이의 대응하는 데이터 전송 포즈 명령/응답 신호를 즉시 전달한다. 따라서, 암호작성 인터페이스(10)는 UDMA/Multi-word DMA 데이터아웃 전송 동안 데이터 흐름 제어에는 전혀 관여하지 않는다 대신에, 암호작성 인터페이스(10)는 데이터 흐름 제어신호를 통과시키도록 확실하게 간섭하고, IDE 컨트를러(30)(도 1에 도시됨)와 사이퍼 엔진(24)(도 1에 도시됨)을 각각 통해서 데이터 암호화를 수행한다.During the transmission of the data burst, if the host device 16 or the data storage device 18 requests a pause in the data transfer due to a data flow control problem, the cryptographic interface 10 may proceed to step 58 of FIG. As schematically shown, the corresponding data transfer pause command / response signal is immediately transmitted between the host device 16 and the data storage device 18 for temporary suspension of data transfer. Thus, the cryptographic interface 10 does not participate in data flow control at all during the UDMA / Multi-word DMA dataout transmission. Instead, the cryptographic interface 10 reliably interferes to pass the data flow control signal, Data encryption is performed via IDE controller 30 (shown in FIG. 1) and cipher engine 24 (shown in FIG. 1), respectively.

도 2의 단계(54)에서 개략적으로 도시된 바와 같이, 만일 호스트 장치(16)나 데이터 저장 장치(18)가 전송 중에 데이터 버스트를 종료해야할 필요가 있으면, 암호작성 인터페이스(10)는, 데이터 전송의 종료를 위해 호스트 장치(16)와 데이터 저장 장치(18) 사이의 대응하는 데이터 전송 종료 명령/응답 신호를 전달한다.As schematically shown in step 54 of FIG. 2, if the host device 16 or the data storage device 18 needs to terminate the data burst during transmission, the encryption interface 10 transmits the data. A corresponding data transfer end command / response signal is communicated between the host device 16 and the data storage device 18 for termination of the.

버스트 종료 절차 중에, IDE 컨트롤러(12)(도 1에 도시됨)는, 각 데이터 버스트의 끝에서 에러 체킹을 위해 평문 데이터(plain text data)로부터 계산된 CRC 값을 IDE 컨트롤러(30)(도 1에 도시됨)로 전송한다. 암호작성 인터페이스(10)의 IDE 컨트롤러(32)(도 1에 도시됨)는, 각 데이터 버스트의 끝에서 에러 체킹을 위해 사이퍼문 데이터(cipher text data)로부터 계산된 CRC 값을 데이터 저장 장치(18)로 전송한다. 만일 전송된 사이퍼문 CRC 값이 오류이면, 데이터 저장 장치(18)는, 암호작성 인터페이스(10)에 의해 취해지는 어떠한 추가 동작없이 데이터 전송이 종료하자마자 CRC 에러 상태 비트에 의해 호스트 장치(16)로 그 상이를 보고한다.During the burst termination procedure, the IDE controller 12 (shown in FIG. 1) may retrieve the CRC value calculated from the plain text data for error checking at the end of each data burst (see FIG. 1). (Shown in). The IDE controller 32 (shown in FIG. 1) of the cryptographic interface 10 stores the CRC value calculated from cipher text data for error checking at the end of each data burst. To send). If the transmitted cipher statement CRC value is an error, the data storage device 18 returns to the host device 16 by the CRC error status bit as soon as the data transfer ends without any further action taken by the cryptographic interface 10. Report the difference.

만일, 전송된 평문 CRC 값이 오류이면, 암호작성 인터페이스(10)는, 이를 데이터 저장 장치(18)에 알리기 위해, 마지막 데이터 버스트 종료 절차도중 데이터 저장 장치(18)로 미리 정의된 에러 CRC 값을 전송함으로써, 데이터 저장 장치(18)로 CRC 에러를 전달한다. 마지막 데이터 버스트 종료 절차는 도 2의 단계(60)에 개략적으로 나타나 있다.If the transmitted plain text CRC value is an error, the cryptographic interface 10 sends a predefined error CRC value to the data storage device 18 during the last data burst termination procedure to inform the data storage device 18 of this. By transmitting, a CRC error is communicated to the data storage device 18. The final data burst termination procedure is schematically illustrated in step 60 of FIG.

도 2의 단계(62)에 개략적으로 도시된 바와 가이, 데이터 전송이 완료되면, 데이터 저장 장치(18)는, 이를 호스트 장치(16)에 알리기 위해, 대응하는 ATA 정보를 호스트 장치(16)로 전달한다.As shown schematically in step 62 of FIG. 2, once the data transfer is complete, the data storage device 18 sends the corresponding ATA information to the host device 16 to inform the host device 16 of this. To pass.

도 3은 UDMA/Multi-word DMA 데이터인 전송을 개략적으로 나타낸 도면이다. 일례로서, UDMA/Multi-word DMA 데이터인 전송은 데이터 저장 장치(18)에서 호스트 장치(16)로의 UDMA/Multi-word DMA 데이터 전송으로 정의될 수 있다. 다른 예로서, UDMA/Multi-word DMA 데이터인 전송은 호스트 장치(16)에서 데이터 저장 장치(18)로의 UDMA/Multi-word DMA 데이터 전송으로 정의될 수 있다.3 is a diagram schematically illustrating a transmission that is UDMA / Multi-word DMA data. As an example, a transfer that is UDMA / Multi-word DMA data may be defined as a UDMA / Multi-word DMA data transfer from the data storage device 18 to the host device 16. As another example, a transfer that is UDMA / Multi-word DMA data may be defined as a UDMA / Multi-word DMA data transfer from the host device 16 to the data storage device 18.

단계(70)에 개략적으로 도시된 바와 같이, 암호작성 인터페이스(10)는, 데이터 전송 모드, 데이터 전송 크기 등과 같은 중요한 IDE/ATA 데이터 전송 파라미터를 인터셉트하여, 이들 파라미터에 따라 데이터 저장 장치(18)와 호스트 장치(16)사이의 UDMA/Multi-word DMA 데이터 전송을 준비한다. 암호작성 인터페이스(10)는, 데이터 전송을 초기화하고 소형 입력 버퍼(26)(도 1에 도시됨)를 통해 복호화하기 위해 암호화된 데이터를 사이퍼 엔진(24)(도 1에 도시됨)으로 보내기 위해, 데이터 저장 장치(18)와 함께 버스트 초기화 절차를 수행한다. 들어오는 데이터가 복호화되고 소형 출력 데이터 버퍼(28)(도 1에 도시됨)에 전송된 후에는, 도 3의 단계(72)에 개략적으로 도시된 바와 같이, 암호작성 인터페이스(10)는 호스트 장치(16)와 함께 버스트 초기화 절차를 수행하고, 복호화된 데이터를 호스트 장치 (16)로 전송한다.As schematically shown in step 70, the cryptographic interface 10 intercepts important IDE / ATA data transfer parameters, such as data transfer mode, data transfer size, and the like, according to the data storage device 18 in accordance with these parameters. And UDMA / Multi-word DMA data transfer between the host device 16 is prepared. The cryptographic interface 10 sends encrypted data to the cipher engine 24 (shown in FIG. 1) for initiating data transfer and decrypting through the small input buffer 26 (shown in FIG. 1). In addition, the burst initialization procedure is performed together with the data storage device 18. After the incoming data has been decrypted and sent to the small output data buffer 28 (shown in FIG. 1), as shown schematically in step 72 of FIG. 16, the burst initialization procedure is performed, and the decrypted data is transmitted to the host device 16.

데이터 버스트의 전송동안, 만일 데이터 저장 장치(18) 또는 호스트 장치(16)가 데이터 흐름 제어 문제때문에 데이터 전송의 일시정지를 요구하면, 도 3의 단계(78)에 개략적으로 도시된 바와 같이, 암호작성 인터페이스는, 일시적인 데이터 전송의 중지를 위해 데이터 저장 장치(18)와 호스트 장치(16) 사이의 대응하는 데이터 전송 포즈 명령/응답 신호를 즉시 전달한다. 암호작성 인터페이스(10)는, 따라서, UDMA/Multi-word DMA 데이터인 전송동안 데이터 흐름제어에 전혀 관여하지 않는다. 대신에, 암호작성 인터페이스(10)는, UDMA/Multi-word DMA 데이터인 전송동안 데이터 흐름 제어 신호를 통과시키는 데에 확실하게 간섭하고, IDE 컨트롤러(32)(도 1에 도시됨)와 사이퍼 엔진(24)를 각각 통해 데이터 복호화를 수행한다.During the transmission of the data burst, if the data storage device 18 or the host device 16 requests the suspension of the data transmission due to a data flow control problem, as shown schematically in step 78 of FIG. The creation interface immediately conveys a corresponding data transfer pause command / response signal between the data storage device 18 and the host device 16 for temporary suspension of data transfer. The cryptographic interface 10 is therefore not involved in data flow control during transmission, which is UDMA / Multi-word DMA data. Instead, the cryptographic interface 10 reliably interferes with passing the data flow control signal during transmission, which is UDMA / Multi-word DMA data, and the IDE controller 32 (shown in FIG. 1) and the cipher engine Data decoding is performed through 24, respectively.

데이터 기억 장치(18) 또는 호스트 장치(16)가 전송에서의 데이터 버스트를 완결할 필요가 있을 경우, 암호 인터페이스(10)는 대응하는 데이터 전송 완결 명령/응답신호를 데이터 기억 장치(18)와 호스트 장치 사이에서 즉시 보내어, 도 3의 단계 74에 개략적으로 나타낸 바와 같이, 데이터 전송의 완결을 가능하게 한다.When data storage 18 or host device 16 needs to complete a data burst in a transmission, cryptographic interface 10 sends a corresponding data transfer complete command / response signal to data storage 18 and host. Immediately sent between the devices, as shown schematically in step 74 of FIG. 3, enabling the completion of the data transfer.

단계 80에서, 암호 인터페이스(10)는 데이터 기억 장치(18)로 최종 버스트 완결 절차를 실행한다. 사이퍼 엔진(24)은 최후로 잔류하는 데이터를 암호해독하여 그것을 소형 출력 데이터 버퍼(28)에 전송한다. 암호 인터페이스(10)는 호스트 장치(16)로 버스트 완결 절차를 실행한다. 데이터 전송의 데이터 기억 장치측에서 CRC 에러가 발생되면, 데이터 전송의 완결 시 CRC 에러 상태 비트에 의해 호스트 장치(16)에 데이터 기억 장치(18)가 에러를 보고함에 따라 암호 인터페이스(10)는 특정 동작을 취하지 않는다.In step 80, the cryptographic interface 10 executes a final burst completion procedure with the data storage 18. The cipher engine 24 decrypts the last remaining data and sends it to the small output data buffer 28. The cryptographic interface 10 executes a burst completion procedure with the host device 16. If a CRC error occurs on the data storage side of the data transfer, the cryptographic interface 10 identifies the error as the data storage 18 reports the error to the host device 16 by the CRC error status bit upon completion of the data transfer. Take no action.

데이터 전송의 호스트 장치측에서 CRC 에러가 발생되면, 데이터 기억 장치측 데이터 전송은 이미 완결되었기 때문에 암호 인터페이스(10)는 데이터 기억 장치(18)에 상기 에러를 보내지 않는다. 단계 82에 개략적으로 나타낸 바와 같이, 상기 불일치를 해소하기 위해, CRC 에러가 데이터 기억 장치(18)에 의해 검출되었음을 호스트 장치(16)에 알리기 위해 암호 인터페이스(10)는 CRC 에러 상태 비트를 "true"로 가정함으로써 ATA 정보를 조작하고, 그 결과 호스트 장치(16)는 데이터의 재전송과 같은 교정 동작을 취할 수 있다.If a CRC error occurs on the host device side of the data transfer, the cryptographic interface 10 does not send the error to the data store 18 because the data transfer on the data storage side has already been completed. As outlined in step 82, in order to resolve the discrepancy, the cryptographic interface 10 sets the CRC error status bit to "true" to inform the host device 16 that a CRC error was detected by the data storage device 18. "in By manipulating the ATA information, the host device 16 can take corrective actions such as retransmission of data.

도 4는 호스트 장치(16)로부터 데이터 기억 장치(18)로의 PIO 데이터-아웃 전송을 개략적으로 나타내는 도면이다. PIO 모드에서, 데이터 전송은, 마이크로프로세서와 같이, 호스트 장치에 의해 초기화되고 실행된다. 데이터플로우 제어는 호스트 중앙처리 장치(CPU) 또는 호스트 ATA 어댑터에 의해 데이터 기억 장치로 보내어지는 판독 및 기록 데이터 스트로브를 포함한다. 일 실시예에서, PIO 데이터-아웃 전송은 호스트 장치(16)로부터 데이터 기억 장치(18)로의 PIO 데이터 전송이라 정의될 수 있다. 또 다른 실시예에서, PIO 데이터-아웃 전송은 데이터 기억 장치(18)로부터 호스트 장치(16)로의 PIO 데이터 전송이라 정의될 수 있다.4 is a diagram schematically illustrating PIO data-out transfer from the host device 16 to the data storage device 18. In PIO mode, data transfer is initiated and executed by the host device, such as a microprocessor. Dataflow control includes read and write data strobes sent to a data storage device by a host central processing unit (CPU) or a host ATA adapter. In one embodiment, PIO data-out transfer may be defined as PIO data transfer from host device 16 to data storage 18. In yet another embodiment, PIO data-out transfer may be defined as PIO data transfer from data storage 18 to host device 16.

초기에, 암호화 인터페이스(10)는 도 4의 단계 100에 대략적으로 도시된 바와같이, 데이터 전송 모드, 데이터 전송 크기 등 중요한 IDE/ATA 데이터 전송 변수를 인터셉트하여, 이러한 변수에 따라 호스트 장치(16)와 데이터 저장 장치(18) 사이의 PIO 데이터-아웃 전송을 준비한다. 호스트 장치(16)는 암호화 장치(10)로 데이터를 전송하기 위해 쓰기 스트로브를 발생시킨다. 암호화 인터페이스(10)는 소형입력 데이터 버퍼(26)(도 1에 도시됨)를 거쳐 암호화를 위한 암호화 엔진(24)(도 1에 도시됨)으로 입력 데이터를 향하게 한다. 암호화 장치(10)의 IDE 콘트롤로(30)(도 1에 도시됨)는 입력 데이터가 암호화되고 도 4에 도시된 단계 102에 도시되었듯이 데이터 저장 장치(18)로 전송될 준비가 될 때까지 IDE 콘트롤러(32)(도 1에 도시됨)를 거쳐 데이터 저장 장치(18)의 IDE 콘트롤러(14)(도 1에 도시됨)로 이러한 쓰기 스트로브를 보내는 것을 지연시키도록 프로그램된다.Initially, the cryptographic interface 10 intercepts important IDE / ATA data transfer variables, such as data transfer mode, data transfer size, and the like, as shown approximately in step 100 of FIG. And PIO data-out transfer between the data storage device 18 and the data storage device 18. The host device 16 generates a write strobe to send data to the encryption device 10. The encryption interface 10 directs input data via a small input data buffer 26 (shown in FIG. 1) to an encryption engine 24 (shown in FIG. 1) for encryption. The IDE control path 30 (shown in FIG. 1) of the encryption device 10 until the input data is encrypted and ready to be sent to the data storage device 18 as shown in step 102 shown in FIG. 4. It is programmed to delay sending this write strobe via IDE controller 32 (shown in FIG. 1) to IDE controller 14 (shown in FIG. 1) of data storage device 18.

도 4의 단계 104에 대략 도시되듯이, 암호화된 데이터가 데이터 저장 장치(18)로 송신을 위해 준비될 때, 암호화 인터페이스(10)의 IDE 콘트롤러(30)(도 1에 도시됨)는 데이터 전송의 나머지 기간을 위해 데이터 저장 장치(18)의 IDE 콘트롤러(14)(도 1에 도시됨)로 쓰기 스트로브를 직접 보낸다. 호스트측 데이터 전송의 완료 시에, 암호화 인터페이스(10)는 도 4의 단계 106에 도시되듯이 즉시로 쓰기 스트로브를 발생시키고, 그것을 저장 장치측 데이터 전송에 첨부시킨다.As roughly shown at step 104 of FIG. 4, when encrypted data is ready for transmission to the data storage device 18, the IDE controller 30 (shown in FIG. 1) of the encryption interface 10 transmits the data. The write strobe is sent directly to the IDE controller 14 (shown in FIG. 1) of the data storage device 18 for the remaining period of time. Upon completion of the host side data transfer, the cryptographic interface 10 immediately generates a write strobe as shown in step 106 of FIG. 4 and attaches it to the storage side data transfer.

도 5는 데이터 저장 장치(18)로부터 호스트 장치(16)로의 PIO 데이터-인 전송의 대략적 표시이다. 한 예에서, PIO 데이터-인 전송은 데이터 저장 장치(18)로부터 호스트 장치(16)로의 PIO 데이터 전송으로서 정의될 수 있다. 다른 예에서, PIO 데이터-인 전송은 호스트 장치(16)로부터 데이터 저장 장치(18)로의 PIO 데이터 전송으로서 정의될 수 있다.5 is a schematic representation of a PIO data-in transfer from data storage device 18 to host device 16. In one example, PIO data-in transfer may be defined as PIO data transfer from data storage device 18 to host device 16. In another example, PIO data-in transfer may be defined as PIO data transfer from host device 16 to data storage 18.

초기에, 암호화 인터페이스(10)는 도 5의 단계 110에 대략적으로 도시된 바와같이, 데이터 전송 모드, 데이터 전송 크기 등 중요한 IDE/ATA 데이터 전송 변수를 인터셉트하여, 이러한 변수에 따라 호스트 장치(16)와 데이터 저장 장치(18) 사이의 PIO 데이터-인 전송을 준비한다. 암호화 인터페이스(10)는 데이터 저장 장치(18)로부터 데이터의 검색을 시작하기 위해 IDE 콘트롤러(32)(도 1에 도시됨)를 위한 읽기 스트로브를 발생시킨다. 데이터 저장 장치(18)는 소형 입력 데이터 버퍼(26)(도 1에 도시됨)를 거쳐 암호해독을 위해 암호화 인터페이스(10)의 암호화 엔진(24)으로 암호화된 데이터를 전송함으로써 응답한다. 암호화 인터페이스(10)는 암호해독된 데이터가 소형 출력 데이터 버퍼(28)(도 1에 도시됨)를 거쳐 호스트 장치(16)로 전송될 준비가 될 때까지 도 5에 대략 도시되듯이 읽기 스트로브를 계속생성한다.Initially, the cryptographic interface 10 intercepts important IDE / ATA data transfer variables, such as data transfer mode, data transfer size, and the like, as outlined in step 110 of FIG. And prepare for PIO data-in transfer between data storage 18. The cryptographic interface 10 generates a read strobe for the IDE controller 32 (shown in FIG. 1) to begin retrieving data from the data storage device 18. The data storage device 18 responds by sending encrypted data via a small input data buffer 26 (shown in FIG. 1) to the encryption engine 24 of the encryption interface 10 for decryption. Encryption interface 10 reads strobes as shown approximately in FIG. 5 until the decrypted data is ready to be sent to host device 16 via small output data buffer 28 (shown in FIG. 1). Continue to generate

도 5의 단계 114에 대략 도시되듯이, 호스트 장치(16)는 암호화 인터페이스(10)로부터 암호해독된 데이터를 검색하기 위해 읽기 스트로브를 생성한다. 호스트 장치에서 생성된 읽기 스트로브는 데이터 전송의 나머지 기간 동안에 IDE 콘트롤러(30)(도 1에 도시됨), IDE 콘트롤러(32) 및 IDE 콘트롤러(14)(도 1에 도시됨)에 의해 데이터 저장 장치(18)로 직접 보내어진다.As shown roughly at step 114 of FIG. 5, the host device 16 generates a read strobe to retrieve the decrypted data from the cryptographic interface 10. The read strobe generated at the host device is stored by the IDE controller 30 (shown in FIG. 1), the IDE controller 32 and the IDE controller 14 (shown in FIG. 1) for the remainder of the data transfer. Directly sent to (18).

도 5의 단계 116에 대략 도시되듯이, 데이터 저장측 데이터 전송의 완료시에, 암호화 인터페이스(10)의 IDE 콘트롤러(30)는 호스트 장치(16)가 암호화 인터페이스(10)로부터 나머지 입력 암호해독된 데이터를 계속 읽는 등안에 호스트 장치에서 생성된 읽기 스트로브를 보내기를 멈춘다.As shown in step 116 of FIG. 5, upon completion of data storage-side data transfer, the IDE controller 30 of the encryption interface 10 causes the host device 16 to decrypt the remaining input decrypted data from the encryption interface 10. It stops sending read strobes generated by the host device in order to continue reading.

PIO 데이터-인 및 데이터-아웃 전송은 암호화 인터페이스(10)의 양쪽에서 동일한 데이터 출력율을 생성하여, 암호화 인터페이스(10)의 각각의 측에서의 스트로브 기간의 차이로 인해 암호화 인터페이스(10)에 의한 데이터 흐름 제어 지원의 종래기술에서의 필요성을 회피한다.PIO data-in and data-out transmissions produce the same data output rate on both sides of the cryptographic interface 10, resulting in data flow by the cryptographic interface 10 due to differences in strobe periods on each side of the cryptographic interface 10. Avoid the need in the prior art for control support.

PIO 데이터 전송의 초기 및 최종 부분은 데이터 전송의 이러한 상대적으로 짧은 부분에서 데이터 스트로브가 보내어지지 않더라도 데이터 흐름 제어 문제에 봉착하지 않는다. 한가지 이유는 이러한 데이터 전송 부분이 비교적 짧기 때문이다. 다른 이유는 호스트 장치(16)와 암호화 인터페이스(10) 사이의 데이터 전송 자체만으로는 데이터 흐름 제어를 필요로 하지 않기 때문이다. 암호화 인터페이스(10)와 데이터 저장 장치(18) 사이의 데이터 전송 자체만으로는 또한 데이터 흐름의 제어를 필요로 하지 않는다. 대체로, 데이터 흐름 제어는 암호화 인터페이스(10)의 양쪽에서 전송된 데이터의 양에 차이가 있을 때 암호화 인터페이스(10)에 의해 요구될 수 있지만, 이러한 비교적 짧은 초기/최종 데이터 전송 부분은 호스트 장치측 또는 데이터 저장 장치측에서만 발생하기 때문에, 데이터 흐름 제어는 암호화 인터페이스(10)에 의해 대체로 요구되지 않는다.The initial and final parts of the PIO data transmission do not encounter data flow control issues even if no data strobe is sent in this relatively short part of the data transmission. One reason is that this portion of data transmission is relatively short. Another reason is that the data transfer between the host device 16 and the encryption interface 10 alone does not require data flow control. The data transfer itself between the encryption interface 10 and the data storage device 18 alone also does not require control of the data flow. In general, data flow control may be required by the cryptographic interface 10 when there is a difference in the amount of data transmitted on both sides of the cryptographic interface 10, but this relatively short initial / final data transmission portion may be the host device side or Since it only occurs on the data storage side, data flow control is not usually required by the encryption interface 10.

도 6은 도 1의 암호화 인터페이스(10)의 암호화 엔진(24)의 한 실시예릉 대체로 도시한다. 구체적으로는, 암호화 인터페이스(10)의 암호화 엔진(24)은 도 6의 출력 버퍼 풀(full) 메시지에 의해 도시되듯이 소형 출력 데이터 버퍼(28)가 가득찼다는 것을 검출하는 즉시 데이터 암호화/암호해독을 멈추도록 프로그램된다. 구체적으로는, 모든 파이프라인 암호화 스테이지는 데이터 프로세싱을 즉시로 멈추고, 소형 입력 데이터 버퍼(26)로부터 더 이상의 데이터가 받아들여지지 않는다. 암호화 파이프라인 내에 존재하는 어떠한 데이터도 더 이상 다음의 스테이지로 전진하지 않는다. 전체적인 암호화 동작은 암호화 엔진(24)이 소형 출력 데이터 버퍼(28)가 더 이상 채워져 있지 않다는 것을 검출할 때까지 "결빙상태(frozen)"를 나타난다. 그 시점에, 암호화 엔진(24)은 데이터 프로세싱을 재개하고, 각각의 암호화 파이프라인 스테이지는 전에 정지되었던 곳으로부터 동작을 계속한다. 당업자는 이 암호화 구성이 회로, 따라서 데이터 프로세싱을 단순화하고, 또한 제조 비용을 감소시킨다는 것을 인식할 것이다.FIG. 6 illustrates generally one embodiment of the encryption engine 24 of the encryption interface 10 of FIG. 1. Specifically, the encryption engine 24 of the encryption interface 10 immediately encrypts / encrypts data upon detecting that the small output data buffer 28 is full, as shown by the output buffer full message of FIG. 6. It is programmed to stop decryption. Specifically, all pipeline encryption stages stop data processing immediately and no more data is received from the small input data buffer 26. Any data present in the encryption pipeline no longer advances to the next stage. The overall encryption operation is “frozen” until the encryption engine 24 detects that the small output data buffer 28 is no longer full. At that point, encryption engine 24 resumes data processing, and each encryption pipeline stage continues operation from where it was previously stopped. Those skilled in the art will appreciate that this encryption scheme simplifies the circuitry, thus data processing, and also reduces manufacturing costs.

도 7은 IDE/ATA 데이터 전송 도중의 실시간 데이터 암호화/암호해독 방법을 일반적으로 나타내는 플로차트이다. 도 7의 단계 140에서, ATA 정보는 인터페이스(10)(도 1에 도시됨)를 통해 호스트 장치(16)와 데이터 기억 장치(18) 사이에서 교환된다. 암호 인터페이스(10)는 임계 ATA 파라미터를 인터셉트하고, 입력되는 데이터를 수신하고, 데이터를 처리하여, 처리된 데이터를 데이터 기억 장치(18) 또는 호스트 장치(16)에 각각 전송한다. 일 실시에에서, 데이터 처리는 데이터 암호화를 의미할 수 있다. 또 다른 실시예에서, 데이터 처리는 데이터 암호해독을 의미할 수 있다.7 is a flowchart generally showing a real-time data encryption / decryption method during IDE / ATA data transmission. In step 140 of FIG. 7, the ATA information is exchanged between the host device 16 and the data storage device 18 via the interface 10 (shown in FIG. 1). The cryptographic interface 10 intercepts the critical ATA parameters, receives the input data, processes the data, and transmits the processed data to the data storage device 18 or the host device 16, respectively. In one embodiment, data processing may mean data encryption. In another embodiment, data processing may mean data decryption.

단계 142에서, 암호 인터페이스(10)는 데이터플로우 제어 신호를 각각 호스트 장치(16) 또는 데이터 기억 장치(18)로부터 수신한다. 단계 144에서, 암호 인터페이스(10)는 모든 데이터가 처리되었는지를 판정하도록 프로그램되어 있다. 모든 데이터가 처리된 경우에는, 호스트 장치(16)는, 도 7의 단계 146에 일반적으로 나타낸 바와 같이, IDE 제어기(12)(도 1에 도시됨), IDE 제어기(30)(도 1에 도시됨), 및 IDE 제어기(32)(도 1에 도시됨)를 통해 데이터 기억 장치(18)의 상태를 체크하거나 판독하고, 데이터 전송이 정지된다. 모든 데이터가 처리되지 않았을 경우에는, 도 7의 단계 148에 일반적으로 나타낸 바와 같이, 암호 인터페이스(10)는 데이터가 호스트 장치(16)와 데이터 기억 장치(18) 사이에서 흐르고 있는지 여부를 판정하도록 프로그램되어 있다.In step 142, the cryptographic interface 10 receives dataflow control signals from the host device 16 or the data storage device 18, respectively. In step 144, the cryptographic interface 10 is programmed to determine whether all data has been processed. When all the data has been processed, the host device 16, as shown generally in step 146 of FIG. 7, includes an IDE controller 12 (shown in FIG. 1) and an IDE controller 30 (shown in FIG. 1). And the state of the data storage device 18 via the IDE controller 32 (shown in FIG. 1), and the data transfer is stopped. If all the data has not been processed, as shown generally in step 148 of FIG. 7, the cryptographic interface 10 may program to determine whether data is flowing between the host device 16 and the data storage device 18. FIG. It is.

단계 150에서, 데이터가 흐르고 있는 경우, 암호 인터페이스(10)는 수신된 데이터 플로우 제어 신호를 호스트 장치(16)에서 데이터 기억 장치(18)로, 또는 그 역으로 즉시 보내도록 프로그램되어 있다. 단계 152에서, 데이터가 흐르고 있지 않는 경우, 암호 인터페이스(10)는 수신된 데이터플로우 제어 신호의 전달 및 재생을 지연시키도록 프로그램되어 있다. 실시간 데이터 암호화/암호해독 사이클은 화살표 154에 의해 일반적으로 나타낸 바와 같이 계속된다.In step 150, if data is flowing, the cryptographic interface 10 is programmed to immediately send the received data flow control signal from the host device 16 to the data storage device 18, or vice versa. In step 152, if no data is flowing, the cryptographic interface 10 is programmed to delay delivery and playback of the received dataflow control signal. The real time data encryption / decryption cycle continues as indicated generally by arrow 154.

도 8은 UDMA/Multi-word DMA 데이터 전송 도중의실시간 데이터 암호화/암호해독 방법을 일반적으로 나타내는 플로차트이다. 단계 160에서, ATA 정보를 암호 인터페이스(10)를 통해 호스트 장치(16)와 데이터 기억 장치(18) 사이에서 교환된다. 암호 인터페이스(10)는 임계 ATA 파라미터를 인터셉트하고, 호스트 장치(16)(도 1에 도시됨) 및 데이터 기억 장치(18)(도 1에 도시됨)로 데이터 버스트를 초기화하고, 입력되는 데이터를 수신하고, 데이터를 처리하여 처리된 데이터를, 각각 데이터 기억 장치(18) 또는 호스트 장치(16)에 전송한다. 일 실시예에서, 데이터 처리는 암호화를 의미할 수 있다. 또 다른 실시예에서, 데이터 처리는 데이터 암호해독을 의미할 수 있다.8 is a flowchart generally showing a real-time data encryption / decryption method during UDMA / Multi-word DMA data transmission. In step 160, ATA information is exchanged between the host device 16 and the data storage device 18 via the cryptographic interface 10. The cryptographic interface 10 intercepts critical ATA parameters, initializes data bursts with the host device 16 (shown in FIG. 1) and the data storage device 18 (shown in FIG. 1), and stores the incoming data. The data received and processed by the data is transferred to the data storage device 18 or the host device 16, respectively. In one embodiment, data processing may mean encryption. In another embodiment, data processing may mean data decryption.

단계 162에서, 암호 인터페이스(10)는, 각각 호스트 장치(16) 또는 데이터 기억 장치(18)로부터 데이터플로우 제어 신호를 수신한다. 단계 164에서, 암호 인터페이스(10)는 각각 호스트 장치(16) 또는 데이터 기억 장치(18)로부터 완결 제어신호가 수신되었는지 여부를 판정하도록 프로그램되어 있다. 종료 제어 신호가 수신된 경우에는, 암호 인터페이스(10)는, 단계 168에 일반적으로 나타낸 바와 같이, 데이터 전송이 종료되었는지를 판정하도록 프로그램되어 있다. 데이터 전송이 종료된 경우에는, 암호 인터페이스(10)는, 단계 170에 일반적으로 나타낸 바와 같이, 각각 호스트 장치(16) 또는 데이터 기억 장치(18)로 데이터 버스트 완결 절차를 실행한다.In step 162, the cryptographic interface 10 receives data flow control signals from the host device 16 or the data storage device 18, respectively. In step 164, the cryptographic interface 10 is programmed to determine whether a complete control signal has been received from the host device 16 or the data storage device 18, respectively. If an end control signal has been received, the cryptographic interface 10 is programmed to determine whether the data transfer has ended, as generally indicated in step 168. If the data transfer has ended, the cryptographic interface 10 executes a data burst completion procedure to the host device 16 or the data storage device 18, respectively, as generally indicated in step 170. FIG.

단계 172에서, UDMA/Multi-word DMA 데이터-아웃 전송의 경우, 암호 인터페이스(10)는 데이터 기억 장치(18)로부터 호스트 장치(16)로 ATA 정보를 보내도록 프로그램되어 있고, 데이터 전송이 정지된다. UDMA/Multi-word DMA 데이터-인 전송의 경우, 암호 인터페이스(10)는 데이터 기억 장치(18)로부터 호스트 장치(16)로 조작된 ATA 정보를 전송하도록 프로그램되어 있고, 데이터 전송이 정지된다.In step 172, in the case of UDMA / Multi-word DMA data-out transfer, the cryptographic interface 10 is programmed to send ATA information from the data storage device 18 to the host device 16, and the data transfer is stopped. . In the case of UDMA / Multi-word DMA data-in transfer, the cryptographic interface 10 is programmed to transfer the manipulated ATA information from the data storage device 18 to the host device 16, and the data transfer is stopped.

완결 제어 신호가 수신되지 않았을 경우, 암호 인터페이스(10)는, 도 8의 단계 168에 일반적으로 나타낸 바와 같이, 수신된 데이터플로우 제어 신호를 각각 호스트 장치(16)에서 데이터 기억 장치(18)로, 또는 데이터 기억 장치(18)에서 호스트 장치(16)로 즉시 보내도록 프로그램되어 있다. 마찬가지로, 데이터 전송이 종료되지 않았을 경우, 암호 인터페이스(10)는, 도 8의 단계 168에 일반적으로 나타낸 바와 같이, 수신된 데이터플로우 제어 신호를 각각 호스트 장치(16)에서 데이터 기억 장치(18)로, 또는 데이터 기억 장치(18)에서 호스트 장치(16)로 즉시 보내도록 프로그램되어 있다. 실시간 암호화/암호해독 사이클은, 화살표 174로 일반적으로 나타낸 바와 같이, 계속된다.If no complete control signal is received, the cryptographic interface 10 sends the received dataflow control signals from the host device 16 to the data storage device 18, respectively, as generally indicated in step 168 of FIG. Alternatively, the data storage device 18 is programmed to immediately send the data to the host device 16. Similarly, if data transfer has not ended, the cryptographic interface 10 sends the received dataflow control signals from the host device 16 to the data storage device 18, respectively, as generally indicated in step 168 of FIG. Or is sent to the host device 16 from the data storage device 18 immediately. The real time encryption / decryption cycle continues, as indicated generally by arrow 174.

도 9는 PIO 데이터 전송 도중의 실시간 데이터 암호화/암호해독 방법을 일반적으로 나타내는 플로차트이다. 단계 180에서, ATA 정보는 암호 인터페이스(10)(도 1에 도시됨)를 통해 호스트 장치(16)(도 1에 도시됨)와 데이터 기억 장치(18)(도 1에 도시됨) 사이에서 교환된다. 암호 인터페이스(10)는 임계 ATA 파리미터를 인터셉트한다.9 is a flowchart generally showing a real-time data encryption / decryption method during PIO data transmission. In step 180, ATA information is exchanged between the host device 16 (shown in FIG. 1) and the data storage device 18 (shown in FIG. 1) via the cryptographic interface 10 (shown in FIG. 1). do. The cryptographic interface 10 intercepts critical ATA parameters.

단계 182에서, 암호 인터페이스(10)는 입력되는 초기 데이터를 수신하여 그초기 데이터를 처리한다. PIO 데이터-아웃 전송의 경우에, 암호 인터페이스(10)는 호스트 장치 생성 기록 스트로브(write strobe)의 전달을 지연하도록 프로그램되어 있다. PIO 데이터-인 전송의 경우에, 암호 인터페이스(10)는 판독 스트로브(read strobe)를 생성하도록 프로그램되어 있다.In step 182, the cryptographic interface 10 receives the incoming initial data and processes the initial data. In the case of PIO data-out transmission, the cryptographic interface 10 is programmed to delay delivery of the host device generated write strobe. In the case of PIO data-in transfer, cryptographic interface 10 is programmed to generate a read strobe.

단계 184에서, 암호 인터페이스(10)는 입력되는 데이터를 수신하여 그 입력데이터를 처리한다. 또한, PIO 데이터-아웃 전송의 경우에, 암호 인터페이스(10)는 호스트 장치 생성 기록 스트로브를 호스트 장치(16)로부터 데이터 기억 장치(18)에 보내도록 프로그램되어 있다. PIO 데이터-인 전송의 경우에, 암호 인터페이스(10)는 호스트 장치 생성 기록 스트로브를 호스트 장치(16)로부터 데이터 기억 장치(18)에 보내도록 프로그램되어 있다.In step 184, the cryptographic interface 10 receives the input data and processes the input data. In addition, in the case of PIO data-out transmission, the cryptographic interface 10 is programmed to send the host device generation write strobe from the host device 16 to the data storage device 18. In the case of PIO data-in transfer, the cryptographic interface 10 is programmed to send the host device generation write strobe from the host device 16 to the data storage device 18.

단계 186에서, 암호 인터페이스(10)는 데이터 전송이 종료되었는지 판정하도록 프로그램되어 있다. 데이터 전송이 종료되지 않았을 경우, 화살표 190에 의해 일반적으로 나타낸 바와 같이, 실시간 데이터 암호화/복호화 사이클이 계속된다. 데이터 전송이 종료된 경우에, 단계 188에 일반적으로 나타낸 바와 같이, 암호 인터페이스(10)는 PIO 데이터-아웃 전송의 경우, 기록 스트로브를 생성하고, 도 4의 단계 106을 참고하여 앞에서 설명한 바와 같이, 기록 스트로브를 기억 장치측 데이터 전송에 부가하도록 프로그램되어 있고, 데이터 전송 프로세스는 정지된다. 도9의 단계 188에 추가로 나타낸 바와 같이, PIO 데이터-인 전송의 경우, 암호 인터페이스(10)는 호스트 장치 생성 판독 스트로브를 보내지 않도록 프로그램되어 있고, 데이터 전송 프로세스는 정지된다.In step 186, the cryptographic interface 10 is programmed to determine if the data transfer has ended. If the data transfer has not ended, the real time data encryption / decryption cycle continues, as generally indicated by arrow 190. When the data transfer is terminated, as shown generally at step 188, the cryptographic interface 10 generates a write strobe in the case of PIO data-out transfer, and as previously described with reference to step 106 of FIG. The recording strobe is programmed to add to the storage device side data transfer, and the data transfer process is stopped. As further shown in step 188 of FIG. 9, for PIO data-in transmission, the cryptographic interface 10 is programmed not to send a host device generated read strobe, and the data transfer process is stopped.

이상과 같이 본 발명은 여러 가지 특정 구현예를 통해 설명되었지만, 당업자는 본 발명의 사상과 청구의 범위 내에서 본 발명을 변형하여 실시할 수 있음을 인식할 것이다. 또한, 어느 한 구현예의 일부로서 예시되거나 설명된 특징은 그러한 특징이 전술한 특정 구현예에 한정되지 않도록 또 다른 구현예를 제공하게끔 다른 구현에에서 이용될 수 있다. 따라서, 그러한 구현예 및 변경이 첨부되는 청구의 범위 및 그 등가물 내에 포함되는 한, 본 발명은 그러한 모든 구현예를 포괄하는 것으로 간주된다.While the present invention has been described above through various specific embodiments, those skilled in the art will recognize that the present invention may be modified and practiced within the spirit and scope of the present invention. In addition, features illustrated or described as part of either implementation can be used in other implementations to provide yet another implementation such that such features are not limited to the specific implementations described above. Thus, it is intended that the present invention cover all such embodiments as long as such embodiments and modifications come within the scope of the appended claims and their equivalents.

본 발명에 의하면, 칩제조비용을 저렴하게 할 수 있다.According to the present invention, the chip manufacturing cost can be reduced.

도 1은 IDE/ATA 데이터 전송을 위한 실시간 데이터 암호화/암호해제 시스템의 개략 블록도.1 is a schematic block diagram of a real-time data encryption / decryption system for IDE / ATA data transmission.

도 2는 울트라 다이렉트 메모리 액세스(UDMA)/멀티워드 DMA 데이터-아웃 전송의 개략 블록도.2 is a schematic block diagram of an ultra direct memory access (UDMA) / multiword DMA data-out transfer.

도 3은 UDMIA/멀티워드 DMA 데이터-인 전송의 개략 블록도.3 is a schematic block diagram of a UDMIA / multiword DMA data-in transfer.

도 4는 프로그램된 입력/출력(PIO) 데이터-아웃 전송의 개략 블록도.4 is a schematic block diagram of a programmed input / output (PIO) data-out transfer.

도 5는 PIO 데이터-인 전송의 개략 블록도.5 is a schematic block diagram of a PIO data-in transfer.

도 6은 도 1의 실시간 데이터 암호화/암호해제 시스템의 일실시예에 대한 개략도.6 is a schematic diagram of one embodiment of a real-time data encryption / decryption system of FIG.

도 7은 IDE/ATA 데이터 전송 동안 실시간 데이터 암호화/암호해제 방법을 개략 설명하는 흐름도.7 is a flow chart schematically illustrating a real time data encryption / decryption method during IDE / ATA data transfer.

도 8은 UDMA/멀티워드 DMA 데이터 전송 동안 실시간 데이터 암호화/암호해제 방법을 개략적으로 설명하는 흐름도.8 is a flow diagram schematically illustrating a method of real time data encryption / decryption during UDMA / multiword DMA data transfer.

도 9는 PIO 데이터 전송 동안 실시간 데이터 암호화/암호해제 방법을 개략적으로 설명하는 흐름도.9 is a flow chart schematically illustrating a method of real time data encryption / decryption during PIO data transmission.

Claims (26)

적어도 하나의 호스트 디바이스와 적어도 하나의 데이터 저장 디바이스 사이에 효과적으로 결합되며, 전체적인 데이터 전송 효율에 영향을 주지 않고 IDE/ATA 데이터 전송 동안 상기 적어도 하나의 호스트 디바이스와 상기 적어도 하나의 데이터 저장 디바이스 사이에 실시간 데이터 암호화 및 암호해제를 수행하도록 적응되어 있는 적어도 하나의 암호 인터페이스를 포함하는 것을 특징으로 하는 데이터 암호화 시스템.Effectively coupled between at least one host device and at least one data storage device, real time between the at least one host device and the at least one data storage device during IDE / ATA data transfer without affecting overall data transfer efficiency At least one cryptographic interface adapted to perform data encryption and decryption. 적어도 하나의 호스트 디바이스와 적어도 하나의 데이터 저장 디바이스 사이에 효과적으로 결합되며, 전체적인 데이터 전송 효율에 영향을 주지 않고 IDE/ATA데이터 전송 동안 상기 적어도 하나의 호스트 디바이스와 상기 적어도 하나의 데이터 저장 디바이스 사이에 실시간 데이터 암호화를 수행하도록 적응되어 있는 적어도 하나의 암호 인터페이스를 포함하는 것을 특징으로 하는 데이터 암호화 시스템.Effectively coupled between at least one host device and at least one data storage device, real time between the at least one host device and the at least one data storage device during IDE / ATA data transfer without affecting overall data transfer efficiency At least one cryptographic interface adapted to perform data encryption. 적어도 하나의 호스트 디바이스와 적어도 하나의 데이터 저장 디바이스 사이에 효과적으로 결합되며, 전체적인 데이터 전송 효율에 영향을 주지 않고 IDE/ATA데이터 전송 동안 상기 적어도 하나의 호스트 디바이스와 상기 적어도 하나의 데이터 저장 디바이스 사이에 실시간 데이터 암호해제를 수행하도록 적응되어 있는 적어도 하나의 암호 인터페이스를 포함하는 것을 특징으로 하는 데이터 암호화 시스템.Effectively coupled between at least one host device and at least one data storage device, real time between the at least one host device and the at least one data storage device during IDE / ATA data transfer without affecting overall data transfer efficiency At least one cryptographic interface adapted to perform data decryption. 적어도 하나의 호스트 디바이스와 적어도 하나의 데이터 저장 디바이스 사이에 효과적으로 결합되며, 상기 적어도 하나의 호스트 디바이스와 상기 적어도 하나의 데이터 저장 디바이스 사이에 적어도 하나의 IDE/ATA 데이터 전송을 차단하며, 상기 적어도 하나의 차단된 IDE/ATA 데이터 전송에 대해 실시간 암호 처리를 투명하게 수행하도록 적응되어 있는 적어도 하나의 암호 인터페이스를 포함하는 것을 특징으로 하는 데이터 암호화 시스템.Effectively coupled between at least one host device and at least one data storage device, blocking at least one IDE / ATA data transfer between the at least one host device and the at least one data storage device, wherein the at least one At least one cryptographic interface adapted to transparently perform real-time cryptographic processing for blocked IDE / ATA data transmissions. 데이터 암호화 시스템에 있어서,In a data encryption system, 적어도 하나의 호스트 디바이스;At least one host device; 적어도 하나의 데이터 저장 디바이스; 및At least one data storage device; And 적어도 하나의 호스트 디바이스와 적어도 하나의 데이터 저장 디바이스 사이에 효과적으로 결합되며, 상기 적어도 하나의 호스트 디바이스와 상기 적어도 하나의 데이터 저장 디바이스 사이에 IDE/ATA 데이터 전송 동안 데이터가 스트리밍되고있을 때에는 상기 적어도 하나의 호스트 디바이스와 상기 적어도 하나의 데이터 저장 디바이스 사이에 IDE/ATA 데이터흐름 제어 신호를 전송하도록 적응되어 있는 적어도 하나의 암호 인터페이스Effectively coupled between at least one host device and at least one data storage device, the data being streamed during IDE / ATA data transfer between the at least one host device and the at least one data storage device. At least one cryptographic interface adapted to transmit IDE / ATA dataflow control signals between a host device and the at least one data storage device 를 포함하는 것을 특징으로 하는 데이터 암호화 시스템.Data encryption system comprising a. 데이터 암호화 시스템에 있어서,In a data encryption system, 적어도 하나의 호스트 디바이스;At least one host device; 적어도 하나의 데이터 저장 디바이스; 및At least one data storage device; And 적어도 하나의 호스트 디바이스와 적어도 하나의 데이터 저장 디바이스 사이에 효과적으로 결합되며, 상기 적어도 하나의 호스트 디바이스와 상기 적어도 하나의 데이터 저장 디바이스 사이에 IDE/ATA 데이터 전송 동안 데이터가 스트리밍되고있지 않을 때에는 상기 적어도 하나의 호스트 디바이스와 상기 적어도 하나의 데이터 저장 디바이스 사이에 IDE/ATA 데이터흐름 제어 신호의 전송을 지연시키도록 적응되어 있는 적어도 하나의 암호 인터페이스Effectively coupled between at least one host device and at least one data storage device, wherein the at least one when data is not being streamed during IDE / ATA data transfer between the at least one host device and the at least one data storage device At least one cryptographic interface adapted to delay transmission of the IDE / ATA dataflow control signal between the host device and the at least one data storage device. 를 포함하는 것을 특징으로 하는 데이터 암호화 시스템.Data encryption system comprising a. IDE/ATA 데이터 전송 조정을 위한 암호화 인터페이스에 있어서,In the encryption interface for adjusting IDE / ATA data transfer, 일부의 ATA 프로토콜을 지원하는 제1 IDE 제어기; 및A first IDE controller supporting some ATA protocols; And 일부의 ATA 프로토콜을 지원하며, 상기 제1 IDE 제어기에 효과적으로 결합되어 있는 제2 IDE 제어기A second IDE controller that supports some ATA protocols and is effectively coupled to the first IDE controller 를 포함하며,Including; 상기 제1 및 제2 IDE 제어기는 적어도 하나의 호스트 디바이스와 적어도 하나의 데이터 저장 디바이스 사이에 IDE/ATA 데이터 전송 동안 데이터가 스트리밍되고 있을 때에는 상기 적어도 하나의 호스트 디바이스의 적어도 하나의 호스트 IDE제어기와 상기 적어도 하나의 데이터 저장 디바이스의 데이터 저장 IDE 제어기 사이에 IDE/ATA 데이터흐름 제어 신호를 전송하도록 적응되어 있으며,The first and second IDE controllers may include at least one host IDE controller of the at least one host device when data is being streamed during IDE / ATA data transfer between at least one host device and at least one data storage device. Adapted to transmit IDE / ATA dataflow control signals between the data storage IDE controllers of at least one data storage device, 상기 적어도 하나의 호스트 IDE 제어기와 상기 적어도 하나의 데이터 저장 IDE 제어기는 완전한 ATA 프로토콜을 지원하는 것을 특징으로 하는 암호 인터페이스.And the at least one host IDE controller and the at least one data storage IDE controller support full ATA protocol. IDE/ATA 데이터 전송 조정을 위한 암호화 인터페이스에 있어서,In the encryption interface for adjusting IDE / ATA data transfer, 일부의 ATA 프로토콜을 지원하는 제1 IDE 제어기; 및A first IDE controller supporting some ATA protocols; And 일부의 ATA 프로토콜을 지원하며, 상기 제1 IDE 제어기에 효과적으로 결합되어 있는 제2 IDE 제어기A second IDE controller that supports some ATA protocols and is effectively coupled to the first IDE controller 를 포함하며,Including; 상기 제1 및 제2 IDE 제어기는 적어도 하나의 호스트 디바이스와 적어도 하나의 데이터 저장 디바이스 사이에 IDE/ATA 데이터 전송 동안 데이터가 스트리밍되고 있고 있지 않을 때에는 상기 적어도 하나의 호스트 디바이스의 적어도 하나의 호스트 IDE 제어기와 상기 적어도 하나의 데이터 저장 디바이스의 데이터 저장 IDE제어기 사이에 IDE/ATA 데이터흐름 제어 신호의 전송을 지연시키도록 적응되어 있으며,The first and second IDE controllers include at least one host IDE controller of the at least one host device when data is not being streamed during IDE / ATA data transfer between at least one host device and at least one data storage device. Is adapted to delay transmission of the IDE / ATA data flow control signal between a data storage IDE controller of the at least one data storage device, 상기 적어도 하나의 호스트 IDE 제어기와 상기 적어도 하나의 데이터 저장 IDE 제어기는 완전한 ATA 프로토콜을 지원하는 것을 특징으로 하는 암호 인터페이스.And the at least one host IDE controller and the at least one data storage IDE controller support full ATA protocol. 제7항에 있어서,The method of claim 7, wherein 상기 적어도 하나의 호스트 디바이스와 상기 적어도 하나의 데이터 저장 디바이스 사이에 IDE/ATA 데이터 전송 동안 상기 제1 및 제2 IDE 제어기기와 함께 실시간 데이터 암호 처리를 투명하게 수행하도록 적응되어 있는 적어도 하나의 암호엔진을 더 포함하는 것을 특징으로 하는 암호 인터페이스.At least one crypto engine adapted to transparently perform real-time data encryption processing with the first and second IDE controllers during IDE / ATA data transfer between the at least one host device and the at least one data storage device Password interface, characterized in that it further comprises. 제8항에 있어서,The method of claim 8, 상기 적어도 하나의 호스트 디바이스와 상기 적어도 하나의 데이터 저장 디바이스 사이에 IDE/ATA 데이터 전송 동안 상기 제1 및 제2 IDE 제어기기와 함께 실시간 데이터 암호 처리를 투명하게 수행하도록 적응되어 있는 적어도 하나의 암호엔진을 더 포함하는 것을 특징으로 하는 암호 인터페이스.At least one crypto engine adapted to transparently perform real-time data encryption processing with the first and second IDE controllers during IDE / ATA data transfer between the at least one host device and the at least one data storage device Password interface, characterized in that it further comprises. 제9항에 있어서,The method of claim 9, 상기 적어도 하나의 암호 엔진은 적어도 하나의 소용량 입력 데이터 버퍼와 적어도 하나의 소용량 출력 데이터 버퍼 사이에 효과적으로 결합되어 있는 것을 특징으로 하는 암호 인터페이스.And the at least one crypto engine is effectively coupled between at least one small input data buffer and at least one small output data buffer. 제10항에 있어서,The method of claim 10, 상기 적어도 하나의 암호 엔진은 적어도 하나의 소용량 입력 데이터 버퍼와 적어도 하나의 소용량 출력 데이터 버퍼 사이에 효과적으로 결합되어 있는 것을 특징으로 하는 암호 인터페이스.And the at least one crypto engine is effectively coupled between at least one small input data buffer and at least one small output data buffer. 제11항에 있어서,The method of claim 11, 상기 적어도 하나의 호스트 IDE 제어기는 적어도 하나의 대용량 데이터 버퍼를 포함하는 것을 특징으로 하는 암호 인터페이스.And the at least one host IDE controller includes at least one large data buffer. 제11항에 있어서,The method of claim 11, 상기 적어도 하나의 데이터 저장 IDE 제어기는 적어도 하나의 대용량 데이터 버퍼를 포함하는 것을 특징으로 하는 암호 인터페이스.And said at least one data storage IDE controller comprises at least one large data buffer. 제12항에 있어서,The method of claim 12, 상기 적어도 하나의 호스트 IDE 제어기는 적어도 하나의 대용량 데이터 버퍼를 포함하는 것을 특징으로 하는 암호 인터페이스.And the at least one host IDE controller includes at least one large data buffer. 제12항에 있어서,The method of claim 12, 상기 적어도 하나의 데이터 저장 IDE 제어기는 적어도 하나의 대용량 데이터 버퍼를 포함하는 것을 특징으로 하는 암호 인터페이스.And said at least one data storage IDE controller comprises at least one large data buffer. 제11항에 있어서,The method of claim 11, 상기 적어도 하나의 암호 엔진은 상기 적어도 하나의 소용량 출력 데이터 버퍼가 완전히 채워져 있음을 검출하면 암호 데이터 처리를 중지시키도록 프로그램되어 있는 것을 특징으로 하는 암호 인터페이스.And wherein said at least one crypto engine is programmed to stop cryptographic data processing upon detecting that said at least one small output data buffer is fully filled. IDE/ATA 데이터 전송 조정을 위한 암호화 인터페이스에 있어서,In the encryption interface for adjusting IDE / ATA data transfer, 일부의 ATA 프로토콜을 지원하는 제1 IDE 제어기; 및A first IDE controller supporting some ATA protocols; And 일부의 ATA 프로토콜을 지원하며, 상기 제1 IDE 제어기에 효과적으로 결합되어 있는 제2 IDE 제어기A second IDE controller that supports some ATA protocols and is effectively coupled to the first IDE controller 를 포함하며,Including; 상기 제1 및 제2 IDE 제어기는 적어도 하나의 호스트 디바이스와 적어도 하나의 데이터 저장 디바이스 사이에 UDMA/멀티워드 DMA 데이터 전송 동안 데이터가 스트리밍되고 있을 때에는 상기 적어도 하나의 호스트 디바이스의 적어도 하나의 호스트 IDE 제어기와 상기 적어도 하나의 데이터 저장 디바이스의 데이터 저장 IDE제어기 사이에 데이터흐름 제어 신호를 전송하도록 적응되어 있으며,The first and second IDE controllers include at least one host IDE controller of the at least one host device when data is being streamed during a UDMA / multiword DMA data transfer between at least one host device and at least one data storage device. And transmit a data flow control signal between a data storage IDE controller of the at least one data storage device, 상기 적어도 하나의 호스트 IDE 제어기와 상기 적어도 하나의 데이터 저장 IDE 제어기는 완전한 ATA 프로토콜을 지원하는 것을 특징으로 하는 암호 인터페이스.And the at least one host IDE controller and the at least one data storage IDE controller support full ATA protocol. IDE/ATA 데이터 전송 조정을 위한 암호화 인터페이스에 있어서,In the encryption interface for adjusting IDE / ATA data transfer, 일부의 ATA 프로토콜을 지원하는 제1 IDE 제어기; 및A first IDE controller supporting some ATA protocols; And 일부의 ATA 프로토콜을 지원하며, 상기 제1 IDE 제어기에 효과적으로 결합되어 있는 제2 IDE 제어기A second IDE controller that supports some ATA protocols and is effectively coupled to the first IDE controller 를 포함하며,Including; 상기 제1 및 제2 IDE 제어기는 적어도 하나의 호스트 디바이스와 적어도 하나의 데이터 저장 디바이스 사이에 UDMA/멀티워드 DMA 데이터 전송 동안 데이터가 스트리밍되고 있지 않을 때에는 상기 적어도 하나의 호스트 디바이스의 적어도 하나의 호스트 IDE 제어기와 상기 적어도 하나의 데이터 저장 디바이스의 데이터 저장 IDE 제어기 사이에 데이터흐름 제어 신호의 전송을 지연시키도록 적응되어 있으며,The first and second IDE controllers include at least one host IDE of the at least one host device when no data is being streamed during the UDMA / multiword DMA data transfer between the at least one host device and the at least one data storage device. Is adapted to delay transmission of a data flow control signal between a controller and a data storage IDE controller of the at least one data storage device, 상기 적어도 하나의 호스트 IDE 제어기와 상기 적어도 하나의 데이터 저장 IDE 제어기는 완전한 ATA 프로토콜을 지원하는 것을 특징으로 하는 암호 인터페이스.And the at least one host IDE controller and the at least one data storage IDE controller support full ATA protocol. IDE/ATA 데이터 전송 조정을 위한 암호화 인터페이스에 있어서,In the encryption interface for adjusting IDE / ATA data transfer, 일부의 ATA 프로토콜을 지원하는 제1 IDE 제어기; 및A first IDE controller supporting some ATA protocols; And 일부의 ATA 프로토콜을 지원하며, 상기 제1 IDE 제어기에 효과적으로 결합되어 있는 제2 IDE 제어기A second IDE controller that supports some ATA protocols and is effectively coupled to the first IDE controller 를 포함하며,Including; 상기 제1 및 제2 IDE 제어기는 적어도 하나의 호스트 디바이스와 적어도 하나의 데이터 저장 디바이스 사이에 PIO 데이터 전송 동안 데이터가 스트리밍되고 있을 때에는 상기 적어도 하나의 호스트 디바이스의 적어도 하나의 호스트 IDE 제어기와 상기 적어도 하나의 데이터 저장 디바이스의 데이터 저장 IDE 제어기 사이에 데이터흐름 제어 신호를 전송하도록 적응되어 있으며,The first and second IDE controllers include at least one host IDE controller of the at least one host device and the at least one when data is being streamed during PIO data transfer between at least one host device and at least one data storage device. Is adapted to transmit data flow control signals between the data storage IDE controllers of the data storage devices of the 상기 적어도 하나의 호스트 IDE 제어기와 상기 적어도 하나의 데이터 저장 IDE 제어기는 완전한 ATA 프로토콜을 지원하는 것을 특징으로 하는 암호 인터페이스.And the at least one host IDE controller and the at least one data storage IDE controller support full ATA protocol. IDE/ATA 데이터 전송 조정을 위한 암호화 인터페이스에 있어서,In the encryption interface for adjusting IDE / ATA data transfer, 일부의 ATA 프로토콜을 지원하는 제1 IDE 제어기; 및A first IDE controller supporting some ATA protocols; And 일부의 ATA 프로토콜을 지원하며, 상기 제1 IDE 제어기에 효과적으로 결합되어 있는 제2 IDE 제어기A second IDE controller that supports some ATA protocols and is effectively coupled to the first IDE controller 를 포함하며,Including; 상기 제1 및 제2 IDE 제어기는 적어도 하나의 호스트 디바이스와 적어도 하나의 데이터 저장 디바이스 사이에 PIO 데이터 전송 동안 데이터가 스트리밍되고 있지 않을 때에는 상기 적어도 하나의 호스트 디바이스의 적어도 하나의 호스트 IDE 제어기와 상기 적어도 하나의 데이터 저장 디바이스의 데이터 저장 IDE 제어기 사이에 데이터흐름 제어 신호의 전송을 지연시키도록 적응되어 있으며,The first and second IDE controllers include at least one host IDE controller and the at least one of the at least one host device when data is not being streamed during PIO data transfer between at least one host device and at least one data storage device. Adapted to delay transmission of data flow control signals between the data storage IDE controllers of one data storage device, 상기 적어도 하나의 호스트 IDE 제어기와 상기 적어도 하나의 데이터 저장 IDE 제어기는 완전한 ATA 프로토콜을 지원하는 것을 특징으로 하는 암호 인터페이스.And the at least one host IDE controller and the at least one data storage IDE controller support full ATA protocol. 호스트 디바이스와 데이터 저장 디바이스 사이의 IDE/ATA 데이터 전달 동안 데이터를 암호화하는 방법에 있어서,A method of encrypting data during IDE / ATA data transfer between a host device and a data storage device, the method comprising: 상기 호스트 디바이스와 상기 데이터 저장 디바이스 사이에 적어도 하나의 IDE/ATA 데이터 전송을 차단하는 단계,Blocking at least one IDE / ATA data transfer between the host device and the data storage device, 상기 호스트 디바이스와 상기 데이터 저장 디바이스 사이에 데이터가 스트리밍하고 있을 때에는 상기 호스트 디바이스와 상기 데이터 저장 디바이스 사이에 IDE/ATA 데이터흐름 제어 신호를 전송하는 단계;Transmitting an IDE / ATA data flow control signal between the host device and the data storage device when data is streaming between the host device and the data storage device; 상기 호스트 디바이스와 상기 데이터 저장 디바이스 사이에 데이터가 스트리밍하고 있지 않을 때에는 상기 호스트 디바이스와 상기 데이터 저장 디바이스 사이에 IDE/ATA 데이터흐름 제어 신호의 전송을 지연시키는 단계; 및Delaying transmission of an IDE / ATA data flow control signal between the host device and the data storage device when data is not streaming between the host device and the data storage device; And 데이터의 실시간 암호화를 투명하게 실시하는 단계Transparently real-time encryption of data 를 포함하는 것을 특징으로 하는 데이터 암호화 방법.Data encryption method comprising a. 호스트 디바이스와 데이터 저장 디바이스 사이의 IDE/ATA 데이터 전송 동안 데이터의 전송 조정을 차단하는 방법에 있어서,A method of blocking coordination of data transfer during IDE / ATA data transfer between a host device and a data storage device, the method comprising: IDE/ATA 데이터흐름 제어 신호를 수신하는 단계;Receiving an IDE / ATA data flow control signal; 종료 제어 신호가 수신되었는지를 판단하는 단계; 및Determining whether an end control signal has been received; And 상기 종료 제어 신호가 수신되지 않은 경우에는 상기 호스트 디바이스와 상기 데이터 저장 디바이스 사이에 상기 수신된 IDE/ATA 데이터흐름 제어 신호를 즉시 전송하는 단계Immediately transmitting the received IDE / ATA data flow control signal between the host device and the data storage device when the termination control signal is not received; 를 포함하는 것을 특징으로 하는 데이터의 전송 조정 차단 방법.Transmission coordination blocking method of the data comprising a. 제23항에 있어서,The method of claim 23, wherein 데이터 전송이 완료되었는지를 판단하는 단계; 및Determining whether data transmission is completed; And 데이터 전송이 완료되지 않은 경우에는 상기 호스트 디바이스와 상기 데이터 저장 디바이스 사이에 상기 수신된 IDE/ATA 데이터흐름 제어 신호를 즉시 전송하는 단계를 더 포함하는 것을 특징으로 하는 데이터의 전송 조정 차단 방법.And if the data transmission is not completed, immediately transmitting the received IDE / ATA data flow control signal between the host device and the data storage device. 호스트 디바이스와 데이터 저장 디바이스 사이의 IDE/ATA 데이터 전송 동안 데이터의 전송 조정을 차단하는 방법에 있어서,A method of blocking coordination of data transfer during IDE / ATA data transfer between a host device and a data storage device, the method comprising: 인입 데이터를 처리하는 단계,Processing incoming data, 상기 호스트 디바이스로부터 상기 데이터 저장 디바이스로 호스트 디바이스가 발생하는 라이트 스트로브를 전송하는 단계;Transmitting a write strobe generated by the host device from the host device to the data storage device; 데이터 전송이 완료되었는지를 판단하는 단계; 및Determining whether data transmission is completed; And 상기 호스트 디바이스로부터 상기 데이터 저장 디바이스로의 전송을 위해 대응하는 라이트 스트로브를 발생하는 단계Generating a corresponding write strobe for transfer from the host device to the data storage device 를 포함하는 것을 특징으로 하는 데이터의 전송 조정 차단 방법.Transmission coordination blocking method of the data comprising a. 호스트 디바이스와 데이터 저장 디바이스 사이의 IDE/ATA 데이터 전송 동안 데이터의 전송 조정을 차단하는 방법에 있어서,A method of blocking coordination of data transfer during IDE / ATA data transfer between a host device and a data storage device, the method comprising: 인입 데이터를 처리하는 단계;Processing the incoming data; 상기 호스트 디바이스로부터 상기 데이터 저장 디바이스로 호스트 디바이스가 발생하는 리드 스트로브를 전송하는 단계;Transmitting a read strobe generated by the host device from the host device to the data storage device; 데이터 전송이 완료되었는지를 판단하는 단계; 및Determining whether data transmission is completed; And 상기 호스트 디바이스로부터 상기 데이터 저장 디바이스로 상기 호스트 디바이스가 발생한 리드 스트로브를 전송하는 것을 금지시키는 단계Prohibiting the host device from transmitting the generated read strobe from the host device to the data storage device. 를 포함하는 것을 특징으로 하는 데이터의 전송 조정 차단 방법.Transmission coordination blocking method of the data comprising a.
KR1020040063347A 2003-08-06 2004-08-06 Real time data encryption/decryption system and method for ide/ata data transfer KR100711190B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/635,833 US7386734B2 (en) 2000-11-03 2003-08-06 Real time data encryption/decryption system and method for IDE/ATA data transfer
US10/635,833 2003-08-06

Publications (2)

Publication Number Publication Date
KR20050016232A true KR20050016232A (en) 2005-02-21
KR100711190B1 KR100711190B1 (en) 2007-04-24

Family

ID=34549753

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040063347A KR100711190B1 (en) 2003-08-06 2004-08-06 Real time data encryption/decryption system and method for ide/ata data transfer

Country Status (3)

Country Link
JP (1) JP2005110219A (en)
KR (1) KR100711190B1 (en)
TW (1) TWI348853B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101320840B1 (en) * 2008-04-01 2013-10-30 애플 인크. Central dma with arbitrary processing functions

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW535122B (en) * 2000-11-06 2003-06-01 Enova Technology Corp Encryption/Decryption device for data storage
KR20010025564A (en) 2001-01-05 2001-04-06 임정혁 Apparatus and method for securing recording medium drive
US20030070073A1 (en) 2001-10-09 2003-04-10 Alps Electric Co., Ltd. Card authenticating apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101320840B1 (en) * 2008-04-01 2013-10-30 애플 인크. Central dma with arbitrary processing functions

Also Published As

Publication number Publication date
TWI348853B (en) 2011-09-11
TW200507573A (en) 2005-02-16
JP2005110219A (en) 2005-04-21
KR100711190B1 (en) 2007-04-24

Similar Documents

Publication Publication Date Title
US7386734B2 (en) Real time data encryption/decryption system and method for IDE/ATA data transfer
US20120137139A1 (en) Data storage device, data control device and method for encrypting data
US5943421A (en) Processor having compression and encryption circuitry
US8165301B1 (en) Input-output device and storage controller handshake protocol using key exchange for data security
JP4698982B2 (en) Storage system that performs cryptographic processing
US9064135B1 (en) Hardware implemented key management system and method
US11809346B2 (en) System architecture with secure data exchange
US8064600B2 (en) Encoded digital video content protection between transport demultiplexer and decoder
KR20150143708A (en) Storage device assisted inline encryption and decryption
JP2008016037A (en) DATA ACCELERATOR FOR iSCSI, AND iSCSI STORAGE SYSTEM USING THE SAME
JP2004226969A (en) Cryptographic system and method for supporting multiple modes
JP5118494B2 (en) Memory system having in-stream data encryption / decryption function
JP4893040B2 (en) Encrypted data recording device
US20030215090A1 (en) Data transfer control device, electronic instrument, and data transfer control method
KR101496975B1 (en) Solid-state-disk and input/output method thereof
JP2008524754A (en) Memory system having in-stream data encryption / decryption and error correction functions
JP2008524969A5 (en)
US7194627B2 (en) Method and system for data encryption and decryption
CN106970889B (en) SATA bridge chip and working method thereof
TW200816769A (en) Receiving systems and methods of multimedia data
KR100711190B1 (en) Real time data encryption/decryption system and method for ide/ata data transfer
JP2009058637A (en) System for writing data into nonvolatile storage device, and nonvolatile storage device
US7076626B2 (en) Data transfer control device, electronic instrument, and data transfer control method
JP2004199689A (en) Secure media card operation over unsecured pci bus
CN108563603B (en) High-efficient data encryption equipment based on UASP agreement

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130405

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140416

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160325

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee