KR20000076226A - Sram과 dram을 포함하는 메모리 및 메모리를 사용하는 시스템 및 방법 - Google Patents

Sram과 dram을 포함하는 메모리 및 메모리를 사용하는 시스템 및 방법 Download PDF

Info

Publication number
KR20000076226A
KR20000076226A KR1019997008320A KR19997008320A KR20000076226A KR 20000076226 A KR20000076226 A KR 20000076226A KR 1019997008320 A KR1019997008320 A KR 1019997008320A KR 19997008320 A KR19997008320 A KR 19997008320A KR 20000076226 A KR20000076226 A KR 20000076226A
Authority
KR
South Korea
Prior art keywords
address
array
bank
bit
bits
Prior art date
Application number
KR1019997008320A
Other languages
English (en)
Inventor
지. 알. 모한 라오
Original Assignee
실리콘 아쿠아리우스 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25221300&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20000076226(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 실리콘 아쿠아리우스 인코포레이티드 filed Critical 실리콘 아쿠아리우스 인코포레이티드
Publication of KR20000076226A publication Critical patent/KR20000076226A/ko

Links

Classifications

    • 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/0215Addressing or allocation; Relocation with look ahead addressing means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • 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
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure

Abstract

본 발명은 메모리(400)가 다수의 뱅크(401) 및 전역 액세스 제어 회로(406)를 포함하고, 각각의 다수의 뱅크는 메모리 셀의 제 1 및 제 2 어레이(506, 402)를 포함하며, 번지 비트에 응답하여 제 1 셀 어레이를 선택적으로 액세스하기 위한 제 1 액세스 회로(413, 507) 및 번지 비트에 응답하여 제 2 셀 어레이를 선택적으로 액세스하기 위한 제 2 액세스 회로(404, 413)를 포함한다. 각각의 뱅크의 저장 회로(502)는 이미 수신된 번지 비트를 저장한다. 각각의 뱅크의 비교 회로(503)는 수신된 번지 비트와 저장 회로(503)의 저장된 번지 비트를 비교하고, 각각의 뱅크는 저장된 번지 비트와 수신된 번지 비트가 정합될 경우, 저장된 번지 비트에 의해 번지 지정된 제 1 셀의 어레이를(506) 액세스하기 위한 제 1 액세스 회로(413, 507) 및 저장된 번지 비트와 수신된 번지 비트가 다를 경우, 수신된 번지 비트에 의해 번지 지정된 제 2 셀 의 어레이(402)를 액세스 하기 위한 제 2 액세스 회로(404,413)를 포함한다. 전역 액세스 제어 회로(406)는 저장된 번지와 다수의 뱅크중 선택된 뱅크(401)의 수신된 번지를 비교 가능하게 한다.

Description

SRAM과 DRAM을 포함하는 메모리 및 메모리를 사용하는 시스템 및 방법 {DRAM WITH INTEGRAL SRAM AND SYSTEMS AND METHODS USING THE SAME}
현재 유용한 DRAM은 일반적으로 다음의 특성을 공유하는 구조에 기초한다. 첫째로, 전형적인 범용 DRAM은 번지 저장 위치로/부터 데이타를 기록 및 판독하기 위한 데이타용 단일 데이타 포트를 가진다(두개의 데이타 포트, 전형적으로 한개의 랜덤 포트 및 한개의 직렬 포트를 제공한 "이중 포트" DRAM이 유용하지만, 이 장치는 보통 특정 메모리 응용에 한정된다). 둘째로, 데이타 기록 및 판독은 위치별로 행해지며, 각각의 위치는 한 비트, 한 바이트 또는 한 워드의 길이를 가진다. 특히, "랜덤 액세스 모드"에서 액세스(기록 또는 판독)는 행(row) 번지 스트로브(/RAS) 액티브 사이클당 단일 위치에 이루어지고 "페이지 모드"에서, 액세스는 주어진 /RAS 사이클동안, 열(column) 번지 스트로브(/CAS) 또는 행 번지 지정된 마스터 클록 사이클당 단일 위치에서 이루어진다. 세째로, 일반적으로 액세스하기 위해 동시에 동일 DRAM 유니트에 요청이 있을경우 발생하는 경쟁 문제를 다루는 방법은 확립되지 않았다. 경쟁 문제를 다루는 현재의 기술은 예를 들면, 설계자 및 "균등 메모리-비경쟁" 방법으로부터 "비-균등 메모리 액세스"(NUMA) 방법의 범위에 의해 선택된 시스템 구조 및/또는 DRAM에 의존한다.
유사하게, 개인용 컴퓨터(PC)의 시스템 구조는 일반적으로 다수의 공통 특성을 공유한다. 예를 들면, 현재의 PC의 대부분은 시스템 "마스터"인 단일 중앙 처리 유니트(CPU)를 중심으로 하여 조립된다. 이 후, 디스플레이 제어기, 디스크 드라이브 제어기 및 오디오 제어기와 같은 다른 모든 하위 시스템은 CPU에 대해 슬레이브로서 동작한다. 상기 마스터/슬레이브 구성은 CPU가 일반적으로 복합 명령 세트 컴퓨터(CISC), 축소 명령 세트 컴퓨터(RISC), 실리콘 그래픽스사의 MIPS 또는 디지털 이큅먼트사의 ALPHA 장치에 관계없이 사용된다.
상술한 바와 같이, 더욱 정교해지는 응용 소프트웨어를 동작시키는데 필요한 상당한 저장 용량을 가진 고속 장치를 구성하는데 있어, 현 메모리 및 PC 구조는 부적당하다. 문제는 어느 정도 메인 프레임 및 멀티 프로세서(멀티 프로세싱)구조를 사용한 서버 환경에서 이미 제기되었다. 그러나, 멀티 프로세싱 구조는 아직까지 PC 환경의 응용에 대한 비용이 효율적이지 못하다. 게다가, 멀티프로세싱 PC 환경뿐만 아니라, 메모리 경쟁 및 버스 경쟁은 여전히 멀티프로세싱 시스템에서 중요한 문제이다.
그러므로, 더 빠른 프로세싱 및 더 큰 메모리 용량에 대한 증가된 요구에 수용하기 위해 새로운 메모리 및 시스템 구조가 필요하다. 상기 구조는 포괄적이며 비용면에서 효율적이어야 한다. 바꾸어 말하면, 토탈 시스템 솔루션이 필요하다.
본 발명은 일반적으로 전자 메모리에 관한 것이며, 특히 집적 SRAM이 제공된 DRAM 및 동일물을 사용한 시스템 및 방법에 관한 것이다.
도 1a 및 1b는 각각 개인용 컴퓨터(PCs)에 나타난 두개의 기본 시스템(100A, 100B)을 도시한 블록 다이아그램이다.
도 2a는 각각의 프로세서가 사설 시스템 메모리와 관련하여 동작하는 다중처리 시스템을 도시한다.
도 2b는 각각의 프로세서가 공용 시스템 메모리와 결합하여 동작하는 다중처리 시스템을 도시한다.
도 2c는 각각의 프로세서가 사설 시스템 메모리 및 공용 시스템 메모리와 결합하여 동작하는 다중처리 시스템을 도시한다.
도 3a는 각각의 처리 노드가 운영 체제의 전용 복사 및 응용 프로그램의 전용 복사를 유지하는 "소 결합" 다중 처리 구조를 도시한 다이아그램이다.
도 3b는 모든 처리 노드가 운영 체제의 단일 복사 및 응용 프로그램의 단일 복사를 공유하는 "밀 결합" 다중 처리 시스템을 도시한다.
도 3C는 각각의 처리 노드가 운영 체제의 전용 복사를 유지하고 모든 노드가 응용 프로그램의 단일 복사를 공유하는 "중 결합" 다중 처리 시스템의 다이아그램이다.
도 4는 본 발명의 원리의 실시예에 따른 DRAM 장치의 기능 블록도이다.
도 5는 도 4에 도시된 메모리의 데이타 및 번지를 경로 지정하는 회로의 상세한 다이아그램이다.
본 발명의 제 1 실시예에 따라, 메모리 셀의 제 1 및 제 2 어레이, 제 1 셀 어레이에 선택적으로 액세스하기 위한 제 1 액세스 회로 및 제 2 셀 어레이에 선택적으로 액세스하기 위한 제 2 액세스 회로를 포함하는 각각의 다수의 뱅크를 포함하는 메모리가 제공된다. 또한 각각의 뱅크는 번지 비트를 저장하기 위한 저장 회로 및 수신된 번지 비트와 저장 회로에 저장된 번지 비트를 비교하기위한 회로를 포함한다. 제 1 액세스 회로는 저장된 번지 비트 및 수신된 번지 비트가 정합되었을때, 저장된 번지에 응답하여 제 1 셀 어레이에 액세스한다. 제 2 액세스 회로는 저장된 번지 비트 및 수신된 번지 비트가 다를때, 저장된 번지에 응답하여 제 2 셀 어레이에 액세스한다. 전역 액세스 제어 회로는 다수의 뱅크중 한개를 선택할 때, 저장된 번지 비트 및 수신된 번지 비트의 비교를 가능하게 한다.
본 발명의 제 2 실시예에 따라, DRAM 셀의 행 및 열 어레이, 액세스용 DRAM중 한개를 선택하기 위한 행 디코더, DRAM 셀 어레이에 결합된 SRAM 셀 어레이 및 선택된 개수의 행 번지 비트를 저장하기 위한 래치를 각각 포함하는 다수의 메모리 뱅크를 포함하는 메모리 하위 시스템이 제공된다. 또한 각각의 뱅크는 수신된 행 번지 비트 및 뱅크의 래치에 저장된 행 번지 비트를 선택적으로 비교하기 위한 비교기 회로를 포함하며, 비교기 회로는 수신 비트 및 저장 비트가 정합되었을때, SRAM 어레이에서 선택된 셀에 액세스를 시작하며 수신 행 번지 비트 및 저장 행 번지 비트가 다를 경우 DRAM 어레이에서 선택된 셀에 액세스를 시작한다. 또한 메모리 하위 시스템은 수신된 행 번지의 선택된 비트에 응답하여 뱅크중 선택된 한개의 비교기 회로를 사용 가능하게 하기위한 전역 행 할당기(global row assignor)를 포함한다.
본 발명의 원리는 또한 다중 뱅크 메모리 시스템의 데이타를 액세스하는 방법에서 실시된다. 상기 방법에 따라, 제 1 및 제 2 세트의 비트를 가지는 번지가 수신된다. 제 1 뱅크중 한개에 미리 저장된 비트들과 비교되는 제 1 세트 비트 및 제 2 세트 비트에 응답하여 다수의 뱅크중 제 1 뱅크가 선택된다. 비교에 응답하여, 제 1 뱅크의 SRAM 어레이 및 DRAM 어레이중 선택된 어레이에 액세스된다. 특히, 만일 제 2 세트 비트가 선택된 뱅크에 저장된 비트와 정합된다면, SRAM 어레이가 액세스되고, 만일 선택된 뱅크에 저장된 제 2 세트 비트가 다르다면, DRAM 어레이가 액세스된다.
다른 방법에 따르면, 제 1 다수의 번지 비트를 포함하는 제 1 번지가 수신된다. 제 1 데이타는 제 1 다수의 비트에 의해 번지 지정된 뱅크중 제 1 뱅크의 위치에 기록된다. 제 1 다수의 비트는 제 1 뱅크에 저장된다. 또한 제 1 다수의 번지 비트는 제 2 다수의 번지 비트를 생성하기 위해 수정된다. 제 2 데이타는 이후 제 2 다수의 번지 비트에 의해 번지 지정된 뱅크중 제 2 뱅크의 위치에 기록된다. 제 3 다수의 번지 비트는 제 1 및 제 2 다수의 비트와 비교되며 제 1 뱅크는 만일 제 1 다수의 비트가 제 3 다수의 비트와 정합된다면 액세스되고 제 2 뱅크는 만일 제 2 다수의 비트가 제 3 다수의 비트와 정합된다면 액세스된다.
본 발명의 원리는 고속 메모리 장치의 구성에 관한 것이다. 특히, SRAM의 사용은 데이타가 추가 장치에 빠르게 클록되도록 한다. 둘째로, 공간적으로 및/또는 시간적으로 다중 뱅크에 근접한 데이타를 저장한 후 저장된 번지와 입력되는 번지를 비교함으로써, 필요한 데이타가 저속 DRAM보다 고속 SRAM에서 발견될 가능성은 증가한다.
전술한 내용은 본 발명의 상세한 설명의 이해를 돕기 위해 본 발명의 특성 및 기술적 이점을 넓게 해석한다. 청구항의 주제를 이루는 본 발명의 추가적인 특성 및 이점은 하기에 기술될 것이다. 개념 및 개시된 특정 실시예는 본 발명의 동일 목적을 이행하기 위해 수정하거나 다른 구조를 설계하는 기초로서 충분히 이용될 수 있으며, 상기 내용은 당업자에 인정된다. 또한 동등한 구조는 종속항에서 밝힌 본 발명의 사상 및 범위로부터 벗어나지 않는다는 사실 역시 당업자에 인정된다.
본 발명은 도면을 참조로 하여 상세히 설명된다.
본 발명의 원리 및 그 이점은 도 1-5에 기술된 실시예를 참조로 하여 이해되며, 동일 참조번호는 동일 부분을 나타낸다.
도 1a 및 1b는 각각 개인용 컴퓨터(PCs)에 나타난 두개의 기본 시스템(100A, 100B)을 도시한 블록 다이아그램이다. 상기 기본 구조에 대한 많은 변용이 가능하지만, 도 1a 및 1b는 기본 구조 및 대부분의 PCs의 동작을 기술하는데 적당하다.
양 시스템(100A, 100B)은 단일 중앙 처리 유니트(101), CPU 로컬 데이타 버스(102), CPU 로컬 번지 버스(103), 외부(L2) 캐쉬(104), 코어 논리/제어기(105), 및 시스템 메모리(106)을 포함한다. 시스템(100A)에서, 주변 장치(108)는 버스(107)를 통하여 코어 논리/메모리 제어기(105)로 직접 결합된다. 이 경우 버스(107)는 바람직하게 주변 장치 제어 인터페이스(PCI) 버스이며, 선택적으로 기술상 공지된 ISA, 공용 또는 전용 버스일 수 있다. 시스템(100B)에서, 코어 논리/메모리 제어기(105)는 다시 버스(107)에 결합된다. 이 후 PCI 버스 브리지는 버스(107)와 주변 장치(111)가 결합되는 PCI 버스를 인터페이스한다. 부가 버스(112)는 외부 장치 또는 시스템(도시되지 않음)으로부터 주변 장치(111)에 액세스하기 위해 제공된다.
단일 CPU 시스템(100A, 100B)에서, CPU(101)는, 운영 체제 및 응용 소프트 웨어를 결합하는데 있어서, 시스템(100)의 전체 동작을 제어하는 "마스터"이다. 특히, CPU(101)는 수치 및 워드 처리를 포함하는 다양한 데이타 처리 기능을 실행하며, 그래픽 데이타를 생성하고, 전체 시스템 관리를 실행한다. CPU(101)는 예를 들면 인텔 펜티엄 클래스 마이크로 프로세서와 같은 복합 명령 세트 컴퓨터(CISC) 또는 애플 파워 PC 마이크로 프로세서와 같은 축소 명령 세트 컴퓨터(RISC) 또는 매우 긴 명령어(VLIW) 장치이다.
CPU(101)는 CPU 로컬 번지 및 데이타 버스(102, 103)를 통하여 시스템(100)의 나머지 장치와 통신하며, 상기 버스는 예를 들면 기술상 공지된 특수한 버스, 또는 일반적인 버스이다.
코어 논리/메모리 제어기(105)는, CPU(101)의 지시아래, 데이타의 교환, 번지, CPU(101) 사이의 제어 신호 및 명령, 시스템 메모리(106), 및 버스(107) 그리고/또는 PCI 버스 브리지(109)를 통한 주변 장치(108/111)를 제어한다. 코어 논리/메모리 제어기는 CPU로부터 작업을 이동하도록 하고 이에 따라 CPU를 다른 CPU-집약적인 작업을 하도록 하지만, CPU는 언제나 보다 우선하는 작업의 실행을 위해 코어 논리/메모리 제어기(105)를 무시한다.
코어 논리 및 메모리 제어기는 PC 업계 및 업자의 선택 및 당업자에 공지된 기술에 넓게 이용될 수 있다. 메모리 제어기는 분리된 장치 또는 코어 논리와 같은 동일 칩에 통합된 장치일 수 있다. 메모리 제어기는 일반적으로 메모리 클록 및 RAS, CAS, R/W 및 뱅크 선택 그리고 모니터 및 제어셀 재생과 같은 제어 신호를 생성한다.
코어 논리는 전형적으로 한개 또는 그 이상의 번지 및 시스템 제어기 집약형칩 및 한개 또는 그 이상의 데이타 집약형칩을 포함한다. 특히, 번지 집약형 칩은: 번지 버스(103)와 CPU(101)를 인터페이스하고; 캐쉬 테그, 집합 연관 방식 캐쉬 태그 및 캐쉬 코히어런스를 보증하기 위한 다른 데이타를 포함하는 캐쉬 메모리를 유지하며; 시스템 메모리 또는 캐쉬에서 DRAM에 필요한 제어 신호를 생성하며; 일반적인 관리 트랜잭션을 제어한다. 데이타 집약형 칩은 일반적으로: 데이타 버스(102)와 CPU(101)를 인터페이스하고; 사이클 완전 응답을 발생시키며; 만일 상기 사이클이 불완전할 경우 동작을 중지시킬 수 있고; 버스(102)의 데이타 경로를 중재한다.
CPU(101)는 코어 논리/메모리 제어기(103) 또는 외부(L2) 캐쉬(104)를 통하여 직접 통신할 수 있다. 예를 들면 L2 캐쉬(104)는 256킬로 바이트 고속 SRAM 장치이다. 전형적으로, CPU는 16킬로 바이트 칩내장(L1) 캐쉬까지 유지한다.
또한 PCI 버스 브리지(109)와 같은 PCI 버스 브리지는 당업자에 공지되어 있다. 전형적인 PC에서, CPU는 전체 시스템에 대해 버스 마스터이며 PCI 버스 브리지와 같은 장치는 CPU의 명령에 따라 동작하는 슬래이브 장치이다.
주변 장치(107/111)는 좁은 선택 사양에서 지정해보면, 디스플레이 제어기 및 연관 프레임 버퍼, 플로피 드라이브 제어기, 디스크 드라이브 제어기, 및/또는 모뎀을 포함한다.
본 발명의 원리는 멀티프로세싱 장치 및 시스템에서 실시된다. 본 발명의 원리가 적용될 수 있는 수치 멀티프로세싱 구조가 존재하지만, 도(2a,2b,2c)는 설명을 위해 멀티프로세서 구조(200A,200B,200C)의 예를 각각 기술한다.
멀티프로세싱 시스템(200A)은 n개의 CPU(201)에 기초한다. 각각의 CPU(201)는 전용 캐쉬(202) 및 전용(사설) 시스템 메모리(203)와 결합되어 있다. 공통 버스(204)는 부여된 CPU가 주변장치와 정보를 교환하도록 하며, 상기 주변장치는 디스크 드라이브, 테이프 드라이브 및 카트리지 유니트와 같은 대용량 하위시스템(204) 그리고 프린터, 디스플레이 및 키보드와 같은 입/출력 하위시스템(206)을 포함한다.
시스템(200A)의 메모리 구성은 "무 판독/기록 메모리 액세스"(NORMA) 패러다임아래 분류할 수 있다. NORMA에 기초한 시스템에서, 프로세서는 공통 메모리에 액세스하지 않으며 프로세서사이에서 공유한 모든 데이타는 통신 링크를 초과한다. NORMA는 전형적으로 완전 분산 시스템에 사용된다.
또한 시스템(200B)은 각각 연관 캐쉬(202)를 가지며 공통 버스(204)를 통하여 주변 장치에 결합된 n개의 CPU(201)를 주로 포함한다. 시스템(200B)의 경우, 시스템 메모리(207)는 버스(204)에 결합되고 모든 CPU(201)에 의해 공유된다. 두번째 버스(208)는 시스템 메모리(207)에 액세스하기 위해 두번째 경로로서 제공된다.
시스템(200B)의 메모리 구조는 전형적으로 통합 메모리 액세스 구조(UMA)로서 설계된다.
UMA 패러다임아래, 모든 프로세서는 시스템 메모리에 동일하게 액세스할 수 있고 모든 프로세서는 로컬 캐쉬를 가진다. 통합 메모리 액세스 구조는 프로세서사이의 가장 빠른 상호 작용을 제공하며 PC, 워크 스테이션 및 다른 데스크탑 컴퓨터 장치에 사용되는 공통 구조이다. UMA에 기초한 시스템은 종종 "대칭 다중 처리"시스템으로서 참조된다.
시스템(200C)은 사설 메모리 및 시스템 메모리가 제공된 시스템이다. 특히, 전용 캐쉬(202)외에, 각각의 CPU(201)는 사설 메모리(209)와 결합되어 있다. 또한 CPU는 공유 시스템 메모리(210)에 버스(204)에 의해 연결되어 있다.
시스템(200C)의 메모리 구조는 비통합 메모리 액세스(NUMA)의 패러다임에 속한다. NUMA 패러다임 아래, 각각의 프로세서는 사설 메모리를 가지며 또한 시스템의 다른 프로세서와 시스템 메모리를 공유한다. NUMA에 기초한 시스템의 문제점은 사설 및 시스템 메모리에 대한 액세스 타임이 다른 타이밍 문제를 일으킬 수 있다는 것이다.
하이 시스템 레벨에서, 완전한 하드웨어/소프트웨어 시스템으로 도(2a,2b,2c)에 도시된 하드웨어 구조를 실행하는 많은 방법이 있다. 각각 세개의 시스템이 도(3a-3C)에 도시되어 있다.
도(3a)는 "소 결합" 멀티 프로세싱 구조를 도시한 다이아그램이다. 소결합 구조에서, 각각의 처리 노드(300)는 운영체제 및 응용 프로그램의 전용복사를 유지한다. 도(3a)에 도시된 소결합 구조는 종종 내장형 시스템 및 실시간 시스템에서 사용되며, 상기 시스템의 작업은 동기화를 위해 다른 처리 노드에 분할되어야 한다. 내장형 시스템은 논리, 메모리, 신호 프로세서, 또는 그와 유사한 것으로서 동일 칩상에 조립되는 CPU를 포함한다. 고속 상호 연결은 데이타를 공유하는데 사용되고 처리 노드(300)사이에서 메세지를 통과시킨다. 소 결합 시스템은 더 많은 장애 및 에러를 허용하는 반면, 소프트웨어 프로그래밍은 대단히 복잡하다.
도(3b)는 "밀 결합" 시스템을 도시한다. 이 경우, 운영 체제의 단일 복사 및 응용 프로그램의 단일 복사는 프로세서의 단일 세트에 의해 공유되고 실행된다. 밀 결합 시스템용 기록 소프트웨어 프로그램은 일반적으로 소 결합 시스템용 기록 프로그램 보다 단순하다. 그러나, 응용 프로그램 및 운영 체제의 단일 복사에만 기초한 밀 결합 시스템은 소 결합 시스템보다 에러 및 실패에 대해 덜 허용된다.
도(3C)는 각각의 처리 노드(300)가 운영 체제의 전용 복사를 유지하고 모든 노드는 응용 프로그램의 단일 복사를 공유하는 "중 결합" 시스템의 다이아그램이다. 중 결합 시스템은 밀 결합 시스템의 단순한 프로그램을 제공하는 한편, 소 결합 시스템의 실패/에러에 대한 허용 기준을 제공하는 하이브리드이다.
일반적으로, UMA, NUMA, NORMA 중 하나의 패러다임아래, 시스템은 사용된 프로세서 타입에 따라 다르게 동작할 것이다. 예를 들면, 디지털 신호 프로세서(DSP)에 기초한 시스템이 "데이타 흐름" 에 지배되는 반면, CISC CPU는 "대기 시간" 에 지배될 수 있다. 또한, 파이프 라인 프로세싱 알고리즘은 전형적으로 데이타 흐름 집약형이다. 왜냐하면, 프로세서가 시스템의 다른 프로세서로부터 수신된 데이타의 흐름에 관한 동작을 실행하고 이후 다른 프로세서로 결과를 넘겨주기 때문이다.
대부분의 멀티 프로세싱 시스템의 설계시 제기되는 많은 문제가 있다. 우선, 시스템(200B) 또는 시스템(200C)에 사용된 것과 같은 단일 시스템 메모리 시스템인 구조가 다중 프로세서에 의해 공유되었다면, 메모리 경쟁의 문제가 제기된다. 즉, 여러 프로세서가 공유된 메모리에 동시에 액세스하기위한 상황을 다루는 기술이 개발되어야 한다. 이 문제는 서로 다른 프로세서는 다른 방식으로 메모리와 인터페이스함으로써, 설계시 취급되어야 함으로써 더욱 복잡해 진다. 예를 들면, CISC 프로세서는 기본적으로 레지스터 공간이 필요한 반면, RISC 프로세서는 기본적으로 메모리 공간이 필요하다.
메모리 장치 또는 단일 데이타 입/출력 포트 및 단일 번지 포트를 가진 시스템에서, 경쟁 문제는 "메모리 잠금"에 의해 해결할 수 있다. 이 경우, 임의의 CPU (또는 제어기)는 주어진 장치 또는 하위 시스템에 액세스하는 반면, 다른 CPU(제어기)는 "잠금" 상태이고 동일 장치/하위 시스템에 액세스할 수 없다. 메모리 잠금은 CPU에 내장된 메모리 관리 유니트(MMU)또는 독립형 장치 또는 하위 시스템에 의해 실행된다. 여하튼, 메모리 잠금은 경쟁 상황동안, 적어도 하나의 프로세서가 데이타를 액세스하기위해 기다려야하기 때문에, 멀티 프로세싱이 증가되는 효율성을 감소시킨다.
다른 중요한 문제는 소프트웨어 설계이다. 대칭 멀티 프로세싱 동작 시스템이 참조된다. 왜냐하면 응용 프로그램이 이용 가능할때, 동작 시스템의 타입은 CPU로 응용 프로그램을 연결부 없이 통과시킬 수 있기 때문이다. 상술한 바와 같이, 밀, 소 및 중 결합 소프트웨어 구조사이의 선택은 기본적으로 절충, 특히 프로그래밍과 장애/에러 허용 기준의 용이함사이에서 절충이 필요하다.
또한, 다중 프로세서(또는 제어기)가 동일 버스에 결합되어 있을때, 버스 경쟁 문제 또한 발생한다. 특히, 공유된 버스가 주어졌을때, 정상적으로 단지 하나의 프로세서만이 주어진 버스 작업을 실행하기 위해 버스로 액세스가 허용된다. 반면, 상기 버스에 결합된 프로세서의 나머지는 우선 순위가 도착할 때까지 기다려야만 한다. 버스 경쟁 문제를 최소화하기 위한 한가지 기술은 도(3a-3C)에 도시된바와 같이, 각각의 CPU에 대해 전용 캐쉬를 제공하는 것이며, 따라서 주어진 CPU는 필요한 데이타가 전용 캐쉬에서 발견되지 않았을때 버스로 액세스할 필요가 있다. 결과적으로, 캐쉬 코히어런스는 주로 멀티 프로세싱 시스템의 설계와 관련이 있다. 바꾸어 말하면, 주어진 프로세서가 메모리의 위치를 수정할때, 동일 데이타를 사용하는 각각의 다른 프로세서의 캐쉬 메모리에서 데이타가 수정되는 사실을 보증하는 기술이 제공되어야 한다.
도(4)는 본 발명의 실시예에 따른 DRAM 장치(400)의 기능 블록도이다. 메모리(400)는 도(4)에 도시된 네개의 뱅크(401a,401b,401c,401d)를 가진 N개의 메모리 뱅크 또는 유니트(401)를 포함하며; N은 바람직하게 짝수인 둘 또는 그 이상이며, 실제 뱅크의 숫자는 기술에 따라 변경될 것이다. 뱅크(401)는 제어 및 구성 회로(407)를 통하여 외부 회로와 통신한다. 시스템(100a,100b)과 같은 단일 CPU 프로세싱 시스템에서, 디스플레이 프레임 버퍼와 같은 단일 CPU 개인 컴퓨터 환경의 다른 기술이 가능하지만, 메모리 하위 시스템(400)은 시스템 메모리(102)를 구성하는 데 사용된다. 시스템(200a,200b,200c)과 같은 멀티 프로세싱 구조에서, 메모리 하위 시스템(400)은 시스템 메모리 또는 로컬(사설) 메모리를 구성하는데 사용될 수 있다. 바람직하게, 하위 시스템(400)은 모놀리식 집적 회로 장치이다.
각각의 뱅크(401)는 N개의 행(row) 및 M개의 열(column)로 배열된 DRAM 셀의 어레이(402)를 포함한다. 당업자에 공지된 바와 같이, 개방 비트 라인 또는 접혀진 비트 라인 접근을 사용하여 구성된 열을 가진 각각의 어레이(402)는 다중 하위 어레이로 분할된다. 또한 각각의 뱅크(401)는 어레이 워드 라인에 결합된 전통적인 DRAM 행 디코더(404) 및 어레이 비트 라인에 결합된 DRAM 감지 증폭기/열(column) 디코더 회로(405)를 포함한다. 행 및 열 디코더는 바람직하게 행 디코더 및 한개 또는 그 이상 레벨의 하위 디코더/드라이버가 사용된 계층적 방법으로 구성된다. 일반적으로, 각각의 행 디코더(404)는, 행 번지에 응답하여, 행 번지 스트로브(/RAS)가 논리 행 상태에 있을때 액티브 사이클동안 액세스하기 위해 N행 가운데 하나를 선택한다. 열 디코더는 액티브 사이클동안 액세스하기 위해 P개의 열 번지에 응답하여 총 M개의 열로부터 P개의 페이지(위치)에 관한 C개의 열(bit)을 선택한다.
전역 행 할당기(406)는 각각의 수신 행 번지로부터 L개의 최하위 행 번지 비트를 사용한 "코어스 그래뉴래리티 디코딩(coarse granularity decoding)"을 수행한다. 특히, 모든 뱅크(401)는 각각의 RAS 사이클동안 동작하며, 전역 행 할당기는 선택하기 위해 L개의 최하위 행 번지 비트를 사용한다. 행 디코더(404)는 결과적으로 DRAM 액세스동안 각각의 DRAM 어레이의 RAS 사이클당 한 행을 동시에 선택하기 위해 Y-1 개의 나머지 최상위 번지 비트를 디코드한다. 이 신호들은 데이타(DQ) 및 번지(Add)에 따라, 동기 클록(SCLK), 행 번지 스트로브(/RAS), 열 번지 스트로브(/CAS), 판독/기록 선택(R/W) 및 출력 가능(/OE)을 포함한다. 또한 제어 회로(407)는 후술하는 구성 비트(CONFIG)를 입력한다. 바람직한 실시예에서, 번지 입력 포트는 행 번지 및 열 번지가 동일 핀에 연속적으로 수신되고 /RAS 및 /CAS로 각각 래치되는 통상적인 방법으로 다중화된다.
본 발명에 따라, 각각의 뱅크(401)는 또한 SRAM/SRAM 열 디코더 회로(408)를 포함한다. SRAM 회로(408)는 도 5에서 자세히 기술되지만, 일반적으로 다음과 같은 점에서 기술된다. 첫째로, M 개의 SRAM 셀의 선형 어레이는 대응 DRAM 어레이(402)로부터 전송된 데이타 열을 저장하기 위해 포함된다. 둘째로, SRAM 열 디코더 회로는 한개 또는 그 이상의 열 번지에 응답하여 SRAM 어레이의 행 데이타에 대한 C-비트 페이지의 데이타의 페이지 액세스(판독 또는 기록)를 위해 포함된다.
데이타 래치(409)는 데이타 버스(410)로 DRAM 감지 증폭기/열 디코더(405) 및 SRAM 열 디코더(408)에 인터페이스한다. 열 번지는 열 번지 버스(411)를 통하여 전송되고 행 번지 버스(412)에 의해 행 번지 지정된다.
번지 래치 및 최종 행 판독(LRR) 비교 회로(413)는 번지 포트(Add0-AddY)에서 수신된 현재의 행 및 열 번지를 저장하기 위한 래치를 포함한다. 또한 회로(413)의 부분으로서, 최종 행 판독(LRR)의 최상위(MSB) 열 번지 비트를 저장하기 위한 래치 및 저장된 LRR 비트와 현재 행 번지의 최상위 비트(MSB)를 비교하기 위한 비교 회로를 포함한다.
실시예에서, 최하위 행 번지 비트는 전역 행 할당기(406)에 의해 처리되고 최상위 행 번지 비트는 셀의 개별적인 행을 선택하기위해 뱅크(401)에서 내부적으로 사용되며, 다른 배열은 쉽게 적용될 것이다. 예를 들면, 주어진 개수의 최상위 행 번지 비트는 전역 행 할당기(406)에 의해 사용될 수 있고 나머지 최하위 비트는 개별적인 행 선택을 위해 사용된다. 또한, 크거나 작은 엔디안(endian) 데이타가 사용될 수 있다. 주어진 뱅크(408)의 SRAM 캐쉬에 나타난 번지 비트의 개수는 DRAM 행 디코더(404)에 나타난 MSB 번지 데이타 비트의 개수와 동일하다.
도 5는 선택된 뱅크(401)의 데이타 및 번지를 경로 지정하는 회로의 상세한 다이아그램이다. 번지는 다중화 방식으로 번지 포트(Add0-AddY)에서 수신된다. 행 번지 비트는 /RAS(SCLK를 따르는)의 하강 에지에서 행 번지 래치(501)로 래치된다. 최상위 비트는 정교한 그래뉴래리티 행 디코더(404)에 제공되고 최하위 비트는 전역 행 할당기(406)에 제공된다. 이전 /RAS의 최상위 행 번지 비트는 최종 행 판독 번지 래치(502)에 전송된다. 비교 회로(503)는 행 번지 래치(501)로 가는 최상위 행 번지 비트 및 래치(502)에 담겨진 최종 판독 행 번지를 비교한다. 각각의 /CAS 사이클동안, 한개 또는 그 이상의 열 번지는 번지 포트(ADD0-ADDY)에서 수신되고 각각의 /CAS의 하강 에지에서 열 번지 래치(504)로 래치된다.
SRAM 레지스터(506)는 최종 판독 번지 래치(502)에 저장된 번지 비트와 연관된 데이타를 저장한다(즉, 행 번지 및 데이타가 데이타 구조로서 판단되면, 행 번지 MSB는 행 영역 및 데이타 비트, 데이타 영역을 포함한다.). 제 2 열 디코더(507)는 SRAM 레지스터(506)의 위치에 대한 액세스가 제공된다. 행 번지의 증가/감소 및 재생 제어 회로(508)는, 사용 가능일때, DRAM 감지 증폭기를 통한 셀 재생을 실행하기 위해 행 어레이(402)를 통하여 다음 단계로 가고 후술되는 번지 변환을 실행한다.
메모리(400)를 동작시키는 바람직한 방법이 기술되어 있다. 액세스 동안, 행 번지는 먼저 번지 핀(Add0-AddY)에 수신된다. /RAS의 하강 에지에서, 최하위 행 번지 비트(4개 뱅크 실시예, 2개 최하위 비트)는 전역 행 할당기(406)로 통과되고 나머지 최상위 비트는 각각의 뱅크(401)의 행 번지 래치(501)로 래치된다. 이전 /RAS 사이클의 각각의 행 번지 래치(501)에 저장된 최상위 비트는 대응 LRR 번지 래치(502)로 전송된다.
판독의 첫번째 방법에 있어서, 메모리(400)에 대한 입력시 비트 CONFIG는 논리 로(logic low)에 세트된다. 전역 행 할당기(406)는 현재의 최상위 행 번지 비트로부터 수신 번지의 번지 공간에 대응하는 뱅크(401)를 결정한다. 대응 뱅크(401)의 비교기(503)는 /RAS의 하강 에지 및 /CAS의 로(LOW) 전송에 대한 첫번째 하이사이의 주기동안, 비교기(503)는 대응 행 번지 래치(501)의 현재 번지 최상위 비트 및 LRR 번지 래치(502)에 저장된 비트를 비교한다. 만일 주어진 뱅크에 대하여 정합이 발생한다면, SRAM 열 번지 디코더(507)는 선택되고 뱅크의 완전 SRAM 셀 어레이(506)에 대한 액세스를 셋업한다. 번지 포트(Add0-AddY)에서 수신된 열 번지는 각각의 뱅크의 열 번지 래치(504)로 래치되고 따라서 각각의 SRAM 열 디코더(507)는 /CAS에 따라 래치된 각각의 P개의 열 번지당 C비트 워드에 액세스하도록 한다. 상기 액세스는 C비트 데이타 버스(410)를 통하여 실행된다. 만일 각각의 뱅크가 16비트 장치로 구성된다면, 데이타 버스(410)는 16비트 광대역 및 그와 동등할 것이다. 바람직하게, 선택된(사용 가능한) 뱅크는 데이타 버스(410)을 통하여 액세스된 유일한 뱅크(401)이며, 다른 뱅크의 데이타 래치(409)의 데이타 워드는 전혀 사용되지 않는다.
만일 래치(5001,502)의 번지 비트가 수신된 행 번지 LSB에 의해 번지 지정된 뱅크(401)와 정합되지 않는다면, 액세스는 대응 DRAM 어레이에 대하여 이루어진다. 특히, 번지 지정된 뱅크(401)에 판독하기 위해, 행은 대응 DRAM 어레이(402)로부터 DRAM 행 디코더에 의해 선택되고 데이타의 전체 행은 열 번지가 제공되었을때 출력을 위해 연관 SRAM 어레이(506)로 전송된다. 나머지 뱅크(401)에 대해, MSB는 대응 행 번지 증가 회로(508)를 사용하여 증가 또는 감소된다. 상기 뱅크의 행 데이타는 유사하게 대응 SRAM 어레이(507)로 전송된다.
예를 들면, 도시된 4개 뱅크 시스템에서, 뱅크(401b)(뱅크1)의 번지 공간을 지시하는 LSB를 가진 수신 행 번지가 액세스되었다고 가정해 보자. 전역 행 할당기(406)는 뱅크(1)가 현재 행 번지 MSB 및 뱅크(1) LRR 래치에 저장된 비트를 비교하도록 한다. 수신된 행 번지 MSB는 뱅크(401b) DRAM 어레이(402)로부터 뱅크(1) SRAM 어레이로 데이타를 전송하기 위해 수정되지 않는다. 그러나, 뱅크(401a)에 대한 행 번지 MSB는 대응 행 증가 회로(508)에 의해 01만큼 증가되고 뱅크(401c)(뱅크2) 및 뱅크(401d)(뱅크3)에 대한 행 번지 MSB는 각각 01 및 10 만큼 증가된다. 다시 말하면, 만일 뱅크(1)에 대한 번지(수신된 행 번지 MSB)가 번지(A+1)로 설계되었다면, 이후 번지(A+1)는 뱅크(0)가 번지(A0)를 수신하는 것과 같이 감소하고, 뱅크(2)가 번지(A+2)를 수신하고 뱅크(3)가 번지(A+3)를 수신하는 것과 같이 증가한다. 상기 번지는 연관 뱅크의 DRAM 어레이(402)에 액세스하기위해 사용되고 DRAM의 액세스된 데이타는 SRAM 어레이로 전송된다. 새로운 번지는 번지 래치(501)에 저장된다.
번지 지정된 뱅크에 액세스하는 동안, 이 경우 뱅크(1)의 DRAM 어레이(402)를 포함하는 임의의 뱅크의 DRAM은 재생된다. DRAM 열 디코더(405)는 SRAM 어레이(408)로부터 대응 DRAM 어레이(402)를 분리시킨다. 그러므로, 데이타가 선택된 뱅크(401)의 SRAM 어레이로부터 액세스되는 동안, 임의의 또는 모든 DRAM 어레이(402)는 SRAM 어레이의 데이타를 분배하지 않고 재생될 수 있다. 재생은 바람직하게 각각의 뱅크에서 증가 및 재생 회로(508)를 사용한 행 번지를 증가시키고 통상적인 방법으로 DRAM 감지 증폭기를 사용한 각각의 행 데이타를 래치시킴으로써 실행된다.
바람직한 실시예에서, 번지 지정된(선택된) 뱅크의 SRAM 어레이(506)의 데이타가 액세스되었다면, /RAS 사이클은 완전하다. 나머지 뱅크(401)의 SRAM 어레이(506)의 데이타는 연관 데이타 래치(409)를 통하여 사용 가능하고, 사용될 수 있으나, 전형적으로 미래의 /RAS 사이클을 위해 남겨진다. 선택된 뱅크의 현재 행 번지 MSB 및 새로운 행 번지 MSB는 다음 /RAS 사이클동안 LRR 레지스터에 전송된다. 대응 데이타는 SRAM 어레이에 남겨진다. CPU 및/또는 개방 시스템은 메모리의 시간적으로 또는 공간적으로 근접 영역의 데이타를 액세스하기 때문에, 정합이 발생할 확률은 높다.
바람직한 기록 방법의 경우, 번지는 번지 포트(Add0-AddY)에서 수신된다. LSB로부터, 전역 행 할당기(406)는 대응 행 번지 공간에 할당된 뱅크(401)를 결정한다. LSB는 01이고, 뱅크(401b)(뱅크1)는 번지 지정된다. 수신된 행 MSB는 뱅크(1)의 DRAM 어레이(402)에 대한 번지로서 제공된다. 상술한 바와 같이, 뱅크(0)에 대한 행 번지 증가 회로(508)는 뱅크(0)의 DRAM 어레이에 행 번지를 획득하기 위해 수신된 행 MSB를 감소시키고 각각의 뱅크(2) 및 뱅크(3)의 DRAM 어레이에 대한 행 번지를 획득하기 위해 01 및 10 으로 수신된 MSB를 증가시킨다. 각각의 뱅크(401)에 대한 MSB 행(row) 번지 비트는 뱅크의 LRR 레지스터(502)로 기록된다.
액세스의 두번째 방법에 있어서, 메모리(400)에 입력시 CONFIG 비트는 하이로 세트된다. 이 경우, 액세스동안, 수신된 번지의 MSB는 모든 비교기(503)에 의해 비교된다. 만일 한개 또는 그 이상의 뱅크(401)에서 정합이 발생하였다면, 비-정합 뱅크의 데이타가 데이타 래치에서 제거되거나 떠나가지만, 모든 뱅크로부터 데이타가 제공될 것이다.
본 발명은 특정 실시예를 참조하여 기술되었지만, 본 발명을 제한하려는 것은 아니다. 개시된 실시예는 본 발명의 선택적인 실시예 뿐만 아니라, 본 발명을 참조로 하여 당업자는 다양하게 변경할 수 있다. 그러므로, 청구항은 본 발명의 영역내의 모든 변경 및 실시예가 가능하다.

Claims (26)

  1. 제 1 메모리 셀 어레이, 제 2 메모리 셀 어레이, 상기 제 1 셀 어레이를 선택적으로 액세스하는 제 1 액세스 회로, 상기 제 2 셀 어레이를 선택적으로 액세스하기 위한 제 2 액세스 회로, 번지 비트를 저장하기 위한 저장 회로, 및 상기 저장 회로에서 수신 번지 비트 및 저장 번지 비트를 비교하는 회로를 구비하는 다수의 뱅크를 포함하는데, 상기 제 1 액세스 회로는 상기 저장 번지 비트 및 상기 수신 번지 비트가 정합될 때, 상기 저장된 번지 비트에 의해 번지 지정된 상기 제 1 셀 어레이를 액세스하며, 상기 제 2 액세스 회로는 상기 저장 번지 비트 및 상기 수신 번지 비트가 다를때, 상기 수신된 번지 비트에 의해 번지 지정된 상기 제 2 셀 어레이를 액세스하며,
    선택된 상기 다수의 뱅크중 한개에서 상기 저장된 번지 비트 및 상기 수신된 번지 비트의 비교를 가능하게 하는 전역 액세스 제어 회로를 포함하는 것을 특징으로 하는 메모리.
  2. 제 1 항에 있어서, 상기 제 1 어레이는 SRAM 셀 어레이를 포함하는 것을 특징으로 하는 메모리.
  3. 제 1 항에 있어서, 상기 제 2 어레이는 DRAM 셀 어레이를 포함하는 것을 특징으로 하는 메모리.
  4. 제 1 항에 있어서, 상기 제 1 액세스 회로는 상기 제 1 어레이에서 행(row)을 따라 위치를 선택하기 위해 열(column) 디코더를 포함하는 것을 특징으로 하는 메모리.
  5. 제 1 항에 있어서, 상기 제 2 액세스 회로는 제 2 어레이의 행을 선택하는 행 디코더 및 상기 선택된 행을 따라 셀을 액세스하기 위해 열 디코더를 포함하는 것을 특징으로 하는 메모리.
  6. 제 1 항에 있어서, 상기 제 1 및 제 2 액세스 회로는 선택된 데이타 세트를 상기 제 2 어레이로부터 상기 제 1 어레이로 전송하기 위해 동작되는 것을 특징으로 하는 메모리.
  7. 제 1 항에 있어서, 상기 제 1 및 제 2 액세스 회로에 결합된 데이타 래치를 더 포함하는 것을 특징으로 하는 메모리.
  8. DRAM 셀의 행 및 열 어레이, 상기 액세스용 DRAM 셀중 한개를 선택하기 위한 행 디코더, 상기 DRAM 셀의 행 및 열 어레이에 결합된 SRAM 셀 어레이, 선택된 개수의 행 번지 비트를 저장하기 위한 래치 및 수신된 행 번지 비트 및 상기 래치에 저장된 행 번지 비트를 선택적으로 비교하기 위한 비교 회로를 포함하는 다수의 메모리 뱅크를 포함하는데, 상기 비교 회로는 상기 수신된 비트 및 상기 저장된 비트가 정합되었을때, 상기 SRAM 셀의 어레이를 선택하기 위해 액세스를 시작하며 상기 수신된 행 번지 비트 및 상기 저장된 행 번지 비트가 다를때, 상기 DRAM 셀의 어레이를 선택하기 위해 액세스를 시작하며,
    선택된 수신 행 번지 비트에 응답하여 상기 뱅크중 선택된 한개의 상기 비교 회로를 사용 가능하게 하는 전역 행 할당기(global row assignor)를 포함하는 것을 특징으로 하는 메모리 하위 시스템.
  9. 제 8 항에 있어서, 상기 다수의 뱅크는 단일 집적 회로 칩상에서 제작되는 것을 특징으로 하는 메모리 하위 시스템.
  10. 제 8 항에 있어서, 상기 SRAM 셀 어레이는 상기 DRAM 어레이의 행과 같은 폭을 가지는 셀의 행을 포함하는 것을 특징으로 하는 메모리 하위 시스템.
  11. 제 8 항에 있어서, 수신된 열 번지에 응답하여 SRAM 셀의 행의 위치에 엑세스하기 위해 상기 SRAM 어레이에 결합된 SRAM 열 디코더를 더 포함하는것을 특징으로 하는 메모리 하위 시스템.
  12. 제 8 항에 있어서, 수신된 행 번지에 응답하여 DRAM 셀의 행의 위치에 액세스 하기 위해 상기 DRAM 셀의 어레이에 결합된 DRAM 열 디코더를 더 포함하는 것을 특징으로 하는 메모리 하위 시스템.
  13. 제 8 항에 있어서, 상기 비교 회로는 수신된 행 번지의 선택된 개수의 최상위 비트 및 상기 래치에 저장되고 이전에 수신된 행 번지의 선택된 개수의 최상위 비트를 비교는 것을 특징으로 하는 메모리 하위 시스템.
  14. 제 13 항에 있어서, 상기 전역 행 할당기 회로는 상기 수신된 번지의 선택된 개수의 최하위 비트에 응답하여 상기 선택된 뱅크의 상기 비교 회로를 사용 가능하게 하는 것을 특징으로 하는 메모리 하위 시스템.
  15. 제 8 항에 있어서, 상기 뱅크의 선택되지 않은 상기 래치에서, 수신된 저장용 번지의 선택된 비트를 전송하기 위한 행 번지 증가/감소 회로를 더 포함하는 것을 특징으로 하는 메모리 하위 시스템.
  16. 제 15 항에 있어서, 상기 전송된 비트는 상기 수신된 번지의 상기 선택된 비트에 근접한 번지 공간내에 존재하는 것을 특징으로 하는 메모리 하위 시스템.
  17. 다중 뱅크 메모리 시스템의 데이타를 액세스 하는 방법에 있어서,
    제 1 및 제 2 세트의 비트를 가진 번지를 수신하는 단계, 제 1 세트 비트에 응답하여 다수의 뱅크중 한개를 선택하는 단계, 제 2 세트 비트와 선택된 뱅크중 한개에 저장된 비트를 비교하는 단계, 상기 비교 단계에 응답하여, 선택된 뱅크중 한개에서 SRAM 어레이 및 DRAM 어레이중 선택된 한개에 액세스하는 단계를 포함하는 단계;및
    제 2 세트 비트가 선택된 뱅크에 저장된 비트와 정합된 경우, SRAM 어레이에 액세스하는 단계, 제 2 세트 비트 및 선택된 뱅크에 저장된 비트가 다를 경우, DRAM 어레이에 액세스 하는 단계를 포함하는 하위 단계를 포함하는 것을 특징으로 하는 방법.
  18. 제 17 항에 있어서, 상기 DRAM 어레이에 액세스하는 하위 단계는 DRAM 어레이로부터 선택된 뱅크의 SRAM 어레이로 선택된 데이타를 전송하는 하위 단계를 포함하는 것을 특징으로 하는 방법.
  19. 제 17 항에 있어서, 상기 제 1 세트 번지 비트는 최하위 행 번지 비트를 포함하며, 상기 제 2 세트 비트는 최상위 행 번지 비트를 포함하는 것을 특징으로 하는 방법.
  20. 제 17 항에 있어서, 상기 비교 단계에 응답하여, 제 3 세트 비트를 발생시키기 위해 제 2 세트 비트를 수정하는 단계;
    제 3 세트 번지에 응답하여, 뱅크중 제 2 뱅크의 DRAM 어레이로부터 뱅크중 제 2 뱅크의 SRAM 어레이에 데이타를 전송하는 단계;및
    제 2 뱅크에 제 3 세트 비트를 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  21. 제 20 항에 있어서,
    제 1 및 제 2 세트 비트를 가진 상기 제 2 번지를 수신하는 단계;및
    제 2 번지의 제 2 세트 비트와 뱅크중 제 2 뱅크에 저장된 제 3 세트 비트를 비교하는 단계;
    상기 비교 단계에 응답하여, SRAM 어레이중 선택된 어레이 및 뱅크중 선택된 뱅크의 DRAM 어레이에 액세스하는 단계를 더 포함하며,
    상기 액세스 단계는 제 2 번지의 제 2 세트 비트가 제 2 뱅크에 저장된 제 2 세트 비트와 정합될 경우, 제 2 뱅크의 SRAM 어레이에 액세스하는 단계; 및
    제 2 번지의 제 2 세트 비트 및 제 2 뱅크에 저장된 제 3 세트 비트가 다를 경우, 제 2 뱅크의 DRAM 어레이에 액세스하는 하위 단계를 포함하는 것을 특징으로 하는 방법.
  22. 제 17 항에 있어서, 상기 SRAM에 액세스하는 단계는 일련의 열 번지를 수신하고 SRAM 어레이내의 다수의 저장 위치에 액세스되는 단계를 포함하는 것을 특징으로 하는 방법.
  23. 제 20 항에 있어서, 상기 제 2 세트 비트를 수정하는 단계는 제 2 세트 번지 비트에 의해 번지 지정된 번지 공간에 근접한 번지 공간 내부의 제 2 뱅크의 DRAM 의 세트 데이타를 번지 지정하는 제 3 세트 번지 비트를 생성하기 위해, 제 2 세트 비트를 수정하는 단계를 포함하는 것을 특징으로 하는 방법.
  24. 다중 뱅크 메모리 하위 시스템에 액세스하는 방법에 있어서,
    제 1 다수의 번지 비트를 포함하는 제 1 번지를 수신하는 단계;
    상기 제 1 다수의 비트에 의해 번지 지정된 뱅크중 제 1 뱅크의 위치에 제 1 데이타를 기록하는 단계;
    상기 제 1 뱅크의 제 1 다수의 번지 비트를 저장하는 단계;
    제 2 다수의 번지 비트를 생성하기 위해 제 1 다수의 번지 비트를 수정하는 단계;
    상기 제 2 다수의 번지 비트에 의해 번지 지정된 뱅크중 제 2 뱅크의 위치에 제 2 데이타를 기록하는 방법;
    상기 제 2 뱅크의 제 2 다수의 번지 비트를 저장하는 단계;
    제 3 다수의 번지 비트를 포함하는 제 2 번지를 수신하는 단계;및
    제 3 다수의 비트와 제 1 및 제 2 다수의 비트를 비교하며, 상기 제 1 다수의 비트가 상기 제 3 다수의 비트가 정합될 경우, 상기 제 1 뱅크에 액세스하고 상기 제 2 다수의 비트가 상기 제 3 다수의 비트와 정합될 경우 상기 제 2 뱅크에 액세스하는 단계를 포함하는 것을 특징으로 하는 방법.
  25. 제 24 항에 있어서, 상기 제 1 및 제 2 번지는 행 번지를 포함하는 것을 특징으로 하는 방법.
  26. 제 24 항에 있어서, 상기 제 1 번지를 수정하는 단계는 최하위 비트를 수정하는 단계를 포함하는 것을 특징으로 하는 방법.
KR1019997008320A 1997-03-13 1998-03-13 Sram과 dram을 포함하는 메모리 및 메모리를 사용하는 시스템 및 방법 KR20000076226A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/816,663 US5835932A (en) 1997-03-13 1997-03-13 Methods and systems for maintaining data locality in a multiple memory bank system having DRAM with integral SRAM
US8/816,663 1997-03-13

Publications (1)

Publication Number Publication Date
KR20000076226A true KR20000076226A (ko) 2000-12-26

Family

ID=25221300

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019997008320A KR20000076226A (ko) 1997-03-13 1998-03-13 Sram과 dram을 포함하는 메모리 및 메모리를 사용하는 시스템 및 방법

Country Status (8)

Country Link
US (2) US5835932A (ko)
EP (1) EP0966741B1 (ko)
JP (1) JP2001525086A (ko)
KR (1) KR20000076226A (ko)
AT (1) ATE242536T1 (ko)
DE (1) DE69815308D1 (ko)
TW (1) TW389903B (ko)
WO (1) WO1998040891A1 (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6388314B1 (en) 1995-08-17 2002-05-14 Micron Technology, Inc. Single deposition layer metal dynamic random access memory
US5838631A (en) 1996-04-19 1998-11-17 Integrated Device Technology, Inc. Fully synchronous pipelined ram
US5835932A (en) * 1997-03-13 1998-11-10 Silicon Aquarius, Inc. Methods and systems for maintaining data locality in a multiple memory bank system having DRAM with integral SRAM
US5903491A (en) 1997-06-09 1999-05-11 Micron Technology, Inc. Single deposition layer metal dynamic random access memory
US6263448B1 (en) * 1997-10-10 2001-07-17 Rambus Inc. Power control system for synchronous memory device
US6173356B1 (en) * 1998-02-20 2001-01-09 Silicon Aquarius, Inc. Multi-port DRAM with integrated SRAM and systems and methods using the same
US6115320A (en) 1998-02-23 2000-09-05 Integrated Device Technology, Inc. Separate byte control on fully synchronous pipelined SRAM
US6272594B1 (en) * 1998-07-31 2001-08-07 Hewlett-Packard Company Method and apparatus for determining interleaving schemes in a computer system that supports multiple interleaving schemes
US6237130B1 (en) * 1998-10-29 2001-05-22 Nexabit Networks, Inc. Chip layout for implementing arbitrated high speed switching access of pluralities of I/O data ports to internally cached DRAM banks and the like
US6467018B1 (en) * 1999-01-04 2002-10-15 International Business Machines Corporation Method and apparatus for addressing individual banks of DRAMs on a memory card
JP2000268559A (ja) * 1999-03-12 2000-09-29 Nec Corp 半導体集積回路装置
JP2000339954A (ja) * 1999-05-31 2000-12-08 Fujitsu Ltd 半導体記憶装置
US7069406B2 (en) * 1999-07-02 2006-06-27 Integrated Device Technology, Inc. Double data rate synchronous SRAM with 100% bus utilization
US6272070B1 (en) * 2000-02-09 2001-08-07 Micron Technology, Inc. Method and apparatus for setting write latency
JP2001243211A (ja) * 2000-02-29 2001-09-07 Mitsubishi Electric Corp マイクロコンピュータ
US6766431B1 (en) * 2000-06-16 2004-07-20 Freescale Semiconductor, Inc. Data processing system and method for a sector cache
US6658523B2 (en) * 2001-03-13 2003-12-02 Micron Technology, Inc. System latency levelization for read data
US7085186B2 (en) 2001-04-05 2006-08-01 Purple Mountain Server Llc Method for hiding a refresh in a pseudo-static memory
JP4731730B2 (ja) * 2001-06-04 2011-07-27 ルネサスエレクトロニクス株式会社 半導体記憶装置
JP3851865B2 (ja) 2001-12-19 2006-11-29 株式会社東芝 半導体集積回路
US6728159B2 (en) * 2001-12-21 2004-04-27 International Business Machines Corporation Flexible multibanking interface for embedded memory applications
US6751113B2 (en) * 2002-03-07 2004-06-15 Netlist, Inc. Arrangement of integrated circuits in a memory module
US7254690B2 (en) * 2003-06-02 2007-08-07 S. Aqua Semiconductor Llc Pipelined semiconductor memories and systems
US7139213B2 (en) 2003-06-02 2006-11-21 Silicon Aquarius, Inc. Multiple data path memories and systems
US7707330B2 (en) * 2003-09-18 2010-04-27 Rao G R Mohan Memories for electronic systems
US20050018495A1 (en) * 2004-01-29 2005-01-27 Netlist, Inc. Arrangement of integrated circuits in a memory module
KR100632946B1 (ko) * 2004-07-13 2006-10-12 삼성전자주식회사 불 휘발성 메모리 장치 및 그것의 프로그램 방법
US7755961B2 (en) * 2006-07-07 2010-07-13 Rao G R Mohan Memories with selective precharge
US7724593B2 (en) * 2006-07-07 2010-05-25 Rao G R Mohan Memories with front end precharge
US7995409B2 (en) * 2007-10-16 2011-08-09 S. Aqua Semiconductor, Llc Memory with independent access and precharge
US8095853B2 (en) 2007-10-19 2012-01-10 S. Aqua Semiconductor Llc Digital memory with fine grain write operation
US8521951B2 (en) * 2008-01-16 2013-08-27 S. Aqua Semiconductor Llc Content addressable memory augmented memory
US20090182977A1 (en) * 2008-01-16 2009-07-16 S. Aqua Semiconductor Llc Cascaded memory arrangement
US8050080B2 (en) * 2008-03-05 2011-11-01 S. Aqua Semiconductor Llc Random access memory with CMOS-compatible nonvolatile storage element in series with storage capacitor
US8000140B2 (en) * 2008-03-24 2011-08-16 S. Aqua Semiconductor, Llc Random access memory with CMOS-compatible nonvolatile storage element
US7885110B2 (en) * 2008-03-25 2011-02-08 Rao G R Mohan Random access memory with CMOS-compatible nonvolatile storage element and parallel storage capacitor
US7916572B1 (en) 2008-07-28 2011-03-29 Altera Corporation Memory with addressable subword support
JP5165630B2 (ja) * 2009-04-09 2013-03-21 京セラコネクタプロダクツ株式会社 コネクタ
US9384824B2 (en) * 2012-07-10 2016-07-05 Hewlett Packard Enterprise Development Lp List sort static random access memory
US10020036B2 (en) * 2012-12-12 2018-07-10 Nvidia Corporation Address bit remapping scheme to reduce access granularity of DRAM accesses
US9824024B1 (en) * 2014-10-31 2017-11-21 Altera Corporation Configurable storage blocks with embedded first-in first-out and delay line circuitry

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5943786B2 (ja) * 1979-03-30 1984-10-24 パナフアコム株式会社 記憶装置のアクセス方式
US4292674A (en) * 1979-07-27 1981-09-29 Sperry Corporation One word buffer memory system
US4758993A (en) * 1984-11-19 1988-07-19 Fujitsu Limited Random access memory device formed on a semiconductor substrate having an array of memory cells divided into sub-arrays
US4894770A (en) * 1987-06-01 1990-01-16 Massachusetts Institute Of Technology Set associative memory
US5226147A (en) * 1987-11-06 1993-07-06 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device for simple cache system
JP2777247B2 (ja) * 1990-01-16 1998-07-16 三菱電機株式会社 半導体記憶装置およびキャッシュシステム
JP2938511B2 (ja) * 1990-03-30 1999-08-23 三菱電機株式会社 半導体記憶装置
JP2862948B2 (ja) * 1990-04-13 1999-03-03 三菱電機株式会社 半導体記憶装置
US5269010A (en) * 1990-08-31 1993-12-07 Advanced Micro Devices, Inc. Memory control for use in a memory system incorporating a plurality of memory banks
EP0492776B1 (en) * 1990-12-25 1998-05-13 Mitsubishi Denki Kabushiki Kaisha A semiconductor memory device with a large storage capacity memory and a fast speed memory
JPH04307495A (ja) * 1991-04-04 1992-10-29 Mitsubishi Electric Corp 半導体記憶装置
US5680570A (en) * 1991-06-12 1997-10-21 Quantum Corporation Memory system with dynamically allocatable non-volatile storage capability
DE69324508T2 (de) * 1992-01-22 1999-12-23 Enhanced Memory Systems Inc DRAM mit integrierten Registern
JP3304413B2 (ja) * 1992-09-17 2002-07-22 三菱電機株式会社 半導体記憶装置
JP3305056B2 (ja) * 1993-08-31 2002-07-22 沖電気工業株式会社 ダイナミックram
US5761694A (en) * 1995-11-30 1998-06-02 Cirrus Logic, Inc. Multi-bank memory system and method having addresses switched between the row and column decoders in different banks
US5787457A (en) * 1996-10-18 1998-07-28 International Business Machines Corporation Cached synchronous DRAM architecture allowing concurrent DRAM operations
US5835932A (en) * 1997-03-13 1998-11-10 Silicon Aquarius, Inc. Methods and systems for maintaining data locality in a multiple memory bank system having DRAM with integral SRAM

Also Published As

Publication number Publication date
ATE242536T1 (de) 2003-06-15
WO1998040891A1 (en) 1998-09-17
EP0966741B1 (en) 2003-06-04
EP0966741A1 (en) 1999-12-29
US5835932A (en) 1998-11-10
US5890195A (en) 1999-03-30
DE69815308D1 (de) 2003-07-10
TW389903B (en) 2000-05-11
JP2001525086A (ja) 2001-12-04

Similar Documents

Publication Publication Date Title
KR20000076226A (ko) Sram과 dram을 포함하는 메모리 및 메모리를 사용하는 시스템 및 방법
US5953738A (en) DRAM with integral SRAM and arithmetic-logic units
US7418526B2 (en) Memory hub and method for providing memory sequencing hints
US6510098B1 (en) Method and apparatus for transferring data in a dual port memory
US6504785B1 (en) Multiprocessor system with integrated memory
US7945737B2 (en) Memory hub with internal cache and/or memory access prediction
US7260015B2 (en) Memory device and method having multiple internal data buses and memory bank interleaving
KR100494201B1 (ko) 메모리시스템,i/o서브시스템장치,및메모리장치를동작시키는방법
US7533213B2 (en) Memory hub and method for memory system performance monitoring
JP2968486B2 (ja) メモリ、メモリサブシステム、メモリ装置およびメモリシステムアドレス方法
US5752260A (en) High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses
JP2001516118A (ja) 短待ち時間dramセルおよびその方法
US7386689B2 (en) Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner
US6256256B1 (en) Dual port random access memories and systems using the same
US6256221B1 (en) Arrays of two-transistor, one-capacitor dynamic random access memory cells with interdigitated bitlines
US5963468A (en) Low latency memories and systems using the same
US6222786B1 (en) Dynamic random access memory with write-without-restore and systems and methods using the same
JPS5832427B2 (ja) 多重情報処理システム
JPH0438014B2 (ko)
US6425020B1 (en) Systems and methods for passively transferring data across a selected single bus line independent of a control circuitry

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application