Processor For Enhancing Network Security

20200036733 ยท 2020-01-30

Assignee

Inventors

Cpc classification

International classification

Abstract

To achieve a better overall performance, a preferred pattern processor offsets large latency with massive parallelism. It comprises a plurality of storage-processing units (SPU's), each of which comprises a single pattern-processing circuit, at least a three-dimensional memory (3D-M) array and a plurality of inter-storage-processor (ISP) connections. The ISP-connections do not penetrate through any semiconductor substrate.

Claims

1-20. (canceled)

21. A pattern processor, comprising an input bus for transferring at least a first portion of a first pattern and a plurality of storage-processing units (SPU's) communicatively coupled with said input bus, each of said SPU's comprising: at least a three-dimensional memory (3D-M) array including memory cells for storing at least a second portion of a second pattern, wherein said memory cells are neither in contact with nor interposed therebetween by any semiconductor substrate; a pattern-processing circuit disposed on a semiconductor substrate and performing pattern processing for said first and second patterns, wherein said memory cells and said pattern-processing circuit at least partially overlap; a plurality of inter-storage-processor (ISP) connections for communicatively coupling said memory cells and said pattern-processing circuit, wherein said ISP-connections do not penetrate through any semiconductor substrate.

22. The pattern processor according to claim 21, wherein said processor comprises at least one thousand SPU's.

23. The pattern processor according to claim 22, wherein said processor comprises at least ten thousand SPU's.

24. The pattern processor according to claim 21, wherein each of said SPU's comprises at least one thousand ISP connections.

25. The pattern processor according to claim 21, wherein the length of said ISP connections is on the order of a micron.

26. The pattern processor according to claim 21, wherein said first pattern includes at least a network packet; and, said second pattern includes at least a rule/virus pattern.

27. The pattern processor according to claim 21, wherein said pattern-processing circuit includes at least a text-matching circuit or a code-matching circuit.

28. The pattern processor according to claim 21, wherein said 3D-M array is a three-dimensional horizontal memory (3D-M.sub.H) array or a three-dimensional vertical memory (3D-M.sub.V) array.

29. A pattern processor, comprising an input bus for transferring at least a first portion of a first pattern and a plurality of storage-processing units (SPU's) communicatively coupled with said input bus, each of said SPU's comprising: at least a three-dimensional memory (3D-M) array including memory cells for storing at least a second portion of a second pattern, wherein said memory cells are neither in contact with nor interposed therebetween by any semiconductor substrate; a pattern-processing circuit disposed on a semiconductor substrate and performing pattern processing for said first and second patterns, wherein said memory cells and said pattern-processing circuit at least partially overlap; at least one thousand inter-storage-processor (ISP) connections for communicatively coupling said memory cells and said pattern-processing circuit, wherein said ISP-connections do not penetrate through any semiconductor substrate.

30. The pattern processor according to claim 29, wherein said processor comprises at least one thousand SPU's.

31. The pattern processor according to claim 30, wherein said processor comprises at least ten thousand SPU's.

32. The pattern processor according to claim 29, wherein the length of said ISP connections is on the order of a micron.

33. The pattern processor according to claim 29, wherein said first pattern includes at least a network packet; and, said second pattern includes at least a rule/virus pattern.

34. The pattern processor according to claim 29, wherein said pattern-processing circuit includes at least a text-matching circuit, and/or a code-matching circuit.

35. The pattern processor according to claim 29, wherein said 3D-M array is a three-dimensional horizontal memory (3D-M.sub.H) array or a three-dimensional vertical memory (3D-M.sub.V) array.

36. A pattern processor, comprising an input bus for transferring at least a first portion of a first pattern and a plurality of storage-processing units (SPU's) communicatively coupled with said input bus, each of said SPU's comprising: at least a three-dimensional memory (3D-M) array including memory cells for storing at least a second portion of a second pattern, wherein said memory cells are neither in contact with nor interposed therebetween by any semiconductor substrate; a pattern-processing circuit disposed on a semiconductor substrate and performing pattern processing for said first and second patterns, wherein said memory cells and said pattern-processing circuit at least partially overlap; at least one thousand inter-storage-processor (ISP) connections for communicatively coupling said memory cells and said pattern-processing circuit, wherein said ISP-connections do not penetrate through any semiconductor substrate; and, the length of said ISP connections is on the order of a micron.

37. The pattern processor according to claim 36, wherein said processor comprises at least one thousand SPU's.

38. The pattern processor according to claim 37, wherein said processor comprises at least ten thousand SPU's.

39. The pattern processor according to claim 36, wherein said first pattern includes at least a network packet; and, said second pattern includes at least a rule/virus pattern.

40. The pattern processor according to claim 36, wherein said pattern-processing circuit includes at least a text-matching circuit, and/or a code-matching circuit.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0021] FIG. 1 is a circuit block diagram of a preferred 3-D security processor;

[0022] FIGS. 2A-2C are circuit block diagrams of three preferred storage-processing units (SPU);

[0023] FIG. 3A is a cross-sectional view of a preferred SPU comprising at least a three-dimensional writable memory (3D-W) array; FIG. 3B is a cross-sectional view of a preferred SPU comprising at least a three-dimensional printed memory (3D-P) array;

[0024] FIG. 4 is a perspective view of a preferred SPU;

[0025] FIGS. 5A-5C are substrate layout views of three preferred SPUs.

[0026] It should be noted that all the drawings are schematic and not drawn to scale. Relative dimensions and proportions of parts of the device structures in the figures have been shown exaggerated or reduced in size for the sake of clarity and convenience in the drawings. The same reference symbols are generally used to refer to corresponding or similar features in the different embodiments.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0027] Those of ordinary skills in the art will realize that the following description of the present invention is illustrative only and is not intended to be in any way limiting. Other embodiments of the invention will readily suggest themselves to such skilled persons from an examination of the within disclosure.

[0028] Referring now to FIG. 1, a preferred processor 200 for enhancing network security, i.e. a three-dimensional (3-D) security processor, is disclosed. The preferred 3-D security processor 200 not only performs pattern processing, but also permanently stores a rule/virus database. It comprises mn storage-processing units (SPU) 100aa-100mn. Each SPU is commutatively coupled with an input 110 and an output 120. The input 110 includes at least a network packet, while the output 120 includes at least a result of the pattern processing. Storing rule/virus patterns permanently and in situ, the preferred 3-D security processor 200 avoids the memory-wall faced by the von Neumann architecture. In addition, because the preferred 3-D security processor 200 comprises thousands, even tens of thousands, of SPUs 100aa-100mn, massive parallelism can be achieved.

[0029] The preferred 3-D security processor 200 is a part of a computer network. In a computer network, networked computing devices exchange data with each other using a data link, which is established using either cable media or wireless media. The preferred 3-D security processor 200 may be embodied as independent integrated circuits working with or may also be embodied within central processing units (CPU), microprocessors, multi-core processors, graphic processing units (GPU), network processors, TCP offload engines, network packet classification engines, protocol processors, regular expression processors, content search processors, network search engines, content addressable memories, mainframe computers, grid computers, servers, workstations, personal computers, laptops, notebook computers, PDAs, handheld devices, cellular phones, wired or wireless networked devices, switches, routers, gateways, unified threat management devices, firewalls, VPNs, intrusion detection and prevention systems, extrusion detection systems, compliance management systems, wearable computers, medical devices, Internet of things (IoT) devices, data warehouses, storage area network devices, storage systems, data vaults, chipsets and the like, or their derivatives or any combination thereof.

[0030] The rule database (also known as rule pattern database and the like), includes network layer rules for monitoring contents from a network layer, storage-area networking rules for monitoring contents in a storage area network, application layer rules for monitoring contents from an application layer, or the like or a combination thereof. The network layer rules further include access control rules, network address rules, port specific rules, protocol specific rules, or the like or a combination thereof. The storage-area networking rules further include logical unit number (LUN) masking rules, zoning rules, frame filtering rules, logical block addressing rules, or the like or a combination thereof. The application layer rules further include intrusion detection rules, extrusion detection rules, digital rights management rules, anti-phishing rules, legal compliance detection rules, instant message inspection rules, XML security rules, VOIP rules, or the like or a combination thereof.

[0031] The virus database (also known as virus pattern database, virus signature database, malware database, malware pattern database, malware signature database, signature database, etc.) includes patterns of malwares, computer viruses, computer worms, spam, spywares, ransomeware, sharewares, spyware, trojan horses, keyloggers, backdoors, rootkits, dialers, fraudtools, adware, browser hijackers, browser helper objects (BHOs), or the like, or any future derivatives or a combination thereof.

[0032] FIGS. 2A-2C discloses three preferred SPUs 100ij. Each SPU 100ji comprises a pattern-processing circuit 180 and at least a 3D-M array 170 (or, 170A-170D, 170W-170Z), which are communicatively coupled through an inter-storage-processor (ISP) connection 160 (or, 160A-160D, 160W-160Z). The 3D-M array 170 stores at least a virus pattern, which is compared with the network packet from the input 110 during the pattern processing. In these embodiments, the pattern-processing circuit 180 works with different number of 3D-M arrays. In the first embodiment of FIG. 2A, the pattern-processing circuit 180 works with one 3D-M array 170. In the second embodiment of FIG. 2B, the pattern-processing circuit 180 works with four 3D-M arrays 170A-170D. In the third embodiment of FIG. 2C, the pattern-processing circuit 180 works with eight 3D-M array 170A-170D, 170W-170Z. As will become apparent in FIGS. 5A-5C, the more 3D-M arrays it comprises, a larger footprint and therefore more functions will the SPU 100ij have.

[0033] The pattern-processing circuit 180 performs pattern matching and/or pattern recognition. It may take many forms. In one example, since a portion of the rules (or, the virus signatures) can be represented by a string of characters, the pattern-processing circuit 180 may comprise a text-matching circuit or a code-matching circuit. The text/code-matching circuits could be implemented by a content-addressable memory (CAM) or a comparator including XOR circuits. In another example, since another portion of the rules (or, the virus signatures) can be represented by a regular expression, the pattern-processing circuit 180 can be implemented by finite-state automata (FSA) circuits, which could be non-deterministic FSA (NFA) circuits or deterministic FSA (DFA) circuits.

[0034] Referring now to FIG. 3A-3B, two preferred SPUs 100ij comprising at least a 3D-M array is shown. The 3D-M is a monolithic semiconductor memory comprising a plurality of memory cells stacked above and coupled to a semiconductor substrate. A 3D-M array is a collection of 3D-M cells sharing at least one address line. The most common 3D-M is three-dimensional read-only memory (3D-ROM), which permanently stores information.

[0035] Based on the orientation of the memory cells, the 3D-M can be categorized into three-dimensional horizontal memory (3D-M.sub.H) and three-dimensional vertical memory (3D-M.sub.V). In a 3D-M.sub.H, the memory cells form horizontal memory level(s) which are stacked above a semiconductor substrate. One well-known 3D-M.sub.H is 3D-XPoint. In a 3D-MV, the memory cells form a plurality of vertical memory strings which are placed side-by-side on a semiconductor substrate. One well-known 3D-M.sub.V is 3D-NAND. The 3D-XPoint is faster, while the 3D-NAND is denser.

[0036] The 3D-M of FIG. 3A is a three-dimensional writable memory (3D-W). The 3D-W cells are electrically programmable. Based on the number of programming allowed, a 3D-W can be further categorized into three-dimensional one-time-programmable memory (3D-OTP) and three-dimensional multiple-time-programmable memory (3D-MTP, including 3-D re-programmable memory). Types of the 3D-MTP cells include flash-memory cells, memristor, resistive random-access memory (RRAM or ReRAM) cell, phase-change memory (PCM) cell, programmable metallization cell (PMC), conductive-bridging random-access memory (CBRAM) cell, and the like. The 3D-OTP, generally based on antifuse programming, can be used to store a virus database, because the virus patterns are only added but not modified.

[0037] The 3D-W comprises a substrate circuit 0K formed on the substrate 0. A first memory level 16A is stacked above the substrate circuit 0K, with a second memory level 16B stacked above the first memory level 16A. The substrate circuit 0K includes the peripheral circuits of the memory levels 16A, 16B. It comprises transistors 0t and the associated interconnect 0M. Each of the memory levels (e.g. 16A, 16B) comprises a plurality of first address-lines (i.e. y-lines, e.g. 2a, 4a), a plurality of second address-lines (i.e. x-lines, e.g. 1a, 3a) and a plurality of 3D-W cells (e.g. 5aa). The first and second memory levels 16A, 16B are coupled to the substrate circuit 0K through contact vias 1av, 3av, respectively. Because they couple the 3D-M array 170 and the pattern-processing circuit 180, the contacts vias 1av, 3av are collectively referred to as inter-storage-processor (ISP) connection 160.

[0038] In this preferred embodiment, a 3D-W cell 5aa comprises a programmable layer 12 and a diode layer 14. The programmable layer 12 could be an OTP layer (e.g. an antifuse layer, used for 3D-OTP) or an MTP layer (e.g. a phase-change layer, used for 3D-MTP). The diode layer 14 is broadly interpreted as any layer whose resistance at the read voltage is substantially lower than when the applied voltage has a magnitude smaller than or polarity opposite to that of the read voltage. The diode could be a semiconductor diode (e.g. p-i-n silicon diode), or a metal-oxide (e.g. TiO.sub.2) diode.

[0039] The 3D-M of FIG. 3B is a three-dimensional printed memory (3D-P). The 3D-P is a type of 3D-M whose data are recorded using a printing method during the manufacturing process. These data are fixedly recorded and cannot be changed after manufacturing. The printing methods include photo-lithography, nano-imprint, e-beam lithography, DUV lithography, and laser-programming, etc. A common 3D-P is three-dimensional mask-programmed read-only memory (3D-MPROM), whose data are recorded by photo-lithography. Because electrical programming is not needed, a 3D-P cell can be biased at a larger voltage/current during read than a 3D-W cell and therefore, is faster.

[0040] The 3D-P has at least two types of 3D-P cells: a high-resistance 3D-P cell 5aa, and a low-resistance 3D-P cell 6aa. The low-resistance 3D-P cell 6aa comprises a diode layer 14, while the high-resistance 3D-P cell 5aa comprises a high-resistance layer 12. As an example, the high-resistance layer 12 is a layer of silicon oxide (SiO.sub.2). This high-resistance layer 12 is physically removed at the location of the 3D-P cell 6aa.

[0041] Referring now to FIG. 4, a perspective view of the SPU 100ij is shown. The 3D-M array 170 storing the rule/virus patterns is stacked above the pattern-processing circuit 180. The pattern-processing circuit 180 is formed on the substrate 0 and is at least partially covered by the 3D-M array 170. With the 3-D integration, the footprint of the SPU 100ij is the larger one of the 3D-M array 170 and the pattern-processing circuit 180. Accordingly, the preferred SPU 100ij has a smaller size than that using the 2-D integration. In a given die area, the preferred 3-D security processor 200 has more storage capacity and more processing power than prior art. More storage capacity means fewer dice to store the whole rule/virus database and therefore, a lower overall cost; and, more processing power means more pattern-processing circuits on each die and therefore, more parallelism. In addition, the 3-D integration makes the connections (i.e. the contact vias 1av, 3av) between the memory circuits (i.e. the 3D-M arrays 170) and the processing circuits (i.e. the pattern-processing circuits 180) short (on the order of a micron in length, shorter than prior art) and numerous (thousands, more than prior art). As a result, the ISP-connection 160 in the preferred 3-D security processor 200 has a larger bandwidth.

[0042] Referring now to FIGS. 5A-5C, the substrate layout views of three preferred SUPs 100ij are shown. The embodiment of FIG. 5A corresponds to the SPU 100iji of FIG. 2A. The pattern-processing circuit 180 works with one 3D-M array 170. It is fully covered by the 3D-M array 170. The 3D-M array 170 has four peripheral circuits, including x-decoders 15, 15 and y-decoders 17, 17. The pattern-processing circuit 180 is bound by these four peripheral circuits. Because the 3D-M array 170 is stacked above the substrate 0, but not formed on the substrate 0, its projection on the substrate 0, not the 3D-P array itself, is shown in the area enclosed by dash line.

[0043] The embodiment of FIG. 5B corresponds to the SPU 100ij of FIG. 2B. The pattern-processing circuit 180 works with four 3D-M arrays 170A-170D. Each 3D-M array (e.g. 170) has two peripheral circuits (e.g. x-decoder 15A and y-decoder 17A). Below these four 3D-M arrays 170A-170D, the pattern-processing circuit 180 is formed. Apparently, the pattern-processing circuit 180 of FIG. 5B could be four times as large as that of FIG. 5A. It can perform more complex pattern-processing functions.

[0044] The embodiment of FIG. 5C corresponds to the SPU 100ij of FIG. 2C. The pattern-processing circuit 180 works with eight 3D-M arrays 170A-170D, 170W-170Z. These 3D-M arrays are divided into two sets: a first set 150A includes four 3D-M arrays 170A-170D, and a second set 150B includes four 3D-M arrays 170W-170Z. Below the four 3D-M arrays 170A-170D of the first set 150A, a first component 180A of the pattern-processing circuit 180 is formed. Similarly, below the four 3D-M array 170W-170Z of the second set 150B, a second component 180B of the pattern-processing circuit 180 is formed. In this embodiment, adjacent peripheral circuits (e.g. adjacent x-decoders 15A, 15C, or, adjacent y-decoders 17A, 17B) are separated by physical gaps (e.g. G). These physical gaps allow the formation of the routing channel 190Xa, 190Ya, 190Yb, which provide coupling between different components 180A, 180B, or between different pattern-processing circuits. Apparently, the pattern-processing circuit 180 of FIG. 5C could be eight times as large as that of FIG. 5A. It can perform even more complex pattern-processing functions.

[0045] It should be noted that the pattern-processing circuit 180 is formed at the same time as the peripheral circuits of the 3D-M array 170 during the manufacturing process. Although they occupy only a small area on the substrate 0, because the peripheral circuits still need to be formed for the 3D-M anyway, inclusion of the pattern-processing circuit 180 under the 3D-M array 170 is nearly free from the perspective of the 3D-M. This provides great cost advantage for the preferred 3-D security processor.

[0046] While illustrative embodiments have been shown and described, it would be apparent to those skilled in the art that many more modifications than that have been mentioned above are possible without departing from the inventive concepts set forth therein. The invention, therefore, is not to be limited except in the spirit of the appended claims.