KR101558482B1 - 공유 멀티 포트 메모리 장치에서 뱅크의 공유 및 리프레쉬 - Google Patents

공유 멀티 포트 메모리 장치에서 뱅크의 공유 및 리프레쉬 Download PDF

Info

Publication number
KR101558482B1
KR101558482B1 KR1020107014889A KR20107014889A KR101558482B1 KR 101558482 B1 KR101558482 B1 KR 101558482B1 KR 1020107014889 A KR1020107014889 A KR 1020107014889A KR 20107014889 A KR20107014889 A KR 20107014889A KR 101558482 B1 KR101558482 B1 KR 101558482B1
Authority
KR
South Korea
Prior art keywords
bank
memory
access
port
memory device
Prior art date
Application number
KR1020107014889A
Other languages
English (en)
Other versions
KR20100095459A (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 KR20100095459A publication Critical patent/KR20100095459A/ko
Application granted granted Critical
Publication of KR101558482B1 publication Critical patent/KR101558482B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40611External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40615Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40618Refresh operations over multiple banks or interleaving
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4087Address decoders, e.g. bit - or word line decoders; Multiple line decoders
    • 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/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

부품들 간에 멀티 포트(120) 메모리 장치(100)의 메모리 뱅크(110)를 공유하기 위한 방법과 시스템을 제공한다. 멀티 포트 메모리 장치는 시스템의 부품들이 부착되는 다수의 포트와, 포트들 각각에 의해 공유되는 멀티 포트 메모리 장치 내부의 다수의 메모리 뱅크를 포함한다. 뱅크 가용도 핀이 각각의 메모리 뱅크에 대하여 각각의 포트에 부가된다. 뱅크 가용도 핀은 특정한 포트에 대해 뱅크가 가용한 경우에 신호화되고 뱅크가 가용하지 않은 경우에 비신호화 된다. 그러므로 멀티 포트 메모리 장치는 공유를 지원하는 작은 양의 추가적인 하드웨어만으로도 동시에 수 개의 부품들에 의해 공유될 수 있다. 또한 메모리 뱅크를 리프레쉬 하기 위한 방법들을 제공한다.

Description

공유 멀티 포트 메모리 장치에서 뱅크의 공유 및 리프레쉬{BANK SHARING AND REFRESH IN A SHARED MULTI-PORT MEMORY DEVICE}
본 발명은 멀티 포트 메모리 장치의 메모리 뱅크를 공유 및 리프레쉬 하기 위한 방법과 시스템에 관한 것이다.
컴퓨터 하드웨어에 있어서, 공유 메모리는 통상 다중 프로세서 컴퓨터 시스템에서 수 개의 상이한 중앙 처리 장치(CPU) 또는 다른 부품들에 의해 액세스 가능한 큰 랜덤 액세스 메모리 블록을 가리킨다. 예를 들어, 휴대 전화는 흔히 기저대역 프로세서, 미디어 프로세서, LCD 제어기를 포함하고, 이들 각각은 공통 메모리 영역을 공유할 수 있다. 다중 프로세서 시스템의 부품들은 자주 정보를 공유할 필요가 있다. 예를 들어, 휴대 전화의 미디어 프로세서는 전화를 걸기 위해 기저대역 프로세서와 상호 작용하는 운영 체계를 실행할 수 있다. 다른 예로서, 미디어 프로세서는 표시될 영상을 기술하는 정보를 LCD 제어기의 프레임 버퍼에 기입할 수 있다. 부품들 간의 정보 공유는 통상 다수의 다양한 제어 및 데이터 인터페이스를 필요로 한다. 제어 및 데이터 인터페이스는 부품들 각각의 사이에 정의될 수도 있고 부품들과 공유 메모리 사이에 정의될 수도 있다. 또한 공유 메모리의 액세스를 조정(coordination)하기 위해 공유 메모리를 사용하는 각각의 부품들 사이에 추가적인 인터페이스가 있을 수 있다.
동적 랜덤 액세스 메모리(DRAM)를 포함하는 전형적인 메모리 장치에 있어서, 메모리에 액세스하는 부품은 메모리 장치의 사용을 시작하기 위해 활성화(activate: ACT) 커맨드를 송신한다. 메모리는 통상 로우 및 칼럼 어드레스를 제공하여 액세스되고, 로우 어드레스는 ACT 커맨드와 동반할 수 있다. ACT 커맨드는 후속 판독 커맨드들이 다양한 메모리 데이터 칼럼에 액세스(예를 들어, 판독 및 기입) 할 수 있는 버퍼에서 특정한 메모리 로우가 캐시되도록 한다. 부품이 로우 내에 데이터를 가지고 종료된 경우, 부품은 통상 로우 데이터가 메모리 뱅크에 다시 기입되도록 하는 프리차지(precharge: PCG) 커맨드를 발행한다. 부품이 추가적인 메모리 데이터 로우들에 액세스함에 따라 이러한 사이클이 반복된다.
공유 메모리 장치의 한가지 문제점은 다중 프로세서 구조의 부품들이 자주 공유 메모리 장치 내에서 뱅크를 공유할 필요가 있다는 것이다. 예를 들어, 하나의 뱅크는 작업을 완료하도록 하나의 부품에 할당될 수 있고, 다음으로 작업이 완료된 경우에 다른 부품에 할당될 수 있다. 다른 예로서, 부품들은 부품 간에 정보를 공유하기 위해 하나의 뱅크를 사용할 수 있고, 각각의 부품이 메모리에 액세스하기 안전한 때를 검출할 수 있도록 조정하는 것이 필요할 수 있다. 두 개의 부품이 동시에 메모리에 기입을 시도하면, 하나의 부품에 의해 기입된 정보에 다른 부품이 겹쳐 기입하여 데이터 오손(corruption)이 일어날 수 있다. 이와 마찬가지로, 하나의 부품이 다른 부품과의 공유를 위한 정보를 메모리에 기입하고 다른 부품이 메모리에서 정보를 너무 일찍 판독하면, 판독하는 부품은 이전의 정보를 판독하게 된다. 그러므로 메모리 뱅크를 공유하는 개선된 방법에 대한 필요성이 있다.
도 1은 멀티 포트 메모리 장치의 부품들을 도시한 블록도이다.
도 2는 멀티 포트 메모리 장치의 뱅크 액세스 제어기의 처리를 도시한 순서도이다.
도 3A는 뱅크 리프레쉬 제어 모듈을 도시한 블록도이다.
도 3B는 도 3A에 도시된 뱅크 리프레쉬 제어 모듈의 상태를 도시한 상태도이다.
부품들 간에 메모리 뱅크를 공유하기 위한 방법과 시스템을 제공한다. 멀티 포트 메모리 장치는 다중 프로세서 시스템의 부품들이 부착되는 다수의 포트와, 포트들 각각에 의해 공유되는 멀티 포트 메모리 장치 내부의 하나 이상의 메모리 뱅크를 포함한다. 뱅크는 뱅크가 사용 가능한지를 나타내는 표시를 각각의 포트에게 제공한다. 예를 들어, 뱅크는 특정한 포트에 대해 뱅크가 가용한 경우에 신호화되고 뱅크가 가용하지 않은 경우에 비신호화되는 뱅크 가용도 하드웨어 핀을 제공할 수 있다. 대신으로, 뱅크는 메모리 장치의 표준 핀들(예를 들어, 데이터 핀들)을 통해 뱅크 가용도 표시를 제공할 수 있다. 포트에 부착된 부품이 메모리 뱅크를 사용하고자 하는 경우, 부품은 뱅크 가용도 표시를 검사하여 뱅크가 가용한지를 판단한다. 뱅크 가용도 표시가 뱅크의 가용함을 나타내면, 부품은 메모리 뱅크를 예약하기 위한 요청을 입력 제어 핀을 통해서 등과 같이 송신한다. 예를 들어, DRAM의 뱅크를 예약하기 위한 요청은 DRAM ACT 커맨드를 포함할 수 있다. 뱅크가 뱅크 예약 요청을 수신한 경우, 뱅크는 포트들 각각에 대해 뱅크 가용도 표시를 변경한다. 예약 요청을 보냈던 포트에 대하여, 뱅크 가용도 표시는 지속적으로 뱅크가 가용함을 나타낸다. 그러나, 다른 포트들 각각에 대하여, 뱅크 가용도 표시는 뱅크가 사용 중임을 나타내어, 뱅크 예약 요청을 발행한 부품의 배타적 사용을 위해 뱅크를 효과적으로 예약한다. 다음으로, 뱅크 예약 요청을 발행했던 부품은 메모리 뱅크에 판독 및 기입할 수 있다. 부품이 메모리 뱅크의 사용을 마친 경우, 부품은 뱅크의 예약을 그만두기 위해 (예를 들어, 입력 제어 핀을 비신호화하여) 뱅크 해제 커맨드를 송신한다. 예를 들어, 뱅크를 해제하기 위한 요청은 DRAM PCG 커맨드를 포함할 수 있다. 다음으로, 메모리 뱅크는 메모리 뱅크가 다시 한번 포트들 중 임의의 포트에 의해 사용 가능함을 나타내도록 뱅크 가용도 표시를 변경한다. 따라서, 멀티 포트 메모리 장치는 공유를 지원하는 작은 양의 추가적인 하드웨어만으로도 동시에 수 개의 부품들에 의해 공유될 수 있다.
뱅크 액세스 제어
일부 실시예에 있어서, 멀티 포트 메모리 장치는 두 개의 부품이 ACT 커맨드를 송신하여 동시에 뱅크의 예약을 시도하는 경우에 사용되는 포트 사이의 우선 순위를 설정한다. 예를 들어, 두 개의 부품 모두 가용도 핀을 검사하고, 뱅크가 가용함을 판단하고, 뱅크의 예약을 시도하여 ACT 커맨드를 송신할 수 있다. 멀티 포트 메모리 장치는 더 높은 우선 순위를 갖는 포트에 예약을 허가할 것이다. 부품들은 예약 요청이 성공했는지를 판단하기 위해 가용도 핀을 사용할 수 있다. 더 높은 우선 순위의 부품은 '1'로 설정된 뱅크 가용도 핀을 가질 것이고, 반면에 더 낮은 우선 순위의 부품(과 다른 포트들 각각)은 '0'으로 설정된 뱅크 가용도 핀을 가질 것이다.
당해 분야에서 통상의 지식을 가진 당업자들은 뮤텍스와 세마포어 같은 공통 동기화 구성체들이 뱅크 가용도 핀을 사용하여 구축 가능함을 인식할 것이다. 부품은 뱅크의 가용도를 낙관적으로 시험하는 ACT 커맨드를 발행한다. 뱅크가 가용하면, 다음으로 ACT 커맨드가 뒤따르고 뱅크 가용도 핀은 부품이 메모리 뱅크에 액세스하기 위한 예약을 했음을 나타낸다. (예를 들어, 뱅크가 이미 예약되었기 때문에) ACT 커맨드가 실패하면, 다음으로 뱅크 가용도 핀은 뱅크가 가용하지 않음을 나타내고, 부품은 뱅크가 가용한 때를 판단하기 위해 추가적인 ACT 커맨드를 송신하여 뱅크를 주기적으로 폴링(poll)할 수 있다. 최적의 경우로서, 부품은 추가적인 ACT 커맨드를 송신하기 전에 뱅크 가용도 핀이 뱅크가 더 이상 예약되지 않았음을 나타낼 때까지 대기할 수도 있다.
일부 실시예에 있어서, 멀티 포트 메모리 장치는 어떤 부품들이 각각의 메모리 뱅크에 액세스 가능한지를 판단하기 위한 전자 퓨즈들을 제공한다. 전자 퓨즈는 전자 신호를 장치에 송신하여 끊을 수 있는 퓨즈이다. 많은 전자 퓨즈들은 한번 끊어지면 재설정될 수 없으며, 하드웨어 구성에 대한 소프트웨어 조작(tampering)을 방지하기 위한 효과적인 도구가 된다. 예를 들어, 일정한 전자 퓨즈들을 끊음에 의하여, 뱅크 가용도 핀이 하나의 포트에 대하여 항상 가용도를 나타내고 다른 포트들에 대하여는 항상 비가용도를 나타내는 멀티 포트 메모리 장치를 구성하는 응용이 있을 수 있다. 이러한 구성은 제조 과정의 일부로서 수행되거나 또는 메모리 장치가 특정한 응용에 결합된 후의 분야에서 수행될 수도 있다. 일부 응용에 있어서, 부품들 사이의 하드웨어 방화벽의 한 형태를 실시하기 위해 일부 부품이 다른 부품들에 의해 사용되는 메모리 뱅크에 액세스할 수 없음을 보장하는 것이 바람직하다. 예를 들어, 휴대 전화는 흔히 휴대 전화 사용자에게 사용자 인터페이스를 제시하는 운영 체계를 실행하는 미디어 프로세서의 잘못된 행위로부터 휴대 전화 공급자 네트워크와 통신하는 기저대역 프로세서에 의해 사용되는 메모리를 보호하도록 설계된다. 이러한 유형의 설계는, 무효 데이터가 공급자의 네트워크 상에 송신되면 일어날 수 있는 것과 같이, 운영 체계 소프트웨어의 에러가 공급자의 네트워크에 영향을 주는 것을 방지한다. 일정한 전자 퓨즈들을 끊음에 의하여, 미디어 프로세서는 기저대역 프로세서에 의해 사용되는 메모리 뱅크로 액세스하는 것이 하드웨어를 통해 방지될 수 있다.
일부 실시예에 있어서, 멀티 포트 메모리 장치는 하나의 응용이 메모리 뱅크의 가용도의 구성을 동적으로 바꾸기 위해 사용할 수 있는 모드 레지스터 세트(MRS)를 제공한다. 한번 끊어지면 대체로 재설정될 수 없는 전자 퓨즈와 달리, MRS는 시간의 추이에 따라 멀티 포트 메모리 장치의 구성을 변경하기 위해 소프트웨어에 의해 반복적으로 설정될 수 있다. 동일한 장치에서 하드웨어 잠금 구성과 재설정 가능한 구성 모두를 제공하기 위하여, 현재 구성이 모드 레지스터 세트에 의해 설정되는지 또는 다른 전자 퓨즈들에 의해 설정되는지를 판단하는 데 마스터 전자 퓨즈가 사용될 수 있다. 하나의 응용이 하드웨어 잠금 구성을 필요로 하는 경우, 이러한 응용은 다른 전자 퓨즈들의 구성이 장치의 구성을 제어하도록 마스터 전자 퓨즈를 끊을 수 있으며, 소프트웨어는 구성에 대해 추가적으로 변화를 수행하는 것이 방지될 수 있다. 하나의 응용이 재설정 가능한 구성을 필요로 하는 경우, 마스터 전자 퓨즈는 끊어지지 않고, MRS 내의 구성 데이터가 장치의 구성을 제어한다.
도 1은 일 실시예의 멀티 포트 메모리 장치(100)의 부품들을 도시한 블록도이다. 멀티 포트 메모리 장치(100)는 하나 이상의 메모리 뱅크(110), 하나 이상의 직렬 포트(120), 메모리 뱅크들 각각과 관련된 하나 이상의 뱅크 액세스 제어기(130), 하나 이상의 전자 퓨즈(140), 입력 제어 핀들(145), 출력 제어 핀들(150)을 포함한다. 메모리 뱅크(110)는 통상 동적 랜덤 액세스 메모리(DRAM) 뱅크이고, 크기가 다양할 수 있고, 포트(120)에 의해 공유된다. 포트(120)는 포트에 결합되는 부품(미도시)과의 데이터 송수신을 허용하는 직렬 포트이다. 뱅크 액세스 제어기(130)는 어떤 포트가 임의의 특정한 시간에 어떤 메모리 뱅크에 액세스 가능한지를 판단한다. 일부 실시예에 있어서, 뱅크 액세스 제어기(130)는 각각의 메모리 뱅크(110)와 관련되어 그 뱅크에 대한 뱅크 액세스 요청을 처리한다. 포트에 부착된 부품이 메모리 뱅크를 예약하고자 하는 경우, 부품은 입력 제어 핀(145) 상으로 뱅크 사용 요청(예를 들어, ACT 커맨드)을 송신한다. 특정한 메모리 뱅크와 관련된 뱅크 액세스 제어기(130)는 요청에 응답하는 법을 결정하고, 출력 제어 핀(150)을 사용하여 뱅크 사용 허가 또는 거부로 응답한다.
뱅크 액세스 제어기(130)는 뱅크 액세스 제어에 대한 세가지 옵션으로, 비제어, 구성에 의한 제어, 우선 순위에 기반한 제어를 허용한다. 비제어 옵션은 관련된 뱅크에 대한 액세스가 메모리 장치에 의해 조절되지 않는다는 것을 의미한다. 비제어 옵션은 뱅크에 대한 액세스를 관리하기 위해 다수의 부품들 또는 포트 마스터들 간의 외부 조정에 의존된다. 일부 실시예에 있어서, 비제어 옵션은 우회 액세스 제어 신호를 지정하여 선택될 수 있다. 구성에 의한 제어 옵션은 뱅크에 대한 액세스가 메모리 장치의 구성에 기반하여 제한된다는 것을 의미한다. 구성에 의한 제어는 각각의 포트에 뱅크 액세스 권리를 할당하기 위해 전자 퓨즈 또는 모드 레지스터 세트 중 어느 하나를 사용한다. 할당이 퓨즈 또는 모드 레지스터 세트에 의해 일어날지를 선택하기 위해 다른 퓨즈가 사용될 수 있다. 우선 순위에 기반한 제어 옵션은 배타적 사용 권리가 경쟁하는 포트들 간에 설정된 우선 순위에 기반하여 포트에 부여되는 것을 의미한다.
도 1에 있어서, 각각의 뱅크 액세스 제어기(130)는 뱅크 사용 요청이 관련된 뱅크에 대하여 수락될 것인지 거부될 것인지를 판단하는 내부 로직을 포함한다. 특히, 뱅크 액세스 제어는 1) 포트들 사이의 우선 순위를 판단하는 우선 순위 인코더(160), 2) 관련된 메모리 뱅크가 액세스로부터 디스에이블 되도록 하는 디스에이블 액세스 제어(170), 3) 구성 데이터의 설정에 응답하는 외부 액세스 제어(180)(예를 들어, 모드 레지스터 세트(MRS) 및/또는 하나 이상의 전자 퓨즈(140))를 포함한다. 우선 순위 인코더(160)는 포트들 사이의 우선 순위를 설정하여, 메모리 뱅크에 액세스하기 위해 동시 요청을 한 더 높은 우선 순위 부품이 더 낮은 우선 순위 부품에 우선하여 액세스를 허가 받게 된다. 우선 순위 인코더 동작은 더 높은 번호의 포트(예를 들어, port2, port3)에 연결된 더 낮은 우선 순위의 부품보다는 더 낮은 번호의 포트(예를 들어, port0, port1)에 연결된 더 높은 우선 순위의 부품에 의존한다. 디스에이블 액세스 제어는 해당 뱅크가 라인(185)에 인가되는 단일 디스에이블 제어 신호의 인가에 의해 디스에이블 되도록 한다. 외부 액세스 제어(180)는 일정한 포트들이 해당 메모리 뱅크에 액세스하는 것이 방지되도록 한다. 외부 액세스 제어의 상태는 액세스 제어에 인가되는 구성 데이터에 의존한다. 이러한 구성 데이터는 MRS 또는 하나 이상의 전자 퓨즈(140)의 설정에서 얻어질 수 있다. MRS 또는 퓨즈들(140)의 상태는 외부 액세스 제어를 형성하는 로직에 적용되며, MRS 또는 퓨즈들의 상태가 바뀔 때까지 하나 이상의 포트에 대하여 해당 뱅크로의 액세스가 거부되도록 한다. 예를 들어, 본 명세서에 기술된 바와 같이, 일부 응용에서는, 하나의 부품이 다른 부품에 의해 사용되는 메모리에 액세스하는 것을 하드웨어 수준에서 방지하는 것이 바람직할 수 있다. 이는 소프트웨어 에러가 부품들을 거쳐 메모리 오손을 야기하는 것을 방지하기 위해 사용될 수 있다. 디스에이블 신호와 MRS 또는 퓨즈들의 상태뿐만 아니라 뱅크 액세스 제어기(130)에 인가된 뱅크 액세스 요청의 조합은 제어 및 데이터 인터페이스(150) 상에 뱅크가 액세스 가능한 것으로서 또는 액세스 가능하지 않은 것으로서 나타나는지를 판단한다. 일부 실시예에 있어서, 마스터 전자 퓨즈(미도시)는 MRS 또는 전자 퓨즈들이 구성을 결정하기 위해 사용되는지를 판단한다.
도 2는 멀티 포트 메모리 장치의 뱅크 액세스 제어기(130) 중 하나의 처리를 도시한 순서도이다. 단계(210)에서, 제어기는 포트들 중 하나의 포트에 부착된 부품으로부터 멀티 포트 메모리 장치의 뱅크에 액세스하기 위한 요청을 수신한다. 단계(220)에서, 제어기는 특정한 포트에 대해 설정된 우선 순위와 구성을 판단한다. 이러한 판단은 요청한 포트가 현재 메모리 뱅크에 액세스하는 것이 허용되는지를 판단하기 위해, 우선 순위 테이블을 검사하기, 하나 이상의 전자 퓨즈의 값을 판독하기 등을 포함할 수 있다. 결정 단계(230)에서, 포트가 뱅크에 액세스하는 것이 허용되지 않으면, 다음으로 뱅크 액세스 제어기는 단계(240)로 진행하여 액세스 요청을 거부하고, 그렇지 않은 경우, 제어기는 단계(250)로 진행한다. 단계(250)에서, 제어기는 액세스 요청을 수락하고, 포트에 부착된 부품은 메모리에 대해 판독 및 기입을 시작할 수 있다. 단계(260)에서, 뱅크 액세스 제어기는 다른 포트에 부착된 부품들에게 뱅크가 예약되어 현재 가용하지 않음을 나타내는 표시를 제공한다. 단계(260) 후에 이러한 과정이 종료된다.
사용 중인 액세스 제어 스킴에 기반하여, 메모리 뱅크의 사용을 시도하는 부품은 메모리 뱅크에 대한 액세스가 거부되는 것이 가능하다. 부품이 액세스 거부되는 경우, 멀티 포트 메모리 장치는 액세스가 거부되었음을 나타내는 메시지를 부품에 송신할 수 있다. 부품은 임의의 진행중인 판독 버스트를 완료하고 실패한 커맨드를 이후에 재 발행하여 메시지를 처리할 수 있다. 예를 들어, 부품은 커맨드가 성공할 때까지 뱅크에 액세스하기 위한 커맨드를 재 발행하여, 뱅크가 가용할 때까지 특정한 뱅크를 반복적으로 폴링할 수 있다.
리프레쉬 타이밍
멀티 포트 메모리 장치(100)에 포함된 DRAM 뱅크들(110)은 통상 DRAM이 액세스 될 수 있는 방식을 통제하는 특유의 타이밍 고려사항을 갖는다. 예를 들어, DRAM은 다음과 같은 타이밍 매개 변수를 가질 수 있다.
클록 당 커맨드/커맨드 율
(Commands Per Clock(CPC)/Command Rate)
칩 셀렉트가 실행되는 시점과 커맨드들이 재 발행 가능한 시점 사이의 사이클에서의 시간의 양.
로우 사이클 시간
(Row Cycle Time (tRC))
로우가 전체 사이클을 완료하는데 걸리는 사이클에서의 최소 시간. tRC가 너무 짧게 설정되면 데이터 오손을 야기할 수 있고, 너무 길게 설정되면 성능 손실을 초래하지만 안정성이 증가한다.
로우 대 로우 지연
(Row to Row Delay (tRRD))
다음의 메모리 로우를 활성화하는데 걸리는 사이클의 양. 타이밍이 더 낮을 수록 성능이 더 향상되지만, 낮은 tRRD 값은 불안정성을 야기할 수 있다.
로우 리프레쉬 사이클
(Row Refresh Cycle (tRFC))
메모리 뱅크 상의 로우를 리프레쉬 하는데 걸리는 사이클의 양. tRFC가 너무 짧게 설정되면 데이터 오손을 야기할 수 있고, 너무 길게 설정되면 성능 손실을 초래하지만 안정성이 증가한다.
기입 복구 시간
(Write Recovery Time (tRW))
데이터가 적절하게 기입된다는 것을 보장하기 위해 유효한 기입 동작과 프리차지 후에 요구되는 사이클에서의 시간의 양.
판독 대 기입 지연
(Read to Write Delay (tRTW))
기입 커맨드가 수신된 경우, 이 커맨드가 실행되기 위한 사이클에서의 시간의 양.
기입 대 판독 지연
(Write to Read Delay (tWTR))
유효한 기입 커맨드와 다음의 판독 커맨드 사이에 요구되는 사이클에서의 시간의 양. tWTR이 낮을 수록 성능이 더 향상되지만, 불안정성을 야기할 수 있다.
리프레쉬 시간
(Refresh Time (tREF))
전하를 손실하여 오손되지 않도록 메모리 셀이 리프레쉬 될 필요가 있기 전의 최대 사이클 수.
멀티 포트 메모리 장치(100)는 일관된 메모리 상태를 보장하기 위해 DRAM에 의해 요구되는 임의의 타이밍 고려 사항을 관찰해야 한다. 메모리 뱅크가 다수의 부품들 간에 공유되는 경우, 뱅크를 사용하는 하나의 부품은 다른 부품이 뱅크로 한 작업을 알 수 없다. 이는 예를 들어 충분한 판독 대 기입 지연이 경과했는지 또는 충분한 리프레쉬 간격이 유지되고 있는지를 보장하는 것을 어렵게 할 수 있다. 또한, 부품들은 통상 일정한 유형의 커맨드 다음으로 멀티 포트 메모리 장치의 뱅크들을 리프레쉬 하는 자동 리프레쉬 커맨드(REFA)를 송신할 책임이 있다. 그러나, 다수의 부품이 메모리 장치를 사용하는 경우, 하나의 포트에 수신된 REFA 커맨드는 다른 포트에 대한 액세스와 충돌할 수 있다. 그러므로, 일부 실시예에 있어서, 멀티 포트 메모리 장치(100)는 본 명세서에 기술된 자체의 자동 또는 국부 리프레쉬 스킴을 이용한다.
도 3A는 뱅크 리프레쉬 제어 모듈(300)을 도시한 블록도이다. 멀티 포트 메모리 장치는 리프레쉬 사이클(이하, "국부 리프레쉬"로 칭함) 동안에 메모리 뱅크들에 대한 액세스를 일시적으로 방지하기 위해 뱅크 리프레쉬 제어 모듈(300)을 사용한다. 모듈은 뱅크 리프레쉬 제어기(320)에 결합된 리프레쉬 타이머(310)를 포함한다. 리프레쉬 제어기(320)는 DRAM 메모리 뱅크들에 결합되며, 메모리가 사용 중이 아닌 경우 메모리를 리프레쉬 하기 위해 리프레쉬 신호를 발행할 수 있다. 동작 중에, 리프레쉬 타이머(310)는 refresh_tick 신호를 주기적으로 발행한다. refresh_tick 신호는 뱅크 리프레쉬가 수행되어야 함을 나타내고, 멀티 포트 메모리 장치의 모든 뱅크에 대해 전체적으로 생성되거나 또는 장치 내의 각각의 뱅크에 대해 국부적으로 생성될 수 있다. 뱅크 리프레쉬 제어기(320)는 refresh_tick 신호를 수신하고, 뱅크 액세스 제어기(130)로부터의 뱅크 사용 허가 신호들을 논리 합하여 뱅크가 사용 중인지를 판단한다. 뱅크가 사용 중이 아니면, 뱅크 리프레쉬 제어기(320)는 뱅크를 리프레쉬 하기 위하여 리프레쉬 신호를 생성한다. 뱅크 리프레쉬 제어기(320)는 또한 리프레쉬 동작이 진행 중인 경우 메모리 뱅크에 대한 액세스를 방지하기 위해 뱅크 액세스 제어기(130)의 뱅크 사용 허가 신호들과 함께 논리 곱을 통해 반전 결합된 논리 "1" 신호, in_refresh를 생성한다. 리프레쉬 동작 동안에 임의의 뱅크 액세스 시도가 있는 경우, 요청하는 부품에 액세스 거부 메시지가 송신되고, 부품은 통상 리프레쉬가 완료된 후에 액세스를 다시 시도하게 될 것이다. 리프레쉬 동작이 완료된 경우, 뱅크 리프레쉬 제어기(320)는 뱅크 액세스 제어기(130)의 정상 작동이 가능하도록 in_refresh 신호를 논리 "0"으로 설정한다. 뱅크 리프레쉬 제어기(320)가 refresh_tick 신호를 수신한 경우에 뱅크가 사용 중이면, 뱅크 리프레쉬 제어기는 리프레쉬 동작을 완료하기 전에 뱅크가 사용 중이 아닐 때까지 대기한다.
도 3B는 도 3A에 도시된 뱅크 리프레쉬 제어 모듈(300)의 상태를 도시한 상태도이다. 정상 상태(370)에서는, refresh_tick, in_use, in_refresh 라인들이 신호화되지 않고 정상적인 메모리 동작이 허용된다. refresh_tick 라인이 신호화되고 메모리 뱅크가 사용 중이 아니면, 상태는 리프레쉬 상태(390)로 바뀐다. 메모리 뱅크가 사용 중이면, 상태는 메모리 뱅크를 사용한 동작이 완료되는 경우 in_use 라인이 비신호화 될 때까지 대기하는 대기 상태(380)로 바뀐다. 다음으로, 상태는 리프레쉬 상태(390)로 바뀐다. 리프레쉬 상태에서, 뱅크 리프레쉬 제어 모듈은 리프레쉬 동작을 완료한다. tRC의 경과로 나타낸 리프레쉬 동작이 완료된 후, 상태는 정상 상태(370)로 복귀되고 부품들은 다시 한번 뱅크를 사용한 메모리 동작을 수행할 수 있다.
일부 실시예에 있어서, 도 3A에 도시된 리프레쉬 타이머(310)는 뱅크에 발행된 커맨드의 유형에 기반하여 리프레쉬가 필요한 경우를 자동적으로 판단하는 커맨드 디코더로 대체될 수 있다. 자동 리프레쉬 스킴으로 불리는 이러한 스킴은 더 많은 하드웨어를 필요로 하지만, 부품들이 더 적은 리프레쉬 지연을 겪으며 메모리 뱅크를 사용하게 한다.
일부 실시예에서, 멀티 포트 메모리 장치는 DRAM에 액세스하는 동작들 사이에 요구되는 시간을 줄이도록 설계된다. 예를 들어, 칼럼 폭은 뱅크 활성화를 위한 에너지를 경감하기 위해 제한될 수 있다. 멀티 포트 메모리 장치는 또한 tRRD와 tFAW 같은 제약을 제거하기 위해 뱅크 마다 별도의 전압 발생기를 사용할 수도 있다. 당해 분야에서 통상의 지식을 가진 당업자들은 이러한 및 그 밖의 설계들이 메모리 뱅크를 공유하는 다수의 부품들 간의 경쟁을 줄이기 위해 사용될 것임을 인식할 것이다.
결론
상기한 바와 같이, 멀티 포트 메모리 장치의 특정한 실시예들이 설명의 목적으로 본 명세서에 기술되었지만, 본 발명의 정신과 범위를 벗어남이 없이 다양한 변형 실시가 가능한 것은 물론이다. 예를 들어, 처리 부품들이 메모리를 공유하기 위해 멀티 포트 메모리 장치에 부착된 것으로 기술되었지만, 다양한 유형의 부품들이 멀티 포트 메모리 장치에 부착될 수 있다. 예를 들어, 사운드 하드웨어, LCD 스크린, 비디오 하드웨어, 제어기 모듈, 디지털 신호 처리기, 및 다른 많은 유형의 부품들이 본 명세서에 기술된 멀티 포트 메모리 장치와 방법들을 사용하여 메모리를 공유할 수 있다. 다른 예로서, DRAM이 기술되었지만, 본 명세서에 기술된 방법들은 정적 랜덤 액세스 메모리(SRAM), 플래쉬 메모리 등과 같은 다른 유형의 메모리와 함께 사용될 수 있다. 따라서, 본 발명은 첨부된 청구 범위에 의해서만 제한된다.

Claims (25)

  1. 멀티 포트 메모리 장치에서 메모리 뱅크를 공유하기 위한 방법으로서,
    다수의 포트를 구비한 메모리 장치에서 다수의 메모리 뱅크 중 하나의 메모리 뱅크에 액세스하기 위한 요청을 제1 포트 상에 수신하는 단계와;
    다수의 메모리 뱅크 중 요청된 뱅크가 가용한지를 판단하는 단계로서, 뱅크 액세스 제어에 대한 다수의 옵션들 중 어떤 옵션이 요청된 뱅크에 대해 설정되었는지를 판단하는 단계를 포함하며, 뱅크 액세스 제어에 대한 상기 다수의 옵션들은 우선 순위 기반 제어, 비제어(no control), 및 구성에 의한 제어를 포함하고, 비제어는 상기 요청된 뱅크에 대한 액세스를 관리하기 위해 외부 조정을 사용하는, 단계;
    요청된 뱅크가 가용하면, 요청된 메모리 뱅크에 대한 액세스를 제1 포트에 허가하는 단계와;
    상기 제1 포트에 액세스를 허가하는 단계 이후, 요청된 메모리 뱅크가 제1 포트에 의해 예약됨을 나타내는 표시를 다른 포트들에게 제공하는 단계를 포함하는 메모리 뱅크의 공유 방법.
  2. 제1항에 있어서, 요청된 메모리 뱅크가 가용한지를 판단하는 단계는 멀티 포트 메모리 장치의 다른 포트들에 대한 제1 포트의 우선 순위를 판단하는 단계를 포함하는, 메모리 뱅크의 공유 방법.
  3. 제1항에 있어서, 요청된 메모리 뱅크가 가용한지를 판단하는 단계는 우회 액세스 제어 신호가 뱅크에 대하여 설정되는지를 판단하는 단계를 포함하고,
    우회 액세스 제어 신호는 다수의 부품이 외부 조정을 통하여 메모리 뱅크를 공유하도록 하는, 메모리 뱅크의 공유 방법.
  4. 제1항에 있어서, 요청된 메모리 뱅크가 가용한지를 판단하는 단계는 뱅크와 관련된 구성 데이터를 검사하는 단계를 포함하는, 메모리 뱅크의 공유 방법.
  5. 제4항에 있어서, 구성 데이터는 모드 레지스터 세트의 상태에 의해 반영되는, 메모리 뱅크의 공유 방법.
  6. 제4항에 있어서, 구성 데이터는 제1 전자 퓨즈 세트의 상태에 의해 반영되는, 메모리 뱅크의 공유 방법.
  7. 제6항에 있어서, 제2 전자 퓨즈 세트는 구성 데이터가 제1 전자 퓨즈 세트 또는 모드 레지스터 세트의 상태에 반영되는지를 판단하는, 메모리 뱅크의 공유 방법.
  8. 제1항에 있어서, 메모리 뱅크가 가용한지를 판단하는 단계는 메모리 뱅크와 관련된 유한 상태 기계의 리프레쉬 상태를 판단하는 단계를 포함하는, 메모리 뱅크의 공유 방법.
  9. 제1항에 있어서, 메모리 뱅크를 해제하기 위한 요청을 제1 포트 상에 수신하는 단계를 더 포함하는 메모리 뱅크의 공유 방법.
  10. 제9항에 있어서, 메모리 뱅크를 해제하기 위한 제1 포트 상의 요청은 DRAM 프리차지 요청인, 메모리 뱅크의 공유 방법.
  11. 제1항에 있어서, 메모리 뱅크에 액세스하기 위한 제1 포트 상의 요청은 DRAM 활성화 요청인, 메모리 뱅크의 공유 방법.
  12. 제1항에 있어서, 표시를 제공하는 단계는 뱅크 가용도 신호를 변경하는 단계를 포함하는, 메모리 뱅크의 공유 방법.
  13. 하나 이상의 부품 장치에 부착된 포트들 간에 메모리 뱅크를 공유하기 위한 멀티 포트 메모리 장치로서,
    다수의 메모리 뱅크와;
    다수의 메모리 뱅크에 결합된 다수의 포트와;
    다수의 포트에 결합되며, 부품으로부터 포트에 수신된 액세스 요청에 기반하여 다수의 포트 중 하나의 포트에 결합된 부품이 다수의 메모리 뱅크 중 하나의 메모리 뱅크에 액세스 가능한지를 판단하도록 구성된 뱅크 액세스 제어기를 포함하며,
    상기 뱅크 액세스 제어기는 뱅크 액세스 제어에 대한 다수의 옵션들 중 하나로 설정되고, 상기 다수의 옵션들은 우선 순위 기반 제어, 비제어, 및 구성에 의한 제어를 포함하며, 비제어는 상기 요청된 뱅크에 대한 액세스를 관리하기 위해 외부 조정을 사용하고,
    상기 뱅크 액세스 제어기는:
    우선 순위 기반 제어를 위해 포트들 사이의 우선 순위를 결정하기 위한 우선 순위 인코더;
    상기 메모리 뱅크가 액세스로부터 디스에이블 되도록 하는 디스에이블 액세스 제어; 및
    상기 메모리 뱅크의 구성에 의한 제어를 위해 구성 데이터의 설정에 응답하는 외부 액세스 제어를 포함하는 멀티 포트 메모리 장치.
  14. 제13항에 있어서, 뱅크 액세스 제어기는 멀티 포트 메모리 장치의 다른 포트들에 대한 요청된 포트의 우선 순위에 기반하여 부품이 메모리 뱅크에 액세스 가능한지를 판단하는, 멀티 포트 메모리 장치.
  15. 제13항에 있어서, 뱅크 액세스 제어기는 디스에이블 신호가 뱅크에 대하여 설정되는지에 기반하여 부품이 메모리 뱅크에 액세스 가능한지를 판단하는, 멀티 포트 메모리 장치.
  16. 제13항에 있어서, 뱅크 액세스 제어기는 뱅크에 관련된 구성 데이터에 기반하여 부품이 메모리 뱅크에 액세스 가능한지를 판단하는, 멀티 포트 메모리 장치.
  17. 제13항에 있어서, 뱅크 액세스 제어기는 뱅크에 관련된 하나 이상의 전자 퓨즈의 상태에 기반하여 부품이 메모리 뱅크에 액세스 가능한지를 판단하는, 멀티 포트 메모리 장치.
  18. 제13항에 있어서, 다수의 메모리 뱅크의 각각에 관련된 뱅크 가용도 핀을 더 포함하고,
    부품은 액세스 요청을 송신하기 전에 뱅크 가용도 핀의 값을 확인하는, 멀티 포트 메모리 장치.
  19. 제13항에 있어서, 다수의 메모리 뱅크의 각각에 관련된 뱅크 가용도 핀을 더 포함하고,
    뱅크 액세스 제어기는 액세스 요청을 수신한 후에 뱅크 가용도 핀의 값을 확인하여 액세스 요청의 성공 여부를 판단하는, 멀티 포트 메모리 장치.
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
KR1020107014889A 2007-12-06 2008-11-12 공유 멀티 포트 메모리 장치에서 뱅크의 공유 및 리프레쉬 KR101558482B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/952,052 2007-12-06
US11/952,052 US8001334B2 (en) 2007-12-06 2007-12-06 Bank sharing and refresh in a shared multi-port memory device

Publications (2)

Publication Number Publication Date
KR20100095459A KR20100095459A (ko) 2010-08-30
KR101558482B1 true KR101558482B1 (ko) 2015-10-07

Family

ID=40254406

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107014889A KR101558482B1 (ko) 2007-12-06 2008-11-12 공유 멀티 포트 메모리 장치에서 뱅크의 공유 및 리프레쉬

Country Status (7)

Country Link
US (1) US8001334B2 (ko)
EP (1) EP2243139B1 (ko)
JP (1) JP5597546B2 (ko)
KR (1) KR101558482B1 (ko)
CN (1) CN101884071B (ko)
TW (1) TWI391949B (ko)
WO (1) WO2009073331A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11688453B2 (en) 2021-02-02 2023-06-27 Samsung Electronics Co., Ltd. Memory device, memory system and operating method

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
CN101681282A (zh) 2006-12-06 2010-03-24 弗森多系统公司(dba弗森-艾奥) 用于共享的、前端、分布式raid的装置、系统和方法
KR20090013342A (ko) * 2007-08-01 2009-02-05 삼성전자주식회사 멀티 포트 반도체 메모리 장치 및 그에 따른 리프레쉬 방법
US8402410B2 (en) * 2007-08-27 2013-03-19 Samsung Electronics Co., Ltd. Method and apparatus for managing configuration memory of reconfigurable hardware
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
WO2010123681A2 (en) 2009-04-22 2010-10-28 Rambus Inc. Protocol for refresh between a memory controller and a memory device
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
US8972627B2 (en) 2009-09-09 2015-03-03 Fusion-Io, Inc. Apparatus, system, and method for managing operations for data storage media
US9021158B2 (en) 2009-09-09 2015-04-28 SanDisk Technologies, Inc. Program suspend/resume for memory
US8289801B2 (en) 2009-09-09 2012-10-16 Fusion-Io, Inc. Apparatus, system, and method for power reduction management in a storage device
KR101635395B1 (ko) * 2010-03-10 2016-07-01 삼성전자주식회사 멀티포트 데이터 캐시 장치 및 멀티포트 데이터 캐시 장치의 제어 방법
US9104581B2 (en) 2010-06-24 2015-08-11 International Business Machines Corporation eDRAM refresh in a high performance cache architecture
US8244972B2 (en) 2010-06-24 2012-08-14 International Business Machines Corporation Optimizing EDRAM refresh rates in a high performance cache architecture
US8380940B2 (en) * 2010-06-25 2013-02-19 Qualcomm Incorporated Multi-channel multi-port memory
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
KR101796116B1 (ko) 2010-10-20 2017-11-10 삼성전자 주식회사 반도체 장치, 이를 포함하는 메모리 모듈, 메모리 시스템 및 그 동작방법
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
WO2012082792A2 (en) 2010-12-13 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for auto-commit memory
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
WO2012106362A2 (en) 2011-01-31 2012-08-09 Fusion-Io, Inc. Apparatus, system, and method for managing eviction of data
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
US8943330B2 (en) * 2011-05-10 2015-01-27 Qualcomm Incorporated Apparatus and method for hardware-based secure data processing using buffer memory address range rules
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
CN103294405B (zh) * 2012-03-02 2016-08-17 联想(北京)有限公司 数据读写方法和电子设备
CN103309871B (zh) * 2012-03-09 2016-12-14 联想(北京)有限公司 文件读写方法和电子设备
CN103514067A (zh) * 2012-06-28 2014-01-15 鸿富锦精密工业(深圳)有限公司 内存条
CN103530208A (zh) * 2012-07-04 2014-01-22 鸿富锦精密工业(深圳)有限公司 内存条
JP2014067241A (ja) * 2012-09-26 2014-04-17 Fujitsu Semiconductor Ltd 半導体記憶装置及び電子装置
US9666244B2 (en) 2014-03-01 2017-05-30 Fusion-Io, Inc. Dividing a storage procedure
US9979180B2 (en) * 2014-10-20 2018-05-22 Infineon Technologies Ag Electronic fuse
US9933950B2 (en) 2015-01-16 2018-04-03 Sandisk Technologies Llc Storage operation interrupt
KR102373544B1 (ko) 2015-11-06 2022-03-11 삼성전자주식회사 요청 기반의 리프레쉬를 수행하는 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법
US10353815B2 (en) 2017-05-26 2019-07-16 Microsoft Technology Licensing, Llc Data security for multiple banks of memory
US10346345B2 (en) 2017-05-26 2019-07-09 Microsoft Technology Licensing, Llc Core mapping
US10587575B2 (en) 2017-05-26 2020-03-10 Microsoft Technology Licensing, Llc Subsystem firewalls
US11360934B1 (en) 2017-09-15 2022-06-14 Groq, Inc. Tensor streaming processor architecture
US11868804B1 (en) 2019-11-18 2024-01-09 Groq, Inc. Processor instruction dispatch configuration
US11114138B2 (en) 2017-09-15 2021-09-07 Groq, Inc. Data structures with multiple read ports
US11243880B1 (en) 2017-09-15 2022-02-08 Groq, Inc. Processor architecture
US11170307B1 (en) 2017-09-21 2021-11-09 Groq, Inc. Predictive model compiler for generating a statically scheduled binary with known resource constraints
US11537687B2 (en) 2018-11-19 2022-12-27 Groq, Inc. Spatial locality transform of matrices
US11216212B2 (en) 2019-03-19 2022-01-04 International Business Machines Corporation Minimizing conflicts in multiport banked memory arrays
US11030128B2 (en) * 2019-08-05 2021-06-08 Cypress Semiconductor Corporation Multi-ported nonvolatile memory device with bank allocation and related systems and methods
CN112783805B (zh) * 2019-11-05 2023-11-21 晶豪科技股份有限公司 内存芯片,内存模块以及用来假性存取其记忆库的方法
KR20210113859A (ko) * 2020-03-09 2021-09-17 에스케이하이닉스 주식회사 데이터 처리 시스템 및 그 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060161338A1 (en) * 2001-10-25 2006-07-20 Samsung Electronics Co., Ltd. Multi-port memory device providing protection signal
US20070022245A1 (en) * 2005-07-25 2007-01-25 Samsung Electronics Co., Ltd. Method of controlling refresh operation in multi-port dram and a memory system using the method

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4745545A (en) * 1985-06-28 1988-05-17 Cray Research, Inc. Memory reference control in a multiprocessor
JP2673390B2 (ja) * 1991-03-13 1997-11-05 三菱電機株式会社 マルチポートメモリ
JP2988804B2 (ja) * 1993-03-19 1999-12-13 株式会社東芝 半導体メモリ装置
US5875470A (en) * 1995-09-28 1999-02-23 International Business Machines Corporation Multi-port multiple-simultaneous-access DRAM chip
US6088760A (en) 1997-03-07 2000-07-11 Mitsubishi Semiconductor America, Inc. Addressing system in a multi-port RAM having main and cache memories
US6279084B1 (en) * 1997-10-24 2001-08-21 Compaq Computer Corporation Shadow commands to optimize sequencing of requests in a switch-based multi-processor system
US6298413B1 (en) * 1998-11-19 2001-10-02 Micron Technology, Inc. Apparatus for controlling refresh of a multibank memory device
US7120761B2 (en) * 2000-12-20 2006-10-10 Fujitsu Limited Multi-port memory based on DRAM core
JP4116801B2 (ja) * 2002-03-14 2008-07-09 富士通株式会社 半導体記憶装置
US7107386B1 (en) * 2001-08-08 2006-09-12 Pasternak Solutions, Llc Memory bus arbitration using memory bank readiness
US6789155B2 (en) * 2001-08-29 2004-09-07 Micron Technology, Inc. System and method for controlling multi-bank embedded DRAM
KR20050079862A (ko) * 2004-02-07 2005-08-11 삼성전자주식회사 접근 금지 신호를 갖는 듀얼 포트 메모리 장치
KR100721581B1 (ko) 2005-09-29 2007-05-23 주식회사 하이닉스반도체 직렬 입/출력 인터페이스를 가진 멀티 포트 메모리 소자
KR100745369B1 (ko) * 2005-12-22 2007-08-02 삼성전자주식회사 포트상태 시그날링 기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치
KR100689863B1 (ko) * 2005-12-22 2007-03-08 삼성전자주식회사 반도체 메모리 장치 및 그에 따른 방법
KR100735568B1 (ko) * 2006-01-23 2007-07-04 삼성전자주식회사 반도체 칩의 옵션회로 및 방법
JP4205743B2 (ja) * 2006-08-22 2009-01-07 エルピーダメモリ株式会社 半導体記憶装置及び半導体装置
KR101414774B1 (ko) * 2007-08-29 2014-08-07 삼성전자주식회사 멀티포트 반도체 메모리 장치
US8166238B2 (en) * 2007-10-23 2012-04-24 Samsung Electronics Co., Ltd. Method, device, and system for preventing refresh starvation in shared memory bank

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060161338A1 (en) * 2001-10-25 2006-07-20 Samsung Electronics Co., Ltd. Multi-port memory device providing protection signal
US20070022245A1 (en) * 2005-07-25 2007-01-25 Samsung Electronics Co., Ltd. Method of controlling refresh operation in multi-port dram and a memory system using the method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11688453B2 (en) 2021-02-02 2023-06-27 Samsung Electronics Co., Ltd. Memory device, memory system and operating method

Also Published As

Publication number Publication date
KR20100095459A (ko) 2010-08-30
EP2243139B1 (en) 2016-02-10
CN101884071A (zh) 2010-11-10
TW200943317A (en) 2009-10-16
US20090150621A1 (en) 2009-06-11
JP5597546B2 (ja) 2014-10-01
WO2009073331A1 (en) 2009-06-11
US8001334B2 (en) 2011-08-16
CN101884071B (zh) 2014-08-06
EP2243139A1 (en) 2010-10-27
TWI391949B (zh) 2013-04-01
JP2011507071A (ja) 2011-03-03

Similar Documents

Publication Publication Date Title
KR101558482B1 (ko) 공유 멀티 포트 메모리 장치에서 뱅크의 공유 및 리프레쉬
US7451263B2 (en) Shared interface for components in an embedded system
US8122186B2 (en) Memory device, memory system and dual port memory device with self-copy function
KR100918471B1 (ko) 반도체 메모리, 시스템, 및 반도체 메모리의 동작 방법
KR100847968B1 (ko) 컴퓨팅 시스템, 전자 통신 디바이스, 컴퓨팅 시스템 운영 방법 및 정보 처리 방법
CN107257964B (zh) Dram电路、计算机系统和访问dram电路的方法
JP2008034095A (ja) プロセッサ間のホストインターフェイシング機能を有するマルチパスアクセス可能な半導体メモリ装置
CN109863481A (zh) 用于平台裕度调节和调试的软件模式寄存器访问
US20080046665A1 (en) Multiport Memory Device, Multiprocessor System Including the Same, and Method of Transmitting Data In Multiprocessor System
US5822265A (en) DRAM controller with background refresh
US7373453B2 (en) Method and apparatus of interleaving memory bank in multi-layer bus system
US9442658B2 (en) Apparatuses and methods including selectively providing a single or separate chip select signals
JP4560498B2 (ja) 共有メモリ装置のための仲裁スキーム
KR20230069234A (ko) Dram을 위한 리프레시 관리 목록
KR101103619B1 (ko) 멀티 포트 메모리 및 그 억세스 제어 방법
KR101110550B1 (ko) 프로세서 장치, 멀티 프로세서 시스템 및 멀티 프로세서 시스템의 공유메모리 접근 방법
US8301816B2 (en) Memory access controller, system, and method
WO2022271404A1 (en) Memory controller with hybrid dram/persistent memory channel arbitration
KR100886179B1 (ko) 듀얼 포트 메모리로의 액세스 권한 획득 처리 방법 및 이를위한 장치
KR20080072412A (ko) 프로세서간 커맨드를 직접 전달하는 듀얼 포트 메모리 및이를 수행하기 위한 방법
JP2002197864A (ja) マルチポートメモリおよびその制御方法
KR100813133B1 (ko) 듀얼 포트 메모리 장치, 이를 가지는 메모리 시스템 및듀얼 포트 메모리 장치의 공유 메모리 영역의 적응적사용방법
JPH09198298A (ja) メモリ制御装置
KR100303327B1 (ko) 교환 시스템에서의 메모리 이중화를 위한 장치 및 방법
JPH11120027A (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: 20180919

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 5