Storage System and Solid State Disk

US2018232181A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2018232181-A1
Application numberUS-201815954029-A
CountryUS
Kind codeA1
Filing dateApr 16, 2018
Priority dateDec 29, 2016
Publication dateAug 16, 2018
Grant date

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.

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.

First claim

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

Assignees

Inventors

Classifications

  • G06F3/0659Primary

    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

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 US2018232181A1 cover?
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…
Who is the assignee on this patent?
Huawei Tech 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 Thu Aug 16 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).