IP Library › Granted Patent US 11,899,961
Granted Patent B2
US 11,899,961 · App. 17/652,229 · Granted Feb 13, 2024

Redundant computing across planes

Inventors: Sean S. Eilert (Penryn, CA); Kenneth M. Curewitz (Cameron Park, CA); Helena Caminal (Ithaca, NY); Ameen D. Akel (Rancho Cordova, CA)
Assignee: Micron Technology, Inc.
G06F3/0655G06F3/0604G06F3/0679
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 11,899,961
App. No.
17/652,229
Granted
Feb 13, 2024
Kind
B2
Abstract

Methods, systems, and devices for redundant computing across planes are described. A device may perform a computational operation on first data that is stored in a first plane that includes content-addressable memory cells. The first data may be representative of a set of contiguous bits of a vector. The device may perform, concurrent with performing the computational operation on the first data, the computational operation on second data that is stored in a second plane. The second data may be representative of the set of contiguous bits of the vector. The device may read from the first plane and write to the second plane, third data representative of a result of the computational operation on the first data.

Claims (85)

1. An apparatus, comprising:

a memory die comprising a plurality of planes arranged in a plurality of tiles, of the plurality of planes comprising content-addressable memory cells; and

logic coupled with the memory die and configured to:

perform a computational operation on first data that is stored in a first plane of the plurality of planes, wherein the computational operation is based at least in part on a capability of the content-addressable memory cells, and wherein the first data is representative of a set of contiguous bits of a vector;

perform, concurrent with performing the computational operation on the first data, the computational operation on second data that is stored in a second plane of the plurality of planes, wherein the second data is representative of the set of contiguous bits of the vector; and

read, from the first plane and write to the second plane, third data representative of a result of the computational operation on the first data.

2. The apparatus of claim 1 , wherein the logic is further configured to:

determine a value of an output bit based at least in part on a second set of contiguous bits of the vector that is less significant than the set of contiguous bits, wherein the third data is copied from the first plane to the second plane based at least in part on the value for the output bit.

3. The apparatus of claim 2 , wherein the computational operation on the first data is based at least in part on a first value for the output bit, and wherein the computational operation on the second data is based at least in part on a second value for the output bit, and wherein the logic is further configured to:

determine that the value of the output bit is equal to the first value, wherein the third data is copied from the first plane to the second plane based at least in part on the value being equal to the first value.

4. The apparatus of claim 2 , wherein the logic is further configured to:

perform the computational operation on fourth data representative of the second set of contiguous bits, wherein the value for the output bit is based at least in part on performing the computational operation on the fourth data.

5. The apparatus of claim 4 , wherein the fourth data is stored in a third plane of the plurality of planes, and wherein the computational operation on the fourth data is performed concurrent with the computational operations on the first data and the second data.

6. The apparatus of claim 1 , wherein the logic is further configured to:

write the third data to the first plane based at least in part on performing the computational operation on the first data; and

write fourth data to the second plane based at least in part on performing the computational operation on the second data, wherein writing the third data from the first plane to the second plane replaces the fourth data with the third data.

7. The apparatus of claim 1 , wherein the logic is further configured to:

perform, concurrent with performing the computational operations on the first data and the second data, the computational operation on fourth data that is stored in a third plane, wherein the fourth data is representative of a second set of contiguous bits of the vector; and

perform, concurrent with performing the computational operation on the fourth data, the computational operation on fifth data that is stored in a fourth plane of the plurality of planes, wherein the fifth data is representative of the second set of contiguous bits of the vector.

8. The apparatus of claim 7 , wherein the logic is further configured to:

read from the third plane and write to the fourth plane, sixth data representative of a result of the computational operation on the fourth data.

9. The apparatus of claim 1 , wherein the first plane and the second plane are in different tiles of the plurality of tiles.

10. The apparatus of claim 1 , wherein the first plane and the second plane are in a same tile of the plurality of tiles.

11. An apparatus, comprising:

a memory die comprising a plurality of planes arranged in a plurality of tiles, of the plurality of planes comprising content-addressable memory cells; and

logic coupled with the memory die and configured to:

perform a computational operation on first data that is stored in a first plane, wherein the computational operation is based at least in part on a capability of the content-addressable memory cells, and wherein the first data is representative of a first set of contiguous bits of a vector;

perform, based at least in part on a first value for an output bit from the computational operation on the first data, the computational operation on second data that is stored in a second plane, wherein the second data is representative of a second set of contiguous bits of the vector; and

perform, based at least in part on a second value for the output bit from the computational operation on the first data, the computational operation on third data that is stored in a third plane, wherein the third data is representative of the second set of contiguous bits of the vector.

12. The apparatus of claim 11 , wherein the computational operations on the first data, the second data, and the third data are performed concurrently.

13. The apparatus of claim 11 , wherein the second set of contiguous bits is more significant than the first set of contiguous bits.

14. The apparatus of claim 11 , wherein the logic is further configured to:

determine that the output bit from the computational operation on the first data has the first value; and

read from the second plane and write to the third plane based at least in part on the output bit having the first value, fourth data representative of a result of the computational operation on the third data.

15. The apparatus of claim 11 , wherein the logic is further configured to:

determine that the output bit from the computational operation on the first data has the second value; and

read from the third plane and write to the second plane based at least in part on the output bit having the second value, fourth data representative of a result of the computational operation on the third data.

16. The apparatus of claim 11 , wherein the logic is further configured to:

determine that the output bit from the computational operation on the first data has the first value; and

read from the second plane and write to a fourth plane based at least in part on the determination, fourth data representative of a result of the computational operation on the second data.

17. The apparatus of claim 11 , wherein the logic is further configured to:

perform, based at least in part on the first value, the computational operation on fourth data that is stored in a fourth plane, wherein the fourth data is representative of a third set of contiguous bits of the vector; and

perform, based at least in part on the second value, the computational operation on fifth data that is stored in a fifth plane, wherein the fifth data is representative of the third set of contiguous bits of the vector.

18. The apparatus of claim 17 , wherein the computational operations on the fourth data and the fifth data are concurrent with the computational operations on the first data, the second data, and the third data.

19. The apparatus of claim 17 , wherein the logic is further configured to:

determine that a second output bit from the computational operation on the second data has the first value; and

read from the fourth plane and write to the fifth plane and based at least in part on the second output bit having the first value, sixth data representative of a result of the computational operation on the second data.

20. A method, comprising:

performing a computational operation on first data that is stored in a first plane of a plurality of planes comprising content-addressable memory cells, wherein the computational operation is based at least in part on a capability of the content-addressable memory cells, and wherein the first data is representative of a set of contiguous bits of a vector;

performing, concurrent with performing the computational operation on the first data, the computational operation on second data that is stored in a second plane, wherein the second data is representative of the set of contiguous bits of the vector; and

reading from the first plane and writing to the second plane, third data representative of a result of the computational operation on the first data.

21. The method of claim 20 , further comprising:

determining a value of an output bit based at least in part on a second set of contiguous bits of the vector that is less significant than the set of contiguous bits, wherein the third data is copied from the first plane to the second plane based at least in part on the value for the output bit.

22. The method of claim 21 , wherein the computational operation on the first data is based at least in part on a first value for the output bit, and wherein the computational operation on the second data is based at least in part on a second value for the output bit, the method further comprising:

determining that the value of the output bit is equal to the first value, wherein the third data is copied from the first plane to the second plane based at least in part on the value being equal to the first value.

23. The method of claim 21 , further comprising:

performing the computational operation on fourth data representative of the second set of contiguous bits, wherein the value for the output bit is based at least in part on performing the computational operation on the fourth data.

24. The method of claim 23 , wherein the fourth data is stored in a third plane, and wherein the computational operation on the fourth data is performed concurrent with the computational operations on the first data and the second data.

25. The method of claim 20 , further comprising:

writing the third data to the first plane based at least in part on performing the computational operation on the first data; and

writing fourth data to the second plane based at least in part on performing the computational operation on the second data, wherein writing the third data from the first plane to the second plane replaces the fourth data with the third data.

26. The method of claim 20 , further comprising:

performing, concurrent with performing the computational operations on the first data and the second data, the computational operation on fourth data that is stored in a third plane, wherein the fourth data is representative of a second set of contiguous bits of the vector; and

performing, concurrent with performing the computational operation on the fourth data, the computational operation on fifth data that is stored in a fourth plane, wherein the fifth data is representative of the second set of contiguous bits of the vector.

27. A method, comprising:

performing a computational operation on first data that is stored in a first plane of a plurality of planes comprising content-addressable memory cells, wherein the computational operation is based at least in part on a capability of the content-addressable memory cells, and wherein the first data is representative of a first set of contiguous bits of a vector;

performing, based at least in part on a first value for an output bit from the computational operation on the first data, the computational operation on second data that is stored in a second plane, wherein the second data is representative of a second set of contiguous bits of the vector; and

performing, based at least in part on a second value for the output bit from the computational operation on the first data, the computational operation on third data that is stored in a third plane, wherein the third data is representative of the second set of contiguous bits of the vector.

28. The method of claim 27 , further comprising:

determining that the output bit from the computational operation on the first data has the first value; and

reading from the second plane and writing to the third plane based at least in part on the output bit having the first value, fourth data representative of a result of the computational operation on the third data.

29. The method of claim 27 , further comprising:

determining that the output bit from the computational operation on the first data has the second value; and

reading from the third plane and writing to the second plane based at least in part on the output bit having the second value, fourth data representative of a result of the computational operation on the third data.

30. The method of claim 27 , further comprising:

determining that the output bit from the computational operation on the first data has the first value; and

reading from the second plane and writing to a fourth plane based at least in part on the determination, fourth data representative of a result of the computational operation on the second data.

31. The method of claim 27 , further comprising:

performing, based at least in part on the first value, the computational operation on fourth data that is stored in a fourth plane, wherein the fourth data is representative of a third set of contiguous bits of the vector; and

performing, based at least in part on the second value, the computational operation on fifth data that is stored in a fifth plane, wherein the fifth data is representative of the third set of contiguous bits of the vector.

32. A method, comprising:

performing a computational operation on first data that is stored in a first plane of a plurality of planes comprising content-addressable memory cells, wherein the computational operation is based at least in part on a capability of the content-addressable memory cells, and wherein the first data is representative of a first set of contiguous bits of a vector;

performing, concurrent with the computational operation on the first data, the computational operation on second data that is stored in a second plane and that represents a second set of contiguous bits that is more significant than the first set of contiguous bits, wherein the computational operation on the second data is based at least in part on a first value for an output bit from the computational operation on the first data;

performing, concurrent with the computational operation on the first data, the computational operation on third data that is stored in a third plane and that represents the second set of contiguous bits of the vector, wherein the computational operation on the third data is based at least in part on a second value for the output bit from the computational operation on the first data; and

reading from the second plane and writing to the first plane, fourth data representative of a result of the computational operation on the second data, wherein the fourth data is copied based at least in part on the output bit from the computational operation on the first data having the first value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2022
From: CUREWITZ, KENNETH M.; AKEL, AMEEN D.; CAMINAL, HELENA; EILERT, SEAN S.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 059198/0380 →
Continuity (2)
Provisional Application 63266216 · Dec 30, 2021
Related Publication 20230214148A1 · Jul 6, 2023