KR100723475B1 - 캐쉬 메모리 시스템과 버스의 버스 레이턴시 변화에 따라캐쉬 메모리의 라인 사이즈를 변경하는 방법 - Google Patents

캐쉬 메모리 시스템과 버스의 버스 레이턴시 변화에 따라캐쉬 메모리의 라인 사이즈를 변경하는 방법 Download PDF

Info

Publication number
KR100723475B1
KR100723475B1 KR1020040021568A KR20040021568A KR100723475B1 KR 100723475 B1 KR100723475 B1 KR 100723475B1 KR 1020040021568 A KR1020040021568 A KR 1020040021568A KR 20040021568 A KR20040021568 A KR 20040021568A KR 100723475 B1 KR100723475 B1 KR 100723475B1
Authority
KR
South Korea
Prior art keywords
bus
line size
cache
signal
cache memory
Prior art date
Application number
KR1020040021568A
Other languages
English (en)
Other versions
KR20050096385A (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 KR1020040021568A priority Critical patent/KR100723475B1/ko
Publication of KR20050096385A publication Critical patent/KR20050096385A/ko
Application granted granted Critical
Publication of KR100723475B1 publication Critical patent/KR100723475B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01HELECTRIC SWITCHES; RELAYS; SELECTORS; EMERGENCY PROTECTIVE DEVICES
    • H01H19/00Switches operated by an operating part which is rotatable about a longitudinal axis thereof and which is acted upon directly by a solid body external to the switch, e.g. by a hand
    • H01H19/02Details
    • H01H19/10Movable parts; Contacts mounted thereon
    • H01H19/14Operating parts, e.g. turn knob
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01HELECTRIC SWITCHES; RELAYS; SELECTORS; EMERGENCY PROTECTIVE DEVICES
    • H01H19/00Switches operated by an operating part which is rotatable about a longitudinal axis thereof and which is acted upon directly by a solid body external to the switch, e.g. by a hand
    • H01H19/02Details
    • H01H19/025Light-emitting indicators
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01HELECTRIC SWITCHES; RELAYS; SELECTORS; EMERGENCY PROTECTIVE DEVICES
    • H01H2231/00Applications
    • H01H2231/026Car

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

버스의 성능변화에 따라 캐쉬 메모리의 라인 사이즈를 변경시킬 수 있는 시스템과 방법이 제시된다. 상기 캐쉬 메모리 시스템은 버스를 통하여 외부 메모리와 통신을 하는 캐쉬 컨트롤러, 요구신호를 발생하고 상기 요구신호를 상기 캐쉬 컨트롤러로 전송하는 프로세서, 상기 캐쉬 컨트롤러에 접속되고 상기 요구신호에 기초하여 발생된 데이터 요구신호에 기초하여 상기 외부 메모리로부터 패취된 데이터를 저장하기 위한 캐쉬 메모리, 및 상기 캐쉬 컨트롤러로부터 출력된 제어신호에 기초하여 상기 버스의 성능을 측정하고 라인 사이즈 제어신호를 출력하는 버스성능 측정회로를 구비한다. 상기 캐쉬 컨트롤러는 상기 라인 사이즈 제어신호를 수신하고, 상기 라인 사이즈 제어신호에 기초하여 상기 캐쉬 메모리의 라인 사이즈를 변경시킨다.
버스 레이턴시, 캐쉬 메모리, 라인 사이즈

Description

캐쉬 메모리 시스템과 버스의 버스 레이턴시 변화에 따라 캐쉬 메모리의 라인 사이즈를 변경하는 방법{Cash memory system and method for changing line size of cash memory according to bus latency of bus}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 일반적인 캐쉬 메모리 시스템의 블락도를 나타낸다.
도 2는 도 1에 도시된 일반적인 캐쉬 메모리 시스템의 성능을 설명하기 위한 제1타이밍도를 나타낸다.
도 3은 도 1에 도시된 일반적인 캐쉬 메모리 시스템의 성능을 설명하기 위한 제2타이밍도를 나타낸다.
도 4는 본 발명의 실시예에 따른 캐쉬 메모리 시스템의 블락도를 나타낸다.
도 5는 도 4에 도시된 버스 레이턴시 카운터의 동작을 설명하기 위한 타이밍도이다.
도 6은 라인 사이즈가 32바이트로 설정되었을 때의 라인 필을 설명하기 위한 타이밍 도이다.
도 7은 라인 사이즈가 64바이트로 설정되었을 때의 라인 필을 설명하기 위한 타이밍 도이다.
도 8은 라인 사이즈가 32바이트인 경우의 태그 메모리와 캐쉬 메모리의 메모리 맵을 나타낸다.
도 9는 라인 사이즈가 64바이트인 경우의 태그 메모리와 캐쉬 메모리의 메모리 맵을 나타낸다.
도 10은 본 발명의 실시예에 따라 라인 사이즈를 변경하는 방법을 나타내는 흐름도이다.
본 발명은 캐쉬 메모리 시스템에 관한 것으로, 보다 상세하게는 버스의 성능변화에 따라 변경되는 라인 사이즈를 갖는 캐쉬 메모리를 구비하는 캐쉬 메모리 시스템과 상기 버스의 성능변화에 따라 라인 사이즈를 변경시킬 수 있는 방법에 관한 것이다.
도 1은 일반적인 캐쉬 메모리 시스템의 블락도를 나타낸다. 도 1을 참조하면, 캐쉬 메모리 시스템은 프로세서(11), 캐쉬 메모리(13)와 메인 메모리(20)를 구비한다. 상기 프로세서(11)와 캐쉬 메모리(15)는 하나의 칩(10)으로 구현된다. 여기서 캐쉬 메모리(15)는 단순한 메모리만을 의미하는 것이 아니고, 캐쉬 컨트롤러(미도시)와 캐쉬 메모리(미도시)를 구비하는 일종의 시스템을 의미한다.
상기 프로세서(11)가 명령어나 데이터를 캐쉬 메모리(13)에 요구한 경우, 상기 캐쉬 메모리(13)에 상기 명령어나 상기 데이터가 존재하지 않는 경우(즉, 캐쉬 미스가 발생된 경우), 상기 캐쉬 메모리(13)는 데이터 요구신호(BREQ)를 메인 메모리(20)로 전송한다.
따라서 상기 메인 메모리(20)는 상기 데이터 요구신호(BREQ)에 응답하여 상기 프로세서(11)가 요구하는 명령어나 데이터(TDATA)를 캐쉬 메모리(13)로 전송한다. 상기 캐쉬 메모리(13)는 상기 메인 메모리(20)로부터 전송된 상기 명령어나 상기 데이터(TDATA)를 프로세서(11)로 전송한다.
상기 캐쉬 메모리(13)에서 캐쉬 미스(cache miss)가 발생된 경우, 시간에 따른 버스 레이턴시(bus latency)의 변화는 일반적으로 매우 작다.
상기 칩(10)이 집적화되고, 상기 칩(10)에 SoC(system on chip)개념이 도입되었다. 따라서 상기 칩(10)이 프로세서(11)이외에 다수개의 마스터들(미도시), 다수개의 슬레이브들(미도시)과 시스템 버스(미도시)를 구비하는 경우, 상기 다수개의 마스터들 각각으로부터 발생되는 버스 요구신호(bus request signal)에 따라서 버스 레이턴시가 급격하게 변화될 수 있다.
그러므로 캐쉬 메모리 시스템을 설계하는 경우, 상기 버스 레이턴시는 상기 캐쉬 메모리 시스템의 성능을 결정하는 중요한 요소이다. 즉, 상기 캐쉬 메모리 시스템의 평균적인 메모리 억세스 시간(TAMA)은 수학식 1에 따라 결정된다.
Figure 112004013141996-pat00001
여기서, TH는 캐쉬 히트 시간(cash hit time)을 나타내고, MR은 미스 율(miss rate)을 나타내고, MP는 미스 패널티(miss penalty)를 나타낸다. 상기 MR은 버스요구 신호가 발생된 수에 대한 캐쉬 미스가 발생된 수의 비율을 나타내고, 상기 MP는 캐쉬 미스시 버스 레이턴시를 나타낸다.
도 2는 도 1에 도시된 일반적인 캐쉬 메모리 시스템의 성능을 설명하기 위한 제1타이밍도를 나타낸다. 캐쉬 메모리(13)의 라인 사이즈, 미스 패널티와 미스 율이 표 1에 표시된 바와 같다면, 32바이트(byte; B))의 라인 사이즈를 갖는 캐쉬 메모리(13)를 구비하는 상기 캐쉬 메모리 시스템의 성능이 64바이트의 라인 사이즈를 갖는 상기 캐쉬 메모리(13)를 구비하는 상기 캐쉬 메모리 시스템의 성능보다 좋다. 일반적으로 라인 사이즈는 메인 메모리(20)로부터 캐쉬 메모리(13)로 읽어오거나 또는 캐쉬 메모리(13)에서 메인 메모리(20)로 기입하는 데이터의 단위를 말한다.
라인 사이즈(line size) 미스 패널티(miss penalty) 미스 율(miss rate)
32B 20 3%
64B 40 1.7%
도 3은 일반적인 캐쉬 메모리 시스템의 성능을 설명하기 위한 제2타이밍도를 나타낸다. 캐쉬 메모리(13)의 라인 사이즈, 미스 패널티와 미스 율이 표 2에 표시된 바와 같다면, 64바이트의 라인 사이즈를 갖는 캐쉬 메모리(13)를 구비하는 상기 캐쉬 메모리 시스템의 성능이 32B바이트의 라인 사이즈를 갖는 상기 캐쉬 메모리(13)를 구비하는 상기 캐쉬 메모리 시스템의 성능보다 좋다.
라인 사이즈(line size) 미스 패널티(miss penalty) 미스 율(miss rate)
32B 35 3%
64B 55 1.7%
도 1 내지 도 3을 참조하면, 상기 캐쉬 메모리 시스템에서 버스 레이턴시가 상기 다수개의 마스터들 각각으로부터 발생되는 버스 요구신호에 따라 급격하게 변화되는 경우, 상기 캐쉬 메모리 시스템에서 가장 효율적인 캐쉬 메모리의 라인 사이즈를 정하는 것이 매우 어렵다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 버스의 성능, 예컨대 버스 레이턴시에 따라 라인 사이즈를 변화시킬 수 있는 캐쉬 메모리 시스템과 상기 버스의 성능변화에 따라 라인 사이즈를 변경시킬 수 있는 방법을 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 캐쉬 메모리 시스템은 버스를 통하여 외부 메모리와 통신을 하는 캐쉬 컨트롤러; 요구신호를 발생하고 상기 요구신호를 상기 캐쉬 컨트롤러로 전송하는 프로세서; 상기 캐쉬 컨트롤러에 접속되고, 상기 요구신호에 기초하여 발생된 데이터 요구신호에 기초하여 상기 외부 메모리로부터 패취된 데이터를 저장하기 위한 캐쉬 메모리; 및 상기 캐쉬 컨트롤러로부터 출력된 제어신호에 기초하여 상기 버스의 성능을 측정하고, 라인 사이즈 제어신호를 출력하는 버스성능 측정회로를 구비하며, 상기 캐쉬 컨트롤러는 상기 라인 사이즈 제어신호를 수신하고, 상기 라인 사이즈 제어신호에 기초하여 상기 캐쉬 메모리의 라인 사이즈를 제어 또는 변경한다.
상기 버스성능 측정회로는 클락신호와 상기 제어신호에 기초하여 상기 버스의 버스 레이턴시를 측정하고, 그 측정결과로서 상기 라인 사이즈 제어신호를 출력 한다. 상기 제어신호는 상기 캐쉬 컨트롤러로부터 발생된 캐쉬 미스와 연관된 신호이다.
상기 버스성능 측정회로는 클락신호와 상기 제어신호를 수신하고, 이들에 기초하여 상기 버스의 버스 레이턴시를 측정하기 위한 버스 레이턴시 카운터; 및 기준 버스 레이턴시와 상기 버스 레이턴시 카운터의 출력신호를 비교하고, 그 비교결과에 기초하여 상기 라인 사이즈 제어신호를 출력하는 비교회로를 구비한다.
상기 버스 레이턴시 카운터의 출력신호가 상기 기준 버스 레이턴시보다 큰 경우, 상기 비교회로는 제1상태를 갖는 상기 라인 사이즈 제어신호를 출력하고, 상기 캐쉬 컨트롤러는 상기 제1상태를 갖는 상기 라인 사이즈 제어신호에 기초하여 상기 캐쉬 메모리의 라인 사이즈를 변경한다.
상기 버스성능 측정회로는 클락신호와 상기 제어신호에 기초하여 상기 버스의 버스 레이턴시를 측정하기 위한 버스 레이턴시 카운터; 상기 카운터의 출력신호를 수신하고, 수신된 신호에 대한 평균값을 계산하는 버스 레이턴시 평균값 계산회로; 및 기준 버스 레이턴시와 상기 버스 레이턴시 평균값 계산회로의 출력신호를 비교하고, 그 비교결과로서 상기 라인 사이즈 제어신호를 출력하는 비교회로를 구비한다.
상기 기술적 과제를 달성하기 위한 캐쉬 메모리 시스템은 버스를 통하여 외부 메모리에 접근하기 위한 메모리 억세스 회로; 상기 외부 메모리로부터 패취된 데이터를 저장하기 위한 캐쉬 메모리; 및 상기 메모리 억세스 회로는 캐쉬 미스시 제어신호들에 기초하여 상기 버스의 버스 레이턴시를 측정하고, 그 측정결과로서 라인 사이즈 제어신호를 출력하고, 상기 캐쉬 메모리의 라인 사이즈는 상기 라인 사이즈 제어신호에 기초하여 변경된다.
상기 메모리 억세스 회로는 상기 버스를 통하여 상기 외부 메모리와 통신을 하는 캐쉬 컨트롤러; 요구신호를 발생하고, 상기 요구신호를 상기 캐쉬 컨트롤러로 전송하는 프로세서; 및 상기 라인 사이즈 제어신호를 발생하는 버스성능 측정회로를 구비하고, 상기 캐쉬 컨트롤러는 상기 캐쉬 미스시 상기 요구신호에 기초하여 발생된 데이터 요구신호에 기초하여 상기 외부 메모리로부터 데이터를 패취하고, 패취된 데이터를 상기 캐쉬 메모리 또는 상기 프로세서로 전송하고, 상기 버스성능 측정회로는 클락신호와 상기 캐쉬 컨트롤러에서 발생된 제어신호에 기초하여 상기 버스의 버스 레이턴시를 측정하고, 그 측정결과로서 상기 라인 사이즈 제어신호를 발생하고, 상기 캐쉬 컨트롤러는 상기 라인 사이즈 제어신호에 기초하여 상기 캐쉬 메모리의 라인 사이즈를 변경한다.
상기 버스성능 측정회로는 상기 클락신호와 상기 제어신호에 기초하여 상기 버스의 버스 레이턴시를 측정하는 버스 레이턴시 카운터; 및 기준 버스 레이턴시와 상기 버스 레이턴시 카운터의 출력신호를 비교하고, 그 비교결과로서 상기 라인 사이즈 제어신호를 발생하는 비교회로를 구비한다.
상기 버스 레이턴시 카운터의 출력신호가 상기 기준 버스 레이턴시보다 큰 경우, 상기 비교회로는 제1상태를 갖는 상기 라인 사이즈 제어신호를 출력하고, 상기 캐쉬 컨트롤러는 상기 제1상태를 갖는 상기 라인 사이즈 제어신호에 기초하여 상기 캐쉬 메모리의 라인 사이즈를 변경한다.
상기 기술적 과제를 달성하기 위한 버스의 버스 레이턴시 변화에 따라 캐쉬 메모리의 라인 사이즈를 변경하는 방법은 캐쉬 미스시, 버스성능 측정회로가 제어신호들에 응답하여 상기 버스의 버스 레이턴시를 측정하는 단계; 및 상기 측정결과에 기초하여 캐쉬 메모리 컨트롤러가 상기 캐쉬 메모리의 라인 사이즈를 변경시키는 단계를 구비하는 것을 특징으로 하는 캐쉬 메모리의 라인 사이즈를 변경한다.
상기 캐쉬 메모리의 라인 사이즈를 변경시키는 단계는 상기 버스성능 측정회로가 기준 버스 레이턴시와 측정된 버스 레이턴시를 비교하는 단계; 및 상기 캐쉬 메모리 컨트롤러가 버스 레이턴시 비교결과에 기초하여 상기 캐쉬 메모리의 제1라인 사이즈를 제2라인 사이즈로 변경시키는 단계를 구비한다.
상기 기술적 과제를 달성하기 위한 버스의 버스 레이턴시 변화에 따라 캐쉬 메모리의 라인 사이즈를 변경하는 방법은 제1라인 사이즈와 기준 버스 레이턴시를 설정하는 단계; 프로세서로부터 출력된 프로세서 요구신호에 응답하여 상기 캐쉬 메모리를 서치하는 단계; 상기 서치의 결과로서 캐쉬 미스가 발생되는 경우, 데이터 대기신호와 데이터 요구신호를 발생하는 단계; 상기 데이터 요구신호에 기초하여 상기 버스를 통하여 외부 메모리로부터 데이터를 패취하는 단계; 클락신호와 상기 데이터 대기신호에 응답하여 상기 버스의 버스 레이턴시를 측정하고 라인 사이즈 제어신호를 발생하는 단계; 상기 라인 사이즈 제어신호를 수신하고, 상기 라인 사이즈 제어신호에 기초하여 상기 캐쉬 메모리의 라인 사이즈를 변경시키는 단계를 구비한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 4는 본 발명의 실시예에 따른 캐쉬 메모리 시스템의 블락도를 나타낸다. 도 4를 참조하면, 캐쉬 메모리 시스템(100)은 프로세서(110), 캐쉬 블락(130), 버스성능 측정회로(150), 버스(160)와 외부 메모리(170)를 구비한다. 상기 프로세서 (110), 상기 캐쉬 블락(130), 상기 버스성능 측정회로(150)와 상기 버스(160)는 하나의 칩(chip)으로 구현될 수 있다.
상기 캐쉬 메모리 시스템(100)은 프로세서(110)외에 다수개의 마스터들(미도시), 다수개의 슬레이브들(미도시) 및 상기 다수개의 마스터들 각각과 상기 슬레이브들 각각이 접속되는 적어도 하나의 버스(미도시)를 구비할 수 있다. 그러나 설명의 편의를 위하여 프로세서(110)와 상기 프로세서(110)에 관련된 회로들만을 설명한다.
상기 프로세서(110)는 CPU로 구현될 수 있으며, 자신이 필요한 명령어 또는 데이터를 캐쉬 블락(130)에 요구하기 위한 요구신호(PREQ)를 발생하고, 상기 요구신호(PREQ)를 상기 캐쉬 컨트롤러(131)로 출력한다. 그러나, 상기 요구신호(PREQ)는 버스성능 측정회로(150)로 입력될 수도 있다. 상기 캐쉬 블락(130)은 캐쉬 컨트롤러(131), 태그 메모리(133)와 캐쉬 메모리(135)를 구비한다.
상기 캐쉬 컨트롤러(131)는 상기 요구신호(PREQ)를 수신하고, 수신된 요구신호(PREQ)에 상응하는 명령어나 데이터가 상기 캐쉬 메모리(135)에 저장되어 있는지를 확인하기 위하여 상기 태그 메모리(133)를 검색한다. 상기 태그 메모리(133)는 상기 캐쉬 메모리(135)에 저장되어 있는 명령어 또는 데이터의 위치를 나타내는 태그 어드레스(tag address)를 저장한다.
상기 캐쉬 컨트롤러(131)는 상기 태그 메모리(133)와 상기 캐쉬 메모리(135)를 검색한 결과에 기초하여 캐쉬 히트(cash hit) 또는 캐쉬 미스(cash miss)를 발생한다.
상기 캐쉬 미스가 발생된 경우, 상기 캐쉬 컨트롤러(131)는 데이터 대기신호 (DWAIT)를 프로세서(110)와 버스성능 측정회로(150)로 출력하고, 버스(160)를 통하여 데이터 요구신호(BREQ)를 외부 메모리(170)로 전송한다. 따라서 상기 외부 메모리(170)는 상기 데이터 요구신호(BREQ)에 기초하여 상기 프로세서(110)가 요구한 명령어 또는 데이터(DATA)를 버스(160)를 통하여 캐쉬 컨트롤러(131)로 전송한다.
버스성능 측정회로(150)는 버스 레이턴시 카운터(151), 버스 레이턴시 평균값 계산회로(153)와 비교회로(155)를 구비한다.
도 5는 도 4에 도시된 버스 레이턴시 카운터의 동작을 설명하기 위한 타이밍도이다. 도 4와 도 5를 참조하면, 상기 버스 레이턴시 카운터(151)는 클락신호 (CLK) 및, 상기 프로세서(110)로부터 출력된 요구신호(PREQ)와 상기 캐쉬 컨트롤 로(131)로부터 출력된 데이터 대기신호(DWAIT)중에서 적어도 하나를 수신하고, 수신된 신호들(CLK, PREQ 및/또는 DWAIT)에 기초하여 상기 버스(160)의 버스 레이턴 시를 측정하고, 측정된 버스 레이턴시(BLCT)를 출력한다.
다시 도 4를 참조하면, 상기 버스 레이턴시 평균값 계산회로(153)는 상기 측정된 버스 레이턴시(BLCT)를 수신하고, 수신된 버스 레이턴시(BLCT)의 평균값을 계산하고, 그 계산 결과를 비교회로(155)로 출력한다.
상기 비교회로(155)는 기준 버스 레이턴시(Ref)와 상기 버스 레이턴시 평균값 계산회로(153)의 출력신호를 수신하고, 이들을 비교하고, 그 비교결과에 따른 라인 사이즈 제어신호를 캐쉬 컨트롤러(131)로 전송한다.
따라서 상기 버스성능 측정회로(150)는 캐쉬 미스가 발생했을 때, 해당하는 명령, 예컨대 데이터 기입 또는 데이터 독출을 처리할 때까지 걸리는 시간을 클락신호(CLK)의 싸이클로 측정하고, 그 측정결과와 기준값을 비교하고, 그 비교결과에 상응하는 라인 사이즈 제어신호를 캐쉬 컨트롤러(131)로 출력한다. 따라서 상기 버스성능 측정회로(150)는 시간에 따라서 변하는 버스(160)의 버스 레이턴시를 측정할 수 있다.
상기 캐쉬 컨트롤러(131)는 비교회로(155)로부터 출력되는 라인 사이즈 제어신호를 수신하고, 수신된 라인 사이즈 제어신호에 기초하여 캐쉬 메모리(135)의 라인 사이즈를 변경시킨다.
도 6은 라인 사이즈가 32바이트로 설정되었을 때의 라인 필을 설명하기 위한 타이밍 도이다. 도 4와 도 6을 참조하면, 캐쉬 미스의 경우, 캐쉬 컨트롤러(131)는 프로세서(110)로부터 출력된 요구신호(PREQ)에 상응하는 데이터(DATA)를 외부 메모리(170)로부터 소정의 바이트 단위(예컨대 8바이트 단위)로 읽어온 후, 32바이트 단위로 캐쉬 메모리(135)에 라인 필(line fill)을 수행하고, 상기 32바이트의 데이터를 프로세서(110)로 전송한다. 여기서 TLF는 라인 필이 일어나는 시점을 나타낸다.
도 7은 라인 사이즈가 64바이트로 설정되었을 때의 라인 필을 설명하기 위한 타이밍 도이다. 도 4와 도 7을 참조하면, 캐쉬 미스의 경우, 캐쉬 컨트롤러(131)는 프로세서(110)로부터 출력된 요구신호(PREQ)에 상응하는 데이터(DATA)를 외부 메모리(170)로부터 소정의 바이트 단위(예컨대 8바이트)로 읽어온 후, 각 32바이트마다 라인 필(line fill)을 수행하고, 64바이트의 데이터가 모두 수신되면 수신된 64바이트의 데이터를 프로세서(110)로 전송한다. 여기서 TLF1과 TLF2 각각은 라인 필이 일어나는 시점을 나타낸다.
도 8은 라인 사이즈가 32바이트인 경우의 태그 메모리와 캐쉬 메모리의 메모리 맵을 나타낸다. 도 9는 라인 사이즈가 64바이트인 경우의 태그 메모리와 캐쉬 메모리의 메모리 맵을 나타낸다.
도 8 및 도 9를 참조하면, 프로세서(110)가 요구하는 어드레스(ADD)의 비트가 32비트(ADD[31:0])이고, 캐쉬 메모리(135)의 총 크기는 32킬로바이트(kilobyte)라고 가정한다.
도 8에 도시된 어드레스(ADD[14:5])는 태그 어드레스를 선택하기 위한 어드레스이고, 어드레스(ADD[31:15])는 상기 어드레스(ADD[14:5])에 의하여 선택된 태그 어드레스와 비교되기 위한 어드레스이다.
따라서 캐쉬 컨트롤러(131)는 상기 어드레스들의 비교결과에 따라 캐쉬 히트 또는 캐쉬 미스를 발생한다. 상기 캐쉬 히트가 발생된 경우, 상기 캐쉬 컨트롤러(131)는 상기 어드레스(ADD[31:15)에 의하여 선택되고 캐쉬 메모리(135)에 저장된 32바이트의 데이터를 프로세서(110)로 전송한다.
그러나, 캐쉬 미스가 발생된 경우, 상기 캐쉬 컨트롤러(131)는 도 6에 도시된 바와 같이 외부 메모리(170)로부터 요구신호(PREQ)에 상응하는 데이터(DATA)를 패취(fetch)하고, 패취된 데이터를 32바이트 단위로 캐쉬 메모리(135)에 라인 필(line fill)시키고, 라인 필된 32바이트의 데이터를 프로세서(110)로 전송한다.
도 9에 도시된 어드레스(ADD[14:6])는 태그 어드레스를 선택하기 위한 어드레스이고, 어드레스(ADD[31:15])는 상기 어드레스(ADD[14:5])에 의하여 선택된 태그 어드레스와 비교되기 위한 어드레스이다. 도 8과 도 9를 참조하면, 도 8의 태그 어드레스를 선택하기 위한 어드레스(ADD[14:5])는 10비트이고, 도 9의 태그 어드레스를 선택하기 위한 어드레스(ADD[14:6])는 9비트임을 알 수 있다.
따라서 라인 사이즈가 32바이트에서 64바이트로 증가하는 경우, 라인 사이즈는 두 배로 증가하고, 태그 메모리(133)의 용량은 반으로 줄어든다.
캐쉬 히트가 발생된 경우, 상기 캐쉬 컨트롤러(131)는 상기 어드레스 (ADD[31:15])에 의하여 선택되고 캐쉬 메모리(135)에 저장된 64바이트의 데이터를 프로세서(110)로 전송한다.
그러나, 캐쉬 미스가 발생된 경우, 상기 캐쉬 컨트롤러(131)는 도 7에 도시된 바와 같이 외부 메모리(170)로부터 요구신호(PREQ)에 상응하는 데이터(DATA)를 패취(fetch)하고, 패취된 데이터를 32바이트 단위로 캐쉬 메모리(135)에 라인 필(line fill)시키고, 라인 필된 64바이트의 데이터를 프로세서(110)로 전송한다.
도 10은 본 발명의 실시예에 따라 라인 사이즈를 변경하는 방법을 나타내는 흐름도이다. 도 4 내지 도 10을 참조하여 버스(160)의 버스 레이턴시를 조절하는 방법을 설명하면 다음과 같다.
초기에 캐쉬 메모리(135)의 라인 사이즈와 기준 값(예컨대, 기준 버스 레이턴시)을 설정한다(210단계). 예컨대 상기 캐쉬 메모리(135)의 라인 사이즈를 32바이트로 설정하고, 상기 기준 버스 레이턴시를 100클락 싸이클로 설정한다.
프로세서(110)와 캐쉬 블락(130)이 정상적으로 동작하기 시작하면, 프로세서 (110)는 요구신호(PREQ)를 캐쉬 블락(130)의 캐쉬 컨트롤러(131)로 출력한다(220단계). 상기 요구신호(PREQ)는 프로세서(110)가 필요로 하는 명령어나 데이터를 캐쉬 블락(130)에 요구하기 위한 신호이다.
캐쉬 컨트롤러(131)는 상기 명령어나 상기 데이터를 수신하고, 도 8을 참조하여 설명한 바와 같이 상기 명령어나 상기 데이터가 상기 캐쉬 메모리(135)에 존재하는지의 여부를 판단하기 위하여, 어드레스(ADD[14:5])를 이용하여 태그 메모리 (133)를 서치(search)하고, 그 결과로서 서치된 태그 어드레스와 어드레스 (ADD[31:15])를 비교한다.
상기 비교결과, 상기 서치된 태그 어드레스(tag address)와 상기 어드레스 (ADD[31:15])가 서로 일치하는 경우(즉, 캐쉬 히트가 발생된 경우), 캐쉬 컨트롤러 (131)는 상기 어드레스(ADD[31:15])에 기초하여 캐쉬 메모리(135)에 저장된 32바이트를 프로세서(110)로 전송한다. 상기 어드레스(ADD[14:5])와 상기 어드레스 (ADD[31:15])는 상기 요구신호(PREQ)의 일부를 구성하는 신호이다.
상기 비교결과, 상기 서치된 태그 어드레스와 상기 어드레스(ADD[31:15])가 서로 일치하지 않는 경우(즉, 캐쉬 미스가 발생된 경우), 캐쉬 컨트롤러(131)는 데이터 대기신호(DWAIT)를 프로세서(110)와 버스 레이턴시 카운터(151)로 전송한다. 이때 데이터 대기신호(DWAIT)는 활성화된다.
그리고 상기 캐쉬 컨트롤러(131)는 데이터 요구신호(BREQ)를 버스(160)를 통하여 외부 메모리(170)로 출력한다. 상기 데이터 요구신호(BREQ)는 캐쉬 미스 발생시 프로세서(110)가 요구하는 명령어 또는 데이터를 외부 메모리(170)로부터 가져오기 위한 신호이다.
따라서 버스 레이턴시 카운터(151)는 클락신호(CLK)와 데이터 대기신호 (DWAIT)에 기초하여 상기 프로세서(110)가 요구하는 명령어 또는 데이터가 상기 프로세서(110)로 전송될 때까지의 시간, 즉 버스 레이턴시를 클락신호(CLK)의 싸이클로 측정한다.
외부 메모리(170)는 상기 데이터 요구신호(BREQ)에 상응하는 명령어나 데이터(DATA)를 버스(160)를 통하여 캐쉬 컨트롤러(131)로 전송하면, 상기 캐쉬 컨트롤러(131)는 도 6에 도시된 바와 같이 32바이트 단위로 캐쉬 메모리(135)에 라인 필을 수행하고, 상기 32바이트의 명령어 또는 데이터를 프로세서(110)로 전송한다. 이때 데이터 대기신호(DWAIT)는 비활성화된다.
따라서 상기 버스 레이턴시 카운터(151)는 클락신호(CLK)의 상승에지 클락되어 상기 데이터 대기신호(DWAIT)가 활성화되는 구간동안 업 카운트하고, 그 결과(BLCT)를 출력한다.
버스 레이턴시 평균값 계산회로(153)는 상기 버스 레이턴시 카운터(151)의 출력신호(BLCT)를 수신하고, 수신된 신호(BLCT)의 평균값을 계산하고, 그 결과를 비교회로(155)로 출력한다.
비교회로(155)는 기준 버스 레이턴시(Ref)와 버스 레이턴시 평균값 계산회로 (153)의 출력신호, 즉 측정된 버스 레이턴시를 수신하고, 이들을 비교한다(240단계).
상기 측정된 버스 레이턴시가 상기 기준 레이턴시(100 클락 싸이클)보다 큰 경우, 32바이트로 초기에 설정된 캐쉬 메모리(135)의 라인 사이즈는 64바이트로 변경된다(250단계).
따라서 캐쉬 메모리(135)의 라인 사이즈가 64바이트로 변경된 경우, 캐쉬 미스 발생시 캐쉬 컨트롤러(131)는 64바이트의 데이터를 버스(160)를 통하여 외부 메모리(170)에 요구한다. 그리고 상기 캐쉬 컨트롤러(131)는 도 7에 도시된 바와 같이 상기 외부 메모리(170)로부터 64바이트의 데이터(DATA)를 수신하고, 각 32바이트마다 캐쉬 메모리(135)에 라인 필을 시키고, 64바이트의 데이터를 프로세서(110)로 전송한다. 그리고 220단계부터 다시 시작한다.
즉, 캐쉬 컨트롤러(131)는 외부 메모리(170)로부터 출력된 데이터를 대응되는 단위로 캐쉬 메모리(135)에 라인 필을 시키고, 대응되는 사이즈 단위로 데이터를 프로세서(110)로 전송한다(260단계).
그러나, 상기 측정된 버스 레이턴시가 상기 기준 레이턴시(100 클락 싸이클) 보다 작은 경우, 32바이트로 초기에 설정된 캐쉬 메모리(135)의 라인 사이즈는 그대로 유지된다(251단계).
따라서 캐쉬 미스 발생시, 캐쉬 컨트롤러(131)는 32바이트의 데이터를 버스(160)를 통하여 외부 메모리(170)에 요구한다. 그리고 상기 캐쉬 컨트롤러 (131)는 상기 외부 메모리(170)로부터 32바이트의 데이터(DATA)를 수신하고, 도 6에 도시된 바와 같이 각 32바이트마다 캐쉬 메모리(135)에 라인 필을 시키고, 32바이트의 데이터를 프로세서(110)로 전송한다. 그리고 220단계부터 다시 시작한다 (261단계).
따라서 본 발명에 따른 버스 레이턴시 변화에 따라 캐쉬 메모리의 라인 사이즈를 변경하는 방법은 버스(160)의 성능을 실시간으로 측정하고, 측정된 결과에 따라 캐쉬 메모리(135)의 라인 사이즈를 바꿀 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 시스템과 방법은 버스의 성능변화에 따라 라인 사이즈를 가변시킬 수 있다. 따라서 상기 시스템과 방법은 버스의 성능변화에 따라 가장 효율적인 라인 사이즈를 정할 수 있는 효과가 있다.

Claims (13)

  1. 캐쉬 메모리 시스템에 있어서,
    버스를 통하여 외부 메모리와 통신을 하는 캐쉬 컨트롤러;
    요구신호를 발생하고 상기 요구신호를 상기 캐쉬 컨트롤러로 전송하는 프로세서;
    상기 캐쉬 컨트롤러에 접속되고, 상기 요구신호에 기초하여 발생된 데이터 요구신호에 기초하여 상기 외부 메모리로부터 패취된 데이터를 저장하기 위한 캐쉬 메모리; 및
    클락신호와 상기 캐쉬 컨트롤러로부터 출력된 제어신호에 기초하여 상기 버스의 버스 레이턴시를 측정하고, 그 측정결과로서 라인 사이즈 제어신호를 출력하는 버스성능 측정회로를 구비하고,
    상기 캐쉬 컨트롤러는,
    상기 라인 사이즈 제어신호에 기초하여 상기 캐쉬 메모리의 라인 사이즈를 제어하는 것을 특징으로 하는 캐쉬 메모리 시스템.
  2. 삭제
  3. 제1항에 있어서, 상기 제어신호는 상기 캐쉬 컨트롤러로부터 발생된 캐쉬 미스와 연관된 신호인 것을 특징으로 하는 캐쉬 메모리 시스템.
  4. 상기 제1항에 있어서, 상기 버스성능 측정회로는,
    클락신호와 상기 제어신호를 수신하고, 이들에 기초하여 상기 버스의 버스 레이턴시를 측정하기 위한 버스 레이턴시 카운터; 및
    기준 버스 레이턴시와 상기 버스 레이턴시 카운터의 출력신호를 비교하고, 그 비교결과에 기초하여 상기 라인 사이즈 제어신호를 출력하는 비교회로를 구비하는 것을 특징으로 하는 캐쉬 메모리 시스템.
  5. 상기 제4항에 있어서,
    상기 버스 레이턴시 카운터의 출력신호가 상기 기준 버스 레이턴시보다 큰 경우, 상기 비교회로는 제1상태를 갖는 상기 라인 사이즈 제어신호를 출력하고,
    상기 캐쉬 컨트롤러는 상기 제1상태를 갖는 상기 라인 사이즈 제어신호에 기초하여 상기 캐쉬 메모리의 라인 사이즈를 변경하는 것을 특징으로 하는 캐쉬 메모리 시스템.
  6. 상기 제1항에 있어서, 상기 버스성능 측정회로는,
    클락신호와 상기 제어신호에 기초하여 상기 버스의 버스 레이턴시를 측정하기 위한 버스 레이턴시 카운터;
    상기 카운터의 출력신호를 수신하고, 수신된 신호에 대한 평균값을 계산하는 버스 레이턴시 평균값 계산회로; 및
    기준 버스 레이턴시와 상기 버스 레이턴시 평균값 계산회로의 출력신호를 비교하고, 그 비교결과로서 상기 라인 사이즈 제어신호를 출력하는 비교회로를 구비하는 것을 특징으로 하는 캐쉬 메모리 시스템.
  7. 캐쉬 메모리 시스템에 있어서,
    버스를 통하여 외부 메모리에 접근하기 위한 메모리 억세스 회로;
    상기 외부 메모리로부터 패취된 데이터를 저장하기 위한 캐쉬 메모리; 및
    상기 메모리 억세스 회로는 캐쉬 미스시 제어신호들에 기초하여 상기 버스의 버스 레이턴시를 측정하고, 그 측정결과로서 라인 사이즈 제어신호를 출력하고,
    상기 캐쉬 메모리의 라인 사이즈는 상기 라인 사이즈 제어신호에 기초하여 변경되는 것을 특징으로 하는 캐쉬 메모리 시스템.
  8. 제7항에 있어서, 상기 메모리 억세스 회로는,
    상기 버스를 통하여 상기 외부 메모리와 통신을 하는 캐쉬 컨트롤러;
    요구신호를 발생하고, 상기 요구신호를 상기 캐쉬 컨트롤러로 전송하는 프로세서; 및
    상기 라인 사이즈 제어신호를 발생하는 버스성능 측정회로를 구비하고,
    상기 캐쉬 컨트롤러는 상기 캐쉬 미스시 상기 요구신호에 기초하여 발생된 데이터 요구신호에 기초하여 상기 외부 메모리로부터 데이터를 패취하고, 패취된 데이터를 상기 캐쉬 메모리 또는 상기 프로세서로 전송하고,
    상기 버스성능 측정회로는 클락신호와 상기 캐쉬 컨트롤러에서 발생된 데이터 대기신호에 기초하여 상기 버스의 버스 레이턴시를 측정하고, 그 측정결과로서 상기 라인 사이즈 제어신호를 발생하고,
    상기 캐쉬 컨트롤러는 상기 라인 사이즈 제어신호에 기초하여 상기 캐쉬 메모리의 라인 사이즈를 변경하는 것을 특징으로 하는 캐쉬 메모리 시스템.
  9. 상기 제8항에 있어서, 상기 버스성능 측정회로는,
    상기 클락신호와 상기 데이터 대기신호에 기초하여 상기 버스의 버스 레이턴시를 측정하는 버스 레이턴시 카운터; 및
    기준 버스 레이턴시와 상기 버스 레이턴시 카운터의 출력신호를 비교하고, 그 비교결과로서 상기 라인 사이즈 제어신호를 발생하는 비교회로를 구비하는 것을 특징으로 하는 캐쉬 메모리 시스템.
  10. 상기 제9항에 있어서,
    상기 버스 레이턴시 카운터의 출력신호가 상기 기준 버스 레이턴시보다 큰 경우, 상기 비교회로는 제1상태를 갖는 상기 라인 사이즈 제어신호를 출력하고,
    상기 캐쉬 컨트롤러는 상기 제1상태를 갖는 상기 라인 사이즈 제어신호에 기초하여 상기 캐쉬 메모리의 라인 사이즈를 변경하는 것을 특징으로 하는 캐쉬 메모리 시스템.
  11. 버스의 버스 레이턴시 변화에 따라 캐쉬 메모리의 라인 사이즈를 변경하는 방법에 있어서,
    캐쉬 미스시, 버스성능 측정회로가 제어신호들에 응답하여 상기 버스의 버스 레이턴시를 측정하는 단계; 및
    상기 측정결과에 기초하여 캐쉬 메모리 컨트롤러가 상기 캐쉬 메모리의 라인 사이즈를 변경시키는 단계를 구비하는 것을 특징으로 하는 캐쉬 메모리의 라인 사이즈를 변경하는 방법.
  12. 제10항에 있어서, 상기 캐쉬 메모리의 라인 사이즈를 변경시키는 단계는,
    상기 버스성능 측정회로가 기준 버스 레이턴시와 측정된 버스 레이턴시를 비교하는 단계; 및
    상기 캐쉬 메모리 컨트롤러가 버스 레이턴시 비교결과에 기초하여 상기 캐쉬 메모리의 제1라인 사이즈를 제2라인 사이즈로 변경시키는 단계를 구비하는 것을 특징으로 하는 캐쉬 메모리의 라인 사이즈를 변경하는 방법.
  13. 버스의 버스 레이턴시 변화에 따라 캐쉬 메모리의 라인 사이즈를 변경하는 방법에 있어서,
    제1라인 사이즈와 기준 버스 레이턴시를 설정하는 단계;
    프로세서로부터 출력된 프로세서 요구신호에 응답하여 상기 캐쉬 메모리를 서치하는 단계;
    상기 서치의 결과로서 캐쉬 미스가 발생되는 경우, 데이터 대기신호와 데이터 요구신호를 발생하는 단계;
    상기 데이터 요구신호에 기초하여 상기 버스를 통하여 외부 메모리로부터 데이터를 패취하는 단계;
    클락신호와 상기 데이터 대기신호 중에서 적어도 하나에 응답하여 상기 버스의 버스 레이턴시를 측정하고 라인 사이즈 제어신호를 발생하는 단계;
    상기 라인 사이즈 제어신호를 수신하고, 상기 라인 사이즈 제어신호에 기초하여 상기 캐쉬 메모리의 라인 사이즈를 변경시키는 단계를 구비하는 것을 특징으로 하는 캐쉬 메모리의 라인 사이즈를 변경하는 방법.
KR1020040021568A 2004-03-30 2004-03-30 캐쉬 메모리 시스템과 버스의 버스 레이턴시 변화에 따라캐쉬 메모리의 라인 사이즈를 변경하는 방법 KR100723475B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040021568A KR100723475B1 (ko) 2004-03-30 2004-03-30 캐쉬 메모리 시스템과 버스의 버스 레이턴시 변화에 따라캐쉬 메모리의 라인 사이즈를 변경하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040021568A KR100723475B1 (ko) 2004-03-30 2004-03-30 캐쉬 메모리 시스템과 버스의 버스 레이턴시 변화에 따라캐쉬 메모리의 라인 사이즈를 변경하는 방법

Publications (2)

Publication Number Publication Date
KR20050096385A KR20050096385A (ko) 2005-10-06
KR100723475B1 true KR100723475B1 (ko) 2007-05-31

Family

ID=37276470

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040021568A KR100723475B1 (ko) 2004-03-30 2004-03-30 캐쉬 메모리 시스템과 버스의 버스 레이턴시 변화에 따라캐쉬 메모리의 라인 사이즈를 변경하는 방법

Country Status (1)

Country Link
KR (1) KR100723475B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5301296A (en) 1990-12-18 1994-04-05 Mitsubishi Denki Kabushiki Kaisha Microprocessor with cache memory
KR20000025609A (ko) * 1998-10-13 2000-05-06 구자홍 가변 라인사이즈를 가지는 캐시 구조
JP2000163150A (ja) * 1998-11-27 2000-06-16 Sharp Corp セキュリティシステム
KR20010035841A (ko) * 1999-10-04 2001-05-07 윤종용 Cpu, 캐시 메모리 그리고 메인 메모리 간의 라인 사이즈를 변화시키는 컴퓨터 시스템
JP2002163150A (ja) 2000-11-28 2002-06-07 Toshiba Corp プロセッサ

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5301296A (en) 1990-12-18 1994-04-05 Mitsubishi Denki Kabushiki Kaisha Microprocessor with cache memory
KR20000025609A (ko) * 1998-10-13 2000-05-06 구자홍 가변 라인사이즈를 가지는 캐시 구조
JP2000163150A (ja) * 1998-11-27 2000-06-16 Sharp Corp セキュリティシステム
KR20010035841A (ko) * 1999-10-04 2001-05-07 윤종용 Cpu, 캐시 메모리 그리고 메인 메모리 간의 라인 사이즈를 변화시키는 컴퓨터 시스템
JP2002163150A (ja) 2000-11-28 2002-06-07 Toshiba Corp プロセッサ

Also Published As

Publication number Publication date
KR20050096385A (ko) 2005-10-06

Similar Documents

Publication Publication Date Title
US6170070B1 (en) Test method of cache memory of multiprocessor system
KR102319809B1 (ko) 데이터 처리 시스템 및 다중 트랜잭션들을 처리하는 방법
EP0348495B1 (en) Method and digital computer for prefetching vector data from memory in a memory system designed for scalar processing
US6941433B1 (en) Systems and methods for memory read response latency detection
GB2334603A (en) Dynamically setting latency values for memory access
US7899940B2 (en) Servicing commands
US7376791B2 (en) Memory access systems and methods for configuring ways as cache or directly addressable memory
US6842790B2 (en) Host computer virtual memory within a network interface adapter
JP3729545B2 (ja) キャッシュメモリへのアクセス
CN113515470A (zh) 高速缓冲存储器寻址
JPH0532775B2 (ko)
JP2008234059A (ja) データ転送装置および情報処理システム
US20100223414A1 (en) Data transfer coherency device and methods thereof
US8122194B2 (en) Transaction manager and cache for processing agent
US7293126B2 (en) Enhanced structure of extensible time-sharing bus capable of reducing pin number, extending memory capacity, and performing I/O mapping access and block access
JP3604548B2 (ja) アドレス一致検出装置、通信制御システム及びアドレス一致検出方法
KR100723475B1 (ko) 캐쉬 메모리 시스템과 버스의 버스 레이턴시 변화에 따라캐쉬 메모리의 라인 사이즈를 변경하는 방법
US7543113B2 (en) Cache memory system and method capable of adaptively accommodating various memory line sizes
US4737908A (en) Buffer memory control system
JP2004318877A (ja) 知的な待ち方法
US5926840A (en) Out-of-order fetching
KR100523966B1 (ko) 멀티 바이트 버스트 메모리에 적합한 유효 바이트 판정 방법
CN114297131B (zh) 传感器控制系统、片上系统和计算装置
JPH04505225A (ja) スカラー処理用に設計されたメモリシステムでメモリからベクトルデータをプリフェッチする方法
JPS6014435B2 (ja) 記憶装置

Legal Events

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

Payment date: 20100429

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee