KR100350525B1 - 공유 메모리 - Google Patents

공유 메모리 Download PDF

Info

Publication number
KR100350525B1
KR100350525B1 KR1020000006532A KR20000006532A KR100350525B1 KR 100350525 B1 KR100350525 B1 KR 100350525B1 KR 1020000006532 A KR1020000006532 A KR 1020000006532A KR 20000006532 A KR20000006532 A KR 20000006532A KR 100350525 B1 KR100350525 B1 KR 100350525B1
Authority
KR
South Korea
Prior art keywords
memory
shared memory
copy
bus
port
Prior art date
Application number
KR1020000006532A
Other languages
English (en)
Other versions
KR20000076648A (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 KR20000076648A publication Critical patent/KR20000076648A/ko
Application granted granted Critical
Publication of KR100350525B1 publication Critical patent/KR100350525B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Static Random-Access Memory (AREA)
  • Dram (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

공유메모리는 다수개의 다중포트 메모리를 포함하며 각 다중포트 메모리는 복사버스(copybus) 기능을 갖는 적어도 하나의 포트와 사용자 측에서 엑세스할 수 있는 적어도 하나의 포트를 갖는다. 적어도 하나의 복사버스는 복사버스 기능을 갖는 포트들 중 어느 하나와 연결된다. 공유메모리는 다중포트 메모리들 중 하나의 내용을 적어도 하나의 복사버스를 통하여 다른 다중포트 메모리로 복사한다. 피복사 다중포트 메모리는 사용자 측의 쓰기 동작에 의해 변경된다.

Description

공유 메모리 { SHARED MEMORY }
본 발명은 병렬 데이터 처리 시스템, 인공지능 시스템 혹은 멀티미디어 시스템과 같은 전자 시스템용 데이터 처리 서브시스템에 내장되는 공유 메모리에 관한 것이다.
알려진 바와 같이 데이터 처리 서브시스템들은 복잡한 계산들 및/또는 복잡한 사용자 서비스들을 동시에 수행한다. 장래, 이와 같은 늘어난 대수의 서브시스템을 통합하는 방향으로 시스템들의 개발이 진행될 것으로 예상된다.
도 1에 도시된 것처럼, 공유 메모리(3)를 버스 시스템, 크로스바 스위치, 광결합 공통메모리(optically coupled common memory: OCCM) 등의 형태로 구비하는 시스템들이 있다. 공유 메모리는 사용자들(1)측으로부터 처리기, 데이터 처리 서브시스템 등의 형태로 포트 (2-1)에서 (2-n)까지를 통하여 엑세스할 수 있다. 이 경우, 공유 데이터나 프로그램 베이스에 대한 엑세스가 모든 서브시스템과 독립적으로, 병렬로 그리고 높은 엑세스 비트율로 허용되는 것이 요구된다.
지금까지 하나의 칩 안에 한 개 이상의 시스템을 형성하는 데 적합한 효과적인 집적 기술이 실현된 바가 없기 때문에, 많은 수의 포트들과 높은 엑세스 비트율을 갖는 공유 메모리의 개발에 대한 절박한 필요성이 있을 것이다. 이는 과거에는 특별히 주목받지 못했다. 그러나 이 경우 위에서 언급한 요구조건이 충분히 만족되지 못한다는 점에서, 약점은 복수개의 실행 기능을 갖는 대형 컴퓨터에 특히 더 두드러질 것이다. 그와 같은 잠재적인 불이익을 제거하는 다양한 해결책들이 알려져 있으며, 예컨대 캐쉬 메모리, 뱅킹 기술, 크로스 바, 버스 시스템 등이 그것이다.
알려진 해결책들은 대형 컴퓨터의 디자인으로부터 알려진 기술들에 주로 의존하며, 그래서 설계 자유도를 제한하는 몇 가지 경계조건들이 존재하게 된다. 그러한 경계조건들 중의 하나가 바로 컴퓨터 시스템의 설계에 있어서 상용의 반도체 부품을 사용하는 것이다. 그러므로 이와 같은 경계조건으로는, 기본요소로서 종래의 1-포트 메모리에 의거하여 컴퓨터 시스템이 구성되도록 한다.
종래에는, 하나의 기판에 집적된 시스템에 있어서 공유 데이터나 프로그램 베이스에 대한 접근을 모든 서브시스템에 대해 독립적으로, 병렬로 그리고 높은 엑세스 비트율로 허용하기 위한 접근으로서, 대형 컴퓨터 시스템 분야에서 알려진 기술을 집적회로의 경우에 적용하는 것이다.
도 2는 앞서 언급한 종래의 접근방법에 따른 시스템의 기본 구조를 보여주는데, 여기서 공유메모리는 복수의 포트를 갖는 다중포트 메모리로서 구성된다. 이 시스템은 사용자가 엑세스 가능한 포트(4-1, 4-2, 4-3, ..., 4-k-2, 4-k-1, 4-k, 여기서 숫자 k는 2보다 작지 않음); 단일포트 메모리들 (5-1, 5-2, 5-3, ..., 5-m-1, 5-m, 여기서 숫자 m은 2보다 작지 않음); 그리고 버스 시스템, 크로스바 스위치, 다단 상호접속망(multi-stage interconnecting network)의 형태의 스위칭 망(6)을 포함하며, 상기 스위칭망은 스위칭 동작을 수행하여 상기 포트들(4-1, 4-2, 4-3, ..., 4-k-2, 4-k-1, 4-k) 중 어떤 것을 상기 단일포트 메모리들 (5-1, 5-2, 5-3, ..., 5-m-1, 5-m) 중 어느 하나에 연결해준다.
캐쉬 메모리를 채용하는 기술 혹은 뱅킹 방법은 주로 단일 포트 메모리의 엑세스 비트율을 증가시키기 위해 적용된다. 특히 DRAM의 경우 와이 니타 등(Y. Nitta et al.)의 "A 1.6 GB/s Data Rate 1 GB Synchronous DRAM with Hierarchical Square-Shaped Memory Block and Distributed Bank Architecture" ISSCC Dig. of Tech. Papers, pp. 376-377, 1996.을 참조.
캐쉬메모리는 고속 버퍼 메모리로서 저속 메모리와 사용자 단말기 사이의 연결부위에 배치되며 이는 도 2의 스위칭망(6)의 전후가 된다. 상기 캐쉬 메모리는 내부데이터의 복사로 충진되어 다음 번 엑세스 주기에 엑세스될 수도 있다. 이 때문에 캐쉬메모리에 충진되어야 할 데이터를 선택할 때 어떤 특별한 알고리즘이 활용되며 그 알고리즘은 시스템 그 자체의 응용에 따라 좌우된다.
상기 뱅킹 방법은 버스를 통해 전해지는 데이터의 전송속도가 메모리 엑세스의 그것에 비해 훨씬 더 높다는 사실에 근거하여 수행된다. 그러므로 복수의 메모리 블록으로부터 실질적으로 병렬적으로 데이터를 읽는 것, 도중에 고속 레지스터에 데이터를 저장하는 것, 그리고 상기 데이터를 외부의 사용자 단말기에 하나 이상의 고속 데이터 버스를 통해 순차적으로 전달하는 것이 가능하다. 이와 같은 방식으로, 상기 데이터는 엑세스 시간보다 더 짧은 시간 내에 상기 메모리로부터 끄집어낼 수 있다. 이 경우, 대기시간 즉, 데이터의 요청에서 상기 데이터의 전달까지 필요한 시간을 고려할 필요가 있으며, 상기 시간은 정상적으로는 상기 엑세스 시간보다 더 길다. 그러나, 상기 뱅킹 방법은 순차적으로 요청된 데이터가 서로 다른 메모리 블록에 저장되어 있는 때에만 만족스러운 형태로 수행된다. 이전의 엑세스가 아직 완료되지 않은 그러한 메모리 블록에 대하여 엑세스가 필요하다면, 후순위 엑세스는 거절되거나 지연되어야 한다.
스위칭망(6)은 주로 상기 크로스바 스위치 혹은 다단 망으로 구현된다. 크로스바 스위치를 갖는 종래의 공유메모리에 적용된 하나의 예가 K, Guttag, R. J. Gove와 J. R. Van Aken의 "A Single-Chip Multiprocessor for Multimedia: The MVP", IEEE Computer Graphics App., vol. 12, pp. 53-64 등에 나와 있다.
그러나, 상기 종래의 공유메모리는 도 2에 도시된 것처럼 다음과 같은 제한을 갖는다.
(i) 포트(4-1, 4-2, 4-3, ..., 4-k-2, 4-k-1, 4-k)의 수가 비교적 적으며 통상 10기 이하이다.
(ii) 단일포트 메모리(5-1, 5-2, 5-3, ..., 5-m-1, 5-m)의 수는 비교적 작다.
단일포트 메모리의 숫자가 비교적 작은 탓에, 특히 엑세스 충돌이 일어나 엑세스 비트율이 낮아지기도 한다. 그 결과 단일포트 메모리(5-1, 5-2, 5-3, ..., 5-m-1, 5-m)의 수는 가능한 한 많이 만드는 것이 바람직하다.
어떤 이는 각 메모리 셀이 필요로 하는 포트 수를 늘임으로써 그러한 문제가 직접적이고도 기꺼이 해결될 지도 모른다고 생각한다. 그러나 이 경우, 많은 수의 디코더가 상기 셀들의 각 어레이의 폭 내에 수용되어야 한다는 점에서, 뿐만 아니라 상기 셀들이 차지하는 영역이 상기 포트의 수가 증가함에 따라 증대된다는 점에서, 공유메모리의 레이아웃과 관련하여 또 다른 어려움도 생겨날 수 있다.
더구나, 상기 공유메모리는 가능한 한 콤팩트하고 단순하여야 하며, 가능한 한 전력 소모량이 낮아야 한다.
본 발명은 사용자 측에서 엑세스할 수 있는 포트 수를 증대시킴과 동시에 높은 엑세스 비트율로 동작 가능한 공유메모리를 제공하는 것을 그 목적으로 한다.
본 발명의 다른 목적은, 아주 콤팩트하게 만들 수 있는 공유메모리를 제공하는 것이다.
본 발명의 또 다른 목적은, 구조가 간단한 공유메모리를 제공하는 것이다.
본 발명의 또 다른 목적은, 효율적인 배치와 좁은 면적을 차지하는 공유메모리를 제공하는 것이다.
본 발명의 또 다른 목적은, 현저하게 줄어든 전력소비량을 갖는 공유메모리를 제공하는 것이다.
본 발명에 따른 공유메모리의 실시예는 첨부되는 도면을 참조하여 이하에서 설명될 것이며 특히 비슷한 파트는 비슷한 사인으로 표시된다.
도 1은 종래의 공유 메모리를 갖는 시스템을 보여주는 구성도 이다.
도 2는 통상적인 공유메모리를 도시하는 구성도 이다.
도 3은 본 발명에 따른 공유메모리의 일 실시예를 보여주는 구성도 이다.
도 4는 내부 버스와 외부 버스를 설명하는 구성도 이다.
도 5는 도 4의 상세도 이다.
** 도면의 주요부분에 대한 부호의 설명 **
4-1, 4-2, 4-3, 4-k, 4-k-1, 4-k-2: 포트
5-1, 5-2, 5-m, 5-m-1: 단일포트 메모리
6: 스위칭망
11-1, 11-2, ..., 11-p: 다중포트 메모리
12-1, ..., 12-q: 복사버스
13-1, 13-2, 13-3, ..., 13-p-1: 메모리 필드
14-1, 14-2, 14-3, ..., 14-p-1, 14-p: 행 버퍼
15-2, 15-3, ..., 15-p-1, 15-p: 출력버퍼
16-1, 16-2, 16-3, ..., 16-p-1, 16-p: 단위 메모리 셀
본 발명에 따르면, 각각이 복사버스 기능을 가지는 적어도 하나의 포트와 사용자 측에서 엑세스할 수 있는 적어도 하나의 포트를 갖는 복수개의 다중포트 메모리; 및 상기 복사버스 기능을 갖는 적어도 하나의 포트에 연결되는 적어도 하나의 복사버스를 구비하는 공유메모리로서, 특히 상기 공유메모리는 상기 사용자 측의 쓰기 동작에 의해 변화된 상기 다중포트 메모리들 중 하나의 저장내용을 적어도 하나의 복사버스를 통해 다른 다중포트 메모리로 복사하도록 구성된 것을 특징으로 한다.
상기 발명에 따른 위와 같은 구성을 취하면, 복수개의 다중포트 메모리들이 사용되며 이들 다중포트 메모리들 간의 내용 일치성이 지켜진다. 그러므로, 하나의 다중포트 메모리가 상기 공유메모리로서 사용되는 경우에 비해, 사용자 측에서 엑세스할 수 있는 포트 수를 늘리는 것이 가능하다. 또한, 복수의 복사버스가 이용되므로 상기 공유메모리는 높은 엑세스 비트율로 동작할 수 있게 된다.
본 발명에 따른 상기 공유메모리는 통상적인 집적회로기술로 만들 수 있다. 이 경우, 가능한 한 콤팩트하게 만들어지는 공유메모리를 실현할 수 있다. 집적회로기술은 상기 공유메모리의 구성을 단순하게 해주는 2차원 집적회로기술이 될 수 있다. 다른 대안으로는, 상기 집적회로기술은 상기 공유메모리의 점유면적이 매우 효과적으로 이용되도록 해주는 3차원 집적회로기술이 될 수 있다.
본 발명에 따른 상기 공유메모리는 상기 저장내용을 전자적으로 복사할 수 있으며 나아가 상기 저장내용을 광학적으로 복사하는 것이 더 바람직하다. 상기 내용이 광학적으로 복사될 때, 상기 시스템을 전력소모량을 낮게 가져가면서 높은 엑세스 비트율로 동작시킬 수 있다.
본 발명의 바람직한 다양한 실시예들을 첨부된 도면을 참조하여 상세히 기술한다.
도 3은 본 발명에 따른 공유메모리의 일 실시예를 보여주는 구성도 이다. 상기 공유 메모리는 다중포트 메모리(11-1, 11-2, ..., 11-p, 단 숫자 p는 2보다 작지 않은 수임)와 복사버스(12-1, ..., 12-q, 단 숫자 q는 저장내용의 일치성을 보장이라는 필요성에 따라 선택되는 값임)를 구비한다. 상기 공유메모리는 3차원 집적기술로 형성된다. 각 다중포트 메모리(11-1, 11-2, ..., 11-p)는 k개(단 2보다 작지 않은 수임)의 포트를 갖는다. 이들 포트들 중 q개의 포트는 복사버스 기능을 가지며, q개의 포트들 중 어느 하나는 각각의 복사버스(12-1, ..., 12-q)에 연결된다. q개의 포트를 제외한 나머지 전체 k-q개의 포트들은 사용자 측에서 엑세스할 수 있다. 그러므로, 각 다중포트 메모리(11-1, 11-2, ..., 11-p)에 대하여, k-q개의 포트들은 상기 사용자 측으로부터 엑세스할 수 있으며, 따라서 합계 n=p(k-q)개의 포트를 사용자 측에서 엑세스할 수 있다. 그 결과 도 3에 도시된 바와 같이 상기 공유메모리는 n개의 포트를 갖는 다중포트 메모리로 만들 수 있다.
각 다중포트 메모리(11-1, 11-2, ..., 11-p)는 이미 알려진 다중포트 메모리를 이용하여 구성될 수도 있다. 각 복사버스(12-1, ..., 12-q)는 JP-A-61-3450호에 개시된 바와 같은 내부 복사버스로서 구현될 수 있을 뿐만 아니라 외부 복사버스로서도 구현될 수 있다. 바람직하게는 내부 복사버스를 통하여, 다중포트 메모리(11-1, 11-2, ..., 11-p)들 중 하나의 저장내용이 JP-A-61-3450호에 개시된 바와 같이 광학적으로 복사된다. 또한 외부 복사버스를 통해, 상기 내용은 전자적으로 혹은 광학적으로 복사될 수 있다. 그러나 전력소모량과 높은 엑세스 비트율을 갖는 공유메모리의 동작이라는 관점에서 볼 때, 상기 저장내용을 광학적으로 복사하는 것이 바람직하다. 만약 상기 저장내용의 복사속도와 엑세스 비트율을 가능한 한 높이려 한다면 상기 복사기능을 갖는 포트의 수를 나타내는 q의 값이 가능한 한 커야 한다. 한편, 사용자의 숫자를 높이고자 하면 사용자 측에서 엑세스할 수 있는 포트수 k-q가 가능하면 큰 값이어야 한다. 환언하면, 숫자 q는 가능한 한 작은 값이어야 한다. 내부 복사버스와 외부 복사버스의 의미는 아래에서 설명될 것이다. 상기 저장내용의 일치성을 보장하기 위한 복사처리를 위해 가용한 대역폭은 복사버스의 개수 q에 의해 결정되며, 그것은 시스템의 필요에 따라 선택될 수 있다.
도 4는 상기 내부 버스와 외부 버스를 설명하는 구조도이고, 도 5는 도 4의 상세도 이다. 도 4와 5에서, 상기 복사버스(12-1)는 내부 버스이고, 상기 복사버스(12-q)는 외부 버스이다. 상기 내부 버스는 상기 복사버스 기능을 갖는 내부 포트에 접속된다. 예컨대, 다중포트 메모리(11-1, 11-2, ..., 11-p)는 각각 메모리 필드(13-1, 13-2, 13-3, ..., 13-p-1, 13-p); 행(row) 버퍼(14-1, 14-2, 14-3, ..., 14-p-1, 14-p); 그리고 출력버퍼(15-1, 15-2, 15-3, ..., 15-p-1, 15-p)로 구성된다. 각 단위 메모리 셀(16-1, 16-2, 16-3, ..., 16-p-1, 16-p)의 각 메모리 필드(13-1, 13-2, 13-3, ..., 13-p-1 또는 13-p)의 레벨에서 다중포트 메모리(11-1, 11-2, ..., 11-p)에 접속되는 내부 포트를 구현하는 것이 가능하다. 이 경우, 상기 내부포트는 상기 복사버스(12-1)에 연결되며; 각 행 버퍼(14-1, 14-2, 14-3, ..., 14-p-1, 14-p)의 레벨의 경우에는 상기 내부 포트는 상기 복사버스(12-2)에 상기 내부 복사버스로서 연결되며; 각 출력버퍼(15-1, 15-2, 15-3, ..., 15-p-1, 15-p)의 레벨에서는 상기 내부 포트는 상기 복사버스(12-3)가 상기 내부 복사버스로서 연결된다. 한편, 상기 외부 복사버스는 상기 복사버스 기능을 가지며 그리고/또는 사용자 측에서 적어도 하나의 포트로서 기능하는 적어도 하나의 외부포트에 연결된다.
데이터는 상기 n개의 포트 각각을 통해 병렬적으로 혹은 독립적으로 상기 공유메모리에 기록되거나 혹은 상기 공유메모리로부터 독출된다. n개의 상기 포트 각각은 일반적으로 Wi비트의 워드길이를 갖는다. 각 복사버스(12-1, ..., 12-q)는 Wc 비트의 워드길이를 가지며 이는 대응하는 복사버스에 연결되는 포트의 그것과 같다.
상기 복사버스(12-1, ..., 12-q)가 필요한 이유는 각각의 다중포트 메모리(11-1, 11-2, ..., 11-p)에 저장되는 상기 데이터의 동일성(identity)이 유지되어야 하기 때문에, 환언하면 데이터 일치성이 유지되어야 하기 때문이다. 그러므로, 상기 데이터가 상기 다중포트 메모리로부터 읽혀지는 한 상기 복사버스는 필요치 않다. 만약 상기 다중포트 메모리들(11-1, 11-2, ..., 11-p) 중 어느 하나에 저장되어 있는 하나 이상의 데이터 비트가 사용자 측의 기록 동작 때문에 변한다면, 다른 다중포트 메모리에 있는 대응하는 하나 이상의 비트는 갱신되어야 한다.
상기 변경된 데이터 비트를 갱신하는 복사처리는 아래의 단계에서 수행된다.
(a) 상기 변경된 데이터 비트는 상기 다중포트 메모리로부터 독출되고 상기 다중포트 메모리의 접속은 복사버스(12-1, ..., 12-q)들 중 어느 하나로 변경된다.
(b) 이후 상기 데이터 비트는 임의의 상기 복사버스들로부터 다른 다중포트 메모리로 병렬적으로 기록된다. 상기 병렬 쓰기동작은 상기 복사버스가 모든 다른 다중포트 메모리에 연결되어 있기 때문에 가능하다.
변경된 데이터 비트의 수와 각 복사버스(12-1, ..., 12-q)의 워드길이에 따라서 하나 혹은 여러 개의 클럭주기가 복사처리에서 필요하다. 상기 복사버스(12-1, ..., 12-q)의 개수와 워드길이 선택은 상기 다중포트 메모리의 대표적인 동작조건에 의해 결정된다. 즉, 상기 복사처리에 필요한 데이터 율은 사용자 측에서 수행하는 쓰기 동작이 수행되는 주파수에 의존한다. 물론, 상기 복사처리 동안에 하나 이상의 외부 사용자 포트로부터의 상기 복사 처리에 관련되는 메모리 비트를 사용하는 것은 불가능하다. 그러므로, 사용자 측에서 이들 메모리 비트로의 엑세스는 상기 복사 처리 동안에는 차단되어야 한다.
상기 복사 처리는 복사처리관리 유닛(비도시)에 의해 제어되어야 한다. 상기 복사처리관리 유닛은 아래의 일들을 수행해야 한다.
(A) 사용자 측으로부터의 쓰기 동작의 검출
(B) 상기 복사처리 동안에 상기 사용자 측으로부터 엑세스를 위해 하나 이상의 관련된 메모리 위치의 차단
(C) 상기 언급된 복사처리에서 상기 단계 (a)와 (b)를 수행하는 것
상기 복사처리관리 유닛은 소프트웨어적으로 또는 특별한 하드웨어 회로로 구현될 수 있다.
상기 실시예에 따르면, 복수의 다중포트 메모리들이 사용되고 이들 다중포트 메모리간의 저장내용 일치성이 유지된다. 그러므로 하나의 다중포트 메모리가 상기 공유메모리로서 사용되는 경우에 비해, 사용자 측에서 엑세스할 수 있는 포트 수를 증대시키는 것이 가능하다. 또한, 상기 공유메모리는 높은 엑세스 비트율로 동작할 수 있다. 왜냐하면 복수의 복사버스들이 사용될 수 있고 따라서 엑세스 다툼이 거의 일어나지 않는다.
상기 저장내용이 광학적으로 복사되므로 높은 엑세스 비트율로 그리고 저소비전력으로 상기 시스템을 작동하는 것이 가능하다. 만약 상기 저장내용이 광학적으로 복사되면, 비트율은 상기 저장내용이 전자적으로 복사되는 경우에 비해 배는 될 것이다.
더구나, 3차원 집적기술로 형성된 상기 공유메모리는 그것의 점유면적이 2차원 집적기술로 형성된 상기 공유메모리의 그것에 비해 매우 효율적으로 사용하는 것이 가능해진다.
만약 유효 저장용량, 물리적 저장용량 및 상기 공유메모리의 수가 각각 SCe, SCp 및 N이라 하고, 상기 공유 메모리 구성블록 내에서 사용자 측이 엑세스할 수 있는 포트 수는 n이하 한다면, 다음의 관계가 수립된다. 여기서 상기 공유메모리 구성블럭은 본 발명의 경우에는 상기 다중포트 메모리에 해당하고 앞서 언급한 JP-A-61-3450에 개시된 것으로는 상기 공유메모리내의 단일포트 메모리에 해당되는 것이다.
SCe=nSCp/N
그 결과 만약 통상적인 방식처럼 n이 1이면 유효 저장용량 SCe가 상기 물리적 저장용량 SCp보다 더 작은 것이 불리하다. 그렇지만 본 발명에 따르면 그러한 문제점은 n이 1보다 더 클 수 있으므로 경감된다.
이상에서는 바람직한 실시예를 참조하여 본 발명이 설명되었지만, 그것은 단지 예시적인 방법으로 표현된 것이고 본 발명의 사상을 일탈하지 않는 범위 내에서다양한 변형이 가능함은 본 발명이 속하는 기술 분야의 당업자라면 명확히 인지할 수 있을 것이다. 예컨대 모든 다중포트 메모리들은 앞서 언급한 실시예에서는 동일한 개수의 포트를 가지지만, 상기 다중포트 메모리가 적어도 하나의 포트를 구비하고 상기 다중포트 메모리의 하나 혹은 그 각각이 복사버스 기능을 가지며 사용자 측에서 엑세스할 수 있는 적어도 하나의 포트를 구비하는 한, 모든 다중포트 메모리들이 동일한 개수의 포트를 가질 필요는 없다.
본 발명에 따른 상기 공유메모리는 단지 적어도 하나의 내부 복사버스 및/또는 적어도 하나의 외부 복사버스를 구비하면 된다. 본 발명에 따른 상기 공유메모리는 앞서 언급된 실시예에서 3차원 집적기술로 형성하는 대신에 2차원 집적기술로 간단히 형성할 수도 있다.
상기 공유메모리는 본 발명에 따른 상기 공유메모리를 계속적으로 사용하므로써 사용자 측에서 엑세스할 수 있는 많은 수의 포트를 가질 수 있다. 원칙적으로, 도 3에 도시된 것처럼 각 다중포트 메모리(11-1, 11-2, ..., 11-p)는 본 발명에 따른 공유메모리로 구성될 수 있다. 그 공유메모리는 복수의 다중포트 메모리를 구비하며 각 다중포트 메모리는 이들 다중포트 메모리의 그것에 비해 더 작은 수의 포트를 갖는다.

Claims (5)

  1. 각각이 복사버스 기능을 가지는 적어도 하나의 포트와 사용자 측에서 엑세스할 수 있는 적어도 하나의 포트를 갖는 복수개의 다중포트 메모리; 및
    상기 복사버스 기능을 갖는 적어도 하나의 포트에 연결되는 적어도 하나의 복사버스를 구비하며,
    특히 상기 사용자 측의 쓰기 동작에 의해 변화된 상기 다중포트 메모리들 중 어느 하나의 저장내용을 적어도 하나의 복사버스를 통해 다른 다중포트 메모리로 복사하도록 구성된 것을 특징으로 하는 공유메모리.
  2. 제 1항에 있어서, 상기 저장내용은 광학적으로 복사되도록 변형되는 것을 특징으로 하는 공유메모리.
  3. 제 1항 또는 제 2항에 있어서, 상기 공유메모리는 집적회로기술에 의해 형성되는 것을 특징으로 하는 공유메모리.
  4. 제 3항에 있어서, 상기 집적회로기술은 2차원 집적회로기술인 것을 특징으로 하는 공유메모리.
  5. 제 3항에 있어서, 상기 집적회로기술은 3차원 집적회로기술인 것을 특징으로하는 공유메모리.
KR1020000006532A 1999-02-12 2000-02-11 공유 메모리 KR100350525B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP11033753A JP2000231546A (ja) 1999-02-12 1999-02-12 共有メモリ
JP?11-33,753 1999-02-12

Publications (2)

Publication Number Publication Date
KR20000076648A KR20000076648A (ko) 2000-12-26
KR100350525B1 true KR100350525B1 (ko) 2002-08-28

Family

ID=12395197

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000006532A KR100350525B1 (ko) 1999-02-12 2000-02-11 공유 메모리

Country Status (6)

Country Link
US (1) US6874068B1 (ko)
EP (1) EP1033722B1 (ko)
JP (1) JP2000231546A (ko)
KR (1) KR100350525B1 (ko)
DE (1) DE60007010T2 (ko)
TW (1) TW436868B (ko)

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS613450A (ja) 1984-06-18 1986-01-09 Hiroshima Daigaku 三次元光結合共有メモリ集積装置
US5590349A (en) * 1988-07-11 1996-12-31 Logic Devices, Inc. Real time programmable signal processor architecture
JPH03100991A (ja) 1989-09-14 1991-04-25 Hitachi Ltd 共有メモリ
GB9008366D0 (en) * 1990-04-12 1990-06-13 British Aerospace Data interaction architecture(dia)for real time embedded multi processor systems
WO1992002885A1 (en) * 1990-08-06 1992-02-20 Epic Industries Incorporated Processing element for a multi-processor digital computing system
SE9202182D0 (sv) * 1991-07-18 1992-07-16 Tandem Telecomm Syst Mirrored memory multi processor system
JPH05282869A (ja) 1992-03-31 1993-10-29 Nec Corp 半導体記憶装置
US6021472A (en) * 1995-08-21 2000-02-01 Canon Kabushiki Kaisha Information processing device and control method thereof
US6223260B1 (en) * 1996-01-25 2001-04-24 Unisys Corporation Multi-bus data processing system in which all data words in high level cache memories have any one of four states and all data words in low level cache memories have any one of three states
US5802561A (en) * 1996-06-28 1998-09-01 Digital Equipment Corporation Simultaneous, mirror write cache
US6170046B1 (en) * 1997-10-28 2001-01-02 Mmc Networks, Inc. Accessing a memory system via a data or address bus that provides access to more than one part
US6480927B1 (en) * 1997-12-31 2002-11-12 Unisys Corporation High-performance modular memory system with crossbar connections
US6148375A (en) * 1998-02-13 2000-11-14 International Business Machines Corporation Hierarchical bus simple COMA architecture for shared memory multiprocessors having a bus directly interconnecting caches between nodes
US6321298B1 (en) * 1999-01-25 2001-11-20 International Business Machines Corporation Full cache coherency across multiple raid controllers
US6434674B1 (en) * 2000-04-04 2002-08-13 Advanced Digital Information Corporation Multiport memory architecture with direct data flow

Also Published As

Publication number Publication date
TW436868B (en) 2001-05-28
US6874068B1 (en) 2005-03-29
EP1033722A3 (en) 2001-05-23
KR20000076648A (ko) 2000-12-26
DE60007010T2 (de) 2004-09-09
EP1033722A2 (en) 2000-09-06
DE60007010D1 (de) 2004-01-22
JP2000231546A (ja) 2000-08-22
EP1033722B1 (en) 2003-12-10

Similar Documents

Publication Publication Date Title
US5677864A (en) Intelligent memory architecture
US7680968B2 (en) Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM)
US5367494A (en) Randomly accessible memory having time overlapping memory accesses
JP4493116B2 (ja) 読み取り/書き込みアドレスバスを有するランダムアクセスメモリ並びに同メモリへの書き込み及び同メモリからの読み取り方法
EP0646927A1 (en) Plural port memory system
CN101751980B (zh) 基于存储器知识产权核的嵌入式可编程存储器
WO1998043176A1 (en) Shared reconfigurable memory architectures for digital signal processing
US5388072A (en) Bit line switch array for electronic computer memory
EP0166309A2 (en) Memory chip for a hierarchical memory system
JP2002109884A (ja) メモリ装置
EP0646925A2 (en) Fully scalable memory apparatus
WO2001075607A2 (en) Multi-tiered memory bank having different data buffer sizes with a programmable bank select
US7355917B2 (en) Two-dimensional data memory
JPH0738170B2 (ja) ランダム・アクセス・メモリ装置
JPH0438014B2 (ko)
KR100350525B1 (ko) 공유 메모리
US6961280B1 (en) Techniques for implementing address recycling in memory circuits
US6901490B2 (en) Read/modify/write registers
JPH04229488A (ja) 仮想マルチポートram構造
JPH07182849A (ja) Fifoメモリ
JPH11143763A (ja) アクセスコンフリクトの処理回路装置
AU673069B2 (en) Intelligent memory architecture
JP3074897B2 (ja) メモリ回路
JP3120930B2 (ja) データ記憶装置
JPS59122119A (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: 20120727

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20130729

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 17