[go: up one dir, main page]

KR100450680B1 - 버스 대역폭을 증가시키기 위한 메모리 컨트롤러, 이를이용한 데이터 전송방법 및 이를 구비하는 컴퓨터 시스템 - Google Patents

버스 대역폭을 증가시키기 위한 메모리 컨트롤러, 이를이용한 데이터 전송방법 및 이를 구비하는 컴퓨터 시스템 Download PDF

Info

Publication number
KR100450680B1
KR100450680B1 KR10-2002-0044677A KR20020044677A KR100450680B1 KR 100450680 B1 KR100450680 B1 KR 100450680B1 KR 20020044677 A KR20020044677 A KR 20020044677A KR 100450680 B1 KR100450680 B1 KR 100450680B1
Authority
KR
South Korea
Prior art keywords
port
bit
bit data
memory controller
data
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
KR10-2002-0044677A
Other languages
English (en)
Other versions
KR20040011665A (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 KR10-2002-0044677A priority Critical patent/KR100450680B1/ko
Priority to US10/619,037 priority patent/US6931462B2/en
Priority to JP2003201884A priority patent/JP4323241B2/ja
Publication of KR20040011665A publication Critical patent/KR20040011665A/ko
Application granted granted Critical
Publication of KR100450680B1 publication Critical patent/KR100450680B1/ko
Priority to US11/194,857 priority patent/US20050265108A1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

컴퓨터 시스템의 버스의 대역폭을 증가시키기 위한 메모리 컨트롤러가 개시된다. 상기 메모리 컨트롤러는 N비트 데이터를 각각 입출력하기 위한 제1포트 및 제2포트; 2N비트 데이터를 입출력하기 위한 제3포트; 및 상기 N비트 데이터를 각각 입출력하기 위한 제4포트 및 제5포트를 구비하며, 상기 메모리 컨트롤러는 상기 제3포트를 통하여 입력되는 명령신호와 어드레스에 응답하여 상기 제1포트 및 상기 제2포트를 통하여 대응되는 메모리장치로부터 동시에 상기 N비트 데이터를 각각 패치하고 패치된 2N비트 데이터를 상기 제3포트로 전송하거나, 상기 제4포트 및/또는 제5포트를 통하여 입력되는 명령신호와 어드레스에 응답하여 상기 제1포트 및/또는 상기 제2포트를 통하여 대응되는 메모리 장치로부터 상기 N비트 데이터를 패치하고, 패치된 N비트 데이터를 상기 제4포트 및/또는 상기 제5포트로 전송하는 것을 특징으로 한다.

Description

버스 대역폭을 증가시키기 위한 메모리 컨트롤러, 이를 이용한 데이터 전송방법 및 이를 구비하는 컴퓨터 시스템{Memory controller for increasing bus bandwidth, data transmitting method and computer system having the same}
본 발명은 컴퓨터 시스템에서 사용되는 메모리 컨트롤러에 관한 것으로, 보다 상세하게는 멀티-버스 시스템에서 버스의 대역폭을 증가시킬 수 있는 메모리 컨트롤러, 상기 메모리 컨트롤러를 사용한 데이터 전송방법 및 상기 메모리 컨트롤러를 구비하는 컴퓨터 시스템에 관한 것이다.
전형적인 컴퓨터 시스템은 주요한 세 개의 서브시스템들, 메모리, 하나 또는 그 이상의 중앙처리 장치들(CPUs), 및 입-출력(I/O) 장치들로 구성된다. 현대의 컴퓨터 시스템은 사용자의 요구를 만족시키기 위하여 여러 가지 다양한 서브시스템들, 예컨대 PCI(peripheral component interconnect), 이더넷(ethernet), 또는 범용 비동기화 송수신기(Universal Asynchronous Receiver/Transmitter, UART)등과 연결할 수 있어야 한다.
컴퓨터 시스템에서, 다양한 서브시스템들은 서로 통신을 하기 위하여 인터페이스들을 가져야 한다. 예컨대 상기 메모리와 상기 중앙처리 장치, 또는 상기 중앙처리장치와 I/O장치들간의 통신은 버스를 통하여 이루어진다.
상기 버스는 여러 도선들이 병렬로 묶여져 있는 것으로 다양한 서브시스템들을 공유할 수 있는 통신선로이다. 최대 버스속도(maximum bus speed)는 주로 물리적인 요소들, 즉 버스의 길이와 상기 버스의 부하(bus loading)에 제한된다.
또한, 컴퓨터 구조 이론에 의하면, 현재와 같은 폰-노이만(Von Neumann)방식, 즉 스토어드 프로그램(stored program)방식을 유지하기 위하여 CPU와 메모리는 반드시 공존해야만 한다. 따라서 컴퓨터 시스템의 성능의 향상을 위하여 CPU와 메모리 모두의 성능이 동시에 개선되어야 한다.
그러나 CPU는 동작속도의 개선을 추구하고, DRAM으로 구성되는 메모리는 메모리 용량의 확대를 추구함에 따라 메모리의 동작속도는 CPU의 동작속도에 비하여 상대적으로 현저하게 낮다. 또한, 상기 컴퓨터 시스템에 사용되는 상기 서브시스템들, 예컨대 PCI, 이더넷, UART의 동작속도는 CPU의 동작속도 보다 상대적으로 낮다.
따라서 컴퓨터 시스템(또는 메모리 시스템)의 동작을 평가하는 기준으로 메모리 레이턴시(memory latency; 또는 메모리 억세스)와 메모리 대역폭(bandwidth)을 사용하는 경우, 메모리 레이턴시는 작을수록, 메모리 대역폭은 클수록 컴퓨터 시스템의 성능은 우수하다.
따라서, 컴퓨터 시스템의 성능을 향상시키기 위하여 메모리와 CPU사이의 버스 폭을 늘리는 방식, 즉 메모리의 I/O 포트를 늘리는 방법을 사용한다. 그러나 이러한 방법은 DRAM의 칩 사이즈를 증가시키고, I/O 포트들(ports)사이에 발생하는 누화잡음(cross-talk noise)으로 인하여 동작속도는 저하되는 문제가 있다.
또한, CPU의 성능의 발전속도가 메모리, PCI, 이더넷, 또는 UART 등의 서브시스템의 성능의 속도보다 빠른 상황에서, CPU의 동작속도에 적합한 컴퓨터 시스템을 설계하는 것은 메모리, PCI, 이더넷, 또는 UART 등의 서브시스템을 재개발해야 하는 문제점이 있다.
예컨대, CPU가 2N(예컨대, N은 32)비트 IP(intellectual property)이고, PCI, 이더넷, 또는 UART는 N비트 IP인 경우, 2N비트로 컴퓨터 시스템을 설계하는 경우, 종래의 N비트PCI, 이더넷, 또는 UART를 2N비트로 재개발해야 하는 부담이 있다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 2N비트 IP와 N비트 IP를 구비하는 컴퓨터 시스템에서 최대의 시스템 성능을 얻기 위한 메모리 컨트롤러를 제공하는 것이다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명에 따른 메모리 컨트롤러를 구비하는 컴퓨터 시스템을 개략적으로 나타낸다.
상기 기술적 과제를 달성하기 위한 메모리 컨트롤러는 N비트 데이터를 각각입출력하기 위한 제1포트 및 제2포트; 2N비트 데이터를 입출력하기 위한 제3포트; 및 상기 N비트 데이터를 각각 입출력하기 위한 제4포트 및 제5포트를 구비하며, 상기 메모리 컨트롤러는 상기 제3포트를 통하여 입력되는 명령신호와 어드레스에 응답하여 상기 제1포트 및 상기 제2포트를 통하여 대응되는 메모리장치로부터 동시에 상기 N비트 데이터를 각각 패치하고 패치된 2N비트 데이터를 상기 제3포트로 전송하거나, 상기 제4포트 및/또는 제5포트를 통하여 입력되는 명령신호와 어드레스에 응답하여 상기 제1포트 및/또는 상기 제2포트를 통하여 대응되는 메모리 장치로부터 상기 N비트 데이터를 패치하고, 패치된 N비트 데이터를 상기 제4포트 및/또는 상기 제5포트로 전송한다.
상기 메모리 컨트롤러는 상기 제3포트를 통하여 입력되는 상기 2N비트의 데이터를 N비트씩 분할하고, 분할된 N비트 데이터를 대응되는 상기 제1포트 및 상기 제2포트를 통하여 상기 대응되는 메모리 장치로 각각 출력한다.
그리고, 상기 메모리 컨트롤러는 상기 제3포트 및/또는 상기 제4포트를 통하여 입력되는 상기 N비트 데이터를 상기 제1포트 및/또는 상기 제2포트를 통하여 상기 대응되는 메모리 장치로 출력한다. 상기 명령신호는 데이터 패치를 위한 명령 신호이다.
상기 제1포트와 상기 제2포트는 서로 다른 N비트 버스를 통하여 상기 대응되는 메모리 장치에 접속된다. 상기 제3포트는 2N비트 버스를 통하여 2N비트 IP (intellectual property)와 접속되고, 상기 2N비트 데이터를 입출력한다.
상기 제4포트와 상기 제5포트는 서로 다른 N비트 버스를 통하여 대응되는 N비트 IP와 접속된다.
상기 기술적 과제를 달성하기 위한 컴퓨터 시스템은 데이터와 명령어들을 각각 저장하기 위한 적어도 두 개의 메모리장치들; 상기 컴퓨터 시스템을 제어하고 관리하기 위한 적어도 하나의 2N비트 IP; 상기 메모리 장치들과 각각 상기 데이터를 주고받기 위한 적어도 두 개의 N비트 IP들; 및 상기 메모리 장치들과 상기 2N비트 IP, 또는 상기 메모리 장치들과 상기 N비트 IP사이에 데이터를 주고받는 것을 제어하기 위한 메모리 컨트롤러를 구비하며, 상기 메모리 컨트롤러는 대응되는 N비트 버스를 통하여, N비트 데이터를 대응되는 메모리 장치와 각각 입출력하기 위한 제1포트 및 제2포트; 2N비트 버스를 통하여, 2N비트 데이터를 상기 2N비트 IP와 입출력하기 위한 제3포트; 및 대응되는 N비트 버스를 통하여, N비트 데이터를 대응되는 N비트 IP와 각각 입출력하기 위한 제4포트 및 제5포트를 구비하며, 상기 메모리 컨트롤러는 상기 2N비트 IP로부터 발생되고 상기 제3포트를 통하여 입력된 명령신호 및 어드레스에 응답하여 상기 제1포트 및 상기 제2포트를 통하여 동시에 상기 어드레스에 대응되는 메모리 장치로부터 상기 N비트 데이터를 각각 패치하고, 패치된 2N비트 데이터를 상기 제3포트를 통하여 전송하거나, 대응되는 상기 N비트 IP로부터 발생되고, 상기 제4포트 및/또는 제5포트를 통하여 입력되는 명령신호 및 어드레스에 응답하여 상기 제1포트 및/또는 상기 제2포트를 통하여 상기 어드레스에 대응되는 메모리 장치로부터 상기 N비트 데이터를 패치하고, 패치된 N비트 데이터를 상기 제4포트 및/또는 상기 제5포트로 전송한다.
상기 메모리 컨트롤러는 상기 2N비트 IP로부터 발생되고, 상기 제3포트를 통하여 입력되는 상기 2N비트의 데이터를 N비트씩 분할하고, 분할된 N비트 데이터를 대응되는 상기 제1포트 또는 상기 제2포트를 통하여 대응되는 메모리 장치로 전송한다.
상기 메모리 컨트롤러는 상기 대응되는 IP로부터 발생되고, 상기 제3포트 및/또는 상기 제4포트를 통하여 입력되는 상기 N비트 데이터를 상기 제1포트 및/또는 상기 제2포트를 통하여 상기 메모리 장치로 전송한다.
상기 기술적 과제를 달성하기 위한 N비트 데이터를 각각 입출력하기 위한 제1포트 및 제2포트, 2N비트 데이터를 입출력하기 위한 제3포트; 및 상기 N비트 데이터를 각각 입출력하기 위한 제4포트 및 제5포트를 구비하는 메모리 컨트롤러가 데이터를 전송하는 방법은 상기 제3포트를 통하여 입력되는 명령신호와 어드레스, 또는 상기 제4포트와 상기 제5포트 중에서 어느 하나의 포트를 통하여 입력되는 명령신호와 어드레스를 수신하는 단계; 및 상기 제3포트를 통하여 입력되는 상기 명령신호와 상기 어드레스에 응답하여 상기 제1포트 및 상기 제2포트를 통하여 대응되는 메모리 장치로부터 상기 N비트 데이터를 동시에 각각 패치하고, 패치된 2N비트 데이터를 상기 제3포트로 전송하거나, 또는 상기 제4포트 및/또는 제5포트를 통하여 입력되는 상기 명령신호와 상기 어드레스에 응답하여 상기 제1포트 및/또는 상기 제2포트를 통하여 대응되는 메모리 장치로부터 상기 N비트 데이터를 각각 패치하고, 패치된 N비트 데이터 각각을 상기 제4포트 및/또는 상기 제5포트로 전송한다.
상기 데이터 전송방법은 상기 제3포트를 통하여 입력되는 상기 2N비트의 데이터를 N비트씩 분할하고, 분할된 N비트 데이터를 대응되는 상기 제1포트 및 상기 제2포트를 통하여 상기 대응되는 메모리 장치로 각각 출력한다.
그리고, 상기 데이터 전송방법은 상기 제3포트 및/또는 상기 제4포트를 통하여 입력되는 상기 N비트 데이터를 상기 제1포트 및/또는 상기 제2포트를 통하여 상기 대응되는 메모리 장치로 출력한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명에 따른 메모리 컨트롤러를 구비하는 컴퓨터 시스템을 개략적으로 나타낸다.
본 발명에 따른 컴퓨터 시스템(1000)은 데이터와 명령어들을 각각 저장하기 위한 적어도 두 개의 메모리장치들(100, 200), 컴퓨터 시스템(1000)을 제어하고 관리하기 위한 적어도 하나의 2N비트 IP(400), 메모리 장치들(100, 200)과 각각 N비트 데이터를 주고받기 위한 적어도 두 개의 N비트 IP들(600, 700, 800), 및 메모리 장치들(100, 200)과 2N비트 IP(400), 또는 메모리 장치들(100, 200)과 N비트 IP(600, 700, 800)사이에 2N비트 또는 N비트 데이터를 주고받는 것을 제어하기 위한 메모리 컨트롤러(300)를 구비한다.
메모리 컨트롤러(300)는 대응되는 N비트 버스(101, 201)를 통하여 N비트 데이터를 대응되는 메모리 장치(100, 200)와 각각 입출력하기 위한 제1포트(310)와 및 제2포트(320), 2N비트 버스(401)를 통하여 2N비트 데이터를 2N비트 IP(400)와 입출력하기 위한 제3포트(360); 및 대응되는 N비트 버스(371, 381)를 통하여 N비트 데이터를 대응되는 N비트 IP(600, 700, 800)와 각각 입출력하기 위한 제4포트(370) 및 제5포트(380)를 구비한다.
메모리 컨트롤러(300)는 2N비트 IP(400)로부터 발생되고, 제3포트(360)를 통하여 입력된 명령신호(예컨대 2N비트 IP(400)가 2N비트 데이터 패치하기 위한 명령신호 또는 로드(load)명령신호) 및 어드레스에 응답하여 제1포트(310) 및 제2포트(320)를 통하여 동시에 상기 어드레스에 대응되는 메모리 장치(100, 200)로부터 상기 N비트 데이터를 각각 패치하고, 패치된 2N비트 데이터를 제3포트(360)를 통하여 2N비트 IP(400)전송한다.
또한, 메모리 컨트롤러(300)는 대응되는 N비트 IP(600, 700, 800)로부터 발생되고, 제4포트(370) 및/또는 제5포트(380)를 통하여 입력되는 명령신호 및 어드레스에 응답하여 제1포트(310) 및/또는 제2포트(320)를 통하여 상기 어드레스에 대응되는 메모리 장치(100, 200)로부터 상기 N비트 데이터를 패치하고, 패치된 N비트 데이터를 제4포트(370) 및/또는 제5포트(380)를 통하여 대응되는 N비트 IP(600, 700, 800)로 전송한다.
또한, 메모리 컨트롤러(300)는 2N비트 IP(400)로부터 발생되고, 제3포트 (360)를 통하여 입력되는 상기 2N비트의 데이터를 N비트씩 분할하고, 분할된 N비트데이터를 대응되는 제1포트(310) 및 제2포트(320)를 통하여 대응되는 메모리 장치(100, 200)로 출력한다.
그리고, 메모리 컨트롤러(300)는 대응되는 IP(600, 700, 또는 800)로부터 발생되고, 제3포트(370) 및/또는 제4포트(380)를 통하여 입력되는 상기 N비트 데이터를 제1포트(310) 및/또는 제2포트(320)를 통하여 메모리 장치(100, 200)로 출력한다.
도 1을 참조하면, 컴퓨터 시스템(100)은 제1메모리 장치(100), 제2메모리 장치(200), 메모리 컨트롤러(300), 중앙처리장치(Central Processor Unit; 400), 다운사이저(Downsizer), PCI 기능 블록(600), 이더넷 기능 블록(700) 및 UART 기능 블록(800)을 구비한다.
여기서 CPU(400)는 2N(N은 자연수, N은 32)비트 IP이라고 가정하고, PCI 기능 블록(600), 이더넷 기능 블록(700) 및 UART 기능 블록(800)은 모두 N비트 기능블록이라고 가정한다.
각 메모리 장치(100, 200)는 CPU(400)가 필요로 하는 데이터와 명령어들 (instructions)을 저장하는 주 메모리를 의미하고, DRAM으로 구성된다.
CPU(400)는 버스(401과 101, 또는 401과 201)를 통해 제1메모리 장치(100) 및 제2메모리장치(200)에 N비트 어드레스를 보내어 제1메모리 장치(100) 및 제2메모리장치를 호출하고, 버스(401과 101, 또는 401과 201)를 통하여 제1메모리 장치(100) 및 제2메모리장치(200)와 데이터를 주고받고, 이러한 동작들이 원활하게 이루어지도록 제어하기 위한 각종 제어신호들을 소정의 컨트롤 버스를 통하여 메모리 컨트롤러(300)로 출력한다. 즉, CPU(400)는 전반적으로 컴퓨터 시스템(1000)을 제어하고 관리하는 기능을 수행한다.
본 발명에 따른 메모리 컨트롤러(300)는 제1포트(310), 제2포트(320), 제1메모리 컨트롤러(330), 제2메모리 컨트롤러(340), 포트 컨트롤러(350), 제3포트 (360), 제4포트(370) 및 제5포트(380)를 구비한다. 포트 컨트롤러(350)는 제3포트 컨트롤러(351), 제4포트 컨트롤러(353) 및 제5포트 컨트롤러(355)를 구비한다.
제1포트(310)와 제1메모리장치(100)는 N비트 버스(101)를 통하여 서로 접속되고, 제2포트(320)와 제2메모리장치(200)는 N비트 버스(201)를 통하여 서로 접속된다.
제3포트(360)와 다운사이저(500), 또는 제3포트(360)와 CPU(400)는 2N비트 버스를 통하여 서로 접속된다. 각 기능 블록(600, 700, 800)과 다운사이저(500)는 N비트 버스(501)를 통하여 서로 접속된다. 다운사이저(500)는 2N비트 데이터를 수신하고, 이를 N비트 데이터로 변환하고, 그 결과를 출력한다.
제4포트(370)와 PCI 기능 블록(600)은 각 N비트 버스(371, 601)를 통하여 접속된다. 제5포트(380)와 이더넷(700), 또는 제5포트(380)와 UART(800)는 각 N비트 버스(371, 601)를 통하여 접속된다.
제1메모리 컨트롤러(330)는 CPU(400) 또는 각 기능블록(400, 600, 700, 800)으로부터 출력되는 어드레스, 기입명령신호(예컨대, 저장명령(store)) 및 데이터에 응답하여 상기 데이터를 상기 어드레스에 의하여 지정된 제1메모리 장치(100)의 소정의 메모리 셀들에 저장하는 기입 동작을 제어하거나, 또는 CPU(400) 또는 각 기능블록(400, 600, 700, 800)으로부터 출력되는 어드레스 및 독출명령신호(예컨대 로드명령(load))에 응답하여 상기 어드레스에 의하여 지정된 제1메모리 장치(100)의 메모리 셀들로부터 데이터를 독출하는 독출동작을 제어한다.
또한, 제2메모리 컨트롤러(340)는 CPU(400) 또는 각 기능블록(400, 600, 700, 800)으로부터 출력되는 어드레스, 기입명령신호 및 데이터에 응답하여 상기 데이터를 상기 어드레스에 의하여 지정된 제2메모리 장치(200)의 소정의 메모리 셀들로 저장하는 기입 동작을 제어하거나, 또는 CPU(400) 또는 각 기능블록(400, 600, 700, 800)으로부터 출력되는 어드레스 및 독출명령신호에 응답하여 상기 어드레스에 의하여 지정된 제2메모리 장치(100)의 메모리 셀들로부터 데이터를 독출하는 독출동작을 제어한다.
제3포트 컨트롤러(351)는 제1메모리 장치(100)로부터 출력되는 N비트 데이터 및 제2메모리 장치(200)로부터 출력되는 N비트의 데이터를 수신하고, 이들을 결합하여 생성된 2N비트의 데이터를 제3포트(360)와 2N비트 버스(401)를 통하여 CPU(400)로 전송하는 동작을 제어한다.
제4포트 컨트롤러(353)는 제1메모리 장치(100)로부터 출력되는 N비트 데이터 또는 제2메모리 장치(200)로부터 출력되는 N비트 데이터를 수신하고, 수신된 N비트 데이터를 제4포트(370)와 버스들(371, 601)을 통하여 PCI 기능 블록(600)으로 출력한다.
제5포트 컨트롤러(355)는 제1메모리 장치(100)로부터 출력되는 N비트 데이터 또는 제2메모리 장치(200)로부터 출력되는 N비트 데이터를 수신하고, 수신된 N비트데이터를 제5포트(380)와 버스들(381과 701, 또는 381과 801)을 통하여 이더넷 기능 블록(700) 또는 UART 기능 블록(800)으로 전송한다.
도 1을 참조하여 본 발명에 따른 메모리 컨트롤러를 구비하는 컴퓨터 시스템의 동작을 설명하면 다음과 같다.
우선, CPU(400)가 2N비트 데이터를 로드(load)하는 경우, 상기 2N비트의 데이터를 로드하기 위한 2N비트의 어드레스와 소정 비트의 명령신호는 2N비트 버스(401)와 제3포트(360)를 통하여 메모리 컨트롤러(300)로 입력된다.
제3포트 컨트롤러(351)는 2N비트 데이터를 N비트씩 분할하고, 분할된 상위 N비트 어드레스와 상기 소정 비트의 명령신호를 제1메모리 컨트롤러(330)로 출력하고, 분할된 하위 N비트 어드레스와 상기 소정 비트의 명령신호는 제2메모리 컨트롤러(340)로 출력된다.
여기서 상위 N비트는 최상위 비트(Most Significant Bit)를 포함하는 N비트를 의미하고, 하위 N비트는 최하위 비트(Least Significant Bit)를 포함하는 N비트를 의미한다. 그러나 본 발명에 따른 메모리 컨트롤러는 2N비트를 N비트씩 분할하는 다양한 방법을 포함한다.
제1메모리 컨트롤러(330)는 N비트 버스(101)를 통하여 상기 상위 N비트 어드레스에 의하여 지정된 제1메모리 장치(100)의 메모리 셀들로부터 N비트의 데이터를 페취(fetch)하고, 페취된 N비트 데이터를 제3포트 컨트롤러(351)로 출력하는 동시에 제2메모리 컨트롤러(340)는 N비트 버스(201)를 통하여 상기 하위 N비트의 어드레스에 의하여 지정된 제2메모리 장치(200)의 메모리 셀들로부터 N비트의 데이터를페취(fetch)하고 페취된 N비트 데이터를 제3포트 컨트롤러(351)로 출력한다.
제3포트 컨트롤러(351)는 제1메모리 컨트롤러(330)로부터 출력되는 N비트 데이터와 제2메모리 컨트롤러(340)로부터 출력되는 N비트 데이터를 결합하고, 2N비트 데이터를 2N비트 버스(401)를 통하여 CPU(400)로 전송한다.
CPU(400)가 2N비트의 데이터를 저장(store)하는 경우, 상기 2N비트의 데이터를 저장하기 위한 2N비트의 어드레스와 소정 비트의 명령신호는 제3포트(360)를 통하여 메모리 컨트롤러(300)로 입력된다.
제3포트 컨트롤러(351)는 2N비트 데이터를 N비트씩 분할하고, 분할된 상위 N비트 어드레스, 상기 상위 N비트 어드레스에 상응하는 상위 N비트 데이터와 상기 소정 비트의 명령신호를 제1메모리 컨트롤러(330)로 출력한다. 제1메모리 컨트롤러(330)는 제1포트(310)와 N비트 버스(101)를 통하여 상위 N비트 데이터를 상기 N비트 어드레스에 의하여 지정된 제1메모리 장치(100)의 메모리 셀들에 전달한다.
또한, 제3포트 컨트롤러(351)는 분할된 하위 N비트 어드레스, 상기 하위 N비트 어드레스에 상응하는 상기 하위 N비트 데이터와 상기 소정 비트의 명령신호를 제2메모리 컨트롤러(340)로 출력한다. 제2메모리 컨트롤러(340)는 제2포트(320)와 N비트 버스(201)를 통하여 하위 N비트 데이터를 상기 N비트 어드레스에 의하여 지정된 제2메모리 장치(200)의 메모리 셀들에 전달한다.
그리고, PCI 기능 블록(600)이 N비트의 데이터를 로드(load)하는 경우, 상기 N비트의 데이터를 로드하기 위한 N비트의 어드레스와 소정 비트의 명령신호는 N비트 버스(601, 371) 및 제4포트(370)를 통하여 메모리 컨트롤러(300)로 입력된다.
제4포트 컨트롤러(353)는 상기 N비트의 어드레스와 상기 소정 비트의 명령신호를 제1메모리 컨트롤러(330)와 제2메모리 컨트롤러(340)중에서 하나의 메모리 컨트롤러로 출력한다. 제4포트 컨트롤러(353)는 소프트웨어적으로 또는 하드웨어적으로 제1메모리 컨트롤러(330) 또는 제2메모리 컨트롤러(340)를 선택할 수 있다.
제4포트 컨트롤러(353)가 제1메모리 컨트롤러(330)를 선택하는 경우, 제1메모리 컨트롤러(330)는 상기 N비트 어드레스에 의하여 지정된 제1메모리 장치(100)의 메모리 셀들로부터 N비트의 데이터를 페취한다. 페취된 N비트 데이터는 제4포트 컨트롤러(353) 및 N비트 버스(371, 601)를 통하여 PCI기능 블록(600)으로 입력된다.
PCI 기능 블록(600)이 N비트의 데이터를 로드하는 경우, 이더넷 기능블록 (700) 또는 UART 기능블록(800)은 제5포드(380), 제5포트 컨트롤러(355) 및 제2메모리 컨트롤러(340)를 통하여 N비트 데이터를 로드(load)하거나 저장(store)할 수 있다.
따라서 N비트 버스(101), 제1포트(310) 및 제1메모리 컨트롤러(330)들이 제1인터페이스를 구성하고, N비트 버스(201), 제2포트(320) 및 제2메모리 컨트롤러(340)들이 제2인터페이스를 구성하는 경우, 2N비트 IP(400)가 2N비트 데이터를 로딩(load)하거나 저장(store)할 때 본 발명에 따른 메모리 컨트롤러(300)의 제1인터페이스 및 제2인터페이스가 동시에 각각 N비트 데이터를 페취한다.
또한, 각 N비트 IP(600, 700, 800)가 N비트 데이터를 로딩하거나 저장할 때제1인터페이스 또는 제2인터페이스만 사용되고, 사용되지 않는 제1인터페이스 또는 제2인터페이스는 각 N비트 IP(700, 800, 600)가 사용할 수 있다.
따라서 도 1을 참조하며, 2N비트 IP인 CPU(400)은 제1인터페이스 및 제2인터페이스를 동시에 사용하고, N비트 IP인 이더넷 기능 블록(700)이 제1인터페이스를 사용하는 경우 N비트 IP인 PCI 기능블록(600)은 제2인터페이스를 사용할 수 있다. 또한, N비트 IP인 UART(800)이 제1인터페이스를 사용하는 경우 N비트 IP인 PCI 기능블록(600)은 제2인터페이스를 사용할 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 따라서 메모리 컨트롤러는 N비트 IP와 2N비트 IP를 혼용하여 사용하는 컴퓨터 시스템에서 버스의 동작 주파수를 증가시키지 않고도 최대의 성능을 얻을 수 있는 효과가 있다.
또한, 본 발명에 따른 메모리 컨트롤러 및 이를 이용한 데이터 전송방법을 통하여 상기 메모리 컨트롤러를 구비하는 컴퓨터 시스템의 메모리 사용효율이 증가된다.
그리고, 본 발명에 따른 메모리 컨트롤러를 사용하는 컴퓨터 시스템에서 버스의 대역폭은 증가하는 효과가 있다.

Claims (16)

  1. 메모리 컨트롤러에 있어서,
    N비트 데이터를 각각 입출력하기 위한 제1포트 및 제2포트;
    2N비트 데이터를 입출력하기 위한 제3포트; 및
    상기 N비트 데이터를 각각 입출력하기 위한 제4포트 및 제5포트를 구비하며,
    상기 메모리 컨트롤러는,
    상기 제3포트를 통하여 입력되는 명령신호와 어드레스에 응답하여 상기 제1포트 및 상기 제2포트를 통하여 대응되는 메모리장치로부터 동시에 상기 N비트 데이터를 각각 패치하고 패치된 2N비트 데이터를 상기 제3포트로 전송하거나,
    상기 제4포트 및/또는 제5포트를 통하여 입력되는 명령신호와 어드레스에 응답하여 상기 제1포트 및/또는 상기 제2포트를 통하여 대응되는 메모리 장치로부터 상기 N비트 데이터를 패치하고, 패치된 N비트 데이터를 상기 제4포트 및/또는 상기 제5포트로 전송하는 것을 특징으로 하는 메모리 컨트롤러.
  2. 제1항에 있어서, 상기 메모리 컨트롤러는,
    상기 제3포트를 통하여 입력되는 상기 2N비트의 데이터를 N비트씩 분할하고, 분할된 N비트 데이터를 대응되는 상기 제1포트 및 상기 제2포트를 통하여 상기 대응되는 메모리 장치로 각각 출력하는 것을 특징으로 하는 메모리 컨트롤러.
  3. 제1항에 있어서, 상기 메모리 컨트롤러는 상기 제3포트 및/또는 상기 제4포트를 통하여 입력되는 상기 N비트 데이터를 상기 제1포트 및/또는 상기 제2포트를 통하여 상기 대응되는 메모리 장치로 출력하는 것을 특징으로 하는 메모리 컨트롤러.
  4. 제1항에 있어서, 상기 명령신호는 데이터 패치를 위한 명령 신호인 것을 특징으로 하는 메모리 컨트롤러.
  5. 제1항에 있어서, 상기 제1포트와 상기 제2포트는 서로 다른 N비트 버스를 통하여 상기 대응되는 메모리 장치에 접속되는 것을 특징으로 하는 메모리 컨트롤러.
  6. 제1항에 있어서, 상기 제3포트는 2N비트 버스를 통하여 2N비트 IP (intellectual property)와 접속되고, 상기 2N비트 데이터를 입출력하는 것을 특징으로 하는 메모리 컨트롤러.
  7. 제1항에 있어서, 상기 제3포트는 2N비트 버스를 통하여 2N비트 CPU와 접속되고, 상기 2N비트 데이터를 입출력하는 것을 특징으로 하는 메모리 컨트롤러.
  8. 제1항에 있어서, 상기 제4포트와 상기 제5포트는 서로 다른 N비트 버스를 통하여 대응되는 N비트 IP와 접속되는 것을 특징으로 하는 메모리 컨트롤러.
  9. 제1항에 있어서, 상기 N은 32인 것을 특징으로 하는 메모리 컨트롤러.
  10. 컴퓨터 시스템에 있어서,
    데이터와 명령어들을 각각 저장하기 위한 적어도 두 개의 메모리장치들;
    상기 컴퓨터 시스템을 제어하고 관리하기 위한 적어도 하나의 2N비트 IP;
    상기 메모리 장치들과 각각 상기 데이터를 주고받기 위한 적어도 두 개의 N비트 IP들; 및
    상기 메모리 장치들과 상기 2N비트 IP, 또는 상기 메모리 장치들과 상기 N비트 IP사이에 데이터를 주고받는 것을 제어하기 위한 메모리 컨트롤러를 구비하며,
    상기 메모리 컨트롤러는,
    대응되는 N비트 버스를 통하여, N비트 데이터를 대응되는 메모리 장치와 각각 입출력하기 위한 제1포트 및 제2포트;
    2N비트 버스를 통하여, 2N비트 데이터를 상기 2N비트 IP와 입출력하기 위한 제3포트; 및
    대응되는 N비트 버스를 통하여, N비트 데이터를 대응되는 N비트 IP와 각각 입출력하기 위한 제4포트 및 제5포트를 구비하며,
    상기 메모리 컨트롤러는,
    상기 2N비트 IP로부터 발생되고 상기 제3포트를 통하여 입력된 명령신호 및어드레스에 응답하여 상기 제1포트 및 상기 제2포트를 통하여 동시에 상기 어드레스에 대응되는 메모리 장치로부터 상기 N비트 데이터를 각각 패치하고, 패치된 2N비트 데이터를 상기 제3포트를 통하여 전송하거나,
    대응되는 상기 N비트 IP로부터 발생되고, 상기 제4포트 및/또는 제5포트를 통하여 입력되는 명령신호 및 어드레스에 응답하여 상기 제1포트 및/또는 상기 제2포트를 통하여 상기 어드레스에 대응되는 메모리 장치로부터 상기 N비트 데이터를 패치하고, 패치된 N비트 데이터를 상기 제4포트 및/또는 상기 제5포트로 전송하는 것을 특징으로 하는 컴퓨터 시스템.
  11. 제10항에 있어서, 상기 메모리 컨트롤러는,
    상기 2N비트 IP로부터 발생되고, 상기 제3포트를 통하여 입력되는 상기 2N비트의 데이터를 N비트씩 분할하고, 분할된 N비트 데이터를 대응되는 상기 제1포트 또는 상기 제2포트를 통하여 대응되는 메모리 장치로 출력하는 것을 특징으로 하는 컴퓨터 시스템.
  12. 제10항에 있어서, 상기 메모리 컨트롤러는 상기 대응되는 IP로부터 발생되고, 상기 제3포트 및/또는 상기 제4포트를 통하여 입력되는 상기 N비트 데이터를 상기 제1포트 및/또는 상기 제2포트를 통하여 상기 메모리 장치로 출력하는 것을 특징으로 하는 컴퓨터 시스템.
  13. 제10항에 있어서, 상기 명령신호는 데이터를 패치하기 위한 명령신호인 것을 특징으로 하는 컴퓨터 시스템.
  14. N비트 데이터를 각각 입출력하기 위한 제1포트 및 제2포트, 2N비트 데이터를 입출력하기 위한 제3포트; 및 상기 N비트 데이터를 각각 입출력하기 위한 제4포트 및 제5포트를 구비하는 메모리 컨트롤러가 데이터를 전송하는 방법에 있어서,
    상기 제3포트를 통하여 입력되는 명령신호와 어드레스, 또는 상기 제4포트와 상기 제5포트 중에서 어느 하나의 포트를 통하여 입력되는 명령신호와 어드레스를 수신하는 단계; 및
    상기 제3포트를 통하여 입력되는 상기 명령신호와 상기 어드레스에 응답하여 상기 제1포트 및 상기 제2포트를 통하여 대응되는 메모리 장치로부터 상기 N비트 데이터를 동시에 각각 패치하고, 패치된 2N비트 데이터를 상기 제3포트로 전송하거나, 또는
    상기 제4포트 및/또는 제5포트를 통하여 입력되는 상기 명령신호와 상기 어드레스에 응답하여 상기 제1포트 및/또는 상기 제2포트를 통하여 대응되는 메모리 장치로부터 상기 N비트 데이터를 각각 패치하고, 패치된 N비트 데이터 각각을 상기 제4포트 및/또는 상기 제5포트로 전송하는 것을 특징으로 하는 데이터 전송방법.
  15. 제14항에 있어서, 상기 데이터 전송방법은,
    상기 제3포트를 통하여 입력되는 상기 2N비트의 데이터를 N비트씩 분할하고,분할된 N비트 데이터를 대응되는 상기 제1포트 및 상기 제2포트를 통하여 상기 대응되는 메모리 장치로 각각 출력하는 것을 특징으로 하는 데이터 전송방법.
  16. 제14항에 있어서, 상기 데이터 전송방법은 상기 제3포트 및/또는 상기 제4포트를 통하여 입력되는 상기 N비트 데이터를 상기 제1포트 및/또는 상기 제2포트를 통하여 상기 대응되는 메모리 장치로 출력하는 것을 특징으로 하는 데이터 전송방법.
KR10-2002-0044677A 2002-07-29 2002-07-29 버스 대역폭을 증가시키기 위한 메모리 컨트롤러, 이를이용한 데이터 전송방법 및 이를 구비하는 컴퓨터 시스템 Expired - Fee Related KR100450680B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR10-2002-0044677A KR100450680B1 (ko) 2002-07-29 2002-07-29 버스 대역폭을 증가시키기 위한 메모리 컨트롤러, 이를이용한 데이터 전송방법 및 이를 구비하는 컴퓨터 시스템
US10/619,037 US6931462B2 (en) 2002-07-29 2003-07-14 Memory controller which increases bus bandwidth, data transmission method using the same, and computer system having the same
JP2003201884A JP4323241B2 (ja) 2002-07-29 2003-07-25 バス帯域幅を増加させるためのメモリコントローラ、これを利用したデータ伝送方法及びこれを備えるコンピュータシステム
US11/194,857 US20050265108A1 (en) 2002-07-29 2005-08-01 Memory controller which increases bus bandwidth, data transmission method using the same, and computer system having the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0044677A KR100450680B1 (ko) 2002-07-29 2002-07-29 버스 대역폭을 증가시키기 위한 메모리 컨트롤러, 이를이용한 데이터 전송방법 및 이를 구비하는 컴퓨터 시스템

Publications (2)

Publication Number Publication Date
KR20040011665A KR20040011665A (ko) 2004-02-11
KR100450680B1 true KR100450680B1 (ko) 2004-10-01

Family

ID=30768207

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0044677A Expired - Fee Related KR100450680B1 (ko) 2002-07-29 2002-07-29 버스 대역폭을 증가시키기 위한 메모리 컨트롤러, 이를이용한 데이터 전송방법 및 이를 구비하는 컴퓨터 시스템

Country Status (3)

Country Link
US (2) US6931462B2 (ko)
JP (1) JP4323241B2 (ko)
KR (1) KR100450680B1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941326B2 (en) * 2001-03-14 2011-05-10 Health Hero Network, Inc. Interactive patient communication development system for reporting on patient healthcare management
KR100450680B1 (ko) * 2002-07-29 2004-10-01 삼성전자주식회사 버스 대역폭을 증가시키기 위한 메모리 컨트롤러, 이를이용한 데이터 전송방법 및 이를 구비하는 컴퓨터 시스템
US7240144B2 (en) * 2004-04-02 2007-07-03 Arm Limited Arbitration of data transfer requests
US20060069896A1 (en) * 2004-09-27 2006-03-30 Sigmatel, Inc. System and method for storing data
US7532218B1 (en) * 2005-02-01 2009-05-12 Nvidia Corporation Method and apparatus for memory training concurrent with data transfer operations
JP4419868B2 (ja) 2005-02-25 2010-02-24 ソニー株式会社 情報処理装置および方法、メモリ制御装置および方法、記録媒体、並びにプログラム
JP4008933B2 (ja) * 2005-05-16 2007-11-14 株式会社東芝 磁気記録媒体およびその製造方法ならびに磁気記録装置
US20070239906A1 (en) * 2006-03-13 2007-10-11 Vakil Kersi H Input/output agent having multiple secondary ports
JP2009251945A (ja) * 2008-04-07 2009-10-29 Panasonic Corp メモリ制御装置
US8296526B2 (en) * 2009-06-17 2012-10-23 Mediatek, Inc. Shared memory having multiple access configurations
JP2012014397A (ja) * 2010-06-30 2012-01-19 Fujitsu Ltd 入出力制御装置、及び情報処理装置
EP2546754A1 (en) * 2011-07-14 2013-01-16 Samsung Electronics Co., Ltd. Memory control device and method
JP5864957B2 (ja) * 2011-08-31 2016-02-17 ルネサスエレクトロニクス株式会社 半導体装置
US8984203B2 (en) * 2012-10-09 2015-03-17 Sandisk Technologies Inc. Memory access control module and associated methods
KR102036514B1 (ko) 2015-07-13 2019-10-28 엘에스산전 주식회사 메모리 소자를 이용한 데이터 엑세스 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4514808A (en) * 1978-04-28 1985-04-30 Tokyo Shibaura Denki Kabushiki Kaisha Data transfer system for a data processing system provided with direct memory access units
US5594877A (en) * 1992-03-18 1997-01-14 Seiko Epson Corporation System for transferring data onto buses having different widths
JPH11249958A (ja) * 1998-03-03 1999-09-17 Fujitsu Ten Ltd メモリ制御システム
KR20010029924A (ko) * 1999-07-12 2001-04-16 마츠시타 덴끼 산교 가부시키가이샤 데이터 처리장치
KR20030043109A (ko) * 2001-11-27 2003-06-02 준 신 이 헬로우 캐소드 플라즈마를 이용한 실리콘 건식식각방법

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4309754A (en) * 1979-07-30 1982-01-05 International Business Machines Corp. Data interface mechanism for interfacing bit-parallel data buses of different bit width
US4361869A (en) * 1980-01-08 1982-11-30 Honeywell Information Systems Inc. Multimode memory system using a multiword common bus for double word and single word transfer
US4716527A (en) * 1984-12-10 1987-12-29 Ing. C. Olivetti Bus converter
JPH0786853B2 (ja) * 1988-02-29 1995-09-20 株式会社ピーエフユー バス転送制御方式
JPH0484253A (ja) * 1990-07-26 1992-03-17 Mitsubishi Electric Corp バス幅制御回路
US5255374A (en) * 1992-01-02 1993-10-19 International Business Machines Corporation Bus interface logic for computer system having dual bus architecture
JPH04306756A (ja) * 1991-04-03 1992-10-29 Mitsubishi Electric Corp データ転送システム
US5207586A (en) * 1991-10-24 1993-05-04 Intel Corporation Integral connector system for credit card size I/O card external connector
KR0126330Y1 (ko) * 1993-10-23 1998-12-15 김광호 텔레비젼 수상기의 더블스캔 제어회로
US5687102A (en) * 1995-05-26 1997-11-11 National Semiconductor Corp. Double precision (64 bit) shift operations using a 32 bit data path
US5828865A (en) * 1995-12-27 1998-10-27 Intel Corporation Dual mode bus bridge for interfacing a host bus and a personal computer interface bus
JPH1078934A (ja) * 1996-07-01 1998-03-24 Sun Microsyst Inc パケット切替えコンピュータ・システムのマルチサイズ・バス結合システム
JPH10133998A (ja) * 1996-11-05 1998-05-22 Canon Inc データ処理方法とその方法を用いた記録装置
US6182203B1 (en) * 1997-01-24 2001-01-30 Texas Instruments Incorporated Microprocessor
US5974463A (en) * 1997-06-09 1999-10-26 Compaq Computer Corporation Scaleable network system for remote access of a local network
JPH11149444A (ja) * 1997-11-19 1999-06-02 Nec Corp データ転送制御装置及びデータ転送制御システム並びにデータ転送制御方法
JP3681528B2 (ja) * 1997-12-22 2005-08-10 株式会社ルネサステクノロジ グラフィックプロセッサ及びデータ処理システム
US6742098B1 (en) * 2000-10-03 2004-05-25 Intel Corporation Dual-port buffer-to-memory interface
US6038630A (en) * 1998-03-24 2000-03-14 International Business Machines Corporation Shared access control device for integrated system with multiple functional units accessing external structures over multiple data buses
US6715023B1 (en) * 1999-09-23 2004-03-30 Altera Corporation PCI bus switch architecture
AU2001243463A1 (en) * 2000-03-10 2001-09-24 Arc International Plc Memory interface and method of interfacing between functional entities
US6715094B2 (en) * 2000-12-20 2004-03-30 Intel Corporation Mult-mode I/O interface for synchronizing selected control patterns into control clock domain to obtain interface control signals to be transmitted to I/O buffers
US6732247B2 (en) * 2001-01-17 2004-05-04 University Of Washington Multi-ported memory having pipelined data banks
KR100377361B1 (ko) * 2001-02-27 2003-03-26 삼성전자주식회사 모듈 및/또는 모듈 기능의 선택에 대한 식별음을 제공하는모듈라 텔레비젼
US6820167B2 (en) * 2002-05-16 2004-11-16 Hewlett-Packard Development Company, L.P. Configurable crossbar and related methods
US7133972B2 (en) * 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
KR100450680B1 (ko) * 2002-07-29 2004-10-01 삼성전자주식회사 버스 대역폭을 증가시키기 위한 메모리 컨트롤러, 이를이용한 데이터 전송방법 및 이를 구비하는 컴퓨터 시스템

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4514808A (en) * 1978-04-28 1985-04-30 Tokyo Shibaura Denki Kabushiki Kaisha Data transfer system for a data processing system provided with direct memory access units
US6047348A (en) * 1991-07-08 2000-04-04 Seiko Epson Corporation System and method for supporting a multiple width memory subsystem
US5594877A (en) * 1992-03-18 1997-01-14 Seiko Epson Corporation System for transferring data onto buses having different widths
US5887148A (en) * 1992-03-18 1999-03-23 Seiko Epson Corporation System for supporting a buffer memory wherein data is stored in multiple data widths based upon a switch interface for detecting the different bus sizes
JPH11249958A (ja) * 1998-03-03 1999-09-17 Fujitsu Ten Ltd メモリ制御システム
KR20010029924A (ko) * 1999-07-12 2001-04-16 마츠시타 덴끼 산교 가부시키가이샤 데이터 처리장치
KR20030043109A (ko) * 2001-11-27 2003-06-02 준 신 이 헬로우 캐소드 플라즈마를 이용한 실리콘 건식식각방법

Also Published As

Publication number Publication date
US20050265108A1 (en) 2005-12-01
KR20040011665A (ko) 2004-02-11
US6931462B2 (en) 2005-08-16
JP4323241B2 (ja) 2009-09-02
JP2004062900A (ja) 2004-02-26
US20040019748A1 (en) 2004-01-29

Similar Documents

Publication Publication Date Title
JP7565911B2 (ja) 専用低レイテンシリンクを使用した複数のハードウェアアクセラレータのための統合されたアドレス空間
KR100450680B1 (ko) 버스 대역폭을 증가시키기 위한 메모리 컨트롤러, 이를이용한 데이터 전송방법 및 이를 구비하는 컴퓨터 시스템
US4443846A (en) Dual port exchange memory between multiple microprocessors
US5408627A (en) Configurable multiport memory interface
US20080307422A1 (en) Shared memory for multi-core processors
US10162780B2 (en) PCI express switch and computer system using the same
JPH05204820A (ja) マイクロプロセッサ、処理システム、およびバスインタフェース
US20240394206A1 (en) Apparatus and mechanism to bypass pcie address translation by using alternative routing
US6633927B1 (en) Device and method to minimize data latency and maximize data throughput using multiple data valid signals
JP3799041B2 (ja) Vliwプロセッサ
US7254667B2 (en) Data transfer between an external data source and a memory associated with a data processor
EP0546354B1 (en) Interprocessor communication system and method for multiprocessor circuitry
KR20030083572A (ko) 상위버스와 하위버스를 가지며, 네트워크에서의 데이터액세스의 제어를 행하는 마이크로 컴퓨터 시스템
US20030009532A1 (en) Multiprocessor system having a shared main memory
JP4431492B2 (ja) 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット
US20250013584A1 (en) Method for interfacing a first data reading/ writing unit with a second data reading/writing unit and interface modules thereof
JP2005107873A (ja) 半導体集積回路
JP2007148622A (ja) インターフェース設定方法
KR100361657B1 (ko) 아이디이 타입의 하드 디스크 장치 및 그 제어 방법
EP0814412B1 (en) A digital signal processor and a method for interfacing a digital signal processor
CN111949573A (zh) 中继装置、记录介质和信息处理系统
KR20050067324A (ko) 마스터/슬레이브 디바이스간의 인터페이스 장치 및 그 방법
JP2000172627A (ja) 割込み制御回路
JPH04209051A (ja) マイクロプロセッサおよびそのシステム
JPH0934736A (ja) 動作切替えコントローラ

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20020729

PA0201 Request for examination
PG1501 Laying open of application
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: 20040826

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20040920

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20040921

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20070903

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20080904

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20090914

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20100830

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20110830

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20120831

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20120831

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20130902

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20130902

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20140901

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20140901

Start annual number: 11

End annual number: 11

FPAY Annual fee payment

Payment date: 20150831

Year of fee payment: 12

PR1001 Payment of annual fee

Payment date: 20150831

Start annual number: 12

End annual number: 12

FPAY Annual fee payment

Payment date: 20180831

Year of fee payment: 15

PR1001 Payment of annual fee

Payment date: 20180831

Start annual number: 15

End annual number: 15

FPAY Annual fee payment

Payment date: 20190830

Year of fee payment: 16

PR1001 Payment of annual fee

Payment date: 20190830

Start annual number: 16

End annual number: 16

PR1001 Payment of annual fee

Payment date: 20200831

Start annual number: 17

End annual number: 17

PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20220701