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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command 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
본 발명은 데이터 처리 방법 및 장치에 관한 것으로서, 특히 호스트 장치와 데이터 저장 장치 간의 데이터 전송 속도를 향상시키는 데이터 전송 처리 방법 및 장치에 관한 것이다.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
세부적으로, 컴퓨터 시스템(100)은 중앙 처리 장치(CPU; 110), ROM(120), RAM(130), 보조 기억 장치(140), 인터페이스 컨트롤러(150), 인터페이스(I/F) 포트(160) 및 버스(170)로 구성된다.In detail, the
중앙 처리 장치(110)는 컴퓨터 시스템을 제어하는 수단으로서, 명령어의 해석, 자료의 연산 및 비교 등의 일련의 제어를 실행한다. The
ROM(120)에는 컴퓨터 시스템 제어에 필요한 제어 프로그램 및 데이터들이 저장되어 있으며, RAM(130)에는 ROM(120) 또는 보조 기억 장치(140)에 저장되어 있는 프로그램들이 일시적으로 로딩되며, 또한 데이터 처리 과정에서 발생되는 데이터들이 일시적으로 저장된다.The
보조 기억 장치(140)는 사용자 데이터 및 프로그램들을 저장하며, 하드디스크 드라이브 등과 같은 데이터 저장 장치로 구현된다. The
인터페이스 컨트롤러(150)는 인터페이스 포트(160)에 접속되는 디바이스 드라이브(200)와의 커맨드 및 데이터의 송/수신 처리를 제어한다. 특히, 본 발명에서는 호스트(컴퓨터) 어플리케이션 규격에 따라서 생성된 라이트 커맨드와 데이터를 인터페이스 드라이버 프로그램에 따라서 설정된 데이터 전송 길이 사양에 근거하여 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 변경시키는 처리를 실행한다. 이에 대해서는 아래에서 상세하게 설명할 것이다.The
인터페이스 포트(160)는 외부 장치들과의 데이터 송/수신을 위하여 설치된 단자로서, 일 예로서 USB(Universal Serial Bus) 포트로 구현될 수 있다.The
ROM(120) 또는 보조 기억 장치(140)에 저장되는 컴퓨터 시스템 구동에 필요한 프로그램들의 구성을 도 2에 도시하였다. 여기에서, OS(Operating System)는 컴퓨터의 기본적인 동작을 실행시키기 위한 프로그램이고, 어플리케이션은 입/출력 장치 및 외부 기기들을 제어하고 대응하는 연산 처리를 실행시키기 위한 프로그램이며, 디스플레이 드라이버는 디스플레이 장치에 대응되는 처리를 실행하기 위한 프로그램이고, 인터페이스 드라이버는 인터페이스 포트(160)를 통하여 접속된 외부 디바이스 드라이브와의 데이터 통신 처리에 필요한 프로그램이다. The configuration of programs required for driving the computer system stored in the
특히, 본 발명에서 인터페이스 드라이버는 호스트 장치의 어플리케이션 규격에 따라서 생성된 라이트 커맨드 및 데이터를 일정 규칙에 따라 라이트 커맨드의 데이터 전송 길이 정보 및 데이터 길이를 변경시키는 처리를 실행하도록 제어하는 기능도 갖는다.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
인터페이스 회로(210)는 인터페이스 포트(230)에 접속된 호스트 장치인 컴퓨터(100)와의 데이터 전달 방식을 인터페이싱하기 위한 회로이다. 일 예로서, 인터페이스 포트(230)가 USB 포트인 경우에, USB 데이터 전송 방식으로 수신되는 데이터를 디바이스 드라이브(200)에서 채용하는 PATA(Parallel ATA) 데이터 전송 방식 또는 SATA(Serial ATA) 전송 방식으로 변환시키거나 또는 PATA/SATA 방식의 데이터를 USB 방식으로 변환시켜 호스트 장치로 전송한다. The
내부 드라이브(220)는 버퍼(220-1)를 내장하는 데이터 저장 장치로서 일 예로 광디스크 드리이브로 구현될 수 있다. 인터페이스 포트(230)를 통하여 라이트 커맨드와 함께 수신되는 데이터는 인터페이스 회로(210)를 거친 후에 내부 드라이브(220)의 버퍼(220-1)에 순차적으로 저장되고, 버퍼(220-1)에서 순차적으로 읽어낸 데이터들은 내부 드라이브(220)의 기록매체에 기록된다.The
기록 모드에서 호스트 장치인 컴퓨터(100)로부터 인터페이스 포트(230)를 통하여 전송되는 데이터의 전송 속도가 디바이스 드라이브(200)의 기록 속도에 비하여 낮은 경우에는 내부 드라이브(220)의 버퍼(220-1)가 비게 되는 현상이 발생되어 디바이스 드라이브(200)의 기록 속도를 저하시키게 된다.The buffer 220-1 of the
본 발명에서는 호스트 장치인 컴퓨터(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
우선, 인터페이스 컨트롤러(150)에서 인터페이스 드라이버에 설정된 데이터 전송 길이 사양을 사용자가 직접 선택하는 방법에 대하여 도 3의 흐름도를 참조하여 설명하기로 한다.First, a method in which the user directly selects the data transmission length specification set in the interface driver in the
도 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
단계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
도 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
단계510(S510)의 판단 결과 디바이스 드라이브(200)로의 기록 기능이 선택된 경우에, 중앙 처리 장치(110)는 어플리케이션에 정해진 규격에 따라 라이트 커맨드 및 데이터를 생성시킨다(520). 라이트 커맨드에는 일 예로서, 도 8에 도시된 바와 같이 기록 시작 어드레스(Logical Block Address)를 나타내는 정보와 전송 길이(Transfer Length)를 나타내는 정보 등이 정의되어 있다. 도 9에 도시된 바와 같이, 라이트 커맨드(CMD)와 함께 전송할 데이터를 커맨드에서 정의된 전송 길이에 상응하는 기록할 데이터(DATA)를 생성시킨다. 즉, 중앙 처리 장치(110)는 라이트 커맨드에서 정의된 전송 길이가 64KB인 경우에, 도 9에 도시된 바와 같이 라이트 커맨드와 함께 64KB 단위의 기록할 데이터를 생성시킨다.When the writing function to the
단계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
단계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
그리고 나서, 인터페이스 컨트롤러(150)는 단계5440(S540)에서 변경된 라이트 커맨드와 데이터를 인터페이스 포트(160)를 통하여 접속된 디바이스 드라이브(200)로 전송한다(S560).Then, the
두 번째로, 전송 길이 사양이 자동 가변 설정 모드로 설정된 경우의 라이트 커맨드 및 데이터의 전송 길이를 적응적으로 변경하여 전송하는 방법을 도 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
디바이스 드라이브(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
컴퓨터(100)는 디바이스 드라이브(200)로부터 전송된 디바이스 및 디스크 정보 데이터를 분석하여 드라이브의 기록 배속 정보를 RAM(130)에 저장한다(S604).The
단계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
인터페이스 컨트롤러(150)는 라이트 커맨드 및 데이터가 수신되면, 인터페이스 드라이버를 구동시켜서 인터페이스 포트(160)에 접속된 디바이스 드라이브의 기록 배속 정보에 근거하여 호스트 어플리케이션에 따라서 전송된 라이트 커맨드 및 데이터의 전송 길이의 변경이 필요한지를 판단한다(S606). 여기에서, 디바이스 드라이브의 기록 배속 정보는 단계604(S604)에서 저장된 정보를 이용한다. 그리고, 데이터를 기록할 디바이스 드라이브에서 설정된 기록 배속에 따른 기록 속도가 호스트 어플리케이션에 의하여 설정된 전송 길이에 따른 데이터 전송 속도보다 빠른 경우에는 전송 길이의 변경이 필요한 것으로 판단한다. 즉, 호스트 어플리케이션에 의하여 설정된 전송 길이에 따른 데이터 전송 속도에 대응되는 임계 기록 배속을 결정한 후에, 기록할 디바이스 드라이브의 기록 배속이 임계 기록 배속을 초과하면 전송 길이의 변경이 필요한 것으로 판단한다. When the write command and the data are received, the
단계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
다음으로, 단계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
디바이스 드라이브(200)는 인터페이스 포트(230)를 통하여 라이트 커맨드 및 데이터를 수신하여, 데이터를 내부 드라이브(220)의 버퍼(220-1)에 저장한다(S609). The
내부 드라이브(220)는 버퍼(220-1)에 저장된 데이터를 읽어내어 기록 매체인 디스크(도면에 미도시)에 기록한다(S610).The
인터페이스 컨트롤러(150)에서 인터페이스 드라이버를 구동시켜 라이트 커맨드의 전송 길이를 64KB에서 512KB로 변경시킨 경우의 데이터 흐름을 도 7에 도시하였다.FIG. 7 illustrates the data flow when the
도 7을 참조하면, 호스트 장치(1000)의 호스트 어플리케이션에서 64KB의 전송 길이를 갖는 라이트 커맨드와 기록할 데이터를 발생시키는 경우에(S1), 인터페이스 드라이버(710)에서 디바이스 드라이브(2000)의 기록 배속을 고려하여 전송 길이를 512KB로 변경시킨 라이트 커맨드 및 데이터를 USB 인터페이스를 통하여 디바이스 드라이브(2000)로 전송한다(S2). Referring to FIG. 7, in the case where the host application of the
디바이스 드라이브(2000)의 인터페이스 회로(720)에서는 USB 인터페이스 방식으로 전송된 데이터를 내부 드라이브(730)의 데이터 전송 규격에 맞도록 SATA 또는 PATA 방식으로 변환시켜 내부 드라이브(730)로 전송한다. The
그러면, 최종적으로 내부 드라이브(730)에서는 전송된 데이터를 버퍼에 저장한 후에, 버퍼에서 읽어낸 데이터를 기록매체에 기록한다(S4).Then, the
이와 같이, 호스트 어플리케이션에서 생성된 라이트 커맨드 및 데이터의 전송 길이를 인터페이스 드라이버에서 증가시켜 디바이스 드라이브로 전송하면, 기록 모드에서 데이터 전송 속도가 기록 속도에 비하여 낮아서 디바이스 드라이브의 버퍼에 데이터가 비게 되는 현상을 방지할 수 있게 된다. 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)
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)
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 |
-
2008
- 2008-04-11 KR KR1020080033877A patent/KR100953549B1/en not_active IP Right Cessation
Patent Citations (2)
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 |