CN113467706A - 一种固态硬盘管理方法及固态硬盘 - Google Patents
一种固态硬盘管理方法及固态硬盘 Download PDFInfo
- Publication number
- CN113467706A CN113467706A CN202010621839.2A CN202010621839A CN113467706A CN 113467706 A CN113467706 A CN 113467706A CN 202010621839 A CN202010621839 A CN 202010621839A CN 113467706 A CN113467706 A CN 113467706A
- Authority
- CN
- China
- Prior art keywords
- storage space
- mode
- ssd
- level cell
- solid state
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 239000007787 solid Substances 0.000 title claims abstract description 68
- 238000007726 management method Methods 0.000 title claims description 26
- 238000000034 method Methods 0.000 claims abstract description 29
- 238000001514 detection method Methods 0.000 claims abstract description 22
- 238000007667 floating Methods 0.000 description 53
- 230000015654 memory Effects 0.000 description 28
- 238000013500 data storage Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 239000008187 granular material Substances 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000002035 prolonged effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7206—Reconfiguration of flash memory system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
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。
一种实现,使用状况为第一存储空间中存储的数据的更新频率。当更新频率符合预设条件,使第一存储空间工作在第二模式得到第二存储空间;其中,预设条件为预定阈值。本另一种实现,使用状况为第一存储空间存储的数据的性质。当存储的数据的性质符合预设条件,使第一存储空间工作在第二模式,其中,预设条件为元数据、纠删码(ErasureCoding,EC)中的校验数据或独立磁盘冗余阵列(Redundant Array of IndependentDisks,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。
相应的,一种实现,使用状况为第一存储空间中存储的数据的更新频率。当更新频率符合预设条件,使第一存储空间工作在第二模式得到第二存储空间;其中,预设条件为预定阈值。本另一种实现,使用状况为第一存储空间存储的数据的性质。当存储的数据的性质符合预设条件,使第一存储空间工作在第二模式,其中,预设条件为元数据、纠删码(ErasureCoding,EC)中的校验数据或独立磁盘冗余阵列(Redundant Array ofIndependent 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、channel 103、封装104。其中,一个封装104中包含多个闪存芯片,每一个闪存芯片包含一个或多个颗粒,每一个颗粒包含多个闪存片,每一个闪存片包含多个块,每一个块包含多个页,每一个页包含多个单元cell。Cell是SSD的最小存储单位,一个cell中可以存储1比特(bit)或多bit数据。其中,接口101可以是支持串行连接小型计算机系统接口(Serial Attached Small Computer SystemInterface,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的所示,从上至下包含控制栅极、氧化层、浮栅层(FloatingGate)、隧道氧化层,最下面是源极、漏极和衬底。其中,在源极(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为支持区域命名空间(zonednamespace,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 ComponentInterconnect 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。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/078761 WO2021196956A1 (zh) | 2020-03-30 | 2021-03-02 | 一种固态硬盘管理方法及固态硬盘 |
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 (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010239685 | 2020-03-30 | ||
CN2020102396850 | 2020-03-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113467706A true CN113467706A (zh) | 2021-10-01 |
Family
ID=77868156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010621839.2A Pending CN113467706A (zh) | 2020-03-30 | 2020-07-01 | 一种固态硬盘管理方法及固态硬盘 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230013322A1 (zh) |
EP (1) | EP4120086A4 (zh) |
CN (1) | CN113467706A (zh) |
WO (1) | WO2021196956A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022242640A1 (zh) * | 2021-05-17 | 2022-11-24 | 维沃移动通信有限公司 | 数据存储方法、数据存储装置和电子设备 |
CN117311647A (zh) * | 2023-11-30 | 2023-12-29 | 武汉麓谷科技有限公司 | 一种基于ZNS固态硬盘Raid实现方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230053269A1 (en) * | 2021-08-16 | 2023-02-16 | Sandisk Technologies Llc | Memory device with improved endurance |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011007599A1 (ja) * | 2009-07-17 | 2011-01-20 | 株式会社 東芝 | メモリ管理装置 |
US8656256B2 (en) * | 2010-07-07 | 2014-02-18 | Stec, Inc. | Apparatus and method for multi-mode operation of a flash memory device |
KR20140069659A (ko) * | 2012-11-29 | 2014-06-10 | 성균관대학교산학협력단 | 플래시 메모리용 파일 시스템 |
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 |
CN107506137A (zh) * | 2017-08-11 | 2017-12-22 | 记忆科技(深圳)有限公司 | 一种提升固态硬盘写性能的方法 |
JP7030463B2 (ja) * | 2017-09-22 | 2022-03-07 | キオクシア株式会社 | メモリシステム |
JP2019168937A (ja) * | 2018-03-23 | 2019-10-03 | 東芝メモリ株式会社 | メモリシステム、制御方法及びコントローラ |
CN109491592B (zh) * | 2018-09-20 | 2022-11-15 | 中山市江波龙电子有限公司 | 存储设备及其数据写入方法、存储装置 |
CN110399094A (zh) * | 2019-06-06 | 2019-11-01 | 浙江大华技术股份有限公司 | 固态硬盘的块处理方法、装置、固态硬盘和存储介质 |
-
2020
- 2020-07-01 CN CN202010621839.2A patent/CN113467706A/zh active Pending
-
2021
- 2021-03-02 WO PCT/CN2021/078761 patent/WO2021196956A1/zh unknown
- 2021-03-02 EP EP21782106.5A patent/EP4120086A4/en active Pending
-
2022
- 2022-09-21 US US17/933,857 patent/US20230013322A1/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022242640A1 (zh) * | 2021-05-17 | 2022-11-24 | 维沃移动通信有限公司 | 数据存储方法、数据存储装置和电子设备 |
CN117311647A (zh) * | 2023-11-30 | 2023-12-29 | 武汉麓谷科技有限公司 | 一种基于ZNS固态硬盘Raid实现方法 |
CN117311647B (zh) * | 2023-11-30 | 2024-03-15 | 武汉麓谷科技有限公司 | 一种基于ZNS固态硬盘Raid实现方法 |
Also Published As
Publication number | Publication date |
---|---|
EP4120086A4 (en) | 2023-08-16 |
EP4120086A1 (en) | 2023-01-18 |
WO2021196956A1 (zh) | 2021-10-07 |
US20230013322A1 (en) | 2023-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9753653B2 (en) | High-priority NAND operations management | |
CN109117084B (zh) | 将逻辑储存块动态地重新调整尺寸 | |
US9298534B2 (en) | Memory system and constructing method of logical block | |
US9606737B2 (en) | Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning | |
US9946483B2 (en) | Efficiently managing unmapped blocks to extend life of solid state drive with low over-provisioning | |
KR102275094B1 (ko) | 저장된 데이터를 플래시 메모리에 기초한 저장 매체에 기입하기 위한 방법 및 디바이스 | |
US20160342345A1 (en) | Variable Bit Encoding Per NAND Flash Cell to Improve Device Endurance and Extend Life of Flash-Based Storage Devices | |
US20230013322A1 (en) | Solid state drive management method and solid state drive | |
US9946473B2 (en) | Efficiently managing unmapped blocks to extend life of solid state drive | |
US10891065B2 (en) | Method and system for online conversion of bad blocks for improvement of performance and longevity in a solid state drive | |
KR20090042035A (ko) | 불휘발성 메모리 장치를 이용한 데이터 저장장치, 메모리시스템, 그리고 컴퓨터 시스템 | |
US10620874B2 (en) | Memory management method, memory control circuit unit and memory storage apparatus | |
CN113924546A (zh) | 非易失性存储器中的磨损感知块模式转换 | |
US12001331B2 (en) | Data storage device, operation method thereof, and storage system including the same | |
Olson et al. | Solid state drives data reliability and lifetime | |
KR20220089868A (ko) | 데이터 저장 장치 및 그 동작 방법 | |
TW202240594A (zh) | 用於管理具有動態錯誤更正碼保護之記憶體的方法及系統 | |
US12061543B2 (en) | Power loss protection in memory sub-systems | |
US11693767B2 (en) | Performing a media management operation based on changing a write mode of a data block in a cache | |
CN112068782B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
KR20210001501A (ko) | 데이터 저장 장치 및 이를 위한 컨트롤러와 그 동작 방법 | |
KR20200121068A (ko) | 데이터 저장 장치 및 이의 동작 방법, 이를 위한 컨트롤러 | |
US10430288B2 (en) | Data backup method, data recovery method and storage controller | |
US11886741B2 (en) | Method and storage device for improving NAND flash memory performance for intensive read workloads | |
CN114691014A (zh) | 存储设备管理方法、设备及存储系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |