KR20230085834A - 필터와 다중 진입점 구조를 이용한 캐싱 방법 및 장치 - Google Patents

필터와 다중 진입점 구조를 이용한 캐싱 방법 및 장치 Download PDF

Info

Publication number
KR20230085834A
KR20230085834A KR1020220131136A KR20220131136A KR20230085834A KR 20230085834 A KR20230085834 A KR 20230085834A KR 1020220131136 A KR1020220131136 A KR 1020220131136A KR 20220131136 A KR20220131136 A KR 20220131136A KR 20230085834 A KR20230085834 A KR 20230085834A
Authority
KR
South Korea
Prior art keywords
point
entry
count value
level queue
cache entry
Prior art date
Application number
KR1020220131136A
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 KR20230085834A publication Critical patent/KR20230085834A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements

Abstract

본 발명은 캐싱 방법에 관한 것으로, 캐싱 방법은 저장된 복수의 캐시 엔트리에 호출 및 미호출 여부를 포함하는 접근 비트를 입력하는 단계, 캐시 엔트리를 상위레벨 큐에 제1 지점, 제2 지점 및 상위 진입 지점 및 하위레벨 큐에 하위 진입 지점을 포함하는 다중 진입점을 갖는 다중 큐 구조에 진입하는 단계, 상위레벨 큐 또는 하위레벨 큐의 평가지점에서 접근 비트에 기반하여 캐시 엔트리의 하강, 이동, 상승 및 퇴출을 결정하는 단계 및 하위레벨 큐의 평가지점에 위치한 캐시 엔트리가 상승하는 것으로 결정된 경우, 하위레벨 큐의 평가지점에 위치한 캐시 엔트리의 카운트 값에 기초하여 하위레벨 큐의 평가지점에 위치한 캐시 엔트리가 상승될 다중 진입점을 결정하는 단계를 포함할 수 있다.

Description

필터와 다중 진입점 구조를 이용한 캐싱 방법 및 장치{Method And Apparatus For Caching Using Filter and Multiple Entry Point Structure}
필터와 다중 진입점 구조를 이용한 캐싱 방법 및 장치에 관한 것이다.
최근 들어 클라우드, 하드웨어, 메모리를 포함하는 데이터 통신 장치들이 많이 보급됨에 따라 다수의 대용량 데이터들을 선택적으로 판별하는 방법에 대한 수요가 늘어나고 있는 실정이다. 캐싱은 속도가 느린 장치의 데이터를 전달받아 빠른 메모리 영역으로 접근하는 방법을 의미하는 것으로서, 데이터를 선택적으로 판별하여 효율적인 처리가 가능하게 할 수 있다.
캐싱 방법은 선별되어 저장된 캐시 엔트리에 대한 보호를 위해 스캔(scan)패턴에 저항성을 갖도록 설계된다. 스캔 패턴 저항성은 접근 빈도 정보를 기반으로 구현되는데, 접근 빈도 정보를 많이 활용할수록 스캔 패턴 저항성은 강해지지만 워크로드의 변화를 추적하는 적응성은 늦어지는 특징이 있다. 따라서, 이러한 특징을 해결하기 위해 n개의 큐(queue)를 이용하여 접근 빈도 정보를 근사하는 방법으로 구현하고 있다.
종래의 접근 빈도 정보를 2개의 큐를 이용하여 근사하는 경우, 스캔 패턴이 2회 이상 발생하는 경우 캐시 오염이 발생되어 캐시 적중률이 떨어진다. 이에, 최근 들어 2개의 큐를 이용하여 근사화 할 때 캐시 오염을 줄이는 방법에 대한 연구가 이루어지고 있는 실정이다.
대한민국 공개특허공보 제2017-0120595호("하이브리드 메모리 모듈 및 그것의 동작 방법", 삼성전자주식회사, 2018.08.23)
본 발명은 다중 큐 구조 및 다중 진입점을 포함하고 필터를 이용하여 보상하는 캐싱 방법 및 장치를 제공하는 것을 목적으로 한다.
상술한 과제를 해결하기 위하여 캐싱 방법은 저장된 복수의 캐시 엔트리에 호출 및 미호출 여부를 포함하는 접근 비트를 입력하는 단계, 캐시 엔트리를 상위레벨 큐에 제1 지점, 제2 지점 및 상위 진입 지점 및 하위레벨 큐에 하위 진입 지점을 포함하는 다중 진입점을 갖는 다중 큐 구조에 진입하는 단계, 상위레벨 큐 또는 하위레벨 큐의 평가지점에서 접근 비트에 기반하여 캐시 엔트리의 하강, 이동, 상승 및 퇴출을 결정하는 단계 및 하위레벨 큐의 평가지점에 위치한 캐시 엔트리가 상승하는 것으로 결정된 경우, 하위레벨 큐의 평가지점에 위치한 캐시 엔트리의 카운트 값에 기초하여 하위레벨 큐의 평가지점에 위치한 캐시 엔트리가 상승될 다중 진입점을 결정하는 단계를 포함할 수 있다.
캐싱 방법은 다중 진입점을 결정하는 단계에 있어서 카운트 값이 중간값을 초과하는 경우 상위 진입 지점으로 상승하는 것으로 결정하고, 카운트 값이 중간값 이하인 경우, 제1 지점 및 제2 지점 중 하나의 지점으로 상승하는 것으로 결정하는 것을 특징으로 할 수 있다.
캐싱 방법은 다중 진입점을 결정하는 단계에 있어서 카운트 값이 최소값을 초과하고 중간값 이하 경우, 제2 지점으로 상승하는 것으로 결정하고, 카운트 값이 최소값 이하인 경우, 제1 지점으로 상승하는 것으로 결정하는 것을 특징으로 할 수 있다.
캐싱 방법은 캐시 엔트리가 상위레벨 큐에 진입하는 단계에 있어서 카운트 값이 중간값을 초과하는 경우, 상위 진입 지점으로 진입하는 것으로 결정하고, 카운트 값이 중간값 이하인 경우, 제1 지점 및 제2 지점 중 하나의 지점으로 진입하는 것으로 결정하는 것을 특징으로 할 수 있다.
캐싱 방법은 캐시 엔트리가 상위레벨 큐에 진입하는 단계에 있어서 카운트 값이 최소값을 초과하고 중간값 이하 경우, 제2 지점으로 진입하는 것으로 결정하고 카운트 값이 최소값 이하인 경우, 제1 지점으로 진입하는 것으로 결정하는 것을 특징으로 할 수 있다.
캐싱 방법은 캐시 엔트리가 상하위레벨 큐에 진입하는 단계에 있어서 하위레벨 큐의 하위 진입 지점으로 진입하는 것으로 결정하는 것을 특징으로 할 수 있다.
캐싱 방법은 상위레벨 큐의 평가지점에서 캐시 엔트리의 하강 및 이동을 결정하는 단계에 있어서 캐시 엔트리가 호출일 경우 이동으로 결정하고, 캐시 엔트리가 미호출일 경우 하강으로 결정하는 것을 특징으로 할 수 있다.
캐싱 방법은 상위레벨 큐의 평가지점에서 캐시 엔트리의 상승 및 퇴출을 결정하는 단계에 있어서 캐시 엔트리가 호출일 경우 상승으로 결정하고, 캐시 엔트리가 미호출일 경우 퇴출로 결정하는 것을 특징으로 할 수 있다.
상술한 과제를 해결하기 위하여 캐싱 장치는 복수의 캐시 엔트리를 저장하는 저장부, 캐시 엔트리에 호출 및 미호출 여부를 포함하는 접근 비트를 입력하는 정보부, 캐시 엔트리를 상위레벨 큐에 제1 지점, 제2 지점 및 상위 진입 지점 및 하위레벨 큐에 하위 진입 지점을 포함하는 다중 진입점을 갖는 다중 큐 구조에 진입하고, 상위레벨 큐 또는 하위레벨 큐의 평가지점에서 접근 비트에 기반하여 캐시 엔트리의 하강, 이동, 상승 및 퇴출을 결정하고, 하위레벨 큐의 평가지점에 위치한 캐시 엔트리가 상승하는 것으로 결정된 경우, 하위레벨 큐의 평가지점에 위치한 캐시 엔트리의 카운트 값에 기초하여 하위레벨 큐의 평가지점에 위치한 캐시 엔트리가 상승될 다중 진입점을 결정하는 축출부 및 카운트 값을 저장하고 미리 설정된 반감기를 통해 수렴값으로 생성하는 필터부를 포함하는 동작부를 포함하는 프로세서를 포함할 수 있다.
동작부는 카운트 값이 중간값을 초과하는 경우, 상위 진입 지점으로 상승하는 것으로 결정하고, 카운트 값이 중간값 이하인 경우, 제1 지점 및 제2 지점 중 하나의 지점으로 상승하는 것으로 결정하는 것을 특징으로 할 수 있다.
동작부는 카운트 값이 최소값을 초과하고 중간값 이하 경우, 제2 지점으로 상승하는 것으로 결정하고, 카운트 값이 최소값 이하인 경우, 제1 지점으로 상승하는 것으로 결정하는 것을 특징으로 할 수 있다.
동작부는 카운트 값이 중간값을 초과하는 경우, 상위 진입 지점으로 진입하는 것으로 결정하고, 카운트 값이 중간값 이하인 경우, 제1 지점 및 제2 지점 중 하나의 지점으로 진입하는 것으로 결정하는 것을 특징으로 할 수 있다.
동작부는 카운트 값이 최소값을 초과하고 중간값 이하 경우, 제2 지점으로 진입하는 것으로 결정하고, 카운트 값이 최소값 이하인 경우, 제1 지점으로 진입하는 것으로 결정하는 것을 특징으로 할 수 있다.
동작부는 하위레벨 큐의 하위 진입 지점으로 진입하는 것으로 결정하는 것을 특징으로 할 수 있다.
동작부는 캐시 엔트리가 호출일 경우 이동으로 결정하고, 캐시 엔트리가 미호출일 경우 하강으로 결정하는 것을 특징으로 할 수 있다.
동작부는 캐시 엔트리가 호출일 경우 상승으로 결정하고, 캐시 엔트리가 미호출일 경우 퇴출로 결정하는 것을 특징으로 할 수 있다.
본 발명의 일 실시예에 따른 캐싱 장치 및 방법에 의하면, 다중 큐 및 다중 진입점 구조에서 필터의 카운트 값 및 접근 비트에 기초하여 캐싱 엔트리의 상승, 하강, 진입, 퇴출 및 이동을 결정할 수 있다.
도 1a는 캐싱 시스템의 일 실시예에 대한 시스템도이다.
도 1b는 캐싱 시스템의 다른 실시예에 대한 시스템도이다.
도 2는 캐싱 장치의 블록도이다.
도 3은 큐(queue)를 설명하기 위한 예시이다.
도 4는 기존의 다중 큐 구조에서 진입 지점을 한 개로 구성하는 예시이다.
도 5는 다중 큐 구조에서 다중 진입점을 구성하는 예시이다.
도 6은 다중 진입점을 갖는 다중 큐 구조의 하위레벨 큐에 캐시 엔트리가 진입하는 예시이다.
도 7은 다중 진입점을 갖는 다중 큐 구조의 상위레벨 큐에 캐시 엔트리가 진입하는 예시이다.
도 8은 상위레벨 큐에서 하위레벨 큐로 하강하는 예시이다.
도 9는 상위레벨 큐 평가지점에서 상위레벨 상위 진입 지점으로 엔트리가 이동하는 예시이다.
도 10은 하위레벨 큐 평가지점에서 엔트리가 상승하는 예시이다.
도 11은 하위레벨 큐에서 퇴출하는 예시이다.
도 12는 필터부의 필터에 저장된 카운트 값의 예시와 반감기를 거쳐 수렴값으로 생성되는 예시이다.
도 13 및 도 14는 캐싱 방법의 전체적인 흐름도이다.
도 15는 캐싱 방법의 상위레벨 큐 진입에 있어서 진입 지점을 결정하는 단계에 대한 상세한 흐름도이다.
도 16은 캐싱 방법의 상위레벨 큐로 상승하는 경우, 진입 지점을 결정하는 단계에 대한 상세한 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 “부”, “모듈”, “유닛” 등의 용어는 적어도 하나의 기능 또는 동작을 처리하는 단위를 의미하며, 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소, 또는 소프트웨어와 하드웨어의 결합으로 구현될 수 있다. 그렇지만 “부”, “모듈”, “유닛” 등의 용어가 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. “부”, “모듈”, “유닛” 등은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "“부”, “모듈”, “유닛” 등의 용어는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
“제1”, “제2” 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되지는 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. “및/또는” 이라는 용어는 복수의 관련된 항목들의 조합 또는 복수의 관련된 항목들 중의 어느 하나의 항목을 포함한다.
이하, 도면을 참조하여 캐싱 시스템(1)의 실시예에 대해 설명한다.
도 1a은 캐싱 시스템(1)의 일 실시예에 대한 시스템도이다.
도 1b는 캐싱 시스템(1)의 다른 실시에에 대한 시스템도이다.
캐싱 시스템(1)은 도 1a와 같이 복수의 데이터 저장부(100)를 포함하는 데이터베이스(2)에서 클라우드(4)를 통해 파일 장치(3)에 캐시 엔트리를 전달할 수 있다.
클라우드(4)는 데이터베이스(2)에서 전달받은 캐시 엔트리를 파일 장치(3)에 전달할 수 있다.
파일 장치(3)는 캐싱 장치(10) 및 통신 장치(20)를 포함할 수 있다.
통신장치(20)는 파일 장치(3)의 캐싱 과정을 거친 엔트리를 클라우드(4) 및 데이터베이스(2)에 전달할 수 있다.
캐싱 장치(10)는 전달받은 캐시 엔트리를 다중 진입점 및 스케치 필터를 활용하여 가공된 데이터를 생성할 수 있다.
캐싱 시스템(1)은 도 1b와 같이 데이터베이스(2), 통신 장치(20) 및 캐싱 장치(10)를 포함하는 파일 장치(3)를 독립적으로 포함하여 클라우드(4)에 전송하여 캐싱 된 데이터를 저장할 수 있다.
도 2는 캐싱 장치(10)의 일 실시예에 대한 블록도이다.
캐싱 장치(10)는 일 실시예에 있어서 저장부(100) 및 프로세서(200)를 포함할 수 있다.
캐싱은 빠른 메모리 영역으로 데이터를 전달받고 데이터에 접근하여 데이터를 선택적으로 빠른 매체에 옮겨 놓는 것을 의미할 수 있다.
캐시 엔트리는 속도가 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 캐시 메모리로서, 범위를 가지는 데이터를 포함하는 블록을 의미할 수 있다.
저장부(100)는 클라우드로부터 전달받거나 저장된 캐시 엔트리를 전달받아 다중 큐(queue)형태 정보를 저장할 수 있다.
큐(queue)는 캐시 엔트리들을 저장한 리스트로 정의될 수 있다.
큐(queue)는 컴퓨터의 기본적인 자료 구조 내지 대기열로서, 데이터가 입력된 순서로 데이터가 출력되는 FIFO(First In First Out, 선입선처리)구조로 저장하는 형식을 포함할 수 있다.
큐는 도 3의 예시처럼, Front의 데이터는 최선 순위의 데이터를 의미할 수 있다. Front 데이터는 최후 순위의 Back의 데이터가 Enqueue와 같이 입력될 때 Dequeue와 같이 출력될 수 있다.
저장부(100)는 캐싱 장치(10) 동작에 필요한 적어도 하나의 데이터, 지시 또는 프로그램(알고리즘)이나, 프로세서(200)의 처리 과정에서 또는 처리 결과 획득된 데이터 등을 일시적 또는 비일시적으로 저장할 수 있다.
저장부(100)는, 주기억장치 및 보조기억장치 중 적어도 하나를 포함할 수 있다. 주기억장치는 예를 들어, 롬(ROM) 및/또는 램(RAM)과 같은 반도체 저장 매체를 이용하여 구현된 것일 수 있고, 보조기억장치는, 플래시 메모리 장치(솔리드 스테이트 드라이브(SSD, Solid State Drive) 등), SD(Secure Digital) 카드, 하드 디스크 드라이브(HDD, Hard Disc Drive), 콤팩트 디스크, 디브이디(DVD) 또는 레이저 디스크 등과 같이 데이터를 영구적 또는 반영구적으로 저장 가능한 장치를 기반으로 구현될 수 있다.
프로세서(200)는 정보부(210) 및 동작부(220)를 포함할 수 있다.
프로세서(200)는, 적어도 하나의 동작을 실행하기 위하여 저장부(100)에 저장된 프로그램을 실행시킬 수도 있다. 프로세서(200)는, 예를 들어, 중앙 처리 장치(CPU: Central Processing Unit), 그래픽 처리 장치(GPU: Graphic Processing Unit), 마이크로 컨트롤러 유닛(MCU: Micro Controller Unit), 애플리케이션 프로세서(200)(AP: Application Processor), 전자 제어 유닛(ECU: Electronic Controlling Unit), 마이컴(Micom: Micro Processor) 및/또는 이외 각종 연산 및 제어 처리를 수행할 수 있는 적어도 하나의 전자 장치 등을 포함할 수 있다. 이들 처리 또는 제어 장치는, 예를 들어, 하나 또는 둘 이상의 반도체 칩, 회로 또는 관련 부품 등을 단독으로 이용하거나 조합하여 구현된 것일 수도 있다.
정보부(210)는 저장부(100)의 캐시 엔트리에 호출 및 미호출 여부를 포함하는 접근 비트를 입력할 수 있다.
일반적으로, 다중 큐 구조는 접근빈도 정보를 기반으로 생성된 정보를 활용할수록 스캔 패턴 저항성은 강해지지만 워크로드의 변화를 추적하는 적응성은 늦어지는 관계를 가질 수 있다. 접근빈도 정보는 본 발명 일 실시예의 접근 비트를 의미할 수 있다.
상위 레벨 큐는 하위 레벨 큐보다 우선순위가 높은 큐를 의미할 수 있다.
정보부(210)는 상위레벨 큐 내지 하위레벨 큐의 캐시 엔트리에 접근 비트가 마킹되지 않은 엔트리를 의미하는 숫자 0을 입력할 수 있고 접근 비트가 마킹된 엔트리를 의미하는 숫자 1을 입력할 수 있다.
접근 비트는 상위레벨 큐 또는 하위레벨 큐의 진입지점에 진입된 캐시 엔트리가 평가지점까지 이동하는 동안 파일 장치(3) 또는 클라우드(4)의 호출이 이루어졌는지 여부를 의미할 수 있다. 예를 들어, 파일 장치(3) 또는 클라우드(4)에서 캐시 엔트리의 데이터를 호출할 경우, 정보부(210)는 캐시 엔트리의 데이터에 호출을 입력할 수 있고 호출된 엔트리를 의미하는 접근 비트 숫자 1을 입력할 수 있다. 또한, 파일 장치(3) 또는 클라우드(4)에서 캐시 엔트리의 데이터를 호출하지 않을 경우, 정보부(210)는 캐시 엔트리의 데이터에 미호출을 입력할 수 있고 미호출된 엔트리를 의미하는 접근 비트 숫자 0을 입력할 수 있다. 정보부(210)는 호출 및 미호출을 의미하는 접근 비트를 동작부(220)에 전달할 수 있다.
정보부(210)는 접근 비트를 포함하는 캐시 엔트리를 상위레벨 큐에 다중 진입점을 포함하는 다중 큐 구조에 입력하고 동작부(220)에 전달하여 동작부(220)가 캐시 엔트리가 상위 레벨 큐 상위 진입 지점 및 하위 레벨 큐 하위 진입 지점에 진입하게 할 수 있다.
동작부(220)는 축출부(221) 및 필터부(222)를 포함할 수 있다.
동작부(220)는 축출부(221)에서 전달받은 다중 큐 구조에 다중 진입점을 구성하여 생성할 수 있다.
도 4는 기존의 다중 큐 구조에서 진입 지점을 한 개로 구성하는 예시이다.
다중 큐 구조는 상위레벨 큐의 평가지점(a), 상위 진입 지점(b)를 포함할 수 있다. 또한 다중 큐 구조는 하위레벨 큐의 평가지점(c), 하위 진입 지점(d)를 포함할 수 있다.
도 4의 기존의 진입 지점 한 개를 포함하는 다중 큐 구조는 진입 지점을 한 개씩만 구성하여 캐시 엔트리를 축출(상승 혹은 하강), 진입, 퇴출 및 이동하는 구성을 포함할 수 있다.
동작부(220)의 진입 지점은 캐시 엔트리가 입력되는 지점을 표시한 큐 내의 고정 헤드 영역으로서, 캐시 엔트리는 진입 지점의 앞 블록으로 진입, 이동 및 축출될 수 있다.
동작부(220)의 평가지점은 해당 큐 내의 캐시 엔트리를 상승, 하강, 퇴출 및 이동을 결정하기 위한 큐 내의 고정 헤드영역이다.
동작부(220)의 평가 지점은 큐 내의 고정 헤드 영역으로서, "상승, 하강, 퇴출, 이동" 결정은 평가지점의 뒤 블록에서 이루어질 수 있다.
이러한 진입 지점과 평가 지점의 차이는 상술한 FIFO, 입력되어 한 블록씩 이동하고 후에 출력되는 큐의 특성으로 인해 나타날 수 있다.
상위레벨 큐의 평가지점은 캐시 엔트리를 우선순위가 낮은 하위레벨 큐로 축출하는 하강을 수행하는 고정 헤드영역을 포함할 수 있다.
상위레벨 큐의 평가지점은 캐시 엔트리를 같은 상위레벨 큐 상위 진입 지점으로 이동하는 이동을 수행하는 고정 헤드영역을 포함할 수 있다.
하위레벨 큐의 평가지점은 가치 없다고 판단한 캐시 엔트리를 하위 레벨 큐에서 출력하는 퇴출을 수행하는 고정 헤드 영역을 포함할 수 있다.
하위레벨 큐의 평가지점은 가치 있다고 판단한 캐시 엔트리를 상위 레벨 큐에 진입하는 상승을 수행하는 고정 헤드영역을 포함할 수 있다.
도 5는 본 발명의 다중 큐 구조에서 다중 진입점을 구성하는 예시이다.
다중 진입점은 도 5의 예시와 같이 다중 큐 구조에서 상위레벨 큐가 복수 개의 진입 지점을 갖는 구성이다.
본 발명의 다중 진입점은 상위레벨 큐에 구비될 수 있다.
동작부(220)의 상위레벨 큐는 평가지점(a), 제1 진입지점(b), 제2 진입지점(c) 및 상위 진입지점(d)를 포함할 수 있다.
동작부(220)의 하위레벨 큐는 평가지점(e) 및 하위 진입지점(f)를 포함할 수 있다.
본 발명의 다중 진입점은 평가지점(a), 제1 진입지점(b), 제2 진입지점(c) 및 상위 진입지점(d)을 의미할 수 있다. 이를 통해 본 발명의 일 실시예는 진입 지점을 하나로 구성하는 도 4의 큐 구조보다 캐시 엔트리가 짧은 시간안에 평가되어지도록 할 수 있다.
다중 진입 지점을 갖는 다중 큐 구조는, 확률적으로 큐의 길이보다 짧은 기간안에 캐시 엔트리를 조기 평가받게 하여 스캔 패턴에 의한 캐시 엔트리 오염을 방지할 수 있다.
동작부(220)는 축출부(221)의 다중 진입 지점 구성을 통해 상술한 효과를 얻을 수 있지만, 캐시 엔트리의 조기 평가로 인해 잘못 축출되는 문제가 발생할 수 있다.
동작부(220)는 잘못 축출되는 문제를 막기 위해, 필터부(222)를 이용한 보상 과정을 포함할 수 있다.
동작부(220)의 보상 과정은 하강의 경우 카운트 값을 최대값으로 하위 진입 지점에 진입하게 하여 캐시 엔트리를 별도로 관리하게 할 수 있다. 또한, 향후에, 필터부(222)의 보상 과정은 상술한 하위 진입 지점으로 진입한 캐시 엔트리가 상승으로 축출될 때 상위 진입 지점에 진입하게 하여 잘못된 조기 축출에 대한 보상을 수행할 수 있다.
또한, 필터부(222)는 카운트 가능한 스케치 필터, 예를 들어 카운트 블룸 필터를 포함하여 캐시 엔트리의 카운트 값을 기록하여 필터에 저장할 수 있다.
카운트 값은 캐시 엔트리가 서로 다른 레벨 큐로 축출될 때 축출되는 횟수에 대한 데이터를 포함할 수 있다.
예를 들어, 카운트 값은 도 8의 0~16 범위의 0, 1, 2, 4, 8, 16의 값을 포함할 수 있다. 여기서 카운트 값 16은 캐시 엔트리가 축출되지 않은 것을 의미할 수 있다.
최대값은 카운트 값 중에서 최대치를 갖는 값을 의미하는 것으로서, 예를 들어, 0~16의 카운트 값 중에서 16을 의미할 수 있다.
수렴값은 프로세서(200)에서 축출 과정을 거친 캐시 엔트리가 최종적으로 수렴하는 값을 의미할 수 있다. 예를 들어, 수렴값은 도 8의 0을 의미할 수 있다.
중간값은 카운트 값 중에서 수렴값을 제외한 숫자 중 중간 숫자를 의미하는 것으로서, 예를 들어 1, 2, 4, 8, 16인 5개의 카운트 값 중에서 중간인 4를 의미할 수 있다.
최소값은 카운트 값 중에서 수렴값 0을 제외한 숫자 중 가장 작은 값을 의미하는 것으로서, 예를 들어 1, 2, 4, 8, 16인 카운트 값 중에서 최소인 1을 의미할 수 있다.
카운트 블룸 필터는  원소가 집합에 속하는지 여부를 검사하는데 사용되는 확률적 자료 구조로서, 캐시 엔트리는 축출 과정을 수행할 때마다 카운트 값을 필터에 저장할 수 있고 저장된 카운트 값은 미리 설정된 반감기를 거쳐 현재의 카운트 값의 절반의 값으로 변화하여 최종적으로 수렴값으로 수렴할 수 있다.
필터부(222)는 스케치 필터를 이용하여 메타 데이터를 더 적은 메모리 오버헤드를 이용하여 더 많은 카운트 값 history정보를 관리할 수 있다.
이하, 도 6을 참고해 축출부(221)에 대해 설명하도록 한다.
축출부(221)는 다중 큐 구조에 다중 진입점을 구성할 수 있다.
다중 진입점은 상위레벨 큐에 제1 지점, 제2 지점, 상위 진입 지점을 포함하는 진입지점과 평가지점을 포함할 수 있다. 축출부(221)는 캐시 엔트리를 평가 지점에서 평가를 거쳐 축출할 수 있고, 축출부(221)는 캐시 엔트리를 한 블록씩 이동시켜 상위 진입 지점 내지 하위 진입 지점의 빈 공간에 새로운 캐시 엔트리를 진입 받게 할 수 있다.
축출부(221)는 상위 레벨 큐 평가지점에서 하위 레벨 큐로 축출되는 경우, 하강으로 정의할 수 있고, 하위 레벨 평가지점에서 상위 레벨 큐로 축출되는 경우, 상승으로 정의할 수 있다. 즉, 축출은 하강과 상승을 포함할 수 있다.
축출부(221)는 상위레벨 큐 평가지점에서 같은 상위 레벨 큐의 상위 진입 지점으로 이동하는 것을 이동으로 정의할 수 있다.
축출부(221)는 하위레벨 큐 평가지점에서 출력되는 것을 퇴출로 정의할 수 있고 하위 진입지점으로 입력되는 것을 진입으로 정의할 수 있다.
이하, 도 6을 참고해 하위레벨 큐 진입에 대해 설명하도록 한다.
축출부(221)는 캐시 엔트리의 카운트 값이 수렴값(0)인 경우, 새로운 엔트리가 하위레벨 큐의 하위 진입 지점에 진입하게 할 수 있다.
필터부(222)에 저장되는 카운트 값은 상위레벨 큐에서 축출되는 경우(하강) 및 하위레벨 큐에서 축출(상승)되는 경우에만 기록되어 저장될 수 있다.
도 6의 진입과 같이 하위레벨 큐의 하위 진입 지점으로 새로 진입하는 경우에는 카운트 값을 필터부(222)에 기록하지 않을 수 있다.
이하. 도 7을 참고해 상위레벨 큐 진입에 대해 설명하도록 한다.
축출부(221)는 필터부(222)의 카운트 값이 최소값 이하인 경우, 엔트리를 상위레벨 큐의 제1지점으로 진입할 수 있고, 카운트 값이 중간값 이하이고 최소값 초과인 경우, 엔트리는 상위레벨 큐의 제2지점으로 진입할 수 있고, 카운트 값이 중간값 초과이고 최대값 이하인 경우, 엔트리는 상위 진입 지점으로 입력하게 할 수 있다.
도 7의 진입과 같이 상위레벨 큐의 진입 지점으로 새로 진입하는 경우에는 카운트 값을 필터부(222)에 기록하지 않을 수 있다.
축출부(221)는 도 8 및 도 9에 도시된 바와 같이, 상위레벨 큐 평가지점에서 접근 비트에 기초하여 해당 캐시 엔트리가 상위레벨 큐에 진입한 이후 접근 여부를 결정할 수 있다. 예를 들어, 축출부(221)는 도 8과 같이 미호출을 의미하는 접근 비트 0인 경우, 상위 레벨 큐 평가지점의 캐시 엔트리를 하위레벨 큐의 하위 진입 지점으로 하강하고, 필터부(222)에 카운트 값을 최대값으로 저장할 수 있다. 또한, 축출부(221)는 도 9와 같이 상위레벨 큐의 평가지점에 호출을 의미하는 접근 비트 1인 경우, 같은 상위레벨 큐의 상위 진입 지점으로 이동하면서 미호출을 의미하는 접근 비트 0으로 변경할 수 있다.
축출부(221) 도 10 및 도 11에 도시된 바와 같이, 하위레벨 큐의 평가지점에서 접근 비트에 기초하여 해당 캐시 엔트리의 상승 및 퇴출 여부를 결정할 수 있다.
축출부(221)는 호출을 의미하는 접근 비트 1인 경우, 상승을 결정할 수 있다. 또한, 미호출을 의미하는 접근 비트 0인 경우, 퇴출을 결정할 수 있다.
축출부(221)는 도 10과 같이 상승의 경우, 캐시 엔트리의 카운트 값 크기 비교를 거쳐 하위레벨 큐의 캐시 엔트리를 제1지점, 제2 지점 및 상위 진입 지점으로 상승을 결정할 수 있다.
축출부(221)는 하위레벨 큐에서 상위레벨 큐로 축출되는 상승 후 캐시 엔트리의 접근 비트를 미호출을 의미하는 0으로 변경하게 할 수 있다.
축출부(221)는 상승에 있어서, 하위레벨 큐의 캐시 엔트리의 카운트 값이 최소값 보다 작거나 같을 경우, 축출부(221)는 엔트리를 제1 지점으로 상승하게 할 수 있다.
축출부(221)는 상승에 있어서, 하위레벨 큐의 캐시 엔트리의 카운트 값이 최소값 보다 크고 중간값 보다 작거나 같을 경우, 축출부(221)는 엔트리를 제2 지점으로 상승하게 할 수 있다.
축출부(221)는 상승에 있어서, 하위레벨 큐의 캐시 엔트리의 카운트 값이 중간값 보다 크고 최대값보다 작거나 같을 경우, 축출부(221)는 엔트리를 상위 진입 지점으로 상승하게 할 수 있다.
이하, 도 11을 참고해 퇴출에 대해 설명하도록 한다.
축출부(221)는 도 11과 같이, 하위레벨 큐 평가지점에 미호출을 의미하는 접근 비트 0이 포함되어 있을 경우, 엔트리를 하위레벨 큐에서 출력하는 퇴출을 진행하게 할 수 있다.
이하, 도 12를 참고해 필터부(222)에 대해 설명하도록 한다.
필터부(222)는 스케치 필터를 이용하여, 각 레벨 큐에서 평가 후 축출(상승 혹은 하강)되는 캐시 엔트리의 카운트 값을 저장할 수 있다.
모든 스케치 필터의 캐시 엔트리는 도 12의 반감기 예시와 같이 미리 설정된 반감기를 거쳐 최종적으로 수렴값을 생성할 수 있다.
예를 들어, 필터부(222)는 16의 카운트 값을 가지는 엔트리를 반감기를 거쳐 8로 생성할 수 있고, 8의 카운트 값을 가지는 엔트리를 반감기를 거쳐 4로 생성할 수 있고, 4의 카운트 값을 가지는 엔트리를 반감기를 거쳐 2로 생성할 수 있고, 2의 카운트 값을 가지는 엔트리를 반감기를 거쳐 1로 생성할 수 있다.
필터부(222)는 일 실시예와 같이 16→8→4→2→1→0으로 진행하는 반감기를 거쳐 카운트 값을 수렴값으로 생성할 수 있다.
이하, 캐싱 방법의 순서도인 도 13를 참조하여 캐싱 방법의 일 실시예를 설명하도록 한다.
먼저, 저장부(100)에 저장된 복수의 캐시 엔트리는 상위레벨 큐에 진입(S100)할 수 있다. 이 경우, 도 15의 도면을 참고하여 카운트 값에 기초하여 상위레벨 큐 진입 지점을 결정하는 단계에 대해 자세히 설명하도록 한다.
진입된 캐시 엔트리는 상위레벨 큐의 평가 지점에서 호출 및 미호출 여부에 따라 하강 및 이동을 결정(S200)할 수 있다. 호출일 경우 이동을 결정하고, 미호출일 경우 하강을 결정할 수 있다.
이하, 도 14를 참조하여 캐싱 방법의 일 실시예를 설명하도록 한다.
먼저, 저장부(100)에 저장된 복수의 캐시 엔트리는 하위레벨 큐에 진입(S300)할 수 있다.
진입된 캐시 엔트리는 하위레벨 큐의 평가 지점에서 호출 및 미호출 여부에 따라 상승 및 퇴출을 결정(S200)할 수 있다. 호출일 경우 상승을 결정하고, 미호출일 경우 퇴출을 결정할 수 있다.
상승의 경우, 도 16의 도면을 참고하여 카운트 값에 기초하여 상위레벨 큐 진입지점을 결정하는 단계에 대해 자세히 설명하도록 한다.
이하, 도 15를 참조하여 상위레벨 큐 진입 지점을 결정하는 단계(S100)에 대해 더 상세히 설명하도록 한다.
먼저, 동작부(220)는 상위레벨 큐에 진입할 때 캐시 엔트리의 카운트 값을 크기 비교하여 상위레벨 큐의 진입지점을 결정(S110)할 수 있다. 또한, 동작부(220)는 캐시 엔트리의 카운트 값이 최소값보다 같거나 작으면(S111) 엔트리를 제1 지점으로 진입(S112)하게 할 수 있다. 또한, 동작부(220)는 카운트 값이 최소값 보다 크고 중간값 보다 같거나 작으면(S113) 엔트리를 제2 지점으로 진입(S114)하게 할 수 있다. 또한, 동작부(220)는 카운트 값이 중간값 보다 크면(S113) 엔트리를 상위 진입 지점으로 진입(S115)하게 할 수 있다.
또한, 동작부(220)는 카운트 값을 필터부(222)에 저장(S116)할 수 있다.
이하, 도 16를 참조하여 상승 시 상위레벨 큐 진입지점을 결정하는 단계(S400)에 대해 더 상세히 설명하도록 한다.
먼저, 동작부(220)는 상승할 때 캐시 엔트리의 카운트 값을 크기 비교하여 상위레벨 큐의 진입지점을 결정(S410)할 수 있다. 또한, 동작부(220)는 캐시 엔트리의 카운트 값이 최소값보다 같거나 작으면(S411) 엔트리를 제1 지점으로 상승(S412)하게 할 수 있다. 또한, 동작부(220)는 카운트 값이 최소값 보다 크고 중간값 보다 같거나 작으면(S413) 엔트리를 제2 지점으로 상승(S414)하게 할 수 있다. 또한, 동작부(220)는 카운트 값이 중간값 보다 크면(S413) 엔트리를 상위 진입 지점으로 상승(S415)하게 할 수 있다.
또한, 동작부(220)는 카운트 값을 필터부(222)에 저장(S416)할 수 있다.
본원 발명의 실시예들과 관련된 기술 분야에서 통상의 지식을 가진 자는 상기 기재의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로, 개시된 방법들은 한정적인 관점이 아닌 설명적 관점에서 고려되어야 한다. 본 발명의 범위는 발명의 상세한 설명이 아닌 특허청구 범위에 나타나며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
1:캐싱 시스템
2:데이터베이스
3:파일 장치
4:클라우드
10:캐싱 장치
20:통신 장치
100:저장부
200:프로세서
210:정보부
220;동작부
221:축출부
222:필터부

Claims (16)

  1. 저장된 복수의 캐시 엔트리에 호출 및 미호출 여부를 포함하는 접근 비트를 입력하는 단계;
    상기 캐시 엔트리를 상위레벨 큐에 제1 지점, 제2 지점 및 상위 진입 지점 및 하위레벨 큐에 하위 진입 지점을 포함하는 다중 진입점을 갖는 다중 큐 구조에 진입하는 단계;
    상기 상위레벨 큐 또는 하위레벨 큐의 평가지점에서 상기 접근 비트에 기반하여 상기 캐시 엔트리의 하강, 이동, 상승 및 퇴출을 결정하는 단계; 및
    상기 하위레벨 큐의 평가지점에 위치한 캐시 엔트리가 상승하는 것으로 결정된 경우, 상기 하위레벨 큐의 평가지점에 위치한 캐시 엔트리의 카운트 값에 기초하여 상기 하위레벨 큐의 평가지점에 위치한 캐시 엔트리가 상승될 상기 다중 진입점을 결정하는 단계;
    를 포함하는 캐싱 방법.
  2. 제1항에 있어서,
    상기 다중 진입점을 결정하는 단계에 있어서,
    상기 카운트 값이 중간값을 초과하는 경우, 상기 상위 진입 지점으로 상승하는 것으로 결정하고,
    상기 카운트 값이 중간값 이하인 경우, 상기 제1 지점 및 상기 제2 지점 중 하나의 지점으로 상승하는 것으로 결정하는 것을 특징으로 하는 캐싱 방법.
  3. 제1항에 있어서,
    상기 다중 진입점을 결정하는 단계에 있어서,
    상기 카운트 값이 최소값을 초과하고 중간값 이하 경우, 상기 제2 지점으로 상승하는 것으로 결정하고,
    상기 카운트 값이 최소값 이하인 경우, 상기 제1 지점으로 상승하는 것으로 결정하는 것을 특징으로 하는 캐싱 방법.
  4. 제1항에 있어서,
    상기 캐시 엔트리가 상기 상위레벨 큐에 진입하는 단계에 있어서,
    상기 카운트 값이 중간값을 초과하는 경우, 상기 상위 진입 지점으로 진입하는 것으로 결정하고,
    상기 카운트 값이 중간값 이하인 경우, 상기 제1 지점 및 상기 제2 지점 중 하나의 지점으로 진입하는 것으로 결정하는 것을 특징으로 하는 캐싱 방법.
  5. 제1항에 있어서,
    상기 캐시 엔트리가 상기 상위레벨 큐에 진입하는 단계에 있어서,
    상기 카운트 값이 최소값을 초과하고 중간값 이하 경우, 상기 제2 지점으로 진입하는 것으로 결정하고,
    상기 카운트 값이 최소값 이하인 경우, 상기 제1 지점으로 진입하는 것으로 결정하는 것을 특징으로 하는 캐싱 방법.
  6. 제1항에 있어서,
    상기 캐시 엔트리가 상기 하위레벨 큐에 진입하는 단계에 있어서,
    상기 하위레벨 큐의 하위 진입 지점으로 진입하는 것으로 결정하는 것을 특징으로 하는 캐싱 방법.
  7. 제1항에 있어서,
    상기 상위레벨 큐의 평가지점에서 상기 캐시 엔트리의 하강 및 이동을 결정하는 단계에 있어서,
    상기 캐시 엔트리가 호출일 경우 이동으로 결정하고, 상기 캐시 엔트리가 미호출일 경우 하강으로 결정하는 것을 특징으로 하는 캐싱 방법.
  8. 제1항에 있어서,
    상기 하위레벨 큐의 평가지점에서 상기 캐시 엔트리의 상승 및 퇴출을 결정하는 단계에 있어서,
    상기 캐시 엔트리가 호출일 경우 상승으로 결정하고, 상기 캐시 엔트리가 미호출일 경우 퇴출로 결정하는 것을 특징으로 하는 캐싱 방법.
  9. 복수의 캐시 엔트리를 저장하는 저장부;
    상기 캐시 엔트리에 호출 및 미호출 여부를 포함하는 접근 비트를 입력하는 정보부;
    상기 캐시 엔트리를 상위레벨 큐에 제1 지점, 제2 지점 및 상위 진입 지점 및 하위레벨 큐에 하위 진입 지점을 포함하는 다중 진입점을 갖는 다중 큐 구조에 진입하고,
    상기 상위레벨 큐 또는 하위레벨 큐의 평가지점에서 상기 접근 비트에 기반하여 상기 캐시 엔트리의 하강, 이동, 상승 및 퇴출을 결정하고,
    상기 하위레벨 큐의 평가지점에 위치한 캐시 엔트리가 상승하는 것으로 결정된 경우, 상기 하위레벨 큐의 평가지점에 위치한 캐시 엔트리의 카운트 값에 기초하여 상기 하위레벨 큐의 평가지점에 위치한 캐시 엔트리가 상승될 상기 다중 진입점을 결정하는 축출부; 및 상기 카운트 값을 저장하고 미리 설정된 반감기를 통해 수렴값으로 생성하는 필터부;를 포함하는 동작부;
    를 포함하는 프로세서;
    를 포함하는 캐싱 장치.
  10. 제9항에 있어서,
    상기 동작부에 있어서,
    상기 카운트 값이 중간값을 초과하는 경우, 상기 상위 진입 지점으로 상승하는 것으로 결정하고,
    상기 카운트 값이 중간값 이하인 경우, 상기 제1 지점 및 상기 제2 지점 중 하나의 지점으로 상승하는 것으로 결정하는 것을 특징으로 하는 캐싱 장치.
  11. 제9항에 있어서,
    상기 동작부에 있어서,
    상기 카운트 값이 최소값을 초과하고 중간값 이하 경우, 상기 제2 지점으로 상승하는 것으로 결정하고,
    상기 카운트 값이 최소값 이하인 경우, 상기 제1 지점으로 상승하는 것으로 결정하는 것을 특징으로 하는 캐싱 장치.
  12. 제9항에 있어서,
    상기 동작부에 있어서,
    상기 카운트 값이 중간값을 초과하는 경우, 상기 상위 진입 지점으로 진입하는 것으로 결정하고,
    상기 카운트 값이 중간값 이하인 경우, 상기 제1 지점 및 상기 제2 지점 중 하나의 지점으로 진입하는 것으로 결정하는 것을 특징으로 하는 캐싱 장치.
  13. 제9항에 있어서,
    상기 동작부에 있어서,
    상기 카운트 값이 최소값을 초과하고 중간값 이하 경우, 상기 제2 지점으로 진입하는 것으로 결정하고,
    상기 카운트 값이 최소값 이하인 경우, 상기 제1 지점으로 진입하는 것으로 결정하는 것을 특징으로 하는 캐싱 장치.
  14. 제9항에 있어서,
    상기 동작부에 있어서,
    상기 하위레벨 큐의 하위 진입 지점으로 진입하는 것으로 결정하는 것을 특징으로 하는 캐싱 장치.
  15. 제9항에 있어서,
    상기 동작부에 있어서,
    상기 캐시 엔트리가 호출일 경우 이동으로 결정하고, 상기 캐시 엔트리가 미호출일 경우 하강으로 결정하는 것을 특징으로 하는 캐싱 장치.
  16. 제9항에 있어서,
    상기 동작부에 있어서,
    상기 캐시 엔트리가 호출일 경우 상승으로 결정하고, 상기 캐시 엔트리가 미호출일 경우 퇴출로 결정하는 것을 특징으로 하는 캐싱 장치.
KR1020220131136A 2021-12-07 2022-10-13 필터와 다중 진입점 구조를 이용한 캐싱 방법 및 장치 KR20230085834A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210173339 2021-12-07
KR20210173339 2021-12-07

Publications (1)

Publication Number Publication Date
KR20230085834A true KR20230085834A (ko) 2023-06-14

Family

ID=86744852

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220131136A KR20230085834A (ko) 2021-12-07 2022-10-13 필터와 다중 진입점 구조를 이용한 캐싱 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20230085834A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170120595A (ko) 2015-01-18 2017-10-31 유헬스 바이오테크, 리미티드 암 상태를 결정하기 위한 방법 및 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170120595A (ko) 2015-01-18 2017-10-31 유헬스 바이오테크, 리미티드 암 상태를 결정하기 위한 방법 및 시스템

Similar Documents

Publication Publication Date Title
CN107636616A (zh) 用于推测性执行的控制的自适应队列式锁定
US10082958B2 (en) Invoking input/output (I/O) threads on processors to demote tracks from a cache
JP6708019B2 (ja) 演算処理装置、情報処理装置および演算処理装置の制御方法
CN112074819A (zh) 选择多个高速缓存回收算法中的一个用于从高速缓存中回收轨道
TW201432451A (zh) 用於改善輸入輸出效能之調節資料快取速率之方法
CN106681933A (zh) 一种内存管理方法及终端
US8204912B2 (en) Insertion rate aware b-tree
KR102130578B1 (ko) 반도체 장치
US20190179752A1 (en) Multi-level caching method and multi-level caching system for enhancing graph processing performance
US11620219B2 (en) Storage drive dependent track removal in a cache for storage
CN109086141B (zh) 内存管理方法和装置以及计算机可读存储介质
CN104317731A (zh) 一种分层存储管理方法、装置及存储系统
US20170357596A1 (en) Dynamically adjustable inclusion bias for inclusive caches
JP6070371B2 (ja) データ配置プログラム、及び情報処理装置
CN110637288A (zh) 存储器请求的自适应调度
JP2014199574A (ja) ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム
KR20230085834A (ko) 필터와 다중 진입점 구조를 이용한 캐싱 방법 및 장치
US20150213178A1 (en) Tier based layer promotion and demotion
JP6958618B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US9842061B2 (en) Implementing advanced caching
KR102516882B1 (ko) 캐시 관리 방법 및 이를 위한 컴퓨팅 장치
JP6112193B2 (ja) アクセス制御プログラム、ディスク装置及びアクセス制御方法
CN105528303B (zh) 用于管理存储系统的方法和装置
CN111258929B (zh) 缓存控制方法、装置和计算机可读存储介质
CA2439243A1 (en) Organising data in a database