KR20020086542A - 비정렬 접근을 지원하는 메모리 장치 - Google Patents

비정렬 접근을 지원하는 메모리 장치 Download PDF

Info

Publication number
KR20020086542A
KR20020086542A KR1020027010665A KR20027010665A KR20020086542A KR 20020086542 A KR20020086542 A KR 20020086542A KR 1020027010665 A KR1020027010665 A KR 1020027010665A KR 20027010665 A KR20027010665 A KR 20027010665A KR 20020086542 A KR20020086542 A KR 20020086542A
Authority
KR
South Korea
Prior art keywords
multiplexer
memory
data line
decoder
line
Prior art date
Application number
KR1020027010665A
Other languages
English (en)
Inventor
오베르라엔더클라우스
랜드하와사빈
레자드빈센트
플렉로드쥐
Original Assignee
인피니언 테크놀로지스 노쓰 아메리카 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인피니언 테크놀로지스 노쓰 아메리카 코포레이션 filed Critical 인피니언 테크놀로지스 노쓰 아메리카 코포레이션
Publication of KR20020086542A publication Critical patent/KR20020086542A/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • 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/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Dram (AREA)
  • Static Random-Access Memory (AREA)

Abstract

집적 메모리는 복수의 데이터 라인과 각각의 데이터 라인과 관련된 복수의 복호기를 포함한다. 각각의 데이터 라인은 하나의 메모리 셀 또는 복수의 메모리 셀을 호출할 수 있다. 또한, 각각의 데이터 라인은 메모리의 워드 라인 또는 비트 라인일 수 있다. 각각의 복호기는 이와 관련된 주소 신호를 수신하여 인에이블 신호를 발생시킨다. 2개의 입력과 각각의 데이터 라인과 관련된 출력을 갖는 복수의 다중화기가 제공된다. 각각의 복호기의 인에이블 신호는 관련된 다중화기의 제 1 입력, 다음 상위 호출된 데이터 라인과 관련된 다중화기의 제 2 입력에 제공되며, 상기 다중화기를 제어하기 위한 제어 입력이 제공된다.

Description

비정렬 접근을 지원하는 메모리 장치{MEMORY DEVICE WITH SUPPORT FOR UNALIGNED ACCESS}
도 9는 선행 기술에 따른 배열을 도시하고 있다. 메모리 장치는 4개의 블록(1, 2, 3, 4)으로 구성되어 있다. 각각의 메모리 블록(1, 2, 3, 4)은 배열 장치(6)와 연결되어 있는 32비트 폭을 갖는 인터페이스(interface)를 제공한다. 선택로직(select logic) 장치(5)는 중앙 처리 장치(도시 안됨)의 단말기로부터 주소를 입력받는다. 단말기(7)에 제공된 주소가 메모리 장치 내의 메모리 블록(1)에서 시작하는 시작 주소를 갖고 있다면, 메모리 장치에 대한 정렬 접근이 이루어진다. 메모리 셀(M1, M2, M3, M4)의 내용으로 구성된 128비트 워드는 정렬기(6)에 제공되며, 이러한 출력은 단말기(8)에 직접 연결된다. 메모리 장치에 대한 비정렬 접근의 경우에는 다음과 같은 동작이 이루어진다. 예를 들어, 단말기(7)에 제공된 주소가 메모리 장치 내의 메모리 블록(3)에서 시작한다고 하면, 128비트 워드는 메모리 셀(M3, M4, M5, M6)의 내용으로 구성된다. 시스템은 한 주기에 하나의 메모리 라인에만 접근할 수 있으므로, 첫 주기에는 단지 처음 2개의 32비트 워드(M3, M4)만이 접근된다. 다시 말해, 한 주기동안 메모리 라인(M1, M2, M3, M4) 또는 메모리 라인(M5, M6, M7, M8) 중 하나 만이 접근될 수 있다. 예를 들어, 요청된 128비트 워드가 2개의 다른 메모리 라인에 분산되어 있다고 하자. 두번째 주기에서는 남아 있는 2개의 32비트 워드(M5, M6)가 메모리 블록(1, 2)에서 검색되고, 레지스터에서 통합된다. 정렬기(6)는 메모리 블록(1, 2, 3, 4)의 출력을 다중화하여 올바른 순서(M3, M4, M5, M6)로 정렬된 128비트 워드를 단말기(8)로 출력한다.
이와 같은 정렬의 가장 큰 단점은 처리 시간상의 불이익 뿐만 아니라 비정렬 접근의 경우에 앞서 기술된 메모리 장치의 구조로 인한 한 주기 손실에 있다. 따라서, 시간 임계 프로그래밍은 비정렬 메모리 접근을 지원하지 않는다.
본 발명은 비정렬 접근을 지원하는 메모리 장치에 관한 것이다. 이러한 메모리는 마이크로프로세서나 마이크로컨트롤러에 이용될 수 있다. 특히, 최근의 마이크로프로세서나 마이크로컨트롤러는 복수의 워드를 병렬적으로 로딩하거나 저장하는 기능을 제공한다. 따라서 메모리 장치는 복수의 워드를 입력하거나 출력할 수 있도록 설계된다. 예를 들어, 메모리 장치는 4개의 32비트 워드를 병렬적으로 판독하거나 기록할 수 있도록 128비트 폭의 버스(bus)를 갖는다. 특히, 메모리 시스템이, 예를 들어 캐쉬(cache) 하위 시스템(sub-system)으로서 마이크로 프로세서나 마이크로컨트롤러와 결합되어 있는 경우, 매우 높은 데이터 처리량을 가능하게 한다.
도 1은 본 발명에 따른 메모리 장치의 블록 다이어그램을 도시한 도면이다.
도 2는 메모리 블록 내의 복호기와 다중화기의 배열을 도시한 도면이다.
도 3a는 메모리 블록 내의 데이터 라인의 배치를 도시한 도면이다.
도 3b는 도 3a에 따른 열(column) 다중화기를 구현한 도면이다.
도 4는 본 발명에 따른 메모리 장치를 갖는 비정렬 접근의 예를 도시한 도면이다.
도 5는 선택 로직 장치에 의해 생성된 서로 다른 신호를 나타내는 표이다.
도 6은 선택 장치(400)를 구현한 도면이다.
도 7은 본 발명에 따른 또 다른 실시예의 블록 다이어그램을 도시한 도면이다.
도 8은 본 발명에 따른 또 다른 실시예의 블록 다이어그램을 도시한 도면이다.
도 9는 선행 기술에 따른 메모리 장치를 도시한 도면이다.
본 발명의 목적은 예를 들어, 한 주기 내에서 최소한의 시간 지연을 갖는 비정렬 접근을 가능하게 하는 메모리 시스템을 제공하는 것이다. 이와 같은 목적은 복수의 데이터 라인과 각각의 데이터 라인과 관련된 복수의 복호기(decoder)로 구성되어 있는 집적 메모리 회로를 통하여 구현될 수 있다. 각각의 데이터 라인은 하나의 메모리 셀 또는 복수의 메모리 셀을 호출할 수 있다. 또한, 각각의 데이터 라인은 메모리의 워드 라인이거나 또는 비트 라인일 수 있다. 각각의 복호기는 관련된 주소 신호를 수신하여 인에이블 신호를 발생시킨다. 2개의 입력과 각각의 데이터 라인과 관련된 출력을 구비한 복수의 다중화기(multiplexer)가 제공된다. 각각의 복호기의 인에이블 신호(enable signal)는 관련된 다중화기의 제 1 입력과 다음 상위 단계의 호출된 데이터 라인과 관련된 다중화기의 제 2 입력에 제공되며, 다중화기를 제어하는 제어 입력이 제공된다.
다른 실시예에서 메모리 시스템은 m개의 메모리 뱅크(memory bank)로 구성되어 있다. 각각의 메모리 뱅크는 n비트의 입력/출력 인터페이스를 갖는다. 적어도 m-1개의 메모리 뱅크 각각은 복수의 데이터 라인과 각각의 데이터 라인과 관련된 복수의 복호기로 구성되어 있다. 각각의 데이터 라인은 하나의 메모리 셀 또는 복수의 메모리 셀을 호출할 수 있다. 또한 각각의 데이터 라인은 워드 라인이나 또는 비트 라인일 수 있다. 각각의 복호기는 이와 관련된 주소 신호를 수신하여 인에이블 신호를 발생시킨다. 2개의 입력과 각각의 데이터 라인과 관련된 출력을 구비한 복수의 다중화기가 제공되며, 각각의 복호기의 인에이블 신호는 관련된 다중화기의제 1 입력, 다음 상위 단계의 호출된 데이터 라인과 관련된 다중화기의 제 2 입력에 제공된다. 다중화기를 제어하는 제어 입력이 제공된다.
또 다른 실시예에서 메모리 장치는 매트릭스(matrix) 형태로 정렬된 복수의 워드 라인과 복수의 비트 라인으로 구성되어 있으며, 각각의 교차점이 메모리 셀을 구성한다. 출력이 각각의 워드 라인과 관련된 복수의 워드 라인 복호기와 2개의 입력과 각각의 워드 라인과 관련된 출력으로 구성된 복수의 다중화기가 제공되며, 각각의 다중화기는 관련된 복호기의 출력과 다음 하위 단계의 호출된 워드 라인에 관련된 복호기의 출력과 연결되어 있다. 다중화기의 출력은 각각 관련된 워드 라인을 제어하며, 다중화기는 선택 신호에 의해 제어된다.
도 1에는, 예를 들어 4개의 메모리 블록이 도시되어 있고, 이 중 제 1 메모리 블록(100)만이 자세하게 도시되어 있다. 복수의 워드가 입력 또는 출력될 수 있도록 복수의 메모리 블록이 제공된다. 기술될 실시예에서는, 4개의 메모리 블록(100, 200, 300, 400)이 사용되며, 각각의 메모리 블록은 32비트의 인터페이스를 갖는다고 가정하자. 메모리 블록(100, 200, 300)은 유사한 구조를 갖는다. 단지 마지막 메모리 블록(400)만이 후술할 표준의 메모리 블록과 같이 다르게 설계되어 있다. 도 1에 의하면, 각각의 메모리 블록(100, 200, 300, 400)은 복호기 부분(110, 210, 310, 410)과 데이터 라인 부분(120, 220, 320, 420)으로 구성되어 있다. 본 발명에 있어서, 데이터 라인은 데이터 워드를 저장하는 1개의 메모리 셀 또는 복수의 메모리 셀로 구성된 것으로 본다. 각각의 복호기 부분(110)은 복수의 복호기(111, 112, 113, ...)로 구성되어 있다. 각각의 복호기(111, 112, 113, ...)는 메모리 블록 내에서 하나의 데이터 라인을 복호화한다. 뿐만 아니라, 각각의 복호기(111, 112, 113, ...)는 라인(500)으로부터 주소를 입력받는다. 메모리 블록(100, 200, 300)의 각각의 데이터 라인에 부가된 2개의 입력과 1개의 출력을갖는 복수의 다중화기가 제공된다. 각각의 복호기의 출력은 관련된 다중화기의 1개의 입력, 그리고 1 증가한 주소와 관련된 다중화기의 1개의 입력과 연결되어 있다. 1개의 메모리 블록 내의 모든 다중화기(114, 115, 116)는 선택 신호(140)에 의해 제어된다. 메모리 블록(400)은 다중화기를 구비하지 않는 표준 메모리 블록일 수 있으며, 표준 메모리 블록의 경우 제어 라인은 생략할 수 있으므로, 도 1에서는 제어 라인(440)이 점선으로 표시되어 있다. 본 실시예에서, 선택 로직 장치(400)는 각각의 메모리 블록(100, 200, 300)에 대하여 3개의 다른 선택 신호(140, 240, 340)를 발생시킨다. 이를 위하여, 선택 로직 장치(400)는 단말기(500)로부터 필요한 주소 신호, 예를 들어 주소 라인(A2, A3)을 입력받는다. 예를 들어, 각각의 메모리 블록은 32비트 폭의 입력/출력 인터페이스를 구비하며, 이는 정렬기(600)에 연결되어 있다. 정렬기(600)는 4개의 메모리 블록(100, 200, 300, 400)에 의해 제공된 4개의 32비트 워드의 순서를 출력 단계(610)에서 재정렬 시키는 복수의 다중화기로 구성되어 있으며, 이는 이후 자세하게 설명될 것이다.
도 1에 도시된 메모리 장치는 메모리 블록 내에서 메모리 라인을 호출하는 특유하고 매우 유연한 방법을 제공한다. 단말기(50)로부터 제공된 주소는 128비트 워드가 메모리 내에서 어느 곳에서부터 로딩되고 저장되는지에 대한 시작 지점을 정의한다. 이 주소는 각각의 메모리 블록(100, 200, 300, 400)의 복호기 장치에 제공된다. 각각 최하위 비트만큼 줄어든 시작 주소를 갖는 데이터 라인을 선택한 복호기만이 각각의 메모리 블록 내에서 인에이블 신호를 발생시킨다. 따라서, 일반적으로 단말기(500)에서 주소가 정렬되어 있지 않으면, 다시 말해 주소가 메모리 블록(100)에서 시작하지 않으면, 일부 메모리 블록은 올바른 데이터 라인을 선택하지 못한다. 이를 위하여, 복수의 다중화기(114, 115, 116, ...)가 제공되어 복호기에 의해 발생된 선택 신호를 상위 데이터 라인에 재전송한다. 단말기(500)에서 제공된 주소를 통하여 효과적으로 각각의 메모리 블록(100, 200, 300, 400)에서 2개의 데이터 라인이 호출된다. 다시 말해, 요청된 128비트의 워드가 시작하는 데이터 라인과 그 다음 데이터 라인, 다시 말해 1 증가한 데이터 라인이 호출된다. 128비트 폭의 메모리 시스템에서 물리적으로 1 증가한 주소는 실질적으로 32만큼의 주소 증가를 의미한다. 본 발명에서는 증가한 데이터 라인은 제공된 주소를 직접 이용하지 않고 인에이블 신호를 재전송하는 방법으로 선택된다. 선택 로직(400)는 각각의 메모리 블록(100, 200, 300)에 대하여 3개의 다른 선택 신호(140, 240, 340)를 발생시킨다. 모든 선택 신호(140, 240, 340)는 각각의 메모리 블록(100, 200, 300)의 복호기 부분 내에 있는 해당 다중화기를 제어한다. 주소(500)에 따라 복호화된 데이터 라인 또는 1 증가한 데이터 라인이 선택된다. 따라서, 메모리에 비정렬 접근이 이루어질 경우, 한 주기 내에 모든 데이터가 검색될 수 있다.
도 2는 도 1의 다중화기(115, 116)를 구체적으로 도시한 것이다. 복호기(111)의 출력은 제어 가능한 인버터(150)의 입력과 연결되어 있고, 인버터(150)의 출력은 데이터 라인(123)과 연결되어 있다. 복호기(112)의 선택 신호는 제어 가능한 인버터(155)의 입력과 연결되어 있고, 인버터(155)의 출력은 인버터(150)의 출력과 연결되어 있다. 또한, 복호기(112)의 선택 신호는 또 다른 제어 가능한 인버터(160)의 입력과 연결되어 있고, 인버터(160)의 출력은 데이터 라인(122)과 연결되어 있다. 출력이 인버터(160)의 출력과 연결되어 있는 또 다른 제어 가능한 인버터(165)가 제공된다. 제어 가능한 인버터(150, 155)는 다중화기(116)를 형성하고, 제어 가능한 인버터(160, 165)는 다중화기(150)를 형성한다. 인버터 대신 삼상 버퍼가 사용될 수도 있다.
일반적으로, 드라이버와 버퍼는 데이터 라인 복호기와 메모리 셀 사이에 위치한다. 전형적인 구조에는 인버터(150)와 삼상 버퍼가 포함된다. 이러한 배치는 관련된 복호기에서 나오는 선택 신호와 1 감소한 주소를 갖는 이전 데이터 라인의 복호기에서 나오는 선택 신호 사이에서 스위칭하는 다중화기를 형성하는 것으로 쉽게 확장될 수 있다. 이를 위하여, 제어 가능한 인버터(150)와 그 입력이 1 감소한 주소를 갖는 데이터 라인에 해당하는 복호기의 출력과 관련된 제 2 제어 가능 인버터(155)가 제공된다. 이와 유사하게, 제어 가능한 인버터(165)는 복호기(115)를 구성하기 위하여 제공된다. 모든 다른 다중화기는 이와 같은 방식으로 구성된다. 따라서, 본 발명에 따른 부가 구조를 제공하기 위해서 최소한의 실리콘 영역이 부가적으로 요구된다. 제어 가능한 인버터(150, 155, 160, 165)의 제어 입력은 각각의 보수 신호(complementary signals)에 의해 제어될 수 있다. 또 다른 실시예에서는, 인버터(150, 155, 160, 165, ...)의 모든 제어 입력은 같은 제어 신호에 의해서 제어될 수 있다. 이 경우, 인버터(150, 160, ...)의 제어 입력은 인버터(155, 165, ...)의 제어 입력과 상보적으로 동작하도록 설계되어야 한다. 제어 신호가 0으로 지정되면, 제어 가능한 인버터(150, 160, ...)는 활동화되고, 제어 가능한 인버터(155, 165, ...)는 비활동화된다. 그러면, 각각의 복호기(111, 112, ...)는각각의 지정된 데이터 라인을 제어한다. 예를 들어, 복호기(111)는 데이터 라인(123)을, 복호기(112)는 데이터 라인(122)을 제어한다. 제어 신호가 1로 지정되면, 제어 가능한 인버터(150, 160, ...)는 동작하지 않고, 제어 가능한 인버터(155, 165, ...)가 동작하게 된다. 따라서, 복호기(112)는 데이터 라인(123)을, 복호기(11)는 상위 데이터 라인을 제어하게 된다. 따라서, 비정렬 접근이 발생하면, 각각의 메모리 블록은 선택 라인(140, 240, 340, 440)에 의해 선택적으로 제어되며, 시작 주소에 의해 정의된 데이터 라인을 호출하거나 1 증가한 데이터 라인을 호출한다. 따라서, 128비트 워드의 교차 부분을 포함한 메모리 블록은 증가한 데이터 라인으로 스위칭 된다. 따라서, 완전한 128 비트 워드는 한 주기 내에서 대기 상태 없이 출력되거나 기록된다.
도 3a는 메모리 블록 내의 데이터 라인의 최적화된 배치를 도시하고 있다. 메모리 블록(100)은 4개의 내부 하위 블록(sub block)(101, 102, 103, 104)을 갖도록 설계될 수 있다. 열 다중화기(105)는 각각의 하위 블록(101, 012, 103, 104)의 출력을 선택하도록 제공된다. 각각의 하위 블록(101, 102, 103, 104)에서 데이터 라인은 접힘 방식(folded manner)으로 배열된다. 데이터 라인은 다음과 같은 순서로 연속적으로 배열된다(0, 2n- 1, 1, 2n- 2, ... , 2n-1+ 2, 2n-1- 2, 2n-1+ 1, 2n-1- 1, 2n-1). 다시 말해, 하위 블록의 처음 절반의 데이터 라인은 아래쪽에서 위쪽으로 연속적으로, 각각의 연속적인 데이터 라인 사이에 하나의 데이터 라인을 위한 홀수 번째 공간을 남겨두고 짝수 번째 공간에 배열된다. 그 후, 홀수 번째 공간에는 나머지 절반의 데이터 라인이 위쪽에서 아래쪽으로 연속적으로 채워진다. 따라서, 복호기와 다중화기를 서로 연결하는 라인의 길이와 그들 각각의 라인 용량은 최소화된다. 뿐만 아니라, 열 다중화기(105)는 단말기(106)에서 필요한 주소 신호를 입력받아 하위 블록(101, 102, 103, 104) 사이를 스위칭한다. 메모리 블록(100)의 출력은 단말기(180)에서 접근할 수 있다. 또한 마지막 워드 복호기(2n- 1)의 복호기 인에이블 신호는 최초 데이터 라인(워드 0)에 해당하는 다중화기에 연결되어 있다. 하위 블록에서 마지막 데이터 라인이 비정렬적으로 선택된 경우, 다음 하위 블록의 다음 데이터 라인(워드 0)이 선택되므로, 위의 동작이 가능하다. 또한 복호기 인에이블 신호와 선택 신호는 열 다중화기(105)에 연결되어 동작한다. 열 다중화기는 두 신호가 모두 1로 지정된 경우 다음 열로 스위칭 한다.
도 3b는 메모리 하위 블록을 선택하는 열 다중화기를 좀 더 자세하게 도시하고 있다. 선택 로직 장치(400)로부터 전달된 선택 신호(140)는 AND 게이트(170)에 의해 데이터 라인(2n- 1)에 해당하는 복호기로부터 전달된 인에이블 신호와 결합된다. 데이터 라인(2n- 1)에 관한 인에이블 신호를 사용하는 대신, 주소를 검색하여 데이터 라인(2n- 1)에 대한 접근을 복호화하는 AND 게이트를 사용할 수 있다. AND 게이트(170)의 출력은 다중화기(171, 172, 173)를 제어한다. 각각의 다중화기(171, 172, 173)는 하나의 하위 블록과 인접한 하위 블록으로부터 출력 신호를 수신한다. 따라서, 다중화기(171)는 하위 블록(101, 012)으로부터, 다중화기(172)는 하위 블록(102, 103)으로부터, 다중화기(173)는 하위 블록(103, 104)으로부터 출력 신호를 수신한다. 다중화기(174)는 다중화기(171, 172, 173)의 출력 라인 또는 이전 하위 블록(104)의 출력 라인 중 하나를 선택한다.
도 4는 통상적인 메모리에 대한 비정렬 접근과 선택된 데이터 라인이 메모리 시스템의 출력으로 어떻게 전달되는지를 도시하고 있다. 보다 나은 개관을 위하여, 도 4에서는 데이터 라인은 연속적으로 배열되어 있으며, 도 3과 같이 배치가 최적화되어 있지는 않다. 또한, 각각의 메모리 블록에 대하여 연속적인 두개의 데이터 라인만이 도시되어 있으며, 이들 데이터 라인은 아래쪽에서 위쪽으로 배열된다. 정렬기(600)는 4개의 다중화기(601, 602, 603, 604)로 구성되어 있다. 각각의 다중화기는 4개의 32비트 입력과 1개의 32비트 출력을 갖는다. 다중화기는 제어 신호(620)에 의해 각각의 다중화기(601, 602, 603, 604)에 대한 4개의 입력(1, 2, 3, 4) 중 1개를 선택하도록 개별적으로 제어된다. 제어 신호(620)는 복수의 신호, 예를 들어 서로 다른 4개의 입력을 선택하는 2개의 신호로 구성될 수 있다. 메모리 블록(100)의 출력은 다중화기(601)의 입력(1), 다중화기(602)의 입력(2), 다중화기(603)의 입력(3) 그리고 다중화기(604)의 입력(4)과 연결되어 있다. 메모리 블록(200)의 출력은 다중화기(601)의 입력(2), 다중화기(602)의 입력(3), 다중화기(603)의 입력(4) 그리고 다중화기(604)의 입력(1)과 연결되어 있다. 메모리 블록(300)의 출력은 다중화기(601)의 입력(3), 다중화기(602)의 입력(4), 다중화기(603)의 입력(1) 그리고 다중화기(604)의 입력(2)과 연결되어 있다. 메모리 블록(400)의 출력은 다중화기(601)의 입력(4), 다중화기(602)의 입력(1), 다중화기(603)의 입력(2) 그리고 다중화기(604)의 입력(3)과 연결되어 있다. 본 발명에 따른 메모리 블록(100, 200, 300)은 호출된 데이터 라인 또는 1 증가한 어드레스를 갖는 데이터 라인에 접근할 수 있도록 설계되어 있다. 메모리 블록(400)은 표준 메모리일 수 있으며, 후술하는 바와 같이 증가한 데이터 라인과의 접근이 허용될 필요가 없다.
메모리에 대한 비정렬 접근이 데이터 라인(M2, M3, M4, M5)의 내용으로 구성된 128 비트 워드를 호출하는 경우, 다음과 같은 동작이 일어난다. 필요한 모든 주소 신호, 예를 들어 바이트를 호출하는 경우 최하위 4개의 비트를 제외한 모든 주소 라인은 메모리 블록(100, 200, 300, 400)에 제공된다. 워드를 호출하는 경우 최하위 2개의 비트가 제외된다. 따라서, 복호기(113, 213, 313, 413)의 출력이 활동화된다. 선택 로직 장치(400)는 메모리 블록(100, 200, 300)의 다중화기에 관련된 선택 신호(140, 240, 340)를 발생시킨다. 선택 라인(140)은 1을 전달하고 선택 라인(240, 340)은 0을 전달하게 된다. 따라서, 복호기(213)는 블록(200) 내의 데이터 라인(M2)을 활동화시키고, 복호기(313)는 블록(300) 내의 데이터 라인(M3)을 활동화시키며, 복호기(113)로부터 전달된 인에이블 신호는 다중화기(115)를 통하여 데이터 라인(M5)을 활동화시키도록 재전송된다. 정렬기(601)의 다중화기(601)는 입력(2)을, 다중화기(602)는 입력(3)을, 다중화기(603)는 입력(4)을, 그리고 다중화기(604)는 입력(1)을 선택하도록 제어된다. 따라서, 정렬기(600)는 출력으로 정렬된 128비트 데이터 워드(M2, M3, M4, M5)를 전송한다.
도 5는 정렬기(600)의 다중화기에 대하여 서로 다른 선택 신호와 제어 신호를 갖는 표를 도시하고 있다. 선택 신호는 하위 주소 신호(A2, A3)로부터 쉽게 생성될 수 있다. 본 실시예에서, 최소 워드 크기는 32 비트이고, 바이트 호출(byte addressing)이 사용되며, 로딩이나 저장 명령에 대해서 최하위 주소 라인(A0, A1)은 사용되지 않는다. 도 5에서 알 수 있듯이, 선택 라인(440)은 항상 0을 전달한다. 메모리의 구조에 기인하여, 이 블록은 1 증가한 주소를 갖는 데이터 라인을 출력하도록 호출되지 않는다. 따라서, 메모리 블록(400)은 본 발명에 따라 설계될 필요가 없으며, 표준 메모리 블록일 수 있다. 도 6에는 구현된 선택 로직 장치(400)가 도시되어 있다. 하나의 OR 게이트(410)는 주소 신호(A2, A3)를 전달받아서 선택 신호(140)를 출력한다. A2는 선택 신호(240)를 생성하기 위해 직접 사용된다. 입력이 선택 신호(340)를 출력하도록 주소 신호(A2, A3)와 연결되어 있는 1개의 AND 게이트(420)가 제공된다.
도 7은 다른 구성을 갖는 본 발명에 따른 다른 실시예를 도시하고 있다. 동적 또는 정적 메모리와 같은 표준 메모리는 매트릭스를 형성하는 워드 라인(WL0, ..., WL511)과 비트 라인(BL0, ..., BL15)으로 이루어져 있다. 메모리 셀은 비트 라인과 워드 라인의 각각의 교차점으로 정의된다. 따라서, 예를 들어, 도 7에 따른 메모리 블록은 512 x 16 = 8 K, 즉 1 kbyte의 메모리 셀을 갖는다. 워드 라인(WL0, ..., WL511)은 도 3a에서 설명된 체계에 따라 구성되어 있다. 따라서, 아래쪽부터 위쪽으로 WL0, WL511, WL1, WL510, WL2, ... 의 순서를 갖게 된다. 비트 라인은 이와 유사한 방법으로 왼쪽에서 오른쪽으로 배열된다. 따라서, BL0, BL15, BL1, BL14, ...., BL7, BL8의 순서를 갖는다. 이와 같은 배열로 전술한 실시예의바이트/워드 접근과 반대 방향으로 단일 비트 접근이 가능하게 된다. 하나의 워드에 접근하기 위하여 복수의 이들 메모리 블록이 병렬적으로 접근된다.
각각의 워드 라인은 하나의 관련된 다중화기(7000, 7001, 7002, ..., 7511)를 갖는다. 각각의 워드 라인과 관련된 복호기(도시 안됨)는 인에이블 신호(DWL0, DWL1, ..., DWL511)를 생성한다. 각각의 인에이블 신호(DWL0, DWL1, ..., DWL511)는 관련된 다중화기(7000, 7001, ..., 7511)와 상위 호출된 워드 라인과 관련된 다중화기에 연결된다. 마지막 복호기(7511)의 인에이블 신호는 다중화기(7000)의 제 2 입력에 제공된다. NAND 게이트(710)는 호출된 메모리 셀과 1 증가된 주소를 갖는 메모리 셀 중 어느 것이 선택되는지를 결정하는 선택 로직 장치(도시 안됨)로부터 선택 신호(740)를 수신한다. NAND 게이트(710)의 출력은 제어 입력으로 반전된 값을 제공하여, 모든 다중화기(7000, ..., 7511)를 제어한다. 4개의 입력과 1개의 출력을 갖는 또 다른 NAND 게이트(720)가 제공된다. 입력은 주소 신호(Y0, Y1, Y2, Y3)와 연결되어 있다. 출력은 NAND 게이트(710)의 제 2 입력과 연결되어 있다. 복호기(800)와 다중화기 장치(900)가 제공된다. 다중화기 장치(900)는 해당하는 호출된 메모리 셀의 출력을 수신하기 위해 모든 비트 라인(BL0, BL1, ..., BL15)과 연결되어 있다. 다중화기 장치(900)는 각각의 비트 라인(BL0, BL1, ..., BL15)에 관련된 2 x 1 다중화기로 구성되어 있다. BL0은 다중화기(910)의 하나의 입력과 다중화기(920)의 하나의 입력과 연결되어 있다. 다중화기(910)의 다른 하나의 입력은 BL1과 연결되어 있다. 다중화기(930)는 비트 라인(BL1, BL2)과 연결되어 있고, 비트 라인(BL2)과 관련된 다중화기는 비트 라인(BL2, BL3)과 연결되어 있다. 모든 다른 다중화기는 유사한 방법으로 각각의 비트 라인과 연결되어 있다. 따라서 BL15는 다중화기(920)의 하나의 입력과 연결되어 있고, 비트 라인(BL14)과 관련된 다중화기의 하나의 입력과 연결되어 있다. 다중화기(900)는 다중화기(910, 920, 930, 940,...)를 제어하는 제어 신호로서 선택 신호(740)를 전달받는다. 주소 신호(Y0, Y1, Y2, Y3)는 다중화기 장치(900)의 출력 중 하나를 선택하기 위하여 복호기(800)를 제어한다.
도 7에 도시된 구조에서는 하나의 주소의 내용과 1 증가한 주소의 내용이 선택 신호(740)에 따라 접근할 수 있게 된다. 이와 같은 구조에서, 주소의 최하위 비트는 비트 라인에 해당하고, 최상위 비트는 워드 라인에 해당한다. 도 7에 따른 배열에는 16개의 비트 라인과 512개의 워드 라인이 배열되어 있다. 따라서, 최하위 비트는 4개의 주소 라인으로 구성되어 있고, 최상위 비트는 9개의 주소 라인으로 구성되어 있다. 이를 3가지 경우로 나누어 구분할 수 있다. 제 1 경우는 최하위 비트 주소 부분이 15보다 작고, 최상위 비트 주소 부분이 511보다 작은 경우이다. 따라서 1 증가한 주소를 비트 라인 다중화기(910, 920, 930, 940, ...)를 통하여 선택할 수 있다. 제 2 경우는 최하위 주소 부분이 15이고, 최상위 주소 부분이 511보다 작은 경우이다. 이 경우 BL15 또는 BL0을 각각 다중화기(910, 920)를 통하여 선택할 수 있다. 또한 NAND 게이트(720)는 최하위 주소를 1111로 복호화하므로, 다중화기(7000, ..., 7511)를 통하여 다음 워드 라인이 선택된다. 제 3 경우는 최하위 비트와 최상위 비트가 모두 각각의 최대값인 15와 511에 해당하는 경우이다. 이 경우, 도 7에 따른 배열은 최하위 비트 주소 부분을 0으로, 최상위 비트 주소 부분을0으로 랩 어라운드(wrap around) 한다. 이것은 원형 버퍼의 구현에 있어서 특히 유용하다. 물론 이와 같은 특별한 주소를 갖는 경우는 다른 메모리 블록을 선택하기 위한 다른 다중화기를 제어하는데 이용될 수 있는 다른 제어 신호를 생성하는데 이용될 수도 있다.
도 8은 비트 호출 가능한 메모리 블록의 다른 실시예를 도시하고 있다. 여기에서, 다중화기 배열은 비트 라인을 직접 선택하기보다는 비트 라인에 관련된 인에이블 신호를 선택하는데 사용된다. 따라서, 비트 라인은 전술한 바와 같은 접힘 방식으로 배열될 필요가 없을 뿐만 아니라, 임의의 순서, 예를 들어 연속적인 순서를 가질 수 있다. 예를 들어 4개의 주소 신호(Y0, Y1, Y2, Y3)를 수신하는 복호기(840)가 제공된다. 이전 복호기(840)는 16개의 인에이블 신호(DBL0, ..., DBL15)를 생성한다. 16개의 다중화기(801, ..., 816)는 각각의 비트 라인(BL0, ..., BL15)에 제공된다. 인에이블 신호(DBL0, ...,DBL15)는 복수의 다중화기(801, ..., 816)를 사용하여 워드 라인을 활동화시키는 방법과 유사하게 각각의 비트 라인(BL0, ..., BL15)을 활동화시킨다. 따라서, 인에이블 신호(DBL0)는 다중화기(801, 802)에 제공되고, 인에이블 신호(DBL1)는 다중화기(802, 803)에 제공된다. 이와 같은 방식으로 인에이블 신호(DBL15)는 마지막 다중화기(815, 816)에 제공된다. 선택 신호(740)는 모든 다중화기(801, ..., 816)를 직접 제어한다. 다중화기(801, ..., 816)의 출력은 각각의 비트 라인(BL0, ..., BL15)의 출력을 수신하는 16 대 1 다중화기(820)를 제어한다. 다중화기(820)의 출력(830)은 메모리 블록의 출력을 형성한다. 도 8에는 워드 라인에 대한 다중화기의 배열이 도시되어 있지않지만, 이는 도 7에 도시된 배열과 동일하다.
도 8에 도시된 실시예는 도 7에 도시된 실시예와 동일하게 동작한다. 하나의 비트 라인을 직접 선택하는 대신, 호출된 비트 라인 또는 증가한 주소를 갖는 비트 라인을 선택하는 방식으로 인에이블 신호가 다중화기(801, 802, ..., 815)를 통하여 스위칭된다. 도 7과 8에 도시된 비트 라인과 워드 라인의 접힘 방식과 같은 특정 배열 방법은 다중화기 사이의 제어 라인의 길이를 최소화시키고, 따라서 모든 메모리 셀의 접근 속도를 최대화하며, 각각의 드라이버에 대한 부담을 최소화한다. 뿐만 아니라, 본 발명에 따른 배열 방법이 사용될 경우, 실리콘 면적을 최소화할 수 있다.
본 발명은 복수의 워드를 비정렬 접근하게 하는 다른 조합을 갖는 다른 메모리 구조에서도 용이하게 변용될 수 있다. 복호화된 데이터 라인 또는 다음 상위 데이터 라인을 선택하는 방식은 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM) 또는 다른 종류의 유사한 메모리에 적용될 수 있다. 명세서에서는 본 발명에 관하여 데이터를 메모리로부터 로딩하는 것이 기재되어 있다. 물론 명세서를 통하여 판독 경로만이 기술되어 있지만, 본 발명에 따른 방식에 의하여 메모리에 기록하는 것도 가능하며, 당업자에 의해 용이하게 변용될 수도 있다.

Claims (21)

  1. 복수의 데이터 라인,
    각각의 데이터 라인과 관련된 복수의 복호기,
    2개의 입력과 각각의 데이터 라인과 관련된 출력을 갖는 복수의 다중화기를 포함하며,
    각각의 복호기는 관련된 주소 신호를 수신하여 인에이블 신호를 발생시키고, 각각의 복호기의 상기 인에이블 신호는 상기 관련된 다중화기의 제 1 입력과 상위 호출된 데이터 라인과 관련된 상기 다중화기의 제 2 입력과 연결되어 있으며, 상기 다중화기는 제어 입력에 의해 제어되는
    집적 메모리.
  2. 제 1 항에 있어서,
    각각의 다중화기는 2개의 제어 가능한 드라이버를 구비하며, 상기 드라이버는 각각 입력과 출력을 가지며, 상기 드라이버의 상기 출력은 서로 연결되어 있어 선택 신호를 데이터 라인에 제공하며, 상기 입력은 상기 복호기로부터 상기 인에이블 신호를 수신하는
    집적 메모리.
  3. 제 1 항에 있어서,
    상기 메모리는 적어도 하나의 메모리 블록을 가지며, 상기 메모리 블록은 2n개의 데이터 라인으로 구성되며, 상기 데이터 라인의 처음 절반은 아래쪽에서 위쪽으로 연속적으로 배열되고, 2개의 연속하는 데이터 라인은 각각의 2개의 연속하는 데이터 라인 사이에 다른 데이터 라인이 위치할 수 있도록 간격을 두고 배열되며, 상기 데이터 라인의 나머지 절반은 상기 위쪽에서 상기 아래쪽으로 상기 간격 사이에 연속적으로 배열되는
    집적 메모리.
  4. 제 1 항에 있어서,
    상기 제 1 데이터 라인과 관련된 상기 다중화기는 상기 마지막 데이터 라인과 관련된 상기 복호기로부터 상기 인에이블 신호를 수신하는
    집적 메모리.
  5. n비트 입력/출력 인터페이스를 갖는 m개의 메모리 뱅크,
    각각의 데이터 라인과 관련된 출력과 2개의 입력을 갖는 복수의 다중화기를포함하며,
    적어도 m-1개의 메모리 뱅크는 복수의 데이터 라인과 각각의 데이터 라인과 관련된 복수의 복호기를 각각 구비하며, 각각의 복호기는 관련된 주소 신호를 수신하여 인에이블 신호를 발생시키며, 각각의 복호기의 상기 인에이블 신호는 상기 관련된 다중화기의 제 1 입력과 상위 호출된 데이터 라인과 관련된 상기 다중화기의 제 2 입력에 제공되며, 상기 다중화기는 제어 신호에 의하여 제어되는
    메모리 시스템.
  6. 제 5 항에 있어서,
    각각의 다중화기는 각각 입력과 출력을 갖는 2개의 제어 가능한 드라이버를 구비하며, 상기 드라이버의 상기 출력은 서로 연결되어 있어 선택 신호를 데이터 라인에 제공하며, 상기 입력은 상기 복호기로부터 상기 인에이블 신호를 수신하는
    메모리 시스템.
  7. 제 4 항에 있어서,
    상기 제 1 데이터 라인과 관련된 상기 다중화기는 상기 마지막 데이터 라인과 관련된 상기 복호기로부터 상기 인에이블 신호를 수신하는
    메모리 시스템.
  8. 제 5 항에 있어서,
    적어도 m-1개의 메모리 뱅크는 각각 적어도 하나의 메모리 블록을 가지며, 상기 메모리 블록은 2n개의 데이터 라인을 가지며, 상기 데이터 라인의 처음 절반은 아래쪽에서 위쪽으로 연속적으로 배열되며, 2개의 연속하는 데이터 라인은 각각의 2개의 연속하는 데이터 라인 사이에 다른 데이터 라인이 위치할 수 있도록 간격을 두고 배열되며, 상기 데이터 라인의 나머지 절반은 상기 위쪽에서 상기 아래쪽으로 상기 간격 사이에 연속적으로 배열되는
    메모리 시스템.
  9. 제 5 항에 있어서,
    상기 데이터 뱅크의 상기 출력을 정렬하는 정렬 장치를 더 포함하는
    메모리 시스템.
  10. 복수의 데이터 라인,
    각각의 데이터 라인과 관련되어 있으며, 관련된 주소를 복호화하여 인에이블 신호를 발생시키는 복수의 복호기,
    상기 인에이블 신호를 상기 관련된 데이터 라인 또는 상위 데이터 라인에 재전송시키는 복수의 다중화기를 포함하는
    집적 메모리 블록.
  11. 제 10 항에 있어서,
    각각의 다중화기는 각각 입력과 출력을 갖는 2개의 제어 가능한 드라이버를 구비하며, 상기 드라이버의 상기 출력은 서로 연결되어 있어 선택 신호를 데이터 라인에 제공하며, 상기 입력은 상기 복호기로부터 상기 인에이블 신호를 수신하는
    집적 메모리 블록.
  12. 제 10 항에 있어서,
    상기 메모리는 적어도 1개의 메모리 하위 블록을 가지며, 상기 메모리 하위 블록은 2n개의 워드 라인을 가지며, 상기 데이터 라인의 처음 절반은 아래쪽에서 위쪽으로 연속적으로 배열되며, 2개의 연속하는 데이터 라인은 각각의 2개의 연속하는 데이터 라인 사이에 다른 데이터 라인이 위치할 수 있도록 간격을 두고 배열되며, 상기 데이터 라인의 나머지 절반은 상기 위쪽에서 상기 아래쪽으로 상기 간격 사이에 연속적으로 배열되는
    집적 메모리 블록.
  13. 제 10 항에 있어서,
    상기 제 1 데이터 라인과 관련된 상기 다중화기는 상기 마지막 데이터 라인과 관련된 상기 복호기로부터 상기 인에이블 신호를 수신하는
    집적 메모리 블록.
  14. 매트릭스 형태로 배열된 복수의 워드 라인과 복수의 비트 라인,
    각각의 워드 라인과 관련된 복호기 출력을 갖는 복수의 워드 라인 복호기,
    각각의 워드 라인과 관련된 출력과 2개의 입력으로 각각 구성된 복수의 다중화기를 포함하며,
    상기 워드 라인과 상기 비트 라인의 교차점은 메모리 셀을 구성하며, 각각의 다중화기는 관련된 복호기의 출력, 다음 하위 호출된 워드 라인과 관련된 복호기의 출력과 연결되어 있으며, 상기 다중화기의 출력은 각각 관련된 워드 라인을 제어하며, 상기 다중화기는 선택 신호에 의해 제어되는
    메모리 장치.
  15. 제 14 항에 있어서,
    상기 제 1 워드 라인과 관련된 상기 다중화기는 상기 마지막 워드 라인과 관련된 상기 복호기의 출력과 연결되어 있는
    메모리 장치.
  16. 제 14 항에 있어서,
    다중화기 장치와 복호기는 상기 비트 라인 중 하나를 선택하기 위해 상기 비트 라인과 연결되어 있는
    메모리 장치.
  17. 제 16 항에 있어서,
    상기 다중화기 장치는 상기 선택 신호를 수신하는
    메모리 장치.
  18. 제 14 항에 있어서,
    상기 워드 라인은 아래쪽에서 위쪽으로 연속적으로 배열되며, 2개의 연속하는 워드 라인은 각각의 2개의 연속하는 워드 라인 사이에 다른 워드 라인이 위치할 수 있도록 간격을 두고 배열되며, 상기 워드 라인의 나머지 절반은 상기 위쪽에서 상기 아래쪽으로 상기 간격 사이에 연속적으로 배열되는
    메모리 장치.
  19. 제 16 항에 있어서,
    상기 복호기와 상기 다중화기는 각각의 비트 라인과 관련된 비트 라인의 선택 출력을 갖는 주소 신호를 복호화하는 비트 라인 복호기와 각각의 비트 라인과 관련된 출력과 2개의 입력을 각각 포함하는 복수의 다중화기를 포함하며, 각각의 다중화기는 각각의 선택 출력, 다음 하위 호출된 데이터 라인의 선택 출력과 연결되어 있으며, 상기 다중화기의 상기 출력은 상기 비트 라인 중 하나를 선택하기 위한 다중화기를 제어하며, 상기 다중화기는 호출된 메모리 셀 또는 다음 상위 주소를 갖는 메모리 셀 중 어느 것이 선택되는지를 나타내는 선택 신호에 의해 제어되는
    메모리 장치.
  20. 제 19 항에 있어서,
    상기 제 1 비트 라인과 관련된 상기 다중화기는 상기 마지막 비트 라인과 관련된 상기 선택 출력과 연결되어 있는
    메모리 장치.
  21. 제 14 항에 있어서,
    상기 선택 신호는 주소 신호의 최하위 비트로부터 생성되는
    메모리 장치.
KR1020027010665A 2000-02-18 2001-01-22 비정렬 접근을 지원하는 메모리 장치 KR20020086542A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/507,568 2000-02-18
US09/507,568 US6256253B1 (en) 2000-02-18 2000-02-18 Memory device with support for unaligned access
PCT/US2001/002128 WO2001061705A1 (en) 2000-02-18 2001-01-22 Memory device with support for unaligned access

Publications (1)

Publication Number Publication Date
KR20020086542A true KR20020086542A (ko) 2002-11-18

Family

ID=24019164

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027010665A KR20020086542A (ko) 2000-02-18 2001-01-22 비정렬 접근을 지원하는 메모리 장치

Country Status (6)

Country Link
US (3) US6256253B1 (ko)
EP (1) EP1259963B1 (ko)
JP (1) JP2003523598A (ko)
KR (1) KR20020086542A (ko)
DE (1) DE60142108D1 (ko)
WO (1) WO2001061705A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256253B1 (en) * 2000-02-18 2001-07-03 Infineon Technologies North America Corp. Memory device with support for unaligned access
FI20010924A (fi) * 2001-05-03 2002-11-04 Nokia Corp Mikroprosessorin muistinkäsittely
US7254331B2 (en) 2002-08-09 2007-08-07 Micron Technology, Inc. System and method for multiple bit optical data transmission in memory systems
US7836252B2 (en) * 2002-08-29 2010-11-16 Micron Technology, Inc. System and method for optimizing interconnections of memory devices in a multichip module
US7245145B2 (en) 2003-06-11 2007-07-17 Micron Technology, Inc. Memory module and method having improved signal routing topology
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
KR100550634B1 (ko) * 2003-10-31 2006-02-10 주식회사 하이닉스반도체 셀프리프레쉬 주기 발생 장치
US20050144416A1 (en) * 2003-12-29 2005-06-30 Intel Corporation, A Delaware Corporation Data alignment systems and methods
US7366864B2 (en) 2004-03-08 2008-04-29 Micron Technology, Inc. Memory hub architecture having programmable lane widths
US7120723B2 (en) * 2004-03-25 2006-10-10 Micron Technology, Inc. System and method for memory hub-based expansion bus
US7392331B2 (en) 2004-08-31 2008-06-24 Micron Technology, Inc. System and method for transmitting data packets in a computer system having a memory hub architecture
US8879435B1 (en) * 2004-12-21 2014-11-04 Mindspeed Technologies, Inc. Memory access system and method
US20070050592A1 (en) * 2005-08-31 2007-03-01 Gschwind Michael K Method and apparatus for accessing misaligned data streams
US7266021B1 (en) * 2005-09-27 2007-09-04 Lsi Corporation Latch-based random access memory (LBRAM) tri-state banking architecture
JP4682786B2 (ja) * 2005-10-04 2011-05-11 株式会社デンソー マイクロコンピュータ
US8156310B2 (en) * 2006-09-11 2012-04-10 International Business Machines Corporation Method and apparatus for data stream alignment support
US8219785B1 (en) * 2006-09-25 2012-07-10 Altera Corporation Adapter allowing unaligned access to memory
US7477551B2 (en) * 2006-11-08 2009-01-13 Texas Instruments Incorporated Systems and methods for reading data from a memory array
US20080162522A1 (en) * 2006-12-29 2008-07-03 Guei-Yuan Lueh Methods and apparatuses for compaction and/or decompaction
US20080162879A1 (en) * 2006-12-29 2008-07-03 Hong Jiang Methods and apparatuses for aligning and/or executing instructions
US20120246407A1 (en) * 2011-03-21 2012-09-27 Hasenplaugh William C Method and system to improve unaligned cache memory accesses
US8526264B2 (en) * 2011-06-29 2013-09-03 Stmicroelectronics International N.V. Partial write on a low power memory architecture

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4598388A (en) * 1985-01-22 1986-07-01 Texas Instruments Incorporated Semiconductor memory with redundant column circuitry
US5781753A (en) * 1989-02-24 1998-07-14 Advanced Micro Devices, Inc. Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions
DE4118804C2 (de) * 1990-06-08 1996-01-04 Toshiba Kawasaki Kk Serienzugriff-Speicheranordnung
GB9223226D0 (en) * 1992-11-05 1992-12-16 Algotronix Ltd Improved configurable cellular array (cal ii)
US6233702B1 (en) * 1992-12-17 2001-05-15 Compaq Computer Corporation Self-checked, lock step processor pairs
US5509129A (en) * 1993-11-30 1996-04-16 Guttag; Karl M. Long instruction word controlling plural independent processor operations
US5559749A (en) * 1995-05-11 1996-09-24 Micron Technology, Inc. Multi-bit block write in a random access memory
US5819117A (en) * 1995-10-10 1998-10-06 Microunity Systems Engineering, Inc. Method and system for facilitating byte ordering interfacing of a computer system
US5914906A (en) * 1995-12-20 1999-06-22 International Business Machines Corporation Field programmable memory array
US5894565A (en) * 1996-05-20 1999-04-13 Atmel Corporation Field programmable gate array with distributed RAM and increased cell utilization
US6047352A (en) * 1996-10-29 2000-04-04 Micron Technology, Inc. Memory system, method and predecoding circuit operable in different modes for selectively accessing multiple blocks of memory cells for simultaneous writing or erasure
KR100228339B1 (ko) * 1996-11-21 1999-11-01 김영환 읽기 포트와 쓰기 포트를 공유하는 다중포트 액세스 메모리
US6020759A (en) * 1997-03-21 2000-02-01 Altera Corporation Programmable logic array device with random access memory configurable as product terms
JP3166838B2 (ja) * 1997-12-16 2001-05-14 日本電気株式会社 プライオリティ・エンコーダ及びプライオリティ・エンコード方法
US6061779A (en) * 1998-01-16 2000-05-09 Analog Devices, Inc. Digital signal processor having data alignment buffer for performing unaligned data accesses
US6076136A (en) * 1998-06-17 2000-06-13 Lucent Technologies, Inc. RAM address decoding system and method to support misaligned memory access
US6072735A (en) * 1998-06-22 2000-06-06 Lucent Technologies, Inc. Built-in redundancy architecture for computer memories
US6122219A (en) * 1998-07-14 2000-09-19 Winbond Electronics Corporation America Split array semiconductor graphics memory architecture supporting maskable block write operation
US6061291A (en) * 1998-07-14 2000-05-09 Winbond Electronics Corporation America Memory integrated circuit supporting maskable block write operation and arbitrary redundant column repair
US6256253B1 (en) * 2000-02-18 2001-07-03 Infineon Technologies North America Corp. Memory device with support for unaligned access

Also Published As

Publication number Publication date
US6256253B1 (en) 2001-07-03
EP1259963A1 (en) 2002-11-27
US6512716B2 (en) 2003-01-28
DE60142108D1 (de) 2010-06-24
EP1259963B1 (en) 2010-05-12
US20010024398A1 (en) 2001-09-27
US20030112670A1 (en) 2003-06-19
WO2001061705A1 (en) 2001-08-23
JP2003523598A (ja) 2003-08-05

Similar Documents

Publication Publication Date Title
KR20020086542A (ko) 비정렬 접근을 지원하는 메모리 장치
KR0180929B1 (ko) 반도체 기억장치
US5261068A (en) Dual path memory retrieval system for an interleaved dynamic RAM memory unit
US4773049A (en) Semiconductor memory device having improved access time for continuously accessing data
US6128244A (en) Method and apparatus for accessing one of a plurality of memory units within an electronic memory device
US5574880A (en) Mechanism for performing wrap-around reads during split-wordline reads
US4763302A (en) Alternatively addressed semiconductor memory array
KR970051152A (ko) 고속 버스트 리드/라이트 동작에 적합한 데이타 버스 라인 구조를 갖는 반도체 메모리 장치
US7333389B2 (en) Column decoding architecture for flash memories
KR100498508B1 (ko) 데이터 전송시간을 감소시키는 듀얼 버퍼링(Dualbuffering) 메모리 시스템 및 이에 대한 제어방법
US4800535A (en) Interleaved memory addressing system and method using a parity signal
US6191997B1 (en) Memory burst operations in which address count bits are used as column address bits for one, but not both, of the odd and even columns selected in parallel.
US5450566A (en) Register block circuit for central processing unit of microcomputer
US4744053A (en) ROM with mask programmable page configuration
JPS593790A (ja) ダイナミツクメモリ素子を用いた記憶装置
US5231603A (en) Variable page ROM
KR100571435B1 (ko) 메모리 디바이스 및 그 어드레스 지정 방법
JPH1139857A (ja) メモリシステム及び情報処理システム
JPH06342400A (ja) プロセッサ・メモリのアドレス制御方法
JPH0612608B2 (ja) 半導体記憶装置
US5276846A (en) Fast access memory structure
US6373778B1 (en) Burst operations in memories
JP2950427B2 (ja) レジスタバンク回路
KR20020097037A (ko) 데이터 기억 회로 및 데이터 처리 장치
JP3360902B2 (ja) 半導体記憶装置

Legal Events

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