IP Library › Granted Patent US 12,217,796
Granted Patent B2
US 12,217,796 · App. 17/931,277 · Granted Feb 4, 2025

Sequence alignment with memory arrays

Inventors: Justin Eno (Boise, ID); Sean S. Eilert (Boise, ID); Ameen D. Akel (Boise, ID); Kenneth M. Curewitz (Boise, ID)
Assignee: Micron Technology, Inc.
G11C13/0069C12Q1/6869G11C7/16G11C13/004G16B30/10
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,217,796
App. No.
17/931,277
Granted
Feb 4, 2025
Kind
B2
Abstract

A memory device may be used to implement a Bloom filter. In some examples, the memory device may include a memory array to perform a multiply-accumulate operation to implement the Bloom filter. The memory device may store multiple portions of a reference genetic sequence in the memory array and compare the portions of the reference genetic sequence to a read sequence in parallel by performing the multiply-accumulate operation. The results of the multiply-accumulate operation between the read sequence and the portions of the reference genetic sequence may be used to determine where the read sequence aligns to the reference sequence.

Claims (32)

1. A method comprising:

programming a plurality of resistance values to a plurality of memory cells, wherein the plurality of resistance values correspond to nucleotide types;

providing a plurality of voltage values to a plurality of access lines coupled to the plurality of memory cells, wherein the plurality of voltage values correspond to the nucleotide types;

summing a plurality of currents along corresponding ones of a plurality of sense lines coupled to the plurality of memory cells, wherein the plurality of currents are functions of the plurality of voltage values and corresponding ones of the plurality of resistance values of the plurality of memory cells along corresponding ones of the plurality of sense lines,

providing a plurality of outputs based, at least in part, on the summing; and

comparing the plurality of outputs to a target value.

2. The method of claim 1 , wherein the programming of the plurality of resistance values is based, at least in part, on a first genetic sequence.

3. The method of claim 1 , wherein the providing of the plurality of voltage values is based, at least in part on a second genetic sequence.

4. The method of claim 1 , further comprising determining, based on the comparing, whether at least a portion of a first genetic sequence corresponding to the plurality of resistance values programmed in the plurality of memory cells matches a second genetic sequence corresponding to the plurality of voltage values.

5. The method of claim 4 , wherein a potential match is determined when at least one of the plurality of outputs matches the target value.

6. The method of claim 4 , wherein a potential match is determined when at least one of the plurality of outputs is within a range of the target value.

7. The method of claim 1 , wherein providing the plurality of outputs comprises converting the summed plurality of currents from an analog signal to a digital signal.

8. The method of claim 1 , wherein providing the plurality of voltage values comprises converting a digital input into the plurality of voltage values.

9. The method of claim 1 , further comprising storing the plurality of outputs.

10. The method of claim 1 , further comprising storing results of the comparing.

11. A method comprising:

assigning each of a plurality of nucleotide types one of a plurality of conductance values;

assigning each of the plurality of nucleotide types one of a plurality of voltage values;

multiplying a conductance value and a voltage value corresponding to a nucleotide type for each of a plurality of nucleotides of a first genetic sequence to generate a plurality of products;

summing the plurality of products to generate a target value corresponding to the first genetic sequence; and

comparing at least one output of a Bloom filter to the target value.

12. The method of claim 11 , further comprising:

based on the comparing, determining whether the Bloom filter includes a match to the first genetic sequence.

13. The method of claim 11 , further comprising providing an input corresponding to the first genetic sequence to the Bloom filter, wherein the at least one output is based, at least in part, on the input.

14. The method of claim 11 , wherein the Bloom filter is implemented by a memory array configured to store a second genetic sequence in a plurality of memory cells.

15. The method of claim 14 , further comprising programming a plurality of resistive elements of the plurality of memory cells with the plurality of conductance values corresponding to the second genetic sequence.

16. The method of claim 14 , further comprising storing a plurality of portions of the second genetic sequence along corresponding ones of a plurality of sense lines of the memory array, wherein each of the plurality of sense lines includes a portion of the second genetic sequence shifted by at least one nucleotide.

17. The method of claim 11 , further comprising when the at least one output of the Bloom filter is equal to the target value, comparing the first genetic sequence to a second genetic sequence corresponding to the at least one output on a nucleotide-by-nucleotide basis.

18. The method of claim 11 , further comprising when the at least one output of the Bloom filter is not equal to the target value, ignoring or discarding the at least one output.

19. The method of claim 11 , further comprising repeating the multiplying, summing, and comparing steps for each of a plurality of genetic sequences.

20. The method of claim 11 , wherein the Bloom filter is configured to store at least one reference sequence and the first genetic sequence corresponds to a read sequence acquired from a biological sample.

21. The method of claim 20 , wherein the at least one reference sequence includes a genetic sequence of a virus or a bacterium.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2022
From: ENO, JUSTIN; EILERT, SEAN S.; AKEL, AMEEN D.; CUREWITZ, KENNETH M.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 061061/0349 →
Continuity (1)
Related Publication 20240087643A1 · Mar 14, 2024
References Cited (11)
US 9741399B2 · Tiwari · 2017 [cited by applicant]
US 9947376B2 · Tiwari et al. · 2018 [cited by applicant]
US 10409557B2 · Tiwari · 2019 [cited by applicant]
US 12073110B2 · Eno et al. · 2024 [cited by applicant]
US 20210074382A1 · Van Aggelen · 2021 [cited by applicant]
US 20210295949A1 · Kinney · 2021 [cited by examiner]
US 20210349837A1 · Huangfu et al. · 2021 [cited by applicant]
US 20240086100A1 · Eno et al. · 2024 [cited by applicant]
U.S. Appl. No. 17/006,602, titled “Bayesian Network in Memory”; filed Aug. 28, 2020; pp. all pages of application as filed. [cited by applicant]
S. Gupta et al. “RAPID: A ReRAM Processing in-Memory Architecture for DNA Sequence Alignment”, 2019 IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED), Lausanne, Switzerland, Jul. 29-31, 2019,… [cited by applicant]
V. Akhlaghi et al. “Restive Bloom Filters: From Approximate Membership to Approximate Computing with Bounded Errors”, 2016 Design, Automation & Test in Europe Conference & Exhibition, Dresden, Germany, Mar. 14-18, 2016;… [cited by applicant]