[go: up one dir, main page]

KR101521493B1 - 통신 속도를 조절할 수 있는 컨트롤러, 상기 컨트롤러를포함하는 데이터 저장 장치, 및 상기 데이터 저장 장치를포함하는 데이터 통신 시스템 - Google Patents

통신 속도를 조절할 수 있는 컨트롤러, 상기 컨트롤러를포함하는 데이터 저장 장치, 및 상기 데이터 저장 장치를포함하는 데이터 통신 시스템 Download PDF

Info

Publication number
KR101521493B1
KR101521493B1 KR1020080068992A KR20080068992A KR101521493B1 KR 101521493 B1 KR101521493 B1 KR 101521493B1 KR 1020080068992 A KR1020080068992 A KR 1020080068992A KR 20080068992 A KR20080068992 A KR 20080068992A KR 101521493 B1 KR101521493 B1 KR 101521493B1
Authority
KR
South Korea
Prior art keywords
data communication
data
controller
memory
speed
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020080068992A
Other languages
English (en)
Other versions
KR20100008485A (ko
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 KR1020080068992A priority Critical patent/KR101521493B1/ko
Priority to US12/486,925 priority patent/US20100017564A1/en
Publication of KR20100008485A publication Critical patent/KR20100008485A/ko
Priority to US13/850,844 priority patent/US9372625B2/en
Application granted granted Critical
Publication of KR101521493B1 publication Critical patent/KR101521493B1/ko
Priority to US15/187,642 priority patent/US10254975B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/0625Power saving in storage systems
    • 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/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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
    • 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/0674Disk device
    • G06F3/0676Magnetic disk device
    • 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/068Hybrid storage device
    • 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/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

통신 속도를 조절할 수 있는 컨트롤러는 전송 속도 제어 프로그램을 저장하는 메모리와 상기 메모리에 저장된 전송 속도 제어 프로그램을 실행하기 위한 프로세서를 포함한다. 상기 프로세서는 호스트로부터 제1통신 속도로 전송된 호스트 신호를 수신하고, 수신된 호스트 신호를 분석하고, 분석 결과에 기초하여 전기적으로 데이터를 저장하는 제1데이터 저장 장치 또는 자기적으로 데이터를 저장하는 제2데이터 저장 장치와 상기 제1통신 속도와 다른 제2통신 속도로 통신할 수 있다. 따라서 상기 컨트롤러는 통신 속도를 가변적으로 조절하여 통신 효율을 높일 수 있으며 전력 소비를 감소시킬 수 있는 효과가 있다.
Hard Disk Drive (HDD), Solid State Drive (SSD), SATA interface

Description

통신 속도를 조절할 수 있는 컨트롤러, 상기 컨트롤러를 포함하는 데이터 저장 장치, 및 상기 데이터 저장 장치를 포함하는 데이터 통신 시스템{Controller for controlling communicating speed, data storage device having the controller, and data communication system having the same}
본 발명의 실시 예는 데이터 통신 기술에 관한 것으로, 보다 상세하게는 통신 속도를 적응적으로 조절할 수 있는 컨트롤러, 상기 컨트롤러를 포함하는 데이터 저장 장치, 및 상기 데이터 저장 장치를 포함하는 데이터 통신 시스템에 관한 것이다.
현재까지의 대용량 기억장치(mass storage)의 시장은, 높은 가격 경쟁력과 큰 저장 용량을 지닌 마그네틱 스토리지 장치(Magnetic Storage Device)인 하드 디스크 드라이브(Hard Disk Drive; HDD)가 주를 이루고 있다.
HDD는 디스크 형태의 자기 기록 매체를 회전시키면서 그 위에 읽기/쓰기 헤드를 부상시켜 정보를 읽고 쓰는 장치로서, 단위 저장 용량당 제조 단가가 저렴한 장점이 있다. 그러나 HDD는 내부에 구현되는 다수의 기계 시스템에 의해 진동, 열 특정 모드의 외란에 대한 신뢰성 저하 및 제조의 복잡성과 비용의 증가, 그리고 소 음 유발같은 문제점을 갖는다. 또한, HDD는 디스크를 고속으로 회전시키고 헤드를 움직여야 하기 때문에 데이터 판독에 많은 시간이 걸리며, 성능을 높이기 위해 더 높은 디스크 회전수와 소비 전력을 필요로 한다.
따라서, 빠른 송수신 속도와 낮은 전력 소비를 달성할 수 있는 데이터 송수신 기술이 요구되고 있다.
본 발명이 해결하고자 하는 과제는 컴퓨터와 저장장치와 같이 서로 다른 장치들 사이의 통신 속도를 가변적으로 조절함으로써, 우수한 통신 효율과 낮은 전력 소비를 동시에 달성할 수 있는 반도체 장치와 이를 포함하는 데이터 저장 장치를 제공하는 것이다.
또한, 본 발명이 해결하고자 하는 과제는 데이터를 송/수신하는 데이터 통신 시스템에 있어서, 서로 다른 전송 방식을 사용하는 직렬 통신을 수행하는 장치들 사이에서 통신 효율을 높일 수 있는 데이터 저장 장치를 제공하는 것이다.
본 발명의 실시 예에 따른 메인 컨트롤러는 전송 속도 제어 프로그램을 저장하는 메모리와 상기 메모리에 저장된 전송 속도 제어 프로그램을 실행하는 프로세서를 포함한다.
상기 프로세서는 호스트로부터 제1통신 속도로 전송된 호스트 신호를 수신하고, 수신된 호스트 신호를 분석하고, 분석 결과에 기초하여 전기적으로 데이터를 저장하는 제1데이터 저장 장치 또는 자기적으로 데이터를 저장하는 제2데이터 저장 장치와 제2통신 속도로 통신한다.
상기 호스트 신호는 데이터에 대한 정보, 상기 데이터의 액세스 횟수, 또는 상기 데이터에 대한 명령 횟수 중에서 적어도 어느 하나이다.
본 발명의 실시 예에 따른 데이터 저장 장치는 전기적으로 데이터를 저장하는 제1데이터 저장 장치의 동작을 제어하기 위한 제1컨트롤러와, 자기적으로 데이터를 저장하는 제2데이터 저장 장치의 동작을 제어하기 위한 제2컨트롤러와, 호스트와 제1통신 속도로 통신하고, 상기 제1컨트롤러와 상기 제2컨트롤러 중에서 적어도 어느 하나와 제2통신 속도로 통신하는 메인 컨트롤러를 포함한다.
상기 메인 컨트롤러는 상기 호스트로부터 상기 제1통신 속도로 전송된 제1호스트 신호를 수신하고, 수신된 제1호스트 신호를 분석하고, 분석 결과에 기초하여 상기 제2통신 속도로 상기 제1컨트롤러와 상기 제2컨트롤러 중에서 적어도 하나와 통신한다.
상기 메인 컨트롤러가 상기 제2통신 속도로 상기 제1컨트롤러와 상기 제2컨트롤러 중에서 적어도 어느 하나와 통신하는 동안, 상기 메인 컨트롤러는 상기 호스트로부터 상기 제1통신 속도로 전송된 제2호스트 신호를 수신하고, 수신된 제2호스트 신호를 분석하고, 분석 결과에 기초하여 상기 제2통신 속도를 재설정, 예컨대 유지시키거나, 증가시키거나, 또는 감소시킨다.
상기 메인 컨트롤러는 SATA 인터페이스 규격에 따라 상기 호스트와 직렬 통신을 수행한다.
본 발명의 실시 예에 따른 데이터 통신 시스템은 호스트와 상기 호스트와 제1통신 속도로 통신하는 데이터 저장 장치를 포함한다.
상기 데이터 저장 장치는 전기적으로 데이터를 저장하는 제1데이터 저장 장치와, 상기 제1데이터 저장 장치의 동작을 제어하기 위한 제1컨트롤러와, 자기적으로 데이터를 저장하는 제2데이터 저장 장치와, 상기 제2데이터 저장 장치의 동작을 제어하기 위한 제2컨트롤러와, 상기 호스트로부터 상기 제1통신 속도로 전송된 호스트 신호를 수신하고, 수신된 호스트 신호를 분석하고, 분석 결과에 기초하여 상기 제1통신 속도와 다른 제2통신 속도로 상기 제1컨트롤러와 상기 제2컨트롤러 중에서 적어도 하나와 통신한다.
상기 데이터 통신 시스템은 CE(consumer equipment)이다.
본 발명의 실시 예에 따른 데이터 통신 시스템은 시스템 환경에 따라 적합하게 송수신 속도를 가변적으로 조절할 수 있으므로 상기 데이터 통신 시스템 내에 구현된 서로 다른 장치들 사이의 통신 효율을 증가시킬 수 있을 뿐만 아니라 전력 소모를 줄일 수 있는 효과가 있다.
또한, 본 발명의 실시 예에 따른 데이터 통신 시스템은 서로 다른 전송 방식으로 직렬 통신을 수행하는 장치들 사이에서 별도의 장치 없이 통신 호환성을 제공할 수 있는 효과가 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 실시 예에 따른 데이터 저장 장치(30)를 포함하는 데이터 통신 시스템(10)의 개략적인 블럭도를 나타낸다.
데이터 통신 시스템(10)은 컴퓨터 시스템, 단말 장치 시스템, 입출력 장치 시스템 등일 수 있다. 또한, 데이터 통신 시스템(10)은 본 발명의 실시 예에 따른 데이터 저장 장치(30)를 포함하는 임의의 CE(consumer equipment)을 모두 포함하고, 예컨대 CE는 하드 디스크 레코더(HDD recorder), 휴대 전화(cellular phone)와 PDA 등의 개인 단말기(terminal), 컴퓨터(PC, 랩탑 PC, 노트북 등), 네비게이터 장치 (navigator device), 가정 자동화 시스템(home automation system), 음악 재생기 (mp3플레이어 등), 캠코더(camcorder), 영상 재생기(DVIX 플레이어 등), 스토리지 서버(storage server), 또는 PMP(portable multimedia player) 등을 예시할 수 있다. 또한, 본 명세서에서는 설명의 편의를 위하여 데이터 통신 시스템(10)의 일 예로서 컴퓨터 시스템을 일 예로 설명한다.
도 1 내지 도 2를 참조하면, 컴퓨터 시스템과 같은 데이터 통신 시스템 (10)은 호스트(20)와 데이터 저장 장치(30)를 포함한다. 본 발명의 실시 예에서, 호스트(20)는 컴퓨터의 CPU, I/O 컨트롤러와 같이 하드디스크 드라이브를 포함하는 컴 퓨터 시스템 전체를 전반적으로 제어 및 작동시키는 요소들을 총칭하는 의미이다.
또한, 본 발명의 실시 예에 따른 데이터 통신 시스템(10)은 호스트(20)와 데이터 저장 장치(30) 간에 Serial ATA(SATA) 인터페이스 규격을 이용하여 직렬 통신을 수행한다. 그러나, 본 발명의 기술적 사상이 SATA 인터페이스 규격을 이용하는 통신에 한정되는 것은 아니다.
일반적으로, SATA 인터페이스의 전송 방식은 SATA Gen1, SATA Gen2 등으로 분류되고, SATA Gen1은 1.5[Gbps], SATA Gen2는 3.0[Gbps]의 송수신 속도로 호스트(20)와 데이터 저장 장치(30) 간에 통신을 수행한다.
SATA Gen1은 전력 소모율은 낮으나 호스트(20)와 메인 컨트롤러(40)간에 송수신 속도가 느리기 때문에 시스템의 성능면에서 문제를 야기할 수 있다. 또한, SATA Gen2 전송 방식은 호스트(20)와 메인 컨트롤러(40) 간에 송수신 속도는 빠르나, 빠른 전송 속도로 인해 송/수신되는 신호의 라이징(Rising)/폴링(Falling) 주기가 짧아져 SATA Gen1 전송 방식에 비하여 전력 소모율이 크다는 문제점을 갖는다.
데이터 저장 장치(30)은 제1데이터 저장 장치(55), 제2데이터 저장 장치(65), 제1데이터 저장 장치(55)의 동작을 제어하기 위한 제1컨트롤러(57), 제2데이터 저장 장치(65)의 동작을 제어하기 위한 제2컨트롤러(67), 시스템 버스(50), 및 시스템 버스(50)를 통하여 전송되는 데이터와 다수의 제어 신호들의 전송 또는 전송 속도를 제어하기 위한 메인 컨트롤러(또는 컨트롤러, 40)를 포함한다. 실시 예에 따라, 제1데이터 저장 장치(55)와 제1컨트롤러(57)는 하나의 칩으로 구현될 수 있다.
또한, 실시 예에 따라, 제1데이터 저장 장치(55), 제2데이터 저장 장치(65), 제1컨트롤러(57), 및 제2컨트롤러(67)는 하나의 장치, 예컨대 하이브리드 하드 디스크 드라이브로 구현될 수 있다.
또한, 메인 컨트롤러(40)는 상기 하이브리드 하드 디스크 드라이브의 저장 컨트롤러(storage controller) 또는 브리지 칩(bridge chip)으로 사용될 수 있다.
제1데이터 저장 장치(55)는 전기적 또는 전자적으로 데이터를 저장할 수 있고 고속으로 독출 동작 또는 고속의 기입 동작이 가능한 불휘발성 메모리 장치, 예컨대, PROM(programmable read only memory), EPROM(erasable programmable read only memory), EEPROM(electrically erasable programmable read only memory), 플래시 메모리(flash memory), FRAM(ferroelectrics random access memory), MRAM(magnetic random access memory), PRAM(phase change random access memory), NRAM(nano random access momory), SONOS(silicon-oxide-nitride-oxide-silicon), 또는 레이스 트랙 메모리(racetrack memory)로 구현될 수 있다. 또한, 제1데이터 저장 장치(55)는 솔리드 스테이트 드라이브(Solid State Drive; SSD)와 같은 불휘발성 메모리 장치로 구현되며, 제1 데이터 저장 장치(53)에는 사용 빈도가 높은 OS와 같은 프로그램이 저장될 수 있다.
제2데이터 저장 장치(65)는 자기적으로 데이터를 저장할 수 있고 용량 대비 생산 단가가 저렴한 하드 디스크 드라이브(Hard Disk Drive)와 같은 마그네틱 스토리지 장치로 구현되며, 제2데이터 저장 장치(65)에는 텍스트 파일, 동영상 파일, 그림 파일과 같은 데이터가 저장될 수 있다.
메인 컨트롤러(40)는 제1컨트롤러(57), 제2컨트롤러(67), 및 호스트(20)와 통신할 수 있고, 전송 속도 제어 프로그램을 저장하는 메모리(45)와 메모리(45)에 저장된 전송 속도 제어 프로그램을 실행하는 프로세서(43)를 포함한다.
즉, 메인 컨트롤러(40)는 제1데이터 저장 장치(55), 제2데이터 저장 장치 (65), 및 호스트(20) 사이에서 데이터와 제어 정보 등의 송수신을 제어할 수 있는 인터페이스 제어부로써, 제1데이터 저장 장치(55), 제2데이터 저장 장치(65), 제1컨트롤러(57), 및 제2컨트롤러(67)중에서 적어도 어느 하나의 동작을 제어한다.
또한, 메모리(45) 내에 저장된 전송 속도 제어 프로그램은 프로세서(43)가 호스트(20)로부터 제1통신 속도로 전송된 호스트 신호를 수신하는 경우 실행될 수 있다. 프로세서(43)는 호스트(20)로부터 출력된 호스트 신호에 응답하여 메모리(45)에 저장된 전송 속도 제어 프로그램을 실행하여 수신된 호스트 신호를 분석하고, 분석결과에 따라 제1데이터 저장 장치(55)와 제2데이터 저장 장치(65) 중에서 적어도 어느 하나와 통신하기 위한 제2통신 속도를 설정하기 위한 알고리즘을 실행한다.
도 2은 본 발명의 일 실시 예에 따른 메인 컨트롤러를 포함하는 데이터 통신 시스템에서 통신 속도를 가변하는 과정을 설명하기 위한 흐름도를 나타낸다.
호스트(20)가 SATA Gen1의 전송 방식을 사용하여 메인 컨트롤러(40)와 통신하는 경우, 메인 컨트롤러(40)는 호스트(20)로부터 제1통신 속도 예컨대, 1.5[Gbps]로 전송되는 호스트 신호를 수신한다(S100).
상기 호스트 신호는 호스트(20)로부터 독출(read) 명령 또는 기입(write) 명령과 같은 액세스 동작 수행시 출력되며, 상기 호스트 신호는 호스트(20)가 액세스 동작을 수행할 데이터에 대한 정보일 수 있다.
메인 컨트롤러(40)는 호스트 신호에 응답하여 메모리(45) 내에 저장된 전송 속도 제어 프로그램을 실행하여 수신된 호스트 신호를 분석하고, 분석 결과에 따라 다수의 전송 속도들 중에서 어느 하나를 제2통신 속도로 설정한다.
예컨대, 상기 다수의 전송 속도들 각각은 SATA 인터페이스 규격에 기초하여 1.5*(2n-1)[Gbps](여기서, n은 자연수)로 설정될 수 있다.
메인 컨트롤러(40)는 수신된 호스트 신호의 분석 결과, 호스트 신호가 사용 빈도가 높은 데이터 예컨대, OS를 저장하고 있는 제1데이터 저장 장치(55)를 액세스 하기 위한 신호라고 판단하는 경우에는 다수의 전송 속도들 중에서 제1전송 속도 예컨대, 3.0[Gbps]을 제2통신 속도로 설정한다.
예컨대, 상기 제1전송 속도는 상기 다수의 전송 속도들 중에서 가장 높은 전송 속도일 수 있다.
또한, 메인 컨트롤러(40)는 수신된 호스트 신호의 분석 결과, 호스트 신호가 제1데이터 저장 장치(55)에 비하여 사용 빈도가 낮은 데이터를 저장하고 있는 제2데이터 저장 장치(65)를 액세스하기 위한 신호라고 판단하는 경우에는 상기 다수의 전송 속도들 중에서 상기 제1전송 속도보다 낮은 제2전송 속도, 예컨대 1.5[Gbps]를 제2통신 속도로 설정한다.
이와 같이, 메인 컨트롤러(40)는 호스트 신호를 수신하고, 수신된 호스트 신호를 분석하고, 분석 결과에 따라 메인 컨트롤러(40) 내에 미리 설정된 다수의 전송 속도들 중에서 어느 하나를 제2통신 속도로 설정함으로써 메인 컨트롤러 (40)와 제1컨트롤러(55), 또는 메인 컨트롤러(40)와 제2컨트롤러(65)간에 적합한 송수신 속도 즉, 제2통신 속도를 설정할 수 있다.
메인 컨트롤러(40)는 제2통신 속도로 제1데이터 저장 장치(55)의 동작, 예컨대 기입 동작(write operation), 독출 동작(write operation), 프로그램 동작(program operation), 또는 소거 동작(erase operation)을 제어하기 위한 제1컨트롤러(57)와 제2데이터 저장 장치(65)의 동작, 예컨대 기입 동작 또는 읽기 동작을 제어하기 위한 제2컨트롤러(67) 중에서 적어도 어느 하나와 통신을 수행할 수 있다. 이 경우, 메인 컨트롤러(40)와 호스트(20) 사이의 통신 속도와 메인 컨트롤러(40)와 컨트롤러(57 또는 67) 사이의 통신 속도는 서로 다를 수 있다.
즉, 메인 컨트롤러(40)는 호스트 신호와 제2통신 속도에 기초하여 액세스 동작 예컨대, 독출(read) 명령 또는 기입(write) 명령을 수행하고, 데이터 통신 시스템(10)의 기입 동작 또는 독출 동작을 제어한다.
예컨대, 메인 컨트롤러(40)는 3.0[Gbps]로 시스템 버스(50)를 통해 제1컨트롤러(57)와 통신을 수행함으로써 제1데이터 저장 장치(55)를 액세스할 수 있다.
또한, 메인 컨트롤러(40)는 1.5[Gbps]로 시스템 버스(50)를 통해 제2컨트롤러(67)와 통신을 수행함으로써 제2데이터 저장 장치(65)를 액세스할 수 있다.
본 발명의 실시 예에서는 설명의 편의를 위하여 호스트(20)가 SATA Gen1과 서로 다른 SATA 인터페이스 규격 예컨대, SATA Gen2, 또는 SATA Gen3을 사용하여 메인 컨트롤러(40)와 통신을 수행하는 경우만을 설명하였다.
그러나, 호스트(20)가 SATA Gen1과 서로 다른 SATA 인터페이스 규격 예컨대, SATA Gen2, 또는 SATA Gen3을 사용하여 메인 컨트롤러(40)와 통신을 수행하는 경우에도, 메인 컨트롤러(40)는 호스트(20)가 SATA Gen1의 전송 방식을 사용하는 것과 마찬가지로 S100 내지 S120과 동일한 일련의 과정을 수행한다.
이 경우, 호스트(20)가 SATA Gen2 전송 방식으로 메인 컨트롤러(40)와 통신을 수행하는 경우에, 호스트(20)는 제1통신속도 예컨대, 3.0[Gbps]로 전송되는 호스트 신호를 메인 컨트롤러(40)로 출력한다. 또한, 호스트(20)가 SATA Gen3 전송 방식으로 메인 컨트롤러(20)와 통신을 수행하는 경우에, 호스트(20)는 제1통신 속도 예컨대, 6.0[Gbps]로 전송되는 호스트 신호를 메인 컨트롤러(40)로 출력한다.
상술한 바와 같이, 본 발명의 실시 예에 따른 메인 컨트롤러(40)는 호스트 (20)와 고정된 제1통신 속도를 사용하여 통신 동작을 수행하고, 다른 칩 예컨대, 서로 다른 전송 방식을 사용하는 데이터 저장 장치들(55와 65)과는 시스템 환경에 따라 가변적으로 조절되는 제2통신 속도를 사용하여 통신 동작을 수행할 수 있다.
도 3은 본 발명의 다른 실시 예에 따른 메인 컨트롤러를 포함하는 데이터 통신 시스템에서 통신 속도를 가변하는 과정을 설명하기 위한 흐름도를 나타낸다.
호스트(20)가 SATA Gen1의 전송 방식을 사용하여 메인 컨트롤러(40)와 통신하는 경우, 메인 컨트롤러(40)는 호스트(20)로부터 제1통신 속도 예컨대, 1.5[Gbps]로 전송되는 제1호스트 신호를 수신한다(S130).
제1호스트 신호는 호스트(20)가 독출(read) 명령 또는 기입(write) 명령과 같은 액세스 동작 수행시 출력된다. 이때, 제1호스트 신호는 호스트(20)가 액세스 동작을 수행할 데이터에 대한 정보 예컨대, 데이터의 주소, 독출 명령 또는 기입 명령과 같은 동작 명령일 수 있다.
메인 컨트롤러(40)는 수신된 제1호스트 신호에 응답하여 메모리(45) 내에 저장된 전송 속도 제어 프로그램을 실행하고, 상기 전송 속도 제어 프로그램의 알고리즘에 따라 제1호스트 신호를 분석한다.
메인 컨트롤러(40)는 제1호스트 신호의 분석 결과에 기초하여 메인 컨트롤러 (40)와 제1컨트롤러(57) 사이의 통신 속도, 또는 메인 컨트롤러(40)와 제2컨트롤러(67) 사이의 통신 속도를 다수의 전송 속도들 중에서 어느 하나를 제1통신 속도와 다른 제2통신 속도로 설정할 수 있다(S140).
예컨대, 분석 결과, 상기 제1호스트 신호가 제1데이터 저장 장치(55)를 액세스하기 위한 신호인 경우, 메인 컨트롤러(40)는 다수의 전송 속도들 중에서 제1전송 속도 예컨대, 3.0[Gbps]를 제2통신 속도로 설정할 수 있다.
또한, 분석 결과, 상기 제1호스트 신호가 제2데이터 저장 장치(65)를 액세스하기 위한 신호인 경우, 메인 컨트롤러(40)는 다수의 전송 속도들 중에서 상기 제1전송 속도보다 느린 제2전송 속도, 예컨대, 제1통신 속도인 1.5[Gbps]를 제2통신 속도로 설정한다.
이와 같이, 메인 컨트롤러(40)는 제1호스트 신호를 수신하고, 수신된 제1호스트 신호를 분석하고, 분석 결과에 따라 메인 컨트롤러(40) 내에 미리 설정된 다 수의 전송 속도들 중에서 어느 하나를 제2통신 속도를 설정함으로써 시스템 버스(50)의 송수신 속도를 조절할 수 있다.
메인 컨트롤러(40)는, 제1호스트 신호 예컨대, 기입 명령 또는 독출 명령에 기초하여, 설정된 제2통신 속도로 제1데이터 저장 장치(55)의 동작을 제어하기 위한 제1컨트롤러(57), 또는 제2데이터 저장 장치(65)의 동작을 제어하기 위한 제2컨트롤러(67) 중에서 적어도 어느 하나와 데이터를 주고 받는다(150).
예컨대, 메인 컨트롤러(40)는 제2통신 속도로 제1데이터 저장 장치(55)에 저장된 데이터를 독출하고, 독출된 데이터를 시스템 버스(50)로 출력하도록 제1컨트롤러(57)를 제어할 수 있다.
또한, 메인 컨트롤러(40)는 제1컨트롤러(57) 또는 제2컨트롤러(67)와 제2통신 속도로 통신을 수행하고 호스트(20)로부터 제1통신 속도로 전송된 제2 호스트 신호를 수신한다.
이때, 제2호스트 신호는 호스트(20)가 액세스 동작을 수행할 데이터에 대한 정보, 상기 데이터의 액세스 횟수, 또는 상기 데이터에 대한 명령 횟수 중에서 적어도 어느 하나의 정보를 포함할 수 있다.
메인 컨트롤러(40)는 메모리(45) 내에 저장된 전송 속도 제어 프로그램을 실행하여 제2호스트 신호를 분석하고, 분석 결과에 따라 메인 컨트롤러(40)와 제1컨트롤러(57) 또는 메인 컨트롤러(40)와 제2컨트롤러(67)가 이전에 설정된 제2통신 속도로 통신하는 것이 적합한지 판별한다(S170).
메인 컨트롤러(40)와 제1컨트롤러(57), 또는 메인 컨트롤러(40)와 제2컨트롤 러(67)가 이전에 설정된 제2통신 속도로 통신하는 것이 적합하다고 판별하는 경우, 메인 컨트롤러(40)는 메인 컨트롤러(40)와 제1컨트롤러(57), 또는 메인 컨트롤러(40)와 제2컨트롤러(67) 사이의 통신 속도를 제2통신 속도로 유지한다(S180).
따라서, 메인 컨트롤러(40)는 제2통신 속도로 제1컨트롤러(57)와 제2컨트롤러(67) 중에서 적어도 어느 하나와 통신을 수행한다(S190).
그러나, 메인 컨트롤러(40)가 제1컨트롤러(57) 또는 제2컨트롤러(67)와 이전에 설정된 제2통신 속도로 통신을 수행하는 것이 적합하지 않다고 판단하는 경우, 메인 컨트롤러(40)는 제2호스트 신호와 시스템 버스(50)의 통신 속도를 모니터링한 결과에 기초하여 제2통신 속도를 재설정한다(S210). 즉, 제2통신 속도를 증가시키거나 감소시킬 수 있다.
예컨대, 제2호스트 신호에 응답하여 메인 컨트롤러(40)가 단지 독출 동작 또는 기입 동작을 반복적으로 수행하는 경우에 메인 컨트롤러(40)는 제2통신 속도를 순차적으로 감소시킬 수 있다.
예컨대, 호스트(20)가 동영상 재생 또는 특정 파일의 데이터에 대해 독출 동작 또는 기입 동작을 반복적으로 실행하기 위해 제1데이터 저장 장치(55)를 액세스하는 경우, 메인 컨트롤러(40)는 호스트(20)로부터 출력된 제2호스트 신호의 분석 결과에 따라 이전에 설정된 제2통신 속도, 예컨대, 3.0[Gbps]를 2.5[Gbps], 2.0[Gbps], 및 1.5[Gbps]등과 같이 순차적으로 감소시킬 수 있다.
또한, 호스트(20)가 동영상 재생 또는 특정 파일의 데이터에 대해 독출 동작 또는 기입 동작을 반복적으로 실행하기 위해 제2데이터 저장 장치(65)를 액세스하 는 경우, 메인 컨트롤러(40)는 호스트(20)로부터 출력된 제2호스트 신호의 분석 결과에 따라 이전에 설정된 제2통신 속도, 예컨대, 1.5[Gbps]를 1.0[Gbps]등과 같이 감소시킬 수 있다.
또한, 단위 시간 내에 액세스 동작을 많이 수행하는 경우, 또는 서로 다른 동작 명령 예컨대, 독출 동작과 기입 동작이 번갈아가며 반복적으로 수행되는 경우에, 메인 컨트롤러(40)는 제2호스트 신호의 분석 결과에 따라 이전에 설정된 제2통신 속도, 예컨대, 1.5[Gbps]를 2.0[Gbps], 2.5[Gbps], 및 3.0[Gbps]와 같이 순차적으로 증가시킬 수 있다.
또한, 메인 컨트롤러(40)는 제1호스트 신호에 대해 시스템 버스(50)를 통하여 제1컨트롤러(57)와 제2컨트롤러(67) 중에서 적어도 어느 하나와 제2통신 속도로 통신 동작을 수행하는 것과 동시에 시스템 버스(50)의 상태를 모니터링하고 모니터링 결과에 따른 신호를 더 생성할 수 있다.
예컨대, 모니터링 결과에 따라, 시스템 버스(50)가 유휴 상태(idle mode)인 경우 메인 컨트롤러(40)는 호스트 신호의 분석 결과에 따라 제2통신 속도를 유지하거나 증가시킨다.
반대로, 시스템 버스(50)가 비지 상태(busy mode), 예컨대 CPU(미 도시) 또는 외부 기기(미 도시)의 데이터 전송으로 인해 시스템 버스(50)의 부하(load)가 실린 경우에, 메인 컨트롤러(40)는 호스트 신호의 분석 결과에 따라 제2통신 속도를 유지하거나 감소시킬 수 있다.
이와 같이, 메인 컨트롤러(40)는 제1호스트 신호에 대한 통신 동작을 제2통 신 속도로 수행함과 동시에 수신된 제2호스트 신호를 분석하고 분석 결과에 따라 제2통신 속도를 가변적으로 조절할 수 있다.
메인 컨트롤러(40)는 재설정된 제2통신 속도로 제1컨트롤러(57) 또는 제2컨트롤러(67)와 통신이 가능한지 판단하고 판단 결과에 따라 통신을 수행한다(S220).
예컨대, 재설정된 제2통신 속도로 통신이 불가능하다고 판단하는 경우, 메인 컨트롤러(40)는 소정의 구간 동안 이전에 설정된 제2통신 속도로 통신을 수행한 후, 상기 소정의 구간 동안의 시스템 버스(50)를 모니터링 결과와 호스트(20)로부터 출력된 호스트 신호에 기초하여 이전에 설정된 제2통신 속도를 재설정할 수 있다.
또한, 재설정된 제2통신 속도로 통신이 가능하다고 판단하는 경우, 메인 컨트롤러(40)는 재설정된 제2통신 속도로 제1컨트롤러(57)와 제2컨트롤러(67) 중에서 적어도 어느 하나와 통신을 수행한다(S230).
또한, 호스트(20)가 SATA Gen2의 전송 방식으로 메인 컨트롤러(40)와 인터페이스를 수행하는 경우, 메인 컨트롤러(40)는 제1통신속도 예컨대, 3.0[Gbps]의 전송속도로 호스트(20)로부터 출력되는 호스트 신호를 수신하며, SATA Gen1의 전송 방식과 동일하게 S130 내지 S230의 일련의 과정을 순차적으로 수행한다.
상술한 바와 같이 본 발명의 실시 예에 따른 데이터 통신 시스템(10)은 호스트 신호에 응답하여 초기 설정된 제2통신 속도로 메인 컨트롤러(40)와 제1컨트롤러(57) 또는 메인 컨트롤러(40)와 제2컨트롤러(67) 간에 통신을 수행하고, 시스템 환경 또는 사용자의 필요에 따라 설계된 알고리즘에 따라 제2통신 속도를 주기적으 로 재설정하고, 재설정된 제2통신 속도로 제1컨트롤러(57) 또는 제2컨트롤러(67)와 통신을 수행할 수 있다.
즉, 데이터 통신 시스템(10)은 다수의 데이터 저장 장치들 각각에 대해 초기 설정된 제2통신 속도로 통신을 시작하나, 데이터 통신 시스템 구동 중에는 종래의 데이터 통신 시스템과 달리 일정한 대역 예컨대, 1.0~ 3.0[Gbps]내에서 시스템 환경에 따라 가변적으로 제2통신 속도를 조절하여 통신을 수행할 수 있다.
따라서, 본 발명의 실시 예에 따른 데이터 통신 시스템(10)은 메인 컨트롤러 (40), 제1데이터 저장 장치(55), 및 제2데이터 저장 장치(65)간의 통신 속도를 가변적으로 조절함으로써 우수한 통신 효율과 낮은 전력 소비라는 두 가지 목적을 달성할 수 있는 효과가 있다.
또한, 본 발명의 실시 예에 따른 메인 컨트롤러(40)는 별도의 장치 없이 서로 다른 표준 특성을 갖는 SATA Gen1, Gen2, 및 Gen3에 접속이 가능하므로, 장치들 간의 호환성을 넓힐수 있으며, 비용 절감 및 생산 수량 증가의 효과가 있다.
상술한 바와 같이, 본 발명의 실시 예에 따른 메인 컨트롤러(40)는 호스트(20)로부터 출력된 호스트 신호 또는 시스템 버스(50)의 데이터 전송 속도 중에서 적어도 하나에 기초하여 메인 컨트롤러(40)와 제1데이터 저장 장치(55) 사이의 통신 속도, 또는 메인 컨트롤러(40)와 제2데이터 저장 장치(65) 사이의 통신 속도를 적응적 또는 가변적으로 조절함으로써 메인 컨트롤러(40)를 포함하는 데이터 통신 시스템(10)의 통신 효율을 높일 수 있는 동시에 소비 전력을 감소시킬 수 있는 효과가 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 데이터 저장 장치를 포함하는 데이터 전송 시스템의 개략적인 블럭도를 나타낸다.
도 2은 본 발명의 일 실시 예에 따른 메인 컨트롤러를 포함하는 데이터 통신 시스템에서 통신 속도를 가변하는 과정을 설명하기 위한 흐름도를 나타낸다.
도 3는 본 발명의 다른 실시 예에 따른 메인 컨트롤러를 포함하는 데이터 통신 시스템에서 통신 속도를 가변하는 과정을 설명하기 위한 흐름도를 나타낸다.

Claims (20)

  1. 장치로서,
    호스트(host)로부터 명령들(commands) 및 데이터를 수신하는 인터페이스;
    복수의 통신 프로토콜들에 해당하는 설정치(setting)들을 저장하도록 구성된, 데이터 저장 영역(area); 및
    프로세서
    를 포함하며, 상기 프로세서는,
    상기 인터페이스와 상기 호스트 간의 데이터 통신 속도를 결정하고;
    상기 데이터 통신 속도에 기초하여, 제 1 메모리와 통신하도록 상기 복수의 통신 프로토콜들로부터 제 1 데이터 통신 프로토콜을 또는 상기 제 1 메모리와 통신하도록 상기 복수의 통신 프로토콜들로부터 제 2 데이터 통신 프로토콜을 선택적으로 구현하고;
    상기 데이터 통신 속도가 제 1 속도일 때, 상기 제 1 데이터 통신 프로토콜을 통해 상기 제 1 메모리에 데이터를 저장하고; 그리고
    상기 데이터 통신 속도가 상기 제 1 속도와 상이한 제 2 속도일 때, 상기 제 2 데이터 통신 프로토콜을 통해 상기 제 1 메모리에 데이터를 저장하도록
    구성되는, 장치.
  2. 제 1 항에 있어서,
    상기 호스트로부터의 상기 명령들 중 적어도 하나는 선택할 통신 프로토콜을 표시하는, 장치.
  3. 제 1 항에 있어서,
    상기 제 1 데이터 통신 프로토콜 및 상기 제 2 데이터 통신 프로토콜은 각각, 적어도 하나의 Serial ATA(SATA) 인터페이스 규격을 따르는, 장치.
  4. 제 1 항에 있어서,
    제 2 메모리를 더 포함하며,
    상기 제 1 메모리 및 상기 제 2 메모리 양자 모두는 불휘발성 메모리이며, 그리고
    상기 프로세서는, 상기 데이터 통신 속도에 기초하여, 상기 제 2 메모리와 통신하도록 상기 제 1 데이터 통신 프로토콜을 선택적으로 구현하고 그리고 상기 제 2 메모리와 통신하도록 상기 제 2 데이터 통신 프로토콜을 선택적으로 구현하도록 구성되는, 장치.
  5. 제 1 항에 있어서,
    상기 제 2 속도는 상기 제 1 속도보다 빠른, 장치.
  6. 제 5 항에 있어서,
    상기 제 2 속도는 상기 제 1 속도보다 2배 빠른, 장치.
  7. 장치로서,
    호스트로부터 신호를 수신하고 ―상기 신호는 제 1 데이터 통신 속도에서 데이터 통신 프로토콜과 호환가능함(compatible)―;
    데이터 통신 속도에 기초하여, 선택적으로, 제 1 메모리와 통신하도록 복수의 데이터 통신 프로토콜들로부터 제 1 데이터 통신 프로토콜을 구현하거나 또는 제 2 메모리와 통신하도록 상기 복수의 데이터 통신 프로토콜들로부터 제 2 데이터 통신 프로토콜을 구현하고;
    상기 데이터 통신 속도가 제 1 속도일 때, 상기 제 1 데이터 통신 프로토콜을 통해 상기 제 1 메모리에 데이터를 저장하고;
    상기 데이터 통신 속도가 상기 제 1 속도와 상이한 제 2 속도일 때, 상기 제 2 데이터 통신 프로토콜을 통해 상기 제 2 메모리에 데이터를 저장하도록
    구성된, 컨트롤러
    를 포함하는, 장치.
  8. 제 7 항에 있어서,
    상기 컨트롤러, 제 1 데이터 저장 컨트롤러, 및 제 2 데이터 저장 컨트롤러 간의 통신을 허용하는 시스템 버스를 더 포함하는, 장치.
  9. 제 8 항에 있어서,
    상기 제 1 데이터 저장 컨트롤러는 불휘발성 솔리드 스테이트 메모리(non-volatile solid state memory)에 대한 데이터 저장을 제어하며, 상기 제 2 데이터 저장 컨트롤러는 디스크 메모리에 대한 데이터 저장을 제어하는, 장치.
  10. 제 7 항에 있어서,
    상기 제 2 속도는 상기 제 1 속도보다 빠른, 장치.
  11. 제 10 항에 있어서,
    상기 제 2 속도는 상기 제 1 속도보다 2배 빠른, 장치
  12. 제 7 항에 있어서,
    상기 복수의 데이터 저장 프로토콜들은 적어도 하나의 Serial ATA(SATA) 인터페이스 프로토콜을 포함하는, 장치.
  13. 제 7 항에 있어서,
    상기 컨트롤러는,
    상기 복수의 데이터 통신 프로토콜들에 각각 해당하는 복수의 프로토콜 프로그램 데이터를 저장하도록 구성된, 데이터 저장 영역; 및
    상기 신호를 수신하고, 상기 제 1 데이터 통신 프로토콜을 실행하고, 상기 제 2 데이터 통신 프로토콜을 실행하도록 구성된, 프로세서
    를 포함하는, 장치.
  14. 제 7 항에 있어서,
    상기 제 1 메모리는 불휘발성 솔리드 스테이트 메모리이며, 상기 제 2 메모리는 불휘발성 디스크 메모리인, 장치.
  15. 장치로서,
    다수의 통신 속도들을 통해 호스트와 통신하도록 구성된 데이터 저장 디바이스를 포함하며, 상기 데이터 저장 디바이스는,
    제 1 메모리에서 데이터를 액세스하도록 구성된 제 1 컨트롤러;
    제 2 메모리에서 데이터를 액세스하도록 구성된 제 2 컨트롤러; 및
    제 3 컨트롤러
    를 포함하며, 상기 제 3 컨트롤러는,
    상기 호스트로부터 신호를 수신하고;
    제 1 데이터 통신 속도가 탐지될 때, 상기 제 1 컨트롤러와 통신하도록 제 1 데이터 통신 프로토콜을 구현하며; 그리고
    제 2 데이터 통신 속도가 탐지될 때, 상기 제 2 컨트롤러와 통신하도록 제 2 데이터 통신 프로토콜을 구현하도록 구성되며,
    상기 제 1 데이터 통신 속도는 상기 제 2 데이터 통신 속도와 상이한,
    장치.
  16. 제 15 항에 있어서,
    상기 데이터 저장 디바이스는 상기 제 3 컨트롤러를 상기 제 1 컨트롤러 및 상기 제 2 컨트롤러와 연결하는 시스템 버스를 더 포함하는, 장치.
  17. 제 15 항에 있어서,
    상기 제 1 메모리 및 상기 제 2 메모리 양자 모두는 불휘발성 메모리인, 장치.
  18. 제 15 항에 있어서,
    상기 제 1 데이터 통신 프로토콜 및 상기 제 2 데이터 통신 프로토콜은 각각, 개별 Serial ATA(SATA) 인터페이스 프로토콜들인, 장치.
  19. 제 15 항에 있어서,
    상기 제 3 컨트롤러는,
    상기 제 1 데이터 통신 프로토콜 및 상기 제 2 데이터 통신 프로토콜을 포함하는 복수의 데이터 통신 프로토콜들에 각각 해당하는 복수의 프로토콜 프로그램 데이터를 저장하도록 구성된, 데이터 저장 영역; 및
    상기 신호를 수신하고 제 1 데이터 통신 및 제 2 데이터 통신을 실행하도록 구성된, 프로세서
    를 포함하는, 장치.
  20. 제 15 항에 있어서,
    상기 제 2 데이터 통신 속도는 상기 제 1 데이터 통신 속도보다 빠른, 장치.
KR1020080068992A 2008-07-16 2008-07-16 통신 속도를 조절할 수 있는 컨트롤러, 상기 컨트롤러를포함하는 데이터 저장 장치, 및 상기 데이터 저장 장치를포함하는 데이터 통신 시스템 Expired - Fee Related KR101521493B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020080068992A KR101521493B1 (ko) 2008-07-16 2008-07-16 통신 속도를 조절할 수 있는 컨트롤러, 상기 컨트롤러를포함하는 데이터 저장 장치, 및 상기 데이터 저장 장치를포함하는 데이터 통신 시스템
US12/486,925 US20100017564A1 (en) 2008-07-16 2009-06-18 Controller, data storage device, and data communication system having variable communication speed
US13/850,844 US9372625B2 (en) 2008-07-16 2013-03-26 Controller, data storage device, and data communication system having variable communication speed
US15/187,642 US10254975B2 (en) 2008-07-16 2016-06-20 Controller, data storage device, and data communication system having variable communication speed

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080068992A KR101521493B1 (ko) 2008-07-16 2008-07-16 통신 속도를 조절할 수 있는 컨트롤러, 상기 컨트롤러를포함하는 데이터 저장 장치, 및 상기 데이터 저장 장치를포함하는 데이터 통신 시스템

Publications (2)

Publication Number Publication Date
KR20100008485A KR20100008485A (ko) 2010-01-26
KR101521493B1 true KR101521493B1 (ko) 2015-05-19

Family

ID=41531275

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080068992A Expired - Fee Related KR101521493B1 (ko) 2008-07-16 2008-07-16 통신 속도를 조절할 수 있는 컨트롤러, 상기 컨트롤러를포함하는 데이터 저장 장치, 및 상기 데이터 저장 장치를포함하는 데이터 통신 시스템

Country Status (2)

Country Link
US (3) US20100017564A1 (ko)
KR (1) KR101521493B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200037049A (ko) * 2018-09-21 2020-04-08 삼성전자주식회사 스토리지 장치

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101521493B1 (ko) * 2008-07-16 2015-05-19 시게이트 테크놀로지 엘엘씨 통신 속도를 조절할 수 있는 컨트롤러, 상기 컨트롤러를포함하는 데이터 저장 장치, 및 상기 데이터 저장 장치를포함하는 데이터 통신 시스템
KR101907067B1 (ko) 2011-11-02 2018-10-11 삼성전자 주식회사 요청 패턴을 고려한 분산 스토리지 시스템, 분산 스토리지 관리 장치 및 방법
US11755510B2 (en) * 2011-11-08 2023-09-12 Seagate Technology Llc Data detection and device optimization
KR20150019268A (ko) * 2013-08-13 2015-02-25 에스케이하이닉스 주식회사 데이터 입출력 장치 및 이를 포함하는 시스템
US9448742B2 (en) * 2014-03-27 2016-09-20 Western Digital Technologies, Inc. Communication between a host and a secondary storage device
WO2016036173A1 (en) * 2014-09-04 2016-03-10 Samsung Electronics Co., Ltd. Ultrasound probe and operating method thereof
KR20160028940A (ko) * 2014-09-04 2016-03-14 삼성전자주식회사 초음파 프로브 및 초음파 프로브의 동작 방법
KR102582542B1 (ko) * 2015-12-16 2023-09-25 삼성메디슨 주식회사 초음파 프로브 및 초음파 프로브 충전 방법
KR101691112B1 (ko) * 2015-12-21 2016-12-29 한국과학기술정보연구원 파일관리장치 및 그 동작 방법
KR102583255B1 (ko) * 2018-11-05 2023-09-26 삼성전자주식회사 복수의 프로토콜을 적응적으로 지원하는 스토리지 장치
CN111506262B (zh) * 2020-03-25 2021-12-28 华为技术有限公司 一种存储系统、文件存储和读取方法及终端设备
US11899945B2 (en) * 2021-10-03 2024-02-13 Silicon Motion, Inc. Method and apparatus for performing communications specification version control of memory device in predetermined communications architecture with aid of compatibility management, and associated computer-readable medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050172067A1 (en) * 2004-02-04 2005-08-04 Sandisk Corporation Mass storage accelerator
US20070118682A1 (en) * 2005-11-21 2007-05-24 Vimicro Corporation Method and apparatus for interfacing and managing NAND flash memory

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11249821A (ja) 1998-02-27 1999-09-17 Toshiba Corp データ記憶装置及び同装置に適用されるインタフェース条件設定方法
JP3684902B2 (ja) 1999-03-03 2005-08-17 株式会社日立製作所 ディスクアレイ制御装置
US6785767B2 (en) * 2000-12-26 2004-08-31 Intel Corporation Hybrid mass storage system and method with two different types of storage medium
JP2005237247A (ja) 2004-02-25 2005-09-08 Ube Nitto Kasei Co Ltd 生簀、該生簀の製造方法、並びに該生簀を用いた養殖方法
KR100606577B1 (ko) * 2004-07-29 2006-07-28 삼성전자주식회사 직렬 에이티에이 인터페이스의 데이터 전송속도 조절장치및 그 방법
US20070101168A1 (en) * 2005-10-31 2007-05-03 Lee Atkinson Method and system of controlling data transfer speed and power consumption of a bus
KR100660546B1 (ko) * 2005-11-10 2006-12-22 삼성전자주식회사 반도체 디스크 제어 장치
KR100849222B1 (ko) * 2006-04-10 2008-07-31 삼성전자주식회사 직렬 전송 방식에 사용되는 전송주파수 제어 방법, 이를기록한 기록매체 및 장치
KR101498673B1 (ko) * 2007-08-14 2015-03-09 삼성전자주식회사 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템
KR101521493B1 (ko) * 2008-07-16 2015-05-19 시게이트 테크놀로지 엘엘씨 통신 속도를 조절할 수 있는 컨트롤러, 상기 컨트롤러를포함하는 데이터 저장 장치, 및 상기 데이터 저장 장치를포함하는 데이터 통신 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050172067A1 (en) * 2004-02-04 2005-08-04 Sandisk Corporation Mass storage accelerator
US20070118682A1 (en) * 2005-11-21 2007-05-24 Vimicro Corporation Method and apparatus for interfacing and managing NAND flash memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200037049A (ko) * 2018-09-21 2020-04-08 삼성전자주식회사 스토리지 장치
KR102720733B1 (ko) * 2018-09-21 2024-10-24 삼성전자주식회사 스토리지 장치

Also Published As

Publication number Publication date
US20160371018A1 (en) 2016-12-22
US9372625B2 (en) 2016-06-21
US20100017564A1 (en) 2010-01-21
US10254975B2 (en) 2019-04-09
KR20100008485A (ko) 2010-01-26
US20140122747A1 (en) 2014-05-01

Similar Documents

Publication Publication Date Title
KR101521493B1 (ko) 통신 속도를 조절할 수 있는 컨트롤러, 상기 컨트롤러를포함하는 데이터 저장 장치, 및 상기 데이터 저장 장치를포함하는 데이터 통신 시스템
US9223506B2 (en) Semiconductor storage device and method of throttling performance of the same
US8261040B2 (en) Data storage device and system having improved write speed
EP2248023B1 (en) Extended utilization area for a memory device
US8359412B2 (en) Data storage device to control signal strength of memory channel and setting method thereof
KR102744550B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
JP2008518283A (ja) 最適化された不揮発性記憶システム
CN103035282B (zh) 存储器储存装置、存储器控制器与温度管理方法
US20120072755A1 (en) Method of controlling operation mode of storage device, and storage device implementing the storage
KR102766448B1 (ko) 컨트롤러, 컨트롤러의 동작 방법 및 이를 포함하는 저장 장치
KR102751332B1 (ko) 메모리 컨트롤러, 메모리 시스템 및 이의 동작 방법
US10635154B2 (en) Intelligent SAS phy power management
US20230127204A1 (en) Controller of memory system and operating method thereof
US8769353B2 (en) Memory card
KR102695482B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
KR102655360B1 (ko) 컨트롤러, 데이터 저장 장치 및 그것의 동작 방법
KR101190885B1 (ko) 홈 저장 시스템
CN105989884B (zh) 半导体存储装置及其操作方法
CN118708124B (zh) 一种存储装置及其通信频率的控制方法
KR20210002190A (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
TW201537453A (zh) 電子裝置及基於其儲存裝置吞吐量調整緩衝區大小的方法
US20240345758A1 (en) Storage device and operating method of storage device
KR102787635B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US20200225860A1 (en) Intelligent sas phy connection management
KR20210031367A (ko) 컨트롤러 및 그것의 동작 방법

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20080716

PG1501 Laying open of application
N231 Notification of change of applicant
PN2301 Change of applicant

Patent event date: 20120925

Comment text: Notification of Change of Applicant

Patent event code: PN23011R01D

A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20130716

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20080716

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20140722

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20150224

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20150513

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20150514

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20180403

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20180403

Start annual number: 4

End annual number: 4

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20200224