WO2021196956A1 - 一种固态硬盘管理方法及固态硬盘 - Google Patents

一种固态硬盘管理方法及固态硬盘 Download PDF

Info

Publication number
WO2021196956A1
WO2021196956A1 PCT/CN2021/078761 CN2021078761W WO2021196956A1 WO 2021196956 A1 WO2021196956 A1 WO 2021196956A1 CN 2021078761 W CN2021078761 W CN 2021078761W WO 2021196956 A1 WO2021196956 A1 WO 2021196956A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage space
mode
ssd
solid
level cell
Prior art date
Application number
PCT/CN2021/078761
Other languages
English (en)
French (fr)
Inventor
周建华
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP21782106.5A priority Critical patent/EP4120086A4/en
Publication of WO2021196956A1 publication Critical patent/WO2021196956A1/zh
Priority to US17/933,857 priority patent/US20230013322A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7206Reconfiguration of flash memory system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

Definitions

  • This application relates to the field of storage technology, and in particular to a solid-state hard disk management method and a solid-state hard disk.
  • Solid State Drives are mostly implemented by NAND Flash (NAND Flash).
  • NAND Flash is a non-volatile random access storage medium. Its characteristic is that data does not disappear after a power failure. It is different from the traditional The volatile random access storage medium and volatile memory such as DRAM and SRAM, etc., can be used as a persistent memory.
  • the unit capacity of SSD is determined by the number of bits that a single cell can store.
  • NAND Flash the cell has developed to a Quad Level Cell (QLC).
  • QLC Quad Level Cell
  • the capacity of NAND Flash cells is continuously increasing, it is also facing the problem of continuous reduction in service life. Generally, SSDs that have reached the predetermined service life cannot continue to be used.
  • This application provides a solid-state hard disk management method and a solid-state hard disk SSD, which can increase the service life of the solid-state hard disk SSD and at the same time provide additional storage capacity.
  • the present invention provides a solid-state hard disk management method, the method includes:
  • the first storage space is operated in the second mode to obtain the second storage space; wherein the number of bits that can be stored in a unit cell of the first storage space is greater than that of a unit cell in the second storage space
  • the number of bits that can be stored Since the service life of a cell with a larger capacity is shorter than that of a cell with a smaller capacity, a cell with a larger capacity can be used as a cell with a smaller capacity.
  • different modes correspond to different cell capacities. The capacity of the cell, that is, the number of bits that the cell can store.
  • the first storage of the SSD When the usage of the first storage space of the SSD meets the preset condition, the first storage of the SSD is made to work in the second mode, because the capacity of the cell corresponding to the second mode is smaller than the capacity of the cell corresponding to the first mode. As the cell capacity decreases, the storage space also decreases. Therefore, compared to the first storage space working in the first mode, the first storage space works in the second mode to obtain the second storage space, that is, the second mode corresponds to the first storage space. 2. Storage space. As the cell capacity decreases, the service life of the storage space increases, thereby prolonging the service life of the SSD.
  • the first storage space can provide the capacity in the first mode, so that the first storage space works in the second mode to obtain the second storage space. While extending the service life, it can also provide additional second storage space. Therefore, while extending the service life, it can also provide additional storage capacity.
  • the first storage space working in the first mode refers to the number of bits that the cell in the first storage space can store, that is, the first storage space provides data storage with the first type of cell;
  • the second storage space works in the second mode refers to the number of bits that the cell can store in the second storage space, that is, the second storage space uses the second type of cell to provide data storage.
  • the mode referred to in the embodiment of the present invention corresponds to the type of cell.
  • the storage space working in a certain mode means that the storage space provides data storage with a certain type of cell.
  • the storage space provides data with a certain type of cell and does not require the physical structure of the cell to be that type of cell.
  • the storage space works in MLC, that is, when the storage space provides data storage with MLC type cells
  • the physical structure of the cells in the storage space can be QLC or TLC.
  • the physical structure of the cell in the storage space is QLC
  • the storage space provides data storage with MLC type cells
  • only the lower 2 bits of the QLC can be used to provide data storage services.
  • the physical structure of the cell in the storage space is TLC
  • only the lower 2 bits of the TCL can be used to provide data storage services.
  • the usage status is the number of erasing and writing, the amount of written terabytes, or the amount of written data.
  • the number of erasing and writing, the amount of written terabytes, or the amount of written data determine the degree of wear and tear of the SSD, and reflect the usage status of the SSD.
  • An implementation that makes the first storage space work in the second mode includes setting the low n bits of the number of bits that can be stored by the floating gate transistor in the first mode as the number of n bits that can be stored by the floating gate transistor in the second mode, where n is An integer greater than 0.
  • n can be 1, 2 or 3 according to the current technical process.
  • the SSD uses firmware to make the first storage space that originally worked in the first mode work in the second mode to obtain the second storage space; it can also be implemented by the SSD controller itself.
  • the first storage space is all storage space of the SSD, that is, all storage spaces work in the first mode.
  • the usage status of the entire storage space of the SSD meets the preset conditions, and the entire storage space of the SSD can work in the second mode.
  • the first storage space is one of multiple storage spaces of the SSD.
  • An implementation is to divide the SSD into multiple namespaces, where one storage space corresponding to one namespace is the first storage space.
  • the SSD includes a namespace, and the storage space corresponding to the namespace is the first storage space.
  • a namespace is divided into multiple zone zones, where the storage space corresponding to one zone is the first storage space.
  • the storage space corresponding to the key-value of the SSD that can be used to continuously store data is used as the corresponding first storage space.
  • the method further includes: backing up the data in the first storage space before operating the first storage space in the second mode based on the above detection result. Before making the first storage space work in the second mode, back up the data in the first storage space to prevent data loss.
  • data can be backed up to cloud storage or other storage devices.
  • the method further includes: backing up valid data in the first storage space before operating the first storage space in the second mode based on the above detection result. Before making the first storage space work in the second mode, the effective data in the first storage space is backed up, which reduces the amount of backup data while preventing data loss. For specific implementation, valid data can be backed up to cloud storage or other storage devices.
  • the first mode is a four-level cell QLC
  • the second mode is at least one of a three-level cell TLC, a multi-level cell MLC, and a single-level cell SLC.
  • the first mode is a three-level cell TLC; the second mode is at least one of a multi-level cell MLC and a single-level cell SLC.
  • the first mode is a multi-level cell MLC; the second mode is a single-level cell SLC.
  • the usage status is the update frequency of the data stored in the first storage space.
  • the first storage space is operated in the second mode to obtain the second storage space; wherein the preset condition is a predetermined threshold.
  • the usage status is the nature of the data stored in the first storage space.
  • the first storage space works in the second mode, where the preset conditions are metadata, erasure coding (EC) check data, or independent disk redundancy The parity data in an array (Redundant Array of Independent Disks, RAID).
  • the nature of the data stored in the first storage space is metadata, parity data in EC, or parity data in RAID, and the update frequency of metadata, parity data in EC, or parity data in RAID is high.
  • the SSD includes multiple storage spaces, each storage space is used to store data of one stream, and one of the storage spaces is the first storage space.
  • the usage status is the error rate of the data stored in the first storage space.
  • the error rate of the data stored in the first storage space meets the preset condition, the first storage space is made to work in the second mode.
  • the present invention provides a solid state drive SSD, which includes a solid state drive controller and a storage medium; the solid state drive controller is used to implement the first aspect of the present invention and various implementation solutions of the first aspect .
  • the present invention provides a solid-state drive management device.
  • the solid-state drive management device includes a plurality of units for executing the first aspect and various implementation solutions of the first aspect of the present invention.
  • the present invention provides a solid-state hard disk controller.
  • the solid-state hard disk controller includes a variety of circuits for executing the first aspect and various implementation solutions of the first aspect of the present invention.
  • the present invention provides a computer-readable storage medium containing program instructions, and the solid-state hard disk controller of the solid-state hard disk executes the first aspect and the first aspect of the present invention according to the program instructions.
  • the solid-state hard disk controller of the solid-state hard disk executes the first aspect and the first aspect of the present invention according to the program instructions.
  • the present invention provides a computer program product, the computer program product contains program instructions, and the solid state drive controller of the solid state drive executes the first aspect of the present invention and various implementations of the first aspect according to the program instructions. plan.
  • detecting that the usage status of the first storage space of the SSD meets the preset condition can also be executed by an electronic device communicating with the SSD.
  • the electronic device may be an array controller of a storage array, a storage node or a hard disk enclosure in a distributed storage, a server, a notebook computer, and the like.
  • the electronic device may monitor the usage status of the first storage space of the SSD, or the SSD can report the usage status of the first storage space.
  • the electronic device detects that the usage status of the first storage space of the SSD meets the preset condition; wherein, the first storage space is working in the first mode; based on the detection result, an instruction is sent to the SSD to make the first storage space work
  • the second storage space is obtained in the second mode; wherein the number of bits that can be stored in one unit cell of the first storage space is greater than the number of bits that can be stored in one unit cell of the second storage space.
  • the instruction sent by the electronic device to the SSD may include the information of the second mode, such as the type of the cell. Specifically, the instruction may use a specific value to represent the second mode information.
  • the SSD stores the mode conversion information of the first storage space, and the SSD performs mode conversion sequentially based on instructions sent by the electronic device.
  • the mode conversion information includes TLC, MLC, and SLC.
  • the first storage space works in TLC.
  • the electronic device sends an instruction for the first time to make the first storage space work in the MLC to obtain the second storage space, and when the electronic device sends the instruction again, make the second storage space work in the SLC to obtain the third storage space
  • the SSD receives the instruction sent by the electronic device, and based on the instruction, the first storage space of the SSD working in the first mode is operated in the second mode to obtain the second storage space; wherein, a cell of the first storage space The number of bits that can be stored is greater than the number of bits that can be stored in one unit cell of the second storage space.
  • the usage status is the number of erasing and writing, the amount of written terabytes, or the amount of written data.
  • the number of erasing and writing, the amount of written terabytes, or the amount of written data determine the degree of wear and tear of the SSD, and reflect the usage status of the SSD.
  • an implementation that enabling the first storage space to work in the second mode includes using the low n bits of the number of bits that can be stored by the floating gate transistor in the first mode as the number of n bits that can be stored by the floating gate transistor in the second mode, wherein n is an integer greater than zero.
  • n can be 1, 2 or 3 according to the current technical process.
  • the first storage space is all the storage space of the SSD, that is, all the storage spaces work in the first mode.
  • the usage status of the entire storage space of the SSD meets the preset conditions, and the entire storage space of the SSD can work in the second mode.
  • the first storage space is one of multiple storage spaces of the SSD.
  • an implementation divides the SSD into multiple namespaces, where one storage space corresponding to one namespace is the first storage space.
  • the SSD includes a namespace, and the storage space corresponding to the namespace is the first storage space.
  • a namespace is divided into multiple zone zones, where the storage space corresponding to one zone is the first storage space.
  • the storage space corresponding to the SSD key value that can be used to continuously store data is used as the corresponding first storage space.
  • the electronic device or the SSD before the first storage space is operated in the second mode based on the instruction, the electronic device or the SSD backs up the data in the first storage space. Before making the first storage space work in the second mode, back up the data in the first storage space to prevent data loss.
  • data can be backed up to cloud storage or other storage devices.
  • the electronic device or the SSD before the first storage space is operated in the second mode based on the instruction, the electronic device or the SSD backs up the valid data in the first storage space.
  • the effective data in the first storage space is backed up, which reduces the amount of backup data while preventing data loss.
  • valid data can be backed up to cloud storage or other storage devices.
  • the first mode is a four-level cell QLC
  • the second mode is at least one of a three-level cell TLC, a multi-level cell MLC, and a single-level cell SLC.
  • the first mode is a three-level cell TLC; the second mode is at least one of a multi-level cell MLC and a single-level cell SLC.
  • the first mode is a multi-level cell MLC; and the second mode is a single-level cell SLC.
  • the usage status is the update frequency of the data stored in the first storage space.
  • the first storage space is operated in the second mode to obtain the second storage space; wherein, the preset condition is a predetermined threshold.
  • the usage status is the nature of the data stored in the first storage space.
  • the first storage space works in the second mode, where the preset conditions are metadata, erasure coding (EC) check data, or independent disk redundancy The parity data in an array (Redundant Array of Independent Disks, RAID).
  • the nature of the data stored in the first storage space is metadata, parity data in EC, or parity data in RAID, and the update frequency of metadata, parity data in EC, or parity data in RAID is high.
  • the SSD includes multiple storage spaces, each storage space is used to store data of one stream, and one of the storage spaces is the first storage space.
  • the present invention provides corresponding electronic devices.
  • the electronic devices include multiple units for executing corresponding solutions.
  • the present invention provides another electronic device, including a processor and an interface, the processor communicates with the interface, and the processor is used to execute a corresponding solution.
  • the present invention provides a solid-state hard disk management device.
  • the solid-state hard disk management device includes multiple units for executing corresponding solutions.
  • the present invention provides a solid-state hard disk controller.
  • the solid-state hard disk controller includes a variety of circuits for executing corresponding solutions.
  • the present invention provides a computer-readable storage medium containing program instructions, and the solid-state hard disk controller of the solid-state hard disk executes a corresponding solution according to the program instructions.
  • the present invention provides a computer program product
  • the computer program product contains program instructions
  • the solid-state hard disk controller of the solid-state hard disk executes a corresponding solution according to the program instructions.
  • FIG. 1 is a schematic diagram of the structure of an SSD according to an embodiment of the present invention.
  • FIG. 2 is a schematic diagram of the structure of a floating gate transistor according to an embodiment of the present invention.
  • FIG. 3 is a schematic flowchart of an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of an SSD supporting multiple namespaces according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of an SSD supporting a regional namespace according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of supporting SSD based on key value according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of the mode, capacity, and erasing times of SSD conversion according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of enabling the first storage space to work in the second mode according to an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of an SSD data backup relationship according to an embodiment of the present invention.
  • FIG. 10 is a schematic diagram of an SSD data backup relationship according to an embodiment of the present invention.
  • FIG. 11 is a schematic diagram of the structure of an electronic device according to an embodiment of the present invention.
  • FIG. 12 is a schematic structural diagram of a solid-state hard disk controller according to an embodiment of the present invention.
  • FIG. 13 is a schematic structural diagram of a solid-state hard disk management device according to an embodiment of the present invention.
  • FIG. 1 is a schematic diagram of the structure of an SSD provided by an embodiment of the present invention, which includes an interface 101, a solid-state drive controller 102, a channel 103, and a package 104.
  • a package 104 contains multiple flash memory chips, each flash memory chip contains one or more particles, each particle contains multiple flash memory chips, each flash memory chip contains multiple blocks, and each block contains multiple pages.
  • a page contains multiple cells. Cell is the smallest storage unit of SSD.
  • One bit or multiple bits of data can be stored in one cell.
  • the interface 101 can be a serial connection small computer system interface (Serial Attached Small Computer System Interface, SAS) protocol, a non-volatile memory Express (Non-Volatile Memory Express, NVMe) protocol, or a fast peripheral interconnection (Peripheral Component) protocol. Interconnect Express, PCIe) protocol interface, etc.
  • SAS Serial Attached Small Computer System Interface
  • NVMe non-Volatile Memory Express
  • PCIe fast peripheral interconnection
  • the interface 101 of the standard SSD provides a block interface externally, that is, provides a logical block address (Logical Block Address, LBA).
  • LBA Logical Block Address
  • the solid-state hard disk controller 102 uses a flash translation layer (FTL) to map the physical address to which the LBA is mapped.
  • FTL flash translation layer
  • the SSD may also support other interfaces, for example, an SSD supporting an open channel interface, etc., which is not limited in the embodiment of the present invention.
  • the basic storage unit of NAND Flash in SSD is a floating gate transistor, and one floating gate transistor corresponds to one cell.
  • the structure of a floating gate transistor is as shown in FIG. 2, from top to bottom, it includes a control gate, an oxide layer, a floating gate layer, a tunnel oxide layer, and the bottom is a source, a drain, and a substrate.
  • a floating gate layer for storing electrons is formed on the transistor in which the current conducts unidirectionally between the source and the drain.
  • the floating gate layer is surrounded by an insulating layer up and down, so that the electrons are easy to enter and hard to exit. The electrons inside will not disappear due to power failure, so flash memory is non-volatile memory.
  • the floating gate transistor realizes writing and erasing data to the floating gate transistor by charging and discharging electrons to the floating gate layer.
  • writing data a positive voltage is applied to the control gate to allow electrons to enter the floating gate layer through the insulating layer, that is, the process of writing data is a charging process.
  • erasing data a positive voltage is applied to the substrate to allow electrons to pass through the insulating layer of the floating gate layer, thereby releasing the electrons from the floating gate layer.
  • the data is stored in binary of 0 and 1. According to whether there are two states of electrons in the floating gate layer, the 0 and 1 of the data can be represented, so that the data can be stored.
  • the state with electrons is recorded as 0, and the state without electrons is recorded as 1. Because the floating gate transistors of the same physical block are located on the same substrate, when electrons are released from the floating gate layer, all electrons on the same physical block are released, that is, when erasing data, the entire The data of the physical block.
  • each cell can store 1bit data, that is, a floating gate transistor expresses the stored 1bit data by 2 states of whether there is an electron in the floating gate layer. Therefore, the 1-bit data that the floating gate transistor corresponding to the SLC can store can be represented by 0 and 1.
  • each cell can store 2bit data, that is, a floating gate transistor expresses 2bit data by determining whether there are 4 states of up to 2 electrons in the floating gate layer. Therefore, the 2bit data that can be stored by the floating gate transistor corresponding to the MLC can be represented by 00, 01, 10, and 11.
  • each cell can store 3bit data, that is, a floating gate transistor expresses 3bit data by determining whether there are 8 states of up to 3 electrons in the floating gate layer. Therefore, the 3bit data that the floating gate transistor corresponding to TLC can store can be represented by 000, 001, 010, 011, 100, 101, 110, and 111.
  • each cell can store 4bit data, that is, a floating gate transistor expresses 4bit data by determining whether there are 16 states of up to 4 electrons in the floating gate layer.
  • the writing voltage that is, the programming voltage
  • the writing voltage needs to be increased, which will cause the data writing time to become longer, and finally result in severely affecting the performance and unusable.
  • the writing voltage is increased, more pressure will be put on the insulating layer, which will accelerate the loss.
  • the data erasure operation also has the above-mentioned problems. Based on the above principles, the more electrons can be stored in the floating gate layer of a floating gate transistor, but as data is written or erased, the insulating layer may become thinner or break down faster, resulting in a shorter service life.
  • SSD working in QLC supports 300 erasing times
  • SSD working in TLC supports 1000 erasing times
  • SSD working in MLC supports 3000 erasing times
  • SSD working in SLC supports The number of erasing and writing is 10,000 times. Therefore, the service life of SLC, MLC, TLC, and QLC due to data erasing and writing decreases as the capacity of the cell increases in sequence. Therefore, the number of erasing and writing, the amount of written terabytes (Terabytes Written, TBW), or the amount of written data can be used as parameters to measure the usage status of the SSD.
  • the SSD in the embodiment of the present invention makes the first storage space that originally worked in the mode of a cell with a larger capacity work in the mode of a cell with a smaller capacity to obtain the second storage space, that is, the first storage space.
  • the storage space uses the first type of cell to provide data storage.
  • the first storage space uses the second type of cell to provide data storage to obtain a second storage space with a smaller capacity, thereby extending the use of SSD
  • the service life while extending the service life, further provides additional second storage space.
  • the capacity of a cell is represented by the number of bits that the cell can store, for example, 1 bit, 2 bit, 3 bit, or 4 bit.
  • the number of bits that a cell can store is also called the number of bits or bits that the cell can store.
  • the mode referred to in the embodiment of the present invention corresponds to the type of cell.
  • the storage space working in a certain mode means that the storage space provides data storage with a certain type of cell.
  • the storage space of a certain type of cell provides data without requiring the physical structure of the cell to be that type of cell.
  • the storage space works in MLC, that is, when the storage space provides data storage with MLC type cells, the physical structure of the cells in the storage space can be QLC or TLC.
  • the physical structure of the cell in the storage space is QLC
  • the storage space provides data storage with MLC type cells only the lower 2 bits of the QLC can be used to provide data storage services.
  • the physical structure of the cell in the storage space is TLC
  • the storage space provides data storage with MLC type cells only the lower 2 bits of the TCL can be used to provide data storage services.
  • FIG. 3 The schematic flow chart of the embodiment of the present invention is shown in Fig. 3 and includes:
  • Step 301 It is detected that the usage status of the first storage space of the SSD meets a preset condition
  • the first storage space works in a first mode.
  • the usage status is the number of erasing and writing, TWB or the amount of written data
  • the preset condition is a predetermined threshold.
  • the usage status is one or more combinations of the number of erasing and writing, TWB, or the amount of written data, and it may also be the first one of the three to be reached.
  • Step 302 Make the first storage space work in the second mode based on the above detection result to obtain the second storage space.
  • the first storage space works in the first mode, and after the first storage space works in the second mode, the first storage space is changed to obtain the second storage space.
  • the number of bits that can be stored in a unit cell of the first storage space is greater than the number of bits that can be stored in a unit cell of the second storage space.
  • the first mode in the embodiment of the present invention may be one of QLC, TLC, or MLC.
  • the first mode can also be a mode in which the unit can store a larger capacity.
  • the embodiment of the present invention does not limit this.
  • the second mode when the first mode is QLC, the second mode may be at least one of TLC, MLC, and SLC.
  • the second mode when the first mode is TLC, the second mode may be at least one of MLC and SLC.
  • the second mode when the first mode is MLC, the second mode may be SLC.
  • a cell with a larger capacity can be used as a cell with a smaller capacity.
  • the first storage space that was originally working in the mode of a cell with a larger capacity works in the mode of a cell with a smaller capacity to obtain the second storage space, thereby extending The service life of the SSD.
  • the first storage space can provide the capacity in the first mode, and the first storage space works in the second mode, that is, the first storage space works in the cell mode with a smaller capacity. Then, a second storage space with a smaller capacity is obtained. While extending the service life of the SSD, a second storage space can be additionally provided, so while the service life is prolonged, additional storage capacity can also be provided.
  • the embodiment of the present invention can set the preset condition as the standard condition promised by the SSD to the user, such as a specific service life, which can be specifically reflected in the number of erasing and writing, the amount of written data, or the number of written words and bytes.
  • the user can continue to use the storage space working in the second mode after using the storage capacity of the SSD with the service life promised by the manufacturer. Provide additional storage space.
  • the SSD provided in the embodiment of the present invention can be used in a public cloud, for example, can provide storage resources for a virtual machine (VM) in a public cloud, or can be used in a cloud storage service.
  • Public cloud usually refers to a cloud that can be used by third-party providers for users.
  • the first storage space may be the storage space of the SSD, that is, the entire space of the SSD. In another embodiment of the present invention, the first storage space may be one of multiple storage spaces of the SSD.
  • the SSD provided by an embodiment of the present invention is an SSD supporting the NVMe protocol.
  • the SSD may provide multiple namespaces, and the storage space corresponding to one namespace is the first storage space. Therefore, in the embodiment of the present invention, the storage space corresponding to the namespace may be used as the granularity to manage the SSD according to the SSD management method provided in the embodiment of the present invention. In another implementation, the SSD only provides one namespace, and the storage space corresponding to the namespace is the first storage space.
  • the SSD provided by an embodiment of the present invention is an SSD that supports zoned namespace (NS).
  • a namespace is divided into multiple zones (zones), and the storage space corresponding to one zone is the first storage. Therefore, in the embodiment of the present invention, the storage space corresponding to the zone may be used as the granularity to manage the SSD according to the SSD management method provided in the embodiment of the present invention.
  • the SSD provided by one embodiment of the present invention is an SSD that supports Key-value (KV), and the storage space corresponding to the key that can be used to continuously store data is used as a first storage space.
  • the embodiment may use the storage space for continuously storing data as the granularity according to the SSD management method provided in the embodiment of the present invention to manage the SSD.
  • multiple preset conditions may be set, such as a first preset condition and a second preset condition.
  • the first storage space initially works in QLC.
  • the usage status meets the first preset condition
  • the first storage space works in TLC to obtain the second storage space. That is, when the first storage space works in TLC, the capacity becomes smaller.
  • Get the second storage space when the usage condition meets the second preset condition, make the second storage space work in MLC to get the third storage space, that is, when the second storage space works in MLC, because the capacity becomes smaller, get the third storage space space.
  • the usage status is the update frequency of the data stored in the first storage space.
  • the first storage space is made to work in the second mode, and the second mode corresponds to the second storage space. Since the capacity of the cell corresponding to the first mode is greater than the capacity of the cell corresponding to the second mode, the first storage space operates in the second mode to obtain a second storage space with a smaller storage capacity; wherein the preset condition is a predetermined threshold.
  • the usage status is the nature of the data stored in the first storage space. When the nature of the stored data meets the preset conditions, the first storage space works in the second mode to obtain the second storage space.
  • the preset condition is one or more of metadata, check data in Erasure Coding (EC), or check data in Redundant Array of Independent Disks (RAID) . That is, the nature of the data stored in the first storage space is metadata, parity data in EC, or parity data in RAID, so that the first storage space works in the second mode to obtain the second storage space.
  • EC Erasure Coding
  • RAID Redundant Array of Independent Disks
  • the update frequency of the verification data or the verification data in the RAID is high.
  • the first storage space stores data with a high update frequency and has a high wear program for the first storage space.
  • the SSD contains multiple storage spaces, each storage space is used to store data of one stream, and one of the storage spaces is the first storage space.
  • the usage status is an error rate of data stored in the first storage space.
  • the error rate of the data stored in the first storage space meets the preset condition, the first storage space is made to work in the second mode.
  • the use state of the first storage space meets the preset condition, so that the first storage space works in the second mode to obtain the second storage space.
  • the capacity of the cell corresponding to the first mode is greater than the capacity of the cell corresponding to the second mode
  • a second storage space with a smaller storage capacity is obtained.
  • the second storage space may include Work in multiple subspaces in different modes.
  • the first storage space works in QLC
  • a part of the first storage space works in TLC to obtain sub-space 1 and the other part works in MLC to obtain sub-storage space 2.
  • the first storage space starts to work in the first mode, after the usage status of the first storage space meets the preset conditions, make the first storage space work in the second mode to obtain the second storage space, and the cells stored in the first storage space
  • the number of bits is more than the number of bits stored in the cell of the second space, so the capacity of the first storage space becomes smaller after working in the second mode to obtain the second storage space.
  • the first mode is QLC
  • the second mode is TLC. Because a cell corresponds to a floating gate transistor, the floating gate transistor supporting QLC can store 4bit data, while the floating gate transistor supporting TLC can support 3bit data. Therefore, the first space works in QLC, and the usage state of the first storage space meets the preset conditions, so that the first storage space works in TLC. After the first storage space works in the TLC, the second storage space is obtained. Since the capacity of the TLC is 3/4 of the QLC capacity, the storage space becomes smaller, and the capacity of the second storage space becomes 3/4 of the first storage storage capacity.
  • the capacity of the SSD is 1024 gigabytes (Gigabyte, GB) as an example, and the capacity of 1024 GB is 1 terabyte (Trillionbyte, TB).
  • the preset condition is the number of erasing and writing.
  • the SSD in the initial state works in QLC, that is, the first storage space works in QLC.
  • the first preset condition (that is, the number of erasing and writing promised to the user) is 300 times
  • the second preset condition is 1000 times
  • the third preset condition is 3000 times.
  • the first preset condition is to promise the user the number of erasable times.
  • the first storage space is 1TB storage space.
  • the usage status of the first storage space meets the preset condition, that is, the number of erasing and writing reaches 300 times, the first storage space will work in TLC to obtain the first storage space.
  • the usage status of the NAS meets the second preset condition, that is, the number of erasing and writing reaches 1000 times, so that the second storage space works in the MLC to obtain the third storage space.
  • the capacity of the SLC is 1/2 of the capacity of the MLC, the storage space becomes smaller.
  • the SSD provided by the embodiment of the present invention can provide additional storage space and the number of erasing and writing in addition to the number of erasing and writing and the storage space promised to the user.
  • the foregoing embodiment of the present invention is taken as an exemplary implementation manner, and does not limit the selection order of the second mode of the present invention.
  • the first mode may be QLC
  • the second mode is MLC
  • the first mode is QLC
  • the second mode is SLC
  • the first mode is TLC
  • the second mode is MLC.
  • the first storage space is made to work in the second mode.
  • the lower n bits of the number of bits that the floating gate transistor can store in the first mode can be used as the n bits that the floating gate transistor can store in the second mode.
  • the number of bits so as to realize that the first storage space is operated in the second mode to obtain the second storage space. That is, after the first storage works in the second mode, the number of bits stored in the cell of the first storage space is more than the number of bits stored in the cell of the second space, so the capacity of the first storage space becomes smaller after working in the second mode. Get the second storage space.
  • n is an integer greater than zero.
  • n can be 1, 2 or 3.
  • the embodiment of the present invention does not limit this.
  • the SSD uses firmware to make the first storage space that originally worked in the first mode work in the second mode to obtain the second storage space; it can also be implemented by the SSD controller itself.
  • the first mode is QLC, and the floating gate transistor can store 4 bits in the QLC mode; the second mode is TLC, and the floating gate transistor can store 3 bits in the TLC mode.
  • the first storage space works in the second mode, as shown in Figure 8.
  • the lower 3 bits of the number of bits that can be stored by the floating gate transistor of QLC are used as the number of bits that can be stored by the floating gate transistor of TLC .
  • the erasing and writing parameters and the reading parameters can be set, so as to control the operation of the corresponding bit of the floating gate transistor.
  • the usage status of the first storage space meets the preset condition, so that the first storage space works in the second mode to obtain the second storage space.
  • the first storage space works in the first mode before working in the second mode. Since the capacity of the cell corresponding to the first mode is greater than the capacity of the cell corresponding to the second mode, the second storage space is obtained after the first storage space works in the second mode. Space, that is, the second mode described in the previous embodiment corresponds to the second storage space.
  • the capacity of the second storage space is smaller than the capacity of the first storage space.
  • the SSD can set a corresponding mapping table for the first storage space. The mapping table is used to provide usage conditions, preset conditions, and corresponding modes.
  • the SSD implements the foregoing embodiments according to the mapping table.
  • the SSD may provide a conversion table for providing the usage status, preset conditions, and corresponding mode conversion relationships of the first storage space.
  • the embodiment of the present invention does not specifically limit the specific implementation manner.
  • the SSD management solution provided by each embodiment of the present invention further includes backing up the data in the first storage space before operating the first storage space in the second mode.
  • An implementation method As shown in FIG. 9, the SSD implements the solution provided in the embodiment of the present invention, and the SSD backs up the data in the first storage space to the storage device before operating the first storage space in the second mode.
  • the SSD and the storage device can communicate through the bus.
  • the SSD and the device have a network interface, such as an Ethernet (Ethernet) interface
  • the SSD and the storage device can communicate through the network, so that the data in the first storage space of the SSD can be backed up to the storage device.
  • FIG. 1 an Ethernet
  • the electronic device may be a host, an array controller of a storage array, a storage node in a distributed storage system, a hard disk enclosure in a storage system, a server or a laptop, etc.
  • the electronic device includes an interface 1101 and a processor 1102, where the interface 1101 communicates with the processor 1102, and the processor 1102 is used to implement corresponding functions of the electronic device.
  • the interface 1101 may be a network interface controller, a host adapter, or a bus-level interface, etc., which is not limited in the embodiment of the present invention.
  • the bus-level interface may be a high-speed serial computer expansion bus (Peripheral Component Interconnect Express, PCIE) interface.
  • the interface 1101 may also be other interfaces used to communicate with the SSD.
  • the electronic device communicates with the SSD through the interface.
  • the processor 1102 may be a central processing unit (CPU), a field programmable gate array (FPGA), or an application-specific integrated circuit (ASIC), or it may be a variety of the above combination.
  • the embodiment of the present invention further includes: reporting the capacity of the second storage space to the electronic device after the operation of the first storage space of the SSD obtains the second storage space in the second mode.
  • FIG. 10 may be an SSD or a mechanical disk, etc., or may be a storage system that communicates with a backup electronic device.
  • the storage device in FIG. 9 and FIG. 10 may be a cloud storage system.
  • the data in the first storage space of the SSD is backed up, thereby preventing the data in the first storage space from being lost when the first storage space is operated in the second mode to obtain the second storage space.
  • only valid data stored in the first storage space of the SSD can be backed up, thereby reducing the amount of data that needs to be backed up, improving the efficiency of data backup, and saving storage space.
  • the data or valid data is backed up to the storage device, so that the first storage space works in the second mode and after the second storage space is obtained, the data or valid data can also be migrated back from the storage device to the SSD, which can be written specifically To the second storage space.
  • the SSD management solution provided by the foregoing embodiments of the present invention may be implemented by an SSD. Combined with the schematic diagram of the SSD structure shown in FIG. 1, it can be specifically implemented by a solid-state hard disk controller.
  • the solid-state hard disk controller in the embodiment of the present invention may be a CPU, FPGA, or ASIC, or a combination of the foregoing.
  • an embodiment of the present invention provides a solid-state hard disk controller 1200, including a detection circuit 1201 and an enable circuit 1202; wherein the detection circuit 1201 is used to detect the use of the first storage space of the SSD The condition meets the preset condition; the enabling circuit 1202 is used to make the first storage space work in the second mode to obtain the second storage space.
  • the solid-state hard disk controller 1200 further includes a backup circuit for backing up data in the first storage space. In another implementation, the backup circuit is used to back up valid data in the first storage space.
  • the solid-state hard disk controller 1200 may be used to implement various functions provided by the SSD in the embodiment of the present invention.
  • a solid-state hard disk management device 1300 includes a detecting unit 1301 and an enabling unit 1302; wherein, the detecting unit 1301 is configured to detect that the usage status of the first storage space of the SSD meets the preset condition; The enabling unit 1302 is configured to make the first storage space work in the second mode to obtain the second storage space. Further, the solid-state hard disk management device 1300 further includes a backup unit for backing up data in the first storage space. In another implementation, the backup unit is used to back up valid data in the first storage space.
  • the solid-state hard disk management apparatus 1300 provided in the embodiment of the present invention may be implemented by hardware, or may be implemented by software, or implemented by a combination of software and hardware. The solid-state hard disk management apparatus 1300 may be used to implement various functions provided by the SSD in the embodiment of the present invention.
  • an embodiment of the present invention also provides a computer-readable storage medium.
  • the computer-readable storage medium contains program instructions, and the solid-state hard disk controller executes the program instructions to implement the SSD management solution provided by the embodiments of the present invention.
  • computing program products can provide SSD firmware.
  • the embodiments of the present invention also provide a computer program product.
  • the computer program product contains program instructions, and the solid-state hard disk controller executes the program instructions to implement the SSD management solution provided by the embodiments of the present invention.
  • computing program products can provide SSD firmware.
  • the electronic device detects that the usage status of the first storage space of the SSD meets the preset condition; the electronic device instructs the SSD to make the first storage space Work in the second mode to get the second storage space.
  • the electronic device detects that the usage status of the first storage space of the SSD meets the preset condition; wherein, the first storage space is working in the first mode; based on the detection result, an instruction is sent to the SSD to make the first storage space work
  • the second storage space is obtained in the second mode; wherein the number of bits that can be stored in one unit cell of the first storage space is greater than the number of bits that can be stored in one unit cell of the second storage space.
  • the SSD receives the instruction sent by the electronic device, and based on the instruction, the first storage space of the SSD working in the first mode is operated in the second mode to obtain the second storage space; wherein, a cell of the first storage space
  • the number of bits that can be stored is greater than the number of bits that can be stored in one unit cell of the second storage space.
  • the instruction sent by the electronic device to the SSD may include the information of the second mode, such as the type of the cell. Specifically, the instruction may use a specific value to represent the second mode information.
  • the SSD stores the mode conversion information of the first storage space, and the SSD performs mode conversion sequentially based on instructions sent by the electronic device.
  • the mode conversion information includes TLC, MLC, and SLC.
  • the first storage space works in TLC.
  • the electronic device sends an instruction for the first time to make the first storage space work in the MLC to obtain the second storage space, and when the electronic device sends the instruction again, it makes the second storage space work in the SLC to obtain the third storage space.
  • the electronic device or the SSD before the first storage space is operated in the second mode based on the instruction, the electronic device or the SSD backs up the data in the first storage space. Before making the first storage space work in the second mode, back up the data in the first storage space to prevent data loss.
  • data can be backed up to cloud storage or other storage devices.
  • the electronic device or the SSD before the first storage space is operated in the second mode based on the instruction, the electronic device or the SSD backs up the valid data in the first storage space.
  • the effective data in the first storage space is backed up, which reduces the amount of backup data while preventing data loss.
  • valid data can be backed up to cloud storage or other storage devices.
  • the electronic device needs to obtain the usage status of the first storage space of the SSD. Specifically, the electronic device may monitor the usage status of the first storage space of the SSD, or the SSD can report the usage status of the first storage space. After the first storage space of the SSD works in the second mode and the second storage space is obtained, the storage capacity of the second storage space is reported to the electronic device. Regarding the usage status, reference may be made to the description of the previous embodiment of the present invention for details.
  • the first storage space and the second storage space are physical spaces in which the SSD stores data.
  • One of the implementations is that the actual storage capacity of the storage space is greater than the available storage capacity, that is, the storage space is equal to the sum of the storage space corresponding to the available storage capacity and the reserved space (Over-provisioning, OP).
  • the capacity is equal to the sum of the usable storage capacity and the capacity of the reserved space; in another implementation, the storage space is the storage space corresponding to the usable storage capacity.
  • the embodiment of the present invention does not limit this.
  • the disclosed system, device, and method may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • the functional units in the various embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of the present invention essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present invention.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program code .

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

提供了一种固态硬盘管理方案,检测到SSD的第一存储空间的使用状况符合预设条件;其中,所述第一存储空间工作在第一模式;基于上述检测结果使所述第一存储空间工作在第二模式得到第二存储空间;其中,所述第一存储空间的一个单元cell能够存储的比特数量大于所述第二存储空间的一个单元cell能够存储的比特数量。

Description

一种固态硬盘管理方法及固态硬盘 技术领域
本申请涉及存储技术领域,特别涉及一种固态硬盘管理方法及固态硬盘。
背景技术
固态硬盘(Solid State Drive,SSD)多使用NAND Flash(与非门闪存)来实现,NAND Flash是一种非易失性随机访问存储介质,其特点是断电后数据不消失,它不同于传统的易失性随机访问存储介质和挥发性存储器如DRAM和SRAM等,因此可以作为持久化存储器使用。
SSD的单位容量由单个单元Cell能够存储的比特数量决定。随着NAND Flash的发展,单元已经发展到四级单元(Quad Level Cell,QLC)。但在NAND Flash的cell的容量在不断提升的同时,也面临着使用寿命不断降低的问题。通常达到预定使用寿命的SSD,不能继续使用。
发明内容
本申请提供了一种固态硬盘管理方法及固态硬盘SSD,可以提升固态硬盘SSD的使用寿命,同时还可以提供额外的存储容量。
第一方面,本发明提供一种固态硬盘管理方法,所述方法包括:
检测到SSD的第一存储空间的使用状况符合预设条件;其中,所述第一存储空间工作在第一模式;
基于上述检测结果使所述第一存储空间工作在第二模式得到第二存储空间;其中,所述第一存储空间的一个单元cell能够存储的比特数量大于所述第二存储空间的一个单元cell能够存储的比特数量。由于具有较大容量的cell的使用寿命要比具有较小容量的cell的使用寿命短,但较大容量的cell可以作为较小容量的cell使用。本发明中不同模式对应不同的cell的容量。Cell的容量,即cell能够存储的比特数量。在SSD的第一存储空间使用状况符合预设条件时,使SSD的第一存储工作在第二模式,由于第二模式对应的cell的容量小于第一模式对应的cell的容量。存储空间随着cell容量的减少,存储空间也减少,因此,相对工作在第一模式的第一存储空间,第一存储空间工作在第二模式后得到第二存储空间,即第二模式对应第二存储空间。随着cell容量的减少,存储空间的使用寿命增加,从而延长了SSD的使用寿命。同时在第一存储空间使用状况符合预设条件之前,第一存储空间可以提供第一模式下的容量,使第一存储空间工作在第二模式得到第二存储空间。在延长使用寿命的同时,还可以提供额外的第二存储空间。因此在延长使用寿命的同时,还可以提供额外的存储容量。
第一存储空间工作在第一模式是指第一存储空间中的cell能够存储的比特数量,也即第一存储空间以第一类型的cell提供数据存储;第二存储空间工作在第二模式是指第二存储空间中cell能够存储的比特数量,即第二存储空间以第二类型的cell提供 数据存储。本发明实施例中所称的模式对应cell的类型。存储空间工作在某一种模式是指存储空间以某一类型的cell提供数据存储。存储空间以某一类型的cell提供数据并不要求cell的物理结构就是该类型的cell。例如,存储空间工作在MLC,即存储空间以MLC类型的cell提供数据存储时,存储空间中的cell的物理结构可以是QLC或者TLC。当存储空间中的cell的物理结构是QLC时,存储空间以MLC类型的cell提供数据存储时,可以只使用QLC的低2位提供数据存储服务。当存储空间中的cell的物理结构是TLC时,存储空间以MLC类型的cell提供数据存储时,可以只使用TCL的低2位提供数据存储服务。
一种实现,所述使用状况为擦写次数、写入太字节量或写入数据量。擦写次数、写入太字节量或写入数据量决定了SSD的磨损程度,体现了SSD的使用状况。
一种实现,使所述第一存储空间工作在第二模式包括将第一模式下浮栅晶体管能够存储的bit数量的低n位作为第二模式下浮栅晶体管能够存储的n bit数量,其中n为大于0的整数。具体实现,根据当前技术工艺,n可以是1、2或3。具体实现,SSD通过固件使原工作在第一模式的第一存储空间工作在第二模式得到第二存储空间;也可以通过SSD的控制器本身实现。
一种实现,所述第一存储空间为所述SSD的全部存储空间,即全部存储空间工作在第一模式。SSD的全部存储空间的使用状况符合预设条件,可以使整个SSD的存储空间工作在第二模式。
另一种实现,所述第一存储空间为所述SSD多个存储空间中的一个。
一种实现,将SSD划分为多个命名空间namespace,其中一个namespace对应的一个存储空间为第一存储空间。
另一种实现,SSD包含一个命名空间namespace,namespace对应的存储空间为第一存储空间。
一种实现,在支持区域命名空间(zoned namespace,NS)的SSD中,将一个namespace划分为多个区域zone,其中,一个zone对应的存储空间为第一存储空间。
一种实现,在支持基于键值(Key-value,KV)的SSD,SSD键值对应的可用于连续存储数据的存储空间作为对应的第一存储空间。
一种实现,所述方法还包括:在基于上述检测结果使所述第一存储空间工作在第二模式之前,备份所述第一存储空间中的数据。使第一存储空间工作在第二模式之前,将第一存储空间中的数据备份,防止数据丢失。具体实现,可以将数据备份到云存储或者其他存储设备。
另一种实现,所述方法还包括:在基于上述检测结果使所述第一存储空间工作在第二模式之前,备份所述第一存储空间中的有效数据。使第一存储空间工作在第二模式之前,将第一存储空间中有效数据备份,在防止数据丢失的同时,也减少了备份数据量。具体实现,可以将有效数据备份到云存储或者其他存储设备。
一种实现,所述第一模式为四级单元QLC,所述第二模式为三级单元TLC、多级单元MLC和单级单元SLC中的至少一种。
一种实现,所述第一模式为三级单元TLC;所述第二模式为多级单元MLC和单 级单元SLC中的至少一种。
一种实现,所述第一模式为多级单元MLC;所述第二模式为单级单元SLC。
一种实现,使用状况为第一存储空间中存储的数据的更新频率。当更新频率符合预设条件,使第一存储空间工作在第二模式得到第二存储空间;其中,预设条件为预定阈值。本另一种实现,使用状况为第一存储空间存储的数据的性质。当存储的数据的性质符合预设条件,使第一存储空间工作在第二模式,其中,预设条件为元数据、纠删码(Erasure Coding,EC)中的校验数据或独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)中的校验数据。即第一存储空间中存储的数据的性质为元数据、EC中的校验数据或RAID中的校验数据,元数据、EC中的校验数据或RAID中的校验数据更新频率高。具体的,SSD包含多个存储空间,每一个存储空间用于存储一个流的数据,其中一个存储空间为第一存储空间。
一种实现,使用状况为第一存储空间中存储的数据的出错率。当第一存储空间中存储的数据的出错率符合预设条件,使第一存储空间工作在第二模式。
第二方面,本发明提供了一种固态硬盘SSD,所述固态硬盘包含固态硬盘控制器和存储介质;所述固态硬盘控制器用于执行本发明第一方面及第一方面的各种实现的方案。
第三方面,本发明提供一种固态硬盘管理装置,所述固态硬盘管理装置包含多个单元,用于执行本发明第一方面及第一方面的各种实现的方案。
第四方面,本发明提供了一种固态硬盘控制器,所述固态硬盘控制器包含多种电路,用于执行本发明第一方面及第一方面的各种实现的方案。
第五方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质包含程序指令,固态硬盘的固态硬盘控制器根据所述程序指令执行本发明第一方面及第一方面的各种实现的方案。
第六方面,本发明提供了一种计算机程序产品,所述计算机程序产品包含程序指令,固态硬盘的固态硬盘控制器根据所述程序指令执行本发明第一方面及第一方面的各种实现的方案。
本发明第一方面检测到SSD的第一存储空间的使用状况符合预设条件也可以由与SSD通信的电子设备来执行。具体的,电子设备可以是存储阵列的阵列控制器、分布式存储中的存储节点或者硬盘框、服务器、笔记本电脑等。具体可以由电子设备监测SSD的第一存储空间的使用状况,或者由SSD上报第一存储空间的使用状况。电子设备检测到SSD的第一存储空间的使用状况符合预设条件;其中,所述第一存储空间工作在第一模式;基于上述检测结果向所述SSD发送指令使所述第一存储空间工作在第二模式得到第二存储空间;其中,所述第一存储空间的一个单元cell能够存储的比特数量大于所述第二存储空间的一个单元cell能够存储的比特数量。其中一种实现,电子设备向SSD发送的指令中可以包含第二模式的信息,例如cell的类型,具体在指令可以使用特定的值来表示第二模式信息。另一种实现,SSD存储有第一存储空间的模式转换信息,SSD基于电子设备发送的指令依次进行模式转换,例如模式转换信息包含TLC、MLC和SLC,初始时第一存储空间工作在TLC,电子设备第一次发送指令,使第一存储空间工作在MLC得到第二存储空间,电子设备再次发 送指令时,使第二存储空间工作在SLC得到第三存储空间
相应的,SSD接收电子设备发送的指令,基于所述指令使SSD工作在第一模式的第一存储空间工作在第二模式得到第二存储空间;其中,所述第一存储空间的一个单元cell能够存储的比特数量大于所述第二存储空间的一个单元cell能够存储的比特数量。
相应的,一种实现,所述使用状况为擦写次数、写入太字节量或写入数据量。擦写次数、写入太字节量或写入数据量决定了SSD的磨损程度,体现了SSD的使用状况。
相应的,一种实现,使所述第一存储空间工作在第二模式包括将第一模式下浮栅晶体管能够存储的bit数量的低n位作为第二模式下浮栅晶体管能够存储的n bit数量,其中n为大于0的整数。具体实现,根据当前技术工艺,n可以是1、2或3。
相应的,一种实现,所述第一存储空间为所述SSD的全部存储空间,即全部存储空间工作在第一模式。SSD的全部存储空间的使用状况符合预设条件,可以使整个SSD的存储空间工作在第二模式。
相应的,另一种实现,所述第一存储空间为所述SSD多个存储空间中的一个。
相应的,一种实现,将SSD划分为多个命名空间namespace,其中一个namespace对应的一个存储空间为第一存储空间。
相应的,另一种实现,SSD包含一个命名空间namespace,namespace对应的存储空间为第一存储空间。
相应的,一种实现,在支持区域命名空间(zoned namespace,NS)的SSD中,将一个namespace划分为多个区域zone,其中,一个zone对应的存储空间为第一存储空间。
相应的,一种实现,在支持基于键值(Key-value,KV)的SSD,SSD键值对应的可用于连续存储数据的存储空间作为对应的第一存储空间。
相应的,一种实现,基于所述指令使所述第一存储空间工作在第二模式之前,电子设备或者SSD备份所述第一存储空间中的数据。使第一存储空间工作在第二模式之前,将第一存储空间中的数据备份,防止数据丢失。具体实现,可以将数据备份到云存储或者其他存储设备。
相应的,另一种实现,基于所述指令使所述第一存储空间工作在第二模式之前,电子设备或者SSD备份所述第一存储空间中的有效数据。使第一存储空间工作在第二模式之前,将第一存储空间中有效数据备份,在防止数据丢失的同时,也减少了备份数据量。具体实现,可以将有效数据备份到云存储或者其他存储设备。
相应的,一种实现,所述第一模式为四级单元QLC,所述第二模式为三级单元TLC、多级单元MLC和单级单元SLC中的至少一种。
相应的,一种实现,所述第一模式为三级单元TLC;所述第二模式为多级单元MLC和单级单元SLC中的至少一种。
相应的,一种实现,所述第一模式为多级单元MLC;所述第二模式为单级单元SLC。
相应的,一种实现,使用状况为第一存储空间中存储的数据的更新频率。当更新 频率符合预设条件,使第一存储空间工作在第二模式得到第二存储空间;其中,预设条件为预定阈值。本另一种实现,使用状况为第一存储空间存储的数据的性质。当存储的数据的性质符合预设条件,使第一存储空间工作在第二模式,其中,预设条件为元数据、纠删码(Erasure Coding,EC)中的校验数据或独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)中的校验数据。即第一存储空间中存储的数据的性质为元数据、EC中的校验数据或RAID中的校验数据,元数据、EC中的校验数据或RAID中的校验数据更新频率高。具体的,SSD包含多个存储空间,每一个存储空间用于存储一个流的数据,其中一个存储空间为第一存储空间。
基于电子设备实现的方案中,本发明提供了相应的电子设备,所述电子设备包含多个单元,用于执行相应的方案。
相应的,本发明提供了另一种电子设备,包含处理器和接口,处理器与接口通信,处理器用于执行相应的方案。
相应的,本发明提供一种固态硬盘管理装置,所述固态硬盘管理装置包含多个单元,用于执行相应的方案。
相应的,本发明提供了一种固态硬盘控制器,所述固态硬盘控制器包含多种电路,用于执行相应的方案。
相应的,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质包含程序指令,固态硬盘的固态硬盘控制器根据所述程序指令执行相应的方案。
相应的,本发明提供了一种计算机程序产品,所述计算机程序产品包含程序指令,固态硬盘的固态硬盘控制器根据所述程序指令执行相应的方案。
附图说明
图1为本发明实施例SSD结构示意图;
图2为本发明实施例浮栅晶体管结构示意图;
图3为本发明实施例流程示意图;
图4为本发明实施例支持多命名空间的SSD示意图;
图5为本发明实施例支持区域命名空间的SSD示意图;
图6为本发明实施例支持基于键值的SSD示意图;
图7为本发明实施例SSD转换的模式、容量和擦写次数示意图;
图8为本发明实施例使能第一存储空间工作在第二模式示意图;
图9为本发明实施例SSD数据备份关系示意图;
图10为本发明实施例SSD数据备份关系示意图;
图11为本发明实施例电子设备结构示意图;
图12为本发明实施例固态硬盘控制器结构示意图;
图13为本发明实施例固态硬盘管理装置结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
通常SSD以页(page)为最小读写单元,以块(block)为擦除单元,SSD可以实现通道(channel)、颗粒封装(package)、闪存芯片NAND Flash、颗粒(die)、闪存片(plane)等多个级别的数据访问的并行。SSD以多通道方式组织闪存颗粒封装,每个通道上可连接多个颗粒封装,多颗粒封装之间共享传输通道,但可独立执行指令。图1为本发明实施例提供的一种SSD结构示意图,包含接口101、固态硬盘控制器102、channel103、封装104。其中,一个封装104中包含多个闪存芯片,每一个闪存芯片包含一个或多个颗粒,每一个颗粒包含多个闪存片,每一个闪存片包含多个块,每一个块包含多个页,每一个页包含多个单元cell。Cell是SSD的最小存储单位,一个cell中可以存储1比特(bit)或多bit数据。其中,接口101可以是支持串行连接小型计算机系统接口(Serial Attached Small Computer System Interface,SAS)协议、非易失性内存快速(Non-Volatile Memory Express,NVMe)协议或者快速外设互联(Peripheral Component Interconnect Express,PCIe)协议的接口等。标准的SSD的接口101对外提供块接口,即提供逻辑块地址(Logical Block Address,LBA)。固态硬盘控制器102使用闪存转换层(Flash Translation Layer,FTL)将LBA映射到的物理地址。SSD还可以支持其他接口,例如,支持开放通道(open channel)接口的SSD等,本发明实施例对此不作限定。
SSD中的NAND Flash的基本存储单元是浮栅晶体管,一个浮栅晶体管对应一个cell。浮栅晶体管的结构如图2的所示,从上至下包含控制栅极、氧化层、浮栅层(Floating Gate)、隧道氧化层,最下面是源极、漏极和衬底。其中,在源极(Source)和漏极(Drain)之间电流单向传导的晶体管上形成存储电子的浮栅层,浮栅层上下被绝缘层包围,从而使电子易进难出,存储在里面的电子不会因为掉电而消失,所以闪存是非易失性存储器。浮栅晶体管通过对浮栅层进行充放电子来实现对浮栅晶体管写入和擦除数据。在写入数据的时候,在控制栅极施加正电压,使电子通过绝缘层进入浮栅层,即写入数据的过程是充电过程。擦除数据时,在衬底加正电压,使电子从浮栅层的绝缘层穿过,从而把电子从浮栅层中释放。数据是以0和1二进制进行保存的,根据浮栅层中有没有电子两种状态,可以表示数据的0和1,这样就可以进行数据的存储。一般把有电子的状态记为0,没有电子的状态记为1。由于同一个物理块的浮栅晶体管位于同一个衬底,因此,在将电子从浮栅层中释放时,会将同一个物理块上所有电子释放,即在擦除数据时,会擦除整个物理块的数据。
目前根据单元cell能够存储的比特(bit)数量的不同,可以分为以下类型的单元:单级单元(Single Level Cell,SLC)、多级单元(Multi-Level Cell,MLC)、三级单元(Triple Level Cell,TLC)和四级单元(Quad Level Cell,QLC)。Cell能够存储的bit数量也称为cell的容量。其中,SLC,每个单元能够存储1bit数据,即一个浮栅晶体管通过将浮栅层中有无1个电子2种状态表示存储的1bit数据。因此,SLC对应的浮栅晶体管可以存储的1bit数据可以用0和1来表示。MLC,每个单元能够存储2bit数据,即一个浮栅晶体管通过将浮栅层中的是否有最多2个电子的4种状态表示2bit数据。因此,MLC对应的浮栅晶体管可以存储的2bit数据可以用00、01、10、11来表示。TLC,每个单元能够存储3bit数据,即一个浮栅晶体管通过将浮栅层中的是否有最多3个电子的8种状态表示3bit数据。因此,TLC对应的浮栅晶体 管可以存储的3bit数据可以用000、001、010、011、100、101、110、111来表示。QLC,每个单元能够存储4bit数据,即一个浮栅晶体管通过将浮栅层中的是否有最多4个电子的16种状态表示4bit数据。
如上所述,在向浮栅晶体管存储数据时,需要使电子穿过浮栅层的绝缘层进入浮栅层,从浮栅晶体管擦除数据时,需要使电子穿过浮栅层的绝缘层从浮栅层中释放。通常浮栅层的绝缘层的厚度只有10纳米。因此,数据写入或擦除时,每次电子穿越浮栅层的绝缘层,就会造成浮栅层的绝缘层损耗变薄。绝缘层损耗变薄后,电子可能会滞留在绝缘层,为完成数据写入,需要增加写入电压,即编程电压,从而导致数据写入时间变长,最后导致严重影响性能无法使用。同时,在这种情况下,在增加写入电压的情况下,也会给绝缘层带来更多压力,加速了损耗。数据擦除操作同样有上述问题。基于上述原理,浮栅晶体管的浮栅层能够存储的电子数量越多,但随着数据写入或擦除,绝缘层损耗变薄或被击穿的可能速度越快,导致使用寿命越短。通常,工作在QLC的SSD支持的擦写次数为300次,工作在TLC的SSD支持的擦写次数为1000次,工作在MLC的SSD支持的擦写次数为3000次,工作在SLC的SSD支持的擦写次数为10000次。因此,由于数据擦写导致SLC、MLC、TLC和QLC的使用寿命随着cell的容量的依次增加而递减。因此,擦写次数、写入太字节量(Terabytes Written,TBW)或写入数据量等可以作为衡量SSD使用状况的参数。
本发明实施例SSD基于第一存储空间的使用状况,使原来工作在具有较大容量的cell的模式的第一存储空间工作在具有较小容量的cell的模式得到第二存储空间,即第一存储空间以第一类型的cell提供数据存储,基于第一存储空间的使用状况,使第一存储空间以第二类型的cell提供数据存储得到容量较小的第二存储空间,从而延长SSD的使用寿命,进而在延长使用寿命的同时,进一步提供额外的第二存储空间。本发明实施例中cell的容量用cell能够存储的bit数量来表示,例如1bit,2bit,3bit或4bit。Cell能够存储的bit数量也称为cell能够存储的位数或比特数。
本发明实施例中所称的模式对应cell的类型。存储空间工作在某一种模式是指存储空间以某一类型的cell提供数据存储。本发明实施例存储空间以某一类型的cell提供数据并不要求cell的物理结构就是该类型的cell。例如,存储空间工作在MLC,即存储空间以MLC类型的cell提供数据存储时,存储空间中的cell的物理结构可以是QLC或者TLC。当存储空间中的cell的物理结构是QLC时,存储空间以MLC类型的cell提供数据存储时,可以只使用QLC的低2位提供数据存储服务。当存储空间中的cell的物理结构是TLC时,存储空间以MLC类型的cell提供数据存储时,可以只使用TCL的低2位提供数据存储服务。
本发明实施例的流程示意图如图3所示,包括:
步骤301:检测到SSD的第一存储空间的使用状况符合预设条件;
其中,所述第一存储空间工作在第一模式。
可选的,使用状况为擦写次数、TWB或写入数据量,预设条件为预定的阈值。
具体的,使用状况为擦写次数、TWB或写入数据量中的一种或多种组合,也可以为这三个当中最先达到的一个。
步骤302:基于上述检测结果使第一存储空间工作在第二模式得到第二存储空 间。
第一存储空间工作在第一模式,第一存储空间工作在第二模式后,导致第一存储空间发生变化得到第二存储空间。具体实现下面实施例将具体描述。
其中,所述第一存储空间的一个单元cell能够存储的bit数量大于所述第二存储空间的一个单元cell能够存储的bit数量。
本发明实施例中第一模式可以为QLC、TLC或MLC中的一种。随着技术的进步,第一模式还可以为单元能够存储更大容量的模式。本发明实施例对此不作限定。
本发明其中一个实施例中当第一模式为QLC时,第二模式可以为TLC、MLC和SLC中的至少一种。
本发明其中一个实施例中当第一模式为TLC时,第二模式可以为MLC和SLC中的至少一种。
本发明其中一个实施例中当第一模式为MLC时,第二模式可以为SLC。
由于具有较大容量的cell的使用寿命要比具有较小容量的cell的使用寿命短,但具有较大容量的cell可以作为具有较小容量的cell使用。在SSD的第一存储空间使用状况符合预设条件时,使原来工作在具有较大容量的cell的模式的第一存储空间工作在具有较小容量的cell的模式得到第二存储空间,从而延长了SSD的使用寿命。同时在第一存储空间使用状况符合预设条件之前,第一存储空间可以提供第一模式下的容量,第一存储空间工作在第二模式,即第一存储空间工作在较小容量的cell模式后得到容量较小的第二存储空间。在延长SSD的使用寿命的同时,可以额外提供第二存储空间,因此在延长使用寿命的同时,还可以提供额外的存储容量。
具体实现,本发明实施例可以将预设条件设定为SSD对用户承诺的标准条件,如特定使用寿命,具体可以体现为擦写次数、写入数据量或写入字字节数。这样在符合预设条件后,用户在使用完厂商承诺的使用寿命的SSD的存储容量后,还可以继续使用工作在第二模式的存储空间,延长了SSD的使用寿命的同时,还可以为用户提供额外的存储空间。
具体的,本发明实施例提供的SSD可以用于公用云中,例如可以为公有云中的虚拟机(Virtual Machine,VM)提供存储资源,也可以用于云存储服务中。公有云通常指第三方提供商为用户提供的能够使用的云。
本发明一个实施例中,第一存储空间可以为SSD的存储空间,即SSD的全部空间。本发明另一个实施例中,第一存储空间可以为SSD的多个存储空间中的一个。
如图4所示,本发明一个实施例提供的SSD为支持NVMe协议的SSD,SSD可以提供多个命名空间namespace,一个namespace对应的存储空间为第一存储空间。因此,本发明实施例可以以namespace对应的存储空间为粒度根据本发明实施例提供的SSD管理方法以SSD进行管理。另一种实现,SSD只提供一个namespace,namespace对应的存储空间为第一存储空间。
如图5所示,本发明一个实施例提供的SSD为支持区域命名空间(zoned namespace,NS)的SSD,将一个namespace划分为多个区域(zone),一个zone对应的存储空间为第一存储空间,因此本发明实施例可以以zone对应的存储空间为粒度根据本发明实施例提供的SSD管理方法以SSD进行管理。
如图6所示,本发明一个实施例提供的SSD为支持基于键值(Key-value,KV)的SSD,键Key对应的可用于连续存储数据的存储空间作为一个第一存储空间,本发明实施例可以以用于连续存储数据的存储空间为粒度根据本发明实施例提供的SSD管理方法以SSD进行管理。
本发明实施例可以设置多个预设条件,例如第一预设条件和第二预设条件。例如,第一存储空间初始时工作在QLC,当使用状况符合第一预设条件,使第一存储空间工作在TLC得到第二存储空间,即第一存储空间工作在TLC时,由于容量变小,得到第二存储空间;当使用状况符合第二预设条件,使第二存储空间工作在MLC得到第三存储空间,即第二存储空间工作在MLC时,由于容量变小,得到第三存储空间。
本发明另一实施例,使用状况为第一存储空间中存储的数据的更新频率。当更新频率符合预设条件,使第一存储空间工作在第二模式,第二模式对应第二存储空间。由于第一模式对应的cell的容量大于第二模式对应的cell的容量,第一存储空间工作在第二模式后得到存储容量较小的第二存储空间;其中,预设条件为预定阈值。本发明另一实施例,使用状况为第一存储空间存储的数据的性质。当存储的数据的性质符合预设条件,使第一存储空间工作在第二模式得到第二存储空间,由于第一模式对应的cell的容量大于第二模式对应的cell的容量,第一存储空间工作在第二模式后得到存储容量较小的第二存储空间。其中,预设条件为元数据、纠删码(Erasure Coding,EC)中的校验数据或独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)中的校验数据中的一种或多种。即第一存储空间中存储的数据的性质为元数据、EC中的校验数据或RAID中的校验数据,使第一存储空间工作在第二模式,得到第二存储空间。具体的,由于第一模式对应的cell的容量大于第二模式对应的cell的容量,第一存储空间工作在第二模式后,存储容量变小得到第二存储空间,元数据、EC中的校验数据或RAID中的校验数据更新频率高。第一存储空间存储更新频率高的数据对第一存储空间的磨损程序高。具体实现,SSD包含多个存储空间,每一个存储空间用于存储一个流的数据,其中一个存储空间为第一存储空间。
本发明另一实施例,使用状况为第一存储空间中存储的数据的出错率。当第一存储空间中存储的数据的出错率符合预设条件,使第一存储空间工作在第二模式。
本发明另一实施例,第一存储空间的使用状态符合预设条件,使第一存储空间工作在第二模式得到第二存储空间。具体的,由于第一模式对应的cell的容量大于第二模式对应的cell的容量,第一存储空间工作在第二模式后,得到存储容量较小的第二存储空间,第二存储空间可以包含工作在不同模式的多个子空间。例如,第一存储空间工作在QLC,当使用状况符合预设条件,使第一存储空间的一部分工作在TLC得到子空间1,另一部分工作在MLC得到子存储空间2。
由于第一存储空间开始工作在第一模式,第一存储空间的使用状况符合预设条件后,使第一存储空间工作在第二模式得到第二存储空间,第一存储空间的cell中存储的bit数量多于第二空间的cell中存储的bit数量,因此第一存储空间工作在第二模式后容量变小得到第二存储空间。例如,第一模式为QLC,第二模式为TLC。因为一个cell对应一个浮栅晶体管,支持QLC的浮栅晶体管能够存储4bit数据,而支持 TLC的浮栅晶体管能够支持3bit数据。因此,第一空间工作在QLC,第一存储空间的使用状态符合预设条件,使第一存储空间工作在TLC。第一存储空间工作在TLC后得到第二存储空间,由于TLC的容量是QLC容量的3/4,因此存储空间变小,第二存储空间的容量变为第一存储存储容量的3/4。
本发明一个实施例以SSD的容量为1024吉字节(Gigabyte,GB)为例,1024GB的容量即1太字节(Trillionbyte,TB)。向用户承诺容量为1TB的SSD,预设条件为擦写次数。以1TB为第一存储空间,初始状态的SSD工作在QLC,即第一存储空间工作在QLC。第一预设条件(即向用户承诺的擦写次数)为300次,第二预设条件为1000次,第三预设条件为3000次。其中,第一预设条件为对用户承诺可擦写次数。根据前面实施例描述的SSD管理方案,第一存储空间为1TB存储空间,当第一存储空间的使用状况符合预设条件,即擦写次数达到300次,使第一存储空间工作在TLC得到第二存储空间。第一存储空间工作在TLC后,由于TLC的容量是QLC容量的3/4,因此存储空间变小,第二存储空间的容量为1TB(1024GB)*3/4=768GB;当第二存储空间的使用状况符合第二预设条件,即擦写次数达到1000次,使第二存储空间工作在MLC得到第三存储空间。第二存储空间工作在MLC后,由于MLC的容量是TLC容量的2/3,因此存储空间变小,第三存储空间的容量为768GB*2/3=512GB;当即第三存储空间的使用状况符合预设条件,即擦写次数达到3000次,使第三存储空间工作在SLC得到第四存储空间。第三存储空间工作在SLC后,由于SLC的容量是MLC容量的1/2,因此存储空间变小,第四存储空间的容量为512GB*1/2=256GB,通常SLC的可擦写次数为10000。具体如图7所示,本发明实施例提供的SSD,除可以提供向用户承诺的擦写次数以及存储空间外,还可以提供额外的存储空间和擦写次数。其中,额外的存储空间的容量为768GB+512GB+256GB=1024GB,即1TB;额外擦写次数为1000+3000+10000=14000次。因此,本发明实施例可以提供额外的擦写次数,即延长了SSD的使用寿命;同时提供了额外的存储空间。本发明上述实施例作为一种示例性的实现方式,并不限定本发明第二模式的选择顺序。例如,第一模式可以为QLC,第二模式为MLC;第一模式为QLC,第二模式为SLC;第一模式为TLC,第二模式为MLC等。
本发明实施例中,使所述第一存储空间工作在第二模式,具体实现,可以将第一模式下浮栅晶体管能够存储的bit数量的低n位作为第二模式下浮栅晶体管能够存储的n bit数量,从而实现将第一存储空间工作在第二模式得到第二存储空间。即由于第一存储工作在第二模式后,第一存储空间的cell中存储的bit数量多于第二空间的cell中存储的bit数量,因此第一存储空间工作在第二模式后容量变小得到第二存储空间。其中n为大于0的整数。具体实现,根据现在技术工艺,n可以是1、2或3。本发明实施例对此不作限定。具体实现,SSD通过固件使原工作在第一模式的第一存储空间工作在第二模式得到第二存储空间;也可以通过SSD的控制器本身实现。
例如,第一模式为QLC,在QLC模式下浮栅晶体管能够存储4bit;第二模式为TLC,在TLC模式下浮栅晶体管能够存储3bit。在这种场景下,第一存储空间工作在第二模式,如图8所示,具体为将QLC的浮栅晶体管能够存储的bit数量的低3位作为TLC的浮栅晶体管能够存储的bit数量。在具体实现过程中,可以设置擦写参数、 读取参数,从而控制对浮栅晶体管相应的bit位的操作。
本发明实施例中,第一存储空间的使用状况符合预设条件,使第一存储空间工作在第二模式得到第二存储空间。第一存储空间工作在第二模式前工作在第一模式,由于第一模式对应的cell的容量大于第二模式对应的cell的容量,第一存储空间工作在第二模式后,得到第二存储空间,即前面实施例所描述的第二模式对应第二存储空间。第二存储空间的容量小于第一存储空间的容量。具体实现,SSD为第一存储空间可以设置相应的映射表,映射表用于提供使用状况、预设条件和相应的模式,SSD根据映射表实现上述各实施例。另一种实现,SSD可以提供转换表,用于提供第一存储空间的使用状况、预设条件以及相应的模式转换关系。本发明实施例对具体实现方式不作具体限定。
本发明各实施例提供的SSD管理方案,为防止数据丢失,还包括在使第一存储空间工作在第二模式之前,将第一存储空间中的数据进行备份。一种实现方法,如图9所示,SSD执行本发明实施例提供的方案,SSD在使第一存储空间工作在第二模式之前,将第一存储空间中的数据备份到存储设备。在图9所示的连接关系中,SSD与存储设备可以通过总线通信。在另外的实现方式中,如果SSD和设备具有网络接口,如以太(Ethernet)接口,SSD与存储设备可以通过网络通信,从而实现将SSD的第一存储空间的数据备份到存储设备。另一种实现,如图10所示,SSD和存储设备均与电子设备通信,电子设备将SSD第一存储空间中的数据备份到存储设备。其中,电子设备可以是主机、存储阵列的阵列控制器、分布式存储系统中的存储节点、存储系统中的硬盘框、服务器或笔记本电脑等。如图11所示,电子设备包含接口1101和处理器1102,其中,接口1101和处理器1102通信,处理器1102用于实现电子设备相应的功能。接口1101可以是网络接口控制器、主机适配器或者总线级接口等,本发明实施例对此不作限制。总线级接口可以是高速串行计算机扩展总线(Peripheral Component Interconnect Express,PCIE)接口。接口1101还可以是其他用于与SSD通信的接口。电子设备通过接口与SSD通信。处理器1102可以是中央处理器(Central Processing Unit,CPU)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者专用集成电路(Application-specific integrated circuit,ASIC),也可以是上述多种的组合。本发明实施例还包括:SSD第一存储空间的工作在第二模式得到第二存储空间后,向电子设备上报第二存储空间的容量。图9和图10中的存储设备可以是SSD或机械盘等,也可以是与备份电子设备通信的存储系统。另一种实现,图9和图10中的存储设备可以是云存储系统。将SSD的第一存储空间中的数据备份,从而防止在使第一存储空间工作在第二模式得到第二存储空间,第一存储空间中的数据丢失。进一步的,图9和图10所示的系统中,可以只备份SSD的第一存储空间中存储的有效数据,从而减少需要备份的数据量,提高数据备份效率,节省存储空间。本发明实施例中,将数据或有效数据备份到存储设备,使第一存储空间工作在第二模式得到第二存储空间后,还可以将数据或有效数据从存储设备回迁到SSD,具体可以写到第二存储空间。
本发明上述实施例提供的SSD的管理方案,可以由SSD来实现。结合图1所示的SSD的结构示意图,具体可以由固态硬盘控制器实现。本发明实施例中的固态硬 盘控制器可以为CPU、FPGA或者ASIC,也可以是上述多种的组合。
相应的,如图12所示,本发明实施例提供了固态硬盘控制器1200,包含检测到电路1201和使能电路1202;其中,检测到电路1201用于检测到SSD的第一存储空间的使用状况符合预设条件;使能电路1202用于使第一存储空间工作在第二模式得到第二存储空间。进一步的,固态硬盘控制器1200还包括备份电路,用于备份第一存储空间中的数据。另一种实现,备份电路用于备份第一存储空间中的有效数据。固态硬盘控制器1200可以用于实现本发明实施例SSD提供的各种功能。
相应的,如图13所示,一种固态硬盘管理装置1300,包括检测单元1301和使能单元1302;其中,检测单元1301用于检测到SSD的第一存储空间的使用状况符合预设条件;使能单元1302用于使第一存储空间工作在第二模式得到第二存储空间。进一步的,固态硬盘管理装置1300还包括备份单元,用于备份第一存储空间中的数据。另一种实现,备份单元用于备份第一存储空间中的有效数据。本发明实施例提供的固态硬盘管理装置1300可以是硬件实现,也可以是由软件实现,或者由软件与硬件结合实现。固态硬盘管理装置1300可以用于实现本发明实施例SSD提供的各种功能。
相应的,本发明实施例还提供了计算机可读存储介质,计算机可读存储介质包含程序指令,固态硬盘控制器执行程序指令用于实现本发明实施例提供的SSD管理方案。具体实现,计算程序产品可以提供SSD的固件。
相应的,本发明实施例还提供了计算机程序产品,计算机程序产品包含程序指令,固态硬盘控制器执行程序指令用于实现本发明实施例提供的SSD管理方案。具体实现,计算程序产品可以提供SSD的固件。
结合图10所示的SSD与电子设备的连接关系,在本发明另一实施例中,电子设备检测到SSD的第一存储空间的使用状况符合预设条件;电子设备指令SSD使第一存储空间工作在第二模式得到第二存储空间。电子设备检测到SSD的第一存储空间的使用状况符合预设条件;其中,所述第一存储空间工作在第一模式;基于上述检测结果向所述SSD发送指令使所述第一存储空间工作在第二模式得到第二存储空间;其中,所述第一存储空间的一个单元cell能够存储的比特数量大于所述第二存储空间的一个单元cell能够存储的比特数量。相应的,SSD接收电子设备发送的指令,基于所述指令使SSD工作在第一模式的第一存储空间工作在第二模式得到第二存储空间;其中,所述第一存储空间的一个单元cell能够存储的比特数量大于所述第二存储空间的一个单元cell能够存储的比特数量。其中一种实现,电子设备向SSD发送的指令中可以包含第二模式的信息,例如cell的类型,具体在指令可以使用特定的值来表示第二模式信息。另一种实现,SSD存储有第一存储空间的模式转换信息,SSD基于电子设备发送的指令依次进行模式转换,例如模式转换信息包含TLC、MLC和SLC,初始时第一存储空间工作在TLC,电子设备第一次发送指令,使第一存储空间工作在MLC得到第二存储空间,电子设备再次发送指令时,使第二存储空间工作在SLC得到第三存储空间。
相应的,一种实现,基于所述指令使所述第一存储空间工作在第二模式之前,电子设备或者SSD备份所述第一存储空间中的数据。使第一存储空间工作在第二模式 之前,将第一存储空间中的数据备份,防止数据丢失。具体实现,可以将数据备份到云存储或者其他存储设备。
相应的,另一种实现,基于所述指令使所述第一存储空间工作在第二模式之前,电子设备或者SSD备份所述第一存储空间中的有效数据。使第一存储空间工作在第二模式之前,将第一存储空间中有效数据备份,在防止数据丢失的同时,也减少了备份数据量。具体实现,可以将有效数据备份到云存储或者其他存储设备。
电子设备需要获取SSD的第一存储空间的使用状况。具体可以由电子设备监测SSD的第一存储空间的使用状况,或者由SSD上报第一存储空间的使用状况。SSD的第一存储空间工作在第二模式得到第二存储空间后,向电子设备上报第二存储空间的存储容量。关于使用状况,具体可以参考参考本发明前面实施例的描述。
本发明实施例中的第一存储空间和第二存储空间(统称为存储空间)是SSD存储数据的物理空间。其中一种实现,存储空间的实际存储容量大于用于可使用的存储容量,即存储空间等于可使用的存储容量对应的存储空间以及预留空间(Over-provisioning,OP)之和,存储空间的容量等于可使用的存储容量与预留空间的容量之和;另一种实现,存储空间为可使用的存储容量对应的存储空间。本发明实施例对此不作限定。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (53)

  1. 一种固态硬盘SSD管理方法,其特征在于,所述方法包括:
    检测到SSD的第一存储空间的使用状况符合预设条件;其中,所述第一存储空间工作在第一模式;
    基于上述检测结果使所述第一存储空间工作在第二模式得到第二存储空间;其中,所述第一存储空间的一个单元cell能够存储的比特数量大于所述第二存储空间的一个单元cell能够存储的比特数量。
  2. 根据权利要求1所述的方法,其特征在于,所述使用状况为擦写次数、写入太字节量、或写入数据量。
  3. 根据权利要求1或2所述的方法,其特征在于,所述第一存储空间为所述SSD的所有存储空间。
  4. 根据权利要求1或2所述的方法,其特征在于,所述第一存储空间为所述SSD的多个存储空间中的一个。
  5. 根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
    在基于上述检测结果使所述第一存储空间工作在第二模式之前,备份所述第一存储空间中的有效数据。
  6. 根据权利要求1或2所述的方法,其特征在于,所述第一存储空间为SSD的命名空间namespace对应的存储空间。
  7. 根据权利要求1或2所述的方法,其特征在于,所述第一存储空间为区域命名空间zoned namespace中的一个区域zone对应的存储空间。
  8. 根据权利要求1至7任一所述的方法,其特征在于,所述第一模式为四级单元QLC;所述第二模式为三级单元TLC、多级单元MLC和单级单元SLC中的至少一种。
  9. 根据权利要求1至7任一所述的方法,其特征在于,所述第一模式为三级单元TLC;所述第二模式为多级单元MLC和单级单元SLC中的至少一种。
  10. 根据权利要求1至7任一所述的方法,其特征在于,所述第一模式为多级单元MLC;所述第二模式为单级单元SLC。
  11. 根据权利要求1至10任一所述的方法,其特征在于,所述SSD用于公有云存储。
  12. 一种固态硬盘SSD,其特征在于,所述SSD包含固态硬盘控制器和存储介质,所述存储介质包含第一存储空间;所述固态硬盘控制器用于:
    检测到所述第一存储空间的使用状况符合预设条件;其中,所述第一存储空间工作在第一模式;
    基于上述检测结果使所述第一存储空间工作在第二模式得到第二存储空间;其中,所述第一存储空间的一个单元cell能够存储的比特数量大于所述第二存储空间的一个单元cell能够存储的比特数量。
  13. 根据权利要求12所述的SSD,其特征在于,所述使用状况为擦写次数、写入太字节量、写入数据量、存储的数据的更新频率或存储的数据的性质。
  14. 根据权利要求12或13所述的SSD,其特征在于,所述第一存储空间为所述 SSD的所有存储空间。
  15. 根据权利要求12或13所述的SSD,其特征在于,所述第一存储空间为所述SSD的多个存储空间中的一个。
  16. 根据权利要求11至15任一所述的SSD,其特征在于,所述固态硬盘控制器还用于在基于上述检测结果使所述第一存储空间工作在第二模式之前,备份所述第一存储空间中的有效数据。
  17. 根据权利要求12或13所述的SSD,其特征在于,所述第一存储空间为SSD的命名空间namespace对应的存储空间。
  18. 根据权利要求12或13所述的SSD,其特征在于,所述第一存储空间为区域命名空间zoned namespace中的一个区域zone对应的存储空间。
  19. 根据权利要求12至18任一所述的SSD,其特征在于,所述第一模式为四级单元QLC;所述第二模式为三级单元TLC、多级单元MLC和单级单元SLC中的至少一种。
  20. 根据权利要求12至18任一所述的SSD,其特征在于,所述第一模式为三级单元TLC;所述第二模式为多级单元MLC和单级单元SLC中的至少一种。
  21. 根据权利要求12至18任一所述的SSD,其特征在于,所述第一模式为多级单元MLC;所述第二模式为单级单元SLC。
  22. 根据权利要求12至21任一所述的SSD,其特征在于,所述SSD用于公有云存储。
  23. 一种固态硬盘管理装置,其特征在于,所述固态硬盘管理装置包含检测单元和使能单元;其中,
    所述检测单元用于检测到固态硬盘SSD的第一存储空间的使用状况符合预设条件;其中,所述第一存储空间工作在第一模式;
    所述使能单元用于基于上述检测结果使所述第一存储空间工作在第二模式得到第二存储空间;其中所述第一存储空间的一个单元cell能够存储的比特数量大于所述第二存储空间的一个单元cell能够存储的比特数量。
  24. 根据权利要求23所述的固态硬盘管理装置,其特征在于,所述使用状况为擦写次数、写入太字节量、写入数据量、存储的数据的更新频率或存储的数据的性质。
  25. 根据权利要求23或24所述的固态硬盘管理装置,其特征在于,所述第一存储空间为所述SSD的所有存储空间。
  26. 根据权利要求23或24所述的固态硬盘管理装置,其特征在于,所述第一存储空间为所述SSD的多个存储空间中的一个。
  27. 根据权利要求23至26任一所述的固态硬盘管理装置,其特征在于,所述固态硬盘管理装置还包括备份单元,所述备份单元用于备份所述第一存储空间中的有效数据。
  28. 根据权利要求23或24所述的固态硬盘管理装置,其特征在于,所述第一存储空间为SSD的命名空间namespace对应的存储空间。
  29. 根据权利要求23或24所述的固态硬盘管理装置,其特征在于,所述第一存 储空间为区域命名空间zoned namespace中的一个区域zone对应的存储空间。
  30. 根据权利要求23至29任一所述的,其特征在于,所述第一模式为四级单元QLC;所述第二模式为三级单元TLC、多级单元MLC和单级单元SLC中的至少一种。
  31. 根据权利要求23至29任一所述的固态硬盘管理装置,其特征在于,所述第一模式为三级单元TLC;所述第二模式为多级单元MLC和单级单元SLC中的至少一种。
  32. 根据权利要求23至29任一所述的固态硬盘管理装置,其特征在于,所述第一模式为多级单元MLC;所述第二模式为单级单元SLC。
  33. 根据权利要求23至32任一所述的固态硬盘管理装置,其特征在于,所述SSD用于公有云存储。
  34. 一种固态硬盘控制器,其特征在于,所述固态硬盘控制器包含检测到电路和使能电路;其中,
    所述检测到电路用于检测到固态硬盘SSD的第一存储空间的使用状况符合预设条件;其中,所述第一存储空间工作在第一模式;
    所述使能电路用于基于上述检测结果使所述第一存储空间工作在第二模式得到第二存储空间;其中,所述第一存储空间的一个单元cell能够存储的比特数量大于所述第二存储空间的一个单元cell能够存储的比特数量。
  35. 根据权利要求34所述的固态硬盘控制器,其特征在于,所述使用状况为擦写次数、写入太字节量、写入数据量、存储的数据的更新频率或存储的数据的性质。
  36. 根据权利要求34或35所述的固态硬盘控制器,其特征在于,所述第一存储空间为所述SSD的所有存储空间。
  37. 根据权利要求34或35所述的固态硬盘控制器,其特征在于,所述第一存储空间为所述SSD的多个存储空间中的一个。
  38. 根据权利要求34至37任一所述的固态硬盘控制器,其特征在于,所述固态硬盘控制器还包括备份电路,所述备份电路用于备份所述第一存储空间中的有效数据。
  39. 根据权利要求34或35所述的固态硬盘控制器,其特征在于,所述第一存储空间为SSD的命名空间namespace对应的存储空间。
  40. 根据权利要求34或35所述的固态硬盘控制器,其特征在于,所述第一存储空间为区域命名空间zoned namespace中的一个区域zone对应的存储空间。
  41. 根据权利要求34至40任一所述的固态硬盘控制器,其特征在于,所述第一模式为四级单元QLC;所述第二模式为三级单元TLC、多级单元MLC和单级单元SLC中的至少一种。
  42. 根据权利要求34至40任一所述的固态硬盘控制器,其特征在于,所述第一模式为三级单元TLC;所述第二模式为多级单元MLC和单级单元SLC中的至少一种。
  43. 根据权利要求34至40任一所述的固态硬盘控制器,其特征在于,所述第一模式为多级单元MLC;所述第二模式为单级单元SLC。
  44. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包含程序指令,固态硬盘SSD的固态硬盘控制器执行所述程序指令用于:
    检测到所述SSD的第一存储空间的使用状况符合预设条件;其中,所述第一存储空间工作在第一模式;
    基于上述检测结果使所述第一存储空间工作在第二模式得到第二存储空间;其中,所述第一存储空间的一个单元cell能够存储的比特数量大于所述第二存储空间的一个单元cell能够存储的比特数量。
  45. 根据权利要求44所述的计算机可读存储介质,其特征在于,所述使用状况为擦写次数、写入太字节量、写入数据量、存储的数据的更新频率或存储的数据的性质。
  46. 根据权利要求44或45所述的计算机可读存储介质,其特征在于,所述第一存储空间为所述SSD的所有存储空间。
  47. 根据权利要求44或45所述的计算机可读存储介质,其特征在于,所述第一存储空间为所述SSD的多个存储空间中的一个。
  48. 根据权利要求44至47任一所述的计算机可读存储介质,其特征在于,所述固态硬盘控制器执行所述程序指令还用于备份所述第一存储空间中的有效数据。
  49. 根据权利要求44或45所述的计算机可读存储介质,其特征在于,所述第一存储空间为SSD的命名空间namespace对应的存储空间。
  50. 根据权利要求44或45所述的计算机可读存储介质,其特征在于,所述第一存储空间为区域命名空间zoned namespace中的一个区域zone对应的存储空间。
  51. 根据权利要求44至50任一所述的计算机可读存储介质,其特征在于,所述第一模式为四级单元QLC;所述第二模式为三级单元TLC、多级单元MLC和单级单元SLC中的至少一种。
  52. 根据权利要求44至50任一所述的计算机可读存储介质,其特征在于,所述第一模式为三级单元TLC;所述第二模式为多级单元MLC和单级单元SLC中的至少一种。
  53. 根据权利要求44至50任一所述的计算机可读存储介质,其特征在于,所述第一模式为多级单元MLC;所述第二模式为单级单元SLC。
PCT/CN2021/078761 2020-03-30 2021-03-02 一种固态硬盘管理方法及固态硬盘 WO2021196956A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21782106.5A EP4120086A4 (en) 2020-03-30 2021-03-02 SOLID STATE DRIVE MANAGEMENT METHOD AND SOLID STATE DRIVE
US17/933,857 US20230013322A1 (en) 2020-03-30 2022-09-21 Solid state drive management method and solid state drive

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202010239685 2020-03-30
CN202010239685.0 2020-03-30
CN202010621839.2A CN113467706A (zh) 2020-03-30 2020-07-01 一种固态硬盘管理方法及固态硬盘
CN202010621839.2 2020-07-01

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/933,857 Continuation US20230013322A1 (en) 2020-03-30 2022-09-21 Solid state drive management method and solid state drive

Publications (1)

Publication Number Publication Date
WO2021196956A1 true WO2021196956A1 (zh) 2021-10-07

Family

ID=77868156

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/078761 WO2021196956A1 (zh) 2020-03-30 2021-03-02 一种固态硬盘管理方法及固态硬盘

Country Status (4)

Country Link
US (1) US20230013322A1 (zh)
EP (1) EP4120086A4 (zh)
CN (1) CN113467706A (zh)
WO (1) WO2021196956A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113360092A (zh) * 2021-05-17 2021-09-07 维沃移动通信有限公司 数据存储方法、数据存储装置和电子设备
US20230053269A1 (en) * 2021-08-16 2023-02-16 Sandisk Technologies Llc Memory device with improved endurance
CN117311647B (zh) * 2023-11-30 2024-03-15 武汉麓谷科技有限公司 一种基于ZNS固态硬盘Raid实现方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102473140A (zh) * 2009-07-17 2012-05-23 株式会社东芝 存储器管理装置
US20140149473A1 (en) * 2012-11-29 2014-05-29 Research & Business Foundation Sungkyunkwan University File system for flash memory
CN107506137A (zh) * 2017-08-11 2017-12-22 记忆科技(深圳)有限公司 一种提升固态硬盘写性能的方法
CN109491592A (zh) * 2018-09-20 2019-03-19 中山市江波龙电子有限公司 存储设备及其数据写入方法、存储装置
CN110399094A (zh) * 2019-06-06 2019-11-01 浙江大华技术股份有限公司 固态硬盘的块处理方法、装置、固态硬盘和存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8656256B2 (en) * 2010-07-07 2014-02-18 Stec, Inc. Apparatus and method for multi-mode operation of a flash memory device
JP2016004387A (ja) * 2014-06-16 2016-01-12 株式会社東芝 ストレージシステム、メモリコントローラ、および制御方法
US10007458B2 (en) * 2015-12-18 2018-06-26 Microsemi Solutions (U.S.), Inc. Method of configuring memory cells in a solid state drive based on read/write activity and controller therefor
JP7030463B2 (ja) * 2017-09-22 2022-03-07 キオクシア株式会社 メモリシステム
JP2019168937A (ja) * 2018-03-23 2019-10-03 東芝メモリ株式会社 メモリシステム、制御方法及びコントローラ

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102473140A (zh) * 2009-07-17 2012-05-23 株式会社东芝 存储器管理装置
US20140149473A1 (en) * 2012-11-29 2014-05-29 Research & Business Foundation Sungkyunkwan University File system for flash memory
CN107506137A (zh) * 2017-08-11 2017-12-22 记忆科技(深圳)有限公司 一种提升固态硬盘写性能的方法
CN109491592A (zh) * 2018-09-20 2019-03-19 中山市江波龙电子有限公司 存储设备及其数据写入方法、存储装置
CN110399094A (zh) * 2019-06-06 2019-11-01 浙江大华技术股份有限公司 固态硬盘的块处理方法、装置、固态硬盘和存储介质

Also Published As

Publication number Publication date
US20230013322A1 (en) 2023-01-19
EP4120086A4 (en) 2023-08-16
EP4120086A1 (en) 2023-01-18
CN113467706A (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
US11726688B2 (en) Storage system managing metadata, host system controlling storage system, and storage system operating method
WO2021196956A1 (zh) 一种固态硬盘管理方法及固态硬盘
CN109117084B (zh) 将逻辑储存块动态地重新调整尺寸
US10891065B2 (en) Method and system for online conversion of bad blocks for improvement of performance and longevity in a solid state drive
US8578127B2 (en) Apparatus, system, and method for allocating storage
TWI676992B (zh) 在基於快閃記憶體的儲存媒體中寫入儲存資料的方法和裝置
WO2016036715A1 (en) Process and apparatus to reduce declared capacity of a storage device by altering an encoding format
KR20210064359A (ko) 저장 시스템에서 데이터를 복원하는 방법, 시스템 및 장치
TWI536166B (zh) 記憶體管理方法、記憶體控制電路單元以及記憶體儲存裝置
US11921629B1 (en) Method and device for data storage
TWI786288B (zh) 儲存裝置、儲存裝置的控制方法及記錄媒體
EP3189438B1 (en) Triggering a process to reduce declared capacity of a storage device in a multi-storage-device storage system
TWI714840B (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
TW201606778A (zh) 記憶體系統、主機裝置、資訊處理系統
US20200233805A1 (en) Method and apparatus for performing pipeline-based accessing management in a storage server
WO2022252063A1 (zh) 数据存取方法、存储控制器和存储设备
TW202314471A (zh) 儲存裝置及其操作方法
CN117348789A (zh) 数据访问方法、存储设备、硬盘、存储系统及存储介质
WO2022143741A1 (zh) 存储设备管理方法、设备及存储系统
TW202213085A (zh) 快閃記憶體的資料儲存方法及裝置以及電腦程式產品
WO2020082888A1 (zh) 存储系统中数据恢复方法、系统及装置
WO2016036718A1 (en) Process and apparatus to reduce declared capacity of a storage device by moving data
WO2016036712A1 (en) Notification of trigger condition to reduce declared capacity of a storage device
US20230409200A1 (en) Method and device for data storage
TW202324112A (zh) 用以動態管理儲存裝置中的主機讀取運作及讀取刷新運作的方法、儲存裝置及其記錄媒體

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21782106

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021782106

Country of ref document: EP

Effective date: 20221011

NENP Non-entry into the national phase

Ref country code: DE