Methods and devices related to transferring data between dram and sram. One method includes activating a first portion of a dynamic random access memory (dram), reading data from the first portion of the dram, latching the data from the first portion of the dram in one or more sense amplifiers, and writing the data from the one or more sense amplifiers to a first portion of a static random access memory (sram).
|
12. An apparatus, comprising:
a dynamic random access memory (dram) including one or more sense amplifiers; and
a static random access memory (sram) coupled to the dram via a data bus, wherein the apparatus includes a controller configured to:
send a command to the dram via the data bus,
wherein the dram is configured to activate a dram row and read the data from the dram row in response to receiving the command from the controller; and
wherein the sram is configured to receive a dram command from the dram, convert the dram command to an sram command, to write the data from the dram row to a sram row in response to receiving the dram command from the dram.
1. A method for performing a data transfer operation, comprising:
receiving a command from a controller at a dynamic random access memory (dram) via a data bus, wherein the controller and dram are coupled together via the data bus;
activating a first portion of the dram in response to the dram receiving the command from the controller;
reading data from the first portion of the dram;
receiving a dram command from the dram at a static random access memory (sram);
converting the dram command to an sram command; and
writing the data from the first portion of the dram to a first portion of the sram in response to the sram receiving the dram command from the dram.
7. A method, comprising:
receiving a command from a controller at a dynamic random access memory (dram) via a data bus, wherein the controller and the dram are coupled together via the data bus;
activating a first portion of the dram in response to the dram receiving the command from the controller;
receiving a dram command from the dram at a static random access memory (sram);
converting the dram command to an sram command; and
reading a first portion of data from a first portion of the sram in response to the sram receiving the dram command from the dram; and
writing the first portion of data from the first portion of sram to the first portion of the dram in response to the dram receiving the command from the controller.
2. The method of
activating a bank in the dram; and
activating a row in the dram; and
a first column in the dram.
3. The method of
4. The method of
receiving another command from the controller at the dram via the data bus;
activating a second portion of the dram in response to the dram receiving the another command from the controller;
receiving another dram command from the dram at the sram and converting the dram command to an sram command reading a second portion of data from a second portion of the sram in response to the sram receiving the dram another command from the dram; and
writing the second portion of data from the second portion of the sram to the second portion of the dram in response to the dram receiving the another command from the controller.
5. The method of
6. The method of
8. The method of
activating a bank of the dram; and
activating a row of the dram.
9. The method of
10. The method of
receiving another command from the controller at the dram via the data bus;
activating a second portion of the dram in response to the dram receiving the another command from the controller;
reading a second portion of data from the second portion of the dram in response to the dram receiving the another command from the controller;
receiving another dram command from the dram at the sram and converting the dram command to an sram command; and
writing the second portion of data from the second portion of the dram to a second portion of the sram in response to the sram receiving the another dram command from the dram.
11. The method of
13. The apparatus of
|
This application is a Continuation of U.S. application Ser. No. 17/124,697, filed Dec. 17, 2020, the contents of which are included herein by reference.
The present disclosure relates generally to semiconductor memory and methods, and more particularly, to apparatuses and methods related to transferring data between DRAM and SRAM.
Memory devices are typically provided as internal, semiconductor, integrated circuits in computers or other electronic devices. There are many different types of memory including volatile and non-volatile memory. Volatile memory can require power to maintain its data and includes random-access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), and synchronous dynamic random access memory (SDRAM), among others. Non-volatile memory can provide persistent data by retaining stored data when not powered and can include NAND flash memory, NOR flash memory, read only memory (ROM), Electrically Erasable Programmable ROM (EEPROM), Erasable Programmable ROM (EPROM), and resistance variable memory such as phase change random access memory (PCRAM), 3D XPoint™, resistive random access memory (RRAM), and magnetoresistive random access memory (MRAM), among others.
Memory is also utilized as volatile and non-volatile data storage for a wide range of electronic applications, including, but not limited to personal computers, portable memory sticks, digital cameras, cellular telephones, portable music players such as MP3 players, movie players, and other electronic devices. Memory cells can be arranged into arrays, with the arrays being used in memory devices.
Computers or other electronic devices can include a number of memory devices. In some examples, different types of memory can be included on the same electronic device for optimal performance of the electronic device. However, different types of memory devices may require separate data paths and/or controls for each type of memory device.
The present disclosure includes methods and apparatuses related to transferring data between DRAM and SRAM. An example method includes activating a first portion of a DRAM, reading data from the first portion of the DRAM, latching the data from the first portion of the DRAM in one or more sense amplifiers, and writing the data from the one or more sense amplifiers to a first portion of a SRAM.
In some examples, data can be transferred between the DRAM and the SRAM using a DRAM data path. For example, data can be transferred from the first portion of the DRAM to the one or more sense amplifiers via a first data path and the data can be transferred from the one or more sense amplifiers to the first portion of the SRAM via the same first data path. Similarly, data can be transferred from a first portion of the SRAM to the one or more sense amplifiers via the first data path and the data can be transferred from the one or more sense amplifiers to the first portion of the DRAM via the same first data path.
In a number of embodiments, data can be transferring between the DRAM and the SRAM using DRAM controls. For example, the SRAM can receive a DRAM command and in response data can be written from the one or more sense amplifiers to the first portion of the SRAM. The SRAM can also receive a different DRAM command and in response read the data from the SRAM.
Using a DRAM data path and/or DRAM controls to transfer data between DRAM and SRAM can reduce the number of data paths and/or circuitry on a memory device, reduce the overall size of the memory device, and/or free up space on the memory device for additional memory resources, processing resources, and/or circuitry.
As used herein, “a number of” something can refer to one or more of such things. For example, a number of memory devices can refer to one or more memory devices. A “plurality” of something intends two or more. Additionally, designators such as “U”, “V”, “W”, “X”, “Y”, and “Z”, as used herein, particularly with respect to reference numerals in the drawings, indicates that a number of the particular feature so designated can be included with a number of embodiments of the present disclosure.
The figures herein follow a numbering convention in which the first digit or digits correspond to the drawing figure number and the remaining digits identify an element or component in the drawing. Similar elements or components between different figures may be identified by the use of similar digits. For example, reference numeral 323 may reference element “23” in
The host 102 can be coupled to or in communication with the memory device 106. The host 102 can include a host controller 104. Commands can be sent to the memory device 106 from the host controller 104. For example, the host controller 104 can send a command to read and/or write data from the memory device 106.
The memory device 106 can include a controller 108 and a memory array 110. The memory array 110 can be volatile memory. For example, the memory array 110 can be DRAM. The controller 108 can include a processing resource 112 and control circuitry 113. The processing resource 112 can be coupled to the control circuitry 113. In some examples, the processing resource 112 can be a RISC-V processor. The processing resource 112 can include a cache 114. The cache 114 can be SRAM. In some examples, the cache 114 can include two ports and a multiplexer (mux) 116. The mux 116 can allow the cache 114 to switch between the two ports. For example, the cache 114 can be coupled to the host 102 when a first port is selected by the mux 116 and the cache 114 can be coupled to the memory array 110 when a second port is selected by the mux 116.
The memory array 110 can include a number of memory banks 118-1, . . . , 118-X. In some examples the number of memory banks 118-1, . . . , 118-X can be DRAM memory banks. The controller 108 can be coupled to each of the number of memory banks 118-1, . . . , 118-X via data bus 119. Read and/or write data commands can be sent via data bus 119 from the controller 108 to one or more of the number of memory banks 118-1, . . . , 118-X and one or more of the number of memory banks 118-1, . . . , 118-X can transmit data to the controller 108 via the data bus 119.
Data values present on the pair of complementary digit lines 228-1 and 228-2 can be loaded into the compute component 224-0. For example, when the pass gates 226-1 and 226-2 are enabled, data values on the pair of complementary digit lines 228-1 and 228-2 can be passed from the sense amplifiers to the compute component (e.g., 220-0 to 224-0). The data values on the pair of complementary digit lines 228-1 and 228-2 can be the data value stored in the sense amplifier 220-0 when the sense amplifier is fired.
A combination of one sense amplifier with one compute component can contribute to the sensing circuitry (e.g., 230-0, 230-1, . . . , 230-7) of a portion of a DRAM memory subarray 221 coupled to a shared I/O line 222 shared by a number of logic stripes in a data path of the shared I/O lines 222.
The configurations of embodiments illustrated in
The circuitry illustrated in
Controller (e.g., controller 108 in
Moreover, enabling (e.g., activating) the selection transistors (e.g., selection transistors 238-1 and 238-2) can enable a particular sense amplifier and/or compute component (e.g., 220-0 and/or 224-0, respectively) to be coupled with a shared I/O line 222 such that data values stored by an amplifier and/or compute component can be moved to (e.g., placed on and/or transferred to) the shared I/O line 222. In some embodiments, one column at a time is selected (e.g., column 234-0) to be coupled to a particular shared I/O line 222 to move (e.g., copy, transfer, and/or transport) the stored data values. The shared I/O line 222 can be part of the data path (e.g., data path 323 in
The process of transferring data from DRAM to SRAM can start at time 348-0 and the data can be transferred via data line (e.g., data path) 347. The time can be tracked by clock cycles 384. At time 348-1, a target bank and/or row of DRAM can be activated. A first column of data can be read from the row of DRAM at time 348-2. At time 348-3, the first column of data from the row of DRAM can be transferred to a target row in SRAM. A second column of data can be read from the row of DRAM at time 348-4. At time 348-5, the second column of data from the row of DRAM can be transferred to the target row in SRAM. A third column of data can be read from the row of DRAM at 348-6. At time 348-7, the third column of data from the row of DRAM can be transferred to the target row of SRAM. A fourth column of data can be read from the row of DRAM at 348-8. At time 348-9, the fourth column of data from the row of DRAM can be transferred to the target row of SRAM.
The DRAM 310 can include a number of rows 340-0, . . . , 340-W and a number of columns 334-0, . . . , 334-Z and the SRAM 314 can include a number of rows 350-0, . . . , 350-U and a number of columns 354-0, . . . , 354-V. The DRAM 310 can also include a number of sense amplifiers 306-0, . . . , 306-Y. Memory cells can be located at the intersections of rows 340-0, . . . , 340-W and columns 334-0, . . . , 334-Z and at the intersections of rows 350-0, . . . , 350-U and columns 354-0, . . . , 354-V.
To transfer data from the DRAM 310 to the SRAM 314, one of the number of rows 340-0, . . . , 340-W of DRAM 310 can be activated, data from a memory cell coupled to one of the number of columns 334-0, . . . , 334-Z in DRAM 310 can be read and latched in one of the number of sense amplifiers 306-0, . . . , 306-Y, one of the number of rows 350-0, . . . , 350-U in SRAM 314 can be selected, and the data can be transferred to one of the number of columns 354-0, . . . , 354-V in SRAM 314. For example, row 340-0 can be activated, data from column 334-0 can be read and latched in sense amplifier 306-0, the data can be transmitted to the SRAM via data line 323, row 350-0 can be selected, and the data can be transferred to column 354-0 in the SRAM 314. Once a row is activated, data can be transferred column by column by activating columns one by one. Transferring the data can include transferring data to and/or from a memory cell coupled to the activated row and column, and repeating the process by activating additional columns of the activated row (e.g., activating and transferring data to and/or from a first column, then a second column, then a third column, etc.).
The process of transferring data from SRAM to DRAM can start at time 360-0 and the data can be transferred via data line (e.g., data path) 447. The time can be tracked by clock cycles 484. At time 460-1, a target bank and/or row of DRAM can be activated. A first column of data can be read from SRAM at time 460-2. At time 460-3, the first column of data from the SRAM can be transferred to the activated row in DRAM. A second column of data can be read from the SRAM at time 460-4. At time 460-5, the second column of data from SRAM can be transferred to the activated row in DRAM. A third column of data can be read from SRAM at 460-6. At time 460-7, the third column of data from the SRAM can be transferred to the activated row of DRAM. A fourth column of data can be read from SRAM at 460-8. At time 460-9, the fourth column of data from SRAM can be transferred to the activated row of DRAM.
The DRAM 410 can include a number of rows 440-0, . . . , 440-W and a number of columns 434-0, . . . , 434-Z and the SRAM 414 can include a number of rows 450-0, . . . , 450-U and a number of columns 454-0, . . . , 454-V. The DRAM 410 can also include a number of sense amplifiers 406-0, . . . , 406-Y. Memory cells can be located at the intersections of rows 440-0, . . . , 440-W and columns 434-0, . . . , 434-Z and at the intersections of rows 450-0, . . . , 450-U and columns 454-0, . . . , 454-V.
To transfer data from the SRAM 414 to the DRAM 410, one of the number of rows 440, . . . , 440-W of DRAM 410 can be activated, one of the number of rows 450-0, . . . , 450-U can be selected, data from one of the number of columns 454-0, . . . , 454-V in SRAM 414 can be read and latched in one of the number of sense amplifiers 406-0, . . . , 406-Y, and the data can be transferred to one of the number of columns 434-0, . . . , 434-Z in the DRAM 410. For example, row 440-0 can be activated, row 450-1 can be selected, data from column 454-0 can be read, transmitted to the DRAM 410 via data line 423, and latched in sense amplifier 406-2, and the data can be transferred to column 434-2 in the DRAM 410. The data path for transferring data between DRAM and SRAM can include digit lines that transfer data from sense amplifiers 406-0, . . . , 406-Y to memory cells at intersections of rows and columns. The data path for transferring data between DRAM and SRAM can include data line 423 that can be coupled to sense amplifiers sense amplifiers 406-0, . . . , 406-Y via DRAM interface. Data line 423 can also be coupled to a shared I/O line (e.g., shared I/O line 222) to transfer data between DRAM and SRAM. The data path can also include data line 423 can be coupled to and/or be part of data line 447. Data lines 423 and 447 can be coupled to the DRAM interface and SRAM interface, which can receive data and/or commands on data lines 423 and 447 and transfer the data and/or commands to components of the DRAM and SRAM.
Once a row is activated, data can be transferred column by column by activating columns one by one. Transferring the data can include transferring data to and/or from a memory cell coupled to the activated row and column, and repeating the process by activating additional columns of the activated row (e.g., activating and transferring data to and/or from a first column, then a second column, then a third column, etc.).
At block 570, the method can include activating a first portion of a dynamic random access memory (DRAM). Activating the first portion of the DRAM can include activating a bank in the DRAM and/or a row in the DRAM.
At block 572, the method can include reading data from the first portion of the DRAM. The data can be read from the first portion of the DRAM in response to the DRAM receiving a command.
At block 574, the method can include latching the data from the first portion of the DRAM in a first sense amplifier of one or more sense amplifiers. A data bus can couple the DRAM and the one or more sense amplifiers.
At block 576, the method can include transferring the data from the first sense amplifier to a first portion of a static random access memory (SRAM). The data bus can couple the one or more sense amplifiers and the SRAM. transferring the data from the one or more sense amplifiers to the first portion of the SRAM can include writing the data to a row of the SRAM. The SRAM can transfer the data from the one or more sense amplifiers to the first portion of the SRAM in response to receiving a DRAM command. The DRAM command can be from a DRAM controller. In some examples, the DRAM command can be converted to a SRAM command. The converted DRAM command can be executed to read and/or write data column by column on an activated row of the SRAM.
Although specific embodiments have been illustrated and described herein, those of ordinary skill in the art will appreciate that an arrangement calculated to achieve the same results can be substituted for the specific embodiments shown. This disclosure is intended to cover adaptations or variations of one or more embodiments of the present disclosure. It is to be understood that the above description has been made in an illustrative fashion, and not a restrictive one. Combination of the above embodiments, and other embodiments not specifically described herein will be apparent to those of skill in the art upon reviewing the above description. The scope of the one or more embodiments of the present disclosure includes other applications in which the above structures and methods are used. Therefore, the scope of one or more embodiments of the present disclosure should be determined with reference to the appended claims, along with the full range of equivalents to which such claims are entitled.
In the foregoing Detailed Description, some features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the disclosed embodiments of the present disclosure have to use more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment.
Manning, Troy A., Hush, Glen E., Larsen, Troy D., Finkbeiner, Timothy P.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
11380372, | Dec 17 2020 | Micron Technology, Inc | Transferring data between DRAM and SRAM |
4731758, | Jun 21 1985 | Advanced Micro Devices, Inc.; ADVANCED MICRO DEVICES, INC , 901 THOMPSON PLACE, PO BOX 3453, SUNNYVALE, CA 94088, A CORP OF DE | Dual array memory with inter-array bi-directional data transfer |
5544121, | Apr 18 1991 | Renesas Electronics Corporation | Semiconductor memory device |
5603009, | Dec 25 1990 | Renesas Electronics Corporation | Semiconductor memory device including a data transfer circuit for transferring data between a DRAM and an SRAM |
5623454, | Apr 18 1991 | Renesas Electronics Corporation | Semiconductor memory device |
5680363, | Sep 17 1992 | Renesas Electronics Corporation | Semiconductor memory capable of transferring data at a high speed between an SRAM and a DRAM array |
5777942, | Nov 06 1992 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device including dynamic type memory and static type memory formed on the common chip and an operating method thereof |
5946262, | Mar 07 1997 | RENESAS ELECTRONICS AMERICA INC | RAM having multiple ports sharing common memory locations |
6088760, | Mar 07 1997 | RENESAS ELECTRONICS AMERICA INC | Addressing system in a multi-port RAM having main and cache memories |
6339817, | Sep 16 1997 | Renesas Electronics Corporation | Semiconductor memory including main and sub memory portions having plural memory cell groups and a bidirectional data transfer circuit |
6735144, | Sep 16 1997 | Renesas Electronics Corporation | Semiconductor integrated circuit device |
20140177347, | |||
20170337984, | |||
20180373560, | |||
20200210188, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 07 2020 | FINKBEINER, TIMOTHY P | Micron Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 060375 | /0456 | |
Mar 22 2022 | LARSEN, TROY D | Micron Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 060375 | /0456 | |
Mar 24 2022 | MANNING, TROY A | Micron Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 060375 | /0456 | |
Mar 24 2022 | HUSH, GLEN E | Micron Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 060375 | /0456 | |
Jun 30 2022 | Micron Technology, Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Jun 30 2022 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Date | Maintenance Schedule |
Dec 05 2026 | 4 years fee payment window open |
Jun 05 2027 | 6 months grace period start (w surcharge) |
Dec 05 2027 | patent expiry (for year 4) |
Dec 05 2029 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 05 2030 | 8 years fee payment window open |
Jun 05 2031 | 6 months grace period start (w surcharge) |
Dec 05 2031 | patent expiry (for year 8) |
Dec 05 2033 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 05 2034 | 12 years fee payment window open |
Jun 05 2035 | 6 months grace period start (w surcharge) |
Dec 05 2035 | patent expiry (for year 12) |
Dec 05 2037 | 2 years to revive unintentionally abandoned end. (for year 12) |