IP Library Granted Patent US 12,183,418
Granted Patent B2
US 12,183,418 · App. 17/985,304 · Granted Dec 31, 2024

Bank to bank data transfer

Inventors: Perry V. Lea (Eagle, ID); Troy A. Manning (Meridian, ID)
G11C7/1006G06F13/124G11C7/1048G11C8/12G11C11/408G11C11/4096H03K19/1733G11C2207/002G11C2207/005
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,183,418
App. No.
17/985,304
Granted
Dec 31, 2024
Kind
B2
Abstract

The present disclosure includes apparatuses and methods for bank to bank data transfer. An example apparatus includes a plurality of banks of memory cells, an internal bus configured to transfer data between the plurality of banks and an external bus interface, and a bank-to-bank transfer bus configured to transfer data between the plurality of banks.

Claims (48)

1. A method, comprising:

determining that a program is running on a particular memory bank among a plurality of memory banks;

determining a data transfer path along a bank-to-bank transfer bus coupling the plurality of memory banks, wherein determining the data transfer path comprises determining a direction of travel with respect to the bank-to-bank transfer bus; and

causing data used by the program to be transferred from a different memory bank to the particular memory bank via the bank-to-bank transfer bus according to the data transfer path.

2. The method of claim 1 , wherein the program is a processing in memory program.

3. The method of claim 1 , further comprising:

transferring the data used by the program from the bank-to-bank transfer bus to the particular memory bank via at least one shared input/output (SIO) line.

4. The method of claim 1 , further comprising:

lines coupling respective memory banks among the plurality of memory banks to the bank-to-bank transfer bus and to logic comprising a plurality of latches via a plurality of shared input/output (SIO) lines, wherein the method further comprises:

transferring the data used by the program from the plurality of latches to the particular memory bank via at least one of the plurality of shared SIO lines.

5. The method of claim 1 , further comprising:

reconfiguring the bank-to-bank transfer bus to cause at least a portion of the data used by the program to be transferred from the different memory bank to the particular memory bank based, at least in part, on a location of the different memory bank with respect to the bank-to-bank transfer bus and the particular memory bank.

6. The method of claim 1 , further comprising:

causing the data used by the program to be transferred from the different memory bank to the particular memory bank via the bank-to-bank transfer bus according to the data transfer path in response to a user input.

7. An apparatus, comprising:

a program running on a particular memory bank among a plurality of memory banks;

a bank-to-bank transfer bus; and

a controller, wherein the controller is configured to:

determine a data transfer path along the bank-to-bank transfer bus coupling the plurality of memory banks, wherein, to determine the data transfer path, the controller is configured to determine a direction of travel with respect to the bank-to-bank transfer bus; and

cause data used by the program to be transferred from a different memory bank to the particular memory bank via the bank-to-bank transfer bus according to the data transfer path.

8. The apparatus of claim 7 , wherein the program is a processing in memory program.

9. The apparatus of claim 7 , wherein the bank-to-bank transfer bus comprises a ring architecture.

10. The apparatus of claim 7 , further comprising:

a plurality of shared input/output (SIO) lines coupling respective memory banks among the plurality of memory banks to the bank-to-bank transfer bus, wherein the controller is further configured to:

transfer the data used by the program from the bank-to-bank transfer bus to the particular memory bank via at least one SIO line among the plurality of shared SIO lines.

11. The apparatus of claim 7 , further comprising:

a plurality of shared input/output (SIO) lines coupling respective memory banks among the plurality of memory banks to the bank-to-bank transfer bus; and

a plurality of latches coupled to the plurality of memory banks, wherein the controller is further configured to:

control transfer of the data used by the program from the plurality of latches to the particular memory bank via at least one of the plurality of shared SIO lines.

12. The apparatus of claim 7 , wherein the controller is further configured to:

reconfigure the bank-to-bank transfer bus to cause at least a portion of the data used by the program to be transferred from the different memory bank to the particular memory bank based, at least in part, on a location of the different memory bank with respect to the bank-to-bank transfer bus and the particular memory bank.

13. The apparatus of claim 7 , wherein the controller is further configured to:

receive a user input; and

cause the data used by the program to be transferred from the different memory bank to the particular memory bank via the bank-to-bank transfer bus according to the data transfer path in response to the user input.

14. A system, comprising:

a host; and

a memory device coupled to the host, the memory device comprising:

a program running on a particular memory bank among a plurality of memory banks associated with the memory device;

a bank-to-bank transfer bus; and

a controller, wherein the controller is configured to:

receive a command from the host to initiate an operation associated with the program;

determine a data transfer path along the bank-to-bank transfer bus in response to receipt of the command from the host, wherein, to determine the data transfer path, the controller is configured to determine a direction of travel with respect to the bank-to-bank transfer bus; and

cause data used by the program to be transferred between a different memory bank and the particular memory bank via the bank-to-bank transfer bus according to the data transfer path.

15. The system of claim 14 , wherein the controller is further configured to:

cause the data used by the program to be transferred to the different memory bank from the particular memory bank via the bank-to-bank transfer bus according to the data transfer path.

16. The system of claim 14 , wherein the controller is further configured to:

cause the data used by the program to be transferred from the different memory bank to the particular memory bank via the bank-to-bank transfer bus according to the data transfer path.

17. The system of claim 14 , wherein the program is a processing in memory program.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2024
From: MICRON TECHNOLOGY, INC.
To: LODESTAR LICENSING GROUP LLC
Reel/Frame 067857/0346 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE APPLICATION NUMBER INCORRECTLY ENTERED 17985258 TO APPLICATION NUMBER 17985304 PREVIOUSLY RECORDED AT REEL: 61734 FRAME: 538. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 21, 2024
From: LEA, PERRY V.; MANNING, TROY A.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 067801/0973 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2022
From: LEA, PERRY V.; MANNING, TROY A.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 061734/0538 →
Continuity (4)
Division 17063495 · Oct 5, 2020
Continuation 16101165 · Aug 10, 2018
Continuation 15595171 · May 15, 2017
Related Publication 20230070383A1 · Mar 9, 2023