KR100518538B1 - 데이터 독출 동작과 기입 동작을 동시에 수행할 수 있는집적 회로 및 방법. - Google Patents

데이터 독출 동작과 기입 동작을 동시에 수행할 수 있는집적 회로 및 방법. Download PDF

Info

Publication number
KR100518538B1
KR100518538B1 KR20020065682A KR20020065682A KR100518538B1 KR 100518538 B1 KR100518538 B1 KR 100518538B1 KR 20020065682 A KR20020065682 A KR 20020065682A KR 20020065682 A KR20020065682 A KR 20020065682A KR 100518538 B1 KR100518538 B1 KR 100518538B1
Authority
KR
South Korea
Prior art keywords
address
read
write
cache memory
memory block
Prior art date
Application number
KR20020065682A
Other languages
English (en)
Other versions
KR20040036477A (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 삼성전자주식회사
Priority to KR20020065682A priority Critical patent/KR100518538B1/ko
Priority to DE2003149949 priority patent/DE10349949A1/de
Priority to US10/692,997 priority patent/US6826088B2/en
Priority to CNB200310124070XA priority patent/CN100367240C/zh
Priority to JP2003366262A priority patent/JP4220351B2/ja
Publication of KR20040036477A publication Critical patent/KR20040036477A/ko
Application granted granted Critical
Publication of KR100518538B1 publication Critical patent/KR100518538B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • 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/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/30Providing cache or TLB in specific location of a processing system
    • G06F2212/304In main memory subsystem
    • G06F2212/3042In main memory subsystem being part of a memory device, e.g. cache DRAM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2281Timing of a read operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/229Timing of a write operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Static Random-Access Memory (AREA)
  • Dram (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

데이터 독출 동작과 기입 동작을 동시에 수행할 수 있는 집적 회로 및 방법이 개시된다. 본 발명에 따른 집적 회로는, 입출력 포트가 분리되어 있고, 클럭 신호의 한 주기동안 기입 어드레스와 독출 어드레스가 입력되는 집적 회로에 있어서 복수개의 서브 메모리 블록들을 각각 구비하는 메모리 블록들, 상기 메모리 블록들에 대응되는 캐쉬 메모리 블록들 및 태그 메모리 제어부를 구비한다. 태그 메모리 제어부는 상기 기입 어드레스 또는 상기 독출 어드레스에 응답하여 상기 메모리 블록들 및 상기 캐쉬 메모리 블록들에 저장된 데이터를 독출하거나 상기 메모리 블록들 및 상기 캐쉬 메모리 블록들로 상기 데이터를 기입한다. 특히, 태그 메모리 제어부는 상기 기입 어드레스 및 상기 독출 어드레스가 동일한 경우, 상기 데이터의 독출 동작과 기입 동작이 상기 메모리 블록과 상기 캐쉬 메모리 블록에 각각 나누어져 동시에 수행되도록 제어한다.
본 발명에 따른 집적 회로의 독출 동작과 기입 동작을 동시에 수행하는 방법은 캐쉬 메모리 블록을 구비하여 클럭 신호의 한 주기 내에서 독출 동작 및 기입 동작이 메모리 블록과 캐쉬 메모리 블록에서 나누어져 동시에 수행되도록 함으로써 클럭 신호의 동작 주파수를 증가시킬 수 있는 장점이 있다.

Description

데이터 독출 동작과 기입 동작을 동시에 수행할 수 있는 집적 회로 및 방법.{Integrated circuit capable of operating data read and data writing simultaneously and method thereof}
본 발명은 집적 회로에 관한 것으로서, 특히 입출력 포트가 분리된 집적 회로에 있어서 데이터 독출 동작과 기입 동작이 동시에 수행될 수 있는 집적 회로 및 방법에 관한 것이다.
일반적인 동기식 램(synchronous RAM)은 하나의 클럭 주기마다 독출 데이터 또는 기입 데이터 중 어느 하나만을 전송할 수 있다.
이중 데이터율 램(double data rate RAM)은 클럭의 상승 에지와 하강 에지마다 데이터를 전송함으로써 데이터 전송률을 2배 증가 시켰다. 그러나 일반적인 메모리 장치는 데이터의 입력과 데이터의 출력이 하나의 핀을 통하여 이루어진다. 공통 입출력 포트(common I/O)를 이용하는 방법은 데이터의 입력과 출력이 독립적으로 제어될 수 없기 때문에 데이터의 입력 주파수와 출력 주파수가 제한될 수밖에 없다.
그러나 메모리 장치의 대역폭(bandwidth)이 중요시되면서, 분리된 입출력 포트(separate I/O)를 사용하는 제품들이 제조되고 있다. 즉, 데이터의 입력과 출력이 독립적으로 제어될 수 있도록 입력 핀과 출력 핀이 분리된 것이다. 분리된 입력 핀과 출력 핀을 가진 메모리 장치는 클럭의 한 주기 내에 독출 명령(read command)과 독출 어드레스(read address), 기입 명령(write command)과 기입 어드레스(write address) 및 기입 데이터(write data)를 모두 수신할 수 있으므로 동작 주파수를 증가시킬 수 있다.
그러나, 분리된 입출력 포트를 가지는 메모리 장치라도 하나의 클럭 주기 내에서 독출 명령(read command)과 독출 어드레스(read address), 기입 명령(write command)과 기입 어드레스(write address) 및 기입 데이터(write data)를 수신하는 경우, 독출 동작과 기입 동작이 하나의 클럭 주기 내에 수행되기 위해서는 두 번의 메모리 셀 접근이 수행되어야 한다.
즉, 데이터의 독출과 기입을 위한 워드 라인의 활성화가 클럭의 한 주기 내에 두 번 수행되어야 하므로 클럭 주파수가 워드 라인의 활성화 시간에 의해서 제한을 받는 문제가 있다.
도 1은 분리된 입출력 포트를 가지는 메모리 장치의 동작을 설명하는 타이밍도이다.
어드레스와 워드 라인사이의 관계나 입력 데이터 및 출력 데이터의 레이턴시(latency)는 메모리 장치의 회로 구성에 따라 달라지므로 도 1에서는 여기서는 고려되지 않는다.
도 1을 참조하면, 클럭 신호(CLK)의 한 주기 내에서 기입 어드레스(WADD)와 독출 어드레스(RADD)가 모두 입력되고 있다. 클럭 신호(CLK)의 상승 에지에서 입력되는 어드레스(A0, A2, A4, A6 )가 독출 어드레스(RADD)이고, 클럭 신호(CLK)의 하강 에지에서 입력되는 어드레스(A1, A3, A5, A7)가 기입 어드레스(WADD)이다.
RES와 WES는 각각 독출 어드레스(RADD)와 기입 어드레스(WADD)를 선택하는 독출 선택 신호 및 기입 선택 신호이다.
독출 어드레스(RADD) A0에 의하여 워드 라인(AWL0)가 활성화되고, 워드 라인(AWL0)에 응답하여 데이터(Q0)가 출력된다. 또한 기입 어드레스(WADD) A1에 응답하여 워드 라인(AWL1)이 활성화되면 입력 데이터(D1)이 입력된다.
따라서, 독출 동작을 위한 워드 라인(AWL0)과 기입 동작을 위한 워드 라인(AWL1)의 활성화 때문에 클럭 신호(CLK)의 한 주기의 길이가 제한된다. 즉, 클럭 신호의 한 주기동안에 각기 다른 어드레스를 가지는 메모리 셀에 순차적으로 접근을 해야만 하므로 클럭 신호(CLK)의 주기를 줄이기 어려운 문제가 있다.
본 발명이 이루고자하는 기술적 과제는, 클럭 신호의 한 주기 내에서 메모리 셀에 대한 독출 동작 및 기입 동작이 동시에 수행되도록 함으로써 클럭 신호의 동작 주파수를 증가시킬 수 있는 집적 회로를 제공하는데 있다.
본 발명이 이루고자하는 다른 기술적 과제는, 클럭 신호의 한 주기 내에서 메모리 셀에 대한 독출 동작 및 기입 동작이 동시에 수행되도록 함으로써 클럭 신호의 동작 주파수를 증가시킬 수 있는 방법을 제공하는데 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 제 1 실시예에 따른 집적 회로는, 입출력 포트가 분리되어 있고, 클럭 신호의 한 주기동안 기입 어드레스와 독출 어드레스가 입력되는 집적 회로에 있어서 복수개의 서브 메모리 블록들을 각각 구비하는 메모리 블록들, 상기 메모리 블록들에 대응되는 캐쉬 메모리 블록들 및 태그 메모리 제어부를 구비한다.
태그 메모리 제어부는 상기 기입 어드레스 또는 상기 독출 어드레스에 응답하여 상기 메모리 블록들 및 상기 캐쉬 메모리 블록들에 저장된 데이터를 독출하거나 상기 메모리 블록들 및 상기 캐쉬 메모리 블록들로 상기 데이터를 기입한다.
특히, 태그 메모리 제어부는 상기 기입 어드레스 및 상기 독출 어드레스가 동일한 경우, 상기 데이터의 독출 동작과 기입 동작이 상기 메모리 블록과 상기 캐쉬 메모리 블록에 각각 나누어져 동시에 수행되도록 제어하는 것을 특징으로 한다.
상기 기입 어드레스 및 상기 독출 어드레스가 다른 경우, 상기 각각의 기입 및 독출 어드레스에 대응되는 서로 다른 2개의 서브 메모리 블록들이 각각 디코딩 된다.
상기 집적 회로는 서로 분리되어 있는 기입 어드레스 디코딩 패스와 독출 어드레스 디코딩 패스를 구비하고, 상기 서브 메모리 블록들은 상기 기입 어드레스 디코딩 패스와 상기 독출 어드레스 디코딩 패스에 각각 연결된다.
메모리 블록 내부의 서로 다른 서브 메모리 블록들 중 동일한 하위 어드레스를 가지는 메모리 셀들은 상기 캐쉬 메모리 블록의 하나의 메모리 셀에 대응된다. 상기 캐쉬 메모리 블록의 사이즈는 상기 하나의 서브 메모리 블록의 사이즈와 같거나 크다.
상기 태그 메모리 제어부는 상기 캐쉬 메모리 블록에 대응되는 상기 서브 메모리 블록의 어드레스를 나타내는 캐쉬 메모리 어드레스 및 상기 캐쉬 메모리 블록에 저장되어 있는 데이터가 유효한지를 판단하는 유효 판단 정보를 저장한다.
상기 태그 메모리 제어부는 상기 서브 메모리 블록들 중 하나를 선택하는 상기 기입 어드레스의 상위 어드레스와 상기 독출 어드레스의 상위 어드레스가 서로 동일한 경우, 상기 기입 어드레스와 상기 독출 어드레스 중 어느 하나도 상기 캐쉬 메모리 어드레스와 동일하지 않으면 상기 독출 어드레스에 대응되는 상기 메모리 블록에서 독출 동작을 수행하고 상기 캐쉬 메모리 블록에서 기입 동작을 수행하며, 상기 독출 동작 및 상기 기입 동작은 동시에 수행된다.
상기 태그 메모리 제어부는 상기 서브 메모리 블록들 중 하나를 선택하는 상기 기입 어드레스의 상위 어드레스와 상기 독출 어드레스의 상위 어드레스가 서로 동일한 경우, 상기 기입 어드레스 및 상기 독출 어드레스 중 하나가 상기 캐쉬 메모리 어드레스와 일치되면, 상기 캐쉬 메모리 어드레스와 일치된 어드레스에 대응되는 동작이 상기 캐쉬 메모리 블록에서 수행되고 일치되지 않은 어드레스에 대응되는 동작이 상기 메모리 블록에서 수행된다.
상기 기입 어드레스 및 상기 독출 어드레스가 모두 상기 캐쉬 메모리 어드레스와 일치되면, 상기 캐쉬 메모리 블록에서 독출 동작이 수행되고 상기 메모리 블록에서 기입 동작이 수행되며 상기 독출 동작 및 상기 기입 동작은 동시에 수행된다.
상기 태그 메모리 제어부는 상기 서브 메모리 블록들 중 하나를 선택하는 상기 기입 어드레스의 상위 어드레스와 상기 독출 어드레스의 상위 어드레스가 서로 다른 경우, 상기 기입 어드레스 및 상기 독출 어드레스 중 하나가 상기 캐쉬 메모리 어드레스와 일치되면, 상기 캐쉬 메모리 어드레스와 일치된 어드레스에 대응되는 동작이 상기 캐쉬 메모리 블록에서 수행되고 일치되지 않은 어드레스에 대응되는 동작이 상기 메모리 블록에서 수행된다.
상기 기입 어드레스 및 상기 독출 어드레스가 모두 상기 캐쉬 메모리 어드레스와 일치되면, 상기 캐쉬 메모리 블록에서 독출 동작이 수행되고 상기 메모리 블록에서 기입 동작이 수행된다.
상기 기입 어드레스 및 상기 독출 어드레스가 모두 상기 캐쉬 메모리 어드레스와 일치되지 않으면, 상기 선택된 메모리 블록 중 상기 기입 어드레스 및 상기 독출 어드레스에 대응되는 서로 다른 서브 메모리 블록에서 기입 동작 및 독출 동작이 수행되며, 상기 독출 동작 및 상기 기입 동작은 동시에 수행된다.
상기 데이터는 단일 데이터 율(SDR: Single Data Rate) 또는 이중 데이터 율(DDR: Double Data Rate)로 입력 또는 출력된다.
상기 기술적 과제를 달성하기 위한 본 발명의 제 2 실시예에 집적 회로는, 입출력 포트가 분리되어 있는 집적 회로에 있어서 복수개의 서브 메모리 블록들을 각각 구비하는 메모리 블록들, 캐쉬 메모리 블록들, 디코딩부들 및 태그 메모리 제어부를 구비한다.
캐쉬 메모리 블록들은 상기 각각의 메모리 블록에 대응되며, 소정의 캐쉬 제어 신호에 응답하여 저장된 데이터가 출력되거나 또는 데이터가 기입된다. 디코딩부들은 상기 각각의 메모리 블록에 대응되며, 기입 어드레스 또는 독출 어드레스, 소정의 디코딩 제어 신호에 응답하여 상기 서브 메모리 블록들을 제어하는 디코딩 신호를 발생한다.
태그 메모리 제어부는 기입 선택 신호 또는 독출 선택 신호, 상기 기입 어드레스 또는 상기 독출 어드레스를 수신하고, 클럭 신호의 한 주기 동안 입력되는 상기 기입 어드레스와 상기 독출 어드레스가 동일한 지에 따라 상기 데이터의 기입 동작 및 독출 동작이 동시에 수행되도록 상기 캐쉬 제어 신호 또는 상기 디코딩 제어 신호를 발생한다.
상기 디코딩부들은 각각 상기 서브 메모리 블록들에 대응되는 복수개의 디코딩 회로들을 구비한다. 상기 디코딩 회로들은 서로 분리되어 있는 기입 어드레스 디코딩 패스 및 독출 어드레스 디코딩 패스와 연결되고, 상기 서브 메모리 블록들은 상기 기입 어드레스 디코딩 패스와 상기 독출 어드레스 디코딩 패스에 각각 연결된다.
상기 다른 기술적 과제를 달성하기 위한 본 발명의 제 1 실시예에 따른 데이터 독출 동작과 기입 동작을 동시에 수행하는 방법은, 입출력 포트가 분리되어 있고 클럭 신호의 한 주기 동안 기입 어드레스와 독출 어드레스가 입력되며, 복수개의 서브 메모리 블록들을 각각 구비하는 복수개의 메모리 블록들, 상기 메모리 블록들에 대응되는 캐쉬 메모리 블록들을 구비하는 집적 회로의 데이터 독출 동작과 기입 동작을 동시에 수행하는 방법에 있어서, (a)클럭 신호의 한 주기 동안 상기 기입 어드레스와 상기 독출 어드레스가 모두 입력되는지 상기 기입 어드레스 및 상기 독출 어드레스 중 어느 하나만 입력되는지를 판단하는 단계, (b)상기 기입 어드레스와 상기 독출 어드레스가 모두 입력되면 상기 기입 어드레스의 상위 어드레스와 상기 독출 어드레스의 상위 어드레스가 동일한지를 판단하는 단계, (c)상기 기입 어드레스의 상위 어드레스와 상기 독출 어드레스의 상위 어드레스가 동일하면, 상기 기입 어드레스와 상기 독출 어드레스가 소정의 캐쉬 메모리 어드레스와 동일한지를 판단하는 단계 및 (d)상기 기입 어드레스 및 상기 독출 어드레스 중 어느 하나도 상기 캐쉬 메모리 어드레스와 동일하지 않으면, 상기 독출 어드레스에 대응되는 상기 메모리 블록에서 독출 동작을 수행하고, 상기 캐쉬 메모리 블록에서 기입 동작을 수행하는 단계를 구비한다.
상기 (d) 단계는 (d1)상기 캐쉬 메모리 블록에 저장되어 있는 데이터가 유효한지를 판단하는 단계, (d2)상기 캐쉬 메모리 블록에 저장되어 있는 데이터가 유효하지 않으면 상기 독출 어드레스에 대응되는 상기 메모리 블록에서 독출 동작을 수행하고, 상기 캐쉬 메모리 블록에서 기입 동작을 수행하는 단계, (d3)상기 캐쉬 메모리 블록에 기입된 데이터에 관한 정보를 업데이트(update) 시키는 단계, (d4)상기 캐쉬 메모리 블록에 저장되어 있는 데이터가 유효하면 상기 독출 어드레스에 대응되는 상기 메모리 블록에서 독출 동작을 수행하고, 상기 캐쉬 메모리에 저장되어 있는 유효한 데이터를 독출하여 대응되는 메모리 블록에 기입하는 단계 및 (d5)상기 캐쉬 메모리 블록에 기입 동작을 수행하고, 상기 캐쉬 메모리 블록에 기입된 데이터에 관한 정보를 업데이트(update) 시키는 단계를 구비한다.
상기 캐쉬 메모리 어드레스는 상기 캐쉬 메모리 블록에 대응되는 상기 서브 메모리 블록의 어드레스를 나타낸다.
상기 (c)는 (c1)상기 기입 어드레스 및 상기 독출 어드레스 중 하나가 상기 캐쉬 메모리 어드레스와 일치되면, 상기 캐쉬 메모리 어드레스와 일치된 어드레스에 대응되는 동작을 상기 캐쉬 메모리 블록에서 수행하고, 상기 캐쉬 메모리 어드레스와 일치되지 않은 어드레스에 대응되는 동작을 상기 메모리 블록에서 수행하는 단계 및 (c2)상기 기입 어드레스 및 상기 독출 어드레스가 모두 상기 캐쉬 메모리 어드레스와 일치되면, 상기 캐쉬 메모리 블록에서 독출 동작을 수행하고, 상기 메모리 블록에서 기입 동작을 수행하며, 상기 메모리 블록에 기입된 데이터에 관한 정보를 업데이트(update) 시키는 단계를 구비한다.
상기 (b) 단계는 (b1) 상기 기입 어드레스의 상위 어드레스와 상기 독출 어드레스의 상위 어드레스가 동일하지 않으면 상기 기입 어드레스와 상기 독출 어드레스가 상기 캐쉬 메모리 어드레스와 일치되는지를 판단하는 단계, (b2)상기 기입 어드레스 및 상기 독출 어드레스 중 어느 하나가 상기 캐쉬 메모리 어드레스와 일치되면, 상기 캐쉬 메모리 어드레스와 일치된 어드레스에 대응되는 동작을 상기 캐쉬 메모리 블록에서 수행하고, 상기 캐쉬 메모리 어드레스와 일치되지 않은 어드레스와 일치되는 동작을 상기 메모리 블록에서 수행하는 단계, (b3)상기 기입 어드레스 및 상기 독출 어드레스가 모두 상기 캐쉬 메모리 어드레스와 일치되면, 상기 캐쉬 메모리 블록에서 독출 동작을 수행하고, 상기 메모리 블록에서 기입 동작을 수행한 후, 상기 메모리 블록에 기입된 데이터에 관한 정보를 업데이트(update) 시키는 단계 및 (b4)상기 기입 어드레스 및 상기 독출 어드레스가 모두 상기 캐쉬 메모리 어드레스와 일치되지 않으면, 상기 선택된 메모리 블록 중 상기 기입 어드레스 및 상기 독출 어드레스에 대응되는 서로 다른 서브 메모리 블록에서 기입 동작 및 독출 동작을 수행하는 단계를 구비한다.
상기 (a) 단계는 (a1)상기 기입 어드레스 및 상기 독출 어드레스 중 어느 하나만 입력되면 입력된 상기 기입 어드레스 및 상기 독출 어드레스 중 어느 하나가 상기 캐쉬 메모리 어드레스와 일치되는 지를 판단하는 단계, (a2)입력된 상기 기입 어드레스 또는 상기 독출 어드레스가 상기 캐쉬 메모리 어드레스와 일치되면, 상기 캐쉬 메모리 어드레스와 일치된 기입 어드레스 또는 독출 어드레스에 대응되는 동작을 상기 캐쉬 메모리 블록에서 수행하는 단계 및 (a3)입력된 상기 기입 어드레스 또는 상기 독출 어드레스가 상기 캐쉬 메모리 어드레스와 일치되지 않으면, 상기 캐쉬 메모리 어드레스와 일치되지 않은 기입 어드레스 또는 독출 어드레스에 대응되는 동작을 상기 메모리 블록에서 수행하는 단계를 구비한다.
상기 메모리 블록 내부의 서로 다른 서브 메모리 블록들 중 동일한 하위 어드레스를 가지는 메모리 셀들은 상기 캐쉬 메모리 블록의 하나의 메모리 셀에 대응되는 것을 특징으로 한다.
상기 캐쉬 메모리 블록의 사이즈는 상기 하나의 서브 메모리 블록의 사이즈와 같거나 큰 것을 특징으로 한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 2는 제 1 실시예에 따른 집적 회로를 나타내는 블록도이다.
도 2를 참조하면, 집적 회로(200)는 복수개의 서브 메모리 블록들(SMB1, SMB2 ~ SMB M)을 각각 구비하는 메모리 블록들(MB1, MB2, MB3, MB4), 메모리 블록들(MB1, MB2, MB3, MB4)에 대응되는 캐쉬 메모리 블록들(CMB1, CMB2, CMB3, CMB4) 및 태그 메모리 제어부(210)를 구비한다. 도 2의 집적 회로(200)는 입출력 포트가 분리되어 있고, 클럭 신호의 한 주기동안 기입 어드레스(WADD)와 독출 어드레스(RADD)가 입력된다.
메모리 블록들(MB1, MB2, MB3, MB4)은 서로 동일한 구조를 가지고 있고, 캐쉬 메모리 블록들(CMB1, CMB2, CMB3, CMB4)도 서로 동일한 구조를 가지고 있으므로, 메모리 블록들(MB1, MB2, MB3, MB4)중 두 번째 메모리 블록(MB2)과 두 번째 캐쉬 메모리 블록(CMB2)을 중심으로 설명한다.
기입 어드레스(WADD) 및 독출 어드레스(RADD)는 각각 상위 어드레스와 하위 어드레스로 구분되는데, 상위 어드레스는 복수개의 서브 메모리 블록들 중 어느하나를 지정하는 어드레스이다.
본 발명의 기본 원리는 기입 어드레스(WADD) 및 독출 어드레스(RADD)가 동일한 경우, 데이터의 독출 동작과 기입 동작이 메모리 블록과 캐쉬 메모리 블록에 각각 나누어져 동시에 수행됨으로써 클럭 신호의 주기를 줄이려는 것이다.
즉, 기입 어드레스(WADD)와 독출 어드레스(RADD)가 동일하여 동시에 하나의 메모리 블록(예를 들어, 제 2 메모리 블록(MB2))중 동일한 서브 메모리 블록(예를 들어, SMB2)에 접근을 해야할 경우, 서브 메모리 블록(SMB2)에서 데이터의 독출 동작이 수행되면 데이터의 기입 동작은 서브 메모리 블록(SMB2)에 대응되는 캐쉬 메모리 블록(CMB2)에서 수행되도록 하는 것이다.
반대로, 메모리 블록(MB2)에서 데이터의 기입 동작이 수행되면 데이터의 독출 동작은 메모리 블록(MB2)에 대응되는 캐쉬 메모리 블록(CMB2)에서 수행되도록 한다. 이와 같이 함으로써 데이터의 독출 동작 및 기입 동작이 동시에 병렬적으로 이루어질 수 있게 되고 클럭 신호의 주기를 줄일 수 있다.
이를 위하여, 메모리 블록(MB2) 내부의 서로 다른 서브 메모리 블록들(SMB1, SMB2, SMB3 ~ SMB M) 중 동일한 하위 어드레스를 가지는 메모리 셀들은 캐쉬 메모리 블록(CMB2)의 하나의 메모리 셀에 대응되어야 한다. 또한, 동일한 서브 메모리 블록에 대하여 계속 기입 동작과 독출 동작이 수행될 경우도 발생될 수 있으므로, 캐쉬 메모리 블록의 사이즈는 하나의 서브 메모리 블록의 사이즈와 같거나 커야한다.
이러한 동작은 태그 메모리 제어부(210)에 의해서 수행된다. 태그 메모리 제어부(210)는 기입 어드레스(WADD) 또는 독출 어드레스(RADD)에 응답하여 메모리 블록들(MB1, MB2, MB3, MB4) 및 캐쉬 메모리 블록들(CMB1, CMB2, CMB3, CMB4)에 저장된 데이터를 독출 하거나 메모리 블록들(MB1, MB2, MB3, MB4) 및 캐쉬 메모리 블록들(CMB1, CMB2, CMB3, CMB4)로 데이터를 기입한다.
기입 어드레스(WADD)와 독출 어드레스(RADD)가 동일하여, 메모리 블록(MB2)중의 하나의 서브 메모리 블록에서 독출 동작이 수행되고 캐쉬 메모리 블록(CMB2)에서 기입 동작이 수행된 경우, 캐쉬 메모리 블록(CMB2)에 기입된 데이터가 본래 기입되어야 할 메모리 블록(MB2)중 서브 메모리 블록의 주소가 캐쉬 메모리 어드레스로서 태그 메모리 제어부(210)에 저장된다.
즉, 캐쉬 메모리 어드레스는 캐쉬 메모리 블록(CNB2)에 저장되어 있는 데이터가 본래 저장되어 있어야 할 서브 메모리 블록을 지정하는 상위 어드레스이다.
입력되는 어드레스 중에서 하위 어드레스를 이용하여 태그 메모리 제어부(210)에 저장된 캐쉬 메모리 어드레스에 접근하고, 접근된 캐쉬 메모리 어드레스와 입력된 어드레스의 상위 어드레스가 비교된다.
다음 번 기입 어드레스(WADD)와 독출 어드레스(RADD)가 동일하고, 또한 이전의 기입 어드레스(WADD)와 독출 어드레스(RADD)와도 동일하여 캐쉬 메모리 블록(CMB2)에 다시 기입 동작이 수행되어야 할 경우가 있다. 이 경우, 캐쉬 메모리 블록(CMB2)에 먼저 기입되어 있던 데이터가 유효한 데이터인지 여부를 판단해야 한다.
유효한 데이터라면 캐쉬 메모리 블록(CMB2)에 먼저 기입되어 있는 데이터를 독출하여 메모리 블록(MB2)의 대응되는 서브 메모리 블록에 기입한 후, 다음 번 기입 어드레스(WADD)에 대응되는 데이터를 캐쉬 메모리 블록(CMB2)에 기입해야 하기 때문이다. 캐쉬 메모리 블록(CMB2)에 저장되어 있는 데이터가 유효한지를 판단하는 유효 판단 정보도 태그 메모리 제어부(210)에 저장된다.
또한 기입 어드레스(WADD) 및 독출 어드레스(RADD)가 다른 경우, 각각의 기입 및 독출 어드레스(WADD, RADD)에 대응되는 서로 다른 2개의 서브 메모리 블록들이 각각 디코딩 된다.
이를 위하여, 집적 회로(200)는 기입 어드레스 디코딩 패스(미도시)와 독출 어드레스 디코딩 패스(미도시)가 서로 독립적으로 분리되어야 한다. 그리고, 서브 메모리 블록들(SMB1, SMB2, SMB3 ~ SMB M)은 기입 어드레스 디코딩 패스와 독출 어드레스 디코딩 패스에 각각 연결되어야 한다.
데이터는 단일 데이터 율(SDR: Single Data Rate) 또는 이중 데이터 율(DDR: Double Data Rate)로 입력 핀 및 출력 핀을 통하여 입력 또는 출력된다.
태그 메모리 제어부(210)가 메모리 블록(MB2)과 캐쉬 메모리 블록(CMB2)을 제어하여 데이터의 독출 및 기입을 수행하는 동작은 도 3 및 도 4를 참조하여 후술된다.
도 3은 제 2 실시예에 따른 집적 회로를 나타내는 블록도이다.
집적 회로(300)는 복수개의 서브 메모리 블록들(SMB1, SMB2, SMB3 ~ SMB M)을 각각 구비하는 메모리 블록들, 캐쉬 메모리 블록들, 디코딩부들 및 태그 메모리 제어부(310)를 구비한다.
캐쉬 메모리 블록들은 각각의 메모리 블록에 대응되며, 소정의 캐쉬 제어 신호(CCLS)에 응답하여 저장된 데이터가 출력되거나 또는 데이터가 기입된다. 디코딩부들은 각각의 메모리 블록에 대응되며, 기입 어드레스(WADD) 또는 독출 어드레스(RADD), 소정의 디코딩 제어 신호(DCLS)에 응답하여 서브 메모리 블록들(SMB1, SMB2, SMB3 ~ SMB M)을 제어하는 디코딩 신호(DS)를 발생한다.
도 3은 복수개의 메모리 블록들 중 하나의 메모리 블록(MB2)과 복수개의 디코딩부들 중 하나의 디코딩부(320), 복수개의 캐쉬 메모리 블록들 중 하나의 캐쉬 메모리 블록(CMB2)을 도시하고 있다.
따라서 제 2 실시예에 따른 집적 회로(300)의 동작의 설명도 도 3에 도시된 메모리 블록(MB2)과 캐쉬 메모리 블록(CMB2), 디코딩부(320) 및 태그 메모리 제어부(310)를 이용하여 설명한다.
태그 메모리 제어부(310)는 기입 선택 신호(WES) 또는 독출 선택 신호(RES), 기입 어드레스(WADD) 또는 독출 어드레스(RADD)를 수신하고, 클럭 신호의 한 주기 동안 입력되는 기입 어드레스(WADD)와 독출 어드레스(RADD)가 동일한 지에 따라 상기 데이터의 기입 동작 및 독출 동작이 동시에 수행되도록 캐쉬 제어 신호(CCLS) 또는 디코딩 제어 신호(DCLS)를 발생한다. 또한 도면에는 도시되지 않았으나, 독출 선택 신호(RES)와 기입 선택 신호(WES)도 메모리 블록(MB2) 및 캐쉬 메모리 블록(CMB2)으로 인가될 수도 있다.
도 2의 집적 회로(200)와 마찬가지로 상기 디코딩부들은 각각 서브 메모리 블록들(SMB1, SMB2, SMB3 ~ SMB M)에 대응되는 복수개의 디코딩 회로들(미도시)을 구비한다. 입력되는 기입 어드레스(WADD) 및 독출 어드레스(RADD)가 서로 다른 경우, 각각의 기입 및 독출 어드레스 (WADD, RADD)에 대응되는 서로 다른 2개의 서브 메모리 블록들이 각각 디코딩 되어야 하기 때문이다.
이를 위하여, 디코딩 회로들(미도시)은 서로 분리되어 있는 기입 어드레스 디코딩 패스(미도시) 및 독출 어드레스 디코딩 패스(미도시)와 연결되고, 서브 메모리 블록들(SMB1, SMB2, SMB3 ~ SMB M)은 기입 어드레스 디코딩 패스(미도시)와 독출 어드레스 디코딩 패스(미도시)에 각각 연결된다.
도 4는 다른 실시예에 따른 데이터의 독출 동작과 기입 동작을 동시에 수행하는 방법을 나타내는 플로우 차트이다.
도 5는 도 4의 440단계를 설명하는 플로우 차트이다.
도 6은 도 4의 445단계를 설명하는 플로우 차트이다.
도 7은 도 4의 455단계를 설명하는 플로우 차트이다.
이하, 도 2내지 도 7을 참조하여 데이터의 독출 동작과 기입 동작을 동시에 수행하는 집적 회로 및 방법에 대하여 설명한다.
먼저, 클럭 신호의 한 주기 동안 기입 어드레스와 독출 어드레스가 모두 입력되는지 기입 어드레스 및 독출 어드레스 중 어느 하나만 입력되는지를 판단한다.(410 단계) 도 3의 기입 선택 신호(WES) 및 독출 선택 신호(RES)에 의하여 판단될 수 있다.
여기서는, 기입 선택 신호(WES)가 로우 레벨이거나 독출 선택 신호(RES)가 로우 레벨인 경우 각각 기입 어드레스(WADD)와 독출 어드레스(RADD)가 입력되는 것으로 설명한다. 물론 기입 선택 신호(WES) 및 독출 선택 신호(RES)의 레벨이 하이 레벨인 경우에 기입 어드레스(WADD)와 독출 어드레스(RADD)가 입력되는 것으로 회로를 구성할 수도 있을 것이다.
태그 메모리 제어부(310)는 기입 선택 신호(WES)와 독출 선택 신호(RES)를 수신하고, 기입 어드레스(WADD)와 독출 어드레스(RADD)를 수신한다.
기입 어드레스와 독출 어드레스가 모두 입력되면 기입 어드레스의 상위 어드레스와 상기 독출 어드레스의 상위 어드레스가 동일한지를 판단한다.(420단계)
기입 어드레스(WADD)나 독출 어드레스(RADD)는 상위 비트에 서브 메모리 블록을 지정하는 정보를 가지고 있다. 따라서 기입 어드레스(WADD)나 독출 어드레스(RADD)가 입력되면 먼저 기입 어드레스(WADD)나 독출 어드레스(RADD)의 상위 어드레스를 인식하여 어떤 서브 메모리 블록을 지정하는 지를 판단한다.
기입 어드레스의 상위 어드레스와 독출 어드레스의 상위 어드레스가 동일하면, 기입 어드레스와 독출 어드레스가 소정의 캐쉬 메모리 어드레스와 동일한지를 판단한다.(430 단계)
기입 어드레스(WADD)의 상위 어드레스와 독출 어드레스(RADD)의 상위 어드레스가 동일하면 기입 어드레스(WADD) 및 독출 어드레스(RADD)가 동일한 서브 메모리 블록을 지정하고 있는 것이다.
태그 메모리 제어부(310)는 캐쉬 메모리 어드레스를 내부에 저장하고 있다. 캐쉬 메모리 어드레스는 캐쉬 메모리 블록(CMB2)에 대응되는 서브 메모리 블록의 어드레스를 나타낸다. 만일 기입 어드레스(WADD)가 캐쉬 메모리 어드레스와 동일하면 기입 동작은 캐쉬 메모리 블록(CMB2)에서 수행되어야 한다.
기입 어드레스와 독출 어드레스 중 어느 하나도 상기 캐쉬 메모리 어드레스와 동일하지 않으면, 상기 독출 어드레스에 대응되는 상기 메모리 블록에서 독출 동작을 수행하고, 상기 캐쉬 메모리 블록에서 기입 동작을 수행한다.(440 단계)
제 440 단계를 도 5를 참조하여 좀더 설명한다. 기입 어드레스와 독출 어드레스 중 어느 하나도 상기 캐쉬 메모리 어드레스와 동일하지 않으면, 상기 캐쉬 메모리 블록에 저장되어 있는 데이터가 유효한지를 판단한다.(510 단계)
기입 어드레스(WADD)와 독출 어드레스(RADD) 중 어느 하나도 상기 캐쉬 메모리 어드레스와 동일하지 않다는 것은 결국, 메모리 블록(MB2)의 동일한 서브 메모리 블록에서 기입 동작 및 독출 동작이 수행되어야 한다는 것을 의미한다. 그러나 동일한 서브 메모리 블록에서 기입 워드 라인과 독출 워드 라인이 동시에 인에이블 될 수는 없다. 따라서 캐쉬 메모리 블록(CMB2)을 이용하는 것이다.
상기 캐쉬 메모리 블록에 저장되어 있는 데이터가 유효하지 않으면 상기 독출 어드레스에 대응되는 상기 메모리 블록에서 독출 동작을 수행하고, 상기 캐쉬 메모리 블록에서 기입 동작을 수행한다.(540 단계)
기입 동작과 독출 동작이 동일한 서브 메모리 블록에서 수행되어야 할 경우 독출 동작이 우선적으로 수행된다. 따라서, 독출 어드레스(RADD)에 대응되는 메모리 블록(MB2)의 서브 메모리 블록에서 독출 동작을 수행한다. 그리고 캐쉬 메모리 블록(CMB2)에 저장되어 있던 데이터가 유효하지 않으므로 캐쉬 메모리 블록(CMB2)에 기입 동작을 수행한다.
태그 메모리 제어부(310)는 디코딩 제어 신호(DCLS)를 디코딩부(320)로 인가한다. 그러면 디코딩부(320) 내부의 디코딩 회로들(미도시)중 독출 어드레스(RADD)에 대응되는 디코딩 회로는 디코딩 신호(DS)를 발생하여 대응되는 서브 메모리 블록을 디코딩한다. 그러면 서브 메모리 블록에 저장된 데이터는 출력된다. 도 3에서 MDOUT은 메모리 블록(MB2)에 저장된 데이터가 출력되는 경로이다. Q는 출력 핀을 의미한다. 출력 핀(Q)과 입력 핀(D)이 분리되어 있다.
또한 태그 메모리 제어부(310)는 캐쉬 제어 신호(CCLS)를 발생하여 캐쉬 메모리 블록(MB2)에서 기입 동작을 수행한다.
캐쉬 메모리 블록(CMB2)에 저장된 데이터가 변경되었으므로, 상기 캐쉬 메모리 블록에 기입된 데이터에 관한 정보를 업데이트(update) 시킨다.(550 단계) 이러한 정보의 업데이트는 태그 메모리 제어부(310)에서 수행된다.
상기 캐쉬 메모리 블록에 저장되어 있는 데이터가 유효하면 상기 독출 어드레스에 대응되는 상기 메모리 블록에서 독출 동작을 수행하고, 상기 캐쉬 메모리 블록에 저장되어 있는 유효한 데이터를 독출하여 대응되는 메모리 블록에 기입한다.(520 단계)
기입 동작과 독출 동작이 동일한 서브 메모리 블록에서 수행되어야 할 경우 독출 동작이 우선적으로 수행되므로, 독출 어드레스(RADD)에 대응되는 메모리 블록(MB2)의 서브 메모리 블록에서 독출 동작을 수행한다. 태그 메모리 제어부(310)에서 발생되는 디코딩 제어 신호(DCLS)에 의하여 수행된다.
캐쉬 메모리 블록(CMB2)에 저장된 데이터가 유효한 데이터이므로 먼저, 캐쉬 메모리 블록(CMB2)에 저장되어 있는 유효한 데이터를 독출하여, 독출된 데이터를 메모리 블록의 대응되는 서브 메모리 블록에 기입해야 한다. 그리고, 캐쉬 제어 신호(CCLS)에 응답하여 캐쉬 메모리 블록(CMB2)에 기입 동작을 수행하고, 캐쉬 메모리 블록(CMB2)에 기입된 데이터에 관한 정보를 업데이트(update) 시킨다.(530 단계) 정보의 업데이트는 역시 태그 메모리 제어부(310)에서 수행된다.
이와 같은 데이터의 기입 동작과 독출 동작은 동시에 수행된다. 즉, 서브 메모리 블록과 캐쉬 메모리 블록(CMB2)에서 기입 동작과 독출 동작이 독립적으로 수행되므로 기입 워드 라인과 독출 워드 라인은 동시에 인에이블 될 수 있다. 따라서 기입 워드라인과 독출 워드라인이 순차적으로 인에이블 됨으로 인하여 클럭 신호의 주기를 줄이는데 제한이 생기는 문제를 해결할 수 있는 것이다.캐쉬 메모리 블록(CMB2)에 저장되어 있는 유효한 데이터를 독출하여 대응되는 메모리 블록에 기입하고 캐쉬 메모리 블록(CMB2)에 기입 동작을 수행하는 단계가 클럭 신호의 한 주기 내에서 이루어질 수 있는 이유는 첫째로, 캐쉬 메모리 블록(CMB2)의 사이즈가 매우 작기 때문이다. 일반적으로, 반도체 메모리 장치에서 용량이 작은 메모리 블록의 경우 독출 및 기입 경로가 매우 짧기 때문에 고속 동작이 가능하다. 반도체 메모리 장치 분야에서 발표된 많은 논문들은 프로세서(processor) 내부의 작은 용량의 캐쉬 메모리의 경우 고속 동작이 가능하다는 것을 밝히고 있는데 이는 용량이 작은 메모리 블록의 경우 독출 및 기입 경로가 짧기 때문에 가능할 수 있다. 앞서 설명된 바와 같이, 캐쉬 메모리 블록(CMB2)의 사이즈는 하나의 서브 메모리 블록의 사이즈와 같거나 클 수 있으므로, 캐쉬 메모리 블록(CMB2)의 사이즈를 하나의 서브 메모리 블록의 사이즈와 같게 한다면 캐쉬 메모리 블록(CMB2)의 사이즈는 매우 작으므로 클럭 신호의 한 주기 내에서 독출과 기입 동작이 수행되는 고속 동작이 가능할 수 있다. 둘째로, 만일 필요하다면 캐쉬 메모리 블록(CMB2)의 독출 및 기입 경로를 짧게 하기 위하여 캐쉬 메모리 블록(CMB2)의 로우 어드레스(row address)와 칼럼 어드레스(column address)의 배치를 수정해서 비트라인의 길이를 짧게 수정한다면 이와 같은 고속 동작이 가능할 수 있다. 예를 들어, 캐쉬 메모리 블록(CMB2)이 본래 1024row x 256column의 모양이었다면 캐쉬 메모리 블록(CMB2)을 512row x 512column으로 변형한다면 캐쉬 메모리 블록(CMB2)의 독출 및 기입 경로를 짧게 할 수 있다. 셋째로, 캐쉬 메모리 블록(CMB2)의 하나의 어드레스에서 데이터의 독출 동작이 수행되고 동일한 어드레스에 데이터를 기입하므로 워드라인과 칼럼 선택 신호가 한번만 활성화(enable)되면 두 가지 동작이 모두 수행될 수 있다. 즉, 두 번째 동작인 기입 동작을 위한 추가적인 어드레스 디코딩의 시간이 필요하지 않기 때문에 워드라인과 칼럼 선택 신호의 활성화를 위한 시간 마진이 필요하지 않고 센스 증폭 회로 및 기입 드라이버만 제어함으로써 고속 동작이 가능하다. 이와 같은 이유로 본 발명의 실시예에서 캐쉬 메모리 블록(CMB2)에 저장되어 있는 유효한 데이터를 독출하여 대응되는 메모리 블록에 기입하고 캐쉬 메모리 블록(CMB2)에 기입 동작을 수행하는 단계가 클럭 신호의 한 주기 내에 구현될 수 있으며, 본 발명의 기술 분야에서 통상의 지식을 가진 자라면 상술된 520 단계 및 530 단계에 관한 구체적인 구현 방법에 관한 설명을 용이하게 이해할 수 있을 것이다.
상기 기입 어드레스 및 상기 독출 어드레스 중 하나가 상기 캐쉬 메모리 어드레스와 일치되는지, 상기 기입 어드레스 및 상기 독출 어드레스 모두가 상기 캐쉬 메모리 어드레스와 일치되는지를 판단하여 기입 동작 및 독출 동작을 수행한다.(445 단계)
제 445 단계를 도 6을 참조하여 좀 더 설명한다. 상기 기입 어드레스 및 상기 독출 어드레스 중 하나가 상기 캐쉬 메모리 어드레스와 일치되면, 상기 캐쉬 메모리 어드레스와 일치된 어드레스에 대응되는 동작을 상기 캐쉬 메모리 블록에서 수행하고, 상기 캐쉬 메모리 어드레스와 일치되지 않은 어드레스에 대응되는 동작을 상기 메모리 블록에서 수행한다.(610 단계)
즉, 독출 어드레스(RADD)가 캐쉬 메모리 어드레스와 일치되고, 기입 어드레스(WADD)가 캐쉬 메모리 어드레스와 일치되지 않으면, 캐쉬 메모리 블록(CMB2)에서 독출 동작을 수행한다. 태그 메모리 제어부(310)는 캐쉬 제어 신호(CCLS)를 캐쉬 메모리 블록(CMB2)으로 인가하여 독출 동작을 수행한다. 독출된 데이터는 도 3에서 CDOUT으로 표시되어 있다.
또한 태그 메모리 제어부(310)는 디코딩 제어 신호(DCLS)를 발생하여 메모리 블록(MB2)에서 기입 동작이 수행되도록 한다.
반대로, 기입 어드레스(WADD)가 캐쉬 메모리 어드레스와 일치되고, 독출 어드레스(RADD)가 캐쉬 메모리 어드레스와 일치되지 않으면, 캐쉬 메모리 블록(CMB2)에서 기입 동작을 수행하고, 메모리 블록(MB2)에서 독출 동작을 수행한다.
상기 기입 어드레스 및 상기 독출 어드레스가 모두 상기 캐쉬 메모리 어드레스와 일치되면, 상기 캐쉬 메모리 블록에서 독출 동작을 수행하고, 상기 메모리 블록에서 기입 동작을 수행하며, 상기 메모리 블록에 기입된 데이터에 관한 정보를 업데이트(update) 시킨다.(620 단계)
기입 어드레스 및 상기 독출 어드레스가 모두 상기 캐쉬 메모리 어드레스와 일치되면, 기입 동작과 독출 동작이 모두 캐쉬 메모리 블록(CMB2)에서 수행되어야 한다는 것을 의미한다. 그러나, 이것은 동일한 서브 메모리 블록에서 기입 동작과 독출 동작이 동시에 수행될 수 없는 것과 동일한 이유로 불가능하다.
따라서, 캐쉬 메모리 블록(CMB2)에서 캐쉬 제어 신호(CCLS)에 응답하여 독출 동작을 수행한다. 그리고 디코딩 제어 신호(DCLS)에 응답하여 메모리 블록(MB2)의 대응되는 서브 메모리 블록에서 기입 동작을 수행한다. 본래 캐쉬 메모리 블록(CMB2)에 기입되어야 할 데이터가 서브 메모리 블록에 기입된 것이므로, 캐쉬 메모리 블록(CMB2)에 현재 저장되어 있는 데이터는 유효하지 않은 데이터가 된다. 따라서 이러한 정보를 태그 메모리 제어부(310)에 업데이트 시킨다.
제 420 단계에서, 상기 기입 어드레스의 상위 어드레스와 상기 독출 어드레스의 상위 어드레스가 동일하지 않으면, 상기 기입 어드레스와 상기 독출 어드레스가 상기 캐쉬 메모리 어드레스와 일치되는지를 판단한다.(450 단계)
상기 기입 어드레스 및 상기 독출 어드레스 중 하나가 상기 캐쉬 메모리 어드레스와 일치되는지, 상기 기입 어드레스 및 상기 독출 어드레스 모두가 상기 캐쉬 메모리 어드레스와 일치되는지를 판단하여 기입 동작 및 독출 동작을 수행한다.(455 단계)
제 455 단계를 도 7을 참조하여 좀 더 설명한다. 상기 기입 어드레스 및 상기 독출 어드레스 중 어느 하나가 상기 캐쉬 메모리 어드레스와 일치되면, 상기 캐쉬 메모리 어드레스와 일치된 어드레스에 대응되는 동작을 상기 캐쉬 메모리 블록에서 수행하고, 상기 캐쉬 메모리 어드레스와 일치되지 않은 어드레스와 일치되는 동작을 상기 메모리 블록에서 수행한다.(710 단계)
즉, 독출 어드레스(RADD)가 쉬 메모리 어드레스와 일치되고, 기입 어드레스(WADD)가 캐쉬 메모리 어드레스와 일치되지 않으면, 캐쉬 제어 신호(CCLS)에 응답하여 캐쉬 메모리 블록(CMB2)에서 독출 동작을 수행한다. 또한 태그 메모리 제어부(310)는 디코딩 제어 신호(DCLS)를 발생하여 메모리 블록(MB2)에서 기입 동작이 수행되도록 한다.
반대로, 기입 어드레스(WADD)가 캐쉬 메모리 어드레스와 일치되고, 독출 어드레스(RADD)가 캐쉬 메모리 어드레스와 일치되지 않으면, 캐쉬 메모리 블록(CMB2)에서 기입 동작을 수행하고, 메모리 블록(MB2)에서 독출 동작을 수행한다.
상기 기입 어드레스 및 상기 독출 어드레스가 모두 상기 캐쉬 메모리 어드레스와 일치되면, 상기 캐쉬 메모리 블록에서 독출 동작을 수행하고, 상기 메모리 블록에서 기입 동작을 수행하며, 상기 메모리 블록에 기입된 데이터에 관한 정보를 업데이트(update) 시킨다.(720 단계)
기입 어드레스 및 상기 독출 어드레스가 모두 상기 캐쉬 메모리 어드레스와 일치되면, 기입 동작과 독출 동작이 모두 캐쉬 메모리 블록(CMB2)에서 수행되어야 한다는 것을 의미한다. 그러나, 이것은 동일한 서브 메모리 블록에서 기입 동작과 독출 동작이 동시에 수행될 수 없는 것과 동일한 이유로 불가능하다.
따라서, 캐쉬 메모리 블록(CMB2)에서 캐쉬 제어 신호(CCLS)에 응답하여 독출 동작을 수행한다. 그리고 디코딩 제어 신호(DCLS)에 응답하여 메모리 블록(MB2)의 대응되는 서브 메모리 블록에서 기입 동작을 수행한다. 본래 캐쉬 메모리 블록(CMB2)에 기입되어야 할 데이터가 서브 메모리 블록에 기입된 것이므로, 캐쉬 메모리 블록(CMB2)에 현재 저장되어 있는 데이터는 유효하지 않은 데이터가 된다. 따라서 이러한 정보를 태그 메모리 제어부(310)에 업데이트 시킨다.
제 450 단계에서 판단한 결과, 상기 기입 어드레스 및 상기 독출 어드레스 가 모두 상기 캐쉬 메모리 어드레스와 일치되지 않으면, 상기 선택된 메모리 블록 중 상기 기입 어드레스 및 상기 독출 어드레스에 대응되는 서로 다른 서브 메모리 블록에서 기입 동작 및 독출 동작을 수행한다.(460 단계)
이 경우는 기입 어드레스(WADD) 및 독출 어드레스(RADD)가 서로 다른 서브 메모리 블록을 지정하고 있는 경우이다. 서로 다른 서브 메모리 블록이 지정되었으므로 각각의 서브 메모리 블록에 대응되는 디코딩 회로(미도시)를 이용하여 데이터의 독출 동작과 기입 동작을 수행한다.
각 서브 메모리 블록을 디코딩할 수 있는 디코딩 회로를 별도로 구비하고 있고, 또한 기입 어드레스 디코딩 패스와 독출 어드레스 디코딩 패스가 독립적으로 분리되어 있으므로 동일한 메모리 블록이어도 서로 다른 서브 메모리 블록이라면 동시에 독출 동작 및 기입 동작이 수행될 수 있다.
제 410 단계에서, 상기 기입 어드레스 및 상기 독출 어드레스 중 어느 하나만 입력되면 입력된 상기 기입 어드레스 및 상기 독출 어드레스 중 어느 하나가 상기 캐쉬 메모리 어드레스와 일치되는 지를 판단한다.(465 단계)
입력된 상기 기입 어드레스 또는 상기 독출 어드레스가 상기 캐쉬 메모리 어드레스와 일치되면, 상기 캐쉬 메모리 어드레스와 일치된 기입 어드레스 또는 독출 어드레스에 대응되는 동작을 상기 캐쉬 메모리 블록에서 수행한다.(470 단계) 이 경우는 클럭 신호의 한 주기 동안 기입 어드레스(WADD) 및 독출 어드레스(RADD) 중 어느 하나만이 입력되는 것이다.
이때는 입력되는 어드레스가 캐쉬 메모리 어드레스와 일치되면 캐쉬 메모리 블록에서 대응되는 동작을 수행하고, 캐쉬 메모리 어드레스와 일치되지 않으면 메모리 블록(MB2)에서 대응되는 동작을 수행한다.
즉, 기입 어드레스(WADD)만이 입력되고, 입력된 기입 어드레스(WADD)가 캐쉬 메모리 어드레스와 일치된다면 캐쉬 메모리 블록(CMB2)에 기입 동작을 수행한다. 반대로, 독출 어드레스(RADD)만이 입력되고, 입력된 독출 어드레스(RADD)가 캐쉬 메모리 어드레스와 일치된다면 캐쉬 메모리 블록(CMB2)에 독출 동작을 수행한다. 이때 태그 메모리 제어부(310)는 캐쉬 제어 신호(CCLS)를 발생하여 캐쉬 메모리 블록(CMB2)에서 기입 또는 독출 동작이 수행되도록 할 것이다.
입력된 상기 기입 어드레스 또는 상기 독출 어드레스가 상기 캐쉬 메모리 어드레스와 일치되지 않으면, 상기 캐쉬 메모리 어드레스와 일치되지 않은 기입 어드레스 또는 독출 어드레스에 대응되는 동작을 상기 메모리 블록에서 수행한다.(475단계) ,
도 8은 본 발명의 집적 회로의 동작을 설명하는 타이밍도이다.
도 8을 참조하면, 클럭 신호(CLK)의 한 주기가 도 1의 클럭 신호(CLK)의 한 주기의 절반으로 줄어들었음을 알 수 있다. 즉, 클럭 신호(CLK)의 주파수가 2배 증가된 것이다.
종래에는 기입 동작을 위한 워드 라인과 독출 동작을 위한 워드 라인이 클럭 신호(CLK)의 한 주기 동안에 순차적으로 인에이블 되므로 클럭 신호(CLK)의 주기를 짧게 하는 것이 어려웠다.
그러나, 본 발명에 따른 집적 회로 및 방법에 의하면, 도 8에서 알 수 있듯이, 독출 동작을 위한 워드 라인(WL1)과 기입 동작을 위한 워드 라인(WL2)이 클럭 신호(CLK)의 한 주기 동안에 동시에 인에이블 되므로 클럭 신호(CLK)의 주기를 짧게 할 수 있다.
본 발명은 입출력 포트가 분리되고, 클럭 신호의 한 주기 내에 기입 어드레스와 독출 어드레스를 모두 받을 수 있는 집적 회로에 대하여 적용될 수 있다. 또한 데이터는 단일 데이터 율(SDR: Single Data Rate) 또는 이중 데이터 율(DDR: Double Data Rate)로 분리된 입력 핀 또는 출력 핀을 통하여 입출력 될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 집적 회로 및 의 독출 동작과 기입 동작을 동시에 수행하는 방법은, 메모리 블록을 복수개의 서브 메모리 블록으로 구분하고, 각각의 서브 메모리 블록을 디코딩 시킬 수 있는 디코딩 회로와, 모든 서브 메모리 블록들에 연결되는 기입 어드레스 디코딩 패스와 독출 어드레스 디코딩 패스를 별도로 구비하며, 캐쉬 메모리 블록을 구비하여 클럭 신호의 한 주기 내에서 독출 동작 및 기입 동작이 메모리 블록과 캐쉬 메모리 블록에서 나누어져 동시에 수행되도록 함으로써 클럭 신호의 동작 주파수를 증가시킬 수 있는 장점이 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 분리된 입출력 포트를 가지는 메모리 장치의 동작을 설명하는 타이밍도이다.
도 2는 제 1 실시예에 따른 집적 회로를 나타내는 블록도이다.
도 3은 제 2 실시예에 따른 집적 회로를 나타내는 블록도이다.
도 4는 다른 실시예에 따른 데이터의 독출 동작과 기입 동작을 동시에 수행하는 방법을 나타내는 플로우 차트이다.
도 5는 도 4의 440단계를 설명하는 플로우 차트이다.
도 6은 도 4의 445단계를 설명하는 플로우 차트이다.
도 7은 도 4의 455단계를 설명하는 플로우 차트이다.
도 8은 본 발명의 집적 회로의 동작을 설명하는 타이밍도이다.

Claims (30)

  1. 입출력 포트가 분리되어 있고, 클럭 신호의 한 주기동안 기입 어드레스와 독출 어드레스가 입력되는 집적 회로에 있어서,
    복수개의 서브 메모리 블록들을 각각 구비하는 메모리 블록들 ;
    상기 메모리 블록들에 대응되는 캐쉬 메모리 블록들 ; 및
    상기 기입 어드레스 또는 상기 독출 어드레스에 응답하여 상기 메모리 블록들 및 상기 캐쉬 메모리 블록들에 저장된 데이터를 독출하거나 상기 메모리 블록들 및 상기 캐쉬 메모리 블록들로 상기 데이터를 기입하는 태그 메모리 제어부를 구비하고,
    상기 태그 메모리 제어부는,
    상기 기입 어드레스 및 상기 독출 어드레스의 상위 어드레스가 동일한 경우, 상기 데이터의 독출 동작과 기입 동작이 상기 메모리 블록과 상기 캐쉬 메모리 블록에 각각 나누어져 동시에 수행되도록 제어하는 것을 특징으로 하는 집적 회로.
  2. 제 1항에 있어서,
    상기 기입 어드레스 및 상기 독출 어드레스가 다른 경우, 상기 각각의 기입 및 독출 어드레스에 대응되는 서로 다른 2개의 서브 메모리 블록들이 각각 디코딩 되는 것을 특징으로 하는 집적 회로.
  3. 제 1항에 있어서, 상기 집적 회로는,
    서로 분리되어 있는 기입 어드레스 디코딩 패스와 독출 어드레스 디코딩 패스를 구비하고,
    상기 서브 메모리 블록들은
    상기 기입 어드레스 디코딩 패스와 상기 독출 어드레스 디코딩 패스에 각각 연결되는 것을 특징으로 하는 집적 회로.
  4. 제 1항에 있어서,
    메모리 블록 내부의 서로 다른 서브 메모리 블록들 중 동일한 하위 어드레스를 가지는 메모리 셀들은 상기 캐쉬 메모리 블록의 하나의 메모리 셀에 대응되는 것을 특징으로 하는 집적 회로.
  5. 제 1항에 있어서, 상기 캐쉬 메모리 블록의 사이즈는,
    상기 하나의 서브 메모리 블록의 사이즈와 같거나 큰 것을 특징으로 하는 집적 회로.
  6. 제 1항에 있어서, 상기 태그 메모리 제어부는,
    상기 캐쉬 메모리 블록에 대응되는 상기 서브 메모리 블록의 어드레스를 나타내는 캐쉬 메모리 어드레스 및 상기 캐쉬 메모리 블록에 저장되어 있는 데이터가 유효한지를 판단하는 유효 판단 정보를 저장하는 것을 특징으로 하는 집적 회로.
  7. 제 6항에 있어서, 상기 태그 메모리 제어부는,
    상기 서브 메모리 블록들 중 하나를 선택하는 상기 기입 어드레스의 상위 어드레스와 상기 독출 어드레스의 상위 어드레스가 서로 동일한 경우,
    상기 기입 어드레스와 상기 독출 어드레스 중 어느 하나도 상기 캐쉬 메모리 어드레스와 동일하지 않으면 상기 독출 어드레스에 대응되는 상기 메모리 블록에서 독출 동작을 수행하고 상기 캐쉬 메모리 블록에서 기입 동작을 수행하며,
    상기 독출 동작 및 상기 기입 동작은 동시에 수행되는 것을 특징으로 하는 집적 회로.
  8. 제 6항에 있어서, 상기 태그 메모리 제어부는,
    상기 서브 메모리 블록들 중 하나를 선택하는 상기 기입 어드레스의 상위 어드레스와 상기 독출 어드레스의 상위 어드레스가 서로 동일한 경우,
    상기 기입 어드레스 및 상기 독출 어드레스 중 하나가 상기 캐쉬 메모리 어드레스와 일치되면,
    상기 캐쉬 메모리 어드레스와 일치된 어드레스에 대응되는 동작이 상기 캐쉬 메모리 블록에서 수행되고 일치되지 않은 어드레스에 대응되는 동작이 상기 메모리 블록에서 수행되며,
    상기 기입 어드레스 및 상기 독출 어드레스가 모두 상기 캐쉬 메모리 어드레스와 일치되면,
    상기 캐쉬 메모리 블록에서 독출 동작이 수행되고 상기 메모리 블록에서 기입 동작이 수행되며,
    상기 독출 동작 및 상기 기입 동작은 동시에 수행되는 것을 특징으로 하는 집적 회로.
  9. 제 6항에 있어서, 상기 태그 메모리 제어부는,
    상기 서브 메모리 블록들 중 하나를 선택하는 상기 기입 어드레스의 상위 어드레스와 상기 독출 어드레스의 상위 어드레스가 서로 다른 경우,
    상기 기입 어드레스 및 상기 독출 어드레스 중 하나가 상기 캐쉬 메모리 어드레스와 일치되면,
    상기 캐쉬 메모리 어드레스와 일치된 어드레스에 대응되는 동작이 상기 캐쉬 메모리 블록에서 수행되고 일치되지 않은 어드레스에 대응되는 동작이 상기 메모리 블록에서 수행되며,
    상기 기입 어드레스 및 상기 독출 어드레스가 모두 상기 캐쉬 메모리 어드레스와 일치되면,
    상기 캐쉬 메모리 블록에서 독출 동작이 수행되고 상기 메모리 블록에서 기입 동작이 수행되며,
    상기 기입 어드레스 및 상기 독출 어드레스가 모두 상기 캐쉬 메모리 어드레스와 일치되지 않으면,
    상기 선택된 메모리 블록 중 상기 기입 어드레스 및 상기 독출 어드레스에 대응되는 서로 다른 서브 메모리 블록에서 기입 동작 및 독출 동작이 수행되며,
    상기 독출 동작 및 상기 기입 동작은 동시에 수행되는 것을 특징으로 하는 집적 회로.
  10. 제 1항에 있어서, 상기 데이터는,
    단일 데이터 율(SDR: Single Data Rate) 또는 이중 데이터 율(DDR: Double Data Rate)로 입력 또는 출력되는 것을 특징으로 하는 집적 회로.
  11. 입출력 포트가 분리되어 있는 집적 회로에 있어서,
    복수개의 서브 메모리 블록들을 각각 구비하는 메모리 블록들 ;
    상기 각각의 메모리 블록에 대응되며, 소정의 캐쉬 제어 신호에 응답하여 저장된 데이터가 출력되거나 또는 데이터가 기입되는 복수개의 캐쉬 메모리 블록들 ;
    상기 각각의 메모리 블록에 대응되며, 기입 어드레스 또는 독출 어드레스, 소정의 디코딩 제어 신호에 응답하여 상기 서브 메모리 블록들을 제어하는 디코딩 신호를 발생하는 복수개의 디코딩부들 ;
    기입 선택 신호 또는 독출 선택 신호, 상기 기입 어드레스 또는 상기 독출 어드레스를 수신하고, 클럭 신호의 한 주기 동안 입력되는 상기 기입 어드레스와 상기 독출 어드레스가 동일한 지에 따라 상기 데이터의 기입 동작 및 독출 동작이 동시에 수행되도록 상기 캐쉬 제어 신호 또는 상기 디코딩 제어 신호를 발생하는 태그 메모리 제어부를 구비하며,
    상기 디코딩부들은 각각 상기 서브 메모리 블록들에 대응되는 복수개의 디코딩 회로들을 구비하고,
    상기 디코딩 회로들은 서로 분리되어 있는 기입 어드레스 디코딩 패스 및 독출 어드레스 디코딩 패스와 연결되고, 상기 서브 메모리 블록들은 상기 기입 어드레스 디코딩 패스와 상기 독출 어드레스 디코딩 패스에 각각 연결되는 것을 특징으로 하는 집적 회로.
  12. 삭제
  13. 삭제
  14. 제 11항에 있어서,
    상기 기입 어드레스 및 상기 독출 어드레스가 다른 경우, 상기 각각의 기입 및 독출 어드레스에 대응되는 서로 다른 2개의 서브 메모리 블록들이 각각 디코딩 되는 것을 특징으로 하는 집적 회로.
  15. 제 11항에 있어서,
    상기 메모리 블록 내부의 서로 다른 서브 메모리 블록들 중 동일한 하위 어드레스를 가지는 메모리 셀들은 상기 캐쉬 메모리 블록의 하나의 메모리 셀에 대응되는 것을 특징으로 하는 집적 회로.
  16. 제 11항에 있어서, 상기 캐쉬 메모리 블록의 사이즈는,
    상기 하나의 서브 메모리 블록의 사이즈와 같거나 큰 것을 특징으로 하는 집적 회로.
  17. 제 11항에 있어서, 상기 태그 메모리 제어부는,
    상기 캐쉬 메모리 블록에 대응되는 상기 서브 메모리 블록의 어드레스를 나타내는 캐쉬 메모리 어드레스 및 상기 캐쉬 메모리 블록에 저장되어 있는 데이터가 유효한지를 판단하는 유효 판단 정보를 저장하는 것을 특징으로 하는 집적 회로.
  18. 제 17항에 있어서, 상기 태그 메모리 제어부는,
    상기 서브 메모리 블록들 중 하나를 선택하는 상기 기입 어드레스의 상위 어드레스와 상기 독출 어드레스의 상위 어드레스가 서로 동일한 경우,
    상기 기입 어드레스와 상기 독출 어드레스 중 어느 하나도 상기 캐쉬 메모리 어드레스와 동일하지 않으면 상기 디코딩 제어 신호를 발생하여 상기 독출 어드레스에 대응되는 상기 메모리 블록에서 독출 동작을 수행하고, 상기 캐쉬 제어 신호를 발생하여 상기 캐쉬 메모리 블록에서 기입 동작을 수행하며,
    상기 독출 동작 및 상기 기입 동작은 동시에 수행되는 것을 특징으로 하는 집적 회로.
  19. 제 17항에 있어서, 상기 태그 메모리 제어부는,
    상기 서브 메모리 블록들 중 하나를 선택하는 상기 기입 어드레스의 상위 어드레스와 상기 독출 어드레스의 상위 어드레스가 서로 동일한 경우,
    상기 기입 어드레스 및 상기 독출 어드레스 중 하나가 상기 캐쉬 메모리 어드레스와 일치되면,
    상기 캐쉬 제어 신호를 발생하여 상기 캐쉬 메모리 어드레스와 일치된 어드레스에 대응되는 동작을 상기 캐쉬 메모리 블록에서 수행하고, 상기 디코딩 제어 신호를 발생하여 상기 캐쉬 메모리 어드레스와 일치되지 않은 어드레스에 대응되는 동작을 상기 메모리 블록에서 수행하며,
    상기 기입 어드레스 및 상기 독출 어드레스가 모두 상기 캐쉬 메모리 어드레스와 일치되면,
    상기 캐쉬 제어 신호를 발생하여 상기 캐쉬 메모리 블록에서 독출 동작을 수행하고, 상기 디코딩 제어 신호를 발생하여 상기 메모리 블록에서 기입 동작을 수행하며,
    상기 독출 동작 및 상기 기입 동작은 동시에 수행되는 것을 특징으로 하는 집적 회로.
  20. 제 17항에 있어서, 상기 태그 메모리 제어부는,
    상기 서브 메모리 블록들 중 하나를 선택하는 상기 기입 어드레스의 상위 어드레스와 상기 독출 어드레스의 상위 어드레스가 서로 다른 경우,
    상기 기입 어드레스 및 상기 독출 어드레스 중 하나가 상기 캐쉬 메모리 어드레스와 일치되면,
    상기 캐쉬 제어 신호를 발생하여 상기 캐쉬 메모리 어드레스와 일치된 어드레스에 대응되는 동작을 상기 캐쉬 메모리 블록에서 수행하고, 상기 디코딩 제어 신호를 발생하여 상기 캐쉬 메모리 어드레스와 일치되지 않은 어드레스에 대응되는 동작을 상기 메모리 블록에서 수행하며,
    상기 기입 어드레스 및 상기 독출 어드레스가 모두 상기 캐쉬 메모리 어드레스와 일치되면,
    상기 캐쉬 제어 신호를 발생하여 상기 캐쉬 메모리 블록에서 독출 동작을 수행하고, 상기 디코딩 제어 신호를 발생하여 상기 메모리 블록에서 기입 동작을 수행하며,
    상기 기입 어드레스 및 상기 독출 어드레스가 모두 상기 캐쉬 메모리 어드레스와 일치되지 않으면,
    상기 디코딩 제어 신호를 발생하여 상기 선택된 메모리 블록 중 상기 기입 어드레스 및 상기 독출 어드레스에 대응되는 서로 다른 서브 메모리 블록에서 기입 동작 및 독출 동작을 수행하며,
    상기 독출 동작 및 상기 기입 동작은 동시에 수행되는 것을 특징으로 하는 집적 회로.
  21. 제 11항에 있어서, 상기 데이터는,
    단일 데이터 율(SDR: Single Data Rate) 또는 이중 데이터 율(DDR: Double Data Rate)로 입력 또는 출력되는 것을 특징으로 하는 집적 회로.
  22. 입출력 포트가 분리되어 있고 클럭 신호의 한 주기 동안 기입 어드레스와 독출 어드레스가 입력되며, 복수개의 서브 메모리 블록들을 각각 구비하는 복수개의 메모리 블록들, 상기 메모리 블록들에 대응되는 캐쉬 메모리 블록들을 구비하는 집적 회로의 데이터 독출 동작과 기입 동작을 동시에 수행하는 방법에 있어서,
    (a)클럭 신호의 한 주기 동안 상기 기입 어드레스와 상기 독출 어드레스가 모두 입력되는지 상기 기입 어드레스 및 상기 독출 어드레스 중 어느 하나만 입력되는지를 판단하는 단계 ;
    (b)상기 기입 어드레스와 상기 독출 어드레스가 모두 입력되면 상기 기입 어드레스의 상위 어드레스와 상기 독출 어드레스의 상위 어드레스가 동일한지를 판단하는 단계 ;
    (c)상기 기입 어드레스의 상위 어드레스와 상기 독출 어드레스의 상위 어드레스가 동일하면, 상기 기입 어드레스와 상기 독출 어드레스가 소정의 캐쉬 메모리 어드레스와 동일한지를 판단하는 단계 ; 및
    (d)상기 기입 어드레스와 상기 독출 어드레스 중 어느 하나도 상기 캐쉬 메모리 어드레스와 동일하지 않으면, 상기 독출 어드레스에 대응되는 상기 메모리 블록에서 독출 동작을 수행하고, 상기 캐쉬 메모리 블록에서 기입 동작을 수행하는 단계를 구비하는 것을 특징으로 하는 데이터의 독출 동작과 기입 동작을 동시에 수행하는 방법.
  23. 제 22항에 있어서, 상기 (d) 단계는,
    (d1)상기 캐쉬 메모리 블록에 저장되어 있는 데이터가 유효한지를 판단하는 단계 ;
    (d2)상기 캐쉬 메모리 블록에 저장되어 있는 데이터가 유효하지 않으면 상기 독출 어드레스에 대응되는 상기 메모리 블록에서 독출 동작을 수행하고, 상기 캐쉬 메모리 블록에서 기입 동작을 수행하는 단계 ;
    (d3)상기 캐쉬 메모리 블록에 기입된 데이터에 관한 정보를 업데이트(update) 시키는 단계 ;
    (d4)상기 캐쉬 메모리 블록에 저장되어 있는 데이터가 유효하면 상기 독출 어드레스에 대응되는 상기 메모리 블록에서 독출 동작을 수행하고, 상기 캐쉬 메모리 블록에 저장되어 있는 유효한 데이터를 독출하여 대응되는 메모리 블록에 기입하는 단계 ; 및
    (d5)상기 캐쉬 메모리 블록에 기입 동작을 수행하고, 상기 캐쉬 메모리 블록에 기입된 데이터에 관한 정보를 업데이트(update) 시키는 단계를 구비하는 것을 특징으로 하는 데이터의 독출 동작과 기입 동작을 동시에 수행하는 방법.
  24. 제 22항에 있어서, 상기 캐쉬 메모리 어드레스는,
    상기 캐쉬 메모리 블록에 대응되는 상기 서브 메모리 블록의 어드레스를 나타내는 것을 특징으로 하는 데이터의 독출 동작과 기입 동작을 동시에 수행하는 방법.
  25. 제 22항에 있어서, 상기 (c)는,
    (c1)상기 기입 어드레스 및 상기 독출 어드레스 중 하나가 상기 캐쉬 메모리 어드레스와 일치되면, 상기 캐쉬 메모리 어드레스와 일치된 어드레스에 대응되는 동작을 상기 캐쉬 메모리 블록에서 수행하고, 상기 캐쉬 메모리 어드레스와 일치되지 않은 어드레스에 대응되는 동작을 상기 메모리 블록에서 수행하는 단계 ; 및
    (c2)상기 기입 어드레스 및 상기 독출 어드레스가 모두 상기 캐쉬 메모리 어드레스와 일치되면, 상기 캐쉬 메모리 블록에서 독출 동작을 수행하고, 상기 메모리 블록에서 기입 동작을 수행하며, 상기 메모리 블록에 기입된 데이터에 관한 정보를 업데이트(update) 시키는 단계를 구비하는 것을 특징으로 하는 데이터의 독출 동작과 기입 동작을 동시에 수행하는 방법.
  26. 제 22항에 있어서, 상기 (b) 단계는,
    (b1) 상기 기입 어드레스의 상위 어드레스와 상기 독출 어드레스의 상위 어드레스가 동일하지 않으면 상기 기입 어드레스와 상기 독출 어드레스가 상기 캐쉬 메모리 어드레스와 일치되는지를 판단하는 단계 ;
    (b2)상기 기입 어드레스 및 상기 독출 어드레스 중 어느 하나가 상기 캐쉬 메모리 어드레스와 일치되면, 상기 캐쉬 메모리 어드레스와 일치된 어드레스에 대응되는 동작을 상기 캐쉬 메모리 블록에서 수행하고, 상기 캐쉬 메모리 어드레스와 일치되지 않은 어드레스에 대응되는 동작을 상기 메모리 블록에서 수행하는 단계 ;
    (b3)상기 기입 어드레스 및 상기 독출 어드레스가 모두 상기 캐쉬 메모리 어드레스와 일치되면, 상기 캐쉬 메모리 블록에서 독출 동작을 수행하고, 상기 메모리 블록에서 기입 동작을 수행한 후, 상기 메모리 블록에 기입된 데이터에 관한 정보를 업데이트(update) 시키는 단계 ; 및
    (b4)상기 기입 어드레스 및 상기 독출 어드레스가 모두 상기 캐쉬 메모리 어드레스와 일치되지 않으면, 상기 선택된 메모리 블록 중 상기 기입 어드레스 및 상기 독출 어드레스에 대응되는 서로 다른 서브 메모리 블록에서 기입 동작 및 독출 동작을 수행하는 단계를 구비하는 것을 특징으로 하는 데이터의 독출 동작과 기입 동작을 동시에 수행하는 방법.
  27. 제 22항에 있어서, 상기 (a) 단계는,
    (a1)상기 기입 어드레스 및 상기 독출 어드레스 중 어느 하나만 입력되면 입력된 상기 기입 어드레스 및 상기 독출 어드레스 중 어느 하나가 상기 캐쉬 메모리 어드레스와 일치되는 지를 판단하는 단계 ;
    (a2)입력된 상기 기입 어드레스 또는 상기 독출 어드레스가 상기 캐쉬 메모리 어드레스와 일치되면, 상기 캐쉬 메모리 어드레스와 일치된 기입 어드레스 또는 독출 어드레스에 대응되는 동작을 상기 캐쉬 메모리 블록에서 수행하는 단계 ; 및
    (a3)입력된 상기 기입 어드레스 또는 상기 독출 어드레스가 상기 캐쉬 메모리 어드레스와 일치되지 않으면, 상기 캐쉬 메모리 어드레스와 일치되지 않은 기입 어드레스 또는 독출 어드레스에 대응되는 동작을 상기 메모리 블록에서 수행하는 단계를 구비하는 것을 특징으로 하는 데이터의 독출 동작과 기입 동작을 동시에 수행하는 방법.
  28. 제 22항에 있어서,
    상기 메모리 블록 내부의 서로 다른 서브 메모리 블록들 중 동일한 하위 어드레스를 가지는 메모리 셀들은 상기 캐쉬 메모리 블록의 하나의 메모리 셀에 대응되는 것을 특징으로 하는 데이터의 독출 동작과 기입 동작을 동시에 수행하는 방법.
  29. 제 22항에 있어서, 상기 캐쉬 메모리 블록의 사이즈는,
    상기 하나의 서브 메모리 블록의 사이즈와 같거나 큰 것을 특징으로 하는 데이터의 독출 동작과 기입 동작을 동시에 수행하는 방법.
  30. 제 22항에 있어서, 상기 데이터는,
    단일 데이터 율(SDR: Single Data Rate) 또는 이중 데이터 율(DDR: Double Data Rate)로 입력 또는 출력되는 것을 특징으로 하는 데이터의 독출 동작과 기입 동작을 동시에 수행하는 방법.
KR20020065682A 2002-10-26 2002-10-26 데이터 독출 동작과 기입 동작을 동시에 수행할 수 있는집적 회로 및 방법. KR100518538B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR20020065682A KR100518538B1 (ko) 2002-10-26 2002-10-26 데이터 독출 동작과 기입 동작을 동시에 수행할 수 있는집적 회로 및 방법.
DE2003149949 DE10349949A1 (de) 2002-10-26 2003-10-24 Integrierter Schaltkreis und zugehöriges Schreib-/Leseverfahren
US10/692,997 US6826088B2 (en) 2002-10-26 2003-10-24 Method and integrated circuit capable of reading and writing data simultaneously
CNB200310124070XA CN100367240C (zh) 2002-10-26 2003-10-27 能同时读写数据的方法和集成电路
JP2003366262A JP4220351B2 (ja) 2002-10-26 2003-10-27 データ読み取り動作及び書き込み動作を同時に実行可能な集積回路及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20020065682A KR100518538B1 (ko) 2002-10-26 2002-10-26 데이터 독출 동작과 기입 동작을 동시에 수행할 수 있는집적 회로 및 방법.

Publications (2)

Publication Number Publication Date
KR20040036477A KR20040036477A (ko) 2004-04-30
KR100518538B1 true KR100518538B1 (ko) 2005-10-04

Family

ID=32226196

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20020065682A KR100518538B1 (ko) 2002-10-26 2002-10-26 데이터 독출 동작과 기입 동작을 동시에 수행할 수 있는집적 회로 및 방법.

Country Status (4)

Country Link
JP (1) JP4220351B2 (ko)
KR (1) KR100518538B1 (ko)
CN (1) CN100367240C (ko)
DE (1) DE10349949A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6858464B2 (en) 2002-06-19 2005-02-22 Semiconductor Energy Laboratory Co., Ltd. Method of manufacturing light emitting device
CN100544533C (zh) 2002-11-11 2009-09-23 株式会社半导体能源研究所 发光装置的制造方法
KR100518567B1 (ko) * 2003-04-15 2005-10-04 삼성전자주식회사 독출 동작과 기입 동작이 동시에 수행되는 메모리 셀어레이 구조를 가지는 집적 회로
KR100518566B1 (ko) 2003-04-15 2005-10-04 삼성전자주식회사 독출 동작과 기입 동작이 동시에 수행되는 집적 회로의동작 제어 방법
WO2018067132A1 (en) 2016-10-05 2018-04-12 Hewlett-Packard Development Company, L.P. Fluid ejection device capping

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1171094C (zh) * 1989-01-27 2004-10-13 松下电器产业株式会社 集成电路内部信号监控设备
IE940855A1 (en) * 1993-12-20 1995-06-28 Motorola Inc Data processor with speculative instruction fetching and¹method of operation
CN1129188C (zh) * 1998-01-07 2003-11-26 盛群半导体股份有限公司 半导体只读存储器的高密度行解码装置
US6122710A (en) * 1998-02-17 2000-09-19 International Business Machines Corporation Dynamic word line driver for cache

Also Published As

Publication number Publication date
KR20040036477A (ko) 2004-04-30
JP2004146051A (ja) 2004-05-20
CN100367240C (zh) 2008-02-06
DE10349949A1 (de) 2004-05-27
CN1507051A (zh) 2004-06-23
JP4220351B2 (ja) 2009-02-04

Similar Documents

Publication Publication Date Title
US7212457B2 (en) Method and apparatus for implementing high speed memory
US7120754B2 (en) Synchronous DRAM with selectable internal prefetch size
US20090276548A1 (en) Dynamically setting burst type of a double data rate memory device
KR100384775B1 (ko) 쿼드 데이터 레이트 싱크로노스 에스램의 리드/라이트를위한 워드라인 및 비트라인 구동 방법 및 그 회로
US20070070793A1 (en) Semiconductor memory device
KR20010071575A (ko) 클럭킹 회로의 데이터 레이트 제어 방법 및 장치
US20080183985A1 (en) Rank Select Operation Between an XIO Interface and a Double Data Rate Interface
KR100578233B1 (ko) 동기식메모리장치의 데이터 입출력 가변제어장치
KR100518538B1 (ko) 데이터 독출 동작과 기입 동작을 동시에 수행할 수 있는집적 회로 및 방법.
KR100317542B1 (ko) 반도체메모리장치
KR20000013391A (ko) 동기형 반도체 메모리 장치의 데이터 전송 회로
KR20050034402A (ko) 동작 모드의 재설정없이 버스트 길이를 제어할 수 있는반도체 메모리 장치 및 그것을 포함하는 메모리 시스템
JP4004847B2 (ja) 連想メモリ装置
KR100518567B1 (ko) 독출 동작과 기입 동작이 동시에 수행되는 메모리 셀어레이 구조를 가지는 집적 회로
US6826088B2 (en) Method and integrated circuit capable of reading and writing data simultaneously
KR100518566B1 (ko) 독출 동작과 기입 동작이 동시에 수행되는 집적 회로의동작 제어 방법
US6556484B2 (en) Plural line buffer type memory LSI
KR100517765B1 (ko) 캐시 메모리 및 그 제어 방법
KR100532454B1 (ko) 임시 저장 메모리를 구비하는 집적 회로 및 집적 회로의데이터 저장 방법
KR100291191B1 (ko) 데이터의 대역폭을 확장하기 위한 데이터 멀티플렉싱 장치
KR20050096276A (ko) 동기 반도체 메모리 장치에서의 코어 파라메터 프로그램방법
JPH08221322A (ja) メモリの制御装置およびメモリの制御方法
KR20010036729A (ko) 플래쉬 메모리 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20120831

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130902

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140901

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150831

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180831

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20190830

Year of fee payment: 15