KR20050062781A - 향상된 메모리 액세스 방법 및 장치 - Google Patents

향상된 메모리 액세스 방법 및 장치 Download PDF

Info

Publication number
KR20050062781A
KR20050062781A KR1020057007535A KR20057007535A KR20050062781A KR 20050062781 A KR20050062781 A KR 20050062781A KR 1020057007535 A KR1020057007535 A KR 1020057007535A KR 20057007535 A KR20057007535 A KR 20057007535A KR 20050062781 A KR20050062781 A KR 20050062781A
Authority
KR
South Korea
Prior art keywords
data
shift register
shift
shift registers
memory device
Prior art date
Application number
KR1020057007535A
Other languages
English (en)
Other versions
KR100994393B1 (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=32174817&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20050062781(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 링 테크노로지 엔터프라이즈, 엘엘씨 filed Critical 링 테크노로지 엔터프라이즈, 엘엘씨
Publication of KR20050062781A publication Critical patent/KR20050062781A/ko
Application granted granted Critical
Publication of KR100994393B1 publication Critical patent/KR100994393B1/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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C29/32Serial access; Scan testing
    • 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
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/1201Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1036Read-write modes for single port memories, i.e. having either a random port or a serial port using data shift registers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C2029/3202Scan chain

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Bus Control (AREA)

Abstract

시프트 레지스터들이 직렬로 연결된 하나 또는 그 이상의 시프트 레지스터 집합을 이용하는 메모리 액세스 구성이 개시되는데, 상기 데이터는 메모리 장치로부터 로드되는 데이터일 수도 있고, 메모리 장치에 데이터가 쓰여질 수도 있다. 즉, 메모리 장치로부터의 데이터는 병렬로 시프트 레지스터 집합에 로드되고 시프트 레지스터 집합에서 목적지까지 출력될 때까지 시프트 레지스터들을 통해 직렬적으로 시프팅된다. 또한, 시프트 레지스터들의 시프팅 동작이 데이터의 리드 및/또는 로드 동안 방해되지 않도록, 데이터는 메모리 장치로부터 읽혀져서 시프트 레지스터 집합에 제공될 수도 있고, 시프트 레지스터 집합으로부터 메모리 장치에 로드될 수도 있다. 아울러, 메모리 장치로부터의 데이터는 둘 또는 그 이상의 시프트 레지스터 체인으로 로드될 수 있으며, 이후 시프트 레지스터 체인을 통해 직렬적으로 시프팅된다.

Description

향상된 메모리 액세스 방법 및 장치{Methods and Apparatus for Improved Memory Access}
본 발명은 메모리 액세스에 관한 것으로서, 더욱 상세하게는 메모리 장치로의 액세스를 향상시키는 방법 및 시스템에 관한 것이다.
캐시, 그래픽 서브 시스템, 고록 통신 장치 뿐만 아니라 오늘날의 PC 및 워크 스테이션에서의 프로세서에 대해 더 높은 대역폭 및 메모리로부터의 속도가 요구되고 있다. 메모리 제조업자들은 고체 상태 메모리의 액세스 속도를 향상시킴으로써 이러한 요구에 부응하였다. 메모리 제조업자들은 속도 및 대역폭 모두에 있어서 상당한 증진을 이루어내고 있기는 하나, 프로세서에서 요구하는 속도와 오늘날의 메모리가 제공할 수 있는 속도 및 대역폭 사이에는 상당한 갭이 존재한다.
도 1은 제공된 방법 및 시스템에 따른 메모리 장치, 포탈 및 마이크로 프로세서의 단순화된 다이어그램을 도시한 도면.
도 2는 제공된 시스템 및 방법에 따른 포탈 및 메모리 장치의 상세한 다이어그램을 도시한 도면.
도 3은 시프트 레지스터 체인들이 각각 링을 형성하도록 연결된 단순화된 다이어그램을 도시한 도면.
도 4는 제공된 방법 및 시스템에 따른 시프트 레지스터 체인의 시프트 레지스터 및 메모리 장치의 입/출력 핀 사이의 연결을 도시한 상세 다이어그램.
도 5는 제공된 시스템 및 방법에 따른 클럭 신호를 도시한 도면.
도 6은 제공된 방법 및 시스템에 따른 시프트 레지스터를 메모리 장치의 핀들과 연결하는 다른 메카니즘을 도시한 도면.
도 7은 제공된 시스템 및 방법에 따른 메모리 장치의 입/출력 핀과 시프트 레지스터 체인의 시프트 레지스터 사이의 연결을 도시한 도면.
도 8은 제공된 시스템 및 방법에 따른 클럭 및 제어 신호를 도시한 도면.
도 9는 제공된 시스템 및 방법에 따른 리드 로드 신호(RPL)(또는 라이트 패스 신호(WPi) 및 리드 패스 신호(RPi)(또는 라이트 로드 신호(RWPL)를 발생시키는 회로를 도시한 도면.
도 10은 도 9에 도시된 회로의 다양한 포인트들에서의 신호를 도시한 도면.
도 11은 제공된 시스템 및 방법에 따른 RPx 및 WPx를 생성하는데 사용될 수 있는 회로를 도시한 도면.
도 12는 제공된 시스템 및 방법에 따른 다중 포탈이 연결되어 시프트 레지스터 체인을 형성하는 실시예를 도시한 도면.
도 13은 제공된 방법 및 시스템에 따른 메모리 장치로부터 데이터를 읽고 메모리 장치에 쓰기 위한 독립된 시프트 레지스터 어레이를 사용하는 실시예를 도시한 도면.
도 14는 제공된 시스템 및 방법에 따른 라이트 시프트 레지스터 체인의 다중 체인 및 리드 시프트 레지스터 레인의 다중 체인을 사용하는 실시예의 최상위 레벨 다이어그램을 도시한 도면.
도 15는 제공된 시스템 및 방법에 따른 포탈이 제어 신호 발생기를 포함하는 도 2와 다른 실시예를 도시한 도면.
도 16은 제공된 시스템 및 방법에 따른 단일 칩이 하나 또는 그 이상의 메모리 장치, 포탈 및 제어 신호 발생기를 포함하는 또 다른 실시예를 도시한 도면.
따라서, 본 발명은 상술한 종래 기술에 대응하기 위한 방법 및 시스템을 제안한다. 본 명세서에 기술된 바와 같이, 본 발명의 목적에 따르면, 하나 또는 그 이상의 출력을 가지는 적어도 하나의 메모리 장치, 시프트 레지스터들이 상호 직렬로 연결된 적어도 하나의 시프트 레지스터 집합-시프트 레지스터들 중 적어도 하나는 시프트 주파수를 가지는 클럭 신호를 수신하고, 상기 시프트 레지스터는 클럭 신호에 따라 상기 시프트 레지스터에 로드된 데이터를 상기 시프트 레지스터집합의 시프트 레지스트들 중 다음 하나로 시프팅할 수 있음-를 가지는 장치에 대한 방법 및 시스템을 제공한다.
상기 장치에서, 상기 메모리 장치의 하나 또는 그 이상의 출력으로부터의 데이터는 상기 시프트 레지스터 집합중 하나의 해당 시프트 레지스터에 로드되고, 로드된 데이터는, 시프트 레지스터가 어떠한 데이터의 로딩 중 시프트 주파수를 유지하도록, 클록 신호에 따라 상기 시프트 레지스터에서 상기 시프트 레지스터 집합의 시프트 레지스트들 중 다음 하나의 시프트 레지스터로 시프팅된다.
본 발명의 다른 측면에 따르면, 출력을 가진 적어도 하나의 메모리 장치, 시프트 레지스터들이 상호 직렬로 연결된 적어도 하나의 제1 시프트 레지스터 집합 및 시프트 레지스터들이 상호 직렬로 연결된 적어도 하나의 제2 시프트 레지스터 집합, 적어도 하나의 메모리 장치의 출력 중 하나를 상기 제1 또는 제2 시프트 레지스터 집합의 시프트 레지스터에 연결하는 복수의 커넥터들을 포함하는 장치에 대한 시스템 및 방법이 제공된다. 상기 장치에서, 상기 메모리 장치의 적어도 하나의 출력으로부터의 데이터는 복수의 커넥터를 경유하여 상기 제1 또는 제2 시프트 레지스터 집합의 해당 시프트 레지스터에 로드되고, 상기 제1 시프트 레지스터 집합에 로드된 데이터는 클럭 신호에 따라 상기 제1 시프트 레지스터 집합의 시프트 레지스터들 중 하나에서 상기 제1 시프트 레지스터 집합의 시프트 레지스터들 중 다음 하나로 시프팅된다. 또한, 상기 장치에서, 상기 제2 시프트 레지스터 집합에 로드된 데이터는 상기 클럭 신호에 따라 상기 제2 시프트 레지스터 집합의 시프트 레지스터들 중 하나에서 상기 제2 시프트 레지스터 집합의 시프트 레지스터들 중 다음 하나로 시프팅된다.
발명의 요약 및 하기의 상세한 설명은 청구되는 발명의 범주를 제한하지 않는다. 제공되는 실시예 및 설명은 다른 당업자가 본 발명의 실시를 가능하게 하기 위한 것이다. 첨부되는 도면은 본 발명의 적절한 실시예를 설명하는 일 부분에 관한 것으로서, 상세한 설명과 함께 본 발명의 개별 실시예를 보여주며, 본 발명의 원리를 설명한다.
참조는 바람직한 실시예에서 상세하게 사용될 것이며, 참조의 예는 첨부된 도면에서 나타나게 될 것이다. 어디에서든, 동일 또는 유사한 부분을 언급하기 위해, 동일한 참조 번호가 도면 전체에서 사용될 것이다.
도 1은 제공된 방법 및 시스템에 따른 메모리 장치(10), 포탈(Portal, 11) 및 마이크로 프로세서(20)의 개략적인 다이어그램을 도시한 도면이다.
메모리 장치(10)는 랜덤 액세스 메모리(Random Access Memory, RAM), 동적 램(Dynamic RAM), 램버스 DRAM(Rambus DRAM), 동기 램(Synchronous DRAM), SIMM(Single In-line Memory Module), DIMM(Dual In-line Memory Module), RIMM(Rambus In-line Memory Module), 내용 기억 메모리(Content Addressable Memory), ROM(Ream only Memory)과 같은 어떠한 종류의 메모리 장치도 포함할 수 있으며, 여기서 메모리 출력은 전기적인 데이터로 표현되거나 변환된다. 나아가, 단순화를 위해 포탈(11)과 마이크로 프로세서(20)간의 연결에 어떠한 구성 요소도 도시되어 있지 않다. 그러나, 본 발명의 기술분야에 속하는 당업자라면 상술한 연결 구조에서 포탈(11) 및 마이크로 프로세서(20)가 다른 구성 요소를 포함할 수 있다는 것을 알 수 있을 것이다.
도 1의 시스템에서, 메모리 장치(10)로부터의 데이터는, 필수적인 것은 아니지만 바람직하게는, 데이터가 직렬로 마이크로 프로세서(20)에 전송되도록 시프트 레지스터가 계속적으로 클락(clock)이 되는 동안 포탈(11)로 동시에 로드되는 것이 바람직하다. 그러면, 데이터는 다시 포탈(11)로 로드되며, 마이크로 프로세서 (20) 등으로 기록된다. 여기서 동시에란 표현은 제어 또는 클럭 신호의 하나의 펄스 구간 동안 이벤트가 발생하는 것을 의미하며, 절대적으로 같은 시간에 이벤트가 발생하는 것을 의미하는 것은 아니다.
도 1에는 포탈(11)이 마이크로 프로세서(20)에 연결되는 것으로 도시되어 있으나, 포탈(11)은 다른 형태의 장치에 연결될 수도 있을 것이다. 예를 들어, 포탈(11)은 본 명세서에서 전체적으로 참조되는 M.James, Bullen, Steven L.Dodd, David J. Herbison 및 Willam T. Lynch에 의해 본출원과 동일자에 출원된 미국 특허 출원 제10/284,199(발명의 명칭: 저장 시스템을 위한 방법 및 시스템)에 기재된 것과 같이 메모리 섹션에서 사용될 수도 있다.
부가적으로, 포탈(11)은 메모리 장치(10)에 데이터 쓰기를 위한 입력 핀(14)들과 연결된다. 도 1의 실시예에서, 라이트(write)를 위한 데이터는 마이크로 프로세서(20)로부터 수신될 수 있다. 다른 실시예에 의하면, 다른 장치들로부터 데이터가 수신될 수도 있을 것이다.
도 2는 제공된 시스템 및 방법에 따른 포탈(11) 및 메모리 장치(10)의 상세한 다이어그램을 도시한 도면이다.
도 2의 다이어그램이 포탈(11)의 일반적인 동작에 대한 이해를 돕기 위한 단순화된 다이어그램이라는 점은 당업자에게 있어 자명할 것이다.
포탈(11)은 적어도 하나의 시프트 레지스터 체인(12)(본 예에서는 12-1 및 12-2의 시프트 레지스터 체인이 도시됨)을 포함한다. 각각의 시프트 레지스터 체인(12)은 직렬로 서로 연결된 복수의 시프트 레지스터(16-1 ~ 16-n, 도 2에서 n=8)를 포함한다. 또한, 포탈은 시프트 레지스터들(16)을 그에 상응하는 메모리 장치(10)의 데이터 입/출력 핀(14)에 연결하기 위한 복수의 연결 회로들(17)을 포함한다. 포탈에 제어 신호를 제공하는 제어 신호 발생기(15) 또한 도시되어 있다.
시프트 레지스터들(16)은 동적이건 정적인 것이건, 싱글 클럭이건 마스터/슬레이브 클럭이건, 샘플링이건 또는 에지 트리거이건, 데이터(D), RS, 또는 JK 또는 CCD(Charge Coupled Device) 또는 입력을 클럭 신호에 기초하여 출력에 시프팅하는 어떠한 타입의 장치이건 간에 어떠한 타입의 시프트 레지스터도 될 수 있다. 시프트 레지스터 체인(12)은 본 발명의 범주를 벗어나지 않는 범위에서 어떠한 개수의 시프트 레지스터도 포함할 수 있다.
여기서 쓰인 “시프트 레지스터”란 용어는 어떠한 레지스터, 장치, 스테이지 또는 하나 또는 그 이상의 선택 가능한 입력들-상기 입력들은 신호가 어느 하나의 입력에 수신되도록 하고 예를 들어, 제어 또는 클럭 신호와 같은 이벤트 발생 시 출력하도록 함-을 가진 어떠한 것이라도 의미할 수 있다. 시프트 레지스터란 용어가 단일 레지스터 스테이지뿐만 아니라 그러한 레지스터들의 연결도 포함하지만, 여기서 사용된 시프트 레지스터란 용어는 단일 스테이지를 의미한다.
세 개의 시프트 레지스터들의 연결은 여기서 시프트 레지스터 체인 또는 시프트 레지스터 스트링으로 표현된다. 레지스터들의 연결 집합(set)은 또한 “(시프트) 레지스터들의 직렬 어레이” 또는 시프트 레지스터들의 싱글 체인이거나 또는 시프트 레지스터들의 병렬 체인인 시프트 레지스터 어레이라고 표현되기도 한다.
각각의 메모리 장치(10)는, 바람직하게는, 메모리 장치(10)로 데이터를 전송하거나 메모리 장치(10)로부터 및 메모리 장치에 데이터를 전송하기 위한 복수의 입/출력 핀(14-1 ~ 14-n, 본 실시예에서 n=8)을 포함하고 있다. 메모리 장치는 본 발명의 범주를 벗어나지 않는 한 어떠한 개수의 핀도 포함할 수 있다. 나아가, 도시되지는 않았으나, 메모리 장치(10)는 메모리 장치로부터 읽을 데이터 또는 메모리 장치에 쓰여질 데이터의 주소를 받기 위한 핀과 같은 다른 핀을 포함한다. 시프트 레지스터(16) 및 연결, 연결 회로(17)에 대한 상세한 실시예는 후에 제공된다.
첫 번째 입/출력 핀(14-1)에서 시작하여, 메모리 장치(10-1)로부터 하나씩 걸러진 핀들(14-1, 14-3, 14-5 및 14-7)이 연결 회로(17)에 의해 시프트 레지스터 체인(12-1, 16-1 ~ 16-4의 시프트 레지스터)의 시프트 레지스터(16)에 연결된다. 그리고, 두 번째 입/출력 핀(14-2)에서 시작하여, 하나씩 걸러진 핀들(14-2, 14-4, 14-6 및 14-8)이 시프트 레지스터 체인(12-2)의 시프트 레지스터에 연결된다. 유사하게, 메모리 장치(10-2)의 입/출력 핀들은 시프트 레지스터 레인들(12-1 및 12-2)의 해당 시프트 레지스터들에 연결된다.
도 2는 메모리 장치(10)의 입/출력 핀들(14)을 시프트 레지스터 체인(12)의 시프트 레지스터들(16)에 연결하는 일례를 도시한 것이며, 입/출력 핀(14)은 어떠한 시프트 레지스터 체인들(12)의 어떠한 시프트 레지스터들(16)에도 연결될 수 있을 것이다. 예를 들어, 데이터 핀들과 시프트 레지스터들을 순차적으로 연결하기보다, 시프트 레지스터들은 의사 랜덤(Pseudo Random) 방식으로 연결될 수도 있다. 예를 들어, 시프트 레지스터 체인(12-1)의 시프트 레지스터(16-1)는 메모리 장치(10-1)의 핀(14-6)과 연결될 수 있고, 시프트 레지스터 체인(12-2)의 시프트 레지스터(16-3)는 메모리 장치(10-1)의 핀(14-4)과 연결될 수 있으며, 시프트 레지스터 체인(12-1)의 시프트 레지스터(16-1)와 메모리 장치(10-2)의 핀(14-7)과의 연결 등이 이루어질 수 있다. 이와 같은 메카니즘은 메모리에 암호화하여 정보를 저장 및 추출하는 경우나 다른 공학적 연구에 이용될 수 있을 것이다.
암호화를 사용하는 실시예에서, 암호화는, 선택을 수정하기 위해 예를 들어 하드웨어 또는 소프트웨어에 의한 암호화가 사용될 수 있다. 라이트(write) 모드 및/또는 그에 후속하는 리드(read) 모드 모두에서 모두 수정될 수 있는 암호화 계획이 바람직한 암호화이며, 이를 위해 하나 또는 두 개의 리드 및/또는 라이트 시간과 관련한 “키”가 사용될 수 있다. 이와 같은 소프트웨어 수정을 달성하기 위해, 일례로, 시프트 레지스터 어레이 내에서 연결 회로(17) 출력들과 이들의 전송 노드들을 상호 연결하는 유선 경로 내에 다중 선택 게이트가 삽입될 수 있을 것이며, 또한, 입/출력 핀들(14-1 ~ 14-n)과 그에 상응하는 입/출력 노드들-17-1 ~ 17-n에 연결됨- 사이에 라우터 스위치가 삽입될 수도 있을 것이다. 바람직한 실시예에 의하면, 17-1 내지 17-n의 메모리측에서 메모리 입/출력 및 연결 회로 입/출력 사이의 라우터 스위치로의 소프트웨어에 의해 정의된 입력은 각각의 메모리 입/출력이 연결 회로 입/출력(17-1 ~ 17-n)으로 하나의 유선 경로만을 가지는 것을 보장하고 각각의 연결 회로 입/출력은 메모리 입/출력으로 하나의 유선 경로만을 가지는 것을 보장하기 위해 사용된다. 이러한 라우터 스위치 입력들은 메모리에 쓰여지거나 전송을 위해 메모리로부터 읽히는 선택된 파일들에 대한 컴퓨터 제어에 의해 수정될 수 있다.
부가적으로, 도 2에는 두 개의 시프트 레지스터 체인(12-1, 12-2) 및 두 개의 메모리 장치(10-1, 10-2)를 가진 어레이가 도시되어 있으나, 이러한 메카니즘은 어떠한 시프트 레지스터 체인들(12)을 어떠한 수의 메모리 장치(10)와 연결하는 데에도 사용될 수 있다. 시프트 레지스터들(16)의 수는 메모리 장치(10)로부터 동시에 전달되는 비트들의 수보다 크거나 같은 것이 바람직하다.
예를 들어, 도 2의 포탈(11)은 각각이 단일 메모리 장치(10-1 또는 10-2)에 연결된 두 개의 포탈들로 나누어질 수 있다. 이러한 실시예에서, 제1 포탈은 상응하는 연결 회로들(17-1 ~ 17-n)과 함께 각각의 시프트 레지스터 체인(12-1, 12-2)의 시프트 레지스터들(16-1 ~ 16-4)들을 포함할 수 있다. 마찬가지로, 제2 포탈은 상응하는 연결 회로들(17-9 ~ 17-16)과 함께 각각의 시프트 레지스터 체인(12-1, 12-2)의 시프트 레지스터들(16-5 ~ 16-8)들을 포함할 수 있다 그러면, 두 개의 체인의 시프트 레지스터(16-4, 16-5)는 시프트 레지스터(16-5)가 이의 출력을 직접 시프트 레지스터(16-4)에 공급하도록 직렬로 연결될 것이다.
또한, 도 2에는 두 개의 시프트 레지스터 체인(12-1, 12-2)을 포함하는 포탈(11)이 도시되어 있으나, 포탈은 어떠한 개수의 시프트 레지스터 어레이도 포함할 수 있을 것이다. 나아가, 시프트 레지스터 어레이들(12-1, 12-2)은 단일 M X n 어레이-여기서 M은 시프트 레지스터들에 직렬로 연결된 체인들의 수이고, n은 각각의 체인의 시프트 레지스터들의 수이다-에 조합될 수 있을 것이다. 예를 들어, 도 2의 실시예에서, 시프트 레지스터 어레이(12-1, 12-2)는 2 X 8 어레이에 조합될 수 있을 것이다. 다른 실시예에 의하면, 어레이의 폭 및 길이는 본 발명의 범주를 벗어나지 않는 범위에서 시스템 디자이너가 요구하는 어떠한 사이즈도 될 수 있을 것이다. 시프트 레지스터 어레이의 폭 및 길이를 달리 함으로써 얻어지는 이익은 후에 상세히 설명된다.
제어 신호 발생기가 포탈의 외부에 있는 것으로 도시되어 있으나, 제어 신호 발생기는 포탈(11) 내부 또는 마이크로프로세서(20) 내부에 포함될 수도 있으며, 또는 제어 신호는 외부 소스들(미도시)로부터 수신될 수도 있다. 제어 신호 발생기(15)의 실시예와 함께 제어 신호는 후에 상세히 설명된다.
또한, 하나 또는 그 이상의 포탈(11)이 단일 칩에 포함될 수 있다. 나아가, 포탈(들)(11)뿐만 아니라, 칩은 제어 신호 발생기(15) 및/또는 메모리 장치(10)를 포함할 수도 있다. 예를 들어, 도 2의 실시예와 관련하여, 단일 칩은 포탈(11), 제어 신호 발생기(15) 및 메모리 장치(10-1, 10-2)를 포함할 수 있다. 이러한 칩은, 메모리 장치(10) 및 포탈(11) 사이의 모든 연결이 칩 내부에 있기 때문에, 데이터를 메모리 장치(10-1, 10-2)로부터 읽어 마이크로프로세서(20)로 보내기 위한 두 개의 입/출력만을 필요로 할 것이다. 이와 반대로, 만약 메모리 장치(10-1, 10-2) 및 포탈(11)이 서로 다른 칩들에 내장되어 있는 경우, 메모리 장치들(10) 및 포탈(11) 사이에 16개의 연결이 있을 것이다. 따라서, 포탈(11) 및 메모리 장치들(10)을 같은 칩에 포함시킴으로써, 메모리 장치로부터 데이터를 가져오는데 필요한 입/출력 연결의 수를 줄일 수 있다. 보든 버스들이 내장되므로, 메모리 입출력 및 포탈 입출력이 더 이상 독립적인 칩 디자인에 제한 사항이 아닌 바, 메모리에 더 넓은 입출력이 사용될 수 있다.
도 3은 시프트 레지스터 체인들(12-1, 12-2)이 각각 링(ring)을 형성하도록 연결된 단순화된 다이어그램을 도시한 도면이다.
본 명세서에서 전반적으로 참조되는 미국특허 5,604,682; 5,636,139; 5,581,479; 및 6,356,973에 개시된 바와 같이, 이러한 메카니즘은 저장 링(storage ring)들을 로드하는데 사용될 수 있다. 예를 들어, 도시된 바와 같이, 도 3의 링은 직렬로 상호 연결되어 링을 형성하는 복수의 시프트 레지스터들(16)을 포함한다. 4개의 포탈(11)이 도시되어 있는데, 각각의 포탈은 복수의 시프트 레지스터들과 두 개의 메모리 장치들(10)을 연결한다. 또한, 데이터를 링으로부터 다른 장치로 전달하고(리드 데이터), 데이터를 링에 삽입하는데 사용되는 입/출력 컨트롤러(31)가 도시되어 있는데, 이로 인해 데이터의 링 회전 및/또는 데이터의 하나 또는 그 이상의 다른 메모리 장치들(10)로의 쓰기가 가능해진다. 또한, 입/출력 컨트롤러(31)는 클럭킹 및/또는 링, 포탈 및 메모리 장치들의 제어를 위해 클럭 신호 및 제어 신호를 다른 소스(미도시)들로부터 받을 수 있다.
당업자라면, 상기 참조한 특허출원들에 개시된 바와 같이, 링으로부터 데이터를 읽고 쓰는데 메모리 장치들이 이용되는 것이 단지 예시적인 실시예에 불과하다는 것을 이해할 수 있을 것이며, 어떠한 수의 메모리 장치, 시프트 레지스터, 병렬 링 및 입/출력 컨트롤러(31)를 포함하는 실시예가 가능할 것이다.
도 4는 제공된 방법 및 시스템에 따른 시프트 레지스터 체인(12)의 시프트 레지스터(16) 및 메모리 장치(10)의 입/출력 핀(14) 사이의 연결을 도시한 상세 다이어그램이다. 더욱 상세하게는, 도 4는, 도 2에 도시된 바와 같이, 메모리 장치의 핀(14)을 시프트 레지스터 체인(12)의 j번째 시프트 레지스터(16-j)에 연결하는 수단을 도시한다. 유사한 방법으로 메모리 장치(10)의 모든 핀(14)이 시프트 레지스터 체인(12)의 해당 시프트 레지스터들에 연결될 수 있다.
도 4에 도시된 바와 같이, 시프트 레지스터(1-j6)는 마스터 클럭으로부터 신호를 수신하는 전송 게이트(32), 슬레이브 클럭으로부터 신호를 수신하는 전송 게이트(36) 및 두 개의 인버터(34, 38)를 포함한다. 전송 게이트들은 또한 “패스(pass) 게이트”라고 표현될 수도 있다. 연결 회로(17)는 인버터(40), 리드 로드 신호(Read Load Signal: RPL)를 수신하는 전송 게이트(42,), 리드 패스 신호(Read Pass Signal: RPi)를 수신하는 전송 게이트(46) 및 메모리 장치로부터 데이터를 읽는 인버터(44)를 포함한다. 연결 회로는 전체 신호 세기를 복원하는 인버터(54)에 이어 메모리에 쓰여질 데이터의 초기 전달을 위한 전송 게이트(56) 및 반전 3-상태(tri-state) 버퍼(52)를 더 포함하며, 반전 3-상태 버퍼(52)는 WPL 제어 입력에 의해 능동 인버터가 된다. 3-상태 버퍼는 활성화되지 않을 때 높은 임피던스(용량 플로팅(floating) 출력)를 제공한다.
도 4에서, 시프트 레지스터(16-j)는, 레지스터 내부에 0 및 1을 저장하는 래치(latch) 대신에 전송 게이트(패스 게이트라고 표현되기도 함)를 사용하므로, “동적 시프트 레지스터”라고 표현될 수도 있다. 후에 설명될 도 6은 시프트 레지스터(16-j)가 래치를 사용하는 실시예를 도시한다. 동적 시프트 레지스터는 계속적으로 재충전되거나 전하가 이를 따라 이동되어야 하며, 그렇지 않으면 전하를 잃게 된다. “래치 모드”에서, 전원 공급기가 유지되는한 저장된 정보가 유지되도록, 교차 연결된 인버터들이 이득 및 자동적인 재충전을 제공한다. 전송 게이트의 출력측에서의 동적 저장은, 동적 충전이 부분적으로 새어나가더라도 풀(full) 레벨의 1 또는 0을 제공하는 이득을 제공하도록, 팔로우-업(follow-up) 인버터를 사용한다.
메모리 장치(10)로부터 데이터를 읽거나 데이터를 쓰기 위한 전송 게이트(42) 및 3-상태 버퍼(52) 각각은 동시에 활성화되지 않는 것이 바람직하며, 이는 시스템이 같은 메모리 장치에서 동시에 리드/라이트를 허락하지 않는 것이 바람직하기 때문이다. 바람직하게는, 이러한 전송 경로들 중 적어도 하나는 열려있기 때문에, 연결 회로(17)의 라이트 채널로부터 리드 채널로의 데이터 루프 백 또는 연결 회로(17)의 리드 채널로부터 라이트 채널로의 데이터 루프 백이 있을 수 없다. 리드 채널에서, RPL이 마스터 클럭으로서의 역할을 하고 RPi가 세이브 클럭으로서의 역할을 하면서 두 개의 전송 게이트(42, 46) 및 두 개의 인버터(44, 34)가 풀(full) 스테이지 동적 D-레지스터(또는 동적 시프트 레지스터)로 동작한다. WPi가 마스터 클럭으로의 역할을 하면서, 전송 게이트(56) 및 인버터(54)는, 동적 D-레지스터(또는 동적 시프트 레지스터)를 나타낸다. 레지스터의 슬레이브 하프(half)에 대한 해당 하프(half) 스테이지는 필요하지 않거나 바람직하지 않은데, 이는 항상 활동중인 인버터 출력에서 리두 출력에 메모리에 의해 제공될 때 입/출력 인터페이스 제어에 대한 충돌이 있기 때문이다. 이 문제는 일반적인 입/출력에서의 메모리 내부의 상황에 해당한다. 이는 메모리를 떠나는 어떠한 리드 데이터에 대한 3-상태 버퍼를 사용함으로써 해결될 수 있다. 도 4에서, 쓰기 채널(17)은 메모리 내부의 읽기 채널과 동일하기 때문에, 3-상태 버퍼는 쓰기 채널(17)의 출력으로 삽입된다.
RPi 및 WPi의 다양성과 함께 메모리 동작으로의 RPL 및 WPL의 동기화는 후에 설명된다. 모든 RPi 펄스(WPi)는 RPL과 관려하여 같은 타이밍을 가지거나, 또는 다른 타이밍을 가지거나, 또는 각각의 RPi 펄스(WPi)는 이들 사이에 특정한 변형이 있을 수 있다. 그러나, RPL 및 WPi 펄스는 마스터 클럭과 등가(equivalents)이기 때문에, RPL 펄스가 RPi 펄스를 선행하고, WPi 펄스가 WPL 펄스를 선행하는 것이 바람직하다. 이러한 타이밍 펄스들은 시프트 어레이의 MC 및 SC 클럭 펄스와 관련하여 적절히 타이밍될 수 있다.
이러한 타이밍은 하드웨어 디자인 또는 소프트웨어 제어와 조합된 하드웨어 디자인에 의해 조절될 수 있다. 게이트들(46, 56)의 특정 레지스터 사이트들로의 연결은 하드웨어 디자인(도 4에 도시) 또는 소프트웨어 제어와 조합된 하드웨어 디자인에 의해 조절될 수 있다.
도 4에 도시된 모든 동적(충전 저장(Charge Storage) 회로는 콘볼루션(convolutional) “래치-레지스터(latch-register)” 회로로 대체될 수 있다. 동적 레지스터들은 이들의 줄어든 트랜지스터 수 때문에 유용하다. 제어 회로(17)의 다른 하드웨어 구조가 저장된 메모리 데이터에 대해 인버팅을 하는지 여부도 크게 중요하지 않다. 그러나, 라이트 채널에서의 인버팅 횟수는 읽기 채널에서의 횟수와 동일한 것이 바람직하다. 이는 쓰기 채널에서의 3-상태 버퍼(52)가 비반전(non-inverting) 버퍼라기 보다는 반전 버퍼이기 때문이다.
도 5는 제공된 시스템 및 방법에 따른 도 4의 연결을 위한 클럭 신호를 도시한 도면이다. 특히, 도 5는 마스터 클럭 신호(MC), 라이트 패스 신호(WPi), 라이트 로드 신호(WPL), 리드 로드 신호(RPL), 리드 패스 신호(RPi), 슬레이브 클럭 신호(SC)를 도시한다. 클럭 및 제어 신호는 회로와 떨어져 있거나 회로와 조합되어 있는 마이크로 프로세서로부터 제공될 수 있다. 예를 들어, 도 2에서, 마이크로 프로세서(22)는, 분리된 제어 신호 발생 회로(15)가 제어 신호를 생성하는 동안, 클럭 신호를 제공한다. 이 도면에서의 타이밍 펄스들은 로딩(리드 또는 라이트) 동작이 시프팅 동작을 방해하지 않는 것을 보장한다. 라이트 데이터는 메모리 장치에 쓰여지는 경우에도 어레이를 통해 계속적으로 시프팅된다. 리드 데이터는 자동적으로 어레이에 있는 데이터에 덮어쓰여지며, 만약 그렇지 않을 경우 어레이를 통해 시프팅된다.
메모리 장치(10)로부터 시프트 레지스터(16)로의 데이터를 읽는 동작이 도 4 및 도 5를 참조하여 이하에서 설명된다.
우선, 데이터가 읽힐 주소가 메모리 장치(10)에 제공된다. 이 주소는 마이크로 프로세서 또는 별도의 컨트롤러(미도시)에 의해 제공될 수 있다. 그 후, 메모리 장치(10)는 메모리 장치의 입/출력 핀(14)으로의 데이터 래칭을 수행한다. RPL 신호는 메모리에 대해 “출력 유효” 시간의 중앙에 있도록 타이밍된다. 이는 DRAM 또는 SDRAM의 자연적인 드리프트(drift)나 노화를 허용하며, 다른 어떠한 종류의 메모리 장치도 사용될 수 있을 것이다. RPi는 좁은 샘플링 펄스이므로 안정적인 출력을 가지는 것이 바람직하다. RPi는 전하를 전송 게이트(42)의 출력측으로 전송하고, 메모리 출력을 인버터의 출력으로 전송한다. RPi가 꺼진 상태이고, 메모리 출력 자체가 변하더라도, 본래의 샘플링된 출력이 전송 게이트(46)의 입력단에서 사용 가능하다.
마스터 클럭이 하이로 갈 때, 입력 신호(Din)가 전송 게이트(32)를 통해 전달되며, 전송 게이트(36)로 이의 반전이 제공된다. 일반적으로, Din 신호는 시프트 레지스터 체인(12)의 선행하는 시프트 레지스터(16)로부터 시프트 레지스터(16)를 통해 전달되는 신호이다. 따라서, 정보는 메모리 장치에 쓰여지거나 읽혀지지 않으며, 마스터 및 슬레이브 클럭 신호에 의해 체인에서 하나의 시프트 레지스터로부터 다음 시프트 레지스터로 클러킹될 수 있다.
그러나, 이러한 경우, 데이터는 메모리로부터 읽혀진다. 따라서, 마스터 클럭이 로우로 간 후 및 슬레이브 클럭이 하이로 가기 전에, 리드 패스 신호(RPi)가 하이로 가서 메모리 장치(10)로부터의 데이터가 인버터(34)를 통해 전송 게이트로 전달되고 이로 인해 전송 게이트(32)를 통해 미리 클러킹된 Din데이터에 덮어쓰여진다. RPi는, 바람직하게는, 노드들(44, 46) 사이에 저장된 데이터를 전송 게이트(32) 및 인버터(34) 사이의 동적 노드로 전달하는 좁은 샘플링 펄스이다. 충전은 Din 및 MC의 동작으로부터 어떠한 충전도 대체한다(덮어쓴다). 인버터(34)는 (본래) 메모리 데이터의 반전(inversion)을 전송 게이트(36)의 입력측에 제공한다. 그 후, 슬레이브 클럭이 하이로 가며, 데이터가 인버터(38)를 통해 시프트 레지스터 체인(12)의 다음 시프트 레지스터(16-j+1)에 전달된다. 데이터는 마스터 및 슬레이브 클럭 신호에 따라 마이크로 프로세서(20)에 도달하기까지 각 시프트 레지스터(16)에서 다음 시프트 레지스터로 전달된다.
도 4 및 도 5를 참조하여, 메모리 장치(10)에 데이터를 쓰는 동작이 설명된다. 첫째, Din을 경유하여 이전 시프트 레지스터 또는 다른 소스로부터 시프트 레지스터(16)에 데이터가 클러킹된다. MC가 하이로 가기 전의 시기에, 이 데이터는 전송 게이트(32)의 입력에 유지된다. MC가 하이로 가기 전 WPi가 하이로 갈 경우, Din에 유지된 데이터는 전송 게이트(56)를 통해 전달되며, 그의 반전 데이터가 인버터(54)와 3-상태 버퍼(52) 사이의 노드에 있게 된다.
발생할 다음 펄스는 전송 게이트(32)에 적용되는 마스터 클럭이다. 입력 노드에 저장된 데이터가 56 및 54 사이의 노드로 전달되었다고 할지라도, 바람직하게는 노드는 이전 스테이지의 출력 인버터에 의해 유지된 충전 전하를 가지고 있기 때문에, 그 데이터는 여전히 본래 입력 노드에 남아 있다. 그러므로, 라이트 데이터는 라이트 동작 자체에 의해 영향을 받지 않으며, 데이터에 대해 리드 및 라이트 동작이 없었던 것과 같이 체인 아래로 전달된다. 이와 같은 라이트 데이터는 이후의 다른 메모리에서의 다운스트림 라이트 또는 시프트 레지스터 체인의 말단 어느 곳에서의 전송에 이용되거나 이용되지 않을 수도 있다.
MC가 로우로 간 후 WPL이 하이로 갈 때, 3-상태 버퍼(52)는 WPL에 의해 활성화된다. 이는 반전 버퍼이므로, Din 입력의 본래의 라이트 데이터는 입/출력 핀(14)으로 제공된다. 바람직하게는, WPL은 메모리 입/출력이 안정적이고 입력된 라이트 데이터를 수용할 때 적용된다. RPL의 타이밍은 특정 메모리를 수용할 수 있도록 조정될 수 있으며, DRAM, SRAM 또는 다른 종류의 메모리 장치들에 대해 신뢰성을 가지도록 타이밍될 수 있다. 그 후 메모리 장치는 메모리 장치의 주소 핀(미도시)을 경유하여 받은 주소에 신호를 쓴다. 이 메모리 주소는 마이크로 프로세서 또는 별도의 제어 회로에 의해 제공될 수 있다.
리드(Read)를 위한 4개의 펄스열-RPL, MC, RPi, SC- 및 라이트(Write)를 위한 4개의 펄스열-WPi, MC, WPL, SC-은 두 개의 인접한 전송 게이트들이 동시에 “on"(closed)이 되지 않는 4상(four-phase) 시스템에 효과적이다. 시프트 레지스터 어레이는 MC 및 SC의 클러킹 시 어떠한 리드 및 라이트 동작에 의해서도 영향을 받지 않는다. 순서가 지켜지는 한, 다중 MC(및 SC) 펄스가 RPL 후 및 RPi 전에 발생할 수 있다. 다중 MC(및 SC) 펄스는 WPi 후 및 WPL 전에 발생할 수도 있다.
도 5는 모든 RPi 펄스가 동시에 발생하여야 하는 것도 아니며 모든 WPi 펄스가 동시에 발생하여야 하는 것도 아님을 나타낸다. 하드웨어 디자인이 고정된 어플리케이션에 대한 펄싱(pulsing)을 위한 다양한 RPi(또는 WPi)를 제공할 수 있다는 점이 후에 설명될 것이다. 소프트웨어 제어가 부가된 선택기(selector)를 구비한 하드웨어 디자인은 일반적인 방법으로 RPi(WPi)의 변화에 다양성을 제공할 수 있다. 도 4는 또한 메모리로부터 시프트 레시스터 어레이로의 리드 및 라이트 채널이 하드웨어 배선(hard wiring)에 의해 고정된다는 점을 암시한다. 그러나, 이는 일반적인 경우이며, 메모리로부터 시프트 레지스터 노드들로의 다양한 연결을 허용하는 소프트웨어 제어가 부가된 선택기(selectors)들을 가진 하드웨어 디자인이 사용되는 것도 가능할 것이다.
도 4는 시프트 레지스터 “어레이”가 하나의 시프트 레지스터 체인으로만 구성되는 것을 의도하고자 한 것은 아니다. 다중 체인이 M X n 어레이를 형성하도록 병렬로 배열될 수도 있다-여기서, M은 병렬 체인의 수이고, n은 각 체인(같은 길이라고 가정됨)에서의 레지스터 수이며 이들의 곱인 M*n은 메모리를 경유하여 동시에 액세스될 수 있는 레지스터의 총 수이다-. 예를 들어, 64 출력 비트의 싱글 메모리에 대해, 전용 어레이는 1 X 64(싱글 체인), 2 X 32(두개의 병렬 체인), 4 X 16, 8 X 8, 16 X 4, 32 X 2, 또는 64 X 1이 될 수 있을 것이다. M을 선택하는 방법은 후속하는 설명에서 고려된다. 다른 실시예에 의하면, 시프트 레지스터 어레이는 어떠한 수의 시프트 레지스터 및 어떠한 수의 병렬 체인도 가질 수 있다. 예를 들어, 2 X 34, 1 X 65, 6 X 9 등과 같은 어레이가 64출력의 싱글 메모리에 액세스하는데 사용될 수도 있을 것이다.
도 4 및 도 5는, 어레이에서 라이트 동작이 위로 올라가면서(upstream) 수행되지 않고 리드 동작이 아래로 내려가면서(downstream) 수행되지 않으면 라이트 및 리드에 사용되나 동시에는 사용될 수 없는 시프트 레지스터 어레이를 제공한다. 이후의 설명에서는 라이트 전용 시프트 레지스터 어레이가 리드-전용 시프트 레지스터 어레이와 독립적인 실시예를 제공할 것이다. 이는 하나 또는 그 이상의 메모리 장치에서 읽기가 발생하는 동안 다른 하나 또는 그 이상의 메모리에서 쓰기가 발생하는 것이 가능하도록 한다.
도 6은 제공된 방법 및 시스템에 따른 시프트 레지스터(16)를 메모리 장치(10)의 핀들(14)과 연결하는 다른 메카니즘을 도시한 도면이다. 도 6의 실시예에서, CMOS(Complementary Metal Oxide Semiconductor) 래치 시프트 레지스터가 전송 게이트 대신 사용된다.
특히, 도 6의 실시예의 전송 회로(17)는 전송 게이트(52), 인버터(40, 44, 64, 84), 반전 3-상태 버퍼(52) 및 래치 레지스터들(62, 82)을 포함한다.
나아가, 시프트 레지스터(16)는 인버터(76), NAND 게이트(68, 70, 70, 80) 및 래치 시프트 레지스터들(74, 78)을 포함한다. NAND 게이트(68)는 그 입력이 래치 시프트 레지스터(62)로부터의 출력 및 리드 패스 신호(RPi)가 된다. NAND 게이트(70)는 NAND 게이트(72)에 다른 입력을 제공한다. NAND 게이트(70)는 마스터 클럭 신호(MC) 및 선행하는 리드/라이트 시프트 레지스터로부터의 신호(Din)가 입력이 된다. NAND 게이트(72)의 출력은 시프트 레지스터(74)로의 S 입력으로서의 역할을 하며, 이의 반전 신호는 R 입력으로서의 역할을 한다. 래치 시프트 레지스터(74)의 출력은 래치 시프트 레지스터(78)의 입력으로서의 역할을 한다. 래치 시프트 레지스터(78)는 또한 슬레이브 클럭 신호(SC)롤 수신한다.
나아가, 메모리 장치에 정보를 쓰기 위해, NAND 게이트(80)는 라이트 패스(Write pass) 신호(WPi) 및 Din이 입력이 되도록 한다. NAND 게이트(80)의 출력은 연결 회로(17)의 래치 레지스터(82)로 전송된다. 래치 레지스터(82)로부터의 출력의 반전 신호는 3-상태 버퍼(52)의 입력으로 이용된다. 래치 레지스터(82)의 반전 신호가 이용되기 때문에, 인버터가 필요 없다.
도 6의 실시예에서의 리드 및 라이트 동작은 도 5에 도시된 클럭 시그널을 이용하여 수행될 수 있다. 바람직하게는, 도 6의 실시예에서의 리드 및 라이트 동작은 도 4및 도 5를 참조하여 기술된 것과 같은 방식으로 수행된다.
도 7은 제공된 시스템 및 방법에 따른 도 4에 도시된 메모리 장치(10)의 입/출력 핀(14)과 시프트 레지스터 체인의 시프트 레지스터(16) 사이의 연결에 대한 수정을 도시한 것이다. 도 7에서, 각각의 전송 게이트들(46, 56)에 선행하는 두 개의 부가적인 인버터(47, 57)를 제외하면, 연결 회로(17)는 도 4와 동일하다. 이러한 인버터들은 세 개의 전송 게이트들(46, 56, 32)을 서로 분리시킨다. 이러한 예에서, 메모리(10)에 저장된 데이터는 실제 데이터에 대해 겹치지 않는 반전(non-overlapping inverse) 데이터이다; 그러나, 라이트 채널에서의 반전의 횟수는 여전히 읽기 채널에서의 반전의 횟수와 동일하기 때문에, 이는 중요하지 않다. 또한, 시프트 레지스터(16-j)는 도 4의 그것과 본질적으로 동일하다. 도 4 및 도 7의 근본적인 차이는 도 4는 4-상(phase) 분류(scheme)를 채용하는 것에 비해, 도 7은 2-상(phase) 펄스 분류(scheme)를 채용한다는 것이다. 시프트 레지스터에서의 데이터 시프팅은 라이트 및 리드 동작으로 인한 어떠한 방해도 없이 계속된다. RPL이 발생할 때, RPL은 MC와 동시에 발생하는 것이 바람직하며; RPi가 발생할 때, RPi는 SC와 동시에 발생하는 것이 바람직하고; WPi가 발생할 때, WPi는 MC와 동시에 발생하는 것이 바람직하며; WPL이 발생할 때, WPL은 SC와 동시에 발생하는 것이 바람직하다.
도 8은 제공된 시스템 및 방법에 따른 도 7의 연결을 위한 클럭 및 제어 신호를 도시한 도면이다. 도시된 바와 같이, 마스터 클럭 신호(MC)는 주기 신호이며(도 5와 같음), 슬레이브 클럭 신호(SC)는 마스터 클럭 신호의 반전 신호이다. 리드 로드(read load) 신호(RPL)는 마스터 클럭 신호(MC)와 동시에 발생한다. 리드 패스(read pass) 신호(RPi)는 리드 로드 신호(RPL) 후에 발생하며 슬레이브 클럭 신호(SC)와 동시에 발생한다. 나아가, 라이트 패스(write pass) (WPi)는 마스터 클럭 신호(MC)와 동시에 발생한다. 라이트 로드(write load) 신호(WPL)는 라이트 패스 신호(WPi) 후에 발생하며, 슬레이브 클럭 신호(SC)와 동시에 발생한다.
도 8에서, WPi 펄스는 동시에 발생하는 MC 펄스와 상관성이 있으며, WPL 펄스는 동시에 발생하는 SC 펄스와 상관성이 있고, RPL 펄스는 동시에 발생하는 MC 펄스와 상관성이 있으며, RPi 펄스는 동시에 발생하는 SC 펄스와 상관성이 있다. 상관(correlation)이라는 용어는 각각의 펄스를 이용하여 메모리로부터 읽혀지거나 메모리에 쓰여지는 데이터가 마치 시프트가 발생하였던 것처럼 시프트 레지스터가 시프팅을 유지하는 방식으로 읽히거나 쓰여지도록 WPi, WPL, RPL 및 RPi가 타이밍 된다는 것을 의미한다. 즉, 펄스는, 메모리 장치로부터의 어떠한 리드 싸이클 또는 메모리 장치로의 어떠한 라이트 사이클 동안에도, 시프트 레지스터가 그의 시프트 주파수를 유지하도록 타이밍된다. 부가적인 예로, 도 5에서, WPL 펄스는 이를 따라오는 MC 펄스와 상관성이 있고, WPi 펄스는 이를 따라오는 SC 펄스와 상관성이 있으며, RPL 펄스는 이를 따라오는 MC 펄스와 상관성이 있고, RPi 펄스는 이를 따라오는 SC 펄스와 상관성이 있다.
도 7의 회로의 리드 및 라이트 동작은, 도 8의 클럭 및 제어 신호가 도 7 회로의 동작을 위해 사용된다는 점을 제외하면, 도 4의 회로와 동일하다. RPi 펄스가 RPL 펄스 후의 1.5 싸이클에서 발생하고 , RPL이 MC와 동시에 발생하며, RPi가 SC와 동시에 발생하는 도 8에서의 펄스 파형은 일례이다. 그러나, 예를 들어, 어떠한 또는 모든 RPi 펄스가 (n+1/2)클럭 사이클-여기서 n은 정수이고 0이상임-에서 발생할 수도 있을 것이다. 나아가, 이 예에서, WPL은 WPi 펄스 후 1.5 클럭 사이클에서 발생하고, WPi는 MC와 동시에 발생하며, WPL은 SC와 동시에 발생한다. 그러나, RPi와 같이, WPL은 WPi 펄스 후 (n+1/2) 클럭 싸이클-여기서 n은 정수이고 0 이상임-에서 발생할 수도 있다.
도 4 및 도 7의 또 다른 차이는 NOR 게이트(41) 및 인버터(39)의 삽입이다. NOR 게이트(41)는 RPi가 활성화일 때마다 마스터 클럭 펄스(MC)의 인가를 무효로 한다. 전송 게이트(32)에 대한 기능 억제(disabling)는 라이트 동작 중에는 발생하지 않으며, 따라서, 라이트 데이터는 도 4와 같이 아래로 계속 내려간다. 17에서의 라이트 채널 및 라이트 동작은, WPi 및 WPL 펄스가 더 넓으며 메모리에 저장된 데이터에 대한 부수적인 반전을 제외하면, 도 4와 동일하다. 최종 결과는 도 4와 동일하나, NOR 게이트의 존재로 인해 영향을 받는 것은 리드 동작이다. 도 4에서, MC가 활성화될 때 인버터(34) 및 전송 게이트(32) 사이의 노드에 저장되는 동적 전하(charge)는 MC가 로우로 가고 RPi가 하이로 갈 때 덮어쓰여진다. 도 4에서, 전송 게이트(46) 및 인버터(44)는 이 노드(32와 34 사이)에 대해 전적인 제어가 가능하며 읽혀진 데이터를 노드에 덮어쓴다. 도 7에서 MC 및 RPi가 동시에 하이인 경우, 만약 NOR 게이트가 사용되지 않는다면, 인버터들(44, 30)은 노드의 제어에 대해 충돌을 일으킬 것이다. 전송 게이트(32)의 기능을 억제함으로써 활성화된 전송 게이트(46)가 이 노드에 대한 제어권을 가지게 된다. 인버터들(37-1, 37-2)에 의한 슬레이브 클럭의 두 반전(inversion)은 필요하지 않을 수도 있으며, 인버터(39) 및 NOR 게이트(41)가 MC에 대해 두 개의 게이트 딜레이를 요구하므로 단지 MC 및 SC 클럭이 겹치지 않는 것을 보장한다. 메모리 장치를 시프트 레지스터와 연결하는 도 4 내지 도 8의 실시예는 단지 일 실시예에 불과하며, 연결 회로(17) 및 시프트 레지스터들(16)에 대한 다른 메카니즘이 사용될 수 있다는 것은 당업자에게 있어 자명할 것이다.
도 9는 제공된 시스템 및 방법에 따른 단일 또는 다중의 RPi 펄스들과 함께 단일 RPL 펄스를 발생시키는 다용도 회로를 도시한 도면이다. 이 제어 회로는 도 2에 도시된 제어 신호 발생기(15)에 사용될 수 있을 것이다. 도시된 바와 같이, 회로는 마스터 클럭(MC)에 의해 클럭킹되는 전송 게이트들(112, 116, 120, 124, 128) 및 슬레이브 클럭(SC)에 의해 클럭킹되는 전송 게이트들(114, 118, 122, 126)을 포함한다. 또한, 회로는 인버터들(130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158)을 포함한다. 또한, 회로는 NAND 게이트들(160, 162, 164, 166, 168) 및 NOR 게이트(170)를 포함한다. 회로는 포탈(11)이 메모리 장치들(10)로부터 데이터를 읽을 때 하이로 가는 리드 발생(read generate) 신호(RPGen) 신호를 입력으로 한다. 바람직하게는, RPGen 신호는 메모리들에 대한 더 낮은 주파수 제어 클럭과 일치하는 다중 마스터 클럭 싸이클 동안 지속되는 긴 펄스이다. 마이크로 프로세서(20)가 RPGen 신호를 생성할 수도 있으며, 또는 별도의 제어 회로가 이 신호를 생성할 수도 있다. 나아가, 마스터 클럭(MC) 역시 마이크로 프로세서(20) 또는 별도의 제어 회로에 의해 생성될 수 있다.
도 9에는 A, B, C, D, E로 표시된 5개의 가능한 펄스들을 생성하는 회로가 도시되어 있으나, 시프트 레지스터 체인의 길이를 길게 함으로써 더 많은 펄스들이 생성될 수 있을 것이다. 선택기(selector, 미도시) 또는 신호를 선택하는 다른 형태의 회로가 다양한 출력 펄스들(A, B, C, D, E)들을 선택하기 위해 사용될 수 있을 것이다. 예를 들어, 도시된 펄스들 중 RPL 펄스는 A, C, 또는 E의 펄스들 중에서 선택되는 것이 바람직하다. RPi 펄스는 RPL 펄스의 뒤를 잇는다. 따라서, 예를 들어, A 펄스가 RPL 펄스로 선택된 경우, RPi 펄스는 B 또는 D에서 선택되는 것이 바람직하다. 나아가, 일례로, C 펄스가 RPL 펄스로 선택되는 경우, D는 RPi 펄스로 선택되는 것이 바람직하다.
RPi의 다양한 타이밍 특성에 대한 하나의 응용 방법은 두 개의 다른 데이터 스트림-여기서 하나는 떨어진 위치에 존재하는 것일 수 있다-간의 동기 조절이다. 동기 조절에 대한 일례는 데이터의 두 개의 패킷이 동기화되도록 두 개의 패킷의 시작 바이트를 정렬하는 것이다. RPi는 플러스 또는 마이너스 2/n 클럭 주기의 조절 범위를 가지고 있으며, 따라서 RPL이 안정한 메모리 출력과 함께 고유의 정렬 방식에 따라 최적화 상태로 남아 있는 동안이라도 시프트 레지스터 출력에서 어떠한 리드 데이터가 발생하는 시간은 RPi의 타이밍을 조절함으로써 변경될 수 있다.
RPL, RPi, WPL 및 WPi 신호들을 생성하는 예시된 회로의 동작에 대한 간략한 개요 및 포인트 P 및 R로 표시된 회로에서의 다양한 포인트들에 대한 구체적인 참조 사항이 이하에서 제공된다. 바람직하게는, 두 개의 제1 전송 게이트들(112, 114) 및 이에 상응하여 RPGen 입력으로부터 R로 표시된 포인트까지 확장되는 인버터들(130, 132)은, 이후의 동작에서 동기화를 보장하기 위해, 입력 펄스 RPGen의 형태를 재형성한다. P로 표시된 포인트에서 회로에 의해 생성되는 파형은 양 펄스의 길이가 하나의 클럭 주기와 동일한 것이 바람직하다. 이러한 펄스는 레지스터 체인을 끌어내리며, 각각의 NAND/인버터 조합에서 1/2 클럭 싸이클의 RPL 및 RPi 펄스를 생성한다.
도 10은 A, B, C, D 및 E로 표시된 펄스들과 함께 R 및 P로 표시된 회로의 포인드들에서의 신호를 도시한 도면으로서, 도 9의 회로가 어떠한 방식으로 이러한 펄스들을 생성하는지 이해를 돕기 위한 도면이다. 전술한 바와 같이, RPL 및 RPi 신호는 이러한 펄스들로부터 선택된다. 도시된 바와 같이, 예를 들어, 제1 RPL 펄스로 선택될 수 있는 펄스 A는 MC 펄스와 동시에 발생하며, MC 펄스에 의한 RPGen 펄스의 캡쳐 후 정확히 한 싸이클이다.
라이트 제어 신호들(WPL 및 WPi)과 관련하여, 도 9의 회로는, 메모리 장치들(10)에 데이터를 쓰고자 할 때 하이로 가는 라이트 생성 신호(Write generate signal: WPGen)가 회로의 입력이라는 점을 제외하면, 이러한 라이트 제어 신호들을 생성하는데도 이용될 수 있을 것이다. 나아가, 이러한 구현에서, 가능한 WPi 펄스 타이밍은 상술한 (A, C, E,...)에서 RPL과 관련한 펄스 타이밍과 일치하고, WPL 타이밍은 상술한 (B, D, ...)에서 RPi와 관련한 펄스 타이밍과 일치한다. 일반적으로 하나의 WPL 펄스만이 있고 WPi가 WPL 전에 발생하는 것이 바람직하므로, B에 대한 WPL 선택은 이와 관련된 WPi로 A라는 하나의 선택만이 남게 되며, D에 대한 WPL 선택은 A 또는 C 등과 같은 두 개의 선택만이 남게 된다. 더 많은 선택이 이루어지려면 더 긴 시프트 레지스터 체인이 요구된다.
도 9의 회로는 마이크로 프로세서(20), 포탈(11) 또는 연결 회로(17)와 관련된 별도의 제어 회로에 포함될 수 있을 것이다. 이는 도 5 내지 도 8에 도시된 것과 같이 제어 신호를 생성하는 회로에 대한 일례에 불과하며, 본 발명의 기술 분야에 대한 당업자라면, 이러한 신호들을 생성하기 위해, 다른 많은 회로들을 사용하거나 이 회로에 대한 다양한 변형이 있을 수 있다는 것을 알 수 있을 것이다.
도 11은 제공된 시스템 및 방법에 따른 RPx 및 WPx를 생성하는데 사용될 수 있는 회로의 다른 예를 도시한 도면이다. 이 회로는 도 2에 도시된 제어 신호 생성 회로(15)에 사용될 수 있을 것이다. 도시된 바와 같이, 이 회로는 도 9의 회로의 전단부와 동일한 전단부(201)를 포함하고 있다. 전단부(201)에서의 출력은 본 예에서 A부터 P까지의 펄스 신호들을 생성하는 루프(Loop, 203)로 입력된다.
도 9에서, 바람직하게는, RPGen(또는 WPGen)은 메모리가 새로운 출력 데이터를 제공할 때마다 외부 소스들로부터의 회로에 대한 입력이었다. 그러나, 순차적인 방식으로 메모리의 많은 출력 바이트들을 액세스하는 것이 요구될 수 있다. 도 11에 도시된 예시 회로에서, 회로(15)는, RPGen 요구 펄스를 수신할 때, 각각의 메모리 출력 싸이클마다 계속적으로 새로운 RPx(WPx) 펄스들을 생성한다. 전 주기 펄스가 도 9에서와 같은 방식으로 생성되며, 그러나, 이 펄스는 종료 신호가 루프(201)에 인가될 때까지 회로에 대해 루프를 돌며, 리드 또는 라이트 동작이 종료하였다는 것을 알려주기 위해, RPGen 신호를 제공하는 소스와 같은 외부 소스로부터 종료 신호가 회로에 수신된다.
이 회로에서, M*8 비트가 8 클럭 사이클마다 메모리로부터 로드되어 시프트 레지스터 체인(들)(12)에 제공되며, 메모리 장치(들)로부터 새로운 데이터 집합이 로드되어 시프트 레지스터 체인들에 제공되기 전에 시프트 레지스터 체인들로부터 직렬적으로 클럭킹된다는 점이 가정된다. 예를 들어, 다시 도 2를 참조하면, 메모리 장치들(10-1, 10-2)로부터 8비트의 데이터가 각각 로드되는 두 개의 8비트 병렬 시프트 레지스터 체인(12-1, 12-2)이 있다. 다른 실시예에 따르면, 메모리 장치들로부터 데이터가 로드되는 각각의 체인에서의 시프트 레지스터의 개수는 더 클 수 있으며, 루프는 단지 더 길어진다.
노드(205)에서의 루프 폐쇄, NOR 게이트들(170, 172) 사이의 부가적인 전 스테이지 시프트 레지스터(전송 게이트들(254, 256) 및 인버터들(258, 260)을 포함함) 및 두 개의 순차적인 NOR 게이트들(172, 174)을 제외하면, 회로의 동작은 도 9와 동일하다. 전송 게이트들(254, 256)을 포함하는 부가적인 시프트 레지스터 스테이지는 파이프라인(pipeline) 차단(interruption)을 생성하며, 시프트 레지스터 스테이지가 없으면, 4개의 능동 로직 게이트열과 관련한 부가적인 지연이 있을 것이다. 요구되는 것은 아니지만, 이러한 시프트 레지스터는 시프트 레지스터 루프를 통해 돌고 있는 전 구간 펄스에 대해 더욱 확실한 파형을 제공한다. NOR 게이트(172) 하나의 입력은 부가적인 시프트 레지스터로부터 받으며, 다른 하나의 입력은 루프를 종료하는 루프백 신호로부터 받는다. NOR 게이트(174)는 종료 신호가 모든 루프 사이클에 대해 하이로 유지될 때 전 사이클 펄스의 순환을 중지하는 외부의 종료 신호 및 NOR 게이트(172)로부터 입력을 받는다. RPGen(WPGen) 신호의 반전이 종료 신호를 제공하는 간편한 방법이다. 즉, RPGen은 타이밍 펄스가 계속되어야 하는 전 구간에 하이로 유지될 수 있으며, 이에 대한 NG(negative-going) 반전이, RPGen 신호가 다시 하이로 갈 때까지, 계속적으로 인가되는 종료 신호로 동작한다.
SelA, SelB 등과 같은 NAND 게이트들(252 ~ 258)로의 입력은, 바람직하게는, 파워 공급 버스들로의 하드웨어 타이(tie)들에 의해 활성화되거나 적절한 RPX's 및 RPx's를 선택하는 소프트웨어 입력에 의해 선택된다. 이와 같은 선택은 관련 메모리 장치들의 알려진 특성 또는 후에 설명될 조정(calibration) 테스트에 의해 결정된다. 이러한 펄스들의 타이밍을 선택하고 수정하는 능력은 본 디자인 구조에 다양성을 부가한다.
다음에는 전술한 방법 및 시스템을 이용하여 달성 가능한 대역폭 성능이 일반적으로 설명된다. 후술하는 사항은 DRAM을 참조하여 설명된다. 그러나, 어떠한 종류의 메모리 장치에 대해서도 유사한 결과가 달성될 수 있을 것이다.
종래의 시스템에서, DRAM으로부터의 데이터 비트들은 DRAM 캐시에서 읽혀지며, 마이크로 프로세서에 전달하기 위해, 바로 폭 B를 가진 버스에 전달된다-여기서 B는 DRAM(다중 DRAM들이 동시에 사용되는 경우에는 복수의 DRAM)의 데이터 입/출력 핀들의 개수와 동일하다-. 이와 같은 시스템에서, 이러한 캐시에서의 모든 처리량은 B/tcycle보다 클 수 없다-여기서 tcycle은 DRAM의 사이클 시간임-. 만약 DRAM이 동기 DRAM(즉, SDRAM)이 아닌 경우, tcycle은 칩들, 노화정도, 온도, 공급 전압과 같은 변수들의 차이에 따라 변화될 수 있다.
따라서, B-폭 버스의 각각의 선은 tcycle의 유지 시간을 가진다. 다시 말해, B 폭 버스의 각각의 선은 1/tcycle의 주기를 가지며 초당 1/tcycle의 처리량을 가진다. (B)의 모든 선들이 합쳐진다면, B를 증가시킴으로써 처리량이 증가할 수도 있겠으나, 각 독립적인 선의 처리량 또는 각 선의 주파수 성능은 1/tcycle이 한계로 남아있게 된다. 바람직하게는, 시프트 레지스터 어레이는 각 선의 처리량이 조합된 기술의 최고 한계치와 동일하도록 하며, 더 적은 수의 선으로 동일한 최종 처리량을 제공한다.
1/tcycle이 20nsec로 가정되고, 각각 8개의 입/출력 핀을 가진 DRAM이 종래의 시스템에 사용되는 경우, 마이크로 프로세서로의 최대 처리량은 800Mbit/sec(16/20ns)이다. 그러나, 각각의 16개의 펄스는 단지 1/tcycle주파수에서 동작하고 있으며, 이 경우 50MHz가 될 것이다.
도 2에 도시된 시스템에서, 8비트의 DRAM이 각각 두 개의 병렬 시프트 레지스터 체인에 연결되어 있고, 마스터 및 슬레이브 클럭 신호가 하나의 시프트 레지스터(16)에서 다음 시프트 레지스터로 비트를 이동시킨다. 따라서, 메모리 장치(10)로부터 데이터를 읽어 시프트 레지스터 체인(12)에 제공할 때, RPL 신호는 DRAM에 대해 1/tcycle와 동기되는 것이 바람직하다. 즉, RPL 신호들간의 간격은 최소한 1/tcycle의 가장 긴 보증 시간과 동일한 것이 바람직하다. 따라서, DRAM들이 시프트 레지스터에 새로운 데이터를 로드하기 전에 DRAM들로부터 시프트 레지스터로 모든 데이터를 기록하기에 충분한 클럭 싸이클이 되도록, 마스터 클럭 신호(MC)의 주파수는 (B/M)/tcycle을 넘지 않는 것이 바람직하다-여기서 B는 DRAM의 입/출력 핀들의 수이고, M은 시프트 레지스터 체인(12)의 수이다-.
도 2의 시스템에서, B는 16이고(두개의 8비트 DRAM), M은 2이다(두개의 병렬 시프트 레지스터 체인). 따라서, 예를 들어, 1/tcycle이 20nsec인 경우라면, 마스터 클럭 신호의 주파수는 400MHz(16/2/20ns)를 넘지 않는 것이 바람직하다. 나아가, 이 시스템에서, 마이크로 프로세서는 여전히 초당 800Mbits를 수신하고 있으며, 그러나, 전술한 종래의 시스템에서 16개의 입/출력 핀을 사용하는 것과 달리 단지 마이크로 프로세서의 두 개의 입/출력 핀(각각은 400MHz로 동작함)을 이용한다.
따라서, 도 2의 시스템에서, DRAM으로부터의 16비트의 정보는 마이크로 프로세서에 20nsec마다 제공될 수 있다. 또한, 마이크로 프로세서는 데이터 수신을 위해 단지 2개의 입/출력 핀만을 이용한다. 아울러, 마이크로 프로세서의 각각의 입/출력 핀은 400MHz의 주파수로 데이터를 수신하고 있다.
따라서, 필요한 마이크로 프로세서의 입/출력 핀수가 줄어들 수 있다. 또는, 만약 마이크로 프로세서 입/출력 핀의 수가 16으로 유지된다면, 16개의 독립된 시프트 레지스터 체인이 사용될 수 있으며, 그러면 같은 수의 선에 대해 마이크로 프로세서에 가용한 B의 값이 증가될 수 있다. 아울러, 각 시프트 레지스터 체인의 주파수는 단지 시프트 레지스터 체인이 연결되어 있는 DRAM의 수를 증가시킴으로써 증가될 수 있다.
예를 들어, 만약 각각 8비트의 16개의 DRAM에 연결된 16개의 시프트 레지스터 체인(M=16)이 있는 경우, 마스터 클럭 신호(MC)는 여전히 400MHz의 주파수를 가지는 것이 바람직하다(16DRAM*8bit each/16 시프트 레지스터 체인/20ns 액세스 시간). 그러나, 이러한 경우, 마이크로 프로세서는 6.4Gbit/sec의 데이터를 수신한다(각각의 16개의 데이터 입/출력 핀은 400MHz의 주파수에서 동작한다).
또한, 마이크로 프로세서가 초당 더 많은 데이터를 요구하는 경우, 이는 단지 DRAM의 숫자를 늘림으로써 달성될 수 있을 것이며, 이는 마스터 클럭 신호가 증가하도록 한다(tcycle은 20ns라고 가정). 예를 들어, 각각 8비트의 32개의 DRAM이 16개의 시프트 레지스터 체인과 사용된다면, 메모리는 마이크로 프로세서에 12.8Gbit/sec의 정보를 제공할 수 있을 것이며, 마이크로 프로세서의 입/출력 핀 각각의 데이터 클럭 속도는 800MHz에서 동작할 것이다.
다음에는 바람직한 최적화 관계를 결정하는 방법이 제공되며, Mn 어레이에서의 두 관계를 사용한다: 최대 메모리 처리량=C*W/tcycle=B/tcycle; 및 시프트 레지스터 처리량=(C*W)*fshift/n=(M*n)(fshift/n)=M*fshift,여기서 C는 동시에 액세스되는 칩의 수이고, W는 각각의 칩에 대한 출력 바이트의 폭, B=C*W는 동시에 액세스되는 비트들의 총 수, M은 시프트 레지스터들의 병렬 체인의 수, n은 각 체인에서의 시프트 레지스터들의 수, fshift는 시프트 레지스터들를 동작시키는 클럭 주파수(즉, 시프트 주파수)이며, tcycle은 메모리에 액세스하는 싸이클 시간이다. 다음에 기재되는 사항은 시스템을 최적화하는 하나의 방법이며, 다른 많은 방법 및 변수들이 시스템 디자인을 위해 사용될 수 있다는 것은 당업자에게 있어 자명할 것이다. 즉, 다음에 기재되는 바람직한 최적화 메카니즘이 본 발명을 특정 예에 한정해서 제한하는 것으로 해석되어서는 안될 것이다.
일 실시예에 따르면, 전술한 두 관계는 서로 동일하다. 이는 C/M=fshift*tcycle 의 관계를 생성하는데, 이는 이하에서 최적화 관계라고 표현된다. 각 체인의 길이, 즉 각 체인에서의 레지스터의 수는 n=C*W/M이다. 시프트 레지스터 어레이는 Mn 어레이라고 기재되어 있다. tcycle/W은 어떠한 특정 메모리에 대한 변수이며, 본 최적화 예를 위해, 이는 상수로 간주될 수 있으며, M, 또는 fshift의 값에 관계없이 이의 역수인 W/tcycle은 달성될 수 있는 최대 처리량이다. fshift는 메모리 장치의 기술 또는 메모리 장치의 입/출력전송 라인의 전송 특성과 관련한 최대값을 갖는다고 가정된다. 이는 C/M이 유일하게 유지되는 변수가 되도록 하며, C와 M은 선형적으로 서로 종속적인 관계에 있다. 즉, C가 두배가 되면, 이 예에 따른 최적화 관계에서는 M 역시도 두배가 되어야 한다.
전술한 방법 및 시스템에서 사용되는 메모리 장치는 동기 메모리 장치인 것이 바람직하다. 그러나, 이러한 방법들 및 시스템은 비동기 메모리 장치에서도 적용될 수 있을 것이다. 예를 들어, tcycle은 비동기 DRAM에서 현저하게 변할 수 있다. 만약 외부 제어에 의해 비동기 DRAM이 동기화가 되지 않는다면, 출력은 DRAM으로부터의 데이터를 시프트 레지스터에 로드하는데 필요한 동기 신호와 관련하여 변하게 될 것이다. 이는 시프트 레지스터로의 데이터를 두 번 읽는 결과가 될 수도 있으며, 시프트 레지스터에 의해 데이터가 전혀 읽혀지지 않는 결과가 될 수도 있다.
페이지 모드에서 동작할 때, 만약 비동기 DRAM이 액세스가 불가능한 내부 회로에 의해 워드 라인 주소들을 싸이클링하는 경우, 메모리 출력은 마스터 클럭과는 독립적인 비율로 변할 것이다. 이와 같은 메모리에 대해, 내부적으로 제어되는 페이지 모드를 허용해서는 안될 것이며, 제어되는 외부 주소 발생기에 의해 입력 주소를 싸이클링 하여야 할 것이다. 주소 인에이블(enable) 펄스가 어떠한 내부 페이지 클럭킹에 우선할 경우, 주소 인에이블 타이밍은 피드백에 의해 계속적으로 제어될 수 있다. 클럭 주기와 같게 RPL 타이밍이 점진적으로 증가하도록 변하는 계획된 조정(calibration) 테스트에 의해 샘플링을 위한 (대략적인) 중심 시간이 밝혀질 것이며, 이후의 펄스로 선택되는 것은 RPL 펄스(또는 동일한 WPL)이다. 도 9 및 도 11과 같은 회로는 RPL에 대한 새로운 타이밍 선택을 위해 소프트웨어 제어를 사용할 수 있다. 또한, 이 시스템의 동작 향상을 위해 DRAM에 대한 내부적인 수정이 가해질 수 있다.
도 12는 제공된 시스템 및 방법에 따른 다중 포탈(11)의 시프트 레지스터 체인이 직렬로 연결되어 더 긴 시프트 레지스터 체인을 형성하는 실시예를 도시한 도면이다. 도 12의 예에서, 포탈이 두 개의 메모리 장치(10-1, 10-2)와 연결되는 도 2의 예와는 달리, 각각의 포탈(11)은 단일 메모리 장치(10)에 연결된다. 그러나, 포탈들(11)은 어떠한 수의 메모리 장치들(10)에 연결되는 어떠한 수의 시프트 레지스터 체인(12)도 포함할 수 있을 것이다. 이후의 설명에 대한 이해를 돕기 위해, 각 포탈(11)의 시프트 레지스터 체인(12)은 시프트 레지스터 어레이(12)라고 표현될 것이며, 시프트 레지스터 어레이(12)가 상호 연결된 포탈들(11)을 포함하는 더 긴 시프트 레지스터 레인은 시프트 레지스터 체인(96-1, 96-2)이라고 표현될 것이다. 또한, 도 12는 메모리 장치가 DIMM인 경우에 대해 도시하고 있으나, 전술한 바와 같이, 메모리 장치(10)는 어떠한 타입의 메모리 장치도 될 수 있을 것이다.
나아가, 도 12는 처음의 N/2 메모리 장치들이 시프트 레지스터 어레이(96-1)의 제1 리드/라이트 체인에 연결되어 있고, 다음의 N/2 메모리 장치들이 시프트 레지스터 체인(96-2)의 제2 리드/라이트 체인에 연결되는 N 메모리 장치를 도시한다.
또한, 도 12의 예시적인 실시예에서, 각각의 포탈(11)은 하나의 리드/라이트 시프트 레지스터 어레이(12) 및 관련된 연결 회로(17)를 포함하며, 각각의 메모리 장치(10)는 연결 회로(17)를 경유하여 상응하는 포탈(11)의 시프트 레지스터 어레이(12)에 연결된다. 도면에는 도시되어 있지 않으나, 각각의 포탈(11)은 RPGen 및 WPGen 펄스 발생 회로 또한 포함할 수 있다. 포탈(11)은 데이터 포탈(D-portal) 또는 메모리 인터페이스 장치로 표현될 수도 있다. 각각의 시프트 레지스터 어레이(12)는 다른 어레이들과 직렬로 상호 연결된 Mn 어레이 내부의 복수의 시프트 레지스터들(16, 도 12에는 미도시)을 포함하는 것이 바람직하다. 따라서, 더 긴 리드/라이트 시프트 레지스터 체인(96-1, 96-2)이 M((N/2)n) 어레이로 보여질 수도 있으며, 여기서 M은 병렬 체인의 수(도 12의 경우에는 2)이고, N/2는 직렬로 연결된 시프트 레지스터 어레이(12)의 수이며, n은 각 시프트 레지스터 어레이(12)의 길이이다. 그러나, 하나의 메모리만이 읽혀질 때, 연관된 M((N/2)n) 어레이는, 일반적인 동작에서, M*n 시프트 레지스터 어레이로서의 기능을 하며, 위로 이동되는 데이터(upstream shifted data)는 능동 M*n 시프트 레지스터 어레이에 의해 덮여쓰여질 것이며, 아래로의 데이터(downstream data)는 새로운 리드 데이터가 도달하기 전에 이동될 것이다.
시프트 레지스터 어레이들(12-1 ~ (N/2))이 더 긴 체인(96-1)을 형성하기 위해 직렬로 연결되도록, 체인(96)에서 각 포탈(11)의 시프트 레지스터 어레이(12)는 다음 체인(960-1)에서의 다음 시프트 레지스터 어레이(12)에 연결되어 있다. 예를 들어, 체인(96-1)에 대해, 시프트 레지스터 어레이(12-1)는 시프트 레지스터 어레이(12-2)에 연결되고, 시프트 레지스터 어레이(12-2)는 차례대로 다음의 시프트 레지스터 어레이(12-3)에 연결되는 등 더 긴 리드/라이트 체인(96-1)이 형성된다. 따라서, 리드 데이터는 시프트 레지스터들의 체인 및 마지막 시프트 레지스터 어레이로부터(예를 들어, 12-N/2 또는 12-N) 예를 들어 마이크로 프로세서까지의 출력을 통해 클럭킹될 수 있다. 그러나, 도 12의 구현에 있어서, 데이터는 시프트 레지스터에서 도 12 내지 14에 기술된 실시예로부터의 복수의 임의의 출력 포트들 중 하나로 데이터를 스위칭하는 선별기(selector, 94)로 클럭킹된다. 예를 들어, 도 12 내지 14의 실시예에서, 출력 포트들은 광 섬유 케이블(A 또는 B)이며, 다른 예로, 출력 포트들은 라우팅 채널, 스위칭 구조(fabrics) 또는 시스템 디자이너에 의해 요구되는 다른 적절한 구성 요소일 수 있다. 선별기(94)는 라우팅을 결정하는 분리된 선택 주소들에 의해 제어된다.
도 12에 도시된 구조는, m 시프트 레지스터 체인 각각에 대해 더 긴 넷(net) 체인을 생성하는 D-포탈의 연결을 이용하여, 약간의 한계를 나타내고 약간의 동작 다양성을 부가한다. 각각의 D-포탈(11)이 관련 메모리(10)에 상응하여 최적화되었다면, fshift, M, 및 n 값으로 특정한 하드웨어 값을 가질 것이다. M은 다른 변수들이 고정되었을 때 라인당 처리량을 최대화하는 최적화된 M일 것이다. 이는 대부분의 액세스가 한번에 단일 메모리(10)에 대해 이루어질 때의 설계상의 선택 사항이다. 만일 주변 메모리(10) 및 이와 관련하여 연결된 D-포탈(11)이 동시에 액세스될 경우, 연결된 시프트 레지스터 어레이 어딘가에서 원하지 않는 덮어쓰기를 방지하려면, D-포탈이 새로운 데이터를 읽어 그의 시프트 레지스터에 제공하기 전에, 각각의 D-포탈(11)은2*n 클럭 시프트를 기다려야 한다. 각각의 선에 대한 처리량은 영향을 받지 않으며, 따라서, 두 메모리의 총 처리량은 하나인 경우와 동일하나, 각각의 메모리의 싸이클 타임은 두 배가 되어야 한다. 그러나, 응용 및 다른 공학적 고려를 위해, 두 개에 메모리 액세스에 대한 유연성 및 이들의 출력을 하나의 단일 스트림에 삽입하는 것이 요구될 것이다. 한 번에 하나의 메모리만에 대한 액세스를 지원하는 최적화는 입/출력 트래픽이 도 12에서 두 개인 포트의 수에 의해 제한을 받을 때 수용 가능하고 바람직하다. 그러나, 멀티플렉스(multiplex), 즉, 각각의 메모리 장치(10)로부터의 출력 바이트들인 W를 삽입하는 것이 요구되는 경우, 모든 N/2 메모리 장치들(10)에 동시에 액세스하는 것이 가능할 것이다. 이전에 사용된 같은 표시 법을 이용하면, C는 N/2와 동일하게 되며, n은 n*N/2와 동일하게 된다. 도 12의 경우에 고정된 M이 C=1에 대한 처리량 비율을 최적화하기 위해 선택되었다면, 새로운 처리량 비율은 여전히 M*fshift와 동일하다. (최적화 관계는 C에 의해 M을 증가시켰을 것이며, C에 의한 처리량을 증가시켰을 것이다). 예를 들어, 이와 같은 다른 DIMM들로부터 출력 바이트들을 다중화(multiplexing)하는 다양성은 두 개의 파일로부터의 데이터 베이스를 비교하는데 사용될 수 있다. 만약 시스템에서 허용되고 멀티플렉스 인터리빙(interleaving)이 가능한 다중 메모리 장치(10) 어드레싱이 요구되는 경우, RPL 및 RPi 타이밍 루프는 각각의 포탈에 대해 더 길어야 하며, 타이밍 선택은 다중 동시 리드가 요구될 때마다 조절되어야 한다. 모든 메모리 장치들이 인터리브될 때 가장 긴 시간 주기를 도모하도록, 각각의 포탈에서 각각의 펄스 생성회로에 대한 도 11의 루프는 이제 (W/M)*N/2=n*(N/2) 클럭 싸이클이 될 것이다. C=N/2이고 N/2 RPL이 C=1로 선택되는 경우, 각각의 D-포탈에 대한 루프 내에서 선택된 하나의 RPL이 있을 것이다. N/2 종료 입력 위치는 단일 종료 입력보다 루프를 빠르게 셧-다운(shut down) 시키는데 이용된다.
또한, 도 12는 라이트 임시 포탈(write temporary portal: T-portal), 임시 저장 메모리 장치(84), 테스트 선택기(86), 스위치 라우터(88) 및 선택기들(90-1, 90-2)을 포함한다. 이러한 구성 요소들은 본 예시적인 실시예에 포함되며, 다른 실시예에서는 포함될 수도 있고 그렇지 않을 수도 있다. 라이트 임시 포탈(82)은 T-포탈로 표현되기도 하며, D-포탈(11)의 모든 구성 요소를 포함하는 전술한 바와 같은 시프트 레지스터 어레이인 것이 바람직하다. 임시 저장 메모리 장치(84)는 DRAM, SDRAM, SIMM, DIMM 등과 같은 어떠한 종류의 메모리 장치도 될 수 있다. 선택기들(86, 90-1, 90-2, 94)은 복수의 입력 신호들 중에서 선택하는 어떠한 타입의 선택기도 될 수 있다. 라이트 스위치(88)는 어떠한 타입의 스위치도 될 수 있으며, 또는 한 포트에서 다른 복수의 포트들 중 하나로 입력 트래픽을 전송하는 라우팅 선택기일 수 있다.
리드/라이트 연결 회로는 바람직하게는 도 4 내지 도 8에서 기술된 것과 같은 회로를 포함하는 것이 바람직하다. 또한, 도시되어 있지는 않으나, 제어 및 클럭 신호는 전술한 마스터 클럭(MC), 슬레이크 클럭(SC), 리드 로드 신호(RPL), 리드 패스 신호(RPi), 라이트 로드 신호(WPi) 및 라이트 패스 신호(WPi)를 제공하는 회로를 이용하여 도 12의 실시예에 제공될 수 있다. 예를 들어, 도 9 내지 도 11을 참조하여 설명한 회로가 제어 신호들을 생서하는데 사용될 수 있다. 메모리 장치(10)는 전술한 DRAM, SDRAM, SIMM, DIMM 등과 같은 어떠한 타입의 메모리 장치도 될 수 있다.
도 12의 실시예에 대한 라이트 동작이 이하에서 설명된다. 메모리 장치에 쓰여질 데이터는 우선 라이트 T-포탈(82)에서 도착한다. T-포탈(82)은 시프트 레지스터 어레이, 제어 회로 및 제어 펄스 생성 회로를 포함하고 있다는 점에서 D-포탈(11)과 상당히 유사하다. 이러한 데이터는 광섬유 케이블 또는 다른 높은 처리량을 가지는 선을 경유하여 제공될 수 있으며, 별도의 제어 회로(미도시)의 제어 하에 있다.
데이터가 쓰여질 메모리 장치(10)가 혼잡(busy) 상태인 경우, 또는 그렇지 않은 경우라도, 데이터는 임시 메모리 장치(84)에 쓰여질 수 있으며, 데이터는 메모리 장치(10)가 라이트 데이터를 받을 준비가 될 때가지 유지된다. 메모리 장치(10)가 라이트 데이터를 받을 준비가 되면, 데이터는 테스트 선택기(86)에 전달되는데, 이는 라이트 동작이므로, 테스트 선택기(86)는 라이트 데이터(WD)를 라이트 스위치(라우터)(88)에 전달하도록 설정되어 있다. 라이트 스위치(88)는 라이트 스위치(88)를 스위칭하는 선택 신호를 수신하며, 따라서 데이터는 메모리 장치(10)와 관련된 시프트 레지스터(96)의 적절한 체인으로 전송된다. 라이트 데이터는 시프트 레지스터의 체인에 기록되며, 데이터가 쓰여질 메모리 장치(10)에 상응하는 시프트 레지스터에 로드될 때까지 기록된다. 그 후, 데이터는 도 4 내지 도 8을 참조하여 설명된 것과 같은 방식으로 메모리에 쓰여진다.
도 12의 실시예에 대한 리드 동작이 이하에서 설명된다. 우선, 예를 들어, 목적지 주소와 같은 헤더 데이터가 적절한 리드 선택기(90-1 또는 90-2)에 제공된다. 목적지 주소는 도 12의 실시예와 데이터가 보내질 목적지 사이에 어떠한 스위치들도 데이터가 적절한 주소로 전송되도록 데이터를 스위칭하는데 사용할 수 있는 주소이다. 예를 들어, 목적지가 인터넷과 연결된 컴퓨터일 경우 목적지 주소는 IP 주소일 수 있다. 이와 달리, 전술한 본 출원과 동일자로 출원된 M. JAMES BULLEN, STEVEN L. DODD, DAVID J. HERBISON 및 WILLIAM T. LYNCH에 의한 “저장 시스템을 위한 방법 및 시스템”이라는 명칭의 미국 출원에 기재된 것과 같은 저장 허브와 같이 스위치들이 저장 허브에서 사용하는 내부 주소일 수도 있을 것이다.
구현에 있어서, 이전의 “목적지-관련(destination-related)” 데이터 이외의 데이터 또는 이에 부가된 데이터는 일례로 캐시 디스크 어레이(Cached Disk Array: CDA) 시스템과 같은 메모리 장치 이외의 소스들로부터 오며, 이러한 데이터는 선택기들(90-1 및/또는 90-2)를 이용하여 직렬로 어레이에 로드되고, 예를 들어 마이크로 프로세서에 전달된다. 만약, 예를 들어, 시스템이 마이크로 프로세서와의 직접적인 통신을 위한 것이라면, 직렬 입력이 필요 없으며, 리드 선택기들(90-1, 90-2)은 사용될 필요가 없다. 그러면, 데이터는 시프트 레지스터의 적절한 체인에 기록되고, 시프트 레지스터들을 통해 기록된다.
이후, 데이터는, 헤더 데이터(예를 들어, 목저지 주소)가 체인의 전단에 첨부되도록, 체인에서의 메모리 장치들(10)로부터 체인에서의 해당 시프트 레지스터 체인으로 로드된다.
데이터는 시프트 레지스터(96)의 체인을 통해 직렬로 기록되며, 선택기(94)에 전달된다. 선택기(94)는 데이터를 광 섬유 케이블 중 하나를 경유하여 전송하기 위해 제어 신호를 수신한다. 그 후, 선택기(94)는 적절한 광 섬유 케이블로의 데이터 스위칭을 수행한다. 도 1에 도시된 바와 같이 포탈(11)이 마이크로 프로세서에 직접 데이터를 전송하는 구현예에 따르면, 선택기(94)는 구비될 필요가 없다.
도 12의 실시예에 대한 테스트 동작이 이하에서 설명된다. 특정한 경우에, 알려진 데이터를 이용하여 시스템을 테스트하는 것이 바람직할 수 있다. 시스템을 테스트할 때, 선택기가 라이트 스위치(88)로 테스트 데이터의 전송을 시작하도록 하는 라이트/테스트 선택기(86)로 테스트 선택 신호가 전송되고, 그 후 시스템에 전달된다. 테스트 선택기(86)는 테스트 선택기(86)는 컨트롤러의 입력 핀(미도시), 다른 장치, 메모리 장치 또는 다른 저장 매체(미도시)를 경유하여 테스트 데이터를 수신할 수 있다. 제2 선택 리드(lead)선은 0의 집합(클리어 데이터)이 라이트 데이터 또는 테스트 데이터 대신 시프트 레지스터 어레이로 입력되도록 한다. 클리어 데이터는 초기화를 위해 알려진 상태가 되도록 레지스터를 리셋한다.
전체적인 동작을 테스트하기 위해, 이러한 테스트 데이터는 메모리 장치(10)에 쓰여지고 후에 읽혀질 수도 있다. 이와 같은 입력은 시스템의 가용성 및 성능을 테스트하는 자체 프로그램 테스트에 상당히 유용하다. 리드/라이트 체인 중 하나(96-1 또는 96-2)의 어느 하나 또는 모든 메모리 장치(10)에 라이트 데이터가 쓰여질 수 있다.
도 13은 제공된 방법 및 장치에 따른 메모리 장치(10)로부터 데이터를 읽기 위한 독립된 시프트 레지스터 체인 및 메모리 장치(10)에 데이터를 쓰기 위한 독립된 시프트 레지스터 체인(96)을 사용하는 실시예를 도시한다. 도시된 바와 같이, 도 13의 실시예는 라이트 임시 포탈(T-Portal)(82), 임시 저장 메모리 장치(84), 테스트 선택기(86), 리드 선택기(90-1, 90-2), 데이터 라이트를 위한 시프트 레지스터 어레이의 체인(96), 데이터 리드를 위한 하나 또는 그 이상의 시프트 레지스터 어레이의 체인(98-1, 98-2), 리드/라이트 제어 회로(17), 메모리 장치(10) 및 리드 선택기(94)를 포함한다. 도시되지는 않았으나, 각각의 포탈들은 RPGen 및 WPGen 펄스 생성 회로 또한 포함할 수 있다.
라이트 동작이 리드 동작보다 드문 경우에 어레이의 단일 라이트 체인이 유용하다. 하나의 메모리 장치만이 한 번에 쓰여지는 것이 바람직하다. 같은 데이터가 몇 개의 메모리 장치에 쓰여져야 하고 메모리 장치 어드레싱이 적절히 타이밍된다면, 몇 개의 메모리 장치가 한번에 쓰여질 수도 있다. 이는 도 4, 6, 7 디자인의 특징들 중 하나인데, 쓰여진 데이터가 제거되지 않고 규칙적인 시프팅된 데이터와 같이 어레이 아래로 유지되기 때문이다. 리드/라이트 어레이를 리드-전용(read-only) 및 라이트-전용(write-only) 메모리로 분할하는 것은 라이트 동작이 현재 읽혀지지 않는 어떠한 메모리 장치(10)에서 이루어지도록 하는 것을 가능하게 한다. 이는 리드에 우선권을 주며 라이트 동작이 이루어질 수 있는 많은 기회를 제공한다. 에를 들어, 메모리 장치(10-1)가 읽혀지고 있으면, 메모리 장치(10-2) 역시 읽혀질 수 없다, 그러나, 본 실시예에서, (출력이 다중화되지 않고, RPx 펄스들이 수정되지 않는다면), 메모리 장치(10-2)에 쓰기가 가능하다.
도 13의 실시예에 대한 라이트 동작이 이하에서 설명된다. 메모리 장치(10)에 쓰여질 데이터는 우선 라이트 임시 저장부(82)에 도착한다. 만일 데이터가 쓰여질 메모리 장치가 혼잡(busy)하거나, 그렇지 않은 경우일지라도, 데이터는 임시 저장 메모리 장치(84)에 쓰여질 수 있으며, 메모리 장치(10)가 데이터를 준비가 될 때까지 유지된다.
메모리 장치(10)가 데이터를 받을 준비가 되었을 때, 데이터는 테스트 선택기(86)에 전달되며, 라이트 동작이기 때문에, 테스트 선택기(86)는 라이트 데이터를 라이트 시프트 레지스터 체인(96)의 체인으로 전달하도록 설정되어 있다. 이후, 데이터는, 데이터가 쓰여질 메모리 장치(10)에 상응하는 시프트 레지스터 어레이에 로드되어 쓰여질 때까지, 시프트 레지스터 체인(96)을 통해 클럭킹된다. 그 후, 데이터는 도 4 내지 도 8에서 설명한 것과 같은 방식으로 메모리에 쓰여진다. 데이터가 적절한 메모리 장치(10)에서 적절한 위치에 쓰여지도록 하기 위해, 컨트롤러 또는 컨트롤러들(미도시)은 예를 들어 WPGen, 마스터 및 슬레이브 클럭 신호 등과 같은 제어 신호와 함께 데이터가 쓰여질 주소 정보를 메모리 장치에 제공한다.
도 12의 실시예에 대한 리드 동작이 이하에서 설명된다. 우선, 헤더 데이터(HD, 예를 들어, 목적지 주소)는 읽혀질 체인에 대한 리드 선택기(90)에 제공된다. 그 후, 헤더 데이터는 어레이의 체인(98) 및 선택기(94)로의 출력을 통해 클럭킹된다. 리드 데이터는 체인에서의 메모리 장치(10)로부터 이에 상응하는 시프트 레지스터 어레이(12)로 동기화되어 로드된다. 헤더 데이터가 직렬 데이터의 전단에 첨부되도록, 데이터는 시프트 레지스터 체인(96)을 통해 클럭킹되며 리드 선택기(94)에 전달된다. 리드 선택기(94)는 제어 신호를 수신하며, 수신한 제어 신호에 따라 헤더 데이터 및 리드 데이터가 선택기(94)의 적절한 출력으로 가도록 한다. 데이터는 광섬유 케이블 중 하나를 경유하여 선택기로부터 목적지로 전달된다. 도 1에 도시된 것과 같이 데이터가 마이크로 프로세서에 공급되는 구현예의 경우, 리드 체인 선택기(96)는 구비될 필요가 없을 것이다.
도 12의 실시예와 같이, 테스트 선택기(86)는 시스템 테스트를 위해 테스트 데이터를 메모리 장치들에 제공하는데 사용될 수 있다. 시스템 테스트를 위해, 테스트 데이터는 목적지 데이터 대신에 또는 이에 후속하여 90-1 및 90-2에 제공될 수 있을 것이다. 이와 같은 동작은 특정 목적지로의 라우팅 테스트 및 목적지에 의한 의사(pseudo) 데이터 수신에 유용하다.
도 14는 제공된 시스템 및 방법에 따른 라이트 시프트 레지스터 어레이(102)의 다중 체인 및 리드 시프트 레지스터 어레이(104)의 다중 체인을 사용하는 실시예의 최상위 레벨 다이어그램을 도시한 도면이다. 또한, 도 14의 실시예는 도 12의 라이트 선택기(88)와 유사한 기능을 하는 라이트 선택기(106)를 포함한다. 더욱 상세하게는, 라이트 선택기(106)는 라이트 선택기(106)가 적절한 라이트 시프트 레지스터 어레이 체인에 데이터를 스위칭하도록 하는 제어 신호를 수신한다. 전술한 실시예에서와 같이, 컨트롤러 또는 컨트롤러들(미도시)은, 데이터가 쓰여지고 읽혀질 메모리 장치, 메모리 장치(10)에서 데이터가 쓰여지거나 읽혀질 주소 및 특정한 구현을 위해 요구되는 다른 모든 제어 및 클럭 신호들을 결정하기 위해, 이러한 장치들에 신호를 제공한다. 두 개의 인접한 D-P 포탈들이 서로 직렬로 연결되도록 하는 수단을 포함시키는 것 역시 쉽게 가능할 것이다. 더 많은 선택기 회로를 이용하여, 어떠한 두 개의 D-P 포탈을 직렬로 결합하는 것도 가능할 것이다. 예를 들어, 이는 두 개의 파일로부터 데이터를 다중화하고, 두 개의 파일을 비교하고, (콘볼루션(convolution) 적분과 같은)특별한 수학 연산을 수행하기 위해 행해질 수 있다. 이는 의학적 스캔 자료, 지문, 보안 체크 등과 관련한 큰 데이터베이스의 검색에 도움을 줄 수 있다.
위에서 참조한 M. JAMES BULLEN, STEVEN L. DODD, DAVID J. HERBISON 및 WILLIAM T. LYNCH에 의한 “저장 시스템을 위한 방법 및 시스템”이라는 명칭의 미국 출원에 기재된 실시예에서 사용되는 데이터 포탈(D-portals)에 도 12 및 13의 실시예가 이용될 수 있다. 더욱 상세하게는, 도 12에서, 리드/라이트 제어 회로(17) 및 메모리 장치(10)에 상응하는 리드/라이트 시프트 레지스터 체인(12)의 조합(예를 들어, 리드/라이트 제어 회로(17-1) 및 메모리 장치(10-1)에 상응하는 리드/라이트 시프트 레지스터 체인(12-1))이 D-포탈로 이용될 수 있을 것이다. 또한, 도 13과 같이, 리드/라이트 제어 회로(17), 라이트 체인(96)의 라이트 시프트 레지스터 체인(12) 및 메모리 장치(10)에 상응하는 리드 체인(98)의 시프트 레지스터 어레이(12)의 조합(예를 들어, 라이트 체인(96)의 라이트 시프트 레지스터 어레이(12-1), 리드 체인(98-1)의 리드 시프트 레지스터 어레이(12-1), 메모리 장치(10-1)에 상응하는 리드/라이트 제어 회로(17-1))이 D-포탈로 이용될 수 있을 것이다. 마찬가지로, 도 14에서, 리드/라이트 제어 회로(17), 해당 라이트 시프트 레지스터 어레이(12) 및 메모리 장치(10)에 상응하는 해당 리드 시프트 레지스터 어레이(12)의 조합이 D-포탈로 이용될 수 있을 것이다.
전술한 바와 같이, 도 2의 포탈(11)은 제어 신호 발생기(15)를 포함할 수 있다. 도 15는 포탈(11)이 제어 신호 발생기(15)를 포함하는 도 2와 다른 실시예를 도시한다. 도 2 및 도 15의 포탈(11)은 단일 칩에 포함될 수 있다. 포탈(11)은 도 12 내지 14에 도시된 것과 같은 리드/라이트 결합 어레이 또는 독립된 리드 및 라이트 어레이를 포함할 수 있다.
도 16은 제공된 시스템 및 방법에 따른 단일 칩이 하나 또는 그 이상의 메모리 장치(10), 포탈(11) 및 제어 신호 발생기(15)를 포함하는 또 다른 실시예를 도시한다. 도시된 예에서, 메모리 장치(10) 및 포탈(11)은 칩(160)에 내장된다. 이와 같이, 칩(160)은, 포탈(11) 및 메모리 장치(10-1, 10-2)가 서로 독립된 칩인 실시예와는 반대로, 메모리 장치(10)로부터 데이터를 읽기 위해 두 개의 입/출력 핀만 가지면 된다. 독립된 칩을 사용하는 예에서, 16(B=C*W=M*n) 개의 핀이 포탈(11) 및 메모리 장치(10)를 연결하는데 사용되며, 두(M) 개의 부가적인 입/출력 핀이 리드 데이터를 포탈(11)로부터 전달하는데 사용된다. 따라서, 포탈(11)과 같은 칩에 메모리 장치(10)를 포함시킴으로써 입/출력 핀의 수를 줄일 수 있다. 이러한 디자인은, 예를 들어, 메모리 제조자 및 고객이 더 높은 가격으로 두 개의 칩을 가지는 것을 선호하는 경우에 유리하다. B 비트의 메모리 출력이 칩에 내장될 것이기 때문에, 메모리 출력 폭은 입/출력 핀 숫자에 의해 제한되지 않을 것이다. 사용자 응용 장치는 칩 내부의 아주 넓은 데이터 버스를 수용할 수 있는데, 이는 입력 포트의 수가 B에서 M으로 줄어들기 때문이다. M 리드선에서의 다중화된 입력은 완벽히 동기화되며, 칩(160)으로부터의 클럭 신호의 도움을 통해 B 선으로 선으로 역다중화될 수 있다.
본 발명의 바람직한 실시예 및 방법이 도시되고 설명되었으나, 당업자라면 본 발명의 방법에 대해 다양한 변형 및 수정이 가해질 수 있고, 본 발명의 진정한 범주를 벗어나지 않는 범위에서 균등한 구성 요수가 상술한 실시예의 구성 요소를 대체할 수 있다는 것을 이해할 수 있을 것이다.
나아가, 본 발명의 중심적인 범주를 벗어나지 않으면서 특정 구성 요소, 기술, 또는 구현을 채용하기 위해 많은 수정이 가해질 수 있다. 따라서, 실시예에 개시된 특정한 실시예 및 방법에 본 발명이 한정되어서는 안될 것이며, 본 발명은 첨부된 특허청구범위의 범주에 해당되는 모든 실시예를 포함한다.

Claims (54)

  1. 하나 또는 그 이상의 출력을 가지는 적어도 하나의 메모리 장치;
    시프트 레지스터들이 상호 직렬로 연결된 적어도 하나의 시프트 레지스터 집합-시프트 레지스터들 중 적어도 하나는 시프트 주파수를 가지는 클럭 신호를 수신하고, 상기 시프트 레지스터는 시프트 주파수에 따라 상기 시프트 레지스터에 로드된 데이터를 상기 시프트 레지스터집합의 시프트 레지스트들 중 다음 하나로 시프팅할 수 있음- ;를 포함하되,
    상기 메모리 장치의 하나 또는 그 이상의 출력으로부터의 데이터는 상기 시프트 레지스터 집합중 하나의 해당 시프트 레지스터에 로드되고, 로드된 데이터는, 시프트 레지스터가 어떠한 데이터의 로딩 중 시프트 주파수를 유지하도록, 클록 신호에 따라 상기 시프트 레지스터에서 상기 시프트 레지스터 집합의 시프트 레지스트들 중 다음 하나의 시프트 레지스터로 시프팅되는 장치.
  2. 제1항에 있어서,
    하나 또는 그 이상의 클럭 신호와 상관성이 있는 하나 또는 그 이상의 타이밍 펄스들의 집합에 응답하여 메모리 장치의 하나 또는 그 이상의 출력으로부터 해당 시프트 레지스터에 데이터를 로드하는 연결 회로를 포함하는 장치.
  3. 제1항에 있어서,
    상기 시프트 레지스터 집합의 개수는 시프트 주파수를 위해 선택된 주파수 및 시프트 레지스터 집합의 처리량이 하나 또는 그 이상의 메모리 장치로부터의 처리량과 상응한다는 요구 사항에 기초하여 결정되는 장치.
  4. 제3항에 있어서,
    상기 레지스터 집합의 개수는 시프트 주파수에 의해 분리된 하나 또는 그 이상의 메모리 장치로부터의 처리량에 상응하며, 상기 처리량은 하나 또는 그 이상의 메모리 장치의 출력 개수 및 메모리 장치의 싸이클 시간에 기초하여 결정되는 장치.
  5. 제1항에 있어서,
    상기 하나 또는 그 이상의 시프트 레지스터로부터의 데이터는 해당 메모리 장치의 출력을 경유하여 하나 또는 그 이상의 메모리 장치에 로드되며, 상기 시프트 레지스터는 데이터를 하나 또는 그 이상의 메모리 장치에 로드하는 동안 시프트 주파수를 유지하는 장치.
  6. 제1항에 있어서,
    메모리 장치로부터 시프트 레지스터로 데이터를 로드할 때 이용되는 하나 또는 그 이상의 가변 시간 샘플링 및 패스 펄스를 생성하는 타이밍 회로를 더 포함하며, 상기 샘플링 및 패스 펄스는 상기 장치에 의한 초기화 펄스의 수신에 기초하여 생성되는 장치.
  7. 제6항에 있어서,
    적어도 하나의 메모리 장치의 출력 및 내부에 시프트 레지스터 집합을 적어도 하나 포함하고 있는 시프트 레지스터들 사이의 복수의 연결 회로를 더 포함하고,
    상기 하나 또는 그 이상의 메모리 장치의 출력으로부터의 데이터는 하나 또는 그 이상의 샘플링 펄스를 이용하여 연결 회로들 중 상응하는 하나의 연결 회로로 전송되며, 상기 샘플링 펄스는 메모리 장치 출력으로부터의 데이터가 연결 회로로 전송되고 메모리 장치가 출력으로 새로운 데이터를 제공하는 동안 연결 회로에 의해 유지되도록 타이밍되며,
    상기 하나 또는 그 이상의 연결 회로로 전송된 데이터는 이후에 패스 펄스들을 이용하여 연결 회로로부터 전송되며,
    상기 패스 펄스는 데이터를 적어도 하나의 시프트 레지스터 집합에 분배하도록 타이밍되고, 시프트 레지스터는 데이터의 전송 및 시프팅 동안 시프트 주파수를 유지하는 장치.
  8. 제6항에 있어서,
    상기 하나 또는 그 이상의 연결 회로는 연결 회로로부터 적어도 하나의 시프트 레지스터 집합으로의 경로를 수정하는 선택기(selector)를 포함하는 장치.
  9. 제8항에 있어서,
    상기 경로는 암호화 계획에 기초하여 수정되는 장치.
  10. 제7항에 있어서,
    상기 타이밍 회로는 데이터를 메모리 장치로부터 전송하는 가변 타이밍을 가지는 복수의 샘플링 펄스를 생성하며, 전송된 데이터에 대한 정확성이 분석되고, 상기 분석은 이후의 샘플링 펄스에 대해 바람직한 타이밍을 선택하는데 이용되는 장치.
  11. 제6항에 있어서,
    상기 패스 펄스는 메모리로부터 하나 또는 그 이상의 시프트 레지스터 집합으로 전송된 데이터 및 상기 장치 외부의 데이터 사이의 동기화 조절에 기초하여 결정되는 장치.
  12. 제6항에 있어서,
    상기 타이밍 회로는 복수의 펄스를 생성하고,
    상기 타이밍 회로는 샘플링 및 패스 펄스로 선택된 펄스들을 수정하기 위해 선택이 바뀔 수 있도록, 하나 또는 그 이상의 샘플링 및 패스 펄스로 생성된 펄스들을 선택하는 복수의 선택기 게이트를 포함하는 장치.
  13. 제12항에 있어서,
    메모리 장치로부터 해당 시프트 레지스터로 로드된 데이터가, 데이터가 유효한 경우에 로드되도록 샘플링 펄스로 선택된 펄스들이 선택되도록 하기 위해 소프트웨어가 상기 선택기 게이트를 제어하는 장치.
  14. 제12항에 있어서,
    시프트 레지스터로 로드되는 데이터가 미리 설정된 기준에 기초하여 동기화되도록 패스 펄스로 선택된 펄스들이 선택되도록 하기 위해 소프트웨어가 상기 선택기 게이트를 제어하는 장치.
  15. 제13항에 있어서,
    상기 타이밍 회로는 초기화 펄스의 수신에 기초하여 복수의 로딩 동작에 이용되는 샘플링 및 패스 펄스를 생성하는 루프를 포함하는 장치-상기 로딩 동작은 메모리 장치로부터 시프트 레지스터로 데이터를 로딩하는 것을 포함함-.
  16. 제15항에 있어서,
    상기 타이밍 회로는 각각의 로딩 동작에 대한 복수의 펄스를 생성하며,
    상기 타이밍 회로는,
    샘플링 및 패스 펄스로 선택된 펄스들을 수정하기 위해 선택이 바뀔 수 있도록, 하나 또는 그 이상의 샘플링 및 패스 펄스로 생성된 펄스들을 선택하는 복수의 선택기 게이트를 포함하는 장치.
  17. 제16항에 있어서,
    메모리 장치로부터 해당 시프트 레지스터로 로드된 데이터가, 데이터가 유효한 경우에 로드되도록 샘플링 펄스로 선택된 펄스들이 선택되도록 하기 위해 소프트웨어가 상기 선택기 게이트를 제어하는 장치.
  18. 제16항에 있어서,
    시프트 레지스터로 로드되는 데이터가 미리 설정된 기준에 기초하여 동기화되도록 패스 펄스로 선택된 펄스들이 선택되도록 하기 위해 소프트웨어가 상기 선택기 게이트를 제어하는 장치.
  19. 제1항에 있어서,
    상기 시프트 레지스터 집합들 중 적어도 하나는 하나 또는 그 이상의 메모리 장치로부터 시프트 레지스터 집합에 데이터를 로딩하는 경우 및 시프트 레지스터 집합으로부터 하나 또는 그 이상의 메모리 장치에 데이터를 쓰는 경우 모두에 이용되는 장치.
  20. 제19항에 있어서,
    선택기로의 하나 또는 그 이상의 입력을 선택하고, 데이터가 시프트 레지스터 집합 중 하나로 로드되도록 하기 위해 선택된 입력에 도착하는 데이터를 출력하는 하나 또는 그 이상의 선택기를 더 포함하고, 상기 입력에 도착하는 데이터는 하나 또는 그 이상의 메모리 장치에 쓰여질 하나 또는 그 이상의 데이터 및 상기 장치의 테스트를 위한 테스트 데이터를 포함하는 장치.
  21. 제19항에 있어서,
    선택기로의 하나 또는 그 이상의 입력을 선택하고, 데이터가 시프트 레지스터 집합 중 하나로 로드되도록 하기 위해 선택된 입력에 도착하는 데이터를 출력하는 하나 또는 그 이상의 선택기를 더 포함하고, 상기 입력에 도착하는 데이터는 상기 하나 또는 그 이상의 메모리 장치로부터 시프트 레지스터에 로드된 데이터에 첨부될 하나 또는 그 이상의 데이터 및 상기 장치의 테스트를 위한 테스트 데이터를 포함하는 장치.
  22. 제1항에 있어서,
    하나의 시프트 레지스터 집합들 중 적어도 하나는 하나 또는 그 이상의 메모리 장치에 데이터를 쓰는데 이용되며, 상기 적어도 하나의 시프트 레지스터 집합은 메모리 장치로부터 상기 시프트 레지스터 집합에 데이터를 로드하는데 이용되며, 라이트를 위한 적어도 하나의 시프트 레지스터 집합은 로드를 위한 적어도 하나의 시프트 레지스터 집합과 분리되어 있는 장치.
  23. 제1항에 있어서,
    상기 적어도 하나의 메모리 장치 및 상기 시프트 레지스터 집합들 중 적어도 하나는 하나의 칩에 포함되는 장치.
  24. 제23항에 있어서,
    상기 칩은 다수의 입/출력 리드(lead)선을 포함하고, 출력 리드(lead)선의 수는 칩에 포함된 하나 또는 그 이상의 메모리 장치로부터의 출력의 수보다 작은 장치.
  25. 제23항에 있어서,
    적어도 하나의 메모리 장치의 출력 및 시프트 레지스터 집합들 중 적어도 하나의 시프트 레지스터들 사이에 있는 복수의 연결 회로를 더 포함하며,
    상기 복수의 연결 회로 중 적어도 하나는 상기 칩에 포함되는 장치.
  26. 제25항에 있어서,
    상기 칩은 다수의 입/출력 리드(lead)선을 포함하고, 출력 리드선의 수는 칩에 포함된 하나 또는 그 이상의 메모리 장치로부터의 출력의 수보다 적은 장치.
  27. 제25항에 있어서,
    상기 장치에 의한 펄스 수신에 기초하여 상기 장치가 하나 또는 그 이상의 메모리 장치로부터 데이터를 읽도록 지시하는 하나 또는 그 이상의 샘플링 펄스를 생성하는 타이밍 회로를 더 포함하되,
    상기 타이밍 회로는 상기 칩에 포함되는 장치.
  28. 제27항에 있어서,
    상기 칩은 다수의 입/출력 리드(lead)선을 포함하고, 출력 리드(lead)선의 수는 칩에 포함된 하나 또는 그 이상의 메모리 장치로부터의 출력의 수보다 작은 장치.
  29. 제1항에 있어서,
    상기 메모리 장치는 비휘발성 메모리 장치를 포함하는 장치.
  30. 제1항에 있어서,
    상기 메모리 장치는 자기 메모리 장치를 포함하는 장치.
  31. 제1항에 있어서,
    상기 시프트 레지스터는 적어도 하나의 클럭에 의해 동작하는 반도체 래치를 포함하는 장치.
  32. 제1항에 있어서,
    상기 시프트 레지스터는 적어도 하나의 클럭에 의해 동작되는 동적 전하 전달 스테이지를 포함하는 장치.
  33. 제1항에 있어서,
    상기 시프트 레지스터는 적어도 하나의 CCD(Charge Coupled Device) 스테이지를 포함하는 장치.
  34. 제1항에 있어서,
    상기 시프트 레지스터 집합 중 적어도 하나의 출력은 마이크로 프로세서에 연결되는 장치.
  35. 제1항에 있어서,
    상기 시프트 레지스터 집합 중 적어도 하나는 데이터가 클럭 신호 레이트에 기초하여 순환하도록 링을 형성하는 장치.
  36. 제1항에 있어서,
    상기 데이터는 하나 또는 그 이상의 메모리 장치로부터 하나 또는 그 이상의 시프트 레지스터 집합으로 동시에 로드될 수 있으며, 하나 또는 그 이상의 시프트 레지스터 집합으로부터 하나 또는 그 이상의 다른 메모리 장치로 동시에 로드될 수 있는 장치.
  37. 제6항에 있어서,
    출력을 가진 적어도 하나의 메모리 장치;
    시프트 레지스터들이 상호 직렬로 연결된 적어도 하나의 제1 시프트 레지스터 집합 및 시프트 레지스터들이 상호 직렬로 연결된 적어도 하나의 제2 시프트 레지스터 집합;
    적어도 하나의 메모리 장치의 출력 중 하나를 상기 제1 또는 제2 시프트 레지스터 집합의 시프트 레지스터에 연결하는 복수의 커넥터들;
    상기 메모리 장치의 적어도 하나의 출력으로부터의 데이터는 복수의 커넥터를 경유하여 상기 제1 또는 제2 시프트 레지스터 집합의 해당 시프트 레지스터에 로드되며,
    상기 제1 시프트 레지스터 집합에 로드된 데이터는 클럭 신호에 따라 상기 제1 시프트 레지스터 집합의 시프트 레지스터들 중 하나에서 상기 제1 시프트 레지스터 집합의 시프트 레지스터들 중 다음 하나로 시프팅되며,
    상기 제2 시프트 레지스터 집합에 로드된 데이터는 상기 클럭 신호에 따라 상기 제2 시프트 레지스터 집합의 시프트 레지스터들 중 하나에서 상기 제2 시프트 레지스터 집합의 시프트 레지스터들 중 다음 하나로 시프팅되는 장치.
  38. 시프트 주파수를 가지는 클럭 신호에 기초하여 시프트 레지스터들이 상호 직렬로 연결된 시프트 레지스터 집합의 하나 또는 그 이상의 시프트 레지스터에서 상기 시프트 레지스터 집합의 시프트 레지스터들 중 다음 하나로 데이터를 시프팅하는 단계;
    적어도 하나의 메모리 장치로부터 상기 시프트 레지스터 집합의 해당 시프트 레지스터에 데이터를 로드하는 단계; 및
    상기 클럭 신호에 따라 하나 또는 그 이상의 시프트 레지스터에 로드된 데이터를 상기 시프트 레지스터 집합의 다음 시프트 레지스터들 중 다음 하나로 시프팅하는 단계를 포함하되,
    상기 시프트 레지스터는 메모리 장치로부터 시프트 레지스터에 데이터를 로드하는 동안 시프트 주파수를 유지하는 방법.
  39. 제38항에 있어서,
    상기 클럭 신호에 따라 하나 또는 그 이상의 시프트 레지스터에 로드된 데이터를 상기 시프트 레지스터 집합의 다음 시프트 레지스터들 중 다음 하나로 시프팅하는 단계는 하나 또는 그 이상의 클럭 신호 펄스와 상관성이 있는 타이밍 펄스를 이용하는 단계를 포함하는 방법.
  40. 제38항에 있어서,
    상기 시프트 레지스터 집합의 개수는 시프트 주파수를 위해 선택된 주파수 및 시프트 레지스터 집합의 처리량이 하나 또는 그 이상의 메모리 장치로부터의 처리량과 상응한다는 요구 사항에 기초하여 결정되는 방법.
  41. 제38항에 있어서,
    상기 하나 또는 그 이상의 시프트 레지스터로부터의 데이터를 해당 메모리 장치의 출력을 경유하여 하나 또는 그 이상의 메모리 장치에 로드하는 단계를 더 포함하되, 상기 시프트 레지스터는 데이터를 하나 또는 그 이상의 메모리 장치에 로드하는 동안 시프트 주파수를 유지하는 방법.
  42. 제38항에 있어서,
    초기화 펄스를 수신하는 단계;
    상기 초기화 펄스의 수신에 응답하여 하나 또는 그 이상의 가변 시간 샘플링 및 패스 펄스를 생성하는 단계를 더 포함하되,
    상기 메모리 장치로부터 시프트 레지스터로의 데이터 로딩은 상기 생성된 샘플링 및 패스 펄스를 이용하는 방법.
  43. 제42항에 있어서,
    상기 메모리 장치의 하나 또는 그 이상의 출력으로부터의 데이터를 하나 또는 그 이상의 샘플링 펄스를 이용하여 전송하는 단계;
    메모리 장치가 출력으로 새로운 데이터를 제공할 때, 메모리 장치로부터의 데이터를 래치(latch)하는 단계; 및
    래치된 데이터를, 데이터가 시프트 레지스터 집합에 분산되도록, 제2 타이밍 펄스 집합을 이용하여 전송하는 단계를 더 포함하는 방법.
  44. 제43항에 있어서,
    래치된 데이터를 시프트 레지스터 집합에 분산하기 위해 경로를 수정하는 단계를 더 포함하는 방법.
  45. 제44항에 있어서,
    상기 경로는 암호화 계획에 기초하여 수정되는 방법.
  46. 제43항에 있어서,
    알려진 데이터를 메모리 장치로부터 전송하기 위한 가변 타이밍을 가지는 복수의 샘플링 펄스를 생성하는 단계;
    전송된 데이터에 대한 정확성을 분석하는 단계; 및
    상기 분석에 기초하여 이후의 샘플링 펄스에 대해 바람직한 타이밍을 선택하는 단계를 더 포함하는 방법.
  47. 제42항에 있어서,
    상기 패스 펄스는 메모리로부터 하나 또는 그 이상의 시프트 레지스터 집합으로 전송된 데이터 및 상기 장치 외부의 데이터 사이의 동기화 조절에 기초하여 생성되는 방법.
  48. 제38항에 있어서,
    시프트 레지스터 집합으로부터 하나 또는 그 이상의 메모리 장치에 데이터를 쓰는 단계를 더 포함하는 방법.
  49. 제38항에 있어서,
    하나 또는 그 이상의 시프트 레지스터들의 라이트 시프트 레지스터 집합의 적어도 하나의 시프트 레지스터로부터 하나 또는 그 이상의 메모리 장치에 데이터를 쓰는 단계를 더 포함하되,
    상기 라이트 시프트 레지스터 집합은 로딩을 위한 시프트 레지스터 집합과 떨어져있는 방법.
  50. 제38항에 있어서,
    상기 적어도 하나의 메모리 장치로부터 상기 시프트 레지스터에 데이터를 로드하는 단계는 이전에 시프트 레지스터에 시프팅된 어떠한 데이터를 덮어쓰는 단계를 포함하는 방법.
  51. 시프트 주파수를 가지는 클럭 신호에 기초하여 시프트 레지스터들이 상호 직렬로 연결된 제1 시프트 레지스터 집합의 데이터를 시프트 레지스터에서 상기 제1 시프트 레지스터 집합의 시프트 레지스터들 중 다음 하나의 시프트 레지스터로 시프팅하는 단계;
    상기 시프트 주파수로, 시프트 레지스터들이 상호 직렬로 연결된 제2 시프트 레지스터 집합의 데이터를 시프트 레지스터에서 상기 제2 시프트 레지스터 집합의 시프트 레지스터들 중 다음 하나의 시프트 레지스터로 시프팅하는 단계;
    적어도 하나의 메모리 장치 출력으로부터 상기 제1 시프트 레지스터 집합의 해당 시프트 레지스터로 데이터를 로드하는 단계;
    적어도 하나의 메모리 장치 출력으로부터 상기 제2 시프트 레지스터 집합의 해당 시프트 레지스터로 데이터를 로드하는 단계;
    상기 시프트 주파수에 따라 상기 제1 시프트 레지스터 집합의 시프트 레지스터에 로드된 데이터를 상기 제1 시프트 레지스터 집합의 시프트 레지스터들 중 하나의 다음 시프트 레지스터로 시프팅하는 단계;
    상기 시프트 주파수에 따라 상기 제2 시프트 레지스터 집합의 시프트 레지스터에 로드된 데이터를 상기 제2 시프트 레지스터 집합의 시프트 레지스터들 중 하나의 다음 시프트 레지스터로 시프팅하는 단계를 포함하는 방법.
  52. 적어도 하나의 데이터 전송 수단을 포함하는 적어도 하나의 데이터 저장 수단;
    복수의 데이터 시프팅 수단을 포함하는 적어도 하나의 시프팅 수단 집합-상기 시프팅 수단은 시프트 주파수를 가지는 클럭 주파수를 수신하고, 상기 각각의 시프팅 수단은 데이터가 적어도 하나의 시프팅 수단으로부터 다음 하나의 시프팅 수단으로 시프팅 될 수 있도록 서로 직렬로 연결되어 있음-;
    상기 시프팅 수단이 데이터 로딩 중 이의 주파수를 유지하도록 상기 데이터 저장 수단으로부터 해당 시프팅 수단에 데이터를 로드하는 데이터 로드 수단을 포함하는 장치.
  53. 제52항에 있어서,
    상기 로딩 수단은,
    상기 저장 수단으로부터 데이터를 래치하는 복수의 래치 수단;
    하나 또는 그 이상의 샘플링 펄스를 이용하여 데이터를 상기 복수의 래치 수단 중 하나의 해당 래치 수단으로 전송하는 수단-상기 샘플링 펄스는 상기 저장 수단의 전송 수단으로부터의 데이터가 상기 래칭 수단으로 전송되어 상기 저장 수단이 새로운 데이터를 상기 전송 수단에 제공하는 동안 상기 래칭 수단에 의해 래치되도록 타이밍됨-;
    하나 또는 그 이상의 패스 펄스를 이용하여 래칭 수단으로부터의 데이터를 전송하는 수단-상기 패스 펄스는 데이터를 적어도 하나의 시프팅 수단에 분배하도록 타이밍되며, 클럭 신호는 데이터의 전송 및 시프팅 수단 집합의 하나의 시프팅 수단에서 다음 시프팅 수단으로의 데이터 시프팅 클럭 주파수를 유지함-;을 포함하는 장치.
  54. 시프트 주파수를 가지는 클럭 신호에 기초하여, 시프트 레지스터들이 상호 직렬로 연결된 시프트 레지스터 집합에서의 하나 또는 그 이상의 시프트 레지스터의 데이터를 상기 시프트 레지스터 집합의 시프트 레지스터들 중 다음 하나의 시프트 레지스터로 시프팅하는 단계;
    하나 또는 그 이상의 시프트 레지스터로부터 메모리 장치에 데이터를 로드하는 단계; 및
    데이터가 메모리 장치에 로드된 후 상기 시프트 주파수에 따라 하나 또는 그 이상의 시프트 레지스터로부터 로드된 데이터를 상기 시프트 레지스터 집합의 시프트 레지스터들 중 하나의 다음 시프트 레지스터로 시프팅하는 단계를 포함하되,
    상기 시프트 레지스터는 데이터의 로딩 중 시프트 주파수를 유지하는 방법.
KR1020057007535A 2002-10-31 2003-10-23 향상된 메모리 액세스 방법 및 장치 KR100994393B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/284,198 US6879526B2 (en) 2002-10-31 2002-10-31 Methods and apparatus for improved memory access
US10/284,198 2002-10-31

Publications (2)

Publication Number Publication Date
KR20050062781A true KR20050062781A (ko) 2005-06-27
KR100994393B1 KR100994393B1 (ko) 2010-11-16

Family

ID=32174817

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057007535A KR100994393B1 (ko) 2002-10-31 2003-10-23 향상된 메모리 액세스 방법 및 장치

Country Status (8)

Country Link
US (3) US6879526B2 (ko)
EP (1) EP1576445B1 (ko)
JP (1) JP2006505066A (ko)
KR (1) KR100994393B1 (ko)
AT (1) ATE472802T1 (ko)
AU (1) AU2003301774A1 (ko)
DE (1) DE60333227D1 (ko)
WO (1) WO2004042506A2 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996705B2 (en) 2000-04-17 2015-03-31 Circadence Corporation Optimization of enhanced network links
US8898340B2 (en) 2000-04-17 2014-11-25 Circadence Corporation Dynamic network link acceleration for network including wireless communication devices
US8510468B2 (en) 2000-04-17 2013-08-13 Ciradence Corporation Route aware network link acceleration
US8195823B2 (en) 2000-04-17 2012-06-05 Circadence Corporation Dynamic network link acceleration
US8065399B2 (en) 2000-04-17 2011-11-22 Circadence Corporation Automated network infrastructure test and diagnostic system and method therefor
US20110128972A1 (en) 2000-04-17 2011-06-02 Randy Thornton Peer to peer dynamic network link acceleration
US20020002611A1 (en) 2000-04-17 2002-01-03 Mark Vange System and method for shifting functionality between multiple web servers
US8024481B2 (en) * 2000-04-17 2011-09-20 Circadence Corporation System and method for reducing traffic and congestion on distributed interactive simulation networks
US6879526B2 (en) * 2002-10-31 2005-04-12 Ring Technology Enterprises Llc Methods and apparatus for improved memory access
US7197662B2 (en) * 2002-10-31 2007-03-27 Ring Technology Enterprises, Llc Methods and systems for a storage system
US7707351B2 (en) * 2002-10-31 2010-04-27 Ring Technology Enterprises Of Texas, Llc Methods and systems for an identifier-based memory section
ATE557349T1 (de) 2002-10-31 2012-05-15 Parallel Iron Llc Speichersystem und verfahren für ein speichersystem
US7415565B2 (en) * 2002-10-31 2008-08-19 Ring Technology Enterprises, Llc Methods and systems for a storage system with a program-controlled switch for routing data
JP4610235B2 (ja) * 2004-06-07 2011-01-12 ルネサスエレクトロニクス株式会社 階層型モジュール
US7574638B2 (en) * 2005-02-03 2009-08-11 Samsung Electronics Co., Ltd. Semiconductor device tested using minimum pins and methods of testing the same
US7793059B2 (en) * 2006-01-18 2010-09-07 Apple Inc. Interleaving policies for flash memory
US8418013B2 (en) * 2006-01-25 2013-04-09 Deere & Company Method of using virtual inputs and outputs to automate testing of application software and hardware
US7843846B1 (en) * 2006-09-18 2010-11-30 Qlogic, Corporation Method and system for processing network information
US8949555B1 (en) 2007-08-30 2015-02-03 Virident Systems, Inc. Methods for sustained read and write performance with non-volatile memory
US9921896B2 (en) 2007-08-30 2018-03-20 Virident Systems, Llc Shutdowns and data recovery to avoid read errors weak pages in a non-volatile memory system
US8856464B2 (en) * 2008-02-12 2014-10-07 Virident Systems, Inc. Systems for two-dimensional main memory including memory modules with read-writeable non-volatile memory devices
KR101069672B1 (ko) * 2009-04-20 2011-10-04 주식회사 하이닉스반도체 반도체 메모리 장치의 어드레스 제어회로
US9543956B2 (en) 2011-05-09 2017-01-10 Intel Corporation Systems and methods for configuring an SOPC without a need to use an external memory
US8547778B2 (en) * 2011-10-04 2013-10-01 Oracle International Corporation Apparatus and method for converting static memory address to memory address pulse
KR102044827B1 (ko) 2012-10-17 2019-11-15 삼성전자주식회사 데이터 로딩 회로 및 이를 포함하는 반도체 메모리 장치
US9651618B2 (en) * 2013-01-09 2017-05-16 Nxp Usa, Inc. Electronic device and method for state retention
JP2014179141A (ja) * 2013-03-14 2014-09-25 Toshiba Corp 半導体記憶装置
US9647694B2 (en) 2014-12-28 2017-05-09 International Business Machines Corporation Diagonal anti-diagonal memory structure
US11107308B2 (en) * 2018-02-02 2021-08-31 Denso International America, Inc. Automated hardware-in-the-loop tester for automotive electronic control units

Family Cites Families (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3713096A (en) * 1971-03-31 1973-01-23 Ibm Shift register interconnection of data processing system
US3748647A (en) * 1971-06-30 1973-07-24 Ibm Toroidal interconnection system
US3735362A (en) * 1971-09-22 1973-05-22 Ibm Shift register interconnection system
US3812476A (en) * 1971-11-16 1974-05-21 Texas Instruments Inc Memory device
US4064556A (en) * 1975-06-23 1977-12-20 Sperry Rand Corporation Packed loop memory with data manipulation capabilities
US4065756A (en) * 1976-03-15 1977-12-27 Burroughs Corporation Associative memory with neighboring recirculated paths offset by one bit
GB1580057A (en) * 1976-07-16 1980-11-26 Post Office Information handling apparatus
US4302632A (en) 1976-10-18 1981-11-24 Graphic Scanning, Inc. Digitally-controlled telephone answering switching system
IT1118355B (it) * 1979-02-15 1986-02-24 Cselt Centro Studi Lab Telecom Sistema di interconnessione tra processori
DK152722C (da) * 1979-12-25 1988-09-26 Kureha Chemical Ind Co Ltd Ved opvarmning krympende lamineret film samt fremgangsmaade til dens fremstilling
US4363125A (en) * 1979-12-26 1982-12-07 International Business Machines Corporation Memory readback check method and apparatus
US4335175A (en) * 1980-10-01 1982-06-15 W. R. Grace & Co. Thermoplastic film laminates
EP0094794B1 (en) * 1982-05-14 1992-04-22 Communications Patents Limited Communications system
JPS59180870A (ja) * 1983-03-31 1984-10-15 Fujitsu Ltd 半導体記憶装置
US4510599A (en) 1983-04-04 1985-04-09 General Electric Company Prioritized unidirectional distributed bus accessing system
US4506387A (en) * 1983-05-25 1985-03-19 Walter Howard F Programming-on-demand cable system and method
US4709418A (en) * 1983-09-14 1987-11-24 British Telecommunications Public Limited Company Wideband cable network
US4646270A (en) * 1983-09-15 1987-02-24 Motorola, Inc. Video graphic dynamic RAM
US5163024A (en) 1983-12-30 1992-11-10 Texas Instruments Incorporated Video display system using memory with parallel and serial access employing serial shift registers selected by column address
US4672602A (en) * 1984-11-02 1987-06-09 Itt Corporation Control and routing system
US4683555A (en) * 1985-01-22 1987-07-28 Texas Instruments Incorporated Serial accessed semiconductor memory with reconfigureable shift registers
US4763317A (en) * 1985-12-13 1988-08-09 American Telephone And Telegraph Company, At&T Bell Laboratories Digital communication network architecture for providing universal information services
US5062059A (en) * 1986-12-08 1991-10-29 Sunriver Corporation Apparatus and method for communication between host CPU and remote terminal
US4816989A (en) 1987-04-15 1989-03-28 Allied-Signal Inc. Synchronizer for a fault tolerant multiple node processing system
US4790418A (en) * 1987-04-30 1988-12-13 Ford Motor Company Transmission clutch loop transfer control
US5191410A (en) * 1987-08-04 1993-03-02 Telaction Corporation Interactive multimedia presentation and communications system
US5119481A (en) * 1987-12-22 1992-06-02 Kendall Square Research Corporation Register bus multiprocessor system with shift
US4995078A (en) * 1988-06-09 1991-02-19 Monslow H Vincent Television broadcast system for selective transmission of viewer-chosen programs at viewer-requested times
US5200925A (en) * 1988-07-29 1993-04-06 Mitsubishi Denki Kabushiki Kaisha Serial access semiconductor memory device and operating method therefor
JP3002471B2 (ja) * 1988-08-19 2000-01-24 株式会社日立製作所 番組配信装置
US5060068A (en) * 1988-10-31 1991-10-22 James E. Lindstrom Audio/video distribution system
US4984240A (en) * 1988-12-22 1991-01-08 Codex Corporation Distributed switching architecture for communication module redundancy
US5014125A (en) * 1989-05-05 1991-05-07 Cableshare, Inc. Television system for the interactive distribution of selectable video presentations
US5003591A (en) * 1989-05-25 1991-03-26 General Instrument Corporation Functionally modifiable cable television converter system
US5130792A (en) * 1990-02-01 1992-07-14 Usa Video Inc. Store and forward video system
US5084839A (en) * 1990-02-05 1992-01-28 Harris Corporation Variable length shift register
US5134619A (en) * 1990-04-06 1992-07-28 Sf2 Corporation Failure-tolerant mass storage system
IL96808A (en) * 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
CA2022302C (en) * 1990-07-30 1995-02-28 Douglas J. Ballantyne Method and apparatus for distribution of movies
US5153884A (en) * 1990-08-15 1992-10-06 Allen-Bradley Company, Inc. Intelligent network interface circuit
US5261114A (en) * 1990-11-09 1993-11-09 Ast Research, Inc. Method and apparatus for providing down-loaded instructions for execution by a peripheral controller
US5132992A (en) * 1991-01-07 1992-07-21 Paul Yurt Audio and video transmission and receiving system
US5253341A (en) * 1991-03-04 1993-10-12 Rozmanith Anthony I Remote query communication system
JPH04350742A (ja) * 1991-05-28 1992-12-04 Fujitsu Ltd 画像データ書込み方法及び画像メモリ装置
US5369784A (en) * 1991-08-01 1994-11-29 City Communications Limited Radio communications system using multiple simultaneously transmitting transceivers
US5543477A (en) * 1991-09-24 1996-08-06 Chevron Chemical Company Copolymers of ethylene and alkyl acrylate with improved melt-point temperatures
US5247347A (en) * 1991-09-27 1993-09-21 Bell Atlantic Network Services, Inc. Pstn architecture for video-on-demand services
US5371532A (en) * 1992-05-15 1994-12-06 Bell Communications Research, Inc. Communications architecture and method for distributing information services
US5771367A (en) * 1992-12-17 1998-06-23 International Business Machines Corporation Storage controller and method for improved failure recovery using cross-coupled cache memories and nonvolatile stores
US5400331A (en) * 1993-04-28 1995-03-21 Allen-Bradley Company, Inc. Communication network interface with screeners for incoming messages
WO1994030015A1 (en) * 1993-06-03 1994-12-22 Target Technologies, Inc. Data and television network for digital computer workstations
US6356973B1 (en) * 1993-10-15 2002-03-12 Image Telecommunications Corporation Memory device having a cyclically configured data memory and having plural data portals for outputting/inputting data
US5581479A (en) * 1993-10-15 1996-12-03 Image Telecommunications Corp. Information service control point, which uses different types of storage devices, which retrieves information as blocks of data, and which uses a trunk processor for transmitting information
US5553311A (en) * 1994-02-17 1996-09-03 Image Telecommunications Inc. Customer premise device for controlling data transmissions by storing a limited number of operation algorithms and receiving operation instructions from external sources
DE69426490T2 (de) * 1994-09-07 2001-06-28 Cryovac Inc Chlorfreies Verbundfilmmaterial, Verfahren zu seiner Herstellung und sein Gebrauch
SE514348C2 (sv) * 1995-06-09 2001-02-12 Saab Dynamics Ab Minnesstruktur anpassad för lagring och hämtning av vektorer
US5729763A (en) 1995-08-15 1998-03-17 Emc Corporation Data storage system
US6149750A (en) * 1995-09-18 2000-11-21 3M Innovative Properties Company Lens blank surface protection film
US5768623A (en) * 1995-09-19 1998-06-16 International Business Machines Corporation System and method for sharing multiple storage arrays by dedicating adapters as primary controller and secondary controller for arrays reside in different host computers
US5970510A (en) 1996-04-10 1999-10-19 Northrop Grumman Corporation Distributed memory addressing system
US6587909B1 (en) 1996-06-05 2003-07-01 Hewlett-Packard Development Company, L.P. Installation and removal of components of a computer
FR2754100B1 (fr) * 1996-09-30 1998-11-20 Sgs Thomson Microelectronics Memoire a acces serie avec securisation de l'ecriture
US5953263A (en) * 1997-02-10 1999-09-14 Rambus Inc. Synchronous memory device having a programmable register and method of controlling same
US5909564A (en) 1997-03-27 1999-06-01 Pmc-Sierra Ltd. Multi-port ethernet frame switch
FR2765719B1 (fr) * 1997-07-04 1999-10-01 Sgs Thomson Microelectronics Perfectionnement aux memoires a acces sequentiels
US5908333A (en) * 1997-07-21 1999-06-01 Rambus, Inc. Connector with integral transmission line bus
EP1019912A2 (en) * 1997-10-10 2000-07-19 Rambus Incorporated Apparatus and method for pipelined memory operations
US6051756A (en) 1998-02-26 2000-04-18 Cargill, Incorporated Particle bombardment transformation of Brassica
US5953283A (en) * 1998-07-31 1999-09-14 International Business Machines Corporation Multi-port SRAM with reduced access requirements
US6870936B1 (en) 1998-10-20 2005-03-22 Edward Y. Ajamian Control platform for multiple signal routing and interfacing in an audio/visual environment
JP3557114B2 (ja) * 1998-12-22 2004-08-25 株式会社東芝 半導体記憶装置
US7266706B2 (en) * 1999-03-03 2007-09-04 Yottayotta, Inc. Methods and systems for implementing shared disk array management functions
US6370605B1 (en) * 1999-03-04 2002-04-09 Sun Microsystems, Inc. Switch based scalable performance storage architecture
JP3813758B2 (ja) * 1999-04-12 2006-08-23 エルピーダメモリ株式会社 半導体記憶装置
US6728799B1 (en) 2000-01-13 2004-04-27 Hewlett-Packard Development Company, L.P. Hybrid data I/O for memory applications
GB2367648B (en) * 2000-10-03 2002-08-28 Sun Microsystems Inc Multiple trap avoidance mechanism
US7089293B2 (en) 2000-11-02 2006-08-08 Sun Microsystems, Inc. Switching system method for discovering and accessing SCSI devices in response to query
US6697368B2 (en) 2000-11-17 2004-02-24 Foundry Networks, Inc. High-performance network switch
US6880100B2 (en) 2001-07-18 2005-04-12 Smartmatic Corp. Peer-to-peer fault detection
US6560146B2 (en) * 2001-09-17 2003-05-06 Sandisk Corporation Dynamic column block selection
US6684292B2 (en) 2001-09-28 2004-01-27 Hewlett-Packard Development Company, L.P. Memory module resync
US6981173B2 (en) 2001-09-28 2005-12-27 Hewlett-Packard Development Company, L.P. Redundant memory sequence and fault isolation
US7069468B1 (en) * 2001-11-15 2006-06-27 Xiotech Corporation System and method for re-allocating storage area network resources
JP3964212B2 (ja) * 2002-01-16 2007-08-22 株式会社日立製作所 記憶装置システム
US6947981B2 (en) 2002-03-26 2005-09-20 Hewlett-Packard Development Company, L.P. Flexible data replication mechanism
JP2003303139A (ja) 2002-04-09 2003-10-24 Nec Corp 冗長メモリモジュールおよびメモリコントローラ
CA2498154A1 (en) 2002-09-16 2004-03-25 Tigi Corporation Storage system architectures and multiple caching arrangements
JP4202709B2 (ja) * 2002-10-07 2008-12-24 株式会社日立製作所 ストレージ装置を有するネットワークにおける、ボリューム及び障害管理方法
US7197662B2 (en) * 2002-10-31 2007-03-27 Ring Technology Enterprises, Llc Methods and systems for a storage system
ATE557349T1 (de) 2002-10-31 2012-05-15 Parallel Iron Llc Speichersystem und verfahren für ein speichersystem
US6879526B2 (en) 2002-10-31 2005-04-12 Ring Technology Enterprises Llc Methods and apparatus for improved memory access
US7415565B2 (en) * 2002-10-31 2008-08-19 Ring Technology Enterprises, Llc Methods and systems for a storage system with a program-controlled switch for routing data
US7707351B2 (en) * 2002-10-31 2010-04-27 Ring Technology Enterprises Of Texas, Llc Methods and systems for an identifier-based memory section

Also Published As

Publication number Publication date
KR100994393B1 (ko) 2010-11-16
US20040085818A1 (en) 2004-05-06
US7313035B2 (en) 2007-12-25
US20070237009A1 (en) 2007-10-11
EP1576445B1 (en) 2010-06-30
ATE472802T1 (de) 2010-07-15
JP2006505066A (ja) 2006-02-09
AU2003301774A8 (en) 2004-06-07
WO2004042506A2 (en) 2004-05-21
EP1576445A2 (en) 2005-09-21
AU2003301774A1 (en) 2004-06-07
US20050128823A1 (en) 2005-06-16
EP1576445A4 (en) 2006-08-16
US7808844B2 (en) 2010-10-05
WO2004042506A3 (en) 2005-09-09
US6879526B2 (en) 2005-04-12
DE60333227D1 (de) 2010-08-12

Similar Documents

Publication Publication Date Title
KR100994393B1 (ko) 향상된 메모리 액세스 방법 및 장치
KR100435612B1 (ko) 클록 버니어 조정
US6016282A (en) Clock vernier adjustment
US6603686B2 (en) Semiconductor memory device having different data rates in read operation and write operation
KR100920830B1 (ko) 라이트 제어 신호 생성 회로 및 이를 이용하는 반도체메모리 장치 및 그의 동작 방법
KR100252048B1 (ko) 반도체 메모리장치의 데이터 마스킹 회로 및 데이터 마스킹방법
KR101145784B1 (ko) 반도체 메모리 장치 및 그를 포함하는 메모리 시스템
US6862250B2 (en) Circuit and method for generating output control signal in synchronous semiconductor memory device
US20040148482A1 (en) Memory chain
JP3730898B2 (ja) データ・ストローブ・プロトコルを使用した主記憶装置
US20080205187A1 (en) Data flow control in multiple independent port
TW200822131A (en) Daisy chain cascading devices
JPH11316706A (ja) データ高速転送同期システム及びデータ高速転送同期方法
US6965530B2 (en) Semiconductor memory device and semiconductor memory device control method
KR20000073449A (ko) 반도체 메모리 장치의 데이터 입력 회로 및 데이터 입력 방법
US20070201288A1 (en) Semiconductor memory device which compensates for delay time variations of multi-bit data
KR20040105060A (ko) 유효 출력 데이터 윈도우(Valid outputdata window)를 확장시킬 수 있는 출력회로를구비하는 동기식 메모리장치 및 유효 출력 데이터 윈도우확장 방법
KR100495917B1 (ko) 고속 데이터 출력을 위한 파이프래치 회로
JP4828037B2 (ja) 半導体メモリ装置及びデータ伝送方法
JP3644265B2 (ja) メモリサブシステム
KR100484249B1 (ko) 고속데이터 출력을 위한 동기식 메모리 장치의 파이프래치회로 및 그를 이용한 동기식 메모리 장치
KR100489356B1 (ko) 단일 스테이지의 멀티플렉서를 가진 메모리 장치의 데이터경로 회로
JP4305286B2 (ja) 計算機システム
JP2006338689A (ja) メモリシステム

Legal Events

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

Payment date: 20131024

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee