KR19980025044A - 메모리 제어 장치 - Google Patents

메모리 제어 장치 Download PDF

Info

Publication number
KR19980025044A
KR19980025044A KR1019970049127A KR19970049127A KR19980025044A KR 19980025044 A KR19980025044 A KR 19980025044A KR 1019970049127 A KR1019970049127 A KR 1019970049127A KR 19970049127 A KR19970049127 A KR 19970049127A KR 19980025044 A KR19980025044 A KR 19980025044A
Authority
KR
South Korea
Prior art keywords
data output
data
control means
transmission path
buffer memory
Prior art date
Application number
KR1019970049127A
Other languages
English (en)
Other versions
KR100299336B1 (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 모리시타 요우이치
Publication of KR19980025044A publication Critical patent/KR19980025044A/ko
Application granted granted Critical
Publication of KR100299336B1 publication Critical patent/KR100299336B1/ko

Links

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
    • 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/0626Reducing size or complexity of 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/0689Disk arrays, e.g. RAID, JBOD

Abstract

데이터를 저장하기 위한 복수의 저장 장치들로 구성되는 저장 장치 그룹과 이 저장 장치 그룹으로부터 전송된 데이터를 저장하기 위한 복수의 버퍼 메모리들로 구성되는 버퍼 메모리 그룹을 포함하는 복수의 데이터 전송 경로들을 갖고, 상이한 데이터 전송 경로들상의 복수의 개별적인 저장 장치들에 블록들을 저장하기 위해 화일을 주어진 사이즈의 복수의 블록들로 나누며, 버퍼 메모리에 접속된 터미널의 요구에 따라 저장 장치로부터 데이터가 판독되어 출력될 수 있도록 제어를 실행하는 메모리 제어 장치로서, 상이한 데이터 전송 경로들상의 저장 장치는 복수의 가상 저장 장치 그룹들을 생성하도록 선택되며, 상이한 데이터 전송 경로들상의 버퍼 메모리들은 복수의 가상 버퍼 메모리 그룹들을 생성하도록 선택되고, 상기 메모리 제어 장치는, 사이클 1에서 복수의 가상 저장 장치 그룹들중 규정된 가상 저장 장치 그룹에 나뉘어 저장된 데이터가 판독되어 상기 복수의 가상 버퍼 메모리 그룹들중 규정된 가상 버퍼 메모리 그룹에 일시적으로 저장되고, 상기 규정된 가상 버퍼 메모리 그룹을 제외한 가상 버퍼 메모리 그룹에 저장된 데이터가 출력되며, 사이클 2에서, 상기 규정된 가상 버퍼 메모리 그룹을 제외한 가상 버퍼 메모리 그룹에 나뉘어 저장된 데이터가 판독되어 상기 규정된 가상 버퍼 메모리 그룹을 제외한 가상 버퍼 메모리 그룹에 일시적으로 저장되고, 상기 규정된 가상 버퍼 메모리 그룹에 저장된 데이터가 출력되며, 이러한 사이클 1 및 2를 교대로 반복함으로써 복수의 가상 버퍼 메모리 그룹들로부터의 데이터 판독이 스위칭된다.

Description

메모리 제어 장치
본 발명은 메모리 제어 장치에 관한 것으로, 보다 구체적으로는, 다수의 버퍼 메모리들을 갖는 버퍼 메모리 제어 장치의 데이터 전송 효율에 관한 것이다.
도 5는 종래의 버퍼 메모리 제어 장치의 구조를 예시하는 블록도이다. 도 5에서, 버퍼 메모리들(11a∼11d, 12a∼12d)은 데이터 출력 장치(10)내에 포함된다. 버퍼 메모리들(21a∼21d, 22a∼22d)은 데이터 출력 장치(20)내에 포함된다. 저장 장치(100)는 데이터 출력 장치(10)에 접속된다. 저장 장치(200)는 데이터 출력 장치(20)에 접속된다. 저장 장치(100)를 제어하기 위해 인터페이스 회로(110)가 사용된다. 저장 장치(200)를 제어하기 위해 인터페이스 회로(210)가 사용된다. 데이터 수신 장치들(고객의 터미널)(4a∼4d)은 데이터의 전송 요구를 송출하는데 사용된다. 스위칭 회로(50)(중심부)는 데이터 출력 장치(10, 20)로 부터의 출력을 데이터 수신 장치(4a∼4d)에 접속하는데 사용된다.
데이터 화일들(A, B, C, D)(도시되지 않음)은 제각기 256KB의 블록 데이터 (A1, A2, …), (B1, B2, …), (C1, C2, …), (D1, D2, …)로 나뉘어지며, 저장 장치(100, 200)내에 저장된다. 이러한 예로서, 화일 A의 구조가 도 6에 도시된다. 도 6에서, 참조부호(1, 2, 3)는 제각기, 1KB의 소블록, 화일 A의 소블록 1 내지 256으로 구성되는 256KB의 블록 A1, 이 블록 A1에 연속하는 소블록 257 내지 512로 구성되는 256KB의 블록 A2로 나뉘어지는 화일 A를 표시한다. 이러한 방식으로, 화일 A는 다수의 256KB 블록들로 나뉘어진다. 도 5에 도시된 바와 같이, 홀수의 블록들(A1, A3, …)과 짝수 블록들(A2, A4, …)은 제각기 저장 장치(100, 200)에 저장된다. 마찬가지로, 이들이 도면중에 도시되지는 않았지만, 화일 B는 데이터 B1 내지 B6로 나뉘어지고, 저장 장치(100, 200)내에 저장되며, 화일 C는 데이터 C1 내지 C6로 나뉘어지고, 저장 장치(100, 200)내에 저장되며, 화일 D는 데이터 D1 내지 D6로 나뉘어지고, 저장 장치(100, 200)내에 저장된다.
화일 A의 데이터를 데이터 수신 장치(4a)로, 화일 B의 데이터를 데이터 수신 장치(4b)로, 화일 C의 데이터를 데이터 수신 장치(4c)로, 화일 D의 데이터를 데이터 수신 장치(4d)로 동시에 전송하는 방법이 일본 특허 출원 제 5-35407 호에 개시되어 있으며, 도 7을 참조하여 설명된다. 도 7은 종래의 버퍼 메모리 제어 장치에서 매 싸이클마다 저장 장치로 부터의 데이터 판독과 데이터 수신 장치로의 데이터 출력간의 관계를 예시하는 도면이다.
사이클 1에서, 데이터 출력 장치(10)는 저장 장치(100)로부터 블록 데이터 A1를 판독하여, 버퍼 메모리(11a)내에 블록 데이터 A1을 일시적으로 저장한다. 그리고 나서, 데이터 출력 장치(10)는 저장 장치(100)로부터 블록 데이터 B1을 판독하여, 버퍼 메모리(11b)에 블록 데이터 B1를 일시적으로 저장한다. 데이터 출력 장치(20)는 저장 장치(200)로부터 블록 데이터 C2를 판독하여, 버퍼 메모리(21c)에 블록 데이터 C2를 일시적으로 저장한다. 그리고 나서, 데이터 출력 장치(20)는 저장 장치(200)로부터 블록 데이터 D2를 판독하여, 버퍼 메모리(21d)에 블록 데이터 D2를 일시적으로 저장한다.
사이클 2에서, 데이터 출력 장치(10)는 저장 장치(100)로부터 블록 데이터 C3를 판독하여, 버퍼 메모리(11c)에 블록 데이터 C3을 일시적으로 저장한다. 그리고 나서, 데이터 출력 장치(10)는 저장 장치(100)로부터 블록 데이터 D3를 판독하여, 버퍼 메모리(11d)에 블록 데이터 D3를 일시적으로 저장한다. 데이터 출력 장치(20)는 저장 장치(200)로부터 블록 데이터 A2를 판독하여, 버퍼 메모리(21a)에 블록 데이터 A2를 일시적으로 저장한다. 그리고 나서, 데이터 출력 장치(20)는 데이터 저장 장치(200)로부터 블록 데이터 B2를 판독하여, 버퍼 메모리(21b)에 블록 데이터 B2를 일시적으로 저장한다. 또한, 데이터 출력 장치(10)는 버퍼 메모리(11a)에 일시적으로 저장된 블록 데이터 A1를 스위칭 장치(50)를 통해 데이터 수신 장치(4a)로 출력하며, 동시에, 버퍼 메모리(11b)에 일시적으로 저장된 블록 데이터 B1를 스위칭 장치(50)를 통해 데이터 수신 장치(4b)로 출력한다. 데이터 출력 장치(20)는 버퍼 메모리(21c)에 일시적으로 저장된 블록 데이터 C2를 스위칭 장치(50)를 통해 데이터 수신 장치(4c)로 출력하며, 동시에, 버퍼 메모리(21d)에 일시적으로 저장된 블록 데이터 D2를 스위칭 장치(50)를 통해 데이터 수신 장치(4d)로 출력한다.
사이클 3에서, 데이터 출력 장치(10)는 저장 장치(100)로부터 블록 데이터 A3를 판독하여, 버퍼 메모리(12a)에 블록 데이터 A3를 일시적으로 저장한다. 그리고 나서, 데이터 출력 장치(10)는 저장 장치(100)로부터 블록 데이터 B3를 판독하여, 버퍼 메모리(12b)에 블록 데이터 B3를 일시적으로 저장한다. 데이터 출력 장치(20)는 저장 장치(200)로부터 블록 데이터 C4를 판독하여, 버퍼 메모리(22c)에 블록 데이터 C4를 일시적으로 저장한다. 그리고 나서, 데이터 출력 장치(20)는 저장 장치(200)로부터 블록 데이터 D4를 판독하여, 버퍼 메모리(22d)에 블록 데이터 D4를 일시적으로 저장한다. 또한, 데이터 출력 장치(10)는 버퍼 메모리(11c)에 일시적으로 저장된 블록 데이터 C3를 스위칭 장치(50)를 통해 데이터 수신 장치(4c)로 출력하며, 동시에, 버퍼 메모리(11d)에 일시적으로 저장된 블록 데이터 D3를 스위칭 장치(50)를 통해 데이터 수신 장치(4d)로 출력한다. 데이터 출력 장치(20)는 버퍼 메모리(21a)에 일시적으로 저장된 블록 데이터 A2를 스위칭 장치(50)를 통해 데이터 수신 장치(4a)로 출력하며, 버퍼 메모리(21b)에 일시적으로 저장된 블록 에디터 B2를 스위칭 장치(50)를 통해 데이터 수신 장치(4b)로 출력한다. 사이클 3에서 데이터 출력 장치(10)로부터의 데이터 전송 개시는, 사이클 2에서 데이터 출력 장치(10)로부터 데이터 수신 장치(4a) 또는 데이터 수신 장치(4b)로의 데이터 전송이 완료되지 않은 경우 지연됨에 주의해야 한다. 몇몇 화일들에서, 데이터 수신 장치에 의해 요구되는 데이터 전송 속도는 느리고, 따라서, 데이터 출력 장치(10)로부터 데이터 출력 장치(20)로의 스위칭이 언제 수행되어야 할지를 지정하는 것이 불가능하다. 이들 출력 장치간의 스위칭은 화일들 B, C, 및 D간의 스위칭과 동일하다. 데이터가 유연하게 전송될 경우, 비디오-화일-1과 비디오-화일-2는 모든 주어진 시간마다 스위칭되어, 도 8에 예시된 바와 같이, 1.5Mbps의 최대 전송 효율로 데이터 출력 장치(10, 20)로부터 순차적으로 판독된다. 비디오-화일-1의 판독이 계속되는 비디오-화일-2의 판독이 개시되는 시간까지 완료되지 않은 경우, 비디오-화일-1의 판독 기간은 도 9에 도시된 바와 같이 비디오-화일-2의 판독 기간과 겹치며, 1.5Mbps보다 높은 최대 효율로 데이터가 적절히 판독될 수 없고, 이러한 데이터는 쓸모없게 되거나 비디오-화일-1의 판독이 완료될 때까지 스크린이 일시적으로 정지되며, 디스플레이는 비디오-화일-1의 판독이 완료된 후에 재개시된다.
사이클 4에서, 데이터 출력 장치(10)는 저장 장치(100)로부터 블록 데이터 C5를 판독하여, 버퍼 메모리(11c)에 블록 데이터 C5를 일시적으로 저장한다. 그리고 나서, 데이터 출력 장치(10)는 저장 장치(100)로부터 블록 데이터 D5를 판독하여, 버퍼 메모리(12d)에 블록 데이터 D5를 일시적으로 저장한다. 데이터 출력 장치(20)는 저장 장치(200)로부터 블록 데이터 A4를 판독하여, 버퍼 메모리(22a)에 블록 데이터 A4를 일시적으로 저장한다. 그리고 나서, 데이터 출력 장치(20)는 데이터 저장 장치(200)로부터 블록 데이터 B4를 판독하여, 버퍼 메모리(22d)에 블록 데이터 B4를 일시적으로 저장한다. 또한, 데이터 출력 장치(10)는 버퍼 메모리(12a)에 일시적으로 저장된 블록 데이터 A3를 스위칭 장치(50)를 통해 데이터 수신 장치(4a)로 출력하며, 동시에, 버퍼 메모리(12b)에 일시적으로 저장된 블록 데이터 B3를 스위칭 장치(50)를 통해 데이터 수신 장치(4b)로 출력한다. 데이터 출력 장치(20)는 버퍼 메모리(22c)에 일시적으로 저장된 블록 데이터 C4를 스위칭 장치(50)를 통해 데이터 수신 장치(4c)로 출력하며, 동시에, 버퍼 메모리(22d)에 일시적으로 저장된 블록 데이터 D4를 스위칭 장치(50)를 통해 데이터 수신 장치(4d)로 출력한다.
계속되는 사이클들에서, 사이클 1 내지 4에서와 같이, 각 데이터 출력 장치(10, 20)는 판독될 블록을 판독하여, 할당된 버퍼 메모리에 블록을 일시적으로 저장한 후, 다음 사이클에서, 데이터 출력 장치들은 이들 블록을 데이터 수신 장치(4a∼4d)로 제각기 출력한다. 이러한 처리는 마지막 화일까지 반복된다. 이러한 방식으로, 저장 장치(100, 200)로부터의 판독을 위한 버퍼 메모리들과 데이터 수신 장치로의 데이터 출력을 위한 버퍼 메모리들간에 교대로 스위칭이 수행됨으로써, 다양한 전송 속도로 데이터 화일들을 순차적으로 출력할 수 있다. 데이터를 4개의 데이터 수신 장치들로 출력하기 위해, 데이터 출력 장치(10, 20)는 각기 256KBX8개의 버퍼 메모리들을 요구하며, 따라서, 전체 시스템내에 총 4MB의 메모리 용량을 요구한다.
이상과 같이 구성된 종래의 메모리 제어 장치에서, 판독을 위한 버퍼 메모리들과 데이터 수신 장치로의 데이터 출력을 위한 버퍼 메모리들은 교대로 스위칭되며, 이에 의해 다양한 전송 속도로 데이터 화일들을 연속적으로 출력할 수 있다. 그러나 이러한 구성을 사용하면 버퍼 메모리의 총 용량이 매우 커져서 전체 시스템의 비용을 상승시킨다고 하는 문제점이 있다. 버퍼 메모리의 사이즈가 감소되어 비용이 감소되면, 1회의 판독시에 저장 장치(100, 200)로부터 판독될 수 있는 데이터 량이 감소되므로, 동일한 용량의 데이터를 판독하기 위해 데이터를 액세스하는 빈도수가 증가하고 데이터 판독에 사용가능한 시간은 더 짧아진다. 저장 장치(100, 200)에서는, 범용 하드 디스크 드라이브(HDD)에서처럼 디스크로부터 데이터를 판독하기 위한 헤드의 이동 시간으로서의 탐색 시간 또는 저장 영역이 헤드의 근방으로 회전하기 전까지의 대기 시간과 같은 손실 시간이 존재한다. 이러한 이유로, 버퍼 메모리의 사이즈가 감소되고 액세스 빈도수가 증가되면, 사이클에서 대부분의 시간은 탐색 시간 또는 손실 시간에 의해 소비된다. 결과적으로, 주어진 시간에 데이터 저장 장치(100, 200)로부터 판독될 수 있는 데이터 량은 감소되고, 따라서, 사이클마다 데이터 출력 장치(10, 20)로부터 출력되는 데이터 량이 감소되며, 결과적으로, 데이터를 출력할 수 있는 데이터 수신 장치 수는 감소한다.
본 발명의 목적은 데이터를 출력할 수 있는 데이터 수신 장치의 수를 감소시키지 않고 버퍼 메모리의 요구되는 총 용량을 감소시킨 메모리 제어 장치를 제공하는 것이다.
본 발명에 따른 메모리 제어 장치는, 데이터를 저장하기 위한 복수의 저장 장치들로 구성되는 저장 장치 그룹과, 이 저장 장치 그룹으로부터 전송된 데이터를 저장하기 위한 복수의 버퍼 메모리들로 구성되는 버퍼 메모리 그룹을 포함하는 복수의 데이터 전송 경로들을 갖고, 상이한 데이터 전송 경로들상에서 복수의 각 저장 장치들에 블록들을 저장하기 위해 화일을 주어진 사이즈의 복수의 블록들로 나누며, 버퍼 메모리에 접속된 터미널의 요구에 따라 저장 장치로부터 데이터가 판독되어 출력될 수 있도록 제어를 실행하되, 상이한 데이터 전송 경로들상의 저장 장치들은 복수의 가상 저장 장치 그룹들을 생성하도록 선택되고, 상이한 데이터 전송 경로들상의 버퍼 메모리들은 복수의 가상 버퍼 메모리 그룹을 생성하도록 선택되며, 상기 메모리 제어 장치는, 사이클 1에서, 복수의 가상 저장 장치 그룹들중 규정된 가상 저장 장치에 나뉘어 저장된 데이터가 복수의 가상 버퍼 메모리 그룹들중 규정된 가상 버퍼 메모리 그룹에 일시적으로 저장될 수 있고, 사이클 2에서 규정된 가상 버퍼 메모리 그룹을 제외한 가상 버퍼 메모리 그룹에 저장된 데이터, 규정된 가상 버퍼 메모리 그룹을 제외한 가상 버퍼 메모리 그룹에 나뉘어 저장된 데이터는 규정된 가상 버퍼 메모리 그룹을 제외한 가상 버퍼 메모리 그룹에 일시적으로 저장될 수 있도록 제어를 실행하고, 규정된 가상 버퍼 메모리 그룹에 저장된 데이터를 출력하며, 사이클 1 및 사이클 2를 교대로 반복함으로써 복수의 가상 버퍼 메모리 그룹으로부터의 데이터 판독을 스위칭하는 데이터 출력 제어 수단을 포함한다.
그러므로 데이터 출력 장치의 버퍼 메모리들의 총 용량이 감소될 수 있다.
또한, 가상의 저장 장치 그룹들의 수가 3이상이거나 가상 버퍼 메모리 그룹들이 자유 버퍼 메모리들로서 관리될 경우, 버퍼 메모리들의 총 용량이 감소될 수 있다.
또한, 본 장치는 가상 버퍼 메모리 그룹들의 수를 3 이상으로 설정함으로써 데이터 수신 장치로의 데이터 전송 속도의 변동을 극복할 수 있다.
또한, 네트워크 인터페이스 회로가 버퍼 메모리들에 접속됨으로써, 데이터를 전세계의 데이터 수신 장치로 용이하게 전송할 수 있다.
또한, 버스 인터페이스 회로가 버퍼 메모리들에 접속됨으로써, 고 품질의 비디오가 고속으로 전송될 수 있다.
또한, 데이터 출력 제어 수단과 데이터 전송 경로간의 접속이 네트워크로 확립됨으로써, 이들을 예를 들면 상이한 건물내에 서로로부터 멀리 이격되어 위치시킬 수 있다.
또한, 데이터 출력 제어 수단과 데이터 전송 경로간의 접속이 버스에 의해 확립됨으로써, 규정된 시간내에 데이터 출력 제어 수단으로부터의 더욱 많은 제어 인스트럭션을 데이터 전송 경로로 전송할 수 있고, 데이터 수신 장치의 수가 증가된다.
또한, 데이터 출력 제어 수단과 데이터 전송 경로간의 접속이 직렬로 확립됨으로써, 데이터 출력 제어 수단과 데이터 전송 경로가 약 10미터까지 이격되어 위치되며, 데이터 출력 제어 수단 및 데이터 전송 경로의 이용이 감소될 수 있다.
또한, 복수의 데이터 전송 경로들에 대한 동기 제어가 지정된 에러 범위내에서 수행되므로, 데이터 수신 장치에서 데이터를 끊임없이 연속적으로 재생할 수 있다.
또한, 데이터 출력 장치로의 제어 인스트럭션이 데이터 전송 경로로 전송되도록 구성되므로, 데이터 출력 제어 수단에 대한 부하가 감소될 수 있다.
또한, 제어 인스트럭션이 DMA에 의해 데이터 출력 제어 수단으로부터 데이터 전송 경로로 전송되므로, 데이터 출력 제어 수단의 동작에 대한 부하가 감소될 수 있다.
따라서, 본 발명의 메모리 제어 장치에 따르면, 버퍼 메모리의 총 용량이 데이터 수신 장치의 수를 감소시키지 않고 감소될 수 있으며, 시스템 설계 또는 제어 방법이 필요에 따라 변경될 수 있다.
본 발명의 상기한 목적 및 본 발명의 장점들은 이후의 상세한 설명으로부터 명백하게 된다. 당 분야에 숙련된 자라면 상세한 설명으로부터 본 발명의 범주내에서 다양한 추가 및 변경이 가능하므로, 기술된 상세한 설명 및 특정 실시예는 단지 예시를 목적으로 제공된다.
도 1a는 본 발명의 실시예 1에 따른 메모리 제어 장치내의 화일 A의 구조를 예시하는 도면,
도 1b는 본 발명의 실시예 4, 10 및 11에 따른 메모리 제어 장치의 구조를 예시하는 블록도,
도 2는 본 발명의 실시예 2에 따른 메모리 제어 장치를 예시하는 블록도,
도 3은 본 발명의 실시예 3에 따른 메모리 제어 장치의 구조를 예시하는 블록도,
도 4는 본 발명의 실시예 5 내지 9 및 12에 따른 메모리 제어 장치의 구조를 예시하는 블록도,
도 5는 종래의 메모리 제어 장치를 예시하는 블록도,
도 6은 종래의 메모리 제어 장치에서 화일의 구조를 예시하는 블록도,
도 7은 종래의 버퍼 메모리 제어 장치에 있어서 각 사이클에 대해 저장 장치로부터 판독된 데이터와 데이터 수신 장치로 출력되는 데이터 사이의 관계를 예시하는 도면,
도 8은 종래의 메모리 제어 장치의 정상 데이터 전송을 설명하기 위한 도면,
도 9는 종래의 메모리 제어 장치의 비정상 데이터 전송을 설명하기 위한 도면.
도면의 주요 부분에 대한 부호의 설명
100, 101, 200, 201 : 저장 장치 81, 82 : 가상 저장 장치 그룹
110, 210 : 인터페이스 회로 71, 72 : 가상 버퍼 메모리 그룹
10, 20 : 데이터 출력 장치 50 : 스위칭 장치
60 : 데이터 출력 장치 제어 회로
4a, 4b, 4c, 4d : 데이터 수신 장치
(실시예 1)
본 발명의 실시예 1에 따른 메모리 제어 장치가 이제부터 도면을 참조하여 설명된다.
도 1a는 화일 A의 구조를 예시한다. 도 1a에 도시된 바와 같이, 화일 A는 1KB 사이즈의 블록들 a1, a2, a3, …로 나뉘어진다. 도 1b는 실시예 1에 따른 메모리 제어 장치의 구조를 예시하는 블록도이다. 도 1a 및 1b에서, 버퍼 메모리들(11a∼11d, 12a∼12d)은 데이터 출력 장치(10)내에 포함된다. 버퍼 메모리들(21a∼21d, 22a∼22d)을 데이터 출력 장치(20)내에 포함된다. 저장 장치(100, 101)는 데이터 출력 장치(10)에 접속된다. 저장 장치(200, 201)는 데이터 출력 장치(20)에 접속된다. 인터페이스 회로(110)는 저장 장치(100, 101)를 제어하는데 사용된다. 데이터 수신 장치(4a∼4d)는 데이터의 전송 요구를 송출하는데 사용된다. 스위칭 장치(50)는 데이터 출력 장치(10, 20)로부터 출력된 데이터를 데이터 수신 장치(4a∼4d)에 접속하는데 사용된다. 데이터 출력 장치 제어 회로(60)는 데이터 출력 장치(10, 20)를 제어하는데 사용된다. 가상 버퍼 메모리 그룹(71)은 버퍼 메모리들(11a, 21a)을 포함한다. 가상 버퍼 메모리 그룹(72)은 버퍼 메모리들(12a, 22a)을 포함한다. 가상 저장 장치 그룹(82)은 저장 장치(101, 201)를 포함한다.
본 실시예에서, 도 1a에 도시된 화일 A가 저장 장치(100, 101, 200, 201)에 저장될 때, 256KB 사이즈의 블록 a1 내지 a256은 가상 저장 장치 그룹(81)을 구성하는 저장 장치(100, 200)에 저장된다. 이 경우, 홀수의 128개 블록들 a1, a3, …, a255은 128KB 사이즈의 블록으로 저장 장치(100)에 저장되며, 짝수의 128개 블록들 a2, a4, …a256은 128KB 사이즈의 블록으로 저장 장치(200)에 저장된다.
화일 A를 구성하는 256KB 사이즈의 계속되는 블록들 a257 내지 a512은 가상 저장 장치 그룹(82)을 구성하는 저장 장치들(101, 201)에 저장된다. 또한 이 경우에도, 홀수의 128개 블록들 a257, a259, …, a511은 128KB 사이즈의 블록으로 저장 장치(101)에 저장되며, 짝수의 128개 블록들 a258, a260, …, a512은 128KB 사이즈의 블록으로 저장 장치(201)에 저장된다.
블록 a513에 계속되는 블록들은 256KB 사이즈의 블록으로 가상 저장 장치 그룹들(81, 82)에 교대로 저장된다. 이와 같이하여 저장 장치들(100, 102, 200, 201)에 저장된 화일 A의 데이터를 데이터 수신 장치(4a)로 전송하는 동작이 이하에서 설명된다.
사이클 1에서, 데이터 출력 장치(10, 20)는 가상 저장 장치 그룹(81)으로부터 화일 A의 256KB 사이즈의 블록들 a1 내지 a256을 판독하여, 이를 데이터 출력 장치 제어 회로(60)의 제어에 따라 가상 버퍼 메모리 그룹(71)에 저장한다. 즉, 인터페이스 회로(110)는 저장 장치(100)로부터 블록들 a1, a3, …, a255를 판독하여 이를 버퍼 메모리(11a)에 일시적으로 저장하며, 인터페이스 회로(210)는 저장 장치(200)로부터 블록들 a2, a4, …a256을 판독하여, 이를 버퍼 메모리(21a)에 일시적으로 저장한다.
사이클 2에서, 데이터 출력 장치(10, 20)는 데이터 출력 장치 제어 회로(60)의 제어에 따라 가상 버퍼 메모리 그룹(71)에 저장된 블록들 a1 내지 a256을 출력한다. 즉, 데이터 출력 장치(10)는 버퍼 메모리(11a)에 저장된 블록 a1을 출력하고 데이터 출력 장치(20)는 버퍼 메모리(21a)에 저장된 블록 a2을 출력하며, 데이터 출력 장치(10)는 버퍼 메모리(11a)에 저장된 블록 a3을 출력하고 데이터 출력 장치(20)는 버퍼 메모리(21a)에 저장된 블록 a4를 출력한다. 그 후, 마찬가지로, 데이터 출력 장치(10, 20)는 교대로 버퍼 메모리들(11a, 21a)에 저장된 블록들 a5, …a256을 블록 번호의 오름차순으로 출력한다. 가상 버퍼 메모리 그룹(71)으로부터 출력된 블록 데이터 a1 내지 a256는 스위칭 장치(50)를 통해 데이터 수신 장치(4a)로 전송된다.
동시에 사이클 2에서, 데이터 출력 장치(10, 20)는 데이터 출력 장치 제어 회로(60)의 제어에 따라 화일 A를 구성하는 256KB 사이즈의 데이터 블록들 a257 내지 a512을 가상 저장 장치 그룹(82)으로부터 판독하여, 이를 가상 버퍼 메모리 그룹(72)에 일시적으로 저장한다. 즉, 인터페이스 회로(110)는 저장 장치(101)로부터 블록들 a257, 259, …a511을 판독하여, 이를 버퍼 메모리(12a)에 일시적으로 저장하며, 인터페이스 회로(210)는 저장 장치(201)로부터 블록들 a258, 260, …, a512를 판독하여, 이를 버퍼 메모리(22a)에 일시적으로 저장한다.
사이클 3에서, 데이터 출력 장치(10, 20)는 데이터 출력 장치 제어 회로(60)의 제어에 따라 가상 버퍼 메모리 그룹(72)에 저장된 블록들 a257 내지 a512을 출력한다. 가상 버퍼 메모리 그룹(72)으로부터 출력된 블록 데이터 a257 내지 a512는 스위칭 장치(50)를 통해 데이터 수신 장치(4a)로 전송된다.
동시에 사이클 3에서, 데이터 출력 장치(10, 20)는 화일 A를 구성하는 256KB 사이즈의 블록들 a513 내지 a768을 판독하여, 이를 데이터 출력 장치 제어 회로(60)의 제어에 따라 가상 버퍼 메모리 그룹(71)에 일시적으로 저장한다.
사이클 4에서, 데이터 출력 장치(10, 20)는 데이터 출력 장치 제어 회로(60)의 제어에 따라 가상 버퍼 메모리 그룹(71)에 저장된 블록들 a513 내지 a768(미도시됨)을 출력한다. 가상 버퍼 메모리 그룹(71)으로부터 출력된 블록 데이터 a513 내지 a768은 스위칭 장치(50)를 통해 데이터 수신 장치(4a)로 전송된다.
동시에 사이클 4에서, 데이터 출력 장치(10, 20)는 화일 A를 구성하는 256KB 사이즈의 블록들 a769 내지 a1024(미도시됨)을 판독하여, 이를 데이터 출력 장치 제어 회로(60)의 제어에 따라 가상 버퍼 메모리 그룹(72)에 일시적으로 저장한다.
마찬가지로, 사이클 5를 포함하는 계속되는 사이클들에서, 데이터의 판독은 매 사이클마다 가상 저장 장치 그룹들(81, 82)간에 스위칭되며, 동시에 데이터의 저장 또는 출력은 가상 버퍼 메모리 그룹들(71, 72)간에 순차적으로 스위칭된다.
따라서, 실시예 1에 따른 메모리 제어 장치에서는, N번째 사이클에서, 가상 저장 장치 그룹(81)으로부터 판독된 데이터는 가상 버퍼 메모리 그룹(71)에 일시적으로 저장되며, 동시에, (N-1)번째 사이클에서 가상 버퍼 메모리 그룹(72)에 저장된 데이터가 데이터 수신 장치(4a)로 출력되며, (N+1)번째 사이클에서는, N번째 사이클에서 가상 버퍼 메모리 그룹(71)에 저장된 데이터가 데이터 수시 장치(4a)로 출력되고, 가상 저장 장치 그룹(82)으로부터 판독된 데이터가 가상 버퍼 메모리 그룹(72)에 저장된다. 이와 같은 방식으로, 데이터가 판독되는 가상 저장 장치(81, 82)와 데이터가 저장 및 출력되는 가상 버퍼 메모리 그룹(71, 72)의 스위칭은 제각기 매 사이클마다 수행된다. 그러므로 각각의 데이터 출력 장치(10, 20)는 각기 데이터 수신 장치(4a∼4d)로 임의 화일 데이터를 전송하기 위해 120KBX8의 버퍼 메모리들을 요구하며, 따라서, 전체 시스템내 메모리들의 총 용량은 2MB이다. 결과적으로, 요구되는 버퍼 메모리들의 총 용량이 감소될 수 있다.
또한, 앞서 설명된 구성에서 최대 전송 효율이 75Mbps이고 고객의 수가 100이라고 가정하였을 때, t=0인 시점에서 50개의 고객 터미널이 1.5Mbps(사이클 시간 1.33)로 비디오 스트림 판독 요구를 송출하고, 50개의 고객 터미널이 1.3Mbps(사이클 시간 1.54)로 비디오 스트림의 판독 요구를 송출한 경우, 총 비트 속도 G1, G2는 제각기,
사이클 1(0≤t≤1.33)에서
G1(t)=1.5X50=75(Mbps)
G2(t)=1.3X50=65(Mbps)로,
사이클 2(1.33≤t≤1.54)에서
G1(t)=0(Mbps)
G2(t)=(1.3+1.5)X50=140(Mbps)로,
사이클 3(1.54≤t≤2.66)에서
G1(t)=1.3X50=65(Mbps)
G2(t)=1.5X50=75(Mbps)로,
사이클 4(2.66≤t≤3.08)에서
G1(t)=(1.3+1.5)X50=140(Mbps)
G2(t)=0(Mbps)
로 표현된다.
상기한 식들로부터 알 수 있는 바와 같이, 사이클 2와 4에서, 요구된 총 비트 속도는 최대 전송 효율을 초과하며, 연속적인 전송이 수행될 수 없다. 그러나 본 실시예에서는 가상 저장 장치 그룹들과 가상 버퍼 메모리 그룹들이 전송을 위해 사용된다. 결과적으로, 각 사이클에서,
G1(t)=(1.5/2+1.3/2)X50=70(Mbps)
G2(t)=(1.5/2+1.3/2)X50=70(Mbps)
이다. 따라서, 총 비트 속도 G1, G2는 항상 일정하며, 최대 전송 효율(75Mbps)보다 낮다. 그러므로 전송 처리는 어렵지 않으며, 비디오의 불연속 및 부족이 발생하지 않는다.
(실시예 2)
본 발명의 실시예 2에 따른 메모리 제어 장치가 설명된다. 실시예 2에 따른 메모리 제어 장치는 3개 이상의 가상 저장 장치 그룹들을 포함하며, 데이터가 판독되는 가상 저장 장치 그룹들(81, 82, …, 8n)의 스위칭은 매 사이클마다 순차적으로 수행된다.
예를 들어, 저장 장치(100, 101, 200, 201)로서 3.5인치 하드 디스크 드라이브(HDD)를 사용할 경우에, HDD의 저장 용량은 최근 몇 년간 증가되어 왔지만, HDD는 고작 최대 9GB 용량을 갖는다. 실시예 1에 도시된 바와 같은 4개의 저장 장치(100, 101, 200, 201)를 포함하는 시스템은 9GB 용량의 HDD가 사용되었을 때 고작 36GB의 총 저장 용량을 갖는다. 예를 들어, 36GB 저장 용량을 갖는 시스템에 2시간짜리 영화가 저장된 경우가 설명된다. 동화상 압축 포맷 MPEG 1에 따라 2시간짜리 영화를 압축하는데 약 1.3GB 저장 용량이 필요하다. S-VHS와 같은 고 품질의 영상을 위해 동화상 압축 포맷 MPEG 2에 따라 2시간짜리 영화를 압축하는데는 약 5.2GB 저장 용량이 필요하므로, 36GB 저장 용량의 시스템은 MPEG 1에 따라서는 27편의 영화를 MPEG 2에 따라서는 6편의 영화만을 저장할 수 있다. 그러므로 전체 시스템의 총 저장 용량을 증가시킬 필요가 있다. 그러나 가상 저장 장치 그룹들의 수가 실시예 1에서처럼 2로 제한된 경우, 각각의 저장 장치(100, 101, 200, 201)는 제한된 용량을 가지므로, 전체 시스템의 총 저장 용량을 증가시키는 것은 쉽지 않다.
가상 저장 장치 그룹들(81, 82)내의 저장 장치(100, 101, 200, 201)의 수가 증가되었다고 가정하자. 저장 장치들의 수의 증가는 제각기 가상 저장 장치(81, 82)내에 독립 디스크의 잉여 어레이(Redundant Arrays of Independent Disks;RAID)를 생성한다. RAID는, 데이터가 하나의 HDD에 대해 기입/판독되는 것이 아니라 임의 사이즈의 데이터가 나뉘어져서 복수의 HDD에 대해 병렬로 기입/판독됨으로써 처리 시간이 하나의 HDD가 사용된 경우에 비해 감소되는 저장 장치의 한 방법이다. 이러한 방법에 따르면, 하나의 RAID를 구성하는 복수의 가상 저장 장치 그룹들(81, 82)이 존재하며, 전체 저장 장치 그룹(81, 82)는 RAID로서 처리된다. 결과적으로, 복수의 RAID들의 제어는 매우 복잡하며 실용적이지 못하다.
실시예 2에 따르면, 가상 저장 장치 그룹(81, 82)의 수가 도 2에 도시된 바와 같이 3이상으로 세트되며, 데이터는 매 사이클마다 복수의 가상 저장 장치 그룹들에 대한 스위칭을 순차적으로 수행함으로써 판독된다. 결과적으로, 전체 시스템의 총 저장 용량이 쉽게 증가될 수 있다.
(실시예 3)
본 발명의 실시예 3에 따른 메모리 제어 장치가 설명된다. 실시예 3에 따른 메모리 제어 장치는 3개 이상의 가상 버퍼 메모리 그룹들을 포함하며, 스위칭은 데이터가 출력되는 가상 버퍼 메모리 그룹(7n-1(7n))과 데이터가 일시적으로 저장되는 가상 버퍼 메모리 그룹(7n(7n-1)) 사이에 매 사이클마다 순차적으로 수행된다.
가상 버퍼 메모리 그룹들의 수가 실시예 1에서처럼 2로 제한된 경우, 장치는 데이터가 데이터 수신 장치(4a∼4d)로 전송되는 속도의 변동에 대처할 융통성이 없다.
데이터가 가상 버퍼 메모리 그룹들(71, 72)로부터 출력되는 데이터 전송 속도가 다양한 동화상 압축 포맷의 평균 데이터 전송 속도에서의 상한(MPEG1의 경우 1.5Mbps, MPEG2의 경우 6Mbps)보다 낮은 경우, N번째 사이클의 끝에서 가상 버퍼 메모리 그룹(71(72))에 남아 있는 얼마간의 데이터가 존재하므로, 가상 버퍼 메모리 그룹(71(72))에 저장될 후속하는 데이터가 판독될 수 없다. 후속하는 데이터는 (N+1) 사이클 이후의 타이밍에서 판독되게 된다. 가상 버퍼 메모리 그룹(71(72))에 남아 있는 데이터와 가상 버퍼 메모리 그룹(72(71))에 저장된 데이터가 (N+2)번째 사이클의 완료시에 연속적으로 출력되지 않으면, 비디오의 불연속이 발생한다. 또한, 데이터가 가상 버퍼 메모리 그룹으로부터 출력되는 전송 속도가 다양한 동화상 압축 포맷에서 평균 데이터 전송 속도의 상한보다 높으면, 가상 버퍼 메모리 그룹(71, 72)으로부터의 데이터 출력은 N번째 사이클이 완료되기 전에 완료되며, 이것은 또한 비디오의 불연속을 초래한다.
이러한 문제점을 해결하기 위하여, 가상 버퍼 메모리 그룹의 수가 3이상으로 세트되고, 데이터는 매 사이클마다 복수의 가상 버퍼 메모리 그룹들(71, 72, …, 7n)의 스위칭을 순차적으로 수행함으로써 저장/출력된다. 결과적으로, 장치는 데이터가 데이터 수신 장치로 전송되는 속도의 변동에 대처할 수 있는 융통성을 얻을 수 있다.
(실시예 4)
본 발명의 실시예 4에 따른 메모리 제어 장치가 설명된다. 실시예 4에 따른 메모리 제어 장치는 버퍼 메모리들(11a∼12d, 21a∼22d)을 실시예 1 구성내의 자유 버퍼 메모리들로서 관리하고, 이들 자유 버퍼 메모리들(11a∼12d, 21a∼22d)로부터 요구된 버퍼 메모리들을 선택하며, 데이터를 일시적으로 저장하기 위해 이들을 가상 버퍼 메모리 그룹(71(72))으로서 관리하고, 가상 버퍼 메모리 그룹(71(72))으로부터 버퍼 메모리들(11a, 21a) 또는 (12a, 22a)을 선택하며, 데이터 출력의 완료시에 N번째 사이클의 중간에 있을지라도 이들을 다시 자유 버퍼 메모리들로서 관리한다. 버퍼 메모리들은 데이터 출력 장치 제어 회로(60)에 의해 관리된다.
예를 들어, 화일 A의 데이터를 데이터 수신 장치(4a)로 전송하는 동작이 설명된다.
사이클 1에서, 데이터 출력 장치 제어 회로(60)는 자유 버퍼 메모리들(11a∼12d, 21a∼22d)로부터 버퍼 메모리들(11a, 21a)을 선택하여 가상 버퍼 메모리 그룹(71)을 생성한다. 그리고 나서, 데이터 출력 장치(10, 20)는 가상 저장 장치 그룹(81)으로부터 데이터 a1, …, a255를 판독하여, 이를 버퍼(11a)에 일시적으로 저장하고, 가상 저장 장치 그룹(81)으로부터 데이터 a2, …, a256를 판독하여, 이들을 버퍼(21a)에 일시적으로 저장하며, 이러한 동작은 제각기 데이터 출력 장치 제어 회로(60)의 제어에 따라 수행된다. 데이터 출력 장치 제어 회로(60)는 제각기 데이터 출력 장치(10, 20)에 대응하는 버퍼 메모리 관리 테이블들을 포함한다. 데이터 출력 장치 제어 회로(60)는 이 관리 테이블에 따라 버퍼 메모리를 관리한다.
사이클 2에서, 데이터 출력 장치(10, 20)는 데이터 출력 장치 제어 회로(60)에 따라 가상 버퍼 메모리 그룹(71)(버퍼 메모리들(11a, 21a))에 일시적으로 저장된 데이터를 데이터 수신 장치(4a)로 출력한다. 가상 버퍼 메모리 그룹(71)으로부터의 데이터 출력의 완료시에 데이터 출력 장치 제어 회로(60)는 가상 버퍼 메모리 그룹(71)으로부터 자유 버퍼 메모리들(11a, 21a)을 해제하고, 이들을 다시 자유 버퍼 메모리들(11a, 21a)로서 관리한다.
동시에, 사이클 2에서, 데이터 출력 장치 제어 회로(60)는 자유 버퍼 메모리들(11a∼12d, 21a∼22d)로부터 버퍼 메모리들(12a, 22a)을 선택하여 가상 버퍼 메모리 그룹(72)을 생성한다. 그리고 나서, 데이터 출력 장치(10, 20)는 가상 저장 장치 그룹(82)으로부터 데이터 a257, …, a511를 판독하여, 이를 버퍼(12a)에 일시적으로 저장하고, 가상 저장 장치 그룹(82)으로부터 데이터 a258, …, a512를 판독하여, 이를 버퍼(22a)에 일시적으로 저장하며, 이들 동작은 제각기 데이터 출력 장치 제어 회로(60)의 제어에 따라 수행된다.
사이클 3을 포함하는 계속되는 사이클들에서도 사이클 1 및 2에서와 마찬가지로, 저장을 위해 요구된 버퍼 메모리들이 자유 버퍼 메모리들로부터 선택되어, 가상 저장 장치 그룹(81(82))으로부터 판독된 데이터에 대해 가상 버퍼 메모리 그룹(71(72))으로서 관리되며, 가상 버퍼 메모리 그룹(72(71))에 저장된 데이터의 데이터 수신 장치(4a)로의 출력 완료시에 가상 버퍼 메모리 그룹(72(71))은 해제되어 자유 버퍼 메모리 그룹으로서 관리된다.
화일 A 데이터의 데이터 수신 장치(4a)로의 전송은 물론, 화일 B, C 및 D 데이터의 데이터 수신 장치(4b∼4d)로의 전송의 경우, 동작시에, 가상 버퍼 메모리 그룹(71, 72)을 제외한 버퍼 메모리들은 자유 버퍼 메모리들로서 관리되므로, 이들은 화일 B, C 및 D에 대해 가상 메모리 그룹들로서 사용된다.
이상의 설명으로부터 알 수 있는 바와 같이, 실시예 4에 따르면, 데이터 출력 장치 제어 회로가 버퍼 메모리들을 자유 버퍼 메모리 또는 가상 버퍼 메모리 그룹으로써 관리함으로써, 복수의 데이터를 복수의 데이터 수신 장치로 동시에 송신할 시에 임의의 화일에 대하여 가상 버퍼 메모리 그룹을 제외한 자유 버퍼 메모리들이 다른 화일에 대하여 가상 버퍼 메모리 그룹으로써 사용될 수 있다. 그러므로 데이터 수신 장치의 데이터 전송 시간이 서로간에 변경된 경우에도 버퍼 메모리들의 총 용량을 감소시킬 수 있다.
(실시예 5)
본 발명의 실시예 5에 따른 메모리 제어 장치가 설명된다. 실시예 5에 따른 메모리 제어 장치에서는, 네트워크 인터페이스 회로(500)가 도 4에 도시된 바와 같은 버퍼 메모리 DRAM(700)에 접속된다. 네트워크 인터페이스 회로(500)를 통해 버퍼 메모리(700)에 일시적으로 저장된 데이터가 근거리 영역 네트워크(LAN) 또는 광역 네트워크(WAN)로 전송된다. 본 명세서에서 네트워크란 컴퓨터 네트워크의 일반적 용어를 나타낸다. 네트워크의 표준은 이서넷(Ethernet)(10Base-2/5/5), 고속 이서넷(100Base-TX/T4), 토큰-링(Token-Ring), 100VG-AnyLAN, FDDI, ATM을 포함한다.
실시예 5에 따른 메모리 제어 장치에 의하면, 네트워크 인터페이스 회로(500)가 버퍼 메모리(700)에 접속된다. 그러므로 기존의 컴퓨터 네트워크 라인이 데이터를 전송하는데 사용될 수 있다. 결과적으로, 쉽게 전세계의 데이터 수신 장치로 데이터를 전송할 수 있다.
(실시예 6)
본 발명의 실시예 6에 따른 메모리 제어 장치가 설명된다. 실시예 6에 따른 메모리 제어 장치에서는, 버스 인터페이스 회로(I/O 버스 브릿지 ASIC)(501)가 도 4에 도시된 바와 같이 버퍼 메모리(700)에 접속된다. 버퍼 메모리(700)에 일시적으로 저장된 데이터는 이 버스 인터페이스 회로(501)를 통해 워크스테이션 또는 퍼스널 컴퓨터에 표준인 범용의 S버스, PCI 버스 또는 EISA 버스로 전송된다.
이 버스는 3개 이상의 IC들 또는 LSI들에 접속된 복수의 데이터 라인들로서, 이를 통해 데이터 라인 수와 동일한 비트 폭의 데이터가 입력 및 출력된다. 전반적으로, 버스는 전송될 데이터의 형태에 따라 데이터 버스 또는 어드레스 버스로서, 컴퓨터의 내부 구조에 따라 시스템 버스(CPU 버스) 또는 I/O 버스(입력/출력 버스)로서 언급된다. 버스는 몇가지 표준을 갖는다. 제조자에게 고유한 미국 매킨토시사의 NU 버스 또는 미국 썬 마이크로시스템즈사 썬 워크스테이션의 S버스, 범용 버스와 같은 제어 시스템에서 사용하기 위한 VME 버스, 또는, 도스 버전의 PC에서 사용하기 위한 XT(8비트), AT(=ISA, 16비트), EISA(32 비트), PCI(32 비트)가 잘 알려진 I/O 버스에 포함된다. 이들 버스는 각기 디스크 제어 회로, 네트워크 제어 회로 등에 접속되어, 흔히 컴퓨터에 대한 데이터의 출력/입력에 사용된다.
실시예 6에 따른 메모리 제어 장치에 의하면, 버스 인터페이스 회로(501)가 버퍼 메모리(700)에 접속된다. 그러므로 일종의 버스 인터페이스 회로를 포함하는 데이터 수신 장치로 데이터가 전송되는 속도가 모뎀의 속도(28Kbit/sec) 또는 네트워크의 속도(100∼150Mbit/sec)보다 훨씬 더 높은 속도(250∼320Mbit/sec)에 이른다. 이에 의해 고품질의 비디오 전송이 실현된다.
(실시예 7)
본 발명의 실시예 7에 따른 메모리 제어 장치가 설명된다. 실시예 7에 따른 메모리 제어 장치에서, 데이터 출력 장치 제어 회로(UNIX 워크스테이션(502))와 데이터 출력 장치(10, 20)간의 접속은 LAN 또한 WAN과 같은 네트워크(503)에 의해 설정된다. 데이터 출력 장치 제어 회로 UNIX 워크스테이션(502) 및 데이터 출력 장치(10, 20)에는 제각기 네트워크 인터페이스 회로(504) 및 네트워크 프로토콜 생성/분석 장치(UNIX 워크스테이션(502))가 제공되며, 이들은 네트워크 케이블(503)을 사용하여 접속된다. 결과적으로, 네트워크 프로토콜을 사용한 데이터 전송은 데이터 출력 장치 제어 회로와 데이터 출력 장치들간의 통신을 가능하게 한다.
따라서, 실시예 7에 따른 메모리 제어 장치에 의하면, 데이터 출력 장치 제어 회로와 데이터 출력 장치간의 접속이 네트워크(503)에 의해 이루어진다. 그러므로 데이터 출력 장치 제어 회로와 데이터 출력 장치는 서로 이격되어 제공될 수 있다. 즉, 이들은 서로 다른 방 또는 건물내에 제공될 수 있다.
(실시예 8)
본 발명의 실시예 8에 따른 메모리 제어 장치가 설명된다. 실시예 8에 따른 메모리 제어 장치에서는, 데이터 출력 장치 제어 회로 UNIX 워크스테이션(502)과 데이터 출력 장치(10, 20)간의 접속이 S버스, PCI 버스 또는 EISA 버스와 같은 버스(505)에 의해 이루어진다. 데이터 출력 장치 제어 회로 UNIX 워크스테이션(502)과 데이터 출력 장치(10, 20)에는 제각기, 버스 케이블(503)에 의해 접속되는 버스 인터페이스 회로(501)가 제공되며, 이에 의해 데이터 출력 장치 제어 회로 UNIX 워크스테이션(502)과 데이터 출력 장치(10, 20)간에 버스(505)에 의한 통신이 이루어진다.
실시예 8에 따른 메모리 제어 장치에 의하면, 데이터 출력 장치 제어 회로 UNIX 워크스테이션과 데이터 출력 장치(10, 20)간의 접속이 버스(500)를 사용하여 이루어진다. 버스의 데이터 전송 속도는 직렬 접속 또는 네트워크 접속의 데이터 전송 속도에 비해 2배 이상 높으므로, 주어진 시간에 데이터 출력 장치 제어 회로로부터 데이터 출력 장치로 더욱 많은 인스트럭션을 전송할 수 있고, 데이터 수신 장치의 수를 증가시킬 수 있다.
(실시예 9)
본 발명의 실시예 9에 따른 메모리 제어 장치가 설명된다. 실시예 9에 따른 메모리 제어 장치에서는 도 4에 도시된 바와 같이, 데이터 출력 장치 제어 회로 UNIX 워크스테이션(502)과 데이터 출력 장치(10, 20)간의 접속이 직렬 케이블(506)에 의해 이루어진다. 데이터 출력 장치 제어 회로 UNIX 워크스테이션(502)과 데이터 출력 장치(10, 20)에는 제각기, 직렬 케이블(506)에 의해 접속되는 직렬 인터페이스 회로(IO/브릿지 ASIC)가 제공되며, 이에 의해, 데이터 출력 장치 제어 회로 UNIX 워크스테이션(502)과 데이터 출력 장치(10, 20)간의 통신이 직렬 케이블(506)을 사용함으로써 가능하게 된다.
실시예 7에 예시된 바와 같이, 데이터 출력 장치 제어 회로 UNIX 워크스테이션(502)과 데이터 출력 장치(10, 20)간의 접속이 네트워크에 의해 확립된 경우, 프로토콜 헤더가 전송될 각각의 데이터에 부가될 것이 요구되므로, 프로토콜 처리가 나중에 필요하게 된다. 프로토콜 헤더는 ID 번호(전송될 각각의 데이터에 순차적으로 부가되는 번호), 전송 목적지 어드레스(데이터 전송의 목적지를 표시하는 정보) 및 첵섬(데이터 전송의 정확성이 체크되는 정보)과 같은 다양한 형태의 정보를 포함하며, 통상 대략 100바이트의 프로토콜 헤더가 1K 바이트의 데이터에 부가된다. 그러므로 53Mbps(53Mbit/sec) 데이터의 전송은 일반적인 워크스테이션(썬 코포레이션의 SPARC스테이션 5)에서 53Mbps 데이터 전송시의 프로토콜 처리를 위한 CPU 사용의 대략 40%를 요구한다. 실시예 9에서는, 데이터를 전송하는데 직렬 케이블(506)이 사용된다. 결과적으로, 프로토콜 처리는 불필요하고, CPU의 사용은 감소될 수 있다.
이상의 설명으로부터 알 수 있는 바와 같이, 실시예 9에 따른 메모리 제어 장치에 의하면, 데이터 출력 장치 제어 회로 UNIX 워크스테이션(502)과 데이터 출력 장치(10, 20)간의 접속이 직렬 케이블(506)에 의해 확립된다. 그러므로 데이터 출력 장치 제어 회로와 데이터 출력 장치를 서로 약 10미터까지 이격시켜 위치시킬 수 있다. 또한, 네트워크 접속시에 사용되는 프로토콜 처리가 불필요하게 되므로, 데이터 출력 장치 제어 회로의 사용이 감소된다. 따라서, 데이터 출력 장치의 사용이 감소된다. 또한, 직렬 케이블(506)을 사용하므로, 네트워크 구성에 비해 시스템 구성 비용이 감소한다.
(실시예 10)
실시예 10에 따른 메모리 제어 장치가 설명된다. 실시예 10에 따른 메모리 제어 장치를 구성하는 데이터 출력 장치 제어 회로는 지정된 에러 범위내에서 복수의 데이터 출력 장치들(10, 20)의 동기 제어를 수행한다.
예를 들어, 도 1에 도시된 메모리 제어 장치에서 네트워크를 사용함으로써 데이터 출력 장치들(10, 20)과 데이터 수신 장치들(4a∼4d)간에 접속을 확립하는 경우에, 통상 이서넷이 네트워크로서 사용된다. 이서넷의 경우, 데이터는 데이터 전송을 위해 지정된 사이즈(1.5KB 이하)의 패킷들로 나뉘어진다. 데이터 출력 장치들(10, 20)과 데이터 수신 장치들(4a∼4d)간의 접속이 MPEG 1에 따른 비디오를 데이터 수신 장치(4a)로 전송하기 위해 이서넷에 의해 확립된 경우, 초당 1.5Mbit의 데이터가 전송될 필요가 있으며, 1KB 패킷의 경우에 대해 192개의 패킷들이 복수의 데이터 출력 장치들(10, 20)로부터 데이터 수신 장치들(4a∼4d)로 출력된다. 데이터 출력 장치들(10, 20)로부터 교대로 데이터를 출력하는 경우에, 데이터 출력 장치들(10, 20)은 각기 초당 96개의 패킷들, 즉, 10.4ms마다 하나의 패킷을 데이터 수신 장치(4a)로 출력한다. 비디오의 연속 재생을 실현하기 위해, 데이터 수신 장치는 데이터 출력 장치(10(20))로부터 출력된 패킷을 수신한지 5.2ms 후에 데이터 출력 장치(20(10))로부터 출력된 패킷을 수신해야 한다. 5.2ms를 경과한 후에 패킷이 데이터 수신 장치(4a)에 도달하면, 비디오의 연속 재생이 실현되지 않는다.
이러한 이유로, 복수의 데이터 출력 장치(10, 20)의 동기 제어는 5.2ms 이하의 범위내에서 수행되며, 이에 의해 데이터 수신 장치(4a)로의 패킷 도달 간격이 제어될 수 있다. 결과적으로, 데이터 수신 장치(4a)에서 데이터의 연속 재생을 실현할 수 있다.
실시예 10에 따른 메모리 제어 장치에서는, 동화상 압축 포맷, 네트워크 형태 또는 데이터 출력 장치의 수와 같은 시스템 구성의 변경에 의해, 데이터 출력 장치의 동기 제어의 에러 범위가 변화한다.
우선, 동화상 압축 포맷의 설정이 변화하였다고 가정하자. 비디오 화일의 압축 비율이 동화상 압축 포맷의 각 포맷에 대해 다르므로, 압축된 동일한 비디오를 재생하는데 요구되는 데이터 전송 속도가 변화한다. 예를 들어, MPEG 1에서 데이터 전송 속도는 1.2 내지 1.5 Mbps이고, MPEG 2의 경우 4.0 내지 6.0Mbps이다. 1초동안의 데이터 전송 량은 데이터 전송 속도의 변화에 따라 변화하므로, 데이터 출력 장치(10, 20)의 동기 제어의 에러 범위도 변화한다.
다음으로, 네트워크의 설정이 변화하였다고 가정하자. 실시예 10에 따른 컴퓨터 네트워크의 경우에, NFS, 이서넷 등의 조합이 가정된다. NFS(버젼 2.0)에서 터미널은 8KB로 요구를 수행하지만, 이서넷에서는 1.5KB 이하의 패킷들만이 허용되므로, 응답은 적어도 6개(1.5KBX5, 0.5KBX1)의 나뉘어진 패킷들로 수행된다.
데이터 출력 장치들의 수가 2, 4 또는 8로 가정되므로, 응답은 패킷 사이즈를 균일화하기 위해 (1KBX8)개의 패킷들로 수행된다. NFS(버젼 3.0)의 경우에, 32KB 이상의 요구가 가능하므로, 응답은 (1KBX64)개의 패킷들로 수행된다. 이서넷이 고속 FDDI로 교체되면, FDDI에서 가장 큰 패킷 사이즈로서 4.5KB가 허용되며, 응답은 (2KBX32, 4KBX16)개의 패킷들로 수행된다. 따라서, 초당 전송될 패킷들의 수는 패킷의 사이즈에 따라 변화하므로, 데이터 출력 장치의 동기 제어 에러 범위가 변화한다.
데이터 출력 장치(10, 20)의 수가 변화하였다고 가정하자. 예를 들어, 터미널이 8KB로 요구를 수행하고 데이터 출력 장치들의 수가 8이라고 하면, 각 데이터 출력 장치는 1KB의 패킷을 사용하여 요구에 응답할 수 있다. 4인 경우에, 각각의 데이터 출력 장치는 1KB의 패킷들 2개를 사용하여 응답해야 한다. 이와 같은 방식으로, 전송될 패킷의 수가 데이터 출력 장치(10, 20) 수의 변화에 따라 변화하므로, 데이터 출력 장치의 동기 제어 에러 범위가 변화한다.
따라서, 동화상 압축 포맷, 네트워크 형태 또는 데이터 출력 장치의 수와 같은 시스템 설정이 변화한 경우, 데이터 출력 장치의 동기 제어 에러 범위가 변화한다. 설정은 엄격한 조건을 가정하여 수행되는 것이 바람직하다.
이상의 설명으로부터 알게 되는 바와 같이, 실시예 10에 따른 메모리 제어 장치에 의하면, 복수의 데이터 출력 장치의 동기 제어가 지정된 에러 범위내에서 수행된다. 그러므로 데이터 수신 장치로의 패킷 도달 간격을 제어할 수 있고, 따라서, 데이터 수신 장치에서 불연속이 없는 데이터 연속 재생을 실현할 수 있다.
(실시예 11)
본 발명의 실시예 11에 따른 메모리 제어 장치가 설명된다. 실시예 11에 따른 메모리 제어 장치를 구성하는 데이터 출력 장치 제어 회로에서는, 제어 인스트럭션들이 데이터 출력 장치(10, 20)로 전송되도록 통합된다. 제어 인스트럭션들을 통합하기 위한 시간은 패킷들이 데이터 수신 장치(4a∼4d)로 제각기 출력되는 간격보다 길지 않아야 한다. 예를 들어, 실시예 10에서, 시간은 5.2ms보다 길지 않아야 한다.
따라서, 실시예 11에 따른 메모리 제어 장치에 의하면, 제어 인스트럭션들이 데이터 출력 장치로 전송되기 위해 통합된다. 결과적으로, 데이터 출력 장치 제어 회로에 대한 부하가 감소될 수 있다.
(실시예 12)
본 발명의 실시예 12에 따른 메모리 제어 장치가 설명된다. 실시예 12에 따른 메모리 제어 장치를 구성하는 데이터 출력 장치 제어 회로에서는, 제어 인스트럭션들이 데이터 출력 장치(10, 20)로 직접 메모리 액세스(Direct Memory Access;DMA)에 의해 전송된다. 실시예 7에서처럼, 데이터 출력 장치 제어 회로(UNIX 워크스테이션(502))와 데이터 출력 장치들(10, 20)간의 접속이 S버스를 사용하여 확립되는 경우에, CPU와 같은 동작 회로가 데이터 출력 장치 제어 회로내에 저장되므로, 데이터 출력 장치 제어 회로는 데이터 출력 장치(10, 20)로 32비트X32비트(S버스의 데이터 폭) 전송 인스트럭션들을 전송하도록 동작 회로를 사용해야 하며, 따라서, 데이터 출력 장치 제어 회로의 동작에 부하를 증가시킨다. 본 실시예 12에서는, DMA 전송 제어 장치(502A)가 데이터 출력 장치 제어 회로(UNIX 워크스테이션(502))내에 제공되므로, 동작 장치가 전송 인스트럭션을 저장하는 메모리 영역이 DMA 전송 제어 장치로 전달되어 전송 인스트럭션이 DMA 전송 제어 장치(502A)를 통해 데이터 출력 장치로 전송된다.
이와 같이하여, 실시예 12에 따른 메모리 제어 장치에 의하면, 제어 인스트럭션이 DMA에 의해 데이터 출력 장치로 전송된다. 결과적으로, 데이터 출력 장치 제어 회로의 동작에 대한 부하가 감소될 수 있다.
본 발명에 의하면, 데이터를 출력할 수 있는 데이터 수신 장치의 수를 감소시키지 않고 버퍼 메모리의 요구되는 총 용량을 감소시킨 메모리 제어 장치가 제공된다.
본 발명에 의하면, 데이터 출력 장치의 버퍼 메모리들의 총 용량이 감소될 수 있다.
또한, 가상의 저장 장치 그룹들의 수가 3이상이거나 가상 버퍼 메모리 그룹들이 자유 버퍼 메모리들로서 관리될 경우, 버퍼 메모리들의 총 용량이 감소될 수 있다.
또한, 본 장치는 가상 버퍼 메모리 그룹들의 수를 3 이상으로 설정함으로써 데이터 수신 장치로의 데이터 전송 속도의 변동을 극복할 수 있다.
또한, 네트워크 인터페이스 회로가 버퍼 메모리들에 접속됨으로써, 데이터를 전세계의 데이터 수신 장치로 용이하게 전송할 수 있다.
또한, 버스 인터페이스 회로가 버퍼 메모리들에 접속됨으로써, 고 품질의 비디오가 고속으로 전송될 수 있다.
또한, 데이터 출력 제어 수단과 데이터 전송 경로간의 접속은 네트워크로 확립됨으로써, 이들을 예를 들면 상이한 건물내에 서로로부터 멀리 이격되어 위치시킬 수 있다.
또한, 데이터 출력 제어 수단과 데이터 전송 경로간의 접속이 버스에 의해 확립됨으로써, 규정된 시간내에 데이터 출력 제어 수단으로부터의 더욱 많은 제어 인스트럭션을 데이터 전송 경로로 전송할 수 있고, 데이터 수신 장치의 수가 증가된다.
또한, 데이터 출력 제어 수단과 데이터 전송 경로간의 접속이 직렬로 확립됨으로써, 데이터 출력 제어 수단과 데이터 전송 경로가 약 10미터까지 이격되어 위치되며, 데이터 출력 제어 수단 및 데이터 전송 경로의 이용이 감소될 수 있다.
또한, 복수의 데이터 전송 경로들에 대한 동기 제어가 지정된 에러 범위내에서 수행되므로, 데이터 수신 장치에서 데이터를 끊임없이 연속적으로 재생할 수 있다.
또한, 데이터 출력 장치로의 제어 인스트럭션이 데이터 전송 경로로 전송되도록 구성되므로, 데이터 출력 제어 수단에 대한 부하가 감소될 수 있다.
또한, 제어 인스트럭션이 DMA에 의해 데이터 출력 제어 수단으로부터 데이터 전송 경로로 전송되므로, 데이터 출력 제어 수단의 동작에 대한 부하가 감소될 수 있다.
따라서, 본 발명의 메모리 제어 장치에 따르면, 버퍼 메모리의 총 용량이 데이터 수신 장치의 수를 감소시키지 않고 감소될 수 있으며, 시스템 설계 또는 제어 방법이 필요에 따라 변경될 수 있다.

Claims (58)

  1. 데이터를 저장하기 위한 복수의 저장 장치들로 구성되는 저장 장치 그룹과 상기 저장 장치 그룹으로부터 전송된 데이터를 저장하기 위한 복수의 버퍼 메모리들로 구성된 버퍼 메모리 그룹을 포함하는 복수의 데이터 전송 경로를 갖고, 상이한 데이터 전송 경로들상의 복수의 개별적인 저장 장치들에 블록들을 저장하기 위해 화일을 주어진 사이즈의 복수의 블록들로 나누며, 상기 버퍼 메모리에 접속된 터미널의 요구에 따라 상기 저장 장치로부터 데이터가 판독되어 출력될 수 있도록 제어를 수행하는 메모리 제어 장치에 있어서,
    상기 상이한 데이터 전송 경로들상의 저장 장치들은 복수의 가상 저장 장치 그룹들을 생성하도록 선택되고,
    상기 상이한 데이터 전송 경로들상의 버퍼 메모리들은 복수의 가상 버퍼 메모리 그룹들을 생성하도록 선택되며,
    사이클 1에서, 상기 복수의 저장 장치 그룹들중 규정된 가상 저장 장치 그룹에 나뉘어 저장된 데이터가 판독되어 상기 복수의 가상 버퍼 메모리 그룹들중 규정된 가상 버퍼 메모리 그룹에 일시적으로 저장되고, 상기 규정된 가상 버퍼 메모리 그룹을 제외한 가상 버퍼 메모리 그룹에 저장된 데이터가 출력되며,
    사이클 2에서, 상기 규정된 가상 저장 장치 그룹을 제외한 가상 저장 장치 그룹에 나뉘어 저장된 데이터가 판독되어 상기 규정된 가상 버퍼 메모리 그룹을 제외한 가상 버퍼 메모리 그룹에 일시적으로 저장되고, 상기 규정된 가상 버퍼 메모리 그룹에 저장된 데이터가 출력되며,
    상기 사이클 1 및 2를 교대로 반복함으로써 상기 복수의 가상 버퍼 메모리 그룹들로부터 데이터 판독이 스위칭되는
    메모리 제어 장치.
  2. 제 1 항에 있어서,
    상기 데이터 출력 수단은, 복수의 버퍼 메모리들을 메모리들로서 관리하고, 상기 복수의 자유 버퍼 메모리들중 상기 가상 버퍼 메모리를 구성하지 않는 하나 이상의 자유 버퍼 메모리들을 사용하여 다른 가상 버퍼 메모리 그룹을 생성하고, 상기 복수의 가상 버퍼 메모리 그룹들을 구성하는 버퍼 메모리들중에서, 일시적으로 저장된 데이터의 출력이 완료된 버퍼 메모리들을 상기 복수의 가상 버퍼 메모리 그룹들로부터 해제하여 상기 해제된 버퍼 메모리들을 자유 버퍼 메모리들로서 다시 관리하는
    메모리 제어 장치.
  3. 제 1 항에 있어서,
    상기 버퍼 메모리에 네트워크 인터페이스 회로가 접속되며, 상기 데이터 전송 경로로부터 출력되는 데이터가 상기 네트워크 인터페이스 회로를 통해 네트워크로 출력되는 메모리 제어 장치.
  4. 제 2 항에 있어서,
    상기 버퍼 메모리에 네트워크 인터페이스 회로가 접속되며, 상기 데이터 전송 경로로부터 출력되는 데이터가 상기 네트워크 인터페이스 회로를 통해 네트워크로 출력되는 메모리 제어 장치.
  5. 제 1 항에 있어서,
    상기 버퍼 메모리에 버스 인터페이스 회로가 접속되며, 상기 데이터 전송 경로로부터 출력되는 데이터가 상기 버스 인터페이스 회로를 통해 버스로 출력되는 메모리 제어 장치.
  6. 제 2 항에 있어서,
    상기 버퍼 메모리에 버스 인터페이스 회로가 접속되며, 상기 데이터 전송 경로로부터 출력되는 데이터가 상기 버스 인터페이스 회로를 통해 버스로 출력되는 메모리 제어 장치.
  7. 제 1 항에 있어서,
    상기 데이터 출력 제어 수단과 상기 데이터 전송 경로간의 접속은 네트워크로 확립되는 메모리 제어 장치.
  8. 제 2 항에 있어서,
    상기 데이터 출력 제어 수단과 상기 데이터 전송 경로간의 접속은 네트워크로 확립되는 메모리 제어 장치.
  9. 제 3 항에 있어서,
    상기 데이터 출력 제어 수단과 상기 데이터 전송 경로간의 접속은 네트워크로 확립되는 메모리 제어 장치.
  10. 제 4 항에 있어서,
    상기 데이터 출력 제어 수단과 상기 데이터 전송 경로간의 접속은 네트워크로 확립되는 메모리 제어 장치.
  11. 제 5 항에 있어서,
    상기 데이터 출력 제어 수단과 상기 데이터 전송 경로간의 접속은 네트워크로 확립되는 메모리 제어 장치.
  12. 제 6 항에 있어서,
    상기 데이터 출력 제어 수단과 상기 데이터 전송 경로간의 접속은 네트워크로 확립되는 메모리 제어 장치.
  13. 제 1 항에 있어서,
    상기 데이터 출력 제어 수단과 상기 데이터 전송 경로간의 접속은 버스로 확립되는 메모리 제어 장치.
  14. 제 2 항에 있어서,
    상기 데이터 출력 제어 수단과 상기 데이터 전송 경로간의 접속은 버스로 확립되는 메모리 제어 장치.
  15. 제 3 항에 있어서,
    상기 데이터 출력 제어 수단과 상기 데이터 전송 경로간의 접속은 버스로 확립되는 메모리 제어 장치.
  16. 제 4 항에 있어서,
    상기 데이터 출력 제어 수단과 상기 데이터 전송 경로간의 접속은 버스로 확립되는 메모리 제어 장치.
  17. 제 1 항에 있어서,
    상기 데이터 출력 제어 수단과 상기 데이터 전송 경로간의 접속은 직렬 라인으로 확립되는 메모리 제어 장치.
  18. 제 2 항에 있어서,
    상기 데이터 출력 제어 수단과 상기 데이터 전송 경로간의 접속은 직렬 라인으로 확립되는 메모리 제어 장치.
  19. 제 3 항에 있어서,
    상기 데이터 출력 제어 수단과 상기 데이터 전송 경로간의 접속은 직렬 라인으로 확립되는 메모리 제어 장치.
  20. 제 4 항에 있어서,
    상기 데이터 출력 제어 수단과 상기 데이터 전송 경로간의 접속은 직렬 라인으로 확립되는 메모리 제어 장치.
  21. 제 5 항에 있어서,
    상기 데이터 출력 제어 수단과 상기 데이터 전송 경로간의 접속은 직렬 라인으로 확립되는 메모리 제어 장치.
  22. 제 6 항에 있어서,
    상기 데이터 출력 제어 수단과 상기 데이터 전송 경로간의 접속은 직렬 라인으로 확립되는 메모리 제어 장치.
  23. 제 7 항에 있어서,
    상기 데이터 출력 제어 수단은 지정된 에러 범위내에서 상기 복수의 데이터 출력 장치들의 동기 제어를 수행하는 메모리 제어 장치.
  24. 제 8 항에 있어서,
    상기 데이터 출력 제어 수단은 지정된 에러 범위내에서 상기 복수의 데이터 출력 장치들의 동기 제어를 수행하는 메모리 제어 장치.
  25. 제 9 항에 있어서,
    상기 데이터 출력 제어 수단은 지정된 에러 범위내에서 상기 복수의 데이터 출력 장치들의 동기 제어를 수행하는 메모리 제어 장치.
  26. 제 10 항에 있어서,
    상기 데이터 출력 제어 수단은 지정된 에러 범위내에서 상기 복수의 데이터 출력 장치들의 동기 제어를 수행하는 메모리 제어 장치.
  27. 제 11 항에 있어서,
    상기 데이터 출력 제어 수단은 지정된 에러 범위내에서 상기 복수의 데이터 출력 장치들의 동기 제어를 수행하는 메모리 제어 장치.
  28. 제 12 항에 있어서,
    상기 데이터 출력 제어 수단은 지정된 에러 범위내에서 상기 복수의 데이터 출력 장치들의 동기 제어를 수행하는 메모리 제어 장치.
  29. 제 13 항에 있어서,
    상기 데이터 출력 제어 수단은 지정된 에러 범위내에서 상기 복수의 데이터 출력 장치들의 동기 제어를 수행하는 메모리 제어 장치.
  30. 제 14 항에 있어서,
    상기 데이터 출력 제어 수단은 지정된 에러 범위내에서 상기 복수의 데이터 출력 장치들의 동기 제어를 수행하는 메모리 제어 장치.
  31. 제 15 항에 있어서,
    상기 데이터 출력 제어 수단은 지정된 에러 범위내에서 상기 복수의 데이터 출력 장치들의 동기 제어를 수행하는 메모리 제어 장치.
  32. 제 16 항에 있어서,
    상기 데이터 출력 제어 수단은 지정된 에러 범위내에서 상기 복수의 데이터 출력 장치들의 동기 제어를 수행하는 메모리 제어 장치.
  33. 제 17 항에 있어서,
    상기 데이터 출력 제어 수단은 지정된 에러 범위내에서 상기 복수의 데이터 출력 장치들의 동기 제어를 수행하는 메모리 제어 장치.
  34. 제 18 항에 있어서,
    상기 데이터 출력 제어 수단은 지정된 에러 범위내에서 상기 복수의 데이터 출력 장치들의 동기 제어를 수행하는 메모리 제어 장치.
  35. 제 19 항에 있어서,
    상기 데이터 출력 제어 수단은 지정된 에러 범위내에서 상기 복수의 데이터 출력 장치들의 동기 제어를 수행하는 메모리 제어 장치.
  36. 제 20 항에 있어서,
    상기 데이터 출력 제어 수단은 지정된 에러 범위내에서 상기 복수의 데이터 출력 장치들의 동기 제어를 수행하는 메모리 제어 장치.
  37. 제 21 항에 있어서,
    상기 데이터 출력 제어 수단은 지정된 에러 범위내에서 상기 복수의 데이터 출력 장치들의 동기 제어를 수행하는 메모리 제어 장치.
  38. 제 22 항에 있어서,
    상기 데이터 출력 제어 수단은 지정된 에러 범위내에서 상기 복수의 데이터 출력 장치들의 동기 제어를 수행하는 메모리 제어 장치.
  39. 제 7 항에 있어서,
    상기 데이터 출력 제어 수단은 매 주어진 시간마다 상기 데이터 전송 경로로 제어 인스트럭션을 송출하는 메모리 제어 장치.
  40. 제 8 항에 있어서,
    상기 데이터 출력 제어 수단은 매 주어진 시간마다 상기 데이터 전송 경로로 제어 인스트럭션을 송출하는 메모리 제어 장치.
  41. 제 9 항에 있어서,
    상기 데이터 출력 제어 수단은 매 주어진 시간마다 상기 데이터 전송 경로로 제어 인스트럭션을 송출하는 메모리 제어 장치.
  42. 제 10 항에 있어서,
    상기 데이터 출력 제어 수단은 매 주어진 시간마다 상기 데이터 전송 경로로 제어 인스트럭션을 송출하는 메모리 제어 장치.
  43. 제 11 항에 있어서,
    상기 데이터 출력 제어 수단은 매 주어진 시간마다 상기 데이터 전송 경로로 제어 인스트럭션을 송출하는 메모리 제어 장치.
  44. 제 12 항에 있어서,
    상기 데이터 출력 제어 수단은 매 주어진 시간마다 상기 데이터 전송 경로로 제어 인스트럭션을 송출하는 메모리 제어 장치.
  45. 제 13 항에 있어서,
    상기 데이터 출력 제어 수단은 매 주어진 시간마다 상기 데이터 전송 경로로 제어 인스트럭션을 송출하는 메모리 제어 장치.
  46. 제 14 항에 있어서,
    상기 데이터 출력 제어 수단은 매 주어진 시간마다 상기 데이터 전송 경로로 제어 인스트럭션을 송출하는 메모리 제어 장치.
  47. 제 15 항에 있어서,
    상기 데이터 출력 제어 수단은 매 주어진 시간마다 상기 데이터 전송 경로로 제어 인스트럭션을 송출하는 메모리 제어 장치.
  48. 제 16 항에 있어서,
    상기 데이터 출력 제어 수단은 매 주어진 시간마다 상기 데이터 전송 경로로 제어 인스트럭션을 송출하는 메모리 제어 장치.
  49. 제 17 항에 있어서,
    상기 데이터 출력 제어 수단은 매 주어진 시간마다 상기 데이터 전송 경로로 제어 인스트럭션을 송출하는 메모리 제어 장치.
  50. 제 18 항에 있어서,
    상기 데이터 출력 제어 수단은 매 주어진 시간마다 상기 데이터 전송 경로로 제어 인스트럭션을 송출하는 메모리 제어 장치.
  51. 제 19 항에 있어서,
    상기 데이터 출력 제어 수단은 매 주어진 시간마다 상기 데이터 전송 경로로 제어 인스트럭션을 송출하는 메모리 제어 장치.
  52. 제 20 항에 있어서,
    상기 데이터 출력 제어 수단은 매 주어진 시간마다 상기 데이터 전송 경로로 제어 인스트럭션을 송출하는 메모리 제어 장치.
  53. 제 21 항에 있어서,
    상기 데이터 출력 제어 수단은 매 주어진 시간마다 상기 데이터 전송 경로로 제어 인스트럭션을 송출하는 메모리 제어 장치.
  54. 제 22 항에 있어서,
    상기 데이터 출력 제어 수단은 매 주어진 시간마다 상기 데이터 전송 경로로 제어 인스트럭션을 송출하는 메모리 제어 장치.
  55. 제 13 항에 있어서,
    상기 데이터 출력 제어 수단은 DMA 전송에 의해 상기 데이터 전송 경로로 제어 인스트럭션을 송출하는 메모리 제어 장치.
  56. 제 14 항에 있어서,
    상기 데이터 출력 제어 수단은 DMA 전송에 의해 상기 데이터 전송 경로로 제어 인스트럭션을 송출하는 메모리 제어 장치.
  57. 제 15 항에 있어서,
    상기 데이터 출력 제어 수단은 DMA 전송에 의해 상기 데이터 전송 경로로 제어 인스트럭션을 송출하는 메모리 제어 장치.
  58. 제 16 항에 있어서,
    상기 데이터 출력 제어 수단은 DMA 전송에 의해 상기 데이터 전송 경로로 제어 인스트럭션을 송출하는 메모리 제어 장치.
KR1019970049127A 1996-09-26 1997-09-26 메모리제어장치 KR100299336B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP96-254981 1996-09-26
JP25498196 1996-09-26

Publications (2)

Publication Number Publication Date
KR19980025044A true KR19980025044A (ko) 1998-07-06
KR100299336B1 KR100299336B1 (ko) 2001-10-27

Family

ID=17272564

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970049127A KR100299336B1 (ko) 1996-09-26 1997-09-26 메모리제어장치

Country Status (3)

Country Link
US (1) US6070201A (ko)
EP (1) EP0834799A2 (ko)
KR (1) KR100299336B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6920537B2 (en) * 1998-12-31 2005-07-19 Emc Corporation Apparatus and methods for copying, backing up and restoring logical objects in a computer storage system by transferring blocks out of order or in parallel
US6507877B1 (en) * 1999-09-03 2003-01-14 Whamtech, Inc. Asynchronous concurrent dual-stream FIFO
JP4268290B2 (ja) * 1999-10-29 2009-05-27 パナソニック株式会社 受信装置および受信方法
JP4903298B2 (ja) * 2000-04-14 2012-03-28 ウォーターフロント・テクノロジーズ エルエルシー 通信装置、通信システム及び音声・データ統合方法
JP4207832B2 (ja) * 2004-04-16 2009-01-14 船井電機株式会社 デジタルデータ再生装置
KR101966064B1 (ko) * 2012-09-06 2019-04-05 삼성전자주식회사 파이프라인 디코딩을 위한 비트스트림 처리 장치 및 이를 포함하는 멀티미디어 장치
US10185699B2 (en) * 2016-03-14 2019-01-22 Futurewei Technologies, Inc. Reconfigurable data interface unit for compute systems

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0535407A (ja) * 1991-07-26 1993-02-12 Nippon Telegr & Teleph Corp <Ntt> 情報ライブラリシステム
JPH09174963A (ja) * 1995-12-27 1997-07-08 Brother Ind Ltd 画像記録装置
KR100255511B1 (ko) * 1996-12-18 2000-05-01 김영환 이중센싱출력경로를구비한동기화메모리장치
US5860060A (en) * 1997-05-02 1999-01-12 Texas Instruments Incorporated Method for left/right channel self-alignment

Also Published As

Publication number Publication date
US6070201A (en) 2000-05-30
EP0834799A2 (en) 1998-04-08
KR100299336B1 (ko) 2001-10-27

Similar Documents

Publication Publication Date Title
US5533018A (en) Multi-protocol packet framing over an isochronous network
JP3819484B2 (ja) Mpegパケットをパケット化およびセグメント化する装置および方法
US7315550B2 (en) Method and apparatus for shared buffer packet switching
US5594702A (en) Multi-first-in-first-out memory circuit
US6704022B1 (en) System for accessing graphics data from memory and method thereof
JPH09223089A (ja) 複数バス・ターゲットへのパケット・データの分割を可能にする方法および装置
KR19980086711A (ko) 범용직렬버스 주변장치 마이크로 컨트롤러
JP3034473B2 (ja) デジタルa/vデータ通信のための転送率調整装置及び転送率調整方法
JPH0630511B2 (ja) 局順可変の環状伝送システム
US5983305A (en) Network adapter with data aligner
KR100299336B1 (ko) 메모리제어장치
JPH03188546A (ja) バスインターフェイス制御方式
US6622183B1 (en) Data transmission buffer having frame counter feedback for re-transmitting aborted data frames
EP0817421B1 (en) Video network server
JPS59114941A (ja) プログラマブルコントロ−ラ
JPH10154043A (ja) メモリ制御装置
JPH04356844A (ja) メディア処理装置
JPH04108242A (ja) 通信制御装置のデータ転送方式
US7496679B2 (en) Packet communication apparatus
JP2002108800A (ja) 集信装置に対する連結リストメモリアクセス制御
JPH0520939B2 (ko)
JPS59176952A (ja) 通信制御方式
JP2002176464A (ja) ネットワークインタフェース装置
JPH10145433A (ja) データ転送速度変換装置および通信ネットワークシステム
JPH04503597A (ja) 音声およびデータのためのパケット/高速パケット交換機

Legal Events

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

Payment date: 20040524

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee