IP Library Granted Patent US 12,242,381
Granted Patent B2
US 12,242,381 · App. 17/669,657 · Granted Mar 4, 2025

In-memory zero value detection

Inventors: Elad Sity (Kfar Saba, IL); Eliad Hillel (Herzliya, IL)
Assignee: NeuroBlade Ltd.
G06F12/0802G06F3/0625G06F3/0637G06F3/0673G06F12/0646G06F12/1458G06F13/1657G06F13/1668G06F15/786G06F2212/1056G06F2212/60G06F2212/7202
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,242,381
App. No.
17/669,657
Granted
Mar 4, 2025
Kind
B2
Abstract

In some embodiments, an integrated circuit may include a substrate and a memory array disposed on the substrate, where the memory array includes a plurality of discrete memory banks. The integrated circuit may also include a processing array disposed on the substrate, where the processing array includes a plurality of processor subunits, each one of the plurality of processor subunits being associated with one or more discrete memory banks among the plurality of discrete memory banks. The integrated circuit may also include a controller configured to implement at least one security measure with respect to an operation of the integrated circuit and take one or more remedial actions if the at least one security measure is triggered.

Claims (35)

1. A memory unit comprising:

a memory array including a plurality of memory banks;

at least one controller configured to control at least one aspect of read operations relative to the plurality of memory banks;

at least one multi-bit zero value detection logic unit configured to detect a multi-bit zero value associated with data and prevent retrieval of the data, wherein the data is stored in a particular address of the plurality of memory banks;

at least one read-disable element configured to interrupt a read command associated with the particular address when the at least one multi-bit zero value detection logic unit detects the multi-bit zero value associated with the particular address; and

wherein the at least one controller is configured to return a multi-bit zero value indicator to one or more circuits in response to a multi-bit zero value detection by the at least one multi-bit zero value detection logic unit.

2. The memory unit of claim 1 , wherein the one or more circuits to which the multi-bit zero value indicator is returned are outside the memory unit.

3. The memory unit of claim 1 , wherein the one or more circuits to which the multi-bit zero value indicator is returned are inside the memory unit.

4. The memory unit of claim 1 , wherein the at least one controller is configured to send the multi-bit zero value indicator to the one or more circuits instead of sending the data stored in the particular address.

5. The memory unit of claim 1 , wherein a size of the multi-bit zero value indicator is smaller than a size of the data.

6. The memory unit of claim 1 , wherein an energy consumed by a first process that comprises (a) detecting the multi-bit zero value, (b) generating the multi-bit zero value indicator, and (c) sending the multi-bit zero value indicator to the one or more circuits is smaller than an energy consumed by sending the data to the one or more circuits.

7. The memory unit of claim 1 , wherein the memory unit further includes at least one sense amplifier configured to preclude activation of at least one of the plurality of memory banks after a zero value detection by the at least one multi-bit zero value detection logic unit.

8. The memory unit of claim 1 , wherein each of the plurality of memory banks is further organized into sub-banks, the at least one controller includes a sub-bank controller, and wherein the at least one multi-bit zero value detection logic unit includes a zero value detection logic associated with the sub-banks.

9. The memory unit of claim 1 , further including a plurality of processor subunits spatially distributed within the memory unit, wherein each of the plurality of processor subunits is operably connected with a corresponding at least one of the plurality of memory banks, and wherein each of the plurality of processor subunits is configured to access and operate on data stored in the corresponding at least one memory bank.

10. The memory unit of claim 1 , further comprising:

a processing unit configured to:

send read requests to the memory banks;

receive the zero value indicator; and

based on the received zero value indicator, forego transfer of the multi-bit zero value.

11. The memory unit of claim 1 , wherein:

the at least one controller is further configured to control at least one aspect of write operations relative to the plurality of memory banks;

the at least one multi-bit zero value detection logic unit is further configured to detect a user-adjusted value associated with data to be written to an address of the plurality of memory banks; and

the at least one controller is further configured to provide a value indicator to the one or more circuits in response to a detection by the at least one multi-bit zero value detection logic unit of the user-adjusted value.

12. A method for detecting a zero value in a particular address of a plurality of memory banks of a memory unit, comprising:

receiving, from a circuit outside the memory unit, a request to read data stored in the particular address of the plurality of memory banks of the memory unit;

activating, by a controller, in response to the received request, a zero value detection logic unit to detect the zero value in the particular address and prevent retrieval of the data;

transmitting, by the controller, in response to the zero value detection by the zero value detection logic unit, a zero value indicator to the circuit; and

configuring, by the controller, a read-disable element to interrupt a read command associated with the particular address when the zero value detection logic unit detects the zero value associated with the particular address.

13. The method of claim 12 , further comprising configuring, by the controller, a sense amplifier to preclude an activation of at least one of the plurality of memory banks when the zero value detection logic unit detects the zero value.

14. A non-transitory computer-readable medium storing a set of instructions that are executable by a controller of a memory unit to perform operations to cause the memory unit to detect a zero value in a particular address of a plurality of memory banks of a memory unit, the operations comprising:

receiving, from a circuit outside the memory unit, a request to read data stored in the particular address of the plurality of memory banks of the memory unit;

activating, by a controller, in response to the received request, a zero value detection logic unit to detect the zero value in the particular address by a controller and prevent retrieval of the data;

transmitting, by the controller, in response to the zero value detection by the zero value detection logic unit, a zero value indicator to the circuit; and

configuring, by the controller, a read-disable element to interrupt a read command associated with the particular address when the zero value detection logic unit detects the zero value associated with the particular address.

15. The non-transitory computer-readable medium of claim 14 , wherein the operations further comprise configuring, by the controller, a sense amplifier to preclude an activation of at least one of the plurality of memory banks when the zero value logic detection unit detects the zero value.

Assignments (2)
SECURITY INTEREST Recorded Oct 4, 2022
From: NEUROBLADE LTD.
To: SILICON VALLEY BANK
Reel/Frame 061309/0527 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2022
From: SITY, ELAD; HILLEL, ELIAD
To: NEUROBLADE LTD.
Reel/Frame 058990/0200 →
Continuity (6)
Continuation PCTIB2020000665 · Aug 13, 2020
Provisional Application 62983174 · Feb 28, 2020
Provisional Application 62971912 · Feb 7, 2020
Provisional Application 62907659 · Sep 29, 2019
Provisional Application 62886328 · Aug 13, 2019
Related Publication 20220164284A1 · May 26, 2022
References Cited (25)
US 10901492B1 · Bshara · 2021 [cited by examiner]
US 20030112611A1 · Nishizawa et al. · 2003 [cited by applicant]
US 20120102576A1 · Chew · 2012 [cited by applicant]
US 20120255018A1 · Sallam · 2012 [cited by applicant]
US 20120291133A1 · Nagpal et al. · 2012 [cited by applicant]
US 20140040622A1 · Kendall et al. · 2014 [cited by applicant]
US 20140136915A1 · Hyde et al. · 2014 [cited by applicant]
US 20140143470A1 · Dobbs et al. · 2014 [cited by applicant]
US 20160098200A1 · Guz · 2016 [cited by examiner]
US 20190102325A1 · Natu et al. · 2019 [cited by applicant]
US 20190243655A1 · Milburn et al. · 2019 [cited by applicant]
US 20190340510A1 · Li · 2019 [cited by examiner]
US 20200004662A1 · Mola · 2020 [cited by examiner]
US 20200043545A1 · Gans · 2020 [cited by examiner]
US 20230102690A1 · Srikanth · 2023 [cited by examiner]
CN 104813306A · 2017 [cited by applicant]
WO WO2019025862A1 · 2019 [cited by applicant]
WO WO2019025864A2 · 2019 [cited by applicant]
WO WO2020049363A2 · 2020 [cited by applicant]
Efficient and Effective Sparse LSTM on FPGA by Cao Feb. 2019 (Year: 2019). [cited by examiner]
Point Voxel CNN for Efficient 3D Deep Learning by Liu 2019 (Year: 2019). [cited by examiner]
Computational Advantages of Sparse Matrices by Mathworks 2018 (Year: 2018). [cited by examiner]
Park: Zero and Data Reuse aware Fast Convolution DNNs on GPU (Year: 2016). [cited by examiner]
International Search Report and Written Opinion in counterpart PCT Application No. PCT/IB2020/00665 dated May 27, 2021 (15 pages). [cited by applicant]
Examination Opinion for Taiwanese Application No. 109127495 dated Mar. 14, 2024 (18 pages). [cited by applicant]
Cited By (1)
US 12,538,497