Hybrid solid-state drive
Abstract
Systems, methods, and devices are described for writing to a solid-state drive (SSD) that includes a non-volatile memory device, the volatile memory device includes first and second memory regions, the first memory region storing an address mapping table. A write request that includes a host logic block address (LBA) and data is received. A determination of whether the received LBA corresponds to the non-volatile memory device or the second memory region is made. In response to the received LBA corresponding to the non-volatile memory device, a physical address of the non-volatile memory device corresponding to the received LBA is determined based on the address mapping table and the included data is written to the determined physical address of the non-volatile memory device. In response to the received LBA corresponding to the second memory region, the included data is written to the second memory region based on the received LBA.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A solid-state drive (SSD) comprising:
a circuit board; a non-volatile memory device mounted to the circuit board; a volatile memory device mounted to the circuit board, the volatile memory device comprising a first memory region and a second memory region, the first memory region storing an address mapping table that maps memory addresses corresponding to the non-volatile memory device to physical addresses of the non-volatile memory device; a controller mounted to the circuit board and communicatively coupled to the non-volatile memory device and the volatile memory device, wherein the controller:
receives a write request including a memory address and data;
determines the received memory address corresponds to the second memory region; and
writes the included data to the second memory region based on the received memory address.
2 . The SSD of claim 1 , wherein to write the included data to the second memory region, the controller:
converts the received memory address to a corresponding physical address of the second memory region; and writes the included data to the corresponding physical address of the second memory region.
3 . The SSD of claim 2 , wherein the controller converts the received memory address to the corresponding physical address of the second memory region based on the size of the received memory address and a first physical address of the second memory region.
4 . The SSD of claim 1 , wherein the received memory address is a logical block address (LBA).
5 . The SSD of claim 1 , wherein the controller writes the included data to the second memory region via a direct write operation.
6 . The SSD of claim 1 , wherein:
physical addresses of the second memory region correspond to a first namespace; and the physical addresses of the non-volatile memory device correspond to a second namespace.
7 . The SSD of claim 6 , wherein to determine the received memory address corresponds to the second memory region, the controller determines the received memory address corresponds to the first namespace.
8 . The SSD of claim 1 , wherein the controller determines the received memory address corresponds to the second memory region based on a type of application the included data corresponds to.
9 . The SSD of claim 8 , wherein the application comprises:
a key-value data store application; or a journal file system application.
10 . The SSD of claim 1 , wherein, in response to a power down event, the controller:
determines, based on the address mapping table, a physical address of the physical addresses of the non-volatile memory device reserved for storing backup data, and writes data stored in the second memory region to the determined physical address as backup data.
11 . A method for writing to a solid-state drive (SSD) comprising a non-volatile memory device and a volatile memory device, the volatile memory device comprising a first memory region and a second memory region, the first memory region storing an address mapping table that maps memory addresses corresponding to the non-volatile memory device to physical addresses of the non-volatile memory device, the method comprising:
receiving a write request including a memory address and data; determining the received memory address corresponds to the second memory region; and writing the included data to the second memory region based on the received memory address.
12 . The method of claim 11 , wherein said writing the included data to the second memory region comprises:
converting the received memory address to a corresponding physical address of the second memory region; and writing the included data to the corresponding physical address of the second memory region.
13 . The method of claim 12 , wherein said converting the received memory address to the corresponding physical address of the second memory region comprises:
converting the received memory address based on the size of the received memory address and a first physical address of the second memory region.
14 . The method of claim 11 , wherein the received memory address is a logical block address (LBA).
15 . The method of claim 11 , wherein:
physical addresses of the second memory region correspond to a first namespace; the physical addresses of the non-volatile memory device correspond to a second namespace; and said determining the received memory address corresponds to the second memory region comprises:
determining the received memory address corresponds to the first namespace.
16 . The method of claim 11 , wherein said determining the received memory address corresponds to the first memory region comprises:
determining the received memory address corresponds to the first memory region based on a type of application the included data corresponds to.
17 . The method of claim 11 , further comprising:
in response to a power down event:
determining, based on the address mapping table, a physical address of the physical addresses of the non-volatile memory device reserved for storing backup data, and
writing data stored in the second memory region to the determined physical address as backup data.
18 . A solid-state drive (SSD) controller configured to write to a non-volatile memory device and a volatile memory device, the volatile memory device comprising a first memory region and a second memory region, the first memory region storing an address mapping table that maps memory addresses corresponding to the non-volatile memory device to physical addresses of the non-volatile memory device, the SDD controller further configured to:
receive a write request including a memory address and data; determine the received memory address corresponds to the first memory region; and write the included data to the first memory region based on the received memory address.
19 . The SSD controller of claim 18 , wherein to write the included data to the first memory region based on the received memory address, the SDD controller is further configured to:
convert the received memory address to a corresponding physical address of the first memory region; and write the included data to the corresponding physical address of the first memory region.
20 . The SSD controller of claim 18 , wherein, in response to a power down event, the SDD controller is configured to:
determine, based on the address mapping table, a physical address of the physical addresses of the non-volatile memory device reserved for storing backup data, and write data stored in the second memory region to the determined physical address as backup data.Join the waitlist — get patent alerts
Track US2023342088A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.