KR102491352B1 - Electronic device for efficiently estimating stack distance and operation method of the same - Google Patents

Electronic device for efficiently estimating stack distance and operation method of the same Download PDF

Info

Publication number
KR102491352B1
KR102491352B1 KR1020210047747A KR20210047747A KR102491352B1 KR 102491352 B1 KR102491352 B1 KR 102491352B1 KR 1020210047747 A KR1020210047747 A KR 1020210047747A KR 20210047747 A KR20210047747 A KR 20210047747A KR 102491352 B1 KR102491352 B1 KR 102491352B1
Authority
KR
South Korea
Prior art keywords
accessed object
unique
currently accessed
index value
distance
Prior art date
Application number
KR1020210047747A
Other languages
Korean (ko)
Other versions
KR20220141529A (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 숙명여자대학교산학협력단
Priority to KR1020210047747A priority Critical patent/KR102491352B1/en
Publication of KR20220141529A publication Critical patent/KR20220141529A/en
Application granted granted Critical
Publication of KR102491352B1 publication Critical patent/KR102491352B1/en

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/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • 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/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • G06F12/1018Address translation using page tables, e.g. page table structures involving hashing techniques, e.g. inverted page tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/608Details relating to cache mapping
    • G06F2212/6082Way prediction in set-associative cache

Abstract

스택 거리를 효율적으로 추정하는 전자장치가 개시된다. 본 발명의 다양한 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치는 액세스되는 오브젝트에 대한 인덱스 값, 상기 액세스되는 오브젝트에 대한 고유 인덱스 값 및 상기 액세스되는 오브젝트를 기록하는 적어도 하나의 해시 테이블을 저장하는 저장부 및 상기 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 상기 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득하고, 상기 현재 액세스되는 오브젝트의 현재 인덱스 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 인덱스 값에 기초하여, 상기 현재 액세스되는 오브젝트에 대한 상호 참조 거리(

Figure 112021042899481-pat00043
: Inter-reference distance)를 획득하고, 상기 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 고유 카운트 값에 기초하여, 고유 참조 카운트(
Figure 112021042899481-pat00044
: unique reference count)를 획득하고, 상기 상호 참조 거리 및 상기 고유 참조 카운트에 기초하여 추정 스택 거리를 획득하는 프로세서를 포함할 수 있다.An electronic device for efficiently estimating a stack distance is disclosed. An electronic device for efficiently estimating a stack distance according to various embodiments of the present disclosure stores an index value for an accessed object, a unique index value for the accessed object, and at least one hash table recording the accessed object. Based on the storage unit and the hash table, the previous index value of the currently accessed object and the previous unique count value of the currently accessed object are obtained, and the current index value of the currently accessed object and the currently accessed object Based on the previous index value, a cross-reference distance to the currently accessed object (
Figure 112021042899481-pat00043
: Inter-reference distance) is obtained, and based on the current unique count value of the currently accessed object and the previous unique count value of the currently accessed object, a unique reference count (
Figure 112021042899481-pat00044
: a unique reference count) and an estimated stack distance based on the cross-reference distance and the unique reference count.

Description

스택 거리를 효율적으로 추정하는 전자장치 및 이의 동작방법{ELECTRONIC DEVICE FOR EFFICIENTLY ESTIMATING STACK DISTANCE AND OPERATION METHOD OF THE SAME}Electronic device for efficiently estimating stack distance and its operating method

본 발명은 스택 거리를 효율적으로 추정하는 전자장치 및 이의 동작방법에 대한 것으로, 보다 상세하게는 스택 거리 추정을 통해 스택 거리를 효율적으로 추정하는 전자장치 및 이의 동작방법에 대한 것이다.The present invention relates to an electronic device for efficiently estimating a stack distance and an operating method thereof, and more particularly, to an electronic device and an operating method thereof for efficiently estimating a stack distance through estimation of a stack distance.

잠정 구역성(temporal locality)이란 최초 참조된 기억 장소가 가까운 미래에도 계속 참조될 가능성이 높음을 의미한다. 잠정 구역성을 판단하기 위하여는 최신성(recency)이 가장 중요한 팩터(factor)에 해당한다. 최신성을 판단하기 위해서는 스택 거리(stack distance)를 활용할 수 있다.Temporal locality means that the first referenced memory location is highly likely to continue to be referenced in the near future. Recency is the most important factor in determining provisional regionality. In order to determine recency, a stack distance may be utilized.

일반적으로, 스택 거리는 입력되는 워크로드 데이터 마다 계산해야 하므로 복잡성이 크다. 스택 거리의 복잡성을 개선하기 위한 방법으로, Almasi 등은 홀-베이스 알고리즘(hole-based algorithm)이라는 새로운 스택 거리 산출 방식을 제안한 바 있다. 본 방식은 스택 거리를 보다 효율적으로 계산하기 위해 인터벌 트리(균형 이진 트리)를 채택한 바 있다.In general, the complexity is high because the stack distance must be calculated for each input workload data. As a method for improving the complexity of the stack distance, Almasi et al. have proposed a new stack distance calculation method called a hole-based algorithm. This method has adopted an interval tree (balanced binary tree) to calculate the stack distance more efficiently.

본 발명의 배경이 되는 기술의 일 예로, 일본 등록특허공보 제2000-330827호(2000. 11. 30.)는 캐쉬 내의 중복 페이지수를 확률적 방식으로 근사하여 계산함으로써 캐시 실수율의 효율을 높이는 방법을 개시한다.As an example of a technology behind the present invention, Japanese Patent Registration No. 2000-330827 (November 30, 2000) discloses a method for increasing the efficiency of cache real rate by approximating and calculating the number of duplicate pages in a cache in a stochastic manner. Initiate.

상술한 홀-베이스 알고리즘과 같은 기존의 스택 거리 계산 방법들은 스택 거리 계산의 복잡도를 어느 정도 개선하였으나, 예를 들어 더 큰 복잡도를 가지는 핫/콜드 데이터 구분 과정에 스택 거리 계산을 이용할 수 있을 정도의 개선을 실현하지는 못했다.Existing stack distance calculation methods such as the above-mentioned hole-based algorithm have improved the complexity of stack distance calculation to some extent, but, for example, it is possible to use stack distance calculation in a hot/cold data classification process having a greater complexity. No improvement was realized.

본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로, 본 발명은 스택 거리의 추정치를 획득함으로써, 스택 거리 계산 과정의 복잡도를 현저하게 경감할 수 있는 방법을 제공하는 것을 목적으로 한다.The present invention has been made to solve the above problems, and an object of the present invention is to provide a method capable of remarkably reducing the complexity of a stack distance calculation process by obtaining an estimated stack distance.

본 발명의 다양한 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치는 액세스되는 오브젝트에 대한 인덱스 값, 상기 액세스되는 오브젝트에 대한 고유 인덱스 값 및 상기 액세스되는 오브젝트를 기록하는 적어도 하나의 해시 테이블을 저장하는 저장부 및 상기 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 상기 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득하고, 상기 현재 액세스되는 오브젝트의 현재 인덱스 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 인덱스 값에 기초하여, 상기 현재 액세스되는 오브젝트에 대한 상호 참조 거리(

Figure 112021042899481-pat00001
: Inter-reference distance)를 획득하고, 상기 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 고유 카운트 값에 기초하여, 고유 참조 카운트(
Figure 112021042899481-pat00002
: unique reference count)를 획득하고, 상기 상호 참조 거리 및 상기 고유 참조 카운트에 기초하여 추정 스택 거리를 획득하는 프로세서를 포함할 수 있다.An electronic device for efficiently estimating a stack distance according to various embodiments of the present disclosure stores an index value for an accessed object, a unique index value for the accessed object, and at least one hash table recording the accessed object. Based on the storage unit and the hash table, the previous index value of the currently accessed object and the previous unique count value of the currently accessed object are obtained, and the current index value of the currently accessed object and the currently accessed object Based on the previous index value, a cross-reference distance to the currently accessed object (
Figure 112021042899481-pat00001
: Inter-reference distance) is obtained, and based on the current unique count value of the currently accessed object and the previous unique count value of the currently accessed object, a unique reference count (
Figure 112021042899481-pat00002
: a unique reference count) and an estimated stack distance based on the cross-reference distance and the unique reference count.

본 발명의 다양한 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치의 동작방법은 액세스되는 오브젝트에 대한 인덱스 값, 상기 액세스되는 오브젝트에 대한 고유 인덱스 값 및 상기 액세스되는 오브젝트를 기록하는 적어도 하나의 해시 테이블을 저장하는 과정, 상기 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 상기 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득하는 과정, 상기 현재 액세스되는 오브젝트의 현재 인덱스 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 인덱스 값에 기초하여, 상기 현재 액세스되는 오브젝트에 대한 상호 참조 거리(

Figure 112021042899481-pat00003
: Inter-reference distance)를 획득하는 과정, 상기 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 고유 카운트 값에 기초하여, 고유 참조 카운트(
Figure 112021042899481-pat00004
: unique reference count)를 획득하는 과정 및 상기 상호 참조 거리 및 상기 고유 참조 카운트에 기초하여 추정 스택 거리를 획득하는 과정을 포함할 수 있다.An operating method of an electronic device for efficiently estimating a stack distance according to various embodiments of the present disclosure includes an index value for an accessed object, a unique index value for the accessed object, and at least one hash recording the accessed object. Storing a table, obtaining a previous index value of the currently accessed object and a previous unique count value of the currently accessed object, based on the hash table, the current index value of the currently accessed object and the current access Based on the previous index value of the object to be accessed, the cross-reference distance to the currently accessed object (
Figure 112021042899481-pat00003
: Inter-reference distance), based on the current unique count value of the currently accessed object and the previous unique count value of the currently accessed object, a unique reference count (
Figure 112021042899481-pat00004
: obtaining a unique reference count) and obtaining an estimated stack distance based on the cross-reference distance and the unique reference count.

본 발명의 다양한 실시 예에 따르면, 스택 거리의 추정치를 획득함으로써, 스택 거리 계산 과정의 복잡도를 현저하게 경감할 수 있는 방법을 제공하는 것을 목적으로 한다.According to various embodiments of the present disclosure, an object of the present invention is to provide a method capable of remarkably reducing the complexity of a stack distance calculation process by obtaining an estimate of the stack distance.

도 1은 본 발명의 일 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치에 대한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 스택 거리 추정방법에 대한 흐름도이다.
도 3은 본 발명의 일 실시 예에 따른 워크로드 데이터의 특성을 도시한다.
도 4는 본 발명의 일 실시 예에 따른 성능 비교 데이터를 도시한다.
도 5는 본 발명의 다른 실시 예에 따른 성능 비교 데이터를 도시한다.
도 6는 본 발명의 또 다른 실시 예에 따른 성능 비교 데이터를 도시한다.
도 7은 본 발명의 또 다른 실시 예에 따른 성능 비교 데이터를 도시한다.
도 8은 본 발명의 일 실시 예에 따른 전자장치의 세부 구성도이다.
도 9는 본 발명의 일 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치의 동작방법에 대한 흐름도이다.
1 is a diagram of an electronic device for efficiently estimating a stack distance according to an embodiment of the present invention.
2 is a flowchart of a method for estimating a stack distance according to an embodiment of the present invention.
3 illustrates characteristics of workload data according to an embodiment of the present invention.
4 shows performance comparison data according to an embodiment of the present invention.
5 shows performance comparison data according to another embodiment of the present invention.
6 shows performance comparison data according to another embodiment of the present invention.
7 shows performance comparison data according to another embodiment of the present invention.
8 is a detailed configuration diagram of an electronic device according to an embodiment of the present invention.
9 is a flowchart of an operating method of an electronic device for efficiently estimating a stack distance according to an embodiment of the present invention.

이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대한 동작원리를 상세히 설명한다. 또한, 발명에 대한 실시 예를 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 하기에서 사용되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로써, 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 사용된 용어들의 정의는 본 명세서 전반에 걸친 내용 및 이에 상응한 기능을 토대로 해석되어야 할 것이다.Hereinafter, the operating principle of a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings. In addition, when it is determined that a detailed description of a related known function or configuration may obscure the gist of the present disclosure in describing an embodiment of the present invention, the detailed description will be omitted. In addition, terms used in the following are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of a user or operator. Therefore, the definitions of the terms used should be interpreted based on the content throughout this specification and the corresponding functions.

도 1은 본 발명의 일 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치에 대한 도면이다.1 is a diagram of an electronic device for efficiently estimating a stack distance according to an embodiment of the present invention.

도 1을 참조하면, 스택 거리(stack distance)를 효율적으로 추정하는 전자장치(100)는 저장부(110) 및 프로세서(120)를 포함할 수 있다.Referring to FIG. 1 , an electronic device 100 that efficiently estimates a stack distance may include a storage unit 110 and a processor 120 .

여기서, 전자장치(100)는 SSD(Solid State Drive)와 같은 다양한 데이터 저장장치나, 서버, PC, 태블릿 PC, 스마트폰 등 다양한 전자기기일 수 있다.Here, the electronic device 100 may be various data storage devices such as SSD (Solid State Drive) or various electronic devices such as servers, PCs, tablet PCs, and smart phones.

스택 거리는 동일한 두 개의 오브젝트 사이에 나타나는 여러 개의 오브젝트 중 유니크(unique)한 오브젝트의 개수로 정의될 수 있다. 예를 들어, 오브젝트의 나열 'a b c c c d e e e a b'를 가정할 때, 동일한 'a' 오브젝트 사이에 나타나는 오브젝트 'b c c c d e e e'에서 유니크한 오브젝트는 'b c d e'다. 따라서, 상기 오브젝트 나열의 스택 거리는 4(SD(a)=4)로 정의될 수 있다.The stack distance may be defined as the number of unique objects among multiple objects appearing between two identical objects. For example, assuming an array of objects 'a b c c c d e e e a b', a unique object in 'b c c c d e e e' appearing among identical 'a' objects is 'b c d e'. Accordingly, the stack distance of the object enumeration may be defined as 4 (SD(a)=4).

스택 거리는 출현되는(또는 access 되는) 모든 오브젝트들의 히스토리를 저장하고 있어야만 계산 가능하기 때문에 메모리 사용량이 크고, 특히 캐시 메커니즘의 경우 모든 오브젝트 각각에 대해서 SD를 구해야 하므로 계산 복잡도 (computational complexity)가 매우 높다. Since the stack distance can be calculated only when the history of all appearing (or accessed) objects is stored, the memory usage is large, and especially in the case of the cache mechanism, the computational complexity is very high because the SD must be obtained for each object.

이에 따라, 본 발명에서는 스택 거리의 추정치를 효율적으로 계산하는 방법을 제공함으로써 일반적인 스택 거리 계산의 복잡도를 개선하고자 한다.Accordingly, the present invention aims to improve the complexity of general stack distance calculation by providing a method for efficiently calculating an estimate of the stack distance.

저장부(110)는 해시 테이블을 저장할 수 있다. 해시 테이블은 레코드를 한 개 이상 보관하는 버킷들의 집합이다. 해시 테이블은 데이터가 저장되는 버킷들의 배열로 만들어지며, 한 버킷은 하나 이상의 레코드를 수용할 수 있다. 이하에서, 해시 테이블에 저장되는 정보는 해시 테이블에 포함된 적어도 하나의 버킷에 저장되는 것으로 해석될 수 있을 것이다.The storage unit 110 may store a hash table. A hash table is a set of buckets that hold one or more records. A hash table is made up of an array of buckets where data is stored, and one bucket can hold one or more records. Hereinafter, information stored in the hash table may be interpreted as being stored in at least one bucket included in the hash table.

저장부(110)는 해시 테이블에 포함된 적어도 하나의 버킷에 액세스 되는 오브젝트(또는 워크로드 데이터)에 대한 정보를 저장할 수 있다. 여기서, 오브젝트는 LBA(Logical Block Address)일 수 있다.The storage unit 110 may store information about an object (or workload data) accessed in at least one bucket included in the hash table. Here, the object may be a Logical Block Address (LBA).

구체적으로, 저장부(110)는 액세스되는 오브젝트에 대한 인덱스 값, 액세스되는 오브젝트에 대한 고유 인덱스 값 및 액세스되는 오브젝트를 기록할 수 있다. Specifically, the storage unit 110 may record an index value for an accessed object, a unique index value for the accessed object, and the accessed object.

여기서, 액세스되는 오브젝트에 대한 인덱스 값은 액세스되는 오브젝트의 현재 인덱스 값으로 업데이트 되기 때문에 액세스되는 오브젝트에 대한 이전 인덱스 값으로 정의될 수도 있다. Here, since the index value of the accessed object is updated with the current index value of the accessed object, it may be defined as a previous index value of the accessed object.

또한, 액세스되는 오브젝트에 대한 고유 인덱스 값은 액세스되는 오브젝트의 현재 고유 카운트 값으로 업데이트 되기 때문에 액세스되는 오브젝트에 대한 이전 인덱스 값으로 정의될 수도 있다.Also, since the unique index value of the accessed object is updated with the current unique count value of the accessed object, it may be defined as a previous index value of the accessed object.

일 예로, 적어도 하나의 해시 테이블에 포함된 적어도 하나의 버킷은 이전 인덱스 값, 이전 고유 인덱스 값 및 현재 액세스되는 오브젝트 값을 기록할 수 있다. 이를 위해, 해시 테이블에 포함된 적어도 하나의 버킷 각각은 이전 인덱스, 이전 고유 인덱스 및 레퍼런스 파트를 포함할 수 있다. 이 경우, 이전 인덱스는 이전 인덱스 값을, 이전 고유 인덱스는 고유 인덱스 값을, 레퍼런스 파트는 액세스되는 오브젝트의 값을 기록할 수 있다.For example, at least one bucket included in at least one hash table may record a previous index value, a previous unique index value, and a currently accessed object value. To this end, each of at least one bucket included in the hash table may include a previous index, a previous unique index, and a reference part. In this case, the previous index may record the previous index value, the previous unique index may record the unique index value, and the reference part may record the value of the accessed object.

프로세서(120)는 전자장치(100)를 전반적으로 제어할 수 있다. 특히, 프로세서(120)는 입력되는 오브젝트에 대한 스택 거리를 추정할 수 있다.The processor 120 may control the electronic device 100 as a whole. In particular, the processor 120 may estimate a stack distance for an input object.

예를 들어, 프로세서(120)는 상술한 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득할 수 있다. For example, the processor 120 may obtain a previous index value of a currently accessed object and a previous unique count value of a currently accessed object based on the above-described hash table.

이 경우, 프로세서(120)는 현재 액세스되는 오브젝트가 해시 테이블에 포함된 버킷의 레퍼런스에 포함되었는지 확인할 수 있다. In this case, the processor 120 may check whether the currently accessed object is included in the bucket reference included in the hash table.

현재 액세스되는 오브젝트가 해시 테이블에 포함된 버킷의 레퍼런스에 포함된 경우, 프로세서(120)는 현재 액세스되는 오브젝트의 이전 인덱스 값은 해시 테이블에 포함된 상기 버킷에 기록된 이전 인덱스로부터 획득할 수 있다. 또한, 프로세서(120)는 현재 액세스되는 오브젝트의 이전 고유 카운트 값은 해시 테이블에 포함된 상기 버킷에 기록된 이전 고유 인덱스로부터 획득할 수 있다.When a currently accessed object is included in the reference of a bucket included in the hash table, the processor 120 may obtain a previous index value of the currently accessed object from a previous index recorded in the bucket included in the hash table. Also, the processor 120 may obtain a previous unique count value of a currently accessed object from a previous unique index recorded in the bucket included in the hash table.

현재 액세스되는 오브젝트가 해시 테이블에 포함된 버킷의 레퍼런스에 포함되지 않은 경우 즉, 현재 액세스 되는 오브젝트가 해시 테이블에 기록되지 않은 경우, 프로세서(120)는 현재 액세스되는 오브젝트의 추정 스택 거리를 0으로 설정 또는 리턴 할 수 있다. 이 경우, 프로세서(120)는 고유 카운트 값을 증가시킬 수 있다.If the currently accessed object is not included in the bucket reference included in the hash table, that is, if the currently accessed object is not recorded in the hash table, the processor 120 sets the estimated stack distance of the currently accessed object to 0. or can return In this case, the processor 120 may increase the unique count value.

프로세서(120)는 현재 액세스 되는 오브젝트가 해시 테이블에 기록된 경우, 해시 테이블에 기초하여 상호 참조 거리(

Figure 112021042899481-pat00005
: Inter-reference distance)를 획득하는 과정 및 고유 참조 카운트(
Figure 112021042899481-pat00006
: unique reference count)를 획득하는 과정을 수행할 수 있다.When the currently accessed object is recorded in the hash table, the processor 120 determines the cross-reference distance (
Figure 112021042899481-pat00005
: Inter-reference distance) acquisition process and unique reference count (
Figure 112021042899481-pat00006
: You can perform the process of acquiring a unique reference count).

먼저, 프로세서(120)는 현재 액세스되는 오브젝트에 대한 상호 참조 거리를 획득할 수 있다. 여기서, 상호 참조 거리는 현재 액세스되는 오브젝트의 현재 액세스 시점과 현재 액세스되는 오브젝트의 이전 액세스 시점 간에 포함된 모든 액세스된 오브젝트에 대한 카운팅 값으로 정의될 수 있다.First, the processor 120 may obtain a cross-reference distance for a currently accessed object. Here, the cross-reference distance may be defined as a counting value for all accessed objects included between the current access point of view of the currently accessed object and the previous access point of the currently accessed object.

일 예로, 프로세서(120)는 현재 액세스되는 오브젝트의 현재 인덱스 값 및 현재 액세스되는 오브젝트의 이전 인덱스 값에 기초하여, 현재 액세스되는 오브젝트에 대한 상호 참조 거리(

Figure 112021042899481-pat00007
: Inter-reference distance)를 획득할 수 있다. 여기서, 상기 현재 인덱스 값은 글로벌 인덱스일 수 있다. 프로세서(120) 오브젝트가 액세스 되는 때마다 글로벌 인덱스의 카운트 값을 1씩 증가시키고 이를 해시 테이블의 이전 인덱스에 저장할 수 있다.For example, the processor 120 may perform a cross-reference distance (with respect to a currently accessed object) based on a current index value of the currently accessed object and a previous index value of the currently accessed object.
Figure 112021042899481-pat00007
: Inter-reference distance) can be obtained. Here, the current index value may be a global index. Each time the processor 120 object is accessed, the count value of the global index may be increased by 1 and stored in the previous index of the hash table.

프로세서(120)는 현재 액세스되는 오브젝트의 현재 인덱스 값 및 현재 액세스되는 오브젝트의 이전 인덱스 값의 차이 값을 상호 참조 거리로 획득할 수 있다.The processor 120 may obtain a difference value between a current index value of a currently accessed object and a previous index value of the currently accessed object as a cross-reference distance.

또한, 프로세서(120)는 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값에 기초하여, 고유 참조 카운트를 획득할 수 있다. Also, the processor 120 may obtain a unique reference count based on a current unique count value of the currently accessed object and a previous unique count value of the currently accessed object.

여기서, 프로세서(120)는 고유한 오브젝트(기존에 나타나지 않은 오브젝트)가 액세스 될 때마다 현재 고유 카운트 값(글로벌 고유 카운트)을 1씩 증가시킬 수 있다. 프로세서(120)는 고유한 오브젝트가 액세스되는 때의 글로벌 고유 카운트를 해시 테이블의 이전 고유 인덱스에 저장할 수 있다.Here, the processor 120 may increase the current unique count value (global unique count) by 1 whenever a unique object (an object not previously present) is accessed. Processor 120 may store the global unique count of when a unique object is accessed in the previous unique index of the hash table.

프로세서(120)는 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값의 차이 값을 고유 참조 카운트로 획득할 수 있다.The processor 120 may obtain a difference value between a current unique count value of a currently accessed object and a previous unique count value of a currently accessed object as a unique reference count.

한편, 프로세서(120)는 획득된 상호 참조 거리 및 획득된 고유 참조 카운트에 기초하여 추정 스택 거리를 획득할 수 있다.Meanwhile, the processor 120 may obtain an estimated stack distance based on the obtained cross-reference distance and the obtained unique reference count.

구체적으로, 프로세서(120)는 다음의 수학식에 기초하여 추정 스택 거리를 획득할 수 있다.Specifically, the processor 120 may obtain the estimated stack distance based on the following equation.

Figure 112021042899481-pat00008
Figure 112021042899481-pat00008

여기서,

Figure 112021042899481-pat00009
는 상기 추정 스택 거리,
Figure 112021042899481-pat00010
는 상기 상호 참조 거리,
Figure 112021042899481-pat00011
는 상기 고유 참조 카운트이다.here,
Figure 112021042899481-pat00009
is the estimated stack distance,
Figure 112021042899481-pat00010
is the cross-reference distance,
Figure 112021042899481-pat00011
is the unique reference count.

상기 수학식 1에 따르면, 추정 스택 거리는 상호 참조 거리 및 고유 참조 카운트의 평균이라는 간단한 연산으로 산출될 수 있어 기존 스택 거리 연산에 비해 복잡도가 크게 낮아질 수 있다. 여기서, 상호 참조 거리 및 고유 참조 카운트는 해시 테이블에서 빠르게 참조 가능하여 연산 속도가 더 크게 향상될 수 있다.According to Equation 1, the estimated stack distance can be calculated by a simple operation of averaging the cross-reference distance and the unique reference count, so complexity can be greatly reduced compared to the conventional stack distance calculation. Here, the cross-reference distance and the unique reference count can be quickly referenced in the hash table, so the calculation speed can be greatly improved.

프로세서(120)는 상술한 과정에 따라 추정 스택 거리를 리턴할 수 있다. 이 경우, 프로세서(120)는 적어도 하나의 테이블에 기록된 이전 인덱스 값을 현재 인덱스 값으로 업데이트 할 수 있다. 또한, 프로세서(120)는 적어도 하나의 테이블에 기록된 이전 고유 인덱스 값을 현재 고유 카운트 값으로 업데이트할 수 있다.The processor 120 may return the estimated stack distance according to the above-described process. In this case, the processor 120 may update a previous index value recorded in at least one table to a current index value. Also, the processor 120 may update a previous unique index value recorded in at least one table to a current unique count value.

도 2는 본 발명의 일 실시 예에 따른 스택 거리 추정방법에 대한 흐름도이다.2 is a flowchart of a method for estimating a stack distance according to an embodiment of the present invention.

이하 도 2에 대한 설명에서 상술한 도 1에 대한 설명과 중복되는 내용은 설명의 편의를 위해 상세한 설명을 생략한다.Hereinafter, in the description of FIG. 2 , detailed descriptions of overlapping contents with those of FIG. 1 will be omitted for convenience of description.

도 2를 참조하면, 프로세서(120)는 오브젝트가 액세스하면(S201), 후술하는 해당 오브젝트에 대한 스택 거리 추정과정을 수행한다.Referring to FIG. 2 , when an object is accessed (S201), the processor 120 performs a process of estimating a stack distance for the corresponding object, which will be described later.

프로세서(120)는 액세스된 오브젝트가 해시 테이블에 기록되었는지를 판단할 수 있다(S202). The processor 120 may determine whether the accessed object is recorded in the hash table (S202).

프로세서(120)는 액세스된 오브젝트가 해시 테이블에 기록되지 않은 경우(S202-아니오), 추정 스택 거리를 0으로 리턴 할 수 있다(S203). 또한, 프로세서(120)는 현재 고유 카운트 값을 1 만큼 증가시킬 수 있다(S204). 이는 프로세서(120)는 액세스된 오브젝트가 해시 테이블에 기록되지 않은 고유한 오브젝트로 판단할 수 있기 때문이다.When the accessed object is not recorded in the hash table (S202-No), the processor 120 may return the estimated stack distance as 0 (S203). Also, the processor 120 may increase the current unique count value by 1 (S204). This is because the processor 120 may determine that the accessed object is a unique object not recorded in the hash table.

프로세서(120)는 액세스된 오브젝트가 해시 테이블에 기록된 경우(S202-예), 액세스된 오브젝트에 대한 상호 참조 거리를 획득할 수 있다(S205). 일 예로, 프로세서(120)는 현재 액세스되는 오브젝트의 현재 인덱스 값 및 현재 액세스되는 오브젝트의 이전 인덱스 값의 차이 값을 상호 참조 거리로 획득할 수 있다.When the accessed object is recorded in the hash table (S202-Yes), the processor 120 may obtain a cross-reference distance to the accessed object (S205). For example, the processor 120 may obtain a difference value between a current index value of a currently accessed object and a previous index value of the currently accessed object as a cross-reference distance.

또한, 프로세서(120)는 액세스된 오브젝트가 해시 테이블에 기록된 경우(S202-예), 액세스된 오브젝트에 대한 고유 참조 카운트를 획득할 수 있다(S206). 일 예로, 프로세서(120)는 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값의 차이 값을 고유 참조 카운트로 획득할 수 있다.Also, when the accessed object is recorded in the hash table (S202-Yes), the processor 120 may obtain a unique reference count for the accessed object (S206). For example, the processor 120 may obtain a difference value between a current unique count value of a currently accessed object and a previous unique count value of a currently accessed object as a unique reference count.

프로세서(120)는 획득된 상호 참조 거리 및 고유 참조 카운트에 기초하여 추정 스택 거리를 획득할 수 있다(S207). 여기서, 추정 스택 거리는 상호 참조 거리 및 고유 참조 카운트의 평균으로 정의될 수 있다(상술한 수학식 1 참조).The processor 120 may obtain an estimated stack distance based on the obtained cross-reference distance and unique reference count (S207). Here, the estimated stack distance may be defined as the average of the cross-reference distance and the unique reference count (see Equation 1 above).

프로세서(120)는 상술한 과정에 따라 추정 스택 거리를 리턴 할 수 있다. 이 경우, 프로세서(120)는 적어도 하나의 테이블에 기록된 이전 인덱스 값을 현재 인덱스 값으로 업데이트 할 수 있다(S208). 또한, 프로세서(120)는 적어도 하나의 테이블에 기록된 이전 고유 인덱스 값을 현재 고유 카운트 값으로 업데이트할 수 있다(S209).The processor 120 may return the estimated stack distance according to the above-described process. In this case, the processor 120 may update the previous index value recorded in at least one table to the current index value (S208). Also, the processor 120 may update the previous unique index value recorded in at least one table to the current unique count value (S209).

상술한 추정 스택 거리는 상호 참조 거리 및 고유 참조 카운트의 평균이라는 간단한 연산으로 산출될 수 있다. 이에 따라, 본 발명의 일 실시 예에 따른 스택 거리 추정과정은 기존 스택 거리 연산에 비해 복잡도가 크게 낮아질 수 있다. 여기서, 상호 참조 거리 및 고유 참조 카운트는 해시 테이블에서 빠르게 참조 가능하여 연산 속도가 더 크게 향상될 수 있다.The above estimated stack distance can be calculated by a simple operation of averaging the cross-reference distance and the unique reference count. Accordingly, the complexity of the stack distance estimation process according to an embodiment of the present invention can be greatly reduced compared to the conventional stack distance calculation. Here, the cross-reference distance and the unique reference count can be quickly referenced in the hash table, so the calculation speed can be greatly improved.

이상에서 본 발명의 일 실시 예에 따른 스택 거리 추정방법에 대하여 상세히 설명하였다. 이하, 도 3 내지 도 7을 참조하여, 기존 스택 거리 계산방법과 본 발명의 일 실시 예에 따른 스택 거리 추정방법에 대한 성능을 비교해 본다.In the above, the method for estimating the stack distance according to an embodiment of the present invention has been described in detail. Hereinafter, with reference to FIGS. 3 to 7 , the performances of the conventional method for calculating a stack distance and the method for estimating a stack distance according to an embodiment of the present invention will be compared.

도 3은 본 발명의 일 실시 예에 따른 워크로드 데이터의 특성을 도시한다.3 illustrates characteristics of workload data according to an embodiment of the present invention.

도 3의 표는 4가지 트레이스(워크로드 데이터의 집합)의 특성을 포함한다.The table in FIG. 3 contains the characteristics of four traces (sets of workload data).

도 3을 참조하면, 본 발명의 일 실시 예에 따른 스택 거리 추정방법의 입력으로는 금융회사에서 발생하는 온라인 트랜잭션 관련 트레이스를 수집한 파이낸셜 트레이스(Financial trace), 마이크로소프트 캠브리지 연구소의 프린터 서버에서 수집된 MSR 프로젝트 트레이스(MSRproj trace), 마이크로소프트 캠브리지 연구소의 프로젝트 서버에서 수집된 MSR 프린터 트레이스(MSprn trace) 및 국립 타이완 대학교(NATIONAL TAIWAN UNIVERSITY)에서 수집된 디스틸드 트레이스(distilled trace)를 사용하였다.Referring to FIG. 3, as inputs to the stack distance estimation method according to an embodiment of the present invention, financial traces collected from traces related to online transactions occurring in financial companies and collected from the printer server of the Microsoft Cambridge Research Institute We used MSR project trace (MSRproj trace), MSR printer trace (MSprn trace) collected from the project server of Microsoft Cambridge Research Institute, and distilled trace (distilled trace) collected from NATIONAL TAIWAN UNIVERSITY.

상술한 각 트레이스 마다 900만 번의 실험을 수행하였다. 즉, 상술한 각 트레이스 마다, 본 발명의 일 실시 예에 따른 스택 거리 추정방법과 기존의 스택 거리 계산방법(예로 들면, ONM기법; 미국 일리노이대학교의 논문)을 각각 적용하여 그 결과를 도출하였다. 그 결과는 다음의 도 4 내지 도 7과 같다.For each trace described above, 9 million experiments were performed. That is, for each trace described above, the stack distance estimation method according to an embodiment of the present invention and the existing stack distance calculation method (eg, ONM method; dissertation at the University of Illinois, USA) were respectively applied to derive the result. The results are shown in FIGS. 4 to 7 below.

도 4는 파이낸셜 트레이스에 대한 실험이고, 도 5는 MSR 프로젝트 트레이스에 대한 실험이고, 도 6은 MSR 프린터 트레이스에 대한 실험이고, 도 7은 디스틸드 트레이스에 대한 실험이다.FIG. 4 is an experiment for financial traces, FIG. 5 is an experiment for MSR project traces, FIG. 6 is an experiment for MSR printer traces, and FIG. 7 is an experiment for distilled traces.

도 4 내지 도 7을 참조하면, 본 발명의 일 실시 예에 따른 스택 거리 추정방법은 기존의 스택 거리 계산방법보다 복잡도는 현저히 낮으면서도, 스택 거리 추정 결과는 실제 스택 거리 계산 값과 동일하거나 근사하다. 즉, 본 발명의 일 실시 예에 따른 스택 거리 추정방법은 매우 우수한 성능을 발휘함을 알 수 있다.4 to 7, the stack distance estimation method according to an embodiment of the present invention has significantly lower complexity than the conventional stack distance calculation method, but the stack distance estimation result is the same as or close to the actual stack distance calculation value. . That is, it can be seen that the method for estimating the stack distance according to an embodiment of the present invention exhibits very good performance.

도 8은 본 발명의 일 실시 예에 따른 전자장치의 세부 구성도이다.8 is a detailed configuration diagram of an electronic device according to an embodiment of the present invention.

도 8을 참조하면, 전자장치(800)는 통신부(810), 저장부(820) 및 프로세서(830)를 포함한다.Referring to FIG. 8 , an electronic device 800 includes a communication unit 810 , a storage unit 820 and a processor 830 .

통신부(810)는 통신을 수행한다. 통신부(810)는 BT(BlueTooth), WI-FI(Wireless Fidelity), ZigBee, IR(Infrared), NFC(Near Field Communication) 등과 같은 다양한 통신 방식을 통해 외부 전자기기와 통신을 수행할 수 있다.The communication unit 810 performs communication. The communication unit 810 may communicate with an external electronic device through various communication methods such as BlueTooth (BT), Wireless Fidelity (WI-FI), ZigBee, Infrared (IR), and Near Field Communication (NFC).

저장부(820)는 전자장치(800)를 구동시키기 위한 O/S(Operating System) 소프트웨어 모듈, 디스플레이 영역에서 제공되는 다양한 UI 화면을 구성하기 위한 데이터 등을 저장할 수 있다. The storage unit 820 may store an O/S (Operating System) software module for driving the electronic device 800 and data for configuring various UI screens provided in the display area.

일 예로, 저장부(820)는 해시 테이블을 저장할 수 있다. 저장부(820)는 해시 테이블에 포함된 적어도 하나의 버킷에 액세스 되는 오브젝트(또는 워크로드 데이터)에 대한 정보를 저장할 수 있다. 여기서, 오브젝트는 LBA(Logical Block Address)일 수 있다. 구체적으로, 저장부(820)는 액세스되는 오브젝트에 대한 인덱스 값, 액세스되는 오브젝트에 대한 고유 인덱스 값 및 액세스되는 오브젝트를 기록할 수 있다. For example, the storage unit 820 may store a hash table. The storage unit 820 may store information about an object (or workload data) accessed in at least one bucket included in the hash table. Here, the object may be a Logical Block Address (LBA). Specifically, the storage unit 820 may record an index value for an accessed object, a unique index value for the accessed object, and the accessed object.

프로세서(830)는 저장부(820)에 저장된 각종 프로그램을 이용하여 전자장치(800)의 동작을 전반적으로 제어한다.The processor 830 generally controls the operation of the electronic device 800 using various programs stored in the storage unit 820 .

구체적으로, 프로세서(830)는 RAM(831), ROM(832), 메인 CPU(833), 그래픽 처리부(834), 제1 내지 n 인터페이스(835-1 ~ 835-n) 및 버스(836)를 포함한다.Specifically, the processor 830 includes a RAM 831, a ROM 832, a main CPU 833, a graphic processing unit 834, first to n interfaces 835-1 to 835-n, and a bus 836. include

여기서, RAM(831), ROM(832), 메인 CPU(833), 그래픽 처리부(834), 제1 내지 n 인터페이스(835-1 ~ 835-n) 등은 버스(836)를 통해 서로 연결될 수 있다.Here, the RAM 831, the ROM 832, the main CPU 833, the graphics processing unit 834, and the first to n interfaces 835-1 to 835-n may be connected to each other through a bus 836. .

제1 내지 n 인터페이스(835-1 내지 835-n)는 상술한 각종 구성요소들과 연결된다. 인터페이스들 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.The first to n interfaces 835-1 to 835-n are connected to the various components described above. One of the interfaces may be a network interface connected to an external device through a network.

ROM(832)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, 메인 CPU(833)는 ROM(832)에 저장된 명령어에 따라 저장부(820)에 저장된 O/S를 RAM(831)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. The ROM 832 stores command sets for system booting and the like. When a turn-on command is input and power is supplied, the main CPU 833 copies the O/S stored in the storage unit 820 to the RAM 831 according to the command stored in the ROM 832 and executes the O/S. boot up the system

부팅이 완료되면, 메인 CPU(833)는 저장된 각종 어플리케이션 프로그램을 RAM(831)에 복사하고, RAM(831)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.When booting is completed, the main CPU 833 copies various application programs stored in the RAM 831 and executes the copied application programs in the RAM 831 to perform various operations.

메인 CPU(833)는 저장부(830)에 액세스하여, 저장부(830)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 메인 CPU(833)는 저장부(830)에 저장된 각종 프로그램, 컨텐트, 데이터 등을 이용하여 다양한 동작을 수행한다.The main CPU 833 accesses the storage unit 830 and performs booting using the O/S stored in the storage unit 830 . Also, the main CPU 833 performs various operations using various programs, contents, data, and the like stored in the storage unit 830 .

그래픽 처리부(834)는 연산부 및 렌더링부를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성한다.The graphic processing unit 834 creates a screen including various objects such as icons, images, and texts by using a calculation unit and a rendering unit.

일 예로, 프로세서(830)는 입력되는 오브젝트에 대한 스택 거리를 추정할 수 있다. 예를 들어, 프로세서(830)는 상술한 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득할 수 있다. 여기서, 프로세서(830)는 현재 액세스 되는 오브젝트가 해시 테이블에 기록된 경우, 해시 테이블에 기초하여 상호 참조 거리를 획득하는 과정 및 고유 참조 카운트를 획득하는 과정을 수행할 수 있다. 프로세서(830)는 상호 참조 거리 및 고유 참조 카운트에 기초하여 추정 스택 거리를 획득할 수 있다.For example, the processor 830 may estimate a stack distance for an input object. For example, the processor 830 may obtain a previous index value of a currently accessed object and a previous unique count value of a currently accessed object based on the above-described hash table. Here, if the currently accessed object is recorded in the hash table, the processor 830 may perform a process of obtaining a cross-reference distance and a process of obtaining a unique reference count based on the hash table. Processor 830 may obtain an estimated stack distance based on the cross-reference distance and the unique reference count.

한편, 상술한 수학식 1에 따르면, 본 발명의 일 실시 예에 따른 스택 거리의 추정 값

Figure 112021042899481-pat00012
Figure 112021042899481-pat00013
가 과도하게 큰 경우나,
Figure 112021042899481-pat00014
가 과도하게 작은 경우 과도하게 큰 값이 출력될 수 있다. 이하에서는, 스택 거리의 추정 값
Figure 112021042899481-pat00015
가 과도하게 큰 값으로 출력되는 경우 이를 부드럽게 하는 방안을 추가적으로 설명한다.Meanwhile, according to Equation 1 described above, the estimated value of the stack distance according to an embodiment of the present invention
Figure 112021042899481-pat00012
Is
Figure 112021042899481-pat00013
is excessively large, or
Figure 112021042899481-pat00014
If is excessively small, an excessively large value may be output. In the following, the estimated value of the stack distance
Figure 112021042899481-pat00015
If is output as an excessively large value, a method for smoothing it will be additionally described.

일 예로, 아주 오래 전에 액세스된 적이 있던 오브젝트가 액세스되는 경우,

Figure 112021042899481-pat00016
가 과도하게 크게 계산될 수 있다. 또는, 현재 액세스되는 오브젝트의 이전 액세스 전에 고유한 오브젝트들이 반복적으로 액세스된 경우,
Figure 112021042899481-pat00017
가 과도하게 작게 계산될 수 있다. 다만, 이러한 상황은 매우 드물 것이다.For example, if an object that has been accessed a long time ago is accessed,
Figure 112021042899481-pat00016
may be calculated excessively large. Or, if unique objects were repeatedly accessed before the previous access of the currently accessed object,
Figure 112021042899481-pat00017
may be calculated excessively small. However, this situation will be very rare.

스택 거리의 추정 값

Figure 112021042899481-pat00018
가 과도하게 큰 값으로 출력되는 경우를 스무스(smooth)하게 만드는 방법의 일 예로, 프로세서(120)는 획득된
Figure 112021042899481-pat00019
가 평균
Figure 112021042899481-pat00020
보다 기정의된 배수 이상(예를 들면, 5배)으로 과도하게 큰 경우,
Figure 112021042899481-pat00021
를 기정의된 비율로 감할 수 있다. 여기서, 기정의된 비율은 1/2일 수 있다.An estimate of the stack distance
Figure 112021042899481-pat00018
As an example of a method for smoothing the case where is output as an excessively large value, the processor 120
Figure 112021042899481-pat00019
is average
Figure 112021042899481-pat00020
overly large by more predefined multiples (e.g., 5 times);
Figure 112021042899481-pat00021
can be subtracted at a predefined rate. Here, the predefined ratio may be 1/2.

다만, 상술한 과도한 크기의

Figure 112021042899481-pat00022
가 기정의된 횟수(예를 들면, 5회)로 연속적으로 출력되는 경우, 프로세서(120)는 과도한 크기의
Figure 112021042899481-pat00023
에 대한 스무딩 없이, 상기
Figure 112021042899481-pat00024
를 그대로 리턴할 수 있다.However, the above-mentioned excessive size
Figure 112021042899481-pat00022
If is continuously output a predefined number of times (eg, 5 times), the processor 120 has an excessive size
Figure 112021042899481-pat00023
without smoothing on
Figure 112021042899481-pat00024
can be returned as is.

도 9는 본 발명의 일 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치의 동작방법에 대한 흐름도이다.9 is a flowchart of an operating method of an electronic device for efficiently estimating a stack distance according to an embodiment of the present invention.

도 9를 참조하면, 본 발명의 일 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치의 동작방법은 액세스되는 오브젝트에 대한 인덱스 값, 액세스되는 오브젝트에 대한 고유 인덱스 값 및 액세스되는 오브젝트를 기록하는 적어도 하나의 해시 테이블을 저장하는 과정(S910), 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득하는 과정(S920), 현재 액세스되는 오브젝트의 현재 인덱스 값 및 현재 액세스되는 오브젝트의 이전 인덱스 값에 기초하여, 현재 액세스되는 오브젝트에 대한 상호 참조 거리를 획득하는 과정(S930), 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값에 기초하여, 고유 참조 카운트를 획득하는 과정(S940) 및 상호 참조 거리 및 고유 참조 카운트에 기초하여 추정 스택 거리를 획득하는 과정(S950)을 포함할 수 있다.Referring to FIG. 9 , an operating method of an electronic device for efficiently estimating a stack distance according to an embodiment of the present invention records an index value for an accessed object, a unique index value for the accessed object, and an accessed object. The process of storing at least one hash table (S910), the process of obtaining the previous index value of the currently accessed object and the previous unique count value of the currently accessed object based on the hash table (S920), of the currently accessed object Obtaining a cross-reference distance for the currently accessed object based on the current index value and the previous index value of the currently accessed object (S930), the current unique count value of the currently accessed object and the previous uniqueness of the currently accessed object A process of obtaining a unique reference count based on the count value (S940) and a process of obtaining an estimated stack distance based on the cross-reference distance and the unique reference count (S950) may be included.

상술한 본 발명의 일 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치의 동작방법은 현재 액세스 되는 오브젝트가 해시 테이블에 기록된 경우, 해시 테이블에 기초하여 상호 참조 거리를 획득하는 과정 및 고유 참조 카운트를 획득하는 과정을 포함할 수 있다.The above-described operating method of an electronic device for efficiently estimating a stack distance according to an embodiment of the present invention includes obtaining a cross-reference distance based on a hash table when a currently accessed object is recorded in a hash table, and a unique reference It may include a process of obtaining a count.

이 경우, 상술한 본 발명의 일 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치의 동작방법은 현재 액세스 되는 오브젝트가 해시 테이블에 기록되지 않은 경우, 고유 카운트 값을 증가시키는 과정을 포함할 수 있다.In this case, the operating method of the electronic device for efficiently estimating the stack distance according to an embodiment of the present invention described above may include a process of increasing a unique count value when a currently accessed object is not recorded in the hash table. there is.

상술한 본 발명의 일 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치의 동작방법은 현재 액세스 되는 오브젝트가 해시 테이블에 기록되지 않은 경우, 추정 스택 거리를 0으로 설정하는 과정을 더 포함할 수 있다.The above-described operating method of an electronic device for efficiently estimating a stack distance according to an embodiment of the present invention may further include setting the estimated stack distance to 0 when a currently accessed object is not recorded in the hash table. there is.

상술한 상호 참조 거리는 현재 액세스되는 오브젝트의 현재 인덱스 값 및 현재 액세스되는 오브젝트의 이전 인덱스 값의 차이 값일 수 있다.The aforementioned cross-reference distance may be a difference between a current index value of a currently accessed object and a previous index value of a currently accessed object.

상술한 고유 참조 카운트는 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값의 차이 값일 수 있다.The aforementioned unique reference count may be a difference value between a current unique count value of a currently accessed object and a previous unique count value of a currently accessed object.

상술한 추정 스택 거리는 다음의 수학식에 기초하여 획득될 수 있다.The above-described estimated stack distance may be obtained based on the following equation.

Figure 112021042899481-pat00025
Figure 112021042899481-pat00025

여기서,

Figure 112021042899481-pat00026
는 상기 추정 스택 거리,
Figure 112021042899481-pat00027
는 상기 상호 참조 거리,
Figure 112021042899481-pat00028
는 상기 고유 참조 카운트다.here,
Figure 112021042899481-pat00026
is the estimated stack distance,
Figure 112021042899481-pat00027
is the cross-reference distance,
Figure 112021042899481-pat00028
is the unique reference count.

상술한 본 발명의 일 실시 예에서, 적어도 하나의 해시 테이블에 포함된 이전 인덱스 값은 현재 인덱스 값으로 업데이트 되고, 적어도 하나의 해시 테이블에 포함된 이전 고유 인덱스 값은 현재 고유 카운트 값으로 업데이트 될 수 있다.In one embodiment of the present invention described above, the previous index value included in at least one hash table is updated to a current index value, and the previous unique index value included in at least one hash table is updated to a current unique count value. there is.

상술한 본 발명의 일 실시 예에서, 액세스되는 오브젝트는 LBA일 수 있다.In one embodiment of the present invention described above, an object to be accessed may be an LBA.

또한, 상술한 본 발명의 일 실시 예에서, 적어도 하나의 해시 테이블에 포함된 적어도 하나의 버킷은 이전 인덱스 값, 이전 고유 인덱스 값 및 현재 액세스되는 오브젝트 값을 기록할 수 있다.In addition, in one embodiment of the present invention described above, at least one bucket included in at least one hash table may record a previous index value, a previous unique index value, and a currently accessed object value.

한편, 상술한 본 발명의 다양한 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치의 동작방법은 컴퓨터로 실행 가능한 프로그램 코드로 구현되어 다양한 비 일시적 판독 가능 매체(non-transitory computer readable medium)에 저장된 상태로 프로세서에 의해 실행되도록 각 서버 또는 기기들에 제공될 수 있다.Meanwhile, the method of operating an electronic device for efficiently estimating the stack distance according to various embodiments of the present disclosure described above is implemented as computer-executable program code and stored in various non-transitory computer readable media. State can be provided to each server or device to be executed by a processor.

일 예로, 액세스되는 오브젝트에 대한 인덱스 값, 액세스되는 오브젝트에 대한 고유 인덱스 값 및 액세스되는 오브젝트를 기록하는 적어도 하나의 해시 테이블을 저장하는 과정, 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득하는 과정, 현재 액세스되는 오브젝트의 현재 인덱스 값 및 현재 액세스되는 오브젝트의 이전 인덱스 값에 기초하여, 현재 액세스되는 오브젝트에 대한 상호 참조 거리를 획득하는 과정, 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값에 기초하여, 고유 참조 카운트를 획득하는 과정 및 상호 참조 거리 및 고유 참조 카운트에 기초하여 추정 스택 거리를 획득하는 과정을 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다.For example, a process of storing at least one hash table in which an index value for an accessed object, a unique index value for the accessed object, and the accessed object are recorded, and a previous index value of the currently accessed object based on the hash table. and obtaining a previous unique count value of the currently accessed object, obtaining a cross-reference distance to the currently accessed object based on the current index value of the currently accessed object and the previous index value of the currently accessed object; Obtaining a unique reference count based on a current unique count value of the currently accessed object and a previous unique count value of the currently accessed object, and obtaining an estimated stack distance based on the cross-reference distance and unique reference count. A non-transitory computer readable medium in which a program to be stored may be provided.

일 예로, 전자장치의 프로세서에 의해 실행되는 경우 상기 전자장치의 동작을 수행하도록 하는 컴퓨터 명령을 저장하는 비일시적 컴퓨터 판독 가능 매체에 있어서, 상기 동작은 액세스되는 오브젝트에 대한 인덱스 값, 액세스되는 오브젝트에 대한 고유 인덱스 값 및 액세스되는 오브젝트를 기록하는 적어도 하나의 해시 테이블을 저장하는 과정, 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득하는 과정, 현재 액세스되는 오브젝트의 현재 인덱스 값 및 현재 액세스되는 오브젝트의 이전 인덱스 값에 기초하여, 현재 액세스되는 오브젝트에 대한 상호 참조 거리를 획득하는 과정, 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값에 기초하여, 고유 참조 카운트를 획득하는 과정 및 상호 참조 거리 및 고유 참조 카운트에 기초하여 추정 스택 거리를 획득하는 과정을 포함할 수 있다.For example, in a non-transitory computer readable medium storing computer instructions that, when executed by a processor of an electronic device, cause an operation of the electronic device to be performed, the operation includes an index value for an object being accessed, and an index value for an object being accessed. Storing at least one hash table that records a unique index value for and accessed objects, obtaining a previous index value of a currently accessed object and a previous unique count value of a currently accessed object based on the hash table; The process of obtaining a cross-reference distance to the currently accessed object based on the current index value of the currently accessed object and the previous index value of the currently accessed object, the current unique count value of the currently accessed object and the currently accessed object It may include obtaining a unique reference count based on a previous unique count value and obtaining an estimated stack distance based on the cross-reference distance and unique reference count.

비 일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.A non-transitory readable medium refers to a medium that stores data semi-permanently and can be read by a device, rather than a medium that stores data for a short moment, such as a register, cache, or memory. Specifically, the various applications or programs described above may be stored and provided in non-transitory readable media such as CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.

이상으로, 본 발명의 실시 예들이 도시되고 설명되었지만, 당업자는 첨부된 청구항들 및 그에 동등한 것들에 의해 정의되는 바와 같은 본 실시 예의 사상 및 범위를 벗어나지 않고 형태 및 세부 사항들에 있어 다양한 변경이 이루어질 수 있음을 이해할 것이다.While embodiments of the present invention have been shown and described above, those skilled in the art may make various changes in form and detail without departing from the spirit and scope of the present embodiments as defined by the appended claims and equivalents thereto. you will understand that you can

전자장치: 100, 800
저장부: 110, 820
프로세서: 120, 830
통신부: 810
Electronics: 100, 800
Reservoir: 110, 820
Processor: 120, 830
Department of Communications: 810

Claims (21)

스택 거리를 효율적으로 추정하는 전자장치에 있어서,
액세스되는 오브젝트에 대한 인덱스 값, 상기 액세스되는 오브젝트에 대한 고유 인덱스 값 및 상기 액세스되는 오브젝트를 기록하는 적어도 하나의 해시 테이블을 저장하는 저장부; 및
상기 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 상기 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득하고,
상기 현재 액세스되는 오브젝트의 현재 인덱스 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 인덱스 값에 기초하여, 상기 현재 액세스되는 오브젝트에 대한 상호 참조 거리(
Figure 112021042899481-pat00029
: Inter-reference distance)를 획득하고,
상기 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 고유 카운트 값에 기초하여, 고유 참조 카운트(
Figure 112021042899481-pat00030
: unique reference count)를 획득하고,
상기 상호 참조 거리 및 상기 고유 참조 카운트에 기초하여 추정 스택 거리를 획득하는 프로세서;를 포함하는, 스택 거리를 효율적으로 추정하는 전자장치.
In an electronic device for efficiently estimating a stack distance,
a storage unit for storing at least one hash table recording an index value of an accessed object, a unique index value of the accessed object, and the accessed object; and
Based on the hash table, obtain a previous index value of the currently accessed object and a previous unique count value of the currently accessed object;
Based on the current index value of the currently accessed object and the previous index value of the currently accessed object, a cross-reference distance to the currently accessed object (
Figure 112021042899481-pat00029
: Obtain Inter-reference distance),
Based on the current unique count value of the currently accessed object and the previous unique count value of the currently accessed object, a unique reference count (
Figure 112021042899481-pat00030
: acquire a unique reference count),
An electronic device for efficiently estimating a stack distance, comprising: a processor obtaining an estimated stack distance based on the cross-reference distance and the unique reference count.
제1항에 있어서,
상기 프로세서는,
상기 현재 액세스 되는 오브젝트가 상기 해시 테이블에 기록된 경우, 상기 해시 테이블에 기초하여 상기 상호 참조 거리를 획득하는 과정 및 상기 고유 참조 카운트를 획득하는 과정을 수행하는, 스택 거리를 효율적으로 추정하는 전자장치.
According to claim 1,
the processor,
When the currently accessed object is recorded in the hash table, an electronic device for efficiently estimating a stack distance, performing a process of obtaining the cross-reference distance and a process of obtaining the unique reference count based on the hash table .
제1항 또는 제2항에 있어서,
상기 프로세서는,
상기 현재 액세스 되는 오브젝트가 상기 해시 테이블에 기록되지 않은 경우, 상기 고유 카운트 값을 증가시키는, 스택 거리를 효율적으로 추정하는 전자장치.
According to claim 1 or 2,
the processor,
An electronic device for efficiently estimating a stack distance by increasing the unique count value when the currently accessed object is not recorded in the hash table.
제3항에 있어서,
상기 프로세서는,
상기 현재 액세스 되는 오브젝트가 상기 해시 테이블에 기록되지 않은 경우, 상기 추정 스택 거리를 0으로 설정하는, 스택 거리를 효율적으로 추정하는 전자장치.
According to claim 3,
the processor,
The electronic device for efficiently estimating a stack distance, wherein the estimated stack distance is set to 0 when the currently accessed object is not recorded in the hash table.
제1항에 있어서,
상기 상호 참조 거리는,
상기 현재 액세스되는 오브젝트의 상기 현재 인덱스 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 인덱스 값의 차이 값인, 스택 거리를 효율적으로 추정하는 전자장치.
According to claim 1,
The cross-reference distance,
The electronic device for efficiently estimating a stack distance, which is a difference between the current index value of the currently accessed object and the previous index value of the currently accessed object.
제1항에 있어서,
상기 고유 참조 카운트는,
상기 현재 액세스되는 오브젝트의 상기 현재 고유 카운트 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 고유 카운트 값의 차이 값인, 스택 거리를 효율적으로 추정하는 전자장치.
According to claim 1,
The unique reference count is
The electronic device for efficiently estimating a stack distance, which is a difference between the current unique count value of the currently accessed object and the previous unique count value of the currently accessed object.
제1항에 있어서,
상기 추정 스택 거리는 다음의 수학식에 기초하여 획득되는, 스택 거리를 효율적으로 추정하는 전자장치.
Figure 112021042899481-pat00031

여기서,
Figure 112021042899481-pat00032
는 상기 추정 스택 거리,
Figure 112021042899481-pat00033
는 상기 상호 참조 거리,
Figure 112021042899481-pat00034
는 상기 고유 참조 카운트임.
According to claim 1,
The electronic device for efficiently estimating the stack distance, wherein the estimated stack distance is obtained based on the following equation.
Figure 112021042899481-pat00031

here,
Figure 112021042899481-pat00032
is the estimated stack distance,
Figure 112021042899481-pat00033
is the cross-reference distance,
Figure 112021042899481-pat00034
is the unique reference count.
제1항에 있어서,
상기 적어도 하나의 해시 테이블에 포함된 이전 인덱스 값은 상기 현재 인덱스 값으로 업데이트 되고,
상기 적어도 하나의 해시 테이블에 포함된 이전 고유 인덱스 값은 상기 현재 고유 카운트 값으로 업데이트 되는, 스택 거리를 효율적으로 추정하는 전자장치.
According to claim 1,
The previous index value included in the at least one hash table is updated to the current index value,
The electronic device for efficiently estimating a stack distance, wherein a previous unique index value included in the at least one hash table is updated with the current unique count value.
제1항에 있어서,
상기 액세스되는 오브젝트는 LBA(Logical Block Address)인, 스택 거리를 효율적으로 추정하는 전자장치.
According to claim 1,
The electronic device for efficiently estimating a stack distance, wherein the accessed object is a Logical Block Address (LBA).
제1항에 있어서,
상기 적어도 하나의 해시 테이블에 포함된 적어도 하나의 버킷(bucket)은,
이전 인덱스 값, 이전 고유 인덱스 값 및 현재 액세스되는 오브젝트 값을 기록하는, 스택 거리를 효율적으로 추정하는 전자장치.
According to claim 1,
At least one bucket included in the at least one hash table,
Electronic device for efficiently estimating the stack distance, recording the previous index value, the previous unique index value and the currently accessed object value.
스택 거리를 효율적으로 추정하는 전자장치의 동작방법에 있어서,
액세스되는 오브젝트에 대한 인덱스 값, 상기 액세스되는 오브젝트에 대한 고유 인덱스 값 및 상기 액세스되는 오브젝트를 기록하는 적어도 하나의 해시 테이블을 저장하는 과정;
상기 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 상기 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득하는 과정;
상기 현재 액세스되는 오브젝트의 현재 인덱스 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 인덱스 값에 기초하여, 상기 현재 액세스되는 오브젝트에 대한 상호 참조 거리(
Figure 112021042899481-pat00035
: Inter-reference distance)를 획득하는 과정;
상기 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 고유 카운트 값에 기초하여, 고유 참조 카운트(
Figure 112021042899481-pat00036
: unique reference count)를 획득하는 과정; 및
상기 상호 참조 거리 및 상기 고유 참조 카운트에 기초하여 추정 스택 거리를 획득하는 과정;을 포함하는, 스택 거리를 효율적으로 추정하는 전자장치의 동작방법.
In the operating method of an electronic device for efficiently estimating a stack distance,
storing an index value for an accessed object, a unique index value for the accessed object, and at least one hash table recording the accessed object;
obtaining a previous index value of the currently accessed object and a previous unique count value of the currently accessed object, based on the hash table;
Based on the current index value of the currently accessed object and the previous index value of the currently accessed object, a cross-reference distance to the currently accessed object (
Figure 112021042899481-pat00035
: Obtaining Inter-reference distance);
Based on the current unique count value of the currently accessed object and the previous unique count value of the currently accessed object, a unique reference count (
Figure 112021042899481-pat00036
: process of acquiring a unique reference count); and
A method of operating an electronic device for efficiently estimating a stack distance, including obtaining an estimated stack distance based on the cross-reference distance and the unique reference count.
제11항에 있어서,
상기 현재 액세스 되는 오브젝트가 상기 해시 테이블에 기록된 경우, 상기 해시 테이블에 기초하여 상기 상호 참조 거리를 획득하는 과정 및 상기 고유 참조 카운트를 획득하는 과정;을 포함하는, 스택 거리를 효율적으로 추정하는 전자장치의 동작방법.
According to claim 11,
When the currently accessed object is recorded in the hash table, obtaining the cross-reference distance based on the hash table and obtaining the unique reference count; How the device works.
제11항 또는 제12항에 있어서,
상기 현재 액세스 되는 오브젝트가 상기 해시 테이블에 기록되지 않은 경우, 상기 고유 카운트 값을 증가시키는 과정;을 포함하는, 스택 거리를 효율적으로 추정하는 전자장치의 동작방법.
According to claim 11 or 12,
and increasing the unique count value when the currently accessed object is not recorded in the hash table.
제13항에 있어서,
상기 현재 액세스 되는 오브젝트가 상기 해시 테이블에 기록되지 않은 경우, 상기 추정 스택 거리를 0으로 설정하는 과정;을 더 포함하는, 스택 거리를 효율적으로 추정하는 전자장치의 동작방법.
According to claim 13,
The method of operating an electronic device for efficiently estimating a stack distance, further comprising setting the estimated stack distance to 0 when the currently accessed object is not recorded in the hash table.
제11항에 있어서,
상기 상호 참조 거리는,
상기 현재 액세스되는 오브젝트의 상기 현재 인덱스 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 인덱스 값의 차이 값인, 스택 거리를 효율적으로 추정하는 전자장치의 동작방법.
According to claim 11,
The cross-reference distance,
An operating method of an electronic device for efficiently estimating a stack distance, which is a difference between the current index value of the currently accessed object and the previous index value of the currently accessed object.
제11항에 있어서,
상기 고유 참조 카운트는,
상기 현재 액세스되는 오브젝트의 상기 현재 고유 카운트 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 고유 카운트 값의 차이 값인, 스택 거리를 효율적으로 추정하는 전자장치의 동작방법.
According to claim 11,
The unique reference count is
A method of operating an electronic device for efficiently estimating a stack distance, which is a difference between the current unique count value of the currently accessed object and the previous unique count value of the currently accessed object.
제11항에 있어서,
상기 추정 스택 거리는 다음의 수학식에 기초하여 획득되는, 스택 거리를 효율적으로 추정하는 전자장치의 동작방법.
Figure 112021042899481-pat00037

여기서,
Figure 112021042899481-pat00038
는 상기 추정 스택 거리,
Figure 112021042899481-pat00039
는 상기 상호 참조 거리,
Figure 112021042899481-pat00040
는 상기 고유 참조 카운트임.
According to claim 11,
The method of operating an electronic device for efficiently estimating the stack distance, wherein the estimated stack distance is obtained based on the following equation.
Figure 112021042899481-pat00037

here,
Figure 112021042899481-pat00038
is the estimated stack distance,
Figure 112021042899481-pat00039
is the cross-reference distance,
Figure 112021042899481-pat00040
is the unique reference count.
제11항에 있어서,
상기 적어도 하나의 해시 테이블에 포함된 이전 인덱스 값은 상기 현재 인덱스 값으로 업데이트 되고,
상기 적어도 하나의 해시 테이블에 포함된 이전 고유 인덱스 값은 상기 현재 고유 카운트 값으로 업데이트 되는, 스택 거리를 효율적으로 추정하는 전자장치의 동작방법.
According to claim 11,
The previous index value included in the at least one hash table is updated to the current index value,
A method of operating an electronic device for efficiently estimating a stack distance, wherein a previous unique index value included in the at least one hash table is updated with the current unique count value.
제11항에 있어서,
상기 액세스되는 오브젝트는 LBA(Logical Block Address)인, 스택 거리를 효율적으로 추정하는 전자장치의 동작방법.
According to claim 11,
The method of operating an electronic device for efficiently estimating a stack distance, wherein the accessed object is a logical block address (LBA).
제11항에 있어서,
상기 적어도 하나의 해시 테이블에 포함된 적어도 하나의 버킷(bucket)은,
이전 인덱스 값, 이전 고유 인덱스 값 및 현재 액세스되는 오브젝트 값을 기록하는, 스택 거리를 효율적으로 추정하는 전자장치의 동작방법.
According to claim 11,
At least one bucket included in the at least one hash table,
A method of operating an electronic device for efficiently estimating a stack distance by recording a previous index value, a previous unique index value, and a currently accessed object value.
전자장치의 프로세서에 의해 실행되는 경우 상기 전자장치의 동작을 수행하도록 하는 컴퓨터 명령을 저장하는 비일시적 컴퓨터 판독 가능 매체에 있어서, 상기 동작은,
액세스되는 오브젝트에 대한 인덱스 값, 상기 액세스되는 오브젝트에 대한 고유 인덱스 값 및 상기 액세스되는 오브젝트를 기록하는 적어도 하나의 해시 테이블을 저장하는 과정;
상기 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 상기 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득하는 과정;
상기 현재 액세스되는 오브젝트의 현재 인덱스 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 인덱스 값에 기초하여, 상기 현재 액세스되는 오브젝트에 대한 상호 참조 거리(
Figure 112021042899481-pat00041
: Inter-reference distance)를 획득하는 과정;
상기 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 고유 카운트 값에 기초하여, 고유 참조 카운트(
Figure 112021042899481-pat00042
: unique reference count)를 획득하는 과정; 및
상기 상호 참조 거리 및 상기 고유 참조 카운트에 기초하여 추정 스택 거리를 획득하는 과정;을 포함하는, 비일시적 컴퓨터 판독 가능 매체.
A non-transitory computer-readable medium storing computer instructions that, when executed by a processor of an electronic device, cause an operation of the electronic device to be performed, the operation comprising:
storing an index value for an accessed object, a unique index value for the accessed object, and at least one hash table recording the accessed object;
obtaining a previous index value of the currently accessed object and a previous unique count value of the currently accessed object, based on the hash table;
Based on the current index value of the currently accessed object and the previous index value of the currently accessed object, a cross-reference distance to the currently accessed object (
Figure 112021042899481-pat00041
: Obtaining Inter-reference distance);
Based on the current unique count value of the currently accessed object and the previous unique count value of the currently accessed object, a unique reference count (
Figure 112021042899481-pat00042
: process of acquiring a unique reference count); and
and obtaining an estimated stack distance based on the cross-reference distance and the unique reference count.
KR1020210047747A 2021-04-13 2021-04-13 Electronic device for efficiently estimating stack distance and operation method of the same KR102491352B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210047747A KR102491352B1 (en) 2021-04-13 2021-04-13 Electronic device for efficiently estimating stack distance and operation method of the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210047747A KR102491352B1 (en) 2021-04-13 2021-04-13 Electronic device for efficiently estimating stack distance and operation method of the same

Publications (2)

Publication Number Publication Date
KR20220141529A KR20220141529A (en) 2022-10-20
KR102491352B1 true KR102491352B1 (en) 2023-01-20

Family

ID=83805044

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210047747A KR102491352B1 (en) 2021-04-13 2021-04-13 Electronic device for efficiently estimating stack distance and operation method of the same

Country Status (1)

Country Link
KR (1) KR102491352B1 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282613B1 (en) * 1999-04-30 2001-08-28 International Business Machines Corporation Very efficient technique for dynamically tracking locality of a reference

Also Published As

Publication number Publication date
KR20220141529A (en) 2022-10-20

Similar Documents

Publication Publication Date Title
US8521986B2 (en) Allocating storage memory based on future file size or use estimates
US9519401B2 (en) Providing context menu based on predicted commands
US20190243773A1 (en) Method and system for user-space storage i/o stack with user-space flash translation layer
US9189152B2 (en) Touch device and method for dynamically setting touch inactive area, and non-transitory recording medium
US11138034B2 (en) Method and apparatus for collecting information, and method and apparatus for releasing memory
US20180300250A1 (en) Method and apparatus for storing data
JP2018537800A (en) Memory access command transfer descriptor
US20210192046A1 (en) Resource Management Unit for Capturing Operating System Configuration States and Managing Malware
US11782761B2 (en) Resource management unit for capturing operating system configuration states and offloading tasks
JP2016524228A (en) Storage system and alias memory
CN109416621B (en) Utilizing computer storage systems supporting shared objects to restore free space in non-volatile storage
WO2018032743A1 (en) Method for evaluating file fragments, and terminal
KR102491352B1 (en) Electronic device for efficiently estimating stack distance and operation method of the same
CN115934002B (en) Solid state disk access method, solid state disk, storage system and cloud server
US20140258347A1 (en) Grouping files for optimized file operations
US9519497B1 (en) Managing visual updates
CN110058938B (en) Memory processing method and device, electronic equipment and readable medium
US9804968B2 (en) Storage system and data writing method
US11630698B2 (en) Resource management unit for capturing operating system configuration states and swapping memory content
US11593014B2 (en) System and method for approximating replication completion time
US9594657B2 (en) Method of analysing memory usage and user terminal performing the same
US8838546B1 (en) Correcting accidental shortcut usage
CN111913650B (en) Method and device for determining prediction window period
JP7099690B2 (en) Storage system, storage control device, storage control method, and storage control program
JP2020098547A (en) Information processing apparatus, information processing program, and information processing system

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant