Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
DETAILED ACTION
2. This action is in response to the amendment filed August 12, 2026.
3. Claims 1-20 have been examined and are pending with this action.
Response to Arguments
4. Applicant's arguments filed August 12, 2026 with respect to the rejection of claims 1-5, 7-12, and 17, previously rejected under 35 U.S.C. 102(a)(1) and 102 (a)(2) as being anticipated by Goska et al (US 2023/0281069 A1) have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of Sumbul et al. (US 2019/0043560 A1). Please seen new grounds of rejection set forth below. This action is Non-Final.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
5. Claims 1-5, 7-12, and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Goska et al (US 2023/0281069 A1) in view of Sumbul et al. (US 2019/0043560 A1).
INDEPENDENT:
As per claim 1, Goska teaches a device, comprising:
an interface operable on a communication channel to receive encrypted communications transmitted among a plurality of components (see Goska, Abstract: “on a trained application model to receive homomorphically encrypted log data and to execute the model with the homomorphically encrypted log data.”; and [0117]: “a node is interfaced to other nodes of WWW through a WWW HTTP server such as servers 1034, 1036. In at least one embodiment, PC 1044 may be a PC forming a node of network 1032 and itself running its server 1036, although PC 1044 and server 1036 are illustrated separately in FIG. 10C for illustrative purposes.”);
a non-volatile memory cell array having memory cells programmed according to weight matrices of an artificial neural network trained to classify sequences of encrypted communications generated according to an encryption configuration (see Goska, [0057]: “In at least one embodiment, log data may be used to train one or more machine learning models to identify or recognize potential errors or failures preemptively. In at least one embodiment, log data may be used for debugging. In at least one embodiment, log data may be used for error diagnostics.”; [0059]: “In at least one embodiment, an initial model may be transmitted to one or more secure data centers, such as by a provider associated with one or more components within secure data centers. In at least one embodiment, one or more initial models may be statistical models or artificial intelligence (AI) models, among other options.”; [0098]: “In at least one embodiment, trained machine learning models corresponding to one or more neural networks may be used to infer or predict information using resources described above with respect to data center 700 by using weight parameters calculated through one or more training techniques described herein.”; [0171]: “In at least one embodiment, inference and/or training logic 1815 may include, without limitation, code and/or data storage 1801 to store forward and/or output weight and/or input/output data, and/or other parameters to configure neurons or layers of a neural network trained and/or used for inferencing in aspects of one or more embodiments… in which weight and/or other parameter information is to be loaded to configure, logic,”; and [0174]: “In at least one embodiment, any portion of code and/or data storage 1805 may be internal or external to one or more processors or other hardware logic devices or circuits. In at least one embodiment, code and/or data storage 1805 may be cache memory, DRAM, SRAM, non-volatile memory (e.g., flash memory), or other storage”); and
a controller configured to:
identify a sequence of encrypted communications, generated according to the encryption configuration and received in the interface from the communication channel (see Goska, [0071]: “In at least one embodiment, encrypted data may be transmitted across one or more secure boundaries while maintaining compliance with one or more data control policies.”; [0074]: “In at least one embodiment, products 416 are associated with a secure data center and log data 414 has one or more data control policies such that log data 414 cannot be transmitted across one or more secure boundaries of secure data center. In at least one embodiment, log data 414 is provide to encryption module 412, which uses traits 410, to generate encrypted logs 418. In at least one embodiment, encrypted logs 418 are produced then provided for use with executing models 420.”; and [0397]: “on a trained application model to receive homomorphically encrypted log data, the encrypted log data to have one or more features based, at least in part, on one or more parameters of the trained application model, the one or more parameters associated with one or more operations of the trained application model.”); and
perform computations of the artificial neural network responsive to the sequence of encrypted communications as an input (see Goska, [0319]: “latency requirements of training and/or inferencing functions being performed, batch size of data used in inferencing and/or training of a neural network, or some combination of these factors.”; [0397]: “One or more processors to determine one or more diagnostic results based, at least in part, on a trained application model to receive homomorphically encrypted log data”; and [0430]: “latency requirements of training and/or inferencing functions being performed, batch size of data used in inferencing and/or training of a neural network, or some combination of these factors…”).
Gostka does not explicitly teach the computations of the artificial neural network using memory cells programmed in a first mode to facilitate multiplication and accumulation, operations of multiplication and accumulation.
Sumbul teaches the computations of the artificial neural network using memory cells programmed in a first mode to facilitate multiplication and accumulation, operations of multiplication and accumulation (see Sumbul, [0021]: “As described herein, compute-in-memory circuitry enables a multiply-accumulate (MAC) operation based on shared charge. Row access circuitry drives multiple rows of a memory array to multiply a first data word with a second data word stored in the memory array in a bit-serial fashion. The row access circuitry drives the multiple rows based on the bit pattern of the first data word. Column access circuitry drives a column of the memory array when the rows are driven. Charge accumulates on the column line. Sensing circuitry can sense charge on the column line.”).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the system of Goska in view of Sumbul so that the computations of the artificial neural network uses memory cells programmed in a first mode to facilitate multiplication and accumulation, operations of multiplication and accumulation. One would be motivated to do so because Sumbul teaches that compute-in-memory arrays can perform MAC operations in a highly parallel fashion, thereby improving MAC throughout, while also seeking to reduce power consumption and hardware limitations association with conventional MAC processing (see Sumbul, [0023]: “CIM circuitry reduces the amount of data transferred between memory and the compute engine, which can be a processor or arithmetic logic. The reduction in data movement accelerates the operation of algorithms that are memory bandwidth limited. The reduction in data movement also reduces energy consumption of overall data movement within the computing device.”).
As per claim 11, Goska and Sumbul teach a method, comprising:
programming, in a first mode, memory cells in a non-volatile memory cell array of a device, to store weight matrices of an artificial neural network trained to classify sequences of encrypted communications generated according to an encryption configuration (see Claim 1 rejection above);
receiving, in an interface of the device from a communication channel, encrypted communications transmitted among a plurality of components (see Claim 1 rejection above);
identifying, by the device, a sequence of encrypted communications, generated according to the encryption configuration and received in the interface from the communication channel (see Claim 1 rejection above); and
performing, by the device, using the memory cells programmed in the first mode to facilitate multiplication and accumulation, operations of multiplication and accumulation (see Claim 1 rejection above).
As per claim 17, Goska and Sumbul teach a computing system, comprising:
a communication channel (see Goska, [0113]: “In at least one embodiment, medium 1022 may be, a communication channel such as an Integrated Services Digital Network (“ISDN”). In at least one embodiment, various nodes of a networked computer system may be connected through a variety of communication media, including local area networks (“LANs”), plain-old telephone lines (“POTS”), sometimes referred to as public switched telephone networks (“PSTN”), and/or variations thereof.”);
a plurality of components connected to the communication channel (see Goska, FIG. 6); and
a device including:
an interface connected to the communication channel to receive encrypted communications transmitted among the plurality of components (see Claim 1 rejection above);
a non-volatile memory cell array having memory cells programmed in a first mode according to weight matrices of an artificial neural network trained to classify sequences of encrypted communications generated according to an encryption configuration (see Claim 1 rejection above); and
a controller configured to:
identify a sequence of encrypted communications, generated according to the encryption configuration and received in the interface from the communication channel (see Claim 1 rejection above).
DEPENDENT:
As per claim 2, which depends on claim 1, Goska further teaches wherein the controller is further configured to:
determine, without decryption of the sequence of encrypted communications, whether the sequence of encrypted communications is anomalous, based on an output of the artificial neural network responsive to the sequence of encrypted communications (see Goska, [0060]: “In at least one embodiment, one or more secure data centers may encrypt log data, such as via homomorphic encryption, and provide encrypted data to one or more providers. In at least one embodiment, one or more models are adapted to operate using encrypted data without decrypting data, thereby maintaining security of log data.”; [0070]: “In at least one embodiment, one or more encryption techniques are combined with operation of one or more trained machine learning models to evaluate information without decrypting data such that secure data center log data is not exposed or otherwise in violation of data control policies.”; and [0184]: “In at least one embodiment, unsupervised training can also be used to perform anomaly detection, which allows identification of data points in new dataset 1912 that deviate from normal patterns of new dataset 1912”);
collect, during a predetermined period of operation of a computing device having the device, a training dataset containing a plurality of sequences of encrypted communications, communicated through the communication channel and generated according to the encryption configuration (see Goska, [0062]: “In at least one embodiment, data collected from sensors 204 may be used, at least in part, to perform one or more diagnostic operations 206. In at least one embodiment, diagnostic operations 206 are performed responsive to one or more indicators associated with data collected from servers 204, such as an error message or an unexpected operating configuration. In at least one embodiment, diagnostic operations 206 are conducted at predetermined intervals. In at least one embodiment, diagnostic operations 206 include evaluations using one or more trained machine learning systems... In at least one embodiment, update operations 208 may be performed periodically, such as to update models or to obtain new information based, at least in part, on equipment within data center 100.”; and [0098]: “data center 700 may include tools, services, software or other resources to train one or more machine learning models or predict or infer information using one or more machine learning models according to one or more embodiments described herein. For example, in at least one embodiment, a machine learning model may be trained by calculating weight parameters according to a neural network architecture using software and computing resources described above with respect to data center 700. In at least one embodiment, trained machine learning models corresponding to one or more neural networks may be used to infer or predict information using resources described above with respect to data center 700 by using weight parameters calculated through one or more training techniques described herein.”); and
train the weight matrices of the artificial neural network to classify the plurality of sequences of encrypted communications as normal (see Goska, [0184]: “In at least one embodiment, untrained neural network 1906 is trained using unsupervised learning, wherein untrained neural network 1906 attempts to train itself using unlabeled data. In at least one embodiment, unsupervised learning training dataset 1902 will include input data without any associated output data or “ground truth” data. In at least one embodiment, untrained neural network 1906 can learn groupings within training dataset 1902 and can determine how individual inputs are related to untrained dataset 1902. In at least one embodiment, unsupervised training can be used to generate a self-organizing map in trained neural network 1908 capable of performing operations useful in reducing dimensionality of new dataset 1912. In at least one embodiment, unsupervised training can also be used to perform anomaly detection, which allows identification of data points in new dataset 1912 that deviate from normal patterns of new dataset 1912”; and [0319]: “In at least one embodiment, MPUs 3517A-3517N can also be configured for mixed precision matrix operations, including half-precision floating point and 8-bit integer operations. In at least one embodiment, MPUs 3517-3517N can perform a variety of matrix operations to accelerate machine learning application frameworks, including enabling support for accelerated general matrix to matrix multiplication (GEMM). In at least one embodiment, AFUs 3512A-3512N can perform additional logic operations not supported by floating-point or integer units, including trigonometric operations (e.g., sine, cosiInference and/or training logic 1815 are used to perform inferencing and/or training operations associated with one or more embodiments. Details regarding inference and/or training logic 1815 are provided herein in conjunction with FIGS. 18A and/or 18B. In at least one embodiment, inference and/or training logic 1815 may be used in graphics core 3500 for inferencing or predicting operations based, at least in part, on weight parameters calculated using neural network training operations, neural network functions and/or architectures, or neural network use cases described herein.”).
As per claim 3, which depends on claim 1, Goska further teaches wherein the non-volatile memory cell array includes:
a first subset of memory cells programmed in the first mode according to a first set of weight matrices of the artificial neural network trained to classify sequences of encrypted communications generated according to a first encryption configuration (see Goska, [0171]: “In at least one embodiment code and/or data storage 1801 stores weight parameters and/or input/output data of each layer of a neural network trained or used in conjunction with one or more embodiments during forward propagation of input/output data and/or weight parameters during training and/or inferencing using aspects of one or more embodiments. In at least one embodiment, any portion of code and/or data storage 1801 may be included with other on-chip or off-chip data storage, including a processor’s L1, L2, or L3 cache or system memory.”; [0176]: “weight parameter data stored in code and/or data storage 1801”; and [0188]: “In at least one embodiment, Open VINO supports neural network models for various tasks and operations, such as classification, segmentation, object detection, face recognition, speech recognition, pose estimation (e.g., humans and/or objects), monocular depth estimation, image inpainting, style transfer, action recognition, colorization, and/or variations thereof.”); and
a second subset of memory cells programmed in the first mode according to a second set of weight matrices of the artificial neural network trained to classify sequences of encrypted communications generated according to a second encryption configuration (see Goska, [0182]: “In at least one embodiment, weights may be chosen randomly or by pre-training using a deep belief network. In at least one embodiment, training may be performed in either a supervised, partially supervised, or unsupervised manner.”; and [0183]: “training framework 1904 trains untrained neural network 1906 repeatedly while adjust weights to refine an output of untrained neural network 1906 using a loss function and adjustment algorithm, such as stochastic gradient descent. In at least one embodiment, training framework 1904 trains untrained neural network 1906 until untrained neural network 1906 achieves a desired accuracy. In at least one embodiment, trained neural network 1908 can then be deployed to implement any number of machine learning operations.”); and
wherein the controller is configured to identify the sequence of encrypted communications and select a set of weight matrices for classification of the sequence of encrypted communications, based on an encryption configuration identification (see Goska, [0171]: “In at least one embodiment, inference and/or training logic 1815 may include, without limitation, code and/or data storage 1801 to store forward and/or output weight and/or input/output data, and/or other parameters to configure neurons or layers of a neural network trained and/or used for inferencing in aspects of one or more embodiments… In at least one embodiment, code, such as graph code, loads weight or other parameter information into processor ALUs based on an architecture of a neural network to which such code corresponds”; and [0182]: “In at least one embodiment, weights may be chosen randomly or by pre-training using a deep belief network. In at least one embodiment, training may be performed in either a supervised, partially supervised, or unsupervised manner.”).
As per claim 4, which depends on claim 3, Goska further teaches wherein the encryption configuration identification is representative of a combination of cryptographic techniques and cryptographic keys used by one or more components on the communication channel to encrypt communications in the sequence (see Goska, [0070]: “In at least one embodiment, homomorphic encryption may utilize one or more frameworks such as Encrypt-Everything-Everywhere (E3) or SHEEP that may execute one or more libraries such as HElib, SEAL, PALISADE, HEAAN, or others.”).
As per claim 5, which depends on claim 4, Goska further teaches wherein the encryption configuration identification identifies the one or more components on the communication channel without revealing the cryptographic keys (see Goska, Abstract: “one or more processors determine one or more diagnostic results based, at least in part, on a trained application model to receive homomorphically encrypted log data and to execute the model with the homomorphically encrypted log data.”); and
the controller is configured to select, from encrypted communications received from the communication channel, the sequence of encrypted communications according to the encryption configuration identification (see Claim 1 rejection above).
As per claim 7, which depends on claim 5, Goska further teaches wherein the controller is configured to select the sequence of encrypted communications based on communications in the sequence being encrypted using a symmetric cryptographic technique and a cryptographic key shared among a plurality of components of the destination component (see Goska, [0215]: “In at least one embodiment, AMF 2112 may act as Security Anchor Function (SEA), which may include interaction with AUSF 2114 and UE 2102 and receipt of an intermediate key that was established as a result of UE 2102 authentication process. In at least one embodiment, where USIM based authentication is used, AMF 2112 may retrieve security material from AUSF 2114. In at least one embodiment, AMF 2112 may also include a Security Context Management (SCM) function, which receives a key from SEA that it uses to derive access-network specific keys.”).
As per claim 8, which depends on claim 5, Goska further teaches wherein the device is configured to observe communications in the communication channel without facilitating transmission of messages over the communication channel (see Goska, [0002]: “Data centers collect log information during operation for statistical modeling that may be used to monitor health of various data center components.”; and [0059]: “on log data collected within a secure data center”).
As per claim 9, which depends on claim 5, Goska teaches further comprising:
a random access memory (see Goska, [0107]: “In at least one embodiment, servers include computer readable data storage media such as hard disk drives and RAM memory that store program instructions and data.”);
wherein the interface is configured to receive commands to write encrypted communications into message queues configured in the random access memory and commands to read messages from the message queues (see Goska, [0341]: “In at least one embodiment, each cluster 3614A-3614N can communicate with memory interface 3618 through memory crossbar 3616 to read from or write to various external memory devices.”).
As per claim 10, which depends on claim 9, Goska teaches further comprising: a first integrated circuit die containing the random access memory including a dynamic random access memory (see Goska, [0107]: “In at least one embodiment, servers include computer readable data storage media such as hard disk drives and RAM memory that store program instructions and data.”);
a second integrated circuit die containing the non-volatile memory cell array (see Goska, FIG. 6 & FIG. 7; and Claim 1 rejection above);
a third integrated circuit die containing the controller (see Goska, FIG. 6 & FIG. 7; and Claim 1 rejection above); and
an integrated circuit package configured to enclose the first integrated circuit die, the second integrated circuit die, and the third integrated circuit die (see Goska, [0165]: “In at least one embodiment, a supercomputer may refer to a hardware system exhibiting substantial parallelism and comprising at least one chip, where chips in a system are interconnected by a network and are placed in hierarchically organized enclosures.”);
wherein the artificial neural network includes at least a recurrent neural network (RNN), a long short term memory (LSTM) network, or an attention-based neural network (see Goska, [0187]: “In at least one embodiment, Open VINO is a toolkit for facilitating development of applications, specifically neural network applications, for various tasks and operations, such as human vision emulation, speech recognition, natural language processing, recommendation systems, and/or variations thereof. In at least one embodiment, Open VINO supports neural networks such as convolutional neural networks (CNNs), recurrent and/or attention-based neural networks, and/or various other neural network models. In at least one embodiment, Open VINO supports various software libraries such as OpenCV, OpenCL, and/or variations thereof.”).
As per claim 12, which depends on claim 11, Goska teaches further comprising:
performing, by the device, computations of the artificial neural network responsive to the sequence of encrypted communications as an input (see Claim 1 rejection above); and
determining, by the device without decryption of the sequence of encrypted communications, whether the sequence of encrypted communications is anomalous, based on an output of the artificial neural network responsive to the sequence of encrypted communications (see Claim 1 rejection above);
wherein the non-volatile memory cell array includes:
a first subset of memory cells programmed in the first mode according to a first set of weight matrices of the artificial neural network trained to classify sequences of encrypted communications generated according to a first encryption configuration (see Claim 3 rejection above); and
a second subset of memory cells programmed in the first mode according to a second set of weight matrices of the artificial neural network trained to classify sequences of encrypted communications generated according to a second encryption configuration (see Claim 3 rejection above); and
wherein the method further comprises identifying the sequence of encrypted communications and selecting a set of weight matrices for classification of the sequence of encrypted communications, based on an encryption configuration identification (see Claim 3 rejection above);
wherein the encryption configuration identification is representative of a combination of cryptographic techniques and cryptographic keys used by one or more components on the communication channel to encrypt communications in the sequence (see Claim 4 rejection above);
wherein the encryption configuration identification identifies the one or more components on the communication channel without revealing the cryptographic keys (see Claim 4 rejection above); and
wherein the sequence of encrypted communications is selected, from encrypted communications received from the communication channel, according to the encryption configuration identification (see Claim 1 rejection above).
6. Claims 6, 13, and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Goska et al (US 2023/0281069 A1) and Sumbul et al. (US 2019/0043560 A1), and still further in view of Davis et al. (US 2014/0075536 A1) and Benussi et al. (US 2001/0044898 A1).
As per claim 6, which depends on claim 5, although explicitly teaches select the sequence of encrypted communications based on communications in the sequence (see Claim 1 rejection above), Goska and Sumbul do not explicitly teach wherein the controller is configured to select communications based on communications in the sequence being addressed to a same destination component and encrypted using an asymmetric cryptographic technique and a public key of the destination component.
Davis teaches a controller is configured to select the sequence of communications based on communications in the sequence being addressed to a same destination component (see Davis, [0011]: “In some embodiments, the step of analyzing packet information from the one or more data stores to determine whether anomalies exist in the network traffic may include analyzing the group of packet information to determine a number of pieces of packet information in the group with the same source and destination, and determining whether the number of pieces of packet information with the same source and destination exceeds a threshold.”).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the system of Goska and Sumbul in view of Davis so that the controller is configured to select the sequence of encrypted communications based on communications in the sequence being addressed to a same destination component. One would be motivated to do so because Goska teaches in paragraph [0062], “provider 210 collects information from a variety of different users and may aggregate information to develop one or more trained machine learning models or statistical models in order to provide diagnostic or debugging support, among other services.”, emphasis added.
Benussi teaches encrypted using an asymmetric cryptographic technique and a public key of the destination component (see Benussi, [0212]: “Asymmetric-key cryptographic techniques are used to authenticate the CB and CSS to each other. As is well known to persons skilled in the art, asymmetric key cryptography involves a public key, private key pair”).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the system of Goska and Sumbul in view of Benussi so that the controller is configured to select the sequence of encrypted communications based on communications in the sequence being addressed to a same destination component and encrypted using an asymmetric cryptographic technique and a public key of the destination component. One would be motivated to do so because Goska teaches in paragraph [0215], “In at least one embodiment, AMF 2112 may act as Security Anchor Function (SEA), which may include interaction with AUSF 2114 and UE 2102 and receipt of an intermediate key that was established as a result of UE 2102 authentication process. In at least one embodiment, where USIM based authentication is used, AMF 2112 may retrieve security material from AUSF 2114. In at least one embodiment, AMF 2112 may also include a Security Context Management (SCM) function, which receives a key from SEA that it uses to derive access-network specific keys.”, emphasis added.
As per claim 13, which depends on claim 12, Goska, Sumbul, Davis, and Benussi teach further comprising: selecting the sequence of encrypted communications based on:
communications in the sequence being addressed to a same destination component and encrypted using an asymmetric cryptographic technique and a public key of the destination component (see Claim 6 rejection above); or
communications in the sequence being encrypted using a symmetric cryptographic technique and a cryptographic key shared among a plurality of components of the destination component (see Claim 4 rejection above).
As per claim 14, which depends on claim 13, Goska further teaches wherein the device is configured to observe communications in the communication channel without facilitating transmission of messages over the communication channel (see Claim 8 rejection above).
7. Claim 18 is rejected under 35 U.S.C. 103 as being unpatentable over Goska et al (US 2023/0281069 A1) and Sumbul et al. (US 2019/0043560 A1, and still further in view of Bode (US 2009/0097324 A1).
As per claim 18, which depends on claim 17, Goska further teaches wherein the controller is further configured to:
performing, by the device, computations of the artificial neural network responsive to the sequence of encrypted communications as an input (see Claim 1 rejection above); and
determining, by the device without decryption of the sequence of encrypted communications, whether the sequence of encrypted communications is anomalous, based on an output of the artificial neural network responsive to the sequence of encrypted communications (see Claim 1 rejection above);
memory cell programmed in the first mode in the non-volatile memory cell array (see Claim 1 rejection above).
Goska and Sumbul do not explicitly teach wherein each respective memory cell is configured to output:
a predetermined amount of current in response to a predetermined read voltage when the respective memory cell has a threshold voltage programmed to represent a value of one; or
a negligible amount of current in response to the predetermined read voltage when the threshold voltage is programmed to represent a value of zero; wherein each respective memory cell is programmable in a second mode in the non-volatile memory cell array to have a threshold voltage positioned in one of a plurality of voltage regions, each representative of one of a plurality of predetermined values.
Bode teaches wherein each respective memory cell is configured to output:
a predetermined amount of current in response to a predetermined read voltage when the respective memory cell has a threshold voltage programmed to represent a value of one (see Bode, Abstract: “A programmable current reference is also disclosed”; [0060]: “This current will be discriminated against a threshold to decide whether the bitcell 10 is in a programmed (non-conducting) or erased (conducting) state. The bias conditions applied during program operation are carefully chosen and maintained such that only the potential of the floating gate 5 on the bitcells 10 which are meant to programmed are actually changed. Any potential erasure of bitcells 10 sitting on the same wordline 40, or sitting on the same bitline 30 within the same memory sector (where the programming high voltage is applied) will limit the performance or endurance of the total memory.”; [0089]: “programming current generation circuit for a non-volatile memory device to control the end of programming voltage, Veop”; and page 6, claim 4: “a first multiplexer for selecting a one of the output taps for providing a voltage signal having a first voltage level at an output”); or
a negligible amount of current in response to the predetermined read voltage when the threshold voltage is programmed to represent a value of zero (see Bode, [0093]: “Programming of a bitcell 10 stops when the available I.sub.prog current reaches zero, as shown in FIG. 13, and this point is defined by the value of Veop, the value of which is set by the programmable voltage reference 250, as described above. This is also known as a setpoint. This ensures the bitline disturb margin is maintained (see FIG. 7 and the accompanying description).”);
wherein each respective memory cell is programmable in a second mode in the non-volatile memory cell array to have a threshold voltage positioned in one of a plurality of voltage regions, each representative of one of a plurality of predetermined values (see Bode, Abstract: “A non-volatile memory device includes a voltage reference generator comprising a programmable voltage reference for generating a voltage signal having a programmable voltage level. In an embodiment, the programmable voltage reference provides the voltage signals for a wordline driver and/or a bitline current generator of the non-volatile memory device.”; and [0009]: “When there is little or no charge on the floating gate, the threshold voltage Vt of the transistor forming the bitcell is low. As charge is moved onto the floating gate during programming by the above methods, the threshold voltage Vt of the bitcell increases. Once the amount of charge stored on the floating gate reaches a predetermined level, the bitcell is considered programmed.”).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the system of Goska and Sumbul in view of Bode so that each respective memory cell is configured to output: a predetermined amount of current in response to a predetermined read voltage when the respective memory cell has a threshold voltage programmed to represent a value of one; or a negligible amount of current in response to the predetermined read voltage when the threshold voltage is programmed to represent a value of zero; wherein each respective memory cell is programmable in a second mode in the non-volatile memory cell array to have a threshold voltage positioned in one of a plurality of voltage regions, each representative of one of a plurality of predetermined values. One would be motivated to do so because Goska teaches in paragraph [0172], “In at least one embodiment, any portion of code and/or data storage 1801 may be internal or external to one or more processors or other hardware logic devices or circuits. In at least one embodiment, code and/or code and/or data storage 1801 may be cache memory, dynamic randomly addressable memory (“DRAM”), static randomly addressable memory (“SRAM”), non-volatile memory (e.g., flash memory), or other storage.”.
8. Claim 15 is rejected under 35 U.S.C. 103 as being unpatentable over Goska et al (US 2023/0281069 A1), Sumbul et al. (US 2019/0043560 A1), Davis et al. (US 2014/0075536 A1), and Benussi et al. (US 2001/0044898 A1), and still further in view of Bode (US 2009/0097324 A1).
As per claim 15, which depends on claim 14, Bode further teaches wherein each respective memory cell programmed in the first mode in the non-volatile memory cell array is configured to output:
a predetermined amount of current in response to a predetermined read voltage when the respective memory cell has a threshold voltage programmed to represent a value of one; or
a negligible amount of current in response to the predetermined read voltage when the threshold voltage is programmed to represent a value of zero (see Claim 18 rejection above).
Claim Objections
9. Claims 16 19, and 20 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
The following is an examiner' s statement of reasons for allowance:
The prior art of record does not disclose, teach, or suggest neither singly nor in combination the claimed limitation of “wherein the non-volatile memory cell array includes wordlines and bitlines; and the method further comprises: instructing voltage drivers of the device to apply voltages to the wordlines according to input bits to cause output currents through memory cells, programmed in the first mode to store a weight matrix, to be summed in the bitlines in an analog form, wherein a voltage driver is configured to apply, to a respective wordline: the predetermined read voltage, when an input bit provided for the respective wordline is one; or a voltage lower than the predetermined read voltage to cause memory cells on the respective wordline to output negligible amount of currents to the bitlines, when the input bit provided for the respective wordline is zero; and converting, using current digitizers of the device, currents in the bitlines as multiple of the predetermined amount of current, representative of digital results of multiplication and accumulation applied to the input bits and the weight matrix”, as recited in dependent claim 16.
The prior art of record does not disclose, teach, or suggest neither singly nor in combination the claimed limitation of “voltage drivers; and current digitizers; wherein the non-volatile memory cell array includes wordlines and bitlines; wherein the controller is configured to instruct the voltage drivers to apply voltages to the wordlines according to input bits to cause output currents through memory cells, programmed in the first mode to store a weight matrix, to be summed in the bitlines in an analog form; and wherein the current digitizers are configured to convert currents in the bitlines as multiple of the predetermined amount of current, representative of digital results of multiplication and accumulation applied to the input bits and the weight matrix”, as recited in dependent claim 19.
Claim 20 depends on claim 19, and therefore would be allowable if claim 19 is rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
10. For the reasons above, claims 1-15 and 17-18 have been rejected, claims 16 and 19-20 have been objected to, and claims 1-20 remain pending.
11. Any inquiry concerning this communication or earlier communications from the examiner should be directed to MICHAEL Y WON whose telephone number is (571)272-3993. The examiner can normally be reached on Wk.1: M-F: 8-5 PST & Wk.2: M-Th: 8-7 PST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Nicholas R Taylor can be reached on 571-272-3889. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Michael Won/Primary Examiner, Art Unit 2443