CN115793977A - 数据存储系统、数据存储方法和存储介质 - Google Patents
数据存储系统、数据存储方法和存储介质 Download PDFInfo
- Publication number
- CN115793977A CN115793977A CN202211560099.1A CN202211560099A CN115793977A CN 115793977 A CN115793977 A CN 115793977A CN 202211560099 A CN202211560099 A CN 202211560099A CN 115793977 A CN115793977 A CN 115793977A
- Authority
- CN
- China
- Prior art keywords
- solid state
- data storage
- state disk
- mapping table
- storage system
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明实施例公开了数据存储系统、数据存储方法和存储介质。该数据存储系统包括:内存、与内存连接的至少一个第一固态硬盘以及与内存连接的一个第二固态硬盘,其中:第一固态硬盘用于存储用户数据;内存用于保存第一映射表,其中,第一映射表用于将数据存储系统接收的命令或数据所指向的逻辑块地址映射至第一固态硬盘中的物理块地址;第二固态硬盘用于在第一映射表中的第一部分映射表被修改成第二部分映射表的时候,保存第二部分映射表。当第一映射表被修改时,不占用第一固态硬盘的读写带宽,不会导致第一固态硬盘中的用户数据读写带宽降低;此外,不必考虑第二部分映射表所对应的第一固态硬盘的存储单元类型,简化固态硬盘的固件的设计复杂性。
Description
技术领域
本发明涉及数据存储领域,尤指一种数据存储系统、数据存储方法、数据存储装置和存储介质。
背景技术
固态硬盘(Solid State Drive或Solid State Disk,简称SSD)是一种以集成电路制作的电脑存储设备,其中可以用非易失性存储器(主要以闪存块中的NAND Flash)作为永久性存储设备。
在实际应用中,一个数据存储系统中常配备有多个固态硬盘,并且每个固态硬盘均配备有对应的映射表。映射表用于描述存放数据的固态硬盘中数据的逻辑块地址(LogicBlock Address,LBA)与物理块地址(Physic Block Address,PBA)的映射关系。当前固态硬盘的映射表存储方法是:将每个硬盘中的映射表加载到数据存储系统的主机端内存中;如果映射表的部分内容被修改,将被修改的部分映射表保存到对应的固态硬盘中。
这种映射表存储方法将每个固态硬盘的映射表保存在各自硬盘中,会占用当前固态硬盘的读写带宽,降低用户数据的读写速度,并且增加固态硬盘的固件设计复杂度。
发明内容
为了解决上述技术问题,本发明提供了一种数据存储系统、数据存储方法、数据存储装置和存储介质,其能够减少在映射表更新时所占用的固态硬盘的读写带宽,并且降低固态硬盘的固件设计复杂度。
为了达到本发明目的,本发明实施例提供了一种数据存储系统,包括内存,并且数据存储系统还包括与内存连接的至少一个第一固态硬盘以及与内存连接的一个第二固态硬盘,其中:
至少一个第一固态硬盘用于存储用户数据;
内存用于保存第一映射表,其中,第一映射表用于将数据存储系统接收的命令或数据所指向的逻辑块地址映射至第一固态硬盘中的物理块地址;
第二固态硬盘用于:在第一映射表中的第一部分映射表被修改成第二部分映射表的时候,保存第二部分映射表。
在一个可选的实施例中,第二固态硬盘中的全部闪存块是相同类型的闪存块;其中,闪存块的类型包括单层存储单元SLC、双层存储单元MLC、三层存储单元TLC和四层存储单元QLC类型。
在一个可选的实施例中,在至少一个第一固态硬盘中的第一数量的第一固态硬盘中的全部闪存块是相同类型的闪存块;闪存块的类型包括单层存储单元SLC、双层存储单元MLC、三层存储单元TLC和四层存储单元QLC类型;并且第二固态硬盘中的各个闪存块的类型对应的读写性能等于或者优于第一固态硬盘中的各个闪存块的类型对应的读写性能。
在一个可选的实施例中,在数据存储系统将第一映射表中的第二部分映射表存储到第二固态硬盘中之后,数据存储系统对第二固态硬盘中的闪存块进行垃圾回收。
在一个可选的实施例中,当数据存储系统对第二固态硬盘中的闪存块进行垃圾回收的时候,依次根据以下三个因素,挑选第二固态硬盘中需要进行垃圾回收的闪存块:
一、有效数据量少的闪存块;
二、擦除次数少的闪存块;
三、读取次数多的闪存块。
在一个可选的实施例中,第二固态硬盘还保存了第二映射表;其中,第二映射表用于记录第二部分映射表在第二固态硬盘中的存储位置。
为了达到上述目的,本发明实施例提供了一种数据存储方法,应用于如上述任意实施例所描述的数据存储系统。该数据存储方法包括:
数据存储系统的内存中保存数据存储系统的第一映射表,其中,第一映射表用于将数据存储系统接收的命令或数据所指向的第一固态硬盘映射至第一固态硬盘;
在第一映射表中的第一部分映射表被修改成第二部分映射表的时候,数据存储系统将第二部分映射表保存到数据存储系统中的第二固态硬盘中。
为了达到上述目的,本发明实施例提供了一种存储介质,存储有计算机可执行指令;计算机可执行指令用于在被读取执行时,进行如上述实施例所描述的数据存储方法。
为了达到上述目的,本发明实施例提供了一种数据存储装置,包括:处理器和存储器;
存储器用于保存用于进行数据存储的程序;
处理器用于读取执行用于进行数据存储的程序,进行如上述实施例所描述的数据存储方法。
在上述实施例中,内存保存了第一固态硬盘的映射表,并且第一固态硬盘用于保存用户数据,但并不用于保存自身所对应的映射表,而是由第二固态硬盘保存第一固态硬盘所对应的映射表。因此,当第一映射表中的第一部分映射表被修改为第二部分映射表的时候,不必将需保存的第二部分映射表保存这部分映射表所对应的用户数据硬盘中,而是无论哪个第一固态硬盘的映射表有改变,均将改变后的映射表保存到第二固态硬盘的映射表中,因此不会占用第一固态硬盘的读写带宽,也不会导致第一固态硬盘中的用户数据读写带宽降低。此外,由于第二固态硬盘中的闪存块的存储单元类型是相同的,因此在从内存向第二固态硬盘传输所修改的第二部分映射表的时候,不必考虑第二部分映射表所对应的第一固态硬盘的存储单元类型,因此能够简化固态硬盘的固件的设计复杂性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1示出本发明实施例提供的数据存储系统的框图;
图2示出本发明实施例提供的数据存储方法的流程图;
图3示出本发明实施例提供的数据存储装置的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
为了解决上述技术问题,本发明实施例提供了一种数据存储系统。如图1所示,该数据存储系统包括内存100、与内存100连接的至少一个第一固态硬盘200以及与内存连接的一个第二固态硬盘300。其中:
至少一个第一固态硬盘200用于存储用户数据;
内存100用于保存第一映射表110。其中,第一映射表110用于将数据存储系统接收的命令或数据所指向的逻辑块地址映射至第一固态硬盘200中的物理块地址。
第二固态硬盘300用于:在第一映射表110中的第一部分映射表被修改成第二部分映射表的时候,保存第二部分映射表。
需要说明的是,本文所指的固态硬盘均指固件位于内存100所在的主机端的固态硬盘。
此外,虽然在图1中仅示出1个第一映射表110,然而内存100可以加载不限于一个的第一映射表110,或者根据第一固态硬盘200的数量保存相应数量的第一映射表110。虽然在图1中示出2个映射表310,然而第二固态硬盘300也可以仅保存了一个或多个映射表310,或者根据第一固态硬盘200的数量保存相应数量的映射表310。
在上述实施例的数据存储系统中,内存100保存了第一固态硬盘200的映射表,并且第一固态硬盘200用于保存用户数据,但并不用于保存自身所对应的映射表,而是由第二固态硬盘300保存第一固态硬盘200所对应的映射表310。因此,当第一映射表中的第一部分映射表被修改为第二部分映射表的时候,不必将需保存的第二部分映射表保存这部分映射表所对应的用户数据硬盘中,而是无论哪个第一固态硬盘200的映射表有改变,均将改变后的映射表保存到第二固态硬盘300的映射表中,因此不会占用第一固态硬盘200的读写带宽,也不会导致第一固态硬盘200中的用户数据读写带宽降低。此外,由于第二固态硬盘300中的闪存块的存储单元类型是相同的,因此在从内存100向第二固态硬盘300传输所修改的第二部分映射表的时候,不必考虑第二部分映射表所对应的第一固态硬盘200的存储单元类型,因此能够简化固态硬盘的固件的设计复杂性。
在一个可选的实施例中,第二固态硬盘300中的全部闪存块是相同类型的闪存块;其中,闪存块的类型包括单层存储单元SLC、双层存储单元MLC、三层存储单元TLC和四层存储单元QLC类型。
在一个可选的实施例中,在至少一个第一固态硬盘200中的第一数量的第一固态硬盘200中的全部闪存块是相同类型的闪存块;闪存块的类型包括单层存储单元SLC、双层存储单元MLC、三层存储单元TLC和四层存储单元QLC类型;并且第二固态硬盘300中的各个闪存块的类型对应的读写性能等于或者优于第一固态硬盘200中的各个闪存块的类型对应的读写性能。
由于第二固态硬盘300中的各个闪存块的类型对应的读写性能等于或者优于第一固态硬盘200中的各个闪存块的类型对应的读写性能,因此能够保障第二固态硬盘300中的各个闪存块在保存所修改的第二部分映射表的时候数据存储系统的性能。
在一个可选的实施例中,在数据存储系统将第一映射表中的第二部分映射表存储到第二固态硬盘300中之后,数据存储系统对第二固态硬盘300中的闪存块进行垃圾回收。
由于在第二固态硬盘300保存第二部分映射表以更新第二固态硬盘300所保存的第二部分映射表,因此第二固态硬盘300中原先保存第一部分映射表的存储位置需要进行闪存垃圾回收,以保证第二固态硬盘300的读写性能。
在一个可选的实施例中,当数据存储系统对第二固态硬盘中的闪存块进行垃圾回收的时候,依次根据以下三个因素,挑选第二固态硬盘中需要进行垃圾回收的闪存块:
一、有效数据量少的闪存块;
二、擦除次数少的闪存块;
三、读取次数多的闪存块。
通过上述方式挑选第二固态硬盘300中需要进行垃圾回收的闪存块,可以减少为了在第二固态硬盘300中进行闪存垃圾回收所消耗的工作量,平衡第二固态硬盘300中的各个闪存块之间的读写性能,从而平衡以及延长第二固态硬盘300中的各个闪存块的工作寿命。
在一个可选的实施例中,第二固态硬盘还保存了第二映射表;其中,第二映射表用于记录第二部分映射表在第二固态硬盘中的存储位置。第二映射表被保存在第二固态硬盘中,而不是保存在各个第一固态硬盘中,当数据存储系统需要确定第二部分映射表在第二固态硬盘300中的物理块地址的时候,只需要在第二固态硬盘中读取第二映射表中的数据,而不需要在第一固态硬盘中读取第二映射表,因此不会占用第一固态硬盘200的读写带宽,也不会导致第一固态硬盘200中的用户数据读写带宽降低。此外,由于第二固态硬盘300中的闪存块的存储单元类型是相同的,因此数据存储系统在访问第二映射表的时候不必考虑第二映射表所对应的第一固态硬盘200的存储单元类型,因此能够简化固态硬盘的固件的设计复杂性。
为了解决上述技术问题,本发明实施例提供了一种数据存储方法。该数据存储方法应用于如上述实施例所描述的数据存储系统。该数据存储系统包括内存、与内存连接的至少一个第一固态硬盘以及与内存连接的一个第二固态硬盘。如图2所示,该数据存储方法包括步骤S201-S202。
步骤S201,数据存储系统的内存中保存数据存储系统的第一映射表。其中,第一映射表用于将数据存储系统接收的命令或数据所指向的第一固态硬盘映射至第一固态硬盘。
步骤S202,在第一映射表中的第一部分映射表被修改成第二部分映射表的时候,数据存储系统将第二部分映射表保存到数据存储系统中的第二固态硬盘中。
为了解决上述技术问题,本发明实施例提供了一种存储介质,存储有计算机可执行指令;该计算机可执行指令用于在被读取执行时,进行如上述实施例所描述的数据存储方法。
为了解决上述技术问题,本发明实施例提供了一种数据存储装置。如图3所示,该数据存储装置包括:处理器20和存储器10。
存储器10用于保存用于进行数据存储的程序。
处理器20用于读取执行用于进行数据存储的程序,进行如上述实施例所描述的数据存储方法。
虽然本发明所揭露的实施方式如上,但上述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (9)
1.一种数据存储系统,包括内存,其特征在于,所述数据存储系统还包括与所述内存连接的至少一个第一固态硬盘以及与所述内存连接的一个第二固态硬盘,其中:
所述至少一个第一固态硬盘用于存储用户数据;
所述内存用于保存第一映射表,其中,所述第一映射表用于将所述数据存储系统接收的命令或数据所指向的逻辑块地址映射至第一固态硬盘中的物理块地址;
所述第二固态硬盘用于:在所述第一映射表中的第一部分映射表被修改成第二部分映射表的时候,保存所述第二部分映射表。
2.根据权利要求1所述的数据存储系统,其中,所述第二固态硬盘中的全部闪存块是相同类型的闪存块;其中,所述闪存块的类型包括单层存储单元SLC、双层存储单元MLC、三层存储单元TLC和四层存储单元QLC类型。
3.根据权利要求2所述的数据存储系统,其中,在所述至少一个第一固态硬盘中的第一数量的第一固态硬盘中的全部闪存块是相同类型的闪存块;所述闪存块的类型包括单层存储单元SLC、双层存储单元MLC、三层存储单元TLC和四层存储单元QLC类型;并且所述第二固态硬盘中的各个闪存块的类型对应的读写性能等于或者优于所述第一固态硬盘中的各个闪存块的类型对应的读写性能。
4.根据权利要求1所述的数据存储系统,其特征在于,在所述数据存储系统将所述第一映射表中的第二部分映射表存储到所述第二固态硬盘中之后,所述数据存储系统对所述第二固态硬盘中的闪存块进行垃圾回收。
5.根据权利要求4所述的数据存储系统,其中,当所述数据存储系统对所述第二固态硬盘中的闪存块进行垃圾回收的时候,依次根据以下三个因素,挑选所述第二固态硬盘中需要进行垃圾回收的闪存块:
一、有效数据量少的闪存块;
二、擦除次数少的闪存块;
三、读取次数多的闪存块。
6.根据权利要求1所述的数据存储系统,其特征在于,所述第二固态硬盘还保存了第二映射表;其中,所述第二映射表用于记录所述第二部分映射表在所述第二固态硬盘中的存储位置。
7.一种数据存储方法,应用于如权利要求1-6中任意一项所述的数据存储系统,其特征在于,所述数据存储方法包括:
所述数据存储系统的内存中保存所述数据存储系统的第一映射表,其中,所述第一映射表用于将所述数据存储系统接收的命令或数据所指向的第一固态硬盘映射至所述第一固态硬盘;
在所述第一映射表中的第一部分映射表被修改成第二部分映射表的时候,所述数据存储系统将所述第二部分映射表保存到所述数据存储系统中的第二固态硬盘中。
8.一种存储介质,存储有计算机可执行指令;所述计算机可执行指令用于在被读取执行时,进行如权利要求7所述的数据存储方法。
9.一种数据存储装置,包括:处理器和存储器;其特征在于:
所述存储器用于保存用于进行数据存储的程序;
所述处理器用于读取执行所述用于进行数据存储的程序,进行如权利要求7所述的数据存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211560099.1A CN115793977A (zh) | 2022-12-07 | 2022-12-07 | 数据存储系统、数据存储方法和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211560099.1A CN115793977A (zh) | 2022-12-07 | 2022-12-07 | 数据存储系统、数据存储方法和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115793977A true CN115793977A (zh) | 2023-03-14 |
Family
ID=85417496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211560099.1A Pending CN115793977A (zh) | 2022-12-07 | 2022-12-07 | 数据存储系统、数据存储方法和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115793977A (zh) |
-
2022
- 2022-12-07 CN CN202211560099.1A patent/CN115793977A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11416391B2 (en) | Garbage collection | |
US8312554B2 (en) | Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus | |
US9043536B2 (en) | Method of recording mapping information, and memory controller and memory storage apparatus using the same | |
US8180953B2 (en) | Data accessing method for flash memory, and storage system and controller system thereof | |
US8234466B2 (en) | Flash memory storage system applying SLC NAND flash memory and MLC NAND flash memory and data writing method thereof | |
JP5089385B2 (ja) | フラッシュファイル・システム内での仮想アドレスから物理アドレスへの変換 | |
US8650379B2 (en) | Data processing method for nonvolatile memory system | |
US8296504B2 (en) | Data management method and flash memory storage system and controller using the same | |
US20140129758A1 (en) | Wear leveling in flash memory devices with trim commands | |
KR20100009464A (ko) | 메모리 스토리지 장치 및 그 제어 방법 | |
US20090310412A1 (en) | Methods of data management in non-volatile memory devices and related non-volatile memory systems | |
EP2665065A2 (en) | Electronic device employing flash memory | |
CN111033477A (zh) | 逻辑到物理映射 | |
US20100042775A1 (en) | Block management method for flash memory, and storage system and controller using the same | |
US9141530B2 (en) | Data writing method, memory controller and memory storage device | |
WO2009017368A2 (en) | Input/output control method and apparatus optimized for flash memory | |
US20170220462A1 (en) | Data storage method and system thereof | |
US8819387B2 (en) | Memory storage device, memory controller, and method for identifying valid data | |
CN113419675B (zh) | 用于存储器的写操作方法及读操作方法 | |
CN112166405A (zh) | 在存储器系统中分配可变媒体类型的存储器装置 | |
CN114036079B (zh) | 映射表压缩方法、系统、存储器控制器、固态硬盘及数据读取方法 | |
CN115793977A (zh) | 数据存储系统、数据存储方法和存储介质 | |
CN107025062B (zh) | 数据储存方法及其系统 | |
CN113467697A (zh) | 存储器控制器与数据处理方法 | |
KR100982440B1 (ko) | 단일 플래시 메모리의 데이터 관리시스템 |
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 |