KR20050013525A - 무선 애플리케이션을 위한 애플리케이션 프로세서 및메모리 아키텍쳐 - Google Patents

무선 애플리케이션을 위한 애플리케이션 프로세서 및메모리 아키텍쳐

Info

Publication number
KR20050013525A
KR20050013525A KR10-2004-7003405A KR20047003405A KR20050013525A KR 20050013525 A KR20050013525 A KR 20050013525A KR 20047003405 A KR20047003405 A KR 20047003405A KR 20050013525 A KR20050013525 A KR 20050013525A
Authority
KR
South Korea
Prior art keywords
processor
memory
baseband
memory subsystem
access
Prior art date
Application number
KR10-2004-7003405A
Other languages
English (en)
Inventor
무케시 케이 파텔
Original Assignee
나조미 커뮤니케이션즈, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/187,858 external-priority patent/US20030023958A1/en
Application filed by 나조미 커뮤니케이션즈, 인코포레이티드 filed Critical 나조미 커뮤니케이션즈, 인코포레이티드
Publication of KR20050013525A publication Critical patent/KR20050013525A/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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/725Cordless telephones
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Telephone Function (AREA)
  • Dram (AREA)
  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

일 실시예에서, 본 발명은 메모리를 액세스하기 위한 방법을 제공한다. 본 방법은 제 1 프로세서에 대한 메모리 서브시스템과의 메모리 트랜잭션을 제 1 프로세서와 메모리 서브시스템 사이의 통신 경로 상에 개재되는 중간의 제 2 프로세서로 전송하는 단계, 및 메모리 트랜잭션이 제 2 프로세서가 패스 쓰루하여 메모리 서브시스템에 도달하도록 할 때를 제어하는 단계를 포함하는 메모리 액세스 방법을 제공한다.

Description

무선 애플리케이션을 위한 애플리케이션 프로세서 및 메모리 아키텍쳐 {APPLICATION PROCESSORS AND MEMORY ARCHITECTURE FOR WIRELESS APPLICATION}
본 발명은 컴퓨터 시스템 내부의 메모리 액세스에 관한 것이다. 특히, 본 발명은 메모리를 액세스하는 방법 및 이 방법을 구현하는 컴퓨터 시스템에 관한 것이다.
본 출원은 1998년 12월 8일자 출원된 미국 특허 출원 제 09/208,741 호, 2000년 1월 20일자 출원된 미국 특허 출원 제 09/687,777 호, 2000년 10월 13일자 출원된 미국 특허 출원 제 09/866,508 호, 2001년 7월 2일자 출원된 미국 특허 출원 제 09/938,886 호, 및 2001년 7월 17일자 출원된 미국 특허 출원 제 60/306,376 호에 관한 것이다.
도 1a 은 베이스밴드 프로세서 및 그 메모리 서브시스템의 도면이다.
도 1b 는 베이스밴드 프로세스, 그 메모리 서브시스템, 베이스밴드 프로세서에 연결된 그 자체의 메모리 서브시스템을 갖는 애플리케이션 프로세서의 도면이다.
도 2a 는 베이스밴드 프로세스가 패스-쓰루 모드에서 애플리케이션 프로세서를 통하여 메모리 서브시스템에 액세스되는, 베이스밴드 프로세서 및 애플리케이션 프로세서 사이의 공유형 메모리 서브시스템을 나타내는 도면이다.
도 2b 는 메모리 버스가 분할되고 베이스밴드 프로세스가 패스-쓰루 모드에서 애플리케이션 프로세서를 통하여 메모리 서브시스템에 액세스되는, 또다른 베이스밴드 프로세서 및 애플리케이션 프로세서 사이의 공유형 메모리 서브시스템을 나타내는 도면이다.
도 3 은 베이스밴드가 메모리의 버스들 중 하나 상의 메모리를 액세스하고 애플리케이션 프로세스가 다른 버스 상의 다른 메모리를 동시에 액세스하며, 애플리케이션 프로세스가 동작 모드 또는 스탠바이 모드일 때 베이스밴드 프로세스는 임의의 버스 상의 모든 메모리를 액세스할 수 있는 메모리 서브시스템용 2 개의 완성된 버스를 나타낸 도면이다.
도 4a, 4b, 4c, 4d 는 다양한 타입의 메모리에 대한 액세스를 나타내는 타이밍도이다.
도 5 는 애플리케이션에 의한 메모리의 액세스 및 베이스밴드 프로세서의 패스쓰루를 위한 다양한 멀티플렉스를 나타내는 도면이다.
도 6 은 베이스밴드 프로세서의 성능을 향상시키기 위하여 애플리케이션의 L1 또는 L2 캐시의 이용을 나타내는 도면이다.
도 7 은 애플리케이션 프로세서를 통하여 LCD 장치를 업데이트 또는 리프레시하기 위한 효과적인 메커니즘을 나타내는 도면이다.
최근 수년 간 무선 기술, 특히, 무선 셀룰러폰의 이용이 크게 확산되었다. 셀룰러폰은 CDMA (code division multiple access), GSM (global system for mobile communication), GPRS (general pocket radio services), PDC 등과 같은 다양한 타입의 라디오 주파수 베이스밴드 및 기지국 모뎀 프로토콜을 이용한다.
통상, 셀룰러폰은 음성 통신에 컴퓨팅 요구를 제공하는 베이스밴드칩을 갖는다. 이 베이스밴드칩은 통상 CPU (central processing unit), 비휘발성 (플래시 타입 메모리) 또는 휘발성 pSRAM (pseudo static random memory) 과 인터페이스하기 위한 메모리 인터페이스, SRAM, DRAM 타입 메모리 (synchronous dynamic random access memory), LCD 제어기, 키보드 및 음향 장치 또는 인터페이스, 및 RF 콤포넌트와 인터페이스하여 기지국으로의 링크를 설정하는 메커니즘을 포함한다.
현재까지, 셀룰러폰은 음성 통신에 대해서만 이용되었으나, 가입자당 더욱 높은 수입을 구현하기 위해 SKT, J-Pone, DoCoMo, Vodaphone 등과 같은 다양한 무선 사업자들이 인터넷에 의해 셀룰러폰 이용자에게 데이터 서비스를 제공하려 하였다.
통상, 이러한 데이터 서비스는 베이스밴드 칩에서 더욱 높은 성능을 필요로 한다. 몇몇 경우, 베이스밴드 칩 에 대한 성능 요건을 줄이기 위하여, 애플리케이션 칩이 또한 특정 애플리케이션을 실행하도록 제공될 수 있다. 애플리케이션 칩과 베이스밴드 칩은 통상 메모리 서브시스템을 필요로 한다.
셀룰러폰의 메모리 서브시스템은 셀룰러폰용 최고가의 콤포넌트 중 하나이므로, 베이스밴드 칩과 애플리케이션 프로세스에 의한 메모리 서브시스템에 액세스하는 방식은 셀룰러폰의 가격 및 성능면에서 현저한 효과를 가질 수 있다.
다음의 설명에서, 설명을 위해, 많은 구체적인 설명은 본 발명의 전체적인 이해를 제공하기 위하여 개시된다. 그러나, 이러한 구체적인 설명이 없어도 본 발명을 실시할 수 있다는 것은 당업자는 알 수 있다. 다른 반면, 본 발명의 불명료함을 회피하기 위해 구조 및 장치는 블록도 형식으로 나타낸다.
본 명세서에서 본 실시예와 관련되어 설명되는 "하나의 실시예" 또는 "일 실시예" 참조는, 특정 특징, 구조 또는 특성이 본 발명의 하나 이상의 실시예에 포함된다는 것을 의미한다. 명세서의 다양한 부분에 기재된 어구 "하나의 실시예에서" 는 모두 동일한 실시예 뿐 아니라 다른 실시예에 상호 배타적인 다른 또는 별개의 실시예를 인용하려는 것이다. 또한, 몇몇 실시예에 의해 나타낼 수 있고 다른 실시예에 의해 나타낼 수 없는 다양한 특징을 설명한다. 유사하게, 몇몇 실시예에 대한 요건이 될 수 있지만 다른 실시예에서는 아닌 다양한 요건을 설명한다.
셀룰러폰이 제공할 수 있는 데이터 서비스는 위치 기반 서비스, 실시간 뉴스 또는 세계 뉴스가 될 수 있거나 지리적 위치에 의한 지연되는 뉴스, 화상을 보여주는 데이팅 서비스, 스포츠 이벤트로부터의 스트리밍 비디오, 2차원 및 3차원 게임, MPEG4 또는 JPEG 지원, 또는 셀룰러폰에 내장될 수 있는 카메라를 이용하거나 이용하지 않은 멀티미디어 메시징 등을 포함한다. 이러한 각각의 데이터 서비스는 애플리케이션에 의하여 이용가능하며, 베이스밴드 칩에 의해 증가되는 성능을 필요로 한다. 베이스밴드 칩에 애플리케이션 기능을 포함시키는 것은 실행가능하고, 베이스밴드 모뎀 기능 및 적어도 일부의 애플리케이션을 2 개의 별개의 칩으로 분리하는 것이 또한 가능하다. 또한 제 2 칩은 셀룰러폰의 메모리 서브시스템으로의 인터페이스를 포함할 수 있다.
본 발명은 공간 및 비용 제한된 셀룰러폰 환경에서의 베이스밴드 장치와 애플리케이션 프로세스 사이에 메모리를 공유하는 메커니즘을 제공한다. 본 발명은, 셀룰러폰 또는 다른 이러한 시스템, 예를 들어, PDA, 투웨이 방식의 무선 호출기, 포켓 PC, 노트북 컴퓨터 등에 필요한 메모리가 베이스밴드 및 애플리케이션 프로세서에 의해 공유되는, 베이스밴드 프로세서와 관련되는 애플리케이션 프로세서가 채용된 메커니즘을 제공한다. 특히, 메모리를 공유하기 위해 필요한 메커니즘 및 액세스를 위해 필요한 중간은, 액세스하는 메모리가 그 액세스를 종료 또는 중단하고 후에 다시 시도하는 경우에, WAIT 또는 READY 신호없이 베이스밴드가 메모리 서브시스템 및 애플리케이션 프로세서로의 직접적인 액세스를 갖도록 하는 것이다.
도 1a 는 베이스밴드 칩 또는 프로세서 (101) 가 메모리 서브시스템 (102) 을 정의하는 다양한 메모리에 접속되는 방식의 현재의 토포로지의 예를 나타낸다. 통상, 베이스밴드 프로세서 베이스밴드 버스는 AB (address), CB (control), CSB (chip set) 뿐 아니라 DB (data bus) 을 포함한다. 통상의 셀룰러폰에는, 다양한 타입의 메모리가 있으며, SRAM (예를 들면, 6 트랜지스터 베이스드 DRAM) 또는 pSRAM 또는 SDRAM 베이스드 메모리와 같은 휘발성 메모리와 함께, NOR 플래시및/또는 NAND 플래시 및/또는 미러-비트 플래시 또는 롬과 같은 비휘발성 메모리가 있다. 이러한 메모리 중 몇몇은 버스트 (burst) 모드 동작을 지원할 수 있다. 메모리 (102) 들은 메모리 (102) 와 베이스밴드 프로세서 (101) 사이에 접속되는 동일한 AB, DB, 및 CB 를 가지며, 베이스밴드 프로세서로부터 접속되는 CSB 를 가질 수 있는 것을 나타내기 위해 중첩하는 것으로 도시되어 있다. 또한, 실리콘의 동일한 피스 상에 베이스밴드 칩으로서 휘발성 메모리 및 비휘발성 메모리를 포함할 수 있다. 통상, 부트 코드 및 다른 나머지 소프트웨어는 NOR 플래시 또는 ROM 와 같은 비휘발성 메모리에 위치되고, 런타임 데이터 및/또는 다운로드된 애플리케이션은 휘발성 메모리로부터 동작될 수 있다. 다운로드된 애플리케이션은 또한 플래시와 같은 비휘발성 메모리에 저장될 수 있다.
통상의 셀룰러폰의 베이스밴드 프로세서와 메모리 사이의 DB 는 16 비트 와이드이지만, 32 비트 이상이 될 수 있다. 통상, 제어는 OE, WE 및 BE 와 같은 신호를 갖는다. 또한, 베이스밴드와 인터페이스하는 각각의 메모리 장치에 대한 복수개의 CSB 가 있으며, 또한 동일한 베이스밴드 버스 상에 도시하지 않은 LCD, 오디오 또는 디지털 카메라 등과 같은 다른 장치를 어드레스하는 CSB 가 될 수도 있다.
또한, 일부 베이스밴드 프로세서는, 다른 장치로 어서트 (assert) 될 때 베이스밴드 프로세서로 하여금 전류 판독 또는 기록 트랜잭션 또는 베이스밴드 버스 상의 액세스 사이클을 대기할 수 있도록 하는 WAIT 신호를 지원한다. 다른 방법으로, READY 신호의 어서션이 판독할 베이스밴드 버스 (DB) 상에서 데이터를 입수하거나 베이스밴드 상의 그 데이터가 기록되어 있거나 기록할 수 있음을 베이스밴드 프로세서에 알리는 경우에 READY 신호를 이용할 수 있다. 또한, READY 신호와 동일한 방식으로 WAIT 신호를 이용할 수 있고, WAIT 신화와 동일한 방식으로 READY 신호를 이용할 수 있다.
일반적인 셀룰러폰에서, 베이스밴드 (101) 는 베이스밴드 버스의 제어를 가지며, 베이스밴드는 버스 상의 트랜잭션을 초기화한다. 트랜잭션 타입 또는 액세스 타입은 일반적인 판독 및 기록, 또는, 판독 및 버스트 기록을 포함한다. 일 실시예에서, 버스트 액세스 타입 트랜잭션은 베이스밴드 (101) 로부터 메모리로 소오스되는 클록을 가질 수 있다. 다른 장치에 대해 베이스밴드 버스 상의 트랜잭션을 초기화하기 위해, 다른 장치에 대한 베이스밴드 버스의 제어를 요청하는 메커니즘 (즉, 멀티-마스터 기능성) 을 제공할 수 있다. 본 발명에서는 요청 및 승인 타입의 시그널링 프로토콜을 이용하여 이러한 제어를 요청하는 메커니즘은 중요한 것이 아니며, 당업자는 베이스밴드 버스의 제어를 원하는 다른 장치와 베이스밴드 프로세서 사이의 다양한 중간 방식 및 상호접속을 알 수 있다.
애플리케이션 프로세서가 이용되는 셀룰러폰에서, 애플리케이션 프로세서는 또한 다양한 메모리 (위발성 및/또는 비휘발성) 에 액세스할 필요가 있다. 베이스밴드가 베이스밴드 버스 상에 멀티-마스터 기능성을 갖지 않고 WAIT 또는 READY 시그널링이 이용될 수 없다면, 실제로 베이스밴드에 의해 이용되는 메모리를 공유하는 것으로 유용하지 않다.
도 1b 는 애플리케이션 프로세서 (103) 가 베이스밴드 버스와 인터페이스하고 베이스밴드가 버스의 제어를 유지하는 시스템의 예이다. 애플리케이션 프로세서는 버스 상의 슬레이브 장치이며, 베이스밴드 프로세서는 마스터가 된다. 통상, 애플리케이션 프로세서 (103) 는 베이스밴드 프로세서와 애플리케이션 프로세서에 속하는 프로세서(들) 사이를 통신하기 위한 통신 버퍼를 가질 수 있다. 멀티마스터 시스템에서, 통신 버퍼 및 세마포어 (semapore) 가 또한 베이스밴드 프로세서에 포함될 수 있다. 일 실시예에서, 통신 버퍼는 애플리케이션 프로세스에 매입되는, 듀얼 포트 메모리 또는 듀얼 포트 메모리로 구현되는 단일 포트 메모리이다. 메모리 양은 애플리케이션에 기초하여 변화될 수 있다. 다른 실시예에서, 베이스밴드 및 애플리케이션 프로세서 (103) 사이의 통신은 하드웨어에 하나 이상의 세마포어를 가짐으로써 달성될 수 있으며, 정의된 프로토콜과 데이터는 애플리케이션 프로세서와 인터페이스하는 메모리 (104) 에 상주할 수 있다. 애플리케이션 프로세서의 통신 버퍼에 의해, 세마포어는 정의된 위치의 통신 버퍼에 상주하거나, 애플리케이션 프로세서 또는 메모리 시스템 (104) 에서는 별도의 레지스터나 메모리에 상주할 수 있다. 이는 베이스밴드가 애플리케이션 프로세서 (103) 과 동시에 동작할 수 있도록 한다. 도 1b 의 시스템은 메모리 서브시스템 (104) 과 애플리케이션 프로세서 (103) 에 대한 공간을 필요로 한다. 또한, 메모리 서브시스템 (102) 이 공유될 수 없기 때문에, 메모리 서브시스템 (104) 의 초과 비용 및 전력 소모가 될 수 있다. 애플리케이션 프로세서 (103) 와 메모리 서브시스템 (104) 을 하나의 패키지 (105) 로 기계적 적층할 수 있다. 애플리케이션 프로세서 (103) 와 메모리 서브시스템 (104) 사이의 인터페이스 및 버싱은 제조시의 테스트하는 것 이외에 다른 적층 패키지 (105) 의 외부핀 또는 볼에 이용되지 않도록 해야 한다. 베이스밴드 버스 인터페이스만이 적층 패키지 (105) 의 핀 또는 볼에서 이용될 수 있어야 한다. 예를 들면, 애플리케이션 프로세서 (103) 와 메모리 서브시스템 (104) 사이에서의 적어도 일부의 시스템 버스는 실리콘 인터포저 또는 패키지의 기판 상에서 수행될 수 있다.
애플리케이션 프로세서 (103, 201, 203, 301) 은 애플리케이션을 실행하기 위해 필요한 메커니즘을 내부에 포함한다. 또한, 애플리케이션 프로세서 (103, 201, 203, 301) 는 전술한 바와 같은 다양한 통신 버퍼를 구현할 수 있다. 애플리케이션을 실행하기 위해 필요한 메커니즘은 베이스밴드 프로세서와의 인터페이스, 명령 및 데이터를 위한 결합형 캐쉬 또는 통합형 캐쉬를 포함하는 하나 이상의 CPU 및/또는 DPS 를 포함한다. 다양한 프로세서는, 다양한 프로세서에 대한 데이터 기록 성능을 향상시키기 위한 하나 이상의 기록 버퍼, 메모리 서브시스템과 인터페이스하는 메모리 제어기, 다양한 장치에 의한 내부 버스 및 메모리 서브시스템 액세스를 위한 중간 및 내부 버싱 체계용 상태 기기, 및 메모리 제어기 등을 위한 상태 기기(들) 을 포함한다. 또한, 애플리케이션 프로세스 (103, 201, 203, 301)은 자바 바이트 코드 실행 및 .NET 와 같은 중간 언어로 독립적인 다른 플랫폼을 가속시킬 수 있다. 일 실시예에서, 애플리케이션 프로세서는 JAVA 또는 .NET 와 같은 적층베이스의 가상 기기를 위한 하드웨어 가속기를 포함한다.
일 실시예에서, 자바 바이트 코드 가속기는 CPU 의 하나에 통합되며 동작할 때 명령 및/또는 데이터 캐쉬 또는 통합 캐쉬를 공유한다. 다른 실시예에서,자바 바이트 코드 가속기는 스탠드-얼론 가속기로서 구현된다. 스탠드-얼론 가속기는 또한 명령 및/또는 데이터 캐쉬 또는 통합 캐쉬를 포함한다. 일 실시예에서, 모든 자바 바이트 코드가 가속기에 의해 수행되는 것은 아니다. 가속기에 의해 샐행되지 않는 자바 바이트 코드는 애플리케이션 프로세서의 CPU 또는 베이스밴드 프로세서에 의해 소프트웨어로 실행된다. 소프트웨어의 몇몇 자바 바이트 코드를 실행하도록 베이스밴드 프로세서를 요구하기 위하여, 소프트웨어에서 실행하는 자바 바이트 코드, 소프트웨어에서 실행하는 자바 바이크 코드를 위한 자바 프로그램 카운터 (Java PC) 또는 메모리 내에서의 위치, 및 베이스밴드 프로세서에 대한 변수에 관한 데이터를 제공하는 것이 필요하며, 예를 들어, 바이트 코드 "New" 또는 "New Array" 에 대하여 적어도 Java PC 및 오브젝트 레퍼런스가 제공될 필요가 있다. 이 애플리케이션을 수행하기 위하여, 프로세서는 아래와 같은 투-웨이 통신 버퍼를 갖거나 또는 아래에서 설명되는 바와 같은 통신 방법이 이용될 수 있다. 레지스터의 신호 및/또는 상태 비트는, 자바 바이트 코드를 실행하기 위하여 또한 가속기가 베이스밴드 또는 CPU 를 요구하는 것을 애플리케이션 프로세서에 나타낼 필요가 있다. 신호는 언터럽트로 이용되거나 폴 (poll) 된다. 또한, 애플리케이션 프로세서는 MPEG4, 디지털 카메라, LCD 제어기, DMA 엔진, 비디오 스칼라, 2D/3D 그래픽 가속기, 그래픽 및/또는 비디오를 위한 온 칩 프레임 버퍼, IIC/S 인터페이스, XML 가속기, SDLC/HDLC 와 같은 통신 포트, 통신 포트 등과 같은 다른 주변 기기 또는 가속기를 갖는다.
또한 애플리케이션 프로세서를 애플리케이션 가속기 칩이라 한다. 애플리케이션 프로세서는 다른 주변 기능과 함께 메모리 제어기를 구성하는 다양한 내부 레지스터를 갖는다. 또한, 도 1b 에 나타낸 실시예에 대하여, 전술한 바와 같은 베이스밴드 및 애플리케이션 프로세서 사이를 통신하는 통신 버퍼가 있을 수 있다. 이 통신 버퍼는 베이스밴드 프로세서와의 통신을 설정하는데 필요한 세마포어의 수량과 그 사이즈에 따라 구성될 수 있다. 통신 버퍼의 구성은 리셋 후 몇몇 알려진 값으로 디폴트하고, 베이스밴드 프로세서에 의해 상이한 값으로 프로그램될 수 있다.
베이스밴드 프로세서와 애플리케이션 프로세서 사이의 풀 듀플렉스 통신을 달성하기 위해, 프로세서들은 이러한 세마포어를 관리해야 한다. 베이스밴드 프로세서와 애플리케이션 프로세서 사이의 통신을 달성하기 위한 일 예는 다음의 프로토콜을 이용하는 것이다. 시작 (또는, 하드웨어 또는 소프트웨어 초기화된 리셋) 시, 통신 버퍼는 소거 (clear) 되고, 세마포어들은 통신 버퍼 내에 유효한 데이터가 소거되었거나 없음을 나타낸다. 통신 버퍼는 2 가지 세그먼트로 분할되는데, 첫번째 세그먼트가 기록을 위한 베이스밴드 프로세서에 대한 것이고, 두번째 세그먼트가 판독을 위한 베이스밴드 프로세서에 대한 것이다. 애플리케이션 프로세서는 제 1 세그먼트를 판독하고 제 2 세그먼트로 기록된다 또한, 프로세서들은 베이스밴드 프로세서 및 애플리케이션 프로세서가 제어 및 메시징을 위한 이들 각각의 세마포어를 판독 및/또는 기록할 수 있는 이들 자신의 세마포어 레지스터를 갖는다 (다른 방법으로, 세마포어는 메모리에 위치되거나 통신 버퍼의 공지된 위치에 있을 수 있다).
메시지를 수신한 프로세서는 그 메시지를 기록한 프로세서에 의해 기록된 세마포어만을 소거할 수 있다. 세마포어를 소거하는 대신, 세마포어 레지스터에 승인 플래그 메시지를 저장할 수 있다. 리셋 상태 또는 스타트업을 중지하면서, 각각의 프로세서는, 이들이 기록용으로 허용된 통신 버퍼 세그먼트들 각각에 질문 메시지를 기록하도록 하여, 다른 프로세서의 존재에 대하여 질문하고 이들 각각의 세마포어 레지스터로 이들 각각의 통신 버퍼에 유효 메시지가 기록되었다는 것을 나타내는 메시지를 기록한다. 하나 또는 양 프로세서는 이러한 질문을 나타낼 수 있다.
메시지를 판독한 후, 양 프로세서는 다른 프로세서에 의해 기록되는 세마포어 레지스터에 소거되거나 메시지가 판독되었다는 것을 나타내는 확인 응답 메시지를 기록할 수 있다. 세마포어 레지스터로 기록될 수 있는 다른 예의 메시지에는 시작, 에러 또는 재시도 메시지 등이 포함된다. 세마포어가 메시지를 수신하는 프로세서에 의해 소거된 후에만, 메시지를 전송하는 프로세서는 통신 버퍼를 다시 기록하거나 다른 메시지를 포스트함으로써 질문에 응답할 수 있다. 애플리케이션 프로세서는 하나 이상의 CSB 를 요구하여, 베이스밴드가 애플리케이션 프로세서 (103) 로부터의 기록 또는 판독을 선택할 수 있도록 한다. 도 1b 의 예시적인 실시예는 애플리케이션 프로세서에 대한 추가적인 메모리를 요구한다. 또한, 애플리케이션 프로세서 (103) 는 베이스밴드 프로세서의 메모리 서브시스템 (102) 을 공유하지 않는다.
도 2a 는 베이스밴드 프로세서와 그 메모리 서브시스템 (102) 사이의 경로에삽입된 애플리케이션 프로세서 (201) 을 나타낸다. 메모리 서브시스템을 액세스하기 위한 베이스밴드 프로세서에 대해, 애플리케이션 프로세서를 패스-쓰루해야한다. 이 아키텍쳐에서, 베이스밴드는 WAIT 또는 READY 신호 입력을 갖지 않으며, 애플리케이션 프로세서 (201) 는 베이스밴드 프로세서에 의한 요구에 따라 메모리 서브시스템 (102) 을 액세스하기 위해 베이스밴드에 메커니즘을 제공해야 한다. 베이스밴드 프로세서가 메모리 서브시스템을 액세스하도록 하는 애플리케이션 프로세서에 대한 다양한 방법이 있다. 하나의 방법은 전술한 통신 버퍼를 통과하는 것이다. 다른 방법은 아래에서 보다 상세하게 설명되는 바와 같이 통신 버퍼를 바이패스하는 애플리케이션 프로세서를 통하여 직접 통과하는 것이다. 하나의 실시예에, 전술한 하나 또는 두 방법이 허용된다.
도 4a 및 도 4b 는 베이스밴드 프로세서에 대한 통상의 판독 및 판독 사이클을 나타낸다. 이들은 비동기적인 것으로 나타나며, 당업자는 한 클록이 존재할 경우의 버스트 및 동기를 포함한, 다양한 사이클들이 가능함을 알 수 있다. 이 예에서, tRC (판독 액세스 가능 시간) 및 tWC (기록 액세스 가능 시간) 는 메모리 액세스 사이클 각각의 판독 및 기록을 완성하는데 주어지는 시간을 나타낸다. 애플리케이션 프로세서가 메모리를 액세싱하고 부분적으로 트랜잭션 또는 액세스를 통과한다면, 그리고 베이스밴드 프로세서가 메모리 서브시스템으로의 액세스를 시작한다면, 애플리케이션 프로세서는 일 실시예에서 현재의 트랜잭션을 종료하고 그 후 베이스밴드 프로세서 액세스가 메모리 서브시스템 (102) 으로 패스쓰루하도록 하기 위한 자격 (capability) 을 갖는다. 이는 베이스밴드 프로세서로 하여금,애플리케이션 프로세서 (201) 가 사이클을 완료하는 것을 대기해야 하지 않아야 한다면 필요한 액세스 사이클 회수보다 긴 액세스 사이클을 갖도록 하는 것을 필요로 한다. 다른 실시예에서, 애플리케이션 프로세서 (201) 는 베이스밴드 프로세서가 패스-쓰루하도록 하기 위하여, 현재의 액세스를 즉시 중단할 것이다. 이 실시예에서, 애플리케이션 프로세서 (201) 는 애플리케이션 프로세서 (201) 가 현재의 액세스를 중단하라는 지시를 유지하며, 즉시, 베이스밴드 프로세서가 패스 쓰루하도록 하여, 메모리 서브시스템 (102) 으로의 액세서를 허용한다. 도 4c 는 느리게 진행하는 CSB 로 표시되는 메모리 서브시스템으로 베이스밴드 프로세서가 기록되기 때문에, tabort 에 중단되는 애플리케이션 프로세서 (CSM, AM, DM, UB/LB, OEM, WEM) 의 메모리 제어기에 의해 초기화되는 메모리 카드 사이클을 나타낸다. 애플리케이션에 의하여 초기화되는 메모리 액세스는 풀 액세스 타임 보다 적은 시간동안 (<tRC) 나타나는 어드레스 AM 에 의해 중단되는 것으로 나타난다.
도 4d 는 애플리케이션 프로세서가 메모리에 판독되고, 메모리를 판독하기 원하는 베이스밴드로 인터럽트됨으로써, 풀 사이클보다 작은 어드레스 AM (<tWC) 으로 나타내는 판독 사이클을 중단되는 애플리케이션 프로세서의 메모리 제어기가 나타낸다. 조합을 나타내지 않았더라도, 당업자는 애플리케이션 프로세서에 의해 어스트되는 CSM 이 또한 풀 사이클보다 짧게 되는 메모리 서브시스템에 상이한 메모리를 언터럽트하고 액세스하는 베이스밴드를 포함하는 모든 조합을 이해할 수 있다.
메모리를 액세스하는 베이스밴드의 패스 쓰루는 하나 이상의 CSB (칩은 메모리 서브시스템 (102) 으로의 액세스를 위한 베이스밴드로부터 선택한다) 의 어서션으로 인하여 베이스밴드 버스 어드레서, 데이터 및 제어를 선택하도록 스위치되는 어드레서, 데이터 및 제어용 멀티플렉서를 가짐으로써 수행될 수 있다. 애플리케이션 프로세서 (201) 가 메모리를 액세스할 때, 멀티플렉서는 애플리케이션 프로세서 (201) 의 메모리 제어기에 의해 생성되는 제어 라인, 어드레서, 및 데이터를 선택하도록 설정된다. 하나 이상의 CSB 의 어서션은 크록된 플립 플록 및/또는 S/R (set/reset) 플립 플롭으로 동기화되어, 베이스밴드가 패스쓰루하는 지시를 생성하고, 따라서, 애플리케이션 프로세서 액세스가 이미 종료되었다는 지시를 생성한다. 동기 장치가 베이스밴드가 더이상 메모리를 액세스하지 않는다고 지시할 때, 애플리케이션 프로세서의 메모리 액세스가 재시도될 수 있다.
일 실시예에서, 베이스밴드 프로세서 액세스를 검출하기 위한 동기 장치는 애플리케이션 프로세서 내에서 클록의 에지를 상승 및 하강하는 것을 이용한다. 이는 베이스밴드 액세스의 검출을 더욱 빠르게 용이하게 한다. 애플리케이션 프로세서의 메모리 제어기에 의하여 동일한 클록이 이용된다. 다른 방법으로, PLL 에 의해 주파수가 스텝업 또는 클록 분할기 회로에 의하여 주파수가 스텝다운되는 클록이 이용될 수 있다. 휘발성 메모리 장치의 액세스를 절단하는 것은 가 스테틱 램과 같은 다이나믹 램 기술에 기초하여 메모리에 대한 메모리 코어에서의 데이터 손실을 유발할 수 있다. SRAM 에 기초한 6 개의 트랜지스터는 또한 SRAM 및 기록 사이클이 종결될 때 이슈를 갖는다. 6T SRAM 에서, 로우 및/또는디코더가 나타낸 어드레스의 디코딩이 종료되지 않고 기록 사이클이 종결되는 경우 데이터는 손실되거나 메모리의 알 수 없는 위치에 기록된다.
알 수 없는 위치에서 데이터가 오류 또는 손실되는 것을 회피하기 위하여, 일 실시예에서, 애플리케이션 프로세서 (103, 201, 203, 301) 은, 메모리의 디코더가 세틀링되거나 풀 액세스 타임이 중복된 후, WE 신호를 메모리 서브시스템으로 어서트할 것이다. 디코더 세틀링 타임 후, 데이터가 파괴된 위치가 알려지고, 어드레스가 기록을 위하여 메모리에 제공한다. 전술한 애플리케이션 프로세서의 메모리 제어기는 버스트와 동기화 사이클을 포함하는 메모리 사이클의 필요한 타입을 생성할 수 있다. 일 실시예에서, 베이스밴드 프로세서가 액세스에 의하여 종료되면, 애플리케이션 프로세서 (103, 201, 203, 또는 301) 은, 오류가 발생되었던 위치의 데이터와 어드레스를 보유하고, 데이터를 이 어드레스로 재기록할 것이다. 이 기슬은 구성으로 인하여 6T SRAM 에 의해 가능하며, pSRAM 은 도 4c 및 사이클이 tRC(<tRC) 보다 적거나 tWC(<tWC) 보다 적은 도 4d 에 각각 나타낸 타입의 이미 종결된 사이클로 인하여 복수개의 위치의 데이터를 손실하는 이슈를 갖는다. 이는 각각의 비트에 대하여 하나의 트랜지스터와 하나의 캐패시터로 이루어지는 내부 구조를 갖는 SRAM 으로 인한 것이며, 또한, DRAM 들과 유사한 구조를 갖는다.
DRAM 에 의한 바와 같이, pSRAM 은 또한 내부적으로 생성되는 주기적인 리프레시를 가져야 한다. 통상, pSRAM 은 지정되거나 통지된 액세스 속도보다 내부적으로 더욱 빠르게 동작한다. 통상의 pSRAM 에서, 데이터 로우가 판독되고 재저장되는, 타이머를 이용하여 리프레시 요구를 생성하는 메커니즘이 있다. 또한, 어느 로우를 리프레시할 것인지를 나타내기 위하여 증가 또는 감소할 수 있는 로우 어드레스 카운터가 있다. 각각의 리프레시 요구에 대하여, 데이터의 로우는 모든 로우가 리프레시될 때까지 이러한 방식으로 리프레시된다. 이 리프레시 메커니즘은 지속적으로 동작하여 pSRAM 의 모든 로우가 규칙적으로 리프레시되도록 한다. 리프레시 메커니즘이 정지된다면, pSRAM 은 몇몇 유한 시간 후에 데이터를 손실할 것이다. 리프레시 사이클이 막 시작되어 외부 장치가 pSRAM 으로 액세스를 원하는 것이 될 수 있다. 통상, pSRAM 은 리프레시 사이클을 종료한 후, 외부 장치로의 액세스를 허용한다. 외부 장치는 리프레시 사이클이 종료되도록 해야하기 때문에 보다 긴 액세스 시간 (약 2 배 긴) 을 예상한다. 리프레시 요구가 pSRAM 과 내부에 비동기적으로 생성되기 때문에, 리프레시 사이클이 발생할 때와 같이 예측불가능하며, pSRAM 에 대하여 지정되는 액세스 시간은 리프레시 사이클 타임을 포함한다. 내부 리프레시 요구가 외부 액세스와 일치하지 않을 때, 리프레시와 함께 액세스를 관리하고 중간하기 위한 로직이 있다.
통상, pSRAM 및 SDRAM 은 어드레스 디코드, 내부 로우 액세스 및 프리-챠지 사이클을 통하여 진행하여, 액세스가 통상 액세스되는 특정 로우에 대한 코어에 고정되는 데이터를 디스챠지하기 때문에 프리챠지 사이클이 이 데이터를 한다. 이러한 pSRAM 의 요건 중 하나는 적어도 어드레스가 전체 메모리 액세스 사이클 동안 안정적이어야 한다는 것이다. 어드레스가 전체 사이클에 대하여 안정적이지 않다면, 데이터의 전체 또는 부분 로우를 손실할 수 있다. 이는 새로운 액세스가 상이한 로우에 대해 보장되며 이전의 로우에 대한 데이터가 손실될 것이기 때문에 로우 액세스가 시작되고 로우에 대한 어드레스가 DRAM 셀의 프리 챠지 사이클 이전에 변경된다. 일 실시예에서, pSRAM 은 새로운 어드레스에 대한 액세스를 시작하기 이전에 프리챠지 사이클이 완성될 때까지 대기한다. 일 실시예에서, pSRAM 이 어드레스와 칩 선택에 대한 특성을 갖지 않을 것을 요청한다.
베이스밴드 프로세서가 패스-쓰루 액세스를 시작하고 리프레시 요구가 진행중인 애플리케이션 프로세서가 pSRAM 을 액세스하고 있으면, pSRAM 은 데이터 파본을 일으키는 pSRAM 에 액세스를 요구하는 3 개의 장치에 대처해야 한다. 3 액세스의 각각이 동일한 시간에 발생되고 차례로 종료하는 것이 허용될 때, 장치들 중 하나에 대한 액세스 시간은 내부 액세스 시간보다 2 배가 길게 된다. 이는 성능면에서 현저한 슬로우 다운을 유발한다.
이를 극복하기 위하여, 일 실시예에서, pSRAM 의 내부 리프레시 요구를 불가능하게 하고 리프레시할 때를 표시하는 외부 리프레시 요구 신호를 생성하는 메커니즘이 REF # 으로 도 4c 및 4d 와 같이 제공된다. pSRAM 내부 리프레시의 불능은 다른 신호의 어서션 (assertion) 에 의하여 달성될 수 있다. 일 실시예에서, 외부 리프레시 신호는 애플리케이션 프로세서가 리프레시 카운터와 중간 로직을 갖는 pSRAM 을 액세스하지 않을 때 애플리케이션 프로세서에 의하여 생성된다. 리프레시 요구가 애플리케이션 프로세서에 의하여 생성될 때, 리프레시할 로누를 표시하기 위하여 pSRAM 의 로우 어드레스 카운터가 pSRAM 에 의하여 이용될 수 있다. 다른 방법으로, 로우 어드레스 카운터는 애플리케이션 프로세서로부터 발생될 수 있다.
일 실시예에서, 애플리케이션 프로세서는, 메모리 서브시스템을 액세스하고 애플리케이션 프로세서가 그 액세스를 완료하기 전에 베이스밴드 프로세서가 메모리 서브시스템으로의 액세스를 시작할 때, 베이스밴드 프로세서에 의해 지원되는 신호 타입에 따라 베이스밴드 프로세서에 READY 신호를 디어서트하거나 애플리케이션 프로세서가 WAIT 신호를 베이스밴드 프로세서로 어서트한다. 이러한 신호는 베이스밴드 프로세서를 지연하고 (stall) 애플리케이션 프로세서가 그 액세스를 완료한다. 어서트되는 READY 신호의 경우, 베이스밴드 프로세서는 완료되는 판독 또는 기록 트랜잭션에 대한 유효 데이터를 예상할 수 있다. 이 경우, 액세스가 완료된 후의 애플리케이션 프로세서는 WAIT 신호를 어스트하거나 READY 신호를 디어서트하도록 유지할 수 있다. 다음으로, 애플리케이션 프로세서는 멀티플렉서로 하여금 베이스밴드 어드레서, (베이스밴드 기록 액세스의 경우, 다른 방식의 데이터가 판독된다) 데이터, 및 메모리 서브시스템으로의 제어 라인을 소오스할 수 있도록 함으로써, 베이스밴드 프로세서의 이익 (behalf) 상의 액세스를 메모리 서브시스템으로의 풀 액세스를 형성하기에 충분한 시간 동안 초기화할 수 있다. 그 이후에, 애플리케이션 프로세서는 WAIT 신호를 디어서트하거나 READY 신호를 베이스밴드 프로세서로 디어서트할 수 있다. 득, WAIT 신호가 디어서트되거나 READY 신호가 어서트될 때, 베이스밴드 프로세서는 유효 데이터를 획득할 수 있다.
애프리케이션 프로세서 (103, 201, 203, 301) 는 로직을 포함하여, 애플리케이션 프로세스가 메모리 서브시스템을 액세스하는 동안 액세스를 필요로 하는 베이스밴드 프로세서가 검출되도록 할 수 있다. 애플리케이션 프로세서는 또한 상태 장치를 포함하여, 베이스밴드를 대신하여 메모리 액세스를 적어도 부분적으로 관리할 수 있다.
일 실시예에서, 메모리 서브시스템은 다른 타입의 메모리와 함께 복수개의 내부 뱅크를 갖는 SDRAM 을 갖는다. 베이스밴드 프로세서가 비동기성 타입의 타이밍을 나타내고 SDRAM 메모리가 클록에 따른 동기식 타이밍을 예상하는 경우, 애플리케이션 프로세서는 애플리케이션 프로세서 클록으로의 동기화 및 베이스밴드 프로세서를 검출하고, SDRAM 을 액세스하여 SDRAM 으로의 판독, 기록, 버스트 판독, 또는, 버스트 기록을 수행한다. 베이스밴드 및 애플리케이션 프로세서에 대한 클록은 서로 동기화 또는 비동기화될 수 있다.
일 실시예에서, 전술한 바와 같은 pSDRAM 과 동일한 방식으로 SDRAM 의 데이터 손실을 회피하기 위하여, 애플리케이션 프로세서가 메모리 서브시스템을 액세스하고 베이스밴드 프로세서가 메모리 서브시스템으로의 액세스를 캐시며 애플리케이션 프로세서가 완료되지 않은 경우, 애플리케이션 프로세서 (103, 203, 301) 는 일치하거나 하나 이상의 전부가 아닌 할당되는 SDRA 뱅크들에 액세스될 수 있다. 또한, 베이스밴드 프로세서는 애플리케이션 프로세서에 의해 프로세스되지 않는 뱅크만을 액세서할 수 있다. 이 동작 모드는 애플리케이션 프로세서가 동작되는 동안에만 관찰될 수 있는 반면, 베이스밴드는 모든 뱅크를 언제나 액세스할 수 있다. 오퍼레이션의 모드에 의하여, 애플리케이션 프로세서 (103, 201, 203, 301) 의 SDRAM 제어기는 베이스밴드가 패스쓰루를 요구할 때 하나 이상의 SDRAM 뱅크가 애플리케이션 프로세서에 대하여 오픈되도록 할 수 있고, 패스 쓰루 동안 및/또는 그 이후에 베이스밴드 프로세서에 대해 요구되는 뱅크를 간단하게 오픈 및/또는 클로즈할 수 있다.
다른 실시예에서, 애플리케이션 프로세서 (203) 는 도 2b 에 나타낸 바와 같이 메모리가 2 개의 그룹에 있는 메모리 서브시스템에서 이용될 수 있는 스플리트 버스를 가질 수 있다. 그룹 (206) 은 어드레스 (AM2), 데이터 (DM), 칩 선택 (CSM2), 및 제어 (CM2) 를 가질 수 있고, 그룹 (205) 은 그룹 (206) 과 함께 데이터 버스 (DM) 를 공유하면서 그 자신의 어드레서 (AM1), 칩 선택 (CSM1) 및 제어 (CM1) 를 가질 수 있다. 베이스밴드 프로세서는 디맨드 상의 그룹 (206) 을 액세스하도록 할 수 있고, 애플리케이션 프로세서 (203) 가 스탠바이 모드에 있거나 메모리를 액세스하지 않을 때 그룹 (205) 만을 액세스할 수 있다. 역으로, 애플리케이션 프로세서는 디맨드 상의 그룹 (205) 메모리를 액세스할 수 있고, 애플리케이션 프로세서 (203) 가 스탠바이 모드 또는 메모리를 액세스하지 않을 때 그룹 (205) 만을 액세스할 수 있다. 이 제한은 애플리케이션 프로세서 또는 베이스밴드 프로세서가 언제나 양 그룹을 액세스할 수 있는 경우, 6T SRAM 이 휘발성 스토리지에 대해 이용되는 경우에 요구되지 않는다. 또한, 베이스밴드 프로세서가 그룹 (206) 메모리를 언제라도 액세스할 수 있기 때문에, 베이스밴드 프로세스가 그룹 (206) 을 액세스하는 동안 어드레스 및 그룹 (205) 으로 진행하는 OE 와 다른 제어는 안정적고 변경될 수 없게 된다. 동시에, 데이터 버스가 공유되기 때문에, 적어도 OE 제어를 양 그룹 (205, 206) 에 대해 독립적으로 제어할 필요가있게 되어, 메모리 그룹 (205 및/또는 206) 및/또는 애플리케이션 프로세서 (203) 으로부터 버스 데이터를 구동하는 경합이 동시에 있게 된다.
데이터 버스 상의 충돌을 회피하기 위하여, 애플리케이션 프로세서 (203) 는 그룹 (205) 메모리로 진행하는 OE 를 디어서트할 수 있다. 일 실시예에서, 애플리케이션 프로세서 (203) 는, 베이스밴드 프로세서가 그룹 (206) 을 액세스하는 동안 메모리 제어기 상태 장치에 내부 스톨 (stall) 또는 대기를 생성할 수 있다. 그룹 (205) 메모리에 대한 어드레스 (AM1) 는 이 시간 동안 그리고 이후에 액세스를 완성하는 동안 어서트되고 안정적으로 유지된다. 그룹 (205) 으로의 CSM1 및/또는 WE, BLE, BHE 는 어드레스 (AM1) 과 동일한 방식으로 처리될 수 있다.
다른 실시예에서, 애플리케이션 프로세서는 그룹 (205) 으로 진행하는 어드레스 (AM1) 를 래치하고 데이터 버스 경합을 회피하기 위하여 그룹 (205) 메모리로의 OE 를 디어서트하는 동안 이들이 래치되도록 유지할 수 있다. 애플리케이션 프로세서 (203) 메모리 제어기 상태 장치는 베이스밴드 프로세서가 액세스에 의하여 종료되면 메모리 제어기 상태 장치를 통과하는 파트 방식 또는 시작으로부터 메모리 액세스를 시작할 수 있다. 이를 수행하기 위하여, 전술한 동기화는 베이스밴드 프로세서 액세스를 검출하도록 이용됨으로써, 그룹 (206) 으로 타겟화되는 베이스밴드 프로세서로부터의 어떠한 CSB 가 동기화되어 패스-쓰루의 표시를 생성할 수 있다. 애플리케이션 프로세서가 메모리로부터 데이터를 판독하고 상기 베이스밴드 프로세서가 상기 메모리에 데이터를 기록하도록 한다면, 애플리케이션 프로세서가 패스 쓰루로 인하여 데이터 버스를 메모리로 구동하기 시작하기 때문에, 메모리가 무능하게되는 이들의 출력을 가질 때까지 단기간 동안 버스 경합이 있을 수 있다. 이 경합은, 애플리케이션 프로세서가 하나의 메모리로부터 판독될 때 발생되고 베이스밴드 프로세서는 패스 쓰루 모드의 다른 메모리로부터 판독되거나 이에 기록될 때 발생한다. 일 실시예에서, 애플리케이션 프로세서 (103, 201, 203, 301) 는 베이스밴드 액세스의 시작 시, 짧은 기간 동안 메모리를 향해 데이터 버스를 구동할 수 없으므로, 버스 경합을 회피할 수 있다. 또한, 비록 모든 메모리로의 OE 신호는 베이스밴드 프로세서가 어서트된 OE 를 가질 수 있더라도, 유사한 짧은 기간 동안 디-어서트될 수 있다. 이 짧은 기간은 프로그램 가능하게 이루어지며 리셋 후 기폴트값을 가질 수 있다. 그룹 (205, 206) 의 메모리가 휘발성 및/또는 비휘발성 메모리의 혼합을 포함할 수 있다.
다른 실시예에서, 애플리케이션 프로세서 (301) 는 도 3 에 나타낸 바와 같이 2 개의 그룹의 메모리 (302, 303) 에 대하여 2 개의 완전하고 독립적인 버스를 갖는다. 양 그룹은 독립적인 어드레스, 데이터 칩 선택 및 제어 라인을 갖는다. 예를 들어 베이스밴드 프로세스는 언제든지 그룹 (303) 을 액세스할 수 있고, 애플리케이션 프로세서 (301) 는 언제든지 그룹 (302) 을 액세스할 수 있다. 애플리케이션 프로세서 (301) 는 또한 베이스밴드 프로세스로부터 그룹 (303) 으로의 액세스가 없는 것을 먼저 보장함으로써 그룹 (303) 의 비휘발성 메모리를 액세스할 수 있다. 비휘발성 메모리로의 액세스는 이미 종결되고 재시작된다. 베이스밴드 프로세서로부터의 메모리 액세스가 애플리케이션 프로세서와 메모리 제어기의 클록과 동기화된다면, 패스 쓰루를 검출하기 위하여 동기화를 이용할 필요가 없다. 패스 쓰루를 허용할 때를 결정하기 위하여 CSB 신호의 어서션만을 검출할 필요가 있다.
애플리케이션 프로세서 (103, 201, 203) 에 의하여, 버스 경합을 회피하기 위한 메커니즘이 애플리케이션 프로세서 (301) 에 포함될 수 있다. 애플리케이션 프로세서 (501) 에 나타낸 멀티플렉서가 패스 쓰루를 위해 이용된다. 멀티플렉서 (205, 503, 504, 505, 506) 는 패스 쓰루 오퍼레이션을 위한 개별 선택 신호를 가질 수 있으며, 이들은 각각 또는 공통 선택을 통하여 제어될 수 있다. 멀티플렉서 (505, 506) 는 베이스밴드 프로세서가 메모리 서브시스템으로의 판독 액세스를 수행할 때, 메모리로부터 베이스밴드 프로세서로 판독되는 데이터를 통과할 수 있도록 하기 위해 이용되며, 그렇지 않으면, 멜티플렉서 (505, 506) 는 애플리케이션 프로세서 (501) 로의 내부 데이터를 판독하기 위해 이용된다. 일 실시예에서, 501 로 나타낸 하나 이상의 멀티플렉서는 애플리케이션 프로세서 (103, 201, 203, 301) 에 있을 수 있다. 일 실시예에서, 애플리케이션 프로세서 (103, 201, 203 및/또는 301) 및 하나 이상의 일부 또는 전체 메모리 서브시스템(들) 은 애플리케이션 프로세서와 메모리 다이가 패키지에 적층되는 적층 패키지에 적층된다. 적층 패키지의 다른 실시예에서, 몇몇 다이는 하나 이상의 적층 층에 차례차례 위치될 수 있다. 다른 실시예에서, 삽입물 상에 탑재되는 다이 또는 적층물 내의 다이 또는 패키지의 기판에 대한 신호, 버스 및/또는 전력의 라우팅을 용이하게 하기 위하여, 적층 층 중 하나는 실리콘으로 이루어지는 삽입물이다. 이러한 종류의 패키지는 셀룰러폰 및 다른 장치에 대하여 공간 절약 애플리케이션 프로세싱을 제공할 수 있다.
베이스밴드 프로세서의 기능성이 음성 및/또는 데이터의 기지국과의 통신을 제공하도록 하기 위하여, 베이스밴드에 대한 성능 요건은 매우 높지 않다. 이러한 이유에 대하여, 베이스밴드 내의 프로세서가 임의의 캐쉬 메모리를 갖지 않는 시장에는 많은 베이스밴드 프로세서가 있다. 캐쉬 메모리를 갖지 않고 WAIT 또는 READY 신호를 갖는 베이스밴드 프로세서에 대하여, 도 6 은 베이스밴드에 대한 캐쉬 메모리와 캐쉬 제어기가 전술한 애플리케이션 프로세서에 포함되어 베이스밴드 프로세서에 대한 더욱 높은 성능을 생성하는 일 실시예를 나타낸다. 애플리케이션 프로세서의 캐쉬는 레벨 1 캐쉬로서 캐쉬리스 베이스밴드 프로세서에 나타날 수 있다. 다른 실시예에서, 캐쉬된 프로세서를 갖는 베이스밴드 프로세서는 또한 내장된 캐쉬에 의하여 애플리케이션 프로세서와 인터페이스할 수 있으며, 이 애플리케이션 프로세서의 캐쉬는 레벨 2 캐쉬로서 동작한다. 이러한 캐쉬는 명령 및/또는 데이터 캐쉬 또는 통합형 캐쉬가 될 수 있다.
도 7 은 애플리케이션 프로세서 (701) 를 나타내며, 이는 전술한 애프리케이션 프로세서와 유사하다. 또한, 애플리케이션 프로세서 (701) 는 LCD 또는 다른 표시 장치 (703) 와의 인터페이스를 포함한다. 일 실시예에서, 이미지가 메모리 서브시스템 (702) 으로 구성되는 프레임 버퍼. 일 실시예에서, 베이스밴드 프로세서로부터의 명령을 수신하면, 애플리케이션 프로세서 (701) 는 프레임을 메모리 서브시스템에서 표시 장치로 카피함으로써 표시에 이미지를 로드 또는 업데이트한다. 또한, 메모리 서브시스템으로부터의 데이터 버스는 표시 장치 데이터 버스에 접속되고, 데이터 버스 및 어드레스 및/또는 애플리케이션 프로세서 (701) 으로부터의 제어 신호는 표시 장치로 어서트되어 표시 장치로 이미지를 로드한다. 애플리케이션 프로세서 (701) 는 메모리 서브시스템으로부터 판독 액세스 동작을 수행하고, 어드레스 및/또는 제어 신호를 표시 장치로 어서트하여, 버퍼로부터 판독되어 이미지 데이터를 표시 장치로 직접 로딩한다. 이는 이미지 데이터를 저 전력을 소모하는 표시 장치로 로드하는데 효과적인 방법을 제공함으로써, 셀룰러폰의 배터리 수명을 향상시킨다.
다른 실시예에서, 프레임 버퍼는 애플리케이션 프로세서 (701) 에 포함되며, 이 데이터는 애플리케이션 프로세서 (701) 로부터의 표시 장치에 직접 소오스된다. 이러한 실시예들에 대하여, 프레임 버퍼가 메모리에 위치되는 표시 장치의 방향 X 의 소자수와 표시 장치의 Y 방향의 소자수의 표시를 갖는 것이 필요하다.
또한, 애플리케이션 프로세서 (701) 는 베이스밴드 프로세서로부터 업데이트된 이미지 명령을 수신할 수 있으며, 표시 장치 상에 이미지를 로딩할 수 있다. 애플리케이션 프로세서는 메모리로부터 내부적으로 프레임 버퍼를 판독하기 위하여 필요한 적어도 일부의 어드레스를 생성한다. 일 실시예에서, 카운터는 X 및 Y 에 대해 유지되어 메모리 어드레스를 생성할 수 있다. 다른 실시예에서, 애플리케이션 프로세서 (701) 에는 이미지 데이터를 표시 장치에 로딩하는 것이 바쁘다는 표시 및/또는 이미지의 로딩이 행해지는 표시가 있을 수 있다. 다른 실시예에서, 베이스밴드 프로세서가 메모리 서브시스템에 액세스하고 표시 장치가 이미지에 의해 로딩된다면, 이미지가 로드될 때까지 WAIT 신호가 어서트되거나 READY 신호가 디어서트될 수 있다. 이미지 로딩은 중간에 정지되어 베이스밴드 프로세서가 패스 쓰루하도록 할 수 있다.
애플리케이션 프로세서 (103, 201, 203, 301, 501, 601, 701) 을 참조하여 다양한 발명을 나타낼 수 있으며, 당업자는 여기서 개시되는 모든 발명을 애플리케이션 프로세스 모두에 적용할 수 있다는 것을 인식할 수 있다.
비록 본 발명을 특정한 예시적인 실시예를 참조하여 설명하였으나, 청구항에서 설정되는 본 발명의 보다 넓은 정신으로부터 벗어나지 않는다면 이러한 실시예에 다양한 변형 및 변경을 행할 수 있음은 자명한 것이다. 따라서, 본 명세서 및 도면은 한정의 의도가 아닌 예시적인 의도인 것으로 이해해야 할 것이다.

Claims (27)

  1. 메모리를 액세스하기 위한 방법에 있어서,
    제 1 프로세서에 대한 메모리 서브시스템으로의 메모리 트랜잭션을 상기 제 1 프로세서와 상기 메모리 서브시스템 사이의 통신 경로 상에 개재되는 중간의 제 2 프로세서로 전송하는 단계, 및
    상기 메모리 트랜잭션이 상기 제 2 프로세서를 패스 쓰루하여 상기 메모리 서브시스템에 도달하도록 할 때를 제어하는 단계를 포함하는 메모리 액세스 방법.
  2. 제 1 항에 있어서, 상기 제어 단계는 상기 메모리 트랜잭션의 패스 쓰루를 지연하는 단계를 포함하는 메모리 액세스 방법.
  3. 제 2 항에 있어서, 상기 메모리 트랜잭션의 패스 쓰루 지연 단계는, 상기 제 2 프로세서에 의하여 상기 제 1 프로세서로 READY 신호를 디어서트 (de-assert) 하는 단계, 또는 WAIT 신호를 어서트 (assert) 하는 단계를 포함하는 메모리 액세스 방법.
  4. 제 2 항에 있어서, 상기 지연 단계는 상기 제 2 프로세서에 의해 초기화되는 상기 메모리 서브시스템의 현재 메모리 사이클이 완료되기에 충분한 기간 동안인 메모리 액세스 방법.
  5. 제 1 항에 있어서, 상기 제어 단계는 상기 제 2 프로세서에 의해 초기화되는 상기 메모리 서브시스템의 상기 현재 메모리 사이클을 중단하는 단계를 포함하는 메모리 액세스 방법.
  6. 제 5 항에 있어서, 상기 중단 단계는 상기 현재 메모리 사이클이 데이터의 손실 없이 안전하게 중단될 수 있는 경우에만 수행되는 메모리 액세스 방법.
  7. 제 6 항에 있어서, 상기 중단 단계는 메모리 액세스가 조기에 (pre-maturely) 종결될 때 상기 메모리 서브시스템이 데이터 인티그리티를 유지하는 메모리 장치를 포함하는 경우에만 수행되는 메모리 액세스 방법.
  8. 제 7 항에 있어서, 상기 제어 단계는, 어드레스, 데이터 및 제어 신호가, 상기 제 1 프로세서로부터, 상기 제 1 프로세서로부터의 칩 선택 신호가 어서트될 때 제어 신호, 어드레서 및 데이터를 선택하기 위해 설정되는 상기 제 2 프로세서의 멀티플렉서 메커니즘을 통하여, 상기 메모리 서브시스템으로, 통과하는 단계를 포함하는 메모리 액세스 방법.
  9. 제 8 항에 있어서, 상기 멀티플렉서 메커니즘은, 상기 제 2 프로세서로부터의 칩 선택 신호가 어서트되는 경우 상기 제 2 프로세서의 메모리 제어기에 의하여생성되는 어드레스, 데이터 및 제어 신호를 선택하는 것이 설정되는 메모리 액세스 방법.
  10. 제 8 항에 있어서, 상기 메모리 트랜잭션이 상기 메모리 서브시스템으로 패스 쓰루될 때를 표시하기 위하여, 상기 제 1 프로세서로부터 상기 하나 이상의 칩 선택 신호의 어서션을 동기화하는 단계를 더 포함하는 메모리 액세스 방법.
  11. 제 10 항에 있어서, 상기 중단되는 현재 메모리 사이클과 관련되는 정보를 저장하는 단계를 더 포함하는 메모리 액세스 방법.
  12. 제 11 항에 있어서, 상기 중단되는 현재 메모리 사이클은 상기 패스 쓰루되는 메모리 트랜잭션이 완료된 후 재시작 (resume) 되는 메모리 액세스 방법.
  13. 제 1 항에 있어서, 상기 제 2 프로세서는 플랫폼 독립 중간 언어 명령을 실행하는 메모리 액세스 방법.
  14. 제 1 항에 있어서, 상기 메모리 서브 시스템의 상기 메모리 장치에 의하여 내부적으로 생성되는 비동기식 리프레시 요구를 무능하게하는 단계, 및
    리프레시를 수행할 때 상기 메모리 장치를 표시하기 위하여 외부 리프레시 요구 신호를 생성하는 단계를 더 포함하는 메모리 액세스 방법.
  15. 제 14 항에 있어서, 상기 외부 리프레시 요구 신호는 상기 제 2 프로세서가 메모리에 액세스되지 않을 때 상기 제 2 프로세서에 의해 생성되는 메모리 액세스 방법.
  16. 제 1 항에 있어서, 상기 제 1 프로세서는 이동 통신 장치에 대한 베이스밴드 프로세서인 메모리 액세스 방법.
  17. 제 1 항에 있어서, 상기 제 2 프로세서는 이동 통신 장치에 대한 애플리케이션 프로세서인 방법.
  18. 제 1 프로세서,
    메모리 서브시스템,
    상기 제 1 프로세서와 상기 메모리 서브시스템 사이에 상기 제 1 프로세서로 하여금 상기 메모리 서브시스템을 액세스하도록 하는 통신 경로, 및
    상기 제 1 프로세서와 상기 메모리 서브시스템 사이에 개재되고, 상기 통신 경로의 중간 지점을 정의하는 제 2 프로세서를 포함하며,
    상기 제 2 프로세서는 상기 제 1 프로세서와 상기 제 2 프로세서에 의해 상기 메모리 서브시스템으로의 액세스를 제어하는 메모리 제어기를 포함하는 시스템.
  19. 제 18 항에 있어서, 상기 통신 경로는, 상기 제 1 프로세서와 상기 제 2 프로세서 사이에 제 1 버스를 포함하고, 상기 제 2 프로세서와 상기 메모리 서브시스템 사이에 제 2 버스를 포함하는 시스템.
  20. 제 18 항에 있어서, 상기 제 2 버스는, 상기 메모리 서브시스템 내의 상기 메모리 장치의 제 1 그룹 및 제 2 그룹 각각에 상기 제 2 프로세스를 결합하는 제어 라인 및 개별 어드레스를 포함하는 시스템.
  21. 제 20 항에 있어서, 상기 메모리 장치의 제 1 그룹은 상기 제 1 프로세서에 의한 요구에 의하여 액세스가능하며,
    상기 메모리 장치의 제 2 그룹은 상기 제 2 프로세서에 의해 액세스되지 않을 때에만 제 1 프로세서에 액세스가능한 시스템.
  22. 제 21 항에 있어서, 상기 메모리 콤포넌트의 제 1 그룹 내의 비휘발성 매모리 장치는 상기 제 1 프로세스에 의해 액세스되지 않을 때에만 상기 제 2 프로세서에 액세스가능한 시스템.
  23. 제 18 항에 있어서, 상기 제 2 버스는 2 개의 개별 버스를 포함하며, 상기 버스 각각은 상기 메모리 서브시스템 내의 제 1 그룹 및 제 2 그룹 각각에 상기 제 2 프로세서를 결합하는 시스템.
  24. 제 18 항에 있어서, 상기 제 2 프로세서는, 상기 제 1 프로세서가 메모리 사이클 신호를 상기 메모리 서브시스템으로 생성할 때를 검출하기 위한 검출 메커니즘을 포함하는 시스템.
  25. 제 24 항에 있어서, 상기 제 2 프로세서는, 상기 제 1 프로세서로부터 검출된 메모리 사이클 신호로 하여금 상기 제 2 프로세서를 패스 쓰루하도록 하는 패스 쓰루 메커니즘을 포함하는 시스템.
  26. 제 25 항에 있어서, 상기 제 2 프로세서가 상기 메모리 서브시스템을 액세스하지 않는 경우, 상기 패스 쓰루 메커니즘은 검출된 메모리 사이클 신호로 하여금 상기 메모리 서브시스템으로 즉시 패스 쓰루하도록 하는 시스템.
  27. 제 26 항에 있어서, 상기 제 2 프로세서에 의한 상기 메모리 서브시스템의 현재의 메모리 액세스가 데이터 손실 없이 중단될 수 있을 때까지, 상기 패스 쓰루 메커니즘은 상기 메모리 서브시스템으로의 검출된 메모리 사이클 신호의 패스 쓰루를 지연하는 시스템.
KR10-2004-7003405A 2002-06-27 2003-06-11 무선 애플리케이션을 위한 애플리케이션 프로세서 및메모리 아키텍쳐 KR20050013525A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US10/187,858 US20030023958A1 (en) 2001-07-17 2002-06-27 Intermediate language accelerator chip
US10/187,858 2002-06-27
US10/405,600 US7290080B2 (en) 2002-06-27 2003-04-01 Application processors and memory architecture for wireless applications
US10/405,600 2003-04-01
PCT/US2003/018642 WO2004003759A1 (en) 2002-06-27 2003-06-11 Application processors and memory architecture for wireless applications

Publications (1)

Publication Number Publication Date
KR20050013525A true KR20050013525A (ko) 2005-02-04

Family

ID=30002692

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7003405A KR20050013525A (ko) 2002-06-27 2003-06-11 무선 애플리케이션을 위한 애플리케이션 프로세서 및메모리 아키텍쳐

Country Status (8)

Country Link
US (2) US7290080B2 (ko)
EP (1) EP1516259A1 (ko)
JP (1) JP2005531863A (ko)
KR (1) KR20050013525A (ko)
CN (1) CN1592894A (ko)
AU (1) AU2003248682A1 (ko)
TW (1) TW200406705A (ko)
WO (1) WO2004003759A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170032127A (ko) 2015-09-14 2017-03-22 서울대학교산학협력단 다수의 네이티브 저장구조를 최적 지원하는 정규화된 계층 인메모리 트랜잭션 저장 아키텍쳐: 행 열 테이블, 그래프, 분석 어레이
KR20170032133A (ko) 2015-09-14 2017-03-22 서울대학교산학협력단 인메모리 트랜잭션 데이터베이스 내장 실시간 기계학습 아키텍쳐

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6297548B1 (en) 1998-06-30 2001-10-02 Micron Technology, Inc. Stackable ceramic FBGA for high thermal applications
US7610061B2 (en) * 2003-09-20 2009-10-27 Samsung Electronics Co., Ltd. Communication device and method having a common platform
US7917673B2 (en) * 2003-09-20 2011-03-29 Samsung Electronics Co., Ltd. Communication device and method having a shared local memory
KR100606242B1 (ko) * 2004-01-30 2006-07-31 삼성전자주식회사 불휘발성 메모리와 호스트간에 버퍼링 동작을 수행하는멀티 포트 휘발성 메모리 장치, 이를 이용한 멀티-칩패키지 반도체 장치 및 이를 이용한 데이터 처리장치
WO2005076137A1 (en) 2004-02-05 2005-08-18 Research In Motion Limited Memory controller interface
WO2006003920A1 (ja) * 2004-06-30 2006-01-12 Vodafone K.K. 連係動作方法及び移動通信端末装置
US7401179B2 (en) * 2005-01-21 2008-07-15 Infineon Technologies Ag Integrated circuit including a memory having low initial latency
JP4969811B2 (ja) * 2005-07-22 2012-07-04 株式会社東芝 情報処理システム及びメモリ制御装置
US7725609B2 (en) * 2005-08-05 2010-05-25 Qimonda Ag System memory device having a dual port
US8140110B2 (en) * 2005-08-08 2012-03-20 Freescale Semiconductor, Inc. Controlling input and output in a multi-mode wireless processing system
US20070033349A1 (en) * 2005-08-08 2007-02-08 Freescale Semiconductor, Inc. Multi-mode wireless processor interface
KR101173539B1 (ko) * 2006-02-15 2012-08-14 삼성전자주식회사 멀티프로세서 시스템 그리고 멀티프로세서 시스템의 초기화방법
US20080014964A1 (en) * 2006-07-12 2008-01-17 Loc-Aid Technologies, Inc. System and method for generating use statistics for location-based applications
JP2010043001A (ja) * 2006-11-09 2010-02-25 Sanwa Kagaku Kenkyusho Co Ltd Glp−1誘導体とその用途
US8296581B2 (en) * 2007-02-05 2012-10-23 Infineon Technologies Ag Secure processor arrangement having shared memory
CN101291479B (zh) * 2007-04-17 2012-09-26 中兴通讯股份有限公司 一种计算机与基于ap架构的智能移动终端的通信方法
US20080282022A1 (en) * 2007-05-09 2008-11-13 Broadcom Corporation, A California Corporation Partially storing software functions that are not expected to change over time in ROM instead of RAM
KR20090095955A (ko) * 2008-03-07 2009-09-10 삼성전자주식회사 불휘발성 메모리의 공유 구조에서 다이렉트 억세스 기능을제공하는 멀티포트 반도체 메모리 장치 및 그를 채용한멀티 프로세서 시스템
US8099539B2 (en) * 2008-03-10 2012-01-17 Lsi Corporation Method and system of a shared bus architecture
SG142321A1 (en) 2008-04-24 2009-11-26 Micron Technology Inc Pre-encapsulated cavity interposer
EP2309458B1 (en) * 2008-08-07 2020-09-02 Mitsubishi Electric Corporation Semiconductor integrated circuit device, facility apparatus control device, and apparatus state display device
US8610732B2 (en) * 2008-12-11 2013-12-17 Nvidia Corporation System and method for video memory usage for general system application
US8677074B2 (en) * 2008-12-15 2014-03-18 Nvidia Corporation Shared memory access techniques
KR20110013867A (ko) * 2009-08-04 2011-02-10 삼성전자주식회사 메모리 링크 아키텍쳐에서 플래시 레스 부팅 기능을 갖는 멀티 프로세서 시스템
US20110104213A1 (en) * 2009-10-30 2011-05-05 University Of Pittsburgh-Of The Commonwealth System Of Higher Education Porous Biomolecule-Containing Metal-Organic Frameworks
US8370836B2 (en) 2010-01-28 2013-02-05 Dell Products, Lp System and method to enable power related decisions in a virtualization environment
US8244609B2 (en) * 2010-04-02 2012-08-14 Intel Corporation Payment management on mobile devices
US8589667B2 (en) 2010-04-19 2013-11-19 Apple Inc. Booting and configuring a subsystem securely from non-local storage
JP6058349B2 (ja) * 2012-10-24 2017-01-11 ルネサスエレクトロニクス株式会社 電子装置及び半導体装置
KR102032887B1 (ko) * 2012-12-10 2019-10-16 삼성전자 주식회사 반도체 패키지 및 반도체 패키지의 라우팅 방법
US9465637B2 (en) 2013-03-29 2016-10-11 Dell Products, Lp System and method for automating virtual network provisioning
US9720861B2 (en) * 2014-12-02 2017-08-01 Qualcomm Incorporated Memory access by dual processor systems
KR102650828B1 (ko) 2016-05-20 2024-03-26 삼성전자주식회사 둘 이상의 프로세서에 의해 공유되는 메모리 장치 및 상기 메모리 장치를 포함하는 시스템
US10490251B2 (en) 2017-01-30 2019-11-26 Micron Technology, Inc. Apparatuses and methods for distributing row hammer refresh events across a memory device
US11017833B2 (en) 2018-05-24 2021-05-25 Micron Technology, Inc. Apparatuses and methods for pure-time, self adopt sampling for row hammer refresh sampling
US10573370B2 (en) 2018-07-02 2020-02-25 Micron Technology, Inc. Apparatus and methods for triggering row hammer address sampling
US10685696B2 (en) 2018-10-31 2020-06-16 Micron Technology, Inc. Apparatuses and methods for access based refresh timing
WO2020117686A1 (en) 2018-12-03 2020-06-11 Micron Technology, Inc. Semiconductor device performing row hammer refresh operation
CN117198356A (zh) 2018-12-21 2023-12-08 美光科技公司 用于目标刷新操作的时序交错的设备和方法
US10957377B2 (en) 2018-12-26 2021-03-23 Micron Technology, Inc. Apparatuses and methods for distributed targeted refresh operations
US11615831B2 (en) 2019-02-26 2023-03-28 Micron Technology, Inc. Apparatuses and methods for memory mat refresh sequencing
US11227649B2 (en) * 2019-04-04 2022-01-18 Micron Technology, Inc. Apparatuses and methods for staggered timing of targeted refresh operations
US11069393B2 (en) 2019-06-04 2021-07-20 Micron Technology, Inc. Apparatuses and methods for controlling steal rates
US10978132B2 (en) 2019-06-05 2021-04-13 Micron Technology, Inc. Apparatuses and methods for staggered timing of skipped refresh operations
CN110262993B (zh) * 2019-06-11 2022-02-08 浙江华创视讯科技有限公司 输入信息的读取方法及电路、存储介质、电子装置
US11302374B2 (en) 2019-08-23 2022-04-12 Micron Technology, Inc. Apparatuses and methods for dynamic refresh allocation
CN112579034A (zh) * 2019-09-29 2021-03-30 成都鼎桥通信技术有限公司 一种音频播放方法和装置
US11302377B2 (en) 2019-10-16 2022-04-12 Micron Technology, Inc. Apparatuses and methods for dynamic targeted refresh steals
CN110942793B (zh) * 2019-10-23 2021-11-23 北京新忆科技有限公司 存储器
CN111565255B (zh) * 2020-04-27 2021-12-21 展讯通信(上海)有限公司 通信装置及调制解调器
US11309010B2 (en) 2020-08-14 2022-04-19 Micron Technology, Inc. Apparatuses, systems, and methods for memory directed access pause
US11380382B2 (en) 2020-08-19 2022-07-05 Micron Technology, Inc. Refresh logic circuit layout having aggressor detector circuit sampling circuit and row hammer refresh control circuit
US11348631B2 (en) 2020-08-19 2022-05-31 Micron Technology, Inc. Apparatuses, systems, and methods for identifying victim rows in a memory device which cannot be simultaneously refreshed
US11557331B2 (en) 2020-09-23 2023-01-17 Micron Technology, Inc. Apparatuses and methods for controlling refresh operations
US11222686B1 (en) 2020-11-12 2022-01-11 Micron Technology, Inc. Apparatuses and methods for controlling refresh timing
US11264079B1 (en) 2020-12-18 2022-03-01 Micron Technology, Inc. Apparatuses and methods for row hammer based cache lockdown
US12112787B2 (en) 2022-04-28 2024-10-08 Micron Technology, Inc. Apparatuses and methods for access based targeted refresh operations

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4084250A (en) * 1976-09-27 1978-04-11 Honeywell Information Systems Inc. Modular assembly for an electronic computer
JP2882495B2 (ja) 1991-02-08 1999-04-12 三菱電機株式会社 通信機
US5652723A (en) * 1991-04-18 1997-07-29 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device
WO1994019743A1 (en) 1993-02-17 1994-09-01 Andor Systems, Inc. Intermediate processor disposed between a host processor channel and a storage director with error management
US5621434A (en) * 1993-08-11 1997-04-15 Object Technology Licensing Corp. Cursor manipulation system and method
US5712664A (en) * 1993-10-14 1998-01-27 Alliance Semiconductor Corporation Shared memory graphics accelerator system
JP3579461B2 (ja) * 1993-10-15 2004-10-20 株式会社ルネサステクノロジ データ処理システム及びデータ処理装置
US5687368A (en) * 1994-07-22 1997-11-11 Iowa State University Research Foundation, Inc. CPU-controlled garbage-collecting memory module
US5668594A (en) * 1995-01-03 1997-09-16 Intel Corporation Method and apparatus for aligning and synchronizing a remote video signal and a local video signal
US6438720B1 (en) * 1995-06-07 2002-08-20 Texas Instruments Incorporated Host port interface
US5925123A (en) 1996-01-24 1999-07-20 Sun Microsystems, Inc. Processor for executing instruction sets received from a network or from a local memory
US6038643A (en) 1996-01-24 2000-03-14 Sun Microsystems, Inc. Stack management unit and method for a processor having a stack
US6026485A (en) 1996-01-24 2000-02-15 Sun Microsystems, Inc. Instruction folding for a stack-based machine
US6014723A (en) * 1996-01-24 2000-01-11 Sun Microsystems, Inc. Processor with accelerated array access bounds checking
US5937193A (en) 1996-11-27 1999-08-10 Vlsi Technology, Inc. Circuit arrangement for translating platform-independent instructions for execution on a hardware platform and method thereof
US5892966A (en) * 1997-06-27 1999-04-06 Sun Microsystems, Inc. Processor complex for executing multimedia functions
US6321323B1 (en) * 1997-06-27 2001-11-20 Sun Microsystems, Inc. System and method for executing platform-independent code on a co-processor
US5923892A (en) * 1997-10-27 1999-07-13 Levy; Paul S. Host processor and coprocessor arrangement for processing platform-independent code
US6374286B1 (en) * 1998-04-06 2002-04-16 Rockwell Collins, Inc. Real time processor capable of concurrently running multiple independent JAVA machines
US6036643A (en) * 1998-05-14 2000-03-14 Advanced Technology Laboratories, Inc. Ultrasonic harmonic doppler imaging
US6093216A (en) 1998-05-29 2000-07-25 Intel Corporation Method of run-time tracking of object references in Java programs
US6446192B1 (en) 1999-06-04 2002-09-03 Embrace Networks, Inc. Remote monitoring and control of equipment over computer networks using a single web interfacing chip
JP2001025053A (ja) 1999-07-09 2001-01-26 Mitsubishi Electric Corp 携帯電話のメモリシステム
US6756986B1 (en) * 1999-10-18 2004-06-29 S3 Graphics Co., Ltd. Non-flushing atomic operation in a burst mode transfer data storage access environment
US6714977B1 (en) * 1999-10-27 2004-03-30 Netbotz, Inc. Method and system for monitoring computer networks and equipment
US6408383B1 (en) * 2000-05-04 2002-06-18 Sun Microsystems, Inc. Array access boundary check by executing BNDCHK instruction with comparison specifiers
US6636918B1 (en) * 2000-06-29 2003-10-21 International Business Machines Corporation Mobile computing device and associated base stations
US6757891B1 (en) * 2000-07-12 2004-06-29 International Business Machines Corporation Method and system for reducing the computing overhead associated with thread local objects
US6976217B1 (en) * 2000-10-13 2005-12-13 Palmsource, Inc. Method and apparatus for integrating phone and PDA user interface on a single processor
US6486832B1 (en) * 2000-11-10 2002-11-26 Am Group Direction-agile antenna system for wireless communications
US20050280623A1 (en) * 2000-12-18 2005-12-22 Renesas Technology Corp. Display control device and mobile electronic apparatus
US7176870B2 (en) * 2001-12-27 2007-02-13 Renesas Technology Corp. Display drive control circuit
US6990567B1 (en) * 2000-12-22 2006-01-24 Lsi Logic Corporation Use of internal general purpose registers of a processor as a Java virtual machine top of stack and dynamic allocation of the registers according to stack status
US20030038849A1 (en) * 2001-07-10 2003-02-27 Nortel Networks Limited System and method for remotely interfacing with a plurality of electronic devices
US6976227B2 (en) * 2002-01-18 2005-12-13 International Business Machines Corporation Dynamic indication of field status
JP4147087B2 (ja) * 2002-10-29 2008-09-10 株式会社ルネサステクノロジ 情報処理通信装置
US7132980B2 (en) * 2002-11-01 2006-11-07 Sirf Technology, Inc. Multi-function device with positioning system and shared processor
US7725609B2 (en) * 2005-08-05 2010-05-25 Qimonda Ag System memory device having a dual port

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170032127A (ko) 2015-09-14 2017-03-22 서울대학교산학협력단 다수의 네이티브 저장구조를 최적 지원하는 정규화된 계층 인메모리 트랜잭션 저장 아키텍쳐: 행 열 테이블, 그래프, 분석 어레이
KR20170032133A (ko) 2015-09-14 2017-03-22 서울대학교산학협력단 인메모리 트랜잭션 데이터베이스 내장 실시간 기계학습 아키텍쳐

Also Published As

Publication number Publication date
US20080244156A1 (en) 2008-10-02
WO2004003759A1 (en) 2004-01-08
TW200406705A (en) 2004-05-01
EP1516259A1 (en) 2005-03-23
CN1592894A (zh) 2005-03-09
US20040024955A1 (en) 2004-02-05
US7290080B2 (en) 2007-10-30
JP2005531863A (ja) 2005-10-20
AU2003248682A1 (en) 2004-01-19

Similar Documents

Publication Publication Date Title
KR20050013525A (ko) 무선 애플리케이션을 위한 애플리케이션 프로세서 및메모리 아키텍쳐
US5930523A (en) Microcomputer having multiple bus structure coupling CPU to other processing elements
US7907469B2 (en) Multi-port memory device for buffering between hosts and non-volatile memory devices
US6173356B1 (en) Multi-port DRAM with integrated SRAM and systems and methods using the same
JP5272274B2 (ja) メモリアクセスの順序を変更するシステム、装置、および方法
US6604180B2 (en) Pipelined memory controller
US6295592B1 (en) Method of processing memory requests in a pipelined memory controller
US7225303B2 (en) Method and apparatus for accessing a dynamic memory device by providing at least one of burst and latency information over at least one of redundant row and column address lines
CN1983329B (zh) 用于图形存储器集线器的装置、系统和方法
US20050086405A1 (en) Efficient system management synchronization and memory allocation
US20050268027A1 (en) Data processor
US7725609B2 (en) System memory device having a dual port
KR20150140361A (ko) 하이브리드 메모리 디바이스
US20220076717A1 (en) Memory system for performing data operations within memory device and method of operating the same
JPH0934783A (ja) 半導体記憶装置
JP2003501747A (ja) プログラマブルsram及びdramキャッシュ・インタフェース
WO2006050983A1 (en) Memory access using multiple sets of address/data lines
US8127110B2 (en) Method, system, and medium for providing interprocessor data communication
US20200285406A1 (en) Filtering memory calibration
US20210286740A1 (en) In-line memory module (imm) computing node with an embedded processor(s) to support local processing of memory-based operations for lower latency and reduced power consumption
US7814282B2 (en) Memory share by a plurality of processors
JP3583844B2 (ja) キャッシュメモリ方式
JP3967921B2 (ja) データ処理装置及びデータ処理システム
US20090182938A1 (en) Content addressable memory augmented memory
JP2004078396A (ja) メモリ装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid