Hybrid solid state drive (SSD) architecture using MRAM and NAND for improved power loss protection and performance

US12321639B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12321639-B2
Application numberUS-202318309825-A
CountryUS
Kind codeB2
Filing dateApr 30, 2023
Priority dateOct 10, 2022
Publication dateJun 3, 2025
Grant dateJun 3, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An SSD includes an MRAM, an NAND memory, and an SSD controller. The SSD controller is configured to receive first data from a host machine, save the first data to an SSD data buffer, fetch the first data from the SSD data buffer and write the first data to the MRAM via the MRAM controller, determine, by the data allocation circuit based on a characteristic of the first data, whether to save the first data to the MRAM or the NAND memory, and in response to determining saving the first data to the NAND memory, read the first data from the MRAM, write the first data to the NAND memory, and erase the first data from the MRAM.

First claim

Opening claim text (preview).

What is claimed is: 1. A solid state drive (SSD) comprising: a magnetoresistive random-access memory (MRAM); a NAND memory; and an SSD controller coupled to the MRAM and the NAND memory, wherein the SSD controller comprises: a data allocation circuit configured to determine saving data to one of the MRAM or the NAND memory; and an MRAM controller coupled to the MRAM and configured to read data from or write data to the MRAM, wherein the SSD controller is configured to: receive first data from a host machine; save the first data to an SSD data buffer; fetch the first data from the SSD data buffer and write the first data to the MRAM via the MRAM controller; determine, by the data allocation circuit based on a characteristic of the first data, whether to save the first data to the MRAM or the NAND memory; in response to determining saving the first data to the NAND memory, read the first data from the MRAM, write the first data to the NAND memory, and erase the first data from the MRAM, wherein the data allocation circuit is further configured to: calculate a read access frequence of a logic block in the NAND memory, determine whether the read access frequency of the logic block exceeds a threshold frequency determined based on a storage capacity of the MRAM, wherein the threshold frequency is inversely related to the storage capacity of the MRAM, and in response to determining the read access frequency of the logic block exceeding the threshold frequency, relocate data stored on the logic block on the NAND memory to the MRAM. 2. The SSD of claim 1 , wherein the SSD controller is configured to: in response to determining saving the first data to the MRAM, retain the first data at the MRAM. 3. The SSD of claim 2 , wherein the SSD controller is further configured to record in an addressing table a physical address of the first data at the MRAM or the NAND memory. 4. The SSD of claim 3 , wherein the SSD controller is further configured to save the addressing table at the MRAM or a dynamic random-access memory (DRAM) coupled to the SSD controller. 5. The SSD of claim 3 , wherein the SSD controller is further configured to: receive a read command from the host machine for reading second data; look up, by the data allocation circuit, the addressing table to determine whether the second data are saved at the MRAM or the NAND memory; in response to determining that the second data are saved at the MRAM, fetch the second data from the MRAM and save the second data to the SSD data buffer; in response to determining that the second data are saved at the NAND memory, fetch the second data from the NAND memory and save the second data to the SSD data buffer; and fetch the second data from the SSD data buffer and send the second data to the host machine. 6. The SSD of claim 5 , wherein the SSD controller is further configured to: determine whether a number of read access from the host machine to the second data over a time duration exceeds a threshold; in response to that the number of read access to the second data over the time duration from the host machine exceeds the threshold and in response to determining that the second data are saved at the NAND memory, relocate the second data from the NAND memory to the MRAM, erase the second data from the NAND memory, and update a physical address of the second data in the addressing table. 7. The SSD of claim 1 , wherein the data allocation circuit is further configured to: calculate a read access frequency of each logic block on the MRAM; determining whether the read access frequency of each logic block on the MRAM exceeds the threshold frequency; and in response to determining that a read access frequency of a logic block on the MRAM does not exceed the threshold frequency, relocate data stored at the logic block on the MRAM to the NAND memory. 8. The SSD of claim 1 , wherein the data allocation circuit comprises a machine learning model, the machine learning model comprises a data allocation engine and a data relocation engine, and is configured to, in response to receiving a read command from the host machine for reading second data stored on the SSD: calculate a read access frequency of the second data; obtain a current state of the machine learning model; input the read access frequency of the second data and the current state of the machine learning model into the data allocation engine for the data allocation engine to determine whether the second data are to be saved on the MRAM or the NAND memory and to generate a determination result; input the determination result of the data allocation engine into the data relocation engine for the data relocation engine to determine whether to relocate the second data between the MRAM and the NAND memory; calculate a read access latency for accessing the second data stored on the SSD; and generate a machine learning sample comprising the read access frequency of the second data, the current state of the machine learning model, an output of the data relocation engine, and the read access latency. 9. The SSD of claim 1 , wherein the SSD controller is further configured to flush, in response to a power loss, all data at the SSD data buffer to the MRAM. 10. An apparatus comprising a host machine and a solid state drive (SSD), wherein the SSD comprises: a magnetoresistive random-access memory (MRAM); a NAND memory; and an SSD controller coupled to the MRAM and the NAND memory, wherein the SSD controller comprises: a data allocation circuit configured to determine saving data to one of the MRAM or the NAND memory; and an MRAM controller coupled to the MRAM and configured to read data from or write data to the MRAM, wherein the SSD controller is configured to: receive first data from a host machine; save the first data to an SSD data buffer; fetch the first data from the SSD data buffer and write the first data to the MRAM via the MRAM controller; determine, by the data allocation circuit based on a characteristic of the first data, whether to save the first data to the MRAM or the NAND memory; in response to determining saving the first data to the NAND memory, read the first data from the MRAM, write the first data to the NAND memory, and erase the first data from the MRAM, wherein the data allocation circuit is further configured to: calculate a read access frequence of a logic block in the NAND memory, determine whether the read access frequency of the logic block exceeds a threshold frequency determined based on a storage capacity of the MRAM, wherein the threshold frequency is inversely related to the storage capacity of the MRAM, and in response to determining the read access frequency of the logic block exceeding the threshold frequency, relocate data stored on the logic block on the NAND memory to the MRAM. 11. The apparatus of claim 10 , wherein the SSD controller is configured to: in response to determining saving the first data to the MRAM, retain the first data at the MRAM. 12. The apparatus of claim 11 , wherein the SSD controller is further configured to record in an addressing table a physical address of the first data at the MRAM or the NAND memory. 13. The apparatus of claim 12 , wherein the SSD controller is further configured to save the addressing table at the MRAM or a dynamic random-access memory (DRAM) coupled to the SSD controller. 14. The apparatus of claim 12 , wherein the SSD controller is further configured to: receive a read command from the host machine for reading second data; look up, by the data allocation circuit, the addressing table to determine whethe

Assignees

Inventors

Classifications

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title

  • Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket · CPC title

  • by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device · CPC title

  • Hybrid storage device · CPC title

  • G06F3/0659Primary

    Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12321639B2 cover?
An SSD includes an MRAM, an NAND memory, and an SSD controller. The SSD controller is configured to receive first data from a host machine, save the first data to an SSD data buffer, fetch the first data from the SSD data buffer and write the first data to the MRAM via the MRAM controller, determine, by the data allocation circuit based on a characteristic of the first data, whether to save the…
Who is the assignee on this patent?
Alibaba China Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F3/0659. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 03 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).