KR20060091227A - 메모리 및 콘트롤 디바이스에 데이터를 기록하는 방법 - Google Patents
메모리 및 콘트롤 디바이스에 데이터를 기록하는 방법 Download PDFInfo
- Publication number
- KR20060091227A KR20060091227A KR1020050135217A KR20050135217A KR20060091227A KR 20060091227 A KR20060091227 A KR 20060091227A KR 1020050135217 A KR1020050135217 A KR 1020050135217A KR 20050135217 A KR20050135217 A KR 20050135217A KR 20060091227 A KR20060091227 A KR 20060091227A
- Authority
- KR
- South Korea
- Prior art keywords
- latch
- address
- data
- latches
- memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
- G11C11/413—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Static Random-Access Memory (AREA)
- Memory System (AREA)
Abstract
메모리에 데이터를 기록하는 방법에 있어서 특히, 기록 공정 중에 데이터가 겹쳐쓰기되는 것을 방지하는 방법이 공개되어 있다. 본 발명은 메모리 시스템에 있어서 콘트롤 디바이스를 제공하는데, 데이터 버스와 각각 메모리에 기록될 준비가 되어 있는 데이터로부터 입력된 데이터를 남겨두기 위해 적어도 두 개의 층의 래치(latch)가 사용된다.
콘트롤 디바이스에 의한 래치(latch)의 두 개의 층사이에 통신 제어에 따라, 기록 공정을 진행하는 새롭게 입력된 데이터는 현재의 기록 공정을 겹쳐쓰기 되지 않을 것이며, 이에 따라 기록 싸이클의 제한을 감소시키고, 기록 속도를 증가시킨다.
데이터, 싱글 포트 메모리, 래치(latch), 기록
Description
도 1은 종래의 싱글 포트 SRAM 시스템을 도시하고 있다.
도 2a는 종래의 싱글 포트 SRAM 시스템의 SRAM 콘트롤러를 도시하고 있다.
도 2b는 정상 모드로 작동하는 싱글 포트 SRAM 시스템의 관련된 타이밍 다이아그램(timing diagram)을 도시하고 있다.
도 2c는 HWM 모드로 작동하는 싱글 포트 SRAM 시스템의 관련된 타이밍 다이아그램(timing diagram)을 도시하고 있다.
도 2d는 정상 모드로 작동하는 지체된 클록 신호(clock signal)가 있는 관련된 타이밍 다이아그램(timing diagram)을 도시하고 있다.
도 2e는 HWM 모드로 작동하는 지체된 클록 신호(clock signal)가 있는 관련된 타이밍 다이아그램(timing diagram)을 도시하고 있다.
도 3a는 래치(latch)의 두 개의 층을 가지는 SRAM 콘트롤러에서 특히 향상된 구조를 가지는 본 발명의 실시예를 도시하고 있다.
도 3b는 도 3a에서 도시된 본 SRAM 콘트롤러에 관련된 타이밍 다이아그램(timing diagram)을 도시하고 있다.
도 4a는 SRAM 콘트롤러의 신호발생기 TRANGEN의 한 예를 도시하고 있다.
도 4b는 지체된 클록 신호(clock signal)를 가지는 SRAM 콘트롤러의 타이밍 다이아그램(timing diagram)을 도시하고 있다.
도 4c는 SRAM 콘트롤러의 신호발생기 TRANGEN의 또 다른 예를 도시하고 있다.
도 4d는 도 4c의 신호발생기 TRANGEN의 타이밍 다이아그램을 도시하고 있다.
도 5a는 래치(latch)의 두 개의 층을 가지는 SRAM 콘트롤러에서 특히 향상된 구조를 가지는 본 발명의 또 다른 실시예를 도시하고 있다.
도 5b는 도 5a에 도시된 본 SRAM 콘트롤러의 타이밍 다이아그램을 도시하고 있다.
본 발명은 메모리에 데이터를 기록하기 위한 콘트롤 디바이스 및 방법에 관한 것으로, 보다 상세하게는 메모리에 데이터를 기록하는 동안 겹쳐 쓰기되는 것을 방지하는 콘트롤 디바이스 및 방법에 관한 것이다.
SRAM, DRAM 또는 FLASHRAM 과 같은, 메모리 디바이스들은 많은 전자 장치에서 사용된다. 프로세싱(processing) 유닛(예:CPU)을 위한 프로세싱 레이트(rate)가 진행됨에 따라, 메모리 디바이스의 프로세싱 레이트는 증가되어야 한다. 예를 들면, 상이한 읽고/기록하는 공정이 동시에 실행될 수 있는 다중-포트 시스템은 많은 메모리 디바이스에 적용된다. 그러나, 작고, 휴대가능한 전자 장치를 위한 일반적인 제한(예를 들면, 전력 소비, 볼륨 사이즈 또는 열 발산)때문에, 대부분이 데이터와 신호를 저장하기 위해 멀티-포트 시스템보다는 싱글-포트 시스템을 선호한다. 예를 들면, 싱글-포트 SRAM 시스템은 휴대폰의 LCD 패널에 이미지를 보여주기 위한 IC 드라이버에서 폭넓게 사용된다.
도 1은 휴대폰 또는 PDA의 LCD IC 드라이버에서 자주 보여지는 종래의 싱글 포트 SRAM 시스템(10)을 도시하고 있다. 시스템(10)은 다음의 회로 구성요소를 포함한다: SRAM 콘트롤러 SRAM_CTRL(100); 조정자(102); 타이밍 콘트롤러 TIMING_CTRL(104) 및; SRAM(106). 그들 중, SRAM(106)은 전자 장치의 데이터를 저장하는데 제공되고; SRAM_CTRL(100)은 CPU와 SRAM(106)의 외부 읽고/기록하는 공정제어를 전기적으로 통신하는 접근 콘트롤러이다. 타이밍 콘트롤러(104)는 영상을 보여주기 SRAM(106)에 저장된 데이터(예: 픽셀 비트(pixel bit))를 소스 드라이버(source driver)(LCD 패널)로 출력하는 내부 읽는 공정을 실행하기 위해 콘트롤 신호 CS를 SRAM(106)으로 반복적으로 발생시키고; 조정자(102)는 SRAM(106)에서 어떠한 공정(외부 기록하고 쓰는 것과 내부 읽는 것과 같은 공정)이 실행될지를 결정한다. 싱글 포트 SRAM의 한가지 특징은 동시에 하나의 읽고/기록하는 공정만이 실행될 수 있다는 것이다. 이 예에서, 내부 읽는 공정은 외부 읽고/기록하는 공정보다 높은 우선권을 가지고 있다. 싱글 포트 SRAM 시스템(10)은 기록 속도의 상이한 요구를 위해, 각각 정상 모드 및 빠른 스피드의 기록 모드(HWM모드)로 불리는 두 가 지 공정 모드를 가지고 있다. 각 구성요소를 위한 기능 및 두 가지 공정 모드를 위한 상세한 프로세스는 하기에서 설명될 것이다. 그러나, 설명은 본 발명의 측면에 적용되기 위한 외부 기록 공정에 초점이 맞춰질 것이다.
데이터 버스에서의 데이터는 SRAM(106)에 직접 기록되지 않고, 조정자(102)로부터 기록 허가를 얻을 때까지 SRAM_CTRL(100)에 일시적으로 저장될 것이다. 도 2a는 SRAM_CTRL(100)에 대한 다이아그램을 도시하고 있으며, 도 2b는 정상 모드에서의 관련된 타이밍 다이아그램을 도시하고 있다. 정상 모드에서, CPU가 SRAM(106)에 데이터를 기록하는 것을 원할 때, 우선, 외부 기록 요청 E_NWR을 SRAM_CTRL(100)으로 보낸다. 데이터를 SRAM(106)에 기록하기 전에, 우선, 데이터 버스에서의 데이터가 원래 플립 플롭 FF (flip flop FF)로 입력될 것이고, 그것은 래치 어드레스(latch address)에 따라 다른 래치로 입력될 것이다. 도 2a에 도시된 바와 같이, L1, L2, L3 및 L4라 이름지어진 각각의 네 개의 래치가 있으므로, L_ADDR는 네 개의 래치를 확인하기 위해 적어도 두 개의 비트가 필요하다 (예를 들면, L1에 있어서 00, L2에 있어서 01, L3에 있어서 10 및 L4에 있어서 11). 일반적으로, 우리는 L_ADDR로서, 기록 어드레스 ADDR의 마지막 두 비트를 선택할 수 있으므로, 추가의 어드레스 발생기는 필요없다(또는 ADDR의 마지막 두 비트를 저장하기 위한 등록기).
도 2b에 따르면, 외부 기록 요청 E_NWR(20)이 높게 오거나 갈 때, 플립 플롭 FF에서 데이터가 L_ADDR(202)에 따라 래치 L1에 입력될 것이다. 같은 시간에, SRAM-CTRL(100)은 SRAM(106)으로 데이터 기록을 허가하기 위하여 조정자(102)로 요 청 신호 EXT_WR(22)를 보낸다. 데이터를 SRAM(106)에 기록하는 것이 가능하다면, 조정자(102)는 검출 신호 EXT_PULSE(24)를 SRAM_CTRL(100)으로 보냄으로써 반응할 것이다. 검출 신호 EXT_PULSE(24)를 받으면, SRAM_CTRL(100)이 발생하고, 클록 신호(clock signal) CLK(26)를 기록 어드레스 ADDR에 따라 적당한 메모리 어드레스에 데이터를 기록하는 SRAM(106)을 유발시키는 SRAM(106)으로 즉시 보낸다. 그리고 난 후에, 클록 신호(clock signal) CLK는 낮아지고, L_ADDR의 값은 00에서 01로 증가하여, 새로운 E_NWR(28)이 높게 오고 갈 때, 새로운 래치 어드레스 L_ADDR은 입력되기 위한 데이터에 있어서 래치 L2를 나타낼 것이다.
HWM 모드에 관하여는, E_NWR은 정상 모드보다 빠르게 오고, 완벽한 기록 공정당 많은 기록 요청이 있다. 도 2c에 따르면, HWM 모드로 실행되는 SRAM_CTRL(100)에 있어서 관련된 타이밍 다이아그램을 도시하고 있다. HWM 모드에서, 완벽한 기록 공정은 네 개의 외부 기록 요청과 클록 신호(clock signal)로 구성되어 있다. E_NWR이 높게 올라갈 때,(230) 플립 플롭 FF에서 데이터는 높은 속도의 기록 모드에서 래치를 위한 접근을 조절하는 래치 어드레스 HWM_ADDR에 따라 각각의 래치로 입력된다. E_NWR가 높아진 후의 지체 시간(예를 들면, 10ns)에 따라, HWM_ADDR의 값은 자동적으로 00에서 01까지 변화될 것이다.(232) 새로운 래치 어드레스 HWM_ADDR은 새로운 E_NWR이 오기 때문에, 다음의 데이터가 입력되는 래치를 나타내는데 적용될 것이다. 앞선 단계는 기록 공정에 있어서 마지막 래치 L4에 나타나는 HWM_ADDR 값이 11이 될 때까지(234) 반복된다. 그 후, SRAM_CTRL(100)이 기록 허가를 위한 요청 신호 EXT_WR를 조정자(102)로 보낸다. 이 시간에, 데이터와 SRAM(106)의 기록 어드레스가 준비된다. 조정자(102)가 요청 신호 EXT_WR를 받을 때, 조정자(102)는 SRAM(106)에 데이터를 기록하는 것이 가능하다면, 검출 신호 EXT_PLUSE를 SRAM_CTRL(100)로 보냄으로써 반응한다. (도면에서는 EXT_WR 및 EXT_PULSE가 도시되지 않았다.) 검출 신호 EXT_PULSE를 받은 후에, SRAM_CTRL(100)은 발생하고, 클록 신호(clock signal) CLK(236)를 기록 어드레스 ADDR에 따라 적절한 메모리 어드레스로 래치에 남겨진 데이터를 기록하는 것에 의해 SRAM(106)에 보낸다. 다음 단계에서, 클록 신호(clock signal) CLK가 낮아질 때, 다음 기록 공정을 위한 SRAM(106)의 메모리 어드레스를 나타내기 위하여 ADDR의 값이 변화된다(238).
앞서 설명한 바와 같이, 완전한 기록 공정은 클록 신호(clock signal) CLK가 발생되고, 기록 어드레스 ADDR 값이 변화된 후에 성취된다. 그러나 어떤 공정 모드에 있어서도, 심각한 문제는 클록 신호(clock signal) CLK가 너무 늦게 올 때 발생한다. 어떤 상황에서는, 조정자(102)는 요청 신호 EXT_WR에 대해 즉시 반응하지 않는다. 예를 들면, TIMING_CTRL(104) 또한, 내부 읽기 요청 INT_RD을 동시에 조정자(102)로 보낸다면, 조정자(102)는 외부 기록 요청 EXT_WR 이전에 내부 읽기 요청 IND_RD에 있어서 검출 신호 IN PULSE에 반응할 것이다. 그러므로, 검출 신호 EXT_PULSE는 SRAM_CTRL(100)에 늦게 도달할 것이다. 지체된 EXT_PULSE는 새로운 기록 공정의 다음의 기록 요청 E_NWR 후에 발생되는 클록 신호(clock signal) CLK에서의 결과에 의해 지체된 클록 신호(clock signal) CLK를 초래할 것이다.
도 2d의 타이밍 다이아그램에 따르면, 정상 모드에서 L_ADDR 값이 클록 신호 (clock signal) CLK가 낮아지는 순간에 변화되기 때문에, 그러므로 데이터가 상응하는 래치(260)에 입력된 후에 CLK가 너무 늦어지고, 다음의 E_NWR이 높아지기 전에, L_ADDR 값이 변화되지 않는다면, 다음의 데이터는 잘못된 래치(262), 특히 상기 래치에 입력될 것이다. 그러므로, 상응하는 래치에 놓여진 원래의 데이터는 소실된다.
비슷한 시나리오가 HWM 모드에서 발생된다. 도 2e에 도시된 바와 같이, 데이터가 래치 L4에 입력되는 매 번, HWM_ADDR값이 지체 시간과 함께 자동적으로 00으로 변화된다. 그러나, 클록 신호(clock signal) CLK(282)가 새로운 다음 E_NWR(280) 후에 온다면, 래치 L1에 남겨진 데이터가 새롭게 입력된 데이터(284)에 의해 겹쳐쓰기될 것이고, SRAM(106)에 기록되기 위해 준비되는 원래의 데이터는 소실된다.
클록 신호(clock signal) CLK에 있어서 비동기식의 설계는 작고, 휴대의 전자 장치에 적당한 전력 소비를 감소시킨다. 그러나, 지체된 클록 신호(clock signal) CLK에 의해 겹쳐쓰기되는 데이터를 방지하기 위해, 기록 싸이클(CYCW)로 불리는 두 개의 연속적인 기록 요청의 기간이 너무 길어 제한될 것이다. CYCW의 제한은 공정 효율, 특히 기록 공정의 속도를 제한한다. SRAM 콘트롤러에 남겨진 데이터가 입력된 데이터를 계속함으로써 겹쳐쓰기되지 않는 것이 확실하다면, 심지어 클록 신호(clock signal) CLK가 너무 늦게 온다면, CYCW에 있어서의 제한은 한정될 수 있고, 그 결과 설계자는 CYCW를 감소시키고, 기록 속도를 증가시킬 수 있다.
앞선 동기에 따라, 데이터 겹쳐쓰기를 피할 수 있는, 메모리에 데이터를 기록하는 방법이 공개되어 있다. 본 발명은 데이터 버스로부터 입력된 데이터를 남겨두기 위해 래치의 두 개의 층을 사용하고, 메모리에 기록되기 위한 데이터가 각각 준비된다. 다음 데이터가 입력될 때조차, 접근 콘트롤러에 남겨진 원래 데이터는 메모리에 기록되기 전에, 겹쳐쓰기되지 않을 것이고, CYCW에 있어서 제한은 래치의 두 개의 층 사이에 통신을 각각 열고/닫는 것에 의해 감소될 수 있다.
본 발명의 첫번째 측면에 따라, 메모리에 데이터를 기록하는 방법이 제공된다. 상기 방법은 제2래치 세트로 각각 연결되는 제1래치(latch) 세트에 데이터 시퀀스(sequence)를 입력하는 단계; 지체 상황(delay situation)을 나타내는, 현재 기록 공정이 완료되기 전에, 다음 기록 요구가 도달하는지 검출하는 단계; 지체 상황이 검출되었을 때, 제1래치로부터 제2래치를 단절하는 단계; 및 클록 신호(clock signal)에 따라 메모리에 제2래치 세트에 남겨진 데이터 시퀀스를 기록하는 단계를 포함한다.
본 발명은 또한, 현재 기록 공정이 완료되기 전에, 다음의 기록 공정이 시작될 때, 데이터 겹쳐쓰기를 피할 수 있는, 싱글 포트 메모리 시스템의 접근 콘트롤러의 향상된 구조를 제공한다. 본 발명의 한 실시예는 래치의 두 개의 층을 사용하고, 래치의 겹층사이에 통신을 각기 닫기 위해 앞선 상황을 검출한다. 래치의 두 개의 층을 이용하는 본 발명의 또다른 실시예는 일반적으로 절연되고, 래치의 두 개의 층사이에 통신은 데이터 겹쳐쓰기를 방지하는 특별한 기간 동안에만 회복된다.
본 발명의 두번째 측면에 따라, 싱글 포트 메모리 시스템를 위한 접근 콘트롤러가 제공된다. 접근 콘트롤러는 다음의 래치 어드레스를 발생시키는 어드레스 발생기; 미리 변화된 래치 어드레스를 저장하는 어드레스 등록기; 미리 변화된 래치 어드레스에 따라 연속적인 입력 데이터를 받는 제1래치 세트; 메모리에 기록되기 위해 준비되는 기록 데이터 시퀀스를 남겨두는 제2래치 세트; 제2래치에 남겨진 기록 데이터시퀀스가 클록 신호(clock signal)에 따라 메모리에 기록되는 것을 특징으로 하는, 클록 신호(clock signal)를 발생시키는 신호 발생기; 메모리의 기록 어드레스 및; 제1래치 및 제2래치 사이에 통신을 조절하는 수단을 포함한다.
본 발명은 도면을 참조하여, 상세히 설명될 것이고, 당업자들이 본 발명을 실행할 수 있도록 하기 위해 본 발명의 실시예를 제공한다. 특히, 본 발명의 어떤 요소의 실행은 당업자에게 명백한 기술에 따라 소프트웨어, 하드웨어, 펌웨어 또는 이들의 조합을 사용함으로써 성취될 수 있고, 하기의 도면과 실시예는 본 발명의 범위를 제한하는 것을 의미하지는 않는다. 게다가, 본 발명의 어떤 요소가 부분적으로 또는 완전히 알려진 요소를 사용함으로써 실행되는, 본 발명의 이해를 위해 필요한 상기 알려진 요소의 부분이 설명될 것이고, 상세히 설명된 상기 알려진 요소들의 다른 부분들은 본 발명을 모호하게 하지 않게 하기 위해 생략될 것이다.
상기에 설명한 바와 같이, 종래 기술의 원래 SRAM 콘트롤러 SRAM_CTRL(100)은 SRAM 콘트롤러에 놓여진 데이터가 다음의 입력 데이터에 의해 겹쳐쓰기되는 가능성에 대한 결과로 데이터를 일시적으로 남겨두기 위해 래치의 한층을 사용한다. 본 발명은 SRAM 콘트롤러 SRAM_CTRL에 있어서 겹쳐쓰기를 방지하기 위해, CYCW에 있어서 제한을 풀어 기록 공정을 위한 속도를 증가시킴으로써, 새로운 구조를 제공한다.
상기의 문제점을 해결하기 위해, 현재 기록 공정이 완료되기 전에, 다음의 기록 공정에 있어서 새로운 기록 요청이 오고, SRAM_CTRL의 향상된 구조가 종래 기술에 비하여 래치의 두 개의 층을 가진다. 도 3a은 래치의 두 개의 층, 래치의 두 개의 층 사이에 스위치 세트 SW 및 정상 모드에서 작동하는 새로운 어드레스 ADDR_X를 저장하기 위한 새로운 어드레스 등록기 ADDRGEN_X을 가지는 SRAM 콘트롤러에 있어서 본 발명의 실시예를 도시하고 있다. 도 3b는 향상된 SRAM_CTRL에 있어서 기록 공정과 관련된 타이밍 다이아그램이다. 종래 기술의 어드레스 L_ADDR와 달리, 새로운 어드레스 ADDR_X는 외부 기록 요청이 낮게 오고 갈 때, 그 값이 변화된다. 바꾸어 말하면, ADDR_X는 L_ADDR전에 변화된다. 게다가, 클록 신호(clock signal) CLK가 낮게 가기 전에, 새로운 E_NWR이 높게 갈 경우, 검출되는 검출 신호 TRAN을 발생시키는 데 있어서 추가의 신호 발생기 TRANGEN이 있다. 일반적으로, 검출 신호 TRAN가 높게 유지되나, 클록 신호(clock signal) CLK가 발생되기 전에 다음 E_NWR이 일찍 올 때, 검출 신호는 낮게 간다.
종래 기술의 SRAM 콘트롤러 SRAM_CTRL(100)와 달리, 플립 플롭 FF(flip-flop FF)에 있는 데이터는 미리 변화된 래치 어드레스 ADDR_X에 따라, 래치 L1의 제1층에 입력되고, SRAM(106)에 기록될 데이터는 어드레스 L_ADDR에 따라, 래치 L2의 제2층으로부터 출력된다. 바꾸어 말하면, 래치 L1의 제1층은 입력된 데이터를 받는데 사용되나, SRAM(106)에 실제로 기록될 데이터는 래치 L2의 제2층에 저장된다. 일반적으로, 래치의 제1층과 제2층은 검출 신호 TRAN이 높게 머물때, 전기적으로 통신한다. 그러므로, 래치 L1의 제1층에 저장된 값은 래치 L2의 제2층에 저장된 값과 동일하다. 그러나, 다음의 기록 공정의 외부 기록 요청 E_NWR(30)이 클록 신호(clock signal) CLK(32)가 낮게 가기 전에 온다면, E_NWR(30)이 낮게 감에 따라 미리 변화된 래치 어드레스 ADDR_X는 변화된다(300). 그 후, 신호 발생기 TRANGEN이 조건을 검출하고, 래치 L1의 제1층과 래치 L2의 제2층사이에 통신을 삭감하기 위해, 검출 신호 TRAN이 낮게 간다(302). 하기의 설명에서, ADDR_X에 따라 래치 L1의 제1층에 입력되기 위한 데이터 버스에 데이터를 유발시키는 E_NWR(30)이 높게 간다. 래치 L1의 제1층과 래치 L2의 제2층사이에 통신이 닫혀졌기 때문에(TRAN이 낮게 잡힌다.), 래치 L2의 제2층에 남겨진 값은 다음의 데이터에 의해 겹쳐쓰기되지 않는다. 다음으로, 조정자로부터의 검출 신호 EXT_PULSE를 받은 후에, 클록 신호(clock signal) CLK(32)는 발생되고, SRAM으로 보내진다. 래치 L2의 제2층에 남겨진 값은 기록 어드레스 ADDR에 따라 SRAM의 적당한 메모리 어드레스에 기록될 것이다. 그 후에 래치의 제2층에 남겨진 데이터가 SRAM(106)에 완전히 기록되고, L_ADDR(306)의 값을 변화시키기 위해 클록 신호(clock signal) CLK가 낮게 가서 검출 신호 TRAN을 높게 되돌린다(308). TRAN을 높게 되돌린 후, 래치의 제1층과 래치 의 제2층 사이에 통신은 복구된다.
상기에서 언급한 바와 같이, 클록 신호(clock signal) CLK가 너무 늦게 올 때, 래치의 두 개의 층을 절연하는 래치의 두 개의 층과 메카니즘을 이용함으로써, 아직 SRAM에 기록되지 않은 현재 기록 공정의 입력 데이터는 클록 신호(clock signal) CLK가 새로운 다음의 E_NWR 보다 늦게 오더라도 소실되지 않는다. 그러므로, SRAM 시스템이 기록 속도를 증가시킬 수 있도록 CYCW에 있어서 제한이 풀릴 수 있다.
검출 신호 TRAN에 따라 래치의 두 개의 층 사이에 통신을 조절하는 스위치 SW 세트는 본 발명의 실시예에서 사용된다. 검출 신호 TRAN을 발생시키는 신호 발생기 TRANGEN는 도 4a에 도시한 바와 같이, TRAN을 출력하기 위한 미리 변화된 래치 어드레스 ADDR_X와 함께 래치 어드레스 L_ADDR을 비교하는 콤퍼레이터(comparator)이다. ADDR_X의 값이 L_ADDR의 값보다 클 때, 새로운 기록 요청 E_NWR이 오는 것을 의미하나, 클록 신호(clock signal) CLK는 아직 발생되지 않았다. 그러므로 콤퍼레이터(40)는 ADDR_X가 L_ADDR보다 크지 않을 때까지, 낮은 전위로 TRAN을 출력한다. ADDR_X 및 L_ADDR의 값이 다음의 규칙 00->01->10->11->00->01->...,에 따라 변화한다고 알려져 있다. 그러므로, 콤퍼레이터(40)가 작동될 때, 11이 00보다 작은 것으로 가정된다.
도 4b는 다음의 기록 요청 E_NWR 전에 클록 신호(clock signal) CLK가 오나, 짧은 시간 간격 동안 중복되는 특별한 상황을 도시하고 있다. CLK(48)가 낮게 가기 전에, E_NWR(46)이 여전히 높게 가기 때문에, 이런 상황 하에, 래치의 두 개의 층 사이에 통신을 닫는 것이 불필요하다. 그러나, 콤퍼레이터(40)에 따라 TRAN이 현재에는 의미 없는 기간(49)동안 여전히 낮게 간다. 검출 신호 TRAN를 발생시키기 위하여 상기에서 설명한 콤퍼레이터를 사용할지라도, 앞선 특별한 상황 하에서 래치의 두 개의 층을 절연하는 중복된 공정을 초래하고, 그것은 지체된 클록 신호(clock signal) CLK를 검출하는 데 있어서 정확함에 영향을 끼치지 않는다.
상기 설명된 콤퍼레이터의 구성과 스위치 세트를 제외하고는, 래치의 두 개의 층 사이에 통신을 조절하는 다른 수단은 다음 기록 공정의 기록 요청이 현재 기록 공정이 완료되기 전에 오는지 여부를 감지하고, 래치의 두 개의 층을 절연하는 수단은 본 발명에 있어서 제한되지 않는다. 예를 들면, 도 4c에 도시된 바와 같이, D 플립 플롭은 검출 신호 TRAN을 발생시키는데 사용된다. E_NWR이 높게 감에 따라 클록 신호(clock signal) CLK가 그 값이 변화될 경우(특히, CLK가 높게 가는 경우) D 플립 플롭을 점검한다. 만약 그렇다면, TRAN이 낮게 가고; 그렇지 않다면, TRAN은 높게 유지된다. 더하여, D 플립 플롭은 CLK가 낮게 유지될 때, TRAN을 다시 높게 돌아가도록 유발하는 리셋 포트(SN)를 추가로 가진다. 도 4d는 도 4c와 관련된 타이밍 다이아그램이다. E_NWR이 높게 감에 따라(490) CLK가 높게 유지되는 경우, 출력 신호 TRAN가 낮게 가고(492), 그것의 전위가 유지된다. 리셋 포트(SN)를 높게 가게 하기 위해 CLK가 낮게 갈 때까지, D 플립 플롭 리셋 TRAN은 다시 한번 높은 전위로 돌아간다. 게다가, E_NWR이 높게 갈 때, 래치의 두 개의 층 사이에 통신이 닫혀지기 때문에 E_NWR이 낮게 가는 대신에 클록 신호(clock signal) CLK가 높게 갈 때, 미리 변화된 래치 어드레스 ADDR_X는 그 값을 변화시킨다.
도 5a는 래치의 두 개의 층 및 래치의 제1층과 래치의 제2층 사이에 스위치 세트를 가지는 HWM모드에서 작동되는 동안의 SRAM 콘트롤러에 있어서 본 발명의 또 다른 실시예를 도시하고 있다. 본 발명의 이러한 실시예에서, 래치 L1의 제1층(래치 L1_1 ~ 래치 L1_4를 포함한다.) 및 래치 L2의 제2층(L2_1 ~ L2_4을 포함한다.)은 일반적으로 절연된다. 상기에서 설명한 바와 같이, 데이터는 래치 어드레스 HWM_ADDR에 의해 상응하는 래치에 입력된다. HWM_ADDR은 시간 지체(약 10ns)에 따라 E_NWR이 높게 간 후에 그 값이 자동적으로 변화되고, 새로운 HWM_ADDR은 다음 E_NWR이 올 때 데이터가 입력될 래치를 결정하기 위해 사용된다. 앞선 단계는 HWM_ADDR의 값이 11이 될 때까지 반복된다. 래치 L1의 제1층과 래치 L2의 제2층사이에 통신이 11의 값을 가지는 HWM_ADDR이 래치 L1의 제1층과 같은 값을 가지는 래치 L2의 제2층을 만들 때 복구된다. HWM_ADDR의 값이 11에 유지되는 한, 래치 L1의 제1층이 래치 L2의 제2층과 통신을 유지한다. 다음의 E_NWR(50)이 높게 오거나 갈 때, 데이터는 래치 L1_4에 입력되고, 래치 L2_4로 즉시 이동된다(502). 왜냐하며 HWM_ADDR이 11에 있을 때, 래치 L1의 제1층이 래치 L2의 제2층과 통신하기 때문이다. HWM_ADDR이 10ns내에 00으로 되돌아간 후에, 래치 L1의 제1층과 래치 L2의 제2층사이에 통신은 다시 한번 닫혀진다. 조정자로부터 검출 신호 EXT_PLUSE를 받은 후, SRAM_CTRL(100)은 클록 신호(clock signal) CLK를 발생시키고, SRAM으로 보내진다. 그 후, 래치 L2의 제2층에 저장된 데이터가 기록 어드레스 ADDR에 따라 SRAM으로 기록된다.
HWM_ADDR이 00으로 돌아갈 때, 래치 L1의 제1층이 래치 L2의 제2층으로부터 절연되기 때문에, 새로운 외부 기록 요청 E_NWR(52)이 오고, 클록 신호(clock signal) CLK(54)가 아직 발생되지 않았다면, 다음 데이터는 SRAM_CTRL(506)의 래치의 제1층에 입력된다. 그러나, 래치의 제2층에 남겨진 데이터는 래치의 두 개의 층 사이에 절연때문에 원래 값을 유지한다.
약식으로 말하자면, 본 발명의 SRAM 콘트롤러는 입력된 데이터를 남겨두기 위한 래치의 한 층 및 독립적으로 SRAM에 입력되기 위해 준비되는 데이터를 남겨두기 위한 래치의 다른 층을 이용한다. 상기에서 설명한 바와 같이, 래치의 부가적인 층, 미리 변화된 래치 주소 ADDR_X를 위한 어드레스 등록기 ADDRGEN_X, 검출 신호 TRAN을 발생시키는 신호 발생기 TRANGEN 및 래치의 두 개의 층 사이에 통신을 조절하는 스위치는 본 발명의 실시예에서 추가되었다. 게다가, 정상 모드와 HWM모드에서 작동할 때, SRAM에 데이터를 기록하기 위한 방법이 제공된다. 정상 모드에서, SRAM 콘트롤러는 새로운 기록 공정이 현재 기록 공정이 완료되기 전에 왔을 때 발생하는 지체 상황을 검출한다. 지체 상황이 발생했을 때, SRAM 콘트롤러는 현재 기록 공정으로부터의 데이터가 다음 기록 공정 데이터에 의해 겹쳐쓰기되는 것을 막기 위하여 래치의 두 개의 층 사이에 통신을 삭감한다. 래치의 두 개의 층 사이에 통신은 현재 기록 공정이 완료될 때까지 복구될 것이다. HWM 모드에 관하여, 래치의 제1층은 보통 래치의 제2층과 절연되나, 특별한 기간 동안 서로 통신한다. 다음의 기록 공정이 현재 기록공정이 완료되기 전에 왔을 경우, 래치의 두 개의 층은 단지 특별한 기간 동안 통신하지 않기 때문에, 다음의 기록 공정의 데이터에 의해 겹쳐쓰기되는 현재 기록 공정의 데이터는 소실되지 않을 것이다.
상기에서 설명한 본 발명은 단지 한 예에 의해 제공되고, 수많은 변화, 변경, 수정, 대체가 다음의 청구항 내에서 서술되는 본 발명의 진의와 범위를 벗어나지 않는 내에서 제공되는 것으로 이해될 수 있다.
본 발명은 SRAM 뿐만 아니라, 싱글 포트 구조를 가진 다른 메모리 시스템에 따라 개조할 수 있다고 알려져있다. 게다가, 래치의 입력층(상기 실시예에서 래치의 제1층)사이에 통신과 래치의 출력층(상기 실시예에서 래치의 제2층)사이에 통신이 적절히 조절되는 한, SRAM 콘트롤러(접근 콘트롤러)는 래치의 제2층으로 데이터가 전달되기 전에 일시적으로 입력된 데이터를 저장하는 래치의 많은 층을 가질 수 있다. 바꾸어 말하면, 래치의 제1층과 래치의 제2층사이에 래치의 많은 층을 가지는 것이 허가되고, 스위치 세트는 래치의 층까지 증가된다.
Claims (7)
- 다음의 단계를 포함하는, 싱글 포트 메모리에 데이터를 기록하는 방법:제2래치 세트로 각각 연결되는 제1래치(latch) 세트에 데이터 시퀀스(sequence)를 입력하는 단계;지체 상황(delay situation)을 나타내는, 현재 기록 공정이 완료되기 전에, 다음 기록 요구가 도달하는지 검출하는 단계;지체 상황이 검출되었을 때, 제1래치로부터 제2래치를 단절하는 단계; 및클록 신호(clock signal)에 따라 메모리에 제2래치 세트에 남겨진 데이터 시퀀스를 기록하는 단계.
- 제1항에 있어서, 상기 데이터 시퀀스가 미리 변화된 래치 어드레스(latch address)에 따라 제1래치로 입력되고, 상기 제2래치에 남겨진 상기 데이터 시퀀스는 래치 어드레스에 따라 메모리에 기록되는 것을 특징으로 하는 방법.
- 제2항에 있어서, 상기 검출 단계는 상기 미리 변화된 래치 어드레스와 상기 래치 어드레스에 따라 지체 상황을 나타내는 검출 신호를 발생시키는 단계를 포함하는 방법.
- 다음의 단계를 포함하는, 싱글 포트 메모리에 데이터를 기록하는 방법:제1래치 세트에 데이터 시퀀스를 입력하는 단계;래치 어드레스가 상기 제1래치의 마지막 입력 래치를 나타낼 때마다 제2래치 세트에 상기 제1래치를 재연결하는 단계, 여기서 상기 제1래치는 상기 제2래치와 원래 분리되어 있음; 및클록 신호(clock signal)에 따라 메모리에 제2래치 세트에 남겨진 데이터 시퀀스를 기록하는 단계.
- 제4항에 있어서, 상기 제1래치와 상기 제2래치 사이의 통신을 조절하기 위해 스위치 세트를 이용하는 단계를 추가로 포함하는 방법.
- 다음을 포함하는 싱글 포트 메모리의 기록 조절장치:래치 어드레스를 발생하기 위한 어드레스 발생기;미리 변화된 래치 어드레스를 저장하기 위한 어드레스 등록기;상기 미리 변화된 래치 어드레스에 따라 입력 데이터 시퀀스를 받는 제1래치 세트;메모리에 기록되기 위해 준비되는 기록 데이터 시퀀스를 남겨두는 제2래치 세트;클록 신호(clock signal)를 발생시키는 신호 발생기, 여기서 상기 제2래치에 저장된 기록 데이터 시퀀스가 상기 클록 신호(clock signal), 상기 래치 어드레스 및 메모리의 기록 어드레스에 따라 메모리에 기록됨; 및상기 제1래치 및 제2래치 사이의 통신을 조절하는 수단.
- 제6항에 있어서, 상기 제1래치 및 상기 제2래치 사이의 통신을 조절하기 위한 수단은 다음을 추가로 포함하는 장치:현재 기록 공정이 완료되기 전에 다음 기록 공정이 일어날 때 발생하는 지체 조건을 검출하는 수단 및;상기 지체 조건이 발생할 때, 상기 제1래치 및 상기 제2래치 사이의 통신을 닫는 수단.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/056,196 US7224622B2 (en) | 2005-02-14 | 2005-02-14 | Method for writing data into memory and the control device |
US11/056,196 | 2005-02-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060091227A true KR20060091227A (ko) | 2006-08-18 |
KR100691726B1 KR100691726B1 (ko) | 2007-03-12 |
Family
ID=36815427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050135217A KR100691726B1 (ko) | 2005-02-14 | 2005-12-30 | 메모리 및 콘트롤 디바이스에 데이터를 기록하는 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7224622B2 (ko) |
JP (1) | JP4338706B2 (ko) |
KR (1) | KR100691726B1 (ko) |
CN (1) | CN100354814C (ko) |
TW (1) | TWI301279B (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9024963B2 (en) * | 2007-11-14 | 2015-05-05 | Adobe Systems Incorporated | Selecting color spaces for cinema or video data |
US10152352B2 (en) * | 2015-11-17 | 2018-12-11 | Friday Harbor Llc | Writing to contiguous memory addresses in a network on a chip architecture |
JP6724980B2 (ja) * | 2016-03-29 | 2020-07-15 | 株式会社ニコン | 撮像素子および撮像装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5408138A (en) * | 1993-10-04 | 1995-04-18 | Motorola, Inc. | Flip flop circuit and method therefor |
JPH09139730A (ja) * | 1995-11-14 | 1997-05-27 | Nitsuko Corp | エラステックストア |
US5987601A (en) * | 1997-02-14 | 1999-11-16 | Xyron Corporation | Zero overhead computer interrupts with task switching |
US6229757B1 (en) * | 1998-05-21 | 2001-05-08 | Nec Corporation | Semiconductor memory device capable of securing large latch margin |
US6621760B1 (en) * | 2000-01-13 | 2003-09-16 | Intel Corporation | Method, apparatus, and system for high speed data transfer using source synchronous data strobe |
US6671211B2 (en) * | 2001-04-17 | 2003-12-30 | International Business Machines Corporation | Data strobe gating for source synchronous communications interface |
US6707399B1 (en) * | 2002-10-10 | 2004-03-16 | Altera Corporation | Data realignment techniques for serial-to-parallel conversion |
-
2005
- 2005-02-14 US US11/056,196 patent/US7224622B2/en not_active Expired - Fee Related
- 2005-10-07 TW TW094135155A patent/TWI301279B/zh not_active IP Right Cessation
- 2005-12-30 KR KR1020050135217A patent/KR100691726B1/ko not_active IP Right Cessation
- 2005-12-30 CN CNB2005100488213A patent/CN100354814C/zh not_active Expired - Fee Related
-
2006
- 2006-02-03 JP JP2006027095A patent/JP4338706B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1821944A (zh) | 2006-08-23 |
JP2006228207A (ja) | 2006-08-31 |
KR100691726B1 (ko) | 2007-03-12 |
US7224622B2 (en) | 2007-05-29 |
JP4338706B2 (ja) | 2009-10-07 |
TWI301279B (en) | 2008-09-21 |
US20060181921A1 (en) | 2006-08-17 |
TW200629291A (en) | 2006-08-16 |
CN100354814C (zh) | 2007-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7349285B2 (en) | Dual port memory unit using a single port memory core | |
US6674686B2 (en) | Method and apparatus for read operation and write operation in semiconductor memory device | |
EP1040404B1 (en) | Method and apparatus for coupling signals between two circuits operating in different clock domains | |
US6898648B2 (en) | Memory bus polarity indicator system and method for reducing the affects of simultaneous switching outputs (SSO) on memory bus timing | |
US6075393A (en) | Clock synchronous semiconductor device system and semiconductor devices used with the same | |
KR20080050715A (ko) | 반도체 장치의 종단 저항을 제어할 수 있는 장치 및 방법 | |
JP2007525766A (ja) | マルチポートメモリシステムにおける衝突検出 | |
JP2006191567A (ja) | オンチップデータ伝送制御装置及びその制御方法 | |
US8140797B2 (en) | Integrated circuit and method of securing access to an on-chip memory | |
US7405995B2 (en) | Semiconductor storage device | |
KR100691726B1 (ko) | 메모리 및 콘트롤 디바이스에 데이터를 기록하는 방법 | |
US8169851B2 (en) | Memory device with pseudo double clock signals and the method using the same | |
JPH0550775B2 (ko) | ||
US6928027B2 (en) | Virtual dual-port synchronous RAM architecture | |
US6260106B1 (en) | Synchronous data storage system having re-drive circuits for reduced signal line loading | |
US6011728A (en) | Synchronous memory with read and write mode | |
US6762973B2 (en) | Data coherent logic for an SRAM device | |
US5499210A (en) | Low power consumption semiconductor memory | |
US6757752B2 (en) | Micro controller development system | |
JP3048762B2 (ja) | 半導体集積回路装置 | |
JP3133696B2 (ja) | Dram制御回路 | |
JP2000267985A (ja) | メモリコントローラおよびメモリアクセス制御方法 | |
JPH1064266A (ja) | 半導体集積回路 | |
JPH09311811A (ja) | シングルポートram2方向アクセス回路 | |
JPH05108547A (ja) | ダイレクトメモリアクセス方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20091222 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20130110 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |