KR20060028706A - 메모리 디바이스 및 그 제공 방법 - Google Patents

메모리 디바이스 및 그 제공 방법 Download PDF

Info

Publication number
KR20060028706A
KR20060028706A KR1020057025390A KR20057025390A KR20060028706A KR 20060028706 A KR20060028706 A KR 20060028706A KR 1020057025390 A KR1020057025390 A KR 1020057025390A KR 20057025390 A KR20057025390 A KR 20057025390A KR 20060028706 A KR20060028706 A KR 20060028706A
Authority
KR
South Korea
Prior art keywords
memory
access
read
data
address
Prior art date
Application number
KR1020057025390A
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 KR20060028706A publication Critical patent/KR20060028706A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/04Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Error Detection And Correction (AREA)
  • Static Random-Access Memory (AREA)
  • Information Transfer Systems (AREA)
  • Shift Register Type Memory (AREA)

Abstract

본 발명은 각각의 어드레스 범위(AS1 내지 ASz)에 의해 어드레스 가능한 적어도 2개의 사전 결정된 레지스터 메모리 섹션을 갖는 메모리(EM)와, 상기 메모리(EM)에 대한 액세스를 제공하는 적어도 1개의 액세스 포트(P1 내지 PZ)를 구비하는 메모리 디바이스에 관한 것이다. 또한, 액세스 제어 수단(A)은 상기 메모리(EM)를 어드레스하도록 제공되어 상기 레지스터 메모리 섹션을 쉬프트 레지스터로서 동작시키고 적어도 1개의 액세스 포트(P1 내지 PZ)의 쉬프트 레지스터 액세스를 메모리(EM)의 전역 어드레스 공간 내의 사전 결정된 어드레스로 매핑시킨다. 이러한 방식으로, 단일 어드레스 가능한 메모리 디바이스 내의 복수의 FIFO 메모리를 결합하는 것이 가능하다. 이러한 구현은 전력 소비 및 면적의 관점에서 유용하다. 또한, 버퍼 메모리를 도입함으로써, 멀티 포트 메모리 디바이스는 동일한 용량의 싱글 포트 메모리 디바이스로 대체될 수 있다. 이러한 개선된 구현은 감소된 사이클 및 액세스 시간을 또한 제공한다.

Description

메모리 디바이스 및 그 제공 방법{SINGLE MEMORY WITH MULTIPLE SHIFT REGISTER FUNCTIONALITY}
본 발명은 하나 이상의 데이터 소스를 복수의 데이터 프로세싱 디바이스에 결합하도록 사용될 수 있는 FIFO(First-In-First-Out) 메모리와 같은 쉬프트 레지스터 기능을 갖는 메모리 디바이스에 관한 것이다.
현재의 저장 시스템에 있어서의 밀도율 및 전달률이 꾸준하게 증가하고 있다. 이러한 결과 중 하나는 리드아웃(read-out) 신호를 방해하는 진폭 및 위상 왜곡이 증가되는 것이다. 이러한 환경 하에서, 수용 가능한 에러 레이트를 유지하기 위해, PRML(Partial Response Maximum Likelihood) 수신기는 (자기) 광 디스크 시스템 및 하드 드라이브로부터 위성 및 이동 통신 시스템에 이르는 폭 넓은 범위의 애플리케이션에 대해 매우 효율적인 것으로 판명되었다. PRML 기반의 검출은 현재의 모든 고 용량 저장 시스템에서 사용된다. PRML 기반의 수신기를 이용하여 시스템 용량 및/또는 마진을 현저하게 증가시키거나, 또는 용량 및/또는 마진이 변화하지 않도록 유지하면서 비용을 감소시킬 수 있도록 한다. 특히, DVD+RW(Read and Writeable Digital Versatile Disc) 및 DVR(Blue-ray Disc)과 같은 개선된 광 디스크 시스템에 PRML 기반의 검출을 도입하면, 노이즈, 디포커스, 디스크 틸트(tilt)에 대한 시스템 감도를 감소시키는 것으로 나타나 있다. PRML 기반의 검출에 의해 기계적 및 광학적 시스템 부품에 대한 요건을 완화하고, 그 결과, 보다 높은 시스템 용량 및 보다 낮은 제조 비용을 달성하게 된다.
소위 비터비(Viterbi) 알고리즘은 PRML 검출기의 가장 효율적이고 실용적인 구현 예인 것으로 간주된다. 그러나, 비터비 알고리즘의 속도는 본질적으로 그 자체가 내포하는 데이터 종속 피드백 루프로 인해 제한되어 있다. 가산/비교/선택(Add-Compare-Select : ACS) 오퍼레이션이 클럭 사이클마다 실행되어야 하고, ACS 오퍼레이션의 결과가 이용 가능해지기 전에 다음 사이클이 개시될 수 없다.
미처리 클럭 사이클을 증가시키는 것과는 별개로, 비터비 검출기의 스루풋을 증대시키기 위해서는 다른 방법이 제안되어 왔다. 이러한 다른 방법은 인입 데이터 스트림을 몇 개의 서브 스트림(sub-strem)으로 분할하고 이들을 병렬로 프로세스하는 개념에 근거한다. 그러나, 광 디스크, 하드 디스크 또는 테이프와 같은 디지털 저장 또는 전송 시스템으로부터 고속으로 판독된 데이터에 대한 비터비 디코더의 병렬 구현은 고가이며 전력 소비가 높은 클럭 레이트 디지털 하드웨어의 이용을 필요로 한다. 이러한 높은 클럭 레이트 디지털 하드웨어는, 예를 들어, FIFO 메모리 블록에서 버퍼링된 상이한 병렬 데이터 스트림을 갖는 요건으로부터 기인한다. FIFO의 샘플 레이트의 합계가 시스템 클럭보다 높은 경우, 하나의 내장형 블록에서 상이한 FIFO를 결합하는 시도는 멀티 포트 메모리에 대한 요구를 초래한다. 이것은 통신 시스템 뿐만 아니라, 다수의 신호 또는 화상 처리 시스템, 저장 시스템인 경우에도 마찬가지이다.
실리콘 구현의 측면 또는 면적 및 전력 소비의 관점에서, 용량 Z×B의 하나의 통합된 메모리 블록은 통상적으로 용량 B의 Z개의 메모리 블록보다 저가이므로, 다수의 작은 블록보다 큰 용량의 하나의 메모리를 이용하는 것이 바람직할 것이다. 부가적으로, 동일한 용량의 싱글 포트 메모리는 이들의 멀티 포트 메모리보다 저가이다. 따라서, 멀티 포트 메모리 대신에 싱글 포트 메모리를 이용하는 것이 바람직하다.
따라서 본 발명의 목적은 하나의 통합된 내장형 메모리 블록에 의해 몇 개의 작은 FIFO 메모리 블록을 대체할 수 있게 하는 메모리 아키텍처를 제공하는 것이다.
이러한 목적은 청구항 1에 청구하고 있는 바와 같은 메모리 디바이스에 의해 성취된다.
따라서, 사전 결정된 레지스터 메모리 블록에 대한 쉬프트 레지스터 액세스가 메모리의 전역 어드레스 공간 내의 후속 어드레스로 매핑되는, 제안된 아키텍처는 RAM(Random Access Memory)과 같은 하나의 내장형 메모리 내의 복수의 FIFO 또는 다른 종류의 쉬프트 레지스터 메모리를 결합하도록 한다. 이러한 구현은 전력 소비 및 면적의 관점에서 가장 바람직하다. 또한, 바람직한 구현은 멀티 포트 RAM을 동일한 용량의 싱글 포트 RAM으로 대체하도록 한다. 이러한 구현은 면적 및 전력의 관점에서 바람직할 뿐만 아니라, 감소된 사이클 및 액세스 시간을 갖는다.
액세스 제어 수단은 요구된 어드레스 시퀀스를 생성하는 적어도 하나의 어드레스 카운터 또는 임의의 종류의 유한 상태 머신(finite state machine)을 포함할 수도 있다. 이에 의해, 어드레스 생성을 위한 간단한 구현이 제공될 수 있다.
또한, 사전 결정된 레지스터 메모리 섹션의 어드레스 범위는 사전 결정된 크기의 오버래핑 영역을 구비할 수도 있다. 이것은 내장형 메모리의 용량이 모든 대체된 FIFO 블록의 메모리 위치의 전체 수보다 작다는 장점을 제공한다. 이들 오버래핑 영역은 비터비 검출기에 대한 트레이닝(training) 영역으로서 유용하게 이용될 수 있으며, 여기서 인입 데이터 스트림은 서브 스트림이 오버랩하는 방식으로 몇 개의 검출기 사이에서 분할된다. 이 경우, 1개의 검출기는 그 서브 스트림의 종단부에서 오버래핑 영역을 갖고, 다른 검출기는 그 서브 스트림의 개시부에서 동일한 영역을 갖는다. 비트 판정이 전자의 검출기에 의해 제공될 수 있으므로 후자의 검출기는 트레이닝 목적으로 오버래핑 영역을 사용할 수 있다. 제안된 방안은 데이터 스트림 내의 특수한 마커(markers)를 필요로 하지 않으며, 데이터 스트림이 이미 표준화되고 그 내부에 마커를 포함할 가능성이 없는 애플리케이션에서 사용될 수 있다.
적어도 1개의 액세스 포트는 레지스터 메모리 블록 각각의 블록에 데이터를 기입하는 복수의 데이터 소스, 및 레지스터 메모리 블록으로부터 데이터를 판독하는 복수의 데이터 프로세싱 디바이스를 제공할 수도 있다. 특히, 액세스 제어 수단은 데이터 소스 및 데이터 프로세싱 디바이스에 대해 교번적인 액세스를 제공하도록 배치될 수도 있다. 데이터 소스 액세스는 전역 어드레스 공간을 통해 사이클 제어될 수도 있으며, 프로세싱 디바이스 액세스는 각각의 레지스터 메모리 섹션의 어드레스 범위를 통해 사이클 제어될 수도 있다. 이러한 사이클 판독 및 기입 오퍼레이션은 리드아웃 액세스를 위해 요구된 어드레스 변환을 용이하게 한다.
유용한 변형 예로서, 버퍼 메모리는 적어도 1개의 액세스 포트 및 메모리에 접속 가능하며, 여기서 버퍼 메모리 및 메모리의 라인 폭은 사이클 당 판독 액세스 및 기입 액세스의 합계가 승산된 적어도 1개의 액세스 포트의 데이터 폭 이상이 되도록 선택된다. 이에 의해, 싱글 포트 아키텍처가 제공될 수 있으며, 여기서 내장형 메모리는 라인 당 보다 적은 메모리 라인 및 이에 상응하는 보다 많은 비트의 메모리 블록으로 대체된다. 데이터 소스는 버퍼 메모리를 통해 내장형 메모리에 기입 데이터를 제공한다. 이러한 방식으로, 각 기입 사이클에서 내장형 메모리에 전체 라인이 기입될 수 있어 액세스 빈도를 감소시킨다. 따라서 멀티 포트 RAM 디바이스는 감소된 사이클 및 액세스 시간을 제공하면서, 동일한 용량의 싱글 포트 RAM 디바이스로 대체될 수 있다. 또한, 적어도 1개의 액세스 포트의 기입 포트의 수는 판독 포트의 수와 상이할 수도 있다. 따라서, 메모리 디바이스에 의해 채택된 데이터 심볼의 수는 사이클마다 생성된 데이터 심볼의 수와 상이할 수도 있다. 이것은 내장형 FIFO 메모리에 접속된 프로세싱 디바이스의 수가 변화할 수도 있으며 입력 데이터 스트림의 수와 동일할 필요는 없다는 장점을 제공한다.
액세스 제어 수단은 판독 액세스가 라인 폭에 부합하는 방식으로 판독 액세스에 관한 어드레스를 정렬하는 어드레스 변환 수단을 포함할 수도 있다. 특히, 액세스 제어 수단은 버퍼 메모리가 가득 찰 때까지 기입 액세스를 버퍼 메모리에 전달하고, 버퍼 메모리가 가득 찰 때에 1개의 메모리 라인을 기입할 수도 있다. 한편, 액세스 제어 수단은 라인 폭의 블록이 줄곧 판독되는 방식으로 판독 어드레스를 정렬할 수도 있다. 어드레스 변환 수단은 요구된 출력 시퀀스를 생성하는 룩업 테이블 또는 유한 상태 머신을 포함할 수도 있다.
본 발명의 유용한 실시예는 종속 청구항에 정의되어 있다.
이하 본 발명은 첨부되는 도면을 참조하여 본 발명의 바람직한 실시예에 근거하여 설명될 것이다.
도 1은 내장형 FIFO 블록을 갖는 본 발명의 바람직한 제 1 실시예에 따라 개별적인 FIFO 메모리 디바이스로부터 메모리 디바이스로의 전달을 표시하는 기능 블록도,
도 2는 버퍼링된 액세스를 갖는 본 발명의 바람직한 제 2 실시예에 따라 내장형 멀티 포트 메모리 구조로부터 싱글 포트 메모리 디바이스로의 전달을 표시하는 기능 블록도,
도 3은 바람직한 제 1 및 제 2 실시예에 사용된 어드레스 생성 기능의 개략적인 블록도,
도 4는 제 2 실시예에 사용된 어드레스 변환 기능의 개략적인 블록도,
도 5는 제 1 구현 예에 따른 메모리 액세스 스케줄을 표시하는 테이블,
도 6은 제 2 구현 예에 따른 메모리 액세스 스케줄을 도시하는 도면이다.
본 발명의 바람직한 실시예는 FIFO 메모리 블록의 수 Z가 하나의 통합된 내장형 메모리 블록 EM으로 구현되는 메모리 아키텍쳐에 근거하여 설명될 것이다.
도 1은 그 좌측 부분에 전용 입력 단자 및 출력 단자를 갖는 통상의 이산적인 FIFO 메모리 블록 FIFO1 내지 FIFOZ를 표시하는 개략적인 기능 블록도를 도시한다. 이러한 통상적인 구조는 도 1의 우측 부분에 도시한 본 발명의 바람직한 제 1 실시예에 따른 메모리 아키텍처로 전달될 수 있다. 바람직한 제 1 실시예에 따르면, 작은 FIFO 블록 FIFO1 내지 FIFOZ는 하나의 통합된 내장형 메모리 블록 EM으로 대체된다. 따라서, Z개의 FIFO 블록 각각이 메모리 용량 B를 갖는 경우, 이들은 Z×B의 용량을 갖는 내장형 메모리 블록 EM으로 결합될 수 있으며, FIFO 액세스는 내장형 메모리 블록 EM의 전역 어드레스 공간 내의 후속 어드레스로 매핑될 수 있다. 여기서 FIFO 블록의 용량은 반드시 동일할 필요는 없다는 것에 주의해야 한다. 각각의 FIFO 블록은 개별적인 어드레싱 방안의 구현에서 고려되어야 하는 개별적인 특정 용량을 가질 수도 있다. 판독 및/또는 기입 어드레스는 내장형 메모리 블록 EM에, 대응하는 제어 신호 및 어드레스를 제공하는 액세스 제어 유닛 A에 의해 제어될 수 있다. 또한, 내장형 메모리 블록 EM으로 데이터가 기입되거나, 내장형 메모리 블록 EM으로부터 데이터가 판독되도록 하는 데이터 유닛은 각각의 액세스 포트 P1 내지 PZ를 통해 공급될 수 있다.
각각의 FIFO 블록에는 대응하는 어드레스 범위 AS1 내지 ASz를 갖는 사전 결정된 FIFO 메모리 섹션이 할당된다. 액세스 제어 유닛 A의 어드레스 생성 기능은 순차적이거나 순환적인 카운터 또는 순차적이거나 순환적인 카운팅 기능에 근거하여 FIFO 방식으로, 즉, FIFO 메모리 섹션의 폭에 상응하는, 대응 쉬프트 지연 이후의 상응하는 FIFO 메모리 섹션에 기입되는 제 1 데이터 유닛으로, 내장형 메모리 블록으로부터 판독되거나, 내장형 메모리 블록에 기입하도록 후속 어드레스를 생성한다. 특히, FIFO 또는 다른 쉬프트 레지스터 메모리의 핵심적인 특징은 데이터 유닛 또는 데이터 워드가 순차적으로 판독되고 기입된다는 것이다.
따라서 시스템 설계자는, 예를 들어, 비터비 검출기에 사용될 수 있고, 인터리버 또는 디인터리버 기능을 각각 포함할 수 있는 멀티플렉싱 또는 디멀티플렉싱 디바이스를 설계하는 경우, 통상적인 소수의 FIFO 블록 FIFO1 내지 FIFOZ가 통합된 내장형 메모리 블록 EM으로 대체될 수 있다. 이러한 경우, 인입 데이터 스트림이 디멀티플렉싱되고 인터리브되어 "오랫동안 사용되지 않은" 비터비 검출기의 세트에 의해 데이터의 병렬 프로세싱을 가능하게 한다. 병렬 비터비 검출기로부터 출력되는 출력 데이터 스트림이 멀티플렉싱되고 디인터리브되어 입력 스트림의 포맷과 유사한 포맷을 갖는 출력 비트 판정 스트림을 형성한다. 비터비 기반의 비트 검출기는 시스템의 나머지에 대해 투명성이 있고 집적 회로 내의 현재의 데이터 흐름으로 용이하게 일체화될 수 있는 방식으로 구성된다. 순차적인 비터비 검출기의 각각은 비트 레이트보다 저속으로 동작될 수도 있다. 비터비 검출기의 속도가 저속으로 될수록 비터비 검출기는 병렬로 실행되도록 더 요구된다. 비터비 검출기의 수는 적어도 검출기의 비트 레이트 및 속도 사이의 비에 따라 거의 선형적으로 증가한다.
이러한 검출기 애플리케이션의 경우, 혹은 다른 종류의 애플리케이션의 경우에도, 내장형 메모리 블록 EM의 상이한 FIFO 메모리 섹션 사이의 오버래핑 영역을 생성하는데 유용할 수 있다. 그 다음에, 적어도 1개의 부가적인 비터비 검출기는 입력 스트림의 서브 분할된 오버래핑 영역의 존재에 관한 오버헤드를 처리하도록 요구되며, 여기서 동일한 입력 샘플이 적어도 2개의 오버래핑 영역에서 프로세스된다. 표준의 순차적인 비터비 검출기에 대해 변화되지 않는 제안된 병렬 비터비 검출기의 에러 레이트를 유지하도록 요구되는 오버랩 영역의 크기는 작다. 이는, 예를 들면, 광 디스크 시스템, 하드 디스크 드라이버, 디지털 테이프 저장 시스템 등과 같은 관련 애플리케이션에 대해, 약 50 내지 100개의 입력 샘플이 될 수 있다. 오버랩 영역의 일부분, 통상적으로 30 내지 50개의 샘플은 백트래킹(backtracking) 어레이를 초기화하도록 사용될 수 있는 한편, 그 나머지 부분, 통상적으로 20 내지 50개의 샘플이 경로 메트릭(metrics)을 초기화하도록 사용될 수 있다. 이러한 오버래핑 영역을 제공하면 내장형 메모리 블록 EM의 용량이 Z×B보다 작다는 장점이 생기게 된다.
도 2는 멀티 포트 내장형 메모리 블록 EM이 부가적인 버퍼 메모리 B를 갖는 싱글 포트 내장형 메모리 블록 EM으로 대체되는 바람직한 제 2 실시예의 개략적인 기능 블록도를 도시한다.
이와 관련하여, 도 2의 좌측 부분에 도시한 바와 같이, 라인 당 N 비트를 갖는 M 라인의 멀티 포트 메모리 블록 EM은 사이클마다 X 기입 어드레스 및 Y 판독 어드레스를 처리해야 한다. 따라서, 액세스 포트 P1 내지 PZ는 X 기입 포트 및 Y 판독 포트를 포함한다. 이것은 2개 이상의 기입 포트가 1개의 FIFO 메모리 섹션에 할당되거나 또는 1개의 판독 포트가 2개 이상의 FIFO 메모리 섹션에 할당될 수 있음을 암시한다.
버퍼 메모리 B의 라인 폭 L이 조건식 L≥X+Y를 충족하는 경우, 내장형 메모리 블록 EM은 판독 및 기입 액세스가 버퍼링되는 경우에 라인 당 L×N 비트를 갖는 M/L 라인을 구비하는 싱글 포트 메모리 블록으로 대체될 수 있다. 기입 측에서 L×N 비트의 증대된 버퍼 크기에 의해, 버퍼 메모리 B가 채워질 때까지 내장형 메모리 블록 EM 대신에 버퍼 메모리 B로 액세스가 전달될 수 있다. 일단 버퍼 메모리 B가 채워지는 경우, 내장형 메모리 블록 EM의 하나의 메모리 라인이 기입될 수 있다.
경우에 따라, 버퍼 메모리 B의 타이밍 요건은 버퍼 메모리 B에 데이터를 기입하고 동일한 사이클 내에서 내장형 메모리 블록 EM에 버퍼 콘텐츠를 복제하는 것을 허용하지 않으며, 버퍼 메모리 B의 폭은 내장형 메모리 블록 EM의 폭, 즉, N×(L-1)의 버퍼 폭보다 작은 하나의 샘플 폭으로서 정의될 수 있어 (버퍼 메모리 B를 더 채울 수도 있는) 최종 액세스가 버퍼링되지 않는 버퍼 콘텐츠와 병렬로 내장형 메모리 블록 EM으로 직접 전달된다. 그러나, 버퍼 메모리 B 및 내장형 메모리 블록 EM 사이의 라인 폭은 L×N을 유지한다.
판독 측에서, 액세스는 L×N 비트의 블록이 줄곧 판독되는 방식으로 정렬되어야 한다. 이러한 관점에서, 액세스 제어 유닛 A는 액세스의 어드레스가 내장형 메모리 블록 EM의 크기에 부합하도록 정렬되는 방식으로 어드레스를 생성한다. 이것은 액세스 제어 디바이스 A의 어드레스 생성 기능에 내장될 수 있거나 또는 개별적인 유닛일 수도 있는 어드레스 변환 유닛 AT를 도입함으로써 성취될 수 있다. 어드레스 변환 유닛 AT는 판독 및 기입측 상에서 제공되거나 제어될 수도 있다.
이러한 버퍼링 방안은 액세스 시간에 부가된 L 사이클의 대기를 도입하며, 즉, 사이클 K 내에 기입된 데이터가 사이클 K+L+1에서만 이용 가능하게 된다. 그러나, 대부분의 애플리케이션의 경우, 파라미터 L은 다소 작다. 또한, 데이터 샘플의 스트림 상에서 동작하는 다수의 애플리케이션은 대기에 크게 민감하지는 않다.
따라서, 바람직한 제 2 실시예에서, 하나 이상의 데이터 소스로부터 초래되는 입력 데이터 스트림 또는 스트림들은 내장형 메모리 블록 EM의 증대된 라인 폭에 대응하는 길이를 갖는 버퍼 메모리 B를 통해 내장형 메모리 블록 EM에 기입 데이터를 제공한다. 이러한 방식으로, 몇 개의 메모리 액세스에 대응하는 전체 라인이 각 기입 사이클에서 내장형 메모리 블록 EM에 기입될 수 있다. 이에 의해, 액세스 빈도가 바람직한 제 1 실시예의 멀티 포트 내장형 메모리 블록에 비해 감소될 수 있다.
도 3은 바람직한 제 1 및 제 2 실시예에서 액세스 제어 유닛 A의 어드레스 생성 기능의 개략적인 블록도를 도시한다. 어드레스 생성은 어드레스 포트 P1 내지 PZ에 할당된 FIFO 메모리 섹션을 어드레싱하도록 사용될 각각의 어드레스 A1 내지 AZ를 생성하는 간단한 카운터 또는 카운터 기능 C1 내지 CZ에 근거할 수 있다. 각각의 카운터 기능은 카운터 기능을 사전 결정된 초기 어드레스 값으로 리세트하는 리세트 신호 Res 및 클럭 신호 Clk에 의해 제어된다. FIFO 메모리를 어드레스하는 경우에, 바람직한 제 1 및 제 2 실시예에서와 같이, 카운터 기능 C1 내지 CZ는 순차적인 카운터 기능, 예를 들면, 어드레스 범위 AS1 내지 ASz의 각 범위에 대해 포인터를 생성하는 제 1 카운터 및 선택된 실제의 FIFO 어드레스 범위 내의 메모리 라인의 각 어드레스를 생성하는 제 2 카운터로서 간단히 구현될 수도 있다.
바람직한 제 2 실시예에서, 버퍼 메모리 B를 어드레스하는데 사용될 버퍼 어드레스 AB를 생성하기 위해 부가적인 카운터 또는 카운터 기능 CB가 제공된다.
도 3에 도시한 카운터 기능 C1 내지 CZ, CB 대신에, 요구된 어드레스 시퀀스를 생성하는 임의의 유한 상태 머신(FSM)이 사용될 수 있음에 주의해야 한다.
도 4는 바람직한 제 2 실시예에 따른 액세스 제어 유닛 A의 어드레스 변환 기능의 개략적인 블록도를 도시한다. 이러한 어드레스 변환 기능은 요구된 어드레스 시퀀스가 저장되는 룩업 테이블 LUT에 근거하여 간단히 구현될 수도 있다. 룩업 테이블 LUT는 액세스 제어 유닛 A의 어드레스 생성 기능에 의해 생성된 어드레스 A1 내지 AZ에 의해 어드레스된다. 어드레스 A1 내지 AZ 각각의 경우, 내장형 메모리 블록 EM의 대응하는 메모리 어드레스 AEM이 룩업 테이블에 저장되어 내장형 메모리 블록 EM에 공급된다.
그러나, 어드레스 변환 기능은 요구된 어드레스 시퀀스를 생성하는 FSM으로서 또한 구현될 수도 있다. FIFO 메모리 섹션의 경우, 이러한 FSM은 2개의 간단한 순회 카운터로 또한 구성될 수도 있다.
상기 제 1 및 제 2 실시예는 전적으로 독립적인 방식으로 구현될 수 있으며 클럭 주파수의 증가를 필요로 하지 않음에 주의해야 한다.
이하의 설명에서, 바람직한 실시예의 제 1 구현 예는 도 5 및 도 6을 참조하여 설명된다. 이 구현은 비터비 검출기와 같은 병렬 PRML 비트 검출기의 멀티플렉싱 또는 디멀티플렉싱 기능에서 사용될 수도 있다. 이러한 시스템에서, 5개의 데이터 스트림이 병렬로 프로세스되어, 내장형 메모리 블록 EM에 5개의 FIFO 메모리 섹션이 요구된다. 입력 측에서, 8개의 비트 샘플에 대해, 각각이 클럭 사이클마다 판독되고 FIFO 메모리 섹션 간에 분배되어야 한다. 바람직한 제 1 실시예의 경우, 적어도 1개의 액세스 포트, 즉, 1개의 판독 포트 및 1개의 기입 포트를 갖는 멀티 포트 메모리 아키텍처가 얻어진다. 액세스 포트는 사이클마다 4개의 샘플을 채택하고 5개의 샘플을 생성할 수 있어야 한다.
요구된 메모리 용량은 특정의 애플리케이션에 따라 달라진다. 각각의 FIFO 메모리 섹션은 300 바이트의 메모리 용량을 갖는다. 논오버래핑 FIFO 메모리 섹션의 경우, 내장형 메모리 블록 EM의 전체 용량은 1500 바이트가 될 것이다. 판독 데이터의 20% 오버래핑의 경우, 이는 입력 샘플의 일부가 2개의 상이한 FIFO에 의해 판독되는 것을 의미하며, 도 1의 어드레스 범위 AS1 내지 ASz는 1200 바이트의 전체 용량이 충분하도록 오버래핑한다.
바람직한 제 2 실시예에서, 버퍼 메모리 B의 라인 폭은 12개의 메모리 액세스가 버퍼링될 수 있도록 12 바이트가 될 수도 있다. 하나의 바이트가 8 비트로 구성된다고 가정하면, 내장형 메모리 블록 EM은 96 비트 각각의 100 라인을 갖는 SRAM(스태틱 RAM)으로서 구성될 수 있다. 따라서, 12개의 샘플을 버퍼링하고 이들을 내장형 메모리 블록 EM에 기입하는데 3개의 사이클이 요구된다. 그러므로, 기입 액세스는 3개의 사이클에서 1회 발생한다. 1개의 판독 액세스에 의해, 12개의 샘플이 판독되며, 여기서 내장형 FIFO 블록의 출력 측에서 5개의 데이터 스트림의 요구되는 프로세싱으로 인해 5개의 판독 액세스가 발생한다. 따라서, 12 사이클마다 5개의 판독 액세스가 발생한다. 현재의 경우에서 길이 팩터는 L=12의 값을 갖고 기입 액세스의 수는 X=4의 값을 가지며, 판독 액세스의 수는 Y=5의 값을 갖는다는 사실로 인해, 본 제 1 예에서는 상기 조건식 L≥X+Y이 충족된다.
도 5는 제 1 예에 대해 적절한 메모리 액세스 스케줄의 가능한 하나의 구현을 표시하는 테이블이다. 제 1 및 제 2 사이클(사이클 No.0 및 1)에서 내장형 메모리 블록 EM에 대한 액세스가 수행되지 않으며, 각 사이클에서 4개의 샘플이 버퍼 메모리 B에 기입된다. 제 3 사이클(사이클 No.2)에서 현재 가득 차 있는 버퍼 메모리 B로 4개의 샘플이 다시 기입됨에 따라 내장형 메모리 블록 EM에 버퍼 메모리 B의 콘텐츠를 복제함으로써 내장형 메모리 블록 EM에 대한 기입 액세스가 수행될 수 있다. 제 4 사이클(사이클 No.3)에서 내장형 FIFO 블록의 출력 측, 예를 들면, 제 1 PRML 디코더에서, 제 1 프로세싱 유닛에 대해 판독 액세스가 수행될 수 있어, 12개의 샘플을 제 1 PRML 디코더에 전달하는 한편, 4개의 샘플이 버퍼 메모리 B에 다시 기입된다. 마찬가지로, 제 5 사이클(사이클 No.4)에서, 제 2 판독 액세스가 수행되어 12개의 샘플이 제 2 PRML 디코더에 전달되는 한편, 4개의 샘플이 버퍼 메모리 B에 기입된다. 제 6 사이클(사이클 No.5)에서, 현재 가득 차 있는 버퍼 메모리 B에 4개의 샘플이 기입되어, 그 콘텐츠가 새로운 기입 액세스에서 내장형 메모리 블록 EM으로 복제된다. 그 다음에, 제 7 및 제 8 사이클(사이클 No.6 및 사이클 No.7)에서, 각각의 판독 액세스가 수행되어 12개의 샘플이 제 3 PRML 디코더 및 제 4 PRML 디코더에 전달되는 한편, 2개의 사이클 각각에서 4개의 새로운 샘플이 버퍼 메모리 B에 기입된다. 그 다음에, 제 9 사이클(사이클 No.8)에서, 4개의 샘플이 현재 다시 가득 차 있는 메모리 버퍼 B에 기입되고, 다른 기입 액세스 동안 그 콘텐츠가 내장형 메모리 블록 EM으로 복제된다. 제 10 사이클(사이클 No.9)에서, 판독 액세스가 다시 수행되며, 12개의 샘플이 최종 제 5 PRML 디코더에 전달되는 한편, 4개의 새로운 샘플이 버퍼 메모리 B에 기입된다. 다음의 제 11 사이클(사이클 No.10)에서, 내장형 메모리 블록 EM에 대한 액세스가 수행되지 않는 한편, 4개의 샘플이 버퍼 메모리 B에 기입된다. 최종적으로, 제 12 사이클(사이클 No.11)에서, 현재 가득 차 있는 버퍼 메모리 B에 4개의 부가적인 샘플이 기입되고, 버퍼 메모리 B의 콘텐츠가 내장형 메모리 블록 EM에 복제되도록 제 3 기입 액세스가 수행된다.
따라서, 12개의 사이클마다 4개의 기입 액세스 및 5개의 판독 액세스가 존재한다. 그러나, 이것은 판독 액세스의 메모리 라인이 기입 액세스의 메모리 라인보다 훨씬 앞에 위치한다는 것을 의미하지는 않는다. 이러한 이유는, 때때로, PRML 디코더 중 2개의 상이한 디코더에 의해 동일한 데이터가 기입되기 때문이다.
통상적으로, 버퍼 메모리 B 및 내장형 메모리 블록 EM의 라인 폭은 기입 액세스 및 판독 액세스의 수의 합계에 반드시 상응하지는 않는다. 실질적으로, 파라미터 L은 적어도 이러한 합계가 되어야 한다. 그러나, 이러한 값이 내장형 메모리 블록 EM의 적절한 메모리 크기, 예를 들면, 1200 바이트에 더욱 매칭하는 경우, 파라미터 L에 대해 높은 값이 선택될 수 있다.
실제로, 상기 제 1 예에서, 기입된 데이터는 13개의 사이클 이후에만 이용 가능하다. 도 5의 사이클 No.3에서, 판독 데이터는 1개의 사이클 이전에 기입된 데이터에 대응하지는 않는다. 적어도 13개의 사이클의 지연이 항상 존재한다. 또한, 파워 온(power-on) 이후에, 때때로 "유용한" 데이터가 판독될 수 있기 전에 내장형 메모리 블록 EM에 데이터를 기입하도록 요구된다.
실질적인 구현에서, 바람직한 제 2 실시예의 최종 내장형 메모리 블록 EM은 임의의 버퍼 및 어드레스 생성기를 배제하고, CMOS18 프로세스에서 0.15㎟의 면적을 갖고 0.951 ㎽/Mhz를 소비한다. 애플리케이션의 요건, 즉, 40 비트/라인을 갖는 240 라인 폭에 부합하는, 필적한 듀얼 포트 메모리는 액세스 포트 당 0.46㎟의 면적을 갖고 0.211 ㎽/Mhz를 소비한다. 또한, 싱글 포트 내장형 메모리 블록 EM의 용도는 IC 구현이 덜 개선되도록 하므로 CMOS 프로세스가 더 저가로 된다. 5개의 FIFO의 구현은 0.44㎟의 면적 및 0.944 ㎽/Mhz의 전력 소비를 초래한다. 따라서 제안된 기법의 장점이 명확하게 보이게 된다.
도 6은 바람직한 실시예의 제 2 예에 대한 다른 적절한 메모리 액세스 스케줄을 도시한다. 이러한 제 2 예에서, 9개의 라인 L0 내지 L8의 메모리 총 용량을 갖는 제 2 예의 내장형 메모리 블록 EM에 3개의 출력 프로세싱 디바이스 O1 내지 O3이 접속된다. 따라서, 각각의 FIFO 섹션은 3개의 라인으로 구성된다. 특히, 제 1 출력 프로세싱 디바이스 O1은 라인 L0 내지 L2를 이용하고, 제 2 출력 프로세싱 디바이스 O2는 라인 L3 내지 L5를 이용하고, 제 3 출력 프로세싱 디바이스 O3은 라인 L6 내지 L8을 이용한다. 우수개의 사이클마다, 기입 액세스가 발생하고, 기수개의 사이클마다, 판독 액세스가 발생한다. 어드레스 변환기 AT의 기입 어드레스 생성 기능은 어드레스 A=C/2 mod 9를 생성하며, 여기서 C는 사이클 수는 나타내고, "mod"는 수학적인 모듈 오퍼레이션을 나타낸다. 또한, 어드레스 변환기 AT의 판독 어드레스 생성기 기능은 판독 어드레스 A=3×(n mod 3)+INT(n/3 mod 9)를 생성하며, 여기서 n=(C-1)/2이다.
이후, 메모리를 통한 기입 어드레스 사이클은 판독 어드레스와는 다른 순서로 수행된다. 따라서, 출력 샘플은 입력 샘플과 반드시 동일한 순서로는 되어 있지 않다. 도 6에 따르면, 제 1 출력 프로세싱 디바이스 01에 대해 판독 방안 "read L0"→"read L1"→"read L2"가 이용된다. 또한, 제 2 출력 프로세싱 디바이스 02에 대해 판독 방안 "read L4"→"read L5"→"read L3"이 이용되는 한편, 초기화 이후에 초기 판독된 라인 L4 및 L5가 폐기된다. 제 3 출력 프로세싱 디바이스 03에 대해, 판독 방안 "read L7"→"read L8"→"read L6"이 이용되는 한편, 초기 판독된 라인 L7 및 L8이 폐기된다. 폐기 기능은 스트림의 개시 시에 의미 있는 데이터를 나타내지 않는 일부 더미 데이터를 삽입함으로써 구현될 수도 있다. 이러한 폐기 기능은 내장형 메모리 블록 EM이 비어 있는 경우, 리세트 이후 개시 시에서만 관련된다. 초기에 폐기된 라인은 도 6에 대응하는 괄호로 표시되어 있다. 따라서, 도 6의 액세스 방안에서, 제 2 및 제 3 출력 프로세스 디바이스 O2 및 O3은 이들 제 1 "유용한" 데이터를 짧은 지연 이후에 수신하는 한편, 제 1 출력 프로세싱 디바이스 O1은 이들 데이터를 즉시 수신한다.
어드레스마다 적어도 1회 기입되자마자, 시스템은 초기화를 거쳐서, 안정한 상태에 도달함에 따라, 폐기는 더 이상 요구되지 않는다. 또한 비터비 검출기 예에서, 이러한 문제는 이미 앞서 언급한 바와 같은 초기화를 위해 개시 시에 "이음매 없는(seamless)" 또는 더미 데이터를 도입함으로써 해결될 수 있다.
도 6으로부터 통합적으로 알 수 있는 바와 같이, 라인 L0 내지 L8은 제 1 사이클(사이클 No.0)에 의해 개시하는 우수 사이클마다 연속적으로 기입된다. 제 2 사이클(사이클 No.1)에서, 라인 0이 판독되어 제 1 출력 프로세싱 디바이스 O1에 공급된다. 제 4 사이클(사이클 No.3)에서, 라인 4가 판독되어 제 2 출력 프로세싱 디바이스 O2에 공급되는 한편, 초기의 제 1 판독 오퍼레이션 동안 콘텐츠가 폐기된다. 제 6 사이클(사이클 No.5)에서, 라인 7이 판독되어 제 3 출력 프로세싱 디바이스 O3에 공급되는 한편, 초기의 제 1 판독 오퍼레이션 동안 제 3 출력 프로세싱 디바이스 O3에 대한 콘텐츠가 다시 폐기된다. 제 8 사이클(사이클 No.7)에서, 라인 L1이 판독되어 제 1 출력 프로세싱 디바이스 O1에 공급된다. 또한, 제 10 사이클(사이클 No.9)에서, 라인 L5가 판독되어 제 2 출력 프로세싱 디바이스 O2에 공급된다. 또한 제 1 판독 오퍼레이션 동안 이 콘텐츠가 폐기된다. 제 3 출력 프로세싱 디바이스 O3에 공급되는 제 12 사이클(사이클 No.11)에서, 라인 8의 판독에 마찬가지로 적용된다. 그 다음에, 제 14 사이클(사이클 No.13) 동안, 라인 L2가 판독되어 그 콘텐츠가 제 1 출력 프로세싱 디바이스 O1에 공급된다. 제 16 및 18 사이클(사이클 No.15 및 17)에서, 라인 L3 및 L6이 각각 판독되어 그 콘텐츠가 제 2 및 제 3 출력 프로세싱 디바이스 O2 및 O3에 각각 공급된다. 그리고 나서, 프로시쥬어는 제 1 사이클(사이클 No.0)에 의해 다시 개시된다.
본 발명은 도 5 및 도 6에 도시한 상기 액세스 방안에 제한되지 않는다는 것에 주의해야 한다. 원하는 액세스 방안에 따라 임의의 적절한 어드레싱 방안이 이용될 수 있다. 또한, 임의의 수의 판독 액세스, 기입 액세스 및 라인 수가 구현될 수 있는 한편, 바람직한 제 2 실시예에서 버퍼 메모리 B의 상기 폭 요건이 고려되어야 한다.
본 발명은 PB(Portable Blue) 또는 SFFO(Small Form Factor Optical), DVD, DVD+RW, DVR과 같은 광 디스크 시스템, 또는 임의의 차후의 광 디스크 시스템에 있어서 임의의 병렬 쉬프트 레지스터 구조에 적용될 수 있다. 또한, 본 발명은 광 자기 시스템, 또는 하드 디스크 시스템, 디지털 테이프 저장 시스템, 위성 및 이동 통신 시스템, 화상 처리 시스템 등에도 적용될 수 있다. PRML 또는 비터비 프로세싱 시스템의 경우에, 본 발명은 입력 측에서 디멀티플렉싱 또는 인터리빙 기능에 적용될 수 있거나, 혹은 출력 측에서 멀티플렉싱 또는 디인터리빙 기능에 적용될 수 있다. 따라서 바람직한 실시예는 첨부되는 청구 범위의 범위 내에서 가변될 수 있다.

Claims (20)

  1. 메모리 디바이스로서,
    각각의 어드레스 범위(AS1 내지 ASz)에 의해 어드레스 가능한 적어도 2개의 사전 결정된 레지스터 메모리 섹션을 갖는 메모리(EM)와,
    상기 메모리(EM)에 대한 액세스를 제공하는 적어도 1개의 액세스 포트(P1 내지 PZ)와,
    상기 메모리(EM)를 어드레스하여 상기 레지스터 메모리 섹션을 쉬프트 레지스터로서 동작시키고 상기 적어도 1개의 액세스 포트(P1 내지 PZ)의 쉬프트 레지스터 액세스를 상기 메모리(EM)의 전역 어드레스 공간 내의 사전 결정된 어드레스로 매핑시키는 액세스 제어 수단(A)
    을 구비하는 메모리 디바이스.
  2. 제 1 항에 있어서,
    상기 액세스 제어 수단(A)은 적어도 1개의 어드레스 카운터를 구비하는 메모리 디바이스.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 어드레스 범위(AS1 내지 ASz)는 사전 결정된 크기의 오버래핑 영역을 구비하는 메모리 디바이스.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 적어도 1개의 액세스 포트(P1 내지 PZ)는 상기 레지스터 메모리 섹션 각각의 섹션에 데이터를 기입하는 복수의 데이터 소스에 대한 액세스, 및 상기 레지스터 메모리 섹션으로부터 데이터를 판독하는 복수의 데이터 프로세싱 디바이스에 대한 액세스를 제공하는 메모리 디바이스.
  5. 제 4 항에 있어서,
    상기 액세스 제어 수단(A)은 상기 데이터 소스 및 상기 데이터 프로세싱 디바이스에 대한 교번적인 액세스를 제공하도록 배치되는 메모리 디바이스.
  6. 제 4 항 또는 제 5 항에 있어서,
    데이터 소스 액세스는 상기 전역 어드레스 공간을 통해 사이클 제어되고, 프로세싱 디바이스 액세스는 각각의 레지스터 메모리 섹션의 어드레스 범위를 통해 사이클 제어되는 메모리 디바이스.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 적어도 1개의 액세스 포트(P1 내지 PZ) 및 상기 메모리(EM)에 접속 가능한 버퍼 메모리(B)를 더 포함하며, 상기 버퍼 메모리(B) 및 상기 메모리(EM)의 라인 폭은 사이클 당 판독 어드레스 및 기입 어드레스의 합계가 승산된 상기 적어도 1개의 액세스 포트의 데이터 폭 이상이 되도록 선택되는 메모리 디바이스.
  8. 제 7 항에 있어서,
    상기 메모리(EM)는 싱글 포트 메모리인 메모리 디바이스.
  9. 제 7 항 또는 제 8 항에 있어서,
    상기 적어도 1개의 액세스 포트(P1 내지 PZ)는 복수의 기입 포트 및 복수의 판독 포트를 구비하고, 기입 포트의 수는 판독 포트의 수와 상이한 메모리 디바이스.
  10. 제 7 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 버퍼 메모리(B)는 상기 적어도 1개의 액세스 포트(P1 내지 PZ)의 판독 및 기입 액세스를 버퍼링하도록 배치되는 메모리 디바이스.
  11. 제 7 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 액세스 제어 수단(A)은 상기 판독 액세스에 관한 어드레스를 상기 라인 폭에 부합하는 방식으로 정렬하는 어드레스 변환 수단(AC)을 구비하는 메모리 디바이스.
  12. 제 11 항에 있어서,
    상기 어드레스 변환 수단(AC)은 룩업 테이블(LUT)을 구비하는 메모리 디바이스.
  13. 제 7 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 액세스 제어 수단(A)은 상기 버퍼 메모리(B)가 채워질 때까지 상기 버퍼 메모리(B)에 기입 액세스를 전달하고, 상기 버퍼 메모리(B)가 채워지는 때에 1개의 메모리 라인을 기입하는 메모리 디바이스.
  14. 제 7 항 내지 제 13 항 중 어느 한 항에 있어서,
    상기 액세스 제어 수단(A)은 상기 라인 폭의 블록이 줄곧 판독되는 방식으로 판독 액세스를 정렬하는 메모리 디바이스.
  15. 제 1 항 내지 제 14 항 중 어느 한 항에 있어서,
    상기 적어도 2개의 사전 결정된 레지스터 메모리 섹션은 FIFO 메모리 섹션으로서 동작되는 메모리 디바이스.
  16. 복수의 입력 데이터 스트림을 디멀티플렉스하고 디멀티플렉스된 데이터 스트림을 복수의 데이터 프로세싱 유닛에 공급하며, 상기 데이터 입력 스트림은 제 1 항 내지 제 15 항 중 어느 한 항에 기재된 메모리 디바이스에 공급되는 디멀티플렉싱 디바이스.
  17. 제 16 항에 있어서,
    상기 디멀티플렉싱 디바이스는 PRML 기반형 인터리버(interleaver) 기능을 구비하는 디멀티플렉싱 디바이스.
  18. 복수의 데이터 프로세싱 유닛으로부터 공급된 데이터 스트림을 멀티플렉스하고, 멀티플렉스된 출력 데이터 스트림을 생성하며, 상기 데이터 스트림은 제 1 항 내지 제 14 항 중 어느 한 항에 기재된 메모리 디비이스에 공급되는 멀티플렉싱 디바이스.
  19. 제 18 항에 있어서,
    상기 멀티플렉싱 디바이스는 PRML 기반형 디인터리버(de-interleaver) 기능을 구비하는 멀티플렉싱 디바이스.
  20. 각각의 어드레스 범위(AS1 내지 ASz)에 의해 어드레스 가능한 적어도 2개의 사전 결정된 레지스터 메모리 섹션을 갖는 메모리(EM)를 마련하는 단계와,
    상기 메모리(EM)에 대한 액세스를 제공하는 적어도 1개의 액세스 포트(P1 내지 PZ)를 마련하는 단계와,
    상기 메모리(EM)를 어드레스하여 상기 레지스터 메모리 섹션을 쉬프트 레지스터로서 동작시키고 상기 적어도 1개의 액세스 포트(P1 내지 PZ)의 쉬프트 레지스터 액세스를 상기 메모리(EM)의 전역 어드레스 공간 내의 사전 결정된 어드레스로 매핑시키는 액세스 제어 수단(A)을 마련하는 단계
    를 구비하는 메모리 디바이스 제공 방법.
KR1020057025390A 2003-07-02 2004-06-30 메모리 디바이스 및 그 제공 방법 KR20060028706A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03101980.5 2003-07-02
EP03101980 2003-07-02

Publications (1)

Publication Number Publication Date
KR20060028706A true KR20060028706A (ko) 2006-03-31

Family

ID=33560838

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057025390A KR20060028706A (ko) 2003-07-02 2004-06-30 메모리 디바이스 및 그 제공 방법

Country Status (8)

Country Link
US (1) US7774573B2 (ko)
EP (1) EP1644820B1 (ko)
JP (1) JP4900800B2 (ko)
KR (1) KR20060028706A (ko)
CN (1) CN100485601C (ko)
AT (1) ATE396447T1 (ko)
DE (1) DE602004013977D1 (ko)
WO (1) WO2005003956A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100817204B1 (ko) 2006-12-22 2008-03-27 재단법인서울대학교산학협력재단 플래시 메모리의 매핑 방법 및 장치
TWI382426B (zh) * 2007-10-04 2013-01-11 Realtek Semiconductor Corp 預測快取記憶體之存取位置的方法及系統
JP5621856B2 (ja) * 2011-01-25 2014-11-12 富士通株式会社 メモリ制御方法、およびシステム
CN103594109B (zh) * 2012-08-15 2017-09-15 上海华虹集成电路有限责任公司 一种替代双端口静态存储器的存储器结构
US9430394B2 (en) * 2013-12-12 2016-08-30 Mediatek Singapore Pte. Ltd. Storage system having data storage lines with different data storage line sizes
JP6632876B2 (ja) * 2015-12-04 2020-01-22 シナプティクス・ジャパン合同会社 バッファメモリ装置及び表示駆動デバイス

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3824562A (en) * 1973-03-30 1974-07-16 Us Navy High speed random access memory shift register
US4862419A (en) * 1983-11-10 1989-08-29 Advanced Micro Devices, Inc. High speed pointer based first-in-first-out memory
US4750154A (en) 1984-07-10 1988-06-07 Prime Computer, Inc. Memory alignment system and method
GB2214759B (en) * 1988-01-18 1992-01-02 Plessey Co Plc High speed digital data link
US4879720A (en) * 1988-03-10 1989-11-07 M/A-Com Government Systems, Inc. Decoder ring system
JPH01269150A (ja) * 1988-04-20 1989-10-26 Nec Eng Ltd バッファリング装置
DE69031220T2 (de) * 1990-12-20 1998-02-12 Ibm Hochgeschwindigkeitsmultiport-FIFO-Pufferschaltung
JPH04221491A (ja) * 1990-12-21 1992-08-11 Nippon Telegr & Teleph Corp <Ntt> セルfifo回路
US5276808A (en) * 1991-02-04 1994-01-04 International Business Machines Corporation Data storage buffer system and method
JPH05258555A (ja) * 1992-03-17 1993-10-08 Nec Corp Fifo半導体メモリ
US5812820A (en) * 1995-09-29 1998-09-22 Pacific Commware, Inc. Virtual UART
US5712992A (en) * 1995-12-06 1998-01-27 Cypress Semiconductor Corporation State machine design for generating empty and full flags in an asynchronous FIFO
US5809339A (en) * 1995-12-06 1998-09-15 Cypress Semiconductor Corp. State machine design for generating half-full and half-empty flags in an asynchronous FIFO
US5828992A (en) * 1995-12-11 1998-10-27 Unova Ip Corp. Automated control system with bilingual status display
US5627797A (en) * 1995-12-14 1997-05-06 Cypress Semiconductor Corporation Full and empty flag generator for synchronous FIFOS
US5850568A (en) * 1995-12-22 1998-12-15 Cypress Semiconductor Corporation Circuit having plurality of carry/sum adders having read count, write count, and offset inputs to generate an output flag in response to FIFO fullness
US5852748A (en) * 1995-12-29 1998-12-22 Cypress Semiconductor Corp. Programmable read-write word line equality signal generation for FIFOs
US5682356A (en) * 1996-01-11 1997-10-28 Cypress Semiconductor Corp. Multiple word width memory array clocking scheme for reading words from a memory array
US5764967A (en) * 1996-03-29 1998-06-09 Cypress Semiconductor Corporation Multiple frequency memory array clocking scheme for reading and writing multiple width digital words
US5978868A (en) * 1997-08-28 1999-11-02 Cypress Semiconductor Corp. System for generating buffer status flags by comparing read and write pointers and determining direction of progression of read pointer with respect to write pointer
US5963499A (en) * 1998-02-05 1999-10-05 Cypress Semiconductor Corp. Cascadable multi-channel network memory with dynamic allocation
JP2000149436A (ja) * 1998-11-02 2000-05-30 Sony Corp ディジタル情報再生装置および再生方法
JP2001195877A (ja) * 2000-01-11 2001-07-19 Seiko Epson Corp 半導体集積装置
US6526495B1 (en) * 2000-03-22 2003-02-25 Cypress Semiconductor Corp. Multiport FIFO with programmable width and depth

Also Published As

Publication number Publication date
EP1644820A1 (en) 2006-04-12
CN100485601C (zh) 2009-05-06
US7774573B2 (en) 2010-08-10
JP4900800B2 (ja) 2012-03-21
WO2005003956A1 (en) 2005-01-13
CN1816796A (zh) 2006-08-09
EP1644820B1 (en) 2008-05-21
ATE396447T1 (de) 2008-06-15
DE602004013977D1 (de) 2008-07-03
US20060155927A1 (en) 2006-07-13
JP2007527079A (ja) 2007-09-20

Similar Documents

Publication Publication Date Title
US6269413B1 (en) System with multiple dynamically-sized logical FIFOs sharing single memory and with read/write pointers independently selectable and simultaneously responsive to respective read/write FIFO selections
US7038952B1 (en) Block RAM with embedded FIFO buffer
US6519674B1 (en) Configuration bits layout
US6907479B2 (en) Integrated circuit FIFO memory devices that are divisible into independent FIFO queues, and systems and methods for controlling same
KR100240372B1 (ko) 데이타를 부호화 및 복호화하는 장치 및 방법
US7529139B2 (en) N-port memory circuits allowing M memory addresses to be accessed concurrently and signal processing methods thereof
US6532556B1 (en) Data management for multi-bit-per-cell memories
CA2347230C (en) Serial-to-parallel/parallel-to-serial conversion engine
US7882284B2 (en) Compute unit with an internal bit FIFO circuit
KR100192504B1 (ko) 엠펙2 트랜스포트 디코더의 데이타 입출력장치
US6067267A (en) Four-way interleaved FIFO architecture with look ahead conditional decoder for PCI applications
US7106098B1 (en) Split FIFO configuration of block RAM
US7589648B1 (en) Data decompression
Chang A low-cost dual-mode deinterleaver design
KR20060028706A (ko) 메모리 디바이스 및 그 제공 방법
US5787273A (en) Multiple parallel identical finite state machines which share combinatorial logic
US7320013B2 (en) Method and apparatus for aligning operands for a processor
US7743287B2 (en) Using SAM in error correcting code encoder and decoder implementations
US6957309B1 (en) Method and apparatus for re-accessing a FIFO location
US6848042B1 (en) Integrated circuit and method of outputting data from a FIFO
US20070208980A1 (en) Method of transmitting data between different clock domains
US7610453B1 (en) Reordering each array in a sequence of arrays
CA2212099C (en) Apparatus and method for removing error data decoding delay in a dtv
US6442657B1 (en) Flag generation scheme for FIFOs
US20050232028A1 (en) On-chip storage memory for storing variable data bits

Legal Events

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