KR100953549B1 - Method and apparatus for processing data transfer and data transfer system - Google Patents

Method and apparatus for processing data transfer and data transfer system Download PDF

Info

Publication number
KR100953549B1
KR100953549B1 KR1020080033877A KR20080033877A KR100953549B1 KR 100953549 B1 KR100953549 B1 KR 100953549B1 KR 1020080033877 A KR1020080033877 A KR 1020080033877A KR 20080033877 A KR20080033877 A KR 20080033877A KR 100953549 B1 KR100953549 B1 KR 100953549B1
Authority
KR
South Korea
Prior art keywords
data
write command
length
data transmission
interface
Prior art date
Application number
KR1020080033877A
Other languages
Korean (ko)
Other versions
KR20090108455A (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 KR1020080033877A priority Critical patent/KR100953549B1/en
Publication of KR20090108455A publication Critical patent/KR20090108455A/en
Application granted granted Critical
Publication of KR100953549B1 publication Critical patent/KR100953549B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Systems (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 데이터 처리 방법 및 장치에 관한 것으로서, 특히 호스트 장치와 데이터 저장 장치 간의 데이터 전송 속도를 향상시키는 데이터 전송 처리 방법 및 장치에 관한 것이다.The present invention relates to a data processing method and apparatus, and more particularly, to a data transmission processing method and apparatus for improving the data transfer speed between a host device and a data storage device.

본 발명에 따른 데이터 전송 처리 방법은 호스트 장치의 어플리케이션 규격에 따라서 라이트 커맨드 및 데이터를 생성시키는 단계, 상기 생성된 라이트 커맨드 및 데이터를 인터페이스 드라이버에 설정된 데이터 전송 길이 사양에 근거하여 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 변경시키는 단계 및, 상기 변경된 라이트 커맨드 및 데이터를 상기 호스트 장치에 연결된 디바이스 드라이브로 전송하는 단계를 포함함을 특징으로 한다.The data transfer processing method according to the present invention comprises the steps of: generating a write command and data according to an application standard of a host device; and using the generated write command and data on the basis of a data transfer length specification set in an interface driver, a data transfer length of a write command. Changing information and data lengths, and transmitting the changed write commands and data to a device drive connected to the host device.

Description

데이터 전송 처리 방법 및 장치와 이를 이용한 데이터 전송 시스템{Method and apparatus for processing data transfer and data transfer system}Method and apparatus for data transfer processing and data transfer system using same {Method and apparatus for processing data transfer and data transfer system}

본 발명은 데이터 처리 방법 및 장치에 관한 것으로서, 특히 호스트 장치와 데이터 저장 장치 간의 데이터 전송 속도를 향상시키는 데이터 전송 처리 방법 및 장치에 관한 것이다.The present invention relates to a data processing method and apparatus, and more particularly, to a data transmission processing method and apparatus for improving the data transfer speed between a host device and a data storage device.

일반적으로, 컴퓨터 시스템은 호스트 장치인 컴퓨터와 호스트 장치에서 전송받은 데이터를 저장하는 데이터 저장 장치로 구성된다. 데이터 저장 장치의 예로는 광디스크 드라이브, 하드디스크 드라이브 등이 있다.In general, a computer system includes a computer that is a host device and a data storage device that stores data received from the host device. Examples of data storage devices include optical disk drives and hard disk drives.

데이터 저장 장치는 호스트 장치에 내장될 수도 있으나, 호스트 장치와 분리되어 있는 경우에는 일예로서 USB(Universal Serial Bus) 인터페이스를 통하여 호스트 장치와 데이터 저장 장치 간의 통신이 이루어진다. Although the data storage device may be embedded in the host device, when separated from the host device, communication between the host device and the data storage device is performed through a universal serial bus (USB) interface as an example.

그런데, 종래의 기술에 따르면 데이터 저장 장치의 데이터 기록 속도에 관계없이 USB 인터페이스 전송 속도가 고정되어 있어서, 비교적 고속으로 데이터를 기록하는 데이터 저장 장치에서는 USB 인터페이스 전송 속도가 기록 속도보다 늦어져서 데이터 기록 속도를 높이는데 제한을 받는 문제점이 있었다.However, according to the related art, the USB interface transmission speed is fixed regardless of the data recording speed of the data storage device. Therefore, in a data storage device that records data at a relatively high speed, the USB interface transmission speed is slower than the recording speed, thereby making the data recording speed faster. There was a problem that is limited to increase.

본 발명이 해결하고자 하는 과제는 호스트 장치와 데이터 저장 장치 간의 데이터 전송 속도를 적응적으로 가변시키기 위한 데이터 전송 처리 방법을 제공하는데 있다.An object of the present invention is to provide a data transfer processing method for adaptively varying a data transfer rate between a host device and a data storage device.

본 발명이 해결하고자 하는 다른 과제는 호스트 장치와 데이터 저장 장치 간의 데이터 전송 속도를 적응적으로 가변시키기 위한 데이터 전송 처리 프로그램이 저장된 기록매체를 제공하는데 있다.Another object of the present invention is to provide a recording medium storing a data transfer processing program for adaptively varying a data transfer rate between a host device and a data storage device.

본 발명이 해결하고자 하는 또 다른 과제는 호스트 장치와 데이터 저장 장치 간의 데이터 전송 속도를 적응적으로 가변시키기 위한 데이터 전송 처리 방법이 적용된 데이터 전송 시스템을 제공하는데 있다. Another object of the present invention is to provide a data transfer system to which a data transfer processing method for adaptively varying a data transfer rate between a host device and a data storage device is applied.

상기 과제를 달성하기 위한 본 발명에 따른 데이터 전송 처리 방법은 호스트 장치의 어플리케이션 규격에 따라서 라이트 커맨드 및 데이터를 생성시키는 단계, 상기 생성된 라이트 커맨드 및 데이터를 인터페이스 드라이버에 설정된 데이터 전송 길이 사양에 근거하여 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 변경시키는 단계 및, 상기 변경된 라이트 커맨드 및 데이터를 상기 호스트 장치에 연결된 디바이스 드라이브로 전송하는 단계를 포함함을 특징으로 한다.A data transfer processing method according to the present invention for achieving the above object is to generate a write command and data in accordance with the application standard of the host device, the generated write command and data based on the data transfer length specification set in the interface driver And changing the data transmission length information and the data length of the write command, and transmitting the changed write command and data to the device drive connected to the host device.

상기 인터페이스 드라이버에서 설정된 데이터 전송 길이 사양은 상기 호스트 장치의 어플리케이션 규격으로 설정된 데이터 전송 길이의 정수배로 결정하는 것이 바람직하다.Preferably, the data transmission length specification set in the interface driver is determined as an integer multiple of the data transmission length set in the application standard of the host device.

상기 인터페이스 드라이버에서 상기 데이터 전송 길이 사양을 사용자의 선택에 의하여 설정하는 단계를 더 포함하는 것이 바람직하다.Preferably, the interface driver further includes setting the data transmission length specification by a user's selection.

상기 데이터 전송 길이 사양을 사용자의 선택에 의하여 설정하는 단계는 데이터 전송 길이 변경 기능이 선택되는지를 판단하는 단계, 상기 데이터 전송 길이 변경 기능이 선택된 경우에, 데이터 전송 길이 변경 메뉴 화면을 디스플레이시키는 단계 및, 상기 데이터 전송 길이 변경 메뉴 화면에서 선택된 데이터 전송 길이 정보를 상기 인터페이스 드라이버의 데이터 전송 길이 정보로 설정하는 단계를 포함함을 특징으로 한다.The setting of the data transmission length specification according to a user's selection may include determining whether a data transmission length changing function is selected, displaying the data transmission length changing menu screen when the data transmission length changing function is selected; And setting data transmission length information selected on the data transmission length change menu screen as data transmission length information of the interface driver.

상기 데이터 전송 길이 변경 메뉴 화면에는 데이터 전송 길이를 디바이스 드라이브의 기록 배속 정보에 근거하여 자동적으로 가변시키는 자동 가변 설정 사양을 선택하기 위한 입력 창을 포함하는 것이 바람직하다.The data transfer length change menu screen preferably includes an input window for selecting an automatic variable setting specification for automatically varying the data transfer length based on the recording double speed information of the device drive.

상기 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 변경시키는 단계는 상기 인터페이스 드라이버에 데이터 전송 길이 사양이 자동 가변 설정 사양으로 설정되어 있는 경우에, 상기 디바이스 드라이브의 기록 배속 정보에 근거하여 상기 인터페이스 드라이버에 설정된 데이터 전송 길이를 가변시키는 것이 바람직하다. The step of changing the data transfer length information and the data length of the write command is based on the write speed information of the device drive, when the data transfer length specification is set in the interface driver. It is desirable to vary the set data transmission length.

상기 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 변경시키는 단계는 상기 디바이스 드라이브의 기록 배속에 비례하여 상기 인터페이스 드라이버에 설정된 데이터 전송 길이를 증가시키는 것이 바람직하다.Changing the data transfer length information and the data length of the write command may increase the data transfer length set in the interface driver in proportion to the write speed of the device driver.

상기 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 변경시키는 단계는 상기 디바이스 드라이브의 기록 배속이 임계 기록 배속을 초과하는 경우에만 상기 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 변경시키고, 그렇지 않은 경우에는 호스트 장치의 어플리케이션 규격에 따라서 생성된 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 변경시키지 않도록 제어하는 것이 바람직하다.Changing the data transfer length information and the data length of the write command changes the data transfer length information and the data length of the write command only when the write speed of the device drive exceeds a threshold write speed, otherwise It is preferable to control not to change the data transmission length information and the data length of the write command generated according to the application standard of the host device.

상기 인터페이스 드라이버는 USB 드라이버를 포함하는 것이 바람직하다.The interface driver preferably includes a USB driver.

상기 디바이스 드라이브는 광디스크 드라이브를 포함하는 것이 바람직하다.Preferably, the device drive comprises an optical disc drive.

상기 호스트 장치에 연결된 디바이스 드라이브에서 상기 변경된 라이트 커맨드 및 데이터를 전송받아 데이터를 라이트하는 단계를 더 포함하는 것이 바람직하다.The method may further include writing the modified write command and data from the device drive connected to the host device to write the data.

상기 다른 과제를 달성하기 위한 본 발명에 따른 데이터 전송 처리 장치는 외부 디바이스 드라이브와의 데이터 송/수신을 위한 인터페이스 포트 및, 호스트 어플리케이션 규격에 따라서 생성된 라이트 커맨드 및 데이터를 입력하여, 인터페이스 드라이버 프로그램에 따라 결정된 데이터 전송 길이 사양에 근거하여 상기 입력된 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 변경하여 상기 인터페이스 포트를 통하여 외부 디바이스 드라이브로 전송하는 인터페이스 컨트롤러를 포함함을 특징으로 한다.In accordance with another aspect of the present invention, a data transfer processing apparatus includes an interface port for data transmission / reception with an external device drive, a write command and data generated according to a host application standard, and an interface driver program. And an interface controller for changing the data transfer length information and the data length of the input write command based on the data transfer length specification determined according to the data transfer length specification and transmitting the changed data length to an external device drive through the interface port.

상기 인터페이스 드라이버 프로그램에 따라 결정된 데이터 전송 길이 사양은 상기 호스트 어플리케이션 규격으로 설정된 데이터 전송 길이의 정수배로 결정되도 록 설계하는 것이 바람직하다.The data transmission length specification determined according to the interface driver program is preferably designed to be determined by an integer multiple of the data transmission length set in the host application standard.

상기 인터페이스 컨트롤러는 상기 데이터 전송 길이 사양이 자동 가변 설정 사양으로 설정되어 있는 경우에, 상기 디바이스 드라이브의 기록 배속 정보에 근거하여 상기 입력된 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 변경시키는 것이 바람직하다.When the data transfer length specification is set to an automatic variable setting specification, the interface controller preferably changes data transfer length information and data length of the input write command based on the write speed information of the device drive. .

상기 인터페이스 컨트롤러는 상기 데이터 전송 길이 사양이 자동 가변 설정 사양으로 설정되어 있는 경우에, 상기 디바이스 드라이브의 기록 배속에 비례하여 상기 입력된 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 증가시키도록 제어하는 것이 바람직하다.The interface controller controls to increase the data transfer length information and the data length of the input write command in proportion to the write speed of the device drive when the data transfer length specification is set to the automatic variable setting specification. desirable.

상기 인터페이스 컨트롤러는 상기 디바이스 드라이브의 기록 배속이 임계 배속을 초과하는 경우에만 상기 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 변경시키고, 그렇지 않은 경우에는 호스트 어플리케이션 규격에 따라서 생성된 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 변경시키지 않도록 제어하는 것이 바람직하다.The interface controller changes the data transfer length information and the data length of the write command only when the write speed of the device drive exceeds a threshold speed, and otherwise, the data transfer length of the write command generated according to the host application standard. It is desirable to control so as not to change the information and data length.

상기 또 다른 과제를 달성하기 위한 본 발명에 따른 데이터 전송 시스템은 외부 디바이스 드라이브와의 데이터 송/수신을 위한 인터페이스 포트 및, 호스트 어플리케이션 규격에 따라서 생성된 라이트 커맨드 및 데이터를 입력하여, 인터페이스 드라이버 프로그램에 따라 결정된 데이터 전송 길이 사양에 근거하여 상기 입력된 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 변경하여 상기 인터페이스 포트를 통하여 외부 디바이스 드라이브로 전송하는 인터페이스 컨트롤러 를 포함하는 호스트 장치 및, 상기 호스트 장치의 인터페이스 포트를 통하여 상기 인터페이스 컨트롤러에서 변경된 라이트 커맨드 및 데이터를 전송받아 기록매체에 기록하는 디바이스 드라이브를 포함함을 특징으로 한다.In accordance with another aspect of the present invention, a data transmission system is provided with an interface port for data transmission / reception with an external device drive, a write command and data generated according to a host application standard, and inputted into an interface driver program. A host controller including an interface controller configured to change data transmission length information and data length of the input write command based on the data transmission length specification determined according to the data transmission length, and to transmit the data transmission length information to an external device drive through the interface port; And a device drive receiving the changed write command and data from the interface controller through the port and writing the data to the recording medium.

상기 또 다른 기술적 과제를 해결하기 위하여 본 발명은 상기 데이터 전송 처리 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다. The present invention provides a computer readable recording medium having recorded thereon a program for executing the data transfer processing method on a computer.

본 발명에 의하면 호스트 어플리케이션에서 생성된 라이트 커맨드 및 데이터의 전송 길이를 인터페이스 드라이버에서 사용자의 선택 또는 기록할 디바이스 드라이브의 기록 배속에 근거하여 적응적으로 가변시키도록 제어함으로써, 데이터의 전송 속도를 높일 수 있는 효과가 발생된다. According to the present invention, the data transmission speed can be increased by controlling the transmission length of the write command and data generated in the host application to be adaptively changed by the interface driver based on the user's selection or the recording speed of the device driver to be recorded. That effect is produced.

특히, 라이트 커맨드와 함께 전송된 데이터의 길이를 데이터를 기록할 디바이스 드라이브의 기록 배속에 따라서 변경시킴으로써, 기록 모드 실행 중에 디바이스 드라이브의 버퍼에 데이터가 비워지는 현상을 방지하여 디바이스 드라이브의 기록 속도를 최대한 높일 수 있는 효과가 발생된다. In particular, by changing the length of the data transmitted with the write command according to the writing speed of the device drive to write data, the writing speed of the device drive is maximized by preventing data from being emptied into the buffer of the device drive during the recording mode. The effect can be increased.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.DETAILED DESCRIPTION In order to fully understand the present invention, the operational advantages of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings that illustrate preferred embodiments of the present invention.

우선, 본 발명이 적용되는 컴퓨터 시스템에 대하여 설명하기로 한다.First, a computer system to which the present invention is applied will be described.

도 1에 도시된 바와 같이, 본 발명이 적용되는 컴퓨터 시스템은 컴퓨터(100), 디바이스 드라이브(200) 및 커넥터(300)로 구성된다.As shown in FIG. 1, a computer system to which the present invention is applied is composed of a computer 100, a device drive 200, and a connector 300.

세부적으로, 컴퓨터 시스템(100)은 중앙 처리 장치(CPU; 110), ROM(120), RAM(130), 보조 기억 장치(140), 인터페이스 컨트롤러(150), 인터페이스(I/F) 포트(160) 및 버스(170)로 구성된다.In detail, the computer system 100 includes a central processing unit (CPU) 110, a ROM 120, a RAM 130, an auxiliary memory 140, an interface controller 150, and an interface (I / F) port 160. ) And the bus 170.

중앙 처리 장치(110)는 컴퓨터 시스템을 제어하는 수단으로서, 명령어의 해석, 자료의 연산 및 비교 등의 일련의 제어를 실행한다. The central processing unit 110 is a means for controlling a computer system, and executes a series of controls such as interpreting instructions, calculating and comparing data.

ROM(120)에는 컴퓨터 시스템 제어에 필요한 제어 프로그램 및 데이터들이 저장되어 있으며, RAM(130)에는 ROM(120) 또는 보조 기억 장치(140)에 저장되어 있는 프로그램들이 일시적으로 로딩되며, 또한 데이터 처리 과정에서 발생되는 데이터들이 일시적으로 저장된다.The ROM 120 stores control programs and data necessary for computer system control, and the RAM 130 temporarily loads programs stored in the ROM 120 or the auxiliary storage device 140, and also processes data. The data generated by is temporarily stored.

보조 기억 장치(140)는 사용자 데이터 및 프로그램들을 저장하며, 하드디스크 드라이브 등과 같은 데이터 저장 장치로 구현된다. The auxiliary storage device 140 stores user data and programs and is implemented as a data storage device such as a hard disk drive.

인터페이스 컨트롤러(150)는 인터페이스 포트(160)에 접속되는 디바이스 드라이브(200)와의 커맨드 및 데이터의 송/수신 처리를 제어한다. 특히, 본 발명에서는 호스트(컴퓨터) 어플리케이션 규격에 따라서 생성된 라이트 커맨드와 데이터를 인터페이스 드라이버 프로그램에 따라서 설정된 데이터 전송 길이 사양에 근거하여 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 변경시키는 처리를 실행한다. 이에 대해서는 아래에서 상세하게 설명할 것이다.The interface controller 150 controls transmission / reception processing of commands and data with the device drive 200 connected to the interface port 160. In particular, the present invention executes a process of changing the data transfer length information and the data length of the write command based on the data transfer length specification set in accordance with the interface driver program for the write command and data generated according to the host (computer) application standard. . This will be described in detail below.

인터페이스 포트(160)는 외부 장치들과의 데이터 송/수신을 위하여 설치된 단자로서, 일 예로서 USB(Universal Serial Bus) 포트로 구현될 수 있다.The interface port 160 is a terminal provided for data transmission / reception with external devices. For example, the interface port 160 may be implemented as a universal serial bus (USB) port.

ROM(120) 또는 보조 기억 장치(140)에 저장되는 컴퓨터 시스템 구동에 필요한 프로그램들의 구성을 도 2에 도시하였다. 여기에서, OS(Operating System)는 컴퓨터의 기본적인 동작을 실행시키기 위한 프로그램이고, 어플리케이션은 입/출력 장치 및 외부 기기들을 제어하고 대응하는 연산 처리를 실행시키기 위한 프로그램이며, 디스플레이 드라이버는 디스플레이 장치에 대응되는 처리를 실행하기 위한 프로그램이고, 인터페이스 드라이버는 인터페이스 포트(160)를 통하여 접속된 외부 디바이스 드라이브와의 데이터 통신 처리에 필요한 프로그램이다. The configuration of programs required for driving the computer system stored in the ROM 120 or the auxiliary storage device 140 is shown in FIG. Here, an operating system (OS) is a program for executing basic operations of a computer, and an application is a program for controlling input / output devices and external devices and executing corresponding arithmetic processing, and a display driver corresponds to a display device. An interface driver is a program required for data communication processing with an external device drive connected through the interface port 160.

특히, 본 발명에서 인터페이스 드라이버는 호스트 장치의 어플리케이션 규격에 따라서 생성된 라이트 커맨드 및 데이터를 일정 규칙에 따라 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 변경시키는 처리를 실행하도록 제어하는 기능도 갖는다.In particular, in the present invention, the interface driver also has a function of controlling the write command and data generated according to the application standard of the host device to execute a process of changing data transfer length information and data length of the write command according to a predetermined rule.

다음으로, 도 1의 디바이스 드라이브(200)는 인터페이스 회로(210), 내부 드라이브(220) 및 인터페이스(I/F) 포트(230)로 구성된다. Next, the device drive 200 of FIG. 1 includes an interface circuit 210, an internal drive 220, and an interface (I / F) port 230.

인터페이스 회로(210)는 인터페이스 포트(230)에 접속된 호스트 장치인 컴퓨터(100)와의 데이터 전달 방식을 인터페이싱하기 위한 회로이다. 일 예로서, 인터페이스 포트(230)가 USB 포트인 경우에, USB 데이터 전송 방식으로 수신되는 데이터를 디바이스 드라이브(200)에서 채용하는 PATA(Parallel ATA) 데이터 전송 방식 또는 SATA(Serial ATA) 전송 방식으로 변환시키거나 또는 PATA/SATA 방식의 데이터를 USB 방식으로 변환시켜 호스트 장치로 전송한다. The interface circuit 210 is a circuit for interfacing a data transfer method with a computer 100 which is a host device connected to the interface port 230. For example, when the interface port 230 is a USB port, the data received in the USB data transmission method may be a parallel ATA (PATA) data transmission method or a serial ATA (SATA) transmission method that employs data received by the device drive 200. Or convert the data of PATA / SATA type to USB type and transfer it to the host device.

내부 드라이브(220)는 버퍼(220-1)를 내장하는 데이터 저장 장치로서 일 예로 광디스크 드리이브로 구현될 수 있다. 인터페이스 포트(230)를 통하여 라이트 커맨드와 함께 수신되는 데이터는 인터페이스 회로(210)를 거친 후에 내부 드라이브(220)의 버퍼(220-1)에 순차적으로 저장되고, 버퍼(220-1)에서 순차적으로 읽어낸 데이터들은 내부 드라이브(220)의 기록매체에 기록된다.The internal drive 220 may be implemented as an optical disk drive as a data storage device having a buffer 220-1. Data received with the write command through the interface port 230 is sequentially stored in the buffer 220-1 of the internal drive 220 after passing through the interface circuit 210, and sequentially in the buffer 220-1. The read data is recorded on the recording medium of the internal drive 220.

기록 모드에서 호스트 장치인 컴퓨터(100)로부터 인터페이스 포트(230)를 통하여 전송되는 데이터의 전송 속도가 디바이스 드라이브(200)의 기록 속도에 비하여 낮은 경우에는 내부 드라이브(220)의 버퍼(220-1)가 비게 되는 현상이 발생되어 디바이스 드라이브(200)의 기록 속도를 저하시키게 된다.The buffer 220-1 of the internal drive 220 when the transmission speed of data transmitted from the host device computer 100 through the interface port 230 is lower than the recording speed of the device drive 200 in the recording mode. A phenomenon in which the device becomes empty is caused to decrease the writing speed of the device drive 200.

본 발명에서는 호스트 장치인 컴퓨터(100)로부터 인터페이스 포트(230)를 통하여 전송되는 데이터의 전송 속도가 디바이스 드라이브(200)의 기록 속도에 비하여 낮아지는 것을 개선하기 위하여 호스트 어플리케이션에 생성되는 라이트 커맨드의 데이터 전송 길이 정보 및 데이터의 전송 길이를 적응적으로 가변시켜 전송하는 방안을 제안한다.In the present invention, the data of the write command generated in the host application to improve the transfer rate of the data transmitted from the host device computer 100 through the interface port 230 is lower than the recording speed of the device drive 200. The present invention proposes a method of adaptively varying transmission length information and transmission length of data and transmitting the same.

우선, 인터페이스 컨트롤러(150)에서 인터페이스 드라이버에 설정된 데이터 전송 길이 사양을 사용자가 직접 선택하는 방법에 대하여 도 3의 흐름도를 참조하여 설명하기로 한다.First, a method in which the user directly selects the data transmission length specification set in the interface driver in the interface controller 150 will be described with reference to the flowchart of FIG. 3.

도 2에 도시된 컴퓨터에 저장되는 프로그램 중에서 인터페이스 드라이버는 데이터 전송 길이 사양을 사용자가 직접 선택하여 설정할 수 있는 기능을 갖도록 설계된다. Among the programs stored in the computer shown in FIG. 2, the interface driver is designed to have a function of selecting and setting a data transmission length specification directly.

사용자가 입력 장치(마우스, 또는 키보드 등; 도면에 미도시)를 이용하여 컴퓨터에서 제공하는 기능 중에서 데이터 전송 길이 변경 기능이 선택되는지를 중앙 처리 장치(110)에서 판단한다(S310).The central processing unit 110 determines whether a data transmission length change function is selected from among functions provided by the computer using an input device (mouse or keyboard; not shown in the figure) (S310).

단계310(S310)의 판단 결과 데이터 전송 길이 변경 기능이 선택되면, 중앙 처리 장치(110)는 ROM(120) 또는 보조 기억 장치(140)에 저장된 디스플레이 드라이버를 구동시켜 도 4에 도시된 바와 같은 데이터 전송 길이 변경 가이드 화면을 생성시키도록 제어한다(S320). As a result of the determination in step 310 (S310), if the data transmission length change function is selected, the central processing unit 110 drives the display driver stored in the ROM 120 or the auxiliary storage device 140 to display the data as shown in FIG. Control to generate a transmission length change guide screen (S320).

도 4를 참조하면, 데이터 전송 길이 변경 가이드 화면은 일 예로서 데이터 전송 길이를 호스트 장치에 연결된 드라이브의 기록 배속에 따라서 자동적으로 변경시키는 모드로 설정하기 위한 입력 창(P0), 전송 길이를 디폴트 값으로 설정된 64KB으로 변경시키기 위한 입력 창(P1), 전송 길이를 128KB로 변경시키기 위한 입력 창(P2), 전송 길이를 256KB로 변경시키기 위한 입력 창(P3), 전송 길이를 512KB로 변경시키기 위한 입력 창(P4), 전송 길이를 1024KB로 변경시키기 위한 입력 창(P5)으로 구성된다. Referring to FIG. 4, the data transmission length change guide screen may include, for example, an input window (P0) for setting a data transmission length to a mode for automatically changing the data transmission length according to a recording speed of a drive connected to a host device, and a default value of the transmission length. Input window (P1) for changing the transfer length to 128KB, input window (P2) for changing the transfer length to 128KB, input window (P3) for changing the transfer length to 256KB, and input for changing the transfer length to 512KB. Window P4, and an input window P5 for changing the transfer length to 1024 KB.

여기에서, 디폴트 값은 컴퓨터 어플리케이션에서 정의된 전송 길이 값에 해당되며, 변경하고자 하는 전송 길이는 컴퓨터 어플리케이션에서 정의된 전송 길이 값의 정수배로 설계된다. Here, the default value corresponds to a transmission length value defined in the computer application, and the transmission length to be changed is designed to be an integer multiple of the transmission length value defined in the computer application.

데이터 전송 길이 변경 가이드 화면에서 사용자가 하나의 입력 창을 선택하면, 선택된 데이터 전송 길이 사양 정보로 인터페이스 드라이버에 설정된 전송 길이 정보를 변경시킨다(S330). 만일, 자동 가변 설정 모드가 선택된 경우에는 인터 페이스 드라이버의 데이터 전송 길이는 호스트 장치에 접속된 디바이스 드라이브의 기록 배속에 따라서 결정된다.When the user selects one input window on the data transmission length change guide screen, the transmission length information set in the interface driver is changed to the selected data transmission length specification information (S330). If the automatic variable setting mode is selected, the data transfer length of the interface driver is determined according to the write speed of the device drive connected to the host device.

다음으로, 데이터 전송 길이 변경 가이드 화면에서 입력 창(P0)이 선택되어 전송 길이 사양이 자동 가변 설정 모드로 설정된 경우와 입력 창(P1~P5)이 선택되어 전송 길이 사양이 특정 전송 길이로 설정된 경우로 나누어 라이트 커맨드 및 데이터를 변경하여 전송하는 방법을 설명하기로 한다.Next, when the input window (P0) is selected in the data transmission length change guide screen to set the transmission length specification to the automatic variable setting mode, and when the input windows (P1 to P5) are selected to set the transmission length specification to the specific transmission length. A method of changing and transmitting a write command and data will be described.

첫 번째로, 전송 길이 사양이 특정 전송 길이로 설정된 경우의 호스트 장치에서의 라이트 커맨드 및 데이터를 변경하여 전송하는 방법을 도 1 및 도 5를 참조하여 설명하기로 한다.First, a method of changing and transmitting a write command and data in a host device when the transmission length specification is set to a specific transmission length will be described with reference to FIGS. 1 and 5.

컴퓨터(100)의 중앙 처리 장치(110)는 인터페이스 포트(160)에 접속된 디바이스 드라이브(200)로의 기록 기능이 선택되는지를 판단한다(S510).The central processing unit 110 of the computer 100 determines whether the recording function to the device drive 200 connected to the interface port 160 is selected (S510).

단계510(S510)의 판단 결과 디바이스 드라이브(200)로의 기록 기능이 선택된 경우에, 중앙 처리 장치(110)는 어플리케이션에 정해진 규격에 따라 라이트 커맨드 및 데이터를 생성시킨다(520). 라이트 커맨드에는 일 예로서, 도 8에 도시된 바와 같이 기록 시작 어드레스(Logical Block Address)를 나타내는 정보와 전송 길이(Transfer Length)를 나타내는 정보 등이 정의되어 있다. 도 9에 도시된 바와 같이, 라이트 커맨드(CMD)와 함께 전송할 데이터를 커맨드에서 정의된 전송 길이에 상응하는 기록할 데이터(DATA)를 생성시킨다. 즉, 중앙 처리 장치(110)는 라이트 커맨드에서 정의된 전송 길이가 64KB인 경우에, 도 9에 도시된 바와 같이 라이트 커맨드와 함께 64KB 단위의 기록할 데이터를 생성시킨다.When the writing function to the device drive 200 is selected as a result of the determination in step 510 (S510), the central processing unit 110 generates a write command and data according to a standard determined by the application (520). In the write command, as an example, as shown in FIG. 8, information indicating a recording start address (Logical Block Address) and information indicating a transfer length are defined. As shown in FIG. 9, data DATA to be written corresponding to the transmission length defined in the command is generated for data to be transmitted together with the write command CMD. That is, when the transmission length defined in the write command is 64 KB, the central processing unit 110 generates data to be recorded in units of 64 KB with the write command as shown in FIG.

단계520(S520)에서 생성된 커맨드 및 데이터는 인터페이스 컨트롤러(150)로 전송된다(S530).  Commands and data generated in step 520 (S520) are transmitted to the interface controller 150 (S530).

그러면, 인터페이스 컨트롤러(150)는 RAM(130)에 로딩된 인터페이스 드라이버를 구동시켜 인터페이스 드라이버에서 데이터 전송 길이가 디폴트 값으로 설정되어 있는지를 판단한다(S540).Then, the interface controller 150 drives the interface driver loaded in the RAM 130 to determine whether the data transmission length is set to a default value in the interface driver (S540).

단계540(S540)의 판단 결과 인터페이스 드라이버에 설정된 데이터 전송 길이정보가 디폴트 값이 아닌 경우에, 인터페이스 컨트롤러(150)는 인터페이스 드라이버에 설정된 데이터 전송 길이 정보에 상응하여 라이트 커맨드의 전송 길이 정보를 변경시키고, 또한 라이트 커맨드와 함께 전송되는 데이터의 길이도 변경시킨다(S550). 일 예로서, 인터페이스 드라이버에서 설정된 데이터 전송 길이 정보가 512KB인 경우에는 인터페이스 컨트롤러(150)로 입력되는 라이트 커맨드에서 정의된 전송 길이 64KB를 나타내는 코드 값을 512KB를 나타내는 코드 값으로 변경하고, 64KB 단위의 데이터들을 8개 합쳐서 하나의 라이트 커맨드와 함께 전송할 데이터로 만든다. When the data transmission length information set in the interface driver is not the default value as a result of the determination in step 540 (S540), the interface controller 150 changes the transmission length information of the write command according to the data transmission length information set in the interface driver. In addition, the length of data transmitted with the write command is also changed (S550). As an example, when the data transmission length information set in the interface driver is 512 KB, the code value indicating the transmission length 64 KB defined in the write command input to the interface controller 150 is changed to the code value indicating 512 KB, and the unit is 64 KB units. The eight data are combined to make the data to be sent with one write command.

그리고 나서, 인터페이스 컨트롤러(150)는 단계5440(S540)에서 변경된 라이트 커맨드와 데이터를 인터페이스 포트(160)를 통하여 접속된 디바이스 드라이브(200)로 전송한다(S560).Then, the interface controller 150 transmits the write command and data changed in the step 5440 (S540) to the connected device driver 200 through the interface port 160 (S560).

두 번째로, 전송 길이 사양이 자동 가변 설정 모드로 설정된 경우의 라이트 커맨드 및 데이터의 전송 길이를 적응적으로 변경하여 전송하는 방법을 도 6을 참조하여 설명하기로 한다.Secondly, a method of adaptively changing the transmission length of the write command and data when the transmission length specification is set to the automatic variable setting mode will be described with reference to FIG. 6.

호스트 장치인 컴퓨터(100)의 어플리케이션 프로그램을 구동시켜 인터페이스 포트(160)에 접속된 디바이스 드라이브(200)로 디바이스 및 디스크의 정보를 요청하는 커맨드를 생성시켜 디바이스 드라이브(200)로 전송한다(S601).An application program of the computer 100, which is a host device, is driven to generate a command for requesting device and disk information to the device drive 200 connected to the interface port 160 and transmit the command to the device drive 200 (S601). .

디바이스 드라이브(200)는 컴퓨터(100)로부터 전송된 커맨드를 처리하여(S602), 디바이스 및 디스크 정보 데이터를 컴퓨터(100)로 전송한다(S603). 컴퓨터(100)로 전송되는 디바이스 및 디스크 정보 데이터에는 드라이브의 기록 배속 정보도 포함된다.The device drive 200 processes a command transmitted from the computer 100 (S602), and transmits the device and disk information data to the computer 100 (S603). The device and disk information data transmitted to the computer 100 also include recording speed information of the drive.

컴퓨터(100)는 디바이스 드라이브(200)로부터 전송된 디바이스 및 디스크 정보 데이터를 분석하여 드라이브의 기록 배속 정보를 RAM(130)에 저장한다(S604).The computer 100 analyzes the device and disk information data transmitted from the device drive 200 and stores the recording speed information of the drive in the RAM 130 (S604).

단계604(S604)를 실행하고 나서 디바이스 드라이브에 데이터를 기록하는 모드가 선택되면, 호스트 어플리케이션에서 규정한 데이터 전송 길이로 라이트 커맨드와 함께 기록할 데이터를 생성시켜 인터페이스 컨트롤러(150)로 전송한다(S605).If the mode of writing data to the device drive is selected after executing step 604 (S604), data to be written with the write command is generated and transmitted to the interface controller 150 at the data transfer length defined by the host application (S605). ).

인터페이스 컨트롤러(150)는 라이트 커맨드 및 데이터가 수신되면, 인터페이스 드라이버를 구동시켜서 인터페이스 포트(160)에 접속된 디바이스 드라이브의 기록 배속 정보에 근거하여 호스트 어플리케이션에 따라서 전송된 라이트 커맨드 및 데이터의 전송 길이의 변경이 필요한지를 판단한다(S606). 여기에서, 디바이스 드라이브의 기록 배속 정보는 단계604(S604)에서 저장된 정보를 이용한다. 그리고, 데이터를 기록할 디바이스 드라이브에서 설정된 기록 배속에 따른 기록 속도가 호스트 어플리케이션에 의하여 설정된 전송 길이에 따른 데이터 전송 속도보다 빠른 경우에는 전송 길이의 변경이 필요한 것으로 판단한다. 즉, 호스트 어플리케이션에 의하여 설정된 전송 길이에 따른 데이터 전송 속도에 대응되는 임계 기록 배속을 결정한 후에, 기록할 디바이스 드라이브의 기록 배속이 임계 기록 배속을 초과하면 전송 길이의 변경이 필요한 것으로 판단한다. When the write command and the data are received, the interface controller 150 drives the interface driver to determine the transfer length of the write command and the data transmitted according to the host application based on the write speed information of the device drive connected to the interface port 160. It is determined whether a change is necessary (S606). Here, the recording speed information of the device drive uses the information stored in step 604 (S604). If the recording speed according to the recording speed set in the device drive to record data is faster than the data transmission speed according to the transmission length set by the host application, it is determined that the transmission length needs to be changed. That is, after determining the critical write speed corresponding to the data transfer rate according to the transmission length set by the host application, if the write speed of the device drive to be recorded exceeds the threshold write speed, it is determined that the transfer length is required.

단계606(S606)의 판단 결과 전송 길이 변경이 필요한 것으로 판단되면, 디바이스 드라이브에 설정된 기록 배속 정보에 근거하여 데이터 전송 길이를 변경시킨다(S607). 일 예로서, 디바이스 드라이브의 기록 배속에 비례하여 데이터 전송 길이를 호스트 어플리케이션에 의하여 설정된 전송 길이의 정수배로 증가시킨다. 경우에 따라서는, 전송 길이 변경이 필요한 것으로 판단된 경우에 데이터 전송 길이를 호스트 어플리케이션에 의하여 설정된 전송 길이의 특정 정수배로 증가시킨다. 전송 길이의 변경이 필요한 경우에는 도 8에 도시된 라이트 커맨드를 구성하는 정보들 중에서 전송 길이(Transfer Length)를 정의하도록 할당된 바이트 7~8의 코드 값을 변경시켜 라이트 커맨드의 전송 길이 정보를 변경하고, 라이트 커맨드와 함께 전송할 데이터의 사이즈를 변경한다. 이에 따라서, 일 예로서 전송 길이를 64KB에서 512KB로 변경시키는 경우에는 도 9에 도시된 바와 같이 8번으로 나누어 커맨드와 데이터로 전송하는 것을 도 10에 도시된 바와 같이 한번의 번의 커맨드와 데이터로 전송할 수 있게 된다.If it is determined in step 606 (S606) that the transmission length needs to be changed, the data transmission length is changed based on the recording speed information set in the device drive (S607). As an example, the data transfer length is increased to an integer multiple of the transfer length set by the host application in proportion to the write speed of the device drive. In some cases, when it is determined that the transmission length needs to be changed, the data transmission length is increased to a specific integer multiple of the transmission length set by the host application. If the transmission length needs to be changed, the code length of the bytes 7 to 8 allocated to define the transfer length among the information constituting the write command shown in FIG. 8 is changed to change the transfer length information of the write command. The size of data to be transmitted with the write command is changed. Accordingly, when the transmission length is changed from 64 KB to 512 KB as an example, the command and data are divided into eight times as shown in FIG. 9 and transmitted as one command and data as shown in FIG. 10. It becomes possible.

다음으로, 단계606(S606)의 판단 결과 전송 길이 변경이 필요한 경우에는 인터페이스 컨트롤러(150)는 전송 길이를 변경시킨 라이트 커맨드 및 데이터를 인터페이스 포트(160)에 접속된 디바이스 드라이브(200)로 전송하고, 단계606(S606)의 판단 결과 전송 길이 변경이 필요하지 않은 경우에는 인터페이스 컨트롤러(150)는 전송 길이를 변경시키지 않고 라이트 커맨드 및 데이터를 인터페이스 포트(160)에 접속된 디바이스 드라이브(200)로 전송한다(S608). Next, when the transmission length needs to be changed as a result of the determination in step 606 (S606), the interface controller 150 transmits the write command and the data having the changed transmission length to the device drive 200 connected to the interface port 160. When it is determined in step 606 that the transmission length is not necessary, the interface controller 150 transmits the write command and data to the device drive 200 connected to the interface port 160 without changing the transmission length. (S608).

디바이스 드라이브(200)는 인터페이스 포트(230)를 통하여 라이트 커맨드 및 데이터를 수신하여, 데이터를 내부 드라이브(220)의 버퍼(220-1)에 저장한다(S609). The device drive 200 receives the write command and data through the interface port 230 and stores the data in the buffer 220-1 of the internal drive 220 (S609).

내부 드라이브(220)는 버퍼(220-1)에 저장된 데이터를 읽어내어 기록 매체인 디스크(도면에 미도시)에 기록한다(S610).The internal drive 220 reads data stored in the buffer 220-1 and writes the data to a disk (not shown) which is a recording medium (S610).

인터페이스 컨트롤러(150)에서 인터페이스 드라이버를 구동시켜 라이트 커맨드의 전송 길이를 64KB에서 512KB로 변경시킨 경우의 데이터 흐름을 도 7에 도시하였다.FIG. 7 illustrates the data flow when the interface driver 150 drives the interface driver to change the transfer length of the write command from 64 KB to 512 KB.

도 7을 참조하면, 호스트 장치(1000)의 호스트 어플리케이션에서 64KB의 전송 길이를 갖는 라이트 커맨드와 기록할 데이터를 발생시키는 경우에(S1), 인터페이스 드라이버(710)에서 디바이스 드라이브(2000)의 기록 배속을 고려하여 전송 길이를 512KB로 변경시킨 라이트 커맨드 및 데이터를 USB 인터페이스를 통하여 디바이스 드라이브(2000)로 전송한다(S2). Referring to FIG. 7, in the case where the host application of the host apparatus 1000 generates a write command having a transfer length of 64 KB and data to be written (S1), the interface driver 710 writes the recording speed of the device drive 2000. In consideration of this, the write command and data having the transfer length changed to 512 KB are transmitted to the device drive 2000 through the USB interface (S2).

디바이스 드라이브(2000)의 인터페이스 회로(720)에서는 USB 인터페이스 방식으로 전송된 데이터를 내부 드라이브(730)의 데이터 전송 규격에 맞도록 SATA 또는 PATA 방식으로 변환시켜 내부 드라이브(730)로 전송한다. The interface circuit 720 of the device drive 2000 converts the data transmitted through the USB interface method into a SATA or PATA method in accordance with the data transmission standard of the internal drive 730 and transmits the data to the internal drive 730.

그러면, 최종적으로 내부 드라이브(730)에서는 전송된 데이터를 버퍼에 저장한 후에, 버퍼에서 읽어낸 데이터를 기록매체에 기록한다(S4).Then, the internal drive 730 finally stores the transmitted data in the buffer and then writes the data read from the buffer to the recording medium (S4).

이와 같이, 호스트 어플리케이션에서 생성된 라이트 커맨드 및 데이터의 전송 길이를 인터페이스 드라이버에서 증가시켜 디바이스 드라이브로 전송하면, 기록 모드에서 데이터 전송 속도가 기록 속도에 비하여 낮아서 디바이스 드라이브의 버퍼에 데이터가 비게 되는 현상을 방지할 수 있게 된다. As such, when the transmission length of the write command and data generated by the host application is increased by the interface driver and transmitted to the device drive, the data transfer rate is lower than the write speed in the write mode, thereby causing data to be empty in the buffer of the device drive. It can be prevented.

일 예로서, 데이터의 전송 길이가 64KB로 설정된 경우에는 512KB의 데이터를 전송하기 위해서는 도 9에 도시된 바와 같이 8번의 커맨드와 데이터를 발생시켜 전송하여야 한다. 이 경우에 (커맨드/데이터)와 (커맨드/데이터)의 사이에 7번의 지연 시간이 발생된다. As an example, when the transmission length of data is set to 64 KB, eight commands and data must be generated and transmitted as shown in FIG. 9 to transmit 512 KB of data. In this case, seven delay times are generated between (Command / Data) and (Command / Data).

이에 비하여, 전송 길이를 64KB에서 512KB로 변경시키는 경우에는 512KB의 데이터 전송이 도 10에 도시된 바와 같이 1번의 커맨드와 데이터 전송으로 가능하게 됨으로 지연 시간 발생을 방지하여 전송 속도를 높일 수 있게 된다. 이로 인하여 기록 모드에서 호스트 장치에 접속된 디바이스 드라이브의 버퍼에 데이터가 비어 기록 속도가 낮아지는 현상을 방지할 수 있게 된다. On the other hand, when the transmission length is changed from 64 KB to 512 KB, data transmission of 512 KB can be performed by one command and data transmission as shown in FIG. 10, thereby preventing the delay time and increasing the transmission speed. This prevents the phenomenon that the writing speed is lowered by emptying data into the buffer of the device drive connected to the host device in the recording mode.

도 1은 본 발명이 적용되는 컴퓨터 시스템의 구성도이다.1 is a block diagram of a computer system to which the present invention is applied.

도 2는 컴퓨터 시스템에 저장된 프로그램들의 구성도이다. 2 is a block diagram of programs stored in a computer system.

도 3은 본 발명에 따른 데이터 전송 길이 사양을 선택하는 방법의 흐름도이다.3 is a flowchart of a method for selecting a data transmission length specification in accordance with the present invention.

도 4는 본 발명에 따른 데이터 전송 길이 변경 가이드 화면의 구성도이다.4 is a configuration diagram of a data transmission length change guide screen according to the present invention.

도 5는 본 발명의 일실시 예에 따른 데이터 전송 처리 방법의 흐름도이다.5 is a flowchart illustrating a data transmission processing method according to an embodiment of the present invention.

도 6은 본 발명의 다른 실시 예에 따른 데이터 전송 처리 방법의 흐름도이다.6 is a flowchart illustrating a data transmission processing method according to another embodiment of the present invention.

도 7은 본 발명에 따라 데이터 전송 길이가 변경되는 경우의 데이터 전송 흐름을 보여주는 도면이다.7 is a diagram illustrating a data transmission flow when the data transmission length is changed according to the present invention.

도 8은 본 발명에 적용되는 라이트 커맨드의 구성 예를 보여주는 도면이다. 8 is a view showing a configuration example of a write command applied to the present invention.

도 9는 종래 기술에 따라 64KB 전송 길이로 512KB의 데이터를 전송하기 위하여 커맨드와 데이터를 발생시키는 예를 보여주는 도면이다.FIG. 9 illustrates an example of generating a command and data to transmit 512 KB of data with a 64 KB transmission length according to the related art.

도 10은 본 발명에 따라 데이터 전송 길이를 변경하여 512KB 전송 길이로 512KB의 데이터를 전송하기 위하여 커맨드와 데이터를 발생시키는 예를 보여주는 도면이다.FIG. 10 is a diagram illustrating an example of generating a command and data to transmit data of 512 KB with a 512 KB transmission length by changing the data transmission length according to the present invention.

Claims (21)

인터페이스 드라이버에서 데이터 전송 길이 사양을 사용자의 선택에 의하여 설정하는 단계;Setting a data transmission length specification by a user's selection in an interface driver; 호스트 장치의 어플리케이션 규격에 따라서 라이트 커맨드 및 데이터를 생성시키는 단계;Generating a write command and data according to an application standard of the host device; 상기 생성된 라이트 커맨드 및 데이터가 인터페이스 드라이버에 설정된 데이터 전송 길이 사양에 매칭되도록 라이트 커맨드의 데이터 전송 길이 정보를 변경시키는 단계;Changing the data transfer length information of the write command so that the generated write command and data match the data transfer length specification set in the interface driver; 상기 변경된 라이트 커맨드의 데이터 전송 길이 정보에 상응하는 전송 길이로 라이트 커맨드와 함께 전송할 데이터의 길이를 변경시키는 단계; 및Changing the length of data to be transmitted together with the write command to a transmission length corresponding to the data transmission length information of the changed write command; And 상기 변경된 라이트 커맨드의 데이터 전송 길이 정보에 상응하는 전송 길이로 변경된 데이터를 상기 라이트 커맨드와 함께 상기 호스트 장치에 연결된 디바이스 드라이브로 전송하는 단계를 포함함을 특징으로 하는 데이터 전송 처리 방법.And transmitting the changed data to the device drive connected to the host apparatus together with the write command to the transmission length corresponding to the data transfer length information of the changed write command. 제1항에 있어서, 상기 인터페이스 드라이버에서 설정된 데이터 전송 길이 사양은 상기 호스트 장치의 어플리케이션 규격으로 설정된 데이터 전송 길이의 정수배로 결정됨을 특징으로 하는 데이터 전송 처리 방법.The method of claim 1, wherein the data transmission length specification set in the interface driver is determined as an integer multiple of the data transmission length set in the application standard of the host device. 삭제delete 제1항에 있어서, 상기 데이터 전송 길이 사양을 사용자의 선택에 의하여 설정하는 단계는 The method of claim 1, wherein the setting of the data transmission length specification by a user's selection 데이터 전송 길이 변경 기능이 선택되는지를 판단하는 단계;Determining whether a data transmission length change function is selected; 상기 데이터 전송 길이 변경 기능이 선택된 경우에, 데이터 전송 길이 변경 메뉴 화면을 디스플레이시키는 단계; 및If the data transmission length change function is selected, displaying a data transmission length change menu screen; And 상기 데이터 전송 길이 변경 메뉴 화면에서 선택된 데이터 전송 길이 정보를 상기 인터페이스 드라이버의 데이터 전송 길이 정보로 설정하는 단계를 포함함을 특징으로 하는 데이터 전송 처리 방법. And setting data transmission length information selected on the data transmission length change menu screen as data transmission length information of the interface driver. 제4항에 있어서, 상기 데이터 전송 길이 변경 메뉴 화면에는 데이터 전송 길이를 디바이스 드라이브의 기록 배속 정보에 근거하여 자동적으로 가변시키는 자동 가변 설정 사양을 선택하기 위한 입력 창을 포함함을 특징으로 하는 데이터 전송 처리 방법.The data transmission length change menu screen includes an input window for selecting an automatic variable setting specification for automatically varying the data transmission length based on the recording speed information of the device drive. Treatment method. 제1항에 있어서, 상기 라이트 커맨드의 데이터 전송 길이 정보를 변경시키는 단계는 상기 인터페이스 드라이버에 데이터 전송 길이 사양이 자동 가변 설정 사양으로 설정되어 있는 경우에, 상기 디바이스 드라이브의 기록 배속 정보에 근거하여 상기 인터페이스 드라이버에 설정된 데이터 전송 길이 정보를 가변시킴을 특징으로 하는 데이터 전송 처리 방법.The method of claim 1, wherein the changing of the data transfer length information of the write command is performed based on the write speed information of the device drive when the data transfer length specification is set to the automatic variable setting specification in the interface driver. A data transmission processing method characterized by varying data transmission length information set in an interface driver. 제6항에 있어서, 상기 라이트 커맨드의 데이터 전송 길이 정보를 변경시키는 단계는 상기 디바이스 드라이브의 기록 배속에 비례하여 상기 인터페이스 드라이버에 설정된 데이터 전송 길이를 증가시킴을 특징으로 하는 데이터 전송 처리 방법.7. The method of claim 6, wherein changing the data transfer length information of the write command increases the data transfer length set in the interface driver in proportion to the write speed of the device drive. 제6항에 있어서, 상기 라이트 커맨드의 데이터 전송 길이 정보를 변경시키는 단계는 상기 디바이스 드라이브의 기록 배속이 임계 기록 배속을 초과하는 경우에만 상기 라이트 커맨드의 데이터 전송 길이 정보를 변경시키고, 그렇지 않은 경우에는 호스트 장치의 어플리케이션 규격에 따라서 생성된 라이트 커맨드의 데이터 전송 길이 정보를 변경시키지 않도록 처리함을 특징으로 하는 데이터 전송 처리 방법.8. The method of claim 6, wherein changing the data transfer length information of the write command changes the data transfer length information of the write command only when the write speed of the device drive exceeds a threshold write speed, otherwise And not changing the data transfer length information of the write command generated according to the application standard of the host device. 제1항에 있어서, 상기 인터페이스 드라이버는 USB 드라이버를 포함함을 특징으로 하는 데이터 전송 처리 방법.The method of claim 1, wherein the interface driver comprises a USB driver. 제1항에 있어서, 상기 디바이스 드라이브는 광디스크 드라이브를 포함함을 특징으로 하는 데이터 전송 처리 방법.The method of claim 1, wherein the device drive comprises an optical disc drive. 제1항에 있어서, 상기 호스트 장치에 연결된 디바이스 드라이브에서 상기 변경된 라이트 커맨드 및 데이터를 전송받아 데이터를 라이트하는 단계를 더 포함함을 특징으로 하는 함을 특징으로 하는 데이터 전송 처리 방법.2. The method of claim 1, further comprising: writing the modified write command and data from the device drive connected to the host device to write data. 3. 제1항 또는 제2항 또는 제4항 내지 제11항 중의 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing the method of claim 1 or 2 or 4 to 11. 외부 디바이스 드라이브와의 데이터 송/수신을 위한 인터페이스 포트; 및An interface port for data transmission / reception with an external device drive; And 호스트 어플리케이션 규격에 따라서 생성된 라이트 커맨드 및 데이터를 입력하여, 인터페이스 드라이버 프로그램에 따라 사용자의 선택에 의하여 결정된 데이터 전송 길이 사양에 매칭되도록 라이트 커맨드의 데이터 전송 길이 정보를 변경시키고, 상기 변경된 라이트 커맨드의 데이터 전송 길이 정보에 상응하는 전송 길이로 라이트 커맨드와 함께 전송할 데이터의 길이를 변경하여 상기 인터페이스 포트를 통하여 외부 디바이스 드라이브로 전송하는 인터페이스 컨트롤러를 포함함을 특징으로 하는 데이터 전송 처리 장치.Inputting the write command and data generated according to the host application standard, changing the data transfer length information of the write command to match the data transfer length specification determined by the user's selection according to the interface driver program, and changing the data of the changed write command And an interface controller for changing the length of data to be transmitted with the write command to a transmission length corresponding to the transmission length information and transmitting the data to the external device drive through the interface port. 제13항에 있어서, 상기 인터페이스 드라이버 프로그램에 따라 결정된 데이터 전송 길이 사양은 상기 호스트 어플리케이션 규격으로 설정된 데이터 전송 길이의 정수배로 결정됨을 특징으로 하는 데이터 전송 처리 장치.The data transfer processing apparatus according to claim 13, wherein the data transfer length specification determined according to the interface driver program is determined by an integer multiple of the data transfer length set in the host application standard. 삭제delete 제13항에 있어서, 상기 인터페이스 컨트롤러는 상기 데이터 전송 길이 사양이 자동 가변 설정 사양으로 설정되어 있는 경우에, 상기 디바이스 드라이브의 기 록 배속 정보에 근거하여 상기 입력된 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 변경시킴을 특징으로 하는 데이터 전송 처리 장치.The data transmission length information and data of the input write command according to claim 13, wherein when the data transmission length specification is set to an automatic variable setting specification, the interface controller is further configured based on the recording speed information of the device drive. A data transfer processing device characterized by changing the length. 제16항에 있어서, 상기 인터페이스 컨트롤러는 상기 데이터 전송 길이 사양이 자동 가변 설정 사양으로 설정되어 있는 경우에, 상기 디바이스 드라이브의 기록 배속에 비례하여 상기 입력된 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 증가시킴을 특징으로 하는 데이터 전송 처리 장치.The data transmission length information and the data length of the input write command are proportional to the write speed of the device drive when the data transmission length specification is set to an automatic variable setting specification. Data transmission processing apparatus characterized by increasing. 제16항에 있어서, 상기 인터페이스 컨트롤러는 상기 디바이스 드라이브의 기록 배속이 임계 배속을 초과하는 경우에만 상기 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 변경시키고, 그렇지 않은 경우에는 호스트 어플리케이션 규격에 따라서 생성된 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 변경시키지 않도록 제어함 특징으로 하는 데이터 전송 처리 장치. 17. The apparatus of claim 16, wherein the interface controller changes the data transfer length information and the data length of the write command only when the write speed of the device drive exceeds a threshold speed, and if not, the interface controller generates the data according to a host application specification. A data transfer processing apparatus characterized by controlling not to change the data transfer length information and the data length of a write command. 제13항에 있어서, 상기 인터페이스는 USB 인터페이스를 포함함을 특징으로 하는 데이터 전송 처리 장치.14. The apparatus of claim 13, wherein said interface comprises a USB interface. 외부 디바이스 드라이브와의 데이터 송/수신을 위한 인터페이스 포트 및, 호스트 어플리케이션 규격에 따라서 생성된 라이트 커맨드 및 데이터를 입력하여, 사용자의 선택에 의하여 인터페이스 드라이버 프로그램에 따라 결정된 데이터 전송 길이 사양에 매칭되도록 라이트 커맨드의 데이터 전송 길이 정보를 변경시키고, 상기 변경된 라이트 커맨드의 데이터 전송 길이 정보에 상응하는 전송 길이로 라이트 커맨드와 함께 전송할 데이터의 길이를 변경하여 상기 인터페이스 포트를 통하여 외부 디바이스 드라이브로 전송하는 인터페이스 컨트롤러를 포함하는 호스트 장치; 및Interface command for data transmission / reception with external device drive, write command and data generated according to host application standard are inputted, and write command to match data transmission length specification determined according to interface driver program by user's selection And an interface controller for changing the data transmission length information of the data, changing the length of data to be transmitted together with the write command to a transmission length corresponding to the data transmission length information of the changed write command, and transmitting the data to the external device drive through the interface port. A host device; And 상기 호스트 장치의 인터페이스 포트를 통하여 상기 인터페이스 컨트롤러에서 변경된 라이트 커맨드 및 데이터를 전송받아 기록매체에 기록하는 디바이스 드라이브를 포함함을 특징으로 하는 데이터 전송 시스템. And a device driver configured to receive the changed write command and data from the interface controller through the interface port of the host device and write the data to the recording medium. 제20항에 있어서, 상기 디바이스 드라이브는 광디스크 드라이브를 포함함을 특징으로 하는 데이터 전송 시스템.21. The system of claim 20, wherein said device drive comprises an optical disc drive.
KR1020080033877A 2008-04-11 2008-04-11 Method and apparatus for processing data transfer and data transfer system KR100953549B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080033877A KR100953549B1 (en) 2008-04-11 2008-04-11 Method and apparatus for processing data transfer and data transfer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080033877A KR100953549B1 (en) 2008-04-11 2008-04-11 Method and apparatus for processing data transfer and data transfer system

Publications (2)

Publication Number Publication Date
KR20090108455A KR20090108455A (en) 2009-10-15
KR100953549B1 true KR100953549B1 (en) 2010-04-21

Family

ID=41551847

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080033877A KR100953549B1 (en) 2008-04-11 2008-04-11 Method and apparatus for processing data transfer and data transfer system

Country Status (1)

Country Link
KR (1) KR100953549B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020056633A (en) * 2000-12-29 2002-07-10 엘지전자 주식회사 Method for interfacing a combo drive system with host
KR20040050338A (en) * 2002-12-10 2004-06-16 한국전자통신연구원 Apparatus of transmitting and receiving variable length packet, and method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020056633A (en) * 2000-12-29 2002-07-10 엘지전자 주식회사 Method for interfacing a combo drive system with host
KR20040050338A (en) * 2002-12-10 2004-06-16 한국전자통신연구원 Apparatus of transmitting and receiving variable length packet, and method thereof

Also Published As

Publication number Publication date
KR20090108455A (en) 2009-10-15

Similar Documents

Publication Publication Date Title
EP2140362B1 (en) Command resequencing in memory operations
KR100450080B1 (en) Portable storage medium based on Universal Serial Bus standard and Control Method therefor
TWI428917B (en) Flash memory device, data storage system, and operation method of a data storage system
US7162550B2 (en) Method, system, and program for managing requests to an Input/Output device
US20030234952A1 (en) Information processing apparatus
CN110554999B (en) Cold and hot attribute identification and separation method and device based on log file system and flash memory device and related products
CN111813343B (en) Solid state disk garbage recovery method, system and related components
KR20210016184A (en) Storage device, memory system comprising the same, and operating method thereof
JP2007193865A (en) Information recording device and its control method
KR20200095526A (en) Flash memory controller, SD card device, method used in flash memory controller, and host device connected to SD card device
JP2003241908A (en) External connection equipment and host equipment
US8266328B2 (en) Disk device assigned ID codes for storage areas of external storage device
JP2007034467A (en) Device controller
KR100953549B1 (en) Method and apparatus for processing data transfer and data transfer system
US20050066206A1 (en) Storage device configuration
US8214569B2 (en) Method for reading and writing non-standard register of serial advanced technology attachment (SATA) device
CN113495850B (en) Method, apparatus and computer readable storage medium for managing garbage collection program
US7966433B2 (en) Method for enhancing performance of data access between a personal computer and a USB Mass Storage, associated personal computer, and storage medium storing an associated USB Mass Storage driver
JP2007220063A (en) Usb storage device and method of controlling same
CN115427939A (en) Configuring a host interface of a memory device based on an operating mode
CN113806256A (en) Storage device, host device, recording medium, information processing system, and information processing method
CN107025061A (en) The access method of combined type hard disk
CN113778317A (en) Computer readable storage medium, method and device for scheduling host commands
US7406556B2 (en) Method for reading and writing non-standard register of standard interface device
TWI390399B (en) External device having a virtual storage device

Legal Events

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

Payment date: 20130410

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140326

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160328

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee