KR100721582B1 - 직렬 입/출력 인터페이스를 가진 멀티 포트 메모리 소자 - Google Patents

직렬 입/출력 인터페이스를 가진 멀티 포트 메모리 소자 Download PDF

Info

Publication number
KR100721582B1
KR100721582B1 KR1020060032948A KR20060032948A KR100721582B1 KR 100721582 B1 KR100721582 B1 KR 100721582B1 KR 1020060032948 A KR1020060032948 A KR 1020060032948A KR 20060032948 A KR20060032948 A KR 20060032948A KR 100721582 B1 KR100721582 B1 KR 100721582B1
Authority
KR
South Korea
Prior art keywords
signal
bank
output
input
port
Prior art date
Application number
KR1020060032948A
Other languages
English (en)
Other versions
KR20070036610A (ko
Inventor
임재혁
도창호
Original Assignee
주식회사 하이닉스반도체
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 하이닉스반도체 filed Critical 주식회사 하이닉스반도체
Priority to DE102006045248A priority Critical patent/DE102006045248A1/de
Priority to US11/528,970 priority patent/US7616518B2/en
Priority to JP2006269659A priority patent/JP2007095284A/ja
Priority to TW095136282A priority patent/TWI319194B/zh
Priority to CN2006101317207A priority patent/CN1941192B/zh
Publication of KR20070036610A publication Critical patent/KR20070036610A/ko
Application granted granted Critical
Publication of KR100721582B1 publication Critical patent/KR100721582B1/ko

Links

Images

Classifications

    • DTEXTILES; PAPER
    • D06TREATMENT OF TEXTILES OR THE LIKE; LAUNDERING; FLEXIBLE MATERIALS NOT OTHERWISE PROVIDED FOR
    • D06FLAUNDERING, DRYING, IRONING, PRESSING OR FOLDING TEXTILE ARTICLES
    • D06F57/00Supporting means, other than simple clothes-lines, for linen or garments to be dried or aired 
    • D06F57/08Folding stands
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47GHOUSEHOLD OR TABLE EQUIPMENT
    • A47G25/00Household implements used in connection with wearing apparel; Dress, hat or umbrella holders
    • A47G25/02Dress holders; Dress suspending devices; Clothes-hanger assemblies; Clothing lifters
    • A47G25/06Clothes hooks; Clothes racks; Garment-supporting stands with swingable or extending arms
    • A47G25/0685Collapsible clothes racks, e.g. swingable, foldable, extendible
    • DTEXTILES; PAPER
    • D06TREATMENT OF TEXTILES OR THE LIKE; LAUNDERING; FLEXIBLE MATERIALS NOT OTHERWISE PROVIDED FOR
    • D06FLAUNDERING, DRYING, IRONING, PRESSING OR FOLDING TEXTILE ARTICLES
    • D06F57/00Supporting means, other than simple clothes-lines, for linen or garments to be dried or aired 
    • D06F57/02Supporting means, other than simple clothes-lines, for linen or garments to be dried or aired  mounted on pillars, e.g. rotatably
    • D06F57/04Supporting means, other than simple clothes-lines, for linen or garments to be dried or aired  mounted on pillars, e.g. rotatably and having radial arms, e.g. collapsible
    • DTEXTILES; PAPER
    • D06TREATMENT OF TEXTILES OR THE LIKE; LAUNDERING; FLEXIBLE MATERIALS NOT OTHERWISE PROVIDED FOR
    • D06FLAUNDERING, DRYING, IRONING, PRESSING OR FOLDING TEXTILE ARTICLES
    • D06F57/00Supporting means, other than simple clothes-lines, for linen or garments to be dried or aired 
    • D06F57/06Supporting means, other than simple clothes-lines, for linen or garments to be dried or aired  comprising vertical members connected by horizontal bars
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F26DRYING
    • F26BDRYING SOLID MATERIALS OR OBJECTS BY REMOVING LIQUID THEREFROM
    • F26B25/00Details of general application not covered by group F26B21/00 or F26B23/00
    • F26B25/06Chambers, containers, or receptacles
    • F26B25/14Chambers, containers, receptacles of simple construction
    • F26B25/18Chambers, containers, receptacles of simple construction mainly open, e.g. dish, tray, pan, rack
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05DHINGES OR SUSPENSION DEVICES FOR DOORS, WINDOWS OR WINGS
    • E05D7/00Hinges or pivots of special construction
    • E05D7/04Hinges adjustable relative to the wing or the frame
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16BDEVICES FOR FASTENING OR SECURING CONSTRUCTIONAL ELEMENTS OR MACHINE PARTS TOGETHER, e.g. NAILS, BOLTS, CIRCLIPS, CLAMPS, CLIPS OR WEDGES; JOINTS OR JOINTING
    • F16B35/00Screw-bolts; Stay-bolts; Screw-threaded studs; Screws; Set screws
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16BDEVICES FOR FASTENING OR SECURING CONSTRUCTIONAL ELEMENTS OR MACHINE PARTS TOGETHER, e.g. NAILS, BOLTS, CIRCLIPS, CLAMPS, CLIPS OR WEDGES; JOINTS OR JOINTING
    • F16B37/00Nuts or like thread-engaging members

Landscapes

  • Engineering & Computer Science (AREA)
  • Textile Engineering (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Dram (AREA)
  • Static Random-Access Memory (AREA)

Abstract

본 발명은 독립적인 데이터 처리가 요구되는 응용 소자를 구비한 외부 장치와 다양한 멀티 미디어 기능을 수행할 수 있는 멀티 포트 메모리 소자를 제공하기 위한 것으로, 이를 위해 본 발명은 코어 영역의 중앙부에 배치되어 각각 서로 다른 목표의 외부 장치와 독립적인 통신을 수행하기 위한 다수의 포트와, 상기 포트를 경계로 상기 코어 영역의 상부와 하부에 각각 일정 갯수만큼 행 방향으로 배치된 다수의 뱅크와, 상기 포트와 상기 뱅크 사이에 각각 행방향으로 배치되어 상기 포트와 상기 뱅크 간에 독립적인 데이터 전송을 수행하도록 제공하는 제1 및 제2 글로벌 데이터 버스와, 상기 제1 및 제2 글로벌 데이터 버스와 상기 뱅크 간, 상기 제1 및 제2 글로벌 데이터 버스와 상기 포트 간에 데이터 전송을 수행하도록 제공하는 제1 및 제2 로컬 데이터 버스를 구비하는 멀티 포트 메모리 소자를 제공한다.
멀티 미디어, 멀티 포트 메모리 소자, 뱅크, 뱅크 제어부, 포트, 글로벌 데이터 버스, 직렬 전송, 병렬 전송

Description

직렬 입/출력 인터페이스를 가진 멀티 포트 메모리 소자{MULTI PORT MEMORY DEVICE WITH SERIAL INPUT/OUTPUT INTERFACE}
도 1은 일반적인 단일 포트 메모리 소자의 구조를 도시한 구성도.
도 2는 본 발명의 실시예에 따른 멀티 포트 메모리 소자의 구조를 도시한 구성도.
도 3은 도 2에 도시된 뱅크의 내부 구성을 도시한 구성도.
도 4는 도 2에 도시된 포트의 내부 구성을 도시한 구성도.
도 5는 도 2에 도시된 포트로 입력되는 입력신호의 프레임 형태를 도시한 도면.
도 6은 도 2에 도시된 뱅크 제어부의 구성을 도시한 구성도.
도 7은 도 6에 도시된 뱅크 선택부의 구성을 도시한 구성도.
도 8은 도 6에 도시된 스테이트 머신의 구성을 도시한 구성도.
도 9는 도 6에 도시된 병렬화부의 구성을 도시한 구성도.
도 10은 도 6에 도시된 직렬화부의 구성을 도시한 구성도.
도 11은 도 6에 도시된 포트 선택부의 구성을 도시한 구성도.
도 12는 포트로부터 뱅크로의 입력신호 전송 경로를 설명하기 위하여 도시한 도면.
도 13은 뱅크로부터 포트로의 출력신호 전송 경로를 설명하기 위하여 도시한 도면.
* 도면의 주요 부분에 대한 부호의 설명
BANK0~BANK7 : 뱅크 PORT0~PORT3 : 포트
BC0~BC7 : 뱅크 제어부 GIO_out, GIO_in : 글로벌 데이터 버스
LIO_Bout, LIO_Bin, LIO_P1, LIO_P2 : 로컬 데이터 버스
Tx : 전송 패드 Rx : 수신 패드
MUX1~MUX18 : 먹스 DEMUX0~DEMUX3 : 디먹스
10 : 메모리 셀 어레이 11 : 행 디코더
12 : 열 디코더 13 : 쓰기 드라이버
14 : 데이터 버스 감지 증폭기
41 : 수신부 42 : 송신부
411, 61 : 병렬화부 412 : 명령 생성부
413 : 뱅크 주소 생성부 414 : 뱅크 주소 출력부
415 : 입력유효데이터 출력부 421, 62 : 직렬화부
422 : 출력유효데이터 입력부 63 : 스테이트 머신
64 : 입력신호 상태 판별부 65 : 뱅크 선택부
66 : 포트 선택부 631 : 명령 생성부
632 : 입력데이터 스트로브 생성부
633 : 행 주소 생성부 634 : 열 주소 생성부
635 : 읽기 데이터 파이프 제어부
636 : 데이터 출력 제어부 611, 621 : 저장부
612 : 정렬기
본 발명은 반도체 설계 기술에 관한 것으로, 특히 외부장치와 다수의 병행(multiple concurrent) 처리를 위해 직렬 입/출력 인터페이스(interface)를 갖는 멀티 포트 메모리 소자(multi-port memory device)의 구조(architecture)에 관한 것이다.
일반적으로, RAM(Random Access Memory)을 비롯한 대부분의 메모리 소자는 하나의 포트-하나의 포트에 다수의 입/출력 핀 세트(pin set)가 존재함-를 구비한다. 즉, 외부 칩셋(chipset)과의 데이터(data) 교환을 위해 하나의 포트만을 구비하고 있다. 이러한 단일 포트를 갖는 메모리 소자는 여러 개의 입/출력 핀에 연결된 신호선을 통해 동시에 여러 비트(bit)의 데이터를 전송하는 병렬 입/출력 인터페이스를 사용하고 있다. 즉, 다수의 입/출력 핀을 통해 외부 소자와 데이터를 병렬적으로 교환한다.
전술한 입/출력 인터페이스는 서로 다른 기능을 갖는 단위 소자를 신호선으로 서로 연결하여 송/수신 데이터가 정확히 상대에게 전송되도록 하기 위한 전기적, 기계적 취급 방법을 말하며, 후술되는 입/출력 인터페이스 또한 이와 동일한 의미로 해석되어야 한다. 또한, 신호선은 보편적으로 주소신호(address signal), 데이터신호(data signal) 및 제어신호(control signal)(명령신호) 등과 같은 신호를 전송하는 버스(bus)를 말하며, 후술될 신호선은 설명의 편의를 위해 통칭에서 버스라 명명하기로 한다.
병렬 입/출력 인터페이스는 여러 개의 버스를 통해 동시에 여러 비트의 데이터를 전송할 수 있어 데이터 처리 효율(속도)이 우수하므로 빠른 속도를 요하는 짧은 거리 전송에 주로 이용되고 있다. 그러나, 병렬 입/출력 인터페이스는 입/출력 데이터를 전송하기 위한 버스가 증가하는 바, 거리가 길어지면 제품 단가(cost)가 높아지게 된다. 또한, 멀티 미디어 시스템(multi-media system)의 하드웨어(hardware)의 측면에서 볼 때, 단일 포트(single port)라는 제약 때문에 다양한 멀티 미디어 기능을 지원하기 위해서는 여러 개의 메모리 소자를 독립적으로 구성하거나, 하나의 기능에 대한 동작이 진행될 때는 다른 기능의 동작을 동시에 할 수 없다는 단점이 있다.
전술한 바와 같은 병렬 입/출력 인터페이스의 단점을 고려하여 병렬 입/출력 인터페이스를 갖는 메모리 소자를 직렬 입/출력 인터페이스로 전환하려는 노력이 계속되고 있으며, 또한 다른 직렬 입/출력 인터페이스를 갖는 장치와의 호환성 확장 등을 고려하여 반도체 메모리 소자의 입출력 환경이 직렬 입/출력 인터페이스로 의 전환이 요구되고 있다. 뿐만 아니라, 표시장치 예컨대, HDTV(High Definition TeleVision)와 LCD(Liquid Crystal Display) TV와 같은 표시장치에서는 오디오(audio) 프로세서(processor)나 비디오(video) 프로세서 등과 같은 응용 소자들이 내장되어 있으며, 이러한 응용 소자들은 독립적인 데이터 처리(data processing)가 요구되므로 다수의 포트를 통해 직렬 입/출력 인터페이스를 갖는 멀티 포트 메모리 소자의 개발이 절실히 요구되는 상황이다.
도 1은 일반적인 단일 포트 메모리 소자의 구조를 설명하기 위하여 도시한 구성도이다. 여기서는 설명의 편의를 위해 일반적인 x16 512M DRAM을 예로 도시하였다.
도 1을 참조하면, 일반적으로 x16 512M DRAM 단일 포트 메모리 소자는 N×M(N, M은 자연수)개의 메모리 셀(memory cell)이 행렬(matrix) 형태로 배치된 복수의 메모리 셀(memory cell)과 행/열 라인(row/column line) 별로 메모리 셀을 선택하는 행/열 디코더(decoder)가 구비된 4개의 뱅크(bank0~bank3)와, 4개의 뱅크(bank0~bank3)로 입/출력되는 신호들의 입/출력을 담당하는 한 개의 포트(port)와, 포트(port)와 뱅크(bank0~bank3) 및 포트(port)와 핀 간에 신호 전달을 위한 다수의 버스(GIO)를 구비한다. 여기서, 버스(GIO)는 DRAM 소자에서 보편적으로 명명되는 글로벌 입/출력 버스(global I/O bus)를 의미하며, 제어버스, 15개의 주소버스 및 16개의 데이터버스로 이루어진다.
전술한 바와 같이, 단일 포트 메모리 소자에는 포트(port)가 하나만 존재하고, 포트(port) 내에는 외부 핀과의 인터페이스를 위해 다수의 입/출력 핀 셋(pin set)이 존재한다.
뱅크(bank0~bank3)로부터 외부 장치로의 신호(데이터) 전달 과정을 설명하면 다음과 같다. 뱅크(bank0~bank3)로부터 출력되어 입/출력 데이터버스로 전달된 데이터는 포트(port)를 경유하여 16개의 입/출력 데이터 핀(data pin)(외부 핀)을 통해 외부 장치로 병렬로 전달된다.
외부 장치로부터 뱅크(bank0~bank3)로의 신호(데이터) 전달 과정을 설명하면 다음과 같다. 외부 장치로부터 데이터는 16개의 입/출력 데이터 핀을 통해 병렬로 포트(port)로 전달되고, 포트(port)로 전달된 데이터는 병렬로 16개의 입/출력 데이터버스를 통해 뱅크(bank0~bank3)로 전달된다. 그리고, 뱅크(bank0~bank3)로 전달된 데이터는 뱅크 내에 구성된 제어회로들(예컨대, 디코더, 드라이버 등)을 통해 메모리 셀로 전달된다.
한편, 외부 장치로부터 뱅크(bank0~bank3)로 전달되는 신호는 데이터신호뿐만 아니라, 주소 및 명령신호를 포함한다. 주소 및 명령신호는 16개의 입/출력 데이터 핀을 제외한 별도의 입/출력 주소 핀과 명령 핀을 통해 병렬로 외부 장치로부터 포트(port)로 전달된다. 포트(port)로 전달된 명령신호는 병렬로 1개의 제어버스에 실리고, 주소신호는 15개의 주소버스로 실려져 병렬로 뱅크(bank0~bank3)로 전달된다.
그러나, 단일 포트 메모리 소자에서 가장 큰 문제점은 단일 포트를 사용하기 때문에 다양한 멀티 미디어 기능(multimedia function)을 구현할 수 없다는데 있다. 단일 포트 메모리 구조에서 멀티 미디어 기능을 구현하기 위해서는 여러 개의 메모리 소자, 예컨대 DRAM 소자를 독립적으로 구성하여 각각의 DRAM 소자가 서로 다른 기능을 담당하도록 제공하여야만 한다. 하지만, DRAM 소자를 독립적으로 구성하는 경우 메모리 접근(access) 양이 많은 소자와 적은 소자 간에 적절한 메모리 양의 할당(assign)이 어려워 전체 메모리 소자의 밀도 대비 이용 효율이 떨어지는 단점이 있다.
따라서, 본 발명은 상기와 같은 종래기술의 문제점을 해결하기 위해 제안된 것으로, 독립적인 데이터 처리가 요구되는 응용 소자를 구비한 외부 장치와 다양한 멀티 미디어 기능을 수행할 수 있는 멀티 포트 메모리 소자를 제공하는데 그 목적이 있다.
상기한 목적을 달성하기 위한 일 측면에 따른 본 발명은 코어 영역의 중앙부에 배치되어 각각 서로 다른 목표의 외부 장치와 독립적인 통신을 수행하기 위한 다수의 포트와, 상기 포트를 경계로 상기 코어 영역의 상부와 하부에 각각 일정 갯수만큼 행 방향으로 배치된 다수의 뱅크와, 상기 포트와 상기 뱅크 사이에 각각 행방향으로 배치되어 상기 포트와 상기 뱅크 간에 독립적인 데이터 전송을 수행하도록 제공하는 제1 및 제2 글로벌 데이터 버스와, 상기 제1 및 제2 글로벌 데이터 버스와 상기 뱅크 간, 상기 제1 및 제2 글로벌 데이터 버스와 상기 포트 간에 데이터 전송을 수행하도록 제공하는 제1 및 제2 로컬 데이터 버스를 구비하는 멀티 포트 메모리 소자를 제공한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부한 도면을 참조하여 설명한다. 또한, 명세서 전체에 걸쳐서 동일한 참조번호(도면번호)로 표시된 부분은 동일한 구성요소들을 나타낸다.
실시예
도 2는 본 발명의 실시예에 따른 멀티 포트 메모리 소자의 구조를 설명하기 위하여 도시한 구성도이다. 여기서는, 설명의 편의를 위해 4개의 포트(PORT0~PORT3)와 8개의 뱅크(BANK0~BANK7)를 구비하고, 16 비트 데이터 프레임(16 bit data frame)을 가지며, 64비트 프리-페치(pre-fetch) 동작을 수행하는 메모리 소자를 예로 설명한다.
도 2를 참조하면, 본 발명의 실시예에 따른 멀티 포트 메모리 소자는 코어(core) 영역의 중앙부에 행(row) 방향(도면에서는 좌우방향)으로 배치되어 각각 서로 다른 목표(target) 외부 장치와 독립적으로 직렬 데이터통신을 수행하기 위한 다수의 포트(PORT0~PORT3)와, 다수의 포트(PORT0~PORT3)를 경계로 상부와 하부에 각각 일정 개수만큼 행 방향으로 배치된 다수의 뱅크(BANK0~BANK3 및 BANK4~BANK7)와, 코어 영역의 상부에 배치된 다수의 뱅크(BANK0~BANK3)와 포트(PORT0~PORT3) 사이에 행 방향으로 배치되어 병렬 데이터 전송을 수행하기 위한 제1 글로벌 데이터 버스(GIO_out)와, 코어 영역의 하부에 배치된 다수의 뱅크(BANK4~BANK7)와 포트(PORT4~PORT7) 사이에 행 방향으로 배치되어 병렬 데이터 전송을 수행하기 위한 제2 글로벌 데이터 버스(GIO_in)와, 제1 및 제2 글로벌 데이터 버스(GIO_out, GIO_in)와 다수의 뱅크(BANK0~BANK7) 간에 신호 전송을 제어하기 위한 뱅크 제어부(BC0~BC7)를 구비한다.
도 2에 도시된 멀티 포트 메모리 소자의 각 구성요소를 구체적으로 설명하면 다음과 같다.
8개의 뱅크(BANK0~BANK7) 각각은 도 3에 도시된 바와 같이 N×M(N, M은 자연수)개의 메모리 셀(MC)이 행렬 형태로 배치된 메모리 셀 어레이(10)와, 행/열 라인 별로 메모리 셀을 선택하는 행/열 디코더(11, 12)를 포함하고, 각 뱅크의 내부에는 통상의 DRAM 코어 영역에서 필수적인 데이터 버스 감지 증폭기(Data Bus SenseAmplifier, DBSA)(14), 등화기(equalizer, 미도시) 및 쓰기 드라이버(Write Driver, W/D)(13)를 구비한다. 이러한 구성들을 구비한 뱅크(BANK0~BANK7)는 다수의 포트(PORT0~PORT3)를 경계로 코어 영역을 이분할하여 서로 대칭적으로 상부에 4개의 뱅크(BANK0~BANK3)가 행 방향으로 배치되고, 하부에 나머지 4개의 뱅크(BANK4~BANK7)가 배치된다. 한편, 상기에서 데이터 버스는 비트 라인(bit line)으로서 열 라인에 해당한다.
4개의 포트(PORT0~PORT3) 각각은 코어 영역의 중앙부에 배치되며, 독립적으로 모든 뱅크(BANK0~BANK7)에 접근(access)할 수 있도록 제1 및 제2 글로벌 데이터 버스(GIO_out, GIO_in)와 연결된다. 또한, 도 4에 도시된 바와 같이 수신 패드(Rx) 를 매개로 외부 장치(응용 소자)로부터 입력되는 입력신호와 제1 글로벌 데이터 버스(GIO_out)를 매개로 뱅크(BANK0~BANK7)로부터 출력되는 출력신호가 동시에 전달될 수 있도록 수신 패드(Rx)로부터 상기 입력신호를 수신하는 수신부(41)와 상기 출력신호를 전송 패드(Tx)를 매개로 외부 장치로 송신하는 송신부(42)를 독립적으로 구비한다.
수신부(41)는 외부 장치로부터 수신 패드(Rx)를 통해 직렬로 입력되는 20비트 프레임의 입력신호를 병렬화하여 DRAM 동작에 유효한 26비트의 유효신호로 변환하여 출력한다. 여기서, 26비트의 유효신호는 8비트의 포트/뱅크 선택(port/bank select) 신호(Pi_BK<0:7>)(여기서, 'i'는 포트 수에 대응되는 자연수로서, '0~3'이 됨)와, 18비트의 입력유효데이터신호(Pi_RX<0:17>)(여기서, i는 0~3)로 이루어진다. 또한, 18비트의 입력유효데이터신호(Pi_RX<0:17>)는 1개의 명령 플래그(command flag) 신호와, 1개의 RAS/DM(Row Address Strobe/Data Mask)와, 16비트의 명령/주소/데이터(command/address/data)신호로 이루어진다. 이때, 16비트의 명령/주소/데이터신호는 16비트의 신호가 명령으로 인식될 수도 있고, 주소로 인식될 수도 있으며, 데이터로 인식될 수 있음을 의미한다.
한편, 신호 전송을 위한 프로토콜(protocol)의 형태로서 입력신호의 프레임 형태(frame format)가 도 5에 도시되었다. 도 5에서 (a)는 기본 프레임 형태이고, (b)는 쓰기 명령 프레임 형태이고, (c)는 쓰기 데이터 프레임 형태이고, (d)는 읽기 명령 프레임 형태이고, (e)는 읽기 데이터 프레임 형태이며, (f)는 명령 프레임 형태이다.
일례로 도 5의 (b) 및 (c)에 도시된 쓰기 명령/데이터 프레임을 설명하면 다음과 같다.
도 5의 (b)에 도시된 바와 같이, 쓰기 명령 프레임 형태는 20비트 단위의 직렬화된 신호로서 외부 장치로부터 입력되며, 각 비트 중 19 및 18번째 비트(PHY)는 물리적 링크 코딩(physical link coding)비트에 해당하고, 그 다음 17번째 비트 'CMD', 16~14번째 비트는 각각 'ACT'(active), 'WT'(write), 'PCG'(precharge)에 해당하는 신호로서, 'ACT'는 내부 활성화 신호이고, 'WT'는 내부 쓰기 명령 신호이며, 'PCG'는 내부 비활성화 신호를 나타낸다. 예컨대, 정상(normal)적인 쓰기 동작시에는 17~14번째 비트가 '1010'이 되고, 자동-프리챠지(auto-precharge)를 갖는 쓰기 동작시에는 '1011'이 된다. 또한, 13~10번째 비트(UDM)는 4 클럭(clock)에 걸쳐서 인가되는 쓰기 데이터의 상위 바이트 쓰기 데이터 마스크(upper-byte write data mask) 신호로 사용된다. 또한 9~6번째 비트(BANK)는 쓰기 동작시 데이터가 쓰여지는 뱅크 데이터를 가리키며, 5~0번째 비트(COLUMN ADDRESS)는 열 주소(column address)를 나타낸다.
한편, 도 5의 (c)에 도시된 쓰기 데이터 프레임은 (b)에 도시된 쓰기 명령 프레임이 입력된 후 16비트 쓰기 데이터가 4 클럭에 걸쳐서 입력된다. 쓰기 데이터 프레임 형태에서 17번째 비트(CMD)는 논리 로우(LOW, '0')가 되어야 하고, 16번째 비트(LDM)는 입력되는 데이터의 하위 바이트 쓰기 데이터 마스크(lower-byte write data mask) 신호를 의미하며, 15~8번째 비트(UPPER BYTE)와 7~0번째 비트(LOWER BYTE)는 각각 쓰기 데이터의 상위 바이트와 하위 바이트를 의미한다.
상기한 동작을 구현하기 위한 일례로 수신부(41)의 구성을 살펴보면 다음과 같다.
도 4에 도시된 바와 같이, 수신부(41)는 병렬화부(parallelizer)(411)와, 명령 생성부(412)와, 뱅크 주소 생성부(413)와, 뱅크 주소 출력부(414)와, 입력유효데이터 출력부(415)를 구비한다.
병렬화부(411)는 외부 장치로부터 수신 패드(Rx)를 매개로 직렬 신호로 입력되는 20비트(1 프레임)의 입력신호를 입력받아 20비트의 병렬 신호로 변환하여 출력한다.
명령 생성부(412)는 병렬화부(411)로부터 출력되는 20비트 프레임의 입력신호의 비트 중 17번째 비트(명령 플래그 비트)를 이용하여 입력신호가 어떤 동작을 수행하기 위한 신호인지를 판단한다. 즉, 도 5에 도시된 프레임에서 17번째 비트가 '0'인 경우 쓰기(write) 동작을 수행하기 위한 신호로 판단하고, '1'인 경우 읽기(read) 동작을 수행하기 위한 신호로 판단한다. 또한, 명령 생성부(412)는 입력신호의 비트 중 뱅크 데이터로 활용되는 비트들-여기서는, 8개의 뱅크이므로 3비트가 사용되며, 도 5에서 프레임 페이로드(FRAME PAYLOAD)에 포함되는 비트들 중에 포함-을 출력한다.
뱅크 주소 생성부(413)는 명령 생성부(412)로부터 뱅크(BANK0~BANK7) 중 해당 뱅크를 선택하기 위한 선택 데이터로 활용되는 비트들(여기서는 3비트)을 입력받고, 8비트의 뱅크 주소를 생성하여 출력한다. 이를 위해, 뱅크 주소 생성부(413)는 3비트의 입력신호를 입력받아 8비트의 출력신호를 출력하는 3×8 디코 더(decoder)로 구성된다.
뱅크 주소 출력부(414)는 뱅크 주소 생성부(413)로부터 뱅크 주소를 입력받고, 뱅크 주소에 대응되는 8비트의 뱅크 선택 신호(Pi_BK<0:7>)를 제2 글로벌 데이터 버스(GIO_in)로 실어 보낸다. 이를 위해, 뱅크 주소 출력부(414)는 다수의 출력 드라이버(driver)로 구성되며, 출력 드라이버는 공지된 모든 출력 드라이버를 포함한다.
입력유효데이터 출력부(415)는 병렬화부(411)를 매개로 입력되는 18비트의 유효데이터신호(Pi_RX<0:17>)를 제2 글로벌 데이터 버스(GIO_in)로 실어 보낸다. 이를 위해, 입력유효데이터 출력부(415)는 뱅크 주소 출력부(414)와 마찬가지로 다수의 출력 드라이버로 구성된다.
송신부(42)는 제1 글로벌 데이터 버스(GIO_out)를 매개로 뱅크(BANK0~BANK7)로부터 병렬로 입력되는 출력유효데이터신호(Pi_data<0:15>)(여기서, i는 0~3)를 직렬화하여 송신 패드(Tx)로 출력한다.
이를 위해, 송신부(42)는 직렬화부(serializer)(421)와, 출력유효데이터 입력부(422)를 구비한다.
출력유효데이터 입력부(422)는 제1 글로벌 데이터 버스(GIO_out)를 매개로 뱅크(BANK0~BANK7)로부터 16비트의 출력유효데이터신호(Pi_data<0:15>)를 병렬로 입력받고, 명령 생성부(412)의 제어(쓰기 또는 읽기 동작에 따른 데이터신호 입출력 제어)에 응답하여 출력유효데이터 신호(Pi_data<0:15>)를 전송 프로토콜에 맞도록 패킷(packet)화한 후 20비트 프레임을 갖는 출력신호를 생성하여 출력한다. 이 를 위해 출력유효데이터 입력부(422)는 다수의 입력 드라이버로 구성된다.
직렬화부(421)는 출력유효데이터 입력부(422)로부터 병렬로 입력되는 20비트 출력신호를 직렬화하고, 직렬화된 20비트의 출력신호를 순차적으로 송신 패드(Tx)로 출력한다.
한편, 제1 글로벌 데이터 버스(GIO_out)는 각 뱅크(BANK0~BANK7)로부터 입력되는 출력유효데이터신호(Pi_data<0:15>)를 병렬로 각 포트(PORT0~PORT3)로 독립적으로 전달하기 위하여 총 64비트(16(데이터 비트 수)×4(포트 수)비트)의 버스로 이루어진다.
제2 글로벌 데이터 버스(GIO_in)는 각 포트(PORT0~PORT3)로부터 입력되는 26비트의 신호(18비트의 입력유효데이터신호와 8비트의 뱅크 선택 신호 포함)를 병렬로 각 뱅크(BANK0~BANK7)로 독립적으로 전달하기 위하여 총 104개(26(데이터 비트 수)×4(포트 수)개)의 버스로 이루어진다.
이러한 제1 및 제2 글로벌 데이터 버스(GIO_out, GIO_in)는 각 뱅크 제어부(BC0~BC7) 또는 각 포트(PORT0~PORT3)와 신호 전송을 하기 위하여 로컬 데이터 버스(local data bus)와 연결된다. 로컬 데이터 버스(local data bus)는 제1 및 제2 글로벌 데이터 버스(GIO_out, GIO_in)를 각 뱅크 제어부(BC0~BC7)와 각 포트(PORT0~PORT3)와 연결시킨다. 여기서는 연결시키는 대상에 따라 설명의 편의를 위해 제1 내지 제4 로컬 데이터 버스(LIO_Bout, LIO_Bin, LIO_P1, LIO_P2)로 구분하여 설명하였다.
한편, 뱅크 제어부(BC0~BC7) 각각은 각 뱅크(BANK0~BANK7)를 담당하기 위하 여 각 뱅크마다 하나씩 설치되고, 해당 뱅크(담당 뱅크)와 각 포트(PORT0~PORT3) 간의 신호 전송을 담당한다. 이를 위해 도 6에 도시된 바와 같이 뱅크 제어부(BC0~BC7) 각각은 병렬화부(61)와, 직렬화부(62)와, 스테이트 머신(state machine)(63)과, 입력신호 상태 판별부(64)와, 뱅크 선택부(65)와, 포트 선택부(66)를 구비한다.
먼저, 뱅크 선택부(65)는 포트/뱅크 선택신호(P/B_select)에 응답하여 다수의 포트(PORT0~PORT3)로부터 각각 독립적으로 입력되는 입력유효데이터신호(Pi_RX<0:17>) 중 담당하는 해당 뱅크로 입력되어야 할 신호만을 선택하여 해당 뱅크로 전달하는 기능을 수행한다. 이러한 동작을 수행하는 이유는 모든 포트(PORT0~PORT3)로부터 제2 글로벌 데이터 버스(GIO_in)를 매개로 동시에 입력유효데이터신호(Pi_RX<0:17>)가 입력될 수 있기 때문이다. 이때, 포트/뱅크 선택신호(P/B_select)는 도 4에 도시된 뱅크(BANK0~BANK3)의 뱅크 주소 출력부(414)의 뱅크 선택 신호(Pi_BK<0:7>)를 포함한다. 이러한 뱅크 선택부(65)는 제2 글로벌 데이터 버스(GIO_in)를 매개로 포트(PORT0~PORT3)로부터 각각 입력되는 18비트의 입력유효데이터신호(Pi_RX<0:17>)와, 뱅크를 선택하기 위한 포트/뱅크 선택신호(Pi_BK<0:7>)를 포함하여 총 26비트의 신호를 입력받아 18비트의 뱅크 유효데이터신호(BRX<0:17>)를 출력한다.
뱅크 선택부(65)로부터 출력되는 18비트의 뱅크 유효데이터신호(BRX<0:17>) 중 16비트는 데이터, 주소 또는 뱅크의 상태결정신호(명령신호)로 사용되고, 1비트의 신호는 활성화 플래그 신호(ACTIVE Flag)로 사용되며, 나머지 1비트의 신호는 16비트의 신호가 데이터신호인지 아닌지(주소 또는 명령신호)를 판별하는 명령 플래그 신호로 사용된다. 여기서는 일례로 'BRX<17>'를 명령 플래그 신호로 사용하고, 'BRX<16>'을 활성화 플래그 신호로 사용한다. 여기서, 명령 플래그 신호(BRX<17>)는 스테이트 머신(63)의 인에이블(enable) 신호로 사용되며, 활성화 플래그 신호(ACTIVE Flag)는 DRAM 소자에서 동작신호로 사용되는 RAS/DM 신호로 사용된다. 참고로, 'RAS'는 DRAM 전체를 제어하는 칩 인에이블(chip enable) 신호로서, DRAM 동작의 초기 신호이다.
뱅크 선택부(65)의 구성의 일례가 도 7에 도시되었다. 도 7에 도시된 바와 같이, 뱅크 선택부(65)는 4×1(4개의 입력과 1개의 출력) 구조를 갖는 18개의 먹스(multiflexer, MUX)(MUX1~MUX18)로 이루어지며, 18개 각각의 먹스(MUX1~MUX18)는 4개의 논리곱 게이트(AND gate, AND1~AND4)와, 1개의 논리합 게이트(OR gate, OR)로 이루어진다.
그 동작 특성을 살펴보면, 각 먹스(MUX1~MUX18)로 입력되는 뱅크 선택 신호(Pi_BK<0:7>)가 논리 하이(HIGH, '1')인 경우에만 해당 포트로부터 입력되는 입력유효데이터신호(Pi_RX<0:17>)를 출력한다. 예컨대, 'MUX1'에서 'BK0_P<0>'가 논리 하이고, 나머지 'BK0_P<1:3>'가 논리 로우(LOW, '0')인 경우 포트(P0RT0)로부터 입력되는 입력유효데이터신호(P0_RX<0)만이 뱅크 유효데이터신호(BRX<0>)로 출력된다. 여기서, 'BKO_P<0:3>'는 다른 신호가 아니라 뱅크 선택 신호(Pi_BK<0:7>)와 동일 신호로서, 뱅크(BANK0)를 선택하기 위한 신호로 특정하기 위하여 설명의 편의를 위해 다르게 표현한 것이다.
입력신호 상태 판별부(64)는 뱅크 선택부(65)로부터 18개의 뱅크 유효데이터신호(BRX<0:17>)를 입력받고, 입력받은 18비트의 뱅크 유효데이터신호(BRX<0:17>)가 데이터, 주소 또는 명령신호인지를 판별한다. 구체적으로, 입력신호 상태 판별부(64)는 18비트의 뱅크 유효데이터신호(BRX<0:17>) 중 최상위 비트인 명령 플래그 신호(BRX<17>)의 상태(status)('0' 또는 '1')를 보고, 17번째 비트(BRX<16>)를 제외한 나머지 16비트의 신호(BRX<0:15>)가 데이터, 주소 또는 명령신호인지를 판별하게 된다. 이때, 명령 플래그 신호(BRX<17>)의 상태에 따라 나머지 16비트의 신호(BRX<0:15>)가 데이터신호가 아닌 것으로 판명되면, 18개의 신호(BRX<0:17>)를 스테이트 머신(63)으로 출력한다. 그렇지 않고, 데이터신호인 경우 16비트의 신호(BRX<0:15>)를 병렬화부(61)로 출력한다.
스테이트 머신(63)은 입력신호 상태 판별부(64)로부터 전송된 18비트의 뱅크 유효데이터신호(BRX<0:17>)를 입력받고, 이 신호를 이용하여 DRAM의 동작을 제어하는 주소/명령신호(add/con)를 출력한다. 여기서, 주소/명령신호(add/con)는 내부 활성화 명령 신호(ACT), 내부 비활성화 명령 신호(PCG), 내부 읽기 명령 신호(READ), 내부 쓰기 명령 신호(WRITE) 등의 내부 명령신호와, 행 주소(XADD), 열 주소(YADD) 등의 내부 주소 신호와, 입력데이터 스트로브(strobe) 신호(DSTROBE16<0:3>, DSTROBE64), 제어신호(DRVEN_P<0:3>), 파이프 입력 스트로브(pipe in strobe) 신호(PINSTROBE) 및 파이프 출력 제어신호(POUT<0:3>) 등의 내부 제어신호를 생성하여 출력한다.
상기에서 설명한 동작을 갖는 스테이트 머신(63)의 구성의 일례가 도 8에 도 시되었다. 도 8에 도시된 바와 같이, 스테이트 머신(63)은 명령 생성부(631)와, 입력데이터 스트로브(strobe) 발생부(632)와, 행 주소 생성부(632)와, 열 주소 생성부(634)와, 읽기 데이터 파이프(pipe) 제어부(235)와, 데이터 출력 제어부(236)를 구비한다.
명령 생성부(631)는 뱅크 유효데이터신호(BRX<0:17>) 중 최상위 비트인 'BRX<17>'에 응답하여 인에이블되고, 다른 비트들(BRX<0:15>)을 디코딩(decoding)하여 내부 활성화 명령 신호(ACT), 내부 비활성화 명령 신호(PCG), 내부 읽기 명령 신호(READ), 내부 쓰기 명령 신호(WRITE) 등의 내부 명령신호를 생성한다. 이러한 명령 생성부(631)는 'n'(자연수)개의 디지털(digital) 신호를 입력받아 2n 개의 디지털 신호를 생성하는 디코더로 이루어진다.
입력데이터 스토로브 발생부(632)는 뱅크 유효데이터신호(BRX<0:17>) 중 최상위 비트인 'BRX<17>'와 쓰기 명령 신호(WRITE)에 응답하여 입력데이터 스트로브 신호(DSTROBE16<0:3>, DSTROBE64)를 생성한다. 여기서, 입력데이터 스트로브 신호(DSTROBE16<0:3>, DSTROBE64)는 병렬화부(61)의 동작을 제어하는 제어신호로 사용된다.
행 주소 생성부(633)는 내부 활성화 명령 신호(ACT)에 응답(동기)하여 뱅크 유효데이터신호(BRX<0:m>)(여기서, m은 자연수)를 행 주소(XADD<0:m>)로 생성하여 출력한다.
열 주소 생성부(634)는 쓰기 명령 신호(WRITE)와 읽기 명령 신호(READ)에 응 답하여 뱅크 유효데이터신호(BRX<0:n>)(여기서, n은 자연수)를 열 주소(YADD<0:n>)로 생성하여 출력한다.
읽기데이터 파이프 제어부(635)는 읽기 명령 신호(READ)에 응답하여 파이프 입력 스트로브 신호(PINSTROBE)와, 파이프 출력 제어신호(POUT<0:3>)를 생성하여 출력한다.
데이터출력 제어부(636)는 읽기 명령 신호(READ)에 응답하여 뱅크 선택 신호(Pi_BK<0:7>)-동도면에서는 일례로 뱅크(BANK0)를 선택하기 위한 신호로 특정하여 'BK0_P<0:3>'으로 표시-를 이용하여 제어신호(DRVEN_P<0:3>)를 생성하여 출력한다. 여기서, 제어신호(DRVEN_P<0:3>)는 포트 선택부(66)의 동작을 제어하기 위한 제어신호로 사용된다.
한편, 병렬화부(61)는 신호 상태 판별부(64)로부터 전송된 뱅크 유효데이터신호(BRX<0:15>)를 병렬화하여 64비트의 병렬화된 신호를 출력한다. 즉, 입력신호 상태 판별부(64)로부터 전송된 신호(BRX<0:15>)는 이미 병렬화된 신호 형태로 입력되지만, 뱅크(BANK0~BANK7)의 메모리 셀 영역에서 64비트로 데이터를 처리(쓰기 또는 읽기 동작 수행)하기 때문에 16비트 데이터를 64비트 데이터로 변환시켜야할 필요가 있다.
병렬화부(61)는 도 9에 도시된 바와 같이 저장부(611)와 정렬기(aligner)(612)를 구비한다.
저장부(611)는 입력데이터 스트로브 신호(DSTROBE16<0:3>)(도 8참조)에 응답하여 16비트씩 입력되는 뱅크 유효데이터신호(BRX<0:15>)를 각각 저장하기 위하여 16비트용 레지스터(register)가 다수, 여기서는 일례로 64비트를 저장하기 위해 4개로 구성된다.
정렬기(612)는 64비트 정렬기로서, 입력데이터 스트로브 신호(DSTROBE64)에 응답하여 저장부(612)를 구성하는 4개의 레지스터로부터 각각 데이터를 입력받아 병렬화한다.
직렬화부(62)는 파이프 입력 스트로브 신호(PINSTROBE)와, 파이프 출력 제어신호(POUT<0:3>)에 응답하여 뱅크의 데이터버스와 연결된 64개의 데이터 버스 감지 증폭기(DBSA)(14)로부터 출력되는 64비트의 데이터신호를 16비트의 데이터신호(DO<0:15>)로 직렬화하여 출력한다.
이러한 직렬화부(62)는 도 10에 도시된 바와 같이 저장부(621)로 이루어진다.
저장부(621)는 파이프 입력 스트로브 신호(PINSTROBE)에 응답하여 64개의 데이터 버스 감지 증폭기(DBSA)(14)로부터 출력되는 64비트의 데이터신호를 16비트씩 나누어 각각 저장하기 위하여 4개의 16비트용 레지스터로 구성된다. 4개의 레지스터는 파이프 출력 제어신호(POUT<0:3>)에 응답하여 각각에 저장된 데이터신호(DO<0:15>)를 순차적으로 포트 선택부(66)로 출력한다. 즉, 16비트씩 직렬로 출력한다.
한편, 도 6에 도시된 바와 같이, 포트 선택부(66)는 직렬화부(62)로부터 16비트씩 출력되는 데이터신호(DO<0:15>)를 순차적으로 입력받고, 포트/뱅크 선택 신호(P/B_select)에 의해 선택된 포트로 출력 유효데이터신호(Pi_data<0:15>)를 출력 한다.
이러한 포트 선택부(66)는 도 11에 도시된 바와 같이 디먹스(DEMUX)로 이루어지며, 각각의 디먹스(DEMUX)는 모든 포트(PORT0~PORT3)와 독립적으로 신호전송을 수행할 수 있도록 각 포트(PORT0~PORT3)별로 할당되어 있다. 또한, 각각의 디먹스(DEMUX)는 16비트 데이터신호(DO<0:15>)를 처리하기 위하여 16개의 드라이버로 이루어진다.
드라이버 각각은 각 뱅크(BANK0~BANK7)로부터 포트(PORT0~PORT3)로 출력되는 신호는 제1 글로벌 데이터 버스(GIO_out)를 매개로 모든 뱅크(BANK0~BANK7)가 공유하도록 되어 있으므로 다른 뱅크에 영향을 주지 않도록 하기 위하여 3상 버퍼(tri-state buffer)로 이루어지는 것이 바람직하다. 3상 버퍼의 일례가 도 11에 도시되었다.
도 11에 도시된 바와 같이 3상 버퍼는 4개의 반전부(inverter)(INV1~INV4)와, 1개의 부정 논리합 게이트(NOR gate)(NOR)와, 1개의 부정 논리곱 게이트(NAND gate)(NAND)와, 그리고 CMOS(Complementary Metal-Oxide Semiconductor)로 이루어지는 풀-업(pull-up) 및 풀-다운(pull-down) 트랜지스터(transitor)(PM, NM)로 이루어진다.
이하, 상기와 같이 구성된 본 발명의 실시예에 따른 멀티 포트 메모리 소자의 동작을 살펴본다.
도 12는 포트(PORT0~PORT3)로부터 뱅크(BANK0~BANK7)로의 신호(Pi_BK<0:7>, Pi_Rx<0:17>) 경로를 설명하기 위하여 도시한 도면이고, 도 13은 뱅 크(BANK0~BANK7)로부터 포트(PORT0~PORT3)로의 신호(Pi_data<0:15>) 경로를 설명하기 위하여 도시한 도면이다. 한편, 도 12에서 'BKj_P<0:3>'(여기서, j는 0~7)는 뱅크 선택 신호, 'Pi_BK<0:7>'와 동일 신호로서 설명의 편의를 위해 그 표시를 달리하였다.
먼저, 포트(PORT0)로부터 뱅크(BANK1)로의 입력신호 경로를 설명하기로 한다.
도 12를 참조하면, 외부 장치로부터 수신 패드(Rx)를 통해 포트(PORT0)로 18비트의 입력신호(물리적 링크 코딩 비트 제외)가 직렬로 입력되면, 포트(PORT0)는 18비트의 입력신호를 26비트의 유효한 신호로 변환하여 제2 글로벌 데이터 버스(GIO_in)로 실어 보낸다. 이때, 제2 글로벌 데이터 버스(GIO_in)는 제2 로컬 데이터 버스(LIO_Bin)(도 2참조)를 통해 뱅크(BANK1) 뿐만 아니라, 나머지 뱅크(BANK0, BANK2~BANK7)와 연결된 상태이기 때문에 26비트 유효신호는 제2 로컬 데이터 버스(LIO_Bin)를 통해 모든 뱅크(BANK0~BANK7)의 뱅크 선택부(65)(도 6참조)로 전달된다.
포트(PORT0)로부터 전달되는 26비트 유효신호, 특히 입력유효데이터신호(P0_RX<0:17>)는 뱅크(BANK1)로만 전달되어야 할 신호이기 때문에 뱅크(BANK1)를 제외한 나머지 뱅크(BANK0, BANK2~BANK7)로 전달되는 것을 차단하여야할 필요가 있다. 이처럼, 뱅크(BANK1)를 제외한 나머지 뱅크(BANK0, BANK2~BANK7)로 입력유효데이터신호(P0_RX<0:17>)가 전달되는 것을 차단하기 위한 신호로서 뱅크 선택 신호(P0_BK<0:7>)가 사용된다.
뱅크 선택 신호(P0_BK<0:7>)는 입력유효데이터신호(P0_RX<0:17>)와 함께 포트(PORT0)로부터 제공되는 26비트 유효신호를 구성한다. 이러한 뱅크 선택 신호(P0_BK<0:7>)는 입력유효데이터신호(P0_RX<0:17>)와 함께 제2 글로벌 데이터 버스(GIO_in)를 매개로 뱅크(BANK1)의 뱅크 선택부(65), 예컨대 먹스로 입력되어 동작을 제어한다.
뱅크(BANK1)의 입력신호 전송을 담당하는 뱅크 선택부(65)는 뱅크 선택 신호(P0_BK<0:7>), 즉 'BK1_P<0:3>'에 의해 동작(인에이블)되어 제2 글로벌 데이터 버스(GIO_in)를 매개로 입력되는 입력유효데이터신호(P0_RX<0:17>)를 수신하여 뱅크(BANK1)로 전달하게 된다. 이때, 나머지 뱅크 선택 신호(BK0_P<0:3>, BK2_P<0:3>~BK7_P<0:3>)는 비활성화(논리 하이 또는 논리 로우 상태)되기 때문에 나머지 뱅크(BANK0, BANK2~BANK7)의 뱅크 선택부(65)는 동작(인에이블)되지 않게 되어 입력유효데이터신호(P0_RX<0:17>)는 뱅크(BANK0, BANK2~BANK7)로 전달되지 않게 된다.
다음으로, 뱅크(BANK1)으로부터 포트(PORT0)로의 출력신호 경로를 설명하기로 한다.
도 13을 참조하면, 뱅크(BANK1)로부터 출력되는 64비트의 데이터신호는 뱅크 제어부(BC1)의 직렬화부(62)를 통해 16비트 데이터신호(DO<0:15>)로 직렬화되어 포트 선택부(66), 예컨대 디먹스로 출력된다. 디먹스는 도 11에 도시된 바와 같이 제어신호(DRVEN_P<0:3>) 중 활성화된 제어신호(DRVEN_P<0>)에 응답하여 데이터신호(DO<0:15>)를 출력유효데이터신호(P0_data<0:15>)로하여 제1 글로벌 데이터 버 스(GIO_out)로 실어 보낸다.
제1 글로벌 데이터 버스(GIO_out)로 전달된 출력유효데이터신호(P0_data<0:15>)는 제3 로컬 데이터 버스(LIO_P1)를 매개로 하여 포트(PORT0)로 전달된다.
다음으로, 멀티 포트 메모리 소자의 정상(normal)적인 읽기 동작을 설명하기로 한다. 여기서, 정상적인 읽기 동작은 행당 뱅크의 특정 주소로부터 데이터를 가져오는 동작이다.
도 2를 참조하면, 수신 패드(Rx)를 매개로 읽기 동작에 해당하는 입력신호(도 5의 (d) 및 (e) 참조)가 직렬로 포트(PORT0)로 입력되면, 포트(PORT0)는 직렬로 입력되는 입력신호를 병렬화부(411)를 통해 병렬화한 후 26비트의 유효신호로 변환하여 출력한다.
포트(PORT0)로부터 출력되는 26비트의 유효신호는 제2 글로벌 데이터 버스(GIO_in)를 통해 뱅크(BANK1)를 담당하고 있는 뱅크 제어부(BC1)의 뱅크 선택부(65)로 입력된다. 이때, 뱅크 제어부(BC1)의 뱅크 선택부(65)는 모든 제2 글로벌 데이터 버스(GIO_in)와 제2 로컬 데이터 버스(LIO_Bin)를 통해 연결되어 있기 때문에 포트(PORT0)를 포함한 나머지 포트(PORT1~PORT3)로부터도 신호를 전송받게 된다.
이에 따라, 각 포트(PORT0~PORT3)로부터 입력되는 26비트의 유효신호에는 뱅크를 선택하기 위해 8비트 뱅크 선택 신호(Pi_BK<0:7>)가 포함되어 있으며, 이 뱅크 선택 신호(Pi_BK<0:7>)를 이용하여 해당 뱅크를 선택하게 된다. 여기서는 뱅크 선택 신호(P0_BK<1>)만이 활성화되어 있기 때문에 뱅크(BANK1)의 뱅크 제어부(BC1)에서는 나머지 포트(PORT1~PORT3)로부터 전달된 각각의 26비트 신호-유효신호는 아님-는 입력받지 않고, 포트(PORT0)로부터 입력되는 입력유효데이터신호(P0_RX<0:17>)만 입력받게 된다.
뱅크 제어부(BC1)의 스테이트 머신(63)은 입력유효데이터신호(P0_RX<0:17>)를 이용하여 내부 활성화 신호(ACT)와 읽기 명령 신호(READ)를 활성화하고, 활성화된 내부 활성화 신호(ACT)와 읽기 명령 신호(READ)를 이용하여 행/열 주소 생성부(633, 634)를 통해 뱅크(BANK1)의 행/열 주소(XADD, YADD)를 생성하고, 읽기 데이터 파이프 제어부(635)를 통해 파이프 입력 스트로브 신호(PINSTROBE)와 파이프 출력 제어신호(POUT)를 활성화하고, 데이터 출력 제어부(636)를 통해 제어신호(DRVEN_P)를 활성화하여 출력한다.
뱅크 제어부(BC1)로부터 입력되는 읽기 명령 신호(READ)에 응답하여 해당 열 주소(YADD)에 따라 뱅크(BANK1)로부터 64개의 데이터가 데이터 라인을 매개로 데이터 버스 감지 증폭기(DBSA)(여기서는 64개)를 통해 각각 증폭되어 직렬화부(62)로 출력된다.
직렬화부(62)로 입력된 64비트 출력신호는 파이프 입력 스트로브 신호(PINSTROBE)와 파이프 출력 제어신호(POUT)에 응답하여 16비트로 직렬화되어 출력된다. 즉, 직렬화부(62)는 64비트 출력신호가 입력되면 이 신호를 16비트씩 4단위의 직렬화된 신호로 변환 및 임시 저장한 후 순차적으로 16비트씩 포트 선택부(66)로 출력한다.
포트 선택부(66)는 직렬화부(62)로부터 입력된 데이터신호(DO<0:15>)를 제어신호(DRVEN_P<0:3>)-제어신호(DRVEN_P<0:3>)는 도 8에 도시된 바와 같이 뱅크 선택 신호(BK0_P<0:3>)에 대응되는 신호-에 응답하여 제1 글로벌 데이터 버스(GIO_out)를 매개로 선택된 포트(PORT0)로 16비트씩 출력유효데이터신호(P0_data<0:15>)를 순차적으로 출력하게 된다.
포트(PORT0)는 도 4에 도시된 바와 같이 제1 글로벌 데이터 버스(GIO_out)를 통해 순차적으로 16비트씩 출력된 출력유효데이터신호(P0_data<0:15>)를 병렬로 입력받은 후 직렬화부(421)를 통해 직렬화하여 송신 패드(Tx)를 통해 해당 외부 장치로 송신하게 된다.
다음으로, 멀티 포트 메모리 소자의 정상(normal)적인 쓰기 동작을 설명하기로 한다. 여기서, 정상적인 쓰기 동작은 행당 뱅크의 특정 주소에 데이터를 쓰기 위한 동작으로서, 수신 패드(Rx)로부터 5-프레임의 입력신호(스펙에 따라 변경될 수 있음)를 입력받게 된다. 이때, 첫 번째 프레임은 명령신호(이하, 명령 프레임이라 함)(도 5의 (b) 참조)에 해당하고, 나머지 4개의 프레임은 데이터신호(이하, 데이터 프레임이라 함)(도 5의 (c) 참조)에 해당하는 것으로서 각각 16비트씩 총 64비트가 된다.
도 2를 참조하면, 수신 패드(Rx)를 매개로 쓰기 동작에 해당하는 명령 프레임과 데이터 프레임이 연속적으로 포트(PORT0)로 입력되면, 포트(PORT0)는 직렬로 입력되는 각 프레임 신호를 병렬화부(411)를 통해 병렬화한 후 26비트의 유효신호로 변환하여 출력한다.
포트(PORT0)로부터 출력되는 26비트의 유효신호는 제2 글로벌 데이터 버스(GIO_in)를 통해 뱅크(BANK1)를 담당하고 있는 뱅크 제어부(BC1)의 뱅크 선택부(65)로 입력된다. 이때, 뱅크 제어부(BC1)의 뱅크 선택부(65)는 모든 제2 글로벌 데이터 버스(GIO_in)와 제2 로컬 데이터 버스(LIO_Bin)를 통해 연결되어 있기 때문에 포트(PORT0)를 포함한 나머지 포트(PORT1~PORT3)로부터도 신호를 전송받게 된다.
이에 따라, 각 포트(PORT0~PORT3)로부터 입력되는 26비트의 유효신호에는 뱅크를 선택하기 위해 8비트 뱅크 선택 신호(Pi_BK<0:7>)가 포함되어 있으며, 이 뱅크 선택 신호(Pi_BK<0:7>)를 이용하여 해당 뱅크를 선택하게 된다. 여기서는 뱅크 선택 신호(P0_BK<1>)만이 활성화되어 있기 때문에 뱅크(BANK1)의 뱅크 제어부(BC1)에서는 나머지 포트(PORT1~PORT3)로부터 전달된 각각의 26비트 신호-유효신호는 아님-는 입력받지 않고, 포트(PORT0)로부터 입력되는 입력유효데이터신호(P0_RX<0:17>)만 입력받게 된다.
뱅크 제어부(BC1)의 스테이트 머신(63)은 입력유효데이터신호(P0_RX<0:17>)(명령 프레임 신호에 해당)를 이용하여 내부 활성화 신호(ACT)와 쓰기 명령 신호(WRITE)를 활성화하고, 뱅크 유효데이터신호(BRX<17>)에 응답하여 활성화된 내부 활성화 신호(ACT)와 쓰기 명령 신호(WRITE)를 이용하여 행/열 주소 생성부(633, 634)를 통해 뱅크(BANK1)의 행/열 주소(XADD, YADD)를 생성하고, 입력 데이터 스트로브 생성부(632)를 통해 입력데이터 스트로브 신호(DSTROBE16<0:3>, DSTROBE16<0:3>)를 활성화하여 출력한다.
이런 상태에서, 연속적으로 들어오는 나머지 데이터 프레임(3개의 프레임) 신호의 입력유효데이터신호(P0_RX<0:17>) 중 유효데이터신호에 해당하는 16비트의 뱅크 유효데이터신호(BRX<0:15>)를 병렬화부(61)(도 6참조)를 통해 64비트(16×4)로 병렬화된 후 동시에 쓰기 드라이버(W/D)를 통해 뱅크(BANK1)의 메모리 셀 어레이(10)에 쓰여지게 된다.
상기에서 설명한 바와 같이, 쓰기 동작시 하나의 뱅크로 4개의 프레임(데이터 프레임 포함)의 신호가 연속적으로 입력되면 64개의 데이터가 동시에 메모리 셀에 쓰여지게 되는데, 4개의 프레임이 모두 입력되기도 전에 다른 명령이 수행되면(인터럽트(interrupt) 동작), 그때까지 들어온 데이터만을 메모리 셀에 쓰게 된다.
전술한 바와 같이, 본 발명의 실시예에 따른 멀티 포트 메모리 소자는 4개의 포트, 8개의 뱅크, 16비트의 프레임 구조를 가지며, 64비트 프리-페치 동작을 수행하는 메모리 소자를 예로 든 것으로서, 이 설명이 본 발명의 범위를 한정짓지는 않는다. 예컨대, 'j'개의 포트, 'k'개의 뱅크, 'm'비트의 프레임을 가지며, 'n'비트 프리-페치 동작을 하는 메모리 소자라면 각 포트에서 뱅크로 데이터를 주고 받기 위한 글로벌 데이터 버스의 수를 적절히 변경하면 된다. 예컨대, 포트에서 뱅크로 신호를 전송하기 위한 버스는 포트 하나당 뱅크/포트 선택 신호를 전송하기 위한 'k'개의 버스와, 입력 명령/주소/데이터신호를 전송하기 위한 'm'개의 버스와, 명령 플래그 신호 및 RAS/DM 신호 등을 전송하기 위한 'a'개의 버스를 필요로 하고, 뱅크에서 포트로 신호를 전송하기 위한 버스는 'm'개의 버스를 필요로 하게 된다. 즉, 포트, 뱅크, 프레임 비트 수, 프리-페치 수를 확장해가며 멀티 포트 메모리 소 자를 구성할 수 있다. 여기서, 'j', 'k', 'm', 'n', 'a'는 모두 자연수이다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
이상에서 설명한 바와 같이, 본 발명에 의하면 다음과 같은 효과들을 얻을 수 있다.
첫째, 본 발명에 의하면, 멀티 포트 메모리 소자를 구성함으로써 다수 개의 멀티 미디어 장치와의 연계가 가능하고, 멀티 미디어 중 메모리 활용 비율이 높은 장치로 보다 많은 메모리 할당이 용이해지게 되어 메모리의 활용 효율을 높일 수 있다.
둘째, 본 발명에 의하면, 글로벌 데이터 버스를 입력버스(GIO_in)와 출력버스(GIO_out)로 분리하여 구성함으로써 하나의 포트에서 데이터가 출력되는 동안에도 다른 포트에서 데이터가 입력될 수 있어 동일 시간 내에서의 메모리의 동작효율을 높일 수 있다.
셋째, 본 발명에 의하면, 각 뱅크에서 16비트씩 직렬화된 데이터를 64비트의 병렬화된 데이터로 변환하여 읽기/쓰기 동작이 가능하도록 제공함으로써 한번의 메모리 접근(memory access)을 통해서도 전달되는 데이터의 폭(width)을 증대시킬 수 있다.
넷째, 본 발명에 의하면, 각 뱅크마다 각 뱅크를 담당하는 뱅크 제어부를 구비하고, 이를 통해 입력신호가 데이터신호인지, 명령신호인지 혹은 주소신호인지를 판별하도록 제공함으로써 하나의 포트에 데이터 비트, 주소 비트, 명령 비트를 구분할 필요가 없어 프레임을 효율적으로 사용할 수 있게 됨으로써 작은 프레임으로도 큰 입/출력 폭(I/O width)이 가능해지고, 높은 밀도의 어드레싱(addressing)을 제공할 수 있다.

Claims (36)

  1. 코어 영역의 중앙부에 배치되어 각각 서로 다른 타겟(target)의 외부 장치와 독립적인 통신을 수행하기 위한 다수의 포트;
    상기 포트를 기준으로 상기 코어 영역의 상부와 하부에 각각 일정 갯수만큼 행 방향으로 배치된 다수의 뱅크;
    상기 포트와 상기 뱅크 사이에 각각 행방향으로 배치되어 상기 포트와 상기 뱅크 간에 독립적인 데이터 전송을 수행하도록 제공하는 제1 및 제2 글로벌 데이터 버스; 및
    상기 제1 및 제2 글로벌 데이터 버스와 상기 뱅크 간, 상기 제1 및 제2 글로벌 데이터 버스와 상기 포트 간에 데이터 전송을 수행하도록 제공하는 제1 및 제2 로컬 데이터 버스
    를 구비하는 멀티 포트 메모리 소자.
  2. 제 1 항에 있어서,
    상기 뱅크마다 하나씩 배치되어 상기 제1 및 제2 글로벌 데이터 버스와 상기 뱅크 간에 데이터 전송을 제어하기 위한 다수의 뱅크 제어부를 더 구비하는 멀티 포트 메모리 소자.
  3. 제 2 항에 있어서,
    상기 뱅크 제어부는 상기 포트 및 상기 뱅크와 병렬 데이터 전송을 수행하는 멀티 포트 메모리 소자.
  4. 제 3 항에 있어서,
    상기 뱅크 제어부는 상기 포트로부터 뱅크선택신호와 입력유효데이터신호를 입력받고, 상기 뱅크선택신호에 응답하여 상기 입력유효데이터신호가 담당 뱅크의 유효신호인지를 판단하여 상기 담당 뱅크로 상기 입력유효데이터신호를 전송하는 멀티 포트 메모리 소자.
  5. 제 4 항에 있어서,
    상기 뱅크 제어부는 상기 포트로부터 상기 입력유효데이터신호를 연속적으로 입력받아 상기 담당 뱅크의 데이터 라인과 대응되는 비트 수로 병렬화하여 상기 담당 뱅크로 전송하는 멀티 포트 메모리 소자.
  6. 제 5 항에 있어서,
    상기 뱅크 제어부는 상기 담당 뱅크로부터 출력된 출력유효데이터신호를 상기 뱅크선택신호에 응답하여 상기 포트로 상기 출력유효데이터신호를 전송하는 멀티 포트 메모리 소자.
  7. 제 6 항에 있어서,
    상기 뱅크 제어부는 상기 담당 뱅크로부터 상기 출력유효데이터신호를 입력받아 상기 제1 및 제2 글로벌 데이터 버스의 라인 수에 대응되는 비트 수로 묶어 상기 포트로 전송하는 멀티 포트 메모리 소자.
  8. 제 3 항에 있어서,
    상기 뱅크 제어부는,
    상기 포트부로부터 입력되는 뱅크선택신호와 입력유효데이터신호를 입력받고, 상기 뱅크선택신호에 응답하여 상기 포트로부터 각각 독립적으로 입력되는 입력유효데이터신호 중 담당 뱅크로 입력되어야 할 입력유효데이터신호를 선택하는 뱅크 선택수단;
    상기 입력유효데이터신호에 대응하여 상기 뱅크 선택수단으로부터 출력된 뱅크 유효데이터신호를 입력받고, 상기 뱅크 유효데이터신호의 상태를 판별하는 입력신호 상태 판별수단;
    상기 입력신호 상태 판별수단으로부터 출력된 상기 뱅크 유효데이터신호를 이용하여 상기 담당 뱅크의 명령, 주소 및 제어신호를 생성하여 출력하는 스테이트 머신;
    상기 스테이트 머신의 제어신호에 응답하여 상기 뱅크 유효데이터신호를 상기 담당 뱅크의 데이터라인의 수에 대응하는 비트 수로 병렬화하여 출력하는 제1 병렬화 수단;
    상기 스테이트 머신의 제어신호에 응답하여 상기 담당 뱅크로부터 출력되는 출력유효데이터신호를 상기 제1 및 제2 글로벌 데이터 버스의 라인 수에 대응되는 비트 수로 묶어 직렬화하여 출력하는 제1 직렬화 수단; 및
    상기 뱅크선택신호에 대응하는 상기 스테이트 머신의 제어신호에 응답하여 상기 제1 직렬화 수단으로부터 출력된 출력유효데이터신호를 상기 포트로 출력하는 포트 선택 수단
    을 구비하는 멀티 포트 메모리 소자.
  9. 제 8 항에 있어서,
    상기 뱅크 선택 수단은 상기 뱅크선택신호에 응답하여 상기 입력유효데이터신호를 상기 뱅크 유효데이터신호로 출력하는 멀티 포트 메모리 소자.
  10. 제 9 항에 있어서,
    상기 뱅크 선택 수단은 상기 입력유효데이터신호의 비트 수에 대응되는 다수의 먹스로 이루어진 멀티 포트 메모리 소자.
  11. 제 10 항에 있어서,
    상기 먹스는 4개의 입력과 1개의 출력을 갖는 멀티 포트 메모리 소자.
  12. 제 8 항에 있어서,
    상기 입력신호 상태 판별수단은 상기 뱅크 유효데이터신호의 최상위 비트인 명령 플래그 신호의 상태를 보고, 상기 최상위 비트를 제외한 나머지 비트의 신호가 데이터, 주소 또는 명령신호인지를 판별한 후 데이터신호가 아닌 경우 상기 뱅크 유효데이터신호를 상기 스테이트 머신으로 출력하고, 그렇지 않고, 데이터신호인 경우 상기 최상위 비트를 제외한 나머지 비트의 신호를 상기 제1 병렬화수단으로 출력하는 멀티 포트 메모리 소자.
  13. 제 12 항에 있어서,
    상기 스테이트 머신은,
    상기 뱅크 유효데이터신호의 비트들 중 최상위 비트의 상태에 응답하여 인에이블되어 상기 최상위 비트를 제외한 나머지 비트들을 디코딩하여 상기 명령신호를 생성하는 제1 명령 생성수단;
    상기 제1 명령 생성수단으로부터 출력되는 상기 명령신호 중 쓰기 명령 신호에 응답하여 상기 제1 병렬화 수단을 제어하는 제1 및 제2 스트로브 신호를 생성하는 스트로브 생성수단;
    상기 제1 명령 생성수단으로부터 출력되는 상기 명령신호 중 내부 활성화 명령 신호에 응답하여 상기 뱅크 유효데이터신호를 상기 담당 뱅크의 행 주소로 출력하는 행 주소 생성수단;
    상기 쓰기 명령 신호와 상기 제1 명령수단으로부터 출력되는 상기 명령신호 중 읽기 명령 신호에 응답하여 상기 뱅크 유효데이터신호를 상기 담당 뱅크의 열 주소로 출력하는 열 주소 생성수단;
    상기 읽기 명령 신호에 응답하여 상기 제1 직렬화 수단을 제어하는 제1 및 제2 파이프 스트로브 신호를 출력하는 파이프 제어수단; 및
    상기 읽기 명령 신호에 응답하여 상기 뱅크선택신호를 이용하여 상기 포트 선택수단을 제어하기 위한 출력제어신호를 출력하는 출력 제어수단
    을 구비하는 멀티 포트 메모리 소자.
  14. 제 13 항에 있어서,
    상기 제1 명령 생성수단은 n(자연수)개의 디지털 신호를 입력받아 2n 개의 디지털 신호를 생성하는 디코더로 이루어진 멀티 포트 메모리 소자.
  15. 제 14 항에 있어서,
    상기 제1 병렬화 수단은,
    상기 제1 스트로브 신호에 응답하여 상기 뱅크 유효데이터신호를 각각 저장하는 다수의 레지스터; 및
    상기 제2 스트로브 신호에 응답하여 상기 다수의 레지스터로부터 순차적으로 출력되는 신호를 정렬하는 정렬기
    를 구비하는 멀티 포트 메모리 소자.
  16. 제 13 항에 있어서,
    상기 제1 직렬화 수단은 상기 제1 및 제2 파이프 스트로브 신호에 응답하여 상기 담당 뱅크의 데이터버스와 연결된 데이터 버스 감지 증폭기로부터 출력되는 출력신호를 직렬화하여 출력하는 멀티 포트 메모리 소자.
  17. 제 16 항에 있어서,
    상기 제1 직렬화 수단은 상기 제1 및 제2 파이프 스트로브 신호에 응답하여 데이터 버스 감지 증폭기로부터 출력되는 출력신호를 저장하기 위한 다수의 레지스터로 이루어진 멀티 포트 메모리 소자.
  18. 제 13 항에 있어서,
    상기 포트 선택수단은 상기 출력유효데이터신호의 비트 수에 대응되는 다수의 디먹스로 이루어진 멀티 포트 메모리 소자.
  19. 제 18 항에 있어서,
    상기 디먹스는 각각의 포트와 독립적으로 신호전송을 수행할 수 있도록 포트별로 할당되는 멀티 포트 메모리 소자.
  20. 제 19 항에 있어서,
    상기 디먹스는 다수의 드라이버로 이루어지고, 각각의 드라이버는 3상 버퍼로 이루어지는 멀티 포트 메모리 소자.
  21. 제 1 항 내지 제 20 항 중 어느 하나의 항에 있어서,
    상기 포트는 독립적으로 각각의 상기 뱅크에 접근할 수 있도록 상기 제1 및 제2 글로벌 데이터 버스와 연결되는 멀티 포트 메모리 소자.
  22. 제 21 항에 있어서,
    상기 포트는 상기 제1 및 제2 글로벌 데이터 버스를 매개로 각각의 상기 뱅크와 병렬 데이터 전송을 수행하는 멀티 포트 메모리 소자.
  23. 제 22 항에 있어서,
    상기 포트는 상기 외부 장치와 직렬 데이터 전송을 수행하는 멀티 포트 메모리 소자.
  24. 제 23 항에 있어서,
    상기 포트는 수신 패드를 매개로 상기 외부 장치로부터 입력되는 입력신호와 상기 제1 및 제2 글로벌 데이터 버스를 매개로 상기 뱅크로부터 출력되는 출력신호가 동시에 전달될 수 있도록 상기 수신 패드로부터 상기 입력신호를 수신하는 수신 부와, 상기 출력신호를 전송 패드를 매개로 상기 외부 장치로 송신하는 송신부를 독립적으로 구비하는 멀티 포트 메모리 소자.
  25. 제 24 항에 있어서,
    상기 수신부는 상기 외부 장치로부터 상기 수신 패드를 통해 직렬로 입력되는 입력신호를 병렬화하여 뱅크선택신호와 입력유효데이터신호를 출력하는 멀티 포트 메모리 소자.
  26. 제 25 항에 있어서,
    상기 수신부는,
    상기 외부 장치로부터 상기 수신 패드를 통해 직렬 신호로 입력되는 입력신호를 병렬화하여 출력하는 제2 병렬화 수단;
    상기 제2 병렬화 수단으로부터 출력되는 병렬화된 입력신호를 이용하여 뱅크 주소를 생성하기 위한 뱅크 데이터신호를 출력하는 제2 명령 생성수단;
    상기 제2 명령 생성수단로부터 출력되는 뱅크 데이터신호를 이용하여 뱅크 선택 신호를 생성하는 뱅크 주소 생성수단;
    상기 뱅크 주소 생성수단로부터 출력된 상기 뱅크 선택 신호를 상기 제1 글로벌 데이터 버스로 출력하는 뱅크 주소 출력수단; 및
    상기 제2 병렬화 수단으로부터 출력되는 병렬화된 입력신호를 입력유효데이터신호로 하여 상기 제1 글로벌 데이터 버스로 출력하는 입력유효데이터 출력수단
    을 구비하는 멀티 포트 메모리 소자.
  27. 제 26 항에 있어서,
    상기 뱅크 주소 생성수단은 디코더로 이루어진 멀티 포트 메모리 소자.
  28. 제 26 항에 있어서,
    상기 뱅크 주소 출력수단은 다수의 출력 드라이버로 이루어진 멀티 포트 메모리 소자.
  29. 제 26 항에 있어서,
    상기 입력유효데이터 출력수단은 다수의 출력 드라이버로 이루어진 멀티 포트 메모리 소자.
  30. 제 24 항에 있어서,
    상기 송신부는 상기 제1 글로벌 데이터 버스를 매개로 상기 뱅크로부터 병렬로 입력되는 출력유효데이터신호를 직렬화하여 상기 송신 패드로 출력하는 멀티 포트 메모리 소자.
  31. 제 30 항에 있어서,
    상기 송신부는,
    상기 제2 글로벌 데이터 버스를 매개로 상기 뱅크로부터 상기 출력유효데이터신호를 병렬로 입력받아 상기 출력유효데이터신호를 출력하는 출력유효데이터 입력수단; 및
    상기 출력유효데이터 입력수단으로부터 병렬로 입력되는 출력신호를 직렬화하여 상기 송신 패드로 출력하는 제2 직렬화 수단
    을 구비하는 멀티 포트 메모리 소자.
  32. 제 21 항에 있어서,
    상기 제1 및 제2 글로벌 데이터 버스는 상기 뱅크와 상기 포트 간에 병렬 데이터 전송을 수행하는 멀티 포트 메모리 소자.
  33. 제 32 항에 있어서,
    상기 제1 글로벌 데이터 버스는 상기 포트로부터 상기 뱅크로 입력되는 입력유효데이터신호를 병렬 전송하는 멀티 포트 메모리 소자.
  34. 제 33 항에 있어서,
    상기 제1 글로벌 데이터 버스는 상기 포트와 상기 코어 영역의 상부에 배치된 뱅크 사이에 배치되는 멀티 포트 메모리 소자.
  35. 제 32 항에 있어서,
    상기 제2 글로벌 데이터 버스는 상기 뱅크로부터 상기 포트로 출력되는 출력유효데이터신호를 병렬 전송하는 멀티 포트 메모리 소자.
  36. 제 35 항에 있어서,
    상기 제2 글로벌 데이터 버스는 상기 포트와 상기 코어 영역의 하부에 배치된 뱅크 사이에 배치되는 멀티 포트 메모리 소자.
KR1020060032948A 2005-09-29 2006-04-11 직렬 입/출력 인터페이스를 가진 멀티 포트 메모리 소자 KR100721582B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE102006045248A DE102006045248A1 (de) 2005-09-29 2006-09-26 Multiport-Speichervorrichtung mit serieller Eingabe-/Ausgabeschnittstelle
US11/528,970 US7616518B2 (en) 2005-09-29 2006-09-27 Multi-port memory device with serial input/output interface
JP2006269659A JP2007095284A (ja) 2005-09-29 2006-09-29 直列入/出力インターフェイスを有するマルチポートメモリ素子
TW095136282A TWI319194B (en) 2005-09-29 2006-09-29 Multi-port memory device with serial input/output interface
CN2006101317207A CN1941192B (zh) 2005-09-29 2006-09-29 具有串行输入/输出接口的多端口存储装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050090936 2005-09-29
KR20050090936 2005-09-29

Publications (2)

Publication Number Publication Date
KR20070036610A KR20070036610A (ko) 2007-04-03
KR100721582B1 true KR100721582B1 (ko) 2007-05-23

Family

ID=37959253

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060032948A KR100721582B1 (ko) 2005-09-29 2006-04-11 직렬 입/출력 인터페이스를 가진 멀티 포트 메모리 소자

Country Status (3)

Country Link
KR (1) KR100721582B1 (ko)
CN (1) CN1941192B (ko)
TW (1) TWI319194B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8151149B2 (en) 2009-06-29 2012-04-03 Hynix Semiconductor Inc. Semiconductor memory apparatus and method of testing the same
KR101188259B1 (ko) * 2009-06-29 2012-10-05 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 테스트 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613065B2 (en) 2005-09-29 2009-11-03 Hynix Semiconductor, Inc. Multi-port memory device
KR100695437B1 (ko) 2006-04-13 2007-03-16 주식회사 하이닉스반도체 멀티 포트 메모리 소자
KR100723889B1 (ko) 2006-06-30 2007-05-31 주식회사 하이닉스반도체 직렬 입/출력 인터페이스를 가진 멀티 포트 메모리 소자
KR101466694B1 (ko) * 2007-08-28 2014-11-28 삼성전자주식회사 Ecc 회로, ecc 회로를 구비하는 메모리 시스템 및그의 오류 정정 방법
US20120030544A1 (en) * 2010-07-27 2012-02-02 Fisher-Jeffes Timothy Perrin Accessing Memory for Data Decoding
US10573373B1 (en) * 2019-03-28 2020-02-25 Micron Technology, Inc. Serializer
CN111342864A (zh) * 2020-02-20 2020-06-26 深圳震有科技股份有限公司 一种数据传输优化方法、系统及储存介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3940539B2 (ja) * 2000-02-03 2007-07-04 株式会社日立製作所 半導体集積回路
US6546461B1 (en) * 2000-11-22 2003-04-08 Integrated Device Technology, Inc. Multi-port cache memory devices and FIFO memory devices having multi-port cache memory devices therein
CN1475915A (zh) * 2002-08-12 2004-02-18 凌泰科技股份有限公司 多组态多端口存储器的装置与设计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
US2005/0249018, US2007/0070778, US05896330, US05742557, US06288969

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8151149B2 (en) 2009-06-29 2012-04-03 Hynix Semiconductor Inc. Semiconductor memory apparatus and method of testing the same
KR101188259B1 (ko) * 2009-06-29 2012-10-05 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 테스트 방법

Also Published As

Publication number Publication date
CN1941192A (zh) 2007-04-04
TW200723299A (en) 2007-06-16
TWI319194B (en) 2010-01-01
CN1941192B (zh) 2010-05-12
KR20070036610A (ko) 2007-04-03

Similar Documents

Publication Publication Date Title
KR100695437B1 (ko) 멀티 포트 메모리 소자
US7616518B2 (en) Multi-port memory device with serial input/output interface
KR100695435B1 (ko) 반도체 메모리 소자
KR100721582B1 (ko) 직렬 입/출력 인터페이스를 가진 멀티 포트 메모리 소자
JP5019904B2 (ja) 直列入/出力インターフェースを有するマルチポートメモリ素子及びその動作モードの制御方法
KR100723889B1 (ko) 직렬 입/출력 인터페이스를 가진 멀티 포트 메모리 소자
US8185711B2 (en) Memory module, a memory system including a memory controller and a memory module and methods thereof
JP5261803B2 (ja) 不揮発性メモリ用の高速ファンアウトシステムアーキテクチャおよび入出力回路
US7966446B2 (en) Memory system and method having point-to-point link
US7990798B2 (en) Integrated circuit including a memory module having a plurality of memory banks
KR100647443B1 (ko) 보조 명령버스용 장치 및 방법
US7613065B2 (en) Multi-port memory device
US5617555A (en) Burst random access memory employing sequenced banks of local tri-state drivers
US5986953A (en) Input/output circuits and methods for testing integrated circuit memory devices
KR100780621B1 (ko) 멀티 포트 메모리 소자

Legal Events

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

Payment date: 20130426

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140423

Year of fee payment: 8

FPAY Annual fee payment
FPAY Annual fee payment

Payment date: 20160422

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170425

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180425

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190422

Year of fee payment: 13