CN111627909A - Processor with efficient retrieval function - Google Patents

Processor with efficient retrieval function Download PDF

Info

Publication number
CN111627909A
CN111627909A CN202010486964.7A CN202010486964A CN111627909A CN 111627909 A CN111627909 A CN 111627909A CN 202010486964 A CN202010486964 A CN 202010486964A CN 111627909 A CN111627909 A CN 111627909A
Authority
CN
China
Prior art keywords
array
memory
pattern
processor
matching circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010486964.7A
Other languages
Chinese (zh)
Inventor
张国飙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Haicun Information Technology Co Ltd
Original Assignee
Hangzhou Haicun Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Haicun Information Technology Co Ltd filed Critical Hangzhou Haicun Information Technology Co Ltd
Publication of CN111627909A publication Critical patent/CN111627909A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having at least one potential-jump barrier or surface barrier; including integrated passive circuit elements with at least one potential-jump barrier or surface barrier
    • H01L27/04Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having at least one potential-jump barrier or surface barrier; including integrated passive circuit elements with at least one potential-jump barrier or surface barrier the substrate being a semiconductor body
    • H01L27/10Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having at least one potential-jump barrier or surface barrier; including integrated passive circuit elements with at least one potential-jump barrier or surface barrier the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration
    • H01L27/105Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having at least one potential-jump barrier or surface barrier; including integrated passive circuit elements with at least one potential-jump barrier or surface barrier the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration including field-effect components
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

A processor with efficient search function matches input data with stored keywords or search strings, and comprises a plurality of storage processing units, wherein each storage processing unit comprises a string matching circuit and at least one three-dimensional storage (3D-M) array for storing at least one keyword or search string. The string matching circuit is formed on a semiconductor substrate, and the 3D-M array is formed on the string matching circuit without the semiconductor substrate therebetween.

Description

Processor with efficient retrieval function
The application is a divisional application of an invention patent application with the application number of 201710130887.X and the application date of 2017, 3 and 7.
Technical Field
The present invention relates to the field of integrated circuits, and more particularly to processors with efficient search functions.
Background
Pattern matching and pattern recognition refer to finding a pattern identical to or close to a retrieval pattern (pattern for retrieval) among target patterns (retrieved patterns). The pattern matching requires finding the same pattern, and the pattern recognition requires finding only the close pattern. Unless otherwise specified, the present specification does not distinguish between pattern matching and pattern recognition, and uses pattern processing to refer collectively to various operations performed on patterns.
Pattern processing (including pattern matching and pattern recognition) is widely used. Common pattern processing includes string matching, code matching, voice recognition, image recognition, and the like. String matching is widely used in the fields of big data analysis (such as financial data analysis, e-commerce data analysis, bioinformatics) and the like: searching for the search character string from big data (mostly a text database at present and containing a target character string), and performing statistical analysis. Code matching is widely used in the fields of anti-malware (anti-malware, such as network security and computer antivirus): and searching virus identification (virus signature) from the network data packet or checking whether the network data packet conforms to network specifications (network rules) so as to determine whether the network data packet is safe. Speech recognition matches speech signals collected by a speech sensor or stored in a speech archive to a library of acoustic models and a library of language models. Image recognition matches image signals collected by the image sensor, or stored in an image archive, to an image model library.
With the advent of the big data age, traditional schema libraries (including search schema libraries and target schema libraries) have become large databases (TB-level to PB-level, and even EB-level): the amount of data in the search pattern library (including all patterns used for searching) is already large, while the amount of data in the target pattern library (including all patterns retrieved, typically the user database) is much larger. The von Neumann architecture adopted by the current computer can not meet the requirement of the big data era on mode processing. In the von neumann architecture, the processor for processing the patterns and the memory for storing the patterns are separate: the memory (e.g., hard disk, optical disk, magnetic tape, etc.) is used only to store pattern data, and cannot perform any pattern processing on it; all mode processing is performed by an external processor (e.g., CPU, GPU). As is well known, the bandwidth between the separate processor and the memory is limited, and it takes a long time for the light to read all the data from the pattern library, and then process and analyze them. Therefore, it takes a long time for pattern processing of a large pattern library.
One typical application of pattern processing is keyword retrieval. At the time of retrieval, the network processor string matches the input data (e.g., network packets or data read from a computer hard disk) to all keywords in the keyword library. At present, the number of keywords in the keyword library is increasing. Because the number of the cores of the network processor is limited, and the keyword library is stored outside the network processor (such as in a memory or a hard disk), it takes longer time for the network processor to acquire the keywords, so the network processor is inefficient in processing keyword retrieval transactions.
Disclosure of Invention
The main object of the present invention is to enhance the efficiency of keyword retrieval.
It is another object of the invention to provide a processor with efficient retrieval functionality.
To achieve these and other objects, the present invention provides a processor with efficient search capability, which is a distributed mode processor having a three-dimensional memory (3D-M) array: the processor not only stores the keyword or search string, but also performs string matching on it. A pattern processor chip has a plurality of memory processing units, each of which has a string matching circuit and at least one 3D-M array for storing at least one keyword or search string. Vertical integration of the 3D-M array with string matching circuits brings many advantages: since the 3D-M array does not occupy substrate area, it can be integrated on string matching circuits, which can increase memory capacity and reduce chip area. More importantly, because the 3D-M array and the string matching circuit are in the same chip and in close proximity, a large bandwidth electrical connection can be made between them. By employing massively parallel computing (each distributed mode processor chip may contain tens of thousands of storage processing units), the distributed mode processor can implement fast mode processing for large libraries of modes.
Accordingly, the invention proposes a processor (200) with efficient search function, characterized in that it comprises: an input bus (110) for transmitting at least part of the data; a plurality of memory processing units (100aa-100mn) coupled to the input bus (110), each memory processing unit (100ij) of the plurality of memory processing units (100aa-100mn) including a string matching circuit (180) and at least one three-dimensional memory (3D-M) array (170 …); wherein the 3D-M array (170 …) stores at least one keyword or search string; the string matching circuit (180) pattern-matches the user data with the keyword or search string; the character string matching circuit (180) is positioned on a semiconductor substrate (0); the 3D-M array (170 …) is located above the string matching circuit (180); the 3D-M array (170 …) and the string matching circuit (180) are coupled through a plurality of contact via holes (1av …). In addition, the processor is characterized in that: all transistors (0t) of the string matching circuit (180) are located in the semiconductor substrate (0); none of the memory cells (5aa …) of the 3D-M array (170 …) are located in any semiconductor substrate; no semiconductor substrate between the string matching circuit (180) and the 3D-M array (170 …); the contact via holes (1av …) are located entirely between the 3D-M array (170 …) and the semiconductor substrate (0) and do not penetrate any semiconductor substrate; the 3D-M array (170 …) at least partially overlaps the string matching circuit (180).
Drawings
Fig. 1 is a circuit block diagram of a processor (distributed mode processor) having an efficient retrieval function.
Fig. 2A-2C are circuit block diagrams of three types of memory processing units.
FIG. 3A is a cross-sectional view of a three-dimensional writable memory (3D-W) and a 3D-W based memory processing unit; fig. 3B is a cross-sectional view of a three-dimensional printed memory (3D-P) and a 3D-P based memory processing unit.
Fig. 4 is a perspective view of a storage processing unit.
Fig. 5A to 5C are substrate circuit layout diagrams of three kinds of memory processing units.
It is noted that the figures are diagrammatic and not drawn to scale. Dimensions and structures of parts in the figures may be exaggerated or reduced for clarity and convenience. In different embodiments, alphabetic suffixes following numbers represent different instances of the same class of structure; the same numerical prefixes refer to the same or similar structures. The present description adopts the following word convention: "the circuit is located on the substrate" means that the circuit is in contact with the substrate, part of the circuit elements are located on the substrate, and the other part of the circuit elements are located in the substrate; "the transistor is located in the substrate" means that the channel, the drain and the source of the transistor are located in the substrate; "a circuit (or device) is not located in the substrate" means that no part of the circuit (or device) is located in the substrate; "mode processing circuitry overlaps the 3D-M array" means that the projection of the 3D-M array onto the substrate overlaps the mode processing circuitry. Further, "/" indicates "and" in relation to "or".
Detailed Description
Fig. 1 shows a processor 200 with efficient search functionality, which is effectively a distributed mode processor chip. Processor 200 contains m n memory processing units 100aa-100 mn. These memory processing units 100aa to 100mn are each formed on the substrate 0. An input bus 110 is coupled to each memory processing unit and an output bus 120 is coupled to each memory processing unit. Note that distributed mode processor chip 200 may contain tens of thousands of memory processing units 100aa-100 mn. Such a large number of memory processing units 100aa-100mn may ensure massively parallel computations to achieve high-speed mode processing.
Each memory processing unit 100ij has a pattern processing circuit 170 and at least one 3D-M array 180 that stores at least one pattern. In a processor 200 with efficient search capabilities, the 3D-M array 180 stores at least one keyword or search string, and the pattern processing circuit 170 is a string matching circuit that string matches input data (e.g., network packets or data read from a computer's hard drive) to the locally stored keyword or search string. Fig. 2A to 2C are circuit block diagrams of three kinds of memory processing units 100 ij. In these embodiments, one mode processing circuit 180 serves a different number of 3D-M arrays 170. The mode processing circuit 180 of FIG. 2A serves a 3D-M array 170: the pattern data stored in the 3D-M array 170 is fed to the pattern processing circuitry 180 over the large bandwidth electrical connection 160 (see fig. 3A-4), performs pattern matching or pattern recognition with the input pattern data 110, and generates output pattern data 120. The pattern processing circuit 180 in FIG. 2B services four storage arrays 170A-170D: the pattern data stored in the 3D-M arrays 170A-170D is fed to the pattern processing circuit 180 via the large bandwidth electrical connections 160A-160D (see FIGS. 3A-4) and is pattern matched or pattern identified with the input pattern data 110. The pattern processing circuit 180 in FIG. 2C serves eight storage arrays 170A-170D and 170W-170Z: the pattern data stored in the 3D-M arrays 170A-170D and 170W-170Z is fed into the pattern processing circuit 180 through the large bandwidth electrical connections 160A-160D and 160W-160Z (see FIGS. 3A-4) and is pattern matched or pattern identified with the input pattern data 110. As can be seen from fig. 5A-5C later, the pattern processing circuit 180 serving more 3D-M arrays has a larger area and a stronger function.
Fig. 3A-3B show two typical 3D-ms. Fig. 3A is a cross-sectional view of a 3D-W based memory processing unit 100 ij. The 3D-W stored information is entered using electrical programming. A common 3D-W is 3D-XPoint. Other 3D-Ws include memristor, Resistive Random Access Memory (RRAM), Phase Change Memory (PCM), programmable addressing cell (PMC), conductive bridging random-access memory (CBRAM), and the like. The 3D-W is further divided into a three-dimensional one-time-programmable memory (abbreviated as 3D-OTP) and a three-dimensional multi-time-programmable memory (abbreviated as 3D-MTP) according to the programmable times. As the name implies, 3D-OTP can be programmed once and 3D-MTP can be programmed multiple times (including over-programming). The 3D-OTP process is mature, and can store a retrieval pattern library (such as a virus identification library, a network specification library, an acoustic model library, a language model library and the like), and pattern data in the pattern library is only added and is not modified. The 3D-MTP is a general purpose memory that can be used to store a library of target patterns, such as user data (including user codes) and the like.
The 3D-W based memory processing unit 100ij has a substrate circuit layer 0K formed on a semiconductor substrate 0. A memory layer 16A is stacked over the substrate circuit 0K, and a memory layer 16B is stacked over the memory layer 16A. There is no substrate between the memory layers 16A, 16B and between them and the substrate circuit 0K. The substrate circuit layer 0K contains the peripheral circuits 15, 17 … of the memory layers 16A, 16B and the pattern processing circuit 180 (fig. 5A to 5C), which includes the transistor 0t and the interconnection line 0M. The substrate circuit layer 0K is located on the substrate 0, and all transistors 0t thereof are located in the substrate 0. Each memory layer (e.g., 16A) has a plurality of first address lines (e.g., 2a, in the y-direction), a plurality of second address lines (e.g., 1a, in the x-direction), and a plurality of 3D-W memory elements (e.g., 1 aa). All memory cells 1aa in the memory layers 16A, 16B are not located in any substrate. The memory layers 16A, 16B are coupled to the substrate 0 through contact via holes 1av, 3av, respectively, the contact via holes 1av, 3av being located entirely between the 3D-M array 170 and the substrate 0 and not penetrating any substrate.
3D-W memory cell 5aa contains a programming film 12 and a diode film 14. The programming film 12 may be an antifuse film (for 3D-OTP) or other multi-time programming film (for 3D-MTP). The diode membrane 14 has the following broad features: under the reading voltage, the resistance is small; when the applied voltage is less than the read voltage or in the opposite direction to the read voltage, the resistance is larger. The diode film may be a P-i-N diode or may be a metal oxide (e.g., TiO)2) Diodes, etc.
Fig. 3B is a cross-sectional view of a 3D-P based memory processing unit 100 ij. The information stored in the 3D-P is recorded in a printing mode (printing method) in the factory production process. This information is permanently fixed and cannot be changed after shipment. The printing method may be photo-lithography (photo-lithography), nano-imprint method (nano-imprint), electron beam scanning exposure (e-beam lithography), DUV scanning exposure, laser scanning exposure (laser patterning), or the like. A common 3D-P has a three-dimensional mask-programmed read only memory (3D-MPROM), which is programmed to record data through a mask by photolithography. The 3D-P has a faster reading speed than the 3D-W, is suitable for storing fixed pattern libraries (such as an acoustic model library, a language model library and the like) and realizes high-performance pattern processing (such as natural language processing, real-time language translation and the like).
The 3D-P contains at least two memory elements 5aa, 6 aa. Memory cell 6aa is a low resistance memory cell and memory cell 5aa is a high resistance memory cell. The low resistance memory cell 6aa includes a diode film 14, and the high resistance memory cell 5aa includes a high resistance film 12 more than the low resistance memory cell 6 aa. As a simple example, the high-resistance film 12 may be a silicon dioxide film. The high-resistance film 12 is physically removed at the memory cell 6aa by imprinting in the process flow.
In the 3D-M (including 3D-W and 3D-P) of fig. 3A-3B, each storage layer contains a plurality of 3D-M arrays. A 3D-M array is a collection of all memory cells in a memory layer that share at least one address line. In one 3D-M array, all address lines are contiguous and do not share any address lines with a different 3D-M array. On the other hand, one 3D-M chip contains a plurality of 3D-M modules. Each 3D-M module contains all the storage layers in the 3D-M, the top storage layer of which contains only one 3D-M array, and the projection of the 3D-M array on the substrate determines the boundaries of the 3D-M module.
Fig. 4 discloses the structure of the memory processing unit 100ij from another point of view. The pattern processing circuit 180 of the processing pattern is located above the semiconductor substrate 0, and the 3D-M array 170 of the storage pattern is stacked above the pattern processing circuit 180 and at least partially overlapped. Communication between the 3D-M array 170 and the pattern processing circuit 180 is achieved through a large bandwidth electrical connection 160 made up of a large number of contact via holes 1av, 3 av. Since the contact via holes 1av, 3av are numerous (may be tens of thousands) and have very short lengths (in the order of micrometers), the bandwidth of the on-chip electrical connections 160 is much higher than the communication bandwidth between chips.
Vertical integration of the 3D-M array 170 with the mode processing circuitry 180 brings about a number of advantages: since the 3D-M array 170 does not occupy substrate area 0, it can be integrated on the pattern processing circuit 180, which can increase memory capacity and reduce chip area. More importantly, since the 3D-M array 170 and the pattern processing circuit 180 are in the same chip 200 and in close proximity, a large bandwidth can be achieved between them. By employing massively parallel computations, distributed pattern processor 200 enables fast pattern processing for large pattern libraries.
Fig. 5A-5C disclose three specific implementations of a storage processing unit. In these embodiments, the pattern processing circuit 180 is at least partially covered by a 3D-M array (170; 170A-170D; or 170W-170Z). In other words, the pattern processing circuit 180 at least partially overlaps the 3D-M array (170; 170A-170D; or 170W-170Z). The embodiment of fig. 5A corresponds to the memory processing unit 100ij of fig. 2A. The mode processing circuit 180 serves one 3D-M array 170. In this embodiment, the 3D-M array 170 contains four peripheral circuits, including X decoders 15, 15 'and Y decoders (including readout circuits) 17, 17'. The 3D-M array 170 is coupled to its peripheral circuits 15, 15 ', 17' through contact via holes 1av, 3 av. The mode processing circuit 180 is coupled to the peripheral circuits 15, 15 ', 17' (not shown). The mode processing circuit 180 is surrounded by the peripheral circuits 15, 15 ', 17', and the peripheral circuits 15, 15 ', 17' are located outside the mode processing circuit 180. In FIG. 5A, since the 3D-M array 170 is located above the substrate circuit 0K, and not in the substrate circuit 0K, its projection onto the substrate 0 is represented here by a dashed line.
In the present embodiment, the mode processing circuit 180 is limited to four peripheral circuits, and the area thereof cannot exceed the area of the 3D-M array 170, so that the area thereof is small and the function thereof is limited. This embodiment is well suited to achieve simpler pattern processing (such as string matching and code matching). It is clear that more complex pattern processing (e.g., speech recognition, image recognition) requires larger circuitry, which requires more substrate area under the 3D-M array 170 in order to layout the pattern processing circuitry 180. Fig. 5B-5C disclose two mode processing circuits 180 having larger areas and more powerful functions.
The embodiment of fig. 5B corresponds to the memory processing unit 100ij of fig. 2B. In this embodiment, one mode processing circuit 180 services four 3D-M arrays 170A-170D. Each 3D-M array (e.g., 170A) has only two peripheral circuits (e.g., X-decoder 15A and Y-decoder 17A). Under these four 3D-M arrays 170A-170D, the substrate circuitry 0K can be laid out freely, forming a pattern processing circuit 180. It is apparent that the pattern processing circuit 180 in fig. 5B can be four times as large as that of fig. 5A, which can implement more complex pattern processing functions.
The embodiment of fig. 5C corresponds to the memory processing unit 100ij of fig. 2C. In this embodiment, one mode processing circuit 180 services eight 3D-M arrays 170A-170D and 170W-170Z. The eight 3D-M arrays are divided into two groups 150A, 150B. Each set (e.g., 150A) includes four 3D-M arrays (e.g., 170A-170D). Under the first set 150A of four 3D-M arrays 170A-170D, the substrate circuitry can be laid out freely, forming a first mode processing circuit assembly A180A. Similarly, under the second set 150B of four 3D-M arrays 170W-170Z, the substrate circuitry can also be laid out freely, forming a second mode processing circuit assembly B180B. The first mode processing circuit component 180A and the second mode processing circuit component 180B constitute a mode processing circuit 180. In this embodiment, a gap (e.g., G) is left between adjacent peripheral circuits (e.g., between adjacent X decoders 15A, 15C; between adjacent Y decoders 17A, 17B; between adjacent Y decoders 17C, 17D) to form routing channels 190Xa, 190Ya,190Yb for communication between different mode processing circuit elements 150A, 150B, or between different mode processing circuits. It is apparent that the mode processing circuit 180 in fig. 5C can be eight times larger than that of fig. 5A, which enables more complex mode processing functions.
In some embodiments of the present invention, mode processing circuit 180 need only perform a portion of the mode processing functions. For example, the pattern processing circuit 180 only needs to complete simple pattern processing (e.g., extraction and processing of simple features). The screened patterns are further sent to a more powerful external processor (e.g., CPU, GPU) via an output bus 120 to complete the final pattern processing. Since most patterns in the pattern library are filtered out by simple pattern processing, the output patterns occupy only a small portion of the pattern library, which can reduce the bandwidth pressure of the output bus 120.
In the distributed mode processor 200, the storage processing unit 100ij may adopt two mode processing modes — a processor-like mode and a memory-like mode. For the processor-like approach, the storage processing unit 100ij looks like a processor capable of performing pattern processing on external user data by using its own search pattern library. Specifically, the 3D-M array 170 of storage processing units 100ij stores a search database; the input data 110 of the storage processing unit 100ij are user data (including user codes) which are generally generated in real time, such as network data packets; the storage processing unit 100ij performs pattern matching or pattern recognition on the user data 110 with the retrieval pattern library. Due to the large bandwidth connection 160 between the 3D-M array 170 and the pattern processor 180, this pattern processing is more efficient than conventional pattern processing, where the pattern library is retrieved and stored in a separate memory.
For the memory-like manner, the memory processing unit 100ij looks like a memory which is mainly used for storing user data and can perform mode processing by using a self-contained mode processing circuit to the outside. Specifically, user data is stored permanently in the 3D-M array 170 of storage processing units 100 ij; the input data 110 of the storage processing unit 100ij is retrieval mode data; the storage processing unit 100ij performs pattern matching or pattern recognition on the retrieval pattern data 110 and its user data. Note that the distributed mode processor chips 200 using the class memory method may be packaged into a memory card (e.g., SD card, TF card) and a solid state disk like a flash memory chip for storing massive user data (e.g., user data files). Since each memory processing unit 100ij in each distributed mode processor chip 200 is provided with a mode processing circuit 180, the mode processing circuit 180 only needs to process the data stored in the 3D-M array 170 in the memory processing unit 100 ij. Thus, regardless of the capacity of the memory card and the solid state drive, the time of pattern processing is close to the time of processing data stored in the 3D-M array 170 coupled thereto by the single pattern processing circuit 180. This great advantage is not imaginable for conventional processors.
In the class memory mode, the storage processing unit 100ij is the final storage device of the user data. This is in contrast to conventional processors that contain embedded memory: the embedded memory in a conventional processor only temporarily stores user data, and the final storage device of the user data is also an external memory (e.g., a hard disk, an optical disk, a magnetic tape, etc.). If user data is stored persistently in a legacy processor, the legacy processor can only serve these data, but not other data. That is, a large amount of user data requires the use of many processors. This approach is prohibitively expensive because conventional processors are very expensive. In contrast, in the memory processing unit 100ij of the present invention, the mode processing circuit 180 is integrated under the 3D-M array 170 and is formed simultaneously with the peripheral circuits (e.g., decoders) of the 3D-M array. Since the 3D-M originally has peripheral circuits formed thereon and the peripheral circuits occupy only a small area on the substrate 0 (see fig. 5A to 5C), most of the substrate area can be used to form the mode processing circuit 180, and the mode processing circuit 180 is free of charge for the 3D-M. Thus, a large number of nearly free mode processing circuits 180 may be formed on distributed mode processor chip 200, each mode processing circuit 180 serving a particular data (stored in 3D-M array 170 coupled thereto).
A brief introduction to the application of the distributed mode processor follows. As an example, distributed mode processor 200 is an anti-malware (anti-malware) processor that is used primarily for network security and computer disinfection. The network security can adopt a processor-like mode: the input data 110 to the distributed pattern processor 200 is a network packet, and the 3D-M array 170 stores a network specification library and a virus identification library, which are pattern matched by the pattern processing circuit 180. Computer sterilization can adopt a processor-like mode and a memory-like mode: for the processor-like approach, user data stored in the computer is transmitted as input data 110 to the distributed pattern processor 200, the 3D-M array 170 stores a library of virus signatures, and the pattern processing circuit 180 performs pattern matching on them; for memory-like approach, the virus identification is passed as input data 110 to the distributed pattern processor 200, the user data is stored in the 3D-M array 170, and the pattern processing circuit 180 performs pattern matching on them. In the processor-like approach, the 3D-M may be a 3D-OTP or a 3D-MTP that is used to store a library of network specifications and a library of virus identifications. In the class memory mode, the 3D-M is preferably a 3D-MTP, which stores a user database.
As another example, the distributed pattern processor 200 may be used for big data analysis (e.g., financial data analysis, e-commerce data analysis, bioinformatics). Big data analytics relates to unstructured data or semi-structured data. Conventional analysis methods using relational databases are ineffective for this purpose. Distributed mode processor 200 can improve big data analysis capabilities. To improve efficiency, it is preferable to use a memory-like approach: the big data is stored as an archive in the 3D-M array 170, and keywords for data analysis are sent as input pattern data 110 to the distributed pattern processor 200, which are pattern matched by the pattern processing circuit 180. In big data analysis, the 3D-M is preferably a 3D-MTP, which is used to store user data.
The distributed mode processor 200 may also be used for speech recognition and/or image recognition. In the recognition process, a class processor mode and a class memory mode may be employed. For the processor-like approach, user-generated speech/image data is provided as input data 110 to the distributed pattern processor 200, and the 3D-M array 170 stores various recognition model libraries (e.g., acoustic model libraries, language model libraries, image model libraries, etc.), which are then recognized by the pattern processor 180. For the memory-like approach, user-generated speech/image data is stored as an archive in the 3D-M array 170, and the speech signal or image signal to be searched is sent as input data 110 to the distributed pattern processor 200, after which the pattern processing circuit 180 performs recognition and search. In a processor-like approach, the 3D-M may be a 3D-P, 3D-OTP or 3D-MTP that stores a library of acoustic models, a library of language models, a library of image models, and the like. In the class memory approach, the 3D-M is preferably a 3D-MTP, which stores a voice/image archive.
It will be understood that changes in form and detail may be made therein without departing from the spirit and scope of the invention, and are not intended to impede the practice of the invention. The invention, therefore, is not to be restricted except in the spirit of the appended claims.

Claims (10)

1. A processor (200) with efficient search functionality, comprising:
an input bus (110) for transmitting at least part of the data;
a plurality of memory processing units (100aa-100mn) coupled to the input bus (110), each memory processing unit (100ij) of the plurality of memory processing units (100aa-100mn) including a string matching circuit (180) and at least one three-dimensional memory (3D-M) array (170 …); wherein the 3D-M array (170 …) stores at least one keyword or search string; the string matching circuit (180) pattern-matches the user data with the keyword or search string;
the character string matching circuit (180) is positioned on a semiconductor substrate (0);
the 3D-M array (170 …) is located above the string matching circuit (180);
the 3D-M array (170 …) and the string matching circuit (180) are coupled through a plurality of contact via holes (1av …).
2. The memory (200) with efficient retrieval functionality of claim 1, further characterized by:
all transistors (0t) of the string matching circuit (180) are located in the semiconductor substrate (0);
none of the memory cells (5aa …) of the 3D-M array (170 …) are located in any semiconductor substrate.
3. The memory (200) with efficient retrieval functionality of claim 1, further characterized by: there is no semiconductor substrate between the string matching circuit (180) and the 3D-M array (170 …).
4. The memory (200) with efficient retrieval functionality of claim 1, further characterized by: the contact via holes (1av …) are located entirely between the 3D-M array (170 …) and the semiconductor substrate (0) and do not penetrate any semiconductor substrate.
5. The memory (200) with efficient retrieval functionality of claim 1, further characterized by: the 3D-M array (170 …) at least partially overlaps the string matching circuit (180).
6. The memory (200) with efficient retrieval functionality of claim 1, further characterized by: the 3D-M array (170 …) contains a plurality of vertically stacked memory cells (5aa …).
7. The memory (200) with efficient retrieval functionality of claim 1, further characterized by: a plurality of peripheral circuits (15 …) of the 3D-M array (170 …) are located over the semiconductor substrate (0), the contact via holes (1av …) coupling the 3D-M array (170 …) with the peripheral circuits (15 …).
8. The processor (200) with efficient retrieval function of claim 7, further characterized by: the peripheral circuit (15 …) surrounds all or at least one component (180A) of the string matching circuit (180).
9. The processor (200) with efficient retrieval function of claim 7, further characterized by: a wiring channel (190Xa) is provided between adjacent ones of the peripheral circuits (15B, 15D).
10. The processor (200) with efficient retrieval function of claim 1, further characterized by: the 3D-M array (170 …) is a three-dimensional writable storage (3D-W) array or a three-dimensional printed storage (3D-P) array.
CN202010486964.7A 2016-03-07 2017-03-07 Processor with efficient retrieval function Pending CN111627909A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610127981 2016-03-07
CN2016101279815 2016-03-07
CN201710130887.XA CN107169404B (en) 2016-03-07 2017-03-07 Distributed mode processor with three-dimensional memory array

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201710130887.XA Division CN107169404B (en) 2016-03-07 2017-03-07 Distributed mode processor with three-dimensional memory array

Publications (1)

Publication Number Publication Date
CN111627909A true CN111627909A (en) 2020-09-04

Family

ID=59849330

Family Applications (19)

Application Number Title Priority Date Filing Date
CN202010416475.4A Active CN111446246B (en) 2016-03-07 2017-03-07 Memory with data analysis function
CN202010416474.XA Pending CN111384050A (en) 2016-03-07 2017-03-07 Processor for image recognition
CN201710460366.0A Withdrawn CN107358254A (en) 2016-03-07 2017-03-07 Processor for image recognition
CN201710130887.XA Active CN107169404B (en) 2016-03-07 2017-03-07 Distributed mode processor with three-dimensional memory array
CN201710460362.2A Pending CN107393537A (en) 2016-03-07 2017-03-07 Processor for speech recognition
CN202010416491.3A Pending CN111446250A (en) 2016-03-07 2017-03-07 Processor for enhancing network security
CN202010416480.5A Active CN111446247B (en) 2016-03-07 2017-03-07 Memory with virus checking function
CN201710461236.9A Active CN107301222B (en) 2016-03-07 2017-03-07 Big data memory with data analysis function
CN202010416492.8A Active CN111384052B (en) 2016-03-07 2017-03-07 Distributed mode processor with three-dimensional memory array
CN201710460363.7A Withdrawn CN107357828A (en) 2016-03-07 2017-03-07 Have the memory of speech identifying function concurrently
CN201710459997.0A Pending CN107358100A (en) 2016-03-07 2017-03-07 Strengthen the processor of computer security
CN201710459978.8A Withdrawn CN107317803A (en) 2016-03-07 2017-03-07 Strengthen the processor of network security
CN202010416482.4A Active CN111384051B (en) 2016-03-07 2017-03-07 Memory with speech recognition function
CN202010416487.7A Pending CN111446249A (en) 2016-03-07 2017-03-07 Processor for enhancing computer security
CN202010416486.2A Active CN111446248B (en) 2016-03-07 2017-03-07 Processor for speech recognition
CN202010486964.7A Pending CN111627909A (en) 2016-03-07 2017-03-07 Processor with efficient retrieval function
CN201710461215.7A Withdrawn CN107392017A (en) 2016-03-07 2017-03-07 Have the memory of virus investigation function concurrently
CN201710460367.5A Active CN107316014B (en) 2016-03-07 2017-03-07 Memory with image recognition function
CN202010416473.5A Pending CN111463203A (en) 2016-03-07 2017-03-07 Memory with image recognition function

Family Applications Before (15)

Application Number Title Priority Date Filing Date
CN202010416475.4A Active CN111446246B (en) 2016-03-07 2017-03-07 Memory with data analysis function
CN202010416474.XA Pending CN111384050A (en) 2016-03-07 2017-03-07 Processor for image recognition
CN201710460366.0A Withdrawn CN107358254A (en) 2016-03-07 2017-03-07 Processor for image recognition
CN201710130887.XA Active CN107169404B (en) 2016-03-07 2017-03-07 Distributed mode processor with three-dimensional memory array
CN201710460362.2A Pending CN107393537A (en) 2016-03-07 2017-03-07 Processor for speech recognition
CN202010416491.3A Pending CN111446250A (en) 2016-03-07 2017-03-07 Processor for enhancing network security
CN202010416480.5A Active CN111446247B (en) 2016-03-07 2017-03-07 Memory with virus checking function
CN201710461236.9A Active CN107301222B (en) 2016-03-07 2017-03-07 Big data memory with data analysis function
CN202010416492.8A Active CN111384052B (en) 2016-03-07 2017-03-07 Distributed mode processor with three-dimensional memory array
CN201710460363.7A Withdrawn CN107357828A (en) 2016-03-07 2017-03-07 Have the memory of speech identifying function concurrently
CN201710459997.0A Pending CN107358100A (en) 2016-03-07 2017-03-07 Strengthen the processor of computer security
CN201710459978.8A Withdrawn CN107317803A (en) 2016-03-07 2017-03-07 Strengthen the processor of network security
CN202010416482.4A Active CN111384051B (en) 2016-03-07 2017-03-07 Memory with speech recognition function
CN202010416487.7A Pending CN111446249A (en) 2016-03-07 2017-03-07 Processor for enhancing computer security
CN202010416486.2A Active CN111446248B (en) 2016-03-07 2017-03-07 Processor for speech recognition

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN201710461215.7A Withdrawn CN107392017A (en) 2016-03-07 2017-03-07 Have the memory of virus investigation function concurrently
CN201710460367.5A Active CN107316014B (en) 2016-03-07 2017-03-07 Memory with image recognition function
CN202010416473.5A Pending CN111463203A (en) 2016-03-07 2017-03-07 Memory with image recognition function

Country Status (1)

Country Link
CN (19) CN111446246B (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110414303A (en) * 2018-04-26 2019-11-05 杭州海存信息技术有限公司 Schema processor containing three-dimensional longitudinal storage array
CN109144401A (en) * 2017-06-19 2019-01-04 成都海存艾匹科技有限公司 Have both the memory of virus investigation function
CN109145597A (en) * 2017-06-19 2019-01-04 成都海存艾匹科技有限公司 Enhance the processor of network security
CN109147794A (en) * 2017-06-19 2019-01-04 成都海存艾匹科技有限公司 Processor for speech recognition
CN109147836A (en) * 2017-06-19 2019-01-04 成都海存艾匹科技有限公司 Have both the big data memory of data analysis function
CN109146763A (en) * 2017-06-19 2019-01-04 成都海存艾匹科技有限公司 Processor for image recognition
CN109148471A (en) * 2017-06-19 2019-01-04 成都海存艾匹科技有限公司 Have both the memory of speech identifying function
CN109145596A (en) * 2017-06-19 2019-01-04 成都海存艾匹科技有限公司 Enhance the processor of computer security
CN109145683A (en) * 2017-06-19 2019-01-04 成都海存艾匹科技有限公司 Have both the memory of image identification function
CN111435460A (en) * 2019-01-13 2020-07-21 杭州海存信息技术有限公司 Neural network processor package
CN111435423A (en) * 2019-01-13 2020-07-21 杭州海存信息技术有限公司 Double-side mode processor
CN109545783A (en) * 2017-09-22 2019-03-29 成都海存艾匹科技有限公司 Three-dimensional computations chip containing three-dimensional memory array
CN109558370A (en) * 2017-09-23 2019-04-02 成都海存艾匹科技有限公司 Three-dimensional computations encapsulation
CN108172255A (en) * 2018-01-15 2018-06-15 上海新储集成电路有限公司 A kind of data-storage system
CN116049093A (en) * 2018-12-10 2023-05-02 杭州海存信息技术有限公司 Separated three-dimensional processor
CN110147880A (en) * 2019-05-22 2019-08-20 苏州浪潮智能科技有限公司 A kind of Neural Network Data processing structure, method, system and relevant apparatus
CN110476209B (en) 2019-06-28 2020-11-17 长江存储科技有限责任公司 In-memory computation in three-dimensional memory devices
CN110537259A (en) 2019-06-28 2019-12-03 长江存储科技有限责任公司 It is calculated in memory in three-dimensional storage part

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1412850A (en) * 2001-10-07 2003-04-23 张国飙 Three-D integrated memory
CN1642112A (en) * 2004-01-14 2005-07-20 国际商业机器公司 Intrusion detection using a network processor and a parallel pattern detection engine
US20120324204A1 (en) * 2010-02-18 2012-12-20 Katsumi Inoue Memory Having information Refinement Detection Function, Information Detection Method Using Memory, Device Including Memory, Information Detection Method, Method For Using Memory, And Memory Address Comparison Circuit
US8634247B1 (en) * 2012-11-09 2014-01-21 Sandisk Technologies Inc. NAND flash based content addressable memory

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4477925A (en) * 1981-12-11 1984-10-16 Ncr Corporation Clipped speech-linear predictive coding speech processor
JP2778977B2 (en) * 1989-03-14 1998-07-23 株式会社東芝 Semiconductor device and manufacturing method thereof
JP2963491B2 (en) * 1990-05-21 1999-10-18 沖電気工業株式会社 Voice recognition device
US5915167A (en) * 1997-04-04 1999-06-22 Elm Technology Corporation Three dimensional structure memory
US6717222B2 (en) * 2001-10-07 2004-04-06 Guobiao Zhang Three-dimensional memory
US6643159B2 (en) * 2002-04-02 2003-11-04 Hewlett-Packard Development Company, L.P. Cubic memory array
CN100394603C (en) * 2003-04-03 2008-06-11 株式会社东芝 Phase change memory device
US20050114700A1 (en) * 2003-08-13 2005-05-26 Sensory Networks, Inc. Integrated circuit apparatus and method for high throughput signature based network applications
US7243165B2 (en) * 2004-01-14 2007-07-10 International Business Machines Corporation Parallel pattern detection engine
CN100508196C (en) * 2004-11-05 2009-07-01 张国飙 Chip for three-dimensional memory system
CN101694841B (en) * 2004-11-05 2012-06-27 张国飙 Integrated circuit of three-dimension memory
US20060104101A1 (en) * 2004-11-17 2006-05-18 Wen-Lin Chen Memory and related manufacturing method thereof
US7359279B2 (en) * 2005-03-31 2008-04-15 Sandisk 3D Llc Integrated circuit memory array configuration including decoding compatibility with partial implementation of multiple memory layers
CN1838624B (en) * 2006-04-26 2010-05-12 南京大学 High-performance network data processing platform system and processing method
US7990762B2 (en) * 2008-02-06 2011-08-02 Unity Semiconductor Corporation Integrated circuits to control access to multiple layers of memory
KR20120123943A (en) * 2011-05-02 2012-11-12 에스케이하이닉스 주식회사 Semiconductor device, semiconductor module, semiconductor system and method for manufacturing semiconductor device
CN103875059B (en) * 2011-09-01 2016-09-07 杭州海存信息技术有限公司 Three-dimensional print records reservoir
US8921991B2 (en) * 2011-09-01 2014-12-30 Chengdu Haicun Ip Technology Llc Discrete three-dimensional memory
US9697147B2 (en) * 2012-08-06 2017-07-04 Advanced Micro Devices, Inc. Stacked memory device with metadata management
JP5996324B2 (en) * 2012-08-07 2016-09-21 シャープ株式会社 Nonvolatile semiconductor memory device and manufacturing method thereof
CN103594471B (en) * 2012-08-17 2016-12-21 成都海存艾匹科技有限公司 Three-dimensional writeable print records reservoir
US8921891B2 (en) * 2012-08-22 2014-12-30 Micron Technology, Inc. Vertical memory cell string with dielectric in a portion of the body
CN103633048B (en) * 2012-08-22 2016-08-24 成都海存艾匹科技有限公司 Three-dimensional storage containing read/write voltage generator chip
CN103681679A (en) * 2012-08-30 2014-03-26 成都海存艾匹科技有限公司 Three-dimensional offset-printed memory
US9853053B2 (en) * 2012-09-10 2017-12-26 3B Technologies, Inc. Three dimension integrated circuits employing thin film transistors
US9886947B2 (en) * 2013-02-25 2018-02-06 Seiko Epson Corporation Speech recognition device and method, and semiconductor integrated circuit device
US9293509B2 (en) * 2013-03-20 2016-03-22 HangZhou HaiCun Information Technology Co., Ltd. Small-grain three-dimensional memory
US9383411B2 (en) * 2013-06-26 2016-07-05 International Business Machines Corporation Three-dimensional processing system having at least one layer with circuitry dedicated to scan testing and system state checkpointing of other system layers
JP6084246B2 (en) * 2014-05-21 2017-02-22 マクロニクス インターナショナル カンパニー リミテッド 3D independent double gate flash memory
US10740116B2 (en) * 2015-09-01 2020-08-11 International Business Machines Corporation Three-dimensional chip-based regular expression scanner

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1412850A (en) * 2001-10-07 2003-04-23 张国飙 Three-D integrated memory
CN1642112A (en) * 2004-01-14 2005-07-20 国际商业机器公司 Intrusion detection using a network processor and a parallel pattern detection engine
US20120324204A1 (en) * 2010-02-18 2012-12-20 Katsumi Inoue Memory Having information Refinement Detection Function, Information Detection Method Using Memory, Device Including Memory, Information Detection Method, Method For Using Memory, And Memory Address Comparison Circuit
US8634247B1 (en) * 2012-11-09 2014-01-21 Sandisk Technologies Inc. NAND flash based content addressable memory

Also Published As

Publication number Publication date
CN107358100A (en) 2017-11-17
CN107316014A (en) 2017-11-03
CN111446247A (en) 2020-07-24
CN111446248B (en) 2023-04-07
CN107169404B (en) 2021-06-18
CN111446246B (en) 2023-04-07
CN111446249A (en) 2020-07-24
CN107316014B (en) 2020-11-10
CN107169404A (en) 2017-09-15
CN111446250A (en) 2020-07-24
CN111384052B (en) 2022-09-27
CN111446248A (en) 2020-07-24
CN111446247B (en) 2023-04-07
CN111384051B (en) 2022-09-27
CN111384050A (en) 2020-07-07
CN107317803A (en) 2017-11-03
CN107301222B (en) 2020-11-10
CN111384051A (en) 2020-07-07
CN111384052A (en) 2020-07-07
CN107392017A (en) 2017-11-24
CN111446246A (en) 2020-07-24
CN107301222A (en) 2017-10-27
CN107358254A (en) 2017-11-17
CN107357828A (en) 2017-11-17
CN111463203A (en) 2020-07-28
CN107393537A (en) 2017-11-24

Similar Documents

Publication Publication Date Title
CN111384051B (en) Memory with speech recognition function
US20190171815A1 (en) Multi-Level Distributed Pattern Processor
US20200050565A1 (en) Pattern Processor
US20190370465A1 (en) Searchable Storage
CN109145683A (en) Have both the memory of image identification function
CN109147836A (en) Have both the big data memory of data analysis function
CN109148471A (en) Have both the memory of speech identifying function
CN109145597A (en) Enhance the processor of network security
CN109147794A (en) Processor for speech recognition
CN109144401A (en) Have both the memory of virus investigation function
CN109146763A (en) Processor for image recognition
US20180189586A1 (en) Storage with In-situ String-Searching Capabilities
WO2017152828A1 (en) Distributed pattern processor containing three-dimensional memory array
CN109145596A (en) Enhance the processor of computer security
US20190158510A1 (en) Monolithic Three-Dimensional Pattern Processor
CN111435423A (en) Double-side mode processor
CN110414303A (en) Schema processor containing three-dimensional longitudinal storage array
CN115794730A (en) Discrete three-dimensional processor

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination