KR20020059793A - 버퍼 기억 장치를 포함하는 가상 채널 - Google Patents
버퍼 기억 장치를 포함하는 가상 채널Info
- Publication number
- KR20020059793A KR20020059793A KR1020027006726A KR20027006726A KR20020059793A KR 20020059793 A KR20020059793 A KR 20020059793A KR 1020027006726 A KR1020027006726 A KR 1020027006726A KR 20027006726 A KR20027006726 A KR 20027006726A KR 20020059793 A KR20020059793 A KR 20020059793A
- Authority
- KR
- South Korea
- Prior art keywords
- virtual channel
- processor system
- memory
- memory device
- virtual
- Prior art date
Links
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 230000014759 maintenance of location Effects 0.000 title 1
- 238000000034 method Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims 5
- 230000006386 memory function Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
본 발명의 목적은 프로세서 시스템과 상기 프로세서 시스템에 속한 메모리 영역(MCA) 사이의 버퍼 기억 장치로서 가상 채널(CH)을 포함하는 프로세서 시스템의 출력을 더욱 증가시키는데 있다. 상기 목적은, 버퍼 기억 장치로서 제공된 가상 채널(CH)이 버퍼 기억 장치와 같이 관리됨으로써 달성된다.
Description
컴퓨터 공학의 모든 분야에서와 같이 동적 메모리 칩을 사용하는 프로세서 시스템용 메모리 장치의 영역은 지속적인 발전을 나타내고 있다. 이 분야에서 이루어진 가장 최근의 발전 중 하나는 NEC 회사의 소위 가상 채널인 SDRAM(VC SDRAM)이 소개된 것이다. 이러한 가상 채널들은 버퍼 기억 장치의 소자로서 사용된다. 상기 가상 채널들은 프로세서 시스템과 상기 프로세서 시스템의 메모리 영역 사이에 제공된다. 상기 가상 채널들의 관리자는 그것의 정확한 관리를 위해 제공된다. 상기 가상 채널들은 RAM 소자로서 제공된다. 상기 RAM 소자는 각각 몇 백 바이트의 기억 용량을 갖는 다수의 (가상) 채널들을 포함한다. 상기 채널들의 가치는 프로세서 시스템의 메모리 영역으로의 메모리 엑세스가 이루어질 때 대기 시간을 단축시키는데 있다.
인터넷에서 다음과 같은 주소:
http://www.cambridge.arm.com/CoInfo/PressRel/29Ju198a/에는 위에 언급한사실에 관련하여 "NEC and ARM to Co-Develop a Memory Controller to Support Virtual Channel SDRAM with System-on-Silicon Chips"라는 제목의 논문이 공지되어 있다.
다음과 같은 주소를 갖는 인터넷 사이트:
http://www.necel.com/home.nsf/HTMLPages/VCM에는 위에 언급한 사실에 관련하여 "Virtual Channel Memory"(줄여서 VCM)라는 제목의 다른 정보가 공지되어 있다. 또한 상기 인터넷 사이트는 다음과 같은 주소를 갖는 인터넷 사이트:
http://www.necel.com/home.nsf/Createpage?OpenAgent&Memory+Products&DRAMs&Virtual+Channel+Memory+(VCM)&&&&&&&에 링크될 수 있다. 상기 인터넷 사이트에는 "Memory DRAMs"라는 제목으로 VCM 제품들이 소개되어 있다. 각각의 VCM 제품에 대해 각각 추가의 링크가 존재한다. 특히 관련 "Data Sheet(7/99)(567K)" 및 관련 "Product Brief(1998)(25K)"에 대한 링크가 존재한다. 개별 VCM 제품에 대한 데이터 시트는 각각 동일하다. 이와 마찬가지로, 개별 VCM 제품에 대한 프로덕트 브리프도 동일하다. 각각의 VCM 제품은 μPD4565161, μPD4565821, 그리고 μPD4565421로 표기된다. 상기 데이터 시트 및 프로덕트 브리프로부터 가상 채널에 대한 심도있는 정보들을 얻을 수 있다.
그리고 나서, 상기 가상 채널들은 프로세서 시스템의 출력 증가를 위해 사용된다. 상기 가상 채널들은 프로세서 시스템의 메모리 영역으로부터 인출되어 상기 메모리 영역 내로 공급되는 데이터에 대한 엑세스 시간을 단축한다. 이러한 트랜잭션에 관련된 데이터는 프로세서 시스템의 입/출력 위치와 메모리 영역 사이의 가상 채널 내에 일시 저장된다. 따라서, 프로세서 시스템에서 비어있는 다른 가상 채널들을 통해 메모리 영역으로 이르는 경로가 비어있게 된다. 이를 통해, 메모리 영역까지의 시퀀스는 저속이지만, 프로세서 시스템까지의 시퀀스는 고속이기 때문에 발생되는 시스템 상태를 피할 수 있다.
가상 채널의 단점은, 상기 가상 채널이 단지 단순한 버퍼로서 사용된다는 점이다. 다시 말해, 트랜젝션에 관련된 데이터가 가상 채널 내에 일시 저장되어, 그 다음 시점에 인출되고 나서, 한번 더 겹쳐쓰지는 것이다. 각각의 가상 채널들은 비교적 큰 기억 용량을 가지기 때문에, 원래 필요한 데이터 이외에도 인접하게 저장된 데이터도 종종 함께 저장된다. 그 이유는 행 전체가 각각 저장되기 때문이다. 그러나, 가상 채널에서의 단순한 버퍼링은 추가로 저장된 정보들에 대해서는 고려하지 않는다. 그러나, 종종 잠시 후에 트랜젝션이 나타날 때 바로 이러한 정보들이 필요하게 된다. 그리고 나서, 이 정보들이 이미 실제로 가상 채널 어딘가에 저장되어 있을지라도 상기 정보들은 새롭게 일시 저장된다. 그럼으로써, 프로세서 시스템의 실제적인 출력 증가는 달성되지 않는다.
본 발명은 청구항 1항의 서문에 따른 프로세서 시스템을 위한 메모리 장치에 관한 것이다.
도면은 본 발명에 따른 메모리 장치의 실시예이다.
본 발명의 목적은 프로세서 시스템의 출력을 더욱 증가시키기 위해 서두에 언급된 방식의 메모리 장치를 개선시키는데 있다.
상기 목적은 본 발명에 따라 청구항 1항의 특징을 갖는 메모리 장치에 의해 달성된다.
그 결과, 프로세서 시스템과 관련 메모리 영역 사이에 트랜젝션이 발생할 때가상 채널 내에 저장된 모든 정보들이 항상 고려된다. 이러한 방식으로, 필요하게 된 정보가 좀 더 실제적으로 가상 채널 내에 이미 저장되어 있을 때 저속 메모리 엑세스는 피해진다. 그럼으로써, 프로세서 시스템의 출력은 더욱 증가된다.
가상 채널이 더 이상 단순한 버퍼처럼 사용되는 것이 아니라, 일반적으로 공지된 캐시 기억 장치처럼 사용됨으로써 프로세서 시스템의 출력 증가가 달성된다. 캐시 기억 장치는, 상기 캐시 기억 장치의 관리자가 항상 실효가 있는 메모리 내용에 대한 요약을 가지며 유효한 정보들은 필요시에 즉시 전달될 수 있고 또 다시 프로세서 시스템의 메모리 영역으로 후퇴하는 일은 없다는 장점을 지닌다. 또한 상기 캐시 기억 장치의 관리자는 독립적으로 프로세서 시스템의 메모리 영역 및 캐시 기억 장치의 메모리 내용의 업데이트를 고려한다.
본 발명의 바람직한 실시예는 종속항의 대상이다.
그리고 나서, 가상 채널의 관리자는 요일 성분을 가지며, 상기 요일 성분의 도움으로 가상 채널의 메모리 내용의 상태가 관리된다.
또한 저장된 실 데이터가 캐시 기억 장치 내에 오랫동안 저장되어 있을 수록, 필요하게 된 정보들이 고속 버퍼 기억 장치에 있고 저속 메모리 영역으로의 후퇴가 불필요하게 될 가능성이 더 커지게 된다. 이와 관련하여 가능한 겹쳐쓰기 메카니즘은 소위 LRU(LeastRecentlyUsed;최근 최소사용) 원칙일 수도 있으며, 상기 원칙에 따라 가장 오랫동안 사용되지 않은 정보들이 처음으로 겹쳐쓰기된다. 상기와 같은 메카니즘은 또다른 메카니즘에 의해 보충될 수 있다.
캐시 기억 장치 기능은, 필요하게 된 정보들이 항상 캐시 기억 장치나 캐시기억 장치 기능을 갖는 메모리에서 처음으로 검색될 수 있다는 장점을 지닌다. 왜냐하면, 상기 캐시 기억 장치나 캐시 기억 장치 기능을 갖는 메모리에서 메모리 내용의 상태가 명확하게 주어지고 메모리 내용에 필요하게 된 정보들이 속하지 않거나 더 이상 속하지 않을 경우에 적합한 방식으로 신속하게 요구들에 반응할 수 있기 때문이다. 이 경우 달성되는 적은 시간 손실은, 고속 버퍼 기억 장치의 메모리 내용으로부터 필요하게 된 정보들이 인출될 수 있을 때 달성되는 시간 절약에 의해 커버된다.
본 발명은 하기 도면에 의해 더 자세히 설명된다.
도면에는 자세히 도시되지 않은 프로세서 시스템의 메모리 영역인 MCA(MemoryCellArray)를 볼 수 있다. 상기 메모리 영역(MCA)은 다수의 가상 채널(CH)에 연결되며, 상기 가상 채널(CH)은 자세히 도시되지 않은 프로세서 시스템 내에서의 데이터 전송 및 상기 프로세서 시스템으로부터의 데이터 전송을 위한 입력 라인(DATA)에 추가로 연결된다.
본 실시예에서 8개의 SDRAM 소자의 가상 채널(CH)은 각각 64 Mbit의 기억 용량을 갖는다. 각각의 SDRAM 소자는 16개의 가상 채널(CH)을 가짐으로써, 각각의 1Kbyte당 16개의 완전 연관 블록(full associative block)이 제공된다. 큰 블록 크기를 통해, 프로세서 시스템에서 소위 선취 메카니즘(prefetch mechanism)이 실행될 수 있다. 가상 채널(CH)에서 히트가 나타날 때의 대기 시간은 적고 관련 메모리 셀 어레이(MCA)에서의 대역폭은 감소된다.
본 실시예에서 가상 채널(CH)은 스토어인 캐시(store-in cache)로서 사용, 즉 각각의 데이터는 처음에는 가상 채널(CH)에만 기록되고 메모리 영역(MCA)에는 기록되지 않는다. 데이터 엑세스시에는 역으로, 필요시에 데이터가 메모리 영역(MCA)으로부터 인출되기 전에 우선 가상 채널(CH)에서 검사된다.
제어 유닛(MCU)(MemoryControlUnit)은 가상 채널(CH)로의 엑세스시 시퀀스를 제어하고 제어 신호(REQUEST) 및 어드레스 신호(ADR)에 따라 메모리 영역(MCA)을 제어한다. 이러한 제어는 세부적으로 볼 때, 가상 채널(CH)이 캐시 기억 장치와 함께 동작되는 방식으로 이루어진다. 이를 위해, 부가의 채널 관리자(CV)가 MCU에 연결된다. 부가의 채널 관리자(CV)는 채널용 요일 정보(TAG)를 포함한다. 또한 상기 채널 관리자(CV)는 예컨대 소위 LRU 원칙에 따라 가상 채널(CH) 내에 있는 데이터의 대체 알고리즘을 제어한다. 또한 상기 채널 관리자(CV)는 HIT 검출 및 처리를 위한 절차에 해당되며 변형된 데이터 내용이 존재할 때 필요한 절차를 제어한다.
Claims (4)
- 프로세서 시스템과 상기 프로세서 시스템의 메모리 영역 사이에 버퍼 기억 장치로서의 가상 채널 및 상기 가상 채널을 위한 관리자를 갖는, 프로세서 시스템용 메모리 장치에 있어서,상기 가상 채널(CH)의 관리자는 소자들(MCU, CV)을 가지며, 상기 소자들(MCU, CV)에 의해 상기 가상 채널들(CH)에는 캐시 기억 장치의 기능이 할당되는 것을 특징으로 하는 메모리 장치.
- 제 1항에 있어서,상기 가상 채널들(CH)에 상기 캐시 기억 장치의 기능을 할당하는 소자(예컨대 CV)는 요일 성분(TAG)을 포함하며, 상기 가상 채널(CH)에 상기 캐시 기억 장치의 기능을 할당하는 소자(예컨대 MCU)에 의해 각각의 실 시점에, 어떠한 정보가 어떠한 가상 채널에 저장되고 가상 채널 내의 어떠한 정확한 위치에 각각 유효하게 저장되는지에 대해 통보되는 것을 특징으로 하는 메모리 장치.
- 제 1항 또는 2항에 있어서,상기 가상 채널(CH)에 상기 캐시 기억 장치의 기능을 할당하는 소자들(MCU;CV)은, 정보들이 겹쳐쓰기 과정에 들어가기 전에 사용 횟수가 많으면 많을수록 상기 가상 채널(CH) 내에 저장된 정보들이 상기 사용 횟수에 상응하여 상기 가상 채널(CH)에 좀 더 오랫동안 저장되는 것을 특징으로 하는 메모리 장치.
- 제 1항 내지 3항 중 어느 한 항에 있어서,상기 가상 채널(CH)에 상기 캐시 기억 장치의 기능을 할당하는 소자들(MCU;CV)은, 프로세서 시스템의 메모리 영역(MCA)으로부터 상기 프로세서 시스템으로 전달되는 정보들이 처음에는 가상 채널에서 탐색되는 방식으로 구현되는 것을 특징으로 하는 메모리 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19956829A DE19956829A1 (de) | 1999-11-25 | 1999-11-25 | Speichereinrichtung für Prozessorsysteme |
DE19956829.4 | 1999-11-25 | ||
PCT/DE2000/004166 WO2001038988A1 (de) | 1999-11-25 | 2000-11-24 | Virtuelle kanäle mit zwischenspeichern |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20020059793A true KR20020059793A (ko) | 2002-07-13 |
Family
ID=7930345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020027006726A KR20020059793A (ko) | 1999-11-25 | 2000-11-24 | 버퍼 기억 장치를 포함하는 가상 채널 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1244972A1 (ko) |
KR (1) | KR20020059793A (ko) |
DE (1) | DE19956829A1 (ko) |
WO (1) | WO2001038988A1 (ko) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5091850A (en) * | 1987-09-28 | 1992-02-25 | Compaq Computer Corporation | System for fast selection of non-cacheable address ranges using programmed array logic |
US5109496A (en) * | 1989-09-27 | 1992-04-28 | International Business Machines Corporation | Most recently used address translation system with least recently used (LRU) replacement |
US5487153A (en) * | 1991-08-30 | 1996-01-23 | Adaptive Solutions, Inc. | Neural network sequencer and interface apparatus |
JP2775549B2 (ja) * | 1992-05-08 | 1998-07-16 | 三菱電機株式会社 | 連想メモリセルおよび連想メモリ回路 |
US5446726A (en) * | 1993-10-20 | 1995-08-29 | Lsi Logic Corporation | Error detection and correction apparatus for an asynchronous transfer mode (ATM) network device |
US6167486A (en) * | 1996-11-18 | 2000-12-26 | Nec Electronics, Inc. | Parallel access virtual channel memory system with cacheable channels |
US5925145A (en) * | 1997-04-28 | 1999-07-20 | Credence Systems Corporation | Integrated circuit tester with cached vector memories |
US6122714A (en) * | 1997-10-24 | 2000-09-19 | Compaq Computer Corp. | Order supporting mechanisms for use in a switch-based multi-processor system |
JP4226686B2 (ja) * | 1998-05-07 | 2009-02-18 | 株式会社東芝 | 半導体メモリシステム及び半導体メモリのアクセス制御方法及び半導体メモリ |
JP2000011640A (ja) * | 1998-06-23 | 2000-01-14 | Nec Corp | 半導体記憶装置 |
-
1999
- 1999-11-25 DE DE19956829A patent/DE19956829A1/de not_active Withdrawn
-
2000
- 2000-11-24 EP EP00984904A patent/EP1244972A1/de not_active Withdrawn
- 2000-11-24 KR KR1020027006726A patent/KR20020059793A/ko not_active Application Discontinuation
- 2000-11-24 WO PCT/DE2000/004166 patent/WO2001038988A1/de not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
DE19956829A1 (de) | 2001-06-07 |
EP1244972A1 (de) | 2002-10-02 |
WO2001038988A1 (de) | 2001-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0179811B1 (en) | Interleaved set-associative memory | |
US4471429A (en) | Apparatus for cache clearing | |
US4912631A (en) | Burst mode cache with wrap-around fill | |
US8621152B1 (en) | Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access | |
US7890673B2 (en) | System and method for accessing non processor-addressable memory | |
US5179675A (en) | Data processing system with cache memory addressable by virtual and physical address | |
KR100851738B1 (ko) | 로우-레벨 캐시를 포함한 액세스 촉진용 리버스 디렉토리 | |
EP0533427A1 (en) | Computer memory control system | |
US5983313A (en) | EDRAM having a dynamically-sized cache memory and associated method | |
KR19990077471A (ko) | 스누핑포트를사용하는프리페치캐시질의방법및시스템 | |
US7949833B1 (en) | Transparent level 2 cache controller | |
US5813030A (en) | Cache memory system with simultaneous access of cache and main memories | |
CA1228171A (en) | Working set prefetch for level two caches | |
GB2214336A (en) | Cache memory apparatus | |
US6480940B1 (en) | Method of controlling cache memory in multiprocessor system and the multiprocessor system based on detection of predetermined software module | |
EP0474356A1 (en) | Cache memory and operating method | |
KR20020059793A (ko) | 버퍼 기억 장치를 포함하는 가상 채널 | |
JP2976980B2 (ja) | キャッシュ制御方式 | |
US6467030B1 (en) | Method and apparatus for forwarding data in a hierarchial cache memory architecture | |
JPH0421222B2 (ko) | ||
KR950013113B1 (ko) | 멀티프로세서 시스템의 캐쉬 상태 관리의 방법 | |
JPH0793215A (ja) | 半導体記憶装置 | |
JPH10320275A (ja) | キャッシュメモリ | |
JP2689899B2 (ja) | 情報処理装置 | |
JPH10207773A (ja) | バス接続装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |