# US 10,373,684 B2 · Semiconductor device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,373,684 B2
- Document ID: US10373684B2
- Status: Granted
- Kind: B2
- Application number: 15/968,331
- Filed: 2018-05-01
- Published: 2018-12-27
- Granted: 2019-08-06
- Earliest claimed: 2017-06-22
- Assignees: Renesas Electronics Corporation
- Applicants: Renesas Electronics Corporation
- Inventors: Daigo Hayashi
- Web page: https://patentgrep.com/patent/US10373684B2

## CPC

- G11C 15/04: using semiconductor elements
- G06F 3/0638: {Organizing or formatting or addressing of data}
- G11C 5/14: Power supply arrangements {, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels}
- G11C 11/419: Read-write [R-W] circuits
- G11C: STATIC STORES (semiconductor memory devices H10B)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A semiconductor device includes an N number of sub-blocks each of including a memory cell array, a setting register specifying number of entry data for pre-searching, of first to N-th entry data divided and correspond respectively to the sub-blocks, and a search data changing unit changing a data arrangement order for search data input based on a value of the register. A sub-block for pre-searching searches for entry data matching with data for pre-searching in accordance with the arrangement order changed by the changing unit, in response to an instruction, and outputs a search result representing matching or non-matching. A sub-block for post-searching searches for entry data matching with data for post-searching other than the data for pre-searching, of entry data stored in association with each row of the array, based on a search result of the sub-block for pre-searching, and outputs a search result representing matching or non-matching.

## Claims

### Claim 1

A semiconductor device comprising:
an N number of sub-blocks each of which includes a memory cell array;
a setting register which specifies number of entry data for pre-searching, of first to N-th entry data which are divided and correspond respectively to the N number of sub-blocks; and
a search data changing unit which changes a data arrangement order for search data input based on a value of the setting register,
wherein a sub-block for pre-searching, of the N number of sub-blocks, searches for entry data which matches with data for pre-searching in accordance with the data arrangement order which has been changed by the search data changing unit, of entry data stored in each row of the memory cell array, in response to a search instruction, and outputs a search result representing matching or non-matching in association with each row, and
wherein a sub-block for post-searching, of the N number of sub-blocks, searches for entry data which matches with data for post-searching other than the data for pre-searching of search data, of entry data stored in association with each row of the memory cell array, based on a search result of the sub-block for pre-searching, and outputs a search result representing matching or non-matching in association with each row.

### Claim 2 (depends on 1)

The semiconductor device according to claim 1, further comprising
a read entry data changing unit which changes an arrangement order of the first to N-th entry data read from the N number of sub-blocks based on the value of the setting register.

### Claim 3 (depends on 2)

The semiconductor device according to claim 2, further comprising
an analysis unit which acquires all of the first to N-th entry data stored in association with each row of the N number of sub-blocks from the read entry data changing unit, and specifies again number of entry data for pre-searching based on a data analysis.

### Claim 4 (depends on 1)

The semiconductor device according to claim 1, further comprising
a write entry data changing unit which changes a data arrangement order of first to N-th entry data for writing, based on a value of the setting register, and
wherein each of the N number of sub-blocks further includes a writing circuit which writes entry data corresponding to the changed order into the memory array.

### Claim 5 (depends on 1)

The semiconductor device according to claim 1,
wherein the search data changing unit outputs data for pre-searching, of the search data to be input, to the sub-block for pre-searching, and includes a keeping circuit which keeps data for post-searching other than the data for pre-searching.

### Claim 6 (depends on 1)

The semiconductor device according to claim 1,
wherein the memory cell array of the sub-block for pre-searching has memory cells which have two values for comparing the two values and the data for pre-searching and for determining matching or non-matching thereof, and
wherein the memory cell array of the sub-block for post-searching has memory cells which have three values for comparing the three values and the data for post-searching and for determining matching or non-matching thereof.

### Claim 7

A semiconductor device comprising
a plurality of search blocks,
wherein each of the search blocks includes
an N number of sub-blocks each of which includes a memory cell array,
a setting register which specifies number of entry data for pre-searching, of first to N-th entry data which are divided and correspond respectively to the N number of sub-blocks, and
a search data changing unit which changes a data arrangement order of search data commonly input to the search blocks, based on a value of the setting register,
wherein a sub-block for pre-searching, of the N number of sub-blocks, searches for entry data which matches with data for pre-searching in accordance with the data arrangement order changed by the search data changing unit, of entry data stored in association with each row of the memory cell array, in response to a search instruction, and outputs a search result representing matching or non-matching in association with each row, and
wherein a sub-block for post-searching of the N number of sub-blocks searches for entry data which matches with data for post-searching other than the data for pre-searching of the search data, of entry data stored in association with each row of the memory cell array, based on the search result of the sub-block for pre-searching, and outputs a search result representing matching or non-matching in association with each row.

### Claim 8

A semiconductor device comprising:
first and second sub-blocks each of which includes associative memory cells arranged in matrix;
a setting register which specifies a correspondence relation of the first and second sub-blocks in which first and second write data included in write data are stored;
a data arrangement order changing unit which changes a data arrangement order of input search data, based on a value of the setting register, and outputs first and second search keys included in the search data respectively to the first and second sub-blocks, and
wherein the first sub-block performs a search operation using one of the first and second search keys input to the first sub-block, and
wherein the second sub-block performs a search operation using other one of the first and second search keys, based on a result of the search operation of the first sub-block.

### Claim 9 (depends on 8)

The semiconductor device according to claim 8, further comprising
a read data arrangement order changing unit which changes an arrangement order of the first and second write data which are stored respectively in the first and second sub-blocks and outputs it as read data, in accordance with a value of the setting register.
