KR100294130B1 - 메모리집적회로와그를사용한주메모리시스템및그래픽메모리시스템 - Google Patents

메모리집적회로와그를사용한주메모리시스템및그래픽메모리시스템 Download PDF

Info

Publication number
KR100294130B1
KR100294130B1 KR1019980015378A KR19980015378A KR100294130B1 KR 100294130 B1 KR100294130 B1 KR 100294130B1 KR 1019980015378 A KR1019980015378 A KR 1019980015378A KR 19980015378 A KR19980015378 A KR 19980015378A KR 100294130 B1 KR100294130 B1 KR 100294130B1
Authority
KR
South Korea
Prior art keywords
data
memory
output terminal
input
compressed
Prior art date
Application number
KR1019980015378A
Other languages
English (en)
Other versions
KR19980081843A (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 KR19980081843A publication Critical patent/KR19980081843A/ko
Application granted granted Critical
Publication of KR100294130B1 publication Critical patent/KR100294130B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

데이터 압축/신장 기능을 가지며, 데이터 압축/신장부가 제공된 주 메모리 시스템, 그래픽 메모리 시스템 등에 사용할 수 있는 메모리 대규모 집적회로. 상기 구조에서, 메모리부에 대한 압축 데이터 판독이 압축/신장부 내의 데이터 압축기를 사용하여 실행되며, 상기 메모리부에 대한 압축 데이터 기록은 압축/신장부 내의 데이터 신장기를 사용하여 실행된다. 상기 구조에 의해서, 데이터 대역폭이 종래의 경우와 물리적으로 동일하다고 할지라도, 이것은 실제적으로 더 큰 데이터 대역폭을 얻을 수 있다.

Description

메모리 집적회로와 그를 사용한 주 메모리 시스템 및 그래픽 메모리 시스템{MEMORY INTEGRATED CIRCUIT AND MAIN MEMORY AND GRAPHICS MEMORY SYSTEMS APPLYING THE ABOVE}
본 발명은 데이터 압축/신장 기능을 갖는 메모리 집적회로와 그런 메모리 집적회로를 사용하는 주 메모리 시스템 및 그래픽 메모리 시스템에 관한 것이다. 특히, 본 발명은 다이나믹 RAM (이하 DRAM 이라함) 에 의해서 대표될 수 있으며, 컴퓨터 시스템 내의 그래픽 메모리 시스템과 주 메모리 시스템을 구성할 때 사용되는 큰 용량의 반도체 메모리 LSI (대규모 집적회로) 에 관한 것이다.
반도체 메모리 LSI 에 대하여는, 메모리 용량이 증가하면 증가할수록, 메모리 내용을 액세스할 때 데이터 대역폭이 커져야하는 것으로 알려져 있다. 상기 큰 용량의 반도체 메모리 LSI 는 비교적 큰 데이터 대역폭을 요구하는 고성능 컴퓨터 시스템에 일반적으로 사용된다는 사실에 의한 것이다.
그러므로, 컴퓨터 시스템에서 사용하기 위한 편리한 메모리 LSI 를 얻기 위하여, 메모리 LSI 의 메모리 용량과 데이터 대역폭이 밸런스되도록하는 것이 상당히 중요하다. 따라서, 최대 용량을 갖는 메모리 LSI 인 DRAM 에 대하여, 개선된 데이터 대역폭을 얻기 위하여, 기술 개발이 활발하게 진행되고 있다.
메모리 LSI 의 데이터 대역폭을 개선하기 위한 가장 전형적인 방법은 외부 인터페이스의 동작 주파수를 증가하는 방법이다. 현재, 메모리 LSI 의 가능한 가장 높은 대역폭은 램버스(Rambus) 기술에 의해서 얻어지는데, 이 때 가장 높은 대역폭은 300 MHz 의 클럭의 양 에지를 사용하는 신호선당 600 Mbits/s 이다. "Rambus" 는 미국 램버스 사의 상용 상표이며 상술된 램버스 기술은 램버스사에 의해서 제안된 기술이다.
기술적으로, 상술된 것 이상으로 외부 인터페이스의 동작 주파수를 높이는 것은 상당히 어렵다. 상기 문제점 중 하나가 외부 입력/출력 신호 단자의 동시 동작이다. 다수의 신호 단자가 고속으로 동시에 동작될 때, 칩은 보다 많은 소비전력을 처리해야하며, 큰 스위칭 노이즈가 유도될 것이며, 이것은 메모리 LSI 의 성능을 감소시킬 것이다.
신호선 사이의 시간 불일치, 즉 스큐(skew) 는 또한 심각한 문제를 발생시킨다. 보드 상의 신호선의 전기적 파라메터를 완전하게 동일하게 하는 것은 어렵기 때문에, 전기적 파라메터 사이의 불규칙성에 의해 발생되는 시간 불일치는 GHz 레벨의 고속 동작에 장애가 된다.
일반적으로, 컴퓨터의 주 메모리 시스템은 다수의 DRAM 이 메모리 버스에 접속되는 구조를 갖는다. 그러나, 메모리 버스 상에서, 임피던스의 부정합 등에 의해서 신호파형의 흐트러짐은 어쩔 수 없이 나타나게 되며, 이것은 고속 동작의 또다른 장애가 될 수 있다.
결과적으로, 종래 기술에 따르는 외부 인터페이스의 동작 주파수를 단순하게 증가함으로서 데이터 대역폭을 개선하는 것은 어렵다. 또한, 고속 인터페이스를 사용하는 메모리 LSI 와 메모리 LSI 를 사용하는 메모리 시스템이 일반적으로 고가이기 때문에, 데이터 압축 방법을 사용하여, 전송되는 데이터의 양을 감소함으로서 적은 메모리 LSI 를 갖는 높은 대역폭 메모리 시스템을 얻는 제안에 초점이 모아지고 있다.
통상적으로, 이러한 형태의 기술은 그래픽 데이터를 전송하기 위하여 사용된다. 이것은 그래픽 데이터가 데이터 압축에 매우 적당할 수 있도록 되어 있다는 사실을 기초로 하며, 즉 이것은 용장성과 규칙성 때문에 고압축율을 갖는다. 또한 그래픽 데이터를 전송할 때, 큰 데이터 대역폭이 그래픽 메모리 시스템과 주 메모리 시스템 양자에서 요구된다.
상술된 기술은 "New DRAM Technologies - A Comprehensive Analysis of the new Architectures (Second Edition)" (Steven A. Przybylski, MicroDesign Resources, 1996, pp. 124-127) 에 제안되어 있다.
상술된 논문에서 제안된 기술은 도 1 을 참조하여 설명될 것이다. 메모리 LSI 에 의해서 구성된 도면에 도시된 프레임 버퍼 (8) 는 그래픽 메모리 시스템에서 화면기록을 위하여 특별히 사용된 메모리 시스템이다.
상기 메모리 시스템에서, 프레임 버퍼 (8) 는 비압축 기록 데이터를 위한 비압축 기록 데이터 영역 (81) 과, 압축 기록 데이터를 위한 압축 기록 데이터 영역 (82) 이 제공된다. 이들 영역의 각각은 화면의 특정 영역 내에 블록 세트로서 배열된다.
기록처리가 임의의 블록에서 행해질 때, 우선, 그래픽 제어기 (9) 는 그 특정 블록에 대응하는 압축 기록 데이터, 즉 압축 기록 데이터 영역 (82) 내의 데이터를 체크한다. 압축 기록 데이터가 유효한 것으로 표시될 때, 그래픽 제어기 (9) 는 압축 기록 데이터를 사용하는 기록처리를 실행한다. 한편, 압축 기록 데이터가 무효로 표시될 때, 블록에 대응하는 비압축 기록 데이터, 즉 비압축 기록 데이터 영역 (81) 내의 데이터를 사용하는 기록처리를 실행할 것이다.
후자의 경우에, 그래픽 제어기 (9) 가 압축 기록 데이터가 무효임을 확인할 때, 그래픽 제어기 (9) 는 비압축 기록 데이터 영역 (81) 으로부터 판독된 비압축 기록 데이터를 압축하여서 압축 기록 데이터 영역 (82) 내의 대응하는 블록 상에 그것을 기록하도록 한다. 이러한 경우, 압축 기록 데이터 영역 (82) 상에 기재된 압축 기록 데이터는 유효한 것으로 표시될 것이다.
그래픽 제어기 (9) 가 기록 데이터를 재기록할 때, 비압축 기록 데이터 영역 (81) 내에 데이터를 재기록할 것이다. 이것이 발생할 때, 재기록된 데이터에 대응하는 압축 기록 데이터 영역 (82) 의 블록 내의 압축 데이터는 무효한 것으로 표시될 것이다. 이것은 새롭게 재기록된 데이터의 압축 버전만이 무효로서 표시되는 것을 의미한다.
상기 과정을 사용하여, 화면 기록를 위해 필요한 데이터 전송량을 감소시키는 것이 가능하게 된다. 특별히, 그래픽 데이터에 대한 압축방법에 대하여는 언급되어 있지 않았다. 그러나, 이것은 소프트웨어 혹은 하드웨어를 가지고 데이터 압축을 실행하는 그래픽 제어기를 설치함으로서 처리될 수 있다. 용장성 및 규칙성을 갖는 데이터를 위한 그런 압축 방법은 "A technique for High-Performance Data Compression"(Terry A. Welch, IEEE Computer, June 1984, pp. 8-19) 에 기재되어 있다. 이 특정 기술에 의해서 얻어질 수 있는 데이터 전송량 감소의 정도는 일반적으로 실행된 압축방법의 종류에 의존되며, 사용된 데이터의 형태에 의존된다. 일반적으로 데이터 전송은 약 1/2 내지 1/10 로 감소될 수 있다.
데이터 압축 기술을 사용하는 종래 형태의 상술된 메모리 시스템에 따라서, 데이터 압축을 실행하지 않는 경우와 비교하여, 화면기록을 위한 데이터의 데이터 전송량을 극적으로 감소하는 것이 가능하다. 그러나, 그런 기술은 아래에서 설명될 임의의 문제점을 유도할 수 있다.
그래픽 데이터의 전송을 요구하는 임의의 처리는 화면기록, 화상 데이터 판독, 화면 재기록 등을 포함한다. 특히, 3 차원 그래픽 처리에 있어서는, 화면기록 과정과 비교하여 보다 많은 양의 대역폭이 텍스쳐 데이터를 판독하고, Z-버퍼로 액세스하며, 다각형을 기록(즉 화면 재기록) 하는 것 등을 위하여 요구된다. 용어 "텍스쳐 데이터" 는 그래픽 소프트웨어에 있어서, 배경 및 입체 표면을 커버하기 위하여 사용하기 위한 패턴 데이터이다. Z 버퍼는 3 차원 그래픽 처리에서 Z 축 방향에 관계하는 데이터를 유지하기 위한 버퍼이다.
예를 들어, "AGP Speeds 3D Graphics"(Yong Yao, Microprocessor Report Vol. 10, No. 8, June 17, 1996) 에 기재된 기술에 대하여, 1024 X 768 픽셀을 갖는 화면의 대역폭 요구는 다음과 같다. 화면 기록에 대하여는 150 Mbytes/s, 화면 재기록에 대하여는 200 Mbytes/s, Z 버퍼 액세스에 대하여는 200 Mbytes/s 및 판독 텍스쳐 데이터에 대하여는 250 Mbytes/s 이다.
데이터 압축은 화면 기록의 경우에만 한정되기 때문에, 화면 기록 이외의 데이터는 압축시킬 수 없다. 전체상에서 최소화된 데이터 전송을 요구하며, 미래의 그래픽 처리의 주류가 될 것으로 기대되는 3 차원 그래픽 처리에 대하여 특히 만족스럽지 못하다.
종래 기술에 따라서, 기록 데이터는 프레임 버퍼를 형성하는 메모리 LSI 로부터 그래픽 제어기 LSI 로 일회 판독되며, 그런 후 메모리 LSI 상에서 압축되고 기록된다. 이것은 메모리 LSI 와 그래픽 제어기 LSI 사이에서 전송되는 실제적으로 불필요한 임의의 데이터가 있다는 것을 의미한다.
실제적으로, 데이터 재기록이 자주 발생되지 않는 곳에서는, 압축된 기록 데이터의 대부분을 유효하게 유지하면서, 상술된 것과 같은 압축된 데이터 기록은 가끔 나타날 것이다. 그런 경우에는, 실행된 공정은 반드시 그 모두가 불필요한 것이 아니다. 그러나, 많은 양의 3 차원 그래픽 처리를 요구하는 그런 응용에서는, 기록 데이터는 상당히 자주 재기록될 수도 있다. 그런 경우에, 결과적으로 비압축 기록 데이터가 판독되는 경우가 더 많아지며, 이것은 압축 기록 데이터의 불필요한 기록을 유도한다.
부가적으로, 종래 기술에 따르면, 메모리 LSI 로부터 외부로 1 회 판독되지 않는다면 데이터는 압축될 수 없다. 일반적으로, 그런 방법은 몇 번이고 동일한 데이터를 액세스 할 때 효과적이기 때문에, 수시로 재기록을 갖는 데이터에 대하여만 적절하다.
이것은 종래의 기술은 대상 데이터가 용장성 및 규칙성뿐만 아니라 정적이어야 한다는 것을 요구하는 것으로 판단된다. 그런 특정한 요구 때문에, 종래 기술은 데이터 압축에 대한 효과적인 방법으로서 일반적으로 고려되지 않는다.
그러므로, 상술된 모든 문제점을 해결하는 것이 본 발명의 목적으로서, 종래의 고속 동작 기술보다 높은 신뢰도를 가지고 쉽게 얻을 수 있는 방법을 사용하여, 데이터 대역폭을 효과적으로 연장할 수 있으며, 데이터 전송량을 감소할 수 있는 메모리 집적회로를 제공하는 것이다. 또한, 본 발명의 또다른 목적은 상기 메모리 집적회로를 사용하여 주 메모리 시스템과 그래픽 메모리 시스템을 제공하는 것이다.
본 발명의 제 1 실시예에 따르면, 적어도 데이터 입력 혹은 출력을 위한 외부 입력/출력 단자와, 데이터를 기억하기 위한 메모리와, 상기 메모리에 대한 데이터 판독과 데이터 기록을 제어하기 위한 제어수단과, 데이터 판독시에 메모리에서 판독된 데이터를 외부 입력/출력 단자로 직접 전송하기 위한 제 1 전송수단과, 데이터 기록시에 외부 입력/출력 단자에서 입력된 데이터를 메모리로 바로 전송하기 위한 제 2 전송수단과, 압축 데이터 판독시에 압축 데이터를 외부 입력/출력 단자로 전송하도록 메모리로부터 판독된 데이터를 압축하는 압축수단과, 압축 데이터 기록시에 압축 데이터를 메모리로 전송하도록 외부 입력/출력 단자로부터 입력된 압축 데이터를 신장시키기 위한 신장수단을 구비하는 메모리 집적회로를 제공하는 것이며, 이들 모두는 동일한 한 칩 내에 포함되어 있다.
본 발명의 제 2 실시예에 따라서, 적어도 메모리 집적회로와 메모리 칩을 포함하는 주 메모리 시스템을 제공하며, 상기 메모리 집적회로는 적어도 데이터 입력 혹은 출력을 위한 외부 입력/출력 단자를 가지며, 데이터를 기억하기 위한 메모리와, 상기 메모리에 대한 데이터 판독과 데이터 기록을 제어하기 위한 제어수단과, 데이터 판독시 메모리로부터 판독된 데이터를 외부 입력/출력 단자로 직접 전송하기 위한 제 1 전송수단과, 데이터 기록시 외부 입력/출력 단자로부터 입력된 데이터를 메모리로 직접 전송하기 위한 제 2 전송수단과, 메모리로부터 판독된 데이터를 압축하여서 압축 데이터 판독시에 외부 입력/출력 단자로 전송하도록 하는 압축수단과, 외부 입력/출력 단자로부터 입력된 압축 데이터를 신장하여서 압축 데이터 기록시에 신장된 데이터를 메모리로 전송하는 신장수단을 모두 동일 칩 상에 포함하고 있으며, 메모리 칩은 적어도 프로그램을 격납하고 있다.
본 발명의 제 3 실시예에 따르면, 메모리 집적회로와 메모리 칩을 구비하는 주 메모리 시스템을 제공하며, 메모리 집적회로는 그래픽 데이터를 기억하며, 적어도 입력 혹은 출력을 위한 외부 입력/출력 단자를 가지며, 데이터를 기억하기 위한메모리와, 상기 메모리에 대한 데이터 판독과 데이터 기록을 제어하기 위한 제어수단과, 데이터 판독시에 메모리로부터 판독된 데이터를 외부 입력/출력 단자로 바로 전송하기 위한 제 1 전송수단과, 데이터 기록시에 외부 입력/출력 단자로부터 입력된 데이터를 바로 메모리로 전송하기 위한 제 2 전송수단과, 메모리로부터 판독된 데이터를 압축하여서 압축 데이터 기록시 외부 입력/출력 단자로 압축 데이터를 전송하도록 하는 압축수단과, 외부 입력/출력 단자로부터 입력된 압축 데이터를 신장하여서 압축된 데이터 기록이 신장 데이터를 메모리로 전송하도록 하는 신장 데이터를 모두 동일 칩 내에 포함하고 있으며, 메모리 칩은 적어도 프로그램을 격납하고 있다.
본 발명의 제 4 실시예에 따르면, 메모리 집적회로와 그래픽 제어기를 포함하는 그래픽 메모리 시스템을 제공하며, 메모리 집적회로는 그래픽 데이터를 기억하고, 적어도 데이터 입력 혹은 출력을 위한 외부 입력/출력 단자와, 데이터를 기억하기 위한 메모리와, 메모리에 있어서의 데이터 판독과 데이터 기록을 제어하기 위한 제어수단과, 데이터 판독시에 메모리로부터 판독된 데이터를 외부 입력/출력 단자로 바로 전송하기 위한 제 1 전송수단과, 데이터 기록시에 외부 입력/출력 단자로부터 입력된 데이터를 바로 메모리로 전송하기 위한 제 2 전송수단과, 메모리로부터 판독된 데이터를 압축하여서 압축된 데이터 판독시에 압축 데이터를 외부 입력/출력 단자로 전송하도록 하는 압축수단과, 외부 입력/출력 단자로부터 입력된 압축 데이터를 신장하여서 압축 데이터 기록시에 신장 데이터를 메모리로 전송하도록 하는 신장수단을 모두 동일한 칩 상에 포함하며, 그래픽 제어기는 메모리 집적회로와의 사이에서 그래픽 데이터를 전송하며, 적어도 그래픽 데이터의 압축 및 신장 처리를 실행한다.
본 발명의 상기 4가지 실시예에 따르면, 메모리 집적회로, 즉 데이터 압축/신장 기능을 갖는 메모리 LSI 는, 칩 내에, 데이터를 입력하고 출력하기 위한 외부 입력/출력 단자와, 데이터를 기억하기 위한 메모리부와, 데이터 판독 및 데이터 기록 처리를 제어하기 위한 제어부와, 데이터 압축기와 데이터 신장기를 구비하는 압축/신장부와, 메모리부 내의 임의의 위치의 데이터에 대하여, 판독 처리, 압축 판독 처리, 기록 처리 및 압축 기록 처리를 포함하는 4 개의 액세스 처리를 할 수 있는 압축/신장부를 구비한다.
데이터 판독시, 데이터 압축/신장 기능을 갖는 본 발명의 상술된 메모리 LSI 에 따르면, 제어부는 압축/신장부를 거치지 않고 메모리부로부터 판독된 데이터를 직접 받아서, 외부 입력/출력 단자로부터의 데이터를 출력한다. 반면에, 압축 데이터 판독시에, 제어부는 압축/신장부 내의 데이터 압축기에 의해서 메모리부로부터 판독된 데이터를 압축하여서, 외부 입력/출력 단자로부터의 압축 데이터를 출력한다.
데이터 압축/신장 기능을 갖는 본 발명의 상술된 메모리 LSI 에 대하여, 제어부는 압축/신장부를 거치지 않고 메모리부 상의 외부 입력/출력 단자로부터 받은 데이터를 직접 기록한다. 반면에, 압축 데이터 기록시에, 제어부는 압축/신장부 내의 데이터 신장기에 의해서 외부 입력/출력 단자로부터 받은 데이터를 신장하여서, 원래의 상태가 되도록 데이터를 신장하며 메모리부 상에 기록시킨다.
데이터 압축/신장 기능을 갖는 본 발명의 상술된 메모리 LSI 에 대하여, 압축 데이터 판독시에, 메모리 LSI 는 압축 판독 액세스 지연시간의 경과 후에 압축 데이터를 출력한다. 압축 판독 액세스 지연시간은 판독 액세스 지연시간과 특정한 압축처리 지연시간의 합이다.
데이터 압축/신장 기능을 갖는 본 발명의 상술된 메모리 LSI 에 대하여, 메모리 LSI 는, 메모리 어드레스의 주어진 커맨드 혹은 주어진 값의 형태에 따라서, 액세스가 제어부에 의해서 압축/신장부를 통과할 것인지 아닌지를 판단한다.
데이터 압축/신장 기능을 갖는 본 발명의 상술된 메모리 LSI 에 대하여, 메모리 LSI 는 제어부 및 메모리부와 압축/신장부에 미리 주어진 상이한 식별자들 내에서 유지한다. 지시 액세스를 위한 커맨드가 주어질 때, 데이터 압축/신장 기능을 갖는 메모리 LSI 는, 두 개의 식별자 중 어느 식별자가 주어진 커맨드 내에서 선정된 것인지를 식별함으로서, 액세스가 제어부에 의해서 압축/신장부를 통과할 것인지 아닌지를 판단한다.
데이터 압축/신장 기능을 갖는 본 발명의 상술된 메모리 LSI 와 관련하여, 메모리 LSI 는 외부 입력/출력 단자 내에서 두 개의 칩 선택 단자가 제공된다. 데이터 압축/신장 기능을 갖는 메모리 LSI 는, 두 개의 선택 단자 중 하나가 액세스시에 활성되는 것인지를 식별함으로서, 액세스가 제어부에 의해서 압축/신장부를 통과할 것인지를 결정한다.
데이터 압축/신장 기능을 갖는 본 발명의 상술된 메모리 LSI 에 대하여, 메모리 LSI 는 데이터 압축기로부터 출력된 압축 데이터를 메모리부로 직접 입력할수 있으며, 이것에 의해서 압축 재기록 액세스가 가능하게 된다. 압축 재기록 액세스는 메모리 내의 임의의 위치에 기억된 데이터를 칩 내에 압축시켜서 메모리부 상에 재기록하는 액세스이다.
데이터 압축/신장 기능을 갖는 본 발명의 상술된 메모리 LSI 에 대하여, 메모리 LSI 는 메모리부로부터 데이터 판독 어드레스를 지정하고, 압축 재기록 액세스를 실행할 때의 데이터로서 재기록 어드레스를 지정한다. 또한 제어부는 상술된 액세스 판별을 위한 동일한 과정을 따라서, 압축 재기록 액세스가 압축/신장부를 통과할 것인지 아닌지를 결정한다.
본 발명의 제 2 실시예에 대한 주 메모리 시스템에 따라서, 주 메모리 시스템은 임의의 수의 메모리 LSI 와 데이터 압축/신장 기능을 갖는 임의의 수의 메모리 LSI 를 구비한다. 데이터 압축/신장 기능을 갖는 메모리 LSI 는 압축될 수 있는 데이터를 기억한다. 여기서, 압축 판독 액세스, 압축 기록 액세스 및 압축할 수 있는 데이터를 전송하는 것들과 관련된 것들을 사용하여, 압축할 수 있는 데이터의 과정을 동반하는 메모리 버스 상의 데이터 전송량을 감소할 수 있다.
본 발명의 제 3 실시예에 대한 주 메모리 시스템에 따라서, 주 메모리 시스템은 임의의 수의 메모리 LSI 와 메모리 LSI 에 부가된 임의의 수의 데이터 압축/신장 기능을 구비한다. 데이터 압축/신장 기능을 갖는 메모리 LSI 는 그래픽 데이터를 기억한다. 여기서, 압축 판독 액세스, 압축 기록 액세스 및 그래픽 데이터를 전송하는 것과 관련된 것을 사용하여, 그래픽 데이터의 공정을 동반하는 메모리 버스 상의 데이터 전송량을 감소시킬 수 있다.
본 발명의 제 4 실시예에 대한 그래픽 메모리 시스템에 따라서, 그래픽 메모리 시스템은 그래픽 제어기와 접속된 데이터 압축/신장 기능을 갖는 임의의 수의 메모리 LSI 를 구비한다. 여기서, 데이터 압축/신장 기능을 갖는 메모리 LSI 와 그래픽 제어기 사이의 그래픽 데이터를 전송할 때, 그래픽 메모리 시스템은 압축 판독 액세스, 압축 기록 액세스 등을 사용하며 데이터 전송량을 감소할 수 있다.
데이터 압축/신장 기능을 갖는 본 발명의 메모리 LSI 에 따라서, 외부로 데이터 판독시, 데이터 압축/신장 기능을 갖는 메모리 LSI 는 압축/신장부 내에서 데이터 압축기에 의해서 메모리부로부터 판독된 데이터를 압축하여서, 외부 입력/출력 단자를 통하여 압축 데이터를 출력한다. 반면에, 외부로부터 데이터 기록시에, 데이터 압축/신장 기능을 갖는 메모리 LSI 는 압축/신장부 내의 데이터 신장기에 의해서 외부 입력/출력 단자로부터 입력된 압축 데이터를 신장하여서, 메모리부 상의 원래의 상태로 신장된 데이터를 기록한다. 그러므로, 외부 입력/출력 단자와 압축된 상태의 데이터를 갖는, 외부 입력/출력 단자에 접속된 메모리 버스를 통하여 데이터를 전송하는 것을 실행하는 것을 가능하게 한다.
데이터 압축/신장 기능을 갖는 메모리 LSI 를 사용하는 주 메모리 시스템에 따라서, 데이터 압축/신장 기능을 갖는 다수의 메모리 LSI 와 다수의 종래의 메모리 LSI 가 단일 메모리 버스에 접속된다. 그러므로, 예를 들어, 그래픽 데이터등의 규칙성과 용장성 등을 갖는 그런 데이터를 데이터 압축/신장 기능을 갖는 메모리 LSI 에 맵핑함으로서, 그런 데이터를 사용하는 공정시, 메모리 버스 상의 데이터 전송량을 감소하는 것이 가능하다.
그러므로, 본 발명에 따라서, 임의의 소정의 액세스 패턴과 좀 더 일반적인 용어로 다른 액세스 패턴으로, 데이터의 용장성과 규칙성을 효과적으로 사용하는 데이터 압축을 실행하는 것이 가능하다. 이것은 메모리 LSI 의 외부 인터페이스와 메모리 버스의 고속 성능에 의존하는 데이터 대역폭의 연장에 거의 의존하지 않으며, 이제 데이터 트래픽 그 자체가 데이터 압축에 의해서 감소될 수 있다는 것을 의미한다.
본 발명의 상술된 목적과 다른 목적 그리고 새로운 특성은 첨부된 도면을 참조할 때, 다음의 상세한 설명으로부터 명확하게 될 것이다. 그러나, 도면은 설명만을 위한 것이며, 본 발명의 한계를 정의하기 위한 것이 아님을 명백히 한다.
도 1 은 종래의 데이터 압축 기술을 사용하는 그래픽 메모리 시스템의 구조를 나타내는 설명도이다.
도 2 는 데이터 압축/신장 기능을 갖는 본 발명의 메모리 LSI 의 제 1 실시예를 보여주는 블록 다이어그램이다.
도 3(a) 는 본 발명의 메모리 LSI 의 외부 입력/출력 단자의 제 1 실시예를 보여주는 블록 다이어그램이다.
도 3(b) 는 본 발명의 메모리 LSI 의 외부 입력/출력 단자의 제 2 실시예를 보여주는 블록 다이어그램이다.
도 3(c) 는 본 발명의 메모리 LSI 의 외부 입력/출력 단자의 제 3 실시예를 보여주는 블록 다이어그램이다.
도 4(a) 는 판독 액세스시에, 압축/신장 기능을 갖는 메모리 LSI 의 동작 타이밍을 보여주는 타이밍 차트이다.
도 4(b) 는 압축 판독 액세스시에, 압축/신장 기능을 갖는 메모리 LSI 의 동작 타이밍을 보여주는 타이밍 차트이다.
도 4(c) 는 기록 액세스시에, 압축/신장 기능을 갖는 메모리 LSI 의 동작 타이밍을 보여주는 타이밍 차트이다.
도 4(d) 는 압축 기록 액세스시에, 압축/신장 기능을 갖는 메모리 LSI 의 동작 타이밍을 보여주는 타이밍 차트이다.
도 5(a) 는 압축/신장 기능을 갖는 메모리 LSI 의 데이터 압축/신장부와 메모리부 사이의 액세스 대상을 식별하기 위한 메카니즘의 제 1 예를 보여주는 다이어그램이다.
도 5(b) 는 압축/신장 기능을 갖는 메모리 LSI 의 데이터 압축/신장부와 메모리부 사이의 액세스 대상을 식별하기 위한 메카니즘의 제 2 예를 보여주는 다이어그램이다.
도 5(c) 는 압축/신장 기능을 갖는 메모리 LSI 의 데이터 압축/신장부와 메모리부 사이의 액세스 대상을 식별하기 위한 메카니즘의 제 3 예를 보여주는 다이어그램이다.
도 5(d) 는 압축/신장 기능을 갖는 메모리 LSI 의 데이터 압축/신장부와 메모리부 사이의 액세스 대상을 식별하기 위한 메카니즘의 제 4 예를 보여주는 다이어그램이다.
도 6 은 데이터 압축/신장 기능을 갖는 본 발명의 메모리 LSI 의 제 2 실시예를 보여주는 다이어그램이다.
도 7 은 도 2 및 도 6 에 도시된 데이터 압축/신장 기능을 갖는 메모리 LSI 를 사용하는 주 메모리 시스템 구조의 한 예를 보여주는 블록 다이어그램이다.
도 8 은 도 2 및 도 6 에 도시된 데이터 압축/신장 기능을 갖는 메모리 LSI 를 사용하는 그래픽 메모리 시스템 구조의 한 예를 보여주는 블록 다이어그램이다.
* 도면의 주요 부분에 대한 부호의 설명 *
20 : 외부 입력/출력 단자 11 : 제어부
12 : 메모리부 13 : 압축/신장부
14 : 데이터 압축기 15 : 데이터 신장기
16, 17 : 셀렉터
201 : 커맨드/어드레스 입력 단자
202 : 데이터 입력/출력 단자
도면을 참조하여, 본 발명의 바람직한 실시예의 설명이 상세하게 주어질 것이다.
도 2 는 데이터 압축/신장 기능을 갖는 본 발명의 메모리 LSI 의 제 1 실시예를 보여주는 블록 다이어그램이다. 도 2 에서, 데이터 압축/신장 기능을 갖는 메모리 LSI (1) 는 외부 입력/출력 단자 (20) 와, 제어부 (11) 와, 메모리부 (12) 와 압축/신장부 (13) 와 셀렉터 (16, 17) 를 구비한다.
외부 입력/출력 단자 (20) 는 커맨드/어드레스 입력 단자 (201) 와 데이터 입력/출력 단자 (202) 에 의해서 형성된다. 압축/신장부 (13) 는 데이터 압축기 (14) 와 데이터 신장기 (15) 에 의해서 형성된다.
커맨드/어드레스 입력 단자 (201) 는 액세스 형태를 지시하는 커맨드를 지정하고, 데이터 압축/신장 기능을 갖는 메모리 LSI 에 대하여 액세스된 어드레스를 지시하는 단자이다. 여기서, 판독 액세스, 압축 판독 액세스, 기록 액세스 및 압축 기록 액세스를 포함하는 4 개의 액세스 형태가 있다.
데이터 입력/출력 단자 (202) 는 기록 액세스 혹은 압축 기록 액세스시에 기록될 데이터를 주는 단자이다. 이것은 또한, 판독 액세스 혹은 압축 판독 액세스시에 판독된 데이터를 출력하는 단자이다.
제어기 (11) 는 커맨드/어드레스 입력 단자 (201) 로부터의 입력에 따라서 칩 내의 동작을 결정하며, 압축/신장을 위한 지시 신호, 판독/기록 처리를 위한 제어 신호 등의 제어신호를 발생하도록 배열된다. 데이터 압축/신장 기능을 갖는 메모리 LSI 는 메모리부 (12) 내의 임의의 영역의 데이터에 대하여 상기된 4 개의 액세스를 실행할 수 있다.
도 3(a), 도 3(b) 및 도 3(c) 는 데이터 압축/신장 기능을 갖는 본 발명의 메모리 LSI 의 외부 입력/출력 단자의 3 가지 예를 보여준다. 예를 들어, 도 2 에 도시된 종래 기술의 외부 입력/출력 단자 (20) 는 종래의 메모리 LSI 의 동기성 DRAM, 싱크링크(SyncLink) DRAM 등의 내에서 인지된다. 동기성 DRAM 은 외부로부터 입력된 클럭신호와 동기되도록 데이터 입력/출력을 실행하는 DRAM 의 형태이다. 싱크링크 DRAM 에 대하여, 이것은 "New DRAM Technologies - A Comprehensive Analysis of the New Architectures (Second Edition)"(Steven A. Przybylski, MicroDesign Resources, 1996, pp. 320-336) 에 기재되어 있다.
도 3(a) 에서, 외부 입력/출력 단자 (20) 는 분리되지 않는다. 이러한 형태의 구조는 종래 메모리 LSI 의 램버스 DRAM 내에서 보여지고 있다. 여기서, 램버스 DRAM 은 종래 기술로서, 이전에 설명된 램버스 기술이다.
도 3(b) 에서, 외부 입력/출력 단자로서 함께 작용하는 외부 입력 단자 (203) 와 외부 출력 단자 (204) 가 있다. 이러한 구조는 예를 들어, 종래 메모리 LSI의 램링크 DRAM 에서 인식된다. 램링크 DRAM 은 "New, DRAM Technologies - A Comprehensive Analysis of the New Architectures (Second Edition)" (Steven A. Przybylski, MicroDesign Resources, 1996, pp. 306-319) 에 기재되어 있다.
도 3(c) 에서는, 외부 입력/출력 단자로서 함께 작용하는 커맨드/어드레스 입력 단자 (201), 데이터 입력 단자 (205) 및 데이터 출력 단자 (206) 가 있다.
도 4(a) 내지 도 4(d) 는 도 2 에 도시된 데이터 압축/신장 기능을 갖는 메모리 LSI (1) 의 동작을 보여주는 타이밍 차트이다. 여기서, 도 4(a) 내지 도 4(d) 는, 종래의 동기성 DRAM 을 기초로하여 구성될 때와, 외부로부터 데이터 입력/출력이 관찰될 때의 메모리 LSI 의 동작 타이밍을 보여준다.
우선, 도 4(a) 에 대하여, 지시 판독 처리를 위한 커맨드 (a1) 가 판독 액세스 내에 주어진다. 그런 후, 소정의 주기를 경과한 후에, 데이터 ① 내지 ④ 는 많은 주기 동안 판독되어지며, 이것은 모두 출력될 것이다. 이러한 경우, 도 2 에 대하여 언급될 때, 제어기 (11) 는 메모리부 (12) 에 데이터 판독을 지시하는 것이며, 그런 후 판독 데이터는 데이터 압축기 (24) 를 통과하지 않고 셀렉터(16) 로 직접 입력되어서 제어기 (11) 를 통과하여, 데이터를 외부로 출력하는 데이터 입력/출력 단자 (202) 로 통과된다.
다음으로, 도 4(b) 에 대하여, 압축 판독 액세스에서, 압축 데이터 판독을 지시하기 위한 커맨드 (b1) 가 주어진다. 그런 후, 소정의 주기를 경과한 후, 데이터 ① 내지 ② 는 많은 주기에 걸쳐 판독되어서, 모두 출력될 것이다. 이러한 경우에 도 2 에 관계될 때, 제어기 (11) 는 메모리부 (12) 로 데이터 판독을 지시하며, 이것에 의해서 데이터는 메모리부 (12) 로부터 판독된다. 그런 후, 판독 데이터는 데이터 압축기 (14) 에 의해서 압축되어서 제어기 (11) 를 통과하여 데이터 입력/출력 단자 (202) 로 보내져서 출력된다.
여기서, 데이터 입력/출력 단자 (202) 로부터 외부로 출력된 데이터는 압축 공정을 통과하기 때문에, 출력 데이터양은 일반 판독 액세스 내의 데이터양보다 비교적 적게 된다. 상기 데이터가 압축 공정을 통과하기 때문에, 데이터 출력 지점까지의 압축 판독 액세스 지연시간은 정상 판독 액세스 지연 시간으로부터 압축 공정 지연 시간까지 지연된다.
다음으로, 도 4(c) 에 대하여, 기록 액세스에서, 기록을 지시하기 위한 커맨드 (c1) 와, 기록되는 데이터 ① 내지 ④ 는 동시에 데이터 입력/출력 단자 (202) 에 의해서 주어진다. 이러한 경우 도 2 에서 언급할 때, 제어기 (11) 는 데이터 기록을 위한 메모리 (12) 를 지시하고 데이터 입력/출력 단자 (202) 에 의해서 주어진 데이터를 데이터 신장기 (15) 를 통과하지 않고 셀렉터 (17) 로 바로 입력한다. 상기 데이터는 기록되는 곳인 메모리부 (12) 로 입력된다.
다음으로, 도 4(d) 에 대하여, 압축 기록 액세스에서, 기록을 지시하기 위한 커맨드 (d1) 와 기록될 데이터 ① 및 ② 는 동시에 데이터 입력/출력 단자에 의해서 주어진다. 이러한 경우 도 2 에서 언급한다면, 제어기 (11) 는 데이터 신장을 위한 신장기 (15) 와 데이터 기록을 위한 메모리 (12) 를 각각 지시한다. 따라서, 데이터 입력/출력 단자 (202) 에 의해서 데이터 신장기 (15) 로 주어진 데이터는 신장되며, 셀렉터 (17) 를 통과하고, 기록되는 곳인 메모리 (12) 로 통과된다.
도 5(a) 내지 도 5(c) 는 액세스 타겟이 메모리부 (12) 혹은 압축/신장부 (13) 인지를 식별하기 위한 메카니즘의 예를 보여준다. 여기서, 메모리부 (12) 는 판독 액세스 혹은 기록 액세스시에 액세스 타겟이 된다. 반면에, 압축/신장부 (13) 는 압축 판독 액세스 혹은 압축 기록 액세스시에 액세스 타겟이다.
도 5(a) 에 따라서, 커맨드/어드레스 입력 단자 (201) 에 의해서 주어진 어드레스 혹은 커맨드는 액세스 타겟이 메모리부 (12) 인지 혹은 압축/신장부 (13) 인지를 지시한다.
커맨드를 통해 지시하는 경우에는, 상이한 커맨드는 판독, 압축 판독, 기록 및 압축 기록 처리를 위하여 각각 사용된다. 그런 커맨드는 디코더 (111) 에 의해서 디코더되어서 적절한 지시가 된다. 반면에, 어드레스를 통하여 지시가 주어지는 경우에, 예를 들어, 액세스 타겟이 메모리부 (12) 혹은 압축/신장부 (13) 인지를 결정하기 위하여, 어드레스의 상부 비트가 디코더 (111) 에 의해서 디코더된다.
도 5(b) 에 따라서, 제어부 (11) 는 메모리 식별자 유지부 (112) 와 압축/신장 식별기 유지부 (113) 가 설치된다. 메모리 식별자 유지부는 메모리부 (12) 에 대한 식별자를 유지한다. 압축기/신장기 식별자 유지부 (113) 는 압축/신장부 (13) 와 관련된 식별자를 유지한다. 액세스를 위해 요구되는 커맨드가 주어질 때, 비교기 (114, 115) 는 어떤 식별자가 커맨드에 의해서 지정되었는지를 검출하여서, 액세스 타겟이 메모리부 (122) 인지 혹은 압축/신장부 (13) 인지를 결정한다.
종래의 램버스 DRAM, 싱크링크 DRAM, 램링크 DRAM 등에 대하여, 액세스되는 특정 DRAM은 그 특정 DRAM에 대응하는 커맨드 내의 식별자를 지정함으로써 지시받는다.
다시, 도 5(b) 에 따라서, 메모리부 (12) 와 압축/신장부 (13) 는 종래의 메카니즘, 즉 상이한 식별자들이 제공된 메모리부 (12) 와 압축/신장부 (13) 를 가짐으로서 구별될 수 있다.
외부 입력/출력 단자의 구조에 대하여, 도 5(b) 에 설명된 메카니즘은 도 3(a) 에 도시된 구조에 사용할 수 있다. 동일한 메카니즘은 도 2, 도 3(b) 및 도 3(c) 에 도시된 임의의 다른 구조에도 또한 사용할 수 있다.
커맨드 내의 식별자가 메모리 식별자 유지부 (112) 와 압축/신장 식별자 유지부 (113) 내에 유지되어 있는 식별자중 어느 것에도 대응되지 않는다면, 이것은 커맨드가 데이터 압축/신장 기능을 갖는 메모리 LSI (1) 로 액세스를 지시하기 위한 적절한 커맨드가 아니라는 것을 의미한다.
도 5(c) 에 따라서, 두 개의 칩 선택 단자 (2011, 2012) 는 커맨드/어드레스 입력 단자 (201) 로서 작용하도록 제공된다. 두 개의 칩 선택 단자중 어느 것이 활성화되는 지에 의존하여 액세스 타겟이 메모리부 (12) 인지 혹은 압축/신장부 (13) 인지를 디코더 (116) 가 결정할 것이다.
도 6 은 데이터 압축/신장 기능을 갖는 본 발명의 메모리 LSI 의 제 2 실시예를 설명하는 다이어그램이다. 동일한 도면부호는 도 6 및 도 2 의 메모리 LSI (1) 사이에서 대응하는 구성요소에 주어진다. 또한, 동일한 구성요소 세트는 동일한 방법으로 동작되도록 제안되어 있다.
도 2 내에 도시된 이전의 실시예와 도 6 에 도시된 본 실시예 사이의 차이점은 데이터 압축기이다. 즉, 본 실시예 내의 데이터 압축기 (19) 는 셀렉터 (17) 에 접속되며, 이전의 실시예의 데이터 압축기 (14) 는 접속되어 있지 않았다. 그러므로, 본 실시예에 따르면, 데이터 압축기 (19) 로부터의 출력은 셀렉터 (17) 를 통하여 메모리부 (12) 로 전송될 수 있다. 이것에 의해서, 도 6 의 메모리 LSI는 압축 재기록 액세스를 행할 수 있으며, 이것은 제 1 실시예 내에서 사용할 수 없다.
압축 재기록 액세스는 액세스의 한 종류이며, 이것은 메모리부 (12) 로부터 판독되어 있는 데이터가 데이터 압축기 (19) 에 의해서 압축되며, 그런 후 이것은 메모리부 (12) 상에서 다시 재기록된다. 압축 재기록 액세스를 실행할 때, 요구된 액세스는 압축/신장부 (13) 를 의미한다는 것은 도 5(a) 내지 도 5(c) 를 참조하여 설명된 메카니즘의 하나를 통하여 결정되어야만 한다.
기록 액세스 및 압축 기록 액세스를 요구하는 커맨드와 같이, 압축 재기록 액세스를 요구하는 커맨드는 또한 외부 입력/출력 단자 (20) 에 대한 데이터의 입력을 수반한다. 이러한 경우, 외부 입력/출력 단자 (20) 에 입력된 데이터는 데이터 재기록이 실행되는 메모리부 (12) 의 어드레스를 지정할 때 사용된다.
도 7 은 도 2 및 도 6 에 도시된 데이터 압축/신장 기능을 갖는 메모리 LSI 를 사용하는 주 메모리 시스템의 구조를 설명하는 다이어그램이다. 도면에 도시된 주 메모리 시스템 (2) 은 UMA (Unified Memory Architecture) 의 개념을 기본으로 한다. UMA 는 그래픽 시스템, 특히 주 메모리 내의 프레임 버퍼를 배열하기 위한 기술에 의해서 정의된다. 프레임 버퍼를 위한 주 메모리부를 할당함으로서 메모리 LSI 의 수를 감소하는 것이 목적이다.
도 7 에 대하여, 주 메모리 시스템 (2) 내에서, 다수의 메모리 LSI (21 내지 23) 에 접속된 메모리 버스 (100) 와 데이터 압축/신장 기능을 갖는 단일 메모리 LSI 가 있다. 또한 메모리 버스 (100) 에 접속된 데이터 압축/신장 기능을 갖는 다수의 메모리 LSI 를 갖는 것이 가능하다.
또한, 주 메모리 시스템 (2) 내의 메모리 버스 (100) 는 메모리 제어기 (4) 와 그래픽 제어기 (3) 에 접속된다. 메모리 제어기 (4) 와 그래픽 제어기 (3) 는 점유권 조정선 (101) 을 통하여 메모리 버스 (100) 의 점유권 조정을 실행한다.
주 메모리 시스템 (2) 에 따라서, 그래픽 제어기 (3) 에 의해서 액세스된 그래픽 메모리는 데이터 압축/신장 기능을 갖는 메모리 LSI 로 맵핑되며, 이것은 그래픽 처리시 데이터 전송의 감소를 유도한다.
도 8 은 도 2 및 도 6 에서 설명된 데이터 압축/신장 기능을 갖는 메모리 LSI 를 사용하는 그래픽 메모리 시스템을 도시한 블록 다이어그램이다. 그래픽 메모리 시스템 (6) 은 압축/신장 기능을 갖는 두 개의 메모리 LSI (1-1, 1-2) 를 구비한다. 메모리 버스 (102) 상의 데이터 전송량은 그래픽 제어기 (7) 와 그래픽 메모리 시스템 (6) 이 압축 그래픽 데이터를 상호 교환하도록 함으로써, 감소될 수 있다.
이와 같이, 도 7 에 도시된 주 메모리 시스템과 도 8 에 도시된 그래픽 메모리 시스템에 대하여, 메모리 버스 (100 혹은 102) 상에서 이동되는 데이터는 데이터 압축/신장 기능을 갖는 메모리 LSI (1), 혹은 1-1 및 1-2 내에서 실행된 데이터 압축 처리에 의해서 압축될 수 있다. 결과적으로, 메모리 버스 대역폭이 종래의 메모리 LSI 와 동일할 때에도, 더 많은 전송이 행해질 수 있다. 이것은 특히, 실제적으로 더 큰 대역폭이 사용 가능할 수 있다는 것을 의미한다.
고속 성능에 의한 메모리 버스 대역폭을 개선하기 위한 시도는 메모리 LSI 의 전기적 설계에 관한 어떤 어려움과 부딪히게 된다. 그러나, 데이터 압축/신장 기능을 갖는 메모리 LSI 를 조정하는 것은 높은 대역폭을 실행하기 위한 또다른 수단을 제공할 수 있다.
개인 컴퓨터 등에 대하여, 메모리 버스 데이터 대역폭을 가장 많이 필요로하는 처리는 3 차원 그래픽 처리를 포함하는 그래픽 처리이다. 그러나, 그래픽 데이터를 기억하기 위한 메모리로서 데이터 압축/신장 기능을 갖는 메모리 LSI (1, 혹은 1-1, 1-2) 를 사용함으로서, 그래픽 데이터가 높은 규칙성과 용장성을 가지고있기 때문에, 데이터 압축/신장 기능을 갖는 메모리 LSI 내의 압축 처리에 의해서 데이터의 양은 1/2 내지 1/10 로 감소할 수 있다.
데이터 압축/신장 기능을 갖는 메모리 LSI (1), 혹은 1-1 및 1-2 를 사용하는 주 메모리 시스템 (2) 과 그래픽 메모리 시스템 (6) 등의 메모리 시스템에는, 메모리 LSI 외부의 소프트웨어 혹은 하드웨어에 의해서 데이터 압축을 실현하는 종래의 메모리 시스템과 비교할 때 여러 장점이 있다. 그런 장점이 다음에 설명될 것이다.
먼저, 데이터 압축 및 신장 처리는 데이터 압축/신장 기능을 갖는 메모리 LSI (1), 혹은 1-1 및 1-2 내에서 수행된다. 그러므로, 오버헤드, 즉 데이터를 압축하기 위해 메모리 LSI 로부터 외부로 데이터를 1 회 판독하고 다시 그 데이터를 기록하는 일이 발생되지 않는다.
다음으로, 데이터는 원래의 상태로 기억되며, 데이터 전송시에만 압축되어서, 임의의 데이터에 대한 랜덤 액세스가 가능하게 된다. 그러나, 종래 기술에 서는, 데이터는 압축된 것을 기억한다. 그러므로, 랜덤 액세스를 실행하는 것이 불가능하거나 혹은 랜덤 액세스가 가능한 곳에서 조차도 이것은 테이블 룩업의 지원을 받는 경우에 한하므로, 실제적으로 오버헤드이다.
다음으로, 상술된 장점에 대하여 데이터 압축 기술이 화면 기록시에, 프레임 버퍼로부터의 기록 데이터를 압축할 때만, 적용될 수 있는 것으로 고려되는 종래의 경우와 비교하여, 데이터 압축/신장 기능을 갖는 메모리 LSI 를 사용하는 상술된 메모리 시스템은 예를 들어 화면 재기록 및 Z 버퍼 액세스시와 같은 그래픽 프로세싱을 위한 데이터 전송시와, 텍스쳐 데이터를 판독할 시에 적용될 수 있다. 이것은 데이터 전송량을 감소하도록 기여된다.
다음으로, 상술된 장점에 관하여, 그래픽 데이터에 부가하여, 데이터 압축/신장 기능을 갖는 메모리 LSI 를 사용하는 메모리 시스템은 예를 들어, 오디오 데이터, 텍스쳐 데이터, 컴퓨터 프로그램, 과학기술 계산을 위한 벡터 데이터등의 용장성과 규칙성을 갖는 데이터 또한 압축할 수 있다. 이것은 데이터 대역폭이 실제적으로 사용하는데 있어서 개선될 수 있다는 것을 시사하고 있다.
마지막으로, 상기 구조에 부가하여, 압축 재기록 액세스를 가능하게 함으로써, 종래의 경우와 같은 종류의 데이터 압축을 데이터 압축/신장 기능을 갖는 메모리 LSI(1, 1-1, 1-2) 내에서 독립적으로 수행하는 것이 가능하다.
상술된 응용을 제외하고도, 압축/신장 기능을 갖는 본 발명의 메모리 LSI 가 다음의 구조로 적용될 수 있다. 설명은 주 메모리 시스템의 두 구조상에서 그리고 그래픽 메모리 시스템의 구조상에서 주어진다.
데이터 압축/신장 기능을 갖는 메모리 LSI 를 사용하는 주 메모리 시스템의 일예는 데이터 압축/신장 기능을 갖는 메모리 LSI 와 메모리 칩을 포함한다. 주 메모리 시스템의 데이터 압축/신장 기능을 갖는 메모리 LSI 는 적어도 데이터 입력 혹은 출력을 위한 외부 입력/출력 단자와, 데이터를 기억하기 위한 메모리와, 상기 메모리에 있어서 데이터 판독 및 데이터 기록을 제어하기 위한 제어수단과, 데이터 판독시 메모리로부터 판독된 데이터를 외부 입력/출력 직접 단자로 전송하기 위한 제 1 셀렉터(제 1 전송수단) 와, 데이터 기록시에 외부 입력/출력 단자로부터 입력된 데이터를 바로 메모리로 전송하기 위한 제 2 셀렉터(제 2 전송수단) 와, 메모리로부터 판독된 데이터를 압축하여서 압축 데이터 판독시 외부입력/출력 단자로 압축 데이터를 전송하는 압축기와, 외부 입력/출력 단자로부터 입력된 압축 데이터를 신장하여서 압축 데이터 기록시에 신장 데이터를 메모리로 전송하는 신장기가 제공된다. 상기 구성요소 모두는 동일한 칩 상에 포함되어 있다. 주 메모리 시스템의 구성요소 중 하나인 메모리 칩은 적어도 하나의 프로그램을 격납하고 있다.
상기 주 메모리 시스템에 대하여, 제 1 셀렉터는 데이터 판독과 압축 데이터 판독에 응답하여, 메모리로부터 판독된 데이터와 압축기에 의해서 압축된 데이터 사이에서 어느 하나를 선택할 수 있어서, 데이터 중 선택된 하나를 외부 입력/출력 단자로 전송한다.
상기 주 메모리 시스템에 대하여, 제 2 셀렉터는 데이터 기록 및 압축 데이터 기록에 응답하여, 외부 입력/출력 단자로부터 입력된 데이터와 압축기에 의해서 압축된 데이터 사이에서 어느 하나를 선택할 수도 있어서, 데이터의 선택된 하나를 메모리로 전송한다.
상기 주 메모리 시스템에 대하여, 제어기는, 외부 입력/출력 단자로부터 입력된 커맨드에 따라서, 메모리에 대한 데이터 판독, 데이터 기록, 압축 데이터 판독 및 압축 데이터 기록을 제어한다.
상기 조건이 주어질 때, 제어기는 메모리로 이전에 제공된 제 1 식별자와, 압축기 및 신장기로 이전에 제공된, 제 1 식별자와 상이한 제 2 식별자를 유지하는유지부와, 외부로부터 입력된 커맨드에 의해서 두 식별자중 어느 식별자가 지정되었는지를 판별하기 위한 판별부를 구비한다. 그런 후, 제어기는 판별부로부터의 결과에 따라서, 상기 메모리에 대한 데이터 판독, 데이터 기록, 압축 데이터 판독 및 압축 데이터 기록을 제어한다.
상기 주 메모리 시스템에 대하여, 제어기는, 외부 입력/출력 단자로부터 입력된 메모리 어드레스에 따라서, 메모리에 대한 데이터 판독, 데이터 기록, 압축 데이터 판독 및 압축 데이터 기록을 제어하는 기능을 가질 수도 있다.
상기 주 메모리 시스템에 대하여, 외부 입력/출력 단자는, 메모리를 선택하기 위한 신호가 메모리로 액세스할 때 입력되는 제 1 칩 선택 단자와, 압축기 혹은 신장기를 선택하기 위한 신호를 메모리 액세스시에 입력하는 제 2 칩 선택 단자를 구비하는 형태를 취할 수도 있다.
상기 조건이 주어지면, 메모리 액세스시에 두 칩 선택 단자 중 어느 칩 선택 단자에 신호가 제공되는가의 결과에 따라서, 제어기는 메모리에 대한 데이터 판독, 데이터 기록, 압축 데이터 판독 및 압축 데이터 기록을 제어할 수도 있다.
주 메모리 시스템에 대하여, 제어기는, 메모리에서 판독된 데이터를, 압축 데이터 재기록시에, 압축기에 의해서 압축시킨 후에, 메모리로 다시 기록할 수도 있다.
주 메모리 시스템에 대하여, 제어기는 외부 입력/출력 단자로부터 입력된 어드레스에 따라서 압축기에 의해서 메모리로부터 판독된 데이터를 압축할 수도 있어서, 압축 데이터 재기록시에 데이터로서 입력/출력 단자로부터 입력된 어드레스에따라서, 메모리 상에 압축 데이터를 기록한다.
데이터 압축/신장 기능을 갖는 메모리 LSI 를 사용하는 주 메모리 시스템 의 또다른 예에서는 데이터 압축/신장 기능을 갖는 메모리 LSI 와 메모리 칩을 포함한다. 주 메모리 시스템의 데이터 압축/신장 기능을 갖는 메모리 LSI 는 그래픽 데이터를 기억하며, 적어도, 데이터 입력 혹은 출력을 위한 외부 입력/출력 단자와, 데이터를 기억하기 위한 메모리와, 상기 메모리에 대한 데이터 판독 및 데이터 기록을 제어하기 위한 제어수단과, 데이터 판독시에 외부 입력/출력 단자로 메모리로부터 판독된 데이터를 바로 전송하기 위한 제 1 셀렉터와, 데이터 기록시에 외부 입력/출력 단자로부터 입력된 데이터를 메모리로 바로 전송하기 위한 제 2 셀렉터 (제 2 전송수단) 와, 메모리로부터 판독된 데이터를 압축하여서, 압축 데이터 판독시에 외부 입력/출력 단자로 압축 데이터를 전송하도록 하는 압축기와, 외부 입력/출력 단자로부터 입력된 압축 데이터를 신장하여서, 압축 데이터 기록시에 상기 압축 데이터를 메모리로 전송하도록 하는 신장기를 제공한다. 상기 구성요소 모두는 동일한 칩 상에 포함된다. 주 메모리 시스템의 구성요소 중의 하나인 메모리 칩은 적어도 하나의 프로그램을 격납한다.
주 메모리 시스템에 대하여, 제 1 셀렉터는, 메모리에 대한 데이터 판독 및 압축 데이터 판독에 응답하여, 메모리로부터 판독된 데이터와 압축기에 의해서 압축된 데이터 사이에서 어느 하나를 선택하여, 외부 입력/출력 단자로 데이터의 선택된 하나를 전송한다
상기 주 메모리 시스템에 대하여, 제 2 셀렉터는, 메모리에 대한 데이터 기록 및 압축 데이터 기록에 응답하여, 신장기에 의해서 신장된 데이터와 외부 입력/출력 단자로부터 입력된 데이터 사이에서 어느 하나를 선택할 수도 있어서, 데이터중 선택된 하나를 메모리로 전송한다.
상기 주 메모리 시스템에 대하여, 제어기는, 외부 입력/출력 단자로부터 입력된 커맨드에 따라서, 메모리에 대한 데이터 판독, 데이터 기록, 압축 데이터 판독 및 압축 데이터 기록을 제어할 수도 있다.
상기 조건이 제공되면, 제어기는 메모리로 이전에 주어진 제 1 식별자와 압축기 및 신장기로 이전에 주어진, 제 1 식별기와는 상이한 제 2 식별자를 유지하기 위한 유지부와, 외부로부터 입력된 커맨드에 의해 식별자 중 어느 식별자가 지정되었는지를 판별하기 위한 판별부를 구비한다. 그런 후 제어기는 상기 판별부로부터의 결과에 따라서, 메모리에 대한 데이터 판독, 데이터 기록, 압축 데이터 판독, 압축 데이터 기록을 제어하는 것이다.
상기 주 메모리 시스템에 대하여, 제어기는 외부 입력/출력 단자로부터 입력된 메모리 어드레스에 따라서, 메모리에 대한 데이터 기록, 데이터 판독 압축 데이터 판독 및 압축 데이터 기록을 제어하는 기능을 가질 수도 있다.
주 메모리 시스템에 대하여, 외부 입력/출력 단자는, 메모리를 선택하기 위한 신호가 메모리로 액세스될 때 입력되는 제 1 칩 선택 단자와, 압축기 혹은 신장기를 선택하기 위한 신호가 메모리로 액세스될 때 입력하는 제 2 칩 선택 단자를 구비하는 형태를 취할 수도 있다.
상기 조건이 제공될 때, 메모리로 액세스될 2 개의 칩 선택 단자 중 어느 칩선택 단자에 신호가 제공되는가의 결과에 따라서, 제어기는 메모리에 대한 데이터 판독, 데이터 기록, 압축 데이터 판독, 및 압축 데이터 기록을 제어할 수도 있다.
상기 주 메모리 시스템에 대하여, 제어기는 압축 데이터 재기록시에 메모리에서 판독된 데이터를 압축기에 의해서 압축한 후에, 그것을 메모리로 다시 기록할 수도 있다.
상기 주 메모리 시스템에 대하여, 제어기는 외부 입력/출력 단자로부터 입력된 어드레스에 따라서 압축기에 의해서 메모리로부터 판독된 데이터를 압축할 수도 있어서 압축 데이터 재기록시에, 데이터로서 입력/출력 단자로부터 입력된 어드레스에 따라서, 메모리 상에 압축된 데이터를 기록한다.
데이터 압축/신장 기능을 갖는 메모리 LSI 를 사용하는 그래픽 메모리 시스템의 일예는 데이터 압축/신장 기능을 갖는 메모리 LSI 와 그래픽 제어기를 포함한다. 그래픽 메모리 시스템의 데이터 압축/신장 기능을 갖는 메모리 LSI 는 그래픽 데이터를 기억하며, 적어도 데이터 입력 혹은 출력을 위한 외부 입력/출력 단자와, 데이터를 기억하는 메모리와, 상기 메모리에 대한 데이터 판독 및 데이터 기록을 제어하기 위한 제어수단과, 데이터 판독시에 외부 입력/출력 단자로 메모리로부터 판독된 데이터를 직접 전송하기 위한 제 1 셀렉터 (제 1 전송수단) 와, 데이터 기록시에 외부 입력/출력 단자로부터 입력된 데이터를 메모리로 직접 전송하기 위한 제 2 셀렉터(제 2 전송수단) 와, 메모리로부터 판독된 데이터를 압축하여서, 압축 데이터 판독시에, 외부 입력/출력 단자로 압축 데이터를 전송하도록 하는 압축기와, 외부 입력/출력 단자로부터 입력된 압축 데이터를 신장하여서, 압축 데이터 기록시에, 메모리로 신장 데이터를 전송하도록 하는 신장기를 구비한다. 상기 구성요소 모두는 동일한 칩 상에 포함된다. 그래픽 메모리 시스템의 구성요소의 하나인 그래픽 제어기는 메모리 집적회로와의 사이에서 그래픽 데이터를 전송하며, 적어도 압축과 신장 처리를 그래픽 데이터 상에서 실행한다.
상기 그래픽 메모리 시스템에 대하여, 상기 메모리에 대한 데이터 판독과 압축된 데이터 판독에 반응하여, 제 1 셀렉터는 메모리로부터 판독된 데이터와 압축기에 의해서 압축된 데이터 사이에서 어느 하나를 선택하여서 외부 입력/출력 단자로 데이터의 선택된 하나를 전송한다.
상기 그래픽 메모리 시스템에 관하여, 메모리에 있어서, 데이터 기록과 압축 데이터 기록에 응답하여, 제 2 셀렉터는 외부 입력/출력 단자로부터 입력된 데이터와 신장기에 의해서 신장된 데이터 사이에서 어느 하나를 선택하여서 상기 데이터 중 선택된 하나를 메모리로 전송한다.
상기 그래픽 메모리 시스템에 대하여, 외부 입력/출력 단자로부터 입력된 커맨드에 따라서, 상기 메모리에 대하여, 제어기는, 데이터 판독, 데이터 기록, 압축 데이터 판독 및 압축 데이터 기록을 제어할 수도 있다.
상기 조건이 주어질 때, 제어기는 메모리로 이전에 주어진 제 1 식별자와, 압축기와 신장기로 이전에 주어진, 제 1 식별자와 상이한 제 2 식별자를 유지하기 위한 유지부와, 외부로부터 입력된 커맨드에 의해서 식별자 중 어느 식별자가 지정되었는지를 판별하기 위한 판별부를 구비할 수도 있다. 그런 후 제어기는 상기 판별부로부터의 결과에 따라서, 상기 메모리에 대한 데이터 판독, 데이터 기록, 압축 데이터 기록, 압축 데이터 판독을 제어한다.
상기 그래픽 메모리 시스템에 대하여, 제어기는 외부 입력/출력 단자로부터 입력된 메모리 어드레스에 따라서, 메모리에 대한 데이터 판독, 데이터 기록, 압축 데이터 판독 및 압축 데이터 기록을 제어하기 위한 기능을 가질 수도 있다.
상기 그래픽 메모리 시스템에 관하여, 외부 입력/출력 단자는 메모리를 선택하기 위한 신호가 메모리로 액세스 될 때 입력되는 제 1 칩 선택 단자와, 압축기 혹은 신장기를 선택하기 위한 신호가, 메모리로 액세스할 때, 입력되는 제 2 칩 선택 단자를 구비하는 형태를 취할 수도 있다.
상기 조건이 주어질 때, 제어기는 메모리에 액세스할 때 2 개의 칩 선택 단자 중 어느 칩선택 단자에 신호가 제공되는가의 결과에 따라서, 메모리에 대한 데이터 판독, 데이터 기록, 압축 데이터 판독 및 압축 데이터 기록을 제어할 수도 있다.
상기 그래픽 메모리 시스템에 관하여, 제어기는, 압축 데이터 재기록시에 메모리로부터 판독된 데이터를 압축기에 의해서 압축시킨 후에 다시 메모리로 기록할 수도 있다.
상기 그래픽 메모리 시스템에 관하여, 제어기는 외부 입력/출력 단자로부터 입력된 어드레스에 따라서, 압축기에 의해서 메모리로부터 판독된 데이터를 압축할 수도 있어서, 압축 데이터 재기록시에, 데이터로서 입력/출력 단자로부터 입력된 어드레스에 따라서, 메모리 상에 압축 데이터를 기록한다.
상술된 것처럼, 본 발명에 따라서, 메모리 집적회로는 적어도 데이터를 입력하고 출력하기 위한 외부 입력/출력 단자와, 데이터를 기억하기 위한 메모리와, 메모리에서 데이터 판독과 데이터 기록을 제어하기 위한 제어기를 구비한다. 외부 입력/출력 단자와, 메모리와 제어기는 동일한 칩 내에 모두 포함된다. 상기 메모리 집적회로 칩은 또한 데이터 판독시에 외부 입력/출력 단자로 메모리로부터 판독된 데이터를 바로 전송하기 위한 제 1 셀렉터와, 데이터 기록시에, 외부 입력/출력 단자로부터 입력된 데이터를 메모리로 바로 전송하기 위한 제 2 셀렉터와, 메모리로부터 판독된 데이터를 압축하여서, 압축 데이터를 외부 입력/출력 단자로 전송하도록 하는 데이터 압축기와, 외부 입력/출력 단자로부터 입력된 압축 데이터를 신장하여서 압축 데이터 기록시에, 원래의 상태로 신장된 데이터를 메모리로 전송하는 데이터 신장기를 구비한다.
본 발명의 구조에 의해서, 더 높은 신뢰성을 갖는 보다 쉬운 방법을 사용하여 데이터 대역폭을 실제적으로 확장하며, 이것은 데이터 전송량을 감소시키는 장점을 유도한다.
본 발명의 바람직한 실시예는 특정 용어를 사용하여 설명되었으나, 그런 설명은 설명만을 위한 것이며, 다음의 청구항의 범위 혹은 정신을 벗어나지 않는 영역에서 변화와 수정이 가능할 것이다.

Claims (19)

  1. 적어도 데이터 입력 혹은 출력을 위한 외부 입력/출력 단자와, 데이터 기억을 위한 메모리와, 상기 메모리에 대한 데이터 판독 및 데이터 기록을 제어하기 위한 제어수단이 제공되어 있으며, 상기 외부 입력/출력 단자와, 메모리와, 제어수단이 동일한 칩 내에 포함되어 있는 메모리 집적회로에 있어서,
    데이터 판독시에, 메모리로부터 판독된 데이터를 외부 입력/출력 단자로 직접 전송하기 위한 제 1 전송수단과,
    데이터 기록시에, 외부 입력/출력 단자로부터 입력된 데이터를 메모리로 직접 전송하기 위한 제 2 전송수단과,
    메모리로부터 판독된 데이터를 압축하여서, 압축 데이터 판독시에 외부 입력/출력 단자로 압축 데이터를 전송하도록 하는 압축수단과,
    외부 입력/출력 단자로부터 입력된 압축 데이터를 신장하여서 압축 데이터 기록시에, 신장된 데이터를 메모리로 전송하도록 하는 신장수단을 구비하며,
    상기 제 1 전송수단과, 상기 제 2 전송수단과, 압축수단과, 신장수단이 동일한 칩 내에서 포함되어 있는 것을 특징으로 하는 메모리 집적회로.
  2. 제 1 항에 있어서,
    상기 제 1 전송수단은, 상기 메모리에 대한 데이터 판독 및 압축 데이터 판독에 응답하여, 메모리로부터 판독된 데이터와 압축수단에 의해서 압축된 데이터사이에서 어느 하나를 선택하여서, 상기 데이터중 선택된 하나를 외부 입력/출력 단자로 전송하는 것을 특징으로 하는 메모리 집적회로.
  3. 제 1 항에 있어서,
    상기 제 2 전송수단은, 데이터 기록 및 압축 데이터 기록에 응답하여 외부 입력/출력 단자로부터 입력된 데이터와 신장수단에 의해서 신장된 데이터 사이에서 어느 하나를 선택하여서, 데이터중 선택된 하나를 메모리로 전송하는 것을 특징으로 하는 메모리 집적회로.
  4. 제 2 항에 있어서,
    상기 제 2 전송수단은, 데이터 기록 및 압축 데이터 기록에 응답하여 외부 입력/출력 단자로부터 입력된 데이터와 신장수단에 의해서 신장된 데이터 사이에서 어느 하나를 선택하여서, 데이터중 선택된 하나를 메모리로 전송하는 것을 특징으로 하는 메모리 집적회로.
  5. 제 1 항에 있어서,
    상기 제어수단은, 외부 입력/출력 단자로부터 입력된 커맨드에 따라서, 메모리에 대한 데이터 판독, 데이터 기록, 압축 데이터 판독 및 압축 데이터 기록을 제어하는 것을 특징으로 하는 메모리 집적회로.
  6. 제 2 항에 있어서,
    상기 제어수단은, 외부 입력/출력 단자로부터 입력된 커맨드에 따라서, 메모리에 대한 데이터 판독, 데이터 기록, 압축 데이터 판독 및 압축 데이터 기록을 제어하는 것을 특징으로 하는 메모리 집적회로.
  7. 제 3 항에 있어서,
    상기 제어수단은, 외부 입력/출력 단자로부터 입력된 커맨드에 따라서, 메모리에 대한 데이터 판독, 데이터 기록, 압축 데이터 판독 및 압축 데이터 기록을 제어하는 것을 특징으로 하는 메모리 집적회로.
  8. 제 1 항에 있어서,
    상기 제어수단은, 외부 입력/출력 단자로부터 입력된 메모리 어드레스에 따라서, 메모리에 대한 데이터 판독, 데이터 기록, 압축 데이터 판독 및 압축 데이터 기록을 제어하는 것을 특징으로 하는 메모리 집적회로.
  9. 제 2 항에 있어서,
    상기 제어수단은, 외부 입력/출력 단자로부터 입력된 메모리 어드레스에 따라서, 메모리에 대한 데이터 판독, 데이터 기록, 압축 데이터 판독 및 압축 데이터 기록을 제어하는 것을 특징으로 하는 메모리 집적회로.
  10. 제 3 항에 있어서,
    상기 제어수단은, 외부 입력/출력 단자로부터 입력된 메모리 어드레스에 따라서, 메모리에 대한 데이터 판독, 데이터 기록, 압축 데이터 판독 및 압축 데이터 기록을 제어하는 것을 특징으로 하는 메모리 집적회로.
  11. 제 5 항에 있어서,
    상기 제어수단은, 메모리로 미리 공급된 제 1 식별자와, 압축수단 및 신장수단에 미리 주어진 그리고 상기 제 1 식별자와는 상이한 제 2 식별자를 유지하는 유지수단, 외부로부터 입력된 커맨드에 의해서 두 개의 식별자 중 어느 하나를 지정하고 있는지를 판별하기 위한 판별수단 및 상기 판별수단의 결과에 따라서, 상기 메모리에 대한 데이터 판독, 데이터 기록, 압축 데이터 판독 및 압축 데이터 기록을 제어하는 제어 수단을 구비하는 것을 특징으로 하는 메모리 집적회로.
  12. 제 1 항에 있어서,
    상기 외부 입력/출력 단자는, 메모리로의 액세스시에, 메모리를 선택하기 위한 신호가 입력되는 제 1 칩 선택 단자; 및 메모리로의 액세스시에, 압축수단 혹은 신장수단을 선택하기 위한 신호가 입력되는 제 2 칩 선택 단자;를 구비하며,
    상기 제어수단은, 상기 메모리로의 액세스시, 상기 두 칩 선택 단자 중 어느 하나에 신호가 공급되는가의 결과에 따라서, 메모리에 대한 데이터 판독, 데이터 기록, 압축 데이터 판독 및 압축 데이터 기록을 제어하는 것을 특징으로 하는 메모리 집적회로.
  13. 제 2 항에 있어서,
    상기 외부 입력/출력 단자는, 메모리로의 액세스시에, 메모리를 선택하기 위한 신호가 입력되는 제 1 칩 선택 단자; 및 메모리로의 액세스시에, 압축수단 혹은 신장수단을 선택하기 위한 신호가 입력되는 제 2 칩 선택 단자;를 구비하며,
    상기 제어수단은, 상기 메모리로의 액세스시, 상기 두 칩 선택 단자 중 어느 하나에 신호가 공급되는가의 결과에 따라서, 메모리에 대한 데이터 판독, 데이터 기록, 압축 데이터 판독 및 압축 데이터 기록을 제어하는 것을 특징으로 하는 메모리 집적회로.
  14. 제 3 항에 있어서,
    상기 외부 입력/출력 단자는, 메모리로의 액세스시에, 메모리를 선택하기 위한 신호가 입력되는 제 1 칩 선택 단자; 및 메모리로의 액세스시에, 압축수단 혹은 신장수단을 선택하기 위한 신호가 입력되는 제 2 칩 선택 단자;를 구비하며,
    상기 제어수단은, 상기 메모리로의 액세스시, 상기 두 칩 선택 단자 중 어느 하나에 신호가 공급되는가의 결과에 따라서, 메모리에 대한 데이터 판독, 데이터 기록, 압축 데이터 판독 및 압축 데이터 기록을 제어하는 것을 특징으로 하는 메모리 집적회로.
  15. 제 1 항에 있어서,
    상기 제어수단은, 압축 데이터 재기록시, 상기 메모리로부터 판독된 데이터를 압축수단에 의해서 압축한 후에 상기 메모리로 다시 기록하도록 하는 것을 특징으로 하는 메모리 집적회로.
  16. 제 1 항에 있어서,
    상기 제어수단은, 외부 입력/출력 단자로부터 입력된 어드레스에 따라서, 압축수단에 의해 메모리로부터 판독된 데이터를 압축하여서, 압축 데이터 재기록시의 데이터로서 외부 입력/출력 단자로부터 입력된 어드레스에 따라서 메모리 상에 압축 데이터를 기록하는 것을 특징으로 하는 메모리 집적회로.
  17. 메모리 집적회로와 메모리 칩을 포함하는 주 메모리 시스템으로서,
    상기 메모리 집적회로는 적어도 데이터 입력 혹은 출력을 위한 외부 입력/출력 단자와, 데이터를 기억하기 위한 메모리와, 상기 메모리에 대한 데이터 판독 및 데이터 기록을 제어하기 위한 제어수단과, 데이터 판독시, 메모리로부터 판독된 데이터를 외부 입력/출력 단자로 직접 전송하기 위한 제 1 전송수단과, 데이터 기록시에, 외부 입력/출력 단자로부터 입력된 데이터를 상기 메모리로 직접 전송하는 제 2 전송수단과, 상기 메모리로부터 판독된 데이터를 압축하여서, 압축데이터 판독시에, 압축 데이터를 외부 입력/출력 단자로 전송하는 압축수단과, 외부 입력/출력 단자로부터 입력된 압축 데이터를 신장하여서, 압축 데이터 기록시, 신장 데이터를 상기 메모리로 전송하는 신장수단을 포함하며, 이들 모두가 동일한 칩 상에 포함되며,
    상기 메모리 칩은 적어도 프로그램을 격납하고 있는 것을 특징으로 하는 주 메모리 시스템
  18. 메모리 집적회로와 메모리 칩을 포함하는 주 메모리 시스템으로서,
    상기 메모리 집적회로는 그래픽 데이터를 기억하며, 적어도 데이터 입력 혹은 출력을 위한 외부 입력/출력 단자와, 데이터를 기억하기 위한 메모리와, 상기 메모리에 대한 데이터 판독 및 데이터 기록을 제어하기 위한 제어수단과, 데이터 판독시, 상기 메모리로부터 판독된 데이터를 외부 입력/출력 단자로 직접 전송하기 위한 제 1 전송수단과, 데이터 기록시 외부 입력/출력 단자로부터 입력된 데이터를 상기 메모리로 전송하기 위한 제 2 전송수단과, 상기 메모리로부터 판독된 데이터를 압축하여서 압축 데이터 판독시, 외부 입력/출력 단자로 압축 데이터를 전송하는 압축수단과, 상기 외부 입력/출력 단자로부터 입력된 압축 데이터를 신장하여서, 압축 데이터 기록시, 상기 신장된 데이터를 상기 메모리로 전송하는 신장수단을 구비하며, 상기 모두가 동일한 칩 내에 포함되며,
    메모리 칩은 적어도 프로그램을 격납하는 것을 특징으로 하는 주 메모리 시스템.
  19. 메모리 집적회로 및 그래픽 제어기를 포함하는 그래픽 메모리 시스템으로서,
    상기 메모리 집적회로는 그래픽 데이터를 기억하며, 적어도 데이터 입력 혹은 출력을 위한 외부 입력/출력 단자와, 데이터를 기억하기 위한 메모리와, 상기 메모리에 대한 데이터 판독 및 데이터 기록을 제어하기 위한 제어수단과, 데이터 판독시 상기 메모리로부터 판독된 데이터를 외부 입력/출력 단자로 직접 전송하기 위한 제 1 전송수단과, 데이터 기록시에 외부 입력/출력 단자로부터 입력된 데이터를 상기 메모리로 전송하기 위한 제 2 전송수단과, 상기 메모리로부터 판독된 데이터를 압축하여서 압축 데이터 판독시 외부 입력/출력 단자로 압축 데이터를 전송하는 압축수단과, 외부 입력/출력 단자로부터 입력된 압축 데이터를 신장하여서 압축 데이터 기록시, 상기 신장된 데이터를 상기 메모리로 전송하는 신장수단을 구비하며, 이들 모두는 동일한 칩 내에 포함되며,
    그래픽 제어기는 메모리 집적회로와의 사이에서 그래픽 데이터를 전송하며, 적어도 그래픽 데이터의 압축 및 신장처리를 실행하는 것을 특징으로 하는 그래픽 메모리 시스템.
KR1019980015378A 1997-04-30 1998-04-29 메모리집적회로와그를사용한주메모리시스템및그래픽메모리시스템 KR100294130B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP97-111682 1997-04-30
JP09111682A JP3127853B2 (ja) 1997-04-30 1997-04-30 メモリ集積回路並びにこれを用いた主記憶システム及びグラフィクスメモリシステム

Publications (2)

Publication Number Publication Date
KR19980081843A KR19980081843A (ko) 1998-11-25
KR100294130B1 true KR100294130B1 (ko) 2001-07-12

Family

ID=14567516

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980015378A KR100294130B1 (ko) 1997-04-30 1998-04-29 메모리집적회로와그를사용한주메모리시스템및그래픽메모리시스템

Country Status (4)

Country Link
US (1) US6263413B1 (ko)
JP (1) JP3127853B2 (ko)
KR (1) KR100294130B1 (ko)
CN (1) CN1126106C (ko)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066948A (ja) 1998-08-19 2000-03-03 Nec Corp 圧縮データ入出力機能付メモリlsi
US6643752B1 (en) * 1999-12-09 2003-11-04 Rambus Inc. Transceiver with latency alignment circuitry
US20050010737A1 (en) * 2000-01-05 2005-01-13 Fred Ware Configurable width buffered module having splitter elements
US7356639B2 (en) * 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
US7404032B2 (en) * 2000-01-05 2008-07-22 Rambus Inc. Configurable width buffered module having switch elements
US7363422B2 (en) * 2000-01-05 2008-04-22 Rambus Inc. Configurable width buffered module
US6502161B1 (en) * 2000-01-05 2002-12-31 Rambus Inc. Memory system including a point-to-point linked memory subsystem
US7266634B2 (en) * 2000-01-05 2007-09-04 Rambus Inc. Configurable width buffered module having flyby elements
US7017002B2 (en) * 2000-01-05 2006-03-21 Rambus, Inc. System featuring a master device, a buffer device and a plurality of integrated circuit memory devices
US6704022B1 (en) * 2000-02-25 2004-03-09 Ati International Srl System for accessing graphics data from memory and method thereof
US6523102B1 (en) * 2000-04-14 2003-02-18 Interactive Silicon, Inc. Parallel compression/decompression system and method for implementation of in-memory compressed cache improving storage density and access speed for industry standard memory subsystems and in-line memory modules
US7089391B2 (en) * 2000-04-14 2006-08-08 Quickshift, Inc. Managing a codec engine for memory compression/decompression operations using a data movement engine
JP3800171B2 (ja) * 2002-12-24 2006-07-26 日本電気株式会社 ストア命令実行制御方式、および、ストア命令実行制御方法
US7362697B2 (en) * 2003-01-09 2008-04-22 International Business Machines Corporation Self-healing chip-to-chip interface
EP1627310A2 (en) * 2003-04-16 2006-02-22 Koninklijke Philips Electronics N.V. Selectable compression/decompression for data stored in memory
US7200787B2 (en) * 2003-06-03 2007-04-03 Intel Corporation Memory channel utilizing permuting status patterns
US7194581B2 (en) * 2003-06-03 2007-03-20 Intel Corporation Memory channel with hot add/remove
US7127629B2 (en) * 2003-06-03 2006-10-24 Intel Corporation Redriving a data signal responsive to either a sampling clock signal or stable clock signal dependent on a mode signal
US7165153B2 (en) 2003-06-04 2007-01-16 Intel Corporation Memory channel with unidirectional links
US7340537B2 (en) * 2003-06-04 2008-03-04 Intel Corporation Memory channel with redundant presence detect
US8171331B2 (en) 2003-06-04 2012-05-01 Intel Corporation Memory channel having deskew separate from redrive
US7386768B2 (en) * 2003-06-05 2008-06-10 Intel Corporation Memory channel with bit lane fail-over
US7447953B2 (en) 2003-11-14 2008-11-04 Intel Corporation Lane testing with variable mapping
US7219294B2 (en) * 2003-11-14 2007-05-15 Intel Corporation Early CRC delivery for partial frame
US7143207B2 (en) * 2003-11-14 2006-11-28 Intel Corporation Data accumulation between data path having redrive circuit and memory device
US7212423B2 (en) * 2004-05-31 2007-05-01 Intel Corporation Memory agent core clock aligned to lane
US7383399B2 (en) * 2004-06-30 2008-06-03 Intel Corporation Method and apparatus for memory compression
US20060004953A1 (en) * 2004-06-30 2006-01-05 Vogt Pete D Method and apparatus for increased memory bandwidth
US20060132492A1 (en) * 2004-12-17 2006-06-22 Nvidia Corporation Graphics processor with integrated wireless circuits
JP4700392B2 (ja) * 2005-04-11 2011-06-15 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、コンピュータの制御方法及びプログラム
US11328764B2 (en) 2005-09-26 2022-05-10 Rambus Inc. Memory system topologies including a memory die stack
US7562271B2 (en) 2005-09-26 2009-07-14 Rambus Inc. Memory system topologies including a buffer device and an integrated circuit memory device
US7464225B2 (en) * 2005-09-26 2008-12-09 Rambus Inc. Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology
JP2007181052A (ja) * 2005-12-28 2007-07-12 Seiko Epson Corp 画像出力システム
JP5082240B2 (ja) * 2005-12-28 2012-11-28 セイコーエプソン株式会社 画像コントロールic
JP2007178850A (ja) * 2005-12-28 2007-07-12 Seiko Epson Corp 画像出力ドライバic
US7404055B2 (en) 2006-03-28 2008-07-22 Intel Corporation Memory transfer with early access to critical portion
JP2007264909A (ja) * 2006-03-28 2007-10-11 Toshiba Corp 演算処理装置
US7962700B2 (en) * 2006-09-06 2011-06-14 International Business Machines Corporation Systems and methods for reducing latency for accessing compressed memory using stratified compressed memory architectures and organization
JP2007184977A (ja) * 2007-03-19 2007-07-19 Seiko Epson Corp 画像出力システム
JP2009290389A (ja) * 2008-05-28 2009-12-10 Hitachi Ltd 画像処理装置
US7692561B2 (en) * 2008-07-17 2010-04-06 International Business Machines Corporation Method and apparatus for data decompression in the presence of memory hierarchies
US8125357B1 (en) * 2010-03-23 2012-02-28 Sandia Corporation Deflate decompressor
KR101773396B1 (ko) 2011-02-09 2017-08-31 삼성전자주식회사 데이터를 압축 해제하는 그래픽 처리 장치 및 방법
CN102122959B (zh) * 2011-03-29 2013-12-04 西安交通大学 提高计算机主存可靠性的数据压缩装置及其方法
CN102129873B (zh) * 2011-03-29 2012-07-04 西安交通大学 提高计算机末级高速缓存可靠性的数据压缩装置及其方法
JP5687639B2 (ja) * 2012-02-08 2015-03-18 株式会社東芝 コントローラ、データ記憶装置及びプログラム
WO2015172352A1 (en) 2014-05-15 2015-11-19 Seagate Technology Llc Storage device tampering detection
US11947835B2 (en) * 2021-09-21 2024-04-02 Black Sesame Technologies Inc. High-performance on-chip memory controller

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6385841A (ja) 1986-09-30 1988-04-16 Yaskawa Electric Mfg Co Ltd メモリシステム
JPH0286267A (ja) 1988-09-21 1990-03-27 Hitachi Ltd 半導体メモリ
JP2634893B2 (ja) 1988-12-29 1997-07-30 日本電気株式会社 シングルチップマイクロコンピュータ
JP2840320B2 (ja) * 1989-09-20 1998-12-24 株式会社日立製作所 半導体記憶装置
JPH0449142A (ja) 1990-06-14 1992-02-18 Koufu Nippon Denki Kk 紙葉類搬送装置
JPH0482082A (ja) 1990-07-25 1992-03-16 Hitachi Ltd 半導体記憶装置
US5611024A (en) * 1992-08-28 1997-03-11 Compaq Computer Corporation Data compression of bit map images
US5974471A (en) * 1996-07-19 1999-10-26 Advanced Micro Devices, Inc. Computer system having distributed compression and decompression logic for compressed data movement

Also Published As

Publication number Publication date
US6263413B1 (en) 2001-07-17
CN1201238A (zh) 1998-12-09
JPH10301841A (ja) 1998-11-13
CN1126106C (zh) 2003-10-29
JP3127853B2 (ja) 2001-01-29
KR19980081843A (ko) 1998-11-25

Similar Documents

Publication Publication Date Title
KR100294130B1 (ko) 메모리집적회로와그를사용한주메모리시스템및그래픽메모리시스템
US5799209A (en) Multi-port internally cached DRAM system utilizing independent serial interfaces and buffers arbitratively connected under a dynamic configuration
US4644502A (en) Semiconductor memory device typically used as a video ram
RU2134447C1 (ru) Устройство пересылки данных и видеоигровое устройство, в котором оно используется
US7620788B2 (en) Memory device sequencer and method supporting multiple memory device clock speeds
JP2003216482A (ja) バーストアクセス制御装置および制御方法
US6490669B1 (en) Memory LSI with compressed data inputting and outputting function
US5576736A (en) Visually effective image switching apparatus
JPH11250660A (ja) メモリデバイスおよび該メモリデバイスのアドレッシング方法
US5577228A (en) Digital circuit for performing multicycle addressing in a digital memory
US20020062428A1 (en) Synchronous dram utilizable as shared memory
JPH0573413A (ja) キヤツシユメモリ・データ制御装置
KR20000035167A (ko) 메모리, 메모리 어드레스 전송 방법 및 메모리 인터페이스
JPH01291343A (ja) メモリ管理装置
JPH0115900B2 (ko)
JP3249427B2 (ja) 映像信号ライン遅延回路
JP3070454B2 (ja) メモリアクセス制御回路
JPH0370052A (ja) アドレス変換回路、メモリコントロール装置、情報処理装置、および、記録装置
JPS6215642A (ja) 2アクセス方式メモリ装置
JPS61193245A (ja) 記憶制御方式
JPH04177439A (ja) シングルチップ・マイクロコンピュータ
JPH06301629A (ja) 主記憶装置
JPH02137040A (ja) 画像処理装置
JPH05250307A (ja) 情報転送装置
JPH03103955A (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: 20100412

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee