Method for writing data into flash memory apparatus, flash memory apparatus, and storage system
US-2016110107-A1 · Apr 21, 2016 · US
US2018232181A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2018232181-A1 |
| Application number | US-201815954029-A |
| Country | US |
| Kind code | A1 |
| Filing date | Apr 16, 2018 |
| Priority date | Dec 29, 2016 |
| Publication date | Aug 16, 2018 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A storage system, includes a controller and a solid state disk. The controller creates multiple segments in advance, selects a first die from the multiple dies, selects a first segment from the multiple segments, determines an available offset of the first segment, generates a write request, where the write request includes a write address, target data, and a data length of the target data, and the write address includes an identifier of a channel coupled to the first die, an identifier of the first die, an identifier of the first segment, and the available offset, and sends the write request to the solid state disk. The solid state disk receives the write request, and stores the target data according to the write address and the data length.
Opening claim text (preview).
What is claimed is: 1 . A storage system, comprising: a solid state disk comprising a plurality of channels, each one of the channels being coupled to a plurality of dies; and a controller capable of communicating with the solid state disk and configured to: create a plurality of segments; select a first die from the dies; select a first segment from the segments; determine an available offset of the first segment; generate a write request comprising a write address, target data, and a data length of the target data, the write address comprising an identifier of a channel coupled to the first die, an identifier of the first die, an identifier of the first segment, and the available offset; and send the write request to the solid state disk, and the solid state disk being configured to: receive the write request; and store the target data according to the write address and the data length of the target data. 2 . The storage system according to claim 1 , wherein the controller is further configured to: record states of the dies; and select a stateless die from the dies as the first die. 3 . The storage system according to claim 1 , wherein the controller is further configured to: determine an access frequency of the target data based on a host logical block address of the target data; and select a die in which an amount of stored data, whose access frequency is greater than an access frequency threshold, is less than a first threshold as the first die when the access frequency of the target data is greater than the access frequency threshold. 4 . The storage system according to claim 1 , wherein the controller is further configured to: record an amount of valid data stored in each of the dies; and select a die in which an amount of valid data is less than a second threshold as the first die. 5 . The storage system according to claim 1 , wherein the controller is further configured to: record a wear degree of each of the dies; and select a die whose wear degree is less than a wear degree threshold as the first die. 6 . The storage system according to claim 1 , wherein the controller is further configured to: record a quantity of read requests to be processed in each of the dies; and select a die in which a quantity of read requests to be processed is less than a third threshold as the first die. 7 . The storage system according to claim 1 , wherein the controller is further configured to: select a certain segment as the first segment when the certain segment is already allocated to the first die and has available storage space; or select a blank segment from the segments as the first segment. 8 . The storage system according to claim 1 , wherein the controller is further configured to: generate a mapping relationship configured to record a mapping between a host logical block address of the target data and the channel coupled to the first die, the first die, the first segment, and the available offset; and store the mapping relationship in a system mapping table. 9 . The storage system according to claim 1 , wherein the solid state disk is further configured to: query a local mapping table according to the identifier of the first segment and the available offset comprised in the write address, the local mapping table being configured to store a mapping relationship between a segment and a physical block address of the solid state disk; determine a page identifier according to the available offset comprised in the write address, and write, based on the data length of the target data and starting from a page corresponding to the page identifier, the target data into a block corresponding to the first segment when the block corresponding to the first segment is recorded in the local mapping table; and select a blank block from a plurality of blocks of the first die based on the identifier of the channel coupled to the first die and the identifier of the first die, determine the page identifier according to the available offset comprised in the write address, and write, based on the data length of the target data and starting from the page corresponding to the page identifier, the target data into the blank block when the block corresponding to the first segment is not recorded in the local mapping table. 10 . The storage system according to claim 9 , wherein the solid state disk is further configured to: generate a new mapping relationship configured to record a mapping between the first segment and the blank block; and store the new mapping relationship in the local mapping table. 11 . A solid state disk, comprising: a processor; a memory coupled to the processor; a communications interface coupled to the processor; and a plurality of channels, the processor and the memory being respectively coupled to a plurality of dies via each of the channels, each of the dies comprising a plurality of blocks, the processor, the memory, and the communications interface being capable of communicating with each other, the communications interface being configured to receive a write request comprising a write address, target data, and a data length of the target data, and the write address comprising an identifier of a first die, an identifier of a channel coupled to the first die, an identifier of a first segment, and an available offset, the memory being configured to store a local mapping table configured to record a mapping relationship between a segment and a physical block address of the solid state disk, and the processor being configured to: query the local mapping table according to the identifier of the first segment and the available offset comprised in the write address; and determine a page identifier according to the available offset, and write, based on the data length of the target data and starting from a page corresponding to the page identifier, the target data into a block corresponding to the first segment when the block corresponding to the first segment is recorded in the local mapping table; and select a blank block from a plurality of blocks of the first die based on the identifier of the channel coupled to the first die and the identifier of the first die, determine the page identifier according to the available offset comprised in the write address, and write, based on the data length of the target data and starting from the page corresponding to the page identifier, the target data into the blank block when the block corresponding to the first segment is not recorded in the local mapping table. 12 . The solid state disk according to claim 11 , wherein the processor is further configured to: generate a new mapping relationship configured to record a mapping between the first segment and the blank block; and store the new mapping relationship in the local mapping table. 13 . A solid state disk, comprising: a processor; a memory coupled to the processor; a communications interface coupled to the processor; and a plurality of channels, the processor and the memory being respectively coupled to a plurality of dies via each of the channels, each of the dies comprising a plurality of blocks, the processor, the memory, and the communications interface being capable of communicating with each other, the communications interface being configured to receive a write request comprising a write address, target data, and a data length of the target data, the write address comprising an identifier of a first segment and an available offset, and the identifier of the first segment carries an identifier of a first die and an identifier of a channel coupled to t
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Management of blocks · CPC title
Logical to physical mapping or translation of blocks or pages · CPC title
using page tables, e.g. page table structures · CPC title
in relation to response time · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.