KR102587962B1 - Search circuit, hammer address management circuit and memory system including the same - Google Patents
Search circuit, hammer address management circuit and memory system including the same Download PDFInfo
- Publication number
- KR102587962B1 KR102587962B1 KR1020190075535A KR20190075535A KR102587962B1 KR 102587962 B1 KR102587962 B1 KR 102587962B1 KR 1020190075535 A KR1020190075535 A KR 1020190075535A KR 20190075535 A KR20190075535 A KR 20190075535A KR 102587962 B1 KR102587962 B1 KR 102587962B1
- Authority
- KR
- South Korea
- Prior art keywords
- bits
- bit
- data
- search
- address
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
- G11C15/043—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements using capacitive charge storage elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
- G11C15/046—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements using non-volatile storage elements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
탐색 회로는, 내용 주소화 메모리(CAM, content addressable memory) 및 캠 콘트롤러를 포함한다. 상기 내용 주소화 메모리는 최상위 비트에 해당하는 제K 비트 내지 최하위 비트에 해당하는 제1 비트에 해당하는 K개의 비트들을 각각 포함하는 복수의 엔트리 데이터들을 저장하는 복수의 캠 셀들을 포함하고, 상기 복수의 엔트리 데이터들이 탐색 데이터와 일치하는지 여부를 나타내는 복수의 매칭 신호들을 제공한다. 상기 캠 콘트롤러는 상기 복수의 매칭 신호들에 기초하여 상기 복수의 엔트리 데이터들 중 타겟 엔트리 데이터를 탐색하기 위하여, 상기 제1 내지 제K 비트들 중 일부에 해당하는 비교 대상 비트들을 상기 탐색 데이터로서 상기 내용 주소화 메모리에 인가하여 상기 비교 대상 비트들에 상응하는 상기 복수의 엔트리 데이터들의 비트들이 상기 비교 대상 비트들과 일치하는지 여부를 판별하는 부분 탐색 동작을 수행한다.The search circuit includes a content addressable memory (CAM) and a cam controller. The content addressable memory includes a plurality of CAM cells storing a plurality of entry data each including K bits corresponding to the Kth bit corresponding to the most significant bit to the first bit corresponding to the least significant bit, and the plurality of CAM cells Provides a plurality of matching signals indicating whether the entry data matches the search data. In order to search for target entry data among the plurality of entry data based on the plurality of matching signals, the cam controller uses comparison target bits corresponding to some of the first to Kth bits as the search data. The content is applied to the addressable memory to perform a partial search operation to determine whether bits of the plurality of entry data corresponding to the bits to be compared match the bits to be compared.
Description
본 발명은 반도체 집적 회로에 관한 것으로서, 더욱 상세하게는 탐색 회로, 이를 포함하는 해머 어드레스 관리 회로 및 메모리 시스템에 관한 것이다.The present invention relates to a semiconductor integrated circuit, and more particularly, to a search circuit, a hammer address management circuit including the same, and a memory system.
내용 주소화 메모리(CAM, content addressable memory)는 그 속에 저장된 엔트리 데이터들에 대한 메모리의 고속 병렬 검색을 가능하게 하는 메모리 타입이다. 내용 주소화 메모리는 전속적인 비교 회로를 사용하여 하나의 클록 사이클에서 룩업-테이블 기능을 구현할 수 있는 메모리이다. 특히 내용 주소화 메모리는 패킷 포워딩(packet forwarding)을 위한 네트워크 라우터(network router)와 같이 고속의 병렬 검색이 요구되는 분야에서 다양하게 이용되고 있다. 그러나 통상적인 내용 주소화 메모리는 저장된 복수의 엔트리 데이터들과 외부에서 입력되는 탐색 데이터와 매칭 여부를 판별하기 위해 이용되고 있으며, 내용 주소화 메모리에 내재된 비교 기능을 활용할 수 있는 분야가 한정되고 있다.Content addressable memory (CAM) is a type of memory that enables high-speed parallel search of memory for entry data stored in it. Content-addressable memory is memory that can implement lookup-table functions in one clock cycle using a dedicated comparison circuit. In particular, content addressable memory is used in a variety of fields that require high-speed parallel search, such as network routers for packet forwarding. However, a typical content-addressable memory is used to determine whether a plurality of stored entry data matches externally input search data, and the fields in which the comparison function inherent in the content-addressable memory can be utilized are limited. .
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은, 내용 주소화 메모리를 이용하여 특정 조건을 만족하는 데이터를 효율적으로 탐색할 수 있는 탐색 회로를 제공하는 것이다.One purpose of the present invention to solve the above problems is to provide a search circuit that can efficiently search for data that satisfies specific conditions using a content addressable memory.
또한 본 발명의 일 목적은 상기 탐색 회로를 포함하는 해머 어드레스 관리 회로 및 메모리 시스템을 제공하는 것이다.Another object of the present invention is to provide a hammer address management circuit and memory system including the search circuit.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 탐색 회로는, 내용 주소화 메모리(CAM, content addressable memory) 및 캠 콘트롤러를 포함한다. 상기 내용 주소화 메모리는 최상위 비트에 해당하는 제K 비트 내지 최하위 비트에 해당하는 제1 비트에 해당하는 K개의 비트들을 각각 포함하는 복수의 엔트리 데이터들을 저장하는 복수의 캠 셀들을 포함하고, 상기 복수의 엔트리 데이터들이 탐색 데이터와 일치하는지 여부를 나타내는 복수의 매칭 신호들을 제공한다. 상기 캠 콘트롤러는 상기 복수의 매칭 신호들에 기초하여 상기 복수의 엔트리 데이터들 중 타겟 엔트리 데이터를 탐색하기 위하여, 상기 제1 내지 제K 비트들 중 일부에 해당하는 비교 대상 비트들을 상기 탐색 데이터로서 상기 내용 주소화 메모리에 인가하여 상기 비교 대상 비트들에 상응하는 상기 복수의 엔트리 데이터들의 비트들이 상기 비교 대상 비트들과 일치하는지 여부를 판별하는 부분 탐색 동작을 수행한다.To achieve the above object, the search circuit according to embodiments of the present invention includes a content addressable memory (CAM) and a CAM controller. The content addressable memory includes a plurality of CAM cells storing a plurality of entry data each including K bits corresponding to the Kth bit corresponding to the most significant bit to the first bit corresponding to the least significant bit, and the plurality of CAM cells Provides a plurality of matching signals indicating whether the entry data matches the search data. In order to search for target entry data among the plurality of entry data based on the plurality of matching signals, the cam controller uses comparison target bits corresponding to some of the first to Kth bits as the search data. The content is applied to the addressable memory to perform a partial search operation to determine whether bits of the plurality of entry data corresponding to the bits to be compared match the bits to be compared.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 메모리 시스템은, 복수의 메모리 셀들을 포함하는 메모리 셀 어레이, 집중적으로 액세스되는 해머 어드레스를 결정하여 제공하는 해머 어드레스 관리 회로, 및 상기 해머 어드레스에 상응하는 행과 물리적으로 인접하는 행에 대한 해머 리프레쉬 동작을 수행하는 리프레쉬 콘트롤러를 포함한다. 상기 해머 어드레스 관리 회로는, 액세스 어드레스 신호에 기초하여 복수의 행 어드레스들을 저장하는 어드레스 저장부, 최상위 비트에 해당하는 제K 비트 내지 최하위 비트에 해당하는 제1 비트에 해당하는 K개의 비트들을 각각 포함하고 상기 복수의 행 어드레스들의 액세스 횟수들을 각각 나타내는 액세스 카운트 데이터들을 저장하는 복수의 캠 셀들을 포함하고, 상기 복수의 액세스 카운트 데이터들이 탐색 데이터와 일치하는지 여부를 나타내는 복수의 매칭 신호들을 제공하는 내용 주소화 메모리, 상기 복수의 매칭 신호들에 기초하여 상기 복수의 액세스 카운트 데이터들 중 타겟 카운트 데이터를 탐색하기 위하여, 상기 제1 내지 제K 비트들 중 일부에 해당하는 비교 대상 비트들을 상기 탐색 데이터로서 상기 내용 주소화 메모리에 인가하여 상기 비교 대상 비트들에 상응하는 상기 복수의 액세스 카운트 데이터들의 비트들이 상기 비교 대상 비트들과 일치하는지 여부를 판별하는 부분 탐색 동작을 수행하는 캠 콘트롤러, 및 상기 타겟 카운트 데이터의 탐색 결과에 기초하여 상기 어드레스 저장부에 저장된 상기 복수의 행 어드레스들 중에서 상기 해머 어드레스를 제공하는 어드레스 콘트롤러를 포함한다.To achieve the above object, a memory system according to embodiments of the present invention includes a memory cell array including a plurality of memory cells, a hammer address management circuit that determines and provides an intensively accessed hammer address, and the hammer It includes a refresh controller that performs a hammer refresh operation on the row corresponding to the address and the row physically adjacent to it. The hammer address management circuit includes an address storage unit that stores a plurality of row addresses based on an access address signal, K bits corresponding to the K bit corresponding to the most significant bit to the first bit corresponding to the least significant bit, respectively. and a plurality of CAM cells storing access count data respectively indicating access numbers of the plurality of row addresses, and providing a plurality of matching signals indicating whether the plurality of access count data matches search data. memory, in order to search for target count data among the plurality of access count data based on the plurality of matching signals, bits to be compared corresponding to some of the first to Kth bits are used as the search data. A cam controller that performs a partial search operation to apply content to an addressable memory to determine whether bits of the plurality of access count data corresponding to the bits to be compared match the bits to be compared, and the target count data. and an address controller that provides the hammer address from among the plurality of row addresses stored in the address storage unit based on the search result.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 해머 어드레스 관리 회로는, 어드레스 저장부, 내용 주소화 회로, 캠 콘트롤러 및 어드레스 콘트롤러를 포함한다. 상기 어드레스 저장부는 메모리 장치로 제공되는 어드레스 신호에 기초하여 복수의 행 어드레스들을 저장한다. 상기 내용 주소화 메모리는 최상위 비트에 해당하는 제K 비트 내지 최하위 비트에 해당하는 제1 비트에 해당하는 K개의 비트들을 각각 포함하고 상기 복수의 행 어드레스들의 액세스 횟수들을 각각 나타내는 액세스 카운트 데이터들을 저장하는 복수의 캠(CAM, content addressable memory) 셀들을 포함하고, 상기 복수의 액세스 카운트 데이터들이 탐색 데이터와 일치하는지 여부를 나타내는 복수의 매칭 신호들을 제공한다. 상기 캠 콘트롤러는 상기 복수의 매칭 신호들에 기초하여 상기 복수의 액세스 카운트 데이터들 중 타겟 카운트 데이터를 탐색하기 위하여, 상기 제1 내지 제K 비트들 중 일부에 해당하는 비교 대상 비트들을 상기 탐색 데이터로서 상기 내용 주소화 메모리에 인가하여 상기 비교 대상 비트들에 상응하는 상기 복수의 액세스 카운트 데이터들의 비트들이 상기 비교 대상 비트들과 일치하는지 여부를 판별하는 부분 탐색 동작을 수행한다. 상기 어드레스 콘트롤러는 상기 타겟 카운트 데이터의 탐색 결과에 기초하여 상기 어드레스 저장부에 저장된 상기 복수의 행 어드레스들 중에서 집중적으로 액세스되는 해머 어드레스를 제공하는 어드레스 콘트롤러를 포함하는 메모리 시스템의 해머 어드레스 관리 회로.To achieve the above object, the hammer address management circuit according to embodiments of the present invention includes an address storage unit, a content addressing circuit, a cam controller, and an address controller. The address storage unit stores a plurality of row addresses based on an address signal provided to a memory device. The content addressable memory includes K bits corresponding to the K bit corresponding to the most significant bit to the first bit corresponding to the least significant bit, and stores access count data respectively indicating the number of accesses of the plurality of row addresses. It includes a plurality of CAM (content addressable memory) cells and provides a plurality of matching signals indicating whether the plurality of access count data matches search data. In order to search for target count data among the plurality of access count data based on the plurality of matching signals, the cam controller uses comparison target bits corresponding to some of the first to Kth bits as the search data. It is applied to the content addressable memory to perform a partial search operation to determine whether bits of the plurality of access count data corresponding to the bits to be compared match the bits to be compared. The address controller includes an address controller that provides a hammer address that is accessed intensively among the plurality of row addresses stored in the address storage unit based on a search result of the target count data.
본 발명의 실시예들에 따른 탐색 회로는 내용 주소화 메모리에 대한 부분 탐색 동작을 이용하여 다양한 조건을 만족하는 데이터를 탐색함으로써 상기 다양한 조건의 판별을 위한 비교기들과 같은 부가적인 회로들을 대체할 수 있고 다양한 집적 회로들의 사이즈를 감소할 수 있다.The search circuit according to embodiments of the present invention can replace additional circuits such as comparators for determining the various conditions by searching for data that satisfies various conditions using a partial search operation for the content addressable memory. and can reduce the size of various integrated circuits.
또한, 본 발명의 실시예들에 따른 해머 어드레스 관리 회로 및 메모리 시스템은 상기 탐색 회로를 이용하여 해머 리프레쉬 동작을 위한 회로의 사이즈를 감소할 수 있다.Additionally, the hammer address management circuit and memory system according to embodiments of the present invention can reduce the size of the circuit for the hammer refresh operation by using the search circuit.
도 1은 본 발명의 실시예들에 따른 탐색 회로를 나타내는 블록도이다.
도 2는 도 1의 탐색 회로에 포함되는 내용 주소화 메모리의 개략적인 구조를 나타내는 도면이다.
도 3a, 3b, 4a 및 4b는 본 발명의 실시예들에 따른 탐색 회로의 부분 탐색 동작의 예들을 나타내는 도면들이다.
도 5는 내용 주소화 메모리에 포함되는 캠 셀의 일 실시예를 나타내는 회로도이다.
도 6a, 6b, 7a, 7b, 8a 및 8b는 내용 주소화 메모리에 인가되는 탐색 데이터의 비트 값들을 설명하기 위한 도면들이다.
도 9는 본 발명의 실시예들에 따른 탐색 회로의 최대 엔트리 탐색 동작의 일 실시예를 나타내는 순서도이다.
도 10a 내지 11b는 도 9의 최대 엔트리 탐색 동작의 예들을 나타내는 도면들이다.
도 12는 본 발명의 실시예들에 따른 탐색 회로의 최소 엔트리 탐색 동작의 일 실시예를 나타내는 순서도이다.
도 13a 내지 14b는 도 12의 최소 엔트리 탐색 동작의 예들을 나타내는 도면들이다.
도 15 및 16은 본 발명의 실시예들에 따른 메모리 시스템을 나타내는 도면들이다.
도 17은 본 발명의 실시예들에 따른 해머 어드레스 관리 회로를 나타내는 블록도이다.
도 18은 본 발명의 실시예들에 따른 메모리 장치에 포함되는 리프레쉬 콘트롤러의 일 실시예를 나타내는 블록도이다.
도 19는 워드라인 사이의 커플링에 의한 데이터 손상을 설명하기 위해 메모리 셀 어레이의 일부를 나타내는 도면이다.
도 20a, 20b 및 20c는 본 발명의 실시예들에 따른 메모리 장치에 포함되는 리프레쉬 콘트롤러의 동작 예들을 나타내는 타이밍도들이다.
도 21은 본 발명의 실시예들에 따른 메모리 장치를 포함하는 모바일 시스템을 나타내는 블록도이다.1 is a block diagram showing a search circuit according to embodiments of the present invention.
FIG. 2 is a diagram showing a schematic structure of a content addressable memory included in the search circuit of FIG. 1.
3A, 3B, 4A, and 4B are diagrams showing examples of partial search operations of a search circuit according to embodiments of the present invention.
Figure 5 is a circuit diagram showing an embodiment of a CAM cell included in a content addressable memory.
Figures 6a, 6b, 7a, 7b, 8a, and 8b are diagrams for explaining bit values of search data applied to the content addressable memory.
Figure 9 is a flowchart illustrating an example of a maximum entry search operation of a search circuit according to embodiments of the present invention.
Figures 10a and 11b are diagrams showing examples of the maximum entry search operation of Figure 9.
Figure 12 is a flowchart showing an example of a minimum entry search operation of a search circuit according to embodiments of the present invention.
Figures 13a and 14b are diagrams showing examples of the minimum entry search operation of Figure 12.
15 and 16 are diagrams showing memory systems according to embodiments of the present invention.
Figure 17 is a block diagram showing a hammer address management circuit according to embodiments of the present invention.
FIG. 18 is a block diagram illustrating an example of a refresh controller included in a memory device according to embodiments of the present invention.
FIG. 19 is a diagram showing a portion of a memory cell array to explain data damage caused by coupling between word lines.
20A, 20B, and 20C are timing diagrams showing examples of operations of a refresh controller included in a memory device according to embodiments of the present invention.
Figure 21 is a block diagram showing a mobile system including a memory device according to embodiments of the present invention.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the attached drawings. The same reference numerals are used for the same components in the drawings, and duplicate descriptions for the same components are omitted.
도 1은 본 발명의 실시예들에 따른 탐색 회로를 나타내는 블록도이다. 1 is a block diagram showing a search circuit according to embodiments of the present invention.
도 1을 참조하면, 탐색 회로(1000)는 내용 주소화 메모리(CAM, content addressable memory)(1010) 및 캠 콘트롤러(1020)을 포함한다.Referring to FIG. 1, the
내용 주소화 메모리(1010)는 복수의 엔트리 데이터들(ENT1~ENTN)을 저장할 수 있다. 도 2를 참조하여 후술하는 바와 같이 내용 주소화 메모리(1010) 최상위 비트에 해당하는 제K 비트 내지 최하위 비트에 해당하는 제1 비트에 해당하는 K개의 비트들을 각각 포함하는 복수의 엔트리 데이터들을 저장하는 복수의 캠 셀들을 포함할 수 있다.The content
내용 주소화 메모리(1010)는 캠 콘트롤러(1020)로 부터 탐색 데이터(SDT)를 수신하고 복수의 엔트리 데이터들(ENT1~ENTN)이 탐색 데이터(SDT)와 일치하는지 여부를 나타내는 복수의 매칭 신호들(MAT1~MATN)을 제공할 수 있다.The content
캠 콘트롤러(1020)는 복수의 매칭 신호들(MAT1~MATN)에 기초하여 복수의 엔트리 데이터들(ENT1~ENTN) 중 타겟 엔트리 데이터를 탐색할 수 있다. 캠 콘트롤러(1020)는 상기 타겟 엔트리 데이터의 탐색을 위해 부분 탐색 동작을 수행할 수 있다. 상기 부분 탐색 동작은 제1 내지 제K 비트들(B1~BK) 중 일부에 해당하는 비교 대상 비트들을 탐색 데이터(SDT)로서 내용 주소화 메모리(1010)에 인가하여 상기 비교 대상 비트들에 상응하는 복수의 엔트리 데이터들(ENT1~ENTN)의 비트들이 상기 비교 대상 비트들과 일치하는지 여부를 판별하는 것을 말한다. 부분 탐색 동작의 예들은 도 3a 내지 4b를 참조하여 후술한다.The
캠 콘트롤러(1020)는 탐색 데이터 드라이버(SDD), 독출-기입 회로(RWC) 및 콘트롤 로직(CLG)를 포함할 수 있다. The
독출-기입 회로(RWC)는 복수의 비트 라인들(BLS) 및 복수의 워드 라인들(WLS)을 통하여 내용 주소화 메모리(1010)와 연결되고, 내용 주소화 메모리(1010)에 엔트리 데이터를 기입하거나 내용 주소화 메모리(1010)에 저장된 엔트리 데이터를 독출할 수 있다. 내용 주소화 메모리(1010)에 포함된 캠 셀들은 다양한 구성을 가질 수 있으며, 독출-기입 회로(RWC)는 이러한 내용 주소화 메모리(1010)의 구성에 적합하도록 다양한 구성을 가질 수 있다.The read-write circuit (RWC) is connected to the content-
콘트롤 로직(CLG)은 상기 부분 탐색 동작을 제어할 수 있다. 콘트롤 로직(CLG)은 탐색하고자 하는 타겟 엔트리 데이터에 기초하여 부분 탐색 동작을 위한 비교 대상 비트들을 결정하고 상기 비교 대상 비트들에 상응하는 탐색 데이터(SDT)를 탐색 데이터 드라이버(SDD)에 제공할 수 있다. 콘트롤 로직(CLG)은 복수의 매칭 라인들(ML1~MLN)을 통하여 내용 주소화 메모리(1010)에 연결되고, 복수의 매칭 라인들(ML1~MLN)을 통해 제공되는 복수의 매칭 신호들(MAT1~MATN)에 기초하여 복수의 엔트리 데이터들(ENT1~ENTN) 중에서 타겟 엔트리 데이터를 탐색할 수 있다. 당업자는 콘트롤 로직(CLG)이 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있음을 이해할 수 있을 것이다. Control logic (CLG) can control the partial search operation. The control logic (CLG) determines comparison target bits for a partial search operation based on the target entry data to be searched and provides search data (SDT) corresponding to the comparison target bits to the search data driver (SDD). there is. The control logic (CLG) is connected to the content
탐색 데이터 드라이버(SDD)는 복수의 탐색 라인들(SL1~SLK)을 통하여 내용 주소화 메모리(1010)에 연결될 수 있다. 탐색 데이터 드라이버(SDD)는 콘트롤 로직(CLG)으로부터 제공되는 탐색 데이터(SDT)를 래치하고 복수의 탐색 라인들(SL1~SLK)을 통하여 내용 주소화 메모리(1010)에 인가할 수 있다. The search data driver (SDD) may be connected to the content
이러한 부분 탐색 동작을 이용하여, 내용 주소화 메모리(1010)에 저장된 복수의 엔트리 데이터들(ENT1~ENTN) 중에서 다양한 조건을 만족하는 타겟 엔트리 데이터를 탐색할 수 있다. 캠 콘트롤러(1020)는 상기 타겟 엔트리 데이터가 결정될 때까지 상기 비교 대상 비트들을 변경하면서 상기 부분 탐색 동작을 반복하여 수행할 수 있다. 본 명세서에서 타겟 엔트리 데이터를 탐색한다는 것은 상기 타겟 엔트리 데이터가 저장된 내용 주소화 메모리(1010)의 타겟 위치를 검출한다는 것을 나타낸다. 상기 타겟 위치는 어드레스 또는 포인터 등의 형태로 표현될 수 있다. 상기 타겟 위치에 관한 정보는 독출-기입 회로(RWC)에 제공될 수 있고, 독출-기입 회로(RWC)는 제공된 타겟 위치 정보에 기초하여 타겟 엔트리 데이터를 내용 주소화 메모리(1010)로부터 독출할 수 있다.Using this partial search operation, target entry data that satisfies various conditions can be searched among the plurality of entry data (ENT1 to ENTN) stored in the content
일 실시예서, 캠 콘트롤러(1020)는 상기 비교 대상 비트들을 상기 제K 비트부터 하위 비트 방향으로 1개씩 순차적으로 증가시키면서 상기 부분 탐색 동작을 반복하여 수행할 수 있다. 이러한 순차적이고 반복적인 부분 탐색 동작을 1-비트 누적 탐색 동작이라 칭할 수 있다. 도 9 내지 14b를 참조하여 후술하는 바와 같이, 상기 1-비트 누적 탐색 동작을 수행하여 복수의 엔트리 데이터들(ENT1~ENTN) 중 최대 엔트리 데이터 또는 최소 엔트리 데이터를 상기 타겟 엔트리 데이터로서 결정할 수 있다.In one embodiment, the
이와 같이, 본 발명의 실시예들에 따른 탐색 회로는 내용 주소화 메모리에 대한 부분 탐색 동작을 이용하여 특정 조건을 만족하는 데이터를 탐색함으로써 상기 특정 조건의 판별을 위한 비교기들과 같은 부가적인 회로들을 대체할 수 있고 다양한 집적 회로들의 사이즈를 감소할 수 있다.As such, the search circuit according to embodiments of the present invention searches for data that satisfies a specific condition using a partial search operation for the content addressable memory, thereby installing additional circuits such as comparators to determine the specific condition. It can replace and reduce the size of various integrated circuits.
도 2는 도 1의 탐색 회로에 포함되는 내용 주소화 메모리의 개략적인 구조를 나타내는 도면이다.FIG. 2 is a diagram showing a schematic structure of a content addressable memory included in the search circuit of FIG. 1.
도 2를 참조하면, 내용 주소화 메모리(1010)는 복수의 캠 셀들(C11~CNK), 프리차지 회로(TP) 및 복수의 센스 증폭기들(SA1~SAN)을 포함할 수 있다.Referring to FIG. 2, the content
복수의 캠 셀들(C11~CNK)은 N행 K열의 매트릭스 형태로 배열될 수 있고, 하나의 행에 상응하는 K개의 캠 셀들이 최상위 비트에 해당하는 제K 비트 내지 최하위 비트에 해당하는 제1 비트에 해당하는 K개의 비트들을 각각 포함하는 하나의 엔트리 데이터를 저장할 수 있다. 즉 제1 행의 캠 셀들(C11~C1K)은 K개의 비트들을 포함하는 제1 엔트리 데이터(ENT1)를 저장하고, 제2 행의 캠 셀들(C21~C2K)은 K개의 비트들을 포함하는 제2 엔트리 데이터(ENT2)를 저장하고, 이와 같은 방식으로 제N 행의 캠 셀들(CN1~CNK)은 K개의 비트들을 포함하는 제N 엔트리 데이터(ENTN)를 저장할 수 있다.A plurality of cam cells (C11 to CNK) may be arranged in a matrix of N rows and K columns, and K cam cells corresponding to one row are configured to select the Kth bit corresponding to the most significant bit to the first bit corresponding to the least significant bit. One entry data containing each K bits corresponding to can be stored. That is, the cam cells (C11 to C1K) in the first row store first entry data (ENT1) containing K bits, and the cam cells (C21 to C2K) in the second row store second entry data (ENT1) containing K bits. Entry data ENT2 is stored, and in this manner, the N-th row cam cells CN1 to CNK can store N-th entry data ENTN including K bits.
동일한 행의 캠 셀들은 동일한 매칭 라인에 공통으로 연결될 수 있다. 즉 제1 행의 캠 셀들(C11~C1K)은 제1 매칭 라인(ML1)에 공통으로 연결되고, 제2 행의 캠 셀들(C21~C2K)은 제2 매칭 라인(ML2)에 공통으로 연결되고, 이와 같은 방식으로 제N 행의 캠 셀들(CN1~CNK)은 제N 매칭 라인(MLN)에 공통으로 연결될 수 있다. Cam cells in the same row may be commonly connected to the same matching line. That is, the cam cells (C11 to C1K) in the first row are commonly connected to the first matching line (ML1), and the cam cells (C21 to C2K) in the second row are commonly connected to the second matching line (ML2). , In this way, the N-th row cam cells (CN1 to CNK) can be commonly connected to the N-th matching line (MLN).
동일한 열의 캠 셀들은 동일한 탐색 라인에 공통으로 연결될 수 있다. 즉 제1 열의 캠 셀들(C11~CN1)은 제1 탐색 라인(SL1)에 공통으로 연결되고, 제2 열의 캠 셀들(C12~CN2)은 제2 탐색 라인(SL2)에 공통으로 연결되고, 이와 같은 방식으로 제K 열의 캠 셀들(C1K~CNK)은 제K 탐색 라인(SLK)에 공통으로 연결될 수 있다.Cam cells in the same row may be commonly connected to the same search line. That is, the cam cells C11 to CN1 in the first row are commonly connected to the first search line SL1, and the cam cells C12 to CN2 in the second row are commonly connected to the second search line SL2. In the same way, the cam cells (C1K to CNK) of the Kth row can be commonly connected to the Kth search line (SLK).
복수의 센스 증폭기들(SA1~SAN)은 복수의 매칭 라인들(ML1~MLN)의 전압들을 각각 센싱하여 복수의 매칭 신호들(MAT1~MATN)을 제공할 수 있다. 실시예에 따라서, 센스 증폭기들(SA1~SAN)은 생략될 수도 있고, 도 1의 콘트롤 로직(CLG)에 포함될 수도 있다.The plurality of sense amplifiers (SA1 to SAN) may respectively sense the voltages of the plurality of matching lines (ML1 to MLN) and provide a plurality of matching signals (MAT1 to MATN). Depending on the embodiment, the sense amplifiers (SA1 to SAN) may be omitted or may be included in the control logic (CLG) of FIG. 1.
프리차지 회로(TP)는 프리차지 신호(PRCH)에 응답하여 복수의 매칭 라인들(ML1~MLN)을 프리차지 전압(VPR)으로 프리차지할 수 있다. 도 2에는 피모스(PMOS) 트랜지스터로 구현된 하나의 프리차지 회로(TP)가 복수의 매칭 라인들(ML1~MLN)을 공통으로 프리차지하는 구성이 도시되어 있으나, 이에 한정되는 것은 아니다. 예를 들어, 하나의 매칭 라인마다 하나의 프리차지 회로가 배치될 수도 있다. 프리차지 회로(TP)의 구성은 다양하게 구현될 수 있다.The precharge circuit TP may precharge the plurality of matching lines ML1 to MLN with the precharge voltage VPR in response to the precharge signal PRCH. FIG. 2 shows a configuration in which one precharge circuit TP implemented with a PMOS transistor commonly precharges a plurality of matching lines ML1 to MLN, but the configuration is not limited thereto. For example, one precharge circuit may be placed for each matching line. The configuration of the precharge circuit (TP) can be implemented in various ways.
도 2는 내용 주소화 메모리(1010)의 단순화된 구성을 도시하고 있다. 제1 내지 제K 비트들(B1~BK)을 포함하는 탐색 데이터(SDT)가 제1 내지 제K 탐색 라인들(SL1~SLK)을 통하여 브로드캐스팅되고, 복수의 캠 셀들(C11~CNK)에 저장된 복수의 엔트리 데이터들(ENT1~ENTN)과 탐색 데이터(SDT)의 각 비교 결과가 복수의 매칭 라인들(ML1~MLN)을 통해 복수의 센스 증폭기들(SA1~SAN)로 제공된다.Figure 2 shows a simplified configuration of content
상기 비교 결과는 탐색 데이터(SDT)의 비교 대상 비트들이 각 엔트리 데이터(ENTi)의 상응하는 비트들과 일치하는 경우에는 각 매칭 신호(MATi)는 매치 경우(match case)를 나타내는 제1 논리 레벨(예를 들어, 논리 하이 레벨)을 갖고 불일치하는 경우에는 각 매칭 신호(MATi)는 미스매치 경우(mismatch case)를 나타내는 제2 논리 레벨(예를 들어, 논리 로우 레벨)을 가질 수 있다. 본 개시에서 논리 하이 레벨은 1의 값과 동일하고 논리 로우 레벨은 0의 값과 동일한 의미로 사용될 수 있다.The comparison result is that when the comparison target bits of the search data (SDT) match the corresponding bits of each entry data (ENTi), each matching signal (MATi) has a first logic level indicating a match case ( For example, when there is a mismatch, each matching signal MATi may have a second logic level (for example, a logic low level) indicating a mismatch case. In the present disclosure, a logic high level may be used to have the same meaning as a value of 1, and a logic low level may be used to have the same meaning as a value of 0.
내용 주소화 메모리(1010)의 탐색 동작은 탐색 라인 프리차지 동작, 매칭 라인 프리차지 동작 및 비교 동작을 포함할 수 있다. 예를 들어, 캠 셀들이 도 5에 도시된 NOR 타입의 구성을 갖는 경우에, 먼저 각각의 캠 셀에 포함된 풀다운 경로들을 디스에이블시켜 탐색 라인들이 접지와 연결되지 않도록 탐색 라인들을 논리 로우 레벨로 프리차지한다. 이와 같이 풀다운 경로들이 디스에이블된 상태에서 프리차지 회로를 이용하여 매칭 라인들을 논리 하이 레벨로 프리차지한다. 마지막으로 탐색 라인들에 탐색 데이터의 비트 값들이 인가됨으로써 비교 동작이 수행된다. The search operation of the content
매치 경우에는 매칭 라인에 연결된 모든 캠 셀들의 풀다운 경로들이 디스에이블되고 매치 라인은 프리차지된 논리 하이 레벨을 유지한다. 즉 매칭 신호는 논리 하이 레벨 또는 1의 값을 가진다.In the case of a match, the pull-down paths of all cam cells connected to the matching line are disabled and the match line maintains the precharged logic high level. That is, the matching signal has a logic high level or a value of 1.
미스매치 경우에는 매칭 라인에 연결된 캠 셀들 중 적어도 하나의 풀다운 경로가 인에이블되고 매치 라인은 접지 전압 레벨로 디스차지된다. 즉 매칭 신호는 논리 로우 레벨 또는 0의 값을 가진다.In the case of mismatch, the pull-down path of at least one of the cam cells connected to the matching line is enabled and the match line is discharged to the ground voltage level. That is, the matching signal has a logic low level or a value of 0.
도 3a, 3b, 4a 및 4b는 본 발명의 실시예들에 따른 탐색 회로의 부분 탐색 동작의 예들을 나타내는 도면들이다.3A, 3B, 4A, and 4B are diagrams showing examples of partial search operations of a search circuit according to embodiments of the present invention.
도 3a, 3b, 4a 및 4b에는 도시 및 설명의 편의상 하나의 행에 상응하는 6비트 구성이 도시되어 있지만, 상기 비트 수는 다양하게 변경될 수 있음을 이해할 수 있을 것이다.3A, 3B, 4A, and 4B show a 6-bit configuration corresponding to one row for convenience of illustration and explanation, but it will be understood that the number of bits can be varied.
엔트리 데이터(ENT)의 제1 내지 제6 비트들이 제1 내지 제6 캠 셀들(C1~C6)에 저장되고 탐색 데이터(SDT)의 제1 내지 제6 비트들(B1~B6)이 제1 내지 제6 탐색 라인들(SL1~SL6)을 통해 제1 내지 제6 비트들이 제1 내지 제6 캠 셀들(C1~C6)에 각각 인가된다. 예시적으로, 제6 내지 제1 캠 셀들(C6~C1)은 순차적으로 0, 1, 1, 0, 1, 0의 값들을 갖는 경우가 도시되어 있다.The first to sixth bits of the entry data ENT are stored in the first to sixth cam cells C1 to C6, and the first to sixth bits B1 to B6 of the search data SDT are stored in the first to sixth cam cells C1 to C6. The first to sixth bits are applied to the first to sixth cam cells C1 to C6 through the sixth search lines SL1 to SL6, respectively. Exemplarily, the sixth to first cam cells C6 to C1 are shown to sequentially have values of 0, 1, 1, 0, 1, and 0.
탐색 데이터(SDT)의 상기 제1 내지 제6 비트들 중에서 전술한 비교 대상 비트들을 제외한 나머지 비트들은 비교 제외 비트들이라 칭할 수 있다. 비교 대상 비트들에는 탐색 조건에 따라서 0의 값 또는 1의 값이 인가되고 비교 제외 비트들에는 돈케어 값(don't care value)(DCV)이 인가될 수 있다. 여기서 돈케어 값(DCV)은 캠 셀에 저장된 비트 값에 관계 없이 캠 셀의 풀다운 경로를 디스에이블시킬 수 있는 값을 나타내며, 돈케어 값(DCV)은 캠 셀의 구성에 따라서 다양한 방법으로 구현될 수 있다.Among the first to sixth bits of the search data (SDT), the remaining bits excluding the above-described comparison target bits may be referred to as comparison-excluded bits. A value of 0 or 1 may be applied to the bits to be compared, depending on the search condition, and a don't care value (DCV) may be applied to the bits excluded from comparison. Here, the doncare value (DCV) represents a value that can disable the pull-down path of the cam cell regardless of the bit value stored in the cam cell, and the doncare value (DCV) can be implemented in various ways depending on the configuration of the cam cell. You can.
도 3a 및 3b는 매치 경우에 상응하는 부분 탐색 동작들을 나타내다.Figures 3a and 3b show partial search operations corresponding to the match case.
도3a를 참조하면, 탐색 데이터(SDT)의 제6 비트(B6) 및 제5 비트(B5)가 비교 대상 비트들에 해당하고, 제4 비트(B4), 제3 비트(B3), 제2 비트(B2) 및 제1 비트(B1)가 비교 제외 비트들에 해당한다. 비교 제외 비트들(B4, B3, B2, B1)은 비교 결과, 즉 매칭 신호(MAT)의 논리 레벨 또는 값에 영향을 미치지 않는다. 결과적으로 탐색 데이터(SDT)의 비교 대상 비트들(B6, B5)이 엔트리 데이터(ENT)의 상응하는 비트들과 각각 일치하므로, 매칭 신호(MAT)는 매치 경우를 나타내는 1의 값을 갖는다.Referring to Figure 3a, the 6th bit (B6) and the 5th bit (B5) of the search data (SDT) correspond to the bits to be compared, and the 4th bit (B4), the 3rd bit (B3), and the 2nd bit Bit (B2) and first bit (B1) correspond to bits excluded from comparison. The comparison exclusion bits (B4, B3, B2, B1) do not affect the comparison result, that is, the logic level or value of the matching signal (MAT). As a result, the compared bits B6 and B5 of the search data SDT each match the corresponding bits of the entry data ENT, so the matching signal MAT has a value of 1, indicating a match.
도3b를 참조하면, 탐색 데이터(SDT)의 제5 비트(B5), 제3 비트(B3) 및 제2 비트(B2)가 비교 대상 비트들에 해당하고, 제6 비트(B6), 제4 비트(B4) 및 제1 비트(B1)가 비교 제외 비트들에 해당한다. 비교 제외 비트들(B6, B4, B1)은 매칭 신호(MAT)의 값에 영향을 미치지 않는다. 결과적으로 탐색 데이터(SDT)의 비교 대상 비트들(B5, B3, B2)이 엔트리 데이터(ENT)의 상응하는 비트들과 각각 일치하므로, 매칭 신호(MAT)는 매치 경우를 나타내는 1의 값을 갖는다.Referring to Figure 3b, the fifth bit (B5), third bit (B3), and second bit (B2) of the search data (SDT) correspond to bits to be compared, and the sixth bit (B6), fourth bit Bit (B4) and the first bit (B1) correspond to bits excluded from comparison. Comparison exclusion bits (B6, B4, B1) do not affect the value of the matching signal (MAT). As a result, the comparison target bits (B5, B3, B2) of the search data (SDT) each match the corresponding bits of the entry data (ENT), so the matching signal (MAT) has a value of 1, indicating a match case. .
도 4a 및 4b는 미스매치 경우에 상응하는 부분 탐색 동작들을 나타내다.Figures 4a and 4b show partial search operations corresponding to the mismatch case.
도4a를 참조하면, 탐색 데이터(SDT)의 제6 비트(B6), 제5 비트(B5), 제4 비트(B4) 및 제3 비트(B3)가 비교 대상 비트들에 해당하고, 제2 비트(B2) 및 제1 비트(B1)가 비교 제외 비트들에 해당한다. 비교 제외 비트들(B2, B1)은 매칭 신호(MAT)의 논리 레벨 또는 값에 영향을 미치지 않는다. 결과적으로 탐색 데이터(SDT)의 비교 대상 비트들(B6, B5, B4, B3) 중에서 적어도 하나의 비트, 즉 제3 비트(B3)가 엔트리 데이터(ENT)의 제3 비트와 일치하지 않으므로, 매칭 신호(MAT)는 미스매치 경우를 나타내는 0의 값을 갖는다.Referring to Figure 4a, the sixth bit (B6), the fifth bit (B5), the fourth bit (B4), and the third bit (B3) of the search data (SDT) correspond to bits to be compared, and the second Bit (B2) and first bit (B1) correspond to bits excluded from comparison. The comparison exclusion bits (B2, B1) do not affect the logic level or value of the matching signal (MAT). As a result, at least one bit, that is, the third bit (B3), among the comparison target bits (B6, B5, B4, B3) of the search data (SDT) does not match the third bit of the entry data (ENT), so matching Signal MAT has a value of 0, indicating a mismatch case.
도4b를 참조하면, 탐색 데이터(SDT)의 제4 비트(B4) 및 제2 비트(B2)가 비교 대상 비트들에 해당하고, 제6 비트(B6), 제5 비트(B5), 제3 비트(B3) 및 제1 비트(B1)가 비교 제외 비트들에 해당한다. 비교 제외 비트들(B6, B5, B3, B1)은 매칭 신호(MAT)의 값에 영향을 미치지 않는다. 결과적으로 탐색 데이터(SDT)의 비교 대상 비트들(B4, B2) 중 적어도 하나의 비트, 즉 제4 비트(B4)가 엔트리 데이터(ENT)의 제4 비트와 일치하지 않으므로, 매칭 신호(MAT)는 미스매치 경우를 나타내는 0의 값을 갖는다.Referring to Figure 4b, the fourth bit (B4) and the second bit (B2) of the search data (SDT) correspond to the bits to be compared, and the sixth bit (B6), the fifth bit (B5), and the third bit (B2) correspond to the bits to be compared. Bit (B3) and the first bit (B1) correspond to bits excluded from comparison. Comparison exclusion bits (B6, B5, B3, B1) do not affect the value of the matching signal (MAT). As a result, at least one bit, that is, the fourth bit B4, among the comparison target bits B4 and B2 of the search data SDT does not match the fourth bit of the entry data ENT, so the matching signal MAT has a value of 0, indicating a mismatch case.
도 3a 내지 4b에 도시한 바와 같은 각각의 부분 탐색 동작의 또는 복수의 부분 탐색 동작들의 조합 또는 시퀀스를 통하여 다양한 탐색 조건을 구현할 수 있다.Various search conditions can be implemented through each partial search operation or a combination or sequence of a plurality of partial search operations as shown in FIGS. 3A to 4B.
도 5는 내용 주소화 메모리에 포함되는 캠 셀의 일 실시예를 나타내는 회로도이다.Figure 5 is a circuit diagram showing an embodiment of a CAM cell included in a content addressable memory.
도 5에는 SRAM(static random access memory) 셀을 변형한 NOR 타입의 캠 셀이 도시되어 있다. 본 발명의 실시예들이 도 5에 도시된 구성에 한정되는 것은 아니다.Figure 5 shows a NOR type cam cell that is a modified static random access memory (SRAM) cell. Embodiments of the present invention are not limited to the configuration shown in FIG. 5.
도 5를 참조하면, 캠 셀은 래치를 형성하는 제1 및 제2 인버터들(INV1, INV2)과 제1 내지 제6 NMOS 트랜지스터들(T1~T6)을 포함하여 구현될 수 있다.Referring to FIG. 5, the cam cell may be implemented including first and second inverters (INV1, INV2) and first to sixth NMOS transistors (T1 to T6) forming a latch.
제5 및 제6 트랜지스터들(T5, T6)은 캠 셀의 독출 동작 및 기입 동작에 관련된 것으로서, 도 1의 독출-기입 회로(RWC)에 의해 구동되는 워드 라인(WL)의 전압에 기초하여 노말 비트 라인(BL) 및 상보 비트 라인(/BL)을 래치 노드(N) 및 반전 노드(/N)에 각각 전기적으로 연결한다. 독출 동작에서는 래치 노드(N) 및 반전 노드(/N)의 노말 비트 값(D) 및 반전 비트 값(/D)이 노말 비트 라인(BL) 및 상보 비트 라인(/BL)을 통하여 독출-기입 회로(RWC)로 제공될 수 있다. 기입 동작에서는 독출-기입 회로(RWC)에 의해 노말 비트 라인(BL) 및 상보 비트 라인(/BL)에 로딩된 노말 비트 값(D) 및 반전 비트 값(/D)이 래치 노드(N) 및 반전 노드(/N)에 각각 저장될 수 있다. 상기 기입 동작 및 상기 독출 동작은 일반적인 SRAM 셀과 동일하며, 이하 SRAM 셀의 일반적인 구성 및 동작에 관한 사항은 도시 및 설명을 생략한다.The fifth and sixth transistors (T5, T6) are related to the read and write operations of the cam cell, and are normal based on the voltage of the word line (WL) driven by the read-write circuit (RWC) of FIG. 1. The bit line (BL) and the complementary bit line (/BL) are electrically connected to the latch node (N) and the inverting node (/N), respectively. In a read operation, the normal bit value (D) and the invert bit value (/D) of the latch node (N) and inversion node (/N) are read and written through the normal bit line (BL) and the complementary bit line (/BL). It can be provided as a circuit (RWC). In a write operation, the normal bit value (D) and the inverted bit value (/D) loaded into the normal bit line (BL) and the complementary bit line (/BL) by the read-write circuit (RWC) are connected to the latch node (N) and Each can be stored in the inversion node (/N). The write operation and the read operation are the same as those of a general SRAM cell, and details regarding the general configuration and operation of the SRAM cell will be omitted from illustration and description below.
제1 트랜지스터(T1)는 반전 노드(/N)에 저장된 반전 비트 값(/D)에 응답하여 턴온되고, 제2 트랜지스터(T2)는 래치 노드(N)에 저장된 노말 비트 값(D)에 응답하여 턴온된다. 제3 트랜지스터(T3)는 노말 탐색 라인(SL)에 인가되는 비트 값에 응답하여 턴온되고, 제4 트랜지스터(T4)는 상보 탐색 라인(/SL)에 인가되는 비트 값에 응답하여 턴온된다.The first transistor (T1) is turned on in response to the inverted bit value (/D) stored in the inverting node (/N), and the second transistor (T2) responds to the normal bit value (D) stored in the latch node (N). It turns on. The third transistor T3 is turned on in response to the bit value applied to the normal search line (SL), and the fourth transistor T4 is turned on in response to the bit value applied to the complementary search line (/SL).
도 5의 NOR 타입의 캠 셀은 제1 트랜지스터(T1) 및 제3 트랜지스터(T3)를 포함하는 제1 풀다운 경로 및 제2 트랜지스터(T2) 및 제4 트랜지스터(T4)를 포함하는 제2 풀다운 경로를 포함한다. 전술한 바와 같이, 매칭 라인(ML)이 논리 하이 레벨로 프리차지된다. 이 후에 노말 탐색 라인(SL) 및 상보 탐색 라인(/SL)에 인가되는 비트 값들 및 저장된 비트 값들(D, /D)에 따라서 제1 풀다운 경로(T1, T2) 및 제2 풀다운 경로(T2, T4) 중 적어도 하나가 인에이블되면 매칭 라인(ML)은 접지 전압(VSS)으로 디스차지되고, 결과적으로 매칭 라인(ML)의 전압은 1의 값에 상응하는 논리 하이 레벨에서 0의 값에 상응하는 논리 로우 레벨로 천이한다. 제1 풀다운 경로(T1, T2) 및 제2 풀다운 경로(T2, T4)이 모두 디스에이블되는 경우에는 매칭 라인(ML)은 프리차지된 1의 값에 상응하는 논리 하이 레벨을 유지한다.The NOR type cam cell in FIG. 5 has a first pull-down path including a first transistor (T1) and a third transistor (T3) and a second pull-down path including a second transistor (T2) and a fourth transistor (T4). Includes. As described above, the matching line ML is precharged to a logic high level. Afterwards, the first pull-down path (T1, T2) and the second pull-down path (T2, When at least one of T4) is enabled, the matching line (ML) is discharged to the ground voltage (VSS), and as a result, the voltage of the matching line (ML) corresponds to a value of 0 from a logic high level corresponding to a value of 1. transitions to the logic low level. When both the first pull-down paths (T1, T2) and the second pull-down paths (T2, T4) are disabled, the matching line (ML) maintains a logic high level corresponding to the precharged value of 1.
도 6a, 6b, 7a, 7b, 8a 및 8b는 내용 주소화 메모리에 인가되는 탐색 데이터의 비트 값들을 설명하기 위한 도면들이다.Figures 6a, 6b, 7a, 7b, 8a, and 8b are diagrams for explaining bit values of search data applied to the content addressable memory.
탐색 데이터의 하나의 비트 값은 노말 탐색 라인(SL)의 비트 값 및 상보 탐색 라인(/SL)의 비트 값의 조합, 즉 (SL, /SL)으로 표현될 수 있다. 또한 캠 셀에 저장된 엔트리 데이터의 하나의 비트 값은 래치 노드(N)의 비트 값(D) 및 반전 노드(/N)의 반전 비트 값(/D)의 조합, 즉 (D, /D)으로 표현될 수 있다.One bit value of search data can be expressed as a combination of the bit value of the normal search line (SL) and the bit value of the complementary search line (/SL), that is, (SL, /SL). Additionally, one bit value of the entry data stored in the cam cell is a combination of the bit value (D) of the latch node (N) and the inversion bit value (/D) of the inversion node (/N), that is, (D, /D). can be expressed.
도 6a 및 6b에는 엔트리 데이터의 하나의 비트가 0의 값에 상응하는 조합, 즉 (D, /D)=(0, 1)을 갖는 경우가 도시되어 있다.6A and 6B show a case where one bit of entry data has a combination corresponding to a value of 0, that is, (D, /D)=(0, 1).
도 6a를 참조하면, 탐색 데이터의 하나의 비트가 0의 값에 상응하는 조합, 즉 (SL, /SL)=(0, 1)이 인가된 경우, 제1 트랜지스터(T1) 및 제4 트랜지스터(T4)가 턴온되고, 제2 트랜지스터(T2) 및 제3 트랜지스터(T3)가 턴오프된다. 결과적으로 제1 풀다운 경로(T1, T3) 및 제2 풀다운 경로(T2, T4)가 모두 디스에이블되고, 매칭 신호(MAT)는 매치 경우를 나타내는 프리차지된 1의 값을 유지한다.Referring to FIG. 6A, when one bit of search data is applied with a combination corresponding to the value of 0, that is, (SL, /SL) = (0, 1), the first transistor (T1) and the fourth transistor ( T4) is turned on, and the second transistor (T2) and third transistor (T3) are turned off. As a result, both the first pull-down paths (T1, T3) and the second pull-down paths (T2, T4) are disabled, and the matching signal (MAT) maintains the precharged value of 1, indicating a match case.
도 6b를 참조하면, 탐색 데이터의 하나의 비트가 1의 값에 상응하는 조합, 즉 (SL, /SL)=(1, 0)이 인가된 경우, 제1 트랜지스터(T1) 및 제3 트랜지스터(T3)가 턴온되고, 제2 트랜지스터(T2) 및 제4 트랜지스터(T4)가 턴오프된다. 결과적으로 제2 풀다운 경로(T2, T4)는 디스에이블되지만 제1 풀다운 경로(T1, T3)는 인에이블되고, 매칭 신호(MAT)는 미스매치 경우를 나타내는 0의 값으로 디스차지된다.Referring to Figure 6b, when one bit of search data is applied to a combination corresponding to the value of 1, that is, (SL, /SL) = (1, 0), the first transistor (T1) and the third transistor ( T3) is turned on, and the second transistor T2 and the fourth transistor T4 are turned off. As a result, the second pull-down paths (T2, T4) are disabled, but the first pull-down paths (T1, T3) are enabled, and the matching signal (MAT) is discharged to a value of 0, indicating a mismatch case.
도 7a 및 7b에는 엔트리 데이터의 하나의 비트가 1의 값에 상응하는 조합, 즉 (D, /D)=(1, 0)을 갖는 경우가 도시되어 있다.7A and 7B show a case where one bit of entry data has a combination corresponding to the value of 1, that is, (D, /D)=(1, 0).
도 7a를 참조하면, 탐색 데이터의 하나의 비트가 1의 값에 상응하는 조합, 즉 (SL, /SL)=(1, 0)이 인가된 경우, 제1 트랜지스터(T1) 및 제4 트랜지스터(T4)가 턴오프되고, 제2 트랜지스터(T2) 및 제3 트랜지스터(T3)가 턴온된다. 결과적으로 제1 풀다운 경로(T1, T3) 및 제2 풀다운 경로(T2, T4)가 모두 디스에이블되고, 매칭 신호(MAT)는 매치 경우를 나타내는 프리차지된 1의 값을 유지한다.Referring to FIG. 7A, when one bit of search data is applied with a combination corresponding to the value of 1, that is, (SL, /SL) = (1, 0), the first transistor (T1) and the fourth transistor ( T4) is turned off, and the second transistor (T2) and third transistor (T3) are turned on. As a result, both the first pull-down paths (T1, T3) and the second pull-down paths (T2, T4) are disabled, and the matching signal (MAT) maintains the precharged value of 1, indicating a match case.
도 7b를 참조하면, 탐색 데이터의 하나의 비트가 0의 값에 상응하는 조합, 즉 (SL, /SL)=(0, 1)이 인가된 경우, 제1 트랜지스터(T1) 및 제3 트랜지스터(T3)가 턴오프되고, 제2 트랜지스터(T2) 및 제4 트랜지스터(T4)가 턴온된다. 결과적으로 제1 풀다운 경로(T1, T3)는 디스에이블되지만, 제2 풀다운 경로(T2, T4)가 인에이블되어, 매칭 신호(MAT)는 미스매치 경우를 나타내는 0의 값으로 디스차지된다.Referring to FIG. 7b, when one bit of search data is applied with a combination corresponding to the value of 0, that is, (SL, /SL) = (0, 1), the first transistor (T1) and the third transistor ( T3) is turned off, and the second transistor T2 and the fourth transistor T4 are turned on. As a result, the first pull-down path (T1, T3) is disabled, but the second pull-down path (T2, T4) is enabled, and the matching signal (MAT) is discharged to a value of 0, indicating a mismatch case.
도 8a 및 8b에는 탐색 데이터의 하나의 비트가 돈케어 값 상응하는 조합, 즉 (SL, /SL)=(0, 0)을 갖는 경우가 도시되어 있다. 도 8a는 엔트리 데이터의 하나의 비트가 0의 값에 상응하는 조합, 즉 (D, /D)=(0, 1)을 갖는 경우를 나타내고, 도 8b는 엔트리 데이터의 하나의 비트가 1의 값에 상응하는 조합, 즉 (D, /D)=(1, 0)을 갖는 경우를 나타낸다.Figures 8a and 8b illustrate the case where one bit of search data has a corresponding doncare value combination, that is, (SL, /SL)=(0, 0). Figure 8a shows a case where one bit of entry data has a combination corresponding to a value of 0, that is, (D, /D) = (0, 1), and Figure 8b shows a case where one bit of entry data has a value of 1. It represents the case of having the corresponding combination, that is, (D, /D)=(1, 0).
도 8a 및 8b를 참조하면, 노말 탐색 라인(SL) 및 상보 탐색 라인(/SL)에는 모두 0의 값이 인가되므로 제3 트랜지스터(T2) 및 제4 트랜지스터(T4)는 저장된 엔트리 데이터의 비트 값에 관계 없이 항상 턴오프된다. 따라서, 돈케어 값에 상응하는 조합 (SL, /SL)=(0, 0)이 인가되는 경우에는, 저장된 엔트리 데이터의 비트 값에 관계 없이 제1 풀다운 경로(T1, T3) 및 제2 풀다운 경로(T2, T4)가 모두 디스에이블되고 매칭 신호(MAT)는 1의 값을 유지한다.Referring to FIGS. 8A and 8B, since a value of 0 is applied to both the normal search line (SL) and the complementary search line (/SL), the third transistor (T2) and the fourth transistor (T4) apply the bit value of the stored entry data. Regardless, it is always turned off. Therefore, when the combination (SL, /SL) = (0, 0) corresponding to the doncare value is applied, the first pull-down path (T1, T3) and the second pull-down path regardless of the bit value of the stored entry data (T2, T4) are all disabled and the matching signal (MAT) maintains the value of 1.
이와 같이, 탐색 데이터의 비트들 중 비교 대상 비트들에 대해서는, 도 6a, 6b, 7a 및 7b를 참조하여 설명한 바와 같이, 노말 탐색 라인(SL) 및 상보 탐색 라인(/SL) 중 하나에는 0의 값을 인가하고 다른 하나에는 1의 값을 인가할 수 있다. 한편, 상기 탐색 데이터의 비트들 중 상기 비교 대상 비트들 이외의 비교 제외 비트들에 대해서는, 도 8a 및 8b를 참조하여 설명한 바와 같이, 노말 탐색 라인(SL) 및 상보 탐색 라인(/SL)에 동일하게 0의 값을 인가할 수 있다. 캠 셀의 구성에 따라서, 비교 제외 비트들에 대해서 노말 탐색 라인(SL) 및 상보 탐색 라인(/SL)에 동일하게 1의 값을 인가할 수 있다. 예를 들어, 캠 셀이 매칭 라인을 0의 값으로 프리차지하고 미스매치의 경우 풀업 경로들을 인에이블 시키는 구조를 갖는 경우, 노말 탐색 라인(SL) 및 상보 탐색 라인(/SL)에 동일하게 1의 값을 인가함으로써 캠 셀에 저장된 비트 값에 관계 없이 상기 풀업 경로들을 디스에이블시킬 수 있다.In this way, for the bits to be compared among the bits of the search data, as described with reference to FIGS. 6a, 6b, 7a, and 7b, one of the normal search line (SL) and the complementary search line (/SL) contains 0. You can apply a value to one and a value of 1 to the other. Meanwhile, among the bits of the search data, bits excluded from comparison other than the comparison target bits are the same as the normal search line (SL) and the complementary search line (/SL), as described with reference to FIGS. 8A and 8B. A value of 0 can be applied. Depending on the configuration of the cam cell, a value of 1 may be equally applied to the normal search line (SL) and the complementary search line (/SL) for comparison exclusion bits. For example, if the cam cell has a structure that precharges the matching line to a value of 0 and enables the pull-up paths in case of a mismatch, the same value of 1 is applied to the normal search line (SL) and the complementary search line (/SL). By applying a value, the pull-up paths can be disabled regardless of the bit value stored in the cam cell.
이하, 도 9 내지 14b를 참조하여, 본 발명의 실시예들에 따른 1-비트 누적 탐색 동작을 설명한다. 상기 1-비트 누적 탐색 동작은 탐색 데이터의 비교 대상 비트들을 최상위 비트에 상응하는 제K 비트부터 하위 비트 방향으로 1개씩 순차적으로 증가시키면서 전술한 바와 같은 부분 탐색 동작을 반복하여 수행하는 것을 말한다. 상기 1-비트 누적 탐색 동작을 통하여 내용 주소화 메모리에 저장된 복수의 엔트리 데이터들 중 최대 엔트리 데이터 또는 최소 엔트리 데이터를 타겟 엔트리 데이터로서 결정할 수 있다.Hereinafter, with reference to FIGS. 9 to 14B, a 1-bit cumulative search operation according to embodiments of the present invention will be described. The 1-bit cumulative search operation refers to repeatedly performing the partial search operation as described above while sequentially increasing the comparison target bits of the search data by one in the direction from the Kth bit corresponding to the most significant bit to the lower bit. Through the 1-bit cumulative search operation, the maximum entry data or minimum entry data among the plurality of entry data stored in the content addressable memory can be determined as the target entry data.
도 9는 본 발명의 실시예들에 따른 탐색 회로의 최대 엔트리 탐색 동작의 일 실시예를 나타내는 순서도이다.Figure 9 is a flow chart illustrating an example of a maximum entry search operation of a search circuit according to embodiments of the present invention.
도 9를 참조하면, 먼저 i의 값을 1로 초기화한다(S101). 탐색 데이터의 제(K-i+1) 비트를 1의 값으로 설정하고 탐색 데이터의 제1 내지 제(K-i) 비트들을 돈케어 값(DCV)으로 설정한다(S102). 이와 같이 탐색 데이터의 비교 대상 비트들 및 비교 제외 비트들을 설정한 후에 i번째 부분 탐색 동작(PCOi)을 수행한다(S103).Referring to FIG. 9, first, the value of i is initialized to 1 (S101). The (K-i+1)th bit of the search data is set to the value of 1, and the first to (K-i)th bits of the search data are set to the don care value (DCV) (S102). After setting the comparison target bits and comparison exclusion bits of the search data in this way, the i-th partial search operation (PCOi) is performed (S103).
결과적으로, i의 값이 1인 경우를 보면, 1의 값을 갖는 제K 비트를 상기 비교 대상 비트로서 상기 내용 주소화 메모리에 인가하여 첫번째 부분 탐색 동작(OPR1)을 수행한다(S103).As a result, in the case where the value of i is 1, the Kth bit with a value of 1 is applied to the content addressable memory as the comparison target bit to perform the first partial search operation (OPR1) (S103).
매칭 신호들 중 적어도 하나의 매칭 신호(MAT)가 활성화된 경우(예를 들어, 매치 경우를 나타내는 1의 값을 갖는 경우)(S104: YES), 탐색 데이터의 제(K-i+1) 비트를 1의 값으로 설정한다(S105). 매칭 신호들이 모두 비활성화된 경우(예를 들어, 미스매치 경우를 나타내는 0의 값을 갖는 경우)(S104: NO), 탐색 데이터의 제(K-i+1) 비트를 0의 값으로 설정한다(S106). 이후, i를 1만큼 증가시키고(S109), 이와 같은 단계들(S102~S106)을 반복한다. When at least one matching signal (MAT) among the matching signals is activated (e.g., has a value of 1 indicating a match case) (S104: YES), the (K-i+1)th bit of the search data Set to a value of 1 (S105). If all matching signals are deactivated (e.g., have a value of 0 indicating a mismatch case) (S104: NO), the (K-i+1)th bit of the search data is set to the value of 0 ( S106). Afterwards, i is increased by 1 (S109) and these steps (S102 to S106) are repeated.
이와 같이, 비교 대상 비트들의 개수가 i개에 해당하는 i번째 부분 탐색 동작(PCOi)에 의한 매칭 신호들에 기초하여 비교 대상 비트들의 개수가 (i+1)개에 해당하는 (i+1)번째 부분 탐색 동작(PCO(i+1))의 비교 대상 비트들의 값들을 결정할 수 있다.In this way, based on the matching signals by the ith partial search operation (PCOi) corresponding to i, the number of bits to be compared is (i+1), which is (i+1). The values of bits to be compared in the th partial search operation (PCO(i+1)) can be determined.
다시 말해, 타겟 엔트리 데이터가 최대 엔트리 데이터에 상응하는 경우, i번째 부분 탐색 동작(PCOi)에서 복수의 매칭 신호들 중 적어도 하나가 활성화된 경우 단계 S105에 따라서 제(K-i+1) 비트를 1의 값으로 설정하고, i번째 부분 탐색 동작(PCOi)에서 복수의 매칭 신호들이 모두 비활성화된 경우 단계 S106에 따라서 제(K-i+1) 비트를 0의 값으로 설정할 수 있다. 한편 i가 1만큼 증가된 후 단계 S102에 따라서 제(K-i) 비트를 1의 값으로 설정할 수 있다. 이와 같이 제K 내지 제(K-i+1) 비트들에 상응하는 비교 대상 비트들을 내용 주소화 메모리에 인가하여 (i+1)번째 부분 탐색 동작(PCO(i+1))을 수행하는 방식으로 두 번째 이후의 부분 탐색 동작들을 순차적으로 수행할 수 있다.In other words, if the target entry data corresponds to the maximum entry data, and at least one of the plurality of matching signals is activated in the ith partial search operation (PCOi), the (K-i+1)th bit is selected according to step S105. It is set to a value of 1, and when all the plurality of matching signals are deactivated in the ith partial search operation (PCOi), the (K-i+1)th bit can be set to a value of 0 according to step S106. Meanwhile, after i is increased by 1, the (K-i)th bit can be set to the value of 1 according to step S102. In this way, the (i+1)th partial search operation (PCO(i+1)) is performed by applying comparison target bits corresponding to the Kth to (K-i+1)th bits to the content addressable memory. You can sequentially perform the second and subsequent partial search operations.
이러한 순환적인 단계들(S102~S106, S109)은 매칭 신호들 중 하나의 매칭 신호만이 활성화되기 전까지(S107: NO) 반복하여 수행될 수 있다. i번째 부분 탐색 동작(PCOi)에서 복수의 매칭 신호들 중 하나의 매칭 신호만이 활성화된 경우(S107: YES), (i+1)번째 부분 탐색 동작(PCO(i+1)) 이후의 부분 탐색 동작들을 생략할 수 있다. These cyclical steps (S102 to S106, S109) may be repeatedly performed until only one of the matching signals is activated (S107: NO). If only one matching signal among the plurality of matching signals is activated in the ith partial search operation (PCOi) (S107: YES), the part after the (i+1)th partial search operation (PCO(i+1)) Search operations can be omitted.
매칭 신호들 중 하나의 매칭 신호만이 활성화된 경우(S107: YES), 상기 하나의 매칭 신호에 해당하는 엔트리 데이터를 상기 최대 엔트리 데이터로 결정하고, 최대 엔트리 탐색 동작의 결과를 출력할 수 있다(S108). 상기 결과는 최대 엔트리 데이터 및/또는 최대 엔트리 데이터의 위치 정보를 포함할 수 있다.When only one matching signal among the matching signals is activated (S107: YES), the entry data corresponding to the one matching signal is determined as the maximum entry data, and the result of the maximum entry search operation can be output ( S108). The result may include maximum entry data and/or location information of the maximum entry data.
도 10a 및 10b는 도 9의 최대 엔트리 탐색 동작의 일 예를 나타내는 도면들이다.FIGS. 10A and 10B are diagrams illustrating an example of the maximum entry search operation of FIG. 9.
도 10a는 내용 주소화 메모리에 저장되는 제1 내지 제5 엔트리 데이터들(ENT1~ENT5)의 일 예를 나타낸다. 제1 내지 제5 엔트리 데이터들(ENT1~ENT5)의 각각은 최상위 비트에 해당하는 제6 비트(B6) 내지 최하위 비트에 해당하는 제1 비트(B1)에 해당하는 6개의 비트들을 포함할 수 있다. 도 10a에 도시된 엔트리 데이터들의 개수 및 비트 수는 도시 및 설명의 편의를 위한 예시적인 것이며, 본 발명의 실시예들이 이에 한정되는 것은 아니다.FIG. 10A shows an example of first to fifth entry data ENT1 to ENT5 stored in a content addressable memory. Each of the first to fifth entry data (ENT1 to ENT5) may include six bits corresponding to the sixth bit (B6) corresponding to the most significant bit to the first bit (B1) corresponding to the least significant bit. . The number of entry data and the number of bits shown in FIG. 10A are exemplary for convenience of illustration and description, and embodiments of the present invention are not limited thereto.
도 10b는 도 10a의 데이터에 상응하는 최대 엔트리 탐색 동작을 나타낸다. Figure 10b shows the maximum entry search operation corresponding to the data in Figure 10a.
도 10a 및 10b를 참조하면, 1의 값을 갖는 제6 비트(B6)를 비교 대상 비트로서 내용 주소화 메모리에 인가하여 첫번째 부분 탐색 동작(PCO1)을 수행한다. 제1 내지 제5 엔트리 데이터들(ENT1~ENT5)의 제6 비트(B6)는 모두 0이므로 제1 내지 제5 매칭 신호들(MAT1~MAT5)은 모두 미스매치 경우를 나타내는 0의 값을 갖는다.Referring to FIGS. 10A and 10B, the sixth bit (B6) with a value of 1 is applied to the content addressable memory as a comparison target bit to perform the first partial search operation (PCO1). Since the sixth bit (B6) of the first to fifth entry data (ENT1 to ENT5) is all 0, the first to fifth matching signals (MAT1 to MAT5) all have a value of 0, indicating a mismatch.
첫번째 부분 탐색 동작(PCO1)의 결과 모든 매칭 신호들이 비활성화된 경우에 해당하므로 제6 비트(B6)를 0의 값으로 설정하고 제5 비트(B5)를 1의 값으로 설정한 후 제6 및 제5 비트들(B6, B5)을 2개의 비교 대상 비트들로서 내용 주소화 메모리에 인가하여 두번째 부분 탐색 동작(PCO2)을 수행한다.As a result of the first partial search operation (PCO1), all matching signals are deactivated, so the 6th bit (B6) is set to the value of 0, the 5th bit (B5) is set to the value of 1, and then the 6th and 5th bits are set to the value of 1. The second partial search operation (PCO2) is performed by applying 5 bits (B6, B5) as two comparison target bits to the content addressable memory.
두번째 부분 탐색 동작(PCO2)의 결과 제2 매칭 신호(MAT2)만이 매치 경우를 나타내는 1의 값으로 활성화되었으므로, 제2 매칭 신호(MAT2)에 상응하는 제2 엔트리 데이터(ENT2)를 최대 엔트리 데이터(MAXENT)로 결정한다.As a result of the second partial search operation (PCO2), only the second matching signal (MAT2) was activated with a value of 1 indicating a match case, so the second entry data (ENT2) corresponding to the second matching signal (MAT2) was set to the maximum entry data ( MAXENT).
도 11a 및 11b는 도 9의 최대 엔트리 탐색 동작의 다른 예를 나타내는 도면들이다.FIGS. 11A and 11B are diagrams showing another example of the maximum entry search operation of FIG. 9.
도 11a는 내용 주소화 메모리에 저장되는 제1 내지 제5 엔트리 데이터들(ENT1~ENT5)의 일 예를 나타내고, 도 11b는 도 11a의 데이터에 상응하는 최대 엔트리 탐색 동작을 나타낸다. FIG. 11A shows an example of first to fifth entry data ENT1 to ENT5 stored in the content addressable memory, and FIG. 11B shows a maximum entry search operation corresponding to the data in FIG. 11A.
도 11a 및 11b를 참조하면, 1의 값을 갖는 제6 비트(B6)를 비교 대상 비트로서 내용 주소화 메모리에 인가하여 첫번째 부분 탐색 동작(PCO1)을 수행한다. 제1 내지 제5 엔트리 데이터들(ENT1~ENT5)의 제6 비트(B6)는 모두 0이므로 제1 내지 제5 매칭 신호들(MAT1~MAT5)은 모두 미스매치 경우를 나타내는 0의 값을 갖는다.Referring to FIGS. 11A and 11B, the sixth bit (B6) with a value of 1 is applied to the content addressable memory as a comparison target bit to perform the first partial search operation (PCO1). Since the sixth bit (B6) of the first to fifth entry data (ENT1 to ENT5) is all 0, the first to fifth matching signals (MAT1 to MAT5) all have a value of 0, indicating a mismatch.
첫번째 부분 탐색 동작(PCO1)의 결과 모든 매칭 신호들이 비활성화된 경우에 해당하므로 제6 비트(B6)를 0의 값으로 설정하고 제5 비트(B5)를 1의 값으로 설정한 후 제6 및 제5 비트들(B6, B5)을 2개의 비교 대상 비트들로서 내용 주소화 메모리에 인가하여 두번째 부분 탐색 동작(PCO2)을 수행한다.As a result of the first partial search operation (PCO1), all matching signals are deactivated, so the 6th bit (B6) is set to the value of 0, the 5th bit (B5) is set to the value of 1, and then the 6th and 5th bits are set to the value of 1. The second partial search operation (PCO2) is performed by applying 5 bits (B6, B5) as two comparison target bits to the content addressable memory.
두번째 부분 탐색 동작(PCO2)의 결과 제2 매칭 신호(MAT2) 및 제4 매칭 신호(MAT4)가 매치 경우를 나타내는 1의 값으로 활성화되었으므로, 제5 비트(B5)를 1의 값으로 설정하고, 제4 비트(B4)를 1의 값으로 설정한 후 제6, 제5 및 제4 비트들(B6, B5, B4)을 3개의 비교 대상 비트들로서 내용 주소화 메모리에 인가하여 세번째 부분 탐색 동작(PCO3)을 수행한다.As a result of the second partial search operation (PCO2), the second matching signal (MAT2) and the fourth matching signal (MAT4) are activated with a value of 1 indicating a match case, so the fifth bit (B5) is set to a value of 1, After setting the fourth bit (B4) to the value of 1, the sixth, fifth and fourth bits (B6, B5, B4) are applied to the content addressable memory as three comparison target bits to perform the third partial search operation ( Perform PCO3).
세번째 부분 탐색 동작(PCO3)의 결과 모든 매칭 신호들이 비활성화된 경우에 해당하므로 제4 비트(B4)를 0의 값으로 설정하고 제3 비트를 1의 값으로 설정한 후 제6 내지 제3 비트들(B6~B3)을 4개의 비교 대상 비트들로서 내용 주소화 메모리에 인가하여 네번째 부분 탐색 동작(PCO4)을 수행한다.As a result of the third partial search operation (PCO3), all matching signals are deactivated, so the fourth bit (B4) is set to the value of 0, the third bit is set to the value of 1, and then the sixth to third bits are set. (B6 to B3) are applied to the content addressable memory as four comparison target bits to perform the fourth partial search operation (PCO4).
네번째 부분 탐색 동작(PCO4)의 결과 제2 매칭 신호(MAT2)만이 매치 경우를 나타내는 1의 값으로 활성화되었으므로, 제2 매칭 신호(MAT2)에 상응하는 제2 엔트리 데이터(ENT2)를 최대 엔트리 데이터(MAXENT)로 결정한다.As a result of the fourth partial search operation (PCO4), only the second matching signal (MAT2) was activated with a value of 1 indicating a match case, so the second entry data (ENT2) corresponding to the second matching signal (MAT2) was set to the maximum entry data ( MAXENT).
도 12는 본 발명의 실시예들에 따른 탐색 회로의 최소 엔트리 탐색 동작의 일 실시예를 나타내는 순서도이다.Figure 12 is a flowchart showing an example of a minimum entry search operation of a search circuit according to embodiments of the present invention.
도 12를 참조하면, 먼저 i의 값을 1로 초기화한다(S201). 탐색 데이터의 제(K-i+1) 비트를 0의 값으로 설정하고 탐색 데이터의 제1 내지 제(K-i) 비트들을 돈케어 값(DCV)으로 설정한다(S202). 이와 같이 탐색 데이터의 비교 대상 비트들 및 비교 제외 비트들을 설정한 후에 i번째 부분 탐색 동작(PCOi)을 수행한다(S203).Referring to FIG. 12, first, the value of i is initialized to 1 (S201). The (K-i+1)th bit of the search data is set to a value of 0, and the first to (K-i)th bits of the search data are set to the don care value (DCV) (S202). After setting the comparison target bits and comparison exclusion bits of the search data in this way, the ith partial search operation (PCOi) is performed (S203).
결과적으로, i의 값이 1인 경우를 보면, 0의 값을 갖는 제K 비트를 상기 비교 대상 비트로서 상기 내용 주소화 메모리에 인가하여 첫번째 부분 탐색 동작(OPR1)을 수행한다(S203).As a result, when the value of i is 1, the Kth bit with a value of 0 is applied to the content addressable memory as the comparison target bit to perform the first partial search operation (OPR1) (S203).
매칭 신호들 중 적어도 하나의 매칭 신호(MAT)가 활성화된 경우(예를 들어, 매치 경우를 나타내는 1의 값을 갖는 경우)(S204: YES), 탐색 데이터의 제(K-i+1) 비트를 0의 값으로 설정한다(S205). 매칭 신호들이 모두 비활성화된 경우(예를 들어, 미스매치 경우를 나타내는 0의 값을 갖는 경우)(S204: NO), 탐색 데이터의 제(K-i+1) 비트를 1의 값으로 설정한다(S206). 이후, i를 1만큼 증가시키고(S209), 이와 같은 단계들(202~206)을 반복한다. If at least one matching signal (MAT) among the matching signals is activated (e.g., has a value of 1 indicating a match case) (S204: YES), the (K-i+1)th bit of the search data Set to a value of 0 (S205). If all matching signals are deactivated (e.g., have a value of 0 indicating a mismatch case) (S204: NO), the (K-i+1)th bit of the search data is set to the value of 1 ( S206). Afterwards, i is increased by 1 (S209) and the same steps (202 to 206) are repeated.
이와 같이, 비교 대상 비트들의 개수가 i개에 해당하는 i번째 부분 탐색 동작(PCOi)에 의한 매칭 신호들에 기초하여 비교 대상 비트들의 개수가 (i+1)개에 해당하는 (i+1)번째 부분 탐색 동작(PCO(i+1))의 비교 대상 비트들의 값들을 결정할 수 있다.In this way, based on the matching signals by the ith partial search operation (PCOi) corresponding to i, the number of bits to be compared is (i+1), which is (i+1). The values of bits to be compared in the th partial search operation (PCO(i+1)) can be determined.
다시 말해, 타겟 엔트리 데이터가 최대 엔트리 데이터에 상응하는 경우, i번째 부분 탐색 동작(PCOi)에서 복수의 매칭 신호들 중 적어도 하나가 활성화된 경우 단계 S205에 따라서 제(K-i+1) 비트를 0의 값으로 설정하고, i번째 부분 탐색 동작(PCOi)에서 복수의 매칭 신호들이 모두 비활성화된 경우 단계 S206에 따라서 제(K-i+1) 비트를 1의 값으로 설정할 수 있다. 한편 i가 1만큼 증가된 후 단계 S202에 따라서 제(K-i) 비트를 0의 값으로 설정할 수 있다. 이와 같이 제K 내지 제(K-i+1) 비트들에 상응하는 비교 대상 비트들을 내용 주소화 메모리에 인가하여 (i+1)번째 부분 탐색 동작(PCO(i+1))을 수행하는 방식으로 두 번째 이후의 부분 탐색 동작들을 순차적으로 수행할 수 있다.In other words, if the target entry data corresponds to the maximum entry data, and at least one of the plurality of matching signals is activated in the ith partial search operation (PCOi), the (K-i+1)th bit is selected according to step S205. The value is set to 0, and when all the plurality of matching signals are deactivated in the ith partial search operation (PCOi), the (K-i+1)th bit can be set to the value of 1 according to step S206. Meanwhile, after i is increased by 1, the (K-i)th bit can be set to the value of 0 according to step S202. In this way, the (i+1)th partial search operation (PCO(i+1)) is performed by applying comparison target bits corresponding to the Kth to (K-i+1)th bits to the content addressable memory. You can sequentially perform the second and subsequent partial search operations.
이러한 순환적인 단계들(S202~S206, S209)은 매칭 신호들 중 하나의 매칭 신호만이 활성화되기 전까지(S207: NO) 반복하여 수행될 수 있다. i번째 부분 탐색 동작(PCOi)에서 복수의 매칭 신호들 중 하나의 매칭 신호만이 활성화된 경우, (i+1)번째 부분 탐색 동작(PCO(i+1)) 이후의 부분 탐색 동작들을 생략할 수 있다. These cyclical steps (S202 to S206, S209) may be repeatedly performed until only one of the matching signals is activated (S207: NO). If only one matching signal among the plurality of matching signals is activated in the ith partial search operation (PCOi), partial search operations after the (i+1)th partial search operation (PCO(i+1)) can be omitted. You can.
매칭 신호들 중 하나의 매칭 신호만이 활성화된 경우(S207: YES), 상기 하나의 매칭 신호에 해당하는 엔트리 데이터를 상기 최소 엔트리 데이터로 결정하고, 최소 엔트리 탐색 동작의 결과를 출력할 수 있다(S208). 상기 결과는 최소 엔트리 데이터 및/또는 최소 엔트리 데이터의 위치 정보를 포함할 수 있다.When only one matching signal among the matching signals is activated (S207: YES), the entry data corresponding to the one matching signal is determined as the minimum entry data, and the result of the minimum entry search operation can be output ( S208). The result may include minimum entry data and/or location information of the minimum entry data.
도 13a 및 13b는 도 12의 최대 엔트리 탐색 동작의 일 예를 나타내는 도면들이다.FIGS. 13A and 13B are diagrams illustrating an example of the maximum entry search operation of FIG. 12.
도 13a는 내용 주소화 메모리에 저장되는 제1 내지 제5 엔트리 데이터들(ENT1~ENT5)의 일 예를 나타내고, 도 13b는 도 13a의 데이터에 상응하는 최소 엔트리 탐색 동작을 나타낸다. FIG. 13A shows an example of first to fifth entry data ENT1 to ENT5 stored in a content addressable memory, and FIG. 13B shows a minimum entry search operation corresponding to the data of FIG. 13A.
도 13a 및 13b를 참조하면, 0의 값을 갖는 제6 비트(B6)를 비교 대상 비트로서 내용 주소화 메모리에 인가하여 첫번째 부분 탐색 동작(PCO1)을 수행한다. 제1 내지 제5 엔트리 데이터들(ENT1~ENT5)의 제6 비트(B6)는 모두 0이므로 제1 내지 제5 매칭 신호들(MAT1~MAT5)은 모두 매치 경우를 나타내는 1의 값을 갖는다.Referring to FIGS. 13A and 13B, the sixth bit (B6) with a value of 0 is applied to the content addressable memory as a comparison target bit to perform the first partial search operation (PCO1). Since the sixth bit (B6) of the first to fifth entry data (ENT1 to ENT5) is all 0, the first to fifth matching signals (MAT1 to MAT5) all have a value of 1 indicating a match case.
첫번째 부분 탐색 동작(PCO1)의 결과 적어도 하나의 매칭 신호가 활성화된 경우에 해당하므로 제6 비트(B6)를 0의 값으로 설정하고 제5 비트를 0의 값으로 설정한 후 제6 및 제5 비트들(B6, B5)을 2개의 비교 대상 비트들로서 내용 주소화 메모리에 인가하여 두번째 부분 탐색 동작(PCO2)을 수행한다. As a result of the first partial search operation (PCO1), at least one matching signal is activated, so the 6th bit (B6) is set to the value of 0, the 5th bit is set to the value of 0, and then the 6th and 5th bits are set to the value of 0. The second partial search operation (PCO2) is performed by applying the bits (B6, B5) as two comparison target bits to the content addressable memory.
두번째 부분 탐색 동작(PCO2) 및 세번째 부분 탐색 동작(PCO3)의 결과 적어도 하나의 매칭 신호가 활성화된 경우에 해당하므로, 제6 내지 제3 비트들(B6~B3)을 모두 0의 값으로 설정하고 네번째 부분 탐색 동작(PCO4)을 수행한다. Since at least one matching signal is activated as a result of the second partial search operation (PCO2) and the third partial search operation (PCO3), all sixth to third bits (B6 to B3) are set to the value of 0, and Perform the fourth partial search operation (PCO4).
네번째 부분 탐색 동작(PCO4)의 결과 제1 매칭 신호(MAT1)만이 매치 경우를 나타내는 1의 값으로 활성화되었으므로, 제1 매칭 신호(MAT1)에 상응하는 제1 엔트리 데이터(ENT1)를 최소 엔트리 데이터(MINENT)로 결정한다.As a result of the fourth partial search operation (PCO4), only the first matching signal (MAT1) was activated with a value of 1 indicating a match case, so the first entry data (ENT1) corresponding to the first matching signal (MAT1) was set to the minimum entry data ( MINENT).
도 14a 및 14b는 도 12의 최소 엔트리 탐색 동작의 다른 예를 나타내는 도면들이다.FIGS. 14A and 14B are diagrams showing another example of the minimum entry search operation of FIG. 12.
도 14a는 내용 주소화 메모리에 저장되는 제1 내지 제5 엔트리 데이터들(ENT1~ENT5)의 일 예를 나타내고, 도 14b는 도 14a의 데이터에 상응하는 최소 엔트리 탐색 동작을 나타낸다. FIG. 14A shows an example of first to fifth entry data ENT1 to ENT5 stored in a content addressable memory, and FIG. 14B shows a minimum entry search operation corresponding to the data of FIG. 14A.
도 14a 및 14b를 참조하면, 0의 값을 갖는 제6 비트(B6)를 비교 대상 비트로서 내용 주소화 메모리에 인가하여 첫번째 부분 탐색 동작(PCO1)을 수행한다. 제1 내지 제5 엔트리 데이터들(ENT1~ENT5)의 제6 비트(B6)는 모두 0이므로 제1 내지 제5 매칭 신호들(MAT1~MAT5)은 모두 매치 경우를 나타내는 1의 값을 갖는다.Referring to Figures 14a and 14b, the sixth bit (B6) with a value of 0 is applied to the content addressable memory as a comparison target bit to perform the first partial search operation (PCO1). Since the sixth bit (B6) of the first to fifth entry data (ENT1 to ENT5) is all 0, the first to fifth matching signals (MAT1 to MAT5) all have a value of 1 indicating a match case.
첫번째 부분 탐색 동작(PCO1)의 결과 적어도 하나의 매칭 신호가 활성화된 경우에 해당하므로 제6 비트(B6)를 0의 값으로 설정하고 제5 비트를 0의 값으로 설정한 후 제6 및 제5 비트들(B6, B5)을 2개의 비교 대상 비트들로서 내용 주소화 메모리에 인가하여 두번째 부분 탐색 동작(PCO2)을 수행한다. As a result of the first partial search operation (PCO1), at least one matching signal is activated, so the 6th bit (B6) is set to the value of 0, the 5th bit is set to the value of 0, and then the 6th and 5th bits are set to the value of 0. The second partial search operation (PCO2) is performed by applying the bits (B6, B5) as two comparison target bits to the content addressable memory.
두번째 부분 탐색 동작(PCO2) 및 세번째 부분 탐색 동작(PCO3)의 결과 적어도 하나의 매칭 신호가 활성화된 경우에 해당하므로, 제6 내지 제3 비트들(B6~B3)을 모두 0의 값으로 설정하고 네번째 부분 탐색 동작(PCO4)을 수행한다. Since at least one matching signal is activated as a result of the second partial search operation (PCO2) and the third partial search operation (PCO3), all sixth to third bits (B6 to B3) are set to the value of 0, and Perform the fourth partial search operation (PCO4).
네번째 부분 탐색 동작(PCO4)의 결과 제1 내지 제5 매칭 신호들(MAT1~MAT5)이 모두 미스매치 경우를 나타내는 0의 값으로 비활성화되었으므로, 제3 비트(B3)를 1의 값으로 설정하고 제2 비트(B2)를 0의 값으로 설정한 후 다섯번째 부분 탐색 동작(PCO5)을 수행한다.As a result of the fourth partial search operation (PCO4), the first to fifth matching signals (MAT1 to MAT5) were all deactivated with a value of 0 indicating a mismatch case, so the third bit (B3) was set to a value of 1 and the third bit (B3) was set to a value of 1. 2 After setting bit (B2) to the value of 0, perform the fifth partial search operation (PCO5).
다섯번째 부분 탐색 동작(PCO5)의 결과 제3 매칭 신호(MAT3)만이 매치 경우를 나타내는 1의 값으로 활성화되었으므로, 제3 매칭 신호(MAT3)에 상응하는 제3 엔트리 데이터(ENT3)를 최소 엔트리 데이터(MINENT)로 결정한다.As a result of the fifth partial search operation (PCO5), only the third matching signal (MAT3) was activated with a value of 1 indicating a match case, so the third entry data (ENT3) corresponding to the third matching signal (MAT3) was set to the minimum entry data. Decide on (MINENT).
도 15 및 16은 본 발명의 실시예들에 따른 메모리 시스템을 나타내는 도면들이다.15 and 16 are diagrams showing memory systems according to embodiments of the present invention.
도 15를 참조하면, 메모리 시스템(10)은 메모리 콘트롤러(100) 및 메모리 장치(200)를 포함한다. 메모리 콘트롤러(100)와 메모리 장치(200)의 각각은 상호간의 통신을 위한 인터페이스를 각각 포함한다. 상기 인터페이스들은 코맨드(CMD), 액세스 어드레스(ADDR), 클록 신호(CLK), 해머 어드레스(HADD) 등을 전송하기 위한 콘트롤 버스(21) 및 데이터를 전송하기 위한 데이터 버스(22)를 통하여 연결될 수 있다. 코맨드(CMD)는 어드레스(ADDR)를 포함하는 것으로 간주될 수 있다. 메모리 콘트롤러(100)는 메모리 장치(200)를 제어하기 위한 코맨드 신호(CMD)를 발생하고, 메모리 콘트롤러(100)의 제어에 따라서 메모리 장치(200)에 데이터(DATA)가 기입되거나 메모리 장치(200)로부터 데이터(DATA)가 독출될 수 있다. Referring to FIG. 15 , the
메모리 장치(200)는 해머 어드레스(HADD)를 제공하는 해머 어드레스 관리 회로(HMMAG)(300) 및 제공된 해머 어드레스(HADD)에 기초하여 해머 리프레쉬 동작을 수행하는 리프레쉬 콘트롤러 (RFCON)(400)를 포함할 수 있다.The
도 16을 참조하면, 메모리 시스템(11)은 콘트롤 버스(23) 및 데이터 버스(24)를 통하여 연결메모리 콘트롤러(101) 및 메모리 장치(201)를 포함한다.Referring to FIG. 16, the
도 15의 메모리 시스템(10)과 비교하여, 도 16의 메모리 시스템(11)은 메모리 콘트롤러(101)가 해머 어드레스(HADD)를 제공하는 해머 어드레스 관리 회로(HMMAG)(301)를 포함하고 메모리 장치(201)가 제공된 해머 어드레스(HADD)에 기초하여 해머 리프레쉬 동작을 수행하는 리프레쉬 콘트롤러(RFCON)(401)를 포함한다. 이 경우, 해머 어드레스(HADD)의 검출 및 리프레쉬 수행을 메모리 콘트롤러(101) 및 메모리 장치(201)에서 각각 수행하여 해머 리프레쉬 동작에 관한 부담(burden)을 분산함으로써 메모리 장치(201)의 사이즈를 감소하고 시스템(11)의 전체적인 성능을 향상시킬 수 있다.Compared to the
도 17은 본 발명의 실시예들에 따른 해머 어드레스 관리 회로를 나타내는 블록도이다.Figure 17 is a block diagram showing a hammer address management circuit according to embodiments of the present invention.
도 17을 참조하면, 해머 어드레스 관리 회로(300)는 내용 주소화 메모리(1010), 캠(CAM, content addressable memory) 콘트롤러(CAMCON)(1020), 어드레스 저장부(2010) 및 어드레스 콘트롤러(ADDCON)(2020)를 포함한다.Referring to FIG. 17, the hammer
어드레스 저장부(2020)는 액세스 어드레스 신호(ADDR)에 기초하여 복수의 행 어드레스들(ADD1~ADDN)을 저장한다. 내용 주소화 메모리(1010)는 최상위 비트에 해당하는 제K 비트 내지 최하위 비트에 해당하는 제1 비트에 해당하는 K개의 비트들을 각각 포함하고 복수의 행 어드레스들(ADD1~ADDN)의 액세스 횟수들을 각각 나타내는 액세스 카운트 데이터들(ENT1~ENTN)을 저장하는 복수의 캠 셀들을 포함한다. 내용 주소화 메모리(1010)는 복수의 액세스 카운트 데이터(ENT1~ENTN)들이 탐색 데이터와 일치하는지 여부를 나타내는 복수의 매칭 신호들을 제공한다.The
캠 콘트롤러(1020)는 상기 복수의 매칭 신호들에 기초하여 상기 복수의 액세스 카운트 데이터들(ENT1~ENTN) 중 타겟 카운트 데이터를 탐색하기 위하여, 상기 제1 내지 제K 비트들 중 일부에 해당하는 비교 대상 비트들을 상기 탐색 데이터로서 내용 주소화 메모리(1010)에 인가하여 상기 비교 대상 비트들에 상응하는 상기 복수의 액세스 카운트 데이터들의 비트들이 상기 비교 대상 비트들과 일치하는지 여부를 판별하는 부분 탐색 동작을 수행한다.The
어드레스 콘트롤러(2020)는 상기 타겟 카운트 데이터의 탐색 결과에 기초하여 어드레스 저장부(2010)에 저장된 복수의 행 어드레스들(ADD1~ADDN) 중에서 해머 어드레스(HADD)를 제공한다.The
캠 콘트롤러(1020)는, 부분 탐색 동작을 반복하여 수행하여, 즉 도 9 내지 11b를 참조하여 전술한 바와 같은 최대 엔트리 탐색 동작을 수행하여 복수의 액세스 카운트 데이터들(ENT1~ENTN) 중 최대 카운트 데이터를 상기 타겟 카운트 데이터로 결정한다. 어드레스 콘트롤러(2020)는, 캠 콘트롤러(1020)로부터 제공되는 최대 카운트 데이터의 위치 정보(MAXPT)에 기초하여 어드레스 저장부(2010)에 저장된 복수의 행 어드레스들(ADD1~ADDN) 중에서 상기 최대 카운트 데이터에 상응하는 행 어드레스를 해머 어드레스(HADD)로서 제공한다.The
한편, 캠 콘트롤러(1020)는, 부분 탐색 동작을 반복하여 수행하여, 즉 도 12 내지 14b를 참조하여 전술한 바와 같은 최소 엔트리 탐색 동작을 수행하여 복수의 액세스 카운트 데이터들(ENT1~ENTN) 중 최소 카운트 데이터를 상기 타겟 카운트 데이터로 결정한다. 어드레스 콘트롤러(2020)는, 어드레스 저장부(2010)에 저장된 복수의 행 어드레스들(ADD1~ADDN) 중에서 상기 최소 카운트 데이터에 상응하는 행 어드레스를 새로운 행 어드레스로 대체할 수 있다. 즉 최소 카운트 데이터에 상응하는 행 어드레스는 집중적으로 액세스되는 해머 어드레스의 가능성이 낮은 것으로 판단하고 관리 대상에서 배제할 수 있다.Meanwhile, the
한편, 캠 콘트롤러(1020)는 어드레스 콘트롤러(2020)로부터 제공되는 액세스 정보(ADDPT, NEWADD)에 기초하여 액세스 카운트 데이터들(ENT1~ENTN)의 값들을 증가시키거나 초기화할 수 있다.Meanwhile, the
종래에는 액세스 카운트 데이터들의 값들을 저장하는 카운터 회로들 및 액세스 카운트 데이터들의 값들 중 최대값 및/또는 최소값을 판별하기 위한 비교기들을 포함한다. 메모리 장치의 집적도가 증가할수록 저장해야 할 액세스 카운트 데이터들의 개수 및 비트 수가 증가하고, 많은 개수 및 큰 사이즈의 카운터 회로들 및 비교기들이 요구된다. 이와 같은 회로들은 메모리 장치의 사이즈를 증가시키고 설계 마진을 감소시킨다.Conventionally, it includes counter circuits for storing access count data values and comparators for determining the maximum and/or minimum value among the access count data values. As the degree of integration of a memory device increases, the number and bits of access count data to be stored increase, and counter circuits and comparators of a large number and size are required. Circuits like these increase the size of the memory device and reduce design margin.
본 발명의 실시예들에 따른 해머 어드레스 관리 회로는 저장된 데이터들 사이의 비교 기능을 내용 주소화 메모리에 대한 부분 탐색 동작 및 복수의 부분 탐색 동작들의 조합으로 대체함으로써 메모리 장치의 사이즈를 감소하고 해머 리프레쉬 동작의 효율을 향상시킬 수 있다.The hammer address management circuit according to embodiments of the present invention reduces the size of the memory device and refreshes the memory device by replacing the comparison function between stored data with a partial search operation for the content addressable memory and a combination of a plurality of partial search operations. The efficiency of operation can be improved.
도 18은 본 발명의 실시예들에 따른 메모리 장치에 포함되는 리프레쉬 콘트롤러의 일 실시예를 나타내는 블록도이다.FIG. 18 is a block diagram illustrating an example of a refresh controller included in a memory device according to embodiments of the present invention.
도 18을 참조하면, 리프레쉬 콘트롤러(400)는 타이밍 콘트롤러(timing controller)(410), 리프레쉬 카운터(refresh counter)(420) 및 어드레스 발생기(address generator)(430)를 포함할 수 있다. Referring to FIG. 18, the
타이밍 콘트롤러(410)는 노말 리프레쉬 동작의 타이밍을 나타내는 카운터 리프레쉬 신호(CREF) 및 해머 리프레쉬 동작의 타이밍을 나타내는 해머 리프레쉬 신호(HREF)를 발생한다. 도 20a, 도 20b 및 도 20c에 도시된 바와 같이 타이밍 콘트롤러(410)는 카운터 리프레쉬 신호(CREF) 및 해머 리프레쉬 신호(HREF)를 선택적으로 활성화할 수 있다. 타이밍 콘트롤러(410)의 동작은 도 20a, 도 20b 및 도 20c를 참조하여 후술한다. 리프레쉬 카운터(420)는 카운터 리프레쉬 신호(CREF)에 동기하여 순차적으로 변화하는 어드레스를 나타내는 카운터 리프레쉬 어드레스 신호(CRFADD)를 발생한다. 예를 들어, 리프레쉬 카운터(420)는 카운터 리프레쉬 신호(CREF)가 활성화될 때마다 카운터 리프레쉬 어드레스 신호(CRFADD)의 값을 1씩 증가시킬 수 있다. 이와 같이, 카운터 리프레쉬 어드레스 신호(CRFADD)의 값을 1씩 증가시킴으로써 노말 리프레쉬 동작을 위한 워드라인을 하나씩 순차적으로 선택할 수 있다.The timing controller 410 generates a counter refresh signal (CREF) indicating the timing of the normal refresh operation and a hammer refresh signal (HREF) indicating the timing of the hammer refresh operation. As shown in FIGS. 20A, 20B, and 20C, the timing controller 410 can selectively activate the counter refresh signal (CREF) and the hammer refresh signal (HREF). The operation of the timing controller 410 will be described later with reference to FIGS. 20A, 20B, and 20C. The refresh counter 420 generates a counter refresh address signal (CRFADD) indicating an address that changes sequentially in synchronization with the counter refresh signal (CREF). For example, the refresh counter 420 may increase the value of the counter refresh address signal CRFADD by 1 each time the counter refresh signal CREF is activated. In this way, word lines for the normal refresh operation can be sequentially selected one by one by increasing the value of the counter refresh address signal CRFADD by 1.
어드레스 발생기(430)는 해머 어드레스 관리 회로(300)로부터 제공되는 해머 어드레스(HADD)를 저장하고, 해머 리프레쉬 신호(HREF)에 동기하여 해머 어드레스(HADD)에 상응하는 행과 물리적으로 인접하는 행의 어드레스를 나타내는 해머 리프레쉬 어드레스 신호(HRFADD)를 발생한다. 어드레스 발생기(430)는 해머 어드레스 저장부(hammer address storage)(440) 및 매핑부(mapper)(450)를 포함할 수 있다. 해머 어드레스 저장부(440)는 해머 어드레스 관리 회로(300)로부터 제공되는 해머 어드레스(HADD)를 저장한다. The address generator 430 stores the hammer address (HADD) provided from the hammer
매핑부(450)는 해머 어드레스 저장부(440)로부터 제공되는 해머 어드레스(HADD)에 기초하여 해머 리프레쉬 어드레스 신호(HRFADD)를 발생한다. 도 19를 참조하여 설명하는 바와 같이, 해머 리프레쉬 어드레스 신호(HRFADD)는 해머 어드레스(HADD)에 상응하는 행과 물리적으로 인접하는 행의 어드레스를 나타낸다. The mapping unit 450 generates a hammer refresh address signal (HRFADD) based on the hammer address (HADD) provided from the hammer address storage unit 440. As described with reference to FIG. 19, the hammer refresh address signal (HRFADD) represents the address of a row that is physically adjacent to the row corresponding to the hammer address (HADD).
도 19는 워드라인 사이의 커플링에 의한 데이터 손상을 설명하기 위해 메모리 셀 어레이의 일부를 나타내는 도면이다.FIG. 19 is a diagram showing a portion of a memory cell array to explain data damage caused by coupling between word lines.
도 19에는 메모리 셀 어레이 내에서 행 방향(X)으로 신장되고(extended) 열 방향(Y)으로 인접하여 순차적으로 배열된(arranged) 3개의 워드라인들(WLs-1, WLs, WLs+1), 열 방향(Y)으로 신장되고 행 방향(X)으로 인접하여 순차적으로 배열된 3개의 비트라인들(BLp-1, BLp, BLp+1) 및 이들에 각각 결합된 메모리 셀들(MC)이 도시되어 있다.In Figure 19, three word lines (WLs-1, WLs, WLs+1) are extended in the row direction (X) and sequentially arranged adjacent to each other in the column direction (Y) within the memory cell array. , three bit lines (BLp-1, BLp, BLp+1) extending in the column direction (Y) and sequentially arranged adjacent to each other in the row direction (X) and memory cells (MC) respectively coupled to them are shown. It is done.
예를 들어, 가운데 워드라인(WLs)이 집중적으로 액세스되는 해머 어드레스(HADD)에 상응할 수 있다. 여기서 집중적으로 액세스된다는 것은 워드라인의 액티브 횟수가 많거나 액티브 빈도가 높다는 것을 말한다. 해머 워드라인(WLs)이 액세스되어 액티브 및 프리차지되면, 즉 해머 워드라인(WLs)의 전압이 상승 및 하강하면, 인접 워드라인들(WLs-1, WLs+1) 사이에 발생하는 커플링 현상으로 인해 인접 워드라인들(WLs-1, WLs+1)의 전압이 함께 상승 및 하강하면서 인접 워드라인들(WLs-1, WLs+1)에 연결된 메모리 셀들(MC)에 충전된 셀 전하에 영향을 미친다. 해머 워드라인(WLs)가 빈번하게 액세스될수록 인접 워드라인들(WLs-1, WLs+1)에 연결된 메모리 셀들(MC)의 셀 전하가 소실되고 저장된 데이터가 손상될 가능성이 높아진다. For example, the middle word lines (WLs) may correspond to hammer addresses (HADD) that are intensively accessed. Here, intensive access means that the number of word lines is active is high or the frequency of activation is high. When the hammer word line (WLs) is accessed and active and precharged, that is, when the voltage of the hammer word line (WLs) rises and falls, a coupling phenomenon that occurs between adjacent word lines (WLs-1, WLs+1) As a result, the voltage of adjacent word lines (WLs-1, WLs+1) rises and falls together, affecting the cell charges charged in the memory cells (MC) connected to adjacent word lines (WLs-1, WLs+1). It's crazy. The more frequently the hammer word line (WLs) is accessed, the more likely it is that the cell charges of the memory cells (MC) connected to the adjacent word lines (WLs-1, WLs+1) will be lost and the stored data will be damaged.
도 18의 어드레스 발생기(430)는 해머 어드레스(HADD)에 상응하는 행(WLs)과 물리적으로 인접하는 행(WLs-1, WLs+1)의 어드레스(HRFADD1, HRFADD2))를 나타내는 해머 리프레쉬 어드레스 신호(HRFADD)를 제공하고, 이러한 해머 리프레쉬 어드레스 신호(HRFADD)에 기초하여 인접 워드라인들(WLs-1, WLs+1)에 대한 해머 리프레쉬 동작을 추가적으로 수행함으로써 집중적인 액세스에 의한 메모리 셀들의 데이터 손상을 방지할 수 있다.The address generator 430 of FIG. 18 generates a hammer refresh address signal indicating the addresses (HRFADD1, HRFADD2) of the row (WLs) corresponding to the hammer address (HADD) and the physically adjacent rows (WLs-1, WLs+1). (HRFADD) and additionally performs a hammer refresh operation on adjacent word lines (WLs-1, WLs+1) based on the hammer refresh address signal (HRFADD) to prevent data damage in memory cells due to intensive access. can be prevented.
도 20a, 20b 및 20c는 본 발명의 실시예들에 따른 메모리 장치에 포함되는 리프레쉬 콘트롤러의 동작 예들을 나타내는 타이밍도들이다.20A, 20B, and 20C are timing diagrams showing examples of operations of a refresh controller included in a memory device according to embodiments of the present invention.
도 20a, 도 20b 및 도 20c에는 t1~t19에서 펄스 형태로 활성화되는 리프레쉬 신호(IREF)에 대하여 카운터 리프레쉬 신호(CREF), 해머 리프레쉬 신호(HREF), 카운터 리프레쉬 어드레스 신호(CRFADD) 및 해머 리프레쉬 어드레스 신호(HRFADD)의 발생에 관한 실시예들이 도시되어 있다.20A, 20B, and 20C show the counter refresh signal (CREF), hammer refresh signal (HREF), counter refresh address signal (CRFADD), and hammer refresh address for the refresh signal (IREF) activated in pulse form from t1 to t19. Embodiments regarding the generation of signal HRFADD are shown.
도 18 및 도 20a를 참조하면, 타이밍 콘트롤러(410)는 리프레쉬 신호(IREF)의 활성화 시점들(t1~t19) 중 일부(t1~t4, t6~t10, t12~t16, t18~t19)에 동기하여 카운터 리프레쉬 신호(CREF)를 활성화하고 리프레쉬 신호(IREF)의 활성화 시점들(t1~T19) 중 나머지 일부(t5, t11, t17)에 동기하여 해머 리프레쉬 신호(HREF)를 활성화할 수 있다.Referring to FIGS. 18 and 20A, the timing controller 410 is synchronized to some (t1 to t4, t6 to t10, t12 to t16, and t18 to t19) of the activation points (t1 to t19) of the refresh signal (IREF). Thus, the counter refresh signal CREF can be activated and the hammer refresh signal HREF can be activated in synchronization with the remaining portions (t5, t11, and t17) of the activation points (t1 to T19) of the refresh signal (IREF).
리프레쉬 카운터(420)는 카운터 리프레쉬 신호(CREF)의 활성화 시점들(t1~t4, t6~t10, t12~t16, t18~t19)에 동기하여 순차적으로 변화하는 어드레스(X+1~X+16)를 나타내는 카운터 리프레쉬 어드레스 신호(CRFADD)를 발생한다. 어드레스 발생기(430)는 해머 리프레쉬 신호(HREF)의 활성화 시점들(t5, t11, t17)에 동기하여 전술한 해머 어드레스(HADD)에 상응하는 행과 물리적으로 인접하는 행의 어드레스(Ha, Hb, Hc)를 나타내는 해머 리프레쉬 어드레스 신호(HRFADD)를 발생한다. The refresh counter 420 has addresses (X+1 to Generates a counter refresh address signal (CRFADD) indicating . The address generator 430 generates addresses (Ha, Hb, A hammer refresh address signal (HRFADD) representing Hc) is generated.
도 20a에 도시된 바와 같이, 어드레스 발생기(430)의 매핑부(450)는 인접하는 두 개의 행들 중 하나의 행에 상응하는 어드레스를 제공할 수 있다. 예를 들어, Ha는 시점 t5에서의 해머 어드레스보다 1만큼 작은 어드레스이고, Hb는 시점 t11에서의 해머 어드레스보다 1만큼 큰 어드레스로 제공하는 것과 같이, 해머 어드레스(MXADD)가 활성화되는 시점마다 해머 어드레스보다 큰 어드레스 및 작은 어드레스를 교호적으로(alternatively) 제공할 수 있다. As shown in FIG. 20A, the mapping unit 450 of the address generator 430 may provide an address corresponding to one of two adjacent rows. For example, Ha is an address that is 1 smaller than the hammer address at time t5, and Hb is an address that is 1 larger than the hammer address at time t11, such that the hammer address is provided every time the hammer address (MXADD) is activated. Larger addresses and smaller addresses can be provided alternatively.
이하 도 20b 및 20c의 타이밍도들은 도 20a와 유사하므로 중복되는 설명은 생략한다. 도 20a의 경우에는 해머 리프레쉬 신호(HREF)가 활성화되는 시점에서 카운터 리프레쉬 신호(CREF)가 비활성화되지만, 도 20b에 도시된 바와 같이 카운터 리프레쉬 신호(CREF)는 해머 리프레쉬 신호(HREF)에 관계없이 주기적으로 활성화될 수 있다. Hereinafter, the timing diagrams of FIGS. 20B and 20C are similar to those of FIG. 20A, so duplicate descriptions will be omitted. In the case of FIG. 20A, the counter refresh signal (CREF) is deactivated at the point when the hammer refresh signal (HREF) is activated, but as shown in FIG. 20B, the counter refresh signal (CREF) is periodically activated regardless of the hammer refresh signal (HREF). It can be activated with .
한편, 도 20c에 도시된 바와 같이, 어드레스 발생기(430)의 매핑부(450)는 인접하는 두 개의 행들에 상응하는 어드레스들을 순차적으로 제공할 수 있다. 예를 들어, Ha1은 시점 t5에서의 해머 어드레스보다 1만큼 작은 어드레스이고, Ha2는 시점 t5에서의 해머 어드레스보다 1만큼 큰 어드레스로 제공하는 것과 같이, 해머 어드레스(MXADD)가 활성화되는 시점마다 해머 어드레스보다 큰 어드레스 및 작은 어드레스를 순차적으로 (sequentially) 제공할 수 있다.Meanwhile, as shown in FIG. 20C, the mapping unit 450 of the address generator 430 may sequentially provide addresses corresponding to two adjacent rows. For example, Ha1 is an address smaller by 1 than the hammer address at time t5, and Ha2 is an address larger than the hammer address at time t5 by 1, such that the hammer address is provided each time the hammer address (MXADD) is activated. Larger addresses and smaller addresses can be provided sequentially.
도 21은 본 발명의 실시예들에 따른 메모리 장치를 포함하는 모바일 시스템을 나타내는 블록도이다.Figure 21 is a block diagram showing a mobile system including a memory device according to embodiments of the present invention.
도 21을 참조하면, 모바일 시스템(1200)은 어플리케이션 프로세서(1210), 통신(Connectivity)부(1220), 메모리 장치(1230), 비휘발성 메모리 장치(1240), 사용자 인터페이스(1250) 및 파워 서플라이(1260)를 포함한다.Referring to FIG. 21, the
어플리케이션 프로세서(1210)는 인터넷 브라우저, 게임, 동영상 등을 제공하는 어플리케이션들을 실행할 수 있다. 통신부(1220)는 외부 장치와 무선 통신 또는 유선 통신을 수행할 수 있다. 메모리 장치(1230)는 어플리케이션 프로세서(1210)에 의해 처리되는 데이터를 저장하거나, 동작 메모리(Working Memory)로서 작동할 수 있다. 비휘발성 메모리 장치(1240)는 모바일 시스템(1200)을 부팅하기 위한 부트 이미지를 저장할 수 있다. 사용자 인터페이스(1250)는 키패드, 터치 스크린과 같은 하나 이상의 입력 장치, 및/또는 스피커, 디스플레이 장치와 같은 하나 이상의 출력 장치를 포함할 수 있다. 파워 서플라이(1260)는 모바일 시스템(1200)의 동작 전압을 공급할 수 있다. The
일 실시예에서, 도 15를 참조하여 설명한 바와 같이 메모리 장치(1230)는 해머 어드레스 관리 회로(300) 및 리프레쉬 콘트롤러(400)를 포함할 수 있다. 다른 실시예에서, 도 16을 참조하여 설명한 바와 같이 어플리케이션 프로세서(1210)는 해머 어드레스 관리 회로(300)를 포함하고 메모리 장치(1230)는 리프레쉬 콘트롤러(400)를 포함할 수 있다.In one embodiment, as described with reference to FIG. 15 , the
해머 어드레스 관리 회로(300)는 도 1 내지 14b를 참조하여 설명한 바와 같은 탐색 회로를 이용하여 액세스 카운트 값들 중 최대값 및 최소값을 효율적으로 탐색하고 해머 어드레스 관리 회로(300)의 사이즈를 감소할 수 있다.The hammer
본 발명의 실시예들은 데이터의 탐색 기능이 요구되는 장치 및 이를 포함하는 시스템에 유용하게 이용될 수 있다. 특히 본 발명의 실시예들은 메모리 카드, 솔리드 스테이트 드라이브(Solid State Drive; SSD), 임베디드 멀티미디어 카드(eMMC, embedded multimedia card), 유니버셜 플래시 스토리지(UFS, universal flash storage), 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular phone), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console), 네비게이션(navigation) 기기, 웨어러블(wearable) 기기, IoT(internet of things;) 기기, IoE(internet of everything:) 기기, e-북(e-book), VR(virtual reality) 기기, AR(augmented reality) 기기 등과 같은 전자 기기에 더욱 유용하게 적용될 수 있다.Embodiments of the present invention can be usefully used in devices requiring a data search function and systems including the same. In particular, embodiments of the present invention are used in memory cards, solid state drives (SSD), embedded multimedia cards (eMMC), universal flash storage (UFS), computers, and laptops ( Laptop, cellular phone, smart phone, MP3 player, Personal Digital Assistants (PDA), Portable Multimedia Player (PMP), digital TV, digital camera, portable game console ), navigation devices, wearable devices, IoT (internet of things) devices, IoE (internet of everything:) devices, e-books, VR (virtual reality) devices, AR ( It can be more usefully applied to electronic devices such as augmented reality devices.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.Although the present invention has been described above with reference to preferred embodiments, those skilled in the art can make various modifications and changes to the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. You will understand that you can.
Claims (20)
상기 복수의 매칭 신호들에 기초하여 상기 복수의 엔트리 데이터들 중 타겟 엔트리 데이터를 탐색하기 위하여, 상기 제1 내지 제K 비트들 중 일부에 해당하는 비교 대상 비트들을 상기 탐색 데이터로서 상기 내용 주소화 메모리에 인가하여 상기 비교 대상 비트들에 상응하는 상기 복수의 엔트리 데이터들의 비트들이 상기 비교 대상 비트들과 일치하는지 여부를 판별하는 부분 탐색 동작을 수행하는 캠 콘트롤러를 포함하고,
상기 캠 콘트롤러는,
상기 비교 대상 비트들을 상기 제K 비트부터 하위 비트 방향으로 1개씩 순차적으로 증가시키면서 상기 부분 탐색 동작을 반복하여 수행하여 상기 복수의 엔트리 데이터들 중 최대 엔트리 데이터 또는 최소 엔트리 데이터를 상기 타겟 엔트리 데이터로서 결정하는 탐색 회로.A plurality of CAM (content addressable memory) cells storing a plurality of entry data each containing K bits corresponding to the Kth bit corresponding to the most significant bit to the first bit corresponding to the least significant bit, a content addressing memory that provides a plurality of matching signals indicating whether a plurality of entry data matches search data; and
In order to search for target entry data among the plurality of entry data based on the plurality of matching signals, comparison target bits corresponding to some of the first to Kth bits are used as the search data in the content addressable memory. and a cam controller that performs a partial search operation to determine whether bits of the plurality of entry data corresponding to the bits to be compared match the bits to be compared,
The cam controller is,
By repeatedly performing the partial search operation while sequentially increasing the bits to be compared by one in the direction from the Kth bit to the lower bit, determining the maximum entry data or minimum entry data among the plurality of entry data as the target entry data. navigation circuit.
상기 캠 콘트롤러는,
상기 비교 대상 비트들의 개수가 i개에 해당하는 i번째 부분 탐색 동작에 의한 상기 매칭 신호들에 기초하여 상기 비교 대상 비트들의 개수가 (i+1)개에 해당하는 (i+1)번째 부분 탐색 동작의 상기 비교 대상 비트들의 값들을 결정하는 것을 특징으로 하는 탐색 회로.According to claim 1,
The cam controller is,
Search for the (i+1)th part where the number of bits to be compared is (i+1) based on the matching signals by the ith partial search operation where the number of bits to be compared is (i+1). A search circuit, characterized in that determining the values of the bits to be compared for operation.
상기 캠 콘트롤러는,
상기 i번째 부분 탐색 동작에서 상기 복수의 매칭 신호들 중 하나의 매칭 신호만이 활성화된 경우, 상기 (i+1)번째 부분 탐색 동작 이후의 부분 탐색 동작들을 생략하는 것을 특징으로 하는 탐색 회로.According to clause 4,
The cam controller is,
A search circuit, wherein when only one matching signal among the plurality of matching signals is activated in the i-th partial search operation, partial search operations after the (i+1)-th partial search operation are omitted.
상기 캠 콘트롤러는,
상기 타겟 엔트리 데이터가 상기 최대 엔트리 데이터에 상응하는 경우, 1의 값을 갖는 상기 제K 비트를 상기 비교 대상 비트로서 상기 내용 주소화 메모리에 인가하여 첫번째 부분 탐색 동작을 수행하는 것을 특징으로 하는 탐색 회로.According to claim 1,
The cam controller is,
When the target entry data corresponds to the maximum entry data, the K-th bit with a value of 1 is applied to the content addressable memory as the comparison target bit to perform a first partial search operation. .
상기 캠 콘트롤러는,
상기 타겟 엔트리 데이터가 상기 최대 엔트리 데이터에 상응하는 경우, i번째 부분 탐색 동작에서 상기 복수의 매칭 신호들 중 적어도 하나가 활성화된 경우 제(K-i+1) 비트를 1의 값으로 설정하고, 상기 i번째 부분 탐색 동작에서 상기 복수의 매칭 신호들이 모두 비활성화된 경우 상기 제(K-i+1) 비트를 0의 값으로 설정하고, 제(K-i) 비트를 1의 값으로 설정하여 상기 제K 내지 제(K-i+1) 비트들에 상응하는 상기 비교 대상 비트들을 상기 내용 주소화 메모리에 인가하여 (i+1)번째 부분 탐색 동작을 수행하는 방식으로 두 번째 이후의 부분 탐색 동작들을 순차적으로 수행하는 것을 특징으로 하는 탐색 회로.According to clause 6,
The cam controller is,
If the target entry data corresponds to the maximum entry data, and if at least one of the plurality of matching signals is activated in the ith partial search operation, set the (K-i+1)th bit to the value of 1, When all of the plurality of matching signals are deactivated in the ith partial search operation, the (K-i+1)th bit is set to a value of 0, and the (Ki)th bit is set to a value of 1 to The second and subsequent partial search operations are sequentially performed by applying the comparison target bits corresponding to the (K-i+1)th to (K-i+1)th bits to the content addressable memory to perform the (i+1)th partial search operation. A search circuit characterized in that it is performed by.
상기 캠 콘트롤러는,
상기 복수의 매칭 신호들 중 하나의 매칭 신호만이 활성화된 경우, 활성화된 상기 하나의 매칭 신호에 해당하는 엔트리 데이터를 상기 최대 엔트리 데이터로 결정하는 것을 특징으로 하는 탐색 회로.According to clause 7,
The cam controller is,
When only one matching signal among the plurality of matching signals is activated, the search circuit determines entry data corresponding to the activated matching signal as the maximum entry data.
상기 캠 콘트롤러는,
상기 타겟 엔트리 데이터가 상기 최소 엔트리 데이터에 상응하는 경우, 0의 값을 갖는 상기 제K 비트를 상기 비교 대상 비트로서 상기 내용 주소화 메모리에 인가하여 첫번째 부분 탐색 동작을 수행하는 것을 특징으로 하는 탐색 회로.According to claim 1,
The cam controller is,
When the target entry data corresponds to the minimum entry data, the K-th bit with a value of 0 is applied to the content addressable memory as the comparison target bit to perform a first partial search operation. .
상기 캠 콘트롤러는,
상기 타겟 엔트리 데이터가 상기 최소 엔트리 데이터에 상응하는 경우, i번째 부분 탐색 동작에서 상기 복수의 매칭 신호들 중 적어도 하나가 활성화된 경우 제(K-i+1) 비트를 0의 값으로 설정하고, 상기 i번째 부분 탐색 동작에서 상기 복수의 매칭 신호들이 모두 비활성화된 경우 상기 제(K-i+1) 비트를 1의 값으로 설정하고, 제(K-i) 비트를 0의 값으로 설정하여 상기 제K 내지 제(K-i+1) 비트들에 상응하는 상기 비교 대상 비트들을 상기 내용 주소화 메모리에 인가하여 (i+1)번째 부분 탐색 동작을 수행하는 방식으로 두 번째 이후의 부분 탐색 동작들을 순차적으로 수행하는 것을 특징으로 하는 탐색 회로.According to clause 9,
The cam controller is,
If the target entry data corresponds to the minimum entry data, and if at least one of the plurality of matching signals is activated in the ith partial search operation, set the (K-i+1)th bit to a value of 0, When all of the plurality of matching signals are deactivated in the ith partial search operation, the (K-i+1)th bit is set to a value of 1, and the (Ki)th bit is set to a value of 0 to The second and subsequent partial search operations are sequentially performed by applying the comparison target bits corresponding to the (K-i+1)th to (K-i+1)th bits to the content addressable memory to perform the (i+1)th partial search operation. A search circuit characterized in that it is performed by.
상기 캠 콘트롤러는,
상기 복수의 매칭 신호들 중 하나의 매칭 신호만이 활성화된 경우, 활성화된 상기 하나의 매칭 신호에 해당하는 엔트리 데이터를 상기 최소 엔트리 데이터로 결정하는 것을 특징으로 하는 탐색 회로.According to claim 10,
The cam controller is,
When only one matching signal among the plurality of matching signals is activated, the search circuit determines entry data corresponding to the activated matching signal as the minimum entry data.
집중적으로 액세스되는 해머 어드레스를 결정하여 제공하는 해머 어드레스 관리 회로; 및
상기 해머 어드레스에 상응하는 행과 물리적으로 인접하는 행에 대한 해머 리프레쉬 동작을 수행하는 리프레쉬 콘트롤러를 포함하고,
상기 해머 어드레스 관리 회로는,
액세스 어드레스 신호에 기초하여 복수의 행 어드레스들을 저장하는 어드레스 저장부;
최상위 비트에 해당하는 제K 비트 내지 최하위 비트에 해당하는 제1 비트에 해당하는 K개의 비트들을 각각 포함하고 상기 복수의 행 어드레스들의 액세스 횟수들을 각각 나타내는 액세스 카운트 데이터들을 저장하는 복수의 캠(CAM, content addressable memory) 셀들을 포함하고, 상기 복수의 액세스 카운트 데이터들이 탐색 데이터와 일치하는지 여부를 나타내는 복수의 매칭 신호들을 제공하는 내용 주소화 메모리;
상기 복수의 매칭 신호들에 기초하여 상기 복수의 액세스 카운트 데이터들 중 타겟 카운트 데이터를 탐색하기 위하여, 상기 제1 내지 제K 비트들 중 일부에 해당하는 비교 대상 비트들을 상기 탐색 데이터로서 상기 내용 주소화 메모리에 인가하여 상기 비교 대상 비트들에 상응하는 상기 복수의 액세스 카운트 데이터들의 비트들이 상기 비교 대상 비트들과 일치하는지 여부를 판별하는 부분 탐색 동작을 수행하는 캠 콘트롤러; 및
상기 타겟 카운트 데이터의 탐색 결과에 기초하여 상기 어드레스 저장부에 저장된 상기 복수의 행 어드레스들 중에서 상기 해머 어드레스를 제공하는 어드레스 콘트롤러를 포함하는 메모리 시스템.a memory cell array including a plurality of memory cells;
a hammer address management circuit that determines and provides hammer addresses that are accessed intensively; and
A refresh controller that performs a hammer refresh operation on a row corresponding to the hammer address and a row physically adjacent to the hammer address,
The hammer address management circuit is:
an address storage unit that stores a plurality of row addresses based on an access address signal;
A plurality of CAMs, each including K bits corresponding to the K bit corresponding to the most significant bit to the first bit corresponding to the least significant bit, and storing access count data respectively indicating the number of accesses of the plurality of row addresses. a content addressable memory) comprising cells and providing a plurality of matching signals indicating whether the plurality of access count data matches search data;
In order to search for target count data among the plurality of access count data based on the plurality of matching signals, the comparison target bits corresponding to some of the first to Kth bits are addressed as the search data. a cam controller that applies a partial search operation to a memory to determine whether bits of the plurality of access count data corresponding to the bits to be compared match the bits to be compared; and
A memory system comprising an address controller providing the hammer address from among the plurality of row addresses stored in the address storage unit based on a search result of the target count data.
상기 캠 콘트롤러는,
상기 비교 대상 비트들을 상기 제K 비트부터 하위 비트 방향으로 1개씩 순차적으로 증가시키면서 상기 부분 탐색 동작을 반복하여 수행하여, 상기 복수의 액세스 카운트 데이터들 중 최대 카운트 데이터 또는 최소 카운트 데이터를 상기 타겟 카운트 데이터로서 결정하는 것을 특징으로 하는 메모리 시스템.According to claim 15,
The cam controller is,
By repeatedly performing the partial search operation while sequentially increasing the bits to be compared by one in the direction from the Kth bit to the lower bit, the maximum count data or minimum count data among the plurality of access count data is converted to the target count data. A memory system characterized by determining as .
상기 캠 콘트롤러는, 상기 부분 탐색 동작을 반복하여 수행하여 상기 복수의 액세스 카운트 데이터들 중 최대 카운트 데이터를 상기 타겟 카운트 데이터로 결정하고,
상기 어드레스 콘트롤러는, 상기 어드레스 저장부에 저장된 상기 복수의 행 어드레스들 중에서 상기 최대 카운트 데이터에 상응하는 행 어드레스를 상기 해머 어드레스로서 제공하는 것을 특징으로 하는 메모리 시스템.According to claim 15,
The cam controller repeatedly performs the partial search operation to determine the maximum count data among the plurality of access count data as the target count data,
The address controller provides a row address corresponding to the maximum count data among the plurality of row addresses stored in the address storage unit as the hammer address.
상기 캠 콘트롤러는, 상기 부분 탐색 동작을 반복하여 수행하여 상기 복수의 액세스 카운트 데이터들 중 최소 카운트 데이터를 상기 타겟 카운트 데이터로 결정하고,
상기 어드레스 콘트롤러는, 상기 어드레스 저장부에 저장된 복수의 행 어드레스들 중에서 상기 최소 카운트 데이터에 상응하는 행 어드레스를 새로운 행 어드레스로 대체하는 것을 특징으로 하는 메모리 시스템.According to claim 15,
The cam controller repeatedly performs the partial search operation to determine minimum count data among the plurality of access count data as the target count data,
The address controller replaces the row address corresponding to the minimum count data among the plurality of row addresses stored in the address storage unit with a new row address.
상기 내용 주소화 메모리는 상기 복수의 액세스 카운트 데이터들의 상기 제1 내지 제K 비트들의 각각에 0의 값 또는 1의 값을 저장하는 이진 내용 주소화 메모리(BCAM, binary CAM)인 것을 특징으로 하는 메모리 시스템,According to claim 15,
The content addressable memory is a binary content addressable memory (BCAM, binary CAM) that stores a value of 0 or a value of 1 in each of the first to Kth bits of the plurality of access count data. system,
최상위 비트에 해당하는 제K 비트 내지 최하위 비트에 해당하는 제1 비트에 해당하는 K개의 비트들을 각각 포함하고 상기 복수의 행 어드레스들의 액세스 횟수들을 각각 나타내는 액세스 카운트 데이터들을 저장하는 복수의 캠(CAM, content addressable memory) 셀들을 포함하고, 상기 복수의 액세스 카운트 데이터들이 탐색 데이터와 일치하는지 여부를 나타내는 복수의 매칭 신호들을 제공하는 내용 주소화 메모리; 및
상기 복수의 매칭 신호들에 기초하여 상기 복수의 액세스 카운트 데이터들 중 타겟 카운트 데이터를 탐색하기 위하여, 상기 제1 내지 제K 비트들 중 일부에 해당하는 비교 대상 비트들을 상기 탐색 데이터로서 상기 내용 주소화 메모리에 인가하여 상기 비교 대상 비트들에 상응하는 상기 복수의 액세스 카운트 데이터들의 비트들이 상기 비교 대상 비트들과 일치하는지 여부를 판별하는 부분 탐색 동작을 수행하는 캠 콘트롤러; 및
상기 타겟 카운트 데이터의 탐색 결과에 기초하여 상기 어드레스 저장부에 저장된 상기 복수의 행 어드레스들 중에서 집중적으로 액세스되는 해머 어드레스를 제공하는 어드레스 콘트롤러를 포함하는 메모리 시스템의 해머 어드레스 관리 회로.
an address storage unit that stores a plurality of row addresses based on an address signal provided to a memory device;
A plurality of CAMs, each including K bits corresponding to the K bit corresponding to the most significant bit to the first bit corresponding to the least significant bit, and storing access count data respectively indicating the number of accesses of the plurality of row addresses. a content addressable memory) comprising cells and providing a plurality of matching signals indicating whether the plurality of access count data matches search data; and
In order to search for target count data among the plurality of access count data based on the plurality of matching signals, the comparison target bits corresponding to some of the first to Kth bits are addressed as the search data. a cam controller that applies a partial search operation to a memory to determine whether bits of the plurality of access count data corresponding to the bits to be compared match the bits to be compared; and
A hammer address management circuit of a memory system including an address controller that provides a hammer address to be accessed intensively among the plurality of row addresses stored in the address storage unit based on a search result of the target count data.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190075535A KR102587962B1 (en) | 2019-06-25 | 2019-06-25 | Search circuit, hammer address management circuit and memory system including the same |
US16/806,487 US11107531B2 (en) | 2019-06-25 | 2020-03-02 | Search circuits, hammer address management circuits, and memory systems including the same |
SG10202002810PA SG10202002810PA (en) | 2019-06-25 | 2020-03-26 | Search circuits, hammer address management circuits, and memory systems including the same |
CN202010581826.7A CN112133350A (en) | 2019-06-25 | 2020-06-23 | Search circuit, hammer address management circuit and memory system including the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190075535A KR102587962B1 (en) | 2019-06-25 | 2019-06-25 | Search circuit, hammer address management circuit and memory system including the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210000440A KR20210000440A (en) | 2021-01-05 |
KR102587962B1 true KR102587962B1 (en) | 2023-10-11 |
Family
ID=73851827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190075535A KR102587962B1 (en) | 2019-06-25 | 2019-06-25 | Search circuit, hammer address management circuit and memory system including the same |
Country Status (4)
Country | Link |
---|---|
US (1) | US11107531B2 (en) |
KR (1) | KR102587962B1 (en) |
CN (1) | CN112133350A (en) |
SG (1) | SG10202002810PA (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11158364B2 (en) | 2019-05-31 | 2021-10-26 | Micron Technology, Inc. | Apparatuses and methods for tracking victim rows |
US11158373B2 (en) * | 2019-06-11 | 2021-10-26 | Micron Technology, Inc. | Apparatuses, systems, and methods for determining extremum numerical values |
US11398268B1 (en) * | 2021-02-02 | 2022-07-26 | Macronix International Co., Ltd. | Memory device and operation method for the same |
KR20230032052A (en) * | 2021-08-30 | 2023-03-07 | 삼성전자주식회사 | Memory controller and memory system including the same |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR850000116A (en) * | 1983-05-31 | 1985-02-25 | 글렌 에이취. 브르스틀 | Video disc player |
US6360344B1 (en) | 1998-12-31 | 2002-03-19 | Synopsys, Inc. | Built in self test algorithm that efficiently detects address related faults of a multiport memory without detailed placement and routing information |
US6373738B1 (en) * | 2000-11-20 | 2002-04-16 | International Business Machines Corporation | Low power CAM match line circuit |
US6775166B2 (en) * | 2002-08-30 | 2004-08-10 | Mosaid Technologies, Inc. | Content addressable memory architecture |
US6816396B2 (en) | 2003-04-01 | 2004-11-09 | International Business Machines Corporation | Apparatus for detecting multiple hits in a CAMRAM memory array |
GB2436272B (en) | 2005-01-27 | 2011-01-19 | Spansion Llc | Semiconductor device, address assignment method, and verify method |
WO2008053472A2 (en) | 2006-10-30 | 2008-05-08 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
US7760530B2 (en) * | 2007-06-04 | 2010-07-20 | Hewlett-Packard Development Company, L.P. | Content addressable memory address resolver |
KR100912518B1 (en) | 2007-08-01 | 2009-08-18 | 스펜션 엘엘씨 | Semiconductor device, address assignment method, and verify method |
US9384821B2 (en) | 2012-11-30 | 2016-07-05 | Intel Corporation | Row hammer monitoring based on stored row hammer threshold value |
US9146808B1 (en) | 2013-01-24 | 2015-09-29 | Emulex Corporation | Soft error protection for content addressable memory |
JP2015225682A (en) * | 2014-05-27 | 2015-12-14 | ルネサスエレクトロニクス株式会社 | Semiconductor integrated circuit |
US9812185B2 (en) | 2015-10-21 | 2017-11-07 | Invensas Corporation | DRAM adjacent row disturb mitigation |
US10825534B2 (en) | 2018-10-26 | 2020-11-03 | Intel Corporation | Per row activation count values embedded in storage cell array storage cells |
-
2019
- 2019-06-25 KR KR1020190075535A patent/KR102587962B1/en active IP Right Grant
-
2020
- 2020-03-02 US US16/806,487 patent/US11107531B2/en active Active
- 2020-03-26 SG SG10202002810PA patent/SG10202002810PA/en unknown
- 2020-06-23 CN CN202010581826.7A patent/CN112133350A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN112133350A (en) | 2020-12-25 |
US11107531B2 (en) | 2021-08-31 |
US20200411095A1 (en) | 2020-12-31 |
KR20210000440A (en) | 2021-01-05 |
SG10202002810PA (en) | 2021-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102587962B1 (en) | Search circuit, hammer address management circuit and memory system including the same | |
US10600470B2 (en) | Memory device and memory system performing a hammer refresh operation and associated operations | |
US10108357B2 (en) | Detection of multiple accesses to a row address of a dynamic memory within a refresh period | |
US20200341635A1 (en) | Apparatuses and methods for concurrently accessing multiple partitions of a non-volatile memory | |
KR102320065B1 (en) | Low voltage memory device | |
CN105679359B (en) | Semiconductor memory device with a plurality of memory cells | |
CN102473453B (en) | Semiconductor storage device | |
TWI695382B (en) | Memory addressing methods and associated controller | |
US11270752B2 (en) | Semiconductor devices and refresh methods using the semiconductor devices | |
US20220292033A1 (en) | Memory device with internal processing interface | |
US7525867B2 (en) | Storage circuit and method therefor | |
US20100329019A1 (en) | Semiconductor storage device and electronic device using the same | |
US7130233B2 (en) | Sensing circuit for single bit-line semiconductor memory device | |
JP2013250963A (en) | Storage device | |
US10055152B2 (en) | Semiconductor devices | |
US11640840B2 (en) | Victim row refreshes for memories in electronic devices | |
US10153033B2 (en) | Semiconductor devices | |
JP2012069102A (en) | Change of read operation of nonvolatile memory | |
US7567448B2 (en) | Content addressable memory cell having a single floating gate transistor | |
US10504568B2 (en) | Integrated circuit memory devices with customizable standard cell logic | |
US6871155B2 (en) | Sensing circuit for single bit-line semiconductor memory device | |
US20240071479A1 (en) | Sram including reference voltage generator and read method thereof | |
US11631448B1 (en) | Memory device performing refresh operation and method of operating the same | |
US20230395132A1 (en) | Sram cell configured to perform multiply-accumulate (mac) operation on multi-bit data based on charge sharing and method of operating the same | |
JP5632797B2 (en) | Associative memory and network address search device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |