KR100633120B1 - 저장 매체의 데이터 대역폭 향상 방법 및 이를 위한 장치 - Google Patents

저장 매체의 데이터 대역폭 향상 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR100633120B1
KR100633120B1 KR1020050076432A KR20050076432A KR100633120B1 KR 100633120 B1 KR100633120 B1 KR 100633120B1 KR 1020050076432 A KR1020050076432 A KR 1020050076432A KR 20050076432 A KR20050076432 A KR 20050076432A KR 100633120 B1 KR100633120 B1 KR 100633120B1
Authority
KR
South Korea
Prior art keywords
data
read
write
storage medium
protocol
Prior art date
Application number
KR1020050076432A
Other languages
English (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 KR1020050076432A priority Critical patent/KR100633120B1/ko
Application granted granted Critical
Publication of KR100633120B1 publication Critical patent/KR100633120B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 발명은 저장 매체의 대역폭 향상 방법 및 이를 위한 장치에 관한 것으로서, 본 발명에 따르면 USB 인터페이스, 중앙처리장치 및 저장 매체를 포함하는 휴대용 기기에서 상기 저장 매체의 데이터 대역폭을 향상하기 위해 상기 휴대용 기기에 포함된 바이패스 컨트롤러가 수행하는 방법으로서, 상기 중앙처리장치로부터 데이터 읽기/쓰기 준비 신호를 수신하는 단계(a)-상기 준비 신호는 상기 USB 인터페이스에 연결되는 USB 호스트로부터 상기 휴대용 기기의 용도를 확인하는 USB 초기화를 완료하는 경우에 발생함-;상기 저장 매체를 초기화하는 단계(b); 상기 USB 호스트로부터 전송되는 프로토콜 데이터를 분석하는 단계(c); 및 상기 분석된 프로토콜에 상응하여 상기 저장 매체에 대해 데이터 읽기 및 쓰기 과정 중 적어도 하나를 수행하는 단계(d)를 포함하는 저장 매체의 데이터 대역폭 향상 방법이 제공된다. 본 발명에 따르면, 중앙처리장치의 관여 없이 저장 매체에 대해 데이터 읽기/쓰기를 수행할 수 있어 데이터 처리 속도가 향상될 수 있다.
저장 매체, USB, 대역폭, CPU, 프로토콜

Description

저장 매체의 데이터 대역폭 향상 방법 및 이를 위한 장치{Method for enhancing data bandwidth of mass storage and System therefor}
도 1은 종래 기술에 따른 휴대용 기기의 블록도.
도 2는 본 발명의 바람직한 일 실시예에 따른 휴대용 기기의 블록도.
도 3은 본 발명의 바람직한 일 실시예에 따른 바이패스 컨트롤러의 블록도.
도 4는 본 발명의 바람직한 일 실시예에 따른 데이터 쓰기 과정을 위한 상세 구성을 도시한 도면.
도 5는 본 발명의 바람직한 일 실시예에 따른 데이터 읽기 과정을 위한 상세 구성을 도시한 도면.
도 6은 본 발명의 바람직한 일 실시예에 따른 데이터 쓰기 과정을 도시한 순서도.
도 7은 본 발명의 바람직한 일 실시예에 따른 데이터 읽기 과정을 도시한 순서도.
본 발명은 저장 매체의 데이터 대역폭 향상 방법 및 이를 위한 장치에 관한 것으로서, 보다 상세하게는 휴대용 기기의 저장 매체에 중앙처리장치의 관여 없이 데이터의 읽기 및 쓰기를 수행할 수 있는 저장 매체의 데이터 대역폭 향상 방법 및 이를 위한 장치에 관한 것이다.
이동 통신 단말기 및 PDA와 같은 휴대용 기기는 현대인의 필수품으로 사용되고 있으며, 특히 데이터 처리 속도의 증가로 상기한 휴대용 기기들이 단순히 전화 기능 뿐만 아니라 디지털 이미지 처리, MP3 및 동영상 재생 기능과 같은 다양한 기능을 수행하고 있는 추세이다.
근래의 휴대용 기기는 다양한 기능을 수행하기 위해, 도 1에 도시된 바와 같이, 하나의 중앙처리장치(Central Processing Unit 100)에 오디오 DSP(Audio Digital Signal Processor, 106)) 및 이미지 프로세서(Image Processor, 110)와 같은 주변 장치가 연결되며, 중앙처리장치(100)는 이러한 구성 요소의 제어 과정을 수행하게 된다.
한편, 과거에는 휴대용 기기의 메모리 용량이 제한되어 NAND 플래시 메모리 및 SD 메모리 카드와 같은 이동식 저장 매체(mass storage)를 이용하였으나, 최근에는 이러한 저장 매체가 휴대용 기기에 내장 되는 추세이다.
상기와 같이, 휴대용 기기에 저장 매체(Mass Storage, 108)가 내장되는 경우, 저장 매체로 데이터를 쓰는 과정이나 저장 매체에 저장된 데이터를 읽는 과정은 중앙처리장치(100)에 의해서 수행된다.
일반적으로 저장 매체(108)로의 데이터 쓰기 및 저장 매체의 데이터를 읽는 과정은 USB(Universal Serial Bus: 범용 직렬 버스) 인터페이스(104)에 연결되는 PC(USB 호스트)와 연계하여 이루어지며, 휴대용 기기의 중앙처리장치(100)가 상기한 데이트 쓰기 및 읽기 과정을 제어하는 과정을 수행한다.
즉, USB 호스트에서 USB 인터페이스에 저장된 데이터를 저장 매체에 기록하거나 또는 저장 매체에 저장된 데이터를 USB 인터페이스에 기록하는 과정을 휴대용 기기의 중앙처리장치(100)가 수행하는 것이다.
그러나, 전술한 바와 같이, 중앙처리장치(100)에 다양한 주변 장치가 연결되는 상황에서 중앙처리장치(100)가 저장 매체로의 데이터 쓰기 및 저장 매체의 데이터 읽기 과정까지 제어하는 것은 중앙처리장치(100)의 부하를 증가시킬 뿐만 아니라 데이터 읽기 및 쓰기를 위한 데이터 대역폭이 제한되기 때문에 그 처리 속도가 저하되는 문제점이 있었다.
한편, 종래에는 중앙처리장치의 데이터 읽기 및 쓰기 과정에 대한 부하를 줄이기 위해 USB 인터페이스(104)와 저장 매체(mass storage) 사이에 직접 데이터를 전달하도록 제어하는 방식인 DMA(Direct Memory Access: 직접 메모리 액세스) 제어기(102)를 이용하여 대역폭을 향상시킬 수 있도록 하고 있다.
도 1에는 중앙처리장치에 DMA 제어기 및 캐시 메모리가 연결되는 휴대용 기기가 도시되는데, 도 1을 참조하면, 데이터 읽기/쓰기를 위해, 중앙처리장치(100)는 DMA 제어기(102)로 입출력 장치의 주소, 쓰기 또는 읽기 식별자, 저장 매체의 시작 주소 및 전송할 데이터의 워드 수(word count)와 같은 프로토콜 분석 정보를 전송하며, 주변 장치인 USB 인터페이스(104)는 중앙처리장치(100)에 버스 요구(Bus Request: BR) 신호를 전송하며, 이러한 경우, 중앙처리장치는 DMA 제어기(102)에 버스 승인(Bus Grant: BG) 신호를 출력하여 버스 사용 권한을 넘겨준다.
이후, DMA 제어기(102)는 저장 매체(108)와 USB 인터페이스(104) 사이에서 읽기 또는 쓰기 과정을 처리한다.
데이터의 전송이 완료할 때까지 버스 요구, 버스 승인 과정 및 데이터 읽기 및 쓰기 과정이 반복되며, 데이터의 전송이 완료된 경우, DMA 제어기(102)는 중앙처리장치(100)에 인터럽트 요구 신호를 전송하여 버스의 사용 권한을 중앙처리장치에 돌려준다.
상기한 방법으로 USB 인터페이스(104)와 저장 매체(108) 사이에 데이터의 전달하는 과정에서 대역폭을 줄일 수도 있으나, 종래기술에 따르면, DMA 제어기(102)는 단순히 데이터의 읽기 및 쓰기 동작만을 수행할 뿐, 특히 USB 인터페이스(104)에서 출력되는 USB 프로토콜 분석 과정을 행하지 못하기 때문에 상기와 같이, 중앙처리장치(100)로부터 I/O 장치 주소, 저장 매체 시작 주소, 전송할 데이터 워드 수와 같은 프로토콜 분석 정보를 제공 받아야 하며, 아울러 데이터의 전송이 완료될 때까지 주변 장치의 버스 요구에 대해 중앙처리장치의 버스 승인이 있는 경우에만 데이터 읽기 또는 쓰기 과정을 수행하기 때문에 데이터 읽기/쓰기 과정에서 계속적으로 중앙처리장치(100)의 관여가 있어야만 하는 문제점이 있었다.
또한, 종래기술에 따르면, DMA 제어기(102)에 의해 읽거나 쓰기 위한 데이터는 중앙처리장치(100)와 연결되는 캐시 메모리(112)에 임시 저장되어야 하기 때문에 대역폭이 향상되지 않는 문제점이 있었다.
즉, 종래에는 USB 인터페이스(104)를 통해 입력된 데이터는 중앙처리장치 (100)를 거쳐 캐시 메모리에 저장되었다가 다시 캐시 메모리(112)의 데이터를 읽어 저장 매체에 써야 하며, 저장 매체로부터 데이터를 읽는 경우에는 그 역의 과정이 동일하게 반복되기 때문에 이러한 데이터 읽기/쓰기 과정에서 중앙처리장치(100)가 개입하므로 주변 장치 및 저장 매체 간 대역폭이 향상되지 않았던 것이다.
본 발명에서는 상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 중앙처리장치의 관여 없이 저장 매체의 데이터 읽기 또는 쓰기 과정을 수행할 수 있는 저장 매체의 데이터 대역폭 향상 방법 및 이를 위한 장치를 제안하고자 한다.
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 바람직한 일 실시예에 따르면, USB 인터페이스, 중앙처리장치 및 저장 매체를 포함하는 휴대용 기기에서 상기 저장 매체의 데이터 대역폭을 향상하기 위해 상기 휴대용 기기에 포함된 바이패스 컨트롤러가 수행하는 방법으로서, 상기 중앙처리장치로부터 데이터 읽기/쓰기 준비 신호를 수신하는 단계(a)-상기 준비 신호는 상기 USB 인터페이스에 연결되는 USB 호스트로부터 상기 휴대용 기기의 용도를 확인하는 USB 초기화를 완료하는 경우에 발생함-; 상기 저장 매체를 초기화하는 단계(b); 상기 USB 호스트로부터 전송되는 프로토콜 데이터를 분석하는 단계(c); 및 상기 분석된 프로토콜에 상응하여 상기 저장 매체에 대해 데이터 읽기 및 쓰기 과정 중 적어도 하나를 수행하는 단계(d)를 포함하는 저장 매체의 데이터 대역폭 향상 방법이 제공된다.
여기서, 상기 (c) 단계는 상기 USB 호스트로부터 쓰기(OUT) 프로토콜 데이터 를 수신하는 단계; 및 상기 쓰기 프로토콜 데이터에서 저장 매체에 저장될 데이터의 크기 및 저장 장소 정보 중 적어도 하나를 추출하는 단계를 포함하는 것이 바람직하다.
또한, 상기 USB 인터페이스는 쓰기 선입선출 버퍼(USB WR_FIFO)를 포함하며, 상기 (d) 단계는, 상기 쓰기 선입선출 버퍼를 체크하여 쓰기 데이터가 존재하는지 판단하는 단계; 및 쓰기 데이터가 존재하는 경우, 상기 쓰기 데이터를 상기 쓰기 선입선출 버퍼로부터 저장 매체로 옮기는 단계를 포함하는 것이 바람직하다.
상기 (c) 단계는 상기 USB 호스트로부터 읽기(IN) 프로토콜 데이터를 수신하는 단계; 및 상기 읽기 프로토콜 데이터에서 저장 매체에서 읽어야 할 데이터의 크기 정보 및 읽을 데이터가 저장된 저장 매체의 장소 정보 중 적어도 하나를 추출하는 단계를 포함하는 것이 바람직하며, 상기 USB 인터페이스는 읽기 선입선출 버퍼(USB RD_FIFO)를 포함하며, 상기 (d) 단계는 상기 읽기 선입선출 버퍼의 상태를 체크하여 상기 읽기 선입선출 버퍼가 비어있는지 판단하는 단계; 상기 읽기 선입선출 버퍼가 비어있는 경우, 상기 저장 매체에서 데이터를 읽는 단계; 및 상기 저장 매체로부터 읽은 데이터를 상기 읽기 선입선출 버퍼에 쓰는 단계를 포함할 수 있다.
본 발명에 따른 방법은 상기 USB 호스트로부터 상태(STATUS) 프로토콜 데이터를 수신하는 단계; 및 상기 프로토콜을 분석하여 저장 매체의 관련 상태 정보를 상기 USB 호스트로 전송하는 단계를 더 포함할 수 있다.
한편, 본 발명의 다른 실시예에 따르면, 휴대용 기기에 있어서, 외부 USB 호스트와 연결되는 USB 인터페이스; 상기 USB 인터페이스에 연결되는 USB 호스트가 상기 휴대용 기기의 용도를 확인하는 USB 초기화를 완료하는 경우, 데이터 읽기/쓰기 신호를 출력하는 중앙처리장치; 데이터의 읽기/쓰기가 가능한 저장 매체; 및 상기 데이터 읽기/쓰기 준비 신호를 수신한 후 상기 USB 호스트로부터 상기 USB 인터페이스를 통해 전송되는 프로토콜 데이터를 분석하며, 상기 분석된 프로토콜에 상응하여 상기 저장 매체에 대해 데이터 읽기 및 쓰기 과정 중 적어도 하나를 수행하는 바이패스 컨트롤러를 포함하는 휴대용 기기가 제공된다.
상기 휴대용 기기에서 상기 바이패스 컨트롤러는, 상기 USB 호스트로부터 전송되는 프로토콜 데이터를 분석하는 프로토콜 분석부; 및 상기 저장 매체의 초기화 과정을 수행하며, 상기 프로토콜 분석부에서 분석된 정보에 따라 상기 데이터 읽기/쓰기 과정을 수행하는 제어부를 포함하는 것이 바람직하다.
이때, 상기 프로토콜 분석부는 쓰기 프로토콜 디코더, 읽기 프로토콜 디코더 및 상태 프로토콜 디코더 중 적어도 하나를 포함할 수 있다.
본 발명에 따른 휴대용 기기는 상기 USB 호스트로부터 쓰기(OUT) 프로토콜 데이터를 수신하는 경우, 상기 쓰기 프로토콜 디코더는 상기 쓰기 프로토콜 데이터로부터 상기 저장 매체에 저장될 데이터의 크기 및 저장 장소 정보 중 적어도 하나를 추출하는 것이 바람직하며, 상기 USB 인터페이스는 쓰기 선입선출 버퍼를 포함하며, 상기 제어부는 상기 쓰기 선입선출 버퍼를 체크하여 쓰기 데이터가 존재하는지 판단하고, 쓰기 데이터가 존재하는 경우, 상기 쓰기 데이터를 상기 쓰기 선입선출 버퍼로부터 저장 매체로 옮기는 과정을 수행할 수 있다.
또한, 본 발명에 따른 휴대용 기기는 상기 USB 호스트로부터 읽기(IN) 프로 토콜 데이터를 수신하는 경우, 상기 읽기 프로토콜 디코더는 상기 읽기 프로토콜 데이터에서 저장 매체에서 읽어야 할 데이터의 크기 정보 및 읽을 데이터가 저장된 저장 매체의 장소 정보 중 적어도 하나를 추출할 수 있으며, 상기 USB 인터페이스는 읽기 선입선출 버퍼(USB RD_FIFO)를 포함하며, 상기 제어부는 상기 저장 매체에서 데이터를 읽고, 상기 읽기 선입선출 버퍼의 상태를 체크하여 상기 읽기 선입선출 버퍼가 비어있는지 판단하며, 상기 읽기 선입선출 버퍼가 비어있는 경우, 상기 저장 매체로부터 읽은 데이터를 상기 읽기 선입선출 버퍼에 쓰는 과정을 수행할 수 있다.
이하에서, 첨부된 도면을 참조하여 본 발명에 따른 저장 매체의 데이터 대역폭 향상 방법 및 이를 위한 장치에 관한 바람직한 실시예를 상세하게 설명한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 휴대용 기기의 블록도이며, 도 3은 본 발명의 바람직한 일 실시예에 따른 바이패스 컨트롤러의 블록도이다.
도 2 내지 도 3을 참조하여 본 발명에 따른 저장 매체의 데이터 대역폭 향상 방법에 대해 상세하게 설명한다.
도 2에 도시된 바와 같이, 본 발명에 따른 휴대용 기기는 DMA 제어기(202), 중앙처리장치(CPU, 204), USB 인터페이스(206), 오디오 DSP(208), 저장 매체(Mass Storage, 210) 및 이미지 프로세서(212)를 포함할 수 있으며, USB 인터페이스(206) 및 저장 매체(210) 사이에는 바이패스 컨트롤러(Bypass Controller, 200)가 제공될 수 있다.
중앙처리장치(204)는 명령어의 해석과 자료의 연산, 비교 등의 처리를 제어하는 것으로서 다양한 입력장치로부터 자료를 받아서 처리한 후 그 결과를 출력장치로 보내는 일련의 과정을 제어하고 조정하는 일을 수행한다.
최근, 휴대용 기기의 기능이 다양해짐에 따라 도 2에 도시된 바와 같이, 여러 주변 장치들이(206,208,210,212) 중앙처리장치(204)에 연결될 수 있다.
도 2의 주변 장치는 예시적으로 도시한 것으로서, USB 인터페이스(206), 오디오 DSP(208), 저장 매체(210) 및 이미지 프로세서(212)를 도시하고 있으나, 이는 일예에 불과하며, 그밖에 다른 주변 장치들이 휴대용 기기에 포함될 수 있으며, 휴대용 기기의 진화에 따라 중앙처리장치(204)에 연결되는 주변 장치의 수는 더욱 증가할 수 있다.
이러한 휴대용 기기에서 중앙처리장치(204)는 주변 장치의 전반적인 제어 과정을 수행하는데, 주변 장치의 수가 증가할수록 중앙처리장치(204)의 프로세싱(processing) 수가 증가하게 되어 각 주변 장치에 대한 처리 속도가 낮아질 수밖에 없다.
한편, USB 인터페이스(206)를 구비하는 휴대용 기기가 저장 매체 용도로 사용되는 경우, 휴대용 기기는 PC(미도시)에 연결되어 PC에 저장된 데이터를 휴대용 기기의 저장 매체(210)로 이동하여 저장하거나 저장 매체(210)에 저장된 데이터를 PC로 이동하는 과정과 같은 데이터 읽기/쓰기를 수행하게 되는데, 종래에는 이와 같은 과정도 중앙처리장치(204)에서 처리하였기 때문에 현재 중앙처리장치(204)가 많은 다른 주변 장치의 인터럽트를 처리하는 상황에서 종래방식에 의할 경우, USB 인터페이스(206)와 중앙처리장치(204) 사이에 병목현상이 발생하여 데이터 읽기/쓰기 과정이 지연될 수밖에 없었다.
본 발명에 따르면, USB 인터페이스(206)와 저장 매체(210) 사이에 바이패스 컨트롤러(200)가 제공된다.
본 발명에 따른 바이패스 컨트롤러(200)는 USB 인터페이스(206)와 저장 매체(210) 사이에 위치하면서, USB 인터페이스(206)를 통해 휴대용 기기가 PC(미도시)에 연결되고, 휴대용 기기(이는 USB 디바이스가 된다)가 저장 매체의 데이터를 읽고 쓰기 위한 용도로서 사용되는 경우, 중앙처리장치(204)를 대신하여 데이터의 읽기/쓰기 과정을 수행한다.
일반적으로 PC와 USB 인터페이스를 구비하는 휴대용 기기가 서로 연결되는 경우, PC는 호스트, 휴대용 기기는 슬레이브 역할을 수행하며, 호스트인 PC는 USB를 통한 휴대용 기기의 연결을 감지하여 필요한 각종 프로토콜 데이터를 휴대용 기기로 전송한다.
슬레이브 역할을 갖는 휴대용 기기는 그 프로토콜을 분석 처리하여 필요한 동작을 수행하게 된다.
종래에는 휴대용 기기의 중앙처리장치(204)에서 PC로부터 전송되는 프로토콜을 분석하여 그에 상응하는 제어 과정을 수행하였기 때문에 중앙처리장치(204)의 부하가 증가하는 문제점이 있었으나, 본 발명에 따른 휴대용 기기는 바이패스 컨트롤러(200)를 통해 프로토콜 분석 및 그에 상응하는 데이터 읽기/쓰기 과정을 수행하기 때문에 중앙처리장치(100)의 부하를 감소시키고, 저장 매체에 대한 데이터 대 역폭을 향상시킬 수 있다.
한편, 도 2에 휴대용 기기는 DMA 제어기(202)를 포함하여 데이터 읽기/쓰기의 속도를 효율적으로 수행할 수도 있을 것이나, 바이패스 컨트롤러(200)만으로 데이터 읽기/쓰기 과정이 가능할 수 있으며, 이러한 경우, DMA 제어기(202)는 생략될 수 있다.
도 3은 본 발명의 바람직한 일 실시예에 따른 바이패스 컨트롤러(200)의 블록도이다.
도 3에 도시된 바와 같이, 본 발명에 따른 바이패스 컨트롤러(200)는 쓰기 프로토콜 디코더(300), 읽기 프로토콜 디코더(302), 상태 프로토콜 디코더(304)를 포함하는 프로토콜 분석부 및 제어부(306)를 포함할 수 있다.
쓰기 프로토콜 디코더(DATA OUT Protocol Decoder, 300)는 USB 호스트(휴대용 기기에 USB 인터페이스를 통해 연결되는 PC)로부터 전송되는 프로토콜이 쓰기 프로토콜인 경우 이를 분석하여 USB 호스트로부터 저장 매체로 데이터를 쓰는 과정이 이루어질 수 있도록 한다.
USB 호스트로부터 전송되는 쓰기 프로토콜에는 저장 매체에 저장할 데이터의 크기 및 데이터가 저장될 위치 등에 관한 정보가 포함될 수 있다.
쓰기 프로토콜 디코더(300)에 USB 호스트의 프로토콜 분석이 이루어지면 제어부(306)는 분석된 프로토콜에 따라 저장 매체에 데이터를 쓰는 과정을 수행한다.
도 4는 본 발명의 바람직한 일 실시예에 따른 데이터 쓰기 과정을 위한 상세 구성을 도시한 도면이다.
도 4를 참조하면, USB 인터페이스(206)에는 USB 호스트인 PC가 연결되며, USB 호스트는 휴대용 기기가 연결되는 경우, USB 호스트는 휴대용 기기의 용도를 확인하는 과정(이는 USB 초기화라함)을 수행한다.
상기한 바와 같이, USB 초기화 과정이 완료되는 경우, 본 발명에 따른 중앙처리장치(204)는 바이패스 컨트롤러(200)로 데이터 읽기/쓰기 준비 신호를 전송하며, 이에 따라 바이패스 컨트롤러(200)는 USB 호스트에 저장 매체에 관한 기본 정보(저장 매체 용량, 속성 정보)를 전송하는 저장 매체 초기화 과정을 수행한다.
저장 매체 초기화 과정 후 USB 호스트는 프로토콜 데이터를 휴대용 기기로 전송한다.
USB 호스트가 전송하는 프로토콜 데이터는 USB 선입선출(FIFO) 버퍼에 저장되는데, 본 발명에 따른 바이패스 컨트롤러(200)는 버퍼에 현재 저장된 프로토콜 데이터가 쓰기(OUT) 프로토콜인 경우, 쓰기 프로토콜 디코더(300)에 의해 프로토콜 분석을 수행하며, 분석된 결과에 따라 쓰기 선입선출 버퍼(USB WR_FIFO, 400)로부터 데이터를 읽어 저장 매체 인터페이스(402)에 쓰는 과정을 수행하며, 이와 같은 과정을 통해 저장 매체에 USB 호스트의 데이터가 저장될 수 있도록 한다.
상기에서 쓰기 선입선출 버퍼(400)는 USB 인터페이스(206)와 분리하여 도시하였으나, 실질적으로 쓰기 선입선출 버퍼(400)는 USB 인터페이스(206)에 포함될 수 있을 것이다.
한편, 바이패스 컨트롤러(200)는 읽기 프로토콜 디코더(DATA IN Protocol Decoder 302)를 포함하고 있으며, 읽기 프로토콜 디코더는 USB 호스트로부터 읽기(IN) 프로토콜 데이터가 수신되는 경우, 프로토콜 분석을 통해 저장 매체의 어떠한 데이터를 읽어 USB 인터페이스에 저장하여야 하는가를 결정한다.
도 5는 본 발명의 바람직한 일 실시예에 따른 데이터 읽기 과정을 위한 상세 구성을 도시한 도면으로서, 도 5를 참조하면, USB 호스트의 쓰기 요청에 의해 USB 인터페이스(206)로부터 읽기(IN) 프로토콜 데이터가 수신되는 경우, 바이패스 컨트롤러(200)의 읽기 프로토콜 디코더(302)는 읽기 프로토콜 데이터를 분석하며, 제어부(306)는 분석된 내용에 따라 저장 매체의 인터페이스로 읽기 명령을 전송하며 읽혀진 데이터를 읽기 선입선출 버퍼(USB RD_FIFO, 500)로 이동시키는 과정을 수행한다.
이와 같이 이동된 데이터는 USB 호스트로 전송된다.
USB 호스트는 USB 슬레이브(휴대용 기기)와 연결되는 경우, 슬레이브의 상태 정보(예를 들어, 저장 매체의 상태 정보)를 주기적으로 요구할 수 있는데, 상태 프로토콜 디코더(Status Protocol Decoder, 304)는 USB 호스트로부터 전송되는 상태 프로토콜을 분석하여 저장 매체와 관련되는 상태 정보(예를 들어, 저장 매체의 잔여 용량 정보 등)가 USB 호스트로 전송될 수 있도록 한다.
본 발명에 따르면, USB 인터페이스(206)를 통해 데이터 읽기/쓰기 과정을 이루어지는 경우, 많은 프로세스를 수행 중인 휴대용 기기의 중앙처리장치(204)의 처리 속도에 제한되지 않기 때문에 데이터 읽기/쓰기 속도가 향상될 수 있다.
본 발명에 따른 데이터 읽기/쓰기에서 데이터가 중앙처리장치(204)에 연결된 캐시 메모리(Cache, 214)를 경유하지 않으므로 데이터 읽기/쓰기 속도의 향상뿐만 아니라, 중앙처리장치(204)의 다른 주변 장치 제어를 위한 처리 속도도 증가할 수 있다.
도 6은 본 발명의 바람직한 일 실시예에 따른 데이터 쓰기 과정을 도시한 순서도이다.
도 6을 데이터 쓰기 과정에서 바이패스 컨트롤러에 의해 수행되는 동작을 설명하기 위한 것으로서, 도 6을 참조하면, 휴대용 기기가 PC와 같은 USB 호스트에 연결되고, USB 호스트가 휴대용 기기를 저장 매체 용도로 인식하여 USB 초기화를 완료한 후, 중앙처리장치(204)가 데이터 읽기/쓰기 준비 신호를 전송하는 경우, 바이패스 컨트롤러(200)는 저장 매체를 초기화 하는 과정을 수행한다(S600).
바이패스 컨트롤러(200)는 USB 호스트로부터 전송되는 프로토콜 데이터를 분석하며(S602), 프로토콜 데이터가 쓰기(OUT) 프로토콜인 경우, 쓰기 선입선출 버퍼(400)를 체크하는 과정을 수행한다(S604).
바이패스 컨트롤러(200)는 쓰기 선입선출 버퍼(400)에 쓰기 데이터가 준비되어있는지를 판단하여(S606), 쓰기 데이터가 준비된 경우에는 데이터를 읽고(S608), 이를 저장 매체에 쓰는 과정을 수행한다(S610).
도 7은 본 발명의 바람직한 일 실시예에 따른 데이터 읽기 과정을 도시한 순서도이다.
도 7를 참조하면, 중앙처리장치(204)가 데이터 읽기/쓰기 준비 신호를 전송하는 경우, 바이패스 컨트롤러(200)는 저장 매체를 초기화 하는 과정을 수행한다(S700).
바이패스 컨트롤러(200)는 USB 호스트로부터 전송되는 프로토콜 데이터를 분석하며(S702), 프로토콜 데이터가 읽기(IN) 프로토콜인 경우, 저장 매체의 어느 주소에서 데이터를 읽어 어디로 이동시킬지를 결정하고, 읽기 선입선출 버퍼(500)의 상태를 체크한다(S704).
바이패스 컨트롤러는 읽기 선입선출 버퍼(500)의 상태가 데이터 풀(FULL)인지를 판단하여(S706), 풀이 아닌 경우에는 저장 매체의 데이터를 읽고(S708), 이를 읽기 선입선출 버퍼(500)에 쓰는 과정을 수행한다(S710).
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
이상에서 설명한 바와 같이, 본 발명에 따르면, 저장 매체가 내장되는 휴대용 기기에서 저장 매체에 데이터를 쓰거나 저장 매체로부터 데이터를 읽는 경우에 중앙처리장치의 관여 없이 바이패스 컨트롤러를 사용함으로써 저장 매체의 대역폭을 향상시킬 수 있는 장점이 있다.
또한, 본 발명에 따르면, 저장 매체에 할당된 중앙처리장치의 처리 시간이 감소되기 때문에 다른 주변 장치의 처리 성능을 향상시킬 수 있는 장점이 있다.

Claims (13)

  1. USB 인터페이스, 중앙처리장치 및 저장 매체를 포함하는 휴대용 기기에서 상기 저장 매체의 데이터 대역폭을 향상하기 위해 상기 휴대용 기기에 포함된 바이패스 컨트롤러가 수행하는 방법으로서,
    상기 중앙처리장치로부터 데이터 읽기/쓰기 준비 신호를 수신하는 단계(a)-상기 준비 신호는 상기 USB 인터페이스에 연결되는 USB 호스트가 상기 휴대용 기기의 용도를 확인하는 USB 초기화를 완료하는 경우에 발생함-;
    상기 저장 매체를 초기화하는 단계(b);
    상기 USB 호스트로부터 전송되는 프로토콜 데이터를 분석하는 단계(c); 및
    상기 분석된 프로토콜에 상응하여 상기 저장 매체에 대해 데이터 읽기 및 쓰기 과정 중 적어도 하나를 수행하는 단계(d)를 포함하는 저장 매체의 데이터 대역폭 향상 방법.
  2. 제1항에 있어서,
    상기 (c) 단계는,
    상기 USB 호스트로부터 쓰기(OUT) 프로토콜 데이터를 수신하는 단계; 및
    상기 쓰기 프로토콜 데이터에서 저장 매체에 저장될 데이터의 크기 및 저장 장소 정보 중 적어도 하나를 추출하는 단계를 포함하는 저장 매체의 대역폭 향상 방법.
  3. 제2항에 있어서,
    상기 USB 인터페이스는 쓰기 선입선출 버퍼(USB WR_FIFO)를 포함하며,
    상기 (d) 단계는,
    상기 쓰기 선입선출 버퍼를 체크하여 쓰기 데이터가 존재하는지 판단하는 단계; 및
    쓰기 데이터가 존재하는 경우, 상기 쓰기 데이터를 상기 쓰기 선입선출 버퍼로부터 저장 매체로 옮기는 단계를 포함하는 저장 매체의 대역폭 향상 방법.
  4. 제1항에 있어서,
    상기 (c) 단계는,
    상기 USB 호스트로부터 읽기(IN) 프로토콜 데이터를 수신하는 단계; 및
    상기 읽기 프로토콜 데이터에서 저장 매체에서 읽어야 할 데이터의 크기 정보 및 읽을 데이터가 저장된 저장 매체의 장소 정보 중 적어도 하나를 추출하는 단계를 포함하는 저장 매체의 대역폭 향상 방법.
  5. 제4항에 있어서,
    상기 USB 인터페이스는 읽기 선입선출 버퍼(USB RD_FIFO)를 포함하며,
    상기 (d) 단계는,
    상기 읽기 선입선출 버퍼의 상태를 체크하여 상기 읽기 선입선출 버퍼가 비어있는지 판단하는 단계;
    상기 읽기 선입선출 버퍼가 비어있는 경우, 상기 저장 매체에서 데이터를 읽는 단계; 및
    상기 저장 매체로부터 읽은 데이터를 상기 읽기 선입선출 버퍼에 쓰는 단계를 포함하는 저장 매체의 대역폭 향상 방법.
  6. 제1항에 있어서,
    상기 USB 호스트로부터 상태(STATUS) 프로토콜 데이터를 수신하는 단계; 및
    상기 프로토콜을 분석하여 저장 매체의 관련 상태 정보를 상기 USB 호스트로 전송하는 단계를 더 포함하는 저장 매체의 데이터 대역폭 향상 방법.
  7. 휴대용 기기에 있어서,
    외부 USB 호스트와 연결되는 USB 인터페이스;
    상기 USB 인터페이스에 연결되는 USB 호스트가 상기 휴대용 기기의 용도를 확인하는 USB 초기화를 완료하는 경우, 데이터 읽기/쓰기 신호를 출력하는 중앙처리장치;
    데이터의 읽기/쓰기가 가능한 저장 매체; 및
    상기 데이터 읽기/쓰기 준비 신호를 수신한 후 상기 USB 호스트로부터 상기 USB 인터페이스를 통해 전송되는 프로토콜 데이터를 분석하며, 상기 분석된 프로토콜에 상응하여 상기 저장 매체에 대해 데이터 읽기 및 쓰기 과정 중 적어도 하나를 수행하는 바이패스 컨트롤러를 포함하는 휴대용 기기.
  8. 제7항에 있어서,
    상기 바이패스 컨트롤러는,
    상기 USB 호스트로부터 전송되는 프로토콜 데이터를 분석하는 프로토콜 분석부; 및
    상기 저장 매체의 초기화 과정을 수행하며, 상기 프로토콜 분석부에서 분석된 정보에 따라 상기 데이터 읽기/쓰기 과정을 수행하는 제어부를 포함하는 휴대용 기기.
  9. 제8항에 있어서,
    상기 프로토콜 분석부는 쓰기 프로토콜 디코더, 읽기 프로토콜 디코더 및 상 태 프로토콜 디코더 중 적어도 하나를 포함하는 휴대용 기기.
  10. 제9항에 있어서,
    상기 USB 호스트로부터 쓰기(OUT) 프로토콜 데이터를 수신하는 경우, 상기 쓰기 프로토콜 디코더는 상기 쓰기 프로토콜 데이터로부터 상기 저장 매체에 저장될 데이터의 크기 및 저장 장소 정보 중 적어도 하나를 추출하는 휴대용 기기.
  11. 제10항에 있어서,
    상기 USB 인터페이스는 쓰기 선입선출 버퍼를 포함하며,
    상기 제어부는 상기 쓰기 선입선출 버퍼를 체크하여 쓰기 데이터가 존재하는지 판단하고, 쓰기 데이터가 존재하는 경우, 상기 쓰기 데이터를 상기 쓰기 선입선출 버퍼로부터 저장 매체로 옮기는 휴대용 기기.
  12. 제9항에 있어서,
    상기 USB 호스트로부터 읽기(IN) 프로토콜 데이터를 수신하는 경우, 상기 읽기 프로토콜 디코더는 상기 읽기 프로토콜 데이터에서 저장 매체에서 읽어야 할 데이터의 크기 정보 및 읽을 데이터가 저장된 저장 매체의 장소 정보 중 적어도 하나 를 추출하는 휴대용 기기.
  13. 제12항에 있어서,
    상기 USB 인터페이스는 읽기 선입선출 버퍼(USB RD_FIFO)를 포함하며,
    상기 제어부는 상기 읽기 선입선출 버퍼의 상태를 체크하여 상기 읽기 선입선출 버퍼가 비어있는지 판단하며, 상기 읽기 선입선출 버퍼가 비어있는 경우, 상기 저장 매체에서 데이터를 읽고, 상기 저장 매체로부터 읽은 데이터를 상기 읽기 선입선출 버퍼에 쓰는 휴대용 기기.
KR1020050076432A 2005-08-19 2005-08-19 저장 매체의 데이터 대역폭 향상 방법 및 이를 위한 장치 KR100633120B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050076432A KR100633120B1 (ko) 2005-08-19 2005-08-19 저장 매체의 데이터 대역폭 향상 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050076432A KR100633120B1 (ko) 2005-08-19 2005-08-19 저장 매체의 데이터 대역폭 향상 방법 및 이를 위한 장치

Publications (1)

Publication Number Publication Date
KR100633120B1 true KR100633120B1 (ko) 2006-10-11

Family

ID=37635571

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050076432A KR100633120B1 (ko) 2005-08-19 2005-08-19 저장 매체의 데이터 대역폭 향상 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR100633120B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150068701A (ko) * 2013-12-12 2015-06-22 한국전자통신연구원 호스트로부터 유에스비 장치의 전원을 온 또는 오프시키기 위한 전원 제어 장치 및 이의 작동 방법
EP3352419A1 (en) * 2017-01-18 2018-07-25 Synology Incorporated Router and method for traffic management

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Universal Serial Bus Revision 2.0 specification
USB Protocol Specification

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150068701A (ko) * 2013-12-12 2015-06-22 한국전자통신연구원 호스트로부터 유에스비 장치의 전원을 온 또는 오프시키기 위한 전원 제어 장치 및 이의 작동 방법
KR102153384B1 (ko) * 2013-12-12 2020-09-08 한국전자통신연구원 호스트로부터 유에스비 장치의 전원을 온 또는 오프시키기 위한 전원 제어 장치 및 이의 작동 방법
EP3352419A1 (en) * 2017-01-18 2018-07-25 Synology Incorporated Router and method for traffic management
US10819632B2 (en) 2017-01-18 2020-10-27 Synology Inc. Routers and methods for traffic management
US11706137B2 (en) 2017-01-18 2023-07-18 Synology Inc. Routers and methods for traffic management

Similar Documents

Publication Publication Date Title
KR100708128B1 (ko) 낸드 플래시 메모리 제어 장치 및 방법
JP4799417B2 (ja) ホストコントローラ
US5812814A (en) Alternative flash EEPROM semiconductor memory system
KR100876627B1 (ko) 인터페이스 회로, 이 인터페이스 회로를 이용한 시스템장치 및 데이터 인터페이스 방법
US20060218324A1 (en) Systems and methods for flexible data transfers in SDIO and/or MMC
US7028109B2 (en) Data transfer control device including buffer controller with plurality of pipe regions allocated to plurality of endpoints
US7069350B2 (en) Data transfer control system, electronic instrument, and data transfer control method
JPWO2004077306A1 (ja) Sdioコントローラ
KR20140035776A (ko) 임베디드 멀티미디어 카드, 이를 제어하는 호스트, 및 이들의 동작 방법
US8266371B2 (en) Non-volatile storage device, host device, non-volatile storage system, data recording method, and program
KR101654807B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
CN111782154B (zh) 数据搬移方法、装置及系统
US7102671B1 (en) Enhanced compact flash memory card
KR100630071B1 (ko) 다중 프로세서 환경에서의 dma를 이용한 고속 데이터전송 방법 및 그 장치
US8468273B2 (en) Information storage apparatus, information transfer method, information transfer system, program, and storage medium
CN111124985A (zh) 一种移动终端只读控制方法及装置
US7469304B2 (en) Data transfer control device, electronic equipment, and method for a data transfer through a bus, the data transfer control device including a register and a packet buffer that are commonly used during a host operation and a peripheral operation
US7409486B2 (en) Storage system, and storage control method
KR100633120B1 (ko) 저장 매체의 데이터 대역폭 향상 방법 및 이를 위한 장치
CN114691023A (zh) 读写设备的读写操作方法、读写设备及可读存储介质
US20050005039A1 (en) Data transfer control device, electronic instrument, and data transfer control method
US20060277326A1 (en) Data transfer system and method
US20100106869A1 (en) USB Storage Device and Interface Circuit Thereof
JP4576082B2 (ja) メモリカードコントローラ及びメモリカードコントロール方法
JP4793798B2 (ja) マイクロコンピュータ

Legal Events

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

Payment date: 20120710

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130826

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140827

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150728

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170829

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180823

Year of fee payment: 13