IP Library Granted Patent US 12,596,921
Granted Patent B2
US 12,596,921 · App. 17/848,136 · Granted Apr 7, 2026

Stochastic bitstream generation with in-situ function mapping

Inventors: Pritish Narayanan (San Jose, CA); Geoffrey Burr (Cupertino, CA)
Assignee: International Business Machines Corporation
G06N3/065G06F7/582G06N3/048H03M1/66
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,596,921
App. No.
17/848,136
Granted
Apr 7, 2026
Kind
B2
Abstract

Techniques for generating digital outputs as stochastic bitstreams with activation function mapping are provided. In one aspect, a system includes: a shared circuitry component including a RNG for generating a sequence of random addresses to read a random sequence of digital voltage references stored in a LUT, and a DAC for converting the random sequence of digital voltage references into random analog voltage references V L ; and a comparator(s) for comparing the random analog voltage references V L and input analog voltages V N in sequences of comparisons to produce sequences of digital pulses as stochastic bitstreams. A system having multiple comparators for simultaneously comparing each of the random analog voltage references V L against more than one of the input analog voltages V N in parallel is also provided, as is a method for generating digital outputs from input analog voltages V N .

Claims (35)

1 . A system for generating digital outputs from input analog voltages V N , the system comprising:

a shared circuitry component comprising:

a pseudo-random number generator for generating a sequence of random addresses to read a random sequence of digital voltage references selected to represent the inverse of an in-situ mapped activation function, wherein the random addresses are stored in a look-up table, and

a digital-to-analog converter for converting the random sequence of digital voltage references into random analog voltage references V L that match each random address generated by the pseudo-random number generator with a row in the look-up table containing a digital voltage reference;

an analog artificial intelligence (AI) crossbar array of nonvolatile resistive memory devices outputting the input analog voltages V N representing weighted connections between neurons in a neural network, wherein the input analog voltages V N comprise fixed input voltages for each time step of all the random analog voltage references V L ; and

a plurality of comparators for simultaneously comparing each of the random analog voltage references V L and the input analog voltages V N in sequences of comparisons performed in parallel, wherein each of the comparisons compares one of the random analog voltage references V L against one of the input analog voltages V N , and wherein each comparator produces a digital pulse as either a digital 1 or a digital 0 for each of the comparisons such that the sequences of the comparisons result in sequences of digital pulses that form stochastic bitstreams as the digital outputs that represent the neurons activations, and wherein one unique stochastic bitstream is generated for each of the input analog voltages V N .

2 . The system of claim 1 , wherein the pseudo-random number generator comprises a Linear Feedback Shift Register.

3 . The system of claim 1 , wherein the activation function is a non-linear function selected from the group consisting of: a rectified linear activation (ReLU) function, a sigmoid function, and a tanh activation function.

4 . A system for generating digital outputs from input analog voltages V N , the system comprising:

a shared circuitry component comprising:

a pseudo-random number generator for generating a sequence of random addresses to read a random sequence of digital voltage references selected to represent the inverse of an in-situ mapped activation function, wherein the random addresses are stored in a look-up table, and

a digital-to-analog converter for converting the random sequence of digital voltage references into random analog voltage references V L that match each random address generated by the pseudo-random number generator with a row in the look-up table containing a digital voltage reference;

an analog artificial intelligence (AI) crossbar array of nonvolatile resistive memory devices outputting the input analog voltages V N representing weighted connections between neurons in a neural network, wherein the input analog voltages V N comprise fixed input voltages for each time step of all the random analog voltage references V L ; and

multiple comparators for simultaneously comparing each of the random analog voltage references V L against more than one of the input analog voltages V N in sequences of comparisons performed in parallel for each of the input analog voltages V N , wherein each of the comparisons compares one of the random analog voltage references V L against one of the input analog voltages V N , wherein each of the multiple comparators produces a digital pulse as either a digital 1 or a digital 0 for each of the comparisons such that the sequences of the comparisons performed in parallel for each of the input analog voltages V N results in sequences of digital pulses that form stochastic bitstreams as the digital outputs that represent the neurons activations, and wherein one unique stochastic bitstream is generated for each of the input analog voltages V N .

5 . The system of claim 4 , wherein the input analog voltages V N comprise at least a first input analog voltage V N′ , a second input analog voltage V N″ and a third input analog voltage VN ′″ , and wherein the multiple comparators comprise at least a first comparator for comparing a given one of the random analog voltage references V L at a given time step against the first input analog voltage V N′ , a second comparator for comparing the given one of the random analog voltage references V L at the given time step against the second input analog voltage V N″ , and a third comparator for comparing the given one of the random analog voltage references V L at the given time step against the third input analog voltage V N′″ .

6 . The system of claim 4 , wherein the pseudo-random number generator comprises a Linear Feedback Shift Register.

7 . The system of claim 4 , wherein the activation function is a non-linear function selected from the group consisting of: a rectified linear activation (ReLU) function, a sigmoid function, and a tanh activation function.

8 . A method for generating digital outputs from input analog voltages V N , the method comprising:

generating, by a pseudo-random number generator in a shared circuitry component, a sequence of random addresses to read a random sequence of digital voltage references selected to represent the inverse of an in-situ mapped activation function, wherein the random addresses are stored in a look-up table;

converting, by a digital-to-analog converter in the shared circuitry component, the random sequence of digital voltage references into random analog voltage references V L that match each random address generated by the pseudo-random number generator with a row in the look-up table containing a digital voltage reference;

outputting, by an analog artificial intelligence (AI) crossbar array of nonvolatile resistive memory devices, the input analog voltages V N representing weighted connections between neurons in a neural network, wherein the input analog voltages V N comprise fixed input voltages for each time step of all the random analog voltage references V L ;

simultaneously comparing, by multiple comparators, each of the random analog voltage references V L and the input analog voltages V N in sequences of comparisons performed in parallel, wherein each of the comparisons compares one of the random analog voltage references V L against one of the input analog voltages V N ; and

producing, by the at least one comparator, a digital pulse as either a digital 1 or a digital 0 for each of the comparisons, such that the sequences of the comparisons result in sequences of digital pulses that form stochastic bitstreams as the digital outputs that represent the neurons activations, and wherein one unique stochastic bitstream is generated for each of the input analog voltages V N .

9 . The method of claim 8 , wherein the pseudo-random number generator comprises a Linear Feedback Shift Register.

10 . The method of claim 8 , further comprising:

dividing the given activation function into equally-spaced quantization levels;

determining projections from corresponding points along the given activation function to select input analog voltages V N ; and

storing digital representations of the select input analog voltages V N in the look-up table as the digital voltage references.

11 . The method of claim 10 , wherein the given activation function is a non-linear function selected from the group consisting of: a rectified linear activation (ReLU) function, a sigmoid function, and a tanh activation function.

12 . The method of claim 10 , further comprising:

selecting another activation function; and

repeating the dividing, the determining and the storing with the another activation function.

13 . The method of claim 8 , wherein multiple comparators are used to simultaneously compare each of the random analog voltage references V L against more than one of the input analog voltages V N .

14 . The method of claim 13 , wherein the input analog voltages V N comprise at least a first input analog voltage V N′ , a second input analog voltage V N″ and a third input analog voltage V N′″ , and wherein the multiple comparators comprise at least a first comparator for comparing a given one of the random analog voltage references V L at a given time step against the first input analog voltage V N′ , a second comparator for comparing the given one of the random analog voltage references V L at the given time step against the second input analog voltage V N″ , and a third comparator for comparing the given one of the random analog voltage references V L at the given time step against the third input analog voltage V N′41 .

15 . The system of claim 1 , wherein each of the random analog voltage references V L is simultaneously compared against all of the input analog voltages V N at each time step.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2022
From: NARAYANAN, PRITISH; BURR, GEOFFREY
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 060296/0599 →
Continuity (1)
Related Publication 20230419093A1 · Dec 28, 2023
References Cited (43)
US 6816100B1 · Galton · 2004 [cited by examiner]
US 8384578B2 · Verbruggen et al. · 2013 [cited by applicant]
US 8810443B2 · Steensgaard-Madsen · 2014 [cited by examiner]
US 10063255B2 · Riedel et al. · 2018 [cited by applicant]
US 10078800B2 · Suri et al. · 2018 [cited by applicant]
US 10891536B1 · Merkel · 2021 [cited by applicant]
US 10996929B2 · Najafi et al. · 2021 [cited by applicant]
US 11018689B2 · Mohajer et al. · 2021 [cited by applicant]
US 11038520B1 · Narayanan et al. · 2021 [cited by applicant]
US 11119732B2 · Zhang et al. · 2021 [cited by applicant]
US 11146282B1 · Lok et al. · 2021 [cited by applicant]
US 11275563B2 · Najafi · 2022 [cited by examiner]
US 11443176B2 · Rasch · 2022 [cited by examiner]
US 11586888B2 · Kataeva · 2023 [cited by examiner]
US 11625588B2 · Hou · 2023 [cited by examiner]
US 20080278359A1 · Wojewoda · 2008 [cited by examiner]
US 20090174588A1 · Muenter · 2009 [cited by examiner]
US 20110096878A1 · Mattisson · 2011 [cited by examiner]
US 20120262614A1 · Deng · 2012 [cited by examiner]
US 20170220924A1 · Danjo · 2017 [cited by examiner]
US 20180097535A1 · Gordon et al. · 2018 [cited by applicant]
US 20190149166A1 · Mohajer · 2019 [cited by examiner]
US 20190289345A1 · Najafi · 2019 [cited by examiner]
US 20200162085A1 · Chung · 2020 [cited by applicant]
US 20210143834A1 · Kvatinsky · 2021 [cited by examiner]
US 20210256362A1 · Lie · 2021 [cited by examiner]
US 20210365764A1 · Eyole et al. · 2021 [cited by applicant]
US 20210389931A1 · Asadi et al. · 2021 [cited by applicant]
US 20220140835A1 · Fredriksson · 2022 [cited by examiner]
US 20220395217A1 · Friedman · 2022 [cited by examiner]
US 20230079289A1 · Rossello Sanz · 2023 [cited by examiner]
WO 2023248049A1 · 2023 [cited by applicant]
Oh, Sangheon, et al. “Energy-efficient Mott activation neuron for full-hardware implementation of neural networks.” Nature nanotechnology 16.6 (2021): 680-687. (Year: 2021). [cited by examiner]
Li, Can, et al. “Efficient and self-adaptive in-situ learning in multilayer memristor neural networks.” Nature communications 9.1 (2018): 2385 (Year: 2018). [cited by examiner]
Shafiee, Ali, et al. “ISAAC: A convolutional neural network accelerator with in-situ analog arithmetic in crossbars.” ACM SIGARCH Computer Architecture News 44.3 (2016): 14-26. (Year: 2016) (Year: 2016). [cited by examiner]
International Search Report and Written Opinion for PCT/IB2023/056023 dated Sep. 11, 2023 (13 pages). [cited by applicant]
Giordano et al., “Analog-to-Digital Conversion with Reconfigurable Function Mapping for Neural Networks Activation Function Acceleration,” IEEE Journal on Emerging and Selected Topics in Circuits and Systems, vol. 9, No… [cited by applicant]
Lee et al., “Analog To Stochastic Bit Stream Converter Utilizing Voltage-Assisted Spin Hall Effect,” IEEE Electron Device Letters, vol. 38, Issue 9 (Sep. 2017) (4 total pages). [cited by applicant]
Duarte et al., “XtokaxtikoX: A Stochastic Computing-Based Autonomous Cyber-Physical System,” 2016 IEEE International Conference on Rebooting Computing (ICRC), Oct. 17-10, 2016 (7 total pages). [cited by applicant]
Jia et al., “SPINBIS: Spintronics Based Bayesian Inference System With Stochastic Computing,” TCAD IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 39, Issue 4, Apr. 2020 (14 total pag… [cited by applicant]
Pervaiz et al., “Probabilistic Computing with Binary Stochastic Neurons,” 2019 IEEE BiCMOS and Compound semiconductor Integrated Circuits and Technology Symposium (BCICTS), Nov. 3-6, 2019 (7 total pages). [cited by applicant]
Li et al., “HEIF: Highly Efficient Stochastic Computing-Based Inference Framework for Deep Neural Networks,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 38, No. 8, pp. 1543-1556, … [cited by applicant]
Mell et al., “The NIST Definition of Cloud Computing,” NIST Special Publication 800-145, Sep. 2011 (7 pages). [cited by applicant]