CN112352216B - 数据存储方法及数据存储装置 - Google Patents
数据存储方法及数据存储装置 Download PDFInfo
- Publication number
- CN112352216B CN112352216B CN201880095215.2A CN201880095215A CN112352216B CN 112352216 B CN112352216 B CN 112352216B CN 201880095215 A CN201880095215 A CN 201880095215A CN 112352216 B CN112352216 B CN 112352216B
- Authority
- CN
- China
- Prior art keywords
- physical block
- ssd
- size
- storing
- target
- 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.)
- Active
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请提供了一种数据存储方法及固态硬盘。该方法包括:获取待存储的对象,该待存储的对象包括待存储至固态硬盘SSD中的数据;根据该对象的属性信息将该对象存储至目标物理块中;其中,该目标物理块为该SSD中与该对象的属性信息相对应的一个或多个物理块。相应的,本申请还提供了一种固态硬盘。采用本申请可有效提高固态硬盘的寿命。
Description
技术领域
本申请涉及芯片技术领域,尤其涉及一种数据存储方法及数据存储装置。
背景技术
随着中央处理器(central processing unit,CPU)逐渐成为上层存储系统的瓶颈,简化协议栈、将部分功能下移硬盘、充分利用大量并行计算来提升系统性能逐渐成为行业未来的发展趋势。同时,提供对象存储接口的固态硬盘(solid state disk,SSD)逐步成为主流。
其中,在存储对象时,该对象的写入过程如下所示:可以整个对象一起写入(put),或者,也可以采用追加写(append)的方式陆续将整个对象全部写入。同时,SSD的最小读写单位是页(page),SSD的最小擦除单位为块(block)。也就是说,在写入SSD中的对象过多的情况下,由于SSD需要不断的进行垃圾回收,由此,在将对象写入到SSD中时,需要先擦除一些块,然后再写入该对象。
从上可以看出,SSD的目标写入值与实际写入值(要求写入数据量与实际写入数据量)之间有倍数关系,俗称写放大。其中,写入放大数值越大,SSD的使用寿命越短。因此如何提高SSD的使用寿命是亟待解决的问题。
发明内容
本申请公开了一种数据存储方法及数据存储装置,能够提高数据存储装置的使用寿命。
第一方面,本申请实施例提供了一种数据存储方法,包括:
获取待存储的对象,所述待存储的对象包括待存储至固态硬盘SSD中的数据;根据所述对象的属性信息将所述对象存储至目标物理块中;其中,所述目标物理块为所述SSD中与所述对象的属性信息相对应的一个或多个物理块。
其中,目标物理块可为SSD中与对象的属性信息相对应的一个物理块(block),或者,该目标物理块还可以为SSD中与对象的属性信息相对应的多个物理块组合而成的逻辑块,本申请实施例对于该目标物理块中所包含的物理块的数量不作限定。
本申请实施例中,通过将具有相同属性信息的对象存储至目标物理块中,即将具有相同属性信息的对象存储至同一个或多个物理块中,可以有效避免在将具有不同属性信息的对象存储至该目标物理块的情况下,而导致需要经常的对该目标物理块进行擦除操作。因此,通过实施本申请实施例,避免了经常性的对物理块进行擦除操作,有效提高了SSD的使用寿命。
在一种可能的实现方式中,所述对象的属性信息包括:所述对象的大小和所述对象的流属性中的一项或多项。
其中,对象的大小可表示该对象所占用的存储空间的大小,该对象的流属性可包括该对象的流标识(identity,ID),以及该对象的流属性还可能包括该对象的其他流属性等等,本申请实施例对于该对象的流属性不作限定。具体的,该对象的属性信息可以包括对象的大小;或者,该对象的属性信息可以包括该对象的流属性;或者,该对象的属性信息包括该对象的大小和该对象的流属性。
本申请实施例中,通过根据对象的大小和对象的流属性来存储,可以将大小相同以及流属性相同的对象存储至目标物理块中,还可以有效避免在执行写入操作时,由于要求写入数据量过小,而实际写入量过大的情况,从而可以降低SSD的写放大,进而显著提高了SSD的使用寿命。
在一种可能的实现方式中,所述根据所述对象的属性信息将所述对象存储至目标物理块中,包括:根据所述对象的大小确定第一物理块集合;根据所述对象的流属性从所述第一物理块集合中确定所述目标物理块;将所述对象存储至所述目标物理块中。
本申请实施例中,第一物理块集合可以包括一个物理块,也可以包括多个物理块,本申请实施例不作限定。具体的,在确定第一物理块集合后,还可以通过对象的流属性从该第一物理块集合中确定出目标物理块,从而将该对象存储至该目标物理块中。
在一种可能的实现方式中,所述根据所述对象的属性信息将所述对象存储至目标物理块中,包括:根据所述对象的流属性确定第二物理块集合;根据所述对象的大小从所述第二物理块集合中确定所述目标物理块;将所述对象存储至所述目标物理块中。
本申请实施例中,第二物理块集合也可以包括一个物理块,以及还可以包括多个物理块,本申请实施例不作限定。
在一种可能的实现方式中,在所述对象的大小大于或等于物理块的大小的三分之一的情况下,所述对象属于大对象;或在所述对象的大小小于所述物理块的大小的三分之一的情况下,所述对象属于小对象。
本申请实施例中,通过进一步区分对象的大小,将大小大于或等于物理块的大小的三分之一的对象作为大对象,如将大小大于或等于物理块的大小三分之一的对象存入一个物理块中,可以明显提高写放大的收益,从而提高SSD的使用寿命。
在一种可能的实现方式中,所述根据所述对象的属性信息将所述对象存储至目标物理块中,包括:在所述对象属于大对象,且参考物理块的数量未超过数量阈值的情况下,根据所述对象的大小和所述对象的流属性将所述对象存储至所述目标物理块中;其中,所述参考物理块中包括所述目标物理块,所述参考物理块为所述SSD中写入部分页的物理块。
本申请实施例中,该参考物理块也可以理解为SSD中只编译了部分页的物理块。
本申请实施例中,不仅可以根据对象的大小以及流属性来执行存储操作,还可以根据参考物理块的数量来执行该存储操作,从而可进一步提高SSD的使用寿命。
在一种可能的实现方式中,所述方法还包括:在所述对象属于大对象,所述参考物理块的数量超过所述数量阈值的情况下,确定用于存储大对象的物理块集合作为第三物理块集合;以及在所述第三物理块集合中不存在与所述对象的流属性相同的物理块的情况下,根据所述对象的大小将所述对象存储至所述目标物理块中;其中,所述第三物理块集合中包括所述目标物理块。
在一种可能的实现方式中,所述根据所述对象的属性信息将所述对象存储至目标物理块中之前,所述方法还包括:向与所述SSD连接的存储系统发送指示信息;其中,所述指示信息包括:所述SSD中的参考活跃对象数量、所述SSD中的参考流数量以及所述SSD中物理块的大小中的一项或多项;其中,所述参考活跃对象数量用于指示并发对象的数量,所述参考流数量用于指示分流级别,所述物理块的大小用于指示并发对象的大小,所述物理块的大小包括所述SSD中一个物理块的大小或多个物理块的大小。
本申请实施例中,通过向与SSD连接的存储系统上报参考活跃对象数量,SSD中的参考流数量以及物理块的大小,可以使得该存储系统根据上述信息,分别规划并发对象的数量,分流级别以及并发对象的大小。有效提高了SSD的输入输出(input/output,IO)效率,提高了SSD的整体性能。
第二方面,本申请实施例提供了一种固态硬盘,包括:
获取单元,用于获取待存储的对象,所述待存储的对象包括待存储至所述固态硬盘SSD中的数据;存储单元,用于根据所述对象的属性信息将所述对象存储至目标物理块中;其中,所述目标物理块为所述SSD中与所述对象的属性信息相对应的一个或多个物理块。
在一种可能的实现方式中,所述对象的属性信息包括:所述对象的大小和所述对象的流属性中的一项或多项。
在一种可能的实现方式中,所述存储单元包括:第一确定子单元,用于根据所述对象的大小确定第一物理块集合;第二确定子单元,用于根据所述对象的流属性从所述第一物理块集合中确定所述目标物理块;存储子单元,用于将所述对象存储至所述目标物理块中。
在一种可能的实现方式中,所述存储单元包括:第三确定子单元,用于根据所述对象的流属性确定第二物理块集合;第四确定子单元,用于根据所述对象的大小从所述第二物理块集合中确定所述目标物理块;存储子单元,用于将所述对象存储至所述目标物理块中。
在一种可能的实现方式中,在所述对象的大小大于或等于物理块的大小的三分之一的情况下,所述对象属于大对象;或在所述对象的大小小于所述物理块的大小的三分之一的情况下,所述对象属于小对象。
在一种可能的实现方式中,所述存储单元,具体用于在所述对象属于大对象,且参考物理块的数量未超过数量阈值的情况下,根据所述对象的大小以及所述对象的流属性将所述对象存储至所述目标物理块中;其中,所述参考物理块中包括所述目标物理块,所述参考物理块为所述SSD中写入部分页的物理块。
在一种可能的实现方式中,所述存储单元,具体用于在所述对象属于大对象,且所述参考物理块的数量超过所述数量阈值的情况下,确定用于存储大对象的物理块集合作为第三物理块集合;以及在所述第三物理块集合中不存在与所述对象的流属性相同的物理块的情况下,根据所述对象的大小将所述对象存储至所述目标物理块中;其中,所述第三物理块集合中包括所述目标物理块。
在一种可能的实现方式中,所述固态硬盘还包括:发送单元,用于向与所述SSD连接的存储系统发送指示信息;其中,所述指示信息包括:所述SSD中的参考活跃对象数量、所述SSD中的参考流数量以及所述SSD中物理块的大小中的一项或多项;其中,所述参考活跃对象数量用于指示并发对象的数量,所述参考流数量用于指示分流级别,所述物理块的大小用于指示并发对象的大小,所述物理块的大小包括所述SSD中一个物理块的大小或多个物理块的大小。
可理解,本申请所描述的数据存储装置包括本申请实施例中的SSD。
第三方面,本申请实施例还提供了一种控制器,包括:
获取单元,用于获取待存储的对象,所述待存储的对象包括待存储至与所述控制器连接的数据存储装置中的数据;存储单元,用于根据所述对象的属性信息将所述对象存储至目标物理块中;其中,所述目标物理块为所述数据存储装置中与所述对象的属性信息相对应的一个或多个物理块。
在一种可能的实现方式中,所述对象的属性信息包括:所述对象的大小和所述对象的流属性中的一项或多项。
在一种可能的实现方式中,所述存储单元包括:第一确定子单元,用于根据所述对象的大小确定第一物理块集合;第二确定子单元,用于根据所述对象的流属性从所述第一物理块集合中确定所述目标物理块;存储子单元,用于将所述对象存储至所述目标物理块中。
在一种可能的实现方式中,所述存储单元包括:第三确定子单元,用于根据所述对象的流属性确定第二物理块集合;第四确定子单元,用于根据所述对象的大小从所述第二物理块集合中确定所述目标物理块;存储子单元,用于将所述对象存储至所述目标物理块中。
在一种可能的实现方式中,在所述对象的大小大于或等于物理块的大小的三分之一的情况下,所述对象属于大对象;或在所述对象的大小小于所述物理块的大小的三分之一的情况下,所述对象属于小对象。
在一种可能的实现方式中,所述存储单元,具体用于在所述对象属于大对象,且参考物理块的数量未超过数量阈值的情况下,根据所述对象的大小以及所述对象的流属性将所述对象存储至所述目标物理块中;其中,所述参考物理块中包括所述目标物理块,所述参考物理块为所述数据存储装置中写入部分页的物理块。
在一种可能的实现方式中,所述存储单元,具体用于在所述对象属于大对象,且所述参考物理块的数量超过所述数量阈值的情况下,确定用于存储大对象的物理块集合作为第三物理块集合;以及在所述第三物理块集合中不存在与所述对象的流属性相同的物理块的情况下,根据所述对象的大小将所述对象存储至所述目标物理块中;其中,所述第三物理块集合中包括所述目标物理块。
可理解,本申请实施例中的数据存储装置可以包括SSD等等,本申请实施例对于该数据存储装置不作唯一性限定。
第四方面,本申请实施例还提供了一种固态硬盘SSD,包括控制单元和存储单元;其中,所述存储单元,用于存储对象;所述控制单元,用于调用存储在所述存储单元中的程序指令,以执行如第一方面所述的相应的方法。
如所述控制单元,可用于获取待存储的对象,以及根据所述对象的属性信息将所述对象存储至目标物理块中;其中,所述待存储的对象包括待存储至SSD中的数据;以及所述目标物理块为所述SSD中与所述对象的属性信息相对应的一个或多个物理块。
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行上述第一方面所述的方法。
第六方面,本发明实施例提供了一种计算机程序,所述计算机程序包括指令,当所述计算机程序被所述计算机执行时,使得所述计算机可以执行上述第一方面所提供的数据存储方法的流程。
附图说明
图1是本申请实施例提供的一种SSD的结构示意图;
图2是本申请实施例提供的一种数据存储方法的流程示意图;
图3是本申请实施例提供的一种数据存储方法的场景示意图;
图4是本申请实施例提供的另一种数据存储方法的场景示意图;
图5是本申请实施例提供的另一种SSD的结构示意图;
图6是本申请实施例提供的一种存储单元的结构示意图;
图7是本申请实施例提供的另一种存储单元的结构示意图;
图8是本申请实施例提供的又一种SSD的结构示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例进行描述。
本申请的说明书、权利要求书及附图中的术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
参见图1,图1是本申请实施例提供的一种包括控制单元和存储单元的简化的固态硬盘的结构示意图,如图1所示,该固态硬盘可包括SSD控制器和缓存阵列,即flash阵列。
其中,SSD控制器和flash阵列通过线路相互连接。
具体的,该SSD控制器是SSD的核心器件,可用于合理调配数据在各个flash阵列上的负荷,以及该SSD控制器还可用于数据中转,连接flash阵列和外部串行接口。其中,该外部串行接口也可以称为主机(host)接口。
该flash阵列可用于存储数据和计算机程序指令,如本申请实施例中,该flash阵列可用于存储对象。具体的,flash阵列中可以包括多个闪存颗粒,每个闪存颗粒又可以包括多个物理块。可选的,至于每个闪存颗粒包含多少大小的物理块,本申请实施例不作限定。如该闪存颗粒所包含的物理块可以由出厂商设置等。
其中,闪存颗粒的写入单位为页(page),擦除单元为块(block),可理解,本申请实施例中,该闪存颗粒的擦除单元即块也可称为物理块。
可选的,该SSD控制器可以通过软件、硬件或通过硬件执行相应的软件实现本申请实施例所提供的数据存储方法。如该SSD控制器还可以进一步包括硬件芯片,该硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),或者该硬件芯片还可以是现场可编程逻辑门阵列(field programmable gate array,FPGA)等等,本申请实施例不作限定。
进一步的,图1所示的固态硬盘还可以包括缓存,如该缓存可包括动态随机存取存储器(dynamic random access memory,DRAM)。
示例性的,在本申请实施例中,将具有存储功能的flash阵列和DRAM视为固态硬盘的存储单元,将具有处理功能的SSD控制器视为固态硬盘的控制单元。如图1所示,该固态硬盘包括控制单元101和存储单元102。该存储单元也可以称为存储器、存储设备和存储装置等等。该控制单元也可称为控制器、控制单板、控制模块和控制装置等等。
可理解,以上仅为本申请实施例提供的一种简化的SSD的结构示意图,在具体实现中,可能还包括其他芯片或装置等,本申请实施例不作限定。
在实际应用中,在存储数据时,往往会出现随机存储数据的现象,即随机将数据存入某个物理块,由此,在需要写入数据时,可能会增加写放大,从而使得SSD的使用寿命低下,因此,本申请实施例提供了一种数据存储方法,可有效增加SSD的使用寿命。
参见图2,图2是本申请实施例提供的一种数据存储方法的流程示意图,该数据存储方法可应用于图1所示的SSD,如图2所示,该数据存储方法包括:
201、获取待存储的对象,上述待存储的对象包括待存储至固态硬盘SSD中的数据。
本申请实施例中,待存储的对象包括待存储至SSD中的数据,也就是说该对象包括需要存储到SSD中的数据。
202、根据上述对象的属性信息将上述对象存储至目标物理块中;其中,上述目标物理块为上述SSD中与上述对象的属性信息相对应的一个或多个物理块。
本申请实施例中,目标物理块可以为单个物理块,也可以为多个物理块组合而成的逻辑块。本申请实施例对于该对象具体存储在几个物理块中不作限定,也就是说,该目标物理块中包含多少个物理块,本申请实施例不作限定。
其中,在需要将对象存储至SSD中时,可以将具有相同属性信息的对象存储至目标物理块中,也就是说,将具有相同属性信息的对象存储至同一个或多个物理块中。通过将具有相同属性信息的对象存储在一起,可以有效避免属性不同,SSD需要不断进行擦除操作或写入操作。从而有效降低了SSD的写放大,提高了SSD的使用寿命。
具体的,上述对象的属性信息包括:上述对象的大小和上述对象的流属性中的一项或多项。
也就是说,在需要将对象存储至SSD中时,可以根据该对象的大小来存储,也可以根据该对象的流属性来存储,也可以根据该对象的大小和该对象的流属性来存储。
可理解,SSD在根据上述对象的属性信息将上述对象存储至目标物理块之前,该SSD也可以先确定该目标物理块。确定该目标物理块的方法如该SSD可以根据对象的属性信息查找闪存颗粒中是否存在与该对象的属性信息对应的物理块,该SSD查找到存在与该对象的属性信息对应的物理块的情况和该SSD未查找到存在与该对象的属性信息对应的物理块的情况分别如下所示:
可理解,以下将以该对象的属性信息包括该对象的大小和该对象的流ID为例来说明。
情况一、该SSD根据对象的属性信息查找到与该对象的属性信息对应的物理块
在该情况下,该SSD可根据对象的大小和流ID,查找是否存在与该对象的大小且与该对象的流ID对应的物理块,在存在与该对象的大小且与该对象的流ID对应的物理块的情况下,确定与该对象的大小且与该对象的流ID对应的物理块作为目标物理块,进而将该对象存储至该目标物理块中。
对于该情况,可能包括的情况为:在未存储上述所描述的对象(如为对象1)之前,目标物理块中已经存储有其他对象(如为对象2),且该其他对象(即对象2)的流ID与上述对象(即对象1)的流ID相同,且该其他对象(即对象2)的大小与上述对象(即对象1)的大小属于同一类(如均为小对象)。
情况二、该SSD根据对象的属性信息未查找到与该对象的属性信息对应的物理块
在该情况下,该SSD可以根据该对象的大小和该对象的流ID将该对象存储至目标物理块中。对于该情况,可能包括的情况为:该目标物理块中未存储有对象。可理解,对于该SSD未查找到与该对象的属性信息对应的物理块时,可能包括的情况不作限定,如也可能该目标物理块中存储有其他对象,但是在存储该其他对象时,未携带该其他对象的流ID等。可理解,本申请实施例所描述的其他对象为相对于上述待存储的对象而言的其他对象。
具体的,在根据对象的大小区分对象时,该对象的大小可包括小对象和大对象。如在上述对象的大小大于或等于物理块的大小的三分之一的情况下,上述对象属于大对象;或在上述对象的大小小于上述物理块的大小的三分之一的情况下,上述对象属于小对象。
可理解,上述所描述的物理块表示单个物理块,如对象的大小接近单个物理块的大小,则在将该对象写入SSD中时,该SSD的写放大将会很小。又如对象的大小接近多个物理块之和的大小,则SSD的写放大将会很小。由此,本申请实施例中,通过区分大对象和小对象,可进一步降低SSD的写放大,增加SSD的使用寿命。
可理解,在对象的属性信息包括对象的大小的情况下,该SSD也可以根据以上所描述的方法来存储对象。以及,在该对象的属性信息包括对象的流ID的情况下,该SSD也可以根据以上所描述的方法来存储对象。这里不再详述。
进一步的,在对象的属性信息包括对象的大小和对象的流属性的情况下,且该对象为大对象的情况下,本申请实施例还提供了一种如何存储对象的方法,如下所示:
上述根据上述对象的属性信息将上述对象存储至目标物理块中,包括:
在上述对象属于大对象,且参考物理块的数量未超过数量阈值的情况下,根据上述对象的大小以及上述对象的流属性将上述对象存储至上述目标物理块中;其中,上述参考物理块中包括上述目标物理块,上述参考物理块为上述SSD中写入部分页的物理块。
本申请实施例中,参考物理块也可以理解为SSD中只编译了部分页(page)的物理块。也就是说,在对象属于大对象,且SSD中当前参考物理块,或者也可以称为当前openblock的数量未超过数量阈值的情况下,该SSD可以新open一个block写入该对象。或者可以从当前open block中选择一个或多个物理块作为目标物理块,从而来存储该对象。
具体的,该数量阈值为衡量参考物理块的数量的阈值,如该数量阈值可以与该SSD的备电等相关,本申请实施例对于该数量阈值不作限定。
通过实施本申请实施例,使得属于大对象的对象能够尽可能的单独写入一个物理块,由此可进一步减少SSD的写放大。
在一种可能的实现方式中,上述方法还包括:
在上述对象属于大对象,且上述参考物理块的数量超过上述数量阈值的情况下,确定用于存储大对象的物理块集合作为第三物理块集合;
在上述第三物理块集合中不存在与上述对象的流属性相同的物理块的情况下,根据上述对象的大小将上述对象存储至上述目标物理块中;其中,上述第三物理块集合中包括上述目标物理块。
本申请实施例中,在参考物理块的数量已超过数量阈值的情况下,该SSD便可先确定用于存储大对象的物理块集合即第三物理块集合,从而再判断该SSD中用于存储大对象的物理块中(即第三物理块集合),是否存在与该对象的流ID相同的物理块,在存在的情况下,该SSD可根据该对象的流属性以及该对象的大小来存储该对象。也就是说,在该SSD在第三物理块集合中确定出有与该对象的流ID相同的物理块(如为目标物理块),则该SSD便可将该对象存储至该目标物理块中。可理解,SSD确定出的第三物理块集合可包括SSD中已写入有对象的物理块,且已写入的对象属于大对象。或者,该SSD确定出的第三物理块集合也可能未写入有对象。如该SSD还可以根据其他规则来确定该第三物理块集合,如该SSD根据其他规则确定某些物理块可用于存储大对象,至于根据什么规则本申请实施例不作限定。
而在不存在的情况下,该SSD便可根据对象的大小来存储该对象。即在第三物理块集合中不存在与该对象的流ID相同的物理块,则该SSD便可从该第三物理块集合中随机选择物理块(如目标物理块)来存储该对象。可理解,该SSD中还可以从该第三物理块集合中选择并发度小的物理块来存储该对象。
举例来说,SSD中存储大对象的物理块包括A、B和C,则在存储属于大对象的对象时,可以从该物理块A、B和C中选择与该对象的流ID相同的物理块来存储该对象;若该物理块A、B和C中不存在与该对象的流ID相同的物理块,则该SSD可以从该物理块A、B和C中任意选择物理块来存储对对象。至于具体选择多少个物理块来存储该对象,本申请实施例不作限定。
通过实施本申请实施例,可以尽可能的保证SSD的性能以及使用寿命达到最优。
其中,在根据以根据对象的大小和该对象的流属性来存储的情况下,本申请实施例提供了两种实现方式,分别如下所示:
实现方式一、
上述根据上述对象的属性信息将上述对象存储至目标物理块中,包括:
根据上述对象的大小确定第一物理块集合;
根据上述对象的流属性从上述第一物理块集合中确定上述目标物理块;
将上述对象存储至上述目标物理块中。
本申请实施例中,可以先根据对象的大小确定出与该对象的大小相对应的物理块作为第一物理块集合。如确定出的第一物理块集合可表示存储小对象的物理块集合,或者,确定出的第一物理块集合表示存储大对象的物理块集合。具体的,该第一物理块集合中可以包括一个或多个物理块。本申请实施例中,在根据对象的大小确定出第一物理块集合后,该SSD便可以根据该对象的流属性从该第一物理块集合中确定出目标物理块。
其中,该对象的流属性可包括对象的流ID,可选的,在SSD获取对象时,该对象可携带该流ID,也就是说,该流ID可由与该SSD连接的主机(host)分配,或者,该流ID可由SSD根据业务分配等等,本申请实施例不作限定。
实现方式二、
上述根据上述对象的属性信息将上述对象存储至目标物理块中,包括:
根据上述对象的流属性确定第二物理块集合;
根据上述对象的大小从上述第二物理块集合中确定上述目标物理块;
将上述对象存储至上述目标物理块中。
本申请实施例中,可以根据对象的流属性确定出与该对象的流属性对应的物理块作为第二物理块集合,也就是说,确定出的第二物理块集合即表示流ID相对应的物理块集合。在确定出该第二物理块集合后,便可根据对象的大小从该第二物理块集合中再确定出目标物理块,进而将该对象存储至该目标物理块中。
可理解,该第二物理块集合至少包括一个物理块,以及上述第一物理块集合也至少包括一个物理块。
可理解,对于实现方式二的具体实现方式还可参考实现方式一的具体实现方式,这里不再一一详述。
通过实施上述实施例,可以更加具体的确定出目标物理块,从而将对象存储至该目标物理块,即将具有相同或相似生命周期以及相同大小的对象写入到目标物理块中,进而降低了SSD的写放大,增加SSD的使用寿命,也提高了SSD的性能。
更进一步的,在SSD与其他设备连接时,该SSD设备还可以提前向该其他设备发送指示信息,从而可方便该其他设备提前规划,具体的,上述根据上述对象的属性信息将上述对象存储至目标物理块中之前,上述方法还包括:
向与上述SSD连接的存储系统发送指示信息,其中,上述指示信息包括:上述SSD中的参考活跃对象数量、上述SSD中的参考流数量以及上述SSD中物理块的大小中的一项或多项;其中,上述参考活跃对象数量用于指示并发对象的数量,上述参考流数量用于指示分流级别,上述物理块的大小用于指示并发对象的大小,上述物理块的大小包括上述SSD中的一个物理块的大小或多个物理块的大小。
其中,参考活跃对象数量用于表示SSD中活跃的对象个数;参考流数量用于表示该SSD中所能存储的对象的流ID的个数;物理块的大小用于表示该SSD中单个物理块的大小,或者该物理块的大小用于表示该SSD中物理块大小的整数倍。其中,该物理块即表示SSD的中任意一个或多个物理块。
具体的,上述参考活跃对象数量可用于指示存储系统规划好并发对象的数量,即表示存储系统需要SSD同时存储对象的数量。上述参考流数量可用于指示存储系统规划好分流级别,如在存储系统为对象分配流ID时,可以根据该参考流数量信息来分配。上述物理块的大小可用于指示存储系统规划好并发对象的大小,即表示存储系统需要SSD同时存储对象的大小。
或者,上述参考活跃对象数量还可用于指示该SSD并发存储对象的数量。上述参考流数量可用于指示该SSD在open物理块时,该物理块的流ID的数量可为多少。上述物理块的大小可用于指示该SSD并发存储对象的大小。
其中,存储系统也可以理解为与该SSD连接的主机(host)系统等等,本申请实施例对于该存储系统具体为何种装置或设备或系统等不作限定。
为了更形象的理解上述所描述的数据存储方法,以下将以具体场景为例来说明。
参见图3,图3是本申请实施例提供的一种数据存储方法的场景示意图,如图3所示,该方法可包括:
301、SSD接入到存储系统中。
本申请实施例中,存储系统可为任意的能够与SSD连接的设备或装置等等,本申请实施例对于该存储系统的具体形式不作限定。
302、SSD向存储系统上报最佳活跃对象个数、最优流个数以及最优对象存储大小。
其中,SSD向存储系统上报的上述信息可由SSD的控制器以及备电因素来确定,也可由SSD的闪存颗粒的类型来确定等等,本申请实施例不作限定。可理解,本申请实施例中的最佳活跃对象个数可理解为上述所描述的参考活跃对象数量,最优流个数可理解为上述所描述的参考流数量,以及最优对象存储大小可理解为上述所描述的SSD中物理块的大小。
303、存储系统依靠SSD上报的信息,规划好并发对象个数、并发对象大小以及分流级别。
举例来说,受限于SSD备电等一些自身因素,同一时刻允许存储系统同时写入的对象并发度是有限的,如果存储系统侧将SSD的活跃对象个数控制在这一约束条件(即存储系统同时写入的对象的并发度)下,那么系统的整体性能得以保障。因此,本申请实施例中,SSD通过向存储系统上报最佳活跃对象个数以及最优对象存储大小,可有效提高存储系统和SSD的整体性能。
304、SSD根据对象本身大小、流属性、以及同时活跃的对象个数等进行不同的分配策略。
具体的,对于不同的分配策略可参考前述实施例所描述的存储方法,这里不再赘述。
通过图3所示的数据存储方法,可以保证SSD性能及寿命达到最优。
参见图4,图4是本申请实施例提供的另一种数据存储方法的场景示意图,如图4所示,该方法包括:
401、SSD接收主机发送的待存储的对象。
其中,主机即为与SSD连接的设备,也即为存储系统中的一种设备。
402、SSD判断该对象是否为小对象;若是,则执行403;否则,执行404。
其中,该小对象即为前述实施例所描述的小对象。其中,主机发送的对象中携带有流ID,如该流ID为流2。
403、SSD根据该对象的流ID将该对象分到用于存放小对象的物理块上。如该SSD根据该对象的流ID2,将该对象写入小对象流2对应的物理块(即上述实施例中的目标物理块)中。
其中,对于步骤403,在SSD判断该对象为小对象的情况下,该SSD可以根据该对象的流ID将该对象映射到用于存放小对象的物理块上,从而将该对象存储在目标物理块(即用于存放小对象的物理块,且流ID与该对象相同)中。
其中,在图4所示的示意图中,如图4中所示的标有流ID的物理块可以表示该物理块中已存储有其他对象(相对于上述对象来说);而图中未标出流ID的物理块可以表示该物理块中未存储有其他对象;但是,也可以表示该物理块中存储大对象时未携带流ID等等。本申请实施例对于图4右边所示的各个物理块是否标有流ID不作限定。即右边所示的各个物理块中的流ID仅为一种示例,不应理解为对本申请实施例的限定。
404、SSD判断当前参考物理块(open block)的数量是否超过数量阈值,若否;则执行405;若是,则执行406。
405、将该对象写到新的物理快上,即新open物理块(即目标物理块)写入属于大对象的对象。
其中,对于步骤405,在SSD判断参考物理块的数量未超过数量阈值的情况下,该SSD便可以将该对象映射到该参考物理块中,从而将该对象存储于该参考物理块中。可以理解,该SSD可以将该对象存储在一个参考物理块中,也可以存储在多个参考物理块中,本申请实施例不作限定。
406、SSD确定当前写入对象最少,且用于存储大对象的物理块(即第三物理块集合)。如SSD可以通过查到,得到当前写入对象最少,且用于存储大对象的物理块包括大对象1对应的物理块、大对象j对应的物理块、大对象o对应的物理块和大对象r对应的物理块。
可理解,第三物理块集合中的物理块可为一个,也可为多个等,本申请实施例不作限定。
407、确定上述写入对象最少,且用于存储大对象的物理块中是否有与对象的流ID相同的物理块;若是,则执行408;否则,执行409.
408、上述写入对象最少,且用于存储大对象的物理块中大对象o对应的物理块的流ID与对象的流ID,则将该对象写入到大对象o对应的物理块(即目标物理块)中。
409、上述几个对象(即大对象1、大对象j、大对象o和大对象r)的流ID与该对象的流ID均不同,则该SSD从这几个并发度小的物理块中随机选择出大对象r,将该对象写入到大对象r对应的物理块中。
可理解,图4所示的物理块的数量以及流ID仅为一种示例,不应理解为对本申请实施例的限定。对于图4所示的数据存储方法的具体实现方式还可参考前述各个实施例,这里不再详述。
通过实施本申请实施例,可有效降低SSD的写放大,显著提高了SSD的寿命。
可理解,上述各个实施例的侧重点不同,因此一个实施例中未详尽描述的实现方式,还可参考其他实施例。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
参见图5,图5是本申请实施例提供的另一种SSD的结构示意图,如图5所示,该SSD包括:
获取单元501,用于获取待存储的对象,上述待存储的对象包括待存储至上述固态硬盘SSD中的数据;
存储单元502,用于根据上述对象的属性信息将上述对象存储至目标物理块中;其中,上述目标物理块为上述SSD中与上述对象的属性信息相对应的一个或多个物理块。
本申请实施例中,通过将具有相同属性信息的对象存储至目标物理块中,可以有效避免在将具有不同属性信息的对象存储至该目标物理块的情况下,而导致需要经常的对该目标物理块进行擦除操作。因此,通过实施本申请实施例,避免了经常性的对物理块进行擦除操作,有效提高了SSD的使用寿命。
具体的,上述对象的属性信息包括:上述对象的大小和上述对象的流属性中的一项或多项。
在一种可能的实现方式中,参见图6,上述存储单元502包括:
第一确定子单元5021,用于根据上述对象的大小确定第一物理块集合;
第二确定子单元5022,用于根据上述对象的流属性从上述第一物理块集合中确定上述目标物理块;
存储子单元5023,用于将上述对象存储至上述目标物理块中。
在一种可能的实现方式中,参见图7,上述存储单元502包括:
第三确定子单元5024,用于根据上述对象的流属性确定第二物理块集合;
第四确定子单元5025,用于根据上述对象的大小从上述第二物理块集合中确定上述目标物理块;
存储子单元5023,用于将上述对象存储至上述目标物理块中。
具体的,在上述对象的大小大于或等于物理块的大小的三分之一的情况下,上述对象属于大对象;或
在上述对象的大小小于上述物理块的大小的三分之一的情况下,上述对象属于小对象。
在一种可能的实现方式中,上述存储单元502,具体用于在上述对象属于大对象,且参考物理块的数量未超过数量阈值的情况下,根据上述对象的大小以及上述对象的流属性将上述对象存储至上述目标物理块中;其中,上述参考物理块中包括上述目标物理块,上述参考物理块为上述SSD中写入部分页的物理块。
可选的,上述存储单元502,具体用于在上述对象属于大对象,且上述参考物理块的数量超过上述数量阈值的情况下,确定用于存储大对象的物理块集合作为第三物理块集合;以及在上述第三物理块集合中不存在与上述对象的流属性相同的物理块的情况下,根据上述对象的大小将上述对象存储至上述目标物理块中;其中,上述第三物理块集合中包括上述目标物理块。
在一种可能的实现方式中,参见图8,上述固态硬盘还包括:
发送单元503,用于向与上述SSD连接的存储系统发送指示信息;其中,上述指示信息包括:上述SSD中的参考活跃对象数量、上述SSD中的参考流数量以及上述SSD中物理块的大小中的一项或多项;其中,上述参考活跃对象数量用于指示并发对象的数量,上述参考流数量用于指示分流级别,上述物理块的大小用于指示并发对象的大小,上述物理块的大小为上述SSD中一个物理块的大小或多个物理块的大小。
可理解,各个单元的实现还可以对应参照图2至图4所示的方法实施例的相应描述,这里不再赘述。
可理解,图1所示的SSD中的SSD控制单元101还可用于执行本申请实施例中所描述的获取单元501和存储单元502所执行的方法,这里不再一一详述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:只读存储器(read-only memory,ROM)或随机存储存储器(random access memory,RAM)、磁碟或者光盘等各种可存储程序代码的介质。可理解,前述的存储介质还可能包括其他类型的存储介质等等,本申请不作限定。
以上所述仅为本申请的几个实施例,本领域的技术人员依据申请文件公开的可以对本申请进行各种改动或变型而不脱离本申请的精神和范围。例如本申请实施例的附图中的各个部件具体形状或结构是可以根据实际应用场景进行调整的。
Claims (16)
1.一种数据存储方法,其特征在于,包括:
获取待存储的对象,所述待存储的对象包括待存储至固态硬盘SSD中的数据;
根据所述对象的属性信息将所述对象存储至目标物理块中;其中,所述目标物理块为所述SSD中与所述对象的属性信息相对应的一个或多个物理块;
所述根据所述对象的属性信息将所述对象存储至目标物理块中之前,所述方法还包括:
向与所述SSD连接的存储系统发送指示信息,其中,所述指示信息包括:所述SSD中的参考活跃对象数量、所述SSD中的参考流数量以及所述SSD中物理块的大小中的一项或多项;其中,所述参考活跃对象数量用于指示并发对象的数量,所述参考流数量用于指示分流级别,所述物理块的大小用于指示并发对象的大小,所述物理块的大小为所述SSD中一个物理块的大小或多个物理块的大小。
2.根据权利要求1所述的方法,其特征在于,所述对象的属性信息包括:所述对象的大小和所述对象的流属性中的一项或多项;所述对象的流属性包括所述对象的流标识。
3.根据权利要求2所述的方法,其特征在于,所述根据所述对象的属性信息将所述对象存储至目标物理块中,包括:
根据所述对象的大小确定第一物理块集合;
根据所述对象的流属性从所述第一物理块集合中确定所述目标物理块;
将所述对象存储至所述目标物理块中。
4.根据权利要求2所述的方法,其特征在于,所述根据所述对象的属性信息将所述对象存储至目标物理块中,包括:
根据所述对象的流属性确定第二物理块集合;
根据所述对象的大小从所述第二物理块集合中确定所述目标物理块;
将所述对象存储至所述目标物理块中。
5.根据权利要求1至4任意一项所述的方法,其特征在于,
在所述对象的大小大于或等于物理块的大小的三分之一的情况下,所述对象属于大对象;或
在所述对象的大小小于所述物理块的大小的三分之一的情况下,所述对象属于小对象。
6.根据权利要求5所述的方法,其特征在于,所述根据所述对象的属性信息将所述对象存储至目标物理块中,包括:
在所述对象属于大对象,且参考物理块的数量未超过数量阈值的情况下,根据所述对象的大小以及所述对象的流属性将所述对象存储至新的物理块中;其中,所述目标物理块包括所述新的物理块,所述参考物理块为所述SSD中写入部分页的物理块。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述对象属于大对象,且所述参考物理块的数量超过所述数量阈值的情况下,确定用于存储大对象的物理块集合作为第三物理块集合;
在所述第三物理块集合中不存在与所述对象的流属性相同的物理块的情况下,根据所述对象的大小将所述对象存储至所述目标物理块中;其中,所述第三物理块集合中包括所述目标物理块。
8.一种固态硬盘,其特征在于,包括:
获取单元,用于获取待存储的对象,所述待存储的对象包括待存储至所述固态硬盘SSD中的数据;
存储单元,用于根据所述对象的属性信息将所述对象存储至目标物理块中;其中,所述目标物理块为所述SSD中与所述对象的属性信息相对应的一个或多个物理块;
所述固态硬盘还包括:
发送单元,用于向与所述SSD连接的存储系统发送指示信息;其中,所述指示信息包括:所述SSD中的参考活跃对象数量、所述SSD中的参考流数量以及所述SSD中物理块的大小中的一项或多项;其中,所述参考活跃对象数量用于指示并发对象的数量,所述参考流数量用于指示分流级别,所述物理块的大小用于指示并发对象的大小,所述物理块的大小为所述SSD中一个物理块的大小或多个物理块的大小。
9.根据权利要求8所述的固态硬盘,其特征在于,所述对象的属性信息包括:所述对象的大小和所述对象的流属性中的一项或多项;所述对象的流属性包括所述对象的流标识。
10.根据权利要求9所述的固态硬盘,其特征在于,所述存储单元包括:
第一确定子单元,用于根据所述对象的大小确定第一物理块集合;
第二确定子单元,用于根据所述对象的流属性从所述第一物理块集合中确定所述目标物理块;
存储子单元,用于将所述对象存储至所述目标物理块中。
11.根据权利要求9所述的固态硬盘,其特征在于,所述存储单元包括:
第三确定子单元,用于根据所述对象的流属性确定第二物理块集合;
第四确定子单元,用于根据所述对象的大小从所述第二物理块集合中确定所述目标物理块;
存储子单元,用于将所述对象存储至所述目标物理块中。
12.根据权利要求8至11任意一项所述的固态硬盘,其特征在于,
在所述对象的大小大于或等于物理块的大小的三分之一的情况下,所述对象属于大对象;或
在所述对象的大小小于所述物理块的大小的三分之一的情况下,所述对象属于小对象。
13.根据权利要求12所述的固态硬盘,其特征在于,
所述存储单元,具体用于在所述对象属于大对象,且参考物理块的数量未超过数量阈值的情况下,根据所述对象的大小以及所述对象的流属性将所述对象存储至新的物理块中;其中,所述目标物理块包括所述新的物理块,所述参考物理块为所述SSD中写入部分页的物理块。
14.根据权利要求13所述的固态硬盘,其特征在于,
所述存储单元,具体用于在所述对象属于大对象,且所述参考物理块的数量超过所述数量阈值的情况下,确定用于存储大对象的物理块集合作为第三物理块集合;以及在所述第三物理块集合中不存在与所述对象的流属性相同的物理块的情况下,根据所述对象的大小将所述对象存储至所述目标物理块中;其中,所述第三物理块集合中包括所述目标物理块。
15.一种固态硬盘SSD ,其特征在于,包括:控制单元和存储单元,其中,所述控制单元和所述存储单元通过线路互联;
所述存储单元,用于对象;
所述控制单元,用于获取所述对象;向与所述SSD连接的存储系统发送指示信息;其中,所述指示信息包括:所述SSD中的参考活跃对象数量、所述SSD中的参考流数量以及所述SSD中物理块的大小中的一项或多项;其中,所述参考活跃对象数量用于指示并发对象的数量,所述参考流数量用于指示分流级别,所述物理块的大小用于指示并发对象的大小,所述物理块的大小为所述SSD中一个物理块的大小或多个物理块的大小;以及根据所述对象的属性信息将所述对象存储至目标物理块中;其中,所述目标物理块为所述固态硬盘SSD中与所述对象的属性信息相对应的一个或多个物理块。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被固态硬盘的控制单元执行时,使所述控制单元执行权利要求1至7任意一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/093915 WO2020000480A1 (zh) | 2018-06-30 | 2018-06-30 | 数据存储方法及数据存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112352216A CN112352216A (zh) | 2021-02-09 |
CN112352216B true CN112352216B (zh) | 2022-06-14 |
Family
ID=68984397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880095215.2A Active CN112352216B (zh) | 2018-06-30 | 2018-06-30 | 数据存储方法及数据存储装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112352216B (zh) |
WO (1) | WO2020000480A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111756828B (zh) * | 2020-06-19 | 2023-07-14 | 广东浪潮大数据研究有限公司 | 一种数据存储方法、装置及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799535A (zh) * | 2012-06-29 | 2012-11-28 | 记忆科技(深圳)有限公司 | 固态硬盘的数据处理方法及固态硬盘 |
JP2014186600A (ja) * | 2013-03-25 | 2014-10-02 | Nec Corp | 記憶装置 |
CN104834477A (zh) * | 2014-02-11 | 2015-08-12 | 腾讯科技(深圳)有限公司 | 基于闪存的数据写入方法和装置 |
CN106326133A (zh) * | 2015-06-29 | 2017-01-11 | 华为技术有限公司 | 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法 |
CN107003809A (zh) * | 2015-11-27 | 2017-08-01 | 华为技术有限公司 | 一种存储设备存储数据的方法及存储设备 |
CN107430493A (zh) * | 2015-03-27 | 2017-12-01 | 英特尔公司 | 顺序写入流管理 |
CN107908358A (zh) * | 2017-10-25 | 2018-04-13 | 记忆科技(深圳)有限公司 | 一种降低NVMe固态硬盘写放大的方法 |
CN107992266A (zh) * | 2016-10-26 | 2018-05-04 | 三星电子株式会社 | 针对启用多流的固态驱动器的合并数据流的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096722B (zh) * | 2011-03-21 | 2013-03-27 | 华为数字技术(成都)有限公司 | 文件存储方法和装置 |
KR102610537B1 (ko) * | 2016-11-10 | 2023-12-06 | 삼성전자주식회사 | 솔리드 스테이트 드라이브 장치 및 이를 포함하는 저장 시스템 |
-
2018
- 2018-06-30 WO PCT/CN2018/093915 patent/WO2020000480A1/zh active Application Filing
- 2018-06-30 CN CN201880095215.2A patent/CN112352216B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799535A (zh) * | 2012-06-29 | 2012-11-28 | 记忆科技(深圳)有限公司 | 固态硬盘的数据处理方法及固态硬盘 |
JP2014186600A (ja) * | 2013-03-25 | 2014-10-02 | Nec Corp | 記憶装置 |
CN104834477A (zh) * | 2014-02-11 | 2015-08-12 | 腾讯科技(深圳)有限公司 | 基于闪存的数据写入方法和装置 |
CN107430493A (zh) * | 2015-03-27 | 2017-12-01 | 英特尔公司 | 顺序写入流管理 |
CN106326133A (zh) * | 2015-06-29 | 2017-01-11 | 华为技术有限公司 | 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法 |
CN107003809A (zh) * | 2015-11-27 | 2017-08-01 | 华为技术有限公司 | 一种存储设备存储数据的方法及存储设备 |
CN107992266A (zh) * | 2016-10-26 | 2018-05-04 | 三星电子株式会社 | 针对启用多流的固态驱动器的合并数据流的方法 |
CN107908358A (zh) * | 2017-10-25 | 2018-04-13 | 记忆科技(深圳)有限公司 | 一种降低NVMe固态硬盘写放大的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020000480A1 (zh) | 2020-01-02 |
CN112352216A (zh) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9298534B2 (en) | Memory system and constructing method of logical block | |
US11704239B2 (en) | Garbage collection method for storage medium, storage medium, and program product | |
RU2661280C2 (ru) | Контроллер массива, твердотельный диск и способ для управления твердотельным диском для записи данных | |
CN102362464B (zh) | 内存访问监测方法和装置 | |
US10628088B2 (en) | Computer system | |
CN103384877A (zh) | 包括闪存的存储系统和存储控制方法 | |
US10289317B2 (en) | Memory apparatus and methods thereof for write amplification aware wear leveling | |
JP2006302255A (ja) | 異種の非揮発性メモリを持つデータ記憶装置とその駆動方法 | |
CN103608782A (zh) | Lsb页面和msb页面中的选择性数据存储 | |
CN104090847A (zh) | 一种固态存储设备的地址分配方法 | |
CN112771493B (zh) | 将写入流分离到多个分区中 | |
US10776024B2 (en) | Solid state drive and data accessing method thereof | |
CN111065997A (zh) | 用于存储介质的协同数据迁移 | |
CN104503703A (zh) | 缓存的处理方法和装置 | |
US20170003911A1 (en) | Information processing device | |
CN104850354B (zh) | 信息处理系统以及存储器系统 | |
CN102567225A (zh) | 一种管理系统内存的方法及装置 | |
KR20180003692A (ko) | 메모리 시스템 및 그의 동작방법 | |
CN112352216B (zh) | 数据存储方法及数据存储装置 | |
US20170003890A1 (en) | Device, program, recording medium, and method for extending service life of memory | |
US7032085B2 (en) | Storage system with a data sort function | |
CN107885667B (zh) | 降低读命令处理延迟的方法与装置 | |
US11402999B2 (en) | Adaptive wear leveling using multiple partitions | |
CN114816322A (zh) | Ssd的外部排序方法、装置和ssd存储器 | |
CN108572924B (zh) | 一种3d mlc闪存设备的请求处理方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |