KR101378152B1 - 공유 메모리 장치 - Google Patents

공유 메모리 장치 Download PDF

Info

Publication number
KR101378152B1
KR101378152B1 KR1020060085206A KR20060085206A KR101378152B1 KR 101378152 B1 KR101378152 B1 KR 101378152B1 KR 1020060085206 A KR1020060085206 A KR 1020060085206A KR 20060085206 A KR20060085206 A KR 20060085206A KR 101378152 B1 KR101378152 B1 KR 101378152B1
Authority
KR
South Korea
Prior art keywords
memory
wiring
processing module
private
delete delete
Prior art date
Application number
KR1020060085206A
Other languages
English (en)
Other versions
KR20070026275A (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 KR20070026275A publication Critical patent/KR20070026275A/ko
Application granted granted Critical
Publication of KR101378152B1 publication Critical patent/KR101378152B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/025Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Dram (AREA)

Abstract

메모리까지의 배선을 간단화 할 수 있고, 면적 증가와 장거리 배선에 의한 성능 저하를 방지할 수 있고, 메모리액세스의 고속화를 도모할 수 있는 공유 메모리 장치를 제공한다.
처리 모듈(21)의 입출력 포트(211)와, 각 메모리인터페이스(222, 232)와, 각 메모리뱅크(221-1 ~ 221-n, 231-1 ~ 231-n)는, 복수의 메모리매크로(221, 231)의 배치 영역(의 상층)에 Y방향(제 1방향) 및 Ⅹ방향(제 2방향)으로 매트릭스형(격자모양)으로 배선된 접속 배선에 의해 접속되어 있다. 접속 배선은, 지시 정보 배선(커맨드 주소 배선)과 데이터 배선(라이트 배선과 리드 배선, 혹은 공용 배선)이 다층 배선된다.

Description

공유 메모리 장치{Shared memory device}
도 1은, 멀티 프로세서의 일반적인 아키텍처를 나타내는 도면이다.
도 2는, 크로스바를 이용한 아키텍처를 나타내는 도면이다.
도 3은, 도 2의 시스템의 과제를 설명하기 위한 도면이다.
도 4는, 본 발명의 제 1실시형태와 관련되는 공유 메모리 장치의 시스템 구성도이다.
도 5는, 도 4에 있어서의 Ⅹ방향(제 2방향 또는 가로방향)의 접속 배선을 이용하여, Ⅹ방향(제 2방향) 메모리 - 메모리간 전송도 실시하는 예를 나타내는 도면이다.
도 6은, 도 4의 공유 메모리 장치에 있어서, 데이터 버스와 메모리인터페이스(I/F) 사이에 액세스처의 뱅크가 있으면 다이렉트로 액세스할 수 있는 것을 설명하기 위한 도면이다.
도 7은, 통상의 Ⅹ-bar 시스템에서는, 도 6의 액세스와 달리 메모리인터페이스(I/F)를 스킵한 액세스가 되는 것을 나타내는 도면이다.
도 8은, 본 실시형태의 공유 메모리 장치가, 단순하게 X-bar를 매핑하는 것과 비교하여, 면적을 늘리지 않고, 스루 풋을 향상시킬 수 있는 것을 설명하기 위한 도면이다.
도 9는, 통상의 Ⅹ-bar에 있어서는, Y방향(제 2방향 또는 세로 방향)의 배선 자원이 1 계통밖에 없는 경우는 동시에 액세스할 수 없는 것을 나타내는 도면이다.
도 10은, 본 실시형태의 접속 배선으로서 프라이빗(private) 배선(PRL), 퍼블릭(public) 배선(PBL) 및 코먼(common) 배선(CML)의 3 형태를 나타내는 도면이다.
도 11은, 프라이빗(private) 배선(PRL), 퍼블릭(public) 배선(PBL) 및 코먼(common) 배선(CML)의 실시예를 나타내는 도면이다.
도 12는, 각 처리 모듈이 복수의 입출력 포트를 가지는 공유 메모리 장치의 구성예를 나타내는 도면이다.
도 13은, 액세스 클러스터를 1개 포함한 공유 메모리 장치의 구성예를 나타내는 도면이다.
도 14는, 액세스 클러스터를 2개 포함한 공유 메모리 장치의 구성예를 나타내는 도면이다.
도 15는, 액세스 클러스터를 2개 포함한 공유 메모리 장치의 구성예를 나타내는 도면이다.
도 16은, 액세스 클러스터를 6개 포함한 공유 메모리 장치의 구성예를 나타내는 도면이다.
도 17은, 액세스 클러스터를 6개 포함한 공유 메모리 장치의 구성예를 나타내는 도면이다.
도 18은, Y방향(제 1방향)으로 배열 배치되는 메모리시스템으로 메모리인터페이스(I/F)를 공용하고 있는 메모리매크로(Memory Macro)의 구성예를 나타내는 도면이다.
도 19는, 본 실시형태와 관련되는 메모리뱅크의 구성예를 나타내는 도면이다.
도 20은, 본 실시형태에 있어서는, 지시 정보 배선(커맨드 주소 배선)과 데이터배선(라이트 데이터배선과 리드데이터 배선, 혹은 공용 배선)이 뱅크위에 다층 배선되어 있는 입체적인 모습을 나타내는 도면이다.
도 21은, 가로방향(Ⅹ방향, 제 2방향)의 커맨드 어드레스 버스 배선에 대해 설명하기 위한 도면이다.
도 22는, 가로방향(Ⅹ방향, 제 2방향)의 라이트 데이터 버스 배선에 대해 설명하기 위한 도면이다.
도 23은, 세로 방향(Y방향, 제 2방향)의 라이트 데이터 버스 배선에 대해 설명하기 위한 도면이며, 처리 모듈로부터 직하(直下)의 메모리인터페이스(I/F)까지의 세로 방향(Y방향, 제 1방향)의 라이트 데이터 버스에 대해 설명하기 위한 도면이다.
도 24는, 세로 방향(Y방향, 제 2방향)의 라이트 데이터 버스 배선에 대해 설명하기 위한 도면이며, 처리 모듈로부터 직하 이외의 세로 방향(Y방향, 제 1방향)의 라이트 데이터 버스에 대해 설명하기 위한 도면이다.
도 25는, 지연 레벨에 따라서는 메모리인터페이스(I/F)에 있어서 플립플 롭(FF)을 설치하는 예를 나타내는 도면이다.
도 26은, 세로 방향(Y방향, 제 2방향)의 라이트 데이터 버스 배선에 대해 설명하기 위한 도면이며, 배선 자원의 상황에 따라서, 메모리인터페이스(I/F) 앞의 복수의 프라이빗 배선을 선택하여, 퍼블릭 배선으로 형성하는 예를 나타내는 도면이다.
도 27은, 가로방향(Ⅹ방향, 제 2방향)의 리드 데이터 버스 배선에 대해 설명하기 위한 도면이다.
도 28은, 세로 방향(Y방향, 제 2방향)의 리드 데이터 버스 배선에 대해 설명하기 위한 도면이며, 처리 모듈로부터 직하의 메모리인터페이스(I/F)까지의 세로 방향(Y방향, 제 1방향)의 리드 데이터 버스에 대해 설명하기 위한 도면이다.
도 29는, 세로 방향(Y방향, 제 2방향)의 리드 데이터 버스 배선에 대해 설명하기 위한 도면이며, 처리 모듈로부터 직하 이외의 세로 방향(Y방향, 제 1방향)의 리드 데이터 버스에 대해 설명하기 위한 도면이다.
도 30은, 지연 레벨에 따라서는 메모리인터페이스(I/F)에 있어서 플립플롭(FF)을 설치하는 예를 나타내는 도면이다.
도 31은, 세로 방향(Y방향, 제 2방향)의 리드 데이터 버스 배선에 대해 설명하기 위한 도면이며, 배선 자원의 상황에 따라서, 메모리인터페이스(I/F) 앞의 복수의 프라이빗 배선에 분배하여, 퍼블릭 배선으로 형성하는 예를 나타내는 도면이다.
도 32는, 세로 방향(Y방향, 제 1방향)에 있어서의 업 방향의 데이터 버스 배 선(common)에 대해 설명하기 위한 도면이다.
도 33은, 세로 방향(Y방향, 제 1방향)에 있어서의 다운 방향의 데이터 버스 배선(common)에 대해 설명하기 위한 도면이다.
도 34는, 본 실시형태와 관련되는 메모리인터페이스(I/F)의 기본 구성을 나타내는 도면이다.
도 35는, 본 실시형태와 관련되는 메모리인터페이스(I/F)의 다른 구성예를 나타내는 도면이다.
도 36은, 본 실시형태와 관련되는 메모리인터페이스(I/F)의 또 다른 구성예를 나타내는 도면이다.
도 37은, 세로 방향(Y방향, 제 1방향)의 기본적인 커맨드 어드레스 버스 배선에 대해 설명하기 위한 도면이다.
도 38은, 세로 방향(Y방향, 제 1방향)의 복수 발행 구성의 커맨드 어드레스 버스 배선에 대해 설명하기 위한 도면이다.
도 39는, 본 실시형태와 관련되는 공유 메모리 장치의 기본 구성 및 접속 배선의 특징을 정리해서 나타내는 도면이다.
도 40은, 본 발명의 제 2실시형태와 관련되는 공유 메모리 장치의 시스템 구성도이다.
도 41은, 본 발명의 제 2실시형태와 관련되는 공유 메모리 장치의 시스템 구성도이며, 복수의 프라이빗 배선을 배선하여 보다 성능을 향상시키는 구성예를 나타내는 도면이다.
도 42는, 제 2실시형태에 있어서의 라이트 데이터 버스와 가로전송모드의 전환을 나타내는 도면이다.
도 43은, 제 2실시형태에 있어서의 리드 데이터 버스와 가로전송모드의 전환을 나타내는 도면이다.
도 44는, 제 2실시형태에 있어서의 라이트 데이터 버스와 가로전송모드의 부분적인 전환을 나타내는 도면이다.
도 45는, 제 2실시형태에 있어서의 리드 데이터 버스와 가로전송모드의 부분적인 전환을 나타내는 도면이다.
도 46은, 서브 처리 모듈(S-PM)의 관리하에 놓여지기 때문에, 처리 모듈(PM)은 가로방향 데이터 버스를 사용할 수 없는 경우에도 직하의 뱅크에 대해서는 항상 액세스 가능한 것을 나타내는 도면이다.
도 47은, 메모리인터페이스(I/F)상에 가로방향 전용의 데이터 버스(DBS)를 부설(敷設)하는 예를 나타내는 도면이다.
도 48은, 도 40에 나타내는 바와 같이, 4개의 처리 모듈(PM)구성으로 각 처리 모듈(PM)이 2 port 가지는 경우의 예를 나타내는 도면이다.
도 49는, 부분적으로 가로전송모드로 했을 경우(partial MST)의 처리예를 나타내는 도면이다.
도 50은, 서브 처리 모듈(S-PM) 경유에 의한 2개의 액세스 클러스터군 사이에서의 제 1전송예를 나타내는 도면이다.
도 51은, 서브 처리 모듈(S-PM) 경유에 의한 2개의 액세스 클러스터군 사이 에서의 제 2전송예를 나타내는 도면이다.
도 52는, 서브 처리 모듈(S-PM) 경유에 의한 4개의 액세스 클러스터군간에 네트워크 결합한 구성 및 전송예를 나타내는 도면이다.
도 53은, 서브 처리 모듈(S-PM) 경유에 의한 복수의 액세스 클러스터군 사이에서의 다른 접속 구성예를 나타내는 도면이다.
도 54는, 서브 처리 모듈(S-PM) 경유에 의한 액세스 클러스터군과 외부 메모리나 주변 회로와의 접속 구성예를 나타내는 도면이다.
*도면의 주요부분에 대한 부호설명
10 : 공유 메모리 장치 20, 40, 50 : 액세스 클러스터
21, 31, 41, 51, PM : 처리 모듈
22, 23, 32, 33, 42, 43, 52, 53 : 메모리시스템
221, 231, 321, 331, 421, 431, 521, 531 : 메모리매크로
222, 232, 322, 332, 422, 432, 522, 532,Ⅰ/F : 메모리인터페이스
80, 81, S-PM : 서브 처리 모듈 90-1 ~ 90-4 : 액세스 클러스터군
91 : 네트워크 배선부 92 : 버스 브리지
본 발명은, 프로세서 등의 처리 장치를 포함하는 복수의 메모리시스템을 혼재하고, 각 시스템의 메모리를 공유하는 공유 메모리 장치에 관한 것이다.
복수의 메모리시스템을 혼재하는 시스템에 있어서, 병렬처리를 중시한 아키텍처를 채용하면, 예를 들어 도 1에 나타내는 구성이 된다.
도 1의 구성에 있어서는, 논리(Logic) 회로(프로세서)(1-1 ~ 1-4)와, 메모리매크로(2-1 ~ 2-4)는 병렬처리를 우선하기 때문에, 1 대 1로 접속된다.
도 1의 구성에 있어서, 논리 회로(1)와 메모리매크로(2)는 병렬처리를 우선하기 때문에 1 대 1로 접속되지만, 논리 회로(1)는 인접하고 있는 논리 데이터를 참조하기 위해서는, 상위 장치를 거친 패스를 사용할 필요가 있다.
그래서, 논리 회로(1)로부터 직접, 인접 메모리까지의 접속을, 일반적으로, 도 2에 나타내는 바와 같이, 크로스바(Ⅹ-bar)(3)로 실시하는 구성이 채용된다.
도 1의 구성에 있어서는, 상술한 바와 같이, 논리 회로(1)와 메모리매크로(2)는 병렬처리를 우선하기 때문에 1 대 1로 접속되지만, 논리 회로(1)는 인접하고 있는 논리 회로(1)의 데이터를 참조하기 위해서는, 상위 장치를 거친 패스를 사용할 필요가 있기 때문에, 실제의 액세스를 실현하는 것은 곤란하다.
또, 도 2의 구성에 있어서는, 상위 장치를 거치지 않고, 논리 회로(1)는 인접하고 있는 논리 회로(1)의 데이터를 참조하는 것이 가능하지만, 논리 회로(1)로부터 메모리(2)까지의 배선이 매우 복잡해지며, 면적 증가와 장거리 배선에 의한 성능 저하(주파수 저하 등)를 초래한다고 하는 불이익이 있다.
또, 도 3에 나타내는 바와 같이, 복수의 논리 회로(프로세서)로부터 동일 메모리에 동시 액세스했을 때는, 각 메모리매크로가 경합하고 있지 않은 경우에도 메 모리인터페이스 및 메모리내 버스의 경합이 발생하기 때문에 통상적으로 동시에는 액세스할 수 없다.
이것을 해결하기 위해 동시 액세스를 허용하는 수만큼 각 메모리인터페이스 및 각 메모리내 버스를 증가시키면, 한층 더 면적 증가와 이것에 수반하는 배선길이의 증대에 의한 성능 저하(주파수 저하)를 일으킨다.
본 발명의 목적은, 메모리까지의 배선을 간단화 할 수 있고, 면적 증가와 장거리 배선에 의한 성능 저하를 방지할 수 있고, 메모리액세스의 고속화를 도모할 수 있는 공유 메모리 장치를 제공하는 것에 있다.
본 발명의 제 1관점의 공유 메모리 장치는, 적어도 하나의 입출력 포트를 가지는 적어도 하나의 처리 모듈과, 상기 처리 모듈에 의해 액세스 가능한 복수의 메모리시스템을 가지고, 상기 각 메모리시스템은, 복수의 메모리뱅크를 포함한 메모리매크로와, 상기 처리 모듈 및 각 메모리뱅크와 접속되는 메모리인터페이스를 포함하고, 상기 메모리인터페이스는, 상기 메모리매크로의 배치 영역을 사이에 두고 상기 처리 모듈의 배치 위치와 대향하는 위치에 배치되며, 상기 복수의 메모리시스템의 각 메모리매크로는, 상기 처리 모듈과, 상기 메모리인터페이스와의 접속 방향인 제 1방향으로 대략 직교하는 제 2방향으로 병렬로 배치되며, 상기 처리 모듈의 입출력 포트와, 상기 각 메모리인터페이스와, 각 메모리뱅크는, 상기 복수의 메모리매크로의 영역에 매트릭스형이 되도록 제 1방향 및 제 2방향으로 배선된 접속 배선에 의해 접속되어 있다.
본 발명의 제 2관점의 공유 메모리 장치는, 복수의 액세스 클러스터를 가지고, 상기 각 액세스 클러스터는, 적어도 하나의 입출력 포트를 가지는 적어도 하나의 처리 모듈과, 상기 처리 모듈에 의해 액세스 가능한 복수의 메모리시스템을 가지고, 상기 각 메모리시스템은, 복수의 메모리뱅크를 포함한 메모리매크로와, 상기 처리 모듈 및 각 메모리뱅크와 접속되는 메모리인터페이스를 포함하고, 상기 메모리인터페이스는, 상기 메모리매크로의 배치 영역을 사이에 두고 상기 처리 모듈의 배치 위치와 대향하는 위치에 배치되며, 상기 복수의 메모리시스템의 각 메모리매크로는, 상기 처리 모듈과, 상기 메모리인터페이스와의 접속 방향인 제 1방향으로 대략 직교하는 제 2방향으로 병렬로 배치되며, 상기 처리 모듈의 입출력 포트와, 상기 각 메모리인터페이스와, 각 메모리뱅크는, 상기 복수의 메모리매크로의 영역에 매트릭스형이 되도록 제 1방향 및 제 2방향으로 배선된 접속 배선에 의해 접속되며, 상기 복수의 액세스 클러스터는, 상기 제 2방향으로 병렬로 배치되며, 서로 상기 복수의 메모리매크로의 매트릭스 배치에 대응하는 메모리뱅크가, 상기 제 2방향으로 배선된 버스에 의해 접속되어 있다.
적합하게는, 상기 접속 배선은, 지시 정보 배선과 데이터 배선이 다층 배선되어 있다.
적합하게는, 상기 데이터 배선은, 라이트 데이터 배선과 리드 데이터 배선이 다층 배선되어 있다.
적합하게는, 상기 복수의 메모리매크로의 영역의 상기 제 2방향의 적어도 일측에, 상기 복수의 메모리매크로의 적어도 하나의 소정의 메모리뱅크를 제 2방향으 로 선택적으로 액세스 가능한 서브 처리 모듈을 가진다.
본 발명의 제 3관점의 공유 메모리 장치는, 복수의 액세스 클러스터를 가지고, 상기 각 액세스 클러스터는, 적어도 하나의 입출력 포트를 가지는 적어도 하나의 처리 모듈과, 상기 처리 모듈에 의해 액세스 가능한 복수의 메모리시스템을 가지고, 상기 각 메모리시스템은, 복수의 메모리뱅크를 포함한 메모리매크로와, 상기 처리 모듈 및 각 메모리뱅크와 접속되는 메모리인터페이스를 포함하고, 상기 메모리인터페이스는, 상기 메모리매크로의 배치 영역을 사이에 두고 상기 처리 모듈의 배치 위치와 대향하는 위치에 배치되며, 상기 복수의 메모리시스템의 각 메모리매크로는, 상기 처리 모듈과, 상기 메모리인터페이스와의 접속 방향인 제 1방향으로 대략 직교하는 제 2방향으로 병렬로 배치되며, 상기 처리 모듈의 입출력 포트와, 상기 각 메모리인터페이스와, 각 메모리뱅크는, 상기 복수의 메모리매크로의 영역에 매트릭스형이 되도록 제 1방향 및 제 2방향으로 배선된 접속 배선에 의해 접속되며, 상기 복수의 액세스 클러스터는, 상기 제 1방향으로 인터페이스를 거쳐서 대칭적으로 배치되며, 서로의 대응하는 위치에 배치된 메모리인터페이스 사이가 접속되어 있다.
적합하게는, 상기 복수의 액세스 클러스터의 각 메모리시스템은, 상기 메모리인터페이스를 공용하고 있다.
적합하게는, 상기 공용의 메모리인터페이스는, 다른 메모리시스템으로의 액세스를 조정하는 조정부를 포함한다.
본 발명의 제 4관점의 공유 메모리 장치는, 복수의 액세스 클러스터를 가지고, 상기 각 액세스 클러스터는, 적어도 하나의 입출력 포트를 가지는 적어도 하나의 처리 모듈과, 상기 처리 모듈에 의해 액세스 가능한 복수의 메모리시스템을 가지고, 상기 각 메모리시스템은, 복수의 메모리뱅크를 포함한 메모리매크로와, 상기 처리 모듈 및 각 메모리뱅크와 접속되는 메모리인터페이스를 포함하고, 상기 메모리인터페이스는, 상기 메모리매크로의 배치 영역을 사이에 두고 상기 처리 모듈의 배치 위치와 대향하는 위치에 배치되며, 상기 복수의 메모리시스템의 각 메모리매크로는, 상기 처리 모듈과, 상기 메모리인터페이스와의 접속 방향인 제 1방향으로 대략 직교하는 제 2방향으로 병렬로 배치되며, 상기 처리 모듈의 입출력 포트와, 상기 각 메모리인터페이스와, 각 메모리뱅크는, 상기 복수의 메모리매크로의 영역에 매트릭스형이 되도록 제 1방향 및 제 2방향으로 배선된 접속 배선에 의해 접속되며, 상기 복수의 액세스 클러스터는, 상기 제 1방향으로 인터페이스를 거쳐서 대칭적으로 배치되며, 서로의 대응하는 위치에 배치된 메모리인터페이스 사이가 접속되며, 남은 액세스 클러스터는, 상기 제 2방향으로 병렬로 배치되며, 서로 상기 복수의 메모리매크로의 매트릭스 배치에 대응하는 메모리뱅크가, 상기 제 2방향으로 배선된 버스에 의해 접속되어 있다.
적합하게는, 대칭적으로 배치된 상기 복수의 액세스 클러스터의 각 메모리시스템은, 상기 메모리인터페이스를 공용하고 있다.
또, 상기 공용의 메모리인터페이스는, 다른 메모리시스템으로의 액세스를 조정하는 조정부를 포함한다.
본 발명의 제 5관점의 공유 메모리 장치는, 복수의 액세스 클러스터를 포함 하는 복수의 액세스 클러스터군을 가지고, 상기 복수의 액세스 클러스터군은 네트워크 배선을 거쳐서 접속되며, 상기 복수의 액세스 클러스터군의 각 액세스 클러스터는, 적어도 하나의 입출력 포트를 가지는 적어도 하나의 처리 모듈과, 상기 처리 모듈에 의해 액세스 가능한 복수의 메모리시스템을 가지고, 상기 각 메모리시스템은, 복수의 메모리뱅크를 포함한 메모리매크로와, 상기 처리 모듈 및 각 메모리뱅크와 접속되는 메모리인터페이스를 포함하고, 상기 메모리인터페이스는, 상기 메모리매크로의 배치 영역을 사이에 두고 상기 처리 모듈의 배치 위치와 대향하는 위치에 배치되며, 상기 복수의 메모리시스템의 각 메모리매크로는, 상기 처리 모듈과, 상기 메모리인터페이스와의 접속 방향인 제 1방향으로 대략 직교하는 제 2방향으로 병렬로 배치되며, 상기 처리 모듈의 입출력 포트와, 상기 각 메모리인터페이스와, 각 메모리뱅크는, 상기 복수의 메모리매크로의 영역에 매트릭스형이 되도록 제 1방향 및 제 2방향으로 배선된 접속 배선에 의해 접속되며, 상기 복수의 액세스 클러스터는, 위기 제 2방향으로 병렬로 배치되며, 서로 상기 복수의 메모리매크로의 매트릭스 배치에 대응하는 메모리뱅크가, 상기 제 2방향으로 배선된 버스에 의해 접속되어 있다.
본 발명의 제 6관점의 공유 메모리 장치는, 복수의 액세스 클러스터를 포함하는 복수의 액세스 클러스터군을 가지고, 상기 복수의 액세스 클러스터군은 네트워크 배선을 거쳐서 접속되며, 상기 복수의 액세스 클러스터군의 각 액세스 클러스터는, 적어도 하나의 입출력 포트를 가지는 적어도 하나의 처리 모듈과, 상기 처리 모듈에 의해 액세스 가능한 복수의 메모리시스템을 가지고, 상기 각 메모리시스템은, 복수의 메모리뱅크를 포함한 메모리매크로와, 상기 처리 모듈 및 각 메모리뱅크와 접속되는 메모리인터페이스를 포함하고, 상기 메모리인터페이스는, 상기 메모리매크로의 배치 영역을 사이에 두고 상기 처리 모듈의 배치 위치와 대향하는 위치에 배치되며, 상기 복수의 메모리시스템의 각 메모리매크로는, 상기 처리 모듈과, 상기 메모리인터페이스와의 접속 방향인 제 1방향으로 대략 직교하는 제 2방향으로 병렬로 배치되며, 상기 처리 모듈의 입출력 포트와, 상기 각 메모리인터페이스와, 각 메모리뱅크는, 상기 복수의 메모리매크로의 영역에 매트릭스형이 되도록 제 1방향 및 제 2방향으로 배선된 접속 배선에 의해 접속되며, 상기 복수의 액세스 클러스터는, 상기 제 1방향으로 인터페이스를 거쳐서 대칭적으로 배치되며, 서로의 대응하는 위치에 배치된 메모리인터페이스 사이가 접속되어 있다.
본 발명의 제 7관점의 공유 메모리 장치는, 복수의 액세스 클러스터를 포함하는 복수의 액세스 클러스터군을 가지고, 상기 복수의 액세스 클러스터군은 네트워크 배선을 거쳐서 접속되며, 상기 복수의 액세스 클러스터군의 각 액세스 클러스터는, 적어도 하나의 입출력 포트를 가지는 적어도 하나의 처리 모듈과, 상기 처리 모듈에 의해 액세스 가능한 복수의 메모리시스템을 가지고, 상기 각 메모리시스템은, 복수의 메모리뱅크를 포함한 메모리매크로와, 상기 처리 모듈 및 각 메모리뱅크와 접속되는 메모리인터페이스를 포함하고, 상기 메모리인터페이스는, 상기 메모리매크로의 배치 영역을 사이에 두고 상기 처리 모듈의 배치 위치와 대향하는 위치에 배치되며, 상기 복수의 메모리시스템의 각 메모리매크로는, 상기 처리 모듈과, 상기 메모리인터페이스와의 접속 방향인 제 1방향으로 대략 직교하는 제 2방향으로 병렬로 배치되며, 상기 처리 모듈의 입출력 포트와, 상기 각 메모리인터페이스와, 각 메모리뱅크는, 상기 복수의 메모리매크로의 영역에 매트릭스형이 되도록 제 1방향 및 제 2방향으로 배선된 접속 배선에 의해 접속되며, 상기 복수의 액세스 클러스터는, 위기 제 1방향으로 인터페이스를 거쳐서 대칭적으로 배치되며, 서로의 대응하는 위치에 배치된 메모리인터페이스 사이가 접속되며, 남은 액세스 클러스터는, 상기 제 2방향으로 병렬로 배치되며, 서로 상기 복수의 메모리매크로의 매트릭스 배치에 대응하는 메모리뱅크가, 상기 제 2방향으로 배선된 버스에 의해 접속되어 있다.
적합하게는, 상기 각 액세스 클러스터군은, 복수의 메모리매크로의 배치 영역의 상기 제 2방향의 적어도 일측에, 상기 복수의 메모리매크로의 적어도 하나의 소정의 메모리뱅크를 제 2방향으로 선택적으로 액세스 가능한 서브 처리 모듈을 가지고, 상기 각 액세스 클러스터군은, 상기 서브 처리 모듈이 상기 네트워크 결합되어 있다.
이하, 본 발명의 실시형태를 도면에 관련지어 설명한다.
도 4는, 본 발명의 제 1실시형태와 관련되는 공유 메모리 장치의 시스템 구성도이다.
도 4의 공유 메모리시스템(10)은, 복수(도 4에서는 4)의 액세스 클러스터(20, 30, 40 및 50)를 주구성 요소로서 가지고 있다.
액세스 클러스터(20)는, 하나의 입출력 포트(211)를 가지는 처리 모듈(PM0)(21)과, 처리 모듈(21)에 의해 액세스 가능한 DRAM이나 SRAM 등의 복수(도 4에서는 2)의 메모리시스템(Memory System)(22, 23)을 가지고 있다.
메모리시스템(22)은, 도 4중에 설정한 직교좌표계의 Y방향(제 1방향)으로 일렬로 배열된 복수의 뱅크(221-1 ~ 221-n)(본례에서는 n=4)를 포함한 메모리매크로(221)와, 메모리매크로(221)의 각 뱅크(221-1 ~ 221-n)와 처리 모듈(21)과의 데이터 전송의 정합이나 각 뱅크(221-1 ~ 221-n)로의 액세스 제어 등을 실시하는 메모리인터페이스(Memory Interface : Ⅰ/F)(222)를 갖추고 있다.
메모리인터페이스(222)는, 메모리매크로(221)의 배치 영역을 사이에 두고 처리 모듈(21)의 배치 위치와 대향하는 위치에 배치되어 있다.
메모리시스템(23)은, 메모리시스템(22)에 대해서 도 4중에 설정한 직교좌표계의 Ⅹ방향(제 2방향)으로 병렬로 배치되어 있다.
메모리시스템(23)은, Y방향(제 1방향)으로 일렬로 배열된 복수의 뱅크(231-1 ~ 231-n)(본례에서는 n=4)를 포함한 메모리매크로(231)와, 메모리매크로(231)의 각 뱅크(231-1 ~ 231-n)와 처리 모듈(21)과의 데이터 전송의 정합이나 각 뱅크(231-1 ~ 231-n)로의 액세스 제어 등을 실시하는 메모리인터페이스(Memory Interface:I/F)(232)를 갖추고 있다. 또한, 도면에서는, 복잡화를 피하기 위해 메모리매크로(231)의 뱅크 등의 부호는 생략하고 있다.
메모리인터페이스(232)는, 메모리매크로(231)의 배치 영역을 사이에 두고 처리 모듈(21)의 배치 위치와 대향하는 위치에 배치되어 있다.
복수(본례에서는 2)의 메모리시스템(22, 23)의 각 메모리매크로(221, 231)는, 처리 모듈(21)과, 입출력 포트(211)의 배치 위치와 대향 배치된 메모리인터페 이스(222, 232)와의 접속 방향인 Y방향(제 1방향)으로 대략 직교하는 Ⅹ방향(제 2방향)으로 병렬로 배치되어 있다.
메모리매크로(221)의 각 뱅크(221-1 ~ 221-n)와 메모리매크로(231)의 각 뱅크(231-1 ~ 231-n)는, 각각 Y방향의 2차원적인 높이를 동일하게 하여, Ⅹ방향으로 병렬로 배치되어 있다.
그리고, Ⅹ방향으로 병렬 배치된 메모리매크로(221)의 각 뱅크(221-1 ~ 221-n)와 메모리매크로(231)의 각 뱅크(231-1 ~ 231-n)간의 접속 배선에는 버퍼로서의 플립플롭(FF)이 배치되어 있다.
처리 모듈(21)의 입출력 포트(211)와, 각 메모리인터페이스(222, 232)와, 각 메모리뱅크(221-1 ~ 221-n, 231-1 ~ 231-n)는, 복수의 메모리매크로(221, 231)의 배치 영역(의 상층)에 Y방향(제 1방향) 및 Ⅹ방향(제 2방향)으로 매트릭스형(격자모양)으로 배선된 접속 배선에 의해 접속되어 있다.
도 4의 예에서는, 처리 모듈(21)의 입출력 포트(211)와 메모리시스템(23)의 메모리인터페이스(232)가 Y방향(제 1방향)의 접속 배선에 의해 직선적으로 접속되어 있다.
접속 배선은, 지시 정보 배선(커맨드 주소 배선)과 데이터 배선(라이트 데이터 배선과 리드 데이터 배선, 혹은 공용 배선)이 다층 배선되지만, 접속 배선에 대해서는, 다음에 상세하게 기술한다.
액세스 클러스터(30)는, 하나의 입출력 포트(311)를 가지는 처리 모듈(PM1)(31)과, 처리 모듈(31)에 의해 액세스 가능한 DRAM이나 SRAM 등의 복수(도 4에서는 2)의 메모리시스템(Memory System)(32, 33)을 가지고 있다.
메모리시스템(32)은, 도 4중에 설정한 직교좌표계의 Y방향(제 1방향)으로 일렬로 배열된 복수의 뱅크(321-1 ~ 321-n)(본례에서는 n=4)를 포함한 메모리매크로(321)와, 메모리매크로(321)의 각 뱅크(321-1 ~ 321-1)와 처리 모듈(31)과의 데이터 전송의 정합이나 각 뱅크(321-1 ~ 321-n)로의 액세스 제어 등을 실시하는 메모리인터페이스(Memory Interface:I/F)(322)를 갖추고 있다. 또한, 도면에서는, 복잡화를 피하기 위해 메모리매크로(321)의 뱅크 등의 부호는 생략하고 있다.
메모리인터페이스(322)는, 메모리매크로(321)의 배치 영역을 사이에 두고 처리 모듈(31)의 배치 위치와 대향하는 위치에 배치되어 있다.
메모리시스템(33)은, 메모리시스템(32)에 대해서 도 4중에 설정한 직교좌표계의 Ⅹ방향(제 2방향)으로 병렬로 배치되어 있다.
메모리시스템(33)은, Y방향(제 1방향)으로 일렬로 배열된 복수의 뱅크(331-1 ~ 331-n)(본례에서는 n=4)를 포함한 메모리매크로(331)와, 메모리매크로(331)의 각 뱅크(331-1 ~ 331-n)와 처리 모듈(31)과의 데이터 전송의 정합이나 각 뱅크(331-1 ~ 331-n)로의 액세스 제어 등을 실시하는 메모리인터페이스(Memory Interface:I/F)(332)를 갖추고 있다.
메모리인터페이스(332)는, 메모리매크로(331)의 배치 영역을 사이에 두고 처리 모듈(31)의 배치 위치와 대향하는 위치에 배치되어 있다.
복수(본례에서는 2)의 메모리시스템(32, 33)의 각 메모리매크로(321, 331) 는, 처리 모듈(31)과, 입출력 포트(311)의 배치 위치와 대향 배치된 메모리인터페이스(322, 332)와의 접속 방향인 Y방향(제 1방향)으로 대략 직교하는 Ⅹ방향(제 2방향)으로 병렬로 배치되어 있다.
메모리매크로(321)의 각 뱅크(321-1 ~ 321-n)와 메모리매크로(331)의 각 뱅크(331-1 ~ 331-n)는, 각각 Y방향의 2차원적인 높이를 동일하게 하여, Ⅹ방향으로 병렬로 배치되어 있다.
그리고, Ⅹ방향으로 병렬 배치된 메모리매크로(321)의 각 뱅크(321-1 ~ 321-n)와 메모리매크로(331)의 각 뱅크(331-1 ~ 331-n)간의 접속 배선에는 버퍼로서의 플립플롭(FF)이 배치되어 있다.
처리 모듈(31)의 입출력 포트(311)와, 각 메모리인터페이스(322, 332)와, 각 메모리뱅크(321-1 ~ 321-n, 331-1 ~ 331-n)는, 복수의 메모리매크로(321, 331)의 배치 영역(의 상층)에 Y방향(제 1방향) 및 Ⅹ방향(제 2방향)으로 매트릭스형(격자모양)으로 배선된 접속 배선에 의해 접속되어 있다.
도 4의 예에서는, 처리 모듈(31)의 입출력 포트(311)와 메모리시스템(32)의 메모리인터페이스(322)가 Y방향(제 1방향)의 접속 배선에 의해 직선적으로 접속되어 있다.
접속 배선은, 지시 정보 배선(커맨드 주소 배선)과 데이터 배선(라이트 데이터 배선과 리드 데이터 배선, 혹은 공용 배선)이 다층 배선되지만, 접속 배선에 대해서는, 다음에 상세하게 기술한다.
액세스 클러스터(30)는, 액세스 클러스터(20)와 Ⅹ방향(제 2방향)으로 병렬 로 배치되며, 서로 상기 복수의 메모리매크로의 매트릭스 배치에 대응하는 메모리뱅크가, Ⅹ방향(제 2방향)으로 배선된 버스에 의해 접속되어 있다.
또, 액세스 클러스터(30)의 메모리매크로(321)의 각 뱅크(321-1 ~ 321-n)와 액세스 클러스터(20)의 메모리매크로(231)의 각 뱅크(231-1 ~ 231-n)는, 각각 Y방향의 2차원적인 높이를 동일하게 하여, Ⅹ방향으로 병렬로 배치되어 있다.
그리고, Ⅹ방향으로 병렬 배치된 메모리매크로(321)의 각 뱅크(321-1 ~ 321-n)와 메모리매크로(231)의 각 뱅크(231-1 ~ 231-n)간의 접속 배선에는 버퍼로서의 플립플롭(FF)이 배치되어 있다.
액세스 클러스터(40)는, 하나의 입출력 포트(411)를 가지는 처리 모듈(PM2)(41)과, 처리 모듈(41)에 의해 액세스 가능한 DRAM이나 SRAM 등의 복수(도 4에서는 2)의 메모리시스템(Memory System)(42, 43)을 가지고 있다.
메모리시스템(42)은, 도 4중에 설정한 직교좌표계의 Y방향(제 1방향)으로 일렬로 배열된 복수의 뱅크(421-1 ~ 421-n)(본례에서는 n=4)를 포함한 메모리매크로(421)와, 메모리매크로(421)의 각 뱅크(421-1 ~ 421-n)와 처리 모듈(41)과의 데이터 전송의 정합이나 각 뱅크(421-1 ~ 421-n)로의 액세스 제어 등을 실시하는 메모리인터페이스(Memory Interface:I/F)(422)를 갖추고 있다.
메모리인터페이스(422)는, 메모리매크로(421)의 배치 영역을 사이에 두고 처리 모듈」(41)의 배치 위치와 대향하는 위치에 배치되어 있다.
메모리시스템(43)은, 메모리시스템(42)에 대해서 도 4중에 설정한 직교좌표계의 Ⅹ방향(제 2방향)으로 병렬로 배치되어 있다.
메모리시스템(43)은, Y방향(제 1방향)으로 일렬로 배열된 복수의 바크(431-1 ~ 431-n)(본례에서는 n=4)를 포함한 메모리매크로(431)와, 메모리매크로(431)의 각 뱅크(431-1 ~ 431-n)와 처리 모듈(41)과의 데이터 전송의 정합이나 각 뱅크(431-1 ~ 431-n)로의 액세스 제어 등을 실시하는 메모리인터페이스(Memory Interface:I/F)(432)를 갖추고 있다. 또한, 도면에서는, 복잡화를 피하기 위해 메모리매크로(432)의 뱅크 등의 부호는 생략하고 있다.
메모리인터페이스(432)는, 메모리매크로(431)의 배치 영역을 사이에 두고 처리 모듈(41)의 배치 위치와 대향하는 위치에 배치되어 있다.
복수(본례에서는 2)의 메모리시스템(42, 43)의 각 메모리매크로(421, 431)는, 처리 모듈(41)과, 입출력 포트(411)의 배치 위치와 대향 배치된 메모리인터페이스(422, 432)와의 접속 방향인 Y방향(제 1방향)으로 대략 직교하는 Ⅹ방향(제 2방향)으로 병렬로 배치되어 있다.
메모리매크로(421)의 각 뱅크(421-1 ~ 421-n)와 메모리매크로(431)의 각 뱅크(431-1 ~ 431-n)는, 각각 Y방향의 2차원적인 높이를 동일하게 하여, Ⅹ방향으로 병렬로 배치되어 있다.
그리고, Ⅹ방향으로 병렬 배치된 메모리매크로(421)의 각 뱅크(421-1 ~ 421-n)와 메모리매크로(431)의 각 뱅크(431-1 ~ 431-n)간의 접속 배선에는 버퍼로서의 플립플롭(FF)이 배치되어 있다.
처리 모듈(41)의 입출력 포트(411)와, 각 메모리인터페이스(422, 432)와, 각 메모리뱅크(421-1 ~ 421-n, 431-1 ~ 431-n)는, 복수의 메모리매크로(421, 431) 의 배치 영역(의 상층)에 Y방향(제 1방향) 및 Ⅹ방향(제 2방향)으로 매트릭스형(격자모양)으로 배선된 접속 배선에 의해 접속되어 있다.
도 4의 예에서는, 처리 모듈(41)의 입출력 포트(411)와 메모리시스템(43)의 메모리인터페이스(432)가 Y방향(제 1방향)의 접속 배선에 의해 직선적으로 접속되어 있다.
접속 배선은, 지시 정보 배선(커맨드 주소 배선)과 데이터 배선(라이트 데이터 배선과 리드 데이터 배선, 혹은 공용 배선)이 다층 배선되지만, 접속 배선에 대해서는, 다음에 상세하게 기술한다.
그리고, 액세스 클러스터(20)와 액세스 클러스터(40)는, Y방향(제 1방향)으로 인터페이스를 거쳐서 대칭적으로 배치되며, 서로의 대응하는 위치에 배치된 메모리인터페이스 사이(222와 422, 232와 432)가 접속되어 있다.
본 실시형태에 있어서는, 대칭적으로 배치된 복수의 액세스 클러스터(20)와 40의 각 메모리시스템은, 메모리인터페이스를 공용하고 있다.
구체적으로는, 메모리시스템(22)의 메모리인터페이스(222)와, 메모리시스템(42)의 메모리인터페이스(422)가, 서로 공용하도록 구성되어 있다. 동일하게, 메모리시스템(23)의 메모리인터페이스(232)와, 메모리시스템(43)의 메모리인터페이스(432)가, 서로 공용하도록 구성되어 있다.
이러한 공용의 메모리인터페이스는, 다른 메모리시스템으로의 액세스를 조정하는 조정부를 포함한다. 조정부에 대해서는 다음에 설명한다.
액세스 클러스터(50)는, 하나의 입출력 포트(511)를 가지는 처리 모듈(PM3)(51)과, 처리 모듈(51)에 의해 액세스 가능한 DRAM이나 SRAM 등의 복수(도 4에서는 2)의 메모리시스템(Memory System)(52, 53)을 가지고 있다.
메모리시스템(52)은, 도 4중에 설정한 직교좌표계의 Y방향(제 1방향)으로 일렬로 배열된 복수의 뱅크(521-1 ~ 521-n)(본례에서는 n=4)를 포함한 메모리매크로(521)와, 메모리매크로(521)의 각 뱅크(521-1 ~ 521-n)와 처리 모듈(51)과의 데이터 전송의 정합이나 각 뱅크(521-1 ~ 521-n)로의 액세스 제어 등을 실시하는 메모리인터페이스(Memory Interface:I/F)(522)를 갖추고 있다. 또한, 도면에서는, 복잡화를 피하기 위해 메모리매크로(521)의 뱅크 등의 부호는 생략하고 있다.
메모리인터페이스(522)는, 메모리매크로(521)의 배치 영역을 사이에 두고 처리 모듈(51)의 배치 위치와 대향하는 위치에 배치되어 있다.
메모리시스템(53)은, 메모리시스템(52)에 대해서 도 4중에 설정한 직교좌표계의 Ⅹ방향(제 2방향)으로 병렬로 배치되어 있다.
메모리시스템(53)은, Y방향(제 1방향)으로 일렬로 배열된 복수(도 4에서는)의 바크(531-1 ~ 531-n)(본례에서는 n=4)를 포함한 메모리매크로(531)와, 메모리매크로(531)의 각 뱅크(531-1 ~ 531-n)와 처리 모듈(51)과의 데이터 전송의 정합이나 각 뱅크(531-1 ~ 531-n)로의 액세스 제어 등을 실시하는 메모리인터페이스(Memory Interface:I/F)(532)를 갖추고 있다.
메모리인터페이스(532)는, 메모리매크로(531)의 배치 영역을 사이에 두고 처리 모듈(51)의 배치 위치와 대향하는 위치에 배치되어 있다.
복수(본례에서는 2)의 메모리시스템(52, 53)의 각 메모리매크로(521, 531)는, 처리 모듈(51)과, 입출력 포트(511)의 배치 위치와 대향 배치된 메모리인터페이스(522, 532)와의 접속 방향인 Y방향(제 1방향)으로 대략 직교하는 Ⅹ방향(제 2방향)으로 병렬로 배치되어 있다.
메모리매크로(521)의 각 뱅크(521-1 ~ 521-n)와 메모리매크로(53131)의 각 뱅크(531-1 ~ 531-n)는, 각각 Y방향의 2차원적인 높이를 동일하게 하여, Ⅹ방향으로 병렬로 배치되어 있다.
그리고, Ⅹ방향으로 병렬 배치된 메모리매크로(521)의 각 뱅크(521-1 ~ 521-n)와 메모리매크로(53131)의 각 뱅크(531-1 ~ 531-n)간의 접속 배선에는 버퍼로서의 플립플롭(FF)이 배치되어 있다.
처리 모듈(51)의 입출력 포트(511)와, 각 메모리인터페이스(522, 532)와, 각 메모리뱅크(521-1 ~ 521-n, 531-1 ~ 531-n)는, 복수의 메모리매크로(521, 531)의 배치 영역(의 상층)에 Y방향(제 1방향) 및 Ⅹ방향(제 2방향)으로 매트릭스형(격자모양)으로 배선된 접속 배선에 의해 접속되어 있다.
도 4의 예에서는, 처리 모듈(51)의 입출력 포트(511)와 메모리시스템(52)의 메모리인터페이스(522)가 Y방향(제 1방향)의 접속 배선에 의해 직선적으로 접속되어 있다.
접속 배선은, 지시 정보 배선(커맨드 주소 배선)과 데이터 배선(라이트 데이터 배선과 리드 데이터 배선, 혹은 공용 배선)이 다층 배선되지만, 접속 배선에 대해서는, 다음에 상세하게 기술한다.
액세스 클러스터(50)는, 액세스 클러스터(40)와 Ⅹ방향(제 2방향)으로 병렬로 배치되며, 서로 상기 복수의 메모리매크로의 매트릭스 배치에 대응하는 메모리뱅크가, Ⅹ방향(제 2방향)으로 배선된 버스에 의해 접속되어 있다.
또, 액세스 클러스터(50)의 메모리매크로(521)의 각 뱅크(521-1 ~ 521-n)와 액세스 클러스터(40)의 메모리매크로(431)의 각 뱅크(431-1 ~ 431-n)는, 각각 Y방향의 2차원적인 높이를 동일하게 하여, Ⅹ방향으로 병렬로 배치되어 있다.
그리고, Ⅹ방향으로 병렬 배치된 메모리매크로(521)의 각 뱅크(521-1 ~ 521-1)와 메모리매크로(431)의 각 뱅크(431-1 ~ 431-1)간의 접속 배선에는 버퍼로서의 플립플롭(FF)이 배치되어 있다.
그리고, 액세스 클러스터(30)와 액세스 클러스터(50)는, Y방향(제 1방향)으로 인터페이스를 거쳐서 대칭적으로 배치되며, 서로의 대응하는 위치에 배치된 메모리인터페이스 사이(322와 522, 332와 532)가 접속되어 있다.
본 실시형태에 있어서는, 대칭적으로 배치된 복수의 액세스 클러스터(30과 50)의 각 메모리시스템은, 메모리인터페이스를 공용하고 있다.
구체적으로는, 메모리시스템(32)의 메모리인터페이스(322)와, 메모리시스템(52)의 메모리인터페이스(522)가, 서로 공용하도록 구성되어 있다. 동일하게, 메모리시스템(33)의 메모리인터페이스(332)와, 메모리시스템(53)의 메모리인터페이스(532)가, 서로 공용하도록 구성되어 있다.
이러한 공용의 메모리인터페이스는, 다른 메모리시스템으로의 액세스를 조정하는 조정부를 포함한다. 조정부에 대해서는 다음에 설명한다.
이상 설명한 본 실시형태의 공유 메모리 장치(10)는, 다음과 같은 특징을 가지고 구성되어 있다.
공유 메모리 장치(10)는, 메모리와 논리가 혼재(混載)한 것을 이용하여, 일반적인 크로스바(Ⅹ-bar)에 의한 버스 시스템을, 도 4에 나타내는 바와 같이, 메모리상에 매핑하고 있다.
근래의 제조 기술에서는 논리 회로 규모의 증대에 의해 배선층이 증가하고 있지만, 메모리 회로는 규모가 증대해도 필요한 배선층수는 거의 증가하지 않는다. 이 때문에 메모리 최상부측의 배선층은 미사용인 것이 많다. 이것을 이용하여 메모리시스템상에 버스 시스템의 배선을 통과시킴으로써, 메모리의 면적을 거의 늘리지 않고 버스 시스템을 구축할 수 있다.
본 실시형태에 있어서는, 배선길이 증대에 의한 주파수 저하를 회피하기 위해, 접속 배선인 버스는 파이프 라인화 하고 있다.
또, 배선 면적 증대를 회피하기 위해 각 처리 모듈메모리시스템간의 배선은 1 대 1 접속이 아닌 공유 배선으로 하고 있다.
각 메모리시스템의 메모리인터페이스(I/F)는, Y방향(제 1방향)에 있어서의 레이아웃상 중심에 배치하고 있다. 이것은 각 처리 모듈과 각 메모리인터페이스(I/F)까지의 사이를 등거리(等距離)로 하는 동시에 최단(最短)으로 하여, 배선량을 줄이기 위해서이다.
메모리인터페이스(I/F)가 레이아웃 중심에 있는 것에 의해 메모리내 자원이 2배로 유효하게 활용할 수 있다. 이것은, 도 4의 복수의 액세스 클러스터(20, 30, 40, 50)를 Y방향(제 1방향) 및 Ⅹ방향(제 2방향) 구성에 있어서 메모리인터페이스(I/F)를 경계로 하여 메모리내 자원이 2 분할되므로, 동일 메모리에 복수의 액세스가 동시에 행해져도 메모리인터페이스(I/F)를 경계로 하여 다른 쪽으로의 액세스가, 동시에 액세스할 수 있기 때문이다.
도 4에 있어서, Ⅹ방향(제 2방향 또는 가로방향)의 접속 배선은, 각 처리 모듈(PM)(0 ~ 3)을 기점으로 하여 모든 메모리시스템에 액세스할 수 있도록 Ⅹ방향(제 2방향)으로 종관(縱貫)되어 있다.
이 배선을 이용하여, 도 5중, 배선 LNX로 나타내는 바와 같이, Ⅹ방향(제 2방향) 메모리 - 메모리간 전송도 실시하는 것이 가능하다.
X방향(제 2방향)의 동일 배선을 모드의 설정에 의해서 도 4의 접속 형태와 도 5의 접속 형태를 전환할 뿐이기 때문에, 거의 면적을 증대시키지 않고 고속의 메모리 - 메모리간 전송을 실현할 수 있다.
이 X방향 전송 모드(가로전송모드)는 필요가 없는 용도에는 삭제 가능하다.
공유 메모리 장치(10)는, 메모리시스템상에 버스 시스템을 매핑하고 있으므로, 도 6에 나타내는 바와 같이, 데이터 버스와 메모리인터페이스(I/F)간에 액세스처의 뱅크가 있으면 다이렉트로 액세스할 수 있다.
이 도 6의 예에 있어서는, 액세스 클러스터(20)의 처리 모듈(21)(PM0)이 좌단에 있는 메모리매크로(221)의 뱅크(221-2)에 액세스를 실시하고, 액세스 클러스터(30)의 처리 모듈(31)(PM1)이 동일 메모리매크로(221)의 뱅크(221-1)에 액세스를 실시하고 있다.
이것은 통상의 X-bar 시스템에서는, 도 7에 나타내는 바와 같이, 메모리인터페이스(I/F)를 스킵한 액세스가 된다.
그 결과, 액세스 지연시간의 단축을 실현할 수 있다.
본 실시형태의 공유 메모리 장치(10)에 있어서는, 경로 도중에 액세스처가 있으면 동일 메모리에 속하는 동시 액세스에서도 뱅크가 다르고, 또한 Y방향(제 1방향 또는 세로 방향)의 배선(LNY)이 경합하지 않으면 동시 액세스가 가능해진다.
이것에 의해, 도 6 및 도 8에 나타내는 바와 같이, 단순하게 Ⅹ-bar를 매핑하는 것과 비교하여, 면적을 늘리지 않고, 스루 풋을 향상시킬 수 있다.
상술한 바와 같이, 도 6의 예에 있어서는, 액세스 클러스터(20)의 처리 모듈(21)(PM0)이 좌단에 있는 메모리매크로(221)의 뱅크(221-2)에 액세스를 실시하고, 액세스 클러스터(30)의 처리 모듈(31)(PM1)이 동일 메모리매크로(221)의 뱅크(221-1)에 액세스를 실시하고 있다.
통상의 X-bar에 있어서는, 도 3 및 도 9에 나타내는 바와 같이, Y방향(제 1방향 또는 세로 방향)의 배선 자원이 1 계통밖에 없는 경우는 동시에 액세스할 수 없다.
이것에 대해서, 본 실시형태에 있어서는, 도 8에 나타내는 바와 같이, 동일한 정도의 면적으로 동시 액세스를 실현할 수 있고. 또한 지연시간의 단축도 실현할 수 있다.
또, Ⅹ방향(제 2방향 또는 가로방향)의 배선은 각 처리 모듈(PM)에 개별(Private)적으로 갖게 할 필요가 있지만, Y방향(제 1방향 또는 세로 방향)의 배 선은 요구하는 성능 및 허용되는 자원(면적)에 의해, 도 10 및 도 11의(a) ~ (c)에 나타내는 바와 같이, 프라이빗(private) 배선(PRL), 퍼블릭(public) 배선(PBL) 및 코먼(common) 배선(CML)의 3 형태를 취하는 것이 가능해진다.
프라이빗(Private)의 경우, 도 10(a), (b)에 나타내는 바와 같이, 각 처리 모듈(PM)에 대해서 개별(전용)의 배선을 연결함으로써, 성능은 가장 높아지지만 배선 자원(면적)도 가장 필요하다.
퍼블릭(Public)의 경우, 메모리인터페이스(I/F)를 넘는 영역에 액세스하는 경우에, 각 처리 모듈(PM)의 리드(Read) 데이터 배선, 라이트(Write) 데이터 배선을 공용할 수 있다.
예를 들면, 도면 중 위쪽의 액세스 클러스터(20, 30)의 처리 모듈(21, 31)(PM0, PM1)로부터 아래쪽 영역으로의 액세스의 경우, 리드(Read), 라이트(Write)로 묶으면 공용할 수 있다.
동시에 액세스가 있는 경우는, 퍼블릭(public)의 계통수 밖에 액세스할 수 없지만, 면적을 억제할 수 있다.
코먼(Common)의 경우, 메모리인터페이스(I/F)로 향하는 방향(up), 떨어져 가는 방향(down)에 의해서, 각각 공용화를 실시한다. 리드(Read), 라이트(Wrrite)의 구별은 관계없다. 도 10(c)에 나타내는 바와 같이, 방향만 일치하면 모든 처리 모듈(PM)간에 자원을 공용할 수 있다.
도 10(a) ~ 10(c)에 나타내는 프라이빗(private) 배선, 퍼블릭(public) 배선 및 코먼(common) 배선에 의한 실시예를 도 11(a) ~ 11(c)에 각각 나타내고 있다.
도 4에 나타내는 공유 메모리 장치(10)는, 각 액세스 클러스터의 처리 모듈(21, 31, 41, 51)이 하나의 입출력 포트(211, 311, 411, 511)를 가지는 경우를 일례로서 나타내고 있지만, 각 처리 모듈(21, 31, 41, 51)에 복수의 입출력 포트를 갖게하도록 구성하는 것도 가능하다.
도 12는, 각 처리 모듈이 복수의 입출력 포트를 가지는 공유 메모리 장치의 구성예를 나타내는 도면이다.
도 12의 공유 메모리 장치(10A)는, 각 액세스 클러스터(20A, 30A, 40A, 50A)의 처리 모듈(21A, 31A, 41A, 51A)이 2개의 입출력 포트(211, 212, 311, 312, 411, 412 및 511, 512)를 가진다.
이와 같이, 각 처리 모듈(PM)이 복수의 포트를 가지는 것으로, 스루 풋을 한층 더 향상시킬 수 있다. 이 경우, 도 12에 나타내는 바와 같이, 액세스처의 영역을 분할할 뿐이므로 거의 면적은 증가하지 않는다.
또, 도 4의 공유 메모리 장치(10)는, 액세스 클러스터가 4개를 포함한 구성을 일례로서 나타내고 있지만, 액세스 클러스터가 1개, 2개, 6개, 혹은 그 이상을 포함한 구성을 채용하는 것도 가능하다.
도 13은, 액세스 클러스터를 1개 포함한 공유 메모리 장치의 구성예를 나타내는 도면이다.
도 14 및 도 15는, 액세스 클러스터를 2개 포함한 공유 메모리 장치의 구성예를 나타내는 도면이다.
도 16 및 도 17은, 액세스 클러스터를 6개 포함한 공유 메모리 장치의 구성예를 나타내는 도면이다.
도 13의 공유 메모리 장치(10B)는, 액세스 클러스터(20)를 1개 포함한다.
도 14의 공유 메모리 장치(10C)는, Y방향(제 1방향)으로 메모리인터페이스(I/F)를 공용하는 액세스 클러스터(20)와 액세스 클러스터(40)의 2개를 포함한다.
도 15의 공유 메모리 장치(10D)는, Ⅹ방향(제 2방향)으로 병렬 배치된 액세스 클러스터(20)와 액세스 클러스터(30)의 2개를 포함한다.
도 16 및 도 17의 공유 메모리 장치(10E, 10F)는, 3개의 액세스 클러스터(20, 30, 40)를 Ⅹ방향(제 2방향)으로 병렬로 배치하고, 이러한 액세스 클러스터(20, 30, 40)와 Y방향(제 1방향)으로 메모리인터페이스(I/F)를 공용하는 3개의 액세스 클러스터(50, 60, 70)를 배치한, 액세스 클러스터를 6개 포함한 구성을 가진다.
이와 같이, 액세스 클러스터의 수, 바꿔 말하면, 처리 모듈(PM)의 수에 따른 시스템을 구성하는 것이 가능하다.
이상, 공유 메모리 장치의 시스템 구성을 중심으로 설명했지만, 이하에, 중복하는 부분도 있지만, 뱅크 구성, 접속 배선, 메모리인터페이스의 구성, 기능에 대해 더욱 구체적으로 설명한다.
<메모리매크로 구성>
본 실시형태에 있어서는, 도 18에 나타내는 바와 같이, 메모리매크로는 복수의 메모리뱅크(BNK)와 1개의 메모리인터페이스(I/F)에 의해 구성된다.
본 실시형태에 있어서는, Y방향(제 1방향)으로 배열 배치되는 메모리시스템으로 메모리인터페이스(I/F)를 공용하고 있다.
도 18에 나타내는 바와 같이, 물리적으로 메모리인터페이스(I/F)를 중심으로 하여 원칙동수(반수(半數)씩)의 뱅크가 배치된다.
<뱅크 구성>
도 19는, 본 실시형태와 관련되는 메모리뱅크의 구성예를 나타내는 도면이다.
각 뱅크(BNK)는, 메모리 어레이(101), 기입회로(102), 독출회로(103) 및 실렉터(S)(104 ~ 109)를 포함하여 구성되어 있다.
또, 도 19에 있어서, PRL-WX는 Ⅹ방향(제 2방향 또는 가로방향)의 프라이빗의 라이트 데이터 버스(배선)를, PRL-RX는 Ⅹ방향(제 2방향 또는 가로방향)의 프라이빗의 리드 데이터 버스를, PRL-WY는 Y방향(제 1방향 또는 세로 방향)의 프라이빗의 라이트 데이터 버스를, PBL-WY는 Y방향(제 1방향 또는 세로 방향)의 퍼블릭의 라이트 데이터 버스를, PRL-RY는 Y방향(제 1방향 또는 세로 방향)의 프라이빗의 리드 데이터 버스를, PBL-RY는 Y방향(제 1방향 또는 세로 방향)의 퍼블릭의 리드 데이터 버스를, CML-U는 Y방향(제 1방향 또는 세로 방향)에 있어서의 업 방향 코먼의 커맨드 어드레스 버스를, CML-D는 Y방향(제 1방향 또는 세로 방향)에 있어서의 다운 방향 코먼의 커맨드 어드레스 버스를, 각각 나타내고 있다.
본 실시형태에 있어서는, 지시 정보 배선(커맨드 주소 배선)과 데이터 배선(라이트 데이터 배선과 리드 데이터 배선, 혹은 공용 배선)이 다층 배선되지만, 뱅 크(BNK)상에 다층 배선되어 있는 입체적인 모습을 도 20에 나타낸다.
각 뱅크(BNK)에 있어서는, 가로방향(Ⅹ방향)의 라이트 데이터 버스(PRL-WX), 세로 방향(Y방향)의 라이트 데이터 버스(private, public)(PRL-WY, PBL-WY), 세로 방향 코먼(common)의 커맨드 어드레스 버스(CML-U, CML-D(up, down))로부터, 실렉터(104)를 통해서 선택적으로 기입에 관한 정보를 기입회로(102)에 보낸다.
또, 가로방향(Ⅹ방향)의 리드 버스(PRL-RX), 세로 방향(Y방향)의 리드 데이터 버스(private, Public)(PRL-RY, PBL-RY), 세로 방향 코먼(common)의 커맨드 어드레스 버스(CML-U, CML-D(up, down))에 실렉터(105 ~ 109)를 거쳐서 선택적으로 데이터를 전송한다.
<가로방향(Ⅹ방향, 제 2방향) 커맨드 어드레스 버스 배선>
커맨드 어드레스 버스(CML-Ⅹ)에는 액세스처의 매크로, 뱅크, 주소, 리드/라이트(Read/Write), 라이트 마스크(Write Mask), ID, 버스트 길이 등의 정보가 포함된다.
커맨드 어드레스 버스(CML-Ⅹ)는, 도 21에 나타내는 바와 같이, 각 처리 모듈(PM)로부터 Ⅹ방향(제 2방향 또는 가로방향)의 모든 메모리시스템의 메모리매크로에 대해서 접속된다.
처리 모듈(PM)과, 각 메모리인터페이스(I/F)간은 “Point To Point”(이하 P2P로 생략한다) 접속에서는 배선량이 방대하게 된다. 따라서 공유 접속한다.
가로방향(Ⅹ방향)은 처리 모듈(PM)마다 전용(private)이다. 각 분 기(BRNC)에서는 액세스처의 매크로에 따라 분기한다.
분기한 후, 메모리인터페이스(I/F)까지는 프라이빗(private) 버스 배선으로 접속된다.
<가로방향(X방향, 제 2방향) 라이트 데이터 버스 배선>
가로방향의 라이트 데이터 버스(PRL-WX)는 프라이빗 배선이지만, 도 22에 나타내는 바와 같이, 액세스처마다 P2P로 접속하는 것이 아닌 공유이다.
분기(BRNC)로부터 메모리인터페이스(I/F)까지의 세로 방향(Y방향, 제 1방향) 배선은, 이용 가능한 배면자원에 따라서, 프라이빗(private), 퍼블릭(public), 코먼(Common)의 버스 배선으로 접속된다.
<세로 방향(Y방향, 제 2방향) 라이트 데이터 버스 배선>
처리 모듈(PM)로부터 직하(直下)의 메모리인터페이스(I/F)까지의 세로 방향(Y방향, 제 1방향)의 라이트 데이터 버스는, 도 23에 나타내는 바와 같이, 프라이빗(private) 버스(PRL-WY)로 접속하여 구성한다.
프라이빗의 라이트 데이터 버스(PRL-WY)는 가로방향(Ⅹ방향, 제 2방향)에 배선되는 라이트 데이터 버스(PRL-WX)와 직접 접속된다(도 23의 것으로부터 2번째의 뱅크(BNK2)).
처리 모듈(PM) 직하 이외의 프라이빗 세로 배선에서는, 도 24에 나타내는 바와 같이, 가로방향(Ⅹ방향)으로부터 데이터를 전송하는 라이트 데이터 버스와 직접 접속되며, 거기로부터 세로 방향(Y방향)으로 라이트 데이터가 전송된다.
메모리인터페이스(I/F)를 넘는 세로 방향 라이트 버스는 가로방향 배선과 접속되지 않는다.
또, 도 25에 나타내는 바와 같이, 지연 레벨에 따라서는 메모리인터페이스(I/F)에 있어서 플립플롭(FF)에서 일단 래치하여 전송한다.
메모리인터페이스(I/F)를 넘는 경우, 도 26에 나타내는 바와 같이, 배선 자원의 상황에 따라서, 메모리인터페이스(I/F) 앞의 복수의 프라이빗 배선을 실렉터(S)로 선택하여, 퍼블릭 배선으로 형성한다.
프라이빗 배선은, 처리 모듈(PM)에 대한 전용 배선이므로, 처리 모듈(PM)의 수가 많아졌을 경우, 전부를 프라이빗(private)에서 선을 연결하면 방대한 배선 자원이 필요하게 된다. 이 경우, 직하(直下) 이외에 관해서는 코먼(common)의 형태를 취한다.
<가로방향(Ⅹ방향, 제 2방향) 리드 데이터 버스 배선>
리드 데이터 버스는 처리 모듈(PM) 직하의 메모리인터페이스(I/F)에 대해서는, 도 27에 나타내는 바와 같이, 프라이빗 배선(PRL-RX)으로 접속된다. 가로방향(Ⅹ방향)의 리드 데이터 버스 배선은 프라이빗이지만, 액세스처마다 P2P로 접속하는 것이 아닌 공유이다.
도 27에 나타내는 바와 같이, 세로 방향(Y방향, 제 2방향) 배선과의 접속 부분은 실렉터(SLC)로 구성되며, 가로방향(Ⅹ방향)으로부터 전송되어 오는 데이터와 세로 방향(Y방향)으로부터 전송되어 오는 데이터를 선택한다.
<세로 방향(Y방향, 제 1방향) 리드 데이터 버스 배선>
처리 모듈(PM)로부터 직하의 메모리인터페이스(I/F)까지의 세로 방향(Y방 향) 리드 데이터 버스는, 도 28에 나타내는 바와 같이, 프라이빗 버스(PRL-RY)로 접속하여 구성한다.
프라이빗의 리드 데이터 버스(PRL-RY)는, 가로방향(Ⅹ방향)으로 배선된 리드 데이터 버스(PRL-RX)와 실렉터(S)로 접속된다(도 28의 위로부터 2번째의 뱅크(BNK2)).
처리 모듈(PM) 직하 이외의 프라이빗 세로 배선에서는, 도 29에 나타내는 바와 같이, 가로방향(Ⅹ방향)으로부터 데이터가 전송되는 리드 데이터 버스(PRL-RX)와 실렉터(S)로 접속되며, 거기로부터 선택적으로 다음의 가로방향(Ⅹ방향)으로 리드 데이터가 전송된다.
메모리인터페이스(I/F)를 넘는 세로 방향(Y방향)의 리드 데이터 버스는 가로방향(Ⅹ방향) 배선과 접속되지 않는다.
또, 도 30에 나타내는 바와 같이, 지연 레벨에 따라서는 메모리인터페이스(I/F)에 있어서 플립플롭(FF)에서 일단 래치하여 전송한다.
메모리인터페이스(I/F)를 넘는 경우, 도 31에 나타내는 바와 같이, 배선 자원의 상황에 따라서, 메모리인터페이스(I/F) 앞의 복수의 프라이빗 배선에 분배하여, 퍼블릭 배선으로 형성한다.
프라이빗 배선은, 처리 모듈(PM)에 대한 전용 배선이므로, 처리 모듈(PN4)의 수가 많아졌을 경우, 전부를 프라이빗(private)에서 선을 연결하면 방대한 배선 자원이 필요하게 된다. 이 경우, 바로 아래 이외에 관계해서는 코먼(common)의 형태를 취한다.
<세로 방향(Y방향, 제 1방향) 데이터 버스 배선(common)>
세로 방향(Y방향)의 데이터 버스는 배선 자원이 한정되어 있는 경우, 코먼 배선에 의해서 배선량을 줄이는 것이 가능해진다.
코먼에서는 리드와 라이트로 구별하는 것이 아니라, 도 32 및 도 33에 나타내는 바와 같이, 데이터가 흐르는 방향으로 배선을 형성한다. 편의상, 메모리인터페이스(I/F)로 향하는 방향을 “상승(UP)”, 떨어지는 방향을 “하강(down)”이라고 부른다.
코먼 배선에서는 가로방향(Ⅹ방향)을 라이트 데이터 버스가 배선되어 있는 경우는, 도 32의 <1>, 도 33의 <1>의 구성을 취한다.
코먼 배선에서는 가로방향(Ⅹ방향)을 리드 데이터 버스가 배선되어 있는 경우는, 도 32의 <2>, 도 33의 <2>의 구성을 취한다.
<I/F구성>
메모리인터페이스(I/F)에 있어서는, 각 처리 모듈(PM)로부터 전송되어 오는 커맨드를 조정하고, 매크로내의 뱅크의 자원이 비어 있는 경우에 발행하는 처리를 실시한다.
기본 구성으로서 도 34에 나타내는 바와 같이, 각 처리 모듈(PM)에 대응한 커맨드 버퍼(Command Buffer:이하 CB로 줄임)(111-0 ~ 111-n)를 최저 1개씩 가지고, 또한 아비터(arbiter)(112) 및 실렉터(S)(113, 114)를 가진다.
또, 아비터(112)는 CB(111-0 ~ 111-n) 내의 명령 중 발행 가능한 명령을 선택 신호(S112a, S112b)에 의해 선택하여 발행한다. 메모리인터페이스(I/F)를 중심으로 하여 Y방향(제 1방향)의 위쪽(제 1측)의 메모리시스템의 뱅크와 아래쪽(제 2측)의 메모리시스템의 뱅크에 대해서 동시에 발행 가능하다.
또, 도 35에 나타내는 바와 같이, 배선 자원이 허용하는 경우, 위쪽과 아래쪽의 각각에 대해서 복수의 명령 배선을 배선하는(연결하는) 것도 가능해진다.
또한, 면적적으로 허용된다면, 도 36에 나타내는 바와 같이, CB를 복수 갖게하는 것도 가능하다. 이 경우, 예를 들어 위쪽의 처리 모듈(PM)로의 전송 경로에 OR게이트(115-0 ~ 115-n)가 설치된다.
<세로 방향(Y방향, 제 1방향) 어드레스 버스 배선>
도 37에 나타내는 바와 같이, 기본적으로, 메모리인터페이스(I/F)로부터 발행된 주소(커맨드)는 세로 방향(Y방향)으로 전송되며, 분기(分岐)에 BRNC에 있어서 액세스처의 뱅크에 따라 나뉜다.
또, 도 35 또는 도 36에 나타내는 바와 같이, 배선 자원에 여유가 있고, 복수 주소 배선을 당길 수 있는 경우는, 도 38에 나타내는 바와 같이, 실렉터(S)를 통해 최종적으로 뱅크에 입력된다.
도 39는, 상술한 본 실시형태와 관련되는 공유 메모리 장치의 기본 구성 및 접속 배선의 특징을 정리해서 나타내는 도면이다.
도 39에 있어서, CMD는 커맨드계 배선을, WDT는 라이트 데이터계 배선을, RDT는 리드 데이터계 배선을 각각 나타내고 있다.
본 실시형태와 관련되는 공유 메모리 장치의 기본 구성 및 접속 배선의 특징(1) ~ (9)는 이하대로이다.
(1):데이터의 X방향(가로) 배선은, 다른 처리 모듈(PM)과의 가로방향의 경합을 회피하기 위해, 프라이빗 배선으로 한다.
(2):메모리인터페이스(I/F) 앞에 타깃이 있는 경우는 직접 액세스한다. 이것에 의해, 지연시간(latency)을 단축하고, 자원 경합을 저감할 수 있다.
(3):데이터의 Y방향(세로) 배선은 배선 자원으로 프라이빗인지 묶음인지를 결정한다. 이것에 의해, 배선 자원의 효율화를 도모할 수 있다.
(4):메모리인터페이스(I/F)로부터의 커맨드 발행은, 자원이 허용되면 복수로 한다. 이것에 의해, 스루 풋의 향상을 도모할 수 있다.
(5):커맨드는 Y방향(세로 방향), Ⅹ방향(가로방향) 모두 프라이빗 배선으로 한다. 이것에 의해, 다른 처리 모듈(PM)과의 경합을 회피할 수 있다.
(6):데이터의 처리 모듈(PM) 직하의 Y(세로) 방향 배선은 프라이빗 배선으로 한다. 이것에 의해, 다른 처리 모듈(PM)과의 경합을 회피할 수 있다.
(7):메모리인터페이스(I/F)를 Y방향(제 1방향)의 중앙에 배치한다. 이것에 의해, 배선 자원을 2배로 유효하게 이용할 수 있다.
(8):Ⅹ(가로) 방향의 데이터 배선은 가로전송모드로서 사용 가능하다. 이것에 의해, 메모리 - 메모리간 전송 성능의 향상을 도모할 수 있다.
(9):처리 모듈(PM)에 복수 포트를 갖게 해도 좋다. 이것에 의해, 스루 풋(throughput)의 향상을 도모할 수 있다.
이상 설명한 바와 같이, 본 제 1실시형태에 의하면, 복수의 메모리뱅크를 탑재하는 메모리시스템에 있어서, 메모리매크로상에 버스 시스템을 구축함으로써, 통 상의 X-bar 등에 의한 공유 메모리시스템보다 고속으로(고(高)스루 풋) 메모리액세스를 실행할 수 있다.
또, 도 4 등과 같이 구성되는 버스 시스템의 배선을 이용하여, 메모리뱅크간의 버스를 구축함으로써, 회로 규모를 거의 증대시키지 않고, 고속의 메모리 - 메모리간 데이터 전송을 실현할 수 있다.
또, 메모리매크로상에 배선하고 있으므로, 액세스처의 뱅크위를 배선이 통과할 때는 다이렉트로 액세스할 수 있으므로 저(低) 레이턴 시를 실행할 수 있다.
또, 요구되는 성능과 배선성(配線性)과의 트레이드오프(trade-off)에 의해 배선 방법을 변경한 시스템, 즉, 처리 모듈(PM)수, 배선 자원과 요구 성능에 따라 시스템을 구축할 수 있다.
또한, 1개의 처리 모듈(PM)에 메모리시스템과의 포트를 복수 갖게 함으로써, 자원(면적)을 소비하지 않고, 한층 더 높은 성능을 구축한 시스템을 실현할 수 있다.
또, 처리 모듈(PM)수가 증가하면 배선도 증대하지만, 버스폭에 따라 버스 구성을 바꾼 시스템을 구축할 수 있다.
도 40은, 본 발명의 제 2실시형태와 관련되는 공유 메모리 장치의 시스템 구성도이다.
본 제 2실시형태가 상술한 제 1실시형태와 다른 점은, 액세스 클러스터(20, 40)의 메모리매크로의 배치 영역의 Ⅹ방향(제 2방향)이 적어도 한쪽(도 40에서는 좌측)에, 복수의 메모리매크로의 적어도 하나의 소정의 메모리뱅크를 Ⅹ방향(제 2 방향)으로 선택적으로 액세스 가능한 서브 처리 모듈군(80, 81)을 배치한 것에 있다.
서브 처리 모듈군(80)은, 액세스 클러스터(20, 30)의 메모리매크로의 뱅크수에 따라 4개의 서브 처리 모듈(80-1 ~ 80-4)을 배치하고 있다.
서브 처리 모듈군(81)은, 액세스 클러스터(40, 50)의 메모리매크로의 뱅크수에 따라 4개의 서브 처리 모듈(81-1 ~ 81-4)을 배치하고 있다.
도 40에 있어서, 좌단의 메모리뱅크군 중, 액세스 클러스터(40)의 메모리매크로(421)의 뱅크(421-2, 421-3, 421-4)가 가로전송모드(이하 MST라고 한다)로 액세스하는 영역에서, 나머지의 메모리뱅크가 통상 액세스 영역이다.
각 처리 모듈(21, 31, 41, 51)은 통상 액세스 영역에 액세스하면서, 가로방향으로부터 데이터의 입출력을 실시하고, 이러한 모드 전환을 각 뱅크에 대해 차례로 진행하는 것으로, 처리를 멈추지 않고, 메모리의 데이터의 교체를 실시할 수 있다.
이와 같이, 가로전송모드를 사용하는 경우는 가로(Ⅹ) 방향으로 서브 처리 모듈을 배치하게 된다.
이 경우, 서브 처리 모듈은 전송 모드를 전환한 영역(뱅크)에 대해, 독자적으로 액세스를 실시해도 좋고, 각 처리 모듈(PM)로부터 요청을 받고 액세스를 실시해도 좋다.
처리 모듈(PM)수가 적을 때, 예를 들어 2일 때는 필요하게 되는 세로 방향 배선도 줄어들므로 메모리상의 배선 영역도 여유가 생기는 경우가 많다. 이 경 우, 도 41에 나타내는 바와 같이, 복수의 프라이빗 배선을 배선하여 보다 성능을 향상시킬 수도 있다.
반대로, 처리 모듈(PM)수가 많을 때, 예를 들어 6일 때는 필요하게 되는 세로(Y) 방향 배선이 증가하므로 메모리상의 배선 영역도 핍박해 온다. 이 경우, 예를 들어 도 16에 나타내는 바와 같이, 버스폭을 줄여 프라이빗 배선의 계통수를 늘려도 좋다.
또, 도 17에 나타내는 바와 같이, 버스폭은 줄이지 않고 프라이빗 배선을 최소한으로 줄이고, 코먼 배선을 늘릴 수도 있다.
이러한 선택은 시스템 요구에 의해서 임의이다.
이하에, 제 2실시형태에 있어서의 전송 모드의 전환에 대해 설명한다.
<전송 모드의 전환>
가로(Ⅹ) 방향의 리드 데이터 버스, 라이트 데이터 버스는, 상술한 바와 같이, 모드의 전환에 의해 가로방향으로의 전송에 이용 가능하다.
모드의 전환은, 도 42 및 도 43에 나타내는 바와 같이, 가로(Ⅹ) 방향 배선 모두에 대해서 실시하는 것이 가능하다.
또, 모드의 전환은, 도 44 및 도 45에 나타내는 바와 같이, 부분적으로 실시하는 것도 가능하다.
가로방향의 전송용으로 바꾸었을 경우, 그 배선은 서브 처리 모듈(S-PM)의 관리하에 놓여지기 때문에, 처리 모듈(PM)은 가로방향 데이터 버스를 사용할 수 없다. 그러나, 도 46에 나타내는 바와 같이, 바로 아래의 뱅크에 대해서는 항상 액세스 가능하다.
가로방향 전송의 수요가 적은 경우는, 도 47에 나타내는 바와 같이, 메모리인터페이스(I/F)상에 가로방향 전용의 데이터 버스(DBS)를 부설하는 것도 가능하다.
이 경우, 전송 모드의 전환은 실장해도 좋고, 하지 않아도 좋다.
도 48은, 도 40에 나타내는 바와 같이, 4개의 처리 모듈(PM)구성으로 각 처리 모듈(PM)이 2 port 가지는 경우의 예를 나타내는 도면이다.
이 예에서는, 처리 모듈(21)(PM0)은 도면 중의 <1>로 나타내는 영역에 대해서는 세로(Y) 방향 버스밖에 사용하지 않기 때문에, 가로(Ⅹ) 방향 버스를 서브 처리 모듈(S-PM)로 해방해도 항상 액세스는 가능하지만, <2>로 나타내는 영역에 대해서는 대응하는 가로방향 버스를 처리 모듈(PM)측의 지배하에 둘 필요가 있다.
부분적으로 가로전송모드로 했을 경우(partial MST), 도 49에 나타내는 데이터 흐름으로 처리를 실시하면, 처리 모듈(PM)에서의 처리를 멈추지 않고 데이터를 처리할 수 있다.
<액세스 클러스터군간 접속>
액세스 클러스터, 바꿔 말하면, 처리 모듈(PM)수가 많아지면 배선 자원이 방대해진다.
따라서, 현실적으로는 어느 정도의 수의 액세스 클러스터(처리 모듈(PM))의 통합인 액세스 클러스터군(90)으로 구성하고, 도 50 ~ 도 53에 나타내는 바와 같이, 액세스 클러스터군(90)간을 서브 처리 모듈(80)(S-PM)을 통해 접속하는 것이, 배선량을 억제할 수 있다.
도 50 및 도 51은, 서브 처리 모듈(S-PM) 경유에 의한 2개의 액세스 클러스터군 사이에서의 전송예를 나타내는 도면이다. 이 예에서는 액세스 클러스터군(90-1, 90-2)은, 도 4 등의 공유 메모리 장치와 같은 구성을 가지고 있다.
도 50의 예에서는, 액세스 클러스터군(90-1)의 처리 모듈(PM1)이 액세스 클러스터군(90-2)의 영역에 기입을 실시하고 있다.
이 경우, 최초로 서브 처리 모듈(S-PM)에 기입 요구를 발행하고(ST1), 서브 처리 모듈(S-PM)이 기입한다(ST2).
또, 동일 도면에서 액세스 클러스터군(90-2)의 처리 모듈(PM2)이 액세스 클러스터군(90-1)의 영역으로부터 독출하고 있다.
이 경우, 최초로 서브 처리 모듈(S-PM)에 독출 요구를 발행하고(ST3), 서브 처리 모듈(S-PM)이 해당 영역에 리드 커맨드를 발행하고(ST4), 해당 영역으로부터 데이터가 독출되며(ST5), 서브 처리 모듈(S-PM)이 액세스 클러스터군(90-2)의 처리 모듈(PM2)에 데이터를 돌려주고 있다(ST6).
도 51은, 액세스 클러스터군간의 전송 수단으로서 서브 처리 모듈(80)(S-PM) 내에 로컬메모리(Local Memory)(82)를 배치한 예를 나타내고 있다.
도 51의 예에서는, 액세스 클러스터군(90-2)의 처리 모듈(PM0)이 서브 처리 모듈(80)(S-PM)의 로컬메모리(82)에 기입하고(ST11), 동일 처리 모듈(PM0)이 액세스 클러스터군(90-1)의 처리 모듈(PM1)에 통지하고(ST12), 통지를 받은 동일 처리 모듈(PM1)이 서브 처리 모듈(80)(S-PM)의 로컬메모리(82)로부터 독출하고 있다(ST13).
한층 더 액세스 클러스터군의 수가 많아지면, 도 52에 나타내는 바와 같이, 서브 처리 모듈(80-1, 80-2) 사이를, 네트워크 배선부(interconnect)(91)에 의해 접속하는 것에 의해서도 가능하다.
도 52의 예에서는, 액세스 클러스터군(90-1)의 처리 모듈(PM0)이 서브 처리 모듈(80-1)에 기입을 요구하고(ST21), 서브 처리 모듈(80-1)이 네트워크 배선부(91)에 기입을 요구하고(ST22), 네트워크 배선부(91)가 서브 처리 모듈(80-2)에 기입을 요구하고(ST23), 서브 처리 모듈(80-2)이 액세스 클러스터군(90-4)의 소정의 영역에서 기입을 실시하고 있다(ST24).
이와 같이, 액세스 클러스터군의 수를 늘리면 필요한 배선 영역도 증대한다. 그렇지만 반드시 모든 처리 모듈(PM)간에 모든 메모리를 등가(等價)로 공유하는 필요성은 없다.
예를 들면, 몇개의 액세스 클러스터군으로 한묶음의 처리를 실시하는 케이스에서는, 이 액세스 클러스터군의 바깥쪽에 있는 메모리에 대해서는 메모리액세스의 빈도는 현저하게 낮다.
이러한 경우에서는, 도 52에 예와 같이, 서브 처리 모듈(S-PM)을 통해서, 액세스 클러스터군(90-1 ~ 90-4)을 네트워크 결합함으로써 액세스를 하도록 하면, 배선 영역의 증대를 억제할 수 있다.
또, 도 53에 나타내는 바와 같이, 액세스 클러스터군간의 접속은, 가로(Ⅹ) 방향(제 2방향)이면, 액세스 클러스터군(90-1, 90-2, ‥)과 서브 처리 모듈(80-1, 80-2)을 수주(數珠) 연결함으로써, 더욱 접속하는 것도 가능하다.
또, 도 54에 나타내는 바와 같이, 서브 처리 모듈(80)(S-PM)은, 액세스 클러스터군(90)간의 접속뿐만이 아니라, 버스 브리지(bus bridge)(92)를 경유하여 다른 버스에 접속하는 것도 가능하고, 외부 메모리I/F(93)를 접속하여 외부 메모리(94)에 액세스하는 것도 가능하다.
이 경우, 액세스 클러스터군내의 메모리, 버스 브리지(92)에 연결되는 각 주변 회로(95), 외부 메모리(94)가 통일된 어드레스 공간상에 배치할 수 있다.
본 제 2실시형태에 의하면, 제 1실시형태의 효과에 더해서, 전송 모드는 메모리시스템 전체로 전환할 수 있을 뿐만 아니라, 부분적으로도 전환이 가능하다. 이것을 이용하여 시스템의 동작을 멈추지 않고, 시스템과 외부와의 데이터 전송이 가능해진다.
또, 액세스 클러스터군수를 증가시켰을 경우, 배선이 증대하지만, 몇개의 액세스 클러스터군을 통합하여, 이러한 사이를 네트워크 결합함으로써, 배선의 증대를 억제할 수 있다.
본 실시형태의 공유 메모리 장치는, SOC에 탑재된 복수의 메모리매크로를 메모리 독자적인 데이터선으로 접속함으로써, 고속의 공유 메모리를 실현할 수 있다. 또한, 버스마스터를 거치지 않고 메모리 - 메모리간 전송을 실현할 수 있다.
본 발명에 의하면, 메모리까지의 배선을 간단화 할 수 있고, 면적 증가와 장거리 배선에 의한 성능 저하를 방지할 수 있고, 메모리액세스의 고속화를 도모할 수 있다.

Claims (27)

  1. 적어도 하나의 입출력 포트를 가지는 적어도 하나의 처리 모듈과,
    상기 처리 모듈에 의해 액세스 가능한 복수의 메모리시스템을 가지고,
    상기 각 메모리시스템은,
    복수의 메모리뱅크를 포함하는 메모리매크로와,
    상기 처리 모듈 및 각 메모리뱅크와 접속되는 메모리인터페이스를 포함하고,
    상기 메모리인터페이스는, 상기 메모리매크로의 배치 영역을 사이에 두고 상기 처리 모듈의 배치 위치와 대향하는 위치에 배치되며,
    상기 복수의 메모리시스템의 각 메모리매크로는, 상기 처리 모듈과, 상기 메모리인터페이스와의 접속 방향인 제 1방향으로 대략 직교하는 제 2방향으로 병렬로 배치되며,
    상기 처리 모듈의 입출력 포트와, 상기 각 메모리인터페이스와, 각 메모리뱅크는, 상기 복수의 메모리매크로의 영역에 매트릭스형으로 되도록 제 1방향 및 제 2방향으로 배선된 접속 배선에 의해 접속되며,
    상기 접속 배선은,
    지시 정보 배선 및, 라이트 데이터 배선과 리드 데이터 배선 혹은 공용 배선을 포함하는 데이터 배선이 다층 배선되며,
    상기 지시 정보 배선은,
    상기 각 처리 모듈로부터 상기 제 2방향의 전체 메모리 시스템의 메모리 매크로에 대해서 접속되며, 또한 상기 제 2방향에서 각 처리 모듈마다 전용(프라이빗: private)이 되며, 각 메모리 시스템에 있어서는 분기부에서 상기 제 1방향으로 분기되며, 분기 후에, 각 메모리 시스템의 메모리 인터페이스까지 프라이빗 버스 배선에 의해 접속되며,
    상기 제 2방향의 상기 라이트 데이터 배선은,
    상기 제 2방향에서는 각 처리 모듈의 프라이빗 배선과 각 메모리 시스템의 메모리 매크로에 대해서 접속되며, 메모리 시스템에 있어서는 분기부에서 상기 제 1방향으로 분기되며, 분기 후에, 각 메모리 시스템의 메모리 인터페이스까지 프라이빗(전용), 퍼블릭(public : 공용) 또는 코몬(common : 공통)의 버스 배선에 의해 접속되며,
    상기 제 1방향의 상기 라이트 데이터 배선에 있어서는,
    처리 모듈에 직접 대응하는 직하의 메모리 인터페이스까지의 제 1방향의 라이트 데이터 배선은, 프라이빗 라이트 데이터 배선으로서 직접 접속되며, 상기 프라이빗 라이트 데이터 배선은, 상기 제 2방향으로 접속된 라이트 데이터 배선과, 직접 접속되며,
    처리 모듈의 직하 이외의 제 1방향의 프라이빗 라이트 데이터 배선은, 제 2방향으로부터 데이터를 전송하는 라이트 데이터 배선과 직접 접속되며, 이 접속부로터 제 1방향으로 라이트 데이터가 전송되며,
    제 2방향의 리드 데이터 버스 배선으로서는,
    처리 모듈 직하의 메모리 인터페이스에 대해서는, 제 1방향의 프라이빗 라이트 데이터 배선에 의해 접속되며, 제 2방향의 리드 데이터 버스 배선은, 프라이빗이지만, 공유되며, 제 1방향의 리드 데이터 배선과의 접속 부분에는, 제 2방향으로부터 전송되어 오는 데이터와 제 1방향으로부터 전송되는 오는 데이터를 선택하는 선택기(selector)가 배치되며,
    상기 제 1방향의 상기 리드 데이터 배선은,
    처리 모듈로부터 직하의 메모리 인터페이스까지의 제 1방향의 리드 데이터 배선은, 프라이빗 리드 데이터 배선으로서 직접 접속되며, 상기 프라이빗 리드 데이터 배선은, 상기 제 2방향으로 접속된 리드 데이터 버스 배선과 상기 선택기에 의해 접속되며,
    처리 모듈의 직하 이외의 제 1방향의 프라이빗 리드 데이터 배선에서는, 제 2방향으로부터 데이터가 전송되는 리드 데이터 버스 배선과 상기 선택기에 의해 접속되며, 이 접속부로터 선택적으로 다음의 제 2방향으로 리드 데이터가 전송되는 것을 특징으로 하는 공유 메모리 장치.
  2. 제 1항에 있어서,
    상기 처리 모듈과, 상기 처리 모듈에 의한 억세스 가능한 복수의 메모리 시스템을 포함하는 복수의 억세스 클러스터가, 상기 메모리 인터페이스를 통해 제 1방향으로 대칭적으로 배치되며,
    상기 제 1방향의 라이트 데이터 버스 배선은,
    메모리 인터페이스를 초과하여 데이터를 전송하는 경우, 배선 리소스의 상황에 대응하며, 메모리 인터페이스의 바로 직전의 프라이빗 라이트 데이터 버스 배선이 선택기에 의해 선택되며, 공유하는 퍼블릭 배선으로 형성되는 것을 특징으로 하는 공유 메모리 장치.
  3. 제 1항 또는 제 2항에 있어서,
    상기 처리 모듈과, 상기 처리 모듈에 의한 억세스 가능한 복수의 메모리 시스템을 포함하는 복수의 억세스 클러스터가, 상기 메모리 인터페이스를 통해 제 1방향으로 대칭적으로 배치되며,
    상기 제 1방향의 리드 데이터 버스 배선은,
    메모리 인터페이스를 초과하여 데이터를 전송하는 경우, 배선 리소스의 상황에 대응하며, 메모리 인터페이스의 바로 직전의 프라이빗 리드 데이터 버스 배선이 복수의 프라이빗 리드 배선에 분배되며, 공유하는 퍼블릭 배선으로 형성되는 것을 특징으로 하는 공유 메모리 장치.
  4. 제 3항에 있어서,
    상기 각 메모리 뱅크는,
    메모리 어레이와,
    상기 메모리 어레이에 데이터를 기입하는 기입 회로와,
    상기 메모리 어레이가 데이터를 독출하는 독출회로와,
    기입용 선택기와,
    독출용 선택기를 포함하며,
    제 2방향에 프라이빗의 라이트 데이터 버스 배선 및 프라이빗의 리드 데이터 버스 배선이 접속되며,
    제 1방향에 있어서,
    메모리 인터페이스로 향하는 상부 방향에, 프라이빗의 라이트 데이터 버스 배선, 퍼블릭의 라이트 데이터 버스 배선 및 상부 방향 지시 정보 배선이 배선되며,
    메모리 인터페이스로부터 떨어져 있는 하부 방향에, 프라이빗의 리드 데이터 버스 배선, 퍼블릭의 리드 데이터 버스 배선 및 하부 방향 지시 정보 배선이 배선되며,
    상기 제 2방향의 라이트 데이터 버스 배선, 상기 제 1방향의 프라이빗의 라이트 데이터 버스 배선, 퍼블릭의 라이트 데이터 버스 배선 및 상부 방향 지시 정보 배선이 상기 기입용 선택기에 접속되며, 상기 기입용 선택기를 통해 선택적으로 기입에 관한 정보가 상기 기입 회로에 공급되며,
    상기 독출 회로에서 독출된 데이터가, 상기 독출용 선택기를 통해, 상기 제 2방향의 리드 데이터 버스 배선, 상기 제 1방향의 프라이빗의 리드 데이터 버스 배선, 퍼블릭의 리드 데이터 버스 배선 및 하부 방향 지시 정보 배선에 선택적으로 전송되는 것을 특징으로 하는 공유 메모리 장치.
  5. 제 4항에 있어서,
    상기 복수의 메모리매크로의 배치 영역의 상기 제 2방향의 적어도 일측에, 상기 복수의 메모리매크로의 소정의 적어도 하나의 메모리뱅크를 제 2방향으로 선택적으로 액세스 가능한 서브 처리 모듈을 가지는 것을 특징으로 하는 공유 메모리 장치.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
KR1020060085206A 2005-09-05 2006-09-05 공유 메모리 장치 KR101378152B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00257074 2005-09-05
JP2005257074A JP4975288B2 (ja) 2005-09-05 2005-09-05 共有メモリ装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020130065969A Division KR101378445B1 (ko) 2005-09-05 2013-06-10 공유 메모리 장치

Publications (2)

Publication Number Publication Date
KR20070026275A KR20070026275A (ko) 2007-03-08
KR101378152B1 true KR101378152B1 (ko) 2014-03-27

Family

ID=37564276

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020060085206A KR101378152B1 (ko) 2005-09-05 2006-09-05 공유 메모리 장치
KR1020130065969A KR101378445B1 (ko) 2005-09-05 2013-06-10 공유 메모리 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020130065969A KR101378445B1 (ko) 2005-09-05 2013-06-10 공유 메모리 장치

Country Status (5)

Country Link
US (1) US7587545B2 (ko)
EP (1) EP1760723A3 (ko)
JP (1) JP4975288B2 (ko)
KR (2) KR101378152B1 (ko)
CN (1) CN1941159B (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5017971B2 (ja) * 2005-09-07 2012-09-05 ソニー株式会社 集積装置
US8145851B2 (en) 2005-09-07 2012-03-27 Sony Corporation Integrated device
WO2012059121A1 (en) * 2010-11-01 2012-05-10 Telefonaktiebolaget L M Ericsson (Publ) Memory arrangement for accessing matrices
US9547553B1 (en) 2014-03-10 2017-01-17 Parallel Machines Ltd. Data resiliency in a shared memory pool
US9781027B1 (en) 2014-04-06 2017-10-03 Parallel Machines Ltd. Systems and methods to communicate with external destinations via a memory network
US9477412B1 (en) 2014-12-09 2016-10-25 Parallel Machines Ltd. Systems and methods for automatically aggregating write requests
US9690713B1 (en) 2014-04-22 2017-06-27 Parallel Machines Ltd. Systems and methods for effectively interacting with a flash memory
US9594696B1 (en) 2014-12-09 2017-03-14 Parallel Machines Ltd. Systems and methods for automatic generation of parallel data processing code
US9639473B1 (en) 2014-12-09 2017-05-02 Parallel Machines Ltd. Utilizing a cache mechanism by copying a data set from a cache-disabled memory location to a cache-enabled memory location
US9781225B1 (en) 2014-12-09 2017-10-03 Parallel Machines Ltd. Systems and methods for cache streams
US9632936B1 (en) 2014-12-09 2017-04-25 Parallel Machines Ltd. Two-tier distributed memory
US9753873B1 (en) 2014-12-09 2017-09-05 Parallel Machines Ltd. Systems and methods for key-value transactions
US10114795B2 (en) * 2016-12-30 2018-10-30 Western Digital Technologies, Inc. Processor in non-volatile storage memory
JP6859781B2 (ja) * 2017-03-21 2021-04-14 富士ゼロックス株式会社 画像処理装置、画像処理方法およびプログラム
FR3078439A1 (fr) * 2018-02-27 2019-08-30 Stmicroelectronics (Rousset) Sas Procede de gestion du routage de transactions entre des equipements sources, au moins un equipement cible, par exemple une memoire multiports, et systeme sur puce correspondant
EP4018442A4 (en) * 2019-08-23 2023-07-19 Rambus Inc. HIERARCHICAL BANK GROUP TIME CONTROL

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100388411B1 (ko) * 1997-10-31 2003-06-25 미쓰비시덴키 가부시키가이샤 반도체 장치

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59165287A (ja) * 1983-03-11 1984-09-18 Nec Corp 情報処理システム
US4633434A (en) * 1984-04-02 1986-12-30 Sperry Corporation High performance storage unit
US4722052A (en) * 1984-04-02 1988-01-26 Sperry Corporation Multiple unit adapter
US4600986A (en) * 1984-04-02 1986-07-15 Sperry Corporation Pipelined split stack with high performance interleaved decode
US4725987A (en) * 1985-10-23 1988-02-16 Eastman Kodak Company Architecture for a fast frame store using dynamic RAMS
JPH0740252B2 (ja) * 1986-03-08 1995-05-01 株式会社日立製作所 マルチプロセツサシステム
US5243208A (en) 1987-05-27 1993-09-07 Hitachi, Ltd. Semiconductor integrated circuit device having a gate array with a ram and by-pass signal lines which interconnect a logic section and I/O unit circuit of the gate array
JPS63293966A (ja) * 1987-05-27 1988-11-30 Hitachi Ltd 半導体集積回路装置
JPH0316254A (ja) * 1989-06-14 1991-01-24 Kawasaki Steel Corp 半導体集積回路
AU4510696A (en) * 1994-12-08 1996-06-26 Intel Corporation A method and an apparatus for enabling a processor to access an external component through a private bus or a shared bus
US5835925A (en) * 1996-03-13 1998-11-10 Cray Research, Inc. Using external registers to extend memory reference capabilities of a microprocessor
JPH10116913A (ja) * 1996-10-14 1998-05-06 Sony Corp 半導体集積回路装置
US5956288A (en) * 1997-12-22 1999-09-21 Emc Corporation Modular memory system with shared memory access
US6058451A (en) * 1997-12-22 2000-05-02 Emc Corporation Method and apparatus for refreshing a non-clocked memory
JP2000048566A (ja) 1998-07-29 2000-02-18 Mitsubishi Electric Corp 同期型半導体記憶装置
US6215497B1 (en) * 1998-08-12 2001-04-10 Monolithic System Technology, Inc. Method and apparatus for maximizing the random access bandwidth of a multi-bank DRAM in a computer graphics system
US7028134B2 (en) 1999-12-30 2006-04-11 Conexant Systems, Inc. Crossbar integrated circuit with parallel channels for a communication device
JP2001338492A (ja) * 2000-05-26 2001-12-07 Matsushita Electric Ind Co Ltd 半導体装置と制御方法
JP2001344222A (ja) * 2000-05-31 2001-12-14 Oki Electric Ind Co Ltd コンピュータ・システム
JP2003249097A (ja) * 2002-02-21 2003-09-05 Mitsubishi Electric Corp 半導体記憶装置
US7260019B1 (en) * 2005-10-31 2007-08-21 Spansion Llc Memory array

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100388411B1 (ko) * 1997-10-31 2003-06-25 미쓰비시덴키 가부시키가이샤 반도체 장치

Also Published As

Publication number Publication date
US20070067579A1 (en) 2007-03-22
KR20070026275A (ko) 2007-03-08
CN1941159A (zh) 2007-04-04
JP2007072616A (ja) 2007-03-22
EP1760723A2 (en) 2007-03-07
EP1760723A3 (en) 2009-03-18
KR101378445B1 (ko) 2014-03-26
JP4975288B2 (ja) 2012-07-11
KR20130070622A (ko) 2013-06-27
CN1941159B (zh) 2012-05-30
US7587545B2 (en) 2009-09-08

Similar Documents

Publication Publication Date Title
KR101378152B1 (ko) 공유 메모리 장치
US8737392B1 (en) Configuring routing in mesh networks
US7353316B2 (en) System and method for re-routing signals between memory system components
US20230305981A1 (en) Active bridge chiplet with integrated cache
TW200521675A (en) Multiple processor system and method including multiple memory hub modules
US8468376B2 (en) Integrated device, layout method thereof, and program
KR101292773B1 (ko) 집적 장치
JP4205743B2 (ja) 半導体記憶装置及び半導体装置
CN113643739A (zh) 一种llc芯片及缓存系统
CN108932966B (zh) 半导体装置和数据处理系统
US20130061004A1 (en) Memory/logic conjugate system
US20060020734A1 (en) Signal bus arrangement
JP2008077152A (ja) 共有メモリ装置
JP5017971B2 (ja) 集積装置
US11189338B1 (en) Multi-rank high bandwidth memory (HBM) memory
KR102174486B1 (ko) 삼차원 크로스바 네트워크 기반의 그래픽 처리유닛
JP3546582B2 (ja) 半導体装置
CN118012794A (en) Computing core particle and electronic equipment
WO2022265796A2 (en) Ultrahigh-bandwidth low-latency reconfigurable memory interconnects by wavelength routing
JP2007066039A (ja) 共有メモリ装置
JPH0877114A (ja) 情報処理装置

Legal Events

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

Payment date: 20170310

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180309

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee