IP Library › Granted Patent US 12,099,457
Granted Patent B2
US 12,099,457 · App. 17/673,731 · Granted Sep 24, 2024

Controller for managing multiple types of memory

Inventors: Emanuele Confalonieri (Segrate, IT); Daniele Balluchi (Cernusco Sul Naviglio, IT); Paolo Amato (Treviglio, IT); Danilo Caraccio (Milan, IT); Marco Sforzin (Cernusco Sul Naviglio, IT)
Assignee: Micron Technology, Inc.
G06F13/1694
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,099,457
App. No.
17/673,731
Granted
Sep 24, 2024
Kind
B2
Abstract

Systems, apparatuses, and methods related to a controller for managing multiple types of memory are described. A controller includes a front end portion, a central controller portion, a back end portion, and a management unit can manage a first type of memory device that operates according to a first set of timing characteristics and a second type of memory device that operates according to a second set of timing characteristics. The central controller portion is configured to cause performance of a memory operation and comprises a cache memory to buffer data associated performance of the memory operation, a security component configured to encrypt the data before storing the data in the first type of memory device or the second type of memory device, and error correction code (ECC) circuitry to ECC encode and ECC decode the data.

Claims (87)

1. An apparatus, comprising:

a memory controller configured to manage a first type of memory device that operates according to a first set of timing characteristics and a second type of memory device that operates according to a second set of timing characteristics, wherein the memory controller comprises:

a front end portion comprising:

an interface that includes a plurality of input/output (I/O) lanes; and

circuitry to manage the interface;

a central controller portion configured to cause performance of a memory operation and comprising:

a cache memory to store data associated with performance of the memory operation;

a security component configured to encrypt the data before storing the data in the first type of memory device or the second type of memory device and decrypt the data before the data is transferred to the cache memory or a memory component that requested the data; and

error correction code (ECC) circuitry to ECC encode and ECC decode the data;

a back end portion comprising a media controller portion and a physical (PHY) layer portion to couple the memory controller to a plurality of memory ranks; and

a management unit configured to monitor a plurality of characteristics of the memory controller, wherein the management unit comprises:

an I/O bus configured to manage out-of-band data and commands;

a management unit controller configured to execute instructions associated with initializing, configuring, and monitoring the characteristics of the memory controller; and

management unit memory to store data associated with monitoring the characteristics of the memory controller.

2. The apparatus of claim 1 , wherein the first type of memory device is a dynamic random access memory (DRAM) memory device and the second type of memory device is a ferroelectric random access memory (FeRAM) memory device.

3. The apparatus of claim 1 , wherein the first set of timing characteristics comprises a bank active timing (tRAS) and other timings of the first type of memory device and the second set of timing characteristics comprises a tRAS of the second type of memory device.

4. The apparatus of claim 1 , wherein the first set of timing characteristics correspond to a timings that are different from the second set of timing characteristics.

5. The apparatus of claim 1 , wherein a page size of the first type of memory device is larger than a page size of the second type of memory device.

6. The apparatus of claim 1 , wherein the first type of memory device and the second type of memory device differ in an amount of memory banks, a type of command encoding, a refresh command, or a refresh timing, or any combination thereof.

7. The apparatus of claim 1 , wherein the PHY layer portion includes a plurality of PHY layers and the media controller portion is configured to drive a plurality of channels that couple PHY layers to the memory ranks.

8. The apparatus of claim 1 , wherein the media controller portion comprises a plurality of media controllers, and

each of the plurality of media controllers receive a same command and drive the plurality of channels substantially simultaneously.

9. The apparatus of claim 1 , wherein an amount of data transferred in a memory transfer block from the memory controller to the cache memory is less than an amount of data associated with a cache line of the cache memory to reduce an amount of energy used to transfer the data from the memory controller to the cache memory.

10. The apparatus of claim 1 , wherein:

the memory controller is coupled to the plurality of memory ranks through a plurality of channels coupled to the back end portion, and

each of the plurality of channels is coupled to four (4) memory ranks.

11. The apparatus of claim 1 , wherein the plurality of characteristics monitored by the management unit includes a voltage supplied to the memory controller or a temperature measured by an external sensor, or both.

12. The apparatus of claim 1 , wherein the plurality of I/O lanes are configured to transfer access requests to or from circuitry external to the memory controller according to a compute express link protocol.

13. The apparatus of claim 1 , further comprising a peripheral component interconnect express (PCIe) 5.0 interface coupled to the plurality of I/O lanes, wherein the memory controller is to receive access requests involving at least one of the cache memory, the first type of memory device, or the second type of memory device, or any combination thereof, via the PCIe 5.0 interface according to a compute express link protocol.

14. An apparatus, comprising:

a memory controller that is configured to manage a dynamic random access memory (DRAM) memory device having a first bank active timing (tRAS) and a ferroelectric (FeRAM) memory device having a second tRAS, wherein the memory controller comprises:

a front end portion comprising:

an interface that includes a plurality of input/output (I/O) lanes; and

a controller to manage the interface;

a central controller configured to cause performance of a read operation or a write operation, or both, wherein the central controller includes:

a cache memory to store data associated with the read operation or the write operation, or both, and increase a speed of accessing the data;

a security component configured to encrypt and decrypt the data before storing the data in the DRAM memory device or the FeRAM memory device and decrypt the data before the data is transferred to the cache memory; and

error correction code (ECC) circuitry to ECC encode the data and ECC decode the data;

a back end portion, comprising a media controller portion comprising a plurality of media controllers and a physical (PHY) layer portion comprising a plurality of PHY layers, wherein the back end portion is configured to couple the PHY layer portion to a plurality of memory ranks; and

a management unit configured to initialize, configure, and monitor a plurality of characteristics of the memory controller, wherein the management unit comprises:

an I/O bus configured to transfer out-of-band data and commands;

a microcontroller to execute instructions associated with monitoring characteristics of the memory controller; and

management unit memory to store data associated with monitoring the characteristics of the memory controller.

15. The apparatus of claim 14 , wherein the central controller portion includes a finite state machine (FSM) and a plurality of redundant array of independent disks (RAID) components, and wherein the FSM is operable to increase a reliability of the data and correct errors in the data.

16. The apparatus of claim 15 , wherein each RAID component is coupled to independent ECC encoding circuitry and independent ECC decoding circuitry.

17. The apparatus of claim 14 , wherein the central controller portion includes low power chip kill (LPCK) circuitry to increase a reliability of the data and correct errors in the data.

18. The apparatus of claim 14 , wherein:

the back end portion is connected to the plurality of memory ranks through a plurality of channels; and

each of the plurality of channels is coupled to five (5) memory ranks.

19. The apparatus of claim 14 , wherein each media controller executes commands independent of other media controllers.

20. The apparatus of claim 14 , wherein the plurality of I/O lanes are configured to transfer access requests to or from circuitry external to the memory controller at a rate of at least thirty-two (32) gigatransfers per second.

21. A system, comprising:

a host; and

a memory controller coupled to the host, wherein:

the memory controller is configured to manage a dynamic random access memory (DRAM) memory device having a first bank active (tRAS) and a ferroelectric random access memory (FeRAM) memory device having a second tRAS; and

the memory controller comprises:

a front end portion, comprising an interface configured to couple the memory controller to the host through a plurality of input/output (I/O) lanes; and

circuitry to manage the plurality of I/O lanes;

a central controller portion configured to, in response to receiving a request from the host, perform a memory operation, wherein the central controller portion comprises:

a cache memory to buffer data associated with performance of the memory operation;

a security engine configured to encrypt data before the data is stored in the in the DRAM memory device, the FeRAM memory device, or the cache memory;

error correction code (ECC) encoding circuitry to ECC encode the data; and

ECC decoding circuitry to ECC decode the data;

a back end portion comprising a media controller and a physical (PHY) layer, that is configured to couple the memory controller to a plurality of memory ranks; and

a management unit configured to initialize, configure, and monitor a plurality of characteristics of the memory controller, wherein the management unit comprises:

an I/O bus configured to manage out-of-band data and commands;

a management unit controller to execute instructions associated with monitoring the plurality of characteristics of the memory controller; and

management unit memory to store data associated with monitoring the characteristics of the memory controller.

22. The system of claim 21 , wherein the central controller portion is configured to, in response to receiving a request from the host, write multiple pages of data substantially simultaneously.

23. The system of claim 21 , wherein the tRAS of the FeRAM is different from the tRAS of the DRAM.

24. The system of claim 21 , wherein the plurality of I/O lanes is configured as a single port.

25. The system of claim 22 , wherein the DRAM memory device is configured to access host data stored in the host and the FeRAM memory device is configured to access the host data stored in the cache memory.

26. A method, comprising:

receiving, by a central controller portion of a memory controller from a front end portion of the memory controller, signaling indicative of a data access involving a dynamic random access memory (DRAM) memory device or a ferroelectric random access memory (FeRAM) memory device, or both; and

writing data to the DRAM memory device or the FeRAM memory device, or both, in response to receiving the signaling, wherein:

writing the data to the DRAM memory device comprises:

error correction code (ECC) encoding the data; and

writing the data from circuitry external to the memory controller to the DRAM memory device; and

writing the data to the FeRAM memory device comprises:

ECC encoding the data;

encrypting the data;

writing the data to a cache memory couplable to the memory controller; and

writing the data from the cache memory to the FeRAM memory device.

27. The method of claim 26 , further comprising disabling the cache memory while writing the data to the DRAM memory device to decrease an amount of energy used to write the data to the DRAM memory device.

28. The method of claim 26 , further comprising writing unencrypted data to the DRAM memory device and writing encrypted data to the FeRAM memory device.

29. The method of claim 26 , further comprising receiving the signaling at a rate of thirty-two gigatransfers per second or greater.

30. The method of claim 26 , further comprising writing the data to the DRAM memory device or the FeRAM memory device, or both, via a plurality of memory ranks coupling the memory controller to the DRAM memory device and the FeRAM memory device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2022
From: CONFALONIERI, EMANUELE; BALLUCHI, DANIELE; AMATO, PAOLO; CARACCIO, DANILO; SFORZIN, MARCO
To: MICRON TECHNOLOGY, INC.
Reel/Frame 059306/0410 →
Continuity (2)
Provisional Application 63149863 · Feb 16, 2021
Related Publication 20220261363A1 · Aug 18, 2022
Cited By (2)
US 12,379,992 US 12,423,181